双语网站国际化策略(angularjs)
来源:互联网 发布:淘宝直通车怎么样 编辑:程序博客网 时间:2024/05/16 19:52
最近手头再维护一个老项目,浅谈下双语建站,木有耐心的,直接拿代码吧
只要思路还是用json语言包
搭建步骤:npm 下载angular-translate
npm install angular
npm install angular-translate
npm install angular-translate-loader-static-files
index.html中引用脚本及相应选择框
<script src="angular-1.6.8.js"></script><script src="angular-translate.min.js"></script><script src="angular-translate-loader-static-files.min.js"></script><script src="factory.js"></script><script src="controller.js"></script><select class="language-switching" ng-controller="LanguageSwitchingCtrl" ng-model="cur_lang" ng-change="switching(cur_lang)"> <option value="en">English</option> <option value="cn">简体中文</option></select>
文件 angular-translate.min.js 是angular官方提供的国际化模块
文件 angular-translate-loader-static-files.min.js 模块是用来读取本地文件的模块,因为我们的翻译内容都是独立的 json 文件.
json文件格式
en.json : {“10”:”Login”,”11”:”Register”}
cn.json : {“10”:”Login”,”11”:”Register”}
模块引入
var app = angular.module('myApp', ['pascalprecht.translate']).config(['$translateProvider',function($translateProvider){ var lang = window.localStorage.lang||'cn'; //利用localstorage查询用户本地注册语言 $translateProvider.preferredLanguage(lang); //默认已注册的语言 $translateProvider.useStaticFilesLoader({ prefix: '/lang/', //prefix : 指定文件前缀 调用json文件 suffix: '.json' //suffix: 指定文件后缀 调用json文件 });}]);
translate.controller.js
翻译模块
angular.module('myApp').controller('LanguageSwitchingCtrl', ['$scope', '$translate', function (scope, $translate) { scope.switching = function(lang){ $translate.use(lang); window.localStorage.lang = lang; window.location.reload(); }; scope.cur_lang = $translate.use(); //默认select选项}]);
factory.js
创建服务
angular.module('myApp').factory('Switch', ['$translate', function($translate) { var Switch = { Switch:function(key) { if(key){ return $translate.instant(key); } return key; } } return Switch;}]);
login.controller.js
对应模块调用服务
angular.module('myApp').controller('LoginCtrl', ['$scope','Switch', function($scope,Switch) { $scope.login_title=Switch.Switch(10); //直接调用 Switch 服务的 Switch 方法,传入翻译ID 返回 翻译值. }]);
待续
阅读全文
0 1
- 双语网站国际化策略(angularjs)
- Angularjs国际化
- 双语网站资源文件
- wordpress子目录双语网站
- 网站多语言策略(即国际化策略)——Javascript实现
- angularjs 实现国际化
- angularjs实现国际化
- AngularJS国际化配置
- angularjs实现国际化
- 国际化网站
- Android样式的抽取使用与国际化(中英双语)
- .NET 双语(多语言、中英文)网站建设方法
- C#国际化解决方案策略
- angularjs+jquery 实现html国际化
- JS 前端框架 AngularJS 国际化
- angularjs+jquery 实现html国际化
- 彻底解密C++宽字符:6、国际化策略(完)
- 网站控制(策略文件)
- GitChat · 大数据 | 一步一步学习大数据:Hadoop 生态系统与场景
- 音频的编解码及其优化方法和经验
- CRM系统二期的dev(一)--EasyUi datagrid 获取Checked选择行(勾选行)数据
- 线段树的修改-LintCode
- kuangbin 简单搜索 I
- 双语网站国际化策略(angularjs)
- 设计模式-工厂模式
- css3 伪类伪元素使用技巧
- 算法分析与设计——leetcode刷题之Add Two Numbers(Medium)
- 区块链基础
- Noip模拟
- [LeetCode]204. Count Primes
- android使用Fragment实现底部菜单使用show()和hide()来切换以保持Fragment状态
- IDEA 中跟 eclispe outLine 相同的快捷键及设置