create-brainerce-store 1.83.0 โ†’ 1.85.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 (43) hide show
  1. package/README.md +130 -92
  2. package/dist/index.js +39 -17
  3. package/messages/en.json +3 -0
  4. package/messages/he.json +3 -0
  5. package/package.json +1 -1
  6. package/templates/nextjs/base/.env.local.ejs +10 -1
  7. package/templates/nextjs/base/AGENTS.md.ejs +229 -207
  8. package/templates/nextjs/base/AI-GUIDE.md +4 -0
  9. package/templates/nextjs/base/CLAUDE.md.ejs +240 -218
  10. package/templates/nextjs/base/scripts/connect.mjs +115 -18
  11. package/templates/nextjs/base/scripts/env-file.mjs +93 -0
  12. package/templates/nextjs/base/scripts/fetch-store-info.mjs +109 -83
  13. package/templates/nextjs/base/src/app/api/auth/reset-callback/route.ts +2 -1
  14. package/templates/nextjs/base/src/app/forgot-password/page.tsx +3 -2
  15. package/templates/nextjs/base/src/app/layout.tsx.ejs +50 -21
  16. package/templates/nextjs/base/src/app/opengraph-image.tsx +5 -1
  17. package/templates/nextjs/base/src/app/reset-password/page.tsx +25 -138
  18. package/templates/nextjs/base/src/app/reset-password/reset-password-form.tsx +138 -0
  19. package/templates/nextjs/base/src/components/auth/oauth-buttons.tsx +174 -137
  20. package/templates/nextjs/base/src/components/checkout/payment-step.tsx +847 -761
  21. package/templates/nextjs/base/src/core/lib/render-mode.ts +49 -0
  22. package/templates/nextjs/base/src/core/lib/store-name.ts.ejs +56 -0
  23. package/templates/nextjs/base/src/core/lib/use-store-name.ts +18 -0
  24. package/templates/nextjs/base/src/ui/home/hero-section.tsx +27 -27
  25. package/templates/nextjs/base/src/ui/layout/header-search.tsx +2 -2
  26. package/templates/nextjs/base/src/ui/layout/site-footer.tsx.ejs +160 -160
  27. package/templates/nextjs/base/src/ui/layout/site-header.tsx.ejs +2 -2
  28. package/templates/nextjs/designs/atelier/app-overlay/layout.tsx.ejs +374 -345
  29. package/templates/nextjs/designs/atelier/globals.css +408 -402
  30. package/templates/nextjs/designs/atelier/messages-patch/en.json +91 -96
  31. package/templates/nextjs/designs/atelier/messages-patch/he.json +91 -96
  32. package/templates/nextjs/designs/atelier/ui/cart/cart-bundle-offer.tsx +131 -128
  33. package/templates/nextjs/designs/atelier/ui/cart/cart-item.tsx +2 -1
  34. package/templates/nextjs/designs/atelier/ui/cart/cart-upgrade-banner.tsx +222 -219
  35. package/templates/nextjs/designs/atelier/ui/home/category-tiles.tsx +178 -151
  36. package/templates/nextjs/designs/atelier/ui/home/hero-section.tsx +61 -31
  37. package/templates/nextjs/designs/atelier/ui/layout/header-search.tsx +2 -2
  38. package/templates/nextjs/designs/atelier/ui/layout/site-footer.tsx.ejs +161 -155
  39. package/templates/nextjs/designs/atelier/ui/product/frequently-bought-together.tsx +232 -227
  40. package/templates/nextjs/designs/atelier/ui/product/product-card.tsx +271 -268
  41. package/templates/nextjs/designs/atelier/ui/product/product-client-section.tsx +558 -553
  42. package/templates/nextjs/designs/atelier/ui/product/recommendation-section.tsx +113 -110
  43. package/templates/nextjs/designs/atelier/ui/shared/no-photo-tile.tsx +73 -0
