English Русский 中文 Español Deutsch 日本語 Português Français Italiano Türkçe
MetaTrader 5 플랫폼에 새로운 UI 언어 추가하기

MetaTrader 5 플랫폼에 새로운 UI 언어 추가하기

MetaTrader 5 | 11 10월 2021, 15:50
68 0
MetaQuotes
MetaQuotes

들어가며

MetaTrader 5 플랫폼의 사용자 인터페이스는 여러 인기 좋은 언어로 번역되었습니다. 만약 당신이 사용하는 언어로는 번역되지 않았더라도 실망하기엔 이릅니다. MetaTrader 5는 원래부터 완전한 유니코드 지원을 하던 중이었고, 특수한 멀티랭귀지 팩 유틸리티를 이용하여 사용자 인터페이스 번역을 돕습니다. 이 유틸리티는 누구나 원하는대로 MetaTrader 5 플랫폼을 원하는 언어로 번역할 수 있게 도와줍니다.

본 문서에서는 사용자 인터페이스에 새로운 언어를 추가하는 전체 과정에 대해서 알아볼 것입니다. 이 과정을 통하여 MetaTrader 5 멀티랭귀지 팩으로 어떻게 다운로드 받고, 설치하고, 실행하는지 알아봅니다. 우선 사용법을 자세하게 들여다본 후 최종 결과물을 확인합니다.


멀티랭귀지팩 - 다운로드, 설치, 및 구성하기

MetaQuotes Software Corp. 홈페이지에서 MetaTrader 5 멀티랭귀지 팩 최신 버전을 다운받을 수 있습니다. 다운로드 링크는 다음과 같습니다. https://download.mql5.com/cdn/web/metaquotes.software.corp/mt5/mt5mlpsetup.exe. 설치 과정에 특이한 것은 없고, 아무런 문제도 발생하지 않습니다. 기본 설치 경로는 "C:\Program Files\MetaTrader 5 MultiLanguage Pack\" 폴더이며 필요한 모든 바로가기는 시작 메뉴에 추가됩니다.

시작 메뉴의 바로가기

설치가 완료되면 CHM 포맷으로 된 사용자 가이드와 두개의 번역 프로젝트가 포함되어있는 것을 보실 수 있습니다. 이 프로젝트들은 MetaTrader 5 클라이언트 터미널 ("\MetaTrader 5 MultiLanguage Pack\Projects\terminal5.prl")과 MetaEditor 5 ("\MetaTrader 5 MultiLanguage Pack\Projects\metaeditor5.prl")입니다.

번역 프로젝트는 MetaTrader 5 사용자 인터페이스에서 사용가능한 모든 언어를 포함하고 있습니다. 멀티랭귀지 팩을 처음 실행하면 클라이언트 터미널의 번역 프로젝트는 기본값으로 시작하고 다음과 같이 나타납니다.

멀티랭귀지 팩을 처음 시작했을 때의 모습

번역 프로젝트 파일은 PRL 확장자로 되어있으며, 기본적으로 MetaTrader 5 MultiLanguage Pack 응용 프로그램과 연결됩니다.

MetaTrader 5 번역 프로젝트는 사용자 인터페이스 내 최신 업데이트를 반영하기 위해 계속 업데이트 됩니다. 만약 과거에 시작하셨던 번역을 다시 재개해야할 일이 생기신다면 언제건 업데이트된 멀티랭귀지 팩(updated MultiLanguage Pack)을 다운로드받으시는 것으로 최신판 번역을 받아보실 수 있습니다.


멀티랭귀지 팩 사용자 인터페이스

멀티랭귀지 팩은 간단하며, 이용하기에 편한 인터페이스를 갖추고 있습니다. 이에는 메인 메뉴 (1), 툴바 (2), 프로젝트 브라우저 (3)와 워크 스페이스 (4)가 있습니다.

멀티랭귀지 팩 사용자 인터페이스

메인 메뉴에는 프로젝트 관리 기본 커맨드가 있습니다. 그 중 몇개는 툴바 상에도 존재합니다. 상황에 맞는 메뉴에서 특정 명령이 호출됩니다.

대부분의 명령에는 키보드 단축키가 있습니다. 사용 설명서에서 사용 가능한 모든 명령과 바로 가기에 대한 전체 설명을 찾을 수 있습니다.

프로젝트 탐색기(Project Browser)를 이용하여 프로젝트 내부를 살피고 언어 하위 프로젝트도 확인할 수 있습니다. 각 하위 프로젝트는 특정 언어로 번역된 내용이며, 세 개의 리소스 그룹: 스트링(Strings), 메뉴(Menus) 그리고 다이얼로그(Dialogs)를 담고 있습니다.

  • 메뉴. 메뉴 섹션은 프로그램 메뉴 상의 모든 텍스트 (메인 그리고 본문)를 관할합니다. 메뉴 구조에는 명확한 계층 구조가 있습니다. 즉, 모든 메뉴와 항목에 번호가 지정되고 하위 메뉴들은 하위 섹션으로 표시됩니다. 앤드 기호 (&) 는 메뉴 아이템의 이름 중 선택한 알파벳 앞에 붙는 특수 기호입니다. Alt 키와 함께 이 문자를 누르면 밑줄이 그어진 동안 명령을 활성화하거나 하위 메뉴를 엽니다.

    메뉴 번역하기

  • 다이얼로그. 다이얼로그 섹션은 모든 다이얼로그 상자나 그 일부 (탭)을 나타냅니다. 다이얼로그 상자 내의 텍스트 스트링도 카운트됩니다.

    다이얼로그 상자 번역하기

  • 스트링. 스트링은 메뉴나 다이얼로그 카테고리에 속하지 않는 모든 것이 속합니다. 버튼명, 다이얼로그 상자 및 탭, 열 헤더, 툴팁, 상태 표시줄의 텍스트, 다양한 메시지의 텍스트 등이 될 수 있습니다.

사용자 인터페이스 요소를 실제로 번역하기 위해서는 워크스페이스가 사용됩니다. 번역 과정은 꽤나 간단합니다. 언어와 리소스 서브그룹을 선택하신 후 워크스페이스에서 각 줄을 번역하시면 됩니다.

번역하는 동안 미리보기 기능을 사용하는 대화 상자 또는 메뉴를 볼 수 있습니다. 이 명령은 기본 메뉴, 도구 모음 및 F8 키를 눌러 사용할 수 있습니다. 스트링은 미리보기 할 수 없습니다.


멀티랭귀지 팩 - 어떤 식으로 작동하는가

새 UI 언어를 추가하는 프로세스는 아래와 비슷한 플로우차트로 나타낼 수 있습니다.

멀티랭귀지 팩 작업 스케마

1. 언어 추가하기 . MetaTrader 5 플랫폼은 유니코드 인코딩을 완벽하게 지원하므로, 구성요소의 사용자 인터페이스를 전 세계 모든 언어로 쉽게 번역할 수 있습니다. 언어를 추가하시면 원본 영어의 리소스가 대상 언어 하위 프로젝트에 복사됩니다. 이 과정이 완료되면 번역을 진행할 수 있게 됩니다.

2. 번역하기. 이 과정에서 가장 많은 시간이 소요됩니다. MetaTrader 5 플랫폼의 기본 언어는 영어이며, 모든 번역은 한 줄씩 일관되게 수행됩니다. 끝났다면 프로젝트를 컴파일하기만 하면 됩니다.

3. 컴파일하기. 프로젝트를 컴파일하면 각 언어마다 하나씩 결과물 파일이 생성됩니다. 타겟 파일은 LNG 확장자를 가지고 있고 <module>_<language>.lng식으로 명명됩니다. 예를 들어 클라이언트 터미널의 러시아어 번역은 "terminal_russian.lng" 라고 명명될 것입니다. 언어 파일 컴파일본은 MetaTrader 5 제품의 하위폴더 "\Languages"에 저장되어야 합니다.

예를 들어 만약 클라이언트 터미널이 "C:\Program Files\MetaTrader 5\" 폴더에 위치하였다면, 사용자 인터페이스는 "C:\Program Files\MetaTrader 5\Languages\" 폴더에 위치해야 합니다. 프로젝트 내 번역본을 업데이트하실 때 마다 LNG 파일을 덮어쓰기하셔야합니다.

4. 번역 검수하기. 당연하게도 번역의 질을 확인할 필요가 있습니다. 맞춤법 오류 외에도 번역이 할당된 공간에 맞지 않는 경우가 많습니다. 이럴 때는 번역 내용을 좀 더 간결하게 표현하거나, 의미를 바꾸지않게 하면서 축약해야 합니다. 특히 스트링을 다룰 때에 중요한 내용입니다. 스트링은 미리보기가 안되기 때문이죠.

5. 번역 배포하기. 인터페이스 번역이 완료되고 테스트까지 마쳤다면 MetaQuotes Software Corp에 해당 번역을 보내실 수 있습니다. "송신(send)" 명령을 이용하여. 기술 검사 후 귀하가 완성한 번역본을이MetaTrader 5 제품의 표준 배포판에 포함될 수도 있습니다.


번역 예시

MetaEditor 예제를 이용하여 사용자 인터페이스 번역의 모든 단계를 점검하십시오. 이를 위해서는 멀티랭귀지 팩과 함께 설치된 MetaEditor 5 번역 프로젝트가 필요합니다. 예시로 보여드리기위해 지금부터 다양한 UI 요소의 독어 번역을 추가하는 방법에 대하여 보여드리겠습니다.

MetaEditor 번역 프로젝트

1. 언어 추가하기

프로젝트에 새 언어 추가하기. 새 언어를 추가하시려거든 "편집(Edit)" 메뉴에서 "새 언어 추가하기(Add New Language)"를 선택하거나 툴바의 언어 추가하기 버튼을 누르거나, Ctrl+A를 누르십시오.

"새 언어 추가하기(Add new Language)" 다이얼로그 박스에서 "독어(German)"을 선택하고 OK를 누르십시오. 프로젝트 브라우저에 새로운 언어 브랜치가 생성됩니다.

MetaEditor 번역 프로젝트의 독어

2. 번역

다양한 UI 요소를 번역하는 과정

메뉴

"메뉴" 카테고리를 확장시킨 후 메뉴 [128]을 선택 첫 메뉴 아이템을 번역하기

메뉴 번역하기

N 앞의 앤드 마크 &는 Alt 키와 같이 눌러서 단축키가 된다는 것을 나타냅니다. 커맨드 명 뒤에 \t 이스케이프 심볼이 오고, Ctrl+N 단축키가 옵니다. MetaEditor 5 사용자 인터페이스에서는 이 번역은 다음처럼 보입니다.

메뉴 번역 내의 특수 문자

알파벳 N은 Alt 키를 눌렀을 때 강조됩니다. tab 문자는 커맨드 텍스트랑 단축키 텍스트를 떨어뜨리고, 단축키 텍스트는 오른쪽 정렬시킵니다.

탭 문자(\t)와 단축키 텍스트의 위치를 원문과 같게 항상 유지하십시오. 반면 & 기호의 위치는 굳이 원문에 맞출 필요가 없습니다. 중요한 것은 메뉴 내의 각 명령에 대해 바로 가기 키가 고유해야 한다는 것입니다.

번역된 텍스트가 다른 리소스에서 똑같이 반복될 경우, 멀티랭귀지 팩은 적절한 위치에서 번역을 대체할 수 있는 기능을 제공합니다. 우리의 경우에는 메뉴 [133]에 사용한 것과 같은 번역을 그냥 붙일 수 있게 해줍니다.

반복 구절 번역하기

상태 표시줄의 메세지와 툴바 상의 버튼

문자열 그룹에서 57600 행을 찾아 번역합니다. 이 리소스는 "새로 만들기" 명령 위로 마우스를 가져가면 상태 표시줄에 나타나는 텍스트를 포함합니다. 명령 설명 뒤에는 친숙한 단축키 텍스트가 나옵니다. 그런 다음 새 줄을 지정하는 \n 이스케이프 문자와 도구 모음의 단추 텍스트가 나타납니다.

상태 표시줄의 글과 툴바 상의 버튼 번역하기

MetaEditor 5 UI에서 번역은 다음과 비슷하게 보입니다.

상태 표시줄의 명령어 설명 툴바 위의 버튼 이름

다이얼로그 상자

다이얼로그 그룹에서 [349] 소개 페이지 다이얼로그 박스를 엽니다. 이 다이얼로그 상자 안의 모든 줄을 번역합니다.

다이얼로그 상자 번역하기

편의를 위해 미리 보기 기능을 사용하여 번역된 다이얼로그 상자의 모습을 볼 수 있습니다.

다이얼로그 상자 미리보기

프로그램 내에서는 이런 식으로 보입니다.

기본 버튼 (뒤로, 다음, 취소, 등)의 텍스트는 운영 체제에 따라 달라집니다. 이 버튼을 번역하는 것은 멀티랭귀지 팩을 이용한 번역으로는 불가능합니다.

번역 과정에서 %s, %d, \n, \t, 등의 특수 문자열을 포함한 스트링을 발견하실 수도 있습니다. 이런 스트링들을 번역하실 때에는 조심하십시오. 해당 특수 문자열들은 사용자 인터페이스 내에서 특수한 의미를 담고있기 때문입니다. 예를 들어, %s은 텍스트와 대체되며, %d는 숫자로\n은 줄 바꿈으로 바뀌는 식입니다. 번역 불가능한 단어의 전체 목록은 사용 설명서의 부록 B에서 확인할 수 있습니다.

3. 컴파일하기

프로젝트를 컴파일하기. 이를 수행하시려면 컴파일 버튼을 누르거나 "도구(Tools)" 메뉴에서 "프로젝트 컴파일(Compile Project)"을 누르거나, F9 버튼을 누르십시오.

컴파일 성공

프로젝트 파일과 같은 폴더에 (이 예시에서는 "C:\Program Files \MetaTrader 5 MultiLanguage Pack\Projects") 멀티랭귀지 팩은 이 프로젝트의 모든 언어에 대응하는 LNG 파일을 생성합니다. 이후 컴파일할 때마다 기존 대상 파일이 업데이트됩니다.

컴파일된 번역 파일들

4. 번역 검수하기

MetaTrader 5 터미널의 표준 전송 패키지에서 모든 사용자 인터페이스 변환은 실행 파일 안에 있습니다. 클라이언트 터미널의 경우엔 terminal.exe이고 소스 코드 에디터의 경우 metaeditor.exe입니다. 중간 버전의 변환을 테스트하기 위해 전용 키로 실행 파일을 실행하는 특별한 메커니즘 /language이 있습니다.

executable_file_name.exe /language:<path to translation file>

예를 들어 클라이언트 터미널이 "C:\Program Files\MetaTrader 5\" folder 경로에 설치되었다고 가정할 때, MetaEditor 독어 번역을 테스트하려면 다음의 커맨드를 사용해야합니다.

C:\Program Files\MetaTrader 5\metaeditor.exe "/language:C:\Program Files\MetaTrader 5 MultiLanguage Pack\Projects\metaeditor_German.lng"

이 명령어는 MetaEditor 5에서 독어 번역이 활성화된 채로 실행되게 합니다. 변환이 포함된 파일 경로에는 공백이 포함되어 있으므로 전체 /언어 키는 큰따옴표로 묶입니다. 만약 파일 경로에 스페이스가 없다면 쌍따옴표는 굳이 쓰지 않으셔도 됩니다. 예를 들어 번역 파일을 터미널 설치 디렉토리에 복사하면 명령이 다음과 같이 짧아집니다.

metaeditor.exe /language:metaeditor_German.lng

아쉽게도 멀티랭귀지 팩에는 내장 오탈자 검사기가 없습니다. 하지만 번역본을 외부로 꺼내신 후에 마이크로소프트 워드 같은 워드 프로세서 프로그램에서 오탈자 검사를 수행하실 수 있습니다. 이렇게 하시려거든 프로젝트 탐색기에서 언어 서브프로젝트를 우클릭 하시고 "텍스트로 저장하기(Save as text)"를 선택하십시오.

번역본을 텍스트 파일로 내보내기

선택한 언어(문자열, 메뉴 및 대화 상자)에 대한 모든 리소스를 지정된 텍스트 파일로 내보냅니다.

5. 번역 배포하기

번역을 쭉 훝어보며 확인하십시오. 모든 UI 요소가 제대로 보이고 에러가 없는지 확인해주십시오.

툴바 상의 보내기 버튼을 누르시거나 "도구(Tools)" 메뉴의 "MetaQuotes 고객센터에 보내기"를 선택해주십시오.

귀하의 이름을 적고 연락용 이메일을 적으신 후 "송신" 버튼을 눌러주십시오.

번역을 MetaQuotes Software Corp.에 보내는 중

귀하의 번역은 저희가 사용하는 TeamWox 그룹웨어에 요청사항으로 보내집니다. 기술 검사 후 번역본이 MetaTrader 5 제품의 표준 배포판에 포함됩니다.

부디 포함된 번역 배포용 내장 기능을 이용해주시고, 절대로 컴파일된 LNG 파일을 이메일로 보내지 말아주십시오.


사전

번역 속도와 번역 내의 일관성을 유지하기 위하여, 멀티랭귀지 팩에는 사전 기능이 있습니다. 사전을 이용하면 반복 구절을 신속하게 번역할 수 있습니다. 주어진 스트링을 과거에 번역한 적이 있는 경우 컨텍스트 메뉴에서 "사전으로 번역하기(Translate from Dictionary)" 커맨드를 선택하거나 Ctrl+D를 눌러서 손쉽게 처리할 수 있습니다.

사전을 이용한 번역

만약 주어진 스트링이 번역된 적 있다면, 자동으로 변환될 것입니다.

번역 대체하기

프로젝트가 컴파일될 때 어떠한 언어의 번역이건 사전에 기록됩니다.

