summaryrefslogtreecommitdiff
path: root/src/php-gettext/examples
diff options
context:
space:
mode:
Diffstat (limited to 'src/php-gettext/examples')
-rw-r--r--src/php-gettext/examples/index.php27
-rw-r--r--src/php-gettext/examples/locale/de_CH/LC_MESSAGES/messages.mobin0 -> 585 bytes
-rw-r--r--src/php-gettext/examples/locale/de_CH/LC_MESSAGES/messages.po30
-rw-r--r--src/php-gettext/examples/locale/sr_CS/LC_MESSAGES/messages.mobin0 -> 834 bytes
-rw-r--r--src/php-gettext/examples/locale/sr_CS/LC_MESSAGES/messages.po29
-rw-r--r--src/php-gettext/examples/pigs_dropin.php87
-rw-r--r--src/php-gettext/examples/pigs_fallback.php86
-rw-r--r--src/php-gettext/examples/update14
8 files changed, 273 insertions, 0 deletions
diff --git a/src/php-gettext/examples/index.php b/src/php-gettext/examples/index.php
new file mode 100644
index 0000000..263cd3d
--- /dev/null
+++ b/src/php-gettext/examples/index.php
@@ -0,0 +1,27 @@
+<html>
+<head>
+<title>PHP-gettext examples</title>
+</head>
+<body>
+<h1>PHP-gettext</h1>
+
+<h2>Introduction</h2>
+<p>PHP-gettext provides a simple gettext replacement that works independently from the system's gettext abilities.
+It can read MO files and use them for translating strings.</p>
+<p>This version has the ability to cache all strings and translations to speed up the string lookup.
+While the cache is enabled by default, it can be switched off with the second parameter in the constructor (e.g. when using very large MO files
+that you don't want to keep in memory)</p>
+
+
+<h2>Examples</h2>
+<ul>
+ <li><a href="pigs_dropin.php">PHP-gettext as a dropin replacement</a></li>
+ <li><a href="pigs_fallback.php">PHP-gettext as a fallback solution</a></li>
+</ul>
+
+<hr />
+<p>Copyright (c) 2003-2006 Danilo Segan</p>
+<p>Copyright (c) 2005-2006 Steven Armstrong</p>
+
+</body>
+</html>
diff --git a/src/php-gettext/examples/locale/de_CH/LC_MESSAGES/messages.mo b/src/php-gettext/examples/locale/de_CH/LC_MESSAGES/messages.mo
new file mode 100644
index 0000000..9193037
--- /dev/null
+++ b/src/php-gettext/examples/locale/de_CH/LC_MESSAGES/messages.mo
Binary files differ
diff --git a/src/php-gettext/examples/locale/de_CH/LC_MESSAGES/messages.po b/src/php-gettext/examples/locale/de_CH/LC_MESSAGES/messages.po
new file mode 100644
index 0000000..6e4886b
--- /dev/null
+++ b/src/php-gettext/examples/locale/de_CH/LC_MESSAGES/messages.po
@@ -0,0 +1,30 @@
+# Sample translation for PHP-gettext 1.0
+# Copyright (c) 2003 Danilo Segan <danilo@kvota.net>
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: pigs\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2003-10-23 04:50+0200\n"
+"PO-Revision-Date: 2003-11-01 23:40+0100\n"
+"Last-Translator: Danilo Segan <danilo@kvota.net>\n"
+"Language-Team: Serbian (sr) <danilo@kvota.net>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+#"Plural-Forms: nplurals=2; plural=n != 1;\n"
+
+#: pigs.php:19
+msgid ""
+"This is how the story goes.\n"
+"\n"
+msgstr ""
+"Und so geht die Geschichte.\n"
+"\n"
+
+#: pigs.php:21
+#, php-format
+msgid "%d pig went to the market\n"
+msgid_plural "%d pigs went to the market\n"
+msgstr[0] "%d Schwein ging zum Markt\n"
+msgstr[1] "%d Schweine gingen zum Markt\n"
diff --git a/src/php-gettext/examples/locale/sr_CS/LC_MESSAGES/messages.mo b/src/php-gettext/examples/locale/sr_CS/LC_MESSAGES/messages.mo
new file mode 100644
index 0000000..6ffccfd
--- /dev/null
+++ b/src/php-gettext/examples/locale/sr_CS/LC_MESSAGES/messages.mo
Binary files differ
diff --git a/src/php-gettext/examples/locale/sr_CS/LC_MESSAGES/messages.po b/src/php-gettext/examples/locale/sr_CS/LC_MESSAGES/messages.po
new file mode 100644
index 0000000..7e620cc
--- /dev/null
+++ b/src/php-gettext/examples/locale/sr_CS/LC_MESSAGES/messages.po
@@ -0,0 +1,29 @@
+# Sample translation for PHP-gettext 1.0
+# Copyright (c) 2003,2006 Danilo Segan <danilo@kvota.net>
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: pigs\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2003-10-23 04:50+0200\n"
+"PO-Revision-Date: 2006-02-02 21:06+0100\n"
+"Last-Translator: Danilo Segan <danilo@kvota.net>\n"
+"Language-Team: Serbian (sr) <danilo@kvota.net>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : (n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
+
+#: pigs.php:19
+msgid ""
+"This is how the story goes.\n"
+"\n"
+msgstr "Овако иде прича.\n\n"
+
+#: pigs.php:21
+#, php-format
+msgid "%d pig went to the market\n"
+msgid_plural "%d pigs went to the market\n"
+msgstr[0] "%d мало прасе је отишло на пијац\n"
+msgstr[1] "%d мала прасета су отишла на пијац\n"
+msgstr[2] "%d малих прасића је отишло на пијац\n"
diff --git a/src/php-gettext/examples/pigs_dropin.php b/src/php-gettext/examples/pigs_dropin.php
new file mode 100644
index 0000000..edd2b0d
--- /dev/null
+++ b/src/php-gettext/examples/pigs_dropin.php
@@ -0,0 +1,87 @@
+<?php
+/*
+ Copyright (c) 2003,2004,2005 Danilo Segan <danilo@kvota.net>.
+ Copyright (c) 2005,2006 Steven Armstrong <sa@c-area.ch>
+
+ This file is part of PHP-gettext.
+
+ PHP-gettext is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
+
+ PHP-gettext is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with PHP-gettext; if not, write to the Free Software
+ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+
+*/
+
+// define constants
+define(PROJECT_DIR, realpath('./'));
+define(LOCALE_DIR, PROJECT_DIR .'/locale');
+define(DEFAULT_LOCALE, 'en_US');
+
+require_once('../gettext.inc');
+
+$supported_locales = array('en_US', 'sr_CS', 'de_CH');
+$encoding = 'UTF-8';
+
+$locale = (isset($_GET['lang']))? $_GET['lang'] : DEFAULT_LOCALE;
+
+// gettext setup
+T_setlocale(LC_MESSAGES, $locale);
+// Set the text domain as 'messages'
+$domain = 'messages';
+bindtextdomain($domain, LOCALE_DIR);
+// bind_textdomain_codeset is supported only in PHP 4.2.0+
+if (function_exists('bind_textdomain_codeset'))
+ bind_textdomain_codeset($domain, $encoding);
+textdomain($domain);
+
+header("Content-type: text/html; charset=$encoding");
+?>
+<html>
+<head>
+<title>PHP-gettext dropin example</title>
+</head>
+<body>
+<h1>PHP-gettext as a dropin replacement</h1>
+<p>Example showing how to use PHP-gettext as a dropin replacement for the native gettext library.</p>
+<?php
+print "<p>";
+foreach($supported_locales as $l) {
+ print "[<a href=\"?lang=$l\">$l</a>] ";
+}
+print "</p>\n";
+
+if (!locale_emulation()) {
+ print "<p>locale '$locale' is supported by your system, using native gettext implementation.</p>\n";
+}
+else {
+ print "<p>locale '$locale' is _not_ supported on your system, using the default locale '". DEFAULT_LOCALE ."'.</p>\n";
+}
+?>
+
+<hr />
+
+<?php
+// using PHP-gettext
+print "<pre>";
+print _("This is how the story goes.\n\n");
+for ($number=6; $number>=0; $number--) {
+ print sprintf(T_ngettext("%d pig went to the market\n",
+ "%d pigs went to the market\n", $number),
+ $number );
+}
+print "</pre>\n";
+?>
+
+<hr />
+<p>&laquo; <a href="./">back</a></p>
+</body>
+</html>
diff --git a/src/php-gettext/examples/pigs_fallback.php b/src/php-gettext/examples/pigs_fallback.php
new file mode 100644
index 0000000..b50f752
--- /dev/null
+++ b/src/php-gettext/examples/pigs_fallback.php
@@ -0,0 +1,86 @@
+<?php
+/*
+ Copyright (c) 2003,2004,2005 Danilo Segan <danilo@kvota.net>.
+ Copyright (c) 2005,2006 Steven Armstrong <sa@c-area.ch>
+
+ This file is part of PHP-gettext.
+
+ PHP-gettext is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
+
+ PHP-gettext is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with PHP-gettext; if not, write to the Free Software
+ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+
+*/
+
+// define constants
+define(PROJECT_DIR, realpath('./'));
+define(LOCALE_DIR, PROJECT_DIR .'/locale');
+define(DEFAULT_LOCALE, 'en_US');
+
+require_once('../gettext.inc');
+
+$supported_locales = array('en_US', 'sr_CS', 'de_CH');
+$encoding = 'UTF-8';
+
+$locale = (isset($_GET['lang']))? $_GET['lang'] : DEFAULT_LOCALE;
+
+// gettext setup
+T_setlocale(LC_MESSAGES, $locale);
+// Set the text domain as 'messages'
+$domain = 'messages';
+T_bindtextdomain($domain, LOCALE_DIR);
+T_bind_textdomain_codeset($domain, $encoding);
+T_textdomain($domain);
+
+header("Content-type: text/html; charset=$encoding");
+?>
+<html>
+<head>
+<title>PHP-gettext fallback example</title>
+</head>
+<body>
+<h1>PHP-gettext as a fallback solution</h1>
+<p>Example showing how to use PHP-gettext as a fallback solution if the native gettext library is not available or the system does not support the requested locale.</p>
+
+<?php
+print "<p>";
+foreach($supported_locales as $l) {
+ print "[<a href=\"?lang=$l\">$l</a>] ";
+}
+print "</p>\n";
+
+if (!locale_emulation()) {
+ print "<p>locale '$locale' is supported by your system, using native gettext implementation.</p>\n";
+}
+else {
+ print "<p>locale '$locale' is <strong>not</strong> supported on your system, using custom gettext implementation.</p>\n";
+}
+?>
+
+<hr />
+
+<?php
+// using PHP-gettext
+print "<pre>";
+print T_("This is how the story goes.\n\n");
+for ($number=6; $number>=0; $number--) {
+ print sprintf( T_ngettext("%d pig went to the market\n",
+ "%d pigs went to the market\n", $number),
+ $number );
+}
+print "</pre>\n";
+?>
+
+<hr />
+<p>&laquo; <a href="./">back</a></p>
+</body>
+</html>
diff --git a/src/php-gettext/examples/update b/src/php-gettext/examples/update
new file mode 100644
index 0000000..c8d8b61
--- /dev/null
+++ b/src/php-gettext/examples/update
@@ -0,0 +1,14 @@
+#!/bin/sh
+TEMPLATE=pigs.pot
+xgettext -kT_ngettext:1,2 -kT_ -L PHP -o $TEMPLATE pigs.php
+if [ x$1 == 'x-p' ]; then
+ msgfmt --statistics $TEMPLATE
+else
+ if [ -f $1.po ]; then
+ msgmerge -o .tmp$1.po $1.po $TEMPLATE
+ mv .tmp$1.po $1.po
+ msgfmt --statistics $1.po
+ else
+ echo "Usage: $0 [-p|<basename>]"
+ fi
+fi