public async Task TranslateAsync(TranslationRequest request)
        {
            var elementsToTranslate = _resxComparer.CreateElementsToTranslate(
                request.SourceFilePath,
                request.TargetFilePath);

            if (!elementsToTranslate.Any())
            {
                return;
            }

            var ignoreMarkup = new IgnoreForTranslationMarkup("{", "}");

            var translatedElements = await _translationSender.SendElementsAsync(
                request,
                ignoreMarkup,
                elementsToTranslate);

            var alignedElements = _resxAligner.AlignElements(
                request.SourceFilePath,
                request.TargetFilePath,
                translatedElements);

            _resxWriter.WriteResx(alignedElements, request.TargetFilePath);
        }
Exemplo n.º 2
0
        public async Task TranslateAsync(TranslationRequest request)
        {
            var sourceJson          = _jsonParser.Parse(request.SourceFilePath);
            var targetJson          = _jsonParser.Parse(request.TargetFilePath);
            var elementsToTranslate = _jsonComparer.CreateElementsToTranslate(sourceJson, targetJson);

            if (elementsToTranslate.Count > 0)
            {
                var ignoreMarkup       = new IgnoreForTranslationMarkup("{{", "}}");
                var translatedElements = await _sender.SendElementsAsync(
                    request,
                    ignoreMarkup,
                    elementsToTranslate);

                _jsonAligner.AlignRootElement(targetJson, translatedElements);
                _jsonWriter.WriteJson(targetJson, request.TargetFilePath);
            }
        }