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

Sam*_*Sam 6 jquery internationalization jqplot

我使用jqplot,我的日期是我的x轴.

我使用DateAxisRenderer插件,但我想将日期转换为我当前的语言环境.

例如,对于英语

Jan 2012 
Feb 2012...
Run Code Online (Sandbox Code Playgroud)

对于法国人

Jan 2012
Fév 2012...
Run Code Online (Sandbox Code Playgroud)

有任何想法吗?

Ale*_*dra 6

一点解释

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

jsDate具有内置的本地化支持和区域设置检测功能.但是,此功能仅限于内部区域表中的一些预配置语言(参见2.).

1.对于幸运的人

因为在我的jqPlot版本(v1.0.4)中,法语包含在此表中(可能是作者的礼物),您只需lang<html>标签上设置属性即可:

<html lang="fr">
Run Code Online (Sandbox Code Playgroud)

Etvoilà......

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();
});
Run Code Online (Sandbox Code Playgroud)

不要忘记调用$.jsDate.regional.getLocale()刷新内部设置并相应地设置<html>标记.

我看起来像:

<html lang="it">
Run Code Online (Sandbox Code Playgroud)

就这样...

如果您无法控制标记的html标记,可以使用它进行设置

document.documentElement.setAttribute('lang', 'it');
Run Code Online (Sandbox Code Playgroud)

它不适用于设置lang中间元素,如周围环境div.