Skip to content

Commit 7f5fd06

Browse files
Merge pull request #304 from Pablo1Gustavo/fix/portuguese-plural
Add new irregular and uninflected words to portuguese
2 parents a192b42 + e2c7539 commit 7f5fd06

File tree

3 files changed

+24
-6
lines changed

3 files changed

+24
-6
lines changed

src/Rules/Portuguese/Inflectible.php

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -71,7 +71,7 @@ public static function getIrregular(): iterable
7171
yield new Substitution(new Word('chão'), new Word('chãos'));
7272
yield new Substitution(new Word('charlatão'), new Word('charlatães'));
7373
yield new Substitution(new Word('cidadão'), new Word('cidadãos'));
74-
yield new Substitution(new Word('consul'), new Word('consules'));
74+
yield new Substitution(new Word('cônsul'), new Word('cônsules'));
7575
yield new Substitution(new Word('cristão'), new Word('cristãos'));
7676
yield new Substitution(new Word('difícil'), new Word('difíceis'));
7777
yield new Substitution(new Word('email'), new Word('emails'));
@@ -85,6 +85,7 @@ public static function getIrregular(): iterable
8585
yield new Substitution(new Word('liquens'), new Word('liquen'));
8686
yield new Substitution(new Word('mal'), new Word('males'));
8787
yield new Substitution(new Word('mão'), new Word('mãos'));
88+
yield new Substitution(new Word('mês'), new Word('meses'));
8889
yield new Substitution(new Word('orfão'), new Word('orfãos'));
8990
yield new Substitution(new Word('país'), new Word('países'));
9091
yield new Substitution(new Word('pai'), new Word('pais'));
@@ -94,5 +95,6 @@ public static function getIrregular(): iterable
9495
yield new Substitution(new Word('sacristão'), new Word('sacristães'));
9596
yield new Substitution(new Word('sotão'), new Word('sotãos'));
9697
yield new Substitution(new Word('tabelião'), new Word('tabeliães'));
98+
yield new Substitution(new Word('útil'), new Word('úteis'));
9799
}
98100
}

src/Rules/Portuguese/Uninflected.php

Lines changed: 18 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -23,10 +23,24 @@ public static function getPlural(): iterable
2323
/** @return Pattern[] */
2424
private static function getDefault(): iterable
2525
{
26-
yield new Pattern('tórax');
27-
yield new Pattern('tênis');
28-
yield new Pattern('ônibus');
29-
yield new Pattern('lápis');
26+
yield new Pattern('atlas');
27+
yield new Pattern('bate-papo');
28+
yield new Pattern('cais');
3029
yield new Pattern('fênix');
30+
yield new Pattern('guarda-chuva');
31+
yield new Pattern('guarda-roupa');
32+
yield new Pattern('lápis');
33+
yield new Pattern('oásis');
34+
yield new Pattern('ônibus');
35+
yield new Pattern('ônus');
36+
yield new Pattern('pára-brisa');
37+
yield new Pattern('pára-choque');
38+
yield new Pattern('pires');
39+
yield new Pattern('porta-malas');
40+
yield new Pattern('porta-voz');
41+
yield new Pattern('sem-terra');
42+
yield new Pattern('tênis');
43+
yield new Pattern('tórax');
44+
yield new Pattern('vírus');
3145
}
3246
}

tests/Rules/Portuguese/PortugueseFunctionalTest.php

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -38,10 +38,12 @@ public static function dataSampleWords(): array
3838
['chão', 'chãos'],
3939
['charlatão', 'charlatães'],
4040
['cidadão', 'cidadãos'],
41-
['consul', 'consules'],
41+
['cônsul', 'cônsules'],
4242
['cristão', 'cristãos'],
4343
['difícil', 'difíceis'],
4444
['email', 'emails'],
45+
['mês', 'meses'],
46+
['útil', 'úteis'],
4547
];
4648
}
4749

0 commit comments

Comments
 (0)