Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 23.04.2011, 18:03
Интересующийся
Отправить личное сообщение для Raz0r Посмотреть профиль Найти все сообщения от Raz0r
 
Регистрация: 10.03.2011
Сообщений: 25

использование API Google Translate
здравствуйте.
хочу сделать некий userjs, который берет текст с сайта передает его на гугл, производит транслиретацию и возвращает результат.

http://code.google.com/intl/ru-RU/ap...g_started.html
почитал доки, вроде бы просто.


вот даже пример есть
http://code.google.com/intl/ru-RU/ap...sliterate.html

но как userjs не хочет работать, пока делал в простейшем варианте(просто статическую строку)
var head=document.getElementsByTagName('head')[0]; 
var elem=document.createElement('script'); 
var oScript=head.appendChild(elem); 
oScript.setAttribute("src","https://www.google.com/jsapi"); 
oScript.setAttribute("type","text/javascript");


var elem1=document.createElement('script');
var oScript1=head.appendChild(elem1); 
oScript1.setAttribute("type","text/javascript");
oScript1.text='google.load("language", "1"); function initialize() { google.language.transliterate(["привет"], "ru", "en",  function(result) { if (!result.error) { var m; if (result.transliterations && result.transliterations.length > 0 && result.transliterations[0].transliteratedWords.length > 0) 
{
 m = result.transliterations[0].transliteratedWords[0]; } 

}}); } google.setOnLoadCallback(initialize); ';

затем пытаюсь вывести переменную m с результатом по событию document.addEventListener("DOMContentLoaded",funct ion() {}

а в консоли: m - undefined.
подскажите как реализовать правильно?
Ответить с цитированием
  #2 (permalink)  
Старый 27.04.2011, 11:54
Интересующийся
Отправить личное сообщение для Raz0r Посмотреть профиль Найти все сообщения от Raz0r
 
Регистрация: 10.03.2011
Сообщений: 25

неужеле никто не сталкивался с подобным.
мне кажется ошибка моя глупая какая-то.
подскажите плиз
Ответить с цитированием
  #3 (permalink)  
Старый 27.04.2011, 13:38
sinistral
Посмотреть профиль Найти все сообщения от melky
 
Регистрация: 28.03.2011
Сообщений: 5,418

зачем так сложно создавать скрипты?

var head=document.getElementsByTagName('head')[0]; 


var elem=document.createElement('script'); 
elem.type = "text/javascript";

// а ключ писали? key=INSERT-YOUR-KEY
elem.src = "https://www.google.com/jsapi";

head.appendChild(elem); 

var elem1=document.createElement('script');

elem1.type= "text/javascript";

head.appendChild(elem1); 

// а ЭТО что такое???
oScript1.text='google.load("language", "1"); function initialize() { google.language.transliterate(["привет"], "ru", "en",  function(result) { if (!result.error) { var m; if (result.transliterations && result.transliterations.length > 0 && result.transliterations[0].transliteratedWords.length > 0) 
{
 m = result.transliterations[0].transliteratedWords[0]; } 

}}); } google.setOnLoadCallback(initialize); ';



см пример гугла

<script type="text/javascript" src="http://www.google.com/jsapi?key=ТВОЙ_КЛЮЧ"></script>


    <script type="text/javascript">


    google.load("language", "1");

    function initialize() {

    // google.language.transliterate( ARRAY STRING слова, STR из какого,  STR в какой, FUNCTION колбек)

      google.language.transliterate(["Namaste"], "en", "hi", function(result) {

        if (!result.error) {

          var container = document.getElementById("transliteration");

          if (result.transliterations && result.transliterations.length > 0 &&
            result.transliterations[0].transliteratedWords.length > 0) 

            container.innerHTML = result.transliterations[0].transliteratedWords[0];

          
        }
      });
    }
    google.setOnLoadCallback(initialize);

    </script>
  </head>


    <div id="transliteration"></div>

Последний раз редактировалось melky, 27.04.2011 в 13:47.
Ответить с цитированием
  #4 (permalink)  
