コード例 #1
0
        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);
                }
            }
        }
コード例 #2
0
        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());
        }