Manual

5.2. Metoda useDomain($domain)

Jeśli zdecydujesz się na przechowywanie tłumaczeń w osobnych plikach (np. jeden plik dla aplikacji) ta metoda umożliwi Ci wybrać domenę tłumaczeń z szablonu (i18n:domain). Domeny tłumaczeń są jakby przestrzeniami nazw umożliwijącymi oddzielenie plików tłumaczeń od siebie.

<?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();
}
?>

Powyższy przykład pokazuje, jak zastosować tłumaczenie tekstu w sytuacji, gdy klucze są przechowywane w plikach php jako tablica asocjacyjna (klucz => tłumaczenie).