首页 > 解决方案 > Angular JS 中的动态语言翻译

问题描述

我是 Angular JS 的新手,刚刚开始学习……我已经在 Angular JS 中构建了一个基本的 Web 应用程序,并尝试将应用程序转换为其他语言。

要进行转换,对于静态文本,我可以在script.js中编写翻译词。谁能帮我做动态文本翻译。而不是静态的。

下面是我的代码

索引.html

<!DOCTYPE html>
<html ng-app="myApp">
<html ng-app="plunker" >

  <head>
    <script data-require="angular.js@1.3.8" data-semver="1.3.8" src="https://code.angularjs.org/1.3.8/angular.js"></script>
    <script data-require="angular-translate@*" data-semver="2.5.0" src="https://cdn.rawgit.com/angular-translate/bower-angular-translate/2.5.0/angular-translate.js"></script>
    <link rel="stylesheet" href="style.css" />
    <script src="script.js"></script>
     <meta charset="utf-8">
  
  </head>

  <body>
    <div ng-controller="translateController">
      <h1>Demo for angularJS translator</h1>
      
      <div>
        <button ng-click="changeLanguage('en')">English</button>
        <button ng-click="changeLanguage('sp')">Spanish</button>
      </div>
         
      <h2>{{'language' | translate}}</h2>
      
      Hello!!!
      
        <form>
    Name: <input type="text" ng-model="firstname">
  </form>
  <h3>You entered: {{firstname}}</h3>
      
      <p>{{'firstname' | translate}}</p>
      
      <hr />
      
        <form>
    Designation: <input type="text" ng-model="designation">
  </form>
  <h3>You entered: {{designation}}</h3>
  
   <p>{{'designation' | translate}}</p>
  <hr />
   </div>
    
  </body>

</html>
`

脚本.js

var app = angular.module("myApp",['pascalprecht.translate']);

app.config(["$translateProvider", function($translateProvider){
  
  var en_translations = {
    "language" : "Selected Language English",
    "firstname" : "Welcome RR", 
    "designation": "SRE"
  }
  
  var sp_translations = {
    "language" : "Selected Language Spanish",
    "firstname" : "Bienvenida shwettha",
    "designation": "SRE"    
  }
  
  $translateProvider.translations('en',en_translations);
  
  $translateProvider.translations('sp',sp_translations);
  
  $translateProvider.preferredLanguage('en');
  
}]);

app.controller("translateController" ,["$scope","$translate",function($scope,$translate){
  $scope.changeLanguage = function(lang){
   $translate.use(lang); 
  }
}]);

标签: javascriptjsonangularjsangular-translatengx-translate

解决方案


推荐阅读