@shift72/core-template 1.2.0 → 1.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (63) hide show
  1. package/CHANGELOG.md +38 -1
  2. package/kibble.json +3 -3
  3. package/package.json +2 -2
  4. package/scripts/core-template-version.js +4 -4
  5. package/scripts/css-local-get.js +12 -5
  6. package/scripts/css-local-put.js +3 -3
  7. package/scripts/language-file-validator.js +1 -1
  8. package/scripts/translate.mjs +2 -3
  9. package/site/ar_LB.all.json +124 -10
  10. package/site/ca_ES.all.json +78 -8
  11. package/site/da_DK.all.json +80 -10
  12. package/site/de_DE.all.json +78 -8
  13. package/site/el_EL.all.json +83 -4
  14. package/site/en_AU.all.json +83 -4
  15. package/site/es_ES.all.json +87 -4
  16. package/site/es_MX.all.json +89 -6
  17. package/site/et_ET.all.json +77 -7
  18. package/site/fi_FI.all.json +81 -2
  19. package/site/fr_FR.all.json +88 -5
  20. package/site/hr_HR.all.json +93 -9
  21. package/site/hu_HU.all.json +77 -7
  22. package/site/it_IT.all.json +87 -4
  23. package/site/ja_JP.all.json +71 -0
  24. package/site/lt_LT.all.json +104 -3
  25. package/site/manifest.json.jet +4 -2
  26. package/site/nl_BE.all.json +79 -0
  27. package/site/no_NO.all.json +84 -5
  28. package/site/pl_PL.all.json +104 -3
  29. package/site/plans.html.jet +12 -2
  30. package/site/pt_BR.all.json +87 -4
  31. package/site/pt_PT.all.json +86 -3
  32. package/site/ru_RU.all.json +105 -4
  33. package/site/search.html.jet +3 -1
  34. package/site/sr_SR.all.json +93 -3
  35. package/site/static/js/main.js +1 -0
  36. package/site/static/scripts/main.js.map +1 -1
  37. package/site/styles/_awards.scss +1 -0
  38. package/site/styles/_buttons.scss +20 -10
  39. package/site/styles/_carousel.scss +7 -3
  40. package/site/styles/_cookie-consent.scss +1 -0
  41. package/site/styles/_footer.scss +10 -31
  42. package/site/styles/_forms.scss +11 -0
  43. package/site/styles/_icons.scss +1 -0
  44. package/site/styles/_meta-detail.scss +27 -28
  45. package/site/styles/_mixins.scss +23 -1
  46. package/site/styles/_nav.scss +49 -65
  47. package/site/styles/_share-modal.scss +12 -7
  48. package/site/styles/_shopping.scss +5 -0
  49. package/site/styles/_typography.scss +72 -14
  50. package/site/styles/_variables.scss +93 -46
  51. package/site/subscriptions.html.jet +1 -1
  52. package/site/templates/application/application.jet +10 -12
  53. package/site/templates/application/brand/logo.jet +11 -0
  54. package/site/templates/application/brand/sponsors.jet +11 -0
  55. package/site/templates/application/footer/brand.jet +3 -1
  56. package/site/templates/application/footer/sponsor-banner.jet +3 -3
  57. package/site/templates/application/head/seo.jet +1 -1
  58. package/site/templates/application/nav/nav.jet +5 -4
  59. package/site/templates/collection/carousel/carousel.jet +4 -1
  60. package/site/templates/collection/carousel/item.jet +3 -1
  61. package/site/tr_TR.all.json +83 -4
  62. package/site/uk_UA.all.json +105 -4
  63. package/site/zh_TW.all.json +73 -2
@@ -4,35 +4,85 @@
4
4
  // These variables should be reasonably generic so that overrides are placed in main.scss.
5
5
 