사전을 이용하면 배치 모드에서 사용자 인터페이스를 번역할 수 있습니다. 이 방식을 써보시려면 툴바의 사전 버튼을 누르시거나 "편집(Edit)" 메뉴의 같은 커맨드를 선택하십시오.

사전 내용물

이 창에서 사전에서 변환을 사용할 행을 선택한 다음 "적용"을 누를 수 있습니다.


도움말

  • 언제나 문맥에 맞게 번역하십시오.
  • 검색 기능 ("편집(Edit)" 메뉴에서 "찾기(Find)" "다음 찾기(Find Next)").
  • 검색은 대소문자를 구분합니다. 당신이 검색하려하는 구문에는 &, \t, \n, 등의 특수 문자가 들어있을 수 있습니다.
  • 특수 문자의 중요성을 기억하십시오.
  • 탭 키를 누르면 프로젝트 브라우저와 작업창 사이를 오갈 수 있습니다.
  • 글을 수정하려면 F2를 누르거나 더블클릭하면 됩니다.
  • 작업창에서 쉽게 탐색하려거든 "다음(Next)" (Alt+Right)과 "이전(Previous)" (Alt+Left) 커맨드를 활용하세요.
  • "도구(Tools)" 메뉴에 있는 "통계(Statistics)" 항목에서 각 언어마다 번역된 단어들에 대한 자세한 통계를 살펴볼 수 있습니다.


마치며

본 문서를 읽으신 후 원하시는 언어로 MetaTrader 5 사용자 인터페이스를 번역할 의욕이 나셨기를 진심으로 빕니다. MetaQuotes Software Corp. 에서는 자사 제품에서 지원되는 최대한 많은 언어에 관심을 가지고 이에 필요한 모든 도구를 제공합니다.

MetaQuotes 소프트웨어 사를 통해 러시아어가 번역됨.
원본 기고글: https://www.mql5.com/ru/articles/311

내가 어째서 걱정을 멈추고 자가학습형 Expert Advisor를 만들었는가 내가 어째서 걱정을 멈추고 자가학습형 Expert Advisor를 만들었는가
1년 조금 더 전에 joo는 자신의 글 "Genetic Algorithms - It's Easy!"에서 MQL5에서 유전 알고리즘을 구현할 도구를 주었습니다. 그 도구를 활용하여 우리는 한계 조건에 맞춰 자신의 패러미터를 스스로 유전적으로 수정하는 Expert Advisor를 만들어 볼 것입니다...
UML 툴을 사용하여 Expert Advisor 개발하기 UML 툴을 사용하여 Expert Advisor 개발하기
이 문서는 객체지향 소프트웨어 시스템의 시각 모델링에 사용되는 UML 그래픽 언어를 사용하여 Expert Advisor를 개발하는 방법에 대해 다뤄볼 것입니다. 이 접근의 장점은 모델링 프로세스를 시각화할 수 있다는 점입니다.. 이 문서에서는 소프트웨어 아이디어 모델러(Software Ideas Modeler)를 통해 Expert Advisor의 구조와 속성을 모델링하는 예시를 보여드릴 것입니다.
올인 외환거래 전략 올인 외환거래 전략
본 문서의 목적은 가장 단순한 매매 전략인 "올인" 게임 원칙을 구현하는 것입니다. 우리의 목적은 딱히 수익을 올리는 Expert Advisor를 만드는게 아닙니다. 우리의 목표는 가장 나은 확률을 검토하여 여러번에 거쳐 초기 액수를 늘리는 것입니다. 인디케이터나 기술 분석, 이런 것에 대해 하나도 모르면서 외환시장에서 대박을 터뜨리는 것이 과연 가능할까요?
MetaTrader 5 시장 분석에 피셔 변환(Fisher Transform)과 인버스 피셔 변환 적용하기 MetaTrader 5 시장 분석에 피셔 변환(Fisher Transform)과 인버스 피셔 변환 적용하기
시장 주기의 확률 밀도 함수(PDF)는 가우스 파 보다는 사인파의 PDF와 비슷해보는데, 대부분의 인디케이터는 시장 주기 PDF가 가우스파라고 가정합니다. 우리는 이를 "수정"할 수 있는 방법이 필요합니다. 해법은 피셔 변환을 사용하는 것입니다. 피셔 변환은 어떠한 형태의 PDF건 가우스 파 형태로 변환합니다. 이 글은 피셔 변환과 인버스 피셔 변환의 이면에 있는 수학과 이들의 거래 적용에 대해 설명합니다. 인버스 피셔 변환 기반으로 하는 독점 거래 신호 모듈을 제시하고 평가합니다.