ব্যবহারকারী:মোহাম্মদ মারুফ/refTranslator.js
লক্ষ্য করুন: প্রকাশ করার পর, পরিবর্তনগুলো দেখতে আপনাকে আপনার ব্রাউজারের ক্যাশে পরিষ্কার করার প্রয়োজন হতে পারে।
- ফায়ারফক্স / সাফারি: পুনরায় লোড-এ ক্লিক করার সময় শিফট টিপে ধরে রাখুন, অথবা হয় Ctrl-F5 বা Ctrl-R টিপুন (ম্যাকে ⌘-R টিপুন)
- গুগল ক্রোম: Ctrl-Shift-R (ম্যাকে ⌘-Shift-R) টিপুন
- ইন্টারনেট এক্সপ্লোরার / এজ: Ctrl ধরে রাখা অবস্থায় Refresh-এ ক্লিক করুন, অথবা Ctrl-F5 টিপুন
- অপেরা: Ctrl-F5 টিপুন।
(function () {
/*
****************************************
*** ব্যবহারকারী:মোহাম্মদ মারুফ/refTranslator.js: refTranslator module
****************************************
* Mode of invocation: trasnlation of references and citations
* Active on: only main namespace
* Config directives in: ব্যবহারকারী:মোহাম্মদ মারুফ/refTranslator.js
* creator: মোহাম্মদ মারুফ
* created on: 23 December, 2022
* version: 2.0
*/
//load css file
importStylesheetURI(
"https://bn.wikipedia.org/w/index.php?title=ব্যবহারকারী:মোহাম্মদ মারুফ/default.css&action=raw&ctype=text/css"
);
//translations object
var refTranslator = [
[/{{cite\sweb/gi, "{{ওয়েব উদ্ধৃতি"],
[/{{cite\sbook/gi, "{{বই উদ্ধৃতি"],
[/{{cite\snews/gi, "{{সংবাদ উদ্ধৃতি"],
[/{{cite\sjournal/gi, "{{সাময়িকী উদ্ধৃতি"],
[/\|url\s*=/gi, "|ইউআরএল ="],
[/\|url-access\s*=/gi, "|ইউআরএল-সংগ্রহ ="],
[/\|title\s*=/gi, "|শিরোনাম ="],
[/\|last\s*=/gi, "|শেষাংশ ="],
[/\|first\s*=/gi, "|প্রথমাংশ ="],
[/\|author-link\s*=/gi, "|লেখক-সংযোগ ="],
[/\|last2\s*=/gi, "|শেষাংশ২ ="],
[/\|first2\s*=/gi, "|প্রথমাংশ২ ="],
[/\|author-link2\s*=/gi, "|লেখক-সংযোগ2 ="],
[/\|date\s*=/gi, "|তারিখ ="],
[/\|year\s*=/gi, "|বছর ="],
[/\|orig-date\s*=/gi, "|প্রকৃত-বছর ="],
[/\|editor-last\s*=/gi, "|সম্পাদক-শেষাংশ ="],
[/\|editor-first\s*=/gi, "|সম্পাদক-প্রথমাংশ ="],
[/\|editor-link\s*=/gi, "|সম্পাদক-সংযোগ ="],
[/\|editor2-last\s*=/gi, "|সম্পাদক২-শেষাংশ ="],
[/\|editor2-first\s*=/gi, "|সম্পাদক২-প্রথমাংশ ="],
[/\|editor2-link\s*=/gi, "|সম্পাদক২-সংযোগ ="],
[/\|department\s*=/gi, "|বিভাগ ="],
[/\|website\s*=/gi, "|ওয়েবসাইট ="],
[/\|series\s*=/gi, "|ধারাবাহিক ="],
[/\|publisher\s*=/gi, "|প্রকাশক ="],
[/\|agency\s*=/gi, "|এজেন্সি ="],
[/\|location\s*=/gi, "|অবস্থান ="],
[/\|page\s*=/gi, "|পাতা ="],
[/\|pages\s*=/gi, "|পাতাসমূহ ="],
[/\|at\s*=/gi, "|at ="],
[/\|language\s*=/gi, "|ভাষা ="],
[/\|script-title\s*=/gi, "|লিপির-শিরোনাম ="],
[/\|trans-title\s*=/gi, "|অনূদিত-শিরোনাম ="],
[/\|type\s*=/gi, "|ধরন ="],
[/\|format\s*=/gi, "|বিন্যাস ="],
[/\|arxiv\s*=/gi, "|arxiv ="],
[/\|asin\s*=/gi, "|asin ="],
[/\|bibcode\s*=/gi, "|বিবকোড ="],
[/\|doi\s*=/gi, "|ডিওআই ="],
[/\|doi-broken-date\s*=/gi, "|ডিওআই-ভাঙ্গার-তারিখ ="],
[/\|isbn\s*=/gi, "|আইএসবিএন ="],
[/\|issn\s*=/gi, "|issn ="],
[/\|jfm\s*=/gi, "|জেএফএম ="],
[/\|jstor\s*=/gi, "|jstor ="],
[/\|lccn\s*=/gi, "|এলসিসিএন ="],
[/\|mr\s*=/gi, "|mr ="],
[/\|oclc\s*=/gi, "|oclc ="],
[/\|ol\s*=/gi, "|ওএল ="],
[/\|osti\s*=/gi, "|osti ="],
[/\|pmc\s*=/gi, "|pmc ="],
[/\|pmid\s*=/gi, "|pmid ="],
[/\|rfc\s*=/gi, "|rfc ="],
[/\|ssrn\s*=/gi, "|ssrn ="],
[/\|zbl\s*=/gi, "|zbl ="],
[/\|id\s*=/gi, "|আইডি ="],
[/\|access-date\s*=/gi, "|সংগ্রহের-তারিখ ="],
[/\|url-status\s*=/gi, "|ইউআরএল-অবস্থা ="],
[/\|archive-url\s*=/gi, "|আর্কাইভের-ইউআরএল ="],
[/\|archive-date\s*=/gi, "|আর্কাইভের-তারিখ ="],
[/\|via\s*=/gi, "|মাধ্যম ="],
[/\|quote\s*=/gi, "|উক্তি ="],
[/\|ref\s*=/gi, "|সূত্র ="],
[/\|postscript\s*=/gi, "|পুনশ্চ ="],
[/\|last1\s*=/gi, "|শেষাংশ১ ="],
[/\|first1\s*=/gi, "|প্রথমাংশ১ ="],
[/\|author-link1\s*=/gi, "|লেখক-সংযোগ১ ="],
[/\|last3\s*=/gi, "|শেষাংশ৩ ="],
[/\|first3\s*=/gi, "|প্রথমাংশ৩ ="],
[/\|author-link3\s*=/gi, "|লেখক-সংযোগ৩ ="],
[/\|last4\s*=/gi, "|শেষাংশ৪ ="],
[/\|first4\s*=/gi, "|প্রথমাংশ৪ ="],
[/\|author-link4\s*=/gi, "|লেখক-সংযোগ৪ ="],
[/\|last5\s*=/gi, "|শেষাংশ৫ ="],
[/\|first5\s*=/gi, "|প্রথমাংশ৫ ="],
[/\|author-link5\s*=/gi, "|লেখক-সংযোগ৫ ="],
[/\|display-authors\s*=/gi, "|লেখক-প্রদর্শন ="],
[/\|author-mask\s*=/gi, "|লেখক-ছদ্মনাম ="],
[/\|name-list-style\s*=/gi, "|নামের-তালিকার-বিন্যাস ="],
[/\|editor1-last\s*=/gi, "|সম্পাদক১-শেষাংশ ="],
[/\|editor1-first\s*=/gi, "|সম্পাদক১-প্রথমাংশ ="],
[/\|editor1-link\s*=/gi, "|সম্পাদক১-সংযোগ ="],
[/\|editor3-last\s*=/gi, "|সম্পাদক৩-শেষাংশ ="],
[/\|editor3-first\s*=/gi, "|সম্পাদক৩-প্রথমাংশ ="],
[/\|editor3-link\s*=/gi, "|সম্পাদক৩-সংযোগ ="],
[/\|editor4-last\s*=/gi, "|সম্পাদক৪-শেষাংশ ="],
[/\|editor4-first\s*=/gi, "|সম্পাদক৪-প্রথমাংশ ="],
[/\|editor4-link\s*=/gi, "|সম্পাদক৪-সংযোগ ="],
[/\|editor5-last\s*=/gi, "|সম্পাদক৫-শেষাংশ ="],
[/\|editor5-first\s*=/gi, "|সম্পাদক৫-প্রথমাংশ ="],
[/\|editor5-link\s*=/gi, "|সম্পাদক৫-সংযোগ ="],
[/\|display-editors\s*=/gi, "|সম্পাদক-প্রদর্শন ="],
[/\|others\s*=/gi, "|অন্যান্য ="],
[/\|journal\s*=/gi, "|journal ="],
[/\|edition\s*=/gi, "|সংস্করণ ="],
[/\|publication-place\s*=/gi, "|publication-place ="],
[/\|publication-date\s*=/gi, "|প্রকাশনার-তারিখ ="],
[/\|volume\s*=/gi, "|খণ্ড ="],
[/\|issue\s*=/gi, "|issue ="],
[/\|no-pp\s*=/gi, "|nopp ="],
[/\|bibcode-access\s*=/gi, "|bibcode-access ="],
[/\|biorxiv\s*=/gi, "|biorxiv ="],
[/\|citeseerx\s*=/gi, "|citeseerx ="],
[/\|doi-access\s*=/gi, "|doi-access ="],
[/\|jstor-access\s*=/gi, "|jstor-access ="],
[/\|ol-access\s*=/gi, "|ol-access ="],
[/\|osti-access\s*=/gi, "|osti-access ="],
[/\|layurl\s*=/gi, "|layurl ="],
];
//get the page name
var pagename = mw.config.get("wgPageName");
//check if the page is in main namespace
if (mw.config.get("wgNamespaceNumber") === 0 || 2) {
//add a button to the page
var button = $(
mw.util.addPortletLink(
"p-tb",
"#",
"অনুবাদক (সূত্র)",
"refTranslator",
"তথ্যসূত্র টেমপ্লেট অনুবাদ করুন",
"",
"#refTranslator"
)
);
const api = new mw.Api();
//button click event
$(button).click(function () {
api
.edit(pagename, function (revision) {
var text = modify(revision.content);
return {
text: text,
summary: "অনুবাদ",
minor: true,
bot: false,
};
})
.then(function () {
location.reload();
});
});
}
//translator function
function translator(data) {
var text = data;
for (var i = 0; i < refTranslator.length; i++) {
text = text.replace(refTranslator[i][0], refTranslator[i][1]);
}
return text;
}
function modify(text) {
//split the text
var splittext = text
.replace(/<ref(?!\s+name="(\w+|:\d)"\s*\/>)/gi, "<split")
.replace(/<\/\s?ref/gi, "<split");
var ref = splittext.split("<split");
//now join the text
var translatedText = "";
var jointext = ref[0];
for (var i = 1; i < ref.length; i++) {
if (i % 2 == 0) {
jointext += "</ref" + ref[i];
} else {
translatedText = translator(ref[i]);
jointext += "<ref" + translatedText;
}
}
return jointext;
}
})();