翻译自定义过滤器上的单词

时间:2017-06-22 14:12:36

标签: angularjs angular-translate

我在我的项目中使用angular-translate。我可以使用

在视图上翻译单词

但我的过滤器有问题:

angular.module('MyModule')
   .filter('weekdays', function () {
        return function (weekday_nums) {
           var weekday_arr = weekday_nums.split("");

  var _weekday_arr = weekday_arr.map(function (day) {
    day = parseInt(day);
    if (isNaN(day)) return;
    if (day === 1) day = "Pzts";
    if (day === 2) day = "Salı";
    if (day === 3) day = "Çar";
    if (day === 4) day = "Per";
    if (day === 5) day = "Cuma";
    if (day === 6) day = "Cmts";
    if (day === 7) day = "Paz";

    return day;
  });

  return _weekday_arr.join(" ");
};
});

我的en.json文件有翻译:

   "shortdays": {
"MONDAY": "Mon",
"TUESDAY": "Tue",
"WEDNESDAY": "Wed",
"THURSDAY": "Thu",
"FRIDAY": "Fri",
"SATURDAY": "Sat",
"SUNDAY": "Sun",
"EVERYDAY": "Everyday",
"STARTAT": "Start At",
"ENDAT": "End At"

},

那些日子我怎样才能动态翻译?

1 个答案:

答案 0 :(得分:0)

这还没有反映en.json的使用方式,因为我不熟悉角度翻译(我现在会查找以改善这个答案)。

angular.module('MyModule', [])
    .controller("MyCtrl", ["$scope", function ($scope) {
        $scope.sche = {
            weekdays: "Pzts Salı Çar Cuma"
        };
    }])
    .filter('weekdays', function () {
        return function (weekdays) {
            var weekdayArr = weekdays.split(" ");
            var englishWeekdays = weekdayArr.map(function (day) {
                if (day === "Pzts") return "Mon";
                if (day === "Salı") return "Tues";
                if (day === "Çar") return "Wed";
                if (day === "Per") return "Thurs";
                if (day === "Cuma") return "Fri";
                if (day === "Cmts") return "Sat";
                if (day === "Paz") return "Sun";
            });

            console.log(englishWeekdays);
            return englishWeekdays.join(" ");
        };
    });