国际化模块(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: 不建议。平台语言标识由系统统一管理,请根据文档列出的语言码匹配配置。