public void WriteToFile(string fileName) { using (var resxWriter = new ResXResourceWriter (fileName)) { Resources.ForEach (resxWriter.AddResource); if (Resources.Count == 0) { resxWriter.AddMetadata ("", ""); } } }
public void SaveFile(string filename, Stream stream) { switch (Path.GetExtension(filename).ToLowerInvariant()) { // write XML resource case ".resx": ResXResourceWriter rxw = new ResXResourceWriter(stream); foreach (KeyValuePair<string, ResourceItem> entry in resources) { if (entry.Value != null) { ResourceItem item = entry.Value; rxw.AddResource(item.Name, item.ResourceValue); } } foreach (KeyValuePair<string, ResourceItem> entry in metadata) { if (entry.Value != null) { ResourceItem item = entry.Value; rxw.AddMetadata(item.Name, item.ResourceValue); } } rxw.Generate(); rxw.Close(); break; // write default resource default: ResourceWriter rw = new ResourceWriter(stream); foreach (KeyValuePair<string, ResourceItem> entry in resources) { ResourceItem item = (ResourceItem)entry.Value; rw.AddResource(item.Name, item.ResourceValue); } rw.Generate(); rw.Close(); break; } }
public void SaveFile(FileName filename, Stream stream) { switch (Path.GetExtension(filename).ToLowerInvariant()) { case ".resx": // write XML resource ResXResourceWriter rxw = new ResXResourceWriter(stream, t => ResXConverter.ConvertTypeName(t, filename)); foreach (ResourceItem entry in resourceItems) { if (entry != null) { rxw.AddResource(entry.ToResXDataNode(t => ResXConverter.ConvertTypeName(t, filename))); } } foreach (ResourceItem entry in metadataItems) { if (entry != null) { rxw.AddMetadata(entry.Name, entry.ResourceValue); } } rxw.Generate(); rxw.Close(); break; default: // write default resource ResourceWriter rw = new ResourceWriter(stream); foreach (ResourceItem entry in resourceItems) { rw.AddResource(entry.Name, entry.ResourceValue); } rw.Generate(); rw.Close(); break; } }
public void Save() { if (!IsDirty) return; if (File.Exists(TargetResXFileName)) File.Delete(TargetResXFileName); bool containsTranslation = false; foreach (var str in StringsWithTranslations) { containsTranslation = true; break; } if (containsTranslation) { if (!FileSystemWalker.TranslationsDirExists) Directory.CreateDirectory(FileSystemWalker.TranslationsDirectory); using (ResXResourceWriter writer = new ResXResourceWriter(TargetResXFileName)) { foreach (var str in StringsWithTranslations) { writer.AddResource(str.Key, str.Target); writer.AddMetadata(OrgSourceMetadataKeyPrefix + str.Key, str.TranslatedSource); } } } else { if (File.Exists(TargetResXFileName)) File.Delete(TargetResXFileName); } // Clear dirty flag foreach (var str in translatableStrings) { str.ClearDirty(); } }