大家新年好,请问微信小程序 如果想做成多语言的,一般用什么语言包?

作者站长头像
站长
· 阅读数 9

大家新年好,请问微信小程序 如果想做成多语言的,一般用什么语言包?一些简单的语言json配置,然后切换不同语言的,这种手动配置的方法,我大概知道了,只是我们公司商品产品很多,请问有什么那种现成的多语言json包可以用的?

回复
1个回答
avatar
test
2024-06-21

你这算是动态内容,没有这种现成的东西,

  • 要么让你们运营上传商品的时候配置好不同的语言的商品名
  • 要么借助ai/各种翻译api,动态把商品名翻译成对应的语言

一. 本地静态内容i18n

  1. 英文

    {
      "confirm": "confirm",
      "cancel": "cancel",
      "cartDeleteTips": "Delete this shopping cart item?",
      "logoutTips": "Do you want to log out?"
    }
  2. 中文

    {
      "confirm": "确认",
      "cancel": "取消",
      "cartDeleteTips": "是否删除此购物车商品?",
      "logoutTips": "是否退出登录?"
    }

可能你也发现了一个叫做cartDeleteTips/logoutTips的key,在你们的需求里没有类似的功能.

所以,本地静态内容i18n的json文件并没有通用的语言包,基本都是开发人员用血汗一条一条自己写的.

二. 请求商品信息的时候,告诉后端当前是哪个语言

至于后端怎么根据前端需要的语言拿到不同语言的商品信息,你完全不用管
  1. 在请求头中携带当前的语言请求后端

    wx.request({
      url: 'https://www.xxxx.com/api/goods/detail', // 开发者服务器接口地址
      data: {
     goodsID: 1, // 请求的商品ID
      },
      header: {
     'Accept-Language': 'zh-CN', // 设置请求头,指定接受中文或其他语言(或者你和后端约定一种其他的方式)
      },
      success: (res) => {
     this.setData({ goodsDetail: res.data })
      },
      fail: (err) => {
     // 请求失败的处理
     console.error('网络请求错误:', err);
      },
    });
    
  2. 渲染wxml

    <view>{{goodsDetail.title}}<view>
    <view>{{goodsDetail.desc}}<view>
回复
likes
适合作为回答的
  • 经过验证的有效解决办法
  • 自己的经验指引,对解决问题有帮助
  • 遵循 Markdown 语法排版,代码语义正确
不该作为回答的
  • 询问内容细节或回复楼层
  • 与题目无关的内容
  • “赞”“顶”“同问”“看手册”“解决了没”等毫无意义的内容