自动语言检测

游戏要求第2.14点

游戏内置了通过SDK进行自动语言识别的功能。

集成

重要

通过 SDK 进行自动检测必须:

  • 在启动时进行,而不是在游戏过程中。
  • 在所有游戏中实现,即使它们只声明了一种语言或没有文本。

要确定用户的语言,请从参数 environment.i18n.lang 获取语言代码

1const ysdk = (await YaGames.init());
2const lang = ysdk.environment.i18n.lang; // 'en', 'ru', ...

接下来,在加载游戏翻译时使用 lang 变量。

验证方法

单语言验证

要确保游戏语言自动检测正常工作:

  1. 清除浏览器缓存

  2. 使用debug面板打开游戏:

    1. 打开 Yandex游戏控制台
    2. 选择所需的游戏。
    3. 在左上角点击 Open with debug panel
    1. 打开所需的游戏。

    2. 在浏览器地址栏末尾添加 &debug-mode=16

      链接示例:https://yandex.com/games/app/XXXX?debug-mode=16,其中 XXXX — 游戏的唯一标识符。

  3. 检查在首次启动游戏时,通过 SDK 进行的自动语言检测是否正常工作:

    背景

    文本

    含义

    I18N is used

    已启用自动检测。

    I18N is not used

    未启用自动检测。

    重要

    指示器 文 的颜色必须在启动时变为绿色 ,而不是在游戏过程中。允许有一个短暂的语言加载间隔:在启动时,指示器从红色变为绿色之前,可能会显示其他语言的加载文本。

示例

游戏

说明

玩家点击"开始游戏",之后语言指示器才从绿色变为红色。

🚫 自动检测在关卡启动后才连接。此类游戏无法通过审核。

指示器在加载过程中从红色变为绿色。游戏仅支持俄语,"Загрузка"文本最初就是所需语言。

✅ 连接自动检测前有轻微延迟,语言最初就是正确的(游戏仅支持RU)。

指示器在加载过程中从红色变为绿色。同时文本从"Загружаемся"变为"Loading",与所选游戏语言 - 英语相符。

✅ 连接自动检测前有轻微延迟,指示器颜色变化的同时文本语言也发生变化(EN语言)。

多语言验证

审核会检查游戏在 Draft 选项卡的 Game translated into 字段中指定的所有语言的本地化。

对每种声明的语言重复基本验证。为此,依次在所有这些语言中打开游戏:

  1. 在调试面板上点击 SDK mocks ⚒️
  2. 在语言标识的下拉列表中(例如 En )选择所需语言。游戏将在浏览器的新标签页中以该语言打开。

备注

如果游戏中有手动语言切换功能,审核将仅检查实现中是否存在技术和逻辑错误。为了改善玩家体验,请自行检查是否遵循了游戏要求第 6.9 项中的建议。

手动语言选择示例

游戏内手动语言选择菜单。

审核结果:

  • ✅ 如果所有声明的语言都已加载 — 游戏将通过审核。
  • 🚫 如果至少有一种语言未切换(完全或部分)到调试面板上选择的语言 — 游戏将因未翻译而被拒绝。同时,审核会考虑可以不翻译的例外情况(参见第 8.2.3 项校准列表)。
  • ✅ 如果开发者实现了在缓存中保存语言的功能,则在刷新游戏页面后没有自动检测是可以接受的。

联系审核部门

如果您认为游戏中的自动语言检测功能正常工作,并且因错误被取消发布或未被允许发布,请填写以下表格。

审核质量控制服务会重新检查决定并恢复游戏发布,如果它被不公正地封禁。

打开表单

代码采用 ISO 639-1 格式。例如,"tr" 表示游戏当前在 Yandex Games 的土耳其语界面中运行。所有支持的语言列在 语言与域名 页面上。

上一篇
下一篇