HQChart使用教程24-多语言设置

151 篇文章 33 订阅

效果图

英文版
Demo地址

支持的语言

目前支持 简体中文,英文,繁體中文

SetOption 设置语言

var option=
{
	Type:'历史K线图',
	......
	
	Language:'EN',  //英文 'EN' 简体中文:'CN' 繁体中文:"TC"
    .........
}

Language 语言配置项 EN=英文,CN=简体中文,TC=繁体中文

SetLanguage 动态设置语言

通过函数SetLanguage(language) 可以动态设置语言
language 设置的语言 EN=英文,CN=简体中文,TC=繁体中文

chart.SetLanguage('EN');

多语言实现设计

所有的语言对应关系是保存在一个map表中, 在输出文字的时候,通过这个map表找到对应的语言的文字显示的画布上。
多语言文本查询类 JSChartLocalization.
后续如果需要增加其他语言,

  1. JSCHART_LANGUAGE_ID 在这个枚举中增加一个新的语言ID
  2. JSChartLocalization中的TextResource 增加对应的文字,并且在GetText()绑定对应关系
var JSCHART_LANGUAGE_ID=
{
    LANGUAGE_CHINESE_ID:0,  //简体中文 CN
    LANGUAGE_ENGLISH_ID:1,  //英文 EN
    LANGUAGE_TRADITIONAL_CHINESE_ID:2,  //繁体中文 TC
};

