@shift72/core-template 0.4.0 → 0.4.3

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 (76) hide show
  1. package/CHANGELOG.md +33 -3
  2. package/kibble.json +2 -2
  3. package/package.json +7 -4
  4. package/scripts/css-local-get.js +34 -0
  5. package/scripts/css-local-put.js +110 -0
  6. package/scripts/language-file-validator.js +16 -2
  7. package/site/ar_LB.all.json +22 -18
  8. package/site/ca_ES.all.json +16 -32
  9. package/site/da_DK.all.json +47 -32
  10. package/site/de_DE.all.json +130 -2
  11. package/site/ee_EE.all.json +90 -23
  12. package/site/el_EL.all.json +89 -18
  13. package/site/en_AU.all.json +27 -24
  14. package/site/es_ES.all.json +129 -3
  15. package/site/es_MX.all.json +165 -3
  16. package/site/fi_FI.all.json +164 -2
  17. package/site/fr_FR.all.json +131 -3
  18. package/site/hr_HR.all.json +64 -5
  19. package/site/hu_HU.all.json +90 -23
  20. package/site/it_IT.all.json +127 -3
  21. package/site/ja_JP.all.json +163 -3
  22. package/site/lt_LT.all.json +50 -15
  23. package/site/nl_BE.all.json +53 -16
  24. package/site/no_NO.all.json +87 -23
  25. package/site/pl_PL.all.json +162 -3
  26. package/site/pt_BR.all.json +24 -32
  27. package/site/pt_PT.all.json +93 -19
  28. package/site/ru_RU.all.json +85 -16
  29. package/site/se_SE.all.json +64 -31
  30. package/site/static/images/common/sponsors-md.png +0 -0
  31. package/site/static/images/common/sponsors-xs.png +0 -0
  32. package/site/static/images/common/sponsors-xxxs.png +0 -0
  33. package/site/styles/_awards.scss +6 -6
  34. package/site/styles/_bootstrap4.scss +90 -0
  35. package/site/styles/_buttons.scss +5 -4
  36. package/site/styles/_can-be-watched-button.scss +2 -0
  37. package/site/styles/_card.scss +2 -2
  38. package/site/styles/_carousel.scss +43 -28
  39. package/site/styles/_collections.scss +4 -4
  40. package/site/styles/_cookie-consent.scss +1 -1
  41. package/site/styles/_devices.scss +3 -3
  42. package/site/styles/_footer.scss +45 -2
  43. package/site/styles/_forms.scss +6 -6
  44. package/site/styles/_globals.scss +1 -1
  45. package/site/styles/_icons.scss +2 -2
  46. package/site/styles/_language-selector.scss +2 -2
  47. package/site/styles/_legacy.scss +3 -3
  48. package/site/styles/_meta-detail.scss +44 -24
  49. package/site/styles/_mixins.scss +2 -2
  50. package/site/styles/_nav.scss +40 -40
  51. package/site/styles/_pages.scss +12 -12
  52. package/site/styles/_pin-codes.scss +2 -2
  53. package/site/styles/_plans.scss +1 -1
  54. package/site/styles/_poster.scss +5 -4
  55. package/site/styles/_shift72.scss +22 -22
  56. package/site/styles/_shopping.scss +8 -8
  57. package/site/styles/_slider.scss +4 -10
  58. package/site/styles/_social-media-buttons.scss +20 -20
  59. package/site/styles/_swiper.scss +2 -2
  60. package/site/styles/_variables.scss +107 -82
  61. package/site/styles/_wishlist.scss +2 -2
  62. package/site/styles/main.scss +1 -3
  63. package/site/templates/application/application.jet +13 -1
  64. package/site/templates/application/footer/footer.jet +3 -0
  65. package/site/templates/application/footer/sponsor-banner.jet +9 -0
  66. package/site/templates/bundle/buttons.jet +2 -1
  67. package/site/templates/bundle/item.jet +1 -2
  68. package/site/templates/collection/carousel_item.jet +12 -13
  69. package/site/templates/common/awards/item.jet +1 -1
  70. package/site/templates/film/item.jet +36 -12
  71. package/site/templates/page/content.jet +3 -0
  72. package/site/templates/tv/detail.jet +7 -13
  73. package/site/tr_TR.all.json +88 -22
  74. package/site/uk_UA.all.json +50 -34
  75. package/site/zh_TW.all.json +19 -36
  76. package/site/styles/_functions.scss +0 -8
@@ -3,8 +3,16 @@
3
3
  {{import "./nav/nav.jet"}}
4
4
  {{import "./google.jet" }}
5
5
  {{import "./footer/footer.jet" }}
6
+
6
7
  {{CDN := "//cdn.shift72.com/1.3"}}
