Módulo:Citas/Configuration

Indicacións de uso do módulo

Obxectivo editar

Modelos de citas
{{Cita arXiv}} pre-impresións de arXiv
{{Cita audiovisual}} medios audiovisuais
{{Cita audiovisual notas}} notas e libretos de medios audiovisuais
{{Cita conferencia}} conferencias publicadas
{{Cita DVD notas}} notas e libretos de DVDs/BRs
{{Cita enciclopedia}} coleccións editadas
{{Cita entrevista}} entrevistas
{{Cita episodio}} episodios de televisión ou radio
{{Cita discurso}} discursos
{{Cita grupo novas}} grupos de novas online
{{Cita informe}} informes
{{Cita informe técnico}} informes técnicos
{{Cita libro}} libros
{{Cita lista correo}} listas de distribución correo electrónico públicas
{{Cita mapa}} mapas
{{Cita nota de prensa}} notas de prensa
{{Cita novas}} artigos de noticias
{{Cita podcast}} podcast de son ou video
{{Cita publicación periódica}} revistas, xornais, papeis académicos
{{Cita serie}} series de son ou video
{{Cita sinal}} sinais, placas, carteis
{{Cita tese}} teses
{{Cita tweet}} tweets
{{Cita videoxogo}} videoxogos
{{Cita web}} fontes web
Citas Harvard

Módulo de soporte para a xeración de referencias do tipo "cita xxxx". Empregado polos modelos de citas.

Compoñentes do Módulo editar

Páxina Páxina de probas Descrición
Módulo:Citas Módulo:Citas/probas Renderizado e funcións de apoio
Módulo:Citas/Configuration Módulo:Citas/Configuration/probas Táboas de traducións, identificación e manexo de erros
Módulo:Citas/Whitelist Módulo:Citas/Whitelist/probas Lista de parámetros activos e obsoletos
Módulo:Citas/ValidaciónDatas Módulo:Citas/ValidaciónDatas/probas Validación de formato de datas (non usado, placeholder)
Módulo:Citas/Suggestions Módulo:Citas/Suggestions/probas Lista de erros comúns nos identificadores de parámetros ligados aos identificadores correctos
Esta documentación está transcluída desde Módulo:Citas/Configuration/uso. Os editores poden probar cambios no mesmo en Módulo:Citas/Configuration/probas.
Por favor, engade as categorías na subpáxina de documentación e os interwikis no Wikidata. Ver as subpáxinas deste módulo.

-----citas config
local citation_config = {};

-- override <code>...</code> styling to remove color, border, and padding.  <code> css is specified here:
-- https://git.wikimedia.org/blob/mediawiki%2Fcore.git/69cd73811f7aadd093050dbf20ed70ef0b42a713/skins%2Fcommon%2FcommonElements.css#L199
local code_style="color:inherit; border:inherit; padding:inherit;";

--[[--------------------------< Categorización de Nomes de Espazos >------------------------------

Lista de nomes de espazos que non se deben incluír nas categorías de erros nas referencias

Nota: Indicar os nomes de espazos con "_" no canto de espazos en branco 
]]
local uncategorized_namespaces = { 'Usuario', 'Conversa', 'Conversa_usuario', 'Conversa_Wikiquote', 'Conversa_ficheiro', 'Conversa_modelo',
	'Conversa_axuda', 'Conversa_categoría', 'Conversa_portal', 'Book_talk', 'Draft', 'Draft_talk', 'Education_Program_talk', 
	'Conversa_módulo', 'Conversa_MediaWiki' };

local uncategorized_subpages = {'/[Pp]robas', '/[Uu]so'};		-- lista de patróns de Lua nos títulos das páxinas que non se deben categorizar

--[[--------------------------< Mensaxes >--------------------------------------------------------------

Táboa de traducións

A seguinte lista contén texto fixado que pode darse na saída dunha referencia.

]]

local messages = {
  ['archived-dead'] = 'Arquivado dende $1 o $2', -- 'Archived from $1 on $2',
  ['archived-not-dead'] = '$1 dende o orixinal o $2', --'$1 from the original on $2',
  ['archived-missing'] = 'Arquivado dende o orixinal $1 o $2',
  ['archived'] = 'Arquivado',
	['by'] = 'Por',																-- contributions to authored works: introduction, foreword, afterword
  ['cartography'] = 'Cartografado por $1',
  ['editor'] = 'ed.',
  ['editors'] = 'eds.', 
  ['edition'] = '($1 ed.)', 
  ['episode'] = 'Episodio $1',
  ['in'] = 'En',
  ['et al'] = 'et al.', 															-- edited works
  ['inactive'] = 'inactivo',
  ['inset'] = 'Recadro: $1 ',
  ['lay summary'] = 'Resumo divulgativo', --'Lay summary',
	['newsgroup'] = '[[Usenet|Grupo de novas]]:&nbsp;$1',
  ['original'] = 'o orixinal',
  ['published'] = 'publicado o $1',
  ['retrieved'] = 'Consultado o $1',
  ['season'] = 'Tempada $1', 
  ['section'] = 'Sección $1',
  ['sections'] = 'Seccións $1',
  ['series'] = 'Series $1',
	['type'] = ' ($1)',															-- for titletype
  ['written'] = 'Escrito en $1',

	['vol'] = '$1 Vol.&nbsp;$2',												-- $1 is sepc; bold journal style volume is in presentation{}
	['vol-no'] = '$1 Vol.&nbsp;$2 nº&nbsp;$3',									-- sepc, volume, issue
	['issue'] = '$1 Nº&nbsp;$2',												-- $1 is sepc

	['j-vol'] = '$1 $2',														-- sepc, volume; bold journal volume is in presentation{}
	['j-issue'] = ' ($1)',

	['nopp'] = '$1 $2';															-- page(s) without prefix; $1 is sepc

	['p-prefix'] = "$1 p.&nbsp;$2",												-- $1 is sepc
	['pp-prefix'] = "$1 pp.&nbsp;$2",											-- $1 is sepc
	['j-page(s)'] = ': $1',														-- same for page and pages

	['sheet'] = '$1 Folla&nbsp;$2',												-- $1 is sepc
	['sheets'] = '$1 Follas&nbsp;$2',											-- $1 is sepc
	['j-sheet'] = ': Folla&nbsp;$1',
	['j-sheets'] = ': Follas&nbsp;$1',
	
  ['subscription'] = '<span style="font-size:0.95em; font-size:90%; color:#555">(require subscrición (<span title="As fontes non teñen por que estar dispoñibles en liña. As fontes en liña non sempre son de acceso libre. O sitio referenciado pode requirir unha subscrición de pago." style="border-bottom:1px dotted;cursor:help">?</span>))</span>', 

  ['registration']='<span style="font-size:0.95em; font-size:90%; color:#555">(require rexistro (<span title="As fontes non teñen por que estar dispoñibles en liña. As fontes en liña non sempre son de acceso libre. O sitio referenciado pode requirir un rexistro." style="border-bottom:1px dotted;cursor:help">?</span>))</span>',
  
  ['language'] = '<span style="color:#555;">(en $1)</span>',
  ['via'] = " &ndash; vía $1",
  ['event'] = 'Escena en',
  ['minutes'] = 'No minuto', 
	
  ['parameter-separator'] = ', ',
  ['parameter-final-separator'] = ', e ',
  ['parameter-pair-separator'] = ' e ',
	
	-- Determines the location of the help page
	['help page link'] = 'Axuda:Erros nas referencias',
	['help page label'] = 'axuda',
	
	-- Internal errors (should only occur if configuration is bad)
  ['undefined_error'] = 'Condición de erro non definida', --'Called with an undefined error condition'
  ['unknown_manual_ID'] = 'Modo de ID manual non recoñecido', --'Unrecognized manual ID mode'
  ['unknown_ID_mode'] = 'Modo de ID non recoñecido', --'Unrecognized ID mode'
  ['unknown_argument_map'] = 'Mapa de argumentos non definidos para esta variable', --'Argument map not defined for this variable'
  ['bare_url_no_origin'] = 'Atopouse unha URL vacía con indicador de orixe nulo ou vacío', --'Bare url found but origin indicator is nil or empty',
	
	
}

--[[--------------------------< Presentación >------------------------------------------------------

Modelaxe da presentación das mensaxes

]]
local presentation = 
	{
	-- Error output
	-- .error class is specified at https://git.wikimedia.org/blob/mediawiki%2Fcore.git/9553bd02a5595da05c184f7521721fb1b79b3935/skins%2Fcommon%2Fshared.css#L538
	-- .citation-comment class is specified at Help:CS1_errors#Controlling_error_message_display
	['hidden-error'] = '<span style="display:none;font-size:100%" class="error citation-comment">$1</span>',
	['visible-error'] = '<span style="font-size:100%" class="error citation-comment">$1</span>',

	['accessdate'] = '<span class="reference-accessdate">$1$2</span>',			-- to allow editors to hide accessdate using personal css

	['bdi'] = '<bdi$1>$2</bdi>',												-- bidirectional isolation used with |script-title= and the like

	['format'] = ' <span style="font-size:85%;">($1)</span>',					-- for |format=, |chapter-format=, etc

	['italic-title'] = "''$1''",

	['kern-left'] = '<span style="padding-left:0.2em;">$1</span>$2',			-- spacing to use when title contains leading single or double quote mark
	['kern-right'] = '$1<span style="padding-right:0.2em;">$2</span>',			-- spacing to use when title contains trailing single or double quote mark

	['nowrap1'] = '<span class="nowrap">$1</span>',								-- for nowrapping an item: <span ...>yyyy-mm-dd</span>
	['nowrap2'] = '<span class="nowrap">$1</span> $2',							-- for nowrapping portions of an item: <span ...>dd mmmm</span> yyyy (note white space)
	
	['parameter'] = '<code style="'..code_style..'">&#124;$1=</code>',

	['quoted-text'] = '<q>$1</q>',												-- for wrapping |quote= content
	['quoted-title'] = '"$1"',

	['trans-italic-title'] = "&#91;''$1''&#93;",
	['trans-quoted-title'] = "&#91;$1&#93;",
	['vol-bold'] = ' <b>$1</b>',													-- for journal cites; for other cites ['vol'] in messages{}
	}

--[[--------------------------< Equivalencias de nomes de parámetros >----------------------------------------------------------------

Táboa de equivalencias para os parámetros

Os alias indicanse en galego e inglés debido o alto número de chamadas a modelos que os empregan neses idiomas
Os modelos deben ir correxindose progresivamente para eliminar chamadas con parámetros en castelán primeiro, e inglés despóis,
para ir retirando os alias neses idiomas.

Os cambios feitos nesta lista deben reflexarse tamén en Módulo:Citas/Whitelist

]]

local aliases = {
	['AccessDate'] = {'dataacceso','data-acceso','access-date', 'accessdate'},
	['Agency'] = {'axencia','agency'},
	['AirDate'] = {'dataemisión','data-emisión','air-date', 'airdate'},
	['ArchiveDate'] = {'data-arquivo','dataarquivo','archive-date', 'archivedate'},
	['ArchiveFormat'] = {'formato-arquivo','archive-format'},
	['ArchiveURL'] = {'urlarquivo','url-arquivo','archive-url','archiveurl'},
	['ASINTLD'] = {'ASIN-TLD', 'asin-tld'},
	['At'] = {'en','at'},
	['Authors'] = {'autores','persoas','créditos','anfitrión','persoa','authors','people','host','credits'},
	['BookTitle'] = {'título-libro','títulolibro','book-title', 'booktitle'},
	['Callsign'] = {'indicativo','call-sign', 'callsign'},		-- cita entrevista
	['Cartography'] = {'cartografía','cartography'},
	['Chapter'] = {'capítulo','contribución','entrada','artigo','sección','chapter', 'contribution', 'entry', 'article', 'section'},
	['ChapterFormat'] = {'formato-capítulo','formato-contribución','formato-sección','chapter-format', 'contribution-format', 'section-format'};
	['ChapterURL'] = {'urlcapítulo','url-capítulo','url-contribución','urlcontribución','url-sección','urlsección','chapter-url', 'chapterurl', 'contribution-url', 'contributionurl', 'section-url', 'sectionurl'},
	['City'] = {'cidade','city'},														-- cite interview
	['Class'] = {'clase','class'},														-- cita arxiv e IDs arxiv
	['Coauthors'] = {'coautores','coautor','coauthors', 'coauthor'},					-- desbotado
	['Conference'] = {'conferencia','evento','conference', 'event'},
	['ConferenceFormat'] = {'formato-conferencia','formato-evento','conference-format', 'event-format'},
	['ConferenceURL'] = {'url-conferencia','urlconferencia','url-evento','urlevento','conference-url', 'conferenceurl', 'event-url', 'eventurl'},
	['Contribution'] = 'contribution',											-- introduction, foreword, afterword, etc; required when |contributor= set
	['Date'] = {'data','dataemisión','data-emisión','date', 'air-date', 'airdate'},
	['DeadURL'] = {'urlmorta','dead-url', 'deadurl'},
	['Degree'] = {'grao','degree'},
	['DisplayAuthors'] = {'número-autores','display-authors', 'displayauthors'},
	['DisplayEditors'] = {'número-editores','display-editors', 'displayeditors'},
	['Docket'] = {'expediente','docket'},
	['DoiBroken'] = {'doi-roto','doi-broken', 'doi-broken-date', 'doi-inactive-date', 'doi_brokendate', 'doi_inactivedate'},
	['Edition'] = {'edición','edition'},
	['Editors'] = {'editores','editors'},
	['Embargo'] = 'embargo',
	['Encyclopedia'] = {'enciclopedia','encyclopedia', 'encyclopaedia'},		-- Usado polo modelo "citation" da wiki inglesa
	['Episode'] = {'episodio','episode'},										-- cita serie
	['Format'] = {'formato','format'},
	['ID'] = {'id', 'ID'},
	['IgnoreISBN'] = {'ignore-isbn-error', 'ignoreisbnerror'},
	['Inset'] = {'recadro','inset'},
	['Issue'] = {'número','issue', 'number'},
	['Language'] = {'lingua','idioma','language', 'in'},
	['LastAuthorAmp'] = {'últimoamp','último-amp','last-author-amp', 'lastauthoramp'},
	['LayDate'] = {'resumo-data', 'data-resumo', 'lay-date', 'laydate'},
	['LayFormat'] = {'resumo-formato', 'formato-resumo','lay-format'},
	['LaySource'] = {'resumo-fonte','fonte-resumo','lay-source', 'laysource'},
	['LayURL'] = {'url-resumo','resumo-url','resumo','lay-url', 'lay-summary', 'layurl', 'laysummary'},
	['MailingList'] = {'lista-correo','mailinglist', 'mailing-list'},			-- cita lista correo
	['Map'] = {'mapa','map'},													-- cita mapa
	['MapFormat'] = {'formato-mapa','map-format'},								-- cita mapa
	['MapURL'] = {'url-mapa','urlmapa','mapurl', 'map-url'},					-- cita mapa
	['MessageID'] = {'mensaxe-id','message-id'},
	['Minutes'] = {'minutos','minutes'},
	['Mode'] = {'modo','mode'},
	['NameListFormat'] = {'formato-lista-nomes','name-list-format'},
	['Network'] = {'rede','canle','cadea','network'},
	['NoPP'] = {'no-pp', 'nopp'},
	['NoTracking'] = {'template-doc-demo', 'template doc demo', 'no-cat', 'nocat', 
		'no-tracking', 'notracking'},
	['Number'] = 'number',														-- this case only for cite techreport
	['OrigYear'] = {'anoorixinal','ano-orixinal','orig-year', 'origyear'},
	['Others'] = {'outros','entrevistador','others', 'interviewer', 'interviewers'},
	['Page'] = {'páxina','p', 'page'},
	['Pages'] = {'páxinas','pp', 'pages'},
	['Periodical'] = {'xornal','revista','enciclopedia','dicionario','publicación','obra', 'páxina-web', 'páxinaweb','journal', 'newspaper', 'magazine', 'work',
		'website',  'periodical', 'encyclopedia', 'encyclopaedia', 'dictionary'},
	['Place'] = {'lugar','localización','localidade','place', 'location'},
	['Program'] = {'programa','program'},										-- cita entrevista
	['PostScript'] = {'puntofinal','postscript'},
	['PublicationDate'] = {'data-publicación','datapublicación','publicationdate', 'publication-date'},
	['PublicationPlace'] = {'lugar-publicación','lugarpublicación','publication-place', 'publicationplace'},
	['PublisherName'] = {'editorial','distribuidora','institución','grupo-novas','publisher', 'distributor', 'institution', 'newsgroup'},
	['Quote'] = {'cita','quote', 'quotation'},
	['Ref'] = {'ref', 'Ref'},
	['RegistrationRequired'] = {'rexistro','registration'},
	['Scale'] = {'escala','scale'},
	['ScriptChapter'] = {'script-chapter', 'capítulo-translit'},
	['ScriptTitle'] = {'script-title', 'título-translit'},
	['Section'] = {'sección','section'},
	['Season'] = {'tempada','temporada','season'},
	['Sections'] = {'seccións','sections'},										-- cita mapa
	['Separator'] = 'separator',												-- desbotado
	['Series'] = {'series','serie', 'colección', 'version'},
	['SeriesSeparator'] = {'separador-series','series-separator'},
	['SeriesLink'] = {'ligazónserie','ligazónseries','ligazón-serie','ligazón-series','series-link', 'serieslink'},
	['SeriesNumber'] = {'número-series','series-number', 'series-no', 'seriesnumber', 'seriesno'},
	['Sheet'] = 'sheet',														-- cita mapa
	['Sheets'] = 'sheets',														-- cita mapa
	['Station'] = {'estación','station'},
	['SubscriptionRequired'] = {'subscrición','subscription'},
	['Time'] = {'tempo','time'},
	['TimeCaption'] = {'lenda-tempo','time-caption', 'timecaption'},
	['Title'] = {'título','title'},
	['TitleLink'] = {'ligazón-título','ligazóntítulo','ligazón-episodio','ligazónepisodio','title-link', 'episode-link', 'titlelink', 'episodelink'},
	['TitleNote'] = {'apartado','department'},
	['TitleType'] = {'tipo','medio','type', 'medium'},
	['TransChapter'] = {'trad-capítulo','capítulo-trad','trans-chapter', 'trans_chapter'},
	['TransMap'] = 'trans-map',													-- cita mapa
	['Transcript'] = {'transcrición','transcript'},
	['TranscriptFormat'] = 'transcript-format',
	['TranscriptURL'] = {'transcrición-url','url-transcrición','urltranscrición','','transcript-url', 'transcripturl'},
	['TransTitle'] = {'títulotrad', 'trad-título','título-trad','trad_título','trans-title', 'trans_title'},
	['URL'] = {'url', 'URL'},
	['Vauthors'] = 'vauthors',
	['Veditors'] = 'veditors',
	['Via'] = {'vía','via'},
	['Volume'] = 'volume',
	['Year'] = {'ano','year'},

	['AuthorList-First'] = {"nome-autor#", "autor-nome#", "autor#-nome", "nome#", "author#-first", "author-first#", "first#", "given#"},
	['AuthorList-Last'] = {"apelidos-autor#", "autor-apelidos#", "autor#-apelidos", "apelido-autor#", "apelidos#", "apelido#", "autor#", "suxeito#", "author#-last", "author-last#", "last#", "surname#", "Author#", "author#", "subject#"},
	['AuthorList-Link'] = {"ligazón-autor#", "autor-ligazón#", "autor#-ligazón", "ligazónautor#", "ligazón-suxeito", "ligazónsuxeito", "author#-link", "author-link#", "author#link", "authorlink#", "subject-link#", "subject#link", "subject#-link", "subjectlink#"},
	['AuthorList-Mask'] = {"máscara-autor#", "autor#-máscara", "autor-máscara#"},
	
	['ContributorList-First'] = {'contributor-first#','contributor#-first','nome-contribuídor#','contribuidor-nome#'},
	['ContributorList-Last'] = {'contributor#', 'contributor-last#', 'contributor#-last','contribuidor#','apelidos-contribuídor#','contribuidor-apelidos#'},
	['ContributorList-Link'] = {'contributor-link#', 'contributor#-link', 'ligazón-contribuídor#','contribuidor-ligazón#'},
	['ContributorList-Mask'] = {'contributor-mask#', 'contributor#-mask', 'máscara-contribuídor#','contribuidor-máscara#'},
	
	['EditorList-First'] = {"nome-editor#", "editor-nome#", "editor#-nome", "editor#-first", "editor-first#", "editor#-given", "editor-given#", "EditorGiven#"},
	['EditorList-Last'] = {"apelidos-editor#", "editor-apelidos#", "editor#-apelidos", "apelido-editor#", "editor#-last", "editor-last#", "editor#-surname", "editor-surname#", "EditorSurname#", "Editor#", "editor#", "editors#"},
	['EditorList-Link'] = {"ligazón-editor#", "editor-ligazón#", "editor#-ligazón", "ligazóneditor#", "editor#-link", "editor-link#", "editor#link", "editorlink#"},
	['EditorList-Mask'] = {"máscara-editor#", "editor#-máscara", "editor-máscara#"},
	
	['TranslatorList-First'] = {'translator-first#','translator#-first','nome-tradutor#','tradutor-nome#'},
	['TranslatorList-Last'] = {'translator#', 'translator-last#', 'translator#-last','tradutor#','apelidos-tradutor#','tradutor-apelidos#'},
	['TranslatorList-Link'] = {'translator-link#', 'translator#-link','ligazón-tradutor#','tradutor-ligazón#'},
	['TranslatorList-Mask'] = {'translator-mask#', 'translator#-mask','máscara-tradutor#','tradutor-máscara#'},
}

