【问题标题】:bootstrap3 datetimepicker cannot load the localebootstrap3 datetimepicker 无法加载语言环境
【发布时间】:2014-09-28 09:49:29
【问题描述】:

(使用 Rails 4)我正在尝试在当前语言环境中显示 bootstrap3 datetimepicker,它在英语中工作正常,但是当我尝试在 application.js 中插入需要语言环境文件时(如文档中所述),我收到一个错误:

[Error] TypeError: undefined is not an object (evaluating '$.fn.datetimepicker.dates')
(anonymous function) (application.js, line 15026)

在我的资产 application.js 中,我有:

    //= require jquery
    //= require jquery_ujs
    //= require bootstrap.min

    //= require moment
    //= require bootstrap-datetimepicker
    //= require pickers

    // You may include any languages (optional)
    //= require locales/bootstrap-datetimepicker.fr

bootstrap-datetimepicker.fr.js 文件如下:

     ;(function($){
      $.fn.datetimepicker.dates['fr'] = {
        days: ["Dimanche", "Lundi", "Mardi", "Mercredi", "Jeudi", "Vendredi", "Samedi", "Dimanche"],
        daysShort: ["Dim", "Lun", "Mar", "Mer", "Jeu", "Ven", "Sam", "Dim"],
        daysMin: ["D", "L", "Ma", "Me", "J", "V", "S", "D"],
        months: ["Janvier", "Février", "Mars", "Avril", "Mai", "Juin", "Juillet", "Août", "Septembre", "Octobre", "Novembre", "Décembre"],
        monthsShort: ["Jan", "Fev", "Mar", "Avr", "Mai", "Jui", "Jul", "Aou", "Sep", "Oct", "Nov", "Dec"],
        today: "Aujourd'hui"
      };
    }(jQuery));

也许这个 javascript 内容不正确...但是为什么呢?还是有其他问题? 问题不在于日期时间选择器,因为它以英语正确显示(默认)

【问题讨论】:

    标签: ruby-on-rails-4 bootstrap-datetimepicker


    【解决方案1】:

    在这个最新版本中,使用moments.js ...我应该使用moments locales !!! 所以我的 bootstrap-datetimepicker.fr.js 应该是:

       // moment.js locale configuration
    // locale : french (fr)
    // author : John Fischer : https://github.com/jfroffice
    
    (function (factory) {
        if (typeof define === 'function' && define.amd) {
            define(['moment'], factory); // AMD
        } else if (typeof exports === 'object') {
            module.exports = factory(require('../moment')); // Node
        } else {
            factory(window.moment); // Browser global
        }
    }(function (moment) {
        return moment.defineLocale('fr', {
            months : 'janvier_février_mars_avril_mai_juin_juillet_août_septembre_octobre_novembre_décembre'.split('_'),
            monthsShort : 'janv._févr._mars_avr._mai_juin_juil._août_sept._oct._nov._déc.'.split('_'),
            weekdays : 'dimanche_lundi_mardi_mercredi_jeudi_vendredi_samedi'.split('_'),
            weekdaysShort : 'dim._lun._mar._mer._jeu._ven._sam.'.split('_'),
            weekdaysMin : 'Di_Lu_Ma_Me_Je_Ve_Sa'.split('_'),
            longDateFormat : {
                LT : 'HH:mm',
                L : 'DD/MM/YYYY',
                LL : 'D MMMM YYYY',
                LLL : 'D MMMM YYYY LT',
                LLLL : 'dddd D MMMM YYYY LT'
            },
            calendar : {
                sameDay: '[Aujourd\'hui à] LT',
                nextDay: '[Demain à] LT',
                nextWeek: 'dddd [à] LT',
                lastDay: '[Hier à] LT',
                lastWeek: 'dddd [dernier à] LT',
                sameElse: 'L'
            },
            relativeTime : {
                future : 'dans %s',
                past : 'il y a %s',
                s : 'quelques secondes',
                m : 'une minute',
                mm : '%d minutes',
                h : 'une heure',
                hh : '%d heures',
                d : 'un jour',
                dd : '%d jours',
                M : 'un mois',
                MM : '%d mois',
                y : 'un an',
                yy : '%d ans'
            },
            ordinal : function (number) {
                return number + (number === 1 ? 'er' : '');
            },
            week : {
                dow : 1, // Monday is the first day of the week.
                doy : 4  // The week that contains Jan 4th is the first week of the year.
            }
        });
    }));
    

    【讨论】:

      猜你喜欢
      • 2023-04-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-01-29
      • 1970-01-01
      • 1970-01-01
      • 2012-03-28
      • 1970-01-01
      相关资源
      最近更新 更多