模組討論:WikitextLC
外观
Artoria2e5在话题“提供批量单向转换函数”中的最新留言:4年前
加一点洋文的文档
请求已处理
我给mw:Writing_systems#LanguageConverter加了行字,说可以用这玩意整个Lua的懒人接口。不过既然那么整了就得搞点洋文的文档了……
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 )
-- 内容略去
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
Fixme的问题顺便看一下吧。 --Artoria2e5编 讨论要完整,回覆请用ping。 2018年4月30日 (一) 01:44 (UTC)
提供批量单向转换函数
![]() | 正在請求他人代為編輯受保護的頁面(编辑:仅允许管理员;移动:仅允许管理员(保护日志)) 注意:本模板不是用於請求開放頁面給予編輯,相關請求請至请求解除保护頁申請;本模板是用於請求可以編輯的用户幫忙修改內容。 請求時請列明理由及內容,確保修改有共識基礎及沒有爭議,否則請先在受保護頁面的討論頁進行討論。(工具:處理、申請解除保護) 如果您想直接展示给管理员修改后的页面及清楚地列出编辑差异,请将本模板改为 {{Editprotected|patch=}} ,点击「显示预览」并按照提示进一步操作。 |
目前单向转换没有回落,用起来还是挺头疼的。如果能提供一个生成多个单向转换的函数,应该可以方便一点。请加入以下内容:
-- Generates multiple monodirection conversions -- (str, str, str[]) → str function p.oneDirectionVars(source, target, variants) local tmp = {} for _, var in ipairs(variants) do -- A=>zh-tw:B table.insert(tmp, source .. '=>' .. var .. ':' .. target) end return table.concat(tmp, ';') end