필자는 운영 체제와 별도로 다국어 기능을 제공하고자하는 약 300 개의 응용 프로그램을 개발했습니다. Just-In-Time Translator를 작성했지만 많은 구성 요소가있는 응용 프로그램에서는 너무 느립니다. 내가 뭘 제안 했어?기존 델파이 애플리케이션을 국제화 (최소한 다중 언어)하는 데 가장 적은 노력은 무엇입니까?
답변
나는 TsiLang components 좋은 것을 들었지만, 당신의 인플레 이스 솔루션을 찾고 한가 ..., 그것은 텍스트 파일에서 번역을로드 및 구성 요소의 텍스트를 바꿉니다. 심지어 영어 번역 파일을 자동으로 생성하는 pas/dfm 스캐너가 있습니다.
파스칼 소스 코드를 자동으로 변경하여 정적 문자열의 gettext 프로 시저에 삽입 할 수도 있습니다. 내가 잘못 본 것이 아니라면 밑줄과 같이 함수에 밑줄이 추가됩니다.
ShowMessage('Hello'); // before
ShowMessage(_('Hello')); // after
이 방법을 사용한 지 2 년이 지났습니다.
한 가지 문제가 남아 있습니다. Delphi 구성 요소는 유니 코드 사용이 가능하지 않기 때문에 (D2009에서 수정 됨) 구성 요소를 변경하지 않으면 다른 언어에 대한 지원이 제한됩니다.
우리는 TsiLang을 사용하고 있으며 매우 만족합니다.
가장 좋은 점은 프로젝트를 사전으로 입력 할 수 있다는 것입니다 (기존 번역에서 채웠습니다).
내가 정확히 당신이 원하는 일을 GNU gettext for Delphi을 사용했습니다주셔서 감사합니다. 당일 재고가 없어지면 내일 투표 해 드리겠습니다. :) –
양호한 무료 솔루션은 GNU gettext for Delphi입니다. 그것은 TsiLang에 존재하지 않는 몇 가지 기능을 가지고 있습니다. 예를 들어 번역 파일에 물건을 세는 방법 (하나, 둘, 네, 백, 두, 많은 ...에 대한 다른 엔딩)에 대한 지식을 넣을 수 있습니다. 이 프로그램을 알기 위해 각 프로그램을 가르쳐야합니다.
델파이 부분에 대한 라이센스는 매우 엄격하지만, 포함 된 GNU 내용이 응용 프로그램에 얼마나 영향을 미치는지 확신 할 수 없습니다.
Multilizer을 얻으십시오. 델파이로 만들어졌으며 VCL을 특별 지원하는 델파이 프로그램을 처리 할 수 있습니다. 모든 언어에 맞게 화면을 쉽게 다시 작성할 수도 있습니다. Multilizer를 사용하면 다양한 기술을 사용하여 프로그램을 번역하고 실행할 수 있습니다.
Delphi 2009에는 통합 번역 환경/외부 번역 관리자가 추가되었습니다. 이제 ITE 및 ETM을 Delphi 및 C++ Builder에서 사용할 수 있습니다.
코드 기어의 기사에서: What's New in Delphi and C++Builder 2009, 그들은 주 :
통합 번역 환경 (ITE)는 이 프로젝트를 지역화 단순화 IDE의 일부입니다. ITE는 기존 프로젝트의 새 현지화 프로젝트 을 만들 수 있습니다. ITE에서는 이 자동으로 텍스트를 번역하지 않지만 은 현지화해야하는 모든 텍스트 과 해당 번역 된 텍스트를 입력하는 필드를 나열하는 대화 상자를 제공합니다. 번역 된 텍스트를 입력하고 현지화 된 프로젝트를 작성한 후에는 다른 언어를 활성화하고 에 현지화 된 텍스트 형식을 표시 할 수 있습니다. 로케일을 전환하고 시스템을 재부팅 할 필요가 없습니다. 로컬 화 된 시스템 없이도 로컬라이제이션을 수행 할 수 있습니다.
외부 번역 관리자 (ETM) 가 소스 코드에서 DFM 파일과 텍스트 문자열 작동하는 독립 실행 형 응용 프로그램입니다. ETM은 이 아니기 때문에 현지화 된 프로젝트를 새로 만들 수 있지만 ITE와 마찬가지로 번역 된 텍스트와 번역 된 텍스트가 나열됩니다.
이것은 내 제품을 국제화하려는 시점에 일단 시도 할 계획입니다.
그러나 나에게 쉬운 부분은 프로그램을 번역하는 것입니다. 어려운 부분은 도움말 파일을 번역하는 것입니다.
구성 요소에서 유니 코드 지원을 받으려면 TMS Unicode Component Pack (이전에는 TntWare에서 무료로 제공)과 함께 GNU gettext for Delphi이라고 말하고 싶습니다.
gettext 파일을 사용하려면 번역자와 함께 작업하려면 .po 파일을 편집 할 수있는 무료 교차 플랫폼 Poedit을 사용하는 것이 좋습니다.
DexExpress 구성 요소를 소유하고있는 경우 cxLocalizer이라고 말하면됩니다.
소리가 좋다 - 나는 그것을 조사 할 것이다. –