View in English

  • Apple Developer
    • 시작하기

    시작하기 탐색

    • 개요
    • 알아보기
    • Apple Developer Program

    알림 받기

    • 최신 뉴스
    • Hello Developer
    • 플랫폼

    플랫폼 탐색

    • Apple 플랫폼
    • iOS
    • iPadOS
    • macOS
    • tvOS
    • visionOS
    • watchOS
    • App Store

    피처링

    • 디자인
    • 배포
    • 게임
    • 액세서리
    • 웹
    • 홈
    • CarPlay
    • 기술

    기술 탐색

    • 개요
    • Xcode
    • Swift
    • SwiftUI

    피처링

    • 손쉬운 사용
    • 앱 인텐트
    • Apple Intelligence
    • 게임
    • 머신 러닝 및 AI
    • 보안
    • Xcode Cloud
    • 커뮤니티

    커뮤니티 탐색

    • 개요
    • Apple과의 만남 이벤트
    • 커뮤니티 주도 이벤트
    • 개발자 포럼
    • 오픈 소스

    피처링

    • WWDC
    • Swift Student Challenge
    • 개발자 이야기
    • App Store 어워드
    • Apple 디자인 어워드
    • 문서

    문서 탐색

    • 문서 라이브러리
    • 기술 개요
    • 샘플 코드
    • 휴먼 인터페이스 가이드라인
    • 비디오

    릴리즈 노트

    • 피처링 업데이트
    • iOS
    • iPadOS
    • macOS
    • watchOS
    • visionOS
    • tvOS
    • Xcode
    • 다운로드

    다운로드 탐색

    • 모든 다운로드
    • 운영 체제
    • 애플리케이션
    • 디자인 리소스

    피처링

    • Xcode
    • TestFlight
    • 서체
    • SF Symbols
    • Icon Composer
    • 지원

    지원 탐색

    • 개요
    • 도움말
    • 개발자 포럼
    • 피드백 지원
    • 문의하기

    피처링

    • 계정 도움말
    • 앱 심사 지침
    • App Store Connect 도움말
    • 새로 추가될 요구 사항
    • 계약 및 지침
    • 시스템 상태
  • 빠른 링크

    • 이벤트
    • 뉴스
    • 포럼
    • 샘플 코드
    • 비디오
 

비디오

메뉴 열기 메뉴 닫기
  • 컬렉션
  • 전체 비디오
  • 소개

