AngularJS translate: Format dynamic dates -
using angularjs , angular-translate trying insert date parameter in translated text.
the basic task documented translate package:
<p>{{ 'mytext' | translate:{mydate:somecontrollerdate} }}</p>
with in localized json-file:
(english)'mytext': 'this date: {{mydate}}.' (danish) 'mytext': 'dette {{mydate}} er datoen.'
this gives me:
(english) date: 2015-04-29t00:00:00.
(danish) dette 2015-04-29t00:00:00 er datoen.
the problem: format date match language (or culture, language enough).
the desired result is:
(english) date: 04-29-2015.
(danish) dette 29-04-2015 er datoen.
i hoping syntax along these lines:
(english)'mytext': 'this date: {{mydate:mm-dd-yyyy}}.' (danish) 'mytext': dette {{mydate:dd-mm-yyyy}} er datoen.'
or perhaps:
<p>{{ 'mytext' | translate:{{mydate:somecontrollerdate | translate:'mydateformat'}} }}</p>
with
(english)'mydateformat': 'mm-dd-yyyy' (danish) 'mydateformat': 'dd-mm-yyyy'
is there way achieve desired result, preferably without having format date inside controller (keeping logic , view separated)?
assuming have following angular-translate
translations definitions:
//de "with_date": "german: {{date|date:'short'}}" //en "with_date": "english: {{date|date:'medium'}}"
then inside view can do:
<h1>{{ 'with_date'|translate:{date:today} }}</h1>
where today
defined in controller i.e.:
$scope.today = new date();
assuming you've loaded angular-locale_*
correct locale dates formatted in language/country specific way.
here's demo.
having said localization mechanism built angular (nglocale
) limited , when comes dates can accomplish wonders moment.js
Comments
Post a Comment