KR20180033623A - 언어 현지화 방법 및 시스템 - Google Patents

언어 현지화 방법 및 시스템 Download PDF

Info

Publication number
KR20180033623A
KR20180033623A KR1020160122775A KR20160122775A KR20180033623A KR 20180033623 A KR20180033623 A KR 20180033623A KR 1020160122775 A KR1020160122775 A KR 1020160122775A KR 20160122775 A KR20160122775 A KR 20160122775A KR 20180033623 A KR20180033623 A KR 20180033623A
Authority
KR
South Korea
Prior art keywords
localization
translation table
language
source code
translation
Prior art date
Application number
KR1020160122775A
Other languages
English (en)
Inventor
윤영선
이준행
Original Assignee
윤영선
이준행
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 윤영선, 이준행 filed Critical 윤영선
Priority to KR1020160122775A priority Critical patent/KR20180033623A/ko
Publication of KR20180033623A publication Critical patent/KR20180033623A/ko

Links

Images

Classifications

    • G06F17/28

Landscapes

  • Stored Programmes (AREA)

Abstract

본 발명은 언어 현지화 방법 및 시스템에 관한 것이다. 본 발명은 응용프로그램의 언어 현지화 방법에 있어서, 클라이언트로부터 현지화 정보 및 상기 응용 프로그램의 소스 코드를 수신하는 단계, 상기 소스 코드의 형식에 대응되는 코드 패턴을 이용하여, 상기 소스 코드로부터 변수 및 상기 변수에 대응되는 제 1 언어 데이터를 추출하는 단계, 상기 변수, 현지화 정보 및 상기 제 1 언어 데이터를 포함하는 제 1 번역 테이블을 생성하는 단계, 상기 제 1 번역 테이블을 번역 모듈로 전송하는 단계, 상기 번역 모듈이 상기 변수와 제 2 언어 데이터를 포함하는 제 2 번역 테이블을 생성하여 전송하면, 상기 번역 모듈로부터 제 2 번역 테이블을 수신하는 단계, 상기 제 2 번역 테이블을 이용하여 현지화 소스 코드를 생성하는 단계를 포함하며, 상기 제 2 언어 데이터는 상기 번역 모듈이 상기 현지화 정보에 따라 상기 제 1 언어 데이터를 번역한 데이터인 것을 일 특징으로 한다. 본 발명에 의하면, 응용 프로그램을 위해 생성된 소스 코드를 클라이언트가 원하는 파일 형식 및 대상 언어로 손쉽게 현지화 할 수 있다.

Description

