Repeatedly I get questions about how to deploy translations in multi server environments and automated deployments.
This is my take at it for Drupal 7.
For adding translations to code repositories, PO files are handy, and supported by Drupal. You can download them from https://localize.drupal.org/, generate them with POTX module: https://www.drupal.org/project/potx, or even handcode them.
i10n or Localization
Importing can be done using the i10n_update module: https://www.drupal.org/project/l10n_update. Make sure to configure it to use local files only: /admin/config/regional/language/update.
Now you can add .po files to the defined directory, usually at under sites/all/translations/. Please obey the file naming conventions: module name-version.language.po.
To to this you can execute Drush commands or use the GUI.
Updating PO files
Now things get a bit nasty. When updating your already imported PO files when not changing your module version is not being done without tweaks. I also encountered problems with updating PO filenames when changing the version number. This data is all in the "l10n_update_file" table. The trick is to reset the "timestamp" column of PO files to be re-imported.
This is an example query to reset the timestamp of all locally stored PO files:
// Reset all .po entries that are saved locally
'timestamp' => 0,
->condition('uri', 'sites/all/translations/%', 'LIKE')
Put this in a custom module as drush command, in a submit handler via form_alter or whatever you prefer.