Proposal for the Use of Transifex

Based on the capabilities and flaws of Transifex the following approach seems best suited:

Translations for GetSimple

Setup:

  • Create a project getsimple
    • license = other open source
    • source language = en_US
    • maintainers = GetSimple developers/moderators and main plugin developers
    • tags: opensource, getsimple
  • Goto Manage/Access Control and set
    • project type = project hub
    • access control = limited access (teams)
  • Add a resource lang and upload the english language file
  • Create additional languages for the available languages and upload the files
  • Always create the no-country language, too, e.g. en

Management:

  • translators are added on request for their language (and the respective language without country code)
  • developers download files for releases

Translations for Plugins

Setup:

  • (the plugin developer registers himself with Transifex)
  • create a project with name getsimple_plugin_name, e.g. getsimple_i18n_gallery for the I18N Gallery plugin, which uses a plugin file named i18n_gallery
    • license = (either license)
    • source language = (any english variant)
    • maintainer = (plugin developer)
    • tags: opensource, getsimple, …
  • Goto Manage/Access Control and set
    • project type = outsourced project
    • outsource access to = getsimple
  • Add a resource lang and upload the english language file
  • Add new translations by uploading existing language files

Management:

  • no user management needed - any translator registered with the GetSimple project can translate any plugin (to the language(s) he is registered for)
  • developer downloads files for plugin releases or
  • uses a enhanced Translate plugin: download language files, compare them with current state, save them, test them, update them and upload them to Transifex

Advantages/Disadvantages of this Setup

Advantages

  • Management of translation team centralized - a german translator can translate any plugin
  • consistent tagging - translator can search for tag getsimple and easily translate all available plugins - this could greatly improve language availability
  • consistent naming of projects allows automated access
  • because of this an enhanced Translate plugin can simplify Testing of translations
  • for users registered with Transifex: it's easy to find all available translations of a plugin and download one

Disadvantages

  • if language files are only stored on Transifex (until they are included in the plugin), a user needs to register with Transifex to download them

Problems:

  • Transifex does not show the technical key for the translation, although this can convey important information: e.g. if you have 2 items TAB_XXX and TITLE_XXX which are the same in english, but should be different in another language because the translation is rather long and thus should be shortened for the tab.
  • When downloading, Transifex replaces non-translated items with the source language text - the Translate plugin uses a hack to recognize this