diff options
Diffstat (limited to 'src/php-gettext/examples')
-rw-r--r-- | src/php-gettext/examples/index.php | 27 | ||||
-rw-r--r-- | src/php-gettext/examples/locale/de_CH/LC_MESSAGES/messages.mo | bin | 0 -> 585 bytes | |||
-rw-r--r-- | src/php-gettext/examples/locale/de_CH/LC_MESSAGES/messages.po | 30 | ||||
-rw-r--r-- | src/php-gettext/examples/locale/sr_CS/LC_MESSAGES/messages.mo | bin | 0 -> 834 bytes | |||
-rw-r--r-- | src/php-gettext/examples/locale/sr_CS/LC_MESSAGES/messages.po | 29 | ||||
-rw-r--r-- | src/php-gettext/examples/pigs_dropin.php | 87 | ||||
-rw-r--r-- | src/php-gettext/examples/pigs_fallback.php | 86 | ||||
-rw-r--r-- | src/php-gettext/examples/update | 14 |
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 Binary files differnew file mode 100644 index 0000000..9193037 --- /dev/null +++ b/src/php-gettext/examples/locale/de_CH/LC_MESSAGES/messages.mo 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 Binary files differnew file mode 100644 index 0000000..6ffccfd --- /dev/null +++ b/src/php-gettext/examples/locale/sr_CS/LC_MESSAGES/messages.mo 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>« <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>« <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 |