From 0cedc796146400dd491337ba338f481647c0bdfa Mon Sep 17 00:00:00 2001 From: alzaslon Date: Mon, 25 Apr 2016 15:18:52 -0700 Subject: [PATCH] Localization fixes --- .../Web/Helpers/HtmlHelperExtensions.cs | 13 ++++++++ .../Web/Views/Actions/Index.cshtml | 19 ++++++----- .../Views/Advanced/_ApiRegistration.cshtml | 3 +- .../Views/Advanced/_DeviceAssociation.cshtml | 3 +- .../Views/Advanced/_IccidAssociation.cshtml | 3 +- .../Web/Views/Dashboard/Index.cshtml | 20 +++++------ .../Web/Views/Device/AddDevice.cshtml | 5 +-- .../Web/Views/Device/Index.cshtml | 33 ++++++++++--------- .../Web/Views/Device/RemoveDevice.cshtml | 3 +- .../Web/Views/Device/_AddDeviceCopy.cshtml | 7 ++-- .../Web/Views/Device/_AddDeviceCreate.cshtml | 9 ++--- .../Views/Device/_AddDeviceSelectType.cshtml | 7 ++-- .../Web/Views/DeviceCommand/Index.cshtml | 6 ++-- .../EditDeviceRuleProperties.cshtml | 7 ++-- .../Web/Views/DeviceRules/Index.cshtml | 23 ++++++------- .../Views/DeviceRules/RemoveDeviceRule.cshtml | 3 +- .../Web/Views/Shared/_BaseLayout.cshtml | 6 ++-- DeviceAdministration/Web/Web.csproj | 1 + 18 files changed, 99 insertions(+), 72 deletions(-) create mode 100644 DeviceAdministration/Web/Helpers/HtmlHelperExtensions.cs diff --git a/DeviceAdministration/Web/Helpers/HtmlHelperExtensions.cs b/DeviceAdministration/Web/Helpers/HtmlHelperExtensions.cs new file mode 100644 index 00000000..1568b485 --- /dev/null +++ b/DeviceAdministration/Web/Helpers/HtmlHelperExtensions.cs @@ -0,0 +1,13 @@ +namespace Microsoft.Azure.Devices.Applications.RemoteMonitoring.DeviceAdmin.Web.Helpers +{ + using System.Web; + using System.Web.Mvc; + + public static class HtmlHelperExtensions + { + public static IHtmlString JavaScriptString(this HtmlHelper htmlHelper, string message) + { + return htmlHelper.Raw(HttpUtility.JavaScriptStringEncode(message)); + } + } +} \ No newline at end of file diff --git a/DeviceAdministration/Web/Views/Actions/Index.cshtml b/DeviceAdministration/Web/Views/Actions/Index.cshtml index 20fb172f..b9bde44d 100644 --- a/DeviceAdministration/Web/Views/Actions/Index.cshtml +++ b/DeviceAdministration/Web/Views/Actions/Index.cshtml @@ -1,5 +1,6 @@ @using GlobalResources @using Newtonsoft.Json; +@using Microsoft.Azure.Devices.Applications.RemoteMonitoring.DeviceAdmin.Web.Helpers @model Microsoft.Azure.Devices.Applications.RemoteMonitoring.DeviceAdmin.Web.Models.ActionPropertiesModel @{ @@ -63,16 +64,16 @@ "use strict"; var resources = { - retry: '@Strings.Retry', - serviceUnavailable: '@Strings.ServiceUnavailable', - unableToRetrieveActionFromService: '@Strings.UnableToRetrieveActionFromService', - disabled: '@Strings.Disabled', - enabled: '@Strings.Enabled', - failedToRetrieveActions: '@Strings.FailedToRetrieveActions', - noActionSelected: '@Strings.NoActionSelectedLabel', - failedToUpdateActionId: '@Strings.FailedToUpdateActionId', + retry: '@Html.JavaScriptString(Strings.Retry)', + serviceUnavailable: '@Html.JavaScriptString(Strings.ServiceUnavailable)', + unableToRetrieveActionFromService: '@Html.JavaScriptString(Strings.UnableToRetrieveActionFromService)', + disabled: '@Html.JavaScriptString(Strings.Disabled)', + enabled: '@Html.JavaScriptString(Strings.Enabled)', + failedToRetrieveActions: '@Html.JavaScriptString(Strings.FailedToRetrieveActions)', + noActionSelected: '@Html.JavaScriptString(Strings.NoActionSelectedLabel)', + failedToUpdateActionId: '@Html.JavaScriptString(Strings.FailedToUpdateActionId)', readonlyActions: '@Model.HasAssignActionPerm.ToString().ToLower()', - actionsList: '@Strings.Actions' + actionsList: '@Html.JavaScriptString(Strings.Actions)' }; diff --git a/DeviceAdministration/Web/Views/Advanced/_ApiRegistration.cshtml b/DeviceAdministration/Web/Views/Advanced/_ApiRegistration.cshtml index 24905a9c..43fcb76f 100644 --- a/DeviceAdministration/Web/Views/Advanced/_ApiRegistration.cshtml +++ b/DeviceAdministration/Web/Views/Advanced/_ApiRegistration.cshtml @@ -1,4 +1,5 @@ @using GlobalResources +@using Microsoft.Azure.Devices.Applications.RemoteMonitoring.DeviceAdmin.Web.Helpers @model Microsoft.Azure.Devices.Applications.RemoteMonitoring.Common.Models.ApiRegistrationModel
@@ -68,7 +69,7 @@ function () { 'use strict'; var config = { - subheadContent: '@Strings.ApiRegistrationTitle', + subheadContent: '@Html.JavaScriptString(Strings.ApiRegistrationTitle)', goBackUrl: '@Url.Action("SelectAdvancedProcess")' }; IoTApp.Advanced.initSubView(config); diff --git a/DeviceAdministration/Web/Views/Advanced/_DeviceAssociation.cshtml b/DeviceAdministration/Web/Views/Advanced/_DeviceAssociation.cshtml index e3eb207a..747998f5 100644 --- a/DeviceAdministration/Web/Views/Advanced/_DeviceAssociation.cshtml +++ b/DeviceAdministration/Web/Views/Advanced/_DeviceAssociation.cshtml @@ -1,4 +1,5 @@ @using GlobalResources +@using Microsoft.Azure.Devices.Applications.RemoteMonitoring.DeviceAdmin.Web.Helpers
@Html.Partial("_IccidAssociation")
@@ -7,7 +8,7 @@ function () { 'use strict'; var config = { - subheadContent: '@Html.Raw(Strings.DeviceAssociationTitle)', + subheadContent: '@Html.JavaScriptString(Strings.DeviceAssociationTitle)', goBackUrl: '@Url.Action("SelectAdvancedProcess")' }; diff --git a/DeviceAdministration/Web/Views/Advanced/_IccidAssociation.cshtml b/DeviceAdministration/Web/Views/Advanced/_IccidAssociation.cshtml index e576e0c5..b3e4501c 100644 --- a/DeviceAdministration/Web/Views/Advanced/_IccidAssociation.cshtml +++ b/DeviceAdministration/Web/Views/Advanced/_IccidAssociation.cshtml @@ -1,4 +1,5 @@ @using GlobalResources +@using Microsoft.Azure.Devices.Applications.RemoteMonitoring.DeviceAdmin.Web.Helpers @if (ViewBag.HasRegistration) {
@@ -23,7 +24,7 @@ } diff --git a/DeviceAdministration/Web/Views/Dashboard/Index.cshtml b/DeviceAdministration/Web/Views/Dashboard/Index.cshtml index 33c83236..aca06486 100644 --- a/DeviceAdministration/Web/Views/Dashboard/Index.cshtml +++ b/DeviceAdministration/Web/Views/Dashboard/Index.cshtml @@ -13,20 +13,20 @@ 'use strict'; var resources = { - active: '@Strings.Active', - alarm: '@Strings.Alarm', - alarmHistory: '@Strings.AlarmHistory', + active: '@Html.JavaScriptString(Strings.Active)', + alarm: '@Html.JavaScriptString(Strings.Alarm)', + alarmHistory: '@Html.JavaScriptString(Strings.AlarmHistory)', allClearStatusIcon: '/Content/img/icon_status_all_clear.svg', cautionStatusIcon: '/Content/img/icon_status_caution.svg', - closed: '@Strings.Closed', + closed: '@Html.JavaScriptString(Strings.Closed)', criticalStatusIcon: '/Content/img/icon_status_critical.svg', - humidity: '@Strings.Humidity', - information: '@Strings.Information', - telemetryGaugeNumericFormat: '@Strings.TelemetryGaugeNumericFormat', - temperature: '@Strings.Temperature', + humidity: '@Html.JavaScriptString(Strings.Humidity)', + information: '@Html.JavaScriptString(Strings.Information)', + telemetryGaugeNumericFormat: '@Html.JavaScriptString(Strings.TelemetryGaugeNumericFormat)', + temperature: '@Html.JavaScriptString(Strings.Temperature)', alertHistoryType: '', - unableToRetrieveAlertsHistoryFromService: '@Strings.UnableToRetrieveAlertsHistoryFromService', - unableToRetrieveDeviceTelemetryFromService: '@Strings.UnableToRetrieveDeviceTelemetryFromService' + unableToRetrieveAlertsHistoryFromService: '@Html.JavaScriptString(Strings.UnableToRetrieveAlertsHistoryFromService)', + unableToRetrieveDeviceTelemetryFromService: '@Html.JavaScriptString(Strings.UnableToRetrieveDeviceTelemetryFromService)' }; diff --git a/DeviceAdministration/Web/Views/Device/AddDevice.cshtml b/DeviceAdministration/Web/Views/Device/AddDevice.cshtml index 110a66a5..0b083d58 100644 --- a/DeviceAdministration/Web/Views/Device/AddDevice.cshtml +++ b/DeviceAdministration/Web/Views/Device/AddDevice.cshtml @@ -1,4 +1,5 @@ @using GlobalResources +@using Microsoft.Azure.Devices.Applications.RemoteMonitoring.DeviceAdmin.Web.Helpers @{ ViewBag.Title = "Add a Device"; } @@ -24,8 +25,8 @@ "use strict"; var addDeviceResources = { - addDevice: '@Strings.AddDevice', - stepOneHeader: '@Strings.StepOneHeader', + addDevice: '@Html.JavaScriptString(Strings.AddDevice)', + stepOneHeader: '@Html.JavaScriptString(Strings.StepOneHeader)', redirectToIndexUrl: '@Url.Action("Index", "Device")', deviceDetailDeviceId: '@ViewBag.DeviceId' } diff --git a/DeviceAdministration/Web/Views/Device/Index.cshtml b/DeviceAdministration/Web/Views/Device/Index.cshtml index 21ff7bdb..8450490a 100644 --- a/DeviceAdministration/Web/Views/Device/Index.cshtml +++ b/DeviceAdministration/Web/Views/Device/Index.cshtml @@ -1,4 +1,5 @@ @using GlobalResources +@using Microsoft.Azure.Devices.Applications.RemoteMonitoring.DeviceAdmin.Web.Helpers @{ ViewBag.Title = "Index"; } @@ -155,22 +156,22 @@ "use strict"; var resources = { - retry: '@Strings.Retry', - serviceUnavailable: '@Strings.ServiceUnavailable', - deactivateDevice: '@Strings.DisableDevice', - activateDevice: '@Strings.EnableDevice', - unableToRetrieveDeviceFromService: '@Strings.UnableToRetrieveDeviceFromService', - errorWhileRetrievingKeys: '@Strings.ErrorWhileRetrievingKeys', - failedToUpdateDeviceStatus: '@Strings.FailedToUpdateDeviceStatus', - disabled: '@Strings.Disabled', - pending: '@Strings.Pending', - running: '@Strings.Running', - failedToRetrieveDevices: '@Strings.FailedToRetrieveDevices', - noDeviceSelected: '@Strings.NoDeviceSelectedLabel', - deviceList: '@Strings.DeviceList', - nextPage: '@Strings.Next', - previousPage: '@Strings.Previous', - infoFiltered: '@Strings.FilterInfo' + retry: '@Html.JavaScriptString(Strings.Retry)', + serviceUnavailable: '@Html.JavaScriptString(Strings.ServiceUnavailable)', + deactivateDevice: '@Html.JavaScriptString(Strings.DisableDevice)', + activateDevice: '@Html.JavaScriptString(Strings.EnableDevice)', + unableToRetrieveDeviceFromService: '@Html.JavaScriptString(Strings.UnableToRetrieveDeviceFromService)', + errorWhileRetrievingKeys: '@Html.JavaScriptString(Strings.ErrorWhileRetrievingKeys)', + failedToUpdateDeviceStatus: '@Html.JavaScriptString(Strings.FailedToUpdateDeviceStatus)', + disabled: '@Html.JavaScriptString(Strings.Disabled)', + pending: '@Html.JavaScriptString(Strings.Pending)', + running: '@Html.JavaScriptString(Strings.Running)', + failedToRetrieveDevices: '@Html.JavaScriptString(Strings.FailedToRetrieveDevices)', + noDeviceSelected: '@Html.JavaScriptString(Strings.NoDeviceSelectedLabel)', + deviceList: '@Html.JavaScriptString(Strings.DeviceList)', + nextPage: '@Html.JavaScriptString(Strings.Next)', + previousPage: '@Html.JavaScriptString(Strings.Previous)', + infoFiltered: '@Html.JavaScriptString(Strings.FilterInfo)' }; diff --git a/DeviceAdministration/Web/Views/Device/RemoveDevice.cshtml b/DeviceAdministration/Web/Views/Device/RemoveDevice.cshtml index 380a6b92..761e65d9 100644 --- a/DeviceAdministration/Web/Views/Device/RemoveDevice.cshtml +++ b/DeviceAdministration/Web/Views/Device/RemoveDevice.cshtml @@ -1,4 +1,5 @@ @using GlobalResources +@using Microsoft.Azure.Devices.Applications.RemoteMonitoring.DeviceAdmin.Web.Helpers @model Microsoft.Azure.Devices.Applications.RemoteMonitoring.DeviceAdmin.Web.Models.RegisteredDeviceModel @{ @@ -54,7 +55,7 @@ var resources = { redirectToIndexUrl: '@Url.Action("Index", "Device")', - errorRemoveDevice: '@Strings.ErrorRemoveDevice' + errorRemoveDevice: '@Html.JavaScriptString(Strings.ErrorRemoveDevice)' }; diff --git a/DeviceAdministration/Web/Views/Device/_AddDeviceCopy.cshtml b/DeviceAdministration/Web/Views/Device/_AddDeviceCopy.cshtml index c9f2dccc..7ab472df 100644 --- a/DeviceAdministration/Web/Views/Device/_AddDeviceCopy.cshtml +++ b/DeviceAdministration/Web/Views/Device/_AddDeviceCopy.cshtml @@ -1,4 +1,5 @@ @using GlobalResources +@using Microsoft.Azure.Devices.Applications.RemoteMonitoring.DeviceAdmin.Web.Helpers @model Microsoft.Azure.Devices.Applications.RemoteMonitoring.DeviceAdmin.Web.Models.RegisteredDeviceModel @@ -51,7 +52,7 @@ else

- @String.Format(@Strings.InstructionsForYourDeviceFormatted, @Model.DeviceType.Name) + @String.Format(Strings.InstructionsForYourDeviceFormatted, Model.DeviceType.Name) @Strings.OpensInNewTab

@@ -60,8 +61,8 @@ else diff --git a/DeviceAdministration/Web/Views/Device/_AddDeviceCreate.cshtml b/DeviceAdministration/Web/Views/Device/_AddDeviceCreate.cshtml index 3f1c7764..19209647 100644 --- a/DeviceAdministration/Web/Views/Device/_AddDeviceCreate.cshtml +++ b/DeviceAdministration/Web/Views/Device/_AddDeviceCreate.cshtml @@ -1,5 +1,6 @@ @using System.Collections @using GlobalResources +@using Microsoft.Azure.Devices.Applications.RemoteMonitoring.DeviceAdmin.Web.Helpers @model Microsoft.Azure.Devices.Applications.RemoteMonitoring.DeviceAdmin.Web.Models.UnregisteredDeviceModel @using (Ajax.BeginForm("AddDeviceCreate", "Device", @@ -88,11 +89,11 @@ \ No newline at end of file diff --git a/DeviceAdministration/Web/Views/DeviceCommand/Index.cshtml b/DeviceAdministration/Web/Views/DeviceCommand/Index.cshtml index f3dc5373..7174f99b 100644 --- a/DeviceAdministration/Web/Views/DeviceCommand/Index.cshtml +++ b/DeviceAdministration/Web/Views/DeviceCommand/Index.cshtml @@ -119,9 +119,9 @@ commands: '@Html.Raw(Model.CommandsJson)', deviceId: '@Model.DeviceId', deviceIsEnabled: '@Model.DeviceIsEnabled.ToString().ToLower()', - commandError: '@Strings.CommandError', - commandSendError: '@Strings.CommandSendError', - resendCommandError: '@Strings.ResendCommandError' + commandError: '@Html.JavaScriptString(Strings.CommandError)', + commandSendError: '@Html.JavaScriptString(Strings.CommandSendError)', + resendCommandError: '@Html.JavaScriptString(Strings.ResendCommandError)' } diff --git a/DeviceAdministration/Web/Views/DeviceRules/EditDeviceRuleProperties.cshtml b/DeviceAdministration/Web/Views/DeviceRules/EditDeviceRuleProperties.cshtml index 33799523..55b3358c 100644 --- a/DeviceAdministration/Web/Views/DeviceRules/EditDeviceRuleProperties.cshtml +++ b/DeviceAdministration/Web/Views/DeviceRules/EditDeviceRuleProperties.cshtml @@ -1,5 +1,6 @@ @using System.Web.Mvc.Html @using GlobalResources +@using Microsoft.Azure.Devices.Applications.RemoteMonitoring.DeviceAdmin.Web.Helpers @model Microsoft.Azure.Devices.Applications.RemoteMonitoring.DeviceAdmin.Web.Models.EditDeviceRuleModel @{ @@ -84,9 +85,9 @@ var resources = { redirectUrl: '@Url.Action("Index", "DeviceRules")', - ruleUpdateError: '@Strings.RuleUpdateError', - enabledString: '@Strings.Enabled', - disabledString: '@Strings.Disabled' + ruleUpdateError: '@Html.JavaScriptString(Strings.RuleUpdateError)', + enabledString: '@Html.JavaScriptString(Strings.Enabled)', + disabledString: '@Html.JavaScriptString(Strings.Disabled)' } diff --git a/DeviceAdministration/Web/Views/DeviceRules/Index.cshtml b/DeviceAdministration/Web/Views/DeviceRules/Index.cshtml index 9d70cce8..5821e460 100644 --- a/DeviceAdministration/Web/Views/DeviceRules/Index.cshtml +++ b/DeviceAdministration/Web/Views/DeviceRules/Index.cshtml @@ -1,4 +1,5 @@ @using GlobalResources +@using Microsoft.Azure.Devices.Applications.RemoteMonitoring.DeviceAdmin.Web.Helpers @model Microsoft.Azure.Devices.Applications.RemoteMonitoring.DeviceAdmin.Web.Models.EditDeviceRuleModel @{ @@ -70,17 +71,17 @@ "use strict"; var resources = { - retry: '@Strings.Retry', - serviceUnavailable: '@Strings.ServiceUnavailable', - unableToRetrieveRuleFromService: '@Strings.UnableToRetrieveRuleFromService', - disabled: '@Strings.Disabled', - enabled: '@Strings.Enabled', - failedToRetrieveRules: '@Strings.FailedToRetrieveRules', - noRuleSelected: '@Strings.NoRuleSelectedLabel', - ruleUpdateError: '@Strings.RuleUpdateError', - rulesList: '@Strings.Rules', - nextPage: '@Strings.Next', - previousPage: '@Strings.Previous' + retry: '@Html.JavaScriptString(Strings.Retry)', + serviceUnavailable: '@Html.JavaScriptString(Strings.ServiceUnavailable)', + unableToRetrieveRuleFromService: '@Html.JavaScriptString(Strings.UnableToRetrieveRuleFromService)', + disabled: '@Html.JavaScriptString(Strings.Disabled)', + enabled: '@Html.JavaScriptString(Strings.Enabled)', + failedToRetrieveRules: '@Html.JavaScriptString(Strings.FailedToRetrieveRules)', + noRuleSelected: '@Html.JavaScriptString(Strings.NoRuleSelectedLabel)', + ruleUpdateError: '@Html.JavaScriptString(Strings.RuleUpdateError)', + rulesList: '@Html.JavaScriptString(Strings.Rules)', + nextPage: '@Html.JavaScriptString(Strings.Next)', + previousPage: '@Html.JavaScriptString(Strings.Previous)' }; diff --git a/DeviceAdministration/Web/Views/DeviceRules/RemoveDeviceRule.cshtml b/DeviceAdministration/Web/Views/DeviceRules/RemoveDeviceRule.cshtml index 8404cb23..fe75632a 100644 --- a/DeviceAdministration/Web/Views/DeviceRules/RemoveDeviceRule.cshtml +++ b/DeviceAdministration/Web/Views/DeviceRules/RemoveDeviceRule.cshtml @@ -1,4 +1,5 @@ @using GlobalResources +@using Microsoft.Azure.Devices.Applications.RemoteMonitoring.DeviceAdmin.Web.Helpers @model Microsoft.Azure.Devices.Applications.RemoteMonitoring.DeviceAdmin.Web.Models.EditDeviceRuleModel @{ @@ -54,7 +55,7 @@ var resources = { redirectToIndexUrl: '@Url.Action("Index", "DeviceRules")', - errorRemoveRule: '@Strings.ErrorRemoveRule' + errorRemoveRule: '@Html.JavaScriptString(Strings.ErrorRemoveRule)' }; diff --git a/DeviceAdministration/Web/Views/Shared/_BaseLayout.cshtml b/DeviceAdministration/Web/Views/Shared/_BaseLayout.cshtml index 20b7033d..7e23a400 100644 --- a/DeviceAdministration/Web/Views/Shared/_BaseLayout.cshtml +++ b/DeviceAdministration/Web/Views/Shared/_BaseLayout.cshtml @@ -15,9 +15,9 @@ var cultureInfoShort = '@Thread.CurrentThread.CurrentCulture.TwoLetterISOLanguageName' var baseLayoutResources = { - commandCToCopy: '@Strings.CommandCToCopy', - controlCToCopy: '@Strings.ControlCToCopy', - clickToSelectAll: '@Strings.ClickToSelectAll' + commandCToCopy: '@Html.JavaScriptString(Strings.CommandCToCopy)', + controlCToCopy: '@Html.JavaScriptString(Strings.ControlCToCopy)', + clickToSelectAll: '@Html.JavaScriptString(Strings.ClickToSelectAll)' }; @Scripts.Render("~/bundles/powerbi-visuals") diff --git a/DeviceAdministration/Web/Web.csproj b/DeviceAdministration/Web/Web.csproj index 89e57440..8fb17a64 100644 --- a/DeviceAdministration/Web/Web.csproj +++ b/DeviceAdministration/Web/Web.csproj @@ -277,6 +277,7 @@ +