自动语言检测
游戏要求第2.14点
游戏内置了通过SDK进行自动语言识别的功能。
集成
重要
通过 SDK 进行自动检测必须:
- 在启动时进行,而不是在游戏过程中。
- 在所有游戏中实现,即使它们只声明了一种语言或没有文本。
要确定用户的语言,请从参数 environment.i18n.lang 获取语言代码:
1const ysdk = (await YaGames.init());
2const lang = ysdk.environment.i18n.lang; // 'en', 'ru', ...
接下来,在加载游戏翻译时使用 lang 变量。
验证方法
单语言验证
要确保游戏语言自动检测正常工作:
-
清除浏览器缓存。
-
使用debug面板打开游戏:
通过开发者控制台通过地址栏- 打开 Yandex游戏控制台。
- 选择所需的游戏。
- 在左上角点击 Open with debug panel。
-
打开所需的游戏。
-
在浏览器地址栏末尾添加
&debug-mode=16。链接示例:
https://yandex.com/games/app/XXXX?debug-mode=16,其中XXXX— 游戏的唯一标识符。
-
检查在首次启动游戏时,通过 SDK 进行的自动语言检测是否正常工作:
背景
文本
含义
I18N is used
已启用自动检测。
I18N is not used
未启用自动检测。
重要
指示器 文 的颜色必须在启动时变为绿色
,而不是在游戏过程中。允许有一个短暂的语言加载间隔:在启动时,指示器从红色变为绿色之前,可能会显示其他语言的加载文本。
示例
|
游戏 |
说明 |
|
|
🚫 自动检测在关卡启动后才连接。此类游戏无法通过审核。 |
|
|
✅ 连接自动检测前有轻微延迟,语言最初就是正确的(游戏仅支持RU)。 |
|
|
✅ 连接自动检测前有轻微延迟,指示器颜色变化的同时文本语言也发生变化(EN语言)。 |
多语言验证
审核会检查游戏在 Draft 选项卡的 Game translated into 字段中指定的所有语言的本地化。
对每种声明的语言重复基本验证。为此,依次在所有这些语言中打开游戏:
- 在调试面板上点击 SDK mocks ⚒️。
- 在语言标识的下拉列表中(例如 En
)选择所需语言。游戏将在浏览器的新标签页中以该语言打开。
备注
如果游戏中有手动语言切换功能,审核将仅检查实现中是否存在技术和逻辑错误。为了改善玩家体验,请自行检查是否遵循了游戏要求第 6.9 项中的建议。
手动语言选择示例

审核结果:
- ✅ 如果所有声明的语言都已加载 — 游戏将通过审核。
- 🚫 如果至少有一种语言未切换(完全或部分)到调试面板上选择的语言 — 游戏将因未翻译而被拒绝。同时,审核会考虑可以不翻译的例外情况(参见第 8.2.3 项校准列表)。
- ✅ 如果开发者实现了在缓存中保存语言的功能,则在刷新游戏页面后没有自动检测是可以接受的。
联系审核部门
如果您认为游戏中的自动语言检测功能正常工作,并且因错误被取消发布或未被允许发布,请填写以下表格。
审核质量控制服务会重新检查决定并恢复游戏发布,如果它被不公正地封禁。
代码采用 ISO 639-1 格式。例如,"tr" 表示游戏当前在 Yandex Games 的土耳其语界面中运行。所有支持的语言列在 语言与域名 页面上。


