TIL(Today I Learned)
3월 25일(목)
학습내용
- 지역화(Localization)
- 지역화는 여러 지역에서 앱을 원활하게 사용이 가능하도록 하는 것이다.
- 줄임말로 국제화는 i18N, 지역화는 L10N이라고 표현하기도 한다.
- 시간, 날짜, 언어, RTL(글의 방향), 화폐 단위, 이미지, 음원 등을 지역에 따라 다르게 설정할 수 있다.
- 시뮬레이터의 설정앱에서 언어와 지역을 바꾸면서 테스트를 할 수 있고, 시뮬레이터 Edit Scheme에서 언어와 지역을 바꾸면서 테스트를 할 수 있다.
- 스토리보드를 사용할 경우 지역화를 위한 문자열을 스토리보드의 Main.strings와 Localizale.strings로 나눠서 저장을 해야한다. Main.strings은 스토리보드에서 생성된 뷰의 ID을 이용하여 지역에 맞는 문자열일 초기화해준다.
- 이미지의 지역화는 Assets.xcassets에서 가능한데, 각 국가마다 이미지를 다르게 설정함으로써 가능하다.
- 접근성(Accessibility)
- 접근성은 모든 사람이 앱을 차별없이 사용할 수 있게 하는 것이다.
- Xcode의 Accessibility Inspector을 이용해서 접근성이 잘 작동하는지 테스트를 해볼 수 있다.
- Accessibility에 대해서 Human Interface Guideline에 잘 나와있다.
- 스토리보드 Identifier Inspector에서 이미지의 Accessibility Label, Hint를 설정해서 이미지에 대한 정보를 Voice Over로 읽을 수 있도록 할 수 있다.
문제점/고민한점
- 국제화와 지역화의 차이는 무엇일까?
해결방법
- 국제화는 소프트웨어가 공학적인 변경 없이 지역화를 가능하게 하는 것이다. 지역화는 언어, 날짜 등을 지역에 맞게 변경하여 사용을 원활하게 하는 것이다. 설계를 바꾸는 등 복잡한 과정이 없이 Xcode를 통해 파일을 추가하고 NSLocalizedString 을 사용하면 지역화가 되기 때문에 국제화라는 표현은 잘 쓰지 않는 것 같다.
참고
https://en.wikipedia.org/wiki/Internationalization_and_localization