We are looking for a web interface where the translators of our applications can edit their translations and the users can download them into the application.
Currently, we are having a simple interface where we store INI files with the translations via ftp or web upload and offer them for download again. This system only supports one project and has some other limitations, which we would like to overcome with the new design.
The module must work with Drupal 6 and 7, running (at least) under Linux with Apache. It must follow the Drupal best practises regarding code quality, database abstraction and security. The code needs to be well-commented. The core of Drupal must not be modified.
The front-end must be working and looking well on all common browsers (IE, Firefox, Chrome, Safari). It must be easy to customize to the style of the actual site it will be placed in.
The module adds a subpage to the project module, where the translations for the given project are displayed (it can be enabled or disabled per project).
The user sees a list of translations for the current project. The list shows the name of the language, the date of the last update and the completeness of the translation as absolute and relative value, i.e. 78 % (53 missing) or 9/10 (90%). He can also download the translation from there.
The translator can see the list of translations for the current project (as the user does), but can additionally edit his translations. He can either edit a certain message (i.e. a spelling mistake) or can translate the untranslated strings.
The admin can set up the whole translation system. He sets up the projects, adds the messages to translate and assigns translators. The messages are organized in sections to reflect the applications structure. Messages can be added, deleted and deactivated. Deactivated messages are no longer included in the translator’s or user’s perspective, but will not be physically deleted.
The admin can set assign one of the categories to each translation: official, community, out-dated.
Out-dated translations will be listed separately in the overview; the official translations will be highlighted in the list.
The application can request a list of translations, which is loaded via a GET request from a given URL. The list basically offers the same data as the user’s overview table, but in a machine readable format like XML or CSV. It additionally provides a download URL (without domain name) for each language.
Import / Export
The data will be initially loaded via INI files, so the module will be required to import INI files initially and update a translation based on the file. The translations can be exported or downloaded. Currently, only INI files are required, but the system has to be extendable for other formats. Another way to download is all files as a zip. This is required for packaging the application with all translations.
If there are any questions, please feel free to contact us. Please also have a look at the other projects we have, as they could be addressed in one job. Please note that we have other drupal projects offered here as well.