├── assets ├── custom.js ├── icons.eot ├── icons.ttf ├── icons.woff ├── password-page-background.jpg ├── ico-select.svg.liquid └── custom.css ├── templates ├── index.liquid ├── 404.liquid ├── page.full-width-no-heading.liquid ├── blog.liquid ├── cart.liquid ├── article.liquid ├── password.liquid ├── page.no-heading.liquid ├── product.liquid ├── list-collections.liquid ├── page.full-width.liquid ├── page.liquid ├── collection.liquid ├── customers │ ├── reset_password.liquid │ ├── activate_account.liquid │ ├── register.liquid │ ├── account.liquid │ ├── login.liquid │ ├── order.liquid │ └── addresses.liquid ├── page.contact.liquid ├── search.liquid └── gift_card.liquid ├── .gitattributes ├── README.md ├── config.yml ├── snippets ├── css-variables.liquid ├── mobile-nav-icons.liquid ├── product-image-css.liquid ├── collection-sorting.liquid ├── tags-article.liquid ├── comment.liquid ├── blog-sidebar.liquid ├── featured-blog.liquid ├── image-style-search.liquid ├── product-unit-price.liquid ├── image-style.liquid ├── pagination-custom.liquid ├── onboarding-featured-blog.liquid ├── newsletter-form.liquid ├── collection-tags.liquid ├── search-bar.liquid ├── bgset.liquid ├── social-sharing.liquid ├── search-result-grid.liquid ├── social-meta-tags.liquid ├── collection-grid-item.liquid ├── breadcrumb.liquid ├── search-result.liquid ├── site-nav.liquid ├── mobile-nav.liquid ├── social-links.liquid ├── product-grid-item.liquid ├── newsletter.liquid └── svg-definitions.liquid ├── sections ├── instafeed.liquid ├── password-header.liquid ├── featured-video.liquid ├── blog-template.liquid ├── gallery.liquid ├── custom-html.liquid ├── collection-list.liquid └── article-template.liquid ├── layout ├── password.liquid └── theme.liquid └── locales ├── zh-CN.json ├── zh-TW.json ├── ko.json └── ja.json /assets/custom.js: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /templates/index.liquid: -------------------------------------------------------------------------------- 1 | {{ content_for_index }} 2 | -------------------------------------------------------------------------------- /.gitattributes: -------------------------------------------------------------------------------- 1 | # Auto detect text files and perform LF normalization 2 | * text=auto 3 | -------------------------------------------------------------------------------- /assets/icons.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tccpro/theme_06_30/HEAD/assets/icons.eot -------------------------------------------------------------------------------- /assets/icons.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tccpro/theme_06_30/HEAD/assets/icons.ttf -------------------------------------------------------------------------------- /assets/icons.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tccpro/theme_06_30/HEAD/assets/icons.woff -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # theme_06_30 2 | 3 | Shopify Custom theme migrate from Shopify 1.0 into Shopify 2.0 4 | -------------------------------------------------------------------------------- /assets/password-page-background.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tccpro/theme_06_30/HEAD/assets/password-page-background.jpg -------------------------------------------------------------------------------- /config.yml: -------------------------------------------------------------------------------- 1 | development: 2 | password: 3 | theme_id: "theme ID:Number" 4 | store: .myshopify.com 5 | -------------------------------------------------------------------------------- /templates/404.liquid: -------------------------------------------------------------------------------- 1 |

{{ 'general.404.title' | t }}

2 |

{{ 'general.404.subtext_html' | t: link: routes.all_products_collection_url }}

3 | -------------------------------------------------------------------------------- /templates/page.full-width-no-heading.liquid: -------------------------------------------------------------------------------- 1 | {% comment %} 2 | Regular page content goes here. 3 | {% endcomment %} 4 |
5 | {{ page.content }} 6 |
7 | -------------------------------------------------------------------------------- /templates/blog.liquid: -------------------------------------------------------------------------------- 1 | {% comment %} 2 | The contents of the blog.liquid template can be found in /sections/blog-template.liquid 3 | {% endcomment %} 4 | 5 | {% section 'blog-template' %} 6 | -------------------------------------------------------------------------------- /templates/cart.liquid: -------------------------------------------------------------------------------- 1 | {% comment %} 2 | The contents of the cart.liquid template can be found in /sections/cart-template.liquid 3 | {% endcomment %} 4 | 5 | {% section 'cart-template' %} 6 | -------------------------------------------------------------------------------- /snippets/css-variables.liquid: -------------------------------------------------------------------------------- 1 | {% style %} 2 | :root { 3 | --color-body-text: {{ settings.color_body_text }}; 4 | --color-body: {{ settings.color_body_bg }}; 5 | } 6 | {% endstyle %} 7 | -------------------------------------------------------------------------------- /templates/article.liquid: -------------------------------------------------------------------------------- 1 | {% comment %} 2 | The contents of the article.liquid template can be found in /sections/article-template.liquid 3 | {% endcomment %} 4 | 5 | {% section 'article-template' %} 6 | -------------------------------------------------------------------------------- /templates/password.liquid: -------------------------------------------------------------------------------- 1 | {% layout 'password' %} 2 | 3 | {% comment %} 4 | The contents of the password.liquid templates can be found in /sections 5 | {% endcomment %} 6 | 7 | {% section 'password-header' %} 8 | {% section 'password-content' %} 9 | -------------------------------------------------------------------------------- /templates/page.no-heading.liquid: -------------------------------------------------------------------------------- 1 |
2 | 3 |
4 | 5 |
6 | {{ page.content }} 7 |
8 | 9 |
10 | 11 |
12 | -------------------------------------------------------------------------------- /templates/product.liquid: -------------------------------------------------------------------------------- 1 | {% comment %} 2 | The contents of the product.liquid template can be found in /sections/product-template.liquid 3 | {% endcomment %} 4 | 5 | {% section 'product-template' %} 6 | {% section 'product-collection-pdp' %} 7 | {% section 'product-recommendations' %} -------------------------------------------------------------------------------- /templates/list-collections.liquid: -------------------------------------------------------------------------------- 1 | 2 | {% comment %} 3 | The contents of the lists-collections.liquid template can be found in /sections/lists-collections-template.liquid 4 | {% endcomment %} 5 | 6 | {% section 'list-collections-template' %} 7 | -------------------------------------------------------------------------------- /templates/page.full-width.liquid: -------------------------------------------------------------------------------- 1 |
2 |

{{ page.title }}

3 |
4 | 5 | {% comment %} 6 | Regular page content goes here. 7 | {% endcomment %} 8 |
9 | {{ page.content }} 10 |
11 | -------------------------------------------------------------------------------- /templates/page.liquid: -------------------------------------------------------------------------------- 1 |
2 | 3 |
4 | 5 |
6 |

{{ page.title }}

