@Kc_kennylau it's not working because the templates are expanded to <span class="Jpan" lang="en">
, etc. (you can see this with return frame:preprocess('<nowiki>'..text..'</nowiki>')
). —suzukaze (t・c) 11:58, 12 November 2016 (UTC)
local export = {} local ja = require("Module:ja") function export.convert(frame) local text = mw.text.unstripNoWiki(frame.args) text = mw.ustring.gsub(text, "%* {{ja%-l|(+)|(*)|(+)}}", function(a,b,c) if ja.script(a):match("Hani") then c = mw.ustring.gsub(c, "", function(d) return "^" .. mw.ustring.lower(d) end) b = ja.kata_to_hira(ja.romaji_to_kata(c)) end return "* {{ja-r|" .. a .. "|" .. b .. "}}" end) text = mw.ustring.gsub(text, "%* {{ja%-l|(+)|(*)}}", "* {{ja-r|%1|%2}}") text = mw.ustring.gsub(text, "%* {{l|ja|(+)|tr=%+)%]%], (+)}}", function(a,b,c) if ja.script(a):match("Hani") then c = mw.ustring.gsub(c, "", function(d) return "^" .. mw.ustring.lower(d) end) b = ja.kata_to_hira(ja.romaji_to_kata(c)) return "* {{ja-r|" .. a .. "|" .. b .. "}}" else return "* {{ja-r|" .. a .. "}}" end end) text = mw.ustring.gsub(text, "%* {{l|ja|(+)|tr=(+), (+)}}", function(a,b,c) if ja.script(a):match("Hani") then c = mw.ustring.gsub(c, "", function(d) return "^" .. mw.ustring.lower(d) end) b = ja.kata_to_hira(ja.romaji_to_kata(c)) end return "* {{ja-r|" .. a .. "|" .. b .. "}}" end) text = mw.ustring.gsub(text, "%* {{l|ja|(+)|tr=+}}", "* {{ja-r|%1}}") text = mw.ustring.gsub(text, "%* %+)%]%] %(%+)%]%]%)", function(a,b) if ja.script(a):match("Hani") then b = mw.ustring.gsub(b, "", function(c) return "^" .. mw.ustring.lower(c) end) b = ja.kata_to_hira(ja.romaji_to_kata(b)) end return "* {{ja-r|" .. a .. "|" .. b .. "}}" end) return text end return export
{{#invoke:User:kc kennylau/japanese|convert|1=<nowiki> * {{ja-l|貴方|あなた|anata}} * {{ja-l|貴方|あなた}} * {{l|ja|貴方|tr=], anata}} * {{l|ja|貴方|tr=anata}} * ] (]) }} </nowiki>