Сегодня переводчики играют большую роль в мире компьютерных технологий. В этой статье мы рассмотрим, как создать простую программу-переводчик, используя Python.
Шаг 1: Установка необходимых библиотек
Для работы программы нам понадобится несколько библиотек. Одна из них — это googletrans . Для установки этой библиотеки на компьютер необходимо прописать следующую команду:
pip install googletrans
После установки библиотеки мы можем приступать к написанию кода.
Шаг 2: Написание кода
from googletrans import Translator
Далее создадим объект Translator :
translator = Translator()
Теперь нам нужно написать функцию для перевода текста. Функция translate будет принимать два параметра: text — текст, который нужно перевести, и dest_language — язык, на который нужно перевести текст.
def translate(text, dest_language): translated = translator.translate(text, dest=dest_language) return translated.text
Вся программу можно записать в один файл следующим образом:
Мобильный переводчик
from googletrans import Translator translator = Translator() def translate(text, dest_language): translated = translator.translate(text, dest=dest_language) return translated.text text = input(«Введите текст, который нужно перевести: «) dest_language = input(«На какой язык нужно перевести текст? «) print(«Результат перевода:», translate(text, dest_language))
Шаг 3: Запуск программы
Сохраните код в файле с расширением .py . Запустите программу, перейдя в командную строку и написав команду python .py . Введите текст, который нужно перевести, а затем язык, на который нужно перевести. Программа отобразит перевод.
Заключение
Таким образом, мы рассмотрели, как создать программу-переводчик на Python, используя библиотеку googletrans . Создание своего переводчика может быть полезным, если вы работаете с разными языками и хотите ускорить процесс перевода.
- Какой живот лучше, мягкий или твёрдый?
- Сколько платите за детский сад?
- Из головы не вылезает мем H-водород, а надо учить таблицу Менделеева, что делать?
- На сколько денег в день вы живете?
- Хочу маленького ребеночка, а рожать рано да и папкой становиться никто не хочет)) Че делать?)))
- Моя собака лезет
- E-cadastre.ru/08:14:030111:65
- e-cadastre.ru/alwso.php: Удобный кадастровый сервис
Источник: sovet-kak.ru
Полное руководство по созданию приложения-клона Google Translate с нуля на .NET
Добрый день! Я действительно взволнован проектом, который мне удалось создать для вас. Я сделал всё возможное, чтобы представить вам что-то с почти полной функциональностью, что-то, что вы можете продемонстрировать в своём портфолио, если вы новичок, и не волнуйтесь, дальше я начну создавать проекты для разработчиков среднего и продвинутого уровня, просто имейте немного терпения, пока я сосредоточен на новых разработчиках .NET.
Приложение «Переводчик» на python (питон) tkinter
Сегодняшний проект является клоном приложения Google Translate с использованием Google translate API v2. Я эстет, поэтому я представлю вам красивое приложение, однако оно будет не только «красивым», но также будет переводить текст, определять язык на основе пользовательского ввода, отображать поддерживаемые языки и менять местами пользовательский ввод с результатом перевода. Так что, если вы так же взволнованы, как и я, давайте сделаем это!
https://t.me/csharp_ci – телеграм канал C# , .net для разработчиков.
Настройка Google Translate API ⚒️
Во-первых, вам нужно выполнить несколько шагов, чтобы иметь возможность использовать Google Translate API.
- Создайте учётную запись Google или используйте существующую, если таковая имеется
- Получите доступ к облаку Google
- Перейдите в облачную консоль Google.
- Создайте новый проект и назовите его как хотите (мой был назван Google Translate Clone )
- Получите доступ и найдите Cloud Translation API
- Включите API, и вас попросит подключить платёжную учётную запись.
- Также включите платёжную учётную запись (не волнуйтесь, мы не потратим ни копейки на этот проект)
- В представлении проекта перейдите к APIs and services > Credentials
- Выберите Create Credentials , а затем выберите API Key
После того, как вы выполнили эти шаги, вы можете начать использовать свой ключ API для этого и многих других проектов.
Если по какой-то причине вам не удалось выполнить шаги и вам нужна дополнительная помощь, вы можете посмотреть это видео , где автор выполняет те же шаги, которые я перечислил выше, но вы можете увидеть интерфейс Google Cloud и оценить его более визуально.
Альтернатива доступу к Google Cloud ️
Если вам не нравится использование Google Cloud и подключение карты к учётной записи, вы можете получить доступ к Rapid API , который является агрегатором API, где вы можете найти множество API для использования. Вам нужно будет создать учётную запись, а затем найти Google Translate API и подписаться бесплатно, после этого у вас будет доступ к учётным данным, которые Rapid API предоставляет, без необходимости доступа к Google Cloud или включения платёжной учетной записи. Не беспокойтесь, Rapid API поможет вам и фактически предоставит вам пример вызова, чтобы вы знали, как вызывать API с их хоста, и это будет выглядеть примерно так:
var client = new HttpClient(); var request = new HttpRequestMessage < Method = HttpMethod.Post, RequestUri = new Uri(«»), Headers = < < «X-RapidAPI-Key», «YOUR_API_KEY» >, < «X-RapidAPI-Host», «google-translate1.p.rapidapi.com» >, >, Content = new FormUrlEncodedContent(new Dictionary < < «q», «English is hard, but detectably so» >, >), >; using (var response = await client.SendAsync(request))
Создайте новое приложение Blazor WebAssembly
Теперь, когда у вас есть доступ к Google Translate API, давайте начнём создавать новое приложение blazor wasm с помощью dotnet cli.
dotnet new blazorwasm-empty -o GoogleTranslateClone
Как всегда, перейдите в свой файл wwwroot>Index.html и раскомментируйте свою таблицу стилей CSS с ограниченной областью действия, поскольку по умолчанию эта строка всегда комментируется, и вы должны включить её самостоятельно.
Добавьте модели для хранения данных
Нам нужны модели для хранения данных, которые мы получаем от вызовов веб-API, поэтому давайте добавим папку с именем Models и создадим следующие классы моделей.
public class Language < [JsonPropertyName(«language»)] public string language < get; set; >[JsonPropertyName(«name»)] < public string name < get; set; >> public class TranslatedText < [JsonPropertyName(«translatedText»)] public string translatedText < get; set; >>
Создание веб-приложения с переводом, предоставляемым переводчиком Microsoft.
В этом поШаговом руководстве вы узнаете, как создать веб-приложение, использующее API Microsoft Translator для перевода текста, введенного пользователем. Вы будете строить страницу с помощью ASP.NET и бесплатный Visual Studio Express 2012 для Web. Если у вас уже есть установка Visual Studio, вы все равно сможете следовать учебник, просто пропустить шаг 1.
Перед началом необходимо зарегистрироваться в API-ИНТЕРФЕЙСе Microsoft Translator в Azure. Есть несколько различных предложений, в том числе бесплатно, и вы можете увидеть, как зарегистрироваться для бесплатного обслуживания, зарегистрировать свое приложение и получить учетные данные здесь:
Идентификатор клиента и секрет клиента, которые вы создаете здесь, будут использоваться в шаге 4, так что имейте заметку о них.
Шаг 1. Получение Visual Studio Express 2012 для веб-узла.
Лучший способ начать это посетить http://www.asp.net/downloads и выберите кнопку «установить сейчас» в разделе «получить все с помощью одной простой установки».
Это запустит установщик веб-платформы, который установит Visual Studio, ASP.NET, MVC и целый ряд других полезностей, которые можно использовать для создания веб-сайтов.
Шаг 2. Создание веб-приложения
Запустите Visual Studio и в меню Файл выберите команду «создать проект». Появится диалоговое окно, содержащее список различных проектов, доступных для создания веб-сайтов. Выберите «Visual C#» слева, а затем выберите «ASP.NET Web Forms Application» из списка.
ПриСвойте веб-приложению имя, например «транслятор», и нажмите «OK». Теперь Visual Studio создаст все необходимое для создания и запуска веб-приложения. Нажмите клавишу F5, чтобы построить и запустить приложение, и вы увидите нечто подобное:
Шаг 3. Создание ПОЛЬЗОВАТЕЛЬСКОГО интерфейса для перевода текста
В этом разделе вы добавите на сайт элементы управления, которые позволят вашим конечным пользователям вводить некоторый текст, нажать кнопку перевода, а затем увидеть перевод введенного текста. Этот тип функциональности полезен для взаимодействия с вашими клиентами, когда вы говорите на разных языках, например.
В обозревателе решений найдите страницу «About. aspx». Откройте его в конструкторе, и вы увидите что-то вроде этого:
Delete the 3
tags that say ‘Use this area to provide additional information’, and replace with some controls to provide a basic translation UI, like this:
Для вашего удобства, вот источник для этой страницы:
ASP: содержимое runat= «сервер» ID= «Бодиконтент» Контентплацехолдерид= «MainContent»> hgroup Класса= «название»> h1>: Название %>.h1> h2>Страница описания приложения.
h2> hgroup> Статьи> Введите текст, который вы хотите перевести:Br /> ASP: текстовое поле ID= «TextBox1» runat= «сервер» Высота= «25px» Ширина= «342px»>ASP: текстовое поле> Кнопка ASP: ID= «Button1» runat= «сервер» Высота= «37px» Onclick= «Button1_Click» Текст= «Перевести» /> Br /> Переведенный текст:Br /> ASP: литерал ID= «Literal1» runat= «сервер»>ASP: литерал> Статьи> Сторону> h3>В сторону названиеh3> P> Используйте эту область для предоставления дополнительной информации. P> Ул> Литий>в runat= «сервер» Href=»~/»>Домав>Литий> Литий>в runat= «сервер» Href= «~/Абаут.аспкс»>Ов>Литий> Литий>в runat= «сервер» Href= «~/Контакт.аспкс»>Контактв>Литий> Ул> Сторону> ASP: содержимое>
Обратите внимание, что в конструкторе необходимо дважды щелкнуть на кнопке, чтобы сгенерировать код «Button1_Click». Этот код будет написан на следующем шаге.
Шаг 4. Написание кода для перевода текста пользователя
В предыдущем разделе был создан базовый пользовательский интерфейс для преобразования текста. Это позволило бы пользователю написать некоторый текст, и нажать кнопку. В этом разделе вы напишете код за этой кнопкой, который будет переводить нужный текст пользователя на Испанский, и визуализировать его на странице.
Во-первых, необходимо добавить в решение новый класс. Звоните Адмакцесстокен и присвойте ему следующий код:
Используя Системы Используя System. Collections. Generic; Используя System. LINQ; Используя Система.
Web; Пространства имен Translator < Общественного Класса AdmAccessToken < Общественного Строка access_token < get; set; >Общественного Строка token_type < get; set; >Общественного Строка expires_in < get; set; >Общественного Строка scope < get; set; >> >
Обратите внимание, что имена 4 строк должны соответствовать тому, что здесь точно, или вы будете получать ошибки в коде позже.
Затем в Visual Studio в обозревателе решений щелкните правой кнопкой мыши папку «ссылки» и выберите «добавить ссылку». Используйте следующее диалоговое окно, чтобы добавить ссылки на
– Система. Runtime. Сериализация
– System. XML. LINQ
– Система. ServiceModel. Web
В верхней части кода для About.aspx.cs, вы увидите несколько операторов ‘ using ‘. Добавьте с помощью System. XML. LINQ к этим, так что он выглядит следующим образом:
Используя Системы Используя System. Collections. Generic; Используя System. LINQ; Используя Система. Web; Используя System. Web. UI; Используя Система. Web. UI. веб-контроль; Используя System.
XML. LINQ; Пространства имен Translator < Общественного Частичное Класса About : Page < Защищены Void Паже_лоад (Объекта отправитель, EventArgs e) < >Защищены Void Button1_Click (Объекта отправитель, EventArgs e) < >> >
Вы увидите, что код Button1_Click пуст. Добавьте в него следующий код. Этот код получит маркер доступа для службы переводчика, используя идентификатор клиента и секрет клиента, созданный ранее.
Строка clientID = «»; Строка clientSecret = «»; Строка Стртранслаторакцессури = «https://datamarket.accesscontrol.windows.net/v2/OAuth2-13»; Строка Стррекуестдетаилс = Строка. Формат»grant_type=client_credentialsclient_secret= , HttpUtility. UrlEncode (clientID), HttpUtility. UrlEncode (clientSecret)); System .NET. WebRequest WebRequest = System .NET.
WebRequest. Create (Стртранслаторакцессури); WebRequest. «приложение/x-www-Form-UrlEncoded»; WebRequest. Method = ПОСТ; Байт[] bytes = System. Text. Encoding. ASCII. байт (Стррекуестдетаилс); WebRequest. ContentLength = байт.
Длина Используя (System.IO.Stream outputStream = webRequest.GetRequestStream()) < outputStream.Write(bytes, 0, bytes.Length); >System.Net.WebResponse webResponse = webRequest.GetResponse(); System.Runtime.Serialization.Json.DataContractJsonSerializer serializer = Новые функции System. Runtime. сериализации. JSON. DataContractJsonSerializer (Typeof(Адмакцесстокен)); Адмакцесстокен токен = (Адмакцесстокен) сериализатор.
ReadObject (GetResponseStream ()); Строка headerValue = Предъявителя + токен. акцесс_токен;
Этот код формирует POST к сервису рынка данных, передает ваш ID и секрет и получает объект JSON обратно. Затем этот объект десериализуется в объект Адмакцесстокен. Затем можно вывести акцесс_токен из этого.
Затем этот токен добавляется в строку с префиксом «предъявителя» (не забывайте о пробеле), чтобы создать значение заголовка, которое будет отправлено службе переводчика.
Чтобы затем вызвать службу переводчика с этим headerValue и передать текст пользователя, вы будете использовать код, как это:
Строка Тксттотранслате = TextBox1. Text; Строка URI = «http://api.microsofttranslator.com/v2/Http.svc/Translate?text str»>» to = ES»; System .NET. WebRequest Транслатионвебрекуест = System .NET. WebRequest. Create (URI); Транслатионвебрекуест. Headers. Add (Авторизации, headerValue); System .NET. ответ ответной реакции = Null; Response = Транслатионвебрекуест. ответ (); Система. IO.
Stream поток = ответ. GetResponseStream (); Кодирование системы. Text. кодирования = System. Text. Encoding.
«UTF-8»); System. IO. StreamReader Транслатедстреам = Новые функции System. IO. StreamReader (поток, кодирование); System.
XML. XmlDocument Кстранслатион = Новые функции System. XML. XmlDocument (); Кстранслатион. LoadXml (Транслатедстреам.
ReadToEnd ()); Literal1. Text = Кстранслатион. InnerText;
Текстовое поле было вызвано ‘ TextBox1 ‘, так что текст, введенный пользователем, может быть просто выведен из этого. После этого создается URI для транслятора HTTP-службы, а сам текст — UrlEncoded и добавляется в URI.
Обратите внимание, что язык ‘ en ‘ используется для ‘ from ‘ (то есть, я предполагаю, что вы печатаете на английском языке), и ‘ ES ‘ используется для ‘ to ‘ (т.е. он будет переводить на Испанский язык). Полный список этих кодов для поддерживаемых языков находится здесь: http://msdn.microsoft.com/en-us/library/hh456380.aspx
Служба переводчика возвращает XML, поэтому код вызывает службу, получает ответ как XML, а затем расшифрует его в текст. Затем он загружает результат в литерал, созданный на about. aspx с именем Literal1.
Вы можете увидеть его в действии здесь:
И вот оно! Теперь вы использовали API Microsoft Translator для добавления машинного перевода в приложение ASP.NET.
Сводка
В этом пошаговом руководстве вы увидели, как создать веб-приложение с помощью ASP.NET и как добавить в него машинный перевод. Вы использовали виджет Microsoft Translator, чтобы обеспечить перевод содержимого страницы, и вы увидели, как программировать API Microsoft Translator с помощью C# для перевода созданного пользователями контента.
Источник: www.microsoft.com