Translating & Localizing - Teknomancer/beezer GitHub Wiki

Building a locale aware Beezer

This feature is opt-in at the moment and must be enabled with

cmake -DHAIKU_ENABLE_I18N=ON .

or by enabling the option in one of the cmake frontend tools(ccmake or cmake-gui).

This adds 4 new top-level build targets whose names match the targets provided by the Haiku makefile-engine(catkeys,catalogs,bindcatalogs,catalogsinstall).

make catkeys:

This regenerates the main locales/en.catkeys files from which all other language catkeys are derived. It should be run whenever any B_TRANSLATE* macros are changed in the source code. The generated en.catkeys files can be committed.

make catalogs:

Compiles any locales/*.catkeys files into binary catalog files if they've been enabled in the Beezer/CMakeLists.txt file. The resulting catalog files will be placed so that they are found and can be used for testing new translations when running Beezer from the build directory.

make bindcatalogs:

Compiles the catkeys for any enabled locales and embeds them as resources into the Beezer executable.

make catalogsinstall:

Install the compiled binary catalog files into the proper system directory. This is not included in the main 'make install' target and must be run separately.


Adding and editing languages

  • ToDo Link to or document editing catkeys files manually
  • ToDo Set up and link to a Beezer project at the Haiku Polyglot translation site