다국어 앱 도구 키트 FAQ 및 문제 해결 지침

[ 이 문서는 Windows 런타임 앱을 작성하는 Windows 8.x 및 Windows Phone 8.x 개발자를 대상으로 합니다. Windows 10용으로 개발하는 경우에는 최신 설명서를 참조하세요.]

설치

시스템 요구 사항

지원되는 운영 체제: Windows 8(RTM 이상, 32비트 또는 64비트 버전).

필수 소프트웨어: Microsoft Visual Studio.

디스크 용량 요구 사항: 10MB(32비트), 10MB (64비트)

도구 키트에서 지원되는 프로그래밍 언어는 무엇입니까?

도구 키트는 WinRT(Windows 런타임) 환경을 사용하는 모든 Windows 앱 개발을 지원합니다. 여기에는 .resw(XAML) 및 .resjson(JavaScript) 파일이 둘 다 포함되지만 이 문서의 나머지 부분에서는 .resjson 파일만 관련이 있습니다.

다국어 앱 도구 키트 사용

.resjson 파일을 여러 언어로 준비해야 합니까?

아니요. 도구 키트의 주요 이점 중 한 가지는 여러 언어로 된 .resjson 파일이 필요하지 않다는 것입니다. 도구 키트는 프로젝트의 .xlf 파일을 사용하여 앱의 리소스를 관리하고 동기화합니다. 이를 통해 여러 .resjson 파일 간에 콘텐츠를 동기화하는 것과 관련된 과제를 해소합니다.

일치하는 .resjson 파일과 .xlf 파일이 프로젝트에 포함되어 있으면 .xlf 파일로부터의 변환이 무시됩니다. 이러한 상황이 발생할 경우 .xlf 변환이 최종 앱에 포함되지 않음을 알리는 경고가 빌드하는 동안 표시됩니다. .resjson 파일과 .xlf 파일은 대상 언어의 언어 코드가 동일할 경우 일치합니다. 일치 쌍의 예제는 대상 언어 특성이 "de-DE"로 설정된 German (Germany).xlf와 strings\de-DE\resources.resjson입니다.

.resjson 파일을 여러 언어로 프로젝트에 포함할 수 있습니까?

예. 가능하지만 그렇게 하지 않는 것이 좋습니다. .resjson 파일을 여러 언어로 프로젝트에 포함하고 도구 키트를 사용하기 위해서는 일치하는 .resjson 파일과 .xlf 파일이 없어야 합니다.

도구 메뉴에 다국어 앱 도구 키트를 사용하기 위한 옵션이 없습니다.

다음 단계를 따르세요.

  1. 도구를 선택하기 전에 솔루션이 아닌 프로젝트 이름을 선택했는지 확인합니다.
  2. 확장 관리자를 사용하여 도구 확장을 설치했는지 확인합니다.
  3. 프로젝트가 Windows 스토어 앱 프로젝트인지 확인합니다.

프로젝트를 빌드할 때 다국어 앱 도구 키트 빌드가 시작되지 않습니다.

도구 메뉴에서 다국어 앱 도구 키트 사용을 선택하여 프로젝트를 사용하도록 설정했는지 확인합니다. 앱이 이전 버전을 사용하여 활성화된 경우 앱을 비활성화한 다음 도구 메뉴를 사용하여 다국어 앱 도구 키트를 사용하도록 설정해야 합니다. 이렇게 하면 도구 키트의 새 버전에서 작동하도록 프로젝트가 업데이트됩니다.

"Build Task for all Visual Studio editions" 구성 요소가 설치되었는지 확인합니다. 이 빌드 구성 요소는 확장과 함께 설치되지만 설치 중 수동으로 선택 취소할 수 있습니다. 이 구성 요소는 .xlf 파일을 업데이트하는 데 필요하며 변환을 PRI 파일에 추가합니다. 이 구성 요소가 설치되어 올바르게 작동 중인 경우 다음 빌드 메시지가 표시됩니다.

