]> git.mxchange.org Git - friendica.git/blobdiff - src/Core/L10n.php
Warnings fixed
[friendica.git] / src / Core / L10n.php
index 88697a2a2c2391283808875d9a42328ea55fc786..24be0109554b2e4ba0a02e98502ffbddc4a83e2a 100644 (file)
@@ -115,12 +115,12 @@ class L10n
                while ($p = dba::fetch($addons)) {
                        $name = $p['name'];
                        if (file_exists("addon/$name/lang/$lang/strings.php")) {
-                               include("addon/$name/lang/$lang/strings.php");
+                               include "addon/$name/lang/$lang/strings.php";
                        }
                }
 
                if (file_exists("view/lang/$lang/strings.php")) {
-                       include("view/lang/$lang/strings.php");
+                       include "view/lang/$lang/strings.php";
                }
        }
 
@@ -132,24 +132,29 @@ class L10n
         * string interpolation (sprintf) with additional optional arguments.
         *
         * Usages:
-        * - t('This is an example')
-        * - t('URL %s returned no result', $url)
-        * - t('Current version: %s, new version: %s', $current_version, $new_version)
+        * - L10n::t('This is an example')
+        * - L10n::t('URL %s returned no result', $url)
+        * - L10n::t('Current version: %s, new version: %s', $current_version, $new_version)
         *
         * @param string $s
+        * @param array  $vars Variables to interpolate in the translation string
         * @return string
         */
-       public static function t($s)
+       public static function t($s, ...$vars)
        {
                $a = get_app();
 
+               if (empty($s)) {
+                       return '';
+               }
+
                if (x($a->strings, $s)) {
                        $t = $a->strings[$s];
                        $s = is_array($t) ? $t[0] : $t;
                }
-               if (func_num_args() > 1) {
-                       $args = array_slice(func_get_args(), 1);
-                       $s = @vsprintf($s, $args);
+
+               if (count($vars) > 0) {
+                       $s = sprintf($s, ...$vars);
                }
 
                return $s;
@@ -165,8 +170,8 @@ class L10n
         * is performed using the count as parameter.
         *
         * Usages:
-        * - tt('Like', 'Likes', $count)
-        * - tt("%s user deleted", "%s users deleted", count($users))
+        * - L10n::tt('Like', 'Likes', $count)
+        * - L10n::tt("%s user deleted", "%s users deleted", count($users))
         *
         * @global type $lang
         * @param string $singular
@@ -184,9 +189,10 @@ class L10n
                        if (is_array($t)) {
                                $plural_function = 'string_plural_select_' . str_replace('-', '_', $lang);
                                if (function_exists($plural_function)) {
-                                       $plural_function = 'self::stringPluralSelectDefault';
+                                       $i = $plural_function($count);
+                               } else {
+                                       $i = self::stringPluralSelectDefault($count);
                                }
-                               $i = $plural_function($count);
                                $s = $t[$i];
                        } else {
                                $s = $t;