Старый 27.04.2011, 17:24
Интересующийся
Отправить личное сообщение для Raz0r Посмотреть профиль Найти все сообщения от Raz0r
 
Регистрация: 10.03.2011
Сообщений: 25

Сообщение от melky
зачем так сложно создавать скрипты?
я видел этот пример, мне не нужно выдавать результат в div, я хочу запомнить его в переменную и потом использовать.
Ответить с цитированием
  #5 (permalink)  
Старый 27.04.2011, 17:36
sinistral
Посмотреть профиль Найти все сообщения от melky
 
Регистрация: 28.03.2011
Сообщений: 5,418

читайте внимательней тот пример


google.load("language", "1");

    function initialize() {

    // google.language.transliterate( ARRAY STRING слова, STR из какого,  STR в какой, FUNCTION колбек)

      google.language.transliterate(["Namaste"], "en", "hi", function(result) {

        if (!result.error) {

          var container = document.getElementById("transliteration");

          if (result.transliterations && result.transliterations.length > 0 &&
            result.transliterations[0].transliteratedWords.length > 0) 

// ВОТ ваш текст!!--------------
           container.innerHTML = *!* result.transliterations[0].transliteratedWords[0];*/!*
// ------------------
          
        }
      });
    }
    google.setOnLoadCallback(initialize);



я не буду регаться там

не стоит же?
Ответить с цитированием
  #6 (permalink)  
Старый 27.04.2011, 17:54
Интересующийся
Отправить личное сообщение для Raz0r Посмотреть профиль Найти все сообщения от Raz0r
 
Регистрация: 10.03.2011
Сообщений: 25

Сообщение от melky
я не буду регаться там

не стоит же?
там и без регистрации работает.

Сообщение от melky
result.transliterations[0].transliteratedWords[0];
да, вот я хочу этот готовый 'текст' запихнуть в переменную, чтобы потом использовать, а в консоли ругается на эту переменную как undefined

я хочу реализовать так, чтобы принималась строка на русском, а выдавалось на англ.
Ответить с цитированием
  #7 (permalink)  
Старый 27.04.2011, 18:01
sinistral
Посмотреть профиль Найти все сообщения от melky
 
Регистрация: 28.03.2011
Сообщений: 5,418

а с сервера что приходит???


посмотрите

может он пишет пустое место тем, кто не берет API по ключу
Ответить с цитированием
  #8 (permalink)  
Старый 27.04.2011, 18:16
Интересующийся
Отправить личное сообщение для Raz0r Посмотреть профиль Найти все сообщения от Raz0r
 
Регистрация: 10.03.2011
Сообщений: 25

Сообщение от melky
а с сервера что приходит???

посмотрите

может он пишет пустое место тем, кто не берет API по ключу
проверил пример с гугла на лок компе, т.е без ключа api, все работает, резульат получает, но в див через innerhtml.

если тоже самое, но сохранять в переменную, пишет
Uncaught exception: ReferenceError: Undefined variable: m
Ответить с цитированием
  #9 (permalink)  
Старый 27.04.2011, 18:34
Интересующийся
Отправить личное сообщение для Raz0r Посмотреть профиль Найти все сообщения от Raz0r
 
Регистрация: 10.03.2011
Сообщений: 25

вообщем, если я не ошибся, то причина в этом:
Цитата:
Currently, English is the only supported source language.
я попробовал и действительно: с англ на рус транслиритирует, а уже с рус на англ нет
Ответить с цитированием
  #10 (permalink)  
Старый 27.04.2011, 18:57
sinistral
Посмотреть профиль Найти все сообщения от melky
 
Регистрация: 28.03.2011
Сообщений: 5,418

вот тебе и ошибка))
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Приложение на API Google Maps tomAlba Работа 0 29.01.2011 15:52
Вопрос по Google API mcpro Общие вопросы Javascript 0 01.12.2010 10:07
Google Map API HugoBorz jQuery 0 04.09.2010 16:44
Google Chart API mycoding Оффтопик 0 14.07.2010 11:22
Как создать проверку вводимого пароля на стойкость, используя API Google. Александр Черепов Элементы интерфейса 4 03.11.2008 02:16