Показаны сообщения с ярлыком Google Cloud Translation API. Показать все сообщения
Показаны сообщения с ярлыком Google Cloud Translation API. Показать все сообщения

пятница, 2 марта 2018 г.

Google Cloud Translation API C# code sample

A simple example of implementing the Google Cloud Translation API for C #


Google.Cloud.Translation.V2 library must be installed into the project through the NuGet


public class TranslateServiceGoogle
    {
        public int MaxTextLenght => 4999;

        private readonly string apiKey;

        private TranslationClient _client;
        private TranslationClient Client => _client ?? (_client = TranslationClient.CreateFromApiKey(apiKey));

        public TranslateServiceGoogle(string apiKey)
        {
            this.apiKey = apiKey;
        }        

        public string TranslateText(
            string text,
            string languageFrom,
            string languageTo
            )
        {
            if (string.IsNullOrWhiteSpace(text)) return "";

            CheckTranslatebleText(text);                      

            var res = Client.TranslateText(text, languageTo, languageFrom);

            return res.TranslatedText;
        }

        public string TranslateHtml(
            string text,
            string languageFrom,
            string languageTo
        )
        {
            if (string.IsNullOrWhiteSpace(text))
                return "";

            CheckTranslatebleText(text);
            
            var response = Client.TranslateHtml(text, languageTo, languageFrom);

            return response.TranslatedText;
        }

        public void CheckTranslatebleText(string text)
        {
            if (text.Length > MaxTextLenght)
            {
                throw new ArgumentOutOfRangeException($"Text length exceeds ({text.Length} symbols)!");
            }
        }
    }


суббота, 24 февраля 2018 г.

Google Cloud Translation API пример кода на C#

Простой пример реализации сервиса перводов Google Cloud Translation API на C#

Для работы коду нужно устанвоить в проект через NuGet библиотеку Google.Cloud.Translation.V2


public class TranslateServiceGoogle
    {
        public int MaxTextLenght => 4999;

        private readonly string apiKey;

        private TranslationClient _client;
        private TranslationClient Client => _client ?? (_client = TranslationClient.CreateFromApiKey(apiKey));

        public TranslateServiceGoogle(string apiKey)
        {
            this.apiKey = apiKey;
        }        

        public string TranslateText(
            string text,
            string languageFrom,
            string languageTo
            )
        {
            if (string.IsNullOrWhiteSpace(text)) return "";

            CheckTranslatebleText(text);                      

            var res = Client.TranslateText(text, languageTo, languageFrom);

            return res.TranslatedText;
        }

        public string TranslateHtml(
            string text,
            string languageFrom,
            string languageTo
        )
        {
            if (string.IsNullOrWhiteSpace(text))
                return "";

            CheckTranslatebleText(text);
            
            var response = Client.TranslateHtml(text, languageTo, languageFrom);

            return response.TranslatedText;
        }

        public void CheckTranslatebleText(string text)
        {
            if (text.Length > MaxTextLenght)
            {
                throw new ArgumentOutOfRangeException($"Недопустимый размер текста ({text.Length} символов) в блоке!");
            }
        }
    }


см. также
Сравнение сервисов облачных переводов Microsoft Azure Translator Text API и Google Cloud Translation API

четверг, 23 ноября 2017 г.

Сравнение сервисов облачных переводов Microsoft Azure Translator Text API и Google Cloud Translation API

Задача

Обеспечить автоматизированный перевод (с последующей выверкой человеком) контента сайта с русского на украинский.

Варианты решения

Были протестированы облачные платформы
от Microsoft: Microsoft Azure Translator Text API 
от Google: Google Cloud Translation API

По итогом тестирования переводы Microsoft Azure Translator Text API  были значительно хуже чем переводы Google Cloud Translation

В данном случае тестировали только переводы с русского на украинский.

Примеры

Пара примеров из классики

Исходная фраза
Все счастливые семьи похожи друг на друга, каждая несчастливая семья несчастлива по-своему.

Перевод Microsoft Azure Translator Text API
Всі щасливих сімей подібні, кожен нещасні родини є нещасні на свій лад.

Перевод Google Cloud Translation API
Всі щасливі сім'ї схожі один на одного, кожна нещаслива сім'я нещаслива по-своєму.

Исходная фраза
В конце ноября, в оттепель, часов в девять утра, поезд Петербургско-Варшавской железной дороги на всех парах подходил к Петербургу.

Перевод Microsoft Azure Translator Text API
В кінці листопада, під час відлиги годин о 9 ранку, поїзд Петербург-Варшава залізниці на всіх парах прийшли до Петербурга.

Перевод Google Cloud Translation API
В кінці листопада, у відлигу, годині о дев'ятій ранку, поїзд Петербургско-Варшавської залізниці на всіх парах підходив до Петербургу.

И более практичный пример

Исходная фраза
Программа и время проведения мероприятий, а так же режим сна и питания могут корректироваться по месту в зависимости от погодных условий, длительности мероприятий.

Перевод Microsoft Azure Translator Text API
Програми й час події, а також як спати і харчування може бути скоригована на сайті в залежності від погодних умов, тривалість подій.

Перевод Google Cloud Translation API
Програма і час проведення заходів, а так само режим сну і харчування можуть коригуватися за місцем залежно від погодних умов, тривалості заходів.

Решение 

Было принято использовать  Google Cloud Translation API

Материалы по теме


Google Cloud Translation API
https://cloud.google.com/translate/

Microsoft Translator Text API
http://docs.microsofttranslator.com/text-translate.html

Google Cloud Translation API пример кода на C#
http://dev-doc.blogspot.com/2018/02/google-cloud-translation-api-primer-c-sharp.html