편집

다음을 통해 공유


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

이 항목에서는 MAT(다국어 앱 도구 키트)와 관련된 질문과 문제에 대한 답변을 제공합니다.

다국어 앱 도구 키트 사용을 참조하세요.

참고 도구 키트는 .resw(XAML) 및 .resjson(JavaScript) 파일을 모두 지원합니다. 그러나 이 항목에서는 .resw 파일만 언급합니다. .resw 파일은 리소스 파일이라고 합니다. 여기에는 기본 언어로 또는 다른 언어로 번역된 형태의 문자열이 포함됩니다. .resw 파일이 포함된 폴더는 일반적으로 언어 태그 값에 따라 이름이 지정됩니다.

여러 언어로 .resw 파일이 필요한가요?

아니요. 도구 키트의 주요 이점 중 하나는 여러 언어로 된 .resw 파일이 필요하지 않다는 점입니다. 도구 키트는 .xlf 파일을 사용하여 앱 리소스를 관리하고 동기화합니다. 이를 통해 여러 .resw 파일 간에 콘텐츠 동기화 유지와 관련된 문제를 해결할 수 있습니다.

일치하는 .resw 및 .xlf 파일이 포함된 프로젝트의 경우 .xlf 파일의 번역이 무시됩니다. 이 경우 .xlf 번역이 최종 앱에 포함되어 있지 않음을 알려주는 경고가 빌드하는 동안 표시됩니다. 같은 언어 코드를 사용하는 대상 언어가 있는 경우 .resw 파일과 .xlf 파일은 일치합니다. 일치하는 쌍의 예로는 Strings\de-DE\Resources.resw<project-name>.de-DE.xlf 파일(target-language="de-DE" 포함)이 있습니다.

여러 언어로 .resw 파일을 가질 수 있나요?

가능하지만 권장하지는 않습니다. 프로젝트에서 여러 언어로 된 .resw 파일을 포함하고 도구 키트를 사용하려면 일치하는 .resw 및 .xlf 파일이 없어야 합니다.

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

다음 단계를 시도합니다.

  • 도구 메뉴를 열기 전에 솔루션 노드가 아닌 프로젝트 노드를 선택해야 합니다.
  • 도구 키트 확장 프로그램이 Visual Studio 확장 관리자를 사용하여 설치되었는지 확인합니다.
  • UWP 프로젝트인지 확인합니다.

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

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

“모든 Visual Studio 버전을 위한 빌드 작업” 구성 요소가 설치되었는지 확인합니다. 이 빌드 구성 요소는 확장 프로그램과 함께 설치되지만 설치하는 동안 수동으로 선택을 해제할 수 있습니다. 이 구성 요소는 .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 파일을 수동으로 제외한 후 다시 포함한 경우 파일 형식 요소가 올바르게 설정되지 않을 수 있습니다. Visual Studio에서 파일을 선택하고 속성 창을 확인합니다. 해당 파일의 빌드 작업을 XliffResource로 설정하고 출력 디렉터리로 복사를 복사 안 함으로 설정해야 합니다. 프로젝트 파일에 참조가 다음과 같이 표시되어야 합니다.

<XliffResource Include="MultilingualResources\<project-name>.fr-FR.xlf" />

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

기본 언어 리소스 파일(.resw)은 앱에서 사용하는 문자열의 정식 “스키마”입니다. 번역된 리소스 파일에는 이러한 문자열 전체 또는 하위 집합이 포함될 수 있습니다.

프로젝트를 빌드할 때 리소스 파일 및 .xlf 파일이 동기화됩니다.

  • 추가되었거나 제거된 문자열 또는 추가되었거나 제거된 리소스 파일이 반영되도록 .xlf 파일이 업데이트됩니다.
  • .xlf 파일에 번역된 문자열이 반영되도록 리소스 파일이 업데이트됩니다.

국어 앱 도구 키트 사용에 자세히 설명되어 있습니다.

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

MAT를 효과적으로 사용하려면 먼저 앱을 지역화할 수 있어야 합니다. 다 국어 앱 도구 키트 사용에 자세히 설명되어 있습니다.

Microsoft Translator란?

