Sunday, 30 September 2012

Problem with Spanish variation in SharePoint 2010


Hello Again,

Today with new problem and some finding! J

We have multilingual site created using the variations. We have our custom site definition. In our custom site definition we have included our content type binding’s features. We are binding our custom content types to pages library.
Since our site multilingual we are using OOB resource files for pages libraries as follows:

ListUrl="$Resources:cmscore,List_Pages_UrlName;" />

We could successfully create the sites for Finish, German, Swedish variations but faced the problem while creating the Spanish variation site. So I tried by creating manual site and found following error
And log shows the following exception

9/10/2012 15:30:20.00    w3wp.exe (0x0D38)                       0x1B24  SharePoint Foundation                 Runtime                                tkau       Unexpected       System.Runtime.InteropServices.COMException: List '/<Spanish variation label>/<Spanish site name>/Pages' does not exist at site with URL '<SiteName>/<Spanish variation label>/<Spanish site name>/'. [Managed code transition]    at Microsoft.SharePoint.Library.SPRequestInternalClass.ApplyWebTemplate(String bstrUrl, String bstrWebTemplateContent, Int32 fWebTemplateContentFromSubweb, Int32 fDeleteGlobalListsWithWebTemplateContent, String& bstrWebTemplate, Int32& plWebTemplateId)     at Microsoft.SharePoint.Library.SPRequest.ApplyWebTemplate(String bstrUrl, String bstrWebTemplateContent, Int32 fWebTemplateContentFromSubweb, Int32 fDeleteGlobalListsWithWebTemplateContent, String& bstrWebTemplate, Int32& plWebTemplateId)    b1ab87f9-e5f9-4899-9f2e-69e1bf0f7f05

When we check cmscore.es-ES.resx (Spanish resource file, SharePoint creates it after installing language pack) file  from 14 hive it has following entry for Pages library url

<Data Name="List_Pages_UrlName">
    <Value>Pages</Value>
</Data>

but for Spanish language it should have

                <Data Name="List_Pages_UrlName">
                     <Value>Paginas</Value>
        </Data>

i.e Page library url should be Paginas and not Pages.
So solution to this problem is instead of using cmscore resource file we have used osrvcore resource file since this file has the correct value and it worked for us J

Thanks!