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