---
title: "모바일 앱의 다국어 현지화 서비스"
date: "2018-02-21"
categories: 
  - "mobile"
  - "software"
  - "tools"
tags: 
  - "mobile"
  - "mobile-development"
  - "multi-language-localization"
  - "software-tools"
description: MobileTogether를 사용하여 모바일 앱에 다국어 현지화 기능을 구현하는 방법을 알아보세요. 다양한 언어를 지원하고, 여러 플랫폼에서 사용자 경험을 향상시키는 방법을 익힐 수 있습니다.
---
Status: #blog

Tags:  #mobile #mobile-development #multi-language-localization #software-tools

Categories: [mobile-development](/blog/ko/category/mobile-development.md) | [low-code+no-code](/blog/ko/category/low-codeno-code.md)
# 모바일 앱의 다국어 현지화 서비스

MobileTogether는 모바일 앱을 여러 언어로 원활하게 현지화할 수 있는 기능을 제공합니다. 이를 통해 개발자는 하나의 모바일 앱 버전을 개발하여 여러 언어와 다양한 플랫폼에서 모두 사용할 수 있도록 할 수 있습니다.

개발자는 하나의 MobileTogether 앱 디자인 내에 모든 텍스트 문구에 대한 번역을 포함할 수 있습니다. 사용자가 안드로이드 폰, 아이폰, 윈도우 데스크톱 또는 기타 지원 플랫폼에서 앱을 실행할 때, 앱의 언어는 해당 기기의 운영체제 언어와 일치하도록 자동으로 선택됩니다.

다국어 지원 기능을 통해, 텍스트-음성 변환 기능 또한 사용자의 모국어로 제공됩니다.

![](/blog/images/KS113238_700x335.jpg)

<!--more-->

