@shift72/core-template 1.2.0 → 1.4.0

Sign up to get free protection for your applications and to get access to all the features.
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
  }