Nota: Depois de publicar, poderá ter de contornar a cache do seu navegador para ver as alterações.

  • Firefox / 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)
  • Edge: Pressione Ctrl enquanto clica Recarregar, ou pressione Ctrl-F5.
// Mantenha a linha abaixo. Ela é usada para conferir o uso global do script por meio da página [[Special:GlobalUsage/User:He7d3r/Tools/LanguageConverter.js]]
// [[File:User:He7d3r/Tools/LanguageConverter.js]] (ver [[phab:T35355]])
/*jslint browser: true, regexp:true, white: true */
/*global mw */
if ( window.LanguageConverter === undefined ) {
	window.LanguageConverter = {};
}
// Define as configurações específicas para a Wikipédia
window.LanguageConverter.config = {
	msg: {
		error_missing_dict	 : 'Não foi encontrado o seguinte dicionário: ',
		error_missing_dict_name  : 'É necessário definir o nome da página do dicionário para ',
		error_word_processing	 : 'Houve um erro ao processar esta palavra: ',
		error_typo_processing	 : 'Ocorreu um erro ao processar a seguinte alteração tipográfica:\n',
		help_page_link		 : 'Página de ajuda',
		show_changes_link	 : 'Mostrar alterações',
		hide_changes_link	 : 'Ocultar alterações',
		menu_title		 : 'Variantes'
	},
	word_chars : 'a-zA-Z0-9áàâãçéêíñóôúüáÁÀÂÃÇÉÊÍÑÓÔÕÚ\'ºª\\-§',
	typo_changes : {
		'pt-br': [
			[ '«', '“' ],
			[ '»', '”' ],
			[ /é([mn][aeiou])/g, 'ê$1' ],
			[ /ó([mn][aeiou])/g, 'ô$1' ],
			[ /a ([0-3]?[0-9]) de (abril|(?:(?:jan|fever)eir|ma(?:rç|i)|ju[nl]h|agost|(?:outu|(?:set|nov|dez)em)br)o)/g, ' em $1 de $2' ],
			[ /([Ss])e\(c\)ção/g, '$1eção' ]
                       
		],
		'pt-pt': [
// Acentuação 
			[ /([gq])ü([iéêí])/g, '$1u$2' ],
			[ /qüe/g, 'que' ],
			[ /éia(s)?/g, 'eia$1' ],
			[ /ôo(s)?/g, 'oo$1' ],
            [ /ê([mn][aeiou])/g, 'é$1' ],
			[ /ô([mn][aeiou])/g, 'ó$1' ],
// Tentativas de dupla versão pouco estéticas
                        [ /([Ss])e\(c\)ç(ão|ões)/g, '$1ecç$2' ],
                        [ /([Dd])ire\(c\)tor([ae]?s?)/g, '$1iretor$2' ],
                        [ /[Pp]olonês\/([Pp]olaco)/g, '$1'],
                        [ /([Rr])egist\(r\)o(s?)/g, '$1egisto$2'],
                        [ /([Ff])a\(c\)to(s?)/g, '$1acto$2'],
                        [ /([Cc])anadense\/[Cc]anadian(oa)/g,'$1anadian$2'],
                        [ /[Cc]anadian(oa)\/([Cc])anadense/g,'$1anadian$2'],
// Datas
			[ /Em (\d+) de ([Aa]bril|(?:(?:[Jj]an|[Ff]ever)eir|[Mm]a(?:rç|i)|[Jj]u[nl]h|[Aa]gost|(?:[Oo]utu|(?:[Ss]et|[Nn]ov|[Dd]ez)em)br)o)/g, 'A $1 de $2' ],
			[ /em (\d+) de ([Aa]bril|(?:(?:[Jj]an|[Ff]ever)eir|[Mm]a(?:rç|i)|[Jj]u[nl]h|[Aa]gost|(?:[Oo]utu|(?:[Ss]et|[Nn]ov|[Dd]ez)em)br)o)/g, 'a $1 de $2' ],
// Verbos e derivados
                        [ /([Aa])(lun|mar|terr)iss/g, '$1$2'], // Ver em "anist"
                        [ /\b([Aa])nist/g, '$1mnist'], // Grupo de letras grande o suficiente para não haver falsos positivos
                        [ /\bchec((?:ou|a(?:r[áãi]?|v|sse|n?d))(?:[ao]?[ms]?))/g, 'verific$1'], // "checa" e "cheque" excluídos 
                        [ /([Cc])ontat/g, '$1ontact'], // Grupo de letras grande o suficiente para não haver falsos positivos
                        [ /([Dd])ecol((?:[ae]|ou)(?:r[áãi]?|v|sse|n?d|ge)?[ao]?[ms]?)/g, '$1escol$2'],
                        [ /(\b[Gg])erencia[v]?((?:a|r[áãi]?|sse|n?d)[ao]?[ms]?)\b/g, '$1eri$2'],
                        [ /\b([Gg])erencia(m)?\b/g, '$1ere$2'],
                        [ /([Gg])erencie(m)?/g, '$1ira$2'],                         
                        [ /([Gg])erenciou/g, '$1eriu'],
                        [ /([Ii])ndeniz/g, '$1ndemniz'], // Grupo de letras grande o suficiente para não haver falsos positivos
                        [ /jatei?((?:[ae]|ou)(?:i|r[áãi]?|v|sse|n?d|ge)?[ao]?[ms]?)/g, 'decap$1'],
                        [ /([Pp])lanej((?:[ae]|ou)(?:i|r[áãi]?|v|sse|n?d|ment)?[ao]?[ms]?)/g, '$1lane$2'],
                        [ /([Pp])lane[j]?([ae]m?)\b/g, '$1lanei$2'],
                        [ /([Rr])egistr/g, '$1egist'], // Ver em "indeniz"
                        [ /([Rr])evisa((?:r|nd)[ao]?)/g, '$1eve$2'],
                        [ /([Rr])evisa[v]?((?:r[áãi]|sse|nd)[ao]?m?)/g, '$1evi$2'],
                        [ /([Rr])evisad([ao]?s?)/g, '$1evist$2'],
                        [ /([Rr])evisa/g, '$1evê'],
                        [ /([Rr])evisam/g, '$1eveem'],
                        [ /([Rr])evise(m)?/g, '$1eveja$1'],                         
                        [ /([Rr])evisou/g, '$1eviu'],
// Variação em género e número
                        [ /([Aa])ceit(o)[s?]/g, '$1ceite$3'],
                        [ /açougueir[ao](s?)/g, 'talhante$1'],
                        [ /([Aa])marronzad([ao]?s?)/g, '$1castanhad$2'],
                        [ /cotidian([ao]s?)/g, 'quotidian$1'],
                        [ /([Dd])ublador([ae]?s?)/g, '$1obrador$2'],
                        [ /[^d]esportiv([ao]?s?)/g, 'desportiv$1'],
                        [ /elizabetan([ao]s?)/g, 'isabelin$1'],
                        [ /([Gg])erenciador([ae]?s?)/g, '$1estor$2'],
                        [ /[^hsHS]([úu]m[ei]d)/g, 'h$1'], // Ver em "indeniz" 
                        [ /([Mm])ajoritári([ao]s?)/g, '$1aioritári$2'],
                        [ /palestin([ao]s?)/g, 'palestinian$1'], // Excluída "Palestina" (país)
                        [ /([Ss])údit([ao]s?)/g, '$1úbdit$2'],
                        [ /tc(heco?e?(?:slov)?(?:ac|áqui)?[ao]s?)/g, 'c$1'],
// Expressões envolvendo palavras invariáveis em pt-br 
                        [ /([ADNadn]?)([ÀàAOao]s?)(\s\w*[áàâãçéêíóôõú]*\w*)? canadense(s)?/g, '$1$2 $3 canadian$2'],
                        [ /([ADNadn]?)([ÀàAOao]s?)(\s\w*[áàâãçéêíóôõú]*\w*)? estad(o\-)?unidense(s)?/g, '$1$2 $3  norte-american$2'],
                        [ /([ADNadn]?)([ÀàAOao]s?)(\s\w*[áàâãçéêíóôõú]*\w*)? marro[mn]s?/g, '$1$2 $3 castanh$2'],
//Correcções às regexes anteriores no que diz respeito a palavras como "canadianO" ou "castanhà"
//Qualquer palavra terminada em "à" é erro ortográfico, por isso pode-se até estar a corrigir algo,
//ou quando muito, trocar um erro, por outro.
                         [ /(\w)[Àà](s*)/g, '$1a$2'],
                         [ /(\w[a-z])A(s*)/g, '$1a$2'], 
                         [ /(\w[a-z])O(s*)/g, '$1o$2'], 
// Expressões envolvendo mudança de género   e outros caso
                        [ /\b([Cc]om\s|[DNdn]|[Pp]ara\s|[Pp]el)o(s)? experimento[s]?/g, '$1a$2 experiência$2'],
                        [ /\bo[s?] experimento(s?)/g, 'a$1 experiência$1'],
                        [ /\bao[s?] experimento(s?)/g, 'à$1 experiência$1'],
                        [ /O[s?] experimento(s?)/g, 'A$1 experiência$1'], 
                        [ /Ao[s?] experimento(s?)/g, 'À$1 experiência$1'], 
                        [ /\b([Aa]|[Cc]om|[Dd]e|[Ee]m|[Pp]ara|[Pp]or) experimentos/g, '$1 experiências'],  
                        [ /\b([Éé]|[Ff]oi|[Ss]ão|[Ff]oram|[Ss]er(á|ão)) aceita(s?)/g, '$1 aceite$2'],
                        
//Pronomes pessoais
                        [ /\b([Cc]om|[Pp]ara|[Ss]em) (seu)(s?)/g, '$1 o$3 $2$3'],
                        [ /\b([Dd])(e) (seu)(s?)/g, '$1o$4 $3$4'],
                        [ /\b([Pp])(or) (seu)(s?)/g, '$1elo$4 $3$4'],
                        [ /\b([Cc]om|[Pp]ara|[Ss]em) (sua)(s?)/g, '$1 a$3 $2$3'],
                        [ /\b([Dd])(e) (sua)(s?)/g, '$1a$4 $3$4'],
                        [ /\b([Pp])(or) (sua)(s?)/g, '$1ela$4 $3$4']

]
           
	},
	variants_list : {
		'pt':'Texto original',
		'pt-br':'Português do Brasil',
		'pt-pt':'Português de Portugal'
	},
	ns_list : {
		'0': true, // Main
		'2': true, // User
		'4': true, // Project
		'10': true, // Template
		'14': true, // Category
		'100': true, // Portal
		'102': true // Anexo
	},
	local_dic_id : {
		'pt':'conv-idiomas',
		'pt-ao':'dic-local-AO',
		'pt-br':'dic-local-BR',
		'pt-pt':'dic-local-PT',
		'gl':'dic-local-GL'
	},
	global_dic_page : {
		'pt-ao':'Project:Dicionário/pt-AO',
		'pt-br':'Project:Dicionário/pt-BR',
		'pt-pt':'Project:Dicionário/pt-PT',
		'gl':'Project:Dicionário/gl'
	},
	help_page : 'Wikipedia:Conversor de idiomas',
	show_changes : true,
	show_menu_title : true,
	selection_mode: 'OR',
	max_seq : 3
}; // Config

// Importa uma cópia local de https://github.com/he7d3r/mw-gadget-LanguageConverter para permitir a conversão de idiomas
mw.loader.load( '//pt.wikipedia.org/w/index.php?title=User:Japf/Scripts/LanguageConverter.js&action=raw&ctype=text/javascript' );

// [[Categoria:!Código-fonte de scripts|LanguageConverter.js]]