gpt4 book ai didi

AngularJS 翻译 : Format dynamic dates

转载 作者:行者123 更新时间:2023-12-02 23:51:03 24 4
gpt4 key购买 nike

使用 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 er 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'

有没有办法实现所需的结果,最好不需要在 Controller 内格式化日期(保持逻辑和 View 分离)?

最佳答案

假设您有以下 angular-translate 翻译定义:

//de    
"with_date": "German: {{date|date:'short'}}"

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

然后在 View 中您可以执行以下操作:

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

其中 today 在 Controller 中定义,即:

$scope.today = new Date();

假设您已加载 angular-locale_*如果区域设置正确,日期将以特定于语言/国家/地区的方式进行格式化。

这是一个demo .

话虽如此, Angular ( ngLocale )内置的本地化机制非常有限,当涉及到日期时,您可以使用 moment.js 创造奇迹。

关于AngularJS 翻译 : Format dynamic dates,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29937780/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com