Documentation for this module may be created at Module:Sandbox/trappist the monk/map non en params/doc
--[[
a crude tool to create most of the necessary data for pt:Predefinição:Citar web and other Portuguese citation
templates for the cs1|2 translator module. Likely usable for other-language wikis that use some form of
Module:Citation/CS1.
To use this tool:
copy the <aliases> table from the other-language wiki's Module:Citation/CS1/Configuration and paste it in this module.
set the value for <lang_code>
In the debug console: =p.map_non_en_params()
returns a table of non-English parameter names mapped to their non-English metaparameter names; enumerated
parameters at the end. When the non-English implementation of Module:Citation/CS1/Configuration uses non-
English metaparameter names, this tool may not be as useful because the non-English metaparameter names won't
match the en.wiki metaparameter names in Module:Citation/CS1/Whitelist
]]
require('strict');
local lang_code = 'pt';
local aliases = {
['AccessDate'] = {'acesso', 'acessodata', 'acesso-data', 'accessodata', 'acessadoem', 'dataacesso', 'accessdate', 'access-date', 'dataacesso', 'fechaacceso', 'consulta', 'acessdate'},
['Agency'] = {'agencia', 'agency', 'agência'},
['AirDate'] = {'transmissão', 'airdate', 'air-date'},
['ArchiveDate'] = {'arquivodata', 'arquivo-data', 'archive-date', 'archivedate'},
['ArchiveFormat'] = {'formato-arquivo', 'arquivoformato', 'archive-format'},
['ArchiveURL'] = {'arquivourl', 'arquivo-url', 'urlarquivo', 'archive-url', 'archiveurl', 'urlarchivo'},
['ASINTLD'] = {'ASIN-TLD', 'asin-tld'},
['At'] = {'at', 'em', 'en'},
['Authors'] = {'autores', 'pessoas', 'authors','people', 'host', 'credits', 'créditos', 'argumentistas', 'persona', 'personas'},
['BookTitle'] = {'titulolivro', 'títulolivro', 'título-livro', 'booktitle', 'book-title'},
['Callsign'] = {'indicativo', 'callsign', 'call-sign'},
['Chapter'] = {'capitulo', 'capítulo', 'artigo', 'chapter', 'article', 'contribuição', 'contribuicao', 'contribution', 'entry'},
['ChapterFormat'] = {'formato-capitulo', 'chapter-format', 'contribution-format', 'section-format'},
['ChapterURL'] = {'urlcapitulo', 'urlcapítulo', 'capítulourl', 'capítulo-url', 'url-capítulo', 'chapter-url', 'chapterurl', 'contribution-url', 'contributionurl', 'section-url', 'sectionurl'},
['City'] = {'cidade', 'city'},
['Class'] = {'classe', 'class'},
['Coauthors'] = {'coautor', 'coautores', 'coauthors', 'coauthor'},
['Collaboration'] = {'colaboração', 'collaboration'},
['Conference'] = {'conference', 'event', 'conferencia'},
['ConferenceFormat'] = {'conference-format', 'event-format', 'formato-conferencia'},
['ConferenceURL'] = {'conference-url', 'conferenceurl', 'event-url', 'eventurl', 'urlconferencia', 'conferencia-url'},
['Contribution'] = {'contribuição', 'contribuicao', 'contribution'}, -- introduction, foreword, afterword, etc; required when |contributor= set
['Date'] = {'data', 'date', 'airdate', 'dataemissao', 'fecha', 'data2'},
['DeadURL'] = {'datali', 'li', 'ligação inativa', 'ligação inactiva', 'urlmorta', 'dead-url', 'deadurl'},
['DF'] = 'df',
['DisplayAuthors'] = {'numero-autores', 'display-authors', 'displayauthors'},
['DisplayEditors'] = {'numero-editores', 'displayeditors', 'display-editors'},
['Docket'] = {'expediente', 'docket'},
['DoiBroken'] = {'doi-incorrecto', 'doi-broken', 'doi-broken-date', 'doi-inactive-date', 'doi-inactivedate'},
['Edition'] = {'edicao', 'edition', 'edição', 'ed', 'Edição', 'edición'},
['Editors'] = {'editores', 'editors'},
['Embargo'] = 'embargo',
['Encyclopedia'] = {'enciclopedia', 'enciclopédia', 'encyclopedia', 'encyclopaedia'}, -- this one only used by citation
['Format'] = {'formato', 'format'},
['ID'] = {'id', 'ID'},
['IgnoreISBN'] = {'ignore-isbn-error', 'ignore-isbn', 'ignoreisbnerror'},
['Inset'] = {'requadro','inset'},
['Issue'] = {'numero', 'número', 'issue', 'number'},
['Interviewers'] = {'interviewer', 'interviewers', 'entrevistador', 'entrevistadores'},
['Language'] = {'lingua', 'língua', 'idioma', 'language', 'in', 'língua2', 'lingua2', 'lingua3', 'língua3', 'lang', 'codling', 'ling', 'idioma2', 'idioma3', 'língua4', 'idioma4', 'lingua4'},
['LastAuthorAmp'] = {'ultimoamp', 'lastauthoramp', 'last-author-amp'},
['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'},
['MessageID'] = {'id-mensagem', 'mensagem-id', 'message-id'},
['Minutes'] = {'minuto', 'minutos', 'minutes'},
['Mode'] = {'modo', 'mode'},
['Month'] = {'mes', 'mês', 'month', 'acessomesdia'}, -- obsoleto
['NameListFormat'] = {'formato-lista-nomes', 'formato-autor', 'formato-editor', 'name-list-format'},
['Network'] = {'rede', 'network'},
['NoPP'] = {'nopp', 'no-pp'},
['NoTracking'] = {'template-doc-demo', 'template doc demo', 'nocat', 'no-tracking', 'notracking'},
['OrigYear'] = {'anooriginal', 'orig-year', 'origyear'},
['Others'] = {'outros', 'entrevistador', 'entrevistadores', 'notas', 'Notas', 'interviewer', 'interviewers', 'otros'},
['Page'] = {'pagina', 'página', 'page', 'Página'},
['Pages'] = {'paginas', 'pp', 'páginas', 'pages'},
['TotalPages'] = {'total-paginas', 'total-páginas'},
['Periodical'] = {'jornal', 'revista', 'dicionario', 'dicionário', 'publicacao', 'publicação', 'periodico', 'periódico', 'website', 'site', 'obra', 'encyclopedia', 'encyclopaedia', 'enciclopedia', 'enciclopédia', 'trabalho', 'work', 'journal', 'newspaper', 'magazine', 'periodical', 'dictionary', 'publicación', 'diccionario'},
['Place'] = {'local', 'location', 'lugar', 'place', 'localização'},
['PostScript'] = {'pontofinal', 'postscript'},
['Program'] = {'programa', 'program'},
['PublicationDate'] = {'data-publicação', 'data-publicacao', 'publication-date', 'publicationdate', 'fecha-publicación'},
['PublicationPlace'] = {'publication-place', 'publicationplace', 'local-publicação', 'local-publicacao', 'lugar-publicación', 'Local publicação'},
['PublisherName'] = {'publicado', 'produtora', 'editora', 'Editora', 'instituição', 'instituicao', 'universidade', 'publisher', 'grupo-noticias', 'distributor', 'institution', 'newsgroup', 'editorial', 'publicadopor', 'publicado por'},
['Quote'] = {'citacao', 'citação', 'cita', 'quote', 'quotation', 'citar'},
['Ref'] = 'ref',
['RegistrationRequired'] = {'registo', 'registro', 'registration'},
['Scale'] = {'escala', 'scale'},
['ScriptChapter'] = {'capitulo-translit', 'script-chapter'},
['ScriptTitle'] = {'título-translit', 'titulo-translit', 'script-title'},
['Section'] = {'secao', 'seccao', 'section', 'seção'},
['Season'] = {'temporada', 'season'},
['Sections'] = {'seções', 'secoes', 'sections'},
['Series'] = {'series', 'serie', 'série', 'séries', 'coleção', 'Coleção', 'colecao', 'versão', 'version'},
['SeriesSeparator'] = {'separador-series', 'series-separator'},
['SeriesLink'] = {'serieslink', 'series-link', 'sérielink'},
['SeriesNumber'] = {'seriesnumber', 'numero-serie', 'series-no', 'seriesno', 'series-number'},
['Station'] = {'estacao', 'estação', 'station'},
['SubscriptionRequired'] = {'subscription', 'subscrição', 'subscricao', 'suscripción'},
['Time'] = {'tempo', 'time', 'tiempo'},
['TimeCaption'] = {'time-caption', 'timecaption','lengenda'},
['Title'] = {'titulo', 'título', 'title', 'titlo', 'Título'},
['TitleLink'] = {'title-link', 'episode-link', 'titlelink', 'episodelink', 'episódiolink', 'titulolink', 'títulolink'},
['TitleNote'] = {'departamento', 'subtitulo', 'subtítulo', 'Subtítulo', 'department'},
['TitleType'] = {'type', 'medium', 'tipo', 'medio'},
['TransChapter'] = {'trad-capitulo', 'trans-chapter', 'trans_chapter', 'capítulo-trad'},
['TranscriptFormat'] = {'transcrição-formato', 'transcricao-formato', 'transcript-format'},
['Transcript'] = {'transcript', 'transcricao', 'transcrição'},
['TranscriptURL'] = {'transcript-url', 'transcripturl', 'urltranscricao', 'transcricaourl', 'transcriçãourl'},
['TransTitle'] = {'títulotrad', 'titulotrad', 'trans-title', 'trans_title', 'títulotrad', 'título-trad'},
['URL'] = {'url', 'URL'},
['UrlAccess'] = {'url-access', 'acesso-url', 'acessourl'},
['Vauthors'] = {'vautores', 'vauthors'},
['Veditors'] = {'veditores', 'veditors'},
['Via'] = 'via',
['Volume'] = {'volume', 'volumen'},
['Wayb'] = 'wayb',
['Year'] = {'ano', 'year', 'Ano', 'año'},
['AuthorList-First'] = {"nome#", "primeiro#", "prenome#", "first#", "given#", "author-first#", "author#-first", "nombre#"},
['AuthorList-Last'] = {"autor#", "cognome#", "ultimo#", "último#", "sobrenome#", "author#", "last#", "surname#", "author-last#", "author#-last", "subject#", "Autor#", "apelido#", "apellido#", "apellidos#","sujeito#", "entrevistado#"},
['AuthorList-Link'] = {"autorlink#", "entrevistadolink#", "authorlink#", "author#-link", "author-link#", "subjectlink#", "author#link", "subject-link#", "subject#-link", "sujeitolink#"},
['AuthorList-Mask'] = {"autor-mascara#", "author-mask#", "authormask#", "author#mask", "author#-mask"},
['ContributorList-First'] = {'contribuidor#-primeiro', 'contribuidor-primeiro#','contributor-first#','contributor#-first'},
['ContributorList-Last'] = {'contribuidor','contributor-ultimo#', 'contribuidor#-ultimo', 'contributor-last#', 'contributor#-last'},
['ContributorList-Link'] = {'contribuidor-link#','contributor-link#', 'contributor#-link'},
['ContributorList-Mask'] = {'contribuidor-mascara#','contributor-mask#', 'contributor#-mask'},
['EditorList-First'] = {"editor-nome#", "editor#-first", "editor-first#", "editor-given#", "editor#-given"},
['EditorList-Last'] = {"editor-sobrenome#", "editor#", "editor#-last","editor-last#", "editor-surname#", "editor#-surname"},
['EditorList-Link'] = {"editor-link#", "editor#-link", "editorlink#", "editor#link"},
['EditorList-Mask'] = {"editor-mascara#", "editor-mask#", "editor#-mask", "editormask#", "editor#mask"},
['TranslatorList-First'] = {'tradutor-primeiro#', 'tradutor#-primeiro', 'translator-first#','translator#-first'},
['TranslatorList-Last'] = {'tradutor#', 'tradutor-ultimo#', 'tradutor#-ultimo', 'translator#', 'translator-last#', 'translator#-last'},
['TranslatorList-Link'] = {'tradutor-link#', 'tradutor#-link', 'translator-link#', 'translator#-link'},
['TranslatorList-Mask'] = {'tradutor-mascara#', 'tradutor#-mascara', 'translator-mask#', 'translator#-mask'},
}
local whitelist = mw.loadData ('Module:Citation/CS1/Whitelist');
local out_t = {};
local enum_out_t = {};
local function map_non_en_params ()
for meta_param, params_t in pairs (aliases) do
if 'string' == type (params_t) then
params_t = params_t:lower(); -- force to lower case
if not whitelist.basic_arguments[params_t] then
table.insert (out_t, '[\'' .. params_t .. '\'] = \'' .. meta_param .. '\',');
end
else
for _, param in ipairs (params_t) do
param = param:lower(); -- force to lower case
if param:find ('#') then
if not whitelist.numbered_arguments[param] then
table.insert (enum_out_t, '[\'' .. param .. '\'] = \'' .. meta_param .. '\',');
end
elseif not whitelist.basic_arguments[param] then
table.insert (out_t, '[\'' .. param .. '\'] = \'' .. meta_param .. '\',');
end
end
end
end
table.sort (out_t);
table.sort (enum_out_t);
table.insert (out_t, 1, '\t' .. lang_code .. ' = {');
table.insert (out_t, '-- enumerated parameters');
table.insert (out_t, table.concat (enum_out_t, '\n\t\t'))
table.insert (out_t, '},');
return table.concat (out_t, '\n\t\t');
end
return {
map_non_en_params = map_non_en_params,
}