1> Multilingual App Toolkit build started.
1> Multilingual App Toolkit build completed successfully.

도구 키트에서 빌드하는 동안 XLIFF 언어 파일을 찾지 못했음을 보고합니다.

메시지:

No XLIFF language files were found.  The app will not contain any localized resources.

이 문제는 도구 키트가 확장명이 .xlf인 프로젝트에서 파일을 찾을 수 없을 때 발생합니다. 파일은 기본적으로 "MultilingualResources" 폴더에 있습니다. 파일을 다른 폴더로 이동할 수는 있지만, 편집기에서 관련 메타데이터 파일을 찾을 수 있도록 이 폴더에 그대로 두는 것이 가장 좋습니다.

프로젝트 이름을 마우스 오른쪽 단추로 클릭하고 솔루션 탐색기 창에서 **변환 언어 추가...**를 선택합니다. .xlf 기반 언어를 추가하는 데 사용되는 대화 상자가 표시됩니다. 도구 키트에서 검색할 수 있는 기존. xlf 기반 언어의 경우 언어가 프로젝트에 이미 포함되어 있음을 나타내기 위해 확인란이 미리 선택됩니다.

내 .xlf 파일은 빌드하는 동안 도구 키트에서 처리되는 파일 목록에 포함되지 않습니다.

.xlf 파일이 제외되었다가 프로젝트에 다시 포함되는 경우 파일 형식 요소가 잘못 설정될 수 있습니다. 이 상태를 확인하려면 직접 프로젝트 파일을 열고 .xlf 파일의 포함 형식을 봅니다. 파일을 처리할 도구 키트의 경우 형식 요소가 "없음"으로 설정되어 있어야 합니다. "콘텐츠" 또는 다른 값으로 설정되어 있으면 "없음"으로 변경합니다. 속성 파일을 저장하고 프로젝트를 다시 로드합니다.

예: German (Germany).xlf 형식이 잘못되었습니다.

<Content Include="MultilingualResources\German (Germany).xlf" />
<None Include="MultilingualResources\Pseudo Language %28Pseudo%29.xlf" />

.xlf 기반 언어를 추가했습니다. 내 문자열은 어디에 있습니까?

선택한 언어는 "MultilingualResources" 폴더에 추가됩니다. 처음 만든 언어 파일은 비어 있습니다. .resjson 파일의 문자열이 다음 번 다시 빌드 중에 이 .xlf 파일에 채워집니다.

프로젝트를 빌드해도 .xlf 파일이 계속 비어 있습니다.

다음 단계를 따르세요.

  1. 다시 빌드 명령을 사용하여 .xlf 파일이 업데이트되는지 확인합니다. Visual Studio는 빌드 명령을 최적화하여 마지막 빌드 이후에 변경된 파일만 빌드합니다. Visual Studio는 새 xlf 파일이 추가될 때 변경을 감지하지 않습니다.
  2. 앱이 Windows 스토어 앱 세계화 및 지역화 디자인 모델을 지원하는지 확인합니다. 앱 세계화의 다른 항목을 참조하세요.

앱에 언어 추가

Microsoft Translator 서비스란 무엇입니까?

Microsoft Translator는 기계 번역을 제공하는 클라우드 기반 서비스입니다. 기계 번역은 사람이 직접 하는 번역을 사용할 수 없을 때 대체 방법으로 이상적입니다. Microsoft Translator에서 더 자세한 내용을 볼 수 있습니다.

도구 키트는 Microsoft Translator 서비스를 사용하여 개발자에게 번역을 제안합니다. 번역 언어 추가 창에 Microsoft Translator 아이콘이 표시되면 Microsoft Translator에서 지원되는 언어를 확인할 수 있습니다.

Microsoft Translator를 사용하면 문자열을 선택하거나 번역 단추를 클릭하여 다국어 편집기에서 앱을 신속하게 번역할 수 있습니다.

의사 언어

