From Okapi Framework
Jump to: navigation, search


What formats are supported?

The framework offers filters for many file formats, including XML, XLIFF, TMX, HTML, DOCX, ODT, Properties, PO, and many more.
For a more complete list of the supported formats, see the "Filters" page.

Note that you can also create your own filter configurations to support some formats. You can also create your own filters and use them seamlessly with the Okapi tools.

How do I extract text for translation?

See the article "How to Extract Text for Translation" in the Knowledge Base.

Does Okapi provide a translation editor?

Not at this time. The Okapi tools allow you to create translation packages in various formats that can be opened in different translation editors such as OmegaT, MemoQ, Trados Workbench, Swordfish, Wordfast, etc.

For translating XLIFF files see: "How to Translate XLIFF Documents".

Does Okapi provide a TM (Translation Memory)?

Yes. There are currently two TM engines implemented in the framework:

  • Pensieve TM is the main TM engine.
  • SimpleTM TM is a limited and older engine that is being progressively phased out.

You can also use third-part TM engines through the the different connectors that the framework provides. For example: the Translate Toolkit TM, GlobalSight TM, the OpenTran Translation Repository, MyMemory, etc. For a complete list and more details see the "Connectors" page.

Does Okapi provide a MT (Machine Translation) system?

Not at this time. But you can use different third-party MT system using one of the connectors distributed with the framework. For example you can work with Google MT, Apertium MT, Microsoft Translator, etc. For a complete list, see the Connectors page.

Why is there several distributions, isn't Java cross-platform?

Yes, Java is cross-platform, and most of the Okapi code runs anywhere Java runs. However, for a better internationalization support and a more seamless integration with each platform, we have selected to use Eclipse SWT (http://www.eclipse.org/swt) as the foundation for the UI of our applications. That library requires a different distribution for each platform and architecture.

Okapi's source code has been carefully designed to separate UI-dependant code and non-UI code, so most of the components (such as the Filters, the Steps and the Connectors) can be used on any platform.

Can I change the Java VM settings when running the tools?

Yes. See How to Change the Java Parameters for Rainbow. You can follow the same steps for all Okapi tools.

Simple Troubleshooting

Is there a Getting Started guide?

Yes. See the "Getting Started" page.

When I try to start Rainbow/Ratel/CheckMate nothing happens. What is wrong?

  • Check that you have the proper version of Java (1.7 or above).
  • Make sure you have installed the correct distribution for your platform.
  • If your machine is 32-bit make sure to have installed the 32-bit distribution.
  • If your machine is 64-bit make sure to have installed the 64-bit distribution.


Under what licence the Okapi Framework is developed?

Can I use Okapi's components in my applications?

Yes. The project uses the LGPL license which allows open-source or commercial products to use our applications and components. See more information on LGPL at http://www.gnu.org/licenses/lgpl.html.


Is there a users group or a support mailing list?

Yes. There are two main mailing lists. Both have public archives, and both require registration to post a message:

How do I report bugs or request enhancement?


What does 'Okapi' mean?

An okapi is an African animal looking somewhat like a cross between a zebra and a giraffe. Okapi is pronounced /oʊˈkɑːpɪ/ (hear it)

The usage of this name for the framework has its roots to much older projects. At some point it was an acronym for "Open Kit API".

What happened to the .NET Okapi?

The older version of the Okapi Framework for .NET is no longer developed. Its distribution and source code is still available here: http://sourceforge.net/projects/okapi/. All new development is now done in the Java branch.

Where is Olifant?

Olifant, the TMX editor, is currently only part of the .NET Okapi. It is still available from the SourceForge project. Note that Olifant is for Windows only.

For developers

Getting set up

  • Check out the source code from Bitbucket using git clone: https://bitbucket.org/okapiframework/okapi
  • Or, if you want to submit pull requests, first create a fork of the Okapi project.
  • Import into your IDE. For example, in Eclipse go to File > Import > Maven > Existing Maven project.

If you want to keep several distinct Okapi repositories in the same Eclipse workspace (for instance, your fork and the main Okapi project), you need to assign a name template under the "Advanced" section in the first step of the import wizard.

Happy coding!

How to build okapi-lib locally

The Okapi Framework consists of Maven projects. However, in order to build the apps and lib projects locally, you need to use the Ant build configurations.

For instance, to create a local version of okapi-lib.jar, go to <OKAPI_HOME>/deployment/maven/ and run ant -f build_okapi-lib.xml init okapiLib. The jar will be generated in <OKAPI_HOME>/deployment/maven/dist_common/lib/.

If you use the default build.xml by running above command without the -f option, platform-specific distributions of the apps will be created plus the platform-indipendent okapi-lib.jar.