mirror of
https://github.com/dgtlmoon/changedetection.io.git
synced 2026-05-07 10:10:44 +00:00
Compare commits
1 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| aef133351d |
@@ -35,21 +35,30 @@ jobs:
|
||||
run: |
|
||||
pip install "$(grep -E '^dennis ?>=' requirements.txt)"
|
||||
dennis-cmd lint --errorsonly changedetectionio/translations/
|
||||
- name: Lint .pot template with dennis (warnings)
|
||||
- name: Lint .pot template with dennis (baseline-limited warnings)
|
||||
# BASELINE: dennis warnings present when this check was introduced. Ratchet down only.
|
||||
# Each time a warning is fixed, lower BASELINE_LIMIT to lock in the improvement.
|
||||
# Once it reaches 0, replace this step with a strict (`warnings > 0` fails) check,
|
||||
# matching the `.po` step.
|
||||
env:
|
||||
BASELINE_LIMIT: 12
|
||||
run: |
|
||||
output=$(dennis-cmd lint changedetectionio/translations/messages.pot)
|
||||
echo "$output"
|
||||
warnings=$(echo "$output" | awk '/Warnings:/ {print $NF; exit}')
|
||||
if (( ${warnings:-0} > 0 )); then
|
||||
echo "ERROR: ${warnings} dennis warning(s) detected in messages.pot"
|
||||
echo "Fix the warning(s)."
|
||||
if (( ${warnings:-0} > BASELINE_LIMIT )); then
|
||||
echo "ERROR: ${warnings} dennis warning(s) exceed baseline of ${BASELINE_LIMIT} in messages.pot"
|
||||
echo "Fix the new warning(s). BASELINE_LIMIT may only ratchet downward."
|
||||
exit 1
|
||||
fi
|
||||
- name: Lint .po files with dennis (warnings)
|
||||
# W302 (unchanged) is excluded due to high false-positive rate in this codebase:
|
||||
# many msgstrs intentionally match msgid (units like "AI", "LLM", and proper nouns).
|
||||
# W302 (unchanged) and W303 (html mismatch) are excluded due to
|
||||
# high false-positive rate in this codebase:
|
||||
# many msgstrs intentionally match msgid (units like "Mb", proper nouns),
|
||||
# and many msgids contain literal "<title>"/"<description>" text that isn't actual HTML.
|
||||
run: |
|
||||
output=$(dennis-cmd lint --excluderules=W302 \
|
||||
output=$(dennis-cmd lint \
|
||||
--excluderules=W302,W303 \
|
||||
changedetectionio/translations/*/LC_MESSAGES/messages.po)
|
||||
echo "$output"
|
||||
warnings=$(echo "$output" | awk '/Total number of warnings:/ {print $NF; exit}')
|
||||
|
||||
@@ -75,7 +75,7 @@ class import_url_list(Importer):
|
||||
self.remaining_data = []
|
||||
self.remaining_data.append(url)
|
||||
|
||||
flash(gettext("{count} Imported from list in {duration}s, {skipped_count} Skipped.").format(count=good, duration=f"{time.time() - now:.2f}", skipped_count=len(self.remaining_data)))
|
||||
flash(gettext("{} Imported from list in {:.2f}s, {} Skipped.").format(good, time.time() - now, len(self.remaining_data)))
|
||||
|
||||
|
||||
class import_distill_io_json(Importer):
|
||||
@@ -136,7 +136,7 @@ class import_distill_io_json(Importer):
|
||||
self.new_uuids.append(new_uuid)
|
||||
good += 1
|
||||
|
||||
flash(gettext("{count} Imported from Distill.io in {duration}s, {skipped_count} Skipped.").format(count=len(self.new_uuids), duration=f"{time.time() - now:.2f}", skipped_count=len(self.remaining_data)))
|
||||
flash(gettext("{} Imported from Distill.io in {:.2f}s, {} Skipped.").format(len(self.new_uuids), time.time() - now, len(self.remaining_data)))
|
||||
|
||||
|
||||
class import_xlsx_wachete(Importer):
|
||||
@@ -212,7 +212,7 @@ class import_xlsx_wachete(Importer):
|
||||
logger.error(e)
|
||||
flash(gettext("Error processing row number {}, check all cell data types are correct, row was skipped.").format(row_id), 'error')
|
||||
|
||||
flash(gettext("{count} imported from Wachete .xlsx in {duration}s").format(count=len(self.new_uuids), duration=f"{time.time() - now:.2f}"))
|
||||
flash(gettext("{} imported from Wachete .xlsx in {:.2f}s").format(len(self.new_uuids), time.time() - now))
|
||||
|
||||
|
||||
class import_xlsx_custom(Importer):
|
||||
@@ -293,4 +293,4 @@ class import_xlsx_custom(Importer):
|
||||
logger.error(e)
|
||||
flash(gettext("Error processing row number {}, check all cell data types are correct, row was skipped.").format(row_i), 'error')
|
||||
|
||||
flash(gettext("{count} imported from custom .xlsx in {duration}s").format(count=len(self.new_uuids), duration=f"{time.time() - now:.2f}"))
|
||||
flash(gettext("{} imported from custom .xlsx in {:.2f}s").format(len(self.new_uuids), time.time() - now))
|
||||
@@ -7,7 +7,7 @@
|
||||
<div class="tabs collapsable">
|
||||
<ul>
|
||||
<li class="tab" id=""><a href="#url-list">{{ _('URL List') }}</a></li>
|
||||
<li class="tab"><a href="#distill-io">Distill.io</a></li>
|
||||
<li class="tab"><a href="#distill-io">{{ _('Distill.io') }}</a></li>
|
||||
<li class="tab"><a href="#xlsx">{{ _('.XLSX & Wachete') }}</a></li>
|
||||
<li class="tab"><a href="{{url_for('backups.restore.restore')}}">{{ _('Backup Restore') }}</a></li>
|
||||
</ul>
|
||||
@@ -45,7 +45,6 @@
|
||||
<div class="tab-pane-inner" id="distill-io">
|
||||
<div class="pure-control-group">
|
||||
{{ _('Copy and Paste your Distill.io watch \'export\' file, this should be a JSON file.') }}<br>
|
||||
{# TRANSLATORS: CJK fonts lack native italics; allow substitution with conventional local styling. dennis-ignore: W303 #}
|
||||
{{ _('This is <i>experimental</i>, supported fields are <code>name</code>, <code>uri</code>, <code>tags</code>, <code>config:selections</code>, the rest (including <code>schedule</code>) are ignored.')|safe }}
|
||||
<br>
|
||||
<p>
|
||||
@@ -104,7 +103,7 @@
|
||||
{% for n in range(4) %}
|
||||
<td><select name="custom_xlsx[col_type_{{n}}]">
|
||||
<option value="" style="color: #aaa"> -- {{ _('none') }} --</option>
|
||||
<option value="url">URL</option>
|
||||
<option value="url">{{ _('URL') }}</option>
|
||||
<option value="title">{{ _('Title') }}</option>
|
||||
<option value="include_filters">{{ _('CSS/xPath filter') }}</option>
|
||||
<option value="tag">{{ _('Group / Tag name(s)') }}</option>
|
||||
|
||||
@@ -181,8 +181,8 @@ def construct_blueprint(datastore: ChangeDetectionStore):
|
||||
# Check CPU core availability and warn if worker count is high
|
||||
cpu_count = os.cpu_count()
|
||||
if cpu_count and new_worker_count >= (cpu_count * 0.9):
|
||||
flash(gettext("Warning: Worker count ({worker_count}) is close to or exceeds available CPU cores ({cpu_count})").format(
|
||||
worker_count=new_worker_count, cpu_count=cpu_count), 'warning')
|
||||
flash(gettext("Warning: Worker count ({}) is close to or exceeds available CPU cores ({})").format(
|
||||
new_worker_count, cpu_count), 'warning')
|
||||
|
||||
result = worker_pool.adjust_async_worker_count(
|
||||
new_count=new_worker_count,
|
||||
|
||||
@@ -122,7 +122,7 @@ def construct_llm_blueprint(datastore: ChangeDetectionStore):
|
||||
except OSError as e:
|
||||
logger.warning(f"Could not remove LLM summary cache file {f}: {e}")
|
||||
logger.info(f"LLM summary cache cleared: {count} file(s) removed")
|
||||
flash(gettext("AI summary cache cleared ({} file(s) removed).").format(count), 'notice')
|
||||
flash(gettext("AI summary cache cleared (%(n)s file(s) removed).", n=count), 'notice')
|
||||
return redirect(url_for('settings.settings_page') + '#ai')
|
||||
|
||||
return llm_blueprint
|
||||
|
||||
@@ -24,8 +24,8 @@
|
||||
<li class="tab"><a href="#fetching">{{ _('Fetching') }}</a></li>
|
||||
<li class="tab"><a href="#filters">{{ _('Global Filters') }}</a></li>
|
||||
<li class="tab"><a href="#ui-options">{{ _('UI Options') }}</a></li>
|
||||
<li class="tab"><a href="#api">API</a></li>
|
||||
<li class="tab"><a href="#rss">RSS</a></li>
|
||||
<li class="tab"><a href="#api">{{ _('API') }}</a></li>
|
||||
<li class="tab"><a href="#rss">{{ _('RSS') }}</a></li>
|
||||
<li class="tab"><a href="{{ url_for('backups.create') }}">{{ _('Backups') }}</a></li>
|
||||
<li class="tab"><a href="#timedate">{{ _('Time & Date') }}</a></li>
|
||||
<li class="tab"><a href="#proxies">{{ _('CAPTCHA & Proxies') }}</a></li>
|
||||
|
||||
@@ -333,7 +333,7 @@
|
||||
<span class="llm-env-badge">{{ _('(set via <code>LLM_MAX_INPUT_CHARS</code>)') | safe }}</span>
|
||||
{% else %}
|
||||
{{ form.llm.form.llm_max_input_chars(placeholder='100000', value=llm_stored.get('max_input_chars', 100000) or '') }}
|
||||
<span class="llm-field-hint">{{ _('characters — currently enforcing: %(limit)s', limit='{:,}'.format(llm_effective_max_input_chars)) }}</span>
|
||||
<span class="llm-field-hint">{{ _('characters — currently enforcing: %(n)s', n='{:,}'.format(llm_effective_max_input_chars)) }}</span>
|
||||
{% endif %}
|
||||
</span>
|
||||
</div>
|
||||
@@ -364,7 +364,7 @@
|
||||
<span class="llm-env-badge">{{ _('(set via <code>LLM_MAX_INPUT_CHARS</code>)') | safe }}</span>
|
||||
{% else %}
|
||||
{{ form.llm.form.llm_max_input_chars(placeholder='100000', value=llm_stored.get('max_input_chars', 100000) or '') }}
|
||||
<span class="llm-field-hint">{{ _('characters — currently enforcing: %(limit)s', limit='{:,}'.format(llm_effective_max_input_chars)) }}</span>
|
||||
<span class="llm-field-hint">{{ _('characters — currently enforcing: %(n)s', n='{:,}'.format(llm_effective_max_input_chars)) }}</span>
|
||||
{% endif %}
|
||||
</span>
|
||||
</div>
|
||||
|
||||
@@ -98,7 +98,6 @@
|
||||
{% endif %}
|
||||
|
||||
<div class="tab-pane-inner" id="filters-and-triggers">
|
||||
{# TRANSLATORS: CJK fonts lack native italics; allow substitution with conventional local styling. dennis-ignore: W303 #}
|
||||
<p>{{ _('These settings are <strong><i>added</i></strong> to any existing watch configurations.')|safe }}</p>
|
||||
|
||||
{% include "edit/include_subtract.html" %}
|
||||
|
||||
@@ -307,8 +307,8 @@ def construct_blueprint(datastore: ChangeDetectionStore, update_q, worker_pool,
|
||||
# Provide feedback about skipped watches
|
||||
skipped_count = len(watches_to_queue) - len(watches_to_queue_filtered)
|
||||
if skipped_count > 0:
|
||||
flash(gettext("Queued {count} watches for rechecking ({skipped_count} already queued or running).").format(
|
||||
count=len(watches_to_queue_filtered), skipped_count=skipped_count))
|
||||
flash(gettext("Queued {} watches for rechecking ({} already queued or running).").format(
|
||||
len(watches_to_queue_filtered), skipped_count))
|
||||
else:
|
||||
if len(watches_to_queue_filtered) == 1:
|
||||
flash(gettext("Queued 1 watch for rechecking."))
|
||||
|
||||
@@ -365,7 +365,6 @@ Math: {{ 1 + 1 }}") }}
|
||||
</fieldset>
|
||||
<fieldset class="pure-control-group">
|
||||
{{ render_checkbox_field(form.sort_text_alphabetically) }}
|
||||
{# TRANSLATORS: CJK fonts lack native italics; allow substitution with conventional local styling. dennis-ignore: W303 #}
|
||||
<span class="pure-form-message-inline">{{ _('Helps reduce changes detected caused by sites shuffling lines around, combine with <i>check unique lines</i> below.')|safe }}</span>
|
||||
</fieldset>
|
||||
<fieldset class="pure-control-group">
|
||||
|
||||
@@ -163,13 +163,12 @@ window.watchOverviewI18n = {
|
||||
data-confirm-type="danger"
|
||||
data-confirm-title="{{ _('Clear Histories') }}"
|
||||
data-confirm-message="{{ _('<p>Are you sure you want to clear history for the selected items?</p><p>This action cannot be undone.</p>') }}"
|
||||
{# TRANSLATORS: Universally recognized; typically left as-is. dennis-ignore: W302 #}
|
||||
data-confirm-button="{{ _('OK') }}"><i data-feather="trash-2" style="width: 14px; height: 14px; stroke: white; margin-right: 4px;"></i>{{ _('Clear/reset history') }}</button>
|
||||
<button class="pure-button button-secondary button-xsmall" style="background: #dd4242;" name="op" value="delete"
|
||||
data-requires-confirm
|
||||
data-confirm-type="danger"
|
||||
data-confirm-title="{{ _('Delete Watches?') }}"
|
||||
data-confirm-message="{{ _('<p><strong>Are you sure you want to delete the selected watches?</strong></p><p>This action cannot be undone.</p>') }}"
|
||||
data-confirm-message="{{ _('<p>Are you sure you want to delete the selected watches?</strong></p><p>This action cannot be undone.</p>') }}"
|
||||
data-confirm-button="{{ _('Delete') }}"><i data-feather="trash" style="width: 14px; height: 14px; stroke: white; margin-right: 4px;"></i>{{ _('Delete') }}</button>
|
||||
</div>
|
||||
|
||||
|
||||
@@ -618,8 +618,8 @@ class ValidateCSSJSONXPATHInput(object):
|
||||
try:
|
||||
elementpath.select(tree, line.strip(), parser=SafeXPath3Parser)
|
||||
except elementpath.ElementPathError as e:
|
||||
message = field.gettext('\'%(expression)s\' is not a valid XPath expression. (%(error)s)')
|
||||
raise ValidationError(message % {'expression': line, 'error': str(e)})
|
||||
message = field.gettext('\'%s\' is not a valid XPath expression. (%s)')
|
||||
raise ValidationError(message % (line, str(e)))
|
||||
except:
|
||||
raise ValidationError("A system-error occurred when validating your XPath expression")
|
||||
|
||||
@@ -633,8 +633,8 @@ class ValidateCSSJSONXPATHInput(object):
|
||||
try:
|
||||
tree.xpath(line.strip())
|
||||
except etree.XPathEvalError as e:
|
||||
message = field.gettext('\'%(expression)s\' is not a valid XPath expression. (%(error)s)')
|
||||
raise ValidationError(message % {'expression': line, 'error': str(e)})
|
||||
message = field.gettext('\'%s\' is not a valid XPath expression. (%s)')
|
||||
raise ValidationError(message % (line, str(e)))
|
||||
except:
|
||||
raise ValidationError("A system-error occurred when validating your XPath expression")
|
||||
|
||||
@@ -653,8 +653,8 @@ class ValidateCSSJSONXPATHInput(object):
|
||||
try:
|
||||
parse(input)
|
||||
except (JsonPathParserError, JsonPathLexerError) as e:
|
||||
message = field.gettext('\'%(expression)s\' is not a valid JSONPath expression. (%(error)s)')
|
||||
raise ValidationError(message % {'expression': input, 'error': str(e)})
|
||||
message = field.gettext('\'%s\' is not a valid JSONPath expression. (%s)')
|
||||
raise ValidationError(message % (input, str(e)))
|
||||
except:
|
||||
raise ValidationError("A system-error occurred when validating your JSONPath expression")
|
||||
|
||||
@@ -677,8 +677,8 @@ class ValidateCSSJSONXPATHInput(object):
|
||||
validate_jq_expression(input)
|
||||
jq.compile(input)
|
||||
except (ValueError) as e:
|
||||
message = field.gettext('\'%(expression)s\' is not a valid jq expression. (%(error)s)')
|
||||
raise ValidationError(message % {'expression': input, 'error': str(e)})
|
||||
message = field.gettext('\'%s\' is not a valid jq expression. (%s)')
|
||||
raise ValidationError(message % (input, str(e)))
|
||||
except:
|
||||
raise ValidationError("A system-error occurred when validating your jq expression")
|
||||
|
||||
@@ -728,7 +728,7 @@ class ValidateStartsWithRegex(object):
|
||||
raise ValidationError(self.message or _l("Invalid value."))
|
||||
|
||||
class quickWatchForm(Form):
|
||||
url = StringField('URL', validators=[validateURL()])
|
||||
url = StringField(_l('URL'), validators=[validateURL()])
|
||||
tags = StringTagUUID(_l('Group tag'), validators=[validators.Optional()])
|
||||
watch_submit_button = SubmitField(_l('Watch'), render_kw={"class": "pure-button pure-button-primary"})
|
||||
processor = RadioField(_l('Processor'), choices=lambda: processors.available_processors(), default=processors.get_default_processor)
|
||||
@@ -843,7 +843,6 @@ class processor_text_json_diff_form(commonSettingsForm):
|
||||
|
||||
conditions_match_logic = RadioField(_l('Match'), choices=[('ALL', _l('Match all of the following')),('ANY', _l('Match any of the following'))], default='ALL')
|
||||
conditions = FieldList(FormField(ConditionFormRow), min_entries=1) # Add rule logic here
|
||||
# dennis-ignore: W303 - False positive caused by <title>. https://github.com/mozilla/dennis/issues/213
|
||||
use_page_title_in_list = TernaryNoneBooleanField(_l('Use page <title> in list'), default=None)
|
||||
|
||||
history_snapshot_max_length = IntegerField(_l('Number of history items per watch to keep'), render_kw={"style": "width: 5em;"}, validators=[validators.Optional(), validators.NumberRange(min=2)])
|
||||
@@ -992,7 +991,6 @@ class globalSettingsApplicationUIForm(Form):
|
||||
open_diff_in_new_tab = BooleanField(_l("Open 'History' page in a new tab"), default=True, validators=[validators.Optional()])
|
||||
socket_io_enabled = BooleanField(_l('Realtime UI Updates Enabled'), default=True, validators=[validators.Optional()])
|
||||
favicons_enabled = BooleanField(_l('Favicons Enabled'), default=True, validators=[validators.Optional()])
|
||||
# dennis-ignore: W303 - False positive caused by <title>. https://github.com/mozilla/dennis/issues/213
|
||||
use_page_title_in_list = BooleanField(_l('Use page <title> in watch overview list')) #BooleanField=True
|
||||
|
||||
# datastore.data['settings']['application']..
|
||||
|
||||
@@ -65,9 +65,6 @@ def notification_format_align_with_apprise(n_format : str):
|
||||
:return:
|
||||
"""
|
||||
|
||||
if not n_format:
|
||||
return NotifyFormat.TEXT.value
|
||||
|
||||
if n_format.startswith('html'):
|
||||
# Apprise only knows 'html' not 'htmlcolor' etc, which shouldnt matter here
|
||||
n_format = NotifyFormat.HTML.value
|
||||
@@ -382,20 +379,6 @@ def process_notification(n_object: NotificationContextData, datastore):
|
||||
n_object['llm_summary'] = _llm_change_summary or (n_object.get('_llm_result') or {}).get('summary', '')
|
||||
n_object['llm_intent'] = n_object.get('_llm_intent', '')
|
||||
|
||||
# Re #3529: diff content from text/plain pages may contain raw '<' chars that break HTML emails.
|
||||
# Escape only the diff variables before Jinja2 renders them into the template, so the user's
|
||||
# own HTML in the notification body (e.g. <a href="{{watch_url}}">) is never touched.
|
||||
# Diff placemarkers (e.g. @removed_PLACEMARKER_OPEN) contain no HTML chars so they survive
|
||||
# html_escape and are still replaced with <span> tags by apply_service_tweaks later.
|
||||
watch_mime_type = n_object.get('watch_mime_type')
|
||||
if (watch_mime_type and 'text/' in watch_mime_type.lower() and 'html' not in watch_mime_type.lower()
|
||||
and 'html' in requested_output_format):
|
||||
from markupsafe import escape as html_escape
|
||||
_page_content_keys = {'raw_diff', 'current_snapshot', 'prev_snapshot', 'triggered_text'}
|
||||
for key in [k for k in notification_parameters if k.startswith('diff') or k in _page_content_keys]:
|
||||
if notification_parameters.get(key):
|
||||
notification_parameters[key] = str(html_escape(str(notification_parameters[key])))
|
||||
|
||||
with (apprise.LogCapture(level=apprise.logging.DEBUG) as logs):
|
||||
for url in n_object['notification_urls']:
|
||||
|
||||
@@ -413,6 +396,13 @@ def process_notification(n_object: NotificationContextData, datastore):
|
||||
logger.info(f">> Process Notification: AppRise start notifying '{url}'")
|
||||
url = jinja_render(template_str=url, **notification_parameters)
|
||||
|
||||
# If it's a plaintext document, and they want HTML type email/alerts, so it needs to be escaped
|
||||
watch_mime_type = n_object.get('watch_mime_type')
|
||||
if watch_mime_type and 'text/' in watch_mime_type.lower() and not 'html' in watch_mime_type.lower():
|
||||
if 'html' in requested_output_format:
|
||||
from markupsafe import escape
|
||||
n_body = str(escape(n_body))
|
||||
|
||||
if 'html' in requested_output_format:
|
||||
# Since the n_body is always some kind of text from the 'diff' engine, attempt to preserve whitespaces that get sent to the HTML output
|
||||
# But only where its more than 1 consecutive whitespace, otherwise "and this" becomes "and this" etc which is too much.
|
||||
|
||||
@@ -29,7 +29,7 @@ def _check_cascading_vars(datastore, var_name, watch):
|
||||
v = watch.get(var_name)
|
||||
if v and not watch.get('notification_muted'):
|
||||
if var_name == 'notification_format' and v == USE_SYSTEM_DEFAULT_NOTIFICATION_FORMAT_FOR_WATCH:
|
||||
return datastore.data['settings']['application'].get('notification_format') or default_notification_format
|
||||
return datastore.data['settings']['application'].get('notification_format')
|
||||
|
||||
return v
|
||||
|
||||
@@ -457,7 +457,7 @@ Thanks - Your omniscient changedetection.io installation.
|
||||
'notification_body': body,
|
||||
'notification_format': _check_cascading_vars(self.datastore, 'notification_format', watch),
|
||||
})
|
||||
n_object['markup_text_links_to_html_links'] = (n_object.get('notification_format') or '').startswith('html')
|
||||
n_object['markup_text_links_to_html_links'] = n_object.get('notification_format').startswith('html')
|
||||
|
||||
if len(watch['notification_urls']):
|
||||
n_object['notification_urls'] = watch['notification_urls']
|
||||
@@ -506,7 +506,7 @@ Thanks - Your omniscient changedetection.io installation.
|
||||
'notification_body': body,
|
||||
'notification_format': _check_cascading_vars(self.datastore, 'notification_format', watch),
|
||||
})
|
||||
n_object['markup_text_links_to_html_links'] = (n_object.get('notification_format') or '').startswith('html')
|
||||
n_object['markup_text_links_to_html_links'] = n_object.get('notification_format').startswith('html')
|
||||
|
||||
if len(watch['notification_urls']):
|
||||
n_object['notification_urls'] = watch['notification_urls']
|
||||
|
||||
@@ -743,7 +743,7 @@ class ChangeDetectionStore(DatastoreUpdatesMixin, FileSavingDataStore):
|
||||
current_watch_count = len(self.__data['watching'])
|
||||
if current_watch_count >= page_watch_limit:
|
||||
logger.error(f"Watch limit reached: {current_watch_count}/{page_watch_limit} watches. Cannot add {url}")
|
||||
flash(gettext("Watch limit reached ({current}/{limit} watches). Cannot add more watches.").format(current=current_watch_count, limit=page_watch_limit), 'error')
|
||||
flash(gettext("Watch limit reached ({}/{} watches). Cannot add more watches.").format(current_watch_count, page_watch_limit), 'error')
|
||||
return None
|
||||
except ValueError:
|
||||
logger.warning(f"Invalid PAGE_WATCH_LIMIT value: {page_watch_limit}, ignoring limit check")
|
||||
|
||||
@@ -34,7 +34,6 @@
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>{{ '{{watch_title}}' }}</code></td>
|
||||
{# TRANSLATORS: dennis-ignore: W303 - False positive caused by <title>. https://github.com/mozilla/dennis/issues/213 #}
|
||||
<td>{{ _('The page title of the watch, uses <title> if not set, falls back to URL') }}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
@@ -160,7 +159,7 @@
|
||||
<div class="pure-form-message-inline">
|
||||
<p>
|
||||
<strong>{{ _('Tip:') }}</strong> {{ _('Use <a target="newwindow" href="%(url)s">AppRise Notification URLs</a> for notification to just about any service!',
|
||||
url='https://github.com/caronc/apprise')|safe }} <a target="newwindow" href="https://github.com/dgtlmoon/changedetection.io/wiki/Notification-configuration-notes">{# TRANSLATORS: CJK fonts lack native italics; allow substitution with conventional local styling. dennis-ignore: W303 #}{{ _('<i>Please read the notification services wiki here for important configuration notes</i>')|safe }}</a>.<br>
|
||||
url='https://github.com/caronc/apprise')|safe }} <a target="newwindow" href="https://github.com/dgtlmoon/changedetection.io/wiki/Notification-configuration-notes">{{ _('<i>Please read the notification services wiki here for important configuration notes</i>')|safe }}</a>.<br>
|
||||
</p>
|
||||
<div data-target="#advanced-help-notifications" class="toggle-show pure-button button-tag button-xsmall">{{ _('Show advanced help and tips') }}</div>
|
||||
<ul style="display: none" id="advanced-help-notifications">
|
||||
|
||||
@@ -9,7 +9,6 @@ xpath://body/div/span[contains(@class, 'example-class')]",
|
||||
{% if '/text()' in field %}
|
||||
<span class="pure-form-message-inline"><strong>{{ _('Note!: //text() function does not work where the <element> contains <![CDATA[]]>') }}</strong></span><br>
|
||||
{% endif %}
|
||||
{# TRANSLATORS: CJK fonts lack native italics; allow substitution with conventional local styling. dennis-ignore: W303 #}
|
||||
<span class="pure-form-message-inline">{{ _('One CSS, xPath 1 & 2, JSON Path/JQ selector per line, <i>any</i> rules that matches will be used.') | safe }}<br>
|
||||
<span data-target="#advanced-help-selectors" class="toggle-show pure-button button-tag button-xsmall">{{ _('Show advanced help and tips') }}</span><br>
|
||||
<ul id="advanced-help-selectors" style="display: none;">
|
||||
|
||||
@@ -541,39 +541,6 @@ def test_single_send_test_notification_on_watch(client, live_server, measure_mem
|
||||
assert 'Current snapshot: Example text: example test' in x
|
||||
os.unlink(os.path.join(datastore_path, "notification.txt"))
|
||||
|
||||
# Regression test for #4119 - sending a test notification with 'System default' format caused a crash
|
||||
def test_send_test_notification_with_system_default_format(client, live_server, measure_memory_usage, datastore_path):
|
||||
|
||||
set_original_response(datastore_path=datastore_path)
|
||||
if os.path.isfile(os.path.join(datastore_path, "notification.txt")):
|
||||
os.unlink(os.path.join(datastore_path, "notification.txt"))
|
||||
|
||||
test_notification_url = url_for('test_notification_endpoint', _external=True).replace('http://', 'post://') + "?status_code=204"
|
||||
|
||||
test_url = url_for('test_endpoint', _external=True)
|
||||
uuid = client.application.config.get('DATASTORE').add_watch(url=test_url)
|
||||
client.get(url_for("ui.form_watch_checknow"), follow_redirects=True)
|
||||
wait_for_all_checks(client)
|
||||
|
||||
# New watches default to USE_SYSTEM_DEFAULT_NOTIFICATION_FORMAT_FOR_WATCH.
|
||||
# The JS sends this value verbatim from the select; it must not crash.
|
||||
res = client.post(
|
||||
url_for("ui.ui_notification.ajax_callback_send_notification_test") + f"/{uuid}",
|
||||
data={
|
||||
"notification_urls": test_notification_url,
|
||||
"notification_body": default_notification_body,
|
||||
"notification_title": default_notification_title,
|
||||
"notification_format": USE_SYSTEM_DEFAULT_NOTIFICATION_FORMAT_FOR_WATCH,
|
||||
},
|
||||
follow_redirects=True
|
||||
)
|
||||
|
||||
assert res.status_code != 400
|
||||
assert res.status_code != 500
|
||||
|
||||
client.get(url_for("ui.form_delete", uuid="all"), follow_redirects=True)
|
||||
|
||||
|
||||
def _test_color_notifications(client, notification_body_token, datastore_path):
|
||||
|
||||
set_original_response(datastore_path=datastore_path)
|
||||
@@ -635,68 +602,3 @@ def test_html_color_notifications(client, live_server, measure_memory_usage, dat
|
||||
_test_color_notifications(client, '{{diff}}',datastore_path=datastore_path)
|
||||
_test_color_notifications(client, '{{diff_full}}',datastore_path=datastore_path)
|
||||
|
||||
|
||||
def _test_custom_html_in_notification_body_not_escaped(client, datastore_path, content_type=None):
|
||||
"""
|
||||
#4121 - Custom HTML in the notification body (e.g. <a href="{{watch_url}}">) must NOT be
|
||||
HTML-escaped regardless of the watched page's content-type. Only raw diff content from
|
||||
text/plain pages needs escaping (to prevent raw '<' chars breaking HTML email rendering).
|
||||
"""
|
||||
set_original_response(datastore_path=datastore_path)
|
||||
|
||||
if os.path.isfile(os.path.join(datastore_path, "notification.txt")):
|
||||
os.unlink(os.path.join(datastore_path, "notification.txt"))
|
||||
|
||||
test_notification_url = url_for('test_notification_endpoint', _external=True).replace('http://', 'post://')
|
||||
|
||||
kwargs = {'content_type': content_type} if content_type else {}
|
||||
test_url = url_for('test_endpoint', _external=True, **kwargs)
|
||||
|
||||
res = client.post(
|
||||
url_for("settings.settings_page"),
|
||||
data={
|
||||
"application-fetch_backend": "html_requests",
|
||||
"application-minutes_between_check": 180,
|
||||
"application-notification_body": '<a href="{{watch_url}}">Watch Link</a> had changes\n\n{{diff}}',
|
||||
"application-notification_format": "htmlcolor",
|
||||
"application-notification_urls": test_notification_url,
|
||||
"application-notification_title": "Change detected",
|
||||
},
|
||||
follow_redirects=True
|
||||
)
|
||||
assert b'Settings updated' in res.data
|
||||
|
||||
res = client.post(
|
||||
url_for("ui.ui_views.form_quick_watch_add"),
|
||||
data={"url": test_url, "tags": ''},
|
||||
follow_redirects=True
|
||||
)
|
||||
assert b"Watch added" in res.data
|
||||
|
||||
wait_for_all_checks(client)
|
||||
set_modified_response(datastore_path=datastore_path)
|
||||
|
||||
res = client.get(url_for("ui.form_watch_checknow"), follow_redirects=True)
|
||||
assert b'Queued 1 watch for rechecking.' in res.data
|
||||
|
||||
wait_for_all_checks(client)
|
||||
wait_for_notification_endpoint_output(datastore_path=datastore_path)
|
||||
|
||||
with open(os.path.join(datastore_path, "notification.txt"), 'r') as f:
|
||||
x = f.read()
|
||||
|
||||
assert '<a href=' not in x, f"Custom HTML <a> tag was incorrectly escaped (content_type={content_type})"
|
||||
assert '<a href=' in x, f"Custom HTML <a> tag not found unescaped (content_type={content_type})"
|
||||
assert '<span' in x, f"Expected color <span> tags not found (content_type={content_type})"
|
||||
|
||||
client.get(url_for("ui.form_delete", uuid="all"), follow_redirects=True)
|
||||
|
||||
|
||||
def test_plaintext_watch_custom_html_in_notification_body_not_escaped(client, live_server, measure_memory_usage, datastore_path):
|
||||
# text/plain: diff content may contain raw '<' chars — those must be escaped, but NOT the user's template HTML
|
||||
_test_custom_html_in_notification_body_not_escaped(client, datastore_path, content_type="text/plain")
|
||||
# text/html: HTML processor strips tags before diffing, no escaping needed, user's template HTML must be preserved
|
||||
_test_custom_html_in_notification_body_not_escaped(client, datastore_path, content_type="text/html")
|
||||
# no MIME type (None): same as HTML case, user's template HTML must be preserved
|
||||
_test_custom_html_in_notification_body_not_escaped(client, datastore_path, content_type=None)
|
||||
|
||||
|
||||
@@ -223,58 +223,6 @@ Babel auto-discovers the new language on subsequent runs.
|
||||
|
||||
---
|
||||
|
||||
## Dennis linter
|
||||
|
||||
We use [mozilla/dennis](https://github.com/mozilla/dennis) to enforce technical correctness in `.po` and `.pot` files.
|
||||
See the [Table of Warnings and Errors](https://dennis.readthedocs.io/en/latest/linting.html#table-of-warnings-and-errors)
|
||||
for the full list of rules.
|
||||
|
||||
### Running the linter locally
|
||||
|
||||
To match the CI checks, run the following commands:
|
||||
|
||||
```bash
|
||||
# Check for errors only (always enforced)
|
||||
dennis-cmd lint --errorsonly changedetectionio/translations/
|
||||
|
||||
# Check for warnings (excluding W302 unchanged translations)
|
||||
dennis-cmd lint --excluderules=W302 changedetectionio/translations/
|
||||
```
|
||||
|
||||
### Common problems and resolutions
|
||||
|
||||
#### HTML tag mismatch (`W303`)
|
||||
|
||||
The `W303` rule ensures that HTML tags in the `msgstr` match the `msgid`. This is crucial for catching broken markup (e.g., missing closing tags).
|
||||
|
||||
##### Handling intentional deviations and false positives
|
||||
|
||||
Some W303 warnings are intentional or result from upstream false positives.
|
||||
Use the `dennis-ignore: W303` comment in the source files (templates or Python code) within a `TRANSLATORS` comment to suppress these warnings.
|
||||
This ensures the ignore instruction is extracted into the `.po` files.
|
||||
|
||||
- **CJK italic policy**: When replacing `<i>` with locale-conventional quotation marks, tags will no longer match.
|
||||
- **Upstream false positive**: Dennis misinterprets certain HTML tags (e.g., `<title>`) within `msgstr`. See https://github.com/mozilla/dennis/issues/213.
|
||||
|
||||
**Examples in Jinja2 templates:**
|
||||
|
||||
```jinja
|
||||
{# TRANSLATORS: CJK fonts lack native italics; allow substitution with conventional local styling. dennis-ignore: W303 #}
|
||||
<p>{{ _('These settings are <strong><i>added</i></strong> to any existing watch configurations.')|safe }}</p>
|
||||
|
||||
{# TRANSLATORS: dennis-ignore: W303 - False positive caused by <title>. https://github.com/mozilla/dennis/issues/213 #}
|
||||
<td>{{ _('The page title of the watch, uses <title> if not set, falls back to URL') }}</td>
|
||||
```
|
||||
|
||||
**Example in Python source:**
|
||||
|
||||
```python
|
||||
# dennis-ignore: W303 - False positive caused by <title>. https://github.com/mozilla/dennis/issues/213
|
||||
use_page_title_in_list = BooleanField(_l('Use page <title> in watch overview list'))
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## CI linter
|
||||
|
||||
A GitHub Actions job (`lint-template-i18n`) checks for adjacent `{{ _(...) }}` calls on the same line
|
||||
|
||||
Binary file not shown.
@@ -160,8 +160,8 @@ msgstr "Importuje se prvních 5000 URL adres, další lze načíst opakovaným i
|
||||
|
||||
#: changedetectionio/blueprint/imports/importer.py
|
||||
#, python-brace-format
|
||||
msgid "{count} Imported from list in {duration}s, {skipped_count} Skipped."
|
||||
msgstr "{count} importováno ze seznamu za {duration}s, {skipped_count} přeskočeno."
|
||||
msgid "{} Imported from list in {:.2f}s, {} Skipped."
|
||||
msgstr "{} importováno ze seznamu za {:.2f}s, {} přeskočeno."
|
||||
|
||||
#: changedetectionio/blueprint/imports/importer.py
|
||||
msgid "Unable to read JSON file, was it broken?"
|
||||
@@ -173,8 +173,8 @@ msgstr "Strukturovaný JSON text je neplatný, byl poškozen?"
|
||||
|
||||
#: changedetectionio/blueprint/imports/importer.py
|
||||
#, python-brace-format
|
||||
msgid "{count} Imported from Distill.io in {duration}s, {skipped_count} Skipped."
|
||||
msgstr "{count} importováno z Distill.io za {duration}s, {skipped_count} přeskočeno."
|
||||
msgid "{} Imported from Distill.io in {:.2f}s, {} Skipped."
|
||||
msgstr "{} importováno z Distill.io za {:.2f}s, {} přeskočeno."
|
||||
|
||||
#: changedetectionio/blueprint/imports/importer.py
|
||||
msgid "Unable to read export XLSX file, something wrong with the file?"
|
||||
@@ -192,18 +192,22 @@ msgstr "Chyba při zpracování řádku {}, zkontrolujte že všechny typy dat v
|
||||
|
||||
#: changedetectionio/blueprint/imports/importer.py
|
||||
#, python-brace-format
|
||||
msgid "{count} imported from Wachete .xlsx in {duration}s"
|
||||
msgstr "{count} importováno z Wachete .xlsx za {duration}s"
|
||||
msgid "{} imported from Wachete .xlsx in {:.2f}s"
|
||||
msgstr "{} importováno z Wachete .xlsx za {:.2f}s"
|
||||
|
||||
#: changedetectionio/blueprint/imports/importer.py
|
||||
#, python-brace-format
|
||||
msgid "{count} imported from custom .xlsx in {duration}s"
|
||||
msgstr "{count} importováno z vlastního .xlsx za {duration}s"
|
||||
msgid "{} imported from custom .xlsx in {:.2f}s"
|
||||
msgstr "{} importováno z vlastního .xlsx za {:.2f}s"
|
||||
|
||||
#: changedetectionio/blueprint/imports/templates/import.html
|
||||
msgid "URL List"
|
||||
msgstr "Seznam adres URL"
|
||||
|
||||
#: changedetectionio/blueprint/imports/templates/import.html
|
||||
msgid "Distill.io"
|
||||
msgstr "Distill.io"
|
||||
|
||||
#: changedetectionio/blueprint/imports/templates/import.html
|
||||
msgid ".XLSX & Wachete"
|
||||
msgstr ".XLSX a Wachete"
|
||||
@@ -237,7 +241,6 @@ msgstr "URL, které neprojdou validací, zůstanou v textové oblasti."
|
||||
msgid "Copy and Paste your Distill.io watch 'export' file, this should be a JSON file."
|
||||
msgstr "Nakopírujte a vložte exportovaný Distill.io soubor, měl by být ve formátu JSON."
|
||||
|
||||
#. CJK fonts lack native italics; allow substitution with conventional local styling. dennis-ignore: W303
|
||||
#: changedetectionio/blueprint/imports/templates/import.html
|
||||
msgid ""
|
||||
"This is <i>experimental</i>, supported fields are <code>name</code>, <code>uri</code>, <code>tags</code>, "
|
||||
@@ -310,8 +313,8 @@ msgstr "Ochrana heslem odebrána."
|
||||
|
||||
#: changedetectionio/blueprint/settings/__init__.py
|
||||
#, python-brace-format
|
||||
msgid "Warning: Worker count ({worker_count}) is close to or exceeds available CPU cores ({cpu_count})"
|
||||
msgstr "Upozornění: Počet pracovních procesů ({worker_count}) se blíží nebo překračuje počet CPU jader ({cpu_count})"
|
||||
msgid "Warning: Worker count ({}) is close to or exceeds available CPU cores ({})"
|
||||
msgstr "Upozornění: Počet pracovních procesů ({}) se blíží nebo překračuje počet CPU jader ({})"
|
||||
|
||||
#: changedetectionio/blueprint/settings/__init__.py
|
||||
#, python-brace-format
|
||||
@@ -365,8 +368,8 @@ msgid "AI / LLM configuration removed."
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/blueprint/settings/llm.py
|
||||
#, python-brace-format
|
||||
msgid "AI summary cache cleared ({} file(s) removed)."
|
||||
#, python-format
|
||||
msgid "AI summary cache cleared (%(n)s file(s) removed)."
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/blueprint/settings/templates/notification-log.html
|
||||
@@ -390,6 +393,14 @@ msgstr "Globální filtry"
|
||||
msgid "UI Options"
|
||||
msgstr "Možnosti uživatelského rozhraní"
|
||||
|
||||
#: changedetectionio/blueprint/settings/templates/settings.html
|
||||
msgid "API"
|
||||
msgstr "API"
|
||||
|
||||
#: changedetectionio/blueprint/settings/templates/settings.html
|
||||
msgid "RSS"
|
||||
msgstr "RSS"
|
||||
|
||||
#: changedetectionio/blueprint/settings/templates/settings.html
|
||||
msgid "Backups"
|
||||
msgstr "Zálohy"
|
||||
@@ -1060,7 +1071,7 @@ msgstr ""
|
||||
|
||||
#: changedetectionio/blueprint/settings/templates/settings_llm_tab.html
|
||||
#, python-format
|
||||
msgid "characters — currently enforcing: %(limit)s"
|
||||
msgid "characters — currently enforcing: %(n)s"
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/blueprint/settings/templates/settings_llm_tab.html
|
||||
@@ -1202,7 +1213,6 @@ msgstr ""
|
||||
msgid "Leave unchecked to use the auto-generated colour based on the tag name."
|
||||
msgstr ""
|
||||
|
||||
#. CJK fonts lack native italics; allow substitution with conventional local styling. dennis-ignore: W303
|
||||
#: changedetectionio/blueprint/tags/templates/edit-tag.html
|
||||
msgid "These settings are <strong><i>added</i></strong> to any existing watch configurations."
|
||||
msgstr ""
|
||||
@@ -1419,8 +1429,8 @@ msgstr ""
|
||||
|
||||
#: changedetectionio/blueprint/ui/__init__.py
|
||||
#, python-brace-format
|
||||
msgid "Queued {count} watches for rechecking ({skipped_count} already queued or running)."
|
||||
msgstr "Do fronty přidáno {count} sledování k opětovné kontrole ({skipped_count} již ve frontě nebo běží)."
|
||||
msgid "Queued {} watches for rechecking ({} already queued or running)."
|
||||
msgstr "Do fronty přidáno {} sledování k opětovné kontrole ({} již ve frontě nebo běží)."
|
||||
|
||||
#: changedetectionio/blueprint/ui/__init__.py
|
||||
#, python-brace-format
|
||||
@@ -1909,7 +1919,6 @@ msgid ""
|
||||
"lines against all history for this watch."
|
||||
msgstr ""
|
||||
|
||||
#. CJK fonts lack native italics; allow substitution with conventional local styling. dennis-ignore: W303
|
||||
#: changedetectionio/blueprint/ui/templates/edit.html
|
||||
msgid "Helps reduce changes detected caused by sites shuffling lines around, combine with <i>check unique lines</i> below."
|
||||
msgstr ""
|
||||
@@ -2167,7 +2176,6 @@ msgstr "Vymazat historie"
|
||||
msgid "<p>Are you sure you want to clear history for the selected items?</p><p>This action cannot be undone.</p>"
|
||||
msgstr "<p>Opravdu chcete vyčistit historii u vybraných položek?</p><p>Tuto akci nelze vzít zpět.</p>"
|
||||
|
||||
#. Universally recognized; typically left as-is. dennis-ignore: W302
|
||||
#: changedetectionio/blueprint/watchlist/templates/watch-overview.html
|
||||
msgid "OK"
|
||||
msgstr "OK"
|
||||
@@ -2181,8 +2189,8 @@ msgid "Delete Watches?"
|
||||
msgstr "Smazat sledování?"
|
||||
|
||||
#: changedetectionio/blueprint/watchlist/templates/watch-overview.html
|
||||
msgid "<p><strong>Are you sure you want to delete the selected watches?</strong></p><p>This action cannot be undone.</p>"
|
||||
msgstr "<p><strong>Opravdu chcete smazat vybraná sledování?</strong></p><p>Tuto akci nelze vzít zpět.</p>"
|
||||
msgid "<p>Are you sure you want to delete the selected watches?</strong></p><p>This action cannot be undone.</p>"
|
||||
msgstr "<p>Opravdu chcete smazat vybraná sledování?</p><p>Tuto akci nelze vzít zpět.</p>"
|
||||
|
||||
#: changedetectionio/blueprint/watchlist/templates/watch-overview.html
|
||||
msgid "Queued size"
|
||||
@@ -2660,18 +2668,18 @@ msgstr "RegEx '%s' není platný regulární výraz."
|
||||
|
||||
#: changedetectionio/forms.py
|
||||
#, python-format
|
||||
msgid "'%(expression)s' is not a valid XPath expression. (%(error)s)"
|
||||
msgstr "'%(expression)s' není platný výraz XPath. (%(error)s)"
|
||||
msgid "'%s' is not a valid XPath expression. (%s)"
|
||||
msgstr "'%s' není platný výraz XPath. (%s)"
|
||||
|
||||
#: changedetectionio/forms.py
|
||||
#, python-format
|
||||
msgid "'%(expression)s' is not a valid JSONPath expression. (%(error)s)"
|
||||
msgstr "'%(expression)s' není platný výraz JSONPath. (%(error)s)"
|
||||
msgid "'%s' is not a valid JSONPath expression. (%s)"
|
||||
msgstr "'%s' není platný výraz JSONPath. (%s)"
|
||||
|
||||
#: changedetectionio/forms.py
|
||||
#, python-format
|
||||
msgid "'%(expression)s' is not a valid jq expression. (%(error)s)"
|
||||
msgstr "'%(expression)s' není platný výraz jq. (%(error)s)"
|
||||
msgid "'%s' is not a valid jq expression. (%s)"
|
||||
msgstr "'%s' není platný výraz jq. (%s)"
|
||||
|
||||
#: changedetectionio/forms.py
|
||||
msgid "Empty value not allowed."
|
||||
@@ -2681,6 +2689,10 @@ msgstr "Prázdná hodnota není povolena."
|
||||
msgid "Invalid value."
|
||||
msgstr "Neplatná hodnota."
|
||||
|
||||
#: changedetectionio/blueprint/imports/templates/import.html changedetectionio/forms.py
|
||||
msgid "URL"
|
||||
msgstr "URL"
|
||||
|
||||
#: changedetectionio/forms.py
|
||||
msgid "Group tag"
|
||||
msgstr "Skupina / Značka"
|
||||
@@ -2916,7 +2928,6 @@ msgstr "Spojit všechny následující položky"
|
||||
msgid "Match any of the following"
|
||||
msgstr "Přiřaďte kteroukoli z následujících možností"
|
||||
|
||||
#. dennis-ignore: W303 - False positive caused by <title>. https://github.com/mozilla/dennis/issues/213
|
||||
#: changedetectionio/forms.py
|
||||
msgid "Use page <title> in list"
|
||||
msgstr "V seznamu použijte stránku <title>"
|
||||
@@ -3016,7 +3027,6 @@ msgstr "Aktualizace UI v reálném čase"
|
||||
msgid "Favicons Enabled"
|
||||
msgstr "Povolit favikony"
|
||||
|
||||
#. dennis-ignore: W303 - False positive caused by <title>. https://github.com/mozilla/dennis/issues/213
|
||||
#: changedetectionio/forms.py
|
||||
msgid "Use page <title> in watch overview list"
|
||||
msgstr "Použijte stránku <title> v přehledu sledování"
|
||||
@@ -3371,7 +3381,7 @@ msgstr ""
|
||||
|
||||
#: changedetectionio/store/__init__.py
|
||||
#, python-brace-format
|
||||
msgid "Watch limit reached ({current}/{limit} watches). Cannot add more watches."
|
||||
msgid "Watch limit reached ({}/{} watches). Cannot add more watches."
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/templates/_common_fields.html
|
||||
@@ -3406,7 +3416,6 @@ msgstr ""
|
||||
msgid "The UUID of the watch."
|
||||
msgstr "UUID monitoru."
|
||||
|
||||
#. dennis-ignore: W303 - False positive caused by <title>. https://github.com/mozilla/dennis/issues/213
|
||||
#: changedetectionio/templates/_common_fields.html
|
||||
msgid "The page title of the watch, uses <title> if not set, falls back to URL"
|
||||
msgstr ""
|
||||
@@ -3543,7 +3552,6 @@ msgstr "Více zde"
|
||||
msgid "Use <a target=\"newwindow\" href=\"%(url)s\">AppRise Notification URLs</a> for notification to just about any service!"
|
||||
msgstr ""
|
||||
|
||||
#. CJK fonts lack native italics; allow substitution with conventional local styling. dennis-ignore: W303
|
||||
#: changedetectionio/templates/_common_fields.html
|
||||
msgid "<i>Please read the notification services wiki here for important configuration notes</i>"
|
||||
msgstr ""
|
||||
@@ -3905,7 +3913,6 @@ msgstr ""
|
||||
msgid "Note!: //text() function does not work where the <element> contains <![CDATA[]]>"
|
||||
msgstr ""
|
||||
|
||||
#. CJK fonts lack native italics; allow substitution with conventional local styling. dennis-ignore: W303
|
||||
#: changedetectionio/templates/edit/include_subtract.html
|
||||
msgid "One CSS, xPath 1 & 2, JSON Path/JQ selector per line, <i>any</i> rules that matches will be used."
|
||||
msgstr ""
|
||||
|
||||
Binary file not shown.
@@ -162,8 +162,8 @@ msgstr "Es werden 5.000 der ersten URLs aus Ihrer Liste importiert, der Rest kan
|
||||
|
||||
#: changedetectionio/blueprint/imports/importer.py
|
||||
#, python-brace-format
|
||||
msgid "{count} Imported from list in {duration}s, {skipped_count} Skipped."
|
||||
msgstr "{count} aus Liste importiert in {duration}s, {skipped_count} übersprungen."
|
||||
msgid "{} Imported from list in {:.2f}s, {} Skipped."
|
||||
msgstr "{} aus Liste importiert in {:.2f}s, {} übersprungen."
|
||||
|
||||
#: changedetectionio/blueprint/imports/importer.py
|
||||
msgid "Unable to read JSON file, was it broken?"
|
||||
@@ -175,8 +175,8 @@ msgstr "JSON-Struktur sieht ungültig aus, ist sie beschädigt?"
|
||||
|
||||
#: changedetectionio/blueprint/imports/importer.py
|
||||
#, python-brace-format
|
||||
msgid "{count} Imported from Distill.io in {duration}s, {skipped_count} Skipped."
|
||||
msgstr "{count} aus Distill.io importiert in {duration}s, {skipped_count} übersprungen."
|
||||
msgid "{} Imported from Distill.io in {:.2f}s, {} Skipped."
|
||||
msgstr "{} aus Distill.io importiert in {:.2f}s, {} übersprungen."
|
||||
|
||||
#: changedetectionio/blueprint/imports/importer.py
|
||||
msgid "Unable to read export XLSX file, something wrong with the file?"
|
||||
@@ -194,18 +194,22 @@ msgstr "Fehler bei der Verarbeitung von Zeile {}, prüfen Sie, ob alle Zelldaten
|
||||
|
||||
#: changedetectionio/blueprint/imports/importer.py
|
||||
#, python-brace-format
|
||||
msgid "{count} imported from Wachete .xlsx in {duration}s"
|
||||
msgstr "{count} aus Wachete .xlsx importiert in {duration}s"
|
||||
msgid "{} imported from Wachete .xlsx in {:.2f}s"
|
||||
msgstr "{} aus Wachete .xlsx importiert in {:.2f}s"
|
||||
|
||||
#: changedetectionio/blueprint/imports/importer.py
|
||||
#, python-brace-format
|
||||
msgid "{count} imported from custom .xlsx in {duration}s"
|
||||
msgstr "{count} aus benutzerdefinierter .xlsx importiert in {duration}s"
|
||||
msgid "{} imported from custom .xlsx in {:.2f}s"
|
||||
msgstr "{} aus benutzerdefinierter .xlsx importiert in {:.2f}s"
|
||||
|
||||
#: changedetectionio/blueprint/imports/templates/import.html
|
||||
msgid "URL List"
|
||||
msgstr "URL-Liste"
|
||||
|
||||
#: changedetectionio/blueprint/imports/templates/import.html
|
||||
msgid "Distill.io"
|
||||
msgstr "Distill.io"
|
||||
|
||||
#: changedetectionio/blueprint/imports/templates/import.html
|
||||
msgid ".XLSX & Wachete"
|
||||
msgstr ".XLSX & Wachete"
|
||||
@@ -243,7 +247,6 @@ msgstr ""
|
||||
"Kopieren Sie Ihre Distill.io-Watch-„Export“-Datei und fügen Sie sie ein. Dabei sollte es sich um eine JSON-Datei "
|
||||
"handeln."
|
||||
|
||||
#. CJK fonts lack native italics; allow substitution with conventional local styling. dennis-ignore: W303
|
||||
#: changedetectionio/blueprint/imports/templates/import.html
|
||||
msgid ""
|
||||
"This is <i>experimental</i>, supported fields are <code>name</code>, <code>uri</code>, <code>tags</code>, "
|
||||
@@ -316,8 +319,8 @@ msgstr "Passwortschutz entfernt."
|
||||
|
||||
#: changedetectionio/blueprint/settings/__init__.py
|
||||
#, python-brace-format
|
||||
msgid "Warning: Worker count ({worker_count}) is close to or exceeds available CPU cores ({cpu_count})"
|
||||
msgstr "Warnung: Anzahl der Worker ({worker_count}) nähert sich oder überschreitet die verfügbaren CPU-Kerne ({cpu_count})"
|
||||
msgid "Warning: Worker count ({}) is close to or exceeds available CPU cores ({})"
|
||||
msgstr "Warnung: Anzahl der Worker ({}) nähert sich oder überschreitet die verfügbaren CPU-Kerne ({})"
|
||||
|
||||
#: changedetectionio/blueprint/settings/__init__.py
|
||||
#, python-brace-format
|
||||
@@ -371,8 +374,8 @@ msgid "AI / LLM configuration removed."
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/blueprint/settings/llm.py
|
||||
#, python-brace-format
|
||||
msgid "AI summary cache cleared ({} file(s) removed)."
|
||||
#, python-format
|
||||
msgid "AI summary cache cleared (%(n)s file(s) removed)."
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/blueprint/settings/templates/notification-log.html
|
||||
@@ -396,6 +399,14 @@ msgstr "Globale Filter"
|
||||
msgid "UI Options"
|
||||
msgstr "UI-Optionen"
|
||||
|
||||
#: changedetectionio/blueprint/settings/templates/settings.html
|
||||
msgid "API"
|
||||
msgstr "API"
|
||||
|
||||
#: changedetectionio/blueprint/settings/templates/settings.html
|
||||
msgid "RSS"
|
||||
msgstr "RSS"
|
||||
|
||||
#: changedetectionio/blueprint/settings/templates/settings.html
|
||||
msgid "Backups"
|
||||
msgstr "Backups"
|
||||
@@ -1076,7 +1087,7 @@ msgstr ""
|
||||
|
||||
#: changedetectionio/blueprint/settings/templates/settings_llm_tab.html
|
||||
#, python-format
|
||||
msgid "characters — currently enforcing: %(limit)s"
|
||||
msgid "characters — currently enforcing: %(n)s"
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/blueprint/settings/templates/settings_llm_tab.html
|
||||
@@ -1218,7 +1229,6 @@ msgstr ""
|
||||
msgid "Leave unchecked to use the auto-generated colour based on the tag name."
|
||||
msgstr ""
|
||||
|
||||
#. CJK fonts lack native italics; allow substitution with conventional local styling. dennis-ignore: W303
|
||||
#: changedetectionio/blueprint/tags/templates/edit-tag.html
|
||||
msgid "These settings are <strong><i>added</i></strong> to any existing watch configurations."
|
||||
msgstr "Diese Einstellungen werden zu allen vorhandenen Überwachungskonfigurationen <strong><i>hinzugefügt</i></strong>."
|
||||
@@ -1329,7 +1339,7 @@ msgid ""
|
||||
"watches will be removed from it.</p>"
|
||||
msgstr ""
|
||||
"<p>Möchten Sie wirklich alle Beobachtungen aus der Gruppe <strong>%(title)s</strong> entfernen?</p><p>Das Tag bleibt "
|
||||
"erhalten, aber die Beobachtungen werden daraus entfernt.</p>"
|
||||
"erhalten, aber die Beobachtungen werden daraus entfernt."
|
||||
|
||||
#: changedetectionio/blueprint/tags/templates/groups-overview.html
|
||||
msgid "Unlink"
|
||||
@@ -1442,8 +1452,8 @@ msgstr "1 Überwachung zur erneuten Überprüfung in Warteschlange gestellt."
|
||||
|
||||
#: changedetectionio/blueprint/ui/__init__.py
|
||||
#, python-brace-format
|
||||
msgid "Queued {count} watches for rechecking ({skipped_count} already queued or running)."
|
||||
msgstr "{count} Überwachungen zur erneuten Überprüfung eingereiht ({skipped_count} bereits in Warteschlange oder laufend)."
|
||||
msgid "Queued {} watches for rechecking ({} already queued or running)."
|
||||
msgstr "{} Überwachungen zur erneuten Überprüfung eingereiht ({} bereits in Warteschlange oder laufend)."
|
||||
|
||||
#: changedetectionio/blueprint/ui/__init__.py
|
||||
#, python-brace-format
|
||||
@@ -1950,7 +1960,6 @@ msgstr ""
|
||||
"Gut geeignet für Websites, auf denen nur Inhalte verschoben werden und Sie wissen möchten, wann NEUE Inhalte "
|
||||
"hinzugefügt werden. Vergleicht neue Zeilen mit dem gesamten Verlauf dieser Überwachung."
|
||||
|
||||
#. CJK fonts lack native italics; allow substitution with conventional local styling. dennis-ignore: W303
|
||||
#: changedetectionio/blueprint/ui/templates/edit.html
|
||||
msgid "Helps reduce changes detected caused by sites shuffling lines around, combine with <i>check unique lines</i> below."
|
||||
msgstr ""
|
||||
@@ -2216,7 +2225,6 @@ msgstr ""
|
||||
"<p>Möchten Sie den Verlauf für die ausgewählten Elemente wirklich löschen?</p><p>Diese Aktion kann nicht rückgängig "
|
||||
"gemacht werden.</p>"
|
||||
|
||||
#. Universally recognized; typically left as-is. dennis-ignore: W302
|
||||
#: changedetectionio/blueprint/watchlist/templates/watch-overview.html
|
||||
msgid "OK"
|
||||
msgstr "OK"
|
||||
@@ -2230,10 +2238,10 @@ msgid "Delete Watches?"
|
||||
msgstr "Überwachungen löschen?"
|
||||
|
||||
#: changedetectionio/blueprint/watchlist/templates/watch-overview.html
|
||||
msgid "<p><strong>Are you sure you want to delete the selected watches?</strong></p><p>This action cannot be undone.</p>"
|
||||
msgid "<p>Are you sure you want to delete the selected watches?</strong></p><p>This action cannot be undone.</p>"
|
||||
msgstr ""
|
||||
"<p><strong>Möchten Sie die ausgewählten Überwachungen wirklich löschen?</strong></p><p>Diese Aktion kann nicht "
|
||||
"rückgängig gemacht werden.</p>"
|
||||
"<p>Möchten Sie die ausgewählten Überwachungen wirklich löschen?</strong></p><p>Diese Aktion kann nicht rückgängig "
|
||||
"gemacht werden.</p>"
|
||||
|
||||
#: changedetectionio/blueprint/watchlist/templates/watch-overview.html
|
||||
msgid "Queued size"
|
||||
@@ -2711,18 +2719,18 @@ msgstr "RegEx „%s“ ist kein gültiger regulärer Ausdruck."
|
||||
|
||||
#: changedetectionio/forms.py
|
||||
#, python-format
|
||||
msgid "'%(expression)s' is not a valid XPath expression. (%(error)s)"
|
||||
msgstr "„%(expression)s“ ist kein gültiger XPath-Ausdruck. (%(error)s)"
|
||||
msgid "'%s' is not a valid XPath expression. (%s)"
|
||||
msgstr "„%s“ ist kein gültiger XPath-Ausdruck. (%s)"
|
||||
|
||||
#: changedetectionio/forms.py
|
||||
#, python-format
|
||||
msgid "'%(expression)s' is not a valid JSONPath expression. (%(error)s)"
|
||||
msgstr "„%(expression)s“ ist kein gültiger JSONPath-Ausdruck. (%(error)s)"
|
||||
msgid "'%s' is not a valid JSONPath expression. (%s)"
|
||||
msgstr "„%s“ ist kein gültiger JSONPath-Ausdruck. (%s)"
|
||||
|
||||
#: changedetectionio/forms.py
|
||||
#, python-format
|
||||
msgid "'%(expression)s' is not a valid jq expression. (%(error)s)"
|
||||
msgstr "„%(expression)s“ ist kein gültiger JQ-Ausdruck. (%(error)s)"
|
||||
msgid "'%s' is not a valid jq expression. (%s)"
|
||||
msgstr "„%s“ ist kein gültiger JQ-Ausdruck. (%s)"
|
||||
|
||||
#: changedetectionio/forms.py
|
||||
msgid "Empty value not allowed."
|
||||
@@ -2732,6 +2740,10 @@ msgstr "Leerer Wert nicht zulässig."
|
||||
msgid "Invalid value."
|
||||
msgstr "Ungültiger Wert."
|
||||
|
||||
#: changedetectionio/blueprint/imports/templates/import.html changedetectionio/forms.py
|
||||
msgid "URL"
|
||||
msgstr "URL"
|
||||
|
||||
#: changedetectionio/forms.py
|
||||
msgid "Group tag"
|
||||
msgstr "Gruppe / Label"
|
||||
@@ -2968,10 +2980,9 @@ msgstr "Passen Sie alle folgenden Punkte an"
|
||||
msgid "Match any of the following"
|
||||
msgstr "Entspricht einer der folgenden Bedingungen"
|
||||
|
||||
#. dennis-ignore: W303 - False positive caused by <title>. https://github.com/mozilla/dennis/issues/213
|
||||
#: changedetectionio/forms.py
|
||||
msgid "Use page <title> in list"
|
||||
msgstr "Verwenden Sie Seite <title> in der Liste"
|
||||
msgstr "Verwenden Sie Seite <Titel> in der Liste"
|
||||
|
||||
#: changedetectionio/forms.py
|
||||
msgid "Number of history items per watch to keep"
|
||||
@@ -3068,10 +3079,9 @@ msgstr "Echtzeit-UI-Updates aktiviert"
|
||||
msgid "Favicons Enabled"
|
||||
msgstr "Favicons Aktiviert"
|
||||
|
||||
#. dennis-ignore: W303 - False positive caused by <title>. https://github.com/mozilla/dennis/issues/213
|
||||
#: changedetectionio/forms.py
|
||||
msgid "Use page <title> in watch overview list"
|
||||
msgstr "Verwenden Sie die Seite <title> in der Übersichtsliste der Beobachtungen"
|
||||
msgstr "Verwenden Sie die Seite <Titel> in der Übersichtsliste der Beobachtungen"
|
||||
|
||||
#: changedetectionio/forms.py
|
||||
msgid "API access token security check enabled"
|
||||
@@ -3123,7 +3133,7 @@ msgstr "RSS-Inhaltsformat"
|
||||
|
||||
#: changedetectionio/forms.py
|
||||
msgid "RSS <description> body built from"
|
||||
msgstr "RSS-<description>-Körper erstellt aus"
|
||||
msgstr "RSS-<Beschreibung>-Körper erstellt aus"
|
||||
|
||||
#: changedetectionio/forms.py
|
||||
msgid "RSS \"System default\" template override"
|
||||
@@ -3425,7 +3435,7 @@ msgstr "Das Protokoll wird nicht unterstützt oder das URL-Format ist ungültig.
|
||||
|
||||
#: changedetectionio/store/__init__.py
|
||||
#, python-brace-format
|
||||
msgid "Watch limit reached ({current}/{limit} watches). Cannot add more watches."
|
||||
msgid "Watch limit reached ({}/{} watches). Cannot add more watches."
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/templates/_common_fields.html
|
||||
@@ -3460,7 +3470,6 @@ msgstr ""
|
||||
msgid "The UUID of the watch."
|
||||
msgstr "Die UUID der Überwachung."
|
||||
|
||||
#. dennis-ignore: W303 - False positive caused by <title>. https://github.com/mozilla/dennis/issues/213
|
||||
#: changedetectionio/templates/_common_fields.html
|
||||
msgid "The page title of the watch, uses <title> if not set, falls back to URL"
|
||||
msgstr ""
|
||||
@@ -3597,7 +3606,6 @@ msgstr "Mehr hier"
|
||||
msgid "Use <a target=\"newwindow\" href=\"%(url)s\">AppRise Notification URLs</a> for notification to just about any service!"
|
||||
msgstr ""
|
||||
|
||||
#. CJK fonts lack native italics; allow substitution with conventional local styling. dennis-ignore: W303
|
||||
#: changedetectionio/templates/_common_fields.html
|
||||
msgid "<i>Please read the notification services wiki here for important configuration notes</i>"
|
||||
msgstr ""
|
||||
@@ -3961,7 +3969,6 @@ msgstr ""
|
||||
msgid "Note!: //text() function does not work where the <element> contains <![CDATA[]]>"
|
||||
msgstr ""
|
||||
|
||||
#. CJK fonts lack native italics; allow substitution with conventional local styling. dennis-ignore: W303
|
||||
#: changedetectionio/templates/edit/include_subtract.html
|
||||
msgid "One CSS, xPath 1 & 2, JSON Path/JQ selector per line, <i>any</i> rules that matches will be used."
|
||||
msgstr ""
|
||||
|
||||
@@ -160,7 +160,7 @@ msgstr ""
|
||||
|
||||
#: changedetectionio/blueprint/imports/importer.py
|
||||
#, python-brace-format
|
||||
msgid "{count} Imported from list in {duration}s, {skipped_count} Skipped."
|
||||
msgid "{} Imported from list in {:.2f}s, {} Skipped."
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/blueprint/imports/importer.py
|
||||
@@ -173,7 +173,7 @@ msgstr ""
|
||||
|
||||
#: changedetectionio/blueprint/imports/importer.py
|
||||
#, python-brace-format
|
||||
msgid "{count} Imported from Distill.io in {duration}s, {skipped_count} Skipped."
|
||||
msgid "{} Imported from Distill.io in {:.2f}s, {} Skipped."
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/blueprint/imports/importer.py
|
||||
@@ -192,18 +192,22 @@ msgstr ""
|
||||
|
||||
#: changedetectionio/blueprint/imports/importer.py
|
||||
#, python-brace-format
|
||||
msgid "{count} imported from Wachete .xlsx in {duration}s"
|
||||
msgid "{} imported from Wachete .xlsx in {:.2f}s"
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/blueprint/imports/importer.py
|
||||
#, python-brace-format
|
||||
msgid "{count} imported from custom .xlsx in {duration}s"
|
||||
msgid "{} imported from custom .xlsx in {:.2f}s"
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/blueprint/imports/templates/import.html
|
||||
msgid "URL List"
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/blueprint/imports/templates/import.html
|
||||
msgid "Distill.io"
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/blueprint/imports/templates/import.html
|
||||
msgid ".XLSX & Wachete"
|
||||
msgstr ""
|
||||
@@ -237,7 +241,6 @@ msgstr ""
|
||||
msgid "Copy and Paste your Distill.io watch 'export' file, this should be a JSON file."
|
||||
msgstr ""
|
||||
|
||||
#. CJK fonts lack native italics; allow substitution with conventional local styling. dennis-ignore: W303
|
||||
#: changedetectionio/blueprint/imports/templates/import.html
|
||||
msgid ""
|
||||
"This is <i>experimental</i>, supported fields are <code>name</code>, <code>uri</code>, <code>tags</code>, "
|
||||
@@ -308,7 +311,7 @@ msgstr ""
|
||||
|
||||
#: changedetectionio/blueprint/settings/__init__.py
|
||||
#, python-brace-format
|
||||
msgid "Warning: Worker count ({worker_count}) is close to or exceeds available CPU cores ({cpu_count})"
|
||||
msgid "Warning: Worker count ({}) is close to or exceeds available CPU cores ({})"
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/blueprint/settings/__init__.py
|
||||
@@ -363,8 +366,8 @@ msgid "AI / LLM configuration removed."
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/blueprint/settings/llm.py
|
||||
#, python-brace-format
|
||||
msgid "AI summary cache cleared ({} file(s) removed)."
|
||||
#, python-format
|
||||
msgid "AI summary cache cleared (%(n)s file(s) removed)."
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/blueprint/settings/templates/notification-log.html
|
||||
@@ -388,6 +391,14 @@ msgstr ""
|
||||
msgid "UI Options"
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/blueprint/settings/templates/settings.html
|
||||
msgid "API"
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/blueprint/settings/templates/settings.html
|
||||
msgid "RSS"
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/blueprint/settings/templates/settings.html
|
||||
msgid "Backups"
|
||||
msgstr ""
|
||||
@@ -1058,7 +1069,7 @@ msgstr ""
|
||||
|
||||
#: changedetectionio/blueprint/settings/templates/settings_llm_tab.html
|
||||
#, python-format
|
||||
msgid "characters — currently enforcing: %(limit)s"
|
||||
msgid "characters — currently enforcing: %(n)s"
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/blueprint/settings/templates/settings_llm_tab.html
|
||||
@@ -1200,7 +1211,6 @@ msgstr ""
|
||||
msgid "Leave unchecked to use the auto-generated colour based on the tag name."
|
||||
msgstr ""
|
||||
|
||||
#. CJK fonts lack native italics; allow substitution with conventional local styling. dennis-ignore: W303
|
||||
#: changedetectionio/blueprint/tags/templates/edit-tag.html
|
||||
msgid "These settings are <strong><i>added</i></strong> to any existing watch configurations."
|
||||
msgstr ""
|
||||
@@ -1415,7 +1425,7 @@ msgstr ""
|
||||
|
||||
#: changedetectionio/blueprint/ui/__init__.py
|
||||
#, python-brace-format
|
||||
msgid "Queued {count} watches for rechecking ({skipped_count} already queued or running)."
|
||||
msgid "Queued {} watches for rechecking ({} already queued or running)."
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/blueprint/ui/__init__.py
|
||||
@@ -1905,7 +1915,6 @@ msgid ""
|
||||
"lines against all history for this watch."
|
||||
msgstr ""
|
||||
|
||||
#. CJK fonts lack native italics; allow substitution with conventional local styling. dennis-ignore: W303
|
||||
#: changedetectionio/blueprint/ui/templates/edit.html
|
||||
msgid "Helps reduce changes detected caused by sites shuffling lines around, combine with <i>check unique lines</i> below."
|
||||
msgstr ""
|
||||
@@ -2163,7 +2172,6 @@ msgstr ""
|
||||
msgid "<p>Are you sure you want to clear history for the selected items?</p><p>This action cannot be undone.</p>"
|
||||
msgstr ""
|
||||
|
||||
#. Universally recognized; typically left as-is. dennis-ignore: W302
|
||||
#: changedetectionio/blueprint/watchlist/templates/watch-overview.html
|
||||
msgid "OK"
|
||||
msgstr ""
|
||||
@@ -2177,7 +2185,7 @@ msgid "Delete Watches?"
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/blueprint/watchlist/templates/watch-overview.html
|
||||
msgid "<p><strong>Are you sure you want to delete the selected watches?</strong></p><p>This action cannot be undone.</p>"
|
||||
msgid "<p>Are you sure you want to delete the selected watches?</strong></p><p>This action cannot be undone.</p>"
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/blueprint/watchlist/templates/watch-overview.html
|
||||
@@ -2654,17 +2662,17 @@ msgstr ""
|
||||
|
||||
#: changedetectionio/forms.py
|
||||
#, python-format
|
||||
msgid "'%(expression)s' is not a valid XPath expression. (%(error)s)"
|
||||
msgid "'%s' is not a valid XPath expression. (%s)"
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/forms.py
|
||||
#, python-format
|
||||
msgid "'%(expression)s' is not a valid JSONPath expression. (%(error)s)"
|
||||
msgid "'%s' is not a valid JSONPath expression. (%s)"
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/forms.py
|
||||
#, python-format
|
||||
msgid "'%(expression)s' is not a valid jq expression. (%(error)s)"
|
||||
msgid "'%s' is not a valid jq expression. (%s)"
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/forms.py
|
||||
@@ -2675,6 +2683,10 @@ msgstr ""
|
||||
msgid "Invalid value."
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/blueprint/imports/templates/import.html changedetectionio/forms.py
|
||||
msgid "URL"
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/forms.py
|
||||
msgid "Group tag"
|
||||
msgstr ""
|
||||
@@ -2910,7 +2922,6 @@ msgstr ""
|
||||
msgid "Match any of the following"
|
||||
msgstr ""
|
||||
|
||||
#. dennis-ignore: W303 - False positive caused by <title>. https://github.com/mozilla/dennis/issues/213
|
||||
#: changedetectionio/forms.py
|
||||
msgid "Use page <title> in list"
|
||||
msgstr ""
|
||||
@@ -3010,7 +3021,6 @@ msgstr ""
|
||||
msgid "Favicons Enabled"
|
||||
msgstr ""
|
||||
|
||||
#. dennis-ignore: W303 - False positive caused by <title>. https://github.com/mozilla/dennis/issues/213
|
||||
#: changedetectionio/forms.py
|
||||
msgid "Use page <title> in watch overview list"
|
||||
msgstr ""
|
||||
@@ -3365,7 +3375,7 @@ msgstr ""
|
||||
|
||||
#: changedetectionio/store/__init__.py
|
||||
#, python-brace-format
|
||||
msgid "Watch limit reached ({current}/{limit} watches). Cannot add more watches."
|
||||
msgid "Watch limit reached ({}/{} watches). Cannot add more watches."
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/templates/_common_fields.html
|
||||
@@ -3400,7 +3410,6 @@ msgstr ""
|
||||
msgid "The UUID of the watch."
|
||||
msgstr ""
|
||||
|
||||
#. dennis-ignore: W303 - False positive caused by <title>. https://github.com/mozilla/dennis/issues/213
|
||||
#: changedetectionio/templates/_common_fields.html
|
||||
msgid "The page title of the watch, uses <title> if not set, falls back to URL"
|
||||
msgstr ""
|
||||
@@ -3537,7 +3546,6 @@ msgstr ""
|
||||
msgid "Use <a target=\"newwindow\" href=\"%(url)s\">AppRise Notification URLs</a> for notification to just about any service!"
|
||||
msgstr ""
|
||||
|
||||
#. CJK fonts lack native italics; allow substitution with conventional local styling. dennis-ignore: W303
|
||||
#: changedetectionio/templates/_common_fields.html
|
||||
msgid "<i>Please read the notification services wiki here for important configuration notes</i>"
|
||||
msgstr ""
|
||||
@@ -3899,7 +3907,6 @@ msgstr ""
|
||||
msgid "Note!: //text() function does not work where the <element> contains <![CDATA[]]>"
|
||||
msgstr ""
|
||||
|
||||
#. CJK fonts lack native italics; allow substitution with conventional local styling. dennis-ignore: W303
|
||||
#: changedetectionio/templates/edit/include_subtract.html
|
||||
msgid "One CSS, xPath 1 & 2, JSON Path/JQ selector per line, <i>any</i> rules that matches will be used."
|
||||
msgstr ""
|
||||
|
||||
@@ -160,7 +160,7 @@ msgstr ""
|
||||
|
||||
#: changedetectionio/blueprint/imports/importer.py
|
||||
#, python-brace-format
|
||||
msgid "{count} Imported from list in {duration}s, {skipped_count} Skipped."
|
||||
msgid "{} Imported from list in {:.2f}s, {} Skipped."
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/blueprint/imports/importer.py
|
||||
@@ -173,7 +173,7 @@ msgstr ""
|
||||
|
||||
#: changedetectionio/blueprint/imports/importer.py
|
||||
#, python-brace-format
|
||||
msgid "{count} Imported from Distill.io in {duration}s, {skipped_count} Skipped."
|
||||
msgid "{} Imported from Distill.io in {:.2f}s, {} Skipped."
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/blueprint/imports/importer.py
|
||||
@@ -192,18 +192,22 @@ msgstr ""
|
||||
|
||||
#: changedetectionio/blueprint/imports/importer.py
|
||||
#, python-brace-format
|
||||
msgid "{count} imported from Wachete .xlsx in {duration}s"
|
||||
msgid "{} imported from Wachete .xlsx in {:.2f}s"
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/blueprint/imports/importer.py
|
||||
#, python-brace-format
|
||||
msgid "{count} imported from custom .xlsx in {duration}s"
|
||||
msgid "{} imported from custom .xlsx in {:.2f}s"
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/blueprint/imports/templates/import.html
|
||||
msgid "URL List"
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/blueprint/imports/templates/import.html
|
||||
msgid "Distill.io"
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/blueprint/imports/templates/import.html
|
||||
msgid ".XLSX & Wachete"
|
||||
msgstr ""
|
||||
@@ -237,7 +241,6 @@ msgstr ""
|
||||
msgid "Copy and Paste your Distill.io watch 'export' file, this should be a JSON file."
|
||||
msgstr ""
|
||||
|
||||
#. CJK fonts lack native italics; allow substitution with conventional local styling. dennis-ignore: W303
|
||||
#: changedetectionio/blueprint/imports/templates/import.html
|
||||
msgid ""
|
||||
"This is <i>experimental</i>, supported fields are <code>name</code>, <code>uri</code>, <code>tags</code>, "
|
||||
@@ -308,7 +311,7 @@ msgstr ""
|
||||
|
||||
#: changedetectionio/blueprint/settings/__init__.py
|
||||
#, python-brace-format
|
||||
msgid "Warning: Worker count ({worker_count}) is close to or exceeds available CPU cores ({cpu_count})"
|
||||
msgid "Warning: Worker count ({}) is close to or exceeds available CPU cores ({})"
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/blueprint/settings/__init__.py
|
||||
@@ -363,8 +366,8 @@ msgid "AI / LLM configuration removed."
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/blueprint/settings/llm.py
|
||||
#, python-brace-format
|
||||
msgid "AI summary cache cleared ({} file(s) removed)."
|
||||
#, python-format
|
||||
msgid "AI summary cache cleared (%(n)s file(s) removed)."
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/blueprint/settings/templates/notification-log.html
|
||||
@@ -388,6 +391,14 @@ msgstr ""
|
||||
msgid "UI Options"
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/blueprint/settings/templates/settings.html
|
||||
msgid "API"
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/blueprint/settings/templates/settings.html
|
||||
msgid "RSS"
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/blueprint/settings/templates/settings.html
|
||||
msgid "Backups"
|
||||
msgstr ""
|
||||
@@ -1058,7 +1069,7 @@ msgstr ""
|
||||
|
||||
#: changedetectionio/blueprint/settings/templates/settings_llm_tab.html
|
||||
#, python-format
|
||||
msgid "characters — currently enforcing: %(limit)s"
|
||||
msgid "characters — currently enforcing: %(n)s"
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/blueprint/settings/templates/settings_llm_tab.html
|
||||
@@ -1200,7 +1211,6 @@ msgstr ""
|
||||
msgid "Leave unchecked to use the auto-generated colour based on the tag name."
|
||||
msgstr ""
|
||||
|
||||
#. CJK fonts lack native italics; allow substitution with conventional local styling. dennis-ignore: W303
|
||||
#: changedetectionio/blueprint/tags/templates/edit-tag.html
|
||||
msgid "These settings are <strong><i>added</i></strong> to any existing watch configurations."
|
||||
msgstr ""
|
||||
@@ -1415,7 +1425,7 @@ msgstr ""
|
||||
|
||||
#: changedetectionio/blueprint/ui/__init__.py
|
||||
#, python-brace-format
|
||||
msgid "Queued {count} watches for rechecking ({skipped_count} already queued or running)."
|
||||
msgid "Queued {} watches for rechecking ({} already queued or running)."
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/blueprint/ui/__init__.py
|
||||
@@ -1905,7 +1915,6 @@ msgid ""
|
||||
"lines against all history for this watch."
|
||||
msgstr ""
|
||||
|
||||
#. CJK fonts lack native italics; allow substitution with conventional local styling. dennis-ignore: W303
|
||||
#: changedetectionio/blueprint/ui/templates/edit.html
|
||||
msgid "Helps reduce changes detected caused by sites shuffling lines around, combine with <i>check unique lines</i> below."
|
||||
msgstr ""
|
||||
@@ -2163,7 +2172,6 @@ msgstr ""
|
||||
msgid "<p>Are you sure you want to clear history for the selected items?</p><p>This action cannot be undone.</p>"
|
||||
msgstr ""
|
||||
|
||||
#. Universally recognized; typically left as-is. dennis-ignore: W302
|
||||
#: changedetectionio/blueprint/watchlist/templates/watch-overview.html
|
||||
msgid "OK"
|
||||
msgstr ""
|
||||
@@ -2177,7 +2185,7 @@ msgid "Delete Watches?"
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/blueprint/watchlist/templates/watch-overview.html
|
||||
msgid "<p><strong>Are you sure you want to delete the selected watches?</strong></p><p>This action cannot be undone.</p>"
|
||||
msgid "<p>Are you sure you want to delete the selected watches?</strong></p><p>This action cannot be undone.</p>"
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/blueprint/watchlist/templates/watch-overview.html
|
||||
@@ -2654,17 +2662,17 @@ msgstr ""
|
||||
|
||||
#: changedetectionio/forms.py
|
||||
#, python-format
|
||||
msgid "'%(expression)s' is not a valid XPath expression. (%(error)s)"
|
||||
msgid "'%s' is not a valid XPath expression. (%s)"
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/forms.py
|
||||
#, python-format
|
||||
msgid "'%(expression)s' is not a valid JSONPath expression. (%(error)s)"
|
||||
msgid "'%s' is not a valid JSONPath expression. (%s)"
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/forms.py
|
||||
#, python-format
|
||||
msgid "'%(expression)s' is not a valid jq expression. (%(error)s)"
|
||||
msgid "'%s' is not a valid jq expression. (%s)"
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/forms.py
|
||||
@@ -2675,6 +2683,10 @@ msgstr ""
|
||||
msgid "Invalid value."
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/blueprint/imports/templates/import.html changedetectionio/forms.py
|
||||
msgid "URL"
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/forms.py
|
||||
msgid "Group tag"
|
||||
msgstr ""
|
||||
@@ -2910,7 +2922,6 @@ msgstr ""
|
||||
msgid "Match any of the following"
|
||||
msgstr ""
|
||||
|
||||
#. dennis-ignore: W303 - False positive caused by <title>. https://github.com/mozilla/dennis/issues/213
|
||||
#: changedetectionio/forms.py
|
||||
msgid "Use page <title> in list"
|
||||
msgstr ""
|
||||
@@ -3010,7 +3021,6 @@ msgstr ""
|
||||
msgid "Favicons Enabled"
|
||||
msgstr ""
|
||||
|
||||
#. dennis-ignore: W303 - False positive caused by <title>. https://github.com/mozilla/dennis/issues/213
|
||||
#: changedetectionio/forms.py
|
||||
msgid "Use page <title> in watch overview list"
|
||||
msgstr ""
|
||||
@@ -3365,7 +3375,7 @@ msgstr ""
|
||||
|
||||
#: changedetectionio/store/__init__.py
|
||||
#, python-brace-format
|
||||
msgid "Watch limit reached ({current}/{limit} watches). Cannot add more watches."
|
||||
msgid "Watch limit reached ({}/{} watches). Cannot add more watches."
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/templates/_common_fields.html
|
||||
@@ -3400,7 +3410,6 @@ msgstr ""
|
||||
msgid "The UUID of the watch."
|
||||
msgstr ""
|
||||
|
||||
#. dennis-ignore: W303 - False positive caused by <title>. https://github.com/mozilla/dennis/issues/213
|
||||
#: changedetectionio/templates/_common_fields.html
|
||||
msgid "The page title of the watch, uses <title> if not set, falls back to URL"
|
||||
msgstr ""
|
||||
@@ -3537,7 +3546,6 @@ msgstr ""
|
||||
msgid "Use <a target=\"newwindow\" href=\"%(url)s\">AppRise Notification URLs</a> for notification to just about any service!"
|
||||
msgstr ""
|
||||
|
||||
#. CJK fonts lack native italics; allow substitution with conventional local styling. dennis-ignore: W303
|
||||
#: changedetectionio/templates/_common_fields.html
|
||||
msgid "<i>Please read the notification services wiki here for important configuration notes</i>"
|
||||
msgstr ""
|
||||
@@ -3899,7 +3907,6 @@ msgstr ""
|
||||
msgid "Note!: //text() function does not work where the <element> contains <![CDATA[]]>"
|
||||
msgstr ""
|
||||
|
||||
#. CJK fonts lack native italics; allow substitution with conventional local styling. dennis-ignore: W303
|
||||
#: changedetectionio/templates/edit/include_subtract.html
|
||||
msgid "One CSS, xPath 1 & 2, JSON Path/JQ selector per line, <i>any</i> rules that matches will be used."
|
||||
msgstr ""
|
||||
|
||||
Binary file not shown.
@@ -160,8 +160,8 @@ msgstr "Importando 5.000 de las primeras URL de tu lista, el resto se puede impo
|
||||
|
||||
#: changedetectionio/blueprint/imports/importer.py
|
||||
#, python-brace-format
|
||||
msgid "{count} Imported from list in {duration}s, {skipped_count} Skipped."
|
||||
msgstr "{count} importado de la lista en {duration}s, {skipped_count} omitido."
|
||||
msgid "{} Imported from list in {:.2f}s, {} Skipped."
|
||||
msgstr "{} importado de la lista en {:.2f}s, {} omitido."
|
||||
|
||||
#: changedetectionio/blueprint/imports/importer.py
|
||||
msgid "Unable to read JSON file, was it broken?"
|
||||
@@ -173,8 +173,8 @@ msgstr "La estructura JSON parece no válida, ¿estaba rota?"
|
||||
|
||||
#: changedetectionio/blueprint/imports/importer.py
|
||||
#, python-brace-format
|
||||
msgid "{count} Imported from Distill.io in {duration}s, {skipped_count} Skipped."
|
||||
msgstr "{count} importado de Distill.io en {duration}s, {skipped_count} omitido."
|
||||
msgid "{} Imported from Distill.io in {:.2f}s, {} Skipped."
|
||||
msgstr "{} importado de Distill.io en {:.2f}s, {} omitido."
|
||||
|
||||
#: changedetectionio/blueprint/imports/importer.py
|
||||
msgid "Unable to read export XLSX file, something wrong with the file?"
|
||||
@@ -194,18 +194,22 @@ msgstr ""
|
||||
|
||||
#: changedetectionio/blueprint/imports/importer.py
|
||||
#, python-brace-format
|
||||
msgid "{count} imported from Wachete .xlsx in {duration}s"
|
||||
msgstr "{count} importado de Wachete .xlsx en {duration}s"
|
||||
msgid "{} imported from Wachete .xlsx in {:.2f}s"
|
||||
msgstr "{} importado de Wachete .xlsx en {:.2f}s"
|
||||
|
||||
#: changedetectionio/blueprint/imports/importer.py
|
||||
#, python-brace-format
|
||||
msgid "{count} imported from custom .xlsx in {duration}s"
|
||||
msgstr "{count} importado desde .xlsx personalizado en {duration}s"
|
||||
msgid "{} imported from custom .xlsx in {:.2f}s"
|
||||
msgstr "{} importado desde .xlsx personalizado en {:.2f}s"
|
||||
|
||||
#: changedetectionio/blueprint/imports/templates/import.html
|
||||
msgid "URL List"
|
||||
msgstr "Lista de URL"
|
||||
|
||||
#: changedetectionio/blueprint/imports/templates/import.html
|
||||
msgid "Distill.io"
|
||||
msgstr "Distill.io"
|
||||
|
||||
#: changedetectionio/blueprint/imports/templates/import.html
|
||||
msgid ".XLSX & Wachete"
|
||||
msgstr ".XLSX y Wachete"
|
||||
@@ -241,7 +245,6 @@ msgstr "Las URL que no pasen la validación permanecerán en el área de texto."
|
||||
msgid "Copy and Paste your Distill.io watch 'export' file, this should be a JSON file."
|
||||
msgstr "Copie y pegue el archivo de 'exportación' del monitor Distill.io, este debería ser un archivo JSON."
|
||||
|
||||
#. CJK fonts lack native italics; allow substitution with conventional local styling. dennis-ignore: W303
|
||||
#: changedetectionio/blueprint/imports/templates/import.html
|
||||
msgid ""
|
||||
"This is <i>experimental</i>, supported fields are <code>name</code>, <code>uri</code>, <code>tags</code>, "
|
||||
@@ -314,10 +317,8 @@ msgstr "Se eliminó la protección con contraseña."
|
||||
|
||||
#: changedetectionio/blueprint/settings/__init__.py
|
||||
#, python-brace-format
|
||||
msgid "Warning: Worker count ({worker_count}) is close to or exceeds available CPU cores ({cpu_count})"
|
||||
msgstr ""
|
||||
"Advertencia: recuento de trabajadores ({worker_count} ) está cerca o excede los núcleos de CPU disponibles "
|
||||
"({cpu_count} )"
|
||||
msgid "Warning: Worker count ({}) is close to or exceeds available CPU cores ({})"
|
||||
msgstr "Advertencia: recuento de trabajadores ({} ) está cerca o excede los núcleos de CPU disponibles ({} )"
|
||||
|
||||
#: changedetectionio/blueprint/settings/__init__.py
|
||||
#, python-brace-format
|
||||
@@ -371,8 +372,8 @@ msgid "AI / LLM configuration removed."
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/blueprint/settings/llm.py
|
||||
#, python-brace-format
|
||||
msgid "AI summary cache cleared ({} file(s) removed)."
|
||||
#, python-format
|
||||
msgid "AI summary cache cleared (%(n)s file(s) removed)."
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/blueprint/settings/templates/notification-log.html
|
||||
@@ -396,6 +397,14 @@ msgstr "Filtros globales"
|
||||
msgid "UI Options"
|
||||
msgstr "Opciones de interfaz de usuario"
|
||||
|
||||
#: changedetectionio/blueprint/settings/templates/settings.html
|
||||
msgid "API"
|
||||
msgstr "API"
|
||||
|
||||
#: changedetectionio/blueprint/settings/templates/settings.html
|
||||
msgid "RSS"
|
||||
msgstr "RSS"
|
||||
|
||||
#: changedetectionio/blueprint/settings/templates/settings.html
|
||||
msgid "Backups"
|
||||
msgstr "Copias de seguridad"
|
||||
@@ -1096,7 +1105,7 @@ msgstr ""
|
||||
|
||||
#: changedetectionio/blueprint/settings/templates/settings_llm_tab.html
|
||||
#, python-format
|
||||
msgid "characters — currently enforcing: %(limit)s"
|
||||
msgid "characters — currently enforcing: %(n)s"
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/blueprint/settings/templates/settings_llm_tab.html
|
||||
@@ -1238,7 +1247,6 @@ msgstr ""
|
||||
msgid "Leave unchecked to use the auto-generated colour based on the tag name."
|
||||
msgstr ""
|
||||
|
||||
#. CJK fonts lack native italics; allow substitution with conventional local styling. dennis-ignore: W303
|
||||
#: changedetectionio/blueprint/tags/templates/edit-tag.html
|
||||
msgid "These settings are <strong><i>added</i></strong> to any existing watch configurations."
|
||||
msgstr "Estas configuraciones son <strong><i>agregadas</i></strong> a cualquier configuración de monitor existente."
|
||||
@@ -1462,8 +1470,8 @@ msgstr "1 monitor en cola para volver a verificar."
|
||||
|
||||
#: changedetectionio/blueprint/ui/__init__.py
|
||||
#, python-brace-format
|
||||
msgid "Queued {count} watches for rechecking ({skipped_count} already queued or running)."
|
||||
msgstr "{count} monitores en cola para volver a comprobar ({skipped_count} ya en cola o en ejecución)."
|
||||
msgid "Queued {} watches for rechecking ({} already queued or running)."
|
||||
msgstr "{} monitores en cola para volver a comprobar ({} ya en cola o en ejecución)."
|
||||
|
||||
#: changedetectionio/blueprint/ui/__init__.py
|
||||
#, python-brace-format
|
||||
@@ -1964,7 +1972,6 @@ msgstr ""
|
||||
"Bueno para sitios web que simplemente mueven el contenido y desea saber cuándo se agrega contenido NUEVO, compara "
|
||||
"nuevas líneas con todo el historial de este monitor."
|
||||
|
||||
#. CJK fonts lack native italics; allow substitution with conventional local styling. dennis-ignore: W303
|
||||
#: changedetectionio/blueprint/ui/templates/edit.html
|
||||
msgid "Helps reduce changes detected caused by sites shuffling lines around, combine with <i>check unique lines</i> below."
|
||||
msgstr ""
|
||||
@@ -2232,7 +2239,6 @@ msgstr ""
|
||||
"<p>¿Está seguro de que desea borrar el historial de los elementos seleccionados?</p><p>Esta acción no se puede "
|
||||
"deshacer.</p>"
|
||||
|
||||
#. Universally recognized; typically left as-is. dennis-ignore: W302
|
||||
#: changedetectionio/blueprint/watchlist/templates/watch-overview.html
|
||||
msgid "OK"
|
||||
msgstr "OK"
|
||||
@@ -2246,9 +2252,9 @@ msgid "Delete Watches?"
|
||||
msgstr "¿Eliminar monitores?"
|
||||
|
||||
#: changedetectionio/blueprint/watchlist/templates/watch-overview.html
|
||||
msgid "<p><strong>Are you sure you want to delete the selected watches?</strong></p><p>This action cannot be undone.</p>"
|
||||
msgid "<p>Are you sure you want to delete the selected watches?</strong></p><p>This action cannot be undone.</p>"
|
||||
msgstr ""
|
||||
"<p><strong>¿Está seguro de que desea eliminar los monitores seleccionados?</strong></p><p>Esta acción no se puede "
|
||||
"<p>¿Está seguro de que desea eliminar los monitores seleccionados?</strong></p><p>Esta acción no se puede "
|
||||
"deshacer.</p>"
|
||||
|
||||
#: changedetectionio/blueprint/watchlist/templates/watch-overview.html
|
||||
@@ -2727,18 +2733,18 @@ msgstr "Expresión regular '%s' no es una expresión regular válida."
|
||||
|
||||
#: changedetectionio/forms.py
|
||||
#, python-format
|
||||
msgid "'%(expression)s' is not a valid XPath expression. (%(error)s)"
|
||||
msgstr "'%(expression)s' no es una expresión XPath válida. (%(error)s)"
|
||||
msgid "'%s' is not a valid XPath expression. (%s)"
|
||||
msgstr "'%s' no es una expresión XPath válida. (%s)"
|
||||
|
||||
#: changedetectionio/forms.py
|
||||
#, python-format
|
||||
msgid "'%(expression)s' is not a valid JSONPath expression. (%(error)s)"
|
||||
msgstr "'%(expression)s' no es una expresión JSONPath válida. (%(error)s)"
|
||||
msgid "'%s' is not a valid JSONPath expression. (%s)"
|
||||
msgstr "'%s' no es una expresión JSONPath válida. (%s)"
|
||||
|
||||
#: changedetectionio/forms.py
|
||||
#, python-format
|
||||
msgid "'%(expression)s' is not a valid jq expression. (%(error)s)"
|
||||
msgstr "'%(expression)s' no es una expresión jq válida. (%(error)s)"
|
||||
msgid "'%s' is not a valid jq expression. (%s)"
|
||||
msgstr "'%s' no es una expresión jq válida. (%s)"
|
||||
|
||||
#: changedetectionio/forms.py
|
||||
msgid "Empty value not allowed."
|
||||
@@ -2748,6 +2754,10 @@ msgstr "Valor vacío no permitido."
|
||||
msgid "Invalid value."
|
||||
msgstr "Valor no válido."
|
||||
|
||||
#: changedetectionio/blueprint/imports/templates/import.html changedetectionio/forms.py
|
||||
msgid "URL"
|
||||
msgstr "URL"
|
||||
|
||||
#: changedetectionio/forms.py
|
||||
msgid "Group tag"
|
||||
msgstr "Etiqueta de grupo"
|
||||
@@ -2983,10 +2993,9 @@ msgstr "Coincide con todo lo siguiente"
|
||||
msgid "Match any of the following"
|
||||
msgstr "Coincide con cualquiera de los siguientes"
|
||||
|
||||
#. dennis-ignore: W303 - False positive caused by <title>. https://github.com/mozilla/dennis/issues/213
|
||||
#: changedetectionio/forms.py
|
||||
msgid "Use page <title> in list"
|
||||
msgstr "Usar página <title> en la lista"
|
||||
msgstr "Usar página<title>en la lista"
|
||||
|
||||
#: changedetectionio/forms.py
|
||||
msgid "Number of history items per watch to keep"
|
||||
@@ -3083,7 +3092,6 @@ msgstr "Actualizaciones de UI en tiempo real habilitadas"
|
||||
msgid "Favicons Enabled"
|
||||
msgstr "Favicones habilitados"
|
||||
|
||||
#. dennis-ignore: W303 - False positive caused by <title>. https://github.com/mozilla/dennis/issues/213
|
||||
#: changedetectionio/forms.py
|
||||
msgid "Use page <title> in watch overview list"
|
||||
msgstr "Usar <title> de la página en la lista general de monitores"
|
||||
@@ -3438,8 +3446,8 @@ msgstr "El protocolo de visualización no está permitido o el formato de URL no
|
||||
|
||||
#: changedetectionio/store/__init__.py
|
||||
#, python-brace-format
|
||||
msgid "Watch limit reached ({current}/{limit} watches). Cannot add more watches."
|
||||
msgstr "Límite de visualización alcanzado ({current} /{limit} monitores). No se pueden agregar más monitores."
|
||||
msgid "Watch limit reached ({}/{} watches). Cannot add more watches."
|
||||
msgstr "Límite de visualización alcanzado ({} /{} monitores). No se pueden agregar más monitores."
|
||||
|
||||
#: changedetectionio/templates/_common_fields.html
|
||||
msgid "Body for all notifications — You can use"
|
||||
@@ -3473,10 +3481,9 @@ msgstr "La URL que se está viendo."
|
||||
msgid "The UUID of the watch."
|
||||
msgstr "El UUID del monitor."
|
||||
|
||||
#. dennis-ignore: W303 - False positive caused by <title>. https://github.com/mozilla/dennis/issues/213
|
||||
#: changedetectionio/templates/_common_fields.html
|
||||
msgid "The page title of the watch, uses <title> if not set, falls back to URL"
|
||||
msgstr "El título de la página del monitor, utiliza <title> si no se establece, vuelve a la URL"
|
||||
msgstr "El título de la página del monitor, utiliza<title>si no se establece, vuelve a la URL"
|
||||
|
||||
#: changedetectionio/templates/_common_fields.html
|
||||
msgid "The watch group / tag"
|
||||
@@ -3612,7 +3619,6 @@ msgstr ""
|
||||
"¡Use las <a target=\"newwindow\" href=\"%(url)s\">URL de notificación de AppRise</a> para notificar a casi cualquier "
|
||||
"servicio!"
|
||||
|
||||
#. CJK fonts lack native italics; allow substitution with conventional local styling. dennis-ignore: W303
|
||||
#: changedetectionio/templates/_common_fields.html
|
||||
msgid "<i>Please read the notification services wiki here for important configuration notes</i>"
|
||||
msgstr "<i>Lea la wiki de servicios de notificación aquí para obtener notas de configuración importantes</i>"
|
||||
@@ -3976,7 +3982,6 @@ msgstr ""
|
||||
msgid "Note!: //text() function does not work where the <element> contains <![CDATA[]]>"
|
||||
msgstr ""
|
||||
|
||||
#. CJK fonts lack native italics; allow substitution with conventional local styling. dennis-ignore: W303
|
||||
#: changedetectionio/templates/edit/include_subtract.html
|
||||
msgid "One CSS, xPath 1 & 2, JSON Path/JQ selector per line, <i>any</i> rules that matches will be used."
|
||||
msgstr ""
|
||||
|
||||
Binary file not shown.
@@ -160,8 +160,8 @@ msgstr "Importation de 5 000 des premières URL de votre liste, le reste peut ê
|
||||
|
||||
#: changedetectionio/blueprint/imports/importer.py
|
||||
#, python-brace-format
|
||||
msgid "{count} Imported from list in {duration}s, {skipped_count} Skipped."
|
||||
msgstr "{count} importées de la liste en {duration}s, {skipped_count} ignorées."
|
||||
msgid "{} Imported from list in {:.2f}s, {} Skipped."
|
||||
msgstr "{} importées de la liste en {:.2f}s, {} ignorées."
|
||||
|
||||
#: changedetectionio/blueprint/imports/importer.py
|
||||
msgid "Unable to read JSON file, was it broken?"
|
||||
@@ -173,8 +173,8 @@ msgstr "La structure JSON semble invalide, est-elle corrompue ?"
|
||||
|
||||
#: changedetectionio/blueprint/imports/importer.py
|
||||
#, python-brace-format
|
||||
msgid "{count} Imported from Distill.io in {duration}s, {skipped_count} Skipped."
|
||||
msgstr "{count} importées de Distill.io en {duration}s, {skipped_count} ignorées."
|
||||
msgid "{} Imported from Distill.io in {:.2f}s, {} Skipped."
|
||||
msgstr "{} importées de Distill.io en {:.2f}s, {} ignorées."
|
||||
|
||||
#: changedetectionio/blueprint/imports/importer.py
|
||||
msgid "Unable to read export XLSX file, something wrong with the file?"
|
||||
@@ -194,18 +194,22 @@ msgstr ""
|
||||
|
||||
#: changedetectionio/blueprint/imports/importer.py
|
||||
#, python-brace-format
|
||||
msgid "{count} imported from Wachete .xlsx in {duration}s"
|
||||
msgstr "{count} importées de Wachete .xlsx en {duration}s"
|
||||
msgid "{} imported from Wachete .xlsx in {:.2f}s"
|
||||
msgstr "{} importées de Wachete .xlsx en {:.2f}s"
|
||||
|
||||
#: changedetectionio/blueprint/imports/importer.py
|
||||
#, python-brace-format
|
||||
msgid "{count} imported from custom .xlsx in {duration}s"
|
||||
msgstr "{count} importées de .xlsx personnalisé en {duration}s"
|
||||
msgid "{} imported from custom .xlsx in {:.2f}s"
|
||||
msgstr "{} importées de .xlsx personnalisé en {:.2f}s"
|
||||
|
||||
#: changedetectionio/blueprint/imports/templates/import.html
|
||||
msgid "URL List"
|
||||
msgstr "Liste d'URL"
|
||||
|
||||
#: changedetectionio/blueprint/imports/templates/import.html
|
||||
msgid "Distill.io"
|
||||
msgstr "Distill.io"
|
||||
|
||||
#: changedetectionio/blueprint/imports/templates/import.html
|
||||
msgid ".XLSX & Wachete"
|
||||
msgstr ".XLSX et Wachete"
|
||||
@@ -239,7 +243,6 @@ msgstr "Les URL qui ne passent pas la validation resteront dans la zone de texte
|
||||
msgid "Copy and Paste your Distill.io watch 'export' file, this should be a JSON file."
|
||||
msgstr ""
|
||||
|
||||
#. CJK fonts lack native italics; allow substitution with conventional local styling. dennis-ignore: W303
|
||||
#: changedetectionio/blueprint/imports/templates/import.html
|
||||
msgid ""
|
||||
"This is <i>experimental</i>, supported fields are <code>name</code>, <code>uri</code>, <code>tags</code>, "
|
||||
@@ -312,8 +315,8 @@ msgstr ""
|
||||
|
||||
#: changedetectionio/blueprint/settings/__init__.py
|
||||
#, python-brace-format
|
||||
msgid "Warning: Worker count ({worker_count}) is close to or exceeds available CPU cores ({cpu_count})"
|
||||
msgstr "Avertissement: Le nombre de workers ({worker_count}) approche ou dépasse les cœurs CPU disponibles ({cpu_count})"
|
||||
msgid "Warning: Worker count ({}) is close to or exceeds available CPU cores ({})"
|
||||
msgstr "Avertissement: Le nombre de workers ({}) approche ou dépasse les cœurs CPU disponibles ({})"
|
||||
|
||||
#: changedetectionio/blueprint/settings/__init__.py
|
||||
#, python-brace-format
|
||||
@@ -367,8 +370,8 @@ msgid "AI / LLM configuration removed."
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/blueprint/settings/llm.py
|
||||
#, python-brace-format
|
||||
msgid "AI summary cache cleared ({} file(s) removed)."
|
||||
#, python-format
|
||||
msgid "AI summary cache cleared (%(n)s file(s) removed)."
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/blueprint/settings/templates/notification-log.html
|
||||
@@ -392,6 +395,14 @@ msgstr "Filtres globaux"
|
||||
msgid "UI Options"
|
||||
msgstr "Options de l'interface utilisateur"
|
||||
|
||||
#: changedetectionio/blueprint/settings/templates/settings.html
|
||||
msgid "API"
|
||||
msgstr "API"
|
||||
|
||||
#: changedetectionio/blueprint/settings/templates/settings.html
|
||||
msgid "RSS"
|
||||
msgstr "RSS"
|
||||
|
||||
#: changedetectionio/blueprint/settings/templates/settings.html
|
||||
msgid "Backups"
|
||||
msgstr "SAUVEGARDES"
|
||||
@@ -1064,7 +1075,7 @@ msgstr ""
|
||||
|
||||
#: changedetectionio/blueprint/settings/templates/settings_llm_tab.html
|
||||
#, python-format
|
||||
msgid "characters — currently enforcing: %(limit)s"
|
||||
msgid "characters — currently enforcing: %(n)s"
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/blueprint/settings/templates/settings_llm_tab.html
|
||||
@@ -1206,7 +1217,6 @@ msgstr ""
|
||||
msgid "Leave unchecked to use the auto-generated colour based on the tag name."
|
||||
msgstr ""
|
||||
|
||||
#. CJK fonts lack native italics; allow substitution with conventional local styling. dennis-ignore: W303
|
||||
#: changedetectionio/blueprint/tags/templates/edit-tag.html
|
||||
msgid "These settings are <strong><i>added</i></strong> to any existing watch configurations."
|
||||
msgstr ""
|
||||
@@ -1424,8 +1434,8 @@ msgstr ""
|
||||
|
||||
#: changedetectionio/blueprint/ui/__init__.py
|
||||
#, python-brace-format
|
||||
msgid "Queued {count} watches for rechecking ({skipped_count} already queued or running)."
|
||||
msgstr "{count} moniteurs mis en file d'attente ({skipped_count} déjà en file ou en cours)."
|
||||
msgid "Queued {} watches for rechecking ({} already queued or running)."
|
||||
msgstr "{} moniteurs mis en file d'attente ({} déjà en file ou en cours)."
|
||||
|
||||
#: changedetectionio/blueprint/ui/__init__.py
|
||||
#, python-brace-format
|
||||
@@ -1916,7 +1926,6 @@ msgid ""
|
||||
"lines against all history for this watch."
|
||||
msgstr ""
|
||||
|
||||
#. CJK fonts lack native italics; allow substitution with conventional local styling. dennis-ignore: W303
|
||||
#: changedetectionio/blueprint/ui/templates/edit.html
|
||||
msgid "Helps reduce changes detected caused by sites shuffling lines around, combine with <i>check unique lines</i> below."
|
||||
msgstr ""
|
||||
@@ -2174,7 +2183,6 @@ msgstr "Effacer les historiques"
|
||||
msgid "<p>Are you sure you want to clear history for the selected items?</p><p>This action cannot be undone.</p>"
|
||||
msgstr ""
|
||||
|
||||
#. Universally recognized; typically left as-is. dennis-ignore: W302
|
||||
#: changedetectionio/blueprint/watchlist/templates/watch-overview.html
|
||||
msgid "OK"
|
||||
msgstr "D'ACCORD"
|
||||
@@ -2188,7 +2196,7 @@ msgid "Delete Watches?"
|
||||
msgstr "Supprimer les montres ?"
|
||||
|
||||
#: changedetectionio/blueprint/watchlist/templates/watch-overview.html
|
||||
msgid "<p><strong>Are you sure you want to delete the selected watches?</strong></p><p>This action cannot be undone.</p>"
|
||||
msgid "<p>Are you sure you want to delete the selected watches?</strong></p><p>This action cannot be undone.</p>"
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/blueprint/watchlist/templates/watch-overview.html
|
||||
@@ -2667,18 +2675,18 @@ msgstr "RegEx '%s' n'est pas une expression régulière valide."
|
||||
|
||||
#: changedetectionio/forms.py
|
||||
#, python-format
|
||||
msgid "'%(expression)s' is not a valid XPath expression. (%(error)s)"
|
||||
msgstr "'%(expression)s' n'est pas une expression XPath valide. (%(error)s)"
|
||||
msgid "'%s' is not a valid XPath expression. (%s)"
|
||||
msgstr "'%s' n'est pas une expression XPath valide. (%s)"
|
||||
|
||||
#: changedetectionio/forms.py
|
||||
#, python-format
|
||||
msgid "'%(expression)s' is not a valid JSONPath expression. (%(error)s)"
|
||||
msgstr "'%(expression)s' n'est pas une expression JSONPath valide. (%(error)s)"
|
||||
msgid "'%s' is not a valid JSONPath expression. (%s)"
|
||||
msgstr "'%s' n'est pas une expression JSONPath valide. (%s)"
|
||||
|
||||
#: changedetectionio/forms.py
|
||||
#, python-format
|
||||
msgid "'%(expression)s' is not a valid jq expression. (%(error)s)"
|
||||
msgstr "'%(expression)s' n'est pas une expression jq valide. (%(error)s)"
|
||||
msgid "'%s' is not a valid jq expression. (%s)"
|
||||
msgstr "'%s' n'est pas une expression jq valide. (%s)"
|
||||
|
||||
#: changedetectionio/forms.py
|
||||
msgid "Empty value not allowed."
|
||||
@@ -2688,6 +2696,10 @@ msgstr "Valeur vide non autorisée."
|
||||
msgid "Invalid value."
|
||||
msgstr "Valeur invalide."
|
||||
|
||||
#: changedetectionio/blueprint/imports/templates/import.html changedetectionio/forms.py
|
||||
msgid "URL"
|
||||
msgstr "URL"
|
||||
|
||||
#: changedetectionio/forms.py
|
||||
msgid "Group tag"
|
||||
msgstr "Groupe / Étiquette"
|
||||
@@ -2923,10 +2935,9 @@ msgstr "Faites correspondre tous les éléments suivants"
|
||||
msgid "Match any of the following"
|
||||
msgstr "Faites correspondre l'un des éléments suivants"
|
||||
|
||||
#. dennis-ignore: W303 - False positive caused by <title>. https://github.com/mozilla/dennis/issues/213
|
||||
#: changedetectionio/forms.py
|
||||
msgid "Use page <title> in list"
|
||||
msgstr "Utiliser la page <title> dans la liste"
|
||||
msgstr "Utiliser la page <titre> dans la liste"
|
||||
|
||||
#: changedetectionio/forms.py
|
||||
msgid "Number of history items per watch to keep"
|
||||
@@ -3023,10 +3034,9 @@ msgstr "Mises à jour en temps réel hors ligne"
|
||||
msgid "Favicons Enabled"
|
||||
msgstr "Favicons Activés"
|
||||
|
||||
#. dennis-ignore: W303 - False positive caused by <title>. https://github.com/mozilla/dennis/issues/213
|
||||
#: changedetectionio/forms.py
|
||||
msgid "Use page <title> in watch overview list"
|
||||
msgstr "Utiliser la page <title> dans la liste de présentation des moniteurs"
|
||||
msgstr "Utiliser la page <titre> dans la liste de présentation des moniteurs"
|
||||
|
||||
#: changedetectionio/forms.py
|
||||
msgid "API access token security check enabled"
|
||||
@@ -3378,7 +3388,7 @@ msgstr ""
|
||||
|
||||
#: changedetectionio/store/__init__.py
|
||||
#, python-brace-format
|
||||
msgid "Watch limit reached ({current}/{limit} watches). Cannot add more watches."
|
||||
msgid "Watch limit reached ({}/{} watches). Cannot add more watches."
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/templates/_common_fields.html
|
||||
@@ -3413,7 +3423,6 @@ msgstr ""
|
||||
msgid "The UUID of the watch."
|
||||
msgstr "L'UUID du moniteur."
|
||||
|
||||
#. dennis-ignore: W303 - False positive caused by <title>. https://github.com/mozilla/dennis/issues/213
|
||||
#: changedetectionio/templates/_common_fields.html
|
||||
msgid "The page title of the watch, uses <title> if not set, falls back to URL"
|
||||
msgstr ""
|
||||
@@ -3550,7 +3559,6 @@ msgstr "Plus d'infos ici"
|
||||
msgid "Use <a target=\"newwindow\" href=\"%(url)s\">AppRise Notification URLs</a> for notification to just about any service!"
|
||||
msgstr ""
|
||||
|
||||
#. CJK fonts lack native italics; allow substitution with conventional local styling. dennis-ignore: W303
|
||||
#: changedetectionio/templates/_common_fields.html
|
||||
msgid "<i>Please read the notification services wiki here for important configuration notes</i>"
|
||||
msgstr ""
|
||||
@@ -3914,7 +3922,6 @@ msgstr ""
|
||||
msgid "Note!: //text() function does not work where the <element> contains <![CDATA[]]>"
|
||||
msgstr ""
|
||||
|
||||
#. CJK fonts lack native italics; allow substitution with conventional local styling. dennis-ignore: W303
|
||||
#: changedetectionio/templates/edit/include_subtract.html
|
||||
msgid "One CSS, xPath 1 & 2, JSON Path/JQ selector per line, <i>any</i> rules that matches will be used."
|
||||
msgstr ""
|
||||
|
||||
Binary file not shown.
@@ -160,8 +160,8 @@ msgstr "Importazione delle prime 5.000 URL dalla tua lista, il resto può essere
|
||||
|
||||
#: changedetectionio/blueprint/imports/importer.py
|
||||
#, python-brace-format
|
||||
msgid "{count} Imported from list in {duration}s, {skipped_count} Skipped."
|
||||
msgstr "{count} Importate dalla lista in {duration}s, {skipped_count} Ignorate."
|
||||
msgid "{} Imported from list in {:.2f}s, {} Skipped."
|
||||
msgstr "{} Importate dalla lista in {:.2f}s, {} Ignorate."
|
||||
|
||||
#: changedetectionio/blueprint/imports/importer.py
|
||||
msgid "Unable to read JSON file, was it broken?"
|
||||
@@ -173,8 +173,8 @@ msgstr "La struttura JSON sembra non valida, è danneggiata?"
|
||||
|
||||
#: changedetectionio/blueprint/imports/importer.py
|
||||
#, python-brace-format
|
||||
msgid "{count} Imported from Distill.io in {duration}s, {skipped_count} Skipped."
|
||||
msgstr "{count} Importate da Distill.io in {duration}s, {skipped_count} Ignorate."
|
||||
msgid "{} Imported from Distill.io in {:.2f}s, {} Skipped."
|
||||
msgstr "{} Importate da Distill.io in {:.2f}s, {} Ignorate."
|
||||
|
||||
#: changedetectionio/blueprint/imports/importer.py
|
||||
msgid "Unable to read export XLSX file, something wrong with the file?"
|
||||
@@ -194,18 +194,22 @@ msgstr ""
|
||||
|
||||
#: changedetectionio/blueprint/imports/importer.py
|
||||
#, python-brace-format
|
||||
msgid "{count} imported from Wachete .xlsx in {duration}s"
|
||||
msgstr "{count} importate da Wachete .xlsx in {duration}s"
|
||||
msgid "{} imported from Wachete .xlsx in {:.2f}s"
|
||||
msgstr "{} importate da Wachete .xlsx in {:.2f}s"
|
||||
|
||||
#: changedetectionio/blueprint/imports/importer.py
|
||||
#, python-brace-format
|
||||
msgid "{count} imported from custom .xlsx in {duration}s"
|
||||
msgstr "{count} importate da .xlsx personalizzato in {duration}s"
|
||||
msgid "{} imported from custom .xlsx in {:.2f}s"
|
||||
msgstr "{} importate da .xlsx personalizzato in {:.2f}s"
|
||||
|
||||
#: changedetectionio/blueprint/imports/templates/import.html
|
||||
msgid "URL List"
|
||||
msgstr "Lista URL"
|
||||
|
||||
#: changedetectionio/blueprint/imports/templates/import.html
|
||||
msgid "Distill.io"
|
||||
msgstr "Distill.io"
|
||||
|
||||
#: changedetectionio/blueprint/imports/templates/import.html
|
||||
msgid ".XLSX & Wachete"
|
||||
msgstr ".XLSX & Wachete"
|
||||
@@ -239,7 +243,6 @@ msgstr ""
|
||||
msgid "Copy and Paste your Distill.io watch 'export' file, this should be a JSON file."
|
||||
msgstr ""
|
||||
|
||||
#. CJK fonts lack native italics; allow substitution with conventional local styling. dennis-ignore: W303
|
||||
#: changedetectionio/blueprint/imports/templates/import.html
|
||||
msgid ""
|
||||
"This is <i>experimental</i>, supported fields are <code>name</code>, <code>uri</code>, <code>tags</code>, "
|
||||
@@ -310,8 +313,8 @@ msgstr ""
|
||||
|
||||
#: changedetectionio/blueprint/settings/__init__.py
|
||||
#, python-brace-format
|
||||
msgid "Warning: Worker count ({worker_count}) is close to or exceeds available CPU cores ({cpu_count})"
|
||||
msgstr "Avviso: Il numero di worker ({worker_count}) si avvicina o supera i core CPU disponibili ({cpu_count})"
|
||||
msgid "Warning: Worker count ({}) is close to or exceeds available CPU cores ({})"
|
||||
msgstr "Avviso: Il numero di worker ({}) si avvicina o supera i core CPU disponibili ({})"
|
||||
|
||||
#: changedetectionio/blueprint/settings/__init__.py
|
||||
#, python-brace-format
|
||||
@@ -365,8 +368,8 @@ msgid "AI / LLM configuration removed."
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/blueprint/settings/llm.py
|
||||
#, python-brace-format
|
||||
msgid "AI summary cache cleared ({} file(s) removed)."
|
||||
#, python-format
|
||||
msgid "AI summary cache cleared (%(n)s file(s) removed)."
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/blueprint/settings/templates/notification-log.html
|
||||
@@ -390,6 +393,14 @@ msgstr "Filtri globali"
|
||||
msgid "UI Options"
|
||||
msgstr "Opzioni interfaccia"
|
||||
|
||||
#: changedetectionio/blueprint/settings/templates/settings.html
|
||||
msgid "API"
|
||||
msgstr "API"
|
||||
|
||||
#: changedetectionio/blueprint/settings/templates/settings.html
|
||||
msgid "RSS"
|
||||
msgstr "RSS"
|
||||
|
||||
#: changedetectionio/blueprint/settings/templates/settings.html
|
||||
msgid "Backups"
|
||||
msgstr "Backup"
|
||||
@@ -1060,7 +1071,7 @@ msgstr ""
|
||||
|
||||
#: changedetectionio/blueprint/settings/templates/settings_llm_tab.html
|
||||
#, python-format
|
||||
msgid "characters — currently enforcing: %(limit)s"
|
||||
msgid "characters — currently enforcing: %(n)s"
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/blueprint/settings/templates/settings_llm_tab.html
|
||||
@@ -1202,7 +1213,6 @@ msgstr ""
|
||||
msgid "Leave unchecked to use the auto-generated colour based on the tag name."
|
||||
msgstr ""
|
||||
|
||||
#. CJK fonts lack native italics; allow substitution with conventional local styling. dennis-ignore: W303
|
||||
#: changedetectionio/blueprint/tags/templates/edit-tag.html
|
||||
msgid "These settings are <strong><i>added</i></strong> to any existing watch configurations."
|
||||
msgstr ""
|
||||
@@ -1417,8 +1427,8 @@ msgstr ""
|
||||
|
||||
#: changedetectionio/blueprint/ui/__init__.py
|
||||
#, python-brace-format
|
||||
msgid "Queued {count} watches for rechecking ({skipped_count} already queued or running)."
|
||||
msgstr "{count} monitor in coda ({skipped_count} già in coda o in esecuzione)."
|
||||
msgid "Queued {} watches for rechecking ({} already queued or running)."
|
||||
msgstr "{} monitor in coda ({} già in coda o in esecuzione)."
|
||||
|
||||
#: changedetectionio/blueprint/ui/__init__.py
|
||||
#, python-brace-format
|
||||
@@ -1907,7 +1917,6 @@ msgid ""
|
||||
"lines against all history for this watch."
|
||||
msgstr ""
|
||||
|
||||
#. CJK fonts lack native italics; allow substitution with conventional local styling. dennis-ignore: W303
|
||||
#: changedetectionio/blueprint/ui/templates/edit.html
|
||||
msgid "Helps reduce changes detected caused by sites shuffling lines around, combine with <i>check unique lines</i> below."
|
||||
msgstr ""
|
||||
@@ -2165,7 +2174,6 @@ msgstr "Cancella cronologie"
|
||||
msgid "<p>Are you sure you want to clear history for the selected items?</p><p>This action cannot be undone.</p>"
|
||||
msgstr ""
|
||||
|
||||
#. Universally recognized; typically left as-is. dennis-ignore: W302
|
||||
#: changedetectionio/blueprint/watchlist/templates/watch-overview.html
|
||||
msgid "OK"
|
||||
msgstr "OK"
|
||||
@@ -2179,7 +2187,7 @@ msgid "Delete Watches?"
|
||||
msgstr "Eliminare monitoraggi?"
|
||||
|
||||
#: changedetectionio/blueprint/watchlist/templates/watch-overview.html
|
||||
msgid "<p><strong>Are you sure you want to delete the selected watches?</strong></p><p>This action cannot be undone.</p>"
|
||||
msgid "<p>Are you sure you want to delete the selected watches?</strong></p><p>This action cannot be undone.</p>"
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/blueprint/watchlist/templates/watch-overview.html
|
||||
@@ -2656,18 +2664,18 @@ msgstr "La RegEx '%s' non è un'espressione regolare valida."
|
||||
|
||||
#: changedetectionio/forms.py
|
||||
#, python-format
|
||||
msgid "'%(expression)s' is not a valid XPath expression. (%(error)s)"
|
||||
msgstr "'%(expression)s' non è un'espressione XPath valida. (%(error)s)"
|
||||
msgid "'%s' is not a valid XPath expression. (%s)"
|
||||
msgstr "'%s' non è un'espressione XPath valida. (%s)"
|
||||
|
||||
#: changedetectionio/forms.py
|
||||
#, python-format
|
||||
msgid "'%(expression)s' is not a valid JSONPath expression. (%(error)s)"
|
||||
msgstr "'%(expression)s' non è un'espressione JSONPath valida. (%(error)s)"
|
||||
msgid "'%s' is not a valid JSONPath expression. (%s)"
|
||||
msgstr "'%s' non è un'espressione JSONPath valida. (%s)"
|
||||
|
||||
#: changedetectionio/forms.py
|
||||
#, python-format
|
||||
msgid "'%(expression)s' is not a valid jq expression. (%(error)s)"
|
||||
msgstr "'%(expression)s' non è un'espressione jq valida. (%(error)s)"
|
||||
msgid "'%s' is not a valid jq expression. (%s)"
|
||||
msgstr "'%s' non è un'espressione jq valida. (%s)"
|
||||
|
||||
#: changedetectionio/forms.py
|
||||
msgid "Empty value not allowed."
|
||||
@@ -2677,6 +2685,10 @@ msgstr "Valore vuoto non consentito."
|
||||
msgid "Invalid value."
|
||||
msgstr "Valore non valido."
|
||||
|
||||
#: changedetectionio/blueprint/imports/templates/import.html changedetectionio/forms.py
|
||||
msgid "URL"
|
||||
msgstr "URL"
|
||||
|
||||
#: changedetectionio/forms.py
|
||||
msgid "Group tag"
|
||||
msgstr "Gruppo / Etichetta"
|
||||
@@ -2912,7 +2924,6 @@ msgstr "Corrisponde a tutti i seguenti"
|
||||
msgid "Match any of the following"
|
||||
msgstr "Corrisponde a uno qualsiasi dei seguenti"
|
||||
|
||||
#. dennis-ignore: W303 - False positive caused by <title>. https://github.com/mozilla/dennis/issues/213
|
||||
#: changedetectionio/forms.py
|
||||
msgid "Use page <title> in list"
|
||||
msgstr "Usa <title> pagina nell'elenco"
|
||||
@@ -3012,7 +3023,6 @@ msgstr "Aggiornamenti UI in tempo reale attivi"
|
||||
msgid "Favicons Enabled"
|
||||
msgstr "Favicon attive"
|
||||
|
||||
#. dennis-ignore: W303 - False positive caused by <title>. https://github.com/mozilla/dennis/issues/213
|
||||
#: changedetectionio/forms.py
|
||||
msgid "Use page <title> in watch overview list"
|
||||
msgstr "Usa <title> pagina nell'elenco osservati"
|
||||
@@ -3367,7 +3377,7 @@ msgstr "Protocollo non consentito o formato URL non valido"
|
||||
|
||||
#: changedetectionio/store/__init__.py
|
||||
#, python-brace-format
|
||||
msgid "Watch limit reached ({current}/{limit} watches). Cannot add more watches."
|
||||
msgid "Watch limit reached ({}/{} watches). Cannot add more watches."
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/templates/_common_fields.html
|
||||
@@ -3402,7 +3412,6 @@ msgstr ""
|
||||
msgid "The UUID of the watch."
|
||||
msgstr "L'UUID del monitor."
|
||||
|
||||
#. dennis-ignore: W303 - False positive caused by <title>. https://github.com/mozilla/dennis/issues/213
|
||||
#: changedetectionio/templates/_common_fields.html
|
||||
msgid "The page title of the watch, uses <title> if not set, falls back to URL"
|
||||
msgstr ""
|
||||
@@ -3539,7 +3548,6 @@ msgstr ""
|
||||
msgid "Use <a target=\"newwindow\" href=\"%(url)s\">AppRise Notification URLs</a> for notification to just about any service!"
|
||||
msgstr ""
|
||||
|
||||
#. CJK fonts lack native italics; allow substitution with conventional local styling. dennis-ignore: W303
|
||||
#: changedetectionio/templates/_common_fields.html
|
||||
msgid "<i>Please read the notification services wiki here for important configuration notes</i>"
|
||||
msgstr ""
|
||||
@@ -3901,7 +3909,6 @@ msgstr ""
|
||||
msgid "Note!: //text() function does not work where the <element> contains <![CDATA[]]>"
|
||||
msgstr ""
|
||||
|
||||
#. CJK fonts lack native italics; allow substitution with conventional local styling. dennis-ignore: W303
|
||||
#: changedetectionio/templates/edit/include_subtract.html
|
||||
msgid "One CSS, xPath 1 & 2, JSON Path/JQ selector per line, <i>any</i> rules that matches will be used."
|
||||
msgstr ""
|
||||
|
||||
Binary file not shown.
@@ -161,8 +161,8 @@ msgstr "リストの最初の5,000件のURLをインポートしています。
|
||||
|
||||
#: changedetectionio/blueprint/imports/importer.py
|
||||
#, python-brace-format
|
||||
msgid "{count} Imported from list in {duration}s, {skipped_count} Skipped."
|
||||
msgstr "{count} 件をリストから {duration}秒でインポートしました。{skipped_count} 件をスキップしました。"
|
||||
msgid "{} Imported from list in {:.2f}s, {} Skipped."
|
||||
msgstr "{} 件をリストから {:.2f}秒でインポートしました。{} 件をスキップしました。"
|
||||
|
||||
#: changedetectionio/blueprint/imports/importer.py
|
||||
msgid "Unable to read JSON file, was it broken?"
|
||||
@@ -174,8 +174,8 @@ msgstr "JSONの構造が無効のようです。ファイルが壊れていま
|
||||
|
||||
#: changedetectionio/blueprint/imports/importer.py
|
||||
#, python-brace-format
|
||||
msgid "{count} Imported from Distill.io in {duration}s, {skipped_count} Skipped."
|
||||
msgstr "{count} 件を Distill.io から {duration}秒でインポートしました。{skipped_count} 件をスキップしました。"
|
||||
msgid "{} Imported from Distill.io in {:.2f}s, {} Skipped."
|
||||
msgstr "{} 件を Distill.io から {:.2f}秒でインポートしました。{} 件をスキップしました。"
|
||||
|
||||
#: changedetectionio/blueprint/imports/importer.py
|
||||
msgid "Unable to read export XLSX file, something wrong with the file?"
|
||||
@@ -193,18 +193,22 @@ msgstr "行番号 {} の処理中にエラーが発生しました。すべて
|
||||
|
||||
#: changedetectionio/blueprint/imports/importer.py
|
||||
#, python-brace-format
|
||||
msgid "{count} imported from Wachete .xlsx in {duration}s"
|
||||
msgstr "{count} 件を Wachete .xlsx から {duration}秒でインポートしました"
|
||||
msgid "{} imported from Wachete .xlsx in {:.2f}s"
|
||||
msgstr "{} 件を Wachete .xlsx から {:.2f}秒でインポートしました"
|
||||
|
||||
#: changedetectionio/blueprint/imports/importer.py
|
||||
#, python-brace-format
|
||||
msgid "{count} imported from custom .xlsx in {duration}s"
|
||||
msgstr "{count} 件をカスタム .xlsx から {duration}秒でインポートしました"
|
||||
msgid "{} imported from custom .xlsx in {:.2f}s"
|
||||
msgstr "{} 件をカスタム .xlsx から {:.2f}秒でインポートしました"
|
||||
|
||||
#: changedetectionio/blueprint/imports/templates/import.html
|
||||
msgid "URL List"
|
||||
msgstr "URLリスト"
|
||||
|
||||
#: changedetectionio/blueprint/imports/templates/import.html
|
||||
msgid "Distill.io"
|
||||
msgstr "Distill.io"
|
||||
|
||||
#: changedetectionio/blueprint/imports/templates/import.html
|
||||
msgid ".XLSX & Wachete"
|
||||
msgstr ".XLSX & Wachete"
|
||||
@@ -239,7 +243,6 @@ msgid "Copy and Paste your Distill.io watch 'export' file, this should be a JSON
|
||||
msgstr "Distill.io ウォッチの「エクスポート」ファイルをコピーして貼り付けてください。JSONファイルである必要があります。"
|
||||
|
||||
# 訳注: 日本語を斜体にすると字形が崩れるため、強調表示は<strong>に置き換える。
|
||||
#. CJK fonts lack native italics; allow substitution with conventional local styling. dennis-ignore: W303
|
||||
#: changedetectionio/blueprint/imports/templates/import.html
|
||||
msgid ""
|
||||
"This is <i>experimental</i>, supported fields are <code>name</code>, <code>uri</code>, <code>tags</code>, "
|
||||
@@ -312,8 +315,8 @@ msgstr "パスワード保護が解除されました。"
|
||||
|
||||
#: changedetectionio/blueprint/settings/__init__.py
|
||||
#, python-brace-format
|
||||
msgid "Warning: Worker count ({worker_count}) is close to or exceeds available CPU cores ({cpu_count})"
|
||||
msgstr "警告:ワーカー数({worker_count})が利用可能なCPUコア数({cpu_count})に近いか超えています"
|
||||
msgid "Warning: Worker count ({}) is close to or exceeds available CPU cores ({})"
|
||||
msgstr "警告:ワーカー数({})が利用可能なCPUコア数({})に近いか超えています"
|
||||
|
||||
#: changedetectionio/blueprint/settings/__init__.py
|
||||
#, python-brace-format
|
||||
@@ -367,8 +370,8 @@ msgid "AI / LLM configuration removed."
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/blueprint/settings/llm.py
|
||||
#, python-brace-format
|
||||
msgid "AI summary cache cleared ({} file(s) removed)."
|
||||
#, python-format
|
||||
msgid "AI summary cache cleared (%(n)s file(s) removed)."
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/blueprint/settings/templates/notification-log.html
|
||||
@@ -392,6 +395,14 @@ msgstr "グローバルフィルタ"
|
||||
msgid "UI Options"
|
||||
msgstr "UI オプション"
|
||||
|
||||
#: changedetectionio/blueprint/settings/templates/settings.html
|
||||
msgid "API"
|
||||
msgstr "API"
|
||||
|
||||
#: changedetectionio/blueprint/settings/templates/settings.html
|
||||
msgid "RSS"
|
||||
msgstr "RSS"
|
||||
|
||||
#: changedetectionio/blueprint/settings/templates/settings.html
|
||||
msgid "Backups"
|
||||
msgstr "バックアップ"
|
||||
@@ -1065,7 +1076,7 @@ msgstr ""
|
||||
|
||||
#: changedetectionio/blueprint/settings/templates/settings_llm_tab.html
|
||||
#, python-format
|
||||
msgid "characters — currently enforcing: %(limit)s"
|
||||
msgid "characters — currently enforcing: %(n)s"
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/blueprint/settings/templates/settings_llm_tab.html
|
||||
@@ -1208,7 +1219,6 @@ msgid "Leave unchecked to use the auto-generated colour based on the tag name."
|
||||
msgstr "タグ名に基づく自動生成色を使用する場合はチェックを外してください。"
|
||||
|
||||
# 訳注: 日本語を斜体にすると字形が崩れるため、<strong> のみで強調し <i> は外す
|
||||
#. CJK fonts lack native italics; allow substitution with conventional local styling. dennis-ignore: W303
|
||||
#: changedetectionio/blueprint/tags/templates/edit-tag.html
|
||||
msgid "These settings are <strong><i>added</i></strong> to any existing watch configurations."
|
||||
msgstr "これらの設定は既存のすべてのウォッチ設定に<strong>追加</strong>されます。"
|
||||
@@ -1423,8 +1433,8 @@ msgstr "1件のウォッチを再チェックのためキューに追加しま
|
||||
|
||||
#: changedetectionio/blueprint/ui/__init__.py
|
||||
#, python-brace-format
|
||||
msgid "Queued {count} watches for rechecking ({skipped_count} already queued or running)."
|
||||
msgstr "{count} 件のウォッチを再チェックのためキューに追加しました({skipped_count} 件はすでにキュー済みまたは実行中)。"
|
||||
msgid "Queued {} watches for rechecking ({} already queued or running)."
|
||||
msgstr "{} 件のウォッチを再チェックのためキューに追加しました({} 件はすでにキュー済みまたは実行中)。"
|
||||
|
||||
#: changedetectionio/blueprint/ui/__init__.py
|
||||
#, python-brace-format
|
||||
@@ -1920,7 +1930,6 @@ msgid ""
|
||||
msgstr "コンテンツを移動させるだけのウェブサイトに適しています。新しいコンテンツが追加されたときに知りたい場合に便利で、このウォッチのすべての履歴と新しい行を比較します。"
|
||||
|
||||
# 訳注: 日本語を斜体にすると字形が崩れるため、参照は「」で囲む。
|
||||
#. CJK fonts lack native italics; allow substitution with conventional local styling. dennis-ignore: W303
|
||||
#: changedetectionio/blueprint/ui/templates/edit.html
|
||||
msgid "Helps reduce changes detected caused by sites shuffling lines around, combine with <i>check unique lines</i> below."
|
||||
msgstr "サイトが行を並べ替えることで発生する不要な変更検知を減らすのに役立ちます。下の「ユニーク行をチェック」と組み合わせてください。"
|
||||
@@ -2182,7 +2191,6 @@ msgstr "履歴をすべてクリア"
|
||||
msgid "<p>Are you sure you want to clear history for the selected items?</p><p>This action cannot be undone.</p>"
|
||||
msgstr "<p>選択した項目の履歴をクリアしてもよいですか?</p><p>この操作は元に戻せません。</p>"
|
||||
|
||||
#. Universally recognized; typically left as-is. dennis-ignore: W302
|
||||
#: changedetectionio/blueprint/watchlist/templates/watch-overview.html
|
||||
msgid "OK"
|
||||
msgstr "OK"
|
||||
@@ -2196,8 +2204,8 @@ msgid "Delete Watches?"
|
||||
msgstr "ウォッチを削除しますか?"
|
||||
|
||||
#: changedetectionio/blueprint/watchlist/templates/watch-overview.html
|
||||
msgid "<p><strong>Are you sure you want to delete the selected watches?</strong></p><p>This action cannot be undone.</p>"
|
||||
msgstr "<p><strong>選択したウォッチを削除してもよいですか?</strong></p><p>この操作は元に戻せません。</p>"
|
||||
msgid "<p>Are you sure you want to delete the selected watches?</strong></p><p>This action cannot be undone.</p>"
|
||||
msgstr "<p>選択したウォッチを削除してもよいですか?</strong></p><p>この操作は元に戻せません。</p>"
|
||||
|
||||
#: changedetectionio/blueprint/watchlist/templates/watch-overview.html
|
||||
msgid "Queued size"
|
||||
@@ -2673,18 +2681,18 @@ msgstr "正規表現 '%s' は有効な正規表現ではありません。"
|
||||
|
||||
#: changedetectionio/forms.py
|
||||
#, python-format
|
||||
msgid "'%(expression)s' is not a valid XPath expression. (%(error)s)"
|
||||
msgstr "'%(expression)s' は有効なXPath式ではありません。(%(error)s)"
|
||||
msgid "'%s' is not a valid XPath expression. (%s)"
|
||||
msgstr "'%s' は有効なXPath式ではありません。(%s)"
|
||||
|
||||
#: changedetectionio/forms.py
|
||||
#, python-format
|
||||
msgid "'%(expression)s' is not a valid JSONPath expression. (%(error)s)"
|
||||
msgstr "'%(expression)s' は有効なJSONPath式ではありません。(%(error)s)"
|
||||
msgid "'%s' is not a valid JSONPath expression. (%s)"
|
||||
msgstr "'%s' は有効なJSONPath式ではありません。(%s)"
|
||||
|
||||
#: changedetectionio/forms.py
|
||||
#, python-format
|
||||
msgid "'%(expression)s' is not a valid jq expression. (%(error)s)"
|
||||
msgstr "'%(expression)s' は有効なjq式ではありません。(%(error)s)"
|
||||
msgid "'%s' is not a valid jq expression. (%s)"
|
||||
msgstr "'%s' は有効なjq式ではありません。(%s)"
|
||||
|
||||
#: changedetectionio/forms.py
|
||||
msgid "Empty value not allowed."
|
||||
@@ -2694,6 +2702,10 @@ msgstr "空の値は許可されていません。"
|
||||
msgid "Invalid value."
|
||||
msgstr "無効な値です。"
|
||||
|
||||
#: changedetectionio/blueprint/imports/templates/import.html changedetectionio/forms.py
|
||||
msgid "URL"
|
||||
msgstr "URL"
|
||||
|
||||
#: changedetectionio/forms.py
|
||||
msgid "Group tag"
|
||||
msgstr "グループタグ"
|
||||
@@ -2929,7 +2941,6 @@ msgstr "以下のすべてに一致"
|
||||
msgid "Match any of the following"
|
||||
msgstr "以下のいずれかに一致"
|
||||
|
||||
#. dennis-ignore: W303 - False positive caused by <title>. https://github.com/mozilla/dennis/issues/213
|
||||
#: changedetectionio/forms.py
|
||||
msgid "Use page <title> in list"
|
||||
msgstr "リストでページの <title> を使用"
|
||||
@@ -3029,7 +3040,6 @@ msgstr "リアルタイムUI更新を有効化"
|
||||
msgid "Favicons Enabled"
|
||||
msgstr "ファビコンを有効化"
|
||||
|
||||
#. dennis-ignore: W303 - False positive caused by <title>. https://github.com/mozilla/dennis/issues/213
|
||||
#: changedetectionio/forms.py
|
||||
msgid "Use page <title> in watch overview list"
|
||||
msgstr "ウォッチ一覧リストでページの <title> を使用"
|
||||
@@ -3384,8 +3394,8 @@ msgstr "ウォッチのプロトコルが許可されていないか、URL形式
|
||||
|
||||
#: changedetectionio/store/__init__.py
|
||||
#, python-brace-format
|
||||
msgid "Watch limit reached ({current}/{limit} watches). Cannot add more watches."
|
||||
msgstr "ウォッチの上限に達しました({current}/{limit} ウォッチ)。これ以上ウォッチを追加できません。"
|
||||
msgid "Watch limit reached ({}/{} watches). Cannot add more watches."
|
||||
msgstr "ウォッチの上限に達しました({}/{} ウォッチ)。これ以上ウォッチを追加できません。"
|
||||
|
||||
#: changedetectionio/templates/_common_fields.html
|
||||
msgid "Body for all notifications — You can use"
|
||||
@@ -3419,7 +3429,6 @@ msgstr "監視中のURL。"
|
||||
msgid "The UUID of the watch."
|
||||
msgstr "ウォッチのUUID。"
|
||||
|
||||
#. dennis-ignore: W303 - False positive caused by <title>. https://github.com/mozilla/dennis/issues/213
|
||||
#: changedetectionio/templates/_common_fields.html
|
||||
msgid "The page title of the watch, uses <title> if not set, falls back to URL"
|
||||
msgstr "ウォッチのページタイトル。設定されていない場合は <title> を使用し、それもなければURLにフォールバックします。"
|
||||
@@ -3563,7 +3572,6 @@ msgid "Use <a target=\"newwindow\" href=\"%(url)s\">AppRise Notification URLs</a
|
||||
msgstr "<a target=\"newwindow\" href=\"%(url)s\">AppRise 通知URL</a> を使えば、ほぼすべてのサービスへの通知に対応できます!"
|
||||
|
||||
# 訳注: 日本語を斜体にすると字形が崩れるため、強調表示は<strong>に置き換える。
|
||||
#. CJK fonts lack native italics; allow substitution with conventional local styling. dennis-ignore: W303
|
||||
#: changedetectionio/templates/_common_fields.html
|
||||
msgid "<i>Please read the notification services wiki here for important configuration notes</i>"
|
||||
msgstr "<strong>重要な設定に関するメモについては、通知サービスのWikiをこちらでお読みください</strong>"
|
||||
@@ -3933,7 +3941,6 @@ msgid "Note!: //text() function does not work where the <element> contains <![CD
|
||||
msgstr "注意: <element> が <![CDATA[]]> を含む場合、//text() 関数は動作しません"
|
||||
|
||||
# 訳注: 日本語を斜体にすると字形が崩れるため、強調表示は<strong>に置き換える。
|
||||
#. CJK fonts lack native italics; allow substitution with conventional local styling. dennis-ignore: W303
|
||||
#: changedetectionio/templates/edit/include_subtract.html
|
||||
msgid "One CSS, xPath 1 & 2, JSON Path/JQ selector per line, <i>any</i> rules that matches will be used."
|
||||
msgstr "1行につき1つのCSS、xPath 1 & 2、JSON Path/JQセレクタを指定してください。一致した<strong>すべての</strong>ルールが使用されます。"
|
||||
|
||||
Binary file not shown.
@@ -160,8 +160,8 @@ msgstr "목록의 처음 5,000개 URL만 가져옵니다. 나머지는 다시
|
||||
|
||||
#: changedetectionio/blueprint/imports/importer.py
|
||||
#, python-brace-format
|
||||
msgid "{count} Imported from list in {duration}s, {skipped_count} Skipped."
|
||||
msgstr "목록에서 {count}개를 {duration}초 만에 가져왔습니다. {skipped_count}개는 건너뛰었습니다."
|
||||
msgid "{} Imported from list in {:.2f}s, {} Skipped."
|
||||
msgstr "목록에서 {}개를 {:.2f}초 만에 가져왔습니다. {}개는 건너뛰었습니다."
|
||||
|
||||
#: changedetectionio/blueprint/imports/importer.py
|
||||
msgid "Unable to read JSON file, was it broken?"
|
||||
@@ -173,8 +173,8 @@ msgstr "JSON 구조가 올바르지 않습니다. 파일이 손상되었나요?"
|
||||
|
||||
#: changedetectionio/blueprint/imports/importer.py
|
||||
#, python-brace-format
|
||||
msgid "{count} Imported from Distill.io in {duration}s, {skipped_count} Skipped."
|
||||
msgstr "Distill.io에서 {count}개를 {duration}초 만에 가져왔습니다. {skipped_count}개는 건너뛰었습니다."
|
||||
msgid "{} Imported from Distill.io in {:.2f}s, {} Skipped."
|
||||
msgstr "Distill.io에서 {}개를 {:.2f}초 만에 가져왔습니다. {}개는 건너뛰었습니다."
|
||||
|
||||
#: changedetectionio/blueprint/imports/importer.py
|
||||
msgid "Unable to read export XLSX file, something wrong with the file?"
|
||||
@@ -192,18 +192,22 @@ msgstr "{}행 처리 중 오류가 발생했습니다. 모든 셀 데이터 형
|
||||
|
||||
#: changedetectionio/blueprint/imports/importer.py
|
||||
#, python-brace-format
|
||||
msgid "{count} imported from Wachete .xlsx in {duration}s"
|
||||
msgstr "Wachete .xlsx에서 {count}개를 {duration}초 만에 가져왔습니다."
|
||||
msgid "{} imported from Wachete .xlsx in {:.2f}s"
|
||||
msgstr "Wachete .xlsx에서 {}개를 {:.2f}초 만에 가져왔습니다."
|
||||
|
||||
#: changedetectionio/blueprint/imports/importer.py
|
||||
#, python-brace-format
|
||||
msgid "{count} imported from custom .xlsx in {duration}s"
|
||||
msgstr "사용자 지정 .xlsx에서 {count}개를 {duration}초 만에 가져왔습니다."
|
||||
msgid "{} imported from custom .xlsx in {:.2f}s"
|
||||
msgstr "사용자 지정 .xlsx에서 {}개를 {:.2f}초 만에 가져왔습니다."
|
||||
|
||||
#: changedetectionio/blueprint/imports/templates/import.html
|
||||
msgid "URL List"
|
||||
msgstr "URL 목록"
|
||||
|
||||
#: changedetectionio/blueprint/imports/templates/import.html
|
||||
msgid "Distill.io"
|
||||
msgstr "Distill.io"
|
||||
|
||||
#: changedetectionio/blueprint/imports/templates/import.html
|
||||
msgid ".XLSX & Wachete"
|
||||
msgstr ".XLSX 및 Wachete"
|
||||
@@ -237,7 +241,6 @@ msgstr "유효성 검사를 통과하지 못한 URL은 텍스트 영역에 유
|
||||
msgid "Copy and Paste your Distill.io watch 'export' file, this should be a JSON file."
|
||||
msgstr "Distill.io 모니터링 '내보내기' 파일을 복사해 붙여 넣어 주세요. JSON 파일이어야 합니다."
|
||||
|
||||
#. CJK fonts lack native italics; allow substitution with conventional local styling. dennis-ignore: W303
|
||||
#: changedetectionio/blueprint/imports/templates/import.html
|
||||
msgid ""
|
||||
"This is <i>experimental</i>, supported fields are <code>name</code>, <code>uri</code>, <code>tags</code>, "
|
||||
@@ -310,8 +313,8 @@ msgstr "비밀번호 보호가 해제되었습니다."
|
||||
|
||||
#: changedetectionio/blueprint/settings/__init__.py
|
||||
#, python-brace-format
|
||||
msgid "Warning: Worker count ({worker_count}) is close to or exceeds available CPU cores ({cpu_count})"
|
||||
msgstr "경고: 워커 수({worker_count})가 사용 가능한 CPU 코어 수({cpu_count})에 근접하거나 초과합니다"
|
||||
msgid "Warning: Worker count ({}) is close to or exceeds available CPU cores ({})"
|
||||
msgstr "경고: 워커 수({})가 사용 가능한 CPU 코어 수({})에 근접하거나 초과합니다"
|
||||
|
||||
#: changedetectionio/blueprint/settings/__init__.py
|
||||
#, python-brace-format
|
||||
@@ -365,9 +368,9 @@ msgid "AI / LLM configuration removed."
|
||||
msgstr "AI / LLM 설정이 제거되었습니다."
|
||||
|
||||
#: changedetectionio/blueprint/settings/llm.py
|
||||
#, python-brace-format
|
||||
msgid "AI summary cache cleared ({} file(s) removed)."
|
||||
msgstr "AI 요약 캐시가 지워졌습니다({}개 파일 제거됨)."
|
||||
#, python-format
|
||||
msgid "AI summary cache cleared (%(n)s file(s) removed)."
|
||||
msgstr "AI 요약 캐시가 지워졌습니다(%(n)s개 파일 제거됨)."
|
||||
|
||||
#: changedetectionio/blueprint/settings/templates/notification-log.html
|
||||
msgid "Notification debug log"
|
||||
@@ -390,6 +393,14 @@ msgstr "전역 필터"
|
||||
msgid "UI Options"
|
||||
msgstr "UI 옵션"
|
||||
|
||||
#: changedetectionio/blueprint/settings/templates/settings.html
|
||||
msgid "API"
|
||||
msgstr "API"
|
||||
|
||||
#: changedetectionio/blueprint/settings/templates/settings.html
|
||||
msgid "RSS"
|
||||
msgstr "RSS"
|
||||
|
||||
#: changedetectionio/blueprint/settings/templates/settings.html
|
||||
msgid "Backups"
|
||||
msgstr "백업"
|
||||
@@ -1066,8 +1077,8 @@ msgstr "(<code>LLM_MAX_INPUT_CHARS</code>로 설정됨)"
|
||||
|
||||
#: changedetectionio/blueprint/settings/templates/settings_llm_tab.html
|
||||
#, python-format
|
||||
msgid "characters — currently enforcing: %(limit)s"
|
||||
msgstr "문자 - 현재 적용 중: %(limit)s"
|
||||
msgid "characters — currently enforcing: %(n)s"
|
||||
msgstr "문자 - 현재 적용 중: %(n)s"
|
||||
|
||||
#: changedetectionio/blueprint/settings/templates/settings_llm_tab.html
|
||||
msgid "No AI usage recorded yet."
|
||||
@@ -1208,7 +1219,6 @@ msgstr "사용자 지정 색상"
|
||||
msgid "Leave unchecked to use the auto-generated colour based on the tag name."
|
||||
msgstr "체크하지 않으면 태그 이름을 기준으로 자동 생성된 색상을 사용합니다."
|
||||
|
||||
#. CJK fonts lack native italics; allow substitution with conventional local styling. dennis-ignore: W303
|
||||
#: changedetectionio/blueprint/tags/templates/edit-tag.html
|
||||
msgid "These settings are <strong><i>added</i></strong> to any existing watch configurations."
|
||||
msgstr "이 설정은 기존 모니터링 설정에 <strong><i>추가</i></strong>됩니다."
|
||||
@@ -1425,8 +1435,8 @@ msgstr "모니터링 1개를 재확인 대기열에 추가했습니다."
|
||||
|
||||
#: changedetectionio/blueprint/ui/__init__.py
|
||||
#, python-brace-format
|
||||
msgid "Queued {count} watches for rechecking ({skipped_count} already queued or running)."
|
||||
msgstr "{count}개 모니터링을 재확인 대기열에 추가했습니다. ({skipped_count}개는 이미 대기 중이거나 실행 중)"
|
||||
msgid "Queued {} watches for rechecking ({} already queued or running)."
|
||||
msgstr "{}개 모니터링을 재확인 대기열에 추가했습니다. ({}개는 이미 대기 중이거나 실행 중)"
|
||||
|
||||
#: changedetectionio/blueprint/ui/__init__.py
|
||||
#, python-brace-format
|
||||
@@ -1915,7 +1925,6 @@ msgid ""
|
||||
"lines against all history for this watch."
|
||||
msgstr "사이트가 콘텐츠 위치만 자주 바꾸고 새 콘텐츠가 추가될 때만 알고 싶을 때 유용합니다. 새 줄을 이 모니터링의 전체 기록과 비교합니다."
|
||||
|
||||
#. CJK fonts lack native italics; allow substitution with conventional local styling. dennis-ignore: W303
|
||||
#: changedetectionio/blueprint/ui/templates/edit.html
|
||||
msgid "Helps reduce changes detected caused by sites shuffling lines around, combine with <i>check unique lines</i> below."
|
||||
msgstr "사이트가 줄 순서를 섞어 발생하는 변경 감지를 줄이는 데 도움이 됩니다. 아래의 <i>고유한 줄 확인</i>과 함께 사용해 보세요."
|
||||
@@ -2173,7 +2182,6 @@ msgstr "기록 지우기"
|
||||
msgid "<p>Are you sure you want to clear history for the selected items?</p><p>This action cannot be undone.</p>"
|
||||
msgstr "<p>선택한 항목의 기록을 지우시겠습니까?</p><p>이 작업은 되돌릴 수 없습니다.</p>"
|
||||
|
||||
#. Universally recognized; typically left as-is. dennis-ignore: W302
|
||||
#: changedetectionio/blueprint/watchlist/templates/watch-overview.html
|
||||
msgid "OK"
|
||||
msgstr "확인"
|
||||
@@ -2187,8 +2195,8 @@ msgid "Delete Watches?"
|
||||
msgstr "모니터링을 삭제하시겠습니까?"
|
||||
|
||||
#: changedetectionio/blueprint/watchlist/templates/watch-overview.html
|
||||
msgid "<p><strong>Are you sure you want to delete the selected watches?</strong></p><p>This action cannot be undone.</p>"
|
||||
msgstr "<p><strong>선택한 모니터링을 삭제하시겠습니까?</strong></p><p>이 작업은 되돌릴 수 없습니다.</p>"
|
||||
msgid "<p>Are you sure you want to delete the selected watches?</strong></p><p>This action cannot be undone.</p>"
|
||||
msgstr "<p>선택한 모니터링을 삭제하시겠습니까?</p><p>이 작업은 되돌릴 수 없습니다.</p>"
|
||||
|
||||
#: changedetectionio/blueprint/watchlist/templates/watch-overview.html
|
||||
msgid "Queued size"
|
||||
@@ -2664,18 +2672,18 @@ msgstr "정규식 '%s'은(는) 유효하지 않습니다."
|
||||
|
||||
#: changedetectionio/forms.py
|
||||
#, python-format
|
||||
msgid "'%(expression)s' is not a valid XPath expression. (%(error)s)"
|
||||
msgstr "'%(expression)s'은(는) 유효한 XPath 표현식이 아닙니다. (%(error)s)"
|
||||
msgid "'%s' is not a valid XPath expression. (%s)"
|
||||
msgstr "'%s'은(는) 유효한 XPath 표현식이 아닙니다. (%s)"
|
||||
|
||||
#: changedetectionio/forms.py
|
||||
#, python-format
|
||||
msgid "'%(expression)s' is not a valid JSONPath expression. (%(error)s)"
|
||||
msgstr "'%(expression)s'은(는) 유효한 JSONPath 표현식이 아닙니다. (%(error)s)"
|
||||
msgid "'%s' is not a valid JSONPath expression. (%s)"
|
||||
msgstr "'%s'은(는) 유효한 JSONPath 표현식이 아닙니다. (%s)"
|
||||
|
||||
#: changedetectionio/forms.py
|
||||
#, python-format
|
||||
msgid "'%(expression)s' is not a valid jq expression. (%(error)s)"
|
||||
msgstr "'%(expression)s'은(는) 유효한 jq 표현식이 아닙니다. (%(error)s)"
|
||||
msgid "'%s' is not a valid jq expression. (%s)"
|
||||
msgstr "'%s'은(는) 유효한 jq 표현식이 아닙니다. (%s)"
|
||||
|
||||
#: changedetectionio/forms.py
|
||||
msgid "Empty value not allowed."
|
||||
@@ -2685,6 +2693,10 @@ msgstr "빈 값은 허용되지 않습니다."
|
||||
msgid "Invalid value."
|
||||
msgstr "값이 잘못되었습니다."
|
||||
|
||||
#: changedetectionio/blueprint/imports/templates/import.html changedetectionio/forms.py
|
||||
msgid "URL"
|
||||
msgstr "URL"
|
||||
|
||||
#: changedetectionio/forms.py
|
||||
msgid "Group tag"
|
||||
msgstr "그룹 / 태그"
|
||||
@@ -2920,7 +2932,6 @@ msgstr "다음 모두와 일치"
|
||||
msgid "Match any of the following"
|
||||
msgstr "다음 중 하나와 일치"
|
||||
|
||||
#. dennis-ignore: W303 - False positive caused by <title>. https://github.com/mozilla/dennis/issues/213
|
||||
#: changedetectionio/forms.py
|
||||
msgid "Use page <title> in list"
|
||||
msgstr "목록에 페이지 <title> 사용"
|
||||
@@ -3020,7 +3031,6 @@ msgstr "실시간 UI 업데이트 활성화"
|
||||
msgid "Favicons Enabled"
|
||||
msgstr "파비콘 활성화"
|
||||
|
||||
#. dennis-ignore: W303 - False positive caused by <title>. https://github.com/mozilla/dennis/issues/213
|
||||
#: changedetectionio/forms.py
|
||||
msgid "Use page <title> in watch overview list"
|
||||
msgstr "모니터링 목록에 페이지 <title> 사용"
|
||||
@@ -3375,8 +3385,8 @@ msgstr "모니터링 프로토콜이 허용되지 않거나 URL 형식이 올바
|
||||
|
||||
#: changedetectionio/store/__init__.py
|
||||
#, python-brace-format
|
||||
msgid "Watch limit reached ({current}/{limit} watches). Cannot add more watches."
|
||||
msgstr "모니터링 한도에 도달했습니다. ({current}/{limit}개) 더 이상 모니터링을 추가할 수 없습니다."
|
||||
msgid "Watch limit reached ({}/{} watches). Cannot add more watches."
|
||||
msgstr "모니터링 한도에 도달했습니다. ({}/{}개) 더 이상 모니터링을 추가할 수 없습니다."
|
||||
|
||||
#: changedetectionio/templates/_common_fields.html
|
||||
msgid "Body for all notifications — You can use"
|
||||
@@ -3410,10 +3420,9 @@ msgstr "모니터링 중인 URL입니다."
|
||||
msgid "The UUID of the watch."
|
||||
msgstr "모니터링 UUID입니다."
|
||||
|
||||
#. dennis-ignore: W303 - False positive caused by <title>. https://github.com/mozilla/dennis/issues/213
|
||||
#: changedetectionio/templates/_common_fields.html
|
||||
msgid "The page title of the watch, uses <title> if not set, falls back to URL"
|
||||
msgstr "모니터링의 페이지 제목입니다. 설정되지 않았으면 <title> 을 사용하고, 없으면 URL을 사용합니다."
|
||||
msgstr "모니터링의 페이지 제목입니다. 설정되지 않았으면 <title>을 사용하고, 없으면 URL을 사용합니다."
|
||||
|
||||
#: changedetectionio/templates/_common_fields.html
|
||||
msgid "The watch group / tag"
|
||||
@@ -3547,7 +3556,6 @@ msgstr "더보기"
|
||||
msgid "Use <a target=\"newwindow\" href=\"%(url)s\">AppRise Notification URLs</a> for notification to just about any service!"
|
||||
msgstr "거의 모든 서비스에 알림을 보내려면 <a target=\"newwindow\" href=\"%(url)s\">AppRise 알림 URL</a>을 사용하세요."
|
||||
|
||||
#. CJK fonts lack native italics; allow substitution with conventional local styling. dennis-ignore: W303
|
||||
#: changedetectionio/templates/_common_fields.html
|
||||
msgid "<i>Please read the notification services wiki here for important configuration notes</i>"
|
||||
msgstr "<i>중요한 설정 참고 사항은 여기의 알림 서비스 위키를 읽어 주세요</i>"
|
||||
@@ -3835,7 +3843,7 @@ msgstr "이 태그/그룹의 모든 모니터링에 판단 기준을 설정합
|
||||
#: changedetectionio/templates/edit/include_llm_intent.html
|
||||
#, python-format
|
||||
msgid "From group '%(name)s': %(value)s"
|
||||
msgstr ""
|
||||
msgstr "'%(name)s' 그룹에서 가져옴: %(value)s"
|
||||
|
||||
#: changedetectionio/templates/edit/include_llm_intent.html
|
||||
msgid "e.g. Alert me when the price drops below $300, or a new product is launched. Ignore footer and navigation changes."
|
||||
@@ -3909,7 +3917,6 @@ msgstr "이 그룹의 AI 기능을 사용하려면 <a href=\"%(url)s\">설정
|
||||
msgid "Note!: //text() function does not work where the <element> contains <![CDATA[]]>"
|
||||
msgstr "참고: <element>에 <![CDATA[]]>가 포함된 경우 //text() 함수는 동작하지 않습니다."
|
||||
|
||||
#. CJK fonts lack native italics; allow substitution with conventional local styling. dennis-ignore: W303
|
||||
#: changedetectionio/templates/edit/include_subtract.html
|
||||
msgid "One CSS, xPath 1 & 2, JSON Path/JQ selector per line, <i>any</i> rules that matches will be used."
|
||||
msgstr "한 줄에 CSS, XPath 1/2, JSON Path/JQ 선택자를 하나씩 입력하세요. 일치하는 규칙은 <i>모두</i> 사용됩니다."
|
||||
|
||||
@@ -8,7 +8,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: changedetection.io 0.55.3\n"
|
||||
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
|
||||
"POT-Creation-Date: 2026-05-02 18:29+0900\n"
|
||||
"POT-Creation-Date: 2026-04-28 16:31+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"
|
||||
@@ -159,7 +159,7 @@ msgstr ""
|
||||
|
||||
#: changedetectionio/blueprint/imports/importer.py
|
||||
#, python-brace-format
|
||||
msgid "{count} Imported from list in {duration}s, {skipped_count} Skipped."
|
||||
msgid "{} Imported from list in {:.2f}s, {} Skipped."
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/blueprint/imports/importer.py
|
||||
@@ -172,7 +172,7 @@ msgstr ""
|
||||
|
||||
#: changedetectionio/blueprint/imports/importer.py
|
||||
#, python-brace-format
|
||||
msgid "{count} Imported from Distill.io in {duration}s, {skipped_count} Skipped."
|
||||
msgid "{} Imported from Distill.io in {:.2f}s, {} Skipped."
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/blueprint/imports/importer.py
|
||||
@@ -191,18 +191,22 @@ msgstr ""
|
||||
|
||||
#: changedetectionio/blueprint/imports/importer.py
|
||||
#, python-brace-format
|
||||
msgid "{count} imported from Wachete .xlsx in {duration}s"
|
||||
msgid "{} imported from Wachete .xlsx in {:.2f}s"
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/blueprint/imports/importer.py
|
||||
#, python-brace-format
|
||||
msgid "{count} imported from custom .xlsx in {duration}s"
|
||||
msgid "{} imported from custom .xlsx in {:.2f}s"
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/blueprint/imports/templates/import.html
|
||||
msgid "URL List"
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/blueprint/imports/templates/import.html
|
||||
msgid "Distill.io"
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/blueprint/imports/templates/import.html
|
||||
msgid ".XLSX & Wachete"
|
||||
msgstr ""
|
||||
@@ -236,7 +240,6 @@ msgstr ""
|
||||
msgid "Copy and Paste your Distill.io watch 'export' file, this should be a JSON file."
|
||||
msgstr ""
|
||||
|
||||
#. CJK fonts lack native italics; allow substitution with conventional local styling. dennis-ignore: W303
|
||||
#: changedetectionio/blueprint/imports/templates/import.html
|
||||
msgid ""
|
||||
"This is <i>experimental</i>, supported fields are <code>name</code>, <code>uri</code>, <code>tags</code>, "
|
||||
@@ -307,7 +310,7 @@ msgstr ""
|
||||
|
||||
#: changedetectionio/blueprint/settings/__init__.py
|
||||
#, python-brace-format
|
||||
msgid "Warning: Worker count ({worker_count}) is close to or exceeds available CPU cores ({cpu_count})"
|
||||
msgid "Warning: Worker count ({}) is close to or exceeds available CPU cores ({})"
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/blueprint/settings/__init__.py
|
||||
@@ -362,8 +365,8 @@ msgid "AI / LLM configuration removed."
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/blueprint/settings/llm.py
|
||||
#, python-brace-format
|
||||
msgid "AI summary cache cleared ({} file(s) removed)."
|
||||
#, python-format
|
||||
msgid "AI summary cache cleared (%(n)s file(s) removed)."
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/blueprint/settings/templates/notification-log.html
|
||||
@@ -387,6 +390,14 @@ msgstr ""
|
||||
msgid "UI Options"
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/blueprint/settings/templates/settings.html
|
||||
msgid "API"
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/blueprint/settings/templates/settings.html
|
||||
msgid "RSS"
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/blueprint/settings/templates/settings.html
|
||||
msgid "Backups"
|
||||
msgstr ""
|
||||
@@ -1057,7 +1068,7 @@ msgstr ""
|
||||
|
||||
#: changedetectionio/blueprint/settings/templates/settings_llm_tab.html
|
||||
#, python-format
|
||||
msgid "characters — currently enforcing: %(limit)s"
|
||||
msgid "characters — currently enforcing: %(n)s"
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/blueprint/settings/templates/settings_llm_tab.html
|
||||
@@ -1199,7 +1210,6 @@ msgstr ""
|
||||
msgid "Leave unchecked to use the auto-generated colour based on the tag name."
|
||||
msgstr ""
|
||||
|
||||
#. CJK fonts lack native italics; allow substitution with conventional local styling. dennis-ignore: W303
|
||||
#: changedetectionio/blueprint/tags/templates/edit-tag.html
|
||||
msgid "These settings are <strong><i>added</i></strong> to any existing watch configurations."
|
||||
msgstr ""
|
||||
@@ -1414,7 +1424,7 @@ msgstr ""
|
||||
|
||||
#: changedetectionio/blueprint/ui/__init__.py
|
||||
#, python-brace-format
|
||||
msgid "Queued {count} watches for rechecking ({skipped_count} already queued or running)."
|
||||
msgid "Queued {} watches for rechecking ({} already queued or running)."
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/blueprint/ui/__init__.py
|
||||
@@ -1904,7 +1914,6 @@ msgid ""
|
||||
"lines against all history for this watch."
|
||||
msgstr ""
|
||||
|
||||
#. CJK fonts lack native italics; allow substitution with conventional local styling. dennis-ignore: W303
|
||||
#: changedetectionio/blueprint/ui/templates/edit.html
|
||||
msgid "Helps reduce changes detected caused by sites shuffling lines around, combine with <i>check unique lines</i> below."
|
||||
msgstr ""
|
||||
@@ -2162,7 +2171,6 @@ msgstr ""
|
||||
msgid "<p>Are you sure you want to clear history for the selected items?</p><p>This action cannot be undone.</p>"
|
||||
msgstr ""
|
||||
|
||||
#. Universally recognized; typically left as-is. dennis-ignore: W302
|
||||
#: changedetectionio/blueprint/watchlist/templates/watch-overview.html
|
||||
msgid "OK"
|
||||
msgstr ""
|
||||
@@ -2176,7 +2184,7 @@ msgid "Delete Watches?"
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/blueprint/watchlist/templates/watch-overview.html
|
||||
msgid "<p><strong>Are you sure you want to delete the selected watches?</strong></p><p>This action cannot be undone.</p>"
|
||||
msgid "<p>Are you sure you want to delete the selected watches?</strong></p><p>This action cannot be undone.</p>"
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/blueprint/watchlist/templates/watch-overview.html
|
||||
@@ -2653,17 +2661,17 @@ msgstr ""
|
||||
|
||||
#: changedetectionio/forms.py
|
||||
#, python-format
|
||||
msgid "'%(expression)s' is not a valid XPath expression. (%(error)s)"
|
||||
msgid "'%s' is not a valid XPath expression. (%s)"
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/forms.py
|
||||
#, python-format
|
||||
msgid "'%(expression)s' is not a valid JSONPath expression. (%(error)s)"
|
||||
msgid "'%s' is not a valid JSONPath expression. (%s)"
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/forms.py
|
||||
#, python-format
|
||||
msgid "'%(expression)s' is not a valid jq expression. (%(error)s)"
|
||||
msgid "'%s' is not a valid jq expression. (%s)"
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/forms.py
|
||||
@@ -2674,6 +2682,10 @@ msgstr ""
|
||||
msgid "Invalid value."
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/blueprint/imports/templates/import.html changedetectionio/forms.py
|
||||
msgid "URL"
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/forms.py
|
||||
msgid "Group tag"
|
||||
msgstr ""
|
||||
@@ -2909,7 +2921,6 @@ msgstr ""
|
||||
msgid "Match any of the following"
|
||||
msgstr ""
|
||||
|
||||
#. dennis-ignore: W303 - False positive caused by <title>. https://github.com/mozilla/dennis/issues/213
|
||||
#: changedetectionio/forms.py
|
||||
msgid "Use page <title> in list"
|
||||
msgstr ""
|
||||
@@ -3009,7 +3020,6 @@ msgstr ""
|
||||
msgid "Favicons Enabled"
|
||||
msgstr ""
|
||||
|
||||
#. dennis-ignore: W303 - False positive caused by <title>. https://github.com/mozilla/dennis/issues/213
|
||||
#: changedetectionio/forms.py
|
||||
msgid "Use page <title> in watch overview list"
|
||||
msgstr ""
|
||||
@@ -3364,7 +3374,7 @@ msgstr ""
|
||||
|
||||
#: changedetectionio/store/__init__.py
|
||||
#, python-brace-format
|
||||
msgid "Watch limit reached ({current}/{limit} watches). Cannot add more watches."
|
||||
msgid "Watch limit reached ({}/{} watches). Cannot add more watches."
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/templates/_common_fields.html
|
||||
@@ -3399,7 +3409,6 @@ msgstr ""
|
||||
msgid "The UUID of the watch."
|
||||
msgstr ""
|
||||
|
||||
#. dennis-ignore: W303 - False positive caused by <title>. https://github.com/mozilla/dennis/issues/213
|
||||
#: changedetectionio/templates/_common_fields.html
|
||||
msgid "The page title of the watch, uses <title> if not set, falls back to URL"
|
||||
msgstr ""
|
||||
@@ -3536,7 +3545,6 @@ msgstr ""
|
||||
msgid "Use <a target=\"newwindow\" href=\"%(url)s\">AppRise Notification URLs</a> for notification to just about any service!"
|
||||
msgstr ""
|
||||
|
||||
#. CJK fonts lack native italics; allow substitution with conventional local styling. dennis-ignore: W303
|
||||
#: changedetectionio/templates/_common_fields.html
|
||||
msgid "<i>Please read the notification services wiki here for important configuration notes</i>"
|
||||
msgstr ""
|
||||
@@ -3898,7 +3906,6 @@ msgstr ""
|
||||
msgid "Note!: //text() function does not work where the <element> contains <![CDATA[]]>"
|
||||
msgstr ""
|
||||
|
||||
#. CJK fonts lack native italics; allow substitution with conventional local styling. dennis-ignore: W303
|
||||
#: changedetectionio/templates/edit/include_subtract.html
|
||||
msgid "One CSS, xPath 1 & 2, JSON Path/JQ selector per line, <i>any</i> rules that matches will be used."
|
||||
msgstr ""
|
||||
|
||||
Binary file not shown.
@@ -161,8 +161,8 @@ msgstr "Importando as primeiras 5.000 URLs da sua lista, o restante pode ser imp
|
||||
|
||||
#: changedetectionio/blueprint/imports/importer.py
|
||||
#, python-brace-format
|
||||
msgid "{count} Imported from list in {duration}s, {skipped_count} Skipped."
|
||||
msgstr "{count} Importados da lista em {duration}s, {skipped_count} Ignorados."
|
||||
msgid "{} Imported from list in {:.2f}s, {} Skipped."
|
||||
msgstr "{} Importados da lista em {:.2f}s, {} Ignorados."
|
||||
|
||||
#: changedetectionio/blueprint/imports/importer.py
|
||||
msgid "Unable to read JSON file, was it broken?"
|
||||
@@ -174,8 +174,8 @@ msgstr "A estrutura do JSON parece inválida, ele está corrompido?"
|
||||
|
||||
#: changedetectionio/blueprint/imports/importer.py
|
||||
#, python-brace-format
|
||||
msgid "{count} Imported from Distill.io in {duration}s, {skipped_count} Skipped."
|
||||
msgstr "{count} Importados do Distill.io em {duration}s, {skipped_count} Ignorados."
|
||||
msgid "{} Imported from Distill.io in {:.2f}s, {} Skipped."
|
||||
msgstr "{} Importados do Distill.io em {:.2f}s, {} Ignorados."
|
||||
|
||||
#: changedetectionio/blueprint/imports/importer.py
|
||||
msgid "Unable to read export XLSX file, something wrong with the file?"
|
||||
@@ -193,18 +193,22 @@ msgstr "Erro ao processar a linha {}, verifique se os tipos de dados das célula
|
||||
|
||||
#: changedetectionio/blueprint/imports/importer.py
|
||||
#, python-brace-format
|
||||
msgid "{count} imported from Wachete .xlsx in {duration}s"
|
||||
msgstr "{count} importados do Wachete .xlsx em {duration}s"
|
||||
msgid "{} imported from Wachete .xlsx in {:.2f}s"
|
||||
msgstr "{} importados do Wachete .xlsx em {:.2f}s"
|
||||
|
||||
#: changedetectionio/blueprint/imports/importer.py
|
||||
#, python-brace-format
|
||||
msgid "{count} imported from custom .xlsx in {duration}s"
|
||||
msgstr "{count} importados do .xlsx personalizado em {duration}s"
|
||||
msgid "{} imported from custom .xlsx in {:.2f}s"
|
||||
msgstr "{} importados do .xlsx personalizado em {:.2f}s"
|
||||
|
||||
#: changedetectionio/blueprint/imports/templates/import.html
|
||||
msgid "URL List"
|
||||
msgstr "Lista de URLs"
|
||||
|
||||
#: changedetectionio/blueprint/imports/templates/import.html
|
||||
msgid "Distill.io"
|
||||
msgstr "Distill.io"
|
||||
|
||||
#: changedetectionio/blueprint/imports/templates/import.html
|
||||
msgid ".XLSX & Wachete"
|
||||
msgstr ".XLSX & Wachete"
|
||||
@@ -238,7 +242,6 @@ msgstr "URLs que não passarem na validação permanecerão na caixa de texto."
|
||||
msgid "Copy and Paste your Distill.io watch 'export' file, this should be a JSON file."
|
||||
msgstr "Copie e cole seu arquivo de 'exportação' do Distill.io, que deve ser um arquivo JSON."
|
||||
|
||||
#. CJK fonts lack native italics; allow substitution with conventional local styling. dennis-ignore: W303
|
||||
#: changedetectionio/blueprint/imports/templates/import.html
|
||||
msgid ""
|
||||
"This is <i>experimental</i>, supported fields are <code>name</code>, <code>uri</code>, <code>tags</code>, "
|
||||
@@ -313,8 +316,8 @@ msgstr "Proteção por senha removida."
|
||||
|
||||
#: changedetectionio/blueprint/settings/__init__.py
|
||||
#, python-brace-format
|
||||
msgid "Warning: Worker count ({worker_count}) is close to or exceeds available CPU cores ({cpu_count})"
|
||||
msgstr "Aviso: O número de workers ({worker_count}) está próximo ou excede os núcleos de CPU disponíveis ({cpu_count})"
|
||||
msgid "Warning: Worker count ({}) is close to or exceeds available CPU cores ({})"
|
||||
msgstr "Aviso: O número de workers ({}) está próximo ou excede os núcleos de CPU disponíveis ({})"
|
||||
|
||||
#: changedetectionio/blueprint/settings/__init__.py
|
||||
#, python-brace-format
|
||||
@@ -368,8 +371,8 @@ msgid "AI / LLM configuration removed."
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/blueprint/settings/llm.py
|
||||
#, python-brace-format
|
||||
msgid "AI summary cache cleared ({} file(s) removed)."
|
||||
#, python-format
|
||||
msgid "AI summary cache cleared (%(n)s file(s) removed)."
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/blueprint/settings/templates/notification-log.html
|
||||
@@ -393,6 +396,14 @@ msgstr "Filtros Globais"
|
||||
msgid "UI Options"
|
||||
msgstr "Opções de Interface"
|
||||
|
||||
#: changedetectionio/blueprint/settings/templates/settings.html
|
||||
msgid "API"
|
||||
msgstr "API"
|
||||
|
||||
#: changedetectionio/blueprint/settings/templates/settings.html
|
||||
msgid "RSS"
|
||||
msgstr "RSS"
|
||||
|
||||
#: changedetectionio/blueprint/settings/templates/settings.html
|
||||
msgid "Backups"
|
||||
msgstr "Backups"
|
||||
@@ -1083,7 +1094,7 @@ msgstr ""
|
||||
|
||||
#: changedetectionio/blueprint/settings/templates/settings_llm_tab.html
|
||||
#, python-format
|
||||
msgid "characters — currently enforcing: %(limit)s"
|
||||
msgid "characters — currently enforcing: %(n)s"
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/blueprint/settings/templates/settings_llm_tab.html
|
||||
@@ -1225,7 +1236,6 @@ msgstr ""
|
||||
msgid "Leave unchecked to use the auto-generated colour based on the tag name."
|
||||
msgstr ""
|
||||
|
||||
#. CJK fonts lack native italics; allow substitution with conventional local styling. dennis-ignore: W303
|
||||
#: changedetectionio/blueprint/tags/templates/edit-tag.html
|
||||
msgid "These settings are <strong><i>added</i></strong> to any existing watch configurations."
|
||||
msgstr "Estas configurações são <strong><i>adicionadas</i></strong> a quaisquer configurações de monitoramento existentes."
|
||||
@@ -1447,8 +1457,8 @@ msgstr "1 monitoramento enfileirado para rechecagem."
|
||||
|
||||
#: changedetectionio/blueprint/ui/__init__.py
|
||||
#, python-brace-format
|
||||
msgid "Queued {count} watches for rechecking ({skipped_count} already queued or running)."
|
||||
msgstr "{count} monitoramentos enfileirados para rechecagem ({skipped_count} já na fila ou rodando)."
|
||||
msgid "Queued {} watches for rechecking ({} already queued or running)."
|
||||
msgstr "{} monitoramentos enfileirados para rechecagem ({} já na fila ou rodando)."
|
||||
|
||||
#: changedetectionio/blueprint/ui/__init__.py
|
||||
#, python-brace-format
|
||||
@@ -1949,7 +1959,6 @@ msgstr ""
|
||||
"Útil para sites que apenas movem o conteúdo de lugar. Se você quer saber quando um NOVO conteúdo é adicionado, isso "
|
||||
"compara novas linhas contra todo o histórico."
|
||||
|
||||
#. CJK fonts lack native italics; allow substitution with conventional local styling. dennis-ignore: W303
|
||||
#: changedetectionio/blueprint/ui/templates/edit.html
|
||||
msgid "Helps reduce changes detected caused by sites shuffling lines around, combine with <i>check unique lines</i> below."
|
||||
msgstr ""
|
||||
@@ -2211,7 +2220,6 @@ msgstr "Limpar Históricos"
|
||||
msgid "<p>Are you sure you want to clear history for the selected items?</p><p>This action cannot be undone.</p>"
|
||||
msgstr "<p>Tem certeza que deseja limpar o histórico para os itens selecionados?</p><p>Esta ação não pode ser desfeita.</p>"
|
||||
|
||||
#. Universally recognized; typically left as-is. dennis-ignore: W302
|
||||
#: changedetectionio/blueprint/watchlist/templates/watch-overview.html
|
||||
msgid "OK"
|
||||
msgstr "OK"
|
||||
@@ -2225,10 +2233,8 @@ msgid "Delete Watches?"
|
||||
msgstr "Excluir Monitoramentos?"
|
||||
|
||||
#: changedetectionio/blueprint/watchlist/templates/watch-overview.html
|
||||
msgid "<p><strong>Are you sure you want to delete the selected watches?</strong></p><p>This action cannot be undone.</p>"
|
||||
msgstr ""
|
||||
"<p><strong>Tem certeza que deseja excluir os monitoramentos selecionados?</strong></p><p>Esta ação não pode ser "
|
||||
"desfeita.</p>"
|
||||
msgid "<p>Are you sure you want to delete the selected watches?</strong></p><p>This action cannot be undone.</p>"
|
||||
msgstr "<p>Tem certeza que deseja excluir os monitoramentos selecionados?</strong></p><p>Esta ação não pode ser desfeita.</p>"
|
||||
|
||||
#: changedetectionio/blueprint/watchlist/templates/watch-overview.html
|
||||
msgid "Queued size"
|
||||
@@ -2704,18 +2710,18 @@ msgstr "RegEx '%s' não é uma expressão regular válida."
|
||||
|
||||
#: changedetectionio/forms.py
|
||||
#, python-format
|
||||
msgid "'%(expression)s' is not a valid XPath expression. (%(error)s)"
|
||||
msgstr "'%(expression)s' não é uma expressão XPath válida. (%(error)s)"
|
||||
msgid "'%s' is not a valid XPath expression. (%s)"
|
||||
msgstr "'%s' não é uma expressão XPath válida. (%s)"
|
||||
|
||||
#: changedetectionio/forms.py
|
||||
#, python-format
|
||||
msgid "'%(expression)s' is not a valid JSONPath expression. (%(error)s)"
|
||||
msgstr "'%(expression)s' não é uma expressão JSONPath válida. (%(error)s)"
|
||||
msgid "'%s' is not a valid JSONPath expression. (%s)"
|
||||
msgstr "'%s' não é uma expressão JSONPath válida. (%s)"
|
||||
|
||||
#: changedetectionio/forms.py
|
||||
#, python-format
|
||||
msgid "'%(expression)s' is not a valid jq expression. (%(error)s)"
|
||||
msgstr "'%(expression)s' não é uma expressão jq válida. (%(error)s)"
|
||||
msgid "'%s' is not a valid jq expression. (%s)"
|
||||
msgstr "'%s' não é uma expressão jq válida. (%s)"
|
||||
|
||||
#: changedetectionio/forms.py
|
||||
msgid "Empty value not allowed."
|
||||
@@ -2725,6 +2731,10 @@ msgstr "Valor vazio não permitido."
|
||||
msgid "Invalid value."
|
||||
msgstr "Valor inválido."
|
||||
|
||||
#: changedetectionio/blueprint/imports/templates/import.html changedetectionio/forms.py
|
||||
msgid "URL"
|
||||
msgstr "URL"
|
||||
|
||||
#: changedetectionio/forms.py
|
||||
msgid "Group tag"
|
||||
msgstr "Tag de grupo"
|
||||
@@ -2960,7 +2970,6 @@ msgstr "Corresponder a TODOS os seguintes"
|
||||
msgid "Match any of the following"
|
||||
msgstr "Corresponder a QUALQUER um dos seguintes"
|
||||
|
||||
#. dennis-ignore: W303 - False positive caused by <title>. https://github.com/mozilla/dennis/issues/213
|
||||
#: changedetectionio/forms.py
|
||||
msgid "Use page <title> in list"
|
||||
msgstr "Usar <title> da página na lista"
|
||||
@@ -3060,7 +3069,6 @@ msgstr "Atualizações de Interface em Tempo Real Ativadas"
|
||||
msgid "Favicons Enabled"
|
||||
msgstr "Favicons Ativados"
|
||||
|
||||
#. dennis-ignore: W303 - False positive caused by <title>. https://github.com/mozilla/dennis/issues/213
|
||||
#: changedetectionio/forms.py
|
||||
msgid "Use page <title> in watch overview list"
|
||||
msgstr "Usar <title> da página na lista de visão geral"
|
||||
@@ -3415,8 +3423,8 @@ msgstr "O protocolo de monitoramento não é permitido ou o formato da URL é in
|
||||
|
||||
#: changedetectionio/store/__init__.py
|
||||
#, python-brace-format
|
||||
msgid "Watch limit reached ({current}/{limit} watches). Cannot add more watches."
|
||||
msgstr "Limite de monitoramentos atingido ({current}/{limit}). Não é possível adicionar mais."
|
||||
msgid "Watch limit reached ({}/{} watches). Cannot add more watches."
|
||||
msgstr "Limite de monitoramentos atingido ({}/{}). Não é possível adicionar mais."
|
||||
|
||||
#: changedetectionio/templates/_common_fields.html
|
||||
msgid "Body for all notifications — You can use"
|
||||
@@ -3450,7 +3458,6 @@ msgstr "A URL que está sendo monitorada."
|
||||
msgid "The UUID of the watch."
|
||||
msgstr "O UUID do monitoramento."
|
||||
|
||||
#. dennis-ignore: W303 - False positive caused by <title>. https://github.com/mozilla/dennis/issues/213
|
||||
#: changedetectionio/templates/_common_fields.html
|
||||
msgid "The page title of the watch, uses <title> if not set, falls back to URL"
|
||||
msgstr "O título da página do monitoramento, usa <title> se não definido, ou a URL"
|
||||
@@ -3589,7 +3596,6 @@ msgstr ""
|
||||
"Use as <a target=\"newwindow\" href=\"%(url)s\">URLs de Notificação AppRise</a> para enviar notificações para quase "
|
||||
"qualquer serviço!"
|
||||
|
||||
#. CJK fonts lack native italics; allow substitution with conventional local styling. dennis-ignore: W303
|
||||
#: changedetectionio/templates/_common_fields.html
|
||||
msgid "<i>Please read the notification services wiki here for important configuration notes</i>"
|
||||
msgstr "<i>Por favor, leia a wiki dos serviços de notificação aqui para notas importantes de configuração</i>"
|
||||
@@ -3951,7 +3957,6 @@ msgstr ""
|
||||
msgid "Note!: //text() function does not work where the <element> contains <![CDATA[]]>"
|
||||
msgstr ""
|
||||
|
||||
#. CJK fonts lack native italics; allow substitution with conventional local styling. dennis-ignore: W303
|
||||
#: changedetectionio/templates/edit/include_subtract.html
|
||||
msgid "One CSS, xPath 1 & 2, JSON Path/JQ selector per line, <i>any</i> rules that matches will be used."
|
||||
msgstr ""
|
||||
|
||||
Binary file not shown.
@@ -165,8 +165,8 @@ msgstr "Listenizden ilk 5.000 URL içe aktarılıyor, geri kalanı daha sonra te
|
||||
|
||||
#: changedetectionio/blueprint/imports/importer.py
|
||||
#, python-brace-format
|
||||
msgid "{count} Imported from list in {duration}s, {skipped_count} Skipped."
|
||||
msgstr "{count} kayıt listeden {duration} saniyede içe aktarıldı, {skipped_count} atlandı."
|
||||
msgid "{} Imported from list in {:.2f}s, {} Skipped."
|
||||
msgstr "{} kayıt listeden {:.2f} saniyede içe aktarıldı, {} atlandı."
|
||||
|
||||
#: changedetectionio/blueprint/imports/importer.py
|
||||
msgid "Unable to read JSON file, was it broken?"
|
||||
@@ -178,8 +178,8 @@ msgstr "JSON yapısı geçersiz görünüyor, bozuk olabilir mi?"
|
||||
|
||||
#: changedetectionio/blueprint/imports/importer.py
|
||||
#, python-brace-format
|
||||
msgid "{count} Imported from Distill.io in {duration}s, {skipped_count} Skipped."
|
||||
msgstr "{count} kayıt Distill.io'dan {duration} saniyede içe aktarıldı, {skipped_count} atlandı."
|
||||
msgid "{} Imported from Distill.io in {:.2f}s, {} Skipped."
|
||||
msgstr "{} kayıt Distill.io'dan {:.2f} saniyede içe aktarıldı, {} atlandı."
|
||||
|
||||
#: changedetectionio/blueprint/imports/importer.py
|
||||
msgid "Unable to read export XLSX file, something wrong with the file?"
|
||||
@@ -197,18 +197,22 @@ msgstr "Satır numarası {} işlenirken hata oluştu, tüm hücre veri tiplerini
|
||||
|
||||
#: changedetectionio/blueprint/imports/importer.py
|
||||
#, python-brace-format
|
||||
msgid "{count} imported from Wachete .xlsx in {duration}s"
|
||||
msgstr "{count} kayıt Wachete .xlsx dosyasından {duration} saniyede içe aktarıldı"
|
||||
msgid "{} imported from Wachete .xlsx in {:.2f}s"
|
||||
msgstr "{} kayıt Wachete .xlsx dosyasından {:.2f} saniyede içe aktarıldı"
|
||||
|
||||
#: changedetectionio/blueprint/imports/importer.py
|
||||
#, python-brace-format
|
||||
msgid "{count} imported from custom .xlsx in {duration}s"
|
||||
msgstr "{count} kayıt özel .xlsx dosyasından {duration} saniyede içe aktarıldı"
|
||||
msgid "{} imported from custom .xlsx in {:.2f}s"
|
||||
msgstr "{} kayıt özel .xlsx dosyasından {:.2f} saniyede içe aktarıldı"
|
||||
|
||||
#: changedetectionio/blueprint/imports/templates/import.html
|
||||
msgid "URL List"
|
||||
msgstr "URL Listesi"
|
||||
|
||||
#: changedetectionio/blueprint/imports/templates/import.html
|
||||
msgid "Distill.io"
|
||||
msgstr "Distill.io"
|
||||
|
||||
#: changedetectionio/blueprint/imports/templates/import.html
|
||||
msgid ".XLSX & Wachete"
|
||||
msgstr ".XLSX ve Wachete"
|
||||
@@ -244,7 +248,6 @@ msgstr "Doğrulamadan geçemeyen URL'ler metin alanında kalacaktır."
|
||||
msgid "Copy and Paste your Distill.io watch 'export' file, this should be a JSON file."
|
||||
msgstr "Distill.io izleyici 'dışa aktarım' dosyanızı kopyalayıp yapıştırın, bu bir JSON dosyası olmalıdır."
|
||||
|
||||
#. CJK fonts lack native italics; allow substitution with conventional local styling. dennis-ignore: W303
|
||||
#: changedetectionio/blueprint/imports/templates/import.html
|
||||
msgid ""
|
||||
"This is <i>experimental</i>, supported fields are <code>name</code>, <code>uri</code>, <code>tags</code>, "
|
||||
@@ -317,8 +320,8 @@ msgstr "Parola koruması kaldırıldı."
|
||||
|
||||
#: changedetectionio/blueprint/settings/__init__.py
|
||||
#, python-brace-format
|
||||
msgid "Warning: Worker count ({worker_count}) is close to or exceeds available CPU cores ({cpu_count})"
|
||||
msgstr "Uyarı: Çalışan sayısı ({worker_count}), mevcut CPU çekirdek sayısına ({cpu_count}) yakın veya bunu aşıyor"
|
||||
msgid "Warning: Worker count ({}) is close to or exceeds available CPU cores ({})"
|
||||
msgstr "Uyarı: Çalışan sayısı ({}), mevcut CPU çekirdek sayısına ({}) yakın veya bunu aşıyor"
|
||||
|
||||
#: changedetectionio/blueprint/settings/__init__.py
|
||||
#, python-brace-format
|
||||
@@ -372,8 +375,8 @@ msgid "AI / LLM configuration removed."
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/blueprint/settings/llm.py
|
||||
#, python-brace-format
|
||||
msgid "AI summary cache cleared ({} file(s) removed)."
|
||||
#, python-format
|
||||
msgid "AI summary cache cleared (%(n)s file(s) removed)."
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/blueprint/settings/templates/notification-log.html
|
||||
@@ -397,6 +400,14 @@ msgstr "Genel Filtreler"
|
||||
msgid "UI Options"
|
||||
msgstr "Arayüz Seçenekleri"
|
||||
|
||||
#: changedetectionio/blueprint/settings/templates/settings.html
|
||||
msgid "API"
|
||||
msgstr "API"
|
||||
|
||||
#: changedetectionio/blueprint/settings/templates/settings.html
|
||||
msgid "RSS"
|
||||
msgstr "RSS"
|
||||
|
||||
#: changedetectionio/blueprint/settings/templates/settings.html
|
||||
msgid "Backups"
|
||||
msgstr "Yedeklemeler"
|
||||
@@ -1093,7 +1104,7 @@ msgstr ""
|
||||
|
||||
#: changedetectionio/blueprint/settings/templates/settings_llm_tab.html
|
||||
#, python-format
|
||||
msgid "characters — currently enforcing: %(limit)s"
|
||||
msgid "characters — currently enforcing: %(n)s"
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/blueprint/settings/templates/settings_llm_tab.html
|
||||
@@ -1235,7 +1246,6 @@ msgstr ""
|
||||
msgid "Leave unchecked to use the auto-generated colour based on the tag name."
|
||||
msgstr ""
|
||||
|
||||
#. CJK fonts lack native italics; allow substitution with conventional local styling. dennis-ignore: W303
|
||||
#: changedetectionio/blueprint/tags/templates/edit-tag.html
|
||||
msgid "These settings are <strong><i>added</i></strong> to any existing watch configurations."
|
||||
msgstr "Bu ayarlar, mevcut izleyici yapılandırmalarına <strong><i>eklenerek</i></strong> uygulanır."
|
||||
@@ -1454,8 +1464,8 @@ msgstr "1 izleyici yeniden kontrol için sıraya alındı."
|
||||
|
||||
#: changedetectionio/blueprint/ui/__init__.py
|
||||
#, python-brace-format
|
||||
msgid "Queued {count} watches for rechecking ({skipped_count} already queued or running)."
|
||||
msgstr "{count} izleyici yeniden kontrol için sıraya alındı ({skipped_count} tanesi zaten sırada veya çalışıyor)."
|
||||
msgid "Queued {} watches for rechecking ({} already queued or running)."
|
||||
msgstr "{} izleyici yeniden kontrol için sıraya alındı ({} tanesi zaten sırada veya çalışıyor)."
|
||||
|
||||
#: changedetectionio/blueprint/ui/__init__.py
|
||||
#, python-brace-format
|
||||
@@ -1952,7 +1962,6 @@ msgstr ""
|
||||
"Yalnızca içeriği hareket ettiren web siteleri için iyidir ve YENİ içerik eklendiğinde bilmek istersiniz, yeni "
|
||||
"satırları bu izleyicinin tüm geçmişiyle karşılaştırır."
|
||||
|
||||
#. CJK fonts lack native italics; allow substitution with conventional local styling. dennis-ignore: W303
|
||||
#: changedetectionio/blueprint/ui/templates/edit.html
|
||||
msgid "Helps reduce changes detected caused by sites shuffling lines around, combine with <i>check unique lines</i> below."
|
||||
msgstr ""
|
||||
@@ -2216,7 +2225,6 @@ msgstr "Geçmişleri Temizle"
|
||||
msgid "<p>Are you sure you want to clear history for the selected items?</p><p>This action cannot be undone.</p>"
|
||||
msgstr "<p>Seçili öğeler için geçmişi temizlemek istediğinizden emin misiniz?</p><p>Bu işlem geri alınamaz.</p>"
|
||||
|
||||
#. Universally recognized; typically left as-is. dennis-ignore: W302
|
||||
#: changedetectionio/blueprint/watchlist/templates/watch-overview.html
|
||||
msgid "OK"
|
||||
msgstr "Tamam"
|
||||
@@ -2230,8 +2238,8 @@ msgid "Delete Watches?"
|
||||
msgstr "İzleyiciler Silinsin mi?"
|
||||
|
||||
#: changedetectionio/blueprint/watchlist/templates/watch-overview.html
|
||||
msgid "<p><strong>Are you sure you want to delete the selected watches?</strong></p><p>This action cannot be undone.</p>"
|
||||
msgstr "<p><strong>Seçili izleyicileri silmek istediğinizden emin misiniz?</strong></p><p>Bu işlem geri alınamaz.</p>"
|
||||
msgid "<p>Are you sure you want to delete the selected watches?</strong></p><p>This action cannot be undone.</p>"
|
||||
msgstr "<p>Seçili izleyicileri silmek istediğinizden emin misiniz?</p><p>Bu işlem geri alınamaz.</p>"
|
||||
|
||||
#: changedetectionio/blueprint/watchlist/templates/watch-overview.html
|
||||
msgid "Queued size"
|
||||
@@ -2707,18 +2715,18 @@ msgstr "'%s' RegEx'i geçerli bir düzenli ifade değil."
|
||||
|
||||
#: changedetectionio/forms.py
|
||||
#, python-format
|
||||
msgid "'%(expression)s' is not a valid XPath expression. (%(error)s)"
|
||||
msgstr "'%(expression)s' geçerli bir XPath ifadesi değil. (%(error)s)"
|
||||
msgid "'%s' is not a valid XPath expression. (%s)"
|
||||
msgstr "'%s' geçerli bir XPath ifadesi değil. (%s)"
|
||||
|
||||
#: changedetectionio/forms.py
|
||||
#, python-format
|
||||
msgid "'%(expression)s' is not a valid JSONPath expression. (%(error)s)"
|
||||
msgstr "'%(expression)s' geçerli bir JSONPath ifadesi değil. (%(error)s)"
|
||||
msgid "'%s' is not a valid JSONPath expression. (%s)"
|
||||
msgstr "'%s' geçerli bir JSONPath ifadesi değil. (%s)"
|
||||
|
||||
#: changedetectionio/forms.py
|
||||
#, python-format
|
||||
msgid "'%(expression)s' is not a valid jq expression. (%(error)s)"
|
||||
msgstr "'%(expression)s' geçerli bir jq ifadesi değil. (%(error)s)"
|
||||
msgid "'%s' is not a valid jq expression. (%s)"
|
||||
msgstr "'%s' geçerli bir jq ifadesi değil. (%s)"
|
||||
|
||||
#: changedetectionio/forms.py
|
||||
msgid "Empty value not allowed."
|
||||
@@ -2728,6 +2736,10 @@ msgstr "Boş değere izin verilmez."
|
||||
msgid "Invalid value."
|
||||
msgstr "Geçersiz değer."
|
||||
|
||||
#: changedetectionio/blueprint/imports/templates/import.html changedetectionio/forms.py
|
||||
msgid "URL"
|
||||
msgstr "URL"
|
||||
|
||||
#: changedetectionio/forms.py
|
||||
msgid "Group tag"
|
||||
msgstr "Grup etiketi"
|
||||
@@ -2963,7 +2975,6 @@ msgstr "Aşağıdakilerin tümünü eşleştir"
|
||||
msgid "Match any of the following"
|
||||
msgstr "Aşağıdakilerden herhangi birini eşleştir"
|
||||
|
||||
#. dennis-ignore: W303 - False positive caused by <title>. https://github.com/mozilla/dennis/issues/213
|
||||
#: changedetectionio/forms.py
|
||||
msgid "Use page <title> in list"
|
||||
msgstr "Listede sayfa <title>'ını kullan"
|
||||
@@ -3063,7 +3074,6 @@ msgstr "Gerçek Zamanlı Arayüz Güncellemeleri Etkin"
|
||||
msgid "Favicons Enabled"
|
||||
msgstr "Favicon'lar Etkin"
|
||||
|
||||
#. dennis-ignore: W303 - False positive caused by <title>. https://github.com/mozilla/dennis/issues/213
|
||||
#: changedetectionio/forms.py
|
||||
msgid "Use page <title> in watch overview list"
|
||||
msgstr "İzleyici genel bakış listesinde sayfa <title>'ını kullan"
|
||||
@@ -3418,8 +3428,8 @@ msgstr "İzleyici protokolüne izin verilmiyor veya geçersiz URL formatı"
|
||||
|
||||
#: changedetectionio/store/__init__.py
|
||||
#, python-brace-format
|
||||
msgid "Watch limit reached ({current}/{limit} watches). Cannot add more watches."
|
||||
msgstr "İzleyici sınırına ulaşıldı ({current}/{limit} izleyici). Daha fazla izleyici eklenemez."
|
||||
msgid "Watch limit reached ({}/{} watches). Cannot add more watches."
|
||||
msgstr "İzleyici sınırına ulaşıldı ({}/{} izleyici). Daha fazla izleyici eklenemez."
|
||||
|
||||
#: changedetectionio/templates/_common_fields.html
|
||||
msgid "Body for all notifications — You can use"
|
||||
@@ -3453,7 +3463,6 @@ msgstr "İzlenen URL."
|
||||
msgid "The UUID of the watch."
|
||||
msgstr "İzleyicinin UUID'si."
|
||||
|
||||
#. dennis-ignore: W303 - False positive caused by <title>. https://github.com/mozilla/dennis/issues/213
|
||||
#: changedetectionio/templates/_common_fields.html
|
||||
msgid "The page title of the watch, uses <title> if not set, falls back to URL"
|
||||
msgstr "İzleyicinin sayfa başlığı, ayarlanmamışsa <title> kullanır, URL'ye geri döner"
|
||||
@@ -3592,7 +3601,6 @@ msgstr ""
|
||||
"<a target=\"newwindow\" href=\"%(url)s\">AppRise Bildirim URL'leri</a> ile hemen hemen her hizmete bildirim "
|
||||
"gönderebilirsiniz!"
|
||||
|
||||
#. CJK fonts lack native italics; allow substitution with conventional local styling. dennis-ignore: W303
|
||||
#: changedetectionio/templates/_common_fields.html
|
||||
msgid "<i>Please read the notification services wiki here for important configuration notes</i>"
|
||||
msgstr "<i>Önemli yapılandırma notları için lütfen buradaki bildirim hizmetleri wiki'sini okuyun</i>"
|
||||
@@ -3956,7 +3964,6 @@ msgstr ""
|
||||
msgid "Note!: //text() function does not work where the <element> contains <![CDATA[]]>"
|
||||
msgstr ""
|
||||
|
||||
#. CJK fonts lack native italics; allow substitution with conventional local styling. dennis-ignore: W303
|
||||
#: changedetectionio/templates/edit/include_subtract.html
|
||||
msgid "One CSS, xPath 1 & 2, JSON Path/JQ selector per line, <i>any</i> rules that matches will be used."
|
||||
msgstr ""
|
||||
|
||||
Binary file not shown.
@@ -159,8 +159,8 @@ msgstr "Імпортуються перші 5000 URL з вашого списк
|
||||
|
||||
#: changedetectionio/blueprint/imports/importer.py
|
||||
#, python-brace-format
|
||||
msgid "{count} Imported from list in {duration}s, {skipped_count} Skipped."
|
||||
msgstr "{count} Імпортовано зі списку за {duration}с, {skipped_count} Пропущено."
|
||||
msgid "{} Imported from list in {:.2f}s, {} Skipped."
|
||||
msgstr "{} Імпортовано зі списку за {:.2f}с, {} Пропущено."
|
||||
|
||||
#: changedetectionio/blueprint/imports/importer.py
|
||||
msgid "Unable to read JSON file, was it broken?"
|
||||
@@ -172,8 +172,8 @@ msgstr "Структура JSON виглядає некоректною, мож
|
||||
|
||||
#: changedetectionio/blueprint/imports/importer.py
|
||||
#, python-brace-format
|
||||
msgid "{count} Imported from Distill.io in {duration}s, {skipped_count} Skipped."
|
||||
msgstr "{count} Імпортовано з Distill.io за {duration}с, {skipped_count} Пропущено."
|
||||
msgid "{} Imported from Distill.io in {:.2f}s, {} Skipped."
|
||||
msgstr "{} Імпортовано з Distill.io за {:.2f}с, {} Пропущено."
|
||||
|
||||
#: changedetectionio/blueprint/imports/importer.py
|
||||
msgid "Unable to read export XLSX file, something wrong with the file?"
|
||||
@@ -191,18 +191,22 @@ msgstr "Помилка обробки рядка {}, перевірте прав
|
||||
|
||||
#: changedetectionio/blueprint/imports/importer.py
|
||||
#, python-brace-format
|
||||
msgid "{count} imported from Wachete .xlsx in {duration}s"
|
||||
msgstr "{count} імпортовано з Wachete .xlsx за {duration}с"
|
||||
msgid "{} imported from Wachete .xlsx in {:.2f}s"
|
||||
msgstr "{} імпортовано з Wachete .xlsx за {:.2f}с"
|
||||
|
||||
#: changedetectionio/blueprint/imports/importer.py
|
||||
#, python-brace-format
|
||||
msgid "{count} imported from custom .xlsx in {duration}s"
|
||||
msgstr "{count} імпортовано з власного .xlsx за {duration}с"
|
||||
msgid "{} imported from custom .xlsx in {:.2f}s"
|
||||
msgstr "{} імпортовано з власного .xlsx за {:.2f}с"
|
||||
|
||||
#: changedetectionio/blueprint/imports/templates/import.html
|
||||
msgid "URL List"
|
||||
msgstr "Список URL"
|
||||
|
||||
#: changedetectionio/blueprint/imports/templates/import.html
|
||||
msgid "Distill.io"
|
||||
msgstr "Distill.io"
|
||||
|
||||
#: changedetectionio/blueprint/imports/templates/import.html
|
||||
msgid ".XLSX & Wachete"
|
||||
msgstr ".XLSX та Wachete"
|
||||
@@ -236,7 +240,6 @@ msgstr "URL, що не пройшли перевірку, залишаться
|
||||
msgid "Copy and Paste your Distill.io watch 'export' file, this should be a JSON file."
|
||||
msgstr "Скопіюйте та вставте вміст файлу експорту з Distill.io (файл JSON)."
|
||||
|
||||
#. CJK fonts lack native italics; allow substitution with conventional local styling. dennis-ignore: W303
|
||||
#: changedetectionio/blueprint/imports/templates/import.html
|
||||
msgid ""
|
||||
"This is <i>experimental</i>, supported fields are <code>name</code>, <code>uri</code>, <code>tags</code>, "
|
||||
@@ -309,10 +312,8 @@ msgstr "Захист паролем вимкнено."
|
||||
|
||||
#: changedetectionio/blueprint/settings/__init__.py
|
||||
#, python-brace-format
|
||||
msgid "Warning: Worker count ({worker_count}) is close to or exceeds available CPU cores ({cpu_count})"
|
||||
msgstr ""
|
||||
"Увага: Кількість воркерів ({worker_count}) наближається до кількості доступних ядер процесора або перевищує її "
|
||||
"({cpu_count})"
|
||||
msgid "Warning: Worker count ({}) is close to or exceeds available CPU cores ({})"
|
||||
msgstr "Увага: Кількість воркерів ({}) наближається до кількості доступних ядер процесора або перевищує її ({})"
|
||||
|
||||
#: changedetectionio/blueprint/settings/__init__.py
|
||||
#, python-brace-format
|
||||
@@ -366,8 +367,8 @@ msgid "AI / LLM configuration removed."
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/blueprint/settings/llm.py
|
||||
#, python-brace-format
|
||||
msgid "AI summary cache cleared ({} file(s) removed)."
|
||||
#, python-format
|
||||
msgid "AI summary cache cleared (%(n)s file(s) removed)."
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/blueprint/settings/templates/notification-log.html
|
||||
@@ -391,6 +392,14 @@ msgstr "Глобальні фільтри"
|
||||
msgid "UI Options"
|
||||
msgstr "Налаштування інтерфейсу"
|
||||
|
||||
#: changedetectionio/blueprint/settings/templates/settings.html
|
||||
msgid "API"
|
||||
msgstr "API"
|
||||
|
||||
#: changedetectionio/blueprint/settings/templates/settings.html
|
||||
msgid "RSS"
|
||||
msgstr "RSS"
|
||||
|
||||
#: changedetectionio/blueprint/settings/templates/settings.html
|
||||
msgid "Backups"
|
||||
msgstr "Резервні копії"
|
||||
@@ -1073,7 +1082,7 @@ msgstr ""
|
||||
|
||||
#: changedetectionio/blueprint/settings/templates/settings_llm_tab.html
|
||||
#, python-format
|
||||
msgid "characters — currently enforcing: %(limit)s"
|
||||
msgid "characters — currently enforcing: %(n)s"
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/blueprint/settings/templates/settings_llm_tab.html
|
||||
@@ -1215,7 +1224,6 @@ msgstr ""
|
||||
msgid "Leave unchecked to use the auto-generated colour based on the tag name."
|
||||
msgstr ""
|
||||
|
||||
#. CJK fonts lack native italics; allow substitution with conventional local styling. dennis-ignore: W303
|
||||
#: changedetectionio/blueprint/tags/templates/edit-tag.html
|
||||
msgid "These settings are <strong><i>added</i></strong> to any existing watch configurations."
|
||||
msgstr "Ці налаштування <strong><i>додаються</i></strong> до будь-яких існуючих конфігурацій завдань."
|
||||
@@ -1435,8 +1443,8 @@ msgstr "1 завдання додано в чергу на перевірку."
|
||||
|
||||
#: changedetectionio/blueprint/ui/__init__.py
|
||||
#, python-brace-format
|
||||
msgid "Queued {count} watches for rechecking ({skipped_count} already queued or running)."
|
||||
msgstr "Додано {count} завдань у чергу ({skipped_count} вже в черзі або виконуються)."
|
||||
msgid "Queued {} watches for rechecking ({} already queued or running)."
|
||||
msgstr "Додано {} завдань у чергу ({} вже в черзі або виконуються)."
|
||||
|
||||
#: changedetectionio/blueprint/ui/__init__.py
|
||||
#, python-brace-format
|
||||
@@ -1933,7 +1941,6 @@ msgstr ""
|
||||
"Корисно для сайтів, які просто переміщують контент, коли ви хочете знати лише про НОВИЙ контент. Порівнює нові рядки "
|
||||
"з усією історією цього завдання."
|
||||
|
||||
#. CJK fonts lack native italics; allow substitution with conventional local styling. dennis-ignore: W303
|
||||
#: changedetectionio/blueprint/ui/templates/edit.html
|
||||
msgid "Helps reduce changes detected caused by sites shuffling lines around, combine with <i>check unique lines</i> below."
|
||||
msgstr ""
|
||||
@@ -2195,7 +2202,6 @@ msgstr "Очистити історії"
|
||||
msgid "<p>Are you sure you want to clear history for the selected items?</p><p>This action cannot be undone.</p>"
|
||||
msgstr "<p>Ви впевнені, що хочете очистити історію для вибраних елементів?</p><p>Цю дію неможливо скасувати.</p>"
|
||||
|
||||
#. Universally recognized; typically left as-is. dennis-ignore: W302
|
||||
#: changedetectionio/blueprint/watchlist/templates/watch-overview.html
|
||||
msgid "OK"
|
||||
msgstr "ОК"
|
||||
@@ -2209,8 +2215,8 @@ msgid "Delete Watches?"
|
||||
msgstr "Видалити завдання?"
|
||||
|
||||
#: changedetectionio/blueprint/watchlist/templates/watch-overview.html
|
||||
msgid "<p><strong>Are you sure you want to delete the selected watches?</strong></p><p>This action cannot be undone.</p>"
|
||||
msgstr "<p><strong>Ви впевнені, що хочете видалити вибрані завдання?</strong></p><p>Цю дію неможливо скасувати.</p>"
|
||||
msgid "<p>Are you sure you want to delete the selected watches?</strong></p><p>This action cannot be undone.</p>"
|
||||
msgstr "<p>Ви впевнені, що хочете видалити вибрані завдання?</p><p>Цю дію неможливо скасувати.</p>"
|
||||
|
||||
#: changedetectionio/blueprint/watchlist/templates/watch-overview.html
|
||||
msgid "Queued size"
|
||||
@@ -2686,18 +2692,18 @@ msgstr "RegEx '%s' не є допустимим регулярним вираз
|
||||
|
||||
#: changedetectionio/forms.py
|
||||
#, python-format
|
||||
msgid "'%(expression)s' is not a valid XPath expression. (%(error)s)"
|
||||
msgstr "'%(expression)s' не є допустимим виразом XPath. (%(error)s)"
|
||||
msgid "'%s' is not a valid XPath expression. (%s)"
|
||||
msgstr "'%s' не є допустимим виразом XPath. (%s)"
|
||||
|
||||
#: changedetectionio/forms.py
|
||||
#, python-format
|
||||
msgid "'%(expression)s' is not a valid JSONPath expression. (%(error)s)"
|
||||
msgstr "'%(expression)s' не є допустимим виразом JSONPath. (%(error)s)"
|
||||
msgid "'%s' is not a valid JSONPath expression. (%s)"
|
||||
msgstr "'%s' не є допустимим виразом JSONPath. (%s)"
|
||||
|
||||
#: changedetectionio/forms.py
|
||||
#, python-format
|
||||
msgid "'%(expression)s' is not a valid jq expression. (%(error)s)"
|
||||
msgstr "'%(expression)s' не є допустимим виразом jq. (%(error)s)"
|
||||
msgid "'%s' is not a valid jq expression. (%s)"
|
||||
msgstr "'%s' не є допустимим виразом jq. (%s)"
|
||||
|
||||
#: changedetectionio/forms.py
|
||||
msgid "Empty value not allowed."
|
||||
@@ -2707,6 +2713,10 @@ msgstr "Порожнє значення неприпустиме."
|
||||
msgid "Invalid value."
|
||||
msgstr "Неприпустиме значення."
|
||||
|
||||
#: changedetectionio/blueprint/imports/templates/import.html changedetectionio/forms.py
|
||||
msgid "URL"
|
||||
msgstr "URL"
|
||||
|
||||
#: changedetectionio/forms.py
|
||||
msgid "Group tag"
|
||||
msgstr "Тег групи"
|
||||
@@ -2942,7 +2952,6 @@ msgstr "Збіг усіх наступних умов"
|
||||
msgid "Match any of the following"
|
||||
msgstr "Збіг будь-якої з наступних умов"
|
||||
|
||||
#. dennis-ignore: W303 - False positive caused by <title>. https://github.com/mozilla/dennis/issues/213
|
||||
#: changedetectionio/forms.py
|
||||
msgid "Use page <title> in list"
|
||||
msgstr "Використовувати <title> сторінки у списку"
|
||||
@@ -3042,7 +3051,6 @@ msgstr "Оновлення UI в реальному часі увімкнено"
|
||||
msgid "Favicons Enabled"
|
||||
msgstr "Фавіконки увімкнено"
|
||||
|
||||
#. dennis-ignore: W303 - False positive caused by <title>. https://github.com/mozilla/dennis/issues/213
|
||||
#: changedetectionio/forms.py
|
||||
msgid "Use page <title> in watch overview list"
|
||||
msgstr "Використовувати <title> сторінки у списку огляду завдань"
|
||||
@@ -3397,8 +3405,8 @@ msgstr "Протокол завдання не дозволено або нев
|
||||
|
||||
#: changedetectionio/store/__init__.py
|
||||
#, python-brace-format
|
||||
msgid "Watch limit reached ({current}/{limit} watches). Cannot add more watches."
|
||||
msgstr "Досягнуто ліміту завдань ({current}/{limit}). Неможливо додати більше."
|
||||
msgid "Watch limit reached ({}/{} watches). Cannot add more watches."
|
||||
msgstr "Досягнуто ліміту завдань ({}/{}). Неможливо додати більше."
|
||||
|
||||
#: changedetectionio/templates/_common_fields.html
|
||||
msgid "Body for all notifications — You can use"
|
||||
@@ -3432,7 +3440,6 @@ msgstr "URL, за яким ведеться спостереження."
|
||||
msgid "The UUID of the watch."
|
||||
msgstr "UUID завдання."
|
||||
|
||||
#. dennis-ignore: W303 - False positive caused by <title>. https://github.com/mozilla/dennis/issues/213
|
||||
#: changedetectionio/templates/_common_fields.html
|
||||
msgid "The page title of the watch, uses <title> if not set, falls back to URL"
|
||||
msgstr "Заголовок сторінки завдання, використовує <title>, якщо не задано - URL"
|
||||
@@ -3571,7 +3578,6 @@ msgstr ""
|
||||
"Використовуйте <a target=\"newwindow\" href=\"%(url)s\">URL сповіщень AppRise</a> для сповіщень практично в будь-який"
|
||||
" сервіс!"
|
||||
|
||||
#. CJK fonts lack native italics; allow substitution with conventional local styling. dennis-ignore: W303
|
||||
#: changedetectionio/templates/_common_fields.html
|
||||
msgid "<i>Please read the notification services wiki here for important configuration notes</i>"
|
||||
msgstr "<i>Будь ласка, прочитайте вікі по сервісах сповіщень тут для важливих нотаток щодо конфігурації</i>"
|
||||
@@ -3933,7 +3939,6 @@ msgstr ""
|
||||
msgid "Note!: //text() function does not work where the <element> contains <![CDATA[]]>"
|
||||
msgstr ""
|
||||
|
||||
#. CJK fonts lack native italics; allow substitution with conventional local styling. dennis-ignore: W303
|
||||
#: changedetectionio/templates/edit/include_subtract.html
|
||||
msgid "One CSS, xPath 1 & 2, JSON Path/JQ selector per line, <i>any</i> rules that matches will be used."
|
||||
msgstr ""
|
||||
|
||||
Binary file not shown.
@@ -160,8 +160,8 @@ msgstr "仅导入列表前 5,000 个 URL,其余可稍后继续导入。"
|
||||
|
||||
#: changedetectionio/blueprint/imports/importer.py
|
||||
#, python-brace-format
|
||||
msgid "{count} Imported from list in {duration}s, {skipped_count} Skipped."
|
||||
msgstr "从列表导入 {count} 条,用时 {duration} 秒,跳过 {skipped_count} 条。"
|
||||
msgid "{} Imported from list in {:.2f}s, {} Skipped."
|
||||
msgstr "从列表导入 {} 条,用时 {:.2f} 秒,跳过 {} 条。"
|
||||
|
||||
#: changedetectionio/blueprint/imports/importer.py
|
||||
msgid "Unable to read JSON file, was it broken?"
|
||||
@@ -173,8 +173,8 @@ msgstr "JSON 结构无效,文件是否损坏?"
|
||||
|
||||
#: changedetectionio/blueprint/imports/importer.py
|
||||
#, python-brace-format
|
||||
msgid "{count} Imported from Distill.io in {duration}s, {skipped_count} Skipped."
|
||||
msgstr "从 Distill.io 导入 {count} 条,用时 {duration} 秒,跳过 {skipped_count} 条。"
|
||||
msgid "{} Imported from Distill.io in {:.2f}s, {} Skipped."
|
||||
msgstr "从 Distill.io 导入 {} 条,用时 {:.2f} 秒,跳过 {} 条。"
|
||||
|
||||
#: changedetectionio/blueprint/imports/importer.py
|
||||
msgid "Unable to read export XLSX file, something wrong with the file?"
|
||||
@@ -192,18 +192,22 @@ msgstr "处理第 {} 行时出错,请检查单元格数据类型是否正确
|
||||
|
||||
#: changedetectionio/blueprint/imports/importer.py
|
||||
#, python-brace-format
|
||||
msgid "{count} imported from Wachete .xlsx in {duration}s"
|
||||
msgstr "从 Wachete .xlsx 导入 {count} 条,用时 {duration} 秒"
|
||||
msgid "{} imported from Wachete .xlsx in {:.2f}s"
|
||||
msgstr "从 Wachete .xlsx 导入 {} 条,用时 {:.2f} 秒"
|
||||
|
||||
#: changedetectionio/blueprint/imports/importer.py
|
||||
#, python-brace-format
|
||||
msgid "{count} imported from custom .xlsx in {duration}s"
|
||||
msgstr "从自定义 .xlsx 导入 {count} 条,用时 {duration} 秒"
|
||||
msgid "{} imported from custom .xlsx in {:.2f}s"
|
||||
msgstr "从自定义 .xlsx 导入 {} 条,用时 {:.2f} 秒"
|
||||
|
||||
#: changedetectionio/blueprint/imports/templates/import.html
|
||||
msgid "URL List"
|
||||
msgstr "URL 列表"
|
||||
|
||||
#: changedetectionio/blueprint/imports/templates/import.html
|
||||
msgid "Distill.io"
|
||||
msgstr "Distill.io"
|
||||
|
||||
#: changedetectionio/blueprint/imports/templates/import.html
|
||||
msgid ".XLSX & Wachete"
|
||||
msgstr ".XLSX 与 Wachete"
|
||||
@@ -238,7 +242,6 @@ msgid "Copy and Paste your Distill.io watch 'export' file, this should be a JSON
|
||||
msgstr "复制并粘贴 Distill.io 监控的“导出”文件(JSON)。"
|
||||
|
||||
# TN: CJK scripts degrade when italicized; emphasis is rendered with <strong> instead.
|
||||
#. CJK fonts lack native italics; allow substitution with conventional local styling. dennis-ignore: W303
|
||||
#: changedetectionio/blueprint/imports/templates/import.html
|
||||
msgid ""
|
||||
"This is <i>experimental</i>, supported fields are <code>name</code>, <code>uri</code>, <code>tags</code>, "
|
||||
@@ -312,8 +315,8 @@ msgstr "已移除密码保护。"
|
||||
|
||||
#: changedetectionio/blueprint/settings/__init__.py
|
||||
#, python-brace-format
|
||||
msgid "Warning: Worker count ({worker_count}) is close to or exceeds available CPU cores ({cpu_count})"
|
||||
msgstr "警告:工作线程数({worker_count})接近或超过可用CPU核心数({cpu_count})"
|
||||
msgid "Warning: Worker count ({}) is close to or exceeds available CPU cores ({})"
|
||||
msgstr "警告:工作线程数({})接近或超过可用CPU核心数({})"
|
||||
|
||||
#: changedetectionio/blueprint/settings/__init__.py
|
||||
#, python-brace-format
|
||||
@@ -367,8 +370,8 @@ msgid "AI / LLM configuration removed."
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/blueprint/settings/llm.py
|
||||
#, python-brace-format
|
||||
msgid "AI summary cache cleared ({} file(s) removed)."
|
||||
#, python-format
|
||||
msgid "AI summary cache cleared (%(n)s file(s) removed)."
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/blueprint/settings/templates/notification-log.html
|
||||
@@ -392,6 +395,14 @@ msgstr "全局过滤器"
|
||||
msgid "UI Options"
|
||||
msgstr "界面选项"
|
||||
|
||||
#: changedetectionio/blueprint/settings/templates/settings.html
|
||||
msgid "API"
|
||||
msgstr "API"
|
||||
|
||||
#: changedetectionio/blueprint/settings/templates/settings.html
|
||||
msgid "RSS"
|
||||
msgstr "RSS"
|
||||
|
||||
#: changedetectionio/blueprint/settings/templates/settings.html
|
||||
msgid "Backups"
|
||||
msgstr "备份"
|
||||
@@ -1062,7 +1073,7 @@ msgstr ""
|
||||
|
||||
#: changedetectionio/blueprint/settings/templates/settings_llm_tab.html
|
||||
#, python-format
|
||||
msgid "characters — currently enforcing: %(limit)s"
|
||||
msgid "characters — currently enforcing: %(n)s"
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/blueprint/settings/templates/settings_llm_tab.html
|
||||
@@ -1204,7 +1215,6 @@ msgstr ""
|
||||
msgid "Leave unchecked to use the auto-generated colour based on the tag name."
|
||||
msgstr ""
|
||||
|
||||
#. CJK fonts lack native italics; allow substitution with conventional local styling. dennis-ignore: W303
|
||||
#: changedetectionio/blueprint/tags/templates/edit-tag.html
|
||||
msgid "These settings are <strong><i>added</i></strong> to any existing watch configurations."
|
||||
msgstr "这些设置会<strong><i>应用</i></strong>到现有的所有监控项配置中。"
|
||||
@@ -1419,8 +1429,8 @@ msgstr "已将 1 个监控项加入重新检查队列。"
|
||||
|
||||
#: changedetectionio/blueprint/ui/__init__.py
|
||||
#, python-brace-format
|
||||
msgid "Queued {count} watches for rechecking ({skipped_count} already queued or running)."
|
||||
msgstr "{count}个监视器已加入队列({skipped_count}个已在队列中)。"
|
||||
msgid "Queued {} watches for rechecking ({} already queued or running)."
|
||||
msgstr "{}个监视器已加入队列({}个已在队列中)。"
|
||||
|
||||
#: changedetectionio/blueprint/ui/__init__.py
|
||||
#, python-brace-format
|
||||
@@ -1910,7 +1920,6 @@ msgid ""
|
||||
msgstr "适合仅移动内容的网站,想知道新增内容时使用,会将新行与该监控项的全部历史进行比对。"
|
||||
|
||||
# TN: CJK scripts degrade when italicized; reference is wrapped in “” instead.
|
||||
#. CJK fonts lack native italics; allow substitution with conventional local styling. dennis-ignore: W303
|
||||
#: changedetectionio/blueprint/ui/templates/edit.html
|
||||
msgid "Helps reduce changes detected caused by sites shuffling lines around, combine with <i>check unique lines</i> below."
|
||||
msgstr "有助于减少因行顺序变化导致的变更,可结合下方的“检查唯一行”一起使用。"
|
||||
@@ -2168,7 +2177,6 @@ msgstr "清除历史记录"
|
||||
msgid "<p>Are you sure you want to clear history for the selected items?</p><p>This action cannot be undone.</p>"
|
||||
msgstr "<p>确定要清除所选项的历史记录吗?</p><p>此操作不可撤销。</p>"
|
||||
|
||||
#. Universally recognized; typically left as-is. dennis-ignore: W302
|
||||
#: changedetectionio/blueprint/watchlist/templates/watch-overview.html
|
||||
msgid "OK"
|
||||
msgstr "确定"
|
||||
@@ -2182,8 +2190,8 @@ msgid "Delete Watches?"
|
||||
msgstr "删除监控项?"
|
||||
|
||||
#: changedetectionio/blueprint/watchlist/templates/watch-overview.html
|
||||
msgid "<p><strong>Are you sure you want to delete the selected watches?</strong></p><p>This action cannot be undone.</p>"
|
||||
msgstr "<p><strong>确定要删除所选监控项吗?</strong></p><p>此操作不可撤销。</p>"
|
||||
msgid "<p>Are you sure you want to delete the selected watches?</strong></p><p>This action cannot be undone.</p>"
|
||||
msgstr "<p>确定要删除所选监控项吗?</p><p>此操作不可撤销。</p>"
|
||||
|
||||
#: changedetectionio/blueprint/watchlist/templates/watch-overview.html
|
||||
msgid "Queued size"
|
||||
@@ -2659,18 +2667,18 @@ msgstr "正则表达式“%s”无效。"
|
||||
|
||||
#: changedetectionio/forms.py
|
||||
#, python-format
|
||||
msgid "'%(expression)s' is not a valid XPath expression. (%(error)s)"
|
||||
msgstr "“%(expression)s”不是有效的 XPath 表达式。(%(error)s)"
|
||||
msgid "'%s' is not a valid XPath expression. (%s)"
|
||||
msgstr "“%s”不是有效的 XPath 表达式。(%s)"
|
||||
|
||||
#: changedetectionio/forms.py
|
||||
#, python-format
|
||||
msgid "'%(expression)s' is not a valid JSONPath expression. (%(error)s)"
|
||||
msgstr "“%(expression)s”不是有效的 JSONPath 表达式。(%(error)s)"
|
||||
msgid "'%s' is not a valid JSONPath expression. (%s)"
|
||||
msgstr "“%s”不是有效的 JSONPath 表达式。(%s)"
|
||||
|
||||
#: changedetectionio/forms.py
|
||||
#, python-format
|
||||
msgid "'%(expression)s' is not a valid jq expression. (%(error)s)"
|
||||
msgstr "“%(expression)s”不是有效的 jq 表达式。(%(error)s)"
|
||||
msgid "'%s' is not a valid jq expression. (%s)"
|
||||
msgstr "“%s”不是有效的 jq 表达式。(%s)"
|
||||
|
||||
#: changedetectionio/forms.py
|
||||
msgid "Empty value not allowed."
|
||||
@@ -2680,6 +2688,10 @@ msgstr "不允许为空。"
|
||||
msgid "Invalid value."
|
||||
msgstr "值无效。"
|
||||
|
||||
#: changedetectionio/blueprint/imports/templates/import.html changedetectionio/forms.py
|
||||
msgid "URL"
|
||||
msgstr "URL"
|
||||
|
||||
#: changedetectionio/forms.py
|
||||
msgid "Group tag"
|
||||
msgstr "分组 / 标签"
|
||||
@@ -2915,7 +2927,6 @@ msgstr "匹配以下全部"
|
||||
msgid "Match any of the following"
|
||||
msgstr "匹配以下任意"
|
||||
|
||||
#. dennis-ignore: W303 - False positive caused by <title>. https://github.com/mozilla/dennis/issues/213
|
||||
#: changedetectionio/forms.py
|
||||
msgid "Use page <title> in list"
|
||||
msgstr "列表中使用页面 <title>"
|
||||
@@ -3015,7 +3026,6 @@ msgstr "启用实时界面更新"
|
||||
msgid "Favicons Enabled"
|
||||
msgstr "启用站点图标"
|
||||
|
||||
#. dennis-ignore: W303 - False positive caused by <title>. https://github.com/mozilla/dennis/issues/213
|
||||
#: changedetectionio/forms.py
|
||||
msgid "Use page <title> in watch overview list"
|
||||
msgstr "在监控概览列表中使用页面 <title>"
|
||||
@@ -3082,7 +3092,7 @@ msgstr "移除密码"
|
||||
|
||||
#: changedetectionio/forms.py
|
||||
msgid "Render anchor tag content"
|
||||
msgstr "渲染 a 标签内容"
|
||||
msgstr "渲染 <a> 标签内容"
|
||||
|
||||
#: changedetectionio/forms.py
|
||||
msgid "Allow anonymous access to watch history page when password is enabled"
|
||||
@@ -3370,7 +3380,7 @@ msgstr "监控协议不允许或 URL 格式无效"
|
||||
|
||||
#: changedetectionio/store/__init__.py
|
||||
#, python-brace-format
|
||||
msgid "Watch limit reached ({current}/{limit} watches). Cannot add more watches."
|
||||
msgid "Watch limit reached ({}/{} watches). Cannot add more watches."
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/templates/_common_fields.html
|
||||
@@ -3405,7 +3415,6 @@ msgstr "被监控的 URL。"
|
||||
msgid "The UUID of the watch."
|
||||
msgstr "监视器的UUID。"
|
||||
|
||||
#. dennis-ignore: W303 - False positive caused by <title>. https://github.com/mozilla/dennis/issues/213
|
||||
#: changedetectionio/templates/_common_fields.html
|
||||
msgid "The page title of the watch, uses <title> if not set, falls back to URL"
|
||||
msgstr "监控项的页面标题,未设置时使用 <title>,否则回退为 URL"
|
||||
@@ -3543,7 +3552,6 @@ msgid "Use <a target=\"newwindow\" href=\"%(url)s\">AppRise Notification URLs</a
|
||||
msgstr "使用 <a target=\"newwindow\" href=\"%(url)s\">AppRise通知URL</a>,向几乎任何服务发送通知!"
|
||||
|
||||
# TN: CJK scripts degrade when italicized; emphasis is rendered with <strong> instead.
|
||||
#. CJK fonts lack native italics; allow substitution with conventional local styling. dennis-ignore: W303
|
||||
#: changedetectionio/templates/_common_fields.html
|
||||
msgid "<i>Please read the notification services wiki here for important configuration notes</i>"
|
||||
msgstr "<strong>请阅读通知服务 Wiki 以了解重要配置说明</strong>"
|
||||
@@ -3905,7 +3913,6 @@ msgstr ""
|
||||
msgid "Note!: //text() function does not work where the <element> contains <![CDATA[]]>"
|
||||
msgstr ""
|
||||
|
||||
#. CJK fonts lack native italics; allow substitution with conventional local styling. dennis-ignore: W303
|
||||
#: changedetectionio/templates/edit/include_subtract.html
|
||||
msgid "One CSS, xPath 1 & 2, JSON Path/JQ selector per line, <i>any</i> rules that matches will be used."
|
||||
msgstr ""
|
||||
|
||||
Binary file not shown.
@@ -160,8 +160,8 @@ msgstr "正在匯入清單中的前 5,000 個 URL,其餘的可以再次匯入
|
||||
|
||||
#: changedetectionio/blueprint/imports/importer.py
|
||||
#, python-brace-format
|
||||
msgid "{count} Imported from list in {duration}s, {skipped_count} Skipped."
|
||||
msgstr "{count} 已從清單匯入,耗時 {duration} 秒,跳過 {skipped_count} 筆。"
|
||||
msgid "{} Imported from list in {:.2f}s, {} Skipped."
|
||||
msgstr "{} 已從清單匯入,耗時 {:.2f} 秒,跳過 {} 筆。"
|
||||
|
||||
#: changedetectionio/blueprint/imports/importer.py
|
||||
msgid "Unable to read JSON file, was it broken?"
|
||||
@@ -173,8 +173,8 @@ msgstr "JSON 結構看起來無效,檔案是否已損毀?"
|
||||
|
||||
#: changedetectionio/blueprint/imports/importer.py
|
||||
#, python-brace-format
|
||||
msgid "{count} Imported from Distill.io in {duration}s, {skipped_count} Skipped."
|
||||
msgstr "{count} 已從 Distill.io 匯入,耗時 {duration} 秒,跳過 {skipped_count} 筆。"
|
||||
msgid "{} Imported from Distill.io in {:.2f}s, {} Skipped."
|
||||
msgstr "{} 已從 Distill.io 匯入,耗時 {:.2f} 秒,跳過 {} 筆。"
|
||||
|
||||
#: changedetectionio/blueprint/imports/importer.py
|
||||
msgid "Unable to read export XLSX file, something wrong with the file?"
|
||||
@@ -192,18 +192,22 @@ msgstr "處理第 {} 行時發生錯誤,請檢查所有儲存格資料類型
|
||||
|
||||
#: changedetectionio/blueprint/imports/importer.py
|
||||
#, python-brace-format
|
||||
msgid "{count} imported from Wachete .xlsx in {duration}s"
|
||||
msgstr "{count} 已從 Wachete .xlsx 匯入,耗時 {duration} 秒"
|
||||
msgid "{} imported from Wachete .xlsx in {:.2f}s"
|
||||
msgstr "{} 已從 Wachete .xlsx 匯入,耗時 {:.2f} 秒"
|
||||
|
||||
#: changedetectionio/blueprint/imports/importer.py
|
||||
#, python-brace-format
|
||||
msgid "{count} imported from custom .xlsx in {duration}s"
|
||||
msgstr "{count} 已從自訂 .xlsx 匯入,耗時 {duration} 秒"
|
||||
msgid "{} imported from custom .xlsx in {:.2f}s"
|
||||
msgstr "{} 已從自訂 .xlsx 匯入,耗時 {:.2f} 秒"
|
||||
|
||||
#: changedetectionio/blueprint/imports/templates/import.html
|
||||
msgid "URL List"
|
||||
msgstr "URL 列表"
|
||||
|
||||
#: changedetectionio/blueprint/imports/templates/import.html
|
||||
msgid "Distill.io"
|
||||
msgstr "Distill.io"
|
||||
|
||||
#: changedetectionio/blueprint/imports/templates/import.html
|
||||
msgid ".XLSX & Wachete"
|
||||
msgstr ".XLSX 和 Wachete"
|
||||
@@ -238,7 +242,6 @@ msgid "Copy and Paste your Distill.io watch 'export' file, this should be a JSON
|
||||
msgstr "複製並貼上您的 Distill.io 監測任務「匯出」檔案,這應該是一個 JSON 檔案。"
|
||||
|
||||
# TN: CJK scripts degrade when italicized; emphasis is rendered with <strong> instead.
|
||||
#. CJK fonts lack native italics; allow substitution with conventional local styling. dennis-ignore: W303
|
||||
#: changedetectionio/blueprint/imports/templates/import.html
|
||||
msgid ""
|
||||
"This is <i>experimental</i>, supported fields are <code>name</code>, <code>uri</code>, <code>tags</code>, "
|
||||
@@ -311,8 +314,8 @@ msgstr "密碼保護已移除。"
|
||||
|
||||
#: changedetectionio/blueprint/settings/__init__.py
|
||||
#, python-brace-format
|
||||
msgid "Warning: Worker count ({worker_count}) is close to or exceeds available CPU cores ({cpu_count})"
|
||||
msgstr "警告:工作程式數量({worker_count})接近或超過可用CPU核心數({cpu_count})"
|
||||
msgid "Warning: Worker count ({}) is close to or exceeds available CPU cores ({})"
|
||||
msgstr "警告:工作程式數量({})接近或超過可用CPU核心數({})"
|
||||
|
||||
#: changedetectionio/blueprint/settings/__init__.py
|
||||
#, python-brace-format
|
||||
@@ -366,8 +369,8 @@ msgid "AI / LLM configuration removed."
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/blueprint/settings/llm.py
|
||||
#, python-brace-format
|
||||
msgid "AI summary cache cleared ({} file(s) removed)."
|
||||
#, python-format
|
||||
msgid "AI summary cache cleared (%(n)s file(s) removed)."
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/blueprint/settings/templates/notification-log.html
|
||||
@@ -391,6 +394,14 @@ msgstr "全域過濾器"
|
||||
msgid "UI Options"
|
||||
msgstr "介面選項"
|
||||
|
||||
#: changedetectionio/blueprint/settings/templates/settings.html
|
||||
msgid "API"
|
||||
msgstr "API"
|
||||
|
||||
#: changedetectionio/blueprint/settings/templates/settings.html
|
||||
msgid "RSS"
|
||||
msgstr "RSS"
|
||||
|
||||
#: changedetectionio/blueprint/settings/templates/settings.html
|
||||
msgid "Backups"
|
||||
msgstr "備份"
|
||||
@@ -1061,7 +1072,7 @@ msgstr ""
|
||||
|
||||
#: changedetectionio/blueprint/settings/templates/settings_llm_tab.html
|
||||
#, python-format
|
||||
msgid "characters — currently enforcing: %(limit)s"
|
||||
msgid "characters — currently enforcing: %(n)s"
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/blueprint/settings/templates/settings_llm_tab.html
|
||||
@@ -1203,7 +1214,6 @@ msgstr ""
|
||||
msgid "Leave unchecked to use the auto-generated colour based on the tag name."
|
||||
msgstr ""
|
||||
|
||||
#. CJK fonts lack native italics; allow substitution with conventional local styling. dennis-ignore: W303
|
||||
#: changedetectionio/blueprint/tags/templates/edit-tag.html
|
||||
msgid "These settings are <strong><i>added</i></strong> to any existing watch configurations."
|
||||
msgstr "這些設定會<strong><i>新增</i></strong>至任何現有的監測設定中。"
|
||||
@@ -1418,8 +1428,8 @@ msgstr "已將 1 個監測任務排入複查佇列。"
|
||||
|
||||
#: changedetectionio/blueprint/ui/__init__.py
|
||||
#, python-brace-format
|
||||
msgid "Queued {count} watches for rechecking ({skipped_count} already queued or running)."
|
||||
msgstr "已將 {count} 個監測任務排入複查佇列({skipped_count} 個已在佇列中或正在執行)。"
|
||||
msgid "Queued {} watches for rechecking ({} already queued or running)."
|
||||
msgstr "已將 {} 個監測任務排入複查佇列({} 個已在佇列中或正在執行)。"
|
||||
|
||||
#: changedetectionio/blueprint/ui/__init__.py
|
||||
#, python-brace-format
|
||||
@@ -1909,7 +1919,6 @@ msgid ""
|
||||
msgstr "適用於內容僅會移動的網站,且您想知道何時新增了「新」內容,此功能會將新行與此監測任務的所有歷史記錄進行比較。"
|
||||
|
||||
# TN: CJK scripts degrade when italicized; UI label reference is wrapped in 「」 instead.
|
||||
#. CJK fonts lack native italics; allow substitution with conventional local styling. dennis-ignore: W303
|
||||
#: changedetectionio/blueprint/ui/templates/edit.html
|
||||
msgid "Helps reduce changes detected caused by sites shuffling lines around, combine with <i>check unique lines</i> below."
|
||||
msgstr "有助於減少因網站重新排列行而檢測到的變更,結合下方的「檢查獨特行」使用。"
|
||||
@@ -2167,7 +2176,6 @@ msgstr "清除歷史記錄"
|
||||
msgid "<p>Are you sure you want to clear history for the selected items?</p><p>This action cannot be undone.</p>"
|
||||
msgstr "<p>您確定要清除所選項目的歷史記錄嗎?</p><p>此動作無法復原。</p>"
|
||||
|
||||
#. Universally recognized; typically left as-is. dennis-ignore: W302
|
||||
#: changedetectionio/blueprint/watchlist/templates/watch-overview.html
|
||||
msgid "OK"
|
||||
msgstr "確定"
|
||||
@@ -2181,8 +2189,8 @@ msgid "Delete Watches?"
|
||||
msgstr "刪除監測任務?"
|
||||
|
||||
#: changedetectionio/blueprint/watchlist/templates/watch-overview.html
|
||||
msgid "<p><strong>Are you sure you want to delete the selected watches?</strong></p><p>This action cannot be undone.</p>"
|
||||
msgstr "<p><strong>您確定要刪除所選的監測任務嗎?</strong></p><p>此動作無法復原。</p>"
|
||||
msgid "<p>Are you sure you want to delete the selected watches?</strong></p><p>This action cannot be undone.</p>"
|
||||
msgstr "<p>您確定要刪除所選的監測任務嗎?</strong></p><p>此動作無法復原。</p>"
|
||||
|
||||
#: changedetectionio/blueprint/watchlist/templates/watch-overview.html
|
||||
msgid "Queued size"
|
||||
@@ -2658,18 +2666,18 @@ msgstr "RegEx 「%s」不是有效的正規表示式。"
|
||||
|
||||
#: changedetectionio/forms.py
|
||||
#, python-format
|
||||
msgid "'%(expression)s' is not a valid XPath expression. (%(error)s)"
|
||||
msgstr "「%(expression)s」不是有效的 XPath 表達式 (%(error)s)。"
|
||||
msgid "'%s' is not a valid XPath expression. (%s)"
|
||||
msgstr "「%s」不是有效的 XPath 表達式 (%s)。"
|
||||
|
||||
#: changedetectionio/forms.py
|
||||
#, python-format
|
||||
msgid "'%(expression)s' is not a valid JSONPath expression. (%(error)s)"
|
||||
msgstr "「%(expression)s」不是有效的 JSONPath 表達式 (%(error)s)。"
|
||||
msgid "'%s' is not a valid JSONPath expression. (%s)"
|
||||
msgstr "「%s」不是有效的 JSONPath 表達式 (%s)。"
|
||||
|
||||
#: changedetectionio/forms.py
|
||||
#, python-format
|
||||
msgid "'%(expression)s' is not a valid jq expression. (%(error)s)"
|
||||
msgstr "「%(expression)s」不是有效的 jq 表達式 (%(error)s)。"
|
||||
msgid "'%s' is not a valid jq expression. (%s)"
|
||||
msgstr "「%s」不是有效的 jq 表達式 (%s)。"
|
||||
|
||||
#: changedetectionio/forms.py
|
||||
msgid "Empty value not allowed."
|
||||
@@ -2679,6 +2687,10 @@ msgstr "不允許空值。"
|
||||
msgid "Invalid value."
|
||||
msgstr "數值無效。"
|
||||
|
||||
#: changedetectionio/blueprint/imports/templates/import.html changedetectionio/forms.py
|
||||
msgid "URL"
|
||||
msgstr "URL"
|
||||
|
||||
#: changedetectionio/forms.py
|
||||
msgid "Group tag"
|
||||
msgstr "群組 / 標籤"
|
||||
@@ -2914,7 +2926,6 @@ msgstr "符合以下所有條件"
|
||||
msgid "Match any of the following"
|
||||
msgstr "符合以下任一條件"
|
||||
|
||||
#. dennis-ignore: W303 - False positive caused by <title>. https://github.com/mozilla/dennis/issues/213
|
||||
#: changedetectionio/forms.py
|
||||
msgid "Use page <title> in list"
|
||||
msgstr "在列表中使用頁面 <title>"
|
||||
@@ -3014,7 +3025,6 @@ msgstr "已啟用即時 UI 更新"
|
||||
msgid "Favicons Enabled"
|
||||
msgstr "啟用網站圖示 (Favicons)"
|
||||
|
||||
#. dennis-ignore: W303 - False positive caused by <title>. https://github.com/mozilla/dennis/issues/213
|
||||
#: changedetectionio/forms.py
|
||||
msgid "Use page <title> in watch overview list"
|
||||
msgstr "在監測概覽列表中使用頁面 <title>"
|
||||
@@ -3369,7 +3379,7 @@ msgstr "監測協定不被允許或 URL 格式無效"
|
||||
|
||||
#: changedetectionio/store/__init__.py
|
||||
#, python-brace-format
|
||||
msgid "Watch limit reached ({current}/{limit} watches). Cannot add more watches."
|
||||
msgid "Watch limit reached ({}/{} watches). Cannot add more watches."
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/templates/_common_fields.html
|
||||
@@ -3404,7 +3414,6 @@ msgstr ""
|
||||
msgid "The UUID of the watch."
|
||||
msgstr "監測任務的 UUID。"
|
||||
|
||||
#. dennis-ignore: W303 - False positive caused by <title>. https://github.com/mozilla/dennis/issues/213
|
||||
#: changedetectionio/templates/_common_fields.html
|
||||
msgid "The page title of the watch, uses <title> if not set, falls back to URL"
|
||||
msgstr ""
|
||||
@@ -3541,7 +3550,6 @@ msgstr "更多資訊"
|
||||
msgid "Use <a target=\"newwindow\" href=\"%(url)s\">AppRise Notification URLs</a> for notification to just about any service!"
|
||||
msgstr ""
|
||||
|
||||
#. CJK fonts lack native italics; allow substitution with conventional local styling. dennis-ignore: W303
|
||||
#: changedetectionio/templates/_common_fields.html
|
||||
msgid "<i>Please read the notification services wiki here for important configuration notes</i>"
|
||||
msgstr ""
|
||||
@@ -3903,7 +3911,6 @@ msgstr ""
|
||||
msgid "Note!: //text() function does not work where the <element> contains <![CDATA[]]>"
|
||||
msgstr ""
|
||||
|
||||
#. CJK fonts lack native italics; allow substitution with conventional local styling. dennis-ignore: W303
|
||||
#: changedetectionio/templates/edit/include_subtract.html
|
||||
msgid "One CSS, xPath 1 & 2, JSON Path/JQ selector per line, <i>any</i> rules that matches will be used."
|
||||
msgstr ""
|
||||
|
||||
+1
-1
@@ -51,7 +51,7 @@ linkify-it-py
|
||||
# - Requires extra wheel for rPi, adds build time for arm/v8 which is not in piwheels
|
||||
# Pinned to 44.x for ARM compatibility and sslyze compatibility (sslyze requires <45) and (45.x may not have pre-built ARM wheels)
|
||||
# Also pinned because dependabot wants specific versions
|
||||
cryptography==44.0.0
|
||||
cryptography==47.0.0
|
||||
|
||||
# apprise mqtt https://github.com/dgtlmoon/changedetection.io/issues/315
|
||||
# use any version other than 2.0.x due to https://github.com/eclipse/paho.mqtt.python/issues/814
|
||||
|
||||
@@ -7,7 +7,7 @@ mapping_file = babel.cfg
|
||||
output_file = changedetectionio/translations/messages.pot
|
||||
input_paths = changedetectionio
|
||||
keywords = _ _l gettext pgettext:1c,2
|
||||
add_comments = TRANSLATORS:,dennis-ignore:
|
||||
add_comments = TRANSLATORS:
|
||||
# Options to reduce unnecessary changes in .pot files
|
||||
sort_by_file = true
|
||||
width = 120
|
||||
|
||||
Reference in New Issue
Block a user