نسخهٔ فعلی |
متن شما |
خط ۱: |
خط ۱: |
| local p = {} | | local p = {} |
| local lang = mw.language.new('fa')
| | |
| -- Use this function from templates. | | -- Use this function from templates. |
| function p.convert_template(frame) | | function p.convert_template(frame) |
| -- Third argument is optional; If true given, signs like dot (.) will be replaced.
| | -- Third argument is optional; If true given, signs like dot (.) will be replaced. |
| frame.args[3] = frame.args[3] or nil
| | frame.args[3] = frame.args[3] or nil |
| return p.convert(frame.args[1], frame.args[2], frame.args[3])
| | return p.convert(frame.args[1], frame.args[2], frame.args[3]) |
| end | | end |
|
| |
|
| -- Use these function directly in modules. | | -- Use this function directly in modules. |
| | function p.convert(lang, text, signs, virgule) |
| | text = tostring(text) |
| | signs = signs or nil |
| | virgule= virgule or nil |
|
| |
|
| function p.convert_cordination_template(frame)
| | if lang == "fa" or lang == "ur" or lang == "mzn" or lang == "glk" then -- برای فارسی، اردو، مازندرانی، گیلکی |
| return p.convert("en", p.convert_cordination(frame.args[1]))
| | text = mw.ustring.gsub(text, "[0٠]", "۰") |
| end | | text = mw.ustring.gsub(text, "[1١]", "۱") |
| | text = mw.ustring.gsub(text, "[2٢]", "۲") |
| | text = mw.ustring.gsub(text, "[3٣]", "۳") |
| | text = mw.ustring.gsub(text, "[4٤]", "۴") |
| | text = mw.ustring.gsub(text, "[5٥]", "۵") |
| | text = mw.ustring.gsub(text, "[6٦]", "۶") |
| | text = mw.ustring.gsub(text, "[7٧]", "۷") |
| | text = mw.ustring.gsub(text, "[8٨]", "۸") |
| | text = mw.ustring.gsub(text, "[9٩]", "۹") |
| | if type(signs) ~= "nil" then |
| | text = mw.ustring.gsub(text, "%.", "٫") |
| | end |
| | elseif lang == "ar" or lang == "ckb" or lang == "ks" then -- برای عربی، کردی سورانی، کشمیری |
| | text = mw.ustring.gsub(text, "[۰0]", "٠") |
| | text = mw.ustring.gsub(text, "[۱1]", "١") |
| | text = mw.ustring.gsub(text, "[۲2]", "٢") |
| | text = mw.ustring.gsub(text, "[۳3]", "٣") |
| | text = mw.ustring.gsub(text, "[۴4]", "٤") |
| | text = mw.ustring.gsub(text, "[۵5]", "٥") |
| | text = mw.ustring.gsub(text, "[۶6]", "٦") |
| | text = mw.ustring.gsub(text, "[۷7]", "٧") |
| | text = mw.ustring.gsub(text, "[۸8]", "٨") |
| | text = mw.ustring.gsub(text, "[۹9]", "٩") |
| | elseif lang and lang ~= "" then -- برای همهٔ زبانهای دیگر |
| | text = mw.ustring.gsub(text, "[۰٠]", "0") |
| | text = mw.ustring.gsub(text, "[۱١]", "1") |
| | text = mw.ustring.gsub(text, "[۲٢]", "2") |
| | text = mw.ustring.gsub(text, "[۳٣]", "3") |
| | text = mw.ustring.gsub(text, "[۴٤]", "4") |
| | text = mw.ustring.gsub(text, "[۵٥]", "5") |
| | text = mw.ustring.gsub(text, "[۶٦]", "6") |
| | text = mw.ustring.gsub(text, "[۷٧]", "7") |
| | text = mw.ustring.gsub(text, "[۸٨]", "8") |
| | text = mw.ustring.gsub(text, "[۹٩]", "9") |
| | text = mw.ustring.gsub(text, "٫", ".") |
| | if type(virgule) ~= "nil" then |
| | text = mw.ustring.gsub(text, "،", ",") |
| | end |
| | end |
|
| |
|
| function p.convert_cordination(text)
| | return text |
| text = tostring(text)
| |
| text = mw.ustring.gsub(text, "شمالی", "N")
| |
| text = mw.ustring.gsub(text, "شرقی", "E")
| |
| text = mw.ustring.gsub(text, "جنوبی", "S")
| |
| text = mw.ustring.gsub(text, "غربی", "W")
| |
| return text
| |
| end | | end |
|
| |
|
| function p.convert_Fa_cordination(text)
| |
| text = tostring(text)
| |
| text = mw.ustring.gsub(text, "N", "شمالی")
| |
| text = mw.ustring.gsub(text, "E", "شرقی")
| |
| text = mw.ustring.gsub(text, "S", "جنوبی")
| |
| text = mw.ustring.gsub(text, "W", "غربی")
| |
| return text
| |
| end
| |
|
| |
| function p.convert(lang, text, signs, virgule)
| |
| local file
| |
| local files = {}
| |
| local i = 1
| |
| text = tostring(text)
| |
| if mw.ustring.find(text, "%[%[[Ffپ][Iiر][Llو][Eeن]د?ه?%:") then
| |
| for capture in mw.ustring.gmatch(text, "%[%[[Ffپ][Iiر][Llو][Eeن]د?ه?%:.+%]%]") do
| |
| text = mw.ustring.gsub(text, "%[%[[Ffپ][Iiر][Llو][Eeن]د?ه?%:.+%]%]", "FILE", 1)
| |
| files[i] = capture
| |
| i = i + 1
| |
| end
| |
| i = 1
| |
| end
| |
|
| |
| signs = signs or nil
| |
| virgule = virgule or nil
| |
|
| |
| if lang == "fa" or lang == "ur" or lang == "mzn" or lang == "glk" then -- برای فارسی، اردو، مازندرانی، گیلکی
| |
| text = mw.ustring.gsub(text, "[0٠]", "۰")
| |
| text = mw.ustring.gsub(text, "[1١]", "۱")
| |
| text = mw.ustring.gsub(text, "[2٢]", "۲")
| |
| text = mw.ustring.gsub(text, "[3٣]", "۳")
| |
| text = mw.ustring.gsub(text, "[4٤]", "۴")
| |
| text = mw.ustring.gsub(text, "[5٥]", "۵")
| |
| text = mw.ustring.gsub(text, "[6٦]", "۶")
| |
| text = mw.ustring.gsub(text, "[7٧]", "۷")
| |
| text = mw.ustring.gsub(text, "[8٨]", "۸")
| |
| text = mw.ustring.gsub(text, "[9٩]", "۹")
| |
| text = mw.ustring.gsub(text, "[.]", "٫")
| |
| if type(signs) ~= "nil" then
| |
| text = mw.ustring.gsub(text, "%.", "٫")
| |
| --تبدیل % به درصد فارسی ٪ را نگذاشتم چون ممکن است کدهای درصدی وارد شده به پودمان را خراب کند.
| |
| end
| |
| elseif lang == "ar" or lang == "ckb" or lang == "ks" then -- برای عربی، کردی سورانی، کشمیری
| |
| text = mw.ustring.gsub(text, "[۰0]", "٠")
| |
| text = mw.ustring.gsub(text, "[۱1]", "١")
| |
| text = mw.ustring.gsub(text, "[۲2]", "٢")
| |
| text = mw.ustring.gsub(text, "[۳3]", "٣")
| |
| text = mw.ustring.gsub(text, "[۴4]", "٤")
| |
| text = mw.ustring.gsub(text, "[۵5]", "٥")
| |
| text = mw.ustring.gsub(text, "[۶6]", "٦")
| |
| text = mw.ustring.gsub(text, "[۷7]", "٧")
| |
| text = mw.ustring.gsub(text, "[۸8]", "٨")
| |
| text = mw.ustring.gsub(text, "[۹9]", "٩")
| |
| elseif lang and lang ~= "" then -- برای همهٔ زبانهای دیگر
| |
| text = mw.ustring.gsub(text, "[۰٠]", "0")
| |
| text = mw.ustring.gsub(text, "[۱١]", "1")
| |
| text = mw.ustring.gsub(text, "[۲٢]", "2")
| |
| text = mw.ustring.gsub(text, "[۳٣]", "3")
| |
| text = mw.ustring.gsub(text, "[۴٤]", "4")
| |
| text = mw.ustring.gsub(text, "[۵٥]", "5")
| |
| text = mw.ustring.gsub(text, "[۶٦]", "6")
| |
| text = mw.ustring.gsub(text, "[۷٧]", "7")
| |
| text = mw.ustring.gsub(text, "[۸٨]", "8")
| |
| text = mw.ustring.gsub(text, "[۹٩]", "9")
| |
| text = mw.ustring.gsub(text, "٫", ".")
| |
| text = mw.ustring.gsub(text, "٪", "%")
| |
| if type(virgule) ~= "nil" then
| |
| text = mw.ustring.gsub(text, "،", ",")
| |
| text = mw.ustring.gsub(text, "٪", "%")
| |
| end
| |
| end
| |
| if #files > 0 then
| |
| while i <= #files do
| |
| text = mw.ustring.gsub(text, "FILE", files[i], 1)
| |
| i = i + 1
| |
| end
| |
| end
| |
| return text
| |
| end
| |
|
| |
| return p | | return p |