public static void Export(string referencePrefix, string mediaFileName, string outputFilePath, TierCollection tiers) { const string ktimeFormat = "00.00###"; using (var stream = File.CreateText(outputFilePath)) { int count = tiers.GetTimeTier().Segments.Count; var timeSegments = tiers.GetTimeTier().Segments; var transcriptionSegments = tiers.GetTranscriptionTier(true).Segments; var freeTranslationSegments = tiers.GetFreeTranslationTier(true).Segments; for (int i = 0; i < count; i++) { stream.WriteLine("\\ref " + referencePrefix + "_" + (1 + i).ToString("0000")); var begin = timeSegments[i].TimeRange.StartSeconds.ToString(ktimeFormat); var end = timeSegments[i].TimeRange.EndSeconds.ToString(ktimeFormat); stream.WriteLine("\\begin " + begin); stream.WriteLine("\\end " + end); stream.WriteLine("\\media " + mediaFileName + " " + begin + " " + end); stream.WriteLine("\\t " + transcriptionSegments[i].Text); stream.WriteLine("\\f " + freeTranslationSegments[i].Text); stream.WriteLine(); } } }
public void GetFreeTranslationTier_TierExists_ReturnsIt() { var tier = _collection.GetFreeTranslationTier(); Assert.AreEqual(TextTier.ElanTranslationTierId, tier.Id); Assert.AreEqual(TierType.FreeTranslation, tier.TierType); }
public static void Export(string outputFilePath, TierCollection tiers) { using (var stream = File.CreateText(outputFilePath)) { stream.WriteLine("-- " + LocalizationManager.GetString("SessionsView.Transcription.TierDisplayNames.Transcription", "Transcription") + " --"); stream.WriteLine(); foreach (var segment in tiers.GetTranscriptionTier().Segments) { stream.WriteLine(segment.Text); } stream.WriteLine(); stream.WriteLine(); stream.WriteLine("-- " + LocalizationManager.GetString("SessionsView.Transcription.TierDisplayNames.FreeTranslation", "Free Translation") + " --"); stream.WriteLine(); foreach (var segment in tiers.GetFreeTranslationTier().Segments) { stream.WriteLine(segment.Text); } } }
public static void Export(string outputFilePath, TierCollection tiers) { const string ktimeFormat = "hh\\:mm\\:ss\\.ff"; //ISO 8601 and what ELAN import expects using (var stream = File.CreateText(outputFilePath)) { int count = tiers.GetTimeTier().Segments.Count; var timeSegments = tiers.GetTimeTier().Segments; var transcriptionSegments = tiers.GetTranscriptionTier(true).Segments; var freeTranslationSegments = tiers.GetFreeTranslationTier(true).Segments; for (int i = 0; i < count; i++) { stream.Write(i + 1 + ","); stream.Write(timeSegments[i].TimeRange.Start.ToString(ktimeFormat)); stream.Write(","); stream.Write(timeSegments[i].TimeRange.End.ToString(ktimeFormat) + ","); stream.Write(Escape(transcriptionSegments[i].Text)); stream.Write(","); stream.Write(Escape(freeTranslationSegments[i].Text)); stream.WriteLine(); } } }