Benutzer mit den meisten Antworten
Bootstrap Datepicker nicht in deutsch

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 "Meldungsdatum" 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