summaryrefslogtreecommitdiff
path: root/gettext-tools/examples/hello-c++/hello.cc
diff options
context:
space:
mode:
Diffstat (limited to 'gettext-tools/examples/hello-c++/hello.cc')
-rw-r--r--gettext-tools/examples/hello-c++/hello.cc43
1 files changed, 43 insertions, 0 deletions
diff --git a/gettext-tools/examples/hello-c++/hello.cc b/gettext-tools/examples/hello-c++/hello.cc
new file mode 100644
index 0000000..579490e
--- /dev/null
+++ b/gettext-tools/examples/hello-c++/hello.cc
@@ -0,0 +1,43 @@
+// Example for use of GNU gettext.
+// This file is in the public domain.
+
+// Source code of the C++ program.
+
+
+// Avoid deprecation warnings from g++ 3.1 or newer.
+#if defined __GNUG__ && defined __DEPRECATED
+# include <iostream>
+using namespace std;
+#else
+# include <iostream.h>
+#endif
+
+// Get setlocale() declaration.
+#include <locale.h>
+
+// Get getpid() declaration.
+#if HAVE_UNISTD_H
+# include <unistd.h>
+#endif
+
+// Get gettext(), textdomain(), bindtextdomain() declaration.
+#include "gettext.h"
+// Define shortcut for gettext().
+#define _(string) gettext (string)
+
+// Get autosprintf class declaration.
+#include "autosprintf.h"
+using gnu::autosprintf;
+
+int
+main ()
+{
+ setlocale (LC_ALL, "");
+ textdomain ("hello-c++");
+ bindtextdomain ("hello-c++", LOCALEDIR);
+
+ cout << _("Hello, world!") << endl;
+ cout << autosprintf (_("This program is running as process number %d."),
+ getpid ())
+ << endl;
+}