1. Yes this will be made part of the standard calibre, however I have not yet decided exactly how. The plugins will be required to put their .mo files in a 'translations' directory named as fr.mo, de.mo etc.
Regarding automated loading of the plugins' translation files, there are several approaches, one is what you have described, the function to load the translations can become part of calibre, like get_resources()
Another is that calibre loads the translations automatically and makes them available via the global calibre _ object using _.im_self.add_fallback
The con of the first approach is that it requires a little more work in each plugin (an import statement in every .py file)
The con of the second approach is that it wont handle translation collisons very well. If the same string is translated differently in two plugins which one will win, is random.
2. Plugin names should never be translated, action_spec should contain translated strings, those are what is displayed ot the user.
3. One typically uses some kind of UI to update .po files. You can use a web service like launchpad translations or transifex, or you can just have your translators work on the ..po file directly using something like poedit and mail you the results.
4. This is somewhat harder to do and considering the main calibre website and user manual are currently untranslated, not high on my list of priorities.
|