Modul:ja-usex

Vikilug‘atdan olingan

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