UI - better representation of child browsers

This commit is contained in:
dgtlmoon
2026-07-21 17:25:16 +02:00
parent c38fd0ec28
commit eb6d873a4c
19 changed files with 455 additions and 607 deletions
@@ -82,10 +82,23 @@ def construct_blueprint(datastore: ChangeDetectionStore):
@browser_config_blueprint.route("/browsers", methods=['GET'])
@login_optionally_required
def browsers_overview():
base_fetchers = _base_fetchers(datastore)
# Nest each user-created variation under the engine it extends, so a variation reads as a
# child of its base browser (↳) instead of living in a separate "Your browsers" table.
# Variations are uuid-keyed with a `base_fetcher`; built-in engine override configs are
# keyed by the engine name itself (cid == base_fetcher) - those are the base row's own
# "Edit", not a variation, so they're skipped here.
variations_by_base = {}
for cid, entry in datastore.browser_config_store.all().items():
base = entry.get('base_fetcher')
if cid == base:
continue
variations_by_base.setdefault(base, []).append({'id': cid, **entry})
for f in base_fetchers:
f['variations'] = variations_by_base.get(f['name'], [])
return render_template(
"browsers-overview.html",
base_fetchers=_base_fetchers(datastore),
browser_configs=datastore.browser_config_store.all(),
base_fetchers=base_fetchers,
# The default browser is the global system fetch_backend (single source of truth).
default_browser_id=datastore.data['settings']['application'].get('fetch_backend'),
)
@@ -6,77 +6,26 @@
<h4 style="margin-top:0">{{ _('Browsers') }}</h4>
<p class="pure-form-message-inline">
{{ _('Save a browser once (its screen size, language, timezone…) and reuse it on any watch or group. Add a variation from one of the available browsers below.') }}
{{ _('These are the available browsers. Save a variation of one (its screen size, language, timezone…) with <strong>+ Add variation</strong> and reuse it on any watch or group — your variations appear nested (↳) under the browser they extend.')|safe }}
</p>
<p class="pure-form-message-inline">
{{ _('The <strong>Default browser</strong> (chosen with the radio button below) is used by every watch unless the watch — or its group — picks another one. This is the same value shown on the <a href="%(url)s#fetching">Settings → Fetching</a> page.', url=url_for('settings.settings_page'))|safe }}
{{ _('The <strong>Default browser</strong> (chosen with the radio button) is used by every watch unless the watch — or its group — picks another one. This is the same value shown on the <a href="%(url)s#fetching">Settings → Fetching</a> page.', url=url_for('settings.settings_page'))|safe }}
</p>
{# ---- User-created browser variations ---- #}
<h5 style="margin-top:1.5em">{{ _('Your browsers') }}</h5>
{% if browser_configs %}
<table class="pure-table browsers-table" style="width:100%; margin-top:0.5em;">
<thead><tr>
<th style="width:5em; text-align:center">{{ _('Default') }}</th>
<th>{{ _('Name') }}</th>
<th>{{ _('Setup') }}</th>
<th></th>
</tr></thead>
<tbody>
{% for cid, entry in browser_configs.items() %}
{% set bc = entry.get('browser_config') or {} %}
<tr class="{% if cid == default_browser_id %}is-default{% endif %}">
<td style="text-align:center">
<form method="POST" class="set-default-form" action="{{ url_for('ui.browser_config.browser_config_set_default', config_id=cid) }}">
<input type="hidden" name="csrf_token" value="{{ csrf_token() }}">
<input type="radio" class="browser-default-radio" name="browser_default" value="{{ cid }}"
title="{{ _('Set as the default browser') }}"
{% if cid == default_browser_id %}checked{% endif %}>
</form>
</td>
<td>
<strong>{{ entry.get('label') }}</strong>
<span class="browser-chip">{{ entry.get('base_fetcher') }}</span>
{% if cid == default_browser_id %}<span class="browser-chip browser-chip--default">{{ _('Default') }}</span>{% endif %}
</td>
<td>
{% if bc.get('browser_type') %}<span class="browser-chip">{{ bc.browser_type }}</span>{% endif %}
{% if bc.get('viewport_width') %}<span class="browser-chip">{{ bc.viewport_width }}×{{ bc.viewport_height or '?' }}</span>{% endif %}
{% if bc.get('locale') %}<span class="browser-chip">{{ bc.locale }}</span>{% endif %}
{% if bc.get('timezone_id') %}<span class="browser-chip">{{ bc.timezone_id }}</span>{% endif %}
{% if bc.get('block_resource_types') %}<span class="browser-chip">{{ _('no') }} {{ bc.block_resource_types|join(', ') }}</span>{% endif %}
</td>
<td style="text-align:right; white-space:nowrap">
<a class="pure-button button-small" href="{{ url_for('ui.browser_config.browser_config_edit', config_id=cid) }}">{{ _('Edit') }}</a>
<form method="POST" action="{{ url_for('ui.browser_config.browser_config_remove', config_id=cid) }}" style="display:inline"
onsubmit="return confirm('{{ _('Remove this browser?') }}');">
<input type="hidden" name="csrf_token" value="{{ csrf_token() }}">
<button class="pure-button button-small button-error" type="submit">{{ _('Remove') }}</button>
</form>
</td>
</tr>
{% endfor %}
</tbody>
</table>
{% else %}
<p class="pure-form-message-inline" style="color:#777">{{ _("You haven't added any browser variations yet — add one from an available browser below.") }}</p>
{% endif %}
{# ---- Available base browsers - each offers "Add variation" ---- #}
<h5 style="margin-top:2em">{{ _('Available browsers') }}</h5>
{# One table: each available base browser, with its user-created variations nested directly
beneath it as child rows (↳). No separate "Your browsers" table. #}
{% if base_fetchers %}
<table class="pure-table browsers-table" style="width:100%; margin-top:0.5em;">
<table class="pure-table browsers-table" style="width:100%; margin-top:1em;">
<thead><tr>
<th style="width:5em; text-align:center">{{ _('Default') }}</th>
<th>{{ _('Browser') }}</th>
<th>{{ _('Capabilities') }}</th>
<th></th>
<th></th>
</tr></thead>
<tbody>
{% for f in base_fetchers %}
{% set fbc = f.browser_config or {} %}
<tr class="{% if f.ready_to_use and f.name == default_browser_id %}is-default{% endif %}">
{# ---- Base browser (parent) row ---- #}
<tr class="browser-base-row {% if f.ready_to_use and f.name == default_browser_id %}is-default{% endif %}">
<td style="text-align:center">
{# Only ready-to-use engines can be the default (base-only engines aren't usable directly) #}
{% if f.ready_to_use %}
@@ -104,14 +53,46 @@
{% if f.ready_to_use and f.configurable %}
<a class="pure-button button-small" href="{{ url_for('ui.browser_config.browser_config_edit', config_id=f.name) }}">{{ _('Edit') }}</a>
{% endif %}
</td>
<td style="text-align:right; white-space:nowrap">
{# "Add variation" for any configurable engine - browsers or the plain client. #}
{% if f.configurable %}
<a class="pure-button button-small pure-button-primary" href="{{ url_for('ui.browser_config.browser_config_add', base_fetcher=f.name) }}">+ {{ _('Add variation') }}</a>
{% endif %}
</td>
</tr>
{# ---- User variations of this base (child rows) ---- #}
{% for v in f.variations %}
{% set bc = v.get('browser_config') or {} %}
<tr class="browser-variation-row {% if v.id == default_browser_id %}is-default{% endif %}">
<td style="text-align:center">
<form method="POST" class="set-default-form" action="{{ url_for('ui.browser_config.browser_config_set_default', config_id=v.id) }}">
<input type="hidden" name="csrf_token" value="{{ csrf_token() }}">
<input type="radio" class="browser-default-radio" name="browser_default" value="{{ v.id }}"
title="{{ _('Set as the default browser') }}"
{% if v.id == default_browser_id %}checked{% endif %}>
</form>
</td>
<td class="browser-variation-name">
<i data-feather="corner-down-right" class="browser-variation-arrow" title="{{ _('Variation of %(base)s', base=f.description) }}"></i>
<strong>{{ v.get('label') }}</strong>
{% if v.id == default_browser_id %}<span class="browser-chip browser-chip--default">{{ _('Default') }}</span>{% endif %}
</td>
<td>
{% if bc.get('browser_type') %}<span class="browser-chip">{{ bc.browser_type }}</span>{% endif %}
{% if bc.get('viewport_width') %}<span class="browser-chip">{{ bc.viewport_width }}×{{ bc.viewport_height or '?' }}</span>{% endif %}
{% if bc.get('locale') %}<span class="browser-chip">{{ bc.locale }}</span>{% endif %}
{% if bc.get('timezone_id') %}<span class="browser-chip">{{ bc.timezone_id }}</span>{% endif %}
{% if bc.get('block_resource_types') %}<span class="browser-chip">{{ _('no') }} {{ bc.block_resource_types|join(', ') }}</span>{% endif %}
</td>
<td style="text-align:right; white-space:nowrap">
<a class="pure-button button-small" href="{{ url_for('ui.browser_config.browser_config_edit', config_id=v.id) }}">{{ _('Edit') }}</a>
<form method="POST" action="{{ url_for('ui.browser_config.browser_config_remove', config_id=v.id) }}" style="display:inline"
onsubmit="return confirm('{{ _('Remove this browser?') }}');">
<input type="hidden" name="csrf_token" value="{{ csrf_token() }}">
<button class="pure-button button-small button-error" type="submit">{{ _('Remove') }}</button>
</form>
</td>
</tr>
{% endfor %}
{% endfor %}
</tbody>
</table>
@@ -152,6 +133,14 @@ document.querySelectorAll('.browser-default-radio').forEach(function (radio) {
}
.browser-chip--default { background: #d4edda; color: #155724; }
.browsers-table tr.is-default { background: rgba(21,87,36,0.06); }
/* A base browser and its variations read as one group: the base has a firm top border, its
children a lighter tint and no internal separators, so the nesting is obvious at a glance. */
.browsers-table tr.browser-base-row td { border-top: 2px solid rgba(127,127,127,0.35); }
.browsers-table tr.browser-variation-row td { background: rgba(127,127,127,0.05); border-top: none; }
.browsers-table tr.browser-variation-row.is-default td { background: rgba(21,87,36,0.06); }
.browser-variation-name { padding-left: 1.5em; }
/* Feather renders an inline <svg>, so size it with width/height (font-size won't apply). */
.browser-variation-arrow { width: 16px; height: 16px; margin-right: 0.4em; color: #999; vertical-align: middle; }
.browser-default-radio { transform: scale(1.3); cursor: pointer; }
.set-default-form { margin: 0; display: inline; }
.browser-empty {
@@ -74,6 +74,12 @@ def test_browser_config_crud(client, live_server, measure_memory_usage, datastor
assert configs[cid]['browser_config']['locale'] == 'en-GB'
assert configs[cid]['browser_config']['viewport_width'] == 1920
# The variation renders nested (↳) under its base browser row, not in a separate table
res = client.get(url_for("ui.browser_config.browsers_overview"))
assert b"browser-variation-row" in res.data
assert b"Desktop Full-HD" in res.data
assert b"Your browsers" not in res.data # the old separate table is gone
# Invalid locale is rejected with an inline error, nothing stored
res = _add_browser(client, label="Bad", locale="xx-ZZ")
assert b"Unknown locale" in res.data
@@ -1881,50 +1881,27 @@ msgstr ""
#: changedetectionio/blueprint/ui/templates/browsers-overview.html
msgid ""
"Save a browser once (its screen size, language, timezone…) and reuse it on any watch or group. Add a variation from "
"one of the available browsers below."
"These are the available browsers. Save a variation of one (its screen size, language, timezone…) with <strong>+ Add "
"variation</strong> and reuse it on any watch or group — your variations appear nested (↳) under the browser they "
"extend."
msgstr ""
#: changedetectionio/blueprint/ui/templates/browsers-overview.html
#, python-format
msgid ""
"The <strong>Default browser</strong> (chosen with the radio button below) is used by every watch unless the watch — "
"or its group — picks another one. This is the same value shown on the <a href=\"%(url)s#fetching\">Settings → "
"Fetching</a> page."
msgstr ""
#: changedetectionio/blueprint/ui/templates/browsers-overview.html
msgid "Your browsers"
msgstr ""
#: changedetectionio/blueprint/ui/templates/browsers-overview.html
msgid "Setup"
msgstr ""
#: changedetectionio/blueprint/ui/templates/browsers-overview.html
msgid "Set as the default browser"
msgstr ""
#: changedetectionio/blueprint/ui/templates/browsers-overview.html
msgid "no"
msgstr ""
#: changedetectionio/blueprint/ui/templates/browsers-overview.html
msgid "Remove this browser?"
msgstr ""
#: changedetectionio/blueprint/ui/templates/browsers-overview.html
msgid "You haven't added any browser variations yet — add one from an available browser below."
msgstr ""
#: changedetectionio/blueprint/ui/templates/browsers-overview.html
msgid "Available browsers"
"The <strong>Default browser</strong> (chosen with the radio button) is used by every watch unless the watch — or its "
"group — picks another one. This is the same value shown on the <a href=\"%(url)s#fetching\">Settings → Fetching</a> "
"page."
msgstr ""
#: changedetectionio/blueprint/ui/templates/browsers-overview.html
msgid "Capabilities"
msgstr ""
#: changedetectionio/blueprint/ui/templates/browsers-overview.html
msgid "Set as the default browser"
msgstr ""
#: changedetectionio/blueprint/ui/templates/browsers-overview.html
msgid "needs setup"
msgstr ""
@@ -1937,6 +1914,19 @@ msgstr ""
msgid "Add variation"
msgstr ""
#: changedetectionio/blueprint/ui/templates/browsers-overview.html
#, python-format
msgid "Variation of %(base)s"
msgstr ""
#: changedetectionio/blueprint/ui/templates/browsers-overview.html
msgid "no"
msgstr ""
#: changedetectionio/blueprint/ui/templates/browsers-overview.html
msgid "Remove this browser?"
msgstr ""
#: changedetectionio/blueprint/ui/templates/browsers-overview.html
msgid "No interactive browser is available."
msgstr ""
@@ -3606,7 +3596,7 @@ msgid "Invalid template syntax in \"%(header)s\" header: %(error)s"
msgstr "Neplatná syntax šablony v \"%(header)s\" hlavička: %(error)s"
#: changedetectionio/blueprint/tags/form.py changedetectionio/blueprint/ui/form_browseroptions.py
#: changedetectionio/blueprint/ui/templates/browsers-overview.html changedetectionio/forms.py
#: changedetectionio/forms.py
msgid "Name"
msgstr "Název"
@@ -1898,50 +1898,27 @@ msgstr ""
#: changedetectionio/blueprint/ui/templates/browsers-overview.html
msgid ""
"Save a browser once (its screen size, language, timezone…) and reuse it on any watch or group. Add a variation from "
"one of the available browsers below."
"These are the available browsers. Save a variation of one (its screen size, language, timezone…) with <strong>+ Add "
"variation</strong> and reuse it on any watch or group — your variations appear nested (↳) under the browser they "
"extend."
msgstr ""
#: changedetectionio/blueprint/ui/templates/browsers-overview.html
#, python-format
msgid ""
"The <strong>Default browser</strong> (chosen with the radio button below) is used by every watch unless the watch — "
"or its group — picks another one. This is the same value shown on the <a href=\"%(url)s#fetching\">Settings → "
"Fetching</a> page."
msgstr ""
#: changedetectionio/blueprint/ui/templates/browsers-overview.html
msgid "Your browsers"
msgstr ""
#: changedetectionio/blueprint/ui/templates/browsers-overview.html
msgid "Setup"
msgstr ""
#: changedetectionio/blueprint/ui/templates/browsers-overview.html
msgid "Set as the default browser"
msgstr ""
#: changedetectionio/blueprint/ui/templates/browsers-overview.html
msgid "no"
msgstr ""
#: changedetectionio/blueprint/ui/templates/browsers-overview.html
msgid "Remove this browser?"
msgstr ""
#: changedetectionio/blueprint/ui/templates/browsers-overview.html
msgid "You haven't added any browser variations yet — add one from an available browser below."
msgstr ""
#: changedetectionio/blueprint/ui/templates/browsers-overview.html
msgid "Available browsers"
"The <strong>Default browser</strong> (chosen with the radio button) is used by every watch unless the watch — or its "
"group — picks another one. This is the same value shown on the <a href=\"%(url)s#fetching\">Settings → Fetching</a> "
"page."
msgstr ""
#: changedetectionio/blueprint/ui/templates/browsers-overview.html
msgid "Capabilities"
msgstr ""
#: changedetectionio/blueprint/ui/templates/browsers-overview.html
msgid "Set as the default browser"
msgstr ""
#: changedetectionio/blueprint/ui/templates/browsers-overview.html
msgid "needs setup"
msgstr ""
@@ -1954,6 +1931,19 @@ msgstr ""
msgid "Add variation"
msgstr ""
#: changedetectionio/blueprint/ui/templates/browsers-overview.html
#, python-format
msgid "Variation of %(base)s"
msgstr ""
#: changedetectionio/blueprint/ui/templates/browsers-overview.html
msgid "no"
msgstr ""
#: changedetectionio/blueprint/ui/templates/browsers-overview.html
msgid "Remove this browser?"
msgstr ""
#: changedetectionio/blueprint/ui/templates/browsers-overview.html
msgid "No interactive browser is available."
msgstr ""
@@ -3656,7 +3646,7 @@ msgid "Invalid template syntax in \"%(header)s\" header: %(error)s"
msgstr "Ungültige Vorlagensyntax im Header „%(header)s“: %(error)s"
#: changedetectionio/blueprint/tags/form.py changedetectionio/blueprint/ui/form_browseroptions.py
#: changedetectionio/blueprint/ui/templates/browsers-overview.html changedetectionio/forms.py
#: changedetectionio/forms.py
msgid "Name"
msgstr "Name"
@@ -1875,50 +1875,27 @@ msgstr ""
#: changedetectionio/blueprint/ui/templates/browsers-overview.html
msgid ""
"Save a browser once (its screen size, language, timezone…) and reuse it on any watch or group. Add a variation from "
"one of the available browsers below."
"These are the available browsers. Save a variation of one (its screen size, language, timezone…) with <strong>+ Add "
"variation</strong> and reuse it on any watch or group — your variations appear nested (↳) under the browser they "
"extend."
msgstr ""
#: changedetectionio/blueprint/ui/templates/browsers-overview.html
#, python-format
msgid ""
"The <strong>Default browser</strong> (chosen with the radio button below) is used by every watch unless the watch — "
"or its group — picks another one. This is the same value shown on the <a href=\"%(url)s#fetching\">Settings → "
"Fetching</a> page."
msgstr ""
#: changedetectionio/blueprint/ui/templates/browsers-overview.html
msgid "Your browsers"
msgstr ""
#: changedetectionio/blueprint/ui/templates/browsers-overview.html
msgid "Setup"
msgstr ""
#: changedetectionio/blueprint/ui/templates/browsers-overview.html
msgid "Set as the default browser"
msgstr ""
#: changedetectionio/blueprint/ui/templates/browsers-overview.html
msgid "no"
msgstr ""
#: changedetectionio/blueprint/ui/templates/browsers-overview.html
msgid "Remove this browser?"
msgstr ""
#: changedetectionio/blueprint/ui/templates/browsers-overview.html
msgid "You haven't added any browser variations yet — add one from an available browser below."
msgstr ""
#: changedetectionio/blueprint/ui/templates/browsers-overview.html
msgid "Available browsers"
"The <strong>Default browser</strong> (chosen with the radio button) is used by every watch unless the watch — or its "
"group — picks another one. This is the same value shown on the <a href=\"%(url)s#fetching\">Settings → Fetching</a> "
"page."
msgstr ""
#: changedetectionio/blueprint/ui/templates/browsers-overview.html
msgid "Capabilities"
msgstr ""
#: changedetectionio/blueprint/ui/templates/browsers-overview.html
msgid "Set as the default browser"
msgstr ""
#: changedetectionio/blueprint/ui/templates/browsers-overview.html
msgid "needs setup"
msgstr ""
@@ -1931,6 +1908,19 @@ msgstr ""
msgid "Add variation"
msgstr ""
#: changedetectionio/blueprint/ui/templates/browsers-overview.html
#, python-format
msgid "Variation of %(base)s"
msgstr ""
#: changedetectionio/blueprint/ui/templates/browsers-overview.html
msgid "no"
msgstr ""
#: changedetectionio/blueprint/ui/templates/browsers-overview.html
msgid "Remove this browser?"
msgstr ""
#: changedetectionio/blueprint/ui/templates/browsers-overview.html
msgid "No interactive browser is available."
msgstr ""
@@ -3598,7 +3588,7 @@ msgid "Invalid template syntax in \"%(header)s\" header: %(error)s"
msgstr ""
#: changedetectionio/blueprint/tags/form.py changedetectionio/blueprint/ui/form_browseroptions.py
#: changedetectionio/blueprint/ui/templates/browsers-overview.html changedetectionio/forms.py
#: changedetectionio/forms.py
msgid "Name"
msgstr ""
@@ -1875,50 +1875,27 @@ msgstr ""
#: changedetectionio/blueprint/ui/templates/browsers-overview.html
msgid ""
"Save a browser once (its screen size, language, timezone…) and reuse it on any watch or group. Add a variation from "
"one of the available browsers below."
"These are the available browsers. Save a variation of one (its screen size, language, timezone…) with <strong>+ Add "
"variation</strong> and reuse it on any watch or group — your variations appear nested (↳) under the browser they "
"extend."
msgstr ""
#: changedetectionio/blueprint/ui/templates/browsers-overview.html
#, python-format
msgid ""
"The <strong>Default browser</strong> (chosen with the radio button below) is used by every watch unless the watch — "
"or its group — picks another one. This is the same value shown on the <a href=\"%(url)s#fetching\">Settings → "
"Fetching</a> page."
msgstr ""
#: changedetectionio/blueprint/ui/templates/browsers-overview.html
msgid "Your browsers"
msgstr ""
#: changedetectionio/blueprint/ui/templates/browsers-overview.html
msgid "Setup"
msgstr ""
#: changedetectionio/blueprint/ui/templates/browsers-overview.html
msgid "Set as the default browser"
msgstr ""
#: changedetectionio/blueprint/ui/templates/browsers-overview.html
msgid "no"
msgstr ""
#: changedetectionio/blueprint/ui/templates/browsers-overview.html
msgid "Remove this browser?"
msgstr ""
#: changedetectionio/blueprint/ui/templates/browsers-overview.html
msgid "You haven't added any browser variations yet — add one from an available browser below."
msgstr ""
#: changedetectionio/blueprint/ui/templates/browsers-overview.html
msgid "Available browsers"
"The <strong>Default browser</strong> (chosen with the radio button) is used by every watch unless the watch — or its "
"group — picks another one. This is the same value shown on the <a href=\"%(url)s#fetching\">Settings → Fetching</a> "
"page."
msgstr ""
#: changedetectionio/blueprint/ui/templates/browsers-overview.html
msgid "Capabilities"
msgstr ""
#: changedetectionio/blueprint/ui/templates/browsers-overview.html
msgid "Set as the default browser"
msgstr ""
#: changedetectionio/blueprint/ui/templates/browsers-overview.html
msgid "needs setup"
msgstr ""
@@ -1931,6 +1908,19 @@ msgstr ""
msgid "Add variation"
msgstr ""
#: changedetectionio/blueprint/ui/templates/browsers-overview.html
#, python-format
msgid "Variation of %(base)s"
msgstr ""
#: changedetectionio/blueprint/ui/templates/browsers-overview.html
msgid "no"
msgstr ""
#: changedetectionio/blueprint/ui/templates/browsers-overview.html
msgid "Remove this browser?"
msgstr ""
#: changedetectionio/blueprint/ui/templates/browsers-overview.html
msgid "No interactive browser is available."
msgstr ""
@@ -3598,7 +3588,7 @@ msgid "Invalid template syntax in \"%(header)s\" header: %(error)s"
msgstr ""
#: changedetectionio/blueprint/tags/form.py changedetectionio/blueprint/ui/form_browseroptions.py
#: changedetectionio/blueprint/ui/templates/browsers-overview.html changedetectionio/forms.py
#: changedetectionio/forms.py
msgid "Name"
msgstr ""
@@ -1920,50 +1920,27 @@ msgstr ""
#: changedetectionio/blueprint/ui/templates/browsers-overview.html
msgid ""
"Save a browser once (its screen size, language, timezone…) and reuse it on any watch or group. Add a variation from "
"one of the available browsers below."
"These are the available browsers. Save a variation of one (its screen size, language, timezone…) with <strong>+ Add "
"variation</strong> and reuse it on any watch or group — your variations appear nested (↳) under the browser they "
"extend."
msgstr ""
#: changedetectionio/blueprint/ui/templates/browsers-overview.html
#, python-format
msgid ""
"The <strong>Default browser</strong> (chosen with the radio button below) is used by every watch unless the watch — "
"or its group — picks another one. This is the same value shown on the <a href=\"%(url)s#fetching\">Settings → "
"Fetching</a> page."
msgstr ""
#: changedetectionio/blueprint/ui/templates/browsers-overview.html
msgid "Your browsers"
msgstr ""
#: changedetectionio/blueprint/ui/templates/browsers-overview.html
msgid "Setup"
msgstr ""
#: changedetectionio/blueprint/ui/templates/browsers-overview.html
msgid "Set as the default browser"
msgstr ""
#: changedetectionio/blueprint/ui/templates/browsers-overview.html
msgid "no"
msgstr ""
#: changedetectionio/blueprint/ui/templates/browsers-overview.html
msgid "Remove this browser?"
msgstr ""
#: changedetectionio/blueprint/ui/templates/browsers-overview.html
msgid "You haven't added any browser variations yet — add one from an available browser below."
msgstr ""
#: changedetectionio/blueprint/ui/templates/browsers-overview.html
msgid "Available browsers"
"The <strong>Default browser</strong> (chosen with the radio button) is used by every watch unless the watch — or its "
"group — picks another one. This is the same value shown on the <a href=\"%(url)s#fetching\">Settings → Fetching</a> "
"page."
msgstr ""
#: changedetectionio/blueprint/ui/templates/browsers-overview.html
msgid "Capabilities"
msgstr ""
#: changedetectionio/blueprint/ui/templates/browsers-overview.html
msgid "Set as the default browser"
msgstr ""
#: changedetectionio/blueprint/ui/templates/browsers-overview.html
msgid "needs setup"
msgstr ""
@@ -1976,6 +1953,19 @@ msgstr ""
msgid "Add variation"
msgstr ""
#: changedetectionio/blueprint/ui/templates/browsers-overview.html
#, python-format
msgid "Variation of %(base)s"
msgstr ""
#: changedetectionio/blueprint/ui/templates/browsers-overview.html
msgid "no"
msgstr ""
#: changedetectionio/blueprint/ui/templates/browsers-overview.html
msgid "Remove this browser?"
msgstr ""
#: changedetectionio/blueprint/ui/templates/browsers-overview.html
msgid "No interactive browser is available."
msgstr ""
@@ -3671,7 +3661,7 @@ msgid "Invalid template syntax in \"%(header)s\" header: %(error)s"
msgstr "Sintaxis de plantilla no válida en \"%(header)s\"encabezado:%(error)s"
#: changedetectionio/blueprint/tags/form.py changedetectionio/blueprint/ui/form_browseroptions.py
#: changedetectionio/blueprint/ui/templates/browsers-overview.html changedetectionio/forms.py
#: changedetectionio/forms.py
msgid "Name"
msgstr "Nombre"
@@ -1884,50 +1884,27 @@ msgstr ""
#: changedetectionio/blueprint/ui/templates/browsers-overview.html
msgid ""
"Save a browser once (its screen size, language, timezone…) and reuse it on any watch or group. Add a variation from "
"one of the available browsers below."
"These are the available browsers. Save a variation of one (its screen size, language, timezone…) with <strong>+ Add "
"variation</strong> and reuse it on any watch or group — your variations appear nested (↳) under the browser they "
"extend."
msgstr ""
#: changedetectionio/blueprint/ui/templates/browsers-overview.html
#, python-format
msgid ""
"The <strong>Default browser</strong> (chosen with the radio button below) is used by every watch unless the watch — "
"or its group — picks another one. This is the same value shown on the <a href=\"%(url)s#fetching\">Settings → "
"Fetching</a> page."
msgstr ""
#: changedetectionio/blueprint/ui/templates/browsers-overview.html
msgid "Your browsers"
msgstr ""
#: changedetectionio/blueprint/ui/templates/browsers-overview.html
msgid "Setup"
msgstr ""
#: changedetectionio/blueprint/ui/templates/browsers-overview.html
msgid "Set as the default browser"
msgstr ""
#: changedetectionio/blueprint/ui/templates/browsers-overview.html
msgid "no"
msgstr ""
#: changedetectionio/blueprint/ui/templates/browsers-overview.html
msgid "Remove this browser?"
msgstr ""
#: changedetectionio/blueprint/ui/templates/browsers-overview.html
msgid "You haven't added any browser variations yet — add one from an available browser below."
msgstr ""
#: changedetectionio/blueprint/ui/templates/browsers-overview.html
msgid "Available browsers"
"The <strong>Default browser</strong> (chosen with the radio button) is used by every watch unless the watch — or its "
"group — picks another one. This is the same value shown on the <a href=\"%(url)s#fetching\">Settings → Fetching</a> "
"page."
msgstr ""
#: changedetectionio/blueprint/ui/templates/browsers-overview.html
msgid "Capabilities"
msgstr ""
#: changedetectionio/blueprint/ui/templates/browsers-overview.html
msgid "Set as the default browser"
msgstr ""
#: changedetectionio/blueprint/ui/templates/browsers-overview.html
msgid "needs setup"
msgstr ""
@@ -1940,6 +1917,19 @@ msgstr ""
msgid "Add variation"
msgstr ""
#: changedetectionio/blueprint/ui/templates/browsers-overview.html
#, python-format
msgid "Variation of %(base)s"
msgstr ""
#: changedetectionio/blueprint/ui/templates/browsers-overview.html
msgid "no"
msgstr ""
#: changedetectionio/blueprint/ui/templates/browsers-overview.html
msgid "Remove this browser?"
msgstr ""
#: changedetectionio/blueprint/ui/templates/browsers-overview.html
msgid "No interactive browser is available."
msgstr ""
@@ -3611,7 +3601,7 @@ msgid "Invalid template syntax in \"%(header)s\" header: %(error)s"
msgstr ""
#: changedetectionio/blueprint/tags/form.py changedetectionio/blueprint/ui/form_browseroptions.py
#: changedetectionio/blueprint/ui/templates/browsers-overview.html changedetectionio/forms.py
#: changedetectionio/forms.py
msgid "Name"
msgstr "Nom"
@@ -1877,50 +1877,27 @@ msgstr ""
#: changedetectionio/blueprint/ui/templates/browsers-overview.html
msgid ""
"Save a browser once (its screen size, language, timezone…) and reuse it on any watch or group. Add a variation from "
"one of the available browsers below."
"These are the available browsers. Save a variation of one (its screen size, language, timezone…) with <strong>+ Add "
"variation</strong> and reuse it on any watch or group — your variations appear nested (↳) under the browser they "
"extend."
msgstr ""
#: changedetectionio/blueprint/ui/templates/browsers-overview.html
#, python-format
msgid ""
"The <strong>Default browser</strong> (chosen with the radio button below) is used by every watch unless the watch — "
"or its group — picks another one. This is the same value shown on the <a href=\"%(url)s#fetching\">Settings → "
"Fetching</a> page."
msgstr ""
#: changedetectionio/blueprint/ui/templates/browsers-overview.html
msgid "Your browsers"
msgstr ""
#: changedetectionio/blueprint/ui/templates/browsers-overview.html
msgid "Setup"
msgstr ""
#: changedetectionio/blueprint/ui/templates/browsers-overview.html
msgid "Set as the default browser"
msgstr ""
#: changedetectionio/blueprint/ui/templates/browsers-overview.html
msgid "no"
msgstr ""
#: changedetectionio/blueprint/ui/templates/browsers-overview.html
msgid "Remove this browser?"
msgstr ""
#: changedetectionio/blueprint/ui/templates/browsers-overview.html
msgid "You haven't added any browser variations yet — add one from an available browser below."
msgstr ""
#: changedetectionio/blueprint/ui/templates/browsers-overview.html
msgid "Available browsers"
"The <strong>Default browser</strong> (chosen with the radio button) is used by every watch unless the watch — or its "
"group — picks another one. This is the same value shown on the <a href=\"%(url)s#fetching\">Settings → Fetching</a> "
"page."
msgstr ""
#: changedetectionio/blueprint/ui/templates/browsers-overview.html
msgid "Capabilities"
msgstr ""
#: changedetectionio/blueprint/ui/templates/browsers-overview.html
msgid "Set as the default browser"
msgstr ""
#: changedetectionio/blueprint/ui/templates/browsers-overview.html
msgid "needs setup"
msgstr ""
@@ -1933,6 +1910,19 @@ msgstr ""
msgid "Add variation"
msgstr ""
#: changedetectionio/blueprint/ui/templates/browsers-overview.html
#, python-format
msgid "Variation of %(base)s"
msgstr ""
#: changedetectionio/blueprint/ui/templates/browsers-overview.html
msgid "no"
msgstr ""
#: changedetectionio/blueprint/ui/templates/browsers-overview.html
msgid "Remove this browser?"
msgstr ""
#: changedetectionio/blueprint/ui/templates/browsers-overview.html
msgid "No interactive browser is available."
msgstr ""
@@ -3600,7 +3590,7 @@ msgid "Invalid template syntax in \"%(header)s\" header: %(error)s"
msgstr ""
#: changedetectionio/blueprint/tags/form.py changedetectionio/blueprint/ui/form_browseroptions.py
#: changedetectionio/blueprint/ui/templates/browsers-overview.html changedetectionio/forms.py
#: changedetectionio/forms.py
msgid "Name"
msgstr "Nome"
@@ -1883,50 +1883,27 @@ msgstr ""
#: changedetectionio/blueprint/ui/templates/browsers-overview.html
msgid ""
"Save a browser once (its screen size, language, timezone…) and reuse it on any watch or group. Add a variation from "
"one of the available browsers below."
"These are the available browsers. Save a variation of one (its screen size, language, timezone…) with <strong>+ Add "
"variation</strong> and reuse it on any watch or group — your variations appear nested (↳) under the browser they "
"extend."
msgstr ""
#: changedetectionio/blueprint/ui/templates/browsers-overview.html
#, python-format
msgid ""
"The <strong>Default browser</strong> (chosen with the radio button below) is used by every watch unless the watch — "
"or its group — picks another one. This is the same value shown on the <a href=\"%(url)s#fetching\">Settings → "
"Fetching</a> page."
msgstr ""
#: changedetectionio/blueprint/ui/templates/browsers-overview.html
msgid "Your browsers"
msgstr ""
#: changedetectionio/blueprint/ui/templates/browsers-overview.html
msgid "Setup"
msgstr ""
#: changedetectionio/blueprint/ui/templates/browsers-overview.html
msgid "Set as the default browser"
msgstr ""
#: changedetectionio/blueprint/ui/templates/browsers-overview.html
msgid "no"
msgstr ""
#: changedetectionio/blueprint/ui/templates/browsers-overview.html
msgid "Remove this browser?"
msgstr ""
#: changedetectionio/blueprint/ui/templates/browsers-overview.html
msgid "You haven't added any browser variations yet — add one from an available browser below."
msgstr ""
#: changedetectionio/blueprint/ui/templates/browsers-overview.html
msgid "Available browsers"
"The <strong>Default browser</strong> (chosen with the radio button) is used by every watch unless the watch — or its "
"group — picks another one. This is the same value shown on the <a href=\"%(url)s#fetching\">Settings → Fetching</a> "
"page."
msgstr ""
#: changedetectionio/blueprint/ui/templates/browsers-overview.html
msgid "Capabilities"
msgstr ""
#: changedetectionio/blueprint/ui/templates/browsers-overview.html
msgid "Set as the default browser"
msgstr ""
#: changedetectionio/blueprint/ui/templates/browsers-overview.html
msgid "needs setup"
msgstr ""
@@ -1939,6 +1916,19 @@ msgstr ""
msgid "Add variation"
msgstr ""
#: changedetectionio/blueprint/ui/templates/browsers-overview.html
#, python-format
msgid "Variation of %(base)s"
msgstr ""
#: changedetectionio/blueprint/ui/templates/browsers-overview.html
msgid "no"
msgstr ""
#: changedetectionio/blueprint/ui/templates/browsers-overview.html
msgid "Remove this browser?"
msgstr ""
#: changedetectionio/blueprint/ui/templates/browsers-overview.html
msgid "No interactive browser is available."
msgstr ""
@@ -3617,7 +3607,7 @@ msgid "Invalid template syntax in \"%(header)s\" header: %(error)s"
msgstr "\"%(header)s\" ヘッダーのテンプレート構文が無効です: %(error)s"
#: changedetectionio/blueprint/tags/form.py changedetectionio/blueprint/ui/form_browseroptions.py
#: changedetectionio/blueprint/ui/templates/browsers-overview.html changedetectionio/forms.py
#: changedetectionio/forms.py
msgid "Name"
msgstr "名前"
@@ -1885,50 +1885,27 @@ msgstr ""
#: changedetectionio/blueprint/ui/templates/browsers-overview.html
msgid ""
"Save a browser once (its screen size, language, timezone…) and reuse it on any watch or group. Add a variation from "
"one of the available browsers below."
"These are the available browsers. Save a variation of one (its screen size, language, timezone…) with <strong>+ Add "
"variation</strong> and reuse it on any watch or group — your variations appear nested (↳) under the browser they "
"extend."
msgstr ""
#: changedetectionio/blueprint/ui/templates/browsers-overview.html
#, python-format
msgid ""
"The <strong>Default browser</strong> (chosen with the radio button below) is used by every watch unless the watch — "
"or its group — picks another one. This is the same value shown on the <a href=\"%(url)s#fetching\">Settings → "
"Fetching</a> page."
msgstr ""
#: changedetectionio/blueprint/ui/templates/browsers-overview.html
msgid "Your browsers"
msgstr ""
#: changedetectionio/blueprint/ui/templates/browsers-overview.html
msgid "Setup"
msgstr ""
#: changedetectionio/blueprint/ui/templates/browsers-overview.html
msgid "Set as the default browser"
msgstr ""
#: changedetectionio/blueprint/ui/templates/browsers-overview.html
msgid "no"
msgstr ""
#: changedetectionio/blueprint/ui/templates/browsers-overview.html
msgid "Remove this browser?"
msgstr ""
#: changedetectionio/blueprint/ui/templates/browsers-overview.html
msgid "You haven't added any browser variations yet — add one from an available browser below."
msgstr ""
#: changedetectionio/blueprint/ui/templates/browsers-overview.html
msgid "Available browsers"
"The <strong>Default browser</strong> (chosen with the radio button) is used by every watch unless the watch — or its "
"group — picks another one. This is the same value shown on the <a href=\"%(url)s#fetching\">Settings → Fetching</a> "
"page."
msgstr ""
#: changedetectionio/blueprint/ui/templates/browsers-overview.html
msgid "Capabilities"
msgstr ""
#: changedetectionio/blueprint/ui/templates/browsers-overview.html
msgid "Set as the default browser"
msgstr ""
#: changedetectionio/blueprint/ui/templates/browsers-overview.html
msgid "needs setup"
msgstr ""
@@ -1941,6 +1918,19 @@ msgstr ""
msgid "Add variation"
msgstr ""
#: changedetectionio/blueprint/ui/templates/browsers-overview.html
#, python-format
msgid "Variation of %(base)s"
msgstr ""
#: changedetectionio/blueprint/ui/templates/browsers-overview.html
msgid "no"
msgstr ""
#: changedetectionio/blueprint/ui/templates/browsers-overview.html
msgid "Remove this browser?"
msgstr ""
#: changedetectionio/blueprint/ui/templates/browsers-overview.html
msgid "No interactive browser is available."
msgstr ""
@@ -3608,7 +3598,7 @@ msgid "Invalid template syntax in \"%(header)s\" header: %(error)s"
msgstr "\"%(header)s\" 헤더의 템플릿 구문이 올바르지 않습니다: %(error)s"
#: changedetectionio/blueprint/tags/form.py changedetectionio/blueprint/ui/form_browseroptions.py
#: changedetectionio/blueprint/ui/templates/browsers-overview.html changedetectionio/forms.py
#: changedetectionio/forms.py
msgid "Name"
msgstr "이름"
+25 -35
View File
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: changedetection.io 0.55.8\n"
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
"POT-Creation-Date: 2026-07-17 16:45+0200\n"
"POT-Creation-Date: 2026-07-21 17:23+0200\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
@@ -1874,50 +1874,27 @@ msgstr ""
#: changedetectionio/blueprint/ui/templates/browsers-overview.html
msgid ""
"Save a browser once (its screen size, language, timezone…) and reuse it on any watch or group. Add a variation from "
"one of the available browsers below."
"These are the available browsers. Save a variation of one (its screen size, language, timezone…) with <strong>+ Add "
"variation</strong> and reuse it on any watch or group — your variations appear nested (↳) under the browser they "
"extend."
msgstr ""
#: changedetectionio/blueprint/ui/templates/browsers-overview.html
#, python-format
msgid ""
"The <strong>Default browser</strong> (chosen with the radio button below) is used by every watch unless the watch — "
"or its group — picks another one. This is the same value shown on the <a href=\"%(url)s#fetching\">Settings → "
"Fetching</a> page."
msgstr ""
#: changedetectionio/blueprint/ui/templates/browsers-overview.html
msgid "Your browsers"
msgstr ""
#: changedetectionio/blueprint/ui/templates/browsers-overview.html
msgid "Setup"
msgstr ""
#: changedetectionio/blueprint/ui/templates/browsers-overview.html
msgid "Set as the default browser"
msgstr ""
#: changedetectionio/blueprint/ui/templates/browsers-overview.html
msgid "no"
msgstr ""
#: changedetectionio/blueprint/ui/templates/browsers-overview.html
msgid "Remove this browser?"
msgstr ""
#: changedetectionio/blueprint/ui/templates/browsers-overview.html
msgid "You haven't added any browser variations yet — add one from an available browser below."
msgstr ""
#: changedetectionio/blueprint/ui/templates/browsers-overview.html
msgid "Available browsers"
"The <strong>Default browser</strong> (chosen with the radio button) is used by every watch unless the watch — or its "
"group — picks another one. This is the same value shown on the <a href=\"%(url)s#fetching\">Settings → Fetching</a> "
"page."
msgstr ""
#: changedetectionio/blueprint/ui/templates/browsers-overview.html
msgid "Capabilities"
msgstr ""
#: changedetectionio/blueprint/ui/templates/browsers-overview.html
msgid "Set as the default browser"
msgstr ""
#: changedetectionio/blueprint/ui/templates/browsers-overview.html
msgid "needs setup"
msgstr ""
@@ -1930,6 +1907,19 @@ msgstr ""
msgid "Add variation"
msgstr ""
#: changedetectionio/blueprint/ui/templates/browsers-overview.html
#, python-format
msgid "Variation of %(base)s"
msgstr ""
#: changedetectionio/blueprint/ui/templates/browsers-overview.html
msgid "no"
msgstr ""
#: changedetectionio/blueprint/ui/templates/browsers-overview.html
msgid "Remove this browser?"
msgstr ""
#: changedetectionio/blueprint/ui/templates/browsers-overview.html
msgid "No interactive browser is available."
msgstr ""
@@ -3597,7 +3587,7 @@ msgid "Invalid template syntax in \"%(header)s\" header: %(error)s"
msgstr ""
#: changedetectionio/blueprint/tags/form.py changedetectionio/blueprint/ui/form_browseroptions.py
#: changedetectionio/blueprint/ui/templates/browsers-overview.html changedetectionio/forms.py
#: changedetectionio/forms.py
msgid "Name"
msgstr ""
@@ -1905,50 +1905,27 @@ msgstr ""
#: changedetectionio/blueprint/ui/templates/browsers-overview.html
msgid ""
"Save a browser once (its screen size, language, timezone…) and reuse it on any watch or group. Add a variation from "
"one of the available browsers below."
"These are the available browsers. Save a variation of one (its screen size, language, timezone…) with <strong>+ Add "
"variation</strong> and reuse it on any watch or group — your variations appear nested (↳) under the browser they "
"extend."
msgstr ""
#: changedetectionio/blueprint/ui/templates/browsers-overview.html
#, python-format
msgid ""
"The <strong>Default browser</strong> (chosen with the radio button below) is used by every watch unless the watch — "
"or its group — picks another one. This is the same value shown on the <a href=\"%(url)s#fetching\">Settings → "
"Fetching</a> page."
msgstr ""
#: changedetectionio/blueprint/ui/templates/browsers-overview.html
msgid "Your browsers"
msgstr ""
#: changedetectionio/blueprint/ui/templates/browsers-overview.html
msgid "Setup"
msgstr ""
#: changedetectionio/blueprint/ui/templates/browsers-overview.html
msgid "Set as the default browser"
msgstr ""
#: changedetectionio/blueprint/ui/templates/browsers-overview.html
msgid "no"
msgstr ""
#: changedetectionio/blueprint/ui/templates/browsers-overview.html
msgid "Remove this browser?"
msgstr ""
#: changedetectionio/blueprint/ui/templates/browsers-overview.html
msgid "You haven't added any browser variations yet — add one from an available browser below."
msgstr ""
#: changedetectionio/blueprint/ui/templates/browsers-overview.html
msgid "Available browsers"
"The <strong>Default browser</strong> (chosen with the radio button) is used by every watch unless the watch — or its "
"group — picks another one. This is the same value shown on the <a href=\"%(url)s#fetching\">Settings → Fetching</a> "
"page."
msgstr ""
#: changedetectionio/blueprint/ui/templates/browsers-overview.html
msgid "Capabilities"
msgstr ""
#: changedetectionio/blueprint/ui/templates/browsers-overview.html
msgid "Set as the default browser"
msgstr ""
#: changedetectionio/blueprint/ui/templates/browsers-overview.html
msgid "needs setup"
msgstr ""
@@ -1961,6 +1938,19 @@ msgstr ""
msgid "Add variation"
msgstr ""
#: changedetectionio/blueprint/ui/templates/browsers-overview.html
#, python-format
msgid "Variation of %(base)s"
msgstr ""
#: changedetectionio/blueprint/ui/templates/browsers-overview.html
msgid "no"
msgstr ""
#: changedetectionio/blueprint/ui/templates/browsers-overview.html
msgid "Remove this browser?"
msgstr ""
#: changedetectionio/blueprint/ui/templates/browsers-overview.html
msgid "No interactive browser is available."
msgstr ""
@@ -3648,7 +3638,7 @@ msgid "Invalid template syntax in \"%(header)s\" header: %(error)s"
msgstr "Sintaxe de modelo inválida no cabeçalho \"%(header)s\": %(error)s"
#: changedetectionio/blueprint/tags/form.py changedetectionio/blueprint/ui/form_browseroptions.py
#: changedetectionio/blueprint/ui/templates/browsers-overview.html changedetectionio/forms.py
#: changedetectionio/forms.py
msgid "Name"
msgstr "Nome"
@@ -1967,50 +1967,27 @@ msgstr ""
#: changedetectionio/blueprint/ui/templates/browsers-overview.html
msgid ""
"Save a browser once (its screen size, language, timezone…) and reuse it on any watch or group. Add a variation from "
"one of the available browsers below."
"These are the available browsers. Save a variation of one (its screen size, language, timezone…) with <strong>+ Add "
"variation</strong> and reuse it on any watch or group — your variations appear nested (↳) under the browser they "
"extend."
msgstr ""
#: changedetectionio/blueprint/ui/templates/browsers-overview.html
#, python-format
msgid ""
"The <strong>Default browser</strong> (chosen with the radio button below) is used by every watch unless the watch — "
"or its group — picks another one. This is the same value shown on the <a href=\"%(url)s#fetching\">Settings → "
"Fetching</a> page."
msgstr ""
#: changedetectionio/blueprint/ui/templates/browsers-overview.html
msgid "Your browsers"
msgstr ""
#: changedetectionio/blueprint/ui/templates/browsers-overview.html
msgid "Setup"
msgstr ""
#: changedetectionio/blueprint/ui/templates/browsers-overview.html
msgid "Set as the default browser"
msgstr ""
#: changedetectionio/blueprint/ui/templates/browsers-overview.html
msgid "no"
msgstr ""
#: changedetectionio/blueprint/ui/templates/browsers-overview.html
msgid "Remove this browser?"
msgstr ""
#: changedetectionio/blueprint/ui/templates/browsers-overview.html
msgid "You haven't added any browser variations yet — add one from an available browser below."
msgstr ""
#: changedetectionio/blueprint/ui/templates/browsers-overview.html
msgid "Available browsers"
"The <strong>Default browser</strong> (chosen with the radio button) is used by every watch unless the watch — or its "
"group — picks another one. This is the same value shown on the <a href=\"%(url)s#fetching\">Settings → Fetching</a> "
"page."
msgstr ""
#: changedetectionio/blueprint/ui/templates/browsers-overview.html
msgid "Capabilities"
msgstr ""
#: changedetectionio/blueprint/ui/templates/browsers-overview.html
msgid "Set as the default browser"
msgstr ""
#: changedetectionio/blueprint/ui/templates/browsers-overview.html
msgid "needs setup"
msgstr ""
@@ -2023,6 +2000,19 @@ msgstr ""
msgid "Add variation"
msgstr ""
#: changedetectionio/blueprint/ui/templates/browsers-overview.html
#, python-format
msgid "Variation of %(base)s"
msgstr ""
#: changedetectionio/blueprint/ui/templates/browsers-overview.html
msgid "no"
msgstr ""
#: changedetectionio/blueprint/ui/templates/browsers-overview.html
msgid "Remove this browser?"
msgstr ""
#: changedetectionio/blueprint/ui/templates/browsers-overview.html
msgid "No interactive browser is available."
msgstr ""
@@ -3714,7 +3704,7 @@ msgid "Invalid template syntax in \"%(header)s\" header: %(error)s"
msgstr "Неверный синтаксис шаблона в заголовке «%(header)s»: %(error)s."
#: changedetectionio/blueprint/tags/form.py changedetectionio/blueprint/ui/form_browseroptions.py
#: changedetectionio/blueprint/ui/templates/browsers-overview.html changedetectionio/forms.py
#: changedetectionio/forms.py
msgid "Name"
msgstr "Имя"
@@ -1910,50 +1910,27 @@ msgstr ""
#: changedetectionio/blueprint/ui/templates/browsers-overview.html
msgid ""
"Save a browser once (its screen size, language, timezone…) and reuse it on any watch or group. Add a variation from "
"one of the available browsers below."
"These are the available browsers. Save a variation of one (its screen size, language, timezone…) with <strong>+ Add "
"variation</strong> and reuse it on any watch or group — your variations appear nested (↳) under the browser they "
"extend."
msgstr ""
#: changedetectionio/blueprint/ui/templates/browsers-overview.html
#, python-format
msgid ""
"The <strong>Default browser</strong> (chosen with the radio button below) is used by every watch unless the watch — "
"or its group — picks another one. This is the same value shown on the <a href=\"%(url)s#fetching\">Settings → "
"Fetching</a> page."
msgstr ""
#: changedetectionio/blueprint/ui/templates/browsers-overview.html
msgid "Your browsers"
msgstr ""
#: changedetectionio/blueprint/ui/templates/browsers-overview.html
msgid "Setup"
msgstr ""
#: changedetectionio/blueprint/ui/templates/browsers-overview.html
msgid "Set as the default browser"
msgstr ""
#: changedetectionio/blueprint/ui/templates/browsers-overview.html
msgid "no"
msgstr ""
#: changedetectionio/blueprint/ui/templates/browsers-overview.html
msgid "Remove this browser?"
msgstr ""
#: changedetectionio/blueprint/ui/templates/browsers-overview.html
msgid "You haven't added any browser variations yet — add one from an available browser below."
msgstr ""
#: changedetectionio/blueprint/ui/templates/browsers-overview.html
msgid "Available browsers"
"The <strong>Default browser</strong> (chosen with the radio button) is used by every watch unless the watch — or its "
"group — picks another one. This is the same value shown on the <a href=\"%(url)s#fetching\">Settings → Fetching</a> "
"page."
msgstr ""
#: changedetectionio/blueprint/ui/templates/browsers-overview.html
msgid "Capabilities"
msgstr ""
#: changedetectionio/blueprint/ui/templates/browsers-overview.html
msgid "Set as the default browser"
msgstr ""
#: changedetectionio/blueprint/ui/templates/browsers-overview.html
msgid "needs setup"
msgstr ""
@@ -1966,6 +1943,19 @@ msgstr ""
msgid "Add variation"
msgstr ""
#: changedetectionio/blueprint/ui/templates/browsers-overview.html
#, python-format
msgid "Variation of %(base)s"
msgstr ""
#: changedetectionio/blueprint/ui/templates/browsers-overview.html
msgid "no"
msgstr ""
#: changedetectionio/blueprint/ui/templates/browsers-overview.html
msgid "Remove this browser?"
msgstr ""
#: changedetectionio/blueprint/ui/templates/browsers-overview.html
msgid "No interactive browser is available."
msgstr ""
@@ -3651,7 +3641,7 @@ msgid "Invalid template syntax in \"%(header)s\" header: %(error)s"
msgstr "\"%(header)s\" başlığında geçersiz şablon sözdizimi: %(error)s"
#: changedetectionio/blueprint/tags/form.py changedetectionio/blueprint/ui/form_browseroptions.py
#: changedetectionio/blueprint/ui/templates/browsers-overview.html changedetectionio/forms.py
#: changedetectionio/forms.py
msgid "Name"
msgstr "İsim"
@@ -1891,50 +1891,27 @@ msgstr ""
#: changedetectionio/blueprint/ui/templates/browsers-overview.html
msgid ""
"Save a browser once (its screen size, language, timezone…) and reuse it on any watch or group. Add a variation from "
"one of the available browsers below."
"These are the available browsers. Save a variation of one (its screen size, language, timezone…) with <strong>+ Add "
"variation</strong> and reuse it on any watch or group — your variations appear nested (↳) under the browser they "
"extend."
msgstr ""
#: changedetectionio/blueprint/ui/templates/browsers-overview.html
#, python-format
msgid ""
"The <strong>Default browser</strong> (chosen with the radio button below) is used by every watch unless the watch — "
"or its group — picks another one. This is the same value shown on the <a href=\"%(url)s#fetching\">Settings → "
"Fetching</a> page."
msgstr ""
#: changedetectionio/blueprint/ui/templates/browsers-overview.html
msgid "Your browsers"
msgstr ""
#: changedetectionio/blueprint/ui/templates/browsers-overview.html
msgid "Setup"
msgstr ""
#: changedetectionio/blueprint/ui/templates/browsers-overview.html
msgid "Set as the default browser"
msgstr ""
#: changedetectionio/blueprint/ui/templates/browsers-overview.html
msgid "no"
msgstr ""
#: changedetectionio/blueprint/ui/templates/browsers-overview.html
msgid "Remove this browser?"
msgstr ""
#: changedetectionio/blueprint/ui/templates/browsers-overview.html
msgid "You haven't added any browser variations yet — add one from an available browser below."
msgstr ""
#: changedetectionio/blueprint/ui/templates/browsers-overview.html
msgid "Available browsers"
"The <strong>Default browser</strong> (chosen with the radio button) is used by every watch unless the watch — or its "
"group — picks another one. This is the same value shown on the <a href=\"%(url)s#fetching\">Settings → Fetching</a> "
"page."
msgstr ""
#: changedetectionio/blueprint/ui/templates/browsers-overview.html
msgid "Capabilities"
msgstr ""
#: changedetectionio/blueprint/ui/templates/browsers-overview.html
msgid "Set as the default browser"
msgstr ""
#: changedetectionio/blueprint/ui/templates/browsers-overview.html
msgid "needs setup"
msgstr ""
@@ -1947,6 +1924,19 @@ msgstr ""
msgid "Add variation"
msgstr ""
#: changedetectionio/blueprint/ui/templates/browsers-overview.html
#, python-format
msgid "Variation of %(base)s"
msgstr ""
#: changedetectionio/blueprint/ui/templates/browsers-overview.html
msgid "no"
msgstr ""
#: changedetectionio/blueprint/ui/templates/browsers-overview.html
msgid "Remove this browser?"
msgstr ""
#: changedetectionio/blueprint/ui/templates/browsers-overview.html
msgid "No interactive browser is available."
msgstr ""
@@ -3630,7 +3620,7 @@ msgid "Invalid template syntax in \"%(header)s\" header: %(error)s"
msgstr "Невірний синтаксис шаблону в заголовку \"%(header)s\": %(error)s"
#: changedetectionio/blueprint/tags/form.py changedetectionio/blueprint/ui/form_browseroptions.py
#: changedetectionio/blueprint/ui/templates/browsers-overview.html changedetectionio/forms.py
#: changedetectionio/forms.py
msgid "Name"
msgstr "Ім'я"
@@ -1880,50 +1880,27 @@ msgstr ""
#: changedetectionio/blueprint/ui/templates/browsers-overview.html
msgid ""
"Save a browser once (its screen size, language, timezone…) and reuse it on any watch or group. Add a variation from "
"one of the available browsers below."
"These are the available browsers. Save a variation of one (its screen size, language, timezone…) with <strong>+ Add "
"variation</strong> and reuse it on any watch or group — your variations appear nested (↳) under the browser they "
"extend."
msgstr ""
#: changedetectionio/blueprint/ui/templates/browsers-overview.html
#, python-format
msgid ""
"The <strong>Default browser</strong> (chosen with the radio button below) is used by every watch unless the watch — "
"or its group — picks another one. This is the same value shown on the <a href=\"%(url)s#fetching\">Settings → "
"Fetching</a> page."
msgstr ""
#: changedetectionio/blueprint/ui/templates/browsers-overview.html
msgid "Your browsers"
msgstr ""
#: changedetectionio/blueprint/ui/templates/browsers-overview.html
msgid "Setup"
msgstr ""
#: changedetectionio/blueprint/ui/templates/browsers-overview.html
msgid "Set as the default browser"
msgstr ""
#: changedetectionio/blueprint/ui/templates/browsers-overview.html
msgid "no"
msgstr ""
#: changedetectionio/blueprint/ui/templates/browsers-overview.html
msgid "Remove this browser?"
msgstr ""
#: changedetectionio/blueprint/ui/templates/browsers-overview.html
msgid "You haven't added any browser variations yet — add one from an available browser below."
msgstr ""
#: changedetectionio/blueprint/ui/templates/browsers-overview.html
msgid "Available browsers"
"The <strong>Default browser</strong> (chosen with the radio button) is used by every watch unless the watch — or its "
"group — picks another one. This is the same value shown on the <a href=\"%(url)s#fetching\">Settings → Fetching</a> "
"page."
msgstr ""
#: changedetectionio/blueprint/ui/templates/browsers-overview.html
msgid "Capabilities"
msgstr ""
#: changedetectionio/blueprint/ui/templates/browsers-overview.html
msgid "Set as the default browser"
msgstr ""
#: changedetectionio/blueprint/ui/templates/browsers-overview.html
msgid "needs setup"
msgstr ""
@@ -1936,6 +1913,19 @@ msgstr ""
msgid "Add variation"
msgstr ""
#: changedetectionio/blueprint/ui/templates/browsers-overview.html
#, python-format
msgid "Variation of %(base)s"
msgstr ""
#: changedetectionio/blueprint/ui/templates/browsers-overview.html
msgid "no"
msgstr ""
#: changedetectionio/blueprint/ui/templates/browsers-overview.html
msgid "Remove this browser?"
msgstr ""
#: changedetectionio/blueprint/ui/templates/browsers-overview.html
msgid "No interactive browser is available."
msgstr ""
@@ -3604,7 +3594,7 @@ msgid "Invalid template syntax in \"%(header)s\" header: %(error)s"
msgstr "“%(header)s”请求头中的模板语法无效:%(error)s"
#: changedetectionio/blueprint/tags/form.py changedetectionio/blueprint/ui/form_browseroptions.py
#: changedetectionio/blueprint/ui/templates/browsers-overview.html changedetectionio/forms.py
#: changedetectionio/forms.py
msgid "Name"
msgstr "名称"
@@ -1879,50 +1879,27 @@ msgstr ""
#: changedetectionio/blueprint/ui/templates/browsers-overview.html
msgid ""
"Save a browser once (its screen size, language, timezone…) and reuse it on any watch or group. Add a variation from "
"one of the available browsers below."
"These are the available browsers. Save a variation of one (its screen size, language, timezone…) with <strong>+ Add "
"variation</strong> and reuse it on any watch or group — your variations appear nested (↳) under the browser they "
"extend."
msgstr ""
#: changedetectionio/blueprint/ui/templates/browsers-overview.html
#, python-format
msgid ""
"The <strong>Default browser</strong> (chosen with the radio button below) is used by every watch unless the watch — "
"or its group — picks another one. This is the same value shown on the <a href=\"%(url)s#fetching\">Settings → "
"Fetching</a> page."
msgstr ""
#: changedetectionio/blueprint/ui/templates/browsers-overview.html
msgid "Your browsers"
msgstr ""
#: changedetectionio/blueprint/ui/templates/browsers-overview.html
msgid "Setup"
msgstr ""
#: changedetectionio/blueprint/ui/templates/browsers-overview.html
msgid "Set as the default browser"
msgstr ""
#: changedetectionio/blueprint/ui/templates/browsers-overview.html
msgid "no"
msgstr ""
#: changedetectionio/blueprint/ui/templates/browsers-overview.html
msgid "Remove this browser?"
msgstr ""
#: changedetectionio/blueprint/ui/templates/browsers-overview.html
msgid "You haven't added any browser variations yet — add one from an available browser below."
msgstr ""
#: changedetectionio/blueprint/ui/templates/browsers-overview.html
msgid "Available browsers"
"The <strong>Default browser</strong> (chosen with the radio button) is used by every watch unless the watch — or its "
"group — picks another one. This is the same value shown on the <a href=\"%(url)s#fetching\">Settings → Fetching</a> "
"page."
msgstr ""
#: changedetectionio/blueprint/ui/templates/browsers-overview.html
msgid "Capabilities"
msgstr ""
#: changedetectionio/blueprint/ui/templates/browsers-overview.html
msgid "Set as the default browser"
msgstr ""
#: changedetectionio/blueprint/ui/templates/browsers-overview.html
msgid "needs setup"
msgstr ""
@@ -1935,6 +1912,19 @@ msgstr ""
msgid "Add variation"
msgstr ""
#: changedetectionio/blueprint/ui/templates/browsers-overview.html
#, python-format
msgid "Variation of %(base)s"
msgstr ""
#: changedetectionio/blueprint/ui/templates/browsers-overview.html
msgid "no"
msgstr ""
#: changedetectionio/blueprint/ui/templates/browsers-overview.html
msgid "Remove this browser?"
msgstr ""
#: changedetectionio/blueprint/ui/templates/browsers-overview.html
msgid "No interactive browser is available."
msgstr ""
@@ -3604,7 +3594,7 @@ msgid "Invalid template syntax in \"%(header)s\" header: %(error)s"
msgstr "「%(header)s」標頭中的範本語法無效:%(error)s"
#: changedetectionio/blueprint/tags/form.py changedetectionio/blueprint/ui/form_browseroptions.py
#: changedetectionio/blueprint/ui/templates/browsers-overview.html changedetectionio/forms.py
#: changedetectionio/forms.py
msgid "Name"
msgstr "名稱"