KR20100045637A - Apparatus for executing multilingual application and control method thereof - Google Patents
Apparatus for executing multilingual application and control method thereof Download PDFInfo
- Publication number
- KR20100045637A KR20100045637A KR1020080104658A KR20080104658A KR20100045637A KR 20100045637 A KR20100045637 A KR 20100045637A KR 1020080104658 A KR1020080104658 A KR 1020080104658A KR 20080104658 A KR20080104658 A KR 20080104658A KR 20100045637 A KR20100045637 A KR 20100045637A
- Authority
- KR
- South Korea
- Prior art keywords
- language
- message
- file
- text file
- event
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/451—Execution arrangements for user interfaces
- G06F9/454—Multi-language systems; Localisation; Internationalisation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0481—Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
- G06F3/0482—Interaction with lists of selectable items, e.g. menus
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/40—Processing or translation of natural language
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Health & Medical Sciences (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Computational Linguistics (AREA)
- General Health & Medical Sciences (AREA)
- Artificial Intelligence (AREA)
- Stored Programmes (AREA)
- User Interface Of Digital Computer (AREA)
- Digital Computer Display Output (AREA)
Abstract
Description
본 발명은 다국어 지원 어플리케이션 실행 장치 및 그 제어방법에 관한 것으로, 보다 상세하게는 여러 나라의 언어로 작성된 소정의 텍스트 파일을 기초로 다국어 환경에서 실행되도록 하는 다국어 지원 어플리케이션 실행 장치 및 그 제어방법에 관한 것이다.The present invention relates to an apparatus for executing a multilingual application and a control method thereof, and more particularly, to an apparatus for executing a multilingual application and a method for controlling the same, which are executed in a multilingual environment based on a predetermined text file written in various languages. will be.
전자 기술의 발전으로 인해 컴퓨터는 전 세계적으로 널리 쓰이는 제품이 되었고, 개인적 용도이든, 업무 용도이든 현대인들은 컴퓨터를 사용하지 않고는 살아갈 수 없는 세상이 되었다.With the development of electronic technology, computers have become widely used all over the world, and whether for personal or business purposes, modern people can't live without computers.
이러한 컴퓨터는 일종의 하드웨어로써 다양한 업체에서 개발한 소프트웨어를 실행시킬 수 있도록 구성되어 있어서, 컴퓨터 사용자들은 자신이 필요한 소프트웨어를 별도로 구하여 각각의 용도에 맞도록 컴퓨터를 활용하고 있다.Such a computer is a kind of hardware that is configured to execute software developed by various companies, so that computer users obtain a necessary software separately and use the computer for each purpose.
컴퓨터에 사용되는 이러한 소프트웨어들은 컴퓨터에서 구동될 때 컴퓨터에 포함된 중앙처리장치(CPU)의 처리에 의해 소정 기능이 수행됨으로, 하드웨어와 소프트웨어는 분리되는 것이 아니라 실행되는 소프트웨어에 의해 컴퓨터 그 자체가 특정 기능을 수행하는 것으로 봐야한다.These softwares used in a computer perform certain functions by the processing of the central processing unit (CPU) included in the computer when they are run on the computer, so that the hardware itself and the software are not separated but the computer itself is specified by the software that is executed. It should be viewed as performing a function.
따라서 사용자들은 자신이 필요한 기능을 컴퓨터가 수행하도록 하기 위해 여러 종류의 소프트웨어를 구입하여 자신의 개인적 취미 또는 업무 등에 활용하게 된다.Therefore, users purchase various kinds of software and use it in their personal hobbies or tasks in order to allow the computer to perform a function required by the user.
그런데 이처럼 컴퓨터에서 구동되는 소프트웨어를 개발하는 업체는 특정 나라에만 있는 것이 아니라 전 세계적으로 퍼져있다. 전 세계에는 다양한 종류의 민족, 국가 언어 및 문자가 있고, 각 나라의 프로그램 개발자들은 자신들이 사용하는 언어를 기반으로 소프트웨어를 개발한다.But companies that develop computer-driven software aren't just in specific countries, but are spread around the world. There are many different ethnic, national languages and characters all over the world, and program developers in each country develop software based on the languages they use.
즉, 소프트웨어 구동시 나타나는 에러 메시지 또는 각종 문자열 등을 자신의 나라에서 사용하는 문자들로 채우는 것이다.That is, it fills in error messages or various character strings that appear when the software is running with characters used in their own countries.
그런데 이처럼 특정 나라에서 사용하는 문자로 소프트웨어를 개발하게 되면 해당 문자의 의미를 알지 못하는 다른 나라 사람들은 해당 소프트웨어를 사용함에 있어서 많은 불편을 겪게 된다.However, when the software is developed using the characters used in a specific country, people in other countries who do not know the meaning of the characters have a lot of inconvenience in using the software.
전 세계 표준 공용어라 할 수 있는 영어로 이루어진 소프트웨어라 하더라도 영어를 독해하지 못하는 국내 사용자라면 해당 소프트웨어를 사용함에 있어서 큰 불편을 느끼게 된다.Even if the software is written in English, which is the world's standard public language, domestic users who do not read English will feel great inconvenience in using the software.
이러한 불편을 해소하기 위해 다국어 지원 소프트웨어의 개발 방안이 제시된 바 있다.In order to solve this inconvenience, a plan for developing multilingual software has been suggested.
첫 번째는 소프트웨어 개발 시 각 국가별로 별도의 프로그램을 작성하는 것이고, 두 번째는 하나의 소프트웨어에 다국어 리소스가 포함되도록 프로그램을 작 성하는 것이다.The first is to develop a separate program for each country in software development, and the second is to write a program so that one software includes multilingual resources.
각 국가별로 별도의 프로그램을 작성하는 것은 하나의 프로그램이 각기 다른 무수히 많은 버전이 존재한다는 것을 의미하는 것으로서 관리가 쉽지 않고, 다국어 리소스가 포함되도록 하는 것도 해당 소프트웨어에 디폴트로 포함되지 않은 언어를 추가하기 위해서는 별도의 컴파일 과정 또는 복잡한 설치 과정이 필요하다는 문제점이 있다.Writing a separate program for each country means that there are a myriad of different versions of a program, which is not easy to manage, and that multilingual resources can be included. In order to solve this problem, a separate compilation process or a complicated installation process is required.
본 발명은 상기한 종래의 문제점을 해결하기 위해 안출된 것으로서, 그 목적은 컴파일 등 복잡한 과정을 거치지 않고서도 사용자의 선택에 따라 특정 언어 기반으로 실행되는 다국어 지원 어플리케이션 실행 장치 및 그 제어방법을 제공하는 것이다.SUMMARY OF THE INVENTION The present invention has been made to solve the above-described problems, and an object thereof is to provide an apparatus for executing a multilanguage application and a method of controlling the same, which are executed based on a specific language without a complicated process such as compilation. will be.
상기한 목적을 달성하기 위해 본 발명에 따른 다국어 지원 어플리케이션 실행 장치는, 영상이 표시되는 디스플레이부와; 소정의 파일 시스템이 구축되고 적어도 하나의 언어 텍스트 파일이 저장된 저장부와; 각 이벤트 발생에 매칭되는 메시지 아이디가 기 저장되어 있고, 사용자에 의해 선택되는 언어에 대응되는 언어 텍스트 파일을 상기 저장부로부터 읽어 해당 언어 텍스트 파일에 저장된 데이터를 임시 저장한 후, 이벤트가 발생할 때마다 해당 발생한 이벤트의 메시지 아이디에 대응되는 메시지를 상기 임시 저장한 데이터로부터 추출하여 상기 디스플레이부에 표 시되도록 제어하는 어플리케이션 실행부를 포함하여 구성된다.In order to achieve the above object, the multi-language application executing apparatus according to the present invention includes a display unit for displaying an image; A storage unit in which a predetermined file system is constructed and at least one language text file is stored; Message IDs matching each event occurrence are pre-stored, and the language text file corresponding to the language selected by the user is read from the storage to temporarily store data stored in the corresponding language text file, and then whenever an event occurs. And an application execution unit configured to extract a message corresponding to a message ID of a corresponding event from the temporarily stored data and display the message on the display unit.
또, 상기한 목적을 달성하기 위해 본 발명에 따른 다국어 지원 어플리케이션 실행 장치의 제어방법은, 소정의 파일 시스템이 구축된 저장부에 적어도 하나의 언어 텍스트 파일이 저장되는 단계와; 각 이벤트 발생에 매칭되는 메시지 아이디를 포함하는 소정의 어플리케이션 코드가 실행되는 단계와; 사용자의 선택에 따른 어느 하나의 언어가 설정 저장되는 단계와; 상기 사용자의 선택에 따라 설정 저장된 언어에 대응되는 언어 텍스트 파일을 상기 저장부로부터 읽어 해당 언어 텍스트 파일에 저장된 데이터를 임시 저장한 후, 이벤트가 발생할 때마다 해당 발생한 이벤트의 메시지 아이디에 대응되는 메시지를 상기 임시 저장한 데이터로부터 추출하여 디스플레이부에 표시하는 단계를 포함하여 이루어진다.In addition, to achieve the above object, a control method of an apparatus for executing a multilingual application according to the present invention includes: storing at least one language text file in a storage unit in which a predetermined file system is constructed; Executing a predetermined application code including a message ID corresponding to each event occurrence; Setting and storing one language according to a user's selection; After reading the language text file corresponding to the language set and stored according to the user's selection from the storage unit, temporarily storing the data stored in the language text file, and sending a message corresponding to the message ID of the corresponding event whenever an event occurs. And extracting from the temporarily stored data and displaying the extracted data on the display unit.
이상 설명한 바와 같이 본 발명에 따르면, 소정의 어플리케이션 사용자는 해당 어플리케이션 구동시 필요한 스트링(즉, 문자열)을 다른 나라 언어로 번역하여 텍스트 파일(즉, 언어 텍스트 파일) 그대로 특정 폴더에 저장하고 해당 언어를 선택 설정함으로써, 해당 어플리케이션이 그 설정된 언어 기반으로 용이하게 실행될 수 있도록 할 수 있다.As described above, according to the present invention, a predetermined application user translates a string (i.e., a string) necessary for driving the corresponding application into a language of another country, stores the text file (i.e., a language text file) in a specific folder, and stores the corresponding language. By selecting and setting, the application can be easily executed based on the set language.
또한, 각 언어로 된 언어 텍스트 파일의 파일명에 각 언어 텍스트 파일이 포함하고 있는 언어 형태에 대응되는 명칭을 특정 규칙에 따라 포함시킴으로써, 어플리케이션이 구동된 상태에서 사용자가 해당 어플리케이션에서 지원되는 언어의 종류를 확인하거나 언어 설정 상태를 변경하고자 할 때, 어플리케이션은 특정 폴더에 있는 언어 텍스트 파일의 파일명을 추출하여 보여줄 수 있다. 즉, 별다른 언어 텍스트 파일 설치과정이 없더라도 특정 폴더 등에 저장된 언어 텍스트 파일의 파일명을 그대로 이용함으로써 사용이 간편하고 어플리케이션 전체 코딩 용량도 줄어들 수 있다.In addition, by including a name corresponding to a language type included in each language text file in a file name of a language text file of each language according to a specific rule, the type of languages supported by the user while the application is running. When you want to confirm or change the language setting status, the application can extract and display the file name of the language text file in the specific folder. That is, even if there is no language text file installation process, it is easy to use and the entire coding capacity of the application can be reduced by using the file name of the language text file stored in a specific folder.
이하에서는 첨부도면을 참조하여 본 발명에 대해 상세히 설명한다.Hereinafter, the present invention will be described in detail with reference to the accompanying drawings.
본 발명의 일 실시예에 따른 다국어 지원 어플리케이션 실행 장치는 도 1에 도시된 바와 같이 파일 저장 제어부(110), 저장부(120), 입력 인터페이스부(130), 어플리케이션 실행부(140), 디스플레이부(150)를 포함하여 구성된다.As shown in FIG. 1, the apparatus for executing a multilingual application according to an exemplary embodiment of the present invention may include a
디스플레이부(150)는 소정의 영상이 표시되는 장치로서 예를 들어 사용자가 선택할 수 있는 메뉴, 기타 소정의 어플리케이션 구동에 따른 이미지 및 동영상 등이 표시될 수 있다. 디스플레이부(150)는 전력소모가 적은 LCD(Liquid Crystal Display)를 포함하여 구성될 수 있다.The
저장부(120)는 소정의 파일 시스템이 구축되고 적어도 하나의 언어 텍스트 파일이 저장되는 것으로서, 예를 들어 자기 신호에 의해 정보를 저장하는 하드 디스크, 또는 전자 신호에 의해 정보를 저장하는 메모리 등이 포함될 수 있다.The
여기서, 파일 시스템은 저장되는 데이터의 구분을 파일 단위로 가능하도록 하는 것으로서, 마이크로소프트사의 윈도우즈에서 사용되는 FAT16,FAT32, NTFS 등이 있고, 리눅스에서 사용 가능한 EXT2, EXT3, MINIX, XIATS, SYSV, OS/2에서 사용되는 HPFS, CDROM의 파일 시스템인 ISOFS 등 다양한 종류가 있다. 이렇게 파일 시스템이 구축된 저장부(120)에는 해당 파일 시스템에 부합되도록 소정의 파일들이 저장될 수 있다.Here, the file system allows the division of data to be stored in file units, and there are FAT16, FAT32, NTFS, etc. used in Microsoft's Windows, and EXT2, EXT3, MINIX, XIATS, SYSV, OS available in Linux. There are various types such as HPFS used in / 2, ISOFS which is a file system of CDROM. In this way, the
파일 저장 제어부(110)는 사용자의 요청에 따라 저어도 하나의 언어 텍스트 파일을 저장부(120)에 저장하는 기능을 수행한다.The file
즉, 파일 저장 제어부(110)는 사용자가 직접 생성하거나 또는 소정의 통신망으로부터 다운로드 되는 언어 텍스트 파일이 저장부(120)에 저장되도록 하는 기능을 수행하는데, 이렇게 저장부(120)에 미리 저장된 언어 텍스트 파일 중 어느 하나를 취사선택하여 이용하는 과정에 대한 보다 상세한 설명은 후술토록 한다.That is, the file
저장부(120)에 저장되는 언어 텍스트 파일의 파일명은 각 언어 텍스트 파일을 구성하는 데이터의 언어 정보에 대응되는 언어명을 포함하여 구성될 수 있다. 예를 들어 한국어로 이루어진 메시지를 포함하는 언어 텍스트 파일은 Korean.trm 이라는 파일명을 가지고, 영어로 이루어진 메시지를 포함하는 언어 텍스트 파일은 English.trm 이라는 파일명을 가질 수 있다.The file name of the language text file stored in the
여기서, Korean.trm 과 English.trm 이라는 파일은 모두 텍스트가 저장된 텍스트 파일로서, 파일의 확장자는 변경될 수 있다.Here, Korean.trm and English.trm are both text files in which text is stored, and the extension of the file may be changed.
텍스트 파일은 마이크로소프트사의 노트패드(notepad) 등과 같이 텍스트 전용 문서 작성 에디터에서 읽어 사람들에 의해 이해 가능한 문자들로 표시할 수 있는 파일로서 용이하게 해석할 수 없는 이진 파일과는 대비된다.Text files are files that can be read by text-only text editors such as Microsoft's Notepad and displayed as characters understandable by people, as opposed to binary files, which cannot be easily interpreted.
입력 인터페이스부(130)는 사용자에 조작되어 사용자의 명령을 입력받는 것으로서 예를 들어 적어도 하나의 키 버튼이 구비된 키 패드를 포함하여 구성될 수 있다. 입력 인터페이스부(130)를 통해 사용자는 언어 선택 메뉴 표시 요청을 할 수 있다.The
언어 선택 메뉴는 사용자가 자신이 원하는 언어를 선택할 수 있도록 표시하는 메뉴로서 후술하는 어플리케이션 실행부(140)에 의해 디스플레이부(150)에 표시 되게 된다. 이에 대한 보다 상세한 설명은 후술토록 한다.The language selection menu is displayed on the
어플리케이션 실행부(140)는 사용자에 의해 소정의 어플리케이션이 실행되는 곳으로서, 본 실시예에서 어플리케이션 실행부(140)는 어플리케이션을 이루는 프로그램 코드와 해당 코드의 실행을 수행하는 하드웨어(예를 들어 중앙처리장치)를 통틀어 의미하는 것이다.The
즉, 다양한 종류의 어플리케이션들이 기 저장되어 있을 수 있고, 사용자는 그 중 어느 하나를 선택하여 구동시킬 수 있는데, 이때 구동되는 어플리케이션의 소프트웨어적인 코드와 해당 코드를 실제 해석하여 실행시키는 하드웨어를 통틀어 어플리케이션 실행부(140)라 하는 것이다.That is, various kinds of applications may be stored in advance, and the user may select and run any one of them. At this time, the application execution is performed through the software code of the driven application and the hardware that actually interprets and executes the corresponding code. It is referred to as
따라서 어플리케이션 실행부(140)의 기능은 각각의 어플리케이션의 소프트웨어적인 코딩 즉, 알고리즘에 따라 달라지게 된다.Therefore, the function of the
어플리케이션 실행부(140)에는 각 이벤트 발생에 매칭되는 메시지 아이디가 기 저장되어 있다. 여기서, 이벤트는 어플리케이션 실행시 사용자에 의해 또는 어플리케이션 자체의 기능에 의해 발생되는 각 이벤트를 의미하며, 예를 들어 사용자가 어플리케이션 실행부(140)의 동작을 중지시키는 소정의 키를 조작하는 경우 종료 이벤트가 발생된다고 할 수 있다.The
어플리케이션 실행부(140)(더 구체적으로는, 어플리케이션 소프트웨어 코드)에는 이러한 각각의 이벤트에 대해 적절한 반응이 발생할 수 있도록 각 이벤트에 대응되는 메시지 아이디가 기 저장되어 있다. 예를 들어 종료 이벤트에 대해서는 'IDS_104'라는 메시지 아이디가 매칭되어 있을 수 있다.The application execution unit 140 (more specifically, the application software code) stores a message ID corresponding to each event in advance so that an appropriate response can be generated for each of these events. For example, the message ID 'IDS_104' may be matched with respect to the termination event.
여기서 각 이벤트에 메시지 아이디가 매칭되어 있다는 것은, 각 이벤트를 처리하는 어플리케이션 코드에 해당 메시지 아이디가 포함되어 있음을 의미한다. 즉, 종료 이벤트가 발생할 때 어플리케이션 실행부(140)는 해당 종료 이벤트를 처리하는 어플리케이션 코드에 'IDS_104'라는 메시지 아이디를 포함시키는 것이다.Here, the message ID matching each event means that the corresponding message ID is included in the application code for processing each event. That is, when the end event occurs, the
메시지 아이디는 실제 디스플레이부(150)에 출력하는 각각의 메시지에 대응되는 것으로서 후술하는 바와 같이 어플리케이션이 다국어 환경을 지원하기 위해 어느 특정 언어로 메시지를 코딩하는 대신에 메시지 아이디를 어플리케이션 코드에 포함시키는 것이다. 상술한 바와 같이 본 실시예에서 어플리케이션 실행부(140)는 어플리케이션 코드가 분리될 수 있는 것이 아니므로, 어플리케이션 실행부(140)에 각 이벤트에 매칭되는 메시지 아이디가 포함되어 있다고 할 수 있다.The message ID corresponds to each message output to the
어플리케이션 실행부(140)는 입력 인터페이스부(130)를 통해 언어 선택 메뉴 표시 요청이 감지되면 저장부(120)에 저장된 각 언어 텍스트 파일의 종류를 기초로 선택 메뉴를 생성하여 표시한다.When the
예를 들어 어플리케이션 실행부(140)는 저장부(120)에 저장된 언어 텍스트 파일의 각 파일명에 포함된 언어명을 모두 추출하고 그렇게 추출한 언어명을 모두 포함하는 언어 선택 메뉴를 생성하여 디스플레이부(150)에 표시되도록 제어할 수 있다.For example, the
즉, 상술한 예를 활용해보면, 저장부(120)에 Korean.trm 파일과 English.trm 파일이 저장되어 있는 경우 어플리케이션 실행부(140)는 해당 파일명에서 확장자를 제거한 'Korean'과 'English'을 포함하는 언어 선택 메뉴를 생성하여 디스플레이 부(150)에 표시되도록 제어한다. 이러한 예가 도 2에 나타나 있다. 동 도면에서는 Korean, English 이외에 Deutsch도 포함되어 있다.In other words, using the above-described example, when the Korean.trm file and the English.trm file are stored in the
또한, 어플리케이션 실행부(140)는 디스플레이부(150)에 표시된 언어 선택 메뉴에서 사용자에 의해 선택되는 언어에 대응되는 언어 텍스트 파일을 저장부(120)로부터 읽어 해당 언어 텍스트 파일에 저장된 데이터를 임시 저장한다.In addition, the
즉, 사용자는 어플리케이션 실행부(140)의 동작 중에 디스플레이부(150)에 표시될 각종 메시지들의 언어를 언어 선택 메뉴를 통해 선택할 수 있는데, 이때 어플리케이션 실행부(140)는 사용자에 의해 선택된 언어에 대응되는 언어 텍스트 파일의 내용을 미리 읽어 들인다.That is, the user may select a language of various messages to be displayed on the
이후 이벤트가 발생할 때마다 해당 발생한 이벤트의 메시지 아이디에 대응되는 메시지를 미리 읽어 들인 즉, 언어 텍스트 파일을 읽어 임시 저장한 데이터로부터 추출하여 디스플레이부(150)에 표시되도록 제어한다.Thereafter, whenever an event occurs, the message corresponding to the message ID of the generated event is read in advance, that is, the language text file is read and extracted from the temporarily stored data to be displayed on the
이하에서는 본 발명의 일 실시예에 따른 다국어 지원 어플리케이션 실행 장치의 제어 과정을 도 3을 참조하여 설명한다.Hereinafter, a control process of an apparatus for executing a multilingual application according to an embodiment of the present invention will be described with reference to FIG. 3.
우선, 여러 개의 언어 텍스트 파일이 사용자의 키 조작에 따라 저장되게 된다(단계 S1).First, several language text files are stored according to a user's key operation (step S1).
이어서 사용자의 선택에 따라 특정 어플리케이션이 어플리케이션 실행부(140)에서 실행되는데(단계 S3), 이하 본 발명에 따른 어플리케이션 실행 장치의 제어 과정은 실행된 특정 어플리케이션의 기능에 따라 이루어지는 것이다.Subsequently, a specific application is executed by the
사용자의 언어 선택 메뉴 표시 요청을 감지한(단계 S5) 어플리케이션 실행 부(140)는 특정 위치(예를 들어 저장부(120) 파일 시스템의 특정 폴더)에 있는 파일들의 파일명에 기초하여 즉, 파일명을 모두 읽어 와서(단계 S7) 적절한 포맷으로 변경한 뒤에 언어 선택 메뉴를 생성하여 디스플레이부(150)에 표시한다(단계 S9).The
예를 들어 'Korean.trm'이라는 파일과 'English.trm'이라는 파일, 'Deutsch.trm'이라는 파일이 저장부(120)의 특정 폴더에 저장되어 있는 경우 해당 파일명을 읽어 와서 확장자를 제거한 문자들만으로 언어 선택 메뉴를 생성하여 디스플레이부(150)에 표시한다.For example, if a file called 'Korean.trm', a file called 'English.trm', or a file called 'Deutsch.trm' is stored in a specific folder of the
이렇게 디스플레이부(150)에 언어 선택 메뉴가 표시된 일 예가 앞 서 설명한 도 2에 도시되었다.An example of displaying a language selection menu on the
여기서, 저장부(120)에 저장된 Korean.trm 이라는 파일과 English.trm 이라는 파일에 저장된 텍스트의 일 예가 각각 도 4a 및 도 4b에 나타나 있다.Here, examples of text stored in a file called Korean.trm and a file called English.trm in the
동 도면들을 살펴보면 각 행의 앞쪽에 위치한 'IDS '로 시작하는 번호는 메시지 아이디에 해당한다. 즉, IDS_104, IDS_105, IDS_106 등이 모두 메시지 아이디에 해당한다.Looking at the drawings, the number starting with 'IDS' located in front of each line corresponds to the message ID. That is, IDS_104, IDS_105, IDS_106, etc. all correspond to message IDs.
그리고 각 행에서 메시지 아이디를 제외한 나머지 부분이 각 행의 메시지 아이디에 대응되는 각 언어의 메시지 내용에 해당한다.The remaining parts of each line except for the message ID correspond to the message contents of each language corresponding to the message ID of each line.
즉, 'IDS_104'라는 메시지 아이디에 대응되는 한국어의 메시지는 도 4a에 나타난 바와 같이 "프로그램을 종래해도 좋습니까?"에 해당하고, 동일한 메시지 아이디에 대응되는 영어의 메시지는 도 4b에 나타난 바와 같이 "Exit OK?"에 해당한다.That is, the Korean message corresponding to the message ID of 'IDS_104' corresponds to "Can I program a conventional program" as shown in FIG. 4A, and the English message corresponding to the same message ID is shown in FIG. 4B. It corresponds to "Exit OK?"
여기서 메시지 아이디는 각 어플리케이션마다 임의로 정해질 수 있는 것이 다.In this case, the message ID may be arbitrarily determined for each application.
사용자에 의해 어느 하나의 언어 선택이 감지되면(단계 S11) 어플리케이션 실행부(140)는 선택된 언어를 설정 저장하는데(단계 S13), 예를 들어 사용자에 의해 선택된 언어에 대응되는 언어 텍스트 파일을 읽어 해당 언어 텍스트 파일의 내용 즉, 데이터를 임시 저장한다.When one language selection is detected by the user (step S11), the
언어 텍스트 파일에는 도 4a 및 도 4b에 도시된 바와 같이 메시지 아이디와 각 메시지 아이디에 대응되는 각 언어 메시지지가 포함되어 있으므로, 어플리케이션 실행부(140)는 해당 언어 텍스트 파일에 저장된 내용들을 각 메시지 아이디와 해당 메시지 아이디에 매칭되는 메시지가 짝을 이루도록 소정의 테이블 형식으로 임시 저장할 수도 있다. 이렇게 소정의 테이블 형식으로 임시 저장되어 있는 경우 어플리케이션 실행부(140)는 이벤트 발생 감지시 즉각적으로 해당 이벤트에 대응되는 이벤트 아이디와 짝을 이루는 메시지를 추출할 수 있는 장점이 있다.Since the language text file includes message IDs and respective language message papers corresponding to the message IDs as illustrated in FIGS. 4A and 4B, the
한편, 어플리케이션 실행부(140)는 실행 중에 소정의 이벤트 발생을 감지하면(단계 S15), 발생한 이벤트에 대응되는 언어 메시지를 추출한다(단계 S17). 즉, 발생 이벤트에 매칭되는 이벤트 아이디와 짝을 이루는 메시지를 상술한 바와 같이 임시 저장되어 있는 소정의 테이블 등에서 추출하는 것이다.On the other hand, if the
한편, 소정의 이벤트에 발생에 대응하여 어플리케이션 실행부(140)는 단지 언어 텍스트 파일에 포함된 문자들만을 추출하여 디스플레이부(150)에 표시되도록 제어할 수도 있지만, 필요에 따라 소정의 다이얼로그 박스나 메뉴 박스 등도 함께 표시되도록 제어할 수도 있다.On the other hand, in response to the occurrence of a predetermined event, the
예를 들어 마이크로소프트사의 윈도우즈 운영체제에서 실행되는 프로그램들은 에러메시지나 기타 안내 메시지를 표시할 때 소정의 다이얼로그 박스와 함께 해당 다이얼로그 박스 안에 필요한 문자를 포함시켜 디스플레이부(150)에 표시한다.For example, programs that run on the Microsoft Windows operating system include the necessary characters in the dialog box along with a predetermined dialog box when displaying an error message or other guide message, and display them on the
이처럼 텍스트 형태의 메시지뿐만 아니라 다른 리소스 즉 다이얼로그 박스를 디스플레이부(150)에 표시하는 경우에는, 어플리케이션 실행부(140)는 추출한 메시지의 크기를 먼저 산출하고(단계 S19), 메시지 크기에 따라 해당 메시지와 함께 디스플레이부(150)에 표시될 기타 리소스 즉, 다이얼로그 박스의 가로, 세로 크기를 동적으로 변경시킨 후에(단계 S21) 해당 다이얼로그 박스 안에 문자를 표시한다(단계 S23).When displaying not only text messages but also other resources, that is, a dialog box, on the
예를 들어 사용자가 단계 S11에서 한국어 즉 Korean을 설정한 경우, 어플리케이션 종료 이벤트가 발생하면 메시지 아이디 IDS_104에 대응되는 한국어 "프로그램을 종래해도 좋습니까?"라는 문자(도 4a 참조)가 도 5a와 같이 표시되고, 단계 S11에서 영어 즉 English을 설정한 경우, 어플리케이션 종료 이벤트가 발생하면 메시지 아이디 IDS_104에 대응되는 영어 "Exit OK?"라는 문자(도 4b 참조)가 도 5b와 같이 표시되게 된다.For example, if the user sets Korean, that is, Korean in step S11, when an application termination event occurs, the Korean "program may be conventional" character corresponding to the message ID IDS_104 (see FIG. 4A) is shown in FIG. 5A. In the case where English, that is, English is set in step S11, when an application termination event occurs, an English “Exit OK?” Character (see FIG. 4B) corresponding to the message ID IDS_104 is displayed as shown in FIG. 5B.
이때 도 5a와 도 5b를 비교하면 다이얼로그의 크기가 문자의 크기에 따라 동적으로 변경되었음을 확인할 수 있다.5A and 5B, it can be seen that the size of the dialog is dynamically changed according to the size of the text.
지금까지는 본 발명의 실시예에 관하여 소정의 프로그램 코드로 이루어진 어플리케이션이 하드웨어와 결합한 상태의 관점에서 설명하였으나 도 6 및 도 7을 참조하여 소프트웨어 구성의 관점에서 본 발명을 설명하면 다음과 같다.So far, embodiments of the present invention have been described in terms of a state in which an application composed of predetermined program codes are combined with hardware. However, the present invention will be described below in terms of software configuration with reference to FIGS. 6 and 7.
소정의 기능을 수행하는 메인 프로그램(210) 작성 시 파일 시스템 상의 특정 디렉터리 또는 폴더(프로그램 코드 내에 그 위치가 설정되어 있거나 또는 사용자의 선택에 따라 그 위치가 설정 변경되는 폴더)로부터 언어 텍스트 파일을 동적으로 불러오도록 작성한다.When writing the
즉, 이벤트에 대응하여 디스플레이부(150)에 출력할 문자열들을 프로그램 코드 내에 포함시키는 것이 아니라 별도의 폴더 등에서 동적으로 불러들일 수 있도록 메인 프로그램(210)을 작성한다.That is, the
이렇게 메인 프로그램(210)과 소정의 메시지를 담은 텍스트 파일이 구분되어 생성되면 다른 언어로 된 메시지를 사용자들이 용이하게 변경할 수 있다.When the
예를 들어 프로그램 개발사에서 메인 프로그램(210)과 한국어로 된 메시지 텍스트 파일을 제공하는 경우, 이를 구매한 영어권 사용자는 한국어로 된 언어 텍스트 파일을 번역 전문가에게 의뢰하여 영어로 번역하도록 하고, 영어로 번역된 언어 텍스트 파일을 지정된 특정 폴더에 저장하기만 하면 메인 프로그램(210) 구동 시 영어로 된 메시지들이 표시될 수 있다.For example, if a program developer provides a
이를 도식적으로 표현한 것이 도 6이다.6 schematically illustrates this.
즉, 메인 프로그램(210)과 Korea.trm 한국어 텍스트 파일(230)으로 이루어진 전체 프로그램 중 메인 프로그램(210)은 그대로 이용하고, 단지 Korea.trm 파일(230)의 내용을 영어로 번역한 후 번역된 파일을 English.trm 파일(230')로 특정 폴더에 저장하기만 하면 메인 프로그램(210) 구동시 이벤트들에 대응하여 한국어 메시지 대신에 영어 메시지가 표시되도록 할 수 있는 것이다.That is, the
물론 어떤 언어 텍스트 파일을 불러올지는 상술한 바와 같이 사용자가 언어 선택 메뉴를 통해 선택하도록 할 수 있다.Of course, as described above, which language text file to load may be made available to the user through the language selection menu.
이에 따라 특정 어플리케이션에서 표시되는 메시지 등을 다른 언어로 번역하는 경우 특별한 컴파일 과정을 거칠 필요도 없어 사용자 편의성이 증대되고 또한 어플리케이션의 지역화 속도가 증가하는 장점이 있다.Accordingly, when a message displayed in a specific application is translated into another language, there is no need to go through a special compilation process, thereby increasing user convenience and increasing localization speed of the application.
한편, 상술한 실시예는 메인 프로그램(210)으로부터 언어 텍스트 파일만이 분리될 수 있도록 구성하는 것을 일 예로 하여 설명하였으나, 도 7과 같이 메인 프로그램(210)으로부터 언어 텍스트 파일(230) 뿐만 아니라 소정의 리소스 파일(220)을 분리 구성할 수도 있음은 물론이다.On the other hand, the above-described embodiment has been described as an example so that only the language text file can be separated from the
동 도면에서 Korean.dll 파일(220)은 메인 프로그램(210) 실행시 필요한 각종 리소스(다이얼로그 박스 또는 팝업 메뉴 박스 등)를 관리 및 등록한 파일로서, 해당 언어에 따라 특유의 리소스를 이용하기 위해서는 이처럼 별도의 리소스 파일을 분리할 필요가 있다.In the drawing, the Korean.dll file 220 is a file that manages and registers various resources (such as a dialog box or a pop-up menu box) required when the
타 언어 번역시에는 언어 텍스트 파일(230) 뿐만 아니라 리소스 파일(220) 역시 변환 시켜야 하는데, 일종의 동적 라이브러리 파일을 생성하기 위해서는 컴파일 과정이 필요하긴 하지만 메인 프로그램(210) 전체를 컴파일 하는 것이 아니라 다국어 지원과 관련한 극히 일부의 리소스 파일만을 생성하여 컴파일하면 되므로 이 역시 종래와 비교하면 사용자 편의성이 증대된다고 할 수 있다.When translating to another language, not only the
이 경우 변환된 리소스 파일(220') 역시 저장부(120)의 파일 시스템 상의 특정 폴더에 번역된 언어 텍스트 파일(230')과 함께 저장될 수도 있고, 리소스 파일 전용 특정 폴더에 저장되도록 구성될 수도 있다.In this case, the translated resource file 220 'may also be stored together with the translated language text file 230' in a specific folder on the file system of the
상술한 소프트웨어 관점의 메인 프로그램(210)은 소정 장치의 메모리 등에 적재(load)되어 실행되는 경우 도 1의 어플리케이션 실행부(140)에 해당하는 것이고, 언어 텍스트 파일(130,130')은 도 1의 저장부(120)에 저장되는 것이다.The
한편, 본 발명은 상기한 특정 실시예에 한정되는 것이 아니라 본 발명의 요지를 벗어나지 않는 범위 내에서 여러 가지로 변형 및 수정하여 실시할 수 있는 것이다. 이러한 변형 및 수정이 첨부되는 특허청구범위에 속한다면 본 발명에 포함된다는 것은 자명할 것이다.While the present invention has been particularly shown and described with reference to exemplary embodiments thereof, it is to be understood that the invention is not limited to the disclosed exemplary embodiments, but, on the contrary, is intended to cover various modifications and equivalent arrangements included within the spirit and scope of the invention. It is to be understood that such variations and modifications are intended to be included in the scope of the appended claims.
도 1은 본 발명의 일 실시예에 따른 다국어 지원 어플리케이션 실행 장치의 기능 블록도이고,1 is a functional block diagram of an apparatus for executing a multilingual application according to an embodiment of the present invention;
도 2는 도 1의 다국어 지원 어플리케이션 실행 장치가 언어 선택 메뉴를 표시한 상태를 도시한 도면이고,FIG. 2 is a diagram illustrating a state in which the multilingual application execution apparatus of FIG. 1 displays a language selection menu.
도 3은 본 발명의 일 실시예에 따른 다국어 지원 어플리케이션 실행 장치의 제어흐름도이고,3 is a control flowchart of an apparatus for executing a multilingual application according to an embodiment of the present invention;
도 4a 및 도 4b는 도 3의 언어 텍스트 파일의 일 예들이고,4A and 4B are examples of the language text file of FIG. 3,
도 5a 및 도 5b는 각각 도 4a 및 도 4b에 따라 소정의 이벤트에 대응하는 메시지가 디스플레이부에 표시된 상태를 나타낸 도면이고,5A and 5B are views illustrating a state in which a message corresponding to a predetermined event is displayed on the display unit according to FIGS. 4A and 4B, respectively.
도 6은 본 발명의 일 실시예에 따른 다국어 지원 어플리케이션 실행 장치의 소프트웨어적 측면의 구성과 타 언어 번역 상태를 도시한 도면이고,FIG. 6 is a diagram illustrating a configuration of a software aspect of a multilingual application execution apparatus and another language translation state according to an embodiment of the present invention.
도 7은 본 발명의 다른 실시예에 따른 다국어 지원 어플리케이션 실행 장치의 소프트웨어적 측면의 구성과 타 언어 번역 상태를 도시한 도면이다.FIG. 7 is a diagram illustrating a configuration of software aspects of a multilingual application execution apparatus and another language translation state according to another exemplary embodiment of the present invention.
* 도면의 주요 부분에 대한 부호의 설명* Explanation of symbols for the main parts of the drawings
110 : 파일 저장 제어부 120 : 저장부110: file storage control unit 120: storage unit
130 : 입력 인터페이스부 140 : 어플리케이션 실행부130: input interface unit 140: application execution unit
150 : 디스플레이부 210 : 메인 프로그램150: display unit 210: main program
230,230' : 언어 텍스트 파일 220,220' : 언어 리소스 파일230,230 ': Language text file 220,220': Language resource file
Claims (8)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020080104658A KR20100045637A (en) | 2008-10-24 | 2008-10-24 | Apparatus for executing multilingual application and control method thereof |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020080104658A KR20100045637A (en) | 2008-10-24 | 2008-10-24 | Apparatus for executing multilingual application and control method thereof |
Publications (1)
Publication Number | Publication Date |
---|---|
KR20100045637A true KR20100045637A (en) | 2010-05-04 |
Family
ID=42273257
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020080104658A KR20100045637A (en) | 2008-10-24 | 2008-10-24 | Apparatus for executing multilingual application and control method thereof |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR20100045637A (en) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2013085320A1 (en) * | 2011-12-06 | 2013-06-13 | Wee Joon Sung | Method for providing foreign language acquirement and studying service based on context recognition using smart device |
KR101383050B1 (en) * | 2012-10-31 | 2014-04-08 | 에스케이플래닛 주식회사 | Method and apparatus for translating application program |
-
2008
- 2008-10-24 KR KR1020080104658A patent/KR20100045637A/en not_active Application Discontinuation
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2013085320A1 (en) * | 2011-12-06 | 2013-06-13 | Wee Joon Sung | Method for providing foreign language acquirement and studying service based on context recognition using smart device |
CN104115182A (en) * | 2011-12-06 | 2014-10-22 | 韦俊诚 | Foreign language acquisition and learning service providing method based on context-aware using smart device |
US9653000B2 (en) | 2011-12-06 | 2017-05-16 | Joon Sung Wee | Method for providing foreign language acquisition and learning service based on context awareness using smart device |
KR101383050B1 (en) * | 2012-10-31 | 2014-04-08 | 에스케이플래닛 주식회사 | Method and apparatus for translating application program |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102971688B (en) | Cross-platform program frame | |
US7490298B2 (en) | Creating documentation screenshots on demand | |
US6546365B1 (en) | System for national language support and automated translation table | |
Smyth | Android Studio 2.2 Development Essentials-Android 7 Edition | |
US20150169519A1 (en) | Electronic reading device and method for extracting and saving text information thereof, and storage medium | |
Smyth | Android Studio 3.2 Development Essentials-Android 9 Edition: Developing Android 9 Apps Using Android Studio 3.2, Java and Android Jetpack | |
US20130326347A1 (en) | Application language libraries for managing computing environment languages | |
WO2014028655A1 (en) | User interface control framework for stamping out controls using a declarative template | |
US20140047409A1 (en) | Enterprise application development tool | |
Panigrahy | Xamarin Mobile Application Development for Android | |
Smyth | Android Studio 4.1 Development Essentials-Kotlin Edition | |
EP1025489B1 (en) | System to associate control with applications using drag and drop interface | |
JP6075557B2 (en) | Method for supporting manual creation of program product, computer and computer program thereof | |
Smyth | Android Studio Development Essentials: Android 6 Edition | |
KR20100045637A (en) | Apparatus for executing multilingual application and control method thereof | |
King | -Screenreaders, Magnifiers, and Other Ways of Using Computers | |
Smyth | Android Studio Flamingo Essentials-Kotlin Edition: Developing Android Apps Using Android Studio 2022.2. 1 and Kotlin | |
Smyth | Android Studio 3.0 Development Essentials-Android 8 Edition | |
US20150317404A1 (en) | Accessing Content in a Rich Internet Application | |
Smyth | Android Studio 3.6 Development Essentials-Java Edition: Developing Android 10 (Q) Apps Using Android Studio 3.6, java and Android Jetpack | |
WO2009020567A2 (en) | Method and system for generating an application | |
US10140143B2 (en) | Collection of guest status | |
Smyth | Android Studio 4.2 Development Essentials-Java Edition: Developing Android Apps Using Android Studio 4.2, Java and Android Jetpack | |
Smyth | Android Studio 4.0 Development Essentials-Kotlin Edition | |
Harwani | Android Programming Unleashed |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
E601 | Decision to refuse application |