--[[--------------------------< Valores por defecto >--------------------------------------------------------------

Valores por defecto de parámetros

]]

local defaults = {
	['DeadURL'] = 'yes',
}

--[[--------------------------< V O L U M E ,  I S S U E ,  P A G E S >----------------------------------------

These tables hold cite class values (from the template invocation) and identify those templates that support
|volume=, |issue=, and |page(s)= parameters.  Cite conference and cite map require further qualification which
is handled in the main module.

]]

local templates_using_volume = {'citation', 'audio-visual', 'book', 'conference', 'encyclopaedia', 'interview', 'journal', 'magazine', 'map', 'news', 'report', 'techreport'}
local templates_using_issue = {'citation', 'conference', 'episode', 'interview', 'journal', 'magazine', 'map', 'news'}
local templates_not_using_page = {'audio-visual', 'episode', 'mailinglist', 'newsgroup', 'podcast', 'serial', 'sign', 'speech'}

--[[--------------------------< K E Y W O R D S >--------------------------------------------------------------

This table holds keywords for those parameters that have defined sets of acceptible keywords.

]]

local keywords = {
	['yes_true_y'] = {'yes', 'true', 'y','si','s'},										-- ignore-isbn-error, last-author-amp, no-tracking, nopp, registration, subscription
	['deadurl'] = {'yes', 'true', 'y', 'no', 'unfit', 'usurped','si','s'},
	['mode'] = {'cs1', 'cs2'},
	['name-list-format'] = {'vanc'},
	['contribution'] = {'afterword', 'foreword', 'introduction', 'preface'},	-- generic contribution titles that are rendered unquoted in the 'chapter' position
}

--[[--------------------------< I N V I S I B L E _ C H A R A C T E R S >--------------------------------------

This table holds non-printing or invisible characters indexed either by name or by Unicode group. Values are decimal
representations of UTF-8 codes.  The table is organized as a table of tables because the lua pairs keyword returns
table data in an arbitrary order.  Here, we want to process the table from top to bottom because the entries at
the top of the table are also found in the ranges specified by the entries at the bottom of the table.

]]

