i18n and localization

Eneta portal supports internationalization and localization. This page describes how to add new translations to portal code base and how to deploy these changes to test or production environments.

Resource files

Every localizable project in portal solution has folder called Resources where resource files are located. These folders follow common .NET Framework resource files structure and logic. Resource files (they all have *.resx extension) located directly in Resources folder are culture-neutral resources. If localized resource for current culture settings is not found then culture-neutral resource will be used by .NET Framework automatically. All localized resources have same file name as culture-neutral resource but additionally they have culture identificator in their names too. EnetaCompanies.resx is culture-neutral resource and EnetaCompanies.et-ee.resx is localized resource for estonian language.

Tools

It is recommended to manipulate resource files with Visual Studio. Current code base is created on Visual Studio 2008 and we will use it until we have other important topics besides moving to Visual Studio 2010. It is also possible to use RESX Translator http://resxtranslator.codeplex.com/ to translate files. We are using RESX Translator to visualize missing or problematic translations better but our main tool is Visual Studio.

Adding new resource

Developers can add new resources by simply making copy of culture-neutral resource and renaming the file by culture they need. Culture-neutral resource has all translation constant values in english and this should be enough for developers to get translations done. The names of constants are also in english.

Deploying resources

  1. copy new resx files to SharePoint web application subfolder App_GlobalResources
  2. compile project and open its bin/Release folder in Windows Explorer
  3. move to subfolder that has name of your culture identificator
  4. copy <resource name>.resources.dll to server (file name is like EnetaCompanies.resources.dll)
  5. in server add dll to GAC using gacutil.exe (gacutil /i EnetaCompanies.resources.dll)
  6. run iisreset

Last edited Aug 2, 2010 at 8:09 PM by gpeipman, version 6

Comments

No comments yet.