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
require_once 'PHPTAL/TranslationService.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;
}
…
}
?>