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).


            <?php
class MyTranslator implements PhpTal\TranslationServiceInterface {
    …
    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.