Package translate :: Package storage :: Module catkeys

[hide private]
[frames] | no frames]

# Module catkeys

source code

Manage the Haiku catkeys translation format

The Haiku catkeys format is the translation format used for localisation of the Haiku operating system.

It is a bilingual base class derived format with CatkeysFile and CatkeysUnit providing file and unit level access. The file format is described here: http://www.haiku-os.org/blog/pulkomandy/2009-09-24_haiku_locale_kit_translator_handbook

# Implementation

The implementation covers the full requirements of a catkeys file. The files are simple Tab Separated Value (TSV) files that can be read by Microsoft Excel and other spreadsheet programs. They use the .txt extension which does make it more difficult to automatically identify such files.

The dialect of the TSV files is specified by CatkeysDialect.

## Encoding

The files are UTF-8 encoded.

## Header

CatkeysHeader provides header management support.

## Escaping

catkeys seem to escape things like in C++ (strings are just extracted from the source code unchanged, it seems.

Functions allow for escaping and unescaping.

Classes | [hide private]

| CatkeysDialect Describe the properties of a catkeys generated TAB-delimited file.
| CatkeysHeader A catkeys translation memory header
| CatkeysUnit A catkeys translation memory unit
| CatkeysFile A catkeys translation memory file

Functions | [hide private]

_escape(string) | source code

_unescape(string) | source code

Variables | [hide private]

| FIELDNAMES_HEADER = `["version", "language", "mimetype", "check`...`` Field names for the catkeys header
| FIELDNAMES = `["source", "context", "comment", "target"]` Field names for a catkeys TU
| FIELDNAMES_HEADER_DEFAULTS = `{"version": "1", "language": "", `...`` Default or minimum header entries for a catkeys file
| _unescape_map = `{"\\r": "\r", "\\t": "\t", '\\n': '\n', '\\\\'`...``
| _escape_map = `dict([(value, key) for(key, value) in _unescape_`...``

Imports: csv, sys, data, base

Variables Details | [hide private]

### FIELDNAMES_HEADER

Field names for the catkeys header

Value:

      ["version", "language", "mimetype", "checksum"]

### FIELDNAMES_HEADER_DEFAULTS

Default or minimum header entries for a catkeys file

Value:

      {"version": "1", "language": "", "mimetype": "", "checksum": "",}

### _unescape_map

Value:

      {"\\r": "\r", "\\t": "\t", '\\n': '\n', '\\\\': '\\'}

### _escape_map

Value:

      dict([(value, key) for(key, value) in _unescape_map.items()])