@salesforce/retail-react-app 1.0.0-preview.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (425) hide show
  1. package/.eslintignore +7 -0
  2. package/.eslintrc.js +25 -0
  3. package/.prettierignore +4 -0
  4. package/.prettierrc.yaml +7 -0
  5. package/CHANGELOG.md +173 -0
  6. package/LICENSE +14 -0
  7. package/README.md +48 -0
  8. package/app/assets/svg/account.svg +3 -0
  9. package/app/assets/svg/alert.svg +3 -0
  10. package/app/assets/svg/basket.svg +3 -0
  11. package/app/assets/svg/brand-logo.svg +10 -0
  12. package/app/assets/svg/cc-amex.svg +7 -0
  13. package/app/assets/svg/cc-cvv.svg +8 -0
  14. package/app/assets/svg/cc-discover.svg +14 -0
  15. package/app/assets/svg/cc-mastercard.svg +8 -0
  16. package/app/assets/svg/cc-visa.svg +11 -0
  17. package/app/assets/svg/check-circle.svg +3 -0
  18. package/app/assets/svg/check.svg +3 -0
  19. package/app/assets/svg/chevron-down.svg +3 -0
  20. package/app/assets/svg/chevron-left.svg +3 -0
  21. package/app/assets/svg/chevron-right.svg +3 -0
  22. package/app/assets/svg/chevron-up.svg +3 -0
  23. package/app/assets/svg/close.svg +3 -0
  24. package/app/assets/svg/dashboard.svg +4 -0
  25. package/app/assets/svg/figma-logo.svg +14 -0
  26. package/app/assets/svg/file.svg +3 -0
  27. package/app/assets/svg/filter.svg +3 -0
  28. package/app/assets/svg/flag-ca.svg +5 -0
  29. package/app/assets/svg/flag-cn.svg +19 -0
  30. package/app/assets/svg/flag-fr.svg +19 -0
  31. package/app/assets/svg/flag-gb.svg +16 -0
  32. package/app/assets/svg/flag-it.svg +29 -0
  33. package/app/assets/svg/flag-jp.svg +10 -0
  34. package/app/assets/svg/flag-us.svg +7 -0
  35. package/app/assets/svg/github-logo.svg +40 -0
  36. package/app/assets/svg/hamburger.svg +8 -0
  37. package/app/assets/svg/heart-solid.svg +7 -0
  38. package/app/assets/svg/heart.svg +3 -0
  39. package/app/assets/svg/info.svg +3 -0
  40. package/app/assets/svg/like.svg +4 -0
  41. package/app/assets/svg/location.svg +3 -0
  42. package/app/assets/svg/lock.svg +3 -0
  43. package/app/assets/svg/paypal.svg +19 -0
  44. package/app/assets/svg/plug.svg +3 -0
  45. package/app/assets/svg/plus.svg +3 -0
  46. package/app/assets/svg/receipt.svg +3 -0
  47. package/app/assets/svg/search.svg +8 -0
  48. package/app/assets/svg/signout.svg +3 -0
  49. package/app/assets/svg/social-facebook.svg +3 -0
  50. package/app/assets/svg/social-instagram.svg +3 -0
  51. package/app/assets/svg/social-pinterest.svg +4 -0
  52. package/app/assets/svg/social-twitter.svg +3 -0
  53. package/app/assets/svg/social-youtube.svg +3 -0
  54. package/app/assets/svg/user.svg +3 -0
  55. package/app/assets/svg/visibility-off.svg +5 -0
  56. package/app/assets/svg/visibility.svg +3 -0
  57. package/app/components/_app/index.jsx +401 -0
  58. package/app/components/_app/index.test.js +85 -0
  59. package/app/components/_app/partials/above-header.jsx +10 -0
  60. package/app/components/_app-config/index.jsx +125 -0
  61. package/app/components/_app-config/index.test.js +77 -0
  62. package/app/components/_error/index.jsx +142 -0
  63. package/app/components/_error/index.test.js +25 -0
  64. package/app/components/action-card/index.jsx +75 -0
  65. package/app/components/address-display/index.jsx +30 -0
  66. package/app/components/basic-tile/index.jsx +65 -0
  67. package/app/components/basic-tile/index.test.js +23 -0
  68. package/app/components/breadcrumb/index.jsx +67 -0
  69. package/app/components/breadcrumb/index.test.js +30 -0
  70. package/app/components/confirmation-modal/index.jsx +111 -0
  71. package/app/components/confirmation-modal/index.test.js +98 -0
  72. package/app/components/drawer-menu/index.jsx +405 -0
  73. package/app/components/drawer-menu/index.test.js +33 -0
  74. package/app/components/dynamic-image/index.jsx +56 -0
  75. package/app/components/field/index.jsx +161 -0
  76. package/app/components/footer/index.jsx +269 -0
  77. package/app/components/footer/index.test.js +22 -0
  78. package/app/components/forms/address-fields.jsx +49 -0
  79. package/app/components/forms/credit-card-fields.jsx +149 -0
  80. package/app/components/forms/form-action-buttons.jsx +55 -0
  81. package/app/components/forms/login-fields.jsx +31 -0
  82. package/app/components/forms/password-requirements.jsx +99 -0
  83. package/app/components/forms/post-checkout-registration-fields.jsx +43 -0
  84. package/app/components/forms/profile-fields.jsx +36 -0
  85. package/app/components/forms/promo-code-fields.jsx +43 -0
  86. package/app/components/forms/registration-fields.jsx +42 -0
  87. package/app/components/forms/reset-password-fields.jsx +31 -0
  88. package/app/components/forms/state-province-options.jsx +75 -0
  89. package/app/components/forms/update-password-fields.jsx +49 -0
  90. package/app/components/forms/useAddressFields.jsx +196 -0
  91. package/app/components/forms/useCreditCardFields.jsx +146 -0
  92. package/app/components/forms/useLoginFields.jsx +52 -0
  93. package/app/components/forms/useProfileFields.jsx +95 -0
  94. package/app/components/forms/usePromoCodeFields.jsx +39 -0
  95. package/app/components/forms/useRegistrationFields.jsx +136 -0
  96. package/app/components/forms/useResetPasswordFields.jsx +40 -0
  97. package/app/components/forms/useUpdatePasswordFields.jsx +89 -0
  98. package/app/components/header/index.jsx +290 -0
  99. package/app/components/header/index.test.js +217 -0
  100. package/app/components/hero/index.jsx +84 -0
  101. package/app/components/hero/index.test.js +40 -0
  102. package/app/components/icons/index.jsx +158 -0
  103. package/app/components/icons/index.test.js +20 -0
  104. package/app/components/image-gallery/index.jsx +176 -0
  105. package/app/components/image-gallery/index.test.js +485 -0
  106. package/app/components/item-variant/index.jsx +33 -0
  107. package/app/components/item-variant/item-attributes.jsx +107 -0
  108. package/app/components/item-variant/item-image.jsx +73 -0
  109. package/app/components/item-variant/item-name.jsx +28 -0
  110. package/app/components/item-variant/item-price.jsx +117 -0
  111. package/app/components/link/index.jsx +32 -0
  112. package/app/components/link/index.test.js +72 -0
  113. package/app/components/links-list/index.jsx +89 -0
  114. package/app/components/links-list/index.test.js +62 -0
  115. package/app/components/list-menu/index.jsx +280 -0
  116. package/app/components/list-menu/index.test.js +44 -0
  117. package/app/components/loading-spinner/index.jsx +46 -0
  118. package/app/components/locale-selector/index.jsx +124 -0
  119. package/app/components/locale-selector/index.test.js +37 -0
  120. package/app/components/locale-text/index.jsx +97 -0
  121. package/app/components/locale-text/index.test.js +36 -0
  122. package/app/components/login/index.jsx +96 -0
  123. package/app/components/nested-accordion/index.jsx +185 -0
  124. package/app/components/nested-accordion/index.test.js +98 -0
  125. package/app/components/offline-banner/index.jsx +40 -0
  126. package/app/components/offline-banner/index.test.js +15 -0
  127. package/app/components/offline-boundary/index.jsx +104 -0
  128. package/app/components/offline-boundary/index.test.js +123 -0
  129. package/app/components/order-summary/index.jsx +331 -0
  130. package/app/components/page-action-placeholder/index.jsx +50 -0
  131. package/app/components/pagination/index.jsx +134 -0
  132. package/app/components/pagination/index.test.js +25 -0
  133. package/app/components/product-item/index.jsx +146 -0
  134. package/app/components/product-item/index.test.js +38 -0
  135. package/app/components/product-scroller/index.jsx +172 -0
  136. package/app/components/product-scroller/index.test.js +98 -0
  137. package/app/components/product-tile/index.jsx +195 -0
  138. package/app/components/product-tile/index.test.js +96 -0
  139. package/app/components/product-view/index.jsx +538 -0
  140. package/app/components/product-view/index.test.js +224 -0
  141. package/app/components/product-view-modal/index.jsx +48 -0
  142. package/app/components/product-view-modal/index.test.js +72 -0
  143. package/app/components/promo-code/index.jsx +162 -0
  144. package/app/components/promo-popover/index.jsx +83 -0
  145. package/app/components/quantity-picker/index.jsx +58 -0
  146. package/app/components/radio-card/index.jsx +75 -0
  147. package/app/components/recommended-products/index.jsx +227 -0
  148. package/app/components/register/index.jsx +114 -0
  149. package/app/components/reset-password/index.jsx +87 -0
  150. package/app/components/responsive/index.jsx +29 -0
  151. package/app/components/scroll-to-top/index.jsx +24 -0
  152. package/app/components/scroll-to-top/index.test.js +46 -0
  153. package/app/components/search/index.jsx +279 -0
  154. package/app/components/search/index.test.js +127 -0
  155. package/app/components/search/partials/recent-searches.jsx +76 -0
  156. package/app/components/search/partials/search-suggestions.jsx +45 -0
  157. package/app/components/search/partials/suggestions.jsx +43 -0
  158. package/app/components/section/index.jsx +68 -0
  159. package/app/components/seo/index.jsx +33 -0
  160. package/app/components/social-icons/index.jsx +101 -0
  161. package/app/components/social-icons/index.test.js +30 -0
  162. package/app/components/swatch-group/index.jsx +77 -0
  163. package/app/components/swatch-group/index.test.js +136 -0
  164. package/app/components/swatch-group/swatch.jsx +94 -0
  165. package/app/components/toggle-card/index.jsx +97 -0
  166. package/app/components/with-registration/index.jsx +58 -0
  167. package/app/components/with-registration/index.test.js +85 -0
  168. package/app/constants.js +109 -0
  169. package/app/contexts/index.js +92 -0
  170. package/app/hooks/einstein-mock-data.js +916 -0
  171. package/app/hooks/index.js +17 -0
  172. package/app/hooks/use-add-to-cart-modal.js +344 -0
  173. package/app/hooks/use-add-to-cart-modal.test.js +625 -0
  174. package/app/hooks/use-auth-modal.js +337 -0
  175. package/app/hooks/use-auth-modal.test.js +365 -0
  176. package/app/hooks/use-currency.js +20 -0
  177. package/app/hooks/use-currency.test.js +41 -0
  178. package/app/hooks/use-current-basket.js +39 -0
  179. package/app/hooks/use-current-customer.js +29 -0
  180. package/app/hooks/use-derived-product.js +77 -0
  181. package/app/hooks/use-derived-product.test.js +69 -0
  182. package/app/hooks/use-einstein.js +512 -0
  183. package/app/hooks/use-einstein.test.js +224 -0
  184. package/app/hooks/use-intersection-observer.js +64 -0
  185. package/app/hooks/use-limit-urls.js +31 -0
  186. package/app/hooks/use-limit-urls.test.js +40 -0
  187. package/app/hooks/use-multi-site.js +36 -0
  188. package/app/hooks/use-multi-site.test.js +53 -0
  189. package/app/hooks/use-navigation.js +37 -0
  190. package/app/hooks/use-navigation.test.js +109 -0
  191. package/app/hooks/use-page-urls.js +35 -0
  192. package/app/hooks/use-page-urls.test.js +39 -0
  193. package/app/hooks/use-pdp-search-params.js +16 -0
  194. package/app/hooks/use-pdp-search-params.test.js +52 -0
  195. package/app/hooks/use-previous.js +17 -0
  196. package/app/hooks/use-product-view-modal.js +93 -0
  197. package/app/hooks/use-product-view-modal.test.js +172 -0
  198. package/app/hooks/use-search-params.js +96 -0
  199. package/app/hooks/use-search-params.test.js +91 -0
  200. package/app/hooks/use-sort-urls.js +33 -0
  201. package/app/hooks/use-sort-urls.test.js +42 -0
  202. package/app/hooks/use-toast.js +68 -0
  203. package/app/hooks/use-toast.test.js +58 -0
  204. package/app/hooks/use-variant.js +32 -0
  205. package/app/hooks/use-variant.test.js +81 -0
  206. package/app/hooks/use-variation-attributes.js +138 -0
  207. package/app/hooks/use-variation-attributes.test.js +119 -0
  208. package/app/hooks/use-variation-params.js +31 -0
  209. package/app/hooks/use-variation-params.test.js +73 -0
  210. package/app/hooks/use-wish-list.js +42 -0
  211. package/app/main.jsx +14 -0
  212. package/app/mocks/basket-with-suit.js +146 -0
  213. package/app/mocks/empty-basket.js +39 -0
  214. package/app/mocks/mock-data.js +5632 -0
  215. package/app/mocks/product-set-winter-lookM.js +1224 -0
  216. package/app/mocks/searchResults.js +144 -0
  217. package/app/mocks/variant-750518699578M.js +434 -0
  218. package/app/page-designer/README.md +102 -0
  219. package/app/page-designer/assets/image-tile/index.jsx +51 -0
  220. package/app/page-designer/assets/image-tile/index.test.js +30 -0
  221. package/app/page-designer/assets/image-with-text/index.jsx +140 -0
  222. package/app/page-designer/assets/image-with-text/index.test.js +38 -0
  223. package/app/page-designer/assets/index.js +9 -0
  224. package/app/page-designer/index.js +10 -0
  225. package/app/page-designer/layouts/carousel/index.jsx +222 -0
  226. package/app/page-designer/layouts/carousel/index.test.js +43 -0
  227. package/app/page-designer/layouts/index.js +14 -0
  228. package/app/page-designer/layouts/mobileGrid1r1c/index.jsx +36 -0
  229. package/app/page-designer/layouts/mobileGrid1r1c/index.test.js +35 -0
  230. package/app/page-designer/layouts/mobileGrid2r1c/index.jsx +37 -0
  231. package/app/page-designer/layouts/mobileGrid2r1c/index.test.js +47 -0
  232. package/app/page-designer/layouts/mobileGrid2r2c/index.jsx +37 -0
  233. package/app/page-designer/layouts/mobileGrid2r2c/index.test.js +71 -0
  234. package/app/page-designer/layouts/mobileGrid2r3c/index.jsx +37 -0
  235. package/app/page-designer/layouts/mobileGrid2r3c/index.test.js +95 -0
  236. package/app/page-designer/layouts/mobileGrid3r1c/index.jsx +37 -0
  237. package/app/page-designer/layouts/mobileGrid3r1c/index.test.js +59 -0
  238. package/app/page-designer/layouts/mobileGrid3r2c/index.jsx +37 -0
  239. package/app/page-designer/layouts/mobileGrid3r2c/index.test.js +95 -0
  240. package/app/page-designer/utils.js +14 -0
  241. package/app/pages/account/addresses.jsx +382 -0
  242. package/app/pages/account/addresses.test.js +120 -0
  243. package/app/pages/account/constant.js +57 -0
  244. package/app/pages/account/index.jsx +237 -0
  245. package/app/pages/account/index.test.js +188 -0
  246. package/app/pages/account/order-detail.jsx +397 -0
  247. package/app/pages/account/order-history.jsx +264 -0
  248. package/app/pages/account/orders.jsx +30 -0
  249. package/app/pages/account/orders.test.js +95 -0
  250. package/app/pages/account/profile.jsx +357 -0
  251. package/app/pages/account/wishlist/index.jsx +195 -0
  252. package/app/pages/account/wishlist/index.mock.js +1481 -0
  253. package/app/pages/account/wishlist/index.test.js +56 -0
  254. package/app/pages/account/wishlist/partials/wishlist-primary-action.jsx +170 -0
  255. package/app/pages/account/wishlist/partials/wishlist-primary-action.mock.js +1623 -0
  256. package/app/pages/account/wishlist/partials/wishlist-primary-action.test.js +99 -0
  257. package/app/pages/account/wishlist/partials/wishlist-secondary-button-group.jsx +120 -0
  258. package/app/pages/account/wishlist/partials/wishlist-secondary-button-group.test.js +391 -0
  259. package/app/pages/cart/index.jsx +476 -0
  260. package/app/pages/cart/index.test.js +481 -0
  261. package/app/pages/cart/partials/cart-cta.jsx +46 -0
  262. package/app/pages/cart/partials/cart-secondary-button-group.jsx +135 -0
  263. package/app/pages/cart/partials/cart-secondary-button-group.test.js +103 -0
  264. package/app/pages/cart/partials/cart-skeleton.jsx +93 -0
  265. package/app/pages/cart/partials/cart-title.jsx +27 -0
  266. package/app/pages/cart/partials/empty-cart.jsx +86 -0
  267. package/app/pages/checkout/confirmation.jsx +541 -0
  268. package/app/pages/checkout/confirmation.mock.js +450 -0
  269. package/app/pages/checkout/confirmation.test.js +114 -0
  270. package/app/pages/checkout/index.jsx +169 -0
  271. package/app/pages/checkout/index.test.js +582 -0
  272. package/app/pages/checkout/partials/cc-radio-group.jsx +122 -0
  273. package/app/pages/checkout/partials/checkout-footer.jsx +140 -0
  274. package/app/pages/checkout/partials/checkout-footer.test.js +16 -0
  275. package/app/pages/checkout/partials/checkout-header.jsx +54 -0
  276. package/app/pages/checkout/partials/checkout-header.test.js +16 -0
  277. package/app/pages/checkout/partials/checkout-skeleton.jsx +52 -0
  278. package/app/pages/checkout/partials/contact-info.jsx +251 -0
  279. package/app/pages/checkout/partials/contact-info.test.js +43 -0
  280. package/app/pages/checkout/partials/payment-form.jsx +97 -0
  281. package/app/pages/checkout/partials/payment.jsx +276 -0
  282. package/app/pages/checkout/partials/shipping-address-selection.jsx +377 -0
  283. package/app/pages/checkout/partials/shipping-address.jsx +132 -0
  284. package/app/pages/checkout/partials/shipping-options.jsx +232 -0
  285. package/app/pages/checkout/util/checkout-context.js +94 -0
  286. package/app/pages/home/data.js +134 -0
  287. package/app/pages/home/index.jsx +301 -0
  288. package/app/pages/home/index.test.js +23 -0
  289. package/app/pages/login/index.jsx +123 -0
  290. package/app/pages/login/index.test.js +229 -0
  291. package/app/pages/login-redirect/index.jsx +23 -0
  292. package/app/pages/login-redirect/index.test.js +16 -0
  293. package/app/pages/page-not-found/index.jsx +90 -0
  294. package/app/pages/page-not-found/index.test.js +31 -0
  295. package/app/pages/product-detail/index.jsx +394 -0
  296. package/app/pages/product-detail/index.mock.js +197 -0
  297. package/app/pages/product-detail/index.test.js +162 -0
  298. package/app/pages/product-detail/partials/information-accordion.jsx +121 -0
  299. package/app/pages/product-list/index.jsx +735 -0
  300. package/app/pages/product-list/index.test.js +180 -0
  301. package/app/pages/product-list/partials/above-page-header.jsx +10 -0
  302. package/app/pages/product-list/partials/checkbox-refinements.jsx +41 -0
  303. package/app/pages/product-list/partials/checkbox-refinements.test.js +53 -0
  304. package/app/pages/product-list/partials/color-refinements.jsx +88 -0
  305. package/app/pages/product-list/partials/empty-results.jsx +118 -0
  306. package/app/pages/product-list/partials/link-refinements.jsx +38 -0
  307. package/app/pages/product-list/partials/page-header.jsx +42 -0
  308. package/app/pages/product-list/partials/radio-refinements.jsx +60 -0
  309. package/app/pages/product-list/partials/refinements.jsx +144 -0
  310. package/app/pages/product-list/partials/selected-refinements.jsx +100 -0
  311. package/app/pages/product-list/partials/size-refinements.jsx +55 -0
  312. package/app/pages/registration/index.jsx +87 -0
  313. package/app/pages/registration/index.test.jsx +132 -0
  314. package/app/pages/reset-password/index.jsx +112 -0
  315. package/app/pages/reset-password/index.test.jsx +141 -0
  316. package/app/request-processor.js +118 -0
  317. package/app/request-processor.test.js +23 -0
  318. package/app/routes.jsx +111 -0
  319. package/app/routes.test.js +13 -0
  320. package/app/ssr.js +70 -0
  321. package/app/static/ico/favicon.ico +0 -0
  322. package/app/static/img/global/app-icon-192.png +0 -0
  323. package/app/static/img/global/app-icon-512.png +0 -0
  324. package/app/static/img/global/apple-touch-icon.png +0 -0
  325. package/app/static/img/hero.png +0 -0
  326. package/app/static/manifest.json +19 -0
  327. package/app/static/robots.txt +2 -0
  328. package/app/theme/components/base/accordion.js +21 -0
  329. package/app/theme/components/base/alert.js +17 -0
  330. package/app/theme/components/base/badge.js +25 -0
  331. package/app/theme/components/base/button.js +77 -0
  332. package/app/theme/components/base/checkbox.js +30 -0
  333. package/app/theme/components/base/container.js +17 -0
  334. package/app/theme/components/base/drawer.js +26 -0
  335. package/app/theme/components/base/formLabel.js +13 -0
  336. package/app/theme/components/base/icon.js +13 -0
  337. package/app/theme/components/base/input.js +44 -0
  338. package/app/theme/components/base/modal.js +11 -0
  339. package/app/theme/components/base/popover.js +61 -0
  340. package/app/theme/components/base/radio.js +33 -0
  341. package/app/theme/components/base/select.js +15 -0
  342. package/app/theme/components/base/skeleton.js +12 -0
  343. package/app/theme/components/base/tooltip.js +19 -0
  344. package/app/theme/components/project/_app.js +25 -0
  345. package/app/theme/components/project/breadcrumb.js +25 -0
  346. package/app/theme/components/project/checkout-footer.js +35 -0
  347. package/app/theme/components/project/drawer-menu.js +66 -0
  348. package/app/theme/components/project/footer.js +84 -0
  349. package/app/theme/components/project/header.js +84 -0
  350. package/app/theme/components/project/image-gallery.js +59 -0
  351. package/app/theme/components/project/links-list.js +43 -0
  352. package/app/theme/components/project/list-menu.js +91 -0
  353. package/app/theme/components/project/locale-selector.js +42 -0
  354. package/app/theme/components/project/nested-accordion.js +26 -0
  355. package/app/theme/components/project/offline-banner.js +25 -0
  356. package/app/theme/components/project/pagination.js +22 -0
  357. package/app/theme/components/project/product-tile.js +32 -0
  358. package/app/theme/components/project/social-icons.js +52 -0
  359. package/app/theme/components/project/swatch-group.js +115 -0
  360. package/app/theme/foundations/colors.js +170 -0
  361. package/app/theme/foundations/gradients.js +9 -0
  362. package/app/theme/foundations/layerStyles.js +41 -0
  363. package/app/theme/foundations/shadows.js +9 -0
  364. package/app/theme/foundations/sizes.js +18 -0
  365. package/app/theme/foundations/space.js +9 -0
  366. package/app/theme/foundations/styles.js +21 -0
  367. package/app/theme/index.js +104 -0
  368. package/app/utils/cc-utils.js +112 -0
  369. package/app/utils/cc-utils.test.js +41 -0
  370. package/app/utils/image-groups-utils.js +62 -0
  371. package/app/utils/image-groups-utils.test.js +65 -0
  372. package/app/utils/locale.js +78 -0
  373. package/app/utils/locale.test.js +112 -0
  374. package/app/utils/password-utils.js +21 -0
  375. package/app/utils/phone-utils.js +22 -0
  376. package/app/utils/phone-utils.test.js +15 -0
  377. package/app/utils/product-utils.js +35 -0
  378. package/app/utils/product-utils.test.js +51 -0
  379. package/app/utils/responsive-image.js +198 -0
  380. package/app/utils/responsive-image.test.js +170 -0
  381. package/app/utils/routes-utils.js +111 -0
  382. package/app/utils/routes-utils.test.js +291 -0
  383. package/app/utils/site-utils.js +222 -0
  384. package/app/utils/site-utils.test.js +376 -0
  385. package/app/utils/test-utils.js +257 -0
  386. package/app/utils/url.js +291 -0
  387. package/app/utils/url.test.js +421 -0
  388. package/app/utils/utils.js +201 -0
  389. package/app/utils/utils.test.js +182 -0
  390. package/babel.config.js +7 -0
  391. package/cache-hash-config.json +8 -0
  392. package/config/default.js +64 -0
  393. package/config/mocks/default.js +131 -0
  394. package/config/sites.js +78 -0
  395. package/jest-setup.js +191 -0
  396. package/jest.config.js +50 -0
  397. package/jsconfig.json +13 -0
  398. package/package.json +105 -0
  399. package/scripts/extract-default-messages.js +92 -0
  400. package/tests/lighthouserc.js +37 -0
  401. package/translations/README.md +127 -0
  402. package/translations/compiled/de-DE.json +3212 -0
  403. package/translations/compiled/en-GB.json +3212 -0
  404. package/translations/compiled/en-US.json +3212 -0
  405. package/translations/compiled/en-XA.json +6948 -0
  406. package/translations/compiled/es-MX.json +3216 -0
  407. package/translations/compiled/fr-FR.json +3216 -0
  408. package/translations/compiled/it-IT.json +3188 -0
  409. package/translations/compiled/ja-JP.json +3200 -0
  410. package/translations/compiled/ko-KR.json +3180 -0
  411. package/translations/compiled/pt-BR.json +3220 -0
  412. package/translations/compiled/zh-CN.json +3212 -0
  413. package/translations/compiled/zh-TW.json +3208 -0
  414. package/translations/de-DE.json +1417 -0
  415. package/translations/en-GB.json +1417 -0
  416. package/translations/en-US.json +1417 -0
  417. package/translations/es-MX.json +1417 -0
  418. package/translations/fr-FR.json +1417 -0
  419. package/translations/it-IT.json +1417 -0
  420. package/translations/ja-JP.json +1417 -0
  421. package/translations/ko-KR.json +1417 -0
  422. package/translations/pt-BR.json +1417 -0
  423. package/translations/zh-CN.json +1417 -0
  424. package/translations/zh-TW.json +1417 -0
  425. package/worker/main.js +36 -0
