public void SourceWithXMLShouldReturnSubNodes() { var doc = XDocument.Parse(xlf12doc); var ns = doc.Root.Name.Namespace; var node = doc.Descendants(ns + "trans-unit") .Where(t => { return(t.Attribute(XName.Get("id")).Value == "Resx/State_translated_withXML"); }) .Single(); var unit = new XlfTransUnit(node, ns); Assert.AreEqual("XLIFF<span>Test</span>", unit.Source); doc = XDocument.Parse(xlf11doc); ns = doc.Root.Name.Namespace; node = doc.Descendants(ns + "trans-unit") .Where(t => { return(t.Attribute(XName.Get("resname")).Value == "Button_ContinueTest"); }) .Single(); unit = new XlfTransUnit(node, ns); Assert.AreEqual("Continue<span>Test</span>", unit.Source); }
public void RemoveNoteTest() { var doc = XDocument.Parse(xlf12doc); var ns = doc.Root.Name.Namespace; var unit = new XlfTransUnit(doc.Descendants(ns + "trans-unit").Where(d => d.Attribute("id").Value == "Resx/State_translated_withNotes").First(), ns); var noteCountBefore = unit.Optional.Notes.Count(n => n.Optional.From == "MultilingualEditor"); Assert.AreNotEqual(0, noteCountBefore, "There must be at least one note of type 'MultilingualEditor' for this test to work"); unit.Optional.RemoveNotes("from", "MultilingualEditor"); var noteCountAfter = unit.Optional.Notes.Count(n => n.Optional.From == "MultilingualEditor"); Assert.AreEqual(0, noteCountAfter, "There must not be any notes from 'MultilingualEditor' after removal"); }
public void AddNoteTest() { var doc = XDocument.Parse(xlf12doc); var ns = doc.Root.Name.Namespace; var unit = new XlfTransUnit(doc.Descendants(ns + "trans-unit").First(), ns); unit.Optional.AddNote("Valar morghulis!", "XliffParserTest"); var isWithNote = doc.ToString().Replace(" ", string.Empty).Contains("</target><notefrom=\"XliffParserTest\">Valarmorghulis!</note></trans-unit>\r\n<trans-unit"); Assert.IsTrue(isWithNote); doc = XDocument.Parse(xlf11doc); ns = doc.Root.Name.Namespace; unit = new XlfTransUnit(doc.Descendants(ns + "trans-unit").First(), ns); unit.Optional.AddNote("Valar morghulis!", "XliffParserTest"); isWithNote = doc.ToString().Replace(" ", string.Empty).Contains("</target>\r\n<notefrom=\"XliffParserTest\">Valarmorghulis!</note>\r\n</trans-unit>\r\n<trans-unit"); Assert.IsTrue(isWithNote); }
private static string DebugString(XlfTransUnit transUnit) { return "!" + transUnit.Id + "!" + transUnit.Source + "!" + transUnit.Target + "!"; }
private StringResource GetOrCreateStringResource(Dictionary <string, StringResource> fileStringResources, string storageLocation, XlfTransUnit u) { if (!fileStringResources.TryGetValue(u.Id, out StringResource stringResource)) { stringResource = new StringResource(u.Id, u.Optional.Notes.FirstOrDefault()?.Value ?? "") { Name = u.Id, StorageLocation = storageLocation }; stringResource.SetLocaleText(InvariantLanguage, RemoveMultipleWhitespaces(u.Source)); fileStringResources.Add(u.Id, stringResource); } return(stringResource); }
private static bool ShouldWriteTargetLanguage(string locale, XlfTransUnit translationUnit) { return((translationUnit.Target != null) && (!string.IsNullOrWhiteSpace(locale))); }
private static string DebugString(XlfTransUnit transUnit) { return("!" + transUnit.Id + "!" + transUnit.Source + "!" + transUnit.Target + "!"); }