packages feed

weatherhs-1.0.0: README.md

# weatherhs

## Description
Command-line tool that retrieves and nicely outputs weather and related data from [Weather API](https://www.weatherapi.com/).

Written in Haskell.

## Dependencies

#### Building & installing
+ stack
+ msgfmt
+ make

#### Running
+ gettext
+ gpgme
+ pcre

## Installation
Use Stack to build and Make to install this project:
Enter the project's root directory and run:

```
stack build weatherhs --ghc-options=-U__MESSAGE_CATALOG_DIR__
make install
```

You'll need to change `__MESSAGE_CATALOG_DIR__` value to point to your locale directory; the default (when undefined externally) is "/usr/share/locale".

You can pass `--ghc-options=-dynamic` to Stack to link with dynamic libraries; note that then you'll need to have those libraries installed to run the program.

Run `make help` for more installation options.

## Uninstallation
Enter the project's root directory and run:

```
make uninstall
```

Make sure that Make variables are set to the values used for the installation.

## Translations
Default language of this program (in effect when `C` or `POSIX` is set as locale) is US English.  
The following translations are available:

| **Language**       | **Translator**                                           | **For versions** |
|--------------------|----------------------------------------------------------|------------------|
| Serbian (Cyrillic) | [Nikola Hadžić](mailto:nikola.hadzic.000@protonmail.com) | 1.0.0            |
| Serbian (Latin)    | [Nikola Hadžić](mailto:nikola.hadzic.000@protonmail.com) | 1.0.0            |

### Translation process
This program is written to be easily translatable into multiple languages, and it achieves that through the use of [`gettext`](https://www.gnu.org/software/gettext/) library.
Translations are located in `po` directory. Files in that directory contain translations, each PO file corresponding to one locale.

To add a new or update existing translation, enter the project's `po` directory and run the following command:

```
make %.po  # Generate/update PO file; "%" should be replaced with a language code.
```

Afterwards, you can edit created/updated PO file (see [`gettext` manual](https://www.gnu.org/software/gettext/manual/gettext.html) for details),
translating the program that way.

You could also run `make messages.pot` to just generate the template file, but this will be done automatically by the previously described rule.

**NOTE:** You need to have hgettext tool, msgcat and sed installed in order to generate the template file.

**NOTE:** Make sure to use hgettext tool with this commit: <https://github.com/NH002/hgettext/commit/a7ba5f7bc2624b91ddbbeeff7846947f56605c45>.

It would also be good to translate the manual page, you will find it in "man" project subdirectory.
In that case also update .cabal file to include new manual page translation.