7
8
  {*{CDN := "//localhost:3000"}*}
9
+
10
+ {{CSSFilename := ""}}
11
+ {{if isEnabled("self_service_css") && site.CSSFilename != "" }}
12
+ {{CSSFilename = site.CSSFilename}}
13
+ {{end}}
14
+ {*{CSSFilename = "local.css"}*}
15
+
8
16
  <!DOCTYPE html>
9
17
  <html lang="{{lang.Code}}">
10
18
  <head>
@@ -21,6 +29,9 @@
21
29
 
22
30
  {{yield font()}}
23
31
  <link rel="stylesheet" href="/styles/main.css">
32
+ {{if CSSFilename != "" }}
33
+ <link rel="stylesheet" href="/styles/{{CSSFilename}}">
34
+ {{end}}
24
35
 
25
36
  <link rel="shortcut icon" href="/favicon.ico" type="image/x-icon">
26
37
  <link rel="icon" href="/favicon.ico" type="image/x-icon">
@@ -33,7 +44,7 @@
33
44
  <script src="{{CDN}}/s72.core.js" defer></script>
34
45
  <script src="{{CDN}}/s72.ui.js" defer></script>
35
46
 
36
- <script src="/scripts/main.js" defer></script>
47
+ <script src="/scripts/main.js" defer></script>
37
48
 
38
49
  <script src="{{CDN}}/s72.transactional.js" defer></script>
39
50
  <script src="https://js.stripe.com/v3/" defer></script>
@@ -78,5 +89,6 @@
78
89
  {{yield footer()}}
79
90
 
80
91
  {{yield googleScripts()}}
92
+ <s72-donate-button></s72-donate-button>
81
93
  </body>
82
94
  </html>
@@ -2,11 +2,14 @@
2
2
  {{import "./info.jet"}}
3
3
  {{import "./nav.jet"}}
4
4
  {{import "./app-badges.jet"}}
5
+ {{import "./sponsor-banner.jet"}}
5
6
 
6
7
  {{block footer()}}
7
8
 
8
9
  {{yield appBadges()}}
9
10
 
11
+ {{yield sponsorBanner()}}
12
+
10
13
  {*{ID is used for skip links.}*}
11
14
  <footer id="footer">
12
15
  {{yield footerBrand()}}
@@ -0,0 +1,9 @@
1
+ {{block sponsorBanner()}}
2
+ {{if config("show_sponsor_banner") == "true"}}
3
+ <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>
7
+ </div>
8
+ {{end}}
9
+ {{end}}
@@ -1,5 +1,6 @@
1
- {{block bundleButtons(class, slug, title)}}
1
+ {{block bundleButtons(class, slug, title, promoURL)}}
2
2
  <div class="{{class}}">
3
3
  <s72-pricing-buttons data-slug="{{slug}}" data-title="{{title}}"></s72-pricing-buttons>
4
+ {{yield bundleExtras(class="meta-detail-extras", slug=slug, promoURL=promoURL)}}
4
5
  </div>
5
6
  {{end}}
@@ -28,11 +28,10 @@
28
28
 
29
29
  {{yield bundleTagline(class="meta-detail-tagline") bundle}}
30
30
 
31
- {{yield bundleButtons(class="meta-detail-buttons", slug=bundle.Slug, title=bundle.Title)}}
31
+ {{yield bundleButtons(class="meta-detail-buttons", slug=bundle.Slug, title=bundle.Title, promoURL=bundle.PromoURL)}}
32
32
 
33
33
  {{yield bundleSynopsis(class="meta-detail-synopsis", synopsis=bundle.Description)}}
34
34
 
35
- {{yield bundleExtras(class="meta-detail-extras", slug=bundle.Slug, promoURL=bundle.PromoURL)}}
36
35
  </div>
37
36
 
38
37
  {{yield bundleList(items=bundle.Items)}}
@@ -35,6 +35,18 @@
35
35
  {{ if item.ItemType == "film" }}
36
36
  <can-be-watched-button data-slug="{{item.InnerItem.Slug}}" data-url="{{ item.InnerItem.CustomFields.GetString("can_be_watched_button_link", "") }}" data-label="{{ item.InnerItem.CustomFields.GetString("can_be_watched_button_text", "can_be_watched_button_text") }}"></can-be-watched-button>
37
37
  {{ end }}
