মডিউল:সংখ্যা রূপান্তরকারী

এই মডিউলটি প্রদত্ত ইনপুট ও আদেশ অনুসারে বাংলা সংখ্যাকে ইংরেজি ও ইংরেজি সংখ্যাকে বাংলায় রূপান্তর করে।

সরাসরি মডিউল ব্যবহার করে

সম্পাদনা
  • translate2bn: শুধু ইংরেজি সংখ্যাকে বাংলায় সংখ্যায় রূপান্তর করবে।
{{#invoke:সংখ্যা রূপান্তরকারী|translate2bn|1234}} → ১২৩৪
{{#invoke:সংখ্যা রূপান্তরকারী|translate2bn|1234 ১২৩৪}} → ১২৩৪ ১২৩৪
{{#invoke:সংখ্যা রূপান্তরকারী|translate2bn|এটি একটি উদাহরণ: 1234 ১২৩৪}} → এটি একটি উদাহরণ: ১২৩৪ ১২৩৪
  • translate2en: শুধু বাংলা সংখ্যাকে ইংরেজিতে সংখ্যায় রূপান্তর করবে।
{{#invoke:সংখ্যা রূপান্তরকারী|translate2en|১২৩৪}} → 1234
{{#invoke:সংখ্যা রূপান্তরকারী|translate2en|1234 ১২৩৪}} → 1234 1234
{{#invoke:সংখ্যা রূপান্তরকারী|translate2en|এটি একটি উদাহরণ: 1234 ১২৩৪}} → এটি একটি উদাহরণ: 1234 1234

অন্য মডিউলে ব্যবহারের জন্য ডাকা

সম্পাদনা

অন্য মডিউলে ব্যবহারের জন্য তিন পদ্ধতি ব্যবহার করে ডাকা যাবে।

local convert = require('মডিউল:সংখ্যা রূপান্তরকারী').convert
convert('bn', '1234')  -- ফলাফল দেয় ১২৩৪
convert('en', '১২৩৪')  -- ফলাফল দেয় 1234
local translate2bn = require('মডিউল:সংখ্যা রূপান্তরকারী')._translate2bn
translate2bn('1234')  -- ফলাফল দেয় ১২৩৪
local translate2en = require('মডিউল:সংখ্যা রূপান্তরকারী')._translate2en
translate2en('১২৩৪')  -- ফলাফল দেয় 1234

টেমপ্লেট দ্বারা ব্যবহার

সম্পাদনা
  • টেমপ্লেটে translate2bntranslate2en ব্যবহার করা
যদি টেমপ্লেটে {{#invoke:সংখ্যা রূপান্তরকারী|translate2bn}} দেয়া হয় (ধরি টেমপ্লেটের নাম রূপান্তর এক[উদাহরণ অর্থে দেয়া, এই নামে টেমপ্লেট নেই])
তাহলে {{রূপান্তর এক|1234}} → ১২৩৪
যদি টেমপ্লেটে {{#invoke:সংখ্যা রূপান্তরকারী|translate2en}} দেয়া হয় (ধরি টেমপ্লেটের নাম রূপান্তর দুই[উদাহরণ অর্থে দেয়া, এই নামে টেমপ্লেট নেই])
তাহলে {{রূপান্তর দুই|১২৩৪}} → 1234
  • টেমপ্লেটে convert_template ব্যবহার করা
{{সংখ্যা রূপান্তরকারী}} টেমপ্লেট বিস্তারিত দেখুন। টেমপ্লেটটি convert_template ({{#invoke:সংখ্যা রূপান্তরকারী|convert_template}}) ফাংশন ব্যবহার করে। যা কিনা একই সাথে বাংলা-ইংরেজি সংখ্যা রূপান্তর করতে পারে।

আরো দেখুন

সম্পাদনা
  • মডিউল:সংখ্যা পরিবর্তন - স্বয়ংক্রিয়ভাবে সংখ্যাকে পরিবর্তন করে। ইংরেজি সংখ্যা দিলে বাংলা ও বাংলা দিলে ইংরেজি
  • মডিউল:ConvertDigit - শুধু ইংরেজি মাস ও সংখ্যাকে বাংলায় রূপান্তর করে
  • মডিউল:ConvertTime - শুধু বাংলা মাস ও সংখ্যাকে ইংরেজিতে রূপান্তর করে

--[=[ প্রদত্ত বাংলা সংখ্যাকে ইংরেজি বা ইংরেজি সংখ্যাকে বাংলা করে
]=]

local p = {}

function p._translate2bn(text)
	if type(text) == 'string' then
		text = text:gsub('%d', {
			['0'] = '০',
			['1'] = '১',
			['2'] = '২',
			['3'] = '৩',
			['4'] = '৪',
			['5'] = '৫',
			['6'] = '৬',
			['7'] = '৭',
			['8'] = '৮',
			['9'] = '৯',
		})
	end
	return text
end

function p._translate2en(text)
	if type(text) == 'string' then
		text = mw.ustring.gsub(text, '%d', {
			['০'] = '0',
			['১'] = '1',
			['২'] = '2',
			['৩'] = '3',
			['৪'] = '4',
			['৫'] = '5',
			['৬'] = '6',
			['৭'] = '7',
			['৮'] = '8',
			['৯'] = '9',
		})
	end
	return text
end

function p.convert(lang, text)
	if lang == 'bn' then
		return p._translate2bn(text)
	end
	if lang == 'en' then
		return p._translate2en(text)
	end
	return text
end

function p.translate2bn(frame)
	local text = frame.args[1] or frame:getParent().args[1]
	return p._translate2bn(text)
end

function p.translate2en(frame)
	local text = frame.args[1] or frame:getParent().args[1]
	return p._translate2en(text)
end

function p.convert_template(frame)
	local args = frame.args
	local pargs = frame:getParent().args
	local lang = args[1] or pargs[1]
	local text = args[2] or pargs[2]
	return p.convert(lang, text)
end

return p