Perhaps a bit verbose but the foomatic-db option’s human readable namespace refers to all the elements in our options that are meant for the end user. The foomatic-db data sets allow for multiple languages to be present in human readable elements. The issue is that only one xml in our repository uses this feature, the main proprietary Epson driver xml with its english and japanese comments.
Thus for all practical purposes foomatic-db is a mono lingual data set. This leaves downstream responsible for any translation.
Downstream may have an army of translators but they are going to have a hard time if the data set is inconsistent, ambiguous, and verbose. This is thus what I spent my remaining week of GSoC working on.
To do this I used Google Refine and a set of throw away scripts which created a csv with the xml filepath the human readable string.
With a global view of the namespace it became clear that it wasn’t as bad as I thought it would be. All Resolution options were consistently named, as were Page Size options, and others. Some things were simply misspelled or similar’arly spelled. Though in many cases I needed to do some digging to group things. In total I brought the total number of unique option choices from ~830 to ~740 with other uncounted improvements to readability. A brief and incomplete overview of the consolidation:
- Consolidated on Color spelling of Color
- Acronyms were expanded in some cases
- Standardized on ‘Economy Mode’
- Standardized on ‘Print Quality’
- Expanded ‘600 DPI’ and like to ‘600×600 DPI’
- Standardized on ‘Color Mode’
- If I noticed them I would remove redundant terms like ‘setting’*
It wasn’t a major overhaul but hopefully this will result in more complete and helpful translations for end users.
*The user is already being shown a setting dialog. Visually the presence of a toggle or checkbox communicates that something is a setting. Appending ‘setting’ to a setting is thus redundant.