You are on page 1of 184

e.

Reporting for Multiple Locales


Information in this document is subject to change without notice. Examples provided
are fictitious. No part of this document may be reproduced or transmitted in any
form, or by any means, electronic or mechanical, for any purpose, in whole or in part,
without the express written permission of Actuate Corporation.
1995 - 2002 by Actuate Corporation. All rights reserved. Printed in the United
States of America.
Contains information proprietary to:
Actuate Corporation
701 Gateway Boulevard
South San Francisco, CA 94080
http://www.actuate.com
The software described in this manual is provided by Actuate Corporation under an
Actuate License agreement. The software may be used only in accordance with the
terms of the agreement.
Actuate Corporation trademarks and registered trademarks:
Actuate, e.Analysis, e.Report, e.Reporting, e.Spreadsheet, Formula One,
Internet Spreadsheet, Live Report Extension, ReportCast, Report Encyclopedia,
SmartReports, Spreadsheets Everywhere, Tidestone, and XML reports.
Third party trademarks:
ActiveX, Microsoft, Microsoft Access, Microsoft Excel, MS, MS-DOS, MSN, The
Microsoft Network, Windows, Windows 98, Windows 2000, Windows ME,
Windows NT, Windows XP, and/or other Microsoft products are either trademarks
or registered trademarks of Microsoft. Crimson, Tomcat, Xalan, and Xerces are either
trademarks or registered trademarks of Apache Software Foundation. Actuate
products include software developed by the Apache Software Foundation
<http://www.apache.org/>. CT-Library is a trademark of Sybase, Inc. Databeacon is
a trademark of Databeacon, Inc. Digital Creations and DCLC, are trademarks of
Digital Creations, LC. Graphics Server is a trademark of Bits Per Second, Ltd. and
Pinnacle Publishing, Inc. HTML Tidy and tidy.c are either trademarks or registered
trademarks of World Wide Web Consortium. ICU and Lotus 1-2-3 are trademarks or
registered trademarks of IBM Corporation. INFORMIX-ESQL/C is a trademark of
Informix Software, Inc. InstallAnywhere is a trademark or registered trademark of
Zero G Software, Inc. InstallShield is a registered trademark of InstallShield
Corporation. iPlanet, Java and 100% Pure Java, ONC, Solaris, SPARC, Sun, and Sun
Microsystems are either trademarks or registered trademarks of Sun Microsystems,
Inc. iText is a trademark or registered trademark of Bruno Lowagie and Paulo Soares.
JBuilder is a registered trademark of Inprise Corp. LEADTOOLS is a registered
trademark of LEAD Technologies, Inc. Netscape, Netscape Communications,
Netscape Communicator, Netscape Enterprise Server, and Netscape Navigator are
either trademarks or registered trademarks of Netscape Communications
Corporation. NobleNet RPC and Rogue Wave SourcePro are either trademarks or
registered trademarks of Rogue Wave Software, Inc. Oracle Call Interface is a
trademark of Oracle Corporation. Progress is a registered trademark of Progress
Software Corporation. TrueType is a registered trademark of Apple Computer, Inc.
Unicode is a registered trademark of Unicode, Inc. UNIX is a registered trademark of
X/Open Company, Ltd. Visual Cafe is a registered trademark of Symantec
Corporation. WebWorks is a registered trademark of Quadralay Corporation.
XPrinter is a trademark of Bristol Technology, Inc. XPAT, created by James Clark, is
licensed under the Mozilla license agreement.
All other brand or product names are trademarks or registered trademarks of their
respective companies or organizations.
Document No. 020515-2-430500 May 6, 2002
i
Contents
Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . vii
About Actuate e.Reporting Suite 6. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . vii
About e.Reporting for Multiple Locales . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xi
Online documentation. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xii
Using online manuals . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xiii
Typographical conventions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xiii
Syntax conventions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xiv
Chapter 1
Introduction to e.reporting for multiple locales . . . . . . . . . . . . . . . 1
About locales . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
About character sets . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
About Unicode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
About code pages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
About the Hong Kong Supplementary Character Set (HKSCS) . . . . . . . . . . . . . . . . . 3
About character entry and display. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
About fonts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
About date, time, currency, and number formats . . . . . . . . . . . . . . . . . . . . . . . . . . 4
Understanding date and time formats . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
Understanding currency and number formats . . . . . . . . . . . . . . . . . . . . . . . . . . 4
About calendars . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
About collation sequences . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
About case mapping. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
Chapter 2
Formatting report data for multiple locales . . . . . . . . . . . . . . . . . . 7
About locale precedence . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
Running reports with Actuate desktop products. . . . . . . . . . . . . . . . . . . . . . . . . . . 8
About supported locales . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .10
Using the locale map . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .12
Understanding localemap.xml . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .13
About the AB tags . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .20
Using localemap.xml . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .20
Using localemap.xml with Actuate e.Reporting Server . . . . . . . . . . . . . . . . . . . .21
Using localemap.xml with Actuate web-based products . . . . . . . . . . . . . . . . . . .21
Using localemap.xml with Actuate desktop products. . . . . . . . . . . . . . . . . . . . .21
Creating a custom locale . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .21
ii
Specifying a locale with Actuate Active Portal . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
Setting a reports locale . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
Setting the Locale property. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
Setting different locales for generating, viewing, and printing a report . . . . . . . . . . . 23
Using GetFactoryLocale( ) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
Using GetViewLocale( ) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
Using GetPrintLocale( ) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
Setting different locales for generating and viewing a report . . . . . . . . . . . . . . . . 25
Parsing strings with Actuate Basic functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
Using locale-independent parsing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
Using the ParseNumeric function . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
Using the ParseDate function. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
Understanding locale-dependent parsing . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
Understanding functions that operate on numeric expressions . . . . . . . . . . . . . . 27
Understanding functions that operate on date expressions . . . . . . . . . . . . . . . . . 29
Formatting dates, times, and numbers. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
Formatting dates and times . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
Formatting numbers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
Getting the locale name and locale attributes . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
Understanding GetLocaleName() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
Understanding GetLocaleAttribute() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
Using GetLocaleName() and GetLocaleAttribute() . . . . . . . . . . . . . . . . . . . . . . . 33
Designing Japanese e.reports . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
Using a localized sfdata database and externalized strings . . . . . . . . . . . . . . . . . . . . 34
About the localized sfdata database . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
About the externalized strings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
About the hash array library . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
Processing the text file. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
Retrieving the correct French string from the hash array . . . . . . . . . . . . . . . . . . 38
Chapter 3
Understanding report encoding . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
About report encoding. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
Setting the ReportEncoding property. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
Understanding the Language variable . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
Running reports with Actuate desktop products . . . . . . . . . . . . . . . . . . . . . . . . . . 44
Working with encoding and Actuate Basic functions . . . . . . . . . . . . . . . . . . . . . . . 44
Working with functions that operate on UCS-2 character codes . . . . . . . . . . . . . . . . 45
Using the AscW function . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
Using ChrW and ChrW$ functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
Using StringW and StringW$ functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
Working with functions that operate on code page character codes. . . . . . . . . . . . . . 45
iii
Using the Asc function . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .45
Using Chr and Chr$ functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .46
Using the String$ function . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .46
Working with functions that operate on byte length . . . . . . . . . . . . . . . . . . . . . . .46
Using the Actuate Basic Open statement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .47
About Actuate Basic functions that require conversion to code page . . . . . . . . . . . . . . .48
About Environ and Environ$ functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .48
About the Shell function . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .48
About functions that call external C or C++ functions . . . . . . . . . . . . . . . . . . . . . .49
About functions that access operating system resources . . . . . . . . . . . . . . . . . . . . .49
Working with Actuate Basic source (.bas) file encoding . . . . . . . . . . . . . . . . . . . . . . .49
Understanding Actuate Basic language elements. . . . . . . . . . . . . . . . . . . . . . . . .49
Saving Actuate Basic source (.bas) files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .50
About Windows platform limitations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .51
About database encoding . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .52
Designing Unicode e.reports . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .52
Using wide string Requester API calls. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .53
Chapter 4
Using fonts with multiple locales. . . . . . . . . . . . . . . . . . . . . . . . . . 55
Understanding font considerations for report development . . . . . . . . . . . . . . . . . . . .56
About the master font file . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .57
Understanding font considerations for report deployment . . . . . . . . . . . . . . . . . . . . .57
Using PostScript Type1 fonts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .57
Using TrueType fonts. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .57
Printing dynamic text controls on a UNIX printer . . . . . . . . . . . . . . . . . . . . . . . .58
Using Unicode fonts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .59
Chapter 5
Designing e.reports with right to left orientation. . . . . . . . . . . . . 61
About right to left orientation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .62
Displaying the application window with right to left orientation . . . . . . . . . . . . . . . . .62
About the right to left Design Editor window . . . . . . . . . . . . . . . . . . . . . . . . . . . .63
Displaying reports with right to left orientation . . . . . . . . . . . . . . . . . . . . . . . . . . .64
About positioning controls in a report . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .64
Setting the orientation programmatically . . . . . . . . . . . . . . . . . . . . . . . . . . . . .65
Changing the contents of controls for right to left reports. . . . . . . . . . . . . . . . . . . . . .66
Chapter 6
Using e.Spreadsheet with multiple locales. . . . . . . . . . . . . . . . . . 69
Deploying e.Spreadsheet in a translated language. . . . . . . . . . . . . . . . . . . . . . . . . .70
iv
Using code to override locale settings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71
Deploying e.Spreadsheet in a supported language. . . . . . . . . . . . . . . . . . . . . . . . . 72
Using regional settings with e.Spreadsheet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73
Understanding the limitations of customized regional settings . . . . . . . . . . . . . . . . 73
Using international symbols in XML. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73
Using non-English versions of e.Spreadsheet . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74
Chapter 7
Using Actuate Active Portal with multiple locales . . . . . . . . . . . . 75
About UTF-8 encoding . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76
Understanding resource management . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76
About time zones. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77
Understanding timezonemap.xml . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77
Using timezonemap.xml . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80
Using timezonemap.xml with Actuate e.Reporting Server . . . . . . . . . . . . . . . . . 80
Using timezonemap.xml with Actuate web-based products . . . . . . . . . . . . . . . . 80
Creating a custom time zone. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80
Understanding locale management . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81
About language preference . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82
About country designation. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82
Understanding presentation formats. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83
About file sizes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83
About dates and times . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83
Understanding e.Analysis limitations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83
Chapter 8
Using ReportCast with multiple locales . . . . . . . . . . . . . . . . . . . . 85
Changing the encoding of ReportCast templates . . . . . . . . . . . . . . . . . . . . . . . . . . 86
Using translated ReportCast templates . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86
Converting a Japanese report to PDF . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87
Working with locale-specific ReportCast configurations . . . . . . . . . . . . . . . . . . . . . 88
Using standard template configurations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89
Using custom template configurations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90
Mapping a custom template configuration to a locale . . . . . . . . . . . . . . . . . . . . . 91
Using the View process locale. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92
Chapter 9
Designing and deploying e.reports for multiple locales in
Actuate 5 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93
Viewing a DHTML report with a web browser . . . . . . . . . . . . . . . . . . . . . . . . . . . 94
Understanding character set considerations . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95
v
Understanding UTF-8 encoding . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .95
Working with strings in Actuate Basic . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .96
Working with strings in the APIs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .96
Understanding formatting considerations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .97
Understanding the locale map . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .97
Editing the locale map . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .99
About the ReportCast locale map . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100
Formatting examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100
Understanding formatting in the client/server environment . . . . . . . . . . . . . . . . . 102
Using Factory process formatting. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103
Enabling A.M. and P.M. symbols for non-English locales on AIX. . . . . . . . . . . . . . 105
Running the report server in C locale . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 107
Printing a Japanese report using XPrinter. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 108
Viewing DHTML reports with multiple locales . . . . . . . . . . . . . . . . . . . . . . . . . . 110
Viewing the report in the English (Canada) locale . . . . . . . . . . . . . . . . . . . . . . . 110
Viewing the report in the French (Canada) locale. . . . . . . . . . . . . . . . . . . . . . . . 111
Creating locale-specific ReportCast configurations . . . . . . . . . . . . . . . . . . . . . . . 112
Modifying the locale map . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112
Formatting currency controls . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 113
Translating labels . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 113
Working with the GlobalDHTMLCode property . . . . . . . . . . . . . . . . . . . . . . 113
Understanding the English/Franais button . . . . . . . . . . . . . . . . . . . . . . . . . 116
About English and French labels . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 116
Viewing reports on the desktop with multiple locales . . . . . . . . . . . . . . . . . . . . . . 117
Working with labels . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 118
Working with currency formats . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 121
Using localized Actuate desktop products . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 124
Understanding the limitations of multilingual reports in Actuate 5 . . . . . . . . . . . . . . . 124
Appendix A
Actuate locale codes. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 127
Appendix B
e.Spreadsheet internationalization information . . . . . . . . . . . . . 131
About internationalization information . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 132
Format symbols . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 132
Values and errors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 132
Function names . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 133
vi
Appendix C
Three-letter locale codes. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 149
Index . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 153
I n t r o d u c t i o n vii
I n t r o d u c t i o n
About Actuate e.Reporting Suite 6
Actuate is the leading provider of information delivery solutions for Global
2000 companies and packaged application software vendors. Our customers
use Actuate e.Reporting Suite 6 to retrieve business information from
corporate databases and deliver it as interactive web pages and Excel
spreadsheets to their customers, partners, and employees. Actuates customer
list includes pacesetters in aerospace, commercial banking, defense,
entertainment, federal government, financial services, health care, high
technology, insurance, life sciences, pharmaceuticals, retail, securities, and
telecommunications.
Our infrastructure software provides the foundation for applications that
support business analysis, customer relationship management, desktop
reporting, e.billing, e.procurement, executive dashboards, human resources,
key performance indicators, portals, service automation, supply chain
management, and systems management. In the e.Business environment, our
structured content technology seamlessly integrates into corporate web sites
and packaged applications. Actuate 6 supports information delivery in both
print and online formats and through data exchange with other applications.
By providing easy information access to millions of users, our customers gain
increased revenue, reduce IT spending, and improve customer service.
Because of the growing international requirements of our customer base,
Actuate 6 provides an unprecedented level of support for multilingual
reporting including full Unicode and an extensive list of supported locales.
This release features a highly scalable, highly available, high performance
server that further extends our lead in implementing enterprise-class
information delivery systems. Enhanced integration capabilities support
personalized and customizable portal development, web services, and
spreadsheet reporting.
viii e . Re p o r t i n g f o r Mu l t i p l e L o c a l e s
e.Business in the enterprise environment requires four primary technology
platforms. Actuate is the primary information delivery platform that provides
the content users need in the format in which they need it, in a secure, timely,
and cost-effective manner. In addition there are three e.Business platforms for
which Actuate provides the information delivery solution.
Actuate e.Reporting Suite 6 continues to offer core solutions for fundamental
enterprise reporting challenges.
Platform Function Purpose
Databases Organize data Access, manage, and
update data
Content management
systems
Manage unstructured
content
Publish unstructured
content such as
electronic catalogs
Application servers Deploy online
applications
Conduct complex
transactions, manage
supply chains, and
interact with customers
Challenge Actuate solution
Deliver high resolution information Solve complex data access problems
across a broad range of data sources
View structured content Support viewing DHTML reports in
standard browsers to eliminate plug-
in installation for millions of users
Meet varied information display
requirements
Provide template-based design and
display
Provide complex formatting
capabilities
Provide spreadsheet reporting
Meet exploding requirements for
web-based content delivery
Support over a million hits per day
per CPU
Deliver personalized secure
information
Provide open security directory
integration and page security
Reuse existing integrated content Open server provides access to
content from other applications
Maintain data integrity between
online and hard copy
Provide high-resolution printed copy
in postscript and PDF
I n t r o d u c t i o n ix
The following summary describes the products in Actuate e.Reporting Suite 6.
Actuate End User Desktop
An application used by end users to request, generate, view, and print report
documents. The ReportQuery capabilities enable seamless transfer of data
from an Actuate report to any productivity or analysis tool.
Actuate e.Report Designer
An application that complements e.Report Designer Professional and supports
business users in designing and distributing a variety of reports. These reports
require no programming. This application supports both modifying complex
reports and using sophisticated components from libraries.
Actuate e.Report Designer Java Edition
A report development application used by Java developers to design and
distribute a variety of reports. 100% Java compliant, the e.Report Designer
Java Edition includes both AWT and Swing APIs.
Actuate e.Report Designer Professional
An object-oriented application used by professional developers of structured
content to design, build, and distribute report object designs for delivery on
the web. The Actuate Basic Language and Actuate Foundation Class Library
support extensive customization capabilities.
Actuate Client Integration Technology is part of Actuate e.Report Designer
Professional and consists of the following:
I Actuate ActiveX Controls embed Actuate reporting functionality into
custom applications.
I Actuate Requester API accesses attributes and values of report parameters,
changes the values of report parameters, controls how and when a report
generates, displays and prints reports, and configures report print setup.
Access the Requester API using Actuate Basic, Visual Basic, C, or C++.
I Actuate search extension API supports developing search extensions to
transfer data to any third-party productivity or analysis tool.
Transfer information among
applications
Provide XML output to support
access to data across applications
Meet increasing requirements for
server-based reporting
Provide clustering and failover
support
Challenge Actuate solution
x e . Re p o r t i n g f o r Mu l t i p l e L o c a l e s
Actuate e.Reporting System
A server application that generates Live Report Documents, manages them in
the Report Encyclopedia volume, and makes them available to users.
Actuate e.Reporting System supports managing a cluster consisting of
multiple reports servers. Actuate e.Reporting System includes the following:
I Actuate Active Portal and Actuate ReportCast transform the Report
Encyclopedia volume into a dynamic, secure web site. They provide the
foundation for Channels and seamless integration with other web sites.
I Management Console, an application for system and network
administrators to manage and control one or more Actuate report servers.
I Actuate Server Integration Technology
I Actuate Information Delivery API integrates Actuate web services into
existing corporate applications, automates routine or time-consuming
report server tasks, and implements new feature groupings for custom
business processes. Actuate Information Delivery API is based on XML
and supports the SOAP messaging protocol.
I Actuates Report Server API implements common Report Encyclopedia
volume functionality using C++.
I Actuate Report Server Security Extension supports the use of third-
party security tools.
I Actuate archive driver supports the use of third-party archiving
software and hardware
Actuate e.Reporting System supports the following options:
I Actuate e.Analysis Option
An application used to transform data from an Actuate e.report into
interactive information. Users can view and analyze data to determine
relationships and trends.
I Actuate e.Report Option
A Basic and Java option that provides Report Encyclopedia volume
functionality for e.Report Designer, e.Report Designer Java Edition, and
e.Report Designer Professional.
I Actuate e.Spreadsheet Option
An open server application that generates Excel spreadsheets from
e.Spreadsheet Designer files. With this product customers manage
spreadsheet reports and analysis within the Actuate e.Reporting Server
and save Actuate reports as richly formatted Excel spreadsheets.
I Multi-Application Option
Multi-Application supports using more than one Report Encyclopedia
volume on the e.Reporting System.
I n t r o d u c t i o n xi
I Page Level Security Option
Page level security supports personalizing viewing privileges at the user
level for reports and parts of reports.
I Progress Option
A server application that supports working exclusively with Progress
databases that generates Live Report Documents, manages them in the
Report Encyclopedia volume, and makes them available to users.
Actuate e.Spreadsheet Designer
An application that supports designing, creating, and distributing custom
spreadsheets over the web. Users can dynamically generate richly formatted
Excel and spreadsheet-based reports from Actuate e.Reporting Server. These
spreadsheets can be part of an application, an applet, or a JavaBean.
Actuate Live Report Extension (LRX)
An application for end users that works with both Microsoft Internet Explorer
and Netscape Navigator to support report viewing and printing on the Web.
Actuate Live Report Extension (LRX) is included with all products except
Actuate e.Report Designer Java Edition and Actuate e.Spreadsheet Designer.
Actuate Viewer
An application for end users to find, view, and print report documents. The
ReportQuery capabilities are also part of the Actuate Viewer. Actuate Viewer
is included with all products except Actuate e.Report Designer Java Edition
and Actuate e.Spreadsheet Designer.
About e.Reporting for Multiple Locales
e.Reporting for Multiple Locales provides information for report developers and
system administrators who design and deploy report applications in locales
other than U.S. English.
e.Reporting for Multiple Locales includes the following chapters:
I Introduction. This chapter provides an overview of this guide and the
typographical conventions used.
I Chapter 1. Introduction to e.reporting for multiple locales. This chapter explains
what a locale is and describes the various elements that make up a locale.
xii e . R e p o r t i n g f o r Mu l t i p l e L o c a l e s
I Chapter 2. Formatting report data for multiple locales. This chapter describes
the locale map and explains how the formats for report data are
determined.
I Chapter 3. Understanding report encoding. This chapter explains how Actuate
determines the encoding to use when communicating with other programs.
I Chapter 4. Using fonts with multiple locales. This chapter explains how
Actuate obtains the font metrics for the fonts used in an Actuate report.
I Chapter 5. Designing e.reports with right to left orientation. This chapter
describes how to design reports with right to left orientation.
I Chapter 6. Using e.Spreadsheet with multiple locales. This chapter describes
how to design spreadsheets for locales other than U.S. English.
I Chapter 7. Using Actuate Active Portal with multiple locales. This chapter
discusses locale considerations for customizing Active Portal and describes
timezonemap.xml.
I Chapter 8. Using ReportCast with multiple locales. This chapter discusses how
to use the translated ReportCast templates and how to view a DHTML
report in a locale other than U.S. English.
I Chapter 9. Designing and deploying e.reports for multiple locales in Actuate 5.
This chapter contains information that applies only to Actuate 5.
I Appendix A. Actuate locale codes. This appendix lists the locale codes used in
Actuate Basic code.
I Appendix B. e.Spreadsheet internationalization information. This appendix lists
the formats e.Spreadsheet uses for French, Italian, German, Spanish, and
Japanese data.
I Appendix C. Three-letter locale codes. This appendix lists the locale codes used
in ReportCast URLs.
Online documentation
The information in the printed manuals is also available as online books in
Adobe Acrobat PDF format and in the online help system for Actuate
products. For products without a Windows interface, such as Actuate
e.Reporting System, Actuate e.Report Designer Java Edition, and Actuate
e.Spreadsheet Designer, we provide HTML help files. The HTML files install
automatically with the product. These files can be viewed with standard web
browsers.
I n t r o d u c t i o n xiii
Using online manuals
The online manuals install automatically with the product. You can also find
the online manuals on the product CD in the Manuals directory. The items in
the table of contents and the page numbers in the index both contain links to
the appropriate topics in the text. In the index, you access the link by
positioning your cursor over the page number, not the topic.
Typographical conventions
The following table describes the typographical conventions in this guide.
Item Convention Example
Code examples Sans serif Dim Text1 As String
File names Initial letter capitalized,
except e. Report
Designer Java Edition,
where file names are
case sensitive
Detail.roi
Key combination A + sign between keys
means to press both
keys at the same time
Ctrl+Shift
Menu items Capitalized, no bold File
Submenu items Separated from the
main menu item with a
small arrow
FileNew
User input or user
response
Sans serif M*16*
User input in XML and
Java code
Italics chkjava.exe
cab_name.cab
xiv e . Re p o r t i n g f o r Mu l t i p l e L o c a l e s
Syntax conventions
The following table describes the symbols used to present syntax.
Symbol Description Example
[ ] Optional item [Alias<alias name>]
Array subscript matrix[ ]
< > Argument you must
supply
<expression to format>
Delimiter in XML <tr>
{ } Groups two or more
mutually exclusive
options or arguments,
when used with a pipe
{While | Until}
Defines array contents {0, 1, 2, 3}
Delimiter of code block public ACJDesigner( )
{
}
| Separates mutually
exclusive options or
arguments in a group
Exit {Do | For |
Function | Sub}
Java OR operator int length |4
Ch a p t e r 1 , I n t r o d u c t i o n t o e . r e p o r t i n g f o r mu l t i p l e l o c a l e s 1
C h a p t e r
1
Chapter1Introduction to
e.reporting for multiple
locales
This chapter contains the following topics:
I About locales
I About character sets
I About character entry and display
I About fonts
I About date, time, currency, and number formats
I About calendars
I About collation sequences
I About case mapping
2 e . R e p o r t i n g f o r Mu l t i p l e L o c a l e s
About locales
Multinational corporations throughout the world deploy reporting
applications across cultural boundaries. Each culture has a set of conventions
for entering, displaying, and sorting data. This set of conventions is called a
locale.
A locale specifies the following:
I Code page
I Character entry and display
I Fonts
I Format for dates, times, currency, and numbers
I Calendar
I Collation sequence
I Case mapping
Internationalization is the process of making an application work correctly in
multiple locales.
About character sets
A character set is a mapping of specific characters to code points. For example,
in most character sets the letter A is mapped to the hexadecimal value 0x21.
Most languages use single-byte character sets. Chinese, Japanese, and Korean
use multibyte character sets.
About Unicode
Unicode is a character set that contains nearly every character from every
modern language and several ancient languages. If a file is encoded using
Unicode, the file can include any combination of languages. The most
commonly used Unicode encoding schemes are UCS-2 and UTF-8. UTF-8
contains more characters than UCS-2.
With UCS-2 encoding, every character is two bytes in length, including ASCII
characters. For example, the letter A is two bytes. Its hexadecimal value is
0x0021.
With UTF-8 encoding, characters vary in length from one to six bytes. ASCII
characters are one byte, just as they are in other character sets. For example,
the letter A is one byte. Its hexadecimal value is 0x21.
Ch a p t e r 1 , I n t r o d u c t i o n t o e . r e p o r t i n g f o r mu l t i p l e l o c a l e s 3
About code pages
Different platforms support different code pages. Every code page contains
the ASCII characters in the first 128 positions. Each code page also contains
characters from one or more other languages. For example, Microsoft
Windows code page 1252 contains the ASCII characters as well as characters
from many Western European languages.
A file is ordinarily encoded using a single code page that contains characters
from a specific set of languages. For this reason, certain combinations of
languages cannot be included in a single file unless the file uses Unicode
encoding. For example, French and Japanese cannot be included in a single file
unless the file uses Unicode encoding. English, however, can be included in a
file in combination with any other language.
About the Hong Kong Supplementary Character
Set (HKSCS)
Traditional Chinese character sets such as Big5 (Windows code page 950) do
not contain many characters commonly used in Hong Kong. The Hong Kong
Supplementary Character Set (HKSCS) contains approximately 5000
characters that are used in Hong Kong but not included in Big5. Many of these
characters are included in Unicode. For more information about the Hong
Kong Supplementary Character Set, navigate to one of the following URLs:
http://www.info.gov.hk/digital21/eng/hkscs/
http://www.microsoft.com/hk/hkscs/
About character entry and display
Character entry and display depend on the language. Many languages,
including English, read from left to right. Middle Eastern and North African
languages read from right to left. Traditionally, Chinese, Japanese, and Korean
read from top to bottom and right to left. Computers, however, read Chinese,
Japanese, and Korean from left to right.
About fonts
A font specifies how characters are displayed and printed. Most fonts work
with only one code page. On Microsoft Windows NT 4.0, some fonts, called
Big Fonts, work with more than one code page. Arial, Courier New, Lucida
Console, Lucida Sans Unicode, and Times New Roman are all Big Fonts. Arial,
4 e . R e p o r t i n g f o r Mu l t i p l e L o c a l e s
for example, includes Arial (Western), Arial (Cyrillic), and Arial (Greek). Big
Fonts can support many more languages than conventional fonts.
About date, time, currency, and number formats
The format used for dates, times, currency, and numbers depends on the
locale.
Understanding date and time formats
Date and time data can include one or more of the following elements:
I The name of the month
I The name of the day of the week
I BC, AD, B.C., or A.D.
I AM, PM, A.M., or P.M.
The language and sequence of these elements depend on the locale.
Example In the U.S. English locale, a date can be represented as follows:
Monday, May 17, 1999
In the standard French locale, the same date can be represented as follows:
lundi 17 mai 1999
Understanding currency and number formats
Currency and number data can include one or more of the following elements:
I The ISO currency symbol
I The local currency symbol
I The decimal separator
I The group (thousands) separator
The characters used for these elements depend on the locale.
Examples In the U.S. English locale:
I The local currency symbol is $.
I The group (thousands) separator is the comma.
I The decimal separator is the period.
Ch a p t e r 1 , I n t r o d u c t i o n t o e . r e p o r t i n g f o r mu l t i p l e l o c a l e s 5
Currency data formatted with the local currency symbol appears as follows:
$12,345.67
In the standard French locale:
I The local currency symbol is F.
I The group (thousands) separator is the space.
I The decimal separator is the comma.
Currency data formatted with the local currency symbol appears as follows:
12 345,67 F
About calendars
The calendar used in many locales is the Gregorian calendar. Other calendars
in use throughout the world include:
I Arabic Hijrah
I English Hijrah
I Japanese Imperial
I Persian
I ROC Official (Republic of China)
I Thai Buddha
About collation sequences
Very often, computers sort characters based on the characters binary values in
the character set. This sort order is called a binary sort. A binary sort does not
always yield a result that is consistent with the locales language. A sort order
that is consistent with the locales language is called a linguistic sort or
collation sequence.
Example Consider the three characters , B, and Z. A binary sort using the ISO 8859-1
character set yields the following result:
B
Z

6 e . R e p o r t i n g f o r Mu l t i p l e L o c a l e s
This sort order is correct for Swedish but not for German. For German, the
correct sort order is as follows:

B
Z
Actuate does not support linguistic sorting.
About case mapping
The uppercase or lowercase forms of letters can depend on the locale.
Example In the standard German locale, the uppercase form of the German sharp s

is
SS
In the German (Austria) locale, the uppercase form of the German sharp s

is
SZ
Ch a p t e r 2 , Fo r ma t t i n g r e p o r t d a t a f o r mu l t i p l e l o c a l e s 7
C h a p t e r
2
Chapter2Formatting report data for
multiple locales
This chapter contains the following topics:
I About locale precedence
I Running reports with Actuate desktop products
I About supported locales
I Using the locale map
I Specifying a locale with Actuate Active Portal
I Setting a reports locale
I Parsing strings with Actuate Basic functions
I Formatting dates, times, and numbers
I Getting the locale name and locale attributes
I Designing Japanese e.reports
I Using a localized sfdata database and externalized strings
8 e . R e p o r t i n g f o r Mu l t i p l e L o c a l e s
About locale precedence
The format for report data is determined by, from highest precedence to lowest
precedence:
I The locale used by the Actuate Basic Format and Format$ functions.
For more information about the Actuate Basic Format and Format$
functions, see Formatting dates, times, and numbers, later in this chapter.
I The reports locale.
For more information about setting a reports locale, see Setting a reports
locale, later in this chapter.
I The view request locale.
For more information about the view request locale, see Specifying a
locale with Actuate Active Portal, later in this chapter.
I The e.reporting systems default locale.
For more information about setting the default system locale parameter, see
Chapter 7, Setting e.Reporting Server parameters, in Administering
Actuate e.Reporting System.
I The default locale defined in localemap.xml.
For more information about localemap.xml, see Understanding
localemap.xml, later in this chapter.
I The US English locale.
Running reports with Actuate desktop products
When you run a report using one of Actuates desktop products, such as
e.Report Designer Professional, the locale precedence is different from the
locale precedence on the e.reporting system. For more information about
locale precedence on the e.reporting system, see About locale precedence,
earlier in this chapter.
Ch a p t e r 2 , Fo r ma t t i n g r e p o r t d a t a f o r mu l t i p l e l o c a l e s 9
On the desktop, the format for report data is determined by, from highest
precedence to lowest precedence:
I The locale used by the Actuate Basic Format and Format$ functions.
For more information about the Actuate Basic Format and Format$
functions, see Formatting dates, times, and numbers, later in this chapter.
I The reports locale.
For more information about setting a reports locale, see Setting a reports
locale, later in this chapter.
I The default locale specified on the General page of the Options dialog.
For more information about specifying a default locale, see How to
specify the default locale for an Actuate desktop product, later in this
chapter.
I The default locale specified when the product is installed.
I The default locale defined in localemap.xml.
For more information about localemap.xml, see Understanding
localemap.xml, later in this chapter.
How to specify the default locale for an Actuate desktop product
1 Choose ViewOptions.
2 In Options, choose General.
3 In Default locale, choose a locale from the drop-down list, and choose OK.
Your display is not refreshed until you take further action.
If you want the settings for the desktop products default locale to match
the Windows Regional Settings, you must modify localemap.xml. For
example, if you want the Long date format for the French (France) locale to
match the Long date format for the Windows French (Standard) locale, you
must modify the Long date format for the French (France) locale in
localemap.xml.
For more information about localemap.xml, see Understanding
localemap.xml, later in this chapter.
10 e . Re p o r t i n g f o r Mu l t i p l e L o c a l e s
About supported locales
Actuate e.Reporting Suite 6 supports the following locales:
I Albanian
I Arabic (Egypt)
I Bulgarian
I Chinese (Hong Kong SAR)
I Chinese (PRC)
I Chinese (Singapore)
I Chinese (Taiwan)
I Croatian
C h a p t e r 2 , Fo r ma t t i n g r e p o r t d a t a f o r mu l t i p l e l o c a l e s 11
I Czech
I Danish (Denmark)
I Dutch (Belgium)
I Dutch (Netherlands)
I English (Australia)
I English (Belize)
I English (Canada)
I English (Ireland)
I English (New Zealand)
I English (South Africa)
I English (United Kingdom)
I English (United States)
I Estonian
I Farsi
I Finnish
I French (Canada)
I French (France)
I German (Austria)
I German (Germany)
I German (Liechtenstein)
I Greek
I Hebrew
I Hungarian
I Indonesian
I Italian (Italy)
I Italian (Switzerland)
I Japanese
I Korean
I Latvian
I Norwegian (Bokmal)
12 e . Re p o r t i n g f o r Mu l t i p l e L o c a l e s
I Norwegian (Nynorsk)
I Polish
I Portuguese (Brazil)
I Portuguese (Portugal)
I Romanian
I Russian
I Serbian (Latin) (Yugoslavia)
I Slovak
I Slovenian
I Spanish (Mexico)
I Spanish (Spain)
I Swedish (Finland)
I Swedish (Sweden)
I Turkish (Turkey)
I Ukrainian (Ukraine)
Using the locale map
For Actuate Basic reports, the locale map specifies the following for the locales
that Actuate supports:
I Formats for dates and times
I Local and international currency symbols
I AM/PM symbols
I Plus, minus, and percent signs
I Decimal, grouping, date, time, and list separators
I Number of digits to group
I Number of digits after the decimal separator
I Input date mode
I Display of negative values
I Full and abbreviated month and day names
C h a p t e r 2 , Fo r ma t t i n g r e p o r t d a t a f o r mu l t i p l e l o c a l e s 13
Understanding localemap.xml
The locale map resides in an XML file called localemap.xml. localemap.xml
uses UTF-8 encoding. The portion of localemap.xml that specifies the default
locale, the ANSI C locale, is shown below.
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE SystemLocales (View Source for full doctype...)>
<SystemLocales name="Standard" xmlns:xsi="http://www.w3.org/2001/
XMLSchema-instance">
<Header>
<Copyright>
Actuate Corporation
Copyright(C) 2002 Actuate Corporation. All rights reserved.
</Copyright>
<Version>
<Name>RELEASE 1.0</Name>
<Major>1</Major>
<Minor>0</Minor>
</Version>
</Header>
<Locale ID="default">
<DisplayName>ANSI C</DisplayName>
<Code>en_US</Code>
<FormatPatterns>
<Date>
<Short>M/d/yyyy</Short>
<Medium>MMM d, yyyy</Medium>
<Long>dddd, MMMM dd, yyyy</Long>
<Full />
<AB_Medium>dd-MMM-yy</AB_Medium>
</Date>
<Time>
<Short>h:mm a</Short>
<Medium>h:mm:ss a</Medium>
<Long>h:mm:ss a</Long>
<Full />
<AB_Short>HH:mm</AB_Short>
<AB_Medium>hh:mm a</AB_Medium>
</Time>
<DateTime>
<Short>M/d/yyyy h:mm a</Short>
<Medium>MMM d, yyyy h:mm:ss a</Medium>
<Long>dddd, MMMM dd, yyyy h:mm:ss a</Long>
</DateTime>
</FormatPatterns>
<Symbols>
14 e . Re p o r t i n g f o r Mu l t i p l e L o c a l e s
<Currency>$</Currency>
<IntCurrency>USD</IntCurrency>
<Plus />
<Minus>-</Minus>
<AM>AM</AM>
<PM>PM</PM>
<Infinity> </Infinity>
<NotANumber>NaN</NotANumber>
<Percent />
<Separators>
<Decimal>.</Decimal>
<Grouping>,</Grouping>
<CurrencyDecimal>.</CurrencyDecimal>
<CurrencyGrouping>,</CurrencyGrouping>
<Date>/</Date>
<Time>:</Time>
<List>,</List>
</Separators>
</Symbols>
<Positions>
<Grouping>3</Grouping>
<CurrencyGrouping>3</CurrencyGrouping>
<FractionDigits>2</FractionDigits>
<IntFractionDigits>2</IntFractionDigits>
<InputDateMode>0</InputDateMode>
<CurrencySymbol>
<Positive>PrecedeNoSpace</Positive>
<Negative>PrecedeNoSpace</Negative>
</CurrencySymbol>
<Sign>
<Positive>Precede</Positive>
<Negative>Parentheses</Negative>
</Sign>
</Positions>
<NameLists>
<MonthsOfYear>
<Short>
<January>Jan</January>
<February>Feb</February>
<March>Mar</March>
<April>Apr</April>
<May>May</May>
<June>Jun</June>
<July>Jul</July>
<August>Aug</August>
<September>Sep</September>
<October>Oct</October>

