Localizing application help on Symbian
| Line 1: | Line 1: | ||
__NOTOC__ | __NOTOC__ | ||
__NOEDITSECTION__ | __NOEDITSECTION__ | ||
| − | + | {{KBCS}} | |
{|style="background:#eceff2" width="660px" border="1" cellpadding="5" cellspacing="0" | {|style="background:#eceff2" width="660px" border="1" cellpadding="5" cellspacing="0" | ||
|- | |- | ||
| − | |'''ID''' || | + | |'''ID''' || CS000810 |
| − | |'''Creation date''' || | + | |'''Creation date''' || February 6, 2008 |
|- | |- | ||
| − | |'''Platform''' || S60 3rd | + | |'''Platform''' || S60 3rd Edition<br>S60 3rd Edition, FP1<br>S60 3rd Edition, FP2 |
| − | |'''Tested on devices''' || Nokia E90 | + | |'''Tested on devices''' || Nokia E90 Communicator |
|- | |- | ||
|'''Category''' || Symbian C++ | |'''Category''' || Symbian C++ | ||
| Line 22: | Line 22: | ||
==Overview== | ==Overview== | ||
| − | This code example describes how to localize the help files of | + | This code example describes how to localize the help files of an application. |
This snippet can be self-signed. | This snippet can be self-signed. | ||
| Line 28: | Line 28: | ||
==Steps== | ==Steps== | ||
| − | 1. Create a help file for all the languages that you need to support. See [http://wiki.forum.nokia.com/index.php/ | + | 1. Create a help file for all the languages that you need to support. See [http://wiki.forum.nokia.com/index.php/CS000809_-_Implementing_context-sensitive_help CS000809 - Implementing context-sensitive help] for information on how to implement help files. |
2. Edit the makefile (<tt>group\help.mk</tt>) so that it compiles the localized help resources: | 2. Edit the makefile (<tt>group\help.mk</tt>) so that it compiles the localized help resources: | ||
| Line 63: | Line 63: | ||
</code> | </code> | ||
| − | '''Note | + | '''Note:''' When editing the makefile, make sure that you use tabulators instead of spaces, or you get the error "HELP.MK:27: *** missing separator. Stop." |
| − | 3. Wherever you have used <tt>App.hlp.hrh</tt>, you should now use <tt>App_sc.hlp.hrh</tt> | + | 3. Wherever you have used <tt>App.hlp.hrh</tt>, you should now use <tt>App_sc.hlp.hrh</tt> because the <tt>KContextApplication</tt> constant can be found there: |
<code> | <code> | ||
| Line 71: | Line 71: | ||
</code> | </code> | ||
| − | Make sure that you use the same identifier in each help file (rtf), so that it | + | Make sure that you use the same identifier in each help file (rtf), so that it does not matter which one of the hrh files you include. |
| − | 4. Insert the LANG | + | 4. Insert the LANG attribute as well as all the help-related files into the <tt>group\[app].mmp</tt> file: |
<code> | <code> | ||
| Line 86: | Line 86: | ||
</code> | </code> | ||
| − | 5. Make sure the localized help resources | + | 5. Make sure that the localized help resources are compiled into the SIS package (see <tt>sis\[app].pkg</tt>): |
<code> | <code> | ||
| Line 95: | Line 95: | ||
</code> | </code> | ||
| − | 6. Compile the files and create the | + | 6. Compile the files and create the SIS package. |
==See also== | ==See also== | ||
| − | * [http://wiki.forum.nokia.com/index.php/ | + | * [http://wiki.forum.nokia.com/index.php/CS000809_-_Implementing_context-sensitive_help CS000809 - Implementing Context-Sensitive Help] |
| − | [[Category:Symbian C++]][[Category:Localization]] | + | [[Category:Symbian C++]][[Category:Localization]][[Category:Code Examples]] |
Revision as of 15:58, 6 February 2008
| ID | CS000810 | Creation date | February 6, 2008 |
| Platform | S60 3rd Edition S60 3rd Edition, FP1 S60 3rd Edition, FP2 |
Tested on devices | Nokia E90 Communicator |
| Category | Symbian C++ | Subcategory | Localization |
| APIs | None | Classes | None |
| Methods | None |
Overview
This code example describes how to localize the help files of an application.
This snippet can be self-signed.
Steps
1. Create a help file for all the languages that you need to support. See CS000809 - Implementing context-sensitive help for information on how to implement help files.
2. Edit the makefile (group\help.mk) so that it compiles the localized help resources:
makmake :
cshlpcmp ..\help\help_sc.xml
cshlpcmp ..\help\help_09.xml
ifeq (WINS, $(findstring WINS, $(PLATFORM)))
copy ..\help\App_sc.hlp $(EPOCROOT)\epoc32\$(PLATFORM)\c\resource\help
copy ..\help\App_09.hlp $(EPOCROOT)\epoc32\$(PLATFORM)\c\resource\help
endif
clean :
del ..\help\App_sc.hlp
del ..\help\App_sc.hlp.hrh
del ..\help\App_09.hlp
del ..\help\App_09.hlp.hrh
bld :
cshlpcmp ..\help\help_sc.xml
cshlpcmp ..\help\help_09.xml
ifeq (WINS, $(findstring WINS, $(PLATFORM)))
copy ..\help\App_sc.hlp $(EPOCROOT)\epoc32\$(PLATFORM)\c\resource\help
copy ..\help\App_09.hlp $(EPOCROOT)\epoc32\$(PLATFORM)\c\resource\help
endif
freeze lib cleanlib final resource savespace releasables :
Note: When editing the makefile, make sure that you use tabulators instead of spaces, or you get the error "HELP.MK:27: *** missing separator. Stop."
3. Wherever you have used App.hlp.hrh, you should now use App_sc.hlp.hrh because the KContextApplication constant can be found there:
#include "App_sc.hlp.hrh"
Make sure that you use the same identifier in each help file (rtf), so that it does not matter which one of the hrh files you include.
4. Insert the LANG attribute as well as all the help-related files into the group\[app].mmp file:
LANG SC 01 09
SOURCEPATH ..\help
DOCUMENT help_sc.rtf
DOCUMENT help_09.rtf
DOCUMENT help_sc.xml
DOCUMENT help_09.xml
DOCUMENT custom.xml
5. Make sure that the localized help resources are compiled into the SIS package (see sis\[app].pkg):
{
"..\help\App_sc.hlp"
"..\help\App_09.hlp"
} -"!:\resource\help\App.hlp"6. Compile the files and create the SIS package.

