LinuxForum.Fans
Тема

Translate

Автор: BCxTIM 1 сообщений 1823 просмотров
#221571

Здесь я хочу привести скрипт, для создания перевода. Допустим, Вам нужно перевести какой-то текст, или сообщение. Чтобы это сделать, можно долго и нудно пользоваться каким-то переводчиком, либо заходить в гугл, вставлять, и забирать текст.
Скрипт делает все проще.

Для начала мы должны установить

apt-get install cur
l (это нужно если какой-то другой язык вы хотите, кроме русского поставить, я ставил корейский)

Затем копируем код что у меня,
text
#!/bin/bash

# http://www.gnu.org/software/bash/manual/bash.html#The-Set-Builtin set -o errexit

function error() { echo "${scriptname}: error:" "${@}" > /dev/stderr exit 1 }

function introduceglobals() { script="$(readlink --canonicalize "${0}")" scriptdir="$(dirname "${script}")" scriptname="$(basename "${script}")"

for arg in "${@}"; do case "${arg}" in -h|--help) cat << EOF usage: ${scriptname} [OPTIONS] SPEECH... Translate text from one human language to another

N O T E This script uses http://translate.google.com service to convert text to speach

FIXME Not Implemented

Example of Usage: $ translate -f en -t ko hello $ translate -f ru -t en Привет, дружище $ translate -f ko -t ru 안녕하세요 EOF exit ;;

esac done }

introduceglobals "${@}"

from='en' to='ru' text="${1}"

# translate 'Hello, "whatever" how are you?' # [[["Здравствуй, \"все\" как дела?","Hello, \"whatever\" how are you?","Zdravstvuĭ, \"vse\" kak dela?",""]],,"en",,[["Здравствуй,",[5],1,0,502,0,2,0],["\"все\"",[6],1,0,545,2,5,0],["как дела?",[7],1,0,493,5,8,0]],[["Hello ,",5,[["Здравствуй,",502,1,0],["Здравствуйте",0,1,0]],[[0,6]],"Hello, \"whatever\" how are you?"],["\" whatever \"",6,[["\"все\"",545,1,0]],[[7,17]],""],["how are you ?",7,[["как дела?",493,1,0]],[[18,30]],""]],,,[["en"]],73] # # s/^\[\[\[// # "Здравствуй, \"все\" как дела?","Hello, \"whatever\" how are you?","Zdravstvuĭ, \"vse\" kak dela?",""]],,"en",,[["Здравствуй,",[5],1,0,502,0,2,0],["\"все\"",[6],1,0,545,2,5,0],["как дела?",[7],1,0,493,5,8,0]],[["Hello ,",5,[["Здравствуй,",502,1,0],["Здравствуйте",0,1,0]],[[0,6]],"Hello, \"whatever\" how are you?"],["\" whatever \"",6,[["\"все\"",545,1,0]],[[7,17]],""],["how are you ?",7,[["как дела?",493,1,0]],[[18,30]],""]],,,[["en"]],73] # # s/","/\n"/ # "Здравствуй, \"все\" как дела? # "Hello, \"whatever\" how are you?","Zdravstvuĭ, \"vse\" kak dela?",""]],,"en",,[["Здравствуй,",[5],1,0,502,0,2,0],["\"все\"",[6],1,0,545,2,5,0],["как дела?",[7],1,0,493,5,8,0]],[["Hello ,",5,[["Здравствуй,",502,1,0],["Здравствуйте",0,1,0]],[[0,6]],"Hello, \"whatever\" how are you?"],["\" whatever \"",6,[["\"все\"",545,1,0]],[[7,17]],""],["how are you ?",7,[["как дела?",493,1,0]],[[18,30]],""]],,,[["en"]],73] # # s/^"// # Здравствуй, \"все\" как дела? # "Hello, \"whatever\" how are you?","Zdravstvuĭ, \"vse\" kak dela?",""]],,"en",,[["Здравствуй,",[5],1,0,502,0,2,0],["\"все\"",[6],1,0,545,2,5,0],["как дела?",[7],1,0,493,5,8,0]],[["Hello ,",5,[["Здравствуй,",502,1,0],["Здравствуйте",0,1,0]],[[0,6]],"Hello, \"whatever\" how are you?"],["\" whatever \"",6,[["\"все\"",545,1,0]],[[7,17]],""],["how are you ?",7,[["как дела?",493,1,0]],[[18,30]],""]],,,[["en"]],73] # # s/\\"/"/g # Здравствуй, "все" как дела? # "Hello, \"whatever\" how are you?","Zdravstvuĭ, \"vse\" kak dela?",""]],,"en",,[["Здравствуй,",[5],1,0,502,0,2,0],["\"все\"",[6],1,0,545,2,5,0],["как дела?",[7],1,0,493,5,8,0]],[["Hello ,",5,[["Здравствуй,",502,1,0],["Здравствуйте",0,1,0]],[[0,6]],"Hello, \"whatever\" how are you?"],["\" whatever \"",6,[["\"все\"",545,1,0]],[[7,17]],""],["how are you ?",7,[["как дела?",493,1,0]],[[18,30]],""]],,,[["en"]],73]

curl http://translate.google.com/translate_a/t \ --silent \ --user-agent 'Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/535.1 (KHTML, like Gecko) Chrome/14.0.835.202 Safari/535.1' \ --get \ --data-urlencode 'client=t' \ --data-urlencode "hl=${from}" \ --data-urlencode "tl=${to}" \ --data-urlencode "text=${text}" \ | sed -e 's/^\[\[\[//' -e 's/","/\n"/' -e 's/^"//' -e 's/\\"/"/g' \ | head --lines=1

Сохраняем файл с именем translate.sh в домашнюю папку и там в папку bin

Разрешаем права командой

chmod a+x translate

И затем пользуемся.. к примеру, нужно перевести: Hi, how are you?

Вводим в консоли

translate 'Hi how are you?'

Нажимаем ентер, и терминал через коннет с гугл транслэйтом переводит.

Вот и все. Если кого заинтересовало, в доработке, то прошу скинуть потом код.

Войдите или зарегистрируйтесь, чтобы ответить.