local invisible_chars = {
	{'reemprazo', '\239\191\189'},											-- U+FFFD, EF BF BD
	{'espazo nulo', '\226\128\139'},										-- U+200B, E2 80 8B
	{'guión suave', '\194\173'},												-- U+00AD, C2 AD
	{'tabulación horizonal', '\009'},													-- U+0009 (HT), 09
	{'salto de liña', '\010'},														-- U+0010 (LF), 0A
	{'retorno de carro', '\013'},												-- U+0013 (CR), 0D
	{'control C0', '[\000-\008\011\012\014-\031\127]'},							-- U+0000–U+001F (NULL–US), 00–1F, and U+001F (DEL), 7F (except HT, LF, CR (09, 0A, 0D))
	{'control C1', '[\194\128-\194\159]'},										-- U+0080–U+009F (XXX–APC), C2 80 – C2 9F
	{'especial', '[\239\191\185-\239\191\191]'},								-- U+FFF9-U+FFFF, EF BF B9 – EF BF BF
	{'area de uso privado', '[\238\128\128-\239\163\191]'},						-- U+E000–U+F8FF, EE 80 80 – EF A3 BF
	{'area de uso privado suplementario A', '[\243\176\128\128-\243\191\191\189]'},	-- U+F0000–U+FFFFD, F3 B0 80 80 – F3 BF BF BD
	{'area de uso privado suplementario B', '[\244\128\128\128-\244\143\191\189]'},	-- U+100000–U+10FFFD, F4 80 80 80 – F4 8F BF BD
}


--[[--------------------------< Categorías de mantemento >----------------------------------

Categorías de mantemento de referencias

***NON USADAS*** As seguintes categorías non se asignan aos artigos.

local maint_cats = {
	['ASIN'] = 'CS1 maint: ASIN uses ISBN',
	['date_year'] = 'CS1 maint: Date and year',
	['disp_auth_ed'] = 'CS1 maint: display-$1',									-- $1 is authors or editors
	['embargo'] = 'CS1 maint: PMC embargo expired',
	['english'] = 'CS1 maint: English language specified',
	['etal'] = 'CS1 maint: Explicit use of et al.',
	['extra_text'] = 'CS1 maint: Extra text',
	['unknown_lang'] = 'CS1 maint: Unrecognized language',
	['untitled'] = 'CS1 maint: Untitled periodical',
	}

--------------------------< Categorías de propiedades >------------------------------------

Here we name properties categories

***NON USADAS*** As seguintes categorías non se asignan aos artigos.

local prop_cats = {
	['foreign_lang_source'] = 'CS1 $1-language sources ($2)',					-- |language= categories; $1 is language name, $2 is ISO639-1 code
	['script'] = 'CS1 uses foreign language script',							-- when language specified by |script-title=xx: doesn't have its own category
	['script_with_name'] = 'CS1 uses $1-language script ($2)',					-- |script-title=xx: has matching category; $1 is language name, $2 is ISO639-1 code
	}

--------------------------< T I T L E _ T Y P E S >--------------------------------------------------------

Mapeo de CitationClass ao TitleType

]]

local title_types = {
	['AV-media-notes'] = 'Notas',
	['DVD-notes'] = 'Notas',
	['mailinglist'] = 'Lista de correo',
	['map'] = 'Mapa',
	['podcast'] = 'Podcast',
	['pressrelease'] = 'Nota de prensa',
	['report'] = 'Informe',
	['techreport'] = 'Informe técnico',
	['thesis'] = 'Tese',
	}

--[[--------------------------< Condicións de erro >----------------------------------------------

Táboa de condicións de erro

Lista de identificadores de condicións de erro definidas no código.
Para cada identificador defínese o mensaxe de erro, se está oculto ou non
e a categoría de mantemento na que se inclúe o artigo

Os cambios nas áncoras ("anchor") requiren un cambio idéntico en Axuda:Erros nas referencias

]]

