Shopify技术咨询:如何将shippingAddress.formatted地区名转为日文
问题描述
我使用以下GraphQL查询获取订阅订单的配送地址:
<<<'QUERY' query ($id: ID!) { subscriptionContract(id: $id) { originOrder { shippingAddress { formatted(withCompany: true, withName: true) } } } } QUERY;
当前返回的格式化地址结果如下:
"formatted": [ "Japan 〒105-0003", "Tokyo 港区", "西新橋一丁目8番1号", "REVZO虎ノ門9F", "元気", "太朗 筋肉様" ]
希望将结果中的「Japan」替换为「日本」、「Tokyo」替换为「東京都」,实现地址的日文本地化显示。
解决方案
方法1:利用API本地化参数
通过设置请求头指定语言,让API直接返回日文格式地址:
- 发送GraphQL请求时,添加请求头:
accept-language: ja-JP - 无需修改现有查询,API会自动将国家、地区名称转换为日文,返回包含「日本」「東京都」的地址结果
方法2:手动处理返回结果
如果无法调整请求头,可在获取数据后对结果做字符串替换处理:
// JavaScript示例:处理地址数组 const rawAddress = response.data.subscriptionContract.originOrder.shippingAddress.formatted; const localizedAddress = rawAddress.map(item => { return item.replace('Japan', '日本').replace('Tokyo', '東京都'); });
内容的提问来源于stack exchange,提问作者Seok Loi
相关产品推荐
相关产品推荐

