Module:Cite Print/TemplateData

local p = {}

local Language = require("Module:Language")

local params = { translation = { type = "content", desc = "A translation of  if the quote is not in English.", trim = true, nilIfEmpty = true, },	romanization = { type = "string", desc = "Romanization of  if the quote is not written in the Latin alphabet. This is primarily intended for term references and can be omitted when quoting entire sentences.", trim = true, nilIfEmpty = true, },	page = { desc = "The cited page(s).", type = "string", required = CATEGORY_MISSING_PAGE, trim = true, nilIfEmpty = true, }, }

p = { ["Cite Book"] = { format = "inline", paramOrder = {"quote", "character", "book", "publisher", "lang", "edition", "volume", "issue", "page"}, boilerplate = { tabs = { {					label = "Fiction", desc = "For citing manga, comics, novels, and other works of fiction.", params = {"quote", "book", "character", "publisher", "page"}, },				{					label = "Nonfiction", desc = "For citing books such as .", params = {"quote", "book", "publisher", "page"}, },				{					label = "Nonfiction (Alternative Language)", desc = "For citing books such as in other languages.", params = {"quote", "book", "lang", "page"}, },				{					label = "All Parameters", params = {"quote", "character", "book", "publisher", "lang", "edition", "volume", "issue", "page"}, },			},		},		params = { quote = { desc = "The quote to cite.", type = "content", trim = true, nilIfEmpty = true, },			character = { desc = "The name of the character speaking the quote. Use this for works of fiction such as manga, comics, and gamebooks.", type = "string", trim = true, nilIfEmpty = true, },			book = { desc = " The code for a book entry at Data:Franchise. To cite a book that is not licensed by Nintendo and therefore not defined in Data:Franchise, write the name of the book with italics. A book name without italics is considered invalid if it is not in Data:Franchise. ", type = "content", required = true, trim = true, nilIfEmpty = true, },			lang = { type = "string", desc = "A language code - used when citing books such as in other languages. See Module:Cite Print/Data for supported languages.", trim = true, nilIfEmpty = true, },			publisher = { desc = " The publisher of the book. Leave this empty when citing a book from Data:Franchise - the publisher will be automatically generated. ", type = "content", trim = true, nilIfEmpty = true, },			edition = { desc = "The book's edition.", type = "string", trim = true, nilIfEmpty = true, },			volume = { desc = "The volume number for the book quote, if applicable.", type = "string", trim = true, nilIfEmpty = true, },			issue = { desc = "A comic issue number.", type = "string", trim = true, nilIfEmpty = true, },			page = params.page },	},	["Cite Guide"] = { format = "inline", paramOrder = {"quote", "game", "guide", "page", "edition", "year", "romanization", "translation"}, boilerplate = { hiddenParams = {"romanization", "translation"}, tabs = { {					label = "Guide", params = {"quote", "game", "guide", "page"}, },				{					label = "Guide Edition", params = {"quote", "game", "guide", "page", "edition", "year"}, },			},		},		params = { quote = { desc = "The quote to cite.", type = "content", trim = true, nilIfEmpty = true, },			translation = params.translation, romanization = params.romanization, game = { desc = "The game abbreviation associated with the guide. See Template:Guide.", type = "string", required = true, trim = true, nilIfEmpty = true, },			guide = { aliases = {"publisher"}, desc = "The guide abbreviation. See Template:Guide. This parameter was formerly named .", type = "string", required = true, trim = true, nilIfEmpty = true, },			page = params.page, edition = { desc = "The edition of the guide.", type = "string", trim = true, nilIfEmpty = true, },			year = { desc = "The year of release of the magazine edition.", type = "string", trim = true, nilIfEmpty = true, },		},		examples = { {				quote = "", game = "TLoZ", guide = "Nintendo", page = "5", },			{				quote = "", game = "TLoZ", guide = "NES Game Atlas", page = "5", },			{				quote = "This is a quote.", game = "TWWHD", guide = "Prima", page = "5", edition = "Premiere Edition", year = "2011", },			{				desc = "The  parameter was renamed to   but the former is still supported.", args = { quote = "", game = "ALttP", publisher = "Nintendo", page = "5", },			},			{				desc = "Error handling", args = { quote = "", game = "OoT3D", guide = "invalid guide", page = "", },			},			{				quote = "", game = "OoT", guide = "", page = "5", },			{				quote = "", game = "", guide = "", page = "5", }		},	},	["Cite Magazine"] = { purpose = "Citing magazines according to Guidelines:References.", format = "inline", paramOrder = {"quote", "translation", "romanization", "interviewee", "magazine", "publisher", "volume", "issue", "date", "page", "url"}, boilerplate = { hiddenParams = {"translation", "romanization"}, tabs = { {					label = "Magazine", params = {"quote", "magazine", "publisher", "volume", "issue", "date", "page", "url"}, },				{					label = "Magazine Interview", params = {"quote", "magazine", "interviewee", "publisher", "volume", "issue", "date", "page", "url"}, }			},			},		params = { quote = { desc = "The quote to cite.", type = "content", trim = true, nilIfEmpty = true, },			translation = params.translation, romanization = params.romanization, interviewee = { desc = "If  is an answer from an inteview, enter the interviewee's name.", type = "string", trim = true, nilIfEmpty= true, },			magazine = { desc = " The name of the magazine. Use a magazine name supported by Template:Magazine. To cite a magazine that is not licensed by Nintendo and therefore not supported by Template:Magazine, write the name of the magazine with italics. A magazine name without formatting is considered invalid if it is not supported by Template:Magazine. ", type = "content", required = true, trim = true, nilIfEmpty = true, },			publisher = { desc = " The publisher of the magazine. Leave this empty if citing a magazine supported by Template:Magazine. ", type = "content", trim = true, nilIfEmpty = true, },			date = { desc = "The of the cited magazine issue.", type = "string", required = true, trim = true, nilIfEmpty = true, },			volume = { desc = "The volume number of the cited magazine issue.", type = "string", trim = true, nilIfEmpty = true, },			issue = { desc = "The issue number of the cited magazine issue.", type = "string", trim = true, nilIfEmpty = true, },			url = { desc = "An archive.org URL where the magazine can be read. Use the URL specifically for the cited page.", type = "string", trim = true, nilIfEmpty = true, },			page = params.page, },		examples = { {				quote = "If you distract its attention and sneak up, you might be able to ride it.", magazine = "Nintendo Magazine", publisher = "", date = "Winter 2021", volume = "", issue = "", url = "https://archive.org/details/nintendomagazine-2021winter-english/16.jpg", page = "16", },			{				quote = "", magazine = "Nintendo Power", publisher = "", date = "July/August 1988", volume = "", issue = "1", url = "https://archive.org/details/nintendo_power_issue1/page/n25", page = "26", },			{				quote = "", magazine = "Nintendo Fun Club News", publisher = "", date = "Fall 1987", volume = "1", issue = "3", url = "https://archive.org/details/NintendoFunClubMagazines/Nintendo%20Fun%20Club%20News%20Issue%203%20%28Fall%201987%29/page/n7", page = "8", },			{				quote = "I have already talked to Mr. Miyamoto about this so I am comfortable releasing this information--this title [Skyward Sword] takes place before Ocarina of Time.", magazine = "Official Nintendo Magazine", date = "December 2010", issue = "62", page = "51", interviewee = "Eiji Aonuma", },			{				desc = "To cite a magazine not licensed by Nintendo, write the magazine name with italics.", args = { quote = "Out: 10/05", magazine = "CD-i Magazine", publisher = "Haymarket Publishing", date = "April 1996", volume = " ", issue = "17", url = "https://archive.org/details/cdi-uk-17", page = "12", },			},			{				desc = "Citing a magazine written in another language", args = { quote = "Ga verder naar het volgende level en dood de Jawbees.", translation = "Continue to the next level and kill the Jawbees.", magazine = "CD Interactief", volume = "2", issue = "11", date = "November 1995", publisher = "HUB Uitgevers", page = "30", },			},			{				desc = "Error handling", args = { magazine = "invalid magazine", date = "October 2022", page = "", }			},			{				magazine = "", },		}	},	["Cite Manual"] = { format = "inline", paramOrder = {"quote", "translation", "romanization", "game", "product", "lang", "version", "page"}, boilerplate = { tabs = { {					label = "Game Manual", params = {"quote", "game", "page"}, },				{					label = "Game Version", params = {"quote", "game", "version", "page"}, },				{					label = "Product Manual", params = {"quote", "product", "page"}, },				{					label = "Manual Translation", params = {"quote", "translation", "romanization", "game", "lang", "page"} },			},		},		params = { quote = { desc = "The quote to cite.", type = "content", trim = true, nilIfEmpty = true, },			translation = params.translation, romanization = params.romanization, game = { desc = "The game abbreviation associated with the manual. See Data:Franchise for supported games.", type = "string", trim = true, nilIfEmpty = true, },			lang = { type = "string", enum = Language.enum, desc = " A language code identifying the game localization cited in, if the quote is not from the North American localization.  Can also be omitted when citing a British localization, but only if that is the only English localization (e.g. ).", trim = true, nilIfEmpty = true, },			product = { desc = "Used instead of  to cite the manual of a product not defined at Data:Franchise - a console manual, for example.", type = "string", trim = true, nilIfEmpty = true, },			version = { desc = "Used to specify a specific port or game mode of the game, if applicable.", type = "string", trim = true, nilIfEmpty = true, },			page = { desc = "The cited page or pages (format: 54 or 34-36).", type = "string", required = CATEGORY_MISSING_PAGE, trim = true, nilIfEmpty = true, },		},	}, }

return p