Many fixes to i18n
This commit is contained in:
420
-
Normal file
420
-
Normal file
@@ -0,0 +1,420 @@
|
|||||||
|
# Translations template for PROJECT.
|
||||||
|
# Copyright (C) 2026 ORGANIZATION
|
||||||
|
# This file is distributed under the same license as the PROJECT project.
|
||||||
|
# FIRST AUTHOR <EMAIL@ADDRESS>, 2026.
|
||||||
|
#
|
||||||
|
#, fuzzy
|
||||||
|
msgid ""
|
||||||
|
msgstr ""
|
||||||
|
"Project-Id-Version: PROJECT VERSION\n"
|
||||||
|
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
|
||||||
|
"POT-Creation-Date: 2026-04-05 16:35-0500\n"
|
||||||
|
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||||
|
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||||
|
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||||
|
"MIME-Version: 1.0\n"
|
||||||
|
"Content-Type: text/plain; charset=utf-8\n"
|
||||||
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
|
"Generated-By: Babel 2.18.0\n"
|
||||||
|
|
||||||
|
#: youtube/i18n_strings.py:13
|
||||||
|
msgid "Network"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: youtube/i18n_strings.py:14
|
||||||
|
msgid "Playback"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: youtube/i18n_strings.py:15
|
||||||
|
msgid "Interface"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: youtube/i18n_strings.py:18
|
||||||
|
msgid "Route Tor"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: youtube/i18n_strings.py:19
|
||||||
|
msgid "Default subtitles mode"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: youtube/i18n_strings.py:20
|
||||||
|
msgid "AV1 Codec Ranking"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: youtube/i18n_strings.py:21
|
||||||
|
msgid "VP8/VP9 Codec Ranking"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: youtube/i18n_strings.py:22
|
||||||
|
msgid "H.264 Codec Ranking"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: youtube/i18n_strings.py:23
|
||||||
|
msgid "Use integrated sources"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: youtube/i18n_strings.py:24
|
||||||
|
msgid "Route images"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: youtube/i18n_strings.py:25
|
||||||
|
msgid "Enable comments.js"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: youtube/i18n_strings.py:26
|
||||||
|
msgid "Enable SponsorBlock"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: youtube/i18n_strings.py:27
|
||||||
|
msgid "Enable embed page"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: youtube/i18n_strings.py:30
|
||||||
|
msgid "Related videos mode"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: youtube/i18n_strings.py:31
|
||||||
|
msgid "Comments mode"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: youtube/i18n_strings.py:32
|
||||||
|
msgid "Enable comment avatars"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: youtube/i18n_strings.py:33
|
||||||
|
msgid "Default comment sorting"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: youtube/i18n_strings.py:34
|
||||||
|
msgid "Theater mode"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: youtube/i18n_strings.py:35
|
||||||
|
msgid "Autoplay videos"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: youtube/i18n_strings.py:36
|
||||||
|
msgid "Default resolution"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: youtube/i18n_strings.py:37
|
||||||
|
msgid "Use video player"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: youtube/i18n_strings.py:38
|
||||||
|
msgid "Use video download"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: youtube/i18n_strings.py:39
|
||||||
|
msgid "Proxy images"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: youtube/i18n_strings.py:40
|
||||||
|
msgid "Theme"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: youtube/i18n_strings.py:41
|
||||||
|
msgid "Font"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: youtube/i18n_strings.py:42
|
||||||
|
msgid "Language"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: youtube/i18n_strings.py:43
|
||||||
|
msgid "Embed page mode"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: youtube/i18n_strings.py:46
|
||||||
|
msgid "Off"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: youtube/i18n_strings.py:47
|
||||||
|
msgid "On"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: youtube/i18n_strings.py:48
|
||||||
|
msgid "Disabled"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: youtube/i18n_strings.py:49
|
||||||
|
msgid "Enabled"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: youtube/i18n_strings.py:50
|
||||||
|
msgid "Always shown"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: youtube/i18n_strings.py:51
|
||||||
|
msgid "Shown by clicking button"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: youtube/i18n_strings.py:52
|
||||||
|
msgid "Native"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: youtube/i18n_strings.py:53
|
||||||
|
msgid "Native with hotkeys"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: youtube/i18n_strings.py:54
|
||||||
|
msgid "Plyr"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: youtube/i18n_strings.py:57
|
||||||
|
msgid "Light"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: youtube/i18n_strings.py:58
|
||||||
|
msgid "Gray"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: youtube/i18n_strings.py:59
|
||||||
|
msgid "Dark"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: youtube/i18n_strings.py:62
|
||||||
|
msgid "Browser default"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: youtube/i18n_strings.py:63
|
||||||
|
msgid "Liberation Serif"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: youtube/i18n_strings.py:64
|
||||||
|
msgid "Arial"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: youtube/i18n_strings.py:65
|
||||||
|
msgid "Verdana"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: youtube/i18n_strings.py:66
|
||||||
|
msgid "Tahoma"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: youtube/i18n_strings.py:69 youtube/templates/base.html:53
|
||||||
|
msgid "Sort by"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: youtube/i18n_strings.py:70 youtube/templates/base.html:56
|
||||||
|
msgid "Relevance"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: youtube/i18n_strings.py:71 youtube/templates/base.html:60
|
||||||
|
#: youtube/templates/base.html:71
|
||||||
|
msgid "Upload date"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: youtube/i18n_strings.py:72 youtube/templates/base.html:64
|
||||||
|
msgid "View count"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: youtube/i18n_strings.py:73 youtube/templates/base.html:68
|
||||||
|
msgid "Rating"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: youtube/i18n_strings.py:76 youtube/templates/base.html:74
|
||||||
|
msgid "Any"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: youtube/i18n_strings.py:77 youtube/templates/base.html:78
|
||||||
|
msgid "Last hour"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: youtube/i18n_strings.py:78 youtube/templates/base.html:82
|
||||||
|
msgid "Today"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: youtube/i18n_strings.py:79 youtube/templates/base.html:86
|
||||||
|
msgid "This week"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: youtube/i18n_strings.py:80 youtube/templates/base.html:90
|
||||||
|
msgid "This month"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: youtube/i18n_strings.py:81 youtube/templates/base.html:94
|
||||||
|
msgid "This year"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: youtube/i18n_strings.py:84
|
||||||
|
msgid "Type"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: youtube/i18n_strings.py:85
|
||||||
|
msgid "Video"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: youtube/i18n_strings.py:86
|
||||||
|
msgid "Channel"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: youtube/i18n_strings.py:87
|
||||||
|
msgid "Playlist"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: youtube/i18n_strings.py:88
|
||||||
|
msgid "Movie"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: youtube/i18n_strings.py:89
|
||||||
|
msgid "Show"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: youtube/i18n_strings.py:92
|
||||||
|
msgid "Duration"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: youtube/i18n_strings.py:93
|
||||||
|
msgid "Short (< 4 minutes)"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: youtube/i18n_strings.py:94
|
||||||
|
msgid "Long (> 20 minutes)"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: youtube/i18n_strings.py:97 youtube/templates/base.html:45
|
||||||
|
msgid "Search"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: youtube/i18n_strings.py:98
|
||||||
|
msgid "Download"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: youtube/i18n_strings.py:99
|
||||||
|
msgid "Subscribe"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: youtube/i18n_strings.py:100
|
||||||
|
msgid "Unsubscribe"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: youtube/i18n_strings.py:101
|
||||||
|
msgid "Import"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: youtube/i18n_strings.py:102
|
||||||
|
msgid "Export"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: youtube/i18n_strings.py:103
|
||||||
|
msgid "Save"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: youtube/i18n_strings.py:104
|
||||||
|
msgid "Check"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: youtube/i18n_strings.py:105
|
||||||
|
msgid "Mute"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: youtube/i18n_strings.py:106
|
||||||
|
msgid "Unmute"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: youtube/i18n_strings.py:109 youtube/templates/base.html:51
|
||||||
|
msgid "Options"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: youtube/i18n_strings.py:110
|
||||||
|
msgid "Settings"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: youtube/i18n_strings.py:111
|
||||||
|
msgid "Error"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: youtube/i18n_strings.py:112
|
||||||
|
msgid "loading..."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: youtube/i18n_strings.py:115
|
||||||
|
msgid "Top"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: youtube/i18n_strings.py:116
|
||||||
|
msgid "Newest"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: youtube/i18n_strings.py:117
|
||||||
|
msgid "Auto"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: youtube/i18n_strings.py:118
|
||||||
|
msgid "English"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: youtube/i18n_strings.py:119
|
||||||
|
msgid "Español"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: youtube/i18n_strings.py:122
|
||||||
|
msgid "Auto (HLS preferred)"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: youtube/i18n_strings.py:123
|
||||||
|
msgid "Force HLS"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: youtube/i18n_strings.py:124
|
||||||
|
msgid "Force DASH"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: youtube/i18n_strings.py:125
|
||||||
|
msgid "#1"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: youtube/i18n_strings.py:126
|
||||||
|
msgid "#2"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: youtube/i18n_strings.py:127
|
||||||
|
msgid "#3"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: youtube/i18n_strings.py:130 youtube/templates/settings.html:53
|
||||||
|
msgid "Save settings"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: youtube/i18n_strings.py:133
|
||||||
|
msgid "Other"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: youtube/i18n_strings.py:136
|
||||||
|
msgid "Playback mode"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: youtube/templates/base.html:44
|
||||||
|
msgid "Type to search..."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: youtube/templates/comments.html:61
|
||||||
|
msgid "More comments"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: youtube/templates/watch.html:100
|
||||||
|
msgid "Direct Link"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: youtube/templates/watch.html:152
|
||||||
|
msgid "More info"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: youtube/templates/watch.html:176 youtube/templates/watch.html:203
|
||||||
|
msgid "AutoNext"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: youtube/templates/watch.html:225
|
||||||
|
msgid "Related Videos"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: youtube/templates/watch.html:239
|
||||||
|
msgid "Comments disabled"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: youtube/templates/watch.html:242
|
||||||
|
msgid "Comment"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
5
.gitignore
vendored
5
.gitignore
vendored
@@ -144,6 +144,11 @@ banned_addresses.txt
|
|||||||
*.orig
|
*.orig
|
||||||
*.cache/
|
*.cache/
|
||||||
|
|
||||||
|
# -----------------------------------------------------------------------------
|
||||||
|
# Localization / Compiled translations
|
||||||
|
# -----------------------------------------------------------------------------
|
||||||
|
*.mo
|
||||||
|
|
||||||
# -----------------------------------------------------------------------------
|
# -----------------------------------------------------------------------------
|
||||||
# AI assistants / LLM tools
|
# AI assistants / LLM tools
|
||||||
# -----------------------------------------------------------------------------
|
# -----------------------------------------------------------------------------
|
||||||
|
|||||||
19
babel.cfg
19
babel.cfg
@@ -1,7 +1,16 @@
|
|||||||
[python: youtube/**.py]
|
[python: youtube/**.py]
|
||||||
keywords = lazy_gettext:1,2 _l:1,2
|
|
||||||
[python: server.py]
|
|
||||||
[python: settings.py]
|
|
||||||
[jinja2: youtube/templates/**.html]
|
|
||||||
extensions=jinja2.ext.i18n
|
|
||||||
encoding = utf-8
|
encoding = utf-8
|
||||||
|
keywords = lazy_gettext _l _
|
||||||
|
|
||||||
|
[python: server.py]
|
||||||
|
encoding = utf-8
|
||||||
|
keywords = _
|
||||||
|
|
||||||
|
[python: settings.py]
|
||||||
|
encoding = utf-8
|
||||||
|
keywords = _
|
||||||
|
|
||||||
|
[jinja2: youtube/templates/**.html]
|
||||||
|
encoding = utf-8
|
||||||
|
extensions=jinja2.ext.i18n
|
||||||
|
silent=false
|
||||||
|
|||||||
38
settings.py
38
settings.py
@@ -1,4 +1,18 @@
|
|||||||
from youtube import util
|
from youtube import util
|
||||||
|
from youtube.i18n_strings import (
|
||||||
|
AUTO,
|
||||||
|
AUTO_HLS_PREFERRED,
|
||||||
|
ENGLISH,
|
||||||
|
ESPANOL,
|
||||||
|
FORCE_DASH,
|
||||||
|
FORCE_HLS,
|
||||||
|
NEWEST,
|
||||||
|
PLAYBACK_MODE,
|
||||||
|
RANKING_1,
|
||||||
|
RANKING_2,
|
||||||
|
RANKING_3,
|
||||||
|
TOP,
|
||||||
|
)
|
||||||
import ast
|
import ast
|
||||||
import re
|
import re
|
||||||
import os
|
import os
|
||||||
@@ -139,8 +153,8 @@ For security reasons, enabling this is not recommended.''',
|
|||||||
'comment': '''0 to sort by top
|
'comment': '''0 to sort by top
|
||||||
1 to sort by newest''',
|
1 to sort by newest''',
|
||||||
'options': [
|
'options': [
|
||||||
(0, 'Top'),
|
(0, TOP),
|
||||||
(1, 'Newest'),
|
(1, NEWEST),
|
||||||
],
|
],
|
||||||
}),
|
}),
|
||||||
|
|
||||||
@@ -163,7 +177,7 @@ For security reasons, enabling this is not recommended.''',
|
|||||||
'default': 'auto',
|
'default': 'auto',
|
||||||
'comment': '',
|
'comment': '',
|
||||||
'options': [
|
'options': [
|
||||||
('auto', 'Auto'),
|
('auto', AUTO),
|
||||||
('144', '144p'),
|
('144', '144p'),
|
||||||
('240', '240p'),
|
('240', '240p'),
|
||||||
('360', '360p'),
|
('360', '360p'),
|
||||||
@@ -179,12 +193,12 @@ For security reasons, enabling this is not recommended.''',
|
|||||||
('playback_mode', {
|
('playback_mode', {
|
||||||
'type': str,
|
'type': str,
|
||||||
'default': 'auto',
|
'default': 'auto',
|
||||||
'label': 'Playback mode',
|
'label': PLAYBACK_MODE,
|
||||||
'comment': 'HLS uses hls.js (multi-audio). DASH uses av-merge (single audio).',
|
'comment': 'HLS uses hls.js (multi-audio). DASH uses av-merge (single audio).',
|
||||||
'options': [
|
'options': [
|
||||||
('auto', 'Auto (HLS preferred)'),
|
('auto', AUTO_HLS_PREFERRED),
|
||||||
('hls', 'Force HLS'),
|
('hls', FORCE_HLS),
|
||||||
('dash', 'Force DASH'),
|
('dash', FORCE_DASH),
|
||||||
],
|
],
|
||||||
'category': 'playback',
|
'category': 'playback',
|
||||||
}),
|
}),
|
||||||
@@ -194,7 +208,7 @@ For security reasons, enabling this is not recommended.''',
|
|||||||
'default': 1,
|
'default': 1,
|
||||||
'label': 'AV1 Codec Ranking',
|
'label': 'AV1 Codec Ranking',
|
||||||
'comment': '',
|
'comment': '',
|
||||||
'options': [(1, '#1'), (2, '#2'), (3, '#3')],
|
'options': [(1, RANKING_1), (2, RANKING_2), (3, RANKING_3)],
|
||||||
'category': 'playback',
|
'category': 'playback',
|
||||||
}),
|
}),
|
||||||
|
|
||||||
@@ -203,7 +217,7 @@ For security reasons, enabling this is not recommended.''',
|
|||||||
'default': 2,
|
'default': 2,
|
||||||
'label': 'VP8/VP9 Codec Ranking',
|
'label': 'VP8/VP9 Codec Ranking',
|
||||||
'comment': '',
|
'comment': '',
|
||||||
'options': [(1, '#1'), (2, '#2'), (3, '#3')],
|
'options': [(1, RANKING_1), (2, RANKING_2), (3, RANKING_3)],
|
||||||
'category': 'playback',
|
'category': 'playback',
|
||||||
}),
|
}),
|
||||||
|
|
||||||
@@ -212,7 +226,7 @@ For security reasons, enabling this is not recommended.''',
|
|||||||
'default': 3,
|
'default': 3,
|
||||||
'label': 'H.264 Codec Ranking',
|
'label': 'H.264 Codec Ranking',
|
||||||
'comment': '',
|
'comment': '',
|
||||||
'options': [(1, '#1'), (2, '#2'), (3, '#3')],
|
'options': [(1, RANKING_1), (2, RANKING_2), (3, RANKING_3)],
|
||||||
'category': 'playback',
|
'category': 'playback',
|
||||||
'description': (
|
'description': (
|
||||||
'Which video codecs to prefer. Codecs given the same '
|
'Which video codecs to prefer. Codecs given the same '
|
||||||
@@ -316,8 +330,8 @@ Archive: https://archive.ph/OZQbN''',
|
|||||||
'default': 'en',
|
'default': 'en',
|
||||||
'comment': 'Interface language',
|
'comment': 'Interface language',
|
||||||
'options': [
|
'options': [
|
||||||
('en', 'English'),
|
('en', ENGLISH),
|
||||||
('es', 'Español'),
|
('es', ESPANOL),
|
||||||
],
|
],
|
||||||
'category': 'interface',
|
'category': 'interface',
|
||||||
}),
|
}),
|
||||||
|
|||||||
@@ -1,14 +1,16 @@
|
|||||||
# Spanish translations for yt-local.
|
# Spanish translations template for PROJECT.
|
||||||
# Copyright (C) 2026 yt-local
|
# Copyright (C) 2026 ORGANIZATION
|
||||||
# This file is distributed under the same license as the yt-local project.
|
# This file is distributed under the same license as the PROJECT project.
|
||||||
|
# FIRST AUTHOR <EMAIL@ADDRESS>, 2026.
|
||||||
#
|
#
|
||||||
|
#, fuzzy
|
||||||
msgid ""
|
msgid ""
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Project-Id-Version: PROJECT VERSION\n"
|
"Project-Id-Version: PROJECT VERSION\n"
|
||||||
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
|
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
|
||||||
"POT-Creation-Date: 2026-03-22 15:05-0500\n"
|
"POT-Creation-Date: 2026-04-05 16:52-0500\n"
|
||||||
"PO-Revision-Date: 2026-03-22 15:06-0500\n"
|
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||||
"Last-Translator: \n"
|
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||||
"Language: es\n"
|
"Language: es\n"
|
||||||
"Language-Team: es <LL@li.org>\n"
|
"Language-Team: es <LL@li.org>\n"
|
||||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||||
@@ -17,58 +19,415 @@ msgstr ""
|
|||||||
"Content-Transfer-Encoding: 8bit\n"
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
"Generated-By: Babel 2.18.0\n"
|
"Generated-By: Babel 2.18.0\n"
|
||||||
|
|
||||||
#: youtube/templates/base.html:38
|
#: youtube/i18n_strings.py:13
|
||||||
msgid "Type to search..."
|
msgid "Network"
|
||||||
msgstr "Escribe para buscar..."
|
msgstr "Red"
|
||||||
|
|
||||||
#: youtube/templates/base.html:39
|
#: youtube/i18n_strings.py:14
|
||||||
msgid "Search"
|
msgid "Playback"
|
||||||
msgstr "Buscar"
|
msgstr "Reproducción"
|
||||||
|
|
||||||
#: youtube/templates/base.html:45
|
#: youtube/i18n_strings.py:15
|
||||||
msgid "Options"
|
msgid "Interface"
|
||||||
msgstr "Opciones"
|
msgstr "Interfaz"
|
||||||
|
|
||||||
#: youtube/templates/base.html:47
|
#: youtube/i18n_strings.py:18
|
||||||
|
msgid "Route Tor"
|
||||||
|
msgstr "Enrutar por Tor"
|
||||||
|
|
||||||
|
#: youtube/i18n_strings.py:19
|
||||||
|
msgid "Default subtitles mode"
|
||||||
|
msgstr "Modo de subtítulos predeterminado"
|
||||||
|
|
||||||
|
#: youtube/i18n_strings.py:20
|
||||||
|
msgid "AV1 Codec Ranking"
|
||||||
|
msgstr "Prioridad códec AV1"
|
||||||
|
|
||||||
|
#: youtube/i18n_strings.py:21
|
||||||
|
msgid "VP8/VP9 Codec Ranking"
|
||||||
|
msgstr "Prioridad códec VP8/VP9"
|
||||||
|
|
||||||
|
#: youtube/i18n_strings.py:22
|
||||||
|
msgid "H.264 Codec Ranking"
|
||||||
|
msgstr "Prioridad códec H.264"
|
||||||
|
|
||||||
|
#: youtube/i18n_strings.py:23
|
||||||
|
msgid "Use integrated sources"
|
||||||
|
msgstr "Usar fuentes integradas"
|
||||||
|
|
||||||
|
#: youtube/i18n_strings.py:24
|
||||||
|
msgid "Route images"
|
||||||
|
msgstr "Enrutar imágenes"
|
||||||
|
|
||||||
|
#: youtube/i18n_strings.py:25
|
||||||
|
msgid "Enable comments.js"
|
||||||
|
msgstr "Activar comments.js"
|
||||||
|
|
||||||
|
#: youtube/i18n_strings.py:26
|
||||||
|
msgid "Enable SponsorBlock"
|
||||||
|
msgstr "Activar SponsorBlock"
|
||||||
|
|
||||||
|
#: youtube/i18n_strings.py:27
|
||||||
|
msgid "Enable embed page"
|
||||||
|
msgstr "Activar página embed"
|
||||||
|
|
||||||
|
#: youtube/i18n_strings.py:30
|
||||||
|
msgid "Related videos mode"
|
||||||
|
msgstr "Modo videos relacionados"
|
||||||
|
|
||||||
|
#: youtube/i18n_strings.py:31
|
||||||
|
msgid "Comments mode"
|
||||||
|
msgstr "Modo comentarios"
|
||||||
|
|
||||||
|
#: youtube/i18n_strings.py:32
|
||||||
|
msgid "Enable comment avatars"
|
||||||
|
msgstr "Activar avatares en comentarios"
|
||||||
|
|
||||||
|
#: youtube/i18n_strings.py:33
|
||||||
|
msgid "Default comment sorting"
|
||||||
|
msgstr "Orden de comentarios predeterminado"
|
||||||
|
|
||||||
|
#: youtube/i18n_strings.py:34
|
||||||
|
msgid "Theater mode"
|
||||||
|
msgstr "Modo teatro"
|
||||||
|
|
||||||
|
#: youtube/i18n_strings.py:35
|
||||||
|
msgid "Autoplay videos"
|
||||||
|
msgstr "Reproducción automática"
|
||||||
|
|
||||||
|
#: youtube/i18n_strings.py:36
|
||||||
|
msgid "Default resolution"
|
||||||
|
msgstr "Resolución predeterminada"
|
||||||
|
|
||||||
|
#: youtube/i18n_strings.py:37
|
||||||
|
msgid "Use video player"
|
||||||
|
msgstr "Usar reproductor de video"
|
||||||
|
|
||||||
|
#: youtube/i18n_strings.py:38
|
||||||
|
msgid "Use video download"
|
||||||
|
msgstr "Usar descarga de video"
|
||||||
|
|
||||||
|
#: youtube/i18n_strings.py:39
|
||||||
|
msgid "Proxy images"
|
||||||
|
msgstr "Imágenes por proxy"
|
||||||
|
|
||||||
|
#: youtube/i18n_strings.py:40
|
||||||
|
msgid "Theme"
|
||||||
|
msgstr "Tema"
|
||||||
|
|
||||||
|
#: youtube/i18n_strings.py:41
|
||||||
|
msgid "Font"
|
||||||
|
msgstr "Fuente"
|
||||||
|
|
||||||
|
#: youtube/i18n_strings.py:42
|
||||||
|
msgid "Language"
|
||||||
|
msgstr "Idioma"
|
||||||
|
|
||||||
|
#: youtube/i18n_strings.py:43
|
||||||
|
msgid "Embed page mode"
|
||||||
|
msgstr "Modo página embed"
|
||||||
|
|
||||||
|
#: youtube/i18n_strings.py:46
|
||||||
|
msgid "Off"
|
||||||
|
msgstr "Apagado"
|
||||||
|
|
||||||
|
#: youtube/i18n_strings.py:47
|
||||||
|
msgid "On"
|
||||||
|
msgstr "Encendido"
|
||||||
|
|
||||||
|
#: youtube/i18n_strings.py:48
|
||||||
|
msgid "Disabled"
|
||||||
|
msgstr "Deshabilitado"
|
||||||
|
|
||||||
|
#: youtube/i18n_strings.py:49
|
||||||
|
msgid "Enabled"
|
||||||
|
msgstr "Habilitado"
|
||||||
|
|
||||||
|
#: youtube/i18n_strings.py:50
|
||||||
|
msgid "Always shown"
|
||||||
|
msgstr "Siempre visible"
|
||||||
|
|
||||||
|
#: youtube/i18n_strings.py:51
|
||||||
|
msgid "Shown by clicking button"
|
||||||
|
msgstr "Mostrar al hacer clic"
|
||||||
|
|
||||||
|
#: youtube/i18n_strings.py:52
|
||||||
|
msgid "Native"
|
||||||
|
msgstr "Nativo"
|
||||||
|
|
||||||
|
#: youtube/i18n_strings.py:53
|
||||||
|
msgid "Native with hotkeys"
|
||||||
|
msgstr "Nativo con atajos"
|
||||||
|
|
||||||
|
#: youtube/i18n_strings.py:54
|
||||||
|
msgid "Plyr"
|
||||||
|
msgstr "Plyr"
|
||||||
|
|
||||||
|
#: youtube/i18n_strings.py:57
|
||||||
|
msgid "Light"
|
||||||
|
msgstr "Claro"
|
||||||
|
|
||||||
|
#: youtube/i18n_strings.py:58
|
||||||
|
msgid "Gray"
|
||||||
|
msgstr "Gris"
|
||||||
|
|
||||||
|
#: youtube/i18n_strings.py:59
|
||||||
|
msgid "Dark"
|
||||||
|
msgstr "Oscuro"
|
||||||
|
|
||||||
|
#: youtube/i18n_strings.py:62
|
||||||
|
msgid "Browser default"
|
||||||
|
msgstr "Predeterminado del navegador"
|
||||||
|
|
||||||
|
#: youtube/i18n_strings.py:63
|
||||||
|
msgid "Liberation Serif"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: youtube/i18n_strings.py:64
|
||||||
|
msgid "Arial"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: youtube/i18n_strings.py:65
|
||||||
|
msgid "Verdana"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: youtube/i18n_strings.py:66
|
||||||
|
msgid "Tahoma"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: youtube/i18n_strings.py:69 youtube/templates/base.html:53
|
||||||
msgid "Sort by"
|
msgid "Sort by"
|
||||||
msgstr "Ordenar por"
|
msgstr "Ordenar por"
|
||||||
|
|
||||||
#: youtube/templates/base.html:50
|
#: youtube/i18n_strings.py:70 youtube/templates/base.html:56
|
||||||
msgid "Relevance"
|
msgid "Relevance"
|
||||||
msgstr "Relevancia"
|
msgstr "Relevancia"
|
||||||
|
|
||||||
#: youtube/templates/base.html:54 youtube/templates/base.html:65
|
#: youtube/i18n_strings.py:71 youtube/templates/base.html:60
|
||||||
|
#: youtube/templates/base.html:71
|
||||||
msgid "Upload date"
|
msgid "Upload date"
|
||||||
msgstr "Fecha de subida"
|
msgstr "Fecha de subida"
|
||||||
|
|
||||||
#: youtube/templates/base.html:58
|
#: youtube/i18n_strings.py:72 youtube/templates/base.html:64
|
||||||
msgid "View count"
|
msgid "View count"
|
||||||
msgstr "Número de visualizaciones"
|
msgstr "Número de visualizaciones"
|
||||||
|
|
||||||
#: youtube/templates/base.html:62
|
#: youtube/i18n_strings.py:73 youtube/templates/base.html:68
|
||||||
msgid "Rating"
|
msgid "Rating"
|
||||||
msgstr "Calificación"
|
msgstr "Calificación"
|
||||||
|
|
||||||
#: youtube/templates/base.html:68
|
#: youtube/i18n_strings.py:76 youtube/templates/base.html:74
|
||||||
msgid "Any"
|
msgid "Any"
|
||||||
msgstr "Cualquiera"
|
msgstr "Cualquiera"
|
||||||
|
|
||||||
#: youtube/templates/base.html:72
|
#: youtube/i18n_strings.py:77 youtube/templates/base.html:78
|
||||||
msgid "Last hour"
|
msgid "Last hour"
|
||||||
msgstr "Última hora"
|
msgstr "Última hora"
|
||||||
|
|
||||||
#: youtube/templates/base.html:76
|
#: youtube/i18n_strings.py:78 youtube/templates/base.html:82
|
||||||
msgid "Today"
|
msgid "Today"
|
||||||
msgstr "Hoy"
|
msgstr "Hoy"
|
||||||
|
|
||||||
#: youtube/templates/base.html:80
|
#: youtube/i18n_strings.py:79 youtube/templates/base.html:86
|
||||||
msgid "This week"
|
msgid "This week"
|
||||||
msgstr "Esta semana"
|
msgstr "Esta semana"
|
||||||
|
|
||||||
#: youtube/templates/base.html:84
|
#: youtube/i18n_strings.py:80 youtube/templates/base.html:90
|
||||||
msgid "This month"
|
msgid "This month"
|
||||||
msgstr "Este mes"
|
msgstr "Este mes"
|
||||||
|
|
||||||
#: youtube/templates/base.html:88
|
#: youtube/i18n_strings.py:81 youtube/templates/base.html:94
|
||||||
msgid "This year"
|
msgid "This year"
|
||||||
msgstr "Este año"
|
msgstr "Este año"
|
||||||
|
|
||||||
|
#: youtube/i18n_strings.py:84
|
||||||
|
msgid "Type"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: youtube/i18n_strings.py:85
|
||||||
|
msgid "Video"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: youtube/i18n_strings.py:86
|
||||||
|
msgid "Channel"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: youtube/i18n_strings.py:87
|
||||||
|
msgid "Playlist"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: youtube/i18n_strings.py:88
|
||||||
|
msgid "Movie"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: youtube/i18n_strings.py:89
|
||||||
|
msgid "Show"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: youtube/i18n_strings.py:92
|
||||||
|
msgid "Duration"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: youtube/i18n_strings.py:93
|
||||||
|
msgid "Short (< 4 minutes)"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: youtube/i18n_strings.py:94
|
||||||
|
msgid "Long (> 20 minutes)"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: youtube/i18n_strings.py:97 youtube/templates/base.html:45
|
||||||
|
msgid "Search"
|
||||||
|
msgstr "Buscar"
|
||||||
|
|
||||||
|
#: youtube/i18n_strings.py:98 youtube/templates/watch.html:104
|
||||||
|
msgid "Download"
|
||||||
|
msgstr "Descargar"
|
||||||
|
|
||||||
|
#: youtube/i18n_strings.py:99
|
||||||
|
msgid "Subscribe"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: youtube/i18n_strings.py:100
|
||||||
|
msgid "Unsubscribe"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: youtube/i18n_strings.py:101
|
||||||
|
msgid "Import"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: youtube/i18n_strings.py:102
|
||||||
|
msgid "Export"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: youtube/i18n_strings.py:103
|
||||||
|
msgid "Save"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: youtube/i18n_strings.py:104
|
||||||
|
msgid "Check"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: youtube/i18n_strings.py:105
|
||||||
|
msgid "Mute"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: youtube/i18n_strings.py:106
|
||||||
|
msgid "Unmute"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: youtube/i18n_strings.py:109 youtube/templates/base.html:51
|
||||||
|
msgid "Options"
|
||||||
|
msgstr "Opciones"
|
||||||
|
|
||||||
|
#: youtube/i18n_strings.py:110
|
||||||
|
msgid "Settings"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: youtube/i18n_strings.py:111
|
||||||
|
msgid "Error"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: youtube/i18n_strings.py:112
|
||||||
|
msgid "loading..."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: youtube/i18n_strings.py:115
|
||||||
|
msgid "Top"
|
||||||
|
msgstr "Popularidad"
|
||||||
|
|
||||||
|
#: youtube/i18n_strings.py:116
|
||||||
|
msgid "Newest"
|
||||||
|
msgstr "Más reciente"
|
||||||
|
|
||||||
|
#: youtube/i18n_strings.py:117
|
||||||
|
msgid "Auto"
|
||||||
|
msgstr "Automático"
|
||||||
|
|
||||||
|
#: youtube/i18n_strings.py:118
|
||||||
|
msgid "English"
|
||||||
|
msgstr "Inglés"
|
||||||
|
|
||||||
|
#: youtube/i18n_strings.py:119
|
||||||
|
msgid "Español"
|
||||||
|
msgstr "Español"
|
||||||
|
|
||||||
|
#: youtube/i18n_strings.py:122
|
||||||
|
msgid "Auto (HLS preferred)"
|
||||||
|
msgstr "Auto (HLS preferido)"
|
||||||
|
|
||||||
|
#: youtube/i18n_strings.py:123
|
||||||
|
msgid "Force HLS"
|
||||||
|
msgstr "Forzar HLS"
|
||||||
|
|
||||||
|
#: youtube/i18n_strings.py:124
|
||||||
|
msgid "Force DASH"
|
||||||
|
msgstr "Forzar DASH"
|
||||||
|
|
||||||
|
#: youtube/i18n_strings.py:125
|
||||||
|
msgid "#1"
|
||||||
|
msgstr "#1"
|
||||||
|
|
||||||
|
#: youtube/i18n_strings.py:126
|
||||||
|
msgid "#2"
|
||||||
|
msgstr "#2"
|
||||||
|
|
||||||
|
#: youtube/i18n_strings.py:127
|
||||||
|
msgid "#3"
|
||||||
|
msgstr "#3"
|
||||||
|
|
||||||
|
#: youtube/i18n_strings.py:130 youtube/templates/settings.html:53
|
||||||
|
msgid "Save settings"
|
||||||
|
msgstr "Guardar configuración"
|
||||||
|
|
||||||
|
#: youtube/i18n_strings.py:133
|
||||||
|
msgid "Other"
|
||||||
|
msgstr "Otros"
|
||||||
|
|
||||||
|
#: youtube/i18n_strings.py:136
|
||||||
|
msgid "Playback mode"
|
||||||
|
msgstr "Modo de reproducción"
|
||||||
|
|
||||||
|
#: youtube/i18n_strings.py:139
|
||||||
|
msgid "Autocheck subscriptions"
|
||||||
|
msgstr "Verificar suscripciones automáticamente"
|
||||||
|
|
||||||
|
#: youtube/i18n_strings.py:140
|
||||||
|
msgid "Include shorts in subscriptions"
|
||||||
|
msgstr "Incluir shorts en suscripciones"
|
||||||
|
|
||||||
|
#: youtube/i18n_strings.py:141
|
||||||
|
msgid "Include shorts in channel"
|
||||||
|
msgstr "Incluir shorts en el canal"
|
||||||
|
|
||||||
|
#: youtube/templates/base.html:44
|
||||||
|
msgid "Type to search..."
|
||||||
|
msgstr "Escribe para buscar..."
|
||||||
|
|
||||||
|
#: youtube/templates/comments.html:61
|
||||||
|
msgid "More comments"
|
||||||
|
msgstr "Más comentarios"
|
||||||
|
|
||||||
|
#: youtube/templates/watch.html:100
|
||||||
|
msgid "Direct Link"
|
||||||
|
msgstr "Enlace directo"
|
||||||
|
|
||||||
|
#: youtube/templates/watch.html:152
|
||||||
|
msgid "More info"
|
||||||
|
msgstr "Más información"
|
||||||
|
|
||||||
|
#: youtube/templates/watch.html:176 youtube/templates/watch.html:203
|
||||||
|
msgid "AutoNext"
|
||||||
|
msgstr "Siguiente automático"
|
||||||
|
|
||||||
|
#: youtube/templates/watch.html:225
|
||||||
|
msgid "Related Videos"
|
||||||
|
msgstr "Videos relacionados"
|
||||||
|
|
||||||
|
#: youtube/templates/watch.html:239
|
||||||
|
msgid "Comments disabled"
|
||||||
|
msgstr "Comentarios deshabilitados"
|
||||||
|
|
||||||
|
#: youtube/templates/watch.html:242
|
||||||
|
msgid "Comment"
|
||||||
|
msgstr "Comentario"
|
||||||
|
|||||||
@@ -8,7 +8,7 @@ msgid ""
|
|||||||
msgstr ""
|
msgstr ""
|
||||||
"Project-Id-Version: PROJECT VERSION\n"
|
"Project-Id-Version: PROJECT VERSION\n"
|
||||||
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
|
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
|
||||||
"POT-Creation-Date: 2026-03-22 15:05-0500\n"
|
"POT-Creation-Date: 2026-04-05 16:52-0500\n"
|
||||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||||
@@ -17,59 +17,415 @@ msgstr ""
|
|||||||
"Content-Transfer-Encoding: 8bit\n"
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
"Generated-By: Babel 2.18.0\n"
|
"Generated-By: Babel 2.18.0\n"
|
||||||
|
|
||||||
#: youtube/templates/base.html:38
|
#: youtube/i18n_strings.py:13
|
||||||
msgid "Type to search..."
|
msgid "Network"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: youtube/templates/base.html:39
|
#: youtube/i18n_strings.py:14
|
||||||
msgid "Search"
|
msgid "Playback"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: youtube/templates/base.html:45
|
#: youtube/i18n_strings.py:15
|
||||||
msgid "Options"
|
msgid "Interface"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: youtube/templates/base.html:47
|
#: youtube/i18n_strings.py:18
|
||||||
|
msgid "Route Tor"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: youtube/i18n_strings.py:19
|
||||||
|
msgid "Default subtitles mode"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: youtube/i18n_strings.py:20
|
||||||
|
msgid "AV1 Codec Ranking"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: youtube/i18n_strings.py:21
|
||||||
|
msgid "VP8/VP9 Codec Ranking"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: youtube/i18n_strings.py:22
|
||||||
|
msgid "H.264 Codec Ranking"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: youtube/i18n_strings.py:23
|
||||||
|
msgid "Use integrated sources"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: youtube/i18n_strings.py:24
|
||||||
|
msgid "Route images"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: youtube/i18n_strings.py:25
|
||||||
|
msgid "Enable comments.js"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: youtube/i18n_strings.py:26
|
||||||
|
msgid "Enable SponsorBlock"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: youtube/i18n_strings.py:27
|
||||||
|
msgid "Enable embed page"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: youtube/i18n_strings.py:30
|
||||||
|
msgid "Related videos mode"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: youtube/i18n_strings.py:31
|
||||||
|
msgid "Comments mode"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: youtube/i18n_strings.py:32
|
||||||
|
msgid "Enable comment avatars"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: youtube/i18n_strings.py:33
|
||||||
|
msgid "Default comment sorting"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: youtube/i18n_strings.py:34
|
||||||
|
msgid "Theater mode"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: youtube/i18n_strings.py:35
|
||||||
|
msgid "Autoplay videos"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: youtube/i18n_strings.py:36
|
||||||
|
msgid "Default resolution"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: youtube/i18n_strings.py:37
|
||||||
|
msgid "Use video player"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: youtube/i18n_strings.py:38
|
||||||
|
msgid "Use video download"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: youtube/i18n_strings.py:39
|
||||||
|
msgid "Proxy images"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: youtube/i18n_strings.py:40
|
||||||
|
msgid "Theme"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: youtube/i18n_strings.py:41
|
||||||
|
msgid "Font"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: youtube/i18n_strings.py:42
|
||||||
|
msgid "Language"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: youtube/i18n_strings.py:43
|
||||||
|
msgid "Embed page mode"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: youtube/i18n_strings.py:46
|
||||||
|
msgid "Off"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: youtube/i18n_strings.py:47
|
||||||
|
msgid "On"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: youtube/i18n_strings.py:48
|
||||||
|
msgid "Disabled"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: youtube/i18n_strings.py:49
|
||||||
|
msgid "Enabled"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: youtube/i18n_strings.py:50
|
||||||
|
msgid "Always shown"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: youtube/i18n_strings.py:51
|
||||||
|
msgid "Shown by clicking button"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: youtube/i18n_strings.py:52
|
||||||
|
msgid "Native"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: youtube/i18n_strings.py:53
|
||||||
|
msgid "Native with hotkeys"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: youtube/i18n_strings.py:54
|
||||||
|
msgid "Plyr"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: youtube/i18n_strings.py:57
|
||||||
|
msgid "Light"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: youtube/i18n_strings.py:58
|
||||||
|
msgid "Gray"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: youtube/i18n_strings.py:59
|
||||||
|
msgid "Dark"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: youtube/i18n_strings.py:62
|
||||||
|
msgid "Browser default"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: youtube/i18n_strings.py:63
|
||||||
|
msgid "Liberation Serif"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: youtube/i18n_strings.py:64
|
||||||
|
msgid "Arial"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: youtube/i18n_strings.py:65
|
||||||
|
msgid "Verdana"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: youtube/i18n_strings.py:66
|
||||||
|
msgid "Tahoma"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: youtube/i18n_strings.py:69 youtube/templates/base.html:53
|
||||||
msgid "Sort by"
|
msgid "Sort by"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: youtube/templates/base.html:50
|
#: youtube/i18n_strings.py:70 youtube/templates/base.html:56
|
||||||
msgid "Relevance"
|
msgid "Relevance"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: youtube/templates/base.html:54 youtube/templates/base.html:65
|
#: youtube/i18n_strings.py:71 youtube/templates/base.html:60
|
||||||
|
#: youtube/templates/base.html:71
|
||||||
msgid "Upload date"
|
msgid "Upload date"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: youtube/templates/base.html:58
|
#: youtube/i18n_strings.py:72 youtube/templates/base.html:64
|
||||||
msgid "View count"
|
msgid "View count"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: youtube/templates/base.html:62
|
#: youtube/i18n_strings.py:73 youtube/templates/base.html:68
|
||||||
msgid "Rating"
|
msgid "Rating"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: youtube/templates/base.html:68
|
#: youtube/i18n_strings.py:76 youtube/templates/base.html:74
|
||||||
msgid "Any"
|
msgid "Any"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: youtube/templates/base.html:72
|
#: youtube/i18n_strings.py:77 youtube/templates/base.html:78
|
||||||
msgid "Last hour"
|
msgid "Last hour"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: youtube/templates/base.html:76
|
#: youtube/i18n_strings.py:78 youtube/templates/base.html:82
|
||||||
msgid "Today"
|
msgid "Today"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: youtube/templates/base.html:80
|
#: youtube/i18n_strings.py:79 youtube/templates/base.html:86
|
||||||
msgid "This week"
|
msgid "This week"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: youtube/templates/base.html:84
|
#: youtube/i18n_strings.py:80 youtube/templates/base.html:90
|
||||||
msgid "This month"
|
msgid "This month"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: youtube/templates/base.html:88
|
#: youtube/i18n_strings.py:81 youtube/templates/base.html:94
|
||||||
msgid "This year"
|
msgid "This year"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#: youtube/i18n_strings.py:84
|
||||||
|
msgid "Type"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: youtube/i18n_strings.py:85
|
||||||
|
msgid "Video"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: youtube/i18n_strings.py:86
|
||||||
|
msgid "Channel"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: youtube/i18n_strings.py:87
|
||||||
|
msgid "Playlist"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: youtube/i18n_strings.py:88
|
||||||
|
msgid "Movie"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: youtube/i18n_strings.py:89
|
||||||
|
msgid "Show"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: youtube/i18n_strings.py:92
|
||||||
|
msgid "Duration"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: youtube/i18n_strings.py:93
|
||||||
|
msgid "Short (< 4 minutes)"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: youtube/i18n_strings.py:94
|
||||||
|
msgid "Long (> 20 minutes)"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: youtube/i18n_strings.py:97 youtube/templates/base.html:45
|
||||||
|
msgid "Search"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: youtube/i18n_strings.py:98 youtube/templates/watch.html:104
|
||||||
|
msgid "Download"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: youtube/i18n_strings.py:99
|
||||||
|
msgid "Subscribe"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: youtube/i18n_strings.py:100
|
||||||
|
msgid "Unsubscribe"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: youtube/i18n_strings.py:101
|
||||||
|
msgid "Import"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: youtube/i18n_strings.py:102
|
||||||
|
msgid "Export"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: youtube/i18n_strings.py:103
|
||||||
|
msgid "Save"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: youtube/i18n_strings.py:104
|
||||||
|
msgid "Check"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: youtube/i18n_strings.py:105
|
||||||
|
msgid "Mute"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: youtube/i18n_strings.py:106
|
||||||
|
msgid "Unmute"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: youtube/i18n_strings.py:109 youtube/templates/base.html:51
|
||||||
|
msgid "Options"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: youtube/i18n_strings.py:110
|
||||||
|
msgid "Settings"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: youtube/i18n_strings.py:111
|
||||||
|
msgid "Error"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: youtube/i18n_strings.py:112
|
||||||
|
msgid "loading..."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: youtube/i18n_strings.py:115
|
||||||
|
msgid "Top"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: youtube/i18n_strings.py:116
|
||||||
|
msgid "Newest"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: youtube/i18n_strings.py:117
|
||||||
|
msgid "Auto"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: youtube/i18n_strings.py:118
|
||||||
|
msgid "English"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: youtube/i18n_strings.py:119
|
||||||
|
msgid "Español"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: youtube/i18n_strings.py:122
|
||||||
|
msgid "Auto (HLS preferred)"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: youtube/i18n_strings.py:123
|
||||||
|
msgid "Force HLS"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: youtube/i18n_strings.py:124
|
||||||
|
msgid "Force DASH"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: youtube/i18n_strings.py:125
|
||||||
|
msgid "#1"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: youtube/i18n_strings.py:126
|
||||||
|
msgid "#2"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: youtube/i18n_strings.py:127
|
||||||
|
msgid "#3"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: youtube/i18n_strings.py:130 youtube/templates/settings.html:53
|
||||||
|
msgid "Save settings"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: youtube/i18n_strings.py:133
|
||||||
|
msgid "Other"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: youtube/i18n_strings.py:136
|
||||||
|
msgid "Playback mode"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: youtube/i18n_strings.py:139
|
||||||
|
msgid "Autocheck subscriptions"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: youtube/i18n_strings.py:140
|
||||||
|
msgid "Include shorts in subscriptions"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: youtube/i18n_strings.py:141
|
||||||
|
msgid "Include shorts in channel"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: youtube/templates/base.html:44
|
||||||
|
msgid "Type to search..."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: youtube/templates/comments.html:61
|
||||||
|
msgid "More comments"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: youtube/templates/watch.html:100
|
||||||
|
msgid "Direct Link"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: youtube/templates/watch.html:152
|
||||||
|
msgid "More info"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: youtube/templates/watch.html:176 youtube/templates/watch.html:203
|
||||||
|
msgid "AutoNext"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: youtube/templates/watch.html:225
|
||||||
|
msgid "Related Videos"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: youtube/templates/watch.html:239
|
||||||
|
msgid "Comments disabled"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: youtube/templates/watch.html:242
|
||||||
|
msgid "Comment"
|
||||||
|
msgstr ""
|
||||||
|
|||||||
@@ -110,3 +110,32 @@ OPTIONS = _l('Options')
|
|||||||
SETTINGS = _l('Settings')
|
SETTINGS = _l('Settings')
|
||||||
ERROR = _l('Error')
|
ERROR = _l('Error')
|
||||||
LOADING = _l('loading...')
|
LOADING = _l('loading...')
|
||||||
|
|
||||||
|
# Settings option values
|
||||||
|
TOP = _l('Top')
|
||||||
|
NEWEST = _l('Newest')
|
||||||
|
AUTO = _l('Auto')
|
||||||
|
ENGLISH = _l('English')
|
||||||
|
ESPANOL = _l('Español')
|
||||||
|
|
||||||
|
# Playback options
|
||||||
|
AUTO_HLS_PREFERRED = _l('Auto (HLS preferred)')
|
||||||
|
FORCE_HLS = _l('Force HLS')
|
||||||
|
FORCE_DASH = _l('Force DASH')
|
||||||
|
RANKING_1 = _l('#1')
|
||||||
|
RANKING_2 = _l('#2')
|
||||||
|
RANKING_3 = _l('#3')
|
||||||
|
|
||||||
|
# Form actions
|
||||||
|
SAVE_SETTINGS = _l('Save settings')
|
||||||
|
|
||||||
|
# Other category
|
||||||
|
OTHER = _l('Other')
|
||||||
|
|
||||||
|
# Settings labels
|
||||||
|
PLAYBACK_MODE = _l('Playback mode')
|
||||||
|
|
||||||
|
# Subscription settings (may be used in future)
|
||||||
|
AUTOCHECK_SUBSCRIPTIONS = _l('Autocheck subscriptions')
|
||||||
|
INCLUDE_SHORTS_SUBSCRIPTIONS = _l('Include shorts in subscriptions')
|
||||||
|
INCLUDE_SHORTS_CHANNEL = _l('Include shorts in channel')
|
||||||
|
|||||||
@@ -58,7 +58,7 @@
|
|||||||
{% endfor %}
|
{% endfor %}
|
||||||
</div>
|
</div>
|
||||||
{% if 'more_comments_url' is in comments_info %}
|
{% if 'more_comments_url' is in comments_info %}
|
||||||
<a class="page-button more-comments" href="{{ comments_info['more_comments_url'] }}">More comments</a>
|
<a class="page-button more-comments" href="{{ comments_info['more_comments_url'] }}">{{ _('More comments') }}</a>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
{% endif %}
|
{% endif %}
|
||||||
|
|
||||||
|
|||||||
@@ -7,15 +7,15 @@
|
|||||||
{% block main %}
|
{% block main %}
|
||||||
<form method="POST" class="settings-form">
|
<form method="POST" class="settings-form">
|
||||||
{% for categ in categories %}
|
{% for categ in categories %}
|
||||||
<h2>{{ categ|capitalize }}</h2>
|
<h2>{{ _(categ|capitalize) }}</h2>
|
||||||
<ul class="settings-list">
|
<ul class="settings-list">
|
||||||
{% for setting_name, setting_info, value in settings_by_category[categ] %}
|
{% for setting_name, setting_info, value in settings_by_category[categ] %}
|
||||||
{% if not setting_info.get('hidden', false) %}
|
{% if not setting_info.get('hidden', false) %}
|
||||||
<li class="setting-item">
|
<li class="setting-item">
|
||||||
{% if 'label' is in(setting_info) %}
|
{% if 'label' is in(setting_info) %}
|
||||||
<label for="{{ 'setting_' + setting_name }}" {% if 'comment' is in(setting_info) %}title="{{ setting_info['comment'] }}" {% endif %}>{{ setting_info['label'] }}</label>
|
<label for="{{ 'setting_' + setting_name }}" {% if 'comment' is in(setting_info) %}title="{{ setting_info['comment'] }}" {% endif %}>{{ _(setting_info['label']) }}</label>
|
||||||
{% else %}
|
{% else %}
|
||||||
<label for="{{ 'setting_' + setting_name }}" {% if 'comment' is in(setting_info) %}title="{{ setting_info['comment'] }}" {% endif %}>{{ setting_name.replace('_', ' ')|capitalize }}</label>
|
<label for="{{ 'setting_' + setting_name }}" {% if 'comment' is in(setting_info) %}title="{{ setting_info['comment'] }}" {% endif %}>{{ _(setting_name.replace('_', ' ')|capitalize) }}</label>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
|
|
||||||
{% if setting_info['type'].__name__ == 'bool' %}
|
{% if setting_info['type'].__name__ == 'bool' %}
|
||||||
@@ -24,7 +24,7 @@
|
|||||||
{% if 'options' is in(setting_info) %}
|
{% if 'options' is in(setting_info) %}
|
||||||
<select id="{{ 'setting_' + setting_name }}" name="{{ setting_name }}">
|
<select id="{{ 'setting_' + setting_name }}" name="{{ setting_name }}">
|
||||||
{% for option in setting_info['options'] %}
|
{% for option in setting_info['options'] %}
|
||||||
<option value="{{ option[0] }}" {{ 'selected' if option[0] == value else '' }}>{{ option[1] }}</option>
|
<option value="{{ option[0] }}" {{ 'selected' if option[0] == value else '' }}>{{ _(option[1]) }}</option>
|
||||||
{% endfor %}
|
{% endfor %}
|
||||||
</select>
|
</select>
|
||||||
{% else %}
|
{% else %}
|
||||||
@@ -36,7 +36,7 @@
|
|||||||
{% if 'options' is in(setting_info) %}
|
{% if 'options' is in(setting_info) %}
|
||||||
<select id="{{ 'setting_' + setting_name }}" name="{{ setting_name }}">
|
<select id="{{ 'setting_' + setting_name }}" name="{{ setting_name }}">
|
||||||
{% for option in setting_info['options'] %}
|
{% for option in setting_info['options'] %}
|
||||||
<option value="{{ option[0] }}" {{ 'selected' if option[0] == value else '' }}>{{ option[1] }}</option>
|
<option value="{{ option[0] }}" {{ 'selected' if option[0] == value else '' }}>{{ _(option[1]) }}</option>
|
||||||
{% endfor %}
|
{% endfor %}
|
||||||
</select>
|
</select>
|
||||||
{% else %}
|
{% else %}
|
||||||
@@ -50,6 +50,6 @@
|
|||||||
{% endfor %}
|
{% endfor %}
|
||||||
</ul>
|
</ul>
|
||||||
{% endfor %}
|
{% endfor %}
|
||||||
<input type="submit" value="Save settings">
|
<input type="submit" value="{{ _('Save settings') }}">
|
||||||
</form>
|
</form>
|
||||||
{% endblock main %}
|
{% endblock main %}
|
||||||
|
|||||||
@@ -97,11 +97,11 @@
|
|||||||
</div>
|
</div>
|
||||||
<input class="v-checkbox" name="video_info_list" value="{{ video_info }}" form="playlist-edit" type="checkbox">
|
<input class="v-checkbox" name="video_info_list" value="{{ video_info }}" form="playlist-edit" type="checkbox">
|
||||||
|
|
||||||
<span class="v-direct-link"><a href="https://youtu.be/{{ video_id }}" rel="noopener noreferrer" target="_blank">Direct Link</a></span>
|
<span class="v-direct-link"><a href="https://youtu.be/{{ video_id }}" rel="noopener noreferrer" target="_blank">{{ _('Direct Link') }}</a></span>
|
||||||
|
|
||||||
{% if settings.use_video_download != 0 %}
|
{% if settings.use_video_download != 0 %}
|
||||||
<details class="v-download">
|
<details class="v-download">
|
||||||
<summary class="download-dropdown-label">Download</summary>
|
<summary class="download-dropdown-label">{{ _('Download') }}</summary>
|
||||||
<ul class="download-dropdown-content">
|
<ul class="download-dropdown-content">
|
||||||
{% for format in download_formats %}
|
{% for format in download_formats %}
|
||||||
<li class="download-format">
|
<li class="download-format">
|
||||||
@@ -149,7 +149,7 @@
|
|||||||
{% endif %}
|
{% endif %}
|
||||||
</div>
|
</div>
|
||||||
<details class="v-more-info">
|
<details class="v-more-info">
|
||||||
<summary>More info</summary>
|
<summary>{{ _('More info') }}</summary>
|
||||||
<div class="more-info-content">
|
<div class="more-info-content">
|
||||||
<p>Tor exit node: {{ ip_address }}</p>
|
<p>Tor exit node: {{ ip_address }}</p>
|
||||||
{% if invidious_used %}
|
{% if invidious_used %}
|
||||||
@@ -173,7 +173,7 @@
|
|||||||
<div class="playlist-header">
|
<div class="playlist-header">
|
||||||
<a href="{{ playlist['url'] }}" title="{{ playlist['title'] }}"><h3>{{ playlist['title'] }}</h3></a>
|
<a href="{{ playlist['url'] }}" title="{{ playlist['title'] }}"><h3>{{ playlist['title'] }}</h3></a>
|
||||||
<ul class="playlist-metadata">
|
<ul class="playlist-metadata">
|
||||||
<li><label for="playlist-autoplay-toggle">Autoplay: </label><input id="playlist-autoplay-toggle" type="checkbox" class="autoplay-toggle"></li>
|
<li><label for="playlist-autoplay-toggle">{{ _('AutoNext') }}: </label><input id="playlist-autoplay-toggle" type="checkbox" class="autoplay-toggle"></li>
|
||||||
{% if playlist['current_index'] is none %}
|
{% if playlist['current_index'] is none %}
|
||||||
<li>[Error!]/{{ playlist['video_count'] }}</li>
|
<li>[Error!]/{{ playlist['video_count'] }}</li>
|
||||||
{% else %}
|
{% else %}
|
||||||
@@ -200,7 +200,7 @@
|
|||||||
</nav>
|
</nav>
|
||||||
</div>
|
</div>
|
||||||
{% elif settings.related_videos_mode != 0 %}
|
{% elif settings.related_videos_mode != 0 %}
|
||||||
<div class="related-autoplay"><label for="related-autoplay-toggle">Autoplay: </label><input id="related-autoplay-toggle" type="checkbox" class="autoplay-toggle"></div>
|
<div class="related-autoplay"><label for="related-autoplay-toggle">{{ _('AutoNext') }}: </label><input id="related-autoplay-toggle" type="checkbox" class="autoplay-toggle"></div>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
|
|
||||||
{% if subtitle_sources %}
|
{% if subtitle_sources %}
|
||||||
@@ -222,7 +222,7 @@
|
|||||||
|
|
||||||
{% if settings.related_videos_mode != 0 %}
|
{% if settings.related_videos_mode != 0 %}
|
||||||
<details class="related-videos-outer" {{'open' if settings.related_videos_mode == 1 else ''}}>
|
<details class="related-videos-outer" {{'open' if settings.related_videos_mode == 1 else ''}}>
|
||||||
<summary>Related Videos</summary>
|
<summary>{{ _('Related Videos') }}</summary>
|
||||||
<nav class="related-videos-inner">
|
<nav class="related-videos-inner">
|
||||||
{% for info in related %}
|
{% for info in related %}
|
||||||
{{ common_elements.item(info, include_badges=false) }}
|
{{ common_elements.item(info, include_badges=false) }}
|
||||||
@@ -236,10 +236,10 @@
|
|||||||
<!-- comments -->
|
<!-- comments -->
|
||||||
{% if settings.comments_mode != 0 %}
|
{% if settings.comments_mode != 0 %}
|
||||||
{% if comments_disabled %}
|
{% if comments_disabled %}
|
||||||
<div class="comments-area-outer comments-disabled">Comments disabled</div>
|
<div class="comments-area-outer comments-disabled">{{ _('Comments disabled') }}</div>
|
||||||
{% else %}
|
{% else %}
|
||||||
<details class="comments-area-outer" {{'open' if settings.comments_mode == 1 else ''}}>
|
<details class="comments-area-outer" {{'open' if settings.comments_mode == 1 else ''}}>
|
||||||
<summary>{{ comment_count|commatize }} comment{{'s' if comment_count != '1' else ''}}</summary>
|
<summary>{{ comment_count|commatize }} {{ _('Comment') }}{{'s' if comment_count != '1' else ''}}</summary>
|
||||||
<div class="comments-area-inner comments-area">
|
<div class="comments-area-inner comments-area">
|
||||||
{% if comments_info %}
|
{% if comments_info %}
|
||||||
{{ comments.video_comments(comments_info) }}
|
{{ comments.video_comments(comments_info) }}
|
||||||
|
|||||||
Reference in New Issue
Block a user