Warning, /sdk/pology/www/base/i18n.inc is written in an unsupported language. File is not indexed.
0001 <?php 0002 0003 $fallback_lang = "en_US"; 0004 0005 function _subs_args ($text, $args) 0006 { 0007 if ($args) { 0008 array_unshift($args, $text); 0009 return call_user_func_array("sprintf", $args); 0010 } else { 0011 return $text; 0012 } 0013 // NOTE: Text is not pulled through sprintf in case of zero arguments, 0014 // for the following reason. If the original text did not contain 0015 // any formatting directives, its message in the PO file will not be given 0016 // the php-format flag; if the translator then uses % in translation, 0017 // and the text is pulled through sprintf, kaboom. 0018 } 0019 0020 // Dummy translation calls, for the moment. 0021 0022 // varargs: msgid, ... 0023 function vt_ () 0024 { 0025 $args = func_get_args(); 0026 $msgid = array_shift($args); 0027 $msgstr = $msgid; // dummy 0028 return _subs_args($msgstr, $args); 0029 } 0030 0031 // varargs: msgctxt, msgid, ... 0032 function vpt_ () 0033 { 0034 $args = func_get_args(); 0035 $msgctxt = array_shift($args); 0036 $msgid = array_shift($args); 0037 $msgstr = $msgid; // dummy 0038 return _subs_args($msgstr, $args); 0039 } 0040 0041 // varargs: msgid, msgid_plural, n, ... 0042 function vnt_ () 0043 { 0044 $args = func_get_args(); 0045 $msgid = array_shift($args); 0046 $msgid_plural = array_shift($args); 0047 $n = array_shift($args); 0048 $msgstr = $n == 1 ? $msgid : $msgid_plural; // dummy 0049 return _subs_args($msgstr, $args); 0050 } 0051 0052 // varargs: msgctxt, msgid, msgid_plural, n, ... 0053 function vpnt_ () 0054 { 0055 $args = func_get_args(); 0056 $msgctxt = array_shift($args); 0057 $msgid = array_shift($args); 0058 $msgid_plural = array_shift($args); 0059 $n = array_shift($args); 0060 $msgstr = $n == 1 ? $msgid : $msgid_plural; // dummy 0061 return _subs_args($msgstr, $args); 0062 } 0063 0064 // varargs: msgid, ... 0065 function t_ () 0066 { 0067 echo call_user_func_array("vt_", func_get_args()) . "\n"; 0068 } 0069 0070 // varargs: msgctxt, msgid, ... 0071 function pt_ () 0072 { 0073 echo call_user_func_array("vpt_", func_get_args()) . "\n"; 0074 } 0075 0076 // varargs: msgid, msgid_plural, n, ... 0077 function nt_ () 0078 { 0079 echo call_user_func_array("vnt_", func_get_args()) . "\n"; 0080 } 0081 0082 // varargs: msgctxt, msgid, msgid_plural, n, ... 0083 function pnt_ () 0084 { 0085 echo call_user_func_array("vpnt_", func_get_args()) . "\n"; 0086 } 0087 0088 // Return path for given language if it exists, 0089 // otherwise return path for fallback language. 0090 // $pathbase should contain one %s printf-directive, 0091 // which is replaced by the language code to construct the final path. 0092 function path_for_lang ($pathbase, $lang) 0093 { 0094 $path = sprintf($pathbase, $lang); 0095 if (!file_exists($path)) { 0096 global $fallback_lang; 0097 $path = sprintf($pathbase, $fallback_lang); 0098 } 0099 return $path; 0100 } 0101 0102 // Some global translation pieces. 0103 $listsep = vpt_("separator when listing items in text", ", "); 0104 0105 ?>