본문 바로가기
Swift

[Swift] 국가별 언어 설정 (Localization)

by Odin_1204 2022. 9. 7.
안녕? Hello?
Bonjour?
こんにちは?
...

 

 

 

 

안녕하세요. 오딘(Odin)입니다.

 

다들 앱을 만들다 보면
"내가 만든 app이 인기앱이 되고, 1000억대 매출, 유니콘 기업 CEO가 되는거 아니야?!?"

'나 설마... 실리콘밸리에 진출...?' 이라는 부푼 꿈을 앉고 앱을 만들고 계시죠??

 

저도 혼자서 app을 기획하고 만들다 보면 그런 생각이 들 때가 있습니다. (껄껄~)

그러나 우리가 app을 만들더라도 한국어만 지원한다면 저 꿈에 다가기에는 너무 힘들곘죠??

이번에는 여러 언어를 지원할 수 있도록 Localization을 해보려고 합니다.

그러면 우리 다같이 한 번 만들어 볼까요~?? 

 

 


 

 

# Code 방식

 

언어 추가

우선 해당 Project에서 제공하고 싶은 언어를 추가해 줍니다!

( project -> Info -> Localizations -> + )

 

 

 

제공하고자 하는 언어 설정이 끝났다면
화면에 보여질 Text를 Localization별로 보여질 수 있도록 설정 해줘야겠죠??

ex) '안녕' -> 'hello', 'Bonjour' ...

 

 

Localizable file 생성

Local 별로 변경된 Text가 보여질 수 있도록 'String 파일'을 만들어 줄게요!!

 

 

⛔️ 주의사항!

- 해당 String File이름은 무조건! 'Localizable' 로 설정해 주셔야 합니다!!

  (폴더 생성시 나오는 이름 그대로!!)

 


 

 

String 폴더 생성이 완료가 되면
다음 화면처럼 Localization -> Localize 를 눌러 주시고 제공하고자 했던 언어들을 체크해주세요!
그러면 오른쪽 사진처럼 'Localizable' File 안에 언어들이 추가가 됩니다~!

 

 

 

 

 

변수에 String 넣기 (국가별)

Localization 하고자 하는 Text들을 다음과 같이 변수를 설정하고 값을 입력해 주세요!

 

navigationItem.title = NSLocalizedString("Home_navigation_title", comment: "")	// coment: 주석!

그리고 해당 String을 입력하는 곳에 다음과 같이 작성해주면 끝!!

정말 쉽죠??

 

 

 

String 내부에 값 전달

만약 해당 String 안에 값을 넣어야 하는 상황이 온다면!

String 내부에 값을 넣어주고자 하는 위치를 다음과 같이 변경해주세요! 
현재 화면은 숫자를 넣으려고 하기 때문에 %d를 사용했습니다~

-> %d - int,   %f - float ,   %ld - long ,   %@ - string  ...

 

 

 

해당 String을 이용하고자 하는 위치에 다음과 같이 써주면 적용 끝!!
정말 쉽죠???ㅎㅎ

다음 코드는 여러분들이 Custom해서 쉽게 작성할 수 있도록 변경해 보세요~ㅎㅎ

 

 

# StoryBoard 방식

 

Code 방식과 동일하게 해당 Project에서 제공하고 싶은 언어를 추가해 줍니다!

( project -> Info -> Localizations -> + )

 

 

 

그리고 나서 StoryBoard를 localization화 시키면

 

StoryBoard에 추가되어 있는 Button, label ... 등 String 값이 입력될 수 있는 값들이 알아서 추가되어져 나오게 된답니다!!

 

혹시나 해당 변수가 무엇을 나타내는지 모르겠다면!

 

원하는 Label을 Click하고

화면에서 보이는 ObjectID값을 보고 판단하시면 됩니다~!

 

 

 

 

 

 

 

 

 

 

 

# Localization 확인 방법   Honey Tip 🍯

매번 Simulator Home -> Setting -> ... -> 언어 변경 처리하기 너무 귀찮으셨죠??

제가 해당 app에 한해서 Localization 변경을 쉽게 할 수 있는 방법을 알려드릴게요~!!

 

 

-> Localization 적용 쉽게 확인하는 방법!

( Product -> Scheme -> edit Scheme... -> App Language )

 

이렇게만 해주면 Localization 된 언어를 쉽게 확인할 수 있답니다!! 

 

 

 

 

 

 

'Swift' 카테고리의 다른 글

[Swift/SwiftUI] UIKit에서 Preview 사용하기  (0) 2023.01.30
[Swift] Realm이란? & Swift에 적용하기  (0) 2022.08.28
[Swift] Custom Font 추가하기  (0) 2022.07.29