# Shoplazza 应用开发指南:多语言支持与前端优化 ## 目录 1. [多语言支持](#多语言支持) 2. [前端优化与 Lessjs 集成](#前端优化与-lessjs-集成) 3. [与店匠主题的适配](#与店匠主题的适配) --- ## 多语言支持 ### 1. 概述 Shoplazza 应用支持 16 种语言,通过 Liquid 模板的 `t` 过滤器和 `shop.locale` 对象实现自动语言适配。 ### 2. 支持的语言列表 根据 [Lessjs 文档](https://lessjs.shoplazza.com/latest/docs/introduction/),Shoplazza 支持以下语言: | 语言代码 | 语言名称 | 示例文本 | |---------|---------|---------| | `ar-SA` | 阿拉伯语(沙特阿拉伯) | أضف إلى السلة | | `de-DE` | 德语 | In den Warenkorb legen | | `en-US` | 英语 | Add to cart | | `es-ES` | 西班牙语 | Añadir a la cesta | | `fr-FR` | 法语 | Ajouter au panier | | `id-ID` | 印度尼西亚语 | Masukkan ke keranjang | | `it-IT` | 意大利语 | Aggiungi al carrello | | `ja-JP` | 日语 | カートに追加 | | `ko-KR` | 韩语 | 카트에 추가하십시오 | | `nl-NL` | 荷兰语 | Voeg toe aan winkelkar | | `pl-PL` | 波兰语 | Dodaj do koszyka | | `pt-PT` | 葡萄牙语 | Adicionar ao carrinho | | `ru-RU` | 俄语 | Добавить в корзину | | `th-TH` | 泰语 | เพิ่มลงในรถเข็น | | `zh-CN` | 中文(简体中文) | 加入购物车 | | `zh-TW` | 中文(繁体中文) | 加入購物車 | ### 3. 实现方式 #### 3.1 目录结构 ``` extensions/your-extension/ ├── blocks/ │ └── your-block.liquid ├── assets/ │ └── your-block.css └── locales/ ├── zh-CN.json ├── en-US.json ├── ko-KR.json ├── ja-JP.json └── ... (其他语言文件) ``` #### 3.2 语言文件格式 每个语言文件(如 `locales/zh-CN.json`)应包含完整的翻译键值对: ```json { "search": { "placeholder": "搜索商品...", "loading": "搜索中,请稍候...", "no_results": "未找到相关商品", "error": "搜索失败,请重试", "results_count": "找到 {count} 个结果", "sort_label": "排序:", "sort_default": "默认排序", "sort_price_asc": "价格:低到高", "sort_price_desc": "价格:高到低", "sort_newest": "最新上架", "facet_category": "类目", "facet_brand": "品牌", "facet_tag": "标签", "pagination_prev": "上一页", "pagination_next": "下一页", "out_of_stock": "缺货", "unknown_product": "未知商品", "enter_keyword": "请输入搜索关键词", "searching": "搜索中..." } } ``` #### 3.3 Liquid 模板中的使用 ##### 3.3.1 获取店铺语言 ```liquid {% comment %} 获取店铺当前语言 {% endcomment %} {{ shop.locale }} ``` ##### 3.3.2 使用翻译过滤器 在 HTML 属性中使用: ```liquid ``` 在 HTML 内容中使用: ```liquid ``` 在 `