47

我使用此处记录的 datePicker 。

但是,没有直接选项允许更改语言,默认情况下为英语

我找到了一个没有 angular 指令的小部件的文档,它提供了一个很好的方法来实现它:

http://bootstrap-datepicker.readthedocs.org/en/latest/i18n.html

有没有一种简单的方法,避免调整原始指令的源代码来改变它?

4

3 回答 3

90

如果您使用 DatePicker 表单 angular-ui,只需在页面标题中添加本地化的 js 文件。一个例子是:

<script src="http://ajax.googleapis.com/ajax/libs/angularjs/1.0.8/angular.js"></script>
<script src="http://code.angularjs.org/1.0.8/i18n/angular-locale_fr-fr.js"></script>
<script src="http://angular-ui.github.io/bootstrap/ui-bootstrap-tpls-0.6.0.js"></script>

你可以在这里看到一个工作的 plunker

于 2013-10-30T07:31:20.317 回答
18

首先,您必须在 index.html 中的 angular 之后加载您的语言环境(在此处获取)脚本:

 <script src="angular.js"></script>
 <script src="angular-locale_de-de.js"></script>

之后,日期和月份已本地化,但您需要自己翻译按钮,在 datepicker 输入标签内添加参数:

<input type="text" class="form-control" datepicker-popup="dd.MM.yyyy"
ng-model="dt" is-open="opened" min-date="minDate" max-date="'2042-04-02'"
datepicker-options="dateOptions" date-disabled="disabled(date, mode)" 
ng-required="true" 
current-text="Tonight" clear-text="Reset" close-text="Exit" />
于 2015-02-16T11:24:50.313 回答
4

您可以使用此链接找到最新版本的语言环境 js 文件。

https://cdnjs.com/libraries/angular-i18n

此外,如果您想全局翻译日期选择器操作按钮(如“关闭”),您可以添加此代码以进行全局配置。

//DatePicker -> uibDatepickerConfig
//DatePickerPopup -> uibDatepickerPopupConfig
app.config(['uibDatepickerPopupConfig', function(uibDatepickerPopupConfig) {
uibDatepickerPopupConfig.closeText = 'Close';
uibDatepickerPopupConfig.currentText = 'Today';
uibDatepickerPopupConfig.clearText = 'Clear';
}]);
于 2017-08-04T12:57:32.377 回答