local error_conditions = {
	accessdate_missing_url = {
		message = '<code>&#124;dataacceso=</code> require <code>&#124;url=</code>', --'<code>&#124;accessdate=</code> requires <code>&#124;url=</code>',
		anchor = 'accessdate_missing_url',
		category = 'Wikiquote:Páxinas con referencias sen URL e con data de acceso', --'Pages using citations with accessdate and no URL',
		hidden = true },
	archive_missing_date = {
		message = '<code>&#124;urlarquivo=</code> require <code>&#124;dataarquivo=</code>', --'<code>&#124;archiveurl=</code> requires <code>&#124;archivedate=</code>',
		anchor = 'archive_missing_date',
		category = 'Wikiquote:Páxinas con referencias sen dataarquivo e con urlarquivo', --'Pages with archiveurl citation errors',
		hidden = false },
	archive_missing_url = {
		message = '<code>&#124;urlarquivo=</code> require <code>&#124;url=</code>', --'<code>&#124;archiveurl=</code> requires <code>&#124;url=</code>',
		anchor = 'archive_missing_url',
		category = 'Wikiquote:Páxinas con referencias sen URL e con urlarquivo', --'Pages with archiveurl citation errors',
		hidden = false },
	arxiv_missing = {
		message = '<code>&#124;arxiv=</code> requirido',
		anchor = 'arxiv_missing',
		category = 'Wikiquote:Páxinas con referencias con erros no arXiv',		-- same as bad arxiv
		hidden = false },
	arxiv_params_not_supported = {
		message = 'Parámetros non válidos no arXiv',
		anchor = 'arxiv_params_not_supported',
		category = 'Wikiquote:Páxinas con referencias con erros no arXiv',		-- same as bad arxiv
		hidden = false },
	bad_arxiv = {
		message = '<code>&#124;arxiv=</code> incorrecto',
		anchor = 'bad_arxiv',
		category = 'Wikiquote:Páxinas con referencias con erros no arXiv',
		hidden = false },
	bad_asin = {
		message = '<code>&#124;asin=</code> incorrecto',
		anchor = 'bad_asin',
		category ='Wikiquote:Páxinas con referencias con ASIN incorrectos',
		hidden = false },
	bad_authorlink = {
		message = 'Comprobe o valor de <code>&#124;ligazónautor=</code>', -- 'Check <code>&#124;authorlink=</code> value',
		anchor = 'bad_authorlink',
		category = 'Wikiquote:Páxinas con referencias con ligazón ó autor incorrecta', -- 'CS1 errors: authorlink',
		hidden = false },
--	bad_date = {
--		message = 'Comprobe as datas en: <code>$1</code>',
--		anchor = 'bad_date',
--		category = 'Wikiquote:Páxinas con referencias con erros nas datas',
--		hidden = true },
	bad_doi = {
		message = '<code>&#124;doi=</code> incorrecto',--'Check <code>&#124;doi=</code> value',
		anchor = 'bad_doi',
		category = 'Wikiquote:Páxinas con DOI incorrectos', --'Pages with DOI errors',
		hidden = false },
	bad_isbn = {
		message = '<code>&#124;isbn=</code> incorrecto', --'Check <code>&#124;isbn=</code> value',
		anchor = 'bad_isbn',
		category = 'Wikiquote:Páxinas con ISBN incorrectos', --'Pages with ISBN errors',
		hidden = false },
	bad_ismn = {
		message = '<code>&#124;ismn=</code> incorrecto',
		anchor = 'bad_ismn',
		category = 'Wikiquote:Páxinas con ISMN incorrectos',
		hidden = false },
	bad_issn = {
		message = '<code>&#124;issn=</code> incorrecto',--'Check <code>&#124;issn=</code> value',
		anchor = 'bad_issn',
		category = 'Wikiquote:Páxinas con ISSN incorrectos', --'CS1 errors: ISSN',
		hidden = false },
	bad_lccn = {
		message = '<code>&#124;lccn=</code> incorrecto', --'Check <code>&#124;lccn=</code> value',
		anchor = 'bad_lccn',
		category = 'Wikiquote:Páxinas con LCCN incorrectos', --'CS1 errors: LCCN',
		hidden = false },
	bad_message_id = {
		message = '<code>&#124;mensaxe-id=</code> incorrecto',
		anchor = 'bad_message_id',
		category = 'Wikiquote:Páxinas con mensaxe-id incorrectos', --'CS1 errors: message-id',
		hidden = false },
	bad_ol = {
		message = '<code>&#124;ol=</code> incorrecto',
		anchor = 'bad_ol',
		category = 'Wikiquote:Páxinas con OL incorrecto',
		hidden = false },
	bad_paramlink = {															-- for |title-link=, |author/editor/translator-link=, |series-link=, |episode-link=
		message = 'Comprobe o valor de <code style="'..code_style..'">&#124;$1=</code>',
		anchor = 'bad_paramlink',
		category = 'Wikiquote:Páxinas con valores incorrectos en parámetros de ligazón',
		hidden = false },
	bad_pmc = {
		message = '<code>&#124;pmc=</code> incorrecto', --'Check <code>&#124;pmc=</code> value',
		anchor = 'bad_pmc',
		category = 'Wikiquote:Páxinas con PMC incorrectos', --'CS1 errors: PMC',
		hidden = false },
	bad_pmid = {
		message = '<code>&#124;pmid=</code> incorrecto', --'Check <code>&#124;pmid=</code> value',
		anchor = 'bad_pmid',
		category = 'Wikiquote:Páxinas con PMID incorrectos', -- 'CS1 errors: PMID',
		hidden = false },
	bad_url = {
		message = '<code>&#124;url=</code> incorrecta', --'Check <code>&#124;url=</code> scheme',
		anchor = 'bad_url',
		category = 'Wikiquote:Páxinas con URL incorrectas', --'Pages with URL errors',
		hidden = false },
	bare_url_missing_title = {
		message = '$1 sen título',          --'$1 missing title',
		anchor = 'bare_url_missing_title',
		category = 'Wikiquote:Páxinas con referencias sen título e con URL', -- 'Pages with citations having bare URLs',
		hidden = false },
	chapter_ignored = {
		message = '<code>&#124;capítulo=</code> ignorado',
		anchor = 'chapter_ignored',
		category = 'Wikiquote:Páxinas con referencias con capítulos ignorados',
		hidden = false },
	citation_missing_title = {
		message = 'Falta o <code>&#124;título=</code>', --'Missing or empty <code>&#124;title=</code>',
		anchor = 'citation_missing_title',
		category = 'Wikiquote:Páxinas con referencias sen título', --'Pages with citations lacking titles',
		hidden = false },
	cite_web_url = {											-- this error applies to cite web and to cite podcast
		message = 'Falta a <code>&#124;url=</code>', --'Missing or empty <code>&#124;url=</code>',
		anchor = 'cite_web_url',
		category = 'Wikiquote:Páxinas con referencias web sen URL', --'Pages using web citations with no URL',
		hidden = false },
	coauthors_missing_author = {
		message = '<code>&#124;coautores=</code> require <code>&#124;autor=</code>', --'<code>&#124;coauthors=</code> requires <code>&#124;author=</code>',
		anchor = 'coauthors_missing_author',
		category = 'Wikiquote:Páxinas con referencias sen autor e con coautores', --'CS1 errors: coauthors without author',
		hidden = false },
	contributor_ignored = {
		message = '<code style="'..code_style..'">&#124;contribuidor=</code> ignorado</code>',
		anchor = 'contributor_ignored',
		category = 'Wikiquote:Páxinas con erros nos contribuidores',
		hidden = false },
	contributor_missing_required_param = {
		message = '<code style="'..code_style..'">&#124;contribuidor=</code> require <code style="'..code_style..'">&#124;$1=</code>',
		anchor = 'contributor_missing_required_param',
		category = 'Wikiquote:Páxinas con erros nos contribuidores',
		hidden = false },
	deprecated_params = {
		message = 'A referencia emprega parámetros obsoletos', --'Cite uses deprecated parameters',
		anchor = 'deprecated_params',
		category = 'Wikiquote:Páxinas con referencias con parámetros obsoletos', -- 'Pages containing cite templates with deprecated parameters',
		hidden = true },
	empty_citation = {
		message = 'Referencia baleira', --'Empty citation',
		anchor = 'empty_citation',
		category = 'Wikiquote:Páxinas con referencias baleiras', --'Pages with empty citations',
		hidden = false },
--	extra_pages = {
--		message = 'Extra <code>&#124;páxinas=</code> ou <code>&#124;en=</code>', --'Extra <code>&#124;pages=</code> or <code>&#124;at=</code>',
--		anchor = 'extra_pages',
--		category = 'Wikiquote:Páxinas con referencias que teñen conflitos nas especificacións de páxinas', --'Pages with citations using conflicting page specifications',
--		hidden = false },
	first_missing_last = {
		message = '<code>&#124;nome$2=</code> sen <code>&#124;apelidos$2=</code> en $1',
		anchor = 'first_missing_last',
		category = 'Wikiquote:Páxinas con referencias sen autor ou editor',
		hidden = false },
	format_missing_url = {
		message = '<code>&#124;formato=</code> require <code>&#124;url=</code>', --'<code>&#124;format=</code> requires <code>&#124;url=</code>',
		anchor = 'format_missing_url',
		category = 'Wikiquote:Páxinas con referencias sen URL e con formato', --'Pages using citations with format and no URL',
		hidden = true },
	implict_etal_author = {
		message = 'Suxírese usar <code>&#124;número-autores=</code>', --'<code>&#124;displayauthors=</code> suggested',
		anchor = 'displayauthors',
		category = 'Wikiquote:Páxinas con referencias con et al. implícito nos autores', --'Pages using citations with old-style implicit et al.',
		hidden = true },
	implict_etal_editor = {
		message = 'Suxírese usar <code>&#124;número-editores=</code>', --'<code>&#124;displayeditors=</code> suggested', --'<code>&#124;displayeditors=</code> suggested',
		anchor = 'displayeditors',
		category = 'Wikiquote:Páxinas con referencias con et al. implícito nos editores', --'Pages using citations with old-style implicit et al. in editors',
		hidden = true },
	invalid_param_val = {
		message = 'O valor <code>&#124;$1=$2</code> é incorrecto',
		anchor = 'invalid_param_val',
		category = 'Wikiquote:Páxinas con referencias con valores incorrectos',
		hidden = false },
	invisible_char = {
		message = 'Carácter $1 en $2 na posición $3',
		anchor = 'invisible_char',
		category = 'Wikiquote:Páxinas con referencias con caracteres invisibles',
		hidden = false },
	missing_name = {
		message = 'Faltan os <code>&#124;apelidos$2=</code> na $1',
		anchor = 'missing_name',
		category = 'Wikiquote:Páxinas con referencias sen autor ou editor',
		hidden = false },
	param_has_ext_link = {
		message = 'Ligazón externa en <code style="'..code_style..'">$1</code>',
		anchor = 'param_has_ext_link',
		category = 'Wikiquote:Páxinas con ligazóns externas incorrectas en parámetros',
		hidden = false },
	parameter_ignored = {
		message = 'Parámetro descoñecido <code>&#124;$1=</code> ignorado',
		anchor = 'parameter_ignored',
		category = 'Wikiquote:Páxinas con referencias con parámetros descoñecidos', --'Pages with citations using unsupported parameters',
		hidden = false },
	parameter_ignored_suggest = {
		message = 'Parámetro descoñecido <code>&#124;$1=</code> ignorado (suxírese <code>&#124;$2=</code>)', --'Unknown parameter <code>&#124;$1=</code> ignored (<code>&#124;$2=</code> suggested)',
		anchor = 'parameter_ignored_suggest',
		category = 'Wikiquote:Páxinas con referencias con parámetros suxeridos', --'Pages with citations using unsupported parameters',
		hidden = false },
	redundant_parameters = {
		message = '$1 redundantes', --'More than one of $1 specified',
		anchor = 'redundant_parameters',
		category = 'Wikiquote:Páxinas con referencias con parámetros redundantes', --'Pages with citations having redundant parameters',
		hidden = false },
	text_ignored = {
		message = 'Texto «$1» ignorado', --'Text "$1" ignored',
		anchor = 'text_ignored',
		category = 'Wikiquote:Páxinas con referencias con parámetros sen nome', -- 'Pages with citations using unnamed parameters',
		hidden = false },
	trans_missing_chapter = {
		message = '<code>&#124;capítulo-trad=</code> require <code>&#124;capítulo=</code>', --'<code>&#124;trans_chapter=</code> requires <code>&#124;chapter=</code>',
		anchor = 'trans_missing_chapter',
		category = 'Wikiquote:Páxinas con referencias con termos traducidos sen o orixinal', --'Pages with citations using translated terms without the original',
		hidden = false },
	trans_missing_title = {
		message = '<code>&#124;título-trad=</code> require <code>&#124;título=</code>',--'<code>&#124;trans_title=</code> requires <code>&#124;title=</code>',
		anchor = 'trans_missing_title',
		category = 'Wikiquote:Páxinas con referencias con termos traducidos sen o orixinal', --'Pages with citations using translated terms without the original',
		hidden = false },
	vancouver = {
		message = 'Erro no estilo Vancouver',
		anchor = 'vancouver',
		category = 'Wikiquote:Páxinas con referencias con erros no estilo Vancouver',
		hidden = false },
	wikilink_in_url = {
		message = 'Ligazón wiki dentro do título da URL', -- 'Wikilink embedded in URL title',
		anchor = 'wikilink_in_url',
		category = 'Wikiquote:Páxinas con referencias con ligazóns wiki dentro do título da URL', -- 'Pages with citations having wikilinks embedded in URL titles',
		hidden = false },
}

