উইকিঅভিধান bnwiktionary https://bn.wiktionary.org/wiki/%E0%A6%AA%E0%A7%8D%E0%A6%B0%E0%A6%A7%E0%A6%BE%E0%A6%A8_%E0%A6%AA%E0%A6%BE%E0%A6%A4%E0%A6%BE MediaWiki 1.39.0-wmf.26 case-sensitive মিডিয়া বিশেষ আলাপ ব্যবহারকারী ব্যবহারকারী আলাপ উইকিঅভিধান উইকিঅভিধান আলোচনা চিত্র চিত্র আলোচনা মিডিয়াউইকি মিডিয়াউইকি আলোচনা টেমপ্লেট টেমপ্লেট আলোচনা সাহায্য সাহায্য আলোচনা বিষয়শ্রেণী বিষয়শ্রেণী আলোচনা উইকিসরাস উইকিসরাস আলোচনা TimedText TimedText talk মডিউল মডিউল আলাপ গ্যাজেট গ্যাজেট আলোচনা গ্যাজেট সংজ্ঞা গ্যাজেট সংজ্ঞার আলোচনা অদৃশ্য 0 2089 133025 123845 2022-08-27T08:07:45Z Aishik Rehman 5592 wikitext text/x-wiki == {{ভাষা|bn}} == === উচ্চারণ === * {{অডিও|bn|LL-Q9610 (ben)-MdsShakil-অদৃশ্য.wav|অডিও}} ===বিশেষণ=== {{বিশেষণ|bn}} অলক্ষ্য; অপ্রত্যক্ষ [[বিষয়শ্রেণী:বাংলা বিশেষণ]] {{পূর্বনির্ধারিতবাছাই:অ, অদৃশ্য}} 5k88snzfy4efausatdaqbuza0sox9ox অকন্টক 0 2180 133033 82234 2022-08-27T08:11:59Z Aishik Rehman 5592 wikitext text/x-wiki == {{ভাষা|bn}} == === উচ্চারণ === * {{অডিও|bn|LL-Q9610 (ben)-MdsShakil-অকন্টক.wav|অডিও}} ===ব্যুৎপত্তি=== *[ন + কন্টক (কাঁটা) (যাতে)] ==={{অর্থ}}=== {{adjective-category|bn}} # [[নিষ্কন্টক]], # কাঁটা নেই যাতে, # কন্টকশূন্য, # কন্টকরহিত, # বিবাদশূন্য, #[[নিরুপদ্রব]] #নিরাপদ # নির্ব্বিঘ্ন # [শত্রু কন্টক স্বরূপ ক্লেশকর বলিয়া] শত্রু রহিত ==={{অনুবাদসমূহ}}=== {{অনুবাদ-শীর্ষ}} :* {{en}}: thornless {{অনুবাদ-নীচ}} # safe # having no enemy; {{উৎস-ভাষা|bn}} pixrcxwkgpgc1gcyz0ebhn3yzwhj4gv অঋণী 0 2197 133031 82219 2022-08-27T08:10:31Z Aishik Rehman 5592 wikitext text/x-wiki == {{ভাষা|bn}} == === উচ্চারণ === * {{অডিও|bn|LL-Q9610 (ben)-MdsShakil-অঋণী.wav|অডিও}} === ব্যুৎপত্তি === * স.অ+ঋণ+ইন(ইনি) স. অনণী ===বিশেষণ=== {{বিশেষণ|bn}} # যে কারও কাছে [[ঋণী]] নয় # [[ঋণমুক্ত]] # যে [[ঋণ]] পরিশোধ করেছে। # যে দেবঋণ, ঋষিঋণ ও পিতৃঋণ নামক তিন প্রকার ঋণ হতে যাগ, যজ্ঞ, দান ও সন্তানোৎপাদন দ্বারা মুক্ত হয়েছে। ==={{অনুবাদসমূহ}}=== {{অনুবাদ-শীর্ষ}} :* {{en}}: {{অনুবাদ-নীচ}} {{উৎস-ভাষা|bn}} hvoy39cd0zlp2baheyn3iml07gg8qn5 অন্নপায়ী 0 2484 133130 124104 2022-08-27T09:54:32Z MdsShakil 6871 অডিও যোগ wikitext text/x-wiki == {{ভাষা|bn}} == ===উচ্চারণ=== * {{অডিও|bn|LL-Q9610 (ben)-Shakil Hosen (MdsShakil)-অন্নপায়ী.wav|অডিও}} ==ব্যুৎপত্তি== রবীন্দ্রনাথ ঠাকুর তার "দুরন্ত আশা" কবিতায় এ শব্দটি ব্যবহার করেছিলেন। ===বিশেষ্য=== {{বিশেষ্য|bn}} যে অন্ন পান করে।(রূপক) [[বিষয়শ্রেণী:বাংলা বিশেষ্য]] {{পূর্বনির্ধারিতবাছাই:অ, অন্নপায়ী}} 2d9czclmn0c9mezdujduiw0xys6r46l অপভ্রংশ 0 2529 133131 126556 2022-08-27T09:54:33Z MdsShakil 6871 অডিও যোগ wikitext text/x-wiki == {{ভাষা|bn}} == ===উচ্চারণ=== * {{অডিও|bn|LL-Q9610 (ben)-Shakil Hosen (MdsShakil)-অপভ্রংশ.wav|অডিও}} ===বিশেষ্য=== {{বিশেষ্য|bn}} * কোন ভাষার শব্দাবলির বিকৃত বা অশুদ্ধ রুপ # আসল শব্দটির অশুদ্ধ রূপ; অপভাষা # প্রাকৃতের পরবর্তীরূপ # অশুদ্ধি # বিকৃতি। [[বিষয়শ্রেণী:বাংলা বিশেষ্য]] {{পূর্বনির্ধারিতবাছাই:অ, অপভ্রংশ}} [[বিষয়শ্রেণী:অপ উপসর্গযোগে গঠিত শব্দ]] ocdip12cr6ky3ek8s38r0v7nx8hht05 অপ্রতুল 0 2539 133027 124209 2022-08-27T08:07:47Z Aishik Rehman 5592 wikitext text/x-wiki == {{ভাষা|bn}} == === উচ্চারণ === * {{অডিও|bn|LL-Q9610 (ben)-MdsShakil-অপ্রতুল.wav|অডিও}} ===বিশেষণ=== {{বিশেষণ|bn}} যথেষ্ট নয় এমন। [[বিষয়শ্রেণী:বাংলা বিশেষণ]] {{পূর্বনির্ধারিতবাছাই:অ, অপ্রতুল}} hqf3olnoxpxhx9uznnkasf1odu1mj8b অনুপ্রেরণা 0 2543 133128 132659 2022-08-27T09:54:30Z MdsShakil 6871 অডিও যোগ wikitext text/x-wiki == {{ভাষা|bn}} == ===উচ্চারণ=== * {{অডিও|bn|LL-Q9610 (ben)-Shakil Hosen (MdsShakil)-অনুপ্রেরণা.wav|অডিও}} ===বিশেষ্য=== {{বিশেষ্য|bn}} # [[উদ্দীপনা]]; # [[উৎসাহ]]। {{পূর্বনির্ধারিতবাছাই:অ, অনুপ্রেরণা}} [[বিষয়শ্রেণী:৫-অক্ষর বিশিষ্ট বাংলা শব্দ]] 2ta228ftuffoe5a63aiv4mlx5x0qgxw অন্তঃপাতী 0 2555 133129 124028 2022-08-27T09:54:31Z MdsShakil 6871 অডিও যোগ wikitext text/x-wiki == {{ভাষা|bn}} == ===উচ্চারণ=== * {{অডিও|bn|LL-Q9610 (ben)-Shakil Hosen (MdsShakil)-অন্তঃপাতী.wav|অডিও}} ===বিশেষ্য=== {{বিশেষ্য|bn}} অন্তর্গত। [[বিষয়শ্রেণী:বাংলা বিশেষ্য]] {{পূর্বনির্ধারিতবাছাই:অ, অন্তঃপাতী}} 3r7nsd3fuw7d6a7tak4evj4jhfvuz0t অধিক্ষিপ্ত 0 2587 133026 123860 2022-08-27T08:07:46Z Aishik Rehman 5592 wikitext text/x-wiki == {{ভাষা|bn}} == === উচ্চারণ === * {{অডিও|bn|LL-Q9610 (ben)-MdsShakil-অধিক্ষিপ্ত.wav|অডিও}} === ব্যুৎপত্তি === অধি + ক্ষিপ্ + ত (র্ম) === বিশেষণ === {{বিশেষণ|bn}} * [[নিন্দিত]] * [[তিরস্কৃত]] * [[অবজ্ঞাত]] * [[অনাদৃত]] == {{ভাষা|en}} == * [[:en:Blamed|Blamed]] * [[:en:Abused|Abused]] * [[:en:Condemned|Condemned]] * [[:en:Improper|Improper]] * [[:en:Forbidden|Forbidden]] * [[:en:Low|Low]] * [[:en:Vile|Vile]] * [[:en:Despicable|Despicable]] * [[:en:Wrong|Wrong]] [[বিষয়শ্রেণী:বাংলা বিশেষণ]] {{পূর্বনির্ধারিতবাছাই:অ, অধিক্ষিপ্ত}} 4zjvjvzdd5o46qiaxku4af00y41on5y উইকিঅভিধান:আলোচনাসভা 4 2595 132967 132871 2022-08-26T12:02:24Z CSinha (WMF) 7877 /* ২০২২ ট্রাস্টি বোর্ডের নির্বাচনের জন্য সম্প্রদায়ের ভোটদান শুরু হয়েছে */ নতুন অনুচ্ছেদ wikitext text/x-wiki {{উইকিঅভিধান:আলোচনাসভা/শীর্ষ}}[[বিষয়শ্রেণী:উইকিঅভিধানের প্রশাসন]] <!-- অনুগ্রহপূর্বক নতুন আলোচনাসূত্র সবার নিচে যোগ করুন, ধন্যবাদ। --> __NEWSECTIONLINK__ == নিস্ক্রিয় বট অ্যাকাউন্ট == <div class="boilerplate metadata rfa" style="background-color: #f5fff5; margin: 2em 0 0 0; padding: 0 10px 0 10px; border: 1px solid #AAAAAA;">আলোচনা অনুসারে [https://meta.wikimedia.org/w/index.php?title=Steward_requests/Bot_status&oldid=22497793 মেটায়] আবেদনের ভিত্তিতে বট পতাকা অপসারণ করা হয়েছে। -- [[ব্যবহারকারী:MdsShakil|MdsShakil]] ([[ব্যবহারকারী আলাপ:MdsShakil|আলাপ]]) ০৪:০৯, ২৭ ডিসেম্বর ২০২১ (ইউটিসি) ----- সুপ্রিয় সবাই, আমি নিম্নোক্ত নিস্ক্রিয় বট অ্যাকাউন্টগুলো থেকে বট পতাকা অপসারণের প্রস্তাব করছি, * {{ব্যবহারকারী|RobotGMwikt}}, সর্বশেষ সম্পাদনা: ২১:৫১, ২৯ জুন ২০০৬ * {{ব্যবহারকারী|SpaceBirdyBot}}, সর্বশেষ সম্পাদনা: ১৫:৩৩, ৫ মার্চ ২০০৯ * {{ব্যবহারকারী|YS-Bot}}, সর্বশেষ সম্পাদনা: ১৩:১৮, ৯ অক্টোবর ২০১৫ এব্যাপারে সবাইকে মন্তব্য করতে অনুরোধ করছি, ধন্যবাদ -- [[ব্যবহারকারী:MdsShakil|MdsShakil]] ([[ব্যবহারকারী আলাপ:MdsShakil|আলাপ]]) ০৬:৪১, ২২ ডিসেম্বর ২০২১ (ইউটিসি) *{{সমর্থন}} [[ব্যবহারকারী:Yahya|Yahya]] ([[ব্যবহারকারী আলাপ:Yahya|আলাপ]]) ১০:৪৮, ২২ ডিসেম্বর ২০২১ (ইউটিসি) * বট পতাকা অপসারণে {{সমর্থন}}। [[ব্যবহারকারী:Aishik Rehman|Aishik Rehman]] ([[ব্যবহারকারী আলাপ:Aishik Rehman|আলাপ]]) ০২:৩৬, ২৩ ডিসেম্বর ২০২১ (ইউটিসি) </div> == বোর্ড অব ট্রাস্টিজ নির্বাচন সম্পর্কে প্রতিক্রিয়ার আহ্বান == :''বার্তাটি মেটা-উইকিতে অতিরিক্ত ভাষায় অনুবাদ করা হয়েছে।'' :''<div class="plainlinks">[[m:Special:MyLanguage/Wikimedia Foundation Board of Trustees/Call for feedback:2022 Board of Trustees election/Upcoming Call for Feedback about the Board of Trustees elections|{{int:interlanguage-link-mul}}]] • [https://meta.wikimedia.org/w/index.php?title=Special:Translate&group=page-{{urlencode:Wikimedia Foundation Board of Trustees/Call for feedback:2022 Board of Trustees election/Upcoming Call for Feedback about the Board of Trustees elections}}&language=&action=page&filter= {{int:please-translate}}]</div>'' বোর্ড অব ট্রাস্টিজ আসন্ন নির্বাচন সম্পর্কে প্রতিক্রিয়ার আহ্বান প্রস্তুত করছে। এটি ৬ জানুয়ারী - ১০ ফেব্রুয়ারী ২০২২ এর মধ্যে হবে। যদিও বিশদটি এক সপ্তাহ আগে চূড়ান্ত করা হবে, আমরা কমপক্ষে দুটি প্রশ্ন নিশ্চিত করেছি: * ট্রাস্টি বোর্ডের মধ্যে উদীয়মান সম্প্রদায়ের প্রতিনিধিত্ব উন্নত করার সর্বোত্তম উপায় কি? * নির্বাচনের সময় প্রার্থীদের অংশগ্রহণ কেমন হওয়া উচিত? যদিও অতিরিক্ত প্রশ্ন যোগ করা যেতে পারে, আন্দোলনের কৌশল এবং শাসন টিম সম্প্রদায়ের সদস্য এবং সহকর্মীদের আলোচনার জন্য সময় দিতে চায়। এই সময়ে প্রশ্নের সম্পূর্ণ তালিকা না থাকার জন্য আমরা দুঃখিত৷ প্রশ্নগুলির তালিকা শুধুমাত্র একটি বা দুটি প্রশ্নের দ্বারা বাড়তে পারে। আমাদের উদ্দেশ্য অনুরোধের সাথে সম্প্রদায়কে অভিভূত করা নয়। '''আপনি কি স্থানীয় কথোপকথনের আয়োজনে সহায়তা করতে চান?''' মেটা, [https://t.me/wmboardgovernancechat টেলিগ্রামে] বা msg[[File:At sign.svg|16x16px|link=|(_AT_)]]wikimedia.org-এ ইমেলের মাধ্যমে [[m:Special:MyLanguage/Movement Strategy and Governance|আন্দোলনের কৌশল এবং শাসন টিমের]] সাথে যোগাযোগ করুন। আপনার কোনো প্রশ্ন থাকলে আমাদের সাথে যোগাযোগ করুন। আন্দোলনের কৌশল এবং শাসন টিমে ৩ জানুয়ারি পর্যন্ত কম কর্মী থাকবে। বিলম্বিত প্রতিক্রিয়ার জন্য ক্ষমা করুন; আমাদের বার্তা আপনার অবকাশ চলাকালীন পৌঁছে থাকলে আমরা ক্ষমাপ্রার্থী। ধন্যবাদ, [[ব্যবহারকারী:CSinha (WMF)|CSinha (WMF)]] ([[ব্যবহারকারী আলাপ:CSinha (WMF)|আলাপ]]) ১০:৪৫, ২৮ ডিসেম্বর ২০২১ (ইউটিসি) == উইকি ভালোবাসে লোককথা ফিরে এসেছে! == <div lang="en" dir="ltr" class="mw-content-ltr"> {{int:please-translate}} [[File:Wiki Loves Folklore Logo.svg|right|150px|frameless]] You are humbly invited to participate in the '''[[:c:Commons:Wiki Loves Folklore 2022|Wiki Loves Folklore 2022]]''' an international photography contest organized on Wikimedia Commons to document folklore and intangible cultural heritage from different regions, including, folk creative activities and many more. It is held every year from the '''1st till the 28th''' of February. You can help in enriching the folklore documentation on Commons from your region by taking photos, audios, videos, and [https://commons.wikimedia.org/w/index.php?title=Special:UploadWizard&campaign=wlf_2022 submitting] them in this commons contest. You can also [[:c:Commons:Wiki Loves Folklore 2022/Organize|organize a local contest]] in your country and support us in translating the [[:c:Commons:Wiki Loves Folklore 2022/Translations|project pages]] to help us spread the word in your native language. Feel free to contact us on our [[:c:Commons talk:Wiki Loves Folklore 2022|project Talk page]] if you need any assistance. '''Kind regards,''' '''Wiki loves Folklore International Team''' --[[ব্যবহারকারী:MediaWiki message delivery|MediaWiki message delivery]] ([[ব্যবহারকারী আলাপ:MediaWiki message delivery|আলাপ]]) ১৩:১৪, ৯ জানুয়ারি ২০২২ (ইউটিসি) </div> <!-- https://meta.wikimedia.org/w/index.php?title=User:Tiven2240/wlf&oldid=22560402-এর তালিকা ব্যবহার করে বার্তাটি ব্যবহারকারী:Tiven2240@metawiki পাঠিয়েছেন --> == সম্প্রদায়ের ইচ্ছা তালিকার জরিপ 2022 == [[File:Community Wishlist Survey Lamp.svg|right|200px]] '''[[m:Special:MyLanguage/Community Wishlist Survey 2022|সম্প্রদায়ের ইচ্ছা তালিকার জরিপ 2022]]''' শুরু হয়েছে! এই জরিপটি হল এমন একটি প্রক্রিয়া, যার মাধ্যমে [[m:Special:MyLanguage/Community Tech|সম্প্রদায়ের প্রযুক্তি দলটির]] আগামী বছরের মাঝে কী নিয়ে কাজ করা উচিত তা স্থির করা হয়। আমরা সবাইকে '''২৩ জানুয়ারি'''-এর মধ্যে প্রস্তাবনা জমা দেওয়ার জন্য, অথবা অন্যদের প্রস্তাবনায় মন্তব্য করে সেগুলিকে আরও উন্নত করতে সহায়তা করার জন্য আহ্বান করছি। ২৮ জানুয়ারি ও ১১ ফেব্রুয়ারি-এর মধ্যে সম্প্রদায়ের লোকজন এই প্রস্তাবগুলিতে ভোট দিবেন। সম্প্রদায়ের প্রযুক্তি দল, উইকিমিডিয়ার অভিজ্ঞ সম্পাদকদের জন্য সরঞ্জাম সৃষ্টিতে বেশি মনোনিবেশ করে থাকে। আপনি যে কোনও ভাষায় প্রস্তাব লিখতে পারেন, এবং আমরা সেগুলি আপনার জন্য অনুবাদ করব। আপনাকে ধন্যবাদ, এবং আমরা আপনার প্রস্তাবগুলি দেখার জন্য উন্মুখ হয়ে রয়েছি! [[User:SGrabarczuk (WMF)|SGrabarczuk (WMF)]] ([[User talk:SGrabarczuk (WMF)|talk]]) ২০:৪৫, ১০ জানুয়ারি ২০২২ (ইউটিসি) <!-- https://meta.wikimedia.org/w/index.php?title=User:SGrabarczuk_(WMF)/sandbox/MM/Other_TOP30/bn&oldid=22381747-এর তালিকা ব্যবহার করে বার্তাটি ব্যবহারকারী:SGrabarczuk (WMF)@metawiki পাঠিয়েছেন --> == ট্রাস্টি বোর্ডের নির্বাচন সম্পর্কে প্রতিক্রিয়া জানাতে আহ্বান করা হচ্ছে == <section begin="announcement-content" />:''[[m:Special:MyLanguage/Wikimedia Foundation Board of Trustees/Call for feedback: Board of Trustees elections/Call for Feedback about the Board of Trustees elections is now open/Short|বার্তাটি মেটা-উইকিতে আরও একাধিক ভাষায় অনুবাদ করা হয়েছে।]]'' :''<div class="plainlinks">[[m:Special:MyLanguage/Wikimedia Foundation Board of Trustees/Call for feedback: Board of Trustees elections/Call for Feedback about the Board of Trustees elections is now open/Short|{{int:interlanguage-link-mul}}]] • [https://meta.wikimedia.org/w/index.php?title=Special:Translate&group=page-{{urlencode:Wikimedia Foundation Board of Trustees/Call for feedback: Board of Trustees elections/Call for Feedback about the Board of Trustees elections is now open/Short}}&language=&action=page&filter= {{int:please-translate}}]</div>'' ট্রাস্টি বোর্ডের নির্বাচন সম্পর্কে প্রতিক্রিয়া জানাতে আহ্বান করা হচ্ছে এবং এটি ৬ ফেব্রুয়ারি ২০২২ তারিখে শেষ হবে। এই প্রতিক্রিয়া আহ্বান উদ্যোগে, আন্দোলনের কৌশল ও শাসন দল একটি ভিন্ন পদ্ধতি গ্রহণ করছে। আমাদের পদ্ধতির মধ্যে ২০২১ সালের প্রক্রিয়া থেকে সম্প্রদায়ের প্রতিক্রিয়া অন্তর্ভুক্ত থাকবে। আলোচনাটি মূল প্রশ্নগুলিতে ফোকাস করবে। উদ্দেশ্য হল এই মূল প্রশ্নগুলি সম্পর্কে সম্মিলিত সংলাপকে অনুপ্রাণিত করা এবং সহযোগিতামূলক প্রস্তাব বিকশিত করা। [[m:Special:MyLanguage/Wikimedia Foundation Board of Trustees/Call for feedback: Board of Trustees elections|কথোপকথনে অংশ নিন]]। ধন্যবাদ, আন্দোলনের কৌশল এবং শাসন<section end="announcement-content" /> [[ব্যবহারকারী:CSinha (WMF)|CSinha (WMF)]] ([[ব্যবহারকারী আলাপ:CSinha (WMF)|আলাপ]]) ১০:০০, ১২ জানুয়ারি ২০২২ (ইউটিসি) == সম্প্রদায়ের প্রযুক্তিকুশলীদের সাথে কথা বলুন == [[File:Community Wishlist Survey Lamp.svg|150px|right]] {{int:Hello}} We, the team working on the [[m:Special:MyLanguage/Community Wishlist Survey|Community Wishlist Survey]], would like to invite you to an online meeting with us. It will take place on [https://www.timeanddate.com/worldclock/fixedtime.html?iso=20220119T1800 '''{{#time:j xg|2022-01-19}} ({{#time:l|2022-01-19}}), {{#time:H:i e|18:00|en|1}}'''] on Zoom, and will last an hour. This external system is not subject to the [[foundation:Privacy_policy|WMF Privacy Policy]]. [https://wikimedia.zoom.us/j/85804347114 '''Click here to join''']. '''আলোচ্যসূচী''' * Bring drafts of your proposals and talk to to a member of the Community Tech Team about your questions on how to improve the proposal '''বিন্যাস ও কার্যপদ্ধতি''' মিটিংটি রেকর্ড বা স্ট্রিম করা হবে না। অ্যাট্রিবিউশন ছাড়া বাকি নোটগুলি মেটা-উইকিতে নেওয়া হবে এবং প্রকাশ করা হবে। আমরা ইংরেজি, ফরাসি, পোলিশ, স্প্যানিশ, জার্মান এবং ইতালীয় ভাষায় জিজ্ঞাসা করা প্রশ্নের উত্তর দিতে পারব। আপনি যদি আগে থেকে প্রশ্ন জিজ্ঞাসা করতে চান তবে সেগুলি [[m:Talk:Community Wishlist Survey|সম্প্রদায়ের ইচ্ছাতালিকা জরিপের আলাপ পাতায়]] যোগ করুন বা sgrabarczuk@wikimedia.org ঠিকানায় পাঠান। [[m:Special:MyLanguage/User:NRodriguez (WMF)|নাটালিয়া রদ্রিগেজ]] ([[m:Special:MyLanguage/Community Tech|কমিউনিটি টেক]] ম্যানেজার) এই মিটিংটি সঞ্চালনা করবেন। '''আমন্ত্রণ লিংক''' * [https://wikimedia.zoom.us/j/85804347114 অনলাইনে যোগ দিন] * মিটিং আইডি: <span dir=ltr>85804347114</span> * [https://wikimedia.zoom.us/u/keu6UeRT0T আপনার অবস্থান অনুযায়ী ডায়াল করুন] আশা করি আমরা আপনাকে দেখতে পাব! [[User:SGrabarczuk (WMF)|SGrabarczuk (WMF)]] ([[User talk:SGrabarczuk (WMF)|talk]]) ১৭:৩৮, ১৮ জানুয়ারি ২০২২ (ইউটিসি) <!-- https://meta.wikimedia.org/w/index.php?title=User:SGrabarczuk_(WMF)/sandbox/MM/Other_TOP30/bn&oldid=22381747-এর তালিকা ব্যবহার করে বার্তাটি ব্যবহারকারী:SGrabarczuk (WMF)@metawiki পাঠিয়েছেন --> == আন্দোলন কৌশল ও অনুশাসন খবর - প্রকাশন ৫ == <section begin="ucoc-newsletter"/> :''<div class="plainlinks">[[m:Special:MyLanguage/Movement Strategy and Governance/Newsletter/5/Global message|{{int:interlanguage-link-mul}}]] • [https://meta.wikimedia.org/w/index.php?title=Special:Translate&group=page-{{urlencode:Movement Strategy and Governance/Newsletter/5/Global message}}&language=&action=page&filter= {{int:please-translate}}]</div>'' <span style="font-size:200%;">'''আন্দোলন কৌশল ও অনুশাসন খবর'''</span><br> <span style="font-size:120%; color:#404040;">'''প্রকাশন ৫, জানুয়ারী ২০২২'''</span><span style="font-size:120%; float:right;">[[m:Special:MyLanguage/Movement Strategy and Governance/Newsletter/5|'''সম্পূর্ণ সংবাদটি পড়ুন''']]</span> ---- আন্দোলন কৌশল ও অনুশাসন খবরের পঞ্চম সংখ্যায় আপনাকে স্বাগতম (পূর্বে সর্বজনীন আচরণবিধি সংবাদ হিসাবে পরিচিত ছিল)! পুনর্নির্মাণ সংবাদটি আন্দোলনের খসড়া সনদ, সর্বজনীন আচরণবিধি, আন্দোলন কৌশল বাস্তবায়ন সম্পর্কিত অনুদান, বোর্ড নির্বাচন এবং আন্দোলন কৌশল ও অনুশাসন সম্পর্কিত অন্যান্য বিষয় সংবাদ বিতরণ করে। সংবাদটি ত্রৈমাসিক বিতরণ করা হবে, আর কিছু হালনাগাদ সাপ্তাহিক বা দ্বি-সাপ্তাহিক হিসাবে সাবস্ক্রাইবারদের কাছে সরবরাহ করা হবে। আপনি যদি এই হালনাগাদ পেতে চান তবে '''[[:m:Special:MyLanguage/Global message delivery/Targets/MSG Newsletter Subscription|এখানে]]''' সাবস্ক্রাইব করতে ভুলবেন না। <div style="margin-top:3px; padding:10px 10px 10px 20px; background:#fffff; border:2px solid #808080; border-radius:4px; font-size:100%;"> *'''ট্রাস্টি বোর্ডের প্রতিক্রিয়া আহ্বান''' - আসন্ন উইকিমিডিয়া ফাউন্ডেশন ট্রাস্টি বোর্ড নির্বাচনের বিষয়ে আপনার মতামত জানাতে আমরা আপনাকে আমন্ত্রণ জানাচ্ছি। প্রতিক্রিয়ার আহ্বান ১০ জানুয়ারি ২০২২ শুরু হয়েছে এবং ১৬ ফেব্রুয়ারী ২০২২ শেষ হবে। ([[:m:Special:MyLanguage/Movement Strategy and Governance/Newsletter/5#Call for Feedback about the Board elections|আরও পড়ুন]]) *'''সর্বজনীন আচরণবিধি অনুসমর্থন''' - ২০২১ সালে, উইকিমিডিয়া ফাউন্ডেশন সম্প্রদায়কে সর্বজনীন আচরণবিধি নীতি কিভাবে বাস্তবায়ন করা যেতে পারে সে সম্পর্কে জিজ্ঞাসা করেছিল। প্রয়োগকারী নির্দেশিকার সংশোধিত খসড়াটি মার্চ মাসের মধ্যে সম্প্রদায়ের ভোটের জন্য প্রস্তুত হওয়া উচিত। ([[:m:Special:MyLanguage/Movement Strategy and Governance/Newsletter/5#Universal Code of Conduct Ratification|আরও পড়ুন]]) *'''আন্দোলনের কৌশল বাস্তবায়ন সম্পর্কিত অনুদান''' - যেহেতু আমরা বেশ কয়েকটি প্রস্তাব পর্যালোচনা করে চলেছি, আমরা আপনাকে আরও প্রস্তাব জমা দিতে উত্সাহিত করি যা আন্দোলনের কৌশল সংক্রান্ত সুপারিশ থেকে একটি নির্দিষ্ট উদ্যোগকে লক্ষ্য করে। ([[:m:Special:MyLanguage/Movement Strategy and Governance/Newsletter/5#Movement Strategy Implementation Grants|আরও পড়ুন]]) *'''সংবাদটির নতুন দিকনির্দেশ''' - UCoC সংবাদপত্রকে MSG সংবাদপত্র করার রূপান্তর প্রক্রিয়াতে আপনি ফ্যাসিলিটেটর টিমের সাথে এর নতুন নির্দেশগুলি কল্পনা এবং সিদ্ধান্ত নিতে অংশ নিতে পারেন। ([[:m:Special:MyLanguage/Movement Strategy and Governance/Newsletter/5#The New Direction for the Newsletter|আরও পড়ুন]]) *'''ডিফ ব্লগস''' - উইকিমিডিয়া ডিফ-এ MSG সম্পর্কে পড়ুন। ([[:m:Special:MyLanguage/Movement Strategy and Governance/Newsletter/5#Diff Blogs|আরও পড়ুন]])</div><section end="ucoc-newsletter"/> [[ব্যবহারকারী:CSinha (WMF)|CSinha (WMF)]] ([[ব্যবহারকারী আলাপ:CSinha (WMF)|আলাপ]]) ০৭:৪১, ১৯ জানুয়ারি ২০২২ (ইউটিসি) == [ঘোষণা] নেতৃত্ব উন্নয়ন টাস্ক ফোর্স == প্রিয় সম্প্রদায়ের সদস্যরা, [[:m:Strategy/Wikimedia movement/2018-20/Recommendations/Invest in Skills and Leadership Development|দক্ষতা ও নেতৃত্ব উন্নয়ন]] সুপারিশ ইঙ্গিত দেয় যে নেতৃত্বের বিকাশে সাফল্যের জন্য আমাদের আন্দোলনের বিশ্বব্যাপী সমন্বিত প্রযত্নের ​প্রয়োজন রয়েছে। [[:m:Community Development|সম্প্রদায় উন্নয়ন দল]] একটি বৈশ্বিক এবং সম্প্রদায়ভিত্তিক [[:m:Leadership Development Task Force|নেতৃত্ব উন্নয়ন টাস্ক ফোর্স]] ([[:m:Leadership Development Task Force/Purpose and Structure|উদ্দেশ্য এবং কাঠামো]]) তৈরী করতে সহায়তা করছে। টাস্ক ফোর্সের উদ্দেশ্য হল নেতৃত্ব উন্নয়নের জন্য প্রয়োজনীয় পরামর্শ দেওয়া। দলটি নেতৃত্ব উন্নয়ন টাস্ক ফোর্সের দায়িত্ব সম্পর্কে প্রতিক্রিয়া জানাতে আহ্বান করছে। এছাড়াও, যদি কোনও সম্প্রদায়ের সদস্য এই ১২-সদস্যের টাস্কফোর্সের অংশ হতে চান তবে আমাদের সাথে যোগাযোগ করুন। প্রতিক্রিয়ার সময় ২৫ ফেব্রুয়ারি ২০২২ পর্যন্ত। '''প্রতিক্রিয়া কোথায় ভাগ করবেন?''' <nowiki>#</nowiki>১ আগ্রহী সম্প্রদায়ের সদস্যরা [[:m:Talk:Leadership Development Task Force|আলোচনা পৃষ্ঠায়]] তাদের প্রতিক্রিয়া যুক্ত করতে পারেন। <nowiki>#</nowiki>২ আগ্রহী সম্প্রদায়ের সদস্যরা Google Meet মাধ্যমে ১৮ ফেব্রুয়ারী, শুক্রবার একটি আঞ্চলিক আলোচনায় যোগ দিতে পারেন। '''তারিখ এবং সময়''' * Friday, 18 February · 7:00 – 8:00 PM IST ([https://zonestamp.toolforge.org/1645191032 Your Timezone]) ([https://calendar.google.com/event?action=TEMPLATE&tmeid=NHVqMjgxNGNnOG9rYTFtMW8zYzFiODlvNGMgY19vbWxxdXBsMTRqbnNhaHQ2N2Y5M2RoNDJnMEBn&tmsrc=c_omlqupl14jnsaht67f93dh42g0%40group.calendar.google.com Add to Calendar]) * Google Meet link: https://meet.google.com/nae-rgsd-vif ধন্যবাদ, [[ব্যবহারকারী:CSinha (WMF)|CSinha (WMF)]] ([[ব্যবহারকারী আলাপ:CSinha (WMF)|আলাপ]]) ০৮:৫১, ৯ ফেব্রুয়ারি ২০২২ (ইউটিসি) == ইন্টারফেস প্রশাসন == {{atopg | status = | result = }} উইকিঅভিধানে ইন্টারফেস প্রশাসন নেই। মিডিয়াউইকি নামস্থানে থাকা ভুল বা কমতি দৃষ্টিগোচর হলে করার কিছু থাকেনা। সম্প্রদায়ের পক্ষ থেকে উইকিপিডিয়ার সক্রিয় ও অভিজ্ঞ ইন্টারফেস প্রশাসক [[ব্যবহারকারী:আফতাবুজ্জামান|আফতাব ভাই]] বা উইকিভ্রমণের [[ব্যবহারকারী:Yahya|ইয়াহইয়া ভাইকে]] (তাদের স্থানীয় কার্যক্রমও অতীতে রয়েছে, ইয়াহইয়া ভাই স্বয়ংক্রিয় পরীক্ষক) দায়িত্ব প্রদানের প্রস্তাব করব। খুব বেশি কাজ নয়, কিছু সামান্য পরিবর্তন ও পরিবর্ধন প্রয়োজন হতে পারে। ইন্টারফেস প্রশাসনের প্রকল্প পাতাগুলো আমি দ্রুতই তৈরি করার চিন্তা করেছি। হয়ত খুব দ্রুতই কাজটি সমাপ্ত করব। কিন্তু এর আগে বিষয়টি নিয়ে আলোচনা শুরু করা উচিত মনে করেছি। ~ [[ব্যবহারকারী:খাত্তাব হাসান|খাত্তাব]] <sup>[[বিশেষ:অবদান/খাত্তাব হাসান|অ]], [[ব্যবহারকারী আলাপ:খাত্তাব হাসান|আ]], [[বিশেষ:ইমেইল/খাত্তাব হাসান|ই]]...</sup> ০৭:২৫, ১২ ফেব্রুয়ারি ২০২২ (ইউটিসি) :@[[ব্যবহারকারী:খাত্তাব হাসান|খাত্তাব হাসান]] যেহেতু বাংলা উইকিপিডিয়ায় আমার একটি আলোচনা চলমান। তাই আপতত আর কোথাও কোনো অধিকারের আবেদন করতে চাচ্ছি না (হ্যাট কালেক্টর হতে চাই না :P)। আমি আফতাব ভাই বা @[[ব্যবহারকারী:Aishik Rehman|Aishik Rehman]] ভাইকে এখানে ইন্টারফেস প্রশাসক হওয়ার অনুরোধ করছি। ঐশিক রেহমান বর্তমানে উইকিবইয়ের ইন্টারফেস প্রশাসক ও এই প্রকল্পের প্রশাসক। -- [[ব্যবহারকারী:Yahya|Yahya]] ([[ব্যবহারকারী আলাপ:Yahya|আলাপ]]) ০৮:০০, ১২ ফেব্রুয়ারি ২০২২ (ইউটিসি) ::আপনার মন্তব্য ঠিক আছে। সেটাও হতে পারে। তবে উন্নয়নে বাধা হলে [[w:bn:উইকিপিডিয়া:সকল বিধি উপেক্ষা করুন|সকল বিধি উপেক্ষা করাই শ্রেয়।]] আমি অন্যদের মন্তব্যের জন্যও অপেক্ষা করব। -- ~ [[ব্যবহারকারী:খাত্তাব হাসান|খাত্তাব]] <sup>[[বিশেষ:অবদান/খাত্তাব হাসান|অ]], [[ব্যবহারকারী আলাপ:খাত্তাব হাসান|আ]], [[বিশেষ:ইমেইল/খাত্তাব হাসান|ই]]...</sup> ০৮:১২, ১২ ফেব্রুয়ারি ২০২২ (ইউটিসি) {{abot}} == প্রকল্পের নাম == উইকিঅভিধান নাম আগেও আমার মনে খটকা তৈরি করত। আজকে প্রধান পাতা আলাপ পাতা পরিভ্রমণ করতে গিয়ে মহাদ্বার ভাই বিষয়টি স্পষ্টভাবে উল্লেখ করায় স্পষ্টভাবে নজরে এল। শব্দের শুরুতে বাংলায় "অ"-এর ব্যবহার থাকলেও মাঝখানে এর ব্যবহার নেই। যেকোনো ব্যাকরণ বইয়ে দেখা যেতে পারে। অভিধানের মত একটা ভারি ব্যাকরণ নির্ভরশীল প্রকল্পের নামে এই বিষয়টি মেনে নেয়া যায়না। আমি বিষয়টির জন্য সম্প্রদায়ের দৃষ্টি আকর্ষণ করতে চাইব। ~ [[ব্যবহারকারী:খাত্তাব হাসান|খাত্তাব]] <sup>[[বিশেষ:অবদান/খাত্তাব হাসান|অ]], [[ব্যবহারকারী আলাপ:খাত্তাব হাসান|আ]], [[বিশেষ:ইমেইল/খাত্তাব হাসান|ই]]...</sup> ০৭:২৫, ১২ ফেব্রুয়ারি ২০২২ (ইউটিসি) == Wiki Loves Folklore is extended till 15th March == <div lang="en" dir="ltr" class="mw-content-ltr">{{int:please-translate}} [[File:Wiki Loves Folklore Logo.svg|right|frameless|180px]] Greetings from Wiki Loves Folklore International Team, We are pleased to inform you that [[:c:Commons:Wiki Loves Folklore|Wiki Loves Folklore]] an international photographic contest on Wikimedia Commons has been extended till the '''15th of March 2022'''. The scope of the contest is focused on folk culture of different regions on categories, such as, but not limited to, folk festivals, folk dances, folk music, folk activities, etc. We would like to have your immense participation in the photographic contest to document your local Folk culture on Wikipedia. You can also help with the [[:c:Commons:Wiki Loves Folklore 2022/Translations|translation]] of project pages and share a word in your local language. Best wishes, '''International Team'''<br /> '''Wiki Loves Folklore''' [[ব্যবহারকারী:MediaWiki message delivery|MediaWiki message delivery]] ([[ব্যবহারকারী আলাপ:MediaWiki message delivery|আলাপ]]) ০৪:৫০, ২২ ফেব্রুয়ারি ২০২২ (ইউটিসি) </div> <!-- https://meta.wikimedia.org/w/index.php?title=Distribution_list/Global_message_delivery&oldid=22754428-এর তালিকা ব্যবহার করে বার্তাটি ব্যবহারকারী:Rockpeterson@metawiki পাঠিয়েছেন --> == সর্বজনীন আচরণবিধি (UCoC) প্রয়োগের নির্দেশিকা এবং অনুসমর্থন ভোট == '''সংক্ষিপ্ত:''' [[:m:Universal Code of Conduct/Enforcement guidelines|সংশোধিত প্রয়োগকারী নির্দেশিকা]] প্রকাশিত করা হয়েছে। নির্দেশিকা অনুসমর্থনের জন্য ভোট [[:m:Universal Code of Conduct/Enforcement guidelines/Voting|৭ মার্চ থেকে ২১ মার্চ 2022]] পর্যন্ত অনুষ্ঠিত হবে। ২৫ ফেব্রুয়ারী (১২:০০ UTC) এবং ৪ মার্চ (১৫:০০ UTC) সম্প্রদায়ের সদস্যরা প্রকল্প দল এবং খসড়া কমিটির সদস্যদের সাথে আলোচনায় অংশগ্রহণ করতে পারে। অংশগ্রহণ করার জন্য [[:m:Special:MyLanguage/Universal Code of Conduct/Conversations|সাইন আপ]] করুন। '''বিস্তারিত:''' [[:m:Universal Code of Conduct|সর্বজনীন আচরণবিধি]] (UCoC) পুরো উইকিমিডিয়া আন্দোলনের জন্য গ্রহণযোগ্য আচরণের একটি ভিত্তিরেখা সরবরাহ করে। UCoC এবং প্রয়োগের নির্দেশিকা সম্প্রদায়ের পরামর্শের পরে [[:m:Special:MyLanguage/Universal Code of Conduct/Drafting committee|স্বেচ্ছাসেবক-কর্মীদের খসড়া কমিটি]] দ্বারা লিখিত হয়েছিল। সংশোধিত নির্দেশিকা ২৪ জানুয়ারী ২০২২ প্রকাশিত হয়েছিল। '''এরপরে কী?''' '''#১ সম্প্রদায় কথোপকথন''' নির্দেশিকা বুঝতে সহায়তা করার জন্য, [[:m:Special:MyLanguage/Movement Strategy and Governance|আন্দোলন কৌশল ও অনুশাসন]] (MSG) টিম UCoC প্রকল্প দল এবং খসড়া কমিটির সদস্যদের সাথে ২৫ ফেব্রুয়ারি (১২:০০ UTC) এবং ৪ মার্চ (১৫:০০ UTC) আলোচনার আয়োজন করেছে। অংশগ্রহণ করার জন্য [[:m:Special:MyLanguage/Universal Code of Conduct/Conversations|সাইন আপ]] করুন। নির্দেশিকা সম্পর্কে প্রতিক্রিয়া [[:m:Talk:Universal Code of Conduct/Enforcement guidelines|আলাপ পাতায়]] ভাগ করা যায়। আপনি যে কোনও ভাষায় প্রতিক্রিয়া ভাগ করতে পারেন। '''#২ অনুসমর্থনের ভোট''' উইকিমিডিয়া ফাউন্ডেশনের ট্রাস্টি বোর্ড অনুসমর্থনের প্রক্রিয়া সম্পর্কে [[:m:Special:MyLanguage/Wikimedia Foundation Board noticeboard/January 2022 - Board of Trustees on Community ratification of enforcement guidelines of UCoC|একটি বিবৃতি প্রকাশ করেছে]] যেখানে যোগ্য ভোটাররা ভোটের মাধ্যমে প্রয়োগের নির্দেশিকা গ্রহণ বা বিরোধিতা করতে পারবে। উইকিমিডিয়ানদের গুরুত্বপূর্ণ তথ্য [[:m:Special:MyLanguage/Universal Code of Conduct/Enforcement guidelines/Voter information/Volunteer|অনুবাদ এবং ভাগ]] করে নেওয়ার জন্য আমন্ত্রিত করা হচ্ছে। [[:m:Special:MyLanguage/Universal Code of Conduct/Enforcement guidelines/Voting|SecurePoll]] মাধ্যমে ভোটদান প্রক্রিয়া নির্ধারিত করা হয়েছে। ভোট ৭ মার্চ থেকে ২১ মার্চ ২০২২ পর্যন্ত চলবে। [[:m:Universal Code of Conduct/Enforcement guidelines/Voter information#Voting eligibility|যোগ্য ভোটারদের]] একটি সমীক্ষা প্রশ্নের উত্তর দিতে এবং মন্তব্য ভাগ করার জন্য আমন্ত্রণ জানানো হচ্ছে। প্রস্তাবিত নির্দেশিকার ভিত্তিতে তারা UCoC প্রয়োগকে সমর্থন করেন কিনা তা ভোটারদের জিজ্ঞাসা করা হবে। ধনাবাদ। [[ব্যবহারকারী:CSinha (WMF)|CSinha (WMF)]] ([[ব্যবহারকারী আলাপ:CSinha (WMF)|আলাপ]]) ১৮:৩১, ২২ ফেব্রুয়ারি ২০২২ (ইউটিসি) == Coming soon == <div class="plainlinks mw-content-ltr" lang="en" dir="ltr"> === Several improvements around templates === Hello, from March 9, several improvements around templates will become available on your wiki: * Fundamental improvements of the [[Mw:Special:MyLanguage/Help:VisualEditor/User guide#Editing templates|VisualEditor template dialog]] ([[m:WMDE Technical Wishes/VisualEditor template dialog improvements|1]], [[m:WMDE Technical Wishes/Removing a template from a page using the VisualEditor|2]]), * Improvements to make it easier to put a template on a page ([[m:WMDE Technical Wishes/Finding and inserting templates|3]]) (for the template dialogs in [[Mw:Special:MyLanguage/Help:VisualEditor/User guide#Editing templates|VisualEditor]], [[Mw:Special:MyLanguage/Extension:WikiEditor#/media/File:VectorEditorBasic-en.png|2010 Wikitext]] and [[Mw:Special:MyLanguage/2017 wikitext editor|New Wikitext Mode]]), * and improvements in the syntax highlighting extension [[Mw:Special:MyLanguage/Extension:CodeMirror|CodeMirror]] ([[m:WMDE Technical Wishes/Improved Color Scheme of Syntax Highlighting|4]], [[m:WMDE Technical Wishes/Bracket Matching|5]]) (which is available on wikis with writing direction left-to-right). All these changes are part of the “[[m:WMDE Technical Wishes/Templates|Templates]]” project by [[m:WMDE Technical Wishes|WMDE Technical Wishes]]. We hope they will help you in your work, and we would love to hear your feedback on the talk pages of these projects. </div> - [[m:User:Johanna Strodt (WMDE)|Johanna Strodt (WMDE)]] ১২:৩৮, ২৮ ফেব্রুয়ারি ২০২২ (ইউটিসি) <!-- https://meta.wikimedia.org/w/index.php?title=WMDE_Technical_Wishes/Technical_Wishes_News_list_all_village_pumps&oldid=22907463-এর তালিকা ব্যবহার করে বার্তাটি ব্যবহারকারী:Johanna Strodt (WMDE)@metawiki পাঠিয়েছেন --> == <section begin="announcement-header" />ট্রাস্টি বোর্ড নির্বাচনের জন্য প্রতিক্রিয়া আহ্বান সমাপ্ত হয়েছে <section end="announcement-header" /> == <section begin="announcement-content" />:''[[m:Special:MyLanguage/Wikimedia Foundation Board of Trustees/Call for feedback: Board of Trustees elections/Call for Feedback is now closed|বার্তাটি মেটা-উইকিতে আরও একাধিক ভাষায় অনুবাদ করা হয়েছে।]]'' :''<div class="plainlinks">[[m:Special:MyLanguage/Wikimedia Foundation Board of Trustees/Call for feedback: Board of Trustees elections/Call for Feedback is now closed|{{int:interlanguage-link-mul}}]] • [https://meta.wikimedia.org/w/index.php?title=Special:Translate&group=page-{{urlencode:Wikimedia Foundation Board of Trustees/Call for feedback: Board of Trustees elections/Call for Feedback is now closed}}&language=&action=page&filter= {{int:please-translate}}]</div>'' [[m:Wikimedia Foundation Board of Trustees/Call for feedback: Board of Trustees elections|ট্রাস্টি বোর্ড নির্বাচনের জন্য প্রতিক্রিয়া আহ্বান]] সমাপ্ত হয়েছে। প্রতিক্রিয়া আহ্বান ১০ জানুয়ারি থেকে ১৬ ফেব্রুয়ারী ২০২২-এর মধ্যে হয়েছিল। প্রতিক্রিয়া আহ্বান [[m:Wikimedia Foundation Board of Trustees/Call for feedback: Board of Trustees elections/Discuss Key Questions#Questions|তিনটি মূল প্রশ্নের]] উপর দৃষ্টি নিবদ্ধ করে এবং [[m:Talk:Wikimedia Foundation Board of Trustees/Call for feedback: Board of Trustees elections/Discuss Key Questions|মেটা-উইকি-র]] উপর, অ্যাফিলিয়েটসদের সাথে বৈঠকের সময় এবং বিভিন্ন সম্প্রদায়ের কথোপকথন থেকে প্রতিক্রিয়া প্রাপ্ত হয়েছে। [[m:Wikimedia Foundation Board of Trustees/Call for feedback: Board of Trustees elections/Reports|রিপোর্ট]] মেটা-উইকিতে প্রকাশ করা হয়েছে। এই তথ্যটি ট্রাস্টি বোর্ড এবং নির্বাচন কমিটির সাথে ভাগ করা হবে যাতে তারা আসন্ন ট্রাস্টি বোর্ড নির্বাচন সম্পর্কে জ্ঞাত সিদ্ধান্ত নিতে পারে। অভ্যন্তরীণ আলোচনার পরে ট্রাস্টি বোর্ড একটি ঘোষণা দেবে। নির্বাচন প্রক্রিয়া উন্নত করতে এবং সহায়তা করার জন্য আপনাকে ধন্যবাদ। শুভেচ্ছান্তে, আন্দোলন কৌশল ও অনুশাসন>br /><section end="announcement-content" /> [[ব্যবহারকারী:CSinha (WMF)|CSinha (WMF)]] ([[ব্যবহারকারী আলাপ:CSinha (WMF)|আলাপ]]) ০৮:৪৫, ৫ মার্চ ২০২২ (ইউটিসি) == সর্বজনীন আচরণবিধি (UCoC) প্রয়োগের নির্দেশিকা অনুসমর্থনের জন্য ভোট শুরু হয়েছে (৭ - ২১ মার্চ ২০২২) == [[metawiki:Special:MyLanguage/Universal Code of Conduct|সর্বজনীন আচরণবিধি]] (UCoC) [[metawiki:Special:MyLanguage/Universal Code of Conduct/Enforcement guidelines|প্রয়োগের নির্দেশিকার]] অনুমোদন শুরু হয়েছে। প্রতিটি যোগ্য সম্প্রদায়ের সদস্য ভোট দিতে পারেন। SecurePoll ব্যবহার এবং ভোটিং যোগ্যতা সম্পর্কে জানতে, [[metawiki:Special:MyLanguage/Universal Code of Conduct/Enforcement guidelines/Voter_information|এটি পড়ুন]]। ভোটের শেষ তারিখ ২১ মার্চ ২০২২। '''এখানে ভোট দিন''' - https://meta.wikimedia.org/wiki/Special:SecurePoll/vote/391 ধন্যবাদ। [[ব্যবহারকারী:CSinha (WMF)|CSinha (WMF)]] ([[ব্যবহারকারী আলাপ:CSinha (WMF)|আলাপ]]) ১৬:৫৩, ৭ মার্চ ২০২২ (ইউটিসি) == পশ্চিমবঙ্গ উইকিমিডিয়া ব্যবহারকারী দলের পক্ষ থেকে প্রকল্পের আহ্বান == [[File:Logo of West Bengal Wikimedians User Group.svg|100px|right|পশ্চিমবঙ্গ উইকিমিডিয়া ব্যবহারকারী দল]] সুধী, [[:meta:West Bengal Wikimedians|পশ্চিমবঙ্গ উইকিমিডিয়া ব্যবহারকারী দলের]] পক্ষ থেকে পশ্চিমবঙ্গের উইকিমিডিয়া সম্প্রদায়ের সকলকে ২০২২ সালের কার্যকলাপের জন্য প্রকল্প জমা দেওয়ার আহ্বান করা হচ্ছে। [[:meta:West Bengal Wikimedians/Requests|এই পাতায়]] আপনারা আগামী এক বছরে কি উইকিমিডিয়া প্রকল্প রূপায়িত করতে চান, তাতে কত আনুমানিক খরচ হতে পারে, এই প্রকল্প থেকে উইকিমিডিয়ার কি লক্ষ্য পূরণ হবে, ইত্যাদি বিস্তারিত ভাবে জানান। আপনাদের প্রস্তাবিত প্রকল্প বিবেচনা করেই ব্যবহারকারী দলের তরফ থেকে উইকিমিডিয়া ফাউন্ডেশনের নিকট হতে গ্র্যান্টের আবেদন করা হবে এবং তা গৃহীত হলে আপনাদের প্রকল্পের জন্য অর্থ বরাদ্দ হবে। আগামী ৩১শে মার্চের মধ্যে বিস্তারিত প্রকল্প জমা নেওয়া হবে। ধন্যবাদান্তে, -- পশ্চিমবঙ্গ ব্যবহারকারী দলের পক্ষে থেকে [[ব্যবহারকারী:Bodhisattwa|বোধিসত্ত্ব]] ([[ব্যবহারকারী আলাপ:Bodhisattwa|আলাপ]]) ০৪:১৬, ৮ মার্চ ২০২২ (ইউটিসি) == Wiki Loves Folklore 2022 ends tomorrow == [[File:Wiki Loves Folklore Logo.svg|right|frameless|180px]] International photographic contest [[:c:Commons:Wiki Loves Folklore 2022| Wiki Loves Folklore 2022]] ends on 15th March 2022 23:59:59 UTC. This is the last chance of the year to upload images about local folk culture, festival, cuisine, costume, folklore etc on Wikimedia Commons. Watch out our social media handles for regular updates and declaration of Winners. ([https://www.facebook.com/WikiLovesFolklore/ Facebook] , [https://twitter.com/WikiFolklore Twitter ] , [https://www.instagram.com/wikilovesfolklore/ Instagram]) The writing competition Feminism and Folklore will run till 31st of March 2022 23:59:59 UTC. Write about your local folk tradition, women, folk festivals, folk dances, folk music, folk activities, folk games, folk cuisine, folk wear, folklore, and tradition, including ballads, folktales, fairy tales, legends, traditional song and dance, folk plays, games, seasonal events, calendar customs, folk arts, folk religion, mythology etc. on your local Wikipedia. Check if your [[:m:Feminism and Folklore 2022/Project Page|local Wikipedia is participating]] A special competition called '''Wiki Loves Falles''' is organised in Spain and the world during 15th March 2022 till 15th April 2022 to document local folk culture and [[:en:Falles|Falles]] in Valencia, Spain. Learn more about it on [[:ca:Viquiprojecte:Falles 2022|Catalan Wikipedia project page]]. We look forward for your immense co-operation. Thanks Wiki Loves Folklore international Team [[ব্যবহারকারী:MediaWiki message delivery|MediaWiki message delivery]] ([[ব্যবহারকারী আলাপ:MediaWiki message delivery|আলাপ]]) ১৪:৪১, ১৪ মার্চ ২০২২ (ইউটিসি) <!-- https://meta.wikimedia.org/w/index.php?title=Distribution_list/Global_message_delivery&oldid=22754428-এর তালিকা ব্যবহার করে বার্তাটি ব্যবহারকারী:Rockpeterson@metawiki পাঠিয়েছেন --> == <section begin="announcement-header" />সর্বজনীন আচরণবিধি প্রয়োগের নির্দেশিকা অনুমোদনের ভোটদান প্রক্রিয়া শেষ হয়েছে<section end="announcement-header" /> == <section begin="announcement-content" /> :''[[m:Special:MyLanguage/Universal Code of Conduct/Enforcement guidelines/Vote/Closing message|বার্তাটি মেটা-উইকিতে আরও একাধিক ভাষায় অনুবাদ করা হয়েছে।]]'' :''<div class="plainlinks">[[m:Special:MyLanguage/Universal Code of Conduct/Enforcement guidelines/Vote/Closing message|{{int:interlanguage-link-mul}}]] • [https://meta.wikimedia.org/w/index.php?title=Special:Translate&group=page-{{urlencode:Universal Code of Conduct/Enforcement guidelines/Vote/Closing message}}&language=&action=page&filter= {{int:please-translate}}]</div>'' অভিনন্দন, [[m:Special:MyLanguage/Universal Code of Conduct|সর্বজনীন আচরণবিধির]] (UCoC) [[m:Special:MyLanguage/Universal Code of Conduct/Enforcement guidelines|সংশোধিত প্রয়োগকারী নির্দেশিকা]] অনুমোদনের ভোটদান প্রক্রিয়া ২১ মার্চ ২০২২-এ শেষ হয়েছে। '''{{#expr:2300}} এরও বেশি''' উইকিমিডিয়ান বিভিন্ন সম্প্রদায় জুড়ে ভোট দিয়েছে। যারা এই প্রক্রিয়াটিতে অংশ নিয়েছে তাদের সবাইকে ধন্যবাদ! যাচাই-বাছাই কারী গোষ্ঠী এখন নির্ভুলতার জন্য ভোট পর্যালোচনা করবে; তাদের কাজ শেষ করতে দুই সপ্তাহ পর্যন্ত সময় দিন। ভোটদান প্রক্রিয়া থেকে চূড়ান্ত ফলাফলগুলি [[m:Special:MyLanguage/Universal Code of Conduct/Enforcement guidelines/Voting/Results|এখানে]] প্রাসঙ্গিক পরিসংখ্যান এবং মন্তব্যের সংক্ষিপ্তসার সহ ঘোষণা করা হবে। পরবর্তী পদক্ষেপগুলি সম্পর্কে জানতে [[m:Special:MyLanguage/Universal Code of Conduct/Enforcement guidelines/Voter information|ভোটার তথ্য পৃষ্ঠাটি]] দেখুন। আপনি যে কোনও ভাষায় [[m:Talk:Universal Code of Conduct/Enforcement guidelines|মেটা-উইকিতে]] প্রকল্পের আলাপ পৃষ্ঠায় মন্তব্য করতে পারেন। আপনি UCoC প্রকল্প টিমের সাথে ইমেলের মাধ্যমে যোগাযোগ করতে পারেন: ucocproject[[File:At sign.svg|16x16px|link=|(_AT_)]]wikimedia.org শুভেচ্ছান্তে! [[ব্যবহারকারী:CSinha (WMF)|CSinha (WMF)]] ([[ব্যবহারকারী আলাপ:CSinha (WMF)|আলাপ]]) ০৯:২৫, ২৩ মার্চ ২০২২ (ইউটিসি) == ইন্টারফেস প্রশাসকত্বের আবেদন == {{atopr | status = | result = }} যেহেতু কোনও ইন্টারফেস প্রশাসক নেই, তাই সাম্প্রতিক পরিবর্তনে নোটিশ দেওয়া সম্ভব নয়। এখানেই সম্প্রদায়ের অবগতির লক্ষ্যে আমার '''[[উইকিঅভিধান:ইন্টারফেস প্রশাসক হওয়ার আবেদন/খাত্তাব হাসান (সাময়িক)|ইন্টারফেস প্রশাসক হওয়ার আবেদনের]]''' বিষয়টি জানাচ্ছি। আশা করছি, সম্প্রদায় আবেদনটিতে মন্তব্য করবে।~ [[ব্যবহারকারী:খাত্তাব হাসান|খাত্তাব]] <sup>[[বিশেষ:অবদান/খাত্তাব হাসান|অ]], [[ব্যবহারকারী আলাপ:খাত্তাব হাসান|আ]], [[বিশেষ:ইমেইল/খাত্তাব হাসান|ই]]...</sup> ০৫:৩১, ৩১ মার্চ ২০২২ (ইউটিসি) {{abot}} == Announcing Indic Hackathon 2022 and Scholarship Applications == Dear Wikimedians, we are happy to announce that the Indic MediaWiki Developers User Group will be organizing [[m:Indic Hackathon 2022|Indic Hackathon 2022]], a regional event as part of the main [[mw:Wikimedia Hackathon 2022|Wikimedia Hackathon 2022]] taking place in a hybrid mode during 20-22 May 2022. The event will take place in Hyderabad. The regional event will be in-person with support for virtual participation. As it is with any hackathon, the event’s program will be semi-structured i.e. while we will have some sessions in sync with the main hackathon event, the rest of the time will be upto participants’ interest on what issues they are interested to work on. The event page can be seen on [[m:Indic Hackathon 2022|this page]]. In this regard, we would like to invite community members who would like to attend in-person to fill out a [https://docs.google.com/forms/d/e/1FAIpQLSc1lhp8IdXNxL55sgPmgOKzfWxknWzN870MvliqJZHhIijY5A/viewform?usp=sf_link form for scholarship application] by 17 April, which is available on the event page. Please note that the hackathon won’t be focusing on training of new skills, and it is expected that applications have some experience/knowledge contributing to technical areas of the Wikimedia movement. Please post on the event talk page if you have any queries. [[ব্যবহারকারী:MediaWiki message delivery|MediaWiki message delivery]] ([[ব্যবহারকারী আলাপ:MediaWiki message delivery|আলাপ]]) ১৮:৩১, ৭ এপ্রিল ২০২২ (ইউটিসি) <!-- https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/South_Asia_Village_Pumps&oldid=23115331-এর তালিকা ব্যবহার করে বার্তাটি ব্যবহারকারী:KCVelaga@metawiki পাঠিয়েছেন --> == মারিয়ানা ইস্কান্ডারের সাথে দক্ষিণ এশিয়া/ESEAP বার্ষিক পরিকল্পনা সভা == প্রিয় সম্প্রদায়ের সদস্যরা, [[m:User:MIskander-WMF|মারিয়ানা ইস্কান্দারের]] [[m:Special:MyLanguage/Wikimedia Foundation Chief Executive Officer/Maryana’s Listening Tour|লিস্তেনিং টুর-এর]] ধারাবাহিকতায়, [[m:Special:MyLanguage/Movement Communications|আন্দোলন যোগাযোগ]] এবং [[m:Special:MyLanguage/Movement Strategy and Governance|আন্দোলনের কৌশল এবং শাসন]] টিম আপনাকে '''[[m:Special:MyLanguage/Wikimedia Foundation Annual Plan/2022-2023/draft|২০২২-২৩ উইকিমিডিয়া ফাউন্ডেশনের বার্ষিক পরিকল্পনা]]''' নিয়ে আলোচনায় আমন্ত্রণ জানাচ্ছে। কথোপকথন এই প্রশ্নগুলি সম্পর্কে হবে: * [[m:Special:MyLanguage/Wikimedia 2030|২০৩০ উইকিমিডিয়া আন্দোলনের কৌশল]] "knowledge as a service" এবং "knowledge equity"-র দিকে একটি দিকনির্দেশ নির্ধারণ করে। উইকিমিডিয়া ফাউন্ডেশন এই দুটি লক্ষ্য অনুযায়ী পরিকল্পনা করতে চায়। এই প্রসঙ্গে, উইকিমিডিয়া ফাউন্ডেশনের জন্য আপনার পরামর্শ কি? * উইকিমিডিয়া ফাউন্ডেশন আঞ্চলিক পর্যায়ে কাজ করার আরও ভালো উপায় অন্বেষণ করে চলেছে। আমরা অনুদান, নতুন বৈশিষ্ট্য এবং সম্প্রদায়ের কথোপকথনে আমাদের আঞ্চলিক ফোকাস বাড়িয়ে চলেছি। আমরা আরও কিভাবে উন্নত করতে পারি? * যে কেউ আন্দোলনের কৌশল প্রক্রিয়ায় অবদান রাখতে পারে। আমরা আপনাদের কার্যকলাপ, ধারণা, এবং অনুরোধ সম্পর্কে আরও জানতে চাই। কিভাবে উইকিমিডিয়া ফাউন্ডেশন আন্দোলনের কৌশল কার্যক্রমে কর্মরত স্বেচ্ছাসেবক এবং অ্যাফিলিয়েটসদের জন্য সমর্থন উন্নত করতে পারে? <b>তারিখ এবং সময়</b> [https://wikimedia.zoom.us/j/84673607574?pwd=dXo0Ykpxa0xkdWVZaUZPNnZta0k1UT09 জুমের] মাধ্যমে সভা অনুষ্ঠিত হবে। তারিখ এবং সময় হল ২৪ এপ্রিল (রবিবার) ০৭:০০ UTC ([https://zonestamp.toolforge.org/1650783659 স্থানীয় সময়])। আপনার [https://calendar.google.com/event?action=TEMPLATE&tmeid=MmtjZnJibXVjYXYyZzVwcGtiZHVjNW1lY3YgY19vbWxxdXBsMTRqbnNhaHQ2N2Y5M2RoNDJnMEBn&tmsrc=c_omlqupl14jnsaht67f93dh42g0%40group.calendar.google.com ক্যালেন্ডারে মিটিং যোগ করুন]। লাইভ ব্যাখ্যা কিছু ভাষার জন্য উপলব্ধ হবে। ধন্যবাদ, [[ব্যবহারকারী:CSinha (WMF)|CSinha (WMF)]] ([[ব্যবহারকারী আলাপ:CSinha (WMF)|আলাপ]]) ১০:৪৯, ১৭ এপ্রিল ২০২২ (ইউটিসি) == চলুন ডেস্কটপ উন্নয়ন সম্পর্কে কথা বলি == [[File:New table of contents shown on English wikipedia.png|thumb]] সুপ্রিয়! আপনি কি লক্ষ্য করেছেন যে কিছু উইকি [[mw:Special:MyLanguage/Reading/Web/Desktop_Improvements|ভিন্ন ডেস্কটপ ইন্টারফেস]] ব্যবহার করছে? আপনি কি আমাদের পরবর্তী পদক্ষেপগুলি সম্পর্কে জানতে আগ্রহী? নকশা বা প্রযুক্তিগত বিষয় সম্পর্কে আপনার কোনও প্রশ্ন বা মতামত রয়েছে? ডেস্কটপ উন্নয়ন নিয়ে কাজ করা দলের সাথে একটি অনলাইন সভায় যোগ দিন! এটি '''২৯ এপ্রিল ২০২২ তারিখ [https://www.timeanddate.com/worldclock/fixedtime.html?iso=20220429T1300 ১৩:০০ UTC], [https://www.timeanddate.com/worldclock/fixedtime.html?iso=20220429T1800 ১৮ ০০ UTC]-তে''' জুমে সঞ্চালিত হবে। '''[https://wikimedia.zoom.us/j/88045453898 যোগ দিতে এখানে ক্লিক করুন]'''। সভার আইডি: 88045453898। [https://wikimedia.zoom.us/u/kcOMICmyyA আপনার অবস্থান অনুযায়ী ডায়াল করুন]। '''আলোচ্যসূচি''' * সাম্প্রতিক উন্নয়ন নিয়ে হালনাগাদ * প্রশ্ন ও উত্তর, আলোচনা '''বিন্যাস''' সভাটি রেকর্ড বা স্ট্রিম করা হবে না। টীকাগুলি একটি [https://docs.google.com/document/d/1G4tfss-JBVxyZMxGlOj5MCBhOO-0sLekquFoa2XiQb8/edit# গুগল ডক ফাইলে] লেখা হবে। এই সভাটি সঞ্চালন করবেন [[mw:User:OVasileva_(WMF)|ওলগা ভাসিলেভা]] (পণ্য ব্যবস্থাপক)। সভার উপস্থাপনা অংশটি ইংরেজিতে দেওয়া হবে। আমরা ইংরেজি, ফরাসি, ইতালীয় এবং পোলিশ ভাষায় করা প্রশ্নের উত্তর দিতে পারব। আপনি যদি আগে থেকে প্রশ্ন জিজ্ঞাসা করতে চান, তবে [[mw:Talk:Reading/Web/Desktop_Improvements|আলাপ পাতায়]] সেগুলি যোগ করুন বা sgrabarczuk@wikimedia.org ঠিকানায় সেগুলি প্রেরণ করুন। এই সভায়, [[foundation:Friendly_space_policy|বন্ধুত্বপূর্ণ স্থানের নীতি]] এবং উইকিমিডিয়ার কারিগরি স্থানের জন্য [[mw:Special:MyLanguage/Code_of_Conduct|আচরণবিধি]] উভয় প্রযোজ্য হবে। জুম [[foundation:Privacy_policy|WMF-এর গোপনীয়তা নীতির]] অধীনে নয়। আশা করি আমরা আপনাকে দেখতে পাব! [[User:SGrabarczuk (WMF)|SGrabarczuk (WMF)]] ([[User talk:SGrabarczuk (WMF)|আলাপ]]) ১৪:৩৬, ২৭ এপ্রিল ২০২২ (ইউটিসি) <!-- https://meta.wikimedia.org/w/index.php?title=User:SGrabarczuk_(WMF)/sandbox/MM/Other_TOP30/bn&oldid=22381747-এর তালিকা ব্যবহার করে বার্তাটি ব্যবহারকারী:SGrabarczuk (WMF)@metawiki পাঠিয়েছেন --> ==প্রার্থিতা আহ্বান: ২০২২ ট্রাস্টি বোর্ড নির্বাচন== প্রিয় সম্প্রদায়ের সদস্যরা, [[m:Special:MyLanguage/Wikimedia Foundation elections/2022|২০২২ ট্রাস্টি বোর্ড নির্বাচন]] প্রক্রিয়া শুরু হয়ে গ্যাছে। [[m:Special:MyLanguage/Wikimedia_Foundation_elections/2022/Announcement/Call_for_Candidates|প্রার্থিতার আহ্বান]] জানানো হয়েছে। ট্রাস্টি বোর্ড উইকিমিডিয়া ফাউন্ডেশনের কার্যক্রম তত্ত্বাবধান করে। সম্প্রদায়-এবং-অ্যাফিলিয়েট নির্বাচিত ট্রাস্টি এবং বোর্ড-নিযুক্ত ট্রাস্টিরা ট্রাস্টি বোর্ড গঠন করে। প্রতিটি ট্রাস্টি তিন বছরের মেয়াদে কাজ করে। উইকিমিডিয়া সম্প্রদায় সম্প্রদায়-এবং-অ্যাফিলিয়েট ট্রাস্টি নির্বাচনের জন্য ভোট দিতে পারে। উইকিমিডিয়া সম্প্রদায় ২০২২ সালে ট্রাস্টি বোর্ডে দুটি আসন নির্বাচন করার জন্য ভোট দেবে। এটি ট্রাস্টি বোর্ডের প্রতিনিধিত্ব, বৈচিত্র্য, এবং দক্ষতা উন্নত করার একটি সুযোগ। ট্রাস্টি বোর্ডে যোগদানের জন্য [[m:Special:MyLanguage/Wikimedia Foundation elections/2022/Apply to be a Candidate|আপনার প্রার্থিতা জমা দিন]]। [[ব্যবহারকারী:CSinha (WMF)|CSinha (WMF)]] ([[ব্যবহারকারী আলাপ:CSinha (WMF)|আলাপ]]) ০৯:০৮, ২৯ এপ্রিল ২০২২ (ইউটিসি) == Coming soon: Improvements for templates == <div class="plainlinks mw-content-ltr" lang="en" dir="ltr"> <!--T:11--> [[File:Overview of changes in the VisualEditor template dialog by WMDE Technical Wishes.webm|thumb|Fundamental changes in the template dialog.]] Hello, more changes around templates are coming to your wiki soon: The [[mw:Special:MyLanguage/Help:VisualEditor/User guide#Editing templates|'''template dialog''' in VisualEditor]] and in the [[mw:Special:MyLanguage/2017 wikitext editor|2017 Wikitext Editor]] (beta) will be '''improved fundamentally''': This should help users understand better what the template expects, how to navigate the template, and how to add parameters. * [[metawiki:WMDE Technical Wishes/VisualEditor template dialog improvements|project page]], [[metawiki:Talk:WMDE Technical Wishes/VisualEditor template dialog improvements|talk page]] In '''syntax highlighting''' ([[mw:Special:MyLanguage/Extension:CodeMirror|CodeMirror]] extension), you can activate a '''colorblind-friendly''' color scheme with a user setting. * [[metawiki:WMDE Technical Wishes/Improved Color Scheme of Syntax Highlighting#Color-blind_mode|project page]], [[metawiki:Talk:WMDE Technical Wishes/Improved Color Scheme of Syntax Highlighting|talk page]] Deployment is planned for May 10. This is the last set of improvements from [[m:WMDE Technical Wishes|WMDE Technical Wishes']] focus area “[[m:WMDE Technical Wishes/Templates|Templates]]”. We would love to hear your feedback on our talk pages! </div> -- [[m:User:Johanna Strodt (WMDE)|Johanna Strodt (WMDE)]] ১১:১৩, ২৯ এপ্রিল ২০২২ (ইউটিসি) <!-- https://meta.wikimedia.org/w/index.php?title=WMDE_Technical_Wishes/Technical_Wishes_News_list_all_village_pumps&oldid=23222263-এর তালিকা ব্যবহার করে বার্তাটি ব্যবহারকারী:Johanna Strodt (WMDE)@metawiki পাঠিয়েছেন --> == সম্পাদনা সংবাদ ২০২২ #১ == <section begin="message"/><i>[[metawiki:VisualEditor/Newsletter/2022/April|অন্য আরেকটি ভাষায় এটি পড়ুন]] • [[m:VisualEditor/Newsletter|এই বহুভাষী বার্তাপত্রের জন্য সদস্যতার তালিকা]]</i> [[File:Junior Contributor New Topic Tool Completion Rate.png|thumb|নতুন সম্পাদকরা এই নতুন সরঞ্জাম ব্যবহার করে আরও সফল হয়।]] [[mw:Special:MyLanguage/Help:DiscussionTools#New discussion tool|নতুন আলোচনা সরঞ্জাম]] সম্পাদকদের আলোচনা পাতায় নতুন ==অনুচ্ছেদ== তৈরিতে সহায়তা করে। নতুন সম্পাদকরা এই নতুন সরঞ্জাম ব্যবহার করে আরও সফল হন। আপনি [[mw:Talk pages project/New topic#21 April 2022|প্রতিবেদনটি পড়তে পারেন]]। শীঘ্রই, সম্পাদনা দল পরীক্ষায় অংশগ্রহণকারী ২০টি উইকিপিডিয়াতে এইগুলো চালু করবে। আপনি চাইলে [[Special:Preferences#mw-prefsection-editing-discussion]]-এ গিয়ে এটি বন্ধ করতে পারবেন।<section end="message"/> [[User:Whatamidoing (WMF)|Whatamidoing (WMF)]] ১৮:৫৫, ২ মে ২০২২ (ইউটিসি) <!-- https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/VisualEditor/Newsletter/Wikis_with_VE&oldid=22019984-এর তালিকা ব্যবহার করে বার্তাটি ব্যবহারকারী:Quiddity (WMF)@metawiki পাঠিয়েছেন --> == <section begin="announcement-header" />উইকিমিডিয়া ফাউন্ডেশন ২০২২ ট্রাস্টি বোর্ড নির্বাচন - নির্বাচন স্বেচ্ছাসেবকদের জন্য আহ্বান<section end="announcement-header" /> == <section begin="announcement-content" /> :''[[m:Special:MyLanguage/Movement Strategy and Governance/Election Volunteers/2022/Call for Election Volunteers|বার্তাটি মেটা-উইকিতে আরও একাধিক ভাষায় অনুবাদ করা হয়েছে।]]'' :''<div class="plainlinks">[[m:Special:MyLanguage/Movement Strategy and Governance/Election Volunteers/2022/Call for Election Volunteers|{{int:interlanguage-link-mul}}]] • [https://meta.wikimedia.org/w/index.php?title=Special:Translate&group=page-{{urlencode:Movement Strategy and Governance/Election Volunteers/2022/Call for Election Volunteers}}&language=&action=page&filter= {{int:please-translate}}]</div>'' আন্দোলনের কৌশল এবং শাসন দল আসন্ন ট্রাস্টি বোর্ড নির্বাচনে নির্বাচনী স্বেচ্ছাসেবক হিসাবে সহযোগিতা করার জন্য সম্প্রদায়ের সদস্যদের খুঁজছেন৷ নির্বাচন স্বেচ্ছাসেবক প্রোগ্রামেটি ২০২১ সালের উইকিমিডিয়া ট্রাস্টি বোর্ড নির্বাচনের সময় শুরু হয়েছিল। প্রোগ্রামেটি সফল হয়। নির্বাচনী স্বেচ্ছাসেবকদের সহায়তায়, আমরা ১৭৫৩ ভোটারের নির্বাচনে অংশগ্রহণ এবং প্রচার বাড়াতে সক্ষম হয়েছিলাম। সামগ্রিক ভোটদান ছিল ১০.১৩%, ১.১% বেশি, এবং ২১৪টি উইকি নির্বাচনে প্রতিনিধিত্ব করেছিল। মোট ৭৪টি উইকি যারা ২০১৭-এ অংশগ্রহণ করেনি তারা ২০২১ সালের নির্বাচনে ভোট দিয়েছে। আপনি অংশগ্রহণ উন্নত করতে সাহায্য করতে পারেন? নির্বাচনী স্বেচ্ছাসেবকরা নিম্নলিখিত ক্ষেত্রে সাহায্য করবে: * সংক্ষিপ্ত বার্তা অনুবাদ করা, এবং সম্প্রদায়েতে চলমান নির্বাচন প্রক্রিয়া ঘোষণা করা। * '''ঐচ্ছিক''': মন্তব্য এবং প্রশ্নের জন্য সম্প্রদায়েটিতে নিরীক্ষণ রাখা। স্বেচ্ছাসেবকদের উচিত: * কথোপকথন এবং ইভেন্টের সময় ফ্রেন্ডলি স্পেস নীতি বজায় রাখা। * নিরপেক্ষভাবে সম্প্রদায়ের কাছে নির্বাচনের নির্দেশিকা এবং ভোটদানের তথ্য উপস্থাপন করা। আপনি কি নির্বাচনী স্বেচ্ছাসেবক হতে চান এবং ভোটে আপনার সম্প্রদায়ের প্রতিনিধিত্ব নিশ্চিত করতে চান? হালনাগাদ পেতে এখানে [[m:Special:MyLanguage/Movement Strategy and Governance/Election Volunteers/About|সাইন আপ করুন]]। আপনি অনুবাদ সম্পর্কিত প্রশ্নের জন্য [[m:Special:MyLanguage/Talk:Movement Strategy and Governance/Election Volunteers/About|আলাপ পাতা]] ব্যবহার করতে পারেন।<br /><section end="announcement-content" /> [[ব্যবহারকারী:CSinha (WMF)|CSinha (WMF)]] ([[ব্যবহারকারী আলাপ:CSinha (WMF)|আলাপ]]) ১০:০০, ১২ মে ২০২২ (ইউটিসি) == Results of Wiki Loves Folklore 2022 is out! == <div lang="en" dir="ltr" class="mw-content-ltr"> {{int:please-translate}} [[File:Wiki Loves Folklore Logo.svg|right|150px|frameless]] Hi, Greetings The winners for '''[[c:Commons:Wiki Loves Folklore 2022|Wiki Loves Folklore 2022]]''' is announced! We are happy to share with you winning images for this year's edition. This year saw over 8,584 images represented on commons in over 92 countries. Kindly see images '''[[:c:Commons:Wiki Loves Folklore 2022/Winners|here]]''' Our profound gratitude to all the people who participated and organized local contests and photo walks for this project. We hope to have you contribute to the campaign next year. '''Thank you,''' '''Wiki Loves Folklore International Team''' --[[ব্যবহারকারী:MediaWiki message delivery|MediaWiki message delivery]] ([[ব্যবহারকারী আলাপ:MediaWiki message delivery|আলাপ]]) ১৬:১২, ৪ জুলাই ২০২২ (ইউটিসি) </div> <!-- https://meta.wikimedia.org/w/index.php?title=Distribution_list/Non-Technical_Village_Pumps_distribution_list&oldid=23454230-এর তালিকা ব্যবহার করে বার্তাটি ব্যবহারকারী:Tiven2240@metawiki পাঠিয়েছেন --> == ২০২২ নির্বাচনী কম্পাসের জন্য বিবৃতির প্রস্তাব রাখুন == :''[[m:Special:MyLanguage/Wikimedia Foundation elections/2022/Announcement/Propose statements for the 2022 Election Compass| বার্তাটি মেটা-উইকিতে আরও একাধিক ভাষায় অনুবাদ করা হয়েছে।]]'' :''<div class="plainlinks">[[m:Special:MyLanguage/Wikimedia Foundation elections/2022/Announcement/Propose statements for the 2022 Election Compass|{{int:interlanguage-link-mul}}]] • [https://meta.wikimedia.org/w/index.php?title=Special:Translate&group=page-{{urlencode:Wikimedia Foundation elections/2022/Announcement/Propose statements for the 2022 Election Compass}}&language=&action=page&filter= {{int:please-translate}}]</div>'' প্রিয় সবাই, স্বেচ্ছাসেবকদের [[m:Special:MyLanguage/Wikimedia Foundation elections/2022|২০২২ ট্রাস্টি বোর্ডের]] '''[[m:Special:MyLanguage/Wikimedia_Foundation_elections/2022/Community_Voting/Election_Compass|নির্বাচন কম্পাসের বিবৃতির প্রস্তাবের জন্য]]''' আমন্ত্রণ জানানো হচ্ছে। নির্বাচনী কম্পাস এমন একটি সংরঞ্জাম যা ভোটারদের তাদের বিশ্বাস এবং দৃষ্টিভঙ্গির সাথে সর্বোত্তম সারিবদ্ধ প্রার্থীদের সনাক্ত করতে সহায়তা করে। সম্প্রদায়ের সদস্যরা বিবৃতির প্রস্তাব রাখবেন এবং প্রার্থীরা লিকার্ট স্কেল ব্যবহার করে উত্তর দেবেন (একমত/অসম্মত/নিরপক্ষ)। বিবৃতির উত্তর নির্বাচন কম্পাস সরঞ্জামে আপলোড করা হবে। ভোটাররা বিবৃতিতে তাদের উত্তর ভাগ করে সরঞ্জামটি ব্যবহার করবে (একমত/অসম্মত/নিরপক্ষ)। ফলাফলে সেই প্রার্থীদের শনাক্ত হবে যারা ভোটারদের বিশ্বাস ও দৃষ্টিভঙ্গির সাথে সর্বোত্তমে সারিবদ্ধ হয়। এখানে নির্বাচন কম্পাসের সময়রেখা দেওয়া রয়েছে: * জুলাই ৮ - ২০: স্বেচ্ছাসেবকরা নির্বাচন কম্পাসের জন্য বিবৃতির প্রস্তাব রাখবে। * জুলাই ২১ - ২২: নির্বাচন কমিটি স্পষ্টতার জন্য বিবৃতিগুলির পর্যালোচনা করে এবং বিষয়বস্তুর বাইরের বিবৃতিগুলি সরিয়ে দেবে। * জুলাই ২৩ - আগস্ট ১: স্বেচ্ছাসেবকরা বিবৃতি উপর ভোট দেবে। * আগস্ট ২ - ৪: নির্বাচন কমিটি শীর্ষ ১৫ বিবৃতি বেছে নেবে। * আগস্ট ৫ - ১২: প্রার্থীরা বিবৃতির সঙ্গে নিজেদের সারিবদ্ধ করবে। * আগস্ট ১৫: ভোটারদের জন্য নির্বাচনী কম্পাস খোলা হবে। নির্বাচন কমিটি আগস্টের শুরুতে সেরা ১৫টি বিবৃতির নির্বাচন করবে। আন্দোলন কৌশল ও অনুশাসন টিম দ্বারা সমর্থিত নির্বাচন কমিটি প্রক্রিয়াটি তত্ত্বাবধান করবে। আন্দোলন কৌশল ও অনুশাসন টিম প্রশ্নের স্পষ্টতা, সদৃশতা, ভুল ইত্যাদি পরীক্ষা করবে। শুভেচ্ছান্তে, আন্দোলন কৌশল ও অনুশাসন ''এই বার্তা-টি বোর্ড নির্বাচন কার্যকরী দল এবং নির্বাচন কমিটির পক্ষ থেকে পাঠানো হয়েছে।'' [[ব্যবহারকারী:CSinha (WMF)|CSinha (WMF)]] ([[ব্যবহারকারী আলাপ:CSinha (WMF)|আলাপ]]) ০৯:০৫, ১২ জুলাই ২০২২ (ইউটিসি) ==উইকিম্যানিয়া ২০২২ – বাংলাদেশ পর্বে অংশগ্রহণের আহ্বান == [[চিত্র:Wikimania Bangladesh Logo Horizontal.svg|right|250px|frameless]] প্রিয় সবাই, অত্যন্ত আনন্দের সাথে জানাচ্ছি যে, [[w:উইকিম্যানিয়া|উইকিম্যানিয়া]] ২০২২ উপলক্ষ্যে আগামী ১২ আগস্ট উইকিমিডিয়া বাংলাদেশ বাংলাদেশের রাজধানী ঢাকায় '''উইকিম্যানিয়া ২০২২ – বাংলাদেশ পর্ব''' নামে একটি দিনব্যাপী সম্মেলনের আয়োজন করেছে। এই সম্মেলনে উইকিমিডিয়া প্রকল্পের অন্তর্ভুক্ত যেমন উইকিপিডিয়া, অন্যান্য উইকিসমূহ, মুক্ত জ্ঞান ও বিষয়বস্তু সম্পর্কিত সামাজিক এবং প্রযুক্তিগত দিক উপস্থাপনা ও আলোচনা করা হবে। বাংলাদেশে অবস্থানকারী উইকিমিডিয়ানরা এই সম্মেলনে অংশগ্রহণ করতে পারবেন। আসনসংখ্যা সীমিত হবার কারণে এই অনুষ্ঠানে অংশগ্রহণ নিশ্চিত করার লক্ষ্যে অংশগ্রহণের প্রাথমিক আবেদন সংগ্রহ করা হচ্ছে। আবেদন করতে [https://docs.google.com/forms/d/e/1FAIpQLSekWAubA6o1ZHE_WXY6O880ym7w16R1PHW_DeRaPNIM4kdIdw/viewform এখানে ক্লিক করুন]। উইকিম্যানিয়া ২০২২ এর বৈশ্বিক আয়োজন ১১ - ১৪ আগস্ট ২০২২ অনলাইনে অনুষ্ঠিত হবে। এই আয়োজনে অংশগ্রহণ করতে ইচ্ছুক বাংলাদেশে বসবাসকারী উইকিমিডিয়ানদের জন্য উইকিমিডিয়া বাংলাদেশ কর্তৃক সীমিত সংখ্যক ইন্টারনেট ডাটা প্যাকেজ বৃত্তি দেয়া হবে। আপনি যদি বৃত্তি পেতে আগ্রহী হন, তবে [https://docs.google.com/forms/d/e/1FAIpQLSez6uADSg0DtimssWHK510rAaDKpAPOPz_qHvvXgkBnJQA7sQ/viewform এই গুগল ফর্মটি] পূরণ করুন। জমা পড়া প্রাথমিক আবেদনগুলো যাচাই-বাছাইয়ের পরে বৃত্তিপ্রাপ্তদের তালিকা চূড়ান্ত করা হবে। বিস্তারিত তথ্যের জন্য ভিজিট করুন: https://bd.wikimedia.org/s/235 আবেদন গ্রহণ ''' ১ আগস্ট, ২০২২''' পর্যন্ত চলবে। মূল আয়োজকদলের পক্ষে [[ব্যবহারকারী:MdsShakil|MdsShakil]] ([[ব্যবহারকারী আলাপ:MdsShakil|আলাপ]]) ১৫:১৩, ২৭ জুলাই ২০২২ (ইউটিসি) == উইকিম্যানিয়া ২০২২ — বাংলাদেশ পর্ব: উপস্থাপনা সেশনের আহ্বান == [[চিত্র:Wikimania Bangladesh Logo With Text.svg|100px|right|উইকিম্যানিয়া বাংলাদেশের লোগো]] সুপ্রিয় সবাই, উইকিম্যানিয়া ২০২২ উপলক্ষ্যে [[w:উইকিমিডিয়া বাংলাদেশ|উইকিমিডিয়া বাংলাদেশ]] কর্তৃক আয়োজিত [[:wmbd:উইকিম্যানিয়া বাংলাদেশ, ২০২২|উইকিম্যানিয়া ২০২২ বাংলাদেশ পর্বে]] [[:wmbd:উইকিম্যানিয়া বাংলাদেশ, ২০২২/উপস্থাপনা|উপস্থাপনা সেশনের আহ্বান]] করা হয়েছে। এই আয়োজনে ৬টি বিষয়ভিত্তিক উপস্থাপনা এবং ৬টি সংক্ষিপ্ত উপস্থাপনা সেশন নেওয়ার সুযোগ রয়েছে। প্রতিটি বিষয়ভিত্তিক উপস্থাপনার জন্য সময় থাকছে ১৫ মিনিট এবং প্রতিটি সংক্ষিপ্ত উপস্থাপনার জন্য সময় থাকছে ৫ মিনিট। সময়ের অপ্রতুলতার কারণে উপস্থাপনার সংখ্যা বৃদ্ধির সুযোগ না থাকায় জমা পড়া উপস্থাপনা প্রস্তাবের সংখ্যা বেশি হলে গুরুত্ব অনুসারে উপস্থাপনাসমূহ চূড়ান্তভাবে নির্বাচন করা হবে। আগ্ৰহীদের [https://docs.google.com/forms/d/e/1FAIpQLScBlKBK5bsZ41D2gZr0mVbNP14JBTh0UMfZt5JCVY2ehSkM7w/viewform এই গুগল ফর্মটি] পূরণ করার জন্য অনুরোধ করা হচ্ছে। উল্লেখ্য যে, '''৩ আগস্ট''' পর্যন্ত অনুরোধ গ্ৰহণ চলবে এবং '''৬ আগস্ট''' যাচাই-বাছাই করে ফলাফল জানানো হবে। মূল আয়োজক দলের পক্ষে, [[ব্যবহারকারী:MdsShakil|MdsShakil]] ([[ব্যবহারকারী আলাপ:MdsShakil|আলাপ]]) ১৫:১৩, ২৭ জুলাই ২০২২ (ইউটিসি) == রবীন্দ্রনাথ শব্দটি কত অক্ষরের? == রবীন্দ্রনাথ শব্দের অক্ষর সংখ্যা পাঁচ না চার? মতামত দিন। [[ব্যবহারকারী:Salil Kumar Mukherjee|Salil Kumar Mukherjee]] ([[ব্যবহারকারী আলাপ:Salil Kumar Mukherjee|আলাপ]]) ০৪:৫৯, ৩ আগস্ট ২০২২ (ইউটিসি) == WikiConference India 2023: Initial conversations == Dear Wikimedians, Hope all of you are doing well. We are glad to inform you to restart the conversation to host the next WikiConference India 2023 after WCI 2020 which was not conducted due to the unexpected COVID-19 pandemic, it couldn't take place. However, we are hoping to reinitiate this discussion and for that we need your involvement, suggestions and support to help organize a much needed conference in February-March of 2023. The proposed 2023 conference will bring our energies, ideas, learnings, and hopes together. This conference will provide a national-level platform for Indian Wikimedians to connect, re-connect, and establish their collaboration itself can be a very important purpose on its own- in the end it will empower us all to strategize, plan ahead and collaborate- as a movement. We hope we, the Indian Wikimedia Community members, come together in various capacities and make this a reality. We believe we will take learnings from earlier attempts, improve processes & use best practices in conducting this conference purposefully and fruitfully. Here is a survey [https://docs.google.com/forms/d/e/1FAIpQLSfof80NVrf3b9x3AotDBkICe-RfL3O3EyTM_L5JaYM-0GkG1A/viewform form] to get your responses on the same notion. Unfortunately we are working with short timelines since the final date of proposal submission is 5 September. We request you please fill out the form by 28th August. After your responses, we can decide if we have the community need and support for the conference. You are also encouraged to add your support on [[:m:WikiConference_India_2023:_Initial_conversations|'''this page''']], if you support the idea. Regards, [[User:Nitesh Gill|Nitesh Gill]], [[User:Nivas10798|Nivas10798]], [[User:Neechalkaran|Neechalkaran]], ০৬:৩৯, ২৪ আগস্ট ২০২২ (ইউটিসি) <!-- https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/South_Asia_Village_Pumps&oldid=23115331-এর তালিকা ব্যবহার করে বার্তাটি ব্যবহারকারী:KCVelaga@metawiki পাঠিয়েছেন --> == ২০২২ ট্রাস্টি বোর্ডের নির্বাচনের জন্য সম্প্রদায়ের ভোটদান শুরু হয়েছে == <section begin="announcement-content" /> :''[[m:Special:MyLanguage/Wikimedia Foundation elections/2022/Announcement/The 2022 Board of Trustees election Community Voting period is now open| বার্তাটি মেটা-উইকিতে আরও একাধিক ভাষায় অনুবাদ করা হয়েছে।]]'' :''<div class="plainlinks">[[m:Special:MyLanguage/Wikimedia Foundation elections/2022/Announcement/The 2022 Board of Trustees election Community Voting period is now open|{{int:interlanguage-link-mul}}]] • [https://meta.wikimedia.org/w/index.php?title=Special:Translate&group=page-{{urlencode:Wikimedia Foundation elections/2022/Announcement/The 2022 Board of Trustees election Community Voting period is now open}}&language=&action=page&filter= {{int:please-translate}}]</div>'' প্রিয় সবাই, [[m:Special:MyLanguage/Wikimedia Foundation elections/2022|২০২২ ট্রাস্টি বোর্ড নির্বাচনের জন্য]] সম্প্রদায়ের ভোটদান শুরু হয়েছে। ভোট দিতে আপনাকে সাহায্য করার জন্য নিচে কিছু তথ্য দেওয়া হয়েছে: * [https://board-elections-compass-2022.toolforge.org/ নির্বাচনী কম্পাস] দেখুন যা ১৫টি ভিন্ন বিষয়ে প্রার্থীদের দৃষ্টিভঙ্গি ব্যাখ্যা করে। * [[m:Special:MyLanguage/Wikimedia Foundation elections/2022/Candidates|প্রার্থীদের বিবৃতি]] ও [[m:Special:MyLanguage/Wikimedia_Foundation_elections/2022/Affiliate_Organization_Participation/Candidate_Questions|অ্যাফিলিয়েট প্রশ্নের উত্তর]] পড়ুন। * [[m:Special:MyLanguage/Wikimedia Foundation elections/2022/Apply to be a Candidate|ট্রাস্টি বোর্ড যে দক্ষতাগুলির প্রত্যাশা করছে]] এবং [[m:Special:MyLanguage/Wikimedia Foundation elections/2022/Candidates|বিশ্লেষণ কমিটি কীভাবে প্রত্যাশিত দক্ষতা রয়েছে এমন প্রার্থীদের চিহ্নিত করেছে]] সে সম্পর্কে আরও জানুন। * [[m:Special:MyLanguage/Wikimedia_Foundation_elections/2022/Campaign_Videos|ভিডিও দেখুন যেখানে প্রার্থীরা সম্প্রদায়ের দ্বারা প্রস্তাবিত প্রশ্নের উত্তর দিয়েছেন]]। ভোট দিতে [[Special:SecurePoll/vote/Wikimedia_Foundation_Board_Elections_2022|সিকিউরপোলে]] যান। '''ভোটের সময়কাল ২৩ আগস্ট ০০:০০ ইউটিসি থেকে ৬ সেপ্টেম্বর ২০২২ ২৩:৫৯ ইউটিসি পর্যন্ত।''' নিজের যোগ্যতা যাচাই করতে [[m:Special:MyLanguage/Wikimedia_Foundation_elections/2022/Voter_eligibility_guidelines|ভোটার যোগ্যতা পাতা]] দেখুন। শুভেচ্ছান্তে, আন্দোলন কৌশল ও অনুশাসন ''এই বার্তাটি বোর্ড নির্বাচন কার্যকরী দল এবং নির্বাচন কমিটির পক্ষ থেকে পাঠানো হয়েছে।''<br /><section end="announcement-content" /> [[ব্যবহারকারী:CSinha (WMF)|CSinha (WMF)]] ([[ব্যবহারকারী আলাপ:CSinha (WMF)|আলাপ]]) ১২:০২, ২৬ আগস্ট ২০২২ (ইউটিসি) kk8b580m4l9fexzfm4tbyuqfwuqfep3 অংশী 0 2666 133028 113093 2022-08-27T08:10:00Z Aishik Rehman 5592 wikitext text/x-wiki == {{ভাষা|bn}} == === উচ্চারণ === * {{অডিও|bn|LL-Q9610 (ben)-MdsShakil-অংশী.wav|অডিও}} === ব্যুৎপত্তি === * (''[[সংস্কৃত]]'') অংশ+ ইন্‌ = অংশী ==={{অর্থ}}=== {{adjective-category|bn}} # ভাগী; যে অংশ করিয়া লয়; যে ভাগ পাইতে পারে; ভাগার্হ; (কিছুতে) যার অংশ আছে; অংশবিশিষ্ট # [অংশ বিশিষ্ট] অংশধর; অংশের আধার। যেমন "কৃষ্ণ যদি অংশ হইত অংশী নারায়ণ।"-চৈতন্যচরিতামৃত। # '''স্ত্রীলিঙ্গ''' অং̑শিনী- অংশবিশিষ্টা; অংশধরা; যা হতে অংশ সমুহ প্রকাশ হয়। যেমন "অবতরি কৃষ্ণ যৈছে করেন অবতার। অংশিনী রাধার হৈতে তিন গনের বিস্তার।"-চৈতন্যচরিতামৃত। ==== সম্পর্কিত শব্দ ==== * [[অংশীদার]] * [[অংশীদারি]] ===={{অনুবাদসমূহ}}==== {{অনুবাদ-শীর্ষ}} * {{en}}: share-holder, allottee, co-sharer, partner, share * {{ta}}: [[பங்காளி]], [[பங்குதாரர்]] {{অনুবাদ-নীচ}} {{উৎস-ভাষা|bn}} mnw5fevma63qdwharor80ygaidhztt4 অকর্মা 0 2667 133021 111812 2022-08-27T08:07:29Z Aishik Rehman 5592 wikitext text/x-wiki == {{ভাষা|bn}} == === উচ্চারণ === * {{অডিও|bn|LL-Q9610 (ben)-MdsShakil-অকর্মা.wav|অডিও}} ===বিশেষণ=== {{বিশেষণ|bn}} # [[কোন]] কাজের নয় এমন; # [[অলস]]; # কুকর্মকারী; # অন্যায়কারী। 12i4zd3qo8ol1hzi94spl8xs3xoy6to অকপটচিত্ত 0 2824 133017 82237 2022-08-27T08:07:22Z Aishik Rehman 5592 wikitext text/x-wiki == {{ভাষা|bn}} == === উচ্চারণ === * {{অডিও|bn|LL-Q9610 (ben)-MdsShakil-অকপটচিত্ত.wav|অডিও}} ===বিশেষণ=== {{বিশেষণ|bn}} #[[সাহসী]]। [[বিষয়শ্রেণী:বাংলা বিশেষণ]] tr9sdtcr6r8wp4uq55637y1hhfgy6fh অতিপ্রজ 0 2911 133024 123820 2022-08-27T08:07:44Z Aishik Rehman 5592 wikitext text/x-wiki == {{ভাষা|bn}} == === উচ্চারণ === * {{অডিও|bn|LL-Q9610 (ben)-MdsShakil-অতিপ্রজ.wav|অডিও}} ===বিশেষণ=== {{বিশেষণ|bn}} * প্রচুর পরিমাণে উৎপাদনশীল [[বিষয়শ্রেণী:বাংলা বিশেষণ]] {{পূর্বনির্ধারিতবাছাই:অ, অতিপ্রজ}} 1uu4rugtgnb61v6ub7zeuewk76lo23h অংশুমালী 0 3088 133029 108951 2022-08-27T08:10:17Z Aishik Rehman 5592 wikitext text/x-wiki == {{ভাষা|bn}} == === উচ্চারণ === * {{অডিও|bn|LL-Q9610 (ben)-MdsShakil-অংশুমালী.wav|অডিও}} ==={{অর্থ}}=== *{{বিশেষ্য-বিষয়শ্রেণী|bn}} # [মূল-অংশুমালিন্।] # '''ব্যুৎপত্তি''' [[অংশুমালা]] + ইন্-স্ত্য- যার [[অংশুমালা]] আছে] # সূর্য্য। *{{adjective-category|bn}} #কিরণমালাবিশিষ্ট। যেমন "দিনমণি যেন অংশুমালী।"-মেঘদূত। #'''স্ত্রীলিঙ্গ''' - অংশুমালিনী। ==={{অনুবাদসমূহ}}=== {{অনুবাদ-শীর্ষ}} :* {{en}}: Sun {{অনুবাদ-নীচ}} {{উৎস-ভাষা|bn}} ko8146ptcgx59lhthjfl60kqauw88h7 অকপট 0 3095 133016 82236 2022-08-27T08:07:21Z Aishik Rehman 5592 wikitext text/x-wiki == {{ভাষা|bn}} == === উচ্চারণ === * {{অডিও|bn|LL-Q9610 (ben)-MdsShakil-অকপট.wav|অডিও}} ===বিশেষণ=== {{বিশেষণ|bn}} # কপটতাহীন # [[সরল]] # ছলশূন্য # ছলনাশূন্য == {{ভাষা|en}} == # Not hypocritical # Frank # sincere [[বিষয়শ্রেণী:বাংলা বিশেষণ]] khllkklhwzhhosw3vrl47yqcy5dhfu9 অকরণীয় 0 3099 133019 115953 2022-08-27T08:07:24Z Aishik Rehman 5592 wikitext text/x-wiki == {{ভাষা|bn}} == === উচ্চারণ === * {{অডিও|bn|LL-Q9610 (ben)-MdsShakil-অকরণীয়.wav|অডিও}} === বিশেষণ === {{বিশেষণ|bn}} * করণের অযোগ্য * অকর্তব্য === ব্যবহার === * অকরণীয় কার্য * অকরণীয় [[ঘর]] [[বিষয়শ্রেণী:বাংলা বিশেষণ]] ayin6wisvzxndiiiay4z7zwli7yme1n অকর্তব্য 0 3102 133020 123646 2022-08-27T08:07:26Z Aishik Rehman 5592 wikitext text/x-wiki == {{ভাষা|bn}} == === উচ্চারণ === * {{অডিও|bn|LL-Q9610 (ben)-MdsShakil-অকর্তব্য.wav|অডিও}} ===বিশেষণ=== {{বিশেষণ|bn}} # [[অনুচিত]] [[বিষয়শ্রেণী:বাংলা বিশেষণ]] {{পূর্বনির্ধারিতবাছাই:অ, অকর্তব্য}} 2hs72mwcz5p59050nrskj3u48o4hpe5 অকাতর 0 3109 133023 82275 2022-08-27T08:07:34Z Aishik Rehman 5592 wikitext text/x-wiki == {{ভাষা|bn}} == === উচ্চারণ === * {{অডিও|bn|LL-Q9610 (ben)-MdsShakil-অকাতর.wav|অডিও}} === ব্যুৎপত্তি === ন + কাতর === বিশেষণ === {{বিশেষণ|bn}} * [[অব্যাকুল]] * [[নির্ভয়]] ===ক্রিয়া বিশেষণ=== {{ক্রিয়া বিশেষণ|bn}} * অক্লেশে [[বিষয়শ্রেণী:বাংলা ক্রিয়া বিশেষণ]] [[বিষয়শ্রেণী:বাংলা বিশেষণ]] lvplu2cjyct1kcsklki03kng106lofy অকলঙ্কিত 0 3165 133022 123655 2022-08-27T08:07:31Z Aishik Rehman 5592 wikitext text/x-wiki == {{ভাষা|bn}} == === উচ্চারণ === * {{অডিও|bn|LL-Q9610 (ben)-MdsShakil-অকলঙ্কিত.wav|অডিও}} == {{ভাষা|bn}} == === উচ্চারণ === * {{অডিও|bn|LL-Q9610 (ben)-MdsShakil-অকলঙ্কিত.wav|অডিও}} ===বিশেষণ=== {{বিশেষণ|bn}} # [[কলঙ্কী]] নয় এমন # [[সাধু]] # [[নির্দোষ]] === সমার্থক শব্দ === * [[অকলঙ্কী]] === আরও দেখুন === # [[অকলঙ্ক]] [[বিষয়শ্রেণী:বাংলা বিশেষণ]] {{stub}} {{পূর্বনির্ধারিতবাছাই:অ, অকলঙ্কিত}} 95k16jgndqd6lc778glbzahl7ous8x9 অইছন 0 6409 133013 82213 2022-08-27T08:07:13Z Aishik Rehman 5592 wikitext text/x-wiki == {{ভাষা|bn}} == === উচ্চারণ === * {{অডিও|bn|LL-Q9610 (ben)-MdsShakil-অইছন.wav|অডিও}} ===বিশেষণ=== {{বিশেষণ|bn}} #[[সেইরূপ]] #[[সেইরকম]] == ক্রিয়া-বিশেষণ == #[[ওইভাবে]] [[বিষয়শ্রেণী:বাংলা বিশেষণ]] [[বিষয়শ্রেণী:ক্রিয়া-বিশেষণ]] l0rtb4k1i0m3stlzk553v0ljhz1hhr7 অংশাঙ্কিত 0 6411 133012 82173 2022-08-27T08:07:09Z Aishik Rehman 5592 wikitext text/x-wiki == {{ভাষা|bn}} == === উচ্চারণ === * {{অডিও|bn|LL-Q9610 (ben)-MdsShakil-অংশাঙ্কিত.wav|অডিও}} ===বিশেষণ=== {{বিশেষণ|bn}} #[[মাপের]] [[ভাগবিশিষ্ট]] #[[চিহ্নবিশিষ্ট]] [[বিষয়শ্রেণী:বাংলা বিশেষণ]] 4vwsd67q0azitpyj1egfm4nqluzz9le অংশ্যমান 0 6413 133030 111230 2022-08-27T08:10:22Z Aishik Rehman 5592 wikitext text/x-wiki == {{ভাষা|bn}} == === উচ্চারণ === * {{অডিও|bn|LL-Q9610 (ben)-MdsShakil-অংশ্যমান.wav|অডিও}} === ব্যুৎপত্তি === === বিশেষণ === {{বিশেষণ|bn}} # [[ভাগ]]/বিভাজিত [[করা]] হচ্ছে [[এমন]]। ==== ব্যবহার টীকা ==== ==== সমার্থক শব্দ ==== ==== বিপরীতার্থক শব্দ ==== ==== উদ্ভূত হয়েছে ==== ==== সম্পর্কিত শব্দ ==== ==== অনুবাদ ==== === তথ্যসূত্র === জামিল চৌধুরী, [https://archive.org/details/BanglaAcademyAdhunikBanglaAbhidhan2016/page/n20/mode/1up, বাংলা আকাডেমি আধুমিক বাংলা অভিধান, পাতা ২] [https://isbnsearch.org/isbn/9840754947 9840754947] [[বিষয়শ্রেণী:বাংলা বিশেষণ]] 0dh2kahi69e4xyg68qpua3w25xwcokt অকঠোর 0 6417 133032 82226 2022-08-27T08:11:55Z Aishik Rehman 5592 wikitext text/x-wiki == {{ভাষা|bn}} == === উচ্চারণ === * {{অডিও|bn|LL-Q9610 (ben)-MdsShakil-অকঠোর.wav|অডিও}} ===ব্যুৎপত্তি=== *[ন + কঠোর] ==={{অর্থ}}=== {{adjective-category|bn}} # [[অকঠিন]]; যে বস্তু শক্ত নহে। # যে বিষয় দুরূহ নহে; সহজ; সরল; সুখবোধ্য। # যা উগ্র বা রুক্ষ নহে; অকর্কশ। # [হৃদয়, স্বভাব ইত্যাদি] সদয়; কোমল। # '''বিশেষ্য'''- অকঠোরতা, অকঠোরত্ব। ==={{অনুবাদসমূহ}}=== {{অনুবাদ-শীর্ষ}} * {{en}}: {{অনুবাদ-নীচ}} {{উৎস-ভাষা|bn}} nxmnhj5o55gczl9fb1q2c4ypus4ytjj অকণ্টক 0 6418 133014 123640 2022-08-27T08:07:18Z Aishik Rehman 5592 wikitext text/x-wiki == {{ভাষা|bn}} == === উচ্চারণ === * {{অডিও|bn|LL-Q9610 (ben)-MdsShakil-অকণ্টক.wav|অডিও}} ===বিশেষণ=== {{বিশেষণ|bn}} #কণ্টকহীন #[[কাঁটাশূন্য]] #[[নিষ্কণ্টক]] == আলংকারিক অর্থে == #[[নিরুপদ্রব]] #নিঃশত্রু [[বিষয়শ্রেণী:বাংলা বিশেষণ]] {{পূর্বনির্ধারিতবাছাই:অ, অকণ্টক}} 21rxway5xc71fynz3n1eedj3qwi6f6s অকথিত 0 6420 133015 82232 2022-08-27T08:07:20Z Aishik Rehman 5592 wikitext text/x-wiki == {{ভাষা|bn}} == === উচ্চারণ === * {{অডিও|bn|LL-Q9610 (ben)-MdsShakil-অকথিত.wav|অডিও}} ===বিশেষণ=== {{বিশেষণ|bn}} #[[অনুক্ত]] #না-বলা #[[অনুচ্চারিত]] :উদাহরণ:-'''অকথিত''' কাহিনী [[বিষয়শ্রেণী:বাংলা বিশেষণ]] o804fe87jh6rm15ypqjgdkr5n4yfv0y অকম্প 0 6421 133018 123644 2022-08-27T08:07:24Z Aishik Rehman 5592 wikitext text/x-wiki == {{ভাষা|bn}} == === উচ্চারণ === * {{অডিও|bn|LL-Q9610 (ben)-MdsShakil-অকম্প.wav|অডিও}} ===বিশেষণ=== {{বিশেষণ|bn}} #কম্পনহীন #[[স্থির]] #[[নিশ্চল]] #:উদাহরণ:'''অকম্প''' প্রদীপশিখা #[[অবিচলিত]] #:উদাহরণ:'''অকম্পিত''' হৃদয়ে [[বিষয়শ্রেণী:বাংলা বিশেষণ]] {{পূর্বনির্ধারিতবাছাই:অ, অকম্প}} 58q5xo4g36mtiadh0f1awbok5f2b0kp অকর 0 6422 133052 82242 2022-08-27T09:49:26Z MdsShakil 6871 wikitext text/x-wiki == {{ভাষা|bn}} == ===উচ্চারণ=== {{অডিও|bn|LL-Q9610 (ben)-Shakil Hosen (MdsShakil)-অকর.wav}} ===বিশেষণ=== {{বিশেষণ|bn}} #করহীন, হস্তহীন #[[নিষ্কর]],[[শুল্ক]] বা করের [[অযোগ্য]] [[বিষয়শ্রেণী:বাংলা বিশেষণ]] 665r8pa111bk7kkv3mn8nrym5rmpmm2 133067 133052 2022-08-27T09:50:57Z Aishik Rehman 5592 wikitext text/x-wiki == {{ভাষা|bn}} == ===উচ্চারণ=== {{অডিও|bn|LL-Q9610 (ben)-Shakil Hosen (MdsShakil)-অকর.wav}} ===বিশেষণ=== {{বিশেষণ|bn}} # করহীন, হস্তহীন # [[নিষ্কর]],[[শুল্ক]] বা করের [[অযোগ্য]] [[বিষয়শ্রেণী:বাংলা বিশেষণ]] 6woatkofpjarjjtmz5m3f4naact9zxk অকলুষিত 0 6430 133054 82262 2022-08-27T09:49:42Z MdsShakil 6871 wikitext text/x-wiki == {{ভাষা|bn}} == ===উচ্চারণ=== {{অডিও|bn|LL-Q9610 (ben)-Shakil Hosen (MdsShakil)-অকলুষিত.wav}} ===বিশেষণ=== {{বিশেষণ|bn}} #দোষযুক্ত বা মালিন্যযুক্ত [[নয়]] এমন #[[নির্দোষ]] #[[অমলিন]] #:উদাহরণ:'''অকলুষিত''' চরিত্র [[বিষয়শ্রেণী:বাংলা বিশেষণ]] kof90nj9tdwvk1fy2ic8rya7t1j51nx অকাণ্ড 0 6606 133057 82274 2022-08-27T09:49:55Z MdsShakil 6871 wikitext text/x-wiki == {{ভাষা|bn}} == ===উচ্চারণ=== {{অডিও|bn|LL-Q9610 (ben)-Shakil Hosen (MdsShakil)-অকাণ্ড.wav}} ===বিশেষ্য=== {{বিশেষ্য|bn}} #[[গুঁড়ি]] বা কাণ্ডহীন বৃক্ষ ===বিশেষণ=== {{বিশেষণ|bn}} #[[অঘটনীয়]] #আকস্মিক, অতর্কিত #কাণ্ডহীন ctzk7qrkj8gdlsgfgvuifls4nqd744m অকাম 0 6608 133058 82277 2022-08-27T09:49:58Z MdsShakil 6871 wikitext text/x-wiki == {{ভাষা|bn}} == ===উচ্চারণ=== {{অডিও|bn|LL-Q9610 (ben)-Shakil Hosen (MdsShakil)-অকাম.wav}} ===বিশেষণ=== {{বিশেষণ|bn}} #নিষ্কাম, বাসনাশূন্য, কাম বা ভোগবাসনা নেই এমন। #জিতেন্দ্রিয় ===বিশেষ্য=== {{বিশেষ্য|bn}} #[[অকাজ]] #[[কুকাজ]] [[বিষয়শ্রেণী:বাংলা বিশেষ্য]] [[বিষয়শ্রেণী:বাংলা বিশেষণ]] [[বিষয়শ্রেণী:আঞ্চলিক শব্দ]] 662ak2de33227s8itya1hnt1waomfwb অকাম্য 0 6609 133059 123665 2022-08-27T09:50:20Z MdsShakil 6871 wikitext text/x-wiki == {{ভাষা|bn}} == ===উচ্চারণ=== * {{অডিও|bn|LL-Q9610 (ben)-Shakil Hosen (MdsShakil)-অকাম্য.wav|অডিও}} ===বিশেষণ=== {{বিশেষণ|bn}} #[[অবাঞ্ছনীয়]] #অনভিপ্রেত [[বিষয়শ্রেণী:বাংলা বিশেষণ]] {{পূর্বনির্ধারিতবাছাই:অ, অকাম্য}} 6exe3g4t7l7ub3yhdh50d48eb1u2vvl অকায় 0 6610 133060 82280 2022-08-27T09:50:44Z MdsShakil 6871 wikitext text/x-wiki == {{ভাষা|bn}} == ===উচ্চারণ=== * {{অডিও|bn|LL-Q9610 (ben)-Shakil Hosen (MdsShakil)-অকায়.wav|অডিও}} ===বিশেষণ=== {{বিশেষণ|bn}} #[[দেহ]]হীন #[[অশরীরী]] ===বিশেষ্য=== {{বিশেষ্য|bn}} #[[পরমাত্মা]] #রাহুগ্রহ 93h7w0wznvtygakducqc4s6yzx0w2rg অ-কার 0 6613 133044 108936 2022-08-27T09:49:06Z MdsShakil 6871 wikitext text/x-wiki == {{ভাষা|bn}} == ===উচ্চারণ=== {{অডিও|bn|LL-Q9610 (ben)-Shakil Hosen (MdsShakil)-অ-কার.wav}} ===বিশেষ্য=== {{বিশেষ্য|bn}} #[[অ]] [[বর্ণ]] [[বা]] [[ধ্বনি]] । io4te54367tdnkafkotj1dy47i7u2c1 অকারান্ত 0 6614 133061 82284 2022-08-27T09:50:45Z MdsShakil 6871 wikitext text/x-wiki == {{ভাষা|bn}} == ===উচ্চারণ=== * {{অডিও|bn|LL-Q9610 (ben)-Shakil Hosen (MdsShakil)-অকারান্ত.wav|অডিও}} ===বিশেষণ=== {{বিশেষণ|bn}} #অন্তে অ [[ধ্বনি]]যুক্ত। c8ofp4x7vpza52a6e3c57sjo7ysmaxv অকার্য 0 6615 133062 82285 2022-08-27T09:50:47Z MdsShakil 6871 wikitext text/x-wiki == {{ভাষা|bn}} == ===উচ্চারণ=== * {{অডিও|bn|LL-Q9610 (ben)-Shakil Hosen (MdsShakil)-অকার্য.wav|অডিও}} ===বিশেষ্য=== {{বিশেষ্য|bn}} #[[অকাজ]], বাজে কাজ #[[কুকাজ]], অনুচিত কাজ #অবৈধ কাজ ===বিশেষণ=== {{বিশেষণ|bn}} #অকরণীয়, অকর্তব্য djtqectnckl1722yddv9xonqo957ewc অকালি 0 6616 133064 82300 2022-08-27T09:50:50Z MdsShakil 6871 wikitext text/x-wiki == {{ভাষা|bn}} == ===উচ্চারণ=== * {{অডিও|bn|LL-Q9610 (ben)-Shakil Hosen (MdsShakil)-অকালি.wav|অডিও}} ===বিশেষ্য=== {{বিশেষ্য|bn}} # [[শিখ]]সম্প্রদায়বিশেষ (যারা উপাসনাকালে অকালপুরুষকে অর্থাৎ অবিনশ্বর আত্মাকে ভজনা করে) dw71v3ejydvxrubghsjmxgbri0ntnd6 অকীক 0 6618 133066 82308 2022-08-27T09:50:53Z MdsShakil 6871 wikitext text/x-wiki == {{ভাষা|bn}} == ===উচ্চারণ=== * {{অডিও|bn|LL-Q9610 (ben)-Shakil Hosen (MdsShakil)-অকীক.wav|অডিও}} ===বিশেষ্য=== {{বিশেষ্য|bn}} #ঈষৎ নীলাভ #ঈষৎ শ্বেতাভ শ্যামল পাণ্ডুবর্ণ মূল্যবান ভারতীয় প্রস্তরবিশেষ। [[বিষয়শ্রেণী:বাংলা বিশেষ্য]] rl4je5sx08n55r1kckayetd7pb46plm অকীর্তিত 0 6630 133069 123671 2022-08-27T09:50:58Z MdsShakil 6871 wikitext text/x-wiki == {{ভাষা|bn}} == ===উচ্চারণ=== * {{অডিও|bn|LL-Q9610 (ben)-Shakil Hosen (MdsShakil)-অকীর্তিত.wav|অডিও}} ===বিশেষণ=== {{বিশেষণ|bn}} #অপ্রচারিত #অঘোষিত [[বিষয়শ্রেণী:বাংলা বিশেষণ]] {{পূর্বনির্ধারিতবাছাই:অ, অকীর্তিত}} onnpo0wud8z06g59wbrfyl9gfl966gy অকুব 0 6634 133070 82316 2022-08-27T09:51:03Z MdsShakil 6871 wikitext text/x-wiki == {{ভাষা|bn}} == ===উচ্চারণ=== * {{অডিও|bn|LL-Q9610 (ben)-Shakil Hosen (MdsShakil)-অকুব.wav|অডিও}} ===বিশেষণ=== {{বিশেষণ|bn}} #আক্কেল #কাণ্ডজ্ঞান [[বিষয়শ্রেণী:বাংলা বিশেষণ]] tbgzz5grfxf6w4qsgdpt5stxenukdu0 অকুলীন 0 6636 133071 82321 2022-08-27T09:51:07Z MdsShakil 6871 wikitext text/x-wiki == {{ভাষা|bn}} == ===উচ্চারণ=== * {{অডিও|bn|LL-Q9610 (ben)-Shakil Hosen (MdsShakil)-অকুলীন.wav|অডিও}} ===বিশেষণ=== {{বিশেষণ|bn}} #কুলীন বংশজাত নয় এমন #বংশমর্যাদাহীন [[বিষয়শ্রেণী:বাংলা বিশেষণ]] 8dnn5flqoxz7a40aoglbkktm32z36u1 অকুশল 0 6637 133072 82322 2022-08-27T09:51:09Z MdsShakil 6871 wikitext text/x-wiki == {{ভাষা|bn}} == ===উচ্চারণ=== * {{অডিও|bn|LL-Q9610 (ben)-Shakil Hosen (MdsShakil)-অকুশল.wav|অডিও}} ===বিশেষ্য=== {{বিশেষ্য|bn}} #অমঙ্গল ===বিশেষণ=== {{বিশেষণ|bn}} #অপটু #কুশল বা দক্ষ নয় এমন [[বিষয়শ্রেণী:বাংলা বিশেষ্য]] [[বিষয়শ্রেণী:বাংলা বিশেষণ]] 7ex70trlftf39mig14enie3w46xsfn5 অকৃতদার 0 6643 133074 82336 2022-08-27T09:51:14Z MdsShakil 6871 wikitext text/x-wiki == {{ভাষা|bn}} == ===উচ্চারণ=== * {{অডিও|bn|LL-Q9610 (ben)-Shakil Hosen (MdsShakil)-অকৃতদার.wav|অডিও}} ===বিশেষণ=== {{বিশেষণ|bn}} #[[অবিবাহিত]] #দার পরিগ্রহ করেনি এমন ==সংস্কৃত== ন+কৃতদার [[বিষয়শ্রেণী:বাংলা বিশেষণ]] 228x9ty9yqx636mdegee5l9bymdlyot অকৃততাপরাধ 0 6644 133073 82335 2022-08-27T09:51:12Z MdsShakil 6871 wikitext text/x-wiki == {{ভাষা|bn}} == ===উচ্চারণ=== * {{অডিও|bn|LL-Q9610 (ben)-Shakil Hosen (MdsShakil)-অকৃততাপরাধ.wav|অডিও}} ===বিশেষণ=== {{বিশেষণ|bn}} #অপরাধ করেনি এমন। #নিরপরাধ ==সংস্কৃত== ন+কৃত+অপরাধ [[বিষয়শ্রেণী:বাংলা বিশেষণ]] hgcjgdfrtby3slhdgkwid81jdndvfc4 অকৃতার্থ 0 6646 133077 82338 2022-08-27T09:51:17Z MdsShakil 6871 wikitext text/x-wiki == {{ভাষা|bn}} == ===উচ্চারণ=== * {{অডিও|bn|LL-Q9610 (ben)-Shakil Hosen (MdsShakil)-অকৃতার্থ.wav|অডিও}} ===বিশেষণ=== {{বিশেষণ|bn}} #বিফলমনোরথ #অসফল == সংস্কৃত== ন+কৃতার্থ [[বিষয়শ্রেণী:বাংলা বিশেষণ]] by5wwfrvugdeid69c1cvt2hw4zyobj8 অকৃতী 0 6647 133078 109489 2022-08-27T09:51:25Z MdsShakil 6871 wikitext text/x-wiki == {{ভাষা|bn}} == ===উচ্চারণ=== * {{অডিও|bn|LL-Q9610 (ben)-Shakil Hosen (MdsShakil)-অকৃতী.wav|অডিও}} ===বিশেষণ=== {{বিশেষণ|bn}} #অক্ষম, অপটু #সাফল্যহীন ===বিশেষ্য=== {{বিশেষ্য|bn}} #অকৃতিত্ব ==সংস্কৃত== ন+ক্রিতিন [[বিষয়শ্রেণী:বাংলা বিশেষ্য]] [[বিষয়শ্রেণী:বাংলা বিশেষণ]] hsn42qe8tdcljgbt6qxq79qg1avic0r অকৃতদ্বাহ 0 6648 133076 82337 2022-08-27T09:51:15Z MdsShakil 6871 wikitext text/x-wiki == {{ভাষা|bn}} == ===উচ্চারণ=== * {{অডিও|bn|LL-Q9610 (ben)-Shakil Hosen (MdsShakil)-অকৃতদ্বাহ.wav|অডিও}} {{বিশেষণ|subject=পুং}} #অবিবাহিত #উদ্বাহ অর্থাৎ বিবাহ করেনি এমন ==সংস্কৃত== ন+কৃত+উদ্বাহ [[বিষয়শ্রেণী:বাংলা বিশেষণ]] 005llcp80gyk1op46jfnjujwf4azupj অকৃত্যকারী 0 6657 133080 123673 2022-08-27T09:51:31Z MdsShakil 6871 wikitext text/x-wiki == {{ভাষা|bn}} == ===উচ্চারণ=== * {{অডিও|bn|LL-Q9610 (ben)-Shakil Hosen (MdsShakil)-অকৃত্যকারী.wav|অডিও}} ===বিশেষণ=== {{বিশেষণ|bn}} #কুকর্মকারী #যে অকাজ বা কুকাজ করে [[বিষয়শ্রেণী:বাংলা বিশেষণ]] {{পূর্বনির্ধারিতবাছাই:অ, অকৃত্যকারী}} 1788b5igywf75rge5sp7qynh40wuwyn অকৃষ্ট 0 6658 133082 123674 2022-08-27T09:51:34Z MdsShakil 6871 wikitext text/x-wiki == {{ভাষা|bn}} == ===উচ্চারণ=== * {{অডিও|bn|LL-Q9610 (ben)-Shakil Hosen (MdsShakil)-অকৃষ্ট.wav|অডিও}} ===বিশেষণ=== {{বিশেষণ|bn}} #কর্ষণ করা বা চাষ হয়নি এমন #অচষা #পতিত বা অনাবাদি জমি ==সংস্কৃত== ন+কৃষ্ট [[বিষয়শ্রেণী:বাংলা বিশেষণ]] {{পূর্বনির্ধারিতবাছাই:অ, অকৃষ্ট}} ewiauykg7muepwf9a41saqd88k4ige9 অকৈতব 0 6663 133083 82353 2022-08-27T09:51:36Z MdsShakil 6871 wikitext text/x-wiki == {{ভাষা|bn}} == ===উচ্চারণ=== * {{অডিও|bn|LL-Q9610 (ben)-Shakil Hosen (MdsShakil)-অকৈতব.wav|অডিও}} ===বিশেষণ=== {{বিশেষণ|bn}} #কৈতব অর্থাৎ ছল নেই এমন #ছল করে না এমন #অকপট, ছলনাহীন #সত্য ==সংস্কৃত== ন+কৈতব [[বিষয়শ্রেণী:বাংলা বিশেষণ]] grwurhvp816dgklvuyjkggf5r54xiwo অক্টোপাস 0 6666 133084 127185 2022-08-27T09:51:41Z MdsShakil 6871 wikitext text/x-wiki == {{ভাষা|bn}} == ===উচ্চারণ=== * {{অডিও|bn|LL-Q9610 (ben)-Shakil Hosen (MdsShakil)-অক্টোপাস.wav|অডিও}} ===বিশেষ্য=== {{বিশেষ্য|bn}} #[[আট]]টি [[বাহু]] বা [[শুঁড়]] বিশিষ্ট [[সামুদ্রিক]] প্রানিবিশেষ #[[চতুর্দিক]] থেকে [[মারাত্মক]] [[আক্রমণ]]। === উদ্ধৃতি === * {{quote-book|bn|date=2020-12-10|author=Many authors|title=জয়ঢাক বসন্ত ২০১৮ joydhak WEBZINE spring2018 issuePDF: joydhak WEBZINE|publisher=Joydhak Webzine |text=অক্টোপাস সমুদ্রের সবচেয়ে অদ্ভুত , এবং কৌতূহলােদ্দীপক প্রাণীদের মধ্যে অন্যতম । অক্টোপােডা অর্ডার - এর প্রাণী অক্টোপাস সমুদ্রের{{nb...}}}} * {{quote-book|bn|date=2020-09-01|author=Bangachi Team|title=ব্যাঙাচি–সমুদ্র: ব্যাঙের ছাতার বিজ্ঞান কর্তৃক প্রকাশিত ম্যাগাজিন|publisher=ব্যাঙাচি |text=অক্টোপাস । কিছুদিন আগে সে ডিম দিয়েছে । তার দিতে হয় । অক্সিজেনের যাতে কোনােরকম অভাব বাসায় ছােটো ছােটো অশ্রদানার মতাে ঝুলছে ৪৬০{{nb...}}}} * {{quote-book|bn|date=2017-07-19|author=প্রেমেন্দ্র মিত্র Premendra Mitra|title=কিশোর গল্প সঞ্চয়ন Kishor Galpa Sanchayan|publisher=Parul Prakashani Private Limited|isbn=9789386708199 |text=সাগর-দানব আসলে ওই ছোটো অক্টোপাস। সমুদ্রের খুব গভীর স্তরে যে তার বাস রবারের থলে ফেটে যাবার পর তার দেহ ফেপে ফুলে ওঠাই তার প্রমাণ।}} * {{quote-book|bn|year=1980|title=Bāṃlā granthapañjī: kraẏalabhya Bāṃlā granthera bishaẏānuga tālikā|page=339}} * {{quote-book|bn|date=2020-08-28|author=Debjyoti Bhattacharyya|title=জয়ঢাক শীত ২০১৯ joydhak WEBZINE winter 2019 issuePDF: joydhak WEBZINE|publisher=joydhak WEBZINE |text=অভিযাত্রীদের সাবধান করে দেওয়া ছিল অক্টোপাস সম্বন্ধে । ভেলা তখন সমুদ্রের যে অংশ দিয়ে যাচ্ছিল সে অঞ্চলটা অক্টোপাস সমৃদ্ধ ।}} * {{quote-book|bn|year=1969|author=Aloka Chattopadhyaya|title=Kr̥shñakali |text=জলের ভেতর থেকে একটা অক্টোপাস এসে তাকে কঠিন বাঁধনে বেঁধে ভয়ে শরীর কাঁপছে । জল থেকে মুখ তুলে দেখল মুনিয়া তাকে ফেলেই পালাচ্ছে ।}} * {{quote-book|bn|date=2020-09-01|author=Multiple authors|title=জয়ঢাক শরৎ ২০১৯ joydhak WEBZINE Autumn 2019 issuePDF: joydhak WEBZINE|publisher=joydhak WEBZINE |text=অভিজ্ঞ লােকেরা আমাদের পইপই করে সাবধান করে দিয়েছিলেন যে সামুদ্রিক জীবটা সম্পর্কে সেটা হল অক্টোপাস । কেননা তারা ভেলার ওপরে উঠেও{{nb...}}}} * {{quote-book|bn|author=সুকুমার রায়|title=সুকুমার রায় প্রবন্ধ সংকলন - Boiraag Publication|publisher=বইরাগ পাবলিকেশন |text=ডুবুরীরা হাঙরের চাইতেও ভয় করে ' অক্টোপাস'কে । পিটার স্নেল একজন নামজাদা ডুবুরী ছিল । সে একবার জলে নামতেই একটা প্রকাণ্ড অক্টোপাস{{nb...}}}} * {{quote-book|bn|author=Brian Stewart|title=Donkey Ollie Sunday School Lessons... Bengali Book One: বিশ্বকে আরও উন্নত করা Making the World Better with Jesus|publisher=Boat Angel Outreach Center |text=আমরা মহাসাগরের নিচে অসহায় হয়ে পরেছিলাম এবং একটা বিরাট অক্টোপাস আমাদের । মারতে আসছিল | | “ এইটা ছিল খুবুই ভয়ংকর জিহু বলল{{nb...}}}} * {{quote-book|bn|year=1989|author=Jāmālauddīna Mollā|title=Samagra Jāmālauddīna Mollā |text=৪৩ উত্তর যাত্রাবাড়ি জানুয়ারী ২৫ , ১৯৭৩ অক্টোপাস কখনাে সহজ চোখে দেখা নয় । লেখা নেই নাম । কীতিমান আধিক্যের জাঁহাবাজ নরপতি নয়নয়{{nb...}}}} * {{quote-book|bn|year=1985|author=Ema. Āi Caudhurī|title=Seṇṭa Mārṭina |text=মাছ ও নানাপ্রকার জীব যেমন অক্টোপাস , জেলিফিস , স্কুইড , বিভিন্ন রকমের সােলাস্কা , নটিলয়েড় , চিংড়ি , সরীসৃপ ও বহ , বড় বড় সাগরের{{nb...}}}} * {{quote-book|bn|year=1992|author=Ema. Esa. Ema Nāsirula Isalāma|title=Bāṃlādeśera rāshṭranīti |text=ঐ টাইগারশার্ক আর হ্যামারহেডের জৈবিক মিলনে সৃষ্টি হল এক শঙ্কর প্রাণী , তার নাম অক্টোপাস । ধরুন , টাইগারশার্কটি হল একচেটিয়া{{nb...}}}} [[বিষয়শ্রেণী:বাংলা বিশেষ্য]] {{পূর্বনির্ধারিতবাছাই:অ, অক্টোপাস}} gvs2aras19eu7qka86vq1vs70b79k2x অয়াক্ত 0 6681 133085 127183 2022-08-27T09:51:43Z MdsShakil 6871 wikitext text/x-wiki == {{ভাষা|bn}} == ===উচ্চারণ=== * {{অডিও|bn|LL-Q9610 (ben)-Shakil Hosen (MdsShakil)-অক্ত (বিশেষ্য).wav|অডিও}} ===বিশেষ্য=== {{বিশেষ্য|bn}} #[[সময়]] #[[বার]] === উদ্ধৃতি === * {{quote-book|bn|author=মোহাম্মদ হাবিবুল্লাহ্‌ | Mohammad Habibullah|title=পাক্ষিক আহ্‌মদী - নব পর্যায় ১৯ বর্ষ | ১৬তম সংখ্যা | ৩১শে ডিসেম্বর, ১৯৬৫ইং | The Fortnightly Ahmadi - New Vol: 19 Issue: 16 - Date: 31st December 1965|publisher=Ahmadiyya Muslim Jama'at Bangladesh |text=ছহী বোখারীতে বর্ণিত আছে যে, আল্লাতালা প্রথমে উম্মতে মোহাম্মদীয়ার জন্য পঞ্চাশ অক্ত নামায ফরজ করে ছিলেন, কিন্তু নবী করীমের (সাঃ){{nb...}}}} * {{quote-book|bn|author=মোহাম্মদ হাবিবুল্লাহ্‌ | Mohammad Habibullah|title=পাক্ষিক আহ্‌মদী - নব পর্যায় ২১ বর্ষ | ১ম সংখ্যা | ১৫ই মে, ১৯৬৭ইং | The Fortnightly Ahmadi - New Vol: 21 Issue: 01 - Date: 15th May 1967|publisher=Ahmadiyya Muslim Jama'at Bangladesh |text=ভাইবাল জনমশাখির ১৯৫ পৃষ্ঠায় বলছেন, 'পাঞ্চ নমাজ পাঞ্চ অক্ত রোজে তরহিয়া পান্থান।' অর্থাৎ পঁাচ অক্ত নমাজ এবং ত্রিশ রোজা ফরজ।}} ==আরবি== *[[বখৎ]] ==হিন্দি== *[[বখত]]শ্য [[বিষয়শ্রেণী:বাংলা বিশেষ্য]] {{পূর্বনির্ধারিতবাছাই:অ, অক্ত (বিশেষ্য)}} p2urhvsdcdkvjxubbkj66uvm04g2syy 133113 133085 2022-08-27T09:54:00Z Aishik Rehman 5592 Aishik Rehman [[অক্ত (বিশেষ্য)]] পাতাটিকে [[ওয়াক্ত (বিশেষ্য)]] শিরোনামে কোনো পুনর্নির্দেশনা ছাড়াই স্থানান্তর করেছেন wikitext text/x-wiki == {{ভাষা|bn}} == ===উচ্চারণ=== * {{অডিও|bn|LL-Q9610 (ben)-Shakil Hosen (MdsShakil)-অক্ত (বিশেষ্য).wav|অডিও}} ===বিশেষ্য=== {{বিশেষ্য|bn}} #[[সময়]] #[[বার]] === উদ্ধৃতি === * {{quote-book|bn|author=মোহাম্মদ হাবিবুল্লাহ্‌ | Mohammad Habibullah|title=পাক্ষিক আহ্‌মদী - নব পর্যায় ১৯ বর্ষ | ১৬তম সংখ্যা | ৩১শে ডিসেম্বর, ১৯৬৫ইং | The Fortnightly Ahmadi - New Vol: 19 Issue: 16 - Date: 31st December 1965|publisher=Ahmadiyya Muslim Jama'at Bangladesh |text=ছহী বোখারীতে বর্ণিত আছে যে, আল্লাতালা প্রথমে উম্মতে মোহাম্মদীয়ার জন্য পঞ্চাশ অক্ত নামায ফরজ করে ছিলেন, কিন্তু নবী করীমের (সাঃ){{nb...}}}} * {{quote-book|bn|author=মোহাম্মদ হাবিবুল্লাহ্‌ | Mohammad Habibullah|title=পাক্ষিক আহ্‌মদী - নব পর্যায় ২১ বর্ষ | ১ম সংখ্যা | ১৫ই মে, ১৯৬৭ইং | The Fortnightly Ahmadi - New Vol: 21 Issue: 01 - Date: 15th May 1967|publisher=Ahmadiyya Muslim Jama'at Bangladesh |text=ভাইবাল জনমশাখির ১৯৫ পৃষ্ঠায় বলছেন, 'পাঞ্চ নমাজ পাঞ্চ অক্ত রোজে তরহিয়া পান্থান।' অর্থাৎ পঁাচ অক্ত নমাজ এবং ত্রিশ রোজা ফরজ।}} ==আরবি== *[[বখৎ]] ==হিন্দি== *[[বখত]]শ্য [[বিষয়শ্রেণী:বাংলা বিশেষ্য]] {{পূর্বনির্ধারিতবাছাই:অ, অক্ত (বিশেষ্য)}} p2urhvsdcdkvjxubbkj66uvm04g2syy 133125 133113 2022-08-27T09:54:24Z Aishik Rehman 5592 Aishik Rehman [[ওয়াক্ত (বিশেষ্য)]] পাতাটিকে [[অয়াক্ত]] শিরোনামে কোনো পুনর্নির্দেশনা ছাড়াই স্থানান্তর করেছেন wikitext text/x-wiki == {{ভাষা|bn}} == ===উচ্চারণ=== * {{অডিও|bn|LL-Q9610 (ben)-Shakil Hosen (MdsShakil)-অক্ত (বিশেষ্য).wav|অডিও}} ===বিশেষ্য=== {{বিশেষ্য|bn}} #[[সময়]] #[[বার]] === উদ্ধৃতি === * {{quote-book|bn|author=মোহাম্মদ হাবিবুল্লাহ্‌ | Mohammad Habibullah|title=পাক্ষিক আহ্‌মদী - নব পর্যায় ১৯ বর্ষ | ১৬তম সংখ্যা | ৩১শে ডিসেম্বর, ১৯৬৫ইং | The Fortnightly Ahmadi - New Vol: 19 Issue: 16 - Date: 31st December 1965|publisher=Ahmadiyya Muslim Jama'at Bangladesh |text=ছহী বোখারীতে বর্ণিত আছে যে, আল্লাতালা প্রথমে উম্মতে মোহাম্মদীয়ার জন্য পঞ্চাশ অক্ত নামায ফরজ করে ছিলেন, কিন্তু নবী করীমের (সাঃ){{nb...}}}} * {{quote-book|bn|author=মোহাম্মদ হাবিবুল্লাহ্‌ | Mohammad Habibullah|title=পাক্ষিক আহ্‌মদী - নব পর্যায় ২১ বর্ষ | ১ম সংখ্যা | ১৫ই মে, ১৯৬৭ইং | The Fortnightly Ahmadi - New Vol: 21 Issue: 01 - Date: 15th May 1967|publisher=Ahmadiyya Muslim Jama'at Bangladesh |text=ভাইবাল জনমশাখির ১৯৫ পৃষ্ঠায় বলছেন, 'পাঞ্চ নমাজ পাঞ্চ অক্ত রোজে তরহিয়া পান্থান।' অর্থাৎ পঁাচ অক্ত নমাজ এবং ত্রিশ রোজা ফরজ।}} ==আরবি== *[[বখৎ]] ==হিন্দি== *[[বখত]]শ্য [[বিষয়শ্রেণী:বাংলা বিশেষ্য]] {{পূর্বনির্ধারিতবাছাই:অ, অক্ত (বিশেষ্য)}} p2urhvsdcdkvjxubbkj66uvm04g2syy অক্রমিক 0 6698 133086 123681 2022-08-27T09:51:48Z MdsShakil 6871 wikitext text/x-wiki == {{ভাষা|bn}} == ===উচ্চারণ=== * {{অডিও|bn|LL-Q9610 (ben)-Shakil Hosen (MdsShakil)-অক্রমিক.wav|অডিও}} ===বিশেষণ=== {{বিশেষণ|bn}} #বিশৃঙ্খল #ক্রমহীন #ধারাবাহিকতাহীন [[বিষয়শ্রেণী:বাংলা বিশেষণ]] {{পূর্বনির্ধারিতবাছাই:অ, অক্রমিক}} 23zmhxlpqnfrepo52s6qwbx8f4dnoby অক্রিয় 0 6699 133087 127622 2022-08-27T09:51:54Z MdsShakil 6871 wikitext text/x-wiki == {{ভাষা|bn}} == ===উচ্চারণ=== * {{অডিও|bn|LL-Q9610 (ben)-Shakil Hosen (MdsShakil)-অক্রিয়.wav|অডিও}} ===ব্যুৎপত্তি=== * [[সংস্কৃত]] জাত; * ন + ক্রিয়া ===বিশেষণ=== {{বিশেষণ|bn}} # [[কর্মহীন]]; # [[নিষ্ক্রিয়]]; # [[নিরুদ্যম]]; # ধর্মকর্মরহিত। ===বিশেষ্য=== {{বিশেষ্য|bn}} # ক্রিয়া বা কর্মের [[অতীত]] যিনি অর্থাৎ [[পরমাত্মা]]। === উদ্ধৃতি === * {{quote-book|bn|year=1993|author=Rebatapriẏa Baṛuẏā|title=Biśuddhimārge Bauddhatattva |text=কামভূমি , রূপভূমি এবং অরূপভূমি অনুসারে তিন প্রকার অক্রিয় চিত্ত । কামভূমির দুই প্রকার অক্রিয় চিত্তের মধ্যে অহেতুক অক্রিয় চিত্ত{{nb...}}}} * {{quote-book|bn|year=1980|author=Satyadāsa Maṃgala|title=Gītā mañjushā |text=ক্রিয়া যিনি সম্পাদন না করেন তিনিই অক্রিয় । ক্রিয়া বলতে শ্রোত এবং শাস্ত্রবিহিত সমস্ত কর্মকেই নির্দেশ করে । এর মধ্যে আবার শ্রৌত{{nb...}}}} * {{quote-book|bn|year=1964|author=Abani Bhushan Ghosh|title=Buddhite yāra byākhyā cale |text=মস্তিষ্ক অক্রিয় হয় , তবে সম্পূর্ণ অক্রিয় নাও হতে পারে । নিদ্রার গাঢ়তার তারতম্যে অক্রিয়তারও কম - বেশী হয় ।}} * {{quote-book|bn|year=1986|title=Śrīmadbhagabadgītā o Śrīman Madhusūdana Sarasvatīkr̥ta ṭīkā: anubāda, bistr̥ta tāt̲paryya, Bhābaprakāśa prabhr̥ti sahita |text=কারণ এস্থলে ' অক্রিয় ' এই কথাটীর দ্বারাই যখন সৰ্ব্বকৰ্ম্মসন্ন্যাসী এইরূপ অর্থ পাওয়া যায় তখন ' নিরগ্নি ' এই কথাটী নিরর্থক হইয়া{{nb...}}}} * {{quote-book|bn|year=1971|author=Śibadāsa Bhaṭṭācārya|title=Gītara bāstabasammata artha o byākhyā |text=আদি সৃষ্টির সক্রিয় ও অক্রিয় অবস্থা আছে । সক্রিয় অবস্থায় এক সৃষ্টি আর একটি সৃষ্টির উদ্ভব , এইভাবে চলিতে থাকে ।}} * {{quote-book|bn|year=1971|author=Birendranath Biswas|title=Rabīndraśabdakosha |text=খাণ্ডববনদাহ বাস্তবতার একান্ত অক্রিয় । অনু . passive . পর্বত বা নৈকট্য থেকে বহু দূরে গেছে — সেই সরােবর বিরাজ করে অক্রিয় অর্থাৎ দূরত্ব{{nb...}}}} * {{quote-book|bn|year=2000|title=Chittagong University journal of arts and humanities |text=17 ) ( ক ) নিয়ত মিথ্যাদৃষ্টি ( ভ্রান্ত ধারণা ) ( ১ ) অক্রিয় দৃষ্টি : সচরাচর অক্রিয় মানে ক্রিয়াহীন , বা যার কোন কার্যক্রম নেই{{nb...}}}} * {{quote-book|bn|year=1962|author=Hiranmay Banerjee|title=Rabīndra darśana |text=যেটি অক্রিয় সত্তা সেটি সক্রিয় সত্তার খানিকটা অনুকল , খানিকটা প্রতিকল । এই আংশিক ভাবে অনুকল সত্তাটিকে নিজের ব্যবহারে লাগিয়ে এই{{nb...}}}} * {{quote-book|bn|year=1963|author=Sailendra Biswas|title=Samsad English-Bengali Dictionary|page=884}} * {{quote-book|bn|date=2021-04-27|author=রিচার্ড ডকিন্স|title=দ্য সেলফিশ জিন|publisher=Boierhut Publications |text=কেন তারা এত অক্রিয় ? মাঝে মাঝে কেন তারা সরাসরি সবকিছুর নিয়ন্ত্রণ নেয় না ? এর উত্তরটা হচ্ছে তারা সেটা করতে পারেনা কারণ সময়ের{{nb...}}}} * {{quote-book|bn|year=1986|author=Swami Someśvarānanda|title=Dharma o ājakera jijñāsā |text=প্রথমত depressant— এগুলিতে মনকে কিছুটা অক্রিয় করে দেয় , যেমন codeine , heroin , methadone ইত্যাদি । দ্বিতীয়ত stimulant- এগুলি কাজে উৎসাহ এনে দেয় এবং{{nb...}}}} * {{quote-book|bn|year=1972|author=Swami Mahadevananda Giri|title=Svāmī Mahādebānanda racanābalī |text=স্মৃতিতে পূৰ্ত্তাদি কৰ্ম্ম ত্যাগীকে অক্রিয় বলে । জ্ঞান কৰ্ম্মের সমুচ্চয়বাদী কেহ কেহ বলেন নিরগ্নি ও অক্রিয় হইতে নাই ।}} * {{quote-book|bn|year=1992|author=Rañjitakumāra Mitra|title=Thiyeṭāre dr̥śyera bikāśa o samīkshā |text=কোন একটি অক্রিয় ' ( Neutral ) বর্ণ ই এই জাতীয় পর্দার জন্য বিশেষ উপযােগী । কালাে , নীল , নীল - সবুজ এবং ধূসর — এই চারটি বর্ণই মঞ্চে{{nb...}}}} * {{quote-book|bn|year=1963|author=Swami Bidyāraṇya|title=Bhāgabata-dharmera prācīna itihāsa |text=ইহাতে এই প্রকারে শঙ্কা করা যায়— যদি পরম পুরুষ স্বয়ং অক্রিয় হন , তবে তিনি কি প্রকারে ঈশ্বর হন ও জগৎ সৃষ্টি করেন ?}} * {{quote-book|bn|year=1972|author=Swami Mahadevananda Giri|title=Svāmī Mahādebānanda racanābalī |text=গাঢ় নিদ্রাকালে মনক্রিয়া প্রাণে লয় হইয়া থাকে , মন তখন অক্রিয় নিস্পন্দ । যখন স্পন্দন বা ক্রিয়া আরম্ভ হয় তখন মনের অব্যক্তভাব{{nb...}}}} * {{quote-book|bn|year=1972|author=Sourendra Mohan Sinha|author2=Kumar Bhattacharya|title=Gītā abhidhāna |text=... সেরূপ ক্রিয়াও যাহার অবিদ্যমান তিনি অক্রিয় ; এরূপ ক্রিয়ার উদাহরণ তপােদানাদি ; অতএব যাহার তপােদানাদি নাই তিনি অক্রিয় ( শ ){{nb...}}}} * {{quote-book|bn|year=1995|author=Śaṅkarācārya|title=Śaṅkarācāryyera granthamālā: Śrīmadyatīśvara-Śaṅkarācāryya praṇīta granthasamūhera samābeśa |text=অতএব তােমার বরপ অক্রিয় , ইহা সিদ্ধ হইল । তাই বলিয়াছেন , -সৰ্য্যালােকে মানবগণ যেমন ঘ ঘ কায্যে প্রবৃত্ত হয় , সেই প্রকার{{nb...}}}} {{পূর্বনির্ধারিতবাছাই:অ, অক্রিয়}} nbz6txffwwc5i29uqfxuhcq73szo4tv অক্রূর 0 6710 133089 123683 2022-08-27T09:52:40Z MdsShakil 6871 wikitext text/x-wiki == {{ভাষা|bn}} == ===উচ্চারণ=== * {{অডিও|bn|LL-Q9610 (ben)-Shakil Hosen (MdsShakil)-অক্রূর.wav|অডিও}} ===বিশেষণ=== {{বিশেষণ|bn}} #অকুটিল #[[সরল]] #ক্রূরতাহীন ===বিশেষ্য=== {{বিশেষ্য|bn}} #[[শ্রীকৃষ্ণ|শ্রীকৃষ্ণের]] [[পিতৃব্য]] ([[ইনি]] [[কিশোর]] শ্রীকৃষ্ণকে [[বৃন্দাবন]] [[থেকে]] [[মথুরা]]য় [[নিয়ে]] [[গিয়েছিলেন]]) ==সংস্কৃত== ন+ক্রূর [[বিষয়শ্রেণী:বাংলা বিশেষ্য]] [[বিষয়শ্রেণী:বাংলা বিশেষণ]] {{পূর্বনির্ধারিতবাছাই:অ, অক্রূর}} rwjd1b5r62ul5s432yngfmdjtrguwve অক্রেয় 0 6711 133090 123684 2022-08-27T09:52:42Z MdsShakil 6871 wikitext text/x-wiki == {{ভাষা|bn}} == ===উচ্চারণ=== * {{অডিও|bn|LL-Q9610 (ben)-Shakil Hosen (MdsShakil)-অক্রেয়.wav|অডিও}} ===বিশেষণ=== {{বিশেষণ|bn}} #[[ক্রয়]] করবার বা কেনার [[অসাধ্য]] বা [[অযোগ্য]]। #কেনা [[যায়]] না এমন। #[[দুর্মূল্য]], [[আক্রা]] ==সংস্কৃত== ন+ক্রেয় [[বিষয়শ্রেণী:বাংলা বিশেষণ]] {{পূর্বনির্ধারিতবাছাই:অ, অক্রেয়}} 2ffkeubrd9rsnjl9aomtxmxrkv85swj অকুমার 0 6879 133147 82317 2022-08-27T10:04:12Z MdsShakil 6871 /* উচ্চারণ */ wikitext text/x-wiki == {{ভাষা|bn}} == == {{ভাষা|bn}} == {{বিশেষ্য| # যথার্থ [[কুমার]] # পাঁচের অধিক বয়সের [[বালক]]}} ===অন্যান্য বানান=== ===ব্যুৎপত্তি=== [[সংস্কৃত]] বা [[তৎসম]] '''অ(নঞ্, সম্যক্ অর্থে)+কুমার; নতৎ''' থেকে ===উচ্চারণ=== অকুমার্‌ * {{অডিও|bn|LL-Q9610 (ben)-Shakil Hosen (MdsShakil)-অকুমার.wav|অডিও}} ==== ব্যবহার টীকা ==== ==== সমার্থক শব্দ ==== ==== বিপরীতার্থক শব্দ ==== * [[অকুমারী]] ==== উদ্ভূত হয়েছে ==== ==== সম্পর্কিত শব্দ ==== ==== আরও দেখুন ==== ==== তথ্যসূত্র ==== * {{Cite book|editor=মুহম্মদ এনামুল হক |title=বাংলা একাডেমী ব্যবহারিক বাংলা অভিধান |url= |chapter=অ |publisher=[[বাংলা একাডেমী]] |date=জুন ২০১১ |location=[[ঢাকা]], [[বাংলাদেশ]] |isbn=984-07-4939-0 |page=৪ |quote=}} ==== বহিঃসংযোগ ==== {{DEFAULTSORT:অকুমার}} [[বিষয়শ্রেণী:বাংলা বিশেষ্য]] 3m09jtovze5oh69fidmb462z5lon24s অপর্ণা 0 6910 133132 124146 2022-08-27T09:54:35Z MdsShakil 6871 অডিও যোগ wikitext text/x-wiki == {{ভাষা|bn}} == ===উচ্চারণ=== * {{অডিও|bn|LL-Q9610 (ben)-Shakil Hosen (MdsShakil)-অপর্ণা.wav|অডিও}} ===বিশেষ্য=== {{বিশেষ্য|bn}} #যিনি তপস্যাকালে পর্ণ অর্থাৎ গাছের পাতাও খাননি; দুর্গা; পার্বতী == তথ্যসূত্র == * আহমদ শরীফ সম্পাদিত ''বাংলা একাডেমী সংক্ষিপ্ত অভিধান'' [[বিষয়শ্রেণী:বাংলা বিশেষ্য]] {{পূর্বনির্ধারিতবাছাই:অ, অপর্ণা}} rjj98xtb3w8f8rlf3y7cb2hc49idhda অপুত্রক 0 6911 133133 124161 2022-08-27T09:54:37Z MdsShakil 6871 অডিও যোগ wikitext text/x-wiki == {{ভাষা|bn}} == ===উচ্চারণ=== * {{অডিও|bn|LL-Q9610 (ben)-Shakil Hosen (MdsShakil)-অপুত্রক.wav|অডিও}} ===বিশেষণ=== {{বিশেষণ|bn}} #পুত্রহীন; নিঃসন্তান ==সংস্কৃত== ন+পুত্র+(সমাসান্ত) ক == তথ্যসূত্র == * আহমদ শরীফ সম্পাদিত ''বাংলা একাডেমী সংক্ষিপ্ত অভিধান'' [[বিষয়শ্রেণী:বাংলা বিশেষণ]] {{পূর্বনির্ধারিতবাছাই:অ, অপুত্রক}} olwrqvnx4vldvyr3fq4eekjljzpcf0y অগ্র 0 7063 133104 123724 2022-08-27T09:53:45Z MdsShakil 6871 wikitext text/x-wiki == {{ভাষা|bn}} == ===উচ্চারণ=== * {{অডিও|bn|LL-Q9610 (ben)-Shakil Hosen (MdsShakil)-অগ্র.wav|অডিও}} ==বিশেষণ== ===বিশেষণ=== {{বিশেষণ|bn}} #প্রথম, প্রধান == {{ভাষা|en}} == first, primary ==জার্মান== erste(n) ==তথ্যসূত্র== ↑ রাজশেখর বসু (২০১২) স্ংকলিত ও সম্পাদিত; আধুনিক বঙ্গভাষার অভিধান , ১৩শ সংস্করণ, পৃ.৪৩, এম সি সরকার, কলকাতা থেকে প্রকাশিত। [[বিষয়শ্রেণী:বাংলা বিশেষণ]] {{পূর্বনির্ধারিতবাছাই:অ, অগ্র}} grnni5ep2clm7y0pzkggptqcz1bsocc টেমপ্লেট:বিশেষ্য-বাংলা 10 7368 133148 114399 2022-08-27T10:05:08Z MdsShakil 6871 /* উচ্চারণ */ wikitext text/x-wiki {{-bn-}} ===উচ্চারণ=== * {{অডিও|bn|LL-Q9610 (ben)-Shakil Hosen (MdsShakil)-বিশেষ্য-বাংলা.wav|অডিও}} ==={{ব্যুৎপত্তি}}=== #{{{1|}}} ==={{অর্থ}}=== {{বিশেষ্য-বিষয়শ্রেণী|bn}} #{{{2|}}} ==={{সমার্থক শব্দ}}=== #{{{3|}}} ==={{উদ্ভূত}}=== #{{{4|}}} ==={{অনুবাদসমূহ}}=== {{অনুবাদ-শীর্ষ}} * {{en}}: {{অনুবাদ-নীচ}} {{উৎস-ভাষা|bn}} 52jqjh5ln27mzo00u8abr5dbwkf8i37 133149 133148 2022-08-27T10:05:45Z MdsShakil 6871 [[Special:Contributions/MdsShakil|MdsShakil]] ([[User talk:MdsShakil|আলাপ]])-এর সম্পাদিত সংস্করণ হতে [[User:Aishik Rehman|Aishik Rehman]]-এর সম্পাদিত সর্বশেষ সংস্করণে ফেরত যাওয়া হয়েছে wikitext text/x-wiki {{-bn-}} ===উচ্চারণ=== {{অডিও-দেশ-ভাষা|bn}} ==={{ব্যুৎপত্তি}}=== #{{{1|}}} ==={{অর্থ}}=== {{বিশেষ্য-বিষয়শ্রেণী|bn}} #{{{2|}}} ==={{সমার্থক শব্দ}}=== #{{{3|}}} ==={{উদ্ভূত}}=== #{{{4|}}} ==={{অনুবাদসমূহ}}=== {{অনুবাদ-শীর্ষ}} * {{en}}: {{অনুবাদ-নীচ}} {{উৎস-ভাষা|bn}} br7tssu1d4wwcdf1w2kdiasfnedduam অইল 0 7384 133045 82216 2022-08-27T09:49:11Z MdsShakil 6871 wikitext text/x-wiki == {{ভাষা|bn}} == ===উচ্চারণ=== {{অডিও|bn|LL-Q9610 (ben)-Shakil Hosen (MdsShakil)-অইল.wav}} ==={{ভাষা|bn}}=== {{audio-IND-BAN-language|bn}} ==={{অর্থ}}=== {{বিশেষ্য-বিষয়শ্রেণী|bn}} # অম্লকূচির গাছ -ইহার কষ লাগাইয়া চামড়া নরম, পরিষ্কার ও রং করা হয় # [সংস্কৃত ব̣লীক, "ব̣লীক নীধ্রে পটল-প্রান্তে,"-অমর◦], চালের ছাঁইচ। ত̆লা, যেমন, ছাঁচ-তলা; ওল-তলা। # [শ্রীহট্ট, পূর্ব বঙ্গ] ক্রিয়া, [[হইল]] {{উৎস-ভাষা|bn}} nkfhh5pkf84d73pwgdiv5t967ajiwx5 অওঘর্ষণ 0 7385 133046 82221 2022-08-27T09:49:12Z MdsShakil 6871 wikitext text/x-wiki == {{ভাষা|bn}} == ===উচ্চারণ=== {{অডিও|bn|LL-Q9610 (ben)-Shakil Hosen (MdsShakil)-অওঘর্ষণ.wav}} ==={{অর্থ}}=== {{বিশেষ্য-বিষয়শ্রেণী|bn}} # সঙ্গীতের স্বরের [[ঐক্য]] ==={{অনুবাদসমূহ}}=== {{অনুবাদ-শীর্ষ}} * {{en}}: harmony {{অনুবাদ-নীচ}} {{উৎস-ভাষা|bn}} ma8vhjyszqned4ou4xxdkvzz8f617ra অওরো 0 7386 133047 82222 2022-08-27T09:49:14Z MdsShakil 6871 wikitext text/x-wiki == {{ভাষা|bn}} == ===উচ্চারণ=== {{অডিও|bn|LL-Q9610 (ben)-Shakil Hosen (MdsShakil)-অওরো.wav}} ==={{ভাষা|bn}}=== {{audio-IND-BAN-language|bn}} ==={{অর্থ}}=== {{বিশেষ্য-বিষয়শ্রেণী|bn}} #অবতরণ # [[অষ্টমস্বর]] হইতে ক্রমশঃ নিম্ন নিম্ন স্বরে অবতরণ। ==={{অনুবাদসমূহ}}=== {{অনুবাদ-শীর্ষ}} * {{en}}: {{অনুবাদ-নীচ}} {{উৎস-ভাষা|bn}} i2em6kl8s48k97qfevhjc5truj6bei4 অংশান্তর 0 7396 133134 82176 2022-08-27T09:54:41Z MdsShakil 6871 অডিও যোগ wikitext text/x-wiki == {{ভাষা|bn}} == ===উচ্চারণ=== * {{অডিও|bn|LL-Q9610 (ben)-Shakil Hosen (MdsShakil)-অংশান্তর.wav|অডিও}} ==={{ভাষা|bn}}=== {{audio-IND-BAN-language|bn}} ===ব্যুৎপত্তি=== [[অংশ]] + [[অন্তর]] ==={{অর্থ}}=== {{বিশেষ্য-বিষয়শ্রেণী|bn}} # অন্য অংশ; পৃথক্; ভাগ # অংশদ্বয়ের ব্যবধান {{উৎস-ভাষা|bn}} 4qdllxnb00bdjqvcsdv838ftwk42s2m অংশাংশ 0 7397 133136 82170 2022-08-27T09:54:43Z MdsShakil 6871 অডিও যোগ wikitext text/x-wiki == {{ভাষা|bn}} == ===উচ্চারণ=== * {{অডিও|bn|LL-Q9610 (ben)-Shakil Hosen (MdsShakil)-অংশাংশ.wav|অডিও}} ==={{ভাষা|bn}}=== {{audio-IND-BAN-language|bn}} ===ব্যুৎপত্তি=== [অংশ + [[অংশ]] (অংশের অংশ)] ==={{অর্থ}}=== {{বিশেষ্য-বিষয়শ্রেণী|bn}} # বিভাগের ভাগ; কলা। (যেমন- "অংশের অংশ যেই কলা তার নাম।"-চৈতন্যচরিতামৃত।) # [অংশ ও অংশ-দ্বন্দ্ব◦] ভিন্ন ভিন্ন ভাগ, পরস্পর ভাগ। # যার যে ন্যায্য অংশ। {{উৎস-ভাষা|bn}} bq6zdf8nfxb6vxqga0ety0glhx3aqfv অংশুপট্ট 0 7408 133138 82187 2022-08-27T09:54:52Z MdsShakil 6871 অডিও যোগ wikitext text/x-wiki == {{ভাষা|bn}} == ===উচ্চারণ=== * {{অডিও|bn|LL-Q9610 (ben)-Shakil Hosen (MdsShakil)-অংশুপট্ট.wav|অডিও}} ===ব্যুৎপত্তি=== [অংশু (সূক্ষ্মসূত্র নির্ম্মিত) পট্ট (রেশমী বস্ত্র)] ==={{অর্থ}}=== {{বিশেষ্য-বিষয়শ্রেণী|bn}} #পট্ট [[বস্ত্র]]; ক্ষৌমবাস; [[গরদ]], তসর, মটকা, রেশমী অর্থাৎ কৃমিকোষজাত সূক্ষ্ম সূত্রনির্ম্মিত বস্ত্র। # # যেমন ''পীতবর্ণ অংশুপট্টে শোভে বনমালী।" # সূর্য্য;। ==={{অনুবাদসমূহ}}=== {{অনুবাদ-শীর্ষ}} * {{en}}: {{অনুবাদ-নীচ}} {{উৎস-ভাষা|bn}} b1b47cughe7l32q2g9huwn17yf95hzk অংহ্রিপ 0 7433 133139 82211 2022-08-27T09:55:04Z MdsShakil 6871 অডিও যোগ wikitext text/x-wiki == {{ভাষা|bn}} == ===উচ্চারণ=== * {{অডিও|bn|LL-Q9610 (ben)-Shakil Hosen (MdsShakil)-অংহ্রিপ.wav|অডিও}} ==={{অর্থ}}=== {{বিশেষ্য-বিষয়শ্রেণী|bn}} # [[অঙ্ঘ্রিপ]] # [[অটবী]] # [[উদ্ভিদ]] ==={{অনুবাদসমূহ}}=== {{অনুবাদ-শীর্ষ}} * {{en}}: {{অনুবাদ-নীচ}} {{উৎস-ভাষা|bn}} ''বাঁকা লেখা'' a3jg4ph96oucl3nabamutasyrpb8atp অকটকিনা 0 7437 133048 82225 2022-08-27T09:49:15Z MdsShakil 6871 wikitext text/x-wiki == {{ভাষা|bn}} == ===উচ্চারণ=== {{অডিও|bn|LL-Q9610 (ben)-Shakil Hosen (MdsShakil)-অকটকিনা.wav}} ==={{অর্থ}}=== {{বিশেষ্য-বিষয়শ্রেণী|bn}} #কঠোর বা কড়াকড়ি নিয়মের অভাব। বাঁধাবাঁধি নিয়ম বা ধরাকাট না থাকার ভাব # [[অকঠোরতা]]; [[অপ্রতিবন্ধ]] # '''বিশেষণ'''- অকঠোর; অকঠিন; অকর্কশ। ==={{অনুবাদসমূহ}}=== {{অনুবাদ-শীর্ষ}} * {{en}}: {{অনুবাদ-নীচ}} {{উৎস-ভাষা|bn}} 83khzpfxjgo5kdjyw5uh3yrszg39tka অকাপট্য 0 7446 133145 82276 2022-08-27T10:02:13Z MdsShakil 6871 /* উচ্চারণ */ wikitext text/x-wiki == {{ভাষা|bn}} == ===উচ্চারণ=== * {{অডিও|bn|LL-Q9610 (ben)-Shakil Hosen (MdsShakil)-অকাপট্য.wav|অডিও}} '''ব্যুৎপত্তি''' [ন +কাপট্য] ==={{অর্থ}}=== {{বিশেষ্য-বিষয়শ্রেণী|bn}} # [[অকপটতা]] # [[সারল্য]] # [[ঔদার্য্য]] {{উৎস-ভাষা|bn}} 0qtr3n0721vlc1fa4pi7s8ie913q6en 133146 133145 2022-08-27T10:04:05Z Aishik Rehman 5592 wikitext text/x-wiki == {{ভাষা|bn}} == ===উচ্চারণ=== * {{অডিও|bn|LL-Q9610 (ben)-Shakil Hosen (MdsShakil)-অকাপট্য.wav|অডিও}} ===ব্যুৎপত্তি=== [ন +কাপট্য] ==={{অর্থ}}=== {{বিশেষ্য-বিষয়শ্রেণী|bn}} # [[অকপটতা]] # [[সারল্য]] # [[ঔদার্য্য]] {{উৎস-ভাষা|bn}} 6ah95ytjvgjrkc7icru82nepxjjj3pf অক্রিয়কর্মা 0 7470 133088 115970 2022-08-27T09:52:02Z MdsShakil 6871 wikitext text/x-wiki == {{ভাষা|bn}} == ===উচ্চারণ=== * {{অডিও|bn|LL-Q9610 (ben)-Shakil Hosen (MdsShakil)-অক্রিয়কর্মা.wav|অডিও}} {{audio-IND-BAN-language|bn}} ==={{অর্থ}}=== {{adjective-category|bn}} #[[কুকর্মকারী]] {{উৎস-ভাষা|bn}} 7h304p258syubzgj9rw03so8a09xw6w অকড়িয়া 0 7471 133049 115957 2022-08-27T09:49:18Z MdsShakil 6871 wikitext text/x-wiki == {{ভাষা|bn}} == ===উচ্চারণ=== {{অডিও|bn|LL-Q9610 (ben)-Shakil Hosen (MdsShakil)-অকড়িয়া.wav}} {{audio-IND-BAN-language|bn}} ===ব্যুৎপত্তি=== (গ্রাম্য) ন + কড়িয়া (কড়ি- যুক্ত)] ==={{অর্থ}}=== {{adjective-category|bn}} # যার কড়ি নাই # ধনহীন; [[দরিদ্র]]। # কড়ি দিয়া ক্রীত নহে; [[মূল্যহীন]] {{উৎস-ভাষা|bn}} hnqq9vc7ugmiy9ldodgt83vc0yd7sne অকণ্ঠস্থ 0 7472 133050 82229 2022-08-27T09:49:19Z MdsShakil 6871 wikitext text/x-wiki == {{ভাষা|bn}} == ===উচ্চারণ=== {{অডিও|bn|LL-Q9610 (ben)-Shakil Hosen (MdsShakil)-অকণ্ঠস্থ.wav}} ==={{ভাষা|bn}}=== {{audio-IND-BAN-language|bn}} ==={{অর্থ}}=== {{adjective-category|bn}} # '''ব্যুৎপত্তি''' [ন + কণ্ঠ + স্হা + অ (র্ত্তৃ)] # প্রকৃতপক্ষে যা কণ্ঠে ধারণ করা বা যা [[কণ্ঠাগত]] হয় নাই। # [[মুখস্থ]] করা নয়; [[অনভ্যস্ত]]। ==={{অনুবাদসমূহ}}=== {{অনুবাদ-শীর্ষ}} * {{en}}: {{অনুবাদ-নীচ}} {{উৎস-ভাষা|bn}} k771koxmbquc30jibpkjykirjkoi3nj অকালপক্ব 0 8689 133063 82295 2022-08-27T09:50:49Z MdsShakil 6871 wikitext text/x-wiki == {{ভাষা|bn}} == ===উচ্চারণ=== * {{অডিও|bn|LL-Q9610 (ben)-Shakil Hosen (MdsShakil)-অকালপক্ব.wav|অডিও}} ===বিশেষণ=== {{বিশেষণ|bn}} # [[ইঁচড়ে]] [[পাকা]] emcqd5ycaqsuafhhy3s0u08t05655t3 অংশিন 0 9237 133137 82178 2022-08-27T09:54:45Z MdsShakil 6871 অডিও যোগ wikitext text/x-wiki == {{ভাষা|bn}} == ===উচ্চারণ=== * {{অডিও|bn|LL-Q9610 (ben)-Shakil Hosen (MdsShakil)-অংশিন.wav|অডিও}} ===বিশেষণ=== {{বিশেষণ|bn}} # ভাগের [[অধিকারী]] [[বিষয়শ্রেণী:বাংলা বিশেষণ]] jketbfg9v278dur69mi1agjqroohkgi অকল্প 0 9238 133055 123659 2022-08-27T09:49:44Z MdsShakil 6871 wikitext text/x-wiki == {{ভাষা|bn}} == ===উচ্চারণ=== {{অডিও|bn|LL-Q9610 (ben)-Shakil Hosen (MdsShakil)-অকল্প.wav}} ===বিশেষণ=== {{বিশেষণ|bn}} # নিশ্চল # কম্পনশূন্য # [[স্থির]] # [[অবিচলিত]] ==={{অনুবাদসমূহ}}=== {{অনুবাদ-শীর্ষ}} * {{en}}: anecdotal {{অনুবাদ-নীচ}} [[বিষয়শ্রেণী:বাংলা বিশেষণ]] {{পূর্বনির্ধারিতবাছাই:অ, অকল্প}} l3kmhub109m85em1po6v6c906eyvb6k অকমর্ণ্য 0 9239 133051 123643 2022-08-27T09:49:23Z MdsShakil 6871 wikitext text/x-wiki == {{ভাষা|bn}} == ===উচ্চারণ=== {{অডিও|bn|LL-Q9610 (ben)-Shakil Hosen (MdsShakil)-অকমর্ণ্য.wav}} ===বিশেষণ=== {{বিশেষণ|bn}} # কাজের অযোগ্য # [[অকেজো]] [[বিষয়শ্রেণী:বাংলা বিশেষণ]] {{পূর্বনির্ধারিতবাছাই:অ, অকমর্ণ্য}} 7k9ah9hq7ecn6bga0p5bxnhigljomqz অকলঙ্কী 0 9240 133053 123658 2022-08-27T09:49:39Z MdsShakil 6871 wikitext text/x-wiki == {{ভাষা|bn}} == ===উচ্চারণ=== {{অডিও|bn|LL-Q9610 (ben)-Shakil Hosen (MdsShakil)-অকলঙ্কী.wav}} ===বিশেষণ=== {{বিশেষণ|bn}} # নিষ্কলঙ্ক # [[নির্দোষ]] [[বিষয়শ্রেণী:বাংলা বিশেষণ]] {{পূর্বনির্ধারিতবাছাই:অ, অকলঙ্কী}} h8k9k1yyh7g5pa08haubhdpmav14rmy অকাট 0 9241 133056 82272 2022-08-27T09:49:51Z MdsShakil 6871 wikitext text/x-wiki == {{ভাষা|bn}} == ===উচ্চারণ=== {{অডিও|bn|LL-Q9610 (ben)-Shakil Hosen (MdsShakil)-অকাট.wav}} ===বিশেষণ=== {{বিশেষণ|bn}} # [[নিরেট]] # [[মহামূর্খ]] # হাঁদা। ==={{অনুবাদসমূহ}}=== {{অনুবাদ-শীর্ষ}} * {{en}}: cogency {{অনুবাদ-নীচ}} [[বিষয়শ্রেণী:বাংলা বিশেষণ]] 27g81htp96ft1sykz4ztqlrb34d6sv0 অকিল্মিষ 0 9248 133065 123668 2022-08-27T09:50:51Z MdsShakil 6871 wikitext text/x-wiki == {{ভাষা|bn}} == ===উচ্চারণ=== * {{অডিও|bn|LL-Q9610 (ben)-Shakil Hosen (MdsShakil)-অকিল্মিষ.wav|অডিও}} ===বিশেষণ=== {{বিশেষণ|bn}} # পাপশূন্য # দোষহীন। [[বিষয়শ্রেণী:বাংলা বিশেষণ]] {{পূর্বনির্ধারিতবাছাই:অ, অকিল্মিষ}} 819meb3zfjs92ncz4mh7jxs5524ggbk অকীর্তিকর 0 9249 133068 123670 2022-08-27T09:50:57Z MdsShakil 6871 wikitext text/x-wiki == {{ভাষা|bn}} == ===উচ্চারণ=== * {{অডিও|bn|LL-Q9610 (ben)-Shakil Hosen (MdsShakil)-অকীর্তিকর.wav|অডিও}} ===বিশেষণ=== {{বিশেষণ|bn}} # অখ্যাতিজনক। [[বিষয়শ্রেণী:বাংলা বিশেষণ]] {{পূর্বনির্ধারিতবাছাই:অ, অকীর্তিকর}} 1k8ib5wu011hf41t1k4bq3aw2ar5uf3 অকৃতোদ্বাহ 0 9254 133079 82342 2022-08-27T09:51:27Z MdsShakil 6871 wikitext text/x-wiki == {{ভাষা|bn}} == ===উচ্চারণ=== * {{অডিও|bn|LL-Q9610 (ben)-Shakil Hosen (MdsShakil)-অকৃতোদ্বাহ.wav|অডিও}} ===বিশেষণ=== {{বিশেষণ|bn}} # অবিবাহিত ''ন কৃত উদ্বাহ'' # । [[বিষয়শ্রেণী:বাংলা বিশেষণ]] lxu5amxshp8v9kk1ntwe2twq1kkss4w অকৃপ 0 9255 133081 82346 2022-08-27T09:51:33Z MdsShakil 6871 wikitext text/x-wiki == {{ভাষা|bn}} == ===উচ্চারণ=== * {{অডিও|bn|LL-Q9610 (ben)-Shakil Hosen (MdsShakil)-অকৃপ.wav|অডিও}} ===বিশেষণ=== {{বিশেষণ|bn}} # দয়াহীন # নিষ্ঠুর। ==={{অনুবাদসমূহ}}=== {{অনুবাদ-শীর্ষ}} * {{en}}: bountiful {{অনুবাদ-নীচ}} [[বিষয়শ্রেণী:বাংলা বিশেষণ]] iuj82zpmmf0kbxywvfxzjm9afmh6663 অক্লান্ত 0 9259 133091 123686 2022-08-27T09:53:00Z MdsShakil 6871 wikitext text/x-wiki == {{ভাষা|bn}} == ===উচ্চারণ=== * {{অডিও|bn|LL-Q9610 (ben)-Shakil Hosen (MdsShakil)-অক্লান্ত.wav|অডিও}} ===বিশেষণ=== {{বিশেষণ|bn}} # ক্লান্তিহীন। ==={{অনুবাদসমূহ}}=== {{অনুবাদ-শীর্ষ}} * {{en}}: persisting {{অনুবাদ-নীচ}} [[বিষয়শ্রেণী:বাংলা বিশেষণ]] {{পূর্বনির্ধারিতবাছাই:অ, অক্লান্ত}} izaq3e5lgo7yusva73lzfs0zwtii029 অক্ষম 0 9274 133092 123696 2022-08-27T09:53:12Z MdsShakil 6871 wikitext text/x-wiki == {{ভাষা|bn}} == ===উচ্চারণ=== * {{অডিও|bn|LL-Q9610 (ben)-Shakil Hosen (MdsShakil)-অক্ষম.wav|অডিও}} ===বিশেষণ=== {{বিশেষণ|bn}} # ক্ষমতা নাই যাহার #[[দুর্বল]] # [[অসমর্থ]] ''বিশেষ্য পদ'' # অক্ষমতা। ==={{অনুবাদসমূহ}}=== {{অনুবাদ-শীর্ষ}} * {{en}}: disablement {{অনুবাদ-নীচ}} [[বিষয়শ্রেণী:বাংলা বিশেষ্য]] [[বিষয়শ্রেণী:বাংলা বিশেষণ]] {{পূর্বনির্ধারিতবাছাই:অ, অক্ষম}} 5rst45sym882jqifsb5tipbrc8xtpf4 অক্ষীয় 0 9290 133093 123701 2022-08-27T09:53:17Z MdsShakil 6871 wikitext text/x-wiki == {{ভাষা|bn}} == ===উচ্চারণ=== * {{অডিও|bn|LL-Q9610 (ben)-Shakil Hosen (MdsShakil)-অক্ষীয়.wav|অডিও}} ===বিশেষণ=== {{বিশেষণ|bn}} # অক্ষ সম্বন্ধীয় # কৌণিক। ==={{অনুবাদসমূহ}}=== {{অনুবাদ-শীর্ষ}} * {{en}}: axial {{অনুবাদ-নীচ}} [[বিষয়শ্রেণী:বাংলা বিশেষণ]] {{পূর্বনির্ধারিতবাছাই:অ, অক্ষীয়}} m0f2eepirozr1dvo1jyabwm22c6x2ym অক্ষুণ্ন 0 9291 133094 123702 2022-08-27T09:53:18Z MdsShakil 6871 wikitext text/x-wiki == {{ভাষা|bn}} == ===উচ্চারণ=== * {{অডিও|bn|LL-Q9610 (ben)-Shakil Hosen (MdsShakil)-অক্ষুণ্ন.wav|অডিও}} ===বিশেষণ=== {{বিশেষণ|bn}} # মনস্তাপশন্য # অব্যাহত # অবিকৃত # অখন্ড। [[বিষয়শ্রেণী:বাংলা বিশেষণ]] {{পূর্বনির্ধারিতবাছাই:অ, অক্ষুণ্ন}} 6t90ufgx0hjpglsawdvwdniotnj0orh অক্ষোভ 0 9292 133095 123703 2022-08-27T09:53:19Z MdsShakil 6871 wikitext text/x-wiki == {{ভাষা|bn}} == ===উচ্চারণ=== * {{অডিও|bn|LL-Q9610 (ben)-Shakil Hosen (MdsShakil)-অক্ষোভ.wav|অডিও}} ===বিশেষণ=== {{বিশেষণ|bn}} # দুঃখবিহীন। [[বিষয়শ্রেণী:বাংলা বিশেষণ]] {{পূর্বনির্ধারিতবাছাই:অ, অক্ষোভ}} m8395a0z1ma8pnylpanubuyn8iphqij অখণ্ডনীয় 0 9296 133096 131853 2022-08-27T09:53:20Z MdsShakil 6871 wikitext text/x-wiki == {{ভাষা|bn}} == ===উচ্চারণ=== * {{অডিও|bn|LL-Q9610 (ben)-Shakil Hosen (MdsShakil)-অখণ্ডনীয়.wav|অডিও}} ===বিশেষণ=== {{বিশেষণ|bn}} # অকাট্য; খণ্ডন করা যায় না এমন। [[বিষয়শ্রেণী:বাংলা বিশেষণ]] [[বিষয়শ্রেণী:অনির্ণেয়-অক্ষর বিশিষ্ট বাংলা শব্দ]] {{পূর্বনির্ধারিতবাছাই:অ, অখণ্ডনীয়}} 48jqlw6o8h4iwwctz6rcoyi23vob1ll অখল 0 9299 133097 82419 2022-08-27T09:53:21Z MdsShakil 6871 wikitext text/x-wiki == {{ভাষা|bn}} == ===উচ্চারণ=== * {{অডিও|bn|LL-Q9610 (ben)-Shakil Hosen (MdsShakil)-অখল.wav|অডিও}} ===বিশেষণ=== {{বিশেষণ|bn}} # অবিভক্ত # অক্ষত # পরিপূর্ণ ''বিশেষ্য পদ'' # অখন্ডতা। ==={{অনুবাদসমূহ}}=== {{অনুবাদ-শীর্ষ}} * {{en}}: integral {{অনুবাদ-নীচ}} [[বিষয়শ্রেণী:বাংলা বিশেষ্য]] [[বিষয়শ্রেণী:বাংলা বিশেষণ]] {{পূর্বনির্ধারিতবাছাই:অ, অখন্ড}} bugf5vdo77g70frceiv1jhjuwufudhd অখাত 0 9300 133098 82420 2022-08-27T09:53:22Z MdsShakil 6871 wikitext text/x-wiki == {{ভাষা|bn}} == ===উচ্চারণ=== * {{অডিও|bn|LL-Q9610 (ben)-Shakil Hosen (MdsShakil)-অখাত.wav|অডিও}} ===বিশেষণ=== {{বিশেষণ|bn}} # খনন করা হয় নাই এমন স্বাভাবিক ভাবে সৃষ্ট (জলাশয় # হ্রদ)। ==={{অনুবাদসমূহ}}=== {{অনুবাদ-শীর্ষ}} * {{en}}: undug {{অনুবাদ-নীচ}} [[বিষয়শ্রেণী:বাংলা বিশেষণ]] 0748tj5eahyham8hb3ni65pd7nvbdwd অখুশী 0 9304 133099 82424 2022-08-27T09:53:38Z MdsShakil 6871 wikitext text/x-wiki == {{ভাষা|bn}} == ===উচ্চারণ=== * {{অডিও|bn|LL-Q9610 (ben)-Shakil Hosen (MdsShakil)-অখুশী.wav|অডিও}} ===বিশেষণ=== {{বিশেষণ|bn}} # অসন্তুষ্ট। [[বিষয়শ্রেণী:বাংলা বিশেষণ]] cgwig27tpne83a0d27qvfwq54tpy79l অখ্যাত 0 9305 133100 123710 2022-08-27T09:53:39Z MdsShakil 6871 wikitext text/x-wiki == {{ভাষা|bn}} == ===উচ্চারণ=== * {{অডিও|bn|LL-Q9610 (ben)-Shakil Hosen (MdsShakil)-অখ্যাত.wav|অডিও}} ===বিশেষণ=== {{বিশেষণ|bn}} # অপ্রসিদ্ধ # নিন্দিত # নগণ্য। ==={{অনুবাদসমূহ}}=== {{অনুবাদ-শীর্ষ}} * {{en}}: discredit {{অনুবাদ-নীচ}} [[বিষয়শ্রেণী:বাংলা বিশেষণ]] {{পূর্বনির্ধারিতবাছাই:অ, অখ্যাত}} q1qrgnjb3dfkh9tf0hf70mmuzlmsu20 অগ 0 9307 133101 82427 2022-08-27T09:53:41Z MdsShakil 6871 wikitext text/x-wiki == {{ভাষা|bn}} == ===উচ্চারণ=== * {{অডিও|bn|LL-Q9610 (ben)-Shakil Hosen (MdsShakil)-অগ.wav|অডিও}} ===বিশেষণ=== {{বিশেষণ|bn}} # গতিশূন্য # নিশ্চল ''বিশেষ্য পদ'' # পর্বত। ==={{অনুবাদসমূহ}}=== {{অনুবাদ-শীর্ষ}} * {{en}}: advancement {{অনুবাদ-নীচ}} [[বিষয়শ্রেণী:বাংলা বিশেষ্য]] [[বিষয়শ্রেণী:বাংলা বিশেষণ]] qn7yvlo3bbq2uui9lfxi0hca6gh2ovb অগন্তব্য 0 9317 133102 123712 2022-08-27T09:53:42Z MdsShakil 6871 wikitext text/x-wiki == {{ভাষা|bn}} == ===উচ্চারণ=== * {{অডিও|bn|LL-Q9610 (ben)-Shakil Hosen (MdsShakil)-অগন্তব্য.wav|অডিও}} ===বিশেষণ=== {{বিশেষণ|bn}} # গমনের অযোগ্য; যেখানে যাওয়া উচিত নহে এমন। [[বিষয়শ্রেণী:বাংলা বিশেষণ]] {{পূর্বনির্ধারিতবাছাই:অ, অগন্তব্য}} hba0beigo5cadgc0l951enpovsayh7i অগম্য 0 9320 133103 123713 2022-08-27T09:53:43Z MdsShakil 6871 wikitext text/x-wiki == {{ভাষা|bn}} == ===উচ্চারণ=== * {{অডিও|bn|LL-Q9610 (ben)-Shakil Hosen (MdsShakil)-অগম্য.wav|অডিও}} ===বিশেষণ=== {{বিশেষণ|bn}} # দুর্গম # অগন্তব্য # দুর্বোধ (স্ত্রীলিঙ্গ) অগম্যা- যৌনমিলনের পক্ষে অবৈধ। ==={{অনুবাদসমূহ}}=== {{অনুবাদ-শীর্ষ}} * {{en}}: impregnability {{অনুবাদ-নীচ}} [[বিষয়শ্রেণী:বাংলা বিশেষণ]] {{পূর্বনির্ধারিতবাছাই:অ, অগম্য}} hqp4qmzxrbvotcw3j8aqtpmi227wpo2 অগ্রহনীয় 0 9385 133105 123727 2022-08-27T09:53:48Z MdsShakil 6871 wikitext text/x-wiki == {{ভাষা|bn}} == ===উচ্চারণ=== * {{অডিও|bn|LL-Q9610 (ben)-Shakil Hosen (MdsShakil)-অগ্রহনীয়.wav|অডিও}} ===বিশেষণ=== {{বিশেষণ|bn}} # গ্রহনের অযোগ্য। [[বিষয়শ্রেণী:বাংলা বিশেষণ]] {{পূর্বনির্ধারিতবাছাই:অ, অগ্রহনীয়}} nbcs25mzoddobqq2b026w7oifmu15u5 অগ্রাহ্য 0 9387 133106 123729 2022-08-27T09:53:49Z MdsShakil 6871 wikitext text/x-wiki == {{ভাষা|bn}} == ===উচ্চারণ=== * {{অডিও|bn|LL-Q9610 (ben)-Shakil Hosen (MdsShakil)-অগ্রাহ্য.wav|অডিও}} ===বিশেষণ=== {{বিশেষণ|bn}} # গ্রহনের অযোগ্য # বাতিল # অবজ্ঞেয়। ==={{অনুবাদসমূহ}}=== {{অনুবাদ-শীর্ষ}} * {{en}}: disaccord {{অনুবাদ-নীচ}} [[বিষয়শ্রেণী:বাংলা বিশেষণ]] {{পূর্বনির্ধারিতবাছাই:অ, অগ্রাহ্য}} hygsww1x12tw50vgfbfengx6v4fnvdr অগ্রিম 0 9388 133107 123730 2022-08-27T09:53:51Z MdsShakil 6871 wikitext text/x-wiki == {{ভাষা|bn}} == ===উচ্চারণ=== * {{অডিও|bn|LL-Q9610 (ben)-Shakil Hosen (MdsShakil)-অগ্রিম.wav|অডিও}} ===বিশেষণ=== {{বিশেষণ|bn}} # প্রথম # জেষ্ঠ্য # আগাম # অগ্রে দেয়। ==={{অনুবাদসমূহ}}=== {{অনুবাদ-শীর্ষ}} * {{en}}: prepaid {{অনুবাদ-নীচ}} [[বিষয়শ্রেণী:বাংলা বিশেষণ]] {{পূর্বনির্ধারিতবাছাই:অ, অগ্রিম}} qbb0yo1z5x4a3ukyk0x7l0di6vipaoo অগ্রিয় 0 9389 133108 123731 2022-08-27T09:53:52Z MdsShakil 6871 wikitext text/x-wiki == {{ভাষা|bn}} == ===উচ্চারণ=== * {{অডিও|bn|LL-Q9610 (ben)-Shakil Hosen (MdsShakil)-অগ্রিয়.wav|অডিও}} ===বিশেষণ=== {{বিশেষণ|bn}} # অগ্রিম # অগ্র সম্বন্ধীয়। [[বিষয়শ্রেণী:বাংলা বিশেষণ]] {{পূর্বনির্ধারিতবাছাই:অ, অগ্রিয়}} l3mh0r2xgw0xdenc5kypchpxk4o55c4 অগ্র্য 0 9391 133109 123733 2022-08-27T09:53:54Z MdsShakil 6871 wikitext text/x-wiki == {{ভাষা|bn}} == ===উচ্চারণ=== * {{অডিও|bn|LL-Q9610 (ben)-Shakil Hosen (MdsShakil)-অগ্র্য.wav|অডিও}} ===বিশেষণ=== {{বিশেষণ|bn}} # আদ্য # শ্রেষ্ঠ ''অগ্র ষ'' # । [[বিষয়শ্রেণী:বাংলা বিশেষণ]] {{পূর্বনির্ধারিতবাছাই:অ, অগ্র্য}} bp2z6acop53gtrr0y0z98dxvwfg1cev অঘ্রাত 0 9405 133110 123735 2022-08-27T09:53:55Z MdsShakil 6871 wikitext text/x-wiki == {{ভাষা|bn}} == ===উচ্চারণ=== * {{অডিও|bn|LL-Q9610 (ben)-Shakil Hosen (MdsShakil)-অঘ্রাত.wav|অডিও}} ===বিশেষণ=== {{বিশেষণ|bn}} # অনাঘ্রাত # যাহার ঘ্যাণ লওয়া হয় নাই এমন (অঘ্রাত পুষ্প)। [[বিষয়শ্রেণী:বাংলা বিশেষণ]] {{পূর্বনির্ধারিতবাছাই:অ, অঘ্রাত}} p5dy21dv1ld7ntot8hc8o1lk98dtccb অঙ্কিত 0 9412 133111 123741 2022-08-27T09:53:57Z MdsShakil 6871 wikitext text/x-wiki == {{ভাষা|bn}} == ===উচ্চারণ=== * {{অডিও|bn|LL-Q9610 (ben)-Shakil Hosen (MdsShakil)-অঙ্কিত.wav|অডিও}} ===বিশেষণ=== {{বিশেষণ|bn}} # ক্ষোদিত # বর্ণিত # বিবৃত। ==={{অনুবাদসমূহ}}=== {{অনুবাদ-শীর্ষ}} * {{en}}: delineated {{অনুবাদ-নীচ}} [[বিষয়শ্রেণী:বাংলা বিশেষণ]] {{পূর্বনির্ধারিতবাছাই:অ, অঙ্কিত}} h6oef0wk9w54eaz6g061fspmpn2a4z6 অঙ্কুরিত 0 9414 133112 123742 2022-08-27T09:53:59Z MdsShakil 6871 wikitext text/x-wiki == {{ভাষা|bn}} == ===উচ্চারণ=== * {{অডিও|bn|LL-Q9610 (ben)-Shakil Hosen (MdsShakil)-অঙ্কুরিত.wav|অডিও}} ===বিশেষণ=== {{বিশেষণ|bn}} # মুকুলিত। ==={{অনুবাদসমূহ}}=== {{অনুবাদ-শীর্ষ}} * {{en}}: germinate {{অনুবাদ-নীচ}} [[বিষয়শ্রেণী:বাংলা বিশেষণ]] {{পূর্বনির্ধারিতবাছাই:অ, অঙ্কুরিত}} bi9zmq86ua5alz6blgbr97xcey0asnb অঙ্গী 0 9446 133114 123770 2022-08-27T09:54:02Z MdsShakil 6871 wikitext text/x-wiki == {{ভাষা|bn}} == ===উচ্চারণ=== * {{অডিও|bn|LL-Q9610 (ben)-Shakil Hosen (MdsShakil)-অঙ্গী.wav|অডিও}} ===বিশেষণ=== {{বিশেষণ|bn}} # শরীরী। ==={{অনুবাদসমূহ}}=== {{অনুবাদ-শীর্ষ}} * {{en}}: accede {{অনুবাদ-নীচ}} [[বিষয়শ্রেণী:বাংলা বিশেষণ]] {{পূর্বনির্ধারিতবাছাই:অ, অঙ্গী}} j68gxm4jma1u8toma52pfdxcztdful3 অঙ্গীকৃত 0 9449 133115 123773 2022-08-27T09:54:03Z MdsShakil 6871 wikitext text/x-wiki == {{ভাষা|bn}} == ===উচ্চারণ=== * {{অডিও|bn|LL-Q9610 (ben)-Shakil Hosen (MdsShakil)-অঙ্গীকৃত.wav|অডিও}} ===বিশেষণ=== {{বিশেষণ|bn}} # প্রতিশ্রুত। [[বিষয়শ্রেণী:বাংলা বিশেষণ]] {{পূর্বনির্ধারিতবাছাই:অ, অঙ্গীকৃত}} kxgb4z68gbqgfwodusoww4xnfypfv96 অঙ্গীভূত 0 9450 133116 123774 2022-08-27T09:54:05Z MdsShakil 6871 wikitext text/x-wiki == {{ভাষা|bn}} == ===উচ্চারণ=== * {{অডিও|bn|LL-Q9610 (ben)-Shakil Hosen (MdsShakil)-অঙ্গীভূত.wav|অডিও}} ===বিশেষণ=== {{বিশেষণ|bn}} # অংশত্ব প্রাপ্ত # অঙ্গের অর্ন্তভুত। ==={{অনুবাদসমূহ}}=== {{অনুবাদ-শীর্ষ}} * {{en}}: accede {{অনুবাদ-নীচ}} [[বিষয়শ্রেণী:বাংলা বিশেষণ]] {{পূর্বনির্ধারিতবাছাই:অ, অঙ্গীভূত}} mzffgjhs5x2geo9j4vzuqm21epd213j অচঞ্চল 0 9459 133117 123779 2022-08-27T09:54:06Z MdsShakil 6871 wikitext text/x-wiki == {{ভাষা|bn}} == ===উচ্চারণ=== * {{অডিও|bn|LL-Q9610 (ben)-Shakil Hosen (MdsShakil)-অচঞ্চল.wav|অডিও}} ===বিশেষণ=== {{বিশেষণ|bn}} # স্থির # চপলতাহীন। ==={{অনুবাদসমূহ}}=== {{অনুবাদ-শীর্ষ}} * {{en}}: unflappable {{অনুবাদ-নীচ}} [[বিষয়শ্রেণী:বাংলা বিশেষণ]] {{পূর্বনির্ধারিতবাছাই:অ, অচঞ্চল}} k0lep1jimj3mhbrvax6sc2juyk7hri1 অচিত্ত 0 9469 133118 123780 2022-08-27T09:54:07Z MdsShakil 6871 wikitext text/x-wiki == {{ভাষা|bn}} == ===উচ্চারণ=== * {{অডিও|bn|LL-Q9610 (ben)-Shakil Hosen (MdsShakil)-অচিত্ত.wav|অডিও}} ===বিশেষণ=== {{বিশেষণ|bn}} # চেতনহীন # অজ্ঞান। ==={{অনুবাদসমূহ}}=== {{অনুবাদ-শীর্ষ}} * {{en}}: unprepossessing {{অনুবাদ-নীচ}} [[বিষয়শ্রেণী:বাংলা বিশেষণ]] {{পূর্বনির্ধারিতবাছাই:অ, অচিত্ত}} 3w1htdqjk2hqf67mm0nfbhsinfr30tv অচিন্ত্য 0 9473 133119 123781 2022-08-27T09:54:08Z MdsShakil 6871 wikitext text/x-wiki == {{ভাষা|bn}} == ===উচ্চারণ=== * {{অডিও|bn|LL-Q9610 (ben)-Shakil Hosen (MdsShakil)-অচিন্ত্য.wav|অডিও}} ===বিশেষণ=== {{বিশেষণ|bn}} # চিন্তার অতীত; চিস্তা করা যায় না এমন। ==={{অনুবাদসমূহ}}=== {{অনুবাদ-শীর্ষ}} * {{en}}: undreamed {{অনুবাদ-নীচ}} [[বিষয়শ্রেণী:বাংলা বিশেষণ]] {{পূর্বনির্ধারিতবাছাই:অ, অচিন্ত্য}} pmkaghyv2m6304gorct3s4q6s4nx3az অচূর্ণ 0 9478 133120 123783 2022-08-27T09:54:19Z MdsShakil 6871 অডিও যোগ wikitext text/x-wiki == {{ভাষা|bn}} == ===উচ্চারণ=== * {{অডিও|bn|LL-Q9610 (ben)-Shakil Hosen (MdsShakil)-অচূর্ণ.wav|অডিও}} ===বিশেষণ=== {{বিশেষণ|bn}} # আস্ত # গোটা। ==={{অনুবাদসমূহ}}=== {{অনুবাদ-শীর্ষ}} * {{en}}: undestroyed {{অনুবাদ-নীচ}} [[বিষয়শ্রেণী:বাংলা বিশেষণ]] {{পূর্বনির্ধারিতবাছাই:অ, অচূর্ণ}} nl5kpd9epey0ossk34p3b74t881fwjb অচূর্ণিত 0 9479 133121 123784 2022-08-27T09:54:20Z MdsShakil 6871 অডিও যোগ wikitext text/x-wiki == {{ভাষা|bn}} == ===উচ্চারণ=== * {{অডিও|bn|LL-Q9610 (ben)-Shakil Hosen (MdsShakil)-অচূর্ণিত.wav|অডিও}} ===বিশেষণ=== {{বিশেষণ|bn}} # চূর্ণ হয় না এমন # অপিষ্ট। [[বিষয়শ্রেণী:বাংলা বিশেষণ]] {{পূর্বনির্ধারিতবাছাই:অ, অচূর্ণিত}} 6a356qgsjhr9vwtjutydf7zqkd4rx98 অচেষ্ট 0 9483 133122 123785 2022-08-27T09:54:21Z MdsShakil 6871 অডিও যোগ wikitext text/x-wiki == {{ভাষা|bn}} == ===উচ্চারণ=== * {{অডিও|bn|LL-Q9610 (ben)-Shakil Hosen (MdsShakil)-অচেষ্ট.wav|অডিও}} ===বিশেষণ=== {{বিশেষণ|bn}} # নিশ্চেষ্ট # উদাসীন # অবশ। ==={{অনুবাদসমূহ}}=== {{অনুবাদ-শীর্ষ}} * {{en}}: unattempted {{অনুবাদ-নীচ}} [[বিষয়শ্রেণী:বাংলা বিশেষণ]] {{পূর্বনির্ধারিতবাছাই:অ, অচেষ্ট}} 1qchsk6htd3h26sgyz97v8res6j3p3y অচ্ছ 0 9484 133123 123786 2022-08-27T09:54:23Z MdsShakil 6871 অডিও যোগ wikitext text/x-wiki == {{ভাষা|bn}} == ===উচ্চারণ=== * {{অডিও|bn|LL-Q9610 (ben)-Shakil Hosen (MdsShakil)-অচ্ছ.wav|অডিও}} ===বিশেষণ=== {{বিশেষণ|bn}} # স্বচ্ছ # পরিস্কার # নির্মল। ==={{অনুবাদসমূহ}}=== {{অনুবাদ-শীর্ষ}} * {{en}}: indissoluble {{অনুবাদ-নীচ}} [[বিষয়শ্রেণী:বাংলা বিশেষণ]] {{পূর্বনির্ধারিতবাছাই:অ, অচ্ছ}} ccvnootzb5z1g1o5zxhipnnvmxvo8sz অচ্ছিদ্র 0 9485 133124 123787 2022-08-27T09:54:24Z MdsShakil 6871 অডিও যোগ wikitext text/x-wiki == {{ভাষা|bn}} == ===উচ্চারণ=== * {{অডিও|bn|LL-Q9610 (ben)-Shakil Hosen (MdsShakil)-অচ্ছিদ্র.wav|অডিও}} ===বিশেষণ=== {{বিশেষণ|bn}} # নিশ [[বিষয়শ্রেণী:বাংলা বিশেষণ]] {{পূর্বনির্ধারিতবাছাই:অ, অচ্ছিদ্র}} d7v98hnfqj6u38wn8mki4ifz9hrg5qd অচ্ছিন্ন 0 9486 133126 123788 2022-08-27T09:54:25Z MdsShakil 6871 অডিও যোগ wikitext text/x-wiki == {{ভাষা|bn}} == ===উচ্চারণ=== * {{অডিও|bn|LL-Q9610 (ben)-Shakil Hosen (MdsShakil)-অচ্ছিন্ন.wav|অডিও}} ===বিশেষণ=== {{বিশেষণ|bn}} # সম্পূর্ণ # গোটা। [[বিষয়শ্রেণী:বাংলা বিশেষণ]] {{পূর্বনির্ধারিতবাছাই:অ, অচ্ছিন্ন}} 0xd4p0bz2ry9x6wvgn9nvyl12we35kr অচ্ছুত 0 9487 133127 123789 2022-08-27T09:54:26Z MdsShakil 6871 অডিও যোগ wikitext text/x-wiki == {{ভাষা|bn}} == ===উচ্চারণ=== * {{অডিও|bn|LL-Q9610 (ben)-Shakil Hosen (MdsShakil)-অচ্ছুত.wav|অডিও}} ===বিশেষণ=== {{বিশেষণ|bn}} # অস্পৃশ্য # হরিজন সম্প্রদায় (জাতি); যাহাকে ছোঁওয়া অনুচিত। ==={{অনুবাদসমূহ}}=== {{অনুবাদ-শীর্ষ}} * {{en}}: unclean {{অনুবাদ-নীচ}} [[বিষয়শ্রেণী:বাংলা বিশেষণ]] {{পূর্বনির্ধারিতবাছাই:অ, অচ্ছুত}} retroxf8f01wyv5bkmudqzf03yn4h9g অপশব্দ 0 10534 132993 124149 2022-08-27T06:21:53Z MdsShakil 6871 wikitext text/x-wiki == {{ভাষা|bn}} == ===বিশেষ্য=== {{বিশেষ্য|bn}} # ব্যাকরণদুষ্ট শব্দ # অশ্লীল শব্দ। {{উইকিপিডিয়া}} [[বিষয়শ্রেণী:বাংলা বিশেষ্য]] {{পূর্বনির্ধারিতবাছাই:অ, অপশব্দ}} lner7o745rcep20r3np0k4jb3km3zg3 অপসৃত 0 10540 132994 83620 2022-08-27T06:24:04Z MdsShakil 6871 /* বিশেষণ */ wikitext text/x-wiki == {{ভাষা|bn}} == ===বিশেষণ=== {{বিশেষণ|bn}} # পলায়ন বা প্রস্থান করিয়াছে এমন ==={{অনুবাদসমূহ}}=== {{অনুবাদ-শীর্ষ}} * {{en}}: [[disarticulate]] {{অনুবাদ-নীচ}} [[বিষয়শ্রেণী:বাংলা বিশেষণ]] tjbr2s2blj3tczsjoyi6pyzum8id1dh অপহ্নব 0 10547 132995 124152 2022-08-27T06:25:46Z MdsShakil 6871 wikitext text/x-wiki == {{ভাষা|bn}} == ===বিশেষ্য=== {{বিশেষ্য|bn}} # অপলাপ # গোন # অস্বীকার বর্ণনীয় বিষয়কে গেপন করিয়া উপমানের স্থাপন {{পূর্বনির্ধারিতবাছাই:অ, অপহ্নব}} 4mydapgqw5rfgvlueqc2cwtmcdueqmr ব্যবহারকারী:Aishik Rehman/খেলাঘর 2 22949 133034 132851 2022-08-27T09:10:06Z Aishik Rehman 5592 wikitext text/x-wiki <div class="row"> <div class="col-50-left"> <h4 class="block_title">Bengali proverbs of the day</h4> <div class="fixBox box"> *জুতা সেলাই থেকে চণ্ডীপাঠ (prov) all activities irrespective of high and low, great and small. জোর যার মুলুক তার (prov) a mighty person has his sway over everything; (prov) might is right. ঢাকের দায়ে মনসা বিকানো (figurative) excessive expense for a useless thing; (prov) to sell one’s homestead to grease one’s car. *ধর্মের ঢাক আপনি বাজে (prov) virtue proclaims itself.</li><li> *ঢিল মারলে পাটকেল পড়ে (prov) Tit for tat.</li><li> *ঢেঁকিস্বর্গে গেলেও ধান ভানে (prov) A drudge will drudge even in heaven.</li></ul> </div> </div> <div class="col-50-right"> <h4 class="block_title">Random Figurative phrases</h4> <div id="figContainer" aria-live="polite"> <div class="fixBox box" id="figurative"> *ক্ষুরধার (adjective) (figurative) as sharp as a razor: ক্ষুরধার লেখনী. * এক কড়ার মুরোদ নেই, having not an iota of power/ability. * খই ফোটা (verb intransitive) burst open noisily in the process of being toasted; (figurative) talk much and fast: <div class="row"> <div id="figButton" style="padding:6px; float:right; margin:0 8px 8px 0;">Load more</div> </div> </div> </div> </div> </div> {{NUMBEROFEDITS}} {{mfd|help=off}} * Rhymes:    অন্ত্যমিল: * Appendix:  উইকিসরাস>পরিশিষ্ট: * Citations:    উদ্ধৃতি: * Thesaurus: থিসরাস: * [[অ্যালকুহেলিকা]], মদের ঘোর * চিন্তাইকারী * ফাহামবাগ * মানবাধিকারবার * পাঁঠালপাতা * একাডেমিশিয়াল * চানভুদাই * সাকাতুয়া * জ্ঞানকীর পোলা * জামাতাল * চিন্তাইকারী * টকমারানি * তখতাবধায়ক * হাড়হাভাডে * ব্রাজলিল * পুটুহন্তাস * কামালগোটা * বামাত * ফুটবলদ * আলোচোনা * ট্যাগটিভিস্ট * মুসলমানবতা * ফ্যাম্পায়ার * পরপুটুপয়মালপুলক * সুফা * ইমরাণ্ডি * গুজবুক * ইকবালখিল্যতা * নুনূর্ষূ * বাম্রাজ্যবাদ * ফেসবুকাচোদা * সুফা * বার্গস্বাধীনতা * চেকিনগুণিয়া * হোগায়ক * আলজারজি * বন্ধুকাঠি * ভঙ্গীকার * পাছুশুঁকরে * ভাববাচ্যু * নরাদ টাকলা * দুখীপাছু * গদিমাতৃক * নামকহারাম * খালেদাবোমা * আমিশয় * ণূড়াকামিতা * উটকথা * শবে ঝুলন * আলীমদ্বার * আরামাদান * ককস্বাধীনতা * মাথাফাঁকা * ডিমবাবুয়ে * সিকিচরম * আধাচরম * শবে ঝুলন * গোয়াযম * দীর্ঘজেবী * তালপুরুষ 1lls95rhf81vs2zk82nwvc6g8jzgtk0 133035 133034 2022-08-27T09:21:35Z Aishik Rehman 5592 wikitext text/x-wiki *[[#tab-1-container|Tab 1]] *<a href="#tab-3-container">Tab 3</a> </ul> <div class="wrapper"> <div id="tab-1-container" class="tab-container"> Tab 1 content </div> <div id="tab-2-container" class="tab-container"> Tab 2 content </div> <div id="tab-3-container" class="tab-container"> Tab 3 content </div> </div> <div class="row"> <div class="col-50-left"> <h4 class="block_title">Bengali proverbs of the day</h4> <div class="fixBox box"> *জুতা সেলাই থেকে চণ্ডীপাঠ (prov) all activities irrespective of high and low, great and small. জোর যার মুলুক তার (prov) a mighty person has his sway over everything; (prov) might is right. ঢাকের দায়ে মনসা বিকানো (figurative) excessive expense for a useless thing; (prov) to sell one’s homestead to grease one’s car. *ধর্মের ঢাক আপনি বাজে (prov) virtue proclaims itself.</li><li> *ঢিল মারলে পাটকেল পড়ে (prov) Tit for tat.</li><li> *ঢেঁকিস্বর্গে গেলেও ধান ভানে (prov) A drudge will drudge even in heaven.</li></ul> </div> </div> <div class="col-50-right"> <h4 class="block_title">Random Figurative phrases</h4> <div id="figContainer" aria-live="polite"> <div class="fixBox box" id="figurative"> *ক্ষুরধার (adjective) (figurative) as sharp as a razor: ক্ষুরধার লেখনী. * এক কড়ার মুরোদ নেই, having not an iota of power/ability. * খই ফোটা (verb intransitive) burst open noisily in the process of being toasted; (figurative) talk much and fast: <div class="row"> <div id="figButton" style="padding:6px; float:right; margin:0 8px 8px 0;">Load more</div> </div> </div> </div> </div> </div> {{NUMBEROFEDITS}} {{mfd|help=off}} * Rhymes:    অন্ত্যমিল: * Appendix:  উইকিসরাস>পরিশিষ্ট: * Citations:    উদ্ধৃতি: * Thesaurus: থিসরাস: * [[অ্যালকুহেলিকা]], মদের ঘোর * চিন্তাইকারী * ফাহামবাগ * মানবাধিকারবার * পাঁঠালপাতা * একাডেমিশিয়াল * চানভুদাই * সাকাতুয়া * জ্ঞানকীর পোলা * জামাতাল * চিন্তাইকারী * টকমারানি * তখতাবধায়ক * হাড়হাভাডে * ব্রাজলিল * পুটুহন্তাস * কামালগোটা * বামাত * ফুটবলদ * আলোচোনা * ট্যাগটিভিস্ট * মুসলমানবতা * ফ্যাম্পায়ার * পরপুটুপয়মালপুলক * সুফা * ইমরাণ্ডি * গুজবুক * ইকবালখিল্যতা * নুনূর্ষূ * বাম্রাজ্যবাদ * ফেসবুকাচোদা * সুফা * বার্গস্বাধীনতা * চেকিনগুণিয়া * হোগায়ক * আলজারজি * বন্ধুকাঠি * ভঙ্গীকার * পাছুশুঁকরে * ভাববাচ্যু * নরাদ টাকলা * দুখীপাছু * গদিমাতৃক * নামকহারাম * খালেদাবোমা * আমিশয় * ণূড়াকামিতা * উটকথা * শবে ঝুলন * আলীমদ্বার * আরামাদান * ককস্বাধীনতা * মাথাফাঁকা * ডিমবাবুয়ে * সিকিচরম * আধাচরম * শবে ঝুলন * গোয়াযম * দীর্ঘজেবী * তালপুরুষ 73kxdtvyctz17yc440izlrwq71uo5mz 133036 133035 2022-08-27T09:22:56Z Aishik Rehman 5592 wikitext text/x-wiki *[[#tab-1-container|Tab 1]] *[[#tab-3-container|Tab 2]] *[[#tab-3-container|Tab 3]] <div class="wrapper"> <div id="tab-1-container" class="tab-container">Tab 1 content</div> <div id="tab-2-container" class="tab-container">Tab 2 content</div> <div id="tab-3-container" class="tab-container">Tab 3 content</div> </div> <div class="row"> <div class="col-50-left"> <h4 class="block_title">Bengali proverbs of the day</h4> <div class="fixBox box"> *জুতা সেলাই থেকে চণ্ডীপাঠ (prov) all activities irrespective of high and low, great and small. জোর যার মুলুক তার (prov) a mighty person has his sway over everything; (prov) might is right. ঢাকের দায়ে মনসা বিকানো (figurative) excessive expense for a useless thing; (prov) to sell one’s homestead to grease one’s car. *ধর্মের ঢাক আপনি বাজে (prov) virtue proclaims itself.</li><li> *ঢিল মারলে পাটকেল পড়ে (prov) Tit for tat.</li><li> *ঢেঁকিস্বর্গে গেলেও ধান ভানে (prov) A drudge will drudge even in heaven.</li></ul> </div> </div> <div class="col-50-right"> <h4 class="block_title">Random Figurative phrases</h4> <div id="figContainer" aria-live="polite"> <div class="fixBox box" id="figurative"> *ক্ষুরধার (adjective) (figurative) as sharp as a razor: ক্ষুরধার লেখনী. * এক কড়ার মুরোদ নেই, having not an iota of power/ability. * খই ফোটা (verb intransitive) burst open noisily in the process of being toasted; (figurative) talk much and fast: <div class="row"> <div id="figButton" style="padding:6px; float:right; margin:0 8px 8px 0;">Load more</div> </div> </div> </div> </div> </div> {{NUMBEROFEDITS}} {{mfd|help=off}} * Rhymes:    অন্ত্যমিল: * Appendix:  উইকিসরাস>পরিশিষ্ট: * Citations:    উদ্ধৃতি: * Thesaurus: থিসরাস: * [[অ্যালকুহেলিকা]], মদের ঘোর * চিন্তাইকারী * ফাহামবাগ * মানবাধিকারবার * পাঁঠালপাতা * একাডেমিশিয়াল * চানভুদাই * সাকাতুয়া * জ্ঞানকীর পোলা * জামাতাল * চিন্তাইকারী * টকমারানি * তখতাবধায়ক * হাড়হাভাডে * ব্রাজলিল * পুটুহন্তাস * কামালগোটা * বামাত * ফুটবলদ * আলোচোনা * ট্যাগটিভিস্ট * মুসলমানবতা * ফ্যাম্পায়ার * পরপুটুপয়মালপুলক * সুফা * ইমরাণ্ডি * গুজবুক * ইকবালখিল্যতা * নুনূর্ষূ * বাম্রাজ্যবাদ * ফেসবুকাচোদা * সুফা * বার্গস্বাধীনতা * চেকিনগুণিয়া * হোগায়ক * আলজারজি * বন্ধুকাঠি * ভঙ্গীকার * পাছুশুঁকরে * ভাববাচ্যু * নরাদ টাকলা * দুখীপাছু * গদিমাতৃক * নামকহারাম * খালেদাবোমা * আমিশয় * ণূড়াকামিতা * উটকথা * শবে ঝুলন * আলীমদ্বার * আরামাদান * ককস্বাধীনতা * মাথাফাঁকা * ডিমবাবুয়ে * সিকিচরম * আধাচরম * শবে ঝুলন * গোয়াযম * দীর্ঘজেবী * তালপুরুষ jr6vubix3ky6jf1mdr3kdyt0bibt46x 133037 133036 2022-08-27T09:23:47Z Aishik Rehman 5592 wikitext text/x-wiki *[[#tab-1-container|Tab 1]] *[[#tab-2-container|Tab 2]] *[[#tab-3-container|Tab 3]] <div class="wrapper"> <div id="tab-1-container" class="tab-container">Tab 1 content</div> <div id="tab-2-container" class="tab-container">Tab 2 content</div> <div id="tab-3-container" class="tab-container">Tab 3 content</div> </div> <div class="row"> <div class="col-50-left"> <h4 class="block_title">Bengali proverbs of the day</h4> <div class="fixBox box"> *জুতা সেলাই থেকে চণ্ডীপাঠ (prov) all activities irrespective of high and low, great and small. জোর যার মুলুক তার (prov) a mighty person has his sway over everything; (prov) might is right. ঢাকের দায়ে মনসা বিকানো (figurative) excessive expense for a useless thing; (prov) to sell one’s homestead to grease one’s car. *ধর্মের ঢাক আপনি বাজে (prov) virtue proclaims itself.</li><li> *ঢিল মারলে পাটকেল পড়ে (prov) Tit for tat.</li><li> *ঢেঁকিস্বর্গে গেলেও ধান ভানে (prov) A drudge will drudge even in heaven.</li></ul> </div> </div> <div class="col-50-right"> <h4 class="block_title">Random Figurative phrases</h4> <div id="figContainer" aria-live="polite"> <div class="fixBox box" id="figurative"> *ক্ষুরধার (adjective) (figurative) as sharp as a razor: ক্ষুরধার লেখনী. * এক কড়ার মুরোদ নেই, having not an iota of power/ability. * খই ফোটা (verb intransitive) burst open noisily in the process of being toasted; (figurative) talk much and fast: <div class="row"> <div id="figButton" style="padding:6px; float:right; margin:0 8px 8px 0;">Load more</div> </div> </div> </div> </div> </div> {{NUMBEROFEDITS}} {{mfd|help=off}} * Rhymes:    অন্ত্যমিল: * Appendix:  উইকিসরাস>পরিশিষ্ট: * Citations:    উদ্ধৃতি: * Thesaurus: থিসরাস: * [[অ্যালকুহেলিকা]], মদের ঘোর * চিন্তাইকারী * ফাহামবাগ * মানবাধিকারবার * পাঁঠালপাতা * একাডেমিশিয়াল * চানভুদাই * সাকাতুয়া * জ্ঞানকীর পোলা * জামাতাল * চিন্তাইকারী * টকমারানি * তখতাবধায়ক * হাড়হাভাডে * ব্রাজলিল * পুটুহন্তাস * কামালগোটা * বামাত * ফুটবলদ * আলোচোনা * ট্যাগটিভিস্ট * মুসলমানবতা * ফ্যাম্পায়ার * পরপুটুপয়মালপুলক * সুফা * ইমরাণ্ডি * গুজবুক * ইকবালখিল্যতা * নুনূর্ষূ * বাম্রাজ্যবাদ * ফেসবুকাচোদা * সুফা * বার্গস্বাধীনতা * চেকিনগুণিয়া * হোগায়ক * আলজারজি * বন্ধুকাঠি * ভঙ্গীকার * পাছুশুঁকরে * ভাববাচ্যু * নরাদ টাকলা * দুখীপাছু * গদিমাতৃক * নামকহারাম * খালেদাবোমা * আমিশয় * ণূড়াকামিতা * উটকথা * শবে ঝুলন * আলীমদ্বার * আরামাদান * ককস্বাধীনতা * মাথাফাঁকা * ডিমবাবুয়ে * সিকিচরম * আধাচরম * শবে ঝুলন * গোয়াযম * দীর্ঘজেবী * তালপুরুষ kx7515suczdvxwt3r15okcqfbx08b2p 133038 133037 2022-08-27T09:26:37Z Aishik Rehman 5592 wikitext text/x-wiki *[[#tab-1-container|বাংলা]] *[[#tab-2-container|ইংরেজি]] <div class="wrapper"> <div id="tab-1-container" class="tab-container"> * [http://bn.wiktionary.org/w/index.php?title=বিশেষ:Allpages&from=অ অ] - * [http://bn.wiktionary.org/w/index.php?title=বিশেষ:Allpages&from=আ আ] - * [http://bn.wiktionary.org/w/index.php?title=বিশেষ:Allpages&from=ই ই] - * [http://bn.wiktionary.org/w/index.php?title=বিশেষ:Allpages&from=ঈ ঈ] - * [http://bn.wiktionary.org/w/index.php?title=বিশেষ:Allpages&from=উ উ] - * [http://bn.wiktionary.org/w/index.php?title=বিশেষ:Allpages&from=ঊ ঊ] - * [http://bn.wiktionary.org/w/index.php?title=বিশেষ:Allpages&from=ঋ ঋ] - * [http://bn.wiktionary.org/w/index.php?title=বিশেষ:Allpages&from=এ এ] - * [http://bn.wiktionary.org/w/index.php?title=বিশেষ:Allpages&from=ঐ ঐ] - * [http://bn.wiktionary.org/w/index.php?title=বিশেষ:Allpages&from=ও ও] - * [http://bn.wiktionary.org/w/index.php?title=বিশেষ:Allpages&from=ঔ ঔ] - * [http://bn.wiktionary.org/w/index.php?title=বিশেষ:Allpages&from=অ অ] - * [http://bn.wiktionary.org/w/index.php?title=বিশেষ:Allpages&from=আ আ] - * [http://bn.wiktionary.org/w/index.php?title=বিশেষ:Allpages&from=ই ই] - * [http://bn.wiktionary.org/w/index.php?title=বিশেষ:Allpages&from=ঈ ঈ] - * [http://bn.wiktionary.org/w/index.php?title=বিশেষ:Allpages&from=উ উ] - * [http://bn.wiktionary.org/w/index.php?title=বিশেষ:Allpages&from=ঊ ঊ] - * [http://bn.wiktionary.org/w/index.php?title=বিশেষ:Allpages&from=ঋ ঋ] - * [http://bn.wiktionary.org/w/index.php?title=বিশেষ:Allpages&from=এ এ] - * [http://bn.wiktionary.org/w/index.php?title=বিশেষ:Allpages&from=ঐ ঐ] - * [http://bn.wiktionary.org/w/index.php?title=বিশেষ:Allpages&from=ও ও] - * [http://bn.wiktionary.org/w/index.php?title=বিশেষ:Allpages&from=ঔ ঔ] - </div> <div id="tab-2-container" class="tab-container">Tab 2 content</div> </div> <div class="row"> <div class="col-50-left"> <h4 class="block_title">Bengali proverbs of the day</h4> <div class="fixBox box"> *জুতা সেলাই থেকে চণ্ডীপাঠ (prov) all activities irrespective of high and low, great and small. জোর যার মুলুক তার (prov) a mighty person has his sway over everything; (prov) might is right. ঢাকের দায়ে মনসা বিকানো (figurative) excessive expense for a useless thing; (prov) to sell one’s homestead to grease one’s car. *ধর্মের ঢাক আপনি বাজে (prov) virtue proclaims itself.</li><li> *ঢিল মারলে পাটকেল পড়ে (prov) Tit for tat.</li><li> *ঢেঁকিস্বর্গে গেলেও ধান ভানে (prov) A drudge will drudge even in heaven.</li></ul> </div> </div> <div class="col-50-right"> <h4 class="block_title">Random Figurative phrases</h4> <div id="figContainer" aria-live="polite"> <div class="fixBox box" id="figurative"> *ক্ষুরধার (adjective) (figurative) as sharp as a razor: ক্ষুরধার লেখনী. * এক কড়ার মুরোদ নেই, having not an iota of power/ability. * খই ফোটা (verb intransitive) burst open noisily in the process of being toasted; (figurative) talk much and fast: <div class="row"> <div id="figButton" style="padding:6px; float:right; margin:0 8px 8px 0;">Load more</div> </div> </div> </div> </div> </div> {{NUMBEROFEDITS}} {{mfd|help=off}} * Rhymes:    অন্ত্যমিল: * Appendix:  উইকিসরাস>পরিশিষ্ট: * Citations:    উদ্ধৃতি: * Thesaurus: থিসরাস: * [[অ্যালকুহেলিকা]], মদের ঘোর * চিন্তাইকারী * ফাহামবাগ * মানবাধিকারবার * পাঁঠালপাতা * একাডেমিশিয়াল * চানভুদাই * সাকাতুয়া * জ্ঞানকীর পোলা * জামাতাল * চিন্তাইকারী * টকমারানি * তখতাবধায়ক * হাড়হাভাডে * ব্রাজলিল * পুটুহন্তাস * কামালগোটা * বামাত * ফুটবলদ * আলোচোনা * ট্যাগটিভিস্ট * মুসলমানবতা * ফ্যাম্পায়ার * পরপুটুপয়মালপুলক * সুফা * ইমরাণ্ডি * গুজবুক * ইকবালখিল্যতা * নুনূর্ষূ * বাম্রাজ্যবাদ * ফেসবুকাচোদা * সুফা * বার্গস্বাধীনতা * চেকিনগুণিয়া * হোগায়ক * আলজারজি * বন্ধুকাঠি * ভঙ্গীকার * পাছুশুঁকরে * ভাববাচ্যু * নরাদ টাকলা * দুখীপাছু * গদিমাতৃক * নামকহারাম * খালেদাবোমা * আমিশয় * ণূড়াকামিতা * উটকথা * শবে ঝুলন * আলীমদ্বার * আরামাদান * ককস্বাধীনতা * মাথাফাঁকা * ডিমবাবুয়ে * সিকিচরম * আধাচরম * শবে ঝুলন * গোয়াযম * দীর্ঘজেবী * তালপুরুষ hgc59p4b63x8gppotgx88ikkamymsmn 133039 133038 2022-08-27T09:28:26Z Aishik Rehman 5592 wikitext text/x-wiki *[[#tab-1-container|বাংলা]] *[[#tab-2-container|ইংরেজি]] <div class="wrapper"> <div id="tab-1-container" class="tab-container"> * অ * আ * ই * ঈ * উ </div> <div id="tab-2-container" class="tab-container"> * A * B * C * D * E * F </div> </div> <div class="row"> <div class="col-50-left"> <h4 class="block_title">Bengali proverbs of the day</h4> <div class="fixBox box"> *জুতা সেলাই থেকে চণ্ডীপাঠ (prov) all activities irrespective of high and low, great and small. জোর যার মুলুক তার (prov) a mighty person has his sway over everything; (prov) might is right. ঢাকের দায়ে মনসা বিকানো (figurative) excessive expense for a useless thing; (prov) to sell one’s homestead to grease one’s car. *ধর্মের ঢাক আপনি বাজে (prov) virtue proclaims itself.</li><li> *ঢিল মারলে পাটকেল পড়ে (prov) Tit for tat.</li><li> *ঢেঁকিস্বর্গে গেলেও ধান ভানে (prov) A drudge will drudge even in heaven.</li></ul> </div> </div> <div class="col-50-right"> <h4 class="block_title">Random Figurative phrases</h4> <div id="figContainer" aria-live="polite"> <div class="fixBox box" id="figurative"> *ক্ষুরধার (adjective) (figurative) as sharp as a razor: ক্ষুরধার লেখনী. * এক কড়ার মুরোদ নেই, having not an iota of power/ability. * খই ফোটা (verb intransitive) burst open noisily in the process of being toasted; (figurative) talk much and fast: <div class="row"> <div id="figButton" style="padding:6px; float:right; margin:0 8px 8px 0;">Load more</div> </div> </div> </div> </div> </div> {{NUMBEROFEDITS}} {{mfd|help=off}} * Rhymes:    অন্ত্যমিল: * Appendix:  উইকিসরাস>পরিশিষ্ট: * Citations:    উদ্ধৃতি: * Thesaurus: থিসরাস: * [[অ্যালকুহেলিকা]], মদের ঘোর * চিন্তাইকারী * ফাহামবাগ * মানবাধিকারবার * পাঁঠালপাতা * একাডেমিশিয়াল * চানভুদাই * সাকাতুয়া * জ্ঞানকীর পোলা * জামাতাল * চিন্তাইকারী * টকমারানি * তখতাবধায়ক * হাড়হাভাডে * ব্রাজলিল * পুটুহন্তাস * কামালগোটা * বামাত * ফুটবলদ * আলোচোনা * ট্যাগটিভিস্ট * মুসলমানবতা * ফ্যাম্পায়ার * পরপুটুপয়মালপুলক * সুফা * ইমরাণ্ডি * গুজবুক * ইকবালখিল্যতা * নুনূর্ষূ * বাম্রাজ্যবাদ * ফেসবুকাচোদা * সুফা * বার্গস্বাধীনতা * চেকিনগুণিয়া * হোগায়ক * আলজারজি * বন্ধুকাঠি * ভঙ্গীকার * পাছুশুঁকরে * ভাববাচ্যু * নরাদ টাকলা * দুখীপাছু * গদিমাতৃক * নামকহারাম * খালেদাবোমা * আমিশয় * ণূড়াকামিতা * উটকথা * শবে ঝুলন * আলীমদ্বার * আরামাদান * ককস্বাধীনতা * মাথাফাঁকা * ডিমবাবুয়ে * সিকিচরম * আধাচরম * শবে ঝুলন * গোয়াযম * দীর্ঘজেবী * তালপুরুষ 07dg913095ba2i0fcrnkgmt3c71c5bn 133141 133039 2022-08-27T09:57:55Z Aishik Rehman 5592 wikitext text/x-wiki <h2 class="nav-tab-wrapper"> <span class="nav-tab nav-tab-active">|বাংলা]]</span> <span class="nav-tab">Second|ইংরেজি]] <a href="#tab-3" class="nav-tab">Third</a> </h2> <section id="tab-1" class="tab-content active"> <P>Some content here.</P> </section> <section id="tab-2" class="tab-content hidden"> <p>Some more here.</p> </section> <section id="tab-3" class="tab-content hidden"> <p>Something else here.</p> </section> <div class="wrapper"> <div id="tab-1-container" class="tab-container"> * অ * আ * ই * ঈ * উ </div> <div id="tab-2-container" class="tab-container"> * A * B * C * D * E * F </div> </div> <h2 class="nav-tab-wrapper"> <a href="#tab-1" class="nav-tab nav-tab-active">First</a> <a href="#tab-2" class="nav-tab">Second</a> <a href="#tab-3" class="nav-tab">Third</a> </h2> <hr /> <section id="tab-1" class="tab-content active"> <P>Some content here.</P> </section> <section id="tab-2" class="tab-content"> <p>Some more here.</p> </section> <section id="tab-3" class="tab-content"> <p>Something else here.</p> </section> <div class="row"> <div class="col-50-left"> <h4 class="block_title">Bengali proverbs of the day</h4> <div class="fixBox box"> *জুতা সেলাই থেকে চণ্ডীপাঠ (prov) all activities irrespective of high and low, great and small. জোর যার মুলুক তার (prov) a mighty person has his sway over everything; (prov) might is right. ঢাকের দায়ে মনসা বিকানো (figurative) excessive expense for a useless thing; (prov) to sell one’s homestead to grease one’s car. *ধর্মের ঢাক আপনি বাজে (prov) virtue proclaims itself.</li><li> *ঢিল মারলে পাটকেল পড়ে (prov) Tit for tat.</li><li> *ঢেঁকিস্বর্গে গেলেও ধান ভানে (prov) A drudge will drudge even in heaven.</li></ul> </div> </div> <div class="col-50-right"> <h4 class="block_title">Random Figurative phrases</h4> <div id="figContainer" aria-live="polite"> <div class="fixBox box" id="figurative"> *ক্ষুরধার (adjective) (figurative) as sharp as a razor: ক্ষুরধার লেখনী. * এক কড়ার মুরোদ নেই, having not an iota of power/ability. * খই ফোটা (verb intransitive) burst open noisily in the process of being toasted; (figurative) talk much and fast: <div class="row"> <div id="figButton" style="padding:6px; float:right; margin:0 8px 8px 0;">Load more</div> </div> </div> </div> </div> </div> {{NUMBEROFEDITS}} {{mfd|help=off}} * Rhymes:    অন্ত্যমিল: * Appendix:  উইকিসরাস>পরিশিষ্ট: * Citations:    উদ্ধৃতি: * Thesaurus: থিসরাস: * [[অ্যালকুহেলিকা]], মদের ঘোর * চিন্তাইকারী * ফাহামবাগ * মানবাধিকারবার * পাঁঠালপাতা * একাডেমিশিয়াল * চানভুদাই * সাকাতুয়া * জ্ঞানকীর পোলা * জামাতাল * চিন্তাইকারী * টকমারানি * তখতাবধায়ক * হাড়হাভাডে * ব্রাজলিল * পুটুহন্তাস * কামালগোটা * বামাত * ফুটবলদ * আলোচোনা * ট্যাগটিভিস্ট * মুসলমানবতা * ফ্যাম্পায়ার * পরপুটুপয়মালপুলক * সুফা * ইমরাণ্ডি * গুজবুক * ইকবালখিল্যতা * নুনূর্ষূ * বাম্রাজ্যবাদ * ফেসবুকাচোদা * সুফা * বার্গস্বাধীনতা * চেকিনগুণিয়া * হোগায়ক * আলজারজি * বন্ধুকাঠি * ভঙ্গীকার * পাছুশুঁকরে * ভাববাচ্যু * নরাদ টাকলা * দুখীপাছু * গদিমাতৃক * নামকহারাম * খালেদাবোমা * আমিশয় * ণূড়াকামিতা * উটকথা * শবে ঝুলন * আলীমদ্বার * আরামাদান * ককস্বাধীনতা * মাথাফাঁকা * ডিমবাবুয়ে * সিকিচরম * আধাচরম * শবে ঝুলন * গোয়াযম * দীর্ঘজেবী * তালপুরুষ 4acpp3pyku4dif3a0r7qfwas6lvqtyg 133142 133141 2022-08-27T09:58:48Z Aishik Rehman 5592 wikitext text/x-wiki <h2 class="nav-tab-wrapper"> <span class="nav-tab nav-tab-active">বাংলা</span> <span class="nav-tab">ইংরেজি</span> </h2> <section id="tab-1" class="tab-content active"> <P>Some content here.</P> </section> <section id="tab-2" class="tab-content hidden"> <p>Some more here.</p> </section> <div class="wrapper"> <div id="tab-1-container" class="tab-container"> * অ * আ * ই * ঈ * উ </div> <div id="tab-2-container" class="tab-container"> * A * B * C * D * E * F </div> </div> <h2 class="nav-tab-wrapper"> <a href="#tab-1" class="nav-tab nav-tab-active">First</a> <a href="#tab-2" class="nav-tab">Second</a> <a href="#tab-3" class="nav-tab">Third</a> </h2> <hr /> <section id="tab-1" class="tab-content active"> <P>Some content here.</P> </section> <section id="tab-2" class="tab-content"> <p>Some more here.</p> </section> <section id="tab-3" class="tab-content"> <p>Something else here.</p> </section> <div class="row"> <div class="col-50-left"> <h4 class="block_title">Bengali proverbs of the day</h4> <div class="fixBox box"> *জুতা সেলাই থেকে চণ্ডীপাঠ (prov) all activities irrespective of high and low, great and small. জোর যার মুলুক তার (prov) a mighty person has his sway over everything; (prov) might is right. ঢাকের দায়ে মনসা বিকানো (figurative) excessive expense for a useless thing; (prov) to sell one’s homestead to grease one’s car. *ধর্মের ঢাক আপনি বাজে (prov) virtue proclaims itself.</li><li> *ঢিল মারলে পাটকেল পড়ে (prov) Tit for tat.</li><li> *ঢেঁকিস্বর্গে গেলেও ধান ভানে (prov) A drudge will drudge even in heaven.</li></ul> </div> </div> <div class="col-50-right"> <h4 class="block_title">Random Figurative phrases</h4> <div id="figContainer" aria-live="polite"> <div class="fixBox box" id="figurative"> *ক্ষুরধার (adjective) (figurative) as sharp as a razor: ক্ষুরধার লেখনী. * এক কড়ার মুরোদ নেই, having not an iota of power/ability. * খই ফোটা (verb intransitive) burst open noisily in the process of being toasted; (figurative) talk much and fast: <div class="row"> <div id="figButton" style="padding:6px; float:right; margin:0 8px 8px 0;">Load more</div> </div> </div> </div> </div> </div> {{NUMBEROFEDITS}} {{mfd|help=off}} * Rhymes:    অন্ত্যমিল: * Appendix:  উইকিসরাস>পরিশিষ্ট: * Citations:    উদ্ধৃতি: * Thesaurus: থিসরাস: * [[অ্যালকুহেলিকা]], মদের ঘোর * চিন্তাইকারী * ফাহামবাগ * মানবাধিকারবার * পাঁঠালপাতা * একাডেমিশিয়াল * চানভুদাই * সাকাতুয়া * জ্ঞানকীর পোলা * জামাতাল * চিন্তাইকারী * টকমারানি * তখতাবধায়ক * হাড়হাভাডে * ব্রাজলিল * পুটুহন্তাস * কামালগোটা * বামাত * ফুটবলদ * আলোচোনা * ট্যাগটিভিস্ট * মুসলমানবতা * ফ্যাম্পায়ার * পরপুটুপয়মালপুলক * সুফা * ইমরাণ্ডি * গুজবুক * ইকবালখিল্যতা * নুনূর্ষূ * বাম্রাজ্যবাদ * ফেসবুকাচোদা * সুফা * বার্গস্বাধীনতা * চেকিনগুণিয়া * হোগায়ক * আলজারজি * বন্ধুকাঠি * ভঙ্গীকার * পাছুশুঁকরে * ভাববাচ্যু * নরাদ টাকলা * দুখীপাছু * গদিমাতৃক * নামকহারাম * খালেদাবোমা * আমিশয় * ণূড়াকামিতা * উটকথা * শবে ঝুলন * আলীমদ্বার * আরামাদান * ককস্বাধীনতা * মাথাফাঁকা * ডিমবাবুয়ে * সিকিচরম * আধাচরম * শবে ঝুলন * গোয়াযম * দীর্ঘজেবী * তালপুরুষ r0hg7089b0mrha98dqkkmj4rde5901a 133143 133142 2022-08-27T09:59:23Z Aishik Rehman 5592 wikitext text/x-wiki <div class="nav-tab-wrapper"> <span class="nav-tab nav-tab-active">বাংলা</span> <span class="nav-tab">ইংরেজি</span> </div> <div id="tab-1" class="tab-content active"> Some content here. </div> <div id="tab-2" class="tab-content hidden"> Some more here. </div> <div class="wrapper"> <div id="tab-1-container" class="tab-container"> * অ * আ * ই * ঈ * উ </div> <div id="tab-2-container" class="tab-container"> * A * B * C * D * E * F </div> </div> <h2 class="nav-tab-wrapper"> <a href="#tab-1" class="nav-tab nav-tab-active">First</a> <a href="#tab-2" class="nav-tab">Second</a> <a href="#tab-3" class="nav-tab">Third</a> </h2> <hr /> <section id="tab-1" class="tab-content active"> <P>Some content here.</P> </section> <section id="tab-2" class="tab-content"> <p>Some more here.</p> </section> <section id="tab-3" class="tab-content"> <p>Something else here.</p> </section> <div class="row"> <div class="col-50-left"> <h4 class="block_title">Bengali proverbs of the day</h4> <div class="fixBox box"> *জুতা সেলাই থেকে চণ্ডীপাঠ (prov) all activities irrespective of high and low, great and small. জোর যার মুলুক তার (prov) a mighty person has his sway over everything; (prov) might is right. ঢাকের দায়ে মনসা বিকানো (figurative) excessive expense for a useless thing; (prov) to sell one’s homestead to grease one’s car. *ধর্মের ঢাক আপনি বাজে (prov) virtue proclaims itself.</li><li> *ঢিল মারলে পাটকেল পড়ে (prov) Tit for tat.</li><li> *ঢেঁকিস্বর্গে গেলেও ধান ভানে (prov) A drudge will drudge even in heaven.</li></ul> </div> </div> <div class="col-50-right"> <h4 class="block_title">Random Figurative phrases</h4> <div id="figContainer" aria-live="polite"> <div class="fixBox box" id="figurative"> *ক্ষুরধার (adjective) (figurative) as sharp as a razor: ক্ষুরধার লেখনী. * এক কড়ার মুরোদ নেই, having not an iota of power/ability. * খই ফোটা (verb intransitive) burst open noisily in the process of being toasted; (figurative) talk much and fast: <div class="row"> <div id="figButton" style="padding:6px; float:right; margin:0 8px 8px 0;">Load more</div> </div> </div> </div> </div> </div> {{NUMBEROFEDITS}} {{mfd|help=off}} * Rhymes:    অন্ত্যমিল: * Appendix:  উইকিসরাস>পরিশিষ্ট: * Citations:    উদ্ধৃতি: * Thesaurus: থিসরাস: * [[অ্যালকুহেলিকা]], মদের ঘোর * চিন্তাইকারী * ফাহামবাগ * মানবাধিকারবার * পাঁঠালপাতা * একাডেমিশিয়াল * চানভুদাই * সাকাতুয়া * জ্ঞানকীর পোলা * জামাতাল * চিন্তাইকারী * টকমারানি * তখতাবধায়ক * হাড়হাভাডে * ব্রাজলিল * পুটুহন্তাস * কামালগোটা * বামাত * ফুটবলদ * আলোচোনা * ট্যাগটিভিস্ট * মুসলমানবতা * ফ্যাম্পায়ার * পরপুটুপয়মালপুলক * সুফা * ইমরাণ্ডি * গুজবুক * ইকবালখিল্যতা * নুনূর্ষূ * বাম্রাজ্যবাদ * ফেসবুকাচোদা * সুফা * বার্গস্বাধীনতা * চেকিনগুণিয়া * হোগায়ক * আলজারজি * বন্ধুকাঠি * ভঙ্গীকার * পাছুশুঁকরে * ভাববাচ্যু * নরাদ টাকলা * দুখীপাছু * গদিমাতৃক * নামকহারাম * খালেদাবোমা * আমিশয় * ণূড়াকামিতা * উটকথা * শবে ঝুলন * আলীমদ্বার * আরামাদান * ককস্বাধীনতা * মাথাফাঁকা * ডিমবাবুয়ে * সিকিচরম * আধাচরম * শবে ঝুলন * গোয়াযম * দীর্ঘজেবী * তালপুরুষ j6ljzyk2y5nesldv69xwukox8j4e26m 133144 133143 2022-08-27T09:59:57Z Aishik Rehman 5592 wikitext text/x-wiki <div class="nav-tab-wrapper"> <span class="nav-tab nav-tab-active">বাংলা</span> <span class="nav-tab">ইংরেজি</span> </div> <div id="tab-1" class="tab-content active"> Some content here. </div> <div id="tab-2" class="tab-content hidden"> Some more here. </div> <div class="row"> <div class="col-50-left"> <h4 class="block_title">Bengali proverbs of the day</h4> <div class="fixBox box"> *জুতা সেলাই থেকে চণ্ডীপাঠ (prov) all activities irrespective of high and low, great and small. জোর যার মুলুক তার (prov) a mighty person has his sway over everything; (prov) might is right. ঢাকের দায়ে মনসা বিকানো (figurative) excessive expense for a useless thing; (prov) to sell one’s homestead to grease one’s car. *ধর্মের ঢাক আপনি বাজে (prov) virtue proclaims itself.</li><li> *ঢিল মারলে পাটকেল পড়ে (prov) Tit for tat.</li><li> *ঢেঁকিস্বর্গে গেলেও ধান ভানে (prov) A drudge will drudge even in heaven.</li></ul> </div> </div> <div class="col-50-right"> <h4 class="block_title">Random Figurative phrases</h4> <div id="figContainer" aria-live="polite"> <div class="fixBox box" id="figurative"> *ক্ষুরধার (adjective) (figurative) as sharp as a razor: ক্ষুরধার লেখনী. * এক কড়ার মুরোদ নেই, having not an iota of power/ability. * খই ফোটা (verb intransitive) burst open noisily in the process of being toasted; (figurative) talk much and fast: <div class="row"> <div id="figButton" style="padding:6px; float:right; margin:0 8px 8px 0;">Load more</div> </div> </div> </div> </div> </div> {{NUMBEROFEDITS}} {{mfd|help=off}} * Rhymes:    অন্ত্যমিল: * Appendix:  উইকিসরাস>পরিশিষ্ট: * Citations:    উদ্ধৃতি: * Thesaurus: থিসরাস: * [[অ্যালকুহেলিকা]], মদের ঘোর * চিন্তাইকারী * ফাহামবাগ * মানবাধিকারবার * পাঁঠালপাতা * একাডেমিশিয়াল * চানভুদাই * সাকাতুয়া * জ্ঞানকীর পোলা * জামাতাল * চিন্তাইকারী * টকমারানি * তখতাবধায়ক * হাড়হাভাডে * ব্রাজলিল * পুটুহন্তাস * কামালগোটা * বামাত * ফুটবলদ * আলোচোনা * ট্যাগটিভিস্ট * মুসলমানবতা * ফ্যাম্পায়ার * পরপুটুপয়মালপুলক * সুফা * ইমরাণ্ডি * গুজবুক * ইকবালখিল্যতা * নুনূর্ষূ * বাম্রাজ্যবাদ * ফেসবুকাচোদা * সুফা * বার্গস্বাধীনতা * চেকিনগুণিয়া * হোগায়ক * আলজারজি * বন্ধুকাঠি * ভঙ্গীকার * পাছুশুঁকরে * ভাববাচ্যু * নরাদ টাকলা * দুখীপাছু * গদিমাতৃক * নামকহারাম * খালেদাবোমা * আমিশয় * ণূড়াকামিতা * উটকথা * শবে ঝুলন * আলীমদ্বার * আরামাদান * ককস্বাধীনতা * মাথাফাঁকা * ডিমবাবুয়ে * সিকিচরম * আধাচরম * শবে ঝুলন * গোয়াযম * দীর্ঘজেবী * তালপুরুষ g14u3edrnu2vqgp204leg8us9p1vfxr ব্যবহারকারী:Aishik Rehman/common.js 2 24493 133000 130899 2022-08-27T07:00:01Z Aishik Rehman 5592 javascript text/javascript /* Add to MediaWiki:Mobile.js for custom Mobile Menu links for MW-1.34.2 with MobileFrontend and MinervaNeue Just replace span text and href to add links */ var timer = setInterval(function() { if ($('.menu ul:first').length) { console.log("mobile menu exists"); clearInterval(timer); $('.menu ul:first').after( '<ul class="level1"> \ <li> \ <a href="#" \ class="mw-ui-icon mw-ui-icon-before mw-ui-icon-mf-expand mw-ui-icon-small"> \ <span>Labs</span> \ </a> \ </li> \ <ul class="level2"> \ <li> \ <a href="/wiki/ব্যবহারকারী:Aishik Rehman/Lab 1" \ class="mw-ui-icon mw-ui-icon-before mw-ui-icon-minerva-download"> \ <span>Lab One</span> \ </a> \ </li> \ <li> \ <a href="/wiki/ব্যবহারকারী:Aishik Rehman/Lab 2" \ class="mw-ui-icon mw-ui-icon-before mw-ui-icon-minerva-mapPin"> \ <span>Lab 2</span> \ </a> \ </li> \ <li> \ <a href="/wiki/ব্যবহারকারী:Aishik Rehman/খেলাঘর ২" \ class="mw-ui-icon mw-ui-icon-before mw-ui-icon-wikimedia-bellOutline-base20"> \ <span>Lab Three</span> \ </a> \ </li> \ <li> \ <a href="/wiki/ব্যবহারকারী:Aishik Rehman/Lab 4" \ class="mw-ui-icon mw-ui-icon-before mw-ui-icon-wikimedia-bellOutline-base20"> \ <span>Lab Four</span> \ </a> \ </li> \ </ul> \ </ul>\ <ul> \ <li> \ <a href="/wiki/ব্যবহারকারী:Aishik Rehman/Tools" \ class="mw-ui-icon mw-ui-icon-before mw-ui-icon-wikimedia-editLock-base20"> \ <span>Tools & Management</span> \ </a> \ </li> \ </ul>' ); $(".menu").find(".level2").hide(); // hide level2 until level1 is clicked $(".level1").click(function(event){ $(this).find(".level2").slideToggle(500); }); // if level1 is clicked, dropdown level2 } }, 100); // check every 100ms // This will only work on Firefox, until the other browsers implement // MediaRecorder (which might not actually be that far away). // commons uploader does not work as of now // UI suggestions would be most welcome. // <nowiki> $.when( mw.loader.using( ['mediawiki.util', 'ext.gadget.Editor']), $.ready ).then(function () { var mediaDevices = navigator.mediaDevices || navigator, getUserMedia = ( mediaDevices.getUserMedia || mediaDevices.webkitGetUserMedia || mediaDevices.mozGetUserMedia || mediaDevices.msGetUserMedia ), hasTabs = 'tabbedLanguages' in window, $sections = $( hasTabs ? languageContainers : '#mw-content-text > .mw-parser-output > h2' ); var accentList = { // I'll assume that capitalized versions of the region codes themselves // are fine for the template display. // Empty strings means no special categorization. // I have no idea whether these are the right accents to have available // as options. en: { us: 'U.S.', uk: 'British', ca: 'Canadian', au: 'Australian', nz: 'New Zealand' }, de: { de: '', at: '', ch: '' }, fr: { fr: '', 'ca-qc': '' }, pt: { pt: '', br: '' }, zh: { cmn: 'Mandarin', 'cmn-2': 'Mandarin', yue: 'Cantonese', nan: 'Min Nan', cdo: 'Min Dong', hak: 'Hakka', wuu: 'Wu' }, }; if ( getUserMedia && 'MediaRecorder' in window && ( mw.config.get( 'wgNamespaceNumber' ) === 0 || mw.config.get( 'wgPageName' ) === 'Wiktionary:Sandbox' ) && mw.config.get( 'wgAction' ) === 'view' && !/&printable=yes|&diff=|&oldid=/.test( window.location.search ) ) { var stopIcon = '◼', recordIcon = '⚫', pauseIcon = '❚❚', playIcon = '►', saveIcon = '✔', uploadsInProgress = 0; mw.util.addCSS( '\ .YRAddAudio-Box { \ font-size: 10px; \ } \ .YRAddAudio-RecordButton { \ margin-right: 3px; \ cursor: pointer; \ } \ .YRAddAudio-RecordButton:hover { \ color: #DD0000; \ } \ .YRAddAudio-Recording { \ color: #DD0000; \ font-weight: bold; \ text-shadow: 0 0 1px #DD0000; \ } \ .YRAddAudio-PlayButton { \ display: none; \ margin-right: 3px; \ /* color: #AAAAAA; */ \ cursor: pointer; \ } \ .YRAddAudio-PlayButton:hover { \ color: #AAAAAA; \ } \ .YRAddAudio-SaveButton { \ display: none; \ margin-right: 3px; \ cursor: pointer; \ } \ .YRAddAudio-SaveButton:hover { \ color: #33FF22; \ } \ .YRAddAudio-accent { \ margin: 1px; \ padding: 1px; \ cursor: pointer; \ } \ .YRAddAudio-accent:hover { \ margin: 0px; \ border: 1px solid #AAA; \ padding: 1px; \ } \ .YRAddAudio-activeAccent { \ font-weight: bold; \ } \ ' ); function AButton( sectionIndex, language, headerLevel, oldHeader ) { var recording = false, recorder, $elem, $recordButton, $playButton, $saveButton, $accentList, accent, langcode; // Todo: Accent field. // Todo: Licensing information in the form. this.$elem = $elem = $( '<div>', { addClass: 'YRAddAudio-Box', append: [ $recordButton = $( '<span>', { text: recordIcon, addClass: 'YRAddAudio-RecordButton', title: 'Record audio pronunciation for this word', click: function recordOrStop() { function startRecording() { recorder.start(); $recordButton.addClass( 'YRAddAudio-Recording' ); } try { if ( !recorder ) { setupRecorder( function ( r ) { recorder = r; startRecording(); } ); langcode = findLang( sectionIndex ); if ( accentList[ langcode ] ) { var accentElemList = {}; $accentList = $( '<span>' ) .css( { display: 'inline-block' } ) .insertBefore( $saveButton ) .hide(); $.each( accentList[ langcode ], function ( accentcode, accentname ) { $accentList.append( accentElemList[ accentcode ] = $( '<span>' ) .text( accentcode.toUpperCase() ) .attr( 'title', 'Accent/dialect: ' + accentcode.toUpperCase() ) .addClass( 'YRAddAudio-accent' ) .on( 'click', function () { if ( accent ) { accentElemList[ accent ].removeClass( 'YRAddAudio-activeAccent' ); } if ( accent === accentcode ) { accent = undefined; } else { $( this ).addClass( 'YRAddAudio-activeAccent' ); accent = accentcode; } } ) ); } ); } } else { if ( recording ) { recorder.stop(); $recordButton.removeClass( 'YRAddAudio-Recording' ); $accentList && $accentList.show(); $playButton.show(); $saveButton.show(); } else { startRecording(); } } //this.innerText = recording ? recordIcon : stopIcon; recording = !recording; } catch( e ) { console.log( e, 6 ); } } } ), $playButton = $( '<span>', { text: playIcon, addClass: 'YRAddAudio-PlayButton', css: { //display: 'none' }, title: 'Play recording', click: function () { recorder.play(); } } ), $saveButton = $( '<span>', { text: saveIcon, addClass: 'YRAddAudio-SaveButton', title: 'Add this recording to the entry', click: function () { // addEdit, tying into upload //mw.loader.using( 'mediawiki.ForeignApi', function () { mw.loader.using( [ 'mediawiki.ForeignUpload', 'mediawiki.api.parse' ], function () { recorder.add( langcode, accent ); } ); } } ), 'Add audio pronunciation' ], css: { 'font-size': '10px' }, } ); function setupRecorder( cb ) { function acceptStream( stream ) { var fileExtension = MediaRecorder.isTypeSupported( 'audio/ogg' ) ? 'ogg' : 'webm', mimeType = 'audio/' + fileExtension, mediaRecorder = new MediaRecorder( stream, { mimeType: mimeType } ), chunks = [], blob; mediaRecorder.ondataavailable = function ( e ) { chunks.push( e.data ); }; mediaRecorder.onstop = function () { blob = new Blob( chunks, { 'type': mimeType } ); chunks = []; }; function editPage( langcode, accent ) { var editor = new Editor(), title = mw.config.get( 'wgPageName' ), //langcode = findLang( sectionIndex ), // Todo: Accent filename = ( langcode + '-' + ( accent ? accent + '-' : '' ) + title ).replace( /[\.:]/g, '-' ) + '.' + fileExtension, // Todo: Accent text audioTemplate = '* \{\{audio|' + filename + ( accent ? '|Audio (' + accent.toUpperCase() + ')' : '' ) + '|lang=' + langcode + '\}\}', addedWikitext = // Use '{\{subst:=\}\}' so as not to interfere // with other scripts. ( oldHeader ? '' : '\n\{\{subst:=\}\}==উচ্চারণ===\n' ) + audioTemplate; if ( !langcode ) { return editor.error( 'Language not found.' ); } // Capitalize filename = filename.charAt( 0 ).toUpperCase() + filename.slice( 1 ); ( new mw.Api() ).parse( audioTemplate ).done( function ( html ) { // Hopefully this is wrapped. var $addedElement = $( html ), $addedHeader = oldHeader || $( '<span>' ).append( $( '<h3>').text( 'Pronunciation' ) ), $redLink = $addedElement.find( '.audiofile a.new' ); if ( $redLink.length === 0 ) { // No redlink, file space already exists. // (Or there's a parsing error. Ignoring that.) editor.error( 'Audio file already exists.' ); return; } // This isn't actually a direct transclusion of the // file. Things may break or be inaccurate as a // result. $redLink.replaceWith( $( '<audio>' ).attr( { 'src': window.URL.createObjectURL( blob ), controls: 'controls' } ) ); editor.addEdit( { edit: function ( w ) { var untilPostPronunciationHeaderReg = new RegExp( '((?:\n|^)==' + language + '==' + '[\\s\\S]*?' + '(?=\n={3,}(?!Alternative|Etymology).+=+\n))' ); var inPronunciationHeaderReg = new RegExp( '((?:\n|^)==' + language + '==' + '[\\s\\S]*?' + '\n(?:\\{\\{subst:=\\}\\}|=)=+Pronunciation' + '.+=+)' ); if ( !oldHeader ) { w = w.replace( untilPostPronunciationHeaderReg, '$1' + addedWikitext + '\n' ); } else { w = w.replace( inPronunciationHeaderReg, '$1' + '\n' + addedWikitext ); } // console.log( 'wikitext', w ); // Then add '\{\{audio|' + filename + '|' + accent + '|lang=' + langcode + '\}\}' // With a header, if applicable. Maybe use the whole // '\{\{subst:=\}\}' stuff so as not to interfere // with the other scripts. return w; }, redo: function () { oldHeader || $addedHeader.insertBefore( $elem ); $addedElement.insertBefore( $elem ); $elem.hide(); }, undo: function () { oldHeader || $addedHeader.remove(); $addedElement.remove(); $elem.show(); }, after_save: function upload() { var FU = new mw.ForeignUpload(), username = mw.config.get( 'wgUserName' ); if ( uploadsInProgress === 0 ) { document.body.style.cursor = 'wait'; } uploadsInProgress++; FU.setFile( blob ); FU.setFilename( filename ); FU.setText( // Copied from en-us-test.ogg. // Dunno if it's what people usually use... '==\{\{int:description\}\}==' + '\n\{\{Information' + '\n |description = \{\{en|Pronunciation of the term in ' + ( accent ? accent + ' ' : '' ) + language + '\}\}' + '\n |date = ' + ( new Date() ).toISOString().split( 'T' )[ 0 ] + '\n |source = \{\{own\}\}' + '\n |author = \[\[User:' + username + '|' + username + '\]\]' + '\n |permission =' + '\n |other_versions =' + '\n\}\}' + '\n' + '\n==\{\{int:license-header\}\}==' + '\n\[\[Category:' + language + ' pronunciation|' + title + '\]\]' + '\n\{\{self|Cc-by-sa-3.0\}\}' ); FU.setComment( 'Upload ' + language + ( accent ? ' (' + accent + ')' : '' ) + ' audio for ' + '\[\[wikt:' + title + '|' + title + '\]\] ' + '(\[\[wikt:User:Yair rand/AddAudio.js|AddAudio.js\]\])' ); FU.upload().done( function () { uploadsInProgress--; if ( uploadsInProgress === 0 ) { document.body.style.cursor = ''; // Do a quick purge, so the file // shows up right. ( new mw.Api() ).post( { action: 'purge', titles: title } ); } } ).fail( function () { editor.error( 'Upload failed: ' + ( FU.stateDetails.error ? FU.stateDetails.error.info : '' ) ); } ); }, summary: '+[[File:' + filename + ']]' }, $addedElement[ 0 ] ); } ); } cb( { start: function () { mediaRecorder.start(); }, stop: function () { mediaRecorder.stop(); // Close the stream? }, play: function () { if ( blob ) { new Audio( window.URL.createObjectURL( blob ) ).play(); } }, add: editPage } ); } function noStream( err ) { $elem .css( 'font-color', '#A00' ) .text( 'Error: ' + err ); } if ( navigator.mediaDevices ) { getUserMedia.call( mediaDevices, { audio: true } ) .then( acceptStream ) .catch( noStream ); } else { getUserMedia.call( navigator, { audio: true }, acceptStream, noStream ); } } } function findLang( sectionIndex ) { // Find lang code for this section by pulling it from the headword. // If tabbedLanguages loaded after addaudio, hasTabs might be no // longer accurate. return ( 'tabbedLanguages' in window? $( languageContainers[ sectionIndex ] ).find( '.headword' ) : $sections.eq( sectionIndex ).find( '~* .headword' ) ).attr( 'lang' ); } // Todo: Editor log for uploading. $sections.each( function ( sectionIndex ) { var $section = $( this ), language = hasTabs ? tabbedLanguages[ sectionIndex ] : $section.find( '.mw-headline' ).text(); // Maybe use nextUntil instead of ~ here. $section.find( hasTabs ? 'h3, h4' : '~h3, ~h4' ).each( function () { var $this = $( this ), text = $this.find( '.mw-headline' ).text(), $button, oldHeader; if ( !text.startsWith( 'Alternative' ) && !text.startsWith( 'Etymology' ) ) { oldHeader = text.startsWith( 'Pronunciation' ); $button = ( new AButton( sectionIndex, language, this.nodeNode, oldHeader ) ).$elem; if ( oldHeader ) { // We already have a pronunciation header. $button.insertAfter( $this ); } else { // We don't have a pronunciation header, so we have to // add one before the first pos header. $button.insertBefore( $this ); } return false; } } ); } ); } } ); //</nowiki> // This will only work on Firefox, until the other browsers implement // MediaRecorder (which might not actually be that far away). // commons uploader does not work as of now // UI suggestions would be most welcome. // <nowiki> $.when( mw.loader.using( ['mediawiki.util', 'ext.gadget.Editor']), $.ready ).then(function () { var mediaDevices = navigator.mediaDevices || navigator, getUserMedia = ( mediaDevices.getUserMedia || mediaDevices.webkitGetUserMedia || mediaDevices.mozGetUserMedia || mediaDevices.msGetUserMedia ), hasTabs = 'tabbedLanguages' in window, $sections = $( hasTabs ? languageContainers : '#mw-content-text > .mw-parser-output > h2' ); var accentList = { // I'll assume that capitalized versions of the region codes themselves // are fine for the template display. // Empty strings means no special categorization. // I have no idea whether these are the right accents to have available // as options. en: { us: 'U.S.', uk: 'British', ca: 'Canadian', au: 'Australian', nz: 'New Zealand' }, de: { de: '', at: '', ch: '' }, fr: { fr: '', 'ca-qc': '' }, pt: { pt: '', br: '' }, zh: { cmn: 'Mandarin', 'cmn-2': 'Mandarin', yue: 'Cantonese', nan: 'Min Nan', cdo: 'Min Dong', hak: 'Hakka', wuu: 'Wu' }, }; if ( getUserMedia && 'MediaRecorder' in window && ( mw.config.get( 'wgNamespaceNumber' ) === 0 || mw.config.get( 'wgPageName' ) === 'Wiktionary:Sandbox' ) && mw.config.get( 'wgAction' ) === 'view' && !/&printable=yes|&diff=|&oldid=/.test( window.location.search ) ) { var stopIcon = '◼', recordIcon = '⚫', pauseIcon = '❚❚', playIcon = '►', saveIcon = '✔', uploadsInProgress = 0; mw.util.addCSS( '\ .YRAddAudio-Box { \ font-size: 10px; \ } \ .YRAddAudio-RecordButton { \ margin-right: 3px; \ cursor: pointer; \ } \ .YRAddAudio-RecordButton:hover { \ color: #DD0000; \ } \ .YRAddAudio-Recording { \ color: #DD0000; \ font-weight: bold; \ text-shadow: 0 0 1px #DD0000; \ } \ .YRAddAudio-PlayButton { \ display: none; \ margin-right: 3px; \ /* color: #AAAAAA; */ \ cursor: pointer; \ } \ .YRAddAudio-PlayButton:hover { \ color: #AAAAAA; \ } \ .YRAddAudio-SaveButton { \ display: none; \ margin-right: 3px; \ cursor: pointer; \ } \ .YRAddAudio-SaveButton:hover { \ color: #33FF22; \ } \ .YRAddAudio-accent { \ margin: 1px; \ padding: 1px; \ cursor: pointer; \ } \ .YRAddAudio-accent:hover { \ margin: 0px; \ border: 1px solid #AAA; \ padding: 1px; \ } \ .YRAddAudio-activeAccent { \ font-weight: bold; \ } \ ' ); function AButton( sectionIndex, language, headerLevel, oldHeader ) { var recording = false, recorder, $elem, $recordButton, $playButton, $saveButton, $accentList, accent, langcode; // Todo: Accent field. // Todo: Licensing information in the form. this.$elem = $elem = $( '<div>', { addClass: 'YRAddAudio-Box', append: [ $recordButton = $( '<span>', { text: recordIcon, addClass: 'YRAddAudio-RecordButton', title: 'Record audio pronunciation for this word', click: function recordOrStop() { function startRecording() { recorder.start(); $recordButton.addClass( 'YRAddAudio-Recording' ); } try { if ( !recorder ) { setupRecorder( function ( r ) { recorder = r; startRecording(); } ); langcode = findLang( sectionIndex ); if ( accentList[ langcode ] ) { var accentElemList = {}; $accentList = $( '<span>' ) .css( { display: 'inline-block' } ) .insertBefore( $saveButton ) .hide(); $.each( accentList[ langcode ], function ( accentcode, accentname ) { $accentList.append( accentElemList[ accentcode ] = $( '<span>' ) .text( accentcode.toUpperCase() ) .attr( 'title', 'Accent/dialect: ' + accentcode.toUpperCase() ) .addClass( 'YRAddAudio-accent' ) .on( 'click', function () { if ( accent ) { accentElemList[ accent ].removeClass( 'YRAddAudio-activeAccent' ); } if ( accent === accentcode ) { accent = undefined; } else { $( this ).addClass( 'YRAddAudio-activeAccent' ); accent = accentcode; } } ) ); } ); } } else { if ( recording ) { recorder.stop(); $recordButton.removeClass( 'YRAddAudio-Recording' ); $accentList && $accentList.show(); $playButton.show(); $saveButton.show(); } else { startRecording(); } } //this.innerText = recording ? recordIcon : stopIcon; recording = !recording; } catch( e ) { console.log( e, 6 ); } } } ), $playButton = $( '<span>', { text: playIcon, addClass: 'YRAddAudio-PlayButton', css: { //display: 'none' }, title: 'Play recording', click: function () { recorder.play(); } } ), $saveButton = $( '<span>', { text: saveIcon, addClass: 'YRAddAudio-SaveButton', title: 'Add this recording to the entry', click: function () { // addEdit, tying into upload //mw.loader.using( 'mediawiki.ForeignApi', function () { mw.loader.using( [ 'mediawiki.ForeignUpload', 'mediawiki.api.parse' ], function () { recorder.add( langcode, accent ); } ); } } ), 'Add audio pronunciation' ], css: { 'font-size': '10px' }, } ); function setupRecorder( cb ) { function acceptStream( stream ) { var fileExtension = MediaRecorder.isTypeSupported( 'audio/ogg' ) ? 'ogg' : 'webm', mimeType = 'audio/' + fileExtension, mediaRecorder = new MediaRecorder( stream, { mimeType: mimeType } ), chunks = [], blob; mediaRecorder.ondataavailable = function ( e ) { chunks.push( e.data ); }; mediaRecorder.onstop = function () { blob = new Blob( chunks, { 'type': mimeType } ); chunks = []; }; function editPage( langcode, accent ) { var editor = new Editor(), title = mw.config.get( 'wgPageName' ), //langcode = findLang( sectionIndex ), // Todo: Accent filename = ( langcode + '-' + ( accent ? accent + '-' : '' ) + title ).replace( /[\.:]/g, '-' ) + '.' + fileExtension, // Todo: Accent text audioTemplate = '* \{\{audio|' + filename + ( accent ? '|Audio (' + accent.toUpperCase() + ')' : '' ) + '|lang=' + langcode + '\}\}', addedWikitext = // Use '{\{subst:=\}\}' so as not to interfere // with other scripts. ( oldHeader ? '' : '\n\{\{subst:=\}\}==Pronunciation===\n' ) + audioTemplate; if ( !langcode ) { return editor.error( 'Language not found.' ); } // Capitalize filename = filename.charAt( 0 ).toUpperCase() + filename.slice( 1 ); ( new mw.Api() ).parse( audioTemplate ).done( function ( html ) { // Hopefully this is wrapped. var $addedElement = $( html ), $addedHeader = oldHeader || $( '<span>' ).append( $( '<h3>').text( 'Pronunciation' ) ), $redLink = $addedElement.find( '.audiofile a.new' ); if ( $redLink.length === 0 ) { // No redlink, file space already exists. // (Or there's a parsing error. Ignoring that.) editor.error( 'Audio file already exists.' ); return; } // This isn't actually a direct transclusion of the // file. Things may break or be inaccurate as a // result. $redLink.replaceWith( $( '<audio>' ).attr( { 'src': window.URL.createObjectURL( blob ), controls: 'controls' } ) ); editor.addEdit( { edit: function ( w ) { var untilPostPronunciationHeaderReg = new RegExp( '((?:\n|^)==' + language + '==' + '[\\s\\S]*?' + '(?=\n={3,}(?!Alternative|Etymology).+=+\n))' ); var inPronunciationHeaderReg = new RegExp( '((?:\n|^)==' + language + '==' + '[\\s\\S]*?' + '\n(?:\\{\\{subst:=\\}\\}|=)=+Pronunciation' + '.+=+)' ); if ( !oldHeader ) { w = w.replace( untilPostPronunciationHeaderReg, '$1' + addedWikitext + '\n' ); } else { w = w.replace( inPronunciationHeaderReg, '$1' + '\n' + addedWikitext ); } // console.log( 'wikitext', w ); // Then add '\{\{audio|' + filename + '|' + accent + '|lang=' + langcode + '\}\}' // With a header, if applicable. Maybe use the whole // '\{\{subst:=\}\}' stuff so as not to interfere // with the other scripts. return w; }, redo: function () { oldHeader || $addedHeader.insertBefore( $elem ); $addedElement.insertBefore( $elem ); $elem.hide(); }, undo: function () { oldHeader || $addedHeader.remove(); $addedElement.remove(); $elem.show(); }, after_save: function upload() { var FU = new mw.ForeignUpload(), username = mw.config.get( 'wgUserName' ); if ( uploadsInProgress === 0 ) { document.body.style.cursor = 'wait'; } uploadsInProgress++; FU.setFile( blob ); FU.setFilename( filename ); FU.setText( // Copied from en-us-test.ogg. // Dunno if it's what people usually use... '==\{\{int:description\}\}==' + '\n\{\{Information' + '\n |description = \{\{en|Pronunciation of the term in ' + ( accent ? accent + ' ' : '' ) + language + '\}\}' + '\n |date = ' + ( new Date() ).toISOString().split( 'T' )[ 0 ] + '\n |source = \{\{own\}\}' + '\n |author = \[\[User:' + username + '|' + username + '\]\]' + '\n |permission =' + '\n |other_versions =' + '\n\}\}' + '\n' + '\n==\{\{int:license-header\}\}==' + '\n\[\[Category:' + language + ' pronunciation|' + title + '\]\]' + '\n\{\{self|Cc-by-sa-3.0\}\}' ); FU.setComment( 'Upload ' + language + ( accent ? ' (' + accent + ')' : '' ) + ' audio for ' + '\[\[wikt:' + title + '|' + title + '\]\] ' + '(\[\[wikt:User:Yair rand/AddAudio.js|AddAudio.js\]\])' ); FU.upload().done( function () { uploadsInProgress--; if ( uploadsInProgress === 0 ) { document.body.style.cursor = ''; // Do a quick purge, so the file // shows up right. ( new mw.Api() ).post( { action: 'purge', titles: title } ); } } ).fail( function () { editor.error( 'Upload failed: ' + ( FU.stateDetails.error ? FU.stateDetails.error.info : '' ) ); } ); }, summary: '+[[File:' + filename + ']]' }, $addedElement[ 0 ] ); } ); } cb( { start: function () { mediaRecorder.start(); }, stop: function () { mediaRecorder.stop(); // Close the stream? }, play: function () { if ( blob ) { new Audio( window.URL.createObjectURL( blob ) ).play(); } }, add: editPage } ); } function noStream( err ) { $elem .css( 'font-color', '#A00' ) .text( 'Error: ' + err ); } if ( navigator.mediaDevices ) { getUserMedia.call( mediaDevices, { audio: true } ) .then( acceptStream ) .catch( noStream ); } else { getUserMedia.call( navigator, { audio: true }, acceptStream, noStream ); } } } function findLang( sectionIndex ) { // Find lang code for this section by pulling it from the headword. // If tabbedLanguages loaded after addaudio, hasTabs might be no // longer accurate. return ( 'tabbedLanguages' in window? $( languageContainers[ sectionIndex ] ).find( '.headword' ) : $sections.eq( sectionIndex ).find( '~* .headword' ) ).attr( 'lang' ); } // Todo: Editor log for uploading. $sections.each( function ( sectionIndex ) { var $section = $( this ), language = hasTabs ? tabbedLanguages[ sectionIndex ] : $section.find( '.mw-headline' ).text(); // Maybe use nextUntil instead of ~ here. $section.find( hasTabs ? 'h3, h4' : '~h3, ~h4' ).each( function () { var $this = $( this ), text = $this.find( '.mw-headline' ).text(), $button, oldHeader; if ( !text.startsWith( 'Alternative' ) && !text.startsWith( 'Etymology' ) ) { oldHeader = text.startsWith( 'Pronunciation' ); $button = ( new AButton( sectionIndex, language, this.nodeNode, oldHeader ) ).$elem; if ( oldHeader ) { // We already have a pronunciation header. $button.insertAfter( $this ); } else { // We don't have a pronunciation header, so we have to // add one before the first pos header. $button.insertBefore( $this ); } return false; } } ); } ); } } ); //</nowiki> // This will only work on Firefox, until the other browsers implement // MediaRecorder (which might not actually be that far away). // commons uploader does not work as of now // UI suggestions would be most welcome. // <nowiki> $.when( mw.loader.using( ['mediawiki.util', 'ext.gadget.Editor']), $.ready ).then(function () { var mediaDevices = navigator.mediaDevices || navigator, getUserMedia = ( mediaDevices.getUserMedia || mediaDevices.webkitGetUserMedia || mediaDevices.mozGetUserMedia || mediaDevices.msGetUserMedia ), hasTabs = 'tabbedLanguages' in window, $sections = $( hasTabs ? languageContainers : '#mw-content-text > .mw-parser-output > h2' ); var accentList = { // I'll assume that capitalized versions of the region codes themselves // are fine for the template display. // Empty strings means no special categorization. // I have no idea whether these are the right accents to have available // as options. en: { us: 'U.S.', uk: 'British', ca: 'Canadian', au: 'Australian', nz: 'New Zealand' }, de: { de: '', at: '', ch: '' }, fr: { fr: '', 'ca-qc': '' }, pt: { pt: '', br: '' }, zh: { cmn: 'Mandarin', 'cmn-2': 'Mandarin', yue: 'Cantonese', nan: 'Min Nan', cdo: 'Min Dong', hak: 'Hakka', wuu: 'Wu' }, }; if ( getUserMedia && 'MediaRecorder' in window && ( mw.config.get( 'wgNamespaceNumber' ) === 0 || mw.config.get( 'wgPageName' ) === 'Wiktionary:Sandbox' ) && mw.config.get( 'wgAction' ) === 'view' && !/&printable=yes|&diff=|&oldid=/.test( window.location.search ) ) { var stopIcon = '◼', recordIcon = '⚫', pauseIcon = '❚❚', playIcon = '►', saveIcon = '✔', uploadsInProgress = 0; mw.util.addCSS( '\ .YRAddAudio-Box { \ font-size: 10px; \ } \ .YRAddAudio-RecordButton { \ margin-right: 3px; \ cursor: pointer; \ } \ .YRAddAudio-RecordButton:hover { \ color: #DD0000; \ } \ .YRAddAudio-Recording { \ color: #DD0000; \ font-weight: bold; \ text-shadow: 0 0 1px #DD0000; \ } \ .YRAddAudio-PlayButton { \ display: none; \ margin-right: 3px; \ /* color: #AAAAAA; */ \ cursor: pointer; \ } \ .YRAddAudio-PlayButton:hover { \ color: #AAAAAA; \ } \ .YRAddAudio-SaveButton { \ display: none; \ margin-right: 3px; \ cursor: pointer; \ } \ .YRAddAudio-SaveButton:hover { \ color: #33FF22; \ } \ .YRAddAudio-accent { \ margin: 1px; \ padding: 1px; \ cursor: pointer; \ } \ .YRAddAudio-accent:hover { \ margin: 0px; \ border: 1px solid #AAA; \ padding: 1px; \ } \ .YRAddAudio-activeAccent { \ font-weight: bold; \ } \ ' ); function AButton( sectionIndex, language, headerLevel, oldHeader ) { var recording = false, recorder, $elem, $recordButton, $playButton, $saveButton, $accentList, accent, langcode; // Todo: Accent field. // Todo: Licensing information in the form. this.$elem = $elem = $( '<div>', { addClass: 'YRAddAudio-Box', append: [ $recordButton = $( '<span>', { text: recordIcon, addClass: 'YRAddAudio-RecordButton', title: 'Record audio pronunciation for this word', click: function recordOrStop() { function startRecording() { recorder.start(); $recordButton.addClass( 'YRAddAudio-Recording' ); } try { if ( !recorder ) { setupRecorder( function ( r ) { recorder = r; startRecording(); } ); langcode = findLang( sectionIndex ); if ( accentList[ langcode ] ) { var accentElemList = {}; $accentList = $( '<span>' ) .css( { display: 'inline-block' } ) .insertBefore( $saveButton ) .hide(); $.each( accentList[ langcode ], function ( accentcode, accentname ) { $accentList.append( accentElemList[ accentcode ] = $( '<span>' ) .text( accentcode.toUpperCase() ) .attr( 'title', 'Accent/dialect: ' + accentcode.toUpperCase() ) .addClass( 'YRAddAudio-accent' ) .on( 'click', function () { if ( accent ) { accentElemList[ accent ].removeClass( 'YRAddAudio-activeAccent' ); } if ( accent === accentcode ) { accent = undefined; } else { $( this ).addClass( 'YRAddAudio-activeAccent' ); accent = accentcode; } } ) ); } ); } } else { if ( recording ) { recorder.stop(); $recordButton.removeClass( 'YRAddAudio-Recording' ); $accentList && $accentList.show(); $playButton.show(); $saveButton.show(); } else { startRecording(); } } //this.innerText = recording ? recordIcon : stopIcon; recording = !recording; } catch( e ) { console.log( e, 6 ); } } } ), $playButton = $( '<span>', { text: playIcon, addClass: 'YRAddAudio-PlayButton', css: { //display: 'none' }, title: 'Play recording', click: function () { recorder.play(); } } ), $saveButton = $( '<span>', { text: saveIcon, addClass: 'YRAddAudio-SaveButton', title: 'Add this recording to the entry', click: function () { // addEdit, tying into upload //mw.loader.using( 'mediawiki.ForeignApi', function () { mw.loader.using( [ 'mediawiki.ForeignUpload', 'mediawiki.api.parse' ], function () { recorder.add( langcode, accent ); } ); } } ), 'Add audio pronunciation' ], css: { 'font-size': '10px' }, } ); function setupRecorder( cb ) { function acceptStream( stream ) { var fileExtension = MediaRecorder.isTypeSupported( 'audio/ogg' ) ? 'ogg' : 'webm', mimeType = 'audio/' + fileExtension, mediaRecorder = new MediaRecorder( stream, { mimeType: mimeType } ), chunks = [], blob; mediaRecorder.ondataavailable = function ( e ) { chunks.push( e.data ); }; mediaRecorder.onstop = function () { blob = new Blob( chunks, { 'type': mimeType } ); chunks = []; }; function editPage( langcode, accent ) { var editor = new Editor(), title = mw.config.get( 'wgPageName' ), //langcode = findLang( sectionIndex ), // Todo: Accent filename = ( langcode + '-' + ( accent ? accent + '-' : '' ) + title ).replace( /[\.:]/g, '-' ) + '.' + fileExtension, // Todo: Accent text audioTemplate = '* \{\{audio|' + filename + ( accent ? '|Audio (' + accent.toUpperCase() + ')' : '' ) + '|lang=' + langcode + '\}\}', addedWikitext = // Use '{\{subst:=\}\}' so as not to interfere // with other scripts. ( oldHeader ? '' : '\n\{\{subst:=\}\}==Pronunciation===\n' ) + audioTemplate; if ( !langcode ) { return editor.error( 'Language not found.' ); } // Capitalize filename = filename.charAt( 0 ).toUpperCase() + filename.slice( 1 ); ( new mw.Api() ).parse( audioTemplate ).done( function ( html ) { // Hopefully this is wrapped. var $addedElement = $( html ), $addedHeader = oldHeader || $( '<span>' ).append( $( '<h3>').text( 'Pronunciation' ) ), $redLink = $addedElement.find( '.audiofile a.new' ); if ( $redLink.length === 0 ) { // No redlink, file space already exists. // (Or there's a parsing error. Ignoring that.) editor.error( 'Audio file already exists.' ); return; } // This isn't actually a direct transclusion of the // file. Things may break or be inaccurate as a // result. $redLink.replaceWith( $( '<audio>' ).attr( { 'src': window.URL.createObjectURL( blob ), controls: 'controls' } ) ); editor.addEdit( { edit: function ( w ) { var untilPostPronunciationHeaderReg = new RegExp( '((?:\n|^)==' + language + '==' + '[\\s\\S]*?' + '(?=\n={3,}(?!Alternative|Etymology).+=+\n))' ); var inPronunciationHeaderReg = new RegExp( '((?:\n|^)==' + language + '==' + '[\\s\\S]*?' + '\n(?:\\{\\{subst:=\\}\\}|=)=+Pronunciation' + '.+=+)' ); if ( !oldHeader ) { w = w.replace( untilPostPronunciationHeaderReg, '$1' + addedWikitext + '\n' ); } else { w = w.replace( inPronunciationHeaderReg, '$1' + '\n' + addedWikitext ); } // console.log( 'wikitext', w ); // Then add '\{\{audio|' + filename + '|' + accent + '|lang=' + langcode + '\}\}' // With a header, if applicable. Maybe use the whole // '\{\{subst:=\}\}' stuff so as not to interfere // with the other scripts. return w; }, redo: function () { oldHeader || $addedHeader.insertBefore( $elem ); $addedElement.insertBefore( $elem ); $elem.hide(); }, undo: function () { oldHeader || $addedHeader.remove(); $addedElement.remove(); $elem.show(); }, after_save: function upload() { var FU = new mw.ForeignUpload(), username = mw.config.get( 'wgUserName' ); if ( uploadsInProgress === 0 ) { document.body.style.cursor = 'wait'; } uploadsInProgress++; FU.setFile( blob ); FU.setFilename( filename ); FU.setText( // Copied from en-us-test.ogg. // Dunno if it's what people usually use... '==\{\{int:description\}\}==' + '\n\{\{Information' + '\n |description = \{\{en|Pronunciation of the term in ' + ( accent ? accent + ' ' : '' ) + language + '\}\}' + '\n |date = ' + ( new Date() ).toISOString().split( 'T' )[ 0 ] + '\n |source = \{\{own\}\}' + '\n |author = \[\[User:' + username + '|' + username + '\]\]' + '\n |permission =' + '\n |other_versions =' + '\n\}\}' + '\n' + '\n==\{\{int:license-header\}\}==' + '\n\[\[Category:' + language + ' pronunciation|' + title + '\]\]' + '\n\{\{self|Cc-by-sa-3.0\}\}' ); FU.setComment( 'Upload ' + language + ( accent ? ' (' + accent + ')' : '' ) + ' audio for ' + '\[\[wikt:' + title + '|' + title + '\]\] ' + '(\[\[wikt:User:Yair rand/AddAudio.js|AddAudio.js\]\])' ); FU.upload().done( function () { uploadsInProgress--; if ( uploadsInProgress === 0 ) { document.body.style.cursor = ''; // Do a quick purge, so the file // shows up right. ( new mw.Api() ).post( { action: 'purge', titles: title } ); } } ).fail( function () { editor.error( 'Upload failed: ' + ( FU.stateDetails.error ? FU.stateDetails.error.info : '' ) ); } ); }, summary: '+[[File:' + filename + ']]' }, $addedElement[ 0 ] ); } ); } cb( { start: function () { mediaRecorder.start(); }, stop: function () { mediaRecorder.stop(); // Close the stream? }, play: function () { if ( blob ) { new Audio( window.URL.createObjectURL( blob ) ).play(); } }, add: editPage } ); } function noStream( err ) { $elem .css( 'font-color', '#A00' ) .text( 'Error: ' + err ); } if ( navigator.mediaDevices ) { getUserMedia.call( mediaDevices, { audio: true } ) .then( acceptStream ) .catch( noStream ); } else { getUserMedia.call( navigator, { audio: true }, acceptStream, noStream ); } } } function findLang( sectionIndex ) { // Find lang code for this section by pulling it from the headword. // If tabbedLanguages loaded after addaudio, hasTabs might be no // longer accurate. return ( 'tabbedLanguages' in window? $( languageContainers[ sectionIndex ] ).find( '.headword' ) : $sections.eq( sectionIndex ).find( '~* .headword' ) ).attr( 'lang' ); } // Todo: Editor log for uploading. $sections.each( function ( sectionIndex ) { var $section = $( this ), language = hasTabs ? tabbedLanguages[ sectionIndex ] : $section.find( '.mw-headline' ).text(); // Maybe use nextUntil instead of ~ here. $section.find( hasTabs ? 'h3, h4' : '~h3, ~h4' ).each( function () { var $this = $( this ), text = $this.find( '.mw-headline' ).text(), $button, oldHeader; if ( !text.startsWith( 'Alternative' ) && !text.startsWith( 'Etymology' ) ) { oldHeader = text.startsWith( 'Pronunciation' ); $button = ( new AButton( sectionIndex, language, this.nodeNode, oldHeader ) ).$elem; if ( oldHeader ) { // We already have a pronunciation header. $button.insertAfter( $this ); } else { // We don't have a pronunciation header, so we have to // add one before the first pos header. $button.insertBefore( $this ); } return false; } } ); } ); } } ); //</nowiki> // This will only work on Firefox, until the other browsers implement // MediaRecorder (which might not actually be that far away). // commons uploader does not work as of now // UI suggestions would be most welcome. // <nowiki> $.when( mw.loader.using( ['mediawiki.util', 'ext.gadget.Editor']), $.ready ).then(function () { var mediaDevices = navigator.mediaDevices || navigator, getUserMedia = ( mediaDevices.getUserMedia || mediaDevices.webkitGetUserMedia || mediaDevices.mozGetUserMedia || mediaDevices.msGetUserMedia ), hasTabs = 'tabbedLanguages' in window, $sections = $( hasTabs ? languageContainers : '#mw-content-text > .mw-parser-output > h2' ); var accentList = { // I'll assume that capitalized versions of the region codes themselves // are fine for the template display. // Empty strings means no special categorization. // I have no idea whether these are the right accents to have available // as options. en: { us: 'U.S.', uk: 'British', ca: 'Canadian', au: 'Australian', nz: 'New Zealand' }, de: { de: '', at: '', ch: '' }, fr: { fr: '', 'ca-qc': '' }, pt: { pt: '', br: '' }, zh: { cmn: 'Mandarin', 'cmn-2': 'Mandarin', yue: 'Cantonese', nan: 'Min Nan', cdo: 'Min Dong', hak: 'Hakka', wuu: 'Wu' }, }; if ( getUserMedia && 'MediaRecorder' in window && ( mw.config.get( 'wgNamespaceNumber' ) === 0 || mw.config.get( 'wgPageName' ) === 'Wiktionary:Sandbox' ) && mw.config.get( 'wgAction' ) === 'view' && !/&printable=yes|&diff=|&oldid=/.test( window.location.search ) ) { var stopIcon = '◼', recordIcon = '⚫', pauseIcon = '❚❚', playIcon = '►', saveIcon = '✔', uploadsInProgress = 0; mw.util.addCSS( '\ .YRAddAudio-Box { \ font-size: 10px; \ } \ .YRAddAudio-RecordButton { \ margin-right: 3px; \ cursor: pointer; \ } \ .YRAddAudio-RecordButton:hover { \ color: #DD0000; \ } \ .YRAddAudio-Recording { \ color: #DD0000; \ font-weight: bold; \ text-shadow: 0 0 1px #DD0000; \ } \ .YRAddAudio-PlayButton { \ display: none; \ margin-right: 3px; \ /* color: #AAAAAA; */ \ cursor: pointer; \ } \ .YRAddAudio-PlayButton:hover { \ color: #AAAAAA; \ } \ .YRAddAudio-SaveButton { \ display: none; \ margin-right: 3px; \ cursor: pointer; \ } \ .YRAddAudio-SaveButton:hover { \ color: #33FF22; \ } \ .YRAddAudio-accent { \ margin: 1px; \ padding: 1px; \ cursor: pointer; \ } \ .YRAddAudio-accent:hover { \ margin: 0px; \ border: 1px solid #AAA; \ padding: 1px; \ } \ .YRAddAudio-activeAccent { \ font-weight: bold; \ } \ ' ); function AButton( sectionIndex, language, headerLevel, oldHeader ) { var recording = false, recorder, $elem, $recordButton, $playButton, $saveButton, $accentList, accent, langcode; // Todo: Accent field. // Todo: Licensing information in the form. this.$elem = $elem = $( '<div>', { addClass: 'YRAddAudio-Box', append: [ $recordButton = $( '<span>', { text: recordIcon, addClass: 'YRAddAudio-RecordButton', title: 'Record audio pronunciation for this word', click: function recordOrStop() { function startRecording() { recorder.start(); $recordButton.addClass( 'YRAddAudio-Recording' ); } try { if ( !recorder ) { setupRecorder( function ( r ) { recorder = r; startRecording(); } ); langcode = findLang( sectionIndex ); if ( accentList[ langcode ] ) { var accentElemList = {}; $accentList = $( '<span>' ) .css( { display: 'inline-block' } ) .insertBefore( $saveButton ) .hide(); $.each( accentList[ langcode ], function ( accentcode, accentname ) { $accentList.append( accentElemList[ accentcode ] = $( '<span>' ) .text( accentcode.toUpperCase() ) .attr( 'title', 'Accent/dialect: ' + accentcode.toUpperCase() ) .addClass( 'YRAddAudio-accent' ) .on( 'click', function () { if ( accent ) { accentElemList[ accent ].removeClass( 'YRAddAudio-activeAccent' ); } if ( accent === accentcode ) { accent = undefined; } else { $( this ).addClass( 'YRAddAudio-activeAccent' ); accent = accentcode; } } ) ); } ); } } else { if ( recording ) { recorder.stop(); $recordButton.removeClass( 'YRAddAudio-Recording' ); $accentList && $accentList.show(); $playButton.show(); $saveButton.show(); } else { startRecording(); } } //this.innerText = recording ? recordIcon : stopIcon; recording = !recording; } catch( e ) { console.log( e, 6 ); } } } ), $playButton = $( '<span>', { text: playIcon, addClass: 'YRAddAudio-PlayButton', css: { //display: 'none' }, title: 'Play recording', click: function () { recorder.play(); } } ), $saveButton = $( '<span>', { text: saveIcon, addClass: 'YRAddAudio-SaveButton', title: 'Add this recording to the entry', click: function () { // addEdit, tying into upload //mw.loader.using( 'mediawiki.ForeignApi', function () { mw.loader.using( [ 'mediawiki.ForeignUpload', 'mediawiki.api.parse' ], function () { recorder.add( langcode, accent ); } ); } } ), 'Add audio pronunciation' ], css: { 'font-size': '10px' }, } ); function setupRecorder( cb ) { function acceptStream( stream ) { var fileExtension = MediaRecorder.isTypeSupported( 'audio/ogg' ) ? 'ogg' : 'webm', mimeType = 'audio/' + fileExtension, mediaRecorder = new MediaRecorder( stream, { mimeType: mimeType } ), chunks = [], blob; mediaRecorder.ondataavailable = function ( e ) { chunks.push( e.data ); }; mediaRecorder.onstop = function () { blob = new Blob( chunks, { 'type': mimeType } ); chunks = []; }; function editPage( langcode, accent ) { var editor = new Editor(), title = mw.config.get( 'wgPageName' ), //langcode = findLang( sectionIndex ), // Todo: Accent filename = ( langcode + '-' + ( accent ? accent + '-' : '' ) + title ).replace( /[\.:]/g, '-' ) + '.' + fileExtension, // Todo: Accent text audioTemplate = '* \{\{audio|' + filename + ( accent ? '|Audio (' + accent.toUpperCase() + ')' : '' ) + '|lang=' + langcode + '\}\}', addedWikitext = // Use '{\{subst:=\}\}' so as not to interfere // with other scripts. ( oldHeader ? '' : '\n\{\{subst:=\}\}==Pronunciation===\n' ) + audioTemplate; if ( !langcode ) { return editor.error( 'Language not found.' ); } // Capitalize filename = filename.charAt( 0 ).toUpperCase() + filename.slice( 1 ); ( new mw.Api() ).parse( audioTemplate ).done( function ( html ) { // Hopefully this is wrapped. var $addedElement = $( html ), $addedHeader = oldHeader || $( '<span>' ).append( $( '<h3>').text( 'Pronunciation' ) ), $redLink = $addedElement.find( '.audiofile a.new' ); if ( $redLink.length === 0 ) { // No redlink, file space already exists. // (Or there's a parsing error. Ignoring that.) editor.error( 'Audio file already exists.' ); return; } // This isn't actually a direct transclusion of the // file. Things may break or be inaccurate as a // result. $redLink.replaceWith( $( '<audio>' ).attr( { 'src': window.URL.createObjectURL( blob ), controls: 'controls' } ) ); editor.addEdit( { edit: function ( w ) { var untilPostPronunciationHeaderReg = new RegExp( '((?:\n|^)==' + language + '==' + '[\\s\\S]*?' + '(?=\n={3,}(?!Alternative|Etymology).+=+\n))' ); var inPronunciationHeaderReg = new RegExp( '((?:\n|^)==' + language + '==' + '[\\s\\S]*?' + '\n(?:\\{\\{subst:=\\}\\}|=)=+Pronunciation' + '.+=+)' ); if ( !oldHeader ) { w = w.replace( untilPostPronunciationHeaderReg, '$1' + addedWikitext + '\n' ); } else { w = w.replace( inPronunciationHeaderReg, '$1' + '\n' + addedWikitext ); } // console.log( 'wikitext', w ); // Then add '\{\{audio|' + filename + '|' + accent + '|lang=' + langcode + '\}\}' // With a header, if applicable. Maybe use the whole // '\{\{subst:=\}\}' stuff so as not to interfere // with the other scripts. return w; }, redo: function () { oldHeader || $addedHeader.insertBefore( $elem ); $addedElement.insertBefore( $elem ); $elem.hide(); }, undo: function () { oldHeader || $addedHeader.remove(); $addedElement.remove(); $elem.show(); }, after_save: function upload() { var FU = new mw.ForeignUpload(), username = mw.config.get( 'wgUserName' ); if ( uploadsInProgress === 0 ) { document.body.style.cursor = 'wait'; } uploadsInProgress++; FU.setFile( blob ); FU.setFilename( filename ); FU.setText( // Copied from en-us-test.ogg. // Dunno if it's what people usually use... '==\{\{int:description\}\}==' + '\n\{\{Information' + '\n |description = \{\{en|Pronunciation of the term in ' + ( accent ? accent + ' ' : '' ) + language + '\}\}' + '\n |date = ' + ( new Date() ).toISOString().split( 'T' )[ 0 ] + '\n |source = \{\{own\}\}' + '\n |author = \[\[User:' + username + '|' + username + '\]\]' + '\n |permission =' + '\n |other_versions =' + '\n\}\}' + '\n' + '\n==\{\{int:license-header\}\}==' + '\n\[\[Category:' + language + ' pronunciation|' + title + '\]\]' + '\n\{\{self|Cc-by-sa-3.0\}\}' ); FU.setComment( 'Upload ' + language + ( accent ? ' (' + accent + ')' : '' ) + ' audio for ' + '\[\[wikt:' + title + '|' + title + '\]\] ' + '(\[\[wikt:User:Yair rand/AddAudio.js|AddAudio.js\]\])' ); FU.upload().done( function () { uploadsInProgress--; if ( uploadsInProgress === 0 ) { document.body.style.cursor = ''; // Do a quick purge, so the file // shows up right. ( new mw.Api() ).post( { action: 'purge', titles: title } ); } } ).fail( function () { editor.error( 'Upload failed: ' + ( FU.stateDetails.error ? FU.stateDetails.error.info : '' ) ); } ); }, summary: '+[[File:' + filename + ']]' }, $addedElement[ 0 ] ); } ); } cb( { start: function () { mediaRecorder.start(); }, stop: function () { mediaRecorder.stop(); // Close the stream? }, play: function () { if ( blob ) { new Audio( window.URL.createObjectURL( blob ) ).play(); } }, add: editPage } ); } function noStream( err ) { $elem .css( 'font-color', '#A00' ) .text( 'Error: ' + err ); } if ( navigator.mediaDevices ) { getUserMedia.call( mediaDevices, { audio: true } ) .then( acceptStream ) .catch( noStream ); } else { getUserMedia.call( navigator, { audio: true }, acceptStream, noStream ); } } } function findLang( sectionIndex ) { // Find lang code for this section by pulling it from the headword. // If tabbedLanguages loaded after addaudio, hasTabs might be no // longer accurate. return ( 'tabbedLanguages' in window? $( languageContainers[ sectionIndex ] ).find( '.headword' ) : $sections.eq( sectionIndex ).find( '~* .headword' ) ).attr( 'lang' ); } // Todo: Editor log for uploading. $sections.each( function ( sectionIndex ) { var $section = $( this ), language = hasTabs ? tabbedLanguages[ sectionIndex ] : $section.find( '.mw-headline' ).text(); // Maybe use nextUntil instead of ~ here. $section.find( hasTabs ? 'h3, h4' : '~h3, ~h4' ).each( function () { var $this = $( this ), text = $this.find( '.mw-headline' ).text(), $button, oldHeader; if ( !text.startsWith( 'Alternative' ) && !text.startsWith( 'Etymology' ) ) { oldHeader = text.startsWith( 'Pronunciation' ); $button = ( new AButton( sectionIndex, language, this.nodeNode, oldHeader ) ).$elem; if ( oldHeader ) { // We already have a pronunciation header. $button.insertAfter( $this ); } else { // We don't have a pronunciation header, so we have to // add one before the first pos header. $button.insertBefore( $this ); } return false; } } ); } ); } } ); //</nowiki> // This will only work on Firefox, until the other browsers implement // MediaRecorder (which might not actually be that far away). // commons uploader does not work as of now // UI suggestions would be most welcome. // <nowiki> $.when( mw.loader.using( ['mediawiki.util', 'ext.gadget.Editor']), $.ready ).then(function () { var mediaDevices = navigator.mediaDevices || navigator, getUserMedia = ( mediaDevices.getUserMedia || mediaDevices.webkitGetUserMedia || mediaDevices.mozGetUserMedia || mediaDevices.msGetUserMedia ), hasTabs = 'tabbedLanguages' in window, $sections = $( hasTabs ? languageContainers : '#mw-content-text > .mw-parser-output > h2' ); var accentList = { // I'll assume that capitalized versions of the region codes themselves // are fine for the template display. // Empty strings means no special categorization. // I have no idea whether these are the right accents to have available // as options. en: { us: 'U.S.', uk: 'British', ca: 'Canadian', au: 'Australian', nz: 'New Zealand' }, de: { de: '', at: '', ch: '' }, fr: { fr: '', 'ca-qc': '' }, pt: { pt: '', br: '' }, zh: { cmn: 'Mandarin', 'cmn-2': 'Mandarin', yue: 'Cantonese', nan: 'Min Nan', cdo: 'Min Dong', hak: 'Hakka', wuu: 'Wu' }, }; if ( getUserMedia && 'MediaRecorder' in window && ( mw.config.get( 'wgNamespaceNumber' ) === 0 || mw.config.get( 'wgPageName' ) === 'Wiktionary:Sandbox' ) && mw.config.get( 'wgAction' ) === 'view' && !/&printable=yes|&diff=|&oldid=/.test( window.location.search ) ) { var stopIcon = '◼', recordIcon = '⚫', pauseIcon = '❚❚', playIcon = '►', saveIcon = '✔', uploadsInProgress = 0; mw.util.addCSS( '\ .YRAddAudio-Box { \ font-size: 10px; \ } \ .YRAddAudio-RecordButton { \ margin-right: 3px; \ cursor: pointer; \ } \ .YRAddAudio-RecordButton:hover { \ color: #DD0000; \ } \ .YRAddAudio-Recording { \ color: #DD0000; \ font-weight: bold; \ text-shadow: 0 0 1px #DD0000; \ } \ .YRAddAudio-PlayButton { \ display: none; \ margin-right: 3px; \ /* color: #AAAAAA; */ \ cursor: pointer; \ } \ .YRAddAudio-PlayButton:hover { \ color: #AAAAAA; \ } \ .YRAddAudio-SaveButton { \ display: none; \ margin-right: 3px; \ cursor: pointer; \ } \ .YRAddAudio-SaveButton:hover { \ color: #33FF22; \ } \ .YRAddAudio-accent { \ margin: 1px; \ padding: 1px; \ cursor: pointer; \ } \ .YRAddAudio-accent:hover { \ margin: 0px; \ border: 1px solid #AAA; \ padding: 1px; \ } \ .YRAddAudio-activeAccent { \ font-weight: bold; \ } \ ' ); function AButton( sectionIndex, language, headerLevel, oldHeader ) { var recording = false, recorder, $elem, $recordButton, $playButton, $saveButton, $accentList, accent, langcode; // Todo: Accent field. // Todo: Licensing information in the form. this.$elem = $elem = $( '<div>', { addClass: 'YRAddAudio-Box', append: [ $recordButton = $( '<span>', { text: recordIcon, addClass: 'YRAddAudio-RecordButton', title: 'Record audio pronunciation for this word', click: function recordOrStop() { function startRecording() { recorder.start(); $recordButton.addClass( 'YRAddAudio-Recording' ); } try { if ( !recorder ) { setupRecorder( function ( r ) { recorder = r; startRecording(); } ); langcode = findLang( sectionIndex ); if ( accentList[ langcode ] ) { var accentElemList = {}; $accentList = $( '<span>' ) .css( { display: 'inline-block' } ) .insertBefore( $saveButton ) .hide(); $.each( accentList[ langcode ], function ( accentcode, accentname ) { $accentList.append( accentElemList[ accentcode ] = $( '<span>' ) .text( accentcode.toUpperCase() ) .attr( 'title', 'Accent/dialect: ' + accentcode.toUpperCase() ) .addClass( 'YRAddAudio-accent' ) .on( 'click', function () { if ( accent ) { accentElemList[ accent ].removeClass( 'YRAddAudio-activeAccent' ); } if ( accent === accentcode ) { accent = undefined; } else { $( this ).addClass( 'YRAddAudio-activeAccent' ); accent = accentcode; } } ) ); } ); } } else { if ( recording ) { recorder.stop(); $recordButton.removeClass( 'YRAddAudio-Recording' ); $accentList && $accentList.show(); $playButton.show(); $saveButton.show(); } else { startRecording(); } } //this.innerText = recording ? recordIcon : stopIcon; recording = !recording; } catch( e ) { console.log( e, 6 ); } } } ), $playButton = $( '<span>', { text: playIcon, addClass: 'YRAddAudio-PlayButton', css: { //display: 'none' }, title: 'Play recording', click: function () { recorder.play(); } } ), $saveButton = $( '<span>', { text: saveIcon, addClass: 'YRAddAudio-SaveButton', title: 'Add this recording to the entry', click: function () { // addEdit, tying into upload //mw.loader.using( 'mediawiki.ForeignApi', function () { mw.loader.using( [ 'mediawiki.ForeignUpload', 'mediawiki.api.parse' ], function () { recorder.add( langcode, accent ); } ); } } ), 'Add audio pronunciation' ], css: { 'font-size': '10px' }, } ); function setupRecorder( cb ) { function acceptStream( stream ) { var fileExtension = MediaRecorder.isTypeSupported( 'audio/ogg' ) ? 'ogg' : 'webm', mimeType = 'audio/' + fileExtension, mediaRecorder = new MediaRecorder( stream, { mimeType: mimeType } ), chunks = [], blob; mediaRecorder.ondataavailable = function ( e ) { chunks.push( e.data ); }; mediaRecorder.onstop = function () { blob = new Blob( chunks, { 'type': mimeType } ); chunks = []; }; function editPage( langcode, accent ) { var editor = new Editor(), title = mw.config.get( 'wgPageName' ), //langcode = findLang( sectionIndex ), // Todo: Accent filename = ( langcode + '-' + ( accent ? accent + '-' : '' ) + title ).replace( /[\.:]/g, '-' ) + '.' + fileExtension, // Todo: Accent text audioTemplate = '* \{\{audio|' + filename + ( accent ? '|Audio (' + accent.toUpperCase() + ')' : '' ) + '|lang=' + langcode + '\}\}', addedWikitext = // Use '{\{subst:=\}\}' so as not to interfere // with other scripts. ( oldHeader ? '' : '\n\{\{subst:=\}\}==Pronunciation===\n' ) + audioTemplate; if ( !langcode ) { return editor.error( 'Language not found.' ); } // Capitalize filename = filename.charAt( 0 ).toUpperCase() + filename.slice( 1 ); ( new mw.Api() ).parse( audioTemplate ).done( function ( html ) { // Hopefully this is wrapped. var $addedElement = $( html ), $addedHeader = oldHeader || $( '<span>' ).append( $( '<h3>').text( 'Pronunciation' ) ), $redLink = $addedElement.find( '.audiofile a.new' ); if ( $redLink.length === 0 ) { // No redlink, file space already exists. // (Or there's a parsing error. Ignoring that.) editor.error( 'Audio file already exists.' ); return; } // This isn't actually a direct transclusion of the // file. Things may break or be inaccurate as a // result. $redLink.replaceWith( $( '<audio>' ).attr( { 'src': window.URL.createObjectURL( blob ), controls: 'controls' } ) ); editor.addEdit( { edit: function ( w ) { var untilPostPronunciationHeaderReg = new RegExp( '((?:\n|^)==' + language + '==' + '[\\s\\S]*?' + '(?=\n={3,}(?!Alternative|Etymology).+=+\n))' ); var inPronunciationHeaderReg = new RegExp( '((?:\n|^)==' + language + '==' + '[\\s\\S]*?' + '\n(?:\\{\\{subst:=\\}\\}|=)=+Pronunciation' + '.+=+)' ); if ( !oldHeader ) { w = w.replace( untilPostPronunciationHeaderReg, '$1' + addedWikitext + '\n' ); } else { w = w.replace( inPronunciationHeaderReg, '$1' + '\n' + addedWikitext ); } // console.log( 'wikitext', w ); // Then add '\{\{audio|' + filename + '|' + accent + '|lang=' + langcode + '\}\}' // With a header, if applicable. Maybe use the whole // '\{\{subst:=\}\}' stuff so as not to interfere // with the other scripts. return w; }, redo: function () { oldHeader || $addedHeader.insertBefore( $elem ); $addedElement.insertBefore( $elem ); $elem.hide(); }, undo: function () { oldHeader || $addedHeader.remove(); $addedElement.remove(); $elem.show(); }, after_save: function upload() { var FU = new mw.ForeignUpload(), username = mw.config.get( 'wgUserName' ); if ( uploadsInProgress === 0 ) { document.body.style.cursor = 'wait'; } uploadsInProgress++; FU.setFile( blob ); FU.setFilename( filename ); FU.setText( // Copied from en-us-test.ogg. // Dunno if it's what people usually use... '==\{\{int:description\}\}==' + '\n\{\{Information' + '\n |description = \{\{en|Pronunciation of the term in ' + ( accent ? accent + ' ' : '' ) + language + '\}\}' + '\n |date = ' + ( new Date() ).toISOString().split( 'T' )[ 0 ] + '\n |source = \{\{own\}\}' + '\n |author = \[\[User:' + username + '|' + username + '\]\]' + '\n |permission =' + '\n |other_versions =' + '\n\}\}' + '\n' + '\n==\{\{int:license-header\}\}==' + '\n\[\[Category:' + language + ' pronunciation|' + title + '\]\]' + '\n\{\{self|Cc-by-sa-3.0\}\}' ); FU.setComment( 'Upload ' + language + ( accent ? ' (' + accent + ')' : '' ) + ' audio for ' + '\[\[wikt:' + title + '|' + title + '\]\] ' + '(\[\[wikt:User:Yair rand/AddAudio.js|AddAudio.js\]\])' ); FU.upload().done( function () { uploadsInProgress--; if ( uploadsInProgress === 0 ) { document.body.style.cursor = ''; // Do a quick purge, so the file // shows up right. ( new mw.Api() ).post( { action: 'purge', titles: title } ); } } ).fail( function () { editor.error( 'Upload failed: ' + ( FU.stateDetails.error ? FU.stateDetails.error.info : '' ) ); } ); }, summary: '+[[File:' + filename + ']]' }, $addedElement[ 0 ] ); } ); } cb( { start: function () { mediaRecorder.start(); }, stop: function () { mediaRecorder.stop(); // Close the stream? }, play: function () { if ( blob ) { new Audio( window.URL.createObjectURL( blob ) ).play(); } }, add: editPage } ); } function noStream( err ) { $elem .css( 'font-color', '#A00' ) .text( 'Error: ' + err ); } if ( navigator.mediaDevices ) { getUserMedia.call( mediaDevices, { audio: true } ) .then( acceptStream ) .catch( noStream ); } else { getUserMedia.call( navigator, { audio: true }, acceptStream, noStream ); } } } function findLang( sectionIndex ) { // Find lang code for this section by pulling it from the headword. // If tabbedLanguages loaded after addaudio, hasTabs might be no // longer accurate. return ( 'tabbedLanguages' in window? $( languageContainers[ sectionIndex ] ).find( '.headword' ) : $sections.eq( sectionIndex ).find( '~* .headword' ) ).attr( 'lang' ); } // Todo: Editor log for uploading. $sections.each( function ( sectionIndex ) { var $section = $( this ), language = hasTabs ? tabbedLanguages[ sectionIndex ] : $section.find( '.mw-headline' ).text(); // Maybe use nextUntil instead of ~ here. $section.find( hasTabs ? 'h3, h4' : '~h3, ~h4' ).each( function () { var $this = $( this ), text = $this.find( '.mw-headline' ).text(), $button, oldHeader; if ( !text.startsWith( 'Alternative' ) && !text.startsWith( 'Etymology' ) ) { oldHeader = text.startsWith( 'Pronunciation' ); $button = ( new AButton( sectionIndex, language, this.nodeNode, oldHeader ) ).$elem; if ( oldHeader ) { // We already have a pronunciation header. $button.insertAfter( $this ); } else { // We don't have a pronunciation header, so we have to // add one before the first pos header. $button.insertBefore( $this ); } return false; } } ); } ); } } ); //</nowiki> 2lyrhfczqzh95kmauq97q0ckwk9adob 133001 133000 2022-08-27T07:07:19Z Aishik Rehman 5592 javascript text/javascript /* Add to MediaWiki:Mobile.js for custom Mobile Menu links for MW-1.34.2 with MobileFrontend and MinervaNeue Just replace span text and href to add links */ var timer = setInterval(function() { if ($('.menu ul:first').length) { console.log("mobile menu exists"); clearInterval(timer); $('.menu ul:first').after( '<ul class="level1"> \ <li> \ <a href="#" \ class="mw-ui-icon mw-ui-icon-before mw-ui-icon-mf-expand mw-ui-icon-small"> \ <span>Labs</span> \ </a> \ </li> \ <ul class="level2"> \ <li> \ <a href="/wiki/ব্যবহারকারী:Aishik Rehman/Lab 1" \ class="mw-ui-icon mw-ui-icon-before mw-ui-icon-minerva-download"> \ <span>Lab One</span> \ </a> \ </li> \ <li> \ <a href="/wiki/ব্যবহারকারী:Aishik Rehman/Lab 2" \ class="mw-ui-icon mw-ui-icon-before mw-ui-icon-minerva-mapPin"> \ <span>Lab 2</span> \ </a> \ </li> \ <li> \ <a href="/wiki/ব্যবহারকারী:Aishik Rehman/খেলাঘর ২" \ class="mw-ui-icon mw-ui-icon-before mw-ui-icon-wikimedia-bellOutline-base20"> \ <span>Lab Three</span> \ </a> \ </li> \ <li> \ <a href="/wiki/ব্যবহারকারী:Aishik Rehman/Lab 4" \ class="mw-ui-icon mw-ui-icon-before mw-ui-icon-wikimedia-bellOutline-base20"> \ <span>Lab Four</span> \ </a> \ </li> \ </ul> \ </ul>\ <ul> \ <li> \ <a href="/wiki/ব্যবহারকারী:Aishik Rehman/Tools" \ class="mw-ui-icon mw-ui-icon-before mw-ui-icon-wikimedia-editLock-base20"> \ <span>Tools & Management</span> \ </a> \ </li> \ </ul>' ); $(".menu").find(".level2").hide(); // hide level2 until level1 is clicked $(".level1").click(function(event){ $(this).find(".level2").slideToggle(500); }); // if level1 is clicked, dropdown level2 } }, 100); // check every 100ms // This will only work on Firefox, until the other browsers implement // MediaRecorder (which might not actually be that far away). // commons uploader does not work as of now // UI suggestions would be most welcome. // <nowiki> $.when( mw.loader.using( ['mediawiki.util', 'ext.gadget.Editor']), $.ready ).then(function () { var mediaDevices = navigator.mediaDevices || navigator, getUserMedia = ( mediaDevices.getUserMedia || mediaDevices.webkitGetUserMedia || mediaDevices.mozGetUserMedia || mediaDevices.msGetUserMedia ), hasTabs = 'tabbedLanguages' in window, $sections = $( hasTabs ? languageContainers : '#mw-content-text > .mw-parser-output > h2' ); var accentList = { // I'll assume that capitalized versions of the region codes themselves // are fine for the template display. // Empty strings means no special categorization. // I have no idea whether these are the right accents to have available // as options. en: { us: 'U.S.', uk: 'British', ca: 'Canadian', au: 'Australian', nz: 'New Zealand' }, de: { de: '', at: '', ch: '' }, fr: { fr: '', 'ca-qc': '' }, pt: { pt: '', br: '' }, zh: { cmn: 'Mandarin', 'cmn-2': 'Mandarin', yue: 'Cantonese', nan: 'Min Nan', cdo: 'Min Dong', hak: 'Hakka', wuu: 'Wu' }, }; if ( getUserMedia && 'MediaRecorder' in window && ( mw.config.get( 'wgNamespaceNumber' ) === 0 || mw.config.get( 'wgPageName' ) === 'Wiktionary:Sandbox' ) && mw.config.get( 'wgAction' ) === 'view' && !/&printable=yes|&diff=|&oldid=/.test( window.location.search ) ) { var stopIcon = '◼', recordIcon = '⚫', pauseIcon = '❚❚', playIcon = '►', saveIcon = '✔', uploadsInProgress = 0; mw.util.addCSS( '\ .YRAddAudio-Box { \ font-size: 10px; \ } \ .YRAddAudio-RecordButton { \ margin-right: 3px; \ cursor: pointer; \ } \ .YRAddAudio-RecordButton:hover { \ color: #DD0000; \ } \ .YRAddAudio-Recording { \ color: #DD0000; \ font-weight: bold; \ text-shadow: 0 0 1px #DD0000; \ } \ .YRAddAudio-PlayButton { \ display: none; \ margin-right: 3px; \ /* color: #AAAAAA; */ \ cursor: pointer; \ } \ .YRAddAudio-PlayButton:hover { \ color: #AAAAAA; \ } \ .YRAddAudio-SaveButton { \ display: none; \ margin-right: 3px; \ cursor: pointer; \ } \ .YRAddAudio-SaveButton:hover { \ color: #33FF22; \ } \ .YRAddAudio-accent { \ margin: 1px; \ padding: 1px; \ cursor: pointer; \ } \ .YRAddAudio-accent:hover { \ margin: 0px; \ border: 1px solid #AAA; \ padding: 1px; \ } \ .YRAddAudio-activeAccent { \ font-weight: bold; \ } \ ' ); function AButton( sectionIndex, language, headerLevel, oldHeader ) { var recording = false, recorder, $elem, $recordButton, $playButton, $saveButton, $accentList, accent, langcode; // Todo: Accent field. // Todo: Licensing information in the form. this.$elem = $elem = $( '<div>', { addClass: 'YRAddAudio-Box', append: [ $recordButton = $( '<span>', { text: recordIcon, addClass: 'YRAddAudio-RecordButton', title: 'Record audio pronunciation for this word', click: function recordOrStop() { function startRecording() { recorder.start(); $recordButton.addClass( 'YRAddAudio-Recording' ); } try { if ( !recorder ) { setupRecorder( function ( r ) { recorder = r; startRecording(); } ); langcode = findLang( sectionIndex ); if ( accentList[ langcode ] ) { var accentElemList = {}; $accentList = $( '<span>' ) .css( { display: 'inline-block' } ) .insertBefore( $saveButton ) .hide(); $.each( accentList[ langcode ], function ( accentcode, accentname ) { $accentList.append( accentElemList[ accentcode ] = $( '<span>' ) .text( accentcode.toUpperCase() ) .attr( 'title', 'Accent/dialect: ' + accentcode.toUpperCase() ) .addClass( 'YRAddAudio-accent' ) .on( 'click', function () { if ( accent ) { accentElemList[ accent ].removeClass( 'YRAddAudio-activeAccent' ); } if ( accent === accentcode ) { accent = undefined; } else { $( this ).addClass( 'YRAddAudio-activeAccent' ); accent = accentcode; } } ) ); } ); } } else { if ( recording ) { recorder.stop(); $recordButton.removeClass( 'YRAddAudio-Recording' ); $accentList && $accentList.show(); $playButton.show(); $saveButton.show(); } else { startRecording(); } } //this.innerText = recording ? recordIcon : stopIcon; recording = !recording; } catch( e ) { console.log( e, 6 ); } } } ), $playButton = $( '<span>', { text: playIcon, addClass: 'YRAddAudio-PlayButton', css: { //display: 'none' }, title: 'Play recording', click: function () { recorder.play(); } } ), $saveButton = $( '<span>', { text: saveIcon, addClass: 'YRAddAudio-SaveButton', title: 'Add this recording to the entry', click: function () { // addEdit, tying into upload //mw.loader.using( 'mediawiki.ForeignApi', function () { mw.loader.using( [ 'mediawiki.ForeignUpload', 'mediawiki.api.parse' ], function () { recorder.add( langcode, accent ); } ); } } ), 'Add audio pronunciation' ], css: { 'font-size': '10px' }, } ); function setupRecorder( cb ) { function acceptStream( stream ) { var fileExtension = MediaRecorder.isTypeSupported( 'audio/ogg' ) ? 'ogg' : 'webm', mimeType = 'audio/' + fileExtension, mediaRecorder = new MediaRecorder( stream, { mimeType: mimeType } ), chunks = [], blob; mediaRecorder.ondataavailable = function ( e ) { chunks.push( e.data ); }; mediaRecorder.onstop = function () { blob = new Blob( chunks, { 'type': mimeType } ); chunks = []; }; function editPage( langcode, accent ) { var editor = new Editor(), title = mw.config.get( 'wgPageName' ), //langcode = findLang( sectionIndex ), // Todo: Accent filename = ( langcode + '-' + ( accent ? accent + '-' : '' ) + title ).replace( /[\.:]/g, '-' ) + '.' + fileExtension, // Todo: Accent text audioTemplate = '* \{\{audio|' + filename + ( accent ? '|Audio (' + accent.toUpperCase() + ')' : '' ) + '|lang=' + langcode + '\}\}', addedWikitext = // Use '{\{subst:=\}\}' so as not to interfere // with other scripts. ( oldHeader ? '' : '\n\{\{subst:=\}\}==Pronunciation===\n' ) + audioTemplate; if ( !langcode ) { return editor.error( 'Language not found.' ); } // Capitalize filename = filename.charAt( 0 ).toUpperCase() + filename.slice( 1 ); ( new mw.Api() ).parse( audioTemplate ).done( function ( html ) { // Hopefully this is wrapped. var $addedElement = $( html ), $addedHeader = oldHeader || $( '<span>' ).append( $( '<h3>').text( 'Pronunciation' ) ), $redLink = $addedElement.find( '.audiofile a.new' ); if ( $redLink.length === 0 ) { // No redlink, file space already exists. // (Or there's a parsing error. Ignoring that.) editor.error( 'Audio file already exists.' ); return; } // This isn't actually a direct transclusion of the // file. Things may break or be inaccurate as a // result. $redLink.replaceWith( $( '<audio>' ).attr( { 'src': window.URL.createObjectURL( blob ), controls: 'controls' } ) ); editor.addEdit( { edit: function ( w ) { var untilPostPronunciationHeaderReg = new RegExp( '((?:\n|^)==' + language + '==' + '[\\s\\S]*?' + '(?=\n={3,}(?!Alternative|Etymology).+=+\n))' ); var inPronunciationHeaderReg = new RegExp( '((?:\n|^)==' + language + '==' + '[\\s\\S]*?' + '\n(?:\\{\\{subst:=\\}\\}|=)=+Pronunciation' + '.+=+)' ); if ( !oldHeader ) { w = w.replace( untilPostPronunciationHeaderReg, '$1' + addedWikitext + '\n' ); } else { w = w.replace( inPronunciationHeaderReg, '$1' + '\n' + addedWikitext ); } // console.log( 'wikitext', w ); // Then add '\{\{audio|' + filename + '|' + accent + '|lang=' + langcode + '\}\}' // With a header, if applicable. Maybe use the whole // '\{\{subst:=\}\}' stuff so as not to interfere // with the other scripts. return w; }, redo: function () { oldHeader || $addedHeader.insertBefore( $elem ); $addedElement.insertBefore( $elem ); $elem.hide(); }, undo: function () { oldHeader || $addedHeader.remove(); $addedElement.remove(); $elem.show(); }, after_save: function upload() { var FU = new mw.ForeignUpload(), username = mw.config.get( 'wgUserName' ); if ( uploadsInProgress === 0 ) { document.body.style.cursor = 'wait'; } uploadsInProgress++; FU.setFile( blob ); FU.setFilename( filename ); FU.setText( // Copied from en-us-test.ogg. // Dunno if it's what people usually use... '==\{\{int:description\}\}==' + '\n\{\{Information' + '\n |description = \{\{en|Pronunciation of the term in ' + ( accent ? accent + ' ' : '' ) + language + '\}\}' + '\n |date = ' + ( new Date() ).toISOString().split( 'T' )[ 0 ] + '\n |source = \{\{own\}\}' + '\n |author = \[\[User:' + username + '|' + username + '\]\]' + '\n |permission =' + '\n |other_versions =' + '\n\}\}' + '\n' + '\n==\{\{int:license-header\}\}==' + '\n\[\[Category:' + language + ' pronunciation|' + title + '\]\]' + '\n\{\{self|Cc-by-sa-3.0\}\}' ); FU.setComment( 'Upload ' + language + ( accent ? ' (' + accent + ')' : '' ) + ' audio for ' + '\[\[wikt:' + title + '|' + title + '\]\] ' + '(\[\[wikt:User:Yair rand/AddAudio.js|AddAudio.js\]\])' ); FU.upload().done( function () { uploadsInProgress--; if ( uploadsInProgress === 0 ) { document.body.style.cursor = ''; // Do a quick purge, so the file // shows up right. ( new mw.Api() ).post( { action: 'purge', titles: title } ); } } ).fail( function () { editor.error( 'Upload failed: ' + ( FU.stateDetails.error ? FU.stateDetails.error.info : '' ) ); } ); }, summary: '+[[File:' + filename + ']]' }, $addedElement[ 0 ] ); } ); } cb( { start: function () { mediaRecorder.start(); }, stop: function () { mediaRecorder.stop(); // Close the stream? }, play: function () { if ( blob ) { new Audio( window.URL.createObjectURL( blob ) ).play(); } }, add: editPage } ); } function noStream( err ) { $elem .css( 'font-color', '#A00' ) .text( 'Error: ' + err ); } if ( navigator.mediaDevices ) { getUserMedia.call( mediaDevices, { audio: true } ) .then( acceptStream ) .catch( noStream ); } else { getUserMedia.call( navigator, { audio: true }, acceptStream, noStream ); } } } function findLang( sectionIndex ) { // Find lang code for this section by pulling it from the headword. // If tabbedLanguages loaded after addaudio, hasTabs might be no // longer accurate. return ( 'tabbedLanguages' in window? $( languageContainers[ sectionIndex ] ).find( '.headword' ) : $sections.eq( sectionIndex ).find( '~* .headword' ) ).attr( 'lang' ); } // Todo: Editor log for uploading. $sections.each( function ( sectionIndex ) { var $section = $( this ), language = hasTabs ? tabbedLanguages[ sectionIndex ] : $section.find( '.mw-headline' ).text(); // Maybe use nextUntil instead of ~ here. $section.find( hasTabs ? 'h3, h4' : '~h3, ~h4' ).each( function () { var $this = $( this ), text = $this.find( '.mw-headline' ).text(), $button, oldHeader; if ( !text.startsWith( 'Alternative' ) && !text.startsWith( 'Etymology' ) ) { oldHeader = text.startsWith( 'Pronunciation' ); $button = ( new AButton( sectionIndex, language, this.nodeNode, oldHeader ) ).$elem; if ( oldHeader ) { // We already have a pronunciation header. $button.insertAfter( $this ); } else { // We don't have a pronunciation header, so we have to // add one before the first pos header. $button.insertBefore( $this ); } return false; } } ); } ); } } ); //</nowiki> 4wvjqpvzs5rvsr5mzwe67ybcr7xfi4x 133002 133001 2022-08-27T07:10:44Z Aishik Rehman 5592 javascript text/javascript /* Add to MediaWiki:Mobile.js for custom Mobile Menu links for MW-1.34.2 with MobileFrontend and MinervaNeue Just replace span text and href to add links */ var timer = setInterval(function() { if ($('.menu ul:first').length) { console.log("mobile menu exists"); clearInterval(timer); $('.menu ul:first').after( '<ul class="level1"> \ <li> \ <a href="#" \ class="mw-ui-icon mw-ui-icon-before mw-ui-icon-mf-expand mw-ui-icon-small"> \ <span>Labs</span> \ </a> \ </li> \ <ul class="level2"> \ <li> \ <a href="/wiki/ব্যবহারকারী:Aishik Rehman/Lab 1" \ class="mw-ui-icon mw-ui-icon-before mw-ui-icon-minerva-download"> \ <span>Lab One</span> \ </a> \ </li> \ <li> \ <a href="/wiki/ব্যবহারকারী:Aishik Rehman/Lab 2" \ class="mw-ui-icon mw-ui-icon-before mw-ui-icon-minerva-mapPin"> \ <span>Lab 2</span> \ </a> \ </li> \ <li> \ <a href="/wiki/ব্যবহারকারী:Aishik Rehman/খেলাঘর ২" \ class="mw-ui-icon mw-ui-icon-before mw-ui-icon-wikimedia-bellOutline-base20"> \ <span>Lab Three</span> \ </a> \ </li> \ <li> \ <a href="/wiki/ব্যবহারকারী:Aishik Rehman/Lab 4" \ class="mw-ui-icon mw-ui-icon-before mw-ui-icon-wikimedia-bellOutline-base20"> \ <span>Lab Four</span> \ </a> \ </li> \ </ul> \ </ul>\ <ul> \ <li> \ <a href="/wiki/ব্যবহারকারী:Aishik Rehman/Tools" \ class="mw-ui-icon mw-ui-icon-before mw-ui-icon-wikimedia-editLock-base20"> \ <span>Tools & Management</span> \ </a> \ </li> \ </ul>' ); $(".menu").find(".level2").hide(); // hide level2 until level1 is clicked $(".level1").click(function(event){ $(this).find(".level2").slideToggle(500); }); // if level1 is clicked, dropdown level2 } }, 100); // check every 100ms // This will only work on Firefox, until the other browsers implement // MediaRecorder (which might not actually be that far away). // commons uploader does not work as of now // UI suggestions would be most welcome. // <nowiki> $.when( mw.loader.using( ['mediawiki.util', 'ext.gadget.Editor']), $.ready ).then(function () { var mediaDevices = navigator.mediaDevices || navigator, getUserMedia = ( mediaDevices.getUserMedia || mediaDevices.webkitGetUserMedia || mediaDevices.mozGetUserMedia || mediaDevices.msGetUserMedia ), hasTabs = 'tabbedLanguages' in window, $sections = $( hasTabs ? languageContainers : '#mw-content-text > .mw-parser-output > h2' ); var accentList = { // I'll assume that capitalized versions of the region codes themselves // are fine for the template display. // Empty strings means no special categorization. // I have no idea whether these are the right accents to have available // as options. en: { us: 'U.S.', uk: 'British', ca: 'Canadian', au: 'Australian', nz: 'New Zealand' }, de: { de: '', at: '', ch: '' }, fr: { fr: '', 'ca-qc': '' }, pt: { pt: '', br: '' }, zh: { cmn: 'Mandarin', 'cmn-2': 'Mandarin', yue: 'Cantonese', nan: 'Min Nan', cdo: 'Min Dong', hak: 'Hakka', wuu: 'Wu' }, }; if ( getUserMedia && 'MediaRecorder' in window && ( mw.config.get( 'wgNamespaceNumber' ) === 0 || mw.config.get( 'wgPageName' ) === 'Wiktionary:Sandbox' ) && mw.config.get( 'wgAction' ) === 'view' && !/&printable=yes|&diff=|&oldid=/.test( window.location.search ) ) { var stopIcon = '◼', recordIcon = '⚫', pauseIcon = '❚❚', playIcon = '►', saveIcon = '✔', uploadsInProgress = 0; mw.util.addCSS( '\ .YRAddAudio-Box { \ font-size: 10px; \ } \ .YRAddAudio-RecordButton { \ margin-right: 3px; \ cursor: pointer; \ } \ .YRAddAudio-RecordButton:hover { \ color: #DD0000; \ } \ .YRAddAudio-Recording { \ color: #DD0000; \ font-weight: bold; \ text-shadow: 0 0 1px #DD0000; \ } \ .YRAddAudio-PlayButton { \ display: none; \ margin-right: 3px; \ /* color: #AAAAAA; */ \ cursor: pointer; \ } \ .YRAddAudio-PlayButton:hover { \ color: #AAAAAA; \ } \ .YRAddAudio-SaveButton { \ display: none; \ margin-right: 3px; \ cursor: pointer; \ } \ .YRAddAudio-SaveButton:hover { \ color: #33FF22; \ } \ .YRAddAudio-accent { \ margin: 1px; \ padding: 1px; \ cursor: pointer; \ } \ .YRAddAudio-accent:hover { \ margin: 0px; \ border: 1px solid #AAA; \ padding: 1px; \ } \ .YRAddAudio-activeAccent { \ font-weight: bold; \ } \ ' ); function AButton( sectionIndex, language, headerLevel, oldHeader ) { var recording = false, recorder, $elem, $recordButton, $playButton, $saveButton, $accentList, accent, langcode; // Todo: Accent field. // Todo: Licensing information in the form. this.$elem = $elem = $( '<div>', { addClass: 'YRAddAudio-Box', append: [ $recordButton = $( '<span>', { text: recordIcon, addClass: 'YRAddAudio-RecordButton', title: 'Record audio pronunciation for this word', click: function recordOrStop() { function startRecording() { recorder.start(); $recordButton.addClass( 'YRAddAudio-Recording' ); } try { if ( !recorder ) { setupRecorder( function ( r ) { recorder = r; startRecording(); } ); langcode = findLang( sectionIndex ); if ( accentList[ langcode ] ) { var accentElemList = {}; $accentList = $( '<span>' ) .css( { display: 'inline-block' } ) .insertBefore( $saveButton ) .hide(); $.each( accentList[ langcode ], function ( accentcode, accentname ) { $accentList.append( accentElemList[ accentcode ] = $( '<span>' ) .text( accentcode.toUpperCase() ) .attr( 'title', 'Accent/dialect: ' + accentcode.toUpperCase() ) .addClass( 'YRAddAudio-accent' ) .on( 'click', function () { if ( accent ) { accentElemList[ accent ].removeClass( 'YRAddAudio-activeAccent' ); } if ( accent === accentcode ) { accent = undefined; } else { $( this ).addClass( 'YRAddAudio-activeAccent' ); accent = accentcode; } } ) ); } ); } } else { if ( recording ) { recorder.stop(); $recordButton.removeClass( 'YRAddAudio-Recording' ); $accentList && $accentList.show(); $playButton.show(); $saveButton.show(); } else { startRecording(); } } //this.innerText = recording ? recordIcon : stopIcon; recording = !recording; } catch( e ) { console.log( e, 6 ); } } } ), $playButton = $( '<span>', { text: playIcon, addClass: 'YRAddAudio-PlayButton', css: { //display: 'none' }, title: 'Play recording', click: function () { recorder.play(); } } ), $saveButton = $( '<span>', { text: saveIcon, addClass: 'YRAddAudio-SaveButton', title: 'Add this recording to the entry', click: function () { // addEdit, tying into upload //mw.loader.using( 'mediawiki.ForeignApi', function () { mw.loader.using( [ 'mediawiki.ForeignUpload', 'mediawiki.api.parse' ], function () { recorder.add( langcode, accent ); } ); } } ), 'অডিও উচ্চারণ যুক্ত করুন' ], css: { 'font-size': '10px' }, } ); function setupRecorder( cb ) { function acceptStream( stream ) { var fileExtension = MediaRecorder.isTypeSupported( 'audio/ogg' ) ? 'ogg' : 'webm', mimeType = 'audio/' + fileExtension, mediaRecorder = new MediaRecorder( stream, { mimeType: mimeType } ), chunks = [], blob; mediaRecorder.ondataavailable = function ( e ) { chunks.push( e.data ); }; mediaRecorder.onstop = function () { blob = new Blob( chunks, { 'type': mimeType } ); chunks = []; }; function editPage( langcode, accent ) { var editor = new Editor(), title = mw.config.get( 'wgPageName' ), //langcode = findLang( sectionIndex ), // Todo: Accent filename = ( langcode + '-' + ( accent ? accent + '-' : '' ) + title ).replace( /[\.:]/g, '-' ) + '.' + fileExtension, // Todo: Accent text audioTemplate = '* \{\{audio|' + filename + ( accent ? '|Audio (' + accent.toUpperCase() + ')' : '' ) + '|lang=' + langcode + '\}\}', addedWikitext = // Use '{\{subst:=\}\}' so as not to interfere // with other scripts. ( oldHeader ? '' : '\n\{\{subst:=\}\}==উচ্চারণ===\n' ) + audioTemplate; if ( !langcode ) { return editor.error( 'Language not found.' ); } // Capitalize filename = filename.charAt( 0 ).toUpperCase() + filename.slice( 1 ); ( new mw.Api() ).parse( audioTemplate ).done( function ( html ) { // Hopefully this is wrapped. var $addedElement = $( html ), $addedHeader = oldHeader || $( '<span>' ).append( $( '<h3>').text( 'উচ্চারণ' ) ), $redLink = $addedElement.find( '.audiofile a.new' ); if ( $redLink.length === 0 ) { // No redlink, file space already exists. // (Or there's a parsing error. Ignoring that.) editor.error( 'Audio file already exists.' ); return; } // This isn't actually a direct transclusion of the // file. Things may break or be inaccurate as a // result. $redLink.replaceWith( $( '<audio>' ).attr( { 'src': window.URL.createObjectURL( blob ), controls: 'controls' } ) ); editor.addEdit( { edit: function ( w ) { var untilPostPronunciationHeaderReg = new RegExp( '((?:\n|^)==' + language + '==' + '[\\s\\S]*?' + '(?=\n={3,}(?!Alternative|Etymology).+=+\n))' ); var inPronunciationHeaderReg = new RegExp( '((?:\n|^)==' + language + '==' + '[\\s\\S]*?' + '\n(?:\\{\\{subst:=\\}\\}|=)=+উচ্চারণ' + '.+=+)' ); if ( !oldHeader ) { w = w.replace( untilPostPronunciationHeaderReg, '$1' + addedWikitext + '\n' ); } else { w = w.replace( inPronunciationHeaderReg, '$1' + '\n' + addedWikitext ); } // console.log( 'wikitext', w ); // Then add '\{\{audio|' + filename + '|' + accent + '|lang=' + langcode + '\}\}' // With a header, if applicable. Maybe use the whole // '\{\{subst:=\}\}' stuff so as not to interfere // with the other scripts. return w; }, redo: function () { oldHeader || $addedHeader.insertBefore( $elem ); $addedElement.insertBefore( $elem ); $elem.hide(); }, undo: function () { oldHeader || $addedHeader.remove(); $addedElement.remove(); $elem.show(); }, after_save: function upload() { var FU = new mw.ForeignUpload(), username = mw.config.get( 'wgUserName' ); if ( uploadsInProgress === 0 ) { document.body.style.cursor = 'wait'; } uploadsInProgress++; FU.setFile( blob ); FU.setFilename( filename ); FU.setText( // Copied from en-us-test.ogg. // Dunno if it's what people usually use... '==\{\{int:description\}\}==' + '\n\{\{Information' + '\n |description = \{\{en|Pronunciation of the term in ' + ( accent ? accent + ' ' : '' ) + language + '\}\}' + '\n |date = ' + ( new Date() ).toISOString().split( 'T' )[ 0 ] + '\n |source = \{\{own\}\}' + '\n |author = \[\[User:' + username + '|' + username + '\]\]' + '\n |permission =' + '\n |other_versions =' + '\n\}\}' + '\n' + '\n==\{\{int:license-header\}\}==' + '\n\[\[Category:' + language + ' pronunciation|' + title + '\]\]' + '\n\{\{self|Cc-by-sa-3.0\}\}' ); FU.setComment( 'Upload ' + language + ( accent ? ' (' + accent + ')' : '' ) + ' audio for ' + '\[\[wikt:' + title + '|' + title + '\]\] ' + '(\[\[wikt:User:Yair rand/AddAudio.js|AddAudio.js\]\])' ); FU.upload().done( function () { uploadsInProgress--; if ( uploadsInProgress === 0 ) { document.body.style.cursor = ''; // Do a quick purge, so the file // shows up right. ( new mw.Api() ).post( { action: 'purge', titles: title } ); } } ).fail( function () { editor.error( 'Upload failed: ' + ( FU.stateDetails.error ? FU.stateDetails.error.info : '' ) ); } ); }, summary: '+[[File:' + filename + ']]' }, $addedElement[ 0 ] ); } ); } cb( { start: function () { mediaRecorder.start(); }, stop: function () { mediaRecorder.stop(); // Close the stream? }, play: function () { if ( blob ) { new Audio( window.URL.createObjectURL( blob ) ).play(); } }, add: editPage } ); } function noStream( err ) { $elem .css( 'font-color', '#A00' ) .text( 'Error: ' + err ); } if ( navigator.mediaDevices ) { getUserMedia.call( mediaDevices, { audio: true } ) .then( acceptStream ) .catch( noStream ); } else { getUserMedia.call( navigator, { audio: true }, acceptStream, noStream ); } } } function findLang( sectionIndex ) { // Find lang code for this section by pulling it from the headword. // If tabbedLanguages loaded after addaudio, hasTabs might be no // longer accurate. return ( 'tabbedLanguages' in window? $( languageContainers[ sectionIndex ] ).find( '.headword' ) : $sections.eq( sectionIndex ).find( '~* .headword' ) ).attr( 'lang' ); } // Todo: Editor log for uploading. $sections.each( function ( sectionIndex ) { var $section = $( this ), language = hasTabs ? tabbedLanguages[ sectionIndex ] : $section.find( '.mw-headline' ).text(); // Maybe use nextUntil instead of ~ here. $section.find( hasTabs ? 'h3, h4' : '~h3, ~h4' ).each( function () { var $this = $( this ), text = $this.find( '.mw-headline' ).text(), $button, oldHeader; if ( !text.startsWith( 'Alternative' ) && !text.startsWith( 'Etymology' ) ) { oldHeader = text.startsWith( 'উচ্চারণ' ); $button = ( new AButton( sectionIndex, language, this.nodeNode, oldHeader ) ).$elem; if ( oldHeader ) { // We already have a pronunciation header. $button.insertAfter( $this ); } else { // We don't have a pronunciation header, so we have to // add one before the first pos header. $button.insertBefore( $this ); } return false; } } ); } ); } } ); //</nowiki> nvs8qhiy2uc7ckmdr5rsk26huvjyr57 133003 133002 2022-08-27T07:19:17Z Aishik Rehman 5592 javascript text/javascript /* Add to MediaWiki:Mobile.js for custom Mobile Menu links for MW-1.34.2 with MobileFrontend and MinervaNeue Just replace span text and href to add links */ var timer = setInterval(function() { if ($('.menu ul:first').length) { console.log("mobile menu exists"); clearInterval(timer); $('.menu ul:first').after( '<ul class="level1"> \ <li> \ <a href="#" \ class="mw-ui-icon mw-ui-icon-before mw-ui-icon-mf-expand mw-ui-icon-small"> \ <span>Labs</span> \ </a> \ </li> \ <ul class="level2"> \ <li> \ <a href="/wiki/ব্যবহারকারী:Aishik Rehman/Lab 1" \ class="mw-ui-icon mw-ui-icon-before mw-ui-icon-minerva-download"> \ <span>Lab One</span> \ </a> \ </li> \ <li> \ <a href="/wiki/ব্যবহারকারী:Aishik Rehman/Lab 2" \ class="mw-ui-icon mw-ui-icon-before mw-ui-icon-minerva-mapPin"> \ <span>Lab 2</span> \ </a> \ </li> \ <li> \ <a href="/wiki/ব্যবহারকারী:Aishik Rehman/খেলাঘর ২" \ class="mw-ui-icon mw-ui-icon-before mw-ui-icon-wikimedia-bellOutline-base20"> \ <span>Lab Three</span> \ </a> \ </li> \ <li> \ <a href="/wiki/ব্যবহারকারী:Aishik Rehman/Lab 4" \ class="mw-ui-icon mw-ui-icon-before mw-ui-icon-wikimedia-bellOutline-base20"> \ <span>Lab Four</span> \ </a> \ </li> \ </ul> \ </ul>\ <ul> \ <li> \ <a href="/wiki/ব্যবহারকারী:Aishik Rehman/Tools" \ class="mw-ui-icon mw-ui-icon-before mw-ui-icon-wikimedia-editLock-base20"> \ <span>Tools & Management</span> \ </a> \ </li> \ </ul>' ); $(".menu").find(".level2").hide(); // hide level2 until level1 is clicked $(".level1").click(function(event){ $(this).find(".level2").slideToggle(500); }); // if level1 is clicked, dropdown level2 } }, 100); // check every 100ms // This will only work on Firefox, until the other browsers implement // MediaRecorder (which might not actually be that far away). // commons uploader does not work as of now // UI suggestions would be most welcome. // <nowiki> $.when( mw.loader.using( ['mediawiki.util', 'ext.gadget.Editor']), $.ready ).then(function () { var mediaDevices = navigator.mediaDevices || navigator, getUserMedia = ( mediaDevices.getUserMedia || mediaDevices.webkitGetUserMedia || mediaDevices.mozGetUserMedia || mediaDevices.msGetUserMedia ), hasTabs = 'tabbedLanguages' in window, $sections = $( hasTabs ? languageContainers : '#mw-content-text > .mw-parser-output > h2' ); var accentList = { // I'll assume that capitalized versions of the region codes themselves // are fine for the template display. // Empty strings means no special categorization. // I have no idea whether these are the right accents to have available // as options. en: { us: 'U.S.', uk: 'British', ca: 'Canadian', au: 'Australian', nz: 'New Zealand' }, de: { de: '', at: '', ch: '' }, fr: { fr: '', 'ca-qc': '' }, pt: { pt: '', br: '' }, zh: { cmn: 'Mandarin', 'cmn-2': 'Mandarin', yue: 'Cantonese', nan: 'Min Nan', cdo: 'Min Dong', hak: 'Hakka', wuu: 'Wu' }, }; if ( getUserMedia && 'MediaRecorder' in window && ( mw.config.get( 'wgNamespaceNumber' ) === 0 || mw.config.get( 'wgPageName' ) === 'Wiktionary:Sandbox' ) && mw.config.get( 'wgAction' ) === 'view' && !/&printable=yes|&diff=|&oldid=/.test( window.location.search ) ) { var stopIcon = '◼', recordIcon = '⚫', pauseIcon = '❚❚', playIcon = '►', saveIcon = '✔', uploadsInProgress = 0; mw.util.addCSS( '\ .YRAddAudio-Box { \ font-size: 10px; \ } \ .YRAddAudio-RecordButton { \ margin-right: 3px; \ cursor: pointer; \ } \ .YRAddAudio-RecordButton:hover { \ color: #DD0000; \ } \ .YRAddAudio-Recording { \ color: #DD0000; \ font-weight: bold; \ text-shadow: 0 0 1px #DD0000; \ } \ .YRAddAudio-PlayButton { \ display: none; \ margin-right: 3px; \ /* color: #AAAAAA; */ \ cursor: pointer; \ } \ .YRAddAudio-PlayButton:hover { \ color: #AAAAAA; \ } \ .YRAddAudio-SaveButton { \ display: none; \ margin-right: 3px; \ cursor: pointer; \ } \ .YRAddAudio-SaveButton:hover { \ color: #33FF22; \ } \ .YRAddAudio-accent { \ margin: 1px; \ padding: 1px; \ cursor: pointer; \ } \ .YRAddAudio-accent:hover { \ margin: 0px; \ border: 1px solid #AAA; \ padding: 1px; \ } \ .YRAddAudio-activeAccent { \ font-weight: bold; \ } \ ' ); function AButton( sectionIndex, language, headerLevel, oldHeader ) { var recording = false, recorder, $elem, $recordButton, $playButton, $saveButton, $accentList, accent, langcode; // Todo: Accent field. // Todo: Licensing information in the form. this.$elem = $elem = $( '<div>', { addClass: 'YRAddAudio-Box', append: [ $recordButton = $( '<span>', { text: recordIcon, addClass: 'YRAddAudio-RecordButton', title: 'Record audio pronunciation for this word', click: function recordOrStop() { function startRecording() { recorder.start(); $recordButton.addClass( 'YRAddAudio-Recording' ); } try { if ( !recorder ) { setupRecorder( function ( r ) { recorder = r; startRecording(); } ); langcode = findLang( sectionIndex ); if ( accentList[ langcode ] ) { var accentElemList = {}; $accentList = $( '<span>' ) .css( { display: 'inline-block' } ) .insertBefore( $saveButton ) .hide(); $.each( accentList[ langcode ], function ( accentcode, accentname ) { $accentList.append( accentElemList[ accentcode ] = $( '<span>' ) .text( accentcode.toUpperCase() ) .attr( 'title', 'Accent/dialect: ' + accentcode.toUpperCase() ) .addClass( 'YRAddAudio-accent' ) .on( 'click', function () { if ( accent ) { accentElemList[ accent ].removeClass( 'YRAddAudio-activeAccent' ); } if ( accent === accentcode ) { accent = undefined; } else { $( this ).addClass( 'YRAddAudio-activeAccent' ); accent = accentcode; } } ) ); } ); } } else { if ( recording ) { recorder.stop(); $recordButton.removeClass( 'YRAddAudio-Recording' ); $accentList && $accentList.show(); $playButton.show(); $saveButton.show(); } else { startRecording(); } } //this.innerText = recording ? recordIcon : stopIcon; recording = !recording; } catch( e ) { console.log( e, 6 ); } } } ), $playButton = $( '<span>', { text: playIcon, addClass: 'YRAddAudio-PlayButton', css: { //display: 'none' }, title: 'Play recording', click: function () { recorder.play(); } } ), $saveButton = $( '<span>', { text: saveIcon, addClass: 'YRAddAudio-SaveButton', title: 'Add this recording to the entry', click: function () { // addEdit, tying into upload //mw.loader.using( 'mediawiki.ForeignApi', function () { mw.loader.using( [ 'mediawiki.ForeignUpload', 'mediawiki.api' ], function () { recorder.add( langcode, accent ); } ); } } ), 'অডিও উচ্চারণ যুক্ত করুন' ], css: { 'font-size': '10px' }, } ); function setupRecorder( cb ) { function acceptStream( stream ) { var fileExtension = MediaRecorder.isTypeSupported( 'audio/ogg' ) ? 'ogg' : 'webm', mimeType = 'audio/' + fileExtension, mediaRecorder = new MediaRecorder( stream, { mimeType: mimeType } ), chunks = [], blob; mediaRecorder.ondataavailable = function ( e ) { chunks.push( e.data ); }; mediaRecorder.onstop = function () { blob = new Blob( chunks, { 'type': mimeType } ); chunks = []; }; function editPage( langcode, accent ) { var editor = new Editor(), title = mw.config.get( 'wgPageName' ), //langcode = findLang( sectionIndex ), // Todo: Accent filename = ( langcode + '-' + ( accent ? accent + '-' : '' ) + title ).replace( /[\.:]/g, '-' ) + '.' + fileExtension, // Todo: Accent text audioTemplate = '* \{\{audio|' + filename + ( accent ? '|Audio (' + accent.toUpperCase() + ')' : '' ) + '|lang=' + langcode + '\}\}', addedWikitext = // Use '{\{subst:=\}\}' so as not to interfere // with other scripts. ( oldHeader ? '' : '\n\{\{subst:=\}\}==উচ্চারণ===\n' ) + audioTemplate; if ( !langcode ) { return editor.error( 'Language not found.' ); } // Capitalize filename = filename.charAt( 0 ).toUpperCase() + filename.slice( 1 ); ( new mw.Api() ).parse( audioTemplate ).done( function ( html ) { // Hopefully this is wrapped. var $addedElement = $( html ), $addedHeader = oldHeader || $( '<span>' ).append( $( '<h3>').text( 'উচ্চারণ' ) ), $redLink = $addedElement.find( '.audiofile a.new' ); if ( $redLink.length === 0 ) { // No redlink, file space already exists. // (Or there's a parsing error. Ignoring that.) editor.error( 'Audio file already exists.' ); return; } // This isn't actually a direct transclusion of the // file. Things may break or be inaccurate as a // result. $redLink.replaceWith( $( '<audio>' ).attr( { 'src': window.URL.createObjectURL( blob ), controls: 'controls' } ) ); editor.addEdit( { edit: function ( w ) { var untilPostPronunciationHeaderReg = new RegExp( '((?:\n|^)==' + language + '==' + '[\\s\\S]*?' + '(?=\n={3,}(?!Alternative|Etymology).+=+\n))' ); var inPronunciationHeaderReg = new RegExp( '((?:\n|^)==' + language + '==' + '[\\s\\S]*?' + '\n(?:\\{\\{subst:=\\}\\}|=)=+উচ্চারণ' + '.+=+)' ); if ( !oldHeader ) { w = w.replace( untilPostPronunciationHeaderReg, '$1' + addedWikitext + '\n' ); } else { w = w.replace( inPronunciationHeaderReg, '$1' + '\n' + addedWikitext ); } // console.log( 'wikitext', w ); // Then add '\{\{audio|' + filename + '|' + accent + '|lang=' + langcode + '\}\}' // With a header, if applicable. Maybe use the whole // '\{\{subst:=\}\}' stuff so as not to interfere // with the other scripts. return w; }, redo: function () { oldHeader || $addedHeader.insertBefore( $elem ); $addedElement.insertBefore( $elem ); $elem.hide(); }, undo: function () { oldHeader || $addedHeader.remove(); $addedElement.remove(); $elem.show(); }, after_save: function upload() { var FU = new mw.ForeignUpload(), username = mw.config.get( 'wgUserName' ); if ( uploadsInProgress === 0 ) { document.body.style.cursor = 'wait'; } uploadsInProgress++; FU.setFile( blob ); FU.setFilename( filename ); FU.setText( // Copied from en-us-test.ogg. // Dunno if it's what people usually use... '==\{\{int:description\}\}==' + '\n\{\{Information' + '\n |description = \{\{en|Pronunciation of the term in ' + ( accent ? accent + ' ' : '' ) + language + '\}\}' + '\n |date = ' + ( new Date() ).toISOString().split( 'T' )[ 0 ] + '\n |source = \{\{own\}\}' + '\n |author = \[\[User:' + username + '|' + username + '\]\]' + '\n |permission =' + '\n |other_versions =' + '\n\}\}' + '\n' + '\n==\{\{int:license-header\}\}==' + '\n\[\[Category:' + language + ' pronunciation|' + title + '\]\]' + '\n\{\{self|Cc-by-sa-3.0\}\}' ); FU.setComment( 'Upload ' + language + ( accent ? ' (' + accent + ')' : '' ) + ' audio for ' + '\[\[wikt:' + title + '|' + title + '\]\] ' + '(\[\[wikt:User:Yair rand/AddAudio.js|AddAudio.js\]\])' ); FU.upload().done( function () { uploadsInProgress--; if ( uploadsInProgress === 0 ) { document.body.style.cursor = ''; // Do a quick purge, so the file // shows up right. ( new mw.Api() ).post( { action: 'purge', titles: title } ); } } ).fail( function () { editor.error( 'Upload failed: ' + ( FU.stateDetails.error ? FU.stateDetails.error.info : '' ) ); } ); }, summary: '+[[File:' + filename + ']]' }, $addedElement[ 0 ] ); } ); } cb( { start: function () { mediaRecorder.start(); }, stop: function () { mediaRecorder.stop(); // Close the stream? }, play: function () { if ( blob ) { new Audio( window.URL.createObjectURL( blob ) ).play(); } }, add: editPage } ); } function noStream( err ) { $elem .css( 'font-color', '#A00' ) .text( 'Error: ' + err ); } if ( navigator.mediaDevices ) { getUserMedia.call( mediaDevices, { audio: true } ) .then( acceptStream ) .catch( noStream ); } else { getUserMedia.call( navigator, { audio: true }, acceptStream, noStream ); } } } function findLang( sectionIndex ) { // Find lang code for this section by pulling it from the headword. // If tabbedLanguages loaded after addaudio, hasTabs might be no // longer accurate. return ( 'tabbedLanguages' in window? $( languageContainers[ sectionIndex ] ).find( '.headword' ) : $sections.eq( sectionIndex ).find( '~* .headword' ) ).attr( 'lang' ); } // Todo: Editor log for uploading. $sections.each( function ( sectionIndex ) { var $section = $( this ), language = hasTabs ? tabbedLanguages[ sectionIndex ] : $section.find( '.mw-headline' ).text(); // Maybe use nextUntil instead of ~ here. $section.find( hasTabs ? 'h3, h4' : '~h3, ~h4' ).each( function () { var $this = $( this ), text = $this.find( '.mw-headline' ).text(), $button, oldHeader; if ( !text.startsWith( 'Alternative' ) && !text.startsWith( 'Etymology' ) ) { oldHeader = text.startsWith( 'উচ্চারণ' ); $button = ( new AButton( sectionIndex, language, this.nodeNode, oldHeader ) ).$elem; if ( oldHeader ) { // We already have a pronunciation header. $button.insertAfter( $this ); } else { // We don't have a pronunciation header, so we have to // add one before the first pos header. $button.insertBefore( $this ); } return false; } } ); } ); } } ); //</nowiki> sb3f5a7fgeacpd5yduthyunz3wn3fuv 133004 133003 2022-08-27T07:22:31Z Aishik Rehman 5592 javascript text/javascript /* Add to MediaWiki:Mobile.js for custom Mobile Menu links for MW-1.34.2 with MobileFrontend and MinervaNeue Just replace span text and href to add links */ var timer = setInterval(function() { if ($('.menu ul:first').length) { console.log("mobile menu exists"); clearInterval(timer); $('.menu ul:first').after( '<ul class="level1"> \ <li> \ <a href="#" \ class="mw-ui-icon mw-ui-icon-before mw-ui-icon-mf-expand mw-ui-icon-small"> \ <span>Labs</span> \ </a> \ </li> \ <ul class="level2"> \ <li> \ <a href="/wiki/ব্যবহারকারী:Aishik Rehman/Lab 1" \ class="mw-ui-icon mw-ui-icon-before mw-ui-icon-minerva-download"> \ <span>Lab One</span> \ </a> \ </li> \ <li> \ <a href="/wiki/ব্যবহারকারী:Aishik Rehman/Lab 2" \ class="mw-ui-icon mw-ui-icon-before mw-ui-icon-minerva-mapPin"> \ <span>Lab 2</span> \ </a> \ </li> \ <li> \ <a href="/wiki/ব্যবহারকারী:Aishik Rehman/খেলাঘর ২" \ class="mw-ui-icon mw-ui-icon-before mw-ui-icon-wikimedia-bellOutline-base20"> \ <span>Lab Three</span> \ </a> \ </li> \ <li> \ <a href="/wiki/ব্যবহারকারী:Aishik Rehman/Lab 4" \ class="mw-ui-icon mw-ui-icon-before mw-ui-icon-wikimedia-bellOutline-base20"> \ <span>Lab Four</span> \ </a> \ </li> \ </ul> \ </ul>\ <ul> \ <li> \ <a href="/wiki/ব্যবহারকারী:Aishik Rehman/Tools" \ class="mw-ui-icon mw-ui-icon-before mw-ui-icon-wikimedia-editLock-base20"> \ <span>Tools & Management</span> \ </a> \ </li> \ </ul>' ); $(".menu").find(".level2").hide(); // hide level2 until level1 is clicked $(".level1").click(function(event){ $(this).find(".level2").slideToggle(500); }); // if level1 is clicked, dropdown level2 } }, 100); // check every 100ms // This will only work on Firefox, until the other browsers implement // MediaRecorder (which might not actually be that far away). // commons uploader does not work as of now // UI suggestions would be most welcome. // <nowiki> $.when( mw.loader.using( ['mediawiki.util', 'ext.gadget.Editor']), $.ready ).then(function () { var mediaDevices = navigator.mediaDevices || navigator, getUserMedia = ( mediaDevices.getUserMedia || mediaDevices.webkitGetUserMedia || mediaDevices.mozGetUserMedia || mediaDevices.msGetUserMedia ), hasTabs = 'tabbedLanguages' in window, $sections = $( hasTabs ? languageContainers : '#mw-content-text > .mw-parser-output > h2' ); var accentList = { // I'll assume that capitalized versions of the region codes themselves // are fine for the template display. // Empty strings means no special categorization. // I have no idea whether these are the right accents to have available // as options. bn: { bd: 'Bangladesh.', in: 'India'}, en: { us: 'U.S.', uk: 'British', ca: 'Canadian', au: 'Australian', nz: 'New Zealand' }, de: { de: '', at: '', ch: '' }, fr: { fr: '', 'ca-qc': '' }, pt: { pt: '', br: '' }, zh: { cmn: 'Mandarin', 'cmn-2': 'Mandarin', yue: 'Cantonese', nan: 'Min Nan', cdo: 'Min Dong', hak: 'Hakka', wuu: 'Wu' }, }; if ( getUserMedia && 'MediaRecorder' in window && ( mw.config.get( 'wgNamespaceNumber' ) === 0 || mw.config.get( 'wgPageName' ) === 'Wiktionary:Sandbox' ) && mw.config.get( 'wgAction' ) === 'view' && !/&printable=yes|&diff=|&oldid=/.test( window.location.search ) ) { var stopIcon = '◼', recordIcon = '⚫', pauseIcon = '❚❚', playIcon = '►', saveIcon = '✔', uploadsInProgress = 0; mw.util.addCSS( '\ .YRAddAudio-Box { \ font-size: 10px; \ } \ .YRAddAudio-RecordButton { \ margin-right: 3px; \ cursor: pointer; \ } \ .YRAddAudio-RecordButton:hover { \ color: #DD0000; \ } \ .YRAddAudio-Recording { \ color: #DD0000; \ font-weight: bold; \ text-shadow: 0 0 1px #DD0000; \ } \ .YRAddAudio-PlayButton { \ display: none; \ margin-right: 3px; \ /* color: #AAAAAA; */ \ cursor: pointer; \ } \ .YRAddAudio-PlayButton:hover { \ color: #AAAAAA; \ } \ .YRAddAudio-SaveButton { \ display: none; \ margin-right: 3px; \ cursor: pointer; \ } \ .YRAddAudio-SaveButton:hover { \ color: #33FF22; \ } \ .YRAddAudio-accent { \ margin: 1px; \ padding: 1px; \ cursor: pointer; \ } \ .YRAddAudio-accent:hover { \ margin: 0px; \ border: 1px solid #AAA; \ padding: 1px; \ } \ .YRAddAudio-activeAccent { \ font-weight: bold; \ } \ ' ); function AButton( sectionIndex, language, headerLevel, oldHeader ) { var recording = false, recorder, $elem, $recordButton, $playButton, $saveButton, $accentList, accent, langcode; // Todo: Accent field. // Todo: Licensing information in the form. this.$elem = $elem = $( '<div>', { addClass: 'YRAddAudio-Box', append: [ $recordButton = $( '<span>', { text: recordIcon, addClass: 'YRAddAudio-RecordButton', title: 'Record audio pronunciation for this word', click: function recordOrStop() { function startRecording() { recorder.start(); $recordButton.addClass( 'YRAddAudio-Recording' ); } try { if ( !recorder ) { setupRecorder( function ( r ) { recorder = r; startRecording(); } ); langcode = findLang( sectionIndex ); if ( accentList[ langcode ] ) { var accentElemList = {}; $accentList = $( '<span>' ) .css( { display: 'inline-block' } ) .insertBefore( $saveButton ) .hide(); $.each( accentList[ langcode ], function ( accentcode, accentname ) { $accentList.append( accentElemList[ accentcode ] = $( '<span>' ) .text( accentcode.toUpperCase() ) .attr( 'title', 'Accent/dialect: ' + accentcode.toUpperCase() ) .addClass( 'YRAddAudio-accent' ) .on( 'click', function () { if ( accent ) { accentElemList[ accent ].removeClass( 'YRAddAudio-activeAccent' ); } if ( accent === accentcode ) { accent = undefined; } else { $( this ).addClass( 'YRAddAudio-activeAccent' ); accent = accentcode; } } ) ); } ); } } else { if ( recording ) { recorder.stop(); $recordButton.removeClass( 'YRAddAudio-Recording' ); $accentList && $accentList.show(); $playButton.show(); $saveButton.show(); } else { startRecording(); } } //this.innerText = recording ? recordIcon : stopIcon; recording = !recording; } catch( e ) { console.log( e, 6 ); } } } ), $playButton = $( '<span>', { text: playIcon, addClass: 'YRAddAudio-PlayButton', css: { //display: 'none' }, title: 'Play recording', click: function () { recorder.play(); } } ), $saveButton = $( '<span>', { text: saveIcon, addClass: 'YRAddAudio-SaveButton', title: 'Add this recording to the entry', click: function () { // addEdit, tying into upload //mw.loader.using( 'mediawiki.ForeignApi', function () { mw.loader.using( [ 'mediawiki.ForeignUpload', 'mediawiki.api' ], function () { recorder.add( langcode, accent ); } ); } } ), 'অডিও উচ্চারণ যুক্ত করুন' ], css: { 'font-size': '10px' }, } ); function setupRecorder( cb ) { function acceptStream( stream ) { var fileExtension = MediaRecorder.isTypeSupported( 'audio/ogg' ) ? 'ogg' : 'webm', mimeType = 'audio/' + fileExtension, mediaRecorder = new MediaRecorder( stream, { mimeType: mimeType } ), chunks = [], blob; mediaRecorder.ondataavailable = function ( e ) { chunks.push( e.data ); }; mediaRecorder.onstop = function () { blob = new Blob( chunks, { 'type': mimeType } ); chunks = []; }; function editPage( langcode, accent ) { var editor = new Editor(), title = mw.config.get( 'wgPageName' ), //langcode = findLang( sectionIndex ), // Todo: Accent filename = ( langcode + '-' + ( accent ? accent + '-' : '' ) + title ).replace( /[\.:]/g, '-' ) + '.' + fileExtension, // Todo: Accent text audioTemplate = '* \{\{audio|' + filename + ( accent ? '|Audio (' + accent.toUpperCase() + ')' : '' ) + '|lang=' + langcode + '\}\}', addedWikitext = // Use '{\{subst:=\}\}' so as not to interfere // with other scripts. ( oldHeader ? '' : '\n\{\{subst:=\}\}==উচ্চারণ===\n' ) + audioTemplate; if ( !langcode ) { return editor.error( 'Language not found.' ); } // Capitalize filename = filename.charAt( 0 ).toUpperCase() + filename.slice( 1 ); ( new mw.Api() ).parse( audioTemplate ).done( function ( html ) { // Hopefully this is wrapped. var $addedElement = $( html ), $addedHeader = oldHeader || $( '<span>' ).append( $( '<h3>').text( 'উচ্চারণ' ) ), $redLink = $addedElement.find( '.audiofile a.new' ); if ( $redLink.length === 0 ) { // No redlink, file space already exists. // (Or there's a parsing error. Ignoring that.) editor.error( 'Audio file already exists.' ); return; } // This isn't actually a direct transclusion of the // file. Things may break or be inaccurate as a // result. $redLink.replaceWith( $( '<audio>' ).attr( { 'src': window.URL.createObjectURL( blob ), controls: 'controls' } ) ); editor.addEdit( { edit: function ( w ) { var untilPostPronunciationHeaderReg = new RegExp( '((?:\n|^)==' + language + '==' + '[\\s\\S]*?' + '(?=\n={3,}(?!Alternative|Etymology).+=+\n))' ); var inPronunciationHeaderReg = new RegExp( '((?:\n|^)==' + language + '==' + '[\\s\\S]*?' + '\n(?:\\{\\{subst:=\\}\\}|=)=+উচ্চারণ' + '.+=+)' ); if ( !oldHeader ) { w = w.replace( untilPostPronunciationHeaderReg, '$1' + addedWikitext + '\n' ); } else { w = w.replace( inPronunciationHeaderReg, '$1' + '\n' + addedWikitext ); } // console.log( 'wikitext', w ); // Then add '\{\{audio|' + filename + '|' + accent + '|lang=' + langcode + '\}\}' // With a header, if applicable. Maybe use the whole // '\{\{subst:=\}\}' stuff so as not to interfere // with the other scripts. return w; }, redo: function () { oldHeader || $addedHeader.insertBefore( $elem ); $addedElement.insertBefore( $elem ); $elem.hide(); }, undo: function () { oldHeader || $addedHeader.remove(); $addedElement.remove(); $elem.show(); }, after_save: function upload() { var FU = new mw.ForeignUpload(), username = mw.config.get( 'wgUserName' ); if ( uploadsInProgress === 0 ) { document.body.style.cursor = 'wait'; } uploadsInProgress++; FU.setFile( blob ); FU.setFilename( filename ); FU.setText( // Copied from en-us-test.ogg. // Dunno if it's what people usually use... '==\{\{int:description\}\}==' + '\n\{\{Information' + '\n |description = \{\{en|Pronunciation of the term in ' + ( accent ? accent + ' ' : '' ) + language + '\}\}' + '\n |date = ' + ( new Date() ).toISOString().split( 'T' )[ 0 ] + '\n |source = \{\{own\}\}' + '\n |author = \[\[User:' + username + '|' + username + '\]\]' + '\n |permission =' + '\n |other_versions =' + '\n\}\}' + '\n' + '\n==\{\{int:license-header\}\}==' + '\n\[\[Category:' + language + ' pronunciation|' + title + '\]\]' + '\n\{\{self|Cc-by-sa-3.0\}\}' ); FU.setComment( 'Upload ' + language + ( accent ? ' (' + accent + ')' : '' ) + ' audio for ' + '\[\[wikt:' + title + '|' + title + '\]\] ' + '(\[\[wikt:User:Yair rand/AddAudio.js|AddAudio.js\]\])' ); FU.upload().done( function () { uploadsInProgress--; if ( uploadsInProgress === 0 ) { document.body.style.cursor = ''; // Do a quick purge, so the file // shows up right. ( new mw.Api() ).post( { action: 'purge', titles: title } ); } } ).fail( function () { editor.error( 'Upload failed: ' + ( FU.stateDetails.error ? FU.stateDetails.error.info : '' ) ); } ); }, summary: '+[[File:' + filename + ']]' }, $addedElement[ 0 ] ); } ); } cb( { start: function () { mediaRecorder.start(); }, stop: function () { mediaRecorder.stop(); // Close the stream? }, play: function () { if ( blob ) { new Audio( window.URL.createObjectURL( blob ) ).play(); } }, add: editPage } ); } function noStream( err ) { $elem .css( 'font-color', '#A00' ) .text( 'Error: ' + err ); } if ( navigator.mediaDevices ) { getUserMedia.call( mediaDevices, { audio: true } ) .then( acceptStream ) .catch( noStream ); } else { getUserMedia.call( navigator, { audio: true }, acceptStream, noStream ); } } } function findLang( sectionIndex ) { // Find lang code for this section by pulling it from the headword. // If tabbedLanguages loaded after addaudio, hasTabs might be no // longer accurate. return ( 'tabbedLanguages' in window? $( languageContainers[ sectionIndex ] ).find( '.headword' ) : $sections.eq( sectionIndex ).find( '~* .headword' ) ).attr( 'lang' ); } // Todo: Editor log for uploading. $sections.each( function ( sectionIndex ) { var $section = $( this ), language = hasTabs ? tabbedLanguages[ sectionIndex ] : $section.find( '.mw-headline' ).text(); // Maybe use nextUntil instead of ~ here. $section.find( hasTabs ? 'h3, h4' : '~h3, ~h4' ).each( function () { var $this = $( this ), text = $this.find( '.mw-headline' ).text(), $button, oldHeader; if ( !text.startsWith( 'Alternative' ) && !text.startsWith( 'Etymology' ) ) { oldHeader = text.startsWith( 'উচ্চারণ' ); $button = ( new AButton( sectionIndex, language, this.nodeNode, oldHeader ) ).$elem; if ( oldHeader ) { // We already have a pronunciation header. $button.insertAfter( $this ); } else { // We don't have a pronunciation header, so we have to // add one before the first pos header. $button.insertBefore( $this ); } return false; } } ); } ); } } ); //</nowiki> aszbqt2mteau5l0f5p8n2xuut1gzits 133006 133004 2022-08-27T07:27:55Z Aishik Rehman 5592 javascript text/javascript $.when( mw.loader.using( ['mediawiki.util', 'ext.gadget.Editor']), $.ready ).then(function () { var mediaDevices = navigator.mediaDevices || navigator, getUserMedia = ( mediaDevices.getUserMedia || mediaDevices.webkitGetUserMedia || mediaDevices.mozGetUserMedia || mediaDevices.msGetUserMedia ), hasTabs = 'tabbedLanguages' in window, $sections = $( hasTabs ? languageContainers : '#mw-content-text > .mw-parser-output > h2' ); var accentList = { // I'll assume that capitalized versions of the region codes themselves // are fine for the template display. // Empty strings means no special categorization. // I have no idea whether these are the right accents to have available // as options. bn: { bd: ''}, en: { us: 'U.S.', uk: 'British', ca: 'Canadian', au: 'Australian', nz: 'New Zealand' }, de: { de: '', at: '', ch: '' }, fr: { fr: '', 'ca-qc': '' }, pt: { pt: '', br: '' }, zh: { cmn: 'Mandarin', 'cmn-2': 'Mandarin', yue: 'Cantonese', nan: 'Min Nan', cdo: 'Min Dong', hak: 'Hakka', wuu: 'Wu' }, }; if ( getUserMedia && 'MediaRecorder' in window && ( mw.config.get( 'wgNamespaceNumber' ) === 0 || mw.config.get( 'wgPageName' ) === 'Wiktionary:Sandbox' ) && mw.config.get( 'wgAction' ) === 'view' && !/&printable=yes|&diff=|&oldid=/.test( window.location.search ) ) { var stopIcon = '◼', recordIcon = '⚫', pauseIcon = '❚❚', playIcon = '►', saveIcon = '✔', uploadsInProgress = 0; mw.util.addCSS( '\ .YRAddAudio-Box { \ font-size: 10px; \ } \ .YRAddAudio-RecordButton { \ margin-right: 3px; \ cursor: pointer; \ } \ .YRAddAudio-RecordButton:hover { \ color: #DD0000; \ } \ .YRAddAudio-Recording { \ color: #DD0000; \ font-weight: bold; \ text-shadow: 0 0 1px #DD0000; \ } \ .YRAddAudio-PlayButton { \ display: none; \ margin-right: 3px; \ /* color: #AAAAAA; */ \ cursor: pointer; \ } \ .YRAddAudio-PlayButton:hover { \ color: #AAAAAA; \ } \ .YRAddAudio-SaveButton { \ display: none; \ margin-right: 3px; \ cursor: pointer; \ } \ .YRAddAudio-SaveButton:hover { \ color: #33FF22; \ } \ .YRAddAudio-accent { \ margin: 1px; \ padding: 1px; \ cursor: pointer; \ } \ .YRAddAudio-accent:hover { \ margin: 0px; \ border: 1px solid #AAA; \ padding: 1px; \ } \ .YRAddAudio-activeAccent { \ font-weight: bold; \ } \ ' ); function AButton( sectionIndex, language, headerLevel, oldHeader ) { var recording = false, recorder, $elem, $recordButton, $playButton, $saveButton, $accentList, accent, langcode; // Todo: Accent field. // Todo: Licensing information in the form. this.$elem = $elem = $( '<div>', { addClass: 'YRAddAudio-Box', append: [ $recordButton = $( '<span>', { text: recordIcon, addClass: 'YRAddAudio-RecordButton', title: 'Record audio pronunciation for this word', click: function recordOrStop() { function startRecording() { recorder.start(); $recordButton.addClass( 'YRAddAudio-Recording' ); } try { if ( !recorder ) { setupRecorder( function ( r ) { recorder = r; startRecording(); } ); langcode = findLang( sectionIndex ); if ( accentList[ langcode ] ) { var accentElemList = {}; $accentList = $( '<span>' ) .css( { display: 'inline-block' } ) .insertBefore( $saveButton ) .hide(); $.each( accentList[ langcode ], function ( accentcode, accentname ) { $accentList.append( accentElemList[ accentcode ] = $( '<span>' ) .text( accentcode.toUpperCase() ) .attr( 'title', 'Accent/dialect: ' + accentcode.toUpperCase() ) .addClass( 'YRAddAudio-accent' ) .on( 'click', function () { if ( accent ) { accentElemList[ accent ].removeClass( 'YRAddAudio-activeAccent' ); } if ( accent === accentcode ) { accent = undefined; } else { $( this ).addClass( 'YRAddAudio-activeAccent' ); accent = accentcode; } } ) ); } ); } } else { if ( recording ) { recorder.stop(); $recordButton.removeClass( 'YRAddAudio-Recording' ); $accentList && $accentList.show(); $playButton.show(); $saveButton.show(); } else { startRecording(); } } //this.innerText = recording ? recordIcon : stopIcon; recording = !recording; } catch( e ) { console.log( e, 6 ); } } } ), $playButton = $( '<span>', { text: playIcon, addClass: 'YRAddAudio-PlayButton', css: { //display: 'none' }, title: 'Play recording', click: function () { recorder.play(); } } ), $saveButton = $( '<span>', { text: saveIcon, addClass: 'YRAddAudio-SaveButton', title: 'Add this recording to the entry', click: function () { // addEdit, tying into upload //mw.loader.using( 'mediawiki.ForeignApi', function () { mw.loader.using( [ 'mediawiki.ForeignUpload', 'mediawiki.api.parse' ], function () { recorder.add( langcode, accent ); } ); } } ), 'অডিও উচ্চারণ যুক্ত করুন' ], css: { 'font-size': '10px' }, } ); function setupRecorder( cb ) { function acceptStream( stream ) { var fileExtension = MediaRecorder.isTypeSupported( 'audio/ogg' ) ? 'ogg' : 'webm', mimeType = 'audio/' + fileExtension, mediaRecorder = new MediaRecorder( stream, { mimeType: mimeType } ), chunks = [], blob; mediaRecorder.ondataavailable = function ( e ) { chunks.push( e.data ); }; mediaRecorder.onstop = function () { blob = new Blob( chunks, { 'type': mimeType } ); chunks = []; }; function editPage( langcode, accent ) { var editor = new Editor(), title = mw.config.get( 'wgPageName' ), //langcode = findLang( sectionIndex ), // Todo: Accent filename = ( langcode + '-' + ( accent ? accent + '-' : '' ) + title ).replace( /[\.:]/g, '-' ) + '.' + fileExtension, // Todo: Accent text audioTemplate = '* \{\{audio|' + filename + ( accent ? '|Audio (' + accent.toUpperCase() + ')' : '' ) + '|lang=' + langcode + '\}\}', addedWikitext = // Use '{\{subst:=\}\}' so as not to interfere // with other scripts. ( oldHeader ? '' : '\n\{\{subst:=\}\}==উচ্চারণ===\n' ) + audioTemplate; if ( !langcode ) { return editor.error( 'Language not found.' ); } // Capitalize filename = filename.charAt( 0 ).toUpperCase() + filename.slice( 1 ); ( new mw.Api() ).parse( audioTemplate ).done( function ( html ) { // Hopefully this is wrapped. var $addedElement = $( html ), $addedHeader = oldHeader || $( '<span>' ).append( $( '<h3>').text( 'উচ্চারণ' ) ), $redLink = $addedElement.find( '.audiofile a.new' ); if ( $redLink.length === 0 ) { // No redlink, file space already exists. // (Or there's a parsing error. Ignoring that.) editor.error( 'Audio file already exists.' ); return; } // This isn't actually a direct transclusion of the // file. Things may break or be inaccurate as a // result. $redLink.replaceWith( $( '<audio>' ).attr( { 'src': window.URL.createObjectURL( blob ), controls: 'controls' } ) ); editor.addEdit( { edit: function ( w ) { var untilPostPronunciationHeaderReg = new RegExp( '((?:\n|^)==' + language + '==' + '[\\s\\S]*?' + '(?=\n={3,}(?!Alternative|Etymology).+=+\n))' ); var inPronunciationHeaderReg = new RegExp( '((?:\n|^)==' + language + '==' + '[\\s\\S]*?' + '\n(?:\\{\\{subst:=\\}\\}|=)=+উচ্চারণ' + '.+=+)' ); if ( !oldHeader ) { w = w.replace( untilPostPronunciationHeaderReg, '$1' + addedWikitext + '\n' ); } else { w = w.replace( inPronunciationHeaderReg, '$1' + '\n' + addedWikitext ); } // console.log( 'wikitext', w ); // Then add '\{\{audio|' + filename + '|' + accent + '|lang=' + langcode + '\}\}' // With a header, if applicable. Maybe use the whole // '\{\{subst:=\}\}' stuff so as not to interfere // with the other scripts. return w; }, redo: function () { oldHeader || $addedHeader.insertBefore( $elem ); $addedElement.insertBefore( $elem ); $elem.hide(); }, undo: function () { oldHeader || $addedHeader.remove(); $addedElement.remove(); $elem.show(); }, after_save: function upload() { var FU = new mw.ForeignUpload(), username = mw.config.get( 'wgUserName' ); if ( uploadsInProgress === 0 ) { document.body.style.cursor = 'wait'; } uploadsInProgress++; FU.setFile( blob ); FU.setFilename( filename ); FU.setText( // Copied from en-us-test.ogg. // Dunno if it's what people usually use... '==\{\{int:description\}\}==' + '\n\{\{Information' + '\n |description = \{\{en|Pronunciation of the term in ' + ( accent ? accent + ' ' : '' ) + language + '\}\}' + '\n |date = ' + ( new Date() ).toISOString().split( 'T' )[ 0 ] + '\n |source = \{\{own\}\}' + '\n |author = \[\[User:' + username + '|' + username + '\]\]' + '\n |permission =' + '\n |other_versions =' + '\n\}\}' + '\n' + '\n==\{\{int:license-header\}\}==' + '\n\[\[Category:' + language + ' pronunciation|' + title + '\]\]' + '\n\{\{self|Cc-by-sa-3.0\}\}' ); FU.setComment( 'Upload ' + language + ( accent ? ' (' + accent + ')' : '' ) + ' audio for ' + '\[\[wikt:' + title + '|' + title + '\]\] ' + '(\[\[wikt:User:Yair rand/AddAudio.js|AddAudio.js\]\])' ); FU.upload().done( function () { uploadsInProgress--; if ( uploadsInProgress === 0 ) { document.body.style.cursor = ''; // Do a quick purge, so the file // shows up right. ( new mw.Api() ).post( { action: 'purge', titles: title } ); } } ).fail( function () { editor.error( 'Upload failed: ' + ( FU.stateDetails.error ? FU.stateDetails.error.info : '' ) ); } ); }, summary: '+[[File:' + filename + ']]' }, $addedElement[ 0 ] ); } ); } cb( { start: function () { mediaRecorder.start(); }, stop: function () { mediaRecorder.stop(); // Close the stream? }, play: function () { if ( blob ) { new Audio( window.URL.createObjectURL( blob ) ).play(); } }, add: editPage } ); } function noStream( err ) { $elem .css( 'font-color', '#A00' ) .text( 'Error: ' + err ); } if ( navigator.mediaDevices ) { getUserMedia.call( mediaDevices, { audio: true } ) .then( acceptStream ) .catch( noStream ); } else { getUserMedia.call( navigator, { audio: true }, acceptStream, noStream ); } } } function findLang( sectionIndex ) { // Find lang code for this section by pulling it from the headword. // If tabbedLanguages loaded after addaudio, hasTabs might be no // longer accurate. return ( 'tabbedLanguages' in window? $( languageContainers[ sectionIndex ] ).find( '.headword' ) : $sections.eq( sectionIndex ).find( '~* .headword' ) ).attr( 'lang' ); } // Todo: Editor log for uploading. $sections.each( function ( sectionIndex ) { var $section = $( this ), language = hasTabs ? tabbedLanguages[ sectionIndex ] : $section.find( '.mw-headline' ).text(); // Maybe use nextUntil instead of ~ here. $section.find( hasTabs ? 'h3, h4' : '~h3, ~h4' ).each( function () { var $this = $( this ), text = $this.find( '.mw-headline' ).text(), $button, oldHeader; if ( !text.startsWith( 'Alternative' ) && !text.startsWith( 'Etymology' ) ) { oldHeader = text.startsWith( 'উচ্চারণ' ); $button = ( new AButton( sectionIndex, language, this.nodeNode, oldHeader ) ).$elem; if ( oldHeader ) { // We already have a pronunciation header. $button.insertAfter( $this ); } else { // We don't have a pronunciation header, so we have to // add one before the first pos header. $button.insertBefore( $this ); } return false; } } ); } ); } } ); //</nowiki> hfku6md6tn273yib6t2l5i93msurnhl 133007 133006 2022-08-27T07:28:43Z Aishik Rehman 5592 javascript text/javascript $.when( mw.loader.using( ['mediawiki.util', 'ext.gadget.Editor']), $.ready ).then(function () { var mediaDevices = navigator.mediaDevices || navigator, getUserMedia = ( mediaDevices.getUserMedia || mediaDevices.webkitGetUserMedia || mediaDevices.mozGetUserMedia || mediaDevices.msGetUserMedia ), hasTabs = 'tabbedLanguages' in window, $sections = $( hasTabs ? languageContainers : '#mw-content-text > .mw-parser-output > h2' ); var accentList = { // I'll assume that capitalized versions of the region codes themselves // are fine for the template display. // Empty strings means no special categorization. // I have no idea whether these are the right accents to have available // as options. bn: { bd: ''}, en: { us: 'U.S.', uk: 'British', ca: 'Canadian', au: 'Australian', nz: 'New Zealand' }, de: { de: '', at: '', ch: '' }, fr: { fr: '', 'ca-qc': '' }, pt: { pt: '', br: '' }, zh: { cmn: 'Mandarin', 'cmn-2': 'Mandarin', yue: 'Cantonese', nan: 'Min Nan', cdo: 'Min Dong', hak: 'Hakka', wuu: 'Wu' }, }; if ( getUserMedia && 'MediaRecorder' in window && ( mw.config.get( 'wgNamespaceNumber' ) === 0 || mw.config.get( 'wgPageName' ) === 'Wiktionary:Sandbox' ) && mw.config.get( 'wgAction' ) === 'view' && !/&printable=yes|&diff=|&oldid=/.test( window.location.search ) ) { var stopIcon = '◼', recordIcon = '⚫', pauseIcon = '❚❚', playIcon = '►', saveIcon = '✔', uploadsInProgress = 0; mw.util.addCSS( '\ .YRAddAudio-Box { \ font-size: 10px; \ } \ .YRAddAudio-RecordButton { \ margin-right: 3px; \ cursor: pointer; \ } \ .YRAddAudio-RecordButton:hover { \ color: #DD0000; \ } \ .YRAddAudio-Recording { \ color: #DD0000; \ font-weight: bold; \ text-shadow: 0 0 1px #DD0000; \ } \ .YRAddAudio-PlayButton { \ display: none; \ margin-right: 3px; \ /* color: #AAAAAA; */ \ cursor: pointer; \ } \ .YRAddAudio-PlayButton:hover { \ color: #AAAAAA; \ } \ .YRAddAudio-SaveButton { \ display: none; \ margin-right: 3px; \ cursor: pointer; \ } \ .YRAddAudio-SaveButton:hover { \ color: #33FF22; \ } \ .YRAddAudio-accent { \ margin: 1px; \ padding: 1px; \ cursor: pointer; \ } \ .YRAddAudio-accent:hover { \ margin: 0px; \ border: 1px solid #AAA; \ padding: 1px; \ } \ .YRAddAudio-activeAccent { \ font-weight: bold; \ } \ ' ); function AButton( sectionIndex, language, headerLevel, oldHeader ) { var recording = false, recorder, $elem, $recordButton, $playButton, $saveButton, $accentList, accent, langcode; // Todo: Accent field. // Todo: Licensing information in the form. this.$elem = $elem = $( '<div>', { addClass: 'YRAddAudio-Box', append: [ $recordButton = $( '<span>', { text: recordIcon, addClass: 'YRAddAudio-RecordButton', title: 'Record audio pronunciation for this word', click: function recordOrStop() { function startRecording() { recorder.start(); $recordButton.addClass( 'YRAddAudio-Recording' ); } try { if ( !recorder ) { setupRecorder( function ( r ) { recorder = r; startRecording(); } ); langcode = findLang( sectionIndex ); if ( accentList[ langcode ] ) { var accentElemList = {}; $accentList = $( '<span>' ) .css( { display: 'inline-block' } ) .insertBefore( $saveButton ) .hide(); $.each( accentList[ langcode ], function ( accentcode, accentname ) { $accentList.append( accentElemList[ accentcode ] = $( '<span>' ) .text( accentcode.toUpperCase() ) .attr( 'title', 'Accent/dialect: ' + accentcode.toUpperCase() ) .addClass( 'YRAddAudio-accent' ) .on( 'click', function () { if ( accent ) { accentElemList[ accent ].removeClass( 'YRAddAudio-activeAccent' ); } if ( accent === accentcode ) { accent = undefined; } else { $( this ).addClass( 'YRAddAudio-activeAccent' ); accent = accentcode; } } ) ); } ); } } else { if ( recording ) { recorder.stop(); $recordButton.removeClass( 'YRAddAudio-Recording' ); $accentList && $accentList.show(); $playButton.show(); $saveButton.show(); } else { startRecording(); } } //this.innerText = recording ? recordIcon : stopIcon; recording = !recording; } catch( e ) { console.log( e, 6 ); } } } ), $playButton = $( '<span>', { text: playIcon, addClass: 'YRAddAudio-PlayButton', css: { //display: 'none' }, title: 'Play recording', click: function () { recorder.play(); } } ), $saveButton = $( '<span>', { text: saveIcon, addClass: 'YRAddAudio-SaveButton', title: 'Add this recording to the entry', click: function () { // addEdit, tying into upload //mw.loader.using( 'mediawiki.ForeignApi', function () { mw.loader.using( [ 'mediawiki.ForeignUpload', 'mediawiki.api.parse' ], function () { recorder.add( langcode, accent ); } ); } } ), 'অডিও উচ্চারণ যুক্ত করুন' ], css: { 'font-size': '10px' }, } ); function setupRecorder( cb ) { function acceptStream( stream ) { var fileExtension = MediaRecorder.isTypeSupported( 'audio/ogg' ) ? 'ogg' : 'webm', mimeType = 'audio/' + fileExtension, mediaRecorder = new MediaRecorder( stream, { mimeType: mimeType } ), chunks = [], blob; mediaRecorder.ondataavailable = function ( e ) { chunks.push( e.data ); }; mediaRecorder.onstop = function () { blob = new Blob( chunks, { 'type': mimeType } ); chunks = []; }; function editPage( langcode, accent ) { var editor = new Editor(), title = mw.config.get( 'wgPageName' ), //langcode = findLang( sectionIndex ), // Todo: Accent filename = ( langcode + '-' + ( accent ? accent + '-' : '' ) + title ).replace( /[\.:]/g, '-' ) + '.' + fileExtension, // Todo: Accent text audioTemplate = '* \{\{audio|' + filename + ( accent ? '|Audio (' + accent.toUpperCase() + ')' : '' ) + '|lang=' + langcode + '\}\}', addedWikitext = // Use '{\{subst:=\}\}' so as not to interfere // with other scripts. ( oldHeader ? '' : '\n\{\{subst:=\}\}==উচ্চারণ===\n' ) + audioTemplate; if ( !langcode ) { return editor.error( 'কোন ভাষা নির্ধারণ করা হয় নি।' ); } // Capitalize filename = filename.charAt( 0 ).toUpperCase() + filename.slice( 1 ); ( new mw.Api() ).parse( audioTemplate ).done( function ( html ) { // Hopefully this is wrapped. var $addedElement = $( html ), $addedHeader = oldHeader || $( '<span>' ).append( $( '<h3>').text( 'উচ্চারণ' ) ), $redLink = $addedElement.find( '.audiofile a.new' ); if ( $redLink.length === 0 ) { // No redlink, file space already exists. // (Or there's a parsing error. Ignoring that.) editor.error( 'Audio file already exists.' ); return; } // This isn't actually a direct transclusion of the // file. Things may break or be inaccurate as a // result. $redLink.replaceWith( $( '<audio>' ).attr( { 'src': window.URL.createObjectURL( blob ), controls: 'controls' } ) ); editor.addEdit( { edit: function ( w ) { var untilPostPronunciationHeaderReg = new RegExp( '((?:\n|^)==' + language + '==' + '[\\s\\S]*?' + '(?=\n={3,}(?!Alternative|Etymology).+=+\n))' ); var inPronunciationHeaderReg = new RegExp( '((?:\n|^)==' + language + '==' + '[\\s\\S]*?' + '\n(?:\\{\\{subst:=\\}\\}|=)=+উচ্চারণ' + '.+=+)' ); if ( !oldHeader ) { w = w.replace( untilPostPronunciationHeaderReg, '$1' + addedWikitext + '\n' ); } else { w = w.replace( inPronunciationHeaderReg, '$1' + '\n' + addedWikitext ); } // console.log( 'wikitext', w ); // Then add '\{\{audio|' + filename + '|' + accent + '|lang=' + langcode + '\}\}' // With a header, if applicable. Maybe use the whole // '\{\{subst:=\}\}' stuff so as not to interfere // with the other scripts. return w; }, redo: function () { oldHeader || $addedHeader.insertBefore( $elem ); $addedElement.insertBefore( $elem ); $elem.hide(); }, undo: function () { oldHeader || $addedHeader.remove(); $addedElement.remove(); $elem.show(); }, after_save: function upload() { var FU = new mw.ForeignUpload(), username = mw.config.get( 'wgUserName' ); if ( uploadsInProgress === 0 ) { document.body.style.cursor = 'wait'; } uploadsInProgress++; FU.setFile( blob ); FU.setFilename( filename ); FU.setText( // Copied from en-us-test.ogg. // Dunno if it's what people usually use... '==\{\{int:description\}\}==' + '\n\{\{Information' + '\n |description = \{\{en|Pronunciation of the term in ' + ( accent ? accent + ' ' : '' ) + language + '\}\}' + '\n |date = ' + ( new Date() ).toISOString().split( 'T' )[ 0 ] + '\n |source = \{\{own\}\}' + '\n |author = \[\[User:' + username + '|' + username + '\]\]' + '\n |permission =' + '\n |other_versions =' + '\n\}\}' + '\n' + '\n==\{\{int:license-header\}\}==' + '\n\[\[Category:' + language + ' pronunciation|' + title + '\]\]' + '\n\{\{self|Cc-by-sa-3.0\}\}' ); FU.setComment( 'Upload ' + language + ( accent ? ' (' + accent + ')' : '' ) + ' audio for ' + '\[\[wikt:' + title + '|' + title + '\]\] ' + '(\[\[wikt:User:Yair rand/AddAudio.js|AddAudio.js\]\])' ); FU.upload().done( function () { uploadsInProgress--; if ( uploadsInProgress === 0 ) { document.body.style.cursor = ''; // Do a quick purge, so the file // shows up right. ( new mw.Api() ).post( { action: 'purge', titles: title } ); } } ).fail( function () { editor.error( 'Upload failed: ' + ( FU.stateDetails.error ? FU.stateDetails.error.info : '' ) ); } ); }, summary: '+[[File:' + filename + ']]' }, $addedElement[ 0 ] ); } ); } cb( { start: function () { mediaRecorder.start(); }, stop: function () { mediaRecorder.stop(); // Close the stream? }, play: function () { if ( blob ) { new Audio( window.URL.createObjectURL( blob ) ).play(); } }, add: editPage } ); } function noStream( err ) { $elem .css( 'font-color', '#A00' ) .text( 'Error: ' + err ); } if ( navigator.mediaDevices ) { getUserMedia.call( mediaDevices, { audio: true } ) .then( acceptStream ) .catch( noStream ); } else { getUserMedia.call( navigator, { audio: true }, acceptStream, noStream ); } } } function findLang( sectionIndex ) { // Find lang code for this section by pulling it from the headword. // If tabbedLanguages loaded after addaudio, hasTabs might be no // longer accurate. return ( 'tabbedLanguages' in window? $( languageContainers[ sectionIndex ] ).find( '.headword' ) : $sections.eq( sectionIndex ).find( '~* .headword' ) ).attr( 'lang' ); } // Todo: Editor log for uploading. $sections.each( function ( sectionIndex ) { var $section = $( this ), language = hasTabs ? tabbedLanguages[ sectionIndex ] : $section.find( '.mw-headline' ).text(); // Maybe use nextUntil instead of ~ here. $section.find( hasTabs ? 'h3, h4' : '~h3, ~h4' ).each( function () { var $this = $( this ), text = $this.find( '.mw-headline' ).text(), $button, oldHeader; if ( !text.startsWith( 'Alternative' ) && !text.startsWith( 'Etymology' ) ) { oldHeader = text.startsWith( 'উচ্চারণ' ); $button = ( new AButton( sectionIndex, language, this.nodeNode, oldHeader ) ).$elem; if ( oldHeader ) { // We already have a pronunciation header. $button.insertAfter( $this ); } else { // We don't have a pronunciation header, so we have to // add one before the first pos header. $button.insertBefore( $this ); } return false; } } ); } ); } } ); //</nowiki> 88sa09nxx4i8102uu4cd2rdhlxv3e4a 133009 133007 2022-08-27T07:29:32Z Aishik Rehman 5592 javascript text/javascript $.when( mw.loader.using( ['mediawiki.util', 'ext.gadget.Editor']), $.ready ).then(function () { var mediaDevices = navigator.mediaDevices || navigator, getUserMedia = ( mediaDevices.getUserMedia || mediaDevices.webkitGetUserMedia || mediaDevices.mozGetUserMedia || mediaDevices.msGetUserMedia ), hasTabs = 'tabbedLanguages' in window, $sections = $( hasTabs ? languageContainers : '#mw-content-text > .mw-parser-output > h2' ); var accentList = { // I'll assume that capitalized versions of the region codes themselves // are fine for the template display. // Empty strings means no special categorization. // I have no idea whether these are the right accents to have available // as options. bn: { bd: ''}, en: { us: 'U.S.', uk: 'British', ca: 'Canadian', au: 'Australian', nz: 'New Zealand' }, de: { de: '', at: '', ch: '' }, fr: { fr: '', 'ca-qc': '' }, pt: { pt: '', br: '' }, zh: { cmn: 'Mandarin', 'cmn-2': 'Mandarin', yue: 'Cantonese', nan: 'Min Nan', cdo: 'Min Dong', hak: 'Hakka', wuu: 'Wu' }, }; if ( getUserMedia && 'MediaRecorder' in window && ( mw.config.get( 'wgNamespaceNumber' ) === 0 || mw.config.get( 'wgPageName' ) === 'Wiktionary:Sandbox' ) && mw.config.get( 'wgAction' ) === 'view' && !/&printable=yes|&diff=|&oldid=/.test( window.location.search ) ) { var stopIcon = '◼', recordIcon = '⚫', pauseIcon = '❚❚', playIcon = '►', saveIcon = '✔', uploadsInProgress = 0; mw.util.addCSS( '\ .YRAddAudio-Box { \ font-size: 10px; \ } \ .YRAddAudio-RecordButton { \ margin-right: 3px; \ cursor: pointer; \ } \ .YRAddAudio-RecordButton:hover { \ color: #DD0000; \ } \ .YRAddAudio-Recording { \ color: #DD0000; \ font-weight: bold; \ text-shadow: 0 0 1px #DD0000; \ } \ .YRAddAudio-PlayButton { \ display: none; \ margin-right: 3px; \ /* color: #AAAAAA; */ \ cursor: pointer; \ } \ .YRAddAudio-PlayButton:hover { \ color: #AAAAAA; \ } \ .YRAddAudio-SaveButton { \ display: none; \ margin-right: 3px; \ cursor: pointer; \ } \ .YRAddAudio-SaveButton:hover { \ color: #33FF22; \ } \ .YRAddAudio-accent { \ margin: 1px; \ padding: 1px; \ cursor: pointer; \ } \ .YRAddAudio-accent:hover { \ margin: 0px; \ border: 1px solid #AAA; \ padding: 1px; \ } \ .YRAddAudio-activeAccent { \ font-weight: bold; \ } \ ' ); function AButton( sectionIndex, language, headerLevel, oldHeader ) { var recording = false, recorder, $elem, $recordButton, $playButton, $saveButton, $accentList, accent, langcode; // Todo: Accent field. // Todo: Licensing information in the form. this.$elem = $elem = $( '<div>', { addClass: 'YRAddAudio-Box', append: [ $recordButton = $( '<span>', { text: recordIcon, addClass: 'YRAddAudio-RecordButton', title: 'Record audio pronunciation for this word', click: function recordOrStop() { function startRecording() { recorder.start(); $recordButton.addClass( 'YRAddAudio-Recording' ); } try { if ( !recorder ) { setupRecorder( function ( r ) { recorder = r; startRecording(); } ); langcode = findLang( sectionIndex ); if ( accentList[ langcode ] ) { var accentElemList = {}; $accentList = $( '<span>' ) .css( { display: 'inline-block' } ) .insertBefore( $saveButton ) .hide(); $.each( accentList[ langcode ], function ( accentcode, accentname ) { $accentList.append( accentElemList[ accentcode ] = $( '<span>' ) .text( accentcode.toUpperCase() ) .attr( 'title', 'Accent/dialect: ' + accentcode.toUpperCase() ) .addClass( 'YRAddAudio-accent' ) .on( 'click', function () { if ( accent ) { accentElemList[ accent ].removeClass( 'YRAddAudio-activeAccent' ); } if ( accent === accentcode ) { accent = undefined; } else { $( this ).addClass( 'YRAddAudio-activeAccent' ); accent = accentcode; } } ) ); } ); } } else { if ( recording ) { recorder.stop(); $recordButton.removeClass( 'YRAddAudio-Recording' ); $accentList && $accentList.show(); $playButton.show(); $saveButton.show(); } else { startRecording(); } } //this.innerText = recording ? recordIcon : stopIcon; recording = !recording; } catch( e ) { console.log( e, 6 ); } } } ), $playButton = $( '<span>', { text: playIcon, addClass: 'YRAddAudio-PlayButton', css: { //display: 'none' }, title: 'Play recording', click: function () { recorder.play(); } } ), $saveButton = $( '<span>', { text: saveIcon, addClass: 'YRAddAudio-SaveButton', title: 'Add this recording to the entry', click: function () { // addEdit, tying into upload //mw.loader.using( 'mediawiki.ForeignApi', function () { mw.loader.using( [ 'mediawiki.ForeignUpload', 'mediawiki.api' ], function () { recorder.add( langcode, accent ); } ); } } ), 'অডিও উচ্চারণ যুক্ত করুন' ], css: { 'font-size': '10px' }, } ); function setupRecorder( cb ) { function acceptStream( stream ) { var fileExtension = MediaRecorder.isTypeSupported( 'audio/ogg' ) ? 'ogg' : 'webm', mimeType = 'audio/' + fileExtension, mediaRecorder = new MediaRecorder( stream, { mimeType: mimeType } ), chunks = [], blob; mediaRecorder.ondataavailable = function ( e ) { chunks.push( e.data ); }; mediaRecorder.onstop = function () { blob = new Blob( chunks, { 'type': mimeType } ); chunks = []; }; function editPage( langcode, accent ) { var editor = new Editor(), title = mw.config.get( 'wgPageName' ), //langcode = findLang( sectionIndex ), // Todo: Accent filename = ( langcode + '-' + ( accent ? accent + '-' : '' ) + title ).replace( /[\.:]/g, '-' ) + '.' + fileExtension, // Todo: Accent text audioTemplate = '* \{\{audio|' + filename + ( accent ? '|Audio (' + accent.toUpperCase() + ')' : '' ) + '|lang=' + langcode + '\}\}', addedWikitext = // Use '{\{subst:=\}\}' so as not to interfere // with other scripts. ( oldHeader ? '' : '\n\{\{subst:=\}\}==উচ্চারণ===\n' ) + audioTemplate; if ( !langcode ) { return editor.error( 'কোন ভাষা নির্ধারণ করা হয় নি।' ); } // Capitalize filename = filename.charAt( 0 ).toUpperCase() + filename.slice( 1 ); ( new mw.Api() ).parse( audioTemplate ).done( function ( html ) { // Hopefully this is wrapped. var $addedElement = $( html ), $addedHeader = oldHeader || $( '<span>' ).append( $( '<h3>').text( 'উচ্চারণ' ) ), $redLink = $addedElement.find( '.audiofile a.new' ); if ( $redLink.length === 0 ) { // No redlink, file space already exists. // (Or there's a parsing error. Ignoring that.) editor.error( 'Audio file already exists.' ); return; } // This isn't actually a direct transclusion of the // file. Things may break or be inaccurate as a // result. $redLink.replaceWith( $( '<audio>' ).attr( { 'src': window.URL.createObjectURL( blob ), controls: 'controls' } ) ); editor.addEdit( { edit: function ( w ) { var untilPostPronunciationHeaderReg = new RegExp( '((?:\n|^)==' + language + '==' + '[\\s\\S]*?' + '(?=\n={3,}(?!Alternative|Etymology).+=+\n))' ); var inPronunciationHeaderReg = new RegExp( '((?:\n|^)==' + language + '==' + '[\\s\\S]*?' + '\n(?:\\{\\{subst:=\\}\\}|=)=+উচ্চারণ' + '.+=+)' ); if ( !oldHeader ) { w = w.replace( untilPostPronunciationHeaderReg, '$1' + addedWikitext + '\n' ); } else { w = w.replace( inPronunciationHeaderReg, '$1' + '\n' + addedWikitext ); } // console.log( 'wikitext', w ); // Then add '\{\{audio|' + filename + '|' + accent + '|lang=' + langcode + '\}\}' // With a header, if applicable. Maybe use the whole // '\{\{subst:=\}\}' stuff so as not to interfere // with the other scripts. return w; }, redo: function () { oldHeader || $addedHeader.insertBefore( $elem ); $addedElement.insertBefore( $elem ); $elem.hide(); }, undo: function () { oldHeader || $addedHeader.remove(); $addedElement.remove(); $elem.show(); }, after_save: function upload() { var FU = new mw.ForeignUpload(), username = mw.config.get( 'wgUserName' ); if ( uploadsInProgress === 0 ) { document.body.style.cursor = 'wait'; } uploadsInProgress++; FU.setFile( blob ); FU.setFilename( filename ); FU.setText( // Copied from en-us-test.ogg. // Dunno if it's what people usually use... '==\{\{int:description\}\}==' + '\n\{\{Information' + '\n |description = \{\{en|Pronunciation of the term in ' + ( accent ? accent + ' ' : '' ) + language + '\}\}' + '\n |date = ' + ( new Date() ).toISOString().split( 'T' )[ 0 ] + '\n |source = \{\{own\}\}' + '\n |author = \[\[User:' + username + '|' + username + '\]\]' + '\n |permission =' + '\n |other_versions =' + '\n\}\}' + '\n' + '\n==\{\{int:license-header\}\}==' + '\n\[\[Category:' + language + ' pronunciation|' + title + '\]\]' + '\n\{\{self|Cc-by-sa-3.0\}\}' ); FU.setComment( 'Upload ' + language + ( accent ? ' (' + accent + ')' : '' ) + ' audio for ' + '\[\[wikt:' + title + '|' + title + '\]\] ' + '(\[\[wikt:User:Yair rand/AddAudio.js|AddAudio.js\]\])' ); FU.upload().done( function () { uploadsInProgress--; if ( uploadsInProgress === 0 ) { document.body.style.cursor = ''; // Do a quick purge, so the file // shows up right. ( new mw.Api() ).post( { action: 'purge', titles: title } ); } } ).fail( function () { editor.error( 'Upload failed: ' + ( FU.stateDetails.error ? FU.stateDetails.error.info : '' ) ); } ); }, summary: '+[[File:' + filename + ']]' }, $addedElement[ 0 ] ); } ); } cb( { start: function () { mediaRecorder.start(); }, stop: function () { mediaRecorder.stop(); // Close the stream? }, play: function () { if ( blob ) { new Audio( window.URL.createObjectURL( blob ) ).play(); } }, add: editPage } ); } function noStream( err ) { $elem .css( 'font-color', '#A00' ) .text( 'Error: ' + err ); } if ( navigator.mediaDevices ) { getUserMedia.call( mediaDevices, { audio: true } ) .then( acceptStream ) .catch( noStream ); } else { getUserMedia.call( navigator, { audio: true }, acceptStream, noStream ); } } } function findLang( sectionIndex ) { // Find lang code for this section by pulling it from the headword. // If tabbedLanguages loaded after addaudio, hasTabs might be no // longer accurate. return ( 'tabbedLanguages' in window? $( languageContainers[ sectionIndex ] ).find( '.headword' ) : $sections.eq( sectionIndex ).find( '~* .headword' ) ).attr( 'lang' ); } // Todo: Editor log for uploading. $sections.each( function ( sectionIndex ) { var $section = $( this ), language = hasTabs ? tabbedLanguages[ sectionIndex ] : $section.find( '.mw-headline' ).text(); // Maybe use nextUntil instead of ~ here. $section.find( hasTabs ? 'h3, h4' : '~h3, ~h4' ).each( function () { var $this = $( this ), text = $this.find( '.mw-headline' ).text(), $button, oldHeader; if ( !text.startsWith( 'Alternative' ) && !text.startsWith( 'Etymology' ) ) { oldHeader = text.startsWith( 'উচ্চারণ' ); $button = ( new AButton( sectionIndex, language, this.nodeNode, oldHeader ) ).$elem; if ( oldHeader ) { // We already have a pronunciation header. $button.insertAfter( $this ); } else { // We don't have a pronunciation header, so we have to // add one before the first pos header. $button.insertBefore( $this ); } return false; } } ); } ); } } ); //</nowiki> 5oyww0qkgiu1cffknjl27agv6kj5zop 133010 133009 2022-08-27T07:36:13Z Aishik Rehman 5592 javascript text/javascript $.when( mw.loader.using( ['mediawiki.util', 'ext.gadget.Editor']), $.ready ).then(function () { var mediaDevices = navigator.mediaDevices || navigator, getUserMedia = ( mediaDevices.getUserMedia || mediaDevices.webkitGetUserMedia || mediaDevices.mozGetUserMedia || mediaDevices.msGetUserMedia ), hasTabs = 'tabbedLanguages' in window, $sections = $( hasTabs ? languageContainers : '#mw-content-text > .mw-parser-output > h2' ); var accentList = { // I'll assume that capitalized versions of the region codes themselves // are fine for the template display. // Empty strings means no special categorization. // I have no idea whether these are the right accents to have available // as options. bn: { bd: 'Bangladesh', in: 'India'}, en: { us: 'U.S.', uk: 'British', ca: 'Canadian', au: 'Australian', nz: 'New Zealand' }, de: { de: '', at: '', ch: '' }, fr: { fr: '', 'ca-qc': '' }, pt: { pt: '', br: '' }, zh: { cmn: 'Mandarin', 'cmn-2': 'Mandarin', yue: 'Cantonese', nan: 'Min Nan', cdo: 'Min Dong', hak: 'Hakka', wuu: 'Wu' }, }; if ( getUserMedia && 'MediaRecorder' in window && ( mw.config.get( 'wgNamespaceNumber' ) === 0 || mw.config.get( 'wgPageName' ) === 'Wiktionary:Sandbox' ) && mw.config.get( 'wgAction' ) === 'view' && !/&printable=yes|&diff=|&oldid=/.test( window.location.search ) ) { var stopIcon = '◼', recordIcon = '⚫', pauseIcon = '❚❚', playIcon = '►', saveIcon = '✔', uploadsInProgress = 0; mw.util.addCSS( '\ .YRAddAudio-Box { \ font-size: 10px; \ } \ .YRAddAudio-RecordButton { \ margin-right: 3px; \ cursor: pointer; \ } \ .YRAddAudio-RecordButton:hover { \ color: #DD0000; \ } \ .YRAddAudio-Recording { \ color: #DD0000; \ font-weight: bold; \ text-shadow: 0 0 1px #DD0000; \ } \ .YRAddAudio-PlayButton { \ display: none; \ margin-right: 3px; \ /* color: #AAAAAA; */ \ cursor: pointer; \ } \ .YRAddAudio-PlayButton:hover { \ color: #AAAAAA; \ } \ .YRAddAudio-SaveButton { \ display: none; \ margin-right: 3px; \ cursor: pointer; \ } \ .YRAddAudio-SaveButton:hover { \ color: #33FF22; \ } \ .YRAddAudio-accent { \ margin: 1px; \ padding: 1px; \ cursor: pointer; \ } \ .YRAddAudio-accent:hover { \ margin: 0px; \ border: 1px solid #AAA; \ padding: 1px; \ } \ .YRAddAudio-activeAccent { \ font-weight: bold; \ } \ ' ); function AButton( sectionIndex, language, headerLevel, oldHeader ) { var recording = false, recorder, $elem, $recordButton, $playButton, $saveButton, $accentList, accent, langcode; // Todo: Accent field. // Todo: Licensing information in the form. this.$elem = $elem = $( '<div>', { addClass: 'YRAddAudio-Box', append: [ $recordButton = $( '<span>', { text: recordIcon, addClass: 'YRAddAudio-RecordButton', title: 'Record audio pronunciation for this word', click: function recordOrStop() { function startRecording() { recorder.start(); $recordButton.addClass( 'YRAddAudio-Recording' ); } try { if ( !recorder ) { setupRecorder( function ( r ) { recorder = r; startRecording(); } ); langcode = findLang( sectionIndex ); if ( accentList[ langcode ] ) { var accentElemList = {}; $accentList = $( '<span>' ) .css( { display: 'inline-block' } ) .insertBefore( $saveButton ) .hide(); $.each( accentList[ langcode ], function ( accentcode, accentname ) { $accentList.append( accentElemList[ accentcode ] = $( '<span>' ) .text( accentcode.toUpperCase() ) .attr( 'title', 'Accent/dialect: ' + accentcode.toUpperCase() ) .addClass( 'YRAddAudio-accent' ) .on( 'click', function () { if ( accent ) { accentElemList[ accent ].removeClass( 'YRAddAudio-activeAccent' ); } if ( accent === accentcode ) { accent = undefined; } else { $( this ).addClass( 'YRAddAudio-activeAccent' ); accent = accentcode; } } ) ); } ); } } else { if ( recording ) { recorder.stop(); $recordButton.removeClass( 'YRAddAudio-Recording' ); $accentList && $accentList.show(); $playButton.show(); $saveButton.show(); } else { startRecording(); } } //this.innerText = recording ? recordIcon : stopIcon; recording = !recording; } catch( e ) { console.log( e, 6 ); } } } ), $playButton = $( '<span>', { text: playIcon, addClass: 'YRAddAudio-PlayButton', css: { //display: 'none' }, title: 'Play recording', click: function () { recorder.play(); } } ), $saveButton = $( '<span>', { text: saveIcon, addClass: 'YRAddAudio-SaveButton', title: 'Add this recording to the entry', click: function () { // addEdit, tying into upload //mw.loader.using( 'mediawiki.ForeignApi', function () { mw.loader.using( [ 'mediawiki.ForeignUpload', 'mediawiki.api' ], function () { recorder.add( langcode, accent ); } ); } } ), 'অডিও উচ্চারণ যুক্ত করুন' ], css: { 'font-size': '10px' }, } ); function setupRecorder( cb ) { function acceptStream( stream ) { var fileExtension = MediaRecorder.isTypeSupported( 'audio/ogg' ) ? 'ogg' : 'webm', mimeType = 'audio/' + fileExtension, mediaRecorder = new MediaRecorder( stream, { mimeType: mimeType } ), chunks = [], blob; mediaRecorder.ondataavailable = function ( e ) { chunks.push( e.data ); }; mediaRecorder.onstop = function () { blob = new Blob( chunks, { 'type': mimeType } ); chunks = []; }; function editPage( langcode, accent ) { var editor = new Editor(), title = mw.config.get( 'wgPageName' ), //langcode = findLang( sectionIndex ), // Todo: Accent filename = ( langcode + '-' + ( accent ? accent + '-' : '' ) + title ).replace( /[\.:]/g, '-' ) + '.' + fileExtension, // Todo: Accent text audioTemplate = '* \{\{audio|' + filename + ( accent ? '|Audio (' + accent.toUpperCase() + ')' : '' ) + '|lang=' + langcode + '\}\}', addedWikitext = // Use '{\{subst:=\}\}' so as not to interfere // with other scripts. ( oldHeader ? '' : '\n\{\{subst:=\}\}==উচ্চারণ===\n' ) + audioTemplate; if ( !langcode ) { return editor.error( 'কোন ভাষা নির্ধারণ করা হয় নি।' ); } // Capitalize filename = filename.charAt( 0 ).toUpperCase() + filename.slice( 1 ); ( new mw.Api() ).parse( audioTemplate ).done( function ( html ) { // Hopefully this is wrapped. var $addedElement = $( html ), $addedHeader = oldHeader || $( '<span>' ).append( $( '<h3>').text( 'উচ্চারণ' ) ), $redLink = $addedElement.find( '.audiofile a.new' ); if ( $redLink.length === 0 ) { // No redlink, file space already exists. // (Or there's a parsing error. Ignoring that.) editor.error( 'Audio file already exists.' ); return; } // This isn't actually a direct transclusion of the // file. Things may break or be inaccurate as a // result. $redLink.replaceWith( $( '<audio>' ).attr( { 'src': window.URL.createObjectURL( blob ), controls: 'controls' } ) ); editor.addEdit( { edit: function ( w ) { var untilPostPronunciationHeaderReg = new RegExp( '((?:\n|^)==' + language + '==' + '[\\s\\S]*?' + '(?=\n={3,}(?!Alternative|Etymology).+=+\n))' ); var inPronunciationHeaderReg = new RegExp( '((?:\n|^)==' + language + '==' + '[\\s\\S]*?' + '\n(?:\\{\\{subst:=\\}\\}|=)=+উচ্চারণ' + '.+=+)' ); if ( !oldHeader ) { w = w.replace( untilPostPronunciationHeaderReg, '$1' + addedWikitext + '\n' ); } else { w = w.replace( inPronunciationHeaderReg, '$1' + '\n' + addedWikitext ); } // console.log( 'wikitext', w ); // Then add '\{\{audio|' + filename + '|' + accent + '|lang=' + langcode + '\}\}' // With a header, if applicable. Maybe use the whole // '\{\{subst:=\}\}' stuff so as not to interfere // with the other scripts. return w; }, redo: function () { oldHeader || $addedHeader.insertBefore( $elem ); $addedElement.insertBefore( $elem ); $elem.hide(); }, undo: function () { oldHeader || $addedHeader.remove(); $addedElement.remove(); $elem.show(); }, after_save: function upload() { var FU = new mw.ForeignUpload(), username = mw.config.get( 'wgUserName' ); if ( uploadsInProgress === 0 ) { document.body.style.cursor = 'wait'; } uploadsInProgress++; FU.setFile( blob ); FU.setFilename( filename ); FU.setText( // Copied from en-us-test.ogg. // Dunno if it's what people usually use... '==\{\{int:description\}\}==' + '\n\{\{Information' + '\n |description = \{\{en|Pronunciation of the term in ' + ( accent ? accent + ' ' : '' ) + language + '\}\}' + '\n |date = ' + ( new Date() ).toISOString().split( 'T' )[ 0 ] + '\n |source = \{\{own\}\}' + '\n |author = \[\[User:' + username + '|' + username + '\]\]' + '\n |permission =' + '\n |other_versions =' + '\n\}\}' + '\n' + '\n==\{\{int:license-header\}\}==' + '\n\[\[Category:' + language + ' pronunciation|' + title + '\]\]' + '\n\{\{self|Cc-by-sa-3.0\}\}' ); FU.setComment( 'Upload ' + language + ( accent ? ' (' + accent + ')' : '' ) + ' audio for ' + '\[\[wikt:' + title + '|' + title + '\]\] ' + '(\[\[wikt:User:Yair rand/AddAudio.js|AddAudio.js\]\])' ); FU.upload().done( function () { uploadsInProgress--; if ( uploadsInProgress === 0 ) { document.body.style.cursor = ''; // Do a quick purge, so the file // shows up right. ( new mw.Api() ).post( { action: 'purge', titles: title } ); } } ).fail( function () { editor.error( 'Upload failed: ' + ( FU.stateDetails.error ? FU.stateDetails.error.info : '' ) ); } ); }, summary: '+[[File:' + filename + ']]' }, $addedElement[ 0 ] ); } ); } cb( { start: function () { mediaRecorder.start(); }, stop: function () { mediaRecorder.stop(); // Close the stream? }, play: function () { if ( blob ) { new Audio( window.URL.createObjectURL( blob ) ).play(); } }, add: editPage } ); } function noStream( err ) { $elem .css( 'font-color', '#A00' ) .text( 'Error: ' + err ); } if ( navigator.mediaDevices ) { getUserMedia.call( mediaDevices, { audio: true } ) .then( acceptStream ) .catch( noStream ); } else { getUserMedia.call( navigator, { audio: true }, acceptStream, noStream ); } } } function findLang( sectionIndex ) { // Find lang code for this section by pulling it from the headword. // If tabbedLanguages loaded after addaudio, hasTabs might be no // longer accurate. return ( 'tabbedLanguages' in window? $( languageContainers[ sectionIndex ] ).find( '.headword' ) : $sections.eq( sectionIndex ).find( '~* .headword' ) ).attr( 'lang' ); } // Todo: Editor log for uploading. $sections.each( function ( sectionIndex ) { var $section = $( this ), language = hasTabs ? tabbedLanguages[ sectionIndex ] : $section.find( '.mw-headline' ).text(); // Maybe use nextUntil instead of ~ here. $section.find( hasTabs ? 'h3, h4' : '~h3, ~h4' ).each( function () { var $this = $( this ), text = $this.find( '.mw-headline' ).text(), $button, oldHeader; if ( !text.startsWith( 'Alternative' ) && !text.startsWith( 'Etymology' ) ) { oldHeader = text.startsWith( 'উচ্চারণ' ); $button = ( new AButton( sectionIndex, language, this.nodeNode, oldHeader ) ).$elem; if ( oldHeader ) { // We already have a pronunciation header. $button.insertAfter( $this ); } else { // We don't have a pronunciation header, so we have to // add one before the first pos header. $button.insertBefore( $this ); } return false; } } ); } ); } } ); //</nowiki> 0fphxy81j0acx48efldl44s2k64hz7b 133011 133010 2022-08-27T07:36:52Z Aishik Rehman 5592 javascript text/javascript $.when( mw.loader.using( ['mediawiki.util', 'ext.gadget.Editor']), $.ready ).then(function () { var mediaDevices = navigator.mediaDevices || navigator, getUserMedia = ( mediaDevices.getUserMedia || mediaDevices.webkitGetUserMedia || mediaDevices.mozGetUserMedia || mediaDevices.msGetUserMedia ), hasTabs = 'tabbedLanguages' in window, $sections = $( hasTabs ? languageContainers : '#mw-content-text > .mw-parser-output > h2' ); var accentList = { // I'll assume that capitalized versions of the region codes themselves // are fine for the template display. // Empty strings means no special categorization. // I have no idea whether these are the right accents to have available // as options. bn: { bd: 'Bangladesh', in: 'India'}, en: { bd: 'Bangladesh', us: 'U.S.', uk: 'British', ca: 'Canadian', au: 'Australian', nz: 'New Zealand' }, de: { de: '', at: '', ch: '' }, fr: { fr: '', 'ca-qc': '' }, pt: { pt: '', br: '' }, zh: { cmn: 'Mandarin', 'cmn-2': 'Mandarin', yue: 'Cantonese', nan: 'Min Nan', cdo: 'Min Dong', hak: 'Hakka', wuu: 'Wu' }, }; if ( getUserMedia && 'MediaRecorder' in window && ( mw.config.get( 'wgNamespaceNumber' ) === 0 || mw.config.get( 'wgPageName' ) === 'Wiktionary:Sandbox' ) && mw.config.get( 'wgAction' ) === 'view' && !/&printable=yes|&diff=|&oldid=/.test( window.location.search ) ) { var stopIcon = '◼', recordIcon = '⚫', pauseIcon = '❚❚', playIcon = '►', saveIcon = '✔', uploadsInProgress = 0; mw.util.addCSS( '\ .YRAddAudio-Box { \ font-size: 10px; \ } \ .YRAddAudio-RecordButton { \ margin-right: 3px; \ cursor: pointer; \ } \ .YRAddAudio-RecordButton:hover { \ color: #DD0000; \ } \ .YRAddAudio-Recording { \ color: #DD0000; \ font-weight: bold; \ text-shadow: 0 0 1px #DD0000; \ } \ .YRAddAudio-PlayButton { \ display: none; \ margin-right: 3px; \ /* color: #AAAAAA; */ \ cursor: pointer; \ } \ .YRAddAudio-PlayButton:hover { \ color: #AAAAAA; \ } \ .YRAddAudio-SaveButton { \ display: none; \ margin-right: 3px; \ cursor: pointer; \ } \ .YRAddAudio-SaveButton:hover { \ color: #33FF22; \ } \ .YRAddAudio-accent { \ margin: 1px; \ padding: 1px; \ cursor: pointer; \ } \ .YRAddAudio-accent:hover { \ margin: 0px; \ border: 1px solid #AAA; \ padding: 1px; \ } \ .YRAddAudio-activeAccent { \ font-weight: bold; \ } \ ' ); function AButton( sectionIndex, language, headerLevel, oldHeader ) { var recording = false, recorder, $elem, $recordButton, $playButton, $saveButton, $accentList, accent, langcode; // Todo: Accent field. // Todo: Licensing information in the form. this.$elem = $elem = $( '<div>', { addClass: 'YRAddAudio-Box', append: [ $recordButton = $( '<span>', { text: recordIcon, addClass: 'YRAddAudio-RecordButton', title: 'Record audio pronunciation for this word', click: function recordOrStop() { function startRecording() { recorder.start(); $recordButton.addClass( 'YRAddAudio-Recording' ); } try { if ( !recorder ) { setupRecorder( function ( r ) { recorder = r; startRecording(); } ); langcode = findLang( sectionIndex ); if ( accentList[ langcode ] ) { var accentElemList = {}; $accentList = $( '<span>' ) .css( { display: 'inline-block' } ) .insertBefore( $saveButton ) .hide(); $.each( accentList[ langcode ], function ( accentcode, accentname ) { $accentList.append( accentElemList[ accentcode ] = $( '<span>' ) .text( accentcode.toUpperCase() ) .attr( 'title', 'Accent/dialect: ' + accentcode.toUpperCase() ) .addClass( 'YRAddAudio-accent' ) .on( 'click', function () { if ( accent ) { accentElemList[ accent ].removeClass( 'YRAddAudio-activeAccent' ); } if ( accent === accentcode ) { accent = undefined; } else { $( this ).addClass( 'YRAddAudio-activeAccent' ); accent = accentcode; } } ) ); } ); } } else { if ( recording ) { recorder.stop(); $recordButton.removeClass( 'YRAddAudio-Recording' ); $accentList && $accentList.show(); $playButton.show(); $saveButton.show(); } else { startRecording(); } } //this.innerText = recording ? recordIcon : stopIcon; recording = !recording; } catch( e ) { console.log( e, 6 ); } } } ), $playButton = $( '<span>', { text: playIcon, addClass: 'YRAddAudio-PlayButton', css: { //display: 'none' }, title: 'Play recording', click: function () { recorder.play(); } } ), $saveButton = $( '<span>', { text: saveIcon, addClass: 'YRAddAudio-SaveButton', title: 'Add this recording to the entry', click: function () { // addEdit, tying into upload //mw.loader.using( 'mediawiki.ForeignApi', function () { mw.loader.using( [ 'mediawiki.ForeignUpload', 'mediawiki.api' ], function () { recorder.add( langcode, accent ); } ); } } ), 'অডিও উচ্চারণ যুক্ত করুন' ], css: { 'font-size': '10px' }, } ); function setupRecorder( cb ) { function acceptStream( stream ) { var fileExtension = MediaRecorder.isTypeSupported( 'audio/ogg' ) ? 'ogg' : 'webm', mimeType = 'audio/' + fileExtension, mediaRecorder = new MediaRecorder( stream, { mimeType: mimeType } ), chunks = [], blob; mediaRecorder.ondataavailable = function ( e ) { chunks.push( e.data ); }; mediaRecorder.onstop = function () { blob = new Blob( chunks, { 'type': mimeType } ); chunks = []; }; function editPage( langcode, accent ) { var editor = new Editor(), title = mw.config.get( 'wgPageName' ), //langcode = findLang( sectionIndex ), // Todo: Accent filename = ( langcode + '-' + ( accent ? accent + '-' : '' ) + title ).replace( /[\.:]/g, '-' ) + '.' + fileExtension, // Todo: Accent text audioTemplate = '* \{\{audio|' + filename + ( accent ? '|Audio (' + accent.toUpperCase() + ')' : '' ) + '|lang=' + langcode + '\}\}', addedWikitext = // Use '{\{subst:=\}\}' so as not to interfere // with other scripts. ( oldHeader ? '' : '\n\{\{subst:=\}\}==উচ্চারণ===\n' ) + audioTemplate; if ( !langcode ) { return editor.error( 'কোন ভাষা নির্ধারণ করা হয় নি।' ); } // Capitalize filename = filename.charAt( 0 ).toUpperCase() + filename.slice( 1 ); ( new mw.Api() ).parse( audioTemplate ).done( function ( html ) { // Hopefully this is wrapped. var $addedElement = $( html ), $addedHeader = oldHeader || $( '<span>' ).append( $( '<h3>').text( 'উচ্চারণ' ) ), $redLink = $addedElement.find( '.audiofile a.new' ); if ( $redLink.length === 0 ) { // No redlink, file space already exists. // (Or there's a parsing error. Ignoring that.) editor.error( 'Audio file already exists.' ); return; } // This isn't actually a direct transclusion of the // file. Things may break or be inaccurate as a // result. $redLink.replaceWith( $( '<audio>' ).attr( { 'src': window.URL.createObjectURL( blob ), controls: 'controls' } ) ); editor.addEdit( { edit: function ( w ) { var untilPostPronunciationHeaderReg = new RegExp( '((?:\n|^)==' + language + '==' + '[\\s\\S]*?' + '(?=\n={3,}(?!Alternative|Etymology).+=+\n))' ); var inPronunciationHeaderReg = new RegExp( '((?:\n|^)==' + language + '==' + '[\\s\\S]*?' + '\n(?:\\{\\{subst:=\\}\\}|=)=+উচ্চারণ' + '.+=+)' ); if ( !oldHeader ) { w = w.replace( untilPostPronunciationHeaderReg, '$1' + addedWikitext + '\n' ); } else { w = w.replace( inPronunciationHeaderReg, '$1' + '\n' + addedWikitext ); } // console.log( 'wikitext', w ); // Then add '\{\{audio|' + filename + '|' + accent + '|lang=' + langcode + '\}\}' // With a header, if applicable. Maybe use the whole // '\{\{subst:=\}\}' stuff so as not to interfere // with the other scripts. return w; }, redo: function () { oldHeader || $addedHeader.insertBefore( $elem ); $addedElement.insertBefore( $elem ); $elem.hide(); }, undo: function () { oldHeader || $addedHeader.remove(); $addedElement.remove(); $elem.show(); }, after_save: function upload() { var FU = new mw.ForeignUpload(), username = mw.config.get( 'wgUserName' ); if ( uploadsInProgress === 0 ) { document.body.style.cursor = 'wait'; } uploadsInProgress++; FU.setFile( blob ); FU.setFilename( filename ); FU.setText( // Copied from en-us-test.ogg. // Dunno if it's what people usually use... '==\{\{int:description\}\}==' + '\n\{\{Information' + '\n |description = \{\{en|Pronunciation of the term in ' + ( accent ? accent + ' ' : '' ) + language + '\}\}' + '\n |date = ' + ( new Date() ).toISOString().split( 'T' )[ 0 ] + '\n |source = \{\{own\}\}' + '\n |author = \[\[User:' + username + '|' + username + '\]\]' + '\n |permission =' + '\n |other_versions =' + '\n\}\}' + '\n' + '\n==\{\{int:license-header\}\}==' + '\n\[\[Category:' + language + ' pronunciation|' + title + '\]\]' + '\n\{\{self|Cc-by-sa-3.0\}\}' ); FU.setComment( 'Upload ' + language + ( accent ? ' (' + accent + ')' : '' ) + ' audio for ' + '\[\[wikt:' + title + '|' + title + '\]\] ' + '(\[\[wikt:User:Yair rand/AddAudio.js|AddAudio.js\]\])' ); FU.upload().done( function () { uploadsInProgress--; if ( uploadsInProgress === 0 ) { document.body.style.cursor = ''; // Do a quick purge, so the file // shows up right. ( new mw.Api() ).post( { action: 'purge', titles: title } ); } } ).fail( function () { editor.error( 'Upload failed: ' + ( FU.stateDetails.error ? FU.stateDetails.error.info : '' ) ); } ); }, summary: '+[[File:' + filename + ']]' }, $addedElement[ 0 ] ); } ); } cb( { start: function () { mediaRecorder.start(); }, stop: function () { mediaRecorder.stop(); // Close the stream? }, play: function () { if ( blob ) { new Audio( window.URL.createObjectURL( blob ) ).play(); } }, add: editPage } ); } function noStream( err ) { $elem .css( 'font-color', '#A00' ) .text( 'Error: ' + err ); } if ( navigator.mediaDevices ) { getUserMedia.call( mediaDevices, { audio: true } ) .then( acceptStream ) .catch( noStream ); } else { getUserMedia.call( navigator, { audio: true }, acceptStream, noStream ); } } } function findLang( sectionIndex ) { // Find lang code for this section by pulling it from the headword. // If tabbedLanguages loaded after addaudio, hasTabs might be no // longer accurate. return ( 'tabbedLanguages' in window? $( languageContainers[ sectionIndex ] ).find( '.headword' ) : $sections.eq( sectionIndex ).find( '~* .headword' ) ).attr( 'lang' ); } // Todo: Editor log for uploading. $sections.each( function ( sectionIndex ) { var $section = $( this ), language = hasTabs ? tabbedLanguages[ sectionIndex ] : $section.find( '.mw-headline' ).text(); // Maybe use nextUntil instead of ~ here. $section.find( hasTabs ? 'h3, h4' : '~h3, ~h4' ).each( function () { var $this = $( this ), text = $this.find( '.mw-headline' ).text(), $button, oldHeader; if ( !text.startsWith( 'Alternative' ) && !text.startsWith( 'Etymology' ) ) { oldHeader = text.startsWith( 'উচ্চারণ' ); $button = ( new AButton( sectionIndex, language, this.nodeNode, oldHeader ) ).$elem; if ( oldHeader ) { // We already have a pronunciation header. $button.insertAfter( $this ); } else { // We don't have a pronunciation header, so we have to // add one before the first pos header. $button.insertBefore( $this ); } return false; } } ); } ); } } ); //</nowiki> ng82zd9gl8ulx6u1cmjlydem6ebm46p 133135 133011 2022-08-27T09:54:42Z Aishik Rehman 5592 পাতাকে '$('.nav-tab').click(function(e){ var target_tab_selector = $(this).attr('href'); $('.tab-content').addClass('hidden'); $('.tab-content').removeClass('active'); $(target_tab_selector).removeClass('hidden'); $(target_tab_selector).addClass('active'); })' দিয়ে প্রতিস্থাপিত করা হল javascript text/javascript $('.nav-tab').click(function(e){ var target_tab_selector = $(this).attr('href'); $('.tab-content').addClass('hidden'); $('.tab-content').removeClass('active'); $(target_tab_selector).removeClass('hidden'); $(target_tab_selector).addClass('active'); }) fcd4cjo2s1arxhqwnjdyz7p7bwgfrgv ব্যবহারকারী:Aishik Rehman/common.css 2 24817 133040 130910 2022-08-27T09:35:17Z Aishik Rehman 5592 css text/css .wrapper { position: relative; } .tab-container { display: none; position: absolute; top: 0; left: 0; } .tab-container:first-child { display: block } :target { display: block } /* just for demo */ ul { list-style: none; margin: 0; padding: 0; } li { display: inline-block; margin-right: 1rem; } li { /* display: block; */ } .tab-container li { width: 20px; background: violet; text-align: center; margin-right: 10px; } .tab-container { background: white; } cbq6eqz4vayt3qglwjmvoii0w5b5xeh 133075 133040 2022-08-27T09:51:15Z Aishik Rehman 5592 পাতা খালি করা হয়েছে css text/css phoiac9h4m842xq45sp7s6u21eteeq1 133140 133075 2022-08-27T09:55:10Z Aishik Rehman 5592 css text/css .active{display:block} .hidden{display:none} 8trwdrua0hl38uxwhpio4835wp1v8jv মকুফ 0 50918 132982 131684 2022-08-27T05:32:47Z Salil Kumar Mukherjee 7406 লিঙ্ক যোগ wikitext text/x-wiki == {{ভাষা|bn}} == === ব্যুৎপত্তি === * [[আরবি]] জাত। ===উচ্চারণ=== * মোকুফ্। === বিশেষ্য === {{বিশেষ্য|bn}} # [[মাফ]]; # [[নিষ্কৃতি]]; # [[অব্যাহতি]]। [[বিষয়শ্রেণী:২-অক্ষর বিশিষ্ট বাংলা শব্দ]] hhct98a43pynylpdk5a8f63lofxtn85 মকান 0 50919 132976 131682 2022-08-27T05:23:52Z Salil Kumar Mukherjee 7406 লিঙ্ক যোগ wikitext text/x-wiki == {{ভাষা|bn}} == === ব্যুৎপত্তি === * [[আরবি]] জাত। ===উচ্চারণ=== * মোকান্। === বিশেষ্য === {{বিশেষ্য|bn}} # [[গৃহ]]; # ঘর। [[বিষয়শ্রেণী:২-অক্ষর বিশিষ্ট বাংলা শব্দ]] 1tv5sjl20o03hs54cfyu67npvstmqx5 মকাম 0 50920 132977 131683 2022-08-27T05:25:46Z Salil Kumar Mukherjee 7406 লিঙ্ক যোগ wikitext text/x-wiki == {{ভাষা|bn}} == === ব্যুৎপত্তি === * [[আরবি]] জাত। ===উচ্চারণ=== * মোকাম্। === বিশেষ্য === {{বিশেষ্য|bn}} # [[আবাস]]স্থল; # ঠিকানা। [[বিষয়শ্রেণী:২-অক্ষর বিশিষ্ট বাংলা শব্দ]] 8urkbun8sdmy8vjlh7yag9vv12xe1q0 মওকুফ 0 50921 132968 131822 2022-08-27T05:06:19Z Salil Kumar Mukherjee 7406 লিঙ্ক যোগ wikitext text/x-wiki == {{ভাষা|bn}} == === ব্যুৎপত্তি === * [[আরবি]] জাত। ===উচ্চারণ=== * মও‍্কুফ্। === বিশেষ্য === {{বিশেষ্য|bn}} # মাফ; # [[নিষ্কৃতি]]। [[বিষয়শ্রেণী:২-অক্ষর বিশিষ্ট বাংলা শব্দ]] a5cy3rgxw2lixrezurelrg4cuju7zj9 মওত 0 50922 132974 131681 2022-08-27T05:22:08Z Salil Kumar Mukherjee 7406 লিঙ্ক যোগ wikitext text/x-wiki == {{ভাষা|bn}} == === ব্যুৎপত্তি === * [[আরবি]] জাত। ===উচ্চারণ=== * মওত্। === বিশেষ্য === {{বিশেষ্য|bn}} # [[মৃত্যু]]। [[বিষয়শ্রেণী:২-অক্ষর বিশিষ্ট বাংলা শব্দ]] t6b318gyl6bbzusl80h8endrwehgxcm মওজুদ 0 50923 132970 131823 2022-08-27T05:11:40Z Salil Kumar Mukherjee 7406 লিঙ্ক যোগ wikitext text/x-wiki == {{ভাষা|bn}} == === ব্যুৎপত্তি === * [[আরবি]] জাত। ===উচ্চারণ=== * মও‍্জুদ‍্। === বিশেষণ === {{বিশেষণ|bn}} # [[সঞ্চিত]]। [[বিষয়শ্রেণী:২-অক্ষর বিশিষ্ট বাংলা শব্দ]] t0bf193sdxazxy12coswqyy0c12jwzc মক্তব 0 50925 132985 131685 2022-08-27T05:40:51Z Salil Kumar Mukherjee 7406 লিঙ্ক যোগ wikitext text/x-wiki == {{ভাষা|bn}} == === ব্যুৎপত্তি === * [[ফারসি]] জাত। ===উচ্চারণ=== * মক‍্তোব্। === বিশেষ্য === {{বিশেষ্য|bn}} # [[প্রাথমিক]] বিদ্যালয়; # বিদ্যালয়। [[বিষয়শ্রেণী:২-অক্ষর বিশিষ্ট বাংলা শব্দ]] mmyvabmry3rj57ha25h7rqq4cd76b45 মখদুম 0 50926 132988 131824 2022-08-27T05:49:59Z Salil Kumar Mukherjee 7406 লিঙ্ক যোগ wikitext text/x-wiki == {{ভাষা|bn}} == === ব্যুৎপত্তি === * [[আরবি]] জাত। ===উচ্চারণ=== * মখ‍্দুম‍্। === বিশেষ্য === {{বিশেষ্য|bn}} # ইসলামি শাস্ত্রবিষয়ের শিক্ষক; # আধ্যাত্মিক [[গুরু]]। [[বিষয়শ্রেণী:২-অক্ষর বিশিষ্ট বাংলা শব্দ]] ij8vdczj1i2geo0xsl2i15k3m8xaasj ব্যবহারকারী:MdsShakil/JWB-settings.json 2 52988 133041 131478 2022-08-27T09:43:45Z MdsShakil 6871 Updating JWB settings /*semi-automatic*/ json application/json { "default": { "string": { "articleList": "", "timelimit": "3000", "sizelimit": "0", "summary": "", "watchPage": "nochange", "throttle": "0", "skipContains": "", "skipNotContains": "", "containFlags": "", "skipCategories": "", "namespacelist": [ "0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "11", "12", "13", "14", "15", "100", "101", "710", "711", "828", "829", "2300", "2301", "2302", "2303" ], "cmtitle": "", "linksto-title": "", "pssearch": "", "titles": "", "srsearch": "", "smwquery": "" }, "bool": { "preparse": false, "minorEdit": true, "autosave": false, "enableRETF": false, "redir-follow": false, "redir-skip": false, "redir-edit": true, "skipNoChange": false, "exists-yes": false, "exists-no": true, "exists-neither": false, "containRegex": false, "categorymembers": false, "cmtype-page": true, "cmtype-subcg": true, "cmtype-file": true, "linksto": false, "backlinks": true, "embeddedin": false, "imageusage": false, "rfilter-redir": false, "rfilter-nonredir": false, "rfilter-all": true, "linksto-redir": true, "prefixsearch": false, "psstrict": true, "watchlistraw": false, "proplinks": false, "smwask": false }, "replaces": [] }, "অডিও": { "string": { "articleList": "অ-কার\nঅই\nঅইছে\nঅইন\nঅইল\nঅঋণ\nঅওঘর্ষণ\nঅওরো\nঅকট-বিকট\nঅকটকিনা\nঅকটু\nঅকড়িয়া\nঅকণ্ঠস্থ\nঅকথ্য\nঅকবি\nঅকমর্ণ্য\nঅকম্পন\nঅকম্প্র\nঅকর\nঅকরণ\nঅকরণি\nঅকরণী\nঅকরুণ\nঅকরোটি\nঅকর্ণ\nঅকর্তা\nঅকর্তৃত্ব\nঅকর্মকাণ্ড\nঅকর্মঠ\nঅকর্মভোগ\nঅকর্মার ধাড়ি\nঅকলঙ্কী\nঅকলমন্দি\nঅকলুষ\nঅকলুষিত\nঅকল্প\nঅকল্পনা\nঅকল্মষ\nঅকল্যাণ\nঅকল্যাণকরী\nঅকষ্টকল্পনা\nঅকষ্টবদ্ধ\nঅকাট\nঅকাঠিন্য\nঅকাণ্ড\nঅকাপট্য\nঅকাম\nঅকাম্য\nঅকায়\nঅকারান্ত\nঅকার্য\nঅকাল\nঅকালপক্ক\nঅকালপক্ব\nঅকালি\nঅকিল্মিষ\nঅকীক\nঅকীর্তি\nঅকীর্তিকর\nঅকীর্তিত\nঅকু\nঅকুতোভয়\nঅকুব\nঅকুমার\nঅকুমারী\nঅকুল\nঅকুলান\nঅকুলীন\nঅকুশল\nঅকুস্থল\nঅকুস্থান\nঅকূপার\nঅকূলপাথার\nঅকৃতজ্ঞতা\nঅকৃততাপরাধ\nঅকৃতদার\nঅকৃতদ্বাহ\nঅকৃতার্থ\nঅকৃতী\nঅকৃতোদ্বাহ\nঅকৃত্য\nঅকৃত্যকারী\nঅকৃপ\nঅকৃষ্ট\nঅকৈতব\nঅঁকোল\nঅকৌশল\nঅক্কা প্রাপ্তি\nঅক্কা\nঅক্টোপাস\nঅক্টোবর\nঅক্ত (বিশেষ্য)\nঅক্ত\nঅক্রম\nঅক্রমিক\nঅক্রিয়\nঅক্রিয়কর্মা\nঅক্রূর\nঅক্রেয়\nঅক্রোধ\nঅক্লান্ত\nঅক্লেশে\nঅক্ষ\nঅক্ষক\nঅক্ষকর্ণ\nঅক্ষকুশল\nঅক্ষকোবিদ\nঅক্ষত\nঅক্ষম\nঅক্ষয়\nঅক্ষি\nঅক্ষীয়\nঅক্ষুণ্ন\nঅক্ষোভ\nঅখণ্ডনীয়\nঅখন্ড\nঅখল\nঅখাত\nঅখাদ্য\nঅখিল\nঅখুশী\nঅখ্যাত\nঅগ\nঅগন্তব্য\nঅগম্য\nঅংগুস্তানা\nঅগ্র\nঅগ্রজ\nঅগ্রণী\nঅগ্রহনীয়\nঅগ্রাহ্য\nঅগ্রিম\nঅগ্রিয়\nঅগ্রে\nঅগ্র্য\nঅঘ্রাত\nঅঙ্কলক্ষ্মী\nঅঙ্কিত\nঅঙ্কুরিত\nঅঙ্গ\nঅঙ্গী\nঅঙ্গীকৃত\nঅঙ্গীভূত\nঅচঞ্চল\nঅচিত্ত\nঅচিন্ত্য\nঅচূর্ণ\nঅচূর্ণিত\nঅচেষ্ট\nঅচ্ছ\nঅচ্ছিদ্র\nঅচ্ছিন্ন\nঅচ্ছুত\nঅচ্ছেদ\nঅজ্ঞাবাদ\nঅত্যুক্তি\nঅদৃষ্ট\nঅনুপ্রেরণা\nঅন্তঃপাতী\nঅন্নপায়ী\nঅপভ্রংশ\nঅপর্ণা\nঅপুত্রক\nঅংশ\nঅংশক\nঅংশকূট\nঅংশন\nঅংশাঅংশি\nঅংশান্তর\nঅংশাবতার\nঅংশাংশ\nঅংশিত\nঅংশিন\nঅংশীদার\nঅংশীদারি\nঅংশীদারী\nঅংশু\nঅংশুক\nঅংশুকায়\nঅংশুধর\nঅংশুপট্ট\nঅংশুপতি\nঅংশুবাণ\nঅংশুমৎ\nঅংশুমৎফলা\nঅংশুমান\nঅংশুমালা\nঅংশুল\nঅংশুশিরা\nঅংশুহস্ত\nঅংস\nঅংসকূট\nঅংসফলক\nঅংসফলকাস্থি\nঅংসভার\nঅংহ\nঅংহতি\nঅংহ্রি\nঅংহ্রিপ\nআম", "timelimit": "3000", "sizelimit": "0", "summary": "", "watchPage": "nochange", "throttle": "0", "skipContains": "", "skipNotContains": "", "containFlags": "", "skipCategories": "", "namespacelist": [ "0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "11", "12", "13", "14", "15", "100", "101", "710", "711", "828", "829", "2300", "2301", "2302", "2303" ], "cmtitle": "", "linksto-title": "", "pssearch": "", "titles": "", "srsearch": "", "smwquery": "" }, "bool": { "preparse": false, "minorEdit": false, "autosave": false, "enableRETF": false, "redir-follow": false, "redir-skip": false, "redir-edit": true, "skipNoChange": false, "exists-yes": false, "exists-no": true, "exists-neither": false, "containRegex": false, "categorymembers": false, "cmtype-page": true, "cmtype-subcg": true, "cmtype-file": true, "linksto": false, "backlinks": true, "embeddedin": false, "imageusage": false, "rfilter-redir": false, "rfilter-nonredir": false, "rfilter-all": true, "linksto-redir": true, "prefixsearch": false, "psstrict": true, "watchlistraw": false, "proplinks": false, "smwask": false }, "replaces": [] } } jt5bvdfmd7hi17ixwrd7y2447lk2hq9 133042 133041 2022-08-27T09:45:08Z MdsShakil 6871 Updating JWB settings /*semi-automatic*/ json application/json { "default": { "string": { "articleList": "", "timelimit": "3000", "sizelimit": "0", "summary": "", "watchPage": "nochange", "throttle": "0", "skipContains": "", "skipNotContains": "", "containFlags": "", "skipCategories": "", "namespacelist": [ "0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "11", "12", "13", "14", "15", "100", "101", "710", "711", "828", "829", "2300", "2301", "2302", "2303" ], "cmtitle": "", "linksto-title": "", "pssearch": "", "titles": "", "srsearch": "", "smwquery": "" }, "bool": { "preparse": false, "minorEdit": true, "autosave": false, "enableRETF": false, "redir-follow": false, "redir-skip": false, "redir-edit": true, "skipNoChange": false, "exists-yes": false, "exists-no": true, "exists-neither": false, "containRegex": false, "categorymembers": false, "cmtype-page": true, "cmtype-subcg": true, "cmtype-file": true, "linksto": false, "backlinks": true, "embeddedin": false, "imageusage": false, "rfilter-redir": false, "rfilter-nonredir": false, "rfilter-all": true, "linksto-redir": true, "prefixsearch": false, "psstrict": true, "watchlistraw": false, "proplinks": false, "smwask": false }, "replaces": [] }, "অডিও": { "string": { "articleList": "অ-কার\nঅই\nঅইছে\nঅইন\nঅইল\nঅঋণ\nঅওঘর্ষণ\nঅওরো\nঅকট-বিকট\nঅকটকিনা\nঅকটু\nঅকড়িয়া\nঅকণ্ঠস্থ\nঅকথ্য\nঅকবি\nঅকমর্ণ্য\nঅকম্পন\nঅকম্প্র\nঅকর\nঅকরণ\nঅকরণি\nঅকরণী\nঅকরুণ\nঅকরোটি\nঅকর্ণ\nঅকর্তা\nঅকর্তৃত্ব\nঅকর্মকাণ্ড\nঅকর্মঠ\nঅকর্মভোগ\nঅকর্মার ধাড়ি\nঅকলঙ্কী\nঅকলমন্দি\nঅকলুষ\nঅকলুষিত\nঅকল্প\nঅকল্পনা\nঅকল্মষ\nঅকল্যাণ\nঅকল্যাণকরী\nঅকষ্টকল্পনা\nঅকষ্টবদ্ধ\nঅকাট\nঅকাঠিন্য\nঅকাণ্ড\nঅকাপট্য\nঅকাম\nঅকাম্য\nঅকায়\nঅকারান্ত\nঅকার্য\nঅকাল\nঅকালপক্ক\nঅকালপক্ব\nঅকালি\nঅকিল্মিষ\nঅকীক\nঅকীর্তি\nঅকীর্তিকর\nঅকীর্তিত\nঅকু\nঅকুতোভয়\nঅকুব\nঅকুমার\nঅকুমারী\nঅকুল\nঅকুলান\nঅকুলীন\nঅকুশল\nঅকুস্থল\nঅকুস্থান\nঅকূপার\nঅকূলপাথার\nঅকৃতজ্ঞতা\nঅকৃততাপরাধ\nঅকৃতদার\nঅকৃতদ্বাহ\nঅকৃতার্থ\nঅকৃতী\nঅকৃতোদ্বাহ\nঅকৃত্য\nঅকৃত্যকারী\nঅকৃপ\nঅকৃষ্ট\nঅকৈতব\nঅঁকোল\nঅকৌশল\nঅক্কা প্রাপ্তি\nঅক্কা\nঅক্টোপাস\nঅক্টোবর\nঅক্ত (বিশেষ্য)\nঅক্ত\nঅক্রম\nঅক্রমিক\nঅক্রিয়\nঅক্রিয়কর্মা\nঅক্রূর\nঅক্রেয়\nঅক্রোধ\nঅক্লান্ত\nঅক্লেশে\nঅক্ষ\nঅক্ষক\nঅক্ষকর্ণ\nঅক্ষকুশল\nঅক্ষকোবিদ\nঅক্ষত\nঅক্ষম\nঅক্ষয়\nঅক্ষি\nঅক্ষীয়\nঅক্ষুণ্ন\nঅক্ষোভ\nঅখণ্ডনীয়\nঅখন্ড\nঅখল\nঅখাত\nঅখাদ্য\nঅখিল\nঅখুশী\nঅখ্যাত\nঅগ\nঅগন্তব্য\nঅগম্য\nঅংগুস্তানা\nঅগ্র\nঅগ্রজ\nঅগ্রণী\nঅগ্রহনীয়\nঅগ্রাহ্য\nঅগ্রিম\nঅগ্রিয়\nঅগ্রে\nঅগ্র্য\nঅঘ্রাত\nঅঙ্কলক্ষ্মী\nঅঙ্কিত\nঅঙ্কুরিত\nঅঙ্গ\nঅঙ্গী\nঅঙ্গীকৃত\nঅঙ্গীভূত\nঅচঞ্চল\nঅচিত্ত\nঅচিন্ত্য\nঅচূর্ণ\nঅচূর্ণিত\nঅচেষ্ট\nঅচ্ছ\nঅচ্ছিদ্র\nঅচ্ছিন্ন\nঅচ্ছুত\nঅচ্ছেদ\nঅজ্ঞাবাদ\nঅত্যুক্তি\nঅদৃষ্ট\nঅনুপ্রেরণা\nঅন্তঃপাতী\nঅন্নপায়ী\nঅপভ্রংশ\nঅপর্ণা\nঅপুত্রক\nঅংশ\nঅংশক\nঅংশকূট\nঅংশন\nঅংশাঅংশি\nঅংশান্তর\nঅংশাবতার\nঅংশাংশ\nঅংশিত\nঅংশিন\nঅংশীদার\nঅংশীদারি\nঅংশীদারী\nঅংশু\nঅংশুক\nঅংশুকায়\nঅংশুধর\nঅংশুপট্ট\nঅংশুপতি\nঅংশুবাণ\nঅংশুমৎ\nঅংশুমৎফলা\nঅংশুমান\nঅংশুমালা\nঅংশুল\nঅংশুশিরা\nঅংশুহস্ত\nঅংস\nঅংসকূট\nঅংসফলক\nঅংসফলকাস্থি\nঅংসভার\nঅংহ\nঅংহতি\nঅংহ্রি\nঅংহ্রিপ\nআম", "timelimit": "3000", "sizelimit": "0", "summary": "", "watchPage": "nochange", "throttle": "0", "skipContains": "Q9610", "skipNotContains": "", "containFlags": "", "skipCategories": "", "namespacelist": [ "0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "11", "12", "13", "14", "15", "100", "101", "710", "711", "828", "829", "2300", "2301", "2302", "2303" ], "cmtitle": "", "linksto-title": "", "pssearch": "", "titles": "", "srsearch": "", "smwquery": "" }, "bool": { "preparse": false, "minorEdit": false, "autosave": false, "enableRETF": false, "redir-follow": false, "redir-skip": false, "redir-edit": true, "skipNoChange": false, "exists-yes": false, "exists-no": true, "exists-neither": false, "containRegex": false, "categorymembers": false, "cmtype-page": true, "cmtype-subcg": true, "cmtype-file": true, "linksto": false, "backlinks": true, "embeddedin": false, "imageusage": false, "rfilter-redir": false, "rfilter-nonredir": false, "rfilter-all": true, "linksto-redir": true, "prefixsearch": false, "psstrict": true, "watchlistraw": false, "proplinks": false, "smwask": false }, "replaces": [] } } 2y3tpy4sjjfpyw526q5m49plv9usy7e 133043 133042 2022-08-27T09:48:41Z MdsShakil 6871 Updating JWB settings /*semi-automatic*/ json application/json { "default": { "string": { "articleList": "", "timelimit": "3000", "sizelimit": "0", "summary": "", "watchPage": "nochange", "throttle": "0", "skipContains": "", "skipNotContains": "", "containFlags": "", "skipCategories": "", "namespacelist": [ "0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "11", "12", "13", "14", "15", "100", "101", "710", "711", "828", "829", "2300", "2301", "2302", "2303" ], "cmtitle": "", "linksto-title": "", "pssearch": "", "titles": "", "srsearch": "", "smwquery": "" }, "bool": { "preparse": false, "minorEdit": true, "autosave": false, "enableRETF": false, "redir-follow": false, "redir-skip": false, "redir-edit": true, "skipNoChange": false, "exists-yes": false, "exists-no": true, "exists-neither": false, "containRegex": false, "categorymembers": false, "cmtype-page": true, "cmtype-subcg": true, "cmtype-file": true, "linksto": false, "backlinks": true, "embeddedin": false, "imageusage": false, "rfilter-redir": false, "rfilter-nonredir": false, "rfilter-all": true, "linksto-redir": true, "prefixsearch": false, "psstrict": true, "watchlistraw": false, "proplinks": false, "smwask": false }, "replaces": [] }, "অডিও": { "string": { "articleList": "অ-কার\nঅই\nঅইছে\nঅইন\nঅইল\nঅঋণ\nঅওঘর্ষণ\nঅওরো\nঅকট-বিকট\nঅকটকিনা\nঅকটু\nঅকড়িয়া\nঅকণ্ঠস্থ\nঅকথ্য\nঅকবি\nঅকমর্ণ্য\nঅকম্পন\nঅকম্প্র\nঅকর\nঅকরণ\nঅকরণি\nঅকরণী\nঅকরুণ\nঅকরোটি\nঅকর্ণ\nঅকর্তা\nঅকর্তৃত্ব\nঅকর্মকাণ্ড\nঅকর্মঠ\nঅকর্মভোগ\nঅকর্মার ধাড়ি\nঅকলঙ্কী\nঅকলমন্দি\nঅকলুষ\nঅকলুষিত\nঅকল্প\nঅকল্পনা\nঅকল্মষ\nঅকল্যাণ\nঅকল্যাণকরী\nঅকষ্টকল্পনা\nঅকষ্টবদ্ধ\nঅকাট\nঅকাঠিন্য\nঅকাণ্ড\nঅকাপট্য\nঅকাম\nঅকাম্য\nঅকায়\nঅকারান্ত\nঅকার্য\nঅকাল\nঅকালপক্ক\nঅকালপক্ব\nঅকালি\nঅকিল্মিষ\nঅকীক\nঅকীর্তি\nঅকীর্তিকর\nঅকীর্তিত\nঅকু\nঅকুতোভয়\nঅকুব\nঅকুমার\nঅকুমারী\nঅকুল\nঅকুলান\nঅকুলীন\nঅকুশল\nঅকুস্থল\nঅকুস্থান\nঅকূপার\nঅকূলপাথার\nঅকৃতজ্ঞতা\nঅকৃততাপরাধ\nঅকৃতদার\nঅকৃতদ্বাহ\nঅকৃতার্থ\nঅকৃতী\nঅকৃতোদ্বাহ\nঅকৃত্য\nঅকৃত্যকারী\nঅকৃপ\nঅকৃষ্ট\nঅকৈতব\nঅঁকোল\nঅকৌশল\nঅক্কা প্রাপ্তি\nঅক্কা\nঅক্টোপাস\nঅক্টোবর\nঅক্ত (বিশেষ্য)\nঅক্ত\nঅক্রম\nঅক্রমিক\nঅক্রিয়\nঅক্রিয়কর্মা\nঅক্রূর\nঅক্রেয়\nঅক্রোধ\nঅক্লান্ত\nঅক্লেশে\nঅক্ষ\nঅক্ষক\nঅক্ষকর্ণ\nঅক্ষকুশল\nঅক্ষকোবিদ\nঅক্ষত\nঅক্ষম\nঅক্ষয়\nঅক্ষি\nঅক্ষীয়\nঅক্ষুণ্ন\nঅক্ষোভ\nঅখণ্ডনীয়\nঅখন্ড\nঅখল\nঅখাত\nঅখাদ্য\nঅখিল\nঅখুশী\nঅখ্যাত\nঅগ\nঅগন্তব্য\nঅগম্য\nঅংগুস্তানা\nঅগ্র\nঅগ্রজ\nঅগ্রণী\nঅগ্রহনীয়\nঅগ্রাহ্য\nঅগ্রিম\nঅগ্রিয়\nঅগ্রে\nঅগ্র্য\nঅঘ্রাত\nঅঙ্কলক্ষ্মী\nঅঙ্কিত\nঅঙ্কুরিত\nঅঙ্গ\nঅঙ্গী\nঅঙ্গীকৃত\nঅঙ্গীভূত\nঅচঞ্চল\nঅচিত্ত\nঅচিন্ত্য\nঅচূর্ণ\nঅচূর্ণিত\nঅচেষ্ট\nঅচ্ছ\nঅচ্ছিদ্র\nঅচ্ছিন্ন\nঅচ্ছুত\nঅচ্ছেদ\nঅজ্ঞাবাদ\nঅত্যুক্তি\nঅদৃষ্ট\nঅনুপ্রেরণা\nঅন্তঃপাতী\nঅন্নপায়ী\nঅপভ্রংশ\nঅপর্ণা\nঅপুত্রক\nঅংশ\nঅংশক\nঅংশকূট\nঅংশন\nঅংশাঅংশি\nঅংশান্তর\nঅংশাবতার\nঅংশাংশ\nঅংশিত\nঅংশিন\nঅংশীদার\nঅংশীদারি\nঅংশীদারী\nঅংশু\nঅংশুক\nঅংশুকায়\nঅংশুধর\nঅংশুপট্ট\nঅংশুপতি\nঅংশুবাণ\nঅংশুমৎ\nঅংশুমৎফলা\nঅংশুমান\nঅংশুমালা\nঅংশুল\nঅংশুশিরা\nঅংশুহস্ত\nঅংস\nঅংসকূট\nঅংসফলক\nঅংসফলকাস্থি\nঅংসভার\nঅংহ\nঅংহতি\nঅংহ্রি\nঅংহ্রিপ\nআম", "timelimit": "3000", "sizelimit": "0", "summary": "", "watchPage": "nochange", "throttle": "0", "skipContains": "উচ্চারণ", "skipNotContains": "", "containFlags": "", "skipCategories": "", "namespacelist": [ "0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "11", "12", "13", "14", "15", "100", "101", "710", "711", "828", "829", "2300", "2301", "2302", "2303" ], "cmtitle": "", "linksto-title": "", "pssearch": "", "titles": "", "srsearch": "", "smwquery": "" }, "bool": { "preparse": false, "minorEdit": false, "autosave": false, "enableRETF": false, "redir-follow": false, "redir-skip": false, "redir-edit": true, "skipNoChange": false, "exists-yes": false, "exists-no": true, "exists-neither": false, "containRegex": false, "categorymembers": false, "cmtype-page": true, "cmtype-subcg": true, "cmtype-file": true, "linksto": false, "backlinks": true, "embeddedin": false, "imageusage": false, "rfilter-redir": false, "rfilter-nonredir": false, "rfilter-all": true, "linksto-redir": true, "prefixsearch": false, "psstrict": true, "watchlistraw": false, "proplinks": false, "smwask": false }, "replaces": [ { "replaceText": "== {{ভাষা|bn}} ==", "replaceWith": "== {{ভাষা|bn}} ==\\n===উচ্চারণ===\\n{{অডিও|bn|LL-Q9610 (ben)-Shakil Hosen (MdsShakil)-{{#JWB-SAFESUBST:#PAGENAME}}.wav}}", "useRegex": false, "regexFlags": "", "ignoreNowiki": false } ] } } 1g6rgtd3dbmvh0q7e966yznj3hb8lnb সঞ্চিত 0 53275 132969 2022-08-27T05:10:40Z Salil Kumar Mukherjee 7406 ভুক্তি তৈরি wikitext text/x-wiki == {{ভাষা|bn}} == === বিশেষণ === {{বিশেষণ|bn}} # সঞ্চয় করা হয়েছে এমন। i2nskq3n6d8zh1hnvgys72jcmbed7ko 132971 132969 2022-08-27T05:12:39Z Salil Kumar Mukherjee 7406 অর্থ যোগ wikitext text/x-wiki == {{ভাষা|bn}} == === বিশেষণ === {{বিশেষণ|bn}} # সঞ্চয় করা হয়েছে এমন। # আহৃত। rudunp8as1o9hfjfkguxjpsgel8exkc মৃত্যু 0 53276 132972 2022-08-27T05:19:56Z Salil Kumar Mukherjee 7406 ভুক্তি তৈরি wikitext text/x-wiki == {{ভাষা|bn}} == === বিশেষ্য === {{বিশেষ্য|bn}} # মরণ। j67lsa1yyww4dbmm88yf9zadqr5qh7z 132973 132972 2022-08-27T05:21:41Z Salil Kumar Mukherjee 7406 অর্থ যোগ wikitext text/x-wiki == {{ভাষা|bn}} == === বিশেষ্য === {{বিশেষ্য|bn}} # মরণ; # প্রাণত্যাগ। ni60mb2pu3xeu3mz3thqxbdg73tforj 132975 132973 2022-08-27T05:22:45Z Salil Kumar Mukherjee 7406 লিঙ্ক যোগ wikitext text/x-wiki == {{ভাষা|bn}} == === বিশেষ্য === {{বিশেষ্য|bn}} # [[মরণ]]; # প্রাণত্যাগ। rczz3t1hqnvip51p6zqk4tp0y11a6ra মাফ 0 53277 132978 2022-08-27T05:30:27Z Salil Kumar Mukherjee 7406 ভুক্তি তৈরি wikitext text/x-wiki == {{ভাষা|bn}} == === বিশেষ্য === {{বিশেষ্য|bn}} # মার্জনা; 1wpetg8zwmwpu0wx40n7ok1gn6cviq7 132979 132978 2022-08-27T05:30:56Z Salil Kumar Mukherjee 7406 অর্থ যোগ wikitext text/x-wiki == {{ভাষা|bn}} == === বিশেষ্য === {{বিশেষ্য|bn}} # মার্জনা; # ক্ষমা। 857pzm9n4b2x1l0tel0jdafv40icxfu 132980 132979 2022-08-27T05:31:32Z Salil Kumar Mukherjee 7406 অর্থ যোগ wikitext text/x-wiki == {{ভাষা|bn}} == === বিশেষ্য === {{বিশেষ্য|bn}} # মার্জনা; # ক্ষমা; # রেহাই। ajea1l948r24c451j2hb8y6qye1rpz6 132981 132980 2022-08-27T05:32:07Z Salil Kumar Mukherjee 7406 লিঙ্ক যোগ wikitext text/x-wiki == {{ভাষা|bn}} == === বিশেষ্য === {{বিশেষ্য|bn}} # মার্জনা; # [[ক্ষমা]]; # রেহাই। r7evpwe3lnfhx2eh4ra3nywlai9gwfj প্রাথমিক 0 53278 132983 2022-08-27T05:38:45Z Salil Kumar Mukherjee 7406 ভুক্তি তৈরি wikitext text/x-wiki == {{ভাষা|bn}} == === বিশেষণ === {{বিশেষণ|bn}} # প্রারম্ভিক; jp50lopozuypia5netshx1nipitucl7 132984 132983 2022-08-27T05:39:48Z Salil Kumar Mukherjee 7406 অর্থ যোগ wikitext text/x-wiki == {{ভাষা|bn}} == === বিশেষণ === {{বিশেষণ|bn}} # প্রারম্ভিক; # আরম্ভকালীন। ajj1dhxv0tyg6jk6t5132dc5p3coq06 গুরু 0 53279 132986 2022-08-27T05:48:23Z Salil Kumar Mukherjee 7406 ভুক্তি তৈরি wikitext text/x-wiki == {{ভাষা|bn}} == === বিশেষ্য === {{বিশেষ্য|bn}} # শিক্ষক; 1ckh47nte0geoxtjjhg5qv3imw4293f 132987 132986 2022-08-27T05:49:01Z Salil Kumar Mukherjee 7406 অর্থ যোগ wikitext text/x-wiki == {{ভাষা|bn}} == === বিশেষ্য === {{বিশেষ্য|bn}} # শিক্ষক; # আচার্য। 1fplq0bsy2dvvrgiqdgbkcm0gk2zbys আনুষ্ঠানিক 0 53280 132989 2022-08-27T06:10:05Z MdsShakil 6871 + wikitext text/x-wiki == {{ভাষা|bn}} == === ব্যুৎপত্তি === ===উচ্চারণ=== === বিশেষণ === {{বিশেষণ|bn}} # অনুষ্ঠান বিষয়ক # বিধিমত অনুষ্ঠান অনুসারে b99mz732amiymuam0f5s43qgxyodhh3 132990 132989 2022-08-27T06:10:31Z MdsShakil 6871 /* বিশেষণ */ wikitext text/x-wiki == {{ভাষা|bn}} == === ব্যুৎপত্তি === ===উচ্চারণ=== === বিশেষণ === {{বিশেষণ|bn}} # অনুষ্ঠান বিষয়ক # বিধিমত অনুষ্ঠান অনুসারে 03mu9hbyz5i1xh60bhrgfjathur4tyk 132991 132990 2022-08-27T06:11:51Z MdsShakil 6871 /* উচ্চারণ */ wikitext text/x-wiki == {{ভাষা|bn}} == === ব্যুৎপত্তি === ===উচ্চারণ=== * [আনুশ্‌ঠানিক্] === বিশেষণ === {{বিশেষণ|bn}} # অনুষ্ঠান বিষয়ক # বিধিমত অনুষ্ঠান অনুসারে onv2rqqo5bw2p8bx9uwmmpue3ojjtdy 132992 132991 2022-08-27T06:17:40Z MdsShakil 6871 /* উচ্চারণ */ wikitext text/x-wiki == {{ভাষা|bn}} == === ব্যুৎপত্তি === ===উচ্চারণ=== * [আনুশ্‌ঠানিক্] {{অডিও|bn|LL-Q9610 (ben)-Titodutta-আনুষ্ঠানিক.wav|অডিও}} === বিশেষণ === {{বিশেষণ|bn}} # অনুষ্ঠান বিষয়ক # বিধিমত অনুষ্ঠান অনুসারে c642do9xgahyfxo66tce69m5d4jy3ce 132997 132992 2022-08-27T06:36:08Z MdsShakil 6871 /* {{ভাষা|bn}} */ wikitext text/x-wiki == {{ভাষা|bn}} == === ব্যুৎপত্তি === ===উচ্চারণ=== * [আনুশ্‌ঠানিক্] {{অডিও|bn|LL-Q9610 (ben)-Titodutta-আনুষ্ঠানিক.wav|অডিও}} === বিশেষণ === {{বিশেষণ|bn}} # অনুষ্ঠান বিষয়ক # বিধিমত অনুষ্ঠান অনুসারে === অনুবাদ === * [[official]] op3xnc0ns7yv1aeyxhfyifqrna73xgt সাম্প্রতিক 0 53281 132996 2022-08-27T06:34:15Z MdsShakil 6871 "== {{ভাষা|bn}} == === ব্যুৎপত্তি === ===উচ্চারণ=== === বিশেষণ === {{বিশেষণ|bn}} # আধুনিক # আজকালকার # ইদানীন্তন ===অনুবাদ=== # [[recent]]" দিয়ে পাতা তৈরি wikitext text/x-wiki == {{ভাষা|bn}} == === ব্যুৎপত্তি === ===উচ্চারণ=== === বিশেষণ === {{বিশেষণ|bn}} # আধুনিক # আজকালকার # ইদানীন্তন ===অনুবাদ=== # [[recent]] fllm7tn459erhrngdg2ua7kqzrodgjq 133005 132996 2022-08-27T07:26:05Z MdsShakil 6871 /* উচ্চারণ */ wikitext text/x-wiki == {{ভাষা|bn}} == === ব্যুৎপত্তি === ===উচ্চারণ=== {{অডিও|bn|LL-Q9610 (ben)-MdsShakil-সাম্প্রতিক.wav}} === বিশেষণ === {{বিশেষণ|bn}} # আধুনিক # আজকালকার # ইদানীন্তন ===অনুবাদ=== # [[recent]] nezm3t3akku1wu2pvxl9gd8asifgei4 ধারাবাহিক 0 53282 132998 2022-08-27T06:45:09Z MdsShakil 6871 "== {{ভাষা|bn}} == === ব্যুৎপত্তি === ===উচ্চারণ=== === বিশেষ্য === {{বিশেষ্য|bn}} # নিরবচ্ছিন্ন" দিয়ে পাতা তৈরি wikitext text/x-wiki == {{ভাষা|bn}} == === ব্যুৎপত্তি === ===উচ্চারণ=== === বিশেষ্য === {{বিশেষ্য|bn}} # নিরবচ্ছিন্ন icso1j5j7qtdgwilf6dous5t7bh3807 132999 132998 2022-08-27T06:45:52Z MdsShakil 6871 /* {{ভাষা|bn}} */ wikitext text/x-wiki == {{ভাষা|bn}} == === ব্যুৎপত্তি === ===উচ্চারণ=== === বিশেষ্য === {{বিশেষ্য|bn}} # নিরবচ্ছিন্ন === অনুবাদ === # [[series]] s66iom8364j3f3ohon5slahdiwaqwi6 133008 132999 2022-08-27T07:28:49Z MdsShakil 6871 /* উচ্চারণ */ wikitext text/x-wiki == {{ভাষা|bn}} == === ব্যুৎপত্তি === ===উচ্চারণ=== * {{অডিও|bn|LL-Q9610 (ben)-MdsShakil-ধারাবাহিক.wav}} === বিশেষ্য === {{বিশেষ্য|bn}} # নিরবচ্ছিন্ন === অনুবাদ === # [[series]] hizhjb5k2dimr8two4hi9uvusxw9ky0