@shift72/core-template 1.5.0 → 1.6.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (51) hide show
  1. package/.github/workflows/pages.yml +47 -0
  2. package/CHANGELOG.md +30 -2
  3. package/kibble.json +1 -1
  4. package/package.json +1 -1
  5. package/site/ar_LB.all.json +90 -0
  6. package/site/ca_ES.all.json +78 -0
  7. package/site/da_DK.all.json +78 -0
  8. package/site/de_DE.all.json +78 -0
  9. package/site/el_EL.all.json +78 -0
  10. package/site/en_AU.all.json +78 -0
  11. package/site/es_ES.all.json +78 -0
  12. package/site/es_MX.all.json +78 -0
  13. package/site/et_ET.all.json +78 -0
  14. package/site/fi_FI.all.json +78 -0
  15. package/site/fr_FR.all.json +78 -0
  16. package/site/hr_HR.all.json +81 -0
  17. package/site/hu_HU.all.json +78 -0
  18. package/site/it_IT.all.json +78 -0
  19. package/site/ja_JP.all.json +75 -0
  20. package/site/lt_LT.all.json +84 -0
  21. package/site/nl_BE.all.json +78 -0
  22. package/site/no_NO.all.json +78 -0
  23. package/site/pl_PL.all.json +84 -0
  24. package/site/pt_BR.all.json +78 -0
  25. package/site/pt_PT.all.json +78 -0
  26. package/site/ru_RU.all.json +84 -0
  27. package/site/sr_SR.all.json +81 -0
  28. package/site/static/favicon.ico +0 -0
  29. package/site/styles/_availability-tags.scss +39 -0
  30. package/site/styles/_awards.scss +2 -7
  31. package/site/styles/_carousel.scss +18 -7
  32. package/site/styles/_collections.scss +3 -5
  33. package/site/styles/_cta-buttons.scss +15 -13
  34. package/site/styles/_icons.scss +5 -0
  35. package/site/styles/_meta-detail.scss +48 -9
  36. package/site/styles/_swiper.scss +2 -2
  37. package/site/styles/_variables.scss +9 -0
  38. package/site/templates/application/application.jet +1 -1
  39. package/site/templates/bundle/item.jet +1 -2
  40. package/site/templates/bundle/list.jet +13 -9
  41. package/site/templates/collection/carousel/item.jet +5 -2
  42. package/site/templates/collection/list.jet +14 -12
  43. package/site/templates/collection/slider.jet +2 -2
  44. package/site/templates/collection/wishlist.jet +3 -3
  45. package/site/templates/common/cta_buttons.jet +5 -2
  46. package/site/templates/common/slider.jet +2 -2
  47. package/site/templates/film/item.jet +16 -9
  48. package/site/templates/tv/detail.jet +12 -9
  49. package/site/tr_TR.all.json +78 -0
  50. package/site/uk_UA.all.json +84 -0
  51. package/site/zh_TW.all.json +75 -0
@@ -5,17 +5,21 @@
5
5
  {{itemLayout := config("default_image_type") == "portrait" ? "portrait" : "landscape"}}
6
6
  {{itemsPerRow := itemLayout == "portrait" ? "4" : "3"}}
7
7
 
8
- <section class="page-collection page-collection-list page-collection-list-{{itemsPerRow}} page-collection-list-{{itemLayout}} list-{{itemsPerRow}} list-{{itemLayout}} page-collection-{{itemsPerRow}}-list" aria-label="{{i18n("wcag_aria_label_bundle_items")}}">
9
- <div class="page-collection-list-title">
10
- <h2>{{i18n("meta_detail_bundle_items_title")}}</h2>
11
- </div>
8
+ <section class="page-collection page-collection-list page-collection-list-{{itemsPerRow}} page-collection-list-{{itemLayout}} list-{{itemsPerRow}} list-{{itemLayout}} page-collection-{{itemsPerRow}}-list" aria-label="{{i18n("wcag_aria_label_bundle_items")}}">
9
+ <div class="collection-wrapper-container">
10
+ <div class="collection-container">
11
+ <div class="page-collection-list-title">
12
+ <h2>{{i18n("meta_detail_bundle_items_title")}}</h2>
13
+ </div>
12
14
 
