orchardcmsorchardcms-1.6orchardcms-1.7orchardcms-1.8orchard-modules

orchard localization ResourceManifest SetCultures override path pattern


In Orchard CMS I have following snipped

public void BuildManifests(ResourceManifestBuilder builder)
    {
        var manifest = builder.Add();
        var currentCulture = _orchardServices.WorkContext.CurrentCulture;

        manifest.DefineScript("jQuery-Validate-Localization").SetUrl("localization/messages.js").SetCultures(currentCulture);

    }

this will search for file "~/scripts/localization/messages.en-US.js" if current="en-US". Can I change pattern and path to become "~/scripts/localization/messages_en.js"

How can I achieves this in ResourceManifest class?

10x


Solution

  • You can try something like following:

    public void BuildManifests(ResourceManifestBuilder builder)
    {
        var manifest = builder.Add();
        var currentCulture = _orchardServices.WorkContext.CurrentCulture;
    
        // split culture on '-' to get first part
        var url = "localization/messages_" + currentCulture.Split('-')[0] + ".js";
    
        manifest.DefineScript("jQuery-Validate-Localization").SetUrl(url);
    
    }