diff options
Diffstat (limited to 'src/WixToolset.Data/Localization.cs')
| -rw-r--r-- | src/WixToolset.Data/Localization.cs | 29 |
1 files changed, 22 insertions, 7 deletions
diff --git a/src/WixToolset.Data/Localization.cs b/src/WixToolset.Data/Localization.cs index 7ce765f4..70c096de 100644 --- a/src/WixToolset.Data/Localization.cs +++ b/src/WixToolset.Data/Localization.cs | |||
| @@ -18,9 +18,10 @@ namespace WixToolset.Data | |||
| 18 | /// <summary> | 18 | /// <summary> |
| 19 | /// Instantiates a new localization object. | 19 | /// Instantiates a new localization object. |
| 20 | /// </summary> | 20 | /// </summary> |
| 21 | public Localization(int codepage, string culture, IDictionary<string, BindVariable> variables, IDictionary<string, LocalizedControl> localizedControls) | 21 | public Localization(int? codepage, int? summaryInformationCodepage, string culture, IDictionary<string, BindVariable> variables, IDictionary<string, LocalizedControl> localizedControls) |
| 22 | { | 22 | { |
| 23 | this.Codepage = codepage; | 23 | this.Codepage = codepage; |
| 24 | this.SummaryInformationCodepage = summaryInformationCodepage; | ||
| 24 | this.Culture = culture?.ToLowerInvariant() ?? String.Empty; | 25 | this.Culture = culture?.ToLowerInvariant() ?? String.Empty; |
| 25 | this.variables = new Dictionary<string, BindVariable>(variables); | 26 | this.variables = new Dictionary<string, BindVariable>(variables); |
| 26 | this.localizedControls = new Dictionary<string, LocalizedControl>(localizedControls); | 27 | this.localizedControls = new Dictionary<string, LocalizedControl>(localizedControls); |
| @@ -30,7 +31,13 @@ namespace WixToolset.Data | |||
| 30 | /// Gets the codepage. | 31 | /// Gets the codepage. |
| 31 | /// </summary> | 32 | /// </summary> |
| 32 | /// <value>The codepage.</value> | 33 | /// <value>The codepage.</value> |
| 33 | public int Codepage { get; private set; } | 34 | public int? Codepage { get; private set; } |
| 35 | |||
| 36 | /// <summary> | ||
| 37 | /// Gets the summary information codepage. | ||
| 38 | /// </summary> | ||
| 39 | /// <value>The summary information codepage.</value> | ||
| 40 | public int? SummaryInformationCodepage { get; private set; } | ||
| 34 | 41 | ||
| 35 | /// <summary> | 42 | /// <summary> |
| 36 | /// Gets the culture. | 43 | /// Gets the culture. |
| @@ -52,10 +59,17 @@ namespace WixToolset.Data | |||
| 52 | 59 | ||
| 53 | internal JsonObject Serialize() | 60 | internal JsonObject Serialize() |
| 54 | { | 61 | { |
| 55 | var jsonObject = new JsonObject | 62 | var jsonObject = new JsonObject(); |
| 63 | |||
| 64 | if (this.Codepage.HasValue) | ||
| 56 | { | 65 | { |
| 57 | { "codepage", this.Codepage }, | 66 | jsonObject.Add("codepage", this.Codepage.Value); |
| 58 | }; | 67 | } |
| 68 | |||
| 69 | if (this.SummaryInformationCodepage.HasValue) | ||
| 70 | { | ||
| 71 | jsonObject.Add("summaryCodepage", this.SummaryInformationCodepage.Value); | ||
| 72 | } | ||
| 59 | 73 | ||
| 60 | jsonObject.AddIsNotNullOrEmpty("culture", this.Culture); | 74 | jsonObject.AddIsNotNullOrEmpty("culture", this.Culture); |
| 61 | 75 | ||
| @@ -94,7 +108,8 @@ namespace WixToolset.Data | |||
| 94 | 108 | ||
| 95 | internal static Localization Deserialize(JsonObject jsonObject) | 109 | internal static Localization Deserialize(JsonObject jsonObject) |
| 96 | { | 110 | { |
| 97 | var codepage = jsonObject.GetValueOrDefault("codepage", 0); | 111 | var codepage = jsonObject.GetValueOrDefault("codepage", null); |
| 112 | var summaryCodepage = jsonObject.GetValueOrDefault("summaryCodepage", null); | ||
| 98 | var culture = jsonObject.GetValueOrDefault<string>("culture"); | 113 | var culture = jsonObject.GetValueOrDefault<string>("culture"); |
| 99 | 114 | ||
| 100 | var variables = new Dictionary<string, BindVariable>(); | 115 | var variables = new Dictionary<string, BindVariable>(); |
| @@ -116,7 +131,7 @@ namespace WixToolset.Data | |||
| 116 | } | 131 | } |
| 117 | } | 132 | } |
| 118 | 133 | ||
| 119 | return new Localization(codepage, culture, variables, controls); | 134 | return new Localization(codepage, summaryCodepage, culture, variables, controls); |
| 120 | } | 135 | } |
| 121 | } | 136 | } |
| 122 | } | 137 | } |