13
- <div class="page-collection-items collection-items">
14
- {{range index, item := items}}
15
- <div class="page-collection-item page-collection-list-item page-collection-list-item-{{itemLayout}} page-collection-item-{{itemLayout}} page-collection-list-item-{{itemsPerRow}} page-collection-item-{{itemsPerRow}}">
16
- {{yield pageCollectionItem(item=item, layout=itemLayout)}}
15
+ <div class="page-collection-items collection-items">
16
+ {{range index, item := items}}
17
+ <div class="page-collection-item page-collection-list-item page-collection-list-item-{{itemLayout}} page-collection-item-{{itemLayout}} page-collection-list-item-{{itemsPerRow}} page-collection-item-{{itemsPerRow}}">
18
+ {{yield pageCollectionItem(item=item, layout=itemLayout)}}
19
+ </div>
20
+ {{end}}
17
21
  </div>
18
- {{end}}
22
+ </div>
19
23
  </div>
20
24
  </section>
21
25
  {{end}}
@@ -16,6 +16,8 @@
16
16
 
17
17
  {{if showItemContent}}
18
18
  <div class="carousel-item-caption">
19
+ <s72-live-label data-slug="{{item.Slug}}"></s72-live-label>
20
+
19
21
  {{if item.ItemType == "film"}}
20
22
  {{if len(item.InnerItem.AwardCategories) > 0 || item.InnerItem.ImageMap["Sponsor"]}}
21
23
  <div class="sponsor-awards-wrapper">
@@ -24,6 +26,7 @@
24
26
  </div>
25
27
  {{end}}
26
28
  {{end}}
29
+
27
30
  <div class="meta-item-content">
28
31
  {{yield carouselItemTitle(title=item.GetTitle(i18n))}}
29
32
 
@@ -34,8 +37,8 @@
34
37
  {{end}}
35
38
 
36
39
  <s72-availability-label data-slug="{{item.Slug}}"></s72-availability-label>
37
-
38
- {{yield ctaButtons(itemType=item.ItemType) item.InnerItem}}
40
+
41
+ {{yield ctaButtons(itemType=item.ItemType, context="carousel") item.InnerItem}}
39
42
 
40
43
 
41
44
  </div>
@@ -3,21 +3,23 @@
3
3
  {{block pageCollectionList(showTitle=true)}}
4
4
  {{if len(.Items) > 0}}
5
5
  <section class="page-collection page-collection-list page-collection-list-{{.ItemsPerRow}} page-collection-list-{{.ItemLayout}} list-{{.ItemsPerRow}} list-{{.ItemLayout}} page-collection-{{.ItemsPerRow}}-list" aria-label="{{i18n("wcag_aria_label_collection_list")}}">
6
+ <div class="collection-wrapper-container">
7
+ <div class="collection-container">
8
+ {{ if showTitle }}
9
+ <div class="page-collection-list-title">
10
+ <h3>{{.DisplayName}}</h3>
11
+ </div>
12
+ {{ end }}
6
13
 
7
- {{ if showTitle }}
8
- <div class="page-collection-list-title">
9
- <h3>{{.DisplayName}}</h3>
10
- </div>
11
- {{ end }}
12
-
13
- <div class="page-collection-items collection-items">
14
- {{range item := .Items}}
15
- <div class="page-collection-item page-collection-list-item page-collection-list-item-{{.ItemLayout}} page-collection-item-{{.ItemLayout}} page-collection-list-item-{{.ItemsPerRow}} page-collection-item-{{.ItemsPerRow}}">
16
- {{yield pageCollectionItem(item=item, layout=.ItemLayout)}}
14
+ <div class="page-collection-items collection-items">
15
+ {{range item := .Items}}
16
+ <div class="page-collection-item page-collection-list-item page-collection-list-item-{{.ItemLayout}} page-collection-item-{{.ItemLayout}} page-collection-list-item-{{.ItemsPerRow}} page-collection-item-{{.ItemsPerRow}}">
17
+ {{yield pageCollectionItem(item=item, layout=.ItemLayout)}}
18
+ </div>
19
+ {{end}}
17
20
  </div>