--[[--------------------------< I D _ H A N D L E R S >--------------------------------------------------------

Valores para os identificadores definidos. Especifícanse varios valores por entrada
para renderiza-lo identificador correctamente na referencia.

	parameters: lista de alias de parámetros para o identificador
	link: Título do artigo correspondente na Galipedia
	label: Nome alternativo aplicado á ligazón
	mode: 	'manual' cando hai unha función específica no código para manexar o identificador;
			'external' para identificadores que ligan fora de Wikiquote;
	prefix: parte inicial da url que se concatena coa segunda parte que contén o identificador
	encode: true se uri debe ir codificada con percentís; se nón, false
	COinS: into rft.id
	separator: carácter ou texto entre a etiqueta e o identificador no texto amosado na referencia
]]

local id_handlers = {
	['ARXIV'] = {
		parameters = {'arxiv', 'ARXIV', 'eprint'}, 
		link = 'arXiv',
		label = 'arXiv',
		mode = 'manual',
		prefix = '//arxiv.org/abs/', 						-- protocol relative tested 2013-09-04
		encode = false,
		COinS = 'info:arxiv',
		separator = ':',
	},
	['ASIN'] = {
		parameters = { 'asin', 'ASIN' },	   
		link = 'Amazon Standard Identification Number',
		label = 'ASIN',
		mode = 'manual',
		prefix = '//www.amazon.',
		COinS = nil,
		separator = '&nbsp;',
		encode = false;
	},
	['BIBCODE'] = {
		parameters = {'bibcode', 'BIBCODE'}, 
		link = 'Bibcode',
		label = 'Bibcode',
		mode = 'external',
		prefix = 'http://adsabs.harvard.edu/abs/',
		encode = false,
		COinS = 'info:bibcode',
		separator = ':',
	},
	['DOI'] = {
		parameters = { 'doi', 'DOI' },
		link = 'Digital object identifier',
		label = 'doi',
		mode = 'manual',
		prefix = '//dx.doi.org/',
		COinS = 'info:doi',
		separator = ':',
		encode = true,
	},
	['ISBN'] = {
		parameters = {'isbn', 'ISBN'}, 
		link = 'International Standard Book Number',
		label = 'ISBN',
		mode = 'manual',
		prefix = 'Special:BookSources/',
		COinS = 'rft.isbn',
		separator = '&nbsp;',
	},
	['ISMN'] = {
		parameters = {'ismn', 'ISMN'}, 
		link = 'International Standard Music Number',
		label = 'ISMN',
		mode = 'manual',
		prefix = '',															-- not currently used; 
		COinS = 'nil',
		separator = '&nbsp;',
	},
	['ISSN'] = {
		parameters = {'issn', 'ISSN'}, 
		link = 'International Standard Serial Number',
		label = 'ISSN',
		mode = 'manual',
		prefix = '//www.worldcat.org/issn/',
		COinS = 'rft.issn',
		encode = false,
		separator = '&nbsp;',
	},
	['JFM'] = {
		parameters = {'jfm', 'JFM'}, 
		link = 'Jahrbuch über die Fortschritte der Mathematik',
		label = 'JFM',
		mode = 'external',
		prefix = '//zbmath.org/?format=complete&q=an:',
		COinS = 'pre',	
		encode = true,
		separator = '&nbsp;',
	},
	['JSTOR'] = {
		parameters = {'jstor', 'JSTOR'}, 
		link = 'JSTOR',
		label = 'JSTOR',
		mode = 'external',
		prefix = '//www.jstor.org/stable/', 				-- protocol relative tested 2013-09-04
		COinS = 'pre',	
		encode = false,
		separator = '&nbsp;',
	},
	['LCCN'] = {
		parameters = {'LCCN', 'lccn'}, 
		link = 'Library of Congress Control Number',
		label = 'LCCN',
		mode = 'manual',
		prefix = 'http://lccn.loc.gov/',
		COinS = 'info:lccn',	
		encode = false,
		separator = '&nbsp;',
	},
	['MR'] = {
		parameters = {'MR', 'mr'}, 
		link = 'Mathematical Reviews',
		label = 'MR',
		mode = 'external',
		prefix = '//www.ams.org/mathscinet-getitem?mr=', 	-- protocol relative tested 2013-09-04
		COinS = 'pre',	
		encode = true,
		separator = '&nbsp;',
	},
	['OCLC'] = {
		parameters = {'OCLC', 'oclc'}, 
		link = 'Online Computer Library Center',
		label = 'OCLC',
		mode = 'external',
		prefix = '//www.worldcat.org/oclc/',
		COinS = 'info:oclcnum',
		encode = true,
		separator = '&nbsp;',
	},
	['OL'] = {
		parameters = { 'ol', 'OL' },
		link = 'Open Library',
		label = 'OL',
		mode = 'manual',
		prefix = '//openlibrary.org/',
		COinS = nil,		
		separator = '&nbsp;',
		endode = true,
	},
	['OSTI'] = {
		parameters = {'OSTI', 'osti'}, 
		link = 'Office of Scientific and Technical Information',
		label = 'OSTI',
		mode = 'external',
		prefix = '//www.osti.gov/energycitations/product.biblio.jsp?osti_id=',	-- protocol relative tested 2013-09-04
		COinS = 'pre',	
		encode = true,
		separator = '&nbsp;',
	},
	['PMC'] = {
		parameters = {'PMC', 'pmc'}, 
		link = 'PubMed Central',
		label = 'PMC',
		mode = 'manual',									-- changed to support unlinking of PMC identifier when article is embargoed
		prefix = '//www.ncbi.nlm.nih.gov/pmc/articles/PMC', 
		suffix = " ",
		COinS = 'pre',	
		encode = true,
		separator = '&nbsp;',
	},
	['PMID'] = {
		parameters = {'PMID', 'pmid'}, 
		link = 'PubMed',
		label = 'PMID',
		mode = 'manual',									-- changed from external manual to support PMID validation
		prefix = '//www.ncbi.nlm.nih.gov/pubmed/',
		COinS = 'info:pmid',
		encode = false,
		separator = '&nbsp;',
	},
	['RFC'] = {
		parameters = {'RFC', 'rfc'}, 
		link = 'Request for Comments',
		label = 'RFC',
		mode = 'external',
		prefix = '//tools.ietf.org/html/rfc',
		COinS = 'pre',	
		encode = false,
		separator = '&nbsp;',
	},
	['SSRN'] = {
		parameters = {'SSRN', 'ssrn'}, 
		link = 'Social Science Research Network',
		label = 'SSRN',
		mode = 'external',
		prefix = '//ssrn.com/abstract=', 					-- protocol relative tested 2013-09-04
		COinS = 'pre',	
		encode = true,
		separator = '&nbsp;',
	},
	['USENETID'] = {
		parameters = {'mensaxe-id','message-id'},
		link = 'Usenet',
		label = 'Usenet:',
		mode = 'manual',
		prefix = 'news:',
		encode = false,
		COinS = 'pre',	
		separator = '&nbsp;',
	},
	['ZBL'] = {
		parameters = {'ZBL', 'zbl'}, 
		link = 'Zentralblatt MATH',
		label = 'Zbl',
		mode = 'external',
		prefix = '//zbmath.org/?format=complete&q=an:',
		COinS = 'pre',	
		encode = true,
		separator = '&nbsp;',
	},
}

return 	{
	aliases = aliases,
	defaults = defaults,
	error_conditions = error_conditions,
	id_handlers = id_handlers,
	keywords = keywords,
	invisible_chars = invisible_chars,
	maint_cats = maint_cats,
	messages = messages,
	presentation = presentation,
	prop_cats = prop_cats,
	title_types = title_types,
	uncategorized_namespaces = uncategorized_namespaces,
	uncategorized_subpages = uncategorized_subpages,
	templates_using_volume = templates_using_volume,
	templates_using_issue = templates_using_issue,
	templates_not_using_page = templates_not_using_page,
	}