티스토리 뷰
안녕하세요 Gons 입니다.
저번시간 다국어 설정 - 스토리보드 에 이어
이번에는 다국어 설정을 코드로 해보겠습니다.
파일을 추가해주세요.
string 파일을 선택해주세요.
이름은 Localizable 로 입력해주세요.
다른 이름은 안됩니다.
Localizable.string 파일을 선택해주세요.
우측에 Localize 버튼을 눌러주세요.
이런식으로 변할겁니다.
프로젝트 설정에서 언어를 추가해주세요.
기본값은 영어입니다.
한글을 추가해보겠습니다.
스토리보드들은 체크를 해제하고 스트링파일만 체크해주세요.
언어가 잘 추가됐는지 확인해주세요.
이제 Localizable 파일을 펼쳐보면 2가지 언어가 있을겁니다.
각 언어일 때 어떻게 표현할 건지 써줍니다.
; 세미콜론을 꼭 써줘야합니다.
이제 스토리보드에서 레이블을 하나 추가해주세요.
레이블을 아울렛 변수로 등록해주세요.
@IBOutlet var myLabel: UILabel!
NSLocalizedString 를 사용해서 Hello 라는 key 를 넣으면 각 언어에 맞게 설정해놓은 value 를 가져옵니다.
myLabel.text = NSLocalizedString("Hello", comment: "코멘트는 그냥 주석입니다.")
comment 는 그냥 주석입니다. "" 이렇게 써도 됩니다.
폰 언어에 설정된 대로 한글일 때 영어일 때 각각 잘 나오네요.
그리고 이렇게 string 파일에 있지 않은 key 값 "Hi" 를 써주면, 한국어든 영어든 그냥 Hi 로 나옵니다.
myLabel.text = NSLocalizedString("Hi", comment: "")
마지막으로 설정된 언어에 따라 문자열 포맷을 다르게 표현해보겠습니다.
%@ - string
%d - int
%f - float
%ld - long
포맷은 이런 종류가 있습니다.
문자열부터 한번 해볼게요. string 이 들어갈 자리에 %@ 를 써주세요.
String format 으로 Gons 를 써줍니다.
myLabel.text = String(format: NSLocalizedString("Welcome", comment: ""), "Gons")
잘 나오네요.
정수형도 한번 해보겠습니다. int 가 들어갈 자리에 %d 를 써주세요.
위와 같은 방식으로 정수를 넣어주세요.
myLabel.text = String(format: NSLocalizedString("Age", comment: ""), 20)
잘 나오네요.
끝입니다.
다음 글은 앱 언어를 앱 내에서 변경해보겠습니다.
감사합니다.
다음글 바로가기 -> 앱 안끄고 언어 변경
iOS Swift Xcode
'iOS Swift + UIKit' 카테고리의 다른 글
iOS Swift 날짜 차이 구하기 (요일, 시간 사이 간격 변환 계산) Calc Date (0) | 2022.03.02 |
---|---|
iOS Swift 앱 안끄고 언어 변경 ( 앱 내 언어 설정 ) (4) | 2021.04.05 |
iOS Swift 다국어 설정 - Storyboard Localizing (0) | 2021.04.01 |
iOS Swift 백그라운드 진입 시 민감한 정보 가리기 (개인정보 숨기기) (3) | 2021.03.22 |
iOS Swift 네비게이션바 올리기 hidesBarsOnSwipe Navigation bar (0) | 2021.03.01 |
- Total
- Today
- Yesterday
- TabBar
- permission
- Language
- 엑스코드
- SKPaymentTransactionObserver
- 인디케이터
- 리젝
- indicator
- SKProductsRequestDelegate
- 아이오에스
- ios
- 스위프트
- swiftUI
- 프로그레스
- TabView
- Reject
- Localizations
- custom segment
- SWIFT
- 테이블뷰
- presentationcompactadaptation
- SKPayment
- 다국어
- Authorization
- Localized
- AppStore
- localizing
- 심사
- 로컬라이징
- Xcode
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |