Wikipedia
testwiki
https://test.wikipedia.org/wiki/Main_Page
MediaWiki 1.47.0-wmf.16
first-letter
Media
Special
Talk
User
User talk
Wikipedia
Wikipedia talk
File
File talk
MediaWiki
MediaWiki talk
Template
Template talk
Help
Help talk
Category
Category talk
Thread
Thread talk
Summary
Summary talk
Test namespace 1
Test namespace 1 talk
Test namespace 2
Test namespace 2 talk
Draft
Draft talk
Campaign
Campaign talk
TimedText
TimedText talk
Module
Module talk
SecurePoll
SecurePoll talk
CNBanner
CNBanner talk
Translations
Translations talk
Event
Event talk
Topic
Newsletter
Newsletter talk
Wikipedia:Test
4
71460
757910
757825
2026-08-20T23:00:32Z
~2026-45302-08
75288
/* Test */ Start
757910
wikitext
text/x-wiki
= Test =
820
Candy Crush Saga Wiki: Tasty Sugar Track Edits Is Out Of Control and continue until the 24 Restriction has been place until no edits made all day, Most Edits made on 6/23, No New Episodes Will Be Released on 6/24.
2:6 - 8:6, 181 days, (8:7+ to fill out).
*8:7, 8:8, 8:9, 8:10, 8:11 (?)
*8:12, 8:13, 8:14, 8:15, 8:16 (?)
*8:17 (8:18)
''8:19''
*202 6525, Pot with Fork and Spoon, Bags with Sunglasses.
*202 6526, Baskets, Tobacco Stuff or Socks.
*202 6527, Food Shopping like Cola Bottles, Cans, Cordial and Others.
*202 6528, Socks, Pairs of Shoes, Dressing Gowns.
*202 6529, Towels, Cubes with Things.
*202 6530, Cloths, Flowers Frisun or Soap.
*202 6531, Food Shopping like Party Pies, Waters and Others.
*202 6601, Pairs of Boots, Pillow or Podiatrist.
*202 6602, Plates or Pans, Grated Cheese or Baskets.
*202 6603, Forks, Pans and Other Kitchen Tools.
*202 6604, Cups, Cordial Jug or Strawberry Milk.
*202 6605, Food Shopping like Cans of Coca Cola, Waters, Cordials or Pile of Sauce.
*202 6606, Purses, Lu Papers or Paper Towels.
*202 6607, Candles, Statues or Pizza Boxes.
*202 6608, Cups, Blankets and Others.
*202 6609, Food Shoppibg like Cola Bottles, Sour Cream and Onion Chips or Cans.
*202 6610, Towels, Cloths, Soap or Containers.
*202 6611, Nachos, Apple N Raspberry Codrial or Stationary.
*202 6612, Basket, Electric Bed with Instructions or Paint.
*202 6613, Aerobar, Birthday Cake or Packet of Candles.
*202 6614, Plates, Blankets or even Vacuum Cleaner.
*202 6615, Towels, Cloths or Dressing Gowns.
*202 6616, Smiths Chips, Heater Vents, Stuff for Lasagna or Cloths.
*202 6617, Pans, Table Spoons or Lids.
*202 6618, Food Shopping like Cans of Coca Cola, Waters, Milk and Others.
*202 6619, Chocolate Milk, Cups of Tea or Extra Mints.
*202 6620, Kitkats, Pens or Domino's Pizza.
*202 6621, Blankets and Pillows or Vacuum Cleaner.
*202 6622, Tea Towels, Cans of Coca Cola or Carlton Draught.
*202 6623, Food Shopping like Bottles of Cola, Waters or New Pyjamas.
*202 6624, Staples, Socks, Hats and Others.
*202 6625, Kitchen Bowls, Pans and Others.
*202 6626, Food Shopping like Colas, Milk or Rainbow Paddlepop.
*202 6627, Tablemats, Sunglasses or Garden Plant.
*202 6628, Boots, Sleep Medicine or Pillow.
*202 6629, Sewing Machine, Tobacco Stuff or Pan.
*202 6630, Food Shopping like Cans of Cocacola, Bottles, Kitkat or M&Ms.
*202 6701, BBQ Chips, Biskits or Grated Cheese.
*202 6702, Lighters, Plates or Cloths.
*202 6703, Hot Dogs, Cola Cans or Lasagna.
*202 6704, Mop, Battery Packs or Doorhandle.
*202 6705, Video Cameras, Internet or McDonalds Bag?.
*202 6706, Pans, Freshmint, or Hotdog Roll.
*202 6707, Food Shopping like Cans of Coca Cola, Cola Bottles, Waters, Shopping Bag or Grated Cheese.
*202 6708, Ktimes, Nutrigrain or Mueslibars.
*202 6709, Saladas, Socks, Vegemite or Textures.
*202 6710, Baskets, Favourites or Cordial Jug.
*202 6711, Shoes like Novo, Vacuum or Carlton Draught.
*202 6712, Aldi Stuff like Mints, Airfryer or Towel.
*202 6713, Food Shopping like Cola Bottles, Cheese, Milk or Paddle Pops.
*202 6714, Baskets, Mask Fresheners or Coat.
*202 6715, Towels, Cloths or Lasagna?.
*202 6716, Soaps, Toothpastes, Cotton Buds and Others.
*202 6717, Cans of Coca Cola, Bottles, Waters, Novo Shoes and Others.
*202 6718, Food Shopping like Upngo, Breads or Cans of Coca Cola.
*202 6719, Quichebox, Plate or Cup or Cheese Machine.
*202 6720, Cups, Milkshakes, Jug or Can of Coca Cola?.
*202 6721, Baskets, Coathangers, Chocolate Milk or Frypan?.
*202 6722, Food Shopping like Cola Bottles, Waters, Milk or Nachos?
*202 6723, Slippers, Blanket Sheets, Clothes Pair and Others.
*202 6724, Pans, Plates, Scissors or Tools.
*202 6725, Aldi Stuff, Domino's Pizza or Lynxspray.
*202 6726, Towels, Lighter or Journal Books.
*202 6727, Food Shopping like Bottles of Cola or Water, Cans or Milk.
*202 6728, Baskets, Battery Packs or Vaporizer and Others.
*202 6729, Sleep Medicines, Deep Heat or Pillows.
*202 6730, Schnitzels, Nesquiks, Milos and Others.
*202 6731, Toothpicks and Nuts and Others.
*202 6801, Food Shopping like Bottles, Cans, Waters and Others.
*202 6802, Plates, Bowls or Battery Packs.
*202 6803, Towels, Blankets, Purse or Boots.
*202 6804, M&M's, Baskets, Cloths or Coathangers.
Current, 202 6805. ($#!+).
*202 6806. (Windows Notepad).
''2026807''
6mqq2f6g5ukh6iazikdg1ismdwujp24
757911
757910
2026-08-20T23:01:13Z
~2026-45302-08
75288
757911
wikitext
text/x-wiki
= Test =
820 - Emergency
Candy Crush Saga Wiki: Tasty Sugar Track Edits Is Out Of Control and continue until the 24 Restriction has been place until no edits made all day, Most Edits made on 6/23, No New Episodes Will Be Released on 6/24.
2:6 - 8:6, 181 days, (8:7+ to fill out).
*8:7, 8:8, 8:9, 8:10, 8:11 (?)
*8:12, 8:13, 8:14, 8:15, 8:16 (?)
*8:17 (8:18)
''8:19''
*202 6525, Pot with Fork and Spoon, Bags with Sunglasses.
*202 6526, Baskets, Tobacco Stuff or Socks.
*202 6527, Food Shopping like Cola Bottles, Cans, Cordial and Others.
*202 6528, Socks, Pairs of Shoes, Dressing Gowns.
*202 6529, Towels, Cubes with Things.
*202 6530, Cloths, Flowers Frisun or Soap.
*202 6531, Food Shopping like Party Pies, Waters and Others.
*202 6601, Pairs of Boots, Pillow or Podiatrist.
*202 6602, Plates or Pans, Grated Cheese or Baskets.
*202 6603, Forks, Pans and Other Kitchen Tools.
*202 6604, Cups, Cordial Jug or Strawberry Milk.
*202 6605, Food Shopping like Cans of Coca Cola, Waters, Cordials or Pile of Sauce.
*202 6606, Purses, Lu Papers or Paper Towels.
*202 6607, Candles, Statues or Pizza Boxes.
*202 6608, Cups, Blankets and Others.
*202 6609, Food Shoppibg like Cola Bottles, Sour Cream and Onion Chips or Cans.
*202 6610, Towels, Cloths, Soap or Containers.
*202 6611, Nachos, Apple N Raspberry Codrial or Stationary.
*202 6612, Basket, Electric Bed with Instructions or Paint.
*202 6613, Aerobar, Birthday Cake or Packet of Candles.
*202 6614, Plates, Blankets or even Vacuum Cleaner.
*202 6615, Towels, Cloths or Dressing Gowns.
*202 6616, Smiths Chips, Heater Vents, Stuff for Lasagna or Cloths.
*202 6617, Pans, Table Spoons or Lids.
*202 6618, Food Shopping like Cans of Coca Cola, Waters, Milk and Others.
*202 6619, Chocolate Milk, Cups of Tea or Extra Mints.
*202 6620, Kitkats, Pens or Domino's Pizza.
*202 6621, Blankets and Pillows or Vacuum Cleaner.
*202 6622, Tea Towels, Cans of Coca Cola or Carlton Draught.
*202 6623, Food Shopping like Bottles of Cola, Waters or New Pyjamas.
*202 6624, Staples, Socks, Hats and Others.
*202 6625, Kitchen Bowls, Pans and Others.
*202 6626, Food Shopping like Colas, Milk or Rainbow Paddlepop.
*202 6627, Tablemats, Sunglasses or Garden Plant.
*202 6628, Boots, Sleep Medicine or Pillow.
*202 6629, Sewing Machine, Tobacco Stuff or Pan.
*202 6630, Food Shopping like Cans of Cocacola, Bottles, Kitkat or M&Ms.
*202 6701, BBQ Chips, Biskits or Grated Cheese.
*202 6702, Lighters, Plates or Cloths.
*202 6703, Hot Dogs, Cola Cans or Lasagna.
*202 6704, Mop, Battery Packs or Doorhandle.
*202 6705, Video Cameras, Internet or McDonalds Bag?.
*202 6706, Pans, Freshmint, or Hotdog Roll.
*202 6707, Food Shopping like Cans of Coca Cola, Cola Bottles, Waters, Shopping Bag or Grated Cheese.
*202 6708, Ktimes, Nutrigrain or Mueslibars.
*202 6709, Saladas, Socks, Vegemite or Textures.
*202 6710, Baskets, Favourites or Cordial Jug.
*202 6711, Shoes like Novo, Vacuum or Carlton Draught.
*202 6712, Aldi Stuff like Mints, Airfryer or Towel.
*202 6713, Food Shopping like Cola Bottles, Cheese, Milk or Paddle Pops.
*202 6714, Baskets, Mask Fresheners or Coat.
*202 6715, Towels, Cloths or Lasagna?.
*202 6716, Soaps, Toothpastes, Cotton Buds and Others.
*202 6717, Cans of Coca Cola, Bottles, Waters, Novo Shoes and Others.
*202 6718, Food Shopping like Upngo, Breads or Cans of Coca Cola.
*202 6719, Quichebox, Plate or Cup or Cheese Machine.
*202 6720, Cups, Milkshakes, Jug or Can of Coca Cola?.
*202 6721, Baskets, Coathangers, Chocolate Milk or Frypan?.
*202 6722, Food Shopping like Cola Bottles, Waters, Milk or Nachos?
*202 6723, Slippers, Blanket Sheets, Clothes Pair and Others.
*202 6724, Pans, Plates, Scissors or Tools.
*202 6725, Aldi Stuff, Domino's Pizza or Lynxspray.
*202 6726, Towels, Lighter or Journal Books.
*202 6727, Food Shopping like Bottles of Cola or Water, Cans or Milk.
*202 6728, Baskets, Battery Packs or Vaporizer and Others.
*202 6729, Sleep Medicines, Deep Heat or Pillows.
*202 6730, Schnitzels, Nesquiks, Milos and Others.
*202 6731, Toothpicks and Nuts and Others.
*202 6801, Food Shopping like Bottles, Cans, Waters and Others.
*202 6802, Plates, Bowls or Battery Packs.
*202 6803, Towels, Blankets, Purse or Boots.
*202 6804, M&M's, Baskets, Cloths or Coathangers.
Current, 202 6805. ($#!+).
*202 6806. (Windows Notepad).
''2026807''
i5803catdja5j2w0em7fa0cgjt99rzq
757912
757911
2026-08-20T23:01:31Z
~2026-45302-08
75288
757912
wikitext
text/x-wiki
= Test =
820 - Emergency CFA
Candy Crush Saga Wiki: Tasty Sugar Track Edits Is Out Of Control and continue until the 24 Restriction has been place until no edits made all day, Most Edits made on 6/23, No New Episodes Will Be Released on 6/24.
2:6 - 8:6, 181 days, (8:7+ to fill out).
*8:7, 8:8, 8:9, 8:10, 8:11 (?)
*8:12, 8:13, 8:14, 8:15, 8:16 (?)
*8:17 (8:18)
''8:19''
*202 6525, Pot with Fork and Spoon, Bags with Sunglasses.
*202 6526, Baskets, Tobacco Stuff or Socks.
*202 6527, Food Shopping like Cola Bottles, Cans, Cordial and Others.
*202 6528, Socks, Pairs of Shoes, Dressing Gowns.
*202 6529, Towels, Cubes with Things.
*202 6530, Cloths, Flowers Frisun or Soap.
*202 6531, Food Shopping like Party Pies, Waters and Others.
*202 6601, Pairs of Boots, Pillow or Podiatrist.
*202 6602, Plates or Pans, Grated Cheese or Baskets.
*202 6603, Forks, Pans and Other Kitchen Tools.
*202 6604, Cups, Cordial Jug or Strawberry Milk.
*202 6605, Food Shopping like Cans of Coca Cola, Waters, Cordials or Pile of Sauce.
*202 6606, Purses, Lu Papers or Paper Towels.
*202 6607, Candles, Statues or Pizza Boxes.
*202 6608, Cups, Blankets and Others.
*202 6609, Food Shoppibg like Cola Bottles, Sour Cream and Onion Chips or Cans.
*202 6610, Towels, Cloths, Soap or Containers.
*202 6611, Nachos, Apple N Raspberry Codrial or Stationary.
*202 6612, Basket, Electric Bed with Instructions or Paint.
*202 6613, Aerobar, Birthday Cake or Packet of Candles.
*202 6614, Plates, Blankets or even Vacuum Cleaner.
*202 6615, Towels, Cloths or Dressing Gowns.
*202 6616, Smiths Chips, Heater Vents, Stuff for Lasagna or Cloths.
*202 6617, Pans, Table Spoons or Lids.
*202 6618, Food Shopping like Cans of Coca Cola, Waters, Milk and Others.
*202 6619, Chocolate Milk, Cups of Tea or Extra Mints.
*202 6620, Kitkats, Pens or Domino's Pizza.
*202 6621, Blankets and Pillows or Vacuum Cleaner.
*202 6622, Tea Towels, Cans of Coca Cola or Carlton Draught.
*202 6623, Food Shopping like Bottles of Cola, Waters or New Pyjamas.
*202 6624, Staples, Socks, Hats and Others.
*202 6625, Kitchen Bowls, Pans and Others.
*202 6626, Food Shopping like Colas, Milk or Rainbow Paddlepop.
*202 6627, Tablemats, Sunglasses or Garden Plant.
*202 6628, Boots, Sleep Medicine or Pillow.
*202 6629, Sewing Machine, Tobacco Stuff or Pan.
*202 6630, Food Shopping like Cans of Cocacola, Bottles, Kitkat or M&Ms.
*202 6701, BBQ Chips, Biskits or Grated Cheese.
*202 6702, Lighters, Plates or Cloths.
*202 6703, Hot Dogs, Cola Cans or Lasagna.
*202 6704, Mop, Battery Packs or Doorhandle.
*202 6705, Video Cameras, Internet or McDonalds Bag?.
*202 6706, Pans, Freshmint, or Hotdog Roll.
*202 6707, Food Shopping like Cans of Coca Cola, Cola Bottles, Waters, Shopping Bag or Grated Cheese.
*202 6708, Ktimes, Nutrigrain or Mueslibars.
*202 6709, Saladas, Socks, Vegemite or Textures.
*202 6710, Baskets, Favourites or Cordial Jug.
*202 6711, Shoes like Novo, Vacuum or Carlton Draught.
*202 6712, Aldi Stuff like Mints, Airfryer or Towel.
*202 6713, Food Shopping like Cola Bottles, Cheese, Milk or Paddle Pops.
*202 6714, Baskets, Mask Fresheners or Coat.
*202 6715, Towels, Cloths or Lasagna?.
*202 6716, Soaps, Toothpastes, Cotton Buds and Others.
*202 6717, Cans of Coca Cola, Bottles, Waters, Novo Shoes and Others.
*202 6718, Food Shopping like Upngo, Breads or Cans of Coca Cola.
*202 6719, Quichebox, Plate or Cup or Cheese Machine.
*202 6720, Cups, Milkshakes, Jug or Can of Coca Cola?.
*202 6721, Baskets, Coathangers, Chocolate Milk or Frypan?.
*202 6722, Food Shopping like Cola Bottles, Waters, Milk or Nachos?
*202 6723, Slippers, Blanket Sheets, Clothes Pair and Others.
*202 6724, Pans, Plates, Scissors or Tools.
*202 6725, Aldi Stuff, Domino's Pizza or Lynxspray.
*202 6726, Towels, Lighter or Journal Books.
*202 6727, Food Shopping like Bottles of Cola or Water, Cans or Milk.
*202 6728, Baskets, Battery Packs or Vaporizer and Others.
*202 6729, Sleep Medicines, Deep Heat or Pillows.
*202 6730, Schnitzels, Nesquiks, Milos and Others.
*202 6731, Toothpicks and Nuts and Others.
*202 6801, Food Shopping like Bottles, Cans, Waters and Others.
*202 6802, Plates, Bowls or Battery Packs.
*202 6803, Towels, Blankets, Purse or Boots.
*202 6804, M&M's, Baskets, Cloths or Coathangers.
Current, 202 6805. ($#!+).
*202 6806. (Windows Notepad).
''2026807''
8qytto5tz3k1cb406ptr31inhhjuv37
757913
757912
2026-08-20T23:02:11Z
~2026-45302-08
75288
/* Test */ All done
757913
wikitext
text/x-wiki
= Test =
820 - Emergency CFA
Candy Crush Saga Wiki: Tasty Sugar Track Edits Is Out Of Control and continue until the 24 Restriction has been place until no edits made all day, Most Edits made on 6/23, No New Episodes Will Be Released on 6/24.
2:6 - 8:6, 181 days, (8:7+ to fill out).
*8:7, 8:8, 8:9, 8:10, 8:11 (?)
*8:12, 8:13, 8:14, 8:15, 8:16 (?)
*8:17 (?)
*8:18 (8:19)
''8:20''
*202 6525, Pot with Fork and Spoon, Bags with Sunglasses.
*202 6526, Baskets, Tobacco Stuff or Socks.
*202 6527, Food Shopping like Cola Bottles, Cans, Cordial and Others.
*202 6528, Socks, Pairs of Shoes, Dressing Gowns.
*202 6529, Towels, Cubes with Things.
*202 6530, Cloths, Flowers Frisun or Soap.
*202 6531, Food Shopping like Party Pies, Waters and Others.
*202 6601, Pairs of Boots, Pillow or Podiatrist.
*202 6602, Plates or Pans, Grated Cheese or Baskets.
*202 6603, Forks, Pans and Other Kitchen Tools.
*202 6604, Cups, Cordial Jug or Strawberry Milk.
*202 6605, Food Shopping like Cans of Coca Cola, Waters, Cordials or Pile of Sauce.
*202 6606, Purses, Lu Papers or Paper Towels.
*202 6607, Candles, Statues or Pizza Boxes.
*202 6608, Cups, Blankets and Others.
*202 6609, Food Shoppibg like Cola Bottles, Sour Cream and Onion Chips or Cans.
*202 6610, Towels, Cloths, Soap or Containers.
*202 6611, Nachos, Apple N Raspberry Codrial or Stationary.
*202 6612, Basket, Electric Bed with Instructions or Paint.
*202 6613, Aerobar, Birthday Cake or Packet of Candles.
*202 6614, Plates, Blankets or even Vacuum Cleaner.
*202 6615, Towels, Cloths or Dressing Gowns.
*202 6616, Smiths Chips, Heater Vents, Stuff for Lasagna or Cloths.
*202 6617, Pans, Table Spoons or Lids.
*202 6618, Food Shopping like Cans of Coca Cola, Waters, Milk and Others.
*202 6619, Chocolate Milk, Cups of Tea or Extra Mints.
*202 6620, Kitkats, Pens or Domino's Pizza.
*202 6621, Blankets and Pillows or Vacuum Cleaner.
*202 6622, Tea Towels, Cans of Coca Cola or Carlton Draught.
*202 6623, Food Shopping like Bottles of Cola, Waters or New Pyjamas.
*202 6624, Staples, Socks, Hats and Others.
*202 6625, Kitchen Bowls, Pans and Others.
*202 6626, Food Shopping like Colas, Milk or Rainbow Paddlepop.
*202 6627, Tablemats, Sunglasses or Garden Plant.
*202 6628, Boots, Sleep Medicine or Pillow.
*202 6629, Sewing Machine, Tobacco Stuff or Pan.
*202 6630, Food Shopping like Cans of Cocacola, Bottles, Kitkat or M&Ms.
*202 6701, BBQ Chips, Biskits or Grated Cheese.
*202 6702, Lighters, Plates or Cloths.
*202 6703, Hot Dogs, Cola Cans or Lasagna.
*202 6704, Mop, Battery Packs or Doorhandle.
*202 6705, Video Cameras, Internet or McDonalds Bag?.
*202 6706, Pans, Freshmint, or Hotdog Roll.
*202 6707, Food Shopping like Cans of Coca Cola, Cola Bottles, Waters, Shopping Bag or Grated Cheese.
*202 6708, Ktimes, Nutrigrain or Mueslibars.
*202 6709, Saladas, Socks, Vegemite or Textures.
*202 6710, Baskets, Favourites or Cordial Jug.
*202 6711, Shoes like Novo, Vacuum or Carlton Draught.
*202 6712, Aldi Stuff like Mints, Airfryer or Towel.
*202 6713, Food Shopping like Cola Bottles, Cheese, Milk or Paddle Pops.
*202 6714, Baskets, Mask Fresheners or Coat.
*202 6715, Towels, Cloths or Lasagna?.
*202 6716, Soaps, Toothpastes, Cotton Buds and Others.
*202 6717, Cans of Coca Cola, Bottles, Waters, Novo Shoes and Others.
*202 6718, Food Shopping like Upngo, Breads or Cans of Coca Cola.
*202 6719, Quichebox, Plate or Cup or Cheese Machine.
*202 6720, Cups, Milkshakes, Jug or Can of Coca Cola?.
*202 6721, Baskets, Coathangers, Chocolate Milk or Frypan?.
*202 6722, Food Shopping like Cola Bottles, Waters, Milk or Nachos?
*202 6723, Slippers, Blanket Sheets, Clothes Pair and Others.
*202 6724, Pans, Plates, Scissors or Tools.
*202 6725, Aldi Stuff, Domino's Pizza or Lynxspray.
*202 6726, Towels, Lighter or Journal Books.
*202 6727, Food Shopping like Bottles of Cola or Water, Cans or Milk.
*202 6728, Baskets, Battery Packs or Vaporizer and Others.
*202 6729, Sleep Medicines, Deep Heat or Pillows.
*202 6730, Schnitzels, Nesquiks, Milos and Others.
*202 6731, Toothpicks and Nuts and Others.
*202 6801, Food Shopping like Bottles, Cans, Waters and Others.
*202 6802, Plates, Bowls or Battery Packs.
*202 6803, Towels, Blankets, Purse or Boots.
*202 6804, M&M's, Baskets, Cloths or Coathangers.
Current, 202 6805. ($#!+).
*202 6806. (Windows Notepad).
''2026807''
0q8iml3v4pbfyp7ec7l3r9um5v1nf0r
User:Martin Urbanec/sandbox
2
94732
757908
557714
2026-08-20T22:49:52Z
Martin Urbanec
29017
Bot: Adding foo
757908
wikitext
text/x-wiki
foo
1e6gpc3ehk0mu2jqu8cg42g009s796b
757909
757908
2026-08-20T22:54:22Z
Martin Urbanec
29017
Bot: Adding foo
757909
wikitext
text/x-wiki
foo
foo
mb3pr5p0yh3wisyyfin45nkkzfravsa
QuickCategories CI Test/1
0
103055
757914
757584
2026-08-20T23:14:07Z
Lucas Werkmeister CI
44821
setup
757914
wikitext
text/x-wiki
Test page for the QuickCategories tool.
[[Category:Already present cat]]
[[Category:Removed cat]]
Bottom text
fqdbeff2h5awq7c2zzive0olzeyhsfw
757919
757914
2026-08-20T23:14:09Z
Lucas Werkmeister CI
44821
+[[Category:Added cat]], (+[[Category:Already present cat]]), -[[Category:Removed cat]], (-[[Category:Not present cat]]); QuickCategories CI test
757919
wikitext
text/x-wiki
Test page for the QuickCategories tool.
[[Category:Already present cat]]
[[Category:Added cat]]
Bottom text
204gsj1o0z237pck8veepxok5gwhypa
757922
757919
2026-08-20T23:14:11Z
Lucas Werkmeister CI
44821
teardown
757922
wikitext
text/x-wiki
Test page for the QuickCategories tool.
grb81tg5g5vswnms329tmfr3s8kxvgf
QuickCategories CI Test Redirect Target/1
0
107379
757916
757586
2026-08-20T23:14:07Z
Lucas Werkmeister CI
44821
setup
757916
wikitext
text/x-wiki
Test page for the QuickCategories tool.
[[Category:Already present cat]]
[[Category:Removed cat]]
Bottom text
fqdbeff2h5awq7c2zzive0olzeyhsfw
757920
757916
2026-08-20T23:14:09Z
Lucas Werkmeister CI
44821
+[[Category:Added cat]], (+[[Category:Already present cat]]), -[[Category:Removed cat]], (-[[Category:Not present cat]]); QuickCategories CI test
757920
wikitext
text/x-wiki
Test page for the QuickCategories tool.
[[Category:Already present cat]]
[[Category:Added cat]]
Bottom text
204gsj1o0z237pck8veepxok5gwhypa
757924
757920
2026-08-20T23:14:11Z
Lucas Werkmeister CI
44821
teardown
757924
wikitext
text/x-wiki
Test page for the QuickCategories tool.
grb81tg5g5vswnms329tmfr3s8kxvgf
QuickCategories CI Test Redirect/1
0
107382
757915
757585
2026-08-20T23:14:07Z
Lucas Werkmeister CI
44821
setup
757915
wikitext
text/x-wiki
#REDIRECT [[QuickCategories CI Test Redirect Target/1]]
[[Category:Unchanged cat]]
47qf8s6ngll4u0wdnabdw3j31blmg56
757923
757915
2026-08-20T23:14:11Z
Lucas Werkmeister CI
44821
teardown
757923
wikitext
text/x-wiki
#REDIRECT [[QuickCategories CI Test Redirect Target/1]]
cpyhreevz6hd676k46165q4smew6317
QuickCategories CI Test Other Redirect Target/1
0
107385
757918
757588
2026-08-20T23:14:08Z
Lucas Werkmeister CI
44821
setup
757918
wikitext
text/x-wiki
Test page for the QuickCategories tool.
[[Category:Unchanged cat]]
Bottom text
czt1xsn8epqffiq0nviakd7rv65clnp
757926
757918
2026-08-20T23:14:12Z
Lucas Werkmeister CI
44821
teardown
757926
wikitext
text/x-wiki
Test page for the QuickCategories tool.
grb81tg5g5vswnms329tmfr3s8kxvgf
QuickCategories CI Test Other Redirect/1
0
107388
757917
757587
2026-08-20T23:14:08Z
Lucas Werkmeister CI
44821
setup
757917
wikitext
text/x-wiki
#REDIRECT [[QuickCategories CI Test Other Redirect Target/1]]
[[Category:Already present cat]]
[[Category:Removed cat]]
3eziw6y0xf3xdrqdgw85iskjsh4iby9
757921
757917
2026-08-20T23:14:10Z
Lucas Werkmeister CI
44821
+[[Category:Added cat]], (+[[Category:Already present cat]]), -[[Category:Removed cat]], (-[[Category:Not present cat]]); QuickCategories CI test
757921
wikitext
text/x-wiki
#REDIRECT [[QuickCategories CI Test Other Redirect Target/1]]
[[Category:Already present cat]]
[[Category:Added cat]]
a0fxjxdl5eleb4iqtwr70rkxo5vsdu6
757925
757921
2026-08-20T23:14:12Z
Lucas Werkmeister CI
44821
teardown
757925
wikitext
text/x-wiki
#REDIRECT [[QuickCategories CI Test Other Redirect Target/1]]
m71v87kxldkmcdy4ksdtl73icoftpz6
User:SongVĩ.Bot II
2
124239
757906
757790
2026-08-20T17:00:25Z
SongVĩ.Bot II
52414
[[User:SongVĩ.Bot II|Task 0]]: Đã 1697 ngày...
757906
wikitext
text/x-wiki
Cập nhật lần cuối: 21-08-2026
Đã 1697 ngày...
1ijwd2rw34x1dglawjsfabds2k5nake
User:Borhan/test.js
2
159779
757892
757717
2026-08-20T13:44:53Z
Borhan
54019
+
757892
javascript
text/javascript
function UserinfoJsFormatQty(qty, singular, plural) {
return String(qty).replace(/\d{1,3}(?=(\d{3})+(?!\d))/g, "$&,") + "\u00a0" + (qty == 1 ? singular : plural);
}
function UserinfoJsFormatDateRel(old) {
// The code below requires the computer's clock to be set correctly.
var age = new Date().getTime() - old.getTime();
var ageNumber, ageRemainder, ageWords;
if(age < 60000) {
// less than one minute old
ageNumber = Math.floor(age / 1000);
ageWords = UserinfoJsFormatQty(ageNumber, "second", "seconds");
} else if(age < 3600000) {
// less than one hour old
ageNumber = Math.floor(age / 60000);
ageWords = UserinfoJsFormatQty(ageNumber, "minute", "minutes");
} else if(age < 86400000) {
// less than one day old
ageNumber = Math.floor(age / 3600000);
ageWords = UserinfoJsFormatQty(ageNumber, "hour", "hours");
ageRemainder = Math.floor((age - ageNumber * 3600000) / 60000);
} else if(age < 604800000) {
// less than one week old
ageNumber = Math.floor(age / 86400000);
ageWords = UserinfoJsFormatQty(ageNumber, "day", "days");
} else if(age < 2592000000) {
// less than one month old
ageNumber = Math.floor(age / 604800000);
ageWords = UserinfoJsFormatQty(ageNumber, "week", "weeks");
} else if(age < 31536000000) {
// less than one year old
ageNumber = Math.floor(age / 2592000000);
ageWords = UserinfoJsFormatQty(ageNumber, "month", "months");
} else {
// one year or older
ageNumber = Math.floor(age / 31536000000);
ageWords = UserinfoJsFormatQty(ageNumber, "year", "years");
ageRemainder =
Math.floor((age - ageNumber * 31536000000) / 2592000000);
if(ageRemainder) {
ageWords += " " +
UserinfoJsFormatQty(ageRemainder, "month", "months");
}
}
return ageWords;
}
// If on a user or user talk page, and not a subpage...
if((mw.config.get("wgNamespaceNumber") == 2 || mw.config.get("wgNamespaceNumber") == 3) && !(/\//.test(mw.config.get("wgTitle")))) {
// add a hook to...
mw.loader.using( ['mediawiki.util'], function() { $(function(){
// Request the user's information from the API.
// Note that this is allowed to be up to 5 minutes old.
var et = encodeURIComponent(mw.config.get("wgTitle"));
$.getJSON(mw.config.get("wgScriptPath") + "/api.php?format=json&action=query&list=users|usercontribs&usprop=blockinfo|editcount|gender|registration|groups&uclimit=1&ucprop=timestamp&ususers=" + et + "&ucuser=" + et + "&meta=allmessages&refix=grouppage-&amincludelocal=1")
.done(function(query) {
// When response arrives extract the information we need.
if(!query.query) { return; } // Suggested by Gary King to avoid JS errors --PS 2010-08-25
query = query.query;
var user, invalid, missing, groups, groupPages={}, editcount, registration, blocked, gender, lastEdited;
try {
user = query.users[0];
invalid = typeof user.invalid != "undefined";
missing = typeof user.missing != "undefined";
groups = (typeof user.groups == "object") ? user.groups : [];
editcount = (typeof user.editcount == "number") ? user.editcount : null;
registration = (typeof user.registration == "string") ?
new Date(user.registration) : null;
blocked = typeof user.blockedby != "undefined";
gender = (typeof user.gender == "string") ? user.gender : null;
lastEdited = (typeof query.usercontribs[0] == "object") &&
(typeof query.usercontribs[0].timestamp == "string") ?
new Date(query.usercontribs[0].timestamp) : null;
for (var am=0; am<query.allmessages.length; am++) {
groupPages[query.allmessages[am]["name"].replace("grouppage-","")] = query.allmessages[am]["*"].replace("{{ns:project}}:","Project:");
}
} catch(e) {
return; // Not much to do if the server is returning an error (e.g. if the username is malformed).
}
// Format the information for on-screen display
var statusText = "";
var ipUser = false;
var ipv4User = false;
var ipv6User = false;
// User status
if(blocked) {
statusText += "<a href=\"" + mw.config.get("wgScriptPath") +
"/index.php?title=Special:Log&page=" +
encodeURIComponent(mw.config.get("wgFormattedNamespaces")[2] + ":" + user.name) +
"&type=block\">blocked</a> ";
}
if (missing) {
statusText += "username not registered";
} else if (invalid) {
ipv4User = mw.util.isIPv4Address(user.name);
ipv6User = mw.util.isIPv6Address(user.name);
ipUser = ipv4User || ipv6User;
if (ipv4User) {
statusText += "anonymous IPv4 user";
} else if (ipv6User) {
statusText += "anonymous IPv6 user";
} else {
statusText += "invalid username";
}
} else {
// User is registered and may be in a privileged group. Below we have a list of user groups.
// Only need the ones different from the software's name (or ones to exclude), though.
var friendlyGroupNames = {
// Exclude implicit user group information provided by MW 1.17 --PS 2010-02-17
'*': false,
'user': false,
'autoconfirmed': false,
sysop: "administrator",
accountcreator: "account creator",
'import': "importer",
transwiki: "transwiki importer",
'ipblock-exempt': "IP block exemption",
confirmed: "confirmed user",
abusefilter: "edit filter manager",
'abusefilter-helper': "edit filter helper",
autoreviewer: "autopatrolled user",
filemover: "file mover",
'massmessage-sender': "mass message sender",
templateeditor: "template editor",
extendedconfirmed: "extended confirmed user",
extendedmover: "page mover",
reviewer: "pending changes reviewer",
suppress: "oversighter",
patroller: "new page reviewer",
copyviobot: "copyright violation bot",
eventcoordinator: "event coordinator",
'interface-admin': "interface administrator",
temp: "temporary user",
electionclerk: "election clerk",
};
var friendlyGroups = [];
for(var i = 0; i < groups.length; ++i) {
var s = groups[i];
var t = friendlyGroupNames.hasOwnProperty(s) ? friendlyGroupNames[s] : s;
if (t) {
if (groupPages.hasOwnProperty(s)) {
friendlyGroups.push("<a href=\"/wiki/" + encodeURIComponent( groupPages[s] ) + "\">" + t + "</a>");
} else {
friendlyGroups.push(t);
}
}
}
switch(friendlyGroups.length) {
case 0:
// User not in a privileged group
// Changed to "registered user" by request of [[User:Svanslyck]]
// --PS 2010-05-16
// statusText += "user";
if(blocked) {
statusText += "user";
} else {
statusText += "registered user";
}
break;
case 1:
statusText += friendlyGroups[0];
break;
case 2:
statusText += friendlyGroups[0] + " and " + friendlyGroups[1];
break;
default:
statusText += friendlyGroups.slice(0, -1).join(", ") +
", and " + friendlyGroups[friendlyGroups.length - 1];
break;
}
}
// Registration date
if(registration) {
var firstLoggedUser = new Date("22:16, 7 September 2005"); // When the [[Special:Log/newusers]] was first activated
if(registration >= firstLoggedUser) {
statusText += ", <a href='" + mw.config.get("wgScriptPath") +
"/index.php?title=Special:Log&type=newusers&dir=prev&limit=1&user=" +
et + "'>" + UserinfoJsFormatDateRel(registration) + "</a> old";
} else {
statusText += ", <a href='" + mw.config.get("wgScriptPath") +
"/index.php?title=Special:ListUsers&limit=1&username=" +
et + "'>" + UserinfoJsFormatDateRel(registration) + "</a> old";
}
}
// Edit count
if(editcount !== null) {
statusText += ", with " +
"<a href=\"//tools.wmflabs.org/xtools-ec/?user=" +
encodeURIComponent(user.name) +
"&project=en.wikipedia.org&uselang=en\">" +
UserinfoJsFormatQty(editcount, "edit", "edits") + "</a>";
}
// Prefix status text with correct article
if("AEIOaeio".indexOf(statusText.charAt(statusText.indexOf('>')+1)) >= 0) {
statusText = "An " + statusText;
} else {
statusText = "A " + statusText;
}
// Add full stop to status text
statusText += ".";
// Last edited --PS 2010-06-27
// Added link to contributions page --PS 2010-07-03
if(lastEdited) {
statusText += " Last edited <a href=\"" + mw.config.get("wgArticlePath").replace("$1", "Special:Contributions/" + encodeURIComponent(user.name)) + "\">" + UserinfoJsFormatDateRel(lastEdited) + " ago</a>.";
}
// Show the correct gender symbol
var fh = document.getElementById("firstHeading") ||
document.getElementById("section-0");
if(!fh) return; // e.g. Minerva user talk pages
// Add classes for blocked, registered, and anonymous users
var newClasses = [];
if(blocked) {
newClasses.push("ps-blocked");
}
if(ipUser) {
newClasses.push("ps-anonymous");
} else if(invalid) {
newClasses.push("ps-invalid");
} else {
newClasses.push("ps-registered");
}
fh.className += (fh.className.length ? " " : "") + groups.map(function(s) {
return "ps-group-" + s;
}).concat(newClasses).join(" ");
var genderSpan = document.createElement("span");
genderSpan.id = "ps-gender-" + (gender || "unknown");
genderSpan.style.paddingLeft = "0.25em";
genderSpan.style.fontFamily = '"Lucida Grande", "Lucida Sans Unicode", "sans-serif"';
genderSpan.style.fontSize = "75%";
var genderSymbol;
switch(gender) {
case "male": genderSymbol = "\u2642"; break;
case "female": genderSymbol = "\u2640"; break;
default: genderSymbol = ""; break;
}
genderSpan.appendChild(document.createTextNode(genderSymbol));
fh.appendChild(genderSpan);
// Now show the other information. Non-standard? Yes, but it gets the job done.
// Add a period after the tagline when doing so. --PS 2010-07-03
var ss = document.getElementById("siteSub");
if(!ss) {
ss = document.createElement("div");
ss.id = "siteSub";
ss.innerHTML = "From Wikipedia, the free encyclopedia";
var bc = document.getElementById("bodyContent");
bc.insertBefore(ss, bc.firstChild);
}
ss.innerHTML = '<span id="ps-userinfo">' + statusText + '</span> ' + ss.innerHTML + '.';
ss.style.display = "block";
});
}); });
}
eq5m72r9z9eq06qdw0qmwpv3g0otyqj
757893
757892
2026-08-20T13:55:31Z
Borhan
54019
757893
javascript
text/javascript
function UserinfoJsFormatQty(qty, singular, plural) {
return String(qty).replace(/\d{1,3}(?=(\d{3})+(?!\d))/g, "$&,") + "\u00a0" + (qty == 1 ? singular : plural);
}
function UserinfoJsFormatDateRel(old) {
// নিচের কোডটি সঠিকভাবে কাজ করার জন্য কম্পিউটারের ঘড়ি সঠিক সময়ে সেট করা থাকতে হবে।
var age = new Date().getTime() - old.getTime();
var ageNumber, ageRemainder, ageWords;
if(age < 60000) {
// এক মিনিটের কম পুরোনো
ageNumber = Math.floor(age / 1000);
ageWords = UserinfoJsFormatQty(ageNumber, "সেকেন্ড", "সেকেন্ড");
} else if(age < 3600000) {
// এক ঘণ্টার কম পুরোনো
ageNumber = Math.floor(age / 60000);
ageWords = UserinfoJsFormatQty(ageNumber, "মিনিট", "মিনিট");
} else if(age < 86400000) {
// এক দিনের কম পুরোনো
ageNumber = Math.floor(age / 3600000);
ageWords = UserinfoJsFormatQty(ageNumber, "ঘণ্টা", "ঘণ্টা");
ageRemainder = Math.floor((age - ageNumber * 3600000) / 60000);
} else if(age < 604800000) {
// এক সপ্তাহের কম পুরোনো
ageNumber = Math.floor(age / 86400000);
ageWords = UserinfoJsFormatQty(ageNumber, "দিন", "দিন");
} else if(age < 2592000000) {
// এক মাসের কম পুরোনো
ageNumber = Math.floor(age / 604800000);
ageWords = UserinfoJsFormatQty(ageNumber, "সপ্তাহ", "সপ্তাহ");
} else if(age < 31536000000) {
// এক বছরের কম পুরোনো
ageNumber = Math.floor(age / 2592000000);
ageWords = UserinfoJsFormatQty(ageNumber, "মাস", "মাস");
} else {
// এক বছর বা তার বেশি পুরোনো
ageNumber = Math.floor(age / 31536000000);
ageWords = UserinfoJsFormatQty(ageNumber, "বছর", "বছর");
ageRemainder =
Math.floor((age - ageNumber * 31536000000) / 2592000000);
if(ageRemainder) {
ageWords += " " +
UserinfoJsFormatQty(ageRemainder, "মাস", "মাস");
}
}
return ageWords;
}
// ব্যবহারকারী বা ব্যবহারকারীর আলাপ পৃষ্ঠায় থাকলে এবং সেটি কোনো উপপাতা না হলে...
if((mw.config.get("wgNamespaceNumber") == 2 || mw.config.get("wgNamespaceNumber") == 3) && !(/\//.test(mw.config.get("wgTitle")))) {
// একটি হুক যোগ করা হচ্ছে...
mw.loader.using( ['mediawiki.util'], function() { $(function(){
// API-এর মাধ্যমে ব্যবহারকারীর তথ্য চাওয়া হচ্ছে।
// মনে রাখতে হবে, এই তথ্য সর্বোচ্চ ৫ মিনিট পুরোনো হতে পারে।
var et = encodeURIComponent(mw.config.get("wgTitle"));
$.getJSON(mw.config.get("wgScriptPath") + "/api.php?format=json&action=query&list=users|usercontribs&usprop=blockinfo|editcount|gender|registration|groups&uclimit=1&ucprop=timestamp&ususers=" + et + "&ucuser=" + et + "&meta=allmessages&refix=grouppage-&amincludelocal=1")
.done(function(query) {
// উত্তর পাওয়ার পর প্রয়োজনীয় তথ্য বের করা হচ্ছে।
if(!query.query) { return; } // JS ত্রুটি এড়ানোর জন্য Gary King-এর পরামর্শ অনুযায়ী যোগ করা হয়েছে --PS 2010-08-25
query = query.query;
var user, invalid, missing, groups, groupPages={}, editcount, registration, blocked, gender, lastEdited;
try {
user = query.users[0];
invalid = typeof user.invalid != "undefined";
missing = typeof user.missing != "undefined";
groups = (typeof user.groups == "object") ? user.groups : [];
editcount = (typeof user.editcount == "number") ? user.editcount : null;
registration = (typeof user.registration == "string") ?
new Date(user.registration) : null;
blocked = typeof user.blockedby != "undefined";
gender = (typeof user.gender == "string") ? user.gender : null;
lastEdited = (typeof query.usercontribs[0] == "object") &&
(typeof query.usercontribs[0].timestamp == "string") ?
new Date(query.usercontribs[0].timestamp) : null;
for (var am=0; am<query.allmessages.length; am++) {
groupPages[query.allmessages[am]["name"].replace("grouppage-","")] = query.allmessages[am]["*"].replace("{{ns:project}}:","উইকিপিডিয়া:");
}
} catch(e) {
return; // সার্ভার কোনো ত্রুটি (যেমন ব্যবহারকারীর নামের বিন্যাস ভুল) ফেরত দিলে তেমন কিছু করার নেই।
}
// পর্দায় প্রদর্শনের জন্য তথ্য বিন্যাস করা হচ্ছে
var statusText = "";
var ipUser = false;
var ipv4User = false;
var ipv6User = false;
// ব্যবহারকারীর অবস্থা
if(blocked) {
statusText += "<a href=\"" + mw.config.get("wgScriptPath") +
"/index.php?title=Special:Log&page=" +
encodeURIComponent(mw.config.get("wgFormattedNamespaces")[2] + ":" + user.name) +
"&type=block\">অবরুদ্ধ</a> ";
}
if (missing) {
statusText += "ব্যবহারকারীর নাম নিবন্ধিত নয়";
} else if (invalid) {
ipv4User = mw.util.isIPv4Address(user.name);
ipv6User = mw.util.isIPv6Address(user.name);
ipUser = ipv4User || ipv6User;
if (ipv4User) {
statusText += "বেনামি IPv4 ব্যবহারকারী";
} else if (ipv6User) {
statusText += "বেনামি IPv6 ব্যবহারকারী";
} else {
statusText += "অবৈধ ব্যবহারকারীর নাম";
}
} else {
// ব্যবহারকারী নিবন্ধিত এবং কোনো বিশেষ অধিকারপ্রাপ্ত গোষ্ঠীর সদস্য হতে পারেন।
// নিচে ব্যবহারকারী গোষ্ঠীগুলোর তালিকা রয়েছে।
// সফটওয়্যারের স্বয়ংক্রিয়ভাবে দেওয়া গোষ্ঠীগুলো বাদ দিয়ে শুধু প্রাসঙ্গিক গোষ্ঠীগুলো দেখানো হবে।
var friendlyGroupNames = {
// MediaWiki 1.17-এর মাধ্যমে স্বয়ংক্রিয়ভাবে দেওয়া গোষ্ঠীর তথ্য বাদ দেওয়া হয়েছে --PS 2010-02-17
'*': false,
'user': false,
'autoconfirmed': false,
sysop: "প্রশাসক",
accountcreator: "অ্যাকাউন্ট সৃষ্টিকারী",
'import': "আমদানিকারক",
transwiki: "ট্রান্সউইকি আমদানিকারক",
'ipblock-exempt': "IP অবরোধমুক্ত",
confirmed: "নিশ্চিত ব্যবহারকারী",
abusefilter: "সম্পাদনা ফিল্টার ব্যবস্থাপক",
'abusefilter-helper': "সম্পাদনা ফিল্টার সহায়ক",
autoreviewer: "স্বয়ংক্রিয় পরীক্ষক",
filemover: "ফাইল স্থানান্তরকারী",
'massmessage-sender': "গণবার্তা প্রেরক",
templateeditor: "টেমপ্লেট সম্পাদক",
extendedconfirmed: "বর্ধিত-নিশ্চিত ব্যবহারকারী",
extendedmover: "পাতা স্থানান্তরকারী",
reviewer: "অমীমাংসিত পরিবর্তন পরীক্ষক",
suppress: "অধিগোপনকারী",
patroller: "নতুন পাতা পরীক্ষক",
copyviobot: "কপিরাইট লঙ্ঘনকারী বট",
eventcoordinator: "ইভেন্ট সমন্বয়কারী",
'interface-admin': "ইন্টারফেস প্রশাসক",
temp: "সাময়িক ব্যবহারকারী",
electionclerk: "নির্বাচন কেরানি",
};
var friendlyGroups = [];
for(var i = 0; i < groups.length; ++i) {
var s = groups[i];
var t = friendlyGroupNames.hasOwnProperty(s) ? friendlyGroupNames[s] : s;
if (t) {
if (groupPages.hasOwnProperty(s)) {
friendlyGroups.push("<a href=\"/wiki/" + encodeURIComponent( groupPages[s] ) + "\">" + t + "</a>");
} else {
friendlyGroups.push(t);
}
}
}
switch(friendlyGroups.length) {
case 0:
// ব্যবহারকারী কোনো বিশেষ অধিকারপ্রাপ্ত গোষ্ঠীর সদস্য নন।
// [[User:Svanslyck]]-এর অনুরোধে "registered user" করা হয়েছে।
// --PS 2010-05-16
// statusText += "ব্যবহারকারী";
if(blocked) {
statusText += "ব্যবহারকারী";
} else {
statusText += "নিবন্ধিত ব্যবহারকারী";
}
break;
case 1:
statusText += friendlyGroups[0];
break;
case 2:
statusText += friendlyGroups[0] + " এবং " + friendlyGroups[1];
break;
default:
statusText += friendlyGroups.slice(0, -1).join(", ") +
", এবং " + friendlyGroups[friendlyGroups.length - 1];
break;
}
}
// নিবন্ধনের তারিখ
if(registration) {
var firstLoggedUser = new Date("22:16, 7 September 2005"); // [[Special:Log/newusers]] প্রথম সক্রিয় হওয়ার সময়
if(registration >= firstLoggedUser) {
statusText += ", <a href='" + mw.config.get("wgScriptPath") +
"/index.php?title=Special:Log&type=newusers&dir=prev&limit=1&user=" +
et + "'>" + UserinfoJsFormatDateRel(registration) + " পুরোনো</a>";
} else {
statusText += ", <a href='" + mw.config.get("wgScriptPath") +
"/index.php?title=Special:ListUsers&limit=1&username=" +
et + "'>" + UserinfoJsFormatDateRel(registration) + " পুরোনো</a>";
}
}
// সম্পাদনা সংখ্যা
if(editcount !== null) {
statusText += ", " +
"<a href=\"//tools.wmflabs.org/xtools-ec/?user=" +
encodeURIComponent(user.name) +
"&project=bn.wikipedia.org&uselang=bn\">" +
UserinfoJsFormatQty(editcount, "টি সম্পাদনা", "টি সম্পাদনা") + "</a>";
}
// স্ট্যাটাসের শুরুতে উপযুক্ত বাংলা বাক্যাংশ যোগ করা হচ্ছে।
// ইংরেজির "A/An"-এর পরিবর্তে বাংলায় আলাদা article-এর প্রয়োজন নেই।
// স্ট্যাটাসের শেষে পূর্ণচ্ছেদ যোগ করা হচ্ছে।
statusText += ".";
// সর্বশেষ সম্পাদনা --PS 2010-06-27
// অবদানের পৃষ্ঠার লিংক যোগ করা হয়েছে --PS 2010-07-03
if(lastEdited) {
statusText += " সর্বশেষ সম্পাদনা করা হয়েছে <a href=\"" + mw.config.get("wgArticlePath").replace("$1", "Special:Contributions/" + encodeURIComponent(user.name)) + "\">" + UserinfoJsFormatDateRel(lastEdited) + " আগে</a>।";
}
// সঠিক লিঙ্গচিহ্ন দেখানো হচ্ছে
var fh = document.getElementById("firstHeading") ||
document.getElementById("section-0");
if(!fh) return; // যেমন, Minerva ব্যবহারকারী আলাপ পৃষ্ঠায়
// অবরুদ্ধ, নিবন্ধিত ও বেনামি ব্যবহারকারীদের জন্য শ্রেণি যোগ করা হচ্ছে
var newClasses = [];
if(blocked) {
newClasses.push("ps-blocked");
}
if(ipUser) {
newClasses.push("ps-anonymous");
} else if(invalid) {
newClasses.push("ps-invalid");
} else {
newClasses.push("ps-registered");
}
fh.className += (fh.className.length ? " " : "") + groups.map(function(s) {
return "ps-group-" + s;
}).concat(newClasses).join(" ");
var genderSpan = document.createElement("span");
genderSpan.id = "ps-gender-" + (gender || "unknown");
genderSpan.style.paddingLeft = "0.25em";
genderSpan.style.fontFamily = '"Lucida Grande", "Lucida Sans Unicode", "sans-serif"';
genderSpan.style.fontSize = "75%";
var genderSymbol;
switch(gender) {
case "male": genderSymbol = "\u2642"; break;
case "female": genderSymbol = "\u2640"; break;
default: genderSymbol = ""; break;
}
genderSpan.appendChild(document.createTextNode(genderSymbol));
fh.appendChild(genderSpan);
// এখন অন্যান্য তথ্য দেখানো হচ্ছে। পদ্ধতিটি অপ্রচলিত হলেও কাজটি সম্পন্ন করে।
// tagline-এর পরে পূর্ণচ্ছেদ যোগ করা হয়েছে। --PS 2010-07-03
var ss = document.getElementById("siteSub");
if(!ss) {
ss = document.createElement("div");
ss.id = "siteSub";
ss.innerHTML = "উইকিপিডিয়া, মুক্ত বিশ্বকোষ থেকে";
var bc = document.getElementById("bodyContent");
bc.insertBefore(ss, bc.firstChild);
}
ss.innerHTML = '<span id="ps-userinfo">' + statusText + '</span> ' + ss.innerHTML + '।';
ss.style.display = "block";
});
}); });
}
ed6wy01pjhjmfmkao9xiuphxbb8wm7t
757899
757893
2026-08-20T15:15:03Z
Borhan
54019
757899
javascript
text/javascript
function UserinfoJsFormatQty(qty, singular, plural) {
return String(qty).replace(/\d{1,3}(?=(\d{3})+(?!\d))/g, "$&,") + "\u00a0" + (qty == 1 ? singular : plural);
}
function UserinfoJsFormatDateRel(old) {
// নিচের কোডটি সঠিকভাবে কাজ করার জন্য কম্পিউটারের ঘড়ি সঠিক সময়ে সেট করা থাকতে হবে।
var age = new Date().getTime() - old.getTime();
var ageNumber, ageRemainder, ageWords;
if(age < 60000) {
// এক মিনিটের কম পুরোনো
ageNumber = Math.floor(age / 1000);
ageWords = UserinfoJsFormatQty(ageNumber, "সেকেন্ড", "সেকেন্ড");
} else if(age < 3600000) {
// এক ঘণ্টার কম পুরোনো
ageNumber = Math.floor(age / 60000);
ageWords = UserinfoJsFormatQty(ageNumber, "মিনিট", "মিনিট");
} else if(age < 86400000) {
// এক দিনের কম পুরোনো
ageNumber = Math.floor(age / 3600000);
ageWords = UserinfoJsFormatQty(ageNumber, "ঘণ্টা", "ঘণ্টা");
ageRemainder = Math.floor((age - ageNumber * 3600000) / 60000);
} else if(age < 604800000) {
// এক সপ্তাহের কম পুরোনো
ageNumber = Math.floor(age / 86400000);
ageWords = UserinfoJsFormatQty(ageNumber, "দিন", "দিন");
} else if(age < 2592000000) {
// এক মাসের কম পুরোনো
ageNumber = Math.floor(age / 604800000);
ageWords = UserinfoJsFormatQty(ageNumber, "সপ্তাহ", "সপ্তাহ");
} else if(age < 31536000000) {
// এক বছরের কম পুরোনো
ageNumber = Math.floor(age / 2592000000);
ageWords = UserinfoJsFormatQty(ageNumber, "মাস", "মাস");
} else {
// এক বছর বা তার বেশি পুরোনো
ageNumber = Math.floor(age / 31536000000);
ageWords = UserinfoJsFormatQty(ageNumber, "বছর", "বছর");
ageRemainder =
Math.floor((age - ageNumber * 31536000000) / 2592000000);
if(ageRemainder) {
ageWords += " " +
UserinfoJsFormatQty(ageRemainder, "মাস", "মাস");
}
}
return ageWords;
}
// ব্যবহারকারী বা ব্যবহারকারী আলাপ পাতায় থাকলে এবং সেটি কোনো উপপাতা না হলে...
if((mw.config.get("wgNamespaceNumber") == 2 || mw.config.get("wgNamespaceNumber") == 3) && !(/\//.test(mw.config.get("wgTitle")))) {
// একটি হুক যোগ করা হচ্ছে...
mw.loader.using( ['mediawiki.util'], function() { $(function(){
// এপিআইয়ের মাধ্যমে ব্যবহারকারীর তথ্য চাওয়া হচ্ছে।
// মনে রাখতে হবে, এই তথ্য সর্বোচ্চ ৫ মিনিট পুরোনো হতে পারে।
var et = encodeURIComponent(mw.config.get("wgTitle"));
$.getJSON(mw.config.get("wgScriptPath") + "/api.php?format=json&action=query&list=users|usercontribs&usprop=blockinfo|editcount|gender|registration|groups&uclimit=1&ucprop=timestamp&ususers=" + et + "&ucuser=" + et + "&meta=allmessages&refix=grouppage-&amincludelocal=1")
.done(function(query) {
// উত্তর পাওয়ার পর প্রয়োজনীয় তথ্য বের করা হচ্ছে।
if(!query.query) { return; }
query = query.query;
var user, invalid, missing, groups, groupPages={}, editcount, registration, blocked, gender, lastEdited;
try {
user = query.users[0];
invalid = typeof user.invalid != "undefined";
missing = typeof user.missing != "undefined";
groups = (typeof user.groups == "object") ? user.groups : [];
editcount = (typeof user.editcount == "number") ? user.editcount : null;
registration = (typeof user.registration == "string") ?
new Date(user.registration) : null;
blocked = typeof user.blockedby != "undefined";
gender = (typeof user.gender == "string") ? user.gender : null;
lastEdited = (typeof query.usercontribs[0] == "object") &&
(typeof query.usercontribs[0].timestamp == "string") ?
new Date(query.usercontribs[0].timestamp) : null;
for (var am=0; am<query.allmessages.length; am++) {
groupPages[query.allmessages[am]["name"].replace("grouppage-","")] = query.allmessages[am]["*"].replace("{{ns:project}}:","উইকিপিডিয়া:");
}
} catch(e) {
return; // সার্ভার কোনো ত্রুটি (যেমন: ব্যবহারকারীর নামের বিন্যাস ভুল) ফেরত দিলে তেমন কিছু করার নেই।
}
// পর্দায় প্রদর্শনের জন্য তথ্য বিন্যাস করা হচ্ছে
var statusText = "";
var ipUser = false;
var ipv4User = false;
var ipv6User = false;
// ব্যবহারকারীর অবস্থা
if(blocked) {
statusText += "<a href=\"" + mw.config.get("wgScriptPath") +
"/index.php?title=Special:Log&page=" +
encodeURIComponent(mw.config.get("wgFormattedNamespaces")[2] + ":" + user.name) +
"&type=block\">অবরুদ্ধ</a> ";
}
if (missing) {
statusText += "ব্যবহারকারী নাম নিবন্ধিত নয়";
} else if (invalid) {
ipv4User = mw.util.isIPv4Address(user.name);
ipv6User = mw.util.isIPv6Address(user.name);
ipUser = ipv4User || ipv6User;
if (ipv4User) {
statusText += "বেনামি আইপিভি৪ ব্যবহারকারী";
} else if (ipv6User) {
statusText += "বেনামি আইপিভি৬ ব্যবহারকারী";
} else {
statusText += "অবৈধ ব্যবহারকারী নাম";
}
} else {
// ব্যবহারকারী নিবন্ধিত এবং কোনো বিশেষ অধিকারপ্রাপ্ত দলের সদস্য হতে পারেন। নিচে ব্যবহারকারী দলগুলোর তালিকা রয়েছে।
var friendlyGroupNames = {
'*': false,
'user': false,
'autoconfirmed': false,
'sysop': "প্রশাসক",
'bot': "বট",
'bureaucrat': "ব্যুরোক্র্যাট",
'steward': "স্টুয়ার্ড",
'accountcreator': "অ্যাকাউন্ট স্রষ্টা",
'import': "আমদানিকারক",
'transwiki': "ট্রান্সউইকি আমদানিকারক",
'ipblock-exempt': "আইপি বাধামুক্ত",
'confirmed': "নিশ্চিতকৃত ব্যবহারকারী",
'autopatrolled': "স্বয়ংক্রিয় পরীক্ষক",
'autoreview': "স্বয়ংপরীক্ষিত ব্যবহারকারী",
'filemover': "ফাইল স্থানান্তরকারী",
'reviewer': "নিরীক্ষক",
'suppress': "গোপনকারী",
'patroller': "পর্যবেক্ষক",
'rollbacker': "রোলব্যাকার",
'checkuser': "ব্যবহারকারী পরীক্ষক",
'event-organizer': "ইভেন্ট আয়োজক",
'interface-admin': "ইন্টারফেস প্রশাসক",
'flood': "বট ব্যবহারকারী",
'temp': "অস্থায়ী ব্যবহারকারী",
};
var friendlyGroups = [];
for(var i = 0; i < groups.length; ++i) {
var s = groups[i];
var t = friendlyGroupNames.hasOwnProperty(s) ? friendlyGroupNames[s] : s;
if (t) {
if (groupPages.hasOwnProperty(s)) {
friendlyGroups.push("<a href=\"/wiki/" + encodeURIComponent( groupPages[s] ) + "\">" + t + "</a>");
} else {
friendlyGroups.push(t);
}
}
}
switch(friendlyGroups.length) {
case 0:
// ব্যবহারকারী কোনো বিশেষ অধিকারপ্রাপ্ত গোষ্ঠীর সদস্য নন।
// [[User:Svanslyck]]-এর অনুরোধে "registered user" করা হয়েছে।
// --PS 2010-05-16
// statusText += "ব্যবহারকারী";
if(blocked) {
statusText += "ব্যবহারকারী";
} else {
statusText += "নিবন্ধিত ব্যবহারকারী";
}
break;
case 1:
statusText += friendlyGroups[0];
break;
case 2:
statusText += friendlyGroups[0] + " এবং " + friendlyGroups[1];
break;
default:
statusText += friendlyGroups.slice(0, -1).join(", ") +
", এবং " + friendlyGroups[friendlyGroups.length - 1];
break;
}
}
// নিবন্ধনের তারিখ
if(registration) {
var firstLoggedUser = new Date("22:16, 7 September 2005"); // [[Special:Log/newusers]] প্রথম সক্রিয় হওয়ার সময়
if(registration >= firstLoggedUser) {
statusText += ", <a href='" + mw.config.get("wgScriptPath") +
"/index.php?title=Special:Log&type=newusers&dir=prev&limit=1&user=" +
et + "'>" + UserinfoJsFormatDateRel(registration) + " পুরোনো</a>";
} else {
statusText += ", <a href='" + mw.config.get("wgScriptPath") +
"/index.php?title=Special:ListUsers&limit=1&username=" +
et + "'>" + UserinfoJsFormatDateRel(registration) + " পুরোনো</a>";
}
}
// সম্পাদনা সংখ্যা
if(editcount !== null) {
statusText += ", " +
"<a href=\"//tools.wmflabs.org/xtools-ec/?user=" +
encodeURIComponent(user.name) +
"&project=bn.wikipedia.org&uselang=bn\">" +
UserinfoJsFormatQty(editcount, "টি সম্পাদনা", "টি সম্পাদনা") + "</a>";
}
// স্ট্যাটাসের শুরুতে উপযুক্ত বাংলা বাক্যাংশ যোগ করা হচ্ছে।
// ইংরেজির "A/An"-এর পরিবর্তে বাংলায় আলাদা article-এর প্রয়োজন নেই।
// স্ট্যাটাসের শেষে পূর্ণচ্ছেদ যোগ করা হচ্ছে।
statusText += ".";
// সর্বশেষ সম্পাদনা --PS 2010-06-27
// অবদানের পৃষ্ঠার লিংক যোগ করা হয়েছে --PS 2010-07-03
if(lastEdited) {
statusText += " সর্বশেষ সম্পাদনা করা হয়েছে <a href=\"" + mw.config.get("wgArticlePath").replace("$1", "Special:Contributions/" + encodeURIComponent(user.name)) + "\">" + UserinfoJsFormatDateRel(lastEdited) + " আগে</a>।";
}
// সঠিক লিঙ্গচিহ্ন দেখানো হচ্ছে
var fh = document.getElementById("firstHeading") ||
document.getElementById("section-0");
if(!fh) return; // যেমন, Minerva ব্যবহারকারী আলাপ পৃষ্ঠায়
// অবরুদ্ধ, নিবন্ধিত ও বেনামি ব্যবহারকারীদের জন্য শ্রেণি যোগ করা হচ্ছে
var newClasses = [];
if(blocked) {
newClasses.push("ps-blocked");
}
if(ipUser) {
newClasses.push("ps-anonymous");
} else if(invalid) {
newClasses.push("ps-invalid");
} else {
newClasses.push("ps-registered");
}
fh.className += (fh.className.length ? " " : "") + groups.map(function(s) {
return "ps-group-" + s;
}).concat(newClasses).join(" ");
var genderSpan = document.createElement("span");
genderSpan.id = "ps-gender-" + (gender || "unknown");
genderSpan.style.paddingLeft = "0.25em";
genderSpan.style.fontFamily = '"Lucida Grande", "Lucida Sans Unicode", "sans-serif"';
genderSpan.style.fontSize = "75%";
var genderSymbol;
switch(gender) {
case "male": genderSymbol = "\u2642"; break;
case "female": genderSymbol = "\u2640"; break;
default: genderSymbol = ""; break;
}
genderSpan.appendChild(document.createTextNode(genderSymbol));
fh.appendChild(genderSpan);
// এখন অন্যান্য তথ্য দেখানো হচ্ছে। পদ্ধতিটি অপ্রচলিত হলেও কাজটি সম্পন্ন করে।
// tagline-এর পরে পূর্ণচ্ছেদ যোগ করা হয়েছে। --PS 2010-07-03
var ss = document.getElementById("siteSub");
if(!ss) {
ss = document.createElement("div");
ss.id = "siteSub";
ss.innerHTML = "উইকিপিডিয়া, মুক্ত বিশ্বকোষ থেকে";
var bc = document.getElementById("bodyContent");
bc.insertBefore(ss, bc.firstChild);
}
ss.innerHTML = '<span id="ps-userinfo">' + statusText + '</span> ' + ss.innerHTML + '।';
ss.style.display = "block";
});
}); });
}
74h7slzr4dfasnckh9a2amkkq6zlexd
757900
757899
2026-08-20T15:40:53Z
Borhan
54019
757900
javascript
text/javascript
function UserinfoJsFormatQty(qty, singular, plural) {
return String(qty).replace(/\d{1,3}(?=(\d{3})+(?!\d))/g, "$&,") + "\u00a0" + (qty == 1 ? singular : plural);
}
function UserinfoJsFormatDateRel(old) {
// নিচের কোডটি সঠিকভাবে কাজ করার জন্য কম্পিউটারের ঘড়ি সঠিক সময়ে সেট করা থাকতে হবে।
var age = new Date().getTime() - old.getTime();
var ageNumber, ageRemainder, ageWords;
if(age < 60000) {
// এক মিনিটের কম পুরোনো
ageNumber = Math.floor(age / 1000);
ageWords = UserinfoJsFormatQty(ageNumber, "সেকেন্ড", "সেকেন্ড");
} else if(age < 3600000) {
// এক ঘণ্টার কম পুরোনো
ageNumber = Math.floor(age / 60000);
ageWords = UserinfoJsFormatQty(ageNumber, "মিনিট", "মিনিট");
} else if(age < 86400000) {
// এক দিনের কম পুরোনো
ageNumber = Math.floor(age / 3600000);
ageWords = UserinfoJsFormatQty(ageNumber, "ঘণ্টা", "ঘণ্টা");
ageRemainder = Math.floor((age - ageNumber * 3600000) / 60000);
} else if(age < 604800000) {
// এক সপ্তাহের কম পুরোনো
ageNumber = Math.floor(age / 86400000);
ageWords = UserinfoJsFormatQty(ageNumber, "দিন", "দিন");
} else if(age < 2592000000) {
// এক মাসের কম পুরোনো
ageNumber = Math.floor(age / 604800000);
ageWords = UserinfoJsFormatQty(ageNumber, "সপ্তাহ", "সপ্তাহ");
} else if(age < 31536000000) {
// এক বছরের কম পুরোনো
ageNumber = Math.floor(age / 2592000000);
ageWords = UserinfoJsFormatQty(ageNumber, "মাস", "মাস");
} else {
// এক বছর বা তার বেশি পুরোনো
ageNumber = Math.floor(age / 31536000000);
ageWords = UserinfoJsFormatQty(ageNumber, "বছর", "বছর");
ageRemainder =
Math.floor((age - ageNumber * 31536000000) / 2592000000);
if(ageRemainder) {
ageWords += " " +
UserinfoJsFormatQty(ageRemainder, "মাস", "মাস");
}
}
return ageWords;
}
// ব্যবহারকারী বা ব্যবহারকারী আলাপ পাতায় থাকলে এবং সেটি কোনো উপপাতা না হলে...
if((mw.config.get("wgNamespaceNumber") == 2 || mw.config.get("wgNamespaceNumber") == 3) && !(/\//.test(mw.config.get("wgTitle")))) {
// একটি হুক যোগ করা হচ্ছে...
mw.loader.using( ['mediawiki.util'], function() { $(function(){
// এপিআইয়ের মাধ্যমে ব্যবহারকারীর তথ্য চাওয়া হচ্ছে।
// মনে রাখতে হবে, এই তথ্য সর্বোচ্চ ৫ মিনিট পুরোনো হতে পারে।
var et = encodeURIComponent(mw.config.get("wgTitle"));
$.getJSON(mw.config.get("wgScriptPath") + "/api.php?format=json&action=query&list=users|usercontribs&usprop=blockinfo|editcount|gender|registration|groups&uclimit=1&ucprop=timestamp&ususers=" + et + "&ucuser=" + et + "&meta=allmessages&refix=grouppage-&amincludelocal=1")
.done(function(query) {
// উত্তর পাওয়ার পর প্রয়োজনীয় তথ্য বের করা হচ্ছে।
if(!query.query) { return; }
query = query.query;
var user, invalid, missing, groups, groupPages={}, editcount, registration, blocked, gender, lastEdited;
try {
user = query.users[0];
invalid = typeof user.invalid != "undefined";
missing = typeof user.missing != "undefined";
groups = (typeof user.groups == "object") ? user.groups : [];
editcount = (typeof user.editcount == "number") ? user.editcount : null;
registration = (typeof user.registration == "string") ?
new Date(user.registration) : null;
blocked = typeof user.blockedby != "undefined";
gender = (typeof user.gender == "string") ? user.gender : null;
lastEdited = (typeof query.usercontribs[0] == "object") &&
(typeof query.usercontribs[0].timestamp == "string") ?
new Date(query.usercontribs[0].timestamp) : null;
for (var am=0; am<query.allmessages.length; am++) {
groupPages[query.allmessages[am]["name"].replace("grouppage-","")] = query.allmessages[am]["*"].replace("{{ns:project}}:","উইকিপিডিয়া:");
}
} catch(e) {
return; // সার্ভার কোনো ত্রুটি (যেমন: ব্যবহারকারীর নামের বিন্যাস ভুল) ফেরত দিলে তেমন কিছু করার নেই।
}
// পর্দায় প্রদর্শনের জন্য তথ্য বিন্যাস করা হচ্ছে
var statusText = "";
var ipUser = false;
var ipv4User = false;
var ipv6User = false;
// ব্যবহারকারীর অবস্থা
if(blocked) {
statusText += "<a href=\"" + mw.config.get("wgScriptPath") +
"/index.php?title=Special:Log&page=" +
encodeURIComponent(mw.config.get("wgFormattedNamespaces")[2] + ":" + user.name) +
"&type=block\">অবরুদ্ধ</a> ";
}
if (missing) {
statusText += "ব্যবহারকারী নাম নিবন্ধিত নয়";
} else if (invalid) {
ipv4User = mw.util.isIPv4Address(user.name);
ipv6User = mw.util.isIPv6Address(user.name);
ipUser = ipv4User || ipv6User;
if (ipv4User) {
statusText += "বেনামি আইপিভি৪ ব্যবহারকারী";
} else if (ipv6User) {
statusText += "বেনামি আইপিভি৬ ব্যবহারকারী";
} else {
statusText += "অবৈধ ব্যবহারকারী নাম";
}
} else {
// ব্যবহারকারী নিবন্ধিত এবং কোনো বিশেষ অধিকারপ্রাপ্ত দলের সদস্য হতে পারেন। নিচে ব্যবহারকারী দলগুলোর তালিকা রয়েছে।
var friendlyGroupNames = {
'*': false,
'user': false,
'autoconfirmed': false,
'sysop': "প্রশাসক",
'bot': "বট",
'bureaucrat': "ব্যুরোক্র্যাট",
'steward': "স্টুয়ার্ড",
'accountcreator': "অ্যাকাউন্ট স্রষ্টা",
'import': "আমদানিকারক",
'transwiki': "ট্রান্সউইকি আমদানিকারক",
'ipblock-exempt': "আইপি বাধামুক্ত",
'confirmed': "নিশ্চিতকৃত ব্যবহারকারী",
'autopatrolled': "স্বয়ংক্রিয় পরীক্ষক",
'autoreview': "স্বয়ংপরীক্ষিত ব্যবহারকারী",
'filemover': "ফাইল স্থানান্তরকারী",
'reviewer': "নিরীক্ষক",
'suppress': "গোপনকারী",
'patroller': "পর্যবেক্ষক",
'rollbacker': "রোলব্যাকার",
'checkuser': "ব্যবহারকারী পরীক্ষক",
'event-organizer': "ইভেন্ট আয়োজক",
'interface-admin': "ইন্টারফেস প্রশাসক",
'flood': "বট ব্যবহারকারী",
'temp': "অস্থায়ী ব্যবহারকারী",
};
var friendlyGroups = [];
for(var i = 0; i < groups.length; ++i) {
var s = groups[i];
var t = friendlyGroupNames.hasOwnProperty(s) ? friendlyGroupNames[s] : s;
if (t) {
if (groupPages.hasOwnProperty(s)) {
friendlyGroups.push("<a href=\"/wiki/" + encodeURIComponent( groupPages[s] ) + "\">" + t + "</a>");
} else {
friendlyGroups.push(t);
}
}
}
switch(friendlyGroups.length) {
case 0:
// ব্যবহারকারী কোনো বিশেষ অধিকারপ্রাপ্ত দলের সদস্য নন।
// statusText += "ব্যবহারকারী";
if(blocked) {
statusText += "ব্যবহারকারী";
} else {
statusText += "নিবন্ধিত ব্যবহারকারী";
}
break;
case 1:
statusText += friendlyGroups[0];
break;
case 2:
statusText += friendlyGroups[0] + " এবং " + friendlyGroups[1];
break;
default:
statusText += friendlyGroups.slice(0, -1).join(", ") +
", এবং " + friendlyGroups[friendlyGroups.length - 1];
break;
}
}
// নিবন্ধনের তারিখ
if(registration) {
var firstLoggedUser = new Date("22:16, 7 September 2005");
if(registration >= firstLoggedUser) {
statusText += ", <a href='" + mw.config.get("wgScriptPath") +
"/index.php?title=Special:Log&type=newusers&dir=prev&limit=1&user=" +
et + "'>" + UserinfoJsFormatDateRel(registration) + " পুরোনো</a>";
} else {
statusText += ", <a href='" + mw.config.get("wgScriptPath") +
"/index.php?title=Special:ListUsers&limit=1&username=" +
et + "'>" + UserinfoJsFormatDateRel(registration) + " পুরোনো</a>";
}
}
// সম্পাদনা সংখ্যা
if(editcount !== null) {
statusText += ", " +
"<a href=\"//tools.wmflabs.org/xtools-ec/?user=" +
encodeURIComponent(user.name) +
"&project=bn.wikipedia.org&uselang=bn\">" +
UserinfoJsFormatQty(editcount, "টি সম্পাদনা", "টি সম্পাদনা") + "</a>";
}
// অবস্থার শেষে দাঁড়ি যোগ
statusText += "।";
// সর্বশেষ সম্পাদনা
// অবদান পাতার সংযোগ প্রদান
if(lastEdited) {
statusText += " সর্বশেষ সম্পাদনা করেছেন <a href=\"" + mw.config.get("wgArticlePath").replace("$1", "Special:Contributions/" + encodeURIComponent(user.name)) + "\">" + UserinfoJsFormatDateRel(lastEdited) + " আগে</a>।";
}
// সঠিক লিঙ্গচিহ্ন প্রদর্শন
var fh = document.getElementById("firstHeading") ||
document.getElementById("section-0");
if(!fh) return;
// অবরুদ্ধ, নিবন্ধিত ও বেনামি ব্যবহারকারীদের জন্য শ্রেণি যোগ
var newClasses = [];
if(blocked) {
newClasses.push("ps-blocked");
}
if(ipUser) {
newClasses.push("ps-anonymous");
} else if(invalid) {
newClasses.push("ps-invalid");
} else {
newClasses.push("ps-registered");
}
fh.className += (fh.className.length ? " " : "") + groups.map(function(s) {
return "ps-group-" + s;
}).concat(newClasses).join(" ");
var genderSpan = document.createElement("span");
genderSpan.id = "ps-gender-" + (gender || "unknown");
genderSpan.style.paddingLeft = "0.25em";
genderSpan.style.fontFamily = '"Lucida Grande", "Lucida Sans Unicode", "sans-serif"';
genderSpan.style.fontSize = "75%";
var genderSymbol;
switch(gender) {
case "male": genderSymbol = "\u2642"; break;
case "female": genderSymbol = "\u2640"; break;
default: genderSymbol = ""; break;
}
genderSpan.appendChild(document.createTextNode(genderSymbol));
fh.appendChild(genderSpan);
// অন্যান্য তথ্য
var ss = document.getElementById("siteSub");
if(!ss) {
ss = document.createElement("div");
ss.id = "siteSub";
ss.innerHTML = "উইকিপিডিয়া, মুক্ত বিশ্বকোষ থেকে";
var bc = document.getElementById("bodyContent");
bc.insertBefore(ss, bc.firstChild);
}
ss.innerHTML = '<span id="ps-userinfo">' + statusText + '</span> ' + ss.innerHTML + '।';
ss.style.display = "block";
});
}); });
}
iddkq9u829zwx5aphhd0nzms7a5hscv
757901
757900
2026-08-20T15:58:24Z
Borhan
54019
757901
javascript
text/javascript
function UserinfoJsFormatQty(qty, singular, plural) {
var number = String(qty).replace(/\d{1,3}(?=(\d{3})+(?!\d))/g, "$&,");
number = number.replace(/\d/g, function(digit) {
return "০১২৩৪৫৬৭৮৯"[digit];
});
return number + "\u00a0" + (qty == 1 ? singular : plural);
}
function UserinfoJsFormatDateRel(old) {
// নিচের কোডটি সঠিকভাবে কাজ করার জন্য কম্পিউটারের ঘড়ি সঠিক সময়ে সেট করা থাকতে হবে।
var age = new Date().getTime() - old.getTime();
var ageNumber, ageRemainder, ageWords;
if(age < 60000) {
// এক মিনিটের কম পুরোনো
ageNumber = Math.floor(age / 1000);
ageWords = UserinfoJsFormatQty(ageNumber, "সেকেন্ড", "সেকেন্ড");
} else if(age < 3600000) {
// এক ঘণ্টার কম পুরোনো
ageNumber = Math.floor(age / 60000);
ageWords = UserinfoJsFormatQty(ageNumber, "মিনিট", "মিনিট");
} else if(age < 86400000) {
// এক দিনের কম পুরোনো
ageNumber = Math.floor(age / 3600000);
ageWords = UserinfoJsFormatQty(ageNumber, "ঘণ্টা", "ঘণ্টা");
ageRemainder = Math.floor((age - ageNumber * 3600000) / 60000);
} else if(age < 604800000) {
// এক সপ্তাহের কম পুরোনো
ageNumber = Math.floor(age / 86400000);
ageWords = UserinfoJsFormatQty(ageNumber, "দিন", "দিন");
} else if(age < 2592000000) {
// এক মাসের কম পুরোনো
ageNumber = Math.floor(age / 604800000);
ageWords = UserinfoJsFormatQty(ageNumber, "সপ্তাহ", "সপ্তাহ");
} else if(age < 31536000000) {
// এক বছরের কম পুরোনো
ageNumber = Math.floor(age / 2592000000);
ageWords = UserinfoJsFormatQty(ageNumber, "মাস", "মাস");
} else {
// এক বছর বা তার বেশি পুরোনো
ageNumber = Math.floor(age / 31536000000);
ageWords = UserinfoJsFormatQty(ageNumber, "বছর", "বছর");
ageRemainder =
Math.floor((age - ageNumber * 31536000000) / 2592000000);
if(ageRemainder) {
ageWords += " " +
UserinfoJsFormatQty(ageRemainder, "মাস", "মাস");
}
}
return ageWords;
}
// ব্যবহারকারী বা ব্যবহারকারী আলাপ পাতায় থাকলে এবং সেটি কোনো উপপাতা না হলে...
if((mw.config.get("wgNamespaceNumber") == 2 || mw.config.get("wgNamespaceNumber") == 3) && !(/\//.test(mw.config.get("wgTitle")))) {
// একটি হুক যোগ করা হচ্ছে...
mw.loader.using( ['mediawiki.util'], function() { $(function(){
// এপিআইয়ের মাধ্যমে ব্যবহারকারীর তথ্য চাওয়া হচ্ছে।
// মনে রাখতে হবে, এই তথ্য সর্বোচ্চ ৫ মিনিট পুরোনো হতে পারে।
var et = encodeURIComponent(mw.config.get("wgTitle"));
$.getJSON(mw.config.get("wgScriptPath") + "/api.php?format=json&action=query&list=users|usercontribs&usprop=blockinfo|editcount|gender|registration|groups&uclimit=1&ucprop=timestamp&ususers=" + et + "&ucuser=" + et + "&meta=allmessages&refix=grouppage-&amincludelocal=1")
.done(function(query) {
// উত্তর পাওয়ার পর প্রয়োজনীয় তথ্য বের করা হচ্ছে।
if(!query.query) { return; }
query = query.query;
var user, invalid, missing, groups, groupPages={}, editcount, registration, blocked, gender, lastEdited;
try {
user = query.users[0];
invalid = typeof user.invalid != "undefined";
missing = typeof user.missing != "undefined";
groups = (typeof user.groups == "object") ? user.groups : [];
editcount = (typeof user.editcount == "number") ? user.editcount : null;
registration = (typeof user.registration == "string") ?
new Date(user.registration) : null;
blocked = typeof user.blockedby != "undefined";
gender = (typeof user.gender == "string") ? user.gender : null;
lastEdited = (typeof query.usercontribs[0] == "object") &&
(typeof query.usercontribs[0].timestamp == "string") ?
new Date(query.usercontribs[0].timestamp) : null;
for (var am=0; am<query.allmessages.length; am++) {
groupPages[query.allmessages[am]["name"].replace("grouppage-","")] = query.allmessages[am]["*"].replace("{{ns:project}}:","উইকিপিডিয়া:");
}
} catch(e) {
return; // সার্ভার কোনো ত্রুটি (যেমন: ব্যবহারকারীর নামের বিন্যাস ভুল) ফেরত দিলে তেমন কিছু করার নেই।
}
// পর্দায় প্রদর্শনের জন্য তথ্য বিন্যাস করা হচ্ছে
var statusText = "";
var ipUser = false;
var ipv4User = false;
var ipv6User = false;
// ব্যবহারকারীর অবস্থা
if(blocked) {
statusText += "<a href=\"" + mw.config.get("wgScriptPath") +
"/index.php?title=Special:Log&page=" +
encodeURIComponent(mw.config.get("wgFormattedNamespaces")[2] + ":" + user.name) +
"&type=block\">অবরুদ্ধ</a> ";
}
if (missing) {
statusText += "ব্যবহারকারী নাম নিবন্ধিত নয়";
} else if (invalid) {
ipv4User = mw.util.isIPv4Address(user.name);
ipv6User = mw.util.isIPv6Address(user.name);
ipUser = ipv4User || ipv6User;
if (ipv4User) {
statusText += "বেনামি আইপিভি৪ ব্যবহারকারী";
} else if (ipv6User) {
statusText += "বেনামি আইপিভি৬ ব্যবহারকারী";
} else {
statusText += "অবৈধ ব্যবহারকারী নাম";
}
} else {
// ব্যবহারকারী নিবন্ধিত এবং কোনো বিশেষ অধিকারপ্রাপ্ত দলের সদস্য হতে পারেন। নিচে ব্যবহারকারী দলগুলোর তালিকা রয়েছে।
var friendlyGroupNames = {
'*': false,
'user': false,
'autoconfirmed': false,
'sysop': "প্রশাসক",
'bot': "বট",
'bureaucrat': "ব্যুরোক্র্যাট",
'steward': "স্টুয়ার্ড",
'accountcreator': "অ্যাকাউন্ট স্রষ্টা",
'import': "আমদানিকারক",
'transwiki': "ট্রান্সউইকি আমদানিকারক",
'ipblock-exempt': "আইপি বাধামুক্ত",
'confirmed': "নিশ্চিতকৃত ব্যবহারকারী",
'autopatrolled': "স্বয়ংক্রিয় পরীক্ষক",
'autoreview': "স্বয়ংপরীক্ষিত ব্যবহারকারী",
'filemover': "ফাইল স্থানান্তরকারী",
'reviewer': "নিরীক্ষক",
'suppress': "গোপনকারী",
'patroller': "পর্যবেক্ষক",
'rollbacker': "রোলব্যাকার",
'checkuser': "ব্যবহারকারী পরীক্ষক",
'event-organizer': "ইভেন্ট আয়োজক",
'interface-admin': "ইন্টারফেস প্রশাসক",
'flood': "বট ব্যবহারকারী",
'temp': "অস্থায়ী ব্যবহারকারী",
};
var friendlyGroups = [];
for(var i = 0; i < groups.length; ++i) {
var s = groups[i];
var t = friendlyGroupNames.hasOwnProperty(s) ? friendlyGroupNames[s] : s;
if (t) {
if (groupPages.hasOwnProperty(s)) {
friendlyGroups.push("<a href=\"/wiki/" + encodeURIComponent( groupPages[s] ) + "\">" + t + "</a>");
} else {
friendlyGroups.push(t);
}
}
}
switch(friendlyGroups.length) {
case 0:
// ব্যবহারকারী কোনো বিশেষ অধিকারপ্রাপ্ত দলের সদস্য নন।
// statusText += "ব্যবহারকারী";
if(blocked) {
statusText += "ব্যবহারকারী";
} else {
statusText += "নিবন্ধিত ব্যবহারকারী";
}
break;
case 1:
statusText += friendlyGroups[0];
break;
case 2:
statusText += friendlyGroups[0] + " এবং " + friendlyGroups[1];
break;
default:
statusText += friendlyGroups.slice(0, -1).join(", ") +
", এবং " + friendlyGroups[friendlyGroups.length - 1];
break;
}
}
// নিবন্ধনের তারিখ
if(registration) {
var firstLoggedUser = new Date("22:16, 7 September 2005");
if(registration >= firstLoggedUser) {
statusText += ", <a href='" + mw.config.get("wgScriptPath") +
"/index.php?title=Special:Log&type=newusers&dir=prev&limit=1&user=" +
et + "'>" + UserinfoJsFormatDateRel(registration) + " পুরোনো</a>";
} else {
statusText += ", <a href='" + mw.config.get("wgScriptPath") +
"/index.php?title=Special:ListUsers&limit=1&username=" +
et + "'>" + UserinfoJsFormatDateRel(registration) + " পুরোনো</a>";
}
}
// সম্পাদনা সংখ্যা
if(editcount !== null) {
statusText += ", " +
"<a href=\"//tools.wmflabs.org/xtools-ec/?user=" +
encodeURIComponent(user.name) +
"&project=bn.wikipedia.org&uselang=bn\">" +
UserinfoJsFormatQty(editcount, "টি সম্পাদনা", "টি সম্পাদনা") + "</a>";
}
// অবস্থার শেষে দাঁড়ি যোগ
statusText += "।";
// সর্বশেষ সম্পাদনা
// অবদান পাতার সংযোগ প্রদান
if(lastEdited) {
statusText += " সর্বশেষ সম্পাদনা করেছেন <a href=\"" + mw.config.get("wgArticlePath").replace("$1", "Special:Contributions/" + encodeURIComponent(user.name)) + "\">" + UserinfoJsFormatDateRel(lastEdited) + " আগে</a>।";
}
// সঠিক লিঙ্গচিহ্ন প্রদর্শন
var fh = document.getElementById("firstHeading") ||
document.getElementById("section-0");
if(!fh) return;
// অবরুদ্ধ, নিবন্ধিত ও বেনামি ব্যবহারকারীদের জন্য শ্রেণি যোগ
var newClasses = [];
if(blocked) {
newClasses.push("ps-blocked");
}
if(ipUser) {
newClasses.push("ps-anonymous");
} else if(invalid) {
newClasses.push("ps-invalid");
} else {
newClasses.push("ps-registered");
}
fh.className += (fh.className.length ? " " : "") + groups.map(function(s) {
return "ps-group-" + s;
}).concat(newClasses).join(" ");
var genderSpan = document.createElement("span");
genderSpan.id = "ps-gender-" + (gender || "unknown");
genderSpan.style.paddingLeft = "0.25em";
genderSpan.style.fontFamily = '"Lucida Grande", "Lucida Sans Unicode", "sans-serif"';
genderSpan.style.fontSize = "75%";
var genderSymbol;
switch(gender) {
case "male": genderSymbol = "\u2642"; break;
case "female": genderSymbol = "\u2640"; break;
default: genderSymbol = ""; break;
}
genderSpan.appendChild(document.createTextNode(genderSymbol));
fh.appendChild(genderSpan);
// অন্যান্য তথ্য
var ss = document.getElementById("siteSub");
if(!ss) {
ss = document.createElement("div");
ss.id = "siteSub";
ss.innerHTML = "উইকিপিডিয়া, মুক্ত বিশ্বকোষ থেকে";
var bc = document.getElementById("bodyContent");
bc.insertBefore(ss, bc.firstChild);
}
ss.innerHTML = '<span id="ps-userinfo">' + statusText + '</span> ' + ss.innerHTML;
ss.style.display = "block";
});
}); });
}
g93w3fmmh2np8omjixvwdw7inqa4fus
757902
757901
2026-08-20T16:01:35Z
Borhan
54019
757902
javascript
text/javascript
function UserinfoJsFormatQty(qty, singular, plural) {
var number = String(qty).replace(/\d{1,3}(?=(\d{3})+(?!\d))/g, "$&,");
number = number.replace(/\d/g, function(digit) {
return "০১২৩৪৫৬৭৮৯"[digit];
});
return number + "\u00a0" + (qty == 1 ? singular : plural);
}
function UserinfoJsFormatDateRel(old) {
// নিচের কোডটি সঠিকভাবে কাজ করার জন্য কম্পিউটারের ঘড়ি সঠিক সময়ে সেট করা থাকতে হবে।
var age = new Date().getTime() - old.getTime();
var ageNumber, ageRemainder, ageWords;
if(age < 60000) {
// এক মিনিটের কম পুরোনো
ageNumber = Math.floor(age / 1000);
ageWords = UserinfoJsFormatQty(ageNumber, "সেকেন্ড", "সেকেন্ড");
} else if(age < 3600000) {
// এক ঘণ্টার কম পুরোনো
ageNumber = Math.floor(age / 60000);
ageWords = UserinfoJsFormatQty(ageNumber, "মিনিট", "মিনিট");
} else if(age < 86400000) {
// এক দিনের কম পুরোনো
ageNumber = Math.floor(age / 3600000);
ageWords = UserinfoJsFormatQty(ageNumber, "ঘণ্টা", "ঘণ্টা");
ageRemainder = Math.floor((age - ageNumber * 3600000) / 60000);
} else if(age < 604800000) {
// এক সপ্তাহের কম পুরোনো
ageNumber = Math.floor(age / 86400000);
ageWords = UserinfoJsFormatQty(ageNumber, "দিন", "দিন");
} else if(age < 2592000000) {
// এক মাসের কম পুরোনো
ageNumber = Math.floor(age / 604800000);
ageWords = UserinfoJsFormatQty(ageNumber, "সপ্তাহ", "সপ্তাহ");
} else if(age < 31536000000) {
// এক বছরের কম পুরোনো
ageNumber = Math.floor(age / 2592000000);
ageWords = UserinfoJsFormatQty(ageNumber, "মাস", "মাস");
} else {
// এক বছর বা তার বেশি পুরোনো
ageNumber = Math.floor(age / 31536000000);
ageWords = UserinfoJsFormatQty(ageNumber, "বছর", "বছর");
ageRemainder =
Math.floor((age - ageNumber * 31536000000) / 2592000000);
if(ageRemainder) {
ageWords += " " +
UserinfoJsFormatQty(ageRemainder, "মাস", "মাস");
}
}
return ageWords;
}
// ব্যবহারকারী বা ব্যবহারকারী আলাপ পাতায় থাকলে এবং সেটি কোনো উপপাতা না হলে...
if((mw.config.get("wgNamespaceNumber") == 2 || mw.config.get("wgNamespaceNumber") == 3) && !(/\//.test(mw.config.get("wgTitle")))) {
// একটি হুক যোগ করা হচ্ছে...
mw.loader.using( ['mediawiki.util'], function() { $(function(){
// এপিআইয়ের মাধ্যমে ব্যবহারকারীর তথ্য চাওয়া হচ্ছে।
// মনে রাখতে হবে, এই তথ্য সর্বোচ্চ ৫ মিনিট পুরোনো হতে পারে।
var et = encodeURIComponent(mw.config.get("wgTitle"));
$.getJSON(mw.config.get("wgScriptPath") + "/api.php?format=json&action=query&list=users|usercontribs&usprop=blockinfo|editcount|registration|groups&uclimit=1&ucprop=timestamp&ususers=" + et + "&ucuser=" + et + "&meta=allmessages&refix=grouppage-&amincludelocal=1")
.done(function(query) {
// উত্তর পাওয়ার পর প্রয়োজনীয় তথ্য বের করা হচ্ছে।
if(!query.query) { return; }
query = query.query;
var user, invalid, missing, groups, groupPages={}, editcount, registration, blocked, lastEdited;
try {
user = query.users[0];
invalid = typeof user.invalid != "undefined";
missing = typeof user.missing != "undefined";
groups = (typeof user.groups == "object") ? user.groups : [];
editcount = (typeof user.editcount == "number") ? user.editcount : null;
registration = (typeof user.registration == "string") ?
new Date(user.registration) : null;
blocked = typeof user.blockedby != "undefined";
lastEdited = (typeof query.usercontribs[0] == "object") &&
(typeof query.usercontribs[0].timestamp == "string") ?
new Date(query.usercontribs[0].timestamp) : null;
for (var am=0; am<query.allmessages.length; am++) {
groupPages[query.allmessages[am]["name"].replace("grouppage-","")] = query.allmessages[am]["*"].replace("{{ns:project}}:","উইকিপিডিয়া:");
}
} catch(e) {
return; // সার্ভার কোনো ত্রুটি (যেমন: ব্যবহারকারীর নামের বিন্যাস ভুল) ফেরত দিলে তেমন কিছু করার নেই।
}
// পর্দায় প্রদর্শনের জন্য তথ্য বিন্যাস করা হচ্ছে
var statusText = "";
var ipUser = false;
var ipv4User = false;
var ipv6User = false;
// ব্যবহারকারীর অবস্থা
if(blocked) {
statusText += "<a href=\"" + mw.config.get("wgScriptPath") +
"/index.php?title=Special:Log&page=" +
encodeURIComponent(mw.config.get("wgFormattedNamespaces")[2] + ":" + user.name) +
"&type=block\">অবরুদ্ধ</a> ";
}
if (missing) {
statusText += "ব্যবহারকারী নাম নিবন্ধিত নয়";
} else if (invalid) {
ipv4User = mw.util.isIPv4Address(user.name);
ipv6User = mw.util.isIPv6Address(user.name);
ipUser = ipv4User || ipv6User;
if (ipv4User) {
statusText += "বেনামি আইপিভি৪ ব্যবহারকারী";
} else if (ipv6User) {
statusText += "বেনামি আইপিভি৬ ব্যবহারকারী";
} else {
statusText += "অবৈধ ব্যবহারকারী নাম";
}
} else {
// ব্যবহারকারী নিবন্ধিত এবং কোনো বিশেষ অধিকারপ্রাপ্ত দলের সদস্য হতে পারেন। নিচে ব্যবহারকারী দলগুলোর তালিকা রয়েছে।
var friendlyGroupNames = {
'*': false,
'user': false,
'autoconfirmed': false,
'sysop': "প্রশাসক",
'bot': "বট",
'bureaucrat': "ব্যুরোক্র্যাট",
'steward': "স্টুয়ার্ড",
'accountcreator': "অ্যাকাউন্ট স্রষ্টা",
'import': "আমদানিকারক",
'transwiki': "ট্রান্সউইকি আমদানিকারক",
'ipblock-exempt': "আইপি বাধামুক্ত",
'confirmed': "নিশ্চিতকৃত ব্যবহারকারী",
'autopatrolled': "স্বয়ংক্রিয় পরীক্ষক",
'autoreview': "স্বয়ংপরীক্ষিত ব্যবহারকারী",
'filemover': "ফাইল স্থানান্তরকারী",
'reviewer': "নিরীক্ষক",
'suppress': "গোপনকারী",
'patroller': "পর্যবেক্ষক",
'rollbacker': "রোলব্যাকার",
'checkuser': "ব্যবহারকারী পরীক্ষক",
'event-organizer': "ইভেন্ট আয়োজক",
'interface-admin': "ইন্টারফেস প্রশাসক",
'flood': "বট ব্যবহারকারী",
'temp': "অস্থায়ী ব্যবহারকারী",
};
var friendlyGroups = [];
for(var i = 0; i < groups.length; ++i) {
var s = groups[i];
var t = friendlyGroupNames.hasOwnProperty(s) ? friendlyGroupNames[s] : s;
if (t) {
if (groupPages.hasOwnProperty(s)) {
friendlyGroups.push("<a href=\"/wiki/" + encodeURIComponent( groupPages[s] ) + "\">" + t + "</a>");
} else {
friendlyGroups.push(t);
}
}
}
switch(friendlyGroups.length) {
case 0:
// ব্যবহারকারী কোনো বিশেষ অধিকারপ্রাপ্ত দলের সদস্য নন।
// statusText += "ব্যবহারকারী";
if(blocked) {
statusText += "ব্যবহারকারী";
} else {
statusText += "নিবন্ধিত ব্যবহারকারী";
}
break;
case 1:
statusText += friendlyGroups[0];
break;
case 2:
statusText += friendlyGroups[0] + " এবং " + friendlyGroups[1];
break;
default:
statusText += friendlyGroups.slice(0, -1).join(", ") +
", এবং " + friendlyGroups[friendlyGroups.length - 1];
break;
}
}
// নিবন্ধনের তারিখ
if(registration) {
var firstLoggedUser = new Date("22:16, 7 September 2005");
if(registration >= firstLoggedUser) {
statusText += ", <a href='" + mw.config.get("wgScriptPath") +
"/index.php?title=Special:Log&type=newusers&dir=prev&limit=1&user=" +
et + "'>" + UserinfoJsFormatDateRel(registration) + " পুরোনো</a>";
} else {
statusText += ", <a href='" + mw.config.get("wgScriptPath") +
"/index.php?title=Special:ListUsers&limit=1&username=" +
et + "'>" + UserinfoJsFormatDateRel(registration) + " পুরোনো</a>";
}
}
// সম্পাদনা সংখ্যা
if(editcount !== null) {
statusText += ", " +
"<a href=\"//tools.wmflabs.org/xtools-ec/?user=" +
encodeURIComponent(user.name) +
"&project=bn.wikipedia.org&uselang=bn\">" +
UserinfoJsFormatQty(editcount, "টি সম্পাদনা", "টি সম্পাদনা") + "</a>";
}
// অবস্থার শেষে দাঁড়ি যোগ
statusText += "।";
// সর্বশেষ সম্পাদনা
// অবদান পাতার সংযোগ প্রদান
if(lastEdited) {
statusText += " সর্বশেষ সম্পাদনা করেছেন <a href=\"" + mw.config.get("wgArticlePath").replace("$1", "Special:Contributions/" + encodeURIComponent(user.name)) + "\">" + UserinfoJsFormatDateRel(lastEdited) + " আগে</a>।";
}
// অবরুদ্ধ, নিবন্ধিত ও বেনামি ব্যবহারকারীদের জন্য শ্রেণি যোগ
var fh = document.getElementById("firstHeading") ||
document.getElementById("section-0");
if(!fh) return;
var newClasses = [];
if(blocked) {
newClasses.push("ps-blocked");
}
if(ipUser) {
newClasses.push("ps-anonymous");
} else if(invalid) {
newClasses.push("ps-invalid");
} else {
newClasses.push("ps-registered");
}
fh.className += (fh.className.length ? " " : "") + groups.map(function(s) {
return "ps-group-" + s;
}).concat(newClasses).join(" ");
// অন্যান্য তথ্য
var ss = document.getElementById("siteSub");
if(!ss) {
ss = document.createElement("div");
ss.id = "siteSub";
ss.innerHTML = "উইকিপিডিয়া, মুক্ত বিশ্বকোষ থেকে";
var bc = document.getElementById("bodyContent");
bc.insertBefore(ss, bc.firstChild);
}
ss.innerHTML = '<span id="ps-userinfo">' + statusText + '</span> ' + ss.innerHTML;
ss.style.display = "block";
});
}); });
}
rlxtt7eya1vir6htpm69dnrk9n2947k
757903
757902
2026-08-20T16:08:06Z
Borhan
54019
757903
javascript
text/javascript
function UserinfoJsFormatQty(qty, singular, plural) {
var number = String(qty).replace(/\d{1,3}(?=(\d{3})+(?!\d))/g, "$&,");
number = number.replace(/\d/g, function(digit) {
return "০১২৩৪৫৬৭৮৯"[digit];
});
return number + "\u00a0" + (qty == 1 ? singular : plural);
}
function UserinfoJsFormatDateRel(old) {
// নিচের কোডটি সঠিকভাবে কাজ করার জন্য কম্পিউটারের ঘড়ি সঠিক সময়ে সেট করা থাকতে হবে।
var age = new Date().getTime() - old.getTime();
var ageNumber, ageRemainder, ageWords;
if(age < 60000) {
// এক মিনিটের কম পুরোনো
ageNumber = Math.floor(age / 1000);
ageWords = UserinfoJsFormatQty(ageNumber, "সেকেন্ড", "সেকেন্ড");
} else if(age < 3600000) {
// এক ঘণ্টার কম পুরোনো
ageNumber = Math.floor(age / 60000);
ageWords = UserinfoJsFormatQty(ageNumber, "মিনিট", "মিনিট");
} else if(age < 86400000) {
// এক দিনের কম পুরোনো
ageNumber = Math.floor(age / 3600000);
ageWords = UserinfoJsFormatQty(ageNumber, "ঘণ্টা", "ঘণ্টা");
ageRemainder = Math.floor((age - ageNumber * 3600000) / 60000);
} else if(age < 604800000) {
// এক সপ্তাহের কম পুরোনো
ageNumber = Math.floor(age / 86400000);
ageWords = UserinfoJsFormatQty(ageNumber, "দিন", "দিন");
} else if(age < 2592000000) {
// এক মাসের কম পুরোনো
ageNumber = Math.floor(age / 604800000);
ageWords = UserinfoJsFormatQty(ageNumber, "সপ্তাহ", "সপ্তাহ");
} else if(age < 31536000000) {
// এক বছরের কম পুরোনো
ageNumber = Math.floor(age / 2592000000);
ageWords = UserinfoJsFormatQty(ageNumber, "মাস", "মাস");
} else {
// এক বছর বা তার বেশি পুরোনো
ageNumber = Math.floor(age / 31536000000);
ageWords = UserinfoJsFormatQty(ageNumber, "বছর", "বছর");
ageRemainder =
Math.floor((age - ageNumber * 31536000000) / 2592000000);
if(ageRemainder) {
ageWords += " " +
UserinfoJsFormatQty(ageRemainder, "মাস", "মাস");
}
}
return ageWords;
}
// ব্যবহারকারী বা ব্যবহারকারী আলাপ পাতায় থাকলে এবং সেটি কোনো উপপাতা না হলে...
if((mw.config.get("wgNamespaceNumber") == 2 || mw.config.get("wgNamespaceNumber") == 3) && !(/\//.test(mw.config.get("wgTitle")))) {
// একটি হুক যোগ করা হচ্ছে...
mw.loader.using( ['mediawiki.util'], function() { $(function(){
// এপিআইয়ের মাধ্যমে ব্যবহারকারীর তথ্য চাওয়া হচ্ছে।
// মনে রাখতে হবে, এই তথ্য সর্বোচ্চ ৫ মিনিট পুরোনো হতে পারে।
var et = encodeURIComponent(mw.config.get("wgTitle"));
$.getJSON(mw.config.get("wgScriptPath") + "/api.php?format=json&action=query&list=users|usercontribs&usprop=blockinfo|editcount|registration|groups&uclimit=1&ucprop=timestamp&ususers=" + et + "&ucuser=" + et + "&meta=allmessages&refix=grouppage-&amincludelocal=1")
.done(function(query) {
// উত্তর পাওয়ার পর প্রয়োজনীয় তথ্য বের করা হচ্ছে।
if(!query.query) { return; }
query = query.query;
var user, invalid, missing, groups, groupPages={}, editcount, registration, blocked, lastEdited;
try {
user = query.users[0];
invalid = typeof user.invalid != "undefined";
missing = typeof user.missing != "undefined";
groups = (typeof user.groups == "object") ? user.groups : [];
editcount = (typeof user.editcount == "number") ? user.editcount : null;
registration = (typeof user.registration == "string") ?
new Date(user.registration) : null;
blocked = typeof user.blockedby != "undefined";
lastEdited = (typeof query.usercontribs[0] == "object") &&
(typeof query.usercontribs[0].timestamp == "string") ?
new Date(query.usercontribs[0].timestamp) : null;
for (var am=0; am<query.allmessages.length; am++) {
groupPages[query.allmessages[am]["name"].replace("grouppage-","")] = query.allmessages[am]["*"].replace("{{ns:project}}:","উইকিপিডিয়া:");
}
} catch(e) {
return; // সার্ভার কোনো ত্রুটি (যেমন: ব্যবহারকারীর নামের বিন্যাস ভুল) ফেরত দিলে তেমন কিছু করার নেই।
}
// পর্দায় প্রদর্শনের জন্য তথ্য বিন্যাস করা হচ্ছে
var statusText = "";
var ipUser = false;
var ipv4User = false;
var ipv6User = false;
// ব্যবহারকারীর অবস্থা
if(blocked) {
statusText += "<a href=\"" + mw.config.get("wgScriptPath") +
"/index.php?title=Special:Log&page=" +
encodeURIComponent(mw.config.get("wgFormattedNamespaces")[2] + ":" + user.name) +
"&type=block\">অবরুদ্ধ</a> ";
}
if (missing) {
statusText += "ব্যবহারকারী নাম নিবন্ধিত নয়";
} else if (invalid) {
ipv4User = mw.util.isIPv4Address(user.name);
ipv6User = mw.util.isIPv6Address(user.name);
ipUser = ipv4User || ipv6User;
if (ipv4User) {
statusText += "বেনামি আইপিভি৪ ব্যবহারকারী";
} else if (ipv6User) {
statusText += "বেনামি আইপিভি৬ ব্যবহারকারী";
} else {
statusText += "অবৈধ ব্যবহারকারী নাম";
}
} else {
// ব্যবহারকারী নিবন্ধিত এবং কোনো বিশেষ অধিকারপ্রাপ্ত দলের সদস্য হতে পারেন। নিচে ব্যবহারকারী দলগুলোর তালিকা রয়েছে।
var friendlyGroupNames = {
'*': false,
'user': false,
'autoconfirmed': false,
'sysop': "প্রশাসক",
'bot': "বট",
'bureaucrat': "ব্যুরোক্র্যাট",
'steward': "স্টুয়ার্ড",
'accountcreator': "অ্যাকাউন্ট স্রষ্টা",
'import': "আমদানিকারক",
'transwiki': "ট্রান্সউইকি আমদানিকারক",
'ipblock-exempt': "আইপি বাধামুক্ত",
'confirmed': "নিশ্চিতকৃত ব্যবহারকারী",
'autopatrolled': "স্বয়ংক্রিয় পরীক্ষক",
'autoreview': "স্বয়ংপরীক্ষিত ব্যবহারকারী",
'filemover': "ফাইল স্থানান্তরকারী",
'reviewer': "নিরীক্ষক",
'suppress': "গোপনকারী",
'patroller': "পর্যবেক্ষক",
'rollbacker': "রোলব্যাকার",
'checkuser': "ব্যবহারকারী পরীক্ষক",
'event-organizer': "ইভেন্ট আয়োজক",
'interface-admin': "ইন্টারফেস প্রশাসক",
'flood': "বট ব্যবহারকারী",
'temp': "অস্থায়ী ব্যবহারকারী",
};
var friendlyGroups = [];
for(var i = 0; i < groups.length; ++i) {
var s = groups[i];
var t = friendlyGroupNames.hasOwnProperty(s) ? friendlyGroupNames[s] : s;
if (t) {
if (groupPages.hasOwnProperty(s)) {
friendlyGroups.push("<a href=\"/wiki/" + encodeURIComponent( groupPages[s] ) + "\">" + t + "</a>");
} else {
friendlyGroups.push(t);
}
}
}
switch(friendlyGroups.length) {
case 0:
// ব্যবহারকারী কোনো বিশেষ অধিকারপ্রাপ্ত দলের সদস্য নন।
// statusText += "ব্যবহারকারী";
if(blocked) {
statusText += "ব্যবহারকারী";
} else {
statusText += "নিবন্ধিত ব্যবহারকারী";
}
break;
case 1:
statusText += friendlyGroups[0];
break;
case 2:
statusText += friendlyGroups[0] + " এবং " + friendlyGroups[1];
break;
default:
statusText += friendlyGroups.slice(0, -1).join(", ") +
", এবং " + friendlyGroups[friendlyGroups.length - 1];
break;
}
}
// নিবন্ধনের তারিখ
if(registration) {
var firstLoggedUser = new Date("22:16, 7 September 2005");
if(registration >= firstLoggedUser) {
statusText += ", <a href='" + mw.config.get("wgScriptPath") +
"/index.php?title=Special:Log&type=newusers&dir=prev&limit=1&user=" +
et + "'>" + UserinfoJsFormatDateRel(registration) + " পুরোনো</a>";
} else {
statusText += ", <a href='" + mw.config.get("wgScriptPath") +
"/index.php?title=Special:ListUsers&limit=1&username=" +
et + "'>" + UserinfoJsFormatDateRel(registration) + " পুরোনো</a>";
}
}
// সম্পাদনা সংখ্যা
if(editcount !== null) {
statusText += ", " +
"<a href=\"//tools.wmflabs.org/xtools-ec/?user=" +
encodeURIComponent(user.name) +
"&project=bn.wikipedia.org&uselang=bn\">" +
UserinfoJsFormatQty(editcount, "টি সম্পাদনা", "টি সম্পাদনা").replace(/\u00a0/g, "") + "</a>";
}
// অবস্থার শেষে দাঁড়ি যোগ
statusText += "।";
// সর্বশেষ সম্পাদনা
// অবদান পাতার সংযোগ প্রদান
if(lastEdited) {
statusText += " সর্বশেষ সম্পাদনা করেছেন <a href=\"" + mw.config.get("wgArticlePath").replace("$1", "Special:Contributions/" + encodeURIComponent(user.name)) + "\">" + UserinfoJsFormatDateRel(lastEdited) + " আগে</a>।";
}
// অবরুদ্ধ, নিবন্ধিত ও বেনামি ব্যবহারকারীদের জন্য শ্রেণি যোগ
var fh = document.getElementById("firstHeading") ||
document.getElementById("section-0");
if(!fh) return;
var newClasses = [];
if(blocked) {
newClasses.push("ps-blocked");
}
if(ipUser) {
newClasses.push("ps-anonymous");
} else if(invalid) {
newClasses.push("ps-invalid");
} else {
newClasses.push("ps-registered");
}
fh.className += (fh.className.length ? " " : "") + groups.map(function(s) {
return "ps-group-" + s;
}).concat(newClasses).join(" ");
// অন্যান্য তথ্য
var ss = document.getElementById("siteSub");
if(!ss) {
ss = document.createElement("div");
ss.id = "siteSub";
ss.innerHTML = "উইকিপিডিয়া, মুক্ত বিশ্বকোষ থেকে";
var bc = document.getElementById("bodyContent");
bc.insertBefore(ss, bc.firstChild);
}
ss.innerHTML = '<span id="ps-userinfo">' + statusText + '</span> ' + ss.innerHTML;
ss.style.display = "block";
});
}); });
}
1f193upcqlur2wudmbc4kwzajlr1p8r
757904
757903
2026-08-20T16:17:16Z
Borhan
54019
757904
javascript
text/javascript
// User Info
// Translated and adapted from https://en.wikipedia.org/wiki/User:PleaseStand/userinfo.js
function UserinfoJsFormatQty(qty, singular, plural) {
var number = String(qty).replace(/\d{1,3}(?=(\d{3})+(?!\d))/g, "$&,");
number = number.replace(/\d/g, function(digit) {
return "০১২৩৪৫৬৭৮৯"[digit];
});
return number + "\u00a0" + (qty == 1 ? singular : plural);
}
function UserinfoJsFormatDateRel(old) {
// নিচের কোডটি সঠিকভাবে কাজ করার জন্য কম্পিউটারের ঘড়ি সঠিক সময়ে সেট করা থাকতে হবে।
var age = new Date().getTime() - old.getTime();
var ageNumber, ageRemainder, ageWords;
if(age < 60000) {
// এক মিনিটের কম পুরোনো
ageNumber = Math.floor(age / 1000);
ageWords = UserinfoJsFormatQty(ageNumber, "সেকেন্ড", "সেকেন্ড");
} else if(age < 3600000) {
// এক ঘণ্টার কম পুরোনো
ageNumber = Math.floor(age / 60000);
ageWords = UserinfoJsFormatQty(ageNumber, "মিনিট", "মিনিট");
} else if(age < 86400000) {
// এক দিনের কম পুরোনো
ageNumber = Math.floor(age / 3600000);
ageWords = UserinfoJsFormatQty(ageNumber, "ঘণ্টা", "ঘণ্টা");
ageRemainder = Math.floor((age - ageNumber * 3600000) / 60000);
} else if(age < 604800000) {
// এক সপ্তাহের কম পুরোনো
ageNumber = Math.floor(age / 86400000);
ageWords = UserinfoJsFormatQty(ageNumber, "দিন", "দিন");
} else if(age < 2592000000) {
// এক মাসের কম পুরোনো
ageNumber = Math.floor(age / 604800000);
ageWords = UserinfoJsFormatQty(ageNumber, "সপ্তাহ", "সপ্তাহ");
} else if(age < 31536000000) {
// এক বছরের কম পুরোনো
ageNumber = Math.floor(age / 2592000000);
ageWords = UserinfoJsFormatQty(ageNumber, "মাস", "মাস");
} else {
// এক বছর বা তার বেশি পুরোনো
ageNumber = Math.floor(age / 31536000000);
ageWords = UserinfoJsFormatQty(ageNumber, "বছর", "বছর");
ageRemainder =
Math.floor((age - ageNumber * 31536000000) / 2592000000);
if(ageRemainder) {
ageWords += " " +
UserinfoJsFormatQty(ageRemainder, "মাস", "মাস");
}
}
return ageWords;
}
// ব্যবহারকারী বা ব্যবহারকারী আলাপ পাতায় থাকলে এবং সেটি কোনো উপপাতা না হলে...
if((mw.config.get("wgNamespaceNumber") == 2 || mw.config.get("wgNamespaceNumber") == 3) && !(/\//.test(mw.config.get("wgTitle")))) {
// একটি হুক যোগ করা হচ্ছে...
mw.loader.using( ['mediawiki.util'], function() { $(function(){
// এপিআইয়ের মাধ্যমে ব্যবহারকারীর তথ্য চাওয়া হচ্ছে।
// মনে রাখতে হবে, এই তথ্য সর্বোচ্চ ৫ মিনিট পুরোনো হতে পারে।
var et = encodeURIComponent(mw.config.get("wgTitle"));
$.getJSON(mw.config.get("wgScriptPath") + "/api.php?format=json&action=query&list=users|usercontribs&usprop=blockinfo|editcount|registration|groups&uclimit=1&ucprop=timestamp&ususers=" + et + "&ucuser=" + et + "&meta=allmessages&refix=grouppage-&amincludelocal=1")
.done(function(query) {
// উত্তর পাওয়ার পর প্রয়োজনীয় তথ্য বের করা হচ্ছে।
if(!query.query) { return; }
query = query.query;
var user, invalid, missing, groups, groupPages={}, editcount, registration, blocked, lastEdited;
try {
user = query.users[0];
invalid = typeof user.invalid != "undefined";
missing = typeof user.missing != "undefined";
groups = (typeof user.groups == "object") ? user.groups : [];
editcount = (typeof user.editcount == "number") ? user.editcount : null;
registration = (typeof user.registration == "string") ?
new Date(user.registration) : null;
blocked = typeof user.blockedby != "undefined";
lastEdited = (typeof query.usercontribs[0] == "object") &&
(typeof query.usercontribs[0].timestamp == "string") ?
new Date(query.usercontribs[0].timestamp) : null;
for (var am=0; am<query.allmessages.length; am++) {
groupPages[query.allmessages[am]["name"].replace("grouppage-","")] = query.allmessages[am]["*"].replace("{{ns:project}}:","উইকিপিডিয়া:");
}
} catch(e) {
return; // সার্ভার কোনো ত্রুটি (যেমন: ব্যবহারকারীর নামের বিন্যাস ভুল) ফেরত দিলে তেমন কিছু করার নেই।
}
// পর্দায় প্রদর্শনের জন্য তথ্য বিন্যাস করা হচ্ছে
var statusText = "";
var ipUser = false;
var ipv4User = false;
var ipv6User = false;
// ব্যবহারকারীর অবস্থা
if(blocked) {
statusText += "<a href=\"" + mw.config.get("wgScriptPath") +
"/index.php?title=Special:Log&page=" +
encodeURIComponent(mw.config.get("wgFormattedNamespaces")[2] + ":" + user.name) +
"&type=block\">অবরুদ্ধ</a> ";
}
if (missing) {
statusText += "ব্যবহারকারী নাম নিবন্ধিত নয়";
} else if (invalid) {
ipv4User = mw.util.isIPv4Address(user.name);
ipv6User = mw.util.isIPv6Address(user.name);
ipUser = ipv4User || ipv6User;
if (ipv4User) {
statusText += "বেনামি আইপিভি৪ ব্যবহারকারী";
} else if (ipv6User) {
statusText += "বেনামি আইপিভি৬ ব্যবহারকারী";
} else {
statusText += "অবৈধ ব্যবহারকারী নাম";
}
} else {
// ব্যবহারকারী নিবন্ধিত এবং কোনো বিশেষ অধিকারপ্রাপ্ত দলের সদস্য হতে পারেন। নিচে ব্যবহারকারী দলগুলোর তালিকা রয়েছে।
var friendlyGroupNames = {
'*': false,
'user': false,
'autoconfirmed': false,
'sysop': "প্রশাসক",
'bot': "বট",
'bureaucrat': "ব্যুরোক্র্যাট",
'steward': "স্টুয়ার্ড",
'accountcreator': "অ্যাকাউন্ট স্রষ্টা",
'import': "আমদানিকারক",
'transwiki': "ট্রান্সউইকি আমদানিকারক",
'ipblock-exempt': "আইপি বাধামুক্ত",
'confirmed': "নিশ্চিতকৃত ব্যবহারকারী",
'autopatrolled': "স্বয়ংক্রিয় পরীক্ষক",
'autoreview': "স্বয়ংপরীক্ষিত ব্যবহারকারী",
'filemover': "ফাইল স্থানান্তরকারী",
'reviewer': "নিরীক্ষক",
'suppress': "গোপনকারী",
'patroller': "পর্যবেক্ষক",
'rollbacker': "রোলব্যাকার",
'checkuser': "ব্যবহারকারী পরীক্ষক",
'event-organizer': "ইভেন্ট আয়োজক",
'interface-admin': "ইন্টারফেস প্রশাসক",
'flood': "বট ব্যবহারকারী",
'temp': "অস্থায়ী ব্যবহারকারী",
};
var friendlyGroups = [];
for(var i = 0; i < groups.length; ++i) {
var s = groups[i];
var t = friendlyGroupNames.hasOwnProperty(s) ? friendlyGroupNames[s] : s;
if (t) {
if (groupPages.hasOwnProperty(s)) {
friendlyGroups.push("<a href=\"/wiki/" + encodeURIComponent( groupPages[s] ) + "\">" + t + "</a>");
} else {
friendlyGroups.push(t);
}
}
}
switch(friendlyGroups.length) {
case 0:
// ব্যবহারকারী কোনো বিশেষ অধিকারপ্রাপ্ত দলের সদস্য নন।
// statusText += "ব্যবহারকারী";
if(blocked) {
statusText += "ব্যবহারকারী";
} else {
statusText += "নিবন্ধিত ব্যবহারকারী";
}
break;
case 1:
statusText += friendlyGroups[0];
break;
case 2:
statusText += friendlyGroups[0] + " এবং " + friendlyGroups[1];
break;
default:
statusText += friendlyGroups.slice(0, -1).join(", ") +
", এবং " + friendlyGroups[friendlyGroups.length - 1];
break;
}
}
// নিবন্ধনের তারিখ
if(registration) {
var firstLoggedUser = new Date("22:16, 7 September 2005");
if(registration >= firstLoggedUser) {
statusText += ", <a href='" + mw.config.get("wgScriptPath") +
"/index.php?title=Special:Log&type=newusers&dir=prev&limit=1&user=" +
et + "'>" + UserinfoJsFormatDateRel(registration) + " পুরোনো</a>";
} else {
statusText += ", <a href='" + mw.config.get("wgScriptPath") +
"/index.php?title=Special:ListUsers&limit=1&username=" +
et + "'>" + UserinfoJsFormatDateRel(registration) + " পুরোনো</a>";
}
}
// সম্পাদনা সংখ্যা
if(editcount !== null) {
statusText += ", " +
"<a href=\"//tools.wmflabs.org/xtools-ec/?user=" +
encodeURIComponent(user.name) +
"&project=bn.wikipedia.org&uselang=bn\">" +
UserinfoJsFormatQty(editcount, "টি সম্পাদনা", "টি সম্পাদনা").replace(/\u00a0/g, "") + "</a>";
}
// অবস্থার শেষে দাঁড়ি যোগ
statusText += "।";
// সর্বশেষ সম্পাদনা
// অবদান পাতার সংযোগ প্রদান
if(lastEdited) {
statusText += " সর্বশেষ সম্পাদনা করেছেন <a href=\"" + mw.config.get("wgArticlePath").replace("$1", "Special:Contributions/" + encodeURIComponent(user.name)) + "\">" + UserinfoJsFormatDateRel(lastEdited) + " আগে</a>।";
}
// অবরুদ্ধ, নিবন্ধিত ও বেনামি ব্যবহারকারীদের জন্য শ্রেণি যোগ
var fh = document.getElementById("firstHeading") ||
document.getElementById("section-0");
if(!fh) return;
var newClasses = [];
if(blocked) {
newClasses.push("ps-blocked");
}
if(ipUser) {
newClasses.push("ps-anonymous");
} else if(invalid) {
newClasses.push("ps-invalid");
} else {
newClasses.push("ps-registered");
}
fh.className += (fh.className.length ? " " : "") + groups.map(function(s) {
return "ps-group-" + s;
}).concat(newClasses).join(" ");
// অন্যান্য তথ্য
var ss = document.getElementById("siteSub");
if(!ss) {
ss = document.createElement("div");
ss.id = "siteSub";
ss.innerHTML = "উইকিপিডিয়া, মুক্ত বিশ্বকোষ থেকে";
var bc = document.getElementById("bodyContent");
bc.insertBefore(ss, bc.firstChild);
}
ss.innerHTML = '<span id="ps-userinfo">' + statusText + '</span> ' + ss.innerHTML;
ss.style.display = "block";
});
}); });
}
j66av8hybjnp77b1j5yddgtouvlv83c
757905
757904
2026-08-20T16:41:54Z
Borhan
54019
757905
javascript
text/javascript
// User Info
// Translated and adapted from https://en.wikipedia.org/wiki/User:PleaseStand/userinfo.js
function UserinfoJsFormatQty(qty, singular, plural) {
var number = String(qty).replace(/\d{1,3}(?=(\d{3})+(?!\d))/g, "$&,");
number = number.replace(/\d/g, function(digit) {
return "০১২৩৪৫৬৭৮৯"[digit];
});
return number + "\u00a0" + (qty == 1 ? singular : plural);
}
function UserinfoJsFormatDateRel(old) {
// নিচের কোডটি সঠিকভাবে কাজ করার জন্য কম্পিউটারের ঘড়ি সঠিক সময়ে সেট করা থাকতে হবে।
var age = new Date().getTime() - old.getTime();
var ageNumber, ageRemainder, ageWords;
if(age < 60000) {
// এক মিনিটের কম পুরোনো
ageNumber = Math.floor(age / 1000);
ageWords = UserinfoJsFormatQty(ageNumber, "সেকেন্ড", "সেকেন্ড");
} else if(age < 3600000) {
// এক ঘণ্টার কম পুরোনো
ageNumber = Math.floor(age / 60000);
ageWords = UserinfoJsFormatQty(ageNumber, "মিনিট", "মিনিট");
} else if(age < 86400000) {
// এক দিনের কম পুরোনো
ageNumber = Math.floor(age / 3600000);
ageWords = UserinfoJsFormatQty(ageNumber, "ঘণ্টা", "ঘণ্টা");
ageRemainder = Math.floor((age - ageNumber * 3600000) / 60000);
} else if(age < 604800000) {
// এক সপ্তাহের কম পুরোনো
ageNumber = Math.floor(age / 86400000);
ageWords = UserinfoJsFormatQty(ageNumber, "দিন", "দিন");
} else if(age < 2592000000) {
// এক মাসের কম পুরোনো
ageNumber = Math.floor(age / 604800000);
ageWords = UserinfoJsFormatQty(ageNumber, "সপ্তাহ", "সপ্তাহ");
} else if(age < 31536000000) {
// এক বছরের কম পুরোনো
ageNumber = Math.floor(age / 2592000000);
ageWords = UserinfoJsFormatQty(ageNumber, "মাস", "মাস");
} else {
// এক বছর বা তার বেশি পুরোনো
ageNumber = Math.floor(age / 31536000000);
ageWords = UserinfoJsFormatQty(ageNumber, "বছর", "বছর");
ageRemainder =
Math.floor((age - ageNumber * 31536000000) / 2592000000);
if(ageRemainder) {
ageWords += " " +
UserinfoJsFormatQty(ageRemainder, "মাস", "মাস");
}
}
return ageWords;
}
// ব্যবহারকারী বা ব্যবহারকারী আলাপ পাতায় থাকলে এবং সেটি কোনো উপপাতা না হলে...
if((mw.config.get("wgNamespaceNumber") == 2 || mw.config.get("wgNamespaceNumber") == 3) && !(/\//.test(mw.config.get("wgTitle")))) {
// একটি হুক যোগ করা হচ্ছে...
mw.loader.using( ['mediawiki.util'], function() { $(function(){
// এপিআইয়ের মাধ্যমে ব্যবহারকারীর তথ্য চাওয়া হচ্ছে।
// মনে রাখতে হবে, এই তথ্য সর্বোচ্চ ৫ মিনিট পুরোনো হতে পারে।
var et = encodeURIComponent(mw.config.get("wgTitle"));
$.getJSON(mw.config.get("wgScriptPath") + "/api.php?format=json&action=query&list=users|usercontribs&usprop=blockinfo|editcount|registration|groups&uclimit=1&ucprop=timestamp&ususers=" + et + "&ucuser=" + et + "&meta=allmessages&refix=grouppage-&amincludelocal=1")
.done(function(query) {
// উত্তর পাওয়ার পর প্রয়োজনীয় তথ্য বের করা হচ্ছে।
if(!query.query) { return; }
query = query.query;
var user, invalid, missing, groups, groupPages={}, editcount, registration, blocked, lastEdited;
try {
user = query.users[0];
invalid = typeof user.invalid != "undefined";
missing = typeof user.missing != "undefined";
groups = (typeof user.groups == "object") ? user.groups : [];
editcount = (typeof user.editcount == "number") ? user.editcount : null;
registration = (typeof user.registration == "string") ?
new Date(user.registration) : null;
blocked = typeof user.blockedby != "undefined";
lastEdited = (typeof query.usercontribs[0] == "object") &&
(typeof query.usercontribs[0].timestamp == "string") ?
new Date(query.usercontribs[0].timestamp) : null;
for (var am=0; am<query.allmessages.length; am++) {
groupPages[query.allmessages[am]["name"].replace("grouppage-","")] = query.allmessages[am]["*"].replace("{{ns:project}}:","উইকিপিডিয়া:");
}
} catch(e) {
return; // সার্ভার কোনো ত্রুটি (যেমন: ব্যবহারকারীর নামের বিন্যাস ভুল) ফেরত দিলে তেমন কিছু করার নেই।
}
// পর্দায় প্রদর্শনের জন্য তথ্য বিন্যাস করা হচ্ছে
var statusText = "";
var ipUser = false;
var ipv4User = false;
var ipv6User = false;
// ব্যবহারকারীর অবস্থা
if(blocked) {
statusText += "<a href=\"" + mw.config.get("wgScriptPath") +
"/index.php?title=Special:Log&page=" +
encodeURIComponent(mw.config.get("wgFormattedNamespaces")[2] + ":" + user.name) +
"&type=block\">অবরুদ্ধ</a> ";
}
if (missing) {
statusText += "ব্যবহারকারী নাম নিবন্ধিত নয়";
} else if (invalid) {
ipv4User = mw.util.isIPv4Address(user.name);
ipv6User = mw.util.isIPv6Address(user.name);
ipUser = ipv4User || ipv6User;
if (ipv4User) {
statusText += "বেনামি আইপিভি৪ ব্যবহারকারী";
} else if (ipv6User) {
statusText += "বেনামি আইপিভি৬ ব্যবহারকারী";
} else {
statusText += "অবৈধ ব্যবহারকারী নাম";
}
} else {
// ব্যবহারকারী নিবন্ধিত এবং কোনো বিশেষ অধিকারপ্রাপ্ত দলের সদস্য হতে পারেন। নিচে ব্যবহারকারী দলগুলোর তালিকা রয়েছে।
var friendlyGroupNames = {
'*': false,
'user': false,
'autoconfirmed': false,
'sysop': "প্রশাসক",
'bot': "বট",
'bureaucrat': "ব্যুরোক্র্যাট",
'steward': "স্টুয়ার্ড",
'accountcreator': "অ্যাকাউন্ট স্রষ্টা",
'import': "আমদানিকারক",
'transwiki': "ট্রান্সউইকি আমদানিকারক",
'ipblock-exempt': "আইপি বাধামুক্ত",
'confirmed': "নিশ্চিতকৃত ব্যবহারকারী",
'autopatrolled': "স্বয়ংক্রিয় পরীক্ষক",
'autoreview': "স্বয়ংপরীক্ষিত ব্যবহারকারী",
'filemover': "ফাইল স্থানান্তরকারী",
'reviewer': "নিরীক্ষক",
'suppress': "গোপনকারী",
'patroller': "পর্যবেক্ষক",
'rollbacker': "রোলব্যাকার",
'checkuser': "ব্যবহারকারী পরীক্ষক",
'event-organizer': "ইভেন্ট আয়োজক",
'interface-admin': "ইন্টারফেস প্রশাসক",
'flood': "বট ব্যবহারকারী",
'temp': "অস্থায়ী ব্যবহারকারী",
};
var friendlyGroups = [];
for(var i = 0; i < groups.length; ++i) {
var s = groups[i];
var t = friendlyGroupNames.hasOwnProperty(s) ? friendlyGroupNames[s] : s;
if (t) {
if (groupPages.hasOwnProperty(s)) {
friendlyGroups.push("<a href=\"/wiki/" + encodeURIComponent( groupPages[s] ) + "\">" + t + "</a>");
} else {
friendlyGroups.push(t);
}
}
}
switch(friendlyGroups.length) {
case 0:
// ব্যবহারকারী কোনো বিশেষ অধিকারপ্রাপ্ত দলের সদস্য নন।
// statusText += "ব্যবহারকারী";
if(blocked) {
statusText += "ব্যবহারকারী";
} else {
statusText += "নিবন্ধিত ব্যবহারকারী";
}
break;
case 1:
statusText += friendlyGroups[0];
break;
case 2:
statusText += friendlyGroups[0] + " এবং " + friendlyGroups[1];
break;
default:
statusText += friendlyGroups.slice(0, -1).join(", ") +
" এবং " + friendlyGroups[friendlyGroups.length - 1];
break;
}
}
// নিবন্ধনের তারিখ
if(registration) {
var firstLoggedUser = new Date("22:16, 7 September 2005");
if(registration >= firstLoggedUser) {
statusText += ", <a href='" + mw.config.get("wgScriptPath") +
"/index.php?title=Special:Log&type=newusers&dir=prev&limit=1&user=" +
et + "'>" + UserinfoJsFormatDateRel(registration) + " পুরোনো</a>";
} else {
statusText += ", <a href='" + mw.config.get("wgScriptPath") +
"/index.php?title=Special:ListUsers&limit=1&username=" +
et + "'>" + UserinfoJsFormatDateRel(registration) + " পুরোনো</a>";
}
}
// সম্পাদনা সংখ্যা
if(editcount !== null) {
statusText += ", " +
"<a href=\"//tools.wmflabs.org/xtools-ec/?user=" +
encodeURIComponent(user.name) +
"&project=bn.wikipedia.org&uselang=bn\">" +
UserinfoJsFormatQty(editcount, "টি সম্পাদনা", "টি সম্পাদনা").replace(/\u00a0/g, "") + "</a>";
}
// অবস্থার শেষে দাঁড়ি যোগ
statusText += "।";
// সর্বশেষ সম্পাদনা
// অবদান পাতার সংযোগ প্রদান
if(lastEdited) {
statusText += " সর্বশেষ সম্পাদনা করেছেন <a href=\"" + mw.config.get("wgArticlePath").replace("$1", "Special:Contributions/" + encodeURIComponent(user.name)) + "\">" + UserinfoJsFormatDateRel(lastEdited) + " আগে</a>।";
}
// অবরুদ্ধ, নিবন্ধিত ও বেনামি ব্যবহারকারীদের জন্য শ্রেণি যোগ
var fh = document.getElementById("firstHeading") ||
document.getElementById("section-0");
if(!fh) return;
var newClasses = [];
if(blocked) {
newClasses.push("ps-blocked");
}
if(ipUser) {
newClasses.push("ps-anonymous");
} else if(invalid) {
newClasses.push("ps-invalid");
} else {
newClasses.push("ps-registered");
}
fh.className += (fh.className.length ? " " : "") + groups.map(function(s) {
return "ps-group-" + s;
}).concat(newClasses).join(" ");
// অন্যান্য তথ্য
var ss = document.getElementById("siteSub");
if(!ss) {
ss = document.createElement("div");
ss.id = "siteSub";
var bc = document.getElementById("bodyContent");
bc.insertBefore(ss, bc.firstChild);
}
ss.innerHTML = '<span id="ps-userinfo">' + statusText + '</span>';
ss.style.display = "block";
});
}); });
}
0ws9jk74sgd373ro6qt81v3hgcd558a
757907
757905
2026-08-20T18:55:25Z
Borhan
54019
Blanked the page
757907
javascript
text/javascript
phoiac9h4m842xq45sp7s6u21eteeq1
User:Namoroka/sandbox
2
163120
757888
744402
2026-08-20T12:07:33Z
Namoroka
19627
757888
wikitext
text/x-wiki
__NOINDEX__
*insource:/\| *Author *=/
*insource:/\| *subscription *= *yes/
*insource:/\| *subscription *= *[Yy][Ee][Ss]/
*insource:/\| *subjectlink([1-9]\d*)? *=/
*insource:/참고 자료 시작 *\| *colwidth *=/ hastemplate:참고 자료 시작
insource:"확인연도" insource:/\|\s*확인연도\s*=\s*[\|}]/
*(\{\{\s*저널 인용[^}]*\s*\|\s*)언어링크(\s*=[^}]*)
*(\n|)\|\s*(꺾|꺽)쇠표\s*=\s*(1|예)\s*(\n|)
----
*https://en.wikipedia.org/wiki/Wikipedia:AutoWikiBrowser/Regular_expression#Examples
*https://en.wikipedia.org/wiki/Wikipedia:AutoWikiBrowser/Find_and_replace Templates to substitute
*https://en.wikipedia.org/wiki/Wikipedia:AutoWikiBrowser/Rename_template_parameters
*https://en.wikipedia.org/wiki/Wikipedia:AutoWikiBrowser/Template_redirects
----
<pre>
'ady-latn' => 'Adyghe (Latin script)',
'afa' => 'Afroasiatic languages',
'aha' => 'Ahanta',
'ajp' => 'South Levantine Arabic',
'ajp-arab' => 'South Levantine Arabic (Arabic script)',
'ajp-latn' => 'South Levantine Arabic (Latin script)',
'alg' => 'Algonquian languages',
'apa' => 'Southern Athabaskan',
'apc-arab' => 'Levantine Arabic (Arabic script)',
'apw' => 'Western Apache',
'art' => 'constructed languages',
'ath' => 'Athabaskan languages',
'aus' => 'Australian Aboriginal languages',
'az-arab' => 'Azerbaijani (Arabic script)',
'az-latn' => 'Azerbaijani (Latin script)',
'azj' => 'North Azerbaijani',
'bad' => 'Banda languages',
'bai' => 'Bamileke languages',
'bat' => 'Baltic languages',
'bbc-batk' => 'Batak Toba (Batak script)',
'ber' => 'Berber languages',
'bkn' => 'Bukitan',
'bnb' => 'Bookan',
'bnt' => 'Bantu languages',
'bny' => 'Bintulu',
'bth' => 'Biatah',
'btk' => 'Batak languages',
'cai' => 'Mesoamerican languages',
'cau' => 'Caucasian languages',
'cbk' => 'Chavacano',
'cel' => 'Celtic languages',
'ciw' => 'Chippewa',
'cmc' => 'Chamic languages',
'coa' => 'Cocos Malay',
'cpe' => 'English-based creole languages',
'cpf' => 'French-based creole languages',
'cpp' => 'Portuguese-based creole languages',
'cr-cans' => 'Cree (Canadian Aboriginal syllabics)',
'cr-latn' => 'Cree (Latin script)',
'crp' => 'creoles and pidgins',
'cus' => 'Cushitic languages',
'day' => 'Land Dayak languages',
'dbj' => 'Idaʼan',
'dkr' => 'Kuijau',
'dmg' => 'Upper Kinabatangan',
'dmv' => 'Dumpas',
'dpp' => 'Papar',
'dra' => 'Dravidian languages',
'drg' => 'Rungus',
'dro' => 'Daro-Matu',
'dtb' => 'Eastern Kadazan',
'dtr' => 'Lotud',
'en-simple' => 'Simple English',
'en-uk' => 'British English',
'es-ni' => 'Spanish (Nicaragua)',
'fab' => 'Annobonese Creole',
'fax' => 'Fala',
'fay' => 'Kuhmareyi',
'fiu' => 'Finno-Ugric languages',
'fr-be' => 'Belgian French',
'gah' => 'Alekano',
'gem' => 'Germanic languages',
'gnq' => 'Ganaʼ',
'gum' => 'Guambiano',
'ha-latn' => 'Hausa (Latin script)',
'him' => 'Western Pahari',
'ifu' => 'Mayoyao Ifugao',
'ijo' => 'Ijaw languages',
'inc' => 'Indo-Aryan languages',
'ine' => 'Indo-European languages',
'ira' => 'Iranian languages',
'iro' => 'Iroquoian languages',
'isk-arab' => 'Ishkashimi (Arabic script)',
'isk-cyrl' => 'Ishkashimi (Cyrillic script)',
'isk-latn' => 'Ishkashimi (Latin script)',
'ist' => 'Istriot',
'ivb' => 'Ibatan',
'jak' => 'Jakun',
'jax' => 'Jambi Malay',
'jdt-cyrl' => 'Judeo-Tat (Cyrillic script)',
'juk' => 'Wapan',
'kag' => 'Kajaman',
'kar' => 'Karenic languages',
'kbd-latn' => 'Kabardian (Latin script)',
'kea' => 'Cape Verdean Creole',
'khi' => 'Khoisan languages',
'knq' => 'Kintaq',
'kqr' => 'Kimaragang',
'kqt' => 'Klias River Kadazan',
'kqv' => 'Okolod',
'kro' => 'Kru languages',
'kve' => 'Kalabakan',
'kxd' => 'Brunei Malay',
'kxi' => 'Keningau Murut',
'kxn' => 'Kanowit',
'lad-latn' => 'Ladino (Latin script)',
'li-be' => 'Belgian Limburgish',
'li-nl' => 'Dutch Limburgish',
'lud' => 'Ludic',
'lut' => 'Lushootseed',
'map' => 'Austronesian languages',
'mhn' => 'Mòcheno',
'miq' => 'Miskito',
'mkh' => 'Mon-Khmer',
'mn-cyrl' => 'Mongolian (Cyrillic script)',
'mni-beng' => 'Manipuri (Bengali script)',
'mnj' => 'Munji',
'mno' => 'Manobo languages',
'mnq' => 'Minriq',
'mr-modi' => 'Marathi (Modi script)',
'mun' => 'Munda languages',
'mvv' => 'Tagol',
'myn' => 'Mayan languages',
'nai' => 'Indigenous languages of North America',
'nic' => 'Niger–Congo languages',
'nsl' => 'Norwegian Sign Language',
'ntd' => 'Sesayap Tidung',
'nub' => 'Nubian languages',
'oto' => 'Otomian languages',
'pa-guru' => 'Punjabi (Gurmukhi script)',
'paa' => 'Papuan languages',
'pgl' => 'Primitive Irish',
'phi' => 'Philippine languages',
'pkc' => 'Paekche',
'pko' => 'Pökoot',
'plv' => 'Southwest Palawano',
'plw' => 'Brooke\'s Point Palawano',
'ppl' => 'Nawat',
'pra' => 'Prakrit',
'prc' => 'Parachi',
'pwo' => 'Western Pwo',
'roa' => 'Romance languages',
'sai' => 'South American indigenous languages',
'sal' => 'Salishan languages',
'sdo' => 'Bukar–Sadong',
'sea' => 'Semai',
'sem' => 'Semitic languages',
'sgh-arab' => 'Shughni (Arabic script)',
'sgh-cyrl' => 'Shughni (Cyrillic script)',
'sgh-latn' => 'Shughni (Latin script)',
'sgn' => 'sign languages',
'sgy-arab' => 'Sanglechi (Arabic script)',
'sgy-latn' => 'Sanglechi (Latin script)',
'sio' => 'Siouan languages',
'sit' => 'Sino-Tibetan languages',
'sla' => 'Slavic languages',
'smi' => 'Sámi languages',
'sne' => 'Jagoi',
'son' => 'Songhay languages',
'srh-arab' => 'Sarikoli (Arabic script)',
'srh-cyrl' => 'Sarikoli (Cyrillic script)',
'srh-latn' => 'Sarikoli (Latin script)',
'srk' => 'Serudung',
'ssa' => 'Nilo-Saharan languages',
'ssb' => 'Southern Sama',
'suz' => 'Sunwar',
'syl-sylo' => 'Sylheti (Sylheti Nagri script)',
'tai' => 'Tai languages',
'tih' => 'Timugon',
'tmr' => 'Jewish Babylonian Aramaic',
'trp' => 'Kokborok',
'tsg' => 'Tausug',
'tup' => 'Tupian languages',
'tut' => 'Altaic languages',
'twd' => 'Tweants',
'txa' => 'Tombonuwo',
'txx' => 'Tatana',
'ug-cyrl' => 'Uyghur (Cyrillic script)',
'ulc' => 'Ulch',
'urk' => 'Urak Lawoiʼ',
'ush' => 'Ushoji',
'wak' => 'Wakashan languages',
'wbl-arab' => 'Wakhi (Arabic script)',
'wbl-arab-af' => 'Wakhi (Arabic script, Afghanistan)',
'wbl-arab-cn' => 'Wakhi (Arabic script, China)',
'wbl-arab-pk' => 'Wakhi (Arabic script, Pakistan)',
'wbl-cyrl' => 'Wakhi (Cyrillic script)',
'wbl-latn' => 'Wakhi (Latin script)',
'wen' => 'Sorbian languages',
'xmm' => 'Manado Malay',
'yah-cyrl' => 'Yazghulami (Cyrillic script)',
'yah-latn' => 'Yazghulami (Latin script)',
'yai-cyrl' => 'Yaghnobi (Cyrillic script)',
'yai-latn' => 'Yaghnobi (Latin script)',
'ydd' => 'Eastern Yiddish',
'ydg' => 'Yidgha',
'ypk' => 'Yupik languages',
'znd' => 'Zande languages',
</pre>
----
# "고급" 부분에 한글 초성 채움 문자, 한글 중성 채움 문자, 방점 2개 버튼 추가: HCF, HJF, 〮, 〯
** tab-advanced > sections > group group-insert 다음 부분에
** 버튼 그림은 Gadget-akinput.css에 svg 파일로 삽입할 예정. 일단은 임시로 비워둘것.
# 도움말 부분에 옛한글 입력기 관련 설명 추가.
** rel="references" 다음에
** cell cell-description / cell cell-syntax / cell cell-result 부분이 있는데, 앞의 두개만 사용.
** ㅿ / Shift + ㅁ 또는 ㅁ + .
5lcl57ndol1asyaacgnws7at0fil437
757890
757888
2026-08-20T12:24:35Z
Namoroka
19627
757890
wikitext
text/x-wiki
__NOINDEX__
*insource:/\| *Author *=/
*insource:/\| *subscription *= *yes/
*insource:/\| *subscription *= *[Yy][Ee][Ss]/
*insource:/\| *subjectlink([1-9]\d*)? *=/
*insource:/참고 자료 시작 *\| *colwidth *=/ hastemplate:참고 자료 시작
insource:"확인연도" insource:/\|\s*확인연도\s*=\s*[\|}]/
*(\{\{\s*저널 인용[^}]*\s*\|\s*)언어링크(\s*=[^}]*)
*(\n|)\|\s*(꺾|꺽)쇠표\s*=\s*(1|예)\s*(\n|)
----
*https://en.wikipedia.org/wiki/Wikipedia:AutoWikiBrowser/Regular_expression#Examples
*https://en.wikipedia.org/wiki/Wikipedia:AutoWikiBrowser/Find_and_replace Templates to substitute
*https://en.wikipedia.org/wiki/Wikipedia:AutoWikiBrowser/Rename_template_parameters
*https://en.wikipedia.org/wiki/Wikipedia:AutoWikiBrowser/Template_redirects
----
<pre>
'ady-latn' => 'Adyghe (Latin script)',
'afa' => 'Afroasiatic languages',
'aha' => 'Ahanta',
'ajp' => 'South Levantine Arabic',
'ajp-arab' => 'South Levantine Arabic (Arabic script)',
'ajp-latn' => 'South Levantine Arabic (Latin script)',
'alg' => 'Algonquian languages',
'apa' => 'Southern Athabaskan',
'apc-arab' => 'Levantine Arabic (Arabic script)',
'apw' => 'Western Apache',
'art' => 'constructed languages',
'ath' => 'Athabaskan languages',
'aus' => 'Australian Aboriginal languages',
'az-arab' => 'Azerbaijani (Arabic script)',
'az-latn' => 'Azerbaijani (Latin script)',
'azj' => 'North Azerbaijani',
'bad' => 'Banda languages',
'bai' => 'Bamileke languages',
'bat' => 'Baltic languages',
'bbc-batk' => 'Batak Toba (Batak script)',
'ber' => 'Berber languages',
'bkn' => 'Bukitan',
'bnb' => 'Bookan',
'bnt' => 'Bantu languages',
'bny' => 'Bintulu',
'bth' => 'Biatah',
'btk' => 'Batak languages',
'cai' => 'Mesoamerican languages',
'cau' => 'Caucasian languages',
'cbk' => 'Chavacano',
'cel' => 'Celtic languages',
'ciw' => 'Chippewa',
'cmc' => 'Chamic languages',
'coa' => 'Cocos Malay',
'cpe' => 'English-based creole languages',
'cpf' => 'French-based creole languages',
'cpp' => 'Portuguese-based creole languages',
'cr-cans' => 'Cree (Canadian Aboriginal syllabics)',
'cr-latn' => 'Cree (Latin script)',
'crp' => 'creoles and pidgins',
'cus' => 'Cushitic languages',
'day' => 'Land Dayak languages',
'dbj' => 'Idaʼan',
'dkr' => 'Kuijau',
'dmg' => 'Upper Kinabatangan',
'dmv' => 'Dumpas',
'dpp' => 'Papar',
'dra' => 'Dravidian languages',
'drg' => 'Rungus',
'dro' => 'Daro-Matu',
'dtb' => 'Eastern Kadazan',
'dtr' => 'Lotud',
'en-simple' => 'Simple English',
'en-uk' => 'British English',
'es-ni' => 'Spanish (Nicaragua)',
'fab' => 'Annobonese Creole',
'fax' => 'Fala',
'fay' => 'Kuhmareyi',
'fiu' => 'Finno-Ugric languages',
'fr-be' => 'Belgian French',
'gah' => 'Alekano',
'gem' => 'Germanic languages',
'gnq' => 'Ganaʼ',
'gum' => 'Guambiano',
'ha-latn' => 'Hausa (Latin script)',
'him' => 'Western Pahari',
'ifu' => 'Mayoyao Ifugao',
'ijo' => 'Ijaw languages',
'inc' => 'Indo-Aryan languages',
'ine' => 'Indo-European languages',
'ira' => 'Iranian languages',
'iro' => 'Iroquoian languages',
'isk-arab' => 'Ishkashimi (Arabic script)',
'isk-cyrl' => 'Ishkashimi (Cyrillic script)',
'isk-latn' => 'Ishkashimi (Latin script)',
'ist' => 'Istriot',
'ivb' => 'Ibatan',
'jak' => 'Jakun',
'jax' => 'Jambi Malay',
'jdt-cyrl' => 'Judeo-Tat (Cyrillic script)',
'juk' => 'Wapan',
'kag' => 'Kajaman',
'kar' => 'Karenic languages',
'kbd-latn' => 'Kabardian (Latin script)',
'kea' => 'Cape Verdean Creole',
'khi' => 'Khoisan languages',
'knq' => 'Kintaq',
'kqr' => 'Kimaragang',
'kqt' => 'Klias River Kadazan',
'kqv' => 'Okolod',
'kro' => 'Kru languages',
'kve' => 'Kalabakan',
'kxd' => 'Brunei Malay',
'kxi' => 'Keningau Murut',
'kxn' => 'Kanowit',
'lad-latn' => 'Ladino (Latin script)',
'li-be' => 'Belgian Limburgish',
'li-nl' => 'Dutch Limburgish',
'lud' => 'Ludic',
'lut' => 'Lushootseed',
'map' => 'Austronesian languages',
'mhn' => 'Mòcheno',
'miq' => 'Miskito',
'mkh' => 'Mon-Khmer',
'mn-cyrl' => 'Mongolian (Cyrillic script)',
'mni-beng' => 'Manipuri (Bengali script)',
'mnj' => 'Munji',
'mno' => 'Manobo languages',
'mnq' => 'Minriq',
'mr-modi' => 'Marathi (Modi script)',
'mun' => 'Munda languages',
'mvv' => 'Tagol',
'myn' => 'Mayan languages',
'nai' => 'Indigenous languages of North America',
'nic' => 'Niger–Congo languages',
'nsl' => 'Norwegian Sign Language',
'ntd' => 'Sesayap Tidung',
'nub' => 'Nubian languages',
'oto' => 'Otomian languages',
'pa-guru' => 'Punjabi (Gurmukhi script)',
'paa' => 'Papuan languages',
'pgl' => 'Primitive Irish',
'phi' => 'Philippine languages',
'pkc' => 'Paekche',
'pko' => 'Pökoot',
'plv' => 'Southwest Palawano',
'plw' => 'Brooke\'s Point Palawano',
'ppl' => 'Nawat',
'pra' => 'Prakrit',
'prc' => 'Parachi',
'pwo' => 'Western Pwo',
'roa' => 'Romance languages',
'sai' => 'South American indigenous languages',
'sal' => 'Salishan languages',
'sdo' => 'Bukar–Sadong',
'sea' => 'Semai',
'sem' => 'Semitic languages',
'sgh-arab' => 'Shughni (Arabic script)',
'sgh-cyrl' => 'Shughni (Cyrillic script)',
'sgh-latn' => 'Shughni (Latin script)',
'sgn' => 'sign languages',
'sgy-arab' => 'Sanglechi (Arabic script)',
'sgy-latn' => 'Sanglechi (Latin script)',
'sio' => 'Siouan languages',
'sit' => 'Sino-Tibetan languages',
'sla' => 'Slavic languages',
'smi' => 'Sámi languages',
'sne' => 'Jagoi',
'son' => 'Songhay languages',
'srh-arab' => 'Sarikoli (Arabic script)',
'srh-cyrl' => 'Sarikoli (Cyrillic script)',
'srh-latn' => 'Sarikoli (Latin script)',
'srk' => 'Serudung',
'ssa' => 'Nilo-Saharan languages',
'ssb' => 'Southern Sama',
'suz' => 'Sunwar',
'syl-sylo' => 'Sylheti (Sylheti Nagri script)',
'tai' => 'Tai languages',
'tih' => 'Timugon',
'tmr' => 'Jewish Babylonian Aramaic',
'trp' => 'Kokborok',
'tsg' => 'Tausug',
'tup' => 'Tupian languages',
'tut' => 'Altaic languages',
'twd' => 'Tweants',
'txa' => 'Tombonuwo',
'txx' => 'Tatana',
'ug-cyrl' => 'Uyghur (Cyrillic script)',
'ulc' => 'Ulch',
'urk' => 'Urak Lawoiʼ',
'ush' => 'Ushoji',
'wak' => 'Wakashan languages',
'wbl-arab' => 'Wakhi (Arabic script)',
'wbl-arab-af' => 'Wakhi (Arabic script, Afghanistan)',
'wbl-arab-cn' => 'Wakhi (Arabic script, China)',
'wbl-arab-pk' => 'Wakhi (Arabic script, Pakistan)',
'wbl-cyrl' => 'Wakhi (Cyrillic script)',
'wbl-latn' => 'Wakhi (Latin script)',
'wen' => 'Sorbian languages',
'xmm' => 'Manado Malay',
'yah-cyrl' => 'Yazghulami (Cyrillic script)',
'yah-latn' => 'Yazghulami (Latin script)',
'yai-cyrl' => 'Yaghnobi (Cyrillic script)',
'yai-latn' => 'Yaghnobi (Latin script)',
'ydd' => 'Eastern Yiddish',
'ydg' => 'Yidgha',
'ypk' => 'Yupik languages',
'znd' => 'Zande languages',
</pre>
----
# "고급" 부분에 한글 초성 채움 문자, 한글 중성 채움 문자, 방점 2개 버튼 추가: HCF, HJF, 〮, 〯
#* tab-advanced > sections > group group-insert 다음 부분에
#* 버튼 그림은 Gadget-akinput.css에 svg 파일로 삽입할 예정. 일단은 임시로 비워둘것.
# 도움말 부분에 옛한글 입력기 관련 설명 추가.
#* rel="references" 다음에
#* cell cell-description / cell cell-syntax / cell cell-result 부분이 있는데, 앞의 두개만 사용.
#* ㅿ / Shift + ㅁ 또는 ㅁ + .
nro9e6pklyyxod5dbx76m6l879a36uu
Yuezhi
0
163418
757927
690856
2026-08-21T00:03:26Z
InternetArchiveBot
34092
Rescuing 1 sources and tagging 0 as dead.) #IABot (v2.0.9.5
757927
wikitext
text/x-wiki
{{Short description|Ancient people mentioned in Chinese histories}}
{{distinguish|Yueshi culture}}
{{Infobox ethnic group
|group = Yuezhi
|image =
{{multiple image|border=infobox|perrow=1/1|total_width=250
| align = center
| caption_align = center
| direction =vertical
| image1 = Noin-Ula nobleman and priest over fire altar.jpg
| caption1 = Figures in the embroidered carpets of the [[Noin-Ula burial site]], proposed to be Yuezhis (1st century BC – 1st century AD).<ref name="CAY"/><ref>{{cite journal |last1=Francfort |first1=Henri-Paul|author-link= Henri-Paul Francfort |title=Sur quelques vestiges et indices nouveaux de l'hellénisme dans les arts entre la Bactriane et le Gandhāra (130 av. J.-C.-100 apr. J.-C. environ) |journal=Journal des Savants |date=1 January 2020 |pages=26–27, Fig.8 ''"Portrait royal diadémé Yuezhi"'' ("Diademed royal portrait of a Yuezhi")|url=https://www.academia.edu/45042820 |language=en}}</ref><ref name="YUESA">Considered as Yuezhi-Saka or simply Yuezhi in {{cite journal |last1=Polos'mak |first1=Natalia V. |last2=Francfort |first2=Henri-Paul |last3=Tsepova |first3=Olga |title=Nouvelles découvertes de tentures polychromes brodées du début de notre ère dans les "tumuli" n o 20 et n o 31 de Noin-Ula (République de Mongolie) |journal=Arts Asiatiques |date=2015 |volume=70 |pages=3–32 |doi=10.3406/arasi.2015.1881 |jstor=26358181 |url=https://www.jstor.org/stable/26358181 |issn=0004-3958|quote=p.3: "These tapestries were apparently manufactured in Bactria or in Gandhara at the time of the Saka-Yuezhi rule, when these countries were connected with the Parthian empire and the "Hellenized East." They represent groups of men, warriors of high status, and kings and/ or princes, performing rituals of drinking, fighting or taking part in a religious ceremony, a procession leading to an altar with a fire burning on it, and two men engaged in a ritual."}}</ref><ref name="LN">{{cite journal |last1=Nehru |first1=Lolita |title=KHALCHAYAN |journal=Encyclopaedia Iranica Online |date=14 December 2020 |url=https://referenceworks.brillonline.com/entries/encyclopaedia-iranica-online/*-COM_215?lang=en |publisher=Brill |language=en |quote=About "[[Khalchayan]]", "site of a settlement and palace of the nomad Yuezhi": "Representations of figures with faces closely akin to those of the ruling clan at Khalchayan (PLATE I) have been found in recent times on woollen fragments recovered from a nomad burial site near Lake Baikal in Siberia, Noin Ula, supplementing an earlier discovery at the same site), the pieces dating from the time of Yuezhi/Kushan control of Bactria. Similar faces appeared on woollen fragments found recently in a nomad burial in south-eastern Xinjiang ([[Sampul tapestry|Sampula]]), of about the same date, manufactured probably in Bactria, as were probably also the examples from Noin Ula." |archive-date=26 January 2022 |access-date=14 February 2025 |archive-url=https://web.archive.org/web/20220126153938/https://referenceworks.brillonline.com/entries/encyclopaedia-iranica-online/*-COM_215?lang=en |url-status=dead }}</ref><ref>{{cite journal |last1=Yatsenko |first1=Sergey A. |title=Yuezhi on Bactrian Embroidery from Textiles Found at Noyon uul, Mongolia |journal=The Silk Road |date=2012 |volume=10 |url=http://www.silkroadfoundation.org/newsletter/vol10/SilkRoad_10_2012_yatsenko.pdf}}</ref><ref name="History Embroidered in Wool">{{cite journal |last1=Polosmak |first1=Natalia V. |title=History Embroidered in Wool |journal=SCIENCE First Hand |date=2012 |volume=31 |issue=N1 |url=https://scfh.ru/en/papers/history-embroidered-in-wool/ |language=en}}</ref><ref name="We Drank Soma, We Became Immortal…">{{cite journal |last1=Polosmak |first1=Natalia V. |title=We Drank Soma, We Became Immortal… |journal=SCIENCE First Hand |date=2010 |volume=26 |issue=N2 |url=https://scfh.ru/en/papers/we-drank-soma-we-became-immortal-/ |language=en}}</ref>
| image2 = Yuezhi migrations.jpg
| caption2 = The migrations of the Yuezhi through Central Asia, from around 176 BC to 30 AD
}}
|image_caption =
|population = Some 100,000 to 200,000 horse archers, according to the ''Shiji'', Chapter 123.{{sfn|Watson|1993|p=234}} The ''Hanshu'' Chapter 96A records: 100,000 households, 400,000 people with 100,000 able to bear arms.<ref>Hulsewé, A.F.P. and Loewe, M.A.N. ''China in Central Asia: The Early Stage: 125 B.C.-A.D. 23: An Annotated Translation of Chapters 61 and 96 of the History of the Former Han Dynasty''. Leiden. E. J. Birll. 1979. {{ISBN|90-04-05884-2}}, pp. 119–120.</ref>
|region1 = [[Western China]]
|pop1=(pre-2nd century BC){{sfn|Watson|1993|p=234}}
|region2 = [[Central Asia]]
|pop2=(2nd century BC-1st century AD)
|region3 = [[Northern India]]
|pop3=(1st century AD-4th century AD)
|languages = [[Bactrian language|Bactrian]]{{sfn|Hansen|2012|p=72}} (in Bactria in the 1st century AD)
|religions = [[Buddhism]]<br/>[[Hinduism]]{{sfn|Bopearachchi|2007|p=45}}<br />[[Jainism]]<ref name="Wink">{{cite book |first=André |last=Wink |title=Al-Hind, the Making of the Indo-Islamic World: The Slavic Kings and the Islamic conquest, 11th–13th centuries |publisher=Oxford University Press |year=1997 |page=57 |isbn=90-04-10236-1 }}</ref><br/>[[Shamanism]]<br/>[[Zoroastrianism]]<br/>[[Manichaeism]]<br/>[[Nana (Bactrian goddess)|Kushan deities]]
}}
The '''Yuezhi'''{{efn|{{zh|c=月氏|p=Yuèzhī, Ròuzhī or Rùzhī|w=Yüeh<sup>4</sup>-chih<sup>1</sup>, Jou<sup>4</sup>-chih<sup>1</sup> or Ju<sup>4</sup>-chih<sup>1</sup>}}}} were an ancient people first described in [[China|Chinese]] histories as [[nomadic pastoralists]] living in an arid [[grassland]] area in the western part of the modern Chinese province of [[Gansu]], during the 1st millennium BC. After a major defeat at the hands of the [[Xiongnu]] in 176 BC, the Yuezhi split into two groups migrating in different directions: the '''Greater Yuezhi'''{{efn|''Dà Yuèzhī'' 大月氏}} and '''Lesser Yuezhi'''.{{efn|''Xiǎo Yuèzhī'' 小月氏}} This started a complex domino effect that radiated in all directions and, in the process, set the course of history for much of Asia for centuries to come.<ref>{{Cite book |last=Dean |first=Riaz |title=The Stone Tower: Ptolemy, the Silk Road, and a 2,000-Year-Old Riddle |publisher=Penguin Viking |year=2022 |isbn=978-0670093625 |location=Delhi |pages=73–81 (Ch.7, Migration of the Yuezhi) |language=English}}</ref>
The Greater Yuezhi initially migrated northwest into the [[Ili River|Ili Valley]] (on the modern borders of China and Kazakhstan), where they reportedly displaced elements of the [[Sakas]]. They were driven from the Ili Valley by the [[Wusun]] and migrated southward to [[Sogdia]] and later settled in [[Bactria]]. The Greater Yuezhi have consequently often been identified with peoples mentioned in classical European sources as having overrun the [[Greco-Bactrian Kingdom]], like the ''[[Tukhara|Tókharoi]]''{{efn|Greek ''Τοχάροι''; Sanskrit ''Tukhāra''}} and ''[[Asii]]''.{{efn|or ''Asioi''}} During the 1st century BC, one of the five major Greater Yuezhi tribes in Bactria, the ''[[Kushanas]]'',{{efn|{{zh|c=貴霜|p=Guìshuāng}}}} began to subsume the other tribes and neighbouring peoples. The subsequent [[Kushan Empire]], at its peak in the 3rd century AD, stretched from [[Turfan]] in the [[Tarim Basin]] in the north to [[Pataliputra]] on the [[Gangetic plain]] of [[India]] in the south. The Kushanas played an important role in the development of trade on the [[Silk Road]] and the [[Silk Road transmission of Buddhism|introduction of Buddhism to China]].
The Lesser Yuezhi migrated southward to the edge of the [[Tibetan Plateau]]. Some are reported to have settled among the [[Qiang (historical people)|Qiang people]] in [[Qinghai]], and to have been involved in the [[Liang Province Rebellion]] (184–221 AD) against the [[Han dynasty#Eastern Han|Eastern Han dynasty]]. Another group of Yuezhi is said to have founded the [[city state]] of [[Cumuḍa]] (now known as ''Kumul'' and [[Hami City|Hami]]) in the eastern Tarim. A fourth group of Lesser Yuezhi may have become part of the [[Jie people]] of [[Shanxi]], who established the [[Later Zhao]] state of the 4th century AD (although this remains controversial).
Many scholars believe that the Yuezhi were an [[Indo-European peoples|Indo-European]] people.<ref name="Narain">{{harvnb|Narain|1990|pp=152–155}} "[W]e must identify them [Tocharians] with the Yueh-chih of the Chinese sources... [C]onsensus of scholarly opinion identifies the Yueh-chih with the Tokharians... [T]he Indo-European ethnic origin of the Yuehchih = Tokharians is generally accepted... Yueh-chih = Tokharian people... Yueh-chih = Tokharians..."</ref><ref>{{harvnb|Roux|1997|p=90}} "They are, by almost unanimous opinion, Indo-Europeans, probably the most oriental of those who occupied the steppes."</ref>
Although some scholars have associated them with artifacts of extinct cultures in the Tarim Basin, such as the [[Tarim mummies]] and texts recording the [[Tocharian languages]], there is no evidence for any such link.{{sfn|Mallory|Mair|2000|pp=283–284}}
{{Sidebar timeline
| title = Timeline of the Yuezhi <ref>Based on Benjamin (2007), except where otherwise stated.</ref>
| years1 = Before<br>'''221 BCE'''
| color1 =
| events1 = The Yuezhi are powerful near Dunhuang, near the western end of the [[Hexi Corridor]], and control the jade trade from the [[Tarim basin]]. Somewhere west are the [[Wusun]],<ref>{{cite book |first1=Wei |last1=Lanhai |first2=Li |last2=Hui |first3=Xu |last3=Wenkan |chapter=The separate origins of the Tocharians and the Yuezhi |pages=284 |title=Tocharian Texts in Context: International Conference on Tocharian Manuscripts and Silk Road Culture, June 25-29th, 2013 |publisher=Hempen |year=2015 |isbn=978-3-944312-26-2 |chapter-url=https://www.researchgate.net/publication/318897882 }}</ref> and further east near the [[Ordos plateau]] are the [[Xiongnu]] or their precursors.<br>
| years2 = '''215 BCE'''
| color2 =
| events2 = The Xiongnu are defeated by the [[Qin dynasty]] and retreat northwards into the [[Mongolian Plateau]].
| years3 = '''207 BCE '''
| color3 =
| events3 = The Xiongnu begin a campaign of raids against the Yuezhi.
| years4 = Circa<br>'''176 BCE'''
| color4 =
| events4 = The Xiongnu inflict a major defeat on the Yuezhi.
| years5 = '''173 BCE'''
| color5 =
| events5 = The Yuezhi defeat the [[Wusun]].
| years6 = <br>'''165 BCE'''
| color6 =
| events6 = The majority of the Yuezhi begin migrating west to the [[Ili valley]]; this faction is known later as the "Great Yuezhi". Most of the other faction, known as the "Lesser Yuezhi", settle on the [[Tibetan Plateau]] and in the Tarim basin.
| years7 = '''132 BCE'''
| color7 =
| events7 = The Wusun attack the Great Yuezhi, forcing them southward from the Ili valley.
| years8 = '''132–130 BCE'''
| color8 =
| events8 = The Great Yuezhi migrate west, then south and settle in north-west [[Bactria]].
| years9 = '''128 BCE'''
| color9 =
| events9 = A Chinese envoy named [[Zhang Qian]] reaches the Great Yuezhi.
| years10 = Circa<br>'''30 CE'''
| color10 =
| events10 = One of five tribes comprising the Great Yuezhi tribes, the Kushana, become dominant and form the basis of the [[Kushan Empire]].
| below =
}}
== Earliest references in Chinese texts ==
[[File:Yuezhi map 210 BCE.jpg|thumb|260px|Circa 210 BC, the Yuezhi resided to the northwest of [[Qin empire|Qin China]].]]
Three pre-Han texts mention peoples who appear to be the Yuezhi, albeit under slightly different names.{{sfn|Thierry|2005}}
* The philosophical tract ''[[Guanzi (text)|Guanzi]]'' (73, 78, 80 and 81) mentions [[nomadic pastoralism|nomadic pastoralists]] known as the ''Yúzhī''{{efn|禺氏 ([[Old Chinese]]: *ŋʷjo-kje)}} or ''Niúzhī'',{{efn|牛氏 ([[Old Chinese|OC]]: *ŋʷjə-kje)}} who supplied [[jade]] to the Chinese.<ref>"Les Saces", Iaroslav Lebedynsky, {{ISBN|2-87772-337-2}}, p. 59</ref>{{sfn|Thierry|2005}} (The ''Guanzi'' is now generally believed to have been compiled around 26 BC, based on older texts, including some from the [[Qi (state)|Qi state era]] of the 11th to 3rd centuries BC. Most scholars no longer attribute its primary authorship to [[Guan Zhong]], a Qi official in the 7th century BC.<ref>Liu Jianguo (2004). ''Distinguishing and Correcting the pre-Qin Forged Classics''. Xi'an: Shaanxi People's Press. {{ISBN|7-224-05725-8}}. pp. 115–127</ref>) The export of jade from the Tarim Basin, since at least the late 2nd millennium BC, is well-documented archaeologically. For example, hundreds of jade pieces found in the [[Tomb of Fu Hao]] ({{Circa|1200 BC}}) originated from the [[Khotan]] area, on the southern rim of the Tarim Basin.{{sfn|Liu|2001a|p=265}} According to the ''Guanzi'', the Yúzhī/Niúzhī, unlike the neighbouring [[Xiongnu]], did not engage in conflict with nearby Chinese states.
* The epic novel ''[[Tale of King Mu, Son of Heaven]]'' (early 4th century BC) also mentions a plain of ''Yúzhī''{{efn|禺知 (OC: *ŋʷjo-kje)}} to the northwest of the Zhou lands.{{sfn|Thierry|2005}}
* Chapter 59 of the ''[[Yi Zhou Shu]]'' (probably dating from the 4th to 1st century BC) refers to a ''Yúzhī''{{efn|禺氏 (OC: *ŋʷjo-kje)}} people living to the northwest of the Zhou domain and offering horses as tribute. A late supplement contains the name ''Yuèdī'',{{efn|月氐 (OC: *ŋʷjat-tij)}} which may be a misspelling of the name ''Yuèzhī''{{efn|月氏 (OC: *ŋʷjat-kje)}} found in later texts.{{sfn|Thierry|2005}}
In the 1st century BC, [[Sima Qian]] – widely regarded as the founder of [[Chinese historiography]] – describes how the [[Qin dynasty]] (221–206 BC) bought jade and highly valued military [[horse]]s from a people that Sima Qian called the ''Wūzhī'',{{efn|烏氏 (OC: *ʔa-kje)}} led by a man named Luo. The ''Wūzhī'' traded these goods for Chinese [[silk]], which they then sold on to other neighbours.{{sfn|Benjamin|2007|p=32}}{{sfn|Liu|2010|pp=3–4}} This is probably the first reference to the Yuezhi as a lynchpin in trade on the [[Silk Road]],{{sfn|Liu|2001a|p=273}} which in the 3rd century BC began to link Chinese states to Central Asia and, eventually, the Middle East, the Mediterranean and Europe.
== Account of Zhang Qian ==
The earliest detailed account of the Yuezhi is found in chapter 123 of the ''[[Records of the Great Historian]]'' by [[Sima Qian]], describing a mission of [[Zhang Qian]] in the late 2nd century BC. Essentially the same text appears in chapter 61 of the ''[[Book of Han]]'', though Sima Qian has added occasional words and phrases to clarify the meaning.<ref>{{cite book |first=Michael A.N. |last=Loewe |chapter=Introduction |pages=1–70 |title=China in Central Asia: The Early Stage: 125 BC – AD 23; an Annotated Translation of Chapters 61 and 96 of the History of the Former Han Dynasty |editor-first=Anthony François Paulus |editor-last=Hulsewé |publisher=Brill |year=1979 |isbn=978-90-04-05884-2 }} pp. 23–24.</ref>
Both texts use the name ''Yuèzhī'',{{efn|月氏 (OC: *ŋʷjat-kje)}} composed of characters meaning "moon" and "clan" respectively.{{sfn|Thierry|2005}} Several different [[romanization]]s of this [[Chinese language|Chinese-language]] name have appeared in print. The Iranologist [[Harold Walter Bailey|H. W. Bailey]] preferred ''Üe-ṭşi''.<ref name="Bailey">H. W. Bailey, ''Indo-Scythian Studies: Being Khotanese Texts'' (vol. 7). Cambridge, [[Cambridge University Press]], pp. 6–7, 16, 101, 116, 121, 133.</ref> Another modern Chinese pronunciation of the name is ''Ròuzhī'', based on the thesis that the character {{linktext|月}} in the name is a scribal error for {{linktext|肉}}; however Thierry considers this thesis "thoroughly wrong".{{sfn|Thierry|2005}}
=== Yuezhi and Xiongnu ===
The account begins with the Yuezhi occupying the grasslands to the northwest of China at the beginning of the 2nd century BC:
{{Continental Asia in 200 BCE|right|Original location of the Yuezhi in [[Gansu]] circa 200 BCE, per Chinese sources (in black, ''"between [[Dunhuang]] and [[Qilian County|Qilian]]"''). Alternate possible original location in red ([[Tian Shan]] mountains), suggested by some authors.{{sfn|Mallory|Mair|2000|pp=283–284}}{{sfn|Liu|2001a|pp=267–268}}|{{Annotation|182|65|[[File:Orange dot (semi-transparent).png|20px]]}}{{Annotation|142|59|[[File:Orange dot (semi-transparent).png|20px]]}}{{Annotation|140|65|[[Yuezhis|<span style="color:#FF0000">''YUEZHI''</span>]]|font-weight=bold|font-style=normal|font-size=6|color=#000000}}|}}
{{blockquote|The Great Yuezhi was a nomadic horde. They moved about following their cattle, and had the same customs as those of the Xiongnu. As their soldiers numbered more than a hundred thousand, they were strong and despised the Xiongnu. In the past, they lived in the region between [[Dunhuang]] and [[Qilian County|Qilian]].|title=''[[Book of Han]]''|source=61}}
The area between the [[Qilian Mountains]] and [[Dunhuang]] lies in the western part of the modern Chinese province of [[Gansu]], but no archaeological remains of the Yuezhi have yet been found in this area.{{sfn|Mallory|Mair|2000|pp=283–284}} Some scholars have argued that "Dunhuang" should be [[Dunhong]], a mountain in the [[Tian Shan]], and that Qilian should be interpreted as a name for the Tian Shan. They have thus placed the original homeland of the Yuezhi 1,000 km further northwest in the grasslands to the north of the Tian Shan (in the northern part of modern [[Xinjiang]]).{{sfn|Mallory|Mair|2000|pp=283–284}}{{sfn|Liu|2001a|pp=267–268}} Other authors suggest that the area identified by Sima Qian was merely the core area of an empire encompassing the western part of the Mongolian plain, the upper reaches of the [[Yellow River]], the [[Tarim Basin]] and possibly much of central Asia, including the [[Altai Mountains]], the site of the [[Pazyryk burials]] of the [[Ukok Plateau]].{{sfn|Enoki|Koshelenko|Haidary|1994|pp=169–172}}
By the late 3rd century the [[Xiongnu]] monarch [[Touman]] even sent his eldest son [[Modu Chanyu|Modu]] as a hostage to the Yuezhi. The Yuezhi often attacked their neighbour the [[Wusun]] to acquire slaves and pasture lands. Wusun originally lived together with the Yuezhi in the region between Dunhuang and Qilian Mountain. The Yuezhi attacked the Wusuns, killed their monarch Nandoumi and took his territory. The son of Nandoumi, Kunmo fled to the Xiongnu and was brought up by the Xiongnu monarch.
[[File:Noin-Ula carpet.jpg|thumb|upright=2|Figures in one of the embroidered carpets of the [[Xiongnu]] [[Noin-Ula burial site]], a luxury item probably imported from [[Bactria]].<ref name="We Drank Soma, We Became Immortal…">{{cite journal |last1=Polosmak |first1=Natalia V. |title=We Drank Soma, We Became Immortal… |journal=SCIENCE First Hand |date=2010 |volume=26 |issue=N2 |url=https://scfh.ru/en/papers/we-drank-soma-we-became-immortal-/ |language=en}}</ref> They are thought to represent Yuezhis. 1st century BC - 1st century AD.<ref name="CAY">{{cite book |last1=Betts |first1=Alison |last2=Vicziany |first2=Marika |last3=Jia |first3=Peter Weiming |last4=Castro |first4=Angelo Andrea Di |title=The Cultures of Ancient Xinjiang, Western China: Crossroads of the Silk Roads |date=19 December 2019 |publisher=Archaeopress Publishing Ltd |isbn=978-1-78969-407-9 |page=104 |url=https://books.google.com/books?id=rxUSEAAAQBAJ&pg=PA104 |language=en|quote="In Noin-Ula (Noyon Uul), Mongolia, the remarkable elite Xiongnu tombs have revealed textiles that are linked to the pictorial tradition of the Yuezhi: the decorative faces closely resemble the [[Khalchayan]] portraits, while the local ornaments have integrated elements of Graeco-Roman design. These artifacts were most probably manufactured in Bactria"}}</ref><ref name="YUESA"/><ref name="LN"/><ref>{{cite journal |last1=Yatsenko |first1=Sergey A. |title=Yuezhi on Bactrian Embroidery from Textiles Found at Noyon uul, Mongolia |journal=The Silk Road |date=2012 |volume=10 |url=http://www.silkroadfoundation.org/newsletter/vol10/SilkRoad_10_2012_yatsenko.pdf}}</ref><ref name="History Embroidered in Wool">{{cite journal |last1=Polosmak |first1=Natalia V. |title=History Embroidered in Wool |journal=SCIENCE First Hand |date=2012 |volume=31 |issue=N1 |url=https://scfh.ru/en/papers/history-embroidered-in-wool/ |language=en}}</ref><ref name="academia.edu">{{cite journal |last1=Francfort |first1=Henri-Paul|author-link= Henri-Paul Francfort |title=Sur quelques vestiges et indices nouveaux de l'hellénisme dans les arts entre la Bactriane et le Gandhāra (130 av. J.-C.-100 apr. J.-C. environ) |journal=Journal des Savants |date=1 January 2020 |pages=26–27, Fig.8 |url=https://www.academia.edu/45042820 |language=en}}</ref>]]
Gradually the Xiongnu grew stronger, and war broke out with the Yuezhi. There were at least four wars according to the Chinese accounts. The first war broke out during the reign of the Xiongnu monarch Touman (who died in 209 BC) who suddenly attacked the Yuezhi. The Yuezhi wanted to kill Modu, the son of the Xiongnu king Touman kept as a hostage to them, but Modu stole a good horse from them and managed to escape to his country. He subsequently killed his father and became ruler of the Xiongnu.{{sfn|Mallory|Mair|2000|p=94}} It appears that the Xiongnu did not defeat the Yuezhi in this first war. The second war took place in the 7th year of the Modu era (203 BC). In this war, a large area of the territory originally belonging to the Yuezhi was seized by the Xiongnu and the hegemony of the Yuezhi started to shake. The third war probably was in 176 BC (or shortly before), and the Yuezhi were badly defeated.
Shortly before 176 BC, led by one of Modu's tribal chiefs, the Xiongnu invaded Yuezhi territory in the [[Gansu]] region and achieved a crushing victory.<ref name="Benjamin_Marshak">{{cite journal|last=Benjamin|first=Craig|author-link=Craig Benjamin|date=October 2003|title=The Yuezhi Migration and Sogdia|url=http://www.transoxiana.org/Eran/Articles/benjamin.html|journal=Transoxiana Webfestschrift|publisher=Transoxiana|volume=1|issue=Ēran ud Anērān|access-date=29 May 2015}}</ref>{{sfn|Beckwith|2009|pp=380–383}} Modu boasted in a letter (174 BC) to the Han emperor<ref>{{cite book |title=Early Türks: Essays on History and Ideology |first=Yu. A. |last=Zuev |author-link=Yury Zuev |page=15 |location=Almaty |year=2002 |quote=...Maodun proudly informed emperor Han: . . . Due to the favor of the Sky, the commanders and soldiers were in sound condition, and the horses were strong, which allowed me to destroy Uechji, who were exterminated or surrendered.}}</ref> that due to "the excellence of his fighting men, and the strength of his horses, he has succeeded in wiping out the Yuezhi, slaughtering or forcing to submission every number of the tribe." The son of Modu, [[Laoshang Chanyu]] (ruled 174–166 BC), subsequently killed the king of the Yuezhi and, in accordance with nomadic traditions, "made a [[skull cup|drinking cup]] out of his skull." (''Shiji'' 123.{{sfn|Watson|1993|p=234}})
The wife of the murdered king became the new monarch of Greater Yuezhi.<ref>[[:s:zh:漢書/卷061|Book of Han, vol. 61]]</ref><ref>{{Cite book |editor-last=Mair |editor-first=Victor H. |editor-link=Victor H. Mair|url=https://archive.org/details/dli.pahar.3699/page/777/mode/1up |title=The Bronze Age and Early Iron Age Peoples of Eastern Central Asia |date=1998 |publisher=The Institute for the Study of Man in collaboration with The University of Pennsylvania Museum Publications |volume=2|page=777|isbn=978-0-941694-63-6|quote=Among the Greater Yuezhi it appears that a lady was appointed to be the ruling queen on at least one occasion. "Zhang Qian zhuan" 張騫傳 (Biography of Zhang Qian) in the ''History of the Han'' records that after the king of the Greater Yuezhi was killed by the Xiongnu, his wife was appointed to be the queen.}}</ref>
Nevertheless, in about 173 BC, the Wusun were apparently defeated by the Yuezhi, who killed a Wusun king{{efn|''kunmi'' {{zh|昆彌}} or ''kunmo'' {{zh|昆莫}}}} known as Nandoumi.{{efn|{{zh|難兜靡}}}}<ref name="Benjamin_Marshak"/>{{sfn|Beckwith|2009|pp=6–7}}
=== Exodus of the Great Yuezhi ===
{{ Annotated image
| image=Western Regions 1st century BC(en).png
<!-- DO NOT CHANGE MAP SIZE (300) AS THIS WILL DISPLACE THE LABELS -->
| width=300 | image-width = 300 | image-left=0 | image-top=0| float = right
| annotations =
{{Annotation|71|96|[[File:Red cartridge.png|65px]]}}
| caption=Central Asia in the 1st century BC, and transitory location of the "Great Yuezhi".
}}
After their defeat by the Xiongnu, the Yuezhi split into two groups. The Lesser or Little Yuezhi{{efn|''Xiao Yuezhi''}} moved to the "southern mountains", believed to be the [[Qilian Mountains]] on the edge of the [[Tibetan Plateau]], to live with the [[Qiang (historical people)|Qiang]].{{sfn|Enoki|Koshelenko|Haidary|1994|p=170}}
The so-called Greater or Great Yuezhi{{efn|''Dà Yuèzhī'', 大月氏}} began migrating north-west in about 165 BC,<ref>Chavannes (1907) "Les pays d'occident d'après le ''Heou Han chou''". ''T'oung pao'', ser.2:8, p. 189, n. 1</ref> first settling in the [[Ili valley]], immediately north of the [[Tian Shan]] mountains, where they defeated the [[Saka|Sai]] (Sakas): "The Yuezhi attacked the king of the Sai who moved a considerable distance to the south and the Yuezhi then occupied his lands" (''Book of Han'' 61 4B). This was "the first historically recorded movement of peoples originating in the high plateaus of Asia."<ref name=Rene>{{Cite book|last=Grousset|first=Rene|title=The Empire of the Steppes|publisher=Rutgers University Press|year=1970|isbn=0-8135-1304-9|pages=[https://archive.org/details/empireofsteppesh00prof/page/27 27–28]|url=https://archive.org/details/empireofsteppesh00prof/page/27}}</ref>
In 132 BC the [[Wusun]], in alliance with the Xiongnu and out of revenge from an earlier conflict, again managed to dislodge the Yuezhi from the Ili Valley, forcing them to move south-west.<ref name="Benjamin_Marshak"/> The Yuezhi passed through the neighbouring urban civilization of [[Dayuan]] (in [[Ferghana]]) and settled on the northern bank of the [[Oxus]], in the region of northern [[Bactria]], or [[Transoxiana]] (modern [[Tajikistan]] and [[Uzbekistan]]).
=== Visit of Zhang Qian ===
[[File:ZhangQianTravels.jpg|thumb|225px|A later mural ({{Circa|618}}–712 AD) from the [[Mogao Caves]], depicting the Chinese mission of [[Zhang Qian]] to the Yuezhi in 126 BC.]]
The Yuezhi were visited in [[Transoxiana]] by a Chinese mission, led by [[Zhang Qian]] in 126 BC,<ref>[http://www.megalithic.co.uk/article.php?sid=18006 ''Silk Road, North China''], C. Michael Hogan, The Megalithic Portal, A. Burnham, ed.</ref> which sought an offensive alliance with the Yuezhi against the Xiongnu. His request for an alliance was denied by the Yuezhi, who now had a peaceful life in Transoxiana and had no interest in revenge. Zhang Qian, who spent a year in Transoxiana and [[Bactria]], wrote a detailed account in [[Shiji|the ''Shiji'']], which gives considerable insight into the situation in [[Central Asia]] at the time.{{sfn|Watson|1993|pp=233–236}}
Zhang Qian also reported:
{{blockquote|text=the Great Yuezhi live 2,000 or 3,000 ''li'' [832–1,247 kilometers] west of ''[[Dayuan]]'', north of the ''Gui'' {{bracket|[[Oxus]] }} river. They are bordered on the south by ''[[Daxia]]'' {{bracket|[[Bactria]]}}, on the west by ''Anxi'' {{bracket|[[Parthia]]}}, and on the north by ''[[Kangju]]'' [beyond the middle [[Jaxartes]]/Syr Darya]. They are a nation of [[nomad]]s, moving from place to place with their herds, and their customs are like those of the Xiongnu. They have some 100,000 or 200,000 archer warriors.|title=''Shiji''|source=123{{sfn|Watson|1993|p=234}}}}
In a sweeping analysis of the physical types and cultures of Central Asia, Zhang Qian reports:
{{blockquote|text=Although the states from Dayuan west to Anxi (Parthia), speak rather different languages, their customs are generally similar and their languages mutually intelligible. The men have deep-set eyes and profuse beards and whiskers. They are skilful at commerce and will haggle over a fraction of a cent. Women are held in great respect, and the men make decisions on the advice of their women.|title=''Shiji''|source=123{{sfn|Watson|1993|p=245}}}}
[[File:Amudaryamap.jpg|thumb|right|Watershed of the Oxus River (modern Amu Darya)]]
Zhang Qian also described the remnants of the [[Greco-Bactrian Kingdom]] on the other side of the [[Oxus River]] (Chinese ''Gui'') as a number of autonomous city-states under Yuezhi suzerainty:{{sfn|Enoki|Koshelenko|Haidary|1994|p=175}}
{{blockquote|text=Daxia is located over 2,000 li southwest of Dayuan, south of the Gui river. Its people cultivate the land and have cities and houses. Their customs are like those of Ta-Yuan. It has no great ruler but only a number of petty chiefs ruling the various cities. The people are poor in the use of arms and afraid of battle, but they are clever at commerce. After the Great Yuezhi moved west and attacked the lands, the entire country came under their sway. The population of the country is large, numbering some 1,000,000 or more persons. The capital is called the city of Lanshi and has a market where all sorts of goods are bought and sold.|title=''Shiji''|source=123{{sfn|Watson|1993|p=235}}}}
== Later Chinese accounts ==
The next mention of the Yuezhi in Chinese sources is found in chapter 96A of the ''[[Book of Han]]'' (completed in AD 111), relating to the early 1st century BC. At this time, the Yuezhi are described as occupying the whole of Bactria, organized into five major tribes or ''xīhóu''{{efn|Ch:翖侯, "Allied Prince"}}.{{sfn|Narain|1990|p=158}} These tribes were known to the Chinese as:
* ''Xiūmì'' (休密) in Western [[Wakhān]] and [[Zibak]];
* ''Guìshuāng'' (貴霜) in [[Badakhshan]] and adjoining territories north of the [[Oxus]];
* ''Shuāngmí'' (雙靡) in the region of [[Shughnan]] or [[Chitral]].<ref>{{Cite book|last=Sagar|first=Krishna Chandra|url=https://books.google.com/books?id=0UA4rkm9MgkC&q=Chitral&pg=PA162|title=Foreign Influence on Ancient India|date=1992|publisher=Northern Book Centre|isbn=978-81-7211-028-4|language=en}}</ref>
* ''Xīdùn'' (肸頓) in the region of [[Balkh]], and;
* ''Dūmì'' (都密) in the region of [[Termez]].<ref>Hill (2004), pp. 29, 318–350</ref>
{{multiple image|perrow=2|total_width=400|caption_align=center
| align = right
| direction =horizontal
| image1 = Kalchayan Prince warrior (full).jpg
| image2 = Khalchayan Prince, side view.jpg
| footer=Yuezhi Prince from [[Khalchayan]], 1st century BCE. He displays [[artificial cranial deformation]].<ref>{{cite book |title=KHALCHAYAN – Encyclopaedia Iranica |page=Figure 1 |url=http://www.iranicaonline.org/articles/khalchayan#prettyPhoto[content]/0/}}</ref><ref name="BR">{{cite journal |last1=Rowland |first1=Benjamin |title=Graeco-Bactrian Art and Gandhāra: Khalchayan and the Gandhāra Bodhisattvas |journal=Archives of Asian Art |date=1971 |volume=25 |pages=29–35 |jstor=20111029 |issn=0066-6637}}</ref> At his feet, a lamellar armour with neck-guard, a trophy from the [[Saka]] Scythians.<ref name="SPL56">{{cite book |last1=Frantz |first1=Grenet |title=Splendeurs des oasis d'Ouzbékistan |date=2022 |publisher=Louvre Editions |location=Paris |isbn=978-8412527858 |page=56}}</ref> [[Museum of Arts of Uzbekistan]], nb 40.
}}
The ''[[Book of the Later Han]]'' (5th century CE) also records the visit of Yuezhi envoys to the Chinese capital in 2 BC, who gave oral teachings on [[Buddhist]] sutras to a student, suggesting that some Yuezhi already followed the [[Buddhist]] faith during the 1st century BC (Baldev Kumar 1973).
Chapter 88 of the ''[[Book of the Later Han]]'' relies on a report of [[Ban Yong]], based on the campaigns of his father [[Ban Chao]] in the late 1st century AD. It reports that one of the five tribes of the Yuezhi, the ''Guishuang'', had managed to take control of the tribal confederation:{{sfn|Narain|1990|p=159}}
{{blockquote|text=More than a hundred years later, the ''xihou'' of Guishuang, named Qiujiu Que{{efn|Ch: 丘就卻, Kujula Kadphises}} attacked and exterminated the four other ''xihou''. He set himself up as king of a kingdom called Guishuang (Kushan). He invaded Anxi ([[Parthia]]) and took the Gaofu{{efn|Ch:高附, [[Kabul]]}} region. He also defeated the whole of the kingdoms of Puda{{efn|Ch: 濮達}} and Jibin.{{efn|Ch: 罽賓, [[Kapiśa]]-[[Gandhāra]]}} Qiujiu Que (Kujula Kadphises) was more than eighty years old when he died.
His son, ''Yan Gaozhen''{{efn|Ch:閻高珍}} ([[Vima Takto]]), became king in his place. He returned and defeated [[Names of India#Tianzhu|Tianzhu]] (Northwestern India) and installed a General to supervise and lead it. The Yuezhi then became extremely rich. All the kingdoms call [their king] the Guishuang (Kushan) king, but the [[Han dynasty|Han]] call them by their original name, Da Yuezhi.|source=''Book of the Later Han'', trans. John Hill{{sfn|Hill|2009|pp=28–29}}<ref>{{lang|zh-hant|後百餘歲,貴霜翕候丘就卻攻滅四翕候,自立為王,國號貴霜王。侵安息,取高附地。又滅濮達、罽賓,悉有其國。丘就卻年八十餘死,子閻膏珍代為王。復滅天竺,置將一人監領之。月氏自此之後,最為富盛,諸國稱之皆曰貴霜王。漢本其故號,言大月氏云。}}[http://www.guoxue.com/discord/xwm/jnsj.htm ''Hanshu'', 96]</ref>}}
A later Chinese annotation in Zhang Shoujie's ''[[Shiji]]'' (quoting Wan Zhen 萬震 in ''Nánzhōuzhì'' 南州志 ["Strange Things from the Southern Region"], a now-lost 3rd-century text from the [[Eastern Wu|Wu kingdom]]), describes the Kushans as living in the same general area north of India, in cities of Greco-Roman style, and with sophisticated handicraft. The quotes are dubious, as Wan Zhen probably never visited the Yuezhi kingdom through the [[Silk Road]], though he might have gathered his information from the trading ports in the coastal south.<ref name=taishan>Yu Taishan (2nd Edition 2003). ''A Comprehensive History of Western Regions''. Zhengzhou: Zhongzhou Guji Press. {{ISBN|7-5348-1266-6}}</ref> Chinese sources continued to use the name Yuezhi and seldom used the Kushan (or ''Guishuang'') as a generic term:
{{blockquote|text=The Great Yuezhi are located about seven thousand ''li'' [2,910 km] north of India. Their land is at a high altitude; the climate is dry; the region is remote. The king of the state calls himself "son of heaven". There are so many riding horses in that country that the number often reaches several hundred thousand. City layouts and palaces are quite similar to those of [[Daqin]] [the Roman Empire]. The skin of the people there is reddish white. People are skilful at horse archery. Local products, rarities, treasures, clothing, and upholstery are very good, and even India cannot compare with it.|author=Wan Zhen (3rd century AD)<ref name="notes13">[http://depts.washington.edu/silkroad/texts/hhshu/notes13.html Notes to Section 13], ''The Western Regions according to the Hou Hanshu'', trans. John Hill.</ref>}}
== Kushana ==
{{multiple image|perrow=3|total_width=550|caption_align=center
| align = right
| direction =horizontal
| header=Yuezhis in Bactria, on Noin-Ula carpets
| image1 = Noin-Ula nobleman over firealtar.jpg
| caption1 = Yuezhi nobleman over firealtar, [[Noin-Ula]].<ref>{{cite journal |last1=Yatsenko |first1=Sergey A. |title=Yuezhi on Bactrian Embroidery from Textiles Found at Noyon uul, Mongolia |journal=The Silk Road |date=2012 |volume=10 |url=http://www.silkroadfoundation.org/newsletter/vol10/SilkRoad_10_2012_yatsenko.pdf}}</ref><ref name="academia.edu">{{cite journal |last1=Francfort |first1=Henri-Paul|author-link= Henri-Paul Francfort |title=Sur quelques vestiges et indices nouveaux de l'hellénisme dans les arts entre la Bactriane et le Gandhāra (130 av. J.-C.-100 apr. J.-C. environ) |journal=Journal des Savants |date=1 January 2020 |pages=26–27, Fig.8 |url=https://www.academia.edu/45042820 |language=en}}</ref><ref>{{cite book |last1=Betts |first1=Alison |last2=Vicziany |first2=Marika |last3=Jia |first3=Peter Weiming |last4=Castro |first4=Angelo Andrea Di |title=The Cultures of Ancient Xinjiang, Western China: Crossroads of the Silk Roads |date=19 December 2019 |publisher=Archaeopress Publishing Ltd |isbn=978-1-78969-407-9 |page=104 |url=https://books.google.com/books?id=rxUSEAAAQBAJ&pg=PA104 |language=en}}</ref>
| image2 = Noin-Ula horseman.jpg
| caption2 = Yuezhi armoured horseman, [[Noin-Ula]].<ref>{{cite journal |last1=Yatsenko |first1=Sergey A. |title=Yuezhi on Bactrian Embroidery from Textiles Found at Noyon uul, Mongolia |journal=The Silk Road |date=2012 |volume=10 |url=http://www.silkroadfoundation.org/newsletter/vol10/SilkRoad_10_2012_yatsenko.pdf}}</ref>
| image3=Noin-Ula battle scene.jpg
| caption3=Yuezhi (left) fighting a [[Sogdia]]n behind a shield (right), [[Noin-Ula]].<ref>{{cite journal |last1=Yatsenko |first1=Sergey A. |title=Yuezhi on Bactrian Embroidery from Textiles Found at Noyon uul, Mongolia |journal=The Silk Road |date=2012 |volume=10 |url=http://www.silkroadfoundation.org/newsletter/vol10/SilkRoad_10_2012_yatsenko.pdf}}</ref>
| footer=
}}
The Central Asian people who called themselves ''Kushana'', were among the conquerors of the Greco-Bactrian Kingdom during the 2nd century BC,<ref>{{cite book|author=Millward, James A.|year=2007|title=Eurasian Crossroads: A History of Xinjiang|publisher=Columbia University Press, New York|page=15|isbn= 978-0-231-13924-3|url=https://books.google.com/books?id=8FVsWq31MtMC&pg=PA15}}</ref> and are widely believed to have originated as a dynastic clan or tribe of the Yuezhi.<ref>{{cite book|last=Runion|first=Meredith L.| title=The history of Afghanistan|url=https://archive.org/details/historyafghanist00runi_653|url-access=limited|year=2007|publisher=Greenwood Press|location=Westport|isbn=978-0-313-33798-7|page=[https://archive.org/details/historyafghanist00runi_653/page/n66 46]|quote=The Yuezhi people conquered Bactria in the second century BC, and divided the country into five chiefdoms, one of which would become the Kushan Empire. Recognizing the importance of unification, these five tribes combined under the one dominate Kushan tribe, and the primary rulers descended from the Yuezhi.}}</ref>{{sfn|Liu|2001b|p=156}} The area of Bactria they settled came to be known as [[Tokharistan]]. Because some inhabitants of Bactria became known as ''Tukhāra'' (Sanskrit) or ''Tókharoi'' (Τοχάριοι; Greek), these names later became associated with the Yuezhi.
The Kushana spoke [[Bactrian language|Bactrian]], an [[Eastern Iranian language]].<ref name="Tocharian Online Introduction">{{cite web |title=Tocharian Online: Series Introduction |first1=Todd B. |last1=Krause |first2=Jonathan |last2=Slocum |publisher=University of Texas at Austin |url=https://lrc.la.utexas.edu/eieol/tokol/00 | access-date=21 November 2016 }}</ref>
===Bactria===
In the 3rd century BC, Bactria had been conquered by the Greeks under [[Alexander the Great]] and since settled by the [[Hellenistic civilization]] of the [[Seleucids]].
The resulting [[Greco-Bactrian Kingdom]] lasted until the 2nd century BC. The area came under pressure from various nomadic peoples and the Greek city of [[Alexandria on the Oxus]] was apparently burnt to the ground in about 145 BC.{{sfn|Bernard|1994|p=100}} The last Greco-Bactrian king, [[Heliocles I]], retreated and moved his capital to the Kabul Valley. In about 140–130 BC, the Greco-Bactrian state was conquered by the nomads and dissolved. The Greek geographer [[Strabo]] mentions this event in his account of the central Asian tribes he called "[[Scythians]]":{{sfn|Enoki|Koshelenko|Haidary|1994|p=174}} {{blockquote|text=All, or the greatest part of them, are nomads. The best known tribes are those who deprived the Greeks of [[Bactria]]na: the Asii, Pasiani, Tochari, and Sacarauli, who came from the country on the other side of the [[Jaxartes]] [Syr Darya], opposite the Sacae and [[Sogdians|Sogdiani]].|author=[[Strabo]]|source=<ref>[[Strabo]], [https://www.perseus.tufts.edu/cgi-bin/ptext?lookup=Strab.+11.8.1 11-8-1].</ref>}}
{{multiple image|perrow=2|total_width=400|caption_align=center
| align = right
| direction =horizontal
| header=Early Yuezhis coinage
| image1 = Yuezhi copy of Heliocles I coin.jpg
| caption1 = Yuezhi anonymous copy of a coin of [[Greco-Bactrian]] king [[Heliocles]]
| image2 = Yuezhi copy of Heliocles I coin with horse.jpg
| caption2 = Yuezhi anonymous of a coin of [[Greco-Bactrian]] king [[Heliocles]], with original horse on the reverse
| image3 =YUEZHI. Arseiles. Late 1st century BCE.jpg
| caption3=Yuezhi ruler [[Arseiles]]. Late 1st century BCE
| image4 =Coin of Sapadbizes.jpg
| caption4=Yuezhi ruler [[Sapadbizes]]. Late 1st century BCE
| footer=
}}
Writing in the 1st century BC, the Roman historian [[Pompeius Trogus]] attributed the destruction of the Greco-Bactrian state to the Sacaraucae and the Asiani "kings of the Tochari".{{sfn|Enoki|Koshelenko|Haidary|1994|p=174}} Both Pompeius and the Roman historian [[Justin (historian)|Justin]] (2nd century AD) record that the Parthian king [[Artabanus II of Parthia|Artabanus II]] was mortally wounded in a war against the Tochari in 124 BC.<ref>{{Cite book|last=Grousset|first=Rene|title=The Empire of the Steppes|publisher=Rutgers University Press|year=1970|isbn=0-8135-1304-9|page=[https://archive.org/details/empireofsteppesh00prof/page/31 31]|quote=This would seem to prove that the Yueh-chih of Chinese history – if they correspond, as supposed, to the Tokharoi of Greek history – were from that time established in Bactria, a country of which they later made a 'Tokharistan'.|url=https://archive.org/details/empireofsteppesh00prof/page/31}}</ref> Several relationships between these tribes and those named in Chinese sources have been proposed, but remain contentious.{{sfn|Enoki|Koshelenko|Haidary|1994|p=174}}
After they settled in Bactria, the Yuezhi became [[Hellenisation|Hellenized]] to some degree – as shown by their adoption of the [[Greek alphabet]] and by some remaining coins, minted in the style of the [[Greco-Bactrian]] kings, with the text in Greek.{{sfn|Narain|1990|p=161}}
====Noin-Ula carpets====
According to Sergey Yatsenko, the carpets with vivid embroidered scenes discovered in [[Noin-Ula]] were made by the Yuezhi in [[Bactria]], and were obtained by the [[Xiongnu]] through commercial exchange or tributary payment, as the Yuezhi may have remained tributaries of the Xiongnu for a long time following their defeat. Embroidered carpets were among the highest-prized luxury items for the Xiongnu. The figures depicted in the carpets are believed to reflect the clothing and customs of the Yuezhi while they were in Bactria in the 1st century BCE-1st century CE.<ref>{{cite journal |last1=Yatsenko |first1=Sergey A. |title=Yuezhi on Bactrian Embroidery from Textiles Found at Noyon uul, Mongolia |journal=The Silk Road |date=2012 |volume=10 |url=http://www.silkroadfoundation.org/newsletter/vol10/SilkRoad_10_2012_yatsenko.pdf}}</ref>
====Tillya Tepe====
[[File:TillyaTepe dagger.jpg|thumb|A dagger excavated in [[Tillya Tepe]].]]
The graves of [[Tillya Tepe]], complete with numerous artifacts, dated to the period between the 1st century BCE and the 1st century CE, probably belonged to the Yuezhis/early Kushans after the fall of the [[Greco-Bactrian Kingdom]] and before the rise of the [[Kushan Empire]].<ref name="DS16"/> They correspond to a time when the Yuezhis had not yet encountered Buddhism.<ref name="DS16">{{cite book |last1=Srinivasan |first1=Doris |title=On the Cusp of an Era: Art in the Pre-Kuṣāṇa World |date=30 April 2007 |publisher=BRILL |isbn=978-90-474-2049-1 |page=16 |url=https://books.google.com/books?id=ZuevCQAAQBAJ&pg=PA16 |language=en}}</ref>
===In the Hindu Kush===
The area of the [[Hindu Kush]] ([[Paropamisadae]]) was ruled by the western [[Indo-Greek]] king until the reign of [[King Hermaeus|Hermaeus]] (reigned {{Circa|90 BC}}–70 BC). After that date, no Indo-Greek kings are known in the area. According to [[Bopearachchi]], no trace of [[Indo-Scythian]] occupation (nor coins of major Indo-Scythian rulers such as [[Maues]] or [[Azes I]]) have been found in the [[Paropamisade]] and western [[Gandhara]]. The Hindu Kush may have been subsumed by the Yuezhi, {{Original research inline|date=August 2008}} who by then had been dominated by [[Greco-Bactria]] for almost two centuries.
As they had done in Bactria with their copying of [[Greco-Bactrian]] coinage, the Yuezhi copied the coinage of [[King Hermaeus|Hermeaus]] on a vast scale, up to around 40 AD, when the design blends into the coinage of the [[Kushan Empire|Kushan]] king [[Kujula Kadphises]]. Such coins may provide the earliest known names of Yuezhi ''[[yabgu]]'' (a minor royal title, similar to prince), namely [[Sapadbizes]]{{Original research inline|date=August 2008}} and/or [[Agesiles]], who both lived in or about 20 BC.
===Kushan Empire===
{{main|Kushan Empire}}
[[File:Heraios_coin.jpg|thumb|upright=1.3|The first self-declared Kushan ruler [[Heraios]] (1–30 AD) in [[Greco-Bactrian]] style<br>'''Obv:''' Bust of Heraios, with Greek royal headband.<br>'''Rev:''' Horse-mounted King, crowned with a wreath by the [[Greek mythology|Greek]] goddess of victory [[Nike (mythology)|Nike]]. Greek legend: TVPANNOVOTOΣ HΛOV – ΣΛNΛB – KOÞÞANOY "The Tyrant Heraios, Sanav (meaning unknown), of the Kushans"]]
After that point, they extended their control over the northwestern area of the Indian subcontinent, founding the [[Kushan Empire]], which was to rule the region for several centuries.<ref>{{cite book|last=Runion|first=Meredith L.| title=The history of Afghanistan|url=https://archive.org/details/historyafghanist00runi_653|url-access=limited|year=2007|publisher=Greenwood Press|location=Westport|isbn=978-0-313-33798-7|page=[https://archive.org/details/historyafghanist00runi_653/page/n66 46]|quote=The Yuezhi people conquered Bactria in the second century BC and divided the country into five chiefdoms, one of which would become the Kushan Empire. Recognizing the importance of unification, these five tribes combined under the one dominate Kushan tribe, and the primary rulers descended from the Yuezhi.}}</ref>{{sfn|Liu|2001b|p=156}}{{sfn|Beckwith|2009|pp=84–85}} Despite their change of name, most Chinese authors continued to refer to the Kushanas as the Yuezhi.
The Kushanas expanded to the east during the 1st century AD. The first Kushan emperor, [[Kujula Kadphises]], ostensibly associated himself with [[King Hermaeus]] on his coins.{{Citation needed|date=June 2019}}
The Kushanas integrated [[Buddhism]] into a pantheon of many deities and became great promoters of [[Mahayana Buddhism]], and their interactions with Greek civilization helped the [[Gandhara]]n culture and [[Greco-Buddhism]] flourish.
During the 1st and 2nd centuries, the Kushan Empire expanded militarily to the north and occupied parts of the [[Tarim Basin]], putting them at the center of the lucrative Central Asian commerce with the [[Roman Empire]]. The Kushanas collaborated militarily with the Chinese against their mutual enemies. This included a campaign with the Chinese general [[Ban Chao]] against the Sogdians in 84 CE, when the latter were trying to support a revolt by the king of [[Kashgar]]. In around AD 85,{{Citation needed|date=March 2007}} the Kushanas also assisted the Chinese in an attack on [[Turpan]], east of the Tarim Basin.
[[File:YuezhiKingAndAttendants.jpg|thumb|left|Possible Yuezhi king and attendants, [[Gandhara]] [[stone palette]], 1st century AD]]
Following the military support provided to the Han, the Kushan emperor requested a marriage alliance with a [[Han dynasty|Han]] princess and sent gifts to the Chinese court in expectation that this would occur. After the Han court refused, a Kushan army 70,000 strong marched on Ban Chao in 86 AD. The army was apparently exhausted by the time it reached its objective and was defeated by the Chinese force. The Kushanas retreated and later paid tribute to the Chinese emperor [[Emperor He of Han China|Han He]] (89–106).
In about 120 AD, Kushan troops installed Chenpan—a prince who had been sent as a hostage to them and had become a favorite of the Kushan Emperor—on the throne of [[Kashgar]], thus expanding their power and influence in the [[Tarim Basin]].{{sfn|Hill|2009|pp=14, 43}} There they introduced the [[Brāhmī script|Brahmi]] script, the Indian [[Prakrit]] language for administration, and [[Greco-Buddhist art]], which developed into [[Serindian art]].
[[File:Buddha triad monk layman Guimet MG21157.jpg|285px|thumb|right|Buddhist art {{Circa|300 AD}}, depicting (left to right) a Kushan lay Buddhist, [[Maitreya]], [[Buddha]], [[Avalokitesvara]], and a Kushan Buddhist monk.]]
Following this territorial expansion, the Kushanas introduced [[Buddhism]] to northern and northeastern Asia, by both direct missionary efforts and the translation of Buddhist scriptures into Chinese.<ref>{{cite journal |surname=Rong |given=Xinjiang |year=2004 |title=Land route or sea route? Commentary on the study of the paths of transmission and areas in which Buddhism was disseminated during the Han period |translator-given=Xiuqin |translator-surname=Zhou |journal=[[Sino-Platonic Papers]] |volume=144 |pages=26–27 |url=http://www.sino-platonic.org/complete/spp144_han_dynasty_buddhism.pdf }}</ref> Major Kushan missionaries and translators included [[Lokaksema (Buddhist monk)|Lokaksema]] (born {{Circa|147 CE}}) and [[Dharmaraksa]] ({{Circa|233|311}}), both of whom were influential translators of the [[Mahayana sutras]] into Chinese. They went to China and established translation bureaus, thereby being at the center of the [[Silk Road transmission of Buddhism]].{{Citation needed|date=March 2007}}
In the ''[[Records of the Three Kingdoms]]'' (chap. 3), it was recorded that in 229 AD, "The king of the Da Yuezhi [Kushanas], Bodiao 波調 ([[Vasudeva I]]), sent his envoy to present tribute, and His Majesty (Emperor [[Cao Rui]]) granted him the title of King of the Da Yuezhi Intimate with the [[Cao Wei|Wei]] (Ch: 親魏大月氏王, ''Qīn Wèi Dà Yuèzhī Wáng'')."
Soon afterwards, the military power of the Kushanas began to decline. The rival [[Sasanian Empire]] of Persia extended its dominion into Bactria during the reign of [[Ardashir I]] around 230 CE. The Sasanians also occupied neighboring [[Sogdia]] by 260 AD and made it into a [[satrap]]y.<ref>Mark J. Dresden (1981), "Introductory Note," in Guitty Azarpay, ''Sogdian Painting: the Pictorial Epic in Oriental Art'', Berkeley, Los Angeles, London: University of California Press, p. 5, {{ISBN|0-520-03765-0}}.</ref>
During the course of the 3rd and 4th centuries, the Kushan Empire was divided and conquered by the Sasanians, the [[Hephthalite]] tribes from the north,<ref name="lcwb2">{{cite web |url=http://lcweb2.loc.gov/cgi-bin/query/r?frd/cstdy:@field(DOCID+af0005) |title=Afghanistan: Central Asian and Sassanian Rule, ca. 150 B.C.-700 A.D. |access-date=2016-09-16 |publisher=[[Library of Congress Country Studies]] |location=United States|year=1997}}</ref> and the [[Gupta Empire|Gupta]] and [[Yaudheya]] empires from India.
==Later references to the Lesser Yuezhi==
[[File:Heraios on horse.jpg|thumb|Yuezhi horseman on the coinage of [[Heraios]].]]
''Xiao Yuezhi'' refers to the less militarized Yuezhi who settled in northern China (following the migration of the Greater Yuezhi).<ref>{{cite book |last1=Romane |first1=Julian |title=Rise of the Tang Dynasty: The Reunification of China and the Military Response to the Steppe Nomads (AD 581-626) |date=2018 |publisher=Pen and Sword |isbn=978-1-4738-8779-4 |pages=237–238 |url=https://books.google.com/books?id=RrPNDwAAQBAJ&pg=PT237 |language=en}}</ref> The term is used of peoples in locations as diverse as [[Tibet]], [[Qinghai]], [[Shanxi]] and the Tarim Basin.
Some of the Lesser Yuezhi settled among the [[Qiang (historical people)|Qiang people]] of [[Huangzhong]], [[Qinghai]], according to archaeologist Sophia-Katrin Psarras.<ref>Sophia-Karin Psarras, ''Han Material Culture'', New York, Cambridge University Press, pp. 31, 297.</ref> Yuezhi and Qiang were said to be among members of the Auxiliary of Loyal Barbarians From Huangzhong that mutinied against the Han dynasty, in the [[Liangzhou Rebellion]] (184–221 CE).<ref>{{cite journal |given=Gustav |surname=Haloun |author-link=Gustav Haloun |title=The Liang-chou rebellion 184–221 A.D. |journal=Asia Major |series=New Series |volume=1 |issue=1 |year=1949 |pages=119–132 |url=http://www2.ihp.sinica.edu.tw/file/1340AmfYFxT.pdf |archive-url=https://web.archive.org/web/20161124091318/http://www2.ihp.sinica.edu.tw/file/1340AmfYFxT.pdf |url-status=dead |archive-date=November 24, 2016 }}</ref> The [[Lushuihu]] people, who founded the [[Northern Liang]] dynasty (397–439), have been theorized by modern researchers to be descendants of the Lesser Yuezhi that intermingled with the Qiang.<ref>{{Cite book |last=Zhou |first=Yiliang |title=《魏晋南北朝史论集》 |date=June 1997 |publisher=[[Beijing University Press]] |isbn=9787301031919 |location=Beijing |language=zh |chapter=〈北朝的民族問題與民族政策〉}}</ref><ref>{{Cite book |last=Tang |first=Changru |title=《魏晋南北朝史论丛》 |date=December 2010 |publisher=[[Commercial Press]] |isbn=9787100074513 |pages= |language=zh |chapter=〈魏晋杂胡考 二 卢水胡〉}}</ref>
Elements of the Lesser Yuezhi are said to have been part of the [[Jie people]], who originated from [[Yushe County]] in Shanxi.<ref>{{cite book |last1=Haw |first1=Stephen G. |title=Beijing – A Concise History |date=2006 |publisher=Routledge |isbn=978-1-134-15033-5 |page=201 |url=https://books.google.com/books?id=J8J8AgAAQBAJ&pg=PA201 |language=en}}</ref> Other theories link the Jie more strongly to the Xiongnu, Kangju, or the Tocharian-speaking peoples of the Tarim. Led by [[Shi Le]] (Emperor Ming of Later Zhao), the Jie people established the [[Later Zhao]] dynasty (319–351). The Jie populations were later massacred by [[Ran Min]] of the short-lived [[Ran Min#Ran Wei|Ran Wei dynasty]] during the [[Wei–Jie war|Ran Wei–Later Zhao war]].
In [[Tibet]], the ''Gar'' or ''mGar'' – a clan name associated with [[blacksmiths]] - may have been descended from the Lesser Yuezhi who resettled in Qiang in 162 BC.<ref>{{cite book |last1=Baumer |first1=Christoph |title=History of Central Asia, The: 4-volume set |date=18 April 2018 |publisher=Bloomsbury Publishing |isbn=978-1-83860-868-2 |page=RA1-352 |url=https://books.google.com/books?id=DhiWDwAAQBAJ&pg=RA1-PA352 |language=en}}</ref>
A Chinese monk named Gao Juhui, who traveled to the Tarim Basin in the 10th century, described the ''Zhongyun'' (仲雲; Wade–Giles ''Tchong-yun'') as descendants of the Lesser Yuezhi.<ref>Ouyang Xiu & Xin Wudai Shi, 1974,''New Annals of the Five Dynasties'', Beijing, Zhonghua Publishing House, p. 918 – cited by: [http://www.eurasianhistory.com/data/articles/l01/2024.html Eurasian History, 2008–09, ''The Yuezhi and Dunhuang'' (月氏与敦煌)] (18 March 2017).</ref>
This was the city state of [[Cumuḍa]] (also ''Cimuda'' or ''Cunuda''), south of [[Lop Nur]] in the eastern Tarim.<ref name="Bailey"/> (Following the subsequent settlement of [[Uyghur language|Uyghur]]-speaking people in the area, Cumuḍa became known as ''Čungul'', ''Xungul'' and ''Kumul''. Under subsequent Han Chinese influence, it became known as [[Hami City|Hami]].)
Whatever their fate may have been, the ''Xiao Yuezhi'' ceased to be identifiable by that name and appear to have been subsumed by other ethnicities, including [[Tibetan people|Tibetans]], [[Uyghur people|Uyghurs]] and [[Han Chinese|Han]].
== Proposed links to other groups ==
{{multiple image|perrow=2|total_width=300|caption_align=center
| align = right
| direction =horizontal
| header=Sampul tapestry
| image1 = Sampul tapestry (complete).jpg
| caption1 = Full length
| image2 = UrumqiWarrior.jpg
| caption2 = Detail
| footer=Probable Yuezhi soldier in red jacket and trousers, in the [[Sampul tapestry]]. Embroidered in Hellenistic style, with motif of a [[centaur]], 1st century AD, Sampul, [[Ürümqi]] [[Xinjiang Region Museum]].<ref>{{cite journal |last1=Yatsenko |first1=Sergey A. |title=Yuezhi on Bactrian Embroidery from Textiles Found at Noyon uul, Mongolia |journal=The Silk Road |date=2012 |volume=10 |pages=45–46|url=http://www.silkroadfoundation.org/newsletter/vol10/SilkRoad_10_2012_yatsenko.pdf}}</ref><ref>{{cite journal |last1=Francfort |first1=Henri-Paul|author-link= Henri-Paul Francfort |title=Sur quelques vestiges et indices nouveaux de l'hellénisme dans les arts entre la Bactriane et le Gandhāra (130 av. J.-C.-100 apr. J.-C. environ) |journal=Journal des Savants |date=1 January 2020 |pages=26–27, Fig.9 |url=https://www.academia.edu/45042820 |language=en}}</ref>
}}
The relationship between the Yuezhi and other Central Asian peoples is unclear. Based on claimed similarities of names, different scholars have linked them to several groups, but none of these identifications is widely accepted.{{sfn|Mallory|Mair|2000|pp=98–99, 281–283}}
Mallory and Mair suggest that the Yuezhi and Wusun were among the nomadic peoples, at least some of whom spoke [[Iranian languages]], who moved into northern [[Xinjiang]] from the Central Asian steppe in the 2nd millennium BC.{{sfn|Mallory|Mair|2000|p=318}}
Scholars such as [[Edwin Pulleyblank]], [[Josef Markwart]], and [[László Torday]], suggest that the name ''[[Iatioi]]''—a Central Asian people mentioned by [[Ptolemy]] in ''[[Geography (Ptolemy)|Geography]]'' (AD 150)—may also be an attempt to render Yuezhi.<ref name="Jhutti">{{cite journal |given=Sundeep S. |surname=Jhutti |year=2003 |title=The Getes |journal=Sino-Platonic Papers |volume=127 |pages=15–17 |url=http://www.sino-platonic.org/complete/spp127_getes.pdf }}</ref>
There has been only limited scholarly support for a theory developed by [[W. B. Henning]], who proposed that the Yuezhi were descended from the [[Gutian people|Guti]] (or Gutians) and an associated, but little known tribe known as the [[Tukri]], who were native to the [[Zagros Mountains]] (modern Iran and Iraq), during the mid-3rd millennium BC. In addition to phonological similarities between these names and ''*ŋʷjat-kje'' and Tukhāra, Henning pointed out that the Guti could have migrated from the [[Zagros Mountains|Zagros]] to [[Gansu]],<ref>Henning, W.B. (1978) "The first Indo-Europeans in history"</ref> by the time that the Yuezhi entered the historical record in China, during the 1st millennium BC. However, the only material evidence presented by Henning, namely similar ceramic ware, is generally considered to be far from conclusive.<ref name="notes13"/>
Proposed links with the [[Aorsi]], [[Asii]], [[Getae]], [[Goths]], [[Gushi culture|Gushi]], [[Massagetae]],{{sfn|Jhutti|2003|p=22}}<ref>{{cite book |title=The Huns, Rome and the Birth of Europe |page=201 |isbn=978-1-107-06722-6 |url=https://books.google.com/books?id=fX8YAAAAQBAJ&pg=PA201 |last1=Kim |first1=Hyun Jin |date=2013-04-18 |publisher=Cambridge University Press }}</ref>{{sfn|Enoki|Koshelenko|Haidary|1994|p=171}} and other groups have also gathered little support.{{sfn|Mallory|Mair|2000|pp=98–99, 281–283}}
===Yuezhi-Tocharian hypothesis===
When manuscripts dating from the 6th to 8th centuries AD written in two hitherto unknown Indo-European languages were discovered in the northern Tarim Basin, the early 20th-century linguist [[Friedrich W. K. Müller]] identified them with the enigmatic "''twγry'' ("Toγari") language" used to translate Indian Buddhist [[Sanskrit]] texts and mentioned as the source of an [[Old Turkic]] ([[Uyghur language|Uyghur]]) manuscript.<ref name="tokharian">{{cite journal |title=Tokharian Buddhism in Kucha: Buddhism of Indo-European Centum Speakers in Chinese Turkestan before the 10th Century C.E |url=http://www.sino-platonic.org/complete/spp085_tokharian_buddhism_kucha.pdf |journal=Sino-Platonic Papers |author=Manko Namba Walter |number=85 |date=October 1998 }}</ref><ref name="ITT">{{cite web |title=Introduction to Tocharian |url=https://lrc.la.utexas.edu/eieol/tokol |website=lrc.la.utexas.edu}}</ref>
Müller then proposed to connect the name "Toγari" (Togar/Tokar) to the ''Tókharoi'' people of [[Tokharistan]] (themselves associated with the Yuezhi) described in early Greek histories.<ref name="tokharian" /><ref name="ITT" /> He thus referred to the newly discovered languages as "[[Tocharian languages|Tocharian]]", which became the common name for both the languages of the Tarim manuscripts and the people who produced them.<ref name="Tocharian Online Introduction" /><ref>{{cite book|title=Tocharian Historical Phonology and Morphology|first=Douglas Q.|last=Adams|year=1988|isbn=978-0-940490-71-0|pages=2–4|publisher=American Oriental Society }}</ref> Most historians have been rejecting the identification of the Tocharians of the Tarim with the ''Tókharoi'' of Bactria, mainly because they are not known to have spoken any languages other than Bactrian, a quite dissimilar [[Eastern Iranian language]].{{sfn|Hansen|2012|p=72}}{{sfn|Mallory|Adams|1997|p=590}} Other scholars suggest that the Yuezhi/[[Kushans|Kushanas]] may previously have spoken Tocharian before shifting to Bactrian on their arrival in Bactria, an example of an invading or colonising elite [[language shift|adopting a local language]] (as also seen for the [[Greco-Bactrians|Greeks]], the [[Tokhara Yabghus|Turks]] or the Arabs upon their successive settlements in Bactria).{{sfn|Narain|1990|p=153}}<ref>{{harvnb|Beckwith|2009}}, p. 5, footnote 16, as well as pp. 380–383 in appendix B, but also see {{harvnb|Hitch|2010|p=655}}: "He equates the Tokharians with the Yuezhi, and the Wusun with the Asvins, as if these are established facts, and refers to his arguments in appendix B. But these identifications remain controversial, rather than established, for most scholars."</ref> However, while Tocharian contains some loanwords from Bactrian, there are no traces of Tocharian in Bactrian.<ref name="Tocharian Online Introduction" />
Another possible [[endonym]] of the Yuezhi was put forward by [[H. W. Bailey]], who claimed that they were referred to, in 9th and 10th century [[Saka language|Khotan Saka]] Iranian texts, as the ''Gara''. According to Bailey, the ''Tu Gara'' ("Great Gara") were the Great Yuezhi.<ref name="Bailey"/> This is consistent with the [[Ancient Greek]] Τόχαροι ''Tokharoi'' (Latinised ''Tochari'') in reference to the faction of the Kushans that conquered Bactria, as well as the [[Classical Tibetan|Tibetan language]] name ''Gar'' (or ''mGar''), for the members of the Lesser Yuezhi who settled in the [[Tibetan Empire]].
Hakan Aydemir, assistant professor at [[Istanbul Medeniyet University]], reconstructs the ethnonym *''Arki'' ~ *''Yarki'' which underlay Chinese transcriptions 月氏{{efn|[[Old Chinese]] *''ŋwat-tēɦ'' ~''[ŋ]ʷat-tēɦ''}} and 月支{{efn|[[Eastern Han Chinese|Later Han Chinese]] *''ŋyat-tśe''}} as well as various other foreign transcriptions and [[Tocharian languages#Tocharian A and B|Tocharian A]] ethnonym ''Ārśi''.{{sfn|Aydemir|2019|page=273}} Aydemir suggests that *''Arki'' ~ *''Yarki'' is etymologically [[Indo-European languages|Indo-European]].<ref name="Aydemir263">{{harvnb|Aydemir|2019|page=263}} "based on various toponymic evidence, *''Arki'' and *''Yarki'' seem to be the oldest reconstructable forms. However, it is for the time being not quite clear which one is the primary form. In order to know this, we first need to know the etymology of the name. Without doing so, it would be difficult to determine the primary form. This, however, must be left to the specialists in Indo-European linguistics."</ref>
===Nomadic artifacts in Gansu and Ningxia (5th-4th century BC)===
{{see also|Ordos culture}}
Numerous nomadic artifacts are attributed to the areas of southern [[Ningxia]] and southeastern [[Gansu]] during the period of the 5th-4th century BC. They are quite similar to the works of the nomadic [[Ordos culture]] further east, and reflect strong [[Sakas|Scythian]] influences.<ref name="NA24">{{cite book |last1=Bunker |first1=Emma C. |title=Nomadic Art of the Eastern Eurasian Steppes: The Eugene V. Thaw and Other Notable New York Collections |date=2002 |publisher=Metropolitan Museum of Art |pages=24–25 |url=https://archive.org/details/NomadicArtoftheEasternEurasianSteppesTheEugeneVThawandOtherNotableNewYorkCollection/page/n37/mode/2up |language=English}}</ref> Some of these [[:File:MET 2002 201 80 O1.jpg|artifacts were sinicized]] by the neighbouring [[Qin (state)|Qin state]] in China, probably also for nomadic consumption.<ref name="NA24"/> Nomadic figures with long noses riding on a camel also appear regularly in southern Ningxia from the 4th century BC.<ref name="NA24"/> Particularly, the [[Shajing culture]] (700–100 BCE) of [[Gansu]] has been proposed as a candidate for the origin of the Yuezhi.<ref name="SAK">{{cite journal |last1=Komissarov |first1=S.A |title=Shajing Culture (Gansu, China): Main Sites and Problems of Chronology |journal=Paeas.ru |date=2017 |url=http://paeas.ru/Articleen/189 |quote=The Shajing culture of the Early Iron Age. The sites of this culture have been discovered in the central part of Gansu Province (China). Seven big burial grounds and almost the same amount of fortified settlements (with walls made of compacted loess) have been excavated. Painted pottery, associated with the local tradition of Neolithic-Early Bronze Age, has been found at the early sites, but the Scythian-like artifacts constitute the core of this culture. This makes it possible to clarify the chronological limits of the culture as 900-400 BC, but probably with the later specific dates. Different suggestions have been made concerning the ethnic origins of the “Shajing people,” who may have some connections with the Tocharian-speaking Yuezhi, the proto-Tibetean Qiang and Rong, or even with the Iranian Wusuns. The Shajing culture might have emerged from the interaction of all these (or close) ethnic and cultural components. }}</ref>
<gallery class="center" widths="150px" heights="150px" perrow="4">
File:MET 2002 201 83 O1.jpg|Nomadic figure, typically with a long nose, on a [[Bactria]]n camel. Southern [[Ningxia]], 4th century BC.<ref>{{cite book |last1=Bunker |first1=Emma C. |title=Nomadic Art of the Eastern Eurasian Steppes: The Eugene V. Thaw and Other Notable New York Collections |date=2002 |publisher=Metropolitan Museum of Art |pages=120–121, item 92 |url=https://archive.org/details/NomadicArtoftheEasternEurasianSteppesTheEugeneVThawandOtherNotableNewYorkCollection/page/n133/mode/2up |language=English}}</ref><ref name="NA24"/>
File:狼紋青銅車馬飾-Harness Ornament in the Shape of a Coiled Wolf MET 2002 201 61.jpg|Harness ornament in the shape of a coiled wolf, characteristic of nomadic artifacts of southern [[Ningxia]] and southeastern [[Gansu]], 5th-4th century BC.<ref>{{cite book |last1=Bunker |first1=Emma C. |title=Nomadic Art of the Eastern Eurasian Steppes: The Eugene V. Thaw and Other Notable New York Collections |date=2002 |publisher=Metropolitan Museum of Art |page=45, item 7 |url=https://archive.org/details/NomadicArtoftheEasternEurasianSteppesTheEugeneVThawandOtherNotableNewYorkCollection/page/n59/mode/2up |language=English}}</ref><ref name="NA24"/>
File:狼紋青銅帶飾-Belt Plaque in the Shape of a Standing Wolf MET DT5398.jpg|Belt plaque in the shape of a standing wolf, characteristic of nomadic artifacts of southern [[Ningxia]] and southeastern [[Gansu]], and related to the Scythian styles of [[Pazyryk culture|Pazyryk]]. 4th century BC.<ref>{{cite book |last1=Bunker |first1=Emma C. |title=Nomadic Art of the Eastern Eurasian Steppes: The Eugene V. Thaw and Other Notable New York Collections |date=2002 |publisher=Metropolitan Museum of Art |page=122, item 94 |url=https://archive.org/details/NomadicArtoftheEasternEurasianSteppesTheEugeneVThawandOtherNotableNewYorkCollection/page/n137/mode/2up |language=English}}</ref><ref name="NA24"/>
File:Shajing_Culture_Bronze_Ornament_(10095596513).jpg|Bronze horse ornament ([[Shajing culture]] 700-100 BCE)
</gallery>
===Shirenzigou culture===
[[File:Shirenzigou panorama.png|thumb|right|Surroundings of the [[Shirenzigou]] archaeological site in [[Barkol County]].]]
{{main|Shirenzigou culture}}
Looking at the archaeological and genetic evidence, another area of origin on the northeastern border of the [[Tarim Basin]] has also been proposed: the Yuegongtai-Xiheigou (岳公台-西黑沟) archaeological sites, corresponding to the [[Shirenzigou culture]] and Barkol culture in the [[Barkol Kazakh Autonomous County|Barkol County]] of [[Xinjiang]]. This would have positionned the Yuezhi between the [[Subeshi culture]] to their west, the [[Yanbulaq culture]] to their east, the aftermaths of the [[Chemurchek culture]] to the north, and a wide desertical area to south about a thousand kilometers away from the [[Zhongyuan|Central Plains]] of China.<ref>{{cite journal |last1=Lan-Hai Wei |first1=Ryan |last2=Li |first2=Hui |title=The separate origins of the Tocharians and the Yuezhi: Results from recent advances in archaeology and genetics |journal=International Conference on Tocharian Manuscripts and Silk Road CultureAt: University of Vienna, Vienna. 26–28 June 2013. |date=2013 |url=https://www.researchgate.net/publication/318897882}}</ref>
== In the Kushanian Empire ==
{{Main|Imperio Kushan}}From that time on, they extended their control over the northwestern area of the Indian subcontinent, founding [[Kushan Empire|The Kushan Empire]], which would rule the region for several centuries. test test test test
==See also==
{{Indo-European topics}}
*[[Hephthalite]]
*[[History of Afghanistan]]
*[[History of China]]
*[[History of India]]
*[[History of the central steppe]]
*[[Indo-Parthian Kingdom]]
*[[Indo-Sassanid]]
*[[Iranians in China]]
*[[Pre-Islamic period of Afghanistan]]
==Notes==
{{notelist}}
==References==
{{Reflist|30em}}
===Works cited===
* {{cite journal|last= Aydemir|first=Hakan|title= The Reconstruction of The Name Yuezhi 月氏 / 月支|journal = International Journal of Old Uyghur Studies | issue = 1/2 | year = 2019 | url = https://www.academia.edu/41490166 | pages = 249–282}}
* {{cite book |last=Beckwith |first=Christopher I. |author-link=Christopher I. Beckwith |year=2009 |title=Empires of the Silk Road: A History of Central Eurasia from the Bronze Age to the Present |url=https://books.google.com/books?id=-Ue8BxLEMt4C |publisher=[[Princeton University Press]] |isbn=978-1-4008-2994-1 }}
* {{cite book |last=Benjamin |first=Craig |author-link=Craig Benjamin |date=2007 |title=The Yuezhi: Origin, Migration and the Conquest of Northern Bactria |publisher=Brepols |isbn=978-2-503-52429-0 }}
*{{cite book |last=Bernard |first=P. |chapter=The Greek Kingdoms of Central Asia |pages=96–126 |title=History of civilizations of Central Asia, Volume II. The development of sedentary and nomadic civilizations: 700 B.C. to A.D. 250 |editor-last=Harmatta |editor-first=János |year=1994 |location=Paris |publisher=UNESCO |isbn=978-92-3-102846-5 |url=http://unesdoc.unesco.org/images/0010/001057/105703eo.pdf }}
*{{cite book |last=Bopearachchi |first=Osmund |date=2007 |chapter=Some Observations on the Chronology of the Early Kushans |editor-last=Gyselen |editor-first=Rika |title=Des Indo-Grecs aux Sassanides: données pour l'histoire et la géographie historique |volume=XVII |location=Bures-sur-Yvette |publisher=Group pour l'Etude de la Civilisation du Moyen-Orient |isbn=978-2-9521376-1-4}}
* Dorn'eich, Chris M. (2008). ''Chinese sources on the History of the Niusi-Wusi-Asi(oi)-Rishi(ka)-Arsi-Arshi-Ruzhi and their Kueishuang-Kushan Dynasty. Shiji 110/Hanshu 94A: The Xiongnu: Synopsis of Chinese original Text and several Western Translations with Extant Annotations''. Berlin. To read or download go to: [http://chrisdorneich.tumblr.com/]
*{{cite book |last1=Enoki |first1=K. |last2=Koshelenko |first2=G.A. |last3=Haidary |first3=Z. |author-link2=:ru:Кошеленко, Геннадий Андреевич |chapter=The Yu'eh-chih and their migrations |editor-last=Harmatta |editor-first=János |editor-link=János Harmatta |date=1 January 1994 |title=History of Civilizations of Central Asia: The Development of Sedentary and Nomadic Civilizations, 700 B. C. to A. D. 250 |url=http://unesdoc.unesco.org/images/0010/001057/105703eo.pdf |location=Paris |publisher=[[UNESCO]] |pages=171–191 |isbn=978-92-3-102846-5 }}
*{{cite book |last1=Hanks |first1=Brian K. |last2=Linduff |first2=Katheryn M. |title=Social Complexity in Prehistoric Eurasia: Monuments, Metals and Mobility |publisher=[[Cambridge University Press]] |isbn=978-0-521-51712-6 |year=2009 }}
*{{cite book |last=Hansen |first=Valerie |author-link=Valerie Hansen |title=The Silk Road: A New History |publisher=[[Oxford University Press]] |year=2012 |isbn=978-0-19-993921-3 }}
*{{cite book |last=Haw |first=Stephen G. |title=Beijing – A Concise History |year=2006 |publisher=Routledge |isbn=978-1-134-15032-8 }}
*Hill, John E. (2003). [http://depts.washington.edu/silkroad/texts/weilue/weilue.html ''The Peoples of the West from the Weilüe'' 魏略] ''by Yu Huan'' 魚豢'': A Third Century Chinese Account Composed between 239 and 265 CE.'' Draft annotated English translation
*{{cite book |last=Hill |first=John E. |author-mask=3 | title=Through the Jade Gate to Rome: A Study of the Silk Routes during the Later Han Dynasty, 1st to 2nd Centuries AD |year=2009 |publisher=BookSurge |location=Charleston SC | isbn=978-1-4392-2134-1 }}
*{{cite journal|title=Empires of the Silk Road: A History of Central Eurasia from the Bronze Age to the Present |first=Doug |last=Hitch |journal=Journal of the American Oriental Society |year=2010 |volume=130 |issue=4 |pages=654–658 |doi=10.1111/j.1095-9270.2009.00260_11.x |bibcode=2010IJNAr..39..207P |url=http://www.ynlc.ca/ynlc/staff/hitch/review_of_Beckwith.pdf |access-date=2015-01-02|archive-url=https://web.archive.org/web/20131226105908/http://www.ynlc.ca/ynlc/staff/hitch/review_of_Beckwith.pdf |archive-date=2013-12-26 |url-status=dead }}
*{{cite journal |last=Liu |first=Xinru |author-link=Xinru Liu |title=Migration and Settlement of the Yuezhi-Kushan. Interaction and Interdependence of Nomadic and Sedentary Societies |journal=Journal of World History |volume=12 |issue=2 |pages=261–292 |year=2001a |doi=10.1353/jwh.2001.0034 |jstor=20078910 |s2cid=162211306 }}
*{{cite book |last=Liu |first=Xinru |author-mask=3 |chapter=The Silk Road: Overland Trade and Cultural Interactions in Eurasia |year=2001b |editor-last=Adas |editor-first=Michael |title=Agricultural and pastoral societies in ancient and classical history |location=Philadelphia PA |publisher=Temple University Press |pages=151–179 |isbn=978-1-56639-832-9 }}
*{{cite book |last=Liu |first=Xinru |author-mask=3 |year=2010 |title=The Silk Road in World History |publisher=Oxford University Press |isbn=978-0-19-516174-8 }}
*{{cite book |last1=Loewe |first1=Michael |last2=Shaughnessy |first2=Edward L. |author-link1=Michael Loewe |author-link2=Edward L. Shaughnessy |title=The Cambridge History of Ancient China: From the Origins of Civilization to 221 BC |url=https://archive.org/details/cambridgehistory00loew |url-access=limited |year=1999 |publisher=Cambridge University Press |isbn=978-0-521-47030-8 |pages=[https://archive.org/details/cambridgehistory00loew/page/n117 87]–88 }}
*{{cite book |last1=Mallory |first1=J. P. |author1-link=J. P. Mallory |last2=Adams |first2=Douglas Q. |date=1997 |title=Encyclopedia of Indo-European Culture |publisher=[[Taylor & Francis]] |isbn=978-1-884964-98-5 }}
*{{cite book |title=The Oxford Introduction to Proto-Indo-European and the Proto-Indo-European World |last1=Mallory |first1=J. P. |author1-mask=3 |last2=Adams |first2=Douglas Q. |author2-mask=3 |publisher=Oxford University Press |year=2006 |isbn=978-0-19-929668-2 }}
*{{cite book |last1=Mallory |first1=J. P. |last2=Mair |first2=Victor H. |author2-link=Victor H. Mair |year=2000 |title=The Tarim Mummies: Ancient China and the Mystery of the Earliest Peoples from the West |location=London |publisher=Thames & Hudson |isbn=978-0-500-05101-6 |url-access=registration |url=https://archive.org/details/tarimmummiesanci00mall }}
* {{cite book |last=Narain |first=A. K. |author-link=A. K. Narain |year=1990 |chapter=Indo-Europeans in Central Asia |editor-last=Sinor |editor-first=Denis |editor-link=Denis Sinor |title=The Cambridge History of Early Inner Asia |title-link=The Cambridge History of Early Inner Asia |volume=1 |publisher=[[Cambridge University Press]] |pages=151–177 |isbn=978-1-139-05489-8 |doi=10.1017/CHOL9780521243049.007 }}
*Ricket, W.A. (1998). ''Guanzi: Political, Economic, and Philosophic Essays from Early China'', vol. 2. Princeton: Princeton University Press
* {{cite book |last1=Roux |first1=Jean-Paul |author-link1=Jean-Paul Roux |year=1997 |title=L'Asie Centrale, Histoire et Civilization |trans-title=Central Asia: History and Civilization |url=https://books.google.com/books?id=sLlqQgAACAAJ |language=fr |publisher=[[Fayard]] |isbn=978-2-213-59894-9 }}
*{{cite book |first=François |last=Thierry |chapter=Yuezhi et Kouchans, Pièges et dangers des sources chinoises |chapter-url=https://www.academia.edu/11069062 |editor1-first=Osmund |editor1-last=Bopearachchi |editor2-first=Marie-Françoise |editor2-last=Boussac |title=Afghanistan, Ancien carrefour entre l'est et l'ouest |publisher=Brepols |location=Turnhout |year=2005 |pages=421–539 |isbn=978-2-503-51681-3 }}
*{{cite book |last=Watson |first=Burton |year=1993 |title=Records of the Grand Historian of China: Han Dynasty II |publisher=Columbia University Press |edition=revised |isbn=978-0-231-08166-5 }} {{ISBN|978-0-231-08167-2}} (pbk.) Translated from the ''[[Shiji]]'' of [[Sima Qian]]
*{{cite book |last=West |first=Barbara A. |title=Encyclopedia of the Peoples of Asia and Oceania |url=https://books.google.com/books?id=pCiNqFj3MQsC |date=January 1, 2009 |publisher=[[Infobase Publishing]] |isbn=978-1-4381-1913-7 |access-date=2015-05-29 }}
*Yap, Joseph P. (2009). ''Wars With The Xiongnu, A Translation From Zizhi tongjian'' Chapters 2 & 4, AuthorHouse. {{ISBN|978-1-4490-0604-4}}
*{{cite book |first=E. |last=Zürcher |chapter=The Yüeh-chih and Kanișka in the Chinese sources |pages=346–390 |title=Papers on the Date of Kaniṣka |editor-first=Arthur Llewellyn |editor-last=Basham |publisher=Brill |year=1969 |isbn=978-90-04-00151-0 }}
==External links==
*[http://depts.washington.edu/silkroad/texts/hhshu/hou_han_shu.html#sec13 "Section 13 – The Kingdom of the Da Yuezhi"], The Western Regions according to the ''Hou Hanshu'', trans. John Hill
**[http://depts.washington.edu/silkroad/texts/hhshu/notes13.html Notes to Section 13] – Linguistic analysis of the connection between ''Yuezhi'' and ''Kushan''
* {{Cite EB1911|wstitle= Yue-Chi | volume= 28 |last= Eliot |first=Charles Norton Edgcumbe |author1-link= Charles Eliot (diplomat) | pages = 944–945 |short=1}}
*[http://reference.allrefer.com/country-guide-study/mongolia/mongolia14.html Mongolia: Xiongnu and Yuezhi] – Overview of Xiongnu history and their wars with the Yuezhi
*[http://www.transoxiana.com.ar/Eran/Articles/benjamin.html "The Yuezhi Migration and Sogdia"], by Craig Benjamin.
*[https://web.archive.org/web/20040110174334/http://www.britac.ac.uk/events/programmes/2004/abstracts/asia-abdullaev.html "After Alexander: Central Asia Before Islam"] – nomad migration in Central Asia, by Kasim Abdullaev
*[https://web.archive.org/web/20040404050535/http://ignca.nic.in/ks_41023.htm "India and China: beyond and the within"], Lokesh Chandra
*[https://web.archive.org/web/20070504035720/http://ef.cdpa.nsysu.edu.tw/ccw/01/kz.htm Guanzi] – online text from [[National Sun Yat-sen University]]
*[http://www.biomedcentral.com/content/pdf/1741-7007-8-15.pdf "Evidence that a West-East admixed population lived in the Tarim Basin as early as the early Bronze Age"], Li et al. ''BMC Biology'' 2010, 8:15.
{{Central Asian history}}
{{Rulers of Ancient Central Asia}}
{{Historical Non-Chinese peoples in China}}
{{Authority control}}
[[Category:Yuezhi| ]]
[[Category:Ancient peoples of Afghanistan]]
[[Category:Ancient peoples of China]]
[[Category:Ancient peoples of Pakistan]]
[[Category:Former countries in Chinese history]]
[[Category:Indo-European peoples]]
[[Category:Kushan Empire]]
[[Category:Nomadic groups in Eurasia]]
ap7kfgkpgl1qi5kh14hng96gksxmzhu
User:Namoroka/common.js
2
166970
757929
756352
2026-08-21T02:18:32Z
Namoroka
19627
757929
javascript
text/javascript
importScript("MediaWiki:Gadget-hanja-reading.js");
// Check if we're editing a page.
if ( [ 'edit', 'submit' ].indexOf( mw.config.get( 'wgAction' ) ) !== -1 ) {
// Add a hook handler.
mw.hook( 'wikiEditor.toolbarReady' ).add( function ( $textarea ) {
// Configure a new toolbar entry on the given $textarea jQuery object.
$textarea.wikiEditor( 'addToToolbar', {
section: 'info',
pages: {
colors: {
layout: 'table',
label: 'Colors',
headings: [
{ text: 'Name' }, // or use mw.message( key ).parse() for localization, see also above
{ text: 'Temperature' },
{ text: 'Swatch' }
],
rows: [
{
name: { text: 'Red' },
temp: { text: 'Warm' },
swatch: { html: '<div style="width:10px;height:10px;background-color:red;">' }
},
{
name: { text: 'Blue' },
temp: { text: 'Cold' },
swatch: { html: '<div style="width:10px;height:10px;background-color:blue;">' }
},
{
name: { text: 'Silver' },
temp: { text: 'Neutral' },
swatch: { html: '<div style="width:10px;height:10px;background-color:silver;">' }
}
]
}
}
} );
} );
}
9x2d00bpx1u4h2waigm5n52y6pkhvfb
757930
757929
2026-08-21T02:22:00Z
Namoroka
19627
757930
javascript
text/javascript
importScript("MediaWiki:Gadget-hanja-reading.js");
// Check if we're editing a page.
if ( [ 'edit', 'submit' ].indexOf( mw.config.get( 'wgAction' ) ) !== -1 ) {
// Add a hook handler.
mw.hook( 'wikiEditor.toolbarReady' ).add( function ( $textarea ) {
// Configure a new toolbar entry on the given $textarea jQuery object.
$textarea.wikiEditor( 'addToToolbar', {
section: 'info',
pages: {
colors: {
layout: 'table',
label: 'Colors',
headings: [
{ text: 'Name' }, // or use mw.message( key ).parse() for localization, see also above
{ text: 'Temperature' },
{ text: 'Swatch' }
],
rows: [
{
name: { text: 'Red' },
temp: { text: 'Warm' },
swatch: { html: '<div style="width:10px;height:10px;background-color:red;">' }
},
{
name: { text: 'Blue' },
temp: { text: 'Cold' },
swatch: { html: '<div style="width:10px;height:10px;background-color:blue;">' }
},
{
name: { text: 'Silver' },
temp: { text: 'Neutral' },
swatch: { html: '<div style="width:10px;height:10px;background-color:silver;">' }
}
]
}
}
} );
$( '#wpTextbox1' ).wikiEditor( 'addToToolbar', {
'sections': {
'snippets': {
'type': 'booklet',
'label': 'Useful Snippets',
'pages': {
'section-xml': {
'label': 'XML Tags',
'layout': 'characters',
'characters': [
'<references/>',
{
'action': {
'type': 'encapsulate',
'options': {
'pre': '<ref>',
'peri': '',
'post': '</ref>'
}
},
'label': '<ref></ref>'
}
]
},
'section-links': {
'label': 'Wikilinks',
'layout': 'characters',
'characters': [
{
'action': {
'type': 'encapsulate',
'options': {
'pre': '[[Category:',
'peri': '',
'post': ']]'
}
},
'label': '[[Category:]]'
},
{
'action': {
'type': 'encapsulate',
'options': {
'pre': '[[File:',
'peri': '',
'post': ']]'
}
},
'label': '[[File:]]'
}
]
}
}
}
}
} );
$textarea.wikiEditor( 'addToToolbar', {
section: 'main',
groups: {
list: {
tools: {
templates: {
label: 'Templates',
type: 'select',
list: {
'Ping-button': {
label: '{{Ping}}',
action: {
type: 'encapsulate',
options: {
pre: '{{Ping|',
post: '}}'
}
}
},
'Clear-button': {
label: 'Clear',
action: {
type: 'encapsulate',
options: {
pre: '{{Clear}}'
}
}
},
'Done-button': {
label: 'Done',
action: {
type: 'encapsulate',
options: {
pre: '{{Done}}'
}
}
}
}
}
}
}
}
} );
} );
}
cb9hpfthvg7hw803w4vsp1q6ffwods7
757931
757930
2026-08-21T02:26:27Z
Namoroka
19627
Replaced content with "importScript("MediaWiki:Gadget-hanja-reading.js");"
757931
javascript
text/javascript
importScript("MediaWiki:Gadget-hanja-reading.js");
snxw8jywokj4hys3mnqlzro6vakxnk2
User:Iiirxs/Template:Infobox person
2
175646
757894
744509
2026-08-20T14:28:53Z
EAMedina (WMF)
65334
/* */ Bug fix: remove the blank row
757894
wikitext
text/x-wiki
{{Infobox
| above = {{{name|{{PAGENAME}}}}}
| image = {{{image|{{#if:{{#property:P18}}|[[File:{{#property:P18}}|frameless|upright=1|alt=]]}}}}}
| label1 = Born
| data1 = {{{birth_date|{{#property:P569}}}}}
| label2 = Birthplace
| data2 = {{{birth_place|{{#property:P19}}}}}
| label3 = Occupation
| data3 = {{{occupation|{{#property:P106}}}}}
| label4 = Known for
| data4 = {{{known_for|{{#property:P800}}}}}
}}
<noinclude>
== Example ==
''This is how the template looks with values filled in. The self-reference resolves to whatever this template is called on your wiki.''
{{ {{PAGENAME}}
| name = Marie Curie
| birth_date = 7 November 1867
| birth_place = Warsaw
| occupation = Physicist and chemist
| known_for = Research on radioactivity
}}
<div style="clear: both;"></div>
{{documentation}}
</noinclude>
a1ukuyfxjxd3376qq450s12uprpl3nv
User:Iiirxs/Template:Infobox settlement
2
175649
757895
743936
2026-08-20T14:42:32Z
EAMedina (WMF)
65334
/* */ Add example
757895
wikitext
text/x-wiki
{{Infobox
| above = {{{name|{{PAGENAME}}}}}
| image = {{{image|{{#if:{{#property:P18}}|[[File:{{#property:P18}}|frameless|upright=1|alt=]]}}}}}
| label1 = Country
| data1 = {{{country|{{#property:P17}}}}}
| label2 = Region
| data2 = {{{region|{{#property:P131}}}}}
| label3 = Population
| data3 = {{{population|{{#property:P1082}}}}}
| label4 = Coordinates
| data4 = {{{coordinates|{{#property:P625}}}}}
}}
<noinclude>
== Example ==
''This is how the template looks with values filled in. The self-reference resolves to whatever this template is called on your wiki.''
{{ {{PAGENAME}}
| name = Lokoja
| country = Nigeria
| region = Kogi State
| population = 196,643
| coordinates = 7.80°N 6.74°E
}}
<div style="clear: both;"></div>
{{documentation}}
</noinclude>
j3ytb4fv1c0xsmzgsdptu7n9fmwkrtb
User:Iiirxs/Template:Infobox organization
2
175652
757896
743940
2026-08-20T14:43:17Z
EAMedina (WMF)
65334
/* */ Add example
757896
wikitext
text/x-wiki
{{Infobox
| above = {{{name|{{PAGENAME}}}}}
| image = {{{image|{{#if:{{#property:P18}}|[[File:{{#property:P18}}|frameless|upright=1|alt=]]}}}}}
| label1 = Type
| data1 = {{{type|{{#property:P31}}}}}
| label2 = Founded
| data2 = {{{founded|{{#property:P571}}}}}
| label3 = Headquarters
| data3 = {{{headquarters|{{#property:P159}}}}}
| label4 = Website
| data4 = {{{website|{{#property:P856}}}}}
}}
<noinclude>
== Example ==
''This is how the template looks with values filled in. The self-reference resolves to whatever this template is called on your wiki.''
{{ {{PAGENAME}}
| name = Wikimedia Foundation
| type = Non-profit organisation
| founded = 20 June 2003
| headquarters = San Francisco
| website = wikimediafoundation.org
}}
<div style="clear: both;"></div>
{{documentation}}
</noinclude>
qhd9wejp2f5xvcojhanwsivkr1tgdye
User:Iiirxs/Template:Infobox event
2
175654
757897
743942
2026-08-20T14:44:25Z
EAMedina (WMF)
65334
/* */ Add example
757897
wikitext
text/x-wiki
{{Infobox
| above = {{{name|{{PAGENAME}}}}}
| image = {{{image|{{#if:{{#property:P18}}|[[File:{{#property:P18}}|frameless|upright=1|alt=]]}}}}}
| label1 = Date
| data1 = {{{date|{{#property:P585}}}}}
| label2 = Location
| data2 = {{{location|{{#property:P276}}}}}
| label3 = Organizer
| data3 = {{{organizer|{{#property:P664}}}}}
| label4 = Description
| data4 = {{{description|}}}
}}
<noinclude>
== Example ==
''This is how the template looks with values filled in. The self-reference resolves to whatever this template is called on your wiki.''
{{ {{PAGENAME}}
| name = Wikimania
| date = August 2026
| location = Nairobi
| organizer = Wikimedia Foundation
| description = Annual Wikimedia community conference
}}
<div style="clear: both;"></div>
{{documentation}}
</noinclude>
b44vesv3313yii2s6ouvcwwimsurwwh
User:Iiirxs/Template:Taxobox
2
175657
757898
743948
2026-08-20T14:45:42Z
EAMedina (WMF)
65334
/* */ Add example
757898
wikitext
text/x-wiki
{{Infobox
| above = {{{name|{{PAGENAME}}}}}
| image = {{{image|{{#if:{{#property:P18}}|[[File:{{#property:P18}}|frameless|upright=1|alt=]]}}}}}
| label1 = Kingdom
| data1 = {{{kingdom|}}}
| label2 = Family
| data2 = {{{family|}}}
| label3 = Genus
| data3 = {{{genus|{{#property:P171}}}}}
| label4 = Species
| data4 = {{{species|{{#property:P225}}}}}
| label5 = Conservation status
| data5 = {{{conservation_status|{{#property:P141}}}}}
}}
<noinclude>
== Example ==
''This is how the template looks with values filled in. The self-reference resolves to whatever this template is called on your wiki.''
{{ {{PAGENAME}}
| name = Lion
| kingdom = Animalia
| family = Felidae
| genus = Panthera
| species = Panthera leo
| conservation_status = Vulnerable
}}
<div style="clear: both;"></div>
{{documentation}}
</noinclude>
1yjd9h0hh2k9re82xw60u5p0mj52q3x
User:Namoroka/sandbox/1
2
177074
757891
757727
2026-08-20T12:54:39Z
Namoroka
19627
757891
wikitext
text/x-wiki
* [[MediaWiki:Gadget-hanja-reading.js]]
** [[MediaWiki:Gadget-hanja-base.json]]
** [[MediaWiki:Gadget-hanja-variants.json]]
** [[MediaWiki:Gadget-hanja-variants-cjkvi.json]]
** [[MediaWiki:Gadget-hanja-history.json]]
** [[MediaWiki:Gadget-hanja-overrides.json]]
** [[MediaWiki:Gadget-hanja-word.json]]
* waks aks의 확장 A 목록
* waks aks의 확장 B 목록
* 기존 base, variants, variants-cjkvi에서 있는 글자 목록 비교
* 없거나 다르면 추출
* db.history와 달리 waks는 두음법칙인 경우 기록하지 않은 듯
唯唯諾諾 유유낙낙
*貰房살이, 傳貰房, 月貰房
*貰房살이傳貰房月貰房
*祭禮樂 제례악
*宗廟祭禮樂
連絡
*량(輛), 리(理, 里, 厘, 釐)
*량(輛), 列車 한 輛
**차량(車輛)
**차량세(車輛稅)
**차량용품(車輛用品)
*不+ㄷ/ㅈ = 부, 나머지는 전부 불
**불가(不可), 불량(不良), 불합리(不合理)
**부당(不當), 절대부등식(絶對不等式), 부적절(不適切)
**예외: 부실(不實), 3불정책(三不政策), 독불장군(獨不將軍)
金氏
商賈 賈船
불연즉(不然則)
"乘車": "승차",
"乘車之誚": "승거지초",
"駐停車": "주정차",
"停車燈": "정차등",
"前車": "전차",
"前車可鑑": "전거가감",
"前車覆轍": "전거복철"
停前車可鑑
불가(不可)
불가결(不可缺)
불가능(不可能)
불가침조약(不可侵條約)
불가피(不可避)
불과(不過)
불구(不拘)
불구속(不拘束)
불규칙(不規則)
불균형(不均衡)
불길(不吉)
불능(不能)
불량(不良)
불량배(不良輩)
불량식품(不良食品)
불로초(不老草)
불리(不利)
불륜(不倫)
불만(不滿)
불만족(不滿足)
불면증(不眠症)
불멸(不滅)
불명예(不名譽)
불모지(不毛地)
불문(不問)
불법(不法)
불법적(不法的)
불법행위(不法行爲)
불변(不變)
불복(不服)
불복종(不服從)
불사(不辭/不死)
불사신(不死身)
불사조(不死鳥)
불상사(不祥事)
불성실(不誠實)
불순(不純/不順)
불시(不時)
불신(不信)
불안(不安)
불여귀(不如歸)
불연(不燃)
불연성(不燃性)
불연속(不連續)
불완전(不完全)
불우(不遇)
불운(不運)
불응(不應)
퇴거불응죄(退去不應罪)
불의(不義)
불이익(不利益)
불이행(不履行)
제차신호조작불이행(諸車信號操作不履行)
지시불이행(指示不履行)
불임(不妊)
불참(不參)
불청객(不請客)
불체포특권(不逮捕特權)
불초(不肖)
불쾌(不快)
불쾌감(不快感)
불투명(不透明)
불편(不便)
불평(不平)
불평등(不平等)
불필요(不必要)
불합격(不合格)
불합리(不合理)
불행(不幸)
불허(不許)
불확실(不確實)
불확실성(不確實性)
불황(不況)
불효(不孝)
불후(不朽)
부당(不當)
부도(不渡)
부도덕(不道德)
부동산(不動産)
부득이(不得已)
부등식(不等式)
절대부등식(絶對不等式)
부실(不實)
부작위(不作爲)
부재(不在)
부적절(不適切)
부정(不定/不正/不淨)
부정행위(不正行爲)
부조리(不條理)
부족(不足)
과부족(過不足)
부주의(不注意)
삼부점(三不粘)
가치부전(假痴不癲)
과유불급(過猶不及)
권불십년(權不十年)
독불장군(獨不將軍)
두문불출(杜門不出)
목불인견(目不忍見)[7]
목불식정(目不識丁)
복지부동(伏地不動)
불가항력(不可抗力)
불교이주(不敎而誅)
불구대천(不俱戴天)
오매불망(寤寐不忘)
천부당만부당(千不當萬不當)
표리부동(表裏不同)
부동방면(不動坊面)
불로동(不老洞)
불로봉무동(不老鳳舞洞)
가부(可否)
가부간(可否間)
가타부타(可타否타)
거부(拒否)
낙부(諾否)
부결(否決)
부인(否認)
부정(否定)
부정적(否定的)
안부(安否)
여부(與否)
비색(否塞)
비운(否運)
왈가왈부(曰可曰否)
(어미 ‘-을’ 뒤에 ‘있다’, ‘없다’ 따위와 함께 쓰여) 1. ‘까닭’, ‘이치’의 뜻을 나타내는 말.
*그럴 理가 없다.
*그럴理가 없다.
*그럴理가없다.
*雲養 大監이나 나나 이미 허리 부러진 虎狼인데, 저들이 危險을 무릅쓰면서까지 도와줄 理 있겠소?
*外部에서 侵入한 痕跡이 없고 門은 잠겨져 있었으므로 나갔을 理 萬無다.
*閔箕의 性格으로 그 祕密을 그의 妻에게 告白하지 않았을 理 또한 없을 터였다.
*자네가 모르는 일을 낸들 알 理 있나?
*그러나 조만춘이가 逃亡兵인 그를 찾아 이런 後方에까지 내려올 理가 萬無하다.
*벌써 데려왔을 理는 없고 마침 제풀에 왔나 하고 가만히 앉았으려니 門이 활짝 열리며 경애가 딱 섰다.
*신여성(新女性)
*新女性(신여성)
*新女性
*女性
*女
*省略
* 金: 김/금
** 김해 김씨(金海金氏, 金海 金氏), 金海, 金氏
**개금(改金), 과금(課金), 과징금(課懲金), 금강(金剛), 금속(金屬), 비금속(非金屬), 금요일(金曜日), 비자금(秘資金), 장학금(奬學金), 황금(黃金), 금전(金錢), 입금(入金)
**김구(金九), 김대중(金大中), 김부겸(金富謙), 김종필(金鍾泌), 김무성(金武星), 김상곤(金相坤)
**가서만금(家書萬金), 견금여석(見金如石), 금과옥조(金科玉條), 금란지교(金蘭之交), 금석뇌약(金石牢約), 금자탑(金字塔), 금지옥엽(金枝玉葉), 단금지계교(斷金之契交),일확천금(一攫千金)
**금강산(金剛山), 금련산(金連山), 금오산(金烏山), 금정산(金井山), 몽금포(夢金浦), 새만금(새萬金)
* 반복부호
**正々堂々(정정당당)
**明々白々(명명백백)
**各々(각각), 云々(운운), 繼々承々(계계승승), 一々이(일일이), 一一이
**續々(속속)
**着々(착착)
**歷々히(역력히)
**默々히(묵묵히)
**細々한(세세한)
**赫々한(혁혁한)
**紛々할(분분할)
**紛〻할
**분々할
* 一二三四五六七八九十百千萬万億兆〇零
** 二〇二六年, 一九九九年, 二〇〇〇년대
** 六二〇〇円, 五〇〇원, 五〇〇원
** 〇二-一二三-四五六七
** 第一〇〇호, 三〇二호
** 二.〇
== 테스트 4 ==
*樂('''악''', 낙, 락, '''요''') → '''樂曲(악곡)''', 樂園(낙원), 娛樂(오락), '''樂山(요산)'''
가악(歌樂)
관악(管樂)
관현악(管絃樂)
국악(國樂)
군악(軍樂)
군악대(軍樂隊)
기악(器樂)
농악(農樂)
성악(聲樂)
아악(雅樂)
악곡(樂曲)
악기(樂器)
고격악기(敲擊樂器), 관악기(管樂器), 취악기(吹樂器), 취주악기(吹奏樂器), 타악기(打樂器), 현악기(絃樂器)
악단(樂團)
악보(樂譜)
악부(樂府)
악상(樂想)
악장(樂章)
악학궤범(樂學軌範)
예악(禮樂)
음악(音樂)
고전음악(古典音樂), 근대음악(近代音樂), 다성부음악(多聲部音樂), 배경음악(背景音樂), 음악당(音樂堂), 음악회(音樂會)
제례악(祭禮樂)
취주악(吹奏樂)
향악(鄕樂)
극락(極樂)
낙관(樂觀)
낙관론(樂觀論), 낙관적(樂觀的), 낙관주의(樂觀主義)
낙랑(樂浪)
낙선재(樂善齋)
낙승(樂勝)
낙원(樂園)
실낙원(失樂園)
낙천(樂天)
낙천관(樂天觀), 낙천적(樂天的), 낙천주의(樂天主義)
안락(安樂)
안락사(安樂死), 안락세계(安樂世界), 안락정토(安樂淨土)
안빈낙도(安貧樂道)
여민락(與民樂)
영락(永樂)
오락(娛樂)
가정오락(家庭娛樂), 오락실(娛樂室)
쾌락(快樂)
향락(享樂)
희희낙락(喜喜樂樂)
요산요수(樂山樂水)
요차불피(樂此不疲)
*見(견, '''현''') → 見聞(견문), '''謁見(알현)'''
;제10항 첫음 '녀, 뇨, 뉴, 니' → '여, 요, 유, 이'
*여자(女子), 연세(年歲), 요소(尿素), 유대(紐帶), 이토(泥土), 익명(匿名), 여성(女性), 여아(女兒), 여선생(女先生), 여학생(女學生)
*예외 1: 냥(兩), 냥쭝('''兩쭝'''), 년(年) / '''十''' 年, 金 '''한 兩''', 銀 두 '''兩쭝''' / 年 降水量(연 강수량, 명사), '''十 年'''(십 년, 의존 명사), 生産 年度(생산 연도, 명사), '''2018 年度'''(2018 년도, 의존 명사), 2018年度(2018년도, 의존 명사)
*예외 2: 신여성('''新女性'''), 공염불('''空念佛'''), 남존여비('''男尊女卑''')
*예외 3: 한국여자대학('''韓國女子大學'''), 대한요소비료회사(大韓尿素肥料會社)
;제11항 첫음 '랴, 려, 례, 료, 류, 리' → '야, 여, 예, 요, 유, 이'
*양심(良心), 역사(歷史), 예의(禮義), 용궁(龍宮), 유행(流行), 이발(理髮)
*예외 1: 리(里): '''몇 理'''냐?, 리(理): '''그럴 理'''가 없다. / '''客車''' '''五十 輛'''(객차 오십 량), '''2分''' 5厘 7厘(2푼 5리 7리)
*예외 2: 나열('''羅列'''), 치열('''齒列'''), 비열('''卑劣'''), 규율('''規律'''), 비율('''比率'''), 실패율('''失敗率'''), 분열('''分裂'''), 선열('''先烈'''), 진열('''陳列'''), 선율('''旋律'''), 전율('''戰慄'''), 백분율('''百分率''')
*예외 3: 신립(申砬), 최린(崔麟), 채륜(蔡倫), 하륜('''河崙''')
*예외 4: 국제연합('''國際聯合''') → 국련(國聯), 한국시각장애인연합회('''韓國視覺障礙人聯合會''') → 한시련(韓視聯)
*예외 4: 역이용('''逆利用'''), 연이율('''年利率'''), 열역학('''熱力學'''), 해외여행('''海外旅行''')
*예외 5: 서울여관(서울旅館), 신흥이발관('''新興理髮館'''), 육천육백육십육('''六千六百六十六''')
;제12항 첫음 '라, 래, 로, 뢰, 루, 르' → '나, 내, 노, 뇌, 누, 느'
*낙원(樂園), 내일(來日), 노인(老人), 뇌성(雷聲), 누각(樓閣), 능묘(陵墓)
*예외 1: 낙원(樂園), 내일(來日), 노인(老人), 뇌성(雷聲), 누각(樓閣), 능묘(陵墓)
*예외 2: 내내월('''來來月'''), 상노인('''上老人'''), 중노동('''重勞動'''), 비논리적('''非論理的''')
;제13항 한 단어 안에서 같은 음절이나 비슷한 음절이 겹쳐 나는 부분
*연연불망('''戀戀不忘'''), 유유상종('''類類相從'''), 누누이('''屢屢이''')
*예외: 열렬히('''熱熱히'''), 늠름히('''凜凜히'''), 연년세세(年年歲歲), 낙락장송(落落長松), 냉랭하다(冷冷하다), 역력히(歷歷히), 염념불망(念念不忘)
* https://db.history.go.kr/unicode/
* http://waks.aks.ac.kr/unicode/
* https://kostma.aks.ac.kr/segment/segmentList.aspx
* https://www.heritage.go.kr/heri/mem/selectHanjUmka.do
* https://www.hanja.ne.kr/jupsu/jupsu07_01.asp
* https://oriental-dic.dankook.ac.kr/index
* http://www.e-hanja.kr/
* https://hc.jsecs.org/irg/ws2021/app/
* https://db.cyberseodang.or.kr/twochar/index.html#
== + ==
갈곶리(乫串里)
법곳동(法串洞)
대곶면(大串面)
월곶면(月串面)
보구곶(甫口串)
월곶동(月串洞)
장곳리(獐串里)
홍곳리(洪串里)
삼곶리(三串里)
갈곶동(葛串洞)
지곶동(紙串洞)
갑곶리(甲串里)
월곳리(月串里)
석곶리(石串里)
호미곶(虎尾串)
흥환리(興串里)
사곶리(仕串里)
간절곶(艮絶串)
대산곶(大山串)
모월곶(毛月串)
호미곶(虎尾串)
장기곶(艮絶串)
비파곶(比巴串)
송도곶(松島串)
장산곶(長山串)
등산곶(登山串)
전곶(箭串)
공단곶(功端串)
동외곶(冬外串)
장기곶(長鬐串)
장산곶(長山串)
갑곶(甲串)
본곶(本곶)
모래곶(모래串)
활음조 현상
거란(契丹)
동란국(東丹國)
모란(牧丹)
<pre>
"開寧民亂": "개령민란",
"敦寧": "돈령",
"靡寧": "미령",
"玉度靡寧": "옥도미령",
"會寧": "회령",
"武寧": "무령",
"孝寧": "효령",
"遼寧": "요령",
"居寧": "거령",
"巨寧": "거령",
"濟寧里": "제령리",
"宜寧": "의령",
"開寧面": "개령면",
"河寧里": "하령리",
"載寧": "재령",
"會寧里": "회령리",
"保寧": "보령",
"富寧": "부령",
"泰寧": "태령",
"古寧": "고령",
"鐵犂": "철려",
"鋤犁": "서려",
"踏犂": "답려",
"單牛犂": "단우려",
"兩牛犂": "양우려",
"蟉松": "규송",
"瘻癘": "누라",
"縶縲": "칩류",
"縲紲": "유설",
"鶆鳩": "내구",
"水剌": "수라",
"纍纍": "누누",
惹鬧 야료
起鬧 기뇨
熱鬧 열뇨
鬧擾 요요
息鬧 식뇨
息鬧 식뇨
濟州民鬧 제주민요
作鬧 작뇨
乖鬧 괴뇨
紛鬧 분뇨
喧鬧 훤뇨
煩鬧 번뇨
惹起鬧端-- 야기요단
</pre>
== Copyright ==
The Unicode database is released by Unicode Inc. under the following terms:
<blockquote>
Copyright © 1991-2022 Unicode, Inc. All rights reserved. Distributed under the Terms of Use in https://www.unicode.org/copyright.html.
Permission is hereby granted, free of charge, to any person obtaining a copy of the Unicode data files and any associated documentation (the "Data Files") or Unicode software and any associated documentation (the "Software") to deal in the Data Files or Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, and/or sell copies of the Data Files or Software, and to permit persons to whom the Data Files or Software are furnished to do so, provided that either
(a) this copyright and permission notice appear with all copies of the Data Files or Software, or
(b) this copyright and permission notice appear in associated Documentation.
THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF THIRD PARTY RIGHTS. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA FILES OR SOFTWARE.
Except as contained in this notice, the name of a copyright holder shall not be used in advertising or otherwise to promote the sale, use or other dealings in these Data Files or Software without prior written authorization of the copyright holder.
</blockquote>
po9d8i9zd8yjh0u23san60es2s9kuua
File:Fan Poster.jpg
6
177923
757889
2026-08-20T12:19:41Z
Anirudh23090
74777
757889
wikitext
text/x-wiki
{{ग़ैर मुक्त पोस्टर उपयोग औचित्य
|Article = फ़ैन (फ़िल्म)
|Use = Infobox
|Media =
<!-- ADDITIONAL INFORMATION -->
|Name =
|Distributor =
|Publisher =
|Graphic artist =
|Type =
|Website =
|Owner =
|Commentary =
<!-- OVERRIDE FIELDS-->
|Description =
|Source = फ़ैन
|Portion =
|Low resolution =
|Purpose = <!-- Must be specified if Use is not Infobox / Header / Section -->
|Replaceability =
|Other information =
}}
{{ग़ैर मुक्त पोस्टर}}
[[श्रेणी:हिन्दी फ़िल्म पोस्टर]]
k3imrg2xkohj1h8pdjlykdhdhjpc8uv
Brain test
0
177924
757928
2026-08-21T01:51:54Z
ToluAyod
69650
Created page with "Test brain article"
757928
wikitext
text/x-wiki
Test brain article
n4lok8yng9cz4xum4gp3unp8tnnc8rv
User:Namoroka/sandbox/7
2
177925
757932
2026-08-21T04:30:30Z
Namoroka
19627
Created page with "{{절차 머리말 | 제목 = 옛한글 입력 도구 | 부제 = | 이전 = | 다음 = | 단축 = | 설명 = }} '''옛한글 입력 도구'''는 편집창 등에서 [[위키문헌:옛한글|옛한글]]을 입력할 수 있도록 도와주는 자바스크립트 소도구입니다. bab2min가 개발한 [https://akorn.bab2min.pe.kr/input/ 어듸메 옛한글 입력기]를 기반으로 합니다. == 사용법 == === 활성화 === [[특수:환경설정]] → 특수:..."
757932
wikitext
text/x-wiki
{{절차 머리말
| 제목 = 옛한글 입력 도구
| 부제 =
| 이전 =
| 다음 =
| 단축 =
| 설명 =
}}
'''옛한글 입력 도구'''는 편집창 등에서 [[위키문헌:옛한글|옛한글]]을 입력할 수 있도록 도와주는 자바스크립트 소도구입니다.
bab2min가 개발한 [https://akorn.bab2min.pe.kr/input/ 어듸메 옛한글 입력기]를 기반으로 합니다.
== 사용법 ==
=== 활성화 ===
[[특수:환경설정]] → [[특수:환경설정#mw-prefsection-gadgets|소도구]] → 옛한글 입력 도구에서 활성화 가능합니다.
입력기는 아래 방법 중 하나를 사용하여 켜고 끌 수 있습니다.
* [[w:위키백과:편집 도구 모음|편집 도구 모음]]에서 "[[파일:OOjs UI icon yethangul.svg|20px|class=skin-invert]] '''옛한글'''" 버튼 클릭
* 도구 메뉴(사이드바) → "옛한글 입력 켜기/끄기" 클릭
* 단축키 {{키눌림|Ctrl}} + {{키눌림|Shift}} + {{키눌림|f}}
활성화 이후에는 다시 위 방법을 이용하여 해제하지 않는 이상 활성화 상태가 유지됩니다. 편집창 뿐만이 아닌 검색창, 편집 요약 등에서도 입력 기능이 유지됩니다.
대한민국 표준 두벌식 자판(KS X 5002)에서의 사용을 전제로 합니다.
=== 입력 방법 ===
* {{옛한글 인라인|ㅿ}}: {{키눌림|Shift}} + {{키눌림|ㅁ}} (혹은 {{키눌림|ㅁ}} + {{키눌림|.}})
* {{옛한글 인라인|ㆁ}}: {{키눌림|Shift}} + {{키눌림|ㅇ}} (혹은 {{키눌림|ㅇ}} + {{키눌림|.}})
* {{옛한글 인라인|ㆆ}}: {{키눌림|Shift}} + {{키눌림|ㅎ}} (혹은 {{키눌림|ㅎ}} + {{키눌림|.}})
* {{옛한글 인라인|ᄼ}}: {{키눌림|Shift}} + {{키눌림|ㅋ}} (혹은 {{키눌림|ㅋ}} + {{키눌림|.}})
* {{옛한글 인라인|ᄾ}}: {{키눌림|Shift}} + {{키눌림|ㅌ}} (혹은 {{키눌림|ㅌ}} + {{키눌림|.}})
* {{옛한글 인라인|ᅎ}}: {{키눌림|Shift}} + {{키눌림|ㅊ}} (혹은 {{키눌림|ㅊ}} + {{키눌림|.}})
* {{옛한글 인라인|ᅐ}}: {{키눌림|Shift}} + {{키눌림|ㅍ}} (혹은 {{키눌림|ㅍ}} + {{키눌림|.}})
* {{옛한글 인라인|ᅔ}}: {{키눌림|Shift}} + {{키눌림|ㅠ}} (혹은 {{키눌림|ㅠ}} + {{키눌림|.}})
* {{옛한글 인라인|ᅕ}}: {{키눌림|Shift}} + {{키눌림|ㅜ}} (혹은 {{키눌림|ㅜ}} + {{키눌림|.}})
* {{옛한글 인라인|ᄽ}}: {{키눌림|Shift}} + {{키눌림|ㅋ}} + {{키눌림|ㅋ}} (혹은 {{키눌림|ㅋ}} + {{키눌림|.}} + {{키눌림|.}})
* {{옛한글 인라인|ᄿ}}: {{키눌림|Shift}} + {{키눌림|ㅌ}} + {{키눌림|ㅌ}} (혹은 {{키눌림|ㅌ}} + {{키눌림|.}} + {{키눌림|.}})
* {{옛한글 인라인|ᅏ}}: {{키눌림|Shift}} + {{키눌림|ㅊ}} + {{키눌림|ㅊ}} (혹은 {{키눌림|ㅊ}} + {{키눌림|.}} + {{키눌림|.}})
* {{옛한글 인라인|ᅑ}}: {{키눌림|Shift}} + {{키눌림|ㅍ}} + {{키눌림|ㅍ}} (혹은 {{키눌림|ㅍ}} + {{키눌림|.}} + {{키눌림|.}})
* {{옛한글 인라인|ㆍ}}: {{키눌림|ㅏ}} + {{키눌림|ㅏ}}
* 합용/각자 병서: 각 자음 혹음 모음을 순서대로 입력
== 입력 지원 범위 ==
아래의 자모를 지원합니다.
*초성: {{옛한글 인라인|ᄀ ᄁ ᄂ ᄃ ᄄ ᄅ ᄆ ᄇ ᄈ ᄉ ᄊ ᄋ ᄌ ᄍ ᄎ ᄏ ᄐ ᄑ ᄒ ᄓ ᄔ ᄕ ᄖ ᄗ ᄘ ᄙ ᄚ ᄛ ᄜ ᄝ ᄞ ᄟ ᄠ ᄡ ᄢ ᄣ ᄤ ᄥ ᄦ ᄧ ᄨ ᄩ ᄪ ᄫ ᄬ ᄭ ᄮ ᄯ ᄰ ᄱ ᄲ ᄳ ᄴ ᄵ ᄶ ᄷ ᄸ ᄹ ᄺ ᄻ ᄼ ᄽ ᄾ ᄿ ᅀ ᅁ ᅂ ᅃ ᅄ ᅅ ᅆ ᅇ ᅈ ᅉ ᅊ ᅋ ᅌ ᅍ ᅎ ᅏ ᅐ ᅑ ᅒ ᅓ ᅔ ᅕ ᅖ ᅗ ᅘ ᅙ ᅚ ᅛ ᅜ ᅝ ᅞ ꥠ ꥡ ꥢ ꥣ ꥤ ꥥ ꥦ ꥧ ꥨ ꥩ ꥪ ꥫ ꥬ ꥭ ꥮ ꥯ ꥰ ꥱ ꥲ ꥳ ꥴ ꥵ ꥶ ꥷ ꥸ ꥹ ꥺ ꥻ ꥼ}}
*중성: {{옛한글 인라인|ᅡ ᅢ ᅣ ᅤ ᅥ ᅦ ᅧ ᅨ ᅩ ᅪ ᅫ ᅬ ᅭ ᅮ ᅯ ᅰ ᅱ ᅲ ᅳ ᅴ ᅵ ᅶ ᅷ ᅸ ᅹ ᅺ ᅻ ᅼ ᅽ ᅾ ᅿ ᆀ ᆁ ᆂ ᆃ ᆄ ᆅ ᆆ ᆇ ᆈ ᆉ ᆊ ᆋ ᆌ ᆍ ᆎ ᆏ ᆐ ᆑ ᆒ ᆓ ᆔ ᆕ ᆖ ᆗ ᆘ ᆙ ᆚ ᆛ ᆜ ᆝ ᆞ ᆟ ᆠ ᆡ ᆢ ᆣ ᆤ ᆥ ᆦ ᆧ ힰ ힱ ힲ ힳ ힴ ힵ ힶ ힷ ힸ ힹ ힺ ힻ ힼ ힽ ힾ ힿ ퟀ ퟁ ퟂ ퟃ ퟄ ퟅ ퟆ}}
*종성: {{옛한글 인라인|ᆨ ᆩ ᆪ ᆫ ᆬ ᆭ ᆮ ᆯ ᆰ ᆱ ᆲ ᆳ ᆴ ᆵ ᆶ ᆷ ᆸ ᆹ ᆺ ᆻ ᆼ ᆽ ᆾ ᆿ ᇀ ᇁ ᇂ ᇃ ᇄ ᇅ ᇆ ᇇ ᇈ ᇉ ᇊ ᇋ ᇌ ᇍ ᇎ ᇏ ᇐ ᇑ ᇒ ᇓ ᇔ ᇕ ᇖ ᇗ ᇘ ᇙ ᇚ ᇛ ᇜ ᇝ ᇞ ᇟ ᇠ ᇡ ᇢ ᇣ ᇤ ᇥ ᇦ ᇧ ᇨ ᇩ ᇪ ᇫ ᇬ ᇭ ᇮ ᇯ ᇰ ᇱ ᇲ ᇳ ᇴ ᇵ ᇶ ᇷ ᇸ ᇹ ᇺ ᇻ ᇼ ᇽ ᇾ ᇿ ퟋ ퟌ ퟍ ퟎ ퟏ ퟐ ퟑ ퟒ ퟓ ퟔ ퟕ ퟖ ퟗ ퟘ ퟙ ퟚ ퟛ ퟜ ퟝ ퟞ ퟟ ퟠ ퟡ ퟢ ퟣ ퟤ ퟥ ퟦ ퟧ ퟨ ퟩ ퟪ ퟫ ퟬ ퟭ ퟮ ퟯ ퟰ ퟱ ퟲ ퟳ ퟴ ퟵ ퟶ ퟷ ퟸ ퟹ ퟺ ퟻ}}
== 한계 및 문제점 ==
* [[mw:Extension:WikiEditor/ko|2010 위키텍스트 편집기]]에서만 사용 가능하며, [[mw:2017 wikitext editor/ko|2017 위키텍스트 편집기]] 및 [[mw:Help:VisualEditor/User guide/ko|시각편집기]] 등에서 사용할 수 없습니다.
* 편집 도구의 "[[파일:Codemirror 6 icon.svg|20px|class=skin-invert]] '''{{int:codemirror-toggle-label-short}}'''" 버튼으로 활성화되는 [[mw:Help:Extension:CodeMirror/ko|CodeMirror]] 확장기능과 동시에 사용할 수 없습니다.
* 단축키 등의 기능이 브라우저, 미디어위키, 다른 소도구 등 다른 요소와 충돌할 수 있습니다.
* 방점(<code> 〮</code> <code> 〯</code>) 및 중성 채움 문자(<code>ᅠᅠ</code>)는 수동으로 입력해야 합니다. 초성 채움 문자(<code>ᅟᅟ</code>)를 사용해야 하는 경우는 바로 입력이 가능합니다.
== 구성 ==
* [[미디어위키:Gadget-akinput-core.js]] - [[#원본 라이선스|MIT License]]
* [[미디어위키:Gadget-akinput-mediawiki.js]]
* [[미디어위키:Gadget-akinput.css]]
== 외부 링크 ==
* [https://github.com/bab2min/akorn-input Javascript 기반 웹 브라우저용 옛한글 입력기 akorn-input] - GitHub
== 원본 라이선스 ==
<pre>
MIT License
Copyright (c) 2018
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
</pre>
[[:분류:위키문헌 도움말]]
833g6aq5bavdjyy4ri49uc22agv67yg
Wikipedia:Sandbox/MoveIt e2e 2026-08-21T07-05-49-725Z
4
177926
757933
2026-08-21T07:05:51Z
Closed Limelike Curves
60396
MoveIt end-to-end test (2026-08-21T07-05-49-725Z), safe to delete
757933
wikitext
text/x-wiki
== Requested move: MoveIt e2e 2026-08-21T07-05-49-725Z ==
MoveIt end-to-end test, safe to delete (2026-08-21T07-05-49-725Z)
<nowiki>{{subst:RMassist | 1 = Example page | 2 = Example page (renamed) | reason = MoveIt end-to-end test, safe to delete}}</nowiki>
== Tail sentinel 2026-08-21T07-05-49-725Z ==
Sentinel: a section-targeted append must land above this heading.
94pv2qa945x049x23bhvipje02f7mow
757934
757933
2026-08-21T07:05:52Z
Closed Limelike Curves
60396
MoveIt end-to-end section append (2026-08-21T07-05-49-725Z), safe to delete
757934
wikitext
text/x-wiki
== Requested move: MoveIt e2e 2026-08-21T07-05-49-725Z ==
MoveIt end-to-end test, safe to delete (2026-08-21T07-05-49-725Z)
<nowiki>{{subst:RMassist | 1 = Example page | 2 = Example page (renamed) | reason = MoveIt end-to-end test, safe to delete}}</nowiki>
MoveIt section-targeted append, safe to delete (2026-08-21T07-05-49-725Z)
== Tail sentinel 2026-08-21T07-05-49-725Z ==
Sentinel: a section-targeted append must land above this heading.
0dv4tflcagx1bxc5x1plcl944lemzxc
757935
757934
2026-08-21T07:05:52Z
Closed Limelike Curves
60396
MoveIt live test teardown: blanking the throwaway test subpage
757935
wikitext
text/x-wiki
phoiac9h4m842xq45sp7s6u21eteeq1
Wikipedia:Sandbox/MoveIt moved 2026-08-21T07-05-53-624Z
4
177927
757936
2026-08-21T07:05:54Z
Closed Limelike Curves
60396
MoveIt live rename test: creating the page to be renamed
757936
wikitext
text/x-wiki
Throwaway page for the Move It live rename test (2026-08-21T07-05-53-624Z). Safe to delete.
byjb1ppjp3cr7qbza7hsscb06bin1ol
757937
757936
2026-08-21T07:05:55Z
Closed Limelike Curves
60396
Closed Limelike Curves moved page [[Wikipedia:Sandbox/MoveIt move 2026-08-21T07-05-53-624Z]] to [[Wikipedia:Sandbox/MoveIt moved 2026-08-21T07-05-53-624Z]]: Move It live rename test (via Move It browser extension)
757936
wikitext
text/x-wiki
Throwaway page for the Move It live rename test (2026-08-21T07-05-53-624Z). Safe to delete.
byjb1ppjp3cr7qbza7hsscb06bin1ol
757940
757937
2026-08-21T07:05:56Z
Closed Limelike Curves
60396
MoveIt live rename test teardown
757940
wikitext
text/x-wiki
phoiac9h4m842xq45sp7s6u21eteeq1
Wikipedia:Sandbox/MoveIt move 2026-08-21T07-05-53-624Z
4
177928
757938
2026-08-21T07:05:55Z
Closed Limelike Curves
60396
Closed Limelike Curves moved page [[Wikipedia:Sandbox/MoveIt move 2026-08-21T07-05-53-624Z]] to [[Wikipedia:Sandbox/MoveIt moved 2026-08-21T07-05-53-624Z]]: Move It live rename test (via Move It browser extension)
757938
wikitext
text/x-wiki
#REDIRECT [[Wikipedia:Sandbox/MoveIt moved 2026-08-21T07-05-53-624Z]]
{{Redirect category shell|
{{R from move}}
}}
efk2voj0ze40p05psvyo9fgl265r82d
757939
757938
2026-08-21T07:05:56Z
Closed Limelike Curves
60396
MoveIt live rename test teardown
757939
wikitext
text/x-wiki
phoiac9h4m842xq45sp7s6u21eteeq1
User:Sàádî/টেস্ট ১
2
177929
757941
2026-08-21T09:10:37Z
Sàádî
69030
বট টেস্ট: এডিট 1/2
757941
wikitext
text/x-wiki
== পরীক্ষামূলক আপলোড ==
এটি আমার বট দ্বারা করা প্রথম পরীক্ষামূলক এডিট।
[[Category:Test]]
ni9radu3p84yvciniqv1v6mmxdimbrs
User:Sàádî/টেস্ট ২
2
177930
757942
2026-08-21T09:11:40Z
Sàádî
69030
বট টেস্ট: এডিট 2/2
757942
wikitext
text/x-wiki
== পরীক্ষামূলক আপলোড ==
এটি আমার বট দ্বারা করা দ্বিতীয় পরীক্ষামূলক এডিট।
[[Category:Test]]
k4qsxa2s660nhxnmoylnr7i6jzcd8sy
== বাংলা ==
0
177931
757943
2026-08-21T09:41:23Z
Sàádî
69030
ম্যানুয়াল আপলোড
757943
wikitext
text/x-wiki
=== অর্থ ===
hr8gpodlv0n1yd1tq61g9nfbmrimzg6
757944
757943
2026-08-21T09:42:48Z
Sàádî
69030
757944
wikitext
text/x-wiki
=== বাংলা ===
qjhcy43ym9b704lwr8rd0q8e8zhetrz
গরু
0
177932
757945
2026-08-21T10:02:26Z
Sàádî
69030
ফরম্যাট আপলোড
757945
wikitext
text/x-wiki
গরু একটি গৃহপালিট অইশু। এটি ঘাস খায়। গরুর মাংসখুব মজা।
= বিড়াল =
বিড়াল একটি মেরুদণ্ডী প্রাণি। এটি চারটি পা রয়েছে।
�
bq5g61lhfysraehwo08f6f3n9p0v4hp
কম্পিউটার
0
177933
757946
2026-08-21T10:25:43Z
Sàádî
69030
ফরম্যাট আপলোড
757946
wikitext
text/x-wiki
'''কম্পিউটার''' একটি ইলেকট্রনিক যন্ত্র।
sg3yndlnxli3u66rz3osskn24eksmp2
757949
757946
2026-08-21T10:39:00Z
Sàádî
69030
ফরম্যাট আপলোড
757949
wikitext
text/x-wiki
'''কম্পিউটার''' একটি ইলেকট্রনিক যন্ত্র।
== ইতিহাস ==
প্রথম কম্পিউটার ১৯৪৬ সালে তৈরি হয়।
== আরও দেখুন ==
* [[ইন্টারনেট]]
[[বিষয়শ্রেণী:প্রযুক্তি]]
fwkozt017v3poyiyosnuf7df993k6ul
ইতিহাস
0
177934
757947
2026-08-21T10:26:04Z
Sàádî
69030
ফরম্যাট আপলোড
757947
wikitext
text/x-wiki
প্রথম কম্পিউটার ১৯৪৬ সালে তৈরি হয়।
lu6shv49uxf2mxk7y63q5x0s7enl72u
আরও দেখুন
0
177935
757948
2026-08-21T10:26:23Z
Sàádî
69030
ফরম্যাট আপলোড
757948
wikitext
text/x-wiki
* [[ইন্টারনেট]]
[[বিষয়শ্রেণী:প্রযুক্তি]]
j0elzoeuamoedz7bdz7or53pzgabjx2
বই
0
177936
757950
2026-08-21T10:39:10Z
Sàádî
69030
ফরম্যাট আপলোড
757950
wikitext
text/x-wiki
'''বই''' জ্ঞানের ভাণ্ডার।
== প্রকারভেদ ==
* উপন্যাস
* কবিতা
[[বিষয়শ্রেণী:সাহিত্য]]
ju6poq840808fg8803r2q48cvqkpdc3