The Okapi Framework
A little word on a new initiative announced at the GALA meeting at Seattle last week: ENLASO has released a first set of implementations of components and tools in the Okapi Framework. You can download them freely as they are open-source software. There are a few screen shots available. In short, the Okapi Framework is a set of interface specifications, format definitions, components and applications that provides an environment to build interoperable tools for the different steps of the translation and localization process. The idea driving Okapi is that during the course of a localization project, one need often to write small utilities that perform specific tasks. Developing such little programs within an organized framework can make a big difference after a while since you can start re-using a lot of the components you have already made. Doing this within an open-source project makes also sense because you can re-use components other peoples have made. The core of the framework is a set of object interface definitions that allow the components to communicate. For example: the Filter interface, the FilterItem interface, and the UtilitySet interface. The first set of components include few things but provides a foundation upon which new components are being build:
- There is a filter for PO file and a utility set that provides three functions: Text extraction (in RTF, XLIFF, TMX, and table format), Text merging (for extracted XLIFF), and Text rewriting.
- There is also Tikal. It's a simple command-line tool that run launch any utility, and do various things like editing utility options and filter parameters files.
- And finally there is Olifant (early Alpha version). That is a program to manage TMs. More on it later.
The next release of the components is coming soon. It will include a Properties file filter, an Encoding Conversion, and a Line-Break Conversion utility, as well as some enhancements to the existing utilities. So, next time you need to write a little program for a localization tasks, try to see if the Okapi Framework can help you out.