Okapi Framework とは、ソフトウェアの国際化や文書の翻訳に関する各種の作業を統合的に支援するためのフレームワークであり、データ交換のための規格、ファイル形式の定義、アプリケーション・ソフトウェア実装などからなる。Windows プラットフォームをサポートしている。
Okapi Framework は以下の要素から構成される。
- API
- Okapi Framework 内でのアプリケーションなどによるデータ交換のための API が定義されている。その一部によって高レベルの規格が定義されている。このAPIを使うことで Okapi Framework に新たなモジュールを追加することができる。API にはたとえば、Okapi Framework に実装されているフィルタがすべて入力ファイルの解析に使っているものがあり、これを使えば新しいフィルタを作ることができる。
- データ形式
- 翻訳作業においてデータの保存や他の作業者とのデータ交換を行うために、多くのオープンなデータ形式が定義されている。Okapi Framework はそれらのうち XLIFF、TMX、SRX などをサポートしている。
- コンポーネント
- Okapi Framework には API を利用するための実装として各種のコンポーネントが用意されており、それらの開発は現在も続けられている。低レベルのコンポーネントは、高レベルのものを実装するときや、スクリプトやアプリケーションから利用されるプラグインを実装するときに利用することができる。
- アプリケーション
- Okapi Framework には、単独で使えるアプリケーションも用意されている。これらは内部で Okapi Framework のコンポーネントを利用し、また独自に作成したコンポーネントを追加して利用することもできる。
Okapi Framework のコンポーネントには、二種類ある。
- フィルタ
- 各種のデータ形式を扱うコンポーネント。Windows の RC、Java の .properties、.NET の ResX、CSV などの表形式のファイル、gettext の PO 形式、アドビの Illustrator、INX、XMLなどのファイル形式を扱うことができる。
- ユーティリティ
- テキストの抽出と統合、RTF からプレーンテキストへの変換、文字コードの変換、行末コードの変換、翻訳品質のチェックなどを行うものがある。
- Rainbow
- シンプルなユーザー・インターフェイスで、Okapi Framework のユーティリティを実行するためのアプリケーション。
- Tikal
- DOS プロンプトやバッチファイルで Okapi Framework のユーティリティを実行するためのコマンドラインツール。
- Olifant
- TMX 形式の翻訳メモリデータを操作するためのアプリケーション。
これらはすべて Okapi Framework プロジェクトにおいて開発され、GNU Lesser General Public License にしたがった利用が許諾されている。
2009年4月に.NET版の開発を中止し、Javaによる開発に移行した。[1]