Localize widget templates
The Sitefinity CMS MVC widgets provide full support for localization and allows you to configure the localizable resources through resource files.
To localize the data for MVC widget, perform the following:
-
Create resource file per widget.
For example:C#using System; using System.Linq; using Telerik.Sitefinity.Localization; using Telerik.Sitefinity.Localization.Data; namespace SitefinityWebApp { [ObjectInfo("NewsWidgetResources", ResourceClassId = "NewsWidgetResources", Title = "NewsWidgetResourcesTitle", TitlePlural = "NewsWidgetResourcesTitlePlural", Description = "NewsWidgetResourcesDescription")] public class NewsWidgetResources : Resource { } } -
When creating the controller, register the created class for the widget in the following way:
C#using System.Web.Mvc; using Telerik.Sitefinity.Frontend.Mvc.Infrastructure.Controllers.Attributes; namespace SitefinityWebApp { [Localization(typeof(NewsWidgetResources))] public class NewsController : Controller { } } -
Use the following
Htmlhelper in the views for the localizable resource data:HTML+Razor@using Telerik.Sitefinity.Frontend.Mvc.Helpers; @Html.Resource("ByTitleZA")When using the
Html.Resourcehelper inside widget views or designers, Sitefinity CMS automatically resolves the resource with the provided name from the class that you registered in Step 2. For more information about creating a custom resource class, see For developers: Create custom resource classes.