Lire les fonctions d’aide de script pour LFDocumentContentBuilder
LFDocumentContentBuilder fournit des fonctions utilitaires pour créer du contenu de document. Utilisez ces fonctions pour écrire la logique afin d’extraire le contenu traduisible de tous les artefacts, qu’ils utilisent ou non des tables standard pour les traductions.
initialiser (version, targetLanguage, sys_id, tableName)
Utilisez cette fonction comme constructeur pour LFDocumentContentBuilder et inclut les paramètres suivants :
| Nom | Type | Description |
|---|---|---|
| Version | Chaîne | Le type de version du contenu du document à générer. Pour Yokohama, cette valeur est v1. |
| targetLanguage | Chaîne | Langue cible du contenu du document de tâche de localisation. La langue cible est la même que celle disponible à partir de l’argument de la fonction de script read. |
| Sys_id | Chaîne | Le sys_id de l’enregistrement de l’artefact. |
| tableName | Chaîne | Nom de table de l’enregistrement d’artefact. |
processString (chaîne, groupName, étiquette)
Utilisez cette fonction pour ajouter LFDocumentContentElement dans le contenu du document pour la chaîne donnée et inclut les paramètres suivants.
| Nom | Type | Description |
|---|---|---|
| chaîne | Chaîne | Valeur pour laquelle une entrée de contenu de document est créée. |
| groupName | Chaîne | Le nom du groupe auquel l’élément doit appartenir. |
| étiquette | Chaîne | L’identificateur d’étiquette unique pour l’élément créé. |
processStringArray (stringArray, groupName, étiquette)
Utilisez cette fonction pour ajouter des éléments (objet de LFDocumentContentElement) dans le contenu du document pour les chaînes données et inclut les paramètres suivants.
| Nom | Type | Description |
|---|---|---|
| tableau de chaînes | Liste de chaînes | Liste de valeurs pour lesquelles l’entrée de contenu du document est créée. |
| groupName | Chaîne | Nom du groupe auquel ces chaînes appartiennent. |
| étiquette | Chaîne | Identificateur d’étiquette unique pour ces chaînes. |
processScript (scriptContent, groupName, étiquette)
Utilisez cette fonction pour ajouter un élément dans le contenu du document pour les chaînes présentes en tant qu’entrée de getMessage, gs.getMessage ou gs.getMessageLang dans le script fourni. Il comporte les paramètres suivants :
| Nom | Type | Description |
|---|---|---|
| scriptContent | Chaîne | Script à traiter pour obtenir les chaînes présentes en tant qu’entrée de getMessage, gs.getMessage ou gs.getMessageLang. |
| groupName | Chaîne | Le nom du groupe pour cette entrée. |
| étiquette | Chaîne | Identificateur d’étiquette unique pour cette entrée. |
Par exemple :
var documentContentBuilder = new LFDocumentContentBuilder("v1", language, sysId, tableName);
Var name = "name";
documentContentBuilder .processScript("gs.getMessage('Hello {0}, How are you', name)", "Script_Group", "Script_Label");processTranslatableFieldsForSingleRecord (glideRecord, groupName)
Utilisez cette fonction pour créer des éléments pour l’objet glideRecord donné, dans le contenu du document, pour tous ses champs traduisibles. Ces champs traduisibles peuvent être de type translated_field, translated_text ou translated_html. Il comprend les paramètres suivants :
| Nom | Type | Description |
|---|---|---|
| glideRecord | GlideRecord | L’objet GlideRecord à traiter pour les champs traduisibles. Le GlideRecord doit pointer vers l’enregistrement de table valide. |
| groupName | Chaîne | Le nom du groupe pour cette entrée. |
processTranslatableFieldsForMultipleRecords (tableName, encodedQuery, groupName)
Utilisez cette fonction pour récupérer tous les enregistrements qualifiés pour tableName et encodedQuery donnés et ajoute des éléments (objet de LFDocumentContentElement) dans le contenu du document pour tous les champs traduisibles. Il comprend les paramètres suivants :
| Nom | Type | Description |
|---|---|---|
| tableName | Chaîne | Table pour extraire les enregistrements. |
| encodedQuery | Chaîne | Requête codée de filtrage des enregistrements à partir de la table processTranslatableFieldsForSingleRecord. |
| groupName | Chaîne | Le nom du groupe pour cette entrée. |
processElement()
Utilisez cette fonction pour ajouter un élément (objet de LFDocumentContentElement) à l’objet LFDocumentContent.
| élément | LFDocumentContentElement | Élément à ajouter au contenu du document. |
construire()
Renvoie l’objet LFDocumentContent.
Remarque :
La fonction getFinalJSON a été dépréciée dans la Yokohama version et il est recommandé d’utiliser la fonction build( ).
Exemple de script permettant de créer le contenu du document.
getTranslatableContent: function(params) {
var tableName = params.tableName;
var sysId = params.sysId;
var language = params.language;
var lfDocumentContentBuilder = new global.LFDocumentContentBuilder("v1", language, sysId, tableName);
// This will create a new object of LFDocumentContent and stores it internally
lfDocumentContentBuilder.processTranslatableFieldsForSingleRecord(gr, "Basic Info");
var field = LFDocumentContentHelper.createField(originalValue, translatedValue);
field.setTextType(LFDocumentContentHelper.PLAIN_TEXT_TYPE);
// All the other relevant attributes can be set
var element = LFDocumentContentHelper.createElement(groupName, label);
element.addField(field);
lfDocumentContentBuilder.processElement(element); // Adds element to the LFDocumentContent object
return lfDocumentContentBuilder.build(); // return the LFDocumentContent object
}
Exemple de script pour extraire des données de LFDocumentContent
saveTranslatedContent: function(documentContent) {
// LFDocumentContent object is passed as an argument to the saveTranslatedContent
var targetLanguage = documentContent.getLanguage();
var version = documentContent.getVersion();
var elements = documentContent.getElements(); // Array of LFDocumentContentElement objects
for (var idx = 0; idx < elements.length; idx++) {
var element = elements[idx];
var groupName = element.getGroupName();
var fields = element.getFields(); // Array of LFDocumentContentField objects
for (var fieldIdx = 0; fieldIdx < fields.length; fieldIdx++) {
var field = fields[fieldIdx];
var originalValue = field.getOriginalValue();
var translatedValue = field.getTranslatedValue();
// Get all the other required members and process them appropriately
}
}
}