public string GetString(string resource) { var culture = CultureInfo.CurrentUICulture.IetfLanguageTag; #if __WASM__ if (!culture.HasValue()) { // This may happend in WASM (mono does not set it properly yet) culture = DefaultLanguage; } #endif if (FindForCulture(culture, resource, out var value)) { return(value); } else if (FindForCulture(CultureInfo.CurrentUICulture.Parent.IetfLanguageTag, resource, out var parentValue)) { return(parentValue); } if (GetStringInternal == null) { throw new InvalidOperationException($"ResourceLoader.GetStringInternal hasn't been set. Make sure ResourceHelper is initialized properly."); } return(GetStringInternal.Invoke(resource)); }
public string GetString(string resource) { // First make sure that resource cache matches the current culture var cultures = EnsureLoadersCultures(); // Walk the culture hierarchy and the default foreach (var culture in cultures) { if (FindForCulture(culture, resource, out var value)) { return value; } } // Finally try to fallback on the native localization system #if !__WASM__ && !NET461 if (GetStringInternal == null) { throw new InvalidOperationException($"ResourceLoader.GetStringInternal hasn't been set. Make sure ResourceHelper is initialized properly."); } return GetStringInternal.Invoke(resource); #else return string.Empty; #endif }
public string GetString(string resource) { if (GetStringInternal == null) { throw new InvalidOperationException($"ResourceLoader.GetStringInternal hasn't been set. Make sure ResourceHelper is initialized properly."); } return(GetStringInternal.Invoke(resource)); }
public string GetString(string resource) { // "/[file]/[name]" format support if (resource.ElementAtOrDefault(0) == '/') { var separatorIndex = resource.IndexOf("/", 1); if (separatorIndex < 1) { return(""); } var resourceFile = resource.Substring(1, separatorIndex - 1); var resourceName = resource.Substring(separatorIndex + 1); return(GetForCurrentView(resourceFile).GetString(resourceName)); } // First make sure that resource cache matches the current culture var cultures = EnsureLoadersCultures(); // Walk the culture hierarchy and the default foreach (var culture in cultures) { if (FindForCulture(culture, resource, out var value)) { return(value); } } // Finally try to fallback on the native localization system #if !UNO_REFERENCE_API && !NET461 if (GetStringInternal == null) { throw new InvalidOperationException($"ResourceLoader.GetStringInternal hasn't been set. Make sure ResourceHelper is initialized properly."); } return(GetStringInternal.Invoke(resource)); #else return(string.Empty); #endif }
public string GetString(string resource) { string culture = GetUICulture(); if (FindForCulture(culture, resource, out var value)) { return(value); } else if (FindForCulture(GetParentUICulture(), resource, out var parentValue)) { return(parentValue); } #if !__WASM__ && !NET46 if (GetStringInternal == null) { throw new InvalidOperationException($"ResourceLoader.GetStringInternal hasn't been set. Make sure ResourceHelper is initialized properly."); } return(GetStringInternal.Invoke(resource)); #else return("[" + resource + "]"); #endif }