public static function trans($arg1, $arg2 = null, $arg3 = null, $arg4 = null, $arg5 = null)
    {
        $i18n = self::getContainer()->get('i18n');
        if (is_object($arg1) && ($arg1 instanceof \DateTime)) {
            if (empty($i18n)) {
                return $arg1->format( !empty($arg2) ? $arg2 : 'Y-m-d H:i:s');
            }
            return \I18n\I18n::getLocalizedDateString($arg1, $arg2, $arg3, $arg4);
        } elseif (is_array($arg1)) {
            if (empty($i18n)) {
                return isset($arg1[$arg2]) ? $arg1[$arg2] : array_shift($arg1);
            }
            return \I18n\I18n::pluralize($arg1, $arg2, $arg3, $arg4);
        } elseif (is_string($arg1)) {
            if ($arg1==='number') {
                if (empty($i18n)) {
                    return $arg2;
                }
                return \I18n\I18n::getLocalizedNumberString($arg2, $arg3);
            } elseif($arg1==='price') {
                if (empty($i18n)) {
                    return $arg2;
                }
                return \I18n\I18n::getLocalizedPriceString($arg2, $arg3);
            } else {
                if (empty($i18n)) {
                    return $arg1;
                }
                return \I18n\I18n::translate($arg1, $arg2, $arg3);
            }
        } else {
            return null;
        }
    }
public static function trans($arg1, $arg2 = null, $arg3 = null, $arg4 = null, $arg5 = null)
    {
        $i18n = self::getContainer()->get('i18n');
        if (is_object($arg1) && ($arg1 instanceof \DateTime)) {
            if (empty($i18n)) {
                return $arg1->format( !empty($arg2) ? $arg2 : 'Y-m-d H:i:s');
            }
            return \I18n\I18n::getLocalizedDateString($arg1, $arg2, $arg3, $arg4);
        } elseif (is_array($arg1)) {
            if (empty($i18n)) {
                return isset($arg1[$arg2]) ? $arg1[$arg2] : array_shift($arg1);
            }
            return \I18n\I18n::pluralize($arg1, $arg2, $arg3, $arg4);
        } elseif (is_string($arg1)) {
            if ($arg1==='number') {
                if (empty($i18n)) {
                    return $arg2;
                }
                return \I18n\I18n::getLocalizedNumberString($arg2, $arg3);
            } elseif($arg1==='price') {
                if (empty($i18n)) {
                    return $arg2;
                }
                return \I18n\I18n::getLocalizedPriceString($arg2, $arg3);
            } else {
                if (empty($i18n)) {
                    return $arg1;
                }
                return \I18n\I18n::translate($arg1, $arg2, $arg3);
            }
        } else {
            return null;
        }
    }
public static function trans ( $ arg1 , $ arg2 = null , $ arg3 = null , $ arg4 = null , $ arg5 = null ) { $ i18n = self :: getContainer ( ) -> get ( 'i18n' ) ; if ( is_object ( $ arg1 ) && ( $ arg1 instanceof \ DateTime ) ) { if ( empty ( $ i18n ) ) { return $ arg1 -> format ( ! empty ( $ arg2 ) ? $ arg2 : 'Y-m-d H:i:s' ) ; } return \ I18n \ I18n :: getLocalizedDateString ( $ arg1 , $ arg2 , $ arg3 , $ arg4 ) ; } elseif ( is_array ( $ arg1 ) ) { if ( empty ( $ i18n ) ) { return isset ( $ arg1 [ $ arg2 ] ) ? $ arg1 [ $ arg2 ] : array_shift ( $ arg1 ) ; } return \ I18n \ I18n :: pluralize ( $ arg1 , $ arg2 , $ arg3 , $ arg4 ) ; } elseif ( is_string ( $ arg1 ) ) { if ( $ arg1 === 'number' ) { if ( empty ( $ i18n ) ) { return $ arg2 ; } return \ I18n \ I18n :: getLocalizedNumberString ( $ arg2 , $ arg3 ) ; } elseif ( $ arg1 === 'price' ) { if ( empty ( $ i18n ) ) { return $ arg2 ; } return \ I18n \ I18n :: getLocalizedPriceString ( $ arg2 , $ arg3 ) ; } else { if ( empty ( $ i18n ) ) { return $ arg1 ; } return \ I18n \ I18n :: translate ( $ arg1 , $ arg2 , $ arg3 ) ; } } else { return null ; } }
Full aliasing of internationalization

- will `datify` if `$arg1` is a `DateTime`:
`\I18n\I18n::getLocalizedDateString( date: $arg1 = DateTime , [mask: $arg2 = null] , [charset: $arg3 = 'UTF-8'] , [lang: $arg4 = null] )`
- will `pluralize` if `$arg1` is an array:
`\I18n\I18n::pluralize( indexes: $arg1 = array , [count: $arg2 = 0] , [args: $arg3 = array] , [lang: $arg4 = null] )`
- will `numberify` if `$arg1`=='number':
`\I18n\I18n::getLocalizedNumberString( number: $arg2 = float , [lang: $arg3 = null] )`
- will `currencify` if `$arg1`=='price':
`\I18n\I18n::getLocalizedPriceString( price: $arg2 = float , [lang: $arg3 = null] )`
- will `translate` if `$arg1` is a string and not 'number' or 'price':
`\I18n\I18n::translate( index: $arg1 = string, [params: $arg2 = array] , [lang: $arg3 = null] )`

@param   string/DateTime     $arg1
@param   string/int          $arg2
@param   array/string        $arg3
@param   string              $arg4
@param   string              $arg5
@return  mixed
@alias   \I18n\I18n::translate($index, $args, $lang)
@alias   \I18n\I18n::pluralize($indexes, $number, $args, $lang)
@alias   \I18n\I18n::getLocalizedDateString($date, $mask, $charset, $lang)
@alias   \I18n\I18n::getLocalizedNumberString($number, $lang)
@alias   \I18n\I18n::getLocalizedPriceString($number, $lang)
Full aliasing of internationalization