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);
            }
        }
Exemple #2
0
 private string GetTranslation(POTranslation translation)
 {
     using (var writer = new StringWriter())
     {
         Internal.SharpGettextWriter.WriteTranslation(translation, writer);
         writer.Flush();
         return(writer.ToString());
     }
 }