MyNixOS website logo
Description

GetText runtime library implementation in pure Haskell.

This package is pure Haskell implementation of GetText library runtime. It allows you to:

  • Load GNU Gettext binary catalog files (`.mo`, `.gmo`).

  • Execute lookups for messages in catalog (gettext and ngettext functions).

Support for plural form selection expressions is fully implemented.

This package is however relatively low-level and may be not very nice to use in applications. So it can be used as a backend for some more user-friendly "translation framework".

This package has the following advantages comparing to hgettext:

  • It is easier to build it on different platforms, since it has no dependency on C code;

  • It does not depend on additional C libraries in runtime;

  • And probably the most important: this library does not use global process-level variables to store "current catalog" (current locale), the catalog should be specified for each call of translation function. So it can be much simpler to use this library for example in web applications.

haskell-gettext README

This package is pure Haskell implementation of GetText library runtime. It allows you to:

  • Load GNU Gettext binary catalog files (.mo, .gmo).
  • Execute lookups for messages in catalog (gettext and ngettext functions).

Support for plural form selection expressions is fully implemented.

This package is however relatively low-level and may be not very nice to use in applications. So it can be used as a backend for some more user-friendly "translation framework".

This package has the following advantages comparing to hgettext:

  • It is easier to build it on different platforms, since it has no dependency on C code;
  • It does not depend on additional C libraries in runtime;
  • And probably the most important: this library does not use global process-level variables to store "current catalog" (current locale), the catalog should be specified for each call of translation function. So it can be much simpler to use this library for example in web applications.
Metadata

Version

0.1.2.0

Executables (1)

  • bin/hgettext

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