mirror of
https://https.git.savannah.gnu.org/git/gettext.git
synced 2026-01-26 15:39:11 +00:00
* gettext-runtime/po/*.po: Update from TP. * gettext-tools/po/*.po: Update from TP. * gettext-tools/examples/po/*.po: Update from TP.
This directory contains simple examples of the use of GNU gettext.
Each example is a simple "hello world" program with a very small message
catalog, written in a particular programming language for a particular
environment.
Example Language GUI Environment
hello-c C
hello-c-gnome2 C GNOME 2 (obsolete)
hello-c-gnome3 C GNOME 3.10 or later
hello-c-http C web browser
hello-c++ C++
hello-c++20 C++ 20
hello-c++-qt C++ Qt
hello-c++-kde C++ KDE
hello-c++-gnome2 C++ GNOME 2 (obsolete)
hello-c++-gnome3 C++ GNOME 3.10 or later
hello-c++-wxwidgets C++ wxWidgets
hello-objc ObjectiveC
hello-objc-gnustep ObjectiveC GNUstep
hello-objc-gnome2 ObjectiveC GNOME 2 (obsolete)
hello-python Python
hello-java Java
hello-java-awt Java AWT
hello-java-swing Java Swing
hello-java-qtjambi Java Qt
hello-csharp C#
hello-csharp-forms C# Forms
hello-guile Scheme
hello-clisp Lisp
hello-librep librep
hello-rust Rust
hello-go Go
hello-go-http Go web browser
hello-ruby Ruby
hello-sh Shell
hello-gawk awk
hello-pascal Pascal
hello-modula2 Modula-2
hello-d D
hello-ocaml OCaml
hello-smalltalk Smalltalk
hello-tcl Tcl
hello-tcl-tk Tcl Tk
hello-perl Perl
hello-php PHP
hello-ycp YCP libyui
Before building an example, you need to
1. Build and install the GNU gettext package, as described in the INSTALL
file.
2. cd to the example and do
./autogen.sh
3. Then you can build the example as usual:
./configure --prefix=/some/prefix
make
make install
and see it work by executing
/some/prefix/bin/hello
The po/ directories of the examples use different binary catalog formats and
Makefile types:
Example Binary catalog format Makefile type
hello-c .gmo Makefile.in.in
hello-c-gnome2 .gmo Makefile.in.in
hello-c-gnome3 .gmo Makefile.in.in
hello-c-http .gmo Makefile.in.in
hello-c++ .gmo Makefile.in.in
hello-c++20 .gmo Makefile.in.in
hello-c++-kde .gmo Makefile.in.in
hello-c++-gnome2 .gmo Makefile.in.in
hello-c++-gnome3 .gmo Makefile.in.in
hello-objc .gmo Makefile.in.in
hello-objc-gnome2 .gmo Makefile.in.in
hello-c++-wxwidgets .gmo Makefile.am
hello-python .gmo Makefile.am
hello-guile .gmo Makefile.am
hello-clisp .gmo Makefile.am
hello-librep .gmo Makefile.am
hello-rust .gmo Makefile.am
hello-go .gmo Makefile.am
hello-go-http .gmo Makefile.am
hello-ruby .gmo Makefile.am
hello-sh .gmo Makefile.am
hello-gawk .gmo Makefile.am
hello-pascal .gmo Makefile.am
hello-modula2 .gmo Makefile.am
hello-d .gmo Makefile.am
hello-ocaml .gmo Makefile.am
hello-smalltalk .gmo Makefile.am
hello-perl .gmo Makefile.am
hello-php .gmo Makefile.am
hello-ycp .gmo Makefile.am
hello-java .properties Makefile.am
hello-java-awt .properties Makefile.am
hello-java-swing .properties Makefile.am
hello-java-qtjambi .properties Makefile.am
hello-csharp .resources.dll Makefile.am
hello-csharp-forms .resources.dll Makefile.am
hello-tcl .msg Makefile.am
hello-tcl-tk .msg Makefile.am
hello-c++-qt .qm Makefile.am
hello-objc-gnustep .strings GNUmakefile
The Makefiles in the po/ directories make use of the variable assignment
operator != standardized by POSIX:2024
<https://pubs.opengroup.org/onlinepubs/9799919799/utilities/make.html>.
They thus require a 'make' implementation that supports this operator !=.
As of 2024, these are: GNU make >= 4.0, FreeBSD make, NetBSD make,
OpenBSD make. This means that building on specific platforms requires
use of GNU make:
- On macOS, use /opt/homebrew/bin/gmake.
- On Solaris 11 OpenIndiana, use /usr/bin/gmake = /usr/gnu/bin/make.
- On Solaris 11.4, install GNU make yourself.
- On AIX, use /opt/freeware/bin/make.