Prev |  | Next

### method `translate( `$key`)`

The last and most important method to implement, it asks your service to translate the specified key for the currently selected language.

                <?php
    class MyTranslator implements PhpTal\TranslationService {
        …
        public function translate($key){
            $value = $this->_currentDomain[$key];

            // interpolate ${myvar} using context associative array
            while (preg_match('/\${(.*?)\}/sm', $value, $m)){
                list($src,$var) = $m;
                if (!array_key_exists($var, $this->_context)){
                    $err = sprintf('Interpolation error, var "%s" not set',
                                   $var);
                    throw new Exception($err);
                }
                $value = str_replace($src, $this->_context[$var], $value);
            }

            return $value;
        }
        …
    }
    ?>

Prev | Up | Next
method `setVar( `$key`, `$value`)` | Home | method `setEncoding( `$encoding`)`