Module:WikitextLC

From wiki
Revision as of 03:30, 30 April 2018 by 1>Bluedeck (EP)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

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:}-" -- -- @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 = ''
       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