ניתן ליצור תיעוד על היחידה הזאת בדף יחידה:Autotranslate/תיעוד

  --[[   __  __           _       _           _         _        _                       _       _         |  \/  | ___   __| |_   _| | ___ _   / \  _   _| |_ ___ | |_ _ __ __ _ _ __  ___| | __ _| |_ ___   | |\/| |/ _ \ / _` | | | | |/ _ (_) / _ \| | | | __/ _ \| __| '__/ _` | '_ \/ __| |/ _` | __/ _ \  | |  | | (_) | (_| | |_| | |  __/_ / ___ \ |_| | || (_) | |_| | | (_| | | | \__ \ | (_| | ||  __/  |_|  |_|\___/ \__,_|\__,_|_|\___(_)_/   \_\__,_|\__\___/ \__|_|  \__,_|_| |_|___/_|\__,_|\__\___|    Authors and maintainers: * User:Zolo   - original version * User:Jarekt  ]]  -- local function to help normalize input arguments local function normalize_input_args(input_args, output_args) 	for name, value in pairs( input_args ) do  		if value ~= '' then -- nuke empty strings 			if type(name)=='string' then name=string.lower(name) end -- convert to lower case 			output_args[name] = value 		end 	end 	return output_args end  -- initialize object to be returned local p = {}  --[[ autotranslate   This function is the core part of the Autotranslate template.    Usage from a template: {{#invoke:autotranslate|autotranslate|base=|lang= }}   Parameters:   frame.args.base - base page name   frame.args.lang - desired language (often user's native language)   Error Handling:  ]] function p.autotranslate(frame)   	-- switch to lowercase parameters to make them case independent 	local args = {} 	args = normalize_input_args(frame:getParent().args, args) 	args = normalize_input_args(frame.args, args)  	-- get language fallback list 	if not args.lang or not mw.language.isSupportedLanguage(args.lang) then 		args.lang = frame:callParserFunction( "int", "lang" )           -- get user's chosen language  	end 	local langList = mw.language.getFallbacksFor(args.lang) 	table.insert(langList,1,args.lang)  	-- find base page 	local base = args.base 	args.base = nil 	assert(base and  #base>0, 'Base page not provided for autotranslate' ) 	if not mw.ustring.find(base,':') then   -- if base page does not indicate namespace 		base = 'Template:' .. base          -- than assume it is a template  	end   	-- find base template language subpage 	local page = args.default  -- default page if provided or nil otherwise 	for _, language in ipairs(langList) do 		if mw.title.new(base .. '/' .. language).exists then 			page =  base .. '/' .. language -- returns only the page 			break 		end 	end 	assert(page, string.format('No fallback page found for autotranslate (base=[[%s]], lang=%s)', base, args.lang))   	-- Transclude {{page |....}} with template arguments the same as the ones passed to {{autotranslate}} template. 	return frame:expandTemplate{ title = page, args = args} end  return p