【问题标题】:Months and Days are not being translated未翻译月份和日期
【发布时间】:2014-08-26 19:51:56
【问题描述】:

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

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

<!-- 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>

但是,没有翻译月份和日期。我确实设法使用"monthNames"、“dayNames”等配置手动翻译了标签,但 IMO 这很难看,它不能翻译 ui.bootstrap.datepicker。

据我了解,问题在于momentjs谁不会拿走我给他的任何东西。我试图做一个'moment.lang('fr-ca')',但它没有做太多。任何人都知道可以帮助解决此问题的“米老鼠技巧”吗?

注意:ui-calendar 使用不包括语言实用程序的完整日历的 v 1.6。所以我将 fullcalendar@2.1.0 添加到我的 bower.json 中。一切似乎都可以正常工作,我看不出这会在哪里弄乱语言,因为我直接调用了 fullcalendar。

【问题讨论】:

  • 请设置一个 plunkr 或 jsfiddle,以便我可以有效地帮助您
  • 当然!听起来是一个尝试 plunkr 的好机会!我马上回来!
  • 所以,是的,我一直在研究 plunker。我设法拥有一个“工作”原型,但是我无法从 plunker ui 中获取 fullcalendar 和 ui-calendar 的正确版本。我试图复制/粘贴 plunker 中的所有脚本,但 ui-calendar 会说 fullCalendar 不存在。为了让它工作,我必须使用 1.6.1 版的 fullCalendar。这是否意味着在我的应用程序中,即使我尝试强制使用 2.1 版本,它仍然使用旧版本?还是我弄乱了包含?如果你想玩,这里是 plunker:embed.plnkr.co/ECQWeo28oagCCo3935Cp/preview
  • 哦,等等,我用我的脚本让它工作了,你可以看到日历控件是法语的,而月份标签和日期标签是英语的。任何想法? embed.plnkr.co/ECQWeo28oagCCo3935Cp/preview

标签: angularjs express fullcalendar momentjs


【解决方案1】:

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

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

查看 ui-calendar 的源代码(第 179 行),您会看到它使用角度 $locale 服务来翻译日期、月份等。我在源代码中添加了 console.log,以便您可以看到差异之间

var dtf = $locale.DATETIME_FORMATS;
console.log(dtf);

$locale 默认使用英语。如果您加载 i18n 语言环境文件之一,您将得到翻译。

【讨论】:

  • 耶!这正是我一直在寻找的魔术:D。感谢您的帮助!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2016-03-31
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-03-29
  • 1970-01-01
相关资源
最近更新 更多