Difference between revisions of "Localization"

From AgileApps Support Wiki
imported>Aeric
imported>Aeric
Line 46: Line 46:


===JavaScript Programming===
===JavaScript Programming===
In general, when coding [[Field Scripts]] and [[Form Scripts]], the data will be in the user's localized format. Coders need to be aware of that fact when doing conversions and calculations.
In general, when coding [[Field Scripts]] and [[Form Scripts]], form data will be in the [[User Format]]. Coders need to be aware of that fact when doing conversions and calculations, and when entering data into the form -- as the platform expects data coming from the form to be in that format.


However, if the code uses [[AJAX and REST]] to interact with the platform, the data going to the platform must be in [[Database Format]], as will the data coming back. ''That format applies to dates and times, as well as numeric data.''
However, if the code uses [[AJAX and REST]] to interact with the platform, the data going to the platform must be in [[Database Format]], as will the data coming back. ''That format applies to dates and times, as well as numeric data.''

Revision as of 19:45, 23 August 2013

About Localization

Localization is the process whereby a user interacts with platform using their preferred language and data formats.

The AgileApps Cloud platform Locale Settings provide a choice of data formats:

Considerations
  • The Translation Workbench allows a Service Provider to support additional languages.
  • If a user's permissions don't allow them to change their personal settings, then the default settings chosen by the company are effectively fixed.

Working with Localized Values

Interface Interactions

When working with the platform GUI, data is typically displayed and entered in User Format, as determined by the user's Locale Settings.

There are exceptions, however. When specifying numeric values that will be used in a direct comparison against database data.
In those cases, the Database Format must be used:

Numeric data entered in Web Forms must also be in Database Format.

Notepad.png

Note:
Dates and Times are always specified in the User's preferred format, regardless of context.

Rules and Imports

The Database Format for numeric values must be used when:

  • Specifying numeric values for a Rule

Ideally, that format will also be used when:

  • Supplying numeric data for an Import operation

Exceptions:

  • In a Pre-import Rule, numeric data is not coming from the database. In that context, the raw data is available, exactly as it appears in the incoming data. If the numeric data is in localized form, the Java Localization Functions could be used to convert the numeric fields to Database Format. (A method needs to be defined to use them in a Java Class, The method can then be invoked by a Rule action to do convert the numeric data. Or you can save yourself the effort by ensuring that incoming numeric data is in Database Format.
  • Incoming Data and Time values are always presumed to be in User Format

Java Programming

Most Java programming entails dealing with the database, which means that data provided in the APIs and returned from them are in Database Format -- except for dates and times, whose format are determined by the combination of the Field settings and the user's Locale Settings.

However, in a JSP Page, where data entered by a user will generally be localized, as will the data displayed to the user. To convert between those two formats, use the Java Localization APIs.

Notepad.png

Note:
The localization format is determined by the user who invokes the conversion method. So the same method produces appropriate results for different users.

REST Programming

When using the REST API, all data is specified in Database Format:

Field Format
Date, DateTime, Time
Currency, Number,
Number with Decimal,
Percent
  • No currency symbol or percent sign
  • No grouping characters (e.g. commas) in whole-number portion
  • A decimal point (.) before fractional portion

Ex: 84954.32

Lookup
  • The Record ID of a record in the target object.

Ex: 123A456B78

Multi Object Lookup

Ex: 849Z:123A456B78

JavaScript Programming

In general, when coding Field Scripts and Form Scripts, form data will be in the User Format. Coders need to be aware of that fact when doing conversions and calculations, and when entering data into the form -- as the platform expects data coming from the form to be in that format.

However, if the code uses AJAX and REST to interact with the platform, the data going to the platform must be in Database Format, as will the data coming back. That format applies to dates and times, as well as numeric data.

To convert between the formats, use the JavaScript Localization APIs.