protected function setTranslationConfiguration($config)
{
if ($config['type'] == 'XLIFF' || $config['type'] == 'gettext') {
if ($config['source']) {
$config['source'] = Prado::getPathOfNamespace($config['source']);
if (!is_dir($config['source'])) {
if (@mkdir($config['source']) === false) {
throw new TConfigurationException('globalization_source_path_failed', $config['source']);
}
chmod($config['source'], PRADO_CHMOD);
//make it deletable
}
} else {
throw new TConfigurationException("invalid source dir '{$config['source']}'");
}
}
if (isset($config['cache']) && TPropertyValue::ensureBoolean($config['cache'])) {
$config['cache'] = $this->getApplication()->getRunTimePath() . '/i18n';
if (!is_dir($config['cache'])) {
if (@mkdir($config['cache']) === false) {
throw new TConfigurationException('globalization_cache_path_failed', $config['cache']);
}
chmod($config['cache'], PRADO_CHMOD);
//make it deletable
}
} else {
unset($config['cache']);
}
$this->_translation = $config;
}