C h a p t e r 2 , Fo r ma t t i n g r e p o r t d a t a f o r mu l t i p l e l o c a l e s 15
<November>Nov</November>
<December>Dec</December>
</Short>
<Full>
<January>January</January>
<February>February</February>
<March>March</March>
<April>April</April>
<May>May</May>
<June>June</June>
<July>July</July>
<August>August</August>
<September>September</September>
<October>October</October>
<November>November</November>
<December>December</December>
</Full>
</MonthsOfYear>
<DaysOfWeek>
<Short>
<Sunday>Sun</Sunday>
<Monday>Mon</Monday>
<Tuesday>Tue</Tuesday>
<Wednesday>Wed</Wednesday>
<Thursday>Thu</Thursday>
<Friday>Fri</Friday>
<Saturday>Sat</Saturday>
</Short>
<Full>
<Sunday>Sunday</Sunday>
<Monday>Monday</Monday>
<Tuesday>Tuesday</Tuesday>
<Wednesday>Wednesday</Wednesday>
<Thursday>Thursday</Thursday>
<Friday>Friday</Friday>
<Saturday>Saturday</Saturday>
</Full>
</DaysOfWeek>
</NameLists>
</Locale>
.
.
.
</SystemLocales>
16 e . Re p o r t i n g f o r Mu l t i p l e L o c a l e s
The following table lists the XML tags in localemap.xml and a description of
each tag.
XML tag Description
Locale ID For every locale except the default locale, the ISO
639 language code plus the ISO 3166 country code.
For a list of Actuate locale codes, see Appendix A,
Actuate locale codes.
For the default locale, the Locale ID is "default".
DisplayName Locale name displayed on the Active Portal and
Management Console login pages.
Code The ISO 639 language code plus the ISO 3166
country code.
Date
Short
Medium
Long
Full
AB_Medium
Short date format
Medium date format
Long date format
Full date format
Medium date format (provided for backward
compatibility)
See About the AB tags, later in this chapter.
Time
Short
Medium
Long
Full
AB_Short
AB_Medium
Short time format
Medium time format
Long time format
Full time format
Short time format (provided for backward
compatibility)
Medium time format (provided for backward
compatibility)
See About the AB tags, later in this chapter.
DateTime
Short
Medium
Long
Short date/time format
Medium date/time format
Long date/time format
C h a p t e r 2 , Fo r ma t t i n g r e p o r t d a t a f o r mu l t i p l e l o c a l e s 17
Symbols
Currency
IntCurrency
Plus
Minus
AM
PM
Infinity
NotANumber
Percent
Local currency symbol
International currency symbol
Plus sign
Minus sign
AM symbol
PM symbol
Infinity symbol
Not a number symbol
Percent sign
Separators
Decimal
Grouping
CurrencyDecimal
CurrencyGrouping
Date
Time
List
Decimal separator for numbers
Grouping separator for numbers
Decimal separator for currency
Grouping separator for currency
Date separator
Time separator
List separator (used when an Active Portal user
downloads search results as comma delimited
data)
Positions
Grouping
CurrencyGrouping
FractionDigits
IntFractionDigits
InputDateMode
Number of digits to group for numbers
Number of digits to group for currency
Number of digits after the decimal separator for
currency
Number of digits after the decimal separator for
numbers
Specifies the order in which the day, month,
and year are entered:
0 = month, day, year
1 = day, month, year
2 = year, month, day
XML tag Description
18 e . Re p o r t i n g f o r Mu l t i p l e L o c a l e s
CurrencySymbol
Positive
Negative
Position of currency symbol for positive values:
PrecedeNoSpace
PrecedeWithSpace
SucceedNoSpace
SucceedWithSpace
Position of currency symbol for negative
values:
PrecedeNoSpace
PrecedeWithSpace
SucceedNoSpace
SucceedWithSpace
Sign
Positive
Negative
Position of sign for positive values:
Parentheses = no sign, enclose number in
parentheses
Precede
PrecedeCurrencySymbol
Succeed
SucceedWithSpace
Position of sign for negative values:
Parentheses = no sign, enclose number in
parentheses
Precede
PrecedeCurrencySymbol
Succeed
SucceedWithSpace
MonthsOfYear
Short
Full
Abbreviated month names.
Full month names.
DaysOfWeek
Short
Full
Abbreviated day names.
Full day names.
XML tag Description
C h a p t e r 2 , Fo r ma t t i n g r e p o r t d a t a f o r mu l t i p l e l o c a l e s 19
The following table lists the symbols that can be used to construct date format
patterns and a description of each symbol.
The following table lists the symbols that can be used to construct time format
patterns and a description of each symbol.
Date symbol Description
G Era designator
y Year
M Month
d Day of month
E Weekday name
D Day of year
F Day of week in month, for
example 2 represents the second
Wednesday in July
w Week of year
W Week of month
' Escape character
'' (Two single quotes) Single quote
Time symbol Description
h Hour (1-12)
H Hour (0-23)
m Minute
s Second
S Millisecond
a AM/PM symbol
k Hour of day (1-24)
K Hour of AM/PM
(0-11)
z Time zone
' Escape character
'' (Two single quotes) Single quote
20 e . Re p o r t i n g f o r Mu l t i p l e L o c a l e s
The following table lists several format patterns and sample results for the US
English locale.
About the AB tags
The following tags are provided for backward compatibility with Actuate 5:
I AB_Medium in the Date section
I AB_Short in the Time section
I AB_Medium in the Time section
For example, if you use the Medium Date keyword to format a date/time
control in an Actuate Basic report design, the date displays with the format
pattern specified by the AB_Medium tag in the Date section, dd-MMM-yy. The
date does not display with the format pattern specified by the Medium tag in
the Date section, MMM d, yyyy. The format pattern specified by the
AB_Medium tag is the Actuate Basic Medium Date format pattern used in
Actuate 5. The format pattern specified by the Medium tag is used by Active
Portal and Management Console.
Using localemap.xml
The following products use localemap.xml:
I Actuate e.Reporting Server
I Actuate web-based products
I Actuate desktop products
localemap.xml must be consistent across the e.reporting system. For example,
if the system administrator makes a change to the localemap.xml file used by
the report server, the change must be applied to the localemap.xml files used
by the web-based products and the desktop products as well.
Format pattern Sample result
yyyy.MM.dd G 'at' HH:mm:ss z 1996.07.01 AD at 15:08:56 PDT
EEE, MMM d, ''yy Wed, Jul 1, 96
h:mm a 1:08 PM
hh 'o''clock' a, zzzz 12 oclock PM, Pacific Daylight
Time
K:mm a, z 0:00 PM, PST
yyyyy.MMMMM.dd GGG hh:mm aaa 1996.July.01 AD 02:08 PM
C h a p t e r 2 , Fo r ma t t i n g r e p o r t d a t a f o r mu l t i p l e l o c a l e s 21
Using localemap.xml with Actuate e.Reporting Server
localemap.xml is located in $AC_SERVER_HOME/etc. If localemap.xml is
modified, the system administrator must restart every report server in the
e.reporting system. Every report server in the e.reporting system must use the
same localemap.xml.
Because locale processing is handled by localemap.xml, it does not matter
which locale the report server runs in. In most cases, the best performance is
achieved when the report server runs in C locale.
Using localemap.xml with Actuate web-based products
The following web-based products use localemap.xml:
I Active Portal
localemap.xml is located in \Actuate6\AcReportCast\WEB-INF.
I Actuate Management Console
localemap.xml is located in \Actuate6\AcAdmin\WEB-INF.
I ReportCast
localemap.xml is located in \Actuate6\ReportCast Server\etc.
If localemap.xml is modified, the web server or the web application must be
restarted.
Using localemap.xml with Actuate desktop products
localemap.xml is located in \Actuate6\<Product Name>\config. For example,
for e.Report Designer Professional localemap.xml is located in
\Actuate6\eRDPro\config. If localemap.xml is modified, the product must be
restarted.
Creating a custom locale
The system administrator can change the settings for the locales that Actuate
supports or create a custom locale by modifying localemap.xml. The custom
locale ID must be an alphanumeric ASCII string of fewer than 16 characters.
Do not use non-alphanumeric characters such as comma and space.
Use Java date/time formats. Do not use Windows date/time formats.
Do not use time formats that do not indicate whether the time is AM or PM.
For example, do not use the time format "hh:mm". Instead, use "hh:mm a" or
"HH:mm". If you use the time format "hh:mm", the time is displayed as 08:55.
If you use the time format "hh:mm a", the time is displayed as 08:55 PM. If you
use the time format "HH:mm", the time is displayed as 20:55.
22 e . Re p o r t i n g f o r Mu l t i p l e L o c a l e s
If the custom locale does not set an attribute, the attribute setting for the
default locale is used. For example, if the custom locale does not set the long
date format, the long date format for the default locale is used.
Specifying a locale with Actuate Active Portal
When a report user logs in to Active Portal, he can choose a locale from the
drop-down list on the login page. This list contains the locales defined in
localemap.xml. The locale chosen by the user is included in Active Portal
URLs and in the Actuate SOAP API request that Active Portal sends to the
e.reporting system. The e.reporting system then formats reports for this locale.
For example:
I The user chooses the locale French (France) on the Active Portal login page.
I The user selects a report to view, yielding the following URL.
http://<web_server>/acweb/viewer/viewframeset.jsp?name=/detail/
detail1.roi&page=1&Locale=fr_FR
I Active Portal sends an Actuate SOAP API request to the e.reporting
system. The locale is included in the header. The request uses UTF-8
encoding.
<ENC:Header>
<Authid>????</Authid>
<TargetVolume>sales</TargetVolume>
<Locale>fr_FR</Locale>
</ENC:Header>
I The e.reporting system formats the report for the French (France) locale.
I The DHTML report appears in the users web browser.
For more information about support for multiple locales in Active Portal, see
Chapter 7, Using Actuate Active Portal with multiple locales.
C h a p t e r 2 , Fo r ma t t i n g r e p o r t d a t a f o r mu l t i p l e l o c a l e s 23
Setting a reports locale
The report developer can set a reports locale with the top-level report
components Locale property, or by overriding methods. The Locale setting
determines the formats for dates, times, currency, and numbers.
Setting the Locale property
To set the Locale property, choose a locale from the drop-down in the top-level
report components Component Editor.
Setting different locales for generating, viewing,
and printing a report
The report developer can set different locales for generating, viewing, and
printing a report by overriding the following methods:
I Function GetFactoryLocale( defaultLocale As String ) As String
I Function GetViewLocale( defaultLocale As String ) As String
I Function GetPrintLocale( defaultLocale As String ) As String
These methods are associated with the top-level report component.
24 e . Re p o r t i n g f o r Mu l t i p l e L o c a l e s
Using GetFactoryLocale( )
To set a locale for generating a report, override GetFactoryLocale( ).
GetFactoryLocale( ) is called before the report is generated. If this method is
not overridden, the value of the Locale property is used. For example,
Function GetFactoryLocale( defaultLocale As String ) As String
GetFactoryLocale = Super::GetFactoryLocale( defaultLocale )
GetFactoryLocale = LocaleParam
End Function
where LocaleParam is a parameter of type String. The return value of
GetFactoryLocale( ) is stored in the ROI.
Using GetViewLocale( )
To set a locale for viewing a report, override GetViewLocale( ).
GetViewLocale( ) is called before the report is viewed. If this method is not
overridden, the Locale value stored in the ROI is used. For example,
Function GetViewLocale( defaultLocale As String ) As String
GetViewLocale = Super::GetViewLocale( defaultLocale )
GetViewLocale = LocaleParam
End Function
where LocaleParam is a parameter of type String. The return value of
GetViewLocale( ) is not stored in the ROI; it is used only for viewing the
report.
Using GetPrintLocale( )
To set a locale for printing a report on a report server, override
GetPrintLocale( ). GetPrintLocale( ) is called before the report is printed on the
report server. If this method is not overridden, the Locale value stored in the
ROI is used. For example,
Function GetPrintLocale( defaultLocale As String ) As String
GetPrintLocale = Super::GetPrintLocale( defaultLocale )
GetPrintLocale = LocaleParam
End Function
where LocaleParam is a parameter of type String. The return value of
GetPrintLocale( ) is not stored in the ROI; it is used only for printing the report
on the report server. For desktop products, the printing locale is the same as
the viewing locale.
C h a p t e r 2 , Fo r ma t t i n g r e p o r t d a t a f o r mu l t i p l e l o c a l e s 25
Setting different locales for generating and viewing a
report
1 Create two parameters of type String:
I generatingLocaleParam
I viewingLocaleParam
2 Override GetFactoryLocale( ).
Function GetFactoryLocale( defaultLocale As String ) As String
GetFactoryLocale = Super::GetFactoryLocale( defaultLocale )
If generatingLocaleParam <> "" Then
GetFactoryLocale = generatingLocaleParam
End If
End Function
3 Create a String variable called viewingLocale on the top-level report
component.
4 Override the top-level report components Start( ) method.
Sub Start( )
Super::Start( )
If viewingLocaleParam <> "" Then
viewingLocale = viewingLocaleParam
End If
End Sub
5 Override GetViewLocale( ).
Function GetViewLocale( defaultLocale As String ) As String
GetViewLocale = Super::GetViewLocale( defaultLocale )
If viewingLocale <> "" Then
GetViewLocale = viewingLocale
End If
End Function
Parsing strings with Actuate Basic functions
Many Actuate Basic functions parse strings. Some of these functions parse
strings without taking the reports runtime locale into account, while others
parse strings according to the rules of the runtime locale.
For more information about Actuate Basic functions, see Chapter 2,
Statements and functions, in Actuate Basic Language Reference.
26 e . Re p o r t i n g f o r Mu l t i p l e L o c a l e s
Using locale-independent parsing
The ParseNumeric and ParseDate functions parse strings without taking the
reports runtime locale into account.
Using the ParseNumeric function
To parse a numeric expression without taking the reports runtime locale into
account, use the ParseNumeric function. ParseNumeric takes a numeric
expression of type String and the decimal separator, thousands separator, and
currency symbol used in the expression and returns a Double. For example:
ParseNumeric("123,456.78", ".", ",", NULL) returns 123456.78
ParseNumeric("123.456,78", ",", ".", NULL) returns 123456.78
ParseNumeric("123!456*78", "*", "!", NULL) returns 123456.78
ParseNumeric("$1,500.00", ".", ",", "$") returns 1500.00
If the decimal separator or thousands separator evaluates to Null or empty
string, the decimal separator or thousands separator specified by the runtime
locale is used.
Using the ParseDate function
To parse a date expression for a specific locale, use the ParseDate function.
ParseDate takes a date expression of type String, the date expressions format,
and the locale code and returns a Date. For example, to parse a date expression
for the French (France) locale:
Dim d_date As Date
d_date = ParseDate("25/12/01", "dmy", "fr_FR")
If the locale code evaluates to Null or is not valid, the reports runtime locale is
used.
For a list of the codes for supported locales, see Appendix A, Actuate locale
codes.
The following table lists example formats and date expressions.
Format Date expression Description
ymd 1999-03-04 Year-month-day with four-digit
year.
mdy Nov. 12, 1972 Month-day-year with four-digit
year.
mdy19 11/12/72 Month-day-year with two-digit
year assumed to be in the
twentieth century.
C h a p t e r 2 , Fo r ma t t i n g r e p o r t d a t a f o r mu l t i p l e l o c a l e s 27
Understanding locale-dependent parsing
Many Actuate Basic functions parse strings according to the rules of the
reports runtime locale:
I Understanding functions that operate on numeric expressions
I Understanding functions that operate on date expressions
Locale-dependent parsing is not recommended. For more information about
locale-independent parsing, see Using locale-independent parsing, earlier in
this chapter.
Understanding functions that operate on numeric
expressions
Several Actuate Basic functions operate on numeric expressions of type String.
These functions parse the numeric expression according to the rules of the
reports runtime locale. For example:
CDbl("123,456") returns 123456.00 for the US locale.
CDbl("123,456") returns 123.456 for the French (France) locale.
dmyp 28-3-02 Day-month-year with two-digit
year that uses the default Actuate
pivot date.
mdy19p25 4/1/83 Month-day-year with century and
pivot. Use this format when
importing data from a file.
ymdt 1999-01-28 17:15 Year-month-day with 24-hour
time.
mdyt12 1/4/94 9:12 AM Month-day-year with 12-hour
time.
w?mdyt12? Sat. May 14, 1999
12:43 PM
Month-day-year with optional
weekday and time.
mdy?t12? May 14, 1999
5/14/1999
5/14/1999 12:48 PM
12:48 pm
Month-day-year with optional
date and time.
Format Date expression Description
28 e . Re p o r t i n g f o r Mu l t i p l e L o c a l e s
Function Description
Abs Returns the absolute value for a number or
expression.
Atn Gives the arctangent of a number.
CCur Converts a numeric expression to the Currency
data type.
CDbl Converts a numeric expression to the Double data
type.
CInt Converts a numeric expression to the Integer data
type.
CLng Converts a numeric expression to the Long data
type.
Cos Returns the cosine of an angle.
CSng Converts a numeric expression to the Single data
type.
CStr Converts an expression to the String data type.
Exp Raises e to the specified power.
Fix Removes the fractional part of a numeric
expression and returns whatever integer remains.
Int Returns the largest integer that is less than or
equal to a given numeric expression.
IsNumeric Tests whether the type of a variable is or can be
converted to Integer, Long, Single, Double, or
Currency.
Oct, Oct$ Converts a numeric expression from decimal to
octal notation, and from numeric to string.
Sin Gives the sine of an angle.
Sqr Gives the square root of a number.
Str, Str$ Converts a numeric expression to a String.
Tan Returns the tangent of an angle.
C h a p t e r 2 , Fo r ma t t i n g r e p o r t d a t a f o r mu l t i p l e l o c a l e s 29
Understanding functions that operate on date expressions
Several Actuate Basic functions operate on date expressions of type String.
These functions parse the date expression according to the rules of the reports
runtime locale.
Function Description
CDate Converts an expression to a Date.
CVDate Converts an expression to a Variant of VarType 7
(Date).
DateAdd Returns a date to which a specified time interval
has been added.
DateDiff Calculates and returns the time difference
between two specified dates.
DatePart Returns a specified component of a given date.
DateValue Returns a date variant that represents the date of
the supplied string.
Day Returns an integer between 1 and 31, inclusive,
that represents the day of the month for a
supplied date argument.
Hour Returns the hour of the day as an integer from 0
(midnight) to 23 (11:00 p.m.), inclusive, based on a
supplied date expression.
IsDate Determines whether the given argument can be
converted to a date.
Minute Returns an integer from 0 to 59, inclusive, that
represents the minute of the hour specified by a
supplied date expression.
Month Returns an integer between 1 and 12, inclusive,
that represents the month of the year for a
supplied date argument.
Second Returns an integer from 0 to 59, inclusive, that
represents the second of the minute specified by a
supplied date expression.
TimeValue Returns a Date variant representing a time of day,
based on a supplied string.
30 e . Re p o r t i n g f o r Mu l t i p l e L o c a l e s
Formatting dates, times, and numbers
Use the Actuate Basic functions Format and Format$ to format dates, times,
and numbers for a specific locale.
For more information about Actuate Basic functions, see Chapter 2,
Statements and functions, in Actuate Basic Language Reference.
Formatting dates and times
To format a date or time for a specific locale, use the Format or Format$
function. Format[$] takes a date variant, a format keyword or string, and the
locale code. For example, to format a date variant for the French (France)
locale:
Format$(DateVar, "Long date", "fr_FR")
If the locale code evaluates to Null or is not valid, the reports runtime locale is
used.
For a list of the codes for supported locales, see Appendix A, Actuate locale
codes.
The following format keywords are locale-dependent. These format keywords
are defined in localemap.xml, not in the Windows Regional Settings
Properties:
I General date
I Long date
I Medium date
I Short date
I Long time
I Medium time
I Short time
Weekday Returns an integer between 1 (for Sunday) and 7
(for Saturday) that represents the day of the week
for a supplied date argument.
Year Returns an integer between 100 and 9999,
inclusive, that represents the year of a supplied
date argument.
Function Description
C h a p t e r 2 , Fo r ma t t i n g r e p o r t d a t a f o r mu l t i p l e l o c a l e s 31
The following format strings are locale-dependent:
I ddd
Three-letter abbreviation for day of the week specified in localemap.xml.
I dddd
Full name of day of the week specified in localemap.xml.
I mmm
Three-letter abbreviation for month name specified in localemap.xml.
I mmmm
Full name of the month specified in localemap.xml.
I @
Date separator specified in localemap.xml, for example mm@dd@yyyy.
I AMPM
AM/PM symbols specified in localemap.xml.
For more information about localemap.xml, see Understanding
localemap.xml, earlier in this chapter.
Formatting numbers
To format a number for a specific locale, use the Format or Format$ function.
Format[$] takes a numeric expression, a format keyword or string, and the
locale code. For example, to format a numeric expression for the French
(France) locale:
Format(3434.2899, "Currency", "fr_FR")
If the locale code evaluates to Null or is not valid, the reports runtime locale is
used.
For a list of the codes for supported locales, see Appendix A, Actuate locale
codes.
If you use a format keyword such as General number, the thousands separator
and the decimal separator are locale-dependent. If you use the Currency
format keyword, the currency symbol is locale-dependent.
If you use a format string such as #,###,##0.0, the comma (,) is replaced with
the thousands separator for the specified locale, and the period (.) is replaced
with the decimal separator for the specified locale.
32 e . Re p o r t i n g f o r Mu l t i p l e L o c a l e s
Getting the locale name and locale attributes
Use the Actuate Basic functions GetLocaleName() and GetLocaleAttribute() to
get the locale name and locale attributes.
For more information about Actuate Basic functions, see Chapter 2,
Statements and functions, in Actuate Basic Language Reference.
Understanding GetLocaleName()
GetLocaleName() returns the name of the runtime locale. GetLocaleName()
returns a string.
Understanding GetLocaleAttribute()
GetLocaleAttribute() returns an attribute for the specified locale.
GetLocaleAttribute() returns a string. For example, to get the currency symbol
for the French (France) locale:
GetLocaleAttribute("fr_FR", AC_LOCALE_CURRENCY)
For a list of the codes for supported locales, see Appendix A, Actuate locale
codes.
The following table lists the locale attributes that can be returned by
GetLocaleAttribute().
Attribute name Returns
AC_LOCALE_CURRENCY Currency
symbol
AC_LOCALE_CURRENCY_FORMAT Format for
currency
AC_LOCALE_CURRENCY_RADIX Decimal
separator for
currency
AC_LOCALE_CURRENCY_THOUSAND_SEPARATOR Thousands
separator for
currency
AC_LOCALE_DATE_LONG Long date
format
AC_LOCALE_DATE_SEPARATOR Date separator
AC_LOCALE_DATE_SHORT Short date
format
C h a p t e r 2 , Fo r ma t t i n g r e p o r t d a t a f o r mu l t i p l e l o c a l e s 33
Using GetLocaleName() and GetLocaleAttribute()
The following examples show how to use GetLocaleName() and
GetLocaleAttribute().
Parse the numeric string 1.001,99.
sep1000 = GetLocaleAttribute("fr_FR",
AC_LOCALE_NUM_THOUSAND_SEPARATOR)
radix = GetLocaleAttribute("fr_FR", AC_LOCALE_NUM_RADIX)
ParseNumeric("1.001,99", sep1000, radix)
Get a comma-separated list of day abbreviations for the runtime locale.
dayShortNames = GetLocaleAttribute(GetLocaleName(),
AC_LOCALE_WEEKDAYS_SHORT)
AC_LOCALE_MONTHS_LONG Comma-
separated list of
month names
AC_LOCALE_MONTHS_SHORT Comma-
separated list of
month
abbreviations.
AC_LOCALE_NUM_RADIX Decimal
separator for
numbers
AC_LOCALE_NUM_THOUSAND_SEPARATOR Thousands
separator for
numbers
AC_LOCALE_TIME_AM_STRING AM string
AC_LOCALE_TIME_FORMAT Time format
AC_LOCALE_TIME_PM_STRING PM string
AC_LOCALE_TIME_SEPARATOR Time separator
AC_LOCALE_WEEKDAYS_LONG Comma-
separated list of
day names
AC_LOCALE_WEEKDAYS_SHORT Comma-
separated list of
day
abbreviations
Attribute name Returns
34 e . Re p o r t i n g f o r Mu l t i p l e L o c a l e s
If the runtime locale is US English, the string dayShortNames contains:
Mon,Tue,Wed,Thu,Fri,Sat,Sun
Designing Japanese e.reports
Japanese editions of e.Report Designer Professional and Actuates other
desktop products are available. e.Report Designer Professional uses the
Japanese resource files if:
I The operating system locale is Japanese.
I The Japanese executable, \Actuate6\eRDPro\nls\jpn\erdpro.jpn, exists.
The Japanese resource files provide:
I A Japanese user interface.
I Japanese messages.
I Japanese format patterns, such as imperial year ("gg") and weekday name
("aaa").
I Default font mapping to the Japanese fonts MS Gothic and MS Mincho.
For Japanese localized Actuate products, the date format must be specified
with the Actuate Basic Format() function. If the date format is specified with
the date controls Format property, the date does not display correctly.
Reports designed with Japanese e.Report Designer Professional can run on a
Japanese e.reporting server but not on an English e.reporting server. Reports
designed with English e.Report Designer Professional can run on either a
Japanese e.reporting server or on an English e.reporting server.
For more information about designing Japanese reports, see Understanding
font considerations for report development, in Chapter 4, Using fonts with
multiple locales.
Using a localized sfdata database and externalized
strings
You can create a localized version of the Detail report using a localized sfdata
database and a text file that contains the strings used in the report. This section
uses an example to demonstrate the process.
C h a p t e r 2 , Fo r ma t t i n g r e p o r t d a t a f o r mu l t i p l e l o c a l e s 35
About the localized sfdata database
This version of the Detail report connects to a French localized version of the
sfdata database. For example, the first five rows of the items table are as
follows.
About the externalized strings
The strings in the French Detail report are externalized in a text file. The text
file is a character separated value file with two fields in each line:
I The first field is the label controls fully qualified component name in the
report design.
I The second field is the appropriate French string.
36 e . Re p o r t i n g f o r Mu l t i p l e L o c a l e s
The file contains one line for each label control component used in the report
design.
ReportTitle::LabelControl, 1999 T2 Prvisions des ventes pour la rgion Est
ReportTitle::LabelControl11, MultiChip Technology
ReportTitle::LabelControl1, MultiChip Technology
ReportTitle::LabelControl2, Total des prvisions des ventes :
OfficeTitleFrame::LabelControl1, Total des prvisions des ventes :
.
.
.
About the hash array library
The report design uses a hash array library to associate the correct French
string with a label control component. The hash array library is in a separate
BAS file. The BAS file declares a global variable, labelDictionary, and a class,
MyDictionary. The variable labelDictionary can hold a reference to an instance
of the class MyDictionary. All components in the report design, including
those in libraries, have access to labelDictionary.
Declare
Global labelDictionary As MyDictionary
End Declare
Class MyDictionary
Dim KeyLen(9) As Integer
Dim Key0() As String
DimKey1() As String
.
.
.
End Class
The following methods are associated with the class MyDictionary:
I Sub New()
I Sub Delete()
I Function ComputeHashKey(strKey as String)
I Sub Add(strKey as String, strValue as String)
I Function GetValue(strKey as String)
C h a p t e r 2 , Fo r ma t t i n g r e p o r t d a t a f o r mu l t i p l e l o c a l e s 37
Processing the text file
The top-level report components Start() method processes the text file
label.txt.
Sub Start()
Super::Start()
' Insert your code here
Dim fileNumber As Integer
Dim labelName As String
Dim labelValue As String
Set labelDictionary = New MyDictionary
fileNumber = FreeFile
Open "label.txt" For Input As #fileNumber
Do While Not EOF(fileNumber)
Input #fileNumber, labelName, labelValue
labelDictionary.Add(labelName, labelValue)
Loop
Close #fileNumber
End Sub
The Start() method:
I Initializes the global variable labelDictionary as a reference to an instance
of the class MyDictionary.
I Opens the text file label.txt.
I Calls labelDictionarys Add() method to place the contents of label.txt in a
hash array.
I Closes label.txt.
38 e . Re p o r t i n g f o r Mu l t i p l e L o c a l e s
Retrieving the correct French string from the hash array
The label controls in this report are references to library components. The
Start() method for each label control component in the library retrieves the
correct French string from the hash array.
Sub Start()
Super::Start()
' Insert your code here
Dim newText as String
Dim labelName as String
labelName=GetClassName(me)
newText=labelDictionary.GetValue(labelName)
If Not IsNull(newText) Then
Text = newText
End If
End Sub
The Start() method:
I Assigns the label controls fully qualified component name to the local
variable labelName.
I Calls labelDictionarys GetValue method to retrieve the French string
associated with the label control component and assigns this string to the
local variable newText.
I Sets the label control components Text property to newText.
Ch a p t e r 3 , Un d e r s t a n d i n g r e p o r t e n c o d i n g 39
C h a p t e r
3
Chapter3Understanding report
encoding
This chapter contains the following topics:
I About report encoding
I Running reports with Actuate desktop products
I Working with encoding and Actuate Basic functions
I Using the Actuate Basic Open statement
I About Actuate Basic functions that require conversion to code page
I Working with Actuate Basic source (.bas) file encoding
I About database encoding
I Designing Unicode e.reports
I Using wide string Requester API calls
40 e . Re p o r t i n g f o r Mu l t i p l e L o c a l e s
About report encoding
Actuate uses UCS-2 encoding for internal processing. When an Actuate Basic
report application passes strings to an external program that does not support
UCS-2 or to the operating system, however, the strings are converted to code
page. The code page is determined by, from highest precedence to lowest
precedence:
I The top-level report components ReportEncoding property.
For more information about setting the ReportEncoding property, see
Setting the ReportEncoding property, later in this chapter.
I The e.reporting systems default encoding.
For more information about setting the default system encoding parameter,
see Chapter 7, Setting e.Reporting Server parameters, in Administering
Actuate e.Reporting System.
I The e.reporting systems default locale.
For more information about setting the default system locale parameter, see
Chapter 7, Setting e.Reporting Server parameters, in Administering
Actuate e.Reporting System.
I The default locale defined in localemap.xml.
For more information about localemap.xml, see Understanding
localemap.xml in Chapter 2, Formatting report data for multiple locales.
I ASCII
If none of the above is set, the report uses ASCII encoding.
This code page is also used by Actuate Basic functions that operate on code
page character codes and functions that operate on byte length. For more
information about these functions, see Working with functions that operate
on code page character codes and Working with functions that operate on
byte length, both later in this chapter.
The default code pages for supported locales are listed in the following table.
Locale Code page
Albanian windows-1250
Arabic (Egypt) windows-1256
Bulgarian windows-1251
Chinese (Hong Kong SAR) windows-950
Chinese (PRC) windows-936
Ch a p t e r 3 , Un d e r s t a n d i n g r e p o r t e n c o d i n g 41
Chinese (Singapore) windows-936
Chinese (Taiwan) windows-950
Croatian windows-1250
Czech windows-1250
Danish (Denmark) windows-1252
Dutch (Belgium) windows-1252
Dutch (Netherlands) windows-1252
English (Australia) windows-1252
English (Belize) windows-1252
English (Canada) windows-1252
English (Ireland) windows-1252
English (New Zealand) windows-1252
English (South Africa) windows-1252
English (United Kingdom) windows-1252
English (United States) windows-1252
Estonian windows-1257
Farsi windows-1256
Finnish windows-1252
French (Canada) windows-1252
French (France) windows-1252
German (Austria) windows-1252
German (Germany) windows-1252
German (Liechtenstein) windows-1252
Greek windows-1253
Hebrew windows-1255
Hungarian windows-1250
Indonesian windows-1252
Italian (Italy) windows-1252
Italian (Switzerland) windows-1252
Japanese windows-932
Korean windows-949
Latvian windows-1257
Locale Code page
42 e . Re p o r t i n g f o r Mu l t i p l e L o c a l e s
Actuate also supports the encodings listed in the following table. For UTF-8,
however, only the characters present in the UCS-2 character set are supported.
Norwegian (Bokmal) windows-1252
Norwegian (Nynorsk) windows-1252
Polish windows-1250
Portuguese (Brazil) windows-1252
Portuguese (Portugal) windows-1252
Romanian windows-1250
Russian windows-1251
Serbian (Latin) (Yugoslavia) windows-1251
Slovak windows-1250
Slovenian windows-1250
Spanish (Mexico) windows-1252
Spanish (Spain) windows-1252
Swedish (Finland) windows-1252
Swedish (Sweden) windows-1252
Turkish (Turkey) windows-1254
Ukrainian (Ukraine) windows-1250
Locale Code page
Language family Encoding
ISO Latin 1 ISO-8859-1
ISO Latin 2 ISO-8859-2
ISO Latin 3 ISO-8859-3
ISO Latin 4 ISO-8859-4
ISO Cyrillic ISO-8859-5
ISO Arabic ISO-8859-6
ISO Greek ISO-8859-7
ISO Hebrew ISO-8859-8
ISO Latin 5 ISO-8859-9
Simplified Chinese EUC-CN
Traditional Chinese EUC-TW
Japanese EUC-JP
Ch a p t e r 3 , Un d e r s t a n d i n g r e p o r t e n c o d i n g 43
Setting the ReportEncoding property
To set the ReportEncoding property, choose an encoding from the drop-down
list in the top-level report components Component Editor.
Understanding the Language variable
Do not use the Language variable to specify a reports encoding. The
Language variable is provided for backward compatibility only. For
information about specifying a reports encoding, see Setting the
ReportEncoding property, earlier in this chapter.
Korean EUC-KR
English ASCII
Multiple code page UTF-8
Multiple code page UCS-2
Language family Encoding
44 e . Re p o r t i n g f o r Mu l t i p l e L o c a l e s
Running reports with Actuate desktop products
When you run a report using one of Actuates desktop products, such as
e.Report Designer Professional, the encoding precedence is different from the
encoding precedence on the e.reporting system. For more information about
encoding precedence on the e.reporting system, see About report encoding,
earlier in this chapter.
On the desktop, a reports encoding is determined by, from highest precedence
to lowest precedence:
I The top-level report components ReportEncoding property.
For more information about setting the ReportEncoding property, see
Setting the ReportEncoding property, earlier in this chapter.
I The default locale specified on the General page of the Options dialog.
For more information about specifying a default locale, see How to
specify the default locale for an Actuate desktop product in Chapter 2,
Formatting report data for multiple locales.
I The default locale specified when the product is installed.
I The default locale defined in localemap.xml.
For more information about localemap.xml, see Understanding
localemap.xml in Chapter 2, Formatting report data for multiple locales.
I ASCII
If none of the above is set, the report uses ASCII encoding.
Working with encoding and Actuate Basic functions
Several Actuate Basic functions operate on character codes and byte length:
I Working with functions that operate on UCS-2 character codes
I Working with functions that operate on code page character codes
I Working with functions that operate on byte length
For more information about Actuate Basic functions, see Chapter 2,
Statements and functions, in Actuate Basic Language Reference.
Ch a p t e r 3 , Un d e r s t a n d i n g r e p o r t e n c o d i n g 45
Working with functions that operate on UCS-2
character codes
Actuate uses UCS-2 encoding for internal processing. Several Actuate Basic
functions operate on UCS-2 character codes.
Using the AscW function
The AscW function takes a string expression and returns the UCS-2 character
code for the first character. For example:
AscW("A") returns 65
Using ChrW and ChrW$ functions
The ChrW and ChrW$ functions take a UCS-2 character code and return the
character. For example:
ChrW$(65) returns A
ChrW(947) returns
Using StringW and StringW$ functions
The StringW and StringW$ functions take a numeric expression and a UCS-2
character code and return a string that contains the character repeated the
specified number of times. For example:
StringW$(10,"#") returns ##########
StringW$(10,947) returns
Working with functions that operate on code page
character codes
Several Actuate Basic functions operate on character codes in the runtime code
page. The runtime code page is determined as described in About report
encoding, earlier in this chapter. These functions are provided for backward
compatibility only. If the reports encoding is UCS-2, use the corresponding W
functions. For more information about the W functions, see Working with
functions that operate on UCS-2 character codes, earlier in this chapter.
Using the Asc function
The Asc function takes a string expression and returns the character code in
the runtime code page for the first character in the string. The first character in
the string must be present in the runtime code page. For example, if the first
46 e . Re p o r t i n g f o r Mu l t i p l e L o c a l e s
character in the string is a Japanese character and the runtime code page is
ASCII, the Asc function does not yield a meaningful result. For example:
Asc("ABC") returns 65
Using Chr and Chr$ functions
The Chr and Chr$ functions take a character code in the runtime code page
and return the character. For example:
Chr$(65) returns A
Chr(227) returns if runtime code page is Western European
Chr(227) returns if runtime code page is Greek
Using the String$ function
The String$ function takes a numeric expression and a character code in the
runtime code page and returns a string that contains the character repeated the
specified number of times. For example:
String$(5,65) returns AAAAA
String$(5,227) returns if runtime code page is Greek
String$(5,227) returns if runtime code page is Western European
Working with functions that operate on byte
length
Because Actuate uses UCS-2 encoding for internal processing, using functions
that operate on byte length is not recommended. These functions are provided
for backward compatibility only. The byte length is determined by converting
from UCS-2 to the runtime code page. The runtime code page is determined as
described in About report encoding, earlier in this chapter. Passing a string
that contains characters from multiple code pages does not yield a meaningful
result.
If the runtime encoding is UCS-2:
I Every character is two bytes. For example:
LenB("ABC") returns 6
I Actuate Basic aligns the character position to the character boundary. For
example:
MidB("Widget",4,5) returns "idg"
The starting position, 4, and the length, 5, point to the middle of a character,
so Actuate Basic instead executes:
MidB("Widget",3,6)
Ch a p t e r 3 , Un d e r s t a n d i n g r e p o r t e n c o d i n g 47
The starting position is 3, meaning the second character. The function
returns 6 bytes, or three characters.
Using the Actuate Basic Open statement
Use the Actuate Basic Open statement to open a text file. Use the Open
statements Encoding parameter to specify the files encoding. For a list of
supported encodings, see About report encoding, earlier in this chapter.
Both UCS-2LE (Little Endian) and UCS-2BE (Big Endian) are supported. If the
file contains only English characters, set the Encoding parameter to ASCII.
If the encoding name is text (case-insensitive), the operating system code page
is used. If the files encoding is not specified or the encoding name is not valid,
the reports runtime encoding is used. For more information about report
encoding, see About report encoding and Running reports with Actuate
desktop products, both earlier in this chapter.
For example:
Function Start( ) As Boolean
Start = Super::Start( )
Open "Korean.txt" For Input "windows-949" As #1
Open "KoreanOut.txt" For Output "windows-949" As #2
Open "Japanese.txt" For Input "windows-932" As #3
Open "JapaneseOut.txt" For Output "windows-932" As #4
Function Description
InputB Returns a specified number of bytes from a
sequential file.
InstrB Returns the starting byte of the occurrence of one
string within another.
LeftB, LeftB$ Returns a segment of a Variant or String, starting
at the byte that is furthest to the left.
LenB Returns the number of bytes in a string
expression.
MidB, MidB$ Returns specified portion of a string expression.
RightB, RightB$ Returns a segment of a Variant or String, starting
at the byte that is furthest to the right and working
toward the left.
48 e . Re p o r t i n g f o r Mu l t i p l e L o c a l e s
Open "Chinese.txt" For Input "windows-936" As #5
Open "ChineseOut.txt" For Output "windows-936" As #6
Open "Unicode.txt" For Input "UCS-2LE" As #7
Open "UnicodeOut.txt" For Output "UCS-2LE" As #8
End Function
For more information about the Open statement, see Chapter 2, Statements
and functions, in Actuate Basic Language Reference.
About Actuate Basic functions that require
conversion to code page
The following Actuate Basic functions require that strings be converted from
UCS-2, Actuates internal encoding, to a code page. The code page is
determined as described in About report encoding, earlier in this chapter.
I About Environ and Environ$ functions
I About the Shell function
I About functions that call external C or C++ functions
I About functions that access operating system resources
For more information about Actuate Basic functions, see Chapter 2,
Statements and functions, in Actuate Basic Language Reference.
About Environ and Environ$ functions
The Environ[$] function takes the name of an environment variable and
returns its setting. The name of the environment variable is converted from
UCS-2 to code page. The returned value is converted from code page to UCS-2.
About the Shell function
The Shell function runs a program. The name of the executable and any
parameters are converted from UCS-2 to code page. Every character in the
executable and parameter names must be present in the code page.
Ch a p t e r 3 , Un d e r s t a n d i n g r e p o r t e n c o d i n g 49
About functions that call external C or C++
functions
Using Actuate Basic, a report developer can call external C or C++ functions
stored in a DLL or a shared library. Strings are passed to external functions as
char * data type. Strings are converted from UCS-2 to the encoding returned by
the interface char * AcGetDllEncoding( ). If this interface does not exist or
returns an invalid value, the encoding is determined as described in About
report encoding, earlier in this chapter. If this interface returns UCS-2, strings
are not converted.
If necessary, returned strings are converted back to UCS-2.
About functions that access operating system
resources
Several Actuate Basic functions access operating system resources, for
example:
I ChDir
I Open
I Kill
The parameter names for these functions are converted from UCS-2 to code
page. Every character in the parameter names must be present in the code
page.
Working with Actuate Basic source (.bas) file
encoding
If your Actuate Basic report designs contain characters from multiple code
pages, you must save the Actuate Basic source (.bas) files with UCS-2LE
encoding.
Understanding Actuate Basic language elements
The following Actuate Basic language elements cannot contain characters
from multiple code pages:
I Keywords and built-in operators
I Built-in data types
I Identifiers defined in the Actuate Foundation Class library
50 e . Re p o r t i n g f o r Mu l t i p l e L o c a l e s
The following Actuate Basic language elements can contain characters from
multiple code pages:
I User-defined identifiers such as:
I Class names
I Method and function names
I Variable names
I String literals
I Comments in Actuate Basic code
Saving Actuate Basic source (.bas) files
The report developer can save Actuate Basic source (.bas) files as:
I Text (operating system code page)
If you save an Actuate Basic source file as Text, every character in the
source file must be present in the operating system code page.
I Unicode (UCS-2LE)
Actuate Basic source files include:
I Internal Actuate Basic source files
An internal Actuate Basic source file is generated from an ROD and is used
to create an ROX.
I External Actuate Basic source files
External Actuate Basic source files are created by the report developer as
part of the report design.
If you are connecting to a database with table and column names that contain
characters from multiple code pages, you must save the internal Actuate Basic
source file with UCS-2LE encoding. For information about connecting to a
Unicode database, see Chapter 5, Database connections, in Administering
Actuate e.Reporting System.
If your report design includes Actuate Basic source files that contain characters
from multiple code pages, you must save the external Actuate Basic source
files with UCS-2LE encoding.
Ch a p t e r 3 , Un d e r s t a n d i n g r e p o r t e n c o d i n g 51
How to specify the default encoding for Actuate Basic source files
1 In e.Report Designer Professional, choose ViewOptions.
2 In Options, choose General.
3 In Internal Basic source encoding or External Basic source encoding, choose
Text or Unicode (UCS-2LE) and choose OK.
About Windows platform limitations
If your reports contain characters from multiple code pages, the reports must
be developed, generated, and viewed on a Windows 2000 or Windows XP
platform.
52 e . Re p o r t i n g f o r Mu l t i p l e L o c a l e s
If your reports contain characters from multiple code pages, you cannot use
the following Windows platforms to develop, generate, or view reports:
I Windows NT
I Windows 98
I Windows Me
About database encoding
You must configure your database clients to support the encoding used by the
database. For more information about configuring database clients, see
Chapter 5, Database connections, in Administering Actuate e.Reporting
System.
Designing Unicode e.reports
If your Actuate Basic reports and report designs contain characters from
multiple code pages, you must:
I Develop your reports on a Windows 2000 or Windows XP platform.
For more information about Windows platform limitations, see About
Windows platform limitations, earlier in this chapter.
I Install a Unicode font such as Arial Unicode MS on your system.
I Configure your database clients to support Unicode data.
For more information about connecting to a Unicode database, see
Chapter 5, Database connections, in Administering Actuate e.Reporting
System.
I Specify a Unicode font for labels and data.
For more information about specifying Unicode fonts, see Using Unicode
fonts in Chapter 4, Using fonts with multiple locales.
I Specify a Unicode font for code.
For more information about specifying Unicode fonts, see Using Unicode
fonts in Chapter 4, Using fonts with multiple locales.
I Save the Actuate Basic source (.bas) files with UCS-2LE encoding.
For more information about Actuate Basic source file encoding, see
Working with Actuate Basic source (.bas) file encoding, earlier in this
chapter.
Ch a p t e r 3 , Un d e r s t a n d i n g r e p o r t e n c o d i n g 53
Using wide string Requester API calls
If an application uses wide string Requester API calls, the application must be
built in Unicode. To build an application in Unicode, define the UNICODE or
_UNICODE flag, as well as the UNICODESTRING flag. If the application is
not built in Unicode, returned strings may not be wide character strings.
54 e . Re p o r t i n g f o r Mu l t i p l e L o c a l e s
C h a p t e r 4 , U s i n g f o n t s w i t h mu l t i p l e l o c a l e s 55
C h a p t e r
4
Chapter4Using fonts with multiple
locales
This chapter contains the following topics:
I Understanding font considerations for report development
I Understanding font considerations for report deployment
I Using Unicode fonts
56 e . Re p o r t i n g f o r Mu l t i p l e L o c a l e s
Understanding font considerations for report
development
The fonts used at deployment time must be installed on the system used to
compile the report design (.rod). The View process uses the font metrics in the
report executable (.rox) to display the report in DHTML and other formats. If
the font metrics for the fonts used in the ROI are not present in the ROX, the
report cannot be converted to DHTML or PDF. To avoid this problem, the
report developer must do one of the following:
I Create invisible dummy controls in the report design (.rod) and set their
fonts to the fonts used at deployment time.
For example, suppose that a report is designed with U.S. English e.Report
Designer Professional. The default fonts for U.S. English e.Report Designer
Professional are Arial 12-point black for labels and Times New Roman 12-
point black for data. The report is deployed on a report server using the
Japanese locale. The Factory process substitutes the Japanese default font,
MS Gothic 12-point for both labels and data, in the ROI. If the font metrics
for MS Gothic are not present in the report executable, the ROI cannot be
converted to DHTML and the report user cannot view the report.
Therefore:
I The report developer must create a control in the report design and set
its font to MS Gothic.
I The font MS Gothic must be installed on the system on which the report
design is compiled.
If both of these requirements are met, the ROX contains the font metrics for
MS Gothic, and the ROX can be successfully deployed on the Japanese
report server.
Creating dummy controls in the report design is also necessary when the
report developer dynamically changes the font when the report is
generated. The report developer can dynamically change the font when the
report is generated by overriding the controls OnRow() or Finish()
method.
I When designing the report, use the same font that will be used at
deployment time.
Japanese and Chinese character sets contain Latin characters. For this
reason, the report developer can use a Japanese or Chinese font to design
reports that contain English text.
C h a p t e r 4 , U s i n g f o n t s w i t h mu l t i p l e l o c a l e s 57
The U.S. English Design Editor can display Japanese characters. Many
dialogs in the U.S. English desktop products, however, do not support
Japanese, for example:
I Component Editor and other dialogs in e.Report Designer Professional.
I Search and Table of Contents windows in the Viewer.
About the master font file
If you do not want to include dummy controls in your report designs, use the
master font file to obtain font metrics. For more information about the master
font file, see Chapter 16, Designing page layouts, in Developing Advanced
e.Reports and Chapter 3, Configuring the e.Reporting Server, in
Administering Actuate e.Reporting System.
Understanding font considerations for report
deployment
Any fonts used in a report must be installed on both the system on which the
report design is compiled and the system on which the report is viewed. If a
report user wants to print the report on a UNIX system printer, the fonts must
be installed on the printer as well.
Using PostScript Type1 fonts
e.Report Designer Professional does not embed font width information for
PostScript Type1 fonts in the ROX. If you use Type1 fonts in your report
designs, you may observe the following:
I In PDF output, right-aligned and centered controls are not displayed
correctly.
I In DHTML output, right-aligned and centered dynamic text controls are
not displayed correctly.
For this reason, it is recommended that you use TrueType ttf or ttc fonts in
your report designs. For more information about using TrueType fonts, see
Using TrueType fonts, later in this chapter.
Actuate does not support PostScript Type2, Type3, or Type4 fonts.
Using TrueType fonts
The report server View process converts Actuate reports to DHTML and PDF
format. If the report uses TrueType fonts and the report server is running on a
58 e . Re p o r t i n g f o r Mu l t i p l e L o c a l e s
UNIX system, the report server administrator must configure the report server
system to use TrueType fonts. The report server administrator must:
I Create a directory for the TrueType fonts and add the fonts to the directory.
I Set the environment variable AC_PDF_FONT_DIR to point to the directory.
I Create a pdffontmap.txt file that maps font names to TrueType fonts.
I Add the pdffontmap.txt file to the $AC_SERVER_HOME/etc directory.
The following are entries from a pdffontmap.txt file.
Arial ARIAL.TTF
ArialBold ARIALBD.TTF
ArialItalic ARIALI.TTF
ArialBlack ARIBLK.TTF
ArialNarrow ARIALN.TTF
CourierNew COUR.TTF
Tahoma TAHOMA.TTF
TahomaBold TAHOMABD.TTF
TahomaItalic TAHOMAI.TTF
Johnny-Bold JOHNNY-B.TTF
The first column is the font name used in the Actuate report. The second
column is the name of the TrueType font file. The name of the TrueType font
file must be all uppercase.
How to install TrueType fonts for use by the View process
1 Create a directory on the report server system. For example, create a
directory $AC_SERVER_HOME/ttfont.
2 Copy TrueType fonts to the directory.
3 Set the environment variable AC_PDF_FONT_DIR to point to the font
folder, for example, $AC_SERVER_HOME/ttfont/.
4 Create a file pdffontmap.txt in $AC_SERVER_HOME/etc/. The
pdffontmap.txt file maps the font name used in the Actuate report to the
TrueType font file name. The report server administrator must ensure the
following:
I The map file TrueType font names are uppercase.
I The map file is updated when new fonts are added.
5 Stop and restart the report server.
Printing dynamic text controls on a UNIX printer
If a report design contains a dynamic text control and the report will be
printed on a UNIX system printer, the report developer should allow for text
C h a p t e r 4 , U s i n g f o n t s w i t h mu l t i p l e l o c a l e s 59
expansion. For example, if the report developer uses the font MS Mincho, the
font Ryumin is substituted when the report is printed on a UNIX system
printer. In the font Ryumin, Arabic numbers are wider than they are in MS
Mincho. If the dynamic text control contains Arabic numbers, it may not be
wide enough to accommodate the numbers when the report is printed. To
correct the problem, increase the value of the Text LayoutLineWidthPadding
property.
For more information about printing on UNIX systems, see Chapter 3,
Configuring the e.Reporting Server, in Administering Actuate e.Reporting
System.
Using Unicode fonts
In US English e.Report Designer Professional, the default fonts are as follows:
I For labels, Arial 12 point Black Western
I For data, Times New Roman 12 point Black Western
I For code, Courier New 10 point Black Western
If your report designs use label controls or data controls that have instances
that contain characters from multiple code pages, you must change the default
Label Font or Data Font to a Unicode font such as Arial Unicode MS or Lucida
Sans Unicode. If, however, individual controls have instances that contain
characters from a single code page, it is not necessary to change the default
font to a Unicode font; you can set the font for each control individually. For
example, a report design has three controls: ChineseControl, JapaneseControl,
and KoreanControl. Each control has instances that contain characters from a
single code page. For each control, set the Font properties accordingly.
If your Actuate Basic code contains characters from multiple code pages, you
must change the default Source Editor Font to a Unicode font such as Arial
Unicode MS or Lucida Sans Unicode.
How to change the default font
1 If you are changing the default font for code, close any open Actuate Basic
source (.bas) files.
2 In e.Report Designer Professional, choose ViewOptions.
3 In Options, choose Fonts.
4 In Label Font, Data Font, or Source Editor Font, choose Change.
60 e . Re p o r t i n g f o r Mu l t i p l e L o c a l e s
5 In Font, set the following, and choose OK:
I Font
I Font style
I Size
I Effects
I Color
I Script
6 In Options, choose OK.
C h a p t e r 5 , De s i g n i n g e . r e p o r t s w i t h r i g h t t o l e f t o r i e n t a t i o n 61
C h a p t e r
5
Chapter5Designing e.reports with
right to left orientation
This chapter contains the following topics:
I About right to left orientation
I Displaying the application window with right to left orientation
I About the right to left Design Editor window
I Displaying reports with right to left orientation
I Changing the contents of controls for right to left reports
62 e . Re p o r t i n g f o r Mu l t i p l e L o c a l e s
About right to left orientation
You can design reports with right to left orientation in e.Report Designer and
e.Report Designer Professional. You can also display the e.Report Designer/
e.Report Designer Professional and Design Editor windows with right to left
orientation.
Displaying the application window with right to left
orientation
By default, the e.Report Designer/e.Report Designer Professional window is
displayed with right to left orientation on right to left operating systems such
as Arabic, Farsi, and Hebrew localized Windows 98 and localized Windows
2000. You can change the orientation on other Windows 2000 operating
systems to right to left by setting the WindowOrientation registry key or by
using a command line option.
How to display the application window with right to left orientation
Set the WindowOrientation registry key:
1 Exit e.Report Designer/e.Report Designer Professional.
2 On the task bar, choose StartRun.
The Run dialog box appears.
Type:
regedit.exe
3 Choose OK.
The Registry Editor window appears.
4 Navigate to HKEY_CURRENT_USER\Software\Actuate\<e.Report
Designer/e.Report Designer Professional> 6.0\Settings.
5 Choose EditNewString Value.
Type:
WindowOrientation
6 Press Enter.
C h a p t e r 5 , De s i g n i n g e . r e p o r t s w i t h r i g h t t o l e f t o r i e n t a t i o n 63
7 Choose EditModify.
The Edit String dialog box appears.
Type RTL in the Value data text box.
8 Choose OK.
9 Choose RegistryExit.
10 Start e.Report Designer/e.Report Designer Professional.
e.Report Designer/e.Report Designer Professional starts with right to left
orientation.
Use a command line option:
1 On the task bar, choose StartProgramsCommand Prompt.
The Command Prompt window appears.
2 Type:
cd \Actuate6\<Erd/Erdpro>\Bin
3 Type:
<erd/erdpro> -rtl
e.Report Designer/e.Report Designer Professional starts with right to left
orientation.
To change back to left to right orientation, set the WindowOrientation registry
key to LTR, or use the -ltr command line option. For more information about
command line options, see Chapter 2, Understanding the design process, in
Developing Advanced e.Reports.
About the right to left Design Editor window
The orientation of the Design Editor window is the same as the orientation of
the e.Report Designer/e.Report Designer Professional window. In a right to
left Design Editor window, the structure pane is displayed on the right and the
layout pane is displayed on the left.
Controls in the layout pane are positioned relative to the layout panes origin.
For right to left orientation, the origin of the layout pane is the upper right
corner. If the orientation is changed to left to right, the controls maintain their
position relative to the origin, but the origin changes from the upper right
corner to the upper left corner.
For example, a control that appears in the upper right corner with right to left
orientation appears in the upper left corner with left to right orientation. The
64 e . Re p o r t i n g f o r Mu l t i p l e L o c a l e s
contents of the controls do not change. For information about changing the
contents of controls for right to left reports, see Changing the contents of
controls for right to left reports, later in this chapter.
Displaying reports with right to left orientation
By default, a report displays with left to right orientation even if the viewer
displays with right to left orientation. To display a report with right to left
orientation, set the top-level report components LayoutOrientation property
to RightToLeft.
The setting of LayoutOrientation determines the orientation regardless of
operating system or locale. Any subreports are displayed with the same
orientation as the top-level report.
About positioning controls in a report
Controls in a report are positioned relative to the reports origin. For left to
right orientation, the origin of the report is the upper left corner. If the
orientation is changed to right to left, the controls maintain their position
relative to the origin, but the origin changes from the upper left corner to the
upper right corner.
For example, a control that appears in the upper left corner with left to right
orientation appears in the upper right corner with right to left orientation at
C h a p t e r 5 , De s i g n i n g e . r e p o r t s w i t h r i g h t t o l e f t o r i e n t a t i o n 65
view time. The contents of the controls do not change. For information about
changing the contents of controls for right to left reports, see Changing the
contents of controls for right to left reports, later in this chapter.
The following illustrations show the crosstab report with different
orientations. Example 1 shows the report with left to right orientation.
Example 2 shows the report with right to left orientation. The crosstab report
design is installed with e.Report Designer/e.Report Designer Professional in \
Actuate6\<Erd/Erdpro>\Examples\Crosstab.
Example 1
Example 2
Setting the orientation programmatically
You can set the orientation programmatically with the SetLayoutOrientation( )
method defined on the AcReport class.
66 e . Re p o r t i n g f o r Mu l t i p l e L o c a l e s
For example, assume you have a text control that contains the reports locale.
You can override the controls Finish method to set the orientation to right to
left for an Arabic report:
Sub Finish
Super::Finish( )
'Set report layout orientation to right to left for Arabic locale
If DataValue = "Arabic" Then
Container.GetReport( ).SetLayoutOrientation(RightToLeft)
Else
Container.GetReport( ).SetLayoutOrientaiton(LeftToRight)
End If
End Sub
You can get the orientation with the GetLayoutOrientation( ) method defined
on the AcReport class. Both SetLayoutOrientation( ) and
GetLayoutOrientation( ) can be called at report generation time, but not at
view time.
Changing the contents of controls for right to left
reports
When the orientation of a report is changed to right to left, the controls in the
report maintain their position relative to the origin, but the contents of the
controls do not change. You can, however, change the contents of image,
graph, OLE container, and textual controls using other techniques:
I Image controls
To change the orientation of an image, modify the image file or change the
image programmatically. You can change the orientation of bitmap images
using Microsoft Developer Studio.
I Graph controls
To change the orientation of a graph, use the overlay axis instead of the y-
axis. Sort the labels for the x-axis and the values for the overlay axis in the
database or in Actuate Basic so that the labels and values read from right to
left. For information about the overlay axis, see Chapter 15, Presenting
data in graphs, in Developing Advanced e.Reports.
I OLE container controls
If possible, change the orientation of an object using the application in
which the object was created.
C h a p t e r 5 , De s i g n i n g e . r e p o r t s w i t h r i g h t t o l e f t o r i e n t a t i o n 67
I Textual controls
Change the setting of the TextPlacement-Horizontal property at report
generation time using Actuate Basic. For example, you might change the
setting for text controls from TextAlignLeft to TextAlignRight for right to
left reports.
For information about how controls are positioned in a report, see About
positioning controls in a report, earlier in this chapter.
68 e . Re p o r t i n g f o r Mu l t i p l e L o c a l e s
Ch a p t e r 6 , Us i n g e . S p r e a d s h e e t w i t h mu l t i p l e l o c a l e s 69
C h a p t e r
6
Chapter6Using e.Spreadsheet with
multiple locales
This chapter contains the following topics:
I Deploying e.Spreadsheet in a translated language
I Deploying e.Spreadsheet in a supported language
I Using regional settings with e.Spreadsheet
I Using international symbols in XML
I Using non-English versions of e.Spreadsheet
70 e . Re p o r t i n g f o r Mu l t i p l e L o c a l e s
Deploying e.Spreadsheet in a translated language
By default, the e.Spreadsheet Designer deploys with several translated
languages:
I English
I French
I German
I Italian
I Spanish
I Japanese
Each translated language includes a completely translated GUI. Number
format syntaxes, formula names, and other internal items match Excels
translations. For more information about using e.Spreadsheet in a translated
language, see Appendix B, e.Spreadsheet internationalization information.
During installation, e.Spreadsheet writes a JAR file for each supported
language in the local directory within the e.Spreadsheet installation directory.
Files are named based on a two-letter language designation as shown in the
following table.
About e.Spreadsheet translated languages
How to use a translated version of e.Spreadsheet Designer
1 Choose ToolsPreferences.
2 Select the Regional tab.
3 Select Show Only Full Translations.
File Language
default English
F1J9_fr.jar French
F1J9_de.jar German
F1J9_it.jar Italian
F1J9_es.jar Spanish
F1J9_ja.jar Japanese
Ch a p t e r 6 , Us i n g e . S p r e a d s h e e t w i t h mu l t i p l e l o c a l e s 71
4 Select one of the translated languages.
5 Choose OK.
The new language version takes effect on the next instantiation.
To deploy e.Spreadsheet in one of the translated languages, developers must:
I Include the JAR file that corresponds to the deployment language with
their application.
I Put the JAR file on the client computers class path.
You must have the appropriate licensing agreement to deploy in a translated
language.
Using code to override locale settings
By default, when you create a JBook, it instantiates using the client machines
locale settings. And by default, e.Spreadsheet uses the client machines locale
settings. The following code example demonstrates how to override the
default.
Developers who want to control the language and locale in which
e.Spreadsheet is deployed can create a Group object to override the default
settings. The Group object determines the language in which the user interface
appears and the manner in which numbers are formatted. The constructors for
the Group class support specifying a user interface language and a locale.
This code example overrides the default settings for a newly created JBook by
creating a Group object, then passing that Group object to the JBook class
constructor.
Example 1 This code sets the UI language to German, and uses the users default locale
for formatting.
com.f1j.util.Group group = new com.f1j.util.Group(java.util.Locale.GERMAN);
com.f1j.swing.JBook jbook = new com.f1j.swing.JBook(null, group);
Example 2 This code sets the UI language to French and the locale to Canada.
com.f1j.util.Group group
= new com.f1j.util.Group(java.util.Locale.FRENCH,
java.util.Locale.CANADA);
com.f1j.swing.JBook jbook = new com.f1j.swing.JBook(null, group);
Example 3 This code sets the UI language to Spanish and the locale to United States.
com.f1j.util.Group group = new com.f1j.util.Group(java.util.Locale.SPANISH,
java.util.Locale.US);
com.f1j.swing.JBook jbook = new com.f1j.swing.JBook(null, group);
72 e . Re p o r t i n g f o r Mu l t i p l e L o c a l e s
Deploying e.Spreadsheet in a supported language
Developers can deploy e.Spreadsheets supported language versions within
an application written in their home language by including the appropriate
JAR file in the class path on the machine where the application is installed.
Supported versions do not include a translated GUI, but do include translations
of cell errors, number format syntax, formula syntax, and other non-GUI items
that are compatible with the Excel translations. Error messages are in English.
Cell error messages match the corresponding Excel translation.
Supported language files, stored in the F1Java/local directory, are named
based on the two-letter language designations (with some modifications) from
the ISO 639-2 standard. The following table lists supported languages and
their corresponding JAR files.
About e.Spreadsheet supported languages
To deploy e.Spreadsheet in a supported language, developers must:
I Include the JAR file that corresponds to the supported language with their
application.
I Put the JAR file on the client computers class path.
You must have the appropriate licensing agreement to deploy in a supported
language.
Language File Language File
Basque F1J9_eu.jar Korean F1J9_ko.jar
Chinese (Simplified) F1J9_zhs.jar* Norwegian F1J9_no.jar
Chinese
(Traditional)
F1J9_zht.jar Polish F1J9_pl.jar
Croatian F1J9_hr.jar Portuguese (Brazil) F1J9_ptb.jar
Czech F1J9_cs.jar Portuguese (Portugal) F1J9_pti.jar
Danish F1J9_da.jar Romanian F1J9_ro.jar
Dutch F1J9_nl.jar Russian F1J9_ru.jar
Finnish F1J9_fi.jar Slovak F1J9_sk.jar
Greek F1J9_el.jar Slovenian F1J9_sl.jar
Hungarian F1J9_hu.jar Swedish F1J9_sv.jar
Turkish F1J9_tr.jar
Ch a p t e r 6 , Us i n g e . S p r e a d s h e e t w i t h mu l t i p l e l o c a l e s 73
Using regional settings with e.Spreadsheet
As it loads into memory, e.Spreadsheet picks up regional settings from the
system it is loading on. If regional settings are changed after e.Spreadsheet is
loaded, they will not take effect in the spreadsheet.
Understanding the limitations of customized
regional settings
The Java Virtual Machine (JVM) that e.Spreadsheet runs under also limits the
regional settings. The Java 2 VM recognizes the operating systems country
and language settings and adjusts date, time, number, and currency
formatting accordingly. Current versions of Suns JVM, however, ignore the
customizations of these settings that are allowed in some operating systems
such as Microsoft Windows.
Using international symbols in XML
e.Spreadsheet specifies value formats in XML using English formats and
English special characters. When e.Spreadsheet processes the XML, the XML
parser may interpret some characters intended as international symbols as
English characters instead, which can produce unexpected output. When this
occurs, use English formats and symbols to indicate the current locales
corresponding format and number symbols.
The examples below illustrate how to use the Euro symbol in a German locale
Viewing localized currency
When viewed in the German locale, the correct example below displays
1.234,56 _ in the worksheet cell.
Correct:
#,##0.00 [$_]
Incorrect:
#.##0,00 _
74 e . Re p o r t i n g f o r Mu l t i p l e L o c a l e s
Viewing localized dates
When viewed in the German locale, the correct examples below display a date
in a two-digit, date/month/year format in the worksheet cell.
Correct, using localized date separator.
dd/mm/yy
e.Spreadsheet replaces the slash symbol (/) with local data separator.
Correct, using period as date separator:
dd\.mm\.yy
Incorrect:
TT.MM.JJ
Using non-English versions of e.Spreadsheet
When you run e.Spreadsheet for the first time, the language e.Spreadsheet
uses is based on your system locale. Changing the system locale, however,
does not change the language. To change the language, use the Regional tab of
the ToolsPreferences dialog.
If you are using the Japanese version of e.Spreadsheet on a non-Windows
platform, you must do one of the following in order to display the currency
symbol correctly:
I Install the Windows font MS PGothic.
I Using the font.properties file for Japanese, map SansSerif to a font that
contains the Japanese currency symbol.
C h a p t e r 7 , U s i n g A c t u a t e A c t i v e Po r t a l w i t h mu l t i p l e l o c a l e s 75
C h a p t e r
7
Chapter7Using Actuate Active
Portal with multiple locales
This chapter contains the following topics:
I About UTF-8 encoding
I Understanding resource management
I About time zones
I Understanding locale management
I Understanding presentation formats
I Understanding e.Analysis limitations
76 e . Re p o r t i n g f o r Mu l t i p l e L o c a l e s
About UTF-8 encoding
All communication between Active Portal and the e.reporting system uses
UTF-8 encoding. UTF-8 encoding is also the default encoding supported by
web browsers. For 8-bit (single byte) characters, UTF-8 content appears the
same as ANSI content. If, however, extended characters are used (typically for
languages that require large character sets), UTF-8 encodes these characters
with 2 or more bytes.
Understanding resource management
Active Portal is designed to function in a multi-locale environment. The
jakarta.apache i18n tag library is used to fetch resources for JSP pages
designed for multiple locales. For java classes, a proprietary Resource
Management scheme using numeric indices as keys is used to fetch resources.
The resources for these classes are split up on a per package basis. There are
internally created resource bundles created by the ResourceManagerFE tool:
I com.actuate.reportcast.dstruct.R_dstruct
I com.actuate.reportcast.utils.R_utils
I com.actuate.reportcast.tags.R_tags
I com.actuate.reportcast.security.R_security
Refer to the apache web site http://jakarta.apache.org/taglibs/doc/i18n-
doc/intro.html for details on usage and implementation.
I All text (labels, buttons, menus, messages, etc.) used in the HTML pages
must be properly externalized as string resources and loaded dynamically
from resource files based on the locale specified.
I Ensure that no element of the GUI includes images that contain text that
must be localized. Images should be standard images used in the industry
and should not contain any text.
I All tool tips are externalized so they can be translated
I By default, a single set of resources is shipped with the system. This set of
resources is used when resources specific to a locale are not found. The
resource set searching algorithm is built-in in the java.util.ResourceBundle
class that is internally used by the Apache i18n tag library framework. For
more information, navigate to the following URL:
http://java.sun.com/j2se/1.3/docs/api/java/util/ResourceBundle.html
C h a p t e r 7 , U s i n g A c t u a t e A c t i v e Po r t a l w i t h mu l t i p l e l o c a l e s 77
I All resources are maintained in the source files located at com/actuate/
ereport/server/resources/*.java as instances of the
java.util.ListResourceBundle class. These resources are accessible via the
i18n tag handler classes.
About time zones
In many cases, the clients time zone is not the same as the servers time zone.
If a client requests that a task occur at a specified time, the server should
execute the task at the instant when the clients clock matches the requested
time. Scheduling of tasks, however, occurs at the server, which is incapable of
keeping track of every clients clock. The solution is that the time zone
specified at login time is stored in a cookie that is reused for subsequent
requests. After login, when the client submits a request to be scheduled at a
specified client time, the time difference is calculated by the client based on the
Time Zone specified at login or with URL parameters.
For example, the client has a time zone of GMT (London, UK). The server is
deployed in India (ahead by 4 hours, 30 minutes). When the client logs into the
server, the server time is fetched and the time zone is stored on a client session
cookie and reused for any time sensitive operations that may be executed on
the server. If the client requests that an action be scheduled for 2:30pm on 12-
03-2001, it is scheduled for execution at 7:00pm on 12-03-2001 on the server.
The server defines all date/time values in UTC format. Any type of time zone
conversions are performed by the client. The
com.actuate.reportcast.utils.StaticFuncs class contains several methods
capable of converting dates and times across time zones that may prove useful
in implementation. In addition, methods for formatting dates and times in
UTC are available and are used extensively.
Understanding timezonemap.xml
The XML file timezonemap.xml contains time zone information for many of
the worlds time zones. Each time zone has two entries, one in the Windows
section of timezonemap.xml and one in the JSP section:
I The Windows entry is used by End User Desktop.
The Windows entries are identical to the entries in the registry in
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\
CurrentVersion\TimeZones\*.
I The JSP entry is used by Active Portal and Management Console.
For any time zone, only the time zone ID and the display name differ for the
Windows entry and the JSP entry.
78 e . Re p o r t i n g f o r Mu l t i p l e L o c a l e s
For example, timezonemap.xml contains the following entry in the JSP section
for the Pacific Standard Time (PST) time zone.
<TimeZone ID="America/Los_Angeles">
<DisplayName>GMT-8:00 Los Angeles, California, USA</DisplayName>
<TimeOffsetInMinutes>-480</TimeOffsetInMinutes>
<DstOffsetInMinutes>-420</DstOffsetInMinutes>
<DstRule>0000 1 3 0 0 120 9 4 0 120</DstRule>
</TimeZone>
This entry has the following attributes:
I DisplayName
DisplayName is the name for the time zone that appears in the Time zone
drop-down list on the Active Portal and Management Console login pages.
I TimeOffsetInMinutes
TimeOffsetInMinutes is the offset from Greenwich Mean Time in minutes.
For example, Los Angeles is 8 hours behind Greenwich Mean Time, so the
offset from Greenwich Mean Time is -480.
I DstOffsetInMinutes
DstOffsetInMinutes is the offset from Greenwich Mean Time in minutes
when daylight savings time is in effect. For example, when daylight
savings time is in effect Los Angeles is 7 hours behind Greenwich Mean
Time, so the offset from Greenwich Mean Time is -420.
I DstRule
DstRule indicates when daylight savings time is in effect. The DstRule is a
sequence of numbers which represent the following:
I FirstYear
FirstYear is a four-digit representation of the year in which this rule goes
into effect.
I Observed
Observed is set to 0 or 1:
- 1 indicates that daylight savings time is in effect during the specified
period of time.
- 0 indicates that daylight savings time is not in effect during the
specified period of time.
I BeginMonth
BeginMonth is the month in which the period of time begins.
BeginMonth is an integer in the range 0 to 11, where 0 = January.
C h a p t e r 7 , U s i n g A c t u a t e A c t i v e Po r t a l w i t h mu l t i p l e l o c a l e s 79
I BeginWeek
BeginWeek is the week of the month in which the period of time begins.
BeginWeek is an integer in the range 0 to 4. If the following field,
BeginWeekday, represents the day of the month in which the period of
time begins, BeginWeek is -1.
I BeginWeekday
If BeginWeek is an integer in the range 0 to 4, BeginWeekday is the day
of the week in which the period of time begins. BeginWeekday is an
integer in the range 0 to 6, where 0 = Sunday.
If BeginWeek is -1, BeginWeekday is the day of the month in which the
period of time begins. BeginWeekday is an integer in the range 1 to 31.
I BeginMinute
BeginMinute is the number of minutes after 12:00 AM at which the
period of time begins. BeginMinute is an integer in the range 0 to 1439.
For example, 120 = 2 AM.
I EndMonth
EndMonth is the month in which the period of time ends. EndMonth is
an integer in the range 0 to 11, where 0 = January.
I EndWeek
EndWeek is the week of the month in which the period of time ends.
EndWeek is an integer in the range 0 to 4. If the following field,
EndWeekday, represents the day of the month in which the period of
time ends, EndWeek is -1.
I EndWeekday
If EndWeek is an integer in the range 0 to 4, EndWeekday is the day of
the week in which the period of time ends. EndWeekday is an integer in
the range 0 to 6, where 0 = Sunday.
If EndWeek is -1, EndWeekday is the day of the month in which the
period of time ends. EndWeekday is an integer in the range 1 to 31.
I EndMinute
EndMinute is the number of minutes after 12:00 AM at which the period
of time ends. EndMinute is an integer in the range 0 to 1439. For
example, 120 = 2 AM.
For example, for the Pacific Standard Time (PST) time zone the DstRule is
0000 1 3 0 0 120 9 4 0 120
This DstRule indicates that daylight savings time is in effect from the first
Sunday in April at 2 AM to the last Sunday in October at 2 AM.
80 e . Re p o r t i n g f o r Mu l t i p l e L o c a l e s
Using timezonemap.xml
The following products use timezonemap.xml:
I Actuate e.Reporting Server
I Actuate web-based products
timezonemap.xml must be consistent across the e.reporting system. For
example, if the system administrator makes a change to the timezonemap.xml
file used by the report server, the change must be applied to the
timezonemap.xml file used by the web-based products as well.
Using timezonemap.xml with Actuate e.Reporting Server
timezonemap.xml is located in $AC_SERVER_HOME/etc. If
timezonemap.xml is modified, the system administrator must restart every
report server in the e.reporting system. Every report server in the e.reporting
system must use the same timezonemap.xml.
Using timezonemap.xml with Actuate web-based products
The following web-based products use timezonemap.xml:
I Active Portal
timezonemap.xml is located in \Actuate6\AcReportCast\WEB-INF.
I Actuate Management Console
timezonemap.xml is located in \Actuate6\AcAdmin\WEB-INF.
I ReportCast
timezonemap.xml is located in \Actuate6\ReportCast Server\etc.
If timezonemap.xml is modified, the web server or the web application must
be restarted.
Creating a custom time zone
The system administrator can change the settings for the time zones that
Actuate supports or create a custom time zone by modifying
timezonemap.xml. The custom time zone ID must be an alphanumeric ASCII
string.
C h a p t e r 7 , U s i n g A c t u a t e A c t i v e Po r t a l w i t h mu l t i p l e l o c a l e s 81
Understanding locale management
A locale is defined by a combination of a language, country and zero or more
variants. Variant codes are typically vendor and browser specific, for example
WIN for Windows, MAC for Macintosh. Multiple variants may be specified in
a locale identifier in order of decreasing priority.
In the Actuate e.reporting system, locales are defined using a custom
framework. Internally, a LocaleManager, implemented as a singleton for each
client application instance, registers all available locales from an XML
configuration file called localemap.xml at the time of system startup using the
StartupServlet. The XML configuration file contains several fields of data that
can be specified for each locale:
I Primary Key = NAME_OF_LOCALE, for example, Locale01
I Language & Country Code, for example, ENU or Java style ISO639 / ISO
3166 format as used by Java systems and the ICU library
I Currency Symbol, for example, $
I Currency Format using ICU pattern chars, for example, $#,##0.0#
I Short, Medium & Long Date Format using ICU pattern chars, for example,
MM/dd/YYYY
I Short, Medium & Long Time Format using ICU pattern chars, for example,
hh:mm:ss a
I Date Separator symbol, for example, /
I Time Separator symbol, for example, :
I Grouping Separator symbol (for Number), for example, comma (,)
I Grouping Position (for Number), for example, 3, indicating thousand
I Decimal Separator symbol (for Number), for example, period (.)
I Grouping Separator symbol (for Currency), for example, comma (,)
I Grouping Position (for Currency), for example, 3, indicating thousand
I Decimal Separator symbol (for Currency), for example, period (.)
I PLUS and MINUS symbols, for example, + and -
I AM and PM strings
I Infinity symbol, for example, 8
I Not a number symbol, for example, NaN
82 e . Re p o r t i n g f o r Mu l t i p l e L o c a l e s
I Percent Character, for example, %
I MonthsOfYear, DaysOfWeek in Short and Full formats
For more information about localemap.xml, see Understanding
localemap.xml in Chapter 2, Formatting report data for multiple locales.
These fields are processed by LocaleManager at startup resulting in creation of
an internal map between the primary key, the custom name of the locale, and
the locale object itself implemented as com.actuate.reportcast.utils.AcLocale.
Every JSP page accesses the locales properties for presentation of data using
getter methods defined in the AcLocale instance associated with that page. At
login time, the user can specify a locale and a time zone. The list of available
locale names is returned by the LocaleManager. When a user selects a certain
locale, all subsequent pages for that session use the selected locale. In addition,
upon successful login, a cookie is created if it does not already exist to store the
value of the specified locale and time zone if cookies are enabled for the
browser. For any subsequent logins, when a user is presented with the login
page, a default selection for the time zone and locale are retrieved from the
saved cookie. If the cookie does not exist, the parameters DEFAULT_LOCALE
and DEFAULT_TIMEZONE defined in the application configuration file
WEB.XML are used.
A user can switch to an alternative set of locale and time zone properties by
specifying a locale or time zone parameter in the URL.
About language preference
The language identifies the script in which the JSP pages are displayed. When
a user specifies a particular language either at login time or stored as a user
preference, all subsequent pages for that user session are displayed in the
chosen language. Internal translation of pages is done by the Resource
Management Framework. In addition, default date, time and numeric formats
are locale-specific and depend on the country and the language combination
specified. The <actu:formatXXX> Apache i18n custom tags are used for
formatting dates and times on JSP pages based on the format patterns returned
by the custom locale.
About country designation
The country is used in conjunction with the language to identify variations in a
single language across different countries. For example, French is spoken in
Canada, Belgium and France with subtle differences. English is used in the US
and UK, again, with subtle differences in vocabulary and spellings. For this
reason, multiple resource bundles sometimes must be maintained for each
countrys variation of language.
C h a p t e r 7 , U s i n g A c t u a t e A c t i v e Po r t a l w i t h mu l t i p l e l o c a l e s 83
Understanding presentation formats
This topic discusses the format in which numerical and date/time values are
presented on a users page in a locale sensitive framework.
About file sizes
File sizes always use a 3 significant digit mechanism. For example, for the byte
sizes (800, 999, 1015, 23255, 2048, 899521), the display format in a custom
English locale are displayed as (800, 999, 1.00KB, 22.7KB, 2.00KB, 878 KB)
respectively. In each of these output values, the value always contains 3
significant digits. In addition, an optional suffix is added if the value is larger
than 1000 bytes. This suffix is pulled out from a localized resource bundle. For
a custom English locale, these suffixes are KB, MB and GB. In addition, the
decimal separator character is also picked up from the custom locale.
About dates and times
In most of the JSP pages for Active Portal, dates and times are presented in
short form. The short format pattern is retrieved from the custom locale in
which the JSP page is presented. Any page that presents a date or time (for
example, the list of files and folders) uses the date/time pattern retrieved from
the locale instance used by that page. The various date/time patterns can be
customized and can be specified in the localemap.xml file as discussed in
Understanding locale management, earlier in this chapter.
Understanding e.Analysis limitations
Consider the following limitations when working with e.Analysis:
I The Hong Kong Supplementary Character Set requires Java Virtual
Machine 1.3.1 in order to work with an applet. You must install the Sun
Java 1.3.1 plug-in. The Microsoft Internet Explorer plug-in is available from
the following URL:
http://java.sun.com/getjava/download.html
I Double-byte character input into e.Analysis is not supported with Java
Virtual Machine 1.3. For example, you cannot enter a title in the Main Title
field or edit the default name of a function using double-byte characters.
I Exporting to PDF and printing are not supported for double-byte character
data.
84 e . Re p o r t i n g f o r Mu l t i p l e L o c a l e s
I Exporting to Microsoft Word is not supported for double-byte character
data.
I Sorting of category names that use UTF-8 encoding is not supported.
I The operating system locale setting on the report users computer
determines the fonts available for display. Therefore, e.Analysis cannot
display data correctly unless the operating system has the appropriate
locale setting. For example, if the locale setting is U.S. English, e.Analysis
cannot display Chinese characters.
Ch a p t e r 8 , Us i n g Re p o r t Ca s t wi t h mu l t i p l e l o c a l e s 85
C h a p t e r
8
Chapter8Using ReportCast with
multiple locales
This chapter contains the following topics:
I Changing the encoding of ReportCast templates
I Using translated ReportCast templates
I Converting a Japanese report to PDF
I Working with locale-specific ReportCast configurations
I Using the View process locale
86 e . Re p o r t i n g f o r Mu l t i p l e L o c a l e s
Changing the encoding of ReportCast templates
The U.S. English ReportCast templates are encoded with the ISO 8859-1
character set. When the report user displays U.S. English ReportCast pages
with a web browser, the browsers encoding is implicitly set to ISO 8859-1. To
make it possible for the report user to display a report that is encoded with a
different character set, one of the following must occur:
I The report developer must specify the reports encoding using the
GlobalDHTMLCode property.
I The web server administrator must change the encoding of the ReportCast
templates to the correct character set.
I The report user must explicitly set the web browsers encoding to the
correct character set.
If the new character set is not compatible with the font used in the
ReportCast templates, however, the templates may not display correctly.
To change the encoding of the ReportCast templates, the web server
administrator must edit every occurrence of the following lines in the *.achtml
files.
meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<td><font size="2" face="Arial">Gro&szlig;es Symbol:</font></td>
The web server administrator must:
I Replace iso-8859-1 with the appropriate character set.
I Replace Arial with the appropriate font.
For more information about the ReportCast templates, see Chapter 6,
Working with ReportCast templates, in Customizing e.Reporting Web
Applications.
Alternatively, the report developer can add this code to the reports DHTML
headers using the top-level report components GlobalDHTMLCode property.
For more information about the GlobalDHTMLCode property, see Chapter 9,
Writing custom browser code, in Programming e.Reports.
Using translated ReportCast templates
Translated ReportCast templates are available for the following languages:
I French
I German
Ch a p t e r 8 , Us i n g Re p o r t Ca s t wi t h mu l t i p l e l o c a l e s 87
I Spanish
I Japanese
For example, if you install the French version of ReportCast, both the English
and the French templates are installed. For more information about using
translated ReportCast templates, see Using the View process locale, later in
this chapter.
To translate a string in the English ReportCast templates to another language,
for example Chinese, the web server administrator must replace the English
string with the new string. For example, to translate the string New Search in
the SmartSearch frame, the web server administrator must edit the following
line in searchresults.achtml.
g_changeSearchButtonLine += "<INPUT TYPE='button' VALUE='New
Search' BORDER=0 ONCLICK='showSearchRequestForm( )'>";
The web server administrator must replace New Search with the new string.
The web server administrator must also ensure that the ReportCast templates
specify an appropriate character set and font. For more information about
specifying a character set and font in the ReportCast templates, see Changing
the encoding of ReportCast templates, earlier in this chapter.
Converting a Japanese report to PDF
To convert a Japanese report to PDF, the Actuate e.reporting system and
ReportCast must be configured as follows:
I The report encoding must be set to Japanese.
For more information about report encoding, see About report encoding
in Chapter 3, Understanding report encoding.
I The Actuate locale name for Japanese, ja_JP, must appear in the locale map.
I Japanese date and time formats must be present in the locale map for both
the report server and ReportCast.
I The correct ReportCast template files must be present in <webroot>/
actuate/ReportCast Server/jpn/standard and <webroot>/actuate/
ReportCast Agent/jpn/standard. If you have installed Japanese
ReportCast, the correct files are present.
If you have installed a language version of ReportCast other than Japanese,
place the correct ReportCast template files in <webroot>/actuate/
ReportCast Server/jpn/standard:
1 On the ReportCast Server system, create the directory <webroot>/
actuate/ReportCast Server/jpn/standard.
88 e . Re p o r t i n g f o r Mu l t i p l e L o c a l e s
2 Copy the template files from <webroot>/actuate/ReportCast Server/
default/standard to <webroot>/actuate/ReportCast Server/jpn/
standard.
3 Change the charset value for the templates in <webroot>/actuate/
ReportCast Server/jpn/standard to the Japanese charset value.
To place the correct ReportCast template files in <webroot>/actuate/
ReportCast Agent/jpn/standard, repeat the above procedure for the
ReportCast Agent directory on the ReportCast Agent system.
For more information about creating locale-specific ReportCast
configurations, see Working with locale-specific ReportCast
configurations, later in this chapter.
I The report user must use a URL of this form to access the Report
Encyclopedia using the Japanese configuration:
http://<webserver>/acweb/jpn/<reportserver>
I The report user must display the Japanese report and convert it to PDF.
Working with locale-specific ReportCast
configurations
By default, ReportCast uses a standard template configuration with the U.S.
English locale. The web server administrator can create standard and custom
template configurations for other locales. The template configurations locale
determines how dates, times, and numbers are displayed in ReportCast pages.
Lists, however, are sorted based on the ReportCast Server locale, not the
template configurations locale. The following illustrations show how the
standard Documents page appears when viewed with the default U.S. English
locale and with the standard French locale.
Ch a p t e r 8 , Us i n g Re p o r t Ca s t wi t h mu l t i p l e l o c a l e s 89
Using standard template configurations
ReportCast supports standard template configurations for various locales such
as U.S. English, Japanese, and standard French. U.S. English is the default. To
create a standard configuration for a locale, simply copy the default template
directories on both the ReportCast Server and the ReportCast Agent systems
and rename them using the appropriate three-letter locale code. For a list of
three-letter locale codes, see Appendix C, Three-letter locale codes.
90 e . Re p o r t i n g f o r Mu l t i p l e L o c a l e s
For example, to create a standard template configuration for French (France)
on Windows NT:
I On the ReportCast Server system, make a copy of the folder \Actuate6\
ReportCast Server\Default and rename it as \Actuate6\ReportCast
Server\Fra.
This folder contains the ReportCast templates.
I On the ReportCast Agent system, make a copy of the folder \Actuate6\
ReportCast Agent\Default and rename it as \Actuate6\ReportCast
Agent\Fra.
\Actuate6\ReportCast Agent\Fra\Standard contains Java scripts that
must be localized for French.
Translated ReportCast templates are available for certain languages. For more
information about translated ReportCast templates, see Using translated
ReportCast templates, earlier in this chapter.
Using custom template configurations
The web server administrator can customize the ReportCast templates. For
more information about customizing the ReportCast templates, see Chapter 6,
Working with ReportCast templates, and Chapter 8, ReportCast scripting
language reference, in Customizing e.Reporting Web Applications.
How to create a custom template configuration
1 Make copies of the default template directories.
2 Rename the directories with a three-letter locale code or with a descriptive
name, for example ParisBureau.
For a list of three-letter locale codes, see Appendix C, Three-letter locale
codes.
3 Copy the templates you want to customize from the Standard
subdirectories to the Custom subdirectories.
For example, on Windows NT:
I On the ReportCast Server system, copy the templates from \Actuate6\
ReportCast Server\ParisBureau\Standard to \Actuate6\ReportCast
Server\ParisBureau\Custom.
I On the ReportCast Agent system, copy the templates from \Actuate6\
ReportCast Agent\ParisBureau\Standard to \Actuate6\ReportCast
Agent\ParisBureau\Custom.
4 Customize the templates.
Ch a p t e r 8 , Us i n g Re p o r t Ca s t wi t h mu l t i p l e l o c a l e s 91
Mapping a custom template configuration to a
locale
If a custom template configuration has the same name as a three-letter locale
code, ReportCast maps the configuration to that locale. For example, if the
name of the configuration is fra, ReportCast maps the configuration to the
standard French locale.
If a custom template configuration does not have the same name as a locale
code, the web server administrator must map the configurations name to a
locale. For example, if the name of the configuration is ParisBureau, the web
server administrator must map ParisBureau to the standard French locale.
How to map a custom template configuration to a locale on
Windows systems
1 Choose StartRun.
2 In Run, type and choose OK:
regedit.exe
3 In the Registry Editor, navigate to HKEY_LOCAL_MACHINE\Software\
Actuate\Actuate ReportCast Server\6.
4 Choose EditNewString Value.
5 Change the name of the new value to
AC_REPORTCAST_<CONFIG>_LOCALE and press Enter.
<CONFIG> is the name of the custom template configuration. <CONFIG>
must be typed in uppercase letters.
For example, for the ParisBureau configuration type and press Enter:
AC_REPORTCAST_PARISBUREAU_LOCALE
6 Choose EditModify.
7 In Value data, type the three-letter locale code and choose OK.
For example, to map the ParisBureau configuration to the standard French
locale, type the following and choose OK:
fra
92 e . Re p o r t i n g f o r Mu l t i p l e L o c a l e s
How to map a custom template configuration to a locale on UNIX
systems
In the script startreportcast.sh, add the following lines above the line that calls
reportcastsrvr:
export AC_REPORTCAST_<config>_LOCALE
AC_REPORTCAST_<config>_LOCALE=<locale_ID>
<config> is the name of the custom template configuration. <locale_ID> is the
three-letter locale code.
For example, to map the ParisBureau configuration to the standard French
locale, add the following lines to startreportcast.sh.
export AC_REPORTCAST_ParisBureau_LOCALE
AC_REPORTCAST_ParisBureau_LOCALE=fra
Using the View process locale
To access a Report Encyclopedia with a web browser, you use a URL of the
form:
http://<webserver>/acweb/<reportserver>
If you use a URL of this form, ReportCast uses the default U.S. English
configuration. If you want ReportCast to use a configuration other than the
default, use a URL of the form:
http://<webserver>/acweb/<config>/<reportserver>
<config> is usually a three-letter locale code. For a table of three-letter locale
codes, see Appendix C, Three-letter locale codes.
For example, a URL of this form specifies a French configuration:
http://<webserver>/acweb/fra/<reportserver>
When a report user types this URL, a View process is started with the French
locale and ReportCast attempts to load the French templates. If ReportCast
cannot load the French templates, an error message is displayed.
The View process is a report server process that does the following:
I Converts a report document (.roi) to DHTML for viewing with a web
browser.
I Converts report document data to XML for use with other web
applications.
I Converts a report document (.roi) to PDF for printing.
Ch a p t e r 9 , De s i g n i n g a n d d e p l o y i n g e . r e p o r t s f o r mu l t i p l e l o c a l e s i n Ac t u a t e 5 93
C h a p t e r
9
Chapter9Designing and deploying
e.reports for multiple
locales in Actuate 5
This chapter contains the following topics:
I Viewing a DHTML report with a web browser
I Understanding character set considerations
I Understanding formatting considerations
I Printing a Japanese report using XPrinter
I Viewing DHTML reports with multiple locales
I Viewing reports on the desktop with multiple locales
I Using localized Actuate desktop products
I Understanding the limitations of multilingual reports in Actuate 5
94 e . Re p o r t i n g f o r Mu l t i p l e L o c a l e s
Viewing a DHTML report with a web browser
When a report user views a DHTML report with a web browser, the reports
various locale elements are determined by:
I The ReportCast templates.
I The setting of the top-level report components LayoutOrientation
property.
I The ROI.
I The View process locale.
I The locale map.
I The report server systems locale settings.
I The database locale.
The following table does not apply to reports viewed with the LRX.
The following topics provide more information about these locale elements.
This locale element Is determined by
Character set The character set used in the
ReportCast templates.
Left to right or right to left
orientation
The setting of the top-level report
components LayoutOrientation
property.
Fonts The fonts used in the ROI.
Format for dates and times The View process locale and the
locale map.
Format for currency and numbers The View process locale and the
report server systems locale settings.
Calendar Gregorian for most products.
Japanese Imperial for Japanese
localized products.
Collation sequence In most cases, the database locale.
Case mapping Not supported.
Ch a p t e r 9 , De s i g n i n g a n d d e p l o y i n g e . r e p o r t s f o r mu l t i p l e l o c a l e s i n Ac t u a t e 5 95
Understanding character set considerations
Actuate 5 supports the following groups of character sets:
I Latin 1 character sets
I Code page 1252
I Japanese character sets
I Shift JIS (Code page 932)
I EUC_JP
I Simplified Chinese character sets
I GB2312-80 (Code page 936)
I Traditional Chinese character sets
I BIG5 (Code page 950)
I Character sets for right to left languages such as Arabic, Hebrew, and Farsi
I Code page 1256 for Arabic and Farsi
I Code page 1255 for Hebrew
Actuate 5 offers full support for Korean character sets on Windows NT and
partial support on other platforms:
I KS C5601-1987 (Code page 949)
Understanding UTF-8 encoding
Actuate 5 does not support UCS-2 or UTF-8. Reports, however, can display
UTF-8 data from a database because:
I UTF-8 strings are NULL terminated.
I In UTF-8, ASCII characters have the same length, one byte, and encoding
as in other character sets.
These reports can be viewed in DHTML format with a web browser if the web
browser encoding is UTF-8. The following limitations exist:
I Hyperlinks do not work if the folder name, the file name, or the name of
the control contain non-ASCII characters.
I Except for exact comparison, Actuate Basic string functions do not work.
I There are limitations on searching, but searching for an exact match works
because Actuate does a binary comparison.
I There are limitations on graphs, printing, and PDF generation.
96 e . Re p o r t i n g f o r Mu l t i p l e L o c a l e s
Working with strings in Actuate Basic
Actuate Basic supports multibyte character sets. Specifically, you can:
I Compare multibyte strings using the equality (=) operator.
I Use the Len function to return the number of characters in a multibyte
string.
I Use the LenB function to return the number of bytes in a multibyte string.
I Read multibyte text from a file using the Line Input # statement.
For more information about Actuate Basic operators, functions, and
statements, see Actuate Basic Language Reference.
It is possible to pass strings to and from C DLLs, COM objects, and Java
objects. The following limitations exist:
I Data retrieved from a COM object is converted to the character set specified
by the report server locale. For example, if Cyrillic data is retrieved from a
COM object during report generation and the report server locale is U.S.
English, Cyrillic characters that do not map to the ISO 8859-1 code page are
replaced by question marks.
I Data retrieved from a Java object is converted from Unicode to the
character set specified by the report server locale. For example, if Cyrillic
data is retrieved from a Java object during report generation and the report
server locale is U.S. English, Cyrillic characters that do not map to the ISO
8859-1 code page are replaced by question marks.
For more information about using objects from other applications, see
Chapter 14, Using objects from other applications, in Programming e.Reports.
Working with strings in the APIs
The Report Server Application Programming Interface (RSAPI) and the
Requester Application Programming Interface use the char * data type for
strings. Therefore, strings are NULL terminated regardless of whether they
contain single-byte or multibyte characters. The char * data type supports the
following groups of character sets:
I 7-bit ASCII
I 8-bit European
I Double-byte Asian
Strings, however, must be encoded using the current system code page.
Ch a p t e r 9 , De s i g n i n g a n d d e p l o y i n g e . r e p o r t s f o r mu l t i p l e l o c a l e s i n Ac t u a t e 5 97
Understanding formatting considerations
The formats for dates, times, and numbers in ReportCast pages are
determined by the ReportCast configurations locale. For more information
about using ReportCast with multiple locales, see Chapter 8, Using
ReportCast with multiple locales.
The formats for dates and times in a DHTML report are determined by the
View process locale and the locale map. For more information about the View
process locale, see Using the View process locale in Chapter 8, Using
ReportCast with multiple locales. For more information about the locale map,
see Understanding the locale map, later in this chapter.
The formats for currency and numbers in a DHTML report are determined by
the View process locale and the report server systems locale settings.
Understanding the locale map
When a report user views a DHTML report in a web browser, the View process
formats currency and numbers based on the View process locale and the
report server systems locale settings:
I The ANSI standard, C, on UNIX systems.
I The Regional Settings Properties on Windows systems.
The View process, however, cannot obtain date and time formats from the
report server systems locale settings. Dates and times are formatted based on
the View process locale and the locale map. The locale map specifies the
Actuate Basic short date and long date formats and the time format for the
following locales:
I English, Australia
I English, Canada
I English, United Kingdom
I English, United States
I Spanish, Spain
I French, France
I German, Germany
I Japanese, Japan
I Chinese, Hong Kong, Peoples Republic of China (P.R.C), Taiwan, Singapore
If the locale map includes a locale that is not installed on the system, an error is
logged.
98 e . Re p o r t i n g f o r Mu l t i p l e L o c a l e s
The locale map is located in:
I $AC_SERVER_HOME/etc/localemap on UNIX systems.
I \Actuate5\Server\etc\localemap on Windows systems.
The locale map is a text file. When the report server is installed, the locale map
contains the following text.
The structure of the locale map is as follows.
# Comments
default "SysLocale" "ShortDate" "LongDate" InputDateMode "Time"
Locale1 "SysLocale" "ShortDate" "LongDate" InputDateMode "Time"
Locale2 "SysLocale" "ShortDate" "LongDate" InputDateMode "Time"
. . .
LocaleN "SysLocale" "ShortDate" "LongDate" InputDateMode "Time"
*END_OF_FILE
I The lines that begin with a number sign (#) are comments.
I Locale is the locale name that the client must use when specifying a locale,
for example fra. default is the default View process locale for UNIX
systems. The default View process locale for Windows systems is specified
by the current Regional Settings Properties.
I SysLocale is the corresponding operating system locale, for example
French_France.1252.
I ShortDate is the Actuate Basic Short Date format, for example M/d/yy.
I LongDate is the Actuate Basic Long Date format, for example
dddd, MMMM dd, yyyy.
Ch a p t e r 9 , De s i g n i n g a n d d e p l o y i n g e . r e p o r t s f o r mu l t i p l e l o c a l e s i n Ac t u a t e 5 99
I InputDateMode is the Input date mode. The mode can be 0, 1, or 2. The
number specifies the order in which the day, month, and year are specified.
The mode does not specify the date separator:
I 0 represents the order month, day, and year
I 1 represents the order day, month, and year
I 2 represents the order year, month, and day
I Time is the time format, for example h:mm:ss tt.
I *END_OF_FILE is the last line of the file.
Editing the locale map
There are six fields in each line of the locale map, all of which are required. The
report server administrator may modify the following fields:
I ShortDate
I LongDate
I InputDateMode
I Time
The report server administrator should make a backup copy of the locale map
before editing it.
The report server administrator must not modify:
I The Locale.
I The SysLocale.
I The last line of the file.
When the report server administrator edits the locale map, they must use an
editor that supports Japanese and Chinese character sets. If the editor does not
support Japanese and Chinese character sets, the Japanese and Chinese
characters are corrupted.
The report server administrator should not edit the locale map while a View
process is running.
Fields must be separated by tabs or spaces. The following fields must be
enclosed in double quotes ("):
I SysLocale
I ShortDate
I LongDate
I Time
100 e . R e p o r t i n g f o r Mu l t i p l e L o c a l e s
Administrators can use spaces and delimiters such as commas ( , ), colons ( : ),
dashes ( - ), and slashes ( / ) to format dates and times. Enclose text that is not
formatting information in single quotation marks ( ' ). Double quotation marks
( " ) are not allowed within locale map format fields. For example, to specify a
format that displays text such as 29th of March, 1999 use this format:
"dd'th of 'MMMM, yyyy"
The th of is enclosed in single quotes. To use single quotes as part of text, use
two single quotes in a row. For example, to create a format that displays dates
in the format 29 March, '99 use this format:
"dd MMMM, ''yy"
There are two single quotes before the yy.
About the ReportCast locale map
If the report server administrator changes the report server locale map, the
web server administrator must make the same change to the ReportCast locale
map. In other words, the locale map must be maintained on the report server
and on every web server that connects to the report server. The ReportCast
locale map is located in the web servers document root directory, for example
<webroot>\docs\actuate\etc.
The same system locales that are installed on the report server system must
also be installed on the web server system.
Formatting examples
The format in which a date, time, currency, or number is displayed in a web
browser depends on the characteristics of the control in the report design and
the View process locale. For more information about the View process locale,
see Using the View process locale in Chapter 8, Using ReportCast with
multiple locales.
The report developer should not use the Currency format in a report that will
be viewed with locales that use different currencies. If a control is formatted as
Currency, the currency symbol depends on the locale. For example, the
currency symbol changes from the dollar sign ($) to French franc (F) when the
View process locale changes from the default U.S. English to French. To avoid
this problem, format the control with a format string such as $#,##0.00. The
comma (,) and period (.) are replaced with the appropriate thousands and
decimal separators at view time, but the currency symbol does not change.
The report developer should, however, use the Currency format in a report
that will be viewed with locales that use the same currency, for example
English (Canada) and French (Canada). For an example of a report that is
designed for the English (Canada) and French (Canada) locales, see Viewing
DHTML reports with multiple locales, later in this chapter.
C h a p t e r 9 , D e s i g n i n g a n d d e p l o y i n g e . r e p o r t s f o r mu l t i p l e l o c a l e s i n A c t u a t e 5 101
Control characteristics
Display value with
default View process
locale
Display value with
French View process
locale
Subclass of
AcDateTimeControl
Format = Long Date
ValueExp = 10/22/1971
11:10:09 PM
Friday, October 22, 1971 vendredi 22 octobre
1971
Subclass of
AcDateTimeControl
Format = Short Date
ValueExp = 10/22/1971
11:10:09 PM
10/22/71 22/10/71
Subclass of
AcDateTimeControl
Format = Long Time
ValueExp = 10/22/1971
11:10:09 PM
11:10:09 PM 23:10:09
Subclass of
AcIntegerControl
Format not set
ValueExp =
1234567.1234
1234567 1234567
Subclass of
AcIntegerControl
Format = Currency
ValueExp =
1234567.1234
$1,234,567.00 1 234 567,00 F
Subclass of
AcIntegerControl
Format = Standard
ValueExp =
1234567.1234
1,234,567.00 1 234 567,00
Subclass of
AcDoubleControl
Format not set
ValueExp =
1234567.1234
1234567.1234 1234567,1234
102 e . R e p o r t i n g f o r Mu l t i p l e L o c a l e s
Understanding formatting in the client/server
environment
In a client/server environment, report data is formatted at view time based on
the clients current Regional Settings Properties. In the Web environment, the
report server View process formats data based on:
I The View process locale.
I The report server systems locale settings.
I The locale map.
Reports viewed with the LRX behave as in the client/server environment.
For more information about the View process locale, see Using the View
process locale in Chapter 8, Using ReportCast with multiple locales. For
Subclass of
AcDoubleControl
Format = Currency
ValueExp =
1234567.1234
$1,234,567.12 1 234 567,12 F
Subclass of
AcDoubleControl
Format = Standard
ValueExp =
1234567.1234
1,234,567.12 1 234 567,12
Subclass of
AcCurrencyControl
Format = Currency
ValueExp =
1234567.1234
$1,234,567.12 1 234 567,12 F
Subclass of
AcCurrencyControl
Format = Standard
ValueExp =
1234567.1234
1,234,567.12 1 234 567,12
Subclass of
AcCurrencyControl
Format = $#,##0.00
ValueExp =
1234567.1234
$1,234,567.12 $1 234 567,12
Control characteristics
Display value with
default View process
locale
Display value with
French View process
locale
C h a p t e r 9 , D e s i g n i n g a n d d e p l o y i n g e . r e p o r t s f o r mu l t i p l e l o c a l e s i n A c t u a t e 5 103
more information about the locale map, see Understanding the locale map,
earlier in this chapter.
Using Factory process formatting
The Factory process generates a report document from a report executable. In
some cases, report data is formatted by the Factory process and not by the
View process. Data is formatted by the Factory process when the controls
format is specified in Actuate Basic code. For example, a text control is
formatted by the Factory process if its Finish method is overridden as follows.
Sub Finish()
Super::Finish()
DataValue = format(now,"Long Date")
End Sub
On Windows systems, formats such as Long Date are provided by the current
Regional Settings Properties. On UNIX systems, however, the report server
administrator must set environment variables to specify the following if the
report server locale is not U.S. English:
I Long Date format
I Short Date format
I Date mode
I Time separator
I Date separator
I Time format
I Currency format
The following table lists the formatting environment variables and their
default values.
Format item Environment variable Default value
Long Date format AC_LONG_DATE dddd, MMMM dd,yyyy
Short Date format AC_SHORT_DATE M/d/yy
Date Mode AC_DATE_MODE 0(m/d/y)
Time separator AC_TIME_SEPCH :
Date separator AC_DATE_SEPCH /
Time format AC_TIME_FORMAT H:mm:ss tt
Currency format AC_CURRENCY_FORMAT $#,##0.00;($#,##0.00)
104 e . R e p o r t i n g f o r Mu l t i p l e L o c a l e s
How to set the formatting environment variables
1 Stop the report server processes.
2 Specify the report server locale by setting the LANG environment variable
in each of the following scripts:
I admserv.sh
I pobserv.sh
I reqserv.sh
For example, to set the report server locale to standard French on a Sun
Solaris system, add the following two lines to each script.
export LANG
LANG=fr
The language codes for the LANG environment variable differ on Sun,
AIX, and HP systems. For the language codes on your system, see the
system documentation.
By default, LANG is set to an empty string. If the LANG environment
variable is not set, the report server runs in C locale.
3 In each script, uncomment the appropriate lines and set the formatting
environment variables.
## Environment variable to set Format strings
##
## Set LANG environment and Uncomment the following lines
## and set the format
## strings same as Windows Regional Setting when running Report
## Server other than English locale.
## If the environmnet variable is not set, the default(US) format is used.
##
## export AC_LONG_DATE uncomment
## export AC_SHORT_DATEuncomment
## export AC_DATE_MODEuncomment
## export AC_TIME_SEPCH uncomment
## export AC_DATE_SEPCH uncomment
## export AC_TIME_FORMAT uncomment
## export AC_CURRENCY_FORMAT uncomment
##
##AC_LONG_DATE="dddd, MMMM dd,yyyy" uncomment
##AC_SHORT_DATE="M/d/yy" uncomment
##AC_DATE_MODE=0 uncomment
## 0 --> m/d/y
## 1 --> d/m/y
## 2 --> y/m/d
##AC_TIME_SEPCH=":" uncomment
C h a p t e r 9 , D e s i g n i n g a n d d e p l o y i n g e . r e p o r t s f o r mu l t i p l e l o c a l e s i n A c t u a t e 5 105
##AC_DATE_SEPCH="\" uncomment
##AC_TIME_FORMAT="H:mm:ss tt" uncomment
##AC_CURRENCY_FORMAT="$#,##0.00;($#,##0.00)" uncomment
4 Save each script.
5 Start the report server processes.
Enabling A.M. and P.M. symbols for non-English locales on
AIX
To use A.M. and P.M. symbols in Actuate 5 reports on AIX systems, you must
configure the AIX system by following these steps.
1 Create a source definition file for the locale.
The source definition file contains locale-specific formatting and symbol
information.
2 Use localedef to convert the source definition file into binary files.
3 Install the binary files.
See the AIX system documentation for more information about localedef and
source definition file syntax.
For example, to create files to enable the Japanese A.M. and P.M. symbols using
the source definition file JpnLocale.txt, use the following command:
localedef -i JpnLocale.txt Ja_JP
This command creates two binary files, Ja_JP and Ja_JP_64.
Before starting the Actuate 5 report server, install the binary files. You can
either:
I As root, copy the two files to the directory /usr/lib/nls/loc.
I As root, copy the files to another directory.
If you copy the files to a directory other than /usr/lib/nls/loc, you must
set the LOCPATH environment variable.
The following is an example JpnLocale.txt file.
LC_TIME
#
#Abbreviated weekday names (%a)
abday "<S><u><n>";"<M><o><n>";"<T><u><e>";"<W><e><d>";\
"<T><h><u>";"<F><r><i>";"<S><a><t>"
#
#Full weekday names (%A)
106 e . R e p o r t i n g f o r Mu l t i p l e L o c a l e s
day "<S><u><n><d><a><y>";"<M><o><n><d><a><y>";\
"<T><u><e><s><d><a><y>";"<W><e><d><n><e><s><d><a><y>";\
"<T><h><u><r><s><d><a><y>";"<F><r><i><d><a><y>";\
"<S><a><t><u><r><d><a><y>"
#
#Abbreviated month names (%b)
abmon "<J><a><n>";"<F><e><b>";"<M><a><r>";"<A><p><r>";\
"<M><a><y>";"<J><u><n>";"<J><u><l>";"<A><u><g>";\
"<S><e><p>";"<O><c><t>";"<N><o><v>";"<D><e><c>"
#
#Full month names (%B)
mon "<J><a><n><u><a><r><y>";"<F><e><b><r><u><a><r><y>";\
"<M><a><r><c><h>";"<A><p><r><i><l>";"<M><a><y>";\
"<J><u><n><e>";"<J><u><l><y>";"<A><u><g><u><s><t>";\
"<S><e><p><t><e><m><b><e><r>";"<O><c><t><o><b><e><r>";\
"<N><o><v><e><m><b><e><r>";"<D><e><c><e><m><b><e><r>"
#
#Date and time format (%c)
d_t_fmt "%a %b %d %H:%M:%S %Y"
#
#Date format (%x)
d_fmt "%m/%d/%y"
#
#Time format (%X)
t_fmt "%H:%M:%S"
#
#Equivalent of AM/PM (%p)
am_pm "\x8c\xdf\x91\x4f";"\x8c\xdf\x8c\xe3"
#
#12-hour time format (%r)
t_fmt_ampm "%I:%M:%S %p"
C h a p t e r 9 , D e s i g n i n g a n d d e p l o y i n g e . r e p o r t s f o r mu l t i p l e l o c a l e s i n A c t u a t e 5 107
#
era "+:0:0000/01/01:+*:AD:%o %N";\
"+:1:-0001/12/31:-*:BC:%o %N"
era_year ""
era_d_fmt ""
END LC_TIME
Running the report server in C locale
Running the report server in C locale improves performance. Do not, however,
run the report server in C locale if the report server must process multibyte
data. Instead, run the report server in the appropriate locale. For example, if
the report server must process Japanese data, run the report server in the
Japanese locale.
On UNIX systems, the report server runs in C locale by default. On Windows
systems, however, the report server locale is specified by the current Regional
Settings Properties. The report server administrator can change the report
server locale to C on Windows systems by creating the registry entry
AC_OPERATION_SERVER_DEFAULT_C_LOCALE and setting its value to
True.
For information about setting the report server locale on UNIX systems, see
How to set the formatting environment variables, earlier in this chapter.
How to set the report server locale to C on Windows
1 Choose StartRun.
2 In Run, type and choose OK:
regedit.exe
3 In the Registry Editor, navigate to HKEY_LOCAL_MACHINE\Software\
Actuate\Actuate e.Reporting Server\5.
4 Choose EditNewString Value.
5 Change the name of the new value to
AC_OPERATION_SERVER_DEFAULT_C_LOCALE and press Enter.
6 Choose EditModify.
7 In Value data, type the following, then choose OK:
True
108 e . R e p o r t i n g f o r Mu l t i p l e L o c a l e s
Printing a Japanese report using XPrinter
XPrinter supports languages that use the Latin 1 code page and Japanese.
XPrinter does not support other languages, nor does it support printing
reports that contain multiple code pages.
Before a report user can print a Japanese report using XPrinter, the following
requirements must be met:
I The locale for the report server processes must be set to Japanese.
I On Solaris, set LANG=ja or LANG=japanese.
I On AIX, set LANG=Ja_JP.
I On HP-UX, set LANG=ja_JP.SJIS.
On UNIX systems, you can set the locale environment variable in the report
server startup script.
I Japanese fonts must be installed on the printer.
I The correct font_mapping files must be present in AcServer/operation.
Xprinter/XRT configuration files such as font_mapping and
xfont_mapping for Japanese are not included with products sold in the
United States.
I The correct psstd.fonts file must be present in AcServer/operation/
xprinter.
I The correct AFM files must be present.
For example, on Sun Solaris, the following files are required for printing a
Japanese report:
I AcServer/operation/nls/JEUC/font_mapping
I AcServer/operation/nls/JEUC/xfont_mapping
I AcServer/operation/nls/JSJIS/font_mapping
I AcServer/operation/nls/JSJIS/xfont_mapping
I AcServer/operation/xprinter/psstd.fonts
I AcServer/operation/xprinter/fontmetrics/afm/gothicbbb-
medium.roman.afm
I AcServer/operation/xprinter/fontmetrics/afm/ryumin-light.roman.afm
C h a p t e r 9 , D e s i g n i n g a n d d e p l o y i n g e . r e p o r t s f o r mu l t i p l e l o c a l e s i n A c t u a t e 5 109
How to install a Japanese font using XPrinter
This procedure does not apply to fonts used for printing graphs.
1 Note the name of the font installed on the printer, for example
"GothicBBB-Medium-83pv-RKSJ-H"
2 Locate the PostScript Printer Description (PPD) file for your printer.
The PostScript Printer Description file should be in AcServer/operation/
xprinter/ppds. If it is not in this directory, you must obtain the PPD file
from the printer manufacturer. For more information about PPD files, see
Chapter 3, Configuring the e.Reporting Server, in Administering Actuate
e.Reporting System.
3 Make sure the name of the font appears in the PPD file, for example
*Font GothicBBB-Medium-83pv-RKSJ-H: 83pv-RKSJ-H "(3.004)" Adobe-
Japan1-2 ROM
4 In the font_mapping file, map the Windows font name to the X Window
font name.
The font_mapping file is located in one of the following directories:
I AcServer/operation/nls/JEUC/font_mapping
I AcServer/operation/nls/JSJIS/font_mapping
Use at least two sets of fonts, for example
*DEFAULT FONT*, -sony-fixed-%s-%s-normal--*-%d-%d-%d-c-*-iso8859-*, -
sony-fixed-%s-%s-normal--*-%d-%d-%d-c-*-jisx0201.1976-*, -jis-fixed-%s-%s-
normal--*-%d-%d-%d-c-*-jisx0208.1983-*
Times New Roman, -adobe-times-%s-%s-normal--*-%d-%d-%d-p-0-iso8859-1
Arial,-adobe-helvetica-%s-%s-normal--*-%d-%d-%d-p-0-iso8859-1
Johnny-Bold,-adobe-johnny-%s-%s-normal--*-%d-%d-%d-p-0-iso8859-1
lr -, -sony-fixed-%s-%s-normal--*-%d-%d-%d-c-*-iso8859-*, -sony-fixed-
%s-%s-normal--*-%d-%d-%d-c-*-jisx0201.1976-*, -jis-fixed-%s-%s-normal--*-
%d-%d-%d-c-*-jisx0208.1983-*
lr SVbN, -misc-fixed-%s-%s-normal--*-%d-%d-%d-c-*-iso8859-*, -misc-
fixed-%s-%s-normal--*-%d-%d-%d-c-*-jisx0201.1976-*, -misc-fixed-%s-%s-
normal--*-%d-%d-%d-c-*-jisx0208.1983-*
lr o-, -sony-fixed-%s-%s-normal--*-%d-%d-%d-c-*-iso8859-*, -sony-
fixed-%s-%s-normal--*-%d-%d-%d-c-*-jisx0201.1976-*, -jis-fixed-%s-%s-
normal--*-%d-%d-%d-c-*-jisx0208.1983-*
lr oSVbN, -misc-fixed-%s-%s-normal--*-%d-%d-%d-c-*-iso8859-*, -
misc-fixed-%s-%s-normal--*-%d-%d-%d-c-*-jisx0201.1976-*, -misc-fixed-%s-
%s-normal--*-%d-%d-%d-c-*-jisx0208.1983-0
5 Place the Adobe Font Metrics (*.afm) file for the font in AcServer/
operation/xprinter/fontmetrics/afm.
You must obtain this file from the font vendor.
110 e . R e p o r t i n g f o r Mu l t i p l e L o c a l e s
6 In the psstd.font file, map the X Window font name you specified in step 4
to the printer font name.
The psstd.font file is located in AcServer/operation/xprinter. For example,
-misc-fixed-medium-r-normal--%d-%d-%d-%d-c-0-iso8859-1 is mapped to
GothicBBB-Medium.Roman.
# normal Gothic
GothicBBB-Medium.Roman, -misc-fixed-medium-r-normal--%d-%d-%d-%d-c-
0-iso8859-1
GothicBBB-Medium.Roman, -misc-fixed-medium-r-normal--%d-%d-%d-%d-c-
0-iso8859-8
GothicBBB-Medium-83pv-RKSJ-H, -misc-fixed-medium-r-normal--%d-%d-%d-
%d-c-0-jisx0201.1976-0
GothicBBB-Medium-83pv-RKSJ-H, -misc-fixed-medium-r-normal--%d-%d-%d-
%d-c-0-jisx0208.1983-0
7 In the psstd.font file, change Times-Roman to the Japanese font, for
example
Times-Roman, -adobe-times-medium-r-normal--%d-%d-%d-%d-p-0-iso8859-1
Japanese_font, -adobe-times-medium-r-normal--%d-%d-%d-%d-p-0-iso8859-1
How to test a Japanese font
1 Create a report that contains one label with Japanese text.
2 Set the labels font to the Japanese font.
3 From the report server, print the report to a PostScript file.
4 Verify that the Japanese font name appears in the PostScript file.
Viewing DHTML reports with multiple locales
The Invoice report can be viewed with a web browser in either of two locales,
English (Canada) and French (Canada). In this example, the report server and
the web server are running on Windows NT systems.
Viewing the report in the English (Canada) locale
To view the report with the English (Canada) locale, the report user must
include the Windows locale ID enc in the URL, for example:
http://<web_server>/acweb/enc/<report_server>/Invoices/
BilingualInvoice.roi;1?ViewDefault
C h a p t e r 9 , De s i g n i n g a n d d e p l o y i n g e . r e p o r t s f o r mu l t i p l e l o c a l e s i n A c t u a t e 5 111
ReportCast loads the English (Canada) templates. The report labels are in
English. The date and currency values are formatted according to the
conventions of the English (Canada) locale.
Viewing the report in the French (Canada) locale
To view the report with the French (Canada) locale, the report user must
include the Windows locale ID frc in the URL, for example:
http://<web_server>/acweb/frc/<report_server>/Invoices/
BilingualInvoice.roi;1?ViewDefault
ReportCast loads the French (Canada) templates. The report labels are in
French. The date and currency values are formatted according to the
conventions of the French (Canada) locale.
112 e . R e p o r t i n g f o r Mu l t i p l e L o c a l e s
Creating locale-specific ReportCast
configurations
The web server administrator must create standard template configurations
for the English (Canada) and French (Canada) locales as described in
Working with locale-specific ReportCast configurations in Chapter 8,
Using ReportCast with multiple locales. The Windows locale IDs for English
(Canada) and French (Canada) are enc and frc, respectively.
Modifying the locale map
When the report server is installed, the locale map contains a line that specifies
the Actuate Basic short date and long date formats and the time format for the
English (Canada) locale:
enc "English_Canada.1252" "dd/MM/yy" "d-MMM-yy" 1 "HH:mm:ss"
The report server administrator must add a line to the locale map that specifies
the Actuate Basic short date and long date formats and the time format for the
French (Canada) locale:
frc "French_Canada.1252" "dd/MM/yy" "d-MMM-yy" 1 "HH:mm:ss"
C h a p t e r 9 , D e s i g n i n g a n d d e p l o y i n g e . r e p o r t s f o r mu l t i p l e l o c a l e s i n A c t u a t e 5 113
The web server administrator must make the same change to the locale map
on the web server.
Formatting currency controls
Because the Invoice report will be viewed with locales that use the same
currency, the Canadian dollar, currency controls are formatted with the
Currency format. Currency values are formatted at view time based on the
View process locale and the report server systems locale settings.
Translating labels
In the Invoice report, labels are translated when the report user loads the
French (Canada) or English (Canada) templates or clicks the English/Franais
button. The translation is performed by:
I The code in the root components GlobalDHTMLCode property.
I The code in the browser scripting controls BrowserCode property.
The code consists of HTML and JavaScript. For more information about the
GlobalDHTMLCode property and the browser scripting control, see
Chapter 9, Writing custom browser code, in Programming e.Reports.
Working with the GlobalDHTMLCode property
The root component, a subclass of AcReport, has a GlobalDHTMLCode
property. The GlobalDHTMLCode property is set as follows. The function
ChangeLanguage() changes the language from English to French or French to
English and calls the function ChangeLabels (lng). The function ChangeLabels
(lng) returns the appropriate set of labels.
<script language="JavaScript">
function readCookie( key )
{
var value = "";
var allcookies = document.cookie;
var pos = allcookies.indexOf( key );
if ( pos != -1 )
{
var start = pos + key.length;
var end = allcookies.indexOf( ";", start );
if ( end == -1 )
end = allcookies.length;
value = allcookies.slice( start+1, end );
value = unescape( value );
}
114 e . R e p o r t i n g f o r Mu l t i p l e L o c a l e s
return value;
}
function writeCookie( key, value, expirationDate, path )
{
cookieString = key + "=" + escape( value );
if ( expirationDate )
{
cookieString += ";expires=" + expirationDate;
}
if ( path )
{
cookieString += ";path=" + path;
}
document.cookie = cookieString;
}
function ChangeLanguage()
{
var value = document.forms[0].btnLng.value;
var expires = new Date();
expires.setTime(expires.getTime() + 3E11);
if (value == "English")
{
document.forms[0].btnLng.value = "Franais";
lng = 0;
}
else if (value == "Franais")
{
document.forms[0].btnLng.value = "English";
lng = 1;
}
writeCookie("Language", lng, expires);
ChangeLabels (lng);
}
function ChangeLabels (lng)
{
InvoiceNumberXL = new Array(2);
InvoiceNumberXL[0] = "Invoice number:";
InvoiceNumberXL[1] = "Numro de facture:";
DueDateXL = new Array(2);
DueDateXL[0] = "Due Date:";
DueDateXL[1] = "Date due:";
AmountDueXL = new Array(2);
AmountDueXL[0] = "Amount due:";
AmountDueXL[1] = "Montant d:";
PageHeaderXL = new Array(2);
PageHeaderXL[0] = "INVOICE";
PageHeaderXL[1] = "FACTURE";
ItemCodeXL = new Array(2);
ItemCodeXL[0] = "Item code:";
C h a p t e r 9 , D e s i g n i n g a n d d e p l o y i n g e . r e p o r t s f o r mu l t i p l e l o c a l e s i n A c t u a t e 5 115
ItemCodeXL[1] = "Code du produit:";
ItemDescriptionXL = new Array(2);
ItemDescriptionXL[0] = "Description:";
ItemDescriptionXL[1] = "Description:";
ItemPriceXL = new Array(2);
ItemPriceXL[0] = "Item price:";
ItemPriceXL[1] = "Cot du produit:";
ItemQuantityXL = new Array(2);
ItemQuantityXL[0] = "Quantity:";
ItemQuantityXL[1] = "Quantit:";
ItemTotalPriceXL = new Array(2);
ItemTotalPriceXL[0] = "Total price:";
ItemTotalPriceXL[1] = "Cot total:";
StubXL = new Array(2);
StubXL[0] = "Return this stub with your payment";
StubXL[1] = "Retourner cette portion avec votre paiement";
AmountPaidXL = new Array(2);
AmountPaidXL[0] = "Amount paid:";
AmountPaidXL[1] = "Montant pay:";
try {
InvoiceNumberLabel.innerHTML = InvoiceNumberXL[lng];
} catch (e) {}
try {
DueDateLabel.innerHTML = DueDateXL[lng];
} catch (e) {}
try {
AmountDueLabel.innerHTML = AmountDueXL[lng];
} catch (e) {}
try {
InvoiceNumber2Label.innerHTML = InvoiceNumberXL[lng];
} catch (e) {}
try {
DueDate2Label.innerHTML = DueDateXL[lng];
} catch (e) {}
try {
PageHeaderLabel.innerHTML = PageHeaderXL[lng];
} catch (e) {}
try {
ItemCodeLabel.innerHTML = ItemCodeXL[lng];
} catch (e) {}
try {
ItemDescriptionLabel.innerHTML = ItemDescriptionXL[lng];
} catch (e) {}
try {
ItemPriceLabel.innerHTML = ItemPriceXL[lng];
} catch (e) {}
try {
ItemQuantityLabel.innerHTML = ItemQuantityXL[lng];
} catch (e) {}
try {
ItemTotalPriceLabel.innerHTML = ItemTotalPriceXL[lng];
116 e . R e p o r t i n g f o r Mu l t i p l e L o c a l e s
} catch (e) {}
try {
StubLabel.innerHTML = StubXL[lng];
} catch (e) {}
try {
InvoiceNumber3Label.innerHTML = InvoiceNumberXL[lng];
} catch (e) {}
try {
AmountPaidLabel.innerHTML = AmountPaidXL[lng];
} catch (e) {}
}
var lng = readCookie("Language");
if( lng == "")
{
lng = "0";
}
</script>
Understanding the English/Franais button
The English/Franais button is produced by a browser scripting control
placed directly on the page. The BrowserCode property is set as follows. This
code calls the function ChangeLanguage() in the GlobalDHTMLCode
property.
<FORM NAME="destURL">
<input type="button" name="btnLng" size=20 onclick="ChangeLanguage()">
</FORM>
<script language="JavaScript">
if (lng == "0")
{document.forms[0].btnLng.value = "Franais"}
else
{document.forms[0].btnLng.value = "English"}
</script>
About English and French labels
Each label in the Invoice report is produced by a browser scripting control. For
example, the label Invoice number/Numro de facture is produced by a
browser scripting control with the BrowserCode property set as follows.
<DIV ID="InvoiceNumberLabel">
</DIV>
C h a p t e r 9 , D e s i g n i n g a n d d e p l o y i n g e . r e p o r t s f o r mu l t i p l e l o c a l e s i n A c t u a t e 5 117
Viewing reports on the desktop with multiple locales
One way to create a multilocale report design is to use the GetText method to
translate labels and do some of the data formatting. This approach does not
address issues such as collation sequence and case mapping.
You can design a report that enables the report user to select the language in
which the report is displayed and change the currency in which amounts are
shown. In this example, labels can be displayed in English, French, or German.
Currency values are converted to U.S. dollars, French francs, or German marks
when the user clicks on an area of the report. The first page of the English
report showing values in U.S. dollars appears as follows.
The report supports users specifying the language in which they want to see
the output. At report submission time, the user sets a Language parameter.
The design of the report supports English, French, and German. The
parameter is a global variable visible by all report objects.
118 e . R e p o r t i n g f o r Mu l t i p l e L o c a l e s
The labels in the report are objects of the class IntlTextControl. This class
handles the translation of the labels into various languages in a way that
makes it easy to add languages beyond the three used in this report. Currency
conversion and display are handled by the class IntlCurrencyControl. This
class manages the calculation and display of currency amounts.
Working with labels
Each label in the report is implemented as an instance of the IntlTextControl
class. This class is based on the AcTextControl class. The IntlTextControl
differs from its parent class in that it has two extra variables defined, mLabel
and mLanguage. Also, the IntlTextControl overrides its parent's GetText()
method. mLabel and mLanguage are defined as string variables. They are
used to store the language of the report and the label that needs to be
displayed.
C h a p t e r 9 , D e s i g n i n g a n d d e p l o y i n g e . r e p o r t s f o r mu l t i p l e l o c a l e s i n A c t u a t e 5 119
Function GetText( ) As String
Get Text = Translate (mLanguage, mLabel)
End Function
By default, the GetText() method for a text control gets its value from the data
row column that contains the string. In the case of IntlTextControl, the text is
not retrieved from the data row produced by the report query. Instead, the
IntlTextControl text is retrieved through the function Translate that has been
defined to translate the labels.
Function Translate (Language as string, Label as string) As String
Select Case Language
Case "French"
Select Case Label
Case "Title"
Translate = "tat International D'Excution De Ventes"
Case "Subtitle"
Translate = "Les ventes ont rserv entre"
Case "RepLabel"
Translate = "Reprsentant de ventes"
Case "CustomerLabel"
Translate = "Nombre de clients"
Case "DateRangeLabel"
Translate = "Les ventes ont rserv entre"
Case "Total"
Translate = "Ventes totales"
Case "CustomerAverage"
Translate = "Ventes moyennes par le client"
Case "OrderAverage"
Translate = "Ventes moyennes par Order"
Case "DollarButton"
Translate = "Devise de vue en dollars Americain"
Case "FrancButton"
Translate = "Devise de vue en Francs"
Case "MarkButton"
Translate = "Devise de vue en deutschemarks"
End Select
Case "German"
Select Case Label
Case "Title"
Translate = "Internationaler VerkaufsergebnisReport"
Case "Subtitle"
Translate = "Verkufe meldeten zwischen an"
Case "RepLabel"
120 e . R e p o r t i n g f o r Mu l t i p l e L o c a l e s
Translate = "Verkufe Reprsentant"
Case "CustomerLabel"
Translate = "Zahl der Kunden"
Case "DateRangeLabel"
Translate = "Verkufe meldeten zwischen an"
Case "Total"
Translate = "Gesamtverkufe"
Case "CustomerAverage"
Translate = "Durchschnittliche Verkufe durch Kunden"
Case "OrderAverage"
Translate = "Durchschnittliche Verkufe durch Order"
Case "DollarButton"
Translate = "Ansichtwhrung in den US-Dollar"
Case "FrancButton"
Translate = "Ansichtwhrung in den franzsischen Franc"
Case "MarkButton"
Translate = "Ansichtwhrung in den Mark"
End Select
Case Else
Select Case Label
Case "Title"
Translate = "International Sales Performance Report"
Case "Subtitle"
Translate = "Sales booked between"
Case "RepLabel"
Translate = "Sales Rep."
Case "CustomerLabel"
Translate = "Number of Customers"
Case "DateRangeLabel"
Translate = "Sales booked between"
Case "Total"
Translate = "Total Sales"
Case "CustomerAverage"
Translate = "Average Sales by Customer"
Case "OrderAverage"
Translate = "Average Sales by Order"
Case "DollarButton"
Translate = "View Amounts in US Dollars"
Case "FrancButton"
Translate = "View Amounts in French Francs"
Case "MarkButton"
Translate = "View Amounts in German Marks"
End Select
End Select
End Function
C h a p t e r 9 , D e s i g n i n g a n d d e p l o y i n g e . r e p o r t s f o r mu l t i p l e l o c a l e s i n A c t u a t e 5 121
The function Translate accepts two strings as input: the desired language and
the label to be translated. Translate returns a string that corresponds to the
label in the appropriate language. If you want to extend the report by adding
new languages or labels, add the strings to this function.
Every label in the report is a subclass of IntlTextControl. For each label, the
GetText() method is overridden, as in the following example:
Function GetText( ) As String
mLabel = Total
GetText = Super::GetText()
End Function
The function sets the value of the variable mLabel and calls IntlTextControl's
GetText() method. IntlTextControl then invokes the translate function with the
appropriate value of mLabel. The value of mLanguage is set in the Start()
method of IntlTextControl.
Sub Start( )
Super::Start( )
mLanguage = Language
End Sub
The controls text is the value returned by the function Translate when called
with the parameters mLabel and mLanguage.
Working with currency formats
Currency values in the report are implemented using the class
IntlCurrencyControl. This class has the Actuate class AcCurrencyControl as its
super class. IntlCurrencyControl overrides its parent's Start( ) and GetText( )
methods in order to perform the mathematical operations of currency
conversion and the formatting and display of the amounts with the
appropriate label ($, FF, or DM).
The report design includes two user-input parameters, DMRate and FFRate,
that define the exchange rates for the German mark and French franc,
respectively. These parameters have default values.
122 e . R e p o r t i n g f o r Mu l t i p l e L o c a l e s
The GetText( ) method for IntlCurrencyControl is overridden as follows.
Function GetText( ) As String
Dim returnStr As String
Dim i As Double
If NewReportApp::mCurrency = 1 Then
returnStr = Super::GetText( )
i = CCur(returnStr)
i = CInt(i * mFFRate)
returnStr = CStr(i)
GetText = FF & Format(returnStr, ###,###,###,###)
ElseIf NewReportApp::mCurrency = 2 Then
returnStr = Super::GetText( )
i = CCur(returnStr)
i = CInt(i * mDMRate)
returnStr = CStr(i)
GetText = DM & Format(returnStr, ###,###,###,###)
Else
returnStr = Super::GetText( )
i = CCur(returnStr)
i = CInt(i)
returnStr = CStr(i)
GetText = $ & Format(returnStr, ###,###,###,###)
End If
End Function
The If structure in the previous code separates out the different processing
needed for each type of currency. mCurrency is a global variable that holds the
currency currently being displayed by the report. Values of 0, 1, and 2
correspond to dollars, francs, and marks, respectively. The value of mCurrency
is set when the user clicks on the buttons in the report to change the currency.
For each currency, the code gets the value of the text associated with the text
control. In the case of this report, these values are the monetary amounts
stored in the tables in the database. The database stores values in dollars. The
C h a p t e r 9 , D e s i g n i n g a n d d e p l o y i n g e . r e p o r t s f o r mu l t i p l e l o c a l e s i n A c t u a t e 5 123
code converts the dollar amounts to other currencies by multiplying by the
appropriate rate. In the case that the currency is dollars, the value is left
unchanged. See the final Else clause of the code. The method also formats the
string by adding the symbol for the currency and the thousands comma
separator before returning the text.
The viewer of the report can change the currency in which the values are
displayed by clicking on one of the toggle buttons in the report above the
column headings. When the user clicks a button, the control becomes
unavailable and the monetary values are converted to the new currency. The
OnLButtonClick method for the first button, View Amounts in US Dollars, is
overridden as follows.
Function OnLButtonClick( view As AcReportView, Shift As AcShiftKeyState, x
As Integer, y As Integer ) As Boolean
Dim theLink As AcReportController
Dim aFrame As AcFrame
Dim USDTC As AcTextControl
Dim FFTC As AcTextControl
Dim DMTC As AcTextControl
Set aFrame = GetContainer( )
Set USDTC = aFrame.FindContentByClass( "NewReportApp: :Frame1:
:DollarView" )
Set FFTC = aFrame.FindContentByClass( "NewReportApp: :Frame1:
:FrancView" )
Set DMTC = aFrame.FindContentByClass( "NewReportApp: :Frame1:
:MarkView" )
'Set currency variable to U.S. Dollars
NewReportApp: :mCurrency = 0
'Set U.S. Dollar Button to gray, others to transparent
USDTC.BackgroundColor = LightGray
FFTC.BackgroundColor = TransparentColor
DMTC.BackgroundColor = TransparentColor
Set theLink = New AcReportController
theLink.AttachToThisReport( )
'Force redrawing of pages
theLink.ShowNextPage( )
theLink.ShowPrevPage( )
OnLButtonClick = True
End Function
124 e . R e p o r t i n g f o r Mu l t i p l e L o c a l e s
The code in this method executes whenever the user clicks the left mouse
button on the control. The code performs three important operations. First, it
sets the value of the global variable that holds the currency, mCurrency to the
appropriate value. In this case, the currency is dollars so the value is set to 0.
Second, the code sets the background color properties of the toggle buttons
appropriately. Because this code is associated with the dollar button, it sets
that button's background to light gray and the others to white. Third, the code
forces the report to redisplay its pages. When the controls that show the
monetary amounts are redrawn, the GetText( ) methods for those components
are called. These methods perform the currency conversions and formatting.
Redrawing the pages forces the amounts to display in the new currency.
Using localized Actuate desktop products
To use a localized Actuate desktop product, set your Windows Regional
Settings to the correct locale. For example, to use the Spanish version of
e.Report Designer Professional on Windows 2000, use the following settings:
I Locale: Spanish-Spain
I Sorting Order: Traditional
To use a different Spanish locale, for example Spanish-Argentina, create the
folder \Actuate5\Erdpro\Nls\Ess and copy Erdpro.dll from
\Actuate5\Erdpro\Nls\Esp to this folder. ESS is the Microsoft locale ID for
Spanish-Argentina.
Understanding the limitations of multilingual
reports in Actuate 5
Using reports that contain multiple languages has a few limitations:
I Only languages whose characters appear on a single code page can be
displayed together in one report.
Actuate 5 does not support Unicode. If data is stored in the database as
Unicode, the database client must convert the data to an appropriate
character set. For example, Japanese data stored as Unicode must be
converted to Shift-JIS or Windows code page 932.
I If a report contains characters that are not in the Latin 1 character set, the
report may not display correctly in a web browser or PDF viewer.
The report user must explicitly set the web browsers encoding to the
correct character set.
C h a p t e r 9 , D e s i g n i n g a n d d e p l o y i n g e . r e p o r t s f o r mu l t i p l e l o c a l e s i n A c t u a t e 5 125
I Actuate 5 products support only one locale at a time.
A report can contain data in multiple languages if all the characters are
from the same code page, but it can use only one locale at a time. For
example, a report can contain French, English, and Spanish data. The report
can use date formats for only one locale, however.
I Different language versions of Actuate 5 products are not compatible.
For example, if a ROX is generated using a U.S. English version of e.Report
Designer Professional, the ROX cannot be deployed on a Japanese report
server without recompiling.
I Data retrieved from a COM object is converted to the character set specified
by the report server locale.
For example, if Cyrillic data is retrieved from a COM object during report
generation and the report server locale is U.S. English, Cyrillic characters
that do not map to the ISO 8859-1 code page are replaced by question
marks.
I Data retrieved from a Java object is converted from Unicode to the
character set specified by the report server locale.
For example, if Cyrillic data is retrieved from a Java object during report
generation and the report server locale is U.S. English, Cyrillic characters
that do not map to the ISO 8859-1 code page are replaced by question
marks.
I Parameter aliases appear to the report user in the Requester.
These aliases are defined using the design time language. To have these
aliases appear in the appropriate language at run time, you must write a
custom data entry program and call either the Requester API or ReportCast
directives to generate reports.
I The Search page displays control names to the end user.
These names are defined using the design time language.
I The design time language can be used to define entries in the table of
contents.
I In English e.Report Designer Professional, only ASCII characters can be
used in control names. For example, you cannot use the character in a
control name.
I Japanese table and column names cannot be converted to Actuate Basic
variables. Japanese table and column names are escaped to their hex code
equivalents.
I Actuate 5 desktop products, such as e.Report Designer Professional, the
Viewer, and the LRX, do not support the font Lucida Sans Unicode for
Japanese characters on Windows NT 4.0.
126 e . R e p o r t i n g f o r Mu l t i p l e L o c a l e s
Use either MS Gothic or MS Mincho for Japanese characters on Windows
NT 4.0.
A p p e n d i x A, A c t u a t e l o c a l e c o d e s 127
A p p e n d i x
A
AppendixAActuate locale codes
Use the Actuate locale codes in the following table to identify locales in
Actuate Basic code.
Locale Code
Albanian sq_AL
Arabic (Egypt) ar_EG
Bulgarian bg_BG
Chinese (Hong Kong SAR) zh_HK
Chinese (PRC) zh_CN
Chinese (Singapore) zh_SG
Chinese (Taiwan) zh_TW
Croatian hr_HR
Czech cs_CZ
Danish (Denmark) da_DK
Dutch (Belgium) nl_BE
Dutch (Netherlands) nl_NL
English (Australia) en_AU
English (Belize) en_BZ
English (Canada) en_CA
English (Ireland) en_IE
English (New Zealand) en_NZ
128 e . R e p o r t i n g f o r Mu l t i p l e L o c a l e s
English (South Africa) en_ZA
English (United Kingdom) en_GB
English (United States) en_US
Estonian et_EE
Farsi fa_IR
Finnish fi_FI
French (Canada) fr_CA
French (France) fr_FR
German (Austria) de_AT
German (Germany) de_DE
German (Liechtenstein) de_LI
Greek el_GR
Hebrew he_IL
Hungarian hu_HU
Indonesian id_ID
Italian (Italy) it_IT
Italian (Switzerland) it_CH
Japanese ja_JP
Korean ko_KR
Latvian lv_LV
Norwegian (Bokmal) no_NO
Norwegian (Nynorsk) no_NY
Polish pl_PL
Portuguese (Brazil) pt_BR
Portuguese (Portugal) pt_PT
Romanian ro_RO
Russian ru_RU
Serbian (Latin) (Yugoslavia) sr_YU
Slovak sk_SK
Slovenian sl_SI
Spanish (Mexico) es_MX
Spanish (Spain) es_ES
Locale Code
A p p e n d i x A, A c t u a t e l o c a l e c o d e s 129
Swedish (Finland) sv_FI
Swedish (Sweden) sv_SE
Turkish (Turkey) tr_TR
Ukrainian (Ukraine) uk_UA
Locale Code
130 e . R e p o r t i n g f o r Mu l t i p l e L o c a l e s
A p p e n d i x B , e . S p r e a d s h e e t i n t e r n a t i o n a l i z a t i o n i n f o r ma t i o n 131
A p p e n d i x
B
AppendixBe.Spreadsheet
internationalization
information
This appendix contains tables listing the following information:
I Format symbols
I Values and errors
I Function names
132 e . R e p o r t i n g f o r Mu l t i p l e L o c a l e s
About internationalization information
This appendix contains several tables with lists of information pertinent to
e.Spreadsheets internationalization features.
Format symbols
Values and errors
Symbol
Description English French German Italian Spanish Japanese
Escape Char \ \ \ \ \ !
Year y a J a a y
Month m m M m m m
Day d j T g d d
Hour h h h h h h
Minute m m m m m m
Second s s s s s s
General General Standard Standard Standard Estndar G/
Black Black Noir Schwarz Nero Negro
Blue Blue Bleu Blau Blu Azul
Cyan Cyan Cyan Zyan Celeste Agua-
marina
Green Green Vert Grn Verde verde
Magenta Magenta Magenta Magenta Fucsia Fucsia
Red Red Rouge Rot Rosso Rojo
White White Blanc Wei Bianco Blanco
Yellow Yellow Jaune Gelb Giallo Amarillo
Color Color Couleur Farbe Colore Color
English/
Japanese French German Italian Spanish
TRUE VRAI WAHR VERO VERDADERO
FALSE FAUX FALSCH FALSO FALSO
#NULL! #NUL! #NULL! #NULLO! #NULO!
A p p e n d i x B , e . S p r e a d s h e e t i n t e r n a t i o n a l i z a t i o n i n f o r ma t i o n 133
Function names
#DIV/0! #DIV/0! #DIV/0! #DIV/0! #DIV/0!
#VALUE! #VALEUR! #WERT! #VALORE! #VALOR!
#REF! #REF! #BEZUG! #RIF! #REF!
#NAME? #NOM? #NAME? #NOME? #NOMBRE?
#NUM! #NOMBRE! #ZAHL! #NUM! #NUM!
#N/A #N/A #NV #N/D #N/A
English/
Japanese French German Italian Spanish
English/
Japanese
1
French German Italian Spanish
ABS ABS ABS ASS ABS
ACCRINT INTERET.ACC AUFGELZINS INT.MATURATO
.PER
INT.ACUM
ACCRINTM INTERET.ACC.
MAT
AUFGELZINSF INT.MATURATO
.SCAD
INT.ACUM.V
ACOS ACOS ARCCOS ARCCOS ACOS
ACOSH ACOSH ARCCOSHYP ARCCOSH ACOSH
ADDRESS ADRESSE ADRESSE INDIRIZZO DIRECCION
AMORDEGRC AMORDEGRC AMORDEGRK AMMORT.DEGR AMORTIZ
PROGRE
AMORLINC AMORLINC AMOR
LINEARK
AMMORT.PER AMORTIZLIN
AND ET UND E Y
AREAS ZONES BEREICHE AREE AREAS
ASC ASC ASC ASC ASC
ASIN ASIN ARCSIN ARCSEN ASENO
ASINH ASINH ARCSINHYP ARCSENH ASENOH
ATAN ATAN ARCTAN ARCTAN ATAN
ATAN2 ATAN2 ARCTAN2 ARCTAN.2 ATAN2
ATANH ATANH ARCTANHYP ARCTANH ATANH
AVEDEV ECART.MOYEN MITTELABW MEDIA.DEV DESVPROM
AVERAGE MOYENNE MITTELWERT MEDIA PROMEDIO
134 e . R e p o r t i n g f o r Mu l t i p l e L o c a l e s
AVERAGEA AVERAGEA MITTELWERTA MEDIA.VALORI PROMEDIOA
BESSELI BESSELI BESSELI BESSEL.I BESSELI
BESSELJ BESSELJ BESSELJ BESSEL.J BESSELJ
BESSELK BESSELK BESSELK BESSEL.K BESSELK
BESSELY BESSELY BESSELY BESSEL.Y BESSELY
BETADIST LOI.BETA BETAVERT DISTRIB.BETA DISTR.BETA
BETAINV BETA.INVERSE BETAINV INV.BETA DISTR.BETA.IN
V
BIN2DEC BINDEC BININDEZ BINARIO
.DECIMALE
BIN.A.DEC
BIN2HEX BINHEX BININHEX BINARIO.HEX BIN.A.HEX
BIN2OCT BINOCT BININOKT BINARIO.OCT BIN.A.OCT
BINOMDIST LOI
.BINOMIALE
BINOMVERT DISTRIB.BINOM DISTR.BINOM
CALL FONCTION
.APPELANTE
AUFRUFEN RICHIAMA LLAMAR
CEILING PLAFOND OBERGRENZE ARROTOND
.ECCESSO
MULTIPLO
.SUPERIOR
CELL CELLULE ZELLE CELLA CELDA
CHAR CAR ZEICHEN CODICE
.CARATT
CARACTER
CHIDIST LOI.KHIDEUX CHIVERT DISTRIB.CHI DISTR.CHI
CHIINV KHIDEUX
.INVERSE
CHIINV INV.CHI PRUEBA.CHI
.INV
CHITEST TEST.KHIDEUX CHITEST TEST.CHI PRUEBA.CHI
CHOOSE CHOISIR WAHL SCEGLI ELEGIR
CLEAN EPURAGE SUBERN LIBERA LIMPIAR
CODE CODE CODE CODICE CODIGO
COLUMN COLONNE SPALTE RIF.COLONNA COLUMNA
COLUMNS COLONNES SPALTEN COLONNE COLUMNAS
COMBIN COMBIN KOMBINATION
EN
COMBINAZION
E
COMBINAT
COMPLEX COMPLEXE KOMPLEXE COMPLESSO COMPLEJO
English/
Japanese
1
French German Italian Spanish
A p p e n d i x B , e . S p r e a d s h e e t i n t e r n a t i o n a l i z a t i o n i n f o r ma t i o n 135
CONCATE
NATE
CONCATENER VERKETTEN CONCATENA CONCATENAR
CONFIDENCE INTERVALLE
.CONFIANCE
KONFIDENZ CONFIDENZA INTERVALO
.CONFIANZA
CONVERT CONVERT UMWANDELN CONVERTI COMNVERTIR
CORREL COEFFICIENT.
CORRELATION
KORREL CORRELA
ZIONE
COEF.DE
.CORREL
COS COS COS COS COS
COSH COSH COSHYP COSH COSH
COUNT NB ANZAHL CONTA
.NUMERI
CONTAR
COUNTA NBVAL ANZAHL2 CONTA
.VALORI
CONTARA
COUNT
BLANK
NB.VIDE ANZAHL
LEEREZELLEN
CONTA.VUOTE CONTAR
.BLANCO
COUNTIF NB.SI ZHLEN
WENN
CONTA.SE CONTAR.SI
COUPDAYBS NB.JOURS
.COUPON
.PREC
ZINSTERM
TAGVA
GIORNI.CED
.INIZ.LIQ
CUPON.DIAS
.L1
COUPDAYS NB.JOURS
.COUPONS
ZINSTERM
TAGE
GIORNI.CED CUPON.DIAS
COUPDAYS
NC
NB.JOURS
.COUPON.SUIV
ZINSTERM
TAGNZ
GIORNI.CED
.NUOVA
CUPON.DIAS
.L2
COUPNCD DATE.COUPON
.SUIV
ZINSTERMNZ DATA.CED
.SUCC
CUPON.FECHA
.L2
COUPNUM NB.COUPONS ZINSTERM
ZAHL
NUM.CED CUPON.NUM
COUPPCD DATE.COUPON
.PREC
ZINSTERMVZ DATA.CED
.PREC
CUPON.FECHA
.L1
COVAR COVARIANCE KOVAR COVARIANZA COVAR
CRITBINOM CRITERE.LOI
.BINOMIALE
KRITBINOM CRIT.BINOM BINOM.CRIT
CUMIPMT CUMUL.INTER ZUMZINSZ INT.CUMUL PAGO.INT
.ENTRE
English/
Japanese
1
French German Italian Spanish
136 e . R e p o r t i n g f o r Mu l t i p l e L o c a l e s
CUMPRINC CUMUL
.PRINCPER
ZUMKAPITAL CAP.CUM PAGO.PRINC
.ENTRE
DATE DATE DATUM DATA FECHA
DATEDIF DATEDIF DATEDIF DATA.DIFF SIFECHA
DATEVALUE DATEVAL DATWERT DATA.VALORE FECHA
NUMERO
DAVERAGE BDMOYENNE DBMITTEL
WERT
DB.MEDIA BDPROMEDIO
DAY JOUR TAG GIORNO DIA
DAYS360 JOURS360 TAGE360 GIORNO360 DIAS360
DB DB GDA2 AMMORT.FISSO DB
DBCS DBCS DBCS DBCS DBCS
DCOUNT BDNB DBANZAHL DB.CONTA
.NUMERI
BDCONTAR
DCOUNTA BDNBVAL DBANZAHL2 DB.CONTA
.VALORI
BDCONTARA
DDB DDB GDA AMMORT DDB
DEC2BIN DECBIN DEZINBIN DECIMALE
.BINARIO
DEC.A.BIN
DEC2HEX DECHEX DEZINHEX DECIMALE.HEX DEC.A.HEX
DEC2OCT DECOCT DEZINOKT DECIMALE.OCT DEC.A.OCT
DEGREES DEGRES GRAD GRADI GRADOS
DELTA DELTA DELTA DELTA DELTA
DEVSQ SOMME
.CARRES
.ECARTS
SUMQUAD
ABW
DEV.Q DESVIA2
DGET BDLIRE DBAUSZUG DB.VALORI BDEXTRAER
DISC TAUX
.ESCOMPTE
DISAGIO TASSO.SCONTO TASA.DESC
DMAX BDMAX DBMAX DB.MAX BDMAX
DMIN BDMIN DBMIN DB.MIN BDMIN
DOLLAR FRANC DM VALUTA MONEDA
DOLLARDE PRIX.DEC NOTIERUNG
DEZ
VALUTA.DEC MONEDA.DEC
English/
Japanese
1
French German Italian Spanish
A p p e n d i x B , e . S p r e a d s h e e t i n t e r n a t i o n a l i z a t i o n i n f o r ma t i o n 137
DOLLARFR PRIX.FRAC NOTIERUNG
BRU
VALUTA.FRAZ MONEDA
.FRAC
DPRODUCT BDPRODUIT DBPRODUKT DB.PRODOTTO BDPRODUCTO
DSTDEV BDECARTYPE DBSTDABW DB.DEV.ST BDDESVEST
DSTDEVP BDECARTYPEP DBSTDABWN DB.DEV.ST.POP BDDESVESTP
DSUM BDSOMME
DBSUMME
DB.SOMMA BDSUMA
DURATION DUREE DURATION DURATA DURACION
DVAR BDVAR DBVARIANZ DB.VAR BDVAR
DVARP BDVARP DBVARIANZEN DB.VAR.POP BDVARP
EDATE MOIS
.DECALER
EDATUM DATA.MESE FECHA.MES
EFFECT TAUX
.EFFECTIF
EFFEKTIV EFFETTIVO INT.EFECTIVO
EOMONTH FIN.MOIS MONATSENDE FINE.MESE FIN.MES
ERF ERF GAUSSFEHLER FUNZ.ERRORE FUN.ERROR
.COMPL
ERFC ERFC GAUSS
FKOMPL
FUNZ.ERRORE
.COMP
FUN.ERROR
.COMPL
ERROR.TYPE TYPE.ERREUR FEHLER.TYP ERRORE.TIPO TIPO.DE
.ERROR
EURO
CONVERT
EURO
CONVERT
EURO
CONVERT
EURO
CONVERT
EURO
CONVERT
EVEN PAIR GERADE PARI REDONDEA
.PAR
EXACT EXACT IDENTISCH IDENTICO IGUAL
EXP EXP EXP EXP EXP
EXPONDIST LOI.EXPONEN
TIELLE
EXPONVERT DISTRIB.EXP DISTR.EXP
FACT FACT FAKULTT FATTORIALE FACT
FACTDOUBLE FACTDOUBLE ZWEI
FAKULTT
FATT.DOPPIO FACT.DOBLE
FALSE FAUX FALSCH FALSO FALSO
FDIST LOI.F FVERT DISTRIB.F DISTR.F
FIND TROUVE FINDEN TROVA ENCONTRAR
English/
Japanese
1
French German Italian Spanish
138 e . R e p o r t i n g f o r Mu l t i p l e L o c a l e s
FINDB TROUVERB FINDENB TROVA.B ENCONTRARB
FINV INVERSE.LOI.F FINV INV.F DISTR.F.INV
FISHER FISHER FISHER FISHER FISHER
FISHERINV FISHER.INVERS
E
FISHERINV INV.FISHER PRUEBA
.FISHER.INV
FIXED CTXT FEST FISSO DECIMAL
FLOOR PLANCHER UNTER
GRENZE
ARROTONDA
.DIFETTO
MULTIPLO
.INFERIOR
FORECAST PREVISION SCHTZER PREVISIONE PRONOSTICO
FREQUENCY FREQUENCE HUFIGKEIT FREQUENZA FRECUENCIA
FTEST TEST.F FTEST TEST.F PRUEBA.F
FV VC ZW VAL.FUT VF
FVSCHEDULE VC.PAIEMENTS ZW2 VAL.FUT
.CAPITALE
VF.PLAN
GAMMADIST LOI.GAMMA GAMMAVERT DISTRIB
.GAMMA
DISTR.GAMMA
GAMMAINV LOI.GAMMA
.INVERSE
GAMMAINV INV.GAMMA DISTR.GAMMA
.INV
GAMMALN LNGAMMA GAMMALN LN.GAMMA GAMMA.LN
GCD PGCD GGT MCD M.C.D
GEOMEAN MOYENNE.
GEOMETRIQUE
GEOMITTEL MEDIA
.GEOMETRICA
MEDIA.GEOM
GESTEP SUP.SEUIL GGANZZAHL SOGLIA MAYOR.O
.IGUAL
GETPIVOT
DATA
LIREDONNEES
TABCROIS
DYNAMIQUE
PIVOTDATEN
ZUORDNEN
INFO.DATI.TAB
.PIVOT
IMPORTAR
DATOS
DINAMICOS
GROWTH CROISSANCE VARIATION CRESCITA CRECIMIENTO
HARMEAN MOYENNE.
HARMONIQUE
HARMITTEL MEDIA
.ARMONICA
MEDIA.ARMO
HEX2BIN HEXBIN HEXINBIN HEX.BINARIO HEX.A.BIN
HEX2DEC HEXDEC HEXINDEZ HEX.DECIMALE HEX.A.DEC
HEX2OCT HEXOCT HEXINOKT HEX.OCT KHEX.A.OCT
HLOOKUP RECHERCHEH WVERWEIS CERCA.ORIZZ BUSCARH
English/
Japanese
1
French German Italian Spanish
A p p e n d i x B , e . S p r e a d s h e e t i n t e r n a t i o n a l i z a t i o n i n f o r ma t i o n 139
HOUR HEURE STUNDE ORA HORA
HYPERLINK LIEN_
HYPERTEXTE
HYPERLINK COLLEG
.IPERTESTUALE
HIPER
VINCULO
HYPGEOM
DIST
LOI.HYPER
GEOMETRIQUE
HYP
GEOMVERT
DISTRIB
.IPERGEOM
DISTR
.HIPERGEOM
IF SI WENN SE SI
IMABS COMPLEXE
.MODULE
IMABS COMP.MODULO IM.ABS
IMAGINARY COMPLEXE.
IMAGINAIRE
IMAGIN
RTEIL
COMP
.IMMAGINARIO
IMAGINARIO
IM
ARGUMENT
COMPLEXE
.ARGUMENT
IMARGUMENT COMP
.ARGOMENTO
IM.ANGULO
IM
CONJUGATE
COMPLEXE
.CONJUGUE
IM
KONJUGIERTE
COMP
.CONIUGATO
IM
.CONJUGADA
IMCOS COMPLEXE
.COS
IMCOS COMP.COS IM.COS
IMDIV COMPLEXE
.DIV
IMDIV COMP.DIV IM.DIV
IMEXP COMPLEXE
.EXP
IMEXP COMP.EXP IM.EXP
IMLN COMPLEXE.LN IMLN COMP.LN IM.LN
IMLOG10 COMPLEXE
.LOG10
IMLOG10 COMP.LOG10 IM.LOG10
IMLOG2 COMPLEXE
.LOG2
IMLOG2 COMP.LOG2 IM.LOG2
IMPOWER COMPLEXE
.PUISSANCE
IMAPOTENZ COMP.POTENZ
A
IM.POT
IMPRODUCT COMPLEXE
.PRODUIT
IMPRODUKT COMP
.PRODOTTO
IM.PRODUCT
IMREAL COMPLEXE
.REEL
IMREALTEIL COMP.PARTE
.REALE
IM.REAL
IMSIN COMPLEXE.SIN IMSIN COMP.SEN IM.SENO
IMSQRT COMPLEXE
.RACINE
IMWURZEL COMP.RADQ IM.RAIZ2
IMSUB COMPLEXE
.DIFFERENCE
IMSUB COMP.DIFF IM.SUSTR
English/
Japanese
1
French German Italian Spanish
140 e . R e p o r t i n g f o r Mu l t i p l e L o c a l e s
IMSUM COMPLEXE
.SOMME
IMSUMME COMP.SOMMA IM.SUM
INDEX INDEX INDEX INDICE INDICE
INDIRECT INDIRECT INDIREKT INDIRETTO INDIRECTO
INFO INFO INFO AMBIENTE
.INFO
INFO
INT ENT GANZZAHL INT ENTERO
INTERCEPT ORDONNEE
.ORIGINE
ACHSEN
ABSCHNITT
INTERCETTA INTER
SECCION.EJE
INTRATE TAUX.INTERET IMZINSSATZ TASSO.INT TASA.INT
IPMT INTPER ZINSZ INTERESSI PAGOINT
IRR TRI IKV TIR.COST TIR
ISBLANK ESTVIDE ISTLEER VAL.VUOTO ESBLANCO
ISERR ESTERR ISTFEHL VAL.ERR ESERR
ISERROR ESTERREUR ISTFEHLER VAL.ERRORE ESERROR
ISEVEN EST.PAIR ISTGERADE VAL.PARI ES.PAR
ISLOGICAL ESTLOGIQUE ISTLOG VAL.LOGICO ESLOGICO
ISNA ESTNA ISTNV VAL.NON.DISP ESNOD
ISNONTEXT ESTNONTEXTE ISTKTEXT VAL.NON
.TESTO
ESNOTEXTO
ISNUMBER ESTNUM ISTZAHL VAL.NUMERO ESNUMERO
ISODD EST.IMPAIR ISTUNGERADE VAL.DISPARI ES.IMPAR
ISREF ESTREF ISTBEZUG VAL.RIF ESREF
ISTEXT ESTTEXTE ISTTEXT VAL.TESTO ESTEXTO
KURT KURTOSIS KURT CURTOSI CURTOSIS
LARGE GRANDE
.VALEUR
KGRSSTE GRANDE K.ESIMO
.MAYOR
LCM PPCM KGV MCM M.C.M
LEFT GAUCHE LINKS SINISTRA IZQUIERDA
LEFTB GAUCHEB LINKSB SINISTRAB IZQUIERDAB
LEN NBCAR LNGE LUNGHEZZA LARGO
LENB LENB LNGEB LUNGB LARGOB
English/
Japanese
1
French German Italian Spanish
A p p e n d i x B , e . S p r e a d s h e e t i n t e r n a t i o n a l i z a t i o n i n f o r ma t i o n 141
LINEST DROITEREG RGP REGR.LIN ESTIMACION
.LINEAL
LN LN LN LN LN
LOG LOG LOG LOG LOG
LOG10 LOG10 LOG10 LOG10 LOG10
LOGEST LOGREG RKP REGR.LOG ESTIMACION.
LOGARITMICA
LOGINV LOI.LOGNOR
MALE.INVERSE
LOGINV INV.LOGNORM DISTR.LOG.INV
LOGNORM
DIST
LOI.LOG
NORMALE
LOGNORM
VERT
DISTRIB.LOG
NORM
DISTR.LOG
.NORM
LOOKUP RECHERCHE VERWEIS CERCA BUSCAR
LOWER MINUSCULE KLEIN MINUSC MINUSC
MATCH EQUIV VERGLEICH CONFRONTA COINCIDIR
MAX MAX MAX MAX MAX
MAXA MAXA MAXA MAX.VALORI MAXA
MDETERM DETERMAT MDET MATR.DETERM MDETERM
MDURATION DUREE
.MODIFIEE
MDURATION DURATA.M DURACION
.MODIF
MEDIAN MEDIANE MEDIAN MEDIANA MEDIANA
MID STXT TEIL STRINGA
.ESTRAI
EXTRAE
MIDB MIDB TEILB MEDIA.B EXTRAEB
MIN MIN MIN MIN MIN
MINA MINA MINA MIN.VALORI MINA
MINUTE MINUTE MINUTE MINUTO MINUTO
MINVERSE INVERSEMAT MINV MATR.INVERSA MINVERSA
MIRR TRIM QIKV TIR.VAR TIRM
MMULT PRODUITMAT MMULT MATR
.PRODOTTO
MMULT
MOD MOD REST RESTO RESIDUO
MODE MODE MODALWERT MODA MODA
MONTH MOIS MONAT MESE MES
English/
Japanese
1
French German Italian Spanish
142 e . R e p o r t i n g f o r Mu l t i p l e L o c a l e s
MROUND ARRONDI.AU
.MULTIPLE
VRUNDEN ARROTONDA
.MULTIPLO
REDOND
.MULT
MULTI
NOMIAL
MULTI
NOMIALE
POLYNOMIAL MULTI
NOMIALE
MULTINOMIAL
N N N NUM N
NA NA NV NON.DISP NOD
NEGBINOM
DIST
LOI
.BINOMIALE
.NEG
NEGBINOM
VERT
DISTRIB.BINOM
.NEG
NEGBINOM
DIST
NETWORK
DAYS
NB.JOURS
.OUVRES
NETTO
ARBEITSTAGE
GIORNI
.LAVORATIVI
.TOT
DIAS.LAB
NOMINAL TAUX
.NOMINAL
NOMINAL NOMINALE TASA
.NOMINAL
NORMDIST LOI.NORMALE NORMVERT DISTRIB.NORM DISTR.NORM
NORMINV LOI.NORMALE
.INVERSE
NORMINV INV.NORM DISTR.NORM
.INV
NORMSDIST LOI.NORMALE
.STANDARD
STANDNORM
VERT
DISTRIB.NORM
.ST
DISTR.NORM
.ESTAND
NORMSINV LOI.NORMALE
.STANDARD
.INVERSE
STANDNORM
INV
INV.NORM.ST DISTR.NORM
.ESTAND.INV
NOT NON NICHT NON NO
NOW MAINTENANT JETZT ADESSO AHORA
NPER NPM ZZR NUM.RATE NPER
NPV VAN NBW VAN VNA
OCT2BIN OCTBIN OKTINBIN OCT.BINARIO OCT.A.BIN
OCT2DEC OCTDEC OKTINDEZ OCT.DECIMALE OCT.A.DEC
OCT2HEX OCTHEX OKTINHEX OCT.HEX OCT.A.HEX
ODD IMPAIR UNGERADE DISPARI REDONDEA
.IMPAR
ODDFPRICE PRIX
.PCOUPON
.IRREG
UNREGER
.KURS
PREZZO.PRIMO
.IRR
PRECIO.PER
.IRREGULAR.1
English/
Japanese
1
French German Italian Spanish
A p p e n d i x B , e . S p r e a d s h e e t i n t e r n a t i o n a l i z a t i o n i n f o r ma t i o n 143
ODDFYIELD REND
.PCOUPON
.IRREG
UNREGER
.REND
REND.PRIMO
.IRR
RENDTO.PER
.IRREGULAR.1
ODDLPRICE PRIX
.DCOUPON
.IRREG
UNREGLE
.KURS
PREZZO
.ULTIMO.IRR
PRECIO.PER
.IRREGULAR.2
ODDLYIELD REND
.DCOUPON
.IRREG
UNREGLE
.REND
REND
.ULTIMO.IRR
RENDTO.PER
.IRREGULAR.2
OFFSET DECALER BEREICH
.VERSCHIEBEN
SCARTO DESREF
OR OU ODER O O
PEARSON PEARSON PEARSON PEARSON PEARSON
PERCENTILE CENTILE QUANTIL PERCENTILE PERCENTIL
PERCENT
RANK
RANG.
POUR
CENTAGE
QUANTILS
RANG
PERCENT
.RANGO
RANGO
.PERCENTIL
PERMUT PERMUTATION VARIATIONEN PERMUTA
ZIONE
PERMUTACIO
NES
PI PI PI PI.GRECO PI
PMT VPM RMZ RATA PAGO
POISSON LOI.POISSON POISSON POISSON POISSON
POWER PUISSANCE POTENZ POTENZA POTENCIA
PPMT PRINCPER KAPZ P.RATA PAGOPRIN
PRICE PRIX.TITRE KURS PREZZO PRECIO
PRICEDISC VALEUR
.ENCAISSE
MENT
KURSDISAGIO PREZZO.SCONT PRECIO
.DESCUENTO
PRICEMAT PRIX.TITRE
.ECHEANCE
KURSFLLIG PREZZO.SCAD PRECIO
.VENCIMIENTO
PROB PROBABILITE WAHRSCH
BEREICH
PROBABILIT PROBABI
LIDAD
PRODUCT PRODUIT PRODUKT PRODOTTO PRODUCTO
PROPER NOMPROPRE GROSS2 MAIUSC.INIZ NOMPROPIO
PV VA BW VA VA
English/
Japanese
1
French German Italian Spanish
144 e . R e p o r t i n g f o r Mu l t i p l e L o c a l e s
QUARTILE QUARTILE QUARTILE QUARTILE CUARTIL
QUOTIENT QUOTIENT QUOTIENT QUOZIENTE COCIENTE
RADIANS RADIANS BOGENMASS RADIANTI RADIANES
RAND ALEA ZUFALLSZAHL CASUALE ALEATORIO
RAND
BETWEEN
ALEA.ENTRE
.BORNES
ZUFALLS
BEREICH
CASUALE
.TRA
ALEATORIO
.ENTRE
RANK RANG RANG RANGO JERARQUIA
RATE TAUX ZINS TASSO TASA
RECEIVED VALEUR
.NOMINALE
AUSZAHLUNG RICEV.SCAD CANTIDAD
.RECIBIDA
REGISTER.ID REGISTRE
.NUMERO
REGISTER
.KENNUMMER
IDENTIFICAT
ORE.REGISTRO
ID.REGISTRO
REPLACE REMPLACER ERSETZEN RIMPIAZZA REEMPLAZAR
REPLACEB REMPLACERB ERSETZENB SOSTITUISCI.B REEMPLAZARB
REPT REPT WIEDER
HOLEN
RIPETI REPETIR
RIGHT DROITE RECHTS DESTRA DERECHA
RIGHTB DROITEB RECHTSB DESTRA.B DERECHAB
ROMAN ROMAIN RMISCH ROMANO NUMERO
.ROMANO
ROUND ARRONDI RUNDEN ARROTONDA REDONDEAR
ROUND
DOWN
ARRONDI.INF ABRUNDEN ARROTONDA
.PER.DIF
REDONDEAR
.MENOS
ROUNDUP ARRONDI.SUP AUFRUNDEN ARROTONDA
.PER.ECC
REDONDEAR
.MAS
ROW LIGNE ZEILE RIF.RIGA FILA
ROWS LIGNES ZEILEN RIGHE FILAS
RSQ COEFFICIENT
.DETERMIN
ATION
BESTIMMT
HEITSMASS
RQ COEFICIENTE
.R2
SEARCH CHERCHE SUCHEN RICERCA HALLAR
SEARCHB CHERCHERB SUCHENB CERCA.B HALLARB
SECOND SECONDE SEKUNDE SECONDO SEGUNDO
SERIESSUM SOMME.SERIES POTENZREIHE SOMMA.SERIE SUMA.SERIES
English/
Japanese
1
French German Italian Spanish
A p p e n d i x B , e . S p r e a d s h e e t i n t e r n a t i o n a l i z a t i o n i n f o r ma t i o n 145
SIGN SIGNE VORZEICHEN SEGNO SIGNO
SIN SIN SIN SEN SENO
SINH SINH SINHYP SENH SENOH
SKEW COEFFICIENT
.ASYMETRIE
SCHIEFE ASIMMETRIA COEFICIENTE
.ASIMETRIA
SLN AMORLIN LIA AMMORT.COST SLN
SLOPE PENTE STEIGUNG PENDENZA PENDIENTE
SMALL PETITE
.VALEUR
KKLEINSTE PICCOLO K.ESIMO
.MENOR
SQL.REQUEST SQL.REQUEST SQL.REQUEST SQL.REQUEST SQL.REQUEST
SQRT RACINE WURZEL RADQ RAIZ
SQRTPI RACINE.PI WURZELPI RADQ.PI
.GRECO
RAIZ2PI
STANDARD
IZE
CENTREE
.REDUITE
STANDARDI
SIERUNG
NORMALIZZA NORMALIZA
CION
STDEV ECARTYPE STABW DEV.ST DESVEST
STDEVA STDEVA STABWA DEV.ST.VALORI DESVESTA
STDEVP ECARTYPEP STABWN DEV.ST.POP DESVESTP
STDEVPA STDEVPA STABWNA DEV.ST.POP
.VALORI
DESVESTPA
STEYX ERREUR.TYPE
.XY
STFEHLERYX ERR.STD.YX ERROR.TIPICO
.XY
SUBSTITUTE SUBSTITUE WECHSELN SOSTITUISCI SUSTITUIR
SUBTOTAL SOUS.TOTAL TEILERGEBNIS SUBTOTALE SUBTOTALES
SUM SOMME SUMME SOMMA SUMA
SUMIF SOMME.SI SUMMEWENN SOMMA.SE SUMAR.SI
SUM
PRODUCT
SOMMEPROD SUMMEN
PRODUKT
MATR.SOMMA
.PRODOTTO
SUMA
PRODUCTO
SUMSQ SOMME
.CARRES
QUADRATE
SUMME
SOMMA.Q SUMA
.CUADRADOS
SUMX2MY2 SOMME.X2MY2 SUMMEX2MY2 SOMMA.DIFF.Q SUMAX2
MENOSY2
SUMX2PY2 SOMME.X2PY2 SUMMEX
2PY2
SOMMA
.SOMMA.Q
SUMAX2
MASY2
English/
Japanese
1
French German Italian Spanish
146 e . R e p o r t i n g f o r Mu l t i p l e L o c a l e s
SUMXMY2 SOMME.XMY2 SUMMEXMY2 SOMMA.Q.DIFF SUMAX
MENOSY2
SYD SYD DIA AMMORT
.ANNUO
SYD
T T T T T
TAN TAN TAN TAN TAN
TANH TANH TANHYP TANH TANH
TBILLEQ TAUX
.ESCOMPTE.R
TBILLQUIV BOT.EQUIV LETRA.DE.TES
.EQV.A.BONO
TBILLPRICE PRIX.BON
.TRESOR
TBILLKURS BOT.PREZZO LETRA.DE.TES
.PRECIO
TBILLYIELD RENDEMENT
.BON.TRESOR
TBILLRENDITE BOT.REND LETRA.DE.TES
.RENDTO
TDIST LOI.STUDENT TVERT DISTRIB.T DISTR.T
TEXT TEXTE TEXT TESTO TEXTO
TIME TEMPS ZEIT ORARIO NSHORA
TIMEVALUE TEMPSVAL ZEITWERT ORARIO
.VALORE
HORA
NUMERO
TINV LOI.STUDENT
.INVERSE
TINV INV.T DISTR.T.INV
TODAY AUJOURDHUI HEUTE OGGI HOY
TRANSPOSE TRANSPOSE MTRANS MATR
.TRASPOSTA
TRANSPONER
TREND TENDANCE TREND TENDENZA TENDENCIA
TRIM SUPPRESPACE GLTTEN ANNULLA
.SPAZI
ESPACIOS
TRIMMEAN MOYENNE
.REDUITE
GESTUTZT
MITTEL
MEDIA
.TRONCATA
MEDIA
.ACOTADA
TRUE VRAI WAHR VERO VERDADERO
TRUNC TRONQUE KRZEN TRONCA TRUNCAR
TTEST TEST.STUDENT TTEST TEST.T PRUEBA.T
TYPE TYPE TYP TIPO TIPO
UPPER MAJUSCULE GROSS MAIUSC MAYUSC
USDOLLAR USDOLLAR USDOLLAR USDOLLAR USDOLLAR
English/
Japanese
1
French German Italian Spanish
A p p e n d i x B , e . S p r e a d s h e e t i n t e r n a t i o n a l i z a t i o n i n f o r ma t i o n 147
VALUE CNUM WERT VALORE VALOR
VAR VAR VARIANZ VAR VAR
VARA VARA VARIANZA VAR.VALORI VARA
VARP VAR.P VARIANZEN VAR.POP VARP
VARPA VARPA VARIANZENA VAR.POP
.VALORI
VARPA
VDB VDB VDB AMMORT.VAR DVS
VLOOKUP RECHERCHEV SVERWEIS CERCA.VERT BUSCARV
WEEKDAY JOURSEM WOCHENTAG GIORNO
.SETTIMANA
DIASEM
WEEKNUM NO.SEMAINE KALENDER
WOCHE
NUM
.SETTIMANA
NUM.DE
.SEMANA
WEIBULL LOI.WEIBULL WEIBULL WEIBULL DIST.WEIBULL
WORKDAY SERIE.JOUR
.OUVRE
ARBEITSTAG GIORNO
.LAVORATIVO
DIA.LAB
XIRR TRI
.PAIEMENTS
XINTZINSFUSS TIR.X TIR.NO.PER
XNPV VAN
.PAIEMENTS
XKAPITAL
WERT
VAN.X VNA.NO.PER
YEAR ANNEE JAHR ANNO AO
YEARFRAC FRACTION
.ANNEE
BRTEILJAHRE FRAZIONE
.ANNO
FRAC.AO
YIELD RENDEMENT
.TITRE
RENDITE REND RENDTO
YIELDDISC RENDEMENT
.SIMPLE
RENDITEDIS REND.TITOLI
.SCONT
RENDTO.DESC
YIELDMAT RENDEMENT
.TITRE
.ECHEANCE
RENDITEFLL REND.SCAD RENDTO
.VENCTO
ZTEST TEST.Z GTEST TEST.Z PRUEBA.Z
1. Function names are the same in English and Japanese except for the items in the following
table.
English/
Japanese
1
French German Italian Spanish
148 e . R e p o r t i n g f o r Mu l t i p l e L o c a l e s
Using the Japanese translation
I Unless otherwise indicated in the tables above, all format symbols,
function names, and values and errors are the same in Japanese as in
English.
I Any case-insensitive text input is also width-insensitive, so that the
following are equivalent:
=PI()
= P I ( )
where the first line uses single-byte characters and the second line uses
double-byte characters. In other words, single-byte and double-byte
characters are treated the same.
I Find and Replace dialogs have a checkbox that appears only when running
in Far Eastern languages, for which the English text is "Match Character
Width". Its behavior is like that of "Match Case", but for half- vs. full-width.
English Japanese
DBCS JIS
DOLLAR YEN
USDOLLAR DOLLAR
Ap p e n d i x C, T h r e e - l e t t e r l o c a l e c o d e s 149
A p p e n d i x
C
AppendixCThree-letter locale codes
Use one of the three-letter locale codes in the following table to identify the
configuration locale in a ReportCast URL.
Locale Code
Albanian sqi
Arabic (Egypt) are
Bulgarian bgr
Chinese (Hong Kong SAR) zhh
Chinese (PRC) chs
Chinese (Singapore) zhi
Chinese (Taiwan) cht
Croatian hrv
Czech csy
Danish (Denmark) dan
Dutch (Belgium) nlb
Dutch (Netherlands) nld
English (Australia) ena
English (Belize) enl
English (Canada) enc
English (Ireland) eni
English (New Zealand) enz
150 e . R e p o r t i n g f o r Mu l t i p l e L o c a l e s
English (South Africa) ens
English (United Kingdom) eng
English (United States) enu
Estonian eti
Farsi far
Finnish fin
French (Canada) frc
French (France) fra
German (Austria) dea
German (Germany) deu
German (Liechtenstein) dec
Greek ell
Hebrew heb
Hungarian hun
Indonesian ind
Italian (Italy) ita
Italian (Switzerland) its
Japanese jpn
Korean kor
Latvian lvi
Norwegian (Bokmal) nor
Norwegian (Nynorsk) non
Polish plk
Portuguese (Brazil) ptb
Portuguese (Portugal) ptg
Romanian rom
Russian rus
Serbian (Latin) (Yugoslavia) srl
Slovak sky
Slovenian slv
Spanish (Mexico) esm
Spanish (Spain) esn
Locale Code
Ap p e n d i x C, T h r e e - l e t t e r l o c a l e c o d e s 151
Swedish (Finland) svf
Swedish (Sweden) sve
Turkish (Turkey) trk
Ukrainian (Ukraine) ukr
Locale Code
152 e . R e p o r t i n g f o r Mu l t i p l e L o c a l e s
I n d e x 153
Index
Symbols
= operator 96
A
Abs function 28
absolute values 28
AC_CURRENCY_FORMAT variable 103
AC_DATE_MODE variable 103
AC_DATE_SEPCH variable 103
AC_LOCALE_CURRENCY attribute 32
AC_LOCALE_CURRENCY_FORMAT
attribute 32
AC_LOCALE_CURRENCY_RADIX
attribute 32
AC_LOCALE_CURRENCY_THOUSAND_
SEPARATOR attribute 32
AC_LOCALE_DATE_LONG attribute 32
AC_LOCALE_DATE_SEPARATOR
attribute 32
AC_LOCALE_DATE_SHORT attribute 32
AC_LOCALE_MONTHS_LONG attribute 33
AC_LOCALE_MONTHS_SHORT
attribute 33
AC_LOCALE_NUM_RADIX attribute 33
AC_LOCALE_NUM_THOUSAND_
SEPARATOR attribute 33
AC_LOCALE_TIME_AM_STRING
attribute 33
AC_LOCALE_TIME_FORMAT attribute 33
AC_LOCALE_TIME_PM_STRING
attribute 33
AC_LOCALE_TIME_SEPARATOR
attribute 33
AC_LOCALE_WEEKDAYS_LONG
attribute 33
AC_LOCALE_WEEKDAYS_SHORT
attribute 33
AC_LONG_DATE variable 103
AC_OPERATION_SERVER_DEFAULT_C_
LOCALE setting 107
AC_PDF_FONT_DIR variable 58
AC_SHORT_DATE variable 103
AC_TIME_FORMAT variable 103
AC_TIME_SEPCH variable 103
accessing
Encyclopedia items 92
system resources 49
AcGetDllEncoding function 49
Active Portal
internationalization support in 7683
locale-specific mappings for 21, 80
specifying locales for 22
Actuate Basic
restrictions for multiple code pages 49
saving source code for 49
supported character sets 96
Actuate Foundation Classes
documentation overview xi
Actuate LRX xi
Actuate product summary ix
.afm files 109
AIX configurations 105
Albanian country code 127
aliases 125
alignment 67
AM field 81
AM string 33
AM tag 17
AM/PM symbols 31, 105
analysis tools (third-party) ix
angles 28
ANSI C locales 13
Apache custom tags 82
apache i18n tag library 76
applets 83
application programming interfaces
(APIs) ix
conventions for strings 96
application windows
specifying orientation for 62
applications
restarting 21, 80
running 48
applying fonts 5960
ar_EG constant 127
154 e . R e p o r t i n g f o r Mu l t i p l e L o c a l e s
Arabic (Egypt) country code 127
Arabic languages 95
arctangents 28
arrays 36, 38
Asc function 45
ASCII characters 3, 95, 125
encoding 2
ASCII files
externalized strings in 35
opening 47
processing 37
AscW function 45
Atn function 28
attributes 22, 32
Australia country code 127
Austria country code 128
automating reporting tasks x
B
background colors 124
backing up locale maps 99
.bas files. See source files
Basic. See Actuate Basic
Belgium country code 127
Belize country code 127
bg_BG constant 127
Big Endian encoding 47
Big Fonts 3
Big5 character sets 3
binary comparisons 95
binary files 105
binary sorts 5
bitmap images 66
Brazil country code 128
BrowserCode property 116
browsers. See web browsers
built-in operators 49
Bulgarian country code 127
button events 124
bytes
determining length of 46
file size suffixes for 83
returning number of 96
C
C locales 21, 107
C/C++ functions 49
calendar 5, 94
See also dates; date formats
calling external C functions 49
Canada country code 127, 128
Canadian configurations 110
case mappings 6, 94
case sensitivity 47, 58, 91
CCur function 28
CDate function 29
CDbl function 28
ChangeLanguage function 113, 116
changing
application orientation 62, 63
control contents 66
control orientation 64, 66
encoding schemes 86
fonts 56, 59
layout pane origins 63
locale maps 20, 21, 80, 99
channels x
char data types 96
character codes 44, 45
getting 45
character mappings 6, 94
character sets
API support for 96
backward compatibility for 95
considerations at development 56
described 23
limitations for e.Analysis 83
performing operations on 96
setting Japanese 88
single-byte vs. multi-byte 2
specifying default 94
specifying in ReportCast templates 86
support for multibyte 96
supported 42
unsupported 124
character strings. See strings
characters
entering in report designs 3
getting code page for 45
getting from character codes 45
getting from code pages 46
question marks replacing 96
repeating in strings 45, 46
I n d e x 155
characters (continued)
returning number of 96
sorting 5, 84
charset attribute 86
ChDir function 49
Chinese character sets 3, 56
supported encodings for 42
Chinese country codes 127
Chr function 46
Chr$ function 46
ChrW function 45
ChrW$ function 45
CInt function 28
client/server environments 102
localization example for 117124
clients 52
CLng function 28
clock 31, 77, 105
getting AM/PM strings for 33
See also time; time formats
code
default fonts for 59
saving 49
code pages
backward compatibility for 95
connections and multiple 50
converting to 4849
default listed 40
described 3
fonts and 3
report designs and multiple 49, 52
Windows platforms and 51
code points 2
Code tag 16
collation sequence 5, 94
colors 124
COM objects
limitations on strings in 96
retrieving data from 125
Command Prompt window 63
command-line options
setting designer orientation 63
comments 98
comparisons 95, 96
compiling 56
component references 38
configurations
default 92
for Japanese locales 87
locale-specific templates 88, 89, 90
connections
multiple code pages and 50
control constructs 122
controls
changing contents 66
changing orientation 64, 66
creating invisible 56
displaying in layout pane 63
formatting data in 100, 101
formatting programmatically 103
limitations for characters in 125
conversions
currency 121
dates 29
numbers 28
strings 48, 96
time zones 77
cookies 77, 82
copying
binary files 105
default templates 89, 90
templates 88
TrueType fonts 58
Cos function 28
country codes 127
country specifications 82
creating
invisible controls 56
locale-specific templates 88, 90
Croatian country code 127
crosstab reports 65
cs_CZ constant 127
CSng function 28
CStr function 28
currency
displaying 100, 117
getting decimal separators for 32
getting thousands separators for 32
localization examples for 113, 118, 121
specifying grouping for 17
Currency Format field 81
currency formats
applying to specific locales 31
156 e . R e p o r t i n g f o r Mu l t i p l e L o c a l e s
currency formats (continued)
backward compatibility for 97
changing dynamically 123
determining default 94
elements described 4
localization example for 121
setting with environment variables 103
Currency Symbol field 81
currency symbols 4, 18
displaying 74, 100
getting 32
Currency tag 17
CurrencyDecimal tag 17
CurrencyGrouping tag 17
CurrencySymbol tag 18
custom tags 82
custom templates
creating 88, 90
mapping 91
customizing locales 21, 80
CVDate function 29
Cyrillic characters 96, 125
Czech country code 127
D
da_DK constant 127
data
default fonts for 59
displaying 88, 95, 100
formatting 4, 3031, 97, 103
in client/server environments 102
JSP pages and 82, 83
formatting methods for 77
processing multibyte 107
retrieving 96, 122, 125
sorting 5, 84, 88
data types 49, 96
databases x
configuring clients for 52
connecting to 50
displaying data from 95
localization example for 3438
retrieving data from 122
date format patterns 19
date formats
AM/PM symbols for 105
applying to specific locales 30
backward compatibility for 97
default view process 97
determining defaults 94
elements described 4
getting 32
JSP pages and 82
setting with environment variables 103
specifying for view processes 97
Date Separator field 81
date separators 17, 31, 103
getting 32
date symbols 19
Date tag 16, 17
DateAdd function 29
DateDiff function 29
DatePart function 29
dates 5
converting across time zones 77
displaying 88, 100
entering 17, 99
formatting 4, 30, 82, 97, 103
locale-sensitive frameworks and 83
not displaying correctly 34
parsing 26, 29
specifying for Japanese locales 34
specifying input mode for 99, 103
DateTime tag 16
DateValue function 29
Day function 29
day of week 31
DaysOfWeek field 82
DaysOfWeek tag 18
de_AT constant 128
de_DE constant 128
de_LI constant 128
Decimal Separator field 81
decimal separators 4, 17, 31
getting 32, 33
Decimal tag 17
default character sets 94
default code pages 40
default configuration 92
default encoding 76
specifying 51
default fonts 59, 94
I n d e x 157
default locale 13, 16, 71
specifying 9
DEFAULT_LOCALE parameter 82
DEFAULT_TIMEZONE parameter 82
defaults 103
delimiters (local maps) 100
Denmark country code 127
deploying e.Spreadsheets 7074
deploying reports
font availability for 56, 57
for multiple locales 7, 39, 55, 61, 69, 75, 85,
93
Design Editor
Japanese characters in 57
specifying orientation for 62, 63
designing reports
character entry considerations for 3
font considerations for 56
Japanese locales and 34
language-specific implementations for 117
setting locales for 8, 23
specifying orientation for 6267
with multiple code pages 49, 52
detail reports 35
developers 56, 100
DHTML reports
display fonts for 56
formatting data for 97
locale-specific example for 110116
setting character encoding in 86
viewing 94, 95, 97
dialogs
font availability for 57
directories
copying template 89, 90
creating for Japanese reports 87
creating for TrueType fonts 58
displaying
controls 63
data 88, 95, 100
DHTML reports 94, 95, 97
JSP pages 82
online documentation xii
ReportCast pages 86, 87
reports 23, 24, 25, 56, 64, 102
DisplayName tag 16
DLLs
getting external functions from 49
limitations on strings in 96
document files
generating 56, 103
documentation xi
online xii
syntax conventions xiv
typographical conventions xiii
DOS shell 48
downloading search results 17
dummy controls 56
Dutch country codes 127
dynamic-link libraries. See DLLs
E
e.Analysis 83
e.Analysis application x
e.Report Designer ix
locale-specific mappings for 21
running 124
running reports from 8, 44
specifying orientation for 62
e.Report Designer Java Edition ix
e.Report Designer Professional ix
e.Reporting Server x
installing TrueType fonts for 58
locale-specific mappings for 21, 80
printing from 24
running in C locales 107
e.Reporting Suite vii
product summary ix
e.Spreadsheet Designer xi
e.Spreadsheet Designer
changing languages for 74
default locale settings for 71
default translations for 70, 72
overriding default locales for 71
regional settings for 73
editing locale maps 99
editors 99
Egypt country code 127
el_GR constant 128
en_AU constant 127
en_BZ constant 127
en_CA constant 127
en_GB constant 128
158 e . R e p o r t i n g f o r Mu l t i p l e L o c a l e s
en_IE constant 127
en_NZ constant 127
en_US constant 128
en_ZA constant 128
enc locale ID 110
encoding 3, 4047, 4849
backward compatibility for 95
caution for byte lengths and 46
changing 86
default for web browsers 76
precedence for 40, 44
restrictions for Windows platforms and 51
setting from Component Editor 43
specifying default 51
strings 96
supported character sets 42
Unicode characters and 2
with Actuate Basic functions 44
Encoding parameter 47
End User Desktop ix
English character sets
supported encodings for 43
English configurations 110
English country codes 127
English-only configurations 86
Environ function 48
environment variables
getting setting for 48
setting 103, 104
equality 96
Error messages
list of, with translations 132
error messages 72
es_ES constant 128
es_MX constant 128
ess locale ID 124
Estonian country code 128
et_EE constant 128
exact matches 95
Excel applications 70
.exe files. See executable files
executable files
font availability in 56
executing reports 810, 44
in C locales 107
Exp function 28
exponentiation 28
exporting 83
extended characters 76
External Basic source encoding option 51
F
fa_IR constant 128
Factory process
default formatting for 103107
font substitution in 56
Farsi 95
Farsi country code 128
fi_FI constant 128
file names
language designations for 70, 72
file size 83
files
encoding requirements for 3
generating document 56
opening text 47
reading multibyte text from 96
saving 49, 50
finding exact matches 95
Finish method
overriding 56, 103
Finland country code 129
Finnish country code 128
Fix function 28
font metrics 56
font metrics files 109
font substitution 56
fonts 5960
changing dynamically 56
deploying reports and 56, 57
incompatible character sets and 86
installing 58, 109
mapping 58, 109
overview 3
specifying default 59, 94
testing 110
unsupported 125
format fields 30, 98, 100
Format function 30, 31, 34
format patterns 19
format strings 31, 104
Format$ function 30, 31
I n d e x 159
formats 23, 77, 94
Active Portal presentation 83
backward compatibility for 97, 100
factory process default 103107
getting 32
JSP pages and 82
setting programmatically 103
view process default 97, 102
formatting data 3031, 103
Active Portal and 22, 83
considerations for 97
examples for 100, 101
in client/server environments 102
JSP pages and 82, 83
locale maps and 16, 97
methods for 77
overview 4
fr_CA constant 128
fr_FR constant 128
fra locale ID 91
FractionDigits tag 17
fractions 28
frc locale ID 111
French configurations 35, 90, 91, 92, 110
French country codes 128
Functions
list of, including translations 133
functions 95
calling C/C++ 49
G
GB suffix 83
generating
document files 56, 103
PDF files 87, 95
reports 23, 24, 25
Germany country code 128
GetFactoryLocale method 24
GetLayoutOrientation method 66
GetLocaleAttribute method 32, 33
GetLocaleName method 32, 33
GetPrintLocale method 24
GetText method 117, 119
overriding 121, 122
GetViewLocale method 24
global variables 36, 117, 122
GlobalDHTMLCode property 86, 113
Gothic fonts 56
graphical user interfaces 70, 76
graphics
changing orientation for 66
localizing 76
graphs 95
changing orientation for 66
Greek country code 128
Group objects 71
Grouping Position field 81
Grouping Separator field 81
grouping separators 17
Grouping tag 17
GUIs 70, 76
H
hash arrays 36, 38
he_IL constant 128
headers
setting character encoding in 86
Hebrew 95
Hebrew country code 128
Hong Kong Supplementary Character Set 3
limitations for e.Analysis 83
Hour function 29
hr_HR constant 127
hu_HU constant 128
Hungarian country code 128
hyperlinks 95
I
i18n custom tags 82
i18n tag library 76
id_ID constant 128
identifiers 49
images
changing orientation for 66
localizing 76
incompatible character sets 86
Indonesian country code 128
Infinity field 81
Infinity tag 17
input 121
InputB function 47
InputDateMode field 99
160 e . R e p o r t i n g f o r Mu l t i p l e L o c a l e s
InputDateMode tag 17
installing
binary files 105
fonts 58, 109
installing online documentation xiii
InstrB function 47
Int function 28
IntCurrency tag 17
interfaces
application. See application programming
interfaces
graphical. See GUIs
Internal Basic source encoding option 51
international currency symbols 17
Internationalization
translated function names table 133
internationalization 2
See also locales
Internet Explorer plug-in 83
IntFractionDigits tag 17
IntlCurrencyControl class 121
IntlTextControl class 118
invisible controls 56
Invoice report 110
Ireland country code 127
IsDate function 29
IsNumeric function 28
ISO character sets 86
supported encodings for 42
ISO currency symbols 4
it_CH constant 128
it_IT constant 128
Italian country codes 128
J
ja_JP constant 128
ja_JP locale ID 87
Japanese character sets
encodings for 42
specifying 56, 88
supported 95
Japanese configurations
generating PDF files for 87
installing fonts for 56, 109
limitations for 125
printing from 108
setting up 34
testing fonts for 110
Japanese country code 128
jar files 70
deploying with 71, 72
Java archives. See jar files
Java classes 76
Java objects
limitations on strings in 96
retrieving data from 125
Java Server Pages. See JSP pages
Java Virtual Machines 73, 83
JBooks 71
JpnLocale.txt 105
JSP pages 76
displaying 82
formatting data for 83
selecting locales for 82
JVMs 73, 83
K
KB suffix 83
keywords 30, 49
Kill function 49
ko_KR constant 128
Korean character sets 95
supported encodings for 43
Korean country code 128
L
labels
adding to multi-locale reports 118
creating with browser scripting
controls 116
default fonts for 59
displaying in multilocale reports 117
referencing components in 38
translating 113, 117, 118, 119
LANG setting 108
LANG variable 104
Language & Country Code field 81
language elements 49
Language parameter 117
Language variable 43
I n d e x 161
language-specific implementations 2, 82, 86,
117
See also locales
Latin character sets 56, 95
Latvian country code 128
layout pane
changing origin for 63
LayoutOrientation property 64, 94
left to right orientation 63, 64
LeftB function 47
LeftB$ function 47
Len function 96
LenB function 47, 96
libraries
limitations on strings in 96
localization example for 36
licenses 71
Liechtenstein country code 128
Line Input # statement 96
linguistic sorts 5
list separator 17
List tag 17
ListResourceBundle class 77
lists 88
literal strings 100
literals 50
Little Endian encoding 47
Live Report Extension. See LRX
local currency symbols 4, 17
Locale field 98
Locale ID tag 16
locale IDs 16, 81, 89, 90, 91
locale maps
backing up 99
backward compatibility for 97100
changing 20, 21, 80
defining for ReportCast 100
editing 99
fields described 81
localization example for 112
overview 12, 2021, 80
structure defined 98
XML tags described 16
Locale property 23
overriding 24
localedef setting 105
locale-dependent format 31
LocaleManager object 81
localemap.xml 13
locales
case mappings for 6
collation sequence for 5
configuring ReportCast for specific 8892
creating custom templates for 88, 90
customizing 21, 80
default code pages for 40
default for e.Spreadsheets 71
defined 2
design considerations for 3, 34, 52
examples for 34124
formatting data for specific 4, 3031, 103
getting information about 32
getting names 82
getting specific attributes 32
limitations for multilingual 124
parsing strings for 2529
precedence for 8
presentation formats for 83
registering available 81
running reports from C 107
setting for Japanese reports 108
setting up 2325
specifying alternative 82
specifying default 9
specifying for Active Portal 22, 81
specifying language combinations for 82
support for multiple 76
supported 10
translating ReportCast templates for 86
web browsers and 92, 94
locating exact matches 95
LOCPATH variable 105
login pages 16
selecting locales on 22
logins 82
long date format 32
Long Date Format field 81
long date formats 16, 103
backward compatibility for 97
Long Time Format field 81
long time formats 16
LongDate field 98
lowercase characters 6
162 e . R e p o r t i n g f o r Mu l t i p l e L o c a l e s
LRX (Live Report Extension) xi
viewing reports with 102
ltr option 63
LTR setting 63
Lucida Sans fonts 125
lv_LV constant 128
M
Management Console
locale-specific mappings for 21, 80
Manuals directory xiii
mapping
characters 6, 94
custom template configurations 91
fonts 58, 109
MB suffix 83
Medium Date Format field 81
Medium Time Format field 81
meta tag 86
methods
localization example for 36
Mexico country code 128
Microsoft Word
exporting to 84
MidB function 47
MidB$ function 47
MINUS field 81
Minus tag 17
Minute function 29
monetary values. See currency; currency
formats
month abbreviations 33
Month function 29
month names 31
getting 33
MonthsOfYear field 82
MonthsOfYear tag 18
multibyte characters 2, 96, 107
multibyte strings 96
multi-language encoding 2
multilingual reports 124
multi-locale environments 7, 39, 55, 61, 69,
75, 76, 85, 93
example for 117
multiple code pages 43
N
negative numbers 18
Netherlands country code 127
New Zealand country code 127
nl_BE constant 127
nl_NL constant 127
no_NO constant 128
no_NY constant 128
Norwegian country code 128
Not a number field 81
NotANumber tag 17
null-terminated strings 95, 96
numbers 17, 18
displaying 88, 100
formatting 4, 31
getting decimal separators for 33
getting thousands separators for 33
locale-sensitive frameworks and 83
parsing 26, 27
numeric formats
applying to specific locales 31
backward compatibility for 97
determining default 94
elements described 4
O
objects
limitations on strings in 96
Oct function 28
Oct$ function 28
OLE containers 66
OnLButtonClick method 123
online documentation xii
syntax conventions xiv
typographical conventions xiii
OnRow method
overriding 56
Open function 49
Open statement 47
opening
Command Prompt windows 63
Registry Editor window 62
text files 47
operators 49
optimizing performance 107
I n d e x 163
orientation 62, 94
overriding 64
setting programmatically 65
origin 63, 64
output 117
P
page orientation 62, 94
overriding 64
setting programmatically 65
parameters 121, 125
ParseDate method 26
ParseNumeric method 26
parsing strings 2529
patterns 19
PDF files
exporting to 83
font availability and 56
generating 87, 95
pdffontmap.txt 58
Percent Character field 82
Percent tag 17
performance 107
pl_PL constant 128
PLUS field 81
Plus tag 17
PM field 81
PM tag 17
Polish country code 128
Portuguese country codes 128
Positions tag 17
positive numbers 18
PostScript Printer Description files 109
PPD files 109
precedence 8, 40, 44
Primary Key field 81
printed documentation xi
syntax conventions xiv
typographical conventions xiii
printers
installing fonts for 57
setting up for Japanese locales 109
printing 23, 24, 25, 95
for Japanese locales 108
from UNIX servers 57
product summary ix
programming interfaces ix
See also application programming
interfaces
programming language. See Actuate Basic
programs 48
psstd.fonts 108, 110
pt_BR constant 128
pt_PT constant 128
Q
question marks replacing characters 96
R
R_dstruct package 76
R_security package 76
R_tags package 76
R_utils package 76
Regional Settings Properties option 102, 107
registering available locales 81
Registry Editor
changing application orientation 62
changing server locales 107
mapping custom templates 91
opening 62
renaming ReportCast templates 89, 90
report designs
character entry considerations for 3
font considerations for 56
Japanese locales and 34
language-specific implementations for 117
setting locales for 8, 23
specifying orientation for 6267
with multiple code pages 49, 52
Report Encyclopedia
accessing items 92
report executables. See executable files
report files
encoding requirements for 3
file size mechanism for 83
report server API x
conventions for strings 96
report server. See e.Reporting Server
ReportCast
configuring for Japanese locales 87
configuring for specific locales 8892
default configuration for 92
164 e . R e p o r t i n g f o r Mu l t i p l e L o c a l e s
ReportCast (continued)
locale-specific mappings for 21, 80
setting up locale maps for 100
ReportCast channels x
ReportCast pages
displaying 86, 87
formatting data for 88, 97
ReportCast templates
changing encodings in 86
customizing 88, 90
including for Japanese locales 87
localization example for 112
mapping to specific locales 91
standard configurations for 89
supported translations for 86
ReportEncoding property 43
reporting solutions viii
reports
accessing from Encyclopedia 92
deploying 57
deploying for multiple locales 7, 39, 55, 61,
69, 75, 85, 93
display defaults for 64
display fonts for 56
displaying as DHTML 94, 95, 97
displaying locale-specific 22
displaying with LRX 102
limitations for multilingual 124
locale-specific examples for 34124
overriding page orientation for 64
running 810, 44, 107
Requester API ix
conventions for strings 96
requests
scheduling 77
reserved words 49
resource bundles 76, 82
ResourceBundle class 76
ResourceManagerFE tool 76
resources 49, 76
retrieving data 96, 125
from databases 122
right to left languages 95
right to left orientation
changing application 62, 63
changing control origins for 64
changing report contents for 66
designing reports with 62
displaying Design Editor window with 63
displaying reports with 64
setting programmatically 65
RightB function 47
RightB$ function 47
RightToLeft constant 64
ro_RO constant 128
.roi files. See document files
Romanian country code 128
.rox files. See executable files
rtl option 63
ru_RU constant 128
running programs 48
running reports 810, 44
in C locales 107
runtime locales 25
getting names 32
parsing for 27, 29
Russian country code 128
S
sample application x
saving
source files 49, 50
schedules 77
scripting controls 116
scripts 82
search extension API ix
search results 17
searching 95
limitations for 125
translations for 87
searching algorithm 76
Second function 29
separators
dates 17, 31, 103
getting 32, 33
getting decimal 33
monetary values 4, 17
numeric values 17, 31
time formats 17, 103
Separators tag 17
Serbian country code 128
servers x
SetLayoutOrientation method 65
I n d e x 165
sfdata database 35
Shell function 48
short date format 32
Short Date Format field 81
short date formats 16, 103
backward compatibility for 97
JSP pages and 83
Short Time Format field 81
short time formats 16
ShortDate field 98
Show Only Full Translations option 70
Sign tag 18
Simplified Chinese character sets 95
supported encodings for 42
Sin function 28
single-byte character sets 2
sk_SK constant 128
sl_SI constant 128
Slovak country code 128
Slovenian country code 128
Software Development Kit ix
sorting 5, 84, 88
source code
default fonts for 59
writing to files 49
source definition files 105
source files
saving 49, 50
specifying default encoding for 51
South Africa country code 128
Spain country code 128
Spanish configurations 124
Spanish country codes 128
spreadsheets 7074
changing languages for 74
regional settings for 73
sq_AL constant 127
Sqr function 28
square roots 28
sr_YU constant 128
StartupServlet object 81
StaticFuncs class 77
Str function 28
Str$ function 28
string functions 95
string resources 76
String$ function 46
strings
API conventions for 96
converting to internal code pages 48
encoding 96
entering literals in 100
externalizing 35
getting character codes for 45
locale-dependent format 31
multibyte character sets in 96
parsing 2529
repeating characters in 45, 46
retrieving from arrays 38
translating 87
UTF encoding and 95
StringW function 45
StringW$ function 45
subreports 64
sv_FI constant 129
sv_SE constant 129
Swedish country codes 129
Switzerland country code 128
Symbols
formatting, translated 132
Symbols tag 17
syntax conventions (documentation) xiv
SysLocale field 98
T
table of contents 125
Tan function 28
templates
changing encodings in 86
customizing 88, 90
including for Japanese locales 87
localization example for 112
mapping to specific locales 91
standard configurations for 89
translating 86
text
adding to multi-locale reports 118
as multibyte strings 96
changing orientation for 66, 67
entering as literals 100
formatting 103
text editors 99
166 e . R e p o r t i n g f o r Mu l t i p l e L o c a l e s
text files
externalized strings in 35
opening 47
processing 37
text strings. See strings
TextPlacement property 67
third-party analysis tools ix
thousands separator 4, 31
getting 32, 33
time
converting across time zones 77
displaying 88, 100
locale-sensitive frameworks and 83
Time field 99
time format patterns 19
time formats
applying to specific locales 30
backward compatibility for 97
custom locales and 21
default view process 97
determining default 94
elements described 4
getting 33
JSP pages and 82
setting with environment variables 103
Time Separator field 81
time separators 17, 103
time symbols 19
Time tag 16, 17
time zones 77
specifying alternative set 82
TimeValue function 29
tool tips 76
tr_TR constant 129
Traditional Chinese character sets 3, 95
supported encodings for 42
Translate function 119
translating
e.Reports 82
e.Spreadsheets 70
ReportCast templates 86
TrueType fonts
installing 58
support for 57
Turkey country code 129
typographical conventions xiii
syntax xiv
U
UCS-2 encoding 2, 42, 45, 95
UCS-2BE encoding 47
UCS-2LE encoding 47, 50
uk_UA constant 129
Ukrainian country code 129
Unicode character sets 2, 124
supported encodings for 42
Unicode fonts 59
United Kingdom country code 128
United States country code 128
UNIX servers
customizing templates for 92
default formats for 97
deploying to 58, 108
formatting data for 103, 104
localizing for Japan 108
running in C locales 107
setting clock 105
unsupported character sets 124
uppercase characters 6
URLs
accessing Encyclopedia items 92
accessing reports for Japanese locales 88
getting locale IDs from 89, 90
user interfaces 70, 76
UTC formats 77
UTF-8 encoding 2, 42, 76, 95
V
variables
localization examples for 36, 117, 118
variant codes 81
view processes 94
default formatting for 97, 102
defined 92
deploying reports and 57
font availability for 56
setting specific locales for 92
Viewer xi
viewing
controls 63
data 88, 95, 100
DHTML reports 94, 95, 97
JSP pages 82
online documentation xii
I n d e x 167
viewing (continued)
ReportCast pages 86, 87
reports 23, 24, 25, 56, 64, 102
W
web browsers xi
accessing Encyclopedia items from 92
default encoding for 76, 86
displaying reports in 94, 95, 97
localization example for 110
Weekday function 30
weekdays 18
getting 33
WindowOrientation registry key 62
resetting 63
windows
specifying orientation for application 62
Windows Regional Settings 9
Windows servers
changing application orientation for 62
customizing templates for 90, 91
default formats for 97
encoding restrictions for 51
formatting data for 103
localization example for 110
running Actuate desktop products on 124
running in C locales 107
running reports from 107
Word documents
exporting to 84
X
XML tags 16
Xprinter configuration files 108
XRT configuration files 108
Y
Year
format symbol in translation 132
function name in translation 147
Year function 30
Yugoslavia country code 128
Z
zh_CN constant 127
zh_HK constant 127
zh_SG constant 127
zh_TW constant 127
168 e . R e p o r t i n g f o r Mu l t i p l e L o c a l e s

You might also like