2012-05-07 2 views
2

작은 헬퍼 프레임 워크를 만들었으므로 다중 언어가되고 싶습니다. 그래서 번역을 위해 .resx 파일을 사용했습니다.API를 사용하여 i18n을 관리하는 좋은 방법은 무엇입니까?

는하지만, 나는 위성 DLL이의 내 프레임 워크는이 응용 프로그램에 사용되는 실제 엉망이 될 것입니다 두려워 자신의 .resx ...

는 그래서 피하기 위해 모범 사례를 알고 싶습니다 어떤 리소스 지옥

+0

기본적으로 찾고있는 것은 Lang (uage) Pack (age) s입니까? 그래서 리소스 dll은 코드 dll과 분리됩니까? 할 수 있지만 약간의 노력이 필요하며 표준 어셈블리로드 메커니즘을 재정의해야합니다 (따라서 리소스 파일을 "찾을"수 있습니다). –

+0

저는 다음과 같은 경우에 대해 알고 싶습니다. 1 - Microsoft .rex 기술을 사용하는 것이 좋습니다. 2- 그런 경우에 대한 좋은 방법은 무엇입니까? –

답변

1

가장 좋은 방법은 Microsoft 지침을 따르는 것입니다. 따라서 * .resx 파일 또는 더 정확하게 위성 어셈블리는 정확히 사용해야합니다.

그러나이 방법의 문제점은 종속성을 처리하는 방법입니다. 내가 아는 바로는 추가 라이브러리로 디스크를 오염시키지 않으려 고합니다. 따라서 고객이 필요한 파일 만 설치하면됩니다.

희소식은 당신이 그것을 할 수 있고 위성 어셈블리를 사용할 수 있다는 것입니다. 해야 할 일은 DLL에 어셈블리를 압축하고 어셈블리 해결 이벤트를 재정 의하여 디스크에서 검색하는 대신 내부 파일을 사용하는 것입니다. 그러나, 모든 찬성 또한 죄수입니다. 그렇게하면 클라이언트가 하나의 파일 (큰 파일)을 설치해야하지만 제공 한 언어 중에서 선택해야합니다. 그들은 미래에 언어를 추가하거나 아무것도 추가 할 수 없습니다.

위성 어셈블리 접근 방식이 최상의 솔루션 인 이유를 이제 알게 되었으면 좋겠습니다. 지역화 프로세스를 제어 할 수있게 해줍니다. 이것을 처리하는 더 좋은 방법은 없습니다, 미안 해요.
BTW. DLL은 다른 클라이언트가 필요로하는 동일한 라이브러리의 여러 버전과 관련이 있습니다. 귀하의 경우에는 발생하지 않습니다. 물론 추가 파일은 추가 설치 프로그램 항목을 의미하지만 사람들이 병합 모듈 개념을 만든 이유가 있습니다. 걱정하지 않으려 고합니다. 프레임 워크를 머지 (merge) 모듈로 제공하고 사람들이 직접 커스터마이징 할 수있게합니다.

관련 문제