User Tools

Site Tools


ru:google_translate

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
ru:google_translate [2019/03/10 06:30]
admin [Translation of Existing DB]
ru:google_translate [2019/03/10 06:30] (current)
admin [Translation of New Entries]
Line 1: Line 1:
 +====== Google translate ======
  
 +В скрипт встроена возможность автоматически перевести ваши тексты на другие языки используя Google Translate API. Обратите внимание что его использование платное (Google берет за это деньги, а не скрипт) и для этого вам понадобится зайти на https://developers.google.com/translate/v2/faq и получить свой **Server API Key**. Обратите внимание, именно Server, а не Browser.
 +
 +===== Translation of Existing DB =====
 +
 +Вероятно у вас уже есть готовая база, которую вы хотели бы перевести. Для этого надо зайти в ssh на том домене, где нужен перевод в scj/bin и запустить 
 +
 +  php rotation.php action=translate
 +
 +Обратите внимание, что если сайт, на котором вы запускаете команду - слейв, то и результаты будут сохранены туда же. Это удобно тем например, что например у вас есть мастер с английскими описаниями. Вы добавляете слейв и переводите его описания на немецкий например.
 +
 +После запуска комманды скрипт спросит вас какое поле вы хотите переводить (да, если у вас есть и альт и деск к галере то перевод надо будет запустить 2 раза), а так же в какое поле сохранять результат. А так же API key который вам надо получить до начала данного процесса.
 +
 +**После этого он спросит в каком режиме пеерводить - stops, log, fast** stops - значит делаем остановку после каждой фразы, если перевод не подходит - можно интерактивно его поправить и нажать ентер дабы его сохранить в базу. log - это перевод без запроса подтверждения, но с выводом текста, fast - ничего не спрашивает, ничего не выводит лишнего, только максимально быстро переводит.
 +
 +Обратите внимание, что конектиться в шел лучше с использованием UTF иначе вы можете видеть не все символы.
 +
 +===== Translation of New Entries =====
 +
 +Для перевода новых описаний добавлен возможно несколько более сложный, чем нажать пару кнопок, но по прочтению данного пункта станет ясно в чем дело.
 +
 +Надо настроить перевод нужных полей (возможно вы хотите переводить только description например) в [[Import Replacements]]. 
 +
 +<code>
 +
 +If this field = URL
 +Contains this value = http (те по факту все добавляемые галеры)
 +Then Search For - * (* тут значит полностью все поле)
 +in This Field - Custom Vars 1 (те заменять данное поле)
 +And Replace it With - external::http://YOURDOMAIN/scj/bin/rotation.php?action=translate_text&text={DESCRIPTION}&source_lng=en&target_lng=de&api_key=YOUR_API_KEY (заменяем мы результатом который возвратит этот урл)
 +
 +Что значит для каждой импортируемой галеры скрипт запросит указанный урл и поле Custom Vars1 будет заменено значением которое вернет этот урл. Те в Custom Vars 1  - у нас будет немецкий перевод текста из деска. 
 +
 +В данном урле есть следующие особенности
 +
 +  * В начале стоит external:: - это специальный префикс, который дает скрипту понять что надо запросить внешний урл, а не просто заменить данным текстом поле.
 +  * YOURDOMAIN - ....
 +  * {DESCRIPTION} - будет заменено непосредственно на описание галеры
 +  * source_lng=en&target_lng=de - где вам надо подставить значения откуда куда вы переводите.
 +  * YOUR_API_KEY - заменить на ваш ключ
 +
 +</code>
 +
 +Таким образом при добавлении контента к нему будут применено данное правило и каждая новая галера будет получать перевод в деска в поле Custom Vars 1 .
 +
 +Обратите внимание, что в качестве поля куда сохранять результат можно выбрать поля слейва. Те если у вас мастер английский, а слейв немецкий - достаточно на мастере настроить данное правиль и сохранять результат в description (slave name) и на слейве галеры будут переведенными.
 +
 +Почему делано через Import Replacements: возможности такого перевода довольно ограничены и он не всегда хорош. Кроме того возможно вы заходитете как-то иначе организовать перевод, возможно кешировать результаты каких-то фраз и тп. Таким образом можно будет всегда вписать свой УРЛ, условно external::http://YOURDOMAIN/my_script.phptext={DESCRIPTION} который будет переводить лучше или каким-то образом дополнительно обрабатывать строку.
 +
 +Кроме того, как видно в этом АПИ ключ хранится в базе. Если вы задумаете кому-то передать базу, это будет не лучшей идеей тк кто-то сможет узнать ваш ключ. Вы можете например напистаь отдельный скрипт для перевода и хранить ключ там, на другом серваке и тп - как угодно.
 +
 +Те такой вариант дает множество вариантов работы с импортируемым текстом.
ru/google_translate.txt · Last modified: 2019/03/10 06:30 by admin