언어 현지화 방법 및 시스템{METHOD AND SYSTEM OF LANGUAGE LOCALIZATION}
본 발명은 언어 현지화 방법 및 시스템에 관한 것으로, 보다 자세하게는 응용 프로그램의 언어를 현지화하는 방법 및 시스템에 관한 것이다.
국제화(Internationalization)와 현지화(Localization)는 출판물이나 하드웨어 또는 소프트웨어 등의 제품을 언어 및 문화권 등이 다른 여러 환경에 대해 사용할 수 있도록 지원하는 것을 의미한다. 여기서 현지화는 제품을 특정한 언어나, 문화, 그리고 현지의 정서에 맞추는 것을 의미한다. 예를 들어, 설명서의 경우에는 기술적인 삽화 등을 사용함으로써 그 안에 있는 글자들을 다른 나라의 언어로 쉽게 바꿀 수 있도록 하는 것이다. 가장 대표적인 현지화는 제품에 표기된 언어를 현지 언어로 번역하는 것이다. 국제화는 이러한 권능을 부여하는 과정으로, 제품 자체가 여러 환경을 지원할 수 있도록 제품을 설계하는 것을 의미한다.
최근에는 컴퓨터 또는 휴대용 단말 등에서 구동되는 응용 프로그램을 여러 국가에 출시하는 사례가 증가하고 있다. 다국적 기업에서 개발한 몇몇의 운영체제(OS)들이 전세계에서 사용되는 전자 장치에 공통적으로 활용되고 있기 때문에, 상기 운영체제를 기반으로 동작하는 응용 프로그램 개발 시, 현지화만 거치면 수월하게 해외 시장에 응용 프로그램을 배포할 수 있기 때문이다.
기업의 영업활동이 해외 시장까지 확대되는 경우, 현지화는 필수적이다. 그러나 응용 프로그램에 사용되는 언어의 현지화에 있어서, 사전적인 번역을 이용하는 경우 품질이 저하되는 문제가 있으며, 이러한 문제를 해결하기 위한 다양한 방법이 제안되고 있다.
그러나 종래의 방법에 의하면, 프로그래머가 수작업으로 소스코드에 포함된 번역 가능한 메시지를 번역된 메시지로 일일이 교체하는 작업을 수행해야 하는 문제가 있다. 또한, 동일한 응용 프로그램임에도 불구하고 운영 체제가 변환되면 소스 코드 작성과 현지화를 반복해야하기 때문에 시간과 에너지가 많이 소요된다는 문제가 있다.
본 발명은 전술한 문제를 해결하기 위한 것으로, 일 응용 프로그램을 위해 생성된 소스 코드를 클라이언트가 원하는 파일 형식 및 대상 언어로 현지화 할 수 있는 시스템 및 방법을 제공하는 것을 일 목적으로 한다.
또한, 본 발명은 클라이언트의 식별 정보, 응용 프로그램의 분야 정보를 이용하여, 언어 현지화의 정확성을 향상시킬 수 있는 방법을 제공하는 것을 다른 목적으로 한다.
또한, 본 발명은 소스 코드 및 현지화 소스 코드의 버전을 관리하고, 이전 버전의 소스 코드에서 변경된 부분만을 추출하여 번역을 수행할 수 있도록 함으로써, 시스템 전반에서 처리되는 데이터량을 현저하게 줄이고, 처리 시간을 단축시키는 것을 다른 목적으로 한다.
또한, 본 발명은 해당 응용 프로그램의 분야에서 기 사용된 번역 데이터 및 현지화를 의뢰한 클라이언트가 기 번역한 데이터를 학습하고, 학습된 데이터를 활용함으로써 보다 정확도 높은 번역 데이터를 언어 현지화에 활용하는 것을 다른 목적으로 한다.
이러한 목적을 달성하기 위한 본 발명은 응용프로그램의 언어 현지화 방법에 있어서, 클라이언트로부터 현지화 정보 및 상기 응용 프로그램의 소스 코드를 수신하는 단계, 상기 소스 코드의 형식에 대응되는 코드 패턴을 이용하여, 상기 소스 코드로부터 변수 및 상기 변수에 대응되는 제 1 언어 데이터를 추출하는 단계, 상기 변수, 현지화 정보 및 상기 제 1 언어 데이터를 포함하는 제 1 번역 테이블을 생성하는 단계, 상기 제 1 번역 테이블을 번역 모듈로 전송하는 단계, 상기 번역 모듈이 상기 변수와 제 2 언어 데이터를 포함하는 제 2 번역 테이블을 생성하여 전송하면, 상기 번역 모듈로부터 제 2 번역 테이블을 수신하는 단계, 상기 제 2 번역 테이블을 이용하여 현지화 소스 코드를 생성하는 단계를 포함하며, 상기 제 2 언어 데이터는 상기 번역 모듈이 상기 현지화 정보에 따라 상기 제 1 언어 데이터를 번역한 데이터인 것을 일 특징으로 한다.
또한, 본 발명은 응용프로그램의 언어 현지화 시스템에 있어서, 클라이언트로부터 현지화 정보 및 상기 응용 프로그램의 소스 코드를 수신하고, 번역 테이블을 번역 모듈과 송수신하는 통신부, 상기 소스 코드의 형식에 대응되는 코드 패턴을 이용하여, 상기 소스 코드로부터 변수 및 상기 변수에 대응되는 제 1 언어 데이터를 추출하는 추출부, 상기 변수, 상기 현지화 정보 및 상기 제 1 언어 데이터를 포함하는 제 1 번역 테이블을 생성하는 번역 테이블 생성부, 상기 통신부가 번역 모듈로부터 수신한 제 2 번역 테이블을 이용하여 현지화 소스 코드를 생성하는 현지화부를 포함하며, 상기 제 2 번역 테이블은 상기 번역 모듈이 상기 제 1 번역 테이블을 이용하여 생성한 것으로 상기 변수 및 상기 제 2 언어 데이터를 포함하고, 상기 제 2 언어 데이터는 상기 현지화 정보에 따라 상기 제 1 언어 데이터를 번역한 데이터인 것을 일 특징으로 한다.
전술한 바와 같은 본 발명에 의하면, 응용 프로그램을 위해 생성된 소스 코드를 클라이언트가 원하는 파일 형식 및 대상 언어로 손쉽게 현지화 할 수 있다.
또한, 본 발명에 의하면 클라이언트의 식별 정보, 응용 프로그램의 분야 정보를 이용하여 언어 현지화의 정확성을 향상시킬 수 있다.
또한, 본 발명에 의하면 소스 코드 및 현지화 소스 코드의 버전을 관리할 수 있으며, 이전 버전의 소스 코드에서 변경된 부분만을 추출하여 번역을 수행할 수 있도록 함으로써, 시스템 전반에서 처리되는 데이터량을 현저하게 줄일 수 있으며, 처리 시간을 단축시킬 수 있다.
또한, 본 발명에 의하면 해당 응용 프로그램의 분야에서 기 사용된 번역 데이터 및 현지화를 의뢰한 클라이언트가 기 번역한 데이터를 학습하고, 학습된 데이터를 활용함으로써 보다 정확도 높은 번역 데이터를 언어 현지화에 활용할 수 있다.
도 1은 본 발명의 일 실시 예에 의한 언어 현지화 시스템 환경을 도시한 도면,
도 2는 본 발명의 일 실시 예에 의한 언어 현지화 장치를 설명하기 위한 블록도,
도 3은 본 발명의 일 실시 예에 따른 번역 모듈을 설명하기 위한 블록도,
도 4는 본 발명의 일 실시 예에 따른 언어 현지화 방법을 설명하기 위한 흐름도,
도 5는 본 발명의 일 실시 예에 따른 현지화 소스파일 생성 방법을 보다 자세히 설명하기 위한 순서도,
도 6은 본 발명의 일 실시 예에 따른 언어 현지화 방법을 설명하기 위한 흐름도이다.
전술한 목적, 특징 및 장점은 첨부된 도면을 참조하여 상세하게 후술되며, 이에 따라 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 본 발명의 기술적 사상을 용이하게 실시할 수 있을 것이다. 본 발명을 설명함에 있어서 본 발명과 관련된 공지 기술에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에는 상세한 설명을 생략한다. 이하, 첨부된 도면을 참조하여 본 발명에 따른 바람직한 실시 예를 상세히 설명하기로 한다. 도면에서 동일한 참조부호는 동일 또는 유사한 구성요소를 가리키는 것으로 사용되며, 명세서 및 특허청구의 범위에 기재된 모든 조합은 임의의 방식으로 조합될 수 있다. 그리고 다른 식으로 규정하지 않는 한, 단수에 대한 언급은 하나 이상을 포함할 수 있고, 단수 표현에 대한 언급은 또한 복수 표현을 포함할 수 있음이 이해되어야 한다.
본 명세서에서 언어 현지화 시스템(1000)은 컴퓨팅 장치에서 실행되는 응용 프로그램 또는 컴퓨터 그 자체일 수 있으며, 네트워크를 통해 접속 가능한 서버일 수 있다. 클라이언트(10)와 사용자(300)는 웹 브라우저 또는 휴대용 단말에 설치된 응용 프로그램을 통해 언어 현지화 시스템(1000)에 접속할 수 있으며, 언어 현지화 시스템(1000)은 각 클라이언트(10) 및 사용자(300) 단말에 설치된 응용 프로그램 내에서 동작할 수도 있다.
또한, 도 1에 도시된 각각의 구성요소(10, 100, 200, 300)는 각각 하드웨어 프로세서로 구현될 수 있다. 또한, 언어 현지화 장치(100)와 번역 모듈(200)은 하나의 하드웨어 프로세서로 구현될 수 있으며, 또는 위 구성요소들이 서로 조합되어 복수 개의 하드웨어 프로세서로 구현될 수도 있다.
도 1을 참조하면, 본 발명에 의한 언어 현지화 시스템(1000)은 좁게는 언어 현지화 장치(100)와 번역 모듈(200)을 포함하며, 넓게는 클라이언트(또는 의뢰인)(10)와 사용자(또는 번역가)(300)를 더 포함할 수 있다. 이하에서는 좁은 의미의 언어 현지화 시스템(1000)의 예를 설명하기로 한다.
클라이언트(10)는 네트워크를 통해 언어 현지화 시스템(1000)에 소스 코드 및 현지화 정보를 전송할 수 있으며, 언어 현지화 시스템(1000)은 소스 코드를 제 1 번역 테이블로 변환하여, 사용자(300)에게 제공할 수 있다. 사용자(300) 역시 네트워크를 통해 언어 현지화 시스템(1000)에 접속하여, 제 2 번역 테이블 생성에 필요한 정보를 입력할 수 있다. 본 발명은 사용자(300)로부터 데이터를 입력받아 활용할 수 있으나, 번역 모듈(200) 자체적으로 제 2 번역 테이블 생성에 필요한 작업을 수행할 수 있다. 언어 현지화 시스템(1000)은 제 2 번역 테이블을 이용하여 클라이언트(10)가 바로 응용 프로그램에 적용할 수 있는 현지화 소스 코드를 클라이언트(10)에 제공할 수 있다.
본 명세서에서 소스 코드는 특정 프로그래밍 언어를 이용해 생성된 코드일 수 있으며 파일 형태로 송수신될 수 있다. 예를 들어, 소스 코드는 자바스크립트, C언어, XML(Extensible Markup Language), Swift, 혹은 또 하나의 다른 적절한 프로그래밍 언어로 작성된 코드일 수 있다.
소스 코드는 컨트롤 문자, 변수 및 데이터로 구성될 수 있는데, 본 명세서에서 컨트롤 문자는 각 프로그래밍 언어에서 정의하고 있는 함수 또는 기호일 수 있다. 변수(variable)는 소스 코드에서 프로그래머가 선언하여 특정 데이터를 할당하기 위해 사용되는 인자를 의미한다. 또한, 본 명세서에서 데이터는 번역 대상이 되는 문자열(string)을 의미하는 것으로 이해될 수 있으며, 하나 이상의 언어로 작성될 수 있다.
또한, 본 명세서에서 제 1 언어 데이터, 제 2 언어 데이터 등과 같이 구별된 명칭은 서로 다른 언어의 문자열을 의미하는 것으로 이해될 수 있다.
본 명세서에 기재된 ‘번역 테이블’은 각각의 변수에 제 1 언어 데이터 및/또는 제 2 언어 데이터가 매핑되어 있는 테이블일 수 있다. 이 경우, 제 1 언어 데이터 및/또는 제 2 언어 데이터는 응용 프로그램에 표시되는 문자열로써, 동일한 의미의 서로 다른 언어인 것으로 이해될 수 있다. 제 1 언어 데이터와 제 2 언어 데이터는 상호 번역될 수 있으며, 번역 대상 언어 및 번역 결과 언어는 클라이언트 설정에 의해 달라질 수 있다.
도 2는 본 발명의 일 실시 예에 의한 언어 현지화 장치를 설명하기 위한 블록도이다. 도 2를 참조하면, 본 발명의 일 실시 예에 따른 언어 현지화 장치(100)는 통신부(110), 추출부(130), 번역 테이블 생성부(150), 현지화부(170)를 포함할 수 있으며, 버전 관리부(190)를 더 포함할 수 있다. 또한, 언어 현지화 장치(100)는 하드웨어 적으로 번역 모듈(200)을 포함할 수 있으며, 이 경우 언어 현지화 장치(100)와 언어 현지화 시스템(1000)은 구분이 불필요하다. 이하에서는 언어 현지화 장치(100)와 번역 모듈(200)을 개념적으로 분리하여 설명하기로 한다.
통신부(110)는 클라이언트(10)로부터 현지화 정보 및 상기 응용 프로그램의 소스 코드를 수신하고, 번역 테이블을 번역 모듈(200)과 송수신할 수 있다. 현지화 정보는 변환하고자 하는 파일의 형식, 현지화 언어, 응용 프로그램의 분야 정보, 상기 클라이언트의 식별 정보 중 적어도 하나를 포함할 수 있다. 본 명세서에서 제 1 언어는 번역하고자하는 번역 대상 언어, 즉 소스(source) 언어이며, 제 2 언어는 번역된 언어, 즉 현지화 언어를 의미하는 것으로 이해될 수 있다.
통신부(110)는 언어 현지화 시스템(1000)이 동일한 클라이언트로부터 새로운 소스 코드를 수신했을 때, 번역 테이블 생성부(150)가 생성한 제 3 번역 테이블을 번역 모듈(200)에 전송하고, 번역 모듈(200)로부터 제 3 번역 테이블에 대응하는 제 4 번역 테이블을 수신할 수 있다. 번역 모듈(200)이 제 3 번역 테이블을 이용하여 제 4 번역 테이블을 생성하는 방법은 제 1 번역 테이블을 이용하여 제 2 번역 테이블을 생성하는 방법과 동일하며, 구체적인 방법은 도 3에서 후술하기로 한다.
추출부(130)는 소스 코드의 형식에 대응되는 코드 패턴을 이용하여, 소스 코드로부터 변수 및 변수에 대응되는 제 1 언어 데이터를 추출할 수 있다. 예를 들어, 소스 코드에 <string value=“A”>책상</string> 와 같은 코드가 삽입된 경우를 가정하자. <string value=" "> 와 </string>은 프로그래밍 언어에서 정의된 문자열로 컨트롤 문자에 해당하며, 특정한 프로그래밍 언어에서 사용되는, 그리고 특정한 운영 체제에 적용 가능한 코드 패턴일 수 있다. 추출부(130)는 소스 코드를 분석하여, 어떠한 코드 패턴을 이용하여 변수 및 제 1 언어 데이터를 추출해야 하는지를 판단한다. 즉, 추출부(130)는 해당 소스 코드에 사용된 프로그래밍 언어는 무엇인지, 해당 소스 코드가 구동되는 운영 체제가 무엇인지 판단할 수 있다. 이러한 프로그래밍 언어 및 운영 체제 별 코드 패턴은 미리 저장될 수 있으며, 추출부(130)는 기 저장된 코드 패턴을 이용하여 변수 및 데이터를 추출 할 수 있다.
번역 테이블 생성부(150)는 변수, 현지화 정보 및 제 1 언어 데이터를 포함하는 제 1 번역 테이블을 생성할 수 있다. 번역 테이블 생성부(150)는 추출부(130)에서 추출된 변수와 제 1 언어 데이터를 각각 매핑하여 테이블로 생성할 수 있다. 아래 표 1은 전술한 실시 예에 대응되는 제 1 번역 테이블의 일 예시이다.
변수 제 1 언어 데이터
A 책상
B 감자
번역 테이블 생성부(150)는 언어 현지화 시스템(1000)이 동일한 클라이언트로부터 새로운 소스 코드를 수신하면, 버전 관리부(190)가 추출한 추가 변수 및/또는 변경된 제 1 언어 데이터를 포함하는 제 3 번역 테이블을 생성할 수 있다. 제 3 번역 테이블은 추가되거나 변경된 부분만을 포함하므로, 제 1 번역 테이블에 비해 상대적으로 적은 수의 변수 및 데이터를 포함할 수 있다. 또한, 번역 테이블 생성부(150)는 통신부(110)가 번역 모듈(200)로부터 제 4 번역 테이블을 수신하면, 제 4 번역 테이블을 제 2 번역 테이블과 결합하여 새 버전의 제 2 번역 테이블을 생성할 수 있다.
현지화부(170)는 통신부(110)가 번역 모듈(200)로부터 수신한 제 2 번역 테이블을 이용하여 현지화 소스 코드를 생성할 수 있다. 여기서 제 2 번역 테이블은 번역 모듈이 제 1 번역 테이블을 이용하여 생성한 것으로 변수 및 제 2 언어 데이터를 포함할 수 있다. 또한, 제 2 언어 데이터는 현지화 정보에 따라 제 1 언어 데이터를 번역한 데이터일 수 있다. 전술한 실시 예에 따른 제 2 번역 테이블의 일 예시는 아래 표 2와 같다. 제 2 번역 테이블은 아래와 같이 생성될 수도 있고, 각 변수에 제 2 언어 데이터만 매핑된 형태로 생성될 수도 있다.
변수 제 1 언어 데이터 제 2 언어 데이터
A 책상 desk
B 감자 potato
현지화부(170)는 현지화 정보에서 변환 코드 형식을 확인하고, 변환 코드 형식에 대응되는 코드 패턴을 탐색하고, 변수 및 제 2 언어 데이터를 상기 코드 패턴의 기 설정된 위치에 각각 삽입할 수 있다. 클라이언트(10)는 변환 코드 형식을 지정하여 언어 현지화 시스템(1000)에 전달할 수 있다. 전술한 바와 같이, 통신부(130)는 클라이언트(10)로부터 현지화 정보를 수신할 수 있는데, 현지화 정보에는 클라이언트(10)가 변환하고자 하는 변환 코드 형식이 포함될 수 있다. 예를 들어, 클라이언트는 xml로 작성된 소스 코드를 언어 현지화 시스템(1000)에 전송하고, 이를 swift 소스 코드로 현지화하도록 지정할 수 있다. 현지화부(170)는 기 저장된 하나 이상의 코드 패턴 중에서 swift의 코드 패턴을 탐색하고, 번역 모듈(200)로부터 수신한 제 2 번역 테이블에서 각 변수를 swift 코드 패턴의 변수 위치에 삽입할 수 있으며, 각 변수에 매핑된 제 2 언어 데이터를 데이터 위치에 삽입함으로써 현지화 소스 코드를 생성할 수 있다.
만약, 클라이언트(10)가 지정한 변환 코드 형식이 현지화 대상 소스 코드와 동일한 경우라면, 현지화부(170)는 원래의 소스 코드를 이용하여, 동일 변수에 대응되는 제 1 언어 데이터를 제 2 언어 데이터로 교체함으로써 현지화 소스 코드를 생성할 수 있다.
현지화부(170)는 언어 현지화 시스템(1000)이 동일한 클라이언트로부터 새로운 소스 코드를 수신하면, 번역 테이블 생성부(150)에서 생성된 새로운 버전의 제 2 번역 테이블을 이용하여 새 버전의 현지화 소스 코드를 생성할 수 있다.
버전 관리부(190)는 소스 코드, 상기 번역 테이블 및 상기 현지화 소스 코드에 버전 정보를 부여할 수 있다. 또한, 버전 관리부(190)는 클라이언트로부터 새로운 소스 코드를 수신하면, 소스 코드와 상기 새로운 소스 코드를 비교하여 추가된 변수 또는 변경된 제 1 언어 데이터를 추출할 수 있다. 버전 관리부(190)에서 추출된 추가 변수 및/또는 변경된 제 1 언어 데이터는 번역 테이블 생성부(150)로 전달되어 제 3 번역 테이블 생성에 사용된다. 본 발명의 일 실시 예에 따른 언어 현지화 장치(100) 또는 언어 현지화 시스템(1000)의 버전 관리부(190)는 시스템이 이전 버전의 소스 코드에서 변경된 부분만을 추출하여 번역을 수행할 수 있도록 함으로써, 시스템 전반에서 처리되는 데이터량을 현저하게 줄일 수 있으며, 처리 시간을 단축시킬 수 있다.
도 3은 본 발명의 일 실시 예에 따른 번역 모듈을 설명하기 위한 블록도이다. 도 3은 참조하면, 번역 모듈(200)은 통신부(210), 데이터베이스부(220), 참조 데이터 추출부(230), 추천 데이터 선정부(250), 입력부(260) 또는 기계 번역부(270), 번역 테이블 생성부(290)를 포함할 수 있다.
통신부(210)는 번역 모듈(200)이 언어 현지화 장치(100)의 일 구성으로 포함되는 경우에는 통신부(110)와 동일한 하드웨어 모듈을 이용하여 클라이언트(10) 또는 사용자(300)와의 정보 송수신을 수행할 수 있다. 다만, 본 실시 예에서는 번역 모듈(200)이 언어 현지화 장치(100)와 분리된 경우에 대해 설명한다.
통신부(210)는 언어 현지화 장치(100)로부터 제 1 번역 테이블을 수신하고, 제 1 번역 테이블에 대응되는 제 2 번역 테이블을 언어 현지화 장치(100)에 전송할 수 있다.
데이터베이스부(220)는 하나 이상의 클라이언트 요청에 의해 생성된 하나 이상의 번역 테이블을 저장할 수 있다. 데이터베이스부(220)는 정보를 저장하도록 구성된 임의의 적절한 저장 매체일 수 있다(예를 들어, 플래시, 하드 디스크 등). 데이터베이스부(220)는 서로 다른 하나 이상의 클라이언트가 전송한 소스 코드를 이용하여 생성된 번역 테이블, 그리고 번역 모듈(200)에 의해 기 번역된 번역 테이블들을 저장하고 있을 수 있으며, 이렇게 저장된 번역 테이블들은 기계 학습(machine learning)을 통한 학습 모델 생성에 사용될 수 있다.
학습 모델 생성부(240, 미도시)는 데이터베이스부(220)에 저장된 번역 테이블을 이용하여 기계 학습을 수행하여 학습 모델을 생성할 수 있다. 학습 모델 생성부(240)는 현지화 정보에 포함된 응용 프로그램의 분야 및/또는 클라이언트 식별 정보를 학습 모델 생성에 사용할 수 있으며, 학습 모델은 하나의 번역 테이블에 저장된 데이터들의 관계와 맥락을 분석하여 각 데이터(단어 또는 문장)에 대응되는 번역된 데이터 별로 가중치를 부여하는 기준이 된다.
참조 데이터 추출부(230)는 기 저장된 번역 테이블에서 제 1 언어 데이터를 탐색하고, 현지화 정보에 포함된 현지화 언어에 따라 제 1 언어 데이터에 대응되는 제 2 언어 데이터 후보군을 추출할 수 있다. 참조 데이터 추출부(230)는 분석 모듈(200)에 포함될 수도 있고, 포함되지 않을 수도 있다.
추천 데이터 선정부(250)는 기 저장된 학습 모델을 이용하여, 제 2 언어 데이터 후보군에 포함된 하나 이상의 데이터 각각에 가중치를 부여하고, 부여된 가중치에 따라 추천 데이터를 선정할 수 있다.
입력부(260)는 추천 데이터를 표시하고, 추천 데이터를 이용하여 번역된 제 2 언어 데이터를 사용자로부터 입력받을 수 있다. 입력부(260)는 추천 데이터를 사용자단말(300)에 전송하여 표시할 수도 있고, 번역 모듈(200)이 사용자 단말(300)에 내장되어 있는 경우 입력부(260)는 사용자 단말의 디스플레이로 구현될 수 있다.
사용자(300)는 추천 데이터를 선택함으로써 추천 데이터가 제 2 언어 데이터로 설정되도록 할 수 있으며, 추천 데이터를 참고하여 새로운 제 2 언어 데이터를 입력할 수도 있다.
기계 번역부(270)는 추천 데이터를 제 2 언어 데이터로 설정할 수 있다. 즉, 기계 번역부(270)를 이용하면 별도의 사용자 입력 없이 제 2 번역 테이블을 생성할 수 있다.
번역 모듈(200)은 입력부(260) 또는 기계 번역부(270) 중 어느 하나를 포함할 수 있으며, 둘 다 포함할 수 있다.
번역 테이블 생성부(290)는 제 2 언어 데이터와 변수를 포함하는 제 2 번역 테이블을 생성할 수 있다. 제 2 언어 데이터는 전술한 [표 2]와 같이 각 변수에 매핑되어 생성될 수 있으며, 제 2 번역 테이블에는 번역 대상이 되는 소스 언어인 제 1 언어 데이터도 포함될 수 있다.
도 4는 본 발명의 일 실시 예에 따른 언어 현지화 방법을 설명하기 위한 흐름도이다. 도 4를 참조하면, 언어 현지화 장치는 클라이언트로부터 현지화 정보 및 응용 프로그램의 소스 코드를 수신하고(S100), 소스 코드의 형식에 대응되는 코드 패턴을 이용하여, 소스 코드로부터 변수 및 변수에 대응되는 제 1 언어 데이터를 추출할 수 있다(S110). 다음으로 언어 현지화 장치는 변수, 현지화 정보 및 제 1 언어 데이터를 포함하는 제 1 번역 테이블을 생성하고(S120), 제 1 번역 테이블을 번역 모듈로 전송할 수 있다(S130).
번역 모듈이 현지화 정보에 따라 제 1 언어 데이터를 제 2 언어 데이터로 번역하고(S140), 변수와 제 2 언어 데이터를 포함하는 제 2 번역 테이블을 생성하여(S150) 전송하면, 언어 현지화 장치는 번역 모듈로부터 제 2 번역 테이블을 수신한다(S160).
다음으로 언어 현지화 장치는 제 2 번역 테이블을 이용하여 현지화 소스 코드를 생성하고(S170). 현지화 소스 코드를 클라이언트에 전송할 수 있다(S180). 여기서 제 2 언어 데이터는 번역 모듈이 현지화 정보에 따라 제 1 언어 데이터를 번역한 데이터를 의미하는 것으로 이해될 수 있다. 또한, 현지화 정보는 변환하고자 하는 파일의 형식, 현지화 언어, 응용 프로그램의 분야 정보, 클라이언트의 식별 정보 중 적어도 하나를 포함할 수 있다.
도 5는 본 발명의 일 실시 예에 따른 현지화 소스파일 생성 방법을 보다 자세히 설명하기 위한 순서도이다. 도 5를 참조하면, 단계 S170에서 언어 현지화 장치는 현지화 소스 코드를 생성함에 있어서, 현지화 정보에서 변환 코드 형식을 확인하고(S173), 변환 코드 형식에 대응되는 코드 패턴을 탐색하고(S175), 변수 및 제 2 언어 데이터를 코드 패턴의 기 설정된 위치에 각각 삽입할 수 있다(S177).
도 6은 클라이언트로부터 새로운 소스 코드를 수신한 경우의 언어 현지화 방법을 설명하기 위한 흐름도이다. 도 6을 참조하면, 전술한 단계 S100에서내지 S180 이후에, 클라이언트로부터 새로운 소스 코드를 수신하면(S200), 본 발명의 일 실시 예에 의한 언어 현지화 장치는 소스 코드와 새로운 소스 코드를 비교하여(S210), 추가된 변수 또는 변경된 제 1 언어 데이터를 추출하고(S220), 추가된 변수 또는 변경된 제 1 언어 데이터를 포함하는 제 3 번역 테이블을 생성할 수 있다(S230).
그리고, 제 3 번역 테이블을 번역 모듈에 전송하고(S240), 번역 모듈이 제 3 번역 테이블을 이용하여 제 4 번역 테이블을 생성하면(S250), 번역 모듈로부터 제 3 번역 테이블에 대응하는 제 4 번역 테이블을 수신한다(S260).
다음으로, 언어 현지화 장치는 제 4 번역 테이블을 제 2 번역 테이블과 결합하여 새 버전의 제 2 번역 테이블을 생성하고(S270), 새 버전의 제 2 번역 테이블을 이용하여 새 버전의 현지화 소스 코드를 생성할 수 있다(S280). 또한 언어 현지화 장치는 상술한 소스 코드, 번역 테이블, 현지화 소스 코드에 버전 정보 부여(S290)함으로써 각 파일을 버전에 따라 관리할 수 있다.
또한, 도면에 도시되지는 않았으나, 언어 현지화 장치는 생성된 현지화 소스 코드를 응용 프로그램에 렌더링할 수 있다. 이는 언어 현지화 장치가 클라이언트 단말에 포함된 경우의 실시 예로, 이 경우 클라이언트 단말은 현지화 소스 코드가 렌더링 된 응용 프로그램을 사용할 수 있다.
본 명세서에서 사용되는 용어는 단지 특정 예시적 실시예들을 설명할 목적을 가지고 있으며 한정할 의도로 사용되는 것이 아니다. 본 명세서에서 사용된 바와 같은 단수적 표현들은 또한, 해당 문장에서 명확하게 달리 표시하지 않는 한, 복수의 의미를 포함하도록 의도될 수 있다. 용어 "및/또는," "그리고/또는"은 그 관련되어 나열되는 항목들의 모든 조합들 및 어느 하나를 포함한다. 용어 "포함한다", "포함하는", "포함하고 있는", "구비하는", "갖는", "가지고 있는" 등은 내포적 의미를 갖는바, 이에 따라 이러한 용어들은 그 기재된 특징, 정수, 단계, 동작, 요소, 및/또는 컴포넌트를 특정하며, 하나 이상의 다른 특징, 정수, 단계, 동작, 요소, 컴포넌트, 및/또는 이들의 그룹의 존재 혹은 추가를 배제하지 않는다. 본 명세서에서 설명되는 방법의 단계들, 프로세스들, 동작들은, 구체적으로 그 수행 순서가 확정되는 경우가 아니라면, 이들의 수행을 논의된 혹은 예시된 그러한 특정 순서로 반드시 해야하는 것으로 해석돼서는 안 된다. 추가적인 혹은 대안적인 단계들이 사용될 수 있음을 또한 이해해야 한다.
다양한 요소들, 컴포넌트들, 영역들, 계층들 그리고/또는 섹션들을 설명하기 위해 본 명세서에서 제1, 제2, 제3 등의 용어가 사용될 수 있지만, 이러한 용어들에 의해 해당 요소들, 컴포넌트들, 영역들, 계층들 그리고/또는 섹션들이 한정돼서는 안 된다. 이러한 용어들은 하나의 요소, 컴포넌트, 영역, 계층 혹은 섹션을 다른 영역, 계층 혹은 섹션 등과 구분하기 위해 오로지 사용될 수 있다. "제1", "제2", 및 다른 수치적 용어들과 같은 표현들은 본 명세서에서 사용되는 경우, 해당 문장에서 명확히 표시되지 않는, 그 순서 즉 순차적 순서를 시사하고 있지 않다. 따라서, 아래에서 제시되는 제 1 요소, 제 1 컴포넌트, 제 1 영역, 제 1 계층 혹은 제 1 섹션은, 본 발명의 예시적 실시예들의 가르침으로부터 벗어남이 없이 제 2 요소, 제 2 컴포넌트, 제 2 영역, 제 2 계층 혹은 제 2 섹션으로 지칭될 수도 있다.
본 명세서에서 사용되는 바와 같은, 용어 "모듈"은 애플리케이션 특정 집적 회로(Application Specific Integrated Circuit, ASIC); 전자 회로; 조합형 로직 회로(combinational logic circuit); 현장 프로그래밍가능 게이트 어레이(Field Programmable Gate Array, FPGA); 네트워크화된 클러스터(networked cluster)들 또는 데이터센터(data center)들 내에서 코드 혹은 프로세스를 실행하는 프로세서, 혹은 프로세서들의 분산형 네트워크(공유형, 전용, 혹은 그룹), 및 저장소; 앞서 설명된 기능을 제공하는 다른 적절한 컴포넌트들; 또는 예를 들어, 시스템-온-칩(system-on-chip) 내에서의 앞서 나열된 것들 중 일부 혹은 모두의 조합을 말할 수 있거나, 그 일부일 수 있으며, 혹은 이들을 포함할 수 있다. 용어 "모듈"은 또한, 하나 이상의 프로세서들에 의해 실행되는 코드를 저장하고 있는 (공유형, 전용, 혹은 그룹) 메모리를 포함할 수 있다.
앞서 사용된 바와 같은, 용어 "코드"는 소프트웨어, 펌웨어, 바이트-코드(byte-code) 및/또는 마이크로코드(microcode)를 포함할 수 있고, 프로그램(programs), 루틴(routines), 함수(functions), 클래스(classes) 및/또는 오브젝트(objects)를 말할 수 있다. 앞서 사용된 바와 같은, 용어 "공유형"의 의미는 복수의 모듈들로부터의 일부 코드 혹은 모든 코드가 단일의 (공유된) 프로세서를 사용하여 실행될 수 있음을 나타낸다. 추가적으로, 복수의 모듈들로부터의 일부 코드 혹은 모든 코드는 단일의 (공유된) 메모리에 의해 저장될 수 있다. 앞서 사용된 바와 같은, 용어 "그룹"의 의미는 단일 모듈로부터의 일부 코드 혹은 모든 코드가 프로세서들의 그룹을 사용하여 실행될 수 있음을 나타낸다. 추가적으로, 단일 모듈로부터의 일부 코드 혹은 모든 코드는 메모리들의 그룹을 사용하여 저장될 수 있다.
본 명세서에서 설명되는 기법들은 하나 이상의 프로세서들에 의해 실행되는 하나 이상의 컴퓨터 프로그램들에 의해 구현될 수 있다. 컴퓨터 프로그램들은 비-일시적인 유형의 컴퓨터 판독가능 매체에 저장되는 프로세서-실행가능 명령들을 포함한다. 컴퓨터 프로그램들은 또한 저장된 데이터를 포함할 수 있다. 비-일시적인 유형의 컴퓨터 판독가능 매체(non-transitory tangible computer readable medium)의 비한정적 예들은 비휘발성 메모리 시스템, 자기 저장소 및 광학 저장소이다.
앞서의 설명 중 어떤 부분들은 본 명세서에서 설명되는 기법들을 정보에 관한 동작들의 알고리즘 및 기호적 표현으로 제시한다. 이러한 알고리즘적 설명 및 표현은 데이터 처리 기술분야에서 숙련된 자들이 그들의 작동의 요지를 본 발명의 기술분야에서 숙련된 다른 사람들에게 가장 효과적으로 전달하기 위해 사용되는 수단이다. 이러한 동작들이 기능적으로 혹은 논리적으로 설명되고 있지만, 컴퓨터 프로그램들에 의해 구현될 수 있음을 이해해야 한다. 더욱이, 보편성(generality)을 잃어버리지 않으면서 동작들의 이러한 구성을 모듈로서 나타내거나 혹은 기능적 명칭에 의해 나타내는 것은 또한 때에 따라 편리한 것으로 판명되고 있다.
앞서 논의된 것으로부터 명백한 바와 같이 달리 특정적으로 기재되지 않는다면, 본 명세서의 설명 전체에 걸쳐 "처리(processing)" 혹은 "컴퓨팅(computing)" 혹은 "계산(calculating)" 혹은 "결정(determining)" 혹은 "디스플레이(displaying)" 등과 같은 용어를 사용하여 논의된 것들은, 컴퓨터 시스템 메모리 혹은 레지스터 혹은 다른 이러한 정보 저장, 전송 또는 디스플레이 디바이스 내에서 물리적(전자적) 양으로 나타내지는 데이터를 조작 및 전송하는 컴퓨터 시스템 혹은 유사한 전자 컴퓨팅 디바이스의 동작 및 프로세스를 말하는 것임을 이해해야 한다.
앞서 설명된 기법들의 특정 실시형태들은 알고리즘 형태로 본 명세서에서 설명되는 처리 단계들 및 명령들을 포함한다. 앞서 설명된 처리 단계들 및 명령들은 소프트웨어, 펌웨어, 혹은 하드웨어로 구현될 수 있고, 소프트웨어로 구현되는 경우 실시간 네트워크 오퍼레이팅 시스템(real time network operating system)들에서 사용되는 다른 플랫폼들 상에 상주하도록 다운로드될 수 있고 이로부터 동작될 수 있음에 유의해야만 한다.
본 개시 내용은 또한 본 명세서에서의 동작들을 수행하기 위한 장치와 관련된다. 이러한 장치는 원하는 목적을 위해 특별히 구성될 수 있거나, 또는 컴퓨터에 의해 액세스될 수 있는 컴퓨터 판독가능 매체 상에 저장된 컴퓨터 프로그램에 의해 선택적으로 활성화되거나 재구성되는 범용 컴퓨터를 포함할 수 있다. 이러한 컴퓨터 프로그램은 유형의 컴퓨터 판독가능 저장 매체에 저장될 수 있는바, 이러한 유형의 컴퓨터 판독가능 저장 매체는, 예를 들어, 플로피 디스크들, 광학 디스크들, CD-ROM들, 자기-광학 디스크들(magnetic-optical disks), 판독-전용 메모리(Read-Only Memory, ROM)들, 랜덤 액세스 메모리(Random Access Memory, RAM)들, EPROM들, EEPROM들, 자기 혹은 광학 카드들, 애플리케이션 특정 집적 회로(ASIC)들을 포함하는 임의 타입의 디스크, 또는 전자 명령들을 저장하기에 적합하고 그 각각이 컴퓨터 시스템 버스에 결합되는 임의 타입의 매체들이 있지만 이러한 것으로만 한정되는 것은 아니다. 더욱이, 본 명세서에서 지칭되는 컴퓨터들은 단일 프로세서를 포함할 수 있거나, 또는 컴퓨팅 능력 증진을 위해 복수의 프로세서 설계를 사용하는 아키텍처들일 수 있다.
본 명세서에 제시되는 알고리즘들 및 동작들은 본질적으로 임의의 특정 컴퓨터 혹은 다른 장치들과 관련되지 않는다. 다양한 범용 시스템들이 또한, 본 명세서에서의 가르침에 따른 프로그램들과 함께 사용될 수 있고, 또는 원하는 방법의 단계들을 수행하기 위해 더 특수하게 설계된 장치들을 구성하는 것이 편리한 것으로 판명될 수 있다. 다양한 이러한 시스템들을 위해 그 요구되는 구조는 그 등가적 변형물들과 함께 본 발명의 기술분야에서 숙련된 자들에게 명백할 것이다. 추가적으로, 본 개시내용은 임의의 특정 프로그래밍 언어와 관련되어 설명되는 것이 아니다. 다양한 프로그래밍 언어가 본 명세서에서 설명되는 바와 같은 본 개시 내용의 가르침들을 구현하기 위해 사용될 수 있고, 특정 언어에 대한 임의의 언급은 본 발명의 실시예 및 최상의 모드를 설명하기 위한 것임을 이해해야 한다.
본 명세서에서 생략된 일부 실시 예는 그 실시 주체가 동일한 경우 장치와 방법에 상호 동일하게 적용 될 수 있다. 또한, 전술한 본 발명은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에게 있어 본 발명의 기술적 사상을 벗어나지 않는 범위 내에서 여러 가지 치환, 변형 및 변경이 가능하므로 전술한 실시 예 및 첨부된 도면에 의해 한정되는 것이 아니다.
10: 클라이언트
100: 언어 현지화 장치
200: 번역 모듈
300: 사용자
1000: 언어 현지화 시스템

Claims (13)

  1. 응용프로그램의 언어 현지화 방법에 있어서,
    클라이언트로부터 현지화 정보 및 상기 응용 프로그램의 소스 코드를 수신하는 단계;
    상기 소스 코드의 형식에 대응되는 코드 패턴을 이용하여, 상기 소스 코드로부터 변수 및 상기 변수에 대응되는 제 1 언어 데이터를 추출하는 단계;
    상기 변수, 현지화 정보 및 상기 제 1 언어 데이터를 포함하는 제 1 번역 테이블을 생성하는 단계;
    상기 제 1 번역 테이블을 번역 모듈로 전송하는 단계;
    상기 번역 모듈이 상기 변수와 제 2 언어 데이터를 포함하는 제 2 번역 테이블을 생성하여 전송하면, 상기 번역 모듈로부터 제 2 번역 테이블을 수신하는 단계;
    상기 제 2 번역 테이블을 이용하여 현지화 소스 코드를 생성하는 단계를 포함하며,
    상기 제 2 언어 데이터는 상기 번역 모듈이 상기 현지화 정보에 따라 상기 제 1 언어 데이터를 번역한 데이터인 언어 현지화 방법.
  2. 제1항에 있어서,
    상기 현지화 정보는
    변환하고자 하는 파일의 형식, 현지화 언어, 상기 응용 프로그램의 분야 정보, 상기 클라이언트의 식별 정보 중 적어도 하나를 포함하는 언어 현지화 방법.
  3. 제1항에 있어서,
    상기 현지화 소스 코드 생성 단계는,
    상기 현지화 정보에서 변환 코드 형식을 확인하는 단계;
    상기 변환 코드 형식에 대응되는 코드 패턴을 탐색하는 단계;
    상기 변수 및 상기 제 2 언어 데이터를 상기 코드 패턴의 기 설정된 위치에 각각 삽입하는 단계를 포함하는 언어 현지화 방법
  4. 제1항에 있어서,
    상기 클라이언트로부터 새로운 소스 코드를 수신하면,
    상기 소스 코드와 상기 새로운 소스 코드를 비교하여, 추가된 변수 또는 변경된 제 1 언어 데이터를 추출하는 단계;
    상기 추가된 변수 또는 상기 변경된 제 1 언어 데이터를 포함하는 제 3 번역 테이블을 생성하는 단계;
    상기 제 3 번역 테이블을 상기 번역 모듈에 전송하고, 상기 번역 모듈로부터 상기 제 3 번역 테이블에 대응하는 제 4 번역 테이블을 수신하는 단계;
    상기 제 4 번역 테이블을 상기 제 2 번역 테이블과 결합하여 새 버전의 제 2 번역 테이블을 생성하는 단계;
    상기 새 버전의 제 2 번역 테이블을 이용하여 새 버전의 현지화 소스 코드를 생성하는 단계를 더 포함하는 언어 현지화 방법.
  5. 제4항에 있어서,
    상기 소스 코드, 상기 번역 테이블 또는 상기 현지화 소스 코드 중 적어도 하나에 버전 정보를 부여하는 단계를 더 포함하는 언어 현지화 방법.
  6. 제1항 내지 제5항에 있어서,
    상기 현지화 소스 코드를 상기 응용 프로그램에 렌더링하는 단계를 더 포함하는 언어 현지화 방법.
  7. 응용프로그램의 언어 현지화 시스템에 있어서,
    클라이언트로부터 현지화 정보 및 상기 응용 프로그램의 소스 코드를 수신하고, 번역 테이블을 번역 모듈과 송수신하는 통신부;
    상기 소스 코드의 형식에 대응되는 코드 패턴을 이용하여, 상기 소스 코드로부터 변수 및 상기 변수에 대응되는 제 1 언어 데이터를 추출하는 추출부;
    상기 변수, 상기 현지화 정보 및 상기 제 1 언어 데이터를 포함하는 제 1 번역 테이블을 생성하는 번역 테이블 생성부;
    상기 통신부가 번역 모듈로부터 수신한 제 2 번역 테이블을 이용하여 현지화 소스 코드를 생성하는 현지화부를 포함하며,
    상기 제 2 번역 테이블은 상기 번역 모듈이 상기 제 1 번역 테이블을 이용하여 생성한 것으로 상기 변수 및 상기 제 2 언어 데이터를 포함하고,
    상기 제 2 언어 데이터는 상기 현지화 정보에 따라 상기 제 1 언어 데이터를 번역한 데이터인 언어 현지화 시스템.
  8. 제7항에 있어서,
    상기 현지화 정보는
    변환하고자 하는 파일의 형식, 현지화 언어, 상기 응용 프로그램의 분야 정보, 상기 클라이언트의 식별 정보 중 적어도 하나를 포함하는 언어 현지화 방법.
  9. 제7항에 있어서,
    상기 현지화부는
    상기 현지화 정보에서 변환 코드 형식을 확인하고, 상기 변환 코드 형식에 대응되는 코드 패턴을 탐색하고, 상기 변수 및 상기 제 2 언어 데이터를 상기 코드 패턴의 기 설정된 위치에 각각 삽입하는 언어 현지화 시스템.
  10. 제7항에 있어서,
    상기 소스 코드, 상기 번역 테이블 및 상기 현지화 소스 코드에 버전 정보를 부여하는 버전 관리부를 더 포함하며,
    상기 클라이언트로부터 새로운 소스 코드를 수신하면,
    상기 버전 관리부는 상기 소스 코드와 상기 새로운 소스 코드를 비교하여 추가된 변수 또는 변경된 제 1 언어 데이터 중 적어도 하나를 추출하고,
    상기 번역 테이블 생성부는 상기 추가된 변수 또는 상기 변경된 제 1 언어 데이터를 포함하는 제 3 번역 테이블을 생성하고,
    상기 통신부는 상기 제 3 번역 테이블을 상기 번역 모듈에 전송하고, 상기 번역 모듈로부터 상기 제 3 번역 테이블에 대응하는 제 4 번역 테이블을 수신하고,
    상기 번역 테이블 생성부가 상기 제 4 번역 테이블을 상기 제 2 번역 테이블과 결합하여 새 버전의 제 2 번역 테이블을 생성하면, 상기 현지화부는 상기 새 버전의 제 2 번역 테이블을 이용하여 새 버전의 현지화 소스 코드를 생성하는 언어 현지화 시스템.
  11. 제7항에 있어서,
    상기 번역 모듈은,
    상기 언어 현지화 장치로부터 상기 제 1 번역 테이블을 수신하고, 상기 제 1 번역 테이블에 대응되는 제 2 번역 테이블을 상기 언어 현지화 장치에 전송하는 통신부;
    하나 이상의 클라이언트 요청에 의해 생성된 하나 이상의 번역 테이블을 저장하는 데이터베이스부;
    기 저장된 번역 테이블에서 상기 제 1 언어 데이터를 탐색하고, 상기 현지화 정보에 포함된 현지화 언어에 따라 상기 제 1 언어 데이터에 대응되는 제 2 언어 데이터 후보군을 추출하는 참조 데이터 추출부;
    기 저장된 학습 모델을 이용하여, 상기 제 2 언어 데이터 후보군에 포함된 하나 이상의 데이터 각각에 가중치를 부여하고, 상기 부여된 가중치에 따라 추천 데이터를 선정하는 추천 데이터 선정부;
    상기 추천 데이터를 표시하고, 상기 추천 데이터를 이용하여 번역된 상기 제 2 언어 데이터를 사용자로부터 입력받는 입력부;
    상기 제 2 언어 데이터와 상기 변수를 포함하는 제 2 번역 테이블을 생성하는 번역 테이블 생성부를 포함하는 언어 현지화 시스템.
  12. 제11항에 있어서,
    상기 번역 모듈은
    상기 추천 데이터를 상기 제 2 언어 데이터로 설정하는 기계 번역부를 더 포함하는 언어 현지화 시스템.
  13. 제 1 항 내지 제 6 항의 방법 중 어느 하나의 방법을 실행시키기 위하여 컴퓨터 판독 가능 매체에 저장된 언어 현지화 프로그램.
