This page was last modified 09:13, 25 March 2008.
CS000858 - I18n: Images
From Forum Nokia Wiki
| ID | CS000858 | Creation date | March 25, 2008 |
| Platform | S60 3rd Edition, MR S60 3rd Edition, FP1 S60 3rd Edition, FP2 Beta | Tested on devices | Nokia E61i Nokia E90 Communicator Nokia N95 8GB Nokia 6220 Classic |
| Category | Symbian C++ | Subcategory | Localization |
| APIs | None | Classes | TParse StringLoader CFbsBitmap |
| Methods | TParse::Set() StringLoader::LoadLC() CFbsBitmap::Load() |
Overview
This code snippet is one of the series of snippets that demonstrate how to implement support for international diversity. This snippet shows how to select a bitmap according to the locale settings of the device.
MMP file
The following libraries are required:
LIBRARY fbscli.lib
Resource files
data\[app].rls:
#ifndef __APP_LOC__ #define __APP_LOC__ #ifdef LANGUAGE_01 // Language code for UK #include "..\data\app.l01" #elif defined LANGUAGE_03 // Language code for German #include "..\data\app.l03" #endif #endif // __APP_LOC__
Declare the location of the "English" bitmap into data\[app].l01:
// The paths in the following string are different for S60 3rd & 2nd Edition platforms #ifdef EKA2 #define qtn_loc_bmpfile "%U\\resource\\apps\\Bitmap_01.mbm" #else #define qtn_loc_bmpfile "%U\\system\\apps\\Localization\\Bitmap_01.mbm" #endif
Declare the location of the "German" bitmap into data\[app].l03:
// The paths in the following string are different for S60 3rd & 2nd Edition platforms #ifdef EKA2 #define qtn_loc_bmpfile "%U\\resource\\apps\\Bitmap_03.mbm" #else #define qtn_loc_bmpfile "%U\\system\\apps\\Localization\\Bitmap_03.mbm" #endif
In the resource file of the application (data\[app].rss), create a bitmap resource from the localized string:
RESOURCE TBUF256 r_loc_bmpfile { buf=qtn_loc_bmpfile; }
Source file
#include <stringloader.h>
// Find the drive where the application has been installed TParse parse; parse.Set(Application()->AppFullName(), 0, 0); // Load the name of the bitmap from the resource file HBufC* bmpFile = StringLoader::LoadLC(R_LOC_BMPFILE, parse.Drive()); // Create and load the bitmap CFbsBitmap* bitmap = new (ELeave)CFbsBitmap; CleanupStack::PushL(bitmap); // Load the first bitmap (index 0) from a multi-bitmap file User::LeaveIfError(bitmap->Load(*bmpFile, 0)); CleanupStack::Pop(bitmap); // Draw the bitmap onto the screen // ... CleanupStack::PopAndDestroy(bmpFile);
Postconditions
A bitmap is selected according to the locale settings of the device.
See also
- CS000855 - I18n: Real numbers
- CS000856 - I18n: Currency
- CS000857 - I18n: Timestamps
- CS000807 - Localizing application strings
- S60 Platform: Localization Example
| Related Discussions | ||||
| Thread | Thread Starter | Forum | Replies | Last Post |
| Help !about .mbm的形成 | wangguoshui | Symbian | 4 | 2004-12-23 03:37 |
| Extracting Nokia Applications' Images(or its' paths) from Hand Phone? | sethuraman | Symbian User Interface | 7 | 2006-04-10 16:32 |
| where can i find information... | deepthis | Symbian Tools & SDKs | 2 | 2005-09-09 09:59 |
| Refresh data in Gallery | truf | General Symbian C++ | 5 | 2007-11-20 09:41 |
| File Transfer | goglog | Mobile Java General | 10 | 2006-08-21 13:44 |

