Add Portuguese support

Closes #28, #31, #53.