多语言

客户端通过设置请求头(Accept-Language),请求语言数据

 // 已逗号隔开,q为权重,默认第一个权重为1
 xhr.setRequestHeader('Accept-Language','ja,zh;q=0.9')

服务端拿到请求头(accept-language),进行分割排序,返回对应语言数据

 let language = req.headers['accept-language'];
 let lans = language.split(',').map(item=>{
     let [name,q] = item.split(';');
     return {
         name,
         q:q?q.split('=')[1]:1
     }
 }).sort((a,b)=>b.q-a.q)
     for(let i = 0 ; i < lans.length; i++){
     if (languages[lans[i].name]){
     // 说明有这个语言 
     res.end(languages[lans[i].name].message);
         return;
     }
 }
 res.end(defaultLanguage);

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值