Wiki Go-Toubun no Hanayome
Advertisement

La documentation pour ce module peut être créée à Module:Traduction/doc

--Page copiée sur le wiki Naruto fr
-- @author: UltimateSupreme
local p, flag = {}, false
local yn = require( 'Module:Yesno' )
local err = require( 'Module:Error' )

-- Check if the arg exists
-- If yes, append it to the text
local function append(label, arg, text, lang)

    local c = flag and ", " or " ("
    local t = text

    if yn(arg) then
        flag = true
        if lang then
            arg = tostring(
                mw.html.create("span")
                :attr("lang", lang)
                :wikitext(arg)
            )
        end

        if label then
            t = t..c.."''"..label.." :'' "..arg
        else t = t..c..arg
        end
    end

    return t
end

function p.rubify(base, ann)
    return "<ruby lang=ja>"..base.."<rp>, </rp><rt>"..ann.."</rt></ruby>"
end

function p.traduction(frame)
    local args = frame:getParent().args

    if not yn(args[1]) then return err("Indiquer un nom officiel") end

    local text = args[1]
    
    if args.furigana then args[2] = p.rubify(args[2], args.furigana) end
    text = append(nil, args[2], text, "ja")

    if yn(args[3]) then
        text = append(nil, "''"..args[3].."''", text)
    end

    text = append("Français", args.fra, text)
    text = append("Latin", args.latin, text, "la")
    text = append("Kana Home Video", args.kanahv, text)
    text = append("Kana", args.kana, text)
    text = append("TV Française", args.tvfra, text)
    text = append("DVD FR", args.dvdfr, text)
    text = append("Fansub", args.fansub, text)
    text = append("Signifiant littéralement", args["signif lit"], text)
    text = append("Signification (Kana)", args["signif kana"], text)
    text = append("Signification (TV Française)", args["signif tvfra"], text)
    text = append(nil, args[4], text) --extra

    return text..(flag and ")" or "")
end
return p

--[[Catégorie:Modules Lua]]
Advertisement