模块:Translate

来自宫崎骏与久石让中文百科
跳到导航 跳到搜索

此模块的文档可以在模块:Translate/doc创建

-- 中英文名称转换模块

local p = {}
 
local dictionary = mw.loadData( 'Module:Translate/data' )

-- 单个词语转换
function p.ToChinese(frame)
  local src = frame.args[1]
  if dictionary["Words"][src] == nil then
    return src
  else
    return dictionary["Words"][src]
  end  
end

-- 反向转换
function p.ToEnglish(frame)
  local src = frame.args[1]
  for k,v in pairs(dictionary["Words"]) do 
  	if v == src then
  		return k
  	end
  end
end

-- 单个词语转换(不分大小写)
function p.ToChineseCI(frame)
  local src = frame.args[1]
  local lcsrc = string.lower(src)
  for k,v in pairs(dictionary["Words"]) do 
  	if string.lower(k) == lcsrc then
  		return v
  	end
  end
  return ""
end

-- 转换分类名(不分大小写)
function p.ToChineseCat(frame)
  local src = frame.args[1]
  local lcsrc = string.lower(src)
  for k,v in pairs(dictionary["Categories"]) do 
  	if string.lower(k) == lcsrc then
  		return v
  	end
  end
  for k,v in pairs(dictionary["Words"]) do 
  	if string.lower(k) == lcsrc then
  		return v
  	end
  end
  return src
end

-- 显示全列表
function p.ShowWordlist()
  local wikitable = {};
  table.insert(wikitable, "{| class=\"wikitable sortable\"")
  table.insert(wikitable, "! 英文 ")
  table.insert(wikitable, "! 中文 ")
  table.insert(wikitable, "|-")
  for k,v in pairs(dictionary["Words"]) do
  	table.insert(wikitable, "| "..k)
    table.insert(wikitable, "| "..v)
    table.insert(wikitable, "|-")
  end
  table.insert(wikitable,"|}")
  return table.concat(wikitable,"\n")
end

return p