跳转到内容

Module:WikitextLC

维基新闻,自由的新闻源

Template:High-use 本模块用于以Lua语言执行字词转换。

在模块中调用本模块时可以输入以下代码:

local WikitextLC = require( 'Module:WikitextLC' )

用法可参见Module:NoteTA


local p = {}

--- Construct an inline conversion from a table input.
-- @param content table of the form
--        { ["zh-cn"]='foobar', ["zh-tw"]='firecat', ["zh-hk"]='' }
-- @returns string
--       "-{zh-cn:foobar;zh-tw:firecat;zh-hk:<span></span>}-"
--
-- @fixme allow for generating output without "-{" "}-", so that
--        it can be used with the last three wrappers.
function p.selective( content )
    local text = '-{'
    for variant, value in pairs( content ) do
        if value == '' then
            value = '<span></span>'
        end
        text = text .. variant .. ':' .. value .. ';'
    end
    text = text .. '}-'
    return text
end

--- Write some text with a limited set of variants to convert to
--
-- @param content text to be written
-- @param variant a variant (string), or a list of variants
--        (semicolon-deliminated string, or table of strings)
-- @param[opt] force convert even under "zh" (no conversion) locale
function p.converted( content, variant, force )
    if type( variant ) == 'table' then
        variant = table.concat( variant, ';' )
    end
    return '-{' .. ( force and '' or 'zh;' ) .. variant .. '|' .. content .. '}-'
end

--- Wraps some "raw text" to not convert.
--
-- @fixme Is the "R" flag some undocumented/undefined no-op magic?
--        Are we using it instead of the old '-{' .. content .. '}-'
--        to avoid confusion caused by a flag in the "content"?
function p.raw( content )
    return '-{R|' .. content .. '}-'
end

--- Wraps a title conversion rule.
function p.title( content )
    return '-{T|' .. content .. '}-'
end

--- Wraps a (hidden) conversion rule definition.
function p.hidden( content )
    return '-{H|' .. content .. '}-'
end

return p
pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy