加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

angularjs – 前端vs后端本地化策略比较

发布时间:2020-12-17 07:22:25 所属栏目:安全 来源:网络整理
导读:我正在开发基于Sails JS后端和Web和Mobile前端的应用程序.我对前端框架的计划是: Web fronend – AngularJS Bootstrap 移动前端 – AngularJS Ionic,以及来自Apache Cordova的后端口 关于上面的简要说明,我必须在应用程序中添加本地化功能.这就是我的问题出
我正在开发基于Sails JS后端和Web和Mobile前端的应用程序.我对前端框架的计划是:

> Web fronend – AngularJS Bootstrap
>移动前端 – AngularJS Ionic,以及来自Apache Cordova的后端口

关于上面的简要说明,我必须在应用程序中添加本地化功能.这就是我的问题出现的地方 – 因为Sails JS和AngularJS都支持本地化,哪一个可以为我的项目提取?

从理论上讲,我可以:

>完整的后端本地化 – 我将使用Sails JS功能构建,并将所有本地化资源作为json文件放到后端
>完整的前端本地化 – 我可以在前端或上添加AngularJS附加组件和本地化接口
>混合后端和前端本地化.

如果有更多实践经验的人详细讨论该主题,我会很感激,考虑应用程序架构,并对可用选项的可能优缺点给出一些启示.

我喜欢像1这样的东西.

我们正在开发一个非常庞大的Angular.js SPA应用程序,它也支持i18n.首先我们使用完整的前端本地化(如果我记得正确的this one)

但是当应用程序变得越来越大时,管理i18n文件,将它们加载到页面中变得很麻烦(你只需要加载所需的字符串,因为i18n文件很大!)等等.

此外,用户很少会改变语言,它不需要动态,快速,双向绑定或其他任何东西.如果我们重新加载整个应用程序就可以了.

所以我们想为什么?我们在前端不需要i18??n.我们在“app”中需要i18??n.然后,我在node.js上编写了一个构建系统,基本上它是一个预处理器,它解析我们拥有的所有* .html和* .js文件,从中提取字符串,使用i18n文件查找它们,放置本地化字符串并创建每种语言计数的文件副本.

基本上,我们创建n个应用而不是1个,所有这些都是以编程方式生成的,每个都使用不同的语言.

它工作得很好.当用户更改语言时,我们重新加载页面并包含另一个本地化文件集,并且语言被更改!

示例源html文件:

<header>@message("string.to.be.localized.1"i "{{name}}")</header>

示例js文件:

angular.module("app",[])
  .directive("x",function(i18n) {
    return {
      templateUrl: "@HTML/templates/a.html",link: function() { console.log(i18n("string.in.js","Umut")); }
    }
  })

编译后:

source.en.html

<header>Hello {{name}}</header>

source.tr.html

<header>Merhaba {{name}}</header>

sample.en.js

angular.module("app",function(i18n) {
    return {
      templateUrl: "/templates/a.en.html",link: function() { console.log("Hello {0}","Umut")); }
    }
  })

sample.tr.js

angular.module("app",function(i18n) {
    return {
      templateUrl: "/templates/a.tr.html",link: function() { console.log("Merhaba {0}","Umut")); }
    }
  })

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读