Translations: how-to contribute?

In Pydio, internationalisation (i18n) is part of the core design of the application. Thus, we already provide more than 20 languages, but as many features are added along the years, they are not all up-to-date. If you want to contribute on this, please do the following :

  • First, "fork" the code by registering to Github and create your own "branch" of Pydio to work with. Set up your own working install by cloning your branch on your server, and create a VirtualHost pointing to the pydio-core/core/src/ folder.
  • Each plugin can eventually provide its own i18n files, generally located in res/ or i18n/ . This "i18n libraries" are declared inside the manifest.xml file of the plugin.
  • The language files are all structured as follow
    • Naming : [lang_code].php , where lang_code is the two-letter language code, lowercase. E.g en.php, fr.php, de.php, etc...
    • Content : a PHP array called $mess containing a set of key=>values.
    • The reference is always the en.php file. Thus, any other language file must contain at least the same keys.
    • Usage : except for the core.ajaxplorer library, a plugin library is declared with a namespace, and inside the application, accessing a message will be done using the namespace and the message key. For example, "share_center.1", "meta_watch.23", etc...
  • To add support for new languages inside a plugin, simply duplicate the en.php file using the language code, and replace the values with the correct translations. Make sure to use UTF-8 for the charset.
  • There is a cache for this part. Manually delete the content of data/cache/i18n/*.ser to make sure that the cache is regenerated at next application loaded.
  • Once you are set up, submit your changes as a Pull Request on GitHub. Make sure to submit one PR, not one per file...