function JSChartLocalization()
{
    this.TextResource=new Map([
        //内部tooltip
        ['Tooltip-Open', {CN:'开:', EN:'O:', TC:'開'}],
        ['Tooltip-High', {CN:'高:', EN:'H:', TC:'高'}],
        ['Tooltip-Low', {CN:'低:', EN:'L:', TC:'低'}],
        ['Tooltip-Close', {CN:'收:', EN:'C:', TC:'收'}],
        ['Tooltip-Increase', {CN:'幅:', EN:'I:', TC:'幅'}],
        ['Tooltip-Vol', {CN:'量:', EN:'V:', TC:'量'}],
        ['Tooltip-Amount', {CN:'额:', EN:'A:', TC:'額'}],
        ['Tooltip-AvPrice', {CN:'均:', EN:'AP:', TC:'均'}],
        ['Tooltip-Price', {CN:'价:', EN:'P:', TC:'價'}],
        ['Tooltip-Exchange', {CN:'换:', EN:'E:', TC:'換'}],
        ['Tooltip-Position',{CN:'持:', EN:'P:', TC:'持'}],

        ['DivTooltip-Open', {CN:'开盘:', EN:'Open:', TC:'開盤'}],
        ['DivTooltip-High', {CN:'最高:', EN:'High:', TC:'最高'}],
        ['DivTooltip-Low', {CN:'最低:', EN:'Low:', TC:'最低'}],
        ['DivTooltip-Close', {CN:'收盘:', EN:'Close:', TC:'收盤'}],
        ['DivTooltip-Increase', {CN:'涨幅:', EN:'Increase:', TC:'漲幅'}],
        ['DivTooltip-Vol', {CN:'数量:', EN:'Volume:', TC:'數量'}],
        ['DivTooltip-Amount', {CN:'金额:', EN:'Amount:', TC:'金額'}],
        ['DivTooltip-Exchange', {CN:'换手:', EN:'Exchange:', TC:'換手'}],
        ['DivTooltip-Position', {CN:'持仓:', EN:'Position:', TC:'持倉'}],
        ['DivTooltip-Price', {CN:'价格:', EN:'Open:', TC:'價格'}],

        //K线动态标题
        ['KTitle-Open', {CN:'开:', EN:'O:', TC:'開'}],
        ['KTitle-High', {CN:'高:', EN:'H:', TC:'高'}],
        ['KTitle-Low', {CN:'低:', EN:'L:', TC:'低'}],
        ['KTitle-Close', {CN:'收:', EN:'C:', TC:'收'}],
        ['KTitle-Increase', {CN:'幅:', EN:'I:', TC:'幅'}],
        ['KTitle-Vol', {CN:'量:', EN:'V:', TC:'量'}],
        ['KTitle-Amount', {CN:'额:', EN:'A:', TC:'額'}],
        ['KTitle-Exchange', {CN:'换:', EN:'E:', TC:'換'}],
        ['KTitle-Position', {CN:'持:', EN:'P:', TC:'持'}],
        ['KTitle-Price', {CN:'价:', EN:'Price:', TC:'價'}],
        
        //走势图动态标题
        ['MTitle-AC-Price', {CN:'匹配价:', EN:'C:', TC:'匹配價'}],
        ['MTitle-AC-AvPrice', {CN:'匹配均价:', EN:'C:', TC:'匹配均價'}],
        ['MTitle-AC-Increase', {CN:'竞价涨幅:', EN:'I:', TC:'競價漲幅'}],
        ['MTitle-AC-Vol', {CN:'匹配量:', EN:'V:', TC:'匹配量'}],
        ['MTitle-AC-NotMatchVol', {CN:'未匹配量:', EN:'NV:', TC:'未匹配量'}],

        //走势图标题
        ['MTitle-Close', {CN:'价:', EN:'C:', TC:'價'}],
        ['MTitle-AvPrice', {CN:'均:', EN:'AC:', TC:'均'}],
        ['MTitle-Increase', {CN:'幅:', EN:'I:', TC:'幅'}],
        ['MTitle-Vol', {CN:'量:', EN:'V:', TC:'量'}],
        ['MTitle-Amount', {CN:'额:', EN:'A:', TC:'額'}],
        ['MTitle-Position', {CN:'持:', EN:'P:', TC:'持'}],
        ["MTitle-UpdateTime", {CN:"更新:", EN:"Update:", TC:"更新:"}],

        //周期
        ['日线', {CN:'日线', EN:'1D', TC:'日綫'}],
        ['周线', {CN:'周线', EN:'1W', TC:'周綫'}],
        ['双周', {CN:'双周', EN:"2W", TC:'雙周'}],
        ['月线', {CN:'月线', EN:'1M', TC:'月綫'}],
        ["半年", {CN:'半年', EN:'HY', TC:'半年'}],
        ['年线', {CN:'年线', EN:'1Y', TC:'年綫'}],
        ['1分', {CN:'1分', EN:'1Min', TC:'1分'}],
        ['5分', {CN:'5分', EN:'5Min', TC:'5分'}],
        ['15分', {CN:'15分', EN:'15Min', TC:'15分'}],
        ['30分', {CN:'30分', EN:'30Min', TC:'30分'}],
        ['60分', {CN:'60分', EN:'60Min', TC:'60分'}],
        ['季线', {CN:'季线', EN:'1Q', TC:'季綫'}],
        ['分笔', {CN:'分笔', EN:'Tick', TC:'分筆'}],
        ['2小时', {CN:'2小时', EN:'2H', TC:'2小時'}],
        ['4小时', {CN:'4小时', EN:'4H', TC:'4小時'}],

        //复权
        ['不复权', {CN:'不复权', EN:'No Right', TC:'不復權'}],
        ['前复权', {CN:'前复权', EN:'Pro Right', TC:'前復權'}],
        ['后复权', {CN:'后复权', EN:'Post Right', TC:'后復權'}],

        //week
        ['日', {CN:'日', EN:'Sun.', TC:'日'}],
        ['一', {CN:'一', EN:'Mon.', TC:'壹'}],
        ['二', {CN:'二', EN:'Tues.', TC:'貳'}],
        ['三', {CN:'三', EN:'Wed.', TC:'叁'}],
        ['四', {CN:'四', EN:'Thur.', TC:'肆'}],
        ['五', {CN:'五', EN:'Fri.', TC:'伍'}],
        ['六', {CN:'六', EN:'Sat.', TC:'陸'}],

        ['1月', {CN:'1月', EN:'Jan', TC:'1月'}],
        ['2月', {CN:'2月', EN:'Feb', TC:'2月'}],
        ['3月', {CN:'3月', EN:'Mar', TC:'3月'}],
        ['4月', {CN:'4月', EN:'Apr', TC:'4月'}],
        ['5月', {CN:'5月', EN:'May', TC:'5月'}],
        ['6月', {CN:'6月', EN:'Jun', TC:'6月'}],
        ['7月', {CN:'7月', EN:'Jul', TC:'7月'}],
        ['8月', {CN:'8月', EN:'Aug', TC:'8月'}],
        ['9月', {CN:'9月', EN:'Sept', TC:'9月'}],
        ['10月', {CN:'10月', EN:'Oct', TC:'10月'}],
        ['11月', {CN:'11月', EN:'Nov', TC:'11月'}],
        ['12月', {CN:'12月', EN:'Dec', TC:'12月'}],

        ['自定义分钟', {CN:'分', EN:'Min', TC:'分'}],
        ['自定义日线', {CN:'日', EN:'D', TC:'日'}],
        ['自定义秒', {CN:'秒', EN:'S', TC:'秒'}],

        ["MVol-Vol", {CN:"成交量", EN:"Volume", TC:'成交量'} ],
        ["MVol-Position", {CN:"持仓量", EN:"Position", TC:'持倉量'} ],

        //深度图
        ["Depth-Price", {CN:"委托价", EN:"Price", TC:'委托價'}],
        ["Depth-Sum", {CN:"累计", EN:"Sum", TC:'累計'}]

    ]);

    this.GetText=function(key,language)
    {
        var item=this.TextResource.get(key);
        if (!item) return '';

        switch(language)
        {
            case JSCHART_LANGUAGE_ID.LANGUAGE_CHINESE_ID:
                return item.CN;
            case JSCHART_LANGUAGE_ID.LANGUAGE_ENGLISH_ID:
                return item.EN;
            case JSCHART_LANGUAGE_ID.LANGUAGE_TRADITIONAL_CHINESE_ID:
                return item.TC;
            default:
                return item.CN;
        }
    }

    this.SetTextResource=function(key,value)
    {
        this.TextResource.set(key,value)
    }

    this.GetLanguageID=function(languageName)
    {
        var languageID=null;
        switch(languageName)
        {
            case 'EN':
                languageID=JSCHART_LANGUAGE_ID.LANGUAGE_ENGLISH_ID;
                break;
            case 'CN':
                languageID=JSCHART_LANGUAGE_ID.LANGUAGE_CHINESE_ID;
                break;
            case "TC":
                languageID=JSCHART_LANGUAGE_ID.LANGUAGE_TRADITIONAL_CHINESE_ID;
                break;
            default:
                break;
        }

        return languageID;
    }
};

var g_JSChartLocalization=new JSChartLocalization();

资源实例获取接口

JSChart.GetLocalization=function()  
{
    return g_JSChartLocalization;
}

其他资源

菜单类的资源目前不支持替换, 需要自己在外部自己做。

QQ群: 950092318

如果还有问题可以加交流QQ群: 950092318

HQChart代码地址

地址:https://github.com/jones2000/HQChart

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 5
    评论
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

HQChart

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值