동적 변환 - 범위 지정

  • 릴리스 버전: Xanadu
  • 업데이트 날짜 2024년 08월 01일
  • 읽기36분
  • DynamicTranslation API는 번역 서비스 제공자를 사용하여 텍스트를 실시간으로 여러 언어로 번역하는 메서드를 제공합니다.

    또한 이 API를 사용하여 특정 문자열의 언어를 감지하고 번역 서비스에 DynamicTranslation 메서드가 활성화되어 있는지 확인할 수 있습니다. 이 API를 사용하면 사용자 인터페이스에 대한 원활한 현지화 환경을 만들 수 있으므로 하나의 인터페이스로 여러 국가에 서비스를 제공할 수 있습니다.

    현재 이 API는 Microsoft Azure Translator 서비스와 Google Cloud Translator 서비스의 두 번역 서비스 제공자를 지원합니다. 인스턴스 내에서 다른 번역 서비스를 구성한 다음 DynamicTranslation API를 사용하여 텍스트를 번역할 수도 있습니다.

    서버 측 스크립트에서 이러한 메서드를 사용하는 경우 sn_dt_api 네임스페이스 식별자를 사용합니다. 이 API를 사용하려면 먼저 DynamicTranslation(com.glide.dynamic_translation) 플러그인을 활성화해야 합니다. 이 플러그인에 대한 자세한 내용과 에 대한 동적 변환추가 정보는 동적 변환 개요를 참조하십시오.

    DynamicTranslation - getDetectedLanguage(문자열 텍스트, 객체 매개변수)

    전달된 텍스트의 언어를 탐지합니다.

    번역기를 전달하면 메서드는 해당 번역 서비스를 사용하여 소스 언어를 검색합니다. 그렇지 않으면 기본 번역 서비스에서 탐지를 수행합니다. 제공하는 텍스트 문자열에 적절한 언어 탐지를 사용할 수 있을 만큼 충분한 장황한 표현이 포함되어 있는지 확인합니다.

    응답에는 탐지된 언어 외에도 탐지의 신뢰도 수준과 기타 가능한 언어 대안이 포함됩니다. 번역기가 전달되지 않은 경우 메서드는 언어를 검색하는 데 사용되는 기본 번역 서비스도 반환합니다.

    표 1. 매개변수
    이름 유형 설명
    텍스트 문자열 언어를 탐지하는 데 사용할 텍스트입니다.
    객체 옵션입니다. 추가 번역 매개변수를 포함하는 JSON 객체입니다.
    parms.번역기 문자열 옵션입니다. 텍스트를 번역하기 위해 사용할 번역 서비스입니다(대소문자 구분 없음).

    유효한 값은 다음과 같습니다.

    • Google
    • Microsoft
    • IBM
    • <사용자 지정>
    주:
    사용자 지정 번역 서비스를 사용하려면 먼저 인스턴스에 번역 서비스를 구성해야 합니다. 자세한 내용은 번역 서비스 공급자와 통합을 참조하세요.

    기본: 번역기 구성 [sn_dt_translator_configuration] 테이블에 구성된 번역 서비스.

    표 2. 반환
    유형 설명
    대체 일치할 가능성이 있는 다른 언어를 설명하는 객체의 배열입니다.

    데이터 유형: 배열

    "alternatives": [
      {
        "code": "String",
        "confidence": "String",
        "name": "String"
      }
    ]
    alternatives.코드 대체 언어의 언어 코드입니다.

    데이터 유형: 문자열

    대안.신뢰도 대체 언어의 신뢰 수준을 나타내는 부동 소수점 값입니다. 값은 0에서 1 사이입니다. 값이 낮을수록 신뢰 수준이 낮아집니다.

    데이터 유형: 문자열

    alternatives.name 대체 언어의 언어 코드입니다.

    데이터 유형: 문자열

    detectedLanguage 탐지된 언어에 대한 설명입니다.

    데이터 유형: 객체

    "detectedLanguage": {
      "code": "String",
      "confidence": "String",
      "name": "String"
    }
    detectedLanguage.code 탐지된 언어의 언어 코드

    데이터 유형: 문자열

    detectedLanguage.confidence 대체 언어의 신뢰 수준을 나타내는 부동 소수점 값입니다. 값은 0에서 1 사이입니다. 값이 낮을수록 신뢰 수준이 낮아집니다.

    데이터 유형: 문자열

    detectedLanguage.name 탐지된 언어의 언어 코드

    데이터 유형: 문자열

    번역기 언어를 탐지하는 데 사용할 번역 서비스입니다.

    데이터 유형: 문자열

    오류 메시지 다음은 메서드가 반환할 수 있는 오류 메시지와 오류의 근본 원인에 대한 표시입니다.
    • 텍스트("텍스트" 필드)가 누락되거나 유효하지 않습니다. (40000): 번역할 텍스트가 누락되었거나 문자열이 아닙니다.
    • 동적 변환 플러그인이 설치되어 있지 않습니다. (40001): com.glide.dynamic_translation 플러그인을 활성화하지 않고 동적 변환 API가 호출되었습니다. 이 플러그인 활성화에 대한 자세한 내용은 동적 변환 개요를 참조하십시오.
    • 번역기("번역기" 필드)가 잘못되었습니다. (40003): 전달된 translator 매개 변수가 문자열이 아닙니다.
    • <번역기> 번역기가 구성되어 있지 않습니다. (40004): 지정된 번역 서비스가 번역기 구성에 구성되어 있지 않습니다. 번역기 구성 작성/수정에 대한 자세한 내용은 번역기 구성 작성을 참조하십시오.
    • <번역기> 번역기가 비활성 상태입니다. (40005): 지정된 번역 서비스가 번역기 구성에서 활성 으로 설정되어 있지 않습니다. 번역기 구성 작성/수정에 대한 자세한 내용은 번역기 구성 작성을 참조하십시오.
    • 추가 매개변수가 잘못되었습니다. (40006): 전달된 추가 매개 변수는 개체가 아닙니다.
    • 최대 시간 제한을 초과했습니다. (40009): 작업이 번역 구성에 지정된 정의된 시간 제한 값보다 오래 걸렸습니다. 기본값: 40초
    • 기본 번역기가 탐지하도록 구성되어 있지 않습니다. (40011): 번역기 구성에서 언어 감지를 위해 기본 번역 서비스가 지정되지 않았습니다. 번역기 구성 작성/수정에 대한 자세한 내용은 번역기 구성 작성을 참조하십시오.
    • <번역기> 번역기가 탐지하도록 구성되어 있지 않습니다. (40013): 지정된 번역 서비스가 번역기 구성에서 언어 감지를 위해 구성되지 않았습니다. 번역기 구성 작성/수정에 대한 자세한 내용은 번역기 구성 작성을 참조하십시오.
    • 알 수 없는 오류가 발생했습니다. (40051): 오류가 다른 범주에 속하지 않을 때 기본 오류가 발생합니다.
    • 텍스트("텍스트" 필드)가 최대 길이를 초과했습니다. (40052): 번역을 위해 전달된 텍스트가 해당 번역 서비스에서 지원하는 최대 길이를 초과합니다.
    • 자격 증명이 누락되었거나 잘못되어 요청이 인증되지 않음(40055): 연결 및 자격 증명에서 번역 서비스에 대해 구성된 자격 증명이 유효하지 않습니다. 연결 및 자격 증명에 대한 자세한 내용은 동적 변환 개요를 참조하세요.

    이 예제는 IBM의 번역 서비스를 사용하여 영어로 된 문자열을 발견하는 서버 측 스크립트의 코드를 보여줍니다.

    var detectedResponse = sn_dt_api.DynamicTranslation.getDetectedLanguage('Please detect the language of this text', {"translator":'IBM'});
     gs.info(JSON.stringify(detectedResponse));
    

    출력:

    {
      detectedLanguage:
        { "code": "en", "confidence": "1", "name": "en" }
      alternatives: 
        [
          { "code": "vi", "confidence": "0.86", "name": "vi" },
          { "code": "id", "confidence": "0.86", "name": "id" }
        ]                  
     }

    이 예제에서는 잘못된 번역 서비스가 전달될 때 오류를 발생시키는 서버 스크립트를 보여 줍니다.

    var detectedResponse = sn_dt_api.DynamicTranslation.getDetectedLanguage('Please detect the language of this text', {"translator":123});
     gs.info(JSON.stringify(detectedResponse));
    

    출력:

    {"code":"40003","message":"Translator (\"translator\" field) is invalid"}

    DynamicTranslation - getDetectedLanguages(텍스트 배열, 객체 매개변수)

    텍스트 문자열로 전달된 언어를 탐지합니다.

    번역기를 전달하면 메서드는 해당 번역 서비스를 사용하여 소스 언어를 검색합니다. 그렇지 않으면 기본 번역 서비스에서 탐지를 수행합니다. 제공하는 텍스트 문자열에 적절한 언어 탐지를 사용할 수 있을 만큼 충분한 장황한 표현이 포함되어 있는지 확인합니다.

    응답에는 탐지된 언어 외에도 탐지의 신뢰도 수준과 기타 가능한 언어 대안이 포함됩니다. 번역기가 전달되지 않은 경우 메서드는 언어를 검색하는 데 사용되는 기본 번역 서비스도 반환합니다.

    표 3. 매개변수
    이름 유형 설명
    텍스트 배열 언어를 탐지하는 데 사용할 텍스트 문자열 목록입니다.
    객체 옵션입니다. 추가 번역 매개변수를 포함하는 JSON 객체입니다.
    "parms": {
      "translator": "String"
    }
    parms.번역기 문자열 문자열의 언어를 탐지하는 데 사용할 번역 서비스입니다. 번역 서비스는 번역기 구성 메뉴에서 구성되며 번역기 구성 [sn_dt_translator_configuration] 테이블에 있습니다.

    가능한 값 - 대/소문자를 구분하지 않음:

    • Google
    • Microsoft
    • IBM
    • <사용자 지정>
    주:
    사용자 지정 번역 서비스를 사용하려면 먼저 인스턴스에 번역 서비스를 구성해야 합니다. 자세한 내용은 번역 서비스 공급자와 통합을 참조하세요.

    기본: 번역기 구성 [sn_dt_translator_configuration] 테이블에 구성된 번역 서비스.

    표 4. 반환
    유형 설명
    탐지 텍스트 문자열의 언어 감지.

    데이터 유형: 객체

    "detections": {
      "alternatives": [Array],
      "detectedLanguage": {Object},
      "isError": Boolean
    ]
    
    detections.alternatives 일치할 가능성이 있는 다른 언어를 설명하는 객체의 배열입니다.

    데이터 유형: 배열

    "alternatives": [
      {
        "code": "String",
        "confidence": "String",
        "name": "String"
      }
    ]
    detections.alternatives.code 대체 언어의 언어 코드입니다.

    데이터 유형: 문자열

    detections.alternatives.confidence 대체 언어의 신뢰 수준을 나타내는 부동 소수점 값입니다. 값은 0에서 1 사이입니다. 값이 낮을수록 신뢰 수준이 낮아집니다.

    데이터 유형: 문자열

    detections.alternatives.name 대체 언어의 언어 코드입니다.

    데이터 유형: 문자열

    detections.detectedLanguage 탐지된 언어에 대한 설명입니다.

    데이터 유형: 객체

    "detectedLanguage": {
      "code": "String",
      "confidence": "String",
      "name": "String"
    }
    detections.detectedLanguage.code 탐지된 언어의 언어 코드

    데이터 유형: 문자열

    detections.detectedLanguage.confidence 대체 언어의 신뢰 수준을 나타내는 부동 소수점 값입니다. 값은 0에서 1 사이입니다. 값이 낮을수록 신뢰 수준이 낮아집니다.

    데이터 유형: 문자열

    detections.detectedLanguage.name 탐지된 언어의 언어 코드

    데이터 유형: 문자열

    detections.isError 텍스트에 대한 언어 탐지로 오류가 발생했는지 여부를 나타내는 플래그입니다.
    유효한 값은 다음과 같습니다.
    • true: 오류가 발생했습니다.
    • false: 언어 검색에 성공했습니다.

    데이터 유형: 부울

    상태 메서드 호출에 대한 응답의 상태입니다.
    가능한 값:
    • 오류
    • 부분
    • 성공

    데이터 유형: 문자열

    번역기 언어를 탐지하는 데 사용할 번역 서비스입니다.

    데이터 유형: 문자열

    오류 메시지 다음은 메서드가 반환할 수 있는 오류 메시지와 오류의 근본 원인에 대한 표시입니다.
    • 텍스트("텍스트" 필드)가 누락되거나 유효하지 않습니다. (40000): 번역할 텍스트가 누락되었거나 문자열이 아닙니다.
    • 동적 변환 플러그인이 설치되어 있지 않습니다. (40001): com.glide.dynamic_translation 플러그인을 활성화하지 않고 동적 변환 API가 호출되었습니다. 이 플러그인 활성화에 대한 자세한 내용은 동적 변환 개요를 참조하십시오.
    • 번역기("번역기" 필드)가 잘못되었습니다. (40003): 전달된 translator 매개 변수가 문자열이 아닙니다.
    • <번역기> 번역기가 구성되어 있지 않습니다. (40004): 지정된 번역 서비스가 번역기 구성에 구성되어 있지 않습니다. 번역기 구성 작성/수정에 대한 자세한 내용은 번역기 구성 작성을 참조하십시오.
    • <번역기> 번역기가 비활성 상태입니다. (40005): 지정된 번역 서비스가 번역기 구성에서 활성 으로 설정되어 있지 않습니다. 번역기 구성 작성/수정에 대한 자세한 내용은 번역기 구성 작성을 참조하십시오.
    • 추가 매개변수가 잘못되었습니다. (40006): 전달된 추가 매개 변수는 개체가 아닙니다.
    • 최대 시간 제한을 초과했습니다. (40009): 작업이 번역 구성에 지정된 정의된 시간 제한 값보다 오래 걸렸습니다. 기본값: 40초
    • 여러 오류로 요청에 실패했습니다. (40010): 언어 검색 호출에서 여러 오류가 발생했습니다. 자세한 내용은 각 개별 텍스트 문자열에 대한 응답을 참조하세요.
    • 기본 번역기가 탐지하도록 구성되어 있지 않습니다. (40011): 번역기 구성에서 언어 감지를 위해 기본 번역 서비스가 지정되지 않았습니다. 번역기 구성 작성/수정에 대한 자세한 내용은 번역기 구성 작성을 참조하십시오.
    • <번역기> 번역기가 탐지하도록 구성되어 있지 않습니다. (40013): 지정된 번역 서비스가 번역기 구성에서 언어 감지를 위해 구성되지 않았습니다. 번역기 구성 작성/수정에 대한 자세한 내용은 번역기 구성 작성을 참조하십시오.
    • 번역기 구성 버전이 유효하지 않습니다. v3로 마이그레이션합니다. (40014): 지정된 번역 서비스에 대한 번역기 구성의 연결된 버전이 지정된 텍스트 번역 방법을 지원하지 않습니다. 자세한 내용은 번역기 구성의 버전 v3으로 마이그레이션을 참조하세요.
    • 알 수 없는 오류가 발생했습니다. (40051): 오류가 다른 범주에 속하지 않을 때 기본 오류가 발생합니다.
    • 텍스트("텍스트" 필드)가 최대 길이를 초과했습니다. (40052): 번역을 위해 전달된 텍스트가 해당 번역 서비스에서 지원하는 최대 길이를 초과합니다.
    • 자격 증명이 누락되었거나 잘못되어 요청이 인증되지 않음(40055): 연결 및 자격 증명에서 번역 서비스에 대해 구성된 자격 증명이 유효하지 않습니다. 연결 및 자격 증명에 대한 자세한 내용은 동적 변환 개요를 참조하세요.

    이 예제에서는 Microsoft Translation Service를 사용하여 전달된 문자열의 언어로 영어를 검색하는 서버 스크립트의 코드를 보여 줍니다.

    var detectedResponse = sn_dt_api.DynamicTranslation.getDetectedLanguages(["First text string language to detect", "Second text string language to detect"], {"translator": "Microsoft"});
    gs.info(JSON.stringify(detectedResponse));
    

    출력

    {
      "translator":"Microsoft",
      "status":"Success",
      "detections":[
        {
          "isError":false,
          "detectedLanguage":{"name":"en", "code":"en", "confidence":"1"},
          "alternatives":[
            {"name":"id", "code":"id", "confidence":"0.83"},
            {"name":"ms", "code":"ms", "confidence":"0.83"}
          ]
        },
        {
          "isError":false,
          "detectedLanguage":{"name":"en", "code":"en", "confidence":"1"},
          "alternatives":[
            {"name":"fr", "code":"fr", "confidence":"0.83"},
            {"name":"id", "code":"id", "confidence":"0.83"}
          ]
        }
      ]
    }

    이 예제에서는 두 개의 텍스트 문자열이 전달되고 그 중 하나가 잘못된 경우 Partial 상태를 반환하는 서버 스크립트의 코드를 보여 줍니다.

    var detectedResponse = sn_dt_api.DynamicTranslation.getDetectedLanguages(["First text string language to detect", ""], {"translator": "Microsoft"});
    gs.info(JSON.stringify(detectedResponse));

    출력

    {
      "translator":"Microsoft",
      "status":"Partial",
      "detections":[
        {
          "isError":false,
          "detectedLanguage":{"name":"en", "code":"en", "confidence":"1"},
          "alternatives":[
            {"name":"id", "code":"id", "confidence":"0.83"},
            {"name":"ms", "code":"ms", "confidence":"0.83"}
          ]
        },
        {
          "isError":true,
          "code":"40000",
          "message":"Text is missing or invalid"
        }
      ]
    }

    이 예제에서는 잘못된 번역 서비스가 전달될 때 오류를 발생시키는 서버 스크립트의 코드를 보여 줍니다.

    var detectedResponse = sn_dt_api.DynamicTranslation.getDetectedLanguages(["First text string language to detect", "Second text string language to detect"], {"translator": "123"});
    gs.info(JSON.stringify(detectedResponse));

    출력

    {"code":"40003","message":"Translator (\"translator\" field) is invalid","status":"Error"}

    DynamicTranslation - getTranslation(String textToTranslate, Object parms)

    전달된 텍스트를 하나 이상의 언어로 번역합니다.

    이 메서드는 Microsoft Azure Translator Service 및 Google Cloud Translator Service와 같은 번역 서비스를 사용하여 번역을 수행합니다. 변환 매개 변수를 전달하지 않으면 메서드는 시스템 기본값을 사용합니다.

    표 5. 매개변수
    이름 유형 설명
    텍스트번역 문자열 번역할 텍스트입니다.
    객체 옵션입니다. 추가 번역 매개변수를 포함하는 JSON 객체입니다.
    "parms": {
      "additionalParameters": {Object},
      "sourceLanguage": "String",
      "targetLanguages": [Array],
      "translator": "String"
    }
    parms.additionalParameters 배열 옵션입니다. JSON 객체의 배열입니다. 각 개체에는 변환 수행을 위한 추가 정보를 제공하는 키-값 쌍이 포함되어 있습니다.
    "additionalParameters": {
      "parameterName": "String",
      "parameterValue": "String"
    }
    parms.additionalParameters.parameterName 문자열 옵션입니다. 키 이름입니다.

    유효한 값은 다음과 같습니다.

    textype: 번역할 텍스트의 유형. Microsoft Azure Translator Service 전용입니다.

    parms.additionalParameters.parameterValue 문자열 옵션입니다. 연결된 키의 값입니다.

    유효한 값은 다음과 같습니다.

    • plain: 표준 텍스트 문자열
    • html: HTML 텍스트 문자열

    기본값: plain

    parms.sourceLanguage 문자열 옵션입니다. 소스 텍스트의 언어 코드입니다.

    기본값: 번역 서비스가 소스 언어를 검색합니다.

    parms.target언어 배열 옵션입니다. 텍스트를 번역하는 데 사용할 언어 코드 목록입니다. 이 메서드는 각 언어 코드에 대해 번역된 텍스트를 반환합니다.

    기본값: 사용자 기본 설정 언어입니다.

    parms.번역기 문자열 옵션입니다. 텍스트를 번역하기 위해 사용할 번역 서비스입니다(대소문자 구분 없음).

    유효한 값은 다음과 같습니다.

    • Google
    • Microsoft
    • IBM
    • <사용자 지정>
    주:
    사용자 지정 번역 서비스를 사용하려면 먼저 인스턴스에 번역 서비스를 구성해야 합니다. 자세한 내용은 번역 서비스 공급자와 통합을 참조하세요.

    기본: 번역기 구성 [sn_dt_translator_configuration] 테이블에 구성된 번역 서비스.

    표 6. 반환
    유형 설명
    detectedLanguage 탐지된 언어에 대한 설명입니다.

    데이터 유형: 객체

    "detectedLanguage": {
      "code": "String",
      "name": "String"
    }
    detectedLanguage.code 탐지된 언어의 언어 코드

    데이터 유형: 문자열

    detectedLanguage.name 탐지된 언어의 언어 코드

    데이터 유형: 문자열

    번역 언어 번역을 설명하는 객체의 배열입니다.

    데이터 유형: 배열

    translations": [
      {
        "targetLanguage": "String",
        "translatedText": "String"
      }
    ]
    translations.targetLanguage 소스 텍스트가 번역된 언어 코드입니다.

    데이터 유형: 문자열

    translations.translatedText 번역 결과.

    데이터 유형: 문자열

    번역기 언어를 탐지하는 데 사용할 번역 서비스입니다.

    데이터 유형: 문자열

    오류 메시지 다음은 메서드가 반환할 수 있는 오류 메시지와 근본 원인에 대한 표시입니다.
    • 텍스트("텍스트" 필드)가 누락되거나 유효하지 않습니다. (40000): 번역할 텍스트가 누락되었거나 문자열이 아닙니다.
    • 동적 변환 플러그인이 설치되어 있지 않습니다. (40001): com.glide.dynamic_translation 플러그인을 활성화하지 않고 동적 변환 API가 호출되었습니다. 이 플러그인 활성화에 대한 자세한 내용은 동적 변환 개요를 참조하십시오.
    • 기본 번역기가 번역용으로 구성되어 있지 않습니다. (40002): 번역기 구성에서 기본 번역 서비스로 선택된 번역 서비스가 없습니다. 번역기 구성 작성/수정에 대한 자세한 내용은 번역기 구성 작성을 참조하십시오.
    • 번역기("번역기" 필드)가 잘못되었습니다. (40003): 전달된 translator 매개 변수가 문자열이 아닙니다.
    • <번역기> 번역기가 구성되어 있지 않습니다. (40004): 지정된 번역 서비스가 번역기 구성에 구성되어 있지 않습니다. 번역기 구성 작성/수정에 대한 자세한 내용은 번역기 구성 작성을 참조하십시오.
    • <번역기> 번역기가 비활성 상태입니다. (40005): 지정된 번역 서비스가 번역기 구성에서 활성 으로 설정되어 있지 않습니다. 번역기 구성 작성/수정에 대한 자세한 내용은 번역기 구성 작성을 참조하십시오.
    • 추가 매개변수가 잘못되었습니다. (40006): 전달된 추가 매개 변수는 개체가 아닙니다.
    • 잘못된 대상 언어("targetLanguages" 필드)입니다. (40007): targetLanguages 매개 변수가 호출에 전달되었지만 다음 이유 중 하나로 인해 유효하지 않습니다.
      • 값은 배열이 아닙니다.
      • 배열이 비어 있습니다.
      • 항목 중 하나 이상이 문자열이 아닙니다.
    • 잘못된 소스 언어("sourceLanguage" 필드)입니다. (40008): sourceLanguage 매개 변수가 호출에 전달되었지만 값이 String이 아닙니다.
    • 최대 시간 제한을 초과했습니다. (40009): 작업이 번역 구성에 지정된 정의된 시간 제한 값보다 오래 걸렸습니다. 기본값: 40초
    • <번역기> 번역기가 번역용으로 구성되어 있지 않습니다. (40012): 지정된 번역 서비스가 번역기 구성에서 텍스트 번역에 대해 구성되지 않았습니다. 번역기 구성 작성/수정에 대한 자세한 내용은 번역기 구성 작성을 참조하십시오.
    • 알 수 없는 오류가 발생했습니다. (40051): 오류가 다른 범주에 속하지 않을 때 기본 오류가 발생합니다.
    • 텍스트("텍스트" 필드)가 최대 길이를 초과했습니다. (40052): 번역을 위해 전달된 텍스트가 해당 번역 서비스에서 지원하는 최대 길이를 초과합니다.
    • 소스 언어가 잘못되었습니다. (40053): 전달된 매개 sourceLanguage 변수에 해당 번역 서비스에서 지원하지 않는 언어 코드가 포함되어 있습니다.
    • 대상 언어가 잘못되었습니다. (40054): 매개 변수에 전달된 targetLanguages 언어 코드 중 하나 이상이 해당 번역 서비스에서 지원되지 않습니다.
    • 자격 증명이 누락되었거나 잘못되어 요청이 인증되지 않음(40055): 연결 및 자격 증명에서 번역 서비스에 대해 구성된 자격 증명이 유효하지 않습니다. 연결 및 자격 증명에 대한 자세한 내용은 동적 변환 개요를 참조하세요.
    • 텍스트를 대상 언어로 번역할 수 없습니다. (40056): 지정된 번역 서비스에서 전달된 텍스트를 지정된 대상 언어로 번역할 수 없습니다.

    이 예제에서는 Microsoft의 번역 서비스를 사용하여 영어(탐지됨)의 일반 텍스트를 프랑스어 및 이탈리아어로 번역하는 서버 스크립트를 보여 줍니다.

    try {
      gs.info(JSON.stringify(sn_dt_api.DynamicTranslation.getTranslation("Translate this text using platform from server", {
        "targetLanguages": ["fr", "it"],
        "additionalParameters": [{
          "parameterName": "texttype",
          "parameterValue": "plain"
        }],
        "translator": "Microsoft"
      })));
    } catch (error) {
        gs.info(error.message);
    }

    응답:

    {"translations":[
        {
          "targetLanguage":"it",
          "translatedText":"Tradurre questo testo utilizzando la piattaforma dal server"
        },
        {
          "targetLanguage":"fr",
          "translatedText":"Traduire ce texte en utilisant la plate-forme à partir du serveur"
        }
      ],
      "translator":"Microsoft",
      "detectedLanguage":{"code":"en","name":"en"}
    }

    이 예제에서는 잘못된 대상 언어가 전달될 때 오류를 발생시키는 서버 스크립트를 보여 줍니다.

    try {
        gs.info(JSON.stringify(sn_dt_api.DynamicTranslation.getTranslation("Translate this text using platform from server", {
            "targetLanguages": ["123"],
            "additionalParameters": [{
                "parameterName": "texttype",
                "parameterValue": "plain"
            }],
            "translator": "Microsoft"
        })));
    } catch (error) {
        gs.info(error.message);
    }

    응답:

    {"code":"40054","message":"Target language is invalid"}

    DynamicTranslation - getTranslations(텍스트 배열, 객체 매개변수)

    전달된 텍스트 문자열을 하나 이상의 언어로 번역합니다.

    이 메서드는 Microsoft Azure Translator Service 및 Google Cloud Translator Service와 같은 번역 서비스를 사용하여 번역을 수행합니다. 변환 매개 변수를 전달하지 않으면 메서드는 시스템 기본값을 사용합니다.

    표 7. 매개변수
    이름 유형 설명
    텍스트 배열 번역할 텍스트 찌르기 목록입니다.
    객체 옵션입니다. 추가 번역 매개변수를 포함하는 JSON 객체입니다.
    "parms": {
      "additionalParameters": {Object},
      "sourceLanguage": "String",
      "targetLanguages": [Array],
      "translator": "String"
    }
    parms.additionalParameters 객체 옵션입니다. JSON 객체의 배열입니다. 각 개체에는 변환 수행을 위한 추가 정보를 제공하는 키-값 쌍이 포함되어 있습니다.
    "additionalParameters": {
      "parameterName": "String",
      "parameterValue": "String"
    }
    parms.additionalParameters.parameterName 문자열 옵션입니다. 키 이름입니다.

    유효한 값은 다음과 같습니다.

    textype: 번역할 텍스트의 유형. Microsoft Azure Translator Service 전용입니다.

    parms.additionalParameters.parameterValue 문자열 옵션입니다. 연결된 키의 값입니다.

    유효한 값은 다음과 같습니다.

    • plain: 표준 텍스트 문자열
    • html: HTML 텍스트 문자열

    기본값: plain

    parms.sourceLanguage 문자열 옵션입니다. 소스 텍스트의 언어 코드입니다.

    기본값: 번역 서비스가 소스 언어를 검색합니다.

    parms.target언어 배열 옵션입니다. 텍스트를 번역하는 데 사용할 언어 코드 목록입니다. 이 메서드는 각 언어 코드에 대해 번역된 텍스트를 반환합니다.

    기본값: 사용자 기본 설정 언어입니다.

    parms.번역기 문자열 옵션입니다. 텍스트를 번역하기 위해 사용할 번역 서비스입니다(대소문자 구분 없음).

    유효한 값은 다음과 같습니다.

    • Google
    • Microsoft
    • IBM
    • <사용자 지정>
    주:
    사용자 지정 번역 서비스를 사용하려면 먼저 인스턴스에 번역 서비스를 구성해야 합니다. 자세한 내용은 번역 서비스 공급자와 통합을 참조하세요.

    기본: 번역기 구성 [sn_dt_translator_configuration] 테이블에 구성된 번역 서비스.

    표 8. 반환
    유형 설명
    상태 메서드 호출에 대한 응답의 상태입니다.
    가능한 값:
    • 오류
    • 부분
    • 성공

    데이터 유형: 문자열

    번역 언어 번역을 설명하는 객체의 배열입니다.

    데이터 유형: 배열

    translations": [
      {
        "isError": Boolean;
        "detectedLanguage": {Object},
        "textTranslations": [Array]
      }
    ]
    translations.isError 텍스트 번역으로 인해 오류가 발생했는지 여부를 나타내는 플래그입니다.
    유효한 값은 다음과 같습니다.
    • true: 오류가 발생했습니다.
    • false: 텍스트 번역에 성공했습니다.

    데이터 유형: 부울

    translations.detectedLanguage 탐지된 언어에 대한 설명입니다.

    데이터 유형: 객체

    "detectedLanguage": {
      "code": "String",
      "name": "String"
    }
    translations.detectedLanguage.code 탐지된 언어의 언어 코드

    데이터 유형: 문자열

    translations.detectedLanguage.name 탐지된 언어의 언어 코드

    데이터 유형: 문자열

    textTranlations 개체의 배열입니다. 텍스트 문자열을 번역하는 데 사용되는 언어에 대한 설명입니다.
    "textTranslation": {
      "targetLanguage": "String",
      "translatedText": "String"
    }
    textTranslations.targetLanguage 소스 텍스트가 번역된 언어 코드입니다.

    데이터 유형: 문자열

    textTranslations.translatedText 번역 결과.

    데이터 유형: 문자열

    번역기 텍스트를 번역하는 데 사용되는 번역 서비스입니다.

    데이터 유형: 문자열

    오류 메시지 다음은 메서드가 반환할 수 있는 오류 메시지와 근본 원인에 대한 표시입니다.
    • 텍스트("텍스트" 필드)가 누락되거나 유효하지 않습니다. (40000): 번역할 텍스트가 누락되었거나 문자열이 아닙니다.
    • 동적 변환 플러그인이 설치되어 있지 않습니다. (40001): com.glide.dynamic_translation 플러그인을 활성화하지 않고 동적 변환 API가 호출되었습니다. 이 플러그인 활성화에 대한 자세한 내용은 동적 변환 개요를 참조하십시오.
    • 기본 번역기가 번역용으로 구성되어 있지 않습니다. (40002): 번역기 구성에서 기본 번역 서비스로 선택된 번역 서비스가 없습니다. 번역기 구성 작성/수정에 대한 자세한 내용은 번역기 구성 작성을 참조하십시오.
    • 번역기("번역기" 필드)가 잘못되었습니다. (40003): 전달된 translator 매개 변수가 문자열이 아닙니다.
    • <번역기> 번역기가 구성되어 있지 않습니다. (40004): 지정된 번역 서비스가 번역기 구성에 구성되어 있지 않습니다. 번역기 구성 작성/수정에 대한 자세한 내용은 번역기 구성 작성을 참조하십시오.
    • <번역기> 번역기가 비활성 상태입니다. (40005): 지정된 번역 서비스가 번역기 구성에서 활성 으로 설정되어 있지 않습니다. 번역기 구성 작성/수정에 대한 자세한 내용은 번역기 구성 작성을 참조하십시오.
    • 추가 매개변수가 잘못되었습니다. (40006): 전달된 추가 매개 변수는 개체가 아닙니다.
    • 잘못된 대상 언어("targetLanguages" 필드)입니다. (40007): targetLanguages 매개 변수가 호출에 전달되었지만 다음 이유 중 하나로 인해 유효하지 않습니다.
      • 값은 배열이 아닙니다.
      • 배열이 비어 있습니다.
      • 항목 중 하나 이상이 문자열이 아닙니다.
    • 잘못된 소스 언어("sourceLanguage" 필드)입니다. (40008): sourceLanguage 매개 변수가 호출에 전달되었지만 값이 String이 아닙니다.
    • 최대 시간 제한을 초과했습니다. (40009): 작업이 번역 구성에 지정된 정의된 시간 제한 값보다 오래 걸렸습니다. 기본값: 40초
    • 여러 오류로 요청에 실패했습니다. (40010): 언어 검색 호출에서 여러 오류가 발생했습니다. 자세한 내용은 각 개별 텍스트 문자열에 대한 응답을 참조하세요.
    • <번역기> 번역기가 번역용으로 구성되어 있지 않습니다. (40012): 지정된 번역 서비스가 번역기 구성에서 텍스트 번역에 대해 구성되지 않았습니다. 번역기 구성 작성/수정에 대한 자세한 내용은 번역기 구성 작성을 참조하십시오.
    • 번역기 구성 버전이 유효하지 않습니다. v3로 마이그레이션합니다. (40014): 지정된 번역 서비스에 대한 번역기 구성의 연결된 버전이 지정된 텍스트 번역 방법을 지원하지 않습니다. 자세한 내용은 번역기 구성의 버전 v3으로 마이그레이션을 참조하세요.
    • 알 수 없는 오류가 발생했습니다. (40051): 오류가 다른 범주에 속하지 않을 때 기본 오류가 발생합니다.
    • 텍스트("텍스트" 필드)가 최대 길이를 초과했습니다. (40052): 번역을 위해 전달된 텍스트가 해당 번역 서비스에서 지원하는 최대 길이를 초과합니다.
    • 소스 언어가 잘못되었습니다. (40053): 전달된 매개 sourceLanguage 변수에 해당 번역 서비스에서 지원하지 않는 언어 코드가 포함되어 있습니다.
    • 대상 언어가 잘못되었습니다. (40054): 매개 변수에 전달된 targetLanguages 언어 코드 중 하나 이상이 해당 번역 서비스에서 지원되지 않습니다.
    • 자격 증명이 누락되었거나 잘못되어 요청이 인증되지 않음(40055): 연결 및 자격 증명에서 번역 서비스에 대해 구성된 자격 증명이 유효하지 않습니다. 연결 및 자격 증명에 대한 자세한 내용은 동적 변환 개요를 참조하세요.
    • 텍스트를 대상 언어로 번역할 수 없습니다. (40056): 지정된 번역 서비스에서 전달된 텍스트를 지정된 대상 언어로 번역할 수 없습니다.

    이 예제에서는 Microsoft Translation Service를 사용하여 텍스트 문자열 목록을 프랑스어 및 이탈리아어로 번역하는 서버 쪽 스크립트의 코드를 보여 줍니다.

    try {
      gs.info(JSON.stringify(sn_dt_api.DynamicTranslation.getTranslations(["Translate first text using platform from server", "Translate second text using platform from server"], {
        "targetLanguages": ["fr", "it"],
        "additionalParameters": [{"parameterName": "texttype", "parameterValue": "plain"}],
        "translator": "Microsoft"
      })));
    } catch (error) {
        gs.error(error.message);
    }

    응답:

    {
      "translations":[
        {
          "isError":false,
          "textTranslations":[
            {
              "targetLanguage":"it",
              "translatedText":"Traduci il primo testo utilizzando la piattaforma dal server"
            },
            {
              "targetLanguage":"fr",
              "translatedText":"Traduire le premier texte à l'aide de la plate-forme à partir du serveur"
            }
          ],
          "detectedLanguage": {"name":"en", "code":"en"}
        },
        {
          "isError":false,
          "textTranslations":[
            {
              "targetLanguage":"it",
              "translatedText":"Traduci il secondo testo utilizzando la piattaforma dal server"
            },
            {
              "targetLanguage":"fr",
              "translatedText":"Traduire le deuxième texte à l'aide de la plate-forme à partir du serveur"
            }
          ],
          "detectedLanguage": {"name":"en", "code":"en"}
        }
      ],
      "translator":"Microsoft",
      "status":"Success"
    }

    이 예제에서는 텍스트 문자열에 전달된 두 문자열 중 하나가 잘못되었을 때 Partial 상태를 반환하는 서버 스크립트를 보여 줍니다.

    try {
      gs.info(JSON.stringify(sn_dt_api.DynamicTranslation.getTranslations(["Translate first text using platform from server", ""], {
        "targetLanguages": ["fr", "it"],
        "additionalParameters": [{"parameterName": "texttype", "parameterValue": "plain"}],
        "translator": "Microsoft"
      })));
    } catch (error) {
        gs.error(error.message);
    }

    응답:

    {
      "translations":[
        {
          "isError":false,
          "textTranslations":[
            {
              "targetLanguage":"it",
              "translatedText":"Traduci il primo testo utilizzando la piattaforma dal server"
            },
            {
              "targetLanguage":"fr",
              "translatedText":"Traduire le premier texte à l'aide de la plate-forme à partir du serveur"
            }
          ],
          "detectedLanguage":{"name":"en", "code":"en"}
        },
        {
          "isError":true,
          "code":"40000",
          "message":"Text is missing or invalid"
        }
      ],
      "translator":"Microsoft",
      "status":"Partial"
    }

    이 예제에서는 잘못된 번역 서비스가 전달될 때 오류를 발생시키는 서버 스크립트를 보여 줍니다.

    try {
      gs.info(JSON.stringify(sn_dt_api.DynamicTranslation.getTranslations(["Translate first text using platform from server", "Translate second text using platform from server"], {
        "targetLanguages": ["fr", "it"],
        "additionalParameters": [{"parameterName": "texttype", "parameterValue": "plain"}],
        "translator": 123
      })));
    } catch (error) {
        gs.error(error.message);
    }

    응답:

    {"code":"40003","message":"Translator (\"translator\" field) is invalid","status":"Error"}

    DynamicTranslation - isEnabled(문자열 번역기)

    DynamicTranslation API의 다양한 메서드를 번역 서비스에 사용할 수 있는지 여부를 결정합니다.

    특정 번역 서비스를 전달하면 메서드는 해당 번역 서비스에 대한 메서드 활성화를 확인합니다. 그렇지 않으면 메서드가 기본 번역 서비스를 확인합니다.

    표 9. 매개변수
    이름 유형 설명
    번역기 문자열 옵션입니다. 메서드가 활성 상태인지 확인하는 데 사용할 번역 서비스입니다. 번역 서비스는 번역기 구성 메뉴에서 구성합니다.

    가능한 값 - 대/소문자를 구분하지 않음:

    • Google
    • Microsoft
    • IBM
    • <사용자 지정>
    주:
    사용자 지정 번역 서비스를 사용하려면 먼저 인스턴스에 번역 서비스를 구성해야 합니다. 자세한 내용은 번역 서비스 공급자와 통합을 참조하세요.

    기본값: 기본 번역 서비스.

    표 10. 반환
    유형 설명
    배치 탐지 getDetectedLanguage() 메서드가 사용되어 있는지 여부를 나타내는 플래그입니다.
    가능한 값:
    • true: 사용
    • false: 비활성화됨

    데이터 유형: 부울

    배치번역 getTranslations() 메서드를 사용할 수 있는지 여부를 나타내는 플래그입니다.
    가능한 값:
    • true: 사용
    • false: 비활성화됨

    데이터 유형: 부울

    탐지 getDetectedLanguage() 메서드가 활성화되어 있는지 여부를 나타내는 플래그입니다.
    가능한 값:
    • true: 사용
    • false: 비활성화됨

    데이터 유형: 부울

    번역 getTranslation() 메서드를 사용할 수 있는지 여부를 나타내는 플래그입니다.
    가능한 값:
    • true: 사용
    • false: 비활성화됨

    데이터 유형: 부울

    오류 메시지 다음은 API가 반환할 수 있는 오류 메시지와 근본 원인에 대한 표시입니다.
    • 번역기("번역기" 필드)가 잘못되었습니다. (40003): 전달된 translator 매개 변수가 문자열이 아닙니다.

    이 예제에서는 Microsoft Translator에 대해 DynamicTranslation 메서드가 활성 상태인지 여부를 확인하는 서버 스크립트를 보여 줍니다.

    try {
      var response = sn_dt_api.DynamicTranslation.isEnabled('Microsoft');
      gs.info(JSON.stringify(response));
    } catch(error) {
        gs.info(error.message);
    }

    출력:

    {"detection":true,"batchTranslation":true,"batchDetection":true,"translation":true}

    이 예제에서는 잘못된 번역 서비스가 전달될 때 오류를 발생시키는 서버 스크립트를 보여 줍니다.

    try {
      var response = sn_dt_api.DynamicTranslation.isEnabled(123);
      gs.info(JSON.stringify(response));
    } catch(error) {
        gs.info(error.message);
    }

    출력:

    {"code":"40003","message":"Translator (\"translator\" field) is invalid"}