mirror of
https://github.com/dgtlmoon/changedetection.io.git
synced 2026-05-10 03:30:44 +00:00
Compare commits
11 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 4679e28cf9 | |||
| e053b50382 | |||
| 4f76c01857 | |||
| f21d4f4a9f | |||
| 8a66da3d6d | |||
| 4f61f65769 | |||
| c6bb908594 | |||
| acb9de955d | |||
| 2e90abedb9 | |||
| ddcc223658 | |||
| 8cfa6eb336 |
@@ -20,10 +20,22 @@ jobs:
|
||||
pip install openapi-spec-validator
|
||||
python3 -c "from openapi_spec_validator import validate_spec; import yaml; validate_spec(yaml.safe_load(open('docs/api-spec.yaml')))"
|
||||
|
||||
lint-translations:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v6
|
||||
- name: Check .po files with msgfmt
|
||||
run: |
|
||||
sudo apt-get install -y gettext
|
||||
find changedetectionio/translations -name "*.po" | while read f; do
|
||||
echo "Checking $f"
|
||||
msgfmt --check-format -o /dev/null "$f"
|
||||
done
|
||||
|
||||
test-application-3-10:
|
||||
# Only run on push to master (including PR merges)
|
||||
if: github.event_name == 'push' && github.ref == 'refs/heads/master'
|
||||
needs: lint-code
|
||||
needs: [lint-code, lint-translations]
|
||||
uses: ./.github/workflows/test-stack-reusable-workflow.yml
|
||||
with:
|
||||
python-version: '3.10'
|
||||
@@ -31,7 +43,7 @@ jobs:
|
||||
|
||||
test-application-3-11:
|
||||
# Always run
|
||||
needs: lint-code
|
||||
needs: [lint-code, lint-translations]
|
||||
uses: ./.github/workflows/test-stack-reusable-workflow.yml
|
||||
with:
|
||||
python-version: '3.11'
|
||||
@@ -39,7 +51,7 @@ jobs:
|
||||
test-application-3-12:
|
||||
# Only run on push to master (including PR merges)
|
||||
if: github.event_name == 'push' && github.ref == 'refs/heads/master'
|
||||
needs: lint-code
|
||||
needs: [lint-code, lint-translations]
|
||||
uses: ./.github/workflows/test-stack-reusable-workflow.yml
|
||||
with:
|
||||
python-version: '3.12'
|
||||
@@ -48,7 +60,7 @@ jobs:
|
||||
test-application-3-13:
|
||||
# Only run on push to master (including PR merges)
|
||||
if: github.event_name == 'push' && github.ref == 'refs/heads/master'
|
||||
needs: lint-code
|
||||
needs: [lint-code, lint-translations]
|
||||
uses: ./.github/workflows/test-stack-reusable-workflow.yml
|
||||
with:
|
||||
python-version: '3.13'
|
||||
@@ -57,7 +69,7 @@ jobs:
|
||||
|
||||
test-application-3-14:
|
||||
#if: github.event_name == 'push' && github.ref == 'refs/heads/master'
|
||||
needs: lint-code
|
||||
needs: [lint-code, lint-translations]
|
||||
uses: ./.github/workflows/test-stack-reusable-workflow.yml
|
||||
with:
|
||||
python-version: '3.14'
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
[python: **.py]
|
||||
keywords = _ _l gettext
|
||||
keywords = _ _l gettext pgettext:1c,2
|
||||
|
||||
[jinja2: **/templates/**.html]
|
||||
encoding = utf-8
|
||||
keywords = _ _l gettext
|
||||
keywords = _ _l gettext pgettext:1c,2
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
|
||||
# Read more https://github.com/dgtlmoon/changedetection.io/wiki
|
||||
# Semver means never use .01, or 00. Should be .1.
|
||||
__version__ = '0.54.9'
|
||||
__version__ = '0.54.10'
|
||||
|
||||
from changedetectionio.strtobool import strtobool
|
||||
from json.decoder import JSONDecodeError
|
||||
|
||||
@@ -5,16 +5,17 @@ from wtforms import (
|
||||
validators,
|
||||
)
|
||||
from wtforms.fields.simple import BooleanField
|
||||
from flask_babel import lazy_gettext as _l
|
||||
|
||||
from changedetectionio.processors.restock_diff.forms import processor_settings_form as restock_settings_form
|
||||
|
||||
class group_restock_settings_form(restock_settings_form):
|
||||
overrides_watch = BooleanField('Activate for individual watches in this tag/group?', default=False)
|
||||
url_match_pattern = StringField('Auto-apply to watches with URLs matching',
|
||||
render_kw={"placeholder": "e.g. *://example.com/* or github.com/myorg"})
|
||||
tag_colour = StringField('Tag colour', default='')
|
||||
overrides_watch = BooleanField(_l('Activate for individual watches in this tag/group?'), default=False)
|
||||
url_match_pattern = StringField(_l('Auto-apply to watches with URLs matching'),
|
||||
render_kw={"placeholder": _l("e.g. *://example.com/* or github.com/myorg")})
|
||||
tag_colour = StringField(_l('Tag colour'), default='')
|
||||
|
||||
class SingleTag(Form):
|
||||
|
||||
name = StringField('Tag name', [validators.InputRequired()], render_kw={"placeholder": "Name"})
|
||||
save_button = SubmitField('Save', render_kw={"class": "pure-button pure-button-primary"})
|
||||
name = StringField(_l('Tag name'), [validators.InputRequired()], render_kw={"placeholder": _l("Name")})
|
||||
save_button = SubmitField(_l('Save'), render_kw={"class": "pure-button pure-button-primary"})
|
||||
|
||||
@@ -17,6 +17,8 @@
|
||||
|
||||
</script>
|
||||
|
||||
<script src="{{url_for('static_content', group='js', filename='plugins.js')}}" defer></script>
|
||||
<script src="{{url_for('static_content', group='js', filename='global-settings.js')}}" defer></script>
|
||||
<script src="{{url_for('static_content', group='js', filename='watch-settings.js')}}" defer></script>
|
||||
<script src="{{url_for('static_content', group='js', filename='notifications.js')}}" defer></script>
|
||||
|
||||
|
||||
@@ -65,7 +65,7 @@ html[data-darkmode="true"] .watch-tag-list.tag-{{ class_name }} {
|
||||
{% for uuid, tag in available_tags %}
|
||||
<tr id="{{ uuid }}" class="{{ loop.cycle('pure-table-odd', 'pure-table-even') }}">
|
||||
<td class="watch-controls">
|
||||
<a class="link-mute state-{{'on' if tag.notification_muted else 'off'}}" href="{{url_for('tags.mute', uuid=tag.uuid)}}"><img src="{{url_for('static_content', group='images', filename='bell-off.svg')}}" alt="Mute notifications" title="Mute notifications" class="icon icon-mute" ></a>
|
||||
<a class="link-mute state-{{'on' if tag.notification_muted else 'off'}}" href="{{url_for('tags.mute', uuid=tag.uuid)}}"><img src="{{url_for('static_content', group='images', filename='bell-off.svg')}}" alt="{{ _('Mute notifications') }}" title="{{ _('Mute notifications') }}" class="icon icon-mute" ></a>
|
||||
</td>
|
||||
<td>{{ "{:,}".format(tag_count[uuid]) if uuid in tag_count else 0 }}</td>
|
||||
<td class="title-col inline"> <a href="{{url_for('watchlist.index', tag=uuid) }}" class="watch-tag-list tag-{{ tag.title|sanitize_tag_class }}">{{ tag.title }}</a></td>
|
||||
|
||||
@@ -142,7 +142,7 @@ def construct_blueprint(datastore: ChangeDetectionStore, update_q, queuedWatchMe
|
||||
for p in datastore.extra_browsers:
|
||||
form.fetch_backend.choices.append(p)
|
||||
|
||||
form.fetch_backend.choices.append(("system", 'System settings default'))
|
||||
form.fetch_backend.choices.append(("system", gettext('System settings default')))
|
||||
|
||||
# form.browser_steps[0] can be assumed that we 'goto url' first
|
||||
|
||||
@@ -150,7 +150,7 @@ def construct_blueprint(datastore: ChangeDetectionStore, update_q, queuedWatchMe
|
||||
# @todo - Couldn't get setattr() etc dynamic addition working, so remove it instead
|
||||
del form.proxy
|
||||
else:
|
||||
form.proxy.choices = [('', 'Default')]
|
||||
form.proxy.choices = [('', gettext('Default'))]
|
||||
for p in datastore.proxy_list:
|
||||
form.proxy.choices.append(tuple((p, datastore.proxy_list[p]['label'])))
|
||||
|
||||
@@ -301,7 +301,7 @@ def construct_blueprint(datastore: ChangeDetectionStore, update_q, queuedWatchMe
|
||||
'extra_classes': ' '.join(c),
|
||||
'extra_notification_token_placeholder_info': datastore.get_unique_notification_token_placeholders_available(),
|
||||
'extra_processor_config': form.extra_tab_content(),
|
||||
'extra_title': f" - Edit - {watch.label}",
|
||||
'extra_title': f" - {gettext('Edit')} - {watch.label}",
|
||||
'form': form,
|
||||
'has_default_notification_urls': True if len(datastore.data['settings']['application']['notification_urls']) else False,
|
||||
'has_extra_headers_file': len(datastore.get_all_headers_in_textfile_for_watch(uuid=uuid)) > 0,
|
||||
|
||||
@@ -107,7 +107,7 @@ def construct_blueprint(datastore: ChangeDetectionStore):
|
||||
current_diff_url=watch['url'],
|
||||
current_version=timestamp,
|
||||
extra_stylesheets=extra_stylesheets,
|
||||
extra_title=f" - Diff - {watch.label} @ {timestamp}",
|
||||
extra_title=f" - {gettext('Diff')} - {watch.label} @ {timestamp}",
|
||||
highlight_ignored_line_numbers=ignored_line_numbers,
|
||||
highlight_triggered_line_numbers=triggered_line_numbers,
|
||||
highlight_blocked_line_numbers=blocked_line_numbers,
|
||||
|
||||
@@ -25,7 +25,8 @@
|
||||
<fieldset class="diff-fieldset">
|
||||
{% if versions|length >= 1 %}
|
||||
<span style="white-space: nowrap;">
|
||||
<label id="change-from" for="diff-from-version" class="from-to-label">{{ _('From') }}</label>
|
||||
{# TRANSLATORS: 'From' labels the older snapshot version selector on the diff page #}
|
||||
<label id="change-from" for="diff-from-version" class="from-to-label">{{ pgettext('diff version', 'From') }}</label>
|
||||
<select id="diff-from-version" name="from_version" class="needs-localtime">
|
||||
{%- for version in versions|reverse -%}
|
||||
<option value="{{ version }}" {% if version== from_version %} selected="" {% endif %}>
|
||||
@@ -35,7 +36,8 @@
|
||||
</select>
|
||||
</span>
|
||||
<span style="white-space: nowrap;">
|
||||
<label id="change-to" for="diff-to-version" class="from-to-label">{{ _('To') }}</label>
|
||||
{# TRANSLATORS: 'To' labels the newer snapshot version selector on the diff page #}
|
||||
<label id="change-to" for="diff-to-version" class="from-to-label">{{ pgettext('diff version', 'To') }}</label>
|
||||
<select id="diff-to-version" name="to_version" class="needs-localtime">
|
||||
{%- for version in versions|reverse -%}
|
||||
<option value="{{ version }}" {% if version== to_version %} selected="" {% endif %}>
|
||||
|
||||
@@ -245,10 +245,10 @@ html[data-darkmode="true"] .watch-tag-list.tag-{{ class_name }} {
|
||||
<td class="inline checkbox-uuid" ><div><input name="uuids" type="checkbox" value="{{ watch.uuid}} " > <span class="counter-i">{{ loop.index+pagination.skip }}</span></div></td>
|
||||
<td class="inline watch-controls">
|
||||
<div>
|
||||
<a class="ajax-op state-off pause-toggle" data-op="pause" href="{{url_for('watchlist.index', op='pause', uuid=watch.uuid, tag=active_tag_uuid)}}"><img src="{{url_for('static_content', group='images', filename='pause.svg')}}" alt="Pause checks" title="Pause checks" class="icon icon-pause" ></a>
|
||||
<a class="ajax-op state-on pause-toggle" data-op="pause" style="display: none" href="{{url_for('watchlist.index', op='pause', uuid=watch.uuid, tag=active_tag_uuid)}}"><img src="{{url_for('static_content', group='images', filename='play.svg')}}" alt="UnPause checks" title="UnPause checks" class="icon icon-unpause" ></a>
|
||||
<a class="ajax-op state-off mute-toggle" data-op="mute" href="{{url_for('watchlist.index', op='mute', uuid=watch.uuid, tag=active_tag_uuid)}}"><img src="{{url_for('static_content', group='images', filename='bell-off.svg')}}" alt="Mute notification" title="Mute notification" class="icon icon-mute" ></a>
|
||||
<a class="ajax-op state-on mute-toggle" data-op="mute" style="display: none" href="{{url_for('watchlist.index', op='mute', uuid=watch.uuid, tag=active_tag_uuid)}}"><img src="{{url_for('static_content', group='images', filename='bell-off.svg')}}" alt="UnMute notification" title="UnMute notification" class="icon icon-mute" ></a>
|
||||
<a class="ajax-op state-off pause-toggle" data-op="pause" href="{{url_for('watchlist.index', op='pause', uuid=watch.uuid, tag=active_tag_uuid)}}"><img src="{{url_for('static_content', group='images', filename='pause.svg')}}" alt="{{ _('Pause checks') }}" title="{{ _('Pause checks') }}" class="icon icon-pause" ></a>
|
||||
<a class="ajax-op state-on pause-toggle" data-op="pause" style="display: none" href="{{url_for('watchlist.index', op='pause', uuid=watch.uuid, tag=active_tag_uuid)}}"><img src="{{url_for('static_content', group='images', filename='play.svg')}}" alt="{{ _('UnPause checks') }}" title="{{ _('UnPause checks') }}" class="icon icon-unpause" ></a>
|
||||
<a class="ajax-op state-off mute-toggle" data-op="mute" href="{{url_for('watchlist.index', op='mute', uuid=watch.uuid, tag=active_tag_uuid)}}"><img src="{{url_for('static_content', group='images', filename='bell-off.svg')}}" alt="{{ _('Mute notification') }}" title="{{ _('Mute notification') }}" class="icon icon-mute" ></a>
|
||||
<a class="ajax-op state-on mute-toggle" data-op="mute" style="display: none" href="{{url_for('watchlist.index', op='mute', uuid=watch.uuid, tag=active_tag_uuid)}}"><img src="{{url_for('static_content', group='images', filename='bell-off.svg')}}" alt="{{ _('UnMute notification') }}" title="{{ _('UnMute notification') }}" class="icon icon-mute" ></a>
|
||||
</div>
|
||||
</td>
|
||||
|
||||
@@ -292,7 +292,7 @@ html[data-darkmode="true"] .watch-tag-list.tag-{{ class_name }} {
|
||||
{%- endfor -%}
|
||||
</div>
|
||||
<div class="status-icons">
|
||||
<a class="link-spread" href="{{url_for('ui.form_share_put_watch', uuid=watch.uuid)}}"><img src="{{url_for('static_content', group='images', filename='spread.svg')}}" class="status-icon icon icon-spread" title="Create a link to share watch config with others" ></a>
|
||||
<a class="link-spread" href="{{url_for('ui.form_share_put_watch', uuid=watch.uuid)}}"><img src="{{url_for('static_content', group='images', filename='spread.svg')}}" class="status-icon icon icon-spread" title="{{ _('Create a link to share watch config with others') }}" ></a>
|
||||
{%- set effective_fetcher = watch.get_fetch_backend if watch.get_fetch_backend != "system" else system_default_fetcher -%}
|
||||
{%- if effective_fetcher and ("html_webdriver" in effective_fetcher or "html_" in effective_fetcher or "extra_browser_" in effective_fetcher) -%}
|
||||
{{ effective_fetcher|fetcher_status_icons }}
|
||||
@@ -335,13 +335,13 @@ html[data-darkmode="true"] .watch-tag-list.tag-{{ class_name }} {
|
||||
</td>
|
||||
{%- endif -%}
|
||||
{#last_checked becomes fetch-start-time#}
|
||||
<td class="last-checked" data-timestamp="{{ watch.last_checked }}" data-fetchduration={{ watch.fetch_time }} data-eta_complete="{{ watch.last_checked+watch.fetch_time }}" >
|
||||
<td class="last-checked" data-timestamp="{{ watch.last_checked }}" data-fetchduration={{ watch.fetch_time }} data-eta_complete="{{ watch.last_checked+watch.fetch_time }}" data-label="{{ _('Last Checked') }}">
|
||||
<div class="spinner-wrapper" style="display:none;" >
|
||||
<span class="spinner"></span><span class="status-text"> {{ _('Checking now') }}</span>
|
||||
</div>
|
||||
<span class="innertext">{{watch|format_last_checked_time|safe}}</span>
|
||||
</td>
|
||||
<td class="last-changed" data-timestamp="{{ watch.last_changed }}">{%- if watch.history_n >=2 and watch.last_changed >0 -%}
|
||||
<td class="last-changed" data-timestamp="{{ watch.last_changed }}" data-label="{{ _('Last Changed') }}">{%- if watch.history_n >=2 and watch.last_changed >0 -%}
|
||||
{{watch.last_changed|format_timestamp_timeago}}
|
||||
{%- else -%}
|
||||
{{ _('Not yet') }}
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
from json_logic.builtins import BUILTINS
|
||||
from flask_babel import lazy_gettext as _l
|
||||
|
||||
from .exceptions import EmptyConditionRuleRowNotUsable
|
||||
from .pluggy_interface import plugin_manager # Import the pluggy plugin manager
|
||||
@@ -6,19 +7,19 @@ from . import default_plugin
|
||||
from loguru import logger
|
||||
# List of all supported JSON Logic operators
|
||||
operator_choices = [
|
||||
(None, "Choose one - Operator"),
|
||||
(">", "Greater Than"),
|
||||
("<", "Less Than"),
|
||||
(">=", "Greater Than or Equal To"),
|
||||
("<=", "Less Than or Equal To"),
|
||||
("==", "Equals"),
|
||||
("!=", "Not Equals"),
|
||||
("in", "Contains"),
|
||||
(None, _l("Choose one - Operator")),
|
||||
(">", _l("Greater Than")),
|
||||
("<", _l("Less Than")),
|
||||
(">=", _l("Greater Than or Equal To")),
|
||||
("<=", _l("Less Than or Equal To")),
|
||||
("==", _l("Equals")),
|
||||
("!=", _l("Not Equals")),
|
||||
("in", _l("Contains")),
|
||||
]
|
||||
|
||||
# Fields available in the rules
|
||||
field_choices = [
|
||||
(None, "Choose one - Field"),
|
||||
(None, _l("Choose one - Field")),
|
||||
]
|
||||
|
||||
# The data we will feed the JSON Rules to see if it passes the test/conditions or not
|
||||
|
||||
@@ -3,6 +3,7 @@ import re
|
||||
import pluggy
|
||||
from price_parser import Price
|
||||
from loguru import logger
|
||||
from flask_babel import lazy_gettext as _l
|
||||
|
||||
hookimpl = pluggy.HookimplMarker("changedetectionio_conditions")
|
||||
|
||||
@@ -47,22 +48,22 @@ def register_operators():
|
||||
@hookimpl
|
||||
def register_operator_choices():
|
||||
return [
|
||||
("!in", "Does NOT Contain"),
|
||||
("starts_with", "Text Starts With"),
|
||||
("ends_with", "Text Ends With"),
|
||||
("length_min", "Length minimum"),
|
||||
("length_max", "Length maximum"),
|
||||
("contains_regex", "Text Matches Regex"),
|
||||
("!contains_regex", "Text Does NOT Match Regex"),
|
||||
("!in", _l("Does NOT Contain")),
|
||||
("starts_with", _l("Text Starts With")),
|
||||
("ends_with", _l("Text Ends With")),
|
||||
("length_min", _l("Length minimum")),
|
||||
("length_max", _l("Length maximum")),
|
||||
("contains_regex", _l("Text Matches Regex")),
|
||||
("!contains_regex", _l("Text Does NOT Match Regex")),
|
||||
]
|
||||
|
||||
@hookimpl
|
||||
def register_field_choices():
|
||||
return [
|
||||
("extracted_number", "Extracted number after 'Filters & Triggers'"),
|
||||
("extracted_number", _l("Extracted number after 'Filters & Triggers'")),
|
||||
# ("meta_description", "Meta Description"),
|
||||
# ("meta_keywords", "Meta Keywords"),
|
||||
("page_filtered_text", "Page text after 'Filters & Triggers'"),
|
||||
("page_filtered_text", _l("Page text after 'Filters & Triggers'")),
|
||||
#("page_title", "Page <title>"), # actual page title <title>
|
||||
]
|
||||
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
# Condition Rule Form (for each rule row)
|
||||
from wtforms import Form, SelectField, StringField, validators
|
||||
from wtforms import validators
|
||||
from flask_babel import lazy_gettext as _l
|
||||
|
||||
class ConditionFormRow(Form):
|
||||
|
||||
@@ -8,18 +9,18 @@ class ConditionFormRow(Form):
|
||||
from changedetectionio.conditions import plugin_manager
|
||||
from changedetectionio.conditions import operator_choices, field_choices
|
||||
field = SelectField(
|
||||
"Field",
|
||||
_l("Field"),
|
||||
choices=field_choices,
|
||||
validators=[validators.Optional()]
|
||||
)
|
||||
|
||||
operator = SelectField(
|
||||
"Operator",
|
||||
_l("Operator"),
|
||||
choices=operator_choices,
|
||||
validators=[validators.Optional()]
|
||||
)
|
||||
|
||||
value = StringField("Value", validators=[validators.Optional()], render_kw={"placeholder": "A value"})
|
||||
value = StringField(_l("Value"), validators=[validators.Optional()], render_kw={"placeholder": _l("A value")})
|
||||
|
||||
def validate(self, extra_validators=None):
|
||||
# First, run the default validators
|
||||
@@ -30,15 +31,15 @@ class ConditionFormRow(Form):
|
||||
# If any of the operator/field/value is set, then they must be all set
|
||||
if any(value not in ("", False, "None", None) for value in [self.operator.data, self.field.data, self.value.data]):
|
||||
if not self.operator.data or self.operator.data == 'None':
|
||||
self.operator.errors.append("Operator is required.")
|
||||
self.operator.errors.append(_l("Operator is required."))
|
||||
return False
|
||||
|
||||
if not self.field.data or self.field.data == 'None':
|
||||
self.field.errors.append("Field is required.")
|
||||
self.field.errors.append(_l("Field is required."))
|
||||
return False
|
||||
|
||||
if not self.value.data:
|
||||
self.value.errors.append("Value is required.")
|
||||
self.value.errors.append(_l("Value is required."))
|
||||
return False
|
||||
|
||||
return True # Only return True if all conditions pass
|
||||
@@ -4,6 +4,7 @@ Provides metrics for measuring text similarity between snapshots.
|
||||
"""
|
||||
import pluggy
|
||||
from loguru import logger
|
||||
from flask_babel import gettext as _, lazy_gettext as _l
|
||||
|
||||
LEVENSHTEIN_MAX_LEN_FOR_EDIT_STATS=100000
|
||||
|
||||
@@ -53,8 +54,8 @@ def register_operator_choices():
|
||||
@conditions_hookimpl
|
||||
def register_field_choices():
|
||||
return [
|
||||
("levenshtein_ratio", "Levenshtein - Text similarity ratio"),
|
||||
("levenshtein_distance", "Levenshtein - Text change distance"),
|
||||
("levenshtein_ratio", _l("Levenshtein - Text similarity ratio")),
|
||||
("levenshtein_distance", _l("Levenshtein - Text change distance")),
|
||||
]
|
||||
|
||||
@conditions_hookimpl
|
||||
@@ -77,7 +78,7 @@ def ui_edit_stats_extras(watch):
|
||||
"""Add Levenshtein stats to the UI using the global plugin system"""
|
||||
"""Generate the HTML for Levenshtein stats - shared by both plugin systems"""
|
||||
if len(watch.history.keys()) < 2:
|
||||
return "<p>Not enough history to calculate Levenshtein metrics</p>"
|
||||
return f"<p>{_('Not enough history to calculate Levenshtein metrics')}</p>"
|
||||
|
||||
|
||||
# Protection against the algorithm getting stuck on huge documents
|
||||
@@ -87,37 +88,37 @@ def ui_edit_stats_extras(watch):
|
||||
for idx in (-1, -2)
|
||||
if len(k) >= abs(idx)
|
||||
):
|
||||
return "<p>Snapshot too large for edit statistics, skipping.</p>"
|
||||
return f"<p>{_('Snapshot too large for edit statistics, skipping.')}</p>"
|
||||
|
||||
try:
|
||||
lev_data = levenshtein_ratio_recent_history(watch)
|
||||
if not lev_data or not isinstance(lev_data, dict):
|
||||
return "<p>Unable to calculate Levenshtein metrics</p>"
|
||||
|
||||
return f"<p>{_('Unable to calculate Levenshtein metrics')}</p>"
|
||||
|
||||
html = f"""
|
||||
<div class="levenshtein-stats">
|
||||
<h4>Levenshtein Text Similarity Details</h4>
|
||||
<h4>{_('Levenshtein Text Similarity Details')}</h4>
|
||||
<table class="pure-table">
|
||||
<tbody>
|
||||
<tr>
|
||||
<td>Raw distance (edits needed)</td>
|
||||
<td>{_('Raw distance (edits needed)')}</td>
|
||||
<td>{lev_data['distance']}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Similarity ratio</td>
|
||||
<td>{_('Similarity ratio')}</td>
|
||||
<td>{lev_data['ratio']:.4f}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Percent similar</td>
|
||||
<td>{_('Percent similar')}</td>
|
||||
<td>{lev_data['percent_similar']}%</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
<p style="font-size: 80%;">Levenshtein metrics compare the last two snapshots, measuring how many character edits are needed to transform one into the other.</p>
|
||||
<p style="font-size: 80%;">{_('Levenshtein metrics compare the last two snapshots, measuring how many character edits are needed to transform one into the other.')}</p>
|
||||
</div>
|
||||
"""
|
||||
return html
|
||||
except Exception as e:
|
||||
logger.error(f"Error generating Levenshtein UI extras: {str(e)}")
|
||||
return "<p>Error calculating Levenshtein metrics</p>"
|
||||
return f"<p>{_('Error calculating Levenshtein metrics')}</p>"
|
||||
|
||||
|
||||
@@ -4,6 +4,7 @@ Provides word count metrics for snapshot content.
|
||||
"""
|
||||
import pluggy
|
||||
from loguru import logger
|
||||
from flask_babel import gettext as _, lazy_gettext as _l
|
||||
|
||||
# Support both plugin systems
|
||||
conditions_hookimpl = pluggy.HookimplMarker("changedetectionio_conditions")
|
||||
@@ -40,7 +41,7 @@ def register_operator_choices():
|
||||
def register_field_choices():
|
||||
# Add a field that will be available in conditions
|
||||
return [
|
||||
("word_count", "Word count of content"),
|
||||
("word_count", _l("Word count of content")),
|
||||
]
|
||||
|
||||
@conditions_hookimpl
|
||||
@@ -61,16 +62,16 @@ def _generate_stats_html(watch):
|
||||
|
||||
html = f"""
|
||||
<div class="word-count-stats">
|
||||
<h4>Content Analysis</h4>
|
||||
<h4>{_('Content Analysis')}</h4>
|
||||
<table class="pure-table">
|
||||
<tbody>
|
||||
<tr>
|
||||
<td>Word count (latest snapshot)</td>
|
||||
<td>{_('Word count (latest snapshot)')}</td>
|
||||
<td>{word_count}</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
<p style="font-size: 80%;">Word count is a simple measure of content length, calculated by splitting text on whitespace.</p>
|
||||
<p style="font-size: 80%;">{_('Word count is a simple measure of content length, calculated by splitting text on whitespace.')}</p>
|
||||
</div>
|
||||
"""
|
||||
return html
|
||||
|
||||
@@ -1,3 +1,4 @@
|
||||
from flask_babel import lazy_gettext as _l
|
||||
from loguru import logger
|
||||
from urllib.parse import urljoin, urlparse
|
||||
import hashlib
|
||||
@@ -13,7 +14,7 @@ from changedetectionio.validate_url import is_private_hostname
|
||||
|
||||
# "html_requests" is listed as the default fetcher in store.py!
|
||||
class fetcher(Fetcher):
|
||||
fetcher_description = "Basic fast Plaintext/HTTP Client"
|
||||
fetcher_description = _l("Basic fast Plaintext/HTTP Client")
|
||||
|
||||
def __init__(self, proxy_override=None, custom_browser_connection_url=None, **kwargs):
|
||||
super().__init__(**kwargs)
|
||||
|
||||
@@ -64,7 +64,7 @@ def extract_changed_from(raw_diff: str) -> str:
|
||||
Useful for {{diff_changed_from}} — gives just the old value (e.g. old price),
|
||||
not the full surrounding line. Multiple fragments joined with newlines.
|
||||
"""
|
||||
return '\n'.join(m.group(1) or m.group(2) for m in _EXTRACT_REMOVED_RE.finditer(raw_diff))
|
||||
return '\n'.join(next((g for g in m.groups() if g is not None), '') for m in _EXTRACT_REMOVED_RE.finditer(raw_diff))
|
||||
|
||||
|
||||
def extract_changed_to(raw_diff: str) -> str:
|
||||
@@ -73,7 +73,7 @@ def extract_changed_to(raw_diff: str) -> str:
|
||||
Useful for {{diff_changed_to}} — gives just the new value (e.g. new price),
|
||||
not the full surrounding line. Multiple fragments joined with newlines.
|
||||
"""
|
||||
return '\n'.join(m.group(1) or m.group(2) for m in _EXTRACT_ADDED_RE.finditer(raw_diff))
|
||||
return '\n'.join(next((g for g in m.groups() if g is not None), '') for m in _EXTRACT_ADDED_RE.finditer(raw_diff))
|
||||
|
||||
|
||||
def render_inline_word_diff(before_line: str, after_line: str, ignore_junk: bool = False, markdown_style: str = None, tokenizer: str = 'words_and_html', include_change_type_prefix: bool = True) -> tuple[str, bool]:
|
||||
@@ -457,8 +457,8 @@ def render_diff(
|
||||
Returns:
|
||||
str: Rendered difference
|
||||
"""
|
||||
newest_lines = [line.rstrip() for line in newest_version_file_contents.splitlines()]
|
||||
previous_lines = [line.rstrip() for line in previous_version_file_contents.splitlines()] if previous_version_file_contents else []
|
||||
newest_lines = [line.rstrip() for line in (newest_version_file_contents or '').splitlines()]
|
||||
previous_lines = [line.rstrip() for line in (previous_version_file_contents or '').splitlines()]
|
||||
now = time.time()
|
||||
logger.debug(
|
||||
f"diff options: "
|
||||
|
||||
@@ -771,16 +771,16 @@ class SingleBrowserStep(Form):
|
||||
operation = SelectField(_l('Operation'), [validators.Optional()], choices=browser_step_ui_config.keys())
|
||||
|
||||
# maybe better to set some <script>var..
|
||||
selector = StringField(_l('Selector'), [validators.Optional()], render_kw={"placeholder": "CSS or xPath selector"})
|
||||
optional_value = StringField(_l('value'), [validators.Optional()], render_kw={"placeholder": "Value"})
|
||||
selector = StringField(_l('Selector'), [validators.Optional()], render_kw={"placeholder": _l("CSS or xPath selector")})
|
||||
optional_value = StringField(_l('value'), [validators.Optional()], render_kw={"placeholder": _l("Value")})
|
||||
# @todo move to JS? ajax fetch new field?
|
||||
# remove_button = SubmitField(_l('-'), render_kw={"type": "button", "class": "pure-button pure-button-primary", 'title': 'Remove'})
|
||||
# add_button = SubmitField(_l('+'), render_kw={"type": "button", "class": "pure-button pure-button-primary", 'title': 'Add new step after'})
|
||||
|
||||
class processor_text_json_diff_form(commonSettingsForm):
|
||||
|
||||
url = StringField('Web Page URL', validators=[validateURL()])
|
||||
tags = StringTagUUID('Group Tag', [validators.Optional()], default='')
|
||||
url = StringField(_l('Web Page URL'), validators=[validateURL()])
|
||||
tags = StringTagUUID(_l('Group Tag'), [validators.Optional()], default='')
|
||||
|
||||
time_between_check = EnhancedFormField(
|
||||
TimeBetweenCheckForm,
|
||||
@@ -918,7 +918,7 @@ class processor_text_json_diff_form(commonSettingsForm):
|
||||
|
||||
class SingleExtraProxy(Form):
|
||||
# maybe better to set some <script>var..
|
||||
proxy_name = StringField(_l('Name'), [validators.Optional()], render_kw={"placeholder": "Name"})
|
||||
proxy_name = StringField(_l('Name'), [validators.Optional()], render_kw={"placeholder": _l("Name")})
|
||||
proxy_url = StringField(_l('Proxy URL'), [
|
||||
validators.Optional(),
|
||||
ValidateStartsWithRegex(
|
||||
@@ -930,7 +930,7 @@ class SingleExtraProxy(Form):
|
||||
], render_kw={"placeholder": "socks5:// or regular proxy http://user:pass@...:3128", "size":50})
|
||||
|
||||
class SingleExtraBrowser(Form):
|
||||
browser_name = StringField(_l('Name'), [validators.Optional()], render_kw={"placeholder": "Name"})
|
||||
browser_name = StringField(_l('Name'), [validators.Optional()], render_kw={"placeholder": _l("Name")})
|
||||
browser_connection_url = StringField(_l('Browser connection URL'), [
|
||||
validators.Optional(),
|
||||
ValidateStartsWithRegex(
|
||||
@@ -999,7 +999,7 @@ class globalSettingsApplicationForm(commonSettingsForm):
|
||||
|
||||
# Screenshot comparison settings
|
||||
min_change_percentage = FloatField(
|
||||
'Screenshot: Minimum Change Percentage',
|
||||
_l('Screenshot: Minimum Change Percentage'),
|
||||
validators=[
|
||||
validators.Optional(),
|
||||
validators.NumberRange(min=0.0, max=100.0, message=_l('Must be between 0 and 100'))
|
||||
|
||||
@@ -102,7 +102,8 @@ class FormattableExtract(str):
|
||||
def __new__(cls, prev_snapshot, current_snapshot, extract_fn):
|
||||
if prev_snapshot or current_snapshot:
|
||||
from changedetectionio import diff as diff_module
|
||||
raw = diff_module.render_diff(prev_snapshot, current_snapshot, word_diff=True)
|
||||
# word_diff=True is required — placemarker extraction regexes only exist in word-diff output
|
||||
raw = diff_module.render_diff(prev_snapshot or '', current_snapshot or '', word_diff=True)
|
||||
extracted = extract_fn(raw)
|
||||
else:
|
||||
extracted = ''
|
||||
|
||||
@@ -61,7 +61,7 @@ def render_form(watch, datastore, request, url_for, render_template, flash, redi
|
||||
screenshot=screenshot_url,
|
||||
is_html_webdriver=is_html_webdriver,
|
||||
password_enabled_and_share_is_off=password_enabled_and_share_is_off,
|
||||
extra_title=f" - {watch.label} - Extract Data",
|
||||
extra_title=f" - {watch.label} - {gettext('Extract Data')}",
|
||||
extra_stylesheets=[url_for('static_content', group='styles', filename='diff.css')],
|
||||
pure_menu_fixed=False
|
||||
)
|
||||
|
||||
@@ -3,11 +3,11 @@
|
||||
{% block content %}
|
||||
<div class="tabs">
|
||||
<ul>
|
||||
{% if last_error_text %}<li class="tab" id="error-text-tab"><a href="{{ url_for('ui.ui_diff.diff_history_page', uuid=uuid)}}#error-text">Error Text</a></li> {% endif %}
|
||||
{% if last_error_screenshot %}<li class="tab" id="error-screenshot-tab"><a href="{{ url_for('ui.ui_diff.diff_history_page', uuid=uuid)}}#error-screenshot">Error Screenshot</a></li> {% endif %}
|
||||
<li class="tab" id=""><a href="{{ url_for('ui.ui_diff.diff_history_page', uuid=uuid)}}#text">Text</a></li>
|
||||
<li class="tab" id="screenshot-tab"><a href="{{ url_for('ui.ui_diff.diff_history_page', uuid=uuid)}}#screenshot">Screenshot</a></li>
|
||||
<li class="tab active" id="extract-tab"><a href="{{ url_for('ui.ui_diff.diff_history_page_extract_GET', uuid=uuid)}}">Extract Data</a></li>
|
||||
{% if last_error_text %}<li class="tab" id="error-text-tab"><a href="{{ url_for('ui.ui_diff.diff_history_page', uuid=uuid)}}#error-text">{{ _('Error Text') }}</a></li> {% endif %}
|
||||
{% if last_error_screenshot %}<li class="tab" id="error-screenshot-tab"><a href="{{ url_for('ui.ui_diff.diff_history_page', uuid=uuid)}}#error-screenshot">{{ _('Error Screenshot') }}</a></li> {% endif %}
|
||||
<li class="tab" id=""><a href="{{ url_for('ui.ui_diff.diff_history_page', uuid=uuid)}}#text">{{ _('Text') }}</a></li>
|
||||
<li class="tab" id="screenshot-tab"><a href="{{ url_for('ui.ui_diff.diff_history_page', uuid=uuid)}}#screenshot">{{ _('Screenshot') }}</a></li>
|
||||
<li class="tab active" id="extract-tab"><a href="{{ url_for('ui.ui_diff.diff_history_page_extract_GET', uuid=uuid)}}">{{ _('Extract Data') }}</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
@@ -17,23 +17,23 @@
|
||||
<form id="extract-data-form" class="pure-form pure-form-stacked edit-form" action="{{ url_for('ui.ui_diff.diff_history_page_extract_POST', uuid=uuid) }}" method="POST">
|
||||
<input type="hidden" name="csrf_token" value="{{ csrf_token() }}">
|
||||
|
||||
<p>This tool will extract text data from all of the watch history.</p>
|
||||
<p>{{ _('This tool will extract text data from all of the watch history.') }}</p>
|
||||
|
||||
<div class="pure-control-group">
|
||||
{{ render_field(extract_form.extract_regex) }}
|
||||
<span class="pure-form-message-inline">
|
||||
A <strong>RegEx</strong> is a pattern that identifies exactly which part inside of the text that you want to extract.<br>
|
||||
{{ _('A <strong>RegEx</strong> is a pattern that identifies exactly which part inside of the text that you want to extract.')|safe }}<br>
|
||||
|
||||
<p>
|
||||
For example, to extract only the numbers from text ‐<br>
|
||||
<strong>Raw text</strong>: <code>Temperature <span style="color: red">5.5</span>°C in Sydney</code><br>
|
||||
<strong>RegEx to extract:</strong> <code>Temperature <span style="color: red">([0-9\.]+)</span></code><br>
|
||||
{{ _('For example, to extract only the numbers from text') }} ‐<br>
|
||||
<strong>{{ _('Raw text') }}</strong>: <code>Temperature <span style="color: red">5.5</span>°C in Sydney</code><br>
|
||||
<strong>{{ _('RegEx to extract:') }}</strong> <code>Temperature <span style="color: red">([0-9\.]+)</span></code><br>
|
||||
</p>
|
||||
<p>
|
||||
<a href="https://RegExr.com/">Be sure to test your RegEx here.</a>
|
||||
<a href="https://RegExr.com/">{{ _('Be sure to test your RegEx here.') }}</a>
|
||||
</p>
|
||||
<p>
|
||||
Each RegEx group bracket <code>()</code> will be in its own column, the first column value is always the date.
|
||||
{{ _('Each RegEx group bracket') }} <code>()</code> {{ _('will be in its own column, the first column value is always the date.') }}
|
||||
</p>
|
||||
</span>
|
||||
</div>
|
||||
|
||||
@@ -7,6 +7,7 @@ a side-by-side or unified diff view with syntax highlighting and change markers.
|
||||
|
||||
import os
|
||||
import time
|
||||
from flask_babel import gettext
|
||||
from loguru import logger
|
||||
|
||||
from changedetectionio import diff, strtobool
|
||||
@@ -207,7 +208,7 @@ def render(watch, datastore, request, url_for, render_template, flash, redirect,
|
||||
diff_prefs=diff_prefs,
|
||||
extra_classes='difference-page',
|
||||
extra_stylesheets=extra_stylesheets,
|
||||
extra_title=f" - {watch.label} - History",
|
||||
extra_title=f" - {watch.label} - {gettext('History')}",
|
||||
extract_form=extract_form,
|
||||
from_version=str(from_version),
|
||||
is_html_webdriver=is_html_webdriver,
|
||||
|
||||
@@ -47,12 +47,12 @@ $grid-gap: 0.5rem;
|
||||
|
||||
.last-checked::before {
|
||||
color: var(--color-text);
|
||||
content: "Last Checked ";
|
||||
content: attr(data-label) " ";
|
||||
}
|
||||
|
||||
.last-changed::before {
|
||||
color: var(--color-text);
|
||||
content: "Last Changed ";
|
||||
content: attr(data-label) " ";
|
||||
}
|
||||
|
||||
/* Force table to not be like tables anymore */
|
||||
|
||||
File diff suppressed because one or more lines are too long
@@ -69,7 +69,7 @@
|
||||
{% else %}
|
||||
{% if new_version_available and not(has_password and not current_user.is_authenticated) %}
|
||||
<span id="new-version-text" class="pure-menu-heading">
|
||||
<a href="https://changedetection.io">A new version is available</a>
|
||||
<a href="https://changedetection.io">{{ _('A new version is available') }}</a>
|
||||
</span>
|
||||
{% endif %}
|
||||
{% endif %}
|
||||
@@ -235,7 +235,7 @@
|
||||
{% if session['share-link'] %}
|
||||
<ul class="messages with-share-link">
|
||||
<li class="message">
|
||||
Share this link:
|
||||
{{ _('Share this link:') }}
|
||||
<span id="share-link">{{ session['share-link'] }}</span>
|
||||
<img style="height: 1em; display: inline-block" src="{{url_for('static_content', group='images', filename='copy.svg')}}" >
|
||||
</li>
|
||||
|
||||
Binary file not shown.
File diff suppressed because it is too large
Load Diff
Binary file not shown.
File diff suppressed because it is too large
Load Diff
Binary file not shown.
@@ -7,7 +7,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: changedetection.io\n"
|
||||
"Report-Msgid-Bugs-To: https://github.com/dgtlmoon/changedetection.io\n"
|
||||
"POT-Creation-Date: 2026-04-11 04:15+0200\n"
|
||||
"POT-Creation-Date: 2026-04-21 13:27+0900\n"
|
||||
"PO-Revision-Date: 2026-01-12 16:33+0100\n"
|
||||
"Last-Translator: British English Translation Team\n"
|
||||
"Language: en_GB\n"
|
||||
@@ -590,15 +590,15 @@ msgstr ""
|
||||
msgid "Changing this could affect the content of your existing watches, possibly trigger alerts etc."
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/blueprint/settings/templates/settings.html
|
||||
#: changedetectionio/blueprint/settings/templates/settings.html changedetectionio/templates/edit/include_subtract.html
|
||||
msgid "Remove HTML element(s) by CSS and XPath selectors before text conversion."
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/blueprint/settings/templates/settings.html
|
||||
#: changedetectionio/blueprint/settings/templates/settings.html changedetectionio/templates/edit/include_subtract.html
|
||||
msgid "Don't paste HTML here, use only CSS and XPath selectors"
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/blueprint/settings/templates/settings.html
|
||||
#: changedetectionio/blueprint/settings/templates/settings.html changedetectionio/templates/edit/include_subtract.html
|
||||
msgid "Add multiple elements, CSS or XPath selectors per line to ignore multiple parts of the HTML."
|
||||
msgstr ""
|
||||
|
||||
@@ -829,6 +829,26 @@ msgstr ""
|
||||
msgid "Updated"
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/blueprint/tags/form.py
|
||||
msgid "Activate for individual watches in this tag/group?"
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/blueprint/tags/form.py
|
||||
msgid "Auto-apply to watches with URLs matching"
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/blueprint/tags/form.py
|
||||
msgid "e.g. *://example.com/* or github.com/myorg"
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/blueprint/tags/form.py changedetectionio/blueprint/tags/templates/edit-tag.html
|
||||
msgid "Tag colour"
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/blueprint/tags/form.py
|
||||
msgid "Tag name"
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/blueprint/tags/templates/edit-tag.html changedetectionio/blueprint/ui/templates/edit.html
|
||||
msgid "Filters & Triggers"
|
||||
msgstr ""
|
||||
@@ -843,10 +863,6 @@ msgstr ""
|
||||
msgid "Currently matching watches"
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/blueprint/tags/templates/edit-tag.html
|
||||
msgid "Tag colour"
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/blueprint/tags/templates/edit-tag.html
|
||||
msgid "Custom colour"
|
||||
msgstr ""
|
||||
@@ -932,7 +948,11 @@ msgstr ""
|
||||
msgid "No website organisational tags/groups configured"
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/blueprint/tags/templates/groups-overview.html
|
||||
#: changedetectionio/blueprint/tags/templates/groups-overview.html changedetectionio/templates/menu.html
|
||||
msgid "Mute notifications"
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/blueprint/tags/templates/groups-overview.html changedetectionio/blueprint/ui/edit.py
|
||||
#: changedetectionio/blueprint/watchlist/templates/watch-overview.html
|
||||
msgid "Edit"
|
||||
msgstr ""
|
||||
@@ -1135,6 +1155,14 @@ msgstr ""
|
||||
msgid "Could not load '{}' processor, processor plugin might be missing."
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/blueprint/ui/edit.py
|
||||
msgid "System settings default"
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/blueprint/ui/edit.py
|
||||
msgid "Default"
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/blueprint/ui/edit.py
|
||||
msgid "Updated watch - unpaused!"
|
||||
msgstr ""
|
||||
@@ -1147,6 +1175,10 @@ msgstr ""
|
||||
msgid "Preview unavailable - No fetch/check completed or triggers not reached"
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/blueprint/ui/preview.py
|
||||
msgid "Diff"
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/blueprint/ui/templates/clear_all_history.html
|
||||
msgid "This will remove version history (snapshots) for ALL watches, but keep your list of URLs!"
|
||||
msgstr ""
|
||||
@@ -1199,11 +1231,15 @@ msgstr ""
|
||||
msgid "Ignore any lines matching excluding digits"
|
||||
msgstr ""
|
||||
|
||||
#. 'From' labels the older snapshot version selector on the diff page
|
||||
#: changedetectionio/blueprint/ui/templates/diff.html
|
||||
msgctxt "diff version"
|
||||
msgid "From"
|
||||
msgstr ""
|
||||
|
||||
#. 'To' labels the newer snapshot version selector on the diff page
|
||||
#: changedetectionio/blueprint/ui/templates/diff.html
|
||||
msgctxt "diff version"
|
||||
msgid "To"
|
||||
msgstr ""
|
||||
|
||||
@@ -1256,14 +1292,17 @@ msgid "Jump"
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/blueprint/ui/templates/diff.html changedetectionio/blueprint/ui/templates/preview.html
|
||||
#: changedetectionio/processors/templates/extract.html
|
||||
msgid "Error Text"
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/blueprint/ui/templates/diff.html changedetectionio/blueprint/ui/templates/preview.html
|
||||
#: changedetectionio/processors/templates/extract.html
|
||||
msgid "Error Screenshot"
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/blueprint/ui/templates/diff.html changedetectionio/blueprint/ui/templates/preview.html
|
||||
#: changedetectionio/processors/templates/extract.html
|
||||
msgid "Text"
|
||||
msgstr ""
|
||||
|
||||
@@ -1271,7 +1310,8 @@ msgstr ""
|
||||
msgid "Current screenshot"
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/blueprint/ui/templates/diff.html
|
||||
#: changedetectionio/blueprint/ui/templates/diff.html changedetectionio/processors/extract.py
|
||||
#: changedetectionio/processors/templates/extract.html
|
||||
msgid "Extract Data"
|
||||
msgstr ""
|
||||
|
||||
@@ -1861,6 +1901,26 @@ msgstr ""
|
||||
msgid "import a list"
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/blueprint/watchlist/templates/watch-overview.html
|
||||
msgid "Pause checks"
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/blueprint/watchlist/templates/watch-overview.html
|
||||
msgid "UnPause checks"
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/blueprint/watchlist/templates/watch-overview.html
|
||||
msgid "Mute notification"
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/blueprint/watchlist/templates/watch-overview.html
|
||||
msgid "UnMute notification"
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/blueprint/watchlist/templates/watch-overview.html
|
||||
msgid "Create a link to share watch config with others"
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/blueprint/watchlist/templates/watch-overview.html
|
||||
msgid "Detecting restock and price"
|
||||
msgstr ""
|
||||
@@ -1881,15 +1941,24 @@ msgstr ""
|
||||
msgid "No information"
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/blueprint/watchlist/templates/watch-overview.html
|
||||
msgid "Last Checked"
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/blueprint/watchlist/templates/watch-overview.html changedetectionio/templates/base.html
|
||||
msgid "Checking now"
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/blueprint/watchlist/templates/watch-overview.html
|
||||
msgid "Last Changed"
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/blueprint/watchlist/templates/watch-overview.html
|
||||
msgid "Queued"
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/blueprint/watchlist/templates/watch-overview.html
|
||||
#: changedetectionio/processors/text_json_diff/difference.py
|
||||
msgid "History"
|
||||
msgstr ""
|
||||
|
||||
@@ -1923,6 +1992,168 @@ msgstr ""
|
||||
msgid "in '%(title)s'"
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/conditions/__init__.py
|
||||
msgid "Choose one - Operator"
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/conditions/__init__.py
|
||||
msgid "Greater Than"
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/conditions/__init__.py
|
||||
msgid "Less Than"
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/conditions/__init__.py
|
||||
msgid "Greater Than or Equal To"
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/conditions/__init__.py
|
||||
msgid "Less Than or Equal To"
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/conditions/__init__.py
|
||||
msgid "Equals"
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/conditions/__init__.py
|
||||
msgid "Not Equals"
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/conditions/__init__.py
|
||||
msgid "Contains"
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/conditions/__init__.py
|
||||
msgid "Choose one - Field"
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/conditions/default_plugin.py
|
||||
msgid "Does NOT Contain"
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/conditions/default_plugin.py
|
||||
msgid "Text Starts With"
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/conditions/default_plugin.py
|
||||
msgid "Text Ends With"
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/conditions/default_plugin.py
|
||||
msgid "Length minimum"
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/conditions/default_plugin.py
|
||||
msgid "Length maximum"
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/conditions/default_plugin.py
|
||||
msgid "Text Matches Regex"
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/conditions/default_plugin.py
|
||||
msgid "Text Does NOT Match Regex"
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/conditions/default_plugin.py
|
||||
msgid "Extracted number after 'Filters & Triggers'"
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/conditions/default_plugin.py
|
||||
msgid "Page text after 'Filters & Triggers'"
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/conditions/form.py
|
||||
msgid "Field"
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/conditions/form.py
|
||||
msgid "Operator"
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/conditions/form.py
|
||||
msgid "A value"
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/conditions/form.py
|
||||
msgid "Operator is required."
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/conditions/form.py
|
||||
msgid "Field is required."
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/conditions/form.py
|
||||
msgid "Value is required."
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/conditions/plugins/levenshtein_plugin.py
|
||||
msgid "Levenshtein - Text similarity ratio"
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/conditions/plugins/levenshtein_plugin.py
|
||||
msgid "Levenshtein - Text change distance"
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/conditions/plugins/levenshtein_plugin.py
|
||||
msgid "Not enough history to calculate Levenshtein metrics"
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/conditions/plugins/levenshtein_plugin.py
|
||||
msgid "Snapshot too large for edit statistics, skipping."
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/conditions/plugins/levenshtein_plugin.py
|
||||
msgid "Unable to calculate Levenshtein metrics"
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/conditions/plugins/levenshtein_plugin.py
|
||||
msgid "Levenshtein Text Similarity Details"
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/conditions/plugins/levenshtein_plugin.py
|
||||
msgid "Raw distance (edits needed)"
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/conditions/plugins/levenshtein_plugin.py
|
||||
msgid "Similarity ratio"
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/conditions/plugins/levenshtein_plugin.py
|
||||
msgid "Percent similar"
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/conditions/plugins/levenshtein_plugin.py
|
||||
msgid ""
|
||||
"Levenshtein metrics compare the last two snapshots, measuring how many character edits are needed to transform one "
|
||||
"into the other."
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/conditions/plugins/levenshtein_plugin.py
|
||||
msgid "Error calculating Levenshtein metrics"
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/conditions/plugins/wordcount_plugin.py
|
||||
msgid "Word count of content"
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/conditions/plugins/wordcount_plugin.py
|
||||
msgid "Content Analysis"
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/conditions/plugins/wordcount_plugin.py
|
||||
msgid "Word count (latest snapshot)"
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/conditions/plugins/wordcount_plugin.py
|
||||
msgid "Word count is a simple measure of content length, calculated by splitting text on whitespace."
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/content_fetchers/requests.py
|
||||
msgid "Basic fast Plaintext/HTTP Client"
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/blueprint/watchlist/templates/watch-overview.html changedetectionio/flask_app.py
|
||||
#: changedetectionio/realtime/socket_server.py
|
||||
msgid "Not yet"
|
||||
@@ -2205,10 +2436,26 @@ msgstr ""
|
||||
msgid "Selector"
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/forms.py
|
||||
msgid "CSS or xPath selector"
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/forms.py
|
||||
msgid "value"
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/conditions/form.py changedetectionio/forms.py
|
||||
msgid "Value"
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/forms.py
|
||||
msgid "Web Page URL"
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/forms.py
|
||||
msgid "Group Tag"
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/forms.py
|
||||
msgid "Time Between Check"
|
||||
msgstr ""
|
||||
@@ -2297,7 +2544,8 @@ msgstr ""
|
||||
msgid "Execute JavaScript before change detection"
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/blueprint/tags/templates/groups-overview.html changedetectionio/forms.py
|
||||
#: changedetectionio/blueprint/tags/form.py changedetectionio/blueprint/tags/templates/groups-overview.html
|
||||
#: changedetectionio/forms.py
|
||||
msgid "Save"
|
||||
msgstr ""
|
||||
|
||||
@@ -2365,7 +2613,7 @@ msgstr ""
|
||||
msgid "Invalid template syntax in \"%(header)s\" header: %(error)s"
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/forms.py
|
||||
#: changedetectionio/blueprint/tags/form.py changedetectionio/forms.py
|
||||
msgid "Name"
|
||||
msgstr ""
|
||||
|
||||
@@ -2461,6 +2709,10 @@ msgstr ""
|
||||
msgid "Ignore whitespace"
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/forms.py
|
||||
msgid "Screenshot: Minimum Change Percentage"
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/forms.py changedetectionio/processors/image_ssim_diff/forms.py
|
||||
msgid "Must be between 0 and 100"
|
||||
msgstr ""
|
||||
@@ -2660,6 +2912,42 @@ msgstr ""
|
||||
msgid "Detects if the product goes back to in-stock"
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/processors/templates/extract.html
|
||||
msgid "Screenshot"
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/processors/templates/extract.html
|
||||
msgid "This tool will extract text data from all of the watch history."
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/processors/templates/extract.html
|
||||
msgid "A <strong>RegEx</strong> is a pattern that identifies exactly which part inside of the text that you want to extract."
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/processors/templates/extract.html
|
||||
msgid "For example, to extract only the numbers from text"
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/processors/templates/extract.html
|
||||
msgid "Raw text"
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/processors/templates/extract.html
|
||||
msgid "RegEx to extract:"
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/processors/templates/extract.html
|
||||
msgid "Be sure to test your RegEx here."
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/processors/templates/extract.html
|
||||
msgid "Each RegEx group bracket"
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/processors/templates/extract.html
|
||||
msgid "will be in its own column, the first column value is always the date."
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/processors/text_json_diff/processor.py
|
||||
msgid "Webpage Text/HTML, JSON and PDF changes"
|
||||
msgstr ""
|
||||
@@ -2839,7 +3127,7 @@ msgstr ""
|
||||
msgid "Use"
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/templates/_common_fields.html
|
||||
#: changedetectionio/templates/_common_fields.html changedetectionio/templates/edit/include_subtract.html
|
||||
msgid "Show advanced help and tips"
|
||||
msgstr ""
|
||||
|
||||
@@ -2943,6 +3231,26 @@ msgstr ""
|
||||
msgid "Format for all notifications"
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/templates/_common_fields.html
|
||||
msgid "Note"
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/templates/_common_fields.html
|
||||
msgid "Discord does not render HTML — switch to"
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/templates/_common_fields.html
|
||||
msgid "Plain Text"
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/templates/_common_fields.html
|
||||
msgid "format to avoid"
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/templates/_common_fields.html
|
||||
msgid "and other HTML entities appearing literally in your notifications."
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/templates/_helpers.html
|
||||
msgid "Entry"
|
||||
msgstr ""
|
||||
@@ -3059,10 +3367,18 @@ msgstr ""
|
||||
msgid "Blocked text"
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/templates/base.html
|
||||
msgid "A new version is available"
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/templates/base.html
|
||||
msgid "Search, or Use Alt+S Key"
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/templates/base.html
|
||||
msgid "Share this link:"
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/templates/base.html
|
||||
msgid "Real-time updates offline"
|
||||
msgstr ""
|
||||
@@ -3233,10 +3549,6 @@ msgstr ""
|
||||
msgid "Unmute notifications"
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/templates/menu.html
|
||||
msgid "Mute notifications"
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/templates/menu.html
|
||||
msgid "Notifications are muted - click to unmute"
|
||||
msgstr ""
|
||||
@@ -3311,3 +3623,9 @@ msgstr ""
|
||||
#~ msgid "\"Residential\" and \"Mobile\" proxy type can be more successfull than \"Data Center\" for blocked websites."
|
||||
#~ msgstr ""
|
||||
|
||||
#~ msgid "From"
|
||||
#~ msgstr ""
|
||||
|
||||
#~ msgid "To"
|
||||
#~ msgstr ""
|
||||
|
||||
|
||||
Binary file not shown.
@@ -7,7 +7,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: PROJECT VERSION\n"
|
||||
"Report-Msgid-Bugs-To: https://github.com/dgtlmoon/changedetection.io\n"
|
||||
"POT-Creation-Date: 2026-04-11 04:15+0200\n"
|
||||
"POT-Creation-Date: 2026-04-21 13:27+0900\n"
|
||||
"PO-Revision-Date: 2026-01-12 16:37+0100\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language: en_US\n"
|
||||
@@ -590,15 +590,15 @@ msgstr ""
|
||||
msgid "Changing this could affect the content of your existing watches, possibly trigger alerts etc."
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/blueprint/settings/templates/settings.html
|
||||
#: changedetectionio/blueprint/settings/templates/settings.html changedetectionio/templates/edit/include_subtract.html
|
||||
msgid "Remove HTML element(s) by CSS and XPath selectors before text conversion."
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/blueprint/settings/templates/settings.html
|
||||
#: changedetectionio/blueprint/settings/templates/settings.html changedetectionio/templates/edit/include_subtract.html
|
||||
msgid "Don't paste HTML here, use only CSS and XPath selectors"
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/blueprint/settings/templates/settings.html
|
||||
#: changedetectionio/blueprint/settings/templates/settings.html changedetectionio/templates/edit/include_subtract.html
|
||||
msgid "Add multiple elements, CSS or XPath selectors per line to ignore multiple parts of the HTML."
|
||||
msgstr ""
|
||||
|
||||
@@ -829,6 +829,26 @@ msgstr ""
|
||||
msgid "Updated"
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/blueprint/tags/form.py
|
||||
msgid "Activate for individual watches in this tag/group?"
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/blueprint/tags/form.py
|
||||
msgid "Auto-apply to watches with URLs matching"
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/blueprint/tags/form.py
|
||||
msgid "e.g. *://example.com/* or github.com/myorg"
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/blueprint/tags/form.py changedetectionio/blueprint/tags/templates/edit-tag.html
|
||||
msgid "Tag colour"
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/blueprint/tags/form.py
|
||||
msgid "Tag name"
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/blueprint/tags/templates/edit-tag.html changedetectionio/blueprint/ui/templates/edit.html
|
||||
msgid "Filters & Triggers"
|
||||
msgstr ""
|
||||
@@ -843,10 +863,6 @@ msgstr ""
|
||||
msgid "Currently matching watches"
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/blueprint/tags/templates/edit-tag.html
|
||||
msgid "Tag colour"
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/blueprint/tags/templates/edit-tag.html
|
||||
msgid "Custom colour"
|
||||
msgstr ""
|
||||
@@ -932,7 +948,11 @@ msgstr ""
|
||||
msgid "No website organisational tags/groups configured"
|
||||
msgstr "No website organizational tags/groups configured"
|
||||
|
||||
#: changedetectionio/blueprint/tags/templates/groups-overview.html
|
||||
#: changedetectionio/blueprint/tags/templates/groups-overview.html changedetectionio/templates/menu.html
|
||||
msgid "Mute notifications"
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/blueprint/tags/templates/groups-overview.html changedetectionio/blueprint/ui/edit.py
|
||||
#: changedetectionio/blueprint/watchlist/templates/watch-overview.html
|
||||
msgid "Edit"
|
||||
msgstr ""
|
||||
@@ -1135,6 +1155,14 @@ msgstr ""
|
||||
msgid "Could not load '{}' processor, processor plugin might be missing."
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/blueprint/ui/edit.py
|
||||
msgid "System settings default"
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/blueprint/ui/edit.py
|
||||
msgid "Default"
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/blueprint/ui/edit.py
|
||||
msgid "Updated watch - unpaused!"
|
||||
msgstr ""
|
||||
@@ -1147,6 +1175,10 @@ msgstr ""
|
||||
msgid "Preview unavailable - No fetch/check completed or triggers not reached"
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/blueprint/ui/preview.py
|
||||
msgid "Diff"
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/blueprint/ui/templates/clear_all_history.html
|
||||
msgid "This will remove version history (snapshots) for ALL watches, but keep your list of URLs!"
|
||||
msgstr ""
|
||||
@@ -1199,11 +1231,15 @@ msgstr ""
|
||||
msgid "Ignore any lines matching excluding digits"
|
||||
msgstr ""
|
||||
|
||||
#. 'From' labels the older snapshot version selector on the diff page
|
||||
#: changedetectionio/blueprint/ui/templates/diff.html
|
||||
msgctxt "diff version"
|
||||
msgid "From"
|
||||
msgstr ""
|
||||
|
||||
#. 'To' labels the newer snapshot version selector on the diff page
|
||||
#: changedetectionio/blueprint/ui/templates/diff.html
|
||||
msgctxt "diff version"
|
||||
msgid "To"
|
||||
msgstr ""
|
||||
|
||||
@@ -1256,14 +1292,17 @@ msgid "Jump"
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/blueprint/ui/templates/diff.html changedetectionio/blueprint/ui/templates/preview.html
|
||||
#: changedetectionio/processors/templates/extract.html
|
||||
msgid "Error Text"
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/blueprint/ui/templates/diff.html changedetectionio/blueprint/ui/templates/preview.html
|
||||
#: changedetectionio/processors/templates/extract.html
|
||||
msgid "Error Screenshot"
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/blueprint/ui/templates/diff.html changedetectionio/blueprint/ui/templates/preview.html
|
||||
#: changedetectionio/processors/templates/extract.html
|
||||
msgid "Text"
|
||||
msgstr ""
|
||||
|
||||
@@ -1271,7 +1310,8 @@ msgstr ""
|
||||
msgid "Current screenshot"
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/blueprint/ui/templates/diff.html
|
||||
#: changedetectionio/blueprint/ui/templates/diff.html changedetectionio/processors/extract.py
|
||||
#: changedetectionio/processors/templates/extract.html
|
||||
msgid "Extract Data"
|
||||
msgstr ""
|
||||
|
||||
@@ -1861,6 +1901,26 @@ msgstr ""
|
||||
msgid "import a list"
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/blueprint/watchlist/templates/watch-overview.html
|
||||
msgid "Pause checks"
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/blueprint/watchlist/templates/watch-overview.html
|
||||
msgid "UnPause checks"
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/blueprint/watchlist/templates/watch-overview.html
|
||||
msgid "Mute notification"
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/blueprint/watchlist/templates/watch-overview.html
|
||||
msgid "UnMute notification"
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/blueprint/watchlist/templates/watch-overview.html
|
||||
msgid "Create a link to share watch config with others"
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/blueprint/watchlist/templates/watch-overview.html
|
||||
msgid "Detecting restock and price"
|
||||
msgstr ""
|
||||
@@ -1881,15 +1941,24 @@ msgstr ""
|
||||
msgid "No information"
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/blueprint/watchlist/templates/watch-overview.html
|
||||
msgid "Last Checked"
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/blueprint/watchlist/templates/watch-overview.html changedetectionio/templates/base.html
|
||||
msgid "Checking now"
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/blueprint/watchlist/templates/watch-overview.html
|
||||
msgid "Last Changed"
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/blueprint/watchlist/templates/watch-overview.html
|
||||
msgid "Queued"
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/blueprint/watchlist/templates/watch-overview.html
|
||||
#: changedetectionio/processors/text_json_diff/difference.py
|
||||
msgid "History"
|
||||
msgstr ""
|
||||
|
||||
@@ -1923,6 +1992,168 @@ msgstr ""
|
||||
msgid "in '%(title)s'"
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/conditions/__init__.py
|
||||
msgid "Choose one - Operator"
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/conditions/__init__.py
|
||||
msgid "Greater Than"
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/conditions/__init__.py
|
||||
msgid "Less Than"
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/conditions/__init__.py
|
||||
msgid "Greater Than or Equal To"
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/conditions/__init__.py
|
||||
msgid "Less Than or Equal To"
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/conditions/__init__.py
|
||||
msgid "Equals"
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/conditions/__init__.py
|
||||
msgid "Not Equals"
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/conditions/__init__.py
|
||||
msgid "Contains"
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/conditions/__init__.py
|
||||
msgid "Choose one - Field"
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/conditions/default_plugin.py
|
||||
msgid "Does NOT Contain"
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/conditions/default_plugin.py
|
||||
msgid "Text Starts With"
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/conditions/default_plugin.py
|
||||
msgid "Text Ends With"
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/conditions/default_plugin.py
|
||||
msgid "Length minimum"
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/conditions/default_plugin.py
|
||||
msgid "Length maximum"
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/conditions/default_plugin.py
|
||||
msgid "Text Matches Regex"
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/conditions/default_plugin.py
|
||||
msgid "Text Does NOT Match Regex"
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/conditions/default_plugin.py
|
||||
msgid "Extracted number after 'Filters & Triggers'"
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/conditions/default_plugin.py
|
||||
msgid "Page text after 'Filters & Triggers'"
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/conditions/form.py
|
||||
msgid "Field"
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/conditions/form.py
|
||||
msgid "Operator"
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/conditions/form.py
|
||||
msgid "A value"
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/conditions/form.py
|
||||
msgid "Operator is required."
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/conditions/form.py
|
||||
msgid "Field is required."
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/conditions/form.py
|
||||
msgid "Value is required."
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/conditions/plugins/levenshtein_plugin.py
|
||||
msgid "Levenshtein - Text similarity ratio"
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/conditions/plugins/levenshtein_plugin.py
|
||||
msgid "Levenshtein - Text change distance"
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/conditions/plugins/levenshtein_plugin.py
|
||||
msgid "Not enough history to calculate Levenshtein metrics"
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/conditions/plugins/levenshtein_plugin.py
|
||||
msgid "Snapshot too large for edit statistics, skipping."
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/conditions/plugins/levenshtein_plugin.py
|
||||
msgid "Unable to calculate Levenshtein metrics"
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/conditions/plugins/levenshtein_plugin.py
|
||||
msgid "Levenshtein Text Similarity Details"
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/conditions/plugins/levenshtein_plugin.py
|
||||
msgid "Raw distance (edits needed)"
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/conditions/plugins/levenshtein_plugin.py
|
||||
msgid "Similarity ratio"
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/conditions/plugins/levenshtein_plugin.py
|
||||
msgid "Percent similar"
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/conditions/plugins/levenshtein_plugin.py
|
||||
msgid ""
|
||||
"Levenshtein metrics compare the last two snapshots, measuring how many character edits are needed to transform one "
|
||||
"into the other."
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/conditions/plugins/levenshtein_plugin.py
|
||||
msgid "Error calculating Levenshtein metrics"
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/conditions/plugins/wordcount_plugin.py
|
||||
msgid "Word count of content"
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/conditions/plugins/wordcount_plugin.py
|
||||
msgid "Content Analysis"
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/conditions/plugins/wordcount_plugin.py
|
||||
msgid "Word count (latest snapshot)"
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/conditions/plugins/wordcount_plugin.py
|
||||
msgid "Word count is a simple measure of content length, calculated by splitting text on whitespace."
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/content_fetchers/requests.py
|
||||
msgid "Basic fast Plaintext/HTTP Client"
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/blueprint/watchlist/templates/watch-overview.html changedetectionio/flask_app.py
|
||||
#: changedetectionio/realtime/socket_server.py
|
||||
msgid "Not yet"
|
||||
@@ -2205,10 +2436,26 @@ msgstr ""
|
||||
msgid "Selector"
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/forms.py
|
||||
msgid "CSS or xPath selector"
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/forms.py
|
||||
msgid "value"
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/conditions/form.py changedetectionio/forms.py
|
||||
msgid "Value"
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/forms.py
|
||||
msgid "Web Page URL"
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/forms.py
|
||||
msgid "Group Tag"
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/forms.py
|
||||
msgid "Time Between Check"
|
||||
msgstr ""
|
||||
@@ -2297,7 +2544,8 @@ msgstr ""
|
||||
msgid "Execute JavaScript before change detection"
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/blueprint/tags/templates/groups-overview.html changedetectionio/forms.py
|
||||
#: changedetectionio/blueprint/tags/form.py changedetectionio/blueprint/tags/templates/groups-overview.html
|
||||
#: changedetectionio/forms.py
|
||||
msgid "Save"
|
||||
msgstr ""
|
||||
|
||||
@@ -2365,7 +2613,7 @@ msgstr ""
|
||||
msgid "Invalid template syntax in \"%(header)s\" header: %(error)s"
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/forms.py
|
||||
#: changedetectionio/blueprint/tags/form.py changedetectionio/forms.py
|
||||
msgid "Name"
|
||||
msgstr ""
|
||||
|
||||
@@ -2461,6 +2709,10 @@ msgstr ""
|
||||
msgid "Ignore whitespace"
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/forms.py
|
||||
msgid "Screenshot: Minimum Change Percentage"
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/forms.py changedetectionio/processors/image_ssim_diff/forms.py
|
||||
msgid "Must be between 0 and 100"
|
||||
msgstr ""
|
||||
@@ -2660,6 +2912,42 @@ msgstr ""
|
||||
msgid "Detects if the product goes back to in-stock"
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/processors/templates/extract.html
|
||||
msgid "Screenshot"
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/processors/templates/extract.html
|
||||
msgid "This tool will extract text data from all of the watch history."
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/processors/templates/extract.html
|
||||
msgid "A <strong>RegEx</strong> is a pattern that identifies exactly which part inside of the text that you want to extract."
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/processors/templates/extract.html
|
||||
msgid "For example, to extract only the numbers from text"
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/processors/templates/extract.html
|
||||
msgid "Raw text"
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/processors/templates/extract.html
|
||||
msgid "RegEx to extract:"
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/processors/templates/extract.html
|
||||
msgid "Be sure to test your RegEx here."
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/processors/templates/extract.html
|
||||
msgid "Each RegEx group bracket"
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/processors/templates/extract.html
|
||||
msgid "will be in its own column, the first column value is always the date."
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/processors/text_json_diff/processor.py
|
||||
msgid "Webpage Text/HTML, JSON and PDF changes"
|
||||
msgstr ""
|
||||
@@ -2839,7 +3127,7 @@ msgstr ""
|
||||
msgid "Use"
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/templates/_common_fields.html
|
||||
#: changedetectionio/templates/_common_fields.html changedetectionio/templates/edit/include_subtract.html
|
||||
msgid "Show advanced help and tips"
|
||||
msgstr ""
|
||||
|
||||
@@ -2943,6 +3231,26 @@ msgstr ""
|
||||
msgid "Format for all notifications"
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/templates/_common_fields.html
|
||||
msgid "Note"
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/templates/_common_fields.html
|
||||
msgid "Discord does not render HTML — switch to"
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/templates/_common_fields.html
|
||||
msgid "Plain Text"
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/templates/_common_fields.html
|
||||
msgid "format to avoid"
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/templates/_common_fields.html
|
||||
msgid "and other HTML entities appearing literally in your notifications."
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/templates/_helpers.html
|
||||
msgid "Entry"
|
||||
msgstr ""
|
||||
@@ -3059,10 +3367,18 @@ msgstr ""
|
||||
msgid "Blocked text"
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/templates/base.html
|
||||
msgid "A new version is available"
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/templates/base.html
|
||||
msgid "Search, or Use Alt+S Key"
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/templates/base.html
|
||||
msgid "Share this link:"
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/templates/base.html
|
||||
msgid "Real-time updates offline"
|
||||
msgstr ""
|
||||
@@ -3233,10 +3549,6 @@ msgstr ""
|
||||
msgid "Unmute notifications"
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/templates/menu.html
|
||||
msgid "Mute notifications"
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/templates/menu.html
|
||||
msgid "Notifications are muted - click to unmute"
|
||||
msgstr ""
|
||||
@@ -3311,3 +3623,9 @@ msgstr ""
|
||||
#~ msgid "\"Residential\" and \"Mobile\" proxy type can be more successfull than \"Data Center\" for blocked websites."
|
||||
#~ msgstr ""
|
||||
|
||||
#~ msgid "From"
|
||||
#~ msgstr ""
|
||||
|
||||
#~ msgid "To"
|
||||
#~ msgstr ""
|
||||
|
||||
|
||||
Binary file not shown.
@@ -3,7 +3,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: changedetection.io 0.53.6\n"
|
||||
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
|
||||
"POT-Creation-Date: 2026-04-11 04:15+0200\n"
|
||||
"POT-Creation-Date: 2026-04-21 13:27+0900\n"
|
||||
"PO-Revision-Date: 2026-03-20 18:13+0100\n"
|
||||
"Last-Translator: Adrian Gonzalez <adrian@example.com>\n"
|
||||
"Language: es\n"
|
||||
@@ -608,15 +608,15 @@ msgstr ""
|
||||
msgid "Changing this could affect the content of your existing watches, possibly trigger alerts etc."
|
||||
msgstr "Cambiar esto podría afectar el contenido de sus monitores existentes, posiblemente activar alertas, etc."
|
||||
|
||||
#: changedetectionio/blueprint/settings/templates/settings.html
|
||||
#: changedetectionio/blueprint/settings/templates/settings.html changedetectionio/templates/edit/include_subtract.html
|
||||
msgid "Remove HTML element(s) by CSS and XPath selectors before text conversion."
|
||||
msgstr "Elimine los elementos HTML mediante los selectores CSS y XPath antes de la conversión de texto."
|
||||
|
||||
#: changedetectionio/blueprint/settings/templates/settings.html
|
||||
#: changedetectionio/blueprint/settings/templates/settings.html changedetectionio/templates/edit/include_subtract.html
|
||||
msgid "Don't paste HTML here, use only CSS and XPath selectors"
|
||||
msgstr "No pegue HTML aquí, use solo selectores CSS y XPath"
|
||||
|
||||
#: changedetectionio/blueprint/settings/templates/settings.html
|
||||
#: changedetectionio/blueprint/settings/templates/settings.html changedetectionio/templates/edit/include_subtract.html
|
||||
msgid "Add multiple elements, CSS or XPath selectors per line to ignore multiple parts of the HTML."
|
||||
msgstr "Agregue múltiples elementos, selectores CSS o XPath por línea para ignorar múltiples partes del HTML."
|
||||
|
||||
@@ -861,6 +861,26 @@ msgstr "Etiqueta no encontrada"
|
||||
msgid "Updated"
|
||||
msgstr "Actualizado"
|
||||
|
||||
#: changedetectionio/blueprint/tags/form.py
|
||||
msgid "Activate for individual watches in this tag/group?"
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/blueprint/tags/form.py
|
||||
msgid "Auto-apply to watches with URLs matching"
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/blueprint/tags/form.py
|
||||
msgid "e.g. *://example.com/* or github.com/myorg"
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/blueprint/tags/form.py changedetectionio/blueprint/tags/templates/edit-tag.html
|
||||
msgid "Tag colour"
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/blueprint/tags/form.py
|
||||
msgid "Tag name"
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/blueprint/tags/templates/edit-tag.html changedetectionio/blueprint/ui/templates/edit.html
|
||||
msgid "Filters & Triggers"
|
||||
msgstr "Filtros y activadores"
|
||||
@@ -875,10 +895,6 @@ msgstr ""
|
||||
msgid "Currently matching watches"
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/blueprint/tags/templates/edit-tag.html
|
||||
msgid "Tag colour"
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/blueprint/tags/templates/edit-tag.html
|
||||
msgid "Custom colour"
|
||||
msgstr ""
|
||||
@@ -966,7 +982,11 @@ msgstr "Nombre de etiqueta/etiqueta"
|
||||
msgid "No website organisational tags/groups configured"
|
||||
msgstr "No hay etiquetas/grupos organizativos del sitio web configurados"
|
||||
|
||||
#: changedetectionio/blueprint/tags/templates/groups-overview.html
|
||||
#: changedetectionio/blueprint/tags/templates/groups-overview.html changedetectionio/templates/menu.html
|
||||
msgid "Mute notifications"
|
||||
msgstr "Silenciar notificaciones"
|
||||
|
||||
#: changedetectionio/blueprint/tags/templates/groups-overview.html changedetectionio/blueprint/ui/edit.py
|
||||
#: changedetectionio/blueprint/watchlist/templates/watch-overview.html
|
||||
msgid "Edit"
|
||||
msgstr "Editar"
|
||||
@@ -1175,6 +1195,14 @@ msgstr ""
|
||||
msgid "Could not load '{}' processor, processor plugin might be missing."
|
||||
msgstr "No se pudo cargar el procesador '{}'; es posible que falte el complemento del procesador."
|
||||
|
||||
#: changedetectionio/blueprint/ui/edit.py
|
||||
msgid "System settings default"
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/blueprint/ui/edit.py
|
||||
msgid "Default"
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/blueprint/ui/edit.py
|
||||
msgid "Updated watch - unpaused!"
|
||||
msgstr "Monitor actualizado: ¡sin pausa!"
|
||||
@@ -1187,6 +1215,10 @@ msgstr "Monitor actualizado."
|
||||
msgid "Preview unavailable - No fetch/check completed or triggers not reached"
|
||||
msgstr "Vista previa no disponible: no se completó la búsqueda/verificación o no se alcanzaron los activadores"
|
||||
|
||||
#: changedetectionio/blueprint/ui/preview.py
|
||||
msgid "Diff"
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/blueprint/ui/templates/clear_all_history.html
|
||||
msgid "This will remove version history (snapshots) for ALL watches, but keep your list of URLs!"
|
||||
msgstr "Esto eliminará el historial de versiones (instantáneas) de TODOS los monitores, ¡pero mantendrá su lista de URL!"
|
||||
@@ -1239,11 +1271,15 @@ msgstr "Ignora cualquier línea que coincida"
|
||||
msgid "Ignore any lines matching excluding digits"
|
||||
msgstr "Ignore cualquier línea que coincida excluyendo dígitos"
|
||||
|
||||
#. 'From' labels the older snapshot version selector on the diff page
|
||||
#: changedetectionio/blueprint/ui/templates/diff.html
|
||||
msgctxt "diff version"
|
||||
msgid "From"
|
||||
msgstr "De"
|
||||
|
||||
#. 'To' labels the newer snapshot version selector on the diff page
|
||||
#: changedetectionio/blueprint/ui/templates/diff.html
|
||||
msgctxt "diff version"
|
||||
msgid "To"
|
||||
msgstr "A"
|
||||
|
||||
@@ -1296,14 +1332,17 @@ msgid "Jump"
|
||||
msgstr "Saltar"
|
||||
|
||||
#: changedetectionio/blueprint/ui/templates/diff.html changedetectionio/blueprint/ui/templates/preview.html
|
||||
#: changedetectionio/processors/templates/extract.html
|
||||
msgid "Error Text"
|
||||
msgstr "Texto de error"
|
||||
|
||||
#: changedetectionio/blueprint/ui/templates/diff.html changedetectionio/blueprint/ui/templates/preview.html
|
||||
#: changedetectionio/processors/templates/extract.html
|
||||
msgid "Error Screenshot"
|
||||
msgstr "Captura de pantalla de error"
|
||||
|
||||
#: changedetectionio/blueprint/ui/templates/diff.html changedetectionio/blueprint/ui/templates/preview.html
|
||||
#: changedetectionio/processors/templates/extract.html
|
||||
msgid "Text"
|
||||
msgstr "Texto"
|
||||
|
||||
@@ -1311,7 +1350,8 @@ msgstr "Texto"
|
||||
msgid "Current screenshot"
|
||||
msgstr "Captura de pantalla actual"
|
||||
|
||||
#: changedetectionio/blueprint/ui/templates/diff.html
|
||||
#: changedetectionio/blueprint/ui/templates/diff.html changedetectionio/processors/extract.py
|
||||
#: changedetectionio/processors/templates/extract.html
|
||||
msgid "Extract Data"
|
||||
msgstr "Extraer datos"
|
||||
|
||||
@@ -1919,6 +1959,26 @@ msgstr "No hay monitores de detección de cambios de página web configuradas; a
|
||||
msgid "import a list"
|
||||
msgstr "importar una lista"
|
||||
|
||||
#: changedetectionio/blueprint/watchlist/templates/watch-overview.html
|
||||
msgid "Pause checks"
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/blueprint/watchlist/templates/watch-overview.html
|
||||
msgid "UnPause checks"
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/blueprint/watchlist/templates/watch-overview.html
|
||||
msgid "Mute notification"
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/blueprint/watchlist/templates/watch-overview.html
|
||||
msgid "UnMute notification"
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/blueprint/watchlist/templates/watch-overview.html
|
||||
msgid "Create a link to share watch config with others"
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/blueprint/watchlist/templates/watch-overview.html
|
||||
msgid "Detecting restock and price"
|
||||
msgstr "Detección de reabastecimiento y precio"
|
||||
@@ -1939,15 +1999,24 @@ msgstr "Precio"
|
||||
msgid "No information"
|
||||
msgstr "Sin información"
|
||||
|
||||
#: changedetectionio/blueprint/watchlist/templates/watch-overview.html
|
||||
msgid "Last Checked"
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/blueprint/watchlist/templates/watch-overview.html changedetectionio/templates/base.html
|
||||
msgid "Checking now"
|
||||
msgstr "Comprobando ahora"
|
||||
|
||||
#: changedetectionio/blueprint/watchlist/templates/watch-overview.html
|
||||
msgid "Last Changed"
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/blueprint/watchlist/templates/watch-overview.html
|
||||
msgid "Queued"
|
||||
msgstr "En cola"
|
||||
|
||||
#: changedetectionio/blueprint/watchlist/templates/watch-overview.html
|
||||
#: changedetectionio/processors/text_json_diff/difference.py
|
||||
msgid "History"
|
||||
msgstr "Historia"
|
||||
|
||||
@@ -1981,6 +2050,168 @@ msgstr "Vuelva a comprobar todo"
|
||||
msgid "in '%(title)s'"
|
||||
msgstr "en '%(title)s'"
|
||||
|
||||
#: changedetectionio/conditions/__init__.py
|
||||
msgid "Choose one - Operator"
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/conditions/__init__.py
|
||||
msgid "Greater Than"
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/conditions/__init__.py
|
||||
msgid "Less Than"
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/conditions/__init__.py
|
||||
msgid "Greater Than or Equal To"
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/conditions/__init__.py
|
||||
msgid "Less Than or Equal To"
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/conditions/__init__.py
|
||||
msgid "Equals"
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/conditions/__init__.py
|
||||
msgid "Not Equals"
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/conditions/__init__.py
|
||||
msgid "Contains"
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/conditions/__init__.py
|
||||
msgid "Choose one - Field"
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/conditions/default_plugin.py
|
||||
msgid "Does NOT Contain"
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/conditions/default_plugin.py
|
||||
msgid "Text Starts With"
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/conditions/default_plugin.py
|
||||
msgid "Text Ends With"
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/conditions/default_plugin.py
|
||||
msgid "Length minimum"
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/conditions/default_plugin.py
|
||||
msgid "Length maximum"
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/conditions/default_plugin.py
|
||||
msgid "Text Matches Regex"
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/conditions/default_plugin.py
|
||||
msgid "Text Does NOT Match Regex"
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/conditions/default_plugin.py
|
||||
msgid "Extracted number after 'Filters & Triggers'"
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/conditions/default_plugin.py
|
||||
msgid "Page text after 'Filters & Triggers'"
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/conditions/form.py
|
||||
msgid "Field"
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/conditions/form.py
|
||||
msgid "Operator"
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/conditions/form.py
|
||||
msgid "A value"
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/conditions/form.py
|
||||
msgid "Operator is required."
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/conditions/form.py
|
||||
msgid "Field is required."
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/conditions/form.py
|
||||
msgid "Value is required."
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/conditions/plugins/levenshtein_plugin.py
|
||||
msgid "Levenshtein - Text similarity ratio"
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/conditions/plugins/levenshtein_plugin.py
|
||||
msgid "Levenshtein - Text change distance"
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/conditions/plugins/levenshtein_plugin.py
|
||||
msgid "Not enough history to calculate Levenshtein metrics"
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/conditions/plugins/levenshtein_plugin.py
|
||||
msgid "Snapshot too large for edit statistics, skipping."
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/conditions/plugins/levenshtein_plugin.py
|
||||
msgid "Unable to calculate Levenshtein metrics"
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/conditions/plugins/levenshtein_plugin.py
|
||||
msgid "Levenshtein Text Similarity Details"
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/conditions/plugins/levenshtein_plugin.py
|
||||
msgid "Raw distance (edits needed)"
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/conditions/plugins/levenshtein_plugin.py
|
||||
msgid "Similarity ratio"
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/conditions/plugins/levenshtein_plugin.py
|
||||
msgid "Percent similar"
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/conditions/plugins/levenshtein_plugin.py
|
||||
msgid ""
|
||||
"Levenshtein metrics compare the last two snapshots, measuring how many character edits are needed to transform one "
|
||||
"into the other."
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/conditions/plugins/levenshtein_plugin.py
|
||||
msgid "Error calculating Levenshtein metrics"
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/conditions/plugins/wordcount_plugin.py
|
||||
msgid "Word count of content"
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/conditions/plugins/wordcount_plugin.py
|
||||
msgid "Content Analysis"
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/conditions/plugins/wordcount_plugin.py
|
||||
msgid "Word count (latest snapshot)"
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/conditions/plugins/wordcount_plugin.py
|
||||
msgid "Word count is a simple measure of content length, calculated by splitting text on whitespace."
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/content_fetchers/requests.py
|
||||
msgid "Basic fast Plaintext/HTTP Client"
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/blueprint/watchlist/templates/watch-overview.html changedetectionio/flask_app.py
|
||||
#: changedetectionio/realtime/socket_server.py
|
||||
msgid "Not yet"
|
||||
@@ -2265,10 +2496,26 @@ msgstr "Operación"
|
||||
msgid "Selector"
|
||||
msgstr "Selector"
|
||||
|
||||
#: changedetectionio/forms.py
|
||||
msgid "CSS or xPath selector"
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/forms.py
|
||||
msgid "value"
|
||||
msgstr "valor"
|
||||
|
||||
#: changedetectionio/conditions/form.py changedetectionio/forms.py
|
||||
msgid "Value"
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/forms.py
|
||||
msgid "Web Page URL"
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/forms.py
|
||||
msgid "Group Tag"
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/forms.py
|
||||
msgid "Time Between Check"
|
||||
msgstr "Tiempo entre comprobaciones"
|
||||
@@ -2357,7 +2604,8 @@ msgstr "Bloquear la detección de cambios mientras el texto coincide"
|
||||
msgid "Execute JavaScript before change detection"
|
||||
msgstr "Ejecute JavaScript antes de la detección de cambios"
|
||||
|
||||
#: changedetectionio/blueprint/tags/templates/groups-overview.html changedetectionio/forms.py
|
||||
#: changedetectionio/blueprint/tags/form.py changedetectionio/blueprint/tags/templates/groups-overview.html
|
||||
#: changedetectionio/forms.py
|
||||
msgid "Save"
|
||||
msgstr "Guardar"
|
||||
|
||||
@@ -2425,7 +2673,7 @@ msgstr "Sintaxis de plantilla no válida:%(error)s"
|
||||
msgid "Invalid template syntax in \"%(header)s\" header: %(error)s"
|
||||
msgstr "Sintaxis de plantilla no válida en \"%(header)s\"encabezado:%(error)s"
|
||||
|
||||
#: changedetectionio/forms.py
|
||||
#: changedetectionio/blueprint/tags/form.py changedetectionio/forms.py
|
||||
msgid "Name"
|
||||
msgstr "Nombre"
|
||||
|
||||
@@ -2521,6 +2769,10 @@ msgstr "Ignorar texto"
|
||||
msgid "Ignore whitespace"
|
||||
msgstr "Ignorar espacios en blanco"
|
||||
|
||||
#: changedetectionio/forms.py
|
||||
msgid "Screenshot: Minimum Change Percentage"
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/forms.py changedetectionio/processors/image_ssim_diff/forms.py
|
||||
msgid "Must be between 0 and 100"
|
||||
msgstr "Debe estar entre 0 y 100"
|
||||
@@ -2720,6 +2972,42 @@ msgstr "Reabastecimiento y detección de precios para páginas con un ÚNICO pro
|
||||
msgid "Detects if the product goes back to in-stock"
|
||||
msgstr "Detecta si el producto vuelve a estar en stock"
|
||||
|
||||
#: changedetectionio/processors/templates/extract.html
|
||||
msgid "Screenshot"
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/processors/templates/extract.html
|
||||
msgid "This tool will extract text data from all of the watch history."
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/processors/templates/extract.html
|
||||
msgid "A <strong>RegEx</strong> is a pattern that identifies exactly which part inside of the text that you want to extract."
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/processors/templates/extract.html
|
||||
msgid "For example, to extract only the numbers from text"
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/processors/templates/extract.html
|
||||
msgid "Raw text"
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/processors/templates/extract.html
|
||||
msgid "RegEx to extract:"
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/processors/templates/extract.html
|
||||
msgid "Be sure to test your RegEx here."
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/processors/templates/extract.html
|
||||
msgid "Each RegEx group bracket"
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/processors/templates/extract.html
|
||||
msgid "will be in its own column, the first column value is always the date."
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/processors/text_json_diff/processor.py
|
||||
msgid "Webpage Text/HTML, JSON and PDF changes"
|
||||
msgstr "Cambios en el texto/HTML, JSON y PDF de la página web"
|
||||
@@ -2899,7 +3187,7 @@ msgstr "Lea la wiki de servicios de notificación aquí para obtener notas de co
|
||||
msgid "Use"
|
||||
msgstr "Usar"
|
||||
|
||||
#: changedetectionio/templates/_common_fields.html
|
||||
#: changedetectionio/templates/_common_fields.html changedetectionio/templates/edit/include_subtract.html
|
||||
msgid "Show advanced help and tips"
|
||||
msgstr "Mostrar ayuda y consejos avanzados"
|
||||
|
||||
@@ -3005,6 +3293,26 @@ msgstr "Para obtener una referencia completa de todos los filtros integrados de
|
||||
msgid "Format for all notifications"
|
||||
msgstr "Formato para todas las notificaciones"
|
||||
|
||||
#: changedetectionio/templates/_common_fields.html
|
||||
msgid "Note"
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/templates/_common_fields.html
|
||||
msgid "Discord does not render HTML — switch to"
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/templates/_common_fields.html
|
||||
msgid "Plain Text"
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/templates/_common_fields.html
|
||||
msgid "format to avoid"
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/templates/_common_fields.html
|
||||
msgid "and other HTML entities appearing literally in your notifications."
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/templates/_helpers.html
|
||||
msgid "Entry"
|
||||
msgstr "Entrada"
|
||||
@@ -3123,10 +3431,18 @@ msgstr "No se producirá ninguna detección de cambios porque este texto existe.
|
||||
msgid "Blocked text"
|
||||
msgstr "Texto bloqueado"
|
||||
|
||||
#: changedetectionio/templates/base.html
|
||||
msgid "A new version is available"
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/templates/base.html
|
||||
msgid "Search, or Use Alt+S Key"
|
||||
msgstr "Buscar o usar la tecla Alt+S"
|
||||
|
||||
#: changedetectionio/templates/base.html
|
||||
msgid "Share this link:"
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/templates/base.html
|
||||
msgid "Real-time updates offline"
|
||||
msgstr "Actualizaciones en tiempo real sin conexión"
|
||||
@@ -3306,10 +3622,6 @@ msgstr "La programación está en pausa: haga clic para reanudar"
|
||||
msgid "Unmute notifications"
|
||||
msgstr "Dejar de silenciar notificaciones"
|
||||
|
||||
#: changedetectionio/templates/menu.html
|
||||
msgid "Mute notifications"
|
||||
msgstr "Silenciar notificaciones"
|
||||
|
||||
#: changedetectionio/templates/menu.html
|
||||
msgid "Notifications are muted - click to unmute"
|
||||
msgstr "Las notificaciones están silenciadas: haga clic para activar el silencio"
|
||||
@@ -3360,3 +3672,9 @@ msgstr "Configuraciones principales"
|
||||
#~ " éxito que el \"centro de datos\" para sitios web "
|
||||
#~ "bloqueados."
|
||||
|
||||
#~ msgid "From"
|
||||
#~ msgstr "De"
|
||||
|
||||
#~ msgid "To"
|
||||
#~ msgstr "A"
|
||||
|
||||
|
||||
Binary file not shown.
File diff suppressed because it is too large
Load Diff
Binary file not shown.
File diff suppressed because it is too large
Load Diff
Binary file not shown.
@@ -8,7 +8,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: changedetection.io 0.53.6\n"
|
||||
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
|
||||
"POT-Creation-Date: 2026-04-11 04:15+0200\n"
|
||||
"POT-Creation-Date: 2026-04-21 13:27+0900\n"
|
||||
"PO-Revision-Date: 2026-03-31 23:52+0900\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language: ja\n"
|
||||
@@ -600,15 +600,15 @@ msgstr "アンカータグのコンテンツをレンダリング(デフォル
|
||||
msgid "Changing this could affect the content of your existing watches, possibly trigger alerts etc."
|
||||
msgstr "これを変更すると、既存のウォッチのコンテンツに影響し、アラートが発生する可能性があります。"
|
||||
|
||||
#: changedetectionio/blueprint/settings/templates/settings.html
|
||||
#: changedetectionio/blueprint/settings/templates/settings.html changedetectionio/templates/edit/include_subtract.html
|
||||
msgid "Remove HTML element(s) by CSS and XPath selectors before text conversion."
|
||||
msgstr "テキスト変換前に CSS および XPath セレクターで HTML 要素を削除します。"
|
||||
|
||||
#: changedetectionio/blueprint/settings/templates/settings.html
|
||||
#: changedetectionio/blueprint/settings/templates/settings.html changedetectionio/templates/edit/include_subtract.html
|
||||
msgid "Don't paste HTML here, use only CSS and XPath selectors"
|
||||
msgstr "ここにHTMLを貼り付けないでください。CSSとXPathセレクターのみを使用してください。"
|
||||
|
||||
#: changedetectionio/blueprint/settings/templates/settings.html
|
||||
#: changedetectionio/blueprint/settings/templates/settings.html changedetectionio/templates/edit/include_subtract.html
|
||||
msgid "Add multiple elements, CSS or XPath selectors per line to ignore multiple parts of the HTML."
|
||||
msgstr "1行に1つのCSSまたはXPathセレクターを追加して、HTMLの複数の部分を無視できます。"
|
||||
|
||||
@@ -839,6 +839,26 @@ msgstr "タグが見つかりません"
|
||||
msgid "Updated"
|
||||
msgstr "更新しました"
|
||||
|
||||
#: changedetectionio/blueprint/tags/form.py
|
||||
msgid "Activate for individual watches in this tag/group?"
|
||||
msgstr "このタグ/グループ内の個別ウォッチに対して有効にしますか?"
|
||||
|
||||
#: changedetectionio/blueprint/tags/form.py
|
||||
msgid "Auto-apply to watches with URLs matching"
|
||||
msgstr "URLが一致するウォッチに自動適用"
|
||||
|
||||
#: changedetectionio/blueprint/tags/form.py
|
||||
msgid "e.g. *://example.com/* or github.com/myorg"
|
||||
msgstr "例: *://example.com/* や github.com/myorg"
|
||||
|
||||
#: changedetectionio/blueprint/tags/form.py changedetectionio/blueprint/tags/templates/edit-tag.html
|
||||
msgid "Tag colour"
|
||||
msgstr "タグの色"
|
||||
|
||||
#: changedetectionio/blueprint/tags/form.py
|
||||
msgid "Tag name"
|
||||
msgstr "タグ名"
|
||||
|
||||
#: changedetectionio/blueprint/tags/templates/edit-tag.html changedetectionio/blueprint/ui/templates/edit.html
|
||||
msgid "Filters & Triggers"
|
||||
msgstr "フィルタとトリガー"
|
||||
@@ -853,10 +873,6 @@ msgstr "URLが一致するウォッチにこのタグを自動適用します。
|
||||
msgid "Currently matching watches"
|
||||
msgstr "現在マッチしているウォッチ"
|
||||
|
||||
#: changedetectionio/blueprint/tags/templates/edit-tag.html
|
||||
msgid "Tag colour"
|
||||
msgstr "タグの色"
|
||||
|
||||
#: changedetectionio/blueprint/tags/templates/edit-tag.html
|
||||
msgid "Custom colour"
|
||||
msgstr "カスタム色"
|
||||
@@ -901,7 +917,7 @@ msgid "Lookout!"
|
||||
msgstr "注意!"
|
||||
|
||||
# 訳注: "There are" + <a>"system-wide notification URLs enabled"</a> + ", " + ...
|
||||
# → 「 件のシステム全体の通知URLが有効化されています、...」
|
||||
# → 「システム全体の通知URLが有効化されています、...」
|
||||
# 前半は日本語では不要なため、空白1文字で非表示にする(空文字は英語にフォールバックするため)
|
||||
#: changedetectionio/blueprint/tags/templates/edit-tag.html changedetectionio/blueprint/ui/templates/edit.html
|
||||
msgid "There are"
|
||||
@@ -909,7 +925,7 @@ msgstr " "
|
||||
|
||||
#: changedetectionio/blueprint/tags/templates/edit-tag.html changedetectionio/blueprint/ui/templates/edit.html
|
||||
msgid "system-wide notification URLs enabled"
|
||||
msgstr "件のシステム全体の通知URLが有効化されています"
|
||||
msgstr "システム全体の通知URLが有効化されています"
|
||||
|
||||
#: changedetectionio/blueprint/tags/templates/edit-tag.html changedetectionio/blueprint/ui/templates/edit.html
|
||||
msgid "this form will override notification settings for this watch only"
|
||||
@@ -948,7 +964,11 @@ msgstr "タグ / ラベル名"
|
||||
msgid "No website organisational tags/groups configured"
|
||||
msgstr "ウェブサイトの組織タグ/グループが設定されていません"
|
||||
|
||||
#: changedetectionio/blueprint/tags/templates/groups-overview.html
|
||||
#: changedetectionio/blueprint/tags/templates/groups-overview.html changedetectionio/templates/menu.html
|
||||
msgid "Mute notifications"
|
||||
msgstr "通知をミュート"
|
||||
|
||||
#: changedetectionio/blueprint/tags/templates/groups-overview.html changedetectionio/blueprint/ui/edit.py
|
||||
#: changedetectionio/blueprint/watchlist/templates/watch-overview.html
|
||||
msgid "Edit"
|
||||
msgstr "編集"
|
||||
@@ -1151,6 +1171,14 @@ msgstr "「{}」プロセッサーを読み込めませんでした。プロセ
|
||||
msgid "Could not load '{}' processor, processor plugin might be missing."
|
||||
msgstr "「{}」プロセッサーを読み込めませんでした。プロセッサープラグインが見つからない可能性があります。"
|
||||
|
||||
#: changedetectionio/blueprint/ui/edit.py
|
||||
msgid "System settings default"
|
||||
msgstr "システム設定のデフォルト"
|
||||
|
||||
#: changedetectionio/blueprint/ui/edit.py
|
||||
msgid "Default"
|
||||
msgstr "デフォルト"
|
||||
|
||||
#: changedetectionio/blueprint/ui/edit.py
|
||||
msgid "Updated watch - unpaused!"
|
||||
msgstr "ウォッチを更新しました - 一時停止を解除しました!"
|
||||
@@ -1163,6 +1191,10 @@ msgstr "ウォッチを更新しました。"
|
||||
msgid "Preview unavailable - No fetch/check completed or triggers not reached"
|
||||
msgstr "プレビューを表示できません - 取得/チェックが完了していないか、トリガーに達していません"
|
||||
|
||||
#: changedetectionio/blueprint/ui/preview.py
|
||||
msgid "Diff"
|
||||
msgstr "差分"
|
||||
|
||||
#: changedetectionio/blueprint/ui/templates/clear_all_history.html
|
||||
msgid "This will remove version history (snapshots) for ALL watches, but keep your list of URLs!"
|
||||
msgstr "これにより、すべてのウォッチのバージョン履歴(スナップショット)が削除されますが、URLのリストは保持されます!"
|
||||
@@ -1218,11 +1250,15 @@ msgstr "一致する行を無視"
|
||||
msgid "Ignore any lines matching excluding digits"
|
||||
msgstr "数字を除いて一致する行を無視"
|
||||
|
||||
#. 'From' labels the older snapshot version selector on the diff page
|
||||
#: changedetectionio/blueprint/ui/templates/diff.html
|
||||
msgctxt "diff version"
|
||||
msgid "From"
|
||||
msgstr "変更前"
|
||||
|
||||
#. 'To' labels the newer snapshot version selector on the diff page
|
||||
#: changedetectionio/blueprint/ui/templates/diff.html
|
||||
msgctxt "diff version"
|
||||
msgid "To"
|
||||
msgstr "変更後"
|
||||
|
||||
@@ -1275,14 +1311,17 @@ msgid "Jump"
|
||||
msgstr "ジャンプ"
|
||||
|
||||
#: changedetectionio/blueprint/ui/templates/diff.html changedetectionio/blueprint/ui/templates/preview.html
|
||||
#: changedetectionio/processors/templates/extract.html
|
||||
msgid "Error Text"
|
||||
msgstr "エラーテキスト"
|
||||
|
||||
#: changedetectionio/blueprint/ui/templates/diff.html changedetectionio/blueprint/ui/templates/preview.html
|
||||
#: changedetectionio/processors/templates/extract.html
|
||||
msgid "Error Screenshot"
|
||||
msgstr "エラースクリーンショット"
|
||||
|
||||
#: changedetectionio/blueprint/ui/templates/diff.html changedetectionio/blueprint/ui/templates/preview.html
|
||||
#: changedetectionio/processors/templates/extract.html
|
||||
msgid "Text"
|
||||
msgstr "テキスト"
|
||||
|
||||
@@ -1290,7 +1329,8 @@ msgstr "テキスト"
|
||||
msgid "Current screenshot"
|
||||
msgstr "現在のスクリーンショット"
|
||||
|
||||
#: changedetectionio/blueprint/ui/templates/diff.html
|
||||
#: changedetectionio/blueprint/ui/templates/diff.html changedetectionio/processors/extract.py
|
||||
#: changedetectionio/processors/templates/extract.html
|
||||
msgid "Extract Data"
|
||||
msgstr "データを抽出"
|
||||
|
||||
@@ -1890,6 +1930,26 @@ msgstr "ウェブページ変更検知ウォッチが設定されていません
|
||||
msgid "import a list"
|
||||
msgstr "リストをインポート"
|
||||
|
||||
#: changedetectionio/blueprint/watchlist/templates/watch-overview.html
|
||||
msgid "Pause checks"
|
||||
msgstr "チェックを一時停止"
|
||||
|
||||
#: changedetectionio/blueprint/watchlist/templates/watch-overview.html
|
||||
msgid "UnPause checks"
|
||||
msgstr "チェックを再開"
|
||||
|
||||
#: changedetectionio/blueprint/watchlist/templates/watch-overview.html
|
||||
msgid "Mute notification"
|
||||
msgstr "通知をミュート"
|
||||
|
||||
#: changedetectionio/blueprint/watchlist/templates/watch-overview.html
|
||||
msgid "UnMute notification"
|
||||
msgstr "通知のミュートを解除"
|
||||
|
||||
#: changedetectionio/blueprint/watchlist/templates/watch-overview.html
|
||||
msgid "Create a link to share watch config with others"
|
||||
msgstr "ウォッチ設定を他の人と共有するリンクを作成"
|
||||
|
||||
#: changedetectionio/blueprint/watchlist/templates/watch-overview.html
|
||||
msgid "Detecting restock and price"
|
||||
msgstr "在庫補充と価格を検知中"
|
||||
@@ -1910,15 +1970,24 @@ msgstr "価格"
|
||||
msgid "No information"
|
||||
msgstr "情報なし"
|
||||
|
||||
#: changedetectionio/blueprint/watchlist/templates/watch-overview.html
|
||||
msgid "Last Checked"
|
||||
msgstr "前回チェック"
|
||||
|
||||
#: changedetectionio/blueprint/watchlist/templates/watch-overview.html changedetectionio/templates/base.html
|
||||
msgid "Checking now"
|
||||
msgstr "今すぐチェック"
|
||||
|
||||
#: changedetectionio/blueprint/watchlist/templates/watch-overview.html
|
||||
msgid "Last Changed"
|
||||
msgstr "前回更新"
|
||||
|
||||
#: changedetectionio/blueprint/watchlist/templates/watch-overview.html
|
||||
msgid "Queued"
|
||||
msgstr "キュー済み"
|
||||
|
||||
#: changedetectionio/blueprint/watchlist/templates/watch-overview.html
|
||||
#: changedetectionio/processors/text_json_diff/difference.py
|
||||
msgid "History"
|
||||
msgstr "履歴"
|
||||
|
||||
@@ -1952,6 +2021,168 @@ msgstr "すべて再チェック"
|
||||
msgid "in '%(title)s'"
|
||||
msgstr "'%(title)s' 内"
|
||||
|
||||
#: changedetectionio/conditions/__init__.py
|
||||
msgid "Choose one - Operator"
|
||||
msgstr "選択してください - 演算子"
|
||||
|
||||
#: changedetectionio/conditions/__init__.py
|
||||
msgid "Greater Than"
|
||||
msgstr "より大きい"
|
||||
|
||||
#: changedetectionio/conditions/__init__.py
|
||||
msgid "Less Than"
|
||||
msgstr "より小さい"
|
||||
|
||||
#: changedetectionio/conditions/__init__.py
|
||||
msgid "Greater Than or Equal To"
|
||||
msgstr "以上"
|
||||
|
||||
#: changedetectionio/conditions/__init__.py
|
||||
msgid "Less Than or Equal To"
|
||||
msgstr "以下"
|
||||
|
||||
#: changedetectionio/conditions/__init__.py
|
||||
msgid "Equals"
|
||||
msgstr "等しい"
|
||||
|
||||
#: changedetectionio/conditions/__init__.py
|
||||
msgid "Not Equals"
|
||||
msgstr "等しくない"
|
||||
|
||||
#: changedetectionio/conditions/__init__.py
|
||||
msgid "Contains"
|
||||
msgstr "含む"
|
||||
|
||||
#: changedetectionio/conditions/__init__.py
|
||||
msgid "Choose one - Field"
|
||||
msgstr "選択してください - フィールド"
|
||||
|
||||
#: changedetectionio/conditions/default_plugin.py
|
||||
msgid "Does NOT Contain"
|
||||
msgstr "含まない"
|
||||
|
||||
#: changedetectionio/conditions/default_plugin.py
|
||||
msgid "Text Starts With"
|
||||
msgstr "テキストが次で始まる"
|
||||
|
||||
#: changedetectionio/conditions/default_plugin.py
|
||||
msgid "Text Ends With"
|
||||
msgstr "テキストが次で終わる"
|
||||
|
||||
#: changedetectionio/conditions/default_plugin.py
|
||||
msgid "Length minimum"
|
||||
msgstr "文字数の最小値"
|
||||
|
||||
#: changedetectionio/conditions/default_plugin.py
|
||||
msgid "Length maximum"
|
||||
msgstr "文字数の最大値"
|
||||
|
||||
#: changedetectionio/conditions/default_plugin.py
|
||||
msgid "Text Matches Regex"
|
||||
msgstr "テキストが正規表現にマッチ"
|
||||
|
||||
#: changedetectionio/conditions/default_plugin.py
|
||||
msgid "Text Does NOT Match Regex"
|
||||
msgstr "テキストが正規表現にマッチしない"
|
||||
|
||||
#: changedetectionio/conditions/default_plugin.py
|
||||
msgid "Extracted number after 'Filters & Triggers'"
|
||||
msgstr "'フィルタとトリガー' 後に抽出された数値"
|
||||
|
||||
#: changedetectionio/conditions/default_plugin.py
|
||||
msgid "Page text after 'Filters & Triggers'"
|
||||
msgstr "'フィルタとトリガー' 後のページテキスト"
|
||||
|
||||
#: changedetectionio/conditions/form.py
|
||||
msgid "Field"
|
||||
msgstr "フィールド"
|
||||
|
||||
#: changedetectionio/conditions/form.py
|
||||
msgid "Operator"
|
||||
msgstr "演算子"
|
||||
|
||||
#: changedetectionio/conditions/form.py
|
||||
msgid "A value"
|
||||
msgstr "値"
|
||||
|
||||
#: changedetectionio/conditions/form.py
|
||||
msgid "Operator is required."
|
||||
msgstr "演算子は必須です。"
|
||||
|
||||
#: changedetectionio/conditions/form.py
|
||||
msgid "Field is required."
|
||||
msgstr "フィールドは必須です。"
|
||||
|
||||
#: changedetectionio/conditions/form.py
|
||||
msgid "Value is required."
|
||||
msgstr "値は必須です。"
|
||||
|
||||
#: changedetectionio/conditions/plugins/levenshtein_plugin.py
|
||||
msgid "Levenshtein - Text similarity ratio"
|
||||
msgstr "レーベンシュタイン - テキスト類似度"
|
||||
|
||||
#: changedetectionio/conditions/plugins/levenshtein_plugin.py
|
||||
msgid "Levenshtein - Text change distance"
|
||||
msgstr "レーベンシュタイン - テキスト変化距離"
|
||||
|
||||
#: changedetectionio/conditions/plugins/levenshtein_plugin.py
|
||||
msgid "Not enough history to calculate Levenshtein metrics"
|
||||
msgstr "レーベンシュタイン指標を計算するのに十分な履歴がありません"
|
||||
|
||||
#: changedetectionio/conditions/plugins/levenshtein_plugin.py
|
||||
msgid "Snapshot too large for edit statistics, skipping."
|
||||
msgstr "スナップショットが大きすぎるため、編集統計をスキップします。"
|
||||
|
||||
#: changedetectionio/conditions/plugins/levenshtein_plugin.py
|
||||
msgid "Unable to calculate Levenshtein metrics"
|
||||
msgstr "レーベンシュタイン指標を計算できません"
|
||||
|
||||
#: changedetectionio/conditions/plugins/levenshtein_plugin.py
|
||||
msgid "Levenshtein Text Similarity Details"
|
||||
msgstr "レーベンシュタイン テキスト類似度の詳細"
|
||||
|
||||
#: changedetectionio/conditions/plugins/levenshtein_plugin.py
|
||||
msgid "Raw distance (edits needed)"
|
||||
msgstr "編集距離(必要な編集回数)"
|
||||
|
||||
#: changedetectionio/conditions/plugins/levenshtein_plugin.py
|
||||
msgid "Similarity ratio"
|
||||
msgstr "類似度"
|
||||
|
||||
#: changedetectionio/conditions/plugins/levenshtein_plugin.py
|
||||
msgid "Percent similar"
|
||||
msgstr "類似度(%)"
|
||||
|
||||
#: changedetectionio/conditions/plugins/levenshtein_plugin.py
|
||||
msgid ""
|
||||
"Levenshtein metrics compare the last two snapshots, measuring how many character edits are needed to transform one "
|
||||
"into the other."
|
||||
msgstr "レーベンシュタイン指標は直近2つのスナップショットを比較し、一方を他方に変換するために必要な文字編集回数を測定します。"
|
||||
|
||||
#: changedetectionio/conditions/plugins/levenshtein_plugin.py
|
||||
msgid "Error calculating Levenshtein metrics"
|
||||
msgstr "レーベンシュタイン指標の計算中にエラーが発生しました"
|
||||
|
||||
#: changedetectionio/conditions/plugins/wordcount_plugin.py
|
||||
msgid "Word count of content"
|
||||
msgstr "コンテンツの単語数"
|
||||
|
||||
#: changedetectionio/conditions/plugins/wordcount_plugin.py
|
||||
msgid "Content Analysis"
|
||||
msgstr "コンテンツ分析"
|
||||
|
||||
#: changedetectionio/conditions/plugins/wordcount_plugin.py
|
||||
msgid "Word count (latest snapshot)"
|
||||
msgstr "単語数(最新のスナップショット)"
|
||||
|
||||
#: changedetectionio/conditions/plugins/wordcount_plugin.py
|
||||
msgid "Word count is a simple measure of content length, calculated by splitting text on whitespace."
|
||||
msgstr "単語数はコンテンツの長さを示す簡易指標で、テキストを空白で分割して計算されます。"
|
||||
|
||||
#: changedetectionio/content_fetchers/requests.py
|
||||
msgid "Basic fast Plaintext/HTTP Client"
|
||||
msgstr "シンプルで高速なプレーンテキスト/HTTPクライアント"
|
||||
|
||||
#: changedetectionio/blueprint/watchlist/templates/watch-overview.html changedetectionio/flask_app.py
|
||||
#: changedetectionio/realtime/socket_server.py
|
||||
msgid "Not yet"
|
||||
@@ -2234,10 +2465,26 @@ msgstr "操作"
|
||||
msgid "Selector"
|
||||
msgstr "セレクター"
|
||||
|
||||
#: changedetectionio/forms.py
|
||||
msgid "CSS or xPath selector"
|
||||
msgstr "CSS または xPath セレクター"
|
||||
|
||||
#: changedetectionio/forms.py
|
||||
msgid "value"
|
||||
msgstr "値"
|
||||
|
||||
#: changedetectionio/conditions/form.py changedetectionio/forms.py
|
||||
msgid "Value"
|
||||
msgstr "値"
|
||||
|
||||
#: changedetectionio/forms.py
|
||||
msgid "Web Page URL"
|
||||
msgstr "ウェブページ URL"
|
||||
|
||||
#: changedetectionio/forms.py
|
||||
msgid "Group Tag"
|
||||
msgstr "グループタグ"
|
||||
|
||||
#: changedetectionio/forms.py
|
||||
msgid "Time Between Check"
|
||||
msgstr "チェック間隔"
|
||||
@@ -2326,7 +2573,8 @@ msgstr "テキストが一致している間は変更検知をブロック"
|
||||
msgid "Execute JavaScript before change detection"
|
||||
msgstr "変更検知前にJavaScriptを実行"
|
||||
|
||||
#: changedetectionio/blueprint/tags/templates/groups-overview.html changedetectionio/forms.py
|
||||
#: changedetectionio/blueprint/tags/form.py changedetectionio/blueprint/tags/templates/groups-overview.html
|
||||
#: changedetectionio/forms.py
|
||||
msgid "Save"
|
||||
msgstr "保存"
|
||||
|
||||
@@ -2394,7 +2642,7 @@ msgstr "無効なテンプレート構文: %(error)s"
|
||||
msgid "Invalid template syntax in \"%(header)s\" header: %(error)s"
|
||||
msgstr "\"%(header)s\" ヘッダーのテンプレート構文が無効です: %(error)s"
|
||||
|
||||
#: changedetectionio/forms.py
|
||||
#: changedetectionio/blueprint/tags/form.py changedetectionio/forms.py
|
||||
msgid "Name"
|
||||
msgstr "名前"
|
||||
|
||||
@@ -2490,6 +2738,10 @@ msgstr "無視するテキスト"
|
||||
msgid "Ignore whitespace"
|
||||
msgstr "空白を無視"
|
||||
|
||||
#: changedetectionio/forms.py
|
||||
msgid "Screenshot: Minimum Change Percentage"
|
||||
msgstr "スクリーンショット: 最小変化率"
|
||||
|
||||
#: changedetectionio/forms.py changedetectionio/processors/image_ssim_diff/forms.py
|
||||
msgid "Must be between 0 and 100"
|
||||
msgstr "0から100の間で指定してください"
|
||||
@@ -2689,6 +2941,42 @@ msgstr "単一製品ページの在庫補充&価格検知"
|
||||
msgid "Detects if the product goes back to in-stock"
|
||||
msgstr "製品が在庫ありに戻ったかどうかを検知します"
|
||||
|
||||
#: changedetectionio/processors/templates/extract.html
|
||||
msgid "Screenshot"
|
||||
msgstr "スクリーンショット"
|
||||
|
||||
#: changedetectionio/processors/templates/extract.html
|
||||
msgid "This tool will extract text data from all of the watch history."
|
||||
msgstr "このツールはすべてのウォッチ履歴からテキストデータを抽出します。"
|
||||
|
||||
#: changedetectionio/processors/templates/extract.html
|
||||
msgid "A <strong>RegEx</strong> is a pattern that identifies exactly which part inside of the text that you want to extract."
|
||||
msgstr "<strong>正規表現</strong> は、抽出したいテキスト内の部分を正確に特定するためのパターンです。"
|
||||
|
||||
#: changedetectionio/processors/templates/extract.html
|
||||
msgid "For example, to extract only the numbers from text"
|
||||
msgstr "例えば、テキストから数値のみを抽出するには"
|
||||
|
||||
#: changedetectionio/processors/templates/extract.html
|
||||
msgid "Raw text"
|
||||
msgstr "元のテキスト"
|
||||
|
||||
#: changedetectionio/processors/templates/extract.html
|
||||
msgid "RegEx to extract:"
|
||||
msgstr "抽出用の正規表現:"
|
||||
|
||||
#: changedetectionio/processors/templates/extract.html
|
||||
msgid "Be sure to test your RegEx here."
|
||||
msgstr "ここで正規表現をテストしてください。"
|
||||
|
||||
#: changedetectionio/processors/templates/extract.html
|
||||
msgid "Each RegEx group bracket"
|
||||
msgstr "正規表現の各グループ括弧"
|
||||
|
||||
#: changedetectionio/processors/templates/extract.html
|
||||
msgid "will be in its own column, the first column value is always the date."
|
||||
msgstr "は独立したカラムとなり、最初のカラムの値は常に日付です。"
|
||||
|
||||
#: changedetectionio/processors/text_json_diff/processor.py
|
||||
msgid "Webpage Text/HTML, JSON and PDF changes"
|
||||
msgstr "ウェブページのテキスト/HTML、JSONおよびPDFの変更"
|
||||
@@ -2880,7 +3168,7 @@ msgstr "重要な設定に関するメモについては、通知サービスの
|
||||
msgid "Use"
|
||||
msgstr " "
|
||||
|
||||
#: changedetectionio/templates/_common_fields.html
|
||||
#: changedetectionio/templates/_common_fields.html changedetectionio/templates/edit/include_subtract.html
|
||||
msgid "Show advanced help and tips"
|
||||
msgstr "詳細なヘルプとヒントを表示"
|
||||
|
||||
@@ -2991,6 +3279,30 @@ msgstr "すべての Jinja2 組み込みフィルタの完全なリファレン
|
||||
msgid "Format for all notifications"
|
||||
msgstr "すべての通知のフォーマット"
|
||||
|
||||
#: changedetectionio/templates/_common_fields.html
|
||||
msgid "Note"
|
||||
msgstr "注意"
|
||||
|
||||
# 訳注: "Discord does not render HTML — switch to <Plain Text> format to avoid < > and other HTML entities appearing
|
||||
# literally in your notifications."
|
||||
# → 「Discord は HTML をレンダリングしません。プレーンテキスト形式に切り替えて、通知で などの HTML エンティティがそのまま表示されるのを回避してください。」
|
||||
# 3分割された文をプレースホルダー位置に合わせて再配分
|
||||
#: changedetectionio/templates/_common_fields.html
|
||||
msgid "Discord does not render HTML — switch to"
|
||||
msgstr "Discord は HTML をレンダリングしません。"
|
||||
|
||||
#: changedetectionio/templates/_common_fields.html
|
||||
msgid "Plain Text"
|
||||
msgstr "プレーンテキスト"
|
||||
|
||||
#: changedetectionio/templates/_common_fields.html
|
||||
msgid "format to avoid"
|
||||
msgstr " 形式に切り替えて、通知で "
|
||||
|
||||
#: changedetectionio/templates/_common_fields.html
|
||||
msgid "and other HTML entities appearing literally in your notifications."
|
||||
msgstr " などの HTML エンティティがそのまま表示されるのを回避してください。"
|
||||
|
||||
#: changedetectionio/templates/_helpers.html
|
||||
msgid "Entry"
|
||||
msgstr "エントリー"
|
||||
@@ -3110,10 +3422,18 @@ msgstr "このテキストが存在するため、変更検知は実行されま
|
||||
msgid "Blocked text"
|
||||
msgstr "ブロックされたテキスト"
|
||||
|
||||
#: changedetectionio/templates/base.html
|
||||
msgid "A new version is available"
|
||||
msgstr "新しいバージョンが利用可能です"
|
||||
|
||||
#: changedetectionio/templates/base.html
|
||||
msgid "Search, or Use Alt+S Key"
|
||||
msgstr "検索、またはAlt+Sキーを使用"
|
||||
|
||||
#: changedetectionio/templates/base.html
|
||||
msgid "Share this link:"
|
||||
msgstr "このリンクを共有:"
|
||||
|
||||
#: changedetectionio/templates/base.html
|
||||
msgid "Real-time updates offline"
|
||||
msgstr "リアルタイム更新オフライン"
|
||||
@@ -3289,10 +3609,6 @@ msgstr "スケジューリングは一時停止中 - クリックして再開"
|
||||
msgid "Unmute notifications"
|
||||
msgstr "通知のミュートを解除"
|
||||
|
||||
#: changedetectionio/templates/menu.html
|
||||
msgid "Mute notifications"
|
||||
msgstr "通知をミュート"
|
||||
|
||||
#: changedetectionio/templates/menu.html
|
||||
msgid "Notifications are muted - click to unmute"
|
||||
msgstr "通知はミュート中 - クリックして解除"
|
||||
@@ -3340,3 +3656,9 @@ msgstr "メイン設定"
|
||||
#~ msgid "\"Residential\" and \"Mobile\" proxy type can be more successfull than \"Data Center\" for blocked websites."
|
||||
#~ msgstr "ブロックされているウェブサイトには、「データセンター」よりも「住居用」や「モバイル」プロキシタイプが効果的です。"
|
||||
|
||||
#~ msgid "From"
|
||||
#~ msgstr "変更前"
|
||||
|
||||
#~ msgid "To"
|
||||
#~ msgstr "変更後"
|
||||
|
||||
|
||||
Binary file not shown.
File diff suppressed because it is too large
Load Diff
@@ -6,9 +6,9 @@
|
||||
#, fuzzy
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: changedetection.io 0.54.8\n"
|
||||
"Project-Id-Version: changedetection.io 0.54.10\n"
|
||||
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
|
||||
"POT-Creation-Date: 2026-04-11 04:15+0200\n"
|
||||
"POT-Creation-Date: 2026-04-21 13:27+0900\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"
|
||||
@@ -589,15 +589,15 @@ msgstr ""
|
||||
msgid "Changing this could affect the content of your existing watches, possibly trigger alerts etc."
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/blueprint/settings/templates/settings.html
|
||||
#: changedetectionio/blueprint/settings/templates/settings.html changedetectionio/templates/edit/include_subtract.html
|
||||
msgid "Remove HTML element(s) by CSS and XPath selectors before text conversion."
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/blueprint/settings/templates/settings.html
|
||||
#: changedetectionio/blueprint/settings/templates/settings.html changedetectionio/templates/edit/include_subtract.html
|
||||
msgid "Don't paste HTML here, use only CSS and XPath selectors"
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/blueprint/settings/templates/settings.html
|
||||
#: changedetectionio/blueprint/settings/templates/settings.html changedetectionio/templates/edit/include_subtract.html
|
||||
msgid "Add multiple elements, CSS or XPath selectors per line to ignore multiple parts of the HTML."
|
||||
msgstr ""
|
||||
|
||||
@@ -828,6 +828,26 @@ msgstr ""
|
||||
msgid "Updated"
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/blueprint/tags/form.py
|
||||
msgid "Activate for individual watches in this tag/group?"
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/blueprint/tags/form.py
|
||||
msgid "Auto-apply to watches with URLs matching"
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/blueprint/tags/form.py
|
||||
msgid "e.g. *://example.com/* or github.com/myorg"
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/blueprint/tags/form.py changedetectionio/blueprint/tags/templates/edit-tag.html
|
||||
msgid "Tag colour"
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/blueprint/tags/form.py
|
||||
msgid "Tag name"
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/blueprint/tags/templates/edit-tag.html changedetectionio/blueprint/ui/templates/edit.html
|
||||
msgid "Filters & Triggers"
|
||||
msgstr ""
|
||||
@@ -842,10 +862,6 @@ msgstr ""
|
||||
msgid "Currently matching watches"
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/blueprint/tags/templates/edit-tag.html
|
||||
msgid "Tag colour"
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/blueprint/tags/templates/edit-tag.html
|
||||
msgid "Custom colour"
|
||||
msgstr ""
|
||||
@@ -931,7 +947,11 @@ msgstr ""
|
||||
msgid "No website organisational tags/groups configured"
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/blueprint/tags/templates/groups-overview.html
|
||||
#: changedetectionio/blueprint/tags/templates/groups-overview.html changedetectionio/templates/menu.html
|
||||
msgid "Mute notifications"
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/blueprint/tags/templates/groups-overview.html changedetectionio/blueprint/ui/edit.py
|
||||
#: changedetectionio/blueprint/watchlist/templates/watch-overview.html
|
||||
msgid "Edit"
|
||||
msgstr ""
|
||||
@@ -1134,6 +1154,14 @@ msgstr ""
|
||||
msgid "Could not load '{}' processor, processor plugin might be missing."
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/blueprint/ui/edit.py
|
||||
msgid "System settings default"
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/blueprint/ui/edit.py
|
||||
msgid "Default"
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/blueprint/ui/edit.py
|
||||
msgid "Updated watch - unpaused!"
|
||||
msgstr ""
|
||||
@@ -1146,6 +1174,10 @@ msgstr ""
|
||||
msgid "Preview unavailable - No fetch/check completed or triggers not reached"
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/blueprint/ui/preview.py
|
||||
msgid "Diff"
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/blueprint/ui/templates/clear_all_history.html
|
||||
msgid "This will remove version history (snapshots) for ALL watches, but keep your list of URLs!"
|
||||
msgstr ""
|
||||
@@ -1198,11 +1230,15 @@ msgstr ""
|
||||
msgid "Ignore any lines matching excluding digits"
|
||||
msgstr ""
|
||||
|
||||
#. 'From' labels the older snapshot version selector on the diff page
|
||||
#: changedetectionio/blueprint/ui/templates/diff.html
|
||||
msgctxt "diff version"
|
||||
msgid "From"
|
||||
msgstr ""
|
||||
|
||||
#. 'To' labels the newer snapshot version selector on the diff page
|
||||
#: changedetectionio/blueprint/ui/templates/diff.html
|
||||
msgctxt "diff version"
|
||||
msgid "To"
|
||||
msgstr ""
|
||||
|
||||
@@ -1255,14 +1291,17 @@ msgid "Jump"
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/blueprint/ui/templates/diff.html changedetectionio/blueprint/ui/templates/preview.html
|
||||
#: changedetectionio/processors/templates/extract.html
|
||||
msgid "Error Text"
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/blueprint/ui/templates/diff.html changedetectionio/blueprint/ui/templates/preview.html
|
||||
#: changedetectionio/processors/templates/extract.html
|
||||
msgid "Error Screenshot"
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/blueprint/ui/templates/diff.html changedetectionio/blueprint/ui/templates/preview.html
|
||||
#: changedetectionio/processors/templates/extract.html
|
||||
msgid "Text"
|
||||
msgstr ""
|
||||
|
||||
@@ -1270,7 +1309,8 @@ msgstr ""
|
||||
msgid "Current screenshot"
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/blueprint/ui/templates/diff.html
|
||||
#: changedetectionio/blueprint/ui/templates/diff.html changedetectionio/processors/extract.py
|
||||
#: changedetectionio/processors/templates/extract.html
|
||||
msgid "Extract Data"
|
||||
msgstr ""
|
||||
|
||||
@@ -1860,6 +1900,26 @@ msgstr ""
|
||||
msgid "import a list"
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/blueprint/watchlist/templates/watch-overview.html
|
||||
msgid "Pause checks"
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/blueprint/watchlist/templates/watch-overview.html
|
||||
msgid "UnPause checks"
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/blueprint/watchlist/templates/watch-overview.html
|
||||
msgid "Mute notification"
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/blueprint/watchlist/templates/watch-overview.html
|
||||
msgid "UnMute notification"
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/blueprint/watchlist/templates/watch-overview.html
|
||||
msgid "Create a link to share watch config with others"
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/blueprint/watchlist/templates/watch-overview.html
|
||||
msgid "Detecting restock and price"
|
||||
msgstr ""
|
||||
@@ -1880,15 +1940,24 @@ msgstr ""
|
||||
msgid "No information"
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/blueprint/watchlist/templates/watch-overview.html
|
||||
msgid "Last Checked"
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/blueprint/watchlist/templates/watch-overview.html changedetectionio/templates/base.html
|
||||
msgid "Checking now"
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/blueprint/watchlist/templates/watch-overview.html
|
||||
msgid "Last Changed"
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/blueprint/watchlist/templates/watch-overview.html
|
||||
msgid "Queued"
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/blueprint/watchlist/templates/watch-overview.html
|
||||
#: changedetectionio/processors/text_json_diff/difference.py
|
||||
msgid "History"
|
||||
msgstr ""
|
||||
|
||||
@@ -1922,6 +1991,168 @@ msgstr ""
|
||||
msgid "in '%(title)s'"
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/conditions/__init__.py
|
||||
msgid "Choose one - Operator"
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/conditions/__init__.py
|
||||
msgid "Greater Than"
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/conditions/__init__.py
|
||||
msgid "Less Than"
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/conditions/__init__.py
|
||||
msgid "Greater Than or Equal To"
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/conditions/__init__.py
|
||||
msgid "Less Than or Equal To"
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/conditions/__init__.py
|
||||
msgid "Equals"
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/conditions/__init__.py
|
||||
msgid "Not Equals"
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/conditions/__init__.py
|
||||
msgid "Contains"
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/conditions/__init__.py
|
||||
msgid "Choose one - Field"
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/conditions/default_plugin.py
|
||||
msgid "Does NOT Contain"
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/conditions/default_plugin.py
|
||||
msgid "Text Starts With"
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/conditions/default_plugin.py
|
||||
msgid "Text Ends With"
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/conditions/default_plugin.py
|
||||
msgid "Length minimum"
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/conditions/default_plugin.py
|
||||
msgid "Length maximum"
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/conditions/default_plugin.py
|
||||
msgid "Text Matches Regex"
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/conditions/default_plugin.py
|
||||
msgid "Text Does NOT Match Regex"
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/conditions/default_plugin.py
|
||||
msgid "Extracted number after 'Filters & Triggers'"
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/conditions/default_plugin.py
|
||||
msgid "Page text after 'Filters & Triggers'"
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/conditions/form.py
|
||||
msgid "Field"
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/conditions/form.py
|
||||
msgid "Operator"
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/conditions/form.py
|
||||
msgid "A value"
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/conditions/form.py
|
||||
msgid "Operator is required."
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/conditions/form.py
|
||||
msgid "Field is required."
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/conditions/form.py
|
||||
msgid "Value is required."
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/conditions/plugins/levenshtein_plugin.py
|
||||
msgid "Levenshtein - Text similarity ratio"
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/conditions/plugins/levenshtein_plugin.py
|
||||
msgid "Levenshtein - Text change distance"
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/conditions/plugins/levenshtein_plugin.py
|
||||
msgid "Not enough history to calculate Levenshtein metrics"
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/conditions/plugins/levenshtein_plugin.py
|
||||
msgid "Snapshot too large for edit statistics, skipping."
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/conditions/plugins/levenshtein_plugin.py
|
||||
msgid "Unable to calculate Levenshtein metrics"
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/conditions/plugins/levenshtein_plugin.py
|
||||
msgid "Levenshtein Text Similarity Details"
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/conditions/plugins/levenshtein_plugin.py
|
||||
msgid "Raw distance (edits needed)"
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/conditions/plugins/levenshtein_plugin.py
|
||||
msgid "Similarity ratio"
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/conditions/plugins/levenshtein_plugin.py
|
||||
msgid "Percent similar"
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/conditions/plugins/levenshtein_plugin.py
|
||||
msgid ""
|
||||
"Levenshtein metrics compare the last two snapshots, measuring how many character edits are needed to transform one "
|
||||
"into the other."
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/conditions/plugins/levenshtein_plugin.py
|
||||
msgid "Error calculating Levenshtein metrics"
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/conditions/plugins/wordcount_plugin.py
|
||||
msgid "Word count of content"
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/conditions/plugins/wordcount_plugin.py
|
||||
msgid "Content Analysis"
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/conditions/plugins/wordcount_plugin.py
|
||||
msgid "Word count (latest snapshot)"
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/conditions/plugins/wordcount_plugin.py
|
||||
msgid "Word count is a simple measure of content length, calculated by splitting text on whitespace."
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/content_fetchers/requests.py
|
||||
msgid "Basic fast Plaintext/HTTP Client"
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/blueprint/watchlist/templates/watch-overview.html changedetectionio/flask_app.py
|
||||
#: changedetectionio/realtime/socket_server.py
|
||||
msgid "Not yet"
|
||||
@@ -2204,10 +2435,26 @@ msgstr ""
|
||||
msgid "Selector"
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/forms.py
|
||||
msgid "CSS or xPath selector"
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/forms.py
|
||||
msgid "value"
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/conditions/form.py changedetectionio/forms.py
|
||||
msgid "Value"
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/forms.py
|
||||
msgid "Web Page URL"
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/forms.py
|
||||
msgid "Group Tag"
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/forms.py
|
||||
msgid "Time Between Check"
|
||||
msgstr ""
|
||||
@@ -2296,7 +2543,8 @@ msgstr ""
|
||||
msgid "Execute JavaScript before change detection"
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/blueprint/tags/templates/groups-overview.html changedetectionio/forms.py
|
||||
#: changedetectionio/blueprint/tags/form.py changedetectionio/blueprint/tags/templates/groups-overview.html
|
||||
#: changedetectionio/forms.py
|
||||
msgid "Save"
|
||||
msgstr ""
|
||||
|
||||
@@ -2364,7 +2612,7 @@ msgstr ""
|
||||
msgid "Invalid template syntax in \"%(header)s\" header: %(error)s"
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/forms.py
|
||||
#: changedetectionio/blueprint/tags/form.py changedetectionio/forms.py
|
||||
msgid "Name"
|
||||
msgstr ""
|
||||
|
||||
@@ -2460,6 +2708,10 @@ msgstr ""
|
||||
msgid "Ignore whitespace"
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/forms.py
|
||||
msgid "Screenshot: Minimum Change Percentage"
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/forms.py changedetectionio/processors/image_ssim_diff/forms.py
|
||||
msgid "Must be between 0 and 100"
|
||||
msgstr ""
|
||||
@@ -2659,6 +2911,42 @@ msgstr ""
|
||||
msgid "Detects if the product goes back to in-stock"
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/processors/templates/extract.html
|
||||
msgid "Screenshot"
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/processors/templates/extract.html
|
||||
msgid "This tool will extract text data from all of the watch history."
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/processors/templates/extract.html
|
||||
msgid "A <strong>RegEx</strong> is a pattern that identifies exactly which part inside of the text that you want to extract."
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/processors/templates/extract.html
|
||||
msgid "For example, to extract only the numbers from text"
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/processors/templates/extract.html
|
||||
msgid "Raw text"
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/processors/templates/extract.html
|
||||
msgid "RegEx to extract:"
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/processors/templates/extract.html
|
||||
msgid "Be sure to test your RegEx here."
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/processors/templates/extract.html
|
||||
msgid "Each RegEx group bracket"
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/processors/templates/extract.html
|
||||
msgid "will be in its own column, the first column value is always the date."
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/processors/text_json_diff/processor.py
|
||||
msgid "Webpage Text/HTML, JSON and PDF changes"
|
||||
msgstr ""
|
||||
@@ -2838,7 +3126,7 @@ msgstr ""
|
||||
msgid "Use"
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/templates/_common_fields.html
|
||||
#: changedetectionio/templates/_common_fields.html changedetectionio/templates/edit/include_subtract.html
|
||||
msgid "Show advanced help and tips"
|
||||
msgstr ""
|
||||
|
||||
@@ -2942,6 +3230,26 @@ msgstr ""
|
||||
msgid "Format for all notifications"
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/templates/_common_fields.html
|
||||
msgid "Note"
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/templates/_common_fields.html
|
||||
msgid "Discord does not render HTML — switch to"
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/templates/_common_fields.html
|
||||
msgid "Plain Text"
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/templates/_common_fields.html
|
||||
msgid "format to avoid"
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/templates/_common_fields.html
|
||||
msgid "and other HTML entities appearing literally in your notifications."
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/templates/_helpers.html
|
||||
msgid "Entry"
|
||||
msgstr ""
|
||||
@@ -3058,10 +3366,18 @@ msgstr ""
|
||||
msgid "Blocked text"
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/templates/base.html
|
||||
msgid "A new version is available"
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/templates/base.html
|
||||
msgid "Search, or Use Alt+S Key"
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/templates/base.html
|
||||
msgid "Share this link:"
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/templates/base.html
|
||||
msgid "Real-time updates offline"
|
||||
msgstr ""
|
||||
@@ -3232,10 +3548,6 @@ msgstr ""
|
||||
msgid "Unmute notifications"
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/templates/menu.html
|
||||
msgid "Mute notifications"
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/templates/menu.html
|
||||
msgid "Notifications are muted - click to unmute"
|
||||
msgstr ""
|
||||
|
||||
Binary file not shown.
File diff suppressed because it is too large
Load Diff
Binary file not shown.
@@ -8,7 +8,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: changedetection.io 0.53.6\n"
|
||||
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
|
||||
"POT-Creation-Date: 2026-04-11 04:15+0200\n"
|
||||
"POT-Creation-Date: 2026-04-21 13:27+0900\n"
|
||||
"PO-Revision-Date: 2026-04-10 20:38+0300\n"
|
||||
"Last-Translator: \n"
|
||||
"Language: tr\n"
|
||||
@@ -607,15 +607,15 @@ msgstr ""
|
||||
msgid "Changing this could affect the content of your existing watches, possibly trigger alerts etc."
|
||||
msgstr "Bunu değiştirmek mevcut izleyicilerinizin içeriğini etkileyebilir, muhtemelen uyarıları vb. tetikleyebilir."
|
||||
|
||||
#: changedetectionio/blueprint/settings/templates/settings.html
|
||||
#: changedetectionio/blueprint/settings/templates/settings.html changedetectionio/templates/edit/include_subtract.html
|
||||
msgid "Remove HTML element(s) by CSS and XPath selectors before text conversion."
|
||||
msgstr "Metin dönüştürmeden önce HTML öğelerini CSS ve XPath seçicilere göre kaldırın."
|
||||
|
||||
#: changedetectionio/blueprint/settings/templates/settings.html
|
||||
#: changedetectionio/blueprint/settings/templates/settings.html changedetectionio/templates/edit/include_subtract.html
|
||||
msgid "Don't paste HTML here, use only CSS and XPath selectors"
|
||||
msgstr "Buraya HTML yapıştırmayın, yalnızca CSS ve XPath seçicilerini kullanın"
|
||||
|
||||
#: changedetectionio/blueprint/settings/templates/settings.html
|
||||
#: changedetectionio/blueprint/settings/templates/settings.html changedetectionio/templates/edit/include_subtract.html
|
||||
msgid "Add multiple elements, CSS or XPath selectors per line to ignore multiple parts of the HTML."
|
||||
msgstr "HTML'nin birden çok bölümünü yoksaymak için satır başına birden çok öğe, CSS veya XPath seçici ekleyin."
|
||||
|
||||
@@ -856,6 +856,26 @@ msgstr "Etiket bulunamadı"
|
||||
msgid "Updated"
|
||||
msgstr "Güncellendi"
|
||||
|
||||
#: changedetectionio/blueprint/tags/form.py
|
||||
msgid "Activate for individual watches in this tag/group?"
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/blueprint/tags/form.py
|
||||
msgid "Auto-apply to watches with URLs matching"
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/blueprint/tags/form.py
|
||||
msgid "e.g. *://example.com/* or github.com/myorg"
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/blueprint/tags/form.py changedetectionio/blueprint/tags/templates/edit-tag.html
|
||||
msgid "Tag colour"
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/blueprint/tags/form.py
|
||||
msgid "Tag name"
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/blueprint/tags/templates/edit-tag.html changedetectionio/blueprint/ui/templates/edit.html
|
||||
msgid "Filters & Triggers"
|
||||
msgstr "Filtreler ve Tetikleyiciler"
|
||||
@@ -870,10 +890,6 @@ msgstr ""
|
||||
msgid "Currently matching watches"
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/blueprint/tags/templates/edit-tag.html
|
||||
msgid "Tag colour"
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/blueprint/tags/templates/edit-tag.html
|
||||
msgid "Custom colour"
|
||||
msgstr ""
|
||||
@@ -959,7 +975,11 @@ msgstr "Etiket / İsim adı"
|
||||
msgid "No website organisational tags/groups configured"
|
||||
msgstr "Yapılandırılmış web sitesi organizasyonel etiketi/grubu yok"
|
||||
|
||||
#: changedetectionio/blueprint/tags/templates/groups-overview.html
|
||||
#: changedetectionio/blueprint/tags/templates/groups-overview.html changedetectionio/templates/menu.html
|
||||
msgid "Mute notifications"
|
||||
msgstr "Bildirimleri sessize al"
|
||||
|
||||
#: changedetectionio/blueprint/tags/templates/groups-overview.html changedetectionio/blueprint/ui/edit.py
|
||||
#: changedetectionio/blueprint/watchlist/templates/watch-overview.html
|
||||
msgid "Edit"
|
||||
msgstr "Düzenle"
|
||||
@@ -1164,6 +1184,14 @@ msgstr "'{}' işlemcisi yüklenemedi, işlemci eklentisi eksik olabilir. Lütfen
|
||||
msgid "Could not load '{}' processor, processor plugin might be missing."
|
||||
msgstr "'{}' işlemcisi yüklenemedi, işlemci eklentisi eksik olabilir."
|
||||
|
||||
#: changedetectionio/blueprint/ui/edit.py
|
||||
msgid "System settings default"
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/blueprint/ui/edit.py
|
||||
msgid "Default"
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/blueprint/ui/edit.py
|
||||
msgid "Updated watch - unpaused!"
|
||||
msgstr "İzleyici güncellendi - duraklatma iptal edildi!"
|
||||
@@ -1176,6 +1204,10 @@ msgstr "İzleyici güncellendi."
|
||||
msgid "Preview unavailable - No fetch/check completed or triggers not reached"
|
||||
msgstr "Önizleme kullanılamıyor - Getirme/kontrol tamamlanmadı veya tetikleyicilere ulaşılamadı"
|
||||
|
||||
#: changedetectionio/blueprint/ui/preview.py
|
||||
msgid "Diff"
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/blueprint/ui/templates/clear_all_history.html
|
||||
msgid "This will remove version history (snapshots) for ALL watches, but keep your list of URLs!"
|
||||
msgstr "Bu işlem TÜM izleyiciler için sürüm geçmişini (anlık görüntüleri) kaldıracak, ancak URL listenizi koruyacaktır!"
|
||||
@@ -1228,11 +1260,15 @@ msgstr "Eşleşen satırları yoksay"
|
||||
msgid "Ignore any lines matching excluding digits"
|
||||
msgstr "Rakamlar hariç eşleşen satırları yoksay"
|
||||
|
||||
#. 'From' labels the older snapshot version selector on the diff page
|
||||
#: changedetectionio/blueprint/ui/templates/diff.html
|
||||
msgctxt "diff version"
|
||||
msgid "From"
|
||||
msgstr "Kimden"
|
||||
|
||||
#. 'To' labels the newer snapshot version selector on the diff page
|
||||
#: changedetectionio/blueprint/ui/templates/diff.html
|
||||
msgctxt "diff version"
|
||||
msgid "To"
|
||||
msgstr "Kime"
|
||||
|
||||
@@ -1285,14 +1321,17 @@ msgid "Jump"
|
||||
msgstr "Atla"
|
||||
|
||||
#: changedetectionio/blueprint/ui/templates/diff.html changedetectionio/blueprint/ui/templates/preview.html
|
||||
#: changedetectionio/processors/templates/extract.html
|
||||
msgid "Error Text"
|
||||
msgstr "Hata Metni"
|
||||
|
||||
#: changedetectionio/blueprint/ui/templates/diff.html changedetectionio/blueprint/ui/templates/preview.html
|
||||
#: changedetectionio/processors/templates/extract.html
|
||||
msgid "Error Screenshot"
|
||||
msgstr "Hata Ekran Görüntüsü"
|
||||
|
||||
#: changedetectionio/blueprint/ui/templates/diff.html changedetectionio/blueprint/ui/templates/preview.html
|
||||
#: changedetectionio/processors/templates/extract.html
|
||||
msgid "Text"
|
||||
msgstr "Metin"
|
||||
|
||||
@@ -1300,7 +1339,8 @@ msgstr "Metin"
|
||||
msgid "Current screenshot"
|
||||
msgstr "Mevcut ekran görüntüsü"
|
||||
|
||||
#: changedetectionio/blueprint/ui/templates/diff.html
|
||||
#: changedetectionio/blueprint/ui/templates/diff.html changedetectionio/processors/extract.py
|
||||
#: changedetectionio/processors/templates/extract.html
|
||||
msgid "Extract Data"
|
||||
msgstr "Veriyi Çıkar"
|
||||
|
||||
@@ -1904,6 +1944,26 @@ msgstr "Yapılandırılmış web sayfası değişiklik tespiti izleyicisi yok, l
|
||||
msgid "import a list"
|
||||
msgstr "bir listeyi içe aktarın"
|
||||
|
||||
#: changedetectionio/blueprint/watchlist/templates/watch-overview.html
|
||||
msgid "Pause checks"
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/blueprint/watchlist/templates/watch-overview.html
|
||||
msgid "UnPause checks"
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/blueprint/watchlist/templates/watch-overview.html
|
||||
msgid "Mute notification"
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/blueprint/watchlist/templates/watch-overview.html
|
||||
msgid "UnMute notification"
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/blueprint/watchlist/templates/watch-overview.html
|
||||
msgid "Create a link to share watch config with others"
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/blueprint/watchlist/templates/watch-overview.html
|
||||
msgid "Detecting restock and price"
|
||||
msgstr "Yeniden stoklama ve fiyat tespiti"
|
||||
@@ -1924,15 +1984,24 @@ msgstr "Fiyat"
|
||||
msgid "No information"
|
||||
msgstr "Bilgi yok"
|
||||
|
||||
#: changedetectionio/blueprint/watchlist/templates/watch-overview.html
|
||||
msgid "Last Checked"
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/blueprint/watchlist/templates/watch-overview.html changedetectionio/templates/base.html
|
||||
msgid "Checking now"
|
||||
msgstr "Şimdi kontrol ediliyor"
|
||||
|
||||
#: changedetectionio/blueprint/watchlist/templates/watch-overview.html
|
||||
msgid "Last Changed"
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/blueprint/watchlist/templates/watch-overview.html
|
||||
msgid "Queued"
|
||||
msgstr "Sırada"
|
||||
|
||||
#: changedetectionio/blueprint/watchlist/templates/watch-overview.html
|
||||
#: changedetectionio/processors/text_json_diff/difference.py
|
||||
msgid "History"
|
||||
msgstr "Geçmiş"
|
||||
|
||||
@@ -1966,6 +2035,168 @@ msgstr "Tümünü yeniden kontrol et"
|
||||
msgid "in '%(title)s'"
|
||||
msgstr "'%(title)s' içinde"
|
||||
|
||||
#: changedetectionio/conditions/__init__.py
|
||||
msgid "Choose one - Operator"
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/conditions/__init__.py
|
||||
msgid "Greater Than"
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/conditions/__init__.py
|
||||
msgid "Less Than"
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/conditions/__init__.py
|
||||
msgid "Greater Than or Equal To"
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/conditions/__init__.py
|
||||
msgid "Less Than or Equal To"
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/conditions/__init__.py
|
||||
msgid "Equals"
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/conditions/__init__.py
|
||||
msgid "Not Equals"
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/conditions/__init__.py
|
||||
msgid "Contains"
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/conditions/__init__.py
|
||||
msgid "Choose one - Field"
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/conditions/default_plugin.py
|
||||
msgid "Does NOT Contain"
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/conditions/default_plugin.py
|
||||
msgid "Text Starts With"
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/conditions/default_plugin.py
|
||||
msgid "Text Ends With"
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/conditions/default_plugin.py
|
||||
msgid "Length minimum"
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/conditions/default_plugin.py
|
||||
msgid "Length maximum"
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/conditions/default_plugin.py
|
||||
msgid "Text Matches Regex"
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/conditions/default_plugin.py
|
||||
msgid "Text Does NOT Match Regex"
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/conditions/default_plugin.py
|
||||
msgid "Extracted number after 'Filters & Triggers'"
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/conditions/default_plugin.py
|
||||
msgid "Page text after 'Filters & Triggers'"
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/conditions/form.py
|
||||
msgid "Field"
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/conditions/form.py
|
||||
msgid "Operator"
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/conditions/form.py
|
||||
msgid "A value"
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/conditions/form.py
|
||||
msgid "Operator is required."
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/conditions/form.py
|
||||
msgid "Field is required."
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/conditions/form.py
|
||||
msgid "Value is required."
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/conditions/plugins/levenshtein_plugin.py
|
||||
msgid "Levenshtein - Text similarity ratio"
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/conditions/plugins/levenshtein_plugin.py
|
||||
msgid "Levenshtein - Text change distance"
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/conditions/plugins/levenshtein_plugin.py
|
||||
msgid "Not enough history to calculate Levenshtein metrics"
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/conditions/plugins/levenshtein_plugin.py
|
||||
msgid "Snapshot too large for edit statistics, skipping."
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/conditions/plugins/levenshtein_plugin.py
|
||||
msgid "Unable to calculate Levenshtein metrics"
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/conditions/plugins/levenshtein_plugin.py
|
||||
msgid "Levenshtein Text Similarity Details"
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/conditions/plugins/levenshtein_plugin.py
|
||||
msgid "Raw distance (edits needed)"
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/conditions/plugins/levenshtein_plugin.py
|
||||
msgid "Similarity ratio"
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/conditions/plugins/levenshtein_plugin.py
|
||||
msgid "Percent similar"
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/conditions/plugins/levenshtein_plugin.py
|
||||
msgid ""
|
||||
"Levenshtein metrics compare the last two snapshots, measuring how many character edits are needed to transform one "
|
||||
"into the other."
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/conditions/plugins/levenshtein_plugin.py
|
||||
msgid "Error calculating Levenshtein metrics"
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/conditions/plugins/wordcount_plugin.py
|
||||
msgid "Word count of content"
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/conditions/plugins/wordcount_plugin.py
|
||||
msgid "Content Analysis"
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/conditions/plugins/wordcount_plugin.py
|
||||
msgid "Word count (latest snapshot)"
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/conditions/plugins/wordcount_plugin.py
|
||||
msgid "Word count is a simple measure of content length, calculated by splitting text on whitespace."
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/content_fetchers/requests.py
|
||||
msgid "Basic fast Plaintext/HTTP Client"
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/blueprint/watchlist/templates/watch-overview.html changedetectionio/flask_app.py
|
||||
#: changedetectionio/realtime/socket_server.py
|
||||
msgid "Not yet"
|
||||
@@ -2248,10 +2479,26 @@ msgstr "Operasyon"
|
||||
msgid "Selector"
|
||||
msgstr "Seçici"
|
||||
|
||||
#: changedetectionio/forms.py
|
||||
msgid "CSS or xPath selector"
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/forms.py
|
||||
msgid "value"
|
||||
msgstr "değer"
|
||||
|
||||
#: changedetectionio/conditions/form.py changedetectionio/forms.py
|
||||
msgid "Value"
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/forms.py
|
||||
msgid "Web Page URL"
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/forms.py
|
||||
msgid "Group Tag"
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/forms.py
|
||||
msgid "Time Between Check"
|
||||
msgstr "Kontrol Arasındaki Süre"
|
||||
@@ -2340,7 +2587,8 @@ msgstr "Metin eşleşirken değişiklik tespitini engelle"
|
||||
msgid "Execute JavaScript before change detection"
|
||||
msgstr "Değişiklik tespitinden önce JavaScript'i çalıştır"
|
||||
|
||||
#: changedetectionio/blueprint/tags/templates/groups-overview.html changedetectionio/forms.py
|
||||
#: changedetectionio/blueprint/tags/form.py changedetectionio/blueprint/tags/templates/groups-overview.html
|
||||
#: changedetectionio/forms.py
|
||||
msgid "Save"
|
||||
msgstr "Kaydet"
|
||||
|
||||
@@ -2408,7 +2656,7 @@ msgstr "Geçersiz şablon sözdizimi: %(error)s"
|
||||
msgid "Invalid template syntax in \"%(header)s\" header: %(error)s"
|
||||
msgstr "\"%(header)s\" başlığında geçersiz şablon sözdizimi: %(error)s"
|
||||
|
||||
#: changedetectionio/forms.py
|
||||
#: changedetectionio/blueprint/tags/form.py changedetectionio/forms.py
|
||||
msgid "Name"
|
||||
msgstr "İsim"
|
||||
|
||||
@@ -2504,6 +2752,10 @@ msgstr "Metni Yoksay"
|
||||
msgid "Ignore whitespace"
|
||||
msgstr "Boşlukları yoksay"
|
||||
|
||||
#: changedetectionio/forms.py
|
||||
msgid "Screenshot: Minimum Change Percentage"
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/forms.py changedetectionio/processors/image_ssim_diff/forms.py
|
||||
msgid "Must be between 0 and 100"
|
||||
msgstr "0 ile 100 arasında olmalıdır"
|
||||
@@ -2703,6 +2955,42 @@ msgstr "TEK bir ürüne sahip sayfalar için Yeniden Stoklama ve Fiyat tespiti"
|
||||
msgid "Detects if the product goes back to in-stock"
|
||||
msgstr "Ürünün tekrar stoka girip girmediğini tespit eder"
|
||||
|
||||
#: changedetectionio/processors/templates/extract.html
|
||||
msgid "Screenshot"
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/processors/templates/extract.html
|
||||
msgid "This tool will extract text data from all of the watch history."
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/processors/templates/extract.html
|
||||
msgid "A <strong>RegEx</strong> is a pattern that identifies exactly which part inside of the text that you want to extract."
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/processors/templates/extract.html
|
||||
msgid "For example, to extract only the numbers from text"
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/processors/templates/extract.html
|
||||
msgid "Raw text"
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/processors/templates/extract.html
|
||||
msgid "RegEx to extract:"
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/processors/templates/extract.html
|
||||
msgid "Be sure to test your RegEx here."
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/processors/templates/extract.html
|
||||
msgid "Each RegEx group bracket"
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/processors/templates/extract.html
|
||||
msgid "will be in its own column, the first column value is always the date."
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/processors/text_json_diff/processor.py
|
||||
msgid "Webpage Text/HTML, JSON and PDF changes"
|
||||
msgstr "Web Sayfası Metin/HTML, JSON ve PDF değişiklikleri"
|
||||
@@ -2882,7 +3170,7 @@ msgstr "Önemli yapılandırma notları için lütfen buradaki bildirim hizmetle
|
||||
msgid "Use"
|
||||
msgstr "Şu"
|
||||
|
||||
#: changedetectionio/templates/_common_fields.html
|
||||
#: changedetectionio/templates/_common_fields.html changedetectionio/templates/edit/include_subtract.html
|
||||
msgid "Show advanced help and tips"
|
||||
msgstr "Gelişmiş yardım ve ipuçlarını göster"
|
||||
|
||||
@@ -2986,6 +3274,26 @@ msgstr "Tüm Jinja2 yerleşik filtrelerinin tam bir referansı için kullanıcı
|
||||
msgid "Format for all notifications"
|
||||
msgstr "Tüm bildirimler için format"
|
||||
|
||||
#: changedetectionio/templates/_common_fields.html
|
||||
msgid "Note"
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/templates/_common_fields.html
|
||||
msgid "Discord does not render HTML — switch to"
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/templates/_common_fields.html
|
||||
msgid "Plain Text"
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/templates/_common_fields.html
|
||||
msgid "format to avoid"
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/templates/_common_fields.html
|
||||
msgid "and other HTML entities appearing literally in your notifications."
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/templates/_helpers.html
|
||||
msgid "Entry"
|
||||
msgstr "Giriş"
|
||||
@@ -3104,10 +3412,18 @@ msgstr "Bu metin var olduğu için değişiklik tespiti yapılmayacaktır."
|
||||
msgid "Blocked text"
|
||||
msgstr "Engellenen metin"
|
||||
|
||||
#: changedetectionio/templates/base.html
|
||||
msgid "A new version is available"
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/templates/base.html
|
||||
msgid "Search, or Use Alt+S Key"
|
||||
msgstr "Arayın veya Alt+S Tuşunu Kullanın"
|
||||
|
||||
#: changedetectionio/templates/base.html
|
||||
msgid "Share this link:"
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/templates/base.html
|
||||
msgid "Real-time updates offline"
|
||||
msgstr "Gerçek zamanlı güncellemeler çevrimdışı"
|
||||
@@ -3286,10 +3602,6 @@ msgstr "Zamanlama duraklatıldı - devam etmek için tıklayın"
|
||||
msgid "Unmute notifications"
|
||||
msgstr "Bildirimlerin sesini aç"
|
||||
|
||||
#: changedetectionio/templates/menu.html
|
||||
msgid "Mute notifications"
|
||||
msgstr "Bildirimleri sessize al"
|
||||
|
||||
#: changedetectionio/templates/menu.html
|
||||
msgid "Notifications are muted - click to unmute"
|
||||
msgstr "Bildirimler sessize alındı - sesini açmak için tıklayın"
|
||||
@@ -3337,3 +3649,9 @@ msgstr "Ana ayarlar"
|
||||
#~ msgid "\"Residential\" and \"Mobile\" proxy type can be more successfull than \"Data Center\" for blocked websites."
|
||||
#~ msgstr "Engellenen web siteleri için \"Yerleşim Yeri\" ve \"Mobil\" proxy türü \"Veri Merkezi\"nden daha başarılı olabilir."
|
||||
|
||||
#~ msgid "From"
|
||||
#~ msgstr "Kimden"
|
||||
|
||||
#~ msgid "To"
|
||||
#~ msgstr "Kime"
|
||||
|
||||
|
||||
Binary file not shown.
@@ -6,7 +6,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: changedetection.io\n"
|
||||
"Report-Msgid-Bugs-To: https://github.com/dgtlmoon/changedetection.io\n"
|
||||
"POT-Creation-Date: 2026-04-11 04:15+0200\n"
|
||||
"POT-Creation-Date: 2026-04-21 13:27+0900\n"
|
||||
"PO-Revision-Date: 2026-02-19 12:30+0100\n"
|
||||
"Last-Translator: \n"
|
||||
"Language: uk\n"
|
||||
@@ -589,15 +589,15 @@ msgstr "Відображати вміст тегів посилань. За за
|
||||
msgid "Changing this could affect the content of your existing watches, possibly trigger alerts etc."
|
||||
msgstr "Зміна цього параметра може вплинути на вміст ваших завдань та викликати хибні спрацювання."
|
||||
|
||||
#: changedetectionio/blueprint/settings/templates/settings.html
|
||||
#: changedetectionio/blueprint/settings/templates/settings.html changedetectionio/templates/edit/include_subtract.html
|
||||
msgid "Remove HTML element(s) by CSS and XPath selectors before text conversion."
|
||||
msgstr "Видалити HTML-елемент(и) за допомогою CSS та XPath селекторів перед перетворенням у текст."
|
||||
|
||||
#: changedetectionio/blueprint/settings/templates/settings.html
|
||||
#: changedetectionio/blueprint/settings/templates/settings.html changedetectionio/templates/edit/include_subtract.html
|
||||
msgid "Don't paste HTML here, use only CSS and XPath selectors"
|
||||
msgstr "Не вставляйте сюди HTML, використовуйте лише CSS та XPath селектори"
|
||||
|
||||
#: changedetectionio/blueprint/settings/templates/settings.html
|
||||
#: changedetectionio/blueprint/settings/templates/settings.html changedetectionio/templates/edit/include_subtract.html
|
||||
msgid "Add multiple elements, CSS or XPath selectors per line to ignore multiple parts of the HTML."
|
||||
msgstr "Додайте кілька елементів, CSS або XPath селекторів (по одному на рядок), щоб ігнорувати частини HTML."
|
||||
|
||||
@@ -836,6 +836,26 @@ msgstr "Тег не знайдено"
|
||||
msgid "Updated"
|
||||
msgstr "Оновлено"
|
||||
|
||||
#: changedetectionio/blueprint/tags/form.py
|
||||
msgid "Activate for individual watches in this tag/group?"
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/blueprint/tags/form.py
|
||||
msgid "Auto-apply to watches with URLs matching"
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/blueprint/tags/form.py
|
||||
msgid "e.g. *://example.com/* or github.com/myorg"
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/blueprint/tags/form.py changedetectionio/blueprint/tags/templates/edit-tag.html
|
||||
msgid "Tag colour"
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/blueprint/tags/form.py
|
||||
msgid "Tag name"
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/blueprint/tags/templates/edit-tag.html changedetectionio/blueprint/ui/templates/edit.html
|
||||
msgid "Filters & Triggers"
|
||||
msgstr "Фільтри та Тригери"
|
||||
@@ -850,10 +870,6 @@ msgstr ""
|
||||
msgid "Currently matching watches"
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/blueprint/tags/templates/edit-tag.html
|
||||
msgid "Tag colour"
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/blueprint/tags/templates/edit-tag.html
|
||||
msgid "Custom colour"
|
||||
msgstr ""
|
||||
@@ -939,7 +955,11 @@ msgstr "Ім'я Тегу / Мітки"
|
||||
msgid "No website organisational tags/groups configured"
|
||||
msgstr "Організаційні теги/групи сайтів не налаштовані"
|
||||
|
||||
#: changedetectionio/blueprint/tags/templates/groups-overview.html
|
||||
#: changedetectionio/blueprint/tags/templates/groups-overview.html changedetectionio/templates/menu.html
|
||||
msgid "Mute notifications"
|
||||
msgstr "Вимкнути сповіщення"
|
||||
|
||||
#: changedetectionio/blueprint/tags/templates/groups-overview.html changedetectionio/blueprint/ui/edit.py
|
||||
#: changedetectionio/blueprint/watchlist/templates/watch-overview.html
|
||||
msgid "Edit"
|
||||
msgstr "Редагувати"
|
||||
@@ -1144,6 +1164,14 @@ msgstr "Не вдалося завантажити процесор '{}', мож
|
||||
msgid "Could not load '{}' processor, processor plugin might be missing."
|
||||
msgstr "Не вдалося завантажити процесор '{}', можливо плагін відсутній."
|
||||
|
||||
#: changedetectionio/blueprint/ui/edit.py
|
||||
msgid "System settings default"
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/blueprint/ui/edit.py
|
||||
msgid "Default"
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/blueprint/ui/edit.py
|
||||
msgid "Updated watch - unpaused!"
|
||||
msgstr "Завдання оновлено — знято з паузи!"
|
||||
@@ -1156,6 +1184,10 @@ msgstr "Завдання оновлено."
|
||||
msgid "Preview unavailable - No fetch/check completed or triggers not reached"
|
||||
msgstr "Попередній перегляд недоступний — перевірка не завершена або тригери не спрацювали"
|
||||
|
||||
#: changedetectionio/blueprint/ui/preview.py
|
||||
msgid "Diff"
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/blueprint/ui/templates/clear_all_history.html
|
||||
msgid "This will remove version history (snapshots) for ALL watches, but keep your list of URLs!"
|
||||
msgstr "Це видалить історію версій (знімки) для ВСІХ завдань, але збереже ваш список URL!"
|
||||
@@ -1208,11 +1240,15 @@ msgstr "Ігнорувати рядки, що збігаються з"
|
||||
msgid "Ignore any lines matching excluding digits"
|
||||
msgstr "Ігнорувати рядки, що збігаються з (виключаючи цифри)"
|
||||
|
||||
#. 'From' labels the older snapshot version selector on the diff page
|
||||
#: changedetectionio/blueprint/ui/templates/diff.html
|
||||
msgctxt "diff version"
|
||||
msgid "From"
|
||||
msgstr "Від"
|
||||
|
||||
#. 'To' labels the newer snapshot version selector on the diff page
|
||||
#: changedetectionio/blueprint/ui/templates/diff.html
|
||||
msgctxt "diff version"
|
||||
msgid "To"
|
||||
msgstr "До"
|
||||
|
||||
@@ -1265,14 +1301,17 @@ msgid "Jump"
|
||||
msgstr "Перейти"
|
||||
|
||||
#: changedetectionio/blueprint/ui/templates/diff.html changedetectionio/blueprint/ui/templates/preview.html
|
||||
#: changedetectionio/processors/templates/extract.html
|
||||
msgid "Error Text"
|
||||
msgstr "Текст помилки"
|
||||
|
||||
#: changedetectionio/blueprint/ui/templates/diff.html changedetectionio/blueprint/ui/templates/preview.html
|
||||
#: changedetectionio/processors/templates/extract.html
|
||||
msgid "Error Screenshot"
|
||||
msgstr "Скріншот помилки"
|
||||
|
||||
#: changedetectionio/blueprint/ui/templates/diff.html changedetectionio/blueprint/ui/templates/preview.html
|
||||
#: changedetectionio/processors/templates/extract.html
|
||||
msgid "Text"
|
||||
msgstr "Текст"
|
||||
|
||||
@@ -1280,7 +1319,8 @@ msgstr "Текст"
|
||||
msgid "Current screenshot"
|
||||
msgstr "Поточний скріншот"
|
||||
|
||||
#: changedetectionio/blueprint/ui/templates/diff.html
|
||||
#: changedetectionio/blueprint/ui/templates/diff.html changedetectionio/processors/extract.py
|
||||
#: changedetectionio/processors/templates/extract.html
|
||||
msgid "Extract Data"
|
||||
msgstr "Вилучити дані"
|
||||
|
||||
@@ -1878,6 +1918,26 @@ msgstr "Немає налаштованих завдань для відстеж
|
||||
msgid "import a list"
|
||||
msgstr "імпортуйте список"
|
||||
|
||||
#: changedetectionio/blueprint/watchlist/templates/watch-overview.html
|
||||
msgid "Pause checks"
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/blueprint/watchlist/templates/watch-overview.html
|
||||
msgid "UnPause checks"
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/blueprint/watchlist/templates/watch-overview.html
|
||||
msgid "Mute notification"
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/blueprint/watchlist/templates/watch-overview.html
|
||||
msgid "UnMute notification"
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/blueprint/watchlist/templates/watch-overview.html
|
||||
msgid "Create a link to share watch config with others"
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/blueprint/watchlist/templates/watch-overview.html
|
||||
msgid "Detecting restock and price"
|
||||
msgstr "Визначення наявності та ціни"
|
||||
@@ -1898,15 +1958,24 @@ msgstr "Ціна"
|
||||
msgid "No information"
|
||||
msgstr "Немає інформації"
|
||||
|
||||
#: changedetectionio/blueprint/watchlist/templates/watch-overview.html
|
||||
msgid "Last Checked"
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/blueprint/watchlist/templates/watch-overview.html changedetectionio/templates/base.html
|
||||
msgid "Checking now"
|
||||
msgstr "Перевірка..."
|
||||
|
||||
#: changedetectionio/blueprint/watchlist/templates/watch-overview.html
|
||||
msgid "Last Changed"
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/blueprint/watchlist/templates/watch-overview.html
|
||||
msgid "Queued"
|
||||
msgstr "В черзі"
|
||||
|
||||
#: changedetectionio/blueprint/watchlist/templates/watch-overview.html
|
||||
#: changedetectionio/processors/text_json_diff/difference.py
|
||||
msgid "History"
|
||||
msgstr "Історія"
|
||||
|
||||
@@ -1940,6 +2009,168 @@ msgstr "Перевірити всі"
|
||||
msgid "in '%(title)s'"
|
||||
msgstr "в '%(title)s'"
|
||||
|
||||
#: changedetectionio/conditions/__init__.py
|
||||
msgid "Choose one - Operator"
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/conditions/__init__.py
|
||||
msgid "Greater Than"
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/conditions/__init__.py
|
||||
msgid "Less Than"
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/conditions/__init__.py
|
||||
msgid "Greater Than or Equal To"
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/conditions/__init__.py
|
||||
msgid "Less Than or Equal To"
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/conditions/__init__.py
|
||||
msgid "Equals"
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/conditions/__init__.py
|
||||
msgid "Not Equals"
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/conditions/__init__.py
|
||||
msgid "Contains"
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/conditions/__init__.py
|
||||
msgid "Choose one - Field"
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/conditions/default_plugin.py
|
||||
msgid "Does NOT Contain"
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/conditions/default_plugin.py
|
||||
msgid "Text Starts With"
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/conditions/default_plugin.py
|
||||
msgid "Text Ends With"
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/conditions/default_plugin.py
|
||||
msgid "Length minimum"
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/conditions/default_plugin.py
|
||||
msgid "Length maximum"
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/conditions/default_plugin.py
|
||||
msgid "Text Matches Regex"
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/conditions/default_plugin.py
|
||||
msgid "Text Does NOT Match Regex"
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/conditions/default_plugin.py
|
||||
msgid "Extracted number after 'Filters & Triggers'"
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/conditions/default_plugin.py
|
||||
msgid "Page text after 'Filters & Triggers'"
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/conditions/form.py
|
||||
msgid "Field"
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/conditions/form.py
|
||||
msgid "Operator"
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/conditions/form.py
|
||||
msgid "A value"
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/conditions/form.py
|
||||
msgid "Operator is required."
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/conditions/form.py
|
||||
msgid "Field is required."
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/conditions/form.py
|
||||
msgid "Value is required."
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/conditions/plugins/levenshtein_plugin.py
|
||||
msgid "Levenshtein - Text similarity ratio"
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/conditions/plugins/levenshtein_plugin.py
|
||||
msgid "Levenshtein - Text change distance"
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/conditions/plugins/levenshtein_plugin.py
|
||||
msgid "Not enough history to calculate Levenshtein metrics"
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/conditions/plugins/levenshtein_plugin.py
|
||||
msgid "Snapshot too large for edit statistics, skipping."
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/conditions/plugins/levenshtein_plugin.py
|
||||
msgid "Unable to calculate Levenshtein metrics"
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/conditions/plugins/levenshtein_plugin.py
|
||||
msgid "Levenshtein Text Similarity Details"
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/conditions/plugins/levenshtein_plugin.py
|
||||
msgid "Raw distance (edits needed)"
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/conditions/plugins/levenshtein_plugin.py
|
||||
msgid "Similarity ratio"
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/conditions/plugins/levenshtein_plugin.py
|
||||
msgid "Percent similar"
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/conditions/plugins/levenshtein_plugin.py
|
||||
msgid ""
|
||||
"Levenshtein metrics compare the last two snapshots, measuring how many character edits are needed to transform one "
|
||||
"into the other."
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/conditions/plugins/levenshtein_plugin.py
|
||||
msgid "Error calculating Levenshtein metrics"
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/conditions/plugins/wordcount_plugin.py
|
||||
msgid "Word count of content"
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/conditions/plugins/wordcount_plugin.py
|
||||
msgid "Content Analysis"
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/conditions/plugins/wordcount_plugin.py
|
||||
msgid "Word count (latest snapshot)"
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/conditions/plugins/wordcount_plugin.py
|
||||
msgid "Word count is a simple measure of content length, calculated by splitting text on whitespace."
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/content_fetchers/requests.py
|
||||
msgid "Basic fast Plaintext/HTTP Client"
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/blueprint/watchlist/templates/watch-overview.html changedetectionio/flask_app.py
|
||||
#: changedetectionio/realtime/socket_server.py
|
||||
msgid "Not yet"
|
||||
@@ -2222,10 +2453,26 @@ msgstr "Операція"
|
||||
msgid "Selector"
|
||||
msgstr "Селектор"
|
||||
|
||||
#: changedetectionio/forms.py
|
||||
msgid "CSS or xPath selector"
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/forms.py
|
||||
msgid "value"
|
||||
msgstr "значення"
|
||||
|
||||
#: changedetectionio/conditions/form.py changedetectionio/forms.py
|
||||
msgid "Value"
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/forms.py
|
||||
msgid "Web Page URL"
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/forms.py
|
||||
msgid "Group Tag"
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/forms.py
|
||||
msgid "Time Between Check"
|
||||
msgstr "Час між перевірками"
|
||||
@@ -2314,7 +2561,8 @@ msgstr "Блокувати виявлення змін, поки текст зб
|
||||
msgid "Execute JavaScript before change detection"
|
||||
msgstr "Виконати JavaScript перед виявленням змін"
|
||||
|
||||
#: changedetectionio/blueprint/tags/templates/groups-overview.html changedetectionio/forms.py
|
||||
#: changedetectionio/blueprint/tags/form.py changedetectionio/blueprint/tags/templates/groups-overview.html
|
||||
#: changedetectionio/forms.py
|
||||
msgid "Save"
|
||||
msgstr "Зберегти"
|
||||
|
||||
@@ -2382,7 +2630,7 @@ msgstr "Невірний синтаксис шаблону: %(error)s"
|
||||
msgid "Invalid template syntax in \"%(header)s\" header: %(error)s"
|
||||
msgstr "Невірний синтаксис шаблону в заголовку \"%(header)s\": %(error)s"
|
||||
|
||||
#: changedetectionio/forms.py
|
||||
#: changedetectionio/blueprint/tags/form.py changedetectionio/forms.py
|
||||
msgid "Name"
|
||||
msgstr "Ім'я"
|
||||
|
||||
@@ -2478,6 +2726,10 @@ msgstr "Ігнорувати текст"
|
||||
msgid "Ignore whitespace"
|
||||
msgstr "Ігнорувати пробіли"
|
||||
|
||||
#: changedetectionio/forms.py
|
||||
msgid "Screenshot: Minimum Change Percentage"
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/forms.py changedetectionio/processors/image_ssim_diff/forms.py
|
||||
msgid "Must be between 0 and 100"
|
||||
msgstr "Має бути між 0 та 100"
|
||||
@@ -2677,6 +2929,42 @@ msgstr "Виявлення поповнення та ціни для сторі
|
||||
msgid "Detects if the product goes back to in-stock"
|
||||
msgstr "Визначає, чи повернувся товар у наявність"
|
||||
|
||||
#: changedetectionio/processors/templates/extract.html
|
||||
msgid "Screenshot"
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/processors/templates/extract.html
|
||||
msgid "This tool will extract text data from all of the watch history."
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/processors/templates/extract.html
|
||||
msgid "A <strong>RegEx</strong> is a pattern that identifies exactly which part inside of the text that you want to extract."
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/processors/templates/extract.html
|
||||
msgid "For example, to extract only the numbers from text"
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/processors/templates/extract.html
|
||||
msgid "Raw text"
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/processors/templates/extract.html
|
||||
msgid "RegEx to extract:"
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/processors/templates/extract.html
|
||||
msgid "Be sure to test your RegEx here."
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/processors/templates/extract.html
|
||||
msgid "Each RegEx group bracket"
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/processors/templates/extract.html
|
||||
msgid "will be in its own column, the first column value is always the date."
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/processors/text_json_diff/processor.py
|
||||
msgid "Webpage Text/HTML, JSON and PDF changes"
|
||||
msgstr "Зміни тексту веб-сторінки/HTML, JSON та PDF"
|
||||
@@ -2856,7 +3144,7 @@ msgstr "Будь ласка, прочитайте вікі по сервісах
|
||||
msgid "Use"
|
||||
msgstr "Використовуйте"
|
||||
|
||||
#: changedetectionio/templates/_common_fields.html
|
||||
#: changedetectionio/templates/_common_fields.html changedetectionio/templates/edit/include_subtract.html
|
||||
msgid "Show advanced help and tips"
|
||||
msgstr "Показати розширену довідку та поради"
|
||||
|
||||
@@ -2960,6 +3248,26 @@ msgstr "Для повного довідника по всіх вбудован
|
||||
msgid "Format for all notifications"
|
||||
msgstr "Формат для всіх сповіщень"
|
||||
|
||||
#: changedetectionio/templates/_common_fields.html
|
||||
msgid "Note"
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/templates/_common_fields.html
|
||||
msgid "Discord does not render HTML — switch to"
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/templates/_common_fields.html
|
||||
msgid "Plain Text"
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/templates/_common_fields.html
|
||||
msgid "format to avoid"
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/templates/_common_fields.html
|
||||
msgid "and other HTML entities appearing literally in your notifications."
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/templates/_helpers.html
|
||||
msgid "Entry"
|
||||
msgstr "Запис"
|
||||
@@ -3076,10 +3384,18 @@ msgstr "Виявлення змін не відбудеться, оскільк
|
||||
msgid "Blocked text"
|
||||
msgstr "Блокуючий текст"
|
||||
|
||||
#: changedetectionio/templates/base.html
|
||||
msgid "A new version is available"
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/templates/base.html
|
||||
msgid "Search, or Use Alt+S Key"
|
||||
msgstr "Пошук, або використовуйте Alt+S"
|
||||
|
||||
#: changedetectionio/templates/base.html
|
||||
msgid "Share this link:"
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/templates/base.html
|
||||
msgid "Real-time updates offline"
|
||||
msgstr "Оновлення в реальному часі вимкнено"
|
||||
@@ -3254,10 +3570,6 @@ msgstr "Планування на паузі - натисніть для від
|
||||
msgid "Unmute notifications"
|
||||
msgstr "Увімкнути сповіщення"
|
||||
|
||||
#: changedetectionio/templates/menu.html
|
||||
msgid "Mute notifications"
|
||||
msgstr "Вимкнути сповіщення"
|
||||
|
||||
#: changedetectionio/templates/menu.html
|
||||
msgid "Notifications are muted - click to unmute"
|
||||
msgstr "Сповіщення вимкнено - натисніть для увімкнення"
|
||||
@@ -3308,3 +3620,9 @@ msgstr "Головні налаштування"
|
||||
#~ msgid "\"Residential\" and \"Mobile\" proxy type can be more successfull than \"Data Center\" for blocked websites."
|
||||
#~ msgstr "Проксі типу «Резидентні» та «Мобільні» можуть бути ефективнішими, ніж «Дата-центр», для заблокованих сайтів."
|
||||
|
||||
#~ msgid "From"
|
||||
#~ msgstr "Від"
|
||||
|
||||
#~ msgid "To"
|
||||
#~ msgstr "До"
|
||||
|
||||
|
||||
Binary file not shown.
@@ -7,7 +7,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: PROJECT VERSION\n"
|
||||
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
|
||||
"POT-Creation-Date: 2026-04-11 04:15+0200\n"
|
||||
"POT-Creation-Date: 2026-04-21 13:27+0900\n"
|
||||
"PO-Revision-Date: 2026-01-18 21:31+0800\n"
|
||||
"Last-Translator: 吾爱分享 <admin@wuaishare.cn>\n"
|
||||
"Language: zh\n"
|
||||
@@ -590,15 +590,15 @@ msgstr "渲染 a 标签内容,默认关闭,开启后链接会呈现为"
|
||||
msgid "Changing this could affect the content of your existing watches, possibly trigger alerts etc."
|
||||
msgstr "更改此项可能影响现有监控项内容,可能触发警报等。"
|
||||
|
||||
#: changedetectionio/blueprint/settings/templates/settings.html
|
||||
#: changedetectionio/blueprint/settings/templates/settings.html changedetectionio/templates/edit/include_subtract.html
|
||||
msgid "Remove HTML element(s) by CSS and XPath selectors before text conversion."
|
||||
msgstr "在文本转换前通过 CSS 和 XPath 选择器移除 HTML 元素。"
|
||||
|
||||
#: changedetectionio/blueprint/settings/templates/settings.html
|
||||
#: changedetectionio/blueprint/settings/templates/settings.html changedetectionio/templates/edit/include_subtract.html
|
||||
msgid "Don't paste HTML here, use only CSS and XPath selectors"
|
||||
msgstr "不要在此粘贴 HTML,仅使用 CSS 和 XPath 选择器"
|
||||
|
||||
#: changedetectionio/blueprint/settings/templates/settings.html
|
||||
#: changedetectionio/blueprint/settings/templates/settings.html changedetectionio/templates/edit/include_subtract.html
|
||||
msgid "Add multiple elements, CSS or XPath selectors per line to ignore multiple parts of the HTML."
|
||||
msgstr "每行添加多个元素、CSS 或 XPath 选择器,用于忽略 HTML 的多个部分。"
|
||||
|
||||
@@ -829,6 +829,26 @@ msgstr "未找到标签"
|
||||
msgid "Updated"
|
||||
msgstr "已更新"
|
||||
|
||||
#: changedetectionio/blueprint/tags/form.py
|
||||
msgid "Activate for individual watches in this tag/group?"
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/blueprint/tags/form.py
|
||||
msgid "Auto-apply to watches with URLs matching"
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/blueprint/tags/form.py
|
||||
msgid "e.g. *://example.com/* or github.com/myorg"
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/blueprint/tags/form.py changedetectionio/blueprint/tags/templates/edit-tag.html
|
||||
msgid "Tag colour"
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/blueprint/tags/form.py
|
||||
msgid "Tag name"
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/blueprint/tags/templates/edit-tag.html changedetectionio/blueprint/ui/templates/edit.html
|
||||
msgid "Filters & Triggers"
|
||||
msgstr "过滤器与触发器"
|
||||
@@ -843,10 +863,6 @@ msgstr ""
|
||||
msgid "Currently matching watches"
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/blueprint/tags/templates/edit-tag.html
|
||||
msgid "Tag colour"
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/blueprint/tags/templates/edit-tag.html
|
||||
msgid "Custom colour"
|
||||
msgstr ""
|
||||
@@ -932,7 +948,11 @@ msgstr "标签/名称"
|
||||
msgid "No website organisational tags/groups configured"
|
||||
msgstr "未配置分组/标签"
|
||||
|
||||
#: changedetectionio/blueprint/tags/templates/groups-overview.html
|
||||
#: changedetectionio/blueprint/tags/templates/groups-overview.html changedetectionio/templates/menu.html
|
||||
msgid "Mute notifications"
|
||||
msgstr "静音通知"
|
||||
|
||||
#: changedetectionio/blueprint/tags/templates/groups-overview.html changedetectionio/blueprint/ui/edit.py
|
||||
#: changedetectionio/blueprint/watchlist/templates/watch-overview.html
|
||||
msgid "Edit"
|
||||
msgstr "编辑"
|
||||
@@ -1135,6 +1155,14 @@ msgstr ""
|
||||
msgid "Could not load '{}' processor, processor plugin might be missing."
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/blueprint/ui/edit.py
|
||||
msgid "System settings default"
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/blueprint/ui/edit.py
|
||||
msgid "Default"
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/blueprint/ui/edit.py
|
||||
msgid "Updated watch - unpaused!"
|
||||
msgstr "监控项已更新并取消暂停!"
|
||||
@@ -1147,6 +1175,10 @@ msgstr "监控项已更新。"
|
||||
msgid "Preview unavailable - No fetch/check completed or triggers not reached"
|
||||
msgstr "无法预览 - 尚未完成抓取/检查或未满足触发条件"
|
||||
|
||||
#: changedetectionio/blueprint/ui/preview.py
|
||||
msgid "Diff"
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/blueprint/ui/templates/clear_all_history.html
|
||||
msgid "This will remove version history (snapshots) for ALL watches, but keep your list of URLs!"
|
||||
msgstr "这将删除所有监控项的版本历史(快照),但会保留 URL 列表!"
|
||||
@@ -1199,11 +1231,15 @@ msgstr "忽略匹配以下内容的行"
|
||||
msgid "Ignore any lines matching excluding digits"
|
||||
msgstr "忽略匹配以下内容的行(排除数字)"
|
||||
|
||||
#. 'From' labels the older snapshot version selector on the diff page
|
||||
#: changedetectionio/blueprint/ui/templates/diff.html
|
||||
msgctxt "diff version"
|
||||
msgid "From"
|
||||
msgstr "从"
|
||||
|
||||
#. 'To' labels the newer snapshot version selector on the diff page
|
||||
#: changedetectionio/blueprint/ui/templates/diff.html
|
||||
msgctxt "diff version"
|
||||
msgid "To"
|
||||
msgstr "到"
|
||||
|
||||
@@ -1256,14 +1292,17 @@ msgid "Jump"
|
||||
msgstr "跳转"
|
||||
|
||||
#: changedetectionio/blueprint/ui/templates/diff.html changedetectionio/blueprint/ui/templates/preview.html
|
||||
#: changedetectionio/processors/templates/extract.html
|
||||
msgid "Error Text"
|
||||
msgstr "错误文本"
|
||||
|
||||
#: changedetectionio/blueprint/ui/templates/diff.html changedetectionio/blueprint/ui/templates/preview.html
|
||||
#: changedetectionio/processors/templates/extract.html
|
||||
msgid "Error Screenshot"
|
||||
msgstr "错误截图"
|
||||
|
||||
#: changedetectionio/blueprint/ui/templates/diff.html changedetectionio/blueprint/ui/templates/preview.html
|
||||
#: changedetectionio/processors/templates/extract.html
|
||||
msgid "Text"
|
||||
msgstr "文本"
|
||||
|
||||
@@ -1271,7 +1310,8 @@ msgstr "文本"
|
||||
msgid "Current screenshot"
|
||||
msgstr "当前截图"
|
||||
|
||||
#: changedetectionio/blueprint/ui/templates/diff.html
|
||||
#: changedetectionio/blueprint/ui/templates/diff.html changedetectionio/processors/extract.py
|
||||
#: changedetectionio/processors/templates/extract.html
|
||||
msgid "Extract Data"
|
||||
msgstr "提取数据"
|
||||
|
||||
@@ -1861,6 +1901,26 @@ msgstr "尚未配置网站监控项,请在上方输入 URL 或"
|
||||
msgid "import a list"
|
||||
msgstr "导入列表"
|
||||
|
||||
#: changedetectionio/blueprint/watchlist/templates/watch-overview.html
|
||||
msgid "Pause checks"
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/blueprint/watchlist/templates/watch-overview.html
|
||||
msgid "UnPause checks"
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/blueprint/watchlist/templates/watch-overview.html
|
||||
msgid "Mute notification"
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/blueprint/watchlist/templates/watch-overview.html
|
||||
msgid "UnMute notification"
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/blueprint/watchlist/templates/watch-overview.html
|
||||
msgid "Create a link to share watch config with others"
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/blueprint/watchlist/templates/watch-overview.html
|
||||
msgid "Detecting restock and price"
|
||||
msgstr "检测补货与价格"
|
||||
@@ -1881,15 +1941,24 @@ msgstr "价格"
|
||||
msgid "No information"
|
||||
msgstr "暂无信息"
|
||||
|
||||
#: changedetectionio/blueprint/watchlist/templates/watch-overview.html
|
||||
msgid "Last Checked"
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/blueprint/watchlist/templates/watch-overview.html changedetectionio/templates/base.html
|
||||
msgid "Checking now"
|
||||
msgstr "正在检查"
|
||||
|
||||
#: changedetectionio/blueprint/watchlist/templates/watch-overview.html
|
||||
msgid "Last Changed"
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/blueprint/watchlist/templates/watch-overview.html
|
||||
msgid "Queued"
|
||||
msgstr "队列中"
|
||||
|
||||
#: changedetectionio/blueprint/watchlist/templates/watch-overview.html
|
||||
#: changedetectionio/processors/text_json_diff/difference.py
|
||||
msgid "History"
|
||||
msgstr "历史"
|
||||
|
||||
@@ -1923,6 +1992,168 @@ msgstr "重新检查全部"
|
||||
msgid "in '%(title)s'"
|
||||
msgstr "(“%(title)s”中)"
|
||||
|
||||
#: changedetectionio/conditions/__init__.py
|
||||
msgid "Choose one - Operator"
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/conditions/__init__.py
|
||||
msgid "Greater Than"
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/conditions/__init__.py
|
||||
msgid "Less Than"
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/conditions/__init__.py
|
||||
msgid "Greater Than or Equal To"
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/conditions/__init__.py
|
||||
msgid "Less Than or Equal To"
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/conditions/__init__.py
|
||||
msgid "Equals"
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/conditions/__init__.py
|
||||
msgid "Not Equals"
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/conditions/__init__.py
|
||||
msgid "Contains"
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/conditions/__init__.py
|
||||
msgid "Choose one - Field"
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/conditions/default_plugin.py
|
||||
msgid "Does NOT Contain"
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/conditions/default_plugin.py
|
||||
msgid "Text Starts With"
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/conditions/default_plugin.py
|
||||
msgid "Text Ends With"
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/conditions/default_plugin.py
|
||||
msgid "Length minimum"
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/conditions/default_plugin.py
|
||||
msgid "Length maximum"
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/conditions/default_plugin.py
|
||||
msgid "Text Matches Regex"
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/conditions/default_plugin.py
|
||||
msgid "Text Does NOT Match Regex"
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/conditions/default_plugin.py
|
||||
msgid "Extracted number after 'Filters & Triggers'"
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/conditions/default_plugin.py
|
||||
msgid "Page text after 'Filters & Triggers'"
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/conditions/form.py
|
||||
msgid "Field"
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/conditions/form.py
|
||||
msgid "Operator"
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/conditions/form.py
|
||||
msgid "A value"
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/conditions/form.py
|
||||
msgid "Operator is required."
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/conditions/form.py
|
||||
msgid "Field is required."
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/conditions/form.py
|
||||
msgid "Value is required."
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/conditions/plugins/levenshtein_plugin.py
|
||||
msgid "Levenshtein - Text similarity ratio"
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/conditions/plugins/levenshtein_plugin.py
|
||||
msgid "Levenshtein - Text change distance"
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/conditions/plugins/levenshtein_plugin.py
|
||||
msgid "Not enough history to calculate Levenshtein metrics"
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/conditions/plugins/levenshtein_plugin.py
|
||||
msgid "Snapshot too large for edit statistics, skipping."
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/conditions/plugins/levenshtein_plugin.py
|
||||
msgid "Unable to calculate Levenshtein metrics"
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/conditions/plugins/levenshtein_plugin.py
|
||||
msgid "Levenshtein Text Similarity Details"
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/conditions/plugins/levenshtein_plugin.py
|
||||
msgid "Raw distance (edits needed)"
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/conditions/plugins/levenshtein_plugin.py
|
||||
msgid "Similarity ratio"
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/conditions/plugins/levenshtein_plugin.py
|
||||
msgid "Percent similar"
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/conditions/plugins/levenshtein_plugin.py
|
||||
msgid ""
|
||||
"Levenshtein metrics compare the last two snapshots, measuring how many character edits are needed to transform one "
|
||||
"into the other."
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/conditions/plugins/levenshtein_plugin.py
|
||||
msgid "Error calculating Levenshtein metrics"
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/conditions/plugins/wordcount_plugin.py
|
||||
msgid "Word count of content"
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/conditions/plugins/wordcount_plugin.py
|
||||
msgid "Content Analysis"
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/conditions/plugins/wordcount_plugin.py
|
||||
msgid "Word count (latest snapshot)"
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/conditions/plugins/wordcount_plugin.py
|
||||
msgid "Word count is a simple measure of content length, calculated by splitting text on whitespace."
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/content_fetchers/requests.py
|
||||
msgid "Basic fast Plaintext/HTTP Client"
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/blueprint/watchlist/templates/watch-overview.html changedetectionio/flask_app.py
|
||||
#: changedetectionio/realtime/socket_server.py
|
||||
msgid "Not yet"
|
||||
@@ -2205,10 +2436,26 @@ msgstr "操作"
|
||||
msgid "Selector"
|
||||
msgstr "选择器"
|
||||
|
||||
#: changedetectionio/forms.py
|
||||
msgid "CSS or xPath selector"
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/forms.py
|
||||
msgid "value"
|
||||
msgstr "值"
|
||||
|
||||
#: changedetectionio/conditions/form.py changedetectionio/forms.py
|
||||
msgid "Value"
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/forms.py
|
||||
msgid "Web Page URL"
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/forms.py
|
||||
msgid "Group Tag"
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/forms.py
|
||||
msgid "Time Between Check"
|
||||
msgstr "检查间隔"
|
||||
@@ -2297,7 +2544,8 @@ msgstr "文本匹配时阻止变更检测"
|
||||
msgid "Execute JavaScript before change detection"
|
||||
msgstr "在变更检测前执行 JavaScript"
|
||||
|
||||
#: changedetectionio/blueprint/tags/templates/groups-overview.html changedetectionio/forms.py
|
||||
#: changedetectionio/blueprint/tags/form.py changedetectionio/blueprint/tags/templates/groups-overview.html
|
||||
#: changedetectionio/forms.py
|
||||
msgid "Save"
|
||||
msgstr "保存"
|
||||
|
||||
@@ -2365,7 +2613,7 @@ msgstr "模板语法无效:%(error)s"
|
||||
msgid "Invalid template syntax in \"%(header)s\" header: %(error)s"
|
||||
msgstr "“%(header)s”请求头中的模板语法无效:%(error)s"
|
||||
|
||||
#: changedetectionio/forms.py
|
||||
#: changedetectionio/blueprint/tags/form.py changedetectionio/forms.py
|
||||
msgid "Name"
|
||||
msgstr "名称"
|
||||
|
||||
@@ -2461,6 +2709,10 @@ msgstr "忽略文本"
|
||||
msgid "Ignore whitespace"
|
||||
msgstr "忽略空白"
|
||||
|
||||
#: changedetectionio/forms.py
|
||||
msgid "Screenshot: Minimum Change Percentage"
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/forms.py changedetectionio/processors/image_ssim_diff/forms.py
|
||||
msgid "Must be between 0 and 100"
|
||||
msgstr "必须介于 0 到 100 之间"
|
||||
@@ -2660,6 +2912,42 @@ msgstr "适用于单一商品页面的补货与价格检测"
|
||||
msgid "Detects if the product goes back to in-stock"
|
||||
msgstr "检测商品是否恢复有库存"
|
||||
|
||||
#: changedetectionio/processors/templates/extract.html
|
||||
msgid "Screenshot"
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/processors/templates/extract.html
|
||||
msgid "This tool will extract text data from all of the watch history."
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/processors/templates/extract.html
|
||||
msgid "A <strong>RegEx</strong> is a pattern that identifies exactly which part inside of the text that you want to extract."
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/processors/templates/extract.html
|
||||
msgid "For example, to extract only the numbers from text"
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/processors/templates/extract.html
|
||||
msgid "Raw text"
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/processors/templates/extract.html
|
||||
msgid "RegEx to extract:"
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/processors/templates/extract.html
|
||||
msgid "Be sure to test your RegEx here."
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/processors/templates/extract.html
|
||||
msgid "Each RegEx group bracket"
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/processors/templates/extract.html
|
||||
msgid "will be in its own column, the first column value is always the date."
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/processors/text_json_diff/processor.py
|
||||
msgid "Webpage Text/HTML, JSON and PDF changes"
|
||||
msgstr "网页文本/HTML、JSON 和 PDF 变更"
|
||||
@@ -2839,7 +3127,7 @@ msgstr "请阅读通知服务 Wiki 以了解重要配置说明"
|
||||
msgid "Use"
|
||||
msgstr "使用"
|
||||
|
||||
#: changedetectionio/templates/_common_fields.html
|
||||
#: changedetectionio/templates/_common_fields.html changedetectionio/templates/edit/include_subtract.html
|
||||
msgid "Show advanced help and tips"
|
||||
msgstr "显示高级帮助和提示"
|
||||
|
||||
@@ -2943,6 +3231,26 @@ msgstr "关于 Jinja2 内置过滤器的完整参考,请见"
|
||||
msgid "Format for all notifications"
|
||||
msgstr "所有通知的格式"
|
||||
|
||||
#: changedetectionio/templates/_common_fields.html
|
||||
msgid "Note"
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/templates/_common_fields.html
|
||||
msgid "Discord does not render HTML — switch to"
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/templates/_common_fields.html
|
||||
msgid "Plain Text"
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/templates/_common_fields.html
|
||||
msgid "format to avoid"
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/templates/_common_fields.html
|
||||
msgid "and other HTML entities appearing literally in your notifications."
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/templates/_helpers.html
|
||||
msgid "Entry"
|
||||
msgstr "条目"
|
||||
@@ -3059,10 +3367,18 @@ msgstr "此文本存在时将不会进行变更检测。"
|
||||
msgid "Blocked text"
|
||||
msgstr "阻止文本"
|
||||
|
||||
#: changedetectionio/templates/base.html
|
||||
msgid "A new version is available"
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/templates/base.html
|
||||
msgid "Search, or Use Alt+S Key"
|
||||
msgstr "搜索,或使用 Alt+S 快捷键"
|
||||
|
||||
#: changedetectionio/templates/base.html
|
||||
msgid "Share this link:"
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/templates/base.html
|
||||
msgid "Real-time updates offline"
|
||||
msgstr "实时更新离线"
|
||||
@@ -3233,10 +3549,6 @@ msgstr "调度已暂停 - 点击恢复"
|
||||
msgid "Unmute notifications"
|
||||
msgstr "取消静音通知"
|
||||
|
||||
#: changedetectionio/templates/menu.html
|
||||
msgid "Mute notifications"
|
||||
msgstr "静音通知"
|
||||
|
||||
#: changedetectionio/templates/menu.html
|
||||
msgid "Notifications are muted - click to unmute"
|
||||
msgstr "通知已静音 - 点击取消静音"
|
||||
@@ -3296,3 +3608,9 @@ msgstr "主设置"
|
||||
#~ msgid "\"Residential\" and \"Mobile\" proxy type can be more successfull than \"Data Center\" for blocked websites."
|
||||
#~ msgstr "对于被封锁的网站,“住宅”和“移动”代理类型可能比“数据中心”更有效。"
|
||||
|
||||
#~ msgid "From"
|
||||
#~ msgstr "从"
|
||||
|
||||
#~ msgid "To"
|
||||
#~ msgstr "到"
|
||||
|
||||
|
||||
Binary file not shown.
File diff suppressed because it is too large
Load Diff
+1
-1
@@ -40,7 +40,7 @@ orjson~=3.11
|
||||
# jq not available on Windows so must be installed manually
|
||||
|
||||
# Notification library
|
||||
apprise==1.9.8
|
||||
apprise==1.9.9
|
||||
|
||||
diff_match_patch
|
||||
|
||||
|
||||
@@ -6,7 +6,8 @@
|
||||
mapping_file = babel.cfg
|
||||
output_file = changedetectionio/translations/messages.pot
|
||||
input_paths = changedetectionio
|
||||
keywords = _ _l gettext
|
||||
keywords = _ _l gettext pgettext:1c,2
|
||||
add_comments = TRANSLATORS:
|
||||
# Options to reduce unnecessary changes in .pot files
|
||||
sort_by_file = true
|
||||
width = 120
|
||||
|
||||
Reference in New Issue
Block a user