Esempio n. 1
0
        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();
        }
Esempio n. 2
0
        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;
        }