KR1020160122775A 2016-09-26 2016-09-26 언어 현지화 방법 및 시스템 KR20180033623A (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020160122775A KR20180033623A (ko) 2016-09-26 2016-09-26 언어 현지화 방법 및 시스템

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020160122775A KR20180033623A (ko) 2016-09-26 2016-09-26 언어 현지화 방법 및 시스템

Publications (1)

Publication Number Publication Date
KR20180033623A true KR20180033623A (ko) 2018-04-04

Family

ID=61975567

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020160122775A KR20180033623A (ko) 2016-09-26 2016-09-26 언어 현지화 방법 및 시스템

Country Status (1)

Country Link
KR (1) KR20180033623A (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112107855A (zh) * 2020-09-21 2020-12-22 完美世界(重庆)互动科技有限公司 多语言版本的游戏处理方法、装置及系统

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112107855A (zh) * 2020-09-21 2020-12-22 完美世界(重庆)互动科技有限公司 多语言版本的游戏处理方法、装置及系统

Similar Documents

Publication Publication Date Title
US8990066B2 (en) Resolving out-of-vocabulary words during machine translation
US9760569B2 (en) Method and system for providing translated result
KR102224759B1 (ko) 컴퓨터 애플리케이션에 대한 언어 번역 현지화를 위한 기법
CN104679826B (zh) 基于分类模型的上下文识别的方法和系统
CN109408821B (zh) 一种语料生成方法、装置、计算设备及存储介质
AU2016277770B2 (en) Use of bloom filters to simplify dynamic font augmentation and subsetting
CN104834660B (zh) 基于区间的模糊数据库搜索
CN111488468B (zh) 地理信息知识点抽取方法、装置、存储介质及计算机设备
KR20140056231A (ko) 검색 질의들의 소스 언어들 검출
US9613029B2 (en) Techniques for transliterating input text from a first character set to a second character set
CN111159974A (zh) 地址信息的标准化方法、装置、存储介质及电子设备
US9922028B2 (en) System and method for translation and localization of content in digital applications
JP7254925B2 (ja) 改良されたデータマッチングのためのデータレコードの字訳
CN110705226A (zh) 电子表格的创建方法、装置及计算机设备
CN111274813A (zh) 语言序列标注方法、装置存储介质及计算机设备
US20220156599A1 (en) Generating hypothesis candidates associated with an incomplete knowledge graph
CN106339105A (zh) 用于识别拼音信息的方法及装置
KR20180033623A (ko) 언어 현지화 방법 및 시스템
KR102600703B1 (ko) 법령 분야 질의 응답 방법 및 장치
CN111176456B (zh) 用于输入地理位置名称的输入法编辑器
CN105808527A (zh) 基于人工智能的定向翻译方法及装置
US20180032510A1 (en) Automated translation of source code
CN114661746A (zh) 语句转换方法、装置、电子设备及存储介质
US11880488B2 (en) Fast and flexible remediation of sensitive information using document object model structures
CN106814997A (zh) 数据库操作语言脚本优化方法、装置及系统

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E601 Decision to refuse application