From 5c05a2a75030baca205c04fb5da683d0b8d2f13f Mon Sep 17 00:00:00 2001 From: MoojMidge <56883549+MoojMidge@users.noreply.github.com> Date: Mon, 11 Mar 2024 23:28:04 +1100 Subject: [PATCH 01/13] Reorganise settings - Merge MPD and non-adaptive video quality settings - Move less commonly used settings to Advanced tab including - Client options - InputStream Adaptive - History - Misc view related settings - Language and region - Mark as watched - Internet/network - HTTP Server - Update script commands to pass parameters as query part of script uri - Update maintenance action to include watch later list - Use setup wizard in main menu by default rather than full settings - Full settings available as separate menu item --- .../resource.language.en_gb/strings.po | 35 +- .../kodion/context/xbmc/xbmc_context.py | 10 +- .../youtube_plugin/kodion/script_actions.py | 150 +-- .../lib/youtube_plugin/youtube/provider.py | 20 +- resources/settings.xml | 854 +++++++++--------- 5 files changed, 548 insertions(+), 521 deletions(-) diff --git a/resources/language/resource.language.en_gb/strings.po b/resources/language/resource.language.en_gb/strings.po index 406008349..6ab7fe3fb 100644 --- a/resources/language/resource.language.en_gb/strings.po +++ b/resources/language/resource.language.en_gb/strings.po @@ -129,11 +129,11 @@ msgid "Cache size (MB)" msgstr "" msgctxt "#30025" -msgid "Enable setup-wizard" +msgid "Enable Setup Wizard" msgstr "" msgctxt "#30026" -msgid "Override view" +msgid "Override views" msgstr "" msgctxt "#30027" @@ -406,11 +406,11 @@ msgid "Select region" msgstr "" msgctxt "#30526" -msgid "Adjust" +msgid "Setup Wizard" msgstr "" msgctxt "#30527" -msgid "Language and region?" +msgid "Language and Region" msgstr "" msgctxt "#30528" @@ -702,7 +702,7 @@ msgid "Failed to enable personal API keys. Missing: %s" msgstr "" msgctxt "#30600" -msgid "Configure subtitles" +msgid "Subtitles" msgstr "" msgctxt "#30601" @@ -786,7 +786,7 @@ msgid "Port %s already in use. Cannot start http server." msgstr "" msgctxt "#30621" -msgid "Proxy is required for MPEG-DASH VODs (see HTTP Server)" +msgid "Proxy is required for MPEG-DASH VODs (see Advanced > HTTP Server)" msgstr "" msgctxt "#30622" @@ -834,7 +834,7 @@ msgid "Enable API configuration page" msgstr "" msgctxt "#30633" -msgid "http://:/youtube/api (see HTTP Server)" +msgid "http://:/youtube/api (see Advanced > HTTP Server)" msgstr "" msgctxt "#30634" @@ -990,7 +990,7 @@ msgid "Clear playback history" msgstr "" msgctxt "#30672" -msgid "Delete playback history" +msgid "Delete playback history database" msgstr "" msgctxt "#30673" @@ -1194,7 +1194,7 @@ msgid "Enable HDR video" msgstr "" msgctxt "#30723" -msgid "Proxy is required for MPEG-DASH VODs (see HTTP Server)[CR]HDR and >1080p video requires InputStream Adaptive >= 2.3.14" +msgid "Proxy is required for MPEG-DASH VODs (see Advanced > HTTP Server)[CR]HDR and >1080p video requires InputStream Adaptive >= 2.3.14" msgstr "" msgctxt "#30724" @@ -1404,3 +1404,20 @@ msgstr "" msgctxt "#30775" msgid "%s (translation)" msgstr "" + +msgctxt "#30776" +msgid "Ask + Automatic + Quality selection" +msgstr "" + + +msgctxt "#30780" +msgid "Clear local watch later list" +msgstr "" + +msgctxt "#30781" +msgid "Delete watch later database" +msgstr "" + +msgctxt "#30782" +msgid "local watch later list" +msgstr "" diff --git a/resources/lib/youtube_plugin/kodion/context/xbmc/xbmc_context.py b/resources/lib/youtube_plugin/kodion/context/xbmc/xbmc_context.py index 0e1a1f177..b4f0980a7 100644 --- a/resources/lib/youtube_plugin/kodion/context/xbmc/xbmc_context.py +++ b/resources/lib/youtube_plugin/kodion/context/xbmc/xbmc_context.py @@ -50,8 +50,6 @@ class XbmcContext(AbstractContext): 'are_you_sure': 30703, 'auto_remove_watch_later': 30515, 'browse_channels': 30512, - 'cache.data': 30687, - 'cache.function': 30557, 'cancel': 30615, 'channels': 30500, 'client.id.incorrect': 30649, @@ -112,6 +110,11 @@ class XbmcContext(AbstractContext): 'live': 30539, 'live.completed': 30647, 'live.upcoming': 30646, + 'maintenance.data_cache': 30687, + 'maintenance.function_cache': 30557, + 'maintenance.playback_history': 30673, + 'maintenance.search_history': 30558, + 'maintenance.watch_later': 30782, 'must_be_signed_in': 30616, 'my_channel': 30507, 'my_location': 30654, @@ -124,7 +127,6 @@ class XbmcContext(AbstractContext): 'next_page': 30106, 'none': 30561, 'perform_geolocation': 30653, - 'playback.history': 30673, 'playlist.added_to': 30714, 'playlist.create': 30522, 'playlist.play.all': 30531, @@ -153,7 +155,6 @@ class XbmcContext(AbstractContext): 'saved.playlists': 30611, 'search': 30102, 'search.clear': 30120, - 'search.history': 30558, 'search.new': 30110, 'search.quick': 30605, 'search.quick.incognito': 30606, @@ -168,6 +169,7 @@ class XbmcContext(AbstractContext): 'setup_wizard.execute': 30030, 'setup_wizard.select_language': 30524, 'setup_wizard.select_region': 30525, + 'setup_wizard': 30526, 'sign.enter_code': 30519, 'sign.go_to': 30518, 'sign.in': 30111, diff --git a/resources/lib/youtube_plugin/kodion/script_actions.py b/resources/lib/youtube_plugin/kodion/script_actions.py index 36569eddc..595213cf5 100644 --- a/resources/lib/youtube_plugin/kodion/script_actions.py +++ b/resources/lib/youtube_plugin/kodion/script_actions.py @@ -12,15 +12,14 @@ import os import socket -from .compatibility import parse_qsl, xbmc, xbmcaddon, xbmcvfs from .constants import DATA_PATH, TEMP_PATH +from .compatibility import parse_qsl, urlsplit, xbmc, xbmcaddon, xbmcvfs from .context import XbmcContext from .network import get_client_ip_address, is_httpd_live from .utils import rm_dir -def _config_actions(action, *_args): - context = XbmcContext() +def _config_actions(context, action, *_args): localize = context.localize settings = context.get_settings() ui = context.get_ui() @@ -105,78 +104,78 @@ def _config_actions(action, *_args): ui.show_notification(context.localize('httpd.not.running')) -def _maintenance_actions(action, target): - context = XbmcContext() +def _maintenance_actions(context, action, params): + target = params.get('target') + ui = context.get_ui() localize = context.localize if action == 'clear': - if target == 'function_cache': - if ui.on_remove_content(localize('cache.function')): - context.get_function_cache().clear() - ui.show_notification(localize('succeeded')) - elif target == 'data_cache': - if ui.on_remove_content(localize('cache.data')): - context.get_data_cache().clear() - ui.show_notification(localize('succeeded')) - elif target == 'search_cache': - if ui.on_remove_content(localize('search.history')): - context.get_search_history().clear() - ui.show_notification(localize('succeeded')) - elif (target == 'playback_history' and ui.on_remove_content( - localize('playback.history') - )): - context.get_playback_history().clear() + targets = { + 'data_cache': context.get_data_cache, + 'function_cache': context.get_function_cache, + 'playback_history': context.get_playback_history, + 'search_history': context.get_search_history, + 'watch_later': context.get_watch_later_list, + } + if target not in targets: + return + + if ui.on_remove_content( + localize('maintenance.{0}'.format(target)) + ): + targets[target]().clear() ui.show_notification(localize('succeeded')) elif action == 'delete': - _maint_files = {'function_cache': 'cache.sqlite', - 'search_cache': 'search.sqlite', - 'data_cache': 'data_cache.sqlite', - 'playback_history': 'playback_history', - 'settings_xml': 'settings.xml', - 'api_keys': 'api_keys.json', - 'access_manager': 'access_manager.json', - 'temp_files': TEMP_PATH} - _file = _maint_files.get(target) - succeeded = False - - if not _file: + path = params.get('path') + targets = { + 'data_cache': 'data_cache.sqlite', + 'function_cache': 'cache.sqlite', + 'playback_history': 'history.sqlite', + 'search_history': 'search.sqlite', + 'watch_later': 'watch_later.sqlite', + 'api_keys': 'api_keys.json', + 'access_manager': 'access_manager.json', + 'settings_xml': 'settings.xml', + 'temp_dir': (TEMP_PATH,), + } + path = targets.get(target) + if not path: return - data_path = xbmcvfs.translatePath(DATA_PATH) - if 'sqlite' in _file: - _file_w_path = os.path.join(data_path, 'kodion', _file) - elif target == 'temp_files': - _file_w_path = _file - elif target == 'playback_history': - _file = ''.join(( - context.get_access_manager().get_current_user_id(), - '.sqlite' - )) - _file_w_path = os.path.join(data_path, 'playback', _file) + if target == 'temp_dir': + target = path[0] else: - _file_w_path = os.path.join(data_path, _file) - - if not ui.on_delete_content(_file): + target = path + if not ui.on_delete_content(target): return - if target == 'temp_files': - succeeded = rm_dir(_file_w_path) - - elif _file_w_path: - succeeded = xbmcvfs.delete(_file_w_path) + if isinstance(path, tuple): + pass + elif path.endswith('.sqlite'): + path = ( + DATA_PATH, + context.get_access_manager().get_current_user_id(), + path, + ) + else: + path = ( + DATA_PATH, + path, + ) - if succeeded: - ui.show_notification(localize('succeeded')) + if len(path) == 1: + succeeded = rm_dir(path[0]) else: - ui.show_notification(localize('failed')) + succeeded = xbmcvfs.delete(os.path.join(*path)) + ui.show_notification(localize('succeeded' if succeeded else 'failed')) -def _user_actions(action, params): - context = XbmcContext() +def _user_actions(context, action, params): if params: - context.parse_params(dict(parse_qsl(params))) + context.parse_params(params) + localize = context.localize access_manager = context.get_access_manager() ui = context.get_ui() @@ -284,20 +283,25 @@ def switch_to_user(user): def run(argv): + context = XbmcContext() + + category = action = params = None args = argv[1:] if args: - args = args[0].split('/') - - num_args = len(args) - if num_args > 2: - category, action, params = args[:3] - elif num_args == 2: - category, action = args - params = None - elif num_args: - category = args[0] - action = params = None - else: + args = urlsplit(args[0]) + + path = args.path + if path: + path = path.split('/') + category = path[0] + if len(path) >= 2: + action = path[1] + + params = args.query + if params: + params = dict(parse_qsl(args.query)) + + if not category: xbmcaddon.Addon().openSettings() return @@ -306,13 +310,13 @@ def run(argv): return if category == 'config': - _config_actions(action, params) + _config_actions(context, action, params) return if category == 'maintenance': - _maintenance_actions(action, params) + _maintenance_actions(context, action, params) return if category == 'users': - _user_actions(action, params) + _user_actions(context, action, params) return diff --git a/resources/lib/youtube_plugin/youtube/provider.py b/resources/lib/youtube_plugin/youtube/provider.py index eaf3d32c8..141523607 100644 --- a/resources/lib/youtube_plugin/youtube/provider.py +++ b/resources/lib/youtube_plugin/youtube/provider.py @@ -820,6 +820,9 @@ def on_search(self, search_text, context, re_match): @RegisterProviderPath('^/config/(?P[^/]+)/$') def configure_addon(self, context, re_match): action = re_match.group('action') + if action == 'setup_wizard': + self.run_wizard(context) + return False return UriItem('{addon},config/{action}'.format( addon=ADDON_ID, action=action )) @@ -872,9 +875,11 @@ def maintenance_actions(self, context, re_match): action = re_match.group('action') if action != 'reset': - return UriItem('{addon},maintenance/{action}/{target}'.format( - addon=ADDON_ID, action=action, target=target - )) + return UriItem( + '{addon},maintenance/{action}/?target={target}'.format( + addon=ADDON_ID, action=action, target=target, + ) + ) ui = context.get_ui() localize = context.localize @@ -1320,6 +1325,15 @@ def on_root(self, context, re_match): result.append(sign_out_item) if settings.get_bool('youtube.folder.settings.show', True): + settings_menu_item = DirectoryItem( + localize('setup_wizard'), + create_uri(('config', 'setup_wizard')), + image='{media}/settings.png', + action=True, + ) + result.append(settings_menu_item) + + if settings.get_bool('youtube.folder.settings.advanced.show', True): settings_menu_item = DirectoryItem( localize('settings'), create_uri(('config', 'youtube')), diff --git a/resources/settings.xml b/resources/settings.xml index c07d24083..6dcc763c4 100644 --- a/resources/settings.xml +++ b/resources/settings.xml @@ -3,265 +3,108 @@
- + 0 - 3 - - - - - - - - - - - - false - - - + true + - + + + 0 - false + true - false + true - - 0 - false - - - + 0 + 3 - true + + + + + + - - true - - true - - - RunScript($ID,config/subtitles) - - true - - - - 0 - 0 - - - false + + true + true + - - - + - + 0 false - false - - - - - - 0 - false - - - - 0 - false - - - - 0 - 85 - - 1 - 1 - 99 - - - - true - - - - false - - - - 0 - true - - - - 0 - false - - - - 0 - false - - - true + + false + false + - - 0 - false - - - - - + 0 - 1 + 4 - - + + + + + + + + - - - - 0 - true - - - - 0 - true - - true + + + true + true + - - - - 0 - 50 - - 5 - 5 - 50 - - - false - - - - 0 - 10 - - 0 - 10 - 200 - - - false - - - - 0 - 0 - - - - - - - - - 0 - true - - - - - - - - 0 - true - - - System.HasAddon(inputstream.adaptive) - - - - - - 0 - - true - - - - true - - - RunScript($ID,config/isa) - - true - - - - - - 0 - true - - - true - - - - - + 0 - 4 + 3 - - - - + + + + false + false + + - true + false - + 0 - - - - - - - + false - true + + + true + true + 4 + + + + false + false + + false + + - + + + + 0 + + true + + RunScript($ID,config/subtitles) + + true + + + + 4 + 0 + + + + + + 4 + false + - - + + 0 - 2 + 50 - - - - - - + 5 + 5 + 50 - + + false + + + + 0 + false + + + + + + 0 + false + + + + 0 + false + + + + 0 + false - - true + + true + - + + + 0 - 0 + 0 - - + + + - - - false - - + + 0 + true + + - - + + + + 0 + true - - - - true - 1 - 1 - - - - RunScript($ID,config/inputstreamhelper) - + + 30201 + + + + 0 + + + true + + + 30202 + + + + 0 + + + true + + + 30203 + + + + 0 + true + + + + + + 0 + false + @@ -467,12 +392,8 @@ 0 - true - - - false - - + false + false @@ -538,12 +459,8 @@ 0 - true - - - false - - + false + false @@ -581,11 +498,16 @@ true - + 0 true + + 0 + false + + @@ -606,84 +528,165 @@ RunScript($ID,users/remove) - + + 0 + + true + + RunScript($ID,users/rename) + + + + 0 + + true + + RunScript($ID,users/switch?refresh=True) + + + + + + + + 0 + 0 + + + + + + + + + + + 0 + false + + + + 0 + false + + + true + + + + + + + + 0 + true + + + System.HasAddon(inputstream.adaptive) + + + + + + 0 + + true + + + + true + + + RunScript($ID,config/isa) + + true + + + 0 true - RunScript($ID,users/rename) + + + true + + + RunScript($ID,config/inputstreamhelper) - + 0 + 2 - true + + + + + + - RunScript($ID,users/switch/refresh=True) - + + + + true + + - - - - - + 0 - 0 + 0 - - - + + + + + false + + - + + + 0 true - + 0 - 9 + false + + + + 0 + 20 - 3 - 3 - 120 + 5 + 1 + 100 false - 14045 - + 0 - 27 + 10 - 10 - 1 - 120 + 0 + 10 + 200 false - 14045 - - 0 - false - - - - 0 - false - - - true - - - - + + 0 true @@ -694,47 +697,38 @@ true - - - - 0 - true - - - - 0 - false - - - - - + 0 - 20 + 1 - 5 - 1 - 100 + + + + - - false - + - + 0 true - - - + 0 - en-US + true - false + true + + + + + + 0 + en-US + false 30523 @@ -742,11 +736,7 @@ 0 US - - - false - - + false 30550 @@ -757,11 +747,6 @@ true - - - true - - 30651 @@ -774,27 +759,72 @@ 1 1000 - - - true - - false - - - + + + 0 + 85 + + 1 + 1 + 99 + + + false + + + + 0 + true + + + + 0 + false + + + + + + 0 + true + + + + 0 + 9 + + 3 + 3 + 120 + + + false + 14045 + + + + 0 + 27 + + 10 + 1 + 120 + + + false + 14045 + + + + 0 0.0.0.0 - - - true - - 30643 @@ -816,11 +846,6 @@ 0 65535 - - - true - - 30619 @@ -831,11 +856,6 @@ true - - - true - - 30629 @@ -850,118 +870,88 @@ - + - - 0 - - - true - - - 30201 - - - + 0 - true - - 30202 - + RunScript($ID,maintenance/clear?target=function_cache) + - + 0 - true - - 30203 - - - - 0 - true - - - - - - 0 - false - + RunScript($ID,maintenance/clear?target=data_cache) + - - - - - + 0 true - RunScript($ID,maintenance/clear/function_cache) + RunScript($ID,maintenance/clear?target=search_history) - + 0 true - RunScript($ID,maintenance/clear/data_cache) + RunScript($ID,maintenance/clear?target=playback_history) - + 0 true - RunScript($ID,maintenance/clear/search_cache) + RunScript($ID,maintenance/clear?target=watch_later) - + + + 0 true - RunScript($ID,maintenance/clear/playback_history) + RunScript($ID,maintenance/delete?target=function_cache) - - - + 0 true - RunScript($ID,maintenance/delete/function_cache) + RunScript($ID,maintenance/delete?target=data_cache) - + 0 true - RunScript($ID,maintenance/delete/data_cache) + RunScript($ID,maintenance/delete?target=search_history) - + 0 true - RunScript($ID,maintenance/delete/search_cache) + RunScript($ID,maintenance/delete?target=playback_history) - + 0 true - RunScript($ID,maintenance/delete/playback_history) + RunScript($ID,maintenance/delete?target=watch_later) @@ -971,7 +961,7 @@ true - RunPlugin(plugin://$ID/maintenance/reset/access_manager) + RunPlugin(plugin://$ID/maintenance/reset/access_manager/) true @@ -983,7 +973,7 @@ true - RunScript($ID,maintenance/delete/settings_xml) + RunScript($ID,maintenance/delete?target=settings_xml) true @@ -993,7 +983,7 @@ true - RunScript($ID,maintenance/delete/api_keys) + RunScript($ID,maintenance/delete?target=api_keys) @@ -1001,7 +991,7 @@ true - RunScript($ID,maintenance/delete/access_manager) + RunScript($ID,maintenance/delete?target=access_manager) @@ -1009,7 +999,7 @@ true - RunScript($ID,maintenance/delete/temp_files) + RunScript($ID,maintenance/delete?target=temp_dir) From ff94ca85209a6abc80d12f634931db84034afc13 Mon Sep 17 00:00:00 2001 From: MoojMidge <56883549+MoojMidge@users.noreply.github.com> Date: Mon, 11 Mar 2024 23:29:52 +1100 Subject: [PATCH 02/13] Update Settings.ask_for_quality to check new stream select option --- .../lib/youtube_plugin/kodion/settings/abstract_settings.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/resources/lib/youtube_plugin/kodion/settings/abstract_settings.py b/resources/lib/youtube_plugin/kodion/settings/abstract_settings.py index 5100e1af4..80909d864 100644 --- a/resources/lib/youtube_plugin/kodion/settings/abstract_settings.py +++ b/resources/lib/youtube_plugin/kodion/settings/abstract_settings.py @@ -79,7 +79,8 @@ def get_video_quality(self, quality_map_override=None): return vq_dict[vq] def ask_for_video_quality(self): - return self.get_bool(settings.VIDEO_QUALITY_ASK, False) + return (self.get_bool(settings.VIDEO_QUALITY_ASK, False) + or self.get_int(settings.MPD_STREAM_SELECT) == 4) def show_fanart(self): return self.get_bool(settings.SHOW_FANART, True) @@ -299,6 +300,7 @@ def stream_features(self): 1: 'auto', 2: 'list', 3: 'auto+list', + 4: 'ask+auto+list', } def stream_select(self): From 4049d0bd6c1564c77527989c3a5581022d926df1 Mon Sep 17 00:00:00 2001 From: MoojMidge <56883549+MoojMidge@users.noreply.github.com> Date: Mon, 11 Mar 2024 23:35:21 +1100 Subject: [PATCH 03/13] Update Settings.stream_select to use current default value - Default to Auto + Quality Select --- .../lib/youtube_plugin/kodion/settings/abstract_settings.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/resources/lib/youtube_plugin/kodion/settings/abstract_settings.py b/resources/lib/youtube_plugin/kodion/settings/abstract_settings.py index 80909d864..1c0f60446 100644 --- a/resources/lib/youtube_plugin/kodion/settings/abstract_settings.py +++ b/resources/lib/youtube_plugin/kodion/settings/abstract_settings.py @@ -304,8 +304,8 @@ def stream_features(self): } def stream_select(self): - select_type = self.get_int(settings.MPD_STREAM_SELECT, 1) - return self._STREAM_SELECT.get(select_type) or self._STREAM_SELECT[1] + select_type = self.get_int(settings.MPD_STREAM_SELECT, 3) + return self._STREAM_SELECT.get(select_type) or self._STREAM_SELECT[3] def hide_short_videos(self): return self.get_bool(settings.HIDE_SHORT_VIDEOS, False) From d7457427d45a55b6ecb4d2e6838eabf27161ac9e Mon Sep 17 00:00:00 2001 From: MoojMidge <56883549+MoojMidge@users.noreply.github.com> Date: Mon, 11 Mar 2024 23:40:29 +1100 Subject: [PATCH 04/13] Update XbmcContext.execute to poll window property to check if builtin has completed - used for scripts which need to set/clear the associated property on start/exit - wait parameter of xbmc.executebuiltin does not seem to work reliably --- .../kodion/constants/__init__.py | 3 + .../kodion/context/xbmc/xbmc_context.py | 12 +++- .../youtube_plugin/kodion/script_actions.py | 70 ++++++++++--------- 3 files changed, 49 insertions(+), 36 deletions(-) diff --git a/resources/lib/youtube_plugin/kodion/constants/__init__.py b/resources/lib/youtube_plugin/kodion/constants/__init__.py index d392adc67..506ecfd86 100644 --- a/resources/lib/youtube_plugin/kodion/constants/__init__.py +++ b/resources/lib/youtube_plugin/kodion/constants/__init__.py @@ -25,6 +25,8 @@ RESOURCE_PATH = ADDON_PATH + '/resources' TEMP_PATH = 'special://temp/{id}'.format(id=ADDON_ID) +WAIT_FLAG = 'builtin_running' + __all__ = ( 'ADDON_ID', 'ADDON_PATH', @@ -32,6 +34,7 @@ 'MEDIA_PATH', 'RESOURCE_PATH', 'TEMP_PATH', + 'WAIT_FLAG', 'content', 'paths', 'settings', diff --git a/resources/lib/youtube_plugin/kodion/context/xbmc/xbmc_context.py b/resources/lib/youtube_plugin/kodion/context/xbmc/xbmc_context.py index b4f0980a7..b67959a8f 100644 --- a/resources/lib/youtube_plugin/kodion/context/xbmc/xbmc_context.py +++ b/resources/lib/youtube_plugin/kodion/context/xbmc/xbmc_context.py @@ -486,9 +486,15 @@ def clone(self, new_path=None, new_params=None): return new_context - @staticmethod - def execute(command): - xbmc.executebuiltin(command) + def execute(self, command, wait=True, wait_for=None): + xbmc.executebuiltin(command, wait) + if wait_for: + ui = self.get_ui() + monitor = xbmc.Monitor() + while not monitor.abortRequested(): + monitor.waitForAbort(1) + if not ui.get_property(wait_for): + break @staticmethod def sleep(milli_seconds): diff --git a/resources/lib/youtube_plugin/kodion/script_actions.py b/resources/lib/youtube_plugin/kodion/script_actions.py index 595213cf5..e90daa736 100644 --- a/resources/lib/youtube_plugin/kodion/script_actions.py +++ b/resources/lib/youtube_plugin/kodion/script_actions.py @@ -12,8 +12,8 @@ import os import socket -from .constants import DATA_PATH, TEMP_PATH from .compatibility import parse_qsl, urlsplit, xbmc, xbmcaddon, xbmcvfs +from .constants import DATA_PATH, TEMP_PATH, WAIT_FLAG from .context import XbmcContext from .network import get_client_ip_address, is_httpd_live from .utils import rm_dir @@ -284,39 +284,43 @@ def switch_to_user(user): def run(argv): context = XbmcContext() + ui = context.get_ui() + ui.set_property(WAIT_FLAG, 'true') + try: + category = action = params = None + args = argv[1:] + if args: + args = urlsplit(args[0]) + + path = args.path + if path: + path = path.split('/') + category = path[0] + if len(path) >= 2: + action = path[1] + + params = args.query + if params: + params = dict(parse_qsl(args.query)) + + if not category: + xbmcaddon.Addon().openSettings() + return - category = action = params = None - args = argv[1:] - if args: - args = urlsplit(args[0]) - - path = args.path - if path: - path = path.split('/') - category = path[0] - if len(path) >= 2: - action = path[1] - - params = args.query - if params: - params = dict(parse_qsl(args.query)) - - if not category: - xbmcaddon.Addon().openSettings() - return - - if action == 'refresh': - xbmc.executebuiltin('Container.Refresh') - return + if action == 'refresh': + xbmc.executebuiltin('Container.Refresh') + return - if category == 'config': - _config_actions(context, action, params) - return + if category == 'config': + _config_actions(context, action, params) + return - if category == 'maintenance': - _maintenance_actions(context, action, params) - return + if category == 'maintenance': + _maintenance_actions(context, action, params) + return - if category == 'users': - _user_actions(context, action, params) - return + if category == 'users': + _user_actions(context, action, params) + return + finally: + ui.clear_property(WAIT_FLAG) From a473554342a7c4c277c6276e5b8b4a40cea07de5 Mon Sep 17 00:00:00 2001 From: MoojMidge <56883549+MoojMidge@users.noreply.github.com> Date: Tue, 12 Mar 2024 16:11:29 +1100 Subject: [PATCH 05/13] Split base setup wizard into individual steps - Update translation strings and include completion progress --- .../resource.language.en_gb/strings.po | 4 +- .../kodion/abstract_provider.py | 11 +++- .../kodion/context/xbmc/xbmc_context.py | 12 ++-- .../youtube/helper/yt_setup_wizard.py | 63 +++++++++++-------- .../lib/youtube_plugin/youtube/provider.py | 6 +- 5 files changed, 59 insertions(+), 37 deletions(-) diff --git a/resources/language/resource.language.en_gb/strings.po b/resources/language/resource.language.en_gb/strings.po index 6ab7fe3fb..f3268a77c 100644 --- a/resources/language/resource.language.en_gb/strings.po +++ b/resources/language/resource.language.en_gb/strings.po @@ -149,7 +149,7 @@ msgid "View: Movies" msgstr "" msgctxt "#30030" -msgid "Execute setup-wizard?" +msgid "Configure %s?" msgstr "" msgctxt "#30031" @@ -914,7 +914,7 @@ msgid "Location radius (km)" msgstr "" msgctxt "#30653" -msgid "Perform geolocation? Used for [B]My Location[/B]" +msgid "My Location using IP geolocation lookup" msgstr "" msgctxt "#30654" diff --git a/resources/lib/youtube_plugin/kodion/abstract_provider.py b/resources/lib/youtube_plugin/kodion/abstract_provider.py index aca784d3c..01fd7a102 100644 --- a/resources/lib/youtube_plugin/kodion/abstract_provider.py +++ b/resources/lib/youtube_plugin/kodion/abstract_provider.py @@ -89,12 +89,19 @@ def run_wizard(self, context): settings.set_bool(settings.SETUP_WIZARD, False) wizard_steps = self.get_wizard_steps(context) + step = 0 + steps = len(wizard_steps) if (wizard_steps and ui.on_yes_no_input( - context.get_name(), context.localize('setup_wizard.execute') + context.localize('setup_wizard'), + (context.localize('setup_wizard.prompt') + % context.localize('setup_wizard.prompt.settings')) )): for wizard_step in wizard_steps: - wizard_step[0](*wizard_step[1]) + if callable(wizard_step): + step = wizard_step(self, context, step, steps) + else: + step += 1 def get_wizard_steps(self, context): # can be overridden by the derived class diff --git a/resources/lib/youtube_plugin/kodion/context/xbmc/xbmc_context.py b/resources/lib/youtube_plugin/kodion/context/xbmc/xbmc_context.py index b67959a8f..529d83093 100644 --- a/resources/lib/youtube_plugin/kodion/context/xbmc/xbmc_context.py +++ b/resources/lib/youtube_plugin/kodion/context/xbmc/xbmc_context.py @@ -126,7 +126,6 @@ class XbmcContext(AbstractContext): 'my_subscriptions.filtered': 30584, 'next_page': 30106, 'none': 30561, - 'perform_geolocation': 30653, 'playlist.added_to': 30714, 'playlist.create': 30522, 'playlist.play.all': 30531, @@ -164,12 +163,13 @@ class XbmcContext(AbstractContext): 'select.listen.ip': 30644, 'select_video_quality': 30010, 'settings': 30577, - 'setup_wizard.adjust': 30526, - 'setup_wizard.adjust.language_and_region': 30527, - 'setup_wizard.execute': 30030, - 'setup_wizard.select_language': 30524, - 'setup_wizard.select_region': 30525, 'setup_wizard': 30526, + 'setup_wizard.locale.language': 30524, + 'setup_wizard.locale.region': 30525, + 'setup_wizard.prompt': 30030, + 'setup_wizard.prompt.locale': 30527, + 'setup_wizard.prompt.my_location': 30653, + 'setup_wizard.prompt.settings': 30577, 'sign.enter_code': 30519, 'sign.go_to': 30518, 'sign.in': 30111, diff --git a/resources/lib/youtube_plugin/youtube/helper/yt_setup_wizard.py b/resources/lib/youtube_plugin/youtube/helper/yt_setup_wizard.py index 3e1c34cb7..85f3906d6 100644 --- a/resources/lib/youtube_plugin/youtube/helper/yt_setup_wizard.py +++ b/resources/lib/youtube_plugin/youtube/helper/yt_setup_wizard.py @@ -185,12 +185,17 @@ ]} -def _process_language(provider, context): - if not context.get_ui().on_yes_no_input( - context.localize('setup_wizard.adjust'), - context.localize('setup_wizard.adjust.language_and_region') +def process_language(provider, context, step, steps): + localize = context.localize + ui = context.get_ui() + + step += 1 + if not ui.on_yes_no_input( + localize('setup_wizard') + ' ({0}/{1})'.format(step, steps), + (localize('setup_wizard.prompt') + % localize('setup_wizard.prompt.locale')), ): - return + return step client = provider.get_client(context) @@ -203,12 +208,12 @@ def _process_language(provider, context): for item in items if item['id'] not in invalid_ids ]) - language_id = context.get_ui().on_select( - context.localize('setup_wizard.select_language'), + language_id = ui.on_select( + localize('setup_wizard.locale.language'), language_list, ) if language_id == -1: - return + return step json_data = client.get_supported_regions(language=language_id) items = json_data.get('items') or DEFAULT_REGIONS['items'] @@ -216,32 +221,38 @@ def _process_language(provider, context): (item['snippet']['name'], item['snippet']['gl']) for item in items ]) - region_id = context.get_ui().on_select( - context.localize('setup_wizard.select_region'), + region_id = ui.on_select( + localize('setup_wizard.locale.region'), region_list, ) if region_id == -1: - return + return step # set new language id and region id - context.get_settings().set_string('youtube.language', language_id) - context.get_settings().set_string('youtube.region', region_id) + settings = context.get_settings() + settings.set_string('youtube.language', language_id) + settings.set_string('youtube.region', region_id) provider.reset_client() + return step -def _process_geo_location(context): - if not context.get_ui().on_yes_no_input( - context.get_name(), context.localize('perform_geolocation') - ): - return +def process_geo_location(_provider, context, step, steps): + localize = context.localize - locator = Locator() - locator.locate_requester() - coords = locator.coordinates() - if coords: - context.get_settings().set_location('{0[lat]},{0[lon]}'.format(coords)) + step += 1 + if context.get_ui().on_yes_no_input( + localize('setup_wizard') + ' ({0}/{1})'.format(step, steps), + (localize('setup_wizard.prompt') + % localize('setup_wizard.prompt.my_location')), + ): + locator = Locator() + locator.locate_requester() + coords = locator.coordinates() + if coords: + context.get_settings().set_location( + '{0[lat]},{0[lon]}'.format(coords) + ) + return step + ): -def process(provider, context): - _process_language(provider, context) - _process_geo_location(context) diff --git a/resources/lib/youtube_plugin/youtube/provider.py b/resources/lib/youtube_plugin/youtube/provider.py index 141523607..0b167edfa 100644 --- a/resources/lib/youtube_plugin/youtube/provider.py +++ b/resources/lib/youtube_plugin/youtube/provider.py @@ -56,7 +56,11 @@ def __init__(self): self.yt_video = yt_video def get_wizard_steps(self, context): - return [(yt_setup_wizard.process, (self, context))] + steps = [ + yt_setup_wizard.process_language, + yt_setup_wizard.process_geo_location, + ] + return steps def is_logged_in(self): return self._logged_in From a8a660a4bc080761746bad4648f9ddb8a5c771f0 Mon Sep 17 00:00:00 2001 From: MoojMidge <56883549+MoojMidge@users.noreply.github.com> Date: Tue, 12 Mar 2024 16:20:05 +1100 Subject: [PATCH 06/13] Use xbmc.getCondVisibility rather than JSON-RPC to check Kodi boolean settings --- .../kodion/settings/xbmc/xbmc_plugin_settings.py | 4 ++-- resources/lib/youtube_plugin/kodion/utils/__init__.py | 6 ++++-- resources/lib/youtube_plugin/kodion/utils/methods.py | 9 +++++++-- 3 files changed, 13 insertions(+), 6 deletions(-) diff --git a/resources/lib/youtube_plugin/kodion/settings/xbmc/xbmc_plugin_settings.py b/resources/lib/youtube_plugin/kodion/settings/xbmc/xbmc_plugin_settings.py index a8f09de5e..90953f399 100644 --- a/resources/lib/youtube_plugin/kodion/settings/xbmc/xbmc_plugin_settings.py +++ b/resources/lib/youtube_plugin/kodion/settings/xbmc/xbmc_plugin_settings.py @@ -13,7 +13,7 @@ from ..abstract_settings import AbstractSettings from ...compatibility import xbmcaddon from ...logger import log_debug -from ...utils.methods import get_kodi_setting +from ...utils.methods import get_kodi_setting_bool from ...utils.system_version import current_system_version @@ -66,7 +66,7 @@ def _set_string_list(store, setting, value): @classmethod def flush(cls, xbmc_addon): - cls._echo = get_kodi_setting('debug.showloginfo') + cls._echo = get_kodi_setting_bool('debug.showloginfo') cls._cache = {} if current_system_version.compatible(21, 0): cls._type = xbmc_addon.getSettings diff --git a/resources/lib/youtube_plugin/kodion/utils/__init__.py b/resources/lib/youtube_plugin/kodion/utils/__init__.py index 874302b44..4ec6dcbe4 100644 --- a/resources/lib/youtube_plugin/kodion/utils/__init__.py +++ b/resources/lib/youtube_plugin/kodion/utils/__init__.py @@ -17,7 +17,8 @@ find_best_fit, find_video_id, friendly_number, - get_kodi_setting, + get_kodi_setting_bool, + get_kodi_setting_value, loose_version, make_dirs, merge_dicts, @@ -42,7 +43,8 @@ 'find_best_fit', 'find_video_id', 'friendly_number', - 'get_kodi_setting', + 'get_kodi_setting_bool', + 'get_kodi_setting_value', 'loose_version', 'make_dirs', 'merge_dicts', diff --git a/resources/lib/youtube_plugin/kodion/utils/methods.py b/resources/lib/youtube_plugin/kodion/utils/methods.py index c980a575c..b6f120c14 100644 --- a/resources/lib/youtube_plugin/kodion/utils/methods.py +++ b/resources/lib/youtube_plugin/kodion/utils/methods.py @@ -28,7 +28,8 @@ 'find_best_fit', 'find_video_id', 'friendly_number', - 'get_kodi_setting', + 'get_kodi_setting_bool', + 'get_kodi_setting_value', 'loose_version', 'make_dirs', 'merge_dicts', @@ -309,7 +310,7 @@ def merge_dicts(item1, item2, templates=None, _=Ellipsis): return new or _ -def get_kodi_setting(setting): +def get_kodi_setting_value(setting): json_query = xbmc.executeJSONRPC(json.dumps({ 'jsonrpc': '2.0', 'method': 'Settings.GetSettingValue', @@ -318,3 +319,7 @@ def get_kodi_setting(setting): })) json_query = json.loads(json_query) return json_query.get('result', {}).get('value') + + +def get_kodi_setting_bool(setting): + return xbmc.getCondVisibility('System.GetBool({0})'.format(setting)) From 5c116973ee55b03465a1d551f5daa070245494fb Mon Sep 17 00:00:00 2001 From: MoojMidge <56883549+MoojMidge@users.noreply.github.com> Date: Tue, 12 Mar 2024 16:27:11 +1100 Subject: [PATCH 07/13] Add steps to import old format search and playback history in setup wizard - Close #619 --- .../resource.language.en_gb/strings.po | 8 ++ .../kodion/context/xbmc/xbmc_context.py | 2 + .../youtube_plugin/kodion/script_actions.py | 6 ++ .../kodion/sql_store/playback_history.py | 14 +-- .../kodion/sql_store/search_history.py | 12 ++- .../kodion/sql_store/storage.py | 43 ++++++--- .../youtube/helper/yt_setup_wizard.py | 94 +++++++++++++++++++ .../lib/youtube_plugin/youtube/provider.py | 2 + 8 files changed, 156 insertions(+), 25 deletions(-) diff --git a/resources/language/resource.language.en_gb/strings.po b/resources/language/resource.language.en_gb/strings.po index f3268a77c..744f7f9c3 100644 --- a/resources/language/resource.language.en_gb/strings.po +++ b/resources/language/resource.language.en_gb/strings.po @@ -1410,6 +1410,14 @@ msgid "Ask + Automatic + Quality selection" msgstr "" +msgctxt "#30778" +msgid "Import old playback history?" +msgstr "" + +msgctxt "#30779" +msgid "Import old search history?" +msgstr "" + msgctxt "#30780" msgid "Clear local watch later list" msgstr "" diff --git a/resources/lib/youtube_plugin/kodion/context/xbmc/xbmc_context.py b/resources/lib/youtube_plugin/kodion/context/xbmc/xbmc_context.py index 529d83093..5b311df4a 100644 --- a/resources/lib/youtube_plugin/kodion/context/xbmc/xbmc_context.py +++ b/resources/lib/youtube_plugin/kodion/context/xbmc/xbmc_context.py @@ -167,6 +167,8 @@ class XbmcContext(AbstractContext): 'setup_wizard.locale.language': 30524, 'setup_wizard.locale.region': 30525, 'setup_wizard.prompt': 30030, + 'setup_wizard.prompt.import_playback_history': 30778, + 'setup_wizard.prompt.import_search_history': 30779, 'setup_wizard.prompt.locale': 30527, 'setup_wizard.prompt.my_location': 30653, 'setup_wizard.prompt.settings': 30577, diff --git a/resources/lib/youtube_plugin/kodion/script_actions.py b/resources/lib/youtube_plugin/kodion/script_actions.py index e90daa736..7e5464acb 100644 --- a/resources/lib/youtube_plugin/kodion/script_actions.py +++ b/resources/lib/youtube_plugin/kodion/script_actions.py @@ -139,6 +139,8 @@ def _maintenance_actions(context, action, params): 'access_manager': 'access_manager.json', 'settings_xml': 'settings.xml', 'temp_dir': (TEMP_PATH,), + 'other_file': ('', path) if path else None, + 'other_dir': (path,) if path else None, } path = targets.get(target) if not path: @@ -146,6 +148,10 @@ def _maintenance_actions(context, action, params): if target == 'temp_dir': target = path[0] + elif target == 'other_dir': + target = os.path.basename(os.path.dirname(path[0])) + elif target == 'other_file': + target = os.path.basename(path[1]) else: target = path if not ui.on_delete_content(target): diff --git a/resources/lib/youtube_plugin/kodion/sql_store/playback_history.py b/resources/lib/youtube_plugin/kodion/sql_store/playback_history.py index 9b49ac196..7077a3a95 100644 --- a/resources/lib/youtube_plugin/kodion/sql_store/playback_history.py +++ b/resources/lib/youtube_plugin/kodion/sql_store/playback_history.py @@ -18,18 +18,20 @@ class PlaybackHistory(Storage): _table_updated = False _sql = {} - def __init__(self, filepath): - super(PlaybackHistory, self).__init__(filepath) + def __init__(self, filepath, migrate=False): + super(PlaybackHistory, self).__init__(filepath, migrate=migrate) @staticmethod def _add_last_played(value, item): value['last_played'] = fromtimestamp(item[1]) return value - def get_items(self, keys=None, limit=-1): + def get_items(self, keys=None, limit=-1, process=None): + if process is None: + process = self._add_last_played result = self._get_by_ids(keys, oldest_first=False, - process=self._add_last_played, + process=process, as_dict=True, limit=limit) return result @@ -41,8 +43,8 @@ def get_item(self, key): def remove(self, video_id): self._remove(video_id) - def update(self, video_id, play_data): - self._set(video_id, play_data) + def update(self, video_id, play_data, timestamp=None): + self._set(video_id, play_data, timestamp) def _optimize_item_count(self, limit=-1, defer=False): return False diff --git a/resources/lib/youtube_plugin/kodion/sql_store/search_history.py b/resources/lib/youtube_plugin/kodion/sql_store/search_history.py index 5aefe1591..5afc4a740 100644 --- a/resources/lib/youtube_plugin/kodion/sql_store/search_history.py +++ b/resources/lib/youtube_plugin/kodion/sql_store/search_history.py @@ -21,13 +21,15 @@ class SearchHistory(Storage): _table_updated = False _sql = {} - def __init__(self, filepath, max_item_count=10): + def __init__(self, filepath, max_item_count=10, migrate=False): super(SearchHistory, self).__init__(filepath, - max_item_count=max_item_count) + max_item_count=max_item_count, + migrate=migrate) - def get_items(self): + def get_items(self, process=None): result = self._get_by_ids(oldest_first=False, limit=self._max_item_count, + process=process, values_only=True) return result @@ -44,5 +46,5 @@ def rename(self, old_search_text, new_search_text): def remove(self, search_text): self._remove(self._make_id(search_text)) - def update(self, search_text): - self._set(self._make_id(search_text), search_text) + def update(self, search_text, timestamp=None): + self._set(self._make_id(search_text), search_text, timestamp) diff --git a/resources/lib/youtube_plugin/kodion/sql_store/storage.py b/resources/lib/youtube_plugin/kodion/sql_store/storage.py index d990b5753..eec0588ea 100644 --- a/resources/lib/youtube_plugin/kodion/sql_store/storage.py +++ b/resources/lib/youtube_plugin/kodion/sql_store/storage.py @@ -28,6 +28,7 @@ class Storage(object): ONE_WEEK = 7 * ONE_DAY ONE_MONTH = 4 * ONE_WEEK + _base = None _table_name = 'storage_v2' _table_created = False _table_updated = False @@ -65,13 +66,13 @@ class Storage(object): 'get_many': ( 'SELECT *' ' FROM {table}' - ' ORDER BY timestamp' + ' ORDER BY {order_col}' ' LIMIT {{0}};' ), 'get_many_desc': ( 'SELECT *' ' FROM {table}' - ' ORDER BY timestamp DESC' + ' ORDER BY {order_col} DESC' ' LIMIT {{0}};' ), 'has_old_table': ( @@ -136,19 +137,33 @@ class Storage(object): ), } - def __init__(self, filepath, max_item_count=-1, max_file_size_kb=-1): + def __init__(self, + filepath, + max_item_count=-1, + max_file_size_kb=-1, + migrate=False): self._filepath = filepath self._db = None self._cursor = None - self._max_item_count = max_item_count - self._max_file_size_kb = max_file_size_kb + self._max_item_count = -1 if migrate else max_item_count + self._max_file_size_kb = -1 if migrate else max_file_size_kb + + if migrate: + self._base = self + self._sql = {} + self._table_name = migrate + self._table_created = True + self._table_updated = True + else: + self._base = self.__class__ - if not self._sql: + if migrate or not self._sql: statements = { - name: sql.format(table=self._table_name) + name: sql.format(table=self._table_name, + order_col='time' if migrate else 'timestamp') for name, sql in Storage._sql.items() } - self.__class__._sql.update(statements) + self._base._sql.update(statements) def set_max_item_count(self, max_item_count): self._max_item_count = max_item_count @@ -170,8 +185,8 @@ def __exit__(self, exc_type=None, exc_val=None, exc_tb=None): def _open(self): if not os.path.exists(self._filepath): make_dirs(os.path.dirname(self._filepath)) - self.__class__._table_created = False - self.__class__._table_updated = True + self._base._table_created = False + self._base._table_updated = True for _ in range(3): try: @@ -228,8 +243,8 @@ def _open(self): sql_script[transaction_begin:transaction_begin] = statements self._execute(cursor, '\n'.join(sql_script), script=True) - self.__class__._table_created = True - self.__class__._table_updated = True + self._base._table_created = True + self._base._table_updated = True self._db = db self._cursor = cursor @@ -311,8 +326,8 @@ def _optimize_item_count(self, limit=-1, defer=False): self._execute(cursor, 'VACUUM') return True - def _set(self, item_id, item): - values = self._encode(item_id, item) + def _set(self, item_id, item, timestamp=None): + values = self._encode(item_id, item, timestamp) optimize_query = self._optimize_item_count(1, defer=True) with self as (db, cursor), db: if optimize_query: diff --git a/resources/lib/youtube_plugin/youtube/helper/yt_setup_wizard.py b/resources/lib/youtube_plugin/youtube/helper/yt_setup_wizard.py index 85f3906d6..5c8cd2932 100644 --- a/resources/lib/youtube_plugin/youtube/helper/yt_setup_wizard.py +++ b/resources/lib/youtube_plugin/youtube/helper/yt_setup_wizard.py @@ -10,7 +10,14 @@ from __future__ import absolute_import, division, unicode_literals +import os + +from ...kodion.compatibility import urlencode, xbmcvfs +from ...kodion.constants import ADDON_ID, DATA_PATH, WAIT_FLAG from ...kodion.network import Locator +from ...kodion.sql_store import PlaybackHistory, SearchHistory +from ...kodion.utils.datetime_parser import strptime +from ...kodion.utils.methods import to_unicode DEFAULT_LANGUAGES = {'items': [ @@ -256,3 +263,90 @@ def process_geo_location(_provider, context, step, steps): ): + + +def process_old_search_db(_provider, context, step, steps): + localize = context.localize + ui = context.get_ui() + + search_db_path = os.path.join( + DATA_PATH, + 'kodion', + 'search.sqlite' + ) + step += 1 + if xbmcvfs.exists(search_db_path) and ui.on_yes_no_input( + localize('setup_wizard') + ' ({0}/{1})'.format(step, steps), + localize('setup_wizard.prompt.import_search_history'), + ): + def _convert_old_search_item(value, item): + return { + 'text': to_unicode(value), + 'timestamp': strptime(item[1]).timestamp(), + } + + search_history = context.get_search_history() + old_search_db = SearchHistory( + xbmcvfs.translatePath(search_db_path), + migrate='storage', + ) + items = old_search_db.get_items(process=_convert_old_search_item) + for search in items: + search_history.update(search['text'], search['timestamp']) + + ui.show_notification(localize('succeeded')) + context.execute( + 'RunScript({addon},maintenance/{action}?{query})' + .format(addon=ADDON_ID, + action='delete', + query=urlencode({'target': 'other_file', + 'path': search_db_path})), + wait_for=WAIT_FLAG, + ) + return step + + +def process_old_history_db(_provider, context, step, steps): + localize = context.localize + ui = context.get_ui() + + history_db_path = os.path.join( + DATA_PATH, + 'playback', + context.get_access_manager().get_current_user_id() + '.sqlite', + ) + step += 1 + if xbmcvfs.exists(history_db_path) and ui.on_yes_no_input( + localize('setup_wizard') + ' ({0}/{1})'.format(step, steps), + localize('setup_wizard.prompt.import_playback_history'), + ): + def _convert_old_history_item(value, item): + values = value.split(',') + return { + 'play_count': int(values[0]), + 'total_time': float(values[1]), + 'played_time': float(values[2]), + 'played_percent': int(values[3]), + 'timestamp': strptime(item[1]).timestamp(), + } + + playback_history = context.get_playback_history() + old_history_db = PlaybackHistory( + xbmcvfs.translatePath(history_db_path), + migrate='storage', + ) + items = old_history_db.get_items(process=_convert_old_history_item) + for video_id, history in items.items(): + timestamp = history.pop('timestamp', None) + playback_history.update(video_id, history, timestamp) + + ui.show_notification(localize('succeeded')) + context.execute( + 'RunScript({addon},maintenance/{action}?{query})' + .format(addon=ADDON_ID, + action='delete', + query=urlencode({'target': 'other_file', + 'path': history_db_path})), + wait_for=WAIT_FLAG, + ) + return step diff --git a/resources/lib/youtube_plugin/youtube/provider.py b/resources/lib/youtube_plugin/youtube/provider.py index 0b167edfa..f98b087e6 100644 --- a/resources/lib/youtube_plugin/youtube/provider.py +++ b/resources/lib/youtube_plugin/youtube/provider.py @@ -59,6 +59,8 @@ def get_wizard_steps(self, context): steps = [ yt_setup_wizard.process_language, yt_setup_wizard.process_geo_location, + yt_setup_wizard.process_old_search_db, + yt_setup_wizard.process_old_history_db, ] return steps From 341eff59d64aca3a4f784f75930909af8182069c Mon Sep 17 00:00:00 2001 From: MoojMidge <56883549+MoojMidge@users.noreply.github.com> Date: Tue, 12 Mar 2024 16:30:12 +1100 Subject: [PATCH 08/13] Add step to configure subtitles in setup wizard --- .../kodion/context/xbmc/xbmc_context.py | 1 + .../youtube/helper/yt_setup_wizard.py | 15 +++++++++++++++ resources/lib/youtube_plugin/youtube/provider.py | 1 + 3 files changed, 17 insertions(+) diff --git a/resources/lib/youtube_plugin/kodion/context/xbmc/xbmc_context.py b/resources/lib/youtube_plugin/kodion/context/xbmc/xbmc_context.py index 5b311df4a..e6c8cd018 100644 --- a/resources/lib/youtube_plugin/kodion/context/xbmc/xbmc_context.py +++ b/resources/lib/youtube_plugin/kodion/context/xbmc/xbmc_context.py @@ -172,6 +172,7 @@ class XbmcContext(AbstractContext): 'setup_wizard.prompt.locale': 30527, 'setup_wizard.prompt.my_location': 30653, 'setup_wizard.prompt.settings': 30577, + 'setup_wizard.prompt.subtitles': 30600, 'sign.enter_code': 30519, 'sign.go_to': 30518, 'sign.in': 30111, diff --git a/resources/lib/youtube_plugin/youtube/helper/yt_setup_wizard.py b/resources/lib/youtube_plugin/youtube/helper/yt_setup_wizard.py index 5c8cd2932..e08bb1822 100644 --- a/resources/lib/youtube_plugin/youtube/helper/yt_setup_wizard.py +++ b/resources/lib/youtube_plugin/youtube/helper/yt_setup_wizard.py @@ -265,6 +265,21 @@ def process_geo_location(_provider, context, step, steps): +def process_subtitles(_provider, context, step, steps): + localize = context.localize + + step += 1 + if context.get_ui().on_yes_no_input( + localize('setup_wizard') + ' ({0}/{1})'.format(step, steps), + (localize('setup_wizard.prompt') + % localize('setup_wizard.prompt.subtitles')) + ): + context.execute('RunScript({addon_id},config/subtitles)'.format( + addon_id=ADDON_ID + ), wait_for=WAIT_FLAG) + return step + + def process_old_search_db(_provider, context, step, steps): localize = context.localize ui = context.get_ui() diff --git a/resources/lib/youtube_plugin/youtube/provider.py b/resources/lib/youtube_plugin/youtube/provider.py index f98b087e6..695a043cd 100644 --- a/resources/lib/youtube_plugin/youtube/provider.py +++ b/resources/lib/youtube_plugin/youtube/provider.py @@ -58,6 +58,7 @@ def __init__(self): def get_wizard_steps(self, context): steps = [ yt_setup_wizard.process_language, + yt_setup_wizard.process_subtitles, yt_setup_wizard.process_geo_location, yt_setup_wizard.process_old_search_db, yt_setup_wizard.process_old_history_db, From 25458ede673413a6965d3de9c0322a487a453781 Mon Sep 17 00:00:00 2001 From: MoojMidge <56883549+MoojMidge@users.noreply.github.com> Date: Tue, 12 Mar 2024 16:41:31 +1100 Subject: [PATCH 09/13] Overload various setting methods to allow setting and getting setting value --- .../kodion/context/abstract_context.py | 12 +-- .../kodion/settings/abstract_settings.py | 100 ++++++++++++------ .../youtube/helper/video_info.py | 4 +- .../lib/youtube_plugin/youtube/provider.py | 2 +- 4 files changed, 73 insertions(+), 45 deletions(-) diff --git a/resources/lib/youtube_plugin/kodion/context/abstract_context.py b/resources/lib/youtube_plugin/kodion/context/abstract_context.py index 07cdf8269..acfe32f30 100644 --- a/resources/lib/youtube_plugin/kodion/context/abstract_context.py +++ b/resources/lib/youtube_plugin/kodion/context/abstract_context.py @@ -146,11 +146,7 @@ def get_playback_history(self): def get_data_cache(self): if not self._data_cache: settings = self.get_settings() - cache_size = settings.get_int(settings.CACHE_SIZE, -1) - if cache_size <= 0: - cache_size = 10 - else: - cache_size /= 2.0 + cache_size = settings.cache_size() / 2 uuid = self.get_access_manager().get_current_user_id() filename = 'data_cache.sqlite' filepath = os.path.join(self.get_data_path(), uuid, filename) @@ -160,11 +156,7 @@ def get_data_cache(self): def get_function_cache(self): if not self._function_cache: settings = self.get_settings() - cache_size = settings.get_int(settings.CACHE_SIZE, -1) - if cache_size <= 0: - cache_size = 10 - else: - cache_size /= 2.0 + cache_size = settings.cache_size() / 2 uuid = self.get_access_manager().get_current_user_id() filename = 'cache.sqlite' filepath = os.path.join(self.get_data_path(), uuid, filename) diff --git a/resources/lib/youtube_plugin/kodion/settings/abstract_settings.py b/resources/lib/youtube_plugin/kodion/settings/abstract_settings.py index 1c0f60446..4fcd37451 100644 --- a/resources/lib/youtube_plugin/kodion/settings/abstract_settings.py +++ b/resources/lib/youtube_plugin/kodion/settings/abstract_settings.py @@ -62,21 +62,26 @@ def set_string_list(self, setting, value, echo=None): def open_settings(self): raise NotImplementedError() - def get_items_per_page(self): + def items_per_page(self, value=None): + if value is not None: + return self.set_int(settings.ITEMS_PER_PAGE, value) return self.get_int(settings.ITEMS_PER_PAGE, 50) - def get_video_quality(self, quality_map_override=None): - vq_dict = {0: 240, - 1: 360, - 2: 480, # 576 seems not to work well - 3: 720, - 4: 1080} + _VIDEO_QUALITY_MAP = { + 0: 240, + 1: 360, + 2: 480, # 576 seems not to work well + 3: 720, + 4: 1080, + } + def get_video_quality(self, quality_map_override=None): if quality_map_override is not None: - vq_dict = quality_map_override - - vq = self.get_int(settings.VIDEO_QUALITY, 1) - return vq_dict[vq] + video_quality_map = quality_map_override + else: + video_quality_map = self._VIDEO_QUALITY_MAP + value = self.get_int(settings.VIDEO_QUALITY, 3) + return video_quality_map[value] def ask_for_video_quality(self): return (self.get_bool(settings.VIDEO_QUALITY_ASK, False) @@ -85,8 +90,13 @@ def ask_for_video_quality(self): def show_fanart(self): return self.get_bool(settings.SHOW_FANART, True) + def cache_size(self, value=None): + if value is not None: + return self.set_int(settings.CACHE_SIZE, value) + return self.get_int(settings.CACHE_SIZE, 20) + def get_search_history_size(self): - return self.get_int(settings.SEARCH_SIZE, 50) + return self.get_int(settings.SEARCH_SIZE, 10) def is_setup_wizard_enabled(self): return self.get_bool(settings.SETUP_WIZARD, False) @@ -97,7 +107,9 @@ def is_support_alternative_player_enabled(self): def alternative_player_web_urls(self): return self.get_bool(settings.ALTERNATIVE_PLAYER_WEB_URLS, False) - def use_isa(self): + def use_isa(self, value=None): + if value is not None: + return self.set_bool(settings.USE_ISA, value) return self.get_bool(settings.USE_ISA, False) def subtitle_languages(self): @@ -142,9 +154,11 @@ def get_timeout(self): def allow_dev_keys(self): return self.get_bool(settings.ALLOW_DEV_KEYS, False) - def use_mpd_videos(self): + def use_mpd_videos(self, value=None): if self.use_isa(): - return self.get_bool(settings.MPD_VIDEOS, False) + if value is not None: + return self.set_bool(settings.MPD_VIDEOS, value) + return self.get_bool(settings.MPD_VIDEOS, True) return False _LIVE_STREAM_TYPES = { @@ -154,21 +168,28 @@ def use_mpd_videos(self): 3: 'isa_mpd', } - def get_live_stream_type(self): + def live_stream_type(self, value=None): if self.use_isa(): - stream_type = self.get_int(settings.LIVE_STREAMS + '.1', 0) + default = 2 + setting = settings.LIVE_STREAMS + '.1' else: - stream_type = self.get_int(settings.LIVE_STREAMS + '.2', 0) - return self._LIVE_STREAM_TYPES.get(stream_type) or self._LIVE_STREAM_TYPES[0] + default = 0 + setting = settings.LIVE_STREAMS + '.2' + if value is not None: + return self.set_int(setting, value) + value = self.get_int(setting, default) + if value in self._LIVE_STREAM_TYPES: + return self._LIVE_STREAM_TYPES[value] + return self._LIVE_STREAM_TYPES[default] def use_isa_live_streams(self): if self.use_isa(): - return self.get_int(settings.LIVE_STREAMS + '.1', 0) > 1 + return self.get_int(settings.LIVE_STREAMS + '.1', 2) > 1 return False def use_mpd_live_streams(self): if self.use_isa(): - return self.get_int(settings.LIVE_STREAMS + '.1', 0) == 3 + return self.get_int(settings.LIVE_STREAMS + '.1', 2) == 3 return False def httpd_port(self, port=None): @@ -185,7 +206,7 @@ def httpd_port(self, port=None): def httpd_listen(self, for_request=False, ip_address=None): default_address = '0.0.0.0' - default_octets = [0, 0, 0, 0,] + default_octets = [0, 0, 0, 0] if not ip_address: ip_address = self.get_string(settings.HTTPD_LISTEN, @@ -284,16 +305,20 @@ def use_remote_history(self): -2: {'width': 0, 'height': 0, 'label': '{2}p{0}{1}'}, # N/A | Custom } - def get_mpd_video_qualities(self): + def mpd_video_qualities(self, value=None): + if value is not None: + return self.set_int(settings.MPD_QUALITY_SELECTION, value) if not self.use_mpd_videos(): return [] - selected = self.get_int(settings.MPD_QUALITY_SELECTION, 4) + value = self.get_int(settings.MPD_QUALITY_SELECTION, 4) return [quality for key, quality in sorted(self._QUALITY_SELECTIONS.items(), reverse=True) - if selected >= key] + if value >= key] - def stream_features(self): + def stream_features(self, value=None): + if value is not None: + return self.set_string_list(settings.MPD_STREAM_FEATURES, value) return frozenset(self.get_string_list(settings.MPD_STREAM_FEATURES)) _STREAM_SELECT = { @@ -303,20 +328,31 @@ def stream_features(self): 4: 'ask+auto+list', } - def stream_select(self): - select_type = self.get_int(settings.MPD_STREAM_SELECT, 3) - return self._STREAM_SELECT.get(select_type) or self._STREAM_SELECT[3] + def stream_select(self, value=None): + if value is not None: + return self.get_int(settings.MPD_STREAM_SELECT, value) + default = 3 + value = self.get_int(settings.MPD_STREAM_SELECT, default) + if value in self._STREAM_SELECT: + return self._STREAM_SELECT[value] + self._STREAM_SELECT[default] def hide_short_videos(self): return self.get_bool(settings.HIDE_SHORT_VIDEOS, False) - def client_selection(self): + def client_selection(self, value=None): + if value is not None: + return self.set_int(settings.CLIENT_SELECTION, value) return self.get_int(settings.CLIENT_SELECTION, 0) - def show_detailed_description(self): + def show_detailed_description(self, value=None): + if value is not None: + return self.set_bool(settings.DETAILED_DESCRIPTION, value) return self.get_bool(settings.DETAILED_DESCRIPTION, True) - def show_detailed_labels(self): + def show_detailed_labels(self, value=None): + if value is not None: + return self.set_bool(settings.DETAILED_LABELS, value) return self.get_bool(settings.DETAILED_LABELS, True) def get_language(self): diff --git a/resources/lib/youtube_plugin/youtube/helper/video_info.py b/resources/lib/youtube_plugin/youtube/helper/video_info.py index b0c626d56..725678245 100644 --- a/resources/lib/youtube_plugin/youtube/helper/video_info.py +++ b/resources/lib/youtube_plugin/youtube/helper/video_info.py @@ -1337,7 +1337,7 @@ def _get_video_info(self): self._cipher = Cipher(self._context, javascript=self._player_js) manifest_url = main_stream = None - live_type = _settings.get_live_stream_type() if is_live else None + live_type = _settings.live_stream_type() if is_live else None if live_type == 'isa_mpd' and 'dashManifestUrl' in streaming_data: manifest_url = streaming_data['dashManifestUrl'] @@ -1426,7 +1426,7 @@ def _get_video_info(self): def _process_stream_data(self, stream_data, default_lang_code='und'): _settings = self._context.get_settings() - qualities = _settings.get_mpd_video_qualities() + qualities = _settings.mpd_video_qualities() isa_capabilities = self._context.inputstream_adaptive_capabilities() stream_features = _settings.stream_features() allow_hdr = 'hdr' in stream_features diff --git a/resources/lib/youtube_plugin/youtube/provider.py b/resources/lib/youtube_plugin/youtube/provider.py index 695a043cd..20d88468a 100644 --- a/resources/lib/youtube_plugin/youtube/provider.py +++ b/resources/lib/youtube_plugin/youtube/provider.py @@ -120,7 +120,7 @@ def get_client(self, context): settings = context.get_settings() access_manager = context.get_access_manager() - items_per_page = settings.get_items_per_page() + items_per_page = settings.items_per_page() language = settings.get_string('youtube.language', 'en_US') region = settings.get_string('youtube.region', 'US') From 93060c53ed7a4ea160c663bafac8f323a7a5cce9 Mon Sep 17 00:00:00 2001 From: MoojMidge <56883549+MoojMidge@users.noreply.github.com> Date: Tue, 12 Mar 2024 16:50:14 +1100 Subject: [PATCH 10/13] Add steps for configuring various plugin settings to setup wizard --- .../resource.language.en_gb/strings.po | 40 +++++++++ .../kodion/context/xbmc/xbmc_context.py | 10 +++ .../kodion/ui/xbmc/xbmc_context_ui.py | 2 +- .../youtube/helper/yt_setup_wizard.py | 88 +++++++++++++++++++ .../lib/youtube_plugin/youtube/provider.py | 3 + 5 files changed, 142 insertions(+), 1 deletion(-) diff --git a/resources/language/resource.language.en_gb/strings.po b/resources/language/resource.language.en_gb/strings.po index 744f7f9c3..c04d11618 100644 --- a/resources/language/resource.language.en_gb/strings.po +++ b/resources/language/resource.language.en_gb/strings.po @@ -1429,3 +1429,43 @@ msgstr "" msgctxt "#30782" msgid "local watch later list" msgstr "" + +msgctxt "#30783" +msgid "settings to recommended values" +msgstr "" + +msgctxt "#30784" +msgid "listings to show minimal details" +msgstr "" + +msgctxt "#30785" +msgid "performance settings" +msgstr "" + +msgctxt "#30786" +msgid "Choose device capabilities" +msgstr "" + +msgctxt "#30787" +msgid "720p | Limited or older devices" +msgstr "" + +msgctxt "#30788" +msgid "1080p/30 fps | Rasberry Pi 4B or similar" +msgstr "" + +msgctxt "#30789" +msgid "4K/30 fps or 1080p/60 fps, HDR if compatible | Rasberry Pi 5, or similar" +msgstr "" + +msgctxt "#30790" +msgid "4K/60 fps, HDR if compatible | Amlogic S905X3 based device, Shield TV, or similar" +msgstr "" + +msgctxt "#30791" +msgid "4K/60 fps, HDR, using AV1 | Amlogic S905X4 based device, Fire TV Cube 3rd Gen, or similar" +msgstr "" + +msgctxt "#30792" +msgid "8K/60 fps, HDR, using AV1 | Modern device or PC with full capabilities " +msgstr "" diff --git a/resources/lib/youtube_plugin/kodion/context/xbmc/xbmc_context.py b/resources/lib/youtube_plugin/kodion/context/xbmc/xbmc_context.py index e6c8cd018..691a0e877 100644 --- a/resources/lib/youtube_plugin/kodion/context/xbmc/xbmc_context.py +++ b/resources/lib/youtube_plugin/kodion/context/xbmc/xbmc_context.py @@ -164,6 +164,13 @@ class XbmcContext(AbstractContext): 'select_video_quality': 30010, 'settings': 30577, 'setup_wizard': 30526, + 'setup_wizard.capabilities': 30786, + 'setup_wizard.capabilities.old': 30787, + 'setup_wizard.capabilities.low': 30788, + 'setup_wizard.capabilities.medium': 30789, + 'setup_wizard.capabilities.high': 30790, + 'setup_wizard.capabilities.recent': 30791, + 'setup_wizard.capabilities.max': 30792, 'setup_wizard.locale.language': 30524, 'setup_wizard.locale.region': 30525, 'setup_wizard.prompt': 30030, @@ -172,6 +179,9 @@ class XbmcContext(AbstractContext): 'setup_wizard.prompt.locale': 30527, 'setup_wizard.prompt.my_location': 30653, 'setup_wizard.prompt.settings': 30577, + 'setup_wizard.prompt.settings.defaults': 30783, + 'setup_wizard.prompt.settings.list_details': 30784, + 'setup_wizard.prompt.settings.performance': 30785, 'setup_wizard.prompt.subtitles': 30600, 'sign.enter_code': 30519, 'sign.go_to': 30518, diff --git a/resources/lib/youtube_plugin/kodion/ui/xbmc/xbmc_context_ui.py b/resources/lib/youtube_plugin/kodion/ui/xbmc/xbmc_context_ui.py index 0180834f8..f98a2e26a 100644 --- a/resources/lib/youtube_plugin/kodion/ui/xbmc/xbmc_context_ui.py +++ b/resources/lib/youtube_plugin/kodion/ui/xbmc/xbmc_context_ui.py @@ -73,7 +73,7 @@ def on_select(self, title, items=None, preselect=-1, use_details=False): result_map = {} dialog_items = [] for idx, item in enumerate(items): - if isinstance(item, tuple): + if isinstance(item, (list, tuple)): num_details = len(item) if num_details > 2: list_item = xbmcgui.ListItem(label=item[0], diff --git a/resources/lib/youtube_plugin/youtube/helper/yt_setup_wizard.py b/resources/lib/youtube_plugin/youtube/helper/yt_setup_wizard.py index e08bb1822..643147575 100644 --- a/resources/lib/youtube_plugin/youtube/helper/yt_setup_wizard.py +++ b/resources/lib/youtube_plugin/youtube/helper/yt_setup_wizard.py @@ -260,9 +260,97 @@ def process_geo_location(_provider, context, step, steps): '{0[lat]},{0[lon]}'.format(coords) ) return step + + +def process_default_settings(_provider, context, step, steps): + localize = context.localize + settings = context.get_settings() + + step += 1 + if context.get_ui().on_yes_no_input( + localize('setup_wizard') + ' ({0}/{1})'.format(step, steps), + (localize('setup_wizard.prompt') + % localize('setup_wizard.prompt.settings.defaults')) ): + settings.client_selection(0) + settings.use_isa(True) + settings.use_mpd_videos(True) + settings.stream_select(4 if settings.ask_for_video_quality() else 3) + settings.live_stream_type(2) + settings.cache_size(20) + return step +def process_list_detail_settings(_provider, context, step, steps): + localize = context.localize + settings = context.get_settings() + + step += 1 + if context.get_ui().on_yes_no_input( + localize('setup_wizard') + ' ({0}/{1})'.format(step, steps), + (localize('setup_wizard.prompt') + % localize('setup_wizard.prompt.settings.list_details')) + ): + settings.show_detailed_description(False) + settings.show_detailed_labels(False) + else: + settings.show_detailed_description(True) + settings.show_detailed_labels(True) + return step + + +def process_performance_settings(_provider, context, step, steps): + localize = context.localize + settings = context.get_settings() + ui = context.get_ui() + + step += 1 + if ui.on_yes_no_input( + localize('setup_wizard') + ' ({0}/{1})'.format(step, steps), + (localize('setup_wizard.prompt') + % localize('setup_wizard.prompt.settings.performance')) + ): + items = [ + localize('setup_wizard.capabilities.' + item).split(' | ') + [item] + for item in ('old', 'low', 'medium', 'high', 'recent', 'max') + ] + device_type = ui.on_select( + localize('setup_wizard.capabilities'), + items=items, + use_details=True, + ) + if device_type == -1: + return step + + video_qualities = { + 'old': 3, + 'low': 4, + 'medium': 6, + 'high': 6, + 'recent': 6, + 'max': 7, + } + stream_features = { + 'old': ['avc1', 'mp4a', 'filter'], + 'low': ['avc1', 'vorbis', 'mp4a', 'ssa', 'ac-3', 'ec-3', 'dts', 'filter'], + 'medium': ['avc1', 'vp9', 'hdr', 'hfr', 'no_hfr_max', 'vorbis', 'mp4a', 'ssa', 'ac-3', 'ec-3', 'dts', 'filter'], + 'high': ['avc1', 'vp9', 'hdr', 'hfr', 'vorbis', 'mp4a', 'ssa', 'ac-3', 'ec-3', 'dts', 'filter'], + 'recent': ['avc1', 'vp9', 'av01', 'hdr', 'hfr', 'vorbis', 'mp4a', 'ssa', 'ac-3', 'ec-3', 'dts', 'filter'], + 'max': ['avc1', 'vp9', 'av01', 'hdr', 'hfr', 'vorbis', 'mp4a', 'ssa', 'ac-3', 'ec-3', 'dts', 'filter'], + } + num_items = { + 'old': 10, + 'low': 20, + 'medium': 50, + 'high': 50, + 'recent': 50, + 'max': 50, + } + + settings.mpd_video_qualities(video_qualities[device_type]) + settings.stream_features(stream_features[device_type]) + settings.items_per_page(num_items[device_type]) + return step def process_subtitles(_provider, context, step, steps): diff --git a/resources/lib/youtube_plugin/youtube/provider.py b/resources/lib/youtube_plugin/youtube/provider.py index 20d88468a..5cbd261a9 100644 --- a/resources/lib/youtube_plugin/youtube/provider.py +++ b/resources/lib/youtube_plugin/youtube/provider.py @@ -57,6 +57,9 @@ def __init__(self): def get_wizard_steps(self, context): steps = [ + yt_setup_wizard.process_default_settings, + yt_setup_wizard.process_list_detail_settings, + yt_setup_wizard.process_performance_settings, yt_setup_wizard.process_language, yt_setup_wizard.process_subtitles, yt_setup_wizard.process_geo_location, From a6c580c4212236c31aa844a6da9e159d7b7116a6 Mon Sep 17 00:00:00 2001 From: MoojMidge <56883549+MoojMidge@users.noreply.github.com> Date: Tue, 12 Mar 2024 21:40:31 +1100 Subject: [PATCH 11/13] Update translations for new settings layout --- .../resource.language.af_za/strings.po | 6 +- .../resource.language.am_et/strings.po | 6 +- .../resource.language.ar_sa/strings.po | 6 +- .../resource.language.ast_es/strings.po | 6 +- .../resource.language.az_az/strings.po | 6 +- .../resource.language.be_by/strings.po | 6 +- .../resource.language.bg_bg/strings.po | 6 +- .../resource.language.bs_ba/strings.po | 6 +- .../resource.language.ca_es/strings.po | 6 +- .../resource.language.cs_cz/strings.po | 6 +- .../resource.language.cy_gb/strings.po | 6 +- .../resource.language.da_dk/strings.po | 6 +- .../resource.language.de_de/strings.po | 6 +- .../resource.language.el_gr/strings.po | 6 +- .../resource.language.en_au/strings.po | 92 +++++++++++++++--- .../resource.language.en_gb/strings.po | 11 ++- .../resource.language.en_nz/strings.po | 96 ++++++++++++++++--- .../resource.language.en_us/strings.po | 92 +++++++++++++++--- .../language/resource.language.eo/strings.po | 6 +- .../resource.language.es_ar/strings.po | 6 +- .../resource.language.es_es/strings.po | 6 +- .../resource.language.es_mx/strings.po | 6 +- .../resource.language.et_ee/strings.po | 6 +- .../resource.language.eu_es/strings.po | 6 +- .../resource.language.fa_af/strings.po | 6 +- .../resource.language.fa_ir/strings.po | 6 +- .../resource.language.fi_fi/strings.po | 6 +- .../resource.language.fo_fo/strings.po | 6 +- .../resource.language.fr_ca/strings.po | 6 +- .../resource.language.fr_fr/strings.po | 6 +- .../resource.language.gl_es/strings.po | 6 +- .../resource.language.he_il/strings.po | 6 +- .../resource.language.hi_in/strings.po | 6 +- .../resource.language.hr_hr/strings.po | 6 +- .../resource.language.hu_hu/strings.po | 6 +- .../resource.language.hy_am/strings.po | 6 +- .../resource.language.id_id/strings.po | 6 +- .../resource.language.is_is/strings.po | 6 +- .../resource.language.it_it/strings.po | 6 +- .../resource.language.ja_jp/strings.po | 6 +- .../resource.language.kn_in/strings.po | 6 +- .../resource.language.ko_kr/strings.po | 6 +- .../resource.language.lt_lt/strings.po | 6 +- .../resource.language.lv_lv/strings.po | 6 +- .../language/resource.language.mi/strings.po | 6 +- .../resource.language.mk_mk/strings.po | 6 +- .../resource.language.ml_in/strings.po | 6 +- .../resource.language.mn_mn/strings.po | 6 +- .../resource.language.ms_my/strings.po | 6 +- .../resource.language.mt_mt/strings.po | 6 +- .../resource.language.my_mm/strings.po | 6 +- .../resource.language.nb_no/strings.po | 6 +- .../resource.language.nl_nl/strings.po | 6 +- .../resource.language.os_os/strings.po | 6 +- .../resource.language.pl_pl/strings.po | 6 +- .../resource.language.pt_br/strings.po | 6 +- .../resource.language.pt_pt/strings.po | 6 +- .../resource.language.ro_ro/strings.po | 6 +- .../resource.language.ru_ru/strings.po | 6 +- .../resource.language.si_lk/strings.po | 6 +- .../resource.language.sk_sk/strings.po | 6 +- .../resource.language.sl_si/strings.po | 6 +- .../resource.language.sq_al/strings.po | 6 +- .../resource.language.sr_rs/strings.po | 6 +- .../resource.language.sr_rs@latin/strings.po | 6 +- .../resource.language.sv_se/strings.po | 6 +- .../language/resource.language.szl/strings.po | 6 +- .../resource.language.ta_in/strings.po | 6 +- .../resource.language.te_in/strings.po | 6 +- .../resource.language.tg_tj/strings.po | 6 +- .../resource.language.th_th/strings.po | 6 +- .../resource.language.tr_tr/strings.po | 6 +- .../resource.language.uk_ua/strings.po | 6 +- .../resource.language.uz_uz/strings.po | 6 +- .../resource.language.vi_vn/strings.po | 6 +- .../resource.language.zh_cn/strings.po | 6 +- .../resource.language.zh_tw/strings.po | 6 +- 77 files changed, 470 insertions(+), 259 deletions(-) diff --git a/resources/language/resource.language.af_za/strings.po b/resources/language/resource.language.af_za/strings.po index f97260196..19c577d30 100644 --- a/resources/language/resource.language.af_za/strings.po +++ b/resources/language/resource.language.af_za/strings.po @@ -776,7 +776,7 @@ msgid "Port %s already in use. Cannot start http server." msgstr "" msgctxt "#30621" -msgid "Proxy is required for mpeg-dash vods (see HTTP Server)" +msgid "Proxy is required for mpeg-dash vods (see Advanced > HTTP Server)" msgstr "" msgctxt "#30622" @@ -824,7 +824,7 @@ msgid "Enable API configuration page" msgstr "" msgctxt "#30633" -msgid "http://:/youtube/api (see HTTP Server)" +msgid "http://:/youtube/api (see Advanced > HTTP Server)" msgstr "" msgctxt "#30634" @@ -1184,7 +1184,7 @@ msgid "Enable HDR video" msgstr "" msgctxt "#30723" -msgid "Proxy is required for mpeg-dash vods (see HTTP Server)[CR]> 1080p and HDR requires InputStream Adaptive >= 2.3.14" +msgid "Proxy is required for mpeg-dash vods (see Advanced > HTTP Server)[CR]> 1080p and HDR requires InputStream Adaptive >= 2.3.14" msgstr "" msgctxt "#30724" diff --git a/resources/language/resource.language.am_et/strings.po b/resources/language/resource.language.am_et/strings.po index 4a93d133c..adddb5945 100644 --- a/resources/language/resource.language.am_et/strings.po +++ b/resources/language/resource.language.am_et/strings.po @@ -776,7 +776,7 @@ msgid "Port %s already in use. Cannot start http server." msgstr "" msgctxt "#30621" -msgid "Proxy is required for mpeg-dash vods (see HTTP Server)" +msgid "Proxy is required for mpeg-dash vods (see Advanced > HTTP Server)" msgstr "" msgctxt "#30622" @@ -824,7 +824,7 @@ msgid "Enable API configuration page" msgstr "" msgctxt "#30633" -msgid "http://:/youtube/api (see HTTP Server)" +msgid "http://:/youtube/api (see Advanced > HTTP Server)" msgstr "" msgctxt "#30634" @@ -1184,7 +1184,7 @@ msgid "Enable HDR video" msgstr "" msgctxt "#30723" -msgid "Proxy is required for mpeg-dash vods (see HTTP Server)[CR]> 1080p and HDR requires InputStream Adaptive >= 2.3.14" +msgid "Proxy is required for mpeg-dash vods (see Advanced > HTTP Server)[CR]> 1080p and HDR requires InputStream Adaptive >= 2.3.14" msgstr "" msgctxt "#30724" diff --git a/resources/language/resource.language.ar_sa/strings.po b/resources/language/resource.language.ar_sa/strings.po index fee09b0c6..d78a53cb8 100644 --- a/resources/language/resource.language.ar_sa/strings.po +++ b/resources/language/resource.language.ar_sa/strings.po @@ -776,7 +776,7 @@ msgid "Port %s already in use. Cannot start http server." msgstr "" msgctxt "#30621" -msgid "Proxy is required for mpeg-dash vods (see HTTP Server)" +msgid "Proxy is required for mpeg-dash vods (see Advanced > HTTP Server)" msgstr "" msgctxt "#30622" @@ -824,7 +824,7 @@ msgid "Enable API configuration page" msgstr "" msgctxt "#30633" -msgid "http://:/youtube/api (see HTTP Server)" +msgid "http://:/youtube/api (see Advanced > HTTP Server)" msgstr "" msgctxt "#30634" @@ -1184,7 +1184,7 @@ msgid "Enable HDR video" msgstr "" msgctxt "#30723" -msgid "Proxy is required for mpeg-dash vods (see HTTP Server)[CR]> 1080p and HDR requires InputStream Adaptive >= 2.3.14" +msgid "Proxy is required for mpeg-dash vods (see Advanced > HTTP Server)[CR]> 1080p and HDR requires InputStream Adaptive >= 2.3.14" msgstr "" msgctxt "#30724" diff --git a/resources/language/resource.language.ast_es/strings.po b/resources/language/resource.language.ast_es/strings.po index 03cc88fed..7cd495a4a 100644 --- a/resources/language/resource.language.ast_es/strings.po +++ b/resources/language/resource.language.ast_es/strings.po @@ -776,7 +776,7 @@ msgid "Port %s already in use. Cannot start http server." msgstr "" msgctxt "#30621" -msgid "Proxy is required for mpeg-dash vods (see HTTP Server)" +msgid "Proxy is required for mpeg-dash vods (see Advanced > HTTP Server)" msgstr "" msgctxt "#30622" @@ -824,7 +824,7 @@ msgid "Enable API configuration page" msgstr "" msgctxt "#30633" -msgid "http://:/youtube/api (see HTTP Server)" +msgid "http://:/youtube/api (see Advanced > HTTP Server)" msgstr "" msgctxt "#30634" @@ -1184,7 +1184,7 @@ msgid "Enable HDR video" msgstr "" msgctxt "#30723" -msgid "Proxy is required for mpeg-dash vods (see HTTP Server)[CR]> 1080p and HDR requires InputStream Adaptive >= 2.3.14" +msgid "Proxy is required for mpeg-dash vods (see Advanced > HTTP Server)[CR]> 1080p and HDR requires InputStream Adaptive >= 2.3.14" msgstr "" msgctxt "#30724" diff --git a/resources/language/resource.language.az_az/strings.po b/resources/language/resource.language.az_az/strings.po index e2a210a32..84260d0e7 100644 --- a/resources/language/resource.language.az_az/strings.po +++ b/resources/language/resource.language.az_az/strings.po @@ -776,7 +776,7 @@ msgid "Port %s already in use. Cannot start http server." msgstr "" msgctxt "#30621" -msgid "Proxy is required for mpeg-dash vods (see HTTP Server)" +msgid "Proxy is required for mpeg-dash vods (see Advanced > HTTP Server)" msgstr "" msgctxt "#30622" @@ -824,7 +824,7 @@ msgid "Enable API configuration page" msgstr "" msgctxt "#30633" -msgid "http://:/youtube/api (see HTTP Server)" +msgid "http://:/youtube/api (see Advanced > HTTP Server)" msgstr "" msgctxt "#30634" @@ -1184,7 +1184,7 @@ msgid "Enable HDR video" msgstr "" msgctxt "#30723" -msgid "Proxy is required for mpeg-dash vods (see HTTP Server)[CR]> 1080p and HDR requires InputStream Adaptive >= 2.3.14" +msgid "Proxy is required for mpeg-dash vods (see Advanced > HTTP Server)[CR]> 1080p and HDR requires InputStream Adaptive >= 2.3.14" msgstr "" msgctxt "#30724" diff --git a/resources/language/resource.language.be_by/strings.po b/resources/language/resource.language.be_by/strings.po index b06ce6fa6..d8d923564 100644 --- a/resources/language/resource.language.be_by/strings.po +++ b/resources/language/resource.language.be_by/strings.po @@ -777,7 +777,7 @@ msgid "Port %s already in use. Cannot start http server." msgstr "" msgctxt "#30621" -msgid "Proxy is required for mpeg-dash vods (see HTTP Server)" +msgid "Proxy is required for mpeg-dash vods (see Advanced > HTTP Server)" msgstr "" msgctxt "#30622" @@ -825,7 +825,7 @@ msgid "Enable API configuration page" msgstr "" msgctxt "#30633" -msgid "http://:/youtube/api (see HTTP Server)" +msgid "http://:/youtube/api (see Advanced > HTTP Server)" msgstr "" msgctxt "#30634" @@ -1185,7 +1185,7 @@ msgid "Enable HDR video" msgstr "" msgctxt "#30723" -msgid "Proxy is required for mpeg-dash vods (see HTTP Server)[CR]> 1080p and HDR requires InputStream Adaptive >= 2.3.14" +msgid "Proxy is required for mpeg-dash vods (see Advanced > HTTP Server)[CR]> 1080p and HDR requires InputStream Adaptive >= 2.3.14" msgstr "" msgctxt "#30724" diff --git a/resources/language/resource.language.bg_bg/strings.po b/resources/language/resource.language.bg_bg/strings.po index 7d8b40529..73d860f9d 100644 --- a/resources/language/resource.language.bg_bg/strings.po +++ b/resources/language/resource.language.bg_bg/strings.po @@ -774,7 +774,7 @@ msgid "Port %s already in use. Cannot start http server." msgstr "" msgctxt "#30621" -msgid "Proxy is required for mpeg-dash vods (see HTTP Server)" +msgid "Proxy is required for mpeg-dash vods (see Advanced > HTTP Server)" msgstr "" msgctxt "#30622" @@ -822,7 +822,7 @@ msgid "Enable API configuration page" msgstr "" msgctxt "#30633" -msgid "http://:/youtube/api (see HTTP Server)" +msgid "http://:/youtube/api (see Advanced > HTTP Server)" msgstr "" msgctxt "#30634" @@ -1182,7 +1182,7 @@ msgid "Enable HDR video" msgstr "" msgctxt "#30723" -msgid "Proxy is required for mpeg-dash vods (see HTTP Server)[CR]> 1080p and HDR requires InputStream Adaptive >= 2.3.14" +msgid "Proxy is required for mpeg-dash vods (see Advanced > HTTP Server)[CR]> 1080p and HDR requires InputStream Adaptive >= 2.3.14" msgstr "" msgctxt "#30724" diff --git a/resources/language/resource.language.bs_ba/strings.po b/resources/language/resource.language.bs_ba/strings.po index 13edad990..d14f43993 100644 --- a/resources/language/resource.language.bs_ba/strings.po +++ b/resources/language/resource.language.bs_ba/strings.po @@ -776,7 +776,7 @@ msgid "Port %s already in use. Cannot start http server." msgstr "" msgctxt "#30621" -msgid "Proxy is required for mpeg-dash vods (see HTTP Server)" +msgid "Proxy is required for mpeg-dash vods (see Advanced > HTTP Server)" msgstr "" msgctxt "#30622" @@ -824,7 +824,7 @@ msgid "Enable API configuration page" msgstr "" msgctxt "#30633" -msgid "http://:/youtube/api (see HTTP Server)" +msgid "http://:/youtube/api (see Advanced > HTTP Server)" msgstr "" msgctxt "#30634" @@ -1184,7 +1184,7 @@ msgid "Enable HDR video" msgstr "" msgctxt "#30723" -msgid "Proxy is required for mpeg-dash vods (see HTTP Server)[CR]> 1080p and HDR requires InputStream Adaptive >= 2.3.14" +msgid "Proxy is required for mpeg-dash vods (see Advanced > HTTP Server)[CR]> 1080p and HDR requires InputStream Adaptive >= 2.3.14" msgstr "" msgctxt "#30724" diff --git a/resources/language/resource.language.ca_es/strings.po b/resources/language/resource.language.ca_es/strings.po index 80cdb75c5..b5a7063d1 100644 --- a/resources/language/resource.language.ca_es/strings.po +++ b/resources/language/resource.language.ca_es/strings.po @@ -777,7 +777,7 @@ msgid "Port %s already in use. Cannot start http server." msgstr "" msgctxt "#30621" -msgid "Proxy is required for mpeg-dash vods (see HTTP Server)" +msgid "Proxy is required for mpeg-dash vods (see Advanced > HTTP Server)" msgstr "" msgctxt "#30622" @@ -825,7 +825,7 @@ msgid "Enable API configuration page" msgstr "" msgctxt "#30633" -msgid "http://:/youtube/api (see HTTP Server)" +msgid "http://:/youtube/api (see Advanced > HTTP Server)" msgstr "" msgctxt "#30634" @@ -1185,7 +1185,7 @@ msgid "Enable HDR video" msgstr "" msgctxt "#30723" -msgid "Proxy is required for mpeg-dash vods (see HTTP Server)[CR]> 1080p and HDR requires InputStream Adaptive >= 2.3.14" +msgid "Proxy is required for mpeg-dash vods (see Advanced > HTTP Server)[CR]> 1080p and HDR requires InputStream Adaptive >= 2.3.14" msgstr "" msgctxt "#30724" diff --git a/resources/language/resource.language.cs_cz/strings.po b/resources/language/resource.language.cs_cz/strings.po index 25b8da258..52f9cd411 100644 --- a/resources/language/resource.language.cs_cz/strings.po +++ b/resources/language/resource.language.cs_cz/strings.po @@ -777,7 +777,7 @@ msgid "Port %s already in use. Cannot start http server." msgstr "Port %s je již použiván. Nelze spustit HTTP Server." msgctxt "#30621" -msgid "Proxy is required for mpeg-dash vods (see HTTP Server)" +msgid "Proxy is required for mpeg-dash vods (see Advanced > HTTP Server)" msgstr "Proxy je vyžadován pro MPEG-DASH" msgctxt "#30622" @@ -825,7 +825,7 @@ msgid "Enable API configuration page" msgstr "Povolit konfigurační stránku API" msgctxt "#30633" -msgid "http://:/youtube/api (see HTTP Server)" +msgid "http://:/youtube/api (see Advanced > HTTP Server)" msgstr "http://:/youtube/api" msgctxt "#30634" @@ -1185,7 +1185,7 @@ msgid "Enable HDR video" msgstr "" msgctxt "#30723" -msgid "Proxy is required for mpeg-dash vods (see HTTP Server)[CR]> 1080p and HDR requires InputStream Adaptive >= 2.3.14" +msgid "Proxy is required for mpeg-dash vods (see Advanced > HTTP Server)[CR]> 1080p and HDR requires InputStream Adaptive >= 2.3.14" msgstr "Proxy je vyžadován pro MPEG-DASH [CR]> 1080p a HDR vyžaduje InputStream Adaptive >= 2.3.14" msgctxt "#30724" diff --git a/resources/language/resource.language.cy_gb/strings.po b/resources/language/resource.language.cy_gb/strings.po index 18fc424a0..2e6901981 100644 --- a/resources/language/resource.language.cy_gb/strings.po +++ b/resources/language/resource.language.cy_gb/strings.po @@ -776,7 +776,7 @@ msgid "Port %s already in use. Cannot start http server." msgstr "" msgctxt "#30621" -msgid "Proxy is required for mpeg-dash vods (see HTTP Server)" +msgid "Proxy is required for mpeg-dash vods (see Advanced > HTTP Server)" msgstr "" msgctxt "#30622" @@ -824,7 +824,7 @@ msgid "Enable API configuration page" msgstr "" msgctxt "#30633" -msgid "http://:/youtube/api (see HTTP Server)" +msgid "http://:/youtube/api (see Advanced > HTTP Server)" msgstr "" msgctxt "#30634" @@ -1184,7 +1184,7 @@ msgid "Enable HDR video" msgstr "" msgctxt "#30723" -msgid "Proxy is required for mpeg-dash vods (see HTTP Server)[CR]> 1080p and HDR requires InputStream Adaptive >= 2.3.14" +msgid "Proxy is required for mpeg-dash vods (see Advanced > HTTP Server)[CR]> 1080p and HDR requires InputStream Adaptive >= 2.3.14" msgstr "" msgctxt "#30724" diff --git a/resources/language/resource.language.da_dk/strings.po b/resources/language/resource.language.da_dk/strings.po index 533953f4c..c601a83f3 100644 --- a/resources/language/resource.language.da_dk/strings.po +++ b/resources/language/resource.language.da_dk/strings.po @@ -777,7 +777,7 @@ msgid "Port %s already in use. Cannot start http server." msgstr "Port %s er allerede i brug. Kan ikke starte http-serveren." msgctxt "#30621" -msgid "Proxy is required for mpeg-dash vods (see HTTP Server)" +msgid "Proxy is required for mpeg-dash vods (see Advanced > HTTP Server)" msgstr "Proxy er påkrævet for mpeg-dash vods (se HTTP-server)" msgctxt "#30622" @@ -825,7 +825,7 @@ msgid "Enable API configuration page" msgstr "Aktiver side med API-konfiguration" msgctxt "#30633" -msgid "http://:/youtube/api (see HTTP Server)" +msgid "http://:/youtube/api (see Advanced > HTTP Server)" msgstr "http://:/youtube/api (se HTTP-server)" msgctxt "#30634" @@ -1185,7 +1185,7 @@ msgid "Enable HDR video" msgstr "" msgctxt "#30723" -msgid "Proxy is required for mpeg-dash vods (see HTTP Server)[CR]> 1080p and HDR requires InputStream Adaptive >= 2.3.14" +msgid "Proxy is required for mpeg-dash vods (see Advanced > HTTP Server)[CR]> 1080p and HDR requires InputStream Adaptive >= 2.3.14" msgstr "Proxy er påkrævet for mpeg-dash vods (se HTTP-server)[CR]> 1080p og HDR kræver InputStream Adaptive >= 2.3.14" msgctxt "#30724" diff --git a/resources/language/resource.language.de_de/strings.po b/resources/language/resource.language.de_de/strings.po index 7f3f79e3a..654ed0d0b 100644 --- a/resources/language/resource.language.de_de/strings.po +++ b/resources/language/resource.language.de_de/strings.po @@ -777,7 +777,7 @@ msgid "Port %s already in use. Cannot start http server." msgstr "Port %s wird bereits genutzt. HTTP-Server kann nicht gestartet werden." msgctxt "#30621" -msgid "Proxy is required for mpeg-dash vods (see HTTP Server)" +msgid "Proxy is required for mpeg-dash vods (see Advanced > HTTP Server)" msgstr "Für MPEG-DASH-Videos wird ein Proxy benötigt (siehe HTTP-Server)" msgctxt "#30622" @@ -825,7 +825,7 @@ msgid "Enable API configuration page" msgstr "API-Einrichtungsseite aktivieren" msgctxt "#30633" -msgid "http://:/youtube/api (see HTTP Server)" +msgid "http://:/youtube/api (see Advanced > HTTP Server)" msgstr "http://:/youtube/api (siehe HTTP-Server)" msgctxt "#30634" @@ -1185,7 +1185,7 @@ msgid "Enable HDR video" msgstr "HDR-Video aktivieren" msgctxt "#30723" -msgid "Proxy is required for mpeg-dash vods (see HTTP Server)[CR]> 1080p and HDR requires InputStream Adaptive >= 2.3.14" +msgid "Proxy is required for mpeg-dash vods (see Advanced > HTTP Server)[CR]> 1080p and HDR requires InputStream Adaptive >= 2.3.14" msgstr "Für MPEG-DASH-VODs wird ein Proxy benötigt (siehe HTTP-Server)[CR]> 1080p und HDR benötigt InputStream Adaptive >= 2.3.14" msgctxt "#30724" diff --git a/resources/language/resource.language.el_gr/strings.po b/resources/language/resource.language.el_gr/strings.po index cb003e0f5..0ad1e6c3c 100644 --- a/resources/language/resource.language.el_gr/strings.po +++ b/resources/language/resource.language.el_gr/strings.po @@ -777,7 +777,7 @@ msgid "Port %s already in use. Cannot start http server." msgstr "Η θύρα %s χρησιμοποιείται ήδη. Αδυναμία έναρξης εξυπηρετητή http." msgctxt "#30621" -msgid "Proxy is required for mpeg-dash vods (see HTTP Server)" +msgid "Proxy is required for mpeg-dash vods (see Advanced > HTTP Server)" msgstr "Ο μεσολαβητής απαιτείται για την αναπαραγωγή mpeg-dash (βλέπε εξυπηρετητής HTTP)" msgctxt "#30622" @@ -825,7 +825,7 @@ msgid "Enable API configuration page" msgstr "Επέτρεψε την σελίδα ρυθμίσεων κλειδιών API" msgctxt "#30633" -msgid "http://:/youtube/api (see HTTP Server)" +msgid "http://:/youtube/api (see Advanced > HTTP Server)" msgstr "http://διεύθυνσηIP:θύρα/youtube/api (βλέπε εξυπηρετητής HTTP)" msgctxt "#30634" @@ -1185,7 +1185,7 @@ msgid "Enable HDR video" msgstr "" msgctxt "#30723" -msgid "Proxy is required for mpeg-dash vods (see HTTP Server)[CR]> 1080p and HDR requires InputStream Adaptive >= 2.3.14" +msgid "Proxy is required for mpeg-dash vods (see Advanced > HTTP Server)[CR]> 1080p and HDR requires InputStream Adaptive >= 2.3.14" msgstr "Απαιτείται μεσολαβητής για ροές κατ'απαίτηση mpeg-dash (βλ. Μεσολαβητής HTTP)[CR]Τα > 1080p και HDR απαιτούν το InputStream Adaptive >= 2.3.14" msgctxt "#30724" diff --git a/resources/language/resource.language.en_au/strings.po b/resources/language/resource.language.en_au/strings.po index 7b9f0594f..bd26e055d 100644 --- a/resources/language/resource.language.en_au/strings.po +++ b/resources/language/resource.language.en_au/strings.po @@ -129,11 +129,11 @@ msgid "Cache size (MB)" msgstr "" msgctxt "#30025" -msgid "Enable setup-wizard" +msgid "Enable Setup Wizard" msgstr "" msgctxt "#30026" -msgid "Override view" +msgid "Override views" msgstr "" msgctxt "#30027" @@ -149,7 +149,7 @@ msgid "View: Movies" msgstr "" msgctxt "#30030" -msgid "Execute setup-wizard?" +msgid "Configure %s?" msgstr "" msgctxt "#30031" @@ -406,11 +406,11 @@ msgid "Select region" msgstr "" msgctxt "#30526" -msgid "Adjust" +msgid "Setup Wizard" msgstr "" msgctxt "#30527" -msgid "Language and region?" +msgid "Language and Region" msgstr "" msgctxt "#30528" @@ -702,11 +702,11 @@ msgid "Failed to enable personal API keys. Missing: %s" msgstr "" msgctxt "#30600" -msgid "Configure subtitles" +msgid "Subtitles" msgstr "" msgctxt "#30601" -msgid "%s with %s fallback" +msgid "%s with Original/%s fallback" msgstr "" msgctxt "#30602" @@ -786,7 +786,7 @@ msgid "Port %s already in use. Cannot start http server." msgstr "" msgctxt "#30621" -msgid "Proxy is required for MPEG-DASH VODs (see HTTP Server)" +msgid "Proxy is required for MPEG-DASH VODs (see Advanced > HTTP Server)" msgstr "" msgctxt "#30622" @@ -834,7 +834,7 @@ msgid "Enable API configuration page" msgstr "" msgctxt "#30633" -msgid "http://:/youtube/api (see HTTP Server)" +msgid "http://:/youtube/api (see Advanced > HTTP Server)" msgstr "" msgctxt "#30634" @@ -914,7 +914,7 @@ msgid "Location radius (km)" msgstr "" msgctxt "#30653" -msgid "Perform geolocation? Used for [B]My Location[/B]" +msgid "My Location using IP geolocation lookup" msgstr "" msgctxt "#30654" @@ -990,7 +990,7 @@ msgid "Clear playback history" msgstr "" msgctxt "#30672" -msgid "Delete playback history" +msgid "Delete playback history database" msgstr "" msgctxt "#30673" @@ -1194,7 +1194,7 @@ msgid "Enable HDR video" msgstr "" msgctxt "#30723" -msgid "Proxy is required for MPEG-DASH VODs (see HTTP Server)[CR]HDR and >1080p video requires InputStream Adaptive >= 2.3.14" +msgid "Proxy is required for MPEG-DASH VODs (see Advanced > HTTP Server)[CR]HDR and >1080p video requires InputStream Adaptive >= 2.3.14" msgstr "" msgctxt "#30724" @@ -1404,3 +1404,71 @@ msgstr "" msgctxt "#30775" msgid "%s (translation)" msgstr "" + +msgctxt "#30776" +msgid "Ask + Automatic + Quality selection" +msgstr "" + +msgctxt "#30777" +msgid "Views for %s (%s)" +msgstr "" + +msgctxt "#30778" +msgid "Import old playback history?" +msgstr "" + +msgctxt "#30779" +msgid "Import old search history?" +msgstr "" + +msgctxt "#30780" +msgid "Clear local watch later list" +msgstr "" + +msgctxt "#30781" +msgid "Delete watch later database" +msgstr "" + +msgctxt "#30782" +msgid "local watch later list" +msgstr "" + +msgctxt "#30783" +msgid "settings to recommended values" +msgstr "" + +msgctxt "#30784" +msgid "listings to show minimal details" +msgstr "" + +msgctxt "#30785" +msgid "performance settings" +msgstr "" + +msgctxt "#30786" +msgid "Choose device capabilities" +msgstr "" + +msgctxt "#30787" +msgid "720p | Limited or older devices" +msgstr "" + +msgctxt "#30788" +msgid "1080p/30 fps | Rasberry Pi 4B, or similar" +msgstr "" + +msgctxt "#30789" +msgid "4K/30 fps or 1080p/60 fps, HDR if compatible | Rasberry Pi 5, or similar" +msgstr "" + +msgctxt "#30790" +msgid "4K/60 fps, HDR if compatible | Fire TV Cube Gen 2, Shield TV, Fire TV Stick 4K Gen 1, or similar" +msgstr "" + +msgctxt "#30791" +msgid "4K/60 fps, HDR, using AV1 | Fire TV Cube Gen 3, Fire TV Stick 4K Max, Vero V, or similar" +msgstr "" + +msgctxt "#30792" +msgid "8K/60 fps, HDR, using AV1 | Modern device or PC with full capabilities " +msgstr "" diff --git a/resources/language/resource.language.en_gb/strings.po b/resources/language/resource.language.en_gb/strings.po index c04d11618..9513e9d15 100644 --- a/resources/language/resource.language.en_gb/strings.po +++ b/resources/language/resource.language.en_gb/strings.po @@ -706,7 +706,7 @@ msgid "Subtitles" msgstr "" msgctxt "#30601" -msgid "%s with %s fallback" +msgid "%s with Original/%s fallback" msgstr "" msgctxt "#30602" @@ -1409,6 +1409,9 @@ msgctxt "#30776" msgid "Ask + Automatic + Quality selection" msgstr "" +msgctxt "#30777" +msgid "Views for %s (%s)" +msgstr "" msgctxt "#30778" msgid "Import old playback history?" @@ -1451,7 +1454,7 @@ msgid "720p | Limited or older devices" msgstr "" msgctxt "#30788" -msgid "1080p/30 fps | Rasberry Pi 4B or similar" +msgid "1080p/30 fps | Rasberry Pi 4B, or similar" msgstr "" msgctxt "#30789" @@ -1459,11 +1462,11 @@ msgid "4K/30 fps or 1080p/60 fps, HDR if compatible | Rasberry Pi 5, or similar" msgstr "" msgctxt "#30790" -msgid "4K/60 fps, HDR if compatible | Amlogic S905X3 based device, Shield TV, or similar" +msgid "4K/60 fps, HDR if compatible | Fire TV Cube Gen 2, Shield TV, Fire TV Stick 4K Gen 1, or similar" msgstr "" msgctxt "#30791" -msgid "4K/60 fps, HDR, using AV1 | Amlogic S905X4 based device, Fire TV Cube 3rd Gen, or similar" +msgid "4K/60 fps, HDR, using AV1 | Fire TV Cube Gen 3, Fire TV Stick 4K Max, Vero V, or similar" msgstr "" msgctxt "#30792" diff --git a/resources/language/resource.language.en_nz/strings.po b/resources/language/resource.language.en_nz/strings.po index f28cce55f..017ac8151 100644 --- a/resources/language/resource.language.en_nz/strings.po +++ b/resources/language/resource.language.en_nz/strings.po @@ -31,6 +31,7 @@ msgstr "" # msgctxt "Addon Summary" # msgid "Plugin for YouTube" # msgstr "" + # msgctxt "Addon Description" # msgid "YouTube is a one of the biggest video-sharing websites of the world." # msgstr "" @@ -128,11 +129,11 @@ msgid "Cache size (MB)" msgstr "" msgctxt "#30025" -msgid "Enable setup-wizard" +msgid "Enable Setup Wizard" msgstr "" msgctxt "#30026" -msgid "Override view" +msgid "Override views" msgstr "" msgctxt "#30027" @@ -148,7 +149,7 @@ msgid "View: Movies" msgstr "" msgctxt "#30030" -msgid "Execute setup-wizard?" +msgid "Configure %s?" msgstr "" msgctxt "#30031" @@ -185,6 +186,7 @@ msgstr "" # Kodion Common # empty strings from id 30039 to 30099 + msgctxt "#30100" msgid "Favourites" msgstr "" @@ -271,6 +273,7 @@ msgstr "" # YouTube # empty strings from id 30121 to 30199 + msgctxt "#30200" msgid "API" msgstr "" @@ -297,6 +300,7 @@ msgstr "" # YouTube # empty strings from id 30206 to 30499 + msgctxt "#30500" msgid "Channels" msgstr "" @@ -402,11 +406,11 @@ msgid "Select region" msgstr "" msgctxt "#30526" -msgid "Adjust" +msgid "Setup Wizard" msgstr "" msgctxt "#30527" -msgid "Language and region?" +msgid "Language and Region" msgstr "" msgctxt "#30528" @@ -698,11 +702,11 @@ msgid "Failed to enable personal API keys. Missing: %s" msgstr "" msgctxt "#30600" -msgid "Configure subtitles" +msgid "Subtitles" msgstr "" msgctxt "#30601" -msgid "%s with %s fallback" +msgid "%s with Original/%s fallback" msgstr "" msgctxt "#30602" @@ -782,7 +786,7 @@ msgid "Port %s already in use. Cannot start http server." msgstr "" msgctxt "#30621" -msgid "Proxy is required for MPEG-DASH VODs (see HTTP Server)" +msgid "Proxy is required for MPEG-DASH VODs (see Advanced > HTTP Server)" msgstr "" msgctxt "#30622" @@ -830,7 +834,7 @@ msgid "Enable API configuration page" msgstr "" msgctxt "#30633" -msgid "http://:/youtube/api (see HTTP Server)" +msgid "http://:/youtube/api (see Advanced > HTTP Server)" msgstr "" msgctxt "#30634" @@ -910,7 +914,7 @@ msgid "Location radius (km)" msgstr "" msgctxt "#30653" -msgid "Perform geolocation? Used for [B]My Location[/B]" +msgid "My Location using IP geolocation lookup" msgstr "" msgctxt "#30654" @@ -986,7 +990,7 @@ msgid "Clear playback history" msgstr "" msgctxt "#30672" -msgid "Delete playback history" +msgid "Delete playback history database" msgstr "" msgctxt "#30673" @@ -1190,7 +1194,7 @@ msgid "Enable HDR video" msgstr "" msgctxt "#30723" -msgid "Proxy is required for MPEG-DASH VODs (see HTTP Server)[CR]HDR and >1080p video requires InputStream Adaptive >= 2.3.14" +msgid "Proxy is required for MPEG-DASH VODs (see Advanced > HTTP Server)[CR]HDR and >1080p video requires InputStream Adaptive >= 2.3.14" msgstr "" msgctxt "#30724" @@ -1400,3 +1404,71 @@ msgstr "" msgctxt "#30775" msgid "%s (translation)" msgstr "" + +msgctxt "#30776" +msgid "Ask + Automatic + Quality selection" +msgstr "" + +msgctxt "#30777" +msgid "Views for %s (%s)" +msgstr "" + +msgctxt "#30778" +msgid "Import old playback history?" +msgstr "" + +msgctxt "#30779" +msgid "Import old search history?" +msgstr "" + +msgctxt "#30780" +msgid "Clear local watch later list" +msgstr "" + +msgctxt "#30781" +msgid "Delete watch later database" +msgstr "" + +msgctxt "#30782" +msgid "local watch later list" +msgstr "" + +msgctxt "#30783" +msgid "settings to recommended values" +msgstr "" + +msgctxt "#30784" +msgid "listings to show minimal details" +msgstr "" + +msgctxt "#30785" +msgid "performance settings" +msgstr "" + +msgctxt "#30786" +msgid "Choose device capabilities" +msgstr "" + +msgctxt "#30787" +msgid "720p | Limited or older devices" +msgstr "" + +msgctxt "#30788" +msgid "1080p/30 fps | Rasberry Pi 4B, or similar" +msgstr "" + +msgctxt "#30789" +msgid "4K/30 fps or 1080p/60 fps, HDR if compatible | Rasberry Pi 5, or similar" +msgstr "" + +msgctxt "#30790" +msgid "4K/60 fps, HDR if compatible | Fire TV Cube Gen 2, Shield TV, Fire TV Stick 4K Gen 1, or similar" +msgstr "" + +msgctxt "#30791" +msgid "4K/60 fps, HDR, using AV1 | Fire TV Cube Gen 3, Fire TV Stick 4K Max, Vero V, or similar" +msgstr "" + +msgctxt "#30792" +msgid "8K/60 fps, HDR, using AV1 | Modern device or PC with full capabilities " +msgstr "" diff --git a/resources/language/resource.language.en_us/strings.po b/resources/language/resource.language.en_us/strings.po index 3d734797a..ec44c55f8 100644 --- a/resources/language/resource.language.en_us/strings.po +++ b/resources/language/resource.language.en_us/strings.po @@ -130,11 +130,11 @@ msgid "Cache size (MB)" msgstr "" msgctxt "#30025" -msgid "Enable setup-wizard" +msgid "Enable Setup Wizard" msgstr "" msgctxt "#30026" -msgid "Override view" +msgid "Override views" msgstr "" msgctxt "#30027" @@ -150,7 +150,7 @@ msgid "View: Movies" msgstr "" msgctxt "#30030" -msgid "Execute setup-wizard?" +msgid "Configure %s?" msgstr "" msgctxt "#30031" @@ -407,11 +407,11 @@ msgid "Select region" msgstr "" msgctxt "#30526" -msgid "Adjust" +msgid "Setup Wizard" msgstr "" msgctxt "#30527" -msgid "Language and region?" +msgid "Language and Region" msgstr "" msgctxt "#30528" @@ -703,11 +703,11 @@ msgid "Failed to enable personal API keys. Missing: %s" msgstr "" msgctxt "#30600" -msgid "Configure subtitles" +msgid "Subtitles" msgstr "" msgctxt "#30601" -msgid "%s with %s fallback" +msgid "%s with Original/%s fallback" msgstr "" msgctxt "#30602" @@ -787,7 +787,7 @@ msgid "Port %s already in use. Cannot start http server." msgstr "" msgctxt "#30621" -msgid "Proxy is required for MPEG-DASH VODs (see HTTP Server)" +msgid "Proxy is required for MPEG-DASH VODs (see Advanced > HTTP Server)" msgstr "" msgctxt "#30622" @@ -835,7 +835,7 @@ msgid "Enable API configuration page" msgstr "" msgctxt "#30633" -msgid "http://:/youtube/api (see HTTP Server)" +msgid "http://:/youtube/api (see Advanced > HTTP Server)" msgstr "" msgctxt "#30634" @@ -915,7 +915,7 @@ msgid "Location radius (km)" msgstr "" msgctxt "#30653" -msgid "Perform geolocation? Used for [B]My Location[/B]" +msgid "My Location using IP geolocation lookup" msgstr "" msgctxt "#30654" @@ -991,7 +991,7 @@ msgid "Clear playback history" msgstr "" msgctxt "#30672" -msgid "Delete playback history" +msgid "Delete playback history database" msgstr "" msgctxt "#30673" @@ -1195,7 +1195,7 @@ msgid "Enable HDR video" msgstr "" msgctxt "#30723" -msgid "Proxy is required for MPEG-DASH VODs (see HTTP Server)[CR]HDR and >1080p video requires InputStream Adaptive >= 2.3.14" +msgid "Proxy is required for MPEG-DASH VODs (see Advanced > HTTP Server)[CR]HDR and >1080p video requires InputStream Adaptive >= 2.3.14" msgstr "" msgctxt "#30724" @@ -1405,3 +1405,71 @@ msgstr "" msgctxt "#30775" msgid "%s (translation)" msgstr "" + +msgctxt "#30776" +msgid "Ask + Automatic + Quality selection" +msgstr "" + +msgctxt "#30777" +msgid "Views for %s (%s)" +msgstr "" + +msgctxt "#30778" +msgid "Import old playback history?" +msgstr "" + +msgctxt "#30779" +msgid "Import old search history?" +msgstr "" + +msgctxt "#30780" +msgid "Clear local watch later list" +msgstr "" + +msgctxt "#30781" +msgid "Delete watch later database" +msgstr "" + +msgctxt "#30782" +msgid "local watch later list" +msgstr "" + +msgctxt "#30783" +msgid "settings to recommended values" +msgstr "" + +msgctxt "#30784" +msgid "listings to show minimal details" +msgstr "" + +msgctxt "#30785" +msgid "performance settings" +msgstr "" + +msgctxt "#30786" +msgid "Choose device capabilities" +msgstr "" + +msgctxt "#30787" +msgid "720p | Limited or older devices" +msgstr "" + +msgctxt "#30788" +msgid "1080p/30 fps | Rasberry Pi 4B, or similar" +msgstr "" + +msgctxt "#30789" +msgid "4K/30 fps or 1080p/60 fps, HDR if compatible | Rasberry Pi 5, or similar" +msgstr "" + +msgctxt "#30790" +msgid "4K/60 fps, HDR if compatible | Fire TV Cube Gen 2, Shield TV, Fire TV Stick 4K Gen 1, or similar" +msgstr "" + +msgctxt "#30791" +msgid "4K/60 fps, HDR, using AV1 | Fire TV Cube Gen 3, Fire TV Stick 4K Max, Vero V, or similar" +msgstr "" + +msgctxt "#30792" +msgid "8K/60 fps, HDR, using AV1 | Modern device or PC with full capabilities " +msgstr "" diff --git a/resources/language/resource.language.eo/strings.po b/resources/language/resource.language.eo/strings.po index 28e074f1b..d29ebff33 100644 --- a/resources/language/resource.language.eo/strings.po +++ b/resources/language/resource.language.eo/strings.po @@ -776,7 +776,7 @@ msgid "Port %s already in use. Cannot start http server." msgstr "" msgctxt "#30621" -msgid "Proxy is required for mpeg-dash vods (see HTTP Server)" +msgid "Proxy is required for mpeg-dash vods (see Advanced > HTTP Server)" msgstr "" msgctxt "#30622" @@ -824,7 +824,7 @@ msgid "Enable API configuration page" msgstr "" msgctxt "#30633" -msgid "http://:/youtube/api (see HTTP Server)" +msgid "http://:/youtube/api (see Advanced > HTTP Server)" msgstr "" msgctxt "#30634" @@ -1184,7 +1184,7 @@ msgid "Enable HDR video" msgstr "" msgctxt "#30723" -msgid "Proxy is required for mpeg-dash vods (see HTTP Server)[CR]> 1080p and HDR requires InputStream Adaptive >= 2.3.14" +msgid "Proxy is required for mpeg-dash vods (see Advanced > HTTP Server)[CR]> 1080p and HDR requires InputStream Adaptive >= 2.3.14" msgstr "" msgctxt "#30724" diff --git a/resources/language/resource.language.es_ar/strings.po b/resources/language/resource.language.es_ar/strings.po index 067f2cb3b..054406a50 100644 --- a/resources/language/resource.language.es_ar/strings.po +++ b/resources/language/resource.language.es_ar/strings.po @@ -776,7 +776,7 @@ msgid "Port %s already in use. Cannot start http server." msgstr "" msgctxt "#30621" -msgid "Proxy is required for mpeg-dash vods (see HTTP Server)" +msgid "Proxy is required for mpeg-dash vods (see Advanced > HTTP Server)" msgstr "" msgctxt "#30622" @@ -824,7 +824,7 @@ msgid "Enable API configuration page" msgstr "" msgctxt "#30633" -msgid "http://:/youtube/api (see HTTP Server)" +msgid "http://:/youtube/api (see Advanced > HTTP Server)" msgstr "" msgctxt "#30634" @@ -1184,7 +1184,7 @@ msgid "Enable HDR video" msgstr "" msgctxt "#30723" -msgid "Proxy is required for mpeg-dash vods (see HTTP Server)[CR]> 1080p and HDR requires InputStream Adaptive >= 2.3.14" +msgid "Proxy is required for mpeg-dash vods (see Advanced > HTTP Server)[CR]> 1080p and HDR requires InputStream Adaptive >= 2.3.14" msgstr "" msgctxt "#30724" diff --git a/resources/language/resource.language.es_es/strings.po b/resources/language/resource.language.es_es/strings.po index 52517f129..cdf2f145d 100644 --- a/resources/language/resource.language.es_es/strings.po +++ b/resources/language/resource.language.es_es/strings.po @@ -777,7 +777,7 @@ msgid "Port %s already in use. Cannot start http server." msgstr "El puerto %s ya esta en uso. No se ha podido iniciar el servidor HTTP." msgctxt "#30621" -msgid "Proxy is required for mpeg-dash vods (see HTTP Server)" +msgid "Proxy is required for mpeg-dash vods (see Advanced > HTTP Server)" msgstr "Para mpeg-dash VODs es necesario proxy (ver Servidor HTTP)" msgctxt "#30622" @@ -825,7 +825,7 @@ msgid "Enable API configuration page" msgstr "Habilitar página de configuración API" msgctxt "#30633" -msgid "http://:/youtube/api (see HTTP Server)" +msgid "http://:/youtube/api (see Advanced > HTTP Server)" msgstr "http://:/youtube/api (ver Servidor HTTP)" msgctxt "#30634" @@ -1185,7 +1185,7 @@ msgid "Enable HDR video" msgstr "Habilitar vídeo HDR" msgctxt "#30723" -msgid "Proxy is required for mpeg-dash vods (see HTTP Server)[CR]> 1080p and HDR requires InputStream Adaptive >= 2.3.14" +msgid "Proxy is required for mpeg-dash vods (see Advanced > HTTP Server)[CR]> 1080p and HDR requires InputStream Adaptive >= 2.3.14" msgstr "Para VODs mpeg-dash (ver Servidor HTTP)[CR]> 1080p y HDR requieren InputStream Adaptive 2.3.14 o superior" msgctxt "#30724" diff --git a/resources/language/resource.language.es_mx/strings.po b/resources/language/resource.language.es_mx/strings.po index 7a81b5734..3a342514e 100644 --- a/resources/language/resource.language.es_mx/strings.po +++ b/resources/language/resource.language.es_mx/strings.po @@ -777,7 +777,7 @@ msgid "Port %s already in use. Cannot start http server." msgstr "El puerto %s ya esta en uso. No se ha podido iniciar el servidor HTTP." msgctxt "#30621" -msgid "Proxy is required for mpeg-dash vods (see HTTP Server)" +msgid "Proxy is required for mpeg-dash vods (see Advanced > HTTP Server)" msgstr "Se requiere un proxy para mpeg-dash VODs (ver servidor HTTP)" msgctxt "#30622" @@ -825,7 +825,7 @@ msgid "Enable API configuration page" msgstr "Activar página de configuración API" msgctxt "#30633" -msgid "http://:/youtube/api (see HTTP Server)" +msgid "http://:/youtube/api (see Advanced > HTTP Server)" msgstr "http://:/youtube/api (ver Servidor HTTP)" msgctxt "#30634" @@ -1185,7 +1185,7 @@ msgid "Enable HDR video" msgstr "" msgctxt "#30723" -msgid "Proxy is required for mpeg-dash vods (see HTTP Server)[CR]> 1080p and HDR requires InputStream Adaptive >= 2.3.14" +msgid "Proxy is required for mpeg-dash vods (see Advanced > HTTP Server)[CR]> 1080p and HDR requires InputStream Adaptive >= 2.3.14" msgstr "Se requiere un proxy para mpeg-dash VODs (ver HTTP server)[CR]> 1080p y HDR requieren InpuStreamAdaptative >= 2.3.14" msgctxt "#30724" diff --git a/resources/language/resource.language.et_ee/strings.po b/resources/language/resource.language.et_ee/strings.po index 6bb5203c0..5afbe19fb 100644 --- a/resources/language/resource.language.et_ee/strings.po +++ b/resources/language/resource.language.et_ee/strings.po @@ -776,7 +776,7 @@ msgid "Port %s already in use. Cannot start http server." msgstr "" msgctxt "#30621" -msgid "Proxy is required for mpeg-dash vods (see HTTP Server)" +msgid "Proxy is required for mpeg-dash vods (see Advanced > HTTP Server)" msgstr "" msgctxt "#30622" @@ -824,7 +824,7 @@ msgid "Enable API configuration page" msgstr "" msgctxt "#30633" -msgid "http://:/youtube/api (see HTTP Server)" +msgid "http://:/youtube/api (see Advanced > HTTP Server)" msgstr "" msgctxt "#30634" @@ -1184,7 +1184,7 @@ msgid "Enable HDR video" msgstr "" msgctxt "#30723" -msgid "Proxy is required for mpeg-dash vods (see HTTP Server)[CR]> 1080p and HDR requires InputStream Adaptive >= 2.3.14" +msgid "Proxy is required for mpeg-dash vods (see Advanced > HTTP Server)[CR]> 1080p and HDR requires InputStream Adaptive >= 2.3.14" msgstr "" msgctxt "#30724" diff --git a/resources/language/resource.language.eu_es/strings.po b/resources/language/resource.language.eu_es/strings.po index bd923f130..431258646 100644 --- a/resources/language/resource.language.eu_es/strings.po +++ b/resources/language/resource.language.eu_es/strings.po @@ -776,7 +776,7 @@ msgid "Port %s already in use. Cannot start http server." msgstr "" msgctxt "#30621" -msgid "Proxy is required for mpeg-dash vods (see HTTP Server)" +msgid "Proxy is required for mpeg-dash vods (see Advanced > HTTP Server)" msgstr "" msgctxt "#30622" @@ -824,7 +824,7 @@ msgid "Enable API configuration page" msgstr "" msgctxt "#30633" -msgid "http://:/youtube/api (see HTTP Server)" +msgid "http://:/youtube/api (see Advanced > HTTP Server)" msgstr "" msgctxt "#30634" @@ -1184,7 +1184,7 @@ msgid "Enable HDR video" msgstr "" msgctxt "#30723" -msgid "Proxy is required for mpeg-dash vods (see HTTP Server)[CR]> 1080p and HDR requires InputStream Adaptive >= 2.3.14" +msgid "Proxy is required for mpeg-dash vods (see Advanced > HTTP Server)[CR]> 1080p and HDR requires InputStream Adaptive >= 2.3.14" msgstr "" msgctxt "#30724" diff --git a/resources/language/resource.language.fa_af/strings.po b/resources/language/resource.language.fa_af/strings.po index 15d1246a4..3c14e3c8e 100644 --- a/resources/language/resource.language.fa_af/strings.po +++ b/resources/language/resource.language.fa_af/strings.po @@ -776,7 +776,7 @@ msgid "Port %s already in use. Cannot start http server." msgstr "" msgctxt "#30621" -msgid "Proxy is required for mpeg-dash vods (see HTTP Server)" +msgid "Proxy is required for mpeg-dash vods (see Advanced > HTTP Server)" msgstr "" msgctxt "#30622" @@ -824,7 +824,7 @@ msgid "Enable API configuration page" msgstr "" msgctxt "#30633" -msgid "http://:/youtube/api (see HTTP Server)" +msgid "http://:/youtube/api (see Advanced > HTTP Server)" msgstr "" msgctxt "#30634" @@ -1184,7 +1184,7 @@ msgid "Enable HDR video" msgstr "" msgctxt "#30723" -msgid "Proxy is required for mpeg-dash vods (see HTTP Server)[CR]> 1080p and HDR requires InputStream Adaptive >= 2.3.14" +msgid "Proxy is required for mpeg-dash vods (see Advanced > HTTP Server)[CR]> 1080p and HDR requires InputStream Adaptive >= 2.3.14" msgstr "" msgctxt "#30724" diff --git a/resources/language/resource.language.fa_ir/strings.po b/resources/language/resource.language.fa_ir/strings.po index b84712013..d6cbac2d2 100644 --- a/resources/language/resource.language.fa_ir/strings.po +++ b/resources/language/resource.language.fa_ir/strings.po @@ -776,7 +776,7 @@ msgid "Port %s already in use. Cannot start http server." msgstr "" msgctxt "#30621" -msgid "Proxy is required for mpeg-dash vods (see HTTP Server)" +msgid "Proxy is required for mpeg-dash vods (see Advanced > HTTP Server)" msgstr "" msgctxt "#30622" @@ -824,7 +824,7 @@ msgid "Enable API configuration page" msgstr "" msgctxt "#30633" -msgid "http://:/youtube/api (see HTTP Server)" +msgid "http://:/youtube/api (see Advanced > HTTP Server)" msgstr "" msgctxt "#30634" @@ -1184,7 +1184,7 @@ msgid "Enable HDR video" msgstr "" msgctxt "#30723" -msgid "Proxy is required for mpeg-dash vods (see HTTP Server)[CR]> 1080p and HDR requires InputStream Adaptive >= 2.3.14" +msgid "Proxy is required for mpeg-dash vods (see Advanced > HTTP Server)[CR]> 1080p and HDR requires InputStream Adaptive >= 2.3.14" msgstr "" msgctxt "#30724" diff --git a/resources/language/resource.language.fi_fi/strings.po b/resources/language/resource.language.fi_fi/strings.po index 2135866b6..f7ceaaa77 100644 --- a/resources/language/resource.language.fi_fi/strings.po +++ b/resources/language/resource.language.fi_fi/strings.po @@ -772,7 +772,7 @@ msgid "Port %s already in use. Cannot start http server." msgstr "Portti %s on jo käytössä. HTTP-palvelimen käynnistys ei onnistu." msgctxt "#30621" -msgid "Proxy is required for mpeg-dash vods (see HTTP Server)" +msgid "Proxy is required for mpeg-dash vods (see Advanced > HTTP Server)" msgstr "MPEG-DASH VOD -videot edellyttävät välityspalvelimen käyttöä (katso HTTP-palvelin)." msgctxt "#30622" @@ -820,7 +820,7 @@ msgid "Enable API configuration page" msgstr "Käytä API:n määrityssivua" msgctxt "#30633" -msgid "http://:/youtube/api (see HTTP Server)" +msgid "http://:/youtube/api (see Advanced > HTTP Server)" msgstr "http://:/youtube/api (katso HTTP-palvelin)" msgctxt "#30634" @@ -1180,7 +1180,7 @@ msgid "Enable HDR video" msgstr "Tue HDR-videota" msgctxt "#30723" -msgid "Proxy is required for mpeg-dash vods (see HTTP Server)[CR]> 1080p and HDR requires InputStream Adaptive >= 2.3.14" +msgid "Proxy is required for mpeg-dash vods (see Advanced > HTTP Server)[CR]> 1080p and HDR requires InputStream Adaptive >= 2.3.14" msgstr "MPEG-DASH VOD -videot edellyttävät välityspalvelimen käyttöä (katso HTTP-palvelin).[CR]1080p ja sitä suuremmat tarkkudet sekä HDR tarvitsevat vähintään InputStream Adaptive -versiota 2.3.14." msgctxt "#30724" diff --git a/resources/language/resource.language.fo_fo/strings.po b/resources/language/resource.language.fo_fo/strings.po index 55154d7dc..ceeb12759 100644 --- a/resources/language/resource.language.fo_fo/strings.po +++ b/resources/language/resource.language.fo_fo/strings.po @@ -776,7 +776,7 @@ msgid "Port %s already in use. Cannot start http server." msgstr "" msgctxt "#30621" -msgid "Proxy is required for mpeg-dash vods (see HTTP Server)" +msgid "Proxy is required for mpeg-dash vods (see Advanced > HTTP Server)" msgstr "" msgctxt "#30622" @@ -824,7 +824,7 @@ msgid "Enable API configuration page" msgstr "" msgctxt "#30633" -msgid "http://:/youtube/api (see HTTP Server)" +msgid "http://:/youtube/api (see Advanced > HTTP Server)" msgstr "" msgctxt "#30634" @@ -1184,7 +1184,7 @@ msgid "Enable HDR video" msgstr "" msgctxt "#30723" -msgid "Proxy is required for mpeg-dash vods (see HTTP Server)[CR]> 1080p and HDR requires InputStream Adaptive >= 2.3.14" +msgid "Proxy is required for mpeg-dash vods (see Advanced > HTTP Server)[CR]> 1080p and HDR requires InputStream Adaptive >= 2.3.14" msgstr "" msgctxt "#30724" diff --git a/resources/language/resource.language.fr_ca/strings.po b/resources/language/resource.language.fr_ca/strings.po index 57c2688f7..d8a3afbca 100644 --- a/resources/language/resource.language.fr_ca/strings.po +++ b/resources/language/resource.language.fr_ca/strings.po @@ -776,7 +776,7 @@ msgid "Port %s already in use. Cannot start http server." msgstr "" msgctxt "#30621" -msgid "Proxy is required for mpeg-dash vods (see HTTP Server)" +msgid "Proxy is required for mpeg-dash vods (see Advanced > HTTP Server)" msgstr "" msgctxt "#30622" @@ -824,7 +824,7 @@ msgid "Enable API configuration page" msgstr "" msgctxt "#30633" -msgid "http://:/youtube/api (see HTTP Server)" +msgid "http://:/youtube/api (see Advanced > HTTP Server)" msgstr "" msgctxt "#30634" @@ -1184,7 +1184,7 @@ msgid "Enable HDR video" msgstr "" msgctxt "#30723" -msgid "Proxy is required for mpeg-dash vods (see HTTP Server)[CR]> 1080p and HDR requires InputStream Adaptive >= 2.3.14" +msgid "Proxy is required for mpeg-dash vods (see Advanced > HTTP Server)[CR]> 1080p and HDR requires InputStream Adaptive >= 2.3.14" msgstr "" msgctxt "#30724" diff --git a/resources/language/resource.language.fr_fr/strings.po b/resources/language/resource.language.fr_fr/strings.po index 71a5a7feb..55e27d954 100644 --- a/resources/language/resource.language.fr_fr/strings.po +++ b/resources/language/resource.language.fr_fr/strings.po @@ -772,7 +772,7 @@ msgid "Port %s already in use. Cannot start http server." msgstr "Le port %s est déjà en cours d'utilisation. Impossible de démarrer le serveur http." msgctxt "#30621" -msgid "Proxy is required for mpeg-dash vods (see HTTP Server)" +msgid "Proxy is required for mpeg-dash vods (see Advanced > HTTP Server)" msgstr "Un proxy est nécessaire pour MPEG-Dash vidéos (voir serveur HTTP)" msgctxt "#30622" @@ -820,7 +820,7 @@ msgid "Enable API configuration page" msgstr "Activer la page de configuration de l'API" msgctxt "#30633" -msgid "http://:/youtube/api (see HTTP Server)" +msgid "http://:/youtube/api (see Advanced > HTTP Server)" msgstr "http://:/youtube/api (voir serveur HTTP)" msgctxt "#30634" @@ -1180,7 +1180,7 @@ msgid "Enable HDR video" msgstr "" msgctxt "#30723" -msgid "Proxy is required for mpeg-dash vods (see HTTP Server)[CR]> 1080p and HDR requires InputStream Adaptive >= 2.3.14" +msgid "Proxy is required for mpeg-dash vods (see Advanced > HTTP Server)[CR]> 1080p and HDR requires InputStream Adaptive >= 2.3.14" msgstr "Un proxy est requis pour les vods mpeg-dash (voir serveur HTTP)[CR]> 1080p et HDR nécessitent InputStream Adaptive >= 2.3.14" msgctxt "#30724" diff --git a/resources/language/resource.language.gl_es/strings.po b/resources/language/resource.language.gl_es/strings.po index 5ea86fcc8..07773bddf 100644 --- a/resources/language/resource.language.gl_es/strings.po +++ b/resources/language/resource.language.gl_es/strings.po @@ -776,7 +776,7 @@ msgid "Port %s already in use. Cannot start http server." msgstr "" msgctxt "#30621" -msgid "Proxy is required for mpeg-dash vods (see HTTP Server)" +msgid "Proxy is required for mpeg-dash vods (see Advanced > HTTP Server)" msgstr "" msgctxt "#30622" @@ -824,7 +824,7 @@ msgid "Enable API configuration page" msgstr "" msgctxt "#30633" -msgid "http://:/youtube/api (see HTTP Server)" +msgid "http://:/youtube/api (see Advanced > HTTP Server)" msgstr "" msgctxt "#30634" @@ -1184,7 +1184,7 @@ msgid "Enable HDR video" msgstr "" msgctxt "#30723" -msgid "Proxy is required for mpeg-dash vods (see HTTP Server)[CR]> 1080p and HDR requires InputStream Adaptive >= 2.3.14" +msgid "Proxy is required for mpeg-dash vods (see Advanced > HTTP Server)[CR]> 1080p and HDR requires InputStream Adaptive >= 2.3.14" msgstr "" msgctxt "#30724" diff --git a/resources/language/resource.language.he_il/strings.po b/resources/language/resource.language.he_il/strings.po index 4faf0c1a3..3166615ae 100644 --- a/resources/language/resource.language.he_il/strings.po +++ b/resources/language/resource.language.he_il/strings.po @@ -777,7 +777,7 @@ msgid "Port %s already in use. Cannot start http server." msgstr "" msgctxt "#30621" -msgid "Proxy is required for mpeg-dash vods (see HTTP Server)" +msgid "Proxy is required for mpeg-dash vods (see Advanced > HTTP Server)" msgstr "" msgctxt "#30622" @@ -825,7 +825,7 @@ msgid "Enable API configuration page" msgstr "" msgctxt "#30633" -msgid "http://:/youtube/api (see HTTP Server)" +msgid "http://:/youtube/api (see Advanced > HTTP Server)" msgstr "" msgctxt "#30634" @@ -1185,7 +1185,7 @@ msgid "Enable HDR video" msgstr "" msgctxt "#30723" -msgid "Proxy is required for mpeg-dash vods (see HTTP Server)[CR]> 1080p and HDR requires InputStream Adaptive >= 2.3.14" +msgid "Proxy is required for mpeg-dash vods (see Advanced > HTTP Server)[CR]> 1080p and HDR requires InputStream Adaptive >= 2.3.14" msgstr "" msgctxt "#30724" diff --git a/resources/language/resource.language.hi_in/strings.po b/resources/language/resource.language.hi_in/strings.po index af5defd1d..852dbea92 100644 --- a/resources/language/resource.language.hi_in/strings.po +++ b/resources/language/resource.language.hi_in/strings.po @@ -776,7 +776,7 @@ msgid "Port %s already in use. Cannot start http server." msgstr "" msgctxt "#30621" -msgid "Proxy is required for mpeg-dash vods (see HTTP Server)" +msgid "Proxy is required for mpeg-dash vods (see Advanced > HTTP Server)" msgstr "" msgctxt "#30622" @@ -824,7 +824,7 @@ msgid "Enable API configuration page" msgstr "" msgctxt "#30633" -msgid "http://:/youtube/api (see HTTP Server)" +msgid "http://:/youtube/api (see Advanced > HTTP Server)" msgstr "" msgctxt "#30634" @@ -1184,7 +1184,7 @@ msgid "Enable HDR video" msgstr "" msgctxt "#30723" -msgid "Proxy is required for mpeg-dash vods (see HTTP Server)[CR]> 1080p and HDR requires InputStream Adaptive >= 2.3.14" +msgid "Proxy is required for mpeg-dash vods (see Advanced > HTTP Server)[CR]> 1080p and HDR requires InputStream Adaptive >= 2.3.14" msgstr "" msgctxt "#30724" diff --git a/resources/language/resource.language.hr_hr/strings.po b/resources/language/resource.language.hr_hr/strings.po index dbda75f59..4c426ffb0 100644 --- a/resources/language/resource.language.hr_hr/strings.po +++ b/resources/language/resource.language.hr_hr/strings.po @@ -777,7 +777,7 @@ msgid "Port %s already in use. Cannot start http server." msgstr "Ulaz %s se već koristi. Nemoguće pokretanje http poslužitelja." msgctxt "#30621" -msgid "Proxy is required for mpeg-dash vods (see HTTP Server)" +msgid "Proxy is required for mpeg-dash vods (see Advanced > HTTP Server)" msgstr "Proxy je potreban za mpeg-dash video na zahtjev (vod) (provjerite HTTP poslužitelj)" msgctxt "#30622" @@ -825,7 +825,7 @@ msgid "Enable API configuration page" msgstr "Omogući API stranicu podešavanja" msgctxt "#30633" -msgid "http://:/youtube/api (see HTTP Server)" +msgid "http://:/youtube/api (see Advanced > HTTP Server)" msgstr "http://:/youtube/api (pogledajte HTTP poslužitelj)" msgctxt "#30634" @@ -1185,7 +1185,7 @@ msgid "Enable HDR video" msgstr "" msgctxt "#30723" -msgid "Proxy is required for mpeg-dash vods (see HTTP Server)[CR]> 1080p and HDR requires InputStream Adaptive >= 2.3.14" +msgid "Proxy is required for mpeg-dash vods (see Advanced > HTTP Server)[CR]> 1080p and HDR requires InputStream Adaptive >= 2.3.14" msgstr "Proxy je potreban za mpeg-dash video na zahtjev (vod) (pogledajte HTTP poslužitelj)[CR]> 1080p i HDR zahtijevaju InputStream Adaptive >= 2.3.14" msgctxt "#30724" diff --git a/resources/language/resource.language.hu_hu/strings.po b/resources/language/resource.language.hu_hu/strings.po index d1acf8d2d..cf0e60058 100644 --- a/resources/language/resource.language.hu_hu/strings.po +++ b/resources/language/resource.language.hu_hu/strings.po @@ -775,7 +775,7 @@ msgid "Port %s already in use. Cannot start http server." msgstr "%s port használatban van. Nem lehet elindítani a http kiszolgálót." msgctxt "#30621" -msgid "Proxy is required for mpeg-dash vods (see HTTP Server)" +msgid "Proxy is required for mpeg-dash vods (see Advanced > HTTP Server)" msgstr "Proxy szükséges az mpeg-dash formátumhoz (lásd HTTP kiszolgáló)" msgctxt "#30622" @@ -823,7 +823,7 @@ msgid "Enable API configuration page" msgstr "API beállítások oldal engedélyezése" msgctxt "#30633" -msgid "http://:/youtube/api (see HTTP Server)" +msgid "http://:/youtube/api (see Advanced > HTTP Server)" msgstr "http://:/youtube/api (lásd HTTP kiszolgáló)" msgctxt "#30634" @@ -1183,7 +1183,7 @@ msgid "Enable HDR video" msgstr "" msgctxt "#30723" -msgid "Proxy is required for mpeg-dash vods (see HTTP Server)[CR]> 1080p and HDR requires InputStream Adaptive >= 2.3.14" +msgid "Proxy is required for mpeg-dash vods (see Advanced > HTTP Server)[CR]> 1080p and HDR requires InputStream Adaptive >= 2.3.14" msgstr "A Proxyra van szükség az mpeg-dash vod esetén (lásd a HTTP szervert) [CR]> 1080p, és a HDR-hez pedig az InputStream Adaptive kiegészítő szükséges >= 2.3.14" msgctxt "#30724" diff --git a/resources/language/resource.language.hy_am/strings.po b/resources/language/resource.language.hy_am/strings.po index c165a055d..1247c6092 100644 --- a/resources/language/resource.language.hy_am/strings.po +++ b/resources/language/resource.language.hy_am/strings.po @@ -776,7 +776,7 @@ msgid "Port %s already in use. Cannot start http server." msgstr "" msgctxt "#30621" -msgid "Proxy is required for mpeg-dash vods (see HTTP Server)" +msgid "Proxy is required for mpeg-dash vods (see Advanced > HTTP Server)" msgstr "" msgctxt "#30622" @@ -824,7 +824,7 @@ msgid "Enable API configuration page" msgstr "" msgctxt "#30633" -msgid "http://:/youtube/api (see HTTP Server)" +msgid "http://:/youtube/api (see Advanced > HTTP Server)" msgstr "" msgctxt "#30634" @@ -1184,7 +1184,7 @@ msgid "Enable HDR video" msgstr "" msgctxt "#30723" -msgid "Proxy is required for mpeg-dash vods (see HTTP Server)[CR]> 1080p and HDR requires InputStream Adaptive >= 2.3.14" +msgid "Proxy is required for mpeg-dash vods (see Advanced > HTTP Server)[CR]> 1080p and HDR requires InputStream Adaptive >= 2.3.14" msgstr "" msgctxt "#30724" diff --git a/resources/language/resource.language.id_id/strings.po b/resources/language/resource.language.id_id/strings.po index 3bed50e8e..a701374a3 100644 --- a/resources/language/resource.language.id_id/strings.po +++ b/resources/language/resource.language.id_id/strings.po @@ -777,7 +777,7 @@ msgid "Port %s already in use. Cannot start http server." msgstr "Port %s sudah digunakan. Tidak dapat memulai server http." msgctxt "#30621" -msgid "Proxy is required for mpeg-dash vods (see HTTP Server)" +msgid "Proxy is required for mpeg-dash vods (see Advanced > HTTP Server)" msgstr "Proksi diperlukan untuk mpeg-dash vods (lihat Server HTTP)" msgctxt "#30622" @@ -825,7 +825,7 @@ msgid "Enable API configuration page" msgstr "Aktifkan halaman konfigurasi API" msgctxt "#30633" -msgid "http://:/youtube/api (see HTTP Server)" +msgid "http://:/youtube/api (see Advanced > HTTP Server)" msgstr "http://:/youtube/api (lihat server HTTP)" msgctxt "#30634" @@ -1185,7 +1185,7 @@ msgid "Enable HDR video" msgstr "" msgctxt "#30723" -msgid "Proxy is required for mpeg-dash vods (see HTTP Server)[CR]> 1080p and HDR requires InputStream Adaptive >= 2.3.14" +msgid "Proxy is required for mpeg-dash vods (see Advanced > HTTP Server)[CR]> 1080p and HDR requires InputStream Adaptive >= 2.3.14" msgstr "Proksi diperlukan untuk mpeg-dash vods (lihat HTTP Server)[CR]> 1080p dan HDR memerlukan InputStream Adaptive >= 2.3.14" msgctxt "#30724" diff --git a/resources/language/resource.language.is_is/strings.po b/resources/language/resource.language.is_is/strings.po index 1eef2f3cb..4c9b3dcf3 100644 --- a/resources/language/resource.language.is_is/strings.po +++ b/resources/language/resource.language.is_is/strings.po @@ -776,7 +776,7 @@ msgid "Port %s already in use. Cannot start http server." msgstr "" msgctxt "#30621" -msgid "Proxy is required for mpeg-dash vods (see HTTP Server)" +msgid "Proxy is required for mpeg-dash vods (see Advanced > HTTP Server)" msgstr "" msgctxt "#30622" @@ -824,7 +824,7 @@ msgid "Enable API configuration page" msgstr "" msgctxt "#30633" -msgid "http://:/youtube/api (see HTTP Server)" +msgid "http://:/youtube/api (see Advanced > HTTP Server)" msgstr "" msgctxt "#30634" @@ -1184,7 +1184,7 @@ msgid "Enable HDR video" msgstr "" msgctxt "#30723" -msgid "Proxy is required for mpeg-dash vods (see HTTP Server)[CR]> 1080p and HDR requires InputStream Adaptive >= 2.3.14" +msgid "Proxy is required for mpeg-dash vods (see Advanced > HTTP Server)[CR]> 1080p and HDR requires InputStream Adaptive >= 2.3.14" msgstr "" msgctxt "#30724" diff --git a/resources/language/resource.language.it_it/strings.po b/resources/language/resource.language.it_it/strings.po index c165a006b..f0c254808 100644 --- a/resources/language/resource.language.it_it/strings.po +++ b/resources/language/resource.language.it_it/strings.po @@ -779,7 +779,7 @@ msgid "Port %s already in use. Cannot start http server." msgstr "Porta %s già in uso. Impossibile avviare il server http." msgctxt "#30621" -msgid "Proxy is required for mpeg-dash vods (see HTTP Server)" +msgid "Proxy is required for mpeg-dash vods (see Advanced > HTTP Server)" msgstr "Il proxy è richiesto per mpeg-dash vods (vedi Server HTTP)" msgctxt "#30622" @@ -827,7 +827,7 @@ msgid "Enable API configuration page" msgstr "Abilita pagina configurazione API" msgctxt "#30633" -msgid "http://:/youtube/api (see HTTP Server)" +msgid "http://:/youtube/api (see Advanced > HTTP Server)" msgstr "http://:/youtube/api (vedi Server HTTP)" msgctxt "#30634" @@ -1187,7 +1187,7 @@ msgid "Enable HDR video" msgstr "Abilita video HDR" msgctxt "#30723" -msgid "Proxy is required for mpeg-dash vods (see HTTP Server)[CR]> 1080p and HDR requires InputStream Adaptive >= 2.3.14" +msgid "Proxy is required for mpeg-dash vods (see Advanced > HTTP Server)[CR]> 1080p and HDR requires InputStream Adaptive >= 2.3.14" msgstr "Il proxy è richiesto per mpeg-dash vods (vedi HTTP Server)[CR]> 1080p e HDR richiede InputStream adattivo>= 2.3.14" msgctxt "#30724" diff --git a/resources/language/resource.language.ja_jp/strings.po b/resources/language/resource.language.ja_jp/strings.po index a1e8eef40..5fe2e4615 100644 --- a/resources/language/resource.language.ja_jp/strings.po +++ b/resources/language/resource.language.ja_jp/strings.po @@ -776,7 +776,7 @@ msgid "Port %s already in use. Cannot start http server." msgstr "" msgctxt "#30621" -msgid "Proxy is required for mpeg-dash vods (see HTTP Server)" +msgid "Proxy is required for mpeg-dash vods (see Advanced > HTTP Server)" msgstr "" msgctxt "#30622" @@ -824,7 +824,7 @@ msgid "Enable API configuration page" msgstr "" msgctxt "#30633" -msgid "http://:/youtube/api (see HTTP Server)" +msgid "http://:/youtube/api (see Advanced > HTTP Server)" msgstr "" msgctxt "#30634" @@ -1184,7 +1184,7 @@ msgid "Enable HDR video" msgstr "" msgctxt "#30723" -msgid "Proxy is required for mpeg-dash vods (see HTTP Server)[CR]> 1080p and HDR requires InputStream Adaptive >= 2.3.14" +msgid "Proxy is required for mpeg-dash vods (see Advanced > HTTP Server)[CR]> 1080p and HDR requires InputStream Adaptive >= 2.3.14" msgstr "" msgctxt "#30724" diff --git a/resources/language/resource.language.kn_in/strings.po b/resources/language/resource.language.kn_in/strings.po index 3084164cd..42c60845f 100644 --- a/resources/language/resource.language.kn_in/strings.po +++ b/resources/language/resource.language.kn_in/strings.po @@ -776,7 +776,7 @@ msgid "Port %s already in use. Cannot start http server." msgstr "" msgctxt "#30621" -msgid "Proxy is required for mpeg-dash vods (see HTTP Server)" +msgid "Proxy is required for mpeg-dash vods (see Advanced > HTTP Server)" msgstr "" msgctxt "#30622" @@ -824,7 +824,7 @@ msgid "Enable API configuration page" msgstr "" msgctxt "#30633" -msgid "http://:/youtube/api (see HTTP Server)" +msgid "http://:/youtube/api (see Advanced > HTTP Server)" msgstr "" msgctxt "#30634" @@ -1184,7 +1184,7 @@ msgid "Enable HDR video" msgstr "" msgctxt "#30723" -msgid "Proxy is required for mpeg-dash vods (see HTTP Server)[CR]> 1080p and HDR requires InputStream Adaptive >= 2.3.14" +msgid "Proxy is required for mpeg-dash vods (see Advanced > HTTP Server)[CR]> 1080p and HDR requires InputStream Adaptive >= 2.3.14" msgstr "" msgctxt "#30724" diff --git a/resources/language/resource.language.ko_kr/strings.po b/resources/language/resource.language.ko_kr/strings.po index cb3302110..f2061143d 100644 --- a/resources/language/resource.language.ko_kr/strings.po +++ b/resources/language/resource.language.ko_kr/strings.po @@ -775,7 +775,7 @@ msgid "Port %s already in use. Cannot start http server." msgstr "$s 포트는 이미 사용 중입니다. http 서버를 시작할 수 없습니다." msgctxt "#30621" -msgid "Proxy is required for mpeg-dash vods (see HTTP Server)" +msgid "Proxy is required for mpeg-dash vods (see Advanced > HTTP Server)" msgstr "mpeg-dash vod에 프록시가 필요함 (HTTP 서버 참고)" msgctxt "#30622" @@ -823,7 +823,7 @@ msgid "Enable API configuration page" msgstr "API 설정 페이지 사용" msgctxt "#30633" -msgid "http://:/youtube/api (see HTTP Server)" +msgid "http://:/youtube/api (see Advanced > HTTP Server)" msgstr "http://:/youtube/api (HTTP 서버 참고)" msgctxt "#30634" @@ -1183,7 +1183,7 @@ msgid "Enable HDR video" msgstr "HDR 비디오 사용" msgctxt "#30723" -msgid "Proxy is required for mpeg-dash vods (see HTTP Server)[CR]> 1080p and HDR requires InputStream Adaptive >= 2.3.14" +msgid "Proxy is required for mpeg-dash vods (see Advanced > HTTP Server)[CR]> 1080p and HDR requires InputStream Adaptive >= 2.3.14" msgstr "mpeg-dash vods (HTTP 서버 참고)[CR]> 1080p에 프록시가 필요하고 HDR에 InputStream Adaptive >= 2.3.14 필요함" msgctxt "#30724" diff --git a/resources/language/resource.language.lt_lt/strings.po b/resources/language/resource.language.lt_lt/strings.po index a934503f4..088cf4c3f 100644 --- a/resources/language/resource.language.lt_lt/strings.po +++ b/resources/language/resource.language.lt_lt/strings.po @@ -776,7 +776,7 @@ msgid "Port %s already in use. Cannot start http server." msgstr "" msgctxt "#30621" -msgid "Proxy is required for mpeg-dash vods (see HTTP Server)" +msgid "Proxy is required for mpeg-dash vods (see Advanced > HTTP Server)" msgstr "" msgctxt "#30622" @@ -824,7 +824,7 @@ msgid "Enable API configuration page" msgstr "" msgctxt "#30633" -msgid "http://:/youtube/api (see HTTP Server)" +msgid "http://:/youtube/api (see Advanced > HTTP Server)" msgstr "" msgctxt "#30634" @@ -1184,7 +1184,7 @@ msgid "Enable HDR video" msgstr "" msgctxt "#30723" -msgid "Proxy is required for mpeg-dash vods (see HTTP Server)[CR]> 1080p and HDR requires InputStream Adaptive >= 2.3.14" +msgid "Proxy is required for mpeg-dash vods (see Advanced > HTTP Server)[CR]> 1080p and HDR requires InputStream Adaptive >= 2.3.14" msgstr "" msgctxt "#30724" diff --git a/resources/language/resource.language.lv_lv/strings.po b/resources/language/resource.language.lv_lv/strings.po index ce1a8159b..05d03b972 100644 --- a/resources/language/resource.language.lv_lv/strings.po +++ b/resources/language/resource.language.lv_lv/strings.po @@ -776,7 +776,7 @@ msgid "Port %s already in use. Cannot start http server." msgstr "" msgctxt "#30621" -msgid "Proxy is required for mpeg-dash vods (see HTTP Server)" +msgid "Proxy is required for mpeg-dash vods (see Advanced > HTTP Server)" msgstr "" msgctxt "#30622" @@ -824,7 +824,7 @@ msgid "Enable API configuration page" msgstr "" msgctxt "#30633" -msgid "http://:/youtube/api (see HTTP Server)" +msgid "http://:/youtube/api (see Advanced > HTTP Server)" msgstr "" msgctxt "#30634" @@ -1184,7 +1184,7 @@ msgid "Enable HDR video" msgstr "" msgctxt "#30723" -msgid "Proxy is required for mpeg-dash vods (see HTTP Server)[CR]> 1080p and HDR requires InputStream Adaptive >= 2.3.14" +msgid "Proxy is required for mpeg-dash vods (see Advanced > HTTP Server)[CR]> 1080p and HDR requires InputStream Adaptive >= 2.3.14" msgstr "" msgctxt "#30724" diff --git a/resources/language/resource.language.mi/strings.po b/resources/language/resource.language.mi/strings.po index c615061be..38ceaf473 100644 --- a/resources/language/resource.language.mi/strings.po +++ b/resources/language/resource.language.mi/strings.po @@ -776,7 +776,7 @@ msgid "Port %s already in use. Cannot start http server." msgstr "" msgctxt "#30621" -msgid "Proxy is required for mpeg-dash vods (see HTTP Server)" +msgid "Proxy is required for mpeg-dash vods (see Advanced > HTTP Server)" msgstr "" msgctxt "#30622" @@ -824,7 +824,7 @@ msgid "Enable API configuration page" msgstr "" msgctxt "#30633" -msgid "http://:/youtube/api (see HTTP Server)" +msgid "http://:/youtube/api (see Advanced > HTTP Server)" msgstr "" msgctxt "#30634" @@ -1184,7 +1184,7 @@ msgid "Enable HDR video" msgstr "" msgctxt "#30723" -msgid "Proxy is required for mpeg-dash vods (see HTTP Server)[CR]> 1080p and HDR requires InputStream Adaptive >= 2.3.14" +msgid "Proxy is required for mpeg-dash vods (see Advanced > HTTP Server)[CR]> 1080p and HDR requires InputStream Adaptive >= 2.3.14" msgstr "" msgctxt "#30724" diff --git a/resources/language/resource.language.mk_mk/strings.po b/resources/language/resource.language.mk_mk/strings.po index 697c714da..c699a82f1 100644 --- a/resources/language/resource.language.mk_mk/strings.po +++ b/resources/language/resource.language.mk_mk/strings.po @@ -776,7 +776,7 @@ msgid "Port %s already in use. Cannot start http server." msgstr "" msgctxt "#30621" -msgid "Proxy is required for mpeg-dash vods (see HTTP Server)" +msgid "Proxy is required for mpeg-dash vods (see Advanced > HTTP Server)" msgstr "" msgctxt "#30622" @@ -824,7 +824,7 @@ msgid "Enable API configuration page" msgstr "" msgctxt "#30633" -msgid "http://:/youtube/api (see HTTP Server)" +msgid "http://:/youtube/api (see Advanced > HTTP Server)" msgstr "" msgctxt "#30634" @@ -1184,7 +1184,7 @@ msgid "Enable HDR video" msgstr "" msgctxt "#30723" -msgid "Proxy is required for mpeg-dash vods (see HTTP Server)[CR]> 1080p and HDR requires InputStream Adaptive >= 2.3.14" +msgid "Proxy is required for mpeg-dash vods (see Advanced > HTTP Server)[CR]> 1080p and HDR requires InputStream Adaptive >= 2.3.14" msgstr "" msgctxt "#30724" diff --git a/resources/language/resource.language.ml_in/strings.po b/resources/language/resource.language.ml_in/strings.po index 1176ef6ed..4ec2a1a65 100644 --- a/resources/language/resource.language.ml_in/strings.po +++ b/resources/language/resource.language.ml_in/strings.po @@ -776,7 +776,7 @@ msgid "Port %s already in use. Cannot start http server." msgstr "" msgctxt "#30621" -msgid "Proxy is required for mpeg-dash vods (see HTTP Server)" +msgid "Proxy is required for mpeg-dash vods (see Advanced > HTTP Server)" msgstr "" msgctxt "#30622" @@ -824,7 +824,7 @@ msgid "Enable API configuration page" msgstr "" msgctxt "#30633" -msgid "http://:/youtube/api (see HTTP Server)" +msgid "http://:/youtube/api (see Advanced > HTTP Server)" msgstr "" msgctxt "#30634" @@ -1184,7 +1184,7 @@ msgid "Enable HDR video" msgstr "" msgctxt "#30723" -msgid "Proxy is required for mpeg-dash vods (see HTTP Server)[CR]> 1080p and HDR requires InputStream Adaptive >= 2.3.14" +msgid "Proxy is required for mpeg-dash vods (see Advanced > HTTP Server)[CR]> 1080p and HDR requires InputStream Adaptive >= 2.3.14" msgstr "" msgctxt "#30724" diff --git a/resources/language/resource.language.mn_mn/strings.po b/resources/language/resource.language.mn_mn/strings.po index 73f3f820e..6b40e8ec9 100644 --- a/resources/language/resource.language.mn_mn/strings.po +++ b/resources/language/resource.language.mn_mn/strings.po @@ -776,7 +776,7 @@ msgid "Port %s already in use. Cannot start http server." msgstr "" msgctxt "#30621" -msgid "Proxy is required for mpeg-dash vods (see HTTP Server)" +msgid "Proxy is required for mpeg-dash vods (see Advanced > HTTP Server)" msgstr "" msgctxt "#30622" @@ -824,7 +824,7 @@ msgid "Enable API configuration page" msgstr "" msgctxt "#30633" -msgid "http://:/youtube/api (see HTTP Server)" +msgid "http://:/youtube/api (see Advanced > HTTP Server)" msgstr "" msgctxt "#30634" @@ -1184,7 +1184,7 @@ msgid "Enable HDR video" msgstr "" msgctxt "#30723" -msgid "Proxy is required for mpeg-dash vods (see HTTP Server)[CR]> 1080p and HDR requires InputStream Adaptive >= 2.3.14" +msgid "Proxy is required for mpeg-dash vods (see Advanced > HTTP Server)[CR]> 1080p and HDR requires InputStream Adaptive >= 2.3.14" msgstr "" msgctxt "#30724" diff --git a/resources/language/resource.language.ms_my/strings.po b/resources/language/resource.language.ms_my/strings.po index cb5f4a454..679ba5a18 100644 --- a/resources/language/resource.language.ms_my/strings.po +++ b/resources/language/resource.language.ms_my/strings.po @@ -776,7 +776,7 @@ msgid "Port %s already in use. Cannot start http server." msgstr "" msgctxt "#30621" -msgid "Proxy is required for mpeg-dash vods (see HTTP Server)" +msgid "Proxy is required for mpeg-dash vods (see Advanced > HTTP Server)" msgstr "" msgctxt "#30622" @@ -824,7 +824,7 @@ msgid "Enable API configuration page" msgstr "" msgctxt "#30633" -msgid "http://:/youtube/api (see HTTP Server)" +msgid "http://:/youtube/api (see Advanced > HTTP Server)" msgstr "" msgctxt "#30634" @@ -1184,7 +1184,7 @@ msgid "Enable HDR video" msgstr "" msgctxt "#30723" -msgid "Proxy is required for mpeg-dash vods (see HTTP Server)[CR]> 1080p and HDR requires InputStream Adaptive >= 2.3.14" +msgid "Proxy is required for mpeg-dash vods (see Advanced > HTTP Server)[CR]> 1080p and HDR requires InputStream Adaptive >= 2.3.14" msgstr "" msgctxt "#30724" diff --git a/resources/language/resource.language.mt_mt/strings.po b/resources/language/resource.language.mt_mt/strings.po index 2d8ab9dcb..cdf68b7c5 100644 --- a/resources/language/resource.language.mt_mt/strings.po +++ b/resources/language/resource.language.mt_mt/strings.po @@ -776,7 +776,7 @@ msgid "Port %s already in use. Cannot start http server." msgstr "" msgctxt "#30621" -msgid "Proxy is required for mpeg-dash vods (see HTTP Server)" +msgid "Proxy is required for mpeg-dash vods (see Advanced > HTTP Server)" msgstr "" msgctxt "#30622" @@ -824,7 +824,7 @@ msgid "Enable API configuration page" msgstr "" msgctxt "#30633" -msgid "http://:/youtube/api (see HTTP Server)" +msgid "http://:/youtube/api (see Advanced > HTTP Server)" msgstr "" msgctxt "#30634" @@ -1184,7 +1184,7 @@ msgid "Enable HDR video" msgstr "" msgctxt "#30723" -msgid "Proxy is required for mpeg-dash vods (see HTTP Server)[CR]> 1080p and HDR requires InputStream Adaptive >= 2.3.14" +msgid "Proxy is required for mpeg-dash vods (see Advanced > HTTP Server)[CR]> 1080p and HDR requires InputStream Adaptive >= 2.3.14" msgstr "" msgctxt "#30724" diff --git a/resources/language/resource.language.my_mm/strings.po b/resources/language/resource.language.my_mm/strings.po index c04edd11c..f49ec4f56 100644 --- a/resources/language/resource.language.my_mm/strings.po +++ b/resources/language/resource.language.my_mm/strings.po @@ -776,7 +776,7 @@ msgid "Port %s already in use. Cannot start http server." msgstr "" msgctxt "#30621" -msgid "Proxy is required for mpeg-dash vods (see HTTP Server)" +msgid "Proxy is required for mpeg-dash vods (see Advanced > HTTP Server)" msgstr "" msgctxt "#30622" @@ -824,7 +824,7 @@ msgid "Enable API configuration page" msgstr "" msgctxt "#30633" -msgid "http://:/youtube/api (see HTTP Server)" +msgid "http://:/youtube/api (see Advanced > HTTP Server)" msgstr "" msgctxt "#30634" @@ -1184,7 +1184,7 @@ msgid "Enable HDR video" msgstr "" msgctxt "#30723" -msgid "Proxy is required for mpeg-dash vods (see HTTP Server)[CR]> 1080p and HDR requires InputStream Adaptive >= 2.3.14" +msgid "Proxy is required for mpeg-dash vods (see Advanced > HTTP Server)[CR]> 1080p and HDR requires InputStream Adaptive >= 2.3.14" msgstr "" msgctxt "#30724" diff --git a/resources/language/resource.language.nb_no/strings.po b/resources/language/resource.language.nb_no/strings.po index 1416f2642..427a1e2bc 100644 --- a/resources/language/resource.language.nb_no/strings.po +++ b/resources/language/resource.language.nb_no/strings.po @@ -777,7 +777,7 @@ msgid "Port %s already in use. Cannot start http server." msgstr "" msgctxt "#30621" -msgid "Proxy is required for mpeg-dash vods (see HTTP Server)" +msgid "Proxy is required for mpeg-dash vods (see Advanced > HTTP Server)" msgstr "" msgctxt "#30622" @@ -825,7 +825,7 @@ msgid "Enable API configuration page" msgstr "" msgctxt "#30633" -msgid "http://:/youtube/api (see HTTP Server)" +msgid "http://:/youtube/api (see Advanced > HTTP Server)" msgstr "" msgctxt "#30634" @@ -1185,7 +1185,7 @@ msgid "Enable HDR video" msgstr "" msgctxt "#30723" -msgid "Proxy is required for mpeg-dash vods (see HTTP Server)[CR]> 1080p and HDR requires InputStream Adaptive >= 2.3.14" +msgid "Proxy is required for mpeg-dash vods (see Advanced > HTTP Server)[CR]> 1080p and HDR requires InputStream Adaptive >= 2.3.14" msgstr "" msgctxt "#30724" diff --git a/resources/language/resource.language.nl_nl/strings.po b/resources/language/resource.language.nl_nl/strings.po index 27838a743..7cdaef7bc 100644 --- a/resources/language/resource.language.nl_nl/strings.po +++ b/resources/language/resource.language.nl_nl/strings.po @@ -778,7 +778,7 @@ msgid "Port %s already in use. Cannot start http server." msgstr "Poort %s al in gebruik. Kan de http server niet starten." msgctxt "#30621" -msgid "Proxy is required for mpeg-dash vods (see HTTP Server)" +msgid "Proxy is required for mpeg-dash vods (see Advanced > HTTP Server)" msgstr "Proxy is vereist voor mpeg-dash vods." msgctxt "#30622" @@ -826,7 +826,7 @@ msgid "Enable API configuration page" msgstr "API instellingen pagina inschakelen" msgctxt "#30633" -msgid "http://:/youtube/api (see HTTP Server)" +msgid "http://:/youtube/api (see Advanced > HTTP Server)" msgstr "http://:/youtube/api (zie HTTP-server)" msgctxt "#30634" @@ -1186,7 +1186,7 @@ msgid "Enable HDR video" msgstr "" msgctxt "#30723" -msgid "Proxy is required for mpeg-dash vods (see HTTP Server)[CR]> 1080p and HDR requires InputStream Adaptive >= 2.3.14" +msgid "Proxy is required for mpeg-dash vods (see Advanced > HTTP Server)[CR]> 1080p and HDR requires InputStream Adaptive >= 2.3.14" msgstr "Proxy vereist voor mpeg-dasg vods (zie HTTP server)[CR]> 1080p en HDR vereisen InputStream Adaptive vanaf versie 2.3.14" msgctxt "#30724" diff --git a/resources/language/resource.language.os_os/strings.po b/resources/language/resource.language.os_os/strings.po index f08dafed3..7792f0257 100644 --- a/resources/language/resource.language.os_os/strings.po +++ b/resources/language/resource.language.os_os/strings.po @@ -776,7 +776,7 @@ msgid "Port %s already in use. Cannot start http server." msgstr "" msgctxt "#30621" -msgid "Proxy is required for mpeg-dash vods (see HTTP Server)" +msgid "Proxy is required for mpeg-dash vods (see Advanced > HTTP Server)" msgstr "" msgctxt "#30622" @@ -824,7 +824,7 @@ msgid "Enable API configuration page" msgstr "" msgctxt "#30633" -msgid "http://:/youtube/api (see HTTP Server)" +msgid "http://:/youtube/api (see Advanced > HTTP Server)" msgstr "" msgctxt "#30634" @@ -1184,7 +1184,7 @@ msgid "Enable HDR video" msgstr "" msgctxt "#30723" -msgid "Proxy is required for mpeg-dash vods (see HTTP Server)[CR]> 1080p and HDR requires InputStream Adaptive >= 2.3.14" +msgid "Proxy is required for mpeg-dash vods (see Advanced > HTTP Server)[CR]> 1080p and HDR requires InputStream Adaptive >= 2.3.14" msgstr "" msgctxt "#30724" diff --git a/resources/language/resource.language.pl_pl/strings.po b/resources/language/resource.language.pl_pl/strings.po index dfd33221c..a0c984d6b 100644 --- a/resources/language/resource.language.pl_pl/strings.po +++ b/resources/language/resource.language.pl_pl/strings.po @@ -775,7 +775,7 @@ msgid "Port %s already in use. Cannot start http server." msgstr "Port %s jest aktualnie w użyciu. Nie można uruchomić serwera http." msgctxt "#30621" -msgid "Proxy is required for mpeg-dash vods (see HTTP Server)" +msgid "Proxy is required for mpeg-dash vods (see Advanced > HTTP Server)" msgstr "Serwer proxy jest wymagany do vod-ów mpeg-dash (zobacz serwer HTTP)" msgctxt "#30622" @@ -823,7 +823,7 @@ msgid "Enable API configuration page" msgstr "Włącz stronę konfiguracji API" msgctxt "#30633" -msgid "http://:/youtube/api (see HTTP Server)" +msgid "http://:/youtube/api (see Advanced > HTTP Server)" msgstr "http://:/youtube/api (zobacz serwer HTTP)" msgctxt "#30634" @@ -1183,7 +1183,7 @@ msgid "Enable HDR video" msgstr "Włącz wideo HDR" msgctxt "#30723" -msgid "Proxy is required for mpeg-dash vods (see HTTP Server)[CR]> 1080p and HDR requires InputStream Adaptive >= 2.3.14" +msgid "Proxy is required for mpeg-dash vods (see Advanced > HTTP Server)[CR]> 1080p and HDR requires InputStream Adaptive >= 2.3.14" msgstr "Serwer proxy jest wymagany do vod-ów mpeg-dash (patrz serwer HTTP)[CR]> 1080p, a HDR wymaga InputStream Adaptive >= 2.3.14" msgctxt "#30724" diff --git a/resources/language/resource.language.pt_br/strings.po b/resources/language/resource.language.pt_br/strings.po index 231dfb80d..f76c3fc25 100644 --- a/resources/language/resource.language.pt_br/strings.po +++ b/resources/language/resource.language.pt_br/strings.po @@ -772,7 +772,7 @@ msgid "Port %s already in use. Cannot start http server." msgstr "Porta %s já em uso. Não pude iniciar o servidor HTTP." msgctxt "#30621" -msgid "Proxy is required for mpeg-dash vods (see HTTP Server)" +msgid "Proxy is required for mpeg-dash vods (see Advanced > HTTP Server)" msgstr "Proxy é requerido para vods mpeg-dash (ver Servidor HTTP)" msgctxt "#30622" @@ -820,7 +820,7 @@ msgid "Enable API configuration page" msgstr "Ativar página de configuração da API" msgctxt "#30633" -msgid "http://:/youtube/api (see HTTP Server)" +msgid "http://:/youtube/api (see Advanced > HTTP Server)" msgstr "http://:/youtube/api (ver Servidor HTTP)" msgctxt "#30634" @@ -1180,7 +1180,7 @@ msgid "Enable HDR video" msgstr "" msgctxt "#30723" -msgid "Proxy is required for mpeg-dash vods (see HTTP Server)[CR]> 1080p and HDR requires InputStream Adaptive >= 2.3.14" +msgid "Proxy is required for mpeg-dash vods (see Advanced > HTTP Server)[CR]> 1080p and HDR requires InputStream Adaptive >= 2.3.14" msgstr "Proxy é requerido para vods mpeg-dash (ver Servidor HTTP)[CR] 1080p e HDR requerem InputStream Adaptive >= 2.3.14" msgctxt "#30724" diff --git a/resources/language/resource.language.pt_pt/strings.po b/resources/language/resource.language.pt_pt/strings.po index 494e74337..5c21aae12 100644 --- a/resources/language/resource.language.pt_pt/strings.po +++ b/resources/language/resource.language.pt_pt/strings.po @@ -775,7 +775,7 @@ msgid "Port %s already in use. Cannot start http server." msgstr "Porta %s já está em uso. Falha ao iniciar servidor http." msgctxt "#30621" -msgid "Proxy is required for mpeg-dash vods (see HTTP Server)" +msgid "Proxy is required for mpeg-dash vods (see Advanced > HTTP Server)" msgstr "" msgctxt "#30622" @@ -823,7 +823,7 @@ msgid "Enable API configuration page" msgstr "Activar página de configuração API" msgctxt "#30633" -msgid "http://:/youtube/api (see HTTP Server)" +msgid "http://:/youtube/api (see Advanced > HTTP Server)" msgstr "" msgctxt "#30634" @@ -1183,7 +1183,7 @@ msgid "Enable HDR video" msgstr "" msgctxt "#30723" -msgid "Proxy is required for mpeg-dash vods (see HTTP Server)[CR]> 1080p and HDR requires InputStream Adaptive >= 2.3.14" +msgid "Proxy is required for mpeg-dash vods (see Advanced > HTTP Server)[CR]> 1080p and HDR requires InputStream Adaptive >= 2.3.14" msgstr "" msgctxt "#30724" diff --git a/resources/language/resource.language.ro_ro/strings.po b/resources/language/resource.language.ro_ro/strings.po index 8ccb8e686..ea95e371c 100644 --- a/resources/language/resource.language.ro_ro/strings.po +++ b/resources/language/resource.language.ro_ro/strings.po @@ -775,7 +775,7 @@ msgid "Port %s already in use. Cannot start http server." msgstr "" msgctxt "#30621" -msgid "Proxy is required for mpeg-dash vods (see HTTP Server)" +msgid "Proxy is required for mpeg-dash vods (see Advanced > HTTP Server)" msgstr "" msgctxt "#30622" @@ -823,7 +823,7 @@ msgid "Enable API configuration page" msgstr "" msgctxt "#30633" -msgid "http://:/youtube/api (see HTTP Server)" +msgid "http://:/youtube/api (see Advanced > HTTP Server)" msgstr "" msgctxt "#30634" @@ -1183,7 +1183,7 @@ msgid "Enable HDR video" msgstr "" msgctxt "#30723" -msgid "Proxy is required for mpeg-dash vods (see HTTP Server)[CR]> 1080p and HDR requires InputStream Adaptive >= 2.3.14" +msgid "Proxy is required for mpeg-dash vods (see Advanced > HTTP Server)[CR]> 1080p and HDR requires InputStream Adaptive >= 2.3.14" msgstr "" msgctxt "#30724" diff --git a/resources/language/resource.language.ru_ru/strings.po b/resources/language/resource.language.ru_ru/strings.po index 1cb01f381..3c4410b49 100644 --- a/resources/language/resource.language.ru_ru/strings.po +++ b/resources/language/resource.language.ru_ru/strings.po @@ -777,7 +777,7 @@ msgid "Port %s already in use. Cannot start http server." msgstr "Порт %s уже используется. Ошибка запуска HTTP сервера." msgctxt "#30621" -msgid "Proxy is required for mpeg-dash vods (see HTTP Server)" +msgid "Proxy is required for mpeg-dash vods (see Advanced > HTTP Server)" msgstr "Для MPEG-DASH vods необходим прокси (HTTP сервер)" msgctxt "#30622" @@ -825,7 +825,7 @@ msgid "Enable API configuration page" msgstr "Включить страницу настроек API" msgctxt "#30633" -msgid "http://:/youtube/api (see HTTP Server)" +msgid "http://:/youtube/api (see Advanced > HTTP Server)" msgstr "http://:/youtube/api (смотрите HTTP сервер)" msgctxt "#30634" @@ -1185,7 +1185,7 @@ msgid "Enable HDR video" msgstr "" msgctxt "#30723" -msgid "Proxy is required for mpeg-dash vods (see HTTP Server)[CR]> 1080p and HDR requires InputStream Adaptive >= 2.3.14" +msgid "Proxy is required for mpeg-dash vods (see Advanced > HTTP Server)[CR]> 1080p and HDR requires InputStream Adaptive >= 2.3.14" msgstr "Прокси требуется для mpeg-dash видео (см. HTTP сервер)[CR]>Для 1080p и HDR требуется InputStream Adaptive >= 2.3.14" msgctxt "#30724" diff --git a/resources/language/resource.language.si_lk/strings.po b/resources/language/resource.language.si_lk/strings.po index 875e3b726..cd31cb304 100644 --- a/resources/language/resource.language.si_lk/strings.po +++ b/resources/language/resource.language.si_lk/strings.po @@ -776,7 +776,7 @@ msgid "Port %s already in use. Cannot start http server." msgstr "" msgctxt "#30621" -msgid "Proxy is required for mpeg-dash vods (see HTTP Server)" +msgid "Proxy is required for mpeg-dash vods (see Advanced > HTTP Server)" msgstr "" msgctxt "#30622" @@ -824,7 +824,7 @@ msgid "Enable API configuration page" msgstr "" msgctxt "#30633" -msgid "http://:/youtube/api (see HTTP Server)" +msgid "http://:/youtube/api (see Advanced > HTTP Server)" msgstr "" msgctxt "#30634" @@ -1184,7 +1184,7 @@ msgid "Enable HDR video" msgstr "" msgctxt "#30723" -msgid "Proxy is required for mpeg-dash vods (see HTTP Server)[CR]> 1080p and HDR requires InputStream Adaptive >= 2.3.14" +msgid "Proxy is required for mpeg-dash vods (see Advanced > HTTP Server)[CR]> 1080p and HDR requires InputStream Adaptive >= 2.3.14" msgstr "" msgctxt "#30724" diff --git a/resources/language/resource.language.sk_sk/strings.po b/resources/language/resource.language.sk_sk/strings.po index ff0c621c3..20a454917 100644 --- a/resources/language/resource.language.sk_sk/strings.po +++ b/resources/language/resource.language.sk_sk/strings.po @@ -775,7 +775,7 @@ msgid "Port %s already in use. Cannot start http server." msgstr "Port %s už je používaný. Nepodarilo sa spustiť http server." msgctxt "#30621" -msgid "Proxy is required for mpeg-dash vods (see HTTP Server)" +msgid "Proxy is required for mpeg-dash vods (see Advanced > HTTP Server)" msgstr "MPEG-DASH vyžaduje proxy (viď server HTTP)" msgctxt "#30622" @@ -823,7 +823,7 @@ msgid "Enable API configuration page" msgstr "Zapnúť konfiguračnú stránku API" msgctxt "#30633" -msgid "http://:/youtube/api (see HTTP Server)" +msgid "http://:/youtube/api (see Advanced > HTTP Server)" msgstr "http://:/youtube/api (viď server HTTP)" msgctxt "#30634" @@ -1183,7 +1183,7 @@ msgid "Enable HDR video" msgstr "" msgctxt "#30723" -msgid "Proxy is required for mpeg-dash vods (see HTTP Server)[CR]> 1080p and HDR requires InputStream Adaptive >= 2.3.14" +msgid "Proxy is required for mpeg-dash vods (see Advanced > HTTP Server)[CR]> 1080p and HDR requires InputStream Adaptive >= 2.3.14" msgstr "Videá MPEG-DASH vyžadujú proxy (viď server HTTP)[CR]> 1080p a HDR videá vyžadujú InputStream Adaptive aspoň vo verzii 2.3.14" msgctxt "#30724" diff --git a/resources/language/resource.language.sl_si/strings.po b/resources/language/resource.language.sl_si/strings.po index 00266e10b..3987ee126 100644 --- a/resources/language/resource.language.sl_si/strings.po +++ b/resources/language/resource.language.sl_si/strings.po @@ -776,7 +776,7 @@ msgid "Port %s already in use. Cannot start http server." msgstr "" msgctxt "#30621" -msgid "Proxy is required for mpeg-dash vods (see HTTP Server)" +msgid "Proxy is required for mpeg-dash vods (see Advanced > HTTP Server)" msgstr "" msgctxt "#30622" @@ -824,7 +824,7 @@ msgid "Enable API configuration page" msgstr "" msgctxt "#30633" -msgid "http://:/youtube/api (see HTTP Server)" +msgid "http://:/youtube/api (see Advanced > HTTP Server)" msgstr "" msgctxt "#30634" @@ -1184,7 +1184,7 @@ msgid "Enable HDR video" msgstr "" msgctxt "#30723" -msgid "Proxy is required for mpeg-dash vods (see HTTP Server)[CR]> 1080p and HDR requires InputStream Adaptive >= 2.3.14" +msgid "Proxy is required for mpeg-dash vods (see Advanced > HTTP Server)[CR]> 1080p and HDR requires InputStream Adaptive >= 2.3.14" msgstr "" msgctxt "#30724" diff --git a/resources/language/resource.language.sq_al/strings.po b/resources/language/resource.language.sq_al/strings.po index f9b94e358..7ac53e391 100644 --- a/resources/language/resource.language.sq_al/strings.po +++ b/resources/language/resource.language.sq_al/strings.po @@ -776,7 +776,7 @@ msgid "Port %s already in use. Cannot start http server." msgstr "" msgctxt "#30621" -msgid "Proxy is required for mpeg-dash vods (see HTTP Server)" +msgid "Proxy is required for mpeg-dash vods (see Advanced > HTTP Server)" msgstr "" msgctxt "#30622" @@ -824,7 +824,7 @@ msgid "Enable API configuration page" msgstr "" msgctxt "#30633" -msgid "http://:/youtube/api (see HTTP Server)" +msgid "http://:/youtube/api (see Advanced > HTTP Server)" msgstr "" msgctxt "#30634" @@ -1184,7 +1184,7 @@ msgid "Enable HDR video" msgstr "" msgctxt "#30723" -msgid "Proxy is required for mpeg-dash vods (see HTTP Server)[CR]> 1080p and HDR requires InputStream Adaptive >= 2.3.14" +msgid "Proxy is required for mpeg-dash vods (see Advanced > HTTP Server)[CR]> 1080p and HDR requires InputStream Adaptive >= 2.3.14" msgstr "" msgctxt "#30724" diff --git a/resources/language/resource.language.sr_rs/strings.po b/resources/language/resource.language.sr_rs/strings.po index 75e731c68..b81010628 100644 --- a/resources/language/resource.language.sr_rs/strings.po +++ b/resources/language/resource.language.sr_rs/strings.po @@ -776,7 +776,7 @@ msgid "Port %s already in use. Cannot start http server." msgstr "" msgctxt "#30621" -msgid "Proxy is required for mpeg-dash vods (see HTTP Server)" +msgid "Proxy is required for mpeg-dash vods (see Advanced > HTTP Server)" msgstr "" msgctxt "#30622" @@ -824,7 +824,7 @@ msgid "Enable API configuration page" msgstr "" msgctxt "#30633" -msgid "http://:/youtube/api (see HTTP Server)" +msgid "http://:/youtube/api (see Advanced > HTTP Server)" msgstr "" msgctxt "#30634" @@ -1184,7 +1184,7 @@ msgid "Enable HDR video" msgstr "" msgctxt "#30723" -msgid "Proxy is required for mpeg-dash vods (see HTTP Server)[CR]> 1080p and HDR requires InputStream Adaptive >= 2.3.14" +msgid "Proxy is required for mpeg-dash vods (see Advanced > HTTP Server)[CR]> 1080p and HDR requires InputStream Adaptive >= 2.3.14" msgstr "" msgctxt "#30724" diff --git a/resources/language/resource.language.sr_rs@latin/strings.po b/resources/language/resource.language.sr_rs@latin/strings.po index 3bcec5a3f..c56a696f4 100644 --- a/resources/language/resource.language.sr_rs@latin/strings.po +++ b/resources/language/resource.language.sr_rs@latin/strings.po @@ -776,7 +776,7 @@ msgid "Port %s already in use. Cannot start http server." msgstr "" msgctxt "#30621" -msgid "Proxy is required for mpeg-dash vods (see HTTP Server)" +msgid "Proxy is required for mpeg-dash vods (see Advanced > HTTP Server)" msgstr "" msgctxt "#30622" @@ -824,7 +824,7 @@ msgid "Enable API configuration page" msgstr "" msgctxt "#30633" -msgid "http://:/youtube/api (see HTTP Server)" +msgid "http://:/youtube/api (see Advanced > HTTP Server)" msgstr "" msgctxt "#30634" @@ -1184,7 +1184,7 @@ msgid "Enable HDR video" msgstr "" msgctxt "#30723" -msgid "Proxy is required for mpeg-dash vods (see HTTP Server)[CR]> 1080p and HDR requires InputStream Adaptive >= 2.3.14" +msgid "Proxy is required for mpeg-dash vods (see Advanced > HTTP Server)[CR]> 1080p and HDR requires InputStream Adaptive >= 2.3.14" msgstr "" msgctxt "#30724" diff --git a/resources/language/resource.language.sv_se/strings.po b/resources/language/resource.language.sv_se/strings.po index 88acfa95e..cd65cc278 100644 --- a/resources/language/resource.language.sv_se/strings.po +++ b/resources/language/resource.language.sv_se/strings.po @@ -777,7 +777,7 @@ msgid "Port %s already in use. Cannot start http server." msgstr "" msgctxt "#30621" -msgid "Proxy is required for mpeg-dash vods (see HTTP Server)" +msgid "Proxy is required for mpeg-dash vods (see Advanced > HTTP Server)" msgstr "" msgctxt "#30622" @@ -825,7 +825,7 @@ msgid "Enable API configuration page" msgstr "" msgctxt "#30633" -msgid "http://:/youtube/api (see HTTP Server)" +msgid "http://:/youtube/api (see Advanced > HTTP Server)" msgstr "" msgctxt "#30634" @@ -1185,7 +1185,7 @@ msgid "Enable HDR video" msgstr "" msgctxt "#30723" -msgid "Proxy is required for mpeg-dash vods (see HTTP Server)[CR]> 1080p and HDR requires InputStream Adaptive >= 2.3.14" +msgid "Proxy is required for mpeg-dash vods (see Advanced > HTTP Server)[CR]> 1080p and HDR requires InputStream Adaptive >= 2.3.14" msgstr "" msgctxt "#30724" diff --git a/resources/language/resource.language.szl/strings.po b/resources/language/resource.language.szl/strings.po index c7a5b0c85..b4d1c72dc 100644 --- a/resources/language/resource.language.szl/strings.po +++ b/resources/language/resource.language.szl/strings.po @@ -776,7 +776,7 @@ msgid "Port %s already in use. Cannot start http server." msgstr "" msgctxt "#30621" -msgid "Proxy is required for mpeg-dash vods (see HTTP Server)" +msgid "Proxy is required for mpeg-dash vods (see Advanced > HTTP Server)" msgstr "" msgctxt "#30622" @@ -824,7 +824,7 @@ msgid "Enable API configuration page" msgstr "" msgctxt "#30633" -msgid "http://:/youtube/api (see HTTP Server)" +msgid "http://:/youtube/api (see Advanced > HTTP Server)" msgstr "" msgctxt "#30634" @@ -1184,7 +1184,7 @@ msgid "Enable HDR video" msgstr "" msgctxt "#30723" -msgid "Proxy is required for mpeg-dash vods (see HTTP Server)[CR]> 1080p and HDR requires InputStream Adaptive >= 2.3.14" +msgid "Proxy is required for mpeg-dash vods (see Advanced > HTTP Server)[CR]> 1080p and HDR requires InputStream Adaptive >= 2.3.14" msgstr "" msgctxt "#30724" diff --git a/resources/language/resource.language.ta_in/strings.po b/resources/language/resource.language.ta_in/strings.po index 9015b1704..531810386 100644 --- a/resources/language/resource.language.ta_in/strings.po +++ b/resources/language/resource.language.ta_in/strings.po @@ -776,7 +776,7 @@ msgid "Port %s already in use. Cannot start http server." msgstr "" msgctxt "#30621" -msgid "Proxy is required for mpeg-dash vods (see HTTP Server)" +msgid "Proxy is required for mpeg-dash vods (see Advanced > HTTP Server)" msgstr "" msgctxt "#30622" @@ -824,7 +824,7 @@ msgid "Enable API configuration page" msgstr "" msgctxt "#30633" -msgid "http://:/youtube/api (see HTTP Server)" +msgid "http://:/youtube/api (see Advanced > HTTP Server)" msgstr "" msgctxt "#30634" @@ -1184,7 +1184,7 @@ msgid "Enable HDR video" msgstr "" msgctxt "#30723" -msgid "Proxy is required for mpeg-dash vods (see HTTP Server)[CR]> 1080p and HDR requires InputStream Adaptive >= 2.3.14" +msgid "Proxy is required for mpeg-dash vods (see Advanced > HTTP Server)[CR]> 1080p and HDR requires InputStream Adaptive >= 2.3.14" msgstr "" msgctxt "#30724" diff --git a/resources/language/resource.language.te_in/strings.po b/resources/language/resource.language.te_in/strings.po index 5b80fe278..4f50e8d41 100644 --- a/resources/language/resource.language.te_in/strings.po +++ b/resources/language/resource.language.te_in/strings.po @@ -776,7 +776,7 @@ msgid "Port %s already in use. Cannot start http server." msgstr "" msgctxt "#30621" -msgid "Proxy is required for mpeg-dash vods (see HTTP Server)" +msgid "Proxy is required for mpeg-dash vods (see Advanced > HTTP Server)" msgstr "" msgctxt "#30622" @@ -824,7 +824,7 @@ msgid "Enable API configuration page" msgstr "" msgctxt "#30633" -msgid "http://:/youtube/api (see HTTP Server)" +msgid "http://:/youtube/api (see Advanced > HTTP Server)" msgstr "" msgctxt "#30634" @@ -1184,7 +1184,7 @@ msgid "Enable HDR video" msgstr "" msgctxt "#30723" -msgid "Proxy is required for mpeg-dash vods (see HTTP Server)[CR]> 1080p and HDR requires InputStream Adaptive >= 2.3.14" +msgid "Proxy is required for mpeg-dash vods (see Advanced > HTTP Server)[CR]> 1080p and HDR requires InputStream Adaptive >= 2.3.14" msgstr "" msgctxt "#30724" diff --git a/resources/language/resource.language.tg_tj/strings.po b/resources/language/resource.language.tg_tj/strings.po index 0500b9a2d..657630755 100644 --- a/resources/language/resource.language.tg_tj/strings.po +++ b/resources/language/resource.language.tg_tj/strings.po @@ -776,7 +776,7 @@ msgid "Port %s already in use. Cannot start http server." msgstr "" msgctxt "#30621" -msgid "Proxy is required for mpeg-dash vods (see HTTP Server)" +msgid "Proxy is required for mpeg-dash vods (see Advanced > HTTP Server)" msgstr "" msgctxt "#30622" @@ -824,7 +824,7 @@ msgid "Enable API configuration page" msgstr "" msgctxt "#30633" -msgid "http://:/youtube/api (see HTTP Server)" +msgid "http://:/youtube/api (see Advanced > HTTP Server)" msgstr "" msgctxt "#30634" @@ -1184,7 +1184,7 @@ msgid "Enable HDR video" msgstr "" msgctxt "#30723" -msgid "Proxy is required for mpeg-dash vods (see HTTP Server)[CR]> 1080p and HDR requires InputStream Adaptive >= 2.3.14" +msgid "Proxy is required for mpeg-dash vods (see Advanced > HTTP Server)[CR]> 1080p and HDR requires InputStream Adaptive >= 2.3.14" msgstr "" msgctxt "#30724" diff --git a/resources/language/resource.language.th_th/strings.po b/resources/language/resource.language.th_th/strings.po index 7123c9655..dc4279bc2 100644 --- a/resources/language/resource.language.th_th/strings.po +++ b/resources/language/resource.language.th_th/strings.po @@ -776,7 +776,7 @@ msgid "Port %s already in use. Cannot start http server." msgstr "" msgctxt "#30621" -msgid "Proxy is required for mpeg-dash vods (see HTTP Server)" +msgid "Proxy is required for mpeg-dash vods (see Advanced > HTTP Server)" msgstr "" msgctxt "#30622" @@ -824,7 +824,7 @@ msgid "Enable API configuration page" msgstr "" msgctxt "#30633" -msgid "http://:/youtube/api (see HTTP Server)" +msgid "http://:/youtube/api (see Advanced > HTTP Server)" msgstr "" msgctxt "#30634" @@ -1184,7 +1184,7 @@ msgid "Enable HDR video" msgstr "" msgctxt "#30723" -msgid "Proxy is required for mpeg-dash vods (see HTTP Server)[CR]> 1080p and HDR requires InputStream Adaptive >= 2.3.14" +msgid "Proxy is required for mpeg-dash vods (see Advanced > HTTP Server)[CR]> 1080p and HDR requires InputStream Adaptive >= 2.3.14" msgstr "" msgctxt "#30724" diff --git a/resources/language/resource.language.tr_tr/strings.po b/resources/language/resource.language.tr_tr/strings.po index 311db8839..84c06c290 100644 --- a/resources/language/resource.language.tr_tr/strings.po +++ b/resources/language/resource.language.tr_tr/strings.po @@ -777,7 +777,7 @@ msgid "Port %s already in use. Cannot start http server." msgstr "%s bağlantı noktası zaten kullanılıyor.Http sunucusu başlatılamıyor." msgctxt "#30621" -msgid "Proxy is required for mpeg-dash vods (see HTTP Server)" +msgid "Proxy is required for mpeg-dash vods (see Advanced > HTTP Server)" msgstr "mpeg-dash vod'ları için proxy gereklidir (bkz. HTTP Sunucusu)" msgctxt "#30622" @@ -825,7 +825,7 @@ msgid "Enable API configuration page" msgstr "API yapılandırma sayfasını etkinleştir" msgctxt "#30633" -msgid "http://:/youtube/api (see HTTP Server)" +msgid "http://:/youtube/api (see Advanced > HTTP Server)" msgstr "http://:/youtube/api (bkz. HTTP Sunucusu)" msgctxt "#30634" @@ -1185,7 +1185,7 @@ msgid "Enable HDR video" msgstr "" msgctxt "#30723" -msgid "Proxy is required for mpeg-dash vods (see HTTP Server)[CR]> 1080p and HDR requires InputStream Adaptive >= 2.3.14" +msgid "Proxy is required for mpeg-dash vods (see Advanced > HTTP Server)[CR]> 1080p and HDR requires InputStream Adaptive >= 2.3.14" msgstr "mpeg-dash vod'lar için proxy gereklidir (bkz. HTTP Sunucusu)[CR]> 1080p ve HDR için InputStream Adaptive >= 2.3.14 gerekir" msgctxt "#30724" diff --git a/resources/language/resource.language.uk_ua/strings.po b/resources/language/resource.language.uk_ua/strings.po index 433486e7c..06328c603 100644 --- a/resources/language/resource.language.uk_ua/strings.po +++ b/resources/language/resource.language.uk_ua/strings.po @@ -774,7 +774,7 @@ msgid "Port %s already in use. Cannot start http server." msgstr "" msgctxt "#30621" -msgid "Proxy is required for mpeg-dash vods (see HTTP Server)" +msgid "Proxy is required for mpeg-dash vods (see Advanced > HTTP Server)" msgstr "" msgctxt "#30622" @@ -822,7 +822,7 @@ msgid "Enable API configuration page" msgstr "" msgctxt "#30633" -msgid "http://:/youtube/api (see HTTP Server)" +msgid "http://:/youtube/api (see Advanced > HTTP Server)" msgstr "" msgctxt "#30634" @@ -1182,7 +1182,7 @@ msgid "Enable HDR video" msgstr "" msgctxt "#30723" -msgid "Proxy is required for mpeg-dash vods (see HTTP Server)[CR]> 1080p and HDR requires InputStream Adaptive >= 2.3.14" +msgid "Proxy is required for mpeg-dash vods (see Advanced > HTTP Server)[CR]> 1080p and HDR requires InputStream Adaptive >= 2.3.14" msgstr "" msgctxt "#30724" diff --git a/resources/language/resource.language.uz_uz/strings.po b/resources/language/resource.language.uz_uz/strings.po index fea9f9b20..32ff2cc43 100644 --- a/resources/language/resource.language.uz_uz/strings.po +++ b/resources/language/resource.language.uz_uz/strings.po @@ -776,7 +776,7 @@ msgid "Port %s already in use. Cannot start http server." msgstr "" msgctxt "#30621" -msgid "Proxy is required for mpeg-dash vods (see HTTP Server)" +msgid "Proxy is required for mpeg-dash vods (see Advanced > HTTP Server)" msgstr "" msgctxt "#30622" @@ -824,7 +824,7 @@ msgid "Enable API configuration page" msgstr "" msgctxt "#30633" -msgid "http://:/youtube/api (see HTTP Server)" +msgid "http://:/youtube/api (see Advanced > HTTP Server)" msgstr "" msgctxt "#30634" @@ -1184,7 +1184,7 @@ msgid "Enable HDR video" msgstr "" msgctxt "#30723" -msgid "Proxy is required for mpeg-dash vods (see HTTP Server)[CR]> 1080p and HDR requires InputStream Adaptive >= 2.3.14" +msgid "Proxy is required for mpeg-dash vods (see Advanced > HTTP Server)[CR]> 1080p and HDR requires InputStream Adaptive >= 2.3.14" msgstr "" msgctxt "#30724" diff --git a/resources/language/resource.language.vi_vn/strings.po b/resources/language/resource.language.vi_vn/strings.po index 460ff6faf..c61845687 100644 --- a/resources/language/resource.language.vi_vn/strings.po +++ b/resources/language/resource.language.vi_vn/strings.po @@ -777,7 +777,7 @@ msgid "Port %s already in use. Cannot start http server." msgstr "" msgctxt "#30621" -msgid "Proxy is required for mpeg-dash vods (see HTTP Server)" +msgid "Proxy is required for mpeg-dash vods (see Advanced > HTTP Server)" msgstr "" msgctxt "#30622" @@ -825,7 +825,7 @@ msgid "Enable API configuration page" msgstr "" msgctxt "#30633" -msgid "http://:/youtube/api (see HTTP Server)" +msgid "http://:/youtube/api (see Advanced > HTTP Server)" msgstr "" msgctxt "#30634" @@ -1185,7 +1185,7 @@ msgid "Enable HDR video" msgstr "" msgctxt "#30723" -msgid "Proxy is required for mpeg-dash vods (see HTTP Server)[CR]> 1080p and HDR requires InputStream Adaptive >= 2.3.14" +msgid "Proxy is required for mpeg-dash vods (see Advanced > HTTP Server)[CR]> 1080p and HDR requires InputStream Adaptive >= 2.3.14" msgstr "" msgctxt "#30724" diff --git a/resources/language/resource.language.zh_cn/strings.po b/resources/language/resource.language.zh_cn/strings.po index 617eb4b88..16438a725 100644 --- a/resources/language/resource.language.zh_cn/strings.po +++ b/resources/language/resource.language.zh_cn/strings.po @@ -775,7 +775,7 @@ msgid "Port %s already in use. Cannot start http server." msgstr "端口 %s 已经被占用,无法启动 HTTP 服务。" msgctxt "#30621" -msgid "Proxy is required for mpeg-dash vods (see HTTP Server)" +msgid "Proxy is required for mpeg-dash vods (see Advanced > HTTP Server)" msgstr "MPEG-DASH 视频点播(VODS)需要代理(请参阅 HTTP 服务器)" msgctxt "#30622" @@ -823,7 +823,7 @@ msgid "Enable API configuration page" msgstr "允许 API 配置页面" msgctxt "#30633" -msgid "http://:/youtube/api (see HTTP Server)" +msgid "http://:/youtube/api (see Advanced > HTTP Server)" msgstr "http://:/youtube/api (请参阅 HTTP 服务器)" msgctxt "#30634" @@ -1183,7 +1183,7 @@ msgid "Enable HDR video" msgstr "" msgctxt "#30723" -msgid "Proxy is required for mpeg-dash vods (see HTTP Server)[CR]> 1080p and HDR requires InputStream Adaptive >= 2.3.14" +msgid "Proxy is required for mpeg-dash vods (see Advanced > HTTP Server)[CR]> 1080p and HDR requires InputStream Adaptive >= 2.3.14" msgstr "MPEG-DASH 视频点播(VODS)需要代理(请参阅 HTTP 服务器)[CR]> 1080p 和 HDR 需要 InputStream Adaptive >= 2.3.14" msgctxt "#30724" diff --git a/resources/language/resource.language.zh_tw/strings.po b/resources/language/resource.language.zh_tw/strings.po index 984ded84a..9b0322491 100644 --- a/resources/language/resource.language.zh_tw/strings.po +++ b/resources/language/resource.language.zh_tw/strings.po @@ -777,7 +777,7 @@ msgid "Port %s already in use. Cannot start http server." msgstr "Port %s 已經被使用. 無法啟動 HTTP 伺服器." msgctxt "#30621" -msgid "Proxy is required for mpeg-dash vods (see HTTP Server)" +msgid "Proxy is required for mpeg-dash vods (see Advanced > HTTP Server)" msgstr "mpeg-dash 隨選視訊需要設定代理 (請看 HTTP 伺服器)" msgctxt "#30622" @@ -825,7 +825,7 @@ msgid "Enable API configuration page" msgstr "啟用 API 設定頁面" msgctxt "#30633" -msgid "http://:/youtube/api (see HTTP Server)" +msgid "http://:/youtube/api (see Advanced > HTTP Server)" msgstr "http://:/youtube/api (請看 HTTP 伺服器)" msgctxt "#30634" @@ -1185,7 +1185,7 @@ msgid "Enable HDR video" msgstr "" msgctxt "#30723" -msgid "Proxy is required for mpeg-dash vods (see HTTP Server)[CR]> 1080p and HDR requires InputStream Adaptive >= 2.3.14" +msgid "Proxy is required for mpeg-dash vods (see Advanced > HTTP Server)[CR]> 1080p and HDR requires InputStream Adaptive >= 2.3.14" msgstr "mpeg-dash 隨選視訊需要設定代理 (請看 HTTP 伺服器)[CR]> 1080p 且 HDR 需要 InputStream Adaptive >= 2.3.14" msgctxt "#30724" From 86294bb1eef8d97611acb4ec0dd8f98b41750ab6 Mon Sep 17 00:00:00 2001 From: MoojMidge <56883549+MoojMidge@users.noreply.github.com> Date: Tue, 12 Mar 2024 22:27:15 +1100 Subject: [PATCH 12/13] Add forced oneshot trigger for setup wizard --- .../lib/youtube_plugin/kodion/constants/const_settings.py | 1 + .../youtube_plugin/kodion/settings/abstract_settings.py | 6 ++++++ resources/settings.xml | 7 +++++++ 3 files changed, 14 insertions(+) diff --git a/resources/lib/youtube_plugin/kodion/constants/const_settings.py b/resources/lib/youtube_plugin/kodion/constants/const_settings.py index d88340cef..057591428 100644 --- a/resources/lib/youtube_plugin/kodion/constants/const_settings.py +++ b/resources/lib/youtube_plugin/kodion/constants/const_settings.py @@ -22,6 +22,7 @@ SUBTITLE_LANGUAGE = 'kodion.subtitle.languages.num' # (int) SUBTITLE_DOWNLOAD = 'kodion.subtitle.download' # (bool) SETUP_WIZARD = 'kodion.setup_wizard' # (bool) +SETUP_WIZARD_RUNS = 'kodion.setup_wizard.forced_runs' # (int) LANGUAGE = 'youtube.language' # (str) LOCATION = 'youtube.location' # (str) LOCATION_RADIUS = 'youtube.location.radius' # (int) diff --git a/resources/lib/youtube_plugin/kodion/settings/abstract_settings.py b/resources/lib/youtube_plugin/kodion/settings/abstract_settings.py index 4fcd37451..f901be1d4 100644 --- a/resources/lib/youtube_plugin/kodion/settings/abstract_settings.py +++ b/resources/lib/youtube_plugin/kodion/settings/abstract_settings.py @@ -99,6 +99,12 @@ def get_search_history_size(self): return self.get_int(settings.SEARCH_SIZE, 10) def is_setup_wizard_enabled(self): + # Increment min_required on new release to enable oneshot on first run + min_required = 1 + forced_runs = self.get_int(settings.SETUP_WIZARD_RUNS, min_required - 1) + if forced_runs < min_required: + self.set_int(settings.SETUP_WIZARD_RUNS, forced_runs + 1) + return True return self.get_bool(settings.SETUP_WIZARD, False) def is_support_alternative_player_enabled(self): diff --git a/resources/settings.xml b/resources/settings.xml index 6dcc763c4..f82058bc1 100644 --- a/resources/settings.xml +++ b/resources/settings.xml @@ -8,6 +8,13 @@ true + + 4 + 0 + + + + From 3e9d1bb7762bb783d98d4509eb63c8f20422b383 Mon Sep 17 00:00:00 2001 From: MoojMidge <56883549+MoojMidge@users.noreply.github.com> Date: Tue, 12 Mar 2024 22:34:12 +1100 Subject: [PATCH 13/13] Rename http_server.is_httpd_live to http_server.httpd_status --- resources/lib/youtube_plugin/kodion/network/__init__.py | 4 ++-- resources/lib/youtube_plugin/kodion/network/http_server.py | 2 +- resources/lib/youtube_plugin/kodion/script_actions.py | 4 ++-- resources/lib/youtube_plugin/kodion/utils/service_monitor.py | 4 ++-- resources/lib/youtube_plugin/youtube/helper/video_info.py | 4 ++-- 5 files changed, 9 insertions(+), 9 deletions(-) diff --git a/resources/lib/youtube_plugin/kodion/network/__init__.py b/resources/lib/youtube_plugin/kodion/network/__init__.py index 45fe2ae78..220f5ab45 100644 --- a/resources/lib/youtube_plugin/kodion/network/__init__.py +++ b/resources/lib/youtube_plugin/kodion/network/__init__.py @@ -9,7 +9,7 @@ from __future__ import absolute_import, division, unicode_literals -from .http_server import get_client_ip_address, get_http_server, is_httpd_live +from .http_server import get_client_ip_address, get_http_server, httpd_status from .ip_api import Locator from .requests import BaseRequestsClass, InvalidJSONError @@ -17,7 +17,7 @@ __all__ = ( 'get_client_ip_address', 'get_http_server', - 'is_httpd_live', + 'httpd_status', 'BaseRequestsClass', 'InvalidJSONError', 'Locator', diff --git a/resources/lib/youtube_plugin/kodion/network/http_server.py b/resources/lib/youtube_plugin/kodion/network/http_server.py index 0c89ec2a3..d343419dc 100644 --- a/resources/lib/youtube_plugin/kodion/network/http_server.py +++ b/resources/lib/youtube_plugin/kodion/network/http_server.py @@ -541,7 +541,7 @@ def get_http_server(address=None, port=None): return None -def is_httpd_live(address=None, port=None): +def httpd_status(address=None, port=None): address = _settings.httpd_listen(for_request=True, ip_address=address) port = _settings.httpd_port(port=port) url = 'http://{address}:{port}{path}'.format(address=address, diff --git a/resources/lib/youtube_plugin/kodion/script_actions.py b/resources/lib/youtube_plugin/kodion/script_actions.py index 7e5464acb..80227ac9c 100644 --- a/resources/lib/youtube_plugin/kodion/script_actions.py +++ b/resources/lib/youtube_plugin/kodion/script_actions.py @@ -15,7 +15,7 @@ from .compatibility import parse_qsl, urlsplit, xbmc, xbmcaddon, xbmcvfs from .constants import DATA_PATH, TEMP_PATH, WAIT_FLAG from .context import XbmcContext -from .network import get_client_ip_address, is_httpd_live +from .network import get_client_ip_address, httpd_status from .utils import rm_dir @@ -93,7 +93,7 @@ def _config_actions(context, action, *_args): elif action == 'show_client_ip': port = settings.httpd_port() - if is_httpd_live(port=port): + if httpd_status(port=port): client_ip = get_client_ip_address(port=port) if client_ip: ui.on_ok(context.get_name(), diff --git a/resources/lib/youtube_plugin/kodion/utils/service_monitor.py b/resources/lib/youtube_plugin/kodion/utils/service_monitor.py index d2bb0a797..3032e5170 100644 --- a/resources/lib/youtube_plugin/kodion/utils/service_monitor.py +++ b/resources/lib/youtube_plugin/kodion/utils/service_monitor.py @@ -15,7 +15,7 @@ from ..compatibility import unquote, xbmc, xbmcaddon from ..constants import ADDON_ID from ..logger import log_debug -from ..network import get_http_server, is_httpd_live +from ..network import get_http_server, httpd_status from ..settings import XbmcPluginSettings @@ -158,4 +158,4 @@ def restart_httpd(self): self.start_httpd() def ping_httpd(self): - return is_httpd_live(port=self.httpd_port()) + return httpd_status(port=self.httpd_port()) diff --git a/resources/lib/youtube_plugin/youtube/helper/video_info.py b/resources/lib/youtube_plugin/youtube/helper/video_info.py index 725678245..8b49576bd 100644 --- a/resources/lib/youtube_plugin/youtube/helper/video_info.py +++ b/resources/lib/youtube_plugin/youtube/helper/video_info.py @@ -32,7 +32,7 @@ xbmcvfs, ) from ...kodion.constants import TEMP_PATH, paths -from ...kodion.network import is_httpd_live +from ...kodion.network import httpd_status from ...kodion.utils import make_dirs @@ -1292,7 +1292,7 @@ def _get_video_info(self): use_mpd_vod = _settings.use_mpd_videos() httpd_running = (_settings.use_isa() and - is_httpd_live(port=_settings.httpd_port())) + httpd_status(port=_settings.httpd_port())) pa_li_info = streaming_data.get('licenseInfos', []) if any(pa_li_info) and not httpd_running: