Package com.veeva.vault.sdk.api.i18n
package com.veeva.vault.sdk.api.i18n
This package provides interfaces to read translated Messages in custom code.
Learn more about translating Messages in the Developer Portal.
Read a Single Message
The following example reads a single Message:
public String readMessage(String messageGroupName, String messageName, String languageCode) {
// Locate TranslationService
TranslationService translationService = ServiceLocator.locate(TranslationService.class);
// Build the request
TranslationsReadRequest readRequest = translationService.newTranslationsReadRequestBuilder()
.withMessageGroup(messageGroupName)
.withMessages(VaultCollectionsUtils.getVaultCollections().asList(messageName))
.withLanguage(languageCode)
.build();
// Read the message
return translationService.readTranslations(readRequest)
.getTranslations()
.get(messageName);
}
Read All Messages in a Messagegroup
The following example reads all Messages in aMessagegroup
:
public Map<String, String> readAllMessages(String messageGroupName, String languageCode) {
// Locate TranslationService
TranslationService translationService = ServiceLocator.locate(TranslationService.class);
// Build the request
TranslationsReadRequest readRequest = translationService.newTranslationsReadRequestBuilder()
.withMessageGroup(messageGroupName)
.withLanguage(languageCode)
.build();
// Read all messages
return translationService.readTranslations(readRequest).getTranslations();
}
Format a Message
The following example replaces Message tokens with values:
public String getInvalidEmailAddressError(String emailAddress, String languageCode) {
// Locate TranslationService
TranslationService translationService = ServiceLocator.locate(TranslationService.class);
// Read the message and assume the message reads "${email_address} is invalid."
String message = readMessage("person_validation__c", "invalid_email_address__c", languageCode);
if (message == null) {
message = "${email_address} is invalid.";
}
// Format the message with token(s)
Map<String, String> map = VaultCollectionsUtils.getVaultCollections().newMap();
map.put("email_address", emailAddress);
return translationService.formatTranslation(message, map);
}
-
InterfacesClassDescriptionProvides methods to retrieve translated Messages in a
Messagegroup
and to replace Message tokens with values.Provides methods to retrieve information about what Messages to read.Provides methods to buildTranslationsReadRequest
objects.Provides methods to retrieve translated Messages.