Shopify 知识库 · 概念
翻译与本地化:语言、市场与店面内容翻译
说明 Shopify 店铺语言的添加、发布与删除,Translate & Adapt 应用的定位,可翻译资源,主题 locale 文件与店面内容翻译的分工,语言与 Markets 的关系,以及 hreflang、URL handle 和机器翻译复核的官方说法。
Shopify 的多语言由三层组成:店铺启用哪些语言(Languages),每种语言的翻译从哪里来(主题 locale 文件、Translate & Adapt、CSV 或第三方应用),以及语言怎样对应到 Markets 与 URL。本文解决「加一种语言要做哪几件事、哪些内容能翻、谁负责哪一层」;它不评估翻译质量,也不替代目标语言的合规审校。Localization and translation。
本库哪些内容依赖它
本文是店铺语言与翻译的权威来源,其他文章只写各自页面语境下的用法:
- 主题国际化:Storefront locale 与 Schema locale 两类文件的职责,本文只写它与店面内容翻译的分工;
- 市场与配送配置:语言随市场变化时的固定条件;
- 域名与 DNS:市场域名、子域名与子文件夹;
- 店面 SEO 框架:多语言信号在整体 SEO 检查里的位置;
- 导航菜单与链接列表:菜单标题的翻译;
- 自定义数据、销售计划、结账自定义、隐私与同意:各自内容里可翻译的部分。
核心对象与概念
| 对象 | 含义 | 备注 |
|---|---|---|
| 店铺默认语言(primary locale) | 店铺内容的原文语言 | 只能有一个;更改须在 Admin 中进行,API 不能改 |
| 已启用 / 已发布语言 | 启用后可翻译;发布后顾客可见 | 新启用的语言默认不发布 |
| Translate & Adapt | Shopify 的翻译应用 | 添加新语言时自动安装 |
| Storefront locale 文件 | 主题里的固定界面文本 | 用 Liquid t 过滤器引用;商家通过 Shopify Language Editor 编辑 |
| 可翻译资源 | 商品、集合、页面、文章、菜单、主题内容等 | 官方称 translatableResources |
| 翻译状态 | Translated、Outdated、Untranslated | Outdated 表示默认语言内容已更新而翻译未跟上 |
| 市场语言 | 分配给某个市场的语言与默认语言 | 需要先在店铺层添加语言 |
| 语言选择器 | 让顾客切换语言 | 属于主题,不属于 Translate & Adapt |
在哪里配置
- 添加语言:Settings > Languages > Add language,选择语言,开启要提供该语言的域名,再补充翻译。
- 发布:Settings > Languages,点语言旁图标选 Publish;没有翻译也可发布,此时只显示主题与结账已有的翻译。取消发布会隐藏该语言且不删除翻译,指向该语言的链接返回 404,官方建议为其建立重定向,并会把它从所有域名中移除。
- 删除:只能删除未发布的语言,删除会永久删除该语言的全部翻译。
- 更改默认语言:Settings > Languages 的默认语言菜单选 Change default。官方警告,这会删除将要切换成的那种语言已有的翻译,且它们不会变成店铺内容;更改前先在 Settings > Languages 导出。
- 翻译:Apps > Translate & Adapt,选语言与资源后填写并 Save;或在内容页点 More actions > Localize(部分内容类型直接显示 Localize 按钮)。
- 图片、视频与文件:先在 Content > Files 上传对应版本,再通过主题编辑器里资源的 Localize 为不同语言替换。
- CSV:Settings > Languages 里 Export / Import。导出可选 All content、Metafields、Outdated、Untranslated content;导入时可选是否覆盖已有翻译;CSV 导入只对次要语言生效,不适用于默认语言。
- 邮件通知:Settings > Notifications,选通知后点 Localize。
- 语言选择器:Online Store 页找到主题后点 Edit theme,在主题设置里搜索 Enable language selector;Shopify 免费主题内置。
与主题、Liquid 和 API 的连接
- 分工:固定界面文本(按钮、错误提示、无障碍文本)在主题 locale 文件里,通过
t过滤器输出;商家写的内容(商品、集合、页面、菜单)通过 Translations API 保存翻译。二者互不替代,逐项对照见主题国际化。帮助中心写明每个主题 locale 文件最多可存 3,400 条翻译。 - Liquid:
localization对象含available_languages、language、country、market;request.locale是当前请求的 locale。自定义主题的内部链接须使用routes对象才能兼容多语言(帮助中心的要求)。 - Admin API:
shopLocaleEnable启用语言,translatableResources取得可翻译内容与digest,translationsRegister写入翻译时必须带translatableContentDigest;翻译对象带outdated标记。Storefront API 可以读取这些翻译。所需权限包含write_translations与write_locales。Manage translated content。 - 可翻译资源(
TranslatableResourceType枚举页,节选):PRODUCT(含title、body_html、handle、product_type、meta_title、meta_description)、COLLECTION、PAGE、ARTICLE、BLOG、MENU、LINK、PRODUCT_OPTION、PRODUCT_OPTION_VALUE、METAOBJECT、SELLING_PLAN、SELLING_PLAN_GROUP、FILTER、SHOP_POLICY、PAYMENT_GATEWAY、EMAIL_TEMPLATE,以及若干ONLINE_STORE_THEME*类型。帮助中心的表格把菜单资源写作ONLINE_STORE_MENU,与枚举页的MENU不一致,并列记录。 - 元字段:只有公开可访问的 metafield 才能翻译;API 版本 2026-10 及以上可通过查询资源的 metafields 并选择
translatable字段找到可翻译项。见自定义数据。
语言与 Markets
- 先在店铺层添加语言,才能分配给市场。官方写明,没有设置 International domains 时,所有活跃市场的语言设置相同,不能按市场管理。
- 分配入口有两种写法,并列记录:Markets > 选市场 > Languages and domains > Add languages;以及 Assigning domains and languages to markets 页写的 Markets > 选市场 > Domain / language 旁的图标。以后台实际界面为准。
- 每个市场默认沿用店铺默认语言,可以为市场改默认语言;从市场移除语言后,使用该语言 URL 前缀的地址全部失效。
- 子市场默认继承父市场的域名与语言;语言选择优先级依次为顾客明确请求的语言、顾客正在使用的语言、域名配置的默认语言。
- URL:语言只用
/fr这类子文件夹只能存在于主市场;次要市场的子文件夹必须是语言加国家代码,如/fr-ca。域名与子域名的配置见域名与 DNS。 - 自动重定向按顾客位置与浏览器语言引导;官方称欧盟顾客不会在欧盟内被自动重定向(需要同意的合规问题,需要合规确认)。
hreflang 与语言 URL
- 发布语言后,每个翻译页面获得独立 URL(语言代码加在 URL 中),hreflang 标签自动添加。已发布语言都包含在 sitemap 中。本地化与 SEO。
- Markets SEO 页(摘要读取)写明:hreflang 按市场与语言配置自动生成,含语言与区域代码,并有
x-default指向主域名;每个市场页有自引用的规范链接(canonical)。 - 关闭:Online Store > Preferences 可关闭自动 hreflang。International domains 页写明关闭后须自行在主题中添加 hreflang 以避免影响 SEO;Preferences 页的说法是主题或应用已添加 hreflang 时可关闭以避免重复。两者并列。
- URL handle:
/en-ca/products/shoes可翻译成/es-mx/products/zapatos,但products一词不能翻译;handle 不能按市场定制,只能在语言可见的所有市场里统一翻译;自动翻译不包含 URL handle,翻译 handle 后会从默认语言 URL 建立重定向(Translate & Adapt 页)。Localization 页在 CSV 一节又写「不能翻译商品 URL,商品 URL 保持创建时的语言」,与上述并列,需在真实店铺核对。商品 handle 更改后,语言 URL 不支持重定向。
机器翻译与人工复核
- Translate & Adapt 用 Shopify 的 AI 翻译自动翻译最多 8 种语言(默认语言之外)。两种方式:Translate now 一次性翻译;Auto-sync 每周同一时间自动翻译,默认关闭,首次翻译要等下一个每周时间。两者都占用这 8 个名额,用过的名额不因删除语言而重置。
- 自动翻译覆盖尚未翻译的内容和过期的机器翻译,不改动手动添加或编辑的翻译;主题默认文本只补缺失项,不更新已有项。
- 官方要求:发布翻译前须核对准确性。店铺的法律政策不能自动翻译,可手动翻译,官方建议请专业译者确保法律与政策页面准确。
- 有些语言不能用 Translate & Adapt 翻译(页面列出孟加拉语、宿务语等 14 种);集合筛选器、Shopify Forms 内容、手动支付方式说明、商品图片与标签、未作为可翻译资源托管的第三方应用内容也不能。标签在所有路径下都不可翻译。
- 本库不写任何机器翻译准确率。中文站点内容与目标市场文案的差异,以人工复核为准。
限制、数值与易错点
- 语言数量:Localization 页写 Basic、Grow、Shopify、Advanced 套餐最多 20 种,Plus 与 Enterprise Commerce 最多 30 种;shopify.dev 页写店铺最多 20 个已启用 locale,未提 Plus。并列记录。
- 套餐与主题:同一页一处写可在除 Lite 外的所有套餐使用,另一处写需要 Basic 或更高。要求主题兼容且带语言选择器,所有免费主题兼容。
- 结账预翻译 33 种语言;进一步自定义结账语言需第三方应用。主题与结账、cookie 横幅、隐私政策等有专业翻译的语言清单见 Localization 页(含简体与繁体中文)。
- 更改商品 handle 后,语言 URL 不支持重定向;停用市场、取消发布语言都会让对应 URL 返回 404,须提前准备重定向。
- 市场专属主题内容在主要 locale 中作为主题 override 保存,只在套餐包含市场专属主题定制时才渲染;
translationsRegister在任何店铺都接受它,所以不能凭写入成功判断已生效(shopify.dev 页原意)。 - App proxies 不支持翻译;第三方应用可能默认不支持多语言,需联系开发者。
验证一次
- 在 Settings > Languages 记录默认语言、已发布语言与每种语言的域名。
- 对一个商品、一个集合、一个页面、一个菜单,各在 Translate & Adapt 里核对状态是 Translated、Outdated 还是 Untranslated。
- 用未登录浏览器访问每种语言的 URL,核对固定界面文本、商品内容、菜单与结账的语言是否一致。
- 查看页面源码里的 hreflang 与规范链接,与设置的市场和语言对照;若关闭了自动 hreflang,核对是否已有替代输出。
- 更改默认语言之前,先导出该语言的现有翻译并保留副本。
待继续完善
- Translating themes、Preferences、hreflang 与 International SEO 页只读到摘要,需重读原文;
- 3,400 条翻译上限与 Language Editor 的关系未核验;
- 语言与币种在结账中的协同(见支付与结账)未在本文核验;
- 页面 URL handle 是否可翻译的官方说法互相矛盾,需要在真实店铺实测。