18
- {{end}}
21
+ </div>
19
22
  </div>
20
-
21
23
  </section>
22
24
  {{end}}
23
25
  {{end}}
@@ -3,8 +3,8 @@
3
3
  {{block pageCollectionSlider()}}
4
4
  {{if len(.Items) > 0}}
5
5
  <section class="page-collection page-collection-slider page-collection-slider-{{.ItemsPerRow}} page-collection-slider-{{.ItemLayout}} slider-{{.ItemsPerRow}} slider-{{.ItemLayout}} page-collection-{{.ItemsPerRow}}-slider" aria-label="{{i18n("wcag_aria_label_collection_slider")}}">
6
- <div class="swiper-wrapper-container">
7
- <div class="swiper-container" data-items-per-row="{{.ItemsPerRow}}" data-layout="{{.ItemLayout}}">
6
+ <div class="collection-wrapper-container swiper-wrapper-container">
7
+ <div class="collection-container swiper-container" data-items-per-row="{{.ItemsPerRow}}" data-layout="{{.ItemLayout}}">
8
8
  {{if .DisplayName != ""}}
9
9
  <div class="swiper-title">
10
10
  <h3>{{.DisplayName}}</h3>
@@ -24,11 +24,11 @@
24
24
 
25
25
  {{end}}
26
26
  <section class="page-collection" aria-label="{{i18n("wcag_aria_label_wishlist")}}">
27
- <div class="swiper-wrapper-container">
27
+ <div class="collection-wrapper-container swiper-wrapper-container">
28
28
  {{if config("default_image_type") == "portrait"}}
29
- <div class="swiper-container" is-wishlist="true" data-items-per-row="6" data-layout="portrait">
29
+ <div class="collection-container swiper-container" is-wishlist="true" data-items-per-row="6" data-layout="portrait">
30
30
  {{else}}
31
- <div class="swiper-container" is-wishlist="true" data-items-per-row="4" data-layout="landscape">
31
+ <div class="collection-container swiper-container" is-wishlist="true" data-items-per-row="4" data-layout="landscape">
32
32
  {{end}}
33
33
  {{if i18n("userwishlist_slider_header") != ""}}
34
34
  <div class="swiper-title">
@@ -1,10 +1,11 @@
1
1
  {{import "./social-media-buttons.jet"}}
2
2
 
3
- {{block ctaButtons(itemType)}}
3
+ {{block ctaButtons(itemType, context="item")}}
4
4
  {{isFilm := itemType == "film"}}
5
5
  {{isSeason := itemType == "tvseason"}}
6
6
  {{isEpisode := itemType == "tvepisode"}}
7
7
  {{isBundle := itemType == "bundle"}}
8
+ {{isCarousel := context == "carousel"}}
8
9
 
9
10
  {{slug := .Slug}}
10
11
  {{trailerURL := isBundle ? .PromoURL : (isFilm || isSeason) && len(.Trailers) > 0 ? .Trailers[0].URL : ""}}
@@ -15,10 +16,12 @@
15
16
  {{showTrailerButton := trailerURL != ""}}
16
17
  {{showWishlistButton := isFilm || isSeason || isEpisode}}
17
18
  {{showShareButton := isFilm || isSeason || isEpisode || isBundle}}
19
+ {{autoplay := !isCarousel}}
18
20
 
19
21
  {{showCtaButtons := showPricingButtons || showPlayButton || showCanBeWatchedButton || showTrailerButton || showWishlistButton || showShareButton}}
20
22
  {{showExtraButtons := showTrailerButton || showWishlistButton || showShareButton}}
21
23
 
