如何在JQuery中更改日历的语言?

How to change language of my calendar in JQuery?

提问人:Emilie Tossan 提问时间:11/3/2023 最后编辑:Emilie Tossan 更新时间:11/6/2023 访问量:69

问:

我正在使用Symfony来构建一个带有日期选择器的表单。我发现这一天有一个日期选择器,但我不知道如何用法语使用它。

这是我的base.html.twig文件中的代码:

{# Date picker #}

        <script src="https://cdnjs.cloudflare.com/ajax/libs/bootstrap-datepicker/1.9.0/js/bootstrap-datepicker.js"></script>
        
        <script>
        {% if app.request.locale == 'en' %}
            $(document).ready(function() {
                $('.js-datepicker').datepicker({
                    format: 'DD MM d yyyy'
                });
            });
        {% elseif app.request.locale == 'fr' %}
            $(document).ready(function() {
                $('.js-datepicker').datepicker({
                    format: 'DD d MM yyyy'
                });
            });
        {% endif %}
        </script>
jQuery DatePicker

评论

0赞 Don't Panic 11/6/2023
这回答了你的问题吗?如何在 bootstrap 4 日期选择器上更改语言

答:

-1赞 Ahmed Ali Rajput 11/3/2023 #1

在这里,您可以尝试更改语言。

<input type="text" class="js-datepicker">

<script>
    $(document).ready(function() {
        $('.js-datepicker').datepicker({
            format: 'DD d MM yyyy',
            language: 'fr'
        });
    });
</script>

评论

0赞 Emilie Tossan 11/3/2023
谢谢。它实际上没有用......
0赞 Emilie Tossan 11/3/2023
我在网上找到了这个解决方案。它可能会起作用,但我不知道如何使用它:gist.github.com/corsonr/4306287。你怎么看?
0赞 Ahmed Ali Rajput 11/3/2023
替换此 “{% elseif app.request.locale == 'fr' %} $(document).ready(function() { $('.js-datepicker').datepicker({ format: 'DD d MM yyyy' }); });{% endif %}“ 替换为 ”{% elseif app.request.locale == 'fr' %} $(document).ready(function() { $('.js-datepicker').datepicker({ format: 'DD d MM yyyy', language : 'fr' });{% endif %}”
0赞 Emilie Tossan 11/3/2023
是的。它不起作用。
0赞 Ahmed Ali Rajput 11/3/2023
它正在工作,我试过了,如果你愿意,我可以分享屏幕截图
1赞 SKJ 11/5/2023 #2

如果要更改日期选择器的语言(英语为法语),则需要使用$.datepicker.setDefaults

// on change la langue du datepicker
$.datepicker.setDefaults({
  altField: "#datepicker",
  closeText: 'Fermer',
  prevText: 'Précédent',
  nextText: 'Suivant',
  currentText: 'Aujourd\'hui',
  monthNames: ['Janvier', 'Février', 'Mars', 'Avril', 'Mai', 'Juin', 'Juillet', 'Août', 'Septembre', 'Octobre', 'Novembre', 'Décembre'],
  monthNamesShort: ['Janv.', 'Févr.', 'Mars', 'Avril', 'Mai', 'Juin', 'Juil.', 'Août', 'Sept.', 'Oct.', 'Nov.', 'Déc.'],
  dayNames: ['Dimanche', 'Lundi', 'Mardi', 'Mercredi', 'Jeudi', 'Vendredi', 'Samedi'],
  dayNamesShort: ['Dim.', 'Lun.', 'Mar.', 'Mer.', 'Jeu.', 'Ven.', 'Sam.'],
  dayNamesMin: ['D', 'L', 'M', 'M', 'J', 'V', 'S'],
  weekHeader: 'Sem.',
  dateFormat: 'dd/mm/yy'
});

$("#test").datepicker();
<link rel="stylesheet" href="//code.jquery.com/ui/1.13.2/themes/base/jquery-ui.css">
<script src="https://code.jquery.com/jquery-3.6.0.js"></script>
<script src="https://code.jquery.com/ui/1.13.2/jquery-ui.js"></script>
<input type="text" name="test" id="test" placeholder="Select a date">

评论

0赞 Emilie Tossan 11/7/2023
谢谢SKJ。我可以,当我运行代码片段时,它可以很好地工作。对我来说,自从我设置默认值以来,它停止显示日历......
1赞 Emilie Tossan 11/7/2023
现在我明白了。我必须将setDefault()插入$(document).ready(function() {}中。谢谢,它奏效了!