38
+ <div class="meta-item-extras">
39
+ {{if len(trailer) > 0 }}
40
+ <div class="s72-btn-trailer btn-trailer" data-url="{{routeToSlug(item.Slug)}}?autoplay">
41
+ <button class="s72-btn s72-btn-play btn-sm s72-btn-trailer">
42
+ <span class="s72-btn-play-icon"><s72-play-icon></s72-play-icon></span>
43
+ <span class="verb s72-btn-play-label">{{i18n("play_trailer")}}</span>
44
+ </button>
45
+ </div>
46
+ {{end}}
47
+ <s72-userwishlist-button data-slug="{{item.Slug}}" class="btn-wishlist"></s72-userwishlist-button>
48
+ <s72-share-buttons item="::item.meta" class="hidden-sm hidden-xs pull-right"></s72-share-buttons>
49
+ </div>
38
50
  </div>
39
51
 
40
52
  <s72-availability-label data-slug="{{item.Slug}}"></s72-availability-label>
@@ -42,19 +54,6 @@
42
54
  <div class="meta-item-synopsis">
43
55
  <p>{{item.InnerItem.Tagline | stripHTML}}</p>
44
56
  </div>
45
-
46
- <div class="meta-item-extras">
47
- {{if len(trailer) > 0 }}
48
- <div class="s72-btn-trailer btn-trailer" data-url="{{routeToSlug(item.Slug)}}?autoplay">
49
- <button class="s72-btn s72-btn-play btn-sm s72-btn-trailer">
50
- <span class="s72-btn-play-icon"><s72-play-icon></s72-play-icon></span>
51
- <span class="verb s72-btn-play-label">{{i18n("play_trailer")}}</span>
52
- </button>
53
- </div>
54
- {{end}}
55
- <s72-userwishlist-button data-slug="{{item.Slug}}" class="btn-wishlist"></s72-userwishlist-button>
56
- <s72-share-buttons item="::item.meta" class="hidden-sm hidden-xs pull-right"></s72-share-buttons>
57
- </div>
58
57
  {{yield awardsCarousel() item.InnerItem}}
59
58
  </div>
60
59
  </div>
@@ -4,7 +4,7 @@
4
4
  {{ range .AwardCategories }}
5
5
  <div class="meta-award-nomination mb-2p5 col-12 col-sm-8 col-lg-6 col-xl-4">
6
6
  <span><i class="meta-award-nomination-icon"></i></span>
7
- <span class="font-weight-bold">{{ i18n("awards_nominated_for") }} {{ .DisplayLabel }}</span>
7
+ <span class="font-weight-bold">{{ .IsWinner ? i18n("awards_winner_of") : i18n("awards_nominated_for") }} {{ .DisplayLabel }}</span>
8
8
  </div>
9
9
  {{ end }}
10
10
  </div>
@@ -48,6 +48,13 @@
48
48
  <s72-play-button data-slug="{{film.Slug}}" data-title="{{film.Title}}"></s72-play-button>
49
49
  <s72-pricing-buttons data-slug="{{film.Slug}}" data-title="{{film.Title}}"></s72-pricing-buttons>
50
50
  <can-be-watched-button data-slug="{{film.Slug}}" data-url="{{ film.CustomFields.GetString("can_be_watched_button_link", "") }}" data-label="{{ film.CustomFields.GetString("can_be_watched_button_text", "can_be_watched_button_text") }}"></can-be-watched-button>
51
+ <div class="meta-detail-extras">
52
+ {{if len(film.Trailers) > 0 }}
53
+ <s72-modal-player src="{{film.Trailers[0].URL}}" class="s72-btn-trailer" data-slug="{{film.Slug}}" data-label="{{i18n("play_trailer")}}" autoplay="querystring"></s72-modal-player>
54
+ {{end}}
55
+ <s72-userwishlist-button data-slug="{{film.Slug}}" class="btn-wishlist"></s72-userwishlist-button>
56
+ {{yield socialMediaButtons(path=currentUrlPath, letterboxdID=film.Refs.LetterboxdID)}}
57
+ </div>
51
58
  </div>
52
59
  {{if config("default_image_type") != "portrait"}}
53
60
  <s72-availability-status data-slug="{{film.Slug}}"></s72-availability-status>
@@ -58,13 +65,6 @@
58
65
  {{yield awardNominations() film}}
59
66
 
60
67
  <div class="meta-detail-synopsis">{{film.Overview | raw}}</div>
61
- <div class="meta-detail-extras">
62
- {{if len(film.Trailers) > 0 }}
63
- <s72-modal-player src="{{film.Trailers[0].URL}}" class="s72-btn-trailer" data-slug="{{film.Slug}}" data-label="{{i18n("play_trailer")}}" autoplay="querystring"></s72-modal-player>
64
- {{end}}
65
- <s72-userwishlist-button data-slug="{{film.Slug}}" class="btn-wishlist"></s72-userwishlist-button>
66
- {{yield socialMediaButtons(path=currentUrlPath, letterboxdID=film.Refs.LetterboxdID)}}
67
- </div>
68
68
  <div class="meta-detail-cast">
