====== 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