private function replaceByDict($value, $dict)
{
if (is_string($value)) {
$keys = $this->getDictKeys($value);
foreach ($keys as $key) {
Verify::isTrue(isset($dict[$key]), "{$key} not specified");
}
foreach ($dict as $key => $replace) {
$value = str_replace('{' . $key . '}', $replace, $value);
}
return $value;
} else {
if (is_array($value)) {
foreach ($value as $k => $v) {
$value[$k] = $this->replaceByDict($v, $dict);
}
return $value;
} else {
return $value;
}
}
}