6
6
  :root {
7
+ /*#region BASE COLOURS */
8
+ // Don't put derivative colour variables in this region.
9
+
7
10
  --primary-rgb: 0, 163, 255;
8
11
  --secondary-rgb: 102, 199, 255;
9
12
  --body-color-rgb: 255, 255, 255;
10
- --body-bg-rgb: 15, 15, 15;
11
- --body-bg-accent-rgb: 25, 25, 25; // darken(body-bg, 10%) OR lighten(body-bg, 10%)
12
- --link-color-hover-rgb: 217, 217, 217; // darken(body-color, 15%)
13
- --input-focus-border-color-rgb: 131, 210, 216; // lighten(primary, 25%)
14
- --main-content-icon-hover-rgb: 207, 207, 207; // white .8 opacity
13
+ --body-bg-rgb: 0, 0, 0;
14
+
15
+ // To calculate --body-color-hover-rgb, do:
16
+ // 1. Convert var(--body-color-rgb) to hex.
17
+ // 2a. If dark themed, run it through the Sass darken function: darken(hex, 20%).
18
+ // 2b. If light themed, run it through the Sass lighten function: lighten(hex, 20%).
19
+ // 3. Convert the result back to RGB.
20
+ // TODO(jackh): figure out a non-Sass way of calculating this.
21
+ --body-color-hover-rgb: 204, 204, 204;
22
+
23
+ // To calculate --input-focus-border-color-rgb, do:
24
+ // 1. Convert var(--body-bg) to hex.
25
+ // 2a. If dark themed, run it through the Sass lighten function: lighten(hex, 10%).
26
+ // 2b. If light themed, run it through the Sass darken function: darken(hex, 10%).
27
+ // 3. Convert the result back to RGB.
28
+ // TODO(jackh): figure out a non-Sass way of calculating this.
29
+ --body-bg-accent-rgb: 25, 25, 25;
30
+
31
+ // To calculate --input-focus-border-color-rgb, do:
32
+ // 1. Convert var(--primary-rgb) to hex.
33
+ // 2. Run it through the Sass lighten function: lighten(hex, 25%).
34
+ // 3. Convert the result back to RGB.
35
+ // TODO(jackh): figure out a non-Sass way of calculating this.
36
+ --input-focus-border-color-rgb: 131, 210, 216;
37
+
38
+ // To calculate --hover-background-rgb, do:
39
+ // 1. Convert var(--body-bg-accent-rgb) to hex.
40
+ // 2a. If dark themed, run it through the Sass lighten function: lighten(hex, 13%).
41
+ // 2b. If light themed, run it through the Sass darken function: darken(hex, 13%).
42
+ // 3. Convert the result back to RGB.
43
+ // TODO(jackh): figure out a non-Sass way of calculating this.
44
+ --hover-background-rgb: 58, 58, 58;
15
45
 
16
46
  --primary: rgb(var(--primary-rgb));
17
47
  --secondary: rgb(var(--secondary-rgb));
18
48
  --body-color: rgb(var(--body-color-rgb));
49
+ --body-color-hover: rgb(var(--body-color-hover-rgb));
19
50
  --body-bg: rgb(var(--body-bg-rgb));
20
51
  --body-bg-accent: rgb(var(--body-bg-accent-rgb));
21
- --link-color: var(--body-color);
22
- --link-color-hover: rgb(var(--link-color-hover-rgb));
23
52
  --input-focus-border-color: rgb(var(--input-focus-border-color-rgb));
24
- --main-content-icon-hover: rgb(var(--main-content-icon-hover-rgb));
53
+ --hover-background: rgb(var(--hover-background-rgb));
54
+ /*#endregion BASE COLOURS */
55
+
25
56
  --tooltip-color: var(--body-bg, #000);
26
57
  --tooltip-bg: var(--primary, #00a3ff);
27
58
  --tooltip-arrow-color: var(--tooltip-bg);
28
59
 
29
60
  --input-height: 40px;
30
61
 
31
- --navbar-brand-padding-y: 25px;
32
- --navbar-brand-min-width: 126px;
33
- --navbar-brand-min-width-md: 126px;
34
- --navbar-brand-min-width-lg: 126px;
35
- --navbar-brand-min-width-xl: 126px;
62
+ --link-color: var(--body-color);
63
+ --link-color-hover: var(--body-color-hover);
64
+
65
+ --navbar-link-color: var(--body-color);
66
+ --navbar-link-hover-color: var(--body-color-hover);
67
+ --navbar-search-background-color: var(--body-bg-accent);
68
+ --navbar-dropdown-background: var(--body-bg-accent);
69
+ --navbar-brand-height: 50px;
70
+
71
+ --footer-brand-height: 50px;
72
+
73
+ --signin-text-color: var(--body-color);
74
+ --signin-text-color-hover: var(--body-color-hover);
75
+ --signin-border-color: transparent;
76
+ --signin-border-color-hover: transparent;
77
+ --signin-background: rgba(var(--body-color-rgb), 0.1);
78
+ --signin-background-hover: var(--hover-background);
79
+ --signin-background-lg: transparent;
80
+ --signin-background-hover-lg: transparent;
81
+
82
+ --signout-background: rgba(var(--body-color-rgb), 0.1);
83
+ --signout-background-hover: rgba(var(--body-color-rgb), 0.2);
84
+ --signout-text-color: var(--body-color);
85
+ --signout-text-color-hover: var(--body-color);
36
86
 
37
87
  --carousel-height: 75vh;
38
88
  --carousel-height-sm: 75vh;
@@ -47,9 +97,36 @@
47
97
  --page-padding-top: 120px;
48
98
  --page-padding-top-md: 120px;
49
99
  --page-padding-top-lg: 180px;
50
- --page-detail-padding-top: 120px;
51
- --page-detail-padding-top-md: 120px;
52
- --page-detail-padding-top-lg: 180px;
100
+ --page-detail-padding-top: 245px;
101
+ --page-detail-padding-top-md: 290px;
102
+ --page-detail-padding-top-lg: 440px;
103
+
104
+ --heading-1-style-letter-spacing: normal;
105
+ --heading-2-style-letter-spacing: normal;
106
+ --heading-3-style-letter-spacing: normal;
107
+ --heading-3-style-letter-spacing-sm: normal;
108
+ --heading-4-style-letter-spacing: normal;
109
+ --body-1-style-letter-spacing: normal;
110
+ --body-2-style-letter-spacing: normal;
111
+ --subtitle-1-style-letter-spacing: normal;
112
+ --subtitle-2-style-letter-spacing: normal;
113
+ --caption-1-style-letter-spacing: normal;
114
+ --overline-style-letter-spacing: normal;
115
+
116
+ --heading-1-style-font-size: 32px;
117
+ --heading-1-style-font-size-xs: 46px;
118
+ --heading-1-style-font-size-small: 24px;
119
+ --heading-2-style-font-size: 29px;
120
+ --heading-2-style-font-size-sm: 35px;
121
+ --heading-3-style-font-size: 20px;
122
+ --heading-3-style-font-size-sm: 24px;
123
+ --heading-4-style-font-size: 18px;
124
+ --body-1-style-font-size: 16px;
125
+ --body-2-style-font-size: 14px;
126
+ --subtitle-1-style-font-size: 16px;
127
+ --subtitle-2-style-font-size: 14px;
128
+ --caption-1-style-font-size: 16px;
129
+ --overline-style-font-size: 14px;
53
130
  }
54
131
 
55
132
  // Bootstrap 4 overrides START
@@ -133,19 +210,12 @@ $navbar-show-background-color: var(--body-bg-accent) !default;
133
210
  $navbar-dark-active-color: var(--primary) !default;
134
211
  $navbar-nav-link-padding-x: 1em !default;
135
212
  $navbar-nav-link-padding-y: 1em !default;
136
- $navbar-search-background-color: var(--body-bg-accent) !default;
137
213
 
138
214
  // Uses navbar-dark theme so we can use variables for colouring
139
215
  $navbar-dark-active-color: #fd4766 !default;
140
216
  $navbar-dark-color: var(--body-color) !default;
141
217
  $navbar-dark-hover-color: #fd4766 !default;
142
218
 
143
- // Sub Navivgation
144
- $subnav-nav-item-color: var(--body-color) !default;
145
- $subnav-nav-item-hover-background-color: var(--primary) !default;
146
- $subnav-nav-item-active-background-color: var(--primary) !default;
147
- $subnav-dropdown-background: var(--body-bg-accent) !default;
148
-
149
219
  // Buttons
150
220
  $button-text-color: var(--body-bg) !default;
151
221
  $button-text-color-hover: var(--body-bg) !default;
@@ -154,15 +224,6 @@ $button-background-hover: var(--secondary) !default;
154
224
  $trailer-button-text-color: var(--body-color) !default;
155
225
  $mobile-nav-link-color: var(--body-color) !default;
156
226
 
157
- $signin-text-color: var(--body-color) !default;
158
- $signin-text-color-hover: var(--primary) !default;
159
- $signin-border-color: transparent !default;
160
- $signin-border-color-hover: transparent !default;
161
- $signin-background: rgba(var(--body-color-rgb), 0.1) !default;
162
- $signin-background-hover: rgba(var(--body-color-rgb), 0.2) !default;
163
- $signin-background-lg: transparent !default;
164
- $signin-background-hover-lg: transparent !default;
165
-
166
227
  $signup-text-color: $button-text-color !default;
167
228
  $signup-text-color-hover: $button-text-color-hover !default;
168
229
  $signup-border-color: transparent !default;
@@ -170,11 +231,6 @@ $signup-border-color-hover: transparent !default;
170
231
  $signup-background: $button-background !default;
171
232
  $signup-background-hover: $button-background-hover !default;
172
233
 
173
- $signout-background: rgba(var(--body-color-rgb), 0.1) !default;
174
- $signout-background-hover: rgba(var(--body-color-rgb), 0.2) !default;
175
- $signout-text-color: var(--body-color) !default;
176
- $signout-text-color-hover: var(--body-color) !default;
177
-
178
234
  // Image Gradient Overlays
179
235
  $top-gradient-color: var(--body-bg-rgb) !default;
180
236
  $right-gradient-bg-color: var(--body-bg-rgb) !default;
@@ -189,15 +245,6 @@ $footer-brand-min-width: 100px !default;
189
245
  $footer-brand-min-width-md: 100px !default;
190
246
  $footer-bar-background-color: var(--body-bg-accent) !default;
191
247
 
192
- // Social
193
- // ------------------------------------
194
- $facebook-color: var(--body-color) !default;
195
- $instagram-color: var(--body-color) !default;
196
- $twitter-color: var(--body-color) !default;
197
- $youtube-color: var(--body-color) !default;
198
- $linkedin-color: var(--body-color) !default;
199
- $letterboxd-color: var(--body-color) !default;
200
-
201
248
  // Meta Items
202
249
  // ------------------------------------
203
250
  $meta-item-border-radius: 4px !default;
@@ -1,7 +1,7 @@
1
1
  {{extends "templates/application/application.jet"}}
2
2
 
3
3
  {{block head()}}
4
- {{yield seo(title=i18n("usersubscriptions_page_header"), index=false)}}
4
+ {{yield seo(title=i18n("usersubscriptions_page_header_seo"), index=false)}}
5
5
  {{end}}
6
6
 
7
7
  {{block body()}}
@@ -4,14 +4,11 @@
4
4
  {{import "./google.jet" }}
5
5
  {{import "./footer/footer.jet" }}
6
6
 
7
- {{CDN := "//cdn.shift72.com/1.3"}}
7
+ {{CDN := "//cdn.shift72.com/latest"}}
8
8
  {*{CDN := "//localhost:3000"}*}
9
9
 
10
- {{CSSFilename := ""}}
11
- {{if isEnabled("self_service_css") && site.CSSFilename != "" }}
12
- {{CSSFilename = site.CSSFilename}}
13
- {{end}}
14
- {*{CSSFilename = "local.css"}*}
10
+ {{CSSFileURL := site.SiteBrand.GetLink("css", "")}}
11
+ {*{CSSFileURL := "/styles/local.css"}*}
15
12
 
16
13
  <!DOCTYPE html>
17
14
  <html lang="{{lang.Code}}">
@@ -34,22 +31,23 @@
34
31
 
35
32
  {{yield font()}}
36
33
  <link rel="stylesheet" href="/styles/main.css">
37
- {{if CSSFilename != "" }}
38
- <link rel="stylesheet" href="/styles/{{CSSFilename}}">
34
+ {{if CSSFileURL != "" }}
35
+ <link rel="stylesheet" href="{{CSSFileURL}}">
39
36
  {{end}}
40
37
 
41
- <link rel="shortcut icon" href="/favicon.ico" type="image/x-icon">
42
- <link rel="icon" href="/favicon.ico" type="image/x-icon">
38
+ {{faviconURL := site.SiteBrand.GetImage("favicon", "/favicon.ico")}}
39
+ <link rel="shortcut icon" href="{{faviconURL}}" type="image/x-icon">
40
+ <link rel="icon" href="{{faviconURL}}" type="image/x-icon">
43
41
 
44
42
  {{block head()}}
45
43
  {{yield seo()}}
46
44
  {{end}}
47
45
 
48
- <script src="https://cdn.polyfill.io/v2/polyfill.min.js?features=default,fetch" defer></script>
46
+ <script src="https://polyfill.io/v3/polyfill.min.js?features=Intl%2Cdefault%2Cfetch" defer></script>
49
47
  <script src="{{CDN}}/s72.core.js" defer></script>
50
48
  <script src="{{CDN}}/s72.ui.js" defer></script>
51
49
 
52
- <script src="/scripts/main.js" defer></script>
50
+ <script src="/scripts/main.js" defer></script>
53
51
 
54
52
  <script src="{{CDN}}/s72.transactional.js" defer></script>
55
53
  <script src="https://js.stripe.com/v3/" defer></script>
@@ -0,0 +1,11 @@
1
+ {{block logo(class="")}}
2
+ {{logo1x := site.SiteBrand.GetImage("logo@1x", "/images/common/logo.png")}}
3
+ {{logo2x := site.SiteBrand.GetImage("logo@2x", "/images/common/logo@2x.png")}}
4
+ {{siteName := site.Config.GetSiteName()}}
5
+
6
+ <img class="{{class}}"
7
+ srcset="{{logo1x}} 300w, {{logo2x}} 600w"
8
+ sizes="(max-width: 768px) 300px, 600px"
9
+ src="{{logo2x}}"
10
+ alt="{{siteName}}">
11
+ {{end}}
@@ -0,0 +1,11 @@
1
+ {{block sponsors(class="")}}
2
+ {{sponsorsXXXS := site.SiteBrand.GetImage("sponsors-xxxs", "/images/common/sponsors-xxxs.png")}}
3
+ {{sponsorsXS := site.SiteBrand.GetImage("sponsors-xs", "/images/common/sponsors-xs.png")}}
4
+ {{sponsorsMD := site.SiteBrand.GetImage("sponsors-md", "/images/common/sponsors-md.png")}}
5
+
6
+ <picture class="{{class}}">
7
+ <source class="sponsor-image" srcset="{{sponsorsMD}}" media="(min-width: 768px)">
8
+ <source class="sponsor-image" srcset="{{sponsorsXS}}" media="(min-width: 475px)">
9
+ <img class="sponsor-image" src="{{sponsorsXXXS}}">
10
+ </picture>
11
+ {{end}}
@@ -1,5 +1,7 @@
1
+ {{import "../brand/logo.jet"}}
2
+
1
3
  {{block footerBrand()}}
2
4
  <a class="footer-brand-link" href="{{routeToPath("/")}}" aria-label="{{site.Config.GetSiteName()}}">
3
- <s72-image class="footer-brand-image" src="/images/common/logo.png" alt="{{site.Config.GetSiteName()}}"></s72-image>
5
+ {{yield logo(class="footer-brand-image")}}
4
6
  </a>
5
7
  {{end}}
@@ -1,9 +1,9 @@
1
+ {{import "../brand/sponsors.jet"}}
2
+
1
3
  {{block sponsorBanner()}}
2
4
  {{if config("show_sponsor_banner") == "true"}}
3
5
  <div class="sponsor-banner">
4
- <s72-image class="sponsors-xxxs" src="/images/common/sponsors-xxxs.png"></s72-image>
5
- <s72-image class="sponsors-xs" src="/images/common/sponsors-xs.png"></s72-image>
6
- <s72-image class="sponsors-md" src="/images/common/sponsors-md.png"></s72-image>
6
+ {{yield sponsors(class="sponsor-picture")}}
7
7
  </div>
8
8
  {{end}}
9
9
  {{end}}
@@ -9,7 +9,7 @@
9
9
  {{end}}
10
10
 
11
11
  {* Set this to be a local file path to have a default SEO sharing image e.g. "/images/common/logo.png" *}
12
- {{seoImage := site.SiteConfig.SiteURL + "/images/common/facebook-image.png"}}
12
+ {{seoImage := site.SiteBrand.GetImage("facebook-image", site.SiteConfig.SiteURL + "/images/common/facebook-image.png")}}
13
13
  {{if isset(.Seo) && len(.Seo.Image) > 0}}
14
14
  {{seoImage = .Seo.Image}}
15
15
  {{end}}
@@ -1,16 +1,17 @@
1
1
  {{import "./user_logged_out.jet"}}
2
2
  {{import "./user_logged_in.jet"}}
3
3
  {{import "./header-banner.jet"}}
4
+ {{import "../brand/logo.jet"}}
4
5
 
5
6
  {{block nav(showSubNav=true)}}
6
7
  <header class="navigation" data-toggle="affix">
7
8
  {{yield headerBanner()}}
8
9
  <div class="navbar-brand-container-tablet">
9
- <a class="navbar-brand" href="{{routeToPath("/")}}">{{site.Config.GetSiteName()}}</a>
10
+ <a class="navbar-brand-logo" href="{{routeToPath("/")}}">{{yield logo()}}</a>
10
11
  </div>
11
12
  <div class="navbar" aria-label="{{i18n("wcag_aria_label_nav_main")}}">
12
13
  <div class="navbar-brand-container">
13
- <a class="navbar-brand" href="{{routeToPath("/")}}">{{site.Config.GetSiteName()}}</a>
14
+ <a class="navbar-brand-logo" href="{{routeToPath("/")}}">{{yield logo()}}</a>
14
15
  </div>
15
16
 
16
17
  {{if config("search_disabled") != "true"}}
@@ -18,8 +19,8 @@
18
19
  <button type="button" class="btn-search-open" aria-label="open search" tabindex="-1">
19
20
  <i class="fa fa-search search-icon"></i>
20
21
  </button>
21
- <input class="form-control form-control-search" type="search" placeholder="{{i18n("search_control_placeholder")}}" name="q" aria-label="{{i18n("search_control_placeholder")}}">
22
- <button class="sr-only" type="submit">{{i18n("search_control_submit")}}</button>
22
+ <input class="form-control form-control-search" type="search" placeholder="{{i18n("nav_search_control_placeholder")}}" name="q" aria-label="{{i18n("nav_search_control_placeholder")}}">
23
+ <button class="sr-only" type="submit">{{i18n("nav_search_control_sr_submit")}}</button>
23
24
  <button type="button" class="btn-search-close" aria-label="close search" tabindex="-1">
24
25
  <i class="fa fa-times"></i>
25
26
  </button>
@@ -8,8 +8,11 @@
8
8
  {{end}}
9
9
  {{items := .Items[0:maxSlides]}}
10
10
 
11
+ {{playSpeed := config("carousel_play_speed")}}
12
+ {{fadeTime := config("carousel_fade_time")}}
13
+
11
14
  {{if len(items) > 0}}
12
- <s72-carousel>
15
+ <s72-carousel play-speed="{{playSpeed}}" fade-time="{{fadeTime}}">
13
16
  <section class="page-collection page-collection-carousel" aria-label="{{i18n("wcag_aria_label_carousel")}}">
14
17
  <h2 class="sr-only">{{i18n("wcag_carousel_h2")}}</h2>
15
18
 
@@ -33,9 +33,11 @@
33
33
  {{yield carouselItemSynopsis(synopsis=item.InnerItem.Tagline)}}
34
34
  {{end}}
35
35
 
36
+ <s72-availability-label data-slug="{{item.Slug}}"></s72-availability-label>
37
+
36
38
  {{yield ctaButtons(itemType=item.ItemType) item.InnerItem}}
37
39
 
38
- <s72-availability-label data-slug="{{item.Slug}}"></s72-availability-label>
40
+
39
41
  </div>
40
42
  </div>
41
43
  {{end}}
@@ -551,10 +551,10 @@
551
551
  "other": "İlginiz için teşekkür ederiz."
552
552
  },
553
553
  "shopping_error_incorrect_cvc": {
554
- "other": "Lütfen geçerli bir CVV girin."
554
+ "other": "Lütfen geçerli bir CVC girin."
555
555
  },
556
556
  "shopping_error_invalid_cvc": {
557
- "other": "Lütfen geçerli bir CVV girin."
557
+ "other": "Lütfen geçerli bir CVC girin."
558
558
  },
559
559
  "shopping_error_incorrect_number": {
560
560
  "other": "Lütfen geçerli bir Kredi Kart Numarası girin."
@@ -631,6 +631,9 @@
631
631
  "shopping_error_payment_intent_authentication_failure": {
632
632
  "other": "Kredi Kartınız reddedildi. Lütfen tekrar deneyin."
633
633
  },
634
+ "shopping_error_card_not_supported": {
635
+ "other": "Kartınız desteklenmiyor."
636
+ },
634
637
  "shopping_complete_rental": {
635
638
  "other": "Başardınız!"
636
639
  },
@@ -980,7 +983,7 @@
980
983
  "other": "Hüküm ve şartları kabul etmelisiniz."
981
984
  },
982
985
  "shopping_error_item_limit_exceeded": {
983
- "other": " Ne yazık ki{{.Title}} tükendi. ."
986
+ "other": " Ne yazık ki{{.Title}} tükendi."
984
987
  },
985
988
  "shopping_card_change": {
986
989
  "other": "Kredi kartı doğru değil? <a href=\"{{.SubscriptionsURL}}\">Kartınızı güncellemek için buraya tıklayın.</a>"
@@ -1005,7 +1008,7 @@
1005
1008
  "other": "Her Ücretli {{.Interval}} sizin sonra {{.Count}} günlük ücretsiz deneme sürümü bitmeden."
1006
1009
  },
1007
1010
  "shopping_price_plan_note_without_trial": {
1008
- "other": "Her {{.Interval}} ."
1011
+ "other": "Her {{.Interval}}."
1009
1012
  },
1010
1013
  "shopping_price_plan_note_interval": {
1011
1014
  "one": "{{.Interval}}",
@@ -1331,7 +1334,83 @@
1331
1334
  "pricing_ownership_promo": {
1332
1335
  "other": "Tazmin etmek"
1333
1336
  },
1337
+ "subscription_cta_label": {
1338
+ "other": "Abone olmak {{.Price}}/{{.Recurrence}}"
1339
+ },
1340
+ "subscription_recurrence_year": {
1341
+ "one": "Yıl",
1342
+ "other": "{{.Count}} yıllar"
1343
+ },
1344
+ "subscription_recurrence_month": {
1345
+ "one": "Ay",
1346
+ "other": "{{.Count}} ay"
1347
+ },
1348
+ "subscription_recurrence_week": {
1349
+ "one": "Hafta",
1350
+ "other": "{{.Count}} Haftalar"
1351
+ },
1352
+ "subscription_recurrence_day": {
1353
+ "one": "Gün",
1354
+ "other": "{{.Count}} Günler"
1355
+ },
1334
1356
  "shopping_info_ownership_subscription": {
1335
1357
  "other": "abonelik"
1358
+ },
1359
+ "something_bad_happened": {
1360
+ "other": "Lütfen tekrar deneyin"
1361
+ },
1362
+ "stripe_card_not_supported": {
1363
+ "other": "Kartınız desteklenmiyor."
1364
+ },
1365
+ "nav_search_control_placeholder": {
1366
+ "other": "Arama"
1367
+ },
1368
+ "nav_search_control_sr_submit": {
1369
+ "other": "Aramayı gönder"
1370
+ },
1371
+ "shopping_info_plan_interval": {
1372
+ "one": "{{.Interval}} otomatik olarak yeniler",
1373
+ "other": "Otomatik olarak her yeniler {{.Count}} {{.Interval}}"
1374
+ },
1375
+ "shopping_info_trial_period": {
1376
+ "one": "24 saatlik ücretsiz denemenizi şimdi deneyin!",
1377
+ "other": "Ücretsiz {{.Count}} günlük denemenizi deneyin!"
1378
+ },
1379
+ "usersubscriptions_page_header_seo": {
1380
+ "other": "Abonelikler ve Faturalandırma"
1381
+ },
1382
+ "usersubscriptions_subscription_status_past_due": {
1383
+ "other": "vadesi geçmiş"
1384
+ },
1385
+ "usersubscriptions_subscription_status_unpaid": {
1386
+ "other": "ödenmemiş"
1387
+ },
1388
+ "usersubscriptions_subscription_status_cancelled": {
1389
+ "other": "İptal edildi"
1390
+ },
1391
+ "usersubscriptions_subscription_status_cancelling": {
1392
+ "other": "İptal"
1393
+ },
1394
+ "interval_day": {
1395
+ "one": "gün",
1396
+ "other": "günler"
1397
+ },
1398
+ "interval_week": {
1399
+ "one": "hafta",
1400
+ "other": "haftalar"
1401
+ },
1402
+ "interval_month": {
1403
+ "one": "ay",
1404
+ "other": "aylar"
1405
+ },
1406
+ "interval_year": {
1407
+ "one": "yıl",
1408
+ "other": "yıllar"
1409
+ },
1410
+ "shopping_error_processing_error": {
1411
+ "other": "Kartınız işlenirken bir hata oluştu. Daha sonra veya farklı bir ödeme yöntemiyle tekrar deneyin."
1412
+ },
1413
+ "shopping_error_invalid_session_token": {
1414
+ "other": "Alışveriş oturumunun süresi doldu, lütfen tekrar deneyin."
1336
1415
  }
1337
1416
  }
@@ -615,10 +615,10 @@
615
615
  "other": "Сталася помилка."
616
616
  },
