2009-07-03 5 views
1

Я работаю над некоторыми частями веб-сайта SharePoint, и я стараюсь сделать их как можно более независимыми от языка. У меня все больше всего текста в файлах ресурсов, и я смотрю на атрибуты на моем веб-части:Атрибуты интернационализации и C#?

[WebBrowsable(true), 
Category("My Category"), 
WebDisplayName("Display Name here"), 
WebDescription("Tells you all about it"), 
Personalizable(PersonalizationScope.Shared)] 
public string SomeProperty { get; set; } 

Было бы неплохо, чтобы заменить эти жестко закодированные строки с чем-то более полезным для пользователей (SharePoint администраторы в этом случае), которые не используют английский.

Какие у меня варианты, если они есть?

ответ

2

Вы ищете класс Microsoft.SharePoint.WebPartPages.ResourcesAttribute.

This blog post имеет описание его использования и простой пример.

//RESOURCES LOCALIZATION 
//Property that is localized. Use the ResourceAttibute. 
//[ResourcesAttribute (PropertyNameID=1, CategoryID=2, DescriptionID=3)] 
[Resources("PropNameResID", "PropCategoryResID", "PropDescriptionResID")] 
+0

Большое спасибо - моя реализация вашего ответа ниже. – user132710

1

Вот моя реализация ответа spoon16 в:

[WebBrowsable(true), 
    Resources("SearchWebPartWebDisplayName", 
    "SearchWebPartCategory", 
    "SearchWebPartWebDescription"), 
    FriendlyName("Display Name here"), 
    Description("Tells you all about it"), 
    Category("My Category"), 
    Personalizable(PersonalizationScope.Shared)] 
    public string SomeProperty { get; set; } 

    public override string LoadResource(string id) 
    { 
     string result = Properties.Resources.ResourceManager.GetString(id); 
     return result; 
    } 

Обратите внимание на изменение имен свойств и их порядок в атрибуты блока.

Мне также пришлось изменить свой WebPart для получения из Microsoft.SharePoint.WebPartPages.WebPart с соответствующими изменениями в отношении того, как я обрабатываю ширину и высоту моего WebPart.

1

Вы можете просто создать подклассы из обычных атрибутов ASP.NET и локализовать их. Этот подход является устаревшим и не должен использоваться для ваших новых веб-частей. Не выходите из веб-части SP, когда нет необходимости.

http://forums.asp.net/t/937207.aspx

+0

Отмечено. Спасибо Wouter! – user132710

Смежные вопросы