# Language file format

## General Information

Since NagVis 1.4 the language format has been changed from xml files to gettext language files. The old xml files were much overhead and consumed a lot of runtime to get parsed.
The main benefit of gettext is much better performance. For details about gettext see the official gettext page.

The language files are stored in the language specific subdirectories of `nagvis/includes/locale` directory.
The english language file is `en_US/LC_MESSAGES/nagvis.mo`.

The files with .po extension are the sources which have to be compiled to .mo files.

By default the following languages are supported in the current NagVis versions:

- english
- german
- french
- spanish
- brazilian portugese

## Build your own...

Your language is not supported by NagVis? No problem! You can easily build your own language file.

If you built a new language file or fixed sth. in existing language files you're welcome to submit the file to us so we can implement it in the next NagVis release or publish it on Nagvis.org.

## Macros

There is support for replacing given strings with some other values.

An example for a macro is the string `[USER]`. This string will be replaced before displaying in NagVis when the language entry supports it.

## Default Macros

Default Macros are sth. like HTML-Tags which don't have to be defined by the user. At the moment the following default macros are supported:

Macro | Replaced by
--- | ---
[i] | <i>
[/i] | </i>
[b] | <b>
[/b] | </b>

## Special Chars

Special chars like ä,ö,ü,",',... have to be set as HTML-entities (e.g. &nbsp;)