2010-08-23 2 views
0

다국어 메시지, 화면 캡션, 통화/날짜 형식 등응용 프로그램을 지역화하기위한 최상의 프로그래밍 디자인은 무엇입니까?

+1

플랫폼? OS? 언어? – John

+0

대답은 UI의 구현 플랫폼에 따라 다릅니다 (.net vs java vs delphi vs etc.). 정확하고 대답은 훨씬 더 좋을 것입니다. –

+0

@ John : any! .. 언어 열의 값에 따라 메시지, 캡션, 환경 변수 등에 대해 별도의 테이블을 갖고 테이블 조회를 수행하는 것이 가장 좋은 경우 디자인과 관련하여 알고 싶습니다. –

답변

2

은 예입니다
English Account.AdminApprovalRequired 귀하의 계정은 관리자 승인 후에 활성화됩니다.
영어 Account.Administration는 관리

모든 당신이 caption.myfirstpicure에게

텍스트는 다음에서 이름 값을 가져옵니다 함수에 의해 검색되어있을 것입니다 캡션 테이블을하는 것보다 지금이 아니라 하나 개의 테이블에 저장 사전이 메모리에로드되었습니다. 나는 그것이 단순하고 우아하다고 생각한다.

1

이것은 애플리케이션에 따라 다릅니다.

단일 사용자 데스크탑 응용 프로그램 인 경우 가능하면 로케일 인식 기능을 사용하고 gettext 또는 기타 널리 사용되는 시스템을 사용하여 번역 할 수 있습니다. 시작할 때만 초기화합니다.

웹 응용 프로그램과 같은 다중 사용자 응용 프로그램의 경우 상황이 매우 복잡해집니다. 요청이나 사용자 세션마다 다른 로케일/언어를 지원해야하므로 요청 객체에서 해당 정보를 전달해야 할 수 있습니다 .

영어 Account.AddBillingAddress 대금 청구 주소 영어 Account.AddShippingAddress는 배송 주소를 추가 : 여기 언어/이름/값 튜플을 사용하여 사전입니다 매우 간단한 구성 테이블이 nopCommerce를 사용하고

+0

예, 현재 스페인어로 된 단일 사용자 앱입니다. 메시지, 캡션, GLS 환경 변수에 대한 별도의 테이블을 만들고 언어 -id 열을 기반으로이 테이블을 찾아야합니까? –

+0

번역본이라면 gettext를 사용하십시오. '_' 함수/매크로를 정의하기 위해 어딘가에 그것을 초기화하고, 그것을 사용하여 번역이 필요한 모든 문자열을 표시하십시오. 다음과 같이 외부에 값을 넣어야합니다. printf (_ ("Hello % s!"), world); Gettext에는 변환 할 문자열을 자동으로 추출하고 응용 프로그램과 함께 제공되는 .mo 파일로 컴파일하는 도구가 있습니다. –

관련 문제