표시 가능 텍스트에 대한 특성 파일 사용

Rich UI를 사용하면 런타임 시 사용되는 외부 파일에 표시 가능 텍스트를 정의할 수 있습니다. 다음은 이러한 방식으로 텍스트를 정의하는 특정한 이유입니다.
  • 실패한 입력 유효성 검증이나 입력 또는 출력의 올바르지 않은 형식화에 기본적으로 사용 가능한 런타임 메시지를 대체합니다.
  • Rich UI 애플리케이션에서 텍스트를 하드 코딩하지 않고 해당 텍스트를 위젯에 지정합니다.
  • 코드를 폭넓게 사용할 수 있도록 텍스트를 하나 이상의 다른 언어로 표시합니다.

유효성 검증 또는 형식화 메시지 대체

유효성 검증 또는 형식화 메시지를 대체하려는 경우 다음과 같이 수행하십시오.
  • Rich UI 유효성 검증 및 형식화에서 설명된 제어기 메커니즘을 사용하는지 확인하십시오.
  • RUIProperties 스테레오타입의 라이브러리 파트인 Rich UI 특성 라이브러리를 작성하십시오(RUIPropertiesLibrary 스테레오타입 참조). 뒤에 나오는 예에서 라이브러리 이름은 myLibrary이고 라이브러리에 entryForInputRequiredentryForOthers라는 문자열에 대한 선언이 포함됩니다. 해당 변수 이름은 대소문자를 구분합니다.
  • Rich UI 핸들러 또는 다른 코드에 있는 파트 정의 또는 변수 선언에서 다른 유효성 검증 및 형식화 특성과 함께 validationPropertiesLibrary 특성을 지정하십시오. 다음은 선언 예입니다.
    name STRING {inputRequired = yes,
                 lowercase = yes,
                 inputRequiredMsgKey = "entryForInputRequired",
                 typeChkMsgKey = "entryForOthers",
                 validationPropertiesLibrary=myLibrary };

    validationPropertiesLibrary 특성은 유효성 검증 및 형식화 메시지를 대체하는 경우에만 사용됩니다.

  • 특성 파일을 설정하고 MsgKey 특성 값과 일치하는 이름을 가진 항목(이름-값 쌍)을 포함시키십시오. 현재 예에서 특성 파일에는 다음 항목이 포함되어 있습니다.
    entryForInputRequired=You must specify a value
    entryForOthers=Your input is incorrect
    someText=Not mentioned

    특성 파일은 텍스트 파일입니다. 항목 이름은 대소문자를 구분하며, Rich UI 특성 라이브러리의 문자열 선언과 일치하는 경우에만 유용합니다.

다음은 현재 예에 대한 영향입니다.
  • 런타임 시 입력 필수 오류로 인해 "값을 지정해야 합니다"라는 메시지가 표시되며, 이는 entryForInputRequired 이름으로 식별됩니다.
  • 런타임 시 대문자 입력으로 인해 "입력이 올바르지 않습니다"라는 메시지가 표시됩니다. 이 결과는 여러 오류에 대한 응답에서 typeChkMsgKey 특성 값이 사용되기 때문에 발생합니다. 이 경우 소문자 특성에서 허용되지 않는 사용자 입력(대문자)에 대한 응답에 사용됩니다.
다음은 이전에 설명된 동작을 설명하는 규칙입니다.
  • 주어진 데이터 필드에서 다음 각 특성과 연관된 기본 메시지를 대체할 수 있습니다.
    • inputRequired
    • minimumInput
    • validValues

    대체할 때 다음 세 "MsgKey" 특성 중 하나가 필요합니다. inputRequiredMsgKey, minimumInputMsgKey 및 validValuesMsgKey.

  • 또한 주어진 데이터 필드에서 다음 특성과 관련된 오류에 대한 단일 대체를 지정할 수 있습니다.
    • currency
    • currencySymbol
    • dateFormat
    • fillCharacter
    • isBoolean
    • isDecimalDigit
    • isHexDigit
    • lowercase
    • numericSeparator
    • sign
    • timeFormat
    • timestampFormat
    • uppercase
    • zeroFormat

    해당 단일 대체는 typeChkMsgKey를 필요로 합니다.

위젯에 텍스트 지정

외부 파일로부터 텍스트를 표시하기 위한 Rich UI 메커니즘은 텍스트 용도에 상관 없이 항상 Rich UI 특성 라이브러리를 필요로 합니다. 기본 메시지 대체 이외의 이유로 외부 파일을 사용할 때마다 다음 명령문이 적용됩니다.
  • EGL 라이브러리 액세스를 위한 규칙이 적용됩니다. 예를 들어 Rich UI 특성 라이브러리 myLibrarymyButton 단추가 있다고 가정하십시오. 다음은 애플리케이션의 단추에 텍스트(이 예에서는 "언급되지 않음" 문자열)를 지정하는 한 방법입니다.
    myButton.text = myLibrary.someText;

    또는 텍스트 지정에서 라이브러리 이름을 참조할 필요가 없는 경우에 use 문에서 myLibrary를 참조할 수 있습니다.

  • 내재 라이브러리 함수 getMessage를 호출하여 특성-파일 항목에 삽입을 제공할 수 있습니다.

또한 라이브러리 함수 getMessage를 사용하여 사용자 코드 내의 문자열에 삽입을 제공할 수 있습니다. 삽입 사용에 대한 세부사항은 RUIPropertiesLibrary 스테레오타입을 참조하십시오.

하나 이상의 언어로 텍스트 표시

표시 가능한 값은 이름에 루트가 포함된 특성 파일(예: myLibrary)에서 오고 이 값에는 언어를 식별하는 코드인 locale이 포함됩니다. 예를 들어 en은 영어를 나타내는 로케일이고 파일 이름 myLibrary-en은 영어 텍스트를 제공하는 특성 파일을 참조합니다.

각 파일 이름에는 루트 이름과 확장자 .properties가 있습니다. 로케일은 루트 이름의 끝과 확장자 앞에 표시됩니다. 로케일은 1 - 3개의 ID로 구성되며, 첫 번째는 하이픈으로 시작하고 나머지(있는 경우)는 밑줄로 시작됩니다. 첫 번째 뒤에 각 추가 ID를 사용하면 특정한 언어를 표시할 수 있습니다. 특히 언어의 방언, 다양성 또는 지리적 위치를 지정할 수 있습니다.

이 ID는 언어 코드, 국가 코드 및 변형 코드입니다.
  • 언어 코드 중에서 영어는 en이고 스페인어는 es입니다. 일반적으로 언어 코드는 ISO(International Organization for Standardization) 표준 ISO-639를 준수합니다.
  • 국가 코드는 해당 언어의 방언이 사용되는 국가를 표시합니다. 예를 들어, 국가 코드 US는 미국을, GB는 영국을 표시합니다. 이러한 방식으로 미국 영어 파일의 이름은 myLibrary-en_US.properties이고, 반면 영국 영어 특성 파일의 이름은 myLibrary-en_GB.properties입니다. 일반적으로 국가 코드는 ISO 표준 ISO-3166을 준수합니다.
  • 변형 코드는 특성 파일에서 언어의 특정한 방언과 다양성을 정의합니다. 예를 들어, 변형 코드 A와 B를 사용하여 노르웨이에서 사용되는 두 개의 서로 다른 노르웨이어 변형을 구분할 수 있습니다. 이러한 두 파일은 myLibrary-no_NO_A.propertiesmyLibrary-no_NO_B.properties입니다. 또는 로케일 no_NO로 표준 유형의 노르웨이어를 정의하고 no_NO_B로 변형 노르웨이어를 정의할 수 있습니다. 변형 코드는 공급업체나 브라우저에 특정합니다.

HTML 파일 및 관련 특성 파일 배치

주어진 Rich UI 애플리케이션에 몇 개의 HTML 파일을 배치할 수 있는데, 지원하는 각 언어에 하나의 파일을 배치합니다. 사용자는 이름을 기준으로 HTML 파일을 호출하여(사용자가 제공한 하이퍼텍스트 링크를 클릭한 결과일 수 있음) 특정 로케일에 대한 HTML 파일을 요청합니다. 예를 들어 다음은 독일어 버전이 배치된 경우 www.example.com에서 독일어 버전의 MyApplication.html을 호출하는 HTML입니다.
   <a href="www.example.com/MyApplication-de.html">German version</a>

사용자 프로젝트의 WebContent/properties 폴더에 특성 파일을 저장합니다. 특성 파일 이름의 루트(예: myLibrary)는 Rich UI 특성 라이브러리의 propertiesFile 특성에 지정된 이름이어야 합니다.

EGL 배치자는 이 HTML 파일이 애플리케이션에서 참조되는 각 Rich UI 특성 라이브러리에 대한 특성 파일을 식별하는지 확인합니다. 다음 규칙은 주어진 언어에 대한 파일 이름을 판별하는 방법을 나타냅니다.
  • 사용 가능한 파일 이름이 로케일과 일치하는 경우 해당 파일 이름이 참조됩니다.
  • 그렇지 않으면 EGL 배치자가 가능한 가장 유사한 이름을 가진 파일을 참조합니다. 예를 들어 필요한 로케일이 no_NO_B지만 노르웨이어에서 유일하게 사용 가능한 파일 이름이 myLibrary-no_NO.properties인 경우 사용 가능한 파일 이름이 참조됩니다. 또한 노르웨이어 특성 파일을 사용할 수 없는 경우 기본 특성 파일의 이름이 참조됩니다. 기본 파일 이름에는 로케일이 없습니다(예: myLibrary.properties).

주어진 Rich UI 특성 라이브러리에 사용 가능한 특성 파일이 없는 경우 배치가 실패합니다. 실패하지 않도록 각 라이브러리에 대한 기본 특성 파일을 포함시키려고 할 수 있습니다.

EGL 배치 디스크립터 편집기에 대한 작업

EGL 배치 디스크립터 편집기의 Rich UI 배치 탭에서 작업하여 애플리케이션 서버에서 설치할 Rich UI 애플리케이션을 준비합니다. 해당 탭에 지정된 로케일은 항목을 추가하거나 제거할 수 있는 Rich UI 환경 설정에서 파생됩니다.
  • 일반적으로 Rich UI에서 사용 가능한 로케일의 항목을 추가하거나 제거할 수 있습니다(예: 미국 영어의 경우 en_US). 배치 디스크립터에서 이러한 로케일을 선택할 때마다 배치되는 결과에 다음 애플리케이션 컴포넌트를 포함시킵니다.
    • 사용자가 제공하는 로케일 특정 특성 파일(있는 경우).
    • 로케일 특정 런타임 메시지. 이는 EGL 런타임 코드에서 자동으로 핸들링하는 상황에 대한 응답으로 표시되는 시스템 메시지입니다.
  • 새 로케일을 나타내는 항목을 추가하거나 제거할 수 있습니다. 각 새 로케일은 한 용도로만 사용 가능합니다. 이는 사용자가 제공하는 로케일 특정 특성 파일을 포함시키는 경우입니다. 그러나 로케일을 정의할 때 일반적으로 Rich UI에서 사용 가능한 로케일을 지정해야 합니다. 일반적으로 사용 가능한 로케일은 한 용도로만 사용됩니다. 이는 런타임 시 특정한 로케일에 대한 EGL 시스템 메시지를 사용할 수 있는지 확인하는 경우입니다.