private LocalizedText TranslateStatusCode(IList<string> preferredLocales, StatusCode statusCode, object[] args)
{
lock (m_lock)
{
if (m_statusCodeMapping != null)
{
TranslationInfo info = null;
if (m_statusCodeMapping.TryGetValue(statusCode.Code, out info))
{
// merge the argument list with the trahslateion info cached for the status code.
if (args != null)
{
info = new TranslationInfo(
info.Key,
info.Locale,
info.Text,
args);
}
return Translate(preferredLocales, null, info);
}
}
}
return String.Format("{0:X8}", statusCode.Code);
}