public static void WriteTranslation(POTranslation translation, TextWriter writer) { if (translation.Comments != null) { foreach (var comment in translation.Comments) { writer.WriteLine($"#. {comment}"); } } if (translation.References != null && translation.References.Count > 0) { writer.WriteLine($"#: {string.Join(" ", translation.References.Select(x => $"{x.File}:{x.LineNumber}").ToArray())}"); } WriteString(writer, "msgid", Escape(translation.Text)); if (translation.IsPlural) { WriteString(writer, "msgid_plural", Escape(translation.Plural)); WriteString(writer, "msgstr[0]", string.Empty); WriteString(writer, "msgstr[1]", string.Empty); } else { WriteString(writer, "msgstr", string.Empty); } }
private string GetTranslation(POTranslation translation) { using (var writer = new StringWriter()) { Internal.SharpGettextWriter.WriteTranslation(translation, writer); writer.Flush(); return(writer.ToString()); } }