Localización enum

¿Cómo localizar enumeraciones para unListBoxFor ¿Dónde son posibles las múltiples opciones?

Por ejemplo unenum que contiene roles:

public enum RoleType
{
    [Display(Description = "Administrator", ResourceType = typeof(Resource))]
    Administrator = 1,
    [Display(Description = "Moderator", ResourceType = typeof(Resource))]
    Moderator = 2,
    [Display(Description = "Webmaster", ResourceType = typeof(Resource))]
    Webmaster = 3,
    [Display(Description = "Guest", ResourceType = typeof(Resource))]
    Guest = 4,
    Etc.... = 5,
}

He visto esto hecho condropdownlist/selectlists. ¿Pero hay una manera de hacer esto para una lista de selección múltiple?

[EDITAR]

Así es como me gustaría usarlo, que es como funciona ahora pero no se traduce en un idioma diferente:

var roles = from role r in Enum.GetValues(typeof(RoleType))
            select new
            {
               Id = (int)Enum.Parse(typeof(RoleType), r.ToString()),
               Name = r.ToString()
            };

searchModel.roles = new MultiSelectList(roles, "Id", "Name");

Nota: he cambiado el nombre de la enumeración de Role a RoleType.

Respuestas a la pregunta(12)

Su respuesta a la pregunta