none
Bootstrap Datepicker nicht in deutsch RRS feed

  • Frage

  • Hallo,

    habe über NuGet Bootstrap-Datepicker in meine ASP.NET MVC 5 Anwendung installiert.

    Meine BundleConfig habe ich um die mit Kommentaren versehenen Zeilen ergänzt:

                bundles.Add(new ScriptBundle("~/bundles/bootstrap").Include(
                          "~/Scripts/bootstrap.js",
                          "~/Scripts/bootstrap-datepicker.js",    // Bootstrap Datepicker
                          "~/Scripts/locales/bootstrap-datepicker.de.js",    // Deutsche Sprachdatei Bootstrap Datepicker
                          "~/Scripts/respond.js"));

                bundles.Add(new StyleBundle("~/Content/css").Include(
                          "~/Content/bootstrap.spacelab.min.css",
                          "~/Content/bootstrap-datepicker.css",  // Bootstrap Datepicker
                          "~/Content/bootstrap.extensions.css",
                          "~/Content/site.css"
                          ));

    In der View inititiere ich den Datepicker folgendermaßen:

    @section Scripts {
        @Scripts.Render("~/bundles/jqueryval")
        <script type="text/javascript">
            $('.datepicker').datepicker();
        </script>
    }

    Dabei ist der Kalender aber nicht in deutsch, geschweige gibt er das erwartete Format (dd.mm.yyyy) zurück.

    Es scheint fast, als wird die Zeile ignoriert:

    "~/Scripts/locales/bootstrap-datepicker.de.js",    // Deutsche Sprachdatei Bootstrap Datepicker

    Wenn ich im JavaScript explizit Optionen setze, werden diese übernommen:

        <script type="text/javascript">
            $('.datepicker').datepicker({
                today: "Heute",
                clear: "Löschen",
                weekStart: 1,
                format: "dd.mm.yyyy"
            });
        </script>

    also Wochenbeginn korrekt gesetzt und das zurückgegebene Datum ist auch in Ordnung.

    Dies sollte eigentlich alles über "~/Scripts/locales/bootstrap-datepicker.de.js" gesetzt werden, aber ich komme nicht dahinter, warum das eben nicht geht:

    Das generierte HTML sieht so aus:

    Das Formularfeld:

                    <div class="form-group">
                        <label class="control-label col-md-3" for="Meldungsdatum">Meldungsdatum</label>
                        <div class="col-md-9">
                            <input class="form-control datepicker text-box single-line" data-val="true" data-val-date="Das Feld &quot;Meldungsdatum&quot; muss eine Datumsangabe sein." id="Meldungsdatum" name="Meldungsdatum" type="datetime" value="" />
                            <span class="field-validation-valid text-danger" data-valmsg-for="Meldungsdatum" data-valmsg-replace="true"></span>
                        </div>
                    </div>

    Javascript am Ende des Body:

        <script src="/Scripts/jquery-1.10.2.js"></script>

        <script src="/Scripts/bootstrap.js"></script>
    <script src="/Scripts/bootstrap-datepicker.js"></script>
    <script src="/Scripts/locales/bootstrap-datepicker.de.js"></script>
    <script src="/Scripts/respond.js"></script>

        <script src="/Scripts/globalize/globalize.js"></script>
    <script src="/Scripts/globalize/cultures/globalize.culture.de-DE.js"></script>

        
        <script src="/Scripts/jquery.validate.js"></script>
    <script src="/Scripts/jquery.validate.globalize.js"></script>
    <script src="/Scripts/jquery.validate.unobtrusive.js"></script>

        <script type="text/javascript">
            $('.datepicker').datepicker({
                today: "Heute",
                clear: "Löschen",
                weekStart: 1,
                format: "dd.mm.yyyy"
            });
        </script>


        <script type="text/javascript">
            $(document).ready(function () { if (Globalize) { Globalize.culture("de-DE"); } });
        </script>

    Was läuft hier falsch oder hat jemand Beispielcode, der bei ihm funktioniert?

    Vielen Dank!



    • Bearbeitet KonFiDa Montag, 20. Oktober 2014 08:26 Rechtschreibung korrigiert
    Montag, 20. Oktober 2014 08:20

Antworten

  • Habe die Lösung gefunden:

        <script type="text/javascript">
            $('.datepicker').datepicker({
                language: "de-DE"
            });
        </script>

    • Als Antwort markiert KonFiDa Montag, 20. Oktober 2014 12:14
    Montag, 20. Oktober 2014 12:14