69
69
  {{if len(film.Cast) > 0 }}
70
70
  <h2>{{i18n("meta_detail_cast_title")}}</h2>
@@ -91,11 +91,35 @@
91
91
  <p>{{ film.Languages }}</p>
92
92
  </div>
93
93
  {{end}}
94
- {{if len(film.GetSubtitles()) > 0 }}
95
- <div class="meta-detail-subtitle">
96
- <h2>{{i18n("meta_detail_subtitles")}}</h2>
97
- <p>{{ film.GetSubtitles() }}</p>
98
- </div>
94
+ {{allSubtitles := film.GetSubtitles()}}
95
+ {{if len(allSubtitles) > 0 }}
96
+ {{subtitles := ""}}
97
+ {{captions := ""}}
98
+ {{if len(film.SubtitleTracks) == 0}}
99
+ {{subtitles = allSubtitles}}
100
+ {{else}}
101
+ {{range subTrack := film.SubtitleTracks}}
102
+ {{if len(subTrack) >= 3}}
103
+ {{if subTrack[2] == "caption"}}
104
+ {{captions = captions ? captions + ", " + subTrack[1] : subTrack[1]}}
105
+ {{else}}
106
+ {{subtitles = subtitles ? subtitles + ", " + subTrack[1] : subTrack[1]}}
107
+ {{end}}
108
+ {{end}}
109
+ {{end}}
110
+ {{end}}
111
+ {{if subtitles}}
112
+ <div class="meta-detail-subtitle">
113
+ <h2>{{i18n("meta_detail_subtitles")}}</h2>
114
+ <p>{{subtitles}}</p>
115
+ </div>
116
+ {{end}}
117
+ {{if captions}}
118
+ <div class="meta-detail-subtitle">
119
+ <h2>{{i18n("meta_detail_captions")}}</h2>
120
+ <p>{{captions}}</p>
121
+ </div>
122
+ {{end}}
99
123
  {{end}}
100
124
  {{if len(film.Countries) > 0 }}
101
125
  <div class="meta-detail-country">
@@ -1,6 +1,7 @@
1
1
  {{extends "templates/application/application.jet"}}
2
2
  {{import "templates/page/page-header.jet"}}
3
3
  {{import "templates/page/page-content.jet"}}
4
+ {{import "templates/common/background-image.jet"}}
4
5
 
5
6
  {{block head()}}
6
7
  {{yield seo() page}}
@@ -8,6 +9,8 @@
8
9
 
9
10
  {{block body()}}
10
11
  <main id="main" class="page content-page">
12
+ {{yield backgroundImage(containerClass="page-bg", gradientClass="right-gradient", imageClass="page-bg-img", imageSrc=page.Images.Background)}}
13
+
11
14
  {{yield pageHeader(title=page.Title)}}
12
15
 
13
16
  {{yield pageContent(text=page.Content)}}
@@ -37,19 +37,13 @@
37
37
  <div class="meta-detail-buttons">
38
38
  <s72-play-button data-slug="{{tvseason.Slug}}" data-title="{{tvseason.Title}}"></s72-play-button>
39
39
  <s72-pricing-buttons data-slug="{{tvseason.Slug}}" data-title="{{tvseason.Title}}"></s72-pricing-buttons>
40
- </div>
41
- <s72-availability-label data-slug="{{tvseason.Slug}}"></s72-availability-label>
42
- <div class="meta-detail-synopsis">{{tvseason.Overview | raw}}</div>
43
- <div class="meta-detail-extras">
44
- {{if len(tvseason.Trailers) > 0 }}
45
- <s72-modal-player src="{{tvseason.Trailers[0].URL}}" class="s72-btn-trailer" data-slug="{{tvseason.Slug}}" data-label="{{i18n("play_trailer")}}" autoplay="querystring"></s72-modal-player>
46
- {{end}}
47
- <s72-userwishlist-button data-slug="{{tvseason.Slug}}" class="btn-wishlist"></s72-userwishlist-button>
48
- {{yield socialMediaButtons(path=currentUrlPath)}}
49
- </div>
50
- </div>
51
- <s72-availability-label data-slug="{{tvseason.Slug}}"></s72-availability-label>
52
- <div class="meta-detail-synopsis">{{tvseason.Overview | raw}}</div>
40
+ <div class="meta-detail-extras">
41
+ {{if len(tvseason.Trailers) > 0 }}
42
+ <s72-modal-player src="{{tvseason.Trailers[0].URL}}" class="s72-btn-trailer" data-slug="{{tvseason.Slug}}" data-label="{{i18n("play_trailer")}}" autoplay="querystring"></s72-modal-player>
43
+ {{end}}
44
+ <s72-userwishlist-button data-slug="{{tvseason.Slug}}" class="btn-wishlist"></s72-userwishlist-button>
45
+ {{yield socialMediaButtons(path=currentUrlPath)}}
46
+ </div>
53
47
  </div>
