Providing a vocabulary in a custom module
You should make use of the taxonomy module's functions such as taxonomy_save_vocabulary() and taxonomy_save_term() (Drupal 6), or taxonomy_vocabulary_save() and taxonomy_term_save() (Drupal 7) to populate your custom vocabulary. Creating fields should be accomplished via the Field API. There really should be no need to directly interact with the database.

Term translation is not supported out of the box in Drupal 7, but I do believe that the internationalization module provides a module that has cobbles together support for it.