public class TranslationMessage extends java.lang.Object implements Message
For string-based level APIs, some need the source string as parameter, some don't, instead the source string is put to the resource bundle. Currently we support source string of the following form: message = messageText (argument messageText)* argument = noneArg | simpleArg | complexArg complexArg = pluralArg noneArg = '{' argNameOrNumber '}' simpleArg = '{' argNameOrNumber ',' argType [',' argStyle] '}' pluralArg = '{' argNameOrNumber ',' "plural" ',' pluralStyle '}' pluralStyle: see PluralFormat argNameOrNumber = argName | argNumber argName = [^[[:Pattern_Syntax:][:Pattern_White_Space:]]]+ argNumber = '0' | ('1'..'9' ('0'..'9')*) argType = "number" | "date" argStyle for "number" type = "currency" | "percent" (argStyle is optional, when it's not specified, the number will be formatted in decimal format) argStyle for "date" type = "shortDate" | "mediumDate" | "longDate" | "fullDate" | "shortTime" | "mediumTime" | "longTime" | "fullTime" | "short" | "medium" | "long" | "full" (The format results of "short" | "medium" | "long" | "full" style are the combination of date and time.) (When argStyle for "date" is not specified, the date will be formatted in "medium" style) Below is an example for the format of source: "At {1,date,shortTime} on {1,date,longDate}, there was {2} on planet {0,number}."
Constructor and Description |
---|
TranslationMessage() |
Modifier and Type | Method and Description |
---|---|
VIPCfg |
getCfg() |
java.lang.String |
getMessage(java.util.Locale locale,
java.lang.String component,
java.lang.String key,
java.util.Map<java.lang.String,java.lang.Object> args)
Retrieves the localized message
|
java.lang.String |
getMessage(java.util.Locale locale,
java.lang.String component,
java.lang.String key,
java.lang.Object... args)
Retrieves the localized message
|
java.lang.String |
getMessage(java.lang.String resourceBundle,
java.util.Locale locale,
java.lang.String component,
java.lang.String key,
java.util.Map<java.lang.String,java.lang.Object> args) |
java.lang.String |
getMessage(java.lang.String resourceBundle,
java.util.Locale locale,
java.lang.String component,
java.lang.String key,
java.lang.Object... args) |
java.util.Map<java.lang.String,java.lang.String> |
getMessages(java.util.Locale locale,
java.lang.String component)
Retrieves the set of localized messages from the cache.
|
java.lang.String |
getString(java.util.Locale locale,
java.lang.String component,
java.lang.String key,
java.lang.String source,
java.lang.String comment,
java.util.Map<java.lang.String,java.lang.Object> args)
get a translation under the component of the configured product
|
java.lang.String |
getString(java.util.Locale locale,
java.lang.String component,
java.lang.String key,
java.lang.String source,
java.lang.String comment,
java.lang.Object... args)
Deprecated.
Replaced by
getMessage(Locale, String, String, Object...)
which fetches source messages from messages_source.json of the component.
This method only supports English as both the default and the source locale. |
java.lang.String |
getString2(java.lang.String component,
java.lang.String bundle,
java.util.Locale locale,
java.lang.String key,
java.util.Map<java.lang.String,java.lang.Object> args)
get one translation of the configured product from VIP, if message not
found will get the English message from specified bundle.
|
java.lang.String |
getString2(java.lang.String component,
java.lang.String bundle,
java.util.Locale locale,
java.lang.String key,
java.lang.Object... args)
Deprecated.
Replaced by
getMessage(Locale, String, String, Object...)
which fetches source messages from messages_source.json of the component.
This method only supports English as both the default and the source locale. |
java.util.Map<java.lang.String,java.lang.String> |
getStrings(java.util.Locale locale,
java.lang.String component)
Deprecated.
Replaced by
getMessages(Locale, String) |
java.util.Map<java.util.Locale,java.util.Map<java.lang.String,java.util.Map<java.lang.String,java.lang.String>>> |
getStrings(java.util.Set<java.util.Locale> locales,
java.util.Set<java.lang.String> components)
get multiple components' translations from VIP server
|
boolean |
isAvailable(java.lang.String component,
java.util.Locale locale)
check if the translations of specified component is available
|
boolean |
isAvailable(java.lang.String component,
java.lang.String key,
java.util.Locale locale)
check if one translation of specified key is available
|
boolean |
postString(java.util.Locale locale,
java.lang.String component,
java.lang.String key,
java.lang.String source,
java.lang.String comment)
Deprecated.
Collection of source message is not supported at runtime.
|
boolean |
postStrings(java.util.Locale locale,
java.lang.String component,
java.util.List<org.json.simple.JSONObject> sources)
Deprecated.
Collection of source message is not supported at runtime.
|
void |
setCfg(VIPCfg cfg) |
public VIPCfg getCfg()
public void setCfg(VIPCfg cfg)
public java.lang.String getMessage(java.util.Locale locale, java.lang.String component, java.lang.String key, java.lang.Object... args)
locale
- The locale in which the message is requested to be localizedcomponent
- The Singleton component in which the message belongskey
- The key that represents the messageargs
- Values to replace placeholders in the message withVIPJavaClientException
- If none from the list below is available
public java.lang.String getMessage(java.util.Locale locale, java.lang.String component, java.lang.String key, java.util.Map<java.lang.String,java.lang.Object> args)
locale
- The locale in which the message is requested to be localizedcomponent
- The Singleton component in which the message belongskey
- The key that represents the messageargs
- Named arguments to replace placeholders in the message withVIPJavaClientException
- If none from the list below is available
public java.lang.String getMessage(java.lang.String resourceBundle, java.util.Locale locale, java.lang.String component, java.lang.String key, java.util.Map<java.lang.String,java.lang.Object> args)
public java.lang.String getMessage(java.lang.String resourceBundle, java.util.Locale locale, java.lang.String component, java.lang.String key, java.lang.Object... args)
public java.lang.String getString(java.util.Locale locale, java.lang.String component, java.lang.String key, java.lang.String source, java.lang.String comment, java.lang.Object... args)
getMessage(Locale, String, String, Object...)
which fetches source messages from messages_source.json of the component.
This method only supports English as both the default and the source locale.locale
- an object used to get the source's translationcomponent
- defined on VIP service, it will be created automatically if
not existkey
- identify the sourcesource
- it's English source which will be return if no translation
available. For the format of source, please refer to the class annotation.comment
- used to describe the source to help understand the source for
the translators.args
- used to format the message with placeholder, it's not required
if the message doesn't contain any placeholderpublic java.lang.String getString(java.util.Locale locale, java.lang.String component, java.lang.String key, java.lang.String source, java.lang.String comment, java.util.Map<java.lang.String,java.lang.Object> args)
locale
- an object used to get the source's translationcomponent
- defined on VIP service, it will be created automatically if
not existkey
- identify the sourcesource
- it's English source which will be return if no translation
available. For the format of source, please refer to the class annotation.comment
- used to describe the source to help understand the source for
the translators.args
- named arguments used to format the message with placeholderpublic boolean postStrings(java.util.Locale locale, java.lang.String component, java.util.List<org.json.simple.JSONObject> sources)
locale
- currently no matter which locale it is, all sources will be
considered as Englishcomponent
- the component name used to categorize the sources and
auto-created first timesources
- the JSONObject should contain three attributes(key, source,
commentForSource). For the format of source, please refer to the class annotation.public boolean postString(java.util.Locale locale, java.lang.String component, java.lang.String key, java.lang.String source, java.lang.String comment)
locale
- an object used to get the source's translationcomponent
- defined on VIP service, it will be created automatically if
not existkey
- identify the sourcesource
- it's English source which will be return if no translation
available. For the format of source, please refer to the class annotation.comment
- used to describe the source to help understand the source for
the translators.@Deprecated public java.util.Map<java.lang.String,java.lang.String> getStrings(java.util.Locale locale, java.lang.String component)
getMessages(Locale, String)
locale
- a language tag to get the translationscomponent
- defined on VIP service, it will be created automatically if
not existpublic java.util.Map<java.lang.String,java.lang.String> getMessages(java.util.Locale locale, java.lang.String component)
component
- The Singleton componentlocale
- The locale in which the messages are requested to be localizedpublic java.util.Map<java.util.Locale,java.util.Map<java.lang.String,java.util.Map<java.lang.String,java.lang.String>>> getStrings(java.util.Set<java.util.Locale> locales, java.util.Set<java.lang.String> components)
locales
- locales to get the translations of themcomponents
- names of the components to get translationpublic java.lang.String getString2(java.lang.String component, java.lang.String bundle, java.util.Locale locale, java.lang.String key, java.lang.Object... args)
getMessage(Locale, String, String, Object...)
which fetches source messages from messages_source.json of the component.
This method only supports English as both the default and the source locale.component
- defined on VIP service, it will be created automatically if
not existbundle
- properties file name, normally it should be put under the root
'src' pathlocale
- an object used to get the source's translationkey
- identify the sourceargs
- used to format the message with placeholder, it's not required
if the message doesn't contain any placeholderpublic java.lang.String getString2(java.lang.String component, java.lang.String bundle, java.util.Locale locale, java.lang.String key, java.util.Map<java.lang.String,java.lang.Object> args)
component
- defined on VIP service, it will be created automatically if
not existbundle
- properties file name, normally it should be put under the root
'src' pathlocale
- an object used to get the source's translationkey
- identify the sourceargs
- named arguments used to format the message with placeholderpublic boolean isAvailable(java.lang.String component, java.util.Locale locale)
component
- locale
- public boolean isAvailable(java.lang.String component, java.lang.String key, java.util.Locale locale)
component
- locale
-