Modul:ja-usex
Bu ish har qilsa {{ja-usex}}
. {{usex}}
, lekin usex farqli oʻlaroq u Masalan uchun furigana qoʻshimchalar va yuborgan yoki masalan, ikkinchi liniyasini tashkil topgan transliteratorlar sifatida foydalanish uchun transliteratsiya hosil kabi bir misol yoki taklif koʻrsatadi.
local m_ja = require("Module:ja")
local export = {}
-- main entry point
function export.show(frame)
local args = frame:getParent().args
local text = {}
local example = args[1] or error("Misol belgilangan olinmagan. Moduli nolish uchun parametr 1 oʻtishi qiling.")
local second_param = args[2] or error("A kana form or a translation must be passed in parameter 2.")
-- Foydalanuvchi faqat ikki params belgilangan boʻlsa, ikkinchi pul tarjima deylik, birinchi pul yoʻq kanji bor
local translation = args[3] or ""
local kana = ""
if translation == "" then
translation = second_param
kana = example
else
kana = second_param
end
table.insert(text, ('<span lang="ja" class="Jpan">%s</span>'):format(m_ja.add_ruby_backend(example, kana)))
table.insert(text, "<dl><dd>''")
-- oxirgi xat davrida, savol belgisi, yoki undov nuqtasida tugaydi agar birinchi harfini xarfdan
if mw.ustring.match(kana, "[。?!]$") then
table.insert(text, (mw.ustring.gsub(m_ja.kana_to_romaji(kana), "^%'.-%l", mw.ustring.upper)))
else
table.insert(text, m_ja.kana_to_romaji(kana))
end
table.insert(text, "''</dd><dd>")
table.insert(text, translation)
table.insert(text, "</dd></dl>")
return table.concat(text)
end
return export