---
sourceDocument: 요코하마 ServiceNow AI 플랫폼 관리
sourceDocumentLink: https://servicenow-prod.fluidtopics.net/r/ko-KR/yokohama/platform-administration

 Release :

    - yokohama

ft:locale :

    - ko-KR

ft:publication_title :

    - 요코하마 ServiceNow AI 플랫폼 관리

ft:clusterId :

    - platadm

bundleId :

    - platadm

workflow :

    - Platform


---

# LFDocumentContentBuilder에 대한 스크립트 도우미 함수 읽기

# LFDocumentContentBuilder에 대한 스크립트 도우미 함수 읽기 {#ariaid-title1}

* 릴리스 버전: Yokohama
* 
* 업데이트 날짜 2025년 01월 30일
* 
* ![](https://www.servicenow.com/docs/portal-asset/ico-clock) 소요 시간: 7분

LFDocumentContentBuilder는 문서 컨텐츠를 빌드하는 유틸리티 함수를 제공합니다. 이러한 함수를 사용하여 표준 테이블을 사용하는지 또는 번역용으로 사용하지 않든 관계없이 모든 아티팩트에서 번역 가능한 콘텐츠를 추출하는 논리를 작성하십시오.

## 초기화(버전, targetLanguage, sys_id, tableName) {#lf-document-content-builder__section_vf3_lqv_xnb}

이 함수를 LFDocumentContentBuilder 의 생성자로 사용하고 다음 매개변수를 포함합니다.{#lf-document-content-builder__table_okx_rqv_xnb__entry__3}

| 이름 | 유형 | 설명 |
|-|-|-|
| 버전 | 문자열 | 생성할 문서 콘텐츠의 버전 유형입니다. 의 경우 Yokohama이 값은 v1입니다. |
| targetLanguage | 문자열 | 현지화 작업 문서 콘텐츠의 대상 언어입니다. 대상 언어는 read script 함수 인수에서 사용할 수 있는 언어와 같습니다. |
| Sys_id | 문자열 | 아티팩트 기록의 sys_id입니다. |
| tableName | 문자열 | 아티팩트 기록의 테이블 이름입니다. |
[ ]

{#lf-document-content-builder__table_okx_rqv_xnb}

## processString(문자열, 그룹 이름, 레이블) {#lf-document-content-builder__section_xxg_3rv_xnb}

이 함수를 사용하여 지정된 문자열에 대한 문서 컨텐츠에 LFDocumentContentElement를 추가하고 다음 매개변수를 포함합니다.{#lf-document-content-builder__table_tfz_mrv_xnb__entry__3}

| 이름 | 유형 | 설명 |
|-|-|-|
| 문자열 | 문자열 | 문서 컨텐츠 항목이 생성되는 값입니다. |
| groupName | 문자열 | 요소가 속해야 할 그룹의 이름입니다. |
| 레이블 | 문자열 | 생성된 요소의 고유 레이블 식별자입니다. |
[ ]

{#lf-document-content-builder__table_tfz_mrv_xnb}

## processStringArray (stringArray, groupName, label) {#lf-document-content-builder__section_vwx_q5v_xnb}

이 함수를 사용하여 지정된 문자열에 대한 문서 컨텐츠에 요소(LFDocumentContentElement의 객체)를 추가하고 다음 매개변수를 포함합니다.{#lf-document-content-builder__table_o11_hvv_xnb__entry__3}

| 이름 | 유형 | 설명 |
|-|-|-|
| 문자열배열 | 문자열 목록 | 문서 컨텐츠 항목이 생성되는 값의 목록입니다. |
| groupName | 문자열 | 이 문자열이 속한 그룹의 이름입니다. |
| 레이블 | 문자열 | 이러한 문자열의 고유 레이블 식별자입니다. |
[ ]

{#lf-document-content-builder__table_o11_hvv_xnb}

## processScript(scriptContent, groupName, label) {#lf-document-content-builder__section_xxt_wvv_xnb}

이 함수를 사용하여 제공된 스크립트에서 getMessage, gs.getMessage 또는 gs.getMessageLang의 입력으로 존재하는 문자열에 대한 문서 컨텐츠에 요소를 추가합니다. 다음과 같은 매개변수가 있습니다.{#lf-document-content-builder__table_c4q_1wv_xnb__entry__3}

| 이름 | 유형 | 설명 |
|-|-|-|
| scriptContent | 문자열 | getMessage, gs.getMessage 또는 gs.getMessageLang의 입력으로 존재하는 문자열을 가져오기 위해 처리할 스크립트입니다. |
| groupName | 문자열 | 이 입력에 대한 그룹의 이름입니다. |
| 레이블 | 문자열 | 이 입력의 고유 레이블 식별자입니다. |
[ ]

{#lf-document-content-builder__table_c4q_1wv_xnb}  
예:

    `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) {#lf-document-content-builder__section_oqr_x3w_xnb}

이 함수를 사용하여 문서 컨텐츠에서 번역 가능한 모든 필드에 대해 지정된 glideRecord 객체에 대한 요소를 생성합니다. 이러한 번역 가능한 필드는 translated_field, translated_text 또는 translated_html 유형일 수 있습니다. 여기에는 다음 매개변수가 포함됩니다.{#lf-document-content-builder__table_ukt_4jw_xnb__entry__3}

| 이름 | 유형 | 설명 |
|-|-|-|
| glideRecord | GlideRecord | 번역 가능 필드에 대해 처리할 GlideRecord 객체입니다. GlideRecord는 유효한 테이블 기록을 가리켜야 합니다. |
| groupName | 문자열 | 이 입력에 대한 그룹의 이름입니다. |
[ ]

{#lf-document-content-builder__table_ukt_4jw_xnb}

## processTranslatableFieldsForMultipleRecords(tableName, encodedQuery, groupName) {#lf-document-content-builder__section_rp5_rjw_xnb}

이 함수를 사용하여 지정된 tableName 및 encodedQuery에 대해 모든 정규화된 기록을 가져오고 번역 가능한 모든 필드에 대한 문서 컨텐츠에 요소(LFDocumentContentElement의 객체)를 추가합니다. 여기에는 다음 매개변수가 포함됩니다.{#lf-document-content-builder__table_yg4_xjw_xnb__entry__3}

| 이름 | 유형 | 설명 |
|-|-|-|
| tableName | 문자열 | 기록을 가져올 테이블입니다. |
| encodedQuery | 문자열 | processTranslatableFieldsForSingleRecord 테이블에서 기록을 필터링하기 위한 인코딩된 쿼리입니다. |
| groupName | 문자열 | 이 입력에 대한 그룹의 이름입니다. |
[ ]

{#lf-document-content-builder__table_yg4_xjw_xnb}

## processElement() {#lf-document-content-builder__section_ps1_xh4_ypb}

이 함수를 사용하여 LFDocumentContent 객체에 요소(LFDocumentContentElement의 객체)를 추가합니다.{#lf-document-content-builder__table_eny_mrb_zpb__entry__3}

|   |   |   |
|-|-|-|
| 요소 | LFDocumentContentElement | 문서 콘텐츠에 추가할 요소입니다. |
[ ]

{#lf-document-content-builder__table_eny_mrb_zpb}

## 빌드() {#lf-document-content-builder__section_okh_dkw_xnb}

LFDocumentContent 객체를 반환합니다.  
주:  
getFinalJSON 함수는 릴리스에서 Yokohama 더 이상 사용되지 않으며 build() 함수를 사용하는 것이 좋습니다.  
문서 컨텐츠를 빌드하는 샘플 스크립트입니다.

    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
    }

## LFDocumentContent에서 데이터를 추출하는 샘플 스크립트 {#lf-document-content-builder__section_n5g_rnb_zpb}

    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
            }
        }
    }


