2016-06-21 2 views
0

현재 문화권 언어의 특정 리소스에 사용할 수있는 번역이 있는지 여부에 따라 일부 제어 흐름 논리를 수행하려고합니다.리소스가 언어로 번역되었는지 확인하는 방법

ResourceManager.GetString()을 사용하여 원하는 문화권의 리소스를 찾으려고 시도했지만 번역되지 않은 경우 기본 언어로 리소스를 반환합니다. 리소스가 번역되었는지 여부를 파악할 방법이 없습니다.

+1

기본 (번역되지 않은) 언어를 사용하지 않는 이유는 무엇입니까? 예를 들어'bool isTranslated = ResourceManager.GetString ("something", "es-es")/* 번역 */== ResourceManager.GetString ("something", "en-us")/* 번역되지 않음 * /; –

+1

이것은 정상적인 성능 저하입니다. 번역을 사용할 수없는 경우 최선을 다합니다. 모든 언어에 대해 완전한 번역을 할 수는 없습니다. – buffjape

+0

@cFrozenDeath 기본 언어 번역이 다른 언어의 번역에 대한 유효한 번역 일 수도 있기 때문에 (예 : en-uk 및 en-us 등의 경우 동일 할 수도 있기 때문) – Shaegorath

답변

0

UI에서 사용되지 않는 추가 리소스 문자열을 추가 할 수 있지만 번역을 사용할 수 있는지 여부를 결정하는 데만 사용할 수 있습니다. 예를 들어, 기본 언어의 문자열 내용은 "기본값"일 수 있으며 각 번역에서 "번역"될 수 있습니다. 그런 다음 코드에서 문자열에 "Default"라는 내용이 있는지 확인하고 제어 흐름 논리를 기반으로 할 수 있습니다.

+0

일할 수는 있지만 많은 수작업이 필요합니다. – Shaegorath

관련 문제