Microsoft Translator는 기계 번역을 제공하는 클라우드 기반 서비스입니다. 기계 번역은 합리적인 방식으로 사람의 번역을 얻지 못할 경우 번역을 제공받고자 할 때 이상적입니다. Microsoft Translator에서 더 자세히 알아볼 수 있습니다.

도구 키트는 Microsoft Translator 서비스를 사용하여 사용자에게 번역 제안을 제공합니다. Microsoft Translator 아이콘이 번역 언어 대화 상자에 나타날 때 Microsoft Translator에서 지원하는 언어를 확인할 수 있습니다.

다국어 편집기에서 Microsoft Translator를 사용하여 문자열을 선택하고 번역을 클릭하여 앱을 빠르게 번역할 수 있습니다.

의사 언어란 무엇이고, 의사 리소스 추적기란 무엇인가요?

의사 언어는 실제 언어 지역화를 시뮬레이션하기 위해 인공적으로 소프트웨어 제품을 수정하는 것입니다. 의사 언어 및 의사 리소스 추적기에 대한 자세한 내용은 다국어 앱 도구 키트 사용에서 확인할 수 있습니다.

의사 지역화된 문자열을 테스트하기 위해 의사 언어를 언어 기본 설정으로 설정하려면 어떻게 하나요?

다국어 앱 도구 키트 사용에 설명되어 있습니다.

의사 언어를 사용하는 동안 발견할 수 있는 지역화 문제에는 무엇이 있나요?

다국어 앱 도구 키트 사용에 설명되어 있습니다.

앱을 시작할 때 번역이 표시되지 않거나 앱의 일부만 번역된 것으로 나타납니다.

다국어 편집기에서 .xlf 파일을 열어 번역이 있는지 확인합니다. 기본 언어 .resw 파일의 문자열이 명시적으로 변경된 경우 해당 번역이 .xlf 파일에서 제거됩니다. 이는 번역이 해당 소스 문자열과 일치하는지 확인하기 위한 것입니다. .xlf 파일의 문자열을 번역하고 기본 언어가 아닌 다른 언어로 된 .resw 파일을 업데이트하도록 다시 빌드합니다.

.xlf 파일에서 문자열이 번역되어 있지만 앱에 표시되지 않는 경우 기본 언어가 아닌 다른 언어로 된 .resw 파일을 업데이트하도록 프로젝트를 다시 빌드합니다. Visual Studio는 마지막 빌드 이후에 변경된 파일만 빌드하도록 빌드 명령을 최적화합니다.

언어 기본 설정 순서를 확인합니다. 테스트하려는 언어가 설정의 언어 기본 설정 목록 맨 위에 있어야 합니다.

도구 키트에서 빌드 출력에 오류 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-hant”로 변경), “zh-chs”는 올바르지 않습니다(“zh-hans”로 변경).

표시되는 오류에 대한 자세한 내용을 찾아볼 수 있는 방법이 있나요?

예, Visual Studio에서 자세한 로깅을 켤 수 있습니다. 도구>옵션>프로젝트 및 솔루션>빌드 및 실행을 클릭합니다. MSBuild 프로젝트 빌드 출력 세부 정보 표시를 최소에서 보통 이상으로 변경합니다.

명령줄에서 MSBuild를 실행하여 추가 메시지를 생성할 수도 있습니다.

msbuild /t:rebuild <project-name>

번역 가져오기 실패

가져오기 과정에서 가져오기 전에 기본적인 유효성 검사가 실행됩니다. 이렇게 하면 기존 .xlf 파일에서와 일치하도록 파일의 대상 문화권 정보를 가져올 수 있습니다. 다국어 편집기에서 .xlf 파일을 열고 문화권 정보가 일치하는지 확인합니다.

번역기에서 Windows 10, Windows 11 및/또는 Visual Studio 및/또는 다국어 앱 도구 키트가 설치되어 있지 않으면 어떻게 해야 할까요?

문자열 리소스 내보내기 대화 상자에서 출력: 메일 받는 사람을 선택하면 전자 메일에 MAT(다국어 앱 도구 키트)를 다운로드하고 설치하는 링크가 포함됩니다. 번역기는 Windows 10, Windows 11 또는 Visual Studio 없이도 MAT 독립 실행형 다국어 편집기 도구를 설치할 수 있습니다.

