private static bool WriteResourceString(StringEntryBuilder builder, string context, string comment, string value)
        {
            var translation = new StringEntry()
            {
                Usage = !string.IsNullOrEmpty(comment) && comment != value ?
                        "#. " + comment : string.Empty,
                Context     = "msgctxt " + EnsureStringIsWrappedInQuotes(context),
                Id          = "msgid " + value,
                Translation = "msgstr " + value
            };

            if (!builder.ContainsKey(translation))
            {
                builder.Add(translation);
                return(true);
            }
            translation = builder[translation.UniqueKey];
            var newComment = "#. " + comment;

            if (!translation.Usage.Contains(newComment))
            {
                translation.Usage += "\r\n" + newComment;
            }
            return(false);
        }
        private static StringEntryBuilder GetBuilder(IDictionary <Path, StringEntryBuilder> fileCatalog, Path path)
        {
            StringEntryBuilder entry;

            if (!fileCatalog.ContainsKey(path))
            {
                entry = new StringEntryBuilder();
                fileCatalog.Add(path, entry);
            }
            else
            {
                entry = fileCatalog[path];
            }
            return(entry);
        }
 private static bool WriteResourceString(StringEntryBuilder builder, string context, string value)
 {
     return(WriteResourceString(builder, context, value, value));
 }
        private static bool WriteResourceString(StringEntryBuilder builder, string context, string comment, string value) {
            var translation = new StringEntry()
            {
                Usage = !string.IsNullOrEmpty(comment) && comment != value ?
                    "#. " + comment : string.Empty,
                Context = "msgctxt " + context,
                Id = "msgid " + value,
                Translation = "msgstr " + value
            };

            if (!builder.ContainsKey(translation)) {
                builder.Add(translation);
                return true;
            }
            translation = builder[translation.UniqueKey];
            var newComment = "#. " + comment;
            if (!translation.Usage.Contains(newComment))
                translation.Usage += "\r\n" + newComment;
            return false;
        }
 private static bool WriteResourceString(StringEntryBuilder builder, string context, string value) {
     return WriteResourceString(builder, context, value, value);
 }
 private static StringEntryBuilder GetBuilder(IDictionary<Path, StringEntryBuilder> fileCatalog, Path path) {
     StringEntryBuilder entry;
     if (!fileCatalog.ContainsKey(path)) {
         entry = new StringEntryBuilder();
         fileCatalog.Add(path, entry);
     }
     else {
         entry = fileCatalog[path];
     }
     return entry;
 }