The Language Manager provides a centralized interface for adding and removing languages across plugins (including the core module) in a Gallery2 installation. Benefits:
Currently, languages are managed separately for each plugin through the Get More Plugins interface. I propose the following changes:
All available languages, regardless of how complete the translation is, are displayed in a table, similar to plugins. Each language provides certain actions to the administrator. These actions are determined by examining the versions of installed languages of all available plugins and comparing them to the repository. From the language manager's point of view, languages can be in the following states:
1. Not installed
2. Partially installed or outdated
3. Up to date
In addition to managing languages, this subview should also host related options that are currently in other subviews:
We only show the plugin download page when there is a choice of multiple repositories for a specific plugin. This will streamline the plugin installation process and the majority of users who only use the official repository will be able to install plugins with a single click. Downloading a plugin will automatically download all of its language packs that are installed in at least one other plugin (i.e. states 2 and 3 from the previous section).
The translator class needs to be extended such that the language list returned for the end-user is only showing installed (available) languages. This is for the language selection drop-down list for the language block and for the user preferences view.