Constructor
new module:br-i18n /Translator()
Methods
convert XMLEntity Chars(text)
Converts XML reserved characters (<,>,",',&) into XML entity references.
Parameters:
Name | Type | Description |
---|---|---|
text |
String | The string within which to replace localization tokens. |
Returns:
A string with every XML reserved character replaced with it's corresponding XML entity reference.
format Date(date, date Format)
Formats a JavaScript date object according to the locale date format
string or another passed in date format string. If no date format string is
supplied, this function will default to the date format string referenced by
the localization property br.i18n.date.format
.
Try using the following:
var oTranslator = Translator.getTranslator(); oTranslator.formatDate(myDateObject);
Note that this method will also translate any month names (including abbreviated month names) in the date string to the local equivalents. In order for this translation to work correctly, two sets of localization properties need to be set-up.
For translation of long month names define localization properties of the
form:
date.month.january=January
For translation of abbreviated month names define localization properties of the form: date.month.short.january=Jan
Parameters:
Name | Type | Description |
---|---|---|
date |
Date | A Date object to output as a formatted string. |
dateFormat |
String | An optional date format to use. The date formats supported are the same as those used by the Moment.js Date object. Refer to the Moment.js API documentation for further details. |
Returns:
The formatted date string.
format Number(number)
Formats the number appropriately for the locale.
By specifying a number grouping separator character (',' for example) as
the value of the localization property
br.i18n.number.grouping.separator
, a number such as '1000000'
will be formatted as '1,000,000'.
Try using the following:
var oTranslator = Translator.getTranslator(); oTranslator.formatNumber(1000000);
Parameters:
Name | Type | Description |
---|---|---|
number |
Variant | A number or a string representing the number. |
Throws:
-
A LocalisedNumber object could not be instantiated from:
vNumber
. - Type
-
br
/Errors
Returns:
A formatted string representation of the number.
format Time(time)
Formats the time appropriately for the locale.
By specifying a time separator character (':' for example) as the value
of the localization property br.i18n.time.format.separator
, a
time such as '102001' will be formatted as '10:20:01'.
Try using the following:
var oTranslator = Translator.getTranslator(); oTranslator.formatTime(102001);
Parameters:
Name | Type | Description |
---|---|---|
time |
Variant | An integer or string representing the time. |
Throws:
-
A LocalisedTime object could not be instantiated from:
vTime
. - Type
-
br
/Errors
Returns:
A formatted time string.
get Date Format()
Returns the current date format string for use in displaying the current date format or for other components that require it to format dates.
The string is either the default for the locale or if the user has set a preference then that is returned instead.
Returns:
The date format string, e.g. YYYY-mm-dd.
get Message(token, template Args)
The getMessage
method replaces a token with it's translation.
Additionally, you can supply extra template arguments that the particular
translation might need. For example, a given translations may be
${dialog.message.amountWarning} = "you have [template.key.amount] dollars
left in account [template.key.account]". You would call
var i18n = require("br/I18n");
i18n("dialog.message.amountWarning",
{"template.key.amount":"43234", "template.key.account":"testAccount"});
to get the fully translated message "you have 43234 dollars left in account
testAccount"
Parameters:
Name | Type | Description |
---|---|---|
token |
String | The token to be translated. |
templateArgs |
Map | The optional template arguments a translation may require. |
Returns:
A string with message tokens replaced with the current locale's messages, possibly with additional substitutions for any template arguments.
get Short Date Format()
Returns the shorter version of the current date format string for use in displaying the current date format or for other components that require it to format dates.
The string is either the default for the locale or if the user has set a preference then that is returned instead.
Returns:
The date format string, e.g. d/m/Y.
parse Number(number, thousands Separator) → {Number}
Parses the number appropriately for the locale, by removing the thousands seperators.
By specifying a number grouping separator character (',' for example) as
the value of the localization property
br.i18n.number.grouping.separator
, a number such as '1,000,000'
will be parsed as '1000000'.
Try using the following:
var translator = Translator.getTranslator(); oTranslator.parseNumber('1,000,000.00');
Parameters:
Name | Type | Description |
---|---|---|
number |
String | A string representing the number. |
thousandsSeparator |
String | (optional) A string representing thousands separator. |
Returns:
A parsed number or null if the value can't be parsed.
- Type
- Number
set Localization Preferences(localization Prefs)
Sets localization preferences for the Translator
.
Parameters:
Name | Type | Description |
---|---|---|
localizationPrefs |
Map | A map containing the localization preferences. |
strip Non Numeric Characters(value)
Strings non numeric characters from the specified string.
Parameters:
Name | Type | Description |
---|---|---|
value |
String | the string to strip the non numeric values from. |
Returns:
The string without numeric characters
token Exists(sText)
Returns whether a given localization token is contained in either the current locale or the default locale.
Usage:
Translator.getTranslator().tokenExists("br.core.field.start.date")
Parameters:
Name | Type | Description |
---|---|---|
sText |
String | The token name |
Returns:
true
if the localization token exists in the current
locale or the default locale's translation set, otherwise
false
.
translate(sText, sType)
Translate is used to convert raw localization tokens in the form
@{key.name}
into translated text.
By default this method also converts reserved XML characters (,",',&) into XML entity references (> into > etc). If you require raw text translation without the XML entity reference conversion, pass a type of "text" as an argument to this method.
This:
- Translator
Parameters:
Name | Type | Description |
---|---|---|
sText |
String | The string within which to replace localization tokens. |
sType |
String | The type of text to translate (defaults to "xml", pass "text" for translation without XML entity reference conversion). |
Returns:
A string with localization tokens replaced with the current locale's messages.