MyNixOS website logo
Description

Weather and related data info command-line tool.

Command-line tool that retrieves and nicely outputs weather and related data from Weather API, in the table form.

weatherhs

Description

Command-line tool that retrieves and nicely outputs weather and related data from Weather API.

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:

LanguageTranslatorFor versions
Serbian (Cyrillic)Nikola Hadžić1.0.0
Serbian (Latin)Nikola Hadžić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 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 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.

Metadata

Version

1.0.0

Platforms (75)

    Darwin
    FreeBSD
    Genode
    GHCJS
    Linux
    MMIXware
    NetBSD
    none
    OpenBSD
    Redox
    Solaris
    WASI
    Windows
Show all
  • aarch64-darwin
  • aarch64-genode
  • aarch64-linux
  • aarch64-netbsd
  • aarch64-none
  • aarch64_be-none
  • arm-none
  • armv5tel-linux
  • armv6l-linux
  • armv6l-netbsd
  • armv6l-none
  • armv7a-darwin
  • armv7a-linux
  • armv7a-netbsd
  • armv7l-linux
  • armv7l-netbsd
  • avr-none
  • i686-cygwin
  • i686-darwin
  • i686-freebsd
  • i686-genode
  • i686-linux
  • i686-netbsd
  • i686-none
  • i686-openbsd
  • i686-windows
  • javascript-ghcjs
  • loongarch64-linux
  • m68k-linux
  • m68k-netbsd
  • m68k-none
  • microblaze-linux
  • microblaze-none
  • microblazeel-linux
  • microblazeel-none
  • mips-linux
  • mips-none
  • mips64-linux
  • mips64-none
  • mips64el-linux
  • mipsel-linux
  • mipsel-netbsd
  • mmix-mmixware
  • msp430-none
  • or1k-none
  • powerpc-netbsd
  • powerpc-none
  • powerpc64-linux
  • powerpc64le-linux
  • powerpcle-none
  • riscv32-linux
  • riscv32-netbsd
  • riscv32-none
  • riscv64-linux
  • riscv64-netbsd
  • riscv64-none
  • rx-none
  • s390-linux
  • s390-none
  • s390x-linux
  • s390x-none
  • vc4-none
  • wasm32-wasi
  • wasm64-wasi
  • x86_64-cygwin
  • x86_64-darwin
  • x86_64-freebsd
  • x86_64-genode
  • x86_64-linux
  • x86_64-netbsd
  • x86_64-none
  • x86_64-openbsd
  • x86_64-redox
  • x86_64-solaris
  • x86_64-windows