소프트웨어 글로벌화
소프트웨어 글로벌화는 소프트웨어 서비스의 고유 기능 및 성능에 대한 품질과 더불어 글로벌 시장의 다양한 시스템과 사용자 환경을 효과적으로 지원할 수 있도록 구현하는데 목적이 있다. 글로벌 소프트웨어를 개발하기 위한 기술적인 절차를 글로벌화(Globalization, G11N)라고 하며 글로벌화를 적용함에 있어 국제화(Internationalization, I18N), 현지화(Localization, L10N) 영역으로 구분된다.
글로벌화(Globalization, G11N)의 필요성
① 독일 시장조사기관 스태티스타에 따르면 전 세계 소프트웨어(SW) 시장의 규모가 2026년까지 50% 이상 확대된다는 관측이 나왔다. 특히 기업용 SW의 시장이 크게 확대된다는 전망이다. 하지만 현재 국내 SW산업은 글로벌 시장에서 영향력이 미미하다.
SW산업은 미래의 국가 경쟁력으로 평가받는 산업으로 국내 SW의 성장이 필요하며 이에 따라 해외 시장 진출을 위한 글로벌화(Globalization, G11N)의 중요성과 필요성도 증대되고 있다.
② CSA 리서치에 따르면 사용자의 70%가 현지 버전이 없는 소프트웨어를 사지 않겠다고 답했으며, 사용자의 80%는 현지 지원이 없는 소프트웨어를 사지 않겠다고 답한 것으로 나타났다. 인터넷의 발달로 세계 어디서든 쉽고 빠르게 기술과 소프트웨어를 접할 수 있다. 소프트웨어의 네트워크 효과를 극대화하려면 더 많은 사용자가 소프트웨어를 사용할 수 있어야 한다. 많은 사용자가 소프트웨어를 사용하도록 하기 위해서는 현지의 언어, 문화, 관습에 맞게 현지 버전의 소프트웨어를 제공해야 하며 더 나아가 해외 시장에 진출한 기업이 지속적으로 사업을 확대하고 이익을 얻기 위해서는 현지의 자원을 최대한 활용하여 현지시장의 요구에 신속하고 정확하게 대응해야 한다.
용어 정리
※ 약어 규칙: Internationalization 가장 첫 글자인 I 와 가장 마지막 글자인 N 사이에 알파벳이 18개가 있다고 해서 I18N I18N이라 칭한다.
T9N : Translation (번역)
텍스트를 다른 언어로 변환하는 것으로 사람이 하는 번역부터 기계 번역(Machine Translation)까지 포함된 영역이다.
L10N : Localization (현지화)
현지의 언어, 문화, 관습, 정책에 적합하도록 소프트웨어의 리소스와 콘텐츠 등을 결합하는 절차이다.
I18N : Internationalization (국제화)
특정 지역이나 언어에 종속되지 않고 국제적으로 통용되는 소프트웨어를 설계하고 구현하는 기술적인 절차이다.
G11N : Globalization (글로벌화)
글로벌 사용자들이 소프트웨어를 사용할 수 있도록 만드는 기획 단계이자 I18N과 L10N을 포함하는 총체적인 사이클이다.
T9N : Translation (번역)
컴퓨터 보조 번역 (CAT - Computer-Assisted Translation)
번역 과정을 돕는 컴퓨터 소프트웨어를 이용해 번역하는 방식이다.
번역 메모리 (TM - Translation Memory)
번역된 문장, 단락 또는 세그먼트의 텍스트를 저장하는 데이터베이스이다.
기계 번역 (MT - Machine Translation)
사람의 개입 없이 텍스트를 다른 언어로 번역하는 소프트웨어 기반 프로세스이다.
기계 번역(Machine Translation)의 종류
규칙 기반 기계 번역 (RBMT - Rule Based Machined Translation)
언어의 문법을 규칙화해 번역하는 방법이다.
통계 기계 번역 (SMT - Statistical Machined Translation)
빅데이터를 이용해 통계적으로 규칙을 생성해 번역하는 방법이다. 광범위한 데이터가 쌓이지 전까지 번역의 품질이 떨어진다.
신경망 기계 번역 (NMT - Neutral Machined Translation)
MT 엔진 개발의 표준으로 인공 신경망을 사용하여 단어 시퀀스의 가능성을 예측하는 접근 방식을 사용하는 방법이다.
L10N (Localization) : 현지화
현지의 언어, 문화, 관습, 정책에 적합하도록 소프트웨어의 리소스와 콘텐츠 등을 결합하는 절차로 현지에서 개발된 소프트웨어와 비교하여 차이가 나지 않을 만큼 현지의 특색을 최대한 반영해야 한다. 현지 사용자의 서비스 이용 행태를 UX 디자인에 반영하는 것도 포함한 광범위한 작업이다.
문자열 | 현지 사용자 환경에서 입력, 표시, 처리되는 모든 문자열 처리가 정상적이어야 한다. 문자열 정렬 방법을 현지화 한다. (예. 발음의 강세가 표현된 글자 cote < côte < coté < côté (French collation) |
포맷 | 달력 세팅, 일/월/년도의 명칭 등을 포함한 날짜 포맷을 현지화 한다. 시간 포맷을 현지화 한다. (예. 썸머타임에 대한 설정 및 변경이 가능하도록 구성한다.) 통화(심볼, 정밀도, 반올림 규칙, 폭, 세금, 화폐 등) 관련 정보를 현지화 한다. 주소 포맷(우편번호, 지역단위 등), 이름 포맷(성의 순서, 칭호 등)을 현지화 한다. 쓰는 방식, 쓰기 방향 정보(LTR/RTL)를 현지화 한다. 현지에서 사용하는 용지 크기에 따라 달라지는 기능(인쇄 기능 등)을 지원한다. |
UI | 텍스트가 확장되는 경우를 대비하여 공간을 고려해야 한다. (영어는 독일어, 네덜란드어로 번역될 때 약 40% 확장된다.) 폰트명, 폰트패밀리 및 사이즈의 현지화를 지원한다. |
문화, 관습 | 현지 문화에 대한 부적절한 내용이나 거부감을 유발할 수 있는 항목은 변경되거나 삭제해야 한다. 문화를 구체적으로 반영하는 아이콘과 그래픽을 사용하지 않는다. (예. 몸짓, 의복/제복, 계절, 종교적 심볼 등) 대상 지역, 언어권에 적합한 확인 및 승인 표시, 정지 신호, 정보 전달을 위한 색상 등을 사용해야 한다. |
번역 | 문서 및 리소스를 현지화할 때 대상 언어에 대한 번역의 신뢰도(의미 전달)를 확보해야 한다. 번역에 대한 결과물의 품질(번역상태, 관용적 표현, 전문용어 등)은 현지 담당자에게 직접 검수를 받아야 한다. |
I18N (Internationalization) : 국제화
소프트웨어가 특정 지역이나 언어에 종속되지 않고 다양한 지역, 언어에서 정상 동작하도록 국제적으로 통용되는 소프트웨어를 설계하고 개발하는 기술적인 절차이다.
문자열 | 문자 인코딩 : 모든 문자를 충돌없이 표현할 수 있도록 유니코드 방식을 준수해야 한다. 문자열 치환 : 문자열을 해당 언어/지역에 맞게 변환해야 한다. 문자열 치환 방법 : ① 서버에서 요청 언어별 리소스를 교체 (Server Side) ② 클라이언트에서 요청 언어별 리소스 요청/교체 (Client Side) |
로케일 | 로케일 별 포맷(날짜, 시간, 통화, 주소, 용기크기 등)을 지원해야 한다. 시간을 기록할 때는 유닉스 시간으로 저장하고 출력 시 타임존에 맞게 변환하여 출력한다. ① 유닉스 시간 : 1433524597 ② 협정 세계시 : 2015-06-05 17:16:37 UTC ③ 달력 변환 : 2015-06-05 17:16:37 UTC ④ 한국의 타임존 : 2015-06-06 02:16:37+09:00(or PDT) ⑤ 한국의 시간 포맷 : 2015년 6월 6일,오전 2시 16분 37초 지정된 로케일에 적합한 용지 크기, 봉투 크기 및 기타 기본값을 사용해야 한다. 쓰는 방식, 쓰기 방향 정보(LTR/RTL)에 따라 레이아웃이 미러링을 지원해야 한다. 파일의 형태(문서나 미디어 타입 등)는 로케일에 맞게 변경/변환할 수 있어야 한다. 플랫폼(디바이스)의 로케일에 따라 포맷이 변경되는 경우 오류가 발생하지 않아야 한다. |
호환성 | 현지화된 모든 기능은 대상 지역, 언어권의 사용자 시스템에서 정상적으로 동작해야 한다. 여러 국가에서 사용하는 다양한 운영체제에서 원활하게 동작해야 하며 문제 해결을 위한 계획을 준비해야 한다. |
모듈화 | 특정 지역 및 문화에 따라 기능, UI를 활성/비활성화 할 수 있어야 한다. |
출시, 배포 | 자동 설치 및 관리자 기능을 지원함에 있어 원할하게 동작해야 하며 문제 해결을 위한 계획을 준비해야 한다. 대상 지역, 언어권에 적합한 라이선스 및 패키징 방법과 서비스 형식을 제공해야 한다. (현지 규제 준수) 현지화된 버전의 배포나 지원(사후관리)은 대상 언어권 사용자들에게 익숙한 형태로 제공해야 한다. |
G11N (Globalization) : 글로벌화
글로벌 사용자들이 소프트웨어를 사용할 수 있도록 기획하는 단계이자 국제화와 현지화를 포함하는 총체적인 사이클이다.
글로벌 소트프웨어 개발주기 |
|
요구분석 | 기본 콘텐츠, 기능에 덧붙여 지역별로 다른 요구사항을 작성한다. 서비스가 제공하는 기능 및 콘텐츠에 대해 각 지역별로 다른 요구사항을 작성한다. 제공해야 할 기술 지원과 기능 및 제공 방법에 대해 정의한다. 지원 언어와 이를 위해 필요한 사항을 정의한다. |
설계/구현단계 | 동일한 코드 기반에서 다양한 현지화 요구를 수용할 수 있도록 제품 설계, 데이터 구조, 코드 등을 작성/수정한다. 로케일, 데이터 처리, 인터페이스 등 다양한 국제화 이슈 대응한다. |
테스트/QA | 유사 번역(Pseudo-translation)을 이용한 국제화된 제품의 초기 테스트 수행한다. (모든 텍스트를 실제 목적 언어의 특성에 가까운 “가비지(garbage)” 텍스트로 바꾸어 현지화 중에 일어날 수 있는 문제점을 찾기 위한 절차) 글로벌화 검증 테스트 (GVT) 수행한다. |
현지화 | 현지 언어에 맞는 번역 및 현지화 작업 수행한다. 기본 기능에 대한 하향 조정 등 현지화 버전 작업 실시한다. |
현지화 테스트 / QA |
기술 및 언어에 대한 품질보증(QA)활동 수행한다. 해당 지역의 자회사, 배포자 또는 사용자가 유효성 검사 또는 인수테스트 실시한다. 글로벌화 검증 테스트 (GVT) 수행한다. |
배포/지원 | 동일한 실행파일이 세계 어디서나 하나로 배포되어 설치/실행될 수 있도록 실시한다. 출시 후 버그에 대한 대응 및 해결책, 다양한 국제 침에 의한 지원한다. |
참고
nipa 정보통신산업진흥원 소프트웨어 글로벌화 가이드
nipa 정보통신산업진흥원 소프트웨어 글로벌화 체크리스트
중소기업정보기술융합학회논문지
'아카이브' 카테고리의 다른 글
ITIL4 - 서비스 가치 사슬 (Service Value Chain) (0) | 2022.02.07 |
---|---|
ITIL4 - ITIL 서비스 가치 시스템(Service Value System) (2) | 2022.01.10 |
ITIL4 - 4차원 모델(4Dementsions Model) (0) | 2022.01.10 |
ITIL4 (0) | 2021.12.02 |