/// <summary> /// Database 로부터 지역 리소스 정보를 얻는다. /// </summary> /// <param name="classKey"></param> /// <param name="resourceKey"></param> /// <param name="culture"></param> /// <returns></returns> public static object GetLocalResourceObject(string classKey, string resourceKey, CultureInfo culture = null) { culture = culture ?? CultureInfo.CurrentCulture; if (IsDebugEnabled) { log.Debug("Get Local Resource object. classKey=[{0}], resourceKey=[{1}], culture=[{2}]", classKey, resourceKey, culture); } var value = ResourceProvider.GetObject(classKey, resourceKey, culture); if (IsDebugEnabled) { log.Debug("Get Local Resource object. value=[{0}]", value); } return(value); }
/// <summary> /// 외부 Resource Assembly로부터 지정한 리소스 키에 해당하는 값을 가져온다. /// </summary> public static object GetGlobalResourceObject(string classKey, string resourceKey, CultureInfo culture = null) { culture = CultureTool.GetOrCurrentUICulture(culture); if (IsDebugEnabled) { log.Debug("전역 리소스 값을 로드합니다... classKey=[{0}], resourceKey=[{1}], culture=[{2}]", classKey, resourceKey, culture); } var value = ResourceProvider.GetObject(classKey, resourceKey, culture); if (IsDebugEnabled) { log.Debug("전역 리소스 값을 로드했습니다!!! classKey=[{0}], resourceKey=[{1}], culture=[{2}], value=[{3}]", classKey, resourceKey, culture, value); } return(value); }
private string GetParameterValue(string paramKey, CultureInfo culture) { if (IsDebugEnabled) { log.Debug("Get Parameter value. paramKey=[{0}], culuture=[{1}]", paramKey, culture); } if (paramKey.IsWhiteSpace()) { return(null); } string result; string resourceFile, resourceKey; StringResourceTool.ParseClassKey(paramKey, out resourceFile, out resourceKey); // External Resource Provider의 예로 들면 // 다른 resource file에 있을 시 (resource assembly에는 여러개의 resource file이 존재하고, // 다른 resource file의 키값을 조회하기 위해 ${filename|resourceKey} 형태를 취할 수 있다. // // Resource : ${resourceFile|resourceKey} if (resourceFile != StringResourceTool.DEFAULT_ASSEMBLY_NAME) { result = ResourceProvider.GetString(AssemblyName + StringResourceTool.CLASS_KEY_DELIMITER + resourceFile, resourceKey, culture); } else { result = base.GetObject(paramKey, culture) as string; } if (IsDebugEnabled) { log.Debug("Parameter에 해당하는 값을 조회했습니다. paramKey=[{0}], culture=[{1}], paramValue=[{2}]", paramKey, culture, result); } return(result); }
public void NHResourceTest() { if (UnitOfWork.IsStarted == false) { UnitOfWork.Start(); } _factory.GlobalResourceProviderName = "NHResourceProvider"; string classKey = @"OtherResources|Glossary"; Console.WriteLine(ResourceProvider.GetString(classKey, "HomePage")); Console.WriteLine(ResourceProvider.GetString(classKey, "HomePage", new CultureInfo("ko"))); Console.WriteLine(ResourceProvider.GetString(classKey, "HomePage", new CultureInfo("ko-KR"))); Console.WriteLine(ResourceProvider.GetString(classKey, "HomePage", new CultureInfo("en"))); Console.WriteLine(ResourceProvider.GetString(classKey, "HomePage", new CultureInfo("en-US"))); Console.WriteLine(ResourceProvider.GetString(classKey, "HomePage", new CultureInfo("en-CA"))); Assert.IsNotNull(ResourceProvider.GetString(classKey, "HomePage", new CultureInfo("en-CA"))); Console.WriteLine(ResourceProvider.GetString(classKey, "Welcome")); Console.WriteLine(ResourceProvider.GetString(classKey, "Welcome", new CultureInfo("ko"))); Console.WriteLine(ResourceProvider.GetString(classKey, "Welcome", new CultureInfo("ko-KR"))); Console.WriteLine(ResourceProvider.GetString(classKey, "Welcome", new CultureInfo("en"))); Console.WriteLine(ResourceProvider.GetString(classKey, "Welcome", new CultureInfo("en-US"))); Console.WriteLine(ResourceProvider.GetString(classKey, "Welcome", new CultureInfo("en-CA"))); Assert.IsNotNull(ResourceProvider.GetString(classKey, "Welcome", new CultureInfo("en-CA"))); classKey = @"OtherResources|CommonTerms"; Console.WriteLine(ResourceProvider.GetString(classKey, "Hello")); Console.WriteLine(ResourceProvider.GetString(classKey, "Hello", new CultureInfo("ko"))); Console.WriteLine(ResourceProvider.GetString(classKey, "Hello", new CultureInfo("ko-KR"))); Console.WriteLine(ResourceProvider.GetString(classKey, "Hello", new CultureInfo("en"))); Console.WriteLine(ResourceProvider.GetString(classKey, "Hello", new CultureInfo("en-US"))); Console.WriteLine(ResourceProvider.GetString(classKey, "Hello", new CultureInfo("en-CA"))); Assert.IsNotNull(ResourceProvider.GetString(classKey, "Hello", new CultureInfo("en-CA"))); }