54
48
  <s72-availability-label data-slug="{{tvseason.Slug}}"></s72-availability-label>
55
49
  <div class="meta-detail-synopsis">{{tvseason.Overview | raw}}</div>
@@ -81,7 +81,7 @@
81
81
  "social_media_buttons_copied_link": { "other": "Link kopyalandı!" },
82
82
  "social_media_buttons_copy_link": { "other": "Panoya kopyala" },
83
83
 
84
- "accept_invite_page_header": { "other": "Hoşgeldiniz" },
84
+ "accept_invite_page_header": { "other": "Hoşgeldiniz " },
85
85
  "acceptinvite_form_invalid_reset_password_token": { "other": "Görünüşe göre bu davet talebini zaten yapmışsınız, onun yerine <a href=\"{{.SigninURL}}\">sign in</a> denemelisiniz. Parolanızı unuttuysanız, parolanızı ayrıca <a href=\"{{.ForgotPasswordURL}}\"> sıfırlayabilirsiniz." },
86
86
  "acceptinvite_complete": { "other": "Teşekkürler. Hesabınız oluşturuldu." },
87
87
  "acceptinvite_form_submit": { "other": "Daveti Kabul Et." },
@@ -283,7 +283,6 @@
283
283
  "shopping_error_discounts_not_allowed": { "other": "Bu promosyon kodu kullanılamaz." },
284
284
  "shopping_error_discount_disallowed_on_bundles": { "other": "That promo code can not be used on bundles." },
285
285
  "shopping_error_payment_intent_authentication_failure": { "other": "Kredi Kartınız reddedildi. Lütfen tekrar deneyin." },
286
- "shopping_error_item_limit_exceeded": { "other": "{{.Title}} için sınırlı sayıdaki izleme kapasitemiz dolmuştur." },
287
286
 
288
287
  "shopping_complete_rental": { "other": "Başardınız!" },
