MediaWiki:Gadget-fastbuttons.js/buttonsList.js

Fonte: Wikinotícias

Nota: Depois de publicar, deve limpar o cachê do seu navegador para ver as alterações.

  • Firefox e Safari: Pressione Shift enquanto clica Recarregar, ou pressione Ctrl-F5 ou Ctrl-R (⌘-R no Mac)
  • Google Chrome: Pressione Ctrl-Shift-R (⌘-Shift-R no Mac)
  • Internet Explorer e Edge: Pressione Ctrl enquanto clica Recarregar, ou pressione Ctrl-F5
  • Opera: Pressione Ctrl-F5.
/* jshint laxbreak:true */
/* global mw, $, fastButtons, window */

( function ( fastb ) {
'use strict';

mw.messages.set( {
	// General
	'fastb-FastButtons': 'FastButtons',
	'fastb-showButton': 'exibir',
	'fastb-hideButton': 'esconder',
	'fastb-hideButton-title': 'Esconde os botões do FastButtons. Para reavê-los basta clicar em "Mais".',
	'fastb-petScan': 'Procurar nesta categoria',
	'fastb-loading': 'Carregando...',
	'fastb-noRecentChange': 'Nenhuma alteração recente.',
	'fastb-noNewPage': 'Nenhuma página nova ainda não patrulhada ou que não seja um redirecionamento dentre as páginas criadas à no máximo, um mês.',
	'fastb-noScoredRecentChanges': 'Nenhuma edição para patrulhar ou desfazer.',
	'fastb-noER': 'Nenhuma página marcada para eliminação rápida.',
	'fastb-yes': 'Sim',
	'fastb-no': 'Não',
	'fastb-hours': '$1h$2min',
	'fastb-date': '$1 de $2 de $3', // $1 = day, $2 = month, $3 = year
	'fastb-none': 'Nenhum',
	'fastb-OK': 'OK',
	'fastb-cancel': 'Cancelar',
	'fastb-alreadyExistsEliminationTag': 'Já existe uma predefinição de eliminação nesta página.',
	'fastb-alreadyExistsThisTag': 'A predefinição "$1" já está incluída nesta página.',
	'fastb-alreadyExistsThisStub': 'Já existe um esboço nesta página.',
	'fastb-warning': 'Aviso',
	'fastb-checkingBacklinksTitle': 'Verificação de afluentes',
	'fastb-checkingBacklinksText': 'Verificando a existência de afluentes. Aguarde...',
	'fastb-checkingBacklinksStop': 'O redirecionamento possui afluentes, deseja realmente propô-lo para eliminação? Recomenda-se a leitura de <a href="https://meta.wikimedia.org/w/index.php?title=Don%27t_delete_redirects/pt&uselang=pt">meta:Don\'t delete redirects/pt</a>.',
	'fastb-insufficiencyTemplateNotFound': 'Não foi encontrada a predefinição "$1" na página, requisito para a utilização desta.',

	// Notify
	'fastb-notify-editSuccess': 'A página foi editada com sucesso.',
	'fastb-notify-moveSuccess': 'A página foi movida com sucesso.',
	'fastb-notify-sendWarning': 'Enviando a notificação para o criador...',
	'fastb-notify-editingPage': 'Editando a página...',
	'fastb-notify-patrollingPage': 'Patrulhando a página...',
	'fastb-notify-getPageContent': 'Obtendo o conteúdo da página...',
	'fastb-notify-creatingEliminationPage': 'Criando a página de eliminação...',
	'fastb-notify-editingSomePage': 'Editando a página "$1"...',
	'fastb-notify-archivingPE': 'Arquivando o pedido de eliminação anterior...',
	'fastb-notify-errorSufix': '<br />Se o problema persistir,'
		+ ' favor informar no <a href="' + mw.util.getUrl( 'WN:Redação' ) + '">Redação</a>'
		+ ' ou em <a href="' + mw.util.getUrl( 'MediaWiki Discussão:Gadget-fastbuttons.js' ) + '">MediaWiki Discussão:Gadget-fastbuttons.js</a>.',
	'fastb-notify-apiErrorEdit': 'Não foi possível realizar a edição.',
	'fastb-notify-editFail': 'Não foi possível realizar a edição devido a um erro desconhecido da API.',

	// Dialog
	'fastb-dialog-note': 'Se necessário, coloque uma observação.',
	'fastb-dialog-labelDefault': 'Observação',
	'fastb-dialog-placeholderDefault': 'Não é necessário assinar.',
	'fastb-dialog-pageSituation': 'Escreva um breve resumo das condições atuais da página',

	// Dialog [PE prompt]
	'fastb-dialog-PE-title': 'Página para eliminar',
	'fastb-dialog-PE-sendWarning': 'Enviar um aviso para o criador da página',
	'fastb-dialog-PE-type-1': 'Enviar um aviso de eliminação',
	'fastb-dialog-PE-type-2': 'Enviar um aviso de remoção de marcações de eliminação nas páginas',
	'fastb-dialog-PE-create': 'Criar a discussão para a eliminação da página',
	'fastb-dialog-PE-reason': 'Justificativa para eliminação. Não precisa assinar.',

	// Dialog [Requests prompt]
	'fastb-dialog-requests-argumentation': 'Argumentação',
	'fastb-dialog-requests-page': 'Página',
	'fastb-dialog-requests-user': 'Usuário',
	'fastb-dialog-requests-subject': 'Assunto',
	'fastb-dialog-requests-historyPageExtra': 'Página 2',
	'fastb-dialog-requests-dontSign': 'Não precisa assinar.',

	// Dialog [Merging prompt]
	'fastb-dialog-merging-title': 'Fusão',
	'fastb-dialog-merging-page1': 'Página que permanecerá',
	'fastb-dialog-merging-page2': 'Página que será fundida com a de cima',

	// Page
	'fastb-page-ref': '$1 está referenciada',
	'fastb-page-cat': '$1 está categorizada',
	'fastb-page-iw': '$1 possui interwikis',
	'fastb-page-it': 'A página',
	'fastb-page-backlinks': 'Afluentes da página',
	'fastb-page-noBacklinks': 'Esta página ainda não possui afluentes',
	'fastb-page-deletedEdit': 'edição eliminada',
	'fastb-page-deletedEdits': 'edições eliminadas',
	'fastb-page-size': 'Tamanho',
	'fastb-page-watchers': 'Vigilantes',
	'fastb-page-lastEdit': 'Última edição',
	'fastb-page-requestDeletion': 'Pedido de eliminação',
	'fastb-page-requestDeletionLink': 'Pedido de eliminação desta página',
	'fastb-page-neverProposedElimination': 'A página nunca foi proposta para eliminação',
	'fastb-page-notExist': 'A página não existe.',
	'fastb-page-pageDeleteDate': 'A página foi deletada às <b>$1</b>',
	'fastb-page-pageviews': 'Visualizações da página',
	'fastb-page-moreInfo': 'Mais informações',
	'fastb-page-log': 'Registros da página',
	'fastb-page-noEditPermission': 'Você não possui permissão para editar esta página.',

	// Page [move]
	'fastb-page-move-noPermissions': 'Você não possui permissão para mover esta página.',
	'fastb-page-move-moving': 'Movendo a página',
	'fastb-page-move-redirect': 'Criar um redirecionamento',
	'fastb-page-move-talk': 'Mover a página de discussão também',
	'fastb-page-move-reason': 'Motivo',
	'fastb-page-move-newTitle': 'Novo título',
	'fastb-page-move-buttonName': 'Mover a página',
	'fastb-page-move-buttonTitle': 'Move a página para o título informado',
	'fastb-page-move-mainDomain': '(Principal)',

	// User
	'fastb-user-anonFirstEdit': 'Primeira edição',
	'fastb-user-registryDate': 'Data de registro',
	'fastb-user-userFirstEdit': 'A data em questão se refere, na realidade, à primeira edição do usuário, pois não foi possível obter a data de registro original, por se tratar de uma conta muito antiga',
	'fastb-user-unkownRegisterDate': 'Não foi possível encontrar a data de registro do editor.',
	'fastb-user-undefined': 'indefinido',
	'fastb-user-priorTo': 'antes de',
	'fastb-user-groups': 'Grupos',
	'fastb-user-edits': 'Edições',
	'fastb-user-blocked': 'Editor <b>bloqueado</b>',
	'fastb-user-error': 'Ocorreu um erro ao tentar obter as informações do usuário',
	'fastb-user-notExist': 'O usuário <b>não existe</b>',
	'fastb-user-anonNoEdit': 'Ainda não foi realizada nenhuma edição com este endereço de IP',
	'fastb-user-anonLargeEdits': 'mais de $1',

	// Errors
	'fastb-error-unableGetList': 'não foi possível obter a lista "$1" através da API.',
	'fastb-error-backlinksNoData': 'a consulta dos afluentes da página não retornou nenhum dado.',
	'fastb-error-categoryIncompleteData': 'a consulta para se obter a qualidade da página através das categorias retornou dados incompletos.',
	'fastb-error-categoryNoData': 'a consulta para se obter a qualidade da página através das categorias não retornou nenhum dado.',
	'fastb-error-userInfoNoData': 'a consulta com as informações do usuário não retornou nenhum dado.',

	// Summary
	'fastb-summary-requestElimination': 'Página proposta para [[WN:ER|eliminação rápida]] (regra $1)',
	'fastb-summary-redirect': 'Feito redirecionamento para [[$1]]$2',
	'fastb-summary-addMessage': 'Adicionando mensagem com a predefinição "[[Predefinição:$1|$1]]"',
	'fastb-summary-stub': 'Página marcada como [[WP:EBC|esboço]]',
	'fastb-summary-addTag': 'Adicionando marcação',
	'fastb-summary-creatingEliminationPage': 'Criando página de eliminação',
	'fastb-summary-elimination': 'Página proposta para eliminação por consenso',
	'fastb-summary-maintenance': 'Adicionando a página "$1"',
	'fastb-summary-archivingPE': 'Arquivando pedido de eliminação',
	'fastb-summary-newRequest': 'Adicionando novo pedido',
	'fastb-summary-addMergingPropose': 'Adicionando proposta de fusão',

	// Warn [elimination]
	'fastb-warn-elimination-summary-pageElimination': 'Aviso sobre a eliminação da página "[[$1]]"',
	'fastb-warn-elimination-summary-removeEliminationTag': 'Aviso sobre a remoção da marcação de eliminação da página',
	'fastb-warn-elimination-prompt-title': 'Enviar notificação',
	'fastb-warn-elimination-prompt-select-user': 'Para enviar um aviso de eliminação ao editor <a href="/wiki/User:$1">$1</a>, selecione uma opção abaixo',
	'fastb-warn-elimination-prompt-select-anon': 'Para enviar um aviso de eliminação ao usuário anônimo <a href="/wiki/Special:Contributions/$1">$1</a>, selecione uma opção abaixo',
	'fastb-warn-elimination-prompt-option-1': 'Enviar um aviso de eliminação',
	'fastb-warn-elimination-prompt-option-2': 'Enviar um aviso sobre a remoção da marcação de eliminação da página',
	'fastb-warn-elimination-prompt-option-3': 'Não enviar nenhum aviso',

	// Warn [maintenanceTags]
	'fastb-warn-maintenanceTags-summary': 'Aviso sobre a marcação da página "[[$1]]" com a predefinição "[[Predefinição:$2|$2]]"',
	'fastb-warn-maintenanceTags-prompt-title': 'Enviar notificação sobre a marcação de "$1"',
	'fastb-warn-maintenanceTags-prompt-content': 'Deseja notificar o editor <a href="/wiki/User:$1">$1</a>?'
} );

var nsNum = mw.config.get( 'wgNamespaceNumber' ),
	pageName = mw.config.get( 'wgPageName' ),
	userGroups = mw.config.get( 'wgUserGroups' ),
	userName =  ( mw.config.get( 'wgCanonicalSpecialPageName' ) !== 'Contributions' )
		? mw.config.get( 'wgTitle' ).split( '/' )[ 0 ]
		: window.decodeURI( mw.util.getUrl().split( '/' )[ 3 ] || mw.util.getParamValue( 'target' ) );

// Shows a warning if the redirect has backlinks
function redirectEliminationPrevent () {
	var buttons = {},
		apiDeferred = $.Deferred();

	buttons[ fastb.message( 'fastb-yes' ) ] = function () {
		apiDeferred.resolve( 'continue' );
		$( this ).dialog( 'close' );
	};

	buttons[ fastb.message( 'fastb-no' ) ] = function () {
		apiDeferred.resolve();
		$( this ).dialog( 'close' );
	};

	fastb.dialog( {
		title: fastb.message( 'fastb-checkingBacklinksTitle' ),
		content: fastb.message( 'fastb-checkingBacklinksText' )
	} );

	fastb.callAPI( 'backLinks', 'justData' ).done( function ( data ) {
		if ( !data.query.backlinks.length ) {
			$( '.fastb-dialog' ).last().dialog( 'close' );
			apiDeferred.resolve( 'continue' );
		} else {
			$( '.fastb-dialog' ).last().dialog( 'close' );
			fastb.dialog( {
				title: fastb.message( 'fastb-checkingBacklinksTitle' ),
				content: fastb.message( 'fastb-checkingBacklinksStop' ),
				buttons: buttons
			} );
		}
	} );

	return apiDeferred.promise();
}

$.extend( fastb.buttons, {
	/**
	 * Submenu [Eliminação]
	 * @property {Object[]} elimination
	 */
	elimination: [ {
			action: function () {
				fastb.changeSubmenu( fastb.buttons.ER );
			},
			text: 'Rápida',
			title: 'Exibir regras para a eliminação rápida'
		}, {
			action: fastb.openPrompt.bind( fastb, 'PE' ),
			text: 'Consenso',
			title: 'Marcar para eliminação por consenso',
			disable: $.inArray( nsNum, [ 8, 828 ] ) !== -1
		}, {
			action: function() {
				fastb.changeSubmenu( fastb.buttons.insufficiency );
			},
			text: 'Insuficiência',
			title: 'Exibir botões para candidatos a notícias',
			disable: nsNum !== 0
		}
	],

	insufficiency: [ {
			action: 'Insuficiente',
			templatename: 'Insuficiente',
			text: 'Notícia Insuficiente',
			title: 'Marcar como insuficiente',
			sum: 'Notícia marcada como insuficiente',
			disable: nsNum !== 0
		}, {
			action: 'Candidatura-cabeçalho',
			templatename: 'Candidatura-cabeçalho',
			text: 'Enviar para manutenção',
			title: 'Enviar o artigo para manutenção, para que seus problemas sejam corrigidos',
			sum: 'Artigo marcado para manutenção',
			disable: nsNum !== 0
		}, {
			action: 'Eliminação por insuficiência',
			templatename: 'Insuficiente',
			text: 'Eliminação por insuficiência',
			title: 'Atestar a notícia como insuficiente, após decorrido o prazo de manutenção',
			sum: 'Eliminação por insuficiência',
			disable: nsNum !== 0 || ( $.inArray( 'sysop', userGroups ) !== -1
				&& $.inArray( 'eliminator', userGroups ) !== -1
			)
		}
	],

	/**
	 * Submenu [ER]
	 * @property {Object[]} ER
	 */
	ER: [ {
			action: 'ER|1',
			text: '1',
			title: 'Página ou subpágina de usuário',
			disable: nsNum !== 2
		}, {
			action: 'ER|2',
			text: '2',
			title: 'Título incorreto',
			disable: nsNum !== 0
		}, {
			action: 'ER|3',
			text: '3',
			title: 'Sem conteúdo',
			disable: nsNum !== 0
		}, {
			action: 'ER|4',
			text: '4',
			title: 'Publicidade ou spam',
			disable: nsNum !== 0
		},  {
			action: 'ER|5',
			text: '5',
			title: 'Aparecimento recorrente',
			disable: nsNum !== 0
		}, {
			action: 'ER|6',
			text: '6',
			title: 'Duplica notícia',
			disable: nsNum !== 0
		}, {
			action: 'ER|7',
			text: '7',
			title: 'Criador se enganou',
			disable: nsNum !== 0
		}, {
			action: 'ER|8',
			text: '8',
			title: 'Eliminação temporária',
			disable: nsNum !== 0
		}, {
			preload: redirectEliminationPrevent,
			action: 'ER|9',
			text: '9',
			title: 'Redirecionamento indevido',
			disable: !mw.config.get( 'wgIsRedirect' )
		}, {
			action: 'ER|10',
			text: '10',
			title: 'Domínio errado',
			disable: nsNum !== 0
		}, {
			action: 'ER|11',
			text: '11',
			title: 'Erro no teclado',
			disable: nsNum !== 0
		}, {
			action: 'ER|12',
			text: '12',
			title: 'Categoria vazia, desnecessária ou substituída',
			disable: nsNum !== 14
		}, {
			action: 'ER|13',
			text: '13',
			title: 'Direitos autorais',
			disable: nsNum !== 0
		}, {
			action: 'ER|14',
			text: '14',
			title: 'Sem ficheiro ou duplicado',
			disable: nsNum !== 6
		}, {
			action: 'ER|15',
			text: '15',
			title: 'Predefinição vazia, desnecessária ou substituída',
			disable: nsNum !== 10
		}, {
			action: 'ER|16',
			text: '16',
			title: 'Fusão',
			disable: nsNum !== 0
		}, {
			action: 'ER|17',
			text: '17',
			title: 'Página de discussão',
			disable: nsNum % 2 === 0
		}, {
			action: 'ER|18',
			text: '18',
			title: 'Impróprio'
		}
	],

	/**
	 * Submenu [Manuteção]
	 * @property {Object[]} maintenance
	 */
	maintenance: [ {
			action: 'sem fontes',
			templatename: 'Sem fontes',
			text: 'Sem fontes',
			title: 'Notícia não cita nenhuma fonte',
			sum: 'Notícia marcada como sem fontes',
			warn: true
		}, {
			action: 'wikificação',
			templatename: 'Wikificação',
			text: 'Wikificar',
			title: 'Não está formatado de acordo com o livro de estilo',
			sum: 'Notícia marcada para wikificação'
		}, {
			action: 'Parcial',
			templatename: 'Parcial',
			text: 'Parcial',
			title: 'Notícia não respeita o princípio da imparcialidade',
			sum: 'Página marcada como parcial'
		}, {
			action: 'spam',
			templatename: 'spam',
			text: 'Publicidade',
			title: 'Notícia escrita em formato publicitário',
			sum: 'Página marcada que possui conteúdo em formato publicitário'
		}, {
			action: 'Insuficiente',
			templatename: 'Insuficiente',
			text: 'Insuficiente',
			title: 'Página carece de contexto',
			sum: 'Página marcada como sem contexto'
		}, {
			action: 'Má tradução',
			templatename: 'Má tradução',
			text: 'Má tradução',
			title: 'Texto da notícia está mal traduzido',
			sum: 'Página marcada como má tradução'
		}, {
			action: 'notícia em desenvolvimento',
			templatename: 'notícia em desenvolvimento',
			text: 'Em desenvolvimento',
			title: 'Notícia em desenvolvimento',
			sum: 'Página marcada para desenvolvimento'
		}, {
			action: 'Em tradução',
			templatename: 'Em tradução',
			text: 'Em tradução',
			title: 'Marcar a página como em processo de tradução',
			sum: 'Página marcada como em tradução'
		}, {
			action: 'evento atual',
			templatename: 'Evento atual',
			text: 'Evento atual',
			title: 'Notícia sobre um evento atual',
			sum: 'Página marcada como evento atual',
			prompt: 'Especifique o evento, preferencialmente (<a href="https://pt.wikinews.org/wiki/Predefini%C3%A7%C3%A3o:Evento_atual">temas possíveis<a>).',
			label: 'Tema do evento'
		}, {
			action: fastb.openPrompt.bind( fastb, 'merging' ),
			text: 'Fusão',
			title: 'Página necessita de fusão',
		},
	],

	/**
	 * Submenu [Aviso]
	 * @property {Object[]} warn
	 */
	warn: [  {
			action: 'subst:bv',
			text: 'BV',
			title: 'Bem-vindo(a) ao Wikinotícias',
			disable: mw.util.isIPAddress( userName )
		}, {
			action: 'subst:bv-ip',
			text: 'BV-IP',
			title: 'Boas-vindas para usuário(a) não registrado(a)',
			disable: !mw.util.isIPAddress( userName )
		}, {
			action: 'subst:bv-av',
			text: 'Av-BV-IP',
			title: 'Aviso sobre erro e boas-vindas',
			prompt: 'Aviso sobre qual notícia?',
			label: 'Notícia',
			disable: !mw.util.isIPAddress( userName )
		}, {
			action: 'subst:aviso',
			text: 'Aviso',
			title: 'Aviso para usuário',
			prompt: 'Aviso sobre qual notícia?',
			label: 'Notícia'
		}, {
			action: 'subst:último aviso',
			text: 'Último aviso',
			title: 'Último aviso para usuário',
			prompt: 'Aviso sobre qual notícia?',
			label: 'Notícia'
		}, {
			action: 'subst:aviso-propaganda',
			text: 'Propaganda',
			title: 'Não faça propaganda',
			prompt: 'Aviso sobre qual notícia?',
			label: 'Notícia'
		}, {
			action: 'subst:aviso-remoção',
			text: 'Remoção',
			title: 'Não remova conteúdo dos artigos',
			prompt: 'Aviso sobre qual notícia?',
			label: 'Notícia'
		}, {
			action: 'subst:aviso-teste',
			text: 'Teste',
			title: 'Não faça testes nas notícias',
			prompt: 'Aviso sobre qual notícia?',
			label: 'Notícia'
		}, {
			action: 'subst:aviso-assinatura',
			text: 'Assinatura',
			title: 'Não insira sua assinatura em notícias',
			prompt: 'Aviso sobre qual notícia?',
			label: 'Notícia'
		}, {
			action: 'subst:aviso-Copyright ',
			text: 'VDA',
			title: 'Violação de direitos autorais',
			prompt: 'Aviso sobre qual notícia?',
			label: 'Notícia'
		}, {
			action: 'subst:ortografia',
			text: 'Ortografia',
			title: 'Não mude a versão da língua',
			prompt: 'Aviso sobre qual notícia?',
			label: 'Notícia'
		}, {
			action: 'subst:mostrar previsão',
			text: 'Salvamento sucessivo',
			title: 'Não faça salvamentos sucessivos',
			prompt: 'Aviso sobre qual notícia?',
			label: 'Notícia'
		}, {
			action: 'subst:aviso-sem fonte',
			text: 'Sem fontes',
			title: 'Faltou citar fontes à página',
			prompt: 'Aviso sobre qual notícia?',
			label: 'Notícia'
		}, {
			action: 'subst:aviso-Wikipédia',
			text: 'Artigo enciclopédico',
			title: 'Conteúdo fora do escopo',
			prompt: 'Aviso sobre qual notícia?',
			label: 'Notícia'
		}, {
			action: 'subst:bloqueado',
			text: 'Bloqueado',
			title: 'Notificação de bloqueio',
			prompt: 'Especifique o tempo e o motivo do bloqueio.',
			label: 'Tempo|2=Motivo'
		}
	],

	/**
	 * Submenu [Busca]
	 * @property {Object[]} search
	 */
	search: [ {
			text: 'Google',
			desc: 'Pesquisar o título desta página no Google',
			url: '//www.google.com/search?&as_eq=wikipedia&as_epq='
		}, {
			text: 'Google notícias',
			desc: 'Pesquisar o título desta página no Google Notícias',
			url: '//google.com/search?tbm=nws&q='
		}, {
			text: 'Google livros',
			desc: 'Pesquisar o título desta página no Google Livros',
			url: '//books.google.com/books?&as_brr=0&as_epq='
		}, {
			text: 'Google acadêmico',
			desc: 'Pesquisar o título desta página no Google Acadêmico',
			url: '//scholar.google.com/scholar?q='
		}, {
			text: 'Bing',
			desc: 'Pesquisar o título desta página no Bing',
			url: '//www.bing.com/search?q='
		}
	],

	/**
	 * Submenu [PetScan]
	 * @property {Object[]} cat
	 */
	cat: [ {
			text: 'Sem fontes',
			desc: 'Procurar páginas desta categoria que precisam de fontes',
			url: '&templates_yes=Sem fontes'
		}, {
			text: 'Wikificação',
			desc: 'Procurar páginas desta categoria que precisam de wikificação',
			url: '&templates_yes=Wikifica%C3%A7%C3%A3o'
		}, {
			text: 'Menos de 1 000 bytes ou 4 links',
			desc: 'Procurar páginas desta categoria que possuem menos de 1 000 bytes ou 4 links',
			url: '&smaller=1000&minlinks=4'
		}, {
			text: 'Menos de 500 bytes ou 2 links',
			desc: 'Procurar páginas desta categoria que possuem menos de 500 bytes ou 2 links',
			url: '&smaller=500&minlinks=2'
		}
	],

	/**
	 * Submenu [Pedidos]
	 * @property {Object[]} requests
	 */
	requests: [ {
			action: 'request',
			text: 'Desproteção',
			title: 'Requisitar a desproteção de uma página.',
			placeholder: 'Justifique o pedido de desproteção.',
			page: 'WN:Pedidos a administradores'
		}, {
			action: 'request',
			text: 'Edição',
			title: 'Requisitar uma alteração de uma página, pois devido ao fato de estar protegida, não pode ser feita por você.',
			placeholder: 'Especifique a alteração que deseja fazer e o motivo',
			page: 'WN:Pedidos a administradores'
		}, {
			action: 'request',
			text: 'Proteção',
			title: 'Requisitar a proteção de uma página.',
			placeholder: 'Justifique o motivo para o pedido de proteção',
			page: 'WN:Pedidos a administradores'
		}, {
			action: 'request',
			text: 'Vandalismo',
			title: 'Notificar sobre a existência de vandalismo urgente',
			placeholder: 'Esclareça a página',
			page: 'WN:Café dos novatos',
		}, {
			action: 'request',
			text: 'Outro',
			title: 'Outros avisos',
			placeholder: 'Esclareça o pedido.',
			page: 'WN:Redação',
		}
	],

	/**
	 * User infomation
	 * @property {Object[]} userInfo
	 */
	userInfo: [ {
			href: mw.util.getUrl( 'Special:Contributions/' ) + userName,
			title: 'Abrir a lista de contribuições deste editor',
			text: 'Contribuições',
			disable: mw.config.get( 'wgCanonicalSpecialPageName' ) === 'Contributions'
		}, {
			href: mw.util.getUrl( 'Special:Log/' ) + userName,
			title: 'Abrir a lista de registros deste editor',
			text: 'Registros'
		}, {
			href: mw.util.getUrl( 'Special:Log' ) + '?type=block&page=User%3A' + userName,
			title: 'Abrir a lista de registros de bloqueio deste editor',
			text: 'Registros de bloqueio'
		}, {
			href: 'https://xtools.wmflabs.org/ec/pt.wikinews.org/' + userName,
			title: 'Abrir a contagem de edições deste editor',
			text: 'Contador de edições'
		}, {
			href: 'https://xtools.wmflabs.org/pages/pt.wikinews.org/' + userName,
			title: 'Abrir a lista de páginas criadas por este editor',
			text: 'Páginas criadas'
		}, {
			href: 'https://alberobot.toolforge.org/voto.php?user=' + userName,
			title: 'Verificar se o editor possui direito ao voto',
			text: 'Direito ao voto'
		}
	],

	/**
	 * Recent Changes, new pages and watched pages
	 * @property {Object[]} list
	 */
	list:  [ {
			action: function () {
				fastb.callAPI( 'PV' );
			},
			text: 'Páginas vigiadas',
			title: 'Exibir páginas vigiadas que foram alteradas recentemente'
		}, {
			action: function () {
				fastb.callAPI( 'MR' );
			},
			text: 'Mudanças recentes',
			title: 'Exibir mudanças recentes feitas por IPs em páginas do domínio principal'
		}, {
			action: function () {
				fastb.callAPI( 'PN' );
			},
			text: 'Páginas novas',
			title: 'Exibir páginas novas que ainda não foram patrulhadas'
		}, {
			action: function () {
				fastb.callAPI( 'ER' );
			},
			text: 'Eliminação rápida',
			title: 'Exibir as páginas que foram marcadas para eliminação rápida'
		}
	]
} );

}( fastButtons ) );