|
|
|
If you need to localise the UI for your Symbian OS phone to suit your own specific requirements, you can make the necessary
changes to the Symbian OS resource files provided under epoc32\localisation\..., using your own localisation tool.
The build process, which takes the Symbian OS source code and generates the EPOC release tree, supports the automatic generation
of all localisable files to a single location in the EPOC release tree, epoc32\localisation\....
The component .MMP files are used to define the structure of \epoc32\localisation\... and .INFO files for each component are saved in \epoc32\localisation\group\.... These .INFO files contain information about the directory locations for the localised binaries in the EPOC release tree, as well as list
the source files and bitmaps for the component with which they are associated.
The following files are involved in creating the structure under \epoc32\localisation\...:
EPOCRC.PL
This file is called during the build to compile resource files. During the resource compilation process a RSS resource file,
its RLS string file(s) and any included header file(s) are first passed through the C++ pre-processor, using any specified
pre-processor arguments, to create an RPP file. The RPP is then passed to a Perl script which writes the rls_string text into the resource structure. Once the strings and structure have been merged, the RPP is passed to RCOMP.EXE to
generate a compiled resource (.RSC) and the associated header (.RSG) file. All intermediate (.RPP) files are stored in a temporary directory. Before deleting those intermediate RPP files, EPOCRC.PL copies them to \epoc32\localisation\[component]\rsc\[component].RPP and passes information about the components and their source files to LOCKIT_INFO.PM which in turn uses that information to create .INFO files.
EPOCAIF.PL
This is used to compile AIF files. AIFs are created by converting all the bitmaps to one MBM file using BMCONV.EXE. The AIF resource file is then passed through the C++ pre-processor, using any specified arguments, and then to RCOMP.EXE to generate a compiled resource file (.RSC). The AIFTOOL then uses the compiled MBM and RSC to produce an AIF file. At the end of the AIF generation process, EPOCAIF.PL reads LOCKIT_INFO.PM and passes the names of the AIF source to the corresponding .INFO files. The source files themselves are then copied to \epoc32\localisation\aif\[component]\acl\... or \epoc32\localisation\aif\[component]\abw\....
EPOCMBM.PL
This script is used to generate EPOC MBM files. BMCONV.EXE takes a component's bitmaps (as listed in the component's .MMP file) and converts them to a single MBM (multi-bitmap) image file. The names of the BMP source files are then read into LOCKIT_INFO.PM which in turn passes information to the .INFO files and saves the MBM source files (the BMPs) to \epoc32\localisation\[component]\mcl\*.BMP or \epoc32\localisation\[component]\mbw\*.BMP.
The three Perl scripts listed above are called by the MAKMAKE modules CL_GCC.PM and CL_WIN.PM.
LOCKIT_INFO.PM performs the following roles:
Calls emkdir.pl to create directories based on the arguments passed from .MMP files.
Copies all source files to the appropriate sub-directories under \epoc32\localisation\.... All source information will be passed as arguments from the above-mentioned perl modules (epocrc.pl, epocmbm.pl, epocaif.pl).
Creates an .INFO file for each component under \epoc32\localisation\group\..., e.g.:
DATADIR: \[component]
\Z\SYSTEM\APPS\[component]\[component].MCL : /c8\[graphic1].bmp /c8\[graphic2].bmp /c8\[graphic3].bmp /c8\[graphic4].bmp
\Z\SYSTEM\APPS\[component]\[component].RSC : [resource_file].RPP [string_file].RLS
\Z\SYSTEM\APPS\[component]\[component].ACL : [AIF_resource_file].STRUCT [AIF_resource_file].TEXT /c8\[AIF_graphic1].BMP /c8\[AIF_graphic2].BMPThe following diagram illustrates the gathering of localisation files as part of the Symbian OS build process:
The following resource files are provided under \epoc32\localisation\...:
Resource string files
RPP files are generated from the RPP pre-processed resource source files created when a component (or the whole source tree)
is built. RPP files are, essentially, expanded structure, header and resource information in one file, but with resource strings still
not merged into the resource structure.
All of the structure is retained in the RPP file: as all files which are listed for "#include" are expanded out in the RPP file during the pre-processing stage, the RPP file has no need for association of header files.
Application Information files
AIFs represent the application icons which appear in the top-level screen of a device. They are single files which contain the
application icons in various representations and the application name.
Bitmaps
BMP files can be converted into MBM (multi-bitmap) graphical file format. This may be useful, for example, when you want to create graphics to be used in your
application.
A Bitmap Convertor tool called BMCONV.EXE is available, allowing you to convert one or more bitmaps into a single MBM file.