24
+
22
25
  {{if showCtaButtons}}
23
26
  <div class="cta-buttons">
24
27
 
@@ -41,7 +44,7 @@
41
44
 
42
45
  {{if showTrailerButton}}
43
46
  {{dataLabel := i18n("play_trailer")}}
44
- <s72-modal-player src="{{trailerURL}}" class="s72-btn-trailer" data-slug="{{slug}}" data-label="{{dataLabel}}" autoplay="querystring" layout="tooltip"></s72-modal-player>
47
+ <s72-modal-player src="{{trailerURL}}" class="s72-btn-trailer" data-slug="{{slug}}" data-label="{{dataLabel}}" {{if autoplay}}autoplay="querystring"{{end}} layout="tooltip"></s72-modal-player>
45
48
  {{end}}
46
49
 
47
50
  {{if showWishlistButton}}
@@ -1,6 +1,6 @@
1
1
  {{block slider(itemsPerRow, itemLayout, title="", fluid=false)}}
2
- <div class="swiper-wrapper-container">
3
- <div class="swiper-container">
2
+ <div class="collection-wrapper-container swiper-wrapper-container">
3
+ <div class="collection-container swiper-container">
4
4
  {{if title != ""}}
5
5
  <div class="swiper-title">
6
6
  <h3>{{title}}</h3>
@@ -27,16 +27,22 @@
27
27
  </div>
28
28
  <div class="container">
29
29
  <div class="meta-detail-main">
30
+ <s72-live-label data-slug="{{film.Slug}}"></s72-live-label>
31
+
30
32
  <div class="poster-wrapper">
31
33
  {{if config("default_image_type") == "portrait"}}
32
34
  {{yield sponsor() film}}
33
- <div class="poster poster-portrait">
34
- <s72-availability-status data-slug="{{film.Slug}}"></s72-availability-status>
35
- <s72-image src="{{film.ImageMap["Classification"]}}" alt="" class="classification-image">
36
- <s72-image src="{{film.ImageMap["Portrait"]}}" alt="{{film.Title}}" class="poster poster-image poster-image-portrait"></s72-image>
37
- </div>
35
+
36
+ {{if film.ImageMap["Portrait"] != ""}}
37
+ <div class="poster poster-portrait">
38
+ <s72-availability-status data-slug="{{film.Slug}}"></s72-availability-status>
39
+ <s72-image src="{{film.ImageMap["Classification"]}}" alt="" class="classification-image">
40
+ <s72-image src="{{film.ImageMap["Portrait"]}}" alt="{{film.Title}}" class="poster poster-image poster-image-portrait"></s72-image>
41
+ </div>
42
+ {{end}}
38
43
  {{end}}
39
44
  </div>
45
+
40
46
  <div class="meta-detail-content">
41
47
  <h1>{{ film.Title }}</h1>
42
48
  <div class="meta-detail-tagline-and-classification">
@@ -55,6 +61,8 @@
55
61
  <br>
56
62
  {{end}}
57
63
 
64
+ {{yield awardNominations() film}}
65
+
58
66
  <div class="element-switcher-wrapper">
59
67
  <s72-element-switcher>
60
68
  {{if isEnabled("element_switcher_enabled")}}
@@ -144,7 +152,6 @@
144
152
  </s72-element-switcher>
145
153
  {{yield sponsor() film}}
146
154
  </div>
147
- {{yield awardNominations() film}}
148
155
  {{if len(film.Bonuses) > 0 && !film.CustomFields.GetBool("hide_bonus_content", false)}}
149
156
  <section class="meta-detail-bonus-content" aria-label="{{i18n("meta_detail_bonus_title")}}">
150
157
  <h2>{{i18n("meta_detail_bonus_title")}}</h2>
@@ -163,11 +170,11 @@
163
170
 
164
171
  {{if len(film.Recommendations) > 0 }}
165
172
  <section class="page-collection recommendations-collection" aria-label="{{i18n("meta_detail_recommendations_title")}}">
166
- <div class="swiper-wrapper-container">
173
+ <div class="collection-wrapper-container swiper-wrapper-container">
167
174
  {{if config("default_image_type") == "portrait"}}
168
- <div class="swiper-container" data-items-per-row="6" data-layout="portrait">
175
+ <div class="collection-container swiper-container" data-items-per-row="6" data-layout="portrait">
169
176
  {{else}}
170
- <div class="swiper-container" data-items-per-row="4" data-layout="landscape">
177
+ <div class="collection-container swiper-container" data-items-per-row="4" data-layout="landscape">
171
178
  {{end}}
172
179
  <div class="swiper-title">
173
180
  <h2>{{i18n("meta_detail_recommendations_title")}}</h2>
@@ -23,12 +23,15 @@
23
23
  </div>
24
24
  <div class="container">
25
25
  <div class="meta-detail-main">
26
- {{if config("default_image_type") == "portrait"}}
27
- <div class="poster poster-portrait">
28
- <s72-image src="{{tvseason.Images.Classification}}" alt="" class="classification-image">
29
- <s72-image src="{{tvseason.Images.Portrait}}" alt="{{tvseason.Title}}" class="poster poster-image poster-image-portrait"></s72-image>
30
- </div>
31
- {{end}}
26
+ <div class="poster-wrapper">
27
+ {{if config("default_image_type") == "portrait"}}
28
+ <div class="poster poster-portrait">
29
+ <s72-image src="{{tvseason.Images.Classification}}" alt="" class="classification-image">
30
+ <s72-image src="{{tvseason.Images.Portrait}}" alt="{{tvseason.Title}}" class="poster poster-image poster-image-portrait"></s72-image>
31
+ </div>
32
+ {{end}}
33
+ </div>
34
+
32
35
  <div class="meta-detail-content">
33
36
  <h1>{{tvseason.GetTitle(i18n)}}</h1>
34
37
  <div class="meta-detail-tagline-and-classification">
@@ -103,12 +106,12 @@
103
106
  </div>
104
107
  {{if len(tvseason.Recommendations) > 0 }}
105
108
  <section class="page-collection recommendations-collection" aria-label="{{i18n("meta_detail_recommendations_title")}}">
106
- <div class="swiper-wrapper-container">
109
+ <div class="collection-wrapper-container swiper-wrapper-container">
107
110
 
108
111
  {{if config("default_image_type") == "portrait"}}
109
- <div class="swiper-container" data-items-per-row="6" data-layout="portrait">
112
+ <div class="collection-container swiper-container" data-items-per-row="6" data-layout="portrait">
110
113
  {{else}}
111
- <div class="swiper-container" data-items-per-row="4" data-layout="landscape">
114
+ <div class="collection-container swiper-container" data-items-per-row="4" data-layout="landscape">
112
115
  {{end}}
113
116
 
114
117
  <div class="swiper-title">
@@ -1413,6 +1413,21 @@
1413
1413
  "shopping_error_invalid_session_token": {
1414
1414
  "other": "Alışveriş oturumunun süresi doldu, lütfen tekrar deneyin."
1415
1415
  },
1416
+ "live_stream_starts": {
1417
+ "other": "Akış başlıyor {{.Date}}"
1418
+ },
1419
+ "live_streaming_now": {
1420
+ "other": "Şimdi yayınlanıyor"
1421
+ },
1422
+ "live_streaming_ended": {
1423
+ "other": "Akış sona erdi"
1424
+ },
1425
+ "availability_live": {
1426
+ "other": "CANLI"
1427
+ },
1428
+ "shopping_action_get_ticket": {
1429
+ "other": "Bilet al"
1430
+ },
1416
1431
  "shopping_error_credit_discounts_not_allowed": {
1417
1432
  "other": "Bu satın alma veya kiralama için promosyon kodu kullanamazsınız"
1418
1433
  },
@@ -1433,5 +1448,68 @@
1433
1448
  },
1434
1449
  "shopping_error_missing_code": {
1435
1450
  "other": "Promosyon kodu sağlanmadı"
1451
+ },
1452
+ "live_label_ended": {
1453
+ "other": "CANLI: SONA ERDİ"
1454
+ },
1455
+ "live_label_live": {
1456
+ "other": "CANLI"
1457
+ },
1458
+ "live_label_minutes": {
1459
+ "one": "CANLI: 1 DAKİKA",
1460
+ "other": "CANLI: {{.Count}} DAKİKA"
1461
+ },
1462
+ "live_label_hours": {
1463
+ "one": "CANLI: 1 SAAT",
1464
+ "other": "CANLI: {{.Count}} SAAT"
1465
+ },
1466
+ "live_label_days": {
1467
+ "one": "CANLI: 1 GÜN",
1468
+ "other": "CANLI: {{.Count}} GÜNLER"
1469
+ },
1470
+ "shopping_info_subtitle_live_event": {
1471
+ "other": "Canlı yayın"
1472
+ },
1473
+ "shopping_info_release_date_title_live_event": {
1474
+ "other": "Bu Canlı Bir Etkinliktir. "
1475
+ },
1476
+ "shopping_info_release_date_explanation1_live_event_rent": {
1477
+ "other": "Şimdi bir bilet satın alabilirsiniz, ancak yayın canlıyken izlemeniz gerekecek."
1478
+ },
1479
+ "shopping_info_release_date_explanation2_live_event_rent": {
1480
+ "other": "Yayın canlıyken izlemeniz gerekecek."
1481
+ },
1482
+ "shopping_info_release_date_explanation3_live_event_rent": {
1483
+ "other": "Bu etkinlik şu anda yayında. "
1484
+ },
1485
+ "shopping_info_available_until_date_title_live_event": {
1486
+ "other": "Akış biter {{.Date}}. "
1487
+ },
1488
+ "shopping_info_available_until_date_explanation_live_event_rent": {
1489
+ "other": "Bundan sonra yayını izleyemezsiniz."
1490
+ },
1491
+ "shopping_action_ticket": {
1492
+ "other": "Bilet al"
1493
+ },
1494
+ "shopping_info_release_date_title_live_event_start": {
1495
+ "other": "Akış başlar {{.Date}}. "
1496
+ },
1497
+ "shopping_info_release_date_explanation4_live_event_rent": {
1498
+ "other": "{{.Date}} başladı. "
1499
+ },
1500
+ "shopping_info_release_date_explanation5_live_event_rent": {
1501
+ "other": "Geri saramazsınız."
1502
+ },
1503
+ "shopping_error_stripe_invalid_expiry_month_past": {
1504
+ "other": "Kartınızın son kullanma tarihi geçmişte."
1505
+ },
1506
+ "shopping_error_stripe_invalid_expiry_year_past": {
1507
+ "other": "Kartınızın son kullanma yılı geçmişte kaldı."
1508
+ },
1509
+ "shopping_error_stripe_invalid_number": {
1510
+ "other": "Kart numaranız geçersiz."
1511
+ },
1512
+ "new_card_error_timed_out": {
1513
+ "other": "Bu kartı eklerken bir şeyler ters gitti. Lütfen daha sonra tekrar deneyin veya farklı bir kart kullanın."
1436
1514
  }
1437
1515
  }
@@ -1467,6 +1467,21 @@
1467
1467
  "shopping_error_invalid_session_token": {
1468
1468
  "other": "Сеанс покупки закінчився, повторіть спробу."
1469
1469
  },
1470
+ "live_stream_starts": {
1471
+ "other": "Потік починається {{.Date}}"
1472
+ },
1473
+ "live_streaming_now": {
1474
+ "other": "Зараз транслюється"
1475
+ },
1476
+ "live_streaming_ended": {
1477
+ "other": "Потік закінчено"
1478
+ },
1479
+ "availability_live": {
1480
+ "other": "НАЖИВО"
1481
+ },
1482
+ "shopping_action_get_ticket": {
1483
+ "other": "Отримати квиток"
1484
+ },
1470
1485
  "shopping_error_credit_discounts_not_allowed": {
1471
1486
  "other": "Ви не можете використовувати промокод для цієї покупки або оренди"
1472
1487
  },
