月份和天数未被翻译

use*_*633 2 fullcalendar express angularjs momentjs

我正在尝试使用包中包含的语言文件翻译FullCalendar.为了使角度更简单,我使用插件ui-calendar.

为此,我按照文档中的描述导入了语言脚本:

<!-- bower:js -->
<script src="bower_components/jquery/dist/jquery.js"></script>
<script src="bower_components/angular/angular.js"></script>
... //other includes generated by bower
<script src="bower_components/moment/moment.js"></script>
<script src="bower_components/fullcalendar/dist/fullcalendar.js"></script>
<script src="bower_components/jquery-ui/ui/jquery-ui.js"></script>
<script src="bower_components/angular-ui-calendar/src/calendar.js"></script>
<!-- endbower -->
<!-- endbuild -->

<!-- FullCalendar language pack -->
<script src="bower_components/fullcalendar/dist/lang/fr-ca.js"></script>
Run Code Online (Sandbox Code Playgroud)

但是,月份和日期没有被翻译.我确实设法使用"monthNames","dayNames"等配置手动翻译标签,但IMO很难看,并且它没有翻译ui.bootstrap.datepicker.

根据我的理解,问题是什么时候我不会接受任何我给他的东西.我试图做'moment.lang('fr-ca')',但它并没有做太多.有人知道"米老鼠的伎俩"可以帮助解决这个问题吗?

注意:ui-calendar使用fullcalendar的v 1.6,它不包括语言实用程序.所以我将fullcalendar@2.1.0添加到我的bower.json中.所有接缝都能正常工作,因为我直接调用fullcalendar,所以我看不出这会弄乱语言.

apa*_*ret 5

这是一个有效的插件:http://plnkr.co/edit/AFpj79M1C6vOewSWLX8J

你还需要本地化角度,你可以在这里阅读文档:https:i18n/angular-locale_fr-ca.js//docs.angularjs.org/guide/i18n 为了使它工作,我添加了plunkr文件中的代码ng-fr-ca.js.

查看ui-calendar的来源(第179行),你会看到它使用角度$locale服务来翻译天,月等.我已经添加了一个console.log来源,所以你可以看到它们之间的区别

var dtf = $locale.DATETIME_FORMATS;
console.log(dtf);
Run Code Online (Sandbox Code Playgroud)

$locale默认情况下使用engglish.如果您加载其中一个i18n语言环境文件,则会将其翻译.