beautypg.com

Using the localization features of the newton 20, Defining language at compile time 20 – Apple Newton Programmer’s Newton 2.0 (for Newton 2.0) User Manual

Page 735

background image

C H A P T E R 2 0

Localizing Newton Applications

Using the Localization Features of the Newton

20-3

Displaying the text. This uses the date, time, and number formatting attributes of
the active locale bundle.

The recognition lexical dictionaries need to be, and are, most tolerant. Because
the formats specified in these dictionaries are more loosely defined, you can actually
combine the different formats being used in different countries. These dictionaries
accept constructs such as “77/34/56”, a string that doesn't make much sense.

The system lexical dictionaries are used to interpret (that is, parse) recognized text,
so they need to be more strict about accepted formats. For example, if given the
string “12/10/96”, the parser needs to know whether the user means that to represent
December 10 or October 12. The system lexical dictionaries impose these restrictions,
and are local-specific.

For more information about dictionary-based recognition, see Chapter 9,
“Recognition.”

Using the Localization Features of the Newton

20

This section describes how to localize your applications using the built-in features
of the Newton.

Defining Language at Compile Time

20

You can write an application so that the language used in strings and other objects
is determined at compile time. There are essentially three parts to doing this:

You define objects called localization frames that define the objects for
different languages. “Defining a Localization Frame” (page 20-4) discusses how
to do this.

You use the

LocObj

function in place of using the language-dependent object

directly. “Using LocObj to Reference Localized Objects” (page 20-4) discusses
how to do this.

You define the language for a build by using the Project Settings item in the
Project menu. See the

Newton Toolkit User’s Guide

for information on

project settings.

When you do this, you may also want to build strings from components and
measuring the lengths of strings at compile time so that you can arrange your
displays. “Use ParamStr Rather Than “&” and “&&” Concatenation” (page 20-5)
and “Measuring String Widths at Compile Time” (page 20-6) discuss how to do
those tasks.