Implementing UI text localization

To allow your application to support different languages:

  1. In the resource file for your application, use unique symbolic IDs, also known as a logical name, for all UI texts that need to appear on the screen.

    Note: The S60 platform provides some unique symbolic IDs that you can use in your code, which means that the UI texts used for these IDs match those used elsewhere in the device. Do not define any values for these symbolic IDs.

    For information on the recommended structure of the unique symbolic IDs, see "Appendix LOC file template".

  2. For each language your application supports, create a resource file as follows:

    1. Create a text file with the extension lNN, where NN is a two digit number that matches the Symbian OS language code for your target language.

      For more information, see "Appendix Symbian OS and S60 locale IDs".

      The file naming suggestion reflects the S60 platform convention, Symbian OS uses <application_name>_NN.rls.

    2. Define all the symbolic IDs using the following syntax:

      #define symbolicID "value in target language"

      Each symbolic ID must be on its own line.

    3. Repeat for each supported language.

    For information, see "Appendix LOC file template".

  3. Create a file to include the compiled localization files in your resource file, as follows:

    1. Create a text file with the extension loc.

      The file naming suggestion reflects the S60 platform naming convention, Symbian OS uses <application_name>.rls.

    2. Add #ifdef, #elif, and #include statements for including the appropriate languages in your application resource files. An example syntax is as follows:

      #ifndef __LOCALIZATION_LOC__
      #define __LOCALIZATION_LOC__
                                  
      #ifdef LANGUAGE_SC			// language code for default                                               
      #include "..\data\localization.l01"
      
      #elif LANGUAGE_01			// language code for UK
      #include "..\data\localization.l01"
      
      #endif 
      #endif
  4. Include your loc file in your resource file.

  5. Add your supported language codes to the LANG statement in your project mmp file.

  6. Build your resource files

    Note: Some IDEs do not fully support building resource files for different languages, so you may need to use the command line interface of the Symbian build chain.

  7. Include the appropriate compiled resource files in your deployment package.

    For more information on deploying, see "Deploying".

The following localization strategies are available: