我想在今天按钮中显示当前日期而不是固定文本。 这个>> irismediainfo3.lili.de是我正在开发的开发网站。 我在文档中找不到相应的选项,所以我在 moment.js-docs 中搜索并找到:
moment().format();
并像这样在 FullCalendar 中使用它:
buttonText: {
next: '>',
nextYear: '>>',
prev: '<',
prevYear: '<<',
today: moment().format("MMMM YYYY")
},
结果不错,但只有英文。 FullCalendar 应该是多语言的,所以我尝试将它与
moment.locale(String);
第一次尝试:
buttonText: {
next: '>',
nextYear: '>>',
prev: '<',
prevYear: '<<',
today: moment().locale('de').format("MMMM YYYY")
},
但是没有任何变化。我想 moment.js 也许可以访问 FullCalendar 的 lang 文件。这是我的第一个问题:
moment.js 包含在 FullCalendar 中。我必须将 lang 文件放在 FullCalendar 目录中的什么位置,以便 moment.js 可以访问它?
我发现了一个更复杂的语法,下一次没有让我的 FullCalendar 崩溃的尝试是:
buttonText: {
next: '>',
nextYear: '>>',
prev: '<',
prevYear: '<<',
today: moment().locale('de', {months : "Januar_Februar_März_April_Mai_Juni_Juli_August_September_Oktober_November_Dezember".split("_")}).format("MMMM YYYY")
},
它没有让我的 FullCalendar 崩溃,但也没有任何影响。
实际上,代码中的“de”和带有月份名称的长字符串是由我使用的 CMS 的编译器创建的。它被称为 SPIP。开头的 URL 包含一个语言变量。如果将该变量更改为“en”、“fr”或“de”(其他语言也可以,但网站将针对这些语言制作),您可以看到 FullCalendar 正在更改语言。只有今天按钮保持英文。 来自 URL 的语言变量将自动提供给 FullCalendar 代码。只要 FullCalendar 的其余部分正在更改语言,来自 URL 的变量就会正确传递。
我什至尝试从 momentjs.com 主页获取包含所有语言的完整 moment.js 代码,并将其粘贴到 FullCalendar lib 目录中的 moment.js 文件中。但即便如此,语言也没有改变。
是否可以定义 moment.js 应该使用内联的语言?
感谢您的宝贵时间和帮助。 尼尔斯·T。
最佳答案
嗯,我知道怎么做了。
第 1 步:获取语言。 转到 locale directory of moment.js on github并下载您需要的语言。我选了 de.js、en.js 和 fr.js。
第 2 步:将它们上传到您的服务器。 我在服务器上的 FullCalendar 目录中创建了一个新文件夹并将其命名为“momentjs_locale”并将文件上传到那里。
第 3 步:链接语言文件。 为了安全起见,我将它们链接在我将 FullCalendar 文件链接到 moment.js 的链接后面的同一位置 所以对我来说它看起来像:
<link href='../fullcalendar.css' rel='stylesheet' />
<link href='../fullcalendar.print.css' rel='stylesheet' media='print' />
<script src='../lib/moment.min.js'></script>
<script src="momentjs_locale/de.js"></script>
<script src="momentjs_locale/en.js"></script>
<script src="momentjs_locale/fr.js"></script>
<script src='../lib/jquery.min.js'></script>
<script src='../fullcalendar.min.js'></script>
第 4 步:使用它。现在您可以 use the languages like it is described in the documentation of moment.js .
<script>
$(document).ready(function() {
//Here I am setting the global language for moment.js to german (which is "en" by default.)
moment.locale("de");
$('#calendar').fullCalendar({
buttonText: {
//Here I make the button show French date instead of a text.
today: moment().locale("fr").format("MMMM YYYY")
},
//more options...
});
});
</script>
所以如果有人有类似的问题,我希望这可以帮助它。 再见:)
关于javascript - FullCalendar 今天按钮 : date instead of text//issue with the lang,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30570024/