Okapi Framework

From Wikipedia, the free encyclopedia

The Okapi Framework is a set of interface specifications, format definitions, components and applications that provides an environment to build inter-operable tools for the different steps of the translation and localization process.

Okapi Framework logo

Contents

[edit] Architecture

The Okapi Framework is organized around the following parts:

  • Interface Specifications — The framework's components and applications communicate through several common API sets: the interfaces. A few of them are defined as high-level specifications. Implementing these interfaces allows you to seamlessly plug new components in the overall framework. For example: all filters have the same API to parse input files, so you can write utilities that uses any of the available filters.
  • Format Specifications — Storing and exchanging data is an important part of the localization process. Using open standards for as many formats as possible increases interoperability. Whenever possible the Okapi Framework make use of existing standards such as XLIFF, SRX, TMX, etc.
  • Components — The Okapi Framework also includes a growing set of components that implement the the different interface specifications. Some are basic and low-level parts that can be re-used when programming more high-level components, while others are plug-ins that can be used directly in scripts or applications.
  • Applications — Lastly, the framework also provides end-user applications that can be utilized out-of-the-box. These tools are making use of the Okapi components and provide ready-made platforms for plugging in your own components.

[edit] Components

There are two main types of components:

  • Filters — Several filters components are implemented, including for: Windows RC files, Java properties files, .NET ResX files, Table-type files (e.g. CSV), PO files, Adobe Illustrator, INX files, regular-expression-based formats, as well as XML format (including support of the Internationalization Tag Set).
  • Utilities — Several utilities components are implemented, including: Text extraction and merging, RTF to text conversion, encoding conversion, line-break conversion, quality check, text re-writing, etc.

[edit] Applications

Some of the applications using the framework are:

  • Rainbow — a .NET application that provides a simple user interface to launch any of the Okapi utilities components.
  • Tikal — a .NET command-line tool allowing you to execute any Okapi utilities from the DOS prompt or a batch file.
Okapi Rainbow's main window
Okapi Rainbow's main window

[edit] License

All the material developed under the Okapi Framework project is licensed under the GNU Lesser General Public License agreement.

[edit] External links