private static void PopulateTreeBuilder(SimpleIniParser iniReader, ITranslationTreeBuilder builder) { foreach (var iniSection in iniReader.GetSections().Concat(new[] { "" })) { var section = iniSection; if (section != string.Empty) { section = section + "."; } foreach (var iniKey in iniReader.GetKeys(iniSection)) { var key = section + iniKey; var value = iniReader.GetValue(iniSection, iniKey, string.Empty); builder.AddTranslation(key, value); } } }
public async Task <ITranslationTree> LoadNamespaceAsync(string language, string @namespace) { var path = FindFile(language, @namespace); if (path == null) { return(null); } string iniContent; using (var reader = new StreamReader(path, Encoding)) { iniContent = await reader.ReadToEndAsync(); } var iniReader = new SimpleIniParser(iniContent); var builder = _treeBuilderFactory.Create(); PopulateTreeBuilder(iniReader, builder); return(builder.Build()); }