Как перевести питон на русский
Перевод строк в Python с помощью Text Blob
В этом уроке мы будем использовать Text Blob с Python для выполнения перевода строк и слов на различные языки.
Вступление
Перевод текста-это сложная компьютерная задача, которую с каждым годом становится все легче и легче решать. Крупные компании, такие как Google, активно работают над улучшением своих услуг по переводу текстов, что позволяет остальным из нас свободно ими пользоваться.
Помимо их большого личного использования, эти сервисы могут быть использованы разработчиками через различные API. Эта статья о Text Blob который использует один из таких API для выполнения перевода текста.
Что такое TextBlob?
Внутренне/| TextBlob полагается на API Google Translate. Это означает, что для выполнения переводов требуется активное подключение к Интернету.
Установка TextBlob
Использование TextBlob
Использование TextBlob прост и понятен. Мы просто импортируем его, назначаем строку конструктору и затем переводим ее с помощью функции translate() :
Иногда мы можем захотеть определить язык, чтобы решить, нуждается ли текст в переводе вообще. Для определения языка некоторого текста используется функция Text Blob ‘s detect_language() :
Примеры перевода и точность
Перевод предложения С английского на хинди
В качестве нашего первого примера мы увидим, насколько хорошо английский язык переведен на хинди:
В результате получается следующее:
Перевод русской поэзии на хорватский язык
Давайте посмотрим, как TextBlob управляет поэзией. Ниже приводится произведение русского поэта Владимира Маяковского, сначала на русском, а затем на английском языках:
Мы скормим оригинальное стихотворение на кириллице Text Blob и посмотрите, как хорошо он переводится на хорватский. Поскольку и русский, и хорватский, и славянский языки, перевод ожидается относительно хорошим:
Запустив приведенный выше код, мы получим следующий вывод (отформатированный для удобства):
Перевод Массива немецких слов на английский язык
В некоторых случаях у нас не будет полных предложений для перевода. У нас может быть список или массив слов. Их гораздо легче перевести, так как нет контекста, который потенциально мог бы изменить перевод:
В результате получается:
Перевод еды с английского на французский
Наконец, давайте переведем английское слово на французский:
Французский перевод/| яблоко|/. Приятного аппетита!
Вывод
Перевод – интересная, но сложная компьютерная задача. Глубокое обучение и другие методы искусственного интеллекта становятся все более эффективными в понимании языка и выполнении автоматического перевода. Text Blob – это один из инструментов, доступных разработчикам, который может быть использован для выполнения таких автоматизированных языковых переводов.
Такой подход имеет много преимуществ, однако не все переводы совершенны. Эти методы все еще развиваются, и если вы нуждаетесь в качественном переводе большой важности, всегда лучше проконсультироваться с профессиональным переводчиком.
Русификация программ написанных на Питоне
Для новичков
Русификация программ написанных на Питоне
Статья посвящена переводу программ написанных на Python, поскольку русификация таких приложений немного отличается от перевода прочих ресурсов.
Для удобства работы необходимо иметь полный доступ на смартфоне, т.е. иметь доступ к системным папкам и установленные следующие приложения:
и соответственно: Python 1.4.5 Final, MegaPyModulePack
Открываем файл default.py (в этом файле на самом деле алгоритмы, так вот среди них в скобках есть те надписи которые употребляются в программе, мы и будем переводить эти слова на русский язык) встроенным текстовым редактором в X-plore, предварительно выставив в настройках файл-менеджера кодировку (UTF-8 ). В открытом для редактирования файле под строкой import appuifw вставляем новую строку (вообще возможно и в самом верху нашего файла):
def ru(x):return x.decode(‘utf-8’)
Далее ищем строки типа:
и меняем их, пока не переводя никакие слова на русский язык, на такие:
Сохраняем, отключив галочку «Сохранить в Юникоде». Редактируемую программу не запускаем.
Когда перевод будет закончен мы можем перенести отредактированный нами файл в системную папку на смартфоне при уже установленной программе, посмотрев путь в SmartSIS, или запаковать его с программой (копируем наш уже переведенный файл default.py в SmartSIS, заменяя прежний и запаковываем программу). Перед перепаковкой убедитесь, что программа работает правильно, а русский текст отображается без ошибок.
Теперь нужно удалить установленную ранее переводимую нами программу и установить только что собранную вами, что бы проверить правильность ее установки и качество перевода.
Далее ищем строки типа:
и меняем их на такие:
Как перевести питон на русский
Итак, давайте начнём раскручивать спираль истории. У нас есть язык программирования, называемый Python.
Вот как Гвидо ван Россум, создатель языка, описывает процесс выбора имени:
So, rather than over-analyzing the naming problem, I decided to under-analyze it. I picked the first thing that came to mind, which happened to be Monty Python’s Flying Circus, one of my favorite comedy troupes. The reference felt suitably irreverent for what was essentially a “skunkworks project”. The word “Python” was also catchy, a bit edgy, and at the same time, it fit in the tradition of naming languages after famous people, like Pascal, Ada, and Eiffel. The Monty Python team may not be famous for their advancement of science or technology, but they are certainly a geek favorite. It also fit in with a tradition in the CWI Amoeba group to name programs after TV shows.
Помимо прочего, из этого абзаца нам становится известно, что ван Россум относится к слову «Python» из названия «Monty Python’s Flying Circus» (это название шоу английской комик-группы) как к фамилии человека. Попытаемся разобраться, кто был этот Monty Python.
Сжато историю создания названия «Monty Python’s Flying Circus», можно услышать, например, в этом интервью одного из участникв группы. Но ещё больший интерес представляет запись шоу «Live at Aspen», в котором история предстаёт в полной красе. Выдержка:
[. ] we said it’s gonna be someone’s flying circus. And then I think John said: «How about something slimy and slithery» [. ] Typical show business agent [. ] Python, Python, Python [. ] Somebody else shouted «Monty», which made us laugh, because Monty to us means Lord Montgomery. [. ]
Отсюда можно заключить, что от названия требовалось, чтобы оно было максимально абсурдным (абсурдность, кстати сказать, является одним из основополагающих моментов шоу данной комик-группы), но без перегиба. По-видимому, им хотелось поразить зрителя и слушателя в том числе и названием, в котором что-то «скользкое» и «изворотливое» соседствует с чем-то вызывающим уважение. Вот и вышло, что рядом со словом «Monty», ассоциировавшимся в умах многих с Бернардом Монтгомери (известным военачальником времён Второй мировой), появилось скользкое «Python». Величавое стало соседствовать с низким. Здесь можно попытаться придумать что-нибудь подобное на русском, какого-нибудь Владлена Колбасу.
Мы видим, что авторы использовали говорящее имя, чтобы создать у воспринимающих определённое впечатление (сравните с гоголевскими Михайло Собакевичем и Настасьей Коробочкой). А теперь посмотрим, пользуются ли авторы в своих работах этим приёмом. Недолгие поиски позволяют найти следующих персонажей: Mr. Smoke, Mrs. Mutton, Shufflebottom, Mrs. Tranter, Mr. Fish, Kettle, Swinebelly, Giggle. То есть, говорящие имена им не чужды.
Таким образом, можно заключить, что образ змея для авторов имеет место быть в фамилии «Python». Примечательно, что в английском также присутствует фамилия с идентичным написанием, никак не связанная со змеем. Она исходит из слова «Vivianus» (наряду с Phython, Phythian, Fidgeon), означавшего изначально «выживший» (в старые времена смертность была очень высока).
В русском упомянутое выше существо называлось либо «пифон», либо «питон» — варианты прочтения. Для обозначения семейства пресмыкающиеся «Pythonidae» используется наименование «питон». Таким образом, можно сказать, что в нашем языке уже существует устоявшийся, и что особенно важно, вполне адекватный перевод.
Приняв во внимание сказанное выше, можно предположить, что для передачи авторского смысла было бы правильнее перевести название шоу комик-группы, используя не транскрибцию, а устроявшуюся форму перевода «Летающий цирк Монти Питона». Звучит непривычно, согласен, но только и всего.
От такого умозаключения нетрудно сделать следующий шаг: изобретение отдельного слова для обозначения языка программирования Python не требуется, достаточно слова Питон, давно вошедшего в лексикон. Ввиду того, что сферы применения слова довольно далеки друг от друга (зоология и программирование), вероятность запутаться в смыслах крайне мала. Можно даже пойти дальше и сказать, что совсем не обязательно переключать раскладку клавиатуры и писать каждый раз «Python», вас и без этого прекрасно поймут.
Пожалуй, на этом можно закончить. Если вы заметили ошибки или неточности, не стесняйтесь, указывайте на них в комментариях.
Способы мультиязычности программ на Python?
инициализируя таким образом все переменные со строковыми значениями в основной код приложения.
Сейчас exec как-то не хочется использовать. Я приспособил для этих целей модуль ConfigParser. Сейчас это выглядит вот так:
locale.ini
(файл текущей локализации приложения):
english.ini
(файл со строковыми данными):
Теперь, скажем, если мне нужно сменить язык на русский, я добавляю файл russian.ini со строками русской локализации, а в файле locale.ini устанавливаю значение «language» в «russian».
locale.ini (файл текущей локализации приложения):
english.ini (файл со строковыми данными):
Может быть в Python есть другие варианты вышеописанного велосипеда?
1 ответ 1
Далее, перевод импортируется в переводимую программу при помощи команды gettext.install(‘mary’, ‘./locale’, unicode=True) (пример отсюда, реальные параметры могут быть другими).
Парочка нагугленных руководств:
Если потребуется редактировать перевод онлайн совместно с другими переводчиками, могу сказать, что упомянутые выше crowdin и transifex бесплатны для Opensource продуктов, но в crowdin с этим довольно строго, в то время как в transifex достаточно того, чтобы перевод был доступен публично, и в настройках проекта была ссылка на исходный код. При этом субъективно у crowdin более дружелюбный интерфейс.
Перевод текста с помощью Google Translate API в Python
На самом деле вы можете многое сделать с помощью Google Translate API, начиная от определения языков и заканчивая простым переводом текста, настройкой исходного и целевого языков и переводом целых списков текстовых фраз. В этой статье вы узнаете, как работать с Google Translate API на языке программирования Python.
Установка Google Translate API
Прежде чем вы сможете работать с Google Translate API в Python, вам нужно будет установить его. Существует два разных способа установки API. Первый способ прост. Просто зайдите в терминал и используйте pip для установки API, как и для любой другой библиотеки Python. Для этого введите в своем терминале следующую команду:
Нажмите Enter и модуль Python для Google Translate API будет установлен в вашей системе.
Теперь, когда вы установили API, мы увидим его в действии с помощью нескольких примеров.
Список поддерживаемых языков
Google Translate API поддерживает множество языков. Чтобы вывести список всех поддерживаемых языков, запустите следующий скрипт:
При выполнении вышеприведенный фрагмент кода перечислит имена всех поддерживаемых языков вместе с их сокращенной записью. Вот как будет выглядеть вывод:
Основное использование
Давайте напечатаем все вышеперечисленные атрибуты и посмотрим, что мы получим
В приведенном выше примере мы не указали исходный язык. Поэтому Google Translate API пытается определить исходный язык. Аналогично, мы также не указали ни одного языка назначения, и поэтому API перевел исходный язык на язык по умолчанию, английский. Но что, если вы хотите указать исходный и целевой языки?
Указание исходного и целевого языков
На самом деле, очень легко указать язык назначения и исходный язык в Google Translate API. Вот код, который вы будете использовать для передачи только исходного языка:
Вы также можете передать исходный и целевой языки одновременно:
Давайте теперь переведем финское предложение на французский, а затем напечатаем исходный и целевой языки, а также переведенный текст. На этот раз мы укажем исходный и целевой языки.
Приведенный выше фрагмент кода даст следующий результат.
Перевод списка фраз
Давайте создадим список строк, содержащих некоторые фразы из французского языка.
Теперь пришло время вызвать метод translate() и передать в качестве параметров список, исходный язык и язык назначения.
Следующий результат будет отображаться на экране.
Перевод текстовых документов
Вы также можете проверить, находится ли файл в режиме «чтения», используя свойство mode :
Вот вывод содержимого файла:
Убедитесь, что у вас есть вышеуказанный контент в вашем текстовом файле, если вы хотите следовать нашему примеру.
Вывод должен выглядеть следующим образом:
Чтобы записать переведенный текст в тот же файл или другой текстовый файл, вы просто откроете файл в режиме записи («w»). Затем вам нужно вызвать метод write() и передать ему переведенный текст, как показано ниже:
В приведенном выше примере мы использовали менеджер контекста with для автоматического открытия и закрытия потока записи. Во-вторых, мы открыли файл в режиме записи. Наконец, мы использовали метод write() для записи переведенной строки в новый файл.