289
288
  "shopping_complete_rental_period": {
@@ -295,7 +294,9 @@
295
294
  "shopping_complete_purchase_coming_soon": { "other": "tarihinden itibaren filmi izleyebileceksiniz {{.Date}}." },
296
295
  "shopping_complete_receipt": { "other": "Faturanız adresinize e-posta ile gönderilmiştir." },
297
296
  "shopping_complete_library_link": { "other": "Kütüphanenizi görüntüle" },
298
-
297
+ "shopping_complete_plan": {
298
+ "other": "{{ .Title }} satın alma işleminiz başarılı oldu."
299
+ },
299
300
  "shopping_complete_rental_watch_window_start": {
300
301
  "one": "Artık önümüzdeki günde filmi izlemeye başlayabilirsiniz.",
301
302
  "other": "Artık önümüzdeki {{.Count}} günde filmi izlemeye başlayabilirsiniz."
@@ -322,6 +323,7 @@
322
323
  "meta_detail_studios": { "one": "Stüdyo", "other": "Stüdyolar" },
323
324
  "meta_detail_countries": { "one": "Ülke", "other": "Ülkeler" },
324
325
  "meta_detail_subtitles": { "other": "Altyazılar" },
326
+ "meta_detail_captions": { "other": "Altyazılar [CC]" },
325
327
  "meta_detail_episodes_title": { "other": "Bölümler" },
326
328
  "meta_detail_bonus_title": { "other": "Bonus İçerik" },
327
329
  "meta_detail_recommendations_title": { "other": "Bunu da beğenebilirsiniz" },
@@ -385,7 +387,6 @@
385
387
  "users_gender_diverse": { "other": "Farklı" },
386
388
  "users_gender_other": { "other": "Diğer" },
387
389
 
388
- "plan_label_owned": { "other": "" },
389
390
 
390
391
  "pricing_quality_hd": { "other": "pricing_quality_hd" },
391
392
  "pricing_quality_sd": { "other": "pricing_quality_sd" },
@@ -402,21 +403,12 @@
402
403
 
403
404
  "shopping_info_ownership_plan": { "other": "shopping_info_ownership_plan" },
404
405
 
405
- "shopping_price_title_plan": { "other": "shopping_price_title_plan" },
406
- "shopping_price_plan_note": { "other": "shopping_price_plan_note" },
407
- "shopping_price_plan_note_interval": { "other": "shopping_price_plan_note_interval" },
408
-
409
- "shopping_enter_card_prompt_plan": { "other": "shopping_enter_card_prompt_plan" },
410
-
406
+
411
407
  "shopping_action_credit": { "other": "shopping_action_credit" },
412
- "shopping_action_plan": { "other": "shopping_action_plan" },
413
-
414
- "shopping_complete_subscription": { "other": "shopping_complete_subscription" },
415
- "shopping_complete_subscription_browse": { "other": "shopping_complete_subscription_browse" },
408
+
416
409
 
417
410
  "shopping_info_rental_period_coming_soon": { "other": "...şu tarih ve yayınlanma vaktinden başlayarak." },
418
- "shopping_info_plan_offer": { "other": "shopping_info_plan_offer" },
419
- "shopping_info_trial_period_offer": { "other": "shopping_info_trial_period_offer" },
411
+
420
412
 
421
413
  "usersubscriptions_change_payment_method_change": { "other": "usersubscriptions_change_payment_method_change" },
422
414
  "usersubscriptions_change_payment_method_modal_title": { "other": "usersubscriptions_change_payment_method_modal_title" },
@@ -528,11 +520,85 @@
528
520
  "plan_free_link_text": {
529
521
  "other": "Ücretsiz kaydol"
530
522
  },
531
- "awards_nominated_for": {
532
- "other": "Aday için"
533
- },
534
- "awards_in_competition": {
535
- "other": "Rekabette"
536
- }
523
+ "awards_nominated_for": {
524
+ "other": "Aday için"
525
+ },
526
+ "awards_in_competition": {
527
+ "other": "Rekabette"
528
+ },
529
+ "awards_winner_of": {
530
+ "other": "kazanan"
531
+ },
532
+ "donate_button_text": {
533
+ "other": "Bağış yapmak"
534
+ },
535
+ "wcag_skip_links_header": { "other": "Accessibility Links" },
536
+ "wcag_skip_links_content": { "other": "Skip to Content" },
537
+ "wcag_skip_links_footer": { "other": "Skip to Footer" },
538
+
539
+ "wcag_homepage_h1": { "other": "Homepage" },
540
+ "wcag_carousel_h2": { "other": "Carousel" },
541
+ "wcag_collections_h2": { "other": "Collections" },
542
+
543
+ "wcag_aria_label_footer": { "other": "Footer" },
544
+ "wcag_aria_label_nav_main": { "other": "Main" },
545
+ "wcag_aria_label_nav_sub": { "other": "Sub" },
546
+ "wcag_aria_label_toggle_nav": { "other": "Toggle Navigation" },
547
+ "wcag_aria_label_bundle_items": { "other": "Bundle Items" },
548
+ "wcag_aria_label_carousel": { "other": "Carousel" },
549
+ "wcag_aria_label_page_collection": { "other": "Page Collection" },
550
+ "wcag_aria_label_collection_list": { "other": "Collection List" },
551
+ "wcag_aria_label_collection_slider": { "other": "Collection Slider" },
552
+ "wcag_aria_label_wishlist": { "other": "Wishlist" },
553
+ "wcag_aria_label_facebook": { "other": "Share on Facebook" },
554
+ "wcag_aria_label_twitter": { "other": "Share on Twitter" },
555
+ "wcag_aria_label_linkedin": { "other": "Share on LinkedIn" },
556
+ "wcag_aria_label_letterboxd": { "other": "View on Letterboxd" },
557
+ "shopping_error_plan_already_owned": { "other": "You already have this plan." },
558
+ "shopping_error_plan_expired": { "other": "This plan is no longer available." },
559
+ "shopping_payment_method_header": { "other": "Payment methods" },
560
+ "shopping_payment_method_credit_card": { "other": "Credit card" },
561
+ "shopping_payment_method_giropay": { "other": "Giropay" },
562
+ "shopping_error_stripe_unknown_error": { "other": "Something went wrong with this payment. Please try again later." },
563
+ "shopping_error_payment_complete_failed": { "other": "The payment was declined. Close this window and try again." },
564
+
565
+ "header_banner": { "other": "ABC Cinemas – 21st Film Festival, June 1 – 6, 2021" },
566
+
567
+ "account_form_pin_code": { "other": "PIN" },
568
+ "account_form_pin_code_not_set": { "other": "You don't have a PIN set, which is required for purchasing, renting and watching some titles."},
569
+ "account_form_set_pin": { "other": "Set PIN" },
570
+ "account_form_pin_changed": { "other": "Updated" },
571
+ "account_form_change_pin": { "other": "Change PIN" },
572
+
573
+ "user_set_pin_header": { "other": "Set your PIN" },
574
+ "user_set_pin_button": { "other": "Set PIN" },
575
+ "user_submit_pin_heading": { "other": "Enter your PIN to {{.Action}} this restricted content" },
576
+ "user_error_wrong_pin_retry": { "other": "Oops, you have entered an incorrect PIN" },
577
+ "user_submit_pin_button": { "other": "Enter" },
578
+ "user_reset_pin_button": { "other": "Reset PIN" },
579
+
580
+ "validation_pincode1_required": { "other": "Please enter a valid PIN code." },
581
+ "validation_pincode2_required": { "other": "Please enter a valid PIN code." },
582
+ "validation_pincode1_pattern": { "other": "Please enter a valid PIN code." },
583
+ "validation_pincode2_pattern": { "other": "Please enter a valid PIN code." },
584
+ "validation_pincode2_match": { "other": "PIN code does not match." },
585
+
586
+ "userdevices_delete_limits": { "other": "You can remove {{.Limit}} device(s) from this list every {{.Period}} day(s)."},
587
+ "userdevices_delete_limit_reached": { "other": "You have reached this limit and can't remove any devices right now. You can delete a device in {{.Days}} day(s)." },
588
+ "shopping_card_new_subscription": { "other": "This card will be saved and charged regularly" },
589
+
590
+ "changepincode_modal_header": { "other": "Change your PIN" },
591
+ "changepincode_modal_currentpassword": { "other": "Your current password" },
592
+ "changepincode_modal_pincode1": { "other": "Your new 4 digit PIN" },
593
+ "changepincode_modal_pincode2": { "other": "Confirm your new 4 digit PIN" },
594
+ "changepincode_modal_submit": { "other": "Set PIN" },
595
+ "changepincode_modal_error_wrong_password": { "other": "That password is incorrect." },
596
+
597
+ "user_set_pin_intro": { "other": "You need a PIN to {{.Action}} restricted content"},
598
+ "user_error_wrong_pin_reset": { "other": "Click here to reset your PIN" },
599
+ "user_error_too_many_pin_errors_help_page_link": { "other": "" },
600
+ "shopping_error_age_restricted": { "other": "This content is age restricted." },
601
+ "shopping_error_close_button": { "other": "OK" }
602
+
537
603
  }
538
604
 
@@ -134,7 +134,7 @@
134
134
  "social_media_buttons_copied_link": { "other": "Посилання скопійовано в буфер обміну!" },
135
135
  "social_media_buttons_copy_link": { "other": "Копіювати в буфер обміну" },
136
136
  "accept_invite_page_header": {
137
- "other": "Ласкаво просимо"
137
+ "other": "Ласкаво просимо "
138
138
  },
139
139
  "acceptinvite_form_invalid_reset_password_token": {
140
140
  "other": "Здається, ви вже використали це запрошення. Спробуйте <a href=\"signin.html\">увійти</a>. Якщо ви забули свій пароль, ви можете <a href=\"forgotpassword.html\">скинути свій пароль</a>."
@@ -489,7 +489,7 @@
489
489
  "other": "Limited to SD playback only."
490
490
  },
491
491
  "shopping_info_release_date_title": {
492
- "other": "Дата релізу {{.Date}}."
492
+ "other": "Дата релізу {{.Date}}. "
493
493
  },
494
494
  "shopping_info_release_date_explanation_rent": {
495
495
  "other": "Ви можете взяти фільм напрокат вже зараз, але ви не зможете переглянути його до дати релізу."
@@ -692,6 +692,9 @@
692
692
  "shopping_complete_library_link": {
693
693
  "other": "Подивитися вашу бібліотеку"
694
694
  },
695
+ "shopping_complete_plan": {
696
+ "other": "Ваша покупка {{ .Title }} була успішною."
697
+ },
695
698
  "shopping_complete_rental_watch_window_start": {
696
699
  "one": "Тепер ви можете почати дивитися фільм протягом наступного дня.",
697
700
  "few": "Тепер ви можете почати дивитися фільм протягом наступних {{.Count}} днів.",
@@ -745,6 +748,7 @@
745
748
  "meta_detail_subtitles": {
746
749
  "other": "Субтитри"
747
750
  },
751
+ "meta_detail_captions": { "other": "Субтитри [CC]" },
748
752
  "meta_detail_episodes_title": {
749
753
  "other": "Епізоди"
750
754
  },
@@ -874,7 +878,7 @@
874
878
  "other": "Взяти напрокат"
875
879
  },
876
880
  "classification_intro": {
877
- "other": "Класифікація:"
881
+ "other": "Класифікація: "
878
882
  },
879
883
  "classification_divider": {
880
884
  "other": " - "
@@ -906,9 +910,6 @@
906
910
  "users_gender_other": {
907
911
  "other": "Інша"
908
912
  },
909
- "plan_label_owned": {
910
- "other": ""
911
- },
912
913
  "pricing_quality_hd": {
913
914
  "other": "pricing_quality_hd"
914
915
  },
@@ -954,39 +955,15 @@
954
955
  "shopping_info_ownership_plan": {
955
956
  "other": "shopping_info_ownership_plan"
956
957
  },
957
- "shopping_price_title_plan": {
958
- "other": "shopping_price_title_plan"
959
- },
960
- "shopping_price_plan_note": {
961
- "other": "shopping_price_plan_note"
962
- },
963
- "shopping_price_plan_note_interval": {
964
- "other": "shopping_price_plan_note_interval"
965
- },
966
- "shopping_enter_card_prompt_plan": {
967
- "other": "shopping_enter_card_prompt_plan"
968
- },
958
+
969
959
  "shopping_action_credit": {
970
960
  "other": "shopping_action_credit"
971
961
  },
972
- "shopping_action_plan": {
973
- "other": "shopping_action_plan"
974
- },
975
- "shopping_complete_subscription": {
976
- "other": "shopping_complete_subscription"
977
- },
978
- "shopping_complete_subscription_browse": {
979
- "other": "shopping_complete_subscription_browse"
980
- },
962
+
981
963
  "shopping_info_rental_period_coming_soon": {
982
964
  "other": "з дати та часу релізу."
983
965
  },
984
- "shopping_info_plan_offer": {
985
- "other": "shopping_info_plan_offer"
986
- },
987
- "shopping_info_trial_period_offer": {
988
- "other": "shopping_info_trial_period_offer"
989
- },
966
+
990
967
  "usersubscriptions_change_payment_method_change": {
991
968
  "other": "usersubscriptions_change_payment_method_change"
992
969
  },
@@ -1185,5 +1162,44 @@
1185
1162
  },
1186
1163
  "awards_in_competition": {
1187
1164
  "other": "У конкурсі"
1188
- }
1165
+ },
1166
+ "awards_winner_of": {
1167
+ "other": "Переможець"
1168
+ },
1169
+ "donate_button_text": {
1170
+ "other": "Пожертвуйте"
1171
+ },
1172
+
1173
+ "wcag_skip_links_header": { "other": "Accessibility Links" },
1174
+ "wcag_skip_links_content": { "other": "Skip to Content" },
1175
+ "wcag_skip_links_footer": { "other": "Skip to Footer" },
1176
+
1177
+ "wcag_homepage_h1": { "other": "Homepage" },
1178
+ "wcag_carousel_h2": { "other": "Carousel" },
1179
+ "wcag_collections_h2": { "other": "Collections" },
1180
+
1181
+ "wcag_aria_label_footer": { "other": "Footer" },
1182
+ "wcag_aria_label_nav_main": { "other": "Main" },
1183
+ "wcag_aria_label_nav_sub": { "other": "Sub" },
1184
+ "wcag_aria_label_toggle_nav": { "other": "Toggle Navigation" },
1185
+ "wcag_aria_label_bundle_items": { "other": "Bundle Items" },
1186
+ "wcag_aria_label_carousel": { "other": "Carousel" },
1187
+ "wcag_aria_label_page_collection": { "other": "Page Collection" },
1188
+ "wcag_aria_label_collection_list": { "other": "Collection List" },
1189
+ "wcag_aria_label_collection_slider": { "other": "Collection Slider" },
1190
+ "wcag_aria_label_wishlist": { "other": "Wishlist" },
1191
+ "wcag_aria_label_facebook": { "other": "Share on Facebook" },
1192
+ "wcag_aria_label_twitter": { "other": "Share on Twitter" },
1193
+ "wcag_aria_label_linkedin": { "other": "Share on LinkedIn" },
1194
+ "wcag_aria_label_letterboxd": { "other": "View on Letterboxd" },
1195
+ "shopping_error_plan_already_owned": { "other": "You already have this plan." },
1196
+ "shopping_error_plan_expired": { "other": "This plan is no longer available." },
1197
+ "shopping_payment_method_header": { "other": "Payment methods" },
1198
+ "shopping_payment_method_credit_card": { "other": "Credit card" },
1199
+ "shopping_payment_method_giropay": { "other": "Giropay" },
1200
+ "shopping_error_stripe_unknown_error": { "other": "Something went wrong with this payment. Please try again later." },
1201
+ "shopping_error_payment_complete_failed": { "other": "The payment was declined. Close this window and try again." },
1202
+
1203
+
1204
+ "header_banner": { "other": "ABC Cinemas – 21st Film Festival, June 1 – 6, 2021" }
1189
1205
  }