@@ -1487,5 +1502,74 @@
1487
1502
  },
1488
1503
  "shopping_error_missing_code": {
1489
1504
  "other": "Промокод не надано"
1505
+ },
1506
+ "live_label_ended": {
1507
+ "other": "НАЖИВО: ЗАВЕРШЕНО"
1508
+ },
1509
+ "live_label_live": {
1510
+ "other": "НАЖИВО"
1511
+ },
1512
+ "live_label_minutes": {
1513
+ "one": "НАЖИВО: 1 ХВИЛИНА",
1514
+ "few": "НАЖИВО: {{.Count}} ХВИЛИНИ",
1515
+ "many": "НАЖИВО: {{.Count}} ХВИЛИНИ",
1516
+ "other": "НАЖИВО: {{.Count}} ХВИЛИНИ"
1517
+ },
1518
+ "live_label_hours": {
1519
+ "one": "НАЖИВО: 1 ГОДИНА",
1520
+ "few": "НАЖИВО: {{.Count}} ГОДИНИ",
1521
+ "many": "НАЖИВО: {{.Count}} ГОДИНИ",
1522
+ "other": "НАЖИВО: {{.Count}} ГОДИНИ"
1523
+ },
1524
+ "live_label_days": {
1525
+ "one": "НАЖИВО: 1 ДЕНЬ",
1526
+ "few": "НАЖИВО: {{.Count}} ДНІВ",
1527
+ "many": "НАЖИВО: {{.Count}} ДНІВ",
1528
+ "other": "НАЖИВО: {{.Count}} ДНІВ"
1529
+ },
1530
+ "shopping_info_subtitle_live_event": {
1531
+ "other": "Наживо"
1532
+ },
1533
+ "shopping_info_release_date_title_live_event": {
1534
+ "other": "Це подія в прямому ефірі. "
1535
+ },
1536
+ "shopping_info_release_date_explanation1_live_event_rent": {
1537
+ "other": "Ви можете придбати квиток зараз, але вам потрібно буде дивитися, поки йде трансляція."
1538
+ },
1539
+ "shopping_info_release_date_explanation2_live_event_rent": {
1540
+ "other": "Вам потрібно буде дивитися, поки йде трансляція."
1541
+ },
1542
+ "shopping_info_release_date_explanation3_live_event_rent": {
1543
+ "other": "Ця подія зараз транслюється. "
1544
+ },
1545
+ "shopping_info_available_until_date_title_live_event": {
1546
+ "other": "Потік закінчується {{.Date}}. "
1547
+ },
1548
+ "shopping_info_available_until_date_explanation_live_event_rent": {
1549
+ "other": "Після цього ви не зможете дивитися трансляцію."
1550
+ },
1551
+ "shopping_action_ticket": {
1552
+ "other": "Отримати квиток"
1553
+ },
1554
+ "shopping_info_release_date_title_live_event_start": {
1555
+ "other": "Початок потоку {{.Date}}. "
1556
+ },
1557
+ "shopping_info_release_date_explanation4_live_event_rent": {
1558
+ "other": "Це почалося о {{.Date}}. "
1559
+ },
1560
+ "shopping_info_release_date_explanation5_live_event_rent": {
1561
+ "other": "Ви не можете перемотати його назад."
1562
+ },
1563
+ "shopping_error_stripe_invalid_expiry_month_past": {
1564
+ "other": "Термін дії вашої картки минув."
1565
+ },
1566
+ "shopping_error_stripe_invalid_expiry_year_past": {
1567
+ "other": "Рік закінчення терміну дії вашої картки минув."
1568
+ },
1569
+ "shopping_error_stripe_invalid_number": {
1570
+ "other": "Номер вашої картки недійсний."
1571
+ },
1572
+ "new_card_error_timed_out": {
1573
+ "other": "Під час додавання цієї картки сталася помилка. Повторіть спробу пізніше або скористайтеся іншою карткою."
1490
1574
  }
