Localizing Reports in SharePoint

In a current project, international users indicated that they prefer dates and numbers to be formatted using their regional settings. Localization is a big and complicated topic and we’ve been fortunate that the scope was limited to just number and date formatting … or, at least so far.

Localizing reports on a report server running in native mode is easy. You just need to use culture –neutral format strings, e.g. C for currency of P for percentage, and set the report-level Language property to =User!Language. However, this is not enough for reports running in a SharePoint integrated mode. SharePoint requires installing language packs as follows:

  1. For each language you plan to support, download the corresponding language pack. For example, to download the German language page, change the drop-down to German and download the pack.
  2. Log in a SharePoint Farm Administrator and install the language pack. At the end of the setup process, leave the checkbox to start the wizard in order to run the wizard to reconfigure the farm.
  3. Once the wizard is done, go to the site that you want to localize, click Site Actions -> Site Settings, and then click the Language Settings link under Site Administration.
  4. Check all languages that will be supported on the site.

    072312_2000_LocalizingR1

  5. To avoid “The LocaleIdentifier property is not overwritable and cannot be assigned a new value” error (more than likely a bug) when an international user requests a report connected to an Analysis Services cube, change the connection string of the SSAS data sources to pin it to the locale identifier of the server by appending the following setting, as Kasper De Jonge mentions in his blog:
    Locale Identifier=1033
  6. Instruct your users to personalize the display language by expanding the name drop-down and selecting a display language:

    072312_2000_LocalizingR2

Once this is done, the users will see the SharePoint menus translated, and dates and numbers on the reports formatted using the selected display language.