Pootle
|
Here's a report of trying to document the ups & downs of installing Pootle.
Scenarios
Opportunistic translator
This user just wants to help. She/he doesn't want to get tangled in the administrative tasks. The only possible collaboration available is to suggest translations (which will be reviewed by the language/project? administrator.
- Admin notes
- The permission must be granted. (project / language / permissions - nobody + suggest)
- Each language may have specific or special characters unavailable in the usual keyboards and can be defined in the admin space of the languages of the server.
Assuming Project: olpc Language: spanish
- Heads to pootle site
- Follows the olpc project link
- Enters the spanish language section
- Picks a file (ie: TamTamSynthLab which has fuzzy entries)
- The interface will display a series of PO entries (one will have the focus—if it doesn't, hovering over one will make an 'Edit' link appear) that has an entry field, a fuzzy checkbox and the following action buttons:
- Back — goes back to the previous entry
- Skip — skips to the next entry (default action)
- Copy — copies the 'msgid' value (continues in edit mode)
- Suggest — the actual collaboration
- Fuzzy — denotes that the suggested translation is/is not 100% trustworthy
- Special characters specific to the language (see above for definition)
- grow / shrink — allows growing and shrinking of the entry field
- Translator comments — comments either extracted from the source code, or added by other translators
- The interface will display a series of PO entries (one will have the focus—if it doesn't, hovering over one will make an 'Edit' link appear) that has an entry field, a fuzzy checkbox and the following action buttons:
- The opportunistic translator the navigates the file entering suggestions (to be reviewed by the language/project? admin)
Registered translator
The default user permissions will/should apply to any registered user, which in the out-of-the-box install include: View, Suggest, Archive & Compile PO files
- Admin note
- The archive is a zip file, while the compile is the ability to generate .MO files.
- In the collaborative and low-entry barrier, the language/project? admin should enable the default user to actually translate — projects | olpc | language | permissions +Translate.
- Head towards the pootle site
- Follows the register link where you enter
- Username
- Password
- Confirm password
- Full Name
- Email Address
- After filling the above, hits the [Register Account] button that will send an email to the entered address with the activation code.
- Following the link in the email with the activation code you confirm its activation.
- Activating will complete the activation & take you to the user page.
- Follow the Change options link to define the projects and languages you want to participate (for the moment project:olpc & whichever languages noting that they are multiple select lists) hitting the [Save changes] button to confirm.
- Other options like personal data & translation UI are present.
- Return to your user page following the Home Page link in the Option page where the appropriate links to the selected projects & languages should appear.
- Quick links for each language, and under each language, the projects
- The language link takes you to the statistics page per project
- the project-in-a-language takes you the the statistics page displaying all its files
- Quick links for each language, and under each language, the projects
Afterwards, the process is similar to the #Opportunistic translator with the exception that you have an extra button [Submit] that effectively translates the string.
Reviewer
A user who has been granted the Review permission, may accept or reject the suggestions made by users (who must have the Suggest permission). The way to do this is there another? is to go to a language/project combination (ie: spanish-olpc) and follow the Show Editing Functions. Here you have two alternatives: review the whole set of suggestions in the language-project set, or work on the suggestions present in a specific file (ie: all suggestions or TamTamSynthLab suggestions).
Once in the review UI, the reviewer has four options: Accept, Reject, Back or Skip which are self evident, but nevertheless will mention:
- Accept
- the reviewer translator accepts the suggestion and is registered
- Reject
- the suggested translation is rejected does that mean erased for the user or the file?
- Back
- goes to the previous suggestion assume a previous non-accepted/rejected suggestion
- Skip
- goes to the next available suggestion
In the case where multiple suggestions have been made, each one has its Accept & Reject buttons, while only the last will have the Back & Skip buttons.
Regardless of the multiplicity of suggestions, each suggested string will be diffed with the current string highlighting the changes. It also displays (if available) the name of the user that made the suggestion.
Editing functions
This section of the UI displays on a per-file basis several functionalities that depend on the permissions of the user:
- Translate My Strings
- enter the translate UI limiting the visibility to those strings assigned to the user. explore
- Quick Translate My Strings
- same as above, unknown difference. explore
- Quick Translate
- enter the translate UI over the whole set? explore
- Translate All
- explore
- PO file
- used for off-line translators in order to retrieve the whole .PO file.
- XLIFF file
- used for off-line translators and interfaces to retrieve the whole file in said format. explore
- Qt .ts file
- explore
- CSV file
- explore
Administrator
Language
Project
Site
As an administrator, in your home page you have access to the Admin page which offers: Users, Languages & Projects. There are other general options of yet unknown use and impact
- Users
- is a simple interface allowing the manual addition of users, edition of their names & (invisible) passwords (ie: resetting them) and where you can activate, de-activate and remove an user.
- Languages
- allows the maintenance of the list of available languages (based on the ISO 639 codes, a descriptive text, special characters (used in the translating UI), defining the number of plurals and its equation.
- NOTE: I've removed several (traditional) languages trying to limit the list to the core green languages: am, ar, en, es, fr, ha, hi, ig, ne, pt, ro, ru, rw, th, ur, & yo. Still pending: plural formulas.
- Projects
- this is the initial page where things come together. Besides being able to add/remove project (what are all the other fields? you can follow each project to define the 'enabled languages' for it, and where you can add more languages. how do you remove a language from a project??
- This is where you can also update from templates—POTs. The update from templates functionality is still not understood.
- For example, following the olpc project link you will find the list of languages. Each language (a link) takes you to the user permissions in said project-language combination.
Proving Grounds
We are currently testing in an ad-hoc trial site
- configuration
- olpc project statistics
- (PO files were uploaded from fedora—except spanish, which came from the PO versiona in the wiki)
Language | Translated | Fuzzy | Untranslated | Total | Diff.Spanish | |||
---|---|---|---|---|---|---|---|---|
arabic | 198 | 78% | 7 | 2% | 48 | 18% | 253 | 1425 |
portuguese BR | 174 | 84% | 12 | 5% | 19 | 9% | 205 | 1473 |
french | 144 | 67% | 15 | 7% | 53 | 25% | 212 | 1466 |
portuguese | 12 | 42% | 0 | 0% | 16 | 57% | 28 | 1650 |
spanish | 1336 | 79% | 342 | 20% | 0 | 0% | 1678 |
Observations
- Casual translators may only 'suggest' translation
- You can download the PO, so there's no forcing of the on-line UI.
- In the translation interface, fuzzy entries are grayed out and there's a gray vertical line separating the terms
User permissions
The following is the list of the available permissions handled by Pootle. The actual description is a result of observation and deduction (haven't found a specific documentation on them), so they are to be considered with #, fuzzy tag...
- View
- Allows the browsing of the PO files and their translation (nobody, default)
- Suggest
- Allows to suggest a translation (default—this should be enabled for nobody if we want to make things simpler for the #Opportunistic translator).
- Translate
- Allows to submit a translation. (by default there are no users allowed to translate forcing the administrator to grant this right—bureaucratic and restrictive)
- Overwrite
- When uploading a PO file, it allows the user to overwrite any existing file (iow, no merge of changes). Handle with care.
- Review
- need to explore but in theory, those users that make suggestions may be aproved/rejected by an user with this permission.
- Archive
- need to explore but in theory allows a user to download the whole set of PO files in zip format. Probably those of a language/project.
- Compile PO files
- need to explore but in theory would compile the PO into MO files. It is unknown where those MO files will reside or transfered.
- Assign
- need to explore but would allow to assign files (or chunks of files) to amongst translate-enabled users.
- Administrate
- need to explore. It's granularity is not well defined: administrate everything (seems like it), or just a project? or just a language? or just a language-in-a-project?
- Commit
- need to explore but it seems obvious that this is the final-all-too-sought objective: make a translation available. Again, the granularity is not well defined or understood.
To Do
Usage
- Define goals
- Explore the 'suggest' function & review process
- File maintenance: rename, delete files? How is it done? (ie: uploaded a file with a name that has no POT should not be valid—but I've done it—so if it was a mistake, how do you undo it?)
- Is there any kind of verification when a PO file is uploaded to ensure the up-to-dateness of the original POT on which it is based? (ie: a PO is loaded but the POT on which it is based is a an older version)
Config
- Interface with GIT — both on importing POTs & POs from it & exporting POs back to it.
- Verify the registration via email
Glitches
- Something related to encodings was wrong during the setup
- Alfonso commented several language specs that apparently were iso8859 instead of UTF ??
- Haven't found the way to read / load the .POT files using git
- User permits seem a bit awkward (per user, no groups except for 'nobody' & 'default')