1491
1575
  }
@@ -1403,6 +1403,21 @@
1403
1403
  "shopping_error_invalid_session_token": {
1404
1404
  "other": "購物會話已過期,請重試。"
1405
1405
  },
1406
+ "live_stream_starts": {
1407
+ "other": "流开始 {{.Date}}"
1408
+ },
1409
+ "live_streaming_now": {
1410
+ "other": "立即流式传输"
1411
+ },
1412
+ "live_streaming_ended": {
1413
+ "other": "直播已结束"
1414
+ },
1415
+ "availability_live": {
1416
+ "other": "居住"
1417
+ },
1418
+ "shopping_action_get_ticket": {
1419
+ "other": "取票"
1420
+ },
1406
1421
  "shopping_error_credit_discounts_not_allowed": {
1407
1422
  "other": "您不能為此購買或租賃使用促銷代碼"
1408
1423
  },
@@ -1423,5 +1438,65 @@
1423
1438
  },
1424
1439
  "shopping_error_missing_code": {
1425
1440
  "other": "未提供促銷代碼"
1441
+ },
1442
+ "live_label_ended": {
1443
+ "other": "直播:結束"
1444
+ },
1445
+ "live_label_live": {
1446
+ "other": "居住"
1447
+ },
1448
+ "live_label_minutes": {
1449
+ "other": "直播:{{.Count}} 分钟"
1450
+ },
1451
+ "live_label_hours": {
1452
+ "other": "直播:{{.Count}} 小时"
1453
+ },
1454
+ "live_label_days": {
1455
+ "other": "直播:{{.Count}} 天"
1456
+ },
1457
+ "shopping_info_subtitle_live_event": {
1458
+ "other": "現場直播"
1459
+ },
1460
+ "shopping_info_release_date_title_live_event": {
1461
+ "other": "這是一個現場活動。"
1462
+ },
1463
+ "shopping_info_release_date_explanation1_live_event_rent": {
1464
+ "other": "您現在可以購買門票,但您需要在直播期間觀看。"
1465
+ },
1466
+ "shopping_info_release_date_explanation2_live_event_rent": {
1467
+ "other": "您需要在直播時觀看。"
1468
+ },
1469
+ "shopping_info_release_date_explanation3_live_event_rent": {
1470
+ "other": "此活動目前正在進行中。"
1471
+ },
1472
+ "shopping_info_available_until_date_title_live_event": {
1473
+ "other": "流結束{{.Date}}。"
1474
+ },
1475
+ "shopping_info_available_until_date_explanation_live_event_rent": {
1476
+ "other": "之後您將無法觀看直播。"
1477
+ },
1478
+ "shopping_action_ticket": {
1479
+ "other": "取票"
1480
+ },
1481
+ "shopping_info_release_date_title_live_event_start": {
1482
+ "other": "流開始{{.Date}}。"
1483
+ },
1484
+ "shopping_info_release_date_explanation4_live_event_rent": {
1485
+ "other": "它始於{{.Date}}。"
1486
+ },
1487
+ "shopping_info_release_date_explanation5_live_event_rent": {
1488
+ "other": "你不能倒帶。"
1489
+ },
1490
+ "shopping_error_stripe_invalid_expiry_month_past": {
1491
+ "other": "您卡的過期日期已過。"
1492
+ },
1493
+ "shopping_error_stripe_invalid_expiry_year_past": {
1494
+ "other": "您的卡的到期年份已過去。"
1495
+ },
1496
+ "shopping_error_stripe_invalid_number": {
1497
+ "other": "您的卡號無效。"
1498
+ },
1499
+ "new_card_error_timed_out": {
1500
+ "other": "添加該卡時出現問題。請稍後再試或使用其他卡。"
1426
1501
  }
1427
1502
  }