diff options
| -rw-r--r-- | assets/css/default.css | 24 | ||||
| -rw-r--r-- | config/config.example.yml | 10 | ||||
| -rw-r--r-- | locales/cs.json | 2 | ||||
| -rw-r--r-- | locales/es.json | 21 | ||||
| -rw-r--r-- | locales/ko.json | 15 | ||||
| -rw-r--r-- | src/invidious/comments.cr | 20 |
6 files changed, 63 insertions, 29 deletions
diff --git a/assets/css/default.css b/assets/css/default.css index 42f6958f..23649f8f 100644 --- a/assets/css/default.css +++ b/assets/css/default.css @@ -322,6 +322,30 @@ p.video-data { margin: 0; font-weight: bold; font-size: 80%; } /* + * Comments & community posts + */ + +#comments { + max-width: 800px; + margin: auto; +} + +.video-iframe-wrapper { + position: relative; + height: 0; + padding-bottom: 56.25%; +} + +.video-iframe { + position: absolute; + top: 0; + left: 0; + width: 100%; + height: 100%; + border: none; +} + +/* * Footer */ diff --git a/config/config.example.yml b/config/config.example.yml index 8abe1b9e..7ea80017 100644 --- a/config/config.example.yml +++ b/config/config.example.yml @@ -817,6 +817,16 @@ default_user_preferences: ## Default: true ## #vr_mode: true + + ## + ## Save the playback position + ## Allow to continue watching at the previous position when + ## watching the same video. + ## + ## Accepted values: true, false + ## Default: false + ## + #save_player_pos: false # ----------------------------- # Subscription feed diff --git a/locales/cs.json b/locales/cs.json index 0e8610bf..d9e5b4d5 100644 --- a/locales/cs.json +++ b/locales/cs.json @@ -13,7 +13,7 @@ "Previous page": "Předchozí strana", "Clear watch history?": "Smazat historii?", "New password": "Nové heslo", - "New passwords must match": "Hesla se musí schodovat", + "New passwords must match": "Hesla se musí shodovat", "Cannot change password for Google accounts": "Nelze změnit heslo pro účty Google", "Authorize token?": "Autorizovat token?", "Authorize token for `x`?": "Autorizovat token pro `x`?", diff --git a/locales/es.json b/locales/es.json index 09f510a7..68ff0170 100644 --- a/locales/es.json +++ b/locales/es.json @@ -398,25 +398,24 @@ "search_filters_features_option_three_sixty": "360°", "videoinfo_watch_on_youTube": "Ver en YouTube", "preferences_save_player_pos_label": "Guardar posición de reproducción: ", - "generic_views_count": "{{count}} visualización", - "generic_views_count_plural": "{{count}} visualizaciones", + "generic_views_count": "{{count}} vista", + "generic_views_count_plural": "{{count}} vistas", "generic_subscribers_count": "{{count}} suscriptor", "generic_subscribers_count_plural": "{{count}} suscriptores", "generic_subscriptions_count": "{{count}} suscripción", "generic_subscriptions_count_plural": "{{count}} suscripciones", - "subscriptions_unseen_notifs_count": "{{count}} notificación no vista", - "subscriptions_unseen_notifs_count_plural": "{{count}} notificaciones no vistas", + "subscriptions_unseen_notifs_count": "{{count}} notificación sin ver", + "subscriptions_unseen_notifs_count_plural": "{{count}} notificaciones sin ver", "generic_count_days": "{{count}} día", "generic_count_days_plural": "{{count}} días", "comments_view_x_replies": "Ver {{count}} respuesta", "comments_view_x_replies_plural": "Ver {{count}} respuestas", "generic_count_weeks": "{{count}} semana", "generic_count_weeks_plural": "{{count}} semanas", - "generic_playlists_count": "{{count}} lista de reproducción", - "generic_playlists_count_plural": "{{count}} listas de reproducción", - "generic_videos_count_0": "{{count}} video", - "generic_videos_count_1": "{{count}} videos", - "generic_videos_count_2": "{{count}} videos", + "generic_playlists_count": "{{count}} reproducción", + "generic_playlists_count_plural": "{{count}} reproducciones", + "generic_videos_count": "{{count}} video", + "generic_videos_count_plural": "{{count}} videos", "generic_count_months": "{{count}} mes", "generic_count_months_plural": "{{count}} meses", "comments_points_count": "{{count}} punto", @@ -469,8 +468,8 @@ "search_filters_duration_option_none": "Cualquier duración", "search_filters_features_option_vr180": "VR180", "search_filters_apply_button": "Aplicar filtros", - "tokens_count": "{{count}} ficha", - "tokens_count_plural": "{{count}} fichas", + "tokens_count": "{{count}} token", + "tokens_count_plural": "{{count}} tokens", "search_message_use_another_instance": " También puede <a href=\"`x`\">buscar en otra instancia</a>.", "Popular enabled: ": "¿Habilitar la sección popular? ", "error_video_not_in_playlist": "El video que solicitaste no existe en esta lista de reproducción. <a href=\"`x`\">Haz clic aquí para acceder a la página de inicio de la lista de reproducción.</a>", diff --git a/locales/ko.json b/locales/ko.json index d4f3a711..2b454add 100644 --- a/locales/ko.json +++ b/locales/ko.json @@ -46,7 +46,7 @@ "Log in/register": "로그인/회원가입", "Log in": "로그인", "source": "출처", - "JavaScript license information": "자바스크립트 라이센스 정보", + "JavaScript license information": "자바스크립트 라이선스 정보", "An alternative front-end to YouTube": "유튜브의 프론트엔드 대안", "History": "역사", "Delete account?": "계정을 삭제 하시겠습니까?", @@ -116,7 +116,7 @@ "Show replies": "댓글 보기", "Hide replies": "댓글 숨기기", "Incorrect password": "잘못된 비밀번호", - "License: ": "라이센스: ", + "License: ": "라이선스: ", "Genre: ": "장르: ", "Editing playlist `x`": "재생목록 `x` 수정하기", "Playlist privacy": "재생목록 공개 범위", @@ -135,7 +135,7 @@ "Unlisted": "목록에 없음", "Public": "공개", "View privacy policy.": "개인정보 처리방침 보기.", - "View JavaScript license information.": "자바스크립트 라이센스 정보 보기.", + "View JavaScript license information.": "자바스크립트 라이선스 정보 보기.", "Source available here.": "소스는 여기에서 사용할 수 있습니다.", "Log out": "로그아웃", "search": "검색", @@ -460,5 +460,12 @@ "channel_tab_shorts_label": "쇼츠", "channel_tab_streams_label": "실시간 스트리밍", "channel_tab_channels_label": "채널", - "channel_tab_playlists_label": "재생목록" + "channel_tab_playlists_label": "재생목록", + "Standard YouTube license": "표준 유튜브 라이선스", + "Song: ": "제목: ", + "Channel Sponsor": "채널 스폰서", + "Album: ": "앨범: ", + "Music in this video": "동영상 속 음악", + "Artist: ": "아티스트: ", + "Download is disabled": "다운로드가 비활성화 되어있음" } diff --git a/src/invidious/comments.cr b/src/invidious/comments.cr index ec4449f0..01556099 100644 --- a/src/invidious/comments.cr +++ b/src/invidious/comments.cr @@ -372,32 +372,25 @@ def template_youtube_comments(comments, locale, thin_mode, is_replies = false) </div> END_HTML when "video" - html << <<-END_HTML - <div class="pure-g"> - <div class="pure-u-1 pure-u-md-1-2"> - <div style="position:relative;width:100%;height:0;padding-bottom:56.25%;margin-bottom:5px"> - END_HTML - if attachment["error"]? html << <<-END_HTML + <div class="pure-g video-iframe-wrapper"> <p>#{attachment["error"]}</p> + </div> END_HTML else html << <<-END_HTML - <iframe id='ivplayer' style='position:absolute;width:100%;height:100%;left:0;top:0' src='/embed/#{attachment["videoId"]?}?autoplay=0' style='border:none;'></iframe> + <div class="pure-g video-iframe-wrapper"> + <iframe class="video-iframe" src='/embed/#{attachment["videoId"]?}?autoplay=0'></iframe> + </div> END_HTML end - - html << <<-END_HTML - </div> - </div> - </div> - END_HTML else nil # Ignore end end html << <<-END_HTML + <p> <span title="#{Time.unix(child["published"].as_i64).to_s(translate(locale, "%A %B %-d, %Y"))}">#{translate(locale, "`x` ago", recode_date(Time.unix(child["published"].as_i64), locale))} #{child["isEdited"] == true ? translate(locale, "(edited)") : ""}</span> | END_HTML @@ -416,6 +409,7 @@ def template_youtube_comments(comments, locale, thin_mode, is_replies = false) html << <<-END_HTML <i class="icon ion-ios-thumbs-up"></i> #{number_with_separator(child["likeCount"])} + </p> END_HTML if child["creatorHeart"]? |
