The simplest way to translate is to use the translation feature provided by the web client. These translation strings are stored in the database and can later be exported to a .po file, either to be included in an addon module or just to later be imported back manually.
Text fields can have translatable content, meaning that their value will depend on the current user's language. We will also see how to set the language-dependent values on these fields.