2014-07-15 3 views
0

데이터베이스에 리소스를 저장하는 WPF 응용 프로그램을 지역화하는 가장 좋은 방법은 무엇입니까?db에서 WPF 현지화

내 작업은 응용 프로그램을 작성하고 데이터베이스에서 text/labels/...을 읽고 현지화합니다. 사용자는 리소스를 저장하는 테이블에 열을 추가하는 새 Culture를 추가 할 수 있으며 응용 프로그램은 정의 된 culture 중 하나를 사용할 수 있어야합니다.

 
+----------------+ 
|ID |EN |FR | 
+----------------+ 
|R001 |Dog |Chien| 
+----------------+ 
|R002 |... |.... | 
+----------------+ 

+----------------------+ 
|ID |EN |FR |IT | 
+----------------------+ 
|R001 |Dog |Chien|Cane | 
+----------------------+ 
|R002 |... |.... |... | 
+----------------------+ 

ObjectDataProvider은 좋은 해결책이 될 수 있지만, 나는 지역화해야하는 각 텍스트에 대해 다른 ObjectDataProvider를 만들려고하지 않습니다. 매개 변수가있는 바인딩을 사용하여 다른 컨트롤에서 동일한 ObjectDataProvider를 사용할 수 있습니까 (매개 변수는 R001과 같은 리소스의 키입니까?)

답변

1

현재 작업중인 프로젝트에서이 작업을 시도했습니다. 가장 좋은 조언은 시작할 때 모든 것을로드하고 캐시하는 것입니다 (최신 버전 인 경우). 개별 레이블을 가져 오기 위해 DB로 왕복 이동하면 성능이 저하됩니다.

부트 스트 래퍼에 위성 어셈블리를 만들거나 메모리에 번역을 캐시하십시오. 어쨌든 WPF에 투명하게 만들어서 DB를 친다. .NET을 사용하면 ResourceManager는 우리에게 가장 논리적 인 선택 인 것 같습니다.

멋진 해결책이 여기에 있습니다. http://www.codeproject.com/Articles/35159/WPF-Localization-Using-RESX-Files

+0

구체적인 예가 있습니까? – Matte

+0

무엇? 이 링크는 제가 여기서 제공 할 수있는 것보다 더 좋은 예입니다. –

관련 문제