private LocalizedText TranslateSymbolicId(IList<string> preferredLocales, string symbolicId, string namespaceUri, object[] args)
{
lock (m_lock)
{
if (m_symbolicIdMapping != null)
{
TranslationInfo info = null;
if (m_symbolicIdMapping.TryGetValue(new XmlQualifiedName(symbolicId, namespaceUri), out info))
{
// merge the argument list with the trahslateion info cached for the symbolic id.
if (args != null)
{
info = new TranslationInfo(
info.Key,
info.Locale,
info.Text,
args);
}
return Translate(preferredLocales, null, info);
}
}
}
return symbolicId;
}
#endregion