首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何让google api免费翻译成json格式返回?

问如何让google api免费翻译成json格式返回?
EN

Stack Overflow用户
提问于 2017-03-07 22:42:36
回答 1查看 4.4K关注 0票数 2

我想为我的chrome扩展使用免费的谷歌翻译api。

网址:https://translate.googleapis.com/translate_a/single?client=gtx&sl=en&tl=hi&dt=t&dt=t&q=hello

以数组格式返回f.txt文件。

代码语言:javascript
复制
[[["नमस्ते","hello",,,1]],,"en"]

我目前正在使用Yandex翻译作为我的扩展。Yandex以JSON格式返回它。https://translate.yandex.net/api/v1.5/tr.json/translate?key=trnsl.1.1.20170222T005237Z.c822f17f30208ee9.7df12d4944735ac8d985d500634196b9155dcbc0&text=hello&lang=hi

{"code":200,"lang":"en-hi","text":["नमस्कार"]}

所以,有没有什么办法,我可以得到上述免费的谷歌翻译api。

EN

回答 1

Stack Overflow用户

发布于 2018-04-25 15:03:04

请使用下面的柱塞代码来翻译JSON对象。您可以在相应语言的代码中更改源和目标。https://embed.plnkr.co/87eEqc/

然后可以使用https://jsonformatter.curiousconcept.com/对JSON进行格式化。

链接中的示例代码片段

代码语言:javascript
复制
$scope.method = 'POST';
$scope.url = 'https://translation.googleapis.com/language/translate/v2? 
key=AIzaSyA1bHYc3VOCxotWBY5T61z31C91xgl4Kck';
$scope.data = {
        "q" :"Search",
        "source": "en",
        "target": "es"   
    };
  $scope.header =   {'Content-Type': 'application/json'};

  $scope.test = function() {
    var source = {
    "header": {
      "Home": "Home",
      "Join": "Join",
      "Login": "Login",
      "Favorites": "Favorites",
      "Signout": "Signout",
      "Hi": "Hi",
      "Wishlist": "Wishlist",
      "Cart": "Cart",
      "Search": "Search"
    },
  }
   $scope.sourceArray = source;
  angular.forEach(source, function(value, key) {
    var outerObjKey = key;
    var outerArr= source[key];
     angular.forEach(outerArr, function(value, key) {

              var innerObjKey = key;
                var data = {
            "q" :value,
            "source": "en",
            "target": "es"   
        };
        $scope.fetch(data,outerObjKey,innerObjKey,source)
     })

  });
}


 $scope.fetch = function(dataToChange,outerKey,innerKey,scrArr) {
$http({method: $scope.method, url: $scope.url,data:dataToChange,headers:$scope.header})
  .success(function(data, status) {
    $scope.status = status;
    $scope.sourceArray[outerKey][innerKey] = data.data.translations[0].translatedText;
    console.log(JSON.stringify($scope.sourceArray));
    $scope.jsonString = JSON.stringify($scope.sourceArray);
  })
  .error(function(data, status) {
    $scope.status = status;
    $scope.data = "Request failed";
});
};
票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/42651139

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档