Робимо простий онлайн-перекладач (actionscript php), edapskov
Робимо простий онлайн-перекладач (ActionScript + PHP)
Я, звичайно, не збираюся робити онлайн-перекладач з нуля. Та й навіщо, якщо є чудовий сервіс від Яндекса (так званий «API Яндекс.Перевод»), який візьме на себе найскладнішу частину роботи - сам переклад. Нам лише треба надати Яші два параметри:
- слово / словосполучення, які треба перевести (але врахуйте, що щедрість Яндекса не безмежна і існують обмеження на кількість звернень до сервісу і на обсяг тексту, що перекладається);
- напрямок перекладу (наприклад, "ru-en" або "en-ru").
До речі, одним з явних переваг перекладача від Яндекса є те, що він вміє повноцінно працювати з українською мовою. Справа в тому, що в мережі вистачає сервісів (в тому числі і безкоштовних), які надають можливості онлайн-перекладу, але далеко не всі вони вміють перекладати українською / с українського (іноді вони вміють перекладати українською, але з українського - ні) .
Інтерфейс нашого майбутнього онлайн-перекладача буде створений у Flash. на мові ActionScript 3.0 (хоча можна реалізувати і на старому-доброму ActionScript 2.0). Крім цього, нам знадобиться написати невеликий php-скрипт. який буде виконувати роль посередника між flash-додатком і API Яндекс.Перевод. Скрипт досить простий.
А тепер переходимо до призначеного для користувача інтерфейсу. Як я вже сказав, він буде реалізований у вигляді flash-додатки (я скористаюся програмою Adobe Flash CS 5.5, але можна взяти і іншу версію, яка підтримує ActionScript 3.0). Щоб полегшити собі роботу, я скористаюся компонентами з бібліотеки MiniUI. Просто поміщаємо бібліотеку MiniUI в одну папку з нашим flash-проектом і на головній часовій шкалі проекту пишемо код.
Код ActionScript 3.0:
/ * Імпортуємо класи * / import flash.events. *; import flash.net. *; / * Підключаємо компоненти * / import sliz.miniui.Button; import sliz.miniui.Input; import sliz.miniui.RadioGroup; import sliz.miniui.Radio; / * Змінна, в якій зберігається напрямок перекладу * / var flag: String = "ru-en"; / * Функція перекладу тексту * / function translate ()
От і все. Звичайно, тут представлений найпростіший варіант реалізації онлайнового перекладача на зв'язці PHP і AS. Можна (і треба) внести деякі доповнення і поліпшення (наприклад, я б додав в php-скрипт перевірку вхідних даних на коректність і безпеку), але це вже справа особистого смаку і доцільності. А у мене на сьогодні все.
Ознайомитися з Угодою сервісу API Яндекс.Перевод можна за цим посиланням.
Завантажити все вихідні до даного посту можна тут - завантажити вихідні (під Adobe Flash CS 5.5).
Припустимо, ключ ми отримали. Але цього замало. Тепер нам потрібно внести деякі зміни в PHP-файл.
У flash-додатку ми нічого змінювати не будемо. Тепер, швидше за все, ваш перекладач запрацює. Оговорочка виник не випадково. Деякі проблеми можуть бути викликані використанням HTTPS, але це вже відноситься до налаштувань сервера і виходить за рамки даного поста.