先决条件
- 您的 Core Extension 已在 Nayax 注册,并拥有一个型号名称(例如
Apps/YourAppName) - Your app is served through the Nayax Core reverse proxy (required for the translation API to be reachable; see Reverse proxy requirement)
1
在启动时调用翻译 API
当您的应用加载时,从 Nayax Core 翻译端点获取翻译:该端点返回一个 JSON 对象,将原始英文字符串映射到用户语言对应的翻译:如果某个字符串不存在翻译,则该键会被省略。在这种情况下,您的应用将回退使用原始字符串。以下是一个在启动时获取并存储翻译的示例实现:
2
实现一个翻译函数
创建一个函数,在已加载的翻译中查找字符串,如果未找到翻译则回退使用原始字符串:在应用启动时调用
loadTranslations,并存储结果以便 t 可以使用它:3
包装您的 UI 字符串
您 UI 中每一个用户可见的字符串都必须经过 需要包装:
t() 处理。这包括标签、按钮、表格标题、占位符、空状态以及错误消息。- 标签和标题:
t('Welcome')、t('No data available') - 按钮文本:
t('Save')、t('Cancel') - 占位符、空状态和错误消息:
t('Search...')
- 用于代码比较的状态值:
if (status === 'completed') - CSS 类名:
className="bg-green-500" - 控制台或调试消息:
console.log('Debug info') - 带变量的模板字符串:
t(\Machine $id`)` — 动态键无法被可靠匹配
4
始终保持模型名称一致
您 API 调用中的模型名称必须与在 Nayax 注册的模型完全一致。如果不一致,API 仍会返回 HTTP 200,但会返回一个空对象——不会有错误提示、没有翻译,也没有任何说明问题所在的指示。常见错误:
如果您的应用加载后所有文本仍显示为英文,请确认您的模型名称与 Nayax 注册的名称完全一致,包括大小写。
5
向 Nayax 提供您的字符串
Nayax 需要获取您应用中所有可翻译字符串的列表,以便为每种支持的语言添加翻译。请在注册应用或添加新字符串时向 Nayax 提供此列表。
反向代理要求
翻译端点使用相对于您应用来源(origin)解析的绝对路径。您的应用必须通过 Nayax Core 反向代理提供服务,此功能才能正常工作。
如果翻译端点返回 404,最可能的原因是您的应用是被直接访问,而不是通过 Nayax Core 反向代理访问的。请联系 Nayax 以核实您的反向代理配置。
故障排除
如果翻译未按预期工作,请使用下表来查明原因:后续步骤
基于角色的可见性
声明管理员可以按角色显示或隐藏哪些 UI 元素。
验证
了解您的应用如何从 Nayax 接收 JWT 令牌。