public async Task <ITranslationTree> LoadNamespaceAsync(string language, string @namespace)
        {
            var path = FindFile(language, @namespace);

            if (path == null)
            {
                return(null);
            }
            JObject parsedJson;

            using (var streamReader = new StreamReader(path, Encoding))
                using (var reader = new JsonTextReader(streamReader))
                {
                    parsedJson = (JObject)await JToken.ReadFromAsync(reader);
                }

            var builder = _treeBuilderFactory.Create();

            PopulateTreeBuilder("", parsedJson, builder);

            return(builder.Build());
        }
Exemplo n.º 2
0
        public Task <ITranslationTree> LoadNamespaceAsync(string language, string @namespace)
        {
            var path = FindFile(language, @namespace);

            if (path == null)
            {
                return(null);
            }

            XContainer parsedXml;

            using (var streamReader = new StreamReader(path, Encoding))
            {
                var document = XDocument.Load(streamReader);

                parsedXml = document.Root;
            }

            var builder = _treeBuilderFactory.Create();

            PopulateTreeBuilder("", parsedXml, builder);

            return(Task.FromResult(builder.Build()));
        }
Exemplo n.º 3
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());
        }