method useDomain($domain)

If you decided to store your translations into separate files, one for each application, for example, this method allows you to select the translation domain from your templates (i18n:domain).

require_once 'PHPTAL/TranslationService.php';

class MyTranslator implements PHPTAL_TranslationService {
    public function useDomain($domain){
        if (!array_key_exists($domain, $this->_domains)){
            $file = "domains/$this->_currentLang/$domain.php";
            $this->_domains[$domain] = include($file);
        $this->_currentDomain = $this->_domains[$domain];
    private $_currentDomain;
    private $_domains = array();

The above example is a possible translation solution where keys are stored in PHP files which return an associative array of key => translation.