下面以原始的Help Example为例进行上下文相关帮助的本地化。
首先,建立中文简体的帮助源文件,帮助标志不变,将%EPOCROOT%\Series60Ex \helpexample\help\下的helpexample.rtf另存为helpexample31.rtf,内容如下:
将帮助项目文件helpexample.cshlp另存为helpexample31.cshlp,内容修改如下:
可选的样式自定义文件custom.xml以及helpexample.rtf、helpexample.cshlp不变。
接着修改%EPOCROOT%\Series60Ex\helpexample\group\下的supplementary.mk:
同样的%EPOCROOT%\Series60Ex \helpexample\Group\helpexample.mmp
将同一目录的helpexample.loc另存为helpexample.l01,内容不变。
再将helpexample.l01用UTF-8编码另存为helpexample.l31,写入简体中文字串:
最后helpexample.loc修改为:
相应的%EPOCROOT%\Series60Ex\helpexample\sis\helpexample.pkg:
其它文件保持原样,修改后的Help Example在Series 602nd Edition Supporting Feature Pack 3 平台运行正常。
首先,建立中文简体的帮助源文件,帮助标志不变,将%EPOCROOT%\Series60Ex \helpexample\help\下的helpexample.rtf另存为helpexample31.rtf,内容如下:
Code:
Author: Nokia
Date: 23 July 2002
Version: 1
HelpExample
0x10005B93
应用帮助
¢ ContextApplication The Application
i 帮助示例应用
当获得焦点的控制没有可用帮助时显示此信息。
帮助表格
¢ ContextHelpfulForm The form
i 帮助示例表格
这是一个执行上下文相关帮助的表格。当前两个控制获得焦点时会有相应的帮助。此信息在例外的情况下显示。
编辑框一
¢ ContextEdwin1 Control 1 on form
i 帮助示例编辑框一
这是表格中控制一的帮助。
编辑框二
¢ ContextEdwin2 Control 2 on form
i 帮助示例编辑框二
这是表格中控制二的帮助。
Code:
<?xml version="1.0" encoding="UTF-8"?>
<?xml:stylesheet href="..\..\..\epoc32\tools\cshlpcmp\xsl\CSHproj.xsl" title="CS-Help project" type="text/xsl"?>
<!DOCTYPE cshproj SYSTEM "..\..\..\epoc32\tools\cshlpcmp\dtd\cshproj.dtd">
<cshproj>
<helpfileUID>0x10005B94</helpfileUID>
<directories>
<input></input>
<output></output>
<graphics>pictures/</graphics>
<working></working>
</directories>
<files>
<source>
<file>HelpExample31.rtf</file>
</source>
<destination>HelpExample.h31</destination>
<customization>custom.xml</customization>
</files>
</cshproj>
接着修改%EPOCROOT%\Series60Ex\helpexample\group\下的supplementary.mk:
Code:
makmake :
cshlpcmp ..\help\HelpExample.cshlp
cshlpcmp ..\help\HelpExample31.cshlp
ifeq (WINS, $(findstring WINS, $(PLATFORM)))
copy ..\help\HelpExample.hlp ..\..\..\epoc32\$(PLATFORM)\c\system\help
copy ..\help\HelpExample.h31 ..\..\..\epoc32\$(PLATFORM)\c\system\help
endif
clean :
del ..\help\HelpExample.hlp
del ..\help\HelpExample.hlp.hrh
del ..\help\HelpExample.h31
del ..\help\HelpExample.h31.hrh
bld :
cshlpcmp ..\help\HelpExample.cshlp
cshlpcmp ..\help\HelpExample31.cshlp
ifeq (WINS, $(findstring WINS, $(PLATFORM)))
copy ..\help\HelpExample.hlp ..\..\..\epoc32\$(PLATFORM)\c\system\help
copy ..\help\HelpExample.h31 ..\..\..\epoc32\$(PLATFORM)\c\system\help
endif
freeze lib cleanlib final resource savespace releasables :
Code:
/* Copyright (c) 2004, Nokia. All rights reserved */
TARGET HelpExample.app
TARGETTYPE app
UID 0x100039CE 0x10005B93
TARGETPATH \system\apps\helpexample
.
.
.
SOURCEPATH ..\help
DOCUMENT HelpExample.rtf
DOCUMENT HelpExample31.rtf
DOCUMENT HelpExample.cshlp
DOCUMENT HelpExample31.cshlp
DOCUMENT Custom.xml
.
.
.
LIBRARY euser.lib
LIBRARY apparc.lib
LIBRARY cone.lib
LIBRARY eikcore.lib
LIBRARY avkon.lib
LIBRARY eikdlg.lib
LIBRARY eikcoctl.lib
LIBRARY hlplch.lib
LANG 01 31
AIF HelpExample.aif ..\aif HelpExampleAif.rss c12 qgn_help_demo_cxt.bmp qgn_help_demo_cxt_mask.bmp qgn_help_demo_lst.bmp qgn_help_demo_lst_mask.bmp
再将helpexample.l01用UTF-8编码另存为helpexample.l31,写入简体中文字串:
Code:
/* Copyright (c) 2004, Nokia. All rights reserved */
// LOCALISATION STRINGS
// MENU TEXTS
//d:Command in options list.
//d:Show form.
#define qtn_help_helpexample_ShowForm "显示表格"
//d:Command in options list.
//d:Help.
#define qtn_help_helpexample_Help "帮助"
//d:Command in options list.
//d:Exit.
#define qtn_help_helpexample_Exit "退出"
// OPTIONS TEXTS IN VIEWING FORM
//d: Menu for "Options" when in viewing form
//d: Help
#define qtn_help_helpexample_ViewHelp "帮助"
//d:Caption string for app.
#define qtn_help_caption_string "帮助示例"
//d:Short caption string for app.
#define qtn_help_short_caption_string "帮助"
// d:Dialog Form.
// d: Names listed in Dialog.
#define qtn_help_dialog1_prompt "编辑框一"
#define qtn_help_dialog2_prompt "编辑框二"
#define qtn_help_dialog3_prompt "编辑框三"
// End of File
Code:
/* Copyright (c) 2004, Nokia. All rights reserved */
CHARACTER_SET UTF8
#ifdef LANGUAGE_01
#include "helpexample.l01"
#endif
#ifdef LANGUAGE_31
#include "helpexample.l31"
#endif
// End of File
Code:
;/* Copyright (c) 2004, Nokia. All rights reserved */
; Installation file for HelpExample application
; HelpExample.pkg
;
;Language - standard language definitions
&EN
;Standard SIS file header
#{"HelpExample"},(0x10005B93),1,0,0
;Supports Series 60 v 2.0
(0x101F7960), 0, 0, 0, {"Series60ProductID"}
;
"..\..\..\epoc32\release\thumb\urel\HelpExample.APP" -"!:\system\apps\HelpExample\HelpExample.app"
"..\..\..\epoc32\data\z\system\apps\HelpExample\HelpExample.r01" -"!:\system\apps\HelpExample\HelpExample.r01"
"..\..\..\epoc32\data\z\system\apps\HelpExample\HelpExample.r31" -"!:\system\apps\HelpExample\HelpExample.r31"
"..\help\HelpExample.hlp" -"!:\system\help\helpexample.hlp"
"..\help\HelpExample.h31" -"!:\system\help\helpexample.h31"
"..\..\..\epoc32\data\z\system\apps\HelpExample\HelpExample_caption.r01" -"!:\system\apps\HelpExample\HelpExample_caption.r01"
"..\..\..\epoc32\data\z\system\apps\HelpExample\HelpExample_caption.r31" -"!:\system\apps\HelpExample\HelpExample_caption.r31"
"..\..\..\epoc32\data\z\system\apps\HelpExample\HelpExample.aif" -"!:\system\apps\HelpExample\HelpExample.aif"