모범 사례: 다양한 언어 및 국가에 맞게 코딩

  • 텍스트 문자열을 별도의 리소스 파일에 저장하고 고유한 식별자를 사용하여 적절한 리소스를 활용합니다. StringProvider와 같은 유틸리티 클래스를 사용하여 길이가 변할 수 있는 텍스트(예: 영문 텍스트에 할당된 공간에 맞지 않는 번역 텍스트)에 자리 표시자를 제공하는 것을 고려하십시오. 레이블 및 기타 짧은 텍스트 문자열의 경우 텍스트는 200%까지 확장될 수 있습니다. 긴 텍스트(70자 초과)의 경우 40% 확장을 준비합니다. 텍스트를 할당된 가로 공간에 맞추거나 다음 줄로 이어지도록 하십시오.
  • 부분 문자열을 연결하여 한 문장을 만들지 않도록 합니다. 번역될 경우 문자열이 논리적 문장을 생성하지 못할 수 있습니다. 예를 들어, displayName + "is away"를 사용하지 않도록 합니다. 대신 해당 문장을 나타내는 새 문자열을 만들어야 합니다.
  • 문자열에 변수를 사용하는 경우 변수에 의미 있는 이름을 사용하십시오. 예를 들어, "instance %1 of %2" 대신 "instance <application 1> of <server2>"를 사용합니다. 의미 있는 이름은 번역자에게 컨텍스트를 제공해 줍니다.
  • 변수가 여러 값을 가지는 경우 번역자에게 가능한 값 목록을 제공하십시오. 예를 들어, 번역자가 값이 단수인지 복수인지 그리고 남성인지 여성인지 알 수 있다면 번역 정확도가 올라갑니다.
  • 문장의 일부가 링크로 바뀌지 않도록 하십시오. 번역 시 링크의 단어는 문법적으로 잘못된 순서로 나타날 수 있습니다. 예를 들어, "Click on <link> for more information" 대신 "For more information, click the following link: <link>"를 사용하십시오.
  • 사용 상황이 다른 경우 일반 문자열을 사용하지 않도록 합니다. 상황에 따라, 어떤 단어는 다르게 번역해야 할 수 있습니다.
  • 공백, 구두점 표시 및 단어를 하드 코딩하지 않도록 합니다. 대신 이 항목을 번역 가능한 문자열에 포함하도록 합니다. 이 접근 방식을 통해 번역자는 각 언어의 규칙에 따라 변경할 수 있습니다.
  • 평일과 주말을 비롯한 문자열을 하드 코딩하지 않도록 합니다. 한 주의 시작이 각 로캘의 규칙에 맞는지 확인하십시오.

숫자 지침

  • 단수와 복수 명사를 언어별 기준으로 정렬합니다. 일부 언어의 경우 명사가 단수와 복수에 대해 하나의 형식이거나, 단수와 복수에 대해 다른 형식이거나(예: "1 day"와 "2 days"), 항목의 수에 따라 여러 형식을 가질 수 있습니다(예: one item, two items, a few items 및 many items).
  • 숫자 구분자를 하드 코딩하지 않도록 합니다. 예를 들어, 미국 영어에서는 1,234.56으로 표기되지만 프랑스어에서는 1 234,56으로 표기됩니다.
  • 구분자 사이의 숫자를 하드 코딩하지 않도록 합니다. 예를 들어, 미국에서는 123,456,789.00으로 표기되지만 인도에서는 12,34,56,789.00으로 표기됩니다.
  • 음수 표시를 하드 코딩하지 않도록 합니다. 예를 들어, 음수는 -123, 123-, (123) 또는 [123]으로 표시될 수 있습니다.
  • 통화 옵션을 제공합니다. 예를 들어, 통화는 $12.34, 12,34€ 또는 12€34로 표시될 수 있습니다. 또한 일부 통화 기호에는 공백이 더 필요합니다.
  • 숫자, 측정 단위, 날짜 및 시간 형식이 사용자의 로캘을 반영하는지 확인합니다.

오른쪽에서 왼쪽으로 쓰는 언어 및 아시아 언어에 대한 지침

  • 아랍어와 태국어 같은 언어에 대해서는 글꼴 크기를 고려하십시오. 이들 언어는 분음 기호를 사용하므로 수직 공간이 더 많이 필요합니다. 분음 기호는 문자보다는 작지만 글꼴 크기가 작은 경우 명확하게 나타나지 않을 수 있습니다. 태국어는 중첩형 분음 기호를 사용하고 있어 문자열의 세로 폭이 증가되고 글꼴 크기의 픽셀 높이가 초과될 수 있습니다.
  • FIELD_LEADINGFIELD_TRAILING을 사용하여 언어 방향을 기준으로 화면의 적절한 쪽에 구성요소를 정렬할 수 있습니다. 예를 들어, 영어에서 선행 구성요소는 화면의 왼쪽 측면에 정렬됩니다. 아랍어에서 선행 구성요소는 화면의 오른쪽 측면에 정렬됩니다.
  • 구성요소 너비를 결정할 때, USE_TEXT_WIDTH 대신 USE_ALL_WIDTH를 사용하여 화면의 오른쪽에 구성요소가 정렬되도록 합니다.
    그림 1. 영어의 정렬 예
    이 화면에는 무선 서비스 공급자 테마의 예가 표시됩니다.
    그림 2. 아랍어의 정렬 예
    이 화면에는 아랍어의 텍스트 정렬 예가 표시됩니다.


이 정보가 도움이 되었습니까? 의견을 보내 주십시오.