더 많은 비디오

  • 소개
  • 요약
  • 자막 전문
  • 코드
  • Xcode의 에이전트를 사용하여 앱 번역하기

    Xcode와 코딩 에이전트가 앱의 컨텍스트를 사용하여 문자열 카탈로그를 번역하는 데 어떻게 도움이 되는지 알아보세요. 번역된 결과물을 검토하고 현지화를 반복하기 위한 전략을 살펴봅니다. 이를 통해 전 세계 사용자들에게 맞춤형 경험을 제공할 수 있습니다.

    챕터

    • 0:00 - Introduction
    • 1:49 - Add translations
    • 8:11 - Review and iterate
    • 11:02 - Best practices

    리소스

    • Localizing your app using agents
    • Expanding Your App to New Markets
      • HD 비디오
      • SD 비디오

    관련 비디오

    WWDC26

    • Xcode, 에이전트 그리고 개발자

    WWDC25

    • 코딩 실습: Xcode로 현지화하기

    WWDC24

    • 다국어를 지원하는 앱 빌드하기

    WWDC22

    • 오른쪽에서 왼쪽으로

    Tech Talks

    • TestFlight 시작하기
  • 비디오 검색…

    안녕하세요! 저는 현지화 팀 엔지니어 Avery입니다 오늘은 여러분의 앱을 번역하는 방법을 소개하겠습니다 Xcode의 에이전트를 활용하여 앱을 다른 언어로 현지화하면 전 세계 수백만 명에게 앱을 선보일 수 있습니다 그래서 Apple에서는 앱 현지화를 최대한 쉽게 만들기 위해 항상 노력하고 있습니다 과거에는 전통적인 머신 러닝 모델이 소프트웨어 현지화의 많은 측면에서 어려움을 겪었습니다 최신 LLM은 이런 문제 중 많은 부분을 해결했으며 범용 번역에 탁월합니다 하지만 소프트웨어 현지화에서는 여전히 어려움을 겪을 수 있습니다 적절한 컨텍스트가 없을 때 예를 들어 'book'이라는 단어를 생각해 보세요 읽는 책을 뜻하는 걸까요? 아니면 호텔 방을 예약하는 행동을 뜻하는 걸까요?

    영어로는 같은 단어지만 다른 언어에서는 완전히 다르게 번역됩니다! 추가 컨텍스트 없이는 잘못된 번역이 선택될 수 있습니다 이는 오해를 불러일으킵니다 다행히 Xcode는 문자열에 대한 컨텍스트를 계속 수집해 왔습니다 String Catalogs가 도입된 이후로요! 2년 전 String Catalogs는 코드에서 문자열이 사용되는 위치를 추적하기 시작했습니다 작년에는 문자열이 사용되는 방식도 추적하기 시작했습니다 설명적인 주석을 자동으로 생성할 수 있도록요 올해는 이 모든 컨텍스트를 한데 모을 수 있게 되었습니다! Xcode 27부터 Xcode에서 코딩 에이전트를 사용해 문자열을 직접 번역할 수 있습니다! 앱에 번역을 추가하는 방법과 번역을 검토하고 개선하는 여러 기법 그리고 이 기능을 최대한 활용하기 위한 모범 사례를 소개하겠습니다 시작해 볼까요!

    저는 앱을 개발하고 있습니다 전 세계 다양한 랜드마크에 대해 알아볼 수 있는 앱인데요 이 앱을 전 세계 사람들에게도 제공하고 싶습니다! 저는 캐나다에서 자랐으니 캐나다 프랑스어부터 시작해 보겠습니다 SwiftUI를 사용하고 있어서 앱 UI가 이미 현지화 가능한 상태입니다 예를 들어 Text, Button 같은 API를 사용하고 있는데 이 API들은 문자열을 자동으로 현지화 대상으로 노출합니다 번역을 시작할 준비가 되었으니 에이전트에게 앱을 캐나다 프랑스어로 번역해 달라고 요청하겠습니다 Xcode 툴바의 새 대화 버튼을 사용하여

    이제 에이전트와 Xcode가 함께 문자열을 단계적으로 번역하기 시작합니다 에이전트는 먼저 Xcode에 프로젝트 현지화 준비를 요청합니다

    Xcode는 먼저 프로젝트 설정에 언어를 추가합니다 이 경우에는 캐나다 프랑스어입니다 그런 다음 Xcode는 지원하는 모든 플랫폼의 타깃을 빌드합니다 이는 프로젝트 내 모든 현지화 가능한 문자열이 올바르게 검색되도록 하기 위함입니다 마지막으로 새로 발견된 문자열이 String Catalogs에 추가됩니다 프로젝트에 아직 String Catalogs가 없는 경우 Xcode가 자동으로 생성합니다 기본적으로 문자열은 Localizable이라는 String Catalog에 추가됩니다 커스텀 테이블 이름을 사용하여 문자열을 구성할 수도 있습니다 예를 들어 테이블 이름으로 Greetings를 사용하면 문자열이 자동으로 Greetings라는 String Catalog에 저장됩니다 Xcode가 프로젝트 준비를 마쳤습니다 왼쪽 내비게이터를 보면 새로운 String Catalog 네 개를 확인할 수 있습니다 좋습니다! 다음으로 에이전트가 번역이 필요한 문자열을 선택합니다 저는 전체 프로젝트를 번역하도록 요청했기 때문에 String Catalog 네 개를 모두 읽습니다 드디어 본격적인 작업을 시작합니다! 에이전트는 문자열을 일괄 처리로 나눕니다 번역 작업을 개별 서브에이전트에 위임하면서요 Xcode는 번역할 각 문자열에 대한 컨텍스트를 서브에이전트에 제공합니다 여기에는 코드에서 문자열이 사용되는 위치 등이 포함됩니다 또는 유사한 용어를 사용하는 문자열 목록도 포함됩니다 다른 언어로 번역된 방식을 참조할 수도 있습니다! 오른쪽 String Catalog를 살펴보겠습니다 서브에이전트가 '%lld items' 번역 시 어떻게 처리했는지 확인해 보겠습니다 플레이스홀더 %lld는 런타임에 숫자로 대체됩니다 이 문자열은 복수형으로 변형됩니다 영어로는 'one item' 또는 'two items'라고 표현합니다 서브에이전트는 캐나다 프랑스어에서도 이 문자열을 변형했습니다 'un élément' 또는 'deux éléments'처럼 다른 철자로 표현할 수 있도록요 언어마다 복수형 변형 방식이 달라 더 많거나 적은 변형이 필요합니다 Xcode는 서브에이전트가 언어에 관계없이 필요한 변형을 항상 파악하도록 합니다 언어에 관계없이요 서브에이전트가 번역할 문자열이 아직 많이 남아 있습니다 잠깐 쉬면서 간식을 먹겠습니다

    좋아요! 서브에이전트들이 제 간식보다 더 빨리 작업을 마친 것 같습니다

    캐나다 프랑스어로 앱을 실행하면 어떻게 보이는지 확인해 보겠습니다

    툴바에서 스킴을 선택하겠습니다 스킴 편집, Run 선택, Options로 이동합니다 여기서 다음 디버그 실행 시 앱 언어를 캐나다 프랑스어로 변경할 수 있습니다 이제 앱을 빌드하고 실행하겠습니다 멋지네요, très bien! 더 많은 사람들에게 앱을 제공하기 위해 올바른 방향으로 가고 있습니다 전 세계 어디서나요 현재 앱은 'landmarks'의 캐나다 프랑스어 번역으로 'lieux d'intérêt'을 사용하고 있습니다 훌륭하고 잘 알려진 번역입니다! 저는 캐나다 프랑스어를 배우며 자랐기 때문에 몇 가지 스타일 아이디어가 있습니다 앱의 번역을 더욱 빛나게 해 줄 'attraits' 또는 'attractions'는 캐나다 관광 산업에서 자주 사용되는 표현입니다 제가 앱에서 'landmarks'를 사용하는 방식과 유사하게요 저는 이 좀 더 편안한 표현을 사용하고 싶습니다 프랑스어권 캐나다인들에게 매우 친숙한 단어이기 때문입니다 그리고 약간의 개성을 더하기 위해 앱 이름 자체를 변경하겠습니다 'Attraits phares' 또는 'Flagship attractions'로요 이런 변경도 매우 간단합니다 처음 번역을 추가했을 때만큼 쉽게 변경할 수 있습니다! 에이전트에게 수정을 요청하겠습니다 잠시 후에 다시 확인해 보겠습니다

    좋습니다! 오른쪽 String Catalog 몇 개를 보면 에이전트가 관련 문자열을 모두 찾아서 앱 이름 등의 번역을 업데이트한 것을 확인할 수 있습니다 'Draw a sketch of this landmark'도 포함하여요 지금까지 처음 번역을 시작하는 방법이 얼마나 쉬운지 살펴보았습니다 하지만 이미 현지화된 앱에 새 기능을 추가할 때도 번역을 워크플로에 자연스럽게 포함시키기가 마찬가지로 쉽습니다 사실 앱에 추가하고 싶은 훌륭한 새 기능 아이디어가 생겼습니다 빌드하고 현지화해 보겠습니다! 새 기능이니 새 대화를 시작하겠습니다

    에이전트에게 요청했습니다 대표 랜드마크 아래에 재미있는 레이블을 추가하고 사용자들이 앱의 모든 랜드마크를 발견하도록 유도하는 문구를요 기능 구현이 완료되면 에이전트가 캐나다 프랑스어로 번역할 것입니다 모두 완료된 것 같습니다 오른쪽 String Catalog를 보면 에이전트가 새 문자열에 대해 복수형 변형을 추가했습니다 영어와 캐나다 프랑스어 모두에서요 캐나다 프랑스어 문자열은 'landmarks' 번역으로 'attraits'를 올바르게 사용하고 있습니다 정말 강력한 기능입니다! 이전 대화 내용을 읽지 않고도 완전히 새로운 기능을 만드는 중에 Xcode가 에이전트를 안내하여 기본적으로는 선택하지 않았을 랜드마크 번역을 발견하고 재사용하도록 했습니다 이런 일관성이야말로 앱을 캐나다 프랑스어로 훨씬 더 완성도 있게 만들어 줍니다!

    이제 번역이 어느 정도 갖춰졌으니 현지화된 문자열을 검토하고 개선하는 기법에 대해 이야기해 보겠습니다 프로젝트에 번역을 추가하는 것은 전체 과정의 일부에 불과합니다 모든 것이 올바르게 작동하는지 런타임에서 예상대로 동작하는지 확인하는 것이 중요합니다 다른 언어에서도요 언어마다 고유한 특성이 있습니다 예를 들어 캐나다 프랑스어 문장은 평균적으로 영어보다 더 깁니다 새 기능을 캐나다 프랑스어로 번역했으니 앱 UI에서 모든 텍스트가 여전히 잘 맞는지 확인해야 합니다 잘려나가지 않도록요 코딩 에이전트에게 캐나다 프랑스어로 새 기능의 UI를 렌더링하도록 요청하고 잘림 현상을 확인해 보겠습니다

    오른쪽 미리보기를 보면 문제가 발견되었습니다! 새 기능의 텍스트가 잘리고 있습니다 문장이 끝나기 전에요 여기서 확인해 볼 수 있습니다 구현 방식의 버그인지 더 긴 텍스트를 수용하기 위해 UI를 재설계해야 하는지 아니면 모델에 더 짧은 번역을 요청해야 하는지를요 나중에 처리할 목록에 추가해 두겠습니다 이 기법을 사용해 다양한 문제를 확인할 수 있습니다 여러 언어에서 발생할 수 있는 태국어 같은 고자체 언어의 텍스트 수직 클리핑이나 아랍어 같은 오른쪽에서 왼쪽 언어의 잘못 정렬된 뷰 등을요 이런 빠른 피드백 루프는 매우 유용합니다 기능을 개발하면서 문제를 빠르게 발견하고 수정할 수 있습니다 텍스트 레이아웃 문제를 해결하기 위한 기법과 API에 대해 더 알아보려면 포맷팅 등에 대해서는 "Build multilingual-ready apps"를 시청하세요 그리고 "Get it right (to left)"도요 코딩 에이전트로부터 피드백을 받는 것 외에도 다른 소스에서 피드백을 받는 것도 매우 중요합니다 개발자로서 가장 큰 강점 중 하나는 에이전트를 프로그래밍에 사용할 때 코드를 이해한다는 것입니다 즉 에이전트가 우리의 요구에 맞는 코드를 생성하는지 미묘한 부분을 놓치고 있는지 잘못된 방향으로 나아가고 있는지 알 수 있습니다 그 강점은 에이전트를 사용하여 유창하게 구사하지 못하는 언어로 문자열을 번역할 때는 사라집니다 이럴 때 TestFlight 같은 도구가 빛을 발합니다 App Store에 출시하기 전에 흥미로운 새 기능을 테스터에게 확인받듯이 원어민들에게도 앱 테스트를 부탁하세요 새로 추가하는 언어들에 대해서요 TestFlight를 사용하면 사람들이 제안이 담긴 피드백을 쉽게 공유할 수 있습니다 현지화 문제의 스크린샷과 함께요 현지화된 경험을 공개하기 전에 문제를 해결할 수 있도록요 예를 들어 저는 캐나다 프랑스어를 구사하기 때문에 랜드마크 번역을 직접 변경했습니다 하지만 TestFlight는 다른 언어에 대해 유사한 제안을 받기에 훌륭한 공간입니다! TestFlight를 사용하여 앱 피드백을 수집하는 방법을 더 알아보려면 테크 토크 "Get Started with TestFlight"를 확인해 보세요 마무리하기 전에 몇 가지 팁과 모범 사례를 소개하고 싶습니다 활용할 수 있는 Xcode의 번역 기능을 최대한 활용하기 위한 완성도 높은 현지화 앱을 위해서는 모든 사용자 대면 문자열이 번역되어야 합니다 물론 사용자 대면 문자열이 현지화 가능해야만 가능한 일입니다!

    앞서 언급했듯이 SwiftUI 코드는 기본적으로 현지화 가능합니다 나머지 코드에서는 String(localized:)를 사용해야 할 가능성이 높습니다 또는 다른 API를 사용하여 문자열의 현지화를 보장해야 합니다 현지화에 사용할 수 있는 API에 대한 자세한 내용은 "Code-along: Explore localization with Xcode"를 확인해 보세요 모든 문자열이 현지화 가능한지 확인했으면 앱의 대상 사용자를 고려해 보세요 예를 들어 뱅킹 앱은 어린이용 앱과 매우 다른 스타일과 용어를 사용할 것입니다 기본적으로 에이전트는 Apple의 번역 전문성을 활용할 수 있습니다 Xcode에 포함된 언어별 스타일 가이드를 통해서요 하지만 사용자가 제공하는 번역 지침도 함께 존중합니다 예를 들어 용어집을 작성할 수 있습니다 특정 단어에 사용할 특정 번역이 포함된 용어집을요 또는 항상 번역하지 않고 남겨 두어야 할 단어 목록 제품 이름이나 상표명 같은 것들 또는 앱에서 사용하고 싶은 톤에 대한 일반 텍스트 설명도 작성할 수 있습니다 이런 지침을 제공하려면 AGENTS.md 파일에 번역에 관한 섹션을 추가할 수 있습니다 또는 프로젝트에 이미 있는 다른 유사한 파일에요 번역과 무관한 작업 중에도 이 추가 컨텍스트가 로드되는 것을 방지하려면 TRANSLATION.md라는 파일을 참조하는 것을 권장합니다 여기에 모든 번역 지침을 작성하세요 에이전트는 번역 관련 작업 시에만 해당 문서를 읽도록 선택해야 합니다 번역 지침 외에도 고려해야 할 몇 가지 사항이 있습니다 앱 번역은 복잡하고 시간이 많이 걸리는 작업입니다 특히 프로젝트 전반에 걸쳐 일관된 용어를 사용하도록 보장할 때 더욱 그렇습니다 어떤 모델을 사용할지 고민할 때 큰 컨텍스트 윈도우를 가진 모델 사용을 고려해 보세요 긴 요청을 완수하는 데 탁월한 이런 모델들이 번역 작업에 가장 적합합니다 또한 중요한 점은 일부 언어는 대부분의 모델이 사용하는 훈련 데이터에서 다른 언어보다 덜 자주 등장한다는 것입니다 이로 인해 에이전트가 해당 언어에 대해 낮은 품질의 번역을 생성할 수 있습니다 특정 모델은 특정 언어 번역에서 더 좋거나 나쁜 성능을 보일 수도 있습니다 모델 제공업체의 문서를 참조하세요 훈련 데이터에서 언어 분포에 관한 더 많은 정보를 위해서요 마지막으로 Xcode에서 내보낸 현지화를 처리하는 경우 leveraged-mt 상태 한정자를 확인할 수 있습니다 에이전트가 제공한 번역이 어떤 것인지 파악하기 위해서요 Xcode에서 에이전트를 사용하여 앱을 번역하는 것을 직접 탐색해 보시기 바랍니다 에이전트에게 앱을 새 언어로 번역해 달라고 요청해 보세요 또는 새 기능을 추가하고 앱이 이미 지원하는 언어로 번역해 보세요 번역이 완료되면 Xcode의 다양한 에이전트 도구를 활용하세요 현지화 문제를 찾고 수정하는 데 TestFlight 같은 도구를 사용하여 원어민 화자의 피드백을 수집하세요 어디에 필요한지 파악하게 되면 에이전트에게 추가적인 번역 지침을 제공하는 것을 고려하세요 앞으로 모든 번역이 훌륭하게 유지될 수 있도록요 마지막으로 아직 확인하지 않으셨다면 "Xcode, agents, and you"를 확인해 보세요 Xcode에서 에이전트로 할 수 있는 다른 놀라운 기능들을 알아볼 수 있습니다 시청해 주셔서 감사합니다 이 새로운 번역 기능들이 여러분의 앱으로 전 세계 더 많은 사람들에게 다가가는 데 도움이 되길 바랍니다 À bientôt!

    • 3:02 - Localizing strings in SwiftUI

      // Localizing strings in SwiftUI
      
      Text("Hello, world!", comment: "A standard greeting")
    • 3:11 - Localizing strings in SwiftUI with custom table name

      // Localizing strings in SwiftUI with custom table name
      
      Text("Hello, world!", tableName: "Greetings", comment: "A standard greeting")
    • 11:21 - Localizing strings in SwiftUI

      // Localizing strings in SwiftUI
      
      Text("Hello, world!", comment: "A standard greeting")
    • 11:25 - Localizing strings elsewhere

      // Localizing strings elsewhere
      
      String(localized: "Hello, world!", comment: "A standard greeting")
      
      LocalizedStringResource("Hello World!", bundle: #bundle, comment: "A standard greeting")
    • 13:39 - Field for machine-translated strings in the XLIFF

      // Field for machine-translated strings in the XLIFF
      
      <trans-unit id="Grand Canyon" xml:space="preserve">
        <source>Grand Canyon</source>
        <target state="translated" state-qualifier="leveraged-mt">Grand Canyon</target>
        <note>Name of the ‘Grand Canyon’ landmark.</note>
      </trans-unit>
    • 0:00 - Introduction
    • Translate your app using agents in Xcode. Xcode considers the context of strings used in your app and includes that in the feed to translation agents.

    • 1:49 - Add translations
    • Ask an agent to translate your app, then watch as Xcode prepares the project, builds all targets to discover strings, and populates translated String Catalogs.

    • 8:11 - Review and iterate
    • See how to review the outcome of translations, identify UI truncation issues, and iterate on the localization of your app.

    • 11:02 - Best practices
    • Ensure user-facing strings are localizable and help guide translation agents with glossaries or custom terminology rules.

Developer Footer

  • 비디오
  • WWDC26
  • Xcode의 에이전트를 사용하여 앱 번역하기
  • 메뉴 열기 메뉴 닫기
    • iOS
    • iPadOS
    • macOS
    • tvOS
    • visionOS
    • watchOS
    메뉴 열기 메뉴 닫기
    • Swift
    • SwiftUI
    • Swift Playground
    • TestFlight
    • Xcode
    • Xcode Cloud
    • SF Symbols
    메뉴 열기 메뉴 닫기
    • 손쉬운 사용
    • 액세서리
    • Apple Intelligence
    • 앱 확장 프로그램
    • App Store
    • 오디오 및 비디오(영문)
    • 증강 현실
    • 디자인
    • 배포
    • 교육
    • 서체(영문)
    • 게임
    • 건강 및 피트니스
    • 앱 내 구입
    • 현지화
    • 지도 및 위치
    • 머신 러닝 및 AI
    • 오픈 소스(영문)
    • 보안
    • Safari 및 웹(영문)
    메뉴 열기 메뉴 닫기
    • 문서(영문)
    • 튜토리얼
    • 다운로드
    • 포럼(영문)
    • 비디오
    메뉴 열기 메뉴 닫기
    • 지원 문서
    • 문의하기
    • 버그 보고
    • 시스템 상태(영문)
    메뉴 열기 메뉴 닫기
    • Apple Developer
    • App Store Connect
    • 인증서, 식별자 및 프로파일(영문)
    • 피드백 지원
    메뉴 열기 메뉴 닫기
    • Apple Developer Program
    • Apple Developer Enterprise Program
    • App Store Small Business Program
    • MFi Program(영문)
    • Mini Apps Partner Program
    • News Partner Program(영문)
    • Video Partner Program(영문)
    • Security Bounty Program(영문)
    • Security Research Device Program(영문)
    메뉴 열기 메뉴 닫기
    • Apple과의 만남
    • Apple Developer Center
    • App Store 어워드(영문)
    • Apple 디자인 어워드
    • Apple Developer Academy(영문)
    • WWDC
    최신 뉴스 읽기.
    Apple Developer 앱 받기.
    Copyright © 2026 Apple Inc. 모든 권리 보유.
    약관 개인정보 처리방침 계약 및 지침