bool GetAttributeLocalization (string value, out string resClass, out string resKey, out string resDefault)
{
resClass = null;
resKey = null;
resDefault = null;
if (String.IsNullOrEmpty (value))
return false;
string val = value.TrimStart (new char[] {' ', '\t'});
if (val.Length < 11 ||
String.Compare (val, 0, "$resources:", 0, 11, StringComparison.InvariantCultureIgnoreCase) != 0)
return false;
val = val.Substring (11);
if (val.Length == 0)
return false;
string[] parts = val.Split (',');
if (parts.Length < 2)
return false;
resClass = parts [0].Trim ();
resKey = parts [1].Trim ();
if (parts.Length == 3)
resDefault = parts [2];
else if (parts.Length > 3)
resDefault = String.Join (",", parts, 2, parts.Length - 2);
return true;
}