public async Task <IActionResult> GetAppLocalizationsScript([FromQuery] string langCodes, [FromQuery] string appIdentifiers) { string scriptContent; try { var localizationData = await AppLocalization.GetAppLocalizationsAsync(GetDefaultDbContext(), (langCodes ?? string.Empty).Split(','), (appIdentifiers ?? string.Empty).Split(',')); //Important - localization data MUST be serialized with casing intact as class namespaces are the keys to solving translations on the clientside var localizationDataSerialized = JsonConvert.SerializeObject(localizationData, Formatting.None); var replacementToken = "{HERE_GOES_LOCALE_DATA_DUDE}"; var scriptStub = MapHive.Core.Configuration.WebClientConfiguration.GetConfigurationScript( new Dictionary <string, object> { { "localization", replacementToken } }); scriptContent = scriptStub.Replace($"\"{replacementToken}\"", localizationDataSerialized); } catch (Exception ex) { scriptContent = MapHive.Core.Configuration.WebClientConfiguration .GetConfigurationScriptFromException(ex); } return(new JavaScriptResult(scriptContent)); }
public async Task <IActionResult> GetAppLocalizations([FromQuery] string langCodes, [FromQuery] string appIdentifiers) { try { return(Ok(await AppLocalization.GetAppLocalizationsAsync(GetDefaultDbContext(), (langCodes ?? string.Empty).Split(','), (appIdentifiers ?? string.Empty).Split(',')))); } catch (Exception ex) { return(HandleException(ex)); } }