617
617
  "shopping_error_incorrect_cvc": {
618
- "other": "Будь ласка, введіть дійсний CVV."
618
+ "other": "Будь ласка, введіть дійсний CVC."
619
619
  },
620
620
  "shopping_error_invalid_cvc": {
621
- "other": "Будь ласка, введіть дійсний CVV."
621
+ "other": "Будь ласка, введіть дійсний CVC."
622
622
  },
623
623
  "shopping_error_incorrect_number": {
624
624
  "other": "Будь ласка, введіть дійсний номер банківської картки."
@@ -695,6 +695,9 @@
695
695
  "shopping_error_payment_intent_authentication_failure": {
696
696
  "other": "Банківську картку відхилено. Спробуйте ще раз."
697
697
  },
698
+ "shopping_error_card_not_supported": {
699
+ "other": "Ваша картка не підтримується."
700
+ },
698
701
  "shopping_complete_rental": {
699
702
  "other": "Успішно!"
700
703
  },
@@ -1125,7 +1128,7 @@
1125
1128
  "other": "Заряджені кожен {{.Interval}} після вашого {{.Count}} дня закінчується безкоштовно суд."
1126
1129
  },
1127
1130
  "shopping_price_plan_note_without_trial": {
1128
- "other": "Стягується через кожний {{.Interval}} ."
1131
+ "other": "Стягується через кожний {{.Interval}}."
1129
1132
  },
