diff options
author | elij <elij.mx@gmail.com> | 2011-05-29 14:33:37 -0700 |
---|---|---|
committer | Lukas Fleischer <archlinux@cryptocrack.de> | 2011-06-22 15:15:04 +0200 |
commit | 888db089c515270fd5cd9a9bedd217110f43bc4c (patch) | |
tree | e31d78b517c5b849a91c56883dcff179fd3c3164 /web/lib/translator.inc.php | |
parent | 023d2a2521306be2c68f7cf1514bfc50bb250c04 (diff) | |
download | aurweb-888db089c515270fd5cd9a9bedd217110f43bc4c.tar.xz |
rename *.inc files to *.inc.php and adjust imports and references
Lukas: Add note to "UPGRADING".
Signed-off-by: Lukas Fleischer <archlinux@cryptocrack.de>
Diffstat (limited to 'web/lib/translator.inc.php')
-rw-r--r-- | web/lib/translator.inc.php | 50 |
1 files changed, 50 insertions, 0 deletions
diff --git a/web/lib/translator.inc.php b/web/lib/translator.inc.php new file mode 100644 index 0000000..44c87bd --- /dev/null +++ b/web/lib/translator.inc.php @@ -0,0 +1,50 @@ +<?php +set_include_path(get_include_path() . PATH_SEPARATOR . '../lib' . PATH_SEPARATOR . '../lang'); + +# This file provides support for i18n + +# usage: +# use the __() function for returning translated strings of +# text. The string can contain escape codes %h for HTML +# and %s for regular text. +# +# examples: +# print __("%s has %s apples.", "Bill", "5"); +# print __("This is a %hmajor%h problem!", "<b>", "</b>"); + +include_once('config.inc.php'); +include_once('gettext.php'); +include_once('streams.php'); + +global $streamer, $l10n; + +function __() { + global $LANG; + global $l10n; + + # Create the translation. + $args = func_get_args(); + + # First argument is always string to be translated + $tag = $args[0]; + + # Translate using gettext_reader initialized before. + $translated = $l10n->translate($tag); + $translated = htmlspecialchars($translated, ENT_QUOTES); + + $num_args = sizeof($args); + + # Subsequent arguments are strings to be formatted + # + # TODO: make this more robust. + # '%%' should translate to a literal '%' + + if ( $num_args > 1 ) { + for ($i = 1; $i < $num_args; $i++) { + $translated = preg_replace("/\%[sh]/", $args[$i], $translated, 1); + } + } + + return $translated; +} + |