이 페이지가 유용했습니까?
이 콘텐츠에 대한 여러분의 의견은 중요합니다. 의견을 알려주십시오.
추가 의견
1500자 남음
내보내기(0) 인쇄
모두 확장
정보
요청한 주제가 아래에 표시됩니다. 그러나 이 주제는 이 라이브러리에 포함되지 않습니다.

Windows Phone 8의 지역화 모범 사례

2014-06-18

적용 대상: Windows Phone 8 및 Windows Phone Silverlight 8.1 | Windows Phone OS 7.1

 

쉽게 지역화할 수 있는 앱을 빌드하려면 다음과 같은 모범 사례를 고려하세요. 일반적인 전역화 및 지역화 개념에 대한 자세한 내용은 Windows Phone 8의 세계화 및 지역화를 참조하세요.

이 항목에는 다음 단원이 포함되어 있습니다.

 

코드에 포함된 문자열, 이미지, 동영상 등의 리소스를 분리하세요. 별도의 리소스 전용 파일로 이동시킵니다. 이렇게 하면 코드가 언어로부터 독립되며 다양한 언어 인코딩을 지원할 수 있습니다. 기본 설정 솔루션은 유니코드입니다. 별도의 리소스 파일을 만드는 방법에 대한 Windows Phone 8의 지역화된 앱을 빌드하는 방법를 참조하세요.

팁팁:

Visual Studio Professional 2012 및 Visual Studio Express 2012 for Windows Phone 에 통합되어 있는 다국어 앱 도구 키트는 번역 지원 및 번역 파일 관리 도구와, Windows Phone 앱 및 Windows 스토어 앱을 만들 수 있는 지역화 도구를 제공합니다. 이 도구 키트를 사용하여 빠른 번역 제안을 제공하는 Microsoft Translator에 연결할 수 있습니다. 자세한 내용은 다국어 앱 도구 키트를 사용하는 방법을 참조하세요.

지역화해야 하는 정확한 문자열만 포함하세요. 예를 들어, 지역화할 수 있는 문법에 태그는 포함하지 마세요. 다음 예제를 살펴보세요.

과도하게 지역화된 문자열

적절하게 지역화된 문자열

<link>사용 약관</link>

사용 약관

<link>개인 정보 보호 정책</link>

개인 정보 보호 정책

앞의 예제에서, 리소스에 <link> 태그를 포함하면 이 태그 역시 지역화되어서 태그가 잘못 렌더링됩니다. 문자열만 지역화하세요.

모바일 단말기에는 UI용의 제한된 공간이 있습니다. Windows Phones에서 지역화된 언어를 포함하려면 문자열 길이를 영어 문자열을 표시하는 데 필요한 공간보다 약 40% 더 길게 사용하세요. 또한 컨트롤에서 텍스트 줄 바꿈과 여러 줄 지원 기능을 사용하도록 설정하면 각 문자열을 표시할 공간이 늘어납니다.

"The {0} could not be synchronized"라는 문장을 살펴보겠습니다. {0}을 “appointment”, “task” 또는 “document”와 같은 다양한 단어로 바꿀 수 있습니다. 이 예제 문장은 영어에서는 제대로 표시되지만 독일어와 같은 다른 언어의 해당 문장에서는 올바르게 표시되지 않습니다.

영어(미국)

독일어(독일)

The appointment could not be synchronized.

Der Termin konnte nicht synchronisiert werden.

The task could not be synchronized.

Der Aufgabe konnte nicht synchronisiert werden.

The document could not be synchronized.

Der Document konnte nicht synchronisiert werden.

다른 예제로 "Remind me in {0} minute(s)"라는 문장을 살펴보겠습니다. 이 문장의 경우 영어에서는 "minute(s)"가 사용되지만 다른 언어에서는 다른 용어가 사용될 수 있습니다. 예를 들어 폴란드어에서는 컨텍스트에 따라 "minuta", "minuty" 또는 "minut"가 사용될 수 있습니다.

이 문제를 해결하려면 한 단어가 아닌 전체 문장을 지역화합니다. 이것은 작업을 추가로 수행해야 할 것 같아 번거로울 수 있지만 다음과 같은 이유를 고려하면 이 방법이 가장 효율적입니다.

  • 모든 언어에 명확한 오류 메시지가 표시됩니다.

  • 지역화 담당자가 문자열을 대체할 내용에 대해 불안해 하지 않을 것입니다.

  • 앱을 완성한 후 이런 문제가 발생할 경우 비용이 많이 드는 코드 수정 작업을 할 필요가 없습니다.

모든 언어가 동일한 순서로 매개 변수를 사용한다고 가정하지 마세요.

예를 들어 "Every %s %s"라는 문자열에서 첫 번째 %s는 월 이름으로, 두 번째 %s는 그 달의 특정 날짜로 바뀐다고 가정해 보겠습니다. 영어에서는 이 예제가 올바르게 표시되지만 독일어의 경우 날짜와 월이 반대 순서로 표시됩니다. 이 문제를 해결하려면 언어에 따라 매개 변수의 순서를 변경할 수 있도록 문자열을 "Every %1 %2"로 변경합니다.