1130
1133
  "shopping_price_plan_note_interval": {
1131
1134
  "one": "{{.Interval}}",
@@ -1154,7 +1157,9 @@
1154
1157
  },
1155
1158
  "shopping_info_trial_period_offer": {
1156
1159
  "one": "Спробуйте безкоштовну 24-годинну пробну версію зараз!",
1157
- "other": "Спробуйте безкоштовну пробну версію {{.Count}}"
1160
+ "few": "Спробуйте {{.Count}}-денну безкоштовну пробну версію!",
1161
+ "many": "Спробуйте {{.Count}}-денну безкоштовну пробну версію!",
1162
+ "other": "Спробуйте {{.Count}}-денну безкоштовну пробну версію!"
1158
1163
  },
1159
1164
  "plans_page_header": {
1160
1165
  "other": "Доступні плани"
@@ -1363,7 +1368,103 @@
1363
1368
  "pricing_ownership_promo": {
1364
1369
  "other": "Викупити"
1365
1370
  },
1371
+ "subscription_cta_label": {
1372
+ "other": "Підпишіться {{.Price}}/{{.Recurrence}}"
1373
+ },
1374
+ "subscription_recurrence_year": {
1375
+ "one": "рік",
1376
+ "few": "{{.Count}} років",
1377
+ "many": "{{.Count}} років",
1378
+ "other": "{{.Count}} років"
1379
+ },
1380
+ "subscription_recurrence_month": {
1381
+ "one": "місяць",
1382
+ "few": "{{.Count}} Місяці",
1383
+ "many": "{{.Count}} Місяці",
1384
+ "other": "{{.Count}} Місяці"
1385
+ },
1386
+ "subscription_recurrence_week": {
1387
+ "one": "тиждень",
1388
+ "few": "{{.Count}} тижнів",
1389
+ "many": "{{.Count}} тижнів",
1390
+ "other": "{{.Count}} тижнів"
1391
+ },
1392
+ "subscription_recurrence_day": {
1393
+ "one": "День",
1394
+ "few": "{{.Count}} днів",
1395
+ "many": "{{.Count}} днів",
1396
+ "other": "{{.Count}} днів"
1397
+ },
1366
1398
  "shopping_info_ownership_subscription": {
1367
1399
  "other": "Підписка"
1400
+ },
1401
+ "something_bad_happened": {
1402
+ "other": "Будь ласка спробуйте ще раз"
1403
+ },
1404
+ "stripe_card_not_supported": {
1405
+ "other": "Ваша картка не підтримується."
1406
+ },
1407
+ "nav_search_control_placeholder": {
1408
+ "other": "Пошук"
1409
+ },
1410
+ "nav_search_control_sr_submit": {
1411
+ "other": "Шукати"
1412
+ },
1413
+ "shopping_info_plan_interval": {
1414
+ "one": "Автоматично поновлюється через кожний {{.Interval}}",
1415
+ "few": "Автоматично оновлює кожні {{.Count}} {{.Interval}} сек",
1416
+ "many": "Автоматично оновлює кожні {{.Count}} {{.Interval}} сек",
1417
+ "other": "Автоматично оновлює кожні {{.Count}} {{.Interval}} сек"
1418
+ },
1419
+ "shopping_info_trial_period": {
1420
+ "one": "Спробуйте безкоштовну 24-годинну пробну версію зараз!",
1421
+ "few": "Спробуйте {{.Count}}-денну безкоштовну пробну версію!",
1422
+ "many": "Спробуйте {{.Count}}-денну безкоштовну пробну версію!",
1423
+ "other": "Спробуйте {{.Count}}-денну безкоштовну пробну версію!"
1424
+ },
1425
+ "usersubscriptions_page_header_seo": {
1426
+ "other": "Підписки та виставлення рахунків"
1427
+ },
1428
+ "usersubscriptions_subscription_status_past_due": {
1429
+ "other": "Прострочено"
1430
+ },
1431
+ "usersubscriptions_subscription_status_unpaid": {
1432
+ "other": "Неоплачений"
1433
+ },
1434
+ "usersubscriptions_subscription_status_cancelled": {
1435
+ "other": "Скасовано"
1436
+ },
1437
+ "usersubscriptions_subscription_status_cancelling": {
1438
+ "other": "Скасування"
1439
+ },
1440
+ "interval_day": {
1441
+ "one": "день",
1442
+ "few": "днів",
1443
+ "many": "днів",
1444
+ "other": "днів"
1445
+ },
1446
+ "interval_week": {
1447
+ "one": "тиждень",
1448
+ "few": "тижнів",
1449
+ "many": "тижнів",
1450
+ "other": "тижнів"
1451
+ },
1452
+ "interval_month": {
1453
+ "one": "місяць",
1454
+ "few": "місяців",
1455
+ "many": "місяців",
1456
+ "other": "місяців"
1457
+ },
1458
+ "interval_year": {
1459
+ "one": "рік",
1460
+ "few": "років",
1461
+ "many": "років",
1462
+ "other": "років"
1463
+ },
1464
+ "shopping_error_processing_error": {
1465
+ "other": "Під час обробки вашої картки сталася помилка. Спробуйте пізніше або іншим способом оплати."
1466
+ },
1467
+ "shopping_error_invalid_session_token": {
1468
+ "other": "Сеанс покупки закінчився, повторіть спробу."
1368
1469
  }
1369
1470
  }