FullCalendar today-button:日期而不是文本//与lang一起出问题

时间:2015-06-01 09:32:07

标签: javascript fullcalendar momentjs spip

我想在今日按钮中显示当前日期而不是固定文本。 这个>> irismediainfo3.lili.de是我正在开发的开发网站。 我在文档中找不到相应的选项,所以我搜索了一下.js-docs并发现:

new DirectoryInfo(path).GetFiles("*.*", SearchOption.AllDirectories)
                     .Where(f => (f.Attributes & FileAttributes.Hidden) == 0)

并在FullCalendar中使用它,如下所示:

moment().format();

结果很好,但只有英文版。 FullCalendar应该是多语言的,所以我尝试将它与

结合起来
buttonText: {
                next: '>',
                nextYear: '>>',
                prev: '<',
                prevYear: '<<',
                today: moment().format("MMMM YYYY")
            },

首先尝试:

moment.locale(String);

但没有变化。我以为moment.js可能会访问FullCalendar的lang文件。这是我的第一个问题:

moment.js包含在FullCalendar中。我在哪里必须将lang文件放在FullCalendar目录中才能使其可以访问.js?

我发现了一个更复杂的语法,下一次没有崩溃我的FullCalendar的尝试是:

buttonText: {
                next: '>',
                nextYear: '>>',
                prev: '<',
                prevYear: '<<',
                today: moment().locale('de').format("MMMM YYYY")
                },

它没有崩溃我的FullCalendar,但它也没有任何影响。

实际上&#39; de&#39;在代码和带有月份名称的长字符串是由我使用的CMS的编译器创建的。它被称为SPIP。开头的URL包含语言变量。如果您将该变量更改为&#34; en&#34;,&#34; fr&#34;或&#34; de&#34; (其他人工作,但网站将为这些语言制作)你可以看到FullCalendar改变语言。只有今天按钮保留英文。 URL中的语言变量将自动提供给FullCalendar代码。只要FullCalendar的其余部分正在更改语言,URL中的变量就会正确传递。

我甚至尝试从momentjs.com主页获取所有语言的完整moment.js代码,并将其粘贴到FullCalendar lib目录中的moment.js文件中。但即使这样,语言也没有改变。

是否可以定义语言moment.js应该使用内联?

感谢您的时间和帮助。 尼尔斯。

1 个答案:

答案 0 :(得分:2)

好吧,我发现了怎么做。

第1步:获取语言。 转到locale directory of moment.js on github并下载您需要的语言。我拿了de.js,en.js&amp; fr.js。

第2步:将它们上传到您的服务器。 我在我的服务器上的FullCalendar目录中创建了一个新文件夹并将其命名为&#34; momentjs_locale&#34;并将文件上传到那里。

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

因此,如果有人得到类似的问题,我希望这可以帮助它。 Ciao:)