Skip to content

Commit

Permalink
[pt] Add MELHOR_EDUCADO and MAIS_BEM_MELHORES rules (#9205)
Browse files Browse the repository at this point in the history
  • Loading branch information
p-goulart authored Aug 31, 2023
1 parent 778450d commit 4f1c724
Show file tree
Hide file tree
Showing 8 changed files with 204 additions and 108 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -57,8 +57,9 @@ public PortugueseWikipediaRule(ResourceBundle messages, String path, Language la
setCategory(Categories.WIKIPEDIA.getCategory(messages));
setLocQualityIssueType(ITSIssueType.Grammar);
useSubRuleSpecificIds();
addExamplePair(Example.wrong("<marker>mais também</marker>"),
Example.fixed("<marker>mas também</marker>"));
// gradually making this rule obsolete, we've removed tests and also this example pair
// addExamplePair(Example.wrong("<marker>mais também</marker>"),
// Example.fixed("<marker>mas também</marker>"));
}

@Override
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -82,3 +82,116 @@
<!ENTITY tautonimos "A(?:aptos|canthogyrus|chatina|gagus|gama|lburnus|lces|lle|losa|mandava|mazilia|meiva|nableps|nguilla|nhinga|nostomus|nser|nthias|pus|rcinella|riadne|spredo|stacus|vicularia|xis)|B(?:adis|agarius|agre|alanus|anjos|arbatula|arbus|asiliscus|atasio|elobranchus|elone|elonimorphis|idyanus|ison|ombina|oops|rama|rosme|ubo|ucayana|ufo|uteo|utis)|C(?:alamus|alappa|aleta|allichthys|alotes|apoeta|apreolus|aracal|arassius|ardinalis|arduelis|aretta|asuarius|atla|atostomus|ephea|erastes|haca|halcides|handramara|hanos|haos|hinchilla|hiropotes|hitala|hromis|iconia|idaris|inclus|itellus|lelia|occothraustes|ochlearius|oeligena|olius|olumella|oncholepas|onger|onta|onvoluta|ordylus|oscoroba|ossus|otinga|oturnix|rangon|ressida|rex|ricetus|rocuta|rossoptilon|uraeus|yanicterus|ygnus|ymbium|ynoglossus)|D(?:ama|ario|entex|evario|iuca|ives|olabrifera)|E(?:nhydris|nsifera|nsis|rythrinus|xtra)|F(?:alcipennis|eroculus|icus|ragum|rancolinus|urcula)|G(?:agata|albula|allinago|allus|azella|emma|enetta|erbillus|ibberulus|iraffa|lis|lycimeris|lyphis|obio|oliathus|onorynchus|orilla|rapsus|rus|ryllotalpa|uira|ulo)|H(?:ara|arpa|austellum|emilepidotus|eterophyes|imantopus|ippocampus|ippoglossus|ippopus|istrio|istrionicus|oolock|ucho|uso|yaena|ypnale)|I(?:chthyaetus|cterus|dea|guana|ndicator|ndri)|J(?:acana|aculus|anthina)|K(?:achuga|oilofera)|L(?:actarius|agocephalus|agopus|agurus|ambis|emmus|epadogaster|erwa|euciscus|ima|imanda|imosa|iparis|ithognathus|ithophaga|oa|ota|uscinia|utjanus|utra|utraria|ynx)|M(?:acrophyllum|anacus|argaritifera|armota|artes|ascarinus|ashuna|egacephala|elanodera|eles|elo|elolontha|elongena|enidia|ephitis|ercenaria|eretrix|erluccius|eza|icrostoma|ilvus|itella|itra|itu|odiolus|odulus|ola|olossus|olva|onachus|oniliformis|ops|ustelus|yaka|yospalax|yotis)|N(?:aja|aja|angra|asua|atrix|eita|iviventer|otopterus|ycticorax)|O(?:enanthe|gasawarana|liva|phioscincus|plopomus|reotragus|riolus)|P(?:agrus|angasius|apio|auxi|erdix|eriphylla|erna|etaurista|etronia|hocoena|hoenicurus|hoxinus|hycis|ica|ipa|ipile|ipistrellus|ipra|ithecia|lanorbis|lica|oliocephalus|ollachius|ollicipes|orites|orphyrio|orphyrolaema|orpita|orzana|ristis|seudobagarius|udu|uffinus|ungitius|yrrhocorax|yrrhula)|Q(?:uadrula|uelea)|R(?:ama|anina|apa|asbora|attus|edunca|egulus|emora|etropinna|hinobatos|iparia|ita|upicapra|upicola|utilus)|S(?:accolaimus|alamandra|arda|calpellum|cincus|colytus|ephanoides|erinus|odreana|olea|phyraena|pinachia|pirorbis|pirula|prattus|quatina|taphylaea|uiriri|ula|uta|ynodus)|T(?:adorna|andanus|chagra|elescopium|emnurus|erebellum|etradactylus|etrax|herezopolis|hymallus|ibicen|inca|odus|orpedo|rachurus|rachycorystes|rachyrinchus|ricornis|roglodytes|ropheops|ubifex|yrannus)|U(?:mbraculum|ncia)|V(?:anellus|elella|elutina|icugna|illosa|imba|iviparus|olva|ulpes)|X(?:anthocephalus|anthostigma|enopirostris)|Ypiranga|Z(?:ebrus|era|ingel|ingha|oma|onia|ungaro|ygoneura)">
<!ENTITY alfabeto_grego "[ΑαΝνΒβΞξΓγΟοΔδΠπΕεΡρΖζΣσςΗηΤτΘθΥυΙιΦφΚκΧχΛλΨψΜμΩω]">
<!ENTITY confusao_ha_a_pattern "bertura|abrigo|academias|acordo|acúmulo|admirar|aforismos|agenda|agricultura|água|aí|ainda|ajuda|ajuste|alarme|álbum|alcaide|aldeias|alface|algas|algum|alguma|alguns|ali|alma|almoço|alta|alternativas|alvará|amanuense|amargura|ambulantes|amigos|amor|amplas|animais|ânimo|anos|ao|apenas|apetite|aplausos|apoio|apoios|aposta|aquela|aquelas|aquele|aqueles|aqui|área|aristocracias|arma|arte|artista|árvore|arvoredo|as|aspas|assadura|assim|assistentes|atalhos|ataque|ataques|até|ateus|atmosfera|atraso|atrasos|aulas|automóvel|autor|avanço|azar|azuis|bagatelas|baia|baile|balança|balas|baliza|bálsamo|bananas|banco|bando|banheiros|banhos|banquetes|barco|barracas|base|beijo|bela|beleza|belos|bem|bernarda|bicho|birra|boa|bogas|bom|bombas|bonança|bonde|bons|bonzo|borda|bota|botequim|braço|braços|bruxas|buracos|cá|cabeça|cabotino|cabreiros|caça|cachaça|cachorrinho|cagaço|calçado|cálculo|caldeiradas|calor|cama|camarada|camas|camelos|caminho|caminhos|camisas|campo|cantinho|caos|capas|capitães|capitais|capital|capricho|caprichos|carácter|caramujo|caráter|carne|carro|carros|carta|cartas|cartilha|casa|casas|casca|caso|casos|castelhanos|castelo|castigo|catarse|caudal|causas|cavalo|cavalos|cego|cegonha|centro|cerimônia|certas|certeza|certezas|céu|chá|chama|chamariz|chance|chaves|chefe|chefes|cheiros|cheques|choque|chuva|cinco|cineasta|cinema|cinemas|cipó|ciúmes|claro-escuro|classe|clientela|clima|clube|coadjutor|cobertura|cobra|cobrança|coiros|coisa|coisa-ruim|com|combate|comida|como|companhia|compromisso|comum|confiança|conforto|conselhos|consenso|contestar|contrabandistas|controle|cousa|cova|crase|criados|crianças|criatura|crime|crimes|criminoso|crise|culpado|cultura|cura|dados|data|de|decerto|dentro|denúncias|desar|descanso|desculpa|desculpas|desejar|desemprego|deserto|desgraçado|desleixo|desordem|despedida|dessas|destino|desvios|detalhes|deus|deuses|dever|dez|dia|diabos|diálogo|dias|dieta|diferença|diferenças|dificuldades|diploma|diretor|disfarce|disso|disto|divergências|dívida|dividendos|divina|divinas|do|doce|doçura|doença|doenças|dois|dolo|domingo|dor|dormimos|dormir|dous|doutrina|doutros|drama|droga|duas|duques|dúvida|duvidar|dúvidas|e|é|economia|egoísmo|elefantes|em|embargo|empadas|empates|empatia|empenho|empenhos|emplastro|emprego|encarregados|encontro|energia|enfermidades|engano|enganos|entre|epidemia|epidemias|episódio|época|épocas|equipe|equipes|ermos|erro|erros|erva|escândalo|escapar|escolas|escolha|escravos|esforços|espaço|espaços|espécies|esperança|essa|esse|esses|esta|estatísticas|este|estes|estômago|estratégias|estúdios|estudos|evidências|exagero|exemplo|falar|falta|família|fato|fé|febre|férias|festa|festas|fidalgos|filósofo|fim|fome|força|forças|forma|formas|fórmula|fórmulas|fortuna|fugir|fumo|futuro|garantia|garantias|gonçalinho|gosto|governo|graça|grades|grande|grandes|grupos|hipótese|hoje|homem|homens|honra|ideologias|igual|imagens|impossíveis|indícios|inimigo|interesse|já|jogos|jornais|justiça|lá|lei|leis|liames|limite|limites|linguagem|livro|livros|lixo|lua|lugar|luta|lutas|luz|mágoa|maior|mais|mal|malandro|males|manhãs|mãos|margem|mas|máscara|médico|médicos|medida|medo|meio|meios|melhor|mendigo|menina|mesas|mesmo|método|métodos|milagre|mister|moça|modelo|modelos|moléstia|molhos|morte|motivos|motorista|mudanças|muita|muitas|mulher|música|na|nada|nas|nascentes|negar|negros|nela|nele|neles|nem|nenhum|nenhuma|nenhuns|nessa|nesta|neste|ninguém|nisso|no|noite|nome|nomes|nos|notas|notícias|novidades|novos|números|o|obstáculos|ofensa|olhos|onde|ordem|ou|ouro|outra|outro|outros|paciência|pai|país|palavra|papel|para|partido|partidos|passagem|peixe|penedos|perda|perigo|períodos|perplexidades|perspectivas|perspetivas|pesar|pessoa|pessoal|pessoas|piolhos|pior|pistas|planos|poder|poesia|pois|polícias|política|políticas|por|porém|porque|portugueses|posse|pota|povo|praxe|prazer|prazo|pressa|pressas|princípio|princípios|problema|problemas|prodígio|programa|progresso|protetor|prova|provas|público|quaisquer|qualquer|quase|que|quem|raças|raciocínios|racismo|rapaz|receio|receitas|recuos|recurso|recursos|referências|reforma|refugiados|registo|registro|registros|regra|rei|remédio|remorso|reservas|resposta|respostas|riqueza|risco|riscos|rosas|rua|saída|salas|sangue|segredo|segredos|segunda|seis|sempre|senador|sentido|sentir|sequer|ser|sereia|serviço|simpatia|sinais|sinal|só|sobre|social|sol|som|sono|subsídios|subtilezas|surf|tal|talvez|também|tanta|tarefa|tecnologia|temor|tempo|terapêutica|terra|testemunhas|tipo|todo|tolo|trabalho|tráfico|tragédia|três|trevas|tristeza|tristezas|tropa|um|uma|umas|utopias|vacilar|vacina|vaga|vagas|vaidades|valor|vedetas|ver|verdadeiros|versos|vestígio|véu|vida|vingança|vinho|vislumbrar|vizinhos|volta|voltas|voz">

<!ENTITY compounds_with_bem "acabado|
aceite|
acondicionado|
acondiçoado|
aconselhado|
acostumado|
adaptado|
afamado|
afeiçoado|
afortunar|
agradecido|
ajambrado|
amado|
andante|
apanhado|
aperecido|
apessoado|
apresentado|
arranjado|
arrumado|
aventuradamente|
aventurado|
avisado|
caçado|
casadinho|
casado|
comportado|
composto|
conceituado|
conformado|
convidado|
criado|
curado|
dado|
disposto|
ditoso|
dizente|
dormido|
dotado|
educado|
encarado|
ensinado|
fadado|
falante|
fazente|
humorado|
ido|
intencionado|
lançado|
mandado|
merecido|
nascido|
ordenado|
ouvido|
parado|
parecido|
passado|
pensante|
planejado|
posto|
procedido|
proporcionado|
sabido|
soante|
sonante|
sucedido|
talhado|
temente|
vestido|
vindo|
visto">

<!ENTITY compounds_with_mal "acabado
acondicionado|
aconselhado|
acostumado|
adaptado|
adaptados|
afamado|
afeiçoado|
afortunado|
agoirado|
agourado|
agradecido|
agudo|
ajambrado|
ajeitado|
amado|
amanhado|
andante|
apessoado|
armado|
arranjado|
assado|
assombrado|
aventurado|
avinhado|
avisado|
azado|
educado|
empregado|
encarado|
enganado|
enjorcado|
ensinado|
executado|
habituado|
humoradamente|
humorado|
informado|
intencionado|
limpo">
Original file line number Diff line number Diff line change
Expand Up @@ -169,10 +169,80 @@ Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA.
</phrase>
</phrases>


<category id='GRAMMAR' name="Gramática Geral" type="grammar">
<rulegroup id="PARA_MIM_FAZER" name="Para mim fazer -> para eu fazer" default="temp_off">
<rulegroup id="MELHOR_EDUCADO" name="Melhor educado -> mais bem-educado" default="temp_off">
<rule>
<pattern>
<token regexp="yes">melhor(es)?</token>
<token regexp="yes" min="0" spacebefore="no">&hifen;</token>
<token regexp="yes" inflected="yes" postag="V.P.+|A.+|RG" postag_regexp="yes">&compounds_with_bem;</token>
</pattern>
<message>O superlativo e comparativo de adjetivos compostos se formam com &quot;mais&quot;.</message>
<suggestion>mais bem-\3</suggestion>
<example correction="mais bem-educada">Ela era a menina <marker>melhor educada</marker>.</example>
<example correction="mais bem-dotados">Os <marker>melhor-dotados</marker> da classe.</example>
<example correction="mais bem-acabadas">As casas estão <marker>melhores acabadas</marker> que os jardins.</example>
</rule>

<rule>
<pattern>
<token regexp="yes">pior(es)?</token>
<token regexp="yes" min="0" spacebefore="no">&hifen;</token>
<token regexp="yes" inflected="yes" postag="V.P.+|A.+|RG" postag_regexp="yes">&compounds_with_mal;</token>
</pattern>
<message>O superlativo e comparativo de adjetivos compostos se formam com &quot;mais&quot;.</message>
<suggestion>mais mal-\3</suggestion>
<example correction="mais mal-humorados">Ficaram ainda <marker>pior humorados</marker>.</example>
</rule>
</rulegroup>

<rulegroup id="MAIS_BEM_MELHORES" name="Melhores colocados -> melhor/mais bem colocados" default="temp_off">
<rule>
<pattern>
<token>melhores</token>
<token postag_regexp="yes" postag="V.P..P."/>
</pattern>
<message>Se &quot;\1&quot; estiver formando o comparativo ou superlativo da expressão &quot;bem \2&quot;, trata-se de um advérbio e é, portanto, invariável.</message>
<suggestion>melhor \2</suggestion>
<suggestion>mais bem \2</suggestion>
<example correction="melhor colocados|mais bem colocados">Os <marker>melhores colocados</marker> ganharam um prêmio.</example>
</rule>

<rule> <!-- disambig issues -->
<pattern>
<token>melhores</token>
<token>classificados</token>
</pattern>
<message>Se &quot;\1&quot; estiver formando o comparativo ou superlativo da expressão &quot;bem \2&quot;, trata-se de um advérbio e é, portanto, invariável.</message>
<suggestion>melhor \2</suggestion>
<suggestion>mais bem \2</suggestion>
<example correction="melhor classificados|mais bem classificados">Os <marker>melhores classificados</marker> ganharam um prêmio.</example>
</rule>

<rule>
<pattern>
<token>piores</token>
<token postag_regexp="yes" postag="V.P..P."/>
</pattern>
<message>Se &quot;\1&quot; estiver formando o comparativo ou superlativo da expressão &quot;mal \2&quot;, trata-se de um advérbio e é, portanto, invariável.</message>
<suggestion>pior \2</suggestion>
<suggestion>mais mal \2</suggestion>
<example correction="pior colocados|mais mal colocados">Os <marker>piores colocados</marker> voltaram para Taubaté.</example>
</rule>

<rule> <!-- disambig issues -->
<pattern>
<token>piores</token>
<token>classificados</token>
</pattern>
<message>Se &quot;\1&quot; estiver formando o comparativo ou superlativo da expressão &quot;mal \2&quot;, trata-se de um advérbio e é, portanto, invariável.</message>
<suggestion>pior \2</suggestion>
<suggestion>mais mal \2</suggestion>
<example correction="pior classificados|mais mal classificados">Os <marker>piores classificados</marker> voltaram para Taubaté.</example>
</rule>
</rulegroup>

<rulegroup id="PARA_MIM_FAZER" name="Para mim fazer -> para eu fazer" default="temp_off">
<rule>
<pattern>
<token postag_regexp="yes" postag="SENT_START|_PUNCT"/>
Expand Down Expand Up @@ -12041,6 +12111,19 @@ Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA.
</rule>
</rulegroup>

<rule id="MEIO_DIA_E_MEIO" name="Meio-dia e meio -> meia" default="temp_off">
<pattern>
<token>meio</token>
<token regexp="yes" min="0" spacebefore="no">&hifen;</token>
<token>dia</token>
<token>e</token>
<marker>
<token>meio</token>
</marker>
</pattern>
<message>Nesta expressão, <suggestion>meia</suggestion> é a forma abreviada de &quot;meia hora&quot;, e por isso se deve usar o feminino.</message>
<example correction="meia">Chegamos meio-dia e <marker>meio</marker>.</example>
</rule>

<rulegroup id='CRASE_CONFUSION' name="Erros de crase">
<antipattern>
Expand Down Expand Up @@ -12118,20 +12201,6 @@ Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA.
<token postag_regexp='yes' postag='D.+|PD.+'/>
</antipattern>

<rule id="MEIO_DIA_E_MEIO" name="Meio-dia e meio -> meia" default="temp_off">
<pattern>
<token>meio</token>
<token regexp="yes" min="0" spacebefore="no">&hifen;</token>
<token>dia</token>
<token>e</token>
<marker>
<token>meio</token>
</marker>
</pattern>
<message>Nesta expressão, <suggestion>meia</suggestion> é a forma abreviada de &quot;meia hora&quot;, e por isso se deve usar o feminino.</message>
<example correction="meia">Chegamos meio-dia e <marker>meio</marker>.</example>
</rule>

<!-- Specific expressions that are very likely to just require 'a', so we're adding it here before the masculine check. -->
<rule>
<pattern>
Expand Down
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
ativo valioso=ativo
ativos valioso=ativos
genus numquam perit=o gênero nunca perece
cum granu salis=com ponderação|com parcimônia|com moderação
Original file line number Diff line number Diff line change
Expand Up @@ -6,3 +6,4 @@ efetuámos alterações no=alterámos o
efetuámos alterações nos=alterámos os
voltámos a repetir que=reforçámos que
genus numquam perit=o género nunca perece
cum granu salis=com ponderação|com parcimónia|com moderação
Original file line number Diff line number Diff line change
Expand Up @@ -17,18 +17,7 @@
ao meu ver=a meu ver
as sua=as suas
Castanheira de Pêra=Castanheira de Pera
da seu=dá seu
da seu=do seu
das seus=dos seus
de encontro ao=ao encontro do
dos suas=das suas
# possible exceptions verify
Joana d´Arc=Joana d'Arc
mais também=mas também
melhores classificados=mais bem classificados
melhores colocados=mais bem colocados
# Gender varies in pt-BR and pt-PT
#o síndrome=a síndrome
os seu=os seus
# um síndrome=uma síndrome
# Gender varies in pt-BR and pt-PT
vez enquando=vez em quando
Original file line number Diff line number Diff line change
Expand Up @@ -820,7 +820,6 @@ contra jus=contra o direito
contra legem=contra a lei
corpus delicti=corpo de delito
cuique suum=a cada um o seu
cum granu salis=com ponderação|com parcimónia|com moderação
custas ex lege=custas conforme a lei
custos legis=fiscal da lei
da mihi factum dabo tibi jus=dá-me os fatos|dar-lhe-ei o direito
Expand Down
Loading

0 comments on commit 4f1c724

Please sign in to comment.