KR20140098822A - 어플리케이션 로컬화에 있어서의 번역 지원 제공 - Google Patents

어플리케이션 로컬화에 있어서의 번역 지원 제공 Download PDF

Info

Publication number
KR20140098822A
KR20140098822A KR20147017528A KR20147017528A KR20140098822A KR 20140098822 A KR20140098822 A KR 20140098822A KR 20147017528 A KR20147017528 A KR 20147017528A KR 20147017528 A KR20147017528 A KR 20147017528A KR 20140098822 A KR20140098822 A KR 20140098822A
Authority
KR
South Korea
Prior art keywords
translation
text message
time
language
text
Prior art date
Application number
KR20147017528A
Other languages
English (en)
Other versions
KR101875820B1 (ko
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 구글 인코포레이티드
Publication of KR20140098822A publication Critical patent/KR20140098822A/ko
Application granted granted Critical
Publication of KR101875820B1 publication Critical patent/KR101875820B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/40Processing or translation of natural language
    • G06F40/58Use of machine translation, e.g. for multi-lingual retrieval, for server-side translation for client devices or for real-time translation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/194Calculation of difference between files
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/197Version control
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/40Processing or translation of natural language
    • G06F40/51Translation evaluation

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Health & Medical Sciences (AREA)
  • Computational Linguistics (AREA)
  • General Health & Medical Sciences (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Artificial Intelligence (AREA)
  • Information Transfer Between Computers (AREA)
  • Machine Translation (AREA)
  • Document Processing Apparatus (AREA)
  • Stored Programmes (AREA)

Abstract

번역 지원을 제공하는 방법들 및 시스템들이 개시된다. 방법은 제1 시간과 제2 시간 사이의 시간 간격 동안 번역들에 이루어지는 변경들을 표시하는 번역 데이터를 저장하는 단계와, 소스 코드 프로젝트를 제2 언어로 된 기준 어플리케이션으로 구축하는 단계와, 상기 구축 단계는 상기 소스 코드 프로젝트에서의 각각의 텍스트 메시지의 식별자를 상기 제2 시간에 이루어진 상기 제2 언어로의 상기 텍스트 메시지의 번역과 교체하는 단계 및 상기 시간 간격 동안 번역이 변경된 텍스트 메시지에 대해, 번역이 변경된 상기 텍스트 메시지의 식별자를 상기 텍스트 메시지의 번역과 관련된 숨겨진 정보로서 삽입하는 단계를 포함하고, 그리고 관련된 숨겨진 식별자를 가지는 텍스트 메시지들을 강조하는 것을 포함하여, 번역 체크를 위해 사용자에게 제시하기 위해 상기 기준 어플리케이션을 렌더링하는 단계를 포함한다.

Description

어플리케이션 로컬화에 있어서의 번역 지원 제공{PROVIDING TRANSLATION ASSISTANCE IN APPLICATION LOCALIZATION}
본 발명은 서로 다른 여러 가지 언어들로 어플리케이션을 로컬화함에 있어서 번역 지원을 제공하는 것에 관한 것이다.
많은 소프트웨어 개발 회사들은 엔지니어링 변경들을 요함이 없이 자신들의 타겟 마켓들의 지역적인 차이점들 및 기술적인 요건들을 고려하기 위해 소프트웨어 어플리케이션들이 다양한 언어들 및 지역들에 적응될 수 있도록 상기 소프트웨어 어플리케이션들을 설계한다. 이러한 소프트웨어 어플리케이션들의 개발 이후에, 로컬화라 지칭되는 프로세스가 예컨대, 동일한 소프트웨어 어플레이션의 서로 다른 여러 가지 언어들 또는 지역적인 버전들을 생성하기 위해 수행될 수 있다. 로컬화 동안, 현장 별 컴포넌트(locale-specific component)들이 추가될 수 있고, 어플리케이션의 사용자 인터페이스들에 디스플레이되는 텍스트 메시지들이 타겟 언어로 번역될 수 있다. 이 텍스트 메시지들을 서로 다른 여러 가지 타겟 언어들로 번역하는 데 있어 효율성을 보장하기 위해, 소프트웨어 개발자들은 텍스트 메시지들이 위치될 소스 코드 내의 장소들에 메시지 식별자들을 삽입하고, 소스 언어로 사용될 모든 텍스트 메시지들의 목록을 유지할 수 있어서, 텍스트 메시지들은 서로 다른 여러 가지 언어들로 번역될 수 있다. 이 텍스트 메시지들이 선택된 타겟 언어로 변역되었을 때, 소스 코드는 소스 코드 내의 모든 메시지 식별자들을 대응하는 텍스트 메시지들의 선택된 언어로의 번역들과 교체함으로써 선택된 타겟 언어로 된 어플리케이션의 버전으로 컴파일 또는 구축될 수 있다.
상기 접근법을 사용하여, 번역자들은 어플리케이션들과 별개로 저장된 텍스트 메시지들의 목록을 검토(going through)함으로써 텍스트 메시지들을 번역할 필요가 있을 수 있다. 또한, 일부 소프트웨어 개발자들의 경우, 동일한 텍스트 메시지들 중 일부가 복수의 소프트웨어 개발 프로젝트들에서 사용될 수 있다. 동일한 테스트 메시지는 이 메시지가 사용되는 특별한 맥락 또는 번역을 행하는 번역자에 좌우되어 서로 다른 소프트웨어 프로젝트들에서 다르게 번역될 수 있다. 즉, 텍스트 메시지들의 목록 내의 텍스트 메시지의 번역은 시간에 걸쳐 변경될 수 있다.
일반적으로, 본 명세서에 기술된 발명의 일 양상은 방법으로 구현될 수 있는 바, 상기 방법은 제1 시간과 제2 시간 사이의 시간 간격 동안 번역들에 이루어지는 변경들을 표시하는 번역 데이터, 제1 언어로 텍스트 메시지들을 식별하는 번역 데이터, 텍스트 메시지들 각각에 대한 각각의 식별자들 및 제2 언어로의 복수의 텍스트 메시지들의 대응하는 번역들을 번역 보관소(translation repository)에 저장하는 단계와; 소스 코드 프로젝트에 각각의 식별자들 중 하나 이상을 포함시키는 단계와; 상기 텍스트 메시지들 중 하나 이상의 텍스트 메시지 각각에 대해 제1 시간에 이루어지는 상기 제2 언어로의 상기 텍스트 메시지의 번역, 제2 시간에 이루어지는 상기 제2 언어로의 상기 텍스트 메시지의 다른 번역 및 상기 제1 시간과 제2 시간 사이의 상기 텍스트 메시지에 대한 번역 변경의 타입을 식별하는 메시지 변경 데이터의 목록을 생성하는 단계와, 상기 번역 변경의 타입은 수정됨, 새롭게 추가됨 또는 번역되지 않음 중 하나이며; 상기 소스 코드 프로젝트를 상기 제2 언어로 된 기준 웹 어플리케이션으로 구축하는 단계와, 상기 구축 단계는 상기 소스 코드 프로젝트에서의 각각의 텍스트 메시지의 식별자를 상기 제2 시간에 이루어진 상기 제2 언어로의 상기 텍스트 메시지의 번역과 교체하는 단계와, 그리고 상기 시간 간격 동안 번역이 변경된 텍스트 메시지에 대해, 번역이 변경된 상기 텍스트 메시지의 식별자를 상기 텍스트 메시지의 번역과 관련된 숨겨진 정보로서 삽입하는 단계를 포함하고, 시간 윈도우 동안 번역이 변경되지 않은 텍스트 메시지에 대한 식별자는 상기 기준 웹 어플리케이션의 텍스트 메시지의 번역과 관련된 숨겨진 정보로서 삽입되지 않으며; 그리고 번역 체크를 위해 사용자에게 제시하기 위해 상기 기준 웹 어플리케이션을 렌더링하는 단계 - 상기 렌더링은 관련된 숨겨진 식별자를 가지는 텍스트 메시지들을 강조(highlighting)하고, 각각의 강조된 텍스트 메시지에 대해, 렌더링된 기준 어플리케이션에 상기 강조된 텍스트 메시지와 관련된 가젯(gadget)을 내장시키는(embed) 것을 포함한다 - 로 이루어진 액션(action)들을 포함하며, 상기 가젯은 상기 제1 시간에 이루어진 강조된 텍스트 메시지의 번역과 상기 제2 시간에 이루어진 강조된 텍스트 메시지의 다른 번역 간의 비교를 상기 사용자에게 제시하도록 동작가능하다.
이 양상의 다른 실시예들은 대응하는 시스템들, 장치 및 컴퓨터 스토리지 디바이스들 상에 인코딩된 컴퓨터 프로그램들을 포함하며, 이들 각각은 상기 방법들의 액션들을 수행하도록 구성된다. 하나 이상의 컴퓨터들의 시스템은 소프트웨어, 펌웨어, 하드웨어 또는 상기 시스템 상에 설치된 이들의 조합에 의해 특별한 액션들을 수행하도록 구성될 수 있고, 이들은 동작 시, 상기 시스템으로 하여금 상기 액션들을 수행하도록 한다. 하나 이상의 컴퓨터 프로그램들은 데이터 프로세싱 장치에 의해 실행될 때 상기 장치로 하여금 상기 액션들을 수행하도록 하는 명령어들에 의해 특별한 액션들을 수행하도록 구성될 수 있다.
일반적으로, 본 명세서에 기술된 본 발명의 다른 양상은 방법들로 구현될 수 있는 바, 상기 방법은 제1 시간과 제2 시간 사이의 시간 간격 동안의 번역들에 대한 변경들을 표시하는 번역 데이터, 제1 언어로 텍스트 메시지들을 식별하는 번역 데이터, 텍스트 메시지들 각각에 대한 각각의 식별자들 및 제2 언어로의 복수의 텍스트 메시지들의 대응하는 번역들을 번역 보관소에 저장하는 단계와; 소스 코드 프로젝트에 각각의 식별자들 중 하나 이상을 포함시키는 단계와; 상기 소스 코드 프로젝트를 상기 제2 언어로 된 기준 어플리케이션으로 구축하는 단계와, 상기 구축 단계는 상기 소스 코드 프로젝트에서의 각각의 텍스트 메시지의 식별자를 상기 제2 시간에 이루어진 상기 제2 언어로의 상기 텍스트 메시지의 번역과 교체하는 단계와, 그리고 상기 시간 간격 동안 번역이 변경된 텍스트 메시지에 대해, 번역이 변경된 상기 텍스트 메시지의 식별자를 상기 텍스트 메시지의 번역과 관련된 숨겨진 정보로서 삽입하는 단계를 포함하고, 시간 윈도우 동안 번역이 변경되지 않은 텍스트 메시지에 대한 식별자는 상기 기준 어플리케이션의 텍스트 메시지의 번역과 관련된 숨겨진 정보로서 삽입되지 않으며; 그리고 번역 체크를 위해 사용자에게 제시하기 위해 상기 기준 어플리케이션을 렌더링하는 단계 - 상기 렌더링은 관련된 숨겨진 식별자를 가지는 텍스트 메시지들을 강조하는 것을 포함한다 - 로 이루어진 액션들을 포함한다.
이 양상의 다른 실시예들은 시스템들, 장치 및 컴퓨터 스토리지 디바이스들 상에 인코딩된 컴퓨터 프로그램들을 포함하며, 이들 각각은 상기 방법들의 액션들을 수행하도록 구성된다. 하나 이상의 컴퓨터들의 시스템은 소프트웨어, 펌웨어, 하드웨어 또는 상기 시스템 상에 설치된 이들의 조합에 의해 특별한 액션들을 수행하도록 구성될 수 있고, 이들은 동작 시, 상기 시스템으로 하여금 상기 액션들을 수행하도록 한다. 하나 이상의 컴퓨터 프로그램들은 데이터 프로세싱 장치에 의해 실행될 때 상기 장치로 하여금 상기 액션들을 수행하도록 하는 명령어들에 의해 특별한 액션들을 수행하도록 구성될 수 있다.
이들 및 다른 실시예들 각각은 선택에 따라서는(optionally) 다음의 특징들 중 하나 이상을 포함할 수 있다. 번역 데이터는 목록으로 표시될 수 있다. 상기 방법은 특별한 텍스트 메시지에 대해 제1 시간에 이루어지는 제2 언어로의 상기 특별한 텍스트 메시지의 번역 및 제2 시간에 이루어지는 제2 언어로의 상기 특별한 메시지의 번역을 식별하는 메시지 변경 데이터를 생성하는 단계를 더 포함할 수 있다. 메시지 변경 데이터는 목록으로서 표시될 수 있다. 상기 메시지 변경 데이터를 생성하는 단계는 상기 제1 시간과 제2 시간 사이의 상기 특별한 텍스트 메시지에 대한 번역 변경의 타입을 식별하는 데이터를 생성하는 단계를 더 포함할 수 있다. 번역 변경의 타입은 수정됨, 새롭게 추가됨 또는 번역되지 않음 중 하나 일 수 있다. 사용자에게 제시하기 위해 기준 어플리케이션을 렌더링하는 것은 각각의 강조된 텍스트 메시지에 대해, 렌더링된 기준 어플리케이션에 강조된 텍스트 메시지와 관련된 가젯을 내장시키는 것을 포함할 수 있고, 상기 가젯은 상기 제1 시간에서의 상기 강조된 텍스트 메시지의 번역과 상기 제2 시간에서의 상기 강조된 텍스트 메시지의 번역 간의 비교를 사용자에게 제시하도록 동작가능하다. 렌더링된 기준 어플리케이션에 강조된 텍스트 메시지와 관련된 가젯을 내장시키는 것은 사용자 입력에 응답하여 상기 제2 시간에 이루어진 강조된 텍스트 메시지의 번역과 연계하여 상기 제1 시간에 이루어진 강조된 텍스트 메시지의 번역을 디스플레이하는 사용자 인터페이스 요소를 생성하는 것을 포함할 수 있다. 기준 어플리케이션은 웹 어플리케이션일 수 있다. 상기 웹 어플리케이션은 복수의 웹 페이지들을 포함할 수 있고, 상기 방법은 상기 웹 어플리케이션에 각각의 웹 페이지에 대한 보고를 생성하는 단계를 더 포함하고, 상기 보고는 상기 페이지 상의 번역 변경들에 관한 요약 정보를 포함한다.
본 명세서에 기술된 본 발명의 특별한 실시예들은 다음의 장점들 중 하나 이상을 실현하도록 구현될 수 있다. 번역자들은 텍스트들을 보다 정확하게 번역하기 위해 어떻게 이 번역될 텍스트들이 구축된 어플리케이션에서 사용되는지의 컨텍스트적 지식(contextual knowledge)을 제공받을 수 있다. 번역자들은 특별한 새로운 소프트웨어 프로젝트에 대해 텍스트 메시지를 번역할 때 기준들과 동일한 텍스트 메시지의 서로 다른 번역들을 사용할 수 있다. 소프트웨어 로컬화의 번역자들은 시간에 걸쳐 특별한 텍스트 메시지의 번역들의 분명한 지식을 제공받을 수 있고, 사용자 인터페이스들의 직관적인 뷰(intuitive view)를 얻을 수 있으며, 상기 사용자 인터페이스에서 이 텍스트 메시지는 실제로 디스플레이되고 사용된다.
도 1은 기술된 본 발명의 실시예들에 따른 어플리케이션 로컬화에 있어서 번역 지원을 제공하는 예시적인 시스템을 도시한다.
도 2는 기술된 본 발명의 실시예들에 따른 어플리케이션 로컬화에 있어서 번역 지원을 제공하는 예시적인 서버 시스템의 개략도이다.
도 3a는 기술된 본 발명의 실시예들에 따른 어플리케이션들을 구축함에 있어서 사용하기 위해 텍스트 메시지들을 저장하는 예시적인 번역 보관소를 도시한다.
도 3b는 기술된 본 발명의 실시예들에 따른 도 3a에 도시된 바와 같은 번역 보관소 내의 정보에 근거하여 프로세스되는 번역 정보의 예시적인 테이블이다.
더 4는 기술된 본 발명의 실시예들에 따른 어플리케이션 로컬화에 있어서 번역 지원을 제공하는 예시적인 프로세스를 도시하는 순서도이다.
다양한 도면들에서 유사한 도면 부호들 및 지정사항들은 유사한 요소들을 나타낸다.
도 1은 기술된 본 발명의 실시예들에 따른 어플리케이션 로컬화에 있어서 번역 지원을 제공하는 예시적인 시스템(100)을 도시한다. 시스템(100)은 하나 이상의 물리적 위치들에 있는 하나 이상의 컴퓨터들 상에서 구현될 수 있고, 번역 모니터링 모듈(120), 기준 구축 모듈(122) 및 렌더링 모듈(124)을 포함할 수 있다. 번역 모니터링 모듈(120), 기준 구축 모듈(122) 및 렌더링 모듈(124) 간의 시스템(100)의 기능성의 파티셔닝(partition)은 단지 예시적인 것이다. 하기에 기술된 기능들의 추가적인 파티셔닝이 구현될 수 있거나 또는 대안적으로는, 시스템(100)은 하기에 기술된 기능들의 모두를 수행하는 단일의 소프트웨어 엔진일 수 있다.
번역 보관소(110) 및 소스 코드 프로젝스 베이스(112)는 시스템(100)에 연결되거나 또는 상기 시스템에 의해 액세스가능할 수 있다. 번역 보관소(110)는 소스 코드 프로젝트 베이스(112)에 저장된 특정한 소스 코드 프로젝트에 근거하여 타겟 어플리케이션들의 서로 다른 언어 버전들을 구축하는 데 사용될 번역 데이터를 포함할 수 있다. 일부 구현들에서, 소스 코드 프로젝트 베이스(112)는 소프트웨어 개발 회사 내에서 개발 중인 복수의 소스 코드 프로젝트들을 포함하며, 번역 보관소(110)는 소스 코드 프로젝트 베이스(112) 내의 소스 코드 프로젝트를 로컬화된 어플리케이션들로(예컨대, 다양한 타겟 언어들로 된 어플리케이션의 버전들) 구축하는 데 사용될 수 있는 텍스트 메시지들의 서로 다른 언어들로의 번역들을 저장하기 위해 사용된다.
번역 보관소(110)는 복수의 언어들로의 텍스트 메시지의 번역들을 저장할 수 있다. 이 번역들은 예컨대, 별개의 번역 지원 유틸리티(utility)를 이용하여 영어와 같은 소스 언어로 된 텍스트 메시지들에 근거하여 번역자들에 의해 제공될 수 있다. 이 번역 지원 유틸리티는 웹 페이지 상에 텍스트 메시지들을 디스플레이하고 번역들을 선택된 타겟 언어로 입력하도록 번역자들에게 요청하며, 일단 번역이 확인(confirm)되면 이러한 번역들을 번역 보관소에 저장하는 웹 어플리케이션일 수 있다. 번역자에 의해 번역 보관소에 제공되는 번역들은 버전 제어 시스템, 예컨대 Perforce, CVS 또는 Microsoft Visual Sourcesafe에 의해 관리될 수 있다. 추가적인 기능성들이 서로 다른 번역자들로 하여금 다른 번역자들에 의해 제공되는 번역들을 체크하고, 일부 텍스트 메시지들의 번역들을 유사한 텍스트 메시지들의 이전의 번역들과 비교하면, 기타 등등을 행하도록 번역 지원 유틸리티에 제공될 수 있다.
소스 코드 프로젝트 베이스(112)에 저장된 소스 코드 프로젝트들은 어플리케이션의 사용자 인터페이스들에 디스플레이될 텍스트 메시지들이 삽입될 장소들에 특정한 메시지 식별자들을 가진다. 메시지 식별자들 각각은 소스 언어, 예컨대 영어로 된 이들 각각의 대응하는 텍스트 메시지들과 함께 번역 보관소(110)에 번역될 엔트리들로서 레코딩될 수 있다. 특정 타겟 언어 예컨대, 중국어로의 완성된 소스 코드 프로젝트의 텍스트 메시지들 모두의 번역이 완료된 이후, 이 소스 코드 프로젝트는 소스 코드 프로젝트 내의 메시지 식별자들 모두를 타겟 언어 예컨대, 중국어로의 번역들과 교체하고, 그 다음 이 소스 코드를 실행가능한 프로그램으로 컴파일함으로써 타겟 언어로 된 어플리케이션으로 구축될 수 있다. 일부 구현들에서, 이 실행가능한 프로그램은 웹 어플리케이션 예컨대, 서버 측에서 실행되는 웹 어플리케이션, 자바스크립트 함수(function)들에 의해 구현되는 클라이언트 측에서의 풍부한 기능성들을 갖는 웹 어플리케이션 및 기타 등등일 수 있다.
번역 모니터링 모듈(120)은 특정된 시간 간격에 걸쳐 특정한 소스 코드 프로젝트에서 사용되는 텍스트 메시지들에 대한 번역 보관소(110) 내의 변경들을 모니터링하고, 이 시간 간격 동안 번역 차이들을 레코드하는 번역 변경 목록(121)을 생성할 수 있다. 이 시간 간격은 소스 코드 프로젝트 내의 텍스트들을 번역하길 바라는 사용자, 예컨대 번역자에 의해 특정될 수 있다. 예를 들어, 번역자는 예컨대, 1 주일 전과 현재 시간 사이의 특별한 소스 코드 프로젝트에 대한 텍스트 메시지들의 하나 이상의 특별한 타겟 언어들의 번역 차이들을 발견하길 바랄 수 있다. 대안적으로는, 시간 간격은 제1 이전의 시간(예컨대, 2 주일 전)과 제2 이전의 시간(예컨대, 1 주일 전) 사이일 수 있다. 일부 구현들에서, 사용자는 예컨대, 해당 언어로 된 어플리케이션의 이전의 버전을 식별함으로써, 시간 간격을 특정할 수 있다. 그 다음, 시스템은 예컨대, 어플리케이션의 이전의 버전에서 사용된 번역이 생성되었던 시간과 현재 시간 사이의 시간 간격을 생성할 수 있다.
이 번역 변경 목록(121)에 근거하여, 시스템의 기준 구축 모듈(112)은 소스 코드 프로젝트 베이스(112)에 저장된 소스 코드 프로젝트를 구축할 수 있다. 구축물(build)은 추가의 프로세싱을 위해, 어플리케이션에서 시간 간격 동안 변경들을 겪은 것으로 발견된 텍스트 메시지들 각각의 메시지 식별자들을 유지할 수 있다. 소프 코드 프로젝트를 구축하기 위한 이 기법은 "기준 구축"으로 나타내질 수 있다.
상기 언급된 "기준 구축" 기법의 결과는 기준 어플리케이션(123)이다. 기준 어플리케이션(123)은 번역자들에게 렌더링된 어플리케이션(125)의 특별한 기능성을 제시하도록 시스템(100)의 렌더링 모듈(124)에 의해 렌더링될 수 있다. 그 다음, 번역자들은 각각의 텍스트 메시지가 적절하게 번역되게 하기 위해 사용자 환경에서 특정된 시간 간격 동안 변경을 겪은 다양한 번역들을 리뷰할 수 있다. 번역자들로 하여금 어플리케이션의 디스플레이되는 사용자 환경에서 수정될 필요가 있는 텍스트 메시지들의 번역을 추가로 변경하게 하는 기능성이 렌더링된 어플리케이션(125)에서 번역자들에 제공될 수 있다.
도 2는 기술된 본 발명의 실시예들에 따른 어플리케이션 로컬화에 있어서 번역 지원을 제공하는 예시적인 서버 시스템의 개략도이다. 도 2의 예시적인 서버는 하나 이상의 프로세서들(212), 컴퓨터 판독가능 매체(216), 네트워크(230)를 통해 다른 컴퓨터들과 통신하는 통신 인터페이스(218), 사용자 인터페이스 디바이스들(220) 및 어떤 추가적인 디바이스들(214)을 포함하여 하드웨어 또는 펌웨어 구조의 층을 포함할 수 있다. 서버(200)의 동작을 지원하는 하드웨어 또는 펌웨어 외에, 어플리케이션 로컬화에 있어서 번역 지원을 제공하는 특정한 어플리케이션 모듈들이 또한, 서버(200)의 운영 체제 상에서 실행될 수 있다. 이 어플리케이션 모듈들은 번역 모듈(120), 기준 구축 모듈(122) 및 렌더링 모듈(124)을 포함할 수 있다. 일부 구현들에서, 서버(200)는 네트워크(230)에 연결되고, 번역 모니터링 모듈(120)을 이용하여, 상기 네트워크(230)를 통해 번역 보관소(110) 내의 번역 변경들을 모니터링한다. 서버(200)의 기준 구축 모듈(122)은, 번역 보관소(110)에 대한 변화들을 모니터링한 것의 결과로서 서버(200) 상에 생성된 번역 변경 목록 내의 정보를 이용하여, 네트워크(230)에 걸쳐 소스 코드 프로젝트 베이스(112)로부터 수신된 소스 코드 프로젝트를 기준 구축(reference build)할 수 있다. 이 기준 구축 프로세스가 완료된 이후에, 렌더링 모듈(124)은 어플리케이션의 다양한 사용자 인터페이스들에 디스플레이되는 텍스트 메시지들의 번역들을 추가로 리뷰하기 위해 번역자들에게 서버(200) 상의 이 기준 어플리케이션을 렌더링할 수 있다. 대안적으로는, 번역 보관소(110) 및 소스 코드 프로젝트 베이스(112) 중 어느 하나 또는 둘 모두는 동일한 서버(200) 상에 위치될 수 있다.
도 3a는 기술된 본 발명의 실시예들에 따른 어플리케이션들을 구축하는 데 사용하기 위한 텍스트 메시지들을 저장하는 예시적인 번역 보관소를 도시한다. 예시적인 번역 보관소에서, 소스 언어로 된 각각의 텍스트 메시지는 고유한 식별자를 가질 수 있고, 이 고유한 식별자는 텍스트 메시지 또는 특별한 언어로의 이 텍스트 메시지의 번역이 소스 코드 프로젝트의 코드에서 적절한 포지션에 위치되어야 함을 나타내도록 소스 코드 프로젝트에 사용될 수 있다. 번역 보관소 내의 각각의 텍스트 메시지는 하나 이상의 언어들로의 번역들을 가질 수 있다. 이 예에서, 번역 보관소 내의 제1 엔트리는 텍스트 메시지 "start"이며, 이 텍스트 메시지는 메시지 id "12111"에 의해 고유하게 식별되고 중국어 및 일어 둘 모두로의 번역을 가진다. 유사하게, 텍스트 메시지들 "review", "save as" 및 "edit" 모두는 각각의 고유한 식별자들을 가지며, 중국어 및 일어로의 자신들의 대응하는 번역들을 가질 수 있거나 또는 아직 가지지 못했을 수 있다. 각각의 텍스트 메시지가 단어, 구, 문장 또는 심지어는 복수의 문장들일 수 있으며, 타겟 언어로의 특별한 텍스트 메시지의 번역은 특별한 시간에 타겟 언어로 아직 제공되지 못했을 수 있음이 주목되어야 한다. 또한, 본 명세서에 기술된 기법들은, 텍스트 메시지들의 번역들에 이루어진 어떤 변경들이 텍스트 메시지들의 버전들을 트랙킹하는 시스템(예컨대, 버전 제어 시스템)에 의해 관리될 것이어서, 변경들이 이루어진 시간 및 이전의 번역들이 시스템에 질의함으로써 쉽게 검색될 수 있는 환경에서 동작한다.
도 3b는 기술된 본 발명의 실시예들에 따른 도 3a에 도시된 바와 같은 번역 보관소 내의 정보에 근거하여 번역 모니터링 모듈에 의해 프로세싱되는 번역 정보의 예시적인 테이블이다. 이는 시스템(예컨대, 도 1의 시스템(100))이 특별한 소스 코드 프로젝트를 로컬화함에 있어서 번역 지원을 제공하도록 동작할 때 이 특별한 소스 코드 프로젝트에 대해 생성되는 테이블일 수 있다. 이 테이블 내의 각각의 엔트리는 도 3a에 도시된 바와 같은 번역 보관소 내의 텍스트 메시지에 관한 정보이며, 특별한 언어로의 상기 텍스트 메시지의 번역은 일부 변경들을 겪었다. 예를 들어, 이 테이블은 1 주일 전과 현재 시간 사이에 특정 소스 코드 프로젝트에 사용된 텍스트 메시지들 모두에 대해 도 3a에 도시된 번역 보관소의 중국어의 번역 변경들을 포함할 수 있다. 이 테이블은 지나간 주 또는 다른 간격에서 일부 변경들이 보인 텍스트 메시지들의 메시지 식별자들을 유지하기 위한 필드 "msgID"를 포함한다. 필드 "Type"은 텍스트 메시지들의 번역들이 겪은 변경의 특별한 타입을 특정하기 위해 사용된다. 비록 이 테이블이 "번역 변경 테이블"로 지칭되지만, 이 이름은 오직 편의를 위해 사용되는 바, 그 이유는 시간 간격에 걸쳐 실제로 변경된 텍스트 메시지들을 기록하는 것에 더하여, 이 테이블은 또한 특별한 시간에 어떤 번역들을 아직 가지지 않은 이러한 텍스트 메시지들을 기록할 수 있기 때문임에 주목해야 한다. 따라서, 번역 변경의 타입들은 "수정됨", "새롭게 추가됨" 그리고 "번역되지 않음"을 포함할 수 있다. 상기 타입 "수정됨"은 동일한 텍스트 메시지의 번역이 이 시간 기간에 걸쳐 변경되었음을 의미한다. 예를 들어, 이 테이블에서, 텍스트 메시지 "start"는 1 주일 전에 중국어 "
Figure pct00001
"으로 번역되었지만, 그 시간 이례로 중국어 "
Figure pct00002
"으로 변경되었다. 상기 타입 "새롭게 추가됨"은 (예컨대, 도 3b의 텍스트 메시지 "add to cart"의 경우) 1 주일 전에 번역 보관소에 존재하지 않았지만, 지난 주 내의 이슈(issue)에서 프로젝트에 대해 누군가에 의해 추가된 그러한 텍스트 메시지들을 나타내는 바, 그 이유는 예컨대 소스 코드 프로젝트가 변경되었고 새로운 텍스트 메시지들이 이 소스 코드 프로젝트에 추가되었기 때문이다. 상기 타입 "번역되지 않음"은 타겟 언어로 아직 번역되지 않은 동일한 프로젝트에 대한 이러한 텍스트 메시지들을 나타내기 위해 사용된다. 도 3b의 테이블에서, 텍스트 메시지 "video publishing"는 아직 번역되지 않았고, "번역되지 않음"으로 이 번역 변경 목록에 레코딩되었다. 또한, 변경 목록은 이전의 시간 및 현재 시간의 각각의 번역들을 각각 저장하는 필드들을 포함할 수 있다. 도 3b에 도시된 바와 같이, 텍스트 메시지 "review"의 번역은 1 주일 전에 중국어 "
Figure pct00003
"였지만, 이는 변경되었고, 이제는 중국어 "
Figure pct00004
"이다.
일반적으로, 도 3a에 도시된 바와 같은 번역 변경 목록은 처음으로 번역될 이러한 텍스트 메시지들을 포함하여, 번역자에 의해 리뷰될 특별한 소스 코드 프로젝트에 대한 모든 텍스트 메시지들의 타겟 언어의 번역 정보를 레코딩할 수 있다. 또한, 이 번역 변경 목록은 특별한 텍스트 메시지에 대해 하나 보다 많은 타겟 언어로의 텍스트 메시지의 번역 변경들에 관한 정보를 포함할 수 있다. 이 경우, 번역 변경의 타입, 이전의 번역 및 현재의 번역에 대한 별개의 필드들은 각각의 이러한 추가적인 언어에 대해 포함될 수 있다. 일부 구현들에서, 기준 어플리케이션에 사용될 번역 변경 목록에서 각각의 텍스트 메시지에 새로운 메시지 식별자, (즉, 번역 변경 목록은 도 2a에 도시된 바와 같은 번역 보관소에 저장된 것과 동일한 메시지 식별자들에 추가적인 메시지 식별자)를 할당하는 다른 필드를 포함한다. 이 텍스트 메시지 식별자들을 이용함으로써, 시스템은 렌더링 모듈에 의해 추후에 사용하기 위해 기준 어플리케이션에 독특하게(distinctively) 내장되기에 적절하지 않을 수 있는 번역 보관소로부터 물려받은(inherited) 메시지 식별자들을 사용하지 않아도 될 것이다.
도 4는 기술된 본 발명의 실시예들에 따른 어플리케이션 로컬화에 있어서 번역 지원을 제공하는 예시적인 프로세스(400)를 도시하는 순서도이다. 프로세스(400)는 하나 이상의 위치들에 위치된 하나 이상의 컴퓨터들의 시스템에 의해 수행될 수 있다. 예를 들어, 도 1의 시스템(100)은 프로세스(400)를 수행하기 위해 사용될 수 있다.
단계(402)에서, 사용자는 번역 지원 시스템으로의 입력으로 하나 이상의 특별한 이전의 시간들을 특정할 수 있다. 예를 들어, 번역자는 1 주일 전과 현재 시간 사이 또는 3 주일 전과 1 주일 전 사이의 특별한 소스 코드 프로젝트에 대한 텍스트 메시지들의 하나 이상의 특별한 타겟 언어들의 번역 차이들을 발견하길 바랄 수 있다. 특별한 소스 코드 프로젝트는 또한, 사용자에 의해 특정될 수 있거나 또는 만일 단 하나의 소스 코드 프로젝트가 이용가능하면 디폴트(default)로 시스템에 의해 설정될 수 있다. 대안적으로는, 사용자는 예컨대, 소스 코드 프로젝트의 이전의 버전과 상기 소스 코드 프로젝트의 현재의 버전 간의 번역 차이들을 획득하기 위해 상기 소스 코드 프로젝트의 이전의 버전을 식별할 수 있다.
시스템의 번역 모니터링 모듈은 이 입력에 근거하여, 번역 보관소 상의 변경들을 현재 관리하는 버전 제어 시스템에 질의함으로써 하나 이상의 특별한 시간들에 의해 정의되는 시간 간격 동안 번역 변경들을 식별할 것이다(단계 404). 버전 제어 시스템이 시간에 걸쳐 리소스에 대한 어떤 변경들을 레코딩하도록 구성되기 때문에, 이 기술 분야의 숙련자들은 두 가지 서로 다른 시간들 사이에 버전 제어 시스템에 의해 관리되는 리소스에서 변경들을 획득하는 것이 종래의 기법들을 이용함으로써 구현될 수 있음을 쉽게 이해할 것이다. 그러므로, 특별한 프로젝트에 대한 번역 보관소 내의 텍스트 메시지들의 번역 변경들은 예컨대, 버전 제어 시스템에 로깅된 변경 정보를 이용함으로써, 제1 특정된 시간에서의 번역 보관소 내의 텍스트 메시지들의 번역들을 제2 특정된 시간에서의 번역 보관소 내의 텍스트 메시지들의 번역들과 비교함으로써 모니터링될 수 있다. 또한, 번역 모니터링 모듈은 사용자로부터 단일의 이전의 시간을 특정하는 입력을 받아들이도록 구성될 수 있는 바, 그 이유는 번역 보관소 내의 번역 변경들에 관한 정보가 이전의 시간과 현재 시간 사이에서 번역자에 주로 가치있기 때문이다. 대안적으로는, 번역 모니터링 모듈은 또한, 두 가지 이전의 시간들에 의해 정의되는 시간 간격을 특정하는 입력을 받아들이도록 구성될 수 있다.
단계(406)에서, 시스템은 소스 코드 프로젝트 내의 하나 이상의 특정한 타겟 언어들로의 텍스트 메시지들의 번역들에 대해 번역 변경 목록을 생성한다. 생성된 번역 변경 목록은 예컨대, 도 3b를 참조하여 상기에 기술된 형태로 존재할 수 있다. 이전에 언급했던 바와 같이, 기준 구축 모듈에 의해 "기준 구축"된 이후 어플리케이션을 렌더링할 때 변경을 겪은 각각의 텍스트 메시지를 독특하게 식별가능하게 유지하기 위해 상기 변경을 겪은 각각의 텍스트 메시지에 대해 새로운 메시지 식별자 필드가 번역 변경 목록에 생성될 수 있다. 예를 들어, 새로운 메시지 식별자는 10개의 문자(character)들을 가질 수 있고, 상기 문자는 글자 "T"로 시작되고, 그 다음에는 9 개의 숫자들의 시퀀스가 뒤따르며, 기타 등등으로 이루어진다. 이 새로운 메시지 식별자를 구성하기 위한 다양한 서로 다른 기법들이 기준 구축된 어플리케이션을 렌더링할 때 이러한 메시지 식별자들의 추후의 식별을 용이하게 이루어지게 하기 위해 사용될 수 있고, 상기 기준 구축된 어플리케이션은 예컨대, 서버 측 웹 어플리케이션일 수 있다. 일부 구현들에서, 번역 변경 목록은 특정한 소스 코드 프로젝트에 대해, 번역자가 프로젝트에서 번역 변경들을 체크하길 원하고 시스템을 실행시킬 때마다 생성될 수 있다. "변경"된 텍스트 메시지들에 더하여, 번역 변경 목록은 또한, 프로젝트에 사용되는 텍스트 메시지들 모두를 포함할 수 있으며, 특정된 시간 주기 사이에 동일하게 유지되는 텍스트 메시지들은 "비수정됨(unmodified)"으로 나타내질 수 있으며, 이들이 목록에 존재함에 따라 유지될 수 있다. 대안적인 구현에서, 번역 변경 목록은 복수의 소스 코드 프로젝트들에 대해 생성될 수 있다. 단계(408)에서, 시스템은 소스 코드 프로젝트를 번역 변경 목록에 포함된 정보를 이용하여 렌더링 모듈 상에서 실행가능한 어플리케이션으로 구축한다. 일부 구현들에서, 소스 코드 프로젝트는 JSP(Java Server Pages), Visual Basic 등으로 기록된 것과 같은 웹 어플리케이션일 수 있다. 실행가능한 어플리케이션을 구축함에 있어서, 시스템은 소스 코드 프로젝트를 검색할 수 있고, 번역 변경 목록을 컨설팅(consulting)함으로써 프로젝트 내의 메시지 식별자들 모두를 타겟 언어로의 대응하는 텍스트 메시지들의 현재 번역과 교체할 수 있다. 수정되거나, 새롭게 추가되거나 또는 번역되지 않은 이러한 텍스트 메시지들의 경우, 메시지 식별자들, 소스 언어로 된 텍스트 메시지들 및 타겟 언어로의 이전 번역 및 현재 번역은 HTML 코드 내의 특별한 장소들에 내장될 수 있는 바, 이러한 특별한 장소들에 이 텍스트 메시지들이 위치된다. 예를 들어, 텍스트 메시지 "start"에 대해, 만일 이 텍스트 메시지가 "<label>12111</label>"의 형태로 소스 HTML 코드로 사용되고, 상기 텍스트 메시지의 중국어로의 번역이 특정된 시간 간격 동안 수정되었다면, 새로운 커스텀 속성(custom attribute)들이 라벨 "<label>"에 대해 생성될 수 있고, 상기 라벨은 이 변경 정보를 보유할 것이다. 예를 들어, 기준 구축 프로세스 이후에, 소스 코드의 상기 세그먼트는
Figure pct00005
로 변경될 수 있다.
이 방식으로, 번역 변경 정보는 기준 구축 프로세스 이후 유지된다. 대안적인 구현들에서, 타겟 언어에 대한 식별자 및 어떤 다른 관련 정보는 또한, 텍스트 메시지들을 포함할 수 있는 웹 어플리케이션에서 다양한 라벨들에 대한 커스텀 속성들을 이용함으로써 구축된 어플리케이션 내의 적절한 장소들에 내장될 수 있다. 또한, 이 기술분야의 숙련자들은 유사한 기법들이 예컨대, HTML 태그들 사이 외에 소스 코드 프로젝트 내의 다른 장소들에 텍스트 메시지들의 번역 변경 정보를 내장하도록 사용될 수 있음을 이해할 것이다.
소스 코드 어플리케이션이 실행가능한 어플리케이션으로 기준 구축된 이후에, 시스템은 번역 체크를 위해 사용자에게 제시하기 위해 실행가능한 어플리케이션을 렌더링하는 것을 진행할 수 있다(단계 410). 일부 구현들에서, 시스템은 특정한 커스텀 속성들 "msgID"로 번역 변경 정보를 발견하기 위해 동적으로 생성된 웹 페이지 내의 HTML 태그들을 체크함으로써 번역 변경 정보를 검색할 수 있다. 시스템은 수정된 텍스트 메시지들을 상기 텍스트 메시지들 주변에 추가의 HTML 태그들을 삽입함으로써 강조할 수 있다. 또한, 시스템은 번역자에게 이전의 번역을 제시하기 위해 예컨대, 다른 HTML 태그들 또는 JavaScript 코드를 이용하여 디스플레이된 웹 페이지에서 테스트 메시지 가까이에 다른 진보된 기능들, 예컨대 드롭다운 박스(dropdown box), 팝업 윈도우 또는 다른 사용자 인터페이스 요소를 내장시킬 수 있으며, 이들은 디스플레이된 텍스트 메시지 가까이에 있는 특별한 아이콘을 클릭함으로써 트리거될 수 있다.
이 방식으로, 번역자는 변경을 겪은, 디스플레이된 웹 페이지 내의 텍스트 메시지들을 쉽게 발견할 수 있고, 이전의 번역들을 체크할 수 있다. 번역자는 또한, 각각의 텍스트 메시지의 의미가 적절하게 번역되었음을 보장하기 위해 실제 사용자 환경에서 이러한 번역들을 리뷰할 수 있다. 대안적인 구현들에서, 시스템은 예컨대, 수정을 하기 위해 번역 보관소 또는 번역 변경 목록으로의 특정한 인터페이스에 가야만 하는 대신, 번역자가 어플리케이션의 사용자 환경에서 수정될 필요가 있는 디스플레이된 텍스트 메시지들의 번역들에 추가의 변경을 하도록 하는 다른 능력을 더 내장시킬 수 있다. 또한, 시스템은 특별한 프로젝트 또는 복수의 프로젝트들의 번역 변경들의 요약을 제시하는 보고 기능들을 포함하도록 더 구성될 수 있다.
본 명세서에 기술된 본 발명의 실시예들 및 기능적 동작들은, 본 명세서에 개시된 구조들 및 이의 구조적 균등물들을 포함하여 디지털 전자 회로, 유형으로-수록된 컴퓨터 소프트웨어 또는 펌웨어, 하드웨어 또는 이들 중 하나 이상의 조합들로 실시될 수 있다. 본 명세서에 기술된 본 발명의 실시예들은 하나 이상의 컴퓨터 프로그램들, 즉 데이터 프로세싱 장치에 의한 실행을 위해, 또는 그 장치의 동작을 제어하기 위해 하나 이상의 컴퓨터 스토리지 매체 상에 인코딩되는 컴퓨터 프로그램 명령어들의 하나 이상의 모듈들로서 구현될 수 있다. 대안적으로 또는 추가적으로, 프로그램 명령어들은 데이터 프로세싱 장치에 의한 실행을 위해 적합한 수신기 장치로의 전송을 위해 정보를 인코딩하도록 발생되는, 인공적으로-발생되는 신호, 예를 들어, 머신으로 발생된 전기적, 광학적 또는 전자기적 신호 상에 인코딩될 수 있다. 컴퓨터 스토리지 매체는 컴퓨터-판독가능한 스토리지 디바이스, 컴퓨터-판독가능한 스토리지 기판, 랜덤 또는 직렬 액세스 메모리 디바이스, 또는 이들 중 하나 이상의 조합일 수 있다.
용어 "데이터 프로세싱 장치"는 예시로서 프로그램가능한 프로세서, 컴퓨터, 또는 복수의 프로세서들 또는 컴퓨터들을 포함하여, 데이터를 프로세싱하기 위한 모든 종류들의 장치, 디바이스들 및 머신들을 포괄한다. 장치는 특수용 논리 회로, 예를 들어, FPGA(필드 프로그램가능한 게이트 어레이) 또는 ASIC(응용 주문형 집적 회로)을 포함할 수 있다. 장치는 또한, 하드웨어에 더하여, 당해의 컴퓨터 프로그램에 대한 실행 환경을 생성하는 코드, 예를 들어, 프로세서 펌웨어, 프로토콜 스택, 데이터베이스 관리 시스템, 운영 체제, 또는 이들 중 하나 이상의 조합을 구성하는 코드를 포함할 수 있다. (프로그램, 소프트웨어, 소프트웨어 어플리케이션, 스크립트 또는 코드로도 나타내질 수 있는) 컴퓨터 프로그램은 컴파일된 또는 해석된 언어들, 선언형 또는 절차형 언어들을 포함하는 프로그래밍 언어의 어떤 형태로 기록될 수 있으며, 단독형 프로그램으로서 또는 모듈, 컴포넌트, 서브루틴, 객체 또는 컴퓨팅 환경에 이용하기 위해 적합한 다른 유닛으로서의 형태를 포함하는 어떤 형태로 배치될 수 있다. 컴퓨터 프로그램은 반드시 그러해야 하는 것은 아니지만, 파일 시스템에서의 파일에 대응할 수 있다. 프로그램은 당해의 프로그램에 전용인 단일 파일, 또는 다수의 조직화된 파일들(예를 들어, 하나 이상의 모듈들, 서브-프로그램들 또는 코드의 일부분들을 저장하는 파일들)에서, 다른 프로그램들 또는 데이터(예를 들어, 마크업 언어 문서에 저장된 하나 이상의 스크립트들)를 유지하는 파일의 일부분에 저장될 수 있다. 컴퓨터 프로그램은 하나의 컴퓨터 또는 일 사이트에 위치되거나 복수의 사이트들에 걸쳐 분산되며 통신 네트워크에 의해 상호접속되는 복수의 컴퓨터들 상에서 실행되도록 배치될 수 있다.
본 명세서에 기술된 프로세스들 및 논리 흐름들은 입력 데이터에 따라 동작하고 출력을 발생시킴으로써 기능들을 수행하기 위해 하나 이상의 컴퓨터 프로그램들을 실행하는 하나 이상의 프로그램가능한 프로세서들에 의해 수행될 수 있다. 프로세스들 및 논리 흐름들은 또한, 특수용 논리 회로, 예를 들어, FPGA 또는 ASIC에 의해 수행될 수 있고, 장치는 또한 이들로서 구현될 수 있다.
컴퓨터 프로그램의 실행을 위해 적합한 프로세서들은 예시로서, 범용 및 특수용 마이크로프로세서들 둘 모두, 그리고 어떤 종류의 디지털 컴퓨터의 어떤 하나 이상의 프로세서들을 포함한다. 일반적으로, 프로세서는 판독-전용 메모리 또는 랜덤 액세스 메모리 또는 둘 모두로부터 명령어들 및 데이터를 수신할 것이다. 컴퓨터의 필수 엘리먼트들은 명령어들을 수행 및 실행하기 위한 프로세서 및 명령어들 및 데이터를 저장하기 위한 하나 이상의 메모리 디바이스들이다. 일반적으로, 컴퓨터는 또한 데이터를 저장하기 위한 하나 이상의 매스 스토리지 디바이스들, 예를 들어, 자기, 광자기(magneto-optical) 디스크들, 광학 디스크들을 포함하거나, 또는 이들로부터 데이터를 수신하거나 데이터를 이들로 전송하거나, 또는 둘 다를 행하도록 동작가능하게 연결될 것이다. 그러나, 컴퓨터는 그와 같은 디바이스들을 가져야 하는 것은 아니다. 더욱이, 컴퓨터는 단지 몇몇 만을 말해 본다면, 다른 디바이스, 예를 들어, 모바일 전화, 개인용 디지털 단말(PDA), 모바일 오디오 또는 비디오 플레이어, 게임 콘솔, GPS 수신기 또는 휴대용 스토리지 디바이스(예를 들어, USB 플래시 드라이브)에 내장될 수 있다.
컴퓨터 프로그램 명령어들 및 데이터를 저장하기 위해 적합한 디바이스들은 예시로서 반도체 메모리 디바이스들 예컨대, EPROM, EEPROM 및 플래시 메모리 디바이스들; 자기 디스크들 예컨대, 내부 하드 디스크들 또는 탈착가능한 디스크들; 광자기 디스크들; 및 CD-ROM 및 DVD-ROM 디스크들을 포함하는, 비-휘발성 메모리, 매체 및 메모리 디바이스들의 모든 형태들을 포함한다. 프로세서 및 메모리는 특수용 논리 회로에 의해 보완될 수 있거나, 특수용 논리 회로에 통합될 수 있다.
사용자와의 상호대화를 제공하기 위해, 본 명세서에 기술된 발명의 실시예들은 사용자에게 정보를 디스플레이하기 위한 디스플레이 디바이스 예컨대, CRT(cathode ray tube) 또는 LCD(liquid crystal display) 모니터 및 사용자가 컴퓨터에 입력을 제공할 수 있는 키보드 및 포인팅 디바이스 예컨대, 마우스 또는 트랙볼을 갖는 컴퓨터 상에 구현될 수 있다. 다른 종류들의 디바이스들이 또한 사용자와의 상호대화를 제공하기 위해 이용될 수 있다. 예를 들어, 사용자에 제공되는 피드백은 감각 피드백 예컨대, 시각 피드백, 청각 피드백 또는 촉각 피드백의 어던 형태일 수 있고, 사용자로부터의 입력은 음향, 음성, 또는 촉각 입력을 포함하는 어떤 형태로 수신될 수 있다. 추가적으로, 컴퓨터는 사용자에 의해 이용되는 디바이스에 문서들을 전송하고 그로부터 문서들을 수신함으로써 예컨대, 웹 브라우저로부터 수신되는 요청들에 응답하여 사용자의 클라이언트 디바이스 상의 웹 브라우저에 웹 페이지들을 전송함으로써 사용자와 상호대화할 수 있다.
본 명세서는 많은 특정 구현 상세들을 포함하지만, 이들은 어떤 발명들 또는 청구될 수 있는 것의 범위에 대한 제한들로서 해석되어서는 안되며, 오히려 특별한 발명들의 특정 실시예들에 특정될 수 있는 특징들의 설명들로서 해석되어야 한다. 별개의 실시예들의 문맥으로 본 명세서에 기술되는 특정 특징들은 또한, 단일 실시예로 조합하여 구현될 수 있다. 역으로, 단일 실시예의 문맥으로 기술되는 다양한 특징들은 또한, 별개로 다수의 실시예들로 또는 어떤 적합한 부조합으로 구현될 수 있다. 더욱이, 비록 특징들이 특정 조합들로 동작하는 것으로 상기에 기술되고 심지어 초기에 그와 같이 청구되었더라도, 청구된 조합으로부터의 하나 이상의 특징들은 일부 경우들에서 그 조합으로부터 삭제될 수 있으며, 청구된 조합은 부조합 또는 부조합의 변형으로 유도될 수 있다. 유사하게, 동작들이 특정 순서로 도면들에 도시되지만, 이는 그와 같은 동작들이 도시된 특정 순서 또는 순차적 순서로 수행되어야 하거나, 또는 바람직한 결과들을 달성하기 위해 모든 예시된 동작들이 수행되어야 하는 것을 요구하는 것으로 이해되어서는 안 된다. 특정 환경들에서, 멀티태스킹 및 병렬 프로세싱이 장점적일 수 있다. 더욱이, 상술한 실시예들에서의 다양한 시스템 컴포넌트들의 분리는 모든 실시예들에서의 그와 같은 분리를 요구하는 것으로 이해되어서는 안 되며, 기술된 프로그램 컴포넌트들 및 시스템들은 일반적으로 단일 소프트웨어 물건에 함께 집적될 수 있거나 다수의 소프트웨어 물건들에 패키징될 수 있음이 이해되어야 한다.
본 발명의 특정 실시예들이 기술되었다. 다른 실시예들이 다음의 특허 청구 범위 내에 있다. 예를 들어, 특허 청구 범위에서 인용되는 액션들은 서로 다른 순서로 수행될 수 있으며 여전히 바람직한 결과들을 달성할 수 있다. 일례로, 첨부된 도면들에 도시되는 프로세스들은 바람직한 결과들을 달성하기 위해 반드시 도시된 특별한 순서, 또는 순차적 순서를 요구하지 않는다. 특정 구현들에서, 멀티태스킹 및 병렬 프로세싱이 유용할 수 있다.

Claims (20)

  1. 컴퓨터로 구현되는 방법으로서,
    제1 시간과 제2 시간 사이의 시간 간격 동안의 번역들에 변경들을 표시하는 번역 데이터, 제1 언어로 텍스트 메시지들을 식별하는 번역 데이터, 텍스트 메시지들 각각에 대한 각각의 식별자들 및 제2 언어로의 복수의 텍스트 메시지들의 대응하는 번역들을 번역 보관소(translation repository)에 저장하는 단계와;
    소스 코드 프로젝트에 각각의 식별자들 중 하나 이상을 포함시키는 단계와;
    상기 텍스트 메시지들 중 하나 이상의 텍스트 메시지 각각에 대해 상기 제1 시간에 이루어지는 상기 제2 언어로의 상기 텍스트 메시지의 일 번역, 상기 제2 시간에 이루어지는 상기 제2 언어로의 상기 텍스트 메시지의 다른 번역 및 상기 제1 시간과 제2 시간 사이의 상기 텍스트 메시지에 대한 번역 변경의 타입을 식별하는 메시지 변경 데이터의 목록을 생성하는 단계와, 상기 번역 변경의 타입은 수정됨(modified), 새롭게 추가됨(newly added) 또는 번역되지 않음(not translated) 중 하나이며;
    상기 소스 코드 프로젝트를 상기 제2 언어로 된 기준 웹 어플리케이션(reference web application)으로 구축(building)하는 단계와, 상기 구축 단계는:
    상기 소스 코드 프로젝트에서의 각각의 텍스트 메시지의 식별자를 상기 제2 시간에 이루어진 상기 제2 언어로의 상기 텍스트 메시지의 번역과 교체하는 단계와, 그리고
    상기 시간 간격 동안 번역이 변경된 텍스트 메시지에 대해, 번역이 변경된 상기 텍스트 메시지의 식별자를 상기 텍스트 메시지의 번역과 관련된 숨겨진 정보(hidden information)로서 삽입하는 단계를 포함하고, 시간 윈도우 동안 번역이 변경되지 않은 텍스트 메시지에 대한 식별자는 상기 기준 웹 어플리케이션의 텍스트 메시지의 번역과 관련된 숨겨진 정보로서 삽입되지 않으며; 그리고
    번역 체크를 위해 사용자에게 제시하기 위해 상기 기준 웹 어플리케이션을 렌더링하는 단계 - 상기 렌더링은 관련된 숨겨진 식별자를 가지는 텍스트 메시지들을 강조(highlighting)하고, 각각의 강조된 텍스트 메시지에 대해, 렌더링된 기준 어플리케이션에 상기 강조된 텍스트 메시지와 관련된 가젯(gadget)을 내장시키는(embed) 것을 포함한다 - 를 포함하며, 상기 가젯은 상기 제1 시간에 이루어진 강조된 텍스트 메시지의 번역과 상기 제2 시간에 이루어진 강조된 텍스트 메시지의 다른 번역 간의 비교를 상기 사용자에게 제시하도록 동작가능한 것을 특징으로 하는 컴퓨터로 구현되는 방법.
  2. 컴퓨터로 구현되는 방법으로서,
    제1 시간과 제2 시간 사이의 시간 간격 동안 번역들에 이루어지는 변경들을 표시하는 번역 데이터, 제1 언어로 텍스트 메시지들을 식별하는 번역 데이터, 텍스트 메시지들 각각에 대한 각각의 식별자들 및 제2 언어로의 복수의 텍스트 메시지들의 대응하는 번역들을 번역 보관소에 저장하는 단계와;
    소스 코드 프로젝트에 각각의 식별자들 중 하나 이상을 포함시키는 단계와;
    상기 소스 코드 프로젝트를 상기 제2 언어로 된 기준 어플리케이션으로 구축하는 단계와, 상기 구축 단계는:
    상기 소스 코드 프로젝트에서의 각각의 텍스트 메시지의 식별자를 상기 제2 시간에 이루어진 상기 제2 언어로의 상기 텍스트 메시지의 번역과 교체하는 단계와, 그리고
    상기 시간 간격 동안 번역이 변경된 텍스트 메시지에 대해, 번역이 변경된 상기 텍스트 메시지의 식별자를 상기 텍스트 메시지의 번역과 관련된 숨겨진 정보로서 삽입하는 단계를 포함하고, 시간 윈도우 동안 번역이 변경되지 않은 텍스트 메시지에 대한 식별자는 상기 기준 어플리케이션의 텍스트 메시지의 번역과 관련된 숨겨진 정보로서 삽입되지 않으며; 그리고
    번역 체크를 위해 사용자에게 제시하기 위해 상기 기준 어플리케이션을 렌더링하는 단계 - 상기 렌더링은 관련된 숨겨진 식별자를 가지는 텍스트 메시지들을 강조하는 것을 포함한다 - 를 포함하는 것을 특징으로 하는 컴퓨터로 구현되는 방법.
  3. 제2항에 있어서,
    상기 번역 데이터는 목록으로 표시되는 것을 특징으로 하는 컴퓨터로 구현되는 방법.
  4. 제2항에 있어서,
    특별한 텍스트 메시지에 대해, 상기 제1 시간에 이루어진 상기 제2 언어로의 상기 특별한 텍스트 메시지의 번역 및 상기 제2 시간에 이루어진 상기 제2 언어로의 상기 특별한 텍스트 메시지의 번역을 식별하는 메시지 변경 데이터를 생성하는 단계를 더 포함하는 것을 특징으로 하는 컴퓨터로 구현되는 방법.
  5. 제4항에 있어서,
    상기 메시지 변경 데이터는 목록으로 표시되는 것을 특징으로 하는 컴퓨터로 구현되는 방법.
  6. 제4항에 있어서,
    상기 메시지 변경 데이터를 생성하는 단계는 상기 제1 시간과 상기 제2 시간 사이의 특별한 텍스트 메시지에 대한 번역 변경의 타입을 식별하는 데이터를 생성하는 단계를 더 포함하는 것을 특징으로 하는 컴퓨터로 구현되는 방법.
  7. 제6항에 있어서,
    상기 번역 변경의 타입은: 수정됨, 새롭게 추가됨 또는 번역되지 않음 중 하나인 것을 특징으로 하는 컴퓨터로 구현되는 방법.
  8. 제2항에 있어서,
    사용자에게 제시하기 위해 상기 기준 어플리케이션을 렌더링하는 단계는 각각의 강조된 텍스트 메시지에 대해, 렌더링된 기준 어플리케이션에 상기 강조된 텍스트 메시지와 관련된 가젯을 내장시키는 단계를 포함하며, 상기 가젯은 상기 제1 시간에서의 강조된 텍스트 메시지의 번역과 상기 제2 시간에서의 강조된 텍스트 메시지의 번역 간의 비교를 상기 사용자에게 제시하도록 동작가능한 것을 특징으로 하는 컴퓨터로 구현되는 방법.
  9. 제8항에 있어서,
    상기 렌더링된 기준 어플리케이션에 강조된 텍스트 메시지와 관련된 가젯을 내장시키는 단계는 사용자 입력에 응답하여, 상기 제2 시간에 이루어진 상기 강조된 텍스트 메시지의 번역과 연계하여 상기 제1 시간에 이루어진 상기 강조된 텍스트 메시지의 번역을 디스플레이하는 사용자 인터페이스 요소를 생성하는 단계를 포함하는 것을 특징으로 하는 컴퓨터로 구현되는 방법.
  10. 제2항에 있어서,
    상기 기준 어플리케이션은 웹 어플리케이션인 것을 특징으로 하는 컴퓨터로 구현되는 방법.
  11. 제10항에 있어서,
    상기 웹 어플리케이션은 복수의 웹 페이지들을 포함하고,
    상기 웹 어플리케이션 내의 각각의 웹 페이지에 대한 보고(report)를 생성하는 단계를 더 포함하며, 상기 보고는 상기 페이지 상의 번역 변경들에 관한 요약 정보를 포함하는 것을 특징으로 하는 컴퓨터로 구현되는 방법.
  12. 시스템으로서,
    하나 이상의 컴퓨터들과; 그리고
    명령어들을 저장한 하나 이상의 스토리지 디바이스들을 포함하여 구성되고, 상기 명령어들은 상기 하나 이상의 컴퓨터들에 의해 실행될 때, 상기 하나 이상의 컴퓨터들로 하여금 동작들을 수행하게 하는 바, 상기 동작들은:
    제1 시간과 제2 시간 사이의 시간 간격 동안의 번역들에 대한 변경들을 표시하는 번역 데이터, 제1 언어로 텍스트 메시지들을 식별하는 번역 데이터, 상기 텍스트 메시지들 각각에 대한 각각의 식별자들 및 제2 언어로의 복수의 텍스트 메시지들의 대응하는 번역들을 번역 보관소에 저장하는 동작과;
    소스 코드 프로젝트에 각각의 식별자들 중 하나 이상을 포함시키는 동작과;
    상기 소스 코드 프로젝트를 상기 제2 언어로 된 기준 어플리케이션으로 구축하는 동작과, 상기 구축하는 동작은:
    상기 소스 코드 프로젝트에서의 각각의 텍스트 메시지의 식별자를 상기 제2 시간에 이루어진 상기 제2 언어로의 상기 텍스트 메시지의 번역과 교체하는 것과, 그리고
    상기 시간 간격 동안 번역이 변경된 텍스트 메시지에 대해, 번역이 변경된 상기 텍스트 메시지의 식별자를 상기 텍스트 메시지의 번역과 관련된 숨겨진 정보로서 삽입하는 것을 포함하고, 시간 윈도우 동안 번역이 변경되지 않은 텍스트 메시지에 대한 식별자는 상기 기준 어플리케이션의 텍스트 메시지의 번역과 관련된 숨겨진 정보로서 삽입되지 않으며; 그리고
    번역 체크를 위해 사용자에게 제시하기 위해 상기 기준 어플리케이션을 렌더링하는 동작 - 상기 렌더링은 관련된 숨겨진 식별자를 가지는 텍스트 메시지들을 강조하는 것을 포함한다 - 을 포함하는 것을 특징으로 하는 시스템.
  13. 제12항에 있어서,
    상기 번역 데이터는 목록으로 표시되는 것을 특징으로 하는 시스템.
  14. 제12항에 있어서,
    상기 동작들에는, 특별한 텍스트 메시지에 대해, 상기 제1 시간에 이루어진 상기 제2 언어로의 상기 특별한 텍스트 메시지의 번역 및 상기 제2 시간에 이루어진 상기 제2 언어로의 상기 특별한 텍스트 메시지의 번역을 식별하는 메시지 변경 데이터를 생성하는 동작이 더 포함되는 것을 특징으로 하는 시스템.
  15. 제14항에 있어서,
    상기 메시지 변경 데이터를 생성하는 동작은 상기 제1 시간과 상기 제2 시간 사이의 상기 특별한 텍스트 메시지에 대한 번역 변경의 타입을 식별하는 데이터를 생성하는 것을 더 포함하는 것을 특징으로 하는 시스템.
  16. 제15항에 있어서,
    상기 번역 변경의 타입은: 수정됨, 새롭게 추가됨 또는 번역되지 않음 중 하나인 것을 특징으로 하는 시스템.
  17. 제12항에 있어서,
    사용자에게 제시하기 위해 상기 기준 어플리케이션을 렌더링하는 동작은 각각의 강조된 텍스트 메시지에 대해, 렌더링된 기준 어플리케이션에 상기 강조된 텍스트 메시지와 관련된 가젯을 내장시키는 것을 포함하며, 상기 가젯은 상기 제1 시간에서의 강조된 텍스트 메시지의 번역과 상기 제2 시간에서의 강조된 텍스트 메시지의 번역 간의 비교를 상기 사용자에게 제시하도록 동작가능한 것을 특징으로 하는 시스템.
  18. 제17항에 있어서,
    상기 렌더링된 기준 어플리케이션에 강조된 텍스트 메시지와 관련된 가젯을 내장시키는 것은 사용자 입력에 응답하여, 상기 제2 시간에 이루어진 상기 강조된 텍스트 메시지의 번역과 연계하여 상기 제1 시간에 이루어진 상기 강조된 텍스트 메시지의 번역을 디스플레이하는 사용자 인터페이스 요소를 생성하는 것을 포함하는 것을 특징으로 하는 시스템.
  19. 제12항에 있어서,
    상기 기준 어플리케이션은 웹 어플리케이션인 것을 특징으로 하는 시스템.
  20. 제19항에 있어서,
    상기 웹 어플리케이션은 복수의 웹 페이지들을 포함하고,
    상기 동작들에는, 상기 웹 어플리케이션 내의 각각의 웹 페이지에 대한 보고를 생성하는 동작이 더 포함되며, 상기 보고는 상기 페이지 상의 번역 변경들에 관한 요약 정보를 포함하는 것을 특징으로 하는 시스템.
KR1020147017528A 2011-11-25 2011-11-25 어플리케이션 로컬화에 있어서의 번역 지원 제공 KR101875820B1 (ko)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CN2011/082947 WO2013075332A1 (en) 2011-11-25 2011-11-25 Providing translation assistance in application localization

Publications (2)

Publication Number Publication Date
KR20140098822A true KR20140098822A (ko) 2014-08-08
KR101875820B1 KR101875820B1 (ko) 2018-07-06

Family

ID=48469026

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020147017528A KR101875820B1 (ko) 2011-11-25 2011-11-25 어플리케이션 로컬화에 있어서의 번역 지원 제공

Country Status (6)

Country Link
US (1) US9081769B2 (ko)
EP (1) EP2783300A4 (ko)
JP (1) JP5911594B2 (ko)
KR (1) KR101875820B1 (ko)
CN (1) CN104115141B (ko)
WO (1) WO2013075332A1 (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2018008796A1 (ko) * 2016-07-06 2018-01-11 (주) 비미오 앱 이름 검색 방법 및 시스템
US11829428B2 (en) 2016-07-06 2023-11-28 Vimio Co. Ltd App name search method and system

Families Citing this family (34)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9489184B2 (en) * 2011-12-30 2016-11-08 Oracle International Corporation Adaptive selection of programming language versions for compilation of software programs
US9411327B2 (en) * 2012-08-27 2016-08-09 Johnson Controls Technology Company Systems and methods for classifying data in building automation systems
US10007535B1 (en) * 2012-09-11 2018-06-26 EMC IP Holding Company LLC Method and system for an automation framework for internationalization compliant applications
WO2014056201A1 (en) * 2012-10-12 2014-04-17 Mediatek Inc. Layout module for printed circuit board
US9483450B2 (en) * 2013-04-04 2016-11-01 Adobe Systems Incorporated Method and apparatus for extracting localizable content from an article
US9372672B1 (en) * 2013-09-04 2016-06-21 Tg, Llc Translation in visual context
US9804862B2 (en) * 2013-12-02 2017-10-31 Crowdin, Inc. Translatable texts identification in in-context localization utilizing pseudo-language and an external server
US10613840B1 (en) * 2014-01-17 2020-04-07 TG, Inc Converting programs to visual representation with intercepting screen draws
GB2532763A (en) * 2014-11-27 2016-06-01 Ibm Displaying an application in the graphical user interface of a computer display
US10261996B2 (en) 2014-12-19 2019-04-16 Dropbox, Inc. Content localization using fallback translations
CN106648345A (zh) * 2015-11-04 2017-05-10 腾讯科技(深圳)有限公司 一种数据文本修改方法、终端及系统
US20170168999A1 (en) * 2015-12-14 2017-06-15 International Business Machines Corporation Translating web applications based on a context model
GB2547887A (en) * 2016-01-29 2017-09-06 Waazon (Holdings) Ltd Method and apparatus for generating amended marked-up text
US10409623B2 (en) 2016-05-27 2019-09-10 Microsoft Technology Licensing, Llc Graphical user interface for localizing a computer program using context data captured from the computer program
US10162819B2 (en) * 2016-08-17 2018-12-25 Netflix, Inc. Change detection in a string repository for translated content
US10691474B2 (en) 2017-01-03 2020-06-23 International Business Machines Corporation Text resources processing in an application
TWI613554B (zh) * 2017-03-24 2018-02-01 Zhuang Shi Cheng 翻譯輔助系統
US11042144B2 (en) 2017-03-24 2021-06-22 Johnson Controls Technology Company Building management system with dynamic channel communication
US10268674B2 (en) * 2017-04-10 2019-04-23 Dell Products L.P. Linguistic intelligence using language validator
US10235363B2 (en) 2017-04-28 2019-03-19 Sap Se Instant translation of user interfaces of a web application
EP3655826A1 (en) 2017-07-17 2020-05-27 Johnson Controls Technology Company Systems and methods for agent based building simulation for optimal control
CN107741931A (zh) * 2017-08-30 2018-02-27 捷开通讯(深圳)有限公司 操作系统框架的翻译方法、移动终端和存储装置
US10552547B2 (en) * 2017-10-10 2020-02-04 International Business Machines Corporation Real-time translation evaluation services for integrated development environments
JP6885319B2 (ja) * 2017-12-15 2021-06-16 京セラドキュメントソリューションズ株式会社 画像処理装置
CN109657249B (zh) * 2018-11-21 2022-03-22 天津字节跳动科技有限公司 应用程序的文本自动替换方法、装置及电子设备
US11514253B2 (en) * 2019-05-09 2022-11-29 Shopify Inc. Translation platform for executable instructions
CN110187887A (zh) * 2019-05-24 2019-08-30 广东飞企互联科技股份有限公司 用于软件开发的自动翻译方法及系统
JP2023514158A (ja) * 2020-02-06 2023-04-05 グーグル エルエルシー オーディオストリームの安定したリアルタイム翻訳
CN112183116B (zh) * 2020-09-25 2023-10-10 深圳市元征科技股份有限公司 信息呈现方法、装置、设备及介质
US20220108083A1 (en) * 2020-10-07 2022-04-07 Andrzej Zydron Inter-Language Vector Space: Effective assessment of cross-language semantic similarity of words using word-embeddings, transformation matrices and disk based indexes.
CN113111666A (zh) * 2021-04-07 2021-07-13 北京沃东天骏信息技术有限公司 一种实现应用程序的多语言翻译的系统及方法
KR20220145038A (ko) * 2021-04-21 2022-10-28 삼성전자주식회사 번역을 수행하는 방법 및 전자 장치
US20230297638A1 (en) * 2022-03-15 2023-09-21 Salesforce.Com, Inc. Automatic Layout Anomaly Detection for Website Localization
CN116943232A (zh) * 2023-06-26 2023-10-27 广州三七极耀网络科技有限公司 一种应用程序的全球化处理方法及设备

Family Cites Families (38)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07182348A (ja) * 1993-12-24 1995-07-21 Canon Inc 翻訳装置
JPH0883280A (ja) * 1994-09-14 1996-03-26 Sharp Corp 文書処理装置
JP3566457B2 (ja) * 1996-05-31 2004-09-15 株式会社日立製作所 構造化文書の版管理方法および装置
US7165020B2 (en) * 1998-05-29 2007-01-16 Citicorp Development Center, Inc. Multi-language phrase editor and method thereof
US6526426B1 (en) * 1998-02-23 2003-02-25 David Lakritz Translation management system
US6442516B1 (en) * 1999-01-29 2002-08-27 International Business Machines Corporation Software tool to perform concurrent national language translation builds
US6275790B1 (en) * 1999-07-28 2001-08-14 International Business Machines Corporation Introspective editor system, program, and method for software translation
JP4073635B2 (ja) * 2000-02-29 2008-04-09 富士通株式会社 中継装置、サーバ装置、端末装置、及びこれを利用した翻訳サーバシステム
FR2809509B1 (fr) * 2000-05-26 2003-09-12 Bull Sa Systeme et procede d'internationalisation du contenu de documents a balises dans un systeme informatique
US20020123878A1 (en) * 2001-02-05 2002-09-05 International Business Machines Corporation Mechanism for internationalization of web content through XSLT transformations
US20020123879A1 (en) * 2001-03-01 2002-09-05 Donald Spector Translation system & method
US6782529B2 (en) * 2001-03-29 2004-08-24 International Business Machines Corporation Method, apparatus and computer program product for editing in a translation verification test procedure
US20030084401A1 (en) * 2001-10-16 2003-05-01 Abel Todd J. Efficient web page localization
US20030115552A1 (en) * 2001-11-27 2003-06-19 Jorg Jahnke Method and system for automatic creation of multilingual immutable image files
US20040056894A1 (en) * 2002-09-19 2004-03-25 Igor Zaika System and method for describing and instantiating extensible user interfaces
CA2406025A1 (en) * 2002-09-30 2004-03-30 Ibm Canada Limited-Ibm Canada Limitee Validating content of localization data files
US20040128614A1 (en) * 2002-12-30 2004-07-01 International Business Machines Corporation Real time internationalization of web pages with embedded server-side code
KR20040065468A (ko) * 2003-01-14 2004-07-22 주식회사 크로스랭귀지 (영업소) 특허문서의 다국어 번역 처리방법 및 이 번역소프트웨어를 기록한 판독 가능한 기록매체
US7627479B2 (en) * 2003-02-21 2009-12-01 Motionpoint Corporation Automation tool for web site content language translation
US7761858B2 (en) * 2004-04-23 2010-07-20 Microsoft Corporation Semantic programming language
US7440888B2 (en) 2004-09-02 2008-10-21 International Business Machines Corporation Methods, systems and computer program products for national language support using a multi-language property file
US7580951B2 (en) * 2004-09-15 2009-08-25 Microsoft Corporation User-localizable hierarchical lists
US20060156278A1 (en) * 2004-11-18 2006-07-13 Reager Sue E Global localization and customization system and process
US7617092B2 (en) * 2004-12-01 2009-11-10 Microsoft Corporation Safe, secure resource editing for application localization
EP1903456A1 (en) * 2006-09-05 2008-03-26 Amadeus S.A.S. System and method for contextual localization of a web site
US7908260B1 (en) * 2006-12-29 2011-03-15 BrightPlanet Corporation II, Inc. Source editing, internationalization, advanced configuration wizard, and summary page selection for information automation systems
US7983897B2 (en) * 2007-02-14 2011-07-19 Google Inc. Machine translation feedback
CN101311897B (zh) * 2007-05-24 2012-02-22 国际商业机器公司 一种抓取应用程序的图形用户界面资源的方法及装置
US20090037830A1 (en) * 2007-08-03 2009-02-05 International Business Machines Corporation Software solution for localization of software applications using automatically generated placeholders
US9910850B2 (en) * 2007-10-25 2018-03-06 Disney Enterprises, Inc. System and method of localizing assets using text substitutions
US7974832B2 (en) * 2007-12-12 2011-07-05 Microsoft Corporation Web translation provider
US8473276B2 (en) * 2008-02-19 2013-06-25 Google Inc. Universal language input
CN101615181B (zh) * 2008-06-27 2012-05-16 国际商业机器公司 创建国际化网络应用的系统和方法
BRPI0924401B1 (pt) * 2009-03-18 2020-05-19 Google Inc métodos, sistemas e meios não-transitórios de armazenamento para tradução de web com substituição de exibição
US8478579B2 (en) 2009-05-05 2013-07-02 Google Inc. Conditional translation header for translation of web documents
CN101739458B (zh) * 2009-12-02 2013-03-27 中兴通讯股份有限公司 多语化资源的更新方法和系统
US8875103B2 (en) * 2010-05-12 2014-10-28 Ca, Inc. Method of testing multiple language versions of a software system using one test script
US8671389B1 (en) * 2011-09-27 2014-03-11 Google Inc. Web application resource manager on the web and localizable components

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2018008796A1 (ko) * 2016-07-06 2018-01-11 (주) 비미오 앱 이름 검색 방법 및 시스템
US11829428B2 (en) 2016-07-06 2023-11-28 Vimio Co. Ltd App name search method and system

Also Published As

Publication number Publication date
EP2783300A4 (en) 2015-12-23
US20140249797A1 (en) 2014-09-04
KR101875820B1 (ko) 2018-07-06
CN104115141B (zh) 2017-02-15
US9081769B2 (en) 2015-07-14
CN104115141A (zh) 2014-10-22
JP5911594B2 (ja) 2016-04-27
EP2783300A1 (en) 2014-10-01
JP2014534541A (ja) 2014-12-18
WO2013075332A1 (en) 2013-05-30

Similar Documents

Publication Publication Date Title
KR101875820B1 (ko) 어플리케이션 로컬화에 있어서의 번역 지원 제공
US7877251B2 (en) Document translation system
US8413061B2 (en) Synchronous to asynchronous web page conversion
Palanque et al. Formal methods in Human-computer interaction
US20090024936A1 (en) Method and system to maintain a web page
US8862455B2 (en) Creating and implementing language-dependent string pluralizations
Chen et al. Anafora: a web-based general purpose annotation tool
US20210165855A1 (en) String extraction and translation service
Zibula et al. Cross-platform development using HTML5, jQuery mobile, and phonegap: realizing a smart meter application
US20160103815A1 (en) Generating mobile web browser views for applications
US11010140B2 (en) Integration of workflow and logical data objects using visual programming
US10788958B2 (en) Personalization of a web application
US20170168999A1 (en) Translating web applications based on a context model
Leiva et al. Automatic internationalization for just in time localization of web-based user interfaces
CN113282285A (zh) 代码编写方法、装置、电子设备及存储介质
US20160103814A1 (en) Generating web browser views for applications
Marenkov et al. Design-time web usability evaluation with guideliner
Khalili Linked Data Reactor: a Framework for Building Reactive Linked Data Applications.
Van der Westhuizen Bootstrap for ASP. NET MVC
Andrunyk et al. Information System for Finding Inclusive Places for People with Disabilities.
Sachdeva et al. Extending support of IFML to RIA constructs
Larkin Issues in Programmatically Designing User Interfaces in JavaScript
ES2628004T3 (es) Proporcionar una interfaz para acceder a acciones de sitio web
Larkin A framework for programmatically designing user interfaces in JavaScript
US20090094509A1 (en) Document processing device, and document processing method

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant