46일차 내용을 정리한 글 입니다.
Learned
현지화(Localization)
1) 개요
- 지역의 특성에 맞게 앱을 변화시켜 언어, 문화 등 환경이 다른 여러 곳에서
앱을 사용할 수 있도록 지원하는 서비스 - 일반적으로 기기에 설정된 시스템 언어에 따라 현지화가 이루어지지만
iOS 버전 13.0 이상부터 앱 내에서 선호하는 언어를 변경할 수 있는 기능이 추가됨.
2) 애플의 현지화
- 날짜, 길이, 무게, 가격, 화폐 기호 등 지역마다 다르게 표현될 수 있는 값들을
내부 API를 통해 지역에 맞게 표현할 수 있게 함. - Localizable, InfoPlist, plural같은 파일 내부에 지역에 따른
고정 텍스트, 권한 요청 문구, 단수 및 복수 표현을 대응할 수 있음.
NOTE
Localization, InfoPlist → strings 파일
plural → stringsdict 파일
- 앱의 기본 언어를 Localization 파일로 대응된 지역들 중 하나로 설정할 수 있음.
- 앱 자체적인 현지화와 관계없이 앱 스토어에 표시되는 제품 페이지의
메타데이터 내용을 현지화할 수 있음.
NOTE
앱의 기본 언어는 앱 설치 후 최초로 앱을 실행했을 때 기본값으로 설정될 언어를 의미함.
3) 국제화(Internationalization)와 현지화
- 앱이 여러 환경을 지원할 수 있도록 앱을 설계하는 것을 의미함.
- 언어, 글을 쓰는 방향, 단위, 날짜, 화폐 등을 고려해 앱을 설계하는 과정으로,
이런 설계를 통해 앱이 현지화될 수 있음. - 현지화는 지역에 맞게 언어를 번역하거나 지역의 시간대를 고려하여
날짜를 표현하는 등 실질적인 지원을 의미함.
I18N과 L10N
Internationalization과 Localization의 첫 글자와 마지막 글자를 따서 각각 I18N, L10N 이라고도 부른다.
여기서 18, 10 같은 숫자는 첫 글자와 마지막 글자 사이의 알파벳 개수를 의미함.
기타
- strings 파일, 이미지, 컬러 등 프로젝트의 리소스를 관리해주는 오픈소스 : R.Swift, SwiftGen
- 앱의 사용자에게 리뷰를 요청하는 알럿을 띄울 수 있음. (단 1년에 3번만 가능)
- MessageUI로 이메일 보내기 화면을 띄울 수 있음. (사용자의 메일 계정이 등록돼있을 때)
func sendMail() {
if MFMailComposeViewController.canSendMail(){
let mail = MFMailComposeViewController()
mail.setToRecipients(["email@energy.com"])
mail.setSubject("문의사항")
mail.mailComposeDelegate = self
self.present(mail, animated: true)
} else {
// 메일을 보낼 수 없음
}
}
이상입니다.
'TIL' 카테고리의 다른 글
[Sesac IOS] 45일차 TIL (0) | 2022.09.07 |
---|---|
[Sesac IOS] 43~44일차 TIL (0) | 2022.09.05 |
[Sesac IOS] 42일차 TIL (0) | 2022.08.31 |
[Sesac IOS] 41일차 TIL (2) | 2022.08.31 |
[Sesac IOS] 40일차 TIL (0) | 2022.08.31 |