의사 언어는 실제 언어 지역화를 시뮬레이트하는 소프트웨어 제품을 인위적으로 수정한 것으로, 원어민이 읽을 수 있는 상태를 유지합니다. 의사 번역을 사용하면 문자를 바꾸고 리소스 문자열 길이를 늘려 프로젝트 주기 초기, 실제 지역화를 시작하기 전에 잠재적인 지역화 문제나 버그를 찾아냅니다. 의사 언어를 사용한 지역화 가능성 테스트에 대한 자세한 내용은 지역화 가능성 테스트를 참조하세요.

의사 리소스 추적기란 무엇입니까?

문자 바꾸기 및 확장 외에, 의사 엔진은 각 리소스에 고유한 추적 식별자를 제공합니다. 이 추적기는 모든 문자열의 시작 부분에 각괄호로 묶인 형태 [xxxxx]로 추가됩니다. 시각적 UI 테스트를 수행하는 동안 이러한 추적기를 사용할 수 있습니다. 추적기는 제품에서 특정 리소스, 특히 여러 리소스에 유사하거나 중복된 텍스트가 있는 경우 이를 추적할 수 있습니다.

다음 "Hello World" 텍스트 예제에서 의사 번역은 화면의 약 30% 이상을 차지하도록 확장된 후 리소스 추적기를 적용합니다.

"Hello World" -> "Ĥèĺļõ Ŵòŗłđ" -> "[!!_Ĥèĺļõ Ŵòŗłđ_!!]" -> “[hJ8s1][!!_Ĥèĺļõ Ŵòŗłđ_!!]"

리소스 추적기는 기본적으로 켜져 있으며 PseudoSettings.config 파일에서 "EnableResourceTracker = true" 특성이 설정된 상태를 확인할 수 있습니다. 원하는 경우 이 매개 변수를 false로 변경할 수 있습니다.

Windows 8 언어 기본 설정 목록에서 의사 언어를 찾을 수 없습니다.

영어(qps-ploc) 는 Windows 8 언어 기본 설정 목록에 기본적으로 표시되지 않습니다. 영어(qps-ploc)를 추가하려면

  1. 제어판을 열고 시계, 언어 및 국가별 옵션 > 언어를 선택합니다.
  2. 언어 추가를 클릭합니다.
  3. 검색 상자에 qps-ploc를 입력합니다. 전체 언어 코드를 입력하지 않고 일부만 입력하면 검색 결과에 의사 언어가 반환되지 않습니다.
  4. **영어(pseudo-qps)**를 선택하고 추가를 클릭합니다.
  5. 기본 설정 언어 목록 맨 위에 영어(qps-ploc)가 나타나는지 확인합니다.

테스트

앱을 실행할 때 번역이 적용되지 않거나 앱이 부분적으로만 번역되어 있습니다.

  1. .xlf 파일에 번역이 포함되어 있는지 확인합니다.

    다국어 편집기에서 .xlf 파일을 열고 번역이 있는지 확인합니다. .resjson 또는 .resw 파일의 문자열이 업데이트되면 관련 번역이 제거됩니다. 이는 번역이 관련 문자열과 일치하도록 하기 위한 것입니다. 문자열을 번역하고 다시 빌드합니다.

  2. 문자열을 번역했지만 아직 앱에 표시되지 않습니다.

    다시 빌드 명령을 사용하여 업데이트된 파일이 앱의 RPI 파일에 포함되어 있는지 확인합니다. Visual Studio는 빌드 명령을 최적화하여 마지막 빌드 이후에 변경된 파일만 빌드합니다. 현재는 .xlf 파일이 다시 빌드 요청을 자동으로 트리거하지 않습니다.

  3. 언어 기본 설정 순서를 확인합니다.

    테스트 중인 언어가 언어 기본 설정 목록의 맨 위에 있어야 합니다. 앱은 이 순서로 언어를 표시하므로 앱 기본 언어가 맨 위에 있지 않으면 번역이 표시되지 않습니다.

의사 언어를 사용할 때 발생할 수 있는 지역화 가능성 문제에는 어떤 것이 있습니까?

  • UI 잘림. 의사 언어는 문자열이 번역 후 상태와 유사하게 표시되도록 문자열에 문자를 추가합니다.
  • 하드 코드된 문자열. 의사 언어 앱에 일반적인 영어 텍스트가 표시되면 문자열이 하드 코드되었고 도구 키트에 의해 번역되고 있지 않음을 알 수 있습니다.

의사 언어 및 의사 언어를 사용한 지역화 테스트에 대한 자세한 내용은 지역화 테스트를 참조하세요.

앱이 언어 기본 설정에 따라 표시되지 않습니다.

언어 기본 설정은 언어 정렬(위에서 아래) 순서에 의해 결정됩니다. 따라서 앱을 배포하기 전에 순서가 맞는지 확인해야 합니다. 제어판을 열고 시계, 언어 및 국가별 옵션 > 언어를 선택하여 원하는 언어를 선택한 다음 위로 이동 또는 아래로 이동을 클릭하여 순서를 변경합니다.

도구 키트가 빌드 출력에서 0x80004004 오류를 보고합니다.

메시지:

Merge of Loc PRI file failed calling makepri.exe: "0x80004004"

이 문제는 국가 형식이 도구 키트 빌드 작업과 충돌할 때 발생합니다. 해결 방법은 빌드 중 국가 코드를 en-US로 변경하는 것입니다.

도구 키트가 빌드 출력에서 0x80004005 오류를 보고합니다.

메시지:

Merge of Loc PRI file failed calling makepri.exe: "0x80004005"

이 문제는 .xlf 파일에 지원되지 않는 대상 언어가 포함되어 있으면 발생할 수 있습니다. 다국어 앱 도구 키트 고객 미리 보기에서 중국어 번체에 대해 "zh-cht", 중국어 간체에 대해 "zh-chs"로 대상 문화권을 잘못 사용한 것이 원인입니다. 이 문제는 이전 릴리스에서 수정되었습니다.

이 오류를 수정하려면 잘못된 코드를 포함하고 있는 .xlf 파일을 직접 수정합니다. "zh-cht"를 "zh-hant"로, "zh-chs"를 "zh-hans"로 변경합니다.

오류에 대해 추가 정보를 찾아볼 방법이 있습니까?

예. Visual Studio에서 자세한 정보 로깅을 켜면 됩니다. 도구 > 옵션 메뉴를 선택하여 옵션 대화 상자를 표시합니다. 그런 다음 프로젝트 및 솔루션을 확장하고 빌드 및 실행을 선택합니다. MSBuild 프로젝트 빌드 출력 자세한 표시 수준최소에서 보통 이상으로 변경합니다.

참고  또한 명령줄에서 msbuild를 실행해도 추가 메시지를 얻을 수 있습니다. Visual Studio 명령줄에서 프로젝트 빌드를 시도해 보세요.

msbuild /t:rebuild <projectname>

 

XLIFF 파일 가져오기/내보내기

번역 가져오기에 실패했습니다.

가져오기 작업은 기존 .xlf와 가져오려는 .xlf 중에서 대상 문화권 정보와 일치하는 파일을 가져오기 위해 먼저 기본적인 유효성 검사를 수행합니다. 다국어 편집기에서 .xlf 파일을 열고 문화권 정보가 일치하는지 확인합니다.

담당 번역가에게 Windows 8 / Visual Studio / 다국어 앱 도구 키트가 없습니다.

괜찮습니다. 번역 보내기를 선택하면 메일에 다국어 앱 도구 키트를 다운로드하여 설치할 수 있는 링크가 포함됩니다. 다국어 편집기는 Windows 8 및 Visual Studio가 없어도 설치할 수 있는 유일한 구성 요소입니다.

준비된 번역 파일을 받으면 .xlf 파일을 마우스 오른쪽 단추로 클릭하고 번역 가져오기를 선택한 다음 받은 .xlf 파일을 선택합니다.

더 이상 사용되지 않는 기능

MarkupRules.xml 및 ResourcesLocks.xml 파일 변경 내용

다국어 앱 도구 키트의 릴리스된 버전에서는 더 이상 적절성 리소스 잠금 파일을 사용하지 않습니다. 대신 기계 번역 중에 수정되지 않은 문자열을 식별하기 위해 XLIFF 1.2 태그 <mrk>가 .xlf 파일에 직접 추가됩니다. 이렇게 하면 XLIFF 파일이 자체 포함 파일이 될 수 있을 뿐 아니라 파일별로 리소스 잠금이 가능합니다.

따라서 이러한 추가 지원 파일이 더 이상 필요하지 않으며 이전 도구 키트 버전으로 만든 프로젝트에서 안전하게 삭제할 수 있습니다.

.TPX 파일 변경 내용

.TPX 파일은 번역을 위해 .xlf 파일을 전송할 때 MarkupRules.xml 및 ResourcesLocks.xml 파일을 포함할 손쉬운 방법을 제공했습니다. 이 두 개의 지원 파일이 제거됨으로써 이 기능은 더 이상 필요하지 않습니다.

검색해야 할 .TPX 파일에 번역이 있는 경우 간단히 .TPX 파일 확장명을 .ZIP으로 변경합니다. 그러면 파일 탐색기 또는 .ZIP 호환 도구를 사용하여 콘텐츠를 열고 추출할 수 있습니다.

기타 질문

필요한 모든 작업을 완료했지만 아직도 작동하지 않습니다.

다음 단계를 따르세요.

  1. 위에서 설명한 방법 중 하나를 사용하여 번역을 추가합니다.

  2. .pri 파일에 번역이 있는지 보려면 .pri 파일(MakePRI.exe 구성에 나와 있음)을 덤프합니다. 언어 코드 및 번역된 값과 함께 번역이 표시됩니다.

    <Candidate qualifiers="Language-QPS-PLOC" type="String">
        <Value>[!!_Ŝéãřćĥ_!!]</Value>
    </Candidate>
    
  3. 명령 프롬프트에서 빌드합니다. 결과 오류에는 빌드 출력에 보고되는 것보다 자세한 내용이 포함될 수 있습니다.

앱에서 Visual Studio 11 Beta 또는 RC용 다국어 앱 도구 키트를 사용하도록 설정했습니다. 특별한 작업을 수행해야 합니까?

예. 다국어 앱 도구 키트 v1.0을 설치한 후에는 도구 메뉴에서 다국어 앱 도구 키트를 사용하지 않도록 설정했다가 다시 사용하도록 설정해야 합니다. 이렇게 하면 도구 키트의 새 버전에서 작동하도록 프로젝트가 업데이트됩니다.

Windows 8, Visual Studio 2012 및 Visual Studio 11 Beta용 다국어 앱 도구 키트를 설치했습니다.

프로그램 및 기능을 사용하여 다국어 앱 도구 키트를 제거한 경우에는 확장이 Visual Studio에 여전히 설치되어 있으므로 도구 키트의 릴리스 미리 보기가 설치되지 않습니다.

이 문제를 해결하려면 Visual Studio를 실행하고 확장 관리자를 통해 다국어 앱 도구 키트 확장을 제거합니다.

앱이 Windows 스토어 인증에 실패했습니다.

앱에 지원되는 언어만 포함되어 있는지 확인합니다. 인증 프로세스를 시작하기 전에 프로젝트에서 의사 언어(Pseudo).xlf 파일을 제외해야 합니다. 의사 언어는 Windows 스토어에서 선택할 수 있는 언어가 아니며 앱에 포함하더라도 사용자에게 아무 도움이 되지 않습니다.

관련 항목

앱 세계화

Microsoft Translator

지역화 가능성 테스트

MakePRI.exe 구성