private static void Write(TextWriter output, Entry entry) { foreach (var comment in entry.Comments) { output.WriteLine("#{0}{1}", WriteCommentType(comment.Type), comment.Value); } if (entry.Context != null) { WriteDirective(output, "msgctxt", entry.Context); } if (entry.OriginalText != null) { WriteDirective(output, "msgid", entry.OriginalText); } WriteDirective(output, "msgstr", entry.TranslatedText ?? string.Empty); output.WriteLine(); }
private static bool ReadMetadata(Entry entry, ref string name, ref string language) { if (!string.IsNullOrEmpty(entry.OriginalText)) { return false; } var metadata = entry.TranslatedText. Split(new[] { '\r', '\n' }, StringSplitOptions.RemoveEmptyEntries). Select(x => x.Split(':')). Where(x => x.Length == 2). ToDictionary(x => x[0].Trim(), x => x[1].Trim()); metadata.TryGetValue("Project-Id-Version", out name); metadata.TryGetValue("Language", out language); return true; }