@@ -0,0 +1,1417 @@
1
+ {
2
+ "account.accordion.button.my_account": {
3
+ "defaultMessage": "我的账户"
4
+ },
5
+ "account.heading.my_account": {
6
+ "defaultMessage": "我的账户"
7
+ },
8
+ "account.logout_button.button.log_out": {
9
+ "defaultMessage": "登出"
10
+ },
11
+ "account_addresses.badge.default": {
12
+ "defaultMessage": "默认"
13
+ },
14
+ "account_addresses.button.add_address": {
15
+ "defaultMessage": "添加地址"
16
+ },
17
+ "account_addresses.info.address_updated": {
18
+ "defaultMessage": "已更新地址"
19
+ },
20
+ "account_addresses.info.new_address_saved": {
21
+ "defaultMessage": "已保存新地址"
22
+ },
23
+ "account_addresses.page_action_placeholder.button.add_address": {
24
+ "defaultMessage": "添加地址"
25
+ },
26
+ "account_addresses.page_action_placeholder.heading.no_saved_addresses": {
27
+ "defaultMessage": "没有保存的地址"
28
+ },
29
+ "account_addresses.page_action_placeholder.message.add_new_address": {
30
+ "defaultMessage": "添加新地址方式,加快结账速度。"
31
+ },
32
+ "account_addresses.title.addresses": {
33
+ "defaultMessage": "地址"
34
+ },
35
+ "account_detail.title.account_details": {
36
+ "defaultMessage": "账户详情"
37
+ },
38
+ "account_order_detail.heading.billing_address": {
39
+ "defaultMessage": "账单地址"
40
+ },
41
+ "account_order_detail.heading.num_of_items": {
42
+ "defaultMessage": "{count} 件商品"
43
+ },
44
+ "account_order_detail.heading.payment_method": {
45
+ "defaultMessage": "付款方式"
46
+ },
47
+ "account_order_detail.heading.shipping_address": {
48
+ "defaultMessage": "送货地址"
49
+ },
50
+ "account_order_detail.heading.shipping_method": {
51
+ "defaultMessage": "送货方式"
52
+ },
53
+ "account_order_detail.label.order_number": {
54
+ "defaultMessage": "订单编号:{orderNumber}"
55
+ },
56
+ "account_order_detail.label.ordered_date": {
57
+ "defaultMessage": "下单日期:{date}"
58
+ },
59
+ "account_order_detail.label.pending_tracking_number": {
60
+ "defaultMessage": "待处理"
61
+ },
62
+ "account_order_detail.label.tracking_number": {
63
+ "defaultMessage": "跟踪编号"
64
+ },
65
+ "account_order_detail.link.back_to_history": {
66
+ "defaultMessage": "返回订单记录"
67
+ },
68
+ "account_order_detail.title.order_details": {
69
+ "defaultMessage": "订单详情"
70
+ },
71
+ "account_order_history.button.continue_shopping": {
72
+ "defaultMessage": "继续购物"
73
+ },
74
+ "account_order_history.description.once_you_place_order": {
75
+ "defaultMessage": "下订单后,详细信息将显示在此处。"
76
+ },
77
+ "account_order_history.heading.no_order_yet": {
78
+ "defaultMessage": "您尚未下订单。"
79
+ },
80
+ "account_order_history.label.num_of_items": {
81
+ "defaultMessage": "{count} 件商品",
82
+ "description": "Number of items in order"
83
+ },
84
+ "account_order_history.label.order_number": {
85
+ "defaultMessage": "订单编号:{orderNumber}"
86
+ },
87
+ "account_order_history.label.ordered_date": {
88
+ "defaultMessage": "下单日期:{date}"
89
+ },
90
+ "account_order_history.label.shipped_to": {
91
+ "defaultMessage": "送货至:{name}"
92
+ },
93
+ "account_order_history.link.view_details": {
94
+ "defaultMessage": "查看详情"
95
+ },
96
+ "account_order_history.title.order_history": {
97
+ "defaultMessage": "订单记录"
98
+ },
99
+ "account_payment_methods.button.add_method": {
100
+ "defaultMessage": "添加付款方式"
101
+ },
102
+ "account_payment_methods.description.add_method_for_faster_checkout": {
103
+ "defaultMessage": "添加新付款方式,加快结账速度。"
104
+ },
105
+ "account_payment_methods.heading.no_saved_methods": {
106
+ "defaultMessage": "没有保存的付款方式"
107
+ },
108
+ "account_payment_methods.info.new_method_saved": {
109
+ "defaultMessage": "已保存新付款方式"
110
+ },
111
+ "account_payment_methods.title.payment_methods": {
112
+ "defaultMessage": "付款方式"
113
+ },
114
+ "account_wishlist.button.continue_shopping": {
115
+ "defaultMessage": "继续购物"
116
+ },
117
+ "account_wishlist.description.continue_shopping": {
118
+ "defaultMessage": "继续购物并将商品加入愿望清单。"
119
+ },
120
+ "account_wishlist.heading.no_wishlist": {
121
+ "defaultMessage": "没有愿望清单商品"
122
+ },
123
+ "account_wishlist.title.wishlist": {
124
+ "defaultMessage": "愿望清单"
125
+ },
126
+ "action_card.action.edit": {
127
+ "defaultMessage": "编辑"
128
+ },
129
+ "action_card.action.remove": {
130
+ "defaultMessage": "移除"
131
+ },
132
+ "add_to_cart_modal.info.added_to_cart": {
133
+ "defaultMessage": "{quantity} {quantity, plural, one { 件商品} other { 件商品}}已添加至购物车"
134
+ },
135
+ "add_to_cart_modal.label.cart_subtotal": {
136
+ "defaultMessage": "购物车小计({itemAccumulatedCount} 件商品)"
137
+ },
138
+ "add_to_cart_modal.label.quantity": {
139
+ "defaultMessage": "数量"
140
+ },
141
+ "add_to_cart_modal.link.checkout": {
142
+ "defaultMessage": "继续以结账"
143
+ },
144
+ "add_to_cart_modal.link.view_cart": {
145
+ "defaultMessage": "查看购物车"
146
+ },
147
+ "add_to_cart_modal.recommended_products.title.might_also_like": {
148
+ "defaultMessage": "您可能还喜欢"
149
+ },
150
+ "auth_modal.description.now_signed_in": {
151
+ "defaultMessage": "您现在已登录。"
152
+ },
153
+ "auth_modal.error.incorrect_email_or_password": {
154
+ "defaultMessage": "您的电子邮件或密码有问题。重试"
155
+ },
156
+ "auth_modal.info.welcome_user": {
157
+ "defaultMessage": "欢迎 {name},"
158
+ },
159
+ "auth_modal.password_reset_success.button.back_to_sign_in": {
160
+ "defaultMessage": "返回登录"
161
+ },
162
+ "auth_modal.password_reset_success.info.will_email_shortly": {
163
+ "defaultMessage": "您将通过 <b>{email}</b> 收到包含重置密码链接的电子邮件。"
164
+ },
165
+ "auth_modal.password_reset_success.title.password_reset": {
166
+ "defaultMessage": "密码重置"
167
+ },
168
+ "card_payment_form.heading.new_payment_method": {
169
+ "defaultMessage": "添加新付款方式"
170
+ },
171
+ "cart.info.removed_from_cart": {
172
+ "defaultMessage": "从购物车中移除商品"
173
+ },
174
+ "cart.recommended_products.title.may_also_like": {
175
+ "defaultMessage": "您可能还喜欢"
176
+ },
177
+ "cart.recommended_products.title.recently_viewed": {
178
+ "defaultMessage": "最近查看"
179
+ },
180
+ "cart_cta.link.checkout": {
181
+ "defaultMessage": "继续以结账"
182
+ },
183
+ "cart_secondary_button_group.action.added_to_wishlist": {
184
+ "defaultMessage": "添加到愿望清单"
185
+ },
186
+ "cart_secondary_button_group.action.edit": {
187
+ "defaultMessage": "编辑"
188
+ },
189
+ "cart_secondary_button_group.action.remove": {
190
+ "defaultMessage": "移除"
191
+ },
192
+ "cart_secondary_button_group.label.this_is_gift": {
193
+ "defaultMessage": "这是礼品。"
194
+ },
195
+ "cart_secondary_button_group.link_learn_more": {
196
+ "defaultMessage": "了解更多"
197
+ },
198
+ "cart_skeleton.heading.order_summary": {
199
+ "defaultMessage": "订单摘要"
200
+ },
201
+ "cart_skeleton.title.cart": {
202
+ "defaultMessage": "购物车"
203
+ },
204
+ "cart_title.title.cart_num_of_items": {
205
+ "defaultMessage": "购物车({itemCount, plural, =0 {0 件商品} one {# 件商品} other {# 件商品}})"
206
+ },
207
+ "cc_radio_group.action.remove": {
208
+ "defaultMessage": "移除"
209
+ },
210
+ "cc_radio_group.button.add_new_card": {
211
+ "defaultMessage": "添加新卡"
212
+ },
213
+ "checkout.button.place_order": {
214
+ "defaultMessage": "下订单"
215
+ },
216
+ "checkout.message.generic_error": {
217
+ "defaultMessage": "结帐期间发生意外错误。"
218
+ },
219
+ "checkout_confirmation.button.create_account": {
220
+ "defaultMessage": "创建账户"
221
+ },
222
+ "checkout_confirmation.heading.billing_address": {
223
+ "defaultMessage": "账单地址"
224
+ },
225
+ "checkout_confirmation.heading.create_account": {
226
+ "defaultMessage": "创建账户,加快结账速度"
227
+ },
228
+ "checkout_confirmation.heading.credit_card": {
229
+ "defaultMessage": "信用卡"
230
+ },
231
+ "checkout_confirmation.heading.delivery_details": {
232
+ "defaultMessage": "交货详情"
233
+ },
234
+ "checkout_confirmation.heading.order_summary": {
235
+ "defaultMessage": "订单摘要"
236
+ },
237
+ "checkout_confirmation.heading.payment_details": {
238
+ "defaultMessage": "付款详情"
239
+ },
240
+ "checkout_confirmation.heading.shipping_address": {
241
+ "defaultMessage": "送货地址"
242
+ },
243
+ "checkout_confirmation.heading.shipping_method": {
244
+ "defaultMessage": "送货方式"
245
+ },
246
+ "checkout_confirmation.heading.thank_you_for_order": {
247
+ "defaultMessage": "感谢您订购商品!"
248
+ },
249
+ "checkout_confirmation.label.free": {
250
+ "defaultMessage": "免费"
251
+ },
252
+ "checkout_confirmation.label.order_number": {
253
+ "defaultMessage": "订单编号"
254
+ },
255
+ "checkout_confirmation.label.order_total": {
256
+ "defaultMessage": "订单总额"
257
+ },
258
+ "checkout_confirmation.label.promo_applied": {
259
+ "defaultMessage": "已应用促销"
260
+ },
261
+ "checkout_confirmation.label.shipping": {
262
+ "defaultMessage": "送货"
263
+ },
264
+ "checkout_confirmation.label.subtotal": {
265
+ "defaultMessage": "小计"
266
+ },
267
+ "checkout_confirmation.label.tax": {
268
+ "defaultMessage": "税项"
269
+ },
270
+ "checkout_confirmation.link.continue_shopping": {
271
+ "defaultMessage": "继续购物"
272
+ },
273
+ "checkout_confirmation.link.login": {
274
+ "defaultMessage": "在此处登录"
275
+ },
276
+ "checkout_confirmation.message.already_has_account": {
277
+ "defaultMessage": "此电子邮件地址已注册账户。"
278
+ },
279
+ "checkout_confirmation.message.num_of_items_in_order": {
280
+ "defaultMessage": "{itemCount, plural, =0 {0 件商品} one {# 件商品} other {# 件商品}}",
281
+ "description": "# item(s) in order"
282
+ },
283
+ "checkout_confirmation.message.will_email_shortly": {
284
+ "defaultMessage": "我们会尽快向 <b>{email}</b> 发送带有您的确认号码和收据的电子邮件。"
285
+ },
286
+ "checkout_footer.link.privacy_policy": {
287
+ "defaultMessage": "隐私政策"
288
+ },
289
+ "checkout_footer.link.returns_exchanges": {
290
+ "defaultMessage": "退货与换货"
291
+ },
292
+ "checkout_footer.link.shipping": {
293
+ "defaultMessage": "送货"
294
+ },
295
+ "checkout_footer.link.site_map": {
296
+ "defaultMessage": "站点地图"
297
+ },
298
+ "checkout_footer.link.terms_conditions": {
299
+ "defaultMessage": "条款与条件"
300
+ },
301
+ "checkout_footer.message.copyright": {
302
+ "defaultMessage": "Salesforce 或其附属公司。保留所有权利。此仅为示范商店。所下订单不会被处理。"
303
+ },
304
+ "checkout_header.link.cart": {
305
+ "defaultMessage": "返回购物车"
306
+ },
307
+ "checkout_payment.action.remove": {
308
+ "defaultMessage": "移除"
309
+ },
310
+ "checkout_payment.button.review_order": {
311
+ "defaultMessage": "检查订单"
312
+ },
313
+ "checkout_payment.heading.billing_address": {
314
+ "defaultMessage": "账单地址"
315
+ },
316
+ "checkout_payment.heading.credit_card": {
317
+ "defaultMessage": "信用卡"
318
+ },
319
+ "checkout_payment.label.same_as_shipping": {
320
+ "defaultMessage": "与送货地址相同"
321
+ },
322
+ "checkout_payment.title.payment": {
323
+ "defaultMessage": "付款"
324
+ },
325
+ "confirmation_modal.default.action.no": {
326
+ "defaultMessage": "否"
327
+ },
328
+ "confirmation_modal.default.action.yes": {
329
+ "defaultMessage": "是"
330
+ },
331
+ "confirmation_modal.default.message.you_want_to_continue": {
332
+ "defaultMessage": "是否确定要继续?"
333
+ },
334
+ "confirmation_modal.default.title.confirm_action": {
335
+ "defaultMessage": "确认操作"
336
+ },
337
+ "confirmation_modal.remove_cart_item.action.no": {
338
+ "defaultMessage": "否,保留商品"
339
+ },
340
+ "confirmation_modal.remove_cart_item.action.yes": {
341
+ "defaultMessage": "是,移除商品"
342
+ },
343
+ "confirmation_modal.remove_cart_item.message.sure_to_remove": {
344
+ "defaultMessage": "是否确定要从购物车移除此商品?"
345
+ },
346
+ "confirmation_modal.remove_cart_item.title.confirm_remove": {
347
+ "defaultMessage": "确认移除商品"
348
+ },
349
+ "confirmation_modal.remove_wishlist_item.action.no": {
350
+ "defaultMessage": "否,保留商品"
351
+ },
352
+ "confirmation_modal.remove_wishlist_item.action.yes": {
353
+ "defaultMessage": "是,移除商品"
354
+ },
355
+ "confirmation_modal.remove_wishlist_item.message.sure_to_remove": {
356
+ "defaultMessage": "是否确定要从愿望清单移除此商品?"
357
+ },
358
+ "confirmation_modal.remove_wishlist_item.title.confirm_remove": {
359
+ "defaultMessage": "确认移除商品"
360
+ },
361
+ "contact_info.action.sign_out": {
362
+ "defaultMessage": "注销"
363
+ },
364
+ "contact_info.button.already_have_account": {
365
+ "defaultMessage": "已有账户?登录"
366
+ },
367
+ "contact_info.button.checkout_as_guest": {
368
+ "defaultMessage": "以访客身份结算"
369
+ },
370
+ "contact_info.button.login": {
371
+ "defaultMessage": "登录"
372
+ },
373
+ "contact_info.error.incorrect_username_or_password": {
374
+ "defaultMessage": "用户名或密码错误,请重试。"
375
+ },
376
+ "contact_info.link.forgot_password": {
377
+ "defaultMessage": "忘记密码?"
378
+ },
379
+ "contact_info.title.contact_info": {
380
+ "defaultMessage": "联系信息"
381
+ },
382
+ "credit_card_fields.tool_tip.security_code": {
383
+ "defaultMessage": "此 3 位数代码可在卡的背面找到。",
384
+ "description": "Generic credit card security code help text"
385
+ },
386
+ "credit_card_fields.tool_tip.security_code.american_express": {
387
+ "defaultMessage": "此 4 位数代码可在卡的正面找到。",
388
+ "description": "American Express security code help text"
389
+ },
390
+ "drawer_menu.button.account_details": {
391
+ "defaultMessage": "账户详情"
392
+ },
393
+ "drawer_menu.button.addresses": {
394
+ "defaultMessage": "地址"
395
+ },
396
+ "drawer_menu.button.log_out": {
397
+ "defaultMessage": "退出"
398
+ },
399
+ "drawer_menu.button.my_account": {
400
+ "defaultMessage": "我的账户"
401
+ },
402
+ "drawer_menu.button.order_history": {
403
+ "defaultMessage": "订单记录"
404
+ },
405
+ "drawer_menu.button.payment_methods": {
406
+ "defaultMessage": "付款方式"
407
+ },
408
+ "drawer_menu.link.about_us": {
409
+ "defaultMessage": "关于我们"
410
+ },
411
+ "drawer_menu.link.customer_support": {
412
+ "defaultMessage": "客户支持"
413
+ },
414
+ "drawer_menu.link.customer_support.contact_us": {
415
+ "defaultMessage": "联系我们"
416
+ },
417
+ "drawer_menu.link.customer_support.shipping_and_returns": {
418
+ "defaultMessage": "送货与退货"
419
+ },
420
+ "drawer_menu.link.our_company": {
421
+ "defaultMessage": "我们的公司"
422
+ },
423
+ "drawer_menu.link.privacy_and_security": {
424
+ "defaultMessage": "隐私及安全"
425
+ },
426
+ "drawer_menu.link.privacy_policy": {
427
+ "defaultMessage": "隐私政策"
428
+ },
429
+ "drawer_menu.link.shop_all": {
430
+ "defaultMessage": "购买全部"
431
+ },
432
+ "drawer_menu.link.sign_in": {
433
+ "defaultMessage": "登录"
434
+ },
435
+ "drawer_menu.link.site_map": {
436
+ "defaultMessage": "站点地图"
437
+ },
438
+ "drawer_menu.link.store_locator": {
439
+ "defaultMessage": "实体店地址搜索"
440
+ },
441
+ "drawer_menu.link.terms_and_conditions": {
442
+ "defaultMessage": "条款与条件"
443
+ },
444
+ "empty_cart.description.empty_cart": {
445
+ "defaultMessage": "购物车内没有商品。"
446
+ },
447
+ "empty_cart.link.continue_shopping": {
448
+ "defaultMessage": "继续购物"
449
+ },
450
+ "empty_cart.link.sign_in": {
451
+ "defaultMessage": "登录"
452
+ },
453
+ "empty_cart.message.continue_shopping": {
454
+ "defaultMessage": "继续购物并将商品加入购物车。"
455
+ },
456
+ "empty_cart.message.sign_in_or_continue_shopping": {
457
+ "defaultMessage": "登录以检索您保存的商品或继续购物。"
458
+ },
459
+ "empty_search_results.info.cant_find_anything_for_category": {
460
+ "defaultMessage": "我们找不到{category}的任何内容。尝试搜索产品或{link}。"
461
+ },
462
+ "empty_search_results.info.cant_find_anything_for_query": {
463
+ "defaultMessage": "我们找不到“{searchQuery}”的任何内容。"
464
+ },
465
+ "empty_search_results.info.double_check_spelling": {
466
+ "defaultMessage": "请仔细检查您的拼写并重试或{link}。"
467
+ },
468
+ "empty_search_results.link.contact_us": {
469
+ "defaultMessage": "联系我们"
470
+ },
471
+ "empty_search_results.recommended_products.title.most_viewed": {
472
+ "defaultMessage": "查看最多的商品"
473
+ },
474
+ "empty_search_results.recommended_products.title.top_sellers": {
475
+ "defaultMessage": "最畅销"
476
+ },
477
+ "footer.column.account": {
478
+ "defaultMessage": "账户"
479
+ },
480
+ "footer.column.customer_support": {
481
+ "defaultMessage": "客户支持"
482
+ },
483
+ "footer.column.our_company": {
484
+ "defaultMessage": "我们的公司"
485
+ },
486
+ "footer.link.about_us": {
487
+ "defaultMessage": "关于我们"
488
+ },
489
+ "footer.link.contact_us": {
490
+ "defaultMessage": "联系我们"
491
+ },
492
+ "footer.link.order_status": {
493
+ "defaultMessage": "订单状态"
494
+ },
495
+ "footer.link.privacy_policy": {
496
+ "defaultMessage": "隐私政策"
497
+ },
498
+ "footer.link.shipping": {
499
+ "defaultMessage": "送货"
500
+ },
501
+ "footer.link.signin_create_account": {
502
+ "defaultMessage": "登录或创建账户"
503
+ },
504
+ "footer.link.site_map": {
505
+ "defaultMessage": "站点地图"
506
+ },
507
+ "footer.link.store_locator": {
508
+ "defaultMessage": "实体店地址搜索"
509
+ },
510
+ "footer.link.terms_conditions": {
511
+ "defaultMessage": "条款与条件"
512
+ },
513
+ "footer.message.copyright": {
514
+ "defaultMessage": "Salesforce 或其附属公司。保留所有权利。此仅为示范商店。所下订单不会被处理。"
515
+ },
516
+ "footer.subscribe.button.sign_up": {
517
+ "defaultMessage": "注册"
518
+ },
519
+ "footer.subscribe.description.sign_up": {
520
+ "defaultMessage": "注册以随时了解最热门的交易"
521
+ },
522
+ "footer.subscribe.heading.first_to_know": {
523
+ "defaultMessage": "率先了解"
524
+ },
525
+ "form_action_buttons.button.cancel": {
526
+ "defaultMessage": "取消"
527
+ },
528
+ "form_action_buttons.button.save": {
529
+ "defaultMessage": "保存"
530
+ },
531
+ "global.account.link.account_details": {
532
+ "defaultMessage": "账户详情"
533
+ },
534
+ "global.account.link.addresses": {
535
+ "defaultMessage": "地址"
536
+ },
537
+ "global.account.link.order_history": {
538
+ "defaultMessage": "订单记录"
539
+ },
540
+ "global.account.link.payment_methods": {
541
+ "defaultMessage": "付款方式"
542
+ },
543
+ "global.account.link.wishlist": {
544
+ "defaultMessage": "愿望清单"
545
+ },
546
+ "global.error.something_went_wrong": {
547
+ "defaultMessage": "出现错误。重试。"
548
+ },
549
+ "global.info.added_to_wishlist": {
550
+ "defaultMessage": "{quantity} {quantity, plural, one { 件商品} other { 件商品}}已添加至愿望清单"
551
+ },
552
+ "global.info.removed_from_wishlist": {
553
+ "defaultMessage": "从愿望清单中移除商品"
554
+ },
555
+ "global.link.added_to_wishlist.view_wishlist": {
556
+ "defaultMessage": "查看"
557
+ },
558
+ "header.button.assistive_msg.logo": {
559
+ "defaultMessage": "标志"
560
+ },
561
+ "header.button.assistive_msg.menu": {
562
+ "defaultMessage": "菜单"
563
+ },
564
+ "header.button.assistive_msg.my_account": {
565
+ "defaultMessage": "我的账户"
566
+ },
567
+ "header.button.assistive_msg.my_cart": {
568
+ "defaultMessage": "我的购物车"
569
+ },
570
+ "header.button.assistive_msg.wishlist": {
571
+ "defaultMessage": "愿望清单"
572
+ },
573
+ "header.field.placeholder.search_for_products": {
574
+ "defaultMessage": "搜索产品..."
575
+ },
576
+ "header.popover.action.log_out": {
577
+ "defaultMessage": "登出"
578
+ },
579
+ "header.popover.title.my_account": {
580
+ "defaultMessage": "我的账户"
581
+ },
582
+ "home.description.features": {
583
+ "defaultMessage": "开箱即用的功能,让您只需专注于添加增强功能。"
584
+ },
585
+ "home.description.here_to_help": {
586
+ "defaultMessage": "联系我们的支持人员。"
587
+ },
588
+ "home.description.here_to_help_line_2": {
589
+ "defaultMessage": "他们将为您提供适当指导。"
590
+ },
591
+ "home.description.shop_products": {
592
+ "defaultMessage": "本节包含目录中的内容。{docLink}(关于如何进行更换)",
593
+ "description": "{docLink} is a html button that links the user to https://sfdc.co/business-manager-manage-catalogs"
594
+ },
595
+ "home.features.description.cart_checkout": {
596
+ "defaultMessage": "购物者购物车和结账体验的电子商务最佳实践。"
597
+ },
598
+ "home.features.description.components": {
599
+ "defaultMessage": "使用 Chakra UI 构建,Chakra UI 是一个简单、模块化且可访问的 React 组件库。"
600
+ },
601
+ "home.features.description.einstein_recommendations": {
602
+ "defaultMessage": "通过产品推荐向每位购物者提供下一个最佳产品或优惠。"
603
+ },
604
+ "home.features.description.my_account": {
605
+ "defaultMessage": "购物者可以管理账户信息,例如个人概况、地址、付款和订单。"
606
+ },
607
+ "home.features.description.shopper_login": {
608
+ "defaultMessage": "使购物者能够轻松登录并获得更加个性化的购物体验。"
609
+ },
610
+ "home.features.description.wishlist": {
611
+ "defaultMessage": "已注册的购物者可以将产品添加到愿望清单,以便日后购买。"
612
+ },
613
+ "home.features.heading.cart_checkout": {
614
+ "defaultMessage": "购物车和结账"
615
+ },
616
+ "home.features.heading.components": {
617
+ "defaultMessage": "组件和 Design Kit"
618
+ },
619
+ "home.features.heading.einstein_recommendations": {
620
+ "defaultMessage": "Einstein 推荐"
621
+ },
622
+ "home.features.heading.my_account": {
623
+ "defaultMessage": "我的账户"
624
+ },
625
+ "home.features.heading.shopper_login": {
626
+ "defaultMessage": "Shopper Login and API Access Service"
627
+ },
628
+ "home.features.heading.wishlist": {
629
+ "defaultMessage": "愿望清单"
630
+ },
631
+ "home.heading.features": {
632
+ "defaultMessage": "功能"
633
+ },
634
+ "home.heading.here_to_help": {
635
+ "defaultMessage": "我们随时提供帮助"
636
+ },
637
+ "home.heading.shop_products": {
638
+ "defaultMessage": "购买产品"
639
+ },
640
+ "home.hero_features.link.design_kit": {
641
+ "defaultMessage": "采用 Figma PWA Design Kit 创建"
642
+ },
643
+ "home.hero_features.link.on_github": {
644
+ "defaultMessage": "在 Github 下载"
645
+ },
646
+ "home.hero_features.link.on_managed_runtime": {
647
+ "defaultMessage": "Managed Runtime 部署"
648
+ },
649
+ "home.link.contact_us": {
650
+ "defaultMessage": "联系我们"
651
+ },
652
+ "home.link.get_started": {
653
+ "defaultMessage": "入门指南"
654
+ },
655
+ "home.link.read_docs": {
656
+ "defaultMessage": "阅读文档"
657
+ },
658
+ "home.title.react_starter_store": {
659
+ "defaultMessage": "零售 React PWA 入门商铺"
660
+ },
661
+ "item_attributes.label.promotions": {
662
+ "defaultMessage": "促销"
663
+ },
664
+ "item_attributes.label.quantity": {
665
+ "defaultMessage": "数量:{quantity}"
666
+ },
667
+ "item_image.label.sale": {
668
+ "defaultMessage": "销售",
669
+ "description": "A sale badge placed on top of a product image"
670
+ },
671
+ "lCPCxk": {
672
+ "defaultMessage": "请在上面选择所有选项"
673
+ },
674
+ "locale_text.message.ar-SA": {
675
+ "defaultMessage": "阿拉伯语(沙特阿拉伯)"
676
+ },
677
+ "locale_text.message.bn-BD": {
678
+ "defaultMessage": "孟加拉语(孟加拉国)"
679
+ },
680
+ "locale_text.message.bn-IN": {
681
+ "defaultMessage": "孟加拉语(印度)"
682
+ },
683
+ "locale_text.message.cs-CZ": {
684
+ "defaultMessage": "捷克语(捷克共和国)"
685
+ },
686
+ "locale_text.message.da-DK": {
687
+ "defaultMessage": "丹麦语(丹麦)"
688
+ },
689
+ "locale_text.message.de-AT": {
690
+ "defaultMessage": "德语(奥地利)"
691
+ },
692
+ "locale_text.message.de-CH": {
693
+ "defaultMessage": "德语(瑞士)"
694
+ },
695
+ "locale_text.message.de-DE": {
696
+ "defaultMessage": "德语(德国)"
697
+ },
698
+ "locale_text.message.el-GR": {
699
+ "defaultMessage": "希腊语(希腊)"
700
+ },
701
+ "locale_text.message.en-AU": {
702
+ "defaultMessage": "英语(澳大利亚)"
703
+ },
704
+ "locale_text.message.en-CA": {
705
+ "defaultMessage": "英语(加拿大)"
706
+ },
707
+ "locale_text.message.en-GB": {
708
+ "defaultMessage": "英语(英国)"
709
+ },
710
+ "locale_text.message.en-IE": {
711
+ "defaultMessage": "英语(爱尔兰)"
712
+ },
713
+ "locale_text.message.en-IN": {
714
+ "defaultMessage": "英语(印度)"
715
+ },
716
+ "locale_text.message.en-NZ": {
717
+ "defaultMessage": "英语(新西兰)"
718
+ },
719
+ "locale_text.message.en-US": {
720
+ "defaultMessage": "英语(美国)"
721
+ },
722
+ "locale_text.message.en-ZA": {
723
+ "defaultMessage": "英语(南非)"
724
+ },
725
+ "locale_text.message.es-AR": {
726
+ "defaultMessage": "西班牙语(阿根廷)"
727
+ },
728
+ "locale_text.message.es-CL": {
729
+ "defaultMessage": "西班牙语(智利)"
730
+ },
731
+ "locale_text.message.es-CO": {
732
+ "defaultMessage": "西班牙语(哥伦比亚)"
733
+ },
734
+ "locale_text.message.es-ES": {
735
+ "defaultMessage": "西班牙语(西班牙)"
736
+ },
737
+ "locale_text.message.es-MX": {
738
+ "defaultMessage": "西班牙语(墨西哥)"
739
+ },
740
+ "locale_text.message.es-US": {
741
+ "defaultMessage": "西班牙语(美国)"
742
+ },
743
+ "locale_text.message.fi-FI": {
744
+ "defaultMessage": "芬兰语(芬兰)"
745
+ },
746
+ "locale_text.message.fr-BE": {
747
+ "defaultMessage": "法语(比利时)"
748
+ },
749
+ "locale_text.message.fr-CA": {
750
+ "defaultMessage": "法语(加拿大)"
751
+ },
752
+ "locale_text.message.fr-CH": {
753
+ "defaultMessage": "法语(瑞士)"
754
+ },
755
+ "locale_text.message.fr-FR": {
756
+ "defaultMessage": "法语(法国)"
757
+ },
758
+ "locale_text.message.he-IL": {
759
+ "defaultMessage": "希伯来语(以色列)"
760
+ },
761
+ "locale_text.message.hi-IN": {
762
+ "defaultMessage": "印地语(印度)"
763
+ },
764
+ "locale_text.message.hu-HU": {
765
+ "defaultMessage": "匈牙利语(匈牙利)"
766
+ },
767
+ "locale_text.message.id-ID": {
768
+ "defaultMessage": "印尼语(印度尼西亚)"
769
+ },
770
+ "locale_text.message.it-CH": {
771
+ "defaultMessage": "意大利语(瑞士)"
772
+ },
773
+ "locale_text.message.it-IT": {
774
+ "defaultMessage": "意大利语(意大利)"
775
+ },
776
+ "locale_text.message.ja-JP": {
777
+ "defaultMessage": "日语(日本)"
778
+ },
779
+ "locale_text.message.ko-KR": {
780
+ "defaultMessage": "韩语(韩国)"
781
+ },
782
+ "locale_text.message.nl-BE": {
783
+ "defaultMessage": "荷兰语(比利时)"
784
+ },
785
+ "locale_text.message.nl-NL": {
786
+ "defaultMessage": "荷兰语(荷兰)"
787
+ },
788
+ "locale_text.message.no-NO": {
789
+ "defaultMessage": "挪威语(挪威)"
790
+ },
791
+ "locale_text.message.pl-PL": {
792
+ "defaultMessage": "波兰语(波兰)"
793
+ },
794
+ "locale_text.message.pt-BR": {
795
+ "defaultMessage": "葡萄牙语(巴西)"
796
+ },
797
+ "locale_text.message.pt-PT": {
798
+ "defaultMessage": "葡萄牙语(葡萄牙)"
799
+ },
800
+ "locale_text.message.ro-RO": {
801
+ "defaultMessage": "罗马尼亚语(罗马尼亚)"
802
+ },
803
+ "locale_text.message.ru-RU": {
804
+ "defaultMessage": "俄语(俄罗斯联邦)"
805
+ },
806
+ "locale_text.message.sk-SK": {
807
+ "defaultMessage": "斯洛伐克语(斯洛伐克)"
808
+ },
809
+ "locale_text.message.sv-SE": {
810
+ "defaultMessage": "瑞典语(瑞典)"
811
+ },
812
+ "locale_text.message.ta-IN": {
813
+ "defaultMessage": "泰米尔语(印度)"
814
+ },
815
+ "locale_text.message.ta-LK": {
816
+ "defaultMessage": "泰米尔语(斯里兰卡)"
817
+ },
818
+ "locale_text.message.th-TH": {
819
+ "defaultMessage": "泰语(泰国)"
820
+ },
821
+ "locale_text.message.tr-TR": {
822
+ "defaultMessage": "土耳其语(土耳其)"
823
+ },
824
+ "locale_text.message.zh-CN": {
825
+ "defaultMessage": "中文(中国)"
826
+ },
827
+ "locale_text.message.zh-HK": {
828
+ "defaultMessage": "中文(香港)"
829
+ },
830
+ "locale_text.message.zh-TW": {
831
+ "defaultMessage": "中文(台湾)"
832
+ },
833
+ "login_form.action.create_account": {
834
+ "defaultMessage": "创建账户"
835
+ },
836
+ "login_form.button.sign_in": {
837
+ "defaultMessage": "登录"
838
+ },
839
+ "login_form.link.forgot_password": {
840
+ "defaultMessage": "忘记密码?"
841
+ },
842
+ "login_form.message.dont_have_account": {
843
+ "defaultMessage": "没有账户?"
844
+ },
845
+ "login_form.message.welcome_back": {
846
+ "defaultMessage": "欢迎回来"
847
+ },
848
+ "login_page.error.incorrect_username_or_password": {
849
+ "defaultMessage": "用户名或密码错误,请重试。"
850
+ },
851
+ "offline_banner.description.browsing_offline_mode": {
852
+ "defaultMessage": "您正在离线模式下浏览"
853
+ },
854
+ "order_summary.action.remove_promo": {
855
+ "defaultMessage": "移除"
856
+ },
857
+ "order_summary.cart_items.action.num_of_items_in_cart": {
858
+ "defaultMessage": "购物车内有 {itemCount, plural, =0 {0 件商品} one {# 件商品} other {# 件商品}}",
859
+ "description": "clicking it would expand/show the items in cart"
860
+ },
861
+ "order_summary.cart_items.link.edit_cart": {
862
+ "defaultMessage": "编辑购物车"
863
+ },
864
+ "order_summary.heading.order_summary": {
865
+ "defaultMessage": "订单摘要"
866
+ },
867
+ "order_summary.label.estimated_total": {
868
+ "defaultMessage": "预计总数"
869
+ },
870
+ "order_summary.label.free": {
871
+ "defaultMessage": "免费"
872
+ },
873
+ "order_summary.label.order_total": {
874
+ "defaultMessage": "订单总额"
875
+ },
876
+ "order_summary.label.promo_applied": {
877
+ "defaultMessage": "已应用促销"
878
+ },
879
+ "order_summary.label.promotions_applied": {
880
+ "defaultMessage": "已应用促销"
881
+ },
882
+ "order_summary.label.shipping": {
883
+ "defaultMessage": "送货"
884
+ },
885
+ "order_summary.label.subtotal": {
886
+ "defaultMessage": "小计"
887
+ },
888
+ "order_summary.label.tax": {
889
+ "defaultMessage": "税项"
890
+ },
891
+ "page_not_found.action.go_back": {
892
+ "defaultMessage": "返回上一页"
893
+ },
894
+ "page_not_found.link.homepage": {
895
+ "defaultMessage": "返回主页"
896
+ },
897
+ "page_not_found.message.suggestion_to_try": {
898
+ "defaultMessage": "请尝试重新输入地址、返回上一页或返回主页。"
899
+ },
900
+ "page_not_found.title.page_cant_be_found": {
901
+ "defaultMessage": "找不到您要查找的页面。"
902
+ },
903
+ "pagination.field.num_of_pages": {
904
+ "defaultMessage": "/ {numOfPages}"
905
+ },
906
+ "pagination.link.next": {
907
+ "defaultMessage": "下一步"
908
+ },
909
+ "pagination.link.prev": {
910
+ "defaultMessage": "上一步"
911
+ },
912
+ "password_card.info.password_updated": {
913
+ "defaultMessage": "密码已更新"
914
+ },
915
+ "password_card.label.password": {
916
+ "defaultMessage": "密码"
917
+ },
918
+ "password_card.title.password": {
919
+ "defaultMessage": "密码"
920
+ },
921
+ "password_requirements.error.eight_letter_minimum": {
922
+ "defaultMessage": "最短 8 个字符",
923
+ "description": "Password requirement"
924
+ },
925
+ "password_requirements.error.one_lowercase_letter": {
926
+ "defaultMessage": "1 个小写字母",
927
+ "description": "Password requirement"
928
+ },
929
+ "password_requirements.error.one_number": {
930
+ "defaultMessage": "1 个数字",
931
+ "description": "Password requirement"
932
+ },
933
+ "password_requirements.error.one_special_character": {
934
+ "defaultMessage": "1 个特殊字符(例如:, S ! %)",
935
+ "description": "Password requirement"
936
+ },
937
+ "password_requirements.error.one_uppercase_letter": {
938
+ "defaultMessage": "1 个大写字母",
939
+ "description": "Password requirement"
940
+ },
941
+ "payment_selection.button.save_and_continue": {
942
+ "defaultMessage": "保存并继续"
943
+ },
944
+ "payment_selection.heading.add_new_card": {
945
+ "defaultMessage": "添加新卡"
946
+ },
947
+ "payment_selection.heading.credit_card": {
948
+ "defaultMessage": "信用卡"
949
+ },
950
+ "payment_selection.message.select_payment_method": {
951
+ "defaultMessage": "请选择付款方式。"
952
+ },
953
+ "payment_selection.tooltip.secure_payment": {
954
+ "defaultMessage": "这是一种安全的 SSL 加密支付。"
955
+ },
956
+ "price_per_item.label.each": {
957
+ "defaultMessage": "每件",
958
+ "description": "Abbreviated 'each', follows price per item, like $10/ea"
959
+ },
960
+ "product_detail.accordion.button.product_detail": {
961
+ "defaultMessage": "产品详情"
962
+ },
963
+ "product_detail.accordion.button.questions": {
964
+ "defaultMessage": "问题"
965
+ },
966
+ "product_detail.accordion.button.reviews": {
967
+ "defaultMessage": "点评"
968
+ },
969
+ "product_detail.accordion.button.size_fit": {
970
+ "defaultMessage": "尺寸与合身"
971
+ },
972
+ "product_detail.accordion.message.coming_soon": {
973
+ "defaultMessage": "即将到货"
974
+ },
975
+ "product_detail.recommended_products.title.complete_set": {
976
+ "defaultMessage": "Complete the Set(完成组合)"
977
+ },
978
+ "product_detail.recommended_products.title.might_also_like": {
979
+ "defaultMessage": "您可能还喜欢"
980
+ },
981
+ "product_detail.recommended_products.title.recently_viewed": {
982
+ "defaultMessage": "最近查看"
983
+ },
984
+ "product_item.label.quantity": {
985
+ "defaultMessage": "数量:"
986
+ },
987
+ "product_list.button.filter": {
988
+ "defaultMessage": "筛选器"
989
+ },
990
+ "product_list.button.sort_by": {
991
+ "defaultMessage": "排序标准:{sortOption}"
992
+ },
993
+ "product_list.drawer.title.sort_by": {
994
+ "defaultMessage": "排序标准"
995
+ },
996
+ "product_list.modal.button.clear_filters": {
997
+ "defaultMessage": "清除筛选器"
998
+ },
999
+ "product_list.modal.button.view_items": {
1000
+ "defaultMessage": "查看 {prroductCount} 件商品"
1001
+ },
1002
+ "product_list.modal.title.filter": {
1003
+ "defaultMessage": "筛选器"
1004
+ },
1005
+ "product_list.select.sort_by": {
1006
+ "defaultMessage": "排序标准:{sortOption}"
1007
+ },
1008
+ "product_tile.assistive_msg.wishlist": {
1009
+ "defaultMessage": "愿望清单"
1010
+ },
1011
+ "product_view.button.add_to_cart": {
1012
+ "defaultMessage": "添加到购物车"
1013
+ },
1014
+ "product_view.button.add_to_wishlist": {
1015
+ "defaultMessage": "添加到愿望清单"
1016
+ },
1017
+ "product_view.button.update": {
1018
+ "defaultMessage": "更新"
1019
+ },
1020
+ "product_view.label.quantity": {
1021
+ "defaultMessage": "数量"
1022
+ },
1023
+ "product_view.link.full_details": {
1024
+ "defaultMessage": "查看完整详情"
1025
+ },
1026
+ "profile_card.info.profile_updated": {
1027
+ "defaultMessage": "已更新概况"
1028
+ },
1029
+ "profile_card.label.email": {
1030
+ "defaultMessage": "电子邮件"
1031
+ },
1032
+ "profile_card.label.full_name": {
1033
+ "defaultMessage": "全名"
1034
+ },
1035
+ "profile_card.label.phone": {
1036
+ "defaultMessage": "电话号码"
1037
+ },
1038
+ "profile_card.message.not_provided": {
1039
+ "defaultMessage": "未提供"
1040
+ },
1041
+ "profile_card.title.my_profile": {
1042
+ "defaultMessage": "我的概况"
1043
+ },
1044
+ "promo_code_fields.button.apply": {
1045
+ "defaultMessage": "确定"
1046
+ },
1047
+ "promo_popover.heading.promo_applied": {
1048
+ "defaultMessage": "已应用促销"
1049
+ },
1050
+ "promocode.accordion.button.have_promocode": {
1051
+ "defaultMessage": "您是否有促销码?"
1052
+ },
1053
+ "recent_searches.action.clear_searches": {
1054
+ "defaultMessage": "清除最近搜索"
1055
+ },
1056
+ "recent_searches.heading.recent_searches": {
1057
+ "defaultMessage": "最近搜索"
1058
+ },
1059
+ "register_form.action.sign_in": {
1060
+ "defaultMessage": "登录"
1061
+ },
1062
+ "register_form.button.create_account": {
1063
+ "defaultMessage": "创建账户"
1064
+ },
1065
+ "register_form.heading.lets_get_started": {
1066
+ "defaultMessage": "开始使用!"
1067
+ },
1068
+ "register_form.message.agree_to_policy_terms": {
1069
+ "defaultMessage": "隐私创建账户即表明您同意 Salesforce <policy>隐私政策</policy>和<terms>条款与条件</terms>"
1070
+ },
1071
+ "register_form.message.already_have_account": {
1072
+ "defaultMessage": "已有账户?"
1073
+ },
1074
+ "register_form.message.create_an_account": {
1075
+ "defaultMessage": "创建账户并首先查看最佳产品、妙招和虚拟社区。"
1076
+ },
1077
+ "reset_password.button.back_to_sign_in": {
1078
+ "defaultMessage": "返回登录"
1079
+ },
1080
+ "reset_password.info.receive_email_shortly": {
1081
+ "defaultMessage": "您将通过 <b>{email}</b> 收到包含重置密码链接的电子邮件。"
1082
+ },
1083
+ "reset_password.title.password_reset": {
1084
+ "defaultMessage": "密码重置"
1085
+ },
1086
+ "reset_password_form.action.sign_in": {
1087
+ "defaultMessage": "登录"
1088
+ },
1089
+ "reset_password_form.button.reset_password": {
1090
+ "defaultMessage": "重置密码"
1091
+ },
1092
+ "reset_password_form.message.enter_your_email": {
1093
+ "defaultMessage": "进入您的电子邮件,获取重置密码说明"
1094
+ },
1095
+ "reset_password_form.message.return_to_sign_in": {
1096
+ "defaultMessage": "或返回",
1097
+ "description": "Precedes link to return to sign in"
1098
+ },
1099
+ "reset_password_form.title.reset_password": {
1100
+ "defaultMessage": "重置密码"
1101
+ },
1102
+ "search.action.cancel": {
1103
+ "defaultMessage": "取消"
1104
+ },
1105
+ "selected_refinements.action.clear_all": {
1106
+ "defaultMessage": "全部清除"
1107
+ },
1108
+ "shipping_address.button.continue_to_shipping": {
1109
+ "defaultMessage": "继续并选择送货方式"
1110
+ },
1111
+ "shipping_address.title.shipping_address": {
1112
+ "defaultMessage": "送货地址"
1113
+ },
1114
+ "shipping_address_edit_form.button.save_and_continue": {
1115
+ "defaultMessage": "保存并继续选择送货方式"
1116
+ },
1117
+ "shipping_address_form.heading.edit_address": {
1118
+ "defaultMessage": "编辑地址"
1119
+ },
1120
+ "shipping_address_form.heading.new_address": {
1121
+ "defaultMessage": "添加新地址"
1122
+ },
1123
+ "shipping_address_selection.button.add_address": {
1124
+ "defaultMessage": "添加新地址"
1125
+ },
1126
+ "shipping_address_selection.button.submit": {
1127
+ "defaultMessage": "提交"
1128
+ },
1129
+ "shipping_address_selection.title.add_address": {
1130
+ "defaultMessage": "添加新地址"
1131
+ },
1132
+ "shipping_address_selection.title.edit_shipping": {
1133
+ "defaultMessage": "编辑送货地址"
1134
+ },
1135
+ "shipping_options.action.send_as_a_gift": {
1136
+ "defaultMessage": "您想将此作为礼品发送吗?"
1137
+ },
1138
+ "shipping_options.button.continue_to_payment": {
1139
+ "defaultMessage": "继续并选择付款"
1140
+ },
1141
+ "shipping_options.title.shipping_gift_options": {
1142
+ "defaultMessage": "送货与礼品选项"
1143
+ },
1144
+ "signout_confirmation_dialog.button.cancel": {
1145
+ "defaultMessage": "取消"
1146
+ },
1147
+ "signout_confirmation_dialog.button.sign_out": {
1148
+ "defaultMessage": "注销"
1149
+ },
1150
+ "signout_confirmation_dialog.heading.sign_out": {
1151
+ "defaultMessage": "注销"
1152
+ },
1153
+ "signout_confirmation_dialog.message.sure_to_sign_out": {
1154
+ "defaultMessage": "是否确定要注销?您需要重新登录才能继续处理当前订单。"
1155
+ },
1156
+ "toggle_card.action.edit": {
1157
+ "defaultMessage": "编辑"
1158
+ },
1159
+ "update_password_fields.button.forgot_password": {
1160
+ "defaultMessage": "忘记密码?"
1161
+ },
1162
+ "use_address_fields.error.please_enter_first_name": {
1163
+ "defaultMessage": "请输入您的名字。"
1164
+ },
1165
+ "use_address_fields.error.please_enter_last_name": {
1166
+ "defaultMessage": "请输入您的姓氏。"
1167
+ },
1168
+ "use_address_fields.error.please_enter_phone_number": {
1169
+ "defaultMessage": "请输入您的电话号码。"
1170
+ },
1171
+ "use_address_fields.error.please_enter_your_postal_or_zip": {
1172
+ "defaultMessage": "请输入您的{postalOrZip}。"
1173
+ },
1174
+ "use_address_fields.error.please_select_your_address": {
1175
+ "defaultMessage": "请输入您的地址。"
1176
+ },
1177
+ "use_address_fields.error.please_select_your_city": {
1178
+ "defaultMessage": "请输入您所在城市。"
1179
+ },
1180
+ "use_address_fields.error.please_select_your_country": {
1181
+ "defaultMessage": "请输入您所在国家/地区。"
1182
+ },
1183
+ "use_address_fields.error.please_select_your_state_or_province": {
1184
+ "defaultMessage": "请选择您所在的{stateOrProvince}。"
1185
+ },
1186
+ "use_address_fields.error.required": {
1187
+ "defaultMessage": "必填"
1188
+ },
1189
+ "use_address_fields.error.state_code_invalid": {
1190
+ "defaultMessage": "请输入两个字母的州/省名称。"
1191
+ },
1192
+ "use_address_fields.label.address": {
1193
+ "defaultMessage": "地址"
1194
+ },
1195
+ "use_address_fields.label.city": {
1196
+ "defaultMessage": "城市"
1197
+ },
1198
+ "use_address_fields.label.country": {
1199
+ "defaultMessage": "国家"
1200
+ },
1201
+ "use_address_fields.label.first_name": {
1202
+ "defaultMessage": "名字"
1203
+ },
1204
+ "use_address_fields.label.last_name": {
1205
+ "defaultMessage": "姓氏"
1206
+ },
1207
+ "use_address_fields.label.phone": {
1208
+ "defaultMessage": "电话"
1209
+ },
1210
+ "use_address_fields.label.postal_code": {
1211
+ "defaultMessage": "邮政编码"
1212
+ },
1213
+ "use_address_fields.label.preferred": {
1214
+ "defaultMessage": "设为默认值"
1215
+ },
1216
+ "use_address_fields.label.province": {
1217
+ "defaultMessage": "省"
1218
+ },
1219
+ "use_address_fields.label.state": {
1220
+ "defaultMessage": "州/省"
1221
+ },
1222
+ "use_address_fields.label.zipCode": {
1223
+ "defaultMessage": "邮政编码"
1224
+ },
1225
+ "use_credit_card_fields.error.required": {
1226
+ "defaultMessage": "必填"
1227
+ },
1228
+ "use_credit_card_fields.error.required_card_number": {
1229
+ "defaultMessage": "请输入您的卡号。"
1230
+ },
1231
+ "use_credit_card_fields.error.required_expiry": {
1232
+ "defaultMessage": "请输入卡的到期日期。"
1233
+ },
1234
+ "use_credit_card_fields.error.required_name": {
1235
+ "defaultMessage": "请输入卡上显示的名字。"
1236
+ },
1237
+ "use_credit_card_fields.error.required_security_code": {
1238
+ "defaultMessage": "请输入您的安全码。"
1239
+ },
1240
+ "use_credit_card_fields.error.valid_card_number": {
1241
+ "defaultMessage": "请输入有效的卡号。"
1242
+ },
1243
+ "use_credit_card_fields.error.valid_date": {
1244
+ "defaultMessage": "请输入有效的日期。"
1245
+ },
1246
+ "use_credit_card_fields.error.valid_name": {
1247
+ "defaultMessage": "请输入有效的名称。"
1248
+ },
1249
+ "use_credit_card_fields.error.valid_security_code": {
1250
+ "defaultMessage": "请输入有效的安全码。"
1251
+ },
1252
+ "use_credit_card_fields.label.card_number": {
1253
+ "defaultMessage": "卡号"
1254
+ },
1255
+ "use_credit_card_fields.label.card_type": {
1256
+ "defaultMessage": "卡类型"
1257
+ },
1258
+ "use_credit_card_fields.label.expiry": {
1259
+ "defaultMessage": "到期日期"
1260
+ },
1261
+ "use_credit_card_fields.label.name": {
1262
+ "defaultMessage": "持卡人姓名"
1263
+ },
1264
+ "use_credit_card_fields.label.security_code": {
1265
+ "defaultMessage": "安全码"
1266
+ },
1267
+ "use_login_fields.error.required_email": {
1268
+ "defaultMessage": "请输入您的电子邮件地址。"
1269
+ },
1270
+ "use_login_fields.error.required_password": {
1271
+ "defaultMessage": "请输入您的密码。"
1272
+ },
1273
+ "use_login_fields.label.email": {
1274
+ "defaultMessage": "电子邮件"
1275
+ },
1276
+ "use_login_fields.label.password": {
1277
+ "defaultMessage": "密码"
1278
+ },
1279
+ "use_product.message.inventory_remaining": {
1280
+ "defaultMessage": "仅剩 {stockLevel} 件!"
1281
+ },
1282
+ "use_product.message.out_of_stock": {
1283
+ "defaultMessage": "无库存"
1284
+ },
1285
+ "use_profile_fields.error.required_email": {
1286
+ "defaultMessage": "请输入有效的电子邮件地址。"
1287
+ },
1288
+ "use_profile_fields.error.required_first_name": {
1289
+ "defaultMessage": "请输入您的名字。"
1290
+ },
1291
+ "use_profile_fields.error.required_last_name": {
1292
+ "defaultMessage": "请输入您的姓氏。"
1293
+ },
1294
+ "use_profile_fields.error.required_phone": {
1295
+ "defaultMessage": "请输入您的电话号码。"
1296
+ },
1297
+ "use_profile_fields.label.email": {
1298
+ "defaultMessage": "电子邮件"
1299
+ },
1300
+ "use_profile_fields.label.first_name": {
1301
+ "defaultMessage": "名字"
1302
+ },
1303
+ "use_profile_fields.label.last_name": {
1304
+ "defaultMessage": "姓氏"
1305
+ },
1306
+ "use_profile_fields.label.phone": {
1307
+ "defaultMessage": "电话号码"
1308
+ },
1309
+ "use_promo_code_fields.error.required_promo_code": {
1310
+ "defaultMessage": "请提供有效的促销码。"
1311
+ },
1312
+ "use_promo_code_fields.label.promo_code": {
1313
+ "defaultMessage": "促销码"
1314
+ },
1315
+ "use_promocode.error.check_the_code": {
1316
+ "defaultMessage": "检查促销码并重试,该促销码可能已被使用或促销已过期。"
1317
+ },
1318
+ "use_promocode.info.promo_applied": {
1319
+ "defaultMessage": "已应用促销"
1320
+ },
1321
+ "use_promocode.info.promo_removed": {
1322
+ "defaultMessage": "已删除促销"
1323
+ },
1324
+ "use_registration_fields.error.contain_number": {
1325
+ "defaultMessage": "密码必须至少包含一个数字。"
1326
+ },
1327
+ "use_registration_fields.error.lowercase_letter": {
1328
+ "defaultMessage": "密码必须至少包含一个小写字母。"
1329
+ },
1330
+ "use_registration_fields.error.minimum_characters": {
1331
+ "defaultMessage": "密码必须至少包含 8 个字符。"
1332
+ },
1333
+ "use_registration_fields.error.required_email": {
1334
+ "defaultMessage": "请输入有效的电子邮件地址。"
1335
+ },
1336
+ "use_registration_fields.error.required_first_name": {
1337
+ "defaultMessage": "请输入您的名字。"
1338
+ },
1339
+ "use_registration_fields.error.required_last_name": {
1340
+ "defaultMessage": "请输入您的姓氏。"
1341
+ },
1342
+ "use_registration_fields.error.required_password": {
1343
+ "defaultMessage": "请创建密码。"
1344
+ },
1345
+ "use_registration_fields.error.special_character": {
1346
+ "defaultMessage": "密码必须至少包含一个特殊字符。"
1347
+ },
1348
+ "use_registration_fields.error.uppercase_letter": {
1349
+ "defaultMessage": "密码必须至少包含一个大写字母。"
1350
+ },
1351
+ "use_registration_fields.label.email": {
1352
+ "defaultMessage": "电子邮件"
1353
+ },
1354
+ "use_registration_fields.label.first_name": {
1355
+ "defaultMessage": "名字"
1356
+ },
1357
+ "use_registration_fields.label.last_name": {
1358
+ "defaultMessage": "姓氏"
1359
+ },
1360
+ "use_registration_fields.label.password": {
1361
+ "defaultMessage": "密码"
1362
+ },
1363
+ "use_registration_fields.label.sign_up_to_emails": {
1364
+ "defaultMessage": "为我注册 Salesforce 电子邮件(您可以随时取消订阅)"
1365
+ },
1366
+ "use_reset_password_fields.error.required_email": {
1367
+ "defaultMessage": "请输入有效的电子邮件地址。"
1368
+ },
1369
+ "use_reset_password_fields.label.email": {
1370
+ "defaultMessage": "电子邮件"
1371
+ },
1372
+ "use_update_password_fields.error.contain_number": {
1373
+ "defaultMessage": "密码必须至少包含一个数字。"
1374
+ },
1375
+ "use_update_password_fields.error.lowercase_letter": {
1376
+ "defaultMessage": "密码必须至少包含一个小写字母。"
1377
+ },
1378
+ "use_update_password_fields.error.minimum_characters": {
1379
+ "defaultMessage": "密码必须至少包含 8 个字符。"
1380
+ },
1381
+ "use_update_password_fields.error.required_new_password": {
1382
+ "defaultMessage": "请提供新密码。"
1383
+ },
1384
+ "use_update_password_fields.error.required_password": {
1385
+ "defaultMessage": "请输入您的密码。"
1386
+ },
1387
+ "use_update_password_fields.error.special_character": {
1388
+ "defaultMessage": "密码必须至少包含一个特殊字符。"
1389
+ },
1390
+ "use_update_password_fields.error.uppercase_letter": {
1391
+ "defaultMessage": "密码必须至少包含一个大写字母。"
1392
+ },
1393
+ "use_update_password_fields.label.current_password": {
1394
+ "defaultMessage": "当前密码"
1395
+ },
1396
+ "use_update_password_fields.label.new_password": {
1397
+ "defaultMessage": "新密码"
1398
+ },
1399
+ "wishlist_primary_action.button.add_to_cart": {
1400
+ "defaultMessage": "添加到购物车"
1401
+ },
1402
+ "wishlist_primary_action.button.select_options": {
1403
+ "defaultMessage": "选择选项"
1404
+ },
1405
+ "wishlist_primary_action.info.added_to_cart": {
1406
+ "defaultMessage": "{quantity} {quantity, plural, one { 件商品} other { 件商品}}已添加至购物车"
1407
+ },
1408
+ "wishlist_secondary_button_group.action.remove": {
1409
+ "defaultMessage": "移除"
1410
+ },
1411
+ "wishlist_secondary_button_group.info.item_removed": {
1412
+ "defaultMessage": "从愿望清单中移除商品"
1413
+ },
1414
+ "with_registration.info.please_sign_in": {
1415
+ "defaultMessage": "请登录以继续!"
1416
+ }
1417
+ }