7 |
8 | 9 |
10 | {{ page.content }} 11 |
12 | 13 |
14 | 15 |
16 | -------------------------------------------------------------------------------- /snippets/mobile-nav-icons.liquid: -------------------------------------------------------------------------------- 1 | 5 | 9 | -------------------------------------------------------------------------------- /snippets/product-image-css.liquid: -------------------------------------------------------------------------------- 1 | {% style %} 2 | 3 | @media screen and (min-width: 749px) { 4 | .grid .search__image-wrapper img { 5 | /*width: 180px; 6 | height: 320px; 7 | object-fit: cover; 8 | max-width: unset !important; 9 | max-height: unset !important; 10 | min-width: unset !important; 11 | min-height: unset !important;*/ 12 | } 13 | } 14 | 15 | {% endstyle %} -------------------------------------------------------------------------------- /snippets/collection-sorting.liquid: -------------------------------------------------------------------------------- 1 |
2 | 3 | 8 |
9 | -------------------------------------------------------------------------------- /templates/collection.liquid: -------------------------------------------------------------------------------- 1 | {% comment %} 2 | The contents of the collection.liquid template can be found in /sections/collection-template.liquid 3 | {% endcomment %} 4 | 5 | {% section 'collection-template' %} 6 | 7 | 15 | -------------------------------------------------------------------------------- /snippets/tags-article.liquid: -------------------------------------------------------------------------------- 1 | {% comment %} 2 | 3 | This snippet renders a list item with all tags listed out. 4 | It is used in article.liquid and blog.liquid. 5 | 6 | More information: 7 | - index#article-tags 8 | - http://docs.shopify.com/themes/liquid-variables/article 9 | 10 | {% endcomment %} 11 | 12 | {% if article.tags.size > 0 %} 13 |
  • 14 | {{ 'blogs.article.tags' | t }}: 15 | {% for tag in article.tags %} 16 | {{ tag }}{% unless forloop.last %}, {% endunless %} 17 | {% endfor %} 18 |
  • 19 | {% endif %} 20 | -------------------------------------------------------------------------------- /sections/instafeed.liquid: -------------------------------------------------------------------------------- 1 | {{section.settings.html_area}}{% unless section.settings.html_area contains "feed-" %}
    {% endunless %}{%schema%}{"name":"Instafeed App","settings":[{"type":"range","id":"heading_size","min":10,"max":30,"step":1,"unit":"px","label":"Heading Size","default":20},{"type":"range","id":"feed_width","min":50,"max":100,"step":5,"unit":"%","label":"Feed Width","default":100},{"type":"textarea","id":"html_area","label":"Custom Code (optional)"}],"presets":[{"name":"Instafeed App","category":"Instagram Feed"}]}{%endschema%} -------------------------------------------------------------------------------- /assets/ico-select.svg.liquid: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /snippets/comment.liquid: -------------------------------------------------------------------------------- 1 | {% comment %} 2 | 3 | This snippet generates the structure of a comment. 4 | It is used to show not only recent comments, but also comments that were 5 | just published but not yet approved. 6 | 7 | More information: 8 | - http://docs.shopify.com/themes/liquid-variables/comment 9 | 10 | {% endcomment %} 11 | 12 |
    13 | {% capture author %}{{ comment.author }}{% endcapture %} 14 | {% capture date %}{% endcapture %} 15 | {{ 'blogs.article.comment_meta_html' | t: author: author, date: date }}
    16 |
    17 | {{ comment.content }} 18 |
    19 |
    20 | -------------------------------------------------------------------------------- /snippets/blog-sidebar.liquid: -------------------------------------------------------------------------------- 1 |

    {{ 'blogs.sidebar.recent_articles' | t }}

    2 | {% for article in blogs[blog.handle].articles limit:6 %} 3 |

    4 | {{ article.title }} 5 |
    6 | 9 |

    10 | {% endfor %} 11 | 12 | {% if blog.all_tags.size > 0 %} 13 |

    {{ 'blogs.sidebar.categories' | t }}

    14 | 23 | {% endif %} 24 | -------------------------------------------------------------------------------- /snippets/featured-blog.liquid: -------------------------------------------------------------------------------- 1 |

    {{ article.title }} →

    2 | {% if section.settings.blog_show_date or section.settings.blog_show_author %} 3 | 16 | {% endif %} 17 | 18 | {% if section.settings.blog_show_excerpt %} 19 |
    20 | {{ article.excerpt_or_content | strip_html | truncatewords: 30 }} 21 |
    22 | {% endif %} 23 | -------------------------------------------------------------------------------- /snippets/image-style-search.liquid: -------------------------------------------------------------------------------- 1 | 35 | -------------------------------------------------------------------------------- /templates/customers/reset_password.liquid: -------------------------------------------------------------------------------- 1 |
    2 |
    3 | 4 | {% comment %} 5 | This form must use 'reset_customer_password' 6 | {% endcomment %} 7 | {% form 'reset_customer_password' %} 8 | 9 |
    10 |

    {{ 'customer.reset_password.title' | t }}

    11 |
    12 | 13 |

    {{ 'customer.reset_password.subtext' | t: email: email }}

    14 | 15 | {{ form.errors | default_errors }} 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 |

    24 | 25 |

    26 | 27 | {% endform %} 28 | 29 |
    30 |
    31 | -------------------------------------------------------------------------------- /snippets/product-unit-price.liquid: -------------------------------------------------------------------------------- 1 | {%- unless available -%} 2 | {%- if variant.title -%} 3 | {%- assign available = variant.available -%} 4 | {%- else -%} 5 | {%- assign available = true -%} 6 | {%- endif -%} 7 | {%- endunless -%} 8 | 9 | 10 | {%- capture unit_price_separator -%} 11 | {{ 'general.accessibility.unit_price_separator' | t }} 12 | {%- endcapture -%} 13 | {%- capture unit_price_base_unit -%} 14 | 15 | {%- if available and variant.unit_price_measurement -%} 16 | {%- if variant.unit_price_measurement.reference_value != 1 -%} 17 | {{- variant.unit_price_measurement.reference_value -}} 18 | {%- endif -%} 19 | {{ variant.unit_price_measurement.reference_unit }} 20 | {%- endif -%} 21 | 22 | {%- endcapture -%} 23 | {{ 'products.product.unit_price_label' | t }} 24 | {{ variant.unit_price | money }}{{- unit_price_separator -}}{{- unit_price_base_unit -}} 25 | 26 | -------------------------------------------------------------------------------- /snippets/image-style.liquid: -------------------------------------------------------------------------------- 1 | 44 | -------------------------------------------------------------------------------- /templates/customers/activate_account.liquid: -------------------------------------------------------------------------------- 1 |
    2 |

    {{ 'customer.activate_account.title' | t }}

    3 |
    4 | 5 |

    {{ 'customer.activate_account.subtext' | t }}

    6 | 7 |
    8 |
    9 | 10 | {% comment %} 11 | This form must use 'activate_customer_password' 12 | {% endcomment %} 13 | {% form 'activate_customer_password' %} 14 | 15 | {{ form.errors | default_errors }} 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 |
    24 |

    25 | 26 |

    27 | 28 |
    29 | {% endform %} 30 | 31 |
    32 |
    33 | -------------------------------------------------------------------------------- /snippets/pagination-custom.liquid: -------------------------------------------------------------------------------- 1 | {% comment %} 2 | 3 | This snippet renders a custom widget based on the current 'paginate' context, 4 | defined in { % paginate XXXX by 5 % } tags wrapping the content. 5 | The example below breaks the pagination down so you can setup your own styles and behavior if you wish. 6 | 7 | Basic Pagination Usage: 8 | 11 | 12 | Replace Text: 13 | 16 | 17 | More information: 18 | - index#pagination 19 | - http://docs.shopify.com/themes/liquid-variables/paginate 20 | 21 | {% endcomment %} 22 | 23 | 50 | -------------------------------------------------------------------------------- /snippets/onboarding-featured-blog.liquid: -------------------------------------------------------------------------------- 1 |
    2 | {% for i in (1..section.settings.post_limit) %} 3 |
    4 |
    5 | {% if section.settings.blog_show_image %} 6 |
    7 | {% capture current %}{% cycle 1, 2, 3, 4, 5, 6 %}{% endcapture %} 8 | {{ 'collection-' | append: current | placeholder_svg_tag: 'placeholder-svg' }} 9 |
    10 | {% endif %} 11 | {% unless section.settings.post_limit == 1 and section.settings.blog_show_image %} 12 |

    {{ 'home_page.onboarding.blog_title' | t }} →

    13 | {% if section.settings.blog_show_excerpt %} 14 |
    15 | {{ 'home_page.onboarding.blog_excerpt' | t }} 16 |
    17 | {% endif %} 18 | {% endunless %} 19 |
    20 |
    21 | 22 | {% if section.settings.post_limit == 1 and section.settings.blog_show_image %} 23 |
    24 |
    25 |

    {{ 'home_page.onboarding.blog_title' | t }} →

    26 | {% if section.settings.blog_show_excerpt %} 27 |
    28 | {{ 'home_page.onboarding.blog_excerpt' | t }} 29 |
    30 | {% endif %} 31 |
    32 |
    33 | {% endif %} 34 | 35 | {% endfor %} 36 |
    -------------------------------------------------------------------------------- /snippets/newsletter-form.liquid: -------------------------------------------------------------------------------- 1 |
    2 | {% form 'customer' %} 3 | {{ form.errors | default_errors }} 4 | {% if form.posted_successfully? %} 5 |

    {{ 'general.newsletter_form.confirmation' | t }}

    6 | {% else %} 7 | 8 | 9 | 10 | {% endif %} 11 | {% endform %} 12 |
    13 |
    14 | {% form 'customer' %} 15 | {{ form.errors | default_errors }} 16 | {% if form.posted_successfully? %} 17 |

    {{ 'general.newsletter_form.confirmation' | t }}

    18 | {% else %} 19 | 20 |
    21 | 22 | 23 | 24 | 25 |
    26 | {% endif %} 27 | {% endform %} 28 |
    29 | -------------------------------------------------------------------------------- /snippets/collection-tags.liquid: -------------------------------------------------------------------------------- 1 | {%- if collection.all_tags.size > 0 -%} 2 |
    3 | 4 | {% comment %}Good for /collections/all collection and regular collections{% endcomment %} 5 | {%- if collection.handle -%} 6 | {%- capture collection_url -%} 7 | {%- if collection.url == blank -%} 8 | {{ routes.all_products_collection_url }}{%- unless collection.sort_by == blank -%}?sort_by={{ collection.sort_by }}{%- endunless -%} 9 | {%- else -%} 10 | {{ collection.url }}{%- unless collection.sort_by == blank -%}?sort_by={{ collection.sort_by }}{%- endunless -%} 11 | {%- endif -%} 12 | {%- endcapture -%} 13 | {% comment %}Good for automatic type collections{% endcomment %} 14 | {%- elsif collection.current_type -%} 15 | {% assign collection_url = collection.current_type | url_for_type | sort_by: collection.sort_by %} 16 | {% comment %}Good for automatic vendor collections{% endcomment %} 17 | {%- elsif collection.current_vendor -%} 18 | {% assign collection_url = collection.current_vendor | url_for_vendor | sort_by: collection.sort_by %} 19 | {%- endif -%} 20 | 27 |
    28 | {%- endif -%} 29 | 30 | 39 | -------------------------------------------------------------------------------- /templates/customers/register.liquid: -------------------------------------------------------------------------------- 1 |
    2 | 3 |
    4 | 5 |
    6 |

    {{ 'customer.register.title' | t }}

    7 |
    8 | 9 | {% comment %} 10 | This form must use 'create_customer' 11 | {% endcomment %} 12 | {% form 'create_customer' %} 13 | 14 | {{ form.errors | default_errors }} 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 |

    29 | 30 |

    31 | {{ 'customer.register.cancel' | t }} 32 | 33 | {% endform %} 34 | 35 |
    36 | 37 |
    38 | -------------------------------------------------------------------------------- /snippets/search-bar.liquid: -------------------------------------------------------------------------------- 1 | {% comment %} 2 | 3 | A snippet to include a search bar anywhere in your theme. 4 | Note we are using 'input-group' for the layout. Look under Forms > Input Groups for some demos. 5 | 6 | More information: 7 | - http://docs.shopify.com/themes/liquid-variables/search 8 | 9 | To return only products in results: 10 | - http://docs.shopify.com/manual/configuration/store-customization/return-only-product-in-storefront-search-results 11 | - Or manually add type=product to the search URL as a query parameter 12 | - Uncomment hidden input with value="product" below 13 | 14 | {% endcomment %} 15 | 16 | {% if search-bar == 'header' %} 17 | 25 | {% else %} 26 | 36 | {% endif %} 37 | -------------------------------------------------------------------------------- /templates/customers/account.liquid: -------------------------------------------------------------------------------- 1 |
    2 |

    {{ 'customer.account.title' | t }}

    3 |
    4 | 5 |
    6 | 7 |
    8 |

    {{ 'customer.orders.title' | t }}

    9 | 10 | {% comment %} 11 | If we have past orders, loop through each one 12 | {% endcomment %} 13 | 14 | {% paginate customer.orders by 20 %} 15 | 16 | {% if customer.orders.size != 0 %} 17 | 18 |
    19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | {% for order in customer.orders %} 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | {% endfor %} 39 | 40 |
    {{ 'customer.orders.order_number' | t }}{{ 'customer.orders.date' | t }}{{ 'customer.orders.payment_status' | t }}{{ 'customer.orders.fulfillment_status' | t }}{{ 'customer.orders.total' | t }}
    {{ order.name | link_to: order.customer_url }}{{ order.created_at | date: format: 'date' }}{{ order.financial_status_label }}{{ order.fulfillment_status_label }}{{ order.total_price | money }}
    41 |
    42 | 43 | {% else %} 44 | 45 |

    {{ 'customer.orders.none' | t }}

    46 | 47 | {% endif %} 48 | 49 | {% if paginate.pages > 1 %} 50 |
    51 | {% include 'pagination-custom' %} 52 |
    53 | {% endif %} 54 | 55 | {% endpaginate %} 56 | 57 |
    58 | 59 | 66 | 67 |
    68 | -------------------------------------------------------------------------------- /templates/page.contact.liquid: -------------------------------------------------------------------------------- 1 |
    2 | 3 |
    4 | 5 |
    6 |

    {{ page.title }}

    7 |
    8 | 9 |
    10 | {{ page.content }} 11 |
    12 | 13 |
    14 | 15 | {% form 'contact' %} 16 | 17 | {% if form.posted_successfully? %} 18 |

    19 | {{ 'contact.form.post_success' | t }} 20 |

    21 | {% endif %} 22 | 23 | {{ form.errors | default_errors }} 24 | 25 | {% assign name_attr = 'contact.form.name' | t | handle %} 26 | 27 | 28 | 29 | 30 | 31 | 32 | {% assign name_attr = 'contact.form.phone' | t | handle %} 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | {% endform %} 42 | 43 |
    44 |
    45 |
    46 | -------------------------------------------------------------------------------- /snippets/bgset.liquid: -------------------------------------------------------------------------------- 1 | {%- if image != blank -%} 2 | {% if image.width > 180 %}{{ image | img_url: '180x' }} 180w {{ 180 | divided_by: image.aspect_ratio | round }}h,{% endif %} 3 | {% if image.width > 360 %}{{ image | img_url: '360x' }} 360w {{ 360 | divided_by: image.aspect_ratio | round }}h,{% endif %} 4 | {% if image.width > 540 %}{{ image | img_url: '540x' }} 540w {{ 540 | divided_by: image.aspect_ratio | round }}h,{% endif %} 5 | {% if image.width > 720 %}{{ image | img_url: '720x' }} 720w {{ 720 | divided_by: image.aspect_ratio | round }}h,{% endif %} 6 | {% if image.width > 900 %}{{ image | img_url: '900x' }} 900w {{ 900 | divided_by: image.aspect_ratio | round }}h,{% endif %} 7 | {% if image.width > 1080 %}{{ image | img_url: '1080x' }} 1080w {{ 1080 | divided_by: image.aspect_ratio | round }}h,{% endif %} 8 | {% if image.width > 1296 %}{{ image | img_url: '1296x' }} 1296w {{ 1296 | divided_by: image.aspect_ratio | round }}h,{% endif %} 9 | {% if image.width > 1512 %}{{ image | img_url: '1512x' }} 1512w {{ 1512 | divided_by: image.aspect_ratio | round }}h,{% endif %} 10 | {% if image.width > 1728 %}{{ image | img_url: '1728x' }} 1728w {{ 1728 | divided_by: image.aspect_ratio | round }}h,{% endif %} 11 | {% if image.width > 1950 %}{{ image | img_url: '1950x' }} 1950w {{ 1950 | divided_by: image.aspect_ratio | round }}h,{% endif %} 12 | {% if image.width > 2100 %}{{ image | img_url: '2100x' }} 2100w {{ 2100 | divided_by: image.aspect_ratio | round }}h,{% endif %} 13 | {% if image.width > 2260 %}{{ image | img_url: '2260x' }} 2260w {{ 2260 | divided_by: image.aspect_ratio | round }}h,{% endif %} 14 | {% if image.width > 2450 %}{{ image | img_url: '2450x' }} 2450w {{ 2450 | divided_by: image.aspect_ratio | round }}h,{% endif %} 15 | {% if image.width > 2700 %}{{ image | img_url: '2700x' }} 2700w {{ 2700 | divided_by: image.aspect_ratio | round }}h,{% endif %} 16 | {% if image.width > 3000 %}{{ image | img_url: '3000x' }} 3000w {{ 3000 | divided_by: image.aspect_ratio | round }}h,{% endif %} 17 | {% if image.width > 3350 %}{{ image | img_url: '3350x' }} 3350w {{ 3350 | divided_by: image.aspect_ratio | round }}h,{% endif %} 18 | {% if image.width > 3750 %}{{ image | img_url: '3750x' }} 3750w {{ 3750 | divided_by: image.aspect_ratio | round }}h,{% endif %} 19 | {% if image.width > 4100 %}{{ image | img_url: '4100x' }} 4100w {{ 4100 | divided_by: image.aspect_ratio | round }}h,{% endif %} 20 | {{ image | img_url: 'master' }} {{ image.width }}w {{ image.height }}h 21 | {%- endif -%} 22 | -------------------------------------------------------------------------------- /snippets/social-sharing.liquid: -------------------------------------------------------------------------------- 1 | {% if request.page_type == 'article' or request.page_type == 'blog' %} 2 | {% capture permalinkURL %}{{ shop.url }}{{ article.url }}{% endcapture %} 3 | {% capture shareTitle %}{{ article.title | url_param_escape }}{% endcapture %} 4 | {% elsif request.page_type == 'product' %} 5 | {% capture permalinkURL %}{{ shop.url }}{{ product.url }}{% endcapture %} 6 | {% capture shareTitle %}{{ product.title | url_param_escape }}{% endcapture %} 7 | {% elsif request.page_type == 'password' %} 8 | {% capture permalinkURL %}{{ shop.url }}{% endcapture %} 9 | {% capture shareTitle %}{% unless shop.metafields.global.description_tag == blank %}{{ shop.metafields.global.description_tag | url_param_escape }}{% else %}{{ shop.name | url_param_escape }}{% endunless %}{% endcapture %} 10 | {% endif %} 11 | 12 | {% assign shareButtonStyle = settings.social_sharing_style %} 13 | 14 | 45 | -------------------------------------------------------------------------------- /snippets/search-result-grid.liquid: -------------------------------------------------------------------------------- 1 | {% comment %} 2 | 3 | This snippet gives you a grid layout for each search result. 4 | 5 | It is encouraged to only use this approach for product results, 6 | as page results don't look great in a grid without a featured image. 7 | 8 | To use this grid layout, change the grid_results variable 9 | in search.liquid to true. 10 | 11 | {% endcomment %} 12 | 13 | {% comment %} 14 | Set the default grid_item_width if no variable is set 15 | {% endcomment %} 16 | {% unless grid_item_width %} 17 | {% assign grid_item_width = 'wide--one-quarter large--one-third medium--one-half' %} 18 | {% endunless %} 19 | 20 | 73 | -------------------------------------------------------------------------------- /layout/password.liquid: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | {{ shop.name }} 7 | 8 | 9 | 10 | 11 | {% if settings.favicon %} 12 | 13 | {% endif %} 14 | 15 | {% include 'social-meta-tags' %} 16 | 17 | {{ content_for_header }} 18 | 19 | 20 | {{ 'timber.scss.css' | asset_url | stylesheet_tag }} 21 | {{ 'theme.scss.css' | asset_url | stylesheet_tag }} 22 | {% render 'css-variables' %} 23 | 24 | 25 | 34 | 35 | {{ 'jquery-2.2.3.min.js' | asset_url | script_tag }} 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 |
    44 | {{ content_for_layout }} 45 | 46 | 57 |
    58 | 59 | 73 | 74 | {{ 'theme.js' | asset_url | script_tag }} 75 | 76 | 77 | 78 | -------------------------------------------------------------------------------- /snippets/social-meta-tags.liquid: -------------------------------------------------------------------------------- 1 | 2 | {%- assign og_title = page_title | default: shop.name -%} 3 | {%- assign og_url = canonical_url | default: shop.url -%} 4 | {%- assign og_type = 'website' -%} 5 | {%- assign og_description = page_description | default: shop.description | default: shop.name -%} 6 | {% if page_image %} 7 | {%- capture og_image_tags -%}{%- endcapture -%} 8 | {%- capture og_image_secure_url_tags -%}{%- endcapture -%} 9 | {% endif %} 10 | 11 | {% comment %} Template specific overides {% endcomment %} 12 | {% if request.page_type == 'product' %} 13 | {%- assign og_type = 'product' -%} 14 | {% if product.images.size > 0 %} 15 | {%- capture og_image_tags -%}{% for image in product.images limit:3 -%}{% endfor -%}{% endcapture -%} 16 | {%- capture og_image_secure_url_tags -%}{% for image in product.images limit:3 -%}{% endfor -%}{% endcapture -%} 17 | {% endif %} 18 | 19 | {% elsif request.page_type == 'article' %} 20 | {%- assign og_type = 'article' -%} 21 | {% if article.image %} 22 | {%- capture og_image_tags -%}{%- endcapture -%} 23 | {%- capture og_image_secure_url_tags -%}{%- endcapture -%} 24 | {% endif %} 25 | 26 | {% elsif request.page_type == 'collection' %} 27 | {%- assign og_type = 'product.group' -%} 28 | {% if collection.image %} 29 | {%- capture og_image_tags -%}{%- endcapture -%} 30 | {%- capture og_image_secure_url_tags -%}{%- endcapture -%} 31 | {% endif %} 32 | 33 | {% elsif request.page_type == 'password' %} 34 | {%- assign og_url = shop.url -%} 35 | {% endif %} 36 | 37 | 38 | 39 | 40 | 41 | 42 | {% if request.page_type == 'product' %} 43 | 44 | 45 | {% endif %} 46 | {{ og_image_tags }} 47 | {{ og_image_secure_url_tags }} 48 | 49 | {% unless settings.social_twitter_link == blank %} 50 | 51 | {% endunless %} 52 | 53 | 54 | 55 | -------------------------------------------------------------------------------- /snippets/collection-grid-item.liquid: -------------------------------------------------------------------------------- 1 | {% style %} 2 | 3 | .grid-link__image { 4 | height: unset !important; 5 | } 6 | 7 | {% endstyle %} 8 | 9 | 10 | {% if collections[featured] == empty %} 11 | {% comment %}add default state for collection block in storefront editor{% endcomment %} 12 | {% capture collection_title %}{{ 'home_page.onboarding.collection_title' | t }}{% endcapture %} 13 | {% else %} 14 | {% capture collection_title %}{{ collections[featured].title | escape }}{% endcapture %} 15 | {% endif %} 16 | 17 | 18 | 19 | 20 | {% if collections[featured] == empty %} 21 | {% capture current %}{% cycle 1, 2, 3, 4, 5, 6 %}{% endcapture %} 22 | {{ 'collection-' | append: current | placeholder_svg_tag: 'placeholder-svg' }} 23 | {% else %} 24 | {% if collections[featured].image %} 25 | {%- assign collection_image = collections[featured].image -%} 26 | {% else %} 27 | {%- assign collection_image = collections[featured].products.first.featured_image -%} 28 | {% endif %} 29 | 30 | {% unless collection_image == blank %} 31 | {% capture img_id %}CollectionImage-{{ collection_image.id }}--{{ collection_width }}{% endcapture %} 32 | {% capture img_wrapper_id %}CollectionImageWrapper-{{ collection_image.id }}--{{ collection_width }}{% endcapture %} 33 | {%- assign img_url = collection_image | img_url: '1x1' | replace: '_1x1.', '_{width}x.' -%} 34 | {% include 'image-style' with image: collection_image, width: collection_width, height: 600, wrapper_id: img_wrapper_id, img_id: img_id %} 35 | 36 |
    37 |
    38 | {{ collection_image.alt | escape }} 46 |
    47 |
    48 | {% else %} 49 | {%- capture image_size -%}{{ collection_width }}x{{ collection_width }}{%- endcapture -%} 50 |
    51 | {{ collection_image | img_url: image_size | img_tag: collection_title }} 52 |
    53 | {% endunless %} 54 | 55 | 59 | {% endif %} 60 |
    61 |
    62 | 63 |
    -------------------------------------------------------------------------------- /templates/search.liquid: -------------------------------------------------------------------------------- 1 | {% comment %} 2 | 3 | The {{ content_for_header }} in theme.liquid will output the following stylesheet just for this page: 4 | - 5 | 6 | It has a few helpers in there, but this theme writes its own styles so there 7 | are no dependencies or conflicts. You can ignore that file. 8 | 9 | Return only products or pages in results: 10 | - http://docs.shopify.com/manual/configuration/store-customization/return-only-product-in-storefront-search-results 11 | - Or manually add type=product or type=page to the search URL as a parameter 12 | 13 | {% endcomment %} 14 | 15 | {% comment %} 16 | If you're only showing products with the method above, why not show them off in a grid instead? 17 | Set grid_results to true and see your updated results page for the new layout. 18 | {% endcomment %} 19 | 20 | {% include 'product-image-css' %} 21 | 22 | {% assign grid_results = false %} 23 | 24 | {% if search.performed %} 25 | 26 | {% comment %} 27 | Avoid accessing search.results before the opening paginate tag. 28 | If you do, the pagination of results will be broken. 29 | {% endcomment %} 30 | {% paginate search.results by 10 %} 31 | 32 | {% comment %} 33 | We don't have any results to show. Feel free to show off featured products 34 | or suggested searches here. 35 | {% endcomment %} 36 | {% if search.results_count == 0 %} 37 | 38 |
    39 |

    {{ 'general.search.no_results_html' | t: terms: search.terms }}

    40 |
    41 | {% include 'search-bar' %} 42 | 43 | {% else %} 44 | 45 |
    46 |

    {{ 'general.search.results_for_html' | t: terms: search.terms }}

    47 |
    48 | {% include 'search-bar' %} 49 | 50 | {% comment %} 51 | Each result template, based on the grid_layout variable above 52 | {% endcomment %} 53 | {% if grid_results == false %} 54 | 55 |
    56 | {% for item in search.results %} 57 | {% include 'search-result' %} 58 |
    59 | {% endfor %} 60 | 61 | {% else %} 62 | 63 |
    64 | {% for item in search.results %} 65 | {% assign grid_item_width = 'post-large--one-quarter medium--one-third small--one-half' %} 66 | {% include 'search-result-grid' %} 67 | {% endfor %} 68 |
    69 | 70 | {% endif %} 71 | 72 | {% endif %} 73 | 74 | {% if paginate.pages > 1 %} 75 |
    76 | {% include 'pagination-custom' %} 77 |
    78 | {% endif %} 79 | 80 | {% endpaginate %} 81 | 82 | {% else %} 83 | 84 | {% comment %} 85 | If search.performed is false, someone either accessed the page without 86 | the q parameter, or it was blank. 87 | Be sure to show a search form here, along with anything else you want to showcase. 88 | {% endcomment %} 89 |
    90 |

    {{ 'general.search.title' | t }}

    91 |
    92 | {% include 'search-bar' %} 93 | 94 | {% endif %} 95 | -------------------------------------------------------------------------------- /snippets/breadcrumb.liquid: -------------------------------------------------------------------------------- 1 | {% comment %} 2 | Documentation - http://docs.shopify.com/support/your-website/navigation/creating-a-breadcrumb-navigation 3 | {% endcomment %} 4 | {% unless request.page_type == 'index' or request.page_type == 'cart' %} 5 | 59 | 60 | 84 | {% endunless %} 85 | -------------------------------------------------------------------------------- /snippets/search-result.liquid: -------------------------------------------------------------------------------- 1 | {% comment %} 2 | 3 | This snippet defines the default structure of each search result. 4 | 5 | 'item' refers to the result, but typically mimics the product liquid tag, 6 | so you can access product liquid tags with {{ item.XXX }}. 7 | 8 | Remember that results aren't specific to products, so don't depend on 9 | a featured image or item.type. Pages, for example, have a blank item.type. 10 | 11 | Product liquid tag info: 12 | - http://docs.shopify.com/themes/liquid-variables/product 13 | 14 | {% endcomment %} 15 | 16 |
    17 | 18 | {%- assign has_image = false -%} 19 | {% if item.featured_image or item.image %} 20 | {% comment %} 21 | We have a featured_image 22 | {% endcomment %} 23 | {% assign has_image = true %} 24 | {% assign image_alt = item.title | escape %} 25 | 53 | {% endif %} 54 | 55 | {% comment %} 56 | If we don't have a featured_image, add a push-- class to keep the alignment the same 57 | {% endcomment %} 58 |
    59 |

    {{ item.title | link_to: item.url }}

    60 | {% if item.object_type == 'product' %} 61 | {%- assign variant = item.selected_or_first_available_variant -%} 62 | 63 | {% if item.compare_at_price > item.price %} 64 | {{ 'products.product.sale_price' | t }} 65 | 66 | {{ item.price | money }} 67 | 68 | {{ 'products.product.regular_price' | t }} 69 | {{ item.compare_at_price_max | money }} 70 | 71 | {%- if variant.available and variant.unit_price_measurement -%} 72 | {% include 'product-unit-price', variant: variant %} 73 | {%- endif -%} 74 | {% else %} 75 | {{ 'products.product.regular_price' | t }} 76 | 77 | {{ item.price | money }} 78 | 79 | 80 | {%- if variant.available and variant.unit_price_measurement -%} 81 | {% include 'product-unit-price', variant: variant %} 82 | {%- endif -%} 83 | {% endif %} 84 | {% endif %} 85 | 86 | {% comment %} 87 | Get a brief excerpt of raw text from the page/product 88 | {% endcomment %} 89 |

    {{ item.content | strip_html | truncatewords: 20 }}

    90 |
    91 | 92 |
    93 | -------------------------------------------------------------------------------- /snippets/site-nav.liquid: -------------------------------------------------------------------------------- 1 | {% comment %} 2 | List out your main-menu linklist (default) 3 | 4 | More info on linklists: 5 | - http://docs.shopify.com/themes/liquid-variables/linklists 6 | {% endcomment %} 7 | 92 | -------------------------------------------------------------------------------- /snippets/mobile-nav.liquid: -------------------------------------------------------------------------------- 1 | 101 | -------------------------------------------------------------------------------- /snippets/social-links.liquid: -------------------------------------------------------------------------------- 1 | 83 | -------------------------------------------------------------------------------- /sections/password-header.liquid: -------------------------------------------------------------------------------- 1 | 6 | 7 | 35 | 36 | 37 | 38 | {% schema %} 39 | { 40 | "name": { 41 | "cs": "Záhlaví", 42 | "da": "Overskrift", 43 | "de": "Titel", 44 | "en": "Header", 45 | "es": "Encabezado", 46 | "fi": "Ylätunniste", 47 | "fr": "En-tête", 48 | "it": "Header", 49 | "ja": "ヘッダー", 50 | "ko": "헤더", 51 | "nb": "Header", 52 | "nl": "Koptekst", 53 | "pl": "Nagłówek", 54 | "pt-BR": "Cabeçalho", 55 | "pt-PT": "Cabeçalho", 56 | "sv": "Rubrik", 57 | "th": "ส่วนหัว", 58 | "tr": "Üstbilgi", 59 | "vi": "Đầu trang", 60 | "zh-CN": "标头", 61 | "zh-TW": "標頭" 62 | }, 63 | "class": "password-header-section", 64 | "settings": [ 65 | { 66 | "type": "image_picker", 67 | "id": "logo", 68 | "label": { 69 | "cs": "Obrázek loga", 70 | "da": "Logobillede", 71 | "de": "Logo-Foto", 72 | "en": "Logo image", 73 | "es": "Logo", 74 | "fi": "Logokuva", 75 | "fr": "Image du logo", 76 | "it": "Immagine del logo", 77 | "ja": "ロゴ画像", 78 | "ko": "로고 이미지", 79 | "nb": "Logobilde", 80 | "nl": "Afbeelding van logo", 81 | "pl": "Obraz logo", 82 | "pt-BR": "Imagem do logo", 83 | "pt-PT": "Imagem do logótipo", 84 | "sv": "Logobild", 85 | "th": "รูปภาพโลโก้", 86 | "tr": "Logo görseli", 87 | "vi": "Hình ảnh logo", 88 | "zh-CN": "logo 图片", 89 | "zh-TW": "標誌圖片" 90 | } 91 | }, 92 | { 93 | "type": "text", 94 | "id": "logo_max_width", 95 | "label": { 96 | "cs": "Šířka vlastního loga (v pixelech, maximálně 2 048)", 97 | "da": "Bredde på tilpasset logo (i pixels, maks. 2048)", 98 | "de": "Benutzerdefinierte Logobreite (in Pixel, max. 2048)", 99 | "en": "Custom logo width (in pixels, max 2048)", 100 | "es": "Ancho del logo personalizado (en píxeles, máx. 2048)", 101 | "fi": "Mukautetun logon leveys (pikseleinä, enintään 2048)", 102 | "fr": "Largeur personnalisée du logo (en pixels, max. 2 048)", 103 | "it": "Larghezza logo personalizzato (in pixel, massimo 2048)", 104 | "ja": "ロゴの幅をカスタマイズする (最大2048ピクセル)", 105 | "ko": "사용자 지정 로고 폭 (픽셀, 최대 2048)", 106 | "nb": "Tilpasset logobredde (i piksler, maks 2048)", 107 | "nl": "Breedte aangepast logo (in pixels, max 2048)", 108 | "pl": "Niestandardowa szerokość logo (w pikselach, maks. 2048)", 109 | "pt-BR": "Largura do logo personalizado (em pixels, máx. 2048)", 110 | "pt-PT": "Largura de logótipo personalizada (em píxeis, máx. 2048)", 111 | "sv": "Anpassad logotypsbredd (i pixlar, max 2048)", 112 | "th": "ความกว้างของโลโก้แบบกำหนดเอง (เป็นพิกเซลสูงสุด 2048)", 113 | "tr": "Özel logo genişliği (piksel, maksimum 2048)", 114 | "vi": "Chiều rộng logo tùy chỉnh (pixel, tối đa 2048)", 115 | "zh-CN": "自定义 logo 宽度(以像素为单位,最大为 2048)", 116 | "zh-TW": "自訂商標寬度 (單位為像素,最大 2048 像素)" 117 | }, 118 | "default": { 119 | "cs": "200", 120 | "da": "200", 121 | "de": "200", 122 | "en": "200", 123 | "es": "200", 124 | "fi": "200", 125 | "fr": "200", 126 | "it": "200", 127 | "ja": "200", 128 | "ko": "200", 129 | "nb": "200", 130 | "nl": "200", 131 | "pl": "200", 132 | "pt-BR": "200", 133 | "pt-PT": "200", 134 | "sv": "200", 135 | "th": "200", 136 | "tr": "200", 137 | "vi": "200", 138 | "zh-CN": "200", 139 | "zh-TW": "200" 140 | } 141 | } 142 | ] 143 | } 144 | {% endschema %} 145 | -------------------------------------------------------------------------------- /templates/customers/login.liquid: -------------------------------------------------------------------------------- 1 |
    2 | 3 |
    4 | 5 | {% comment %} 6 | If a user has successfully requested a new password, the form.posted_successfully? variable 7 | is set to true within the 'recover_customer_password' form only. Within that form you'll see 8 | us assign a variable 'reset_success' to true, which is used in JS to show our success message. 9 | {% endcomment %} 10 | 13 | 14 |
    15 | {% form 'customer_login' %} 16 | 17 |
    18 |

    {{ 'customer.login.title' | t }}

    19 |
    20 | 21 | {{ form.errors | default_errors }} 22 | 23 | 24 | 25 | 26 | {% if form.password_needed %} 27 | 28 | 29 | 30 | 31 |

    32 | {{ 'customer.login.forgot_password' | t }} 33 |

    34 | 35 | {% endif %} 36 | 37 |

    38 | 39 |

    40 |

    41 | {{ 'layout.customer.create_account' | t | customer_register_link }} 42 |

    43 | {{ 'customer.login.cancel' | t }} 44 | 45 | {% endform %} 46 |
    47 | 48 | {% comment %} 49 | This page uses JavaScript to show/hide the recover password form 50 | {% endcomment %} 51 | 84 | 85 | {% comment %} 86 | If accounts are set as optional, the following will be shown as an option 87 | during checkout, not on the default /login page. 88 | {% endcomment %} 89 | {% if shop.checkout.guest_login %} 90 |
    91 | 92 |

    {{ 'customer.login.guest_title' | t }}

    93 | 94 | {% form 'guest_login' %} 95 | 96 | {% endform %} 97 | {% endif %} 98 | 99 |
    100 | 101 |
    102 | 103 | 125 | -------------------------------------------------------------------------------- /sections/featured-video.liquid: -------------------------------------------------------------------------------- 1 |
    2 | {% if section.settings.heading != blank %} 3 |
    4 |

    {{ section.settings.heading | escape }}

    5 |
    6 | {% endif %} 7 | 8 |
    9 |
    10 |
    11 | {% if section.settings.video_url == blank %} 12 | 13 | {% else %} 14 | {% if section.settings.video_url.type == "youtube" %} 15 | 16 | {% endif %} 17 | {% if section.settings.video_url.type == "vimeo" %} 18 | 19 | {% endif %} 20 | {% endif %} 21 |
    22 |
    23 |
    24 |
    25 | 26 | 27 | {% schema %} 28 | { 29 | "name": { 30 | "cs": "Video", 31 | "da": "Video", 32 | "de": "Video", 33 | "en": "Video", 34 | "es": "Video", 35 | "fi": "Video", 36 | "fr": "Vidéo", 37 | "it": "Video", 38 | "ja": "ビデオ", 39 | "ko": "동영상", 40 | "nb": "Video", 41 | "nl": "Video", 42 | "pl": "Film", 43 | "pt-BR": "Vídeo", 44 | "pt-PT": "Vídeo", 45 | "sv": "Video", 46 | "th": "วิดีโอ", 47 | "tr": "Video", 48 | "vi": "Video", 49 | "zh-CN": "视频", 50 | "zh-TW": "影片" 51 | }, 52 | "class": "index-section", 53 | "settings": [ 54 | { 55 | "type": "text", 56 | "id": "heading", 57 | "label": { 58 | "cs": "Nadpis", 59 | "da": "Overskrift", 60 | "de": "Überschrift", 61 | "en": "Heading", 62 | "es": "Título", 63 | "fi": "Otsake", 64 | "fr": "Titre", 65 | "it": "Heading", 66 | "ja": "見出し", 67 | "ko": "제목", 68 | "nb": "Overskrift", 69 | "nl": "Kop", 70 | "pl": "Nagłówek", 71 | "pt-BR": "Título", 72 | "pt-PT": "Título", 73 | "sv": "Rubrik", 74 | "th": "ส่วนหัว", 75 | "tr": "Başlık", 76 | "vi": "Tiêu đề", 77 | "zh-CN": "标题", 78 | "zh-TW": "標題" 79 | }, 80 | "default": { 81 | "cs": "Video", 82 | "da": "Video", 83 | "de": "Video", 84 | "en": "Video", 85 | "es": "Video", 86 | "fi": "Video", 87 | "fr": "Vidéo", 88 | "it": "Video", 89 | "ja": "ビデオ", 90 | "ko": "동영상", 91 | "nb": "Video", 92 | "nl": "Video", 93 | "pl": "Film", 94 | "pt-BR": "Vídeo", 95 | "pt-PT": "Vídeo", 96 | "sv": "Video", 97 | "th": "วิดีโอ", 98 | "tr": "Video", 99 | "vi": "Video", 100 | "zh-CN": "视频", 101 | "zh-TW": "影片" 102 | } 103 | }, 104 | { 105 | "type": "video_url", 106 | "id": "video_url", 107 | "label": { 108 | "cs": "Odkaz na video", 109 | "da": "Videolink", 110 | "de": "Videolink", 111 | "en": "Video link", 112 | "es": "Enlace de video", 113 | "fi": "Videolinkki", 114 | "fr": "Lien de la vidéo", 115 | "it": "Link video", 116 | "ja": "ビデオリンク", 117 | "ko": "동영상 링크", 118 | "nb": "Videokobling", 119 | "nl": "Videolink", 120 | "pl": "Link filmu", 121 | "pt-BR": "Link do vídeo", 122 | "pt-PT": "Ligação do vídeo", 123 | "sv": "Videolänk", 124 | "th": "ลิงก์วิดีโอ", 125 | "tr": "Video bağlantısı", 126 | "vi": "Liên kết video", 127 | "zh-CN": "视频链接", 128 | "zh-TW": "影片連結" 129 | }, 130 | "accept": [ 131 | "youtube", 132 | "vimeo" 133 | ] 134 | } 135 | ], 136 | "presets": [ 137 | { 138 | "name": { 139 | "cs": "Video", 140 | "da": "Video", 141 | "de": "Video", 142 | "en": "Video", 143 | "es": "Video", 144 | "fi": "Video", 145 | "fr": "Vidéo", 146 | "it": "Video", 147 | "ja": "ビデオ", 148 | "ko": "동영상", 149 | "nb": "Video", 150 | "nl": "Video", 151 | "pl": "Film", 152 | "pt-BR": "Vídeo", 153 | "pt-PT": "Vídeo", 154 | "sv": "Video", 155 | "th": "วิดีโอ", 156 | "tr": "Video", 157 | "vi": "Video", 158 | "zh-CN": "视频", 159 | "zh-TW": "影片" 160 | }, 161 | "category": { 162 | "cs": "Video", 163 | "da": "Video", 164 | "de": "Video", 165 | "en": "Video", 166 | "es": "Video", 167 | "fi": "Video", 168 | "fr": "Vidéo", 169 | "it": "Video", 170 | "ja": "ビデオ", 171 | "ko": "동영상", 172 | "nb": "Video", 173 | "nl": "Video", 174 | "pl": "Film", 175 | "pt-BR": "Vídeo", 176 | "pt-PT": "Vídeo", 177 | "sv": "Video", 178 | "th": "วิดีโอ", 179 | "tr": "Video", 180 | "vi": "Video", 181 | "zh-CN": "视频", 182 | "zh-TW": "影片" 183 | } 184 | } 185 | ] 186 | } 187 | {% endschema %} 188 | -------------------------------------------------------------------------------- /snippets/product-grid-item.liquid: -------------------------------------------------------------------------------- 1 | {% assign on_sale = false %} 2 | {% assign sale_text = 'products.product.sale' | t %} 3 | {% if featured.compare_at_price > featured.price %} 4 | {% assign on_sale = true %} 5 | {% endif %} 6 | 7 | {% assign sold_out = true %} 8 | {% assign sold_out_text = 'products.product.sold_out' | t %} 9 | {% if featured.available %} 10 | {% assign sold_out = false %} 11 | {% endif %} 12 | 13 | {% if featured.title == '' %} 14 | {% comment %}add default state for product block in storefront editor{% endcomment %} 15 | {% capture product_title %}{{ 'home_page.onboarding.product_title' | t }}{% endcapture %} 16 | {% else %} 17 | {% capture product_title %}{{ featured.title | escape }}{% endcapture %} 18 | {% endif %} 19 | 20 |
    21 | 22 | 23 | {% if on_sale and section.settings.show_sale_circle %} 24 | 25 | {{ 'products.product.sale' | t }} 26 | 27 | {% endif %} 28 | {% if sold_out and section.settings.show_sold_out_circle %} 29 | 30 | {{ 'products.product.sold_out' | t }} 31 | 32 | {% endif %} 33 | 34 | {% if featured.title != '' %} 35 | {% unless featured.featured_image == blank %} 36 | {% capture img_id %}ProductImage-{{ featured.featured_image.id }}{% endcapture %} 37 | {% capture wrapper_id %}ProductImageWrapper-{{ featured.featured_image.id }}{% endcapture %} 38 | {%- assign img_url = featured.featured_image | img_url: '1x1' | replace: '_1x1.', '_{width}x.' -%} 39 | 40 | {% include 'image-style' with image: featured.featured_image, width: product_width, height: 600, width: 298, wrapper_id: wrapper_id, img_id: img_id %} 41 | {% style %} 42 | .image-box { 43 | padding-top: {{ 1 | divided_by: featured.featured_image.aspect_ratio | times: 100}}%; 44 | } 45 | @media screen and (min-width: 750px) { 46 | .image-box { 47 | height: 600px; 48 | } 49 | } 50 | {% endstyle %} 51 |
    52 |
    53 | {{ featured.featured_image.alt | escape }} 61 |
    62 |
    63 | {% else %} 64 | {{ featured.featured_image.alt | escape }} 65 | {% endunless %} 66 | 69 | {% else %} 70 | {% capture current %}{% cycle 1, 2, 3, 4, 5, 6 %}{% endcapture %} 71 | {{ 'product-' | append: current | placeholder_svg_tag: 'placeholder-svg' }} 72 | {% endif %} 73 |
    74 |
    75 | 76 | {% if section.settings.vendor_enable %} 77 | 78 | {% endif %} 79 | {% if featured.title != '' %} 80 | 103 | {% endif %} 104 |
    105 |
    106 | -------------------------------------------------------------------------------- /snippets/newsletter.liquid: -------------------------------------------------------------------------------- 1 | {% style %} 2 | 3 | .modalContent .modalContent__media { 4 | background-image: url({{ settings.newsletter_image | img_url: 'master' }}); 5 | } 6 | 7 | .descriptionContainer h2{ 8 | color: {{settings.newsletter_text_color}}; 9 | } 10 | 11 | .modalContent form label { 12 | color: {{settings.newsletter_text_color}}; 13 | } 14 | 15 | .modalContent button.button { 16 | background-color: {{settings.newsletter_button_color}}; 17 | } 18 | 19 | @media screen and (max-width: 749px) { 20 | 21 | .mobile-modal-box .descriptionContainer span { 22 | color: {{settings.newsletter_text_color}}; 23 | } 24 | 25 | } 26 | 27 | {% endstyle %} 28 | 29 |
    30 |
    31 | 32 | {% form 'customer' %} 33 |
    34 | {% if form.posted_successfully? %} 35 | 36 | 42 |
    43 |
    44 |
    45 | {% else %} 46 | 47 | 77 |
    78 |
    79 |
    80 |
    81 | {{ settings.newsletter_header_1 }} {{ settings.newsletter_header_2 }} 82 |
    83 |
    84 |
    85 | 86 |
    87 |
    88 | {% endif %} 89 |
    90 | {% endform %} 91 | 92 | 93 | -------------------------------------------------------------------------------- /snippets/svg-definitions.liquid: -------------------------------------------------------------------------------- 1 | {% comment %} 2 | 3 | When using this snippet, pass a string using the "with” parameter to identify 4 | what SVG element you want to display. 5 | EX: {% include 'svg-definitions' with 'shopify-logo' %} 6 | 7 | The string will be used as the condition in the case control flow tag below and used 8 | in writing the SVG class attribute. 9 | EX: class="shopify-logo-svg" 10 | 11 | {% endcomment %} 12 | 13 | {% assign icon = svg-definitions %} 14 | {% case icon %} 15 | {% when 'shopify-logo' %} 16 | 21 | 22 | {% when 'lock-icon' %} 23 | 27 | 28 | {% endcase %} 29 | -------------------------------------------------------------------------------- /assets/custom.css: -------------------------------------------------------------------------------- 1 | 2 | .modalContent { 3 | position: fixed; 4 | top: 15%; 5 | margin-left: 50%; 6 | transform: translateX(-50%); 7 | display: none; 8 | z-index: 99999; 9 | background-color: white; 10 | } 11 | 12 | .modalContent.modal-show { 13 | display: block; 14 | animation: newsletterModalShow; 15 | animation-duration: .3s; 16 | } 17 | 18 | @keyframes newsletterModalShow { 19 | from { 20 | opacity: 0; 21 | } 22 | to { 23 | opacity: 1; 24 | } 25 | } 26 | 27 | 28 | .modalContent .modalContent__content { 29 | width: 353px; 30 | padding: 22px 42px; 31 | } 32 | 33 | .modalContent .modalContent__media { 34 | background-position: 50% 50%; 35 | background-size: contain; 36 | min-height: 330px; 37 | width: 250px; 38 | margin: 0px; 39 | padding: 0px; 40 | background-repeat: no-repeat; 41 | } 42 | 43 | .modalContent__content form { 44 | margin-bottom: 20px; 45 | } 46 | 47 | .content__footer .footerContainer p { 48 | line-height: 22px; 49 | font-family: "Helvetica Neue", Helvetica, Arial, Verdana, sans-serif; 50 | font-size: 16px; 51 | } 52 | 53 | .content__titleDescription { 54 | margin-top: 30px; 55 | } 56 | 57 | .descriptionContainer h2{ 58 | font-size: 30px; 59 | font-weight: 400; 60 | } 61 | 62 | .modalContent__content .form__email label { 63 | font-size: 16px; 64 | font-weight: 700; 65 | padding-bottom: 6px; 66 | } 67 | 68 | .modalContent__content .form__email #contact_email { 69 | height: 36px; 70 | font-size: 15px; 71 | } 72 | 73 | .mc-closeModal { 74 | width: 30px; 75 | height: 30px; 76 | background-color: #fff; 77 | border-radius: 100%; 78 | box-shadow: 0px 2px 2px 0px rgb(0 0 0 / 20%); 79 | cursor: pointer; 80 | position: absolute; 81 | right: -10px; 82 | top: -10px; 83 | z-index: 2; 84 | display: block !important; 85 | } 86 | 87 | .mc-closeModal:before, .mc-closeModal:after { 88 | background-color: #414141; 89 | content: ''; 90 | position: absolute; 91 | left: 14px; 92 | height: 14px; 93 | top: 8px; 94 | width: 2px; 95 | } 96 | 97 | .mc-closeModal:after { 98 | transform: rotate(-45deg); 99 | } 100 | 101 | .mc-closeModal:before { 102 | transform: rotate(45deg); 103 | } 104 | 105 | .news-overlay { 106 | width: 100%; 107 | height: 100%; 108 | position: fixed; 109 | z-index: 99990; 110 | background-color: transparent; 111 | top: 0px; 112 | } 113 | 114 | .descriptionContainer h2{ 115 | font-family: "Helvetica Neue", Helvetica, Arial, Verdana, sans-serif; 116 | } 117 | 118 | .modalContent__content form label { 119 | font-family: "Helvetica Neue", Helvetica, Arial, Verdana, sans-serif; 120 | } 121 | 122 | .modalContent__content form input#contact_email { 123 | border: 2px solid rgba(0,0,0,0.2); 124 | } 125 | 126 | .grid-link__image { 127 | height: unset !important; 128 | } 129 | 130 | .modalContent button.button { 131 | border: 0 none; 132 | border-radius: 3px; 133 | color: rgb(238, 238, 238); 134 | cursor: pointer; 135 | display: inline-block; 136 | font-family: "Helvetica Neue",Arial,Helvetica,Verdana,sans-serif; 137 | font-size: 16px; 138 | font-weight: 700; 139 | height: 36px; 140 | letter-spacing: 0.01em; 141 | line-height: 36px; 142 | margin-right: 0; 143 | overflow: hidden; 144 | padding: 0 18px; 145 | text-align: center; 146 | vertical-align: middle; 147 | white-space: normal; 148 | } 149 | 150 | .mobile-modal-box { 151 | display: none; 152 | } 153 | 154 | 155 | .modal-content-box { 156 | display: flex; 157 | position: relative; 158 | } 159 | 160 | .modal-content-box .modalContent-success { 161 | padding: 60px; 162 | line-height: 1.3; 163 | width: 603px; 164 | } 165 | 166 | .modal-content-box .modalContent-success span{ 167 | font-size: 24px; 168 | font-family: arial, "helvetica neue", helvetica, sans-serif; 169 | font-weight: 400; 170 | line-height: 24px; 171 | } 172 | 173 | form .form__submit { 174 | margin-bottom: 20px; 175 | } 176 | 177 | @media screen and (max-width: 749px) { 178 | 179 | .modal-content-box .modalContent-success { 180 | width: 100%; 181 | } 182 | 183 | .modalContent .modalContent__content { 184 | width: 100%; 185 | margin-bottom: 24px; 186 | padding: 30px 50px 0 22px; 187 | } 188 | 189 | .content__titleDescription { 190 | margin-top: 0px; 191 | } 192 | 193 | .modalContent button.button { 194 | font-size: 13px; 195 | } 196 | 197 | .mobile-modal-box { 198 | display: block; 199 | padding: 15px; 200 | padding-bottom: 30px; 201 | } 202 | 203 | .modalContent { 204 | top: 0px; 205 | width: 100%; 206 | display: none; 207 | overflow: hidden; 208 | } 209 | 210 | .modal-content-box { 211 | display: none; 212 | } 213 | 214 | .mc-closeModal { 215 | right: 10px; 216 | top: 10px; 217 | } 218 | 219 | .modalContent .modalContent__content { 220 | width: 100%; 221 | } 222 | 223 | .modalContent .modalContent__media { 224 | width: 100%; 225 | height: 200px; 226 | min-height: 200px; 227 | width: 100%; 228 | } 229 | 230 | .modalContent.mobile-modal-show { 231 | height: 100%; 232 | overflow-y: auto; 233 | } 234 | 235 | .modalContent.mobile-modal-show .mobile-modal-box { 236 | display: none; 237 | } 238 | 239 | .modalContent.mobile-modal-show .modal-content-box { 240 | display: flex; 241 | flex-direction: column-reverse; 242 | } 243 | 244 | .mobile-modal-box .descriptionContainer span { 245 | font-family: "Helvetica Neue",Arial,Helvetica,Verdana,sans-serif; 246 | font-size: 16px; 247 | } 248 | 249 | .mc-closeModal { 250 | box-shadow: none; 251 | } 252 | } -------------------------------------------------------------------------------- /sections/blog-template.liquid: -------------------------------------------------------------------------------- 1 | {% paginate blog.articles by 5 %} 2 | 3 |
    4 | 5 |
    6 | 7 |
    8 |
    9 | 10 | {% comment %}{% include 'breadcrumb' %}{% endcomment %} 11 |
    12 |

    13 | {% if current_tags %} 14 | {{ blog.title | link_to: blog.url }} — {{ current_tags.first }} 15 | {% else %} 16 | {{ blog.title }} 17 | {% endif %} 18 |

    19 |
    20 | 21 | {% for article in blog.articles %} 22 | 23 |

    {{ article.title }}

    24 |

    25 | 26 | {% if section.settings.blog_author_enable %} 27 | 28 | {{ article.author }} 29 | {% endif %} 30 | {% if article.tags.size > 0 %} 31 | 32 | {% for tag in article.tags %} 33 | {{ tag }}{% unless forloop.last %} {% endunless %} 34 | {% endfor %} 35 | {% endif %} 36 |

    37 | 38 | {% comment %} 39 | Add a surrounding div with class 'rte' to anything that will come from the rich text editor. 40 | Since this is just a listing page, you can either use the excerpt or truncate the full article. 41 | {% endcomment %} 42 |
    43 | {% if article.image %} 44 | {% capture img_id %}ArticleImage-{{ section.id }}--{{ article.image.id }}{% endcapture %} 45 | {% capture wrapper_id %}ArticleImageWrapper-{{ section.id }}--{{ article.image.id }}{% endcapture %} 46 | {%- assign img_url = article.image | img_url: '1x1' | replace: '_1x1.', '_{width}x.' -%} 47 | {%- assign image_alt = article.title | escape -%} 48 | {% include 'image-style' with image: article.image, width: 845, height: 1024, wrapper_id: wrapper_id, img_id: img_id %} 49 |

    50 |

    51 |
    52 | {{ image_alt }} 60 |
    61 |
    62 |

    63 | 64 | 67 | {% endif %} 68 | {% if article.excerpt.size > 0 %} 69 | {{ article.excerpt }} 70 | {% else %} 71 |

    {{ article.content | strip_html | truncatewords: 100 }}

    72 | {% endif %} 73 |
    74 | 75 |

    {{ 'blogs.article.read_more' | t }} →

    76 | 77 | {% unless forloop.last %}
    {% endunless %} 78 | 79 | {% endfor %} 80 | 81 | {% if paginate.pages > 1 %} 82 |
    83 | {% include 'pagination-custom' %} 84 |
    85 | {% endif %} 86 |
    87 |
    88 |
    89 | 90 | 93 | 94 |
    95 | 96 | {% endpaginate %} 97 | 98 | 99 | 100 | {% schema %} 101 | { 102 | "name": { 103 | "cs": "Blog", 104 | "da": "Blog", 105 | "de": "Blog", 106 | "en": "Blog", 107 | "es": "Blog", 108 | "fi": "Blogi", 109 | "fr": "Blog", 110 | "it": "Blog", 111 | "ja": "ブログ", 112 | "ko": "블로그", 113 | "nb": "Blogg", 114 | "nl": "Blog", 115 | "pl": "Blog", 116 | "pt-BR": "Blog", 117 | "pt-PT": "Blogue", 118 | "sv": "Blogg", 119 | "th": "บล็อก", 120 | "tr": "Blog", 121 | "vi": "Blog", 122 | "zh-CN": "博客", 123 | "zh-TW": "網誌" 124 | }, 125 | "settings": [ 126 | { 127 | "type": "checkbox", 128 | "id": "blog_author_enable", 129 | "label": { 130 | "cs": "Zobrazit autora příspěvku na blogu", 131 | "da": "Vis forfatter af blogopslag", 132 | "de": "Autor eines Blog-Beitrags anzeigen", 133 | "en": "Show blog post author", 134 | "es": "Mostrar autor del artículo del blog", 135 | "fi": "Näytä blogikirjoituksen tekijä", 136 | "fr": "Afficher l'auteur de l'article de blog", 137 | "it": "Mostra autore articolo del blog", 138 | "ja": "ブログ記事の執筆者を表示する", 139 | "ko": "블로그 게시물 작성자 표시", 140 | "nb": "Vis forfatter av blogginnlegg", 141 | "nl": "Toon auteur van blogpost", 142 | "pl": "Pokaż autora posta na blogu", 143 | "pt-BR": "Mostrar autor do post do blog", 144 | "pt-PT": "Mostrar autor(a) da publicação no blogue", 145 | "sv": "Visa blogginläggets författare", 146 | "th": "แสดงผู้เขียนโพสต์บล็อก", 147 | "tr": "Blog gönderisinin yazarını göster", 148 | "vi": "Hiển thị tác giả bài viết blog", 149 | "zh-CN": "显示博客文章作者", 150 | "zh-TW": "顯示網誌貼文作者" 151 | } 152 | } 153 | ] 154 | } 155 | {% endschema %} 156 | -------------------------------------------------------------------------------- /layout/theme.liquid: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | {% if settings.favicon %} 10 | 11 | {% endif %} 12 | 13 | 14 | 15 | {{ page_title }}{% if current_tags %}{% assign meta_tags = current_tags | join: ', ' %} – {{ 'general.meta.tags' | t: tags: meta_tags }}{% endif %}{% if current_page != 1 %} – {{ 'general.meta.page' | t: page: current_page }}{% endif %}{% unless page_title contains shop.name %} – {{ shop.name }}{% endunless %} 16 | 17 | 18 | {% if page_description %} 19 | 20 | {% endif %} 21 | 22 | 23 | {% include 'social-meta-tags' %} 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | {{ 'timber.scss.css' | asset_url | stylesheet_tag }} 32 | {{ 'theme.scss.css' | asset_url | stylesheet_tag }} 33 | {{ 'custom.css' | asset_url | stylesheet_tag }} 34 | {% render 'css-variables' %} 35 | 36 | 93 | 94 | 95 | {{ content_for_header }} 96 | 97 | {{ 'jquery-2.2.3.min.js' | asset_url | script_tag }} 98 | 99 | 100 | 101 | {% comment %} 102 | If you store has customer accounts disabled, you can remove the following JS file 103 | {% endcomment %} 104 | {% if request.page_type contains 'customers/' %} 105 | {{ 'shopify_common.js' | shopify_asset_url | script_tag }} 106 | {% endif %} 107 | 108 | 109 | 110 | 111 | 112 | {% section 'header' %} 113 | 114 |
    115 |
    116 |
    117 | {{ content_for_layout }} 118 |
    119 |
    120 |
    121 | 122 | {% section 'footer' %} 123 | 124 | {%- if request.page_type == 'index' -%} 125 | 128 | {%- endif -%} 129 | 130 | {% if request.page_type == 'product' or request.page_type == 'index' %} 131 | {{ 'option_selection.js' | shopify_asset_url | script_tag }} 132 | {% endif %} 133 | 134 | 139 | 140 | {% if settings.newsletter_enable == true %} 141 | {% include 'newsletter' %} 142 | {% endif %} 143 | 144 | {{ 'theme.js' | asset_url | script_tag }} 145 | {{ 'custom.js' | asset_url | script_tag }} 146 | 147 | 148 | 149 | -------------------------------------------------------------------------------- /templates/gift_card.liquid: -------------------------------------------------------------------------------- 1 | {% layout none %} 2 | {% assign formatted_initial_value = gift_card.initial_value | money_without_trailing_zeros: gift_card.currency %} 3 | {% assign formatted_initial_value_stripped = formatted_initial_value | strip_html %} 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | {% if settings.favicon %} 13 | 14 | {% endif %} 15 | 16 | 17 | {{ 'gift_cards.issued.title' | t: value: formatted_initial_value_stripped, shop: shop.name }} 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | {{ 'timber.scss.css' | asset_url | stylesheet_tag }} 26 | {{ 'gift-card.scss.css' | asset_url | stylesheet_tag }} 27 | {{ 'modernizr.gift-card.js' | shopify_asset_url | script_tag }} 28 | {{ 'vendor/qrcode.js' | shopify_asset_url | script_tag }} 29 | 30 | {{ content_for_header }} 31 | 32 | 33 | 34 | 35 |
    36 | 37 | 43 | 44 |
    45 |
    46 |
    47 | 48 |
    49 |

    {{ 'gift_cards.issued.subtext' | t }}

    50 | {% unless gift_card.enabled %} 51 | {{ 'gift_cards.issued.disabled' | t }} 52 | {% endunless %} 53 | {% assign gift_card_expiry_date = gift_card.expires_on | date: format: 'basic' %} 54 | {% if gift_card.expired and gift_card.enabled %} 55 | {{ 'gift_cards.issued.expired' | t: expiry: gift_card_expiry_date }} 56 | {% endif %} 57 | {% if gift_card.expired != true and gift_card.expires_on and gift_card.enabled %} 58 | {{ 'gift_cards.issued.active' | t: expiry: gift_card_expiry_date }} 59 | {% endif %} 60 |
    61 | 62 |
    63 | Gift card illustration 64 | 65 | {% assign initial_value_size = formatted_initial_value | size %} 66 |
    67 | {% if gift_card.balance != gift_card.initial_value %} 68 | 69 | {{ gift_card.balance | money }} left 70 | 71 | {% endif %} 72 | {{ formatted_initial_value }} 73 |
    74 | 75 | {% assign code_size = gift_card.code | format_code | size %} 76 |
    77 |
    78 | {{ gift_card.code | format_code }} 79 |
    80 |
    81 |
    82 | 83 |

    84 | {{ 'gift_cards.issued.redeem' | t }} 85 |

    86 |
    87 | 94 | 95 | 101 | 102 |
    103 |
    104 |
    105 | 106 |
    107 | {% if gift_card.pass_url %} 108 | 109 | {{ 'gift_cards.issued.add_to_apple_wallet' | t }} 110 | 111 | {% endif %} 112 |
    113 | 114 |
    115 | 116 | 138 | 139 | 140 | 141 | -------------------------------------------------------------------------------- /sections/gallery.liquid: -------------------------------------------------------------------------------- 1 | {% assign index = section.blocks.size %} 2 | 3 | {% case index %} 4 | {% when 1 %} 5 | {% assign featured_image_width = 'one-whole' %} 6 | {% when 2 %} 7 | {% assign featured_image_width = 'one-half' %} 8 | {% when 3 %} 9 | {% assign featured_image_width = 'small--one-whole one-third' %} 10 | {% when 4 %} 11 | {% assign featured_image_width = 'small--one-whole medium--one-half one-quarter' %} 12 | {% endcase %} 13 | 14 | {% unless index == 0 %} 15 | 47 | 48 | {% endunless %} 49 | 50 | 51 | 52 | {% schema %} 53 | { 54 | "name": { 55 | "cs": "Galerie", 56 | "da": "Galleri", 57 | "de": "Galerie", 58 | "en": "Gallery", 59 | "es": "Galería", 60 | "fi": "Galleria", 61 | "fr": "Galerie", 62 | "it": "Galleria", 63 | "ja": "ギャラリー", 64 | "ko": "갤러리", 65 | "nb": "Galleri", 66 | "nl": "Galerie", 67 | "pl": "Galeria", 68 | "pt-BR": "Galeria", 69 | "pt-PT": "Galeria", 70 | "sv": "Galleri", 71 | "th": "แกลเลอรี", 72 | "tr": "Galeri", 73 | "vi": "Bộ sưu tập ảnh", 74 | "zh-CN": "图库", 75 | "zh-TW": "圖庫" 76 | }, 77 | "class": "index-section", 78 | "max_blocks": 4, 79 | "blocks": [ 80 | { 81 | "type": "image", 82 | "name": { 83 | "cs": "Obrázek", 84 | "da": "Billede", 85 | "de": "Foto", 86 | "en": "Image", 87 | "es": "Imagen", 88 | "fi": "Kuva", 89 | "fr": "Image", 90 | "it": "Immagine", 91 | "ja": "画像", 92 | "ko": "이미지", 93 | "nb": "Bilde", 94 | "nl": "Afbeelding", 95 | "pl": "Obraz", 96 | "pt-BR": "Imagem", 97 | "pt-PT": "Imagem", 98 | "sv": "Bild", 99 | "th": "รูปภาพ", 100 | "tr": "Görsel", 101 | "vi": "Hình ảnh", 102 | "zh-CN": "图片", 103 | "zh-TW": "圖片" 104 | }, 105 | "settings": [ 106 | { 107 | "type": "image_picker", 108 | "id": "image", 109 | "label": { 110 | "cs": "Obrázek", 111 | "da": "Billede", 112 | "de": "Foto", 113 | "en": "Image", 114 | "es": "Imagen", 115 | "fi": "Kuva", 116 | "fr": "Image", 117 | "it": "Immagine", 118 | "ja": "画像", 119 | "ko": "이미지", 120 | "nb": "Bilde", 121 | "nl": "Afbeelding", 122 | "pl": "Obraz", 123 | "pt-BR": "Imagem", 124 | "pt-PT": "Imagem", 125 | "sv": "Bild", 126 | "th": "รูปภาพ", 127 | "tr": "Görsel", 128 | "vi": "Hình ảnh", 129 | "zh-CN": "图片", 130 | "zh-TW": "圖片" 131 | } 132 | }, 133 | { 134 | "type": "url", 135 | "id": "link", 136 | "label": { 137 | "cs": "Odkaz na obrázek", 138 | "da": "Billedlink", 139 | "de": "Bild-Link", 140 | "en": "Image link", 141 | "es": "Enlace de imagen", 142 | "fi": "Kuvan linkki", 143 | "fr": "Lien vers l'image", 144 | "it": "Link immagine", 145 | "ja": "画像リンク", 146 | "ko": "이미지 링크", 147 | "nb": "Bildekobling", 148 | "nl": "Afbeeldingslink", 149 | "pl": "Link obrazu", 150 | "pt-BR": "Link da imagem", 151 | "pt-PT": "Ligação de imagens", 152 | "sv": "Bildlänk", 153 | "th": "ลิงก์รูปภาพ", 154 | "tr": "Görsel bağlantısı", 155 | "vi": "Liên kết hình ảnh", 156 | "zh-CN": "图片链接", 157 | "zh-TW": "圖片連結" 158 | } 159 | } 160 | ] 161 | } 162 | ], 163 | "presets": [ 164 | { 165 | "name": { 166 | "cs": "Galerie", 167 | "da": "Galleri", 168 | "de": "Galerie", 169 | "en": "Gallery", 170 | "es": "Galería", 171 | "fi": "Galleria", 172 | "fr": "Galerie", 173 | "it": "Galleria", 174 | "ja": "ギャラリー", 175 | "ko": "갤러리", 176 | "nb": "Galleri", 177 | "nl": "Galerie", 178 | "pl": "Galeria", 179 | "pt-BR": "Galeria", 180 | "pt-PT": "Galeria", 181 | "sv": "Galleri", 182 | "th": "แกลเลอรี", 183 | "tr": "Galeri", 184 | "vi": "Bộ sưu tập ảnh", 185 | "zh-CN": "图库", 186 | "zh-TW": "圖庫" 187 | }, 188 | "category": { 189 | "cs": "Obrázek", 190 | "da": "Billede", 191 | "de": "Foto", 192 | "en": "Image", 193 | "es": "Imagen", 194 | "fi": "Kuva", 195 | "fr": "Image", 196 | "it": "Immagine", 197 | "ja": "画像", 198 | "ko": "이미지", 199 | "nb": "Bilde", 200 | "nl": "Afbeelding", 201 | "pl": "Obraz", 202 | "pt-BR": "Imagem", 203 | "pt-PT": "Imagem", 204 | "sv": "Bild", 205 | "th": "รูปภาพ", 206 | "tr": "Görsel", 207 | "vi": "Hình ảnh", 208 | "zh-CN": "图片", 209 | "zh-TW": "圖片" 210 | }, 211 | "blocks": [ 212 | { 213 | "type": "image" 214 | }, 215 | { 216 | "type": "image" 217 | }, 218 | { 219 | "type": "image" 220 | } 221 | ] 222 | } 223 | ] 224 | } 225 | {% endschema %} 226 | -------------------------------------------------------------------------------- /sections/custom-html.liquid: -------------------------------------------------------------------------------- 1 |
    2 | {{ section.settings.custom_html }} 3 |
    4 | 5 | 6 | 7 | {% schema %} 8 | { 9 | "name": { 10 | "cs": "Vlastní HTML", 11 | "da": "Tilpasset HTML", 12 | "de": "Benutzerdefiniertes HTML", 13 | "en": "Custom HTML", 14 | "es": "HTML personalizado", 15 | "fi": "Mukautettu HTML", 16 | "fr": "Code HTML personnalisé", 17 | "it": "HTML personalizzato", 18 | "ja": "HTMLをカスタムする", 19 | "ko": "사용자 지정 HTML", 20 | "nb": "Tilpasset HTML", 21 | "nl": "Aangepaste HTML", 22 | "pl": "Niestandardowy HTML", 23 | "pt-BR": "HTML personalizado", 24 | "pt-PT": "HTML personalizado", 25 | "sv": "Anpassa HTML", 26 | "th": "HTML แบบกำหนดเอง", 27 | "tr": "Özel HTML", 28 | "vi": "HTML tùy chỉnh", 29 | "zh-CN": "自定义 HTML", 30 | "zh-TW": "自訂 HTML" 31 | }, 32 | "class": "index-section", 33 | "settings": [ 34 | { 35 | "type": "html", 36 | "id": "custom_html", 37 | "label": { 38 | "cs": "Vlastní HTML", 39 | "da": "Tilpasset HTML", 40 | "de": "Benutzerdefiniertes HTML", 41 | "en": "Custom HTML", 42 | "es": "HTML personalizado", 43 | "fi": "Mukautettu HTML", 44 | "fr": "Code HTML personnalisé", 45 | "it": "HTML personalizzato", 46 | "ja": "HTMLをカスタムする", 47 | "ko": "사용자 지정 HTML", 48 | "nb": "Tilpasset HTML", 49 | "nl": "Aangepaste HTML", 50 | "pl": "Niestandardowy HTML", 51 | "pt-BR": "HTML personalizado", 52 | "pt-PT": "HTML personalizado", 53 | "sv": "Anpassa HTML", 54 | "th": "HTML แบบกำหนดเอง", 55 | "tr": "Özel HTML", 56 | "vi": "HTML tùy chỉnh", 57 | "zh-CN": "自定义 HTML", 58 | "zh-TW": "自訂 HTML" 59 | }, 60 | "default": { 61 | "cs": "

    Informujte o své značce

    Naformátujte svůj text pomocí HTML, aby byl přehledný a srozumitelný. Prostřednictvím takového textu pak můžete informovat zákazníky o své značce.

    ", 62 | "da": "

    Fortæl om dit brand

    Brug HTML til at formatere din tekst, så den nemt kan læses.Denne tekst kan bruges til at dele oplysninger om dit brand med dine kunder.

    ", 63 | "de": "

    Informiere über deine Marke

    Formatiere deinen Text mit HTML, damit er leichter lesbar ist. Mit diesem Text kannst du deine Kunden über deine Marke informieren.

    ", 64 | "en": "

    Talk about your brand

    Use HTML to format your text so it can be easily read. This text can be used to share information about your brand with customers.

    ", 65 | "es": "

    Habla sobre tu marca

    Usa HTML para formatear tu texto para que se pueda leer fácilmente. Este texto se puede usar para compartir información sobre tu marca con los clientes.

    ", 66 | "fi": "

    Puhu brändistäs

    i

    Käytä HTML:ää tekstisi muokkaamiseen, jotta sitä voi lukea helposti. Tämän tekstin avulla voit jakaa tietoa brändistäsi asiakkaittesi kanssa.

    ", 67 | "fr": "

    Parlez de votre marque

    Utilisez le code HTML pour formater votre texte afin qu'il puisse être facilement lu. Vous pouvez utiliser ce texte pour partager des informations sur votre marque avec les clients.

    ", 68 | "it": "

    Parla del tuo brand

    Utilizza l'HTML per formattare il testo in modo che sia facilmente leggibile. Questo testo può essere utilizzato per condividere le informazioni sul tuo brand con i clienti.

    ", 69 | "ja": "

    あなたのブランドについて話す

    HTMLを使用してテキストを読みやすくフォーマットしてください。このテキストはあなたのブランドに関する情報をお客様と共有するために使用できます。

    ", 70 | "ko": "

    브랜드 이야기하기

    텍스트를 형식화하기 위해 HTML을 사용하여 쉽게 읽을 수 있습니다. 이 텍스트를 사용하여 브랜드에 대한 정보를 고객과 공유할 수 있습니다.

    ", 71 | "nb": "

    Snakk om merkevaren din

    Bruk HTML for å formatere teksten din så den er lettlest. Denne teksten kan brukes til å dele informasjon om merkevaren din med kundene.

    ", 72 | "nl": "

    Praat over je merk

    Gebruik HTML om je tekst zo op te maken dat deze makkelijk leesbaar is. Deze tekst kan worden gebruikt om informatie over je merk met klanten te delen.

    ", 73 | "pl": "

    Opowiedz o swojej marce

    Użyj języka HTML do sformatowania tekstu, tak aby można go było łatwo odczytać. Tekst ten może służyć do udostępniania klientom informacji o marce.

    ", 74 | "pt-BR": "

    Fale sobre sua marca

    Use HTML para formatar seu texto para que ele possa ser lido com facilidade. Esse texto pode ser usado para compartilhar informações sobre sua marca com os clientes.

    ", 75 | "pt-PT": "

    Fale sobre a sua marca

    Utilize HTML para formatar o seu texto para que este possa ser lido com facilidade. Este texto pode ser utilizado para partilhar informações sobre a sua marca com os clientes.

    ", 76 | "sv": "

    Prata om ditt varumärke

    Använd HTML för att formatera din text så att den lätt kan läsas. Den här texten kan användas för att dela information om ditt varumärke med kunder.

    ", 77 | "th": "

    พูดถึงแบรนด์ของคุณ

    ใช้ HTML เพื่อจัดรูปแบบข้อความของคุณให้อ่านง่าย ข้อความนี้สามารถใช้เพื่อแบ่งปันข้อมูลเกี่ยวกับแบรนด์ของคุณกับลูกค้าได้

    ", 78 | "tr": "

    Markanızdan bahsedin

    Metninizi, kolayca okunabilmesi için HTML kullanarak biçimlendirin. Bu metin, müşterilerle markanız hakkında bilgi paylaşmak için kullanılabilir.

    ", 79 | "vi": "

    Chia sẻ về thương hiệu của bạn

    Sử dụng HTML để định dạng văn bản sao cho dễ đọc. Có thể sử dụng văn bản này để chia sẻ thông tin về thương hiệu của bạn với khách hàng.

    ", 80 | "zh-CN": "

    介绍您的品牌

    使用 HTML 设置文本格式,以便轻松阅读。此文本可用于与客户分享有关您的品牌的信息。

    ", 81 | "zh-TW": "

    描述您的品牌

    使用 HTML 設定文字格式,使文字容易閱讀。這段文字可以用來與顧客分享您的品牌資訊。

    " 82 | } 83 | } 84 | ], 85 | "presets": [ 86 | { 87 | "name": { 88 | "cs": "Vlastní HTML", 89 | "da": "Tilpasset HTML", 90 | "de": "Benutzerdefiniertes HTML", 91 | "en": "Custom HTML", 92 | "es": "HTML personalizado", 93 | "fi": "Mukautettu HTML", 94 | "fr": "Code HTML personnalisé", 95 | "it": "HTML personalizzato", 96 | "ja": "HTMLをカスタムする", 97 | "ko": "사용자 지정 HTML", 98 | "nb": "Tilpasset HTML", 99 | "nl": "Aangepaste HTML", 100 | "pl": "Niestandardowy HTML", 101 | "pt-BR": "HTML personalizado", 102 | "pt-PT": "HTML personalizado", 103 | "sv": "Anpassa HTML", 104 | "th": "HTML แบบกำหนดเอง", 105 | "tr": "Özel HTML", 106 | "vi": "HTML tùy chỉnh", 107 | "zh-CN": "自定义 HTML", 108 | "zh-TW": "自訂 HTML" 109 | }, 110 | "category": { 111 | "cs": "Pokročilé", 112 | "da": "Avanceret", 113 | "de": "Advanced", 114 | "en": "Advanced", 115 | "es": "Avanzado", 116 | "fi": "Advanced", 117 | "fr": "Advanced", 118 | "it": "Advanced", 119 | "ja": "高度", 120 | "ko": "Advanced", 121 | "nb": "Avansert", 122 | "nl": "Advanced", 123 | "pl": "Zaawansowane", 124 | "pt-BR": "Advanced", 125 | "pt-PT": "Avançado", 126 | "sv": "Avancerad", 127 | "th": "ขั้นสูง", 128 | "tr": "Gelişmiş", 129 | "vi": "Nâng cao", 130 | "zh-CN": "高级版", 131 | "zh-TW": "Advanced" 132 | } 133 | } 134 | ] 135 | } 136 | {% endschema %} 137 | -------------------------------------------------------------------------------- /sections/collection-list.liquid: -------------------------------------------------------------------------------- 1 |
    2 | 3 | {% if section.settings.title != blank %} 4 |
    5 |

    {{ section.settings.title | escape }}

    6 |
    7 | {% endif %} 8 | 9 |
    10 | {% case section.blocks.size %} 11 | {% when 1 %} 12 | {%- assign collection_item_width = 'one-half' -%} 13 | {%- assign collection_width = 625 -%} 14 | {% when 2 %} 15 | {%- assign collection_item_width = 'one-half' -%} 16 | {%- assign collection_width = 625 -%} 17 | {% when 3 %} 18 | {%- assign collection_item_width = 'medium-down--one-half one-third' -%} 19 | {%- assign collection_width = 410 -%} 20 | {% when 4 %} 21 | {%- assign collection_item_width = 'medium-down--one-half one-quarter' -%} 22 | {%- assign collection_width = 330 -%} 23 | {% when 5 %} 24 | {%- assign collection_item_width = 'small--one-half medium--one-third post-large--one-fifth' -%} 25 | {%- assign collection_width = 235 -%} 26 | {% endcase %} 27 | 28 | {% for block in section.blocks limit: section.blocks.size %} 29 | {% assign featured = block.settings.collection %} 30 |
    31 | {% include 'collection-grid-item' with collection_width: collection_width %} 32 |
    33 | {% endfor %} 34 |
    35 |
    36 | 37 | 38 | 39 | {% schema %} 40 | { 41 | "name": { 42 | "cs": "Seznam kolekcí", 43 | "da": "Kollektionsliste", 44 | "de": "Kategorieliste", 45 | "en": "Collection list", 46 | "es": "Lista de colecciones", 47 | "fi": "Kokoelmaluettelo", 48 | "fr": "Liste des collections", 49 | "it": "Elenco delle collezioni", 50 | "ja": "コレクションリスト", 51 | "ko": "컬렉션 목록", 52 | "nb": "Samlingsliste", 53 | "nl": "Collectielijst", 54 | "pl": "Lista kolekcji", 55 | "pt-BR": "Lista de coleções", 56 | "pt-PT": "Lista de coleções", 57 | "sv": "Kollektionslista", 58 | "th": "รายการคอลเลกชัน", 59 | "tr": "Koleksiyon listesi", 60 | "vi": "Danh sách bộ sưu tập", 61 | "zh-CN": "产品系列列表", 62 | "zh-TW": "商品系列清單" 63 | }, 64 | "class": "index-section", 65 | "max_blocks": 5, 66 | "settings": [ 67 | { 68 | "type": "text", 69 | "id": "title", 70 | "label": { 71 | "cs": "Nadpis", 72 | "da": "Overskrift", 73 | "de": "Titel", 74 | "en": "Heading", 75 | "es": "Título", 76 | "fi": "Otsake", 77 | "fr": "Titre", 78 | "it": "Heading", 79 | "ja": "見出し", 80 | "ko": "제목", 81 | "nb": "Overskrift", 82 | "nl": "Kop", 83 | "pl": "Nagłówek", 84 | "pt-BR": "Título", 85 | "pt-PT": "Título", 86 | "sv": "Rubrik", 87 | "th": "ส่วนหัว", 88 | "tr": "Başlık", 89 | "vi": "Tiêu đề", 90 | "zh-CN": "标题", 91 | "zh-TW": "標題" 92 | }, 93 | "default": { 94 | "cs": "Seznam kolekcí", 95 | "da": "Kollektionsliste", 96 | "de": "Kategorieliste", 97 | "en": "Collection list", 98 | "es": "Lista de colecciones", 99 | "fi": "Kokoelmaluettelo", 100 | "fr": "Page de liste des collections", 101 | "it": "Elenco delle collezioni", 102 | "ja": "コレクションリスト", 103 | "ko": "컬렉션 목록", 104 | "nb": "Samlingsliste", 105 | "nl": "Collectielijst", 106 | "pl": "Lista kolekcji", 107 | "pt-BR": "Lista de coleções", 108 | "pt-PT": "Lista de coleções", 109 | "sv": "Kollektionslista", 110 | "th": "รายการคอลเลกชัน", 111 | "tr": "Koleksiyon listesi", 112 | "vi": "Danh sách bộ sưu tập", 113 | "zh-CN": "产品系列列表", 114 | "zh-TW": "商品系列清單" 115 | } 116 | } 117 | ], 118 | "blocks": [ 119 | { 120 | "type": "collection", 121 | "name": { 122 | "cs": "Kolekce", 123 | "da": "Kollektion", 124 | "de": "Kategorie", 125 | "en": "Collection", 126 | "es": "Colección", 127 | "fi": "Kokoelma", 128 | "fr": "Collection", 129 | "it": "Collezione", 130 | "ja": "コレクション", 131 | "ko": "컬렉션", 132 | "nb": "Samling", 133 | "nl": "Collectie", 134 | "pl": "Kolekcja", 135 | "pt-BR": "Coleção", 136 | "pt-PT": "Coleção", 137 | "sv": "Produktserie", 138 | "th": "คอลเลกชัน", 139 | "tr": "Koleksiyon", 140 | "vi": "Bộ sưu tập", 141 | "zh-CN": "收藏", 142 | "zh-TW": "商品系列" 143 | }, 144 | "settings": [ 145 | { 146 | "type": "collection", 147 | "id": "collection", 148 | "label": { 149 | "cs": "Kolekce", 150 | "da": "Kollektion", 151 | "de": "Kategorie", 152 | "en": "Collection", 153 | "es": "Colección", 154 | "fi": "Kokoelma", 155 | "fr": "Collection", 156 | "it": "Collezione", 157 | "ja": "コレクション", 158 | "ko": "컬렉션", 159 | "nb": "Samling", 160 | "nl": "Collectie", 161 | "pl": "Kolekcja", 162 | "pt-BR": "Coleção", 163 | "pt-PT": "Coleção", 164 | "sv": "Produktserie", 165 | "th": "คอลเลกชัน", 166 | "tr": "Koleksiyon", 167 | "vi": "Bộ sưu tập", 168 | "zh-CN": "收藏", 169 | "zh-TW": "商品系列" 170 | } 171 | } 172 | ] 173 | } 174 | ], 175 | "presets": [ 176 | { 177 | "name": { 178 | "cs": "Seznam kolekcí", 179 | "da": "Kollektionsliste", 180 | "de": "Kategorieliste", 181 | "en": "Collection list", 182 | "es": "Lista de colecciones", 183 | "fi": "Kokoelmaluettelo", 184 | "fr": "Page des collections", 185 | "it": "Elenco delle collezioni", 186 | "ja": "コレクションリスト", 187 | "ko": "컬렉션 목록", 188 | "nb": "Samlingsliste", 189 | "nl": "Collectielijst", 190 | "pl": "Lista kolekcji", 191 | "pt-BR": "Lista de coleções", 192 | "pt-PT": "Lista de coleções", 193 | "sv": "Kollektionslista", 194 | "th": "รายการคอลเลกชัน", 195 | "tr": "Koleksiyon listesi", 196 | "vi": "Danh sách bộ sưu tập", 197 | "zh-CN": "产品系列列表", 198 | "zh-TW": "商品系列清單" 199 | }, 200 | "category": { 201 | "cs": "Kolekce", 202 | "da": "Kollektion", 203 | "de": "Kategorie", 204 | "en": "Collection", 205 | "es": "Colección", 206 | "fi": "Kokoelma", 207 | "fr": "Collection", 208 | "it": "Collezione", 209 | "ja": "コレクション", 210 | "ko": "컬렉션", 211 | "nb": "Samling", 212 | "nl": "Collectie", 213 | "pl": "Kolekcja", 214 | "pt-BR": "Coleção", 215 | "pt-PT": "Coleção", 216 | "sv": "Produktserie", 217 | "th": "คอลเลกชัน", 218 | "tr": "Koleksiyon", 219 | "vi": "Bộ sưu tập", 220 | "zh-CN": "收藏", 221 | "zh-TW": "商品系列" 222 | }, 223 | "blocks": [ 224 | { 225 | "type": "collection" 226 | }, 227 | { 228 | "type": "collection" 229 | }, 230 | { 231 | "type": "collection" 232 | }, 233 | { 234 | "type": "collection" 235 | } 236 | ] 237 | } 238 | ] 239 | } 240 | {% endschema %} 241 | -------------------------------------------------------------------------------- /locales/zh-CN.json: -------------------------------------------------------------------------------- 1 | { 2 | "general": { 3 | "accessibility": { 4 | "refresh_page": "选择选项会使整页刷新", 5 | "unit_price_separator": "单价", 6 | "new_window": "在新窗口中打开。", 7 | "new_window_and_external": "在新窗口中打开外部网站。" 8 | }, 9 | "meta": { 10 | "tags": "标记为“{{ tags }}”", 11 | "page": "第 {{ page }} 页" 12 | }, 13 | "404": { 14 | "title": "找不到页面 404", 15 | "subtext_html": "您请求的页面不存在。单击此处<\/a>继续购物。" 16 | }, 17 | "password_page": { 18 | "login_form_heading": "使用密码进入商店:", 19 | "login_form_password_label": "密码", 20 | "login_form_password_placeholder": "您的密码", 21 | "login_form_submit": "输入", 22 | "signup_form_email_label": "电子邮件", 23 | "signup_form_success": "在我们打开之前,我们会向您发送电子邮件!", 24 | "admin_link_html": "您是否是店主?在此处登录<\/a>", 25 | "password_link": "使用密码进入", 26 | "powered_by_shopify_html": "此商店由 {{ shopify }} 提供支持", 27 | "close": "关闭 (Esc)" 28 | }, 29 | "breadcrumbs": { 30 | "home": "主页", 31 | "home_link_title": "返回首页" 32 | }, 33 | "newsletter_form": { 34 | "newsletter_email": "您的电子邮件", 35 | "submit": "订阅", 36 | "confirmation": "感谢您订阅" 37 | }, 38 | "search": { 39 | "no_results_html": "您对“{{ terms }}”的搜索并未出现任何结果。", 40 | "results_for_html": "您对“{{ terms }}”的搜索显示内容如下:", 41 | "title": "在我们的网站上搜索产品", 42 | "placeholder": "搜索", 43 | "submit": "搜索" 44 | }, 45 | "social": { 46 | "share_on_facebook": "共享", 47 | "share_on_twitter": "发推文", 48 | "share_on_pinterest": "收藏", 49 | "alt_text": { 50 | "share_on_facebook": "在 Facebook 上共享", 51 | "share_on_twitter": "在 Twitter 上发推文", 52 | "share_on_pinterest": "固定在 Pinterest 上" 53 | } 54 | }, 55 | "payment": { 56 | "method": "付款图标" 57 | } 58 | }, 59 | "blogs": { 60 | "article": { 61 | "older_post": "较旧的文章", 62 | "newer_post": "较新的文章", 63 | "tags": "标签", 64 | "comment_meta_html": "{{ date }} 上的 {{ author }}", 65 | "view_all": "查看全部", 66 | "read_more": "阅读详细内容" 67 | }, 68 | "comments": { 69 | "title": "发表评论", 70 | "name": "名称", 71 | "email": "电子邮件", 72 | "message": "消息", 73 | "post": "发布评论", 74 | "moderated": "请注意,评论必须在发布之前获得批准", 75 | "success_moderated": "您的评论已成功发布。由于我们的博客要经过审核,我们会在稍后将其发布。", 76 | "success": "您的评论已成功发布!谢谢!" 77 | }, 78 | "sidebar": { 79 | "recent_articles": "最近的文章", 80 | "categories": "类别" 81 | } 82 | }, 83 | "cart": { 84 | "general": { 85 | "title": "您的购物车", 86 | "remove": "删除", 87 | "note": "卖家须知", 88 | "subtotal": "小计", 89 | "savings_html": "您正在保存 {{ price }}", 90 | "taxes_and_shipping_at_checkout": "结账时计算的税金和运费", 91 | "taxes_and_shipping_policy_at_checkout_html": "结账时计算的税金和运费<\/a>", 92 | "taxes_included_but_shipping_at_checkout": "结账时计算的税金(包含)和运费", 93 | "taxes_included_and_shipping_policy_html": "税金(包含)。结账时计算的运费<\/a>。", 94 | "update": "更新购物车", 95 | "checkout": "结账", 96 | "empty": "您的购物车当前是空的。", 97 | "cookies_required": "启用 Cookie 以使用购物车", 98 | "continue_browsing_html": "继续浏览此处<\/a>。", 99 | "continue_shopping": "继续购物" 100 | }, 101 | "label": { 102 | "price": "价格", 103 | "quantity": "数量", 104 | "total": "总计", 105 | "add_note": "为订单添加备注" 106 | } 107 | }, 108 | "collections": { 109 | "general": { 110 | "title": "产品系列", 111 | "no_matches": "抱歉,此产品系列中没有产品", 112 | "link_title": "浏览我们的 {{ title }} 产品系列" 113 | }, 114 | "sorting": { 115 | "title": "排序方式", 116 | "browse": "浏览条件", 117 | "all_tags": "所有" 118 | } 119 | }, 120 | "contact": { 121 | "form": { 122 | "name": "名称", 123 | "email": "电子邮件", 124 | "phone": "电话号码", 125 | "message": "消息", 126 | "send": "发送", 127 | "post_success": "感谢您联系我们。我们会尽快回复您。" 128 | } 129 | }, 130 | "customer": { 131 | "account": { 132 | "title": "我的账户", 133 | "details": "账户详细信息", 134 | "view_addresses": "查看地址", 135 | "return": "返回账户详细信息" 136 | }, 137 | "activate_account": { 138 | "title": "激活账户", 139 | "subtext": "创建密码以激活您的账户。", 140 | "password": "密码", 141 | "password_confirm": "确认密码", 142 | "submit": "激活账户", 143 | "cancel": "拒绝邀请" 144 | }, 145 | "addresses": { 146 | "title": "您的地址", 147 | "add_new": "添加新地址", 148 | "edit_address": "编辑地址", 149 | "first_name": "名字", 150 | "last_name": "姓", 151 | "company": "公司", 152 | "address1": "地址 1", 153 | "address2": "地址 2", 154 | "city": "城市", 155 | "country": "国家\/地区", 156 | "province": "省", 157 | "zip": "邮编\/邮政编码", 158 | "phone": "电话", 159 | "set_default": "设为默认地址", 160 | "add": "添加地址", 161 | "update": "更新地址", 162 | "cancel": "取消", 163 | "edit": "编辑", 164 | "delete": "删除", 165 | "delete_confirm": "确定要删除此地址吗?" 166 | }, 167 | "login": { 168 | "title": "登录", 169 | "email": "电子邮件", 170 | "password": "密码", 171 | "forgot_password": "忘记您的密码了?", 172 | "sign_in": "登录", 173 | "cancel": "返回商店", 174 | "guest_title": "以游客身份继续", 175 | "guest_continue": "继续" 176 | }, 177 | "orders": { 178 | "title": "订单历史记录", 179 | "order_number": "订单", 180 | "date": "日期", 181 | "payment_status": "付款状态", 182 | "fulfillment_status": "发货状态", 183 | "total": "总计", 184 | "none": "您尚未创建任何订单。" 185 | }, 186 | "order": { 187 | "title": "订单 {{ name }}", 188 | "date": "下单日期:{{ date }}", 189 | "cancelled": "订单取消日期:{{ date }}", 190 | "cancelled_reason": "原因:{{ reason }}", 191 | "billing_address": "账单地址", 192 | "payment_status": "付款状态", 193 | "shipping_address": "发货地址", 194 | "fulfillment_status": "发货状态", 195 | "discount": "折扣", 196 | "shipping": "发货", 197 | "tax": "税费", 198 | "product": "产品", 199 | "sku": "SKU", 200 | "price": "价格", 201 | "quantity": "数量", 202 | "total": "总计", 203 | "fulfilled_at": "已于 {{ date }} 发货", 204 | "subtotal": "小计", 205 | "track_shipment": "跟踪货件" 206 | }, 207 | "recover_password": { 208 | "title": "重置密码", 209 | "email": "电子邮件", 210 | "submit": "提交", 211 | "cancel": "取消", 212 | "subtext": "我们会向您发送电子邮件以重置您的密码。", 213 | "success": "我们已向您发送电子邮件,其中包含更新密码的链接。" 214 | }, 215 | "reset_password": { 216 | "title": "重置账户密码", 217 | "subtext": "输入 {{ email }} 的新密码", 218 | "password": "密码", 219 | "password_confirm": "确认密码", 220 | "submit": "重置密码" 221 | }, 222 | "register": { 223 | "title": "创建账户", 224 | "first_name": "名字", 225 | "last_name": "姓", 226 | "email": "电子邮件", 227 | "password": "密码", 228 | "submit": "创建", 229 | "cancel": "返回商店" 230 | } 231 | }, 232 | "home_page": { 233 | "onboarding": { 234 | "product_vendor": "产品供应商", 235 | "product_title": "产品标题示例", 236 | "blog_title": "您的文章的标题", 237 | "blog_excerpt": "您的商店尚未发布任何博客文章。博客可用于介绍新产品的发布、提示或您想与客户分享的其他消息。您可以查看 Shopify 的电子商务博客,以获得可用于您的商店和博客的灵感以及建议。", 238 | "collection_title": "产品系列标题示例" 239 | }, 240 | "slideshow": { 241 | "previous_slide": "上一张幻灯片", 242 | "next_slide": "下一张幻灯片", 243 | "pause": "暂停幻灯片", 244 | "play": "播放幻灯片", 245 | "load_slide": "加载幻灯片 {{ slide_number }}", 246 | "active_slide": "当前幻灯片 {{ slide_number }}", 247 | "navigation_instructions": "使用左\/右箭头浏览幻灯片或者在使用移动设备时向左\/向右轻扫" 248 | } 249 | }, 250 | "layout": { 251 | "navigation": { 252 | "menu": "菜单" 253 | }, 254 | "cart": { 255 | "title": "购物车" 256 | }, 257 | "customer": { 258 | "account": "我的账户", 259 | "log_out": "登出", 260 | "log_in": "登录", 261 | "create_account": "创建账户", 262 | "or": "或" 263 | }, 264 | "footer": { 265 | "blog_title": "最新消息", 266 | "social_title": "关注我们", 267 | "social_platform": "{{ platform }} 上的 {{ name }}", 268 | "newsletter_title": "新闻通讯", 269 | "copyright": "版权" 270 | } 271 | }, 272 | "products": { 273 | "general": { 274 | "from_html": "来自 {{ price }}", 275 | "include_taxes": "税金(包含)。", 276 | "shipping_policy_html": "结账时计算的运费<\/a>。", 277 | "share_title": "分享此产品" 278 | }, 279 | "product": { 280 | "sold_out": "售罄", 281 | "sale": "销售额", 282 | "unavailable": "不可用", 283 | "compare_at": "比较", 284 | "quantity": "数量", 285 | "add_to_cart": "添加到购物车", 286 | "sale_price": "销售价格", 287 | "regular_price": "常规价格", 288 | "description": "描述", 289 | "full_details": "全部详细信息", 290 | "unit_price_label": "单价" 291 | }, 292 | "zoom": { 293 | "next": "下一个(右箭头键)", 294 | "prev": "上一个(左箭头键)", 295 | "close": "关闭 (Esc)" 296 | } 297 | }, 298 | "map": { 299 | "errors": { 300 | "address_error": "查找该地址时出错", 301 | "address_no_results": "未找到该地址的结果", 302 | "address_query_limit_html": "您已超过 Google API 使用限制。考虑升级到高级套餐<\/a>。", 303 | "auth_error_html": "对您的 Google 地图 API 密钥进行身份验证时出现问题。" 304 | } 305 | }, 306 | "gift_cards": { 307 | "issued": { 308 | "title": "这是您获得的 {{ shop }} 的 {{ value }} 礼品卡!", 309 | "subtext": "这是您的礼品卡!", 310 | "disabled": "已禁用", 311 | "expired": "已于 {{ expiry }} 过期", 312 | "active": "过期日期:{{ expiry }}", 313 | "redeem": "在结账时使用此代码兑换您的礼品卡", 314 | "shop_link": "开始购物", 315 | "print": "打印", 316 | "add_to_apple_wallet": "添加到 Apple Wallet" 317 | } 318 | } 319 | } -------------------------------------------------------------------------------- /locales/zh-TW.json: -------------------------------------------------------------------------------- 1 | { 2 | "general": { 3 | "accessibility": { 4 | "refresh_page": "選取項目會重新整理整個頁面", 5 | "unit_price_separator": "每", 6 | "new_window": "在新視窗中開啟。", 7 | "new_window_and_external": "在新視窗中開啟外部網站。" 8 | }, 9 | "meta": { 10 | "tags": "已套用「{{ tags }}」標籤", 11 | "page": "第 {{ page }} 頁" 12 | }, 13 | "404": { 14 | "title": "404 找不到頁面", 15 | "subtext_html": "您要求的頁面不存在。按一下這裡<\/a>以繼續購物。" 16 | }, 17 | "password_page": { 18 | "login_form_heading": "以密碼進入商店:", 19 | "login_form_password_label": "密碼", 20 | "login_form_password_placeholder": "您的密碼", 21 | "login_form_submit": "進入", 22 | "signup_form_email_label": "電子郵件", 23 | "signup_form_success": "我們會在即將開張前寄電子郵件通知您!", 24 | "admin_link_html": "您是店主嗎?請在此登入<\/a>", 25 | "password_link": "以密碼進入", 26 | "powered_by_shopify_html": "本商店由 {{ shopify }} 提供技術支援", 27 | "close": "關閉 (ESC)" 28 | }, 29 | "breadcrumbs": { 30 | "home": "首頁", 31 | "home_link_title": "回到首頁" 32 | }, 33 | "newsletter_form": { 34 | "newsletter_email": "您的電子郵件", 35 | "submit": "訂閱", 36 | "confirmation": "感謝您願意訂閱" 37 | }, 38 | "search": { 39 | "no_results_html": "您搜尋的「{{ terms }}」沒有任何結果。", 40 | "results_for_html": "您搜尋的「{{ terms }}」顯示了以下結果:", 41 | "title": "在我們的網站搜尋產品", 42 | "placeholder": "搜尋", 43 | "submit": "搜尋" 44 | }, 45 | "social": { 46 | "share_on_facebook": "分享", 47 | "share_on_twitter": "發佈 Twitter 推文", 48 | "share_on_pinterest": "加進 Pinterest", 49 | "alt_text": { 50 | "share_on_facebook": "分享至 Facebook", 51 | "share_on_twitter": "在 Twitter 上發佈推文", 52 | "share_on_pinterest": "加入 Pinterest" 53 | } 54 | }, 55 | "payment": { 56 | "method": "付款圖示" 57 | } 58 | }, 59 | "blogs": { 60 | "article": { 61 | "older_post": "較舊的貼文", 62 | "newer_post": "較新的貼文", 63 | "tags": "標籤", 64 | "comment_meta_html": "{{ author }} 於 {{ date }}", 65 | "view_all": "檢視全部", 66 | "read_more": "繼續閱讀" 67 | }, 68 | "comments": { 69 | "title": "發表留言", 70 | "name": "名稱", 71 | "email": "電子郵件", 72 | "message": "訊息", 73 | "post": "貼文留言", 74 | "moderated": "請注意,留言須先通過審核才會發佈", 75 | "success_moderated": "您已成功留言。由於我們的網誌有人管理,因此過一段時間後才會進行發佈。", 76 | "success": "您已成功留言!感謝您!" 77 | }, 78 | "sidebar": { 79 | "recent_articles": "近期文章", 80 | "categories": "類別" 81 | } 82 | }, 83 | "cart": { 84 | "general": { 85 | "title": "您的購物車", 86 | "remove": "移除", 87 | "note": "給賣家的特別指示", 88 | "subtotal": "小計", 89 | "savings_html": "您將省下 {{ price }}", 90 | "taxes_and_shipping_at_checkout": "結帳時計算稅金和運費", 91 | "taxes_and_shipping_policy_at_checkout_html": "結帳時計算稅金和運費<\/a>", 92 | "taxes_included_but_shipping_at_checkout": "內含稅金,結帳時計算運費", 93 | "taxes_included_and_shipping_policy_html": "內含稅金。結帳時計算運費<\/a>。", 94 | "update": "更新購物車", 95 | "checkout": "結帳", 96 | "empty": "您的購物車目前沒有商品。", 97 | "cookies_required": "啟用 Cookie 功能即可使用購物車", 98 | "continue_browsing_html": "繼續瀏覽 此處<\/a>。", 99 | "continue_shopping": "繼續購物" 100 | }, 101 | "label": { 102 | "price": "價格", 103 | "quantity": "數量", 104 | "total": "總計", 105 | "add_note": "新增備註到您的訂單" 106 | } 107 | }, 108 | "collections": { 109 | "general": { 110 | "title": "商品系列", 111 | "no_matches": "抱歉,此商品系列中沒有產品", 112 | "link_title": "瀏覽我們的 {{ title }} 商品系列" 113 | }, 114 | "sorting": { 115 | "title": "排序方式", 116 | "browse": "瀏覽依據", 117 | "all_tags": "全部" 118 | } 119 | }, 120 | "contact": { 121 | "form": { 122 | "name": "名稱", 123 | "email": "電子郵件", 124 | "phone": "電話號碼", 125 | "message": "訊息", 126 | "send": "傳送", 127 | "post_success": "感謝您聯絡我們。我們會盡快回覆您。" 128 | } 129 | }, 130 | "customer": { 131 | "account": { 132 | "title": "我的帳戶", 133 | "details": "帳戶詳細資訊", 134 | "view_addresses": "檢視地址", 135 | "return": "返回帳戶詳細資訊" 136 | }, 137 | "activate_account": { 138 | "title": "啟用帳戶", 139 | "subtext": "建立密碼以啟用帳戶。", 140 | "password": "密碼", 141 | "password_confirm": "確認密碼", 142 | "submit": "啟用帳戶", 143 | "cancel": "拒絕邀請" 144 | }, 145 | "addresses": { 146 | "title": "您的地址", 147 | "add_new": "新增地址", 148 | "edit_address": "編輯地址", 149 | "first_name": "名字", 150 | "last_name": "姓氏", 151 | "company": "公司", 152 | "address1": "地址 1", 153 | "address2": "地址 2", 154 | "city": "市", 155 | "country": "國家\/地區", 156 | "province": "省", 157 | "zip": "郵遞區號", 158 | "phone": "電話", 159 | "set_default": "設為預設地址", 160 | "add": "新增地址", 161 | "update": "更新地址", 162 | "cancel": "取消", 163 | "edit": "編輯", 164 | "delete": "刪除", 165 | "delete_confirm": "是否確定要刪除此地址?" 166 | }, 167 | "login": { 168 | "title": "登入", 169 | "email": "電子郵件", 170 | "password": "密碼", 171 | "forgot_password": "忘記密碼?", 172 | "sign_in": "登入", 173 | "cancel": "返回商店", 174 | "guest_title": "以訪客身分繼續操作", 175 | "guest_continue": "繼續" 176 | }, 177 | "orders": { 178 | "title": "訂單紀錄", 179 | "order_number": "訂單", 180 | "date": "日期", 181 | "payment_status": "付款狀態", 182 | "fulfillment_status": "訂單出貨狀態", 183 | "total": "總計", 184 | "none": "您尚未下訂任何商品。" 185 | }, 186 | "order": { 187 | "title": "訂單 {{ name }}", 188 | "date": "於 {{ date }} 訂購", 189 | "cancelled": "已於 {{ date }} 取消訂單", 190 | "cancelled_reason": "原因:{{ reason }}", 191 | "billing_address": "帳單地址", 192 | "payment_status": "付款狀態", 193 | "shipping_address": "運送地址", 194 | "fulfillment_status": "訂單出貨狀態", 195 | "discount": "折扣", 196 | "shipping": "運送", 197 | "tax": "稅金", 198 | "product": "產品", 199 | "sku": "存貨單位 (SKU)", 200 | "price": "價格", 201 | "quantity": "數量", 202 | "total": "總計", 203 | "fulfilled_at": "已於 {{ date }} 出貨", 204 | "subtotal": "小計", 205 | "track_shipment": "追蹤貨件" 206 | }, 207 | "recover_password": { 208 | "title": "重設密碼", 209 | "email": "電子郵件", 210 | "submit": "提交", 211 | "cancel": "取消", 212 | "subtext": "我們會寄重設密碼用的電子郵件給您。", 213 | "success": "我們已寄一封電子郵件給您,內有連結,可讓您更新密碼。" 214 | }, 215 | "reset_password": { 216 | "title": "重設帳戶密碼", 217 | "subtext": "輸入 {{ email }} 的新密碼", 218 | "password": "密碼", 219 | "password_confirm": "確認密碼", 220 | "submit": "重設密碼" 221 | }, 222 | "register": { 223 | "title": "建立帳戶", 224 | "first_name": "名字", 225 | "last_name": "姓氏", 226 | "email": "電子郵件", 227 | "password": "密碼", 228 | "submit": "建立", 229 | "cancel": "返回商店" 230 | } 231 | }, 232 | "home_page": { 233 | "onboarding": { 234 | "product_vendor": "產品廠商", 235 | "product_title": "範例產品名稱", 236 | "blog_title": "您的貼文標題", 237 | "blog_excerpt": "您的商店尚未發佈任何部落格貼文。您可以用部落格談談上市的新產品、秘訣或其他想和顧客分享的消息。您可以查看 Shopify 的電子商務部落格,從中獲取靈感和建議,建設您自己的商店和部落格。", 238 | "collection_title": "商品系列標題範例" 239 | }, 240 | "slideshow": { 241 | "previous_slide": "前一張投影片", 242 | "next_slide": "下一張投影片", 243 | "pause": "暫停播放投影片", 244 | "play": "播放投影片", 245 | "load_slide": "載入第 {{ slide_number }} 張投影片", 246 | "active_slide": "目前為第 {{ slide_number }} 投影片", 247 | "navigation_instructions": "使用向左\/向右箭頭操作播放投影片。如使用行動裝置,請向左\/向右滑動" 248 | } 249 | }, 250 | "layout": { 251 | "navigation": { 252 | "menu": "選單" 253 | }, 254 | "cart": { 255 | "title": "購物車" 256 | }, 257 | "customer": { 258 | "account": "我的帳戶", 259 | "log_out": "登出", 260 | "log_in": "登入", 261 | "create_account": "建立帳戶", 262 | "or": "或" 263 | }, 264 | "footer": { 265 | "blog_title": "最新消息", 266 | "social_title": "追蹤我們", 267 | "social_platform": "{{ name }} 於 {{ platform }}", 268 | "newsletter_title": "電子報", 269 | "copyright": "著作權" 270 | } 271 | }, 272 | "products": { 273 | "general": { 274 | "from_html": "從 {{ price }} 起", 275 | "include_taxes": "內含稅金。", 276 | "shipping_policy_html": "結帳時計算運費<\/a>。", 277 | "share_title": "分享產品" 278 | }, 279 | "product": { 280 | "sold_out": "售罄", 281 | "sale": "銷售額", 282 | "unavailable": "無法供貨", 283 | "compare_at": "比較", 284 | "quantity": "數量", 285 | "add_to_cart": "加入購物車", 286 | "sale_price": "售價", 287 | "regular_price": "定價", 288 | "description": "說明", 289 | "full_details": "完整資訊", 290 | "unit_price_label": "單價" 291 | }, 292 | "zoom": { 293 | "next": "下一個 (右方向鍵)", 294 | "prev": "前一個 (左方向鍵)", 295 | "close": "關閉 (ESC)" 296 | } 297 | }, 298 | "map": { 299 | "errors": { 300 | "address_error": "尋找此地址時發生錯誤", 301 | "address_no_results": "此地址無結果", 302 | "address_query_limit_html": "您已超出 Google API 使用量限制。請考慮升級為付費方案<\/a>。", 303 | "auth_error_html": "驗證 Google 地圖 API 金鑰時發生問題。" 304 | } 305 | }, 306 | "gift_cards": { 307 | "issued": { 308 | "title": "以下是您在 {{ shop }} 的 {{ value }} 禮品卡!", 309 | "subtext": "以下是您的禮品卡!", 310 | "disabled": "已停用", 311 | "expired": "於 {{ expiry }} 到期", 312 | "active": "於 {{ expiry }} 到期", 313 | "redeem": "結帳時使用此代碼兌換您的禮品卡", 314 | "shop_link": "開始購物", 315 | "print": "列印", 316 | "add_to_apple_wallet": "加入 Apple Wallet" 317 | } 318 | } 319 | } -------------------------------------------------------------------------------- /templates/customers/order.liquid: -------------------------------------------------------------------------------- 1 |
    2 |

    {{ 'customer.account.title' | t }}

    3 |
    4 | 5 |

    {{ 'customer.account.return' | t }}

    6 | 7 |
    8 | 9 |
    10 |

    {{ 'customer.order.title' | t: name: order.name }}

    11 | 12 |

    {{ 'customer.order.date' | t: date: order.created_at | date: format: 'date_at_time' }}

    13 | 14 | {%- if order.cancelled -%} 15 |
    16 | {%- assign cancelled_at = order.cancelled_at | date: format: 'date_at_time' -%} 17 |

    {{ 'customer.order.cancelled' | t: date: cancelled_at }}

    18 |

    {{ 'customer.order.cancelled_reason' | t: reason: order.cancel_reason }}

    19 |
    20 | {%- endif -%} 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | {%- for line_item in order.line_items -%} 34 | 35 | 91 | 92 | 106 | 107 | 117 | 118 | {%- endfor -%} 119 | 120 | 121 | 122 | 123 | 124 | 125 | 126 | {%- if order.cart_level_discount_applications != blank -%} 127 | 128 | {%- for discount_application in order.cart_level_discount_applications -%} 129 | 135 | 143 | {%- endfor -%} 144 | 145 | {%- endif -%} 146 | 147 | {%- for shipping_method in order.shipping_methods -%} 148 | 149 | 150 | 151 | 152 | {%- endfor -%} 153 | 154 | {%- for tax_line in order.tax_lines -%} 155 | 156 | 157 | 158 | 159 | {%- endfor -%} 160 | 161 | 162 | 163 | 164 | 165 | 166 |
    {{ 'customer.order.product' | t }}{{ 'customer.order.sku' | t }}{{ 'customer.order.price' | t }}{{ 'customer.order.quantity' | t }}{{ 'customer.order.total' | t }}
    36 |
    37 | {{ line_item.title | link_to: line_item.product.url }} 38 | {%- assign property_size = line_item.properties | size -%} 39 | {% unless line_item.selling_plan_allocation == nil and property_size == 0 %} 40 |
    41 | {% unless line_item.selling_plan_allocation == nil %} 42 | 43 | {{ line_item.selling_plan_allocation.selling_plan.name }} 44 | 45 | {% endunless %} 46 | {% if property_size != 0 %} 47 | {% for property in line_item.properties %} 48 | {% assign property_first_char = property.first | slice: 0 %} 49 | {% if property.last != blank and property_first_char != '_' %} 50 | 51 | {{ property.first }}:  52 | {%- if property.last contains '/uploads/' -%} 53 | {{ property.last | split: '/' | last }} 54 | {%- else -%} 55 | {{ property.last }} 56 | {%- endif -%} 57 | 58 | {% endif %} 59 | {% endfor %} 60 | {% endif %} 61 |
    62 | {% endunless %} 63 | {%- if line_item.line_level_discount_allocations != blank -%} 64 |
      65 | {%- for discount_allocation in line_item.line_level_discount_allocations -%} 66 |
    • 67 | {{ discount_allocation.discount_application.title }} (-{{ discount_allocation.amount | money }}) 68 |
    • 69 | {%- endfor -%} 70 |
    71 | {%- endif -%} 72 |
    73 | {%- if line_item.fulfillment -%} 74 |
    75 | {%- assign created_at = line_item.fulfillment.created_at | date: format: 'date' -%} 76 | {{ 'customer.order.fulfilled_at' | t: date: created_at }} 77 |
    78 | {%- if line_item.fulfillment.tracking_url -%} 79 | 80 | {{ 'customer.order.track_shipment' | t }} 81 | 82 | {%- endif -%} 83 |
    84 | {{ line_item.fulfillment.tracking_company }} 85 | {%- if line_item.fulfillment.tracking_number -%} #{{ line_item.fulfillment.tracking_number }} {%- endif -%} 86 |
    87 |
    88 |
    89 | {%- endif -%} 90 |
    {{ line_item.sku }} 93 | {%- if line_item.original_price != line_item.final_price -%} 94 | {{ 'products.product.regular_price' | t }} 95 | {{ line_item.original_price | money }} 96 | {{ 'products.product.sale_price' | t }} 97 | {{ line_item.final_price | money }} 98 | {%- else -%} 99 | {{ line_item.original_price | money }} 100 | {%- endif -%} 101 | 102 | {%- if line_item.unit_price_measurement -%} 103 | {% include 'product-unit-price', variant: line_item, available: true %} 104 | {%- endif -%} 105 | {{ line_item.quantity }} 108 | {%- if line_item.original_line_price != line_item.final_line_price -%} 109 | {{ 'products.product.regular_price' | t }} 110 | {{ line_item.original_line_price | money }} 111 | {{ 'products.product.sale_price' | t }} 112 | {{ line_item.final_line_price | money }} 113 | {%- else -%} 114 | {{ line_item.original_line_price | money }} 115 | {%- endif -%} 116 |
    {{ 'customer.order.subtotal' | t }}{{ order.line_items_subtotal_price | money }}
    130 | {{ 'customer.order.discount' | t }} 131 | 132 | {{- discount_application.title -}} 133 | 134 | 136 |
    137 | 138 | {{- discount_application.title -}} 139 | 140 | -{{ discount_application.total_allocated_amount | money }} 141 |
    142 |
    {{ 'customer.order.shipping' | t }} ({{ shipping_method.title }}){{ shipping_method.price | money }}
    {{ 'customer.order.tax' | t }} ({{ tax_line.title }} {{ tax_line.rate | times: 100 }}%){{ tax_line.price | money }}
    {{ 'customer.order.total' | t }}{{ order.total_price | money }} {{ order.currency }}
    167 | 168 |
    169 | 170 |
    171 | 172 |

    {{ 'customer.order.billing_address' | t }}

    173 | 174 |

    {{ 'customer.order.payment_status' | t }}: {{ order.financial_status_label }}

    175 | 176 | {{ order.billing_address | format_address }} 177 | 178 |

    {{ 'customer.order.shipping_address' | t }}

    179 | 180 |

    {{ 'customer.order.fulfillment_status' | t }}: {{ order.fulfillment_status_label }}

    181 | 182 | {{ order.shipping_address | format_address }} 183 | 184 |
    185 | 186 |
    187 | -------------------------------------------------------------------------------- /sections/article-template.liquid: -------------------------------------------------------------------------------- 1 | {% assign number_of_comments = article.comments_count %} 2 | 3 | {% if comment and comment.created_at %} 4 | {% assign number_of_comments = article.comments_count | plus: 1 %} 5 | {% endif %} 6 | 7 | {% paginate article.comments by 5 %} 8 | 9 | {% comment %}{% include 'breadcrumb' %}{% endcomment %} 10 | 11 |
    12 | 13 |
    14 | 15 |
    16 |
    17 | 18 |
    19 |

    {{ article.title }}

    20 |
    21 | 22 |

    23 | 24 | {% if section.settings.article_author_enable %} 25 | 26 | {{ article.author }} 27 | {% endif %} 28 | {% if article.tags.size > 0 %} 29 | 30 | {% for tag in article.tags %} 31 | {{ tag }}{% unless forloop.last %} {% endunless %} 32 | {% endfor %} 33 | {% endif %} 34 |

    35 | 36 |
    37 | {{ article.content }} 38 |
    39 | 40 | {% if section.settings.social_sharing %} 41 |
    42 | {% include 'social-sharing' %} 43 | {% endif %} 44 | 45 | {% comment %} 46 | Create links to the next and previous articles, if available. 47 | {% endcomment %} 48 | {% if blog.next_article or blog.previous_article %} 49 |
    50 |

    51 | {% if blog.previous_article %} 52 | 53 | ← {{ 'blogs.article.older_post' | t | link_to: blog.previous_article }} 54 | 55 | {% endif %} 56 | {% if blog.next_article %} 57 | 58 | {{ 'blogs.article.newer_post' | t | link_to: blog.next_article }} → 59 | 60 | {% endif %} 61 |

    62 | {% endif %} 63 | 64 | {% if blog.comments_enabled? %} 65 |
    66 | 67 | {% comment %} 68 | Just like blog.liquid page, define how many comments should be on each page. 69 | {% endcomment %} 70 | 71 | {% comment %} 72 | #comments is required, it is used as an anchor link by Shopify. 73 | {% endcomment %} 74 |
    75 | 76 | {% if comment and comment.created_at %} 77 |

    78 | {% if blog.moderated? %} 79 | {{ 'blogs.comments.success_moderated' | t }} 80 | {% else %} 81 | {{ 'blogs.comments.success' | t }} 82 | {% endif %} 83 |

    84 | {% endif %} 85 | 86 | {% if number_of_comments > 0 %} 87 |
      88 | {% comment %} 89 | If a comment was just submitted with no blank field, show it. 90 | {% endcomment %} 91 | {% if comment and comment.created_at %} 92 |
    • 93 | {% include 'comment' %} 94 |
    • 95 | {% endif %} 96 | 97 | {% comment %} 98 | Showing the rest of the comments. 99 | {% endcomment %} 100 | {% for comment in article.comments %} 101 |
    • 102 | {% include 'comment' %} 103 |
    • 104 | {% endfor %} 105 |
    106 | 107 | {% if paginate.pages > 1 %} 108 |
    109 |
    110 | {% include 'pagination-custom' %} 111 |
    112 | {% endif %} 113 | 114 |
    115 | 116 | {% endif %} 117 | 118 | {% comment %} 119 | Comment submission form 120 | {% endcomment %} 121 | {% form 'new_comment', article %} 122 | 123 |

    {{ 'blogs.comments.title' | t }}

    124 | 125 | {{ form.errors | default_errors }} 126 | 127 |
    128 | 129 |
    130 | 131 | 132 | 133 | 134 | 135 |
    136 | 137 |
    138 | 139 | 140 |
    141 | 142 |
    143 | 144 | {% if blog.moderated? %} 145 |

    {{ 'blogs.comments.moderated' | t }}

    146 | {% endif %} 147 | 148 | 149 | 150 | {% endform %} 151 | 152 |
    153 | 154 | {% endif %} 155 | 156 |
    157 |
    158 |
    159 | 160 | 163 |
    164 | 165 | {% endpaginate %} 166 | 167 | 168 | 169 | {% schema %} 170 | { 171 | "name": { 172 | "cs": "Článek", 173 | "da": "Artikel", 174 | "de": "Artikel", 175 | "en": "Article", 176 | "es": "Artículo", 177 | "fi": "Artikkeli", 178 | "fr": "Article", 179 | "it": "Articolo", 180 | "ja": "記事", 181 | "ko": "문서", 182 | "nb": "Artikkel", 183 | "nl": "Artikel", 184 | "pl": "Artykuł", 185 | "pt-BR": "Artigo", 186 | "pt-PT": "Artigo", 187 | "sv": "Artikel", 188 | "th": "บทความ", 189 | "tr": "Makale", 190 | "vi": "Bài viết", 191 | "zh-CN": "文章", 192 | "zh-TW": "文章" 193 | }, 194 | "settings": [ 195 | { 196 | "type": "checkbox", 197 | "id": "article_author_enable", 198 | "label": { 199 | "cs": "Zobrazit autora příspěvku na blogu", 200 | "da": "Vis forfatter af blogopslag", 201 | "de": "Autor eines Blog-Beitrags anzeigen", 202 | "en": "Show blog post author", 203 | "es": "Mostrar autor de la entrada del blog", 204 | "fi": "Näytä blogikirjoituksen tekijä", 205 | "fr": "Afficher l'auteur de l'article de blog", 206 | "it": "Mostra autore articolo del blog", 207 | "ja": "ブログ記事の執筆者を表示する", 208 | "ko": "블로그 게시물 작성자 표시", 209 | "nb": "Vis forfatter av blogginnlegg", 210 | "nl": "Toon auteur van blogpost", 211 | "pl": "Pokaż autora posta na blogu", 212 | "pt-BR": "Mostrar autor do post do blog", 213 | "pt-PT": "Mostrar autor(a) da publicação no blogue", 214 | "sv": "Visa blogginläggets författare", 215 | "th": "แสดงผู้เขียนโพสต์บล็อก", 216 | "tr": "Blog gönderisinin yazarını göster", 217 | "vi": "Hiển thị tác giả bài viết blog", 218 | "zh-CN": "显示博客文章作者", 219 | "zh-TW": "顯示網誌貼文作者" 220 | } 221 | }, 222 | { 223 | "type": "checkbox", 224 | "id": "social_sharing", 225 | "label": { 226 | "cs": "Povolit sdílení příspěvků na bogu", 227 | "da": "Aktivér deling af blogopslag", 228 | "de": "Freigabe von Blog-Beiträgen aktivieren", 229 | "en": "Enable blog post sharing", 230 | "es": "Habilitar la función compartir entrada en el blog", 231 | "fi": "Ota blogipäivitysten jakaminen käyttöön", 232 | "fr": "Activer le partage des articles de blog", 233 | "it": "Abilita condivisione articoli del blog", 234 | "ja": "ブログ記事の共有を有効にする", 235 | "ko": "블로그 게시물 공유 사용", 236 | "nb": "Aktiver deling av blogginnlegg", 237 | "nl": "Delen van blogpost inschakelen", 238 | "pl": "Włącz udostępnianie posta na blogu", 239 | "pt-BR": "Habilitar compartilhamento de post do blog", 240 | "pt-PT": "Ativar partilha da publicação no blogue", 241 | "sv": "Aktivera blogginläggsdelning", 242 | "th": "เปิดใช้การแชร์โพสต์บล็อก", 243 | "tr": "Blog gönderisi paylaşmayı etkinleştir", 244 | "vi": "Bật chia sẻ bài viết blog", 245 | "zh-CN": "启用博客文章分享", 246 | "zh-TW": "啟用網誌貼文分享" 247 | } 248 | } 249 | ] 250 | } 251 | {% endschema %} 252 | -------------------------------------------------------------------------------- /locales/ko.json: -------------------------------------------------------------------------------- 1 | { 2 | "general": { 3 | "accessibility": { 4 | "refresh_page": "선택을 누르면 전체 페이지가 새로 고침됩니다.", 5 | "unit_price_separator": "당", 6 | "new_window": "새 창에서 열기.", 7 | "new_window_and_external": "새 창에서 외부 웹사이트 열기." 8 | }, 9 | "meta": { 10 | "tags": "태그 \"{{ tags }}\"", 11 | "page": "{{ page }}페이지" 12 | }, 13 | "404": { 14 | "title": "404 페이지를 찾을 없음", 15 | "subtext_html": "요청하신 페이지가 존재하지 않습니다. 여기를 클릭<\/a> 하여 쇼핑 계속하십시오." 16 | }, 17 | "password_page": { 18 | "login_form_heading": "비밀번호 사용하여 스토어 열기:", 19 | "login_form_password_label": "비밀번호", 20 | "login_form_password_placeholder": "비밀번호", 21 | "login_form_submit": "입력", 22 | "signup_form_email_label": "이메일", 23 | "signup_form_success": "개장 직전에 이메일을 송신해드립니다!", 24 | "admin_link_html": "스토어 소유주입니까? 여기에 로그인 하기<\/a>", 25 | "password_link": "비밀번호를 사용하여 입력하십시오.", 26 | "powered_by_shopify_html": "이 상점은 {{ shopify }}에 의해 운영됩니다.", 27 | "close": "닫기 (esc)" 28 | }, 29 | "breadcrumbs": { 30 | "home": "홈", 31 | "home_link_title": "맨 앞 페이지로 돌아가기" 32 | }, 33 | "newsletter_form": { 34 | "newsletter_email": "이메일:", 35 | "submit": "가입하기", 36 | "confirmation": "구독해주셔서 감사드립니다." 37 | }, 38 | "search": { 39 | "no_results_html": "\"{{ terms }}\" 에 대한 검색 결과가 나오지 않았습니다.", 40 | "results_for_html": "\"{{ terms }}\" 에 대한 검색은 다음과 같습니다:", 41 | "title": "저희 웹사이트에서 제품 검색", 42 | "placeholder": "검색", 43 | "submit": "검색" 44 | }, 45 | "social": { 46 | "share_on_facebook": "공유", 47 | "share_on_twitter": "Tweet", 48 | "share_on_pinterest": "고정하기", 49 | "alt_text": { 50 | "share_on_facebook": "Facebook에서 공유", 51 | "share_on_twitter": "Twitter에서 트윗 작성", 52 | "share_on_pinterest": "Pinterest에 고정하기" 53 | } 54 | }, 55 | "payment": { 56 | "method": "결제 아이콘" 57 | } 58 | }, 59 | "blogs": { 60 | "article": { 61 | "older_post": "이전 게시물", 62 | "newer_post": "새로운 게시물", 63 | "tags": "태그", 64 | "comment_meta_html": "{{ author }}({{ date }})", 65 | "view_all": "모두 보기", 66 | "read_more": "자세한 내용 확인" 67 | }, 68 | "comments": { 69 | "title": "댓글 남기기", 70 | "name": "이름", 71 | "email": "이메일", 72 | "message": "메시지", 73 | "post": "댓글 달기", 74 | "moderated": "댓글 게시 전에는 반드시 승인이 필요합니다.", 75 | "success_moderated": "댓글이 성공적으로 게시되었습니다. 블로그 조정 중이므로 잠시 후에 게시됩니다.", 76 | "success": "댓글이 성공적으로 게시되었습니다. 감사합니다!" 77 | }, 78 | "sidebar": { 79 | "recent_articles": "최근 기사", 80 | "categories": "범주" 81 | } 82 | }, 83 | "cart": { 84 | "general": { 85 | "title": "회원님의 카트", 86 | "remove": "제거", 87 | "note": "판매자 특별 지침", 88 | "subtotal": "소계", 89 | "savings_html": "{{ price }} 를 저장 중입니다", 90 | "taxes_and_shipping_at_checkout": "결제 시 세금 및 배송료가 계산됨", 91 | "taxes_and_shipping_policy_at_checkout_html": "결제 시 세금 및 배송료<\/a> 가 계산됨", 92 | "taxes_included_but_shipping_at_checkout": "결제 시 세금이 포함되며 배송료가 계산됨", 93 | "taxes_included_and_shipping_policy_html": "세금이 포함됨 결제 시 배송료<\/a> 가 계산됨", 94 | "update": "카트 업데이트", 95 | "checkout": "결제", 96 | "empty": "현재 카트가 비어 있습니다.", 97 | "cookies_required": "쿠키를 사용하여 쇼핑 카드 사용", 98 | "continue_browsing_html": "여기<\/a> 를 계속 탐색하십시오.", 99 | "continue_shopping": "쇼핑 계속하기" 100 | }, 101 | "label": { 102 | "price": "가격", 103 | "quantity": "수량", 104 | "total": "총계", 105 | "add_note": "주문에 메모 추가" 106 | } 107 | }, 108 | "collections": { 109 | "general": { 110 | "title": "컬렉션", 111 | "no_matches": "죄송합니다, 이 컬렉션에 제품이 없습니다.", 112 | "link_title": "{{ title }} 컬렉션 검색하기" 113 | }, 114 | "sorting": { 115 | "title": "정렬 기준", 116 | "browse": "찾아보기", 117 | "all_tags": "모두" 118 | } 119 | }, 120 | "contact": { 121 | "form": { 122 | "name": "이름", 123 | "email": "이메일", 124 | "phone": "전화 번호", 125 | "message": "메시지", 126 | "send": "보내기", 127 | "post_success": "문의해 주셔서 감사드립니다. 최대한 빨리 답변드리겠습니다." 128 | } 129 | }, 130 | "customer": { 131 | "account": { 132 | "title": "내 계정", 133 | "details": "계정 세부 정보", 134 | "view_addresses": "주소 보기", 135 | "return": "계정 세부 정보로 돌아가기" 136 | }, 137 | "activate_account": { 138 | "title": "계정 활성화하기", 139 | "subtext": "계정을 활성화하려면 비밀번호를 생성하십시오.", 140 | "password": "비밀번호", 141 | "password_confirm": "비밀번호 확인", 142 | "submit": "계정 활성화", 143 | "cancel": "초대 거절하기" 144 | }, 145 | "addresses": { 146 | "title": "주소", 147 | "add_new": "새 주소 추가", 148 | "edit_address": "주소 편집", 149 | "first_name": "이름", 150 | "last_name": "성", 151 | "company": "회사", 152 | "address1": "주소 1", 153 | "address2": "주소 2", 154 | "city": "구\/군\/시", 155 | "country": "국가\/지역", 156 | "province": "시\/도", 157 | "zip": "우편 번호", 158 | "phone": "전화", 159 | "set_default": "기본 주소로 설정", 160 | "add": "주소 추가", 161 | "update": "주소 업데이트", 162 | "cancel": "취소", 163 | "edit": "편집", 164 | "delete": "삭제", 165 | "delete_confirm": "이 주소를 삭제하시겠습니까?" 166 | }, 167 | "login": { 168 | "title": "로그인", 169 | "email": "이메일", 170 | "password": "비밀번호", 171 | "forgot_password": "비밀번호를 잊으셨나요?", 172 | "sign_in": "로그인합니다.", 173 | "cancel": "스토어로 돌아가기", 174 | "guest_title": "게스트로 계속하기", 175 | "guest_continue": "계속" 176 | }, 177 | "orders": { 178 | "title": "주문 기록", 179 | "order_number": "주문", 180 | "date": "일", 181 | "payment_status": "결제 상태", 182 | "fulfillment_status": "주문 처리 상태", 183 | "total": "총계", 184 | "none": "아직 주문하지 않았습니다." 185 | }, 186 | "order": { 187 | "title": "{{ name }} 주문", 188 | "date": "주문 일자 : {{ date }}", 189 | "cancelled": "주문 취소 일자 : {{ date }}", 190 | "cancelled_reason": "이유: {{ reason }}", 191 | "billing_address": "청구 주소", 192 | "payment_status": "결제 상태", 193 | "shipping_address": "배송 주소", 194 | "fulfillment_status": "주문 처리 상태", 195 | "discount": "할인", 196 | "shipping": "배송", 197 | "tax": "세금", 198 | "product": "제품", 199 | "sku": "SKU", 200 | "price": "가격", 201 | "quantity": "수량", 202 | "total": "총계", 203 | "fulfilled_at": "주문 처리 : {{ date }}", 204 | "subtotal": "소계", 205 | "track_shipment": "배송 추적" 206 | }, 207 | "recover_password": { 208 | "title": "비밀번호 재설정", 209 | "email": "이메일", 210 | "submit": "제출", 211 | "cancel": "취소", 212 | "subtext": "비밀번호를 재설정하기 위해 이메일을 송신합니다.", 213 | "success": "비밀번호를 엄데이트 할 링크가 포함된 이메일을 송신합니다." 214 | }, 215 | "reset_password": { 216 | "title": "계정 비밀번호 재설정", 217 | "subtext": "{{ email }}의 새 비밀번호 입력", 218 | "password": "비밀번호", 219 | "password_confirm": "비밀번호 확인", 220 | "submit": "비밀번호 재설정" 221 | }, 222 | "register": { 223 | "title": "계정 생성", 224 | "first_name": "이름", 225 | "last_name": "성", 226 | "email": "이메일", 227 | "password": "비밀번호", 228 | "submit": "생성", 229 | "cancel": "스토어로 돌아가기" 230 | } 231 | }, 232 | "home_page": { 233 | "onboarding": { 234 | "product_vendor": "제품 공급업체", 235 | "product_title": "제품명 예", 236 | "blog_title": "게시물 제목", 237 | "blog_excerpt": "스토어에 아직 블로그를 게시하지 않았습니다. 신제품 출시, 팁 및 고객과 공유를 원하는 기타 뉴스를 소개하기 위해 블로그를 사용할 수 있습니다. 스토어 및 블로그에 대한 아이디어 및 개선이 필요하시면 Shopify의 상거래 블로그를 확인하십시오.", 238 | "collection_title": "컬렉션 제목 예" 239 | }, 240 | "slideshow": { 241 | "previous_slide": "이전 슬라이드", 242 | "next_slide": "다음 슬라이드", 243 | "pause": "슬라이드 멈춤", 244 | "play": "슬라이드 쇼 재상", 245 | "load_slide": "{{ slide_number }} 슬라이드 로드", 246 | "active_slide": "현재 {{ slide_number }} 슬라이드", 247 | "navigation_instructions": "왼쪽 \/ 오른쪽 화살표를 사용하여 슬라이드 쇼를 탐색하거나 모바일 장치를 사용하는 경우 왼쪽 \/ 오른쪽으로 스와이프합니다." 248 | } 249 | }, 250 | "layout": { 251 | "navigation": { 252 | "menu": "메뉴" 253 | }, 254 | "cart": { 255 | "title": "카트" 256 | }, 257 | "customer": { 258 | "account": "내 계정", 259 | "log_out": "로그아웃", 260 | "log_in": "로그인", 261 | "create_account": "계정 생성", 262 | "or": "또는" 263 | }, 264 | "footer": { 265 | "blog_title": "최근 뉴스", 266 | "social_title": "우리를 팔로우하기", 267 | "social_platform": "{{ name }}({{ platform }})", 268 | "newsletter_title": "뉴스레터", 269 | "copyright": "저작권" 270 | } 271 | }, 272 | "products": { 273 | "general": { 274 | "from_html": "{{ price }}에서", 275 | "include_taxes": "세금이 포함됨", 276 | "shipping_policy_html": "결제 시 배송료<\/a> 가 계산됨", 277 | "share_title": "이 제품 공유하기" 278 | }, 279 | "product": { 280 | "sold_out": "품절", 281 | "sale": "판매", 282 | "unavailable": "사용할 수 없음", 283 | "compare_at": "비교하기", 284 | "quantity": "수량", 285 | "add_to_cart": "카트에 추가", 286 | "sale_price": "판매 가격", 287 | "regular_price": "정가", 288 | "description": "설명", 289 | "full_details": "전체 세부 정보", 290 | "unit_price_label": "단가" 291 | }, 292 | "zoom": { 293 | "next": "다음 (오른쪽 화살표 키)", 294 | "prev": "이전 (왼쪽 화살표 키)", 295 | "close": "닫기 (esc)" 296 | } 297 | }, 298 | "map": { 299 | "errors": { 300 | "address_error": "주소 찾기 오류", 301 | "address_no_results": "주소 검색 결과 없음", 302 | "address_query_limit_html": "Google API 사용 제한을 초과하였습니다. 프리미엄 플랜<\/a> 으로 업그레이드를 고려하십시오.", 303 | "auth_error_html": "Google 지도 API 키를 인증하는 중 문제가 발생했습니다." 304 | } 305 | }, 306 | "gift_cards": { 307 | "issued": { 308 | "title": "여기에 {{ shop }} 의 {{ value }} 기프트 카드가 있습니다.", 309 | "subtext": "회원님의 기프트 카드는 다음과 같습니다!", 310 | "disabled": "사용 안 함", 311 | "expired": "만료일 : {{ expiry }}", 312 | "active": "만료일 : {{ expiry }}", 313 | "redeem": "결제 시 이 코드를 사용하여 기프트 카드를 현금화하십시오", 314 | "shop_link": "쇼핑 시작", 315 | "print": "인쇄", 316 | "add_to_apple_wallet": "Apple Wallet에 추가" 317 | } 318 | } 319 | } -------------------------------------------------------------------------------- /locales/ja.json: -------------------------------------------------------------------------------- 1 | { 2 | "general": { 3 | "accessibility": { 4 | "refresh_page": "選択範囲を選択すると、ページ全体がリフレッシュされます", 5 | "unit_price_separator": "あたり", 6 | "new_window": "新しいウィンドウで開く", 7 | "new_window_and_external": "外部のウェブサイトを新しいウィンドウで開く" 8 | }, 9 | "meta": { 10 | "tags": "タグ \"{{ tags }}\"", 11 | "page": "ページ {{ page }}" 12 | }, 13 | "404": { 14 | "title": "404 Page Not Found", 15 | "subtext_html": "お探しのページが存在しません。 こちらをクリックして<\/a>買い物を続ける。" 16 | }, 17 | "password_page": { 18 | "login_form_heading": "ストアのパスワードを入力してください", 19 | "login_form_password_label": "パスワード", 20 | "login_form_password_placeholder": "あなたのパスワード", 21 | "login_form_submit": "入力する", 22 | "signup_form_email_label": "メール", 23 | "signup_form_success": "ストアがオープンする直前にメールでお知らせします!", 24 | "admin_link_html": "ストアのオーナーですか?こちらからログインする<\/a>", 25 | "password_link": "パスワードを入力してください", 26 | "powered_by_shopify_html": "このお店は{{ shopify }}を使用しています", 27 | "close": "閉じる (esc)" 28 | }, 29 | "breadcrumbs": { 30 | "home": "ホーム", 31 | "home_link_title": "フロントページに戻る" 32 | }, 33 | "newsletter_form": { 34 | "newsletter_email": "あなたのメールアドレス", 35 | "submit": "登録する", 36 | "confirmation": "ご登録ありがとうございます" 37 | }, 38 | "search": { 39 | "no_results_html": "\"{{ terms }}\"の検索に一致する商品はありませんでした。", 40 | "results_for_html": "\"{{ terms }}\"の検索結果:", 41 | "title": "商品を検索する", 42 | "placeholder": "検索する", 43 | "submit": "検索する" 44 | }, 45 | "social": { 46 | "share_on_facebook": "シェア", 47 | "share_on_twitter": "ツイート", 48 | "share_on_pinterest": "ピンする", 49 | "alt_text": { 50 | "share_on_facebook": "Facebookでシェアする", 51 | "share_on_twitter": "Twitterに投稿する", 52 | "share_on_pinterest": "Pinterestでピンする" 53 | } 54 | }, 55 | "payment": { 56 | "method": "お支払い方法" 57 | } 58 | }, 59 | "blogs": { 60 | "article": { 61 | "older_post": "投稿順", 62 | "newer_post": "新着順", 63 | "tags": "タグ", 64 | "comment_meta_html": "{{ author }} on {{ date }}", 65 | "view_all": "すべてを見る", 66 | "read_more": "続きを読む" 67 | }, 68 | "comments": { 69 | "title": "コメントを残す", 70 | "name": "名前", 71 | "email": "メール", 72 | "message": "メッセージ", 73 | "post": "コメントを投稿する", 74 | "moderated": "コメントは承認され次第、表示されます。", 75 | "success_moderated": "コメントが投稿されました。コメントはすぐに表示されるようになります。", 76 | "success": "コメントが投稿されました!ありがとうございます!" 77 | }, 78 | "sidebar": { 79 | "recent_articles": "最新の記事", 80 | "categories": "カテゴリー" 81 | } 82 | }, 83 | "cart": { 84 | "general": { 85 | "title": "お客様のカート", 86 | "remove": "削除", 87 | "note": "ストアへの特記事項", 88 | "subtotal": "小計", 89 | "savings_html": "{{ price }}を節約しました", 90 | "taxes_and_shipping_at_checkout": "税と配送料は購入手続き時に計算されます", 91 | "taxes_and_shipping_policy_at_checkout_html": "税と配送料<\/a>は購入手続き時に計算されます", 92 | "taxes_included_but_shipping_at_checkout": "税込みで配送料は購入手続き時に計算されます。", 93 | "taxes_included_and_shipping_policy_html": "税込価格。配送料<\/a>は購入手続き時に計算されます。", 94 | "update": "カートをアップデートする", 95 | "checkout": "ご購入手続きへ", 96 | "empty": "カート内に商品がありません。", 97 | "cookies_required": "カートを使うためにCookieを有効にする", 98 | "continue_browsing_html": "ショッピングを続ける<\/a>.", 99 | "continue_shopping": "買い物を続ける" 100 | }, 101 | "label": { 102 | "price": "価格", 103 | "quantity": "個数", 104 | "total": "合計", 105 | "add_note": "注文にメモを追加する" 106 | } 107 | }, 108 | "collections": { 109 | "general": { 110 | "title": "コレクション", 111 | "no_matches": "申し訳ございません。検索に一致する商品が見つかりませんでした。", 112 | "link_title": "{{ title }}のコレクションを見る" 113 | }, 114 | "sorting": { 115 | "title": "並び替え", 116 | "browse": "ブラウズ", 117 | "all_tags": "すべて" 118 | } 119 | }, 120 | "contact": { 121 | "form": { 122 | "name": "名前", 123 | "email": "メールアドレス", 124 | "phone": "電話番号", 125 | "message": "メッセージ", 126 | "send": "送信", 127 | "post_success": "お問い合わせをいただき、ありがとうございます。内容を確認後、早急にご返信させて頂きます。" 128 | } 129 | }, 130 | "customer": { 131 | "account": { 132 | "title": "私のアカウント", 133 | "details": "アカウントの詳細", 134 | "view_addresses": "住所を確認する", 135 | "return": "アカウントの詳細に戻る" 136 | }, 137 | "activate_account": { 138 | "title": "アカウントを有効にする", 139 | "subtext": "アカウントを有効にするためにパスワードを作成してください。", 140 | "password": "パスワード", 141 | "password_confirm": "パスワードを確認する", 142 | "submit": "アカウントを有効にする", 143 | "cancel": "招待を断る" 144 | }, 145 | "addresses": { 146 | "title": "あなたの住所", 147 | "add_new": "新しい住所を追加する", 148 | "edit_address": "住所を編集する", 149 | "first_name": "名", 150 | "last_name": "姓", 151 | "company": "会社名", 152 | "address1": "住所1", 153 | "address2": "住所2", 154 | "city": "市区町村", 155 | "country": "国 \/ 地域", 156 | "province": "都道府県", 157 | "zip": "郵便番号", 158 | "phone": "電話番号", 159 | "set_default": "この住所をデフォルトとして設定する", 160 | "add": "住所を追加する", 161 | "update": "住所をアップデートする", 162 | "cancel": "キャンセル", 163 | "edit": "編集", 164 | "delete": "削除", 165 | "delete_confirm": "この住所を削除してもよろしいですか?" 166 | }, 167 | "login": { 168 | "title": "ログイン", 169 | "email": "メールアドレス", 170 | "password": "パスワード", 171 | "forgot_password": "パスワードをお忘れですか?", 172 | "sign_in": "ログイン", 173 | "cancel": "ストアへ戻る", 174 | "guest_title": "ゲストとして購入", 175 | "guest_continue": "続ける" 176 | }, 177 | "orders": { 178 | "title": "注文履歴", 179 | "order_number": "注文", 180 | "date": "日付", 181 | "payment_status": "お支払い状況", 182 | "fulfillment_status": "配送状況", 183 | "total": "合計", 184 | "none": "まだ注文を確定していません。" 185 | }, 186 | "order": { 187 | "title": "注文 {{ name }}", 188 | "date": "注文の日付 {{ date }}", 189 | "cancelled": "注文がキャンセルされた日付 {{ date }}", 190 | "cancelled_reason": "キャンセルの理由: {{ reason }}", 191 | "billing_address": "請求先住所", 192 | "payment_status": "お支払いの状況", 193 | "shipping_address": "配送先住所", 194 | "fulfillment_status": "配送状況", 195 | "discount": "ディスカウント", 196 | "shipping": "送料", 197 | "tax": "税", 198 | "product": "商品", 199 | "sku": "SKU", 200 | "price": "価格", 201 | "quantity": "個数", 202 | "total": "合計", 203 | "fulfilled_at": "発送日 {{ date }}", 204 | "subtotal": "小計", 205 | "track_shipment": "荷物を追跡" 206 | }, 207 | "recover_password": { 208 | "title": "パスワードをリセットする", 209 | "email": "メールアドレス", 210 | "submit": "送信する", 211 | "cancel": "キャンセル", 212 | "subtext": "パスワードをリセットするためのメールを送ります。", 213 | "success": "パスワードを更新するためのメールを送信しました。" 214 | }, 215 | "reset_password": { 216 | "title": "アカウントのパスワードをリセットする", 217 | "subtext": "{{ email }}の新しいパスワードを入力してください", 218 | "password": "パスワード", 219 | "password_confirm": "パスワードの確認", 220 | "submit": "パスワードをリセットする" 221 | }, 222 | "register": { 223 | "title": "アカウントを作成する", 224 | "first_name": "名", 225 | "last_name": "姓", 226 | "email": "メールアドレス", 227 | "password": "パスワード", 228 | "submit": "作成する", 229 | "cancel": "ストアへ戻る" 230 | } 231 | }, 232 | "home_page": { 233 | "onboarding": { 234 | "product_vendor": "商品の販売元", 235 | "product_title": "商品名の例", 236 | "blog_title": "記事のタイトル", 237 | "blog_excerpt": "あなたはまだブログ記事を投稿していません。ブログは新商品情報やヒント、ニュースなどの情報発信に使用することができます。Shopifyのブログを確認して、ストアとブログについてのインスピレーションとアドバイスをゲットしましょう。", 238 | "collection_title": "コレクションタイトルの例" 239 | }, 240 | "slideshow": { 241 | "previous_slide": "前のスライド", 242 | "next_slide": "次のスライド", 243 | "pause": "スライドショーを一時停止する", 244 | "play": "スライドショーを再生する", 245 | "load_slide": "スライド{{ slide_number }}を読み込む", 246 | "active_slide": "スライド{{ slide_number }}、現在", 247 | "navigation_instructions": "右と左の矢印を使ってスライドショーをナビゲートするか、モバイルデバイスを使用している場合は左右にスワイプします" 248 | } 249 | }, 250 | "layout": { 251 | "navigation": { 252 | "menu": "メニュー" 253 | }, 254 | "cart": { 255 | "title": "カート" 256 | }, 257 | "customer": { 258 | "account": "自分のアカウント", 259 | "log_out": "ログアウト", 260 | "log_in": "ログイン", 261 | "create_account": "アカウントを作成する", 262 | "or": "または" 263 | }, 264 | "footer": { 265 | "blog_title": "最新のニュース", 266 | "social_title": "私たちをフォローする", 267 | "social_platform": "{{ name }} on {{ platform }}", 268 | "newsletter_title": "ニュースレター", 269 | "copyright": "Copyright" 270 | } 271 | }, 272 | "products": { 273 | "general": { 274 | "from_html": "{{ price }}から", 275 | "include_taxes": "税込", 276 | "shipping_policy_html": "配送料<\/a>は購入手続き時に計算されます。", 277 | "share_title": "この商品をシェアする" 278 | }, 279 | "product": { 280 | "sold_out": "売り切れ", 281 | "sale": "セール", 282 | "unavailable": "お取り扱いできません", 283 | "compare_at": "価格の比較", 284 | "quantity": "個数", 285 | "add_to_cart": "カートに追加する", 286 | "sale_price": "販売価格", 287 | "regular_price": "通常価格", 288 | "description": "説明", 289 | "full_details": "詳細", 290 | "unit_price_label": "単価" 291 | }, 292 | "zoom": { 293 | "next": "次へ (Right arrow key)", 294 | "prev": "前へ (Left arrow key)", 295 | "close": "閉じる (Esc)" 296 | } 297 | }, 298 | "map": { 299 | "errors": { 300 | "address_error": "住所を調べる際にエラーが発生しました", 301 | "address_no_results": "その住所は見つかりませんでした", 302 | "address_query_limit_html": "Google APIの使用量の制限を超えました。プレミアムプラン<\/a>へのアップグレードをご検討ください。", 303 | "auth_error_html": "あなたのGoogle Mapsのアカウント認証で問題が発生しました。" 304 | } 305 | }, 306 | "gift_cards": { 307 | "issued": { 308 | "title": "{{ shop }}で利用可能な{{ value }}のギフトカードです!", 309 | "subtext": "あなたのギフトカード", 310 | "disabled": "無効", 311 | "expired": "{{ expiry }}で有効期限が切れました", 312 | "active": "{{ expiry }}で有効期限が切れます", 313 | "redeem": "ギフトカードにクーポンを使うには、このコードを購入手続き時に使用してください", 314 | "shop_link": "買い物を始める", 315 | "print": "印刷する", 316 | "add_to_apple_wallet": "Apple Walletに追加する" 317 | } 318 | } 319 | } -------------------------------------------------------------------------------- /templates/customers/addresses.liquid: -------------------------------------------------------------------------------- 1 | {% paginate customer.addresses by 5 %} 2 | 3 | 9 | 10 |

    {{ 'customer.account.return' | t }}

    11 | 12 | {% comment %} 13 | Add address form, hidden by default 14 | {% endcomment %} 15 | 16 | {% form 'customer_address', customer.new_address %} 17 |
    18 |

    {{ 'customer.addresses.add_new' | t }}

    19 | {{ form.errors | default_errors }} 20 |
    21 | 22 |
    23 | 24 | 25 |
    26 | 27 |
    28 | 29 | 30 |
    31 | 32 |
    33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 |
    44 |
    45 | 46 | 47 |
    48 | 49 |
    50 | 51 | 52 |
    53 | 54 | 58 | 59 |
    60 | 61 | 62 |
    63 | 64 |
    65 | 66 | 67 |
    68 |
    69 | 70 |

    71 | {{ form.set_as_default_checkbox }} 72 | 73 |

    74 | 75 |

    76 |

    {{ 'customer.addresses.cancel' | t }}

    77 |
    78 |
    79 | {% endform %} 80 | 81 |

    {{ 'customer.addresses.title' | t }}

    82 | 83 | {% comment %} 84 | List all customer addresses with a unique edit form. 85 | Also add pagination in case they have a large number of address (unlikely) 86 | {% endcomment %} 87 | 88 | {% for address in customer.addresses %} 89 | 90 | {{ address | format_address }} 91 | 92 |

    93 | {{ 'customer.addresses.edit' | t | edit_customer_address_link: address.id }} | 94 | {{ 'customer.addresses.delete' | t | delete_customer_address_link: address.url }} 95 |

    96 | {% form 'customer_address', address %} 97 |
    98 |
    99 |

    {{ 'customer.addresses.edit_address' | t }}

    100 | {{ form.errors | default_errors }} 101 |
    102 |
    103 | 104 | 105 |
    106 | 107 |
    108 | 109 | 110 |
    111 |
    112 | 113 | 114 | 115 | 116 | 117 | 118 | 119 | 120 | 121 | 122 | 123 | 124 | 125 | 126 | 127 | 128 | 132 | 133 |
    134 |
    135 | 136 | 137 |
    138 | 139 |
    140 | 141 | 142 |
    143 |
    144 | 145 |

    146 | {{ form.set_as_default_checkbox }} 147 | 148 |

    149 | 150 |

    151 |

    {{ 'customer.addresses.cancel' | t }}

    152 | 153 |
    154 |
    155 | {% endform %} 156 | 157 | {% endfor %} 158 | 159 | {% if paginate.pages > 1 %} 160 |
    161 | {% include 'pagination-custom' %} 162 |
    163 | {% endif %} 164 | 165 | 199 | 200 | {% endpaginate %} 201 | --------------------------------------------------------------------------------