The second part of getting module translations visible on the the agent is to actually download the locale files along with the other module data. This involves the following steps:
- Add a new Downloader to the DownloaderFactory for downloading locale files. This downloader should put the files into a directory structure like $vardir/locales/<locale>/<module_name>.po. For the time being, we should sync all of the available locales, not just the one detected on the system. This can be optimized later if needed.
- Add the relevant settings for the new downloader (e.g. localedest and localesource) to the settings defaults.
- Add tests for the new Downloader to the downloader factory specs.
- Update the tests in the plugin handler specs to exercise the locale downloader.
Other pieces may fall out of this, and other tests may need to be updated, but this is a good start. Note that this will not cause any module translations to actually be displayed; this ticket's other subtask describes the work needed to load the translation files from $vardir once they are present.