jqplot - 日期轴渲染器:国际化

7

我使用 jqplot,在我的 X 轴上有日期。我使用 DateAxisRenderer 插件,但是我希望将日期翻译为当前的语言环境。

例如,对于英语:

Jan 2012 
Feb 2012...

并且对于法语

Jan 2012
Fév 2012...

任何想法?
1个回答

7

一点解释

jqPlot 在内部使用 jsDate:http://sandbox.kendsnyder.com/date2/

jsDate 具有内置的本地化支持和区域检测功能。然而,这种能力仅限于少数预配置语言和内部区域表(参见2.)。

1. 对于幸运的人

由于在我的 jqPlot 版本(v1.0.4)中,法语语言已包含在此表中(也许是作者的礼物),所以你只需要在 <html> 标记上设置 lang 属性即可:

<html lang="fr">

就这样...

2. 外国人

如果您想在运行时添加自己所需的缺失语言,可以使用以下说明:

$(document).ready(function(){
    // Add a new localization
    $.jsDate.regional['it'] = {
        monthNames: ['Gennaio','Febbraio','Marzo','Aprile','Maggio','Giugno','Luglio','Agosto','Settembre','Ottobre','Novembre','Dicembre'],
        monthNamesShort: ['Gen','Feb','Mar','Apr','Mag','Giu','Lug','Ago','Set','Ott','Nov','Dic'],
        dayNames: ['Domenica','Lunedi','Martedi','Mercoledi','Giovedi','Venerdi','Sabato'],
        dayNamesShort: ['Dom','Lun','Mar','Mer','Gio','Ven','Sab'],
        formatString: '%d-%m-%Y %H:%M:%S'
    };
    // Do not forget to call
    $.jsDate.regional.getLocale();
});

不要忘记调用$.jsDate.regional.getLocale()以刷新内部设置并相应地设置<html>标签。我的外观如下:
<html lang="it">

这就是全部内容...

如果你不能控制html标签的标记,你可以使用以下设置:

document.documentElement.setAttribute('lang', 'it');

将中间元素(例如周围的

)的lang设置不起作用。


1
谢谢Allessandro,这是一个非常好的和清晰的答案。我添加了一些关于使用js设置lang属性的信息。 - Zeemee

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接