이전에 [텍스트 음성 변환 관련 게시글](https://www.altova.com/blog/text-to-speech-for-mobile-apps/) 기능을 구현하기 위해 먼저 간단한 데모 앱을 만들었습니다. 이번 글에서는 아래에 Android 폰에서 보여지는 개선된 버전을 사용하여 지역화 기능을 설명하겠습니다

[![MobileTogether 다국어 현지화 데모 앱 (안드로이드)](/blog/images/mobiletogether-localization-demo-android.png)](mobiletogether-localization-demo-android.png)

저희의 다국어 현지화 데모 앱은 영어, 독일어, 프랑스어, 스페인어, 이탈리아어를 지원하며, 다양한 플랫폼에서 사용할 수 있습니다.

각 언어에 해당하는 텍스트는 MobileTogether 디자이너의 "현지화" 대화 상자에서 설정됩니다

[![MobileTogether 다국어 현지화 대화 상자](/blog/images/mobile-together-localization-dialog.png)](mobile-together-localization-dialog.png)

대화 상자 상단 부분에서는 개발자가 앱 내 각 컨트롤에 대해 서로 다른 언어로 텍스트를 지정할 수 있습니다. 앱 창 상단에 있는 "말하기", "음소거", "종료" 버튼과 같은 컨트롤들은 "로컬라이제이션" 대화 상자의 상단 세 줄에 해당 언어로 번역되어 표시됩니다.

앱이 사용자의 모바일 기기에서 실행될 때, 기기 운영체제 설정에 지정된 기본 언어에 따라 각 컨트롤에 표시되는 텍스트가 결정됩니다. 만약 최종 사용자가 다른 언어를 사용하고 있다면, 로컬라이제이션 설정 대화 상자에 지정된 기본값이 사용됩니다.

대화 상자 상단에 있는 녹색 "+" 버튼을 사용하면 개발자가 표준 언어 코드 목록에서 추가 언어 지원을 추가할 수 있습니다

[![모바일 앱의 다국어 현지화: 새로운 언어 추가](/blog/images/mobiletogether-add-language.png)](mobiletogether-add-language.png)

MobileTogether의 다국어 지원 기능은 키릴 문자를 사용하는 아제르바이잔어(메뉴에서 az-Cyrl-AZ로 표시됨)와 같은 로마자가 아닌 문자 체계를 사용하는 언어까지 지원합니다. 또한 일본의 한자도 지원합니다. 실제로 MobileTogether와 함께 설치되는 모든 데모 애플리케이션은 독일어, 프랑스어, 스페인어, 일본어 등으로 현지화되어 있습니다. 아래는 데모용 주택 담보 계산기 앱의 현지화 설정 창의 일부로, 다양한 레이블 텍스트를 지정할 수 있습니다

[![로마자가 아닌 다른 문자 체계를 사용하는 다국어 현지화](/blog/images/non-roman-localization.png)](non-roman-localization.png)

로컬라이제이션 대화 상자의 하단 부분에서는 개발자가 특정 이름이 지정된 텍스트 문자열에 대한 내용을 설정할 수 있습니다. 저희 데모 앱에서는, 이 텍스트 문자열들이 메시지 상자에 표시되거나 실행 중에 음성으로 출력될 문구들입니다.

대규모 복잡한 애플리케이션에서 개발자가 모든 텍스트를 번역하는 것이 현실적으로 어렵다면, "로컬라이제이션" 대화 상자 하단의 "내보내기" 및 "가져오기" 버튼을 사용하여 MobileTogether Designer 외부의 XML 파일에서 다국어 로컬라이제이션 텍스트를 관리할 수 있습니다. 번역가 또는 다른 언어 전문가가 Altova XMLSpy와 같은 [XML 편집기](https://www.altova.com/ko/xmlspy-xml-editor)를 사용하여 로컬라이제이션 텍스트를 생성하거나 수정할 수 있습니다.

데모 앱이 실행되면, 액션 그룹은 데이터 트리 내의 각 노드에 적절한 현지화된 표현을 할당합니다

[![다국어 현지화: 사용자 언어로 메시지를 표시합니다](/blog/images/localized-message-action-group.png)](localized-message-action-group.png)

다국어 현지화 텍스트가 정의되면, 앱을 배포하기 전에 현지화 상태를 확인하기 위해 시뮬레이션 중에 사용되는 언어를 변경할 수도 있습니다. "프로젝트" 메뉴에서 "시뮬레이션 언어" 옵션을 선택할 수 있으며, 제공되는 언어는 프로젝트의 "현지화" 대화 상자에 정의된 언어와 일치합니다.

[![새로운 언어로 시뮬레이션 실행을 통해 다국어 현지화 지원](/blog/images/simulation-language-menu.png)](simulation-language-menu.png)

다음은 시뮬레이터 창에서 실행 중인 모기지 계산기 데모 애플리케이션의 모습입니다. 여기서 시뮬레이션 언어는 일본어로 설정되어 있으며, 선택된 대상 기기는 세로 방향으로 설정된 아이폰 6입니다

[![다국어 현지화 과정에서 모바일 앱 실행을 시뮬레이션합니다](/blog/images/japanese-simulation.png)](japanese-simulation.png)

**집합 언어 액션**

사용자는 기기의 운영체제 언어 설정을 변경하지 않고도, 앱이 지원하는 모든 언어로 앱을 실행할 수 있습니다. 이 기능은 언어 학습 환경에서 유용하게 사용될 수 있으며, 여러 사용자가 사용하는 워크스테이션이나 태블릿에서 서로 다른 언어를 사용하는 사용자들에게도 유용합니다.

저희의 다국어 번역 데모 앱은 사용자가 콤보 박스 컨트롤을 통해 원하는 언어를 선택할 수 있도록 설계되었습니다. 앱은 선택 사항을 확인하는 메시지 상자를 표시한 후, 선택된 언어로 앱을 다시 시작합니다.

아래는 해당 앱이 아이폰에서 실행되는 화면의 스크린샷입니다. 사용자는 언어 선택 메뉴를 열고 이탈리아어를 선택했지만, 아직 "완료" 버튼을 클릭하여 선택을 확정하지 않았습니다. (안드로이드 폰에서는 사용자가 단순히 새로운 선택 항목을 터치하면 됩니다.)

[![다국어 현지화 기능으로, 최종 사용자가 원하는 언어를 선택할 수 있습니다](/blog/images/user-set-language.png)](user-set-language.png)

사용자가 언어 선택을 확인하면, 앱은 이탈리아어로 다시 시작됩니다

[![이탈리아어로 실행되는 모바일 앱의 다국어 현지화 데모입니다](/blog/images/localized-app-running-italian.png)](localized-app-running-italian.png)

편집 필드에 표시되는 식당 관련 텍스트는 번역되기 때문에, 이는 "로컬라이제이션" 대화 상자에 정의된 표준 텍스트 항목 중 하나이기 때문입니다

[![모바일 앱 메시지를 여러 언어로 번역하여 다국어 현지화하기](/blog/images/localized-startup-text.png)](localized-startup-text.png)

데모 앱 개발자는 사용자에게 불편을 끼치지 않도록, 사용자가 의도치 않게 익숙하지 않은 언어로 인해 어려움을 겪지 않도록 새로운 언어를 설정할 때 다음과 같은 여러 단계를 거칩니다

![](/blog/images/mobile-app-set-language-actions.png)

먼저, 텍스트-음성 변환 기능이 현재 앱에 설정된 언어로 재시작 경고 메시지를 읽어줍니다.

두 번째로, 동일한 재시작 경고 메시지가 현재 설정된 언어로 표시되며, "확인" 또는 "취소" 옵션을 선택할 수 있는 메시지 상자가 나타납니다.

사용자가 "확인"을 선택하면, "userLanguage" 요소가 콤보 박스에서 선택된 값으로 업데이트되고, 이후 "언어 설정" 기능이 앱을 다시 시작합니다.

사용자가 "확인" 대신 "취소"를 선택하면, 콤보 박스의 선택 항목은 현재 설정된 언어로 초기화되고, 앱은 언어를 변경하지 않고 계속 실행되며, 다음 사용자 입력을 기다립니다.

자신의 크로스 플랫폼 모바일 앱을 현지화하려면, [무료로 사용할 수 있는 모바일투게더 디자이너를 다운로드](https://www.altova.com/ko/download/mobiletogether.html)하세요. 이 프로그램에는 통합된 도움말, 튜토리얼, 그리고 다양한 샘플 앱들이 포함되어 있습니다.
