📜  AngularJS-翻译应用程序(1)

📅  最后修改于: 2023-12-03 14:59:19.169000             🧑  作者: Mango

AngularJS-翻译应用程序

简介

AngularJS-翻译应用程序是一个基于AngularJS框架的Web应用程序,它提供了翻译服务,可将一种语言的文本翻译成另一种语言。本应用程序使用的是Google Translate API。

本应用程序的界面简洁明了,用户只需在文本框中输入要翻译的文本,选择原文语言和目标语言,点击翻译按钮即可获得翻译结果。

技术栈

本应用程序使用的技术栈包括:

  • AngularJS框架
  • Bootstrap框架
  • jQuery框架
  • Google Translate API
开始使用
  1. 下载代码

    git clone https://github.com/your-github-name/angularjs-translator.git
    
  2. 安装依赖

    cd angularjs-translator
    npm install
    
  3. 配置Google Translate API密钥

    app.js文件中,将apiKey变量的值改为你自己的Google Translate API密钥。

    var apiKey = 'your-api-key';
    
  4. 启动应用程序

    npm start
    
  5. 在浏览器中访问应用程序

    在浏览器中输入http://localhost:8000,即可访问应用程序。

代码介绍
HTML

应用程序的HTML代码位于index.html文件中。其中,ng-app指定了AngularJS应用程序的根元素,ng-controller指定了控制器。

<!doctype html>
<html ng-app="translatorApp">
<head>
  <title>AngularJS Translator</title>
  <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css">
  <link rel="stylesheet" href="style.css">
  <script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.6.9/angular.min.js"></script>
  <script src="https://code.jquery.com/jquery-3.3.1.min.js"></script>
  <script src="app.js"></script>
</head>
<body ng-controller="translatorCtrl">
  <div class="container">
    <h1>AngularJS Translator</h1>
    <form>
      <div class="form-group">
        <label for="text">Text</label>
        <textarea id="text" class="form-control" ng-model="text"></textarea>
      </div>
      <div class="form-group">
        <label for="sourceLang">Source Language</label>
        <select id="sourceLang" class="form-control" ng-model="sourceLang" ng-options="lang.code as lang.name for lang in languages"></select>
      </div>
      <div class="form-group">
        <label for="targetLang">Target Language</label>
        <select id="targetLang" class="form-control" ng-model="targetLang" ng-options="lang.code as lang.name for lang in languages"></select>
      </div>
      <button type="button" class="btn btn-primary" ng-click="translate()">Translate</button>
    </form>
    <hr>
    <div ng-show="translation">
      <h2>Translation</h2>
      <p>{{translation}}</p>
    </div>
  </div>
</body>
</html>
JavaScript

应用程序的JavaScript代码位于app.js文件中。其中,translatorApp是AngularJS应用程序的名称,translatorCtrl是控制器的名称。

var translatorApp = angular.module('translatorApp', []);

translatorApp.controller('translatorCtrl', function($scope, $http) {

  // 初始化变量
  $scope.text = '';
  $scope.sourceLang = 'en';
  $scope.targetLang = 'zh-CN';
  $scope.languages = [
    {code: 'en', name: 'English'},
    {code: 'zh-CN', name: 'Chinese'},
    {code: 'ja', name: 'Japanese'},
    {code: 'ko', name: 'Korean'},
    {code: 'fr', name: 'French'},
    {code: 'de', name: 'German'},
    {code: 'it', name: 'Italian'},
    {code: 'es', name: 'Spanish'}
  ];
  $scope.translation = '';

  // 翻译函数
  $scope.translate = function() {
    var url = 'https://translation.googleapis.com/language/translate/v2?key=' + apiKey;
    url += '&source=' + $scope.sourceLang;
    url += '&target=' + $scope.targetLang;
    url += '&q=' + encodeURI($scope.text);
    $http.get(url).then(function(response) {
      $scope.translation = response.data.data.translations[0].translatedText;
    }, function(response) {
      console.log(response);
    });
  };

});
CSS

应用程序的CSS代码位于style.css文件中。其中,使用了Bootstrap框架中的样式。

textarea {
  height: 200px;
}

hr {
  margin-top: 30px;
  margin-bottom: 30px;
}
结语

AngularJS-翻译应用程序是一个使用AngularJS框架开发的简单应用程序,它基于Google Translate API提供了翻译服务。无论你是AngularJS的新手还是有经验的开发者,都可以通过阅读本文了解该应用程序的实现方式。