ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [WWDC24] Translation API_한번에 여러 컴포넌트 번역하기
    IOS/WWDC24 2024. 9. 14. 11:48

    WWDC Translation API 소개 영상에 나온 기능 시연입니다. 한 번에 상호작용으로 여러 번역을 제공하는 시연 영상입니다. 이 기능을 구현하는 방법은 어떻게 하면 될까요?

     

    1. TranslationSession class

    TranslationSession을 활용하면 한 번에 여러 텍스트를 번역해서 출력 또한 할 수 있다고 소개되어 있습니다.

    WWDC에서 소개된 코드

     

    requests property를 보면, TranslationSeesion.Request 배열이 존재하고 이걸 파라미터로 전달하게 되는 형태인 거 같네요.

    SwiftUI에선. translationTask Modifier를 통해 Translation class 인스턴스를 생성하지 않고 사용할 수 있습니다.

    위 예시는 초기 Text가 표출 될 때 클로저가 한 번만 실행되는 코드입니다. 하지만 사용자가 직접 '출발어(원본언어)'나 '도착어(번역할 언어)'를 설정할 때마다 클로저가 자동으로 실행되게 하려면 Configuration을 활용하거나 invalidate Instance Method를 사용하면 됩니다. 다음과 같이 말이죠.

    +) Configuration.invalidate instance Method는 현재 번역 중인 session을 다시 시작하는 메소드입니다. 같은 텍스트에 츨발어, 도착 어를 다시 설정해 클로저를 재실행하려면 이 메서드를 사용하면 됩니다.

     

    위 코드는 WWDC에서 소개한 사용법 예시인데, 왼쪽 코드는 configuration이 변경될 때마다 클로저가 실행돼 번역이 되는 코드이고 오른쪽은 버튼 클릭 시 Configuration이 없다면 생성해서 return 한다는 코드입니다. Configuration 기본 이니셜라이저를 사용하고 있는데 이는 자동으로 시스템이 언어를 선택하게 됩니다. 이후 다시 해당 버튼을 클릭하면 이미 Configuration이 생성되어 있으니 새로운 session에서 다른 설정(출발어, 도착어 변경)의 번역을 수행할 수 있게 하는 코드입니다.

     

     

    다음은  출발어, 도착어 설정 기능에 대해 알아보겠습니다.

     

Designed by Tistory.