[swift] SwiftGen을 이용한 언어 선택 기능

앱 개발 중 다국어 지원은 매우 중요한 기능입니다. 사용자들이 원하는 언어로 앱을 이용할 수 있도록 하는 것은 더 나은 사용자 경험을 제공하는 한 가지 방법입니다.

SwiftGen은 Swift 코드에서 리소스를 사용할 때 발생할 수 있는 실수를 방지하고, 개발자 투자를 줄이는 데 도움이 되는 매우 유용한 도구입니다. 이 기능을 사용하여 앱에서 사용되는 문자열을 로컬라이징하는 방법에 대해 알아보겠습니다.

SwiftGen 설치

SwiftGen을 사용하기 위해 먼저 SwiftGen을 설치해야 합니다. CocoaPods을 사용하는 경우, Podfile에 다음 줄을 추가하고 pod install 명령을 실행하세요.

pod 'SwiftGen'

CocoaPods를 사용하지 않는 경우, SwiftGen GitHub 페이지에서 직접 다운로드하여 프로젝트에 추가할 수도 있습니다.

지원되는 언어 설정

SwiftGen을 사용하여 여러 언어로 로컬라이징된 문자열을 지원하려면, 다음 단계를 따르세요.

  1. 프로젝트 디렉토리에 Resources 또는 다른 이름의 디렉토리를 만듭니다. 해당 디렉토리에는 로컬라이징된 문자열 파일이 포함됩니다.

  2. Resources 디렉토리 안에 언어 코드별로 디렉토리를 만듭니다. 각 디렉토리의 이름은 해당 언어의 ISO 639-1 코드입니다. 예를 들어, 영어의 경우 en.lproj, 한국어의 경우 ko.lproj와 같은 이름으로 디렉토리를 만듭니다.

  3. 각 언어 디렉토리 안에 Localizable.strings 파일을 만듭니다. 이 파일에는 해당 언어의 로컬라이징된 문자열이 포함됩니다.

  4. Localizable.strings 파일을 선택하고 Identity and Type 패널에서 Localization 섹션을 엽니다. 추가 버튼을 클릭하고 언어를 선택하여 해당 언어에 대한 로컬라이징 파일을 추가합니다.

Swift 코드에서 문자열 사용

이제 Swift 코드에서 로컬라이징된 문자열을 사용할 준비가 되었습니다. SwiftGen을 사용하여 개발자 에러를 방지하면서도 보다 안전하게 로컬라이징된 문자열을 사용할 수 있습니다.

  1. 먼저 swiftgen.yml 파일을 프로젝트 디렉토리에 추가합니다. 이 파일은 SwiftGen을 설정하는 데 사용되는 설정 파일입니다.

  2. swiftgen.yml 파일의 내용을 다음과 같이 작성합니다.

strings:
  inputs:
    - Resources/**/Localizable.strings
  output:
    templateName: structured-swift4
    output: AutoStrings.swift
  1. 터미널에서 swiftgen 명령을 실행하여 SwiftGen을 사용하여 AutoStrings.swift 파일을 생성합니다. 이 파일에는 로컬라이징된 문자열에 대한 유형 안전한 Swift 코드가 포함됩니다.

  2. Swift 코드에서 로컬라이징된 문자열을 사용하려면, AutoStrings 클래스를 import하고 해당 클래스의 속성을 사용합니다. 각 언어의 문자열은 해당 언어 코드에 따라 정의된 속성으로 접근할 수 있습니다.

결론

SwiftGen을 사용하여 앱에서 다국어를 지원하는 것은 매우 강력한 도구입니다. 이 도구를 사용하면 코드에서 발생할 수 있는 로컬라이징 관련 실수를 줄이고 더 안전하고 효율적인 코드를 작성할 수 있습니다. SwiftGen을 사용하여 다국어를 지원하는 앱을 구축할 때 이러한 효과를 경험해보세요.

참고: