aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--boot.php27
-rw-r--r--include/pgettext.php46
2 files changed, 51 insertions, 22 deletions
diff --git a/boot.php b/boot.php
index 4c3a923dc..19c6d8878 100644
--- a/boot.php
+++ b/boot.php
@@ -159,6 +159,11 @@ if (get_magic_quotes_gpc()) {
unset($process);
}
+/*
+ * translation system
+ */
+require_once("include/pgettext.php");
+
/**
*
@@ -601,28 +606,6 @@ function replace_macros($s,$r) {
}}
-// load string translation table for alternate language
-
-if(! function_exists('load_translation_table')) {
-function load_translation_table($lang) {
- global $a;
-
- if(file_exists("view/$lang/strings.php"))
- include("view/$lang/strings.php");
-}}
-
-// translate string if translation exists
-
-if(! function_exists('t')) {
-function t($s) {
-
- $a = get_app();
-
- if(x($a->strings,$s))
- return $a->strings[$s];
- return $s;
-}}
-
// curl wrapper. If binary flag is true, return binary
// results.
diff --git a/include/pgettext.php b/include/pgettext.php
new file mode 100644
index 000000000..2ffee70bc
--- /dev/null
+++ b/include/pgettext.php
@@ -0,0 +1,46 @@
+<?php
+/**
+ * translation support
+ */
+
+// load string translation table for alternate language
+
+if(! function_exists('load_translation_table')) {
+function load_translation_table($lang) {
+ global $a;
+
+ if(file_exists("view/$lang/strings.php"))
+ include("view/$lang/strings.php");
+}}
+
+// translate string if translation exists
+
+if(! function_exists('t')) {
+function t($s) {
+
+ $a = get_app();
+
+ if(x($a->strings,$s)) {
+ $t = $a->strings[$s];
+ return is_array($t)?$t[0]:$t;
+ }
+ return $s;
+}}
+
+if(! function_exists('tt')){
+function tt($singular, $plural, $count){
+
+ $a = get_app();
+
+ if(x($a->strings,$singular)) {
+ $t = $a->strings[$singular];
+ $k = string_plural_select($count);
+ return is_array($t)?$t[$k]:$t;
+ }
+
+ if ($count!=1){
+ return $plural;
+ } else {
+ return $singular;
+ }
+}} \ No newline at end of file