Skip to content

国际化模块(i18n)

本页介绍如何通过 Playol SDK 获取平台注入的当前语言信息,协助游戏在全球范围内实现多语言适配。该模块旨在确保平台与游戏语言环境保持一致,提升国际玩家的本地化体验。


📌 一、适用场景

  • 支持全球用户的多语言界面(如英文、泰文、印尼文等)
  • 与平台语言环境保持一致,实现统一语言生态
  • 渲染本地化 UI 内容、提示语、菜单等界面元素
  • 后端识别用户语种,返回对应多语言数据

🌐 二、获取当前语言

方法:window.playolSDK.i18n.language

平台在游戏初始化时注入当前语言标识,游戏可在首次加载阶段读取并使用。

js
const lang = window.playolSDK.i18n.language
console.log('当前语言为:', lang) // 示例:'zh'、'en'、'th'

📌 当前平台支持的语言标识如下:

语言标识语言名称
en英语(English)
id印尼语(Bahasa Indonesia)
ms马来语(Bahasa Melayu)
th泰语(ภาษาไทย)
vi越南语(Tiếng Việt)
zh中文(简体)

支持语言会持续扩展,具体以平台配置为准。


🔁 三、语言切换机制说明

平台语言切换行为

  • 平台用户切换语言后,游戏 iframe 会自动重新加载,触发游戏重新初始化
  • 该机制确保语言同步一致,无需额外监听或热更新语言配置

推荐做法

  • 游戏在初始化阶段读取语言标识,并传入 i18n 实例中
  • 所有本地化资源绑定语言配置对象,确保加载后语言准确
  • 若未来平台支持无刷新语言切换,该接口仍兼容可用

🔧 四、示例:初始化 i18n 实例

js
import i18n from './i18n-lib' // 游戏自定义语言模块

const lang = window.playolSDK.i18n.language || 'en'
i18n.setLanguage(lang)

🗂️ 五、建议语言配置结构(参考)

ts
// 语言字典结构示例
const langMap = {
  en: {
    start: 'Start',
    pause: 'Pause',
    reward: 'Reward Unlocked!',
  },
  zh: {
    start: '开始',
    pause: '暂停',
    reward: '获得奖励!',
  },
  th: { ... },
  id: { ... },
  vi: { ... },
  ms: { ... },
}

❓ 六、常见问题解答

Q: 如果平台切换语言,游戏需要动态响应吗?

A: 不需要。平台切换语言会刷新游戏 iframe 页面,等同于重新加载,语言自动更新。

Q: SDK 提供的语言字段是否始终存在?

A: 是的,平台会在初始化阶段注入 language 字段。若极端情况下未提供,建议游戏默认使用 en

Q: 可以自定义语言标识吗?

A: 不建议。平台语言标识由系统统一管理,请根据文档列出的语言码匹配配置。


🔗 相关文档推荐

👉 用户模块支付模块数据模块游戏模块

基于 MIT 许可证发布