@@ -1,96 +1,91 @@
1
- {
2
- "common": {
3
- "close": "Close"
4
- },
5
- "nav": {
6
- "cart": "Cart",
7
- "home": "Home"
8
- },
9
- "home": {
10
- "heroEyebrow": "New collection ยท Handcrafted",
11
- "heroTitle": "Pieces that tell your story",
12
- "heroLead": "Thoughtfully designed and handcrafted with love, made to be with you through the small moments and the big ones.",
13
- "heroCtaSecondary": "Browse categories",
14
- "heroTrust": "Secure checkout on every order",
15
- "benefit1Title": "Delivery",
16
- "benefit1Desc": "Shipping options shown at checkout",
17
- "benefit2Title": "Secure payment",
18
- "benefit2Desc": "Encrypted checkout on every order",
19
- "benefit3Title": "Chosen with care",
20
- "benefit3Desc": "A small, considered collection",
21
- "benefit4Title": "Returns",
22
- "benefit4Desc": "See our returns policy for details",
23
- "featuredEyebrow": "Our picks",
24
- "featuredSubtitle": "The pieces our customers love most, hand-picked from the new collection.",
25
- "categoriesEyebrow": "Categories",
26
- "categoriesTitle": "Find the perfect piece",
27
- "categoriesSubtitle": "From everyday favorites to statement pieces, there's something here for everyone.",
28
- "catRings": "Rings",
29
- "catNecklaces": "Necklaces",
30
- "catEarrings": "Earrings",
31
- "catBracelets": "Bracelets",
32
- "catCta": "Shop the category",
33
- "storyEyebrow": "Our story",
34
- "storyTitle": "Made with care, made to last",
35
- "storyP1": "Every product we carry is chosen with the same question in mind: would we want this ourselves? We check quality, sourcing and detail before anything reaches our shelves, so what arrives at your door is exactly what you expect.",
36
- "storyP2": "We believe in products that last: solid materials, careful quality checks and full support behind every order. That is what care for the details looks like.",
37
- "storyCta": "Discover the collection",
38
- "storyStat1Value": "Quality-checked",
39
- "storyStat1Label": "Every product is checked before it's listed",
40
- "storyStat2Value": "Here to help",
41
- "storyStat2Label": "Reach us with any question about an order",
42
- "ratedEyebrow": "Customer ratings",
43
- "ratedTitle": "Best rated by shoppers",
44
- "ratedCount": "{count} reviews",
45
- "ratedStars": "Rated {rating} out of 5",
46
- "newsletterTitle": "Join our club",
47
- "newsletterSubtitle": "Sign up to hear first about new collections, sales and member perks.",
48
- "newsletterPlaceholder": "Your email address",
49
- "newsletterCta": "Subscribe",
50
- "newsletterSuccess": "Almost there. Check your email to confirm, and look in your spam folder too.",
51
- "newsletterPrivacy": "No spam. Unsubscribe anytime.",
52
- "heroEmptyHint": "Your first published products will appear here"
53
- },
54
- "products": {
55
- "listingSubtitle": "Our full collection, handmade from genuine materials with love for detail.",
56
- "filtersLabel": "Filter",
57
- "emptyTitle": "No results found",
58
- "emptyBody": "Try clearing the filters or searching for something else.",
59
- "clearFilters": "Clear filters",
60
- "priceLabel": "Price",
61
- "priceMin": "Min",
62
- "priceMax": "Max"
63
- },
64
- "productDetail": {
65
- "quantityLabel": "Quantity",
66
- "shippingNote": "Shipping options shown at checkout",
67
- "guaranteeNote": "Questions about your order? Get in touch",
68
- "pickOne": "Pick one",
69
- "upTo": "Up to {max}",
70
- "pickExactly": "Pick exactly {min}",
71
- "atLeast": "At least {min}",
72
- "pickRange": "{min}โ€“{max}",
73
- "soldOut": "Sold out",
74
- "freeCounter": "{used} of {free} free"
75
- },
76
- "reviews": {
77
- "beFirst": "No reviews for this product yet"
78
- },
79
- "cart": {
80
- "itemsInCart": "Your items",
81
- "secureCheckoutNote": "Secure, encrypted checkout",
82
- "couponTitle": "Have a coupon code?",
83
- "viewCart": "View cart",
84
- "shippingAtCheckout": "Shipping calculated at checkout"
85
- },
86
- "footer": {
87
- "tagline": "{{storeName}}, handcrafted with love in Israel.",
88
- "followUs": "Follow us",
89
- "quickLinksTitle": "Quick links",
90
- "linkProducts": "All products",
91
- "linkContact": "Contact",
92
- "linkFaq": "FAQ",
93
- "linkCart": "Shopping cart",
94
- "securePayments": "Secure, encrypted payment"
95
- }
96
- }
1
+ {
2
+ "common": {
3
+ "close": "Close"
4
+ },
5
+ "nav": {
6
+ "cart": "Cart",
7
+ "home": "Home"
8
+ },
9
+ "home": {
10
+ "heroEyebrow": "New in store ยท Chosen with care",
11
+ "heroTitle": "Good things, for every day",
12
+ "heroLead": "Products chosen with care, quality you can rely on, and personal service on every order.",
13
+ "heroCtaSecondary": "Explore the store",
14
+ "heroTrust": "Secure checkout on every order",
15
+ "benefit1Title": "Delivery",
16
+ "benefit1Desc": "Shipping options shown at checkout",
17
+ "benefit2Title": "Secure payment",
18
+ "benefit2Desc": "Encrypted checkout on every order",
19
+ "benefit3Title": "Chosen with care",
20
+ "benefit3Desc": "Only what we would buy ourselves",
21
+ "benefit4Title": "Returns",
22
+ "benefit4Desc": "See our returns policy for details",
23
+ "featuredEyebrow": "Our picks",
24
+ "featuredSubtitle": "The newest arrivals in the store, chosen with care.",
25
+ "categoriesEyebrow": "Categories",
26
+ "categoriesTitle": "Find exactly what you are looking for",
27
+ "categoriesSubtitle": "Browse by category or see everything, and get to what suits you fast.",
28
+ "storyEyebrow": "Our story",
29
+ "storyTitle": "Made with care, made to last",
30
+ "storyP1": "Every product we carry is chosen with the same question in mind: would we want this ourselves? We check quality, sourcing and detail before anything reaches our shelves, so what arrives at your door is exactly what you expect.",
31
+ "storyP2": "We believe in products that last: solid materials, careful quality checks and full support behind every order. That is what care for the details looks like.",
32
+ "storyCta": "Browse all products",
33
+ "storyStat1Value": "Quality-checked",
34
+ "storyStat1Label": "Every product is checked before it's listed",
35
+ "storyStat2Value": "Here to help",
36
+ "storyStat2Label": "Reach us with any question about an order",
37
+ "ratedEyebrow": "Customer ratings",
38
+ "ratedTitle": "Best rated by shoppers",
39
+ "ratedCount": "{count} reviews",
40
+ "ratedStars": "Rated {rating} out of 5",
41
+ "newsletterTitle": "Join our club",
42
+ "newsletterSubtitle": "Sign up to hear first about new products, sales and member perks.",
43
+ "newsletterPlaceholder": "Your email address",
44
+ "newsletterCta": "Subscribe",
45
+ "newsletterSuccess": "Almost there. Check your email to confirm, and look in your spam folder too.",
46
+ "newsletterPrivacy": "No spam. Unsubscribe anytime.",
47
+ "heroEmptyHint": "Your first published products will appear here"
48
+ },
49
+ "products": {
50
+ "listingSubtitle": "Everything in the store, chosen with care and with an eye for detail.",
51
+ "filtersLabel": "Filter",
52
+ "emptyTitle": "No results found",
53
+ "emptyBody": "Try clearing the filters or searching for something else.",
54
+ "clearFilters": "Clear filters",
55
+ "priceLabel": "Price",
56
+ "priceMin": "Min",
57
+ "priceMax": "Max"
58
+ },
59
+ "productDetail": {
60
+ "quantityLabel": "Quantity",
61
+ "shippingNote": "Shipping options shown at checkout",
62
+ "guaranteeNote": "Questions about your order? Get in touch",
63
+ "pickOne": "Pick one",
64
+ "upTo": "Up to {max}",
65
+ "pickExactly": "Pick exactly {min}",
66
+ "atLeast": "At least {min}",
67
+ "pickRange": "{min}โ€“{max}",
68
+ "soldOut": "Sold out",
69
+ "freeCounter": "{used} of {free} free"
70
+ },
71
+ "reviews": {
72
+ "beFirst": "No reviews for this product yet"
73
+ },
74
+ "cart": {
75
+ "itemsInCart": "Your items",
76
+ "secureCheckoutNote": "Secure, encrypted checkout",
77
+ "couponTitle": "Have a coupon code?",
78
+ "viewCart": "View cart",
79
+ "shippingAtCheckout": "Shipping calculated at checkout"
80
+ },
81
+ "footer": {
82
+ "tagline": "{storeName}, quality and service on every order.",
83
+ "followUs": "Follow us",
84
+ "quickLinksTitle": "Quick links",
85
+ "linkProducts": "All products",
86
+ "linkContact": "Contact",
87
+ "linkFaq": "FAQ",
88
+ "linkCart": "Shopping cart",
89
+ "securePayments": "Secure, encrypted payment"
90
+ }
91
+ }
@@ -1,96 +1,91 @@
1
- {
2
- "common": {
3
- "close": "ืกื’ื•ืจ"
4
- },
5
- "nav": {
6
- "cart": "ืขื’ืœื”",
7
- "home": "ื“ืฃ ื”ื‘ื™ืช"
8
- },
9
- "home": {
10
- "heroEyebrow": "ืงื•ืœืงืฆื™ื” ื—ื“ืฉื” ยท ืขื‘ื•ื“ืช ื™ื“",
11
- "heroTitle": "ืคืจื™ื˜ื™ื ืฉืžืกืคืจื™ื ืืช ื”ืกื™ืคื•ืจ ืฉืœืš",
12
- "heroLead": "ืขื™ืฆื•ื‘ื™ื ืขื“ื™ื ื™ื, ื‘ืขื‘ื•ื“ืช ื™ื“ ื•ื‘ืื”ื‘ื”, ืฉื ื•ืฆืจื• ืœืœื•ื•ืช ืืชื›ืŸ ื‘ืจื’ืขื™ื ื”ืงื˜ื ื™ื ื•ื”ื’ื“ื•ืœื™ื.",
13
- "heroCtaSecondary": "ืœืฆืคื™ื™ื” ื‘ืงื˜ื’ื•ืจื™ื•ืช",
14
- "heroTrust": "ืงื•ืคื” ืžืื•ื‘ื˜ื—ืช ื‘ื›ืœ ื”ื–ืžื ื”",
15
- "benefit1Title": "ืžืฉืœื•ื—",
16
- "benefit1Desc": "ืืคืฉืจื•ื™ื•ืช ื”ืžืฉืœื•ื— ืžื•ืฆื’ื•ืช ื‘ืงื•ืคื”",
17
- "benefit2Title": "ืชืฉืœื•ื ืžืื•ื‘ื˜ื—",
18
- "benefit2Desc": "ืงื•ืคื” ืžื•ืฆืคื ืช ื‘ื›ืœ ื”ื–ืžื ื”",
19
- "benefit3Title": "ื ื‘ื—ืจ ื‘ืงืคื™ื“ื”",
20
- "benefit3Desc": "ืงื•ืœืงืฆื™ื” ืงื˜ื ื” ื•ืžื•ืงืคื“ืช",
21
- "benefit4Title": "ื”ื—ื–ืจื•ืช",
22
- "benefit4Desc": "ื”ืคืจื˜ื™ื ื‘ืžื“ื™ื ื™ื•ืช ื”ื”ื—ื–ืจื•ืช ืฉืœื ื•",
23
- "featuredEyebrow": "ื”ื ื‘ื—ืจื™ื ืฉืœื ื•",
24
- "featuredSubtitle": "ื”ืคืจื™ื˜ื™ื ืฉื”ืœืงื•ื—ื•ืช ืฉืœื ื• ื”ื›ื™ ืื•ื”ื‘ื•ืช, ืฉื ื‘ื—ืจื• ื‘ืงืคื™ื“ื” ืžื”ืงื•ืœืงืฆื™ื” ื”ื—ื“ืฉื”.",
25
- "categoriesEyebrow": "ืงื˜ื’ื•ืจื™ื•ืช",
26
- "categoriesTitle": "ืžืฆืื• ืืช ื”ืคืจื™ื˜ ื”ืžื•ืฉืœื",
27
- "categoriesSubtitle": "ืžื”ืคืจื™ื˜ื™ื ื”ืขื“ื™ื ื™ื ื•ืขื“ ื”ื‘ื•ืœื˜ื™ื, ืœื›ืœ ืื—ืช ื™ืฉ ืืช ื”ืฉืคื” ืฉืœื”.",
28
- "catRings": "ื˜ื‘ืขื•ืช",
29
- "catNecklaces": "ืฉืจืฉืจืื•ืช",
30
- "catEarrings": "ืขื’ื™ืœื™ื",
31
- "catBracelets": "ืฆืžื™ื“ื™ื",
32
- "catCta": "ืœืฆืคื™ื™ื” ื‘ืงื˜ื’ื•ืจื™ื”",
33
- "storyEyebrow": "ื”ืกื™ืคื•ืจ ืฉืœื ื•",
34
- "storyTitle": "ืžื•ืงืคื“ ื‘ื›ืœ ืคืจื˜, ืžื”ืชื—ืœื” ื•ืขื“ ืืœื™ื›ื",
35
- "storyP1": "ื›ืœ ืžื•ืฆืจ ืืฆืœื ื• ืขื•ื‘ืจ ืืช ืื•ืชื” ืฉืืœื”: ื”ืื ื”ื™ื™ื ื• ืจื•ืฆื™ื ืื•ืชื• ื‘ืขืฆืžื ื•? ืื ื—ื ื• ื‘ื•ื“ืงื™ื ืื™ื›ื•ืช, ืžืงื•ืจ ื•ื›ืœ ืคืจื˜ ืœืคื ื™ ืฉืžืฉื”ื• ืขื•ืœื” ืœืžื“ืฃ ืฉืœื ื•, ื›ื“ื™ ืฉืžื” ืฉืžื’ื™ืข ืืœื™ื›ื ื™ื”ื™ื” ื‘ื“ื™ื•ืง ืžื” ืฉืฆื™ืคื™ืชื ืœื•.",
36
- "storyP2": "ืื ื—ื ื• ืžืืžื™ื ื™ื ื‘ืžื•ืฆืจื™ื ืฉื ืฉืืจื™ื: ื—ื•ืžืจื™ื ืื™ื›ื•ืชื™ื™ื, ื‘ืงืจืช ืื™ื›ื•ืช ืงืคื“ื ื™ืช ื•ืชืžื™ื›ื” ืžืœืื” ืžืื—ื•ืจื™ ื›ืœ ื”ื–ืžื ื”. ื›ื›ื” ื ืจืื™ืช ืชืฉื•ืžืช ืœื‘ ืœืคืจื˜ื™ื ื”ืงื˜ื ื™ื.",
37
- "storyCta": "ืœื’ืœื•ืช ืืช ื”ืงื•ืœืงืฆื™ื”",
38
- "storyStat1Value": "ืื™ื›ื•ืช ื ื‘ื“ืงืช",
39
- "storyStat1Label": "ื›ืœ ืžื•ืฆืจ ื ื‘ื“ืง ืœืคื ื™ ืฉื”ื•ื ืขื•ืœื” ืœืืชืจ",
40
- "storyStat2Value": "ื›ืืŸ ื‘ืฉื‘ื™ืœื›ื",
41
- "storyStat2Label": "ืืคืฉืจ ืœืคื ื•ืช ืืœื™ื ื• ื‘ื›ืœ ืฉืืœื” ืขืœ ื”ื–ืžื ื”",
42
- "ratedEyebrow": "ื“ื™ืจื•ื’ื™ ืœืงื•ื—ื•ืช",
43
- "ratedTitle": "ื”ื›ื™ ืžื“ื•ืจื’ื™ื ื‘ื—ื ื•ืช",
44
- "ratedCount": "{count} ื‘ื™ืงื•ืจื•ืช",
45
- "ratedStars": "ื“ื™ืจื•ื’ {rating} ืžืชื•ืš 5",
46
- "newsletterTitle": "ื”ืฆื˜ืจืคื• ืœืžื•ืขื“ื•ืŸ ืฉืœื ื•",
47
- "newsletterSubtitle": "ื”ืจืฉืžื• ื•ืงื‘ืœื• ืขื“ื›ื•ืŸ ืจืืฉื•ื ื•ืช ืขืœ ืงื•ืœืงืฆื™ื•ืช ื—ื“ืฉื•ืช, ืžื‘ืฆืขื™ื ื•ื”ื˜ื‘ื•ืช ืœื—ื‘ืจื•ืช ืžื•ืขื“ื•ืŸ.",
48
- "newsletterPlaceholder": "ื›ืชื•ื‘ืช ื”ืื™ืžื™ื™ืœ ืฉืœืš",
49
- "newsletterCta": "ื”ืจืฉืžื”",
50
- "newsletterSuccess": "ื›ืžืขื˜ ืกื™ื™ืžื ื•. ื‘ื“ืงื• ืืช ื”ืื™ืžื™ื™ืœ ื•ืืฉืจื• ืืช ื”ื”ืจืฉืžื”, ื•ื”ืฆื™ืฆื• ื’ื ื‘ืชื™ืงื™ื™ืช ื”ืกืคืื.",
51
- "newsletterPrivacy": "ื‘ืœื™ ืกืคืื. ืืคืฉืจ ืœื”ืกื™ืจ ืืช ื”ื”ืจืฉืžื” ื‘ื›ืœ ืจื’ืข.",
52
- "heroEmptyHint": "ื”ืžื•ืฆืจื™ื ื”ืจืืฉื•ื ื™ื ืฉืชืคืจืกืžื• ืœื—ื ื•ืช ื™ื•ืคื™ืขื• ื›ืืŸ"
53
- },
54
- "products": {
55
- "listingSubtitle": "ื”ืงื•ืœืงืฆื™ื” ื”ืžืœืื” ืฉืœื ื•, ื‘ืขื‘ื•ื“ืช ื™ื“, ืžื—ื•ืžืจื™ื ืืžื™ืชื™ื™ื ื•ืžืชื•ืš ืื”ื‘ื” ืœืคืจื˜ื™ื.",
56
- "filtersLabel": "ืกื™ื ื•ืŸ",
57
- "emptyTitle": "ืœื ืžืฆืื ื• ืชื•ืฆืื•ืช",
58
- "emptyBody": "ื ืกื• ืœื ืงื•ืช ืืช ื”ืกื™ื ื•ืŸ ืื• ืœื—ืคืฉ ืžืฉื”ื• ืื—ืจ.",
59
- "clearFilters": "ื ื™ืงื•ื™ ืกื™ื ื•ืŸ",
60
- "priceLabel": "ืžื—ื™ืจ",
61
- "priceMin": "ืžื™ื ื™ืžื•ื",
62
- "priceMax": "ืžืงืกื™ืžื•ื"
63
- },
64
- "productDetail": {
65
- "quantityLabel": "ื›ืžื•ืช",
66
- "shippingNote": "ืืคืฉืจื•ื™ื•ืช ื”ืžืฉืœื•ื— ืžื•ืฆื’ื•ืช ื‘ืงื•ืคื”",
67
- "guaranteeNote": "ืฉืืœื” ืขืœ ื”ื”ื–ืžื ื”? ื“ื‘ืจื• ืื™ืชื ื•",
68
- "pickOne": "ื‘ื—ืจื• ืื—ื“",
69
- "upTo": "ืขื“ {max}",
70
- "pickExactly": "ื‘ื—ืจื• ื‘ื“ื™ื•ืง {min}",
71
- "atLeast": "ืœืคื—ื•ืช {min}",
72
- "pickRange": "{min}โ€“{max}",
73
- "soldOut": "ืื–ืœ",
74
- "freeCounter": "{used} ืžืชื•ืš {free} ื—ื™ื ื"
75
- },
76
- "reviews": {
77
- "beFirst": "ืขื“ื™ื™ืŸ ืื™ืŸ ื‘ื™ืงื•ืจื•ืช ืœืžื•ืฆืจ ื”ื–ื”"
78
- },
79
- "cart": {
80
- "itemsInCart": "ื”ืคืจื™ื˜ื™ื ืฉืœืš",
81
- "secureCheckoutNote": "ืชืฉืœื•ื ืžืื•ื‘ื˜ื— ื•ืžื•ืฆืคืŸ",
82
- "couponTitle": "ื™ืฉ ืœื›ื ืงื•ื“ ืงื•ืคื•ืŸ?",
83
- "viewCart": "ืœืฆืคื™ื™ื” ื‘ืขื’ืœื”",
84
- "shippingAtCheckout": "ืžืฉืœื•ื— ื™ื—ื•ืฉื‘ ื‘ืงื•ืคื”"
85
- },
86
- "footer": {
87
- "tagline": "{{storeName}}, ืขื‘ื•ื“ืช ื™ื“ ื•ืขื™ืฆื•ื‘ ื‘ืื”ื‘ื” ื‘ื™ืฉืจืืœ.",
88
- "followUs": "ืขืงื‘ื• ืื—ืจื™ื ื•",
89
- "quickLinksTitle": "ื ื™ื•ื•ื˜ ืžื”ื™ืจ",
90
- "linkProducts": "ื›ืœ ื”ืžื•ืฆืจื™ื",
91
- "linkContact": "ืฆื•ืจ ืงืฉืจ",
92
- "linkFaq": "ืฉืืœื•ืช ื ืคื•ืฆื•ืช",
93
- "linkCart": "ืขื’ืœืช ืงื ื™ื•ืช",
94
- "securePayments": "ืชืฉืœื•ื ืžืื•ื‘ื˜ื— ื•ืžื•ืฆืคืŸ"
95
- }
96
- }
1
+ {
2
+ "common": {
3
+ "close": "ืกื’ื•ืจ"
4
+ },
5
+ "nav": {
6
+ "cart": "ืขื’ืœื”",
7
+ "home": "ื“ืฃ ื”ื‘ื™ืช"
8
+ },
9
+ "home": {
10
+ "heroEyebrow": "ื—ื“ืฉ ื‘ื—ื ื•ืช ยท ื ื‘ื—ืจ ื‘ืงืคื™ื“ื”",
11
+ "heroTitle": "ื“ื‘ืจื™ื ื˜ื•ื‘ื™ื, ืœื›ืœ ื™ื•ื",
12
+ "heroLead": "ืžื•ืฆืจื™ื ืฉื ื‘ื—ืจื• ื‘ืงืคื™ื“ื”, ืื™ื›ื•ืช ืฉืืคืฉืจ ืœืกืžื•ืš ืขืœื™ื” ื•ืฉื™ืจื•ืช ืื™ืฉื™ ื‘ื›ืœ ื”ื–ืžื ื”.",
13
+ "heroCtaSecondary": "ืœืขื™ื•ืŸ ื‘ื—ื ื•ืช",
14
+ "heroTrust": "ืงื•ืคื” ืžืื•ื‘ื˜ื—ืช ื‘ื›ืœ ื”ื–ืžื ื”",
15
+ "benefit1Title": "ืžืฉืœื•ื—",
16
+ "benefit1Desc": "ืืคืฉืจื•ื™ื•ืช ื”ืžืฉืœื•ื— ืžื•ืฆื’ื•ืช ื‘ืงื•ืคื”",
17
+ "benefit2Title": "ืชืฉืœื•ื ืžืื•ื‘ื˜ื—",
18
+ "benefit2Desc": "ืงื•ืคื” ืžื•ืฆืคื ืช ื‘ื›ืœ ื”ื–ืžื ื”",
19
+ "benefit3Title": "ื ื‘ื—ืจ ื‘ืงืคื™ื“ื”",
20
+ "benefit3Desc": "ืจืง ืžื” ืฉื”ื™ื™ื ื• ืงื•ื ื™ื ื‘ืขืฆืžื ื•",
21
+ "benefit4Title": "ื”ื—ื–ืจื•ืช",
22
+ "benefit4Desc": "ื”ืคืจื˜ื™ื ื‘ืžื“ื™ื ื™ื•ืช ื”ื”ื—ื–ืจื•ืช ืฉืœื ื•",
23
+ "featuredEyebrow": "ื”ื ื‘ื—ืจื™ื ืฉืœื ื•",
24
+ "featuredSubtitle": "ื”ืžื•ืฆืจื™ื ื”ื—ื“ืฉื™ื ื‘ื™ื•ืชืจ ื‘ื—ื ื•ืช, ืฉื ื‘ื—ืจื• ื‘ืงืคื™ื“ื”.",
25
+ "categoriesEyebrow": "ืงื˜ื’ื•ืจื™ื•ืช",
26
+ "categoriesTitle": "ืžืฆืื• ื‘ื“ื™ื•ืง ืืช ืžื” ืฉื—ื™ืคืฉืชื",
27
+ "categoriesSubtitle": "ืขื‘ืจื• ื‘ื™ืŸ ื”ืงื˜ื’ื•ืจื™ื•ืช ืื• ืฆืคื• ื‘ื›ืœ ื”ืžื•ืฆืจื™ื, ื•ื”ื’ื™ืขื• ืžื”ืจ ืœืžื” ืฉืžืชืื™ื ืœื›ื.",
28
+ "storyEyebrow": "ื”ืกื™ืคื•ืจ ืฉืœื ื•",
29
+ "storyTitle": "ืžื•ืงืคื“ ื‘ื›ืœ ืคืจื˜, ืžื”ืชื—ืœื” ื•ืขื“ ืืœื™ื›ื",
30
+ "storyP1": "ื›ืœ ืžื•ืฆืจ ืืฆืœื ื• ืขื•ื‘ืจ ืืช ืื•ืชื” ืฉืืœื”: ื”ืื ื”ื™ื™ื ื• ืจื•ืฆื™ื ืื•ืชื• ื‘ืขืฆืžื ื•? ืื ื—ื ื• ื‘ื•ื“ืงื™ื ืื™ื›ื•ืช, ืžืงื•ืจ ื•ื›ืœ ืคืจื˜ ืœืคื ื™ ืฉืžืฉื”ื• ืขื•ืœื” ืœืžื“ืฃ ืฉืœื ื•, ื›ื“ื™ ืฉืžื” ืฉืžื’ื™ืข ืืœื™ื›ื ื™ื”ื™ื” ื‘ื“ื™ื•ืง ืžื” ืฉืฆื™ืคื™ืชื ืœื•.",
31
+ "storyP2": "ืื ื—ื ื• ืžืืžื™ื ื™ื ื‘ืžื•ืฆืจื™ื ืฉื ืฉืืจื™ื: ื—ื•ืžืจื™ื ืื™ื›ื•ืชื™ื™ื, ื‘ืงืจืช ืื™ื›ื•ืช ืงืคื“ื ื™ืช ื•ืชืžื™ื›ื” ืžืœืื” ืžืื—ื•ืจื™ ื›ืœ ื”ื–ืžื ื”. ื›ื›ื” ื ืจืื™ืช ืชืฉื•ืžืช ืœื‘ ืœืคืจื˜ื™ื ื”ืงื˜ื ื™ื.",
32
+ "storyCta": "ืœื›ืœ ื”ืžื•ืฆืจื™ื",
33
+ "storyStat1Value": "ืื™ื›ื•ืช ื ื‘ื“ืงืช",
34
+ "storyStat1Label": "ื›ืœ ืžื•ืฆืจ ื ื‘ื“ืง ืœืคื ื™ ืฉื”ื•ื ืขื•ืœื” ืœืืชืจ",
35
+ "storyStat2Value": "ื›ืืŸ ื‘ืฉื‘ื™ืœื›ื",
36
+ "storyStat2Label": "ืืคืฉืจ ืœืคื ื•ืช ืืœื™ื ื• ื‘ื›ืœ ืฉืืœื” ืขืœ ื”ื–ืžื ื”",
37
+ "ratedEyebrow": "ื“ื™ืจื•ื’ื™ ืœืงื•ื—ื•ืช",
38
+ "ratedTitle": "ื”ื›ื™ ืžื“ื•ืจื’ื™ื ื‘ื—ื ื•ืช",
39
+ "ratedCount": "{count} ื‘ื™ืงื•ืจื•ืช",
40
+ "ratedStars": "ื“ื™ืจื•ื’ {rating} ืžืชื•ืš 5",
41
+ "newsletterTitle": "ื”ืฆื˜ืจืคื• ืœืžื•ืขื“ื•ืŸ ืฉืœื ื•",
42
+ "newsletterSubtitle": "ื”ื™ืจืฉืžื• ื•ืงื‘ืœื• ืœืคื ื™ ื›ื•ืœื ืขื“ื›ื•ื ื™ื ืขืœ ืžื•ืฆืจื™ื ื—ื“ืฉื™ื, ืžื‘ืฆืขื™ื ื•ื”ื˜ื‘ื•ืช ืœืžื•ืขื“ื•ืŸ.",
43
+ "newsletterPlaceholder": "ื›ืชื•ื‘ืช ื”ืื™ืžื™ื™ืœ ืฉืœืš",
44
+ "newsletterCta": "ื”ืจืฉืžื”",
45
+ "newsletterSuccess": "ื›ืžืขื˜ ืกื™ื™ืžื ื•. ื‘ื“ืงื• ืืช ื”ืื™ืžื™ื™ืœ ื•ืืฉืจื• ืืช ื”ื”ืจืฉืžื”, ื•ื”ืฆื™ืฆื• ื’ื ื‘ืชื™ืงื™ื™ืช ื”ืกืคืื.",
46
+ "newsletterPrivacy": "ื‘ืœื™ ืกืคืื. ืืคืฉืจ ืœื”ืกื™ืจ ืืช ื”ื”ืจืฉืžื” ื‘ื›ืœ ืจื’ืข.",
47
+ "heroEmptyHint": "ื”ืžื•ืฆืจื™ื ื”ืจืืฉื•ื ื™ื ืฉืชืคืจืกืžื• ืœื—ื ื•ืช ื™ื•ืคื™ืขื• ื›ืืŸ"
48
+ },
49
+ "products": {
50
+ "listingSubtitle": "ื›ืœ ื”ืžื•ืฆืจื™ื ื‘ื—ื ื•ืช, ื ื‘ื—ืจื• ื‘ืงืคื™ื“ื” ื•ืขื ืื”ื‘ื” ืœืคืจื˜ื™ื.",
51
+ "filtersLabel": "ืกื™ื ื•ืŸ",
52
+ "emptyTitle": "ืœื ืžืฆืื ื• ืชื•ืฆืื•ืช",
53
+ "emptyBody": "ื ืกื• ืœื ืงื•ืช ืืช ื”ืกื™ื ื•ืŸ ืื• ืœื—ืคืฉ ืžืฉื”ื• ืื—ืจ.",
54
+ "clearFilters": "ื ื™ืงื•ื™ ืกื™ื ื•ืŸ",
55
+ "priceLabel": "ืžื—ื™ืจ",
56
+ "priceMin": "ืžื™ื ื™ืžื•ื",
57
+ "priceMax": "ืžืงืกื™ืžื•ื"
58
+ },
59
+ "productDetail": {
60
+ "quantityLabel": "ื›ืžื•ืช",
61
+ "shippingNote": "ืืคืฉืจื•ื™ื•ืช ื”ืžืฉืœื•ื— ืžื•ืฆื’ื•ืช ื‘ืงื•ืคื”",
62
+ "guaranteeNote": "ืฉืืœื” ืขืœ ื”ื”ื–ืžื ื”? ื“ื‘ืจื• ืื™ืชื ื•",
63
+ "pickOne": "ื‘ื—ืจื• ืื—ื“",
64
+ "upTo": "ืขื“ {max}",
65
+ "pickExactly": "ื‘ื—ืจื• ื‘ื“ื™ื•ืง {min}",
66
+ "atLeast": "ืœืคื—ื•ืช {min}",
67
+ "pickRange": "{min}โ€“{max}",
68
+ "soldOut": "ืื–ืœ",
69
+ "freeCounter": "{used} ืžืชื•ืš {free} ื—ื™ื ื"
70
+ },
71
+ "reviews": {
72
+ "beFirst": "ืขื“ื™ื™ืŸ ืื™ืŸ ื‘ื™ืงื•ืจื•ืช ืœืžื•ืฆืจ ื”ื–ื”"
73
+ },
74
+ "cart": {
75
+ "itemsInCart": "ื”ืคืจื™ื˜ื™ื ืฉืœืš",
76
+ "secureCheckoutNote": "ืชืฉืœื•ื ืžืื•ื‘ื˜ื— ื•ืžื•ืฆืคืŸ",
77
+ "couponTitle": "ื™ืฉ ืœื›ื ืงื•ื“ ืงื•ืคื•ืŸ?",
78
+ "viewCart": "ืœืฆืคื™ื™ื” ื‘ืขื’ืœื”",
79
+ "shippingAtCheckout": "ืžืฉืœื•ื— ื™ื—ื•ืฉื‘ ื‘ืงื•ืคื”"
80
+ },
81
+ "footer": {
82
+ "tagline": "{storeName}, ืื™ื›ื•ืช ื•ืฉื™ืจื•ืช ื‘ื›ืœ ื”ื–ืžื ื”.",
83
+ "followUs": "ืขืงื‘ื• ืื—ืจื™ื ื•",
84
+ "quickLinksTitle": "ื ื™ื•ื•ื˜ ืžื”ื™ืจ",
85
+ "linkProducts": "ื›ืœ ื”ืžื•ืฆืจื™ื",
86
+ "linkContact": "ืฆื•ืจ ืงืฉืจ",
87
+ "linkFaq": "ืฉืืœื•ืช ื ืคื•ืฆื•ืช",
88
+ "linkCart": "ืขื’ืœืช ืงื ื™ื•ืช",
89
+ "securePayments": "ืชืฉืœื•ื ืžืื•ื‘ื˜ื— ื•ืžื•ืฆืคืŸ"
90
+ }
91
+ }