public function translate($Code, $Default = false)
{
if ($Default === false) {
$Default = $Code;
}
// Codes that begin with @ are considered literals.
if (substr_compare('@', $Code, 0, 1) == 0) {
return substr($Code, 1);
}
$Translation = $this->LocaleContainer->get($Code, $Default);
// If developer mode is on, and this translation returned the default value,
// remember it and save it to the developer locale.
if ($this->DeveloperMode && $Translation == $Default) {
$DevKnows = $this->DeveloperContainer->get($Code, false);
if ($DevKnows === false) {
$this->DeveloperContainer->saveToConfig($Code, $Default);
}
}
$this->EventArguments['Code'] = $Code;
$this->EventArguments['Default'] = $Default;
$this->fireEvent('BeforeTranslate');
return $Translation;
}