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

AngularJS翻译:格式化动态日期

发布时间:2020-12-17 07:29:20 所属栏目:安全 来源:网络整理
导读:使用AngularJS和angular-translate我试图在翻译文本中插入日期作为参数. 翻译包记录了基本任务: p{{ 'MyText' | translate:{myDate:someControllerDate} }}/p 在本地化的json文件中使用它: (english)'MyText': 'This is the date: {{myDate}}.'(danish) 'M
使用AngularJS和angular-translate我试图在翻译文本中插入日期作为参数.

翻译包记录了基本任务:

<p>{{ 'MyText' | translate:{myDate:someControllerDate} }}</p>

在本地化的json文件中使用它:

(english)'MyText': 'This is the date: {{myDate}}.'
(danish) 'MyText': 'Dette {{myDate}} er datoen.'

这给了我:

(英文)这是日期:2015-04-29T00:00:00.

(丹麦语)Dette 2015-04-29T00:00:00呃datoen.

问题:
我想格式化日期以匹配语言(或文化,但现在语言将足够好).

期望的结果是:

(英语)这是日期:2015年4月29日.

(丹麦语)Dette 29-04-2015 er datoen.

我希望在这些方面有一个语法:

(english)'MyText': 'This is the date: {{myDate:MM-dd-yyyy}}.'
(danish) 'MyText': Dette {{myDate:dd-MM-yyyy}} er datoen.'

也许:

<p>{{ 'MyText' | translate:{{myDate:someControllerDate | translate:'MyDateFormat'}} }}</p>

(english)'MyDateFormat': 'MM-dd-yyyy'
(danish) 'MyDateFormat': 'dd-MM-yyyy'

有没有办法实现所需的结果,最好不必格式化控制器内的日期(保持逻辑和视图分离)?

假设您有以下角度翻译翻译定义:
//de    
"with_date": "German: {{date|date:'short'}}"

//en    
"with_date": "English: {{date|date:'medium'}}"

然后在视图中你可以做到:

<h1>{{ 'with_date'|translate:{date:today} }}</h1>

今天在控制器中定义,即:

$scope.today = new Date();

假设您已使用正确的区域设置加载angular-locale_*,则日期将以特定于语言/国家/地区的方式格式化.

这是demo.

已经说过内置角度(ngLocale)的本地化机制是非常有限的,当涉及到日期时你可以用moment.js创造奇迹

(编辑:李大同)

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

    推荐文章
      热点阅读