Lokalizacja enum

Jak zlokalizować wyliczenia dla aListBoxFor gdzie możliwe są różne opcje?

Na przykład anenum który zawiera role:

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,
}

Widziałem to zrobionedropdownlist/selectlists. Ale czy istnieje sposób, aby to zrobić dla listy wyboru wielokrotnego?

[EDYTOWAĆ]

W ten sposób chciałbym z niego korzystać, tak działa teraz, ale nie jest tłumaczony na inny język:

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");

Uwaga: zmieniłem nazwę enum z Role na RoleType.

questionAnswers(12)

yourAnswerToTheQuestion