# tmserver

tmserver is a Translation Memory service that can be queried via HTTP using a simple REST like URL/http and data is exchanged between server and client encoded in JSON.

Note

If you are searching for an enterprise Translation Memory server then rather use amaGama.

## Usage

    tmserver.py --bind=HOSTNAME --port=PORT [--tmdb=TMDBFILE] [--import-translation-file=TMFILE [--import-source-lang=SOURCE_LANG] [--import-target-lang=TARGET_LANG]]

Where:

TMDBFILE | is the SQLite database file containing translation memory data, if not specified a new temporary database is created
TMFILE | is a translation file (po, xliff, etc.) that should be imported into the database (mostly useful when no tmdb file is specified).

Options:

`-h, --help`

  show this help message and exit

`-d TMDBFILE, --tmdb=TMDBFILE`

  translation memory database file

`-f TMFILES, --import-translation-file=TMFILES`

  translation file to import into the database

`-t TARGET_LANG, --import-target-lang=TARGET_LANG`

  target language of translation files

`-s SOURCE_LANG, --import-source-lang=SOURCE_LANG`

  source language of translation files

`-b BIND, --bind=BIND`

  address to bind server to (default: localhost)

`-p PORT, --port=PORT`

  port to listen on (default: 8888)

`--max-candidates=MAX_CANDIDATES`

  Maximum number of candidates

`--min-similarity=MIN_SIMILARITY`

  minimum similarity

`--max-length=MAX_LENGTH`

  Maxmimum string length

`--debug`

  enable debugging features

## Testing

easiest way to run the server for testing is to pass it a large translation file (maybe generated by pocompendium) to create a tmdb database on the fly.

    tmserver -b localhost -p 8080 -f compendium.po -s en_US -t ar

The server can be queried using a webbrowser. the url would be:

    http://HOST:PORT/tmserver/SOURCE_LANG/TARGET_LANG/unit/STRING

So to see suggestions for “open file” try the url http://localhost:8080/tmserver/en_US/ar/unit/open+file