@shift72/core-template 0.4.0 → 0.4.3

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