자세한 내용은 다국어 앱 도구 키트 사용을 참조하세요.

‘MarkupRules.xml’ 및 ‘ResourcesLocks.xml’ 파일은 어떻게 되나요?

다국어 앱 도구 키트는 독점 리소스 잠금 파일을 사용하지 않습니다. 대신 XLIFF 1.2 태그 <mrk>가 .xlf 파일에 직접 추가되어 기계 번역 시 수정되지 않은 문자열을 식별합니다. 이를 통해 XLIFF 파일이 자체 포함되고 파일당 기반 리소스 잠금이 가능합니다.

이 추가 지원 파일이 더 이상 필요하지 않으며 해당 파일이 있는 경우 안전하게 삭제할 수 있습니다.

.tpx 파일은 어떻게 되나요?

번역을 위해 .xlf 파일을 전송할 때 .tpx 파일은 MarkupRules.xmlResourcesLocks.xml 파일이 포함되는 쉬운 방법을 제공했습니다. 이 기능은 더 이상 필요하지 않습니다.

가져와야 하는 번역이 .tpx 파일에 있는 경우 .tpx 파일 확장자를 .zip으로 변경하기만 하면 됩니다. 이렇게 하면 파일 탐색기 또는 모든 .zip 호환 도구를 사용하여 콘텐츠를 열고 추출할 수 있습니다.

전부 올바르게 수행한 것 같은데 여전히 작동하지 않아요.

다음 단계를 시도합니다.

  1. 이미 설명한 방법 중 하나를 사용하여 번역을 추가합니다.
  2. .pri 파일을 덤프하여(MakePri.exe 명령줄 옵션 참조) 번역이 .pri 파일에 있는지 확인합니다. 번역이 다음과 같이 언어 코드 및 번역된 값과 함께 나타납니다.
    <Candidate qualifiers="Language-QPS-PLOC" type="String">
        <Value>[!!_Ŝéãřćĥ_!!]</Value>
    </Candidate>
    
  3. 명령 프롬프트에서 빌드합니다. 표시되는 오류에는 빌드 출력에서 보고되는 것보다 더 자세한 정보가 나타날 수 있습니다.

앱이 Microsoft Store 인증에 실패했습니다.

Microsoft Store 인증 과정을 시작하기 전에 프로젝트에서 <project-name>.qps-ploc.xlf 파일을 제외해야 합니다. 잠재적인 지역화 문제 또는 버그를 탐지하기 위해 의사 언어가 사용되지만 이 언어는 유효한 Microsoft Store 언어가 아닙니다. 이 언어를 제거하지 않으면 Microsoft Store 인증 과정에서 앱이 인증을 통과하지 못하게 됩니다.

어떤 데이터를 수집하고 있나요?

MAT VS(다국어 앱 도구 키트 Visual Studio) 확장은 익명 사용량 현황 데이터를 수집하고 Microsoft 서버로 보내 제품 및 서비스를 개선하는 데 도움을 줍니다. 원격 분석은 기본적으로 꺼져 있으며 언제든지 사용하거나 사용하지 않도록 설정할 수 있습니다.

사용량 현황 데이터: 사용 중인 기능에 대한 익명 정보입니다. 예를 들어 MAT 사용 솔루션에 새 언어를 추가합니다.

구성 데이터: 이 정보는 설치된 MAT VS 버전 및 실행 중인 Windows 버전에 대한 익명 정보입니다.

다음은 키/값/참고 형식으로 수집된 데이터의 구체적인 예입니다.

  • AddLanguage / MachineID: xxxx / 네트워크 어댑터 NIC의 해시를 기반으로 합니다. 고유하지는 않습니다.
  • TimeStamp / 2022/01/07T22:04:45.00000000Z / 시간 이벤트가 일어났습니다.
  • MAT_Version / 4.1.02 / MAT 버전이 설치되었습니다.
  • Languages / fr,es,de/DE / 프로젝트에 추가 된 언어 목록입니다.

모든 데이터는 Application Insights를 사용하여 수집되고 Azure Log Analytics로 전송됩니다. 데이터는 90일 동안 보존된 다음 삭제됩니다.