# 本地化

> 从 Session Token 或 Shop API 读出商家语言，再把 Shoplazza 应用界面和上架信息翻译成对应语言。

Shoplazza 商家用不同的语言经营店铺。一个对中文商家只显示英文界面的应用，用起来更费劲，也更难建立信任。本文介绍如何获取商家语言并本地化你的应用。

## 获取商家的语言

不需要问商家——Shoplazza 会告诉你：

- **嵌入式应用**：[Session Token](/docs/app/developer-tools/app-bridge/session-token) 的 payload 里有 `locale` 字段，表示当前用户的语言和地区，例如 `zh-CN`。每个请求都从校验过的令牌里读取，商家切换语言时应用能立即跟上。
- **后端服务**：在没有用户会话的场景（例如渲染邮件或定时报表）通过 [Shop API](/api/shop) 读取店铺的 `primary_locale`。

## 翻译应用界面

从一开始就按可翻译的方式组织应用：

- 界面文案放在语言资源文件里（`i18next` 等 i18n 库或框架内置的标准机制），不要硬编码在组件中。
- 语言按 Session Token 的 `locale` 字段选择，尚未支持的语言回退到默认语言（通常是英文）。
- 不要翻译商家数据——商品标题、订单备注等店铺内容属于商家，按原样展示。
- 日期、时间、数字、货币用 [`Intl`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Intl) 这类感知 locale 的 API 格式化，不要手写格式化逻辑。

## 本地化应用 listing

Shoplazza 应用商店的 listing 支持英文和中文两种语言。两种都提供：listing 是商家看到的第一份材料，用商家自己的语言写转化更好。更新截图、功能列表或定价说明时保持两个语言版本同步——参考 [listing 要求](/docs/app/publish-and-operate/app-requirements/listing)。