문자열을 다시 사용하는 것이 매우 효율적이라고 생각될 수도 있지만, 이를 다시 사용하면 문자열 컨텍스트가 변경되는 경우 지역화 문제가 발생할 수 있습니다.

"on"과 "off" 문자열의 경우를 예로 들어 보겠습니다. 영어에서는 비행기 모드, Bluetooth 및 단말기 설정/해제 스위치 컨텍스트에서 이러한 문자열을 사용할 수 있지만 이탈리아어에서는 "on"과 "off"의 번역이 켜고 끄는 항목의 컨텍스트에 따라 달라집니다. 이 예에서는 각 컨텍스트에 대한 문자열 쌍을 만들어야 합니다.

또한 "text"나 "fax" 등의 문자열은 영어에서 동사와 명사로 모두 사용될 수 있으므로 번역 과정에서 혼선이 빚어질 수 있습니다. 대신 동사 형식과 명사 형식에 모두 문자열을 별도로 만듭니다.

리소스를 디자인할 때는 각 리소스를 ID, 이름 등의 고유한 값으로 구별하세요. 그러면 언어에 따라 변경되는 실제 리소스 값이 아닌, 변경되지 않는 고유 값만 사용하여 리소스에 액세스할 수 있습니다.

문자열은 리소스 파일로 분리한 후에 번역할 수 있습니다. 문자열을 번역하기에 적절한 시기는 개발 프로세스의 문자열이 완성된 후(일반적으로 프로젝트 종료 시)입니다.

번역할 문자열의 양, 번역할 언어의 수, 번역 방법(내부 번역 또는 외부 공급업체 고용) 등에 따라 번역 프로세스에 접근할 수 있는 방법이 몇 가지 있습니다. 다음과 같은 옵션을 고려하세요.

  • 리소스 파일을 Visual Studio 프로젝트에서 직접 열어서 번역할 수 있습니다. 이 방식은 문자열의 양이 적고 2~3개 국어로 번역해야 하는 프로젝트에 적합합니다. 개발자가 2개 국어 이상의 언어를 사용하고 번역 프로세스를 직접 착수하려는 시나리오에도 이 방식이 적합할 수 있습니다. 이 방식은 빠르게 수행할 수 있고 도구가 필요하지 않으며 오역의 위험을 최소화할 수 있다는 장점은 있지만, 확장할 수는 없습니다.

  • 리소스 파일은 XML 형식이므로 텍스트 편집기를 사용하는 번역 프로세스에 전달할 수 있습니다. 그런 다음 번역된 파일을 프로젝트에 다시 복사합니다. 이 방식을 사용하면 번역자가 XML 태그를 실수로 편집할 가능성이 있기는 하지만, Visual Studio 프로젝트 외부에서 번역 작업을 수행할 수 있습니다. 또한 소수의 언어로만 번역하면 되는 프로젝트에 이 방식이 적합할 수 있습니다.

다음과 같은 제안 사항을 일부 또는 전부 구현하는 것도 검토해 보세요.

  • 지역화 도구를 사용합니다. 리소스 파일을 구문 분석하고 번역자가 번역 가능한 문자열만 편집할 수 있도록 해주는 다양한 지역화 도구를 사용할 수 있습니다. 이 방식을 사용하면 번역자가 XML 태그를 실수로 편집할 위험을 줄일 수는 있지만, 지역화 프로세스에 새 도구와 프로세스를 도입해야 한다는 단점이 있습니다. 번역할 문자열의 양은 많은 반면 지역화되는 언어 수는 적은 프로젝트에서 지역화 도구를 사용하면 유용합니다.

  • 지역화 공급업체를 활용합니다. 프로젝트에 문자열의 수가 많고 번역을 여러 언어로 진행해야 하는 경우 지역화 공급업체에 번역을 의뢰할 수 있습니다. 지역화 공급업체는 리소스 파일 번역 이외에 도구와 프로세스에 대한 조언도 제공할 수 있습니다. 공급업체를 활용하는 방법이 이상적인 솔루션이기는 하지만 가장 비용이 많이 드는 옵션이기도 하며, 번역된 콘텐츠를 받을 때까지 걸리는 시간이 길어질 수 있습니다.

  • 지역화 담당자에게 필요한 정보를 지속적으로 제공합니다. 예를 들어 문자열 지역화 담당자에게 명사나 동사로 사용할 수 있는 문자열을 알려 주고, 용어 도구를 사용하여 담당자에게 일반적이지 않은 전문 용어 및 기술 용어에 대해 설명합니다. 혼란을 방지하려면 문자열을 문법에 맞고 모호하지 않고, 최대한 일반적인 용어를 사용하세요.

Microsoft는 MSDN 웹 사이트에 대한 귀하의 의견을 이해하기 위해 온라인 설문 조사를 진행하고 있습니다. 참여하도록 선택하시면 MSDN 웹 사이트에서 나가실 때 온라인 설문 조사가 표시됩니다.

참여하시겠습니까?
표시:
© 2015 Microsoft