Add Portuguese support

Closes #28
Closes #31
Closes #53