mirror of
https://github.com/dgtlmoon/changedetection.io.git
synced 2026-05-29 21:11:50 +00:00
i18n: Clear pre-existing dennis warnings in messages.pot (#4112)
Build and push containers / metadata (push) Has been cancelled
Build and push containers / build-push-containers (push) Has been cancelled
Publish Python 🐍distribution 📦 to PyPI and TestPyPI / Build distribution 📦 (push) Has been cancelled
ChangeDetection.io Container Build Test / Build linux/amd64 (alpine) (push) Has been cancelled
ChangeDetection.io Container Build Test / Build linux/arm64 (alpine) (push) Has been cancelled
ChangeDetection.io Container Build Test / Build linux/amd64 (main) (push) Has been cancelled
ChangeDetection.io Container Build Test / Build linux/arm/v7 (main) (push) Has been cancelled
ChangeDetection.io Container Build Test / Build linux/arm/v8 (main) (push) Has been cancelled
ChangeDetection.io Container Build Test / Build linux/arm64 (main) (push) Has been cancelled
ChangeDetection.io App Test / lint-code (push) Has been cancelled
ChangeDetection.io App Test / lint-translations (push) Has been cancelled
ChangeDetection.io App Test / lint-template-i18n (push) Has been cancelled
Publish Python 🐍distribution 📦 to PyPI and TestPyPI / Test the built package works basically. (push) Has been cancelled
Publish Python 🐍distribution 📦 to PyPI and TestPyPI / Publish Python 🐍 distribution 📦 to PyPI (push) Has been cancelled
ChangeDetection.io App Test / test-application-3-10 (push) Has been cancelled
ChangeDetection.io App Test / test-application-3-11 (push) Has been cancelled
ChangeDetection.io App Test / test-application-3-12 (push) Has been cancelled
ChangeDetection.io App Test / test-application-3-13 (push) Has been cancelled
ChangeDetection.io App Test / test-application-3-14 (push) Has been cancelled
Build and push containers / metadata (push) Has been cancelled
Build and push containers / build-push-containers (push) Has been cancelled
Publish Python 🐍distribution 📦 to PyPI and TestPyPI / Build distribution 📦 (push) Has been cancelled
ChangeDetection.io Container Build Test / Build linux/amd64 (alpine) (push) Has been cancelled
ChangeDetection.io Container Build Test / Build linux/arm64 (alpine) (push) Has been cancelled
ChangeDetection.io Container Build Test / Build linux/amd64 (main) (push) Has been cancelled
ChangeDetection.io Container Build Test / Build linux/arm/v7 (main) (push) Has been cancelled
ChangeDetection.io Container Build Test / Build linux/arm/v8 (main) (push) Has been cancelled
ChangeDetection.io Container Build Test / Build linux/arm64 (main) (push) Has been cancelled
ChangeDetection.io App Test / lint-code (push) Has been cancelled
ChangeDetection.io App Test / lint-translations (push) Has been cancelled
ChangeDetection.io App Test / lint-template-i18n (push) Has been cancelled
Publish Python 🐍distribution 📦 to PyPI and TestPyPI / Test the built package works basically. (push) Has been cancelled
Publish Python 🐍distribution 📦 to PyPI and TestPyPI / Publish Python 🐍 distribution 📦 to PyPI (push) Has been cancelled
ChangeDetection.io App Test / test-application-3-10 (push) Has been cancelled
ChangeDetection.io App Test / test-application-3-11 (push) Has been cancelled
ChangeDetection.io App Test / test-application-3-12 (push) Has been cancelled
ChangeDetection.io App Test / test-application-3-13 (push) Has been cancelled
ChangeDetection.io App Test / test-application-3-14 (push) Has been cancelled
This commit is contained in:
@@ -35,20 +35,14 @@ jobs:
|
||||
run: |
|
||||
pip install "$(grep -E '^dennis ?>=' requirements.txt)"
|
||||
dennis-cmd lint --errorsonly changedetectionio/translations/
|
||||
- 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
|
||||
- name: Lint .pot template with dennis (warnings)
|
||||
run: |
|
||||
output=$(dennis-cmd lint changedetectionio/translations/messages.pot)
|
||||
echo "$output"
|
||||
warnings=$(echo "$output" | awk '/Warnings:/ {print $NF; exit}')
|
||||
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."
|
||||
if (( ${warnings:-0} > 0 )); then
|
||||
echo "ERROR: ${warnings} dennis warning(s) detected in messages.pot"
|
||||
echo "Fix the warning(s)."
|
||||
exit 1
|
||||
fi
|
||||
- name: Lint .po files with dennis (warnings)
|
||||
|
||||
@@ -75,7 +75,7 @@ class import_url_list(Importer):
|
||||
self.remaining_data = []
|
||||
self.remaining_data.append(url)
|
||||
|
||||
flash(gettext("{} Imported from list in {:.2f}s, {} Skipped.").format(good, time.time() - now, len(self.remaining_data)))
|
||||
flash(gettext("{count} Imported from list in {duration:.2f}s, {skipped_count} Skipped.").format(count=good, duration=time.time() - now, skipped_count=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("{} Imported from Distill.io in {:.2f}s, {} Skipped.").format(len(self.new_uuids), time.time() - now, len(self.remaining_data)))
|
||||
flash(gettext("{count} Imported from Distill.io in {duration:.2f}s, {skipped_count} Skipped.").format(count=len(self.new_uuids), duration=time.time() - now, skipped_count=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("{} imported from Wachete .xlsx in {:.2f}s").format(len(self.new_uuids), time.time() - now))
|
||||
flash(gettext("{count} imported from Wachete .xlsx in {duration:.2f}s").format(count=len(self.new_uuids), duration=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("{} imported from custom .xlsx in {:.2f}s").format(len(self.new_uuids), time.time() - now))
|
||||
flash(gettext("{count} imported from custom .xlsx in {duration:.2f}s").format(count=len(self.new_uuids), duration=time.time() - now))
|
||||
@@ -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 ({}) is close to or exceeds available CPU cores ({})").format(
|
||||
new_worker_count, cpu_count), 'warning')
|
||||
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')
|
||||
|
||||
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 (%(n)s file(s) removed).", n=count), 'notice')
|
||||
flash(gettext("AI summary cache cleared (%(count)s file(s) removed).", count=count), 'notice')
|
||||
return redirect(url_for('settings.settings_page') + '#ai')
|
||||
|
||||
return llm_blueprint
|
||||
|
||||
@@ -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: %(n)s', n='{:,}'.format(llm_effective_max_input_chars)) }}</span>
|
||||
<span class="llm-field-hint">{{ _('characters — currently enforcing: %(limit)s', limit='{:,}'.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: %(n)s', n='{:,}'.format(llm_effective_max_input_chars)) }}</span>
|
||||
<span class="llm-field-hint">{{ _('characters — currently enforcing: %(limit)s', limit='{:,}'.format(llm_effective_max_input_chars)) }}</span>
|
||||
{% endif %}
|
||||
</span>
|
||||
</div>
|
||||
|
||||
@@ -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 {} watches for rechecking ({} already queued or running).").format(
|
||||
len(watches_to_queue_filtered), skipped_count))
|
||||
flash(gettext("Queued {count} watches for rechecking ({skipped_count} already queued or running).").format(
|
||||
count=len(watches_to_queue_filtered), skipped_count=skipped_count))
|
||||
else:
|
||||
if len(watches_to_queue_filtered) == 1:
|
||||
flash(gettext("Queued 1 watch for rechecking."))
|
||||
|
||||
@@ -618,8 +618,8 @@ class ValidateCSSJSONXPATHInput(object):
|
||||
try:
|
||||
elementpath.select(tree, line.strip(), parser=SafeXPath3Parser)
|
||||
except elementpath.ElementPathError as e:
|
||||
message = field.gettext('\'%s\' is not a valid XPath expression. (%s)')
|
||||
raise ValidationError(message % (line, str(e)))
|
||||
message = field.gettext('\'%(expression)s\' is not a valid XPath expression. (%(error)s)')
|
||||
raise ValidationError(message % {'expression': line, 'error': 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('\'%s\' is not a valid XPath expression. (%s)')
|
||||
raise ValidationError(message % (line, str(e)))
|
||||
message = field.gettext('\'%(expression)s\' is not a valid XPath expression. (%(error)s)')
|
||||
raise ValidationError(message % {'expression': line, 'error': 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('\'%s\' is not a valid JSONPath expression. (%s)')
|
||||
raise ValidationError(message % (input, str(e)))
|
||||
message = field.gettext('\'%(expression)s\' is not a valid JSONPath expression. (%(error)s)')
|
||||
raise ValidationError(message % {'expression': input, 'error': 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('\'%s\' is not a valid jq expression. (%s)')
|
||||
raise ValidationError(message % (input, str(e)))
|
||||
message = field.gettext('\'%(expression)s\' is not a valid jq expression. (%(error)s)')
|
||||
raise ValidationError(message % {'expression': input, 'error': str(e)})
|
||||
except:
|
||||
raise ValidationError("A system-error occurred when validating your jq expression")
|
||||
|
||||
|
||||
@@ -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 ({}/{} watches). Cannot add more watches.").format(current_watch_count, page_watch_limit), 'error')
|
||||
flash(gettext("Watch limit reached ({current}/{limit} watches). Cannot add more watches.").format(current=current_watch_count, limit=page_watch_limit), 'error')
|
||||
return None
|
||||
except ValueError:
|
||||
logger.warning(f"Invalid PAGE_WATCH_LIMIT value: {page_watch_limit}, ignoring limit check")
|
||||
|
||||
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 "{} Imported from list in {:.2f}s, {} Skipped."
|
||||
msgstr "{} importováno ze seznamu za {:.2f}s, {} přeskočeno."
|
||||
msgid "{count} Imported from list in {duration:.2f}s, {skipped_count} Skipped."
|
||||
msgstr "{count} importováno ze seznamu za {duration:.2f}s, {skipped_count} 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 "{} Imported from Distill.io in {:.2f}s, {} Skipped."
|
||||
msgstr "{} importováno z Distill.io za {:.2f}s, {} přeskočeno."
|
||||
msgid "{count} Imported from Distill.io in {duration:.2f}s, {skipped_count} Skipped."
|
||||
msgstr "{count} importováno z Distill.io za {duration:.2f}s, {skipped_count} přeskočeno."
|
||||
|
||||
#: changedetectionio/blueprint/imports/importer.py
|
||||
msgid "Unable to read export XLSX file, something wrong with the file?"
|
||||
@@ -192,13 +192,13 @@ msgstr "Chyba při zpracování řádku {}, zkontrolujte že všechny typy dat v
|
||||
|
||||
#: changedetectionio/blueprint/imports/importer.py
|
||||
#, python-brace-format
|
||||
msgid "{} imported from Wachete .xlsx in {:.2f}s"
|
||||
msgstr "{} importováno z Wachete .xlsx za {:.2f}s"
|
||||
msgid "{count} imported from Wachete .xlsx in {duration:.2f}s"
|
||||
msgstr "{count} importováno z Wachete .xlsx za {duration:.2f}s"
|
||||
|
||||
#: changedetectionio/blueprint/imports/importer.py
|
||||
#, python-brace-format
|
||||
msgid "{} imported from custom .xlsx in {:.2f}s"
|
||||
msgstr "{} importováno z vlastního .xlsx za {:.2f}s"
|
||||
msgid "{count} imported from custom .xlsx in {duration:.2f}s"
|
||||
msgstr "{count} importováno z vlastního .xlsx za {duration:.2f}s"
|
||||
|
||||
#: changedetectionio/blueprint/imports/templates/import.html
|
||||
msgid "URL List"
|
||||
@@ -313,8 +313,8 @@ msgstr "Ochrana heslem odebrána."
|
||||
|
||||
#: changedetectionio/blueprint/settings/__init__.py
|
||||
#, python-brace-format
|
||||
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 ({})"
|
||||
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})"
|
||||
|
||||
#: changedetectionio/blueprint/settings/__init__.py
|
||||
#, python-brace-format
|
||||
@@ -369,7 +369,7 @@ msgstr ""
|
||||
|
||||
#: changedetectionio/blueprint/settings/llm.py
|
||||
#, python-format
|
||||
msgid "AI summary cache cleared (%(n)s file(s) removed)."
|
||||
msgid "AI summary cache cleared (%(count)s file(s) removed)."
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/blueprint/settings/templates/notification-log.html
|
||||
@@ -1071,7 +1071,7 @@ msgstr ""
|
||||
|
||||
#: changedetectionio/blueprint/settings/templates/settings_llm_tab.html
|
||||
#, python-format
|
||||
msgid "characters — currently enforcing: %(n)s"
|
||||
msgid "characters — currently enforcing: %(limit)s"
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/blueprint/settings/templates/settings_llm_tab.html
|
||||
@@ -1429,8 +1429,8 @@ msgstr ""
|
||||
|
||||
#: changedetectionio/blueprint/ui/__init__.py
|
||||
#, python-brace-format
|
||||
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ěží)."
|
||||
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ěží)."
|
||||
|
||||
#: changedetectionio/blueprint/ui/__init__.py
|
||||
#, python-brace-format
|
||||
@@ -2668,18 +2668,18 @@ msgstr "RegEx '%s' není platný regulární výraz."
|
||||
|
||||
#: changedetectionio/forms.py
|
||||
#, python-format
|
||||
msgid "'%s' is not a valid XPath expression. (%s)"
|
||||
msgstr "'%s' není platný výraz XPath. (%s)"
|
||||
msgid "'%(expression)s' is not a valid XPath expression. (%(error)s)"
|
||||
msgstr "'%(expression)s' není platný výraz XPath. (%(error)s)"
|
||||
|
||||
#: changedetectionio/forms.py
|
||||
#, python-format
|
||||
msgid "'%s' is not a valid JSONPath expression. (%s)"
|
||||
msgstr "'%s' není platný výraz JSONPath. (%s)"
|
||||
msgid "'%(expression)s' is not a valid JSONPath expression. (%(error)s)"
|
||||
msgstr "'%(expression)s' není platný výraz JSONPath. (%(error)s)"
|
||||
|
||||
#: changedetectionio/forms.py
|
||||
#, python-format
|
||||
msgid "'%s' is not a valid jq expression. (%s)"
|
||||
msgstr "'%s' není platný výraz jq. (%s)"
|
||||
msgid "'%(expression)s' is not a valid jq expression. (%(error)s)"
|
||||
msgstr "'%(expression)s' není platný výraz jq. (%(error)s)"
|
||||
|
||||
#: changedetectionio/forms.py
|
||||
msgid "Empty value not allowed."
|
||||
@@ -3381,7 +3381,7 @@ msgstr ""
|
||||
|
||||
#: changedetectionio/store/__init__.py
|
||||
#, python-brace-format
|
||||
msgid "Watch limit reached ({}/{} watches). Cannot add more watches."
|
||||
msgid "Watch limit reached ({current}/{limit} watches). Cannot add more watches."
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/templates/_common_fields.html
|
||||
|
||||
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 "{} Imported from list in {:.2f}s, {} Skipped."
|
||||
msgstr "{} aus Liste importiert in {:.2f}s, {} übersprungen."
|
||||
msgid "{count} Imported from list in {duration:.2f}s, {skipped_count} Skipped."
|
||||
msgstr "{count} aus Liste importiert in {duration:.2f}s, {skipped_count} ü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 "{} Imported from Distill.io in {:.2f}s, {} Skipped."
|
||||
msgstr "{} aus Distill.io importiert in {:.2f}s, {} übersprungen."
|
||||
msgid "{count} Imported from Distill.io in {duration:.2f}s, {skipped_count} Skipped."
|
||||
msgstr "{count} aus Distill.io importiert in {duration:.2f}s, {skipped_count} übersprungen."
|
||||
|
||||
#: changedetectionio/blueprint/imports/importer.py
|
||||
msgid "Unable to read export XLSX file, something wrong with the file?"
|
||||
@@ -194,13 +194,13 @@ msgstr "Fehler bei der Verarbeitung von Zeile {}, prüfen Sie, ob alle Zelldaten
|
||||
|
||||
#: changedetectionio/blueprint/imports/importer.py
|
||||
#, python-brace-format
|
||||
msgid "{} imported from Wachete .xlsx in {:.2f}s"
|
||||
msgstr "{} aus Wachete .xlsx importiert in {:.2f}s"
|
||||
msgid "{count} imported from Wachete .xlsx in {duration:.2f}s"
|
||||
msgstr "{count} aus Wachete .xlsx importiert in {duration:.2f}s"
|
||||
|
||||
#: changedetectionio/blueprint/imports/importer.py
|
||||
#, python-brace-format
|
||||
msgid "{} imported from custom .xlsx in {:.2f}s"
|
||||
msgstr "{} aus benutzerdefinierter .xlsx importiert in {:.2f}s"
|
||||
msgid "{count} imported from custom .xlsx in {duration:.2f}s"
|
||||
msgstr "{count} aus benutzerdefinierter .xlsx importiert in {duration:.2f}s"
|
||||
|
||||
#: changedetectionio/blueprint/imports/templates/import.html
|
||||
msgid "URL List"
|
||||
@@ -319,8 +319,8 @@ msgstr "Passwortschutz entfernt."
|
||||
|
||||
#: changedetectionio/blueprint/settings/__init__.py
|
||||
#, python-brace-format
|
||||
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 ({})"
|
||||
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})"
|
||||
|
||||
#: changedetectionio/blueprint/settings/__init__.py
|
||||
#, python-brace-format
|
||||
@@ -375,7 +375,7 @@ msgstr ""
|
||||
|
||||
#: changedetectionio/blueprint/settings/llm.py
|
||||
#, python-format
|
||||
msgid "AI summary cache cleared (%(n)s file(s) removed)."
|
||||
msgid "AI summary cache cleared (%(count)s file(s) removed)."
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/blueprint/settings/templates/notification-log.html
|
||||
@@ -1087,7 +1087,7 @@ msgstr ""
|
||||
|
||||
#: changedetectionio/blueprint/settings/templates/settings_llm_tab.html
|
||||
#, python-format
|
||||
msgid "characters — currently enforcing: %(n)s"
|
||||
msgid "characters — currently enforcing: %(limit)s"
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/blueprint/settings/templates/settings_llm_tab.html
|
||||
@@ -1452,8 +1452,8 @@ msgstr "1 Überwachung zur erneuten Überprüfung in Warteschlange gestellt."
|
||||
|
||||
#: changedetectionio/blueprint/ui/__init__.py
|
||||
#, python-brace-format
|
||||
msgid "Queued {} watches for rechecking ({} already queued or running)."
|
||||
msgstr "{} Überwachungen zur erneuten Überprüfung eingereiht ({} bereits in Warteschlange oder laufend)."
|
||||
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)."
|
||||
|
||||
#: changedetectionio/blueprint/ui/__init__.py
|
||||
#, python-brace-format
|
||||
@@ -2719,18 +2719,18 @@ msgstr "RegEx „%s“ ist kein gültiger regulärer Ausdruck."
|
||||
|
||||
#: changedetectionio/forms.py
|
||||
#, python-format
|
||||
msgid "'%s' is not a valid XPath expression. (%s)"
|
||||
msgstr "„%s“ ist kein gültiger XPath-Ausdruck. (%s)"
|
||||
msgid "'%(expression)s' is not a valid XPath expression. (%(error)s)"
|
||||
msgstr "„%(expression)s“ ist kein gültiger XPath-Ausdruck. (%(error)s)"
|
||||
|
||||
#: changedetectionio/forms.py
|
||||
#, python-format
|
||||
msgid "'%s' is not a valid JSONPath expression. (%s)"
|
||||
msgstr "„%s“ ist kein gültiger JSONPath-Ausdruck. (%s)"
|
||||
msgid "'%(expression)s' is not a valid JSONPath expression. (%(error)s)"
|
||||
msgstr "„%(expression)s“ ist kein gültiger JSONPath-Ausdruck. (%(error)s)"
|
||||
|
||||
#: changedetectionio/forms.py
|
||||
#, python-format
|
||||
msgid "'%s' is not a valid jq expression. (%s)"
|
||||
msgstr "„%s“ ist kein gültiger JQ-Ausdruck. (%s)"
|
||||
msgid "'%(expression)s' is not a valid jq expression. (%(error)s)"
|
||||
msgstr "„%(expression)s“ ist kein gültiger JQ-Ausdruck. (%(error)s)"
|
||||
|
||||
#: changedetectionio/forms.py
|
||||
msgid "Empty value not allowed."
|
||||
@@ -3435,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 ({}/{} watches). Cannot add more watches."
|
||||
msgid "Watch limit reached ({current}/{limit} watches). Cannot add more watches."
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/templates/_common_fields.html
|
||||
|
||||
@@ -160,7 +160,7 @@ msgstr ""
|
||||
|
||||
#: changedetectionio/blueprint/imports/importer.py
|
||||
#, python-brace-format
|
||||
msgid "{} Imported from list in {:.2f}s, {} Skipped."
|
||||
msgid "{count} Imported from list in {duration:.2f}s, {skipped_count} Skipped."
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/blueprint/imports/importer.py
|
||||
@@ -173,7 +173,7 @@ msgstr ""
|
||||
|
||||
#: changedetectionio/blueprint/imports/importer.py
|
||||
#, python-brace-format
|
||||
msgid "{} Imported from Distill.io in {:.2f}s, {} Skipped."
|
||||
msgid "{count} Imported from Distill.io in {duration:.2f}s, {skipped_count} Skipped."
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/blueprint/imports/importer.py
|
||||
@@ -192,12 +192,12 @@ msgstr ""
|
||||
|
||||
#: changedetectionio/blueprint/imports/importer.py
|
||||
#, python-brace-format
|
||||
msgid "{} imported from Wachete .xlsx in {:.2f}s"
|
||||
msgid "{count} imported from Wachete .xlsx in {duration:.2f}s"
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/blueprint/imports/importer.py
|
||||
#, python-brace-format
|
||||
msgid "{} imported from custom .xlsx in {:.2f}s"
|
||||
msgid "{count} imported from custom .xlsx in {duration:.2f}s"
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/blueprint/imports/templates/import.html
|
||||
@@ -311,7 +311,7 @@ msgstr ""
|
||||
|
||||
#: changedetectionio/blueprint/settings/__init__.py
|
||||
#, python-brace-format
|
||||
msgid "Warning: Worker count ({}) is close to or exceeds available CPU cores ({})"
|
||||
msgid "Warning: Worker count ({worker_count}) is close to or exceeds available CPU cores ({cpu_count})"
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/blueprint/settings/__init__.py
|
||||
@@ -367,7 +367,7 @@ msgstr ""
|
||||
|
||||
#: changedetectionio/blueprint/settings/llm.py
|
||||
#, python-format
|
||||
msgid "AI summary cache cleared (%(n)s file(s) removed)."
|
||||
msgid "AI summary cache cleared (%(count)s file(s) removed)."
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/blueprint/settings/templates/notification-log.html
|
||||
@@ -1069,7 +1069,7 @@ msgstr ""
|
||||
|
||||
#: changedetectionio/blueprint/settings/templates/settings_llm_tab.html
|
||||
#, python-format
|
||||
msgid "characters — currently enforcing: %(n)s"
|
||||
msgid "characters — currently enforcing: %(limit)s"
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/blueprint/settings/templates/settings_llm_tab.html
|
||||
@@ -1425,7 +1425,7 @@ msgstr ""
|
||||
|
||||
#: changedetectionio/blueprint/ui/__init__.py
|
||||
#, python-brace-format
|
||||
msgid "Queued {} watches for rechecking ({} already queued or running)."
|
||||
msgid "Queued {count} watches for rechecking ({skipped_count} already queued or running)."
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/blueprint/ui/__init__.py
|
||||
@@ -2662,17 +2662,17 @@ msgstr ""
|
||||
|
||||
#: changedetectionio/forms.py
|
||||
#, python-format
|
||||
msgid "'%s' is not a valid XPath expression. (%s)"
|
||||
msgid "'%(expression)s' is not a valid XPath expression. (%(error)s)"
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/forms.py
|
||||
#, python-format
|
||||
msgid "'%s' is not a valid JSONPath expression. (%s)"
|
||||
msgid "'%(expression)s' is not a valid JSONPath expression. (%(error)s)"
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/forms.py
|
||||
#, python-format
|
||||
msgid "'%s' is not a valid jq expression. (%s)"
|
||||
msgid "'%(expression)s' is not a valid jq expression. (%(error)s)"
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/forms.py
|
||||
@@ -3375,7 +3375,7 @@ msgstr ""
|
||||
|
||||
#: changedetectionio/store/__init__.py
|
||||
#, python-brace-format
|
||||
msgid "Watch limit reached ({}/{} watches). Cannot add more watches."
|
||||
msgid "Watch limit reached ({current}/{limit} watches). Cannot add more watches."
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/templates/_common_fields.html
|
||||
|
||||
@@ -160,7 +160,7 @@ msgstr ""
|
||||
|
||||
#: changedetectionio/blueprint/imports/importer.py
|
||||
#, python-brace-format
|
||||
msgid "{} Imported from list in {:.2f}s, {} Skipped."
|
||||
msgid "{count} Imported from list in {duration:.2f}s, {skipped_count} Skipped."
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/blueprint/imports/importer.py
|
||||
@@ -173,7 +173,7 @@ msgstr ""
|
||||
|
||||
#: changedetectionio/blueprint/imports/importer.py
|
||||
#, python-brace-format
|
||||
msgid "{} Imported from Distill.io in {:.2f}s, {} Skipped."
|
||||
msgid "{count} Imported from Distill.io in {duration:.2f}s, {skipped_count} Skipped."
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/blueprint/imports/importer.py
|
||||
@@ -192,12 +192,12 @@ msgstr ""
|
||||
|
||||
#: changedetectionio/blueprint/imports/importer.py
|
||||
#, python-brace-format
|
||||
msgid "{} imported from Wachete .xlsx in {:.2f}s"
|
||||
msgid "{count} imported from Wachete .xlsx in {duration:.2f}s"
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/blueprint/imports/importer.py
|
||||
#, python-brace-format
|
||||
msgid "{} imported from custom .xlsx in {:.2f}s"
|
||||
msgid "{count} imported from custom .xlsx in {duration:.2f}s"
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/blueprint/imports/templates/import.html
|
||||
@@ -311,7 +311,7 @@ msgstr ""
|
||||
|
||||
#: changedetectionio/blueprint/settings/__init__.py
|
||||
#, python-brace-format
|
||||
msgid "Warning: Worker count ({}) is close to or exceeds available CPU cores ({})"
|
||||
msgid "Warning: Worker count ({worker_count}) is close to or exceeds available CPU cores ({cpu_count})"
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/blueprint/settings/__init__.py
|
||||
@@ -367,7 +367,7 @@ msgstr ""
|
||||
|
||||
#: changedetectionio/blueprint/settings/llm.py
|
||||
#, python-format
|
||||
msgid "AI summary cache cleared (%(n)s file(s) removed)."
|
||||
msgid "AI summary cache cleared (%(count)s file(s) removed)."
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/blueprint/settings/templates/notification-log.html
|
||||
@@ -1069,7 +1069,7 @@ msgstr ""
|
||||
|
||||
#: changedetectionio/blueprint/settings/templates/settings_llm_tab.html
|
||||
#, python-format
|
||||
msgid "characters — currently enforcing: %(n)s"
|
||||
msgid "characters — currently enforcing: %(limit)s"
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/blueprint/settings/templates/settings_llm_tab.html
|
||||
@@ -1425,7 +1425,7 @@ msgstr ""
|
||||
|
||||
#: changedetectionio/blueprint/ui/__init__.py
|
||||
#, python-brace-format
|
||||
msgid "Queued {} watches for rechecking ({} already queued or running)."
|
||||
msgid "Queued {count} watches for rechecking ({skipped_count} already queued or running)."
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/blueprint/ui/__init__.py
|
||||
@@ -2662,17 +2662,17 @@ msgstr ""
|
||||
|
||||
#: changedetectionio/forms.py
|
||||
#, python-format
|
||||
msgid "'%s' is not a valid XPath expression. (%s)"
|
||||
msgid "'%(expression)s' is not a valid XPath expression. (%(error)s)"
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/forms.py
|
||||
#, python-format
|
||||
msgid "'%s' is not a valid JSONPath expression. (%s)"
|
||||
msgid "'%(expression)s' is not a valid JSONPath expression. (%(error)s)"
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/forms.py
|
||||
#, python-format
|
||||
msgid "'%s' is not a valid jq expression. (%s)"
|
||||
msgid "'%(expression)s' is not a valid jq expression. (%(error)s)"
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/forms.py
|
||||
@@ -3375,7 +3375,7 @@ msgstr ""
|
||||
|
||||
#: changedetectionio/store/__init__.py
|
||||
#, python-brace-format
|
||||
msgid "Watch limit reached ({}/{} watches). Cannot add more watches."
|
||||
msgid "Watch limit reached ({current}/{limit} watches). Cannot add more watches."
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/templates/_common_fields.html
|
||||
|
||||
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 "{} Imported from list in {:.2f}s, {} Skipped."
|
||||
msgstr "{} importado de la lista en {:.2f}s, {} omitido."
|
||||
msgid "{count} Imported from list in {duration:.2f}s, {skipped_count} Skipped."
|
||||
msgstr "{count} importado de la lista en {duration:.2f}s, {skipped_count} 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 "{} Imported from Distill.io in {:.2f}s, {} Skipped."
|
||||
msgstr "{} importado de Distill.io en {:.2f}s, {} omitido."
|
||||
msgid "{count} Imported from Distill.io in {duration:.2f}s, {skipped_count} Skipped."
|
||||
msgstr "{count} importado de Distill.io en {duration:.2f}s, {skipped_count} omitido."
|
||||
|
||||
#: changedetectionio/blueprint/imports/importer.py
|
||||
msgid "Unable to read export XLSX file, something wrong with the file?"
|
||||
@@ -194,13 +194,13 @@ msgstr ""
|
||||
|
||||
#: changedetectionio/blueprint/imports/importer.py
|
||||
#, python-brace-format
|
||||
msgid "{} imported from Wachete .xlsx in {:.2f}s"
|
||||
msgstr "{} importado de Wachete .xlsx en {:.2f}s"
|
||||
msgid "{count} imported from Wachete .xlsx in {duration:.2f}s"
|
||||
msgstr "{count} importado de Wachete .xlsx en {duration:.2f}s"
|
||||
|
||||
#: changedetectionio/blueprint/imports/importer.py
|
||||
#, python-brace-format
|
||||
msgid "{} imported from custom .xlsx in {:.2f}s"
|
||||
msgstr "{} importado desde .xlsx personalizado en {:.2f}s"
|
||||
msgid "{count} imported from custom .xlsx in {duration:.2f}s"
|
||||
msgstr "{count} importado desde .xlsx personalizado en {duration:.2f}s"
|
||||
|
||||
#: changedetectionio/blueprint/imports/templates/import.html
|
||||
msgid "URL List"
|
||||
@@ -317,8 +317,10 @@ msgstr "Se eliminó la protección con contraseña."
|
||||
|
||||
#: changedetectionio/blueprint/settings/__init__.py
|
||||
#, python-brace-format
|
||||
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 ({} )"
|
||||
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} )"
|
||||
|
||||
#: changedetectionio/blueprint/settings/__init__.py
|
||||
#, python-brace-format
|
||||
@@ -373,7 +375,7 @@ msgstr ""
|
||||
|
||||
#: changedetectionio/blueprint/settings/llm.py
|
||||
#, python-format
|
||||
msgid "AI summary cache cleared (%(n)s file(s) removed)."
|
||||
msgid "AI summary cache cleared (%(count)s file(s) removed)."
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/blueprint/settings/templates/notification-log.html
|
||||
@@ -1105,7 +1107,7 @@ msgstr ""
|
||||
|
||||
#: changedetectionio/blueprint/settings/templates/settings_llm_tab.html
|
||||
#, python-format
|
||||
msgid "characters — currently enforcing: %(n)s"
|
||||
msgid "characters — currently enforcing: %(limit)s"
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/blueprint/settings/templates/settings_llm_tab.html
|
||||
@@ -1470,8 +1472,8 @@ msgstr "1 monitor en cola para volver a verificar."
|
||||
|
||||
#: changedetectionio/blueprint/ui/__init__.py
|
||||
#, python-brace-format
|
||||
msgid "Queued {} watches for rechecking ({} already queued or running)."
|
||||
msgstr "{} monitores en cola para volver a comprobar ({} ya en cola o en ejecución)."
|
||||
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)."
|
||||
|
||||
#: changedetectionio/blueprint/ui/__init__.py
|
||||
#, python-brace-format
|
||||
@@ -2733,18 +2735,18 @@ msgstr "Expresión regular '%s' no es una expresión regular válida."
|
||||
|
||||
#: changedetectionio/forms.py
|
||||
#, python-format
|
||||
msgid "'%s' is not a valid XPath expression. (%s)"
|
||||
msgstr "'%s' no es una expresión XPath válida. (%s)"
|
||||
msgid "'%(expression)s' is not a valid XPath expression. (%(error)s)"
|
||||
msgstr "'%(expression)s' no es una expresión XPath válida. (%(error)s)"
|
||||
|
||||
#: changedetectionio/forms.py
|
||||
#, python-format
|
||||
msgid "'%s' is not a valid JSONPath expression. (%s)"
|
||||
msgstr "'%s' no es una expresión JSONPath válida. (%s)"
|
||||
msgid "'%(expression)s' is not a valid JSONPath expression. (%(error)s)"
|
||||
msgstr "'%(expression)s' no es una expresión JSONPath válida. (%(error)s)"
|
||||
|
||||
#: changedetectionio/forms.py
|
||||
#, python-format
|
||||
msgid "'%s' is not a valid jq expression. (%s)"
|
||||
msgstr "'%s' no es una expresión jq válida. (%s)"
|
||||
msgid "'%(expression)s' is not a valid jq expression. (%(error)s)"
|
||||
msgstr "'%(expression)s' no es una expresión jq válida. (%(error)s)"
|
||||
|
||||
#: changedetectionio/forms.py
|
||||
msgid "Empty value not allowed."
|
||||
@@ -3446,8 +3448,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 ({}/{} watches). Cannot add more watches."
|
||||
msgstr "Límite de visualización alcanzado ({} /{} monitores). No se pueden agregar más monitores."
|
||||
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."
|
||||
|
||||
#: changedetectionio/templates/_common_fields.html
|
||||
msgid "Body for all notifications — You can use"
|
||||
|
||||
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 "{} Imported from list in {:.2f}s, {} Skipped."
|
||||
msgstr "{} importées de la liste en {:.2f}s, {} ignorées."
|
||||
msgid "{count} Imported from list in {duration:.2f}s, {skipped_count} Skipped."
|
||||
msgstr "{count} importées de la liste en {duration:.2f}s, {skipped_count} 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 "{} Imported from Distill.io in {:.2f}s, {} Skipped."
|
||||
msgstr "{} importées de Distill.io en {:.2f}s, {} ignorées."
|
||||
msgid "{count} Imported from Distill.io in {duration:.2f}s, {skipped_count} Skipped."
|
||||
msgstr "{count} importées de Distill.io en {duration:.2f}s, {skipped_count} ignorées."
|
||||
|
||||
#: changedetectionio/blueprint/imports/importer.py
|
||||
msgid "Unable to read export XLSX file, something wrong with the file?"
|
||||
@@ -194,13 +194,13 @@ msgstr ""
|
||||
|
||||
#: changedetectionio/blueprint/imports/importer.py
|
||||
#, python-brace-format
|
||||
msgid "{} imported from Wachete .xlsx in {:.2f}s"
|
||||
msgstr "{} importées de Wachete .xlsx en {:.2f}s"
|
||||
msgid "{count} imported from Wachete .xlsx in {duration:.2f}s"
|
||||
msgstr "{count} importées de Wachete .xlsx en {duration:.2f}s"
|
||||
|
||||
#: changedetectionio/blueprint/imports/importer.py
|
||||
#, python-brace-format
|
||||
msgid "{} imported from custom .xlsx in {:.2f}s"
|
||||
msgstr "{} importées de .xlsx personnalisé en {:.2f}s"
|
||||
msgid "{count} imported from custom .xlsx in {duration:.2f}s"
|
||||
msgstr "{count} importées de .xlsx personnalisé en {duration:.2f}s"
|
||||
|
||||
#: changedetectionio/blueprint/imports/templates/import.html
|
||||
msgid "URL List"
|
||||
@@ -315,8 +315,8 @@ msgstr ""
|
||||
|
||||
#: changedetectionio/blueprint/settings/__init__.py
|
||||
#, python-brace-format
|
||||
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 ({})"
|
||||
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})"
|
||||
|
||||
#: changedetectionio/blueprint/settings/__init__.py
|
||||
#, python-brace-format
|
||||
@@ -371,7 +371,7 @@ msgstr ""
|
||||
|
||||
#: changedetectionio/blueprint/settings/llm.py
|
||||
#, python-format
|
||||
msgid "AI summary cache cleared (%(n)s file(s) removed)."
|
||||
msgid "AI summary cache cleared (%(count)s file(s) removed)."
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/blueprint/settings/templates/notification-log.html
|
||||
@@ -1075,7 +1075,7 @@ msgstr ""
|
||||
|
||||
#: changedetectionio/blueprint/settings/templates/settings_llm_tab.html
|
||||
#, python-format
|
||||
msgid "characters — currently enforcing: %(n)s"
|
||||
msgid "characters — currently enforcing: %(limit)s"
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/blueprint/settings/templates/settings_llm_tab.html
|
||||
@@ -1434,8 +1434,8 @@ msgstr ""
|
||||
|
||||
#: changedetectionio/blueprint/ui/__init__.py
|
||||
#, python-brace-format
|
||||
msgid "Queued {} watches for rechecking ({} already queued or running)."
|
||||
msgstr "{} moniteurs mis en file d'attente ({} déjà en file ou en cours)."
|
||||
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)."
|
||||
|
||||
#: changedetectionio/blueprint/ui/__init__.py
|
||||
#, python-brace-format
|
||||
@@ -2675,18 +2675,18 @@ msgstr "RegEx '%s' n'est pas une expression régulière valide."
|
||||
|
||||
#: changedetectionio/forms.py
|
||||
#, python-format
|
||||
msgid "'%s' is not a valid XPath expression. (%s)"
|
||||
msgstr "'%s' n'est pas une expression XPath valide. (%s)"
|
||||
msgid "'%(expression)s' is not a valid XPath expression. (%(error)s)"
|
||||
msgstr "'%(expression)s' n'est pas une expression XPath valide. (%(error)s)"
|
||||
|
||||
#: changedetectionio/forms.py
|
||||
#, python-format
|
||||
msgid "'%s' is not a valid JSONPath expression. (%s)"
|
||||
msgstr "'%s' n'est pas une expression JSONPath valide. (%s)"
|
||||
msgid "'%(expression)s' is not a valid JSONPath expression. (%(error)s)"
|
||||
msgstr "'%(expression)s' n'est pas une expression JSONPath valide. (%(error)s)"
|
||||
|
||||
#: changedetectionio/forms.py
|
||||
#, python-format
|
||||
msgid "'%s' is not a valid jq expression. (%s)"
|
||||
msgstr "'%s' n'est pas une expression jq valide. (%s)"
|
||||
msgid "'%(expression)s' is not a valid jq expression. (%(error)s)"
|
||||
msgstr "'%(expression)s' n'est pas une expression jq valide. (%(error)s)"
|
||||
|
||||
#: changedetectionio/forms.py
|
||||
msgid "Empty value not allowed."
|
||||
@@ -3388,7 +3388,7 @@ msgstr ""
|
||||
|
||||
#: changedetectionio/store/__init__.py
|
||||
#, python-brace-format
|
||||
msgid "Watch limit reached ({}/{} watches). Cannot add more watches."
|
||||
msgid "Watch limit reached ({current}/{limit} watches). Cannot add more watches."
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/templates/_common_fields.html
|
||||
|
||||
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 "{} Imported from list in {:.2f}s, {} Skipped."
|
||||
msgstr "{} Importate dalla lista in {:.2f}s, {} Ignorate."
|
||||
msgid "{count} Imported from list in {duration:.2f}s, {skipped_count} Skipped."
|
||||
msgstr "{count} Importate dalla lista in {duration:.2f}s, {skipped_count} 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 "{} Imported from Distill.io in {:.2f}s, {} Skipped."
|
||||
msgstr "{} Importate da Distill.io in {:.2f}s, {} Ignorate."
|
||||
msgid "{count} Imported from Distill.io in {duration:.2f}s, {skipped_count} Skipped."
|
||||
msgstr "{count} Importate da Distill.io in {duration:.2f}s, {skipped_count} Ignorate."
|
||||
|
||||
#: changedetectionio/blueprint/imports/importer.py
|
||||
msgid "Unable to read export XLSX file, something wrong with the file?"
|
||||
@@ -194,13 +194,13 @@ msgstr ""
|
||||
|
||||
#: changedetectionio/blueprint/imports/importer.py
|
||||
#, python-brace-format
|
||||
msgid "{} imported from Wachete .xlsx in {:.2f}s"
|
||||
msgstr "{} importate da Wachete .xlsx in {:.2f}s"
|
||||
msgid "{count} imported from Wachete .xlsx in {duration:.2f}s"
|
||||
msgstr "{count} importate da Wachete .xlsx in {duration:.2f}s"
|
||||
|
||||
#: changedetectionio/blueprint/imports/importer.py
|
||||
#, python-brace-format
|
||||
msgid "{} imported from custom .xlsx in {:.2f}s"
|
||||
msgstr "{} importate da .xlsx personalizzato in {:.2f}s"
|
||||
msgid "{count} imported from custom .xlsx in {duration:.2f}s"
|
||||
msgstr "{count} importate da .xlsx personalizzato in {duration:.2f}s"
|
||||
|
||||
#: changedetectionio/blueprint/imports/templates/import.html
|
||||
msgid "URL List"
|
||||
@@ -313,8 +313,8 @@ msgstr ""
|
||||
|
||||
#: changedetectionio/blueprint/settings/__init__.py
|
||||
#, python-brace-format
|
||||
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 ({})"
|
||||
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})"
|
||||
|
||||
#: changedetectionio/blueprint/settings/__init__.py
|
||||
#, python-brace-format
|
||||
@@ -369,7 +369,7 @@ msgstr ""
|
||||
|
||||
#: changedetectionio/blueprint/settings/llm.py
|
||||
#, python-format
|
||||
msgid "AI summary cache cleared (%(n)s file(s) removed)."
|
||||
msgid "AI summary cache cleared (%(count)s file(s) removed)."
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/blueprint/settings/templates/notification-log.html
|
||||
@@ -1071,7 +1071,7 @@ msgstr ""
|
||||
|
||||
#: changedetectionio/blueprint/settings/templates/settings_llm_tab.html
|
||||
#, python-format
|
||||
msgid "characters — currently enforcing: %(n)s"
|
||||
msgid "characters — currently enforcing: %(limit)s"
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/blueprint/settings/templates/settings_llm_tab.html
|
||||
@@ -1427,8 +1427,8 @@ msgstr ""
|
||||
|
||||
#: changedetectionio/blueprint/ui/__init__.py
|
||||
#, python-brace-format
|
||||
msgid "Queued {} watches for rechecking ({} already queued or running)."
|
||||
msgstr "{} monitor in coda ({} già in coda o in esecuzione)."
|
||||
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)."
|
||||
|
||||
#: changedetectionio/blueprint/ui/__init__.py
|
||||
#, python-brace-format
|
||||
@@ -2664,18 +2664,18 @@ msgstr "La RegEx '%s' non è un'espressione regolare valida."
|
||||
|
||||
#: changedetectionio/forms.py
|
||||
#, python-format
|
||||
msgid "'%s' is not a valid XPath expression. (%s)"
|
||||
msgstr "'%s' non è un'espressione XPath valida. (%s)"
|
||||
msgid "'%(expression)s' is not a valid XPath expression. (%(error)s)"
|
||||
msgstr "'%(expression)s' non è un'espressione XPath valida. (%(error)s)"
|
||||
|
||||
#: changedetectionio/forms.py
|
||||
#, python-format
|
||||
msgid "'%s' is not a valid JSONPath expression. (%s)"
|
||||
msgstr "'%s' non è un'espressione JSONPath valida. (%s)"
|
||||
msgid "'%(expression)s' is not a valid JSONPath expression. (%(error)s)"
|
||||
msgstr "'%(expression)s' non è un'espressione JSONPath valida. (%(error)s)"
|
||||
|
||||
#: changedetectionio/forms.py
|
||||
#, python-format
|
||||
msgid "'%s' is not a valid jq expression. (%s)"
|
||||
msgstr "'%s' non è un'espressione jq valida. (%s)"
|
||||
msgid "'%(expression)s' is not a valid jq expression. (%(error)s)"
|
||||
msgstr "'%(expression)s' non è un'espressione jq valida. (%(error)s)"
|
||||
|
||||
#: changedetectionio/forms.py
|
||||
msgid "Empty value not allowed."
|
||||
@@ -3377,7 +3377,7 @@ msgstr "Protocollo non consentito o formato URL non valido"
|
||||
|
||||
#: changedetectionio/store/__init__.py
|
||||
#, python-brace-format
|
||||
msgid "Watch limit reached ({}/{} watches). Cannot add more watches."
|
||||
msgid "Watch limit reached ({current}/{limit} watches). Cannot add more watches."
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/templates/_common_fields.html
|
||||
|
||||
Binary file not shown.
@@ -161,8 +161,8 @@ msgstr "リストの最初の5,000件のURLをインポートしています。
|
||||
|
||||
#: changedetectionio/blueprint/imports/importer.py
|
||||
#, python-brace-format
|
||||
msgid "{} Imported from list in {:.2f}s, {} Skipped."
|
||||
msgstr "{} 件をリストから {:.2f}秒でインポートしました。{} 件をスキップしました。"
|
||||
msgid "{count} Imported from list in {duration:.2f}s, {skipped_count} Skipped."
|
||||
msgstr "{count} 件をリストから {duration:.2f}秒でインポートしました。{skipped_count} 件をスキップしました。"
|
||||
|
||||
#: 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 "{} Imported from Distill.io in {:.2f}s, {} Skipped."
|
||||
msgstr "{} 件を Distill.io から {:.2f}秒でインポートしました。{} 件をスキップしました。"
|
||||
msgid "{count} Imported from Distill.io in {duration:.2f}s, {skipped_count} Skipped."
|
||||
msgstr "{count} 件を Distill.io から {duration:.2f}秒でインポートしました。{skipped_count} 件をスキップしました。"
|
||||
|
||||
#: changedetectionio/blueprint/imports/importer.py
|
||||
msgid "Unable to read export XLSX file, something wrong with the file?"
|
||||
@@ -193,13 +193,13 @@ msgstr "行番号 {} の処理中にエラーが発生しました。すべて
|
||||
|
||||
#: changedetectionio/blueprint/imports/importer.py
|
||||
#, python-brace-format
|
||||
msgid "{} imported from Wachete .xlsx in {:.2f}s"
|
||||
msgstr "{} 件を Wachete .xlsx から {:.2f}秒でインポートしました"
|
||||
msgid "{count} imported from Wachete .xlsx in {duration:.2f}s"
|
||||
msgstr "{count} 件を Wachete .xlsx から {duration:.2f}秒でインポートしました"
|
||||
|
||||
#: changedetectionio/blueprint/imports/importer.py
|
||||
#, python-brace-format
|
||||
msgid "{} imported from custom .xlsx in {:.2f}s"
|
||||
msgstr "{} 件をカスタム .xlsx から {:.2f}秒でインポートしました"
|
||||
msgid "{count} imported from custom .xlsx in {duration:.2f}s"
|
||||
msgstr "{count} 件をカスタム .xlsx から {duration:.2f}秒でインポートしました"
|
||||
|
||||
#: changedetectionio/blueprint/imports/templates/import.html
|
||||
msgid "URL List"
|
||||
@@ -315,8 +315,8 @@ msgstr "パスワード保護が解除されました。"
|
||||
|
||||
#: changedetectionio/blueprint/settings/__init__.py
|
||||
#, python-brace-format
|
||||
msgid "Warning: Worker count ({}) is close to or exceeds available CPU cores ({})"
|
||||
msgstr "警告:ワーカー数({})が利用可能なCPUコア数({})に近いか超えています"
|
||||
msgid "Warning: Worker count ({worker_count}) is close to or exceeds available CPU cores ({cpu_count})"
|
||||
msgstr "警告:ワーカー数({worker_count})が利用可能なCPUコア数({cpu_count})に近いか超えています"
|
||||
|
||||
#: changedetectionio/blueprint/settings/__init__.py
|
||||
#, python-brace-format
|
||||
@@ -371,7 +371,7 @@ msgstr ""
|
||||
|
||||
#: changedetectionio/blueprint/settings/llm.py
|
||||
#, python-format
|
||||
msgid "AI summary cache cleared (%(n)s file(s) removed)."
|
||||
msgid "AI summary cache cleared (%(count)s file(s) removed)."
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/blueprint/settings/templates/notification-log.html
|
||||
@@ -1076,7 +1076,7 @@ msgstr ""
|
||||
|
||||
#: changedetectionio/blueprint/settings/templates/settings_llm_tab.html
|
||||
#, python-format
|
||||
msgid "characters — currently enforcing: %(n)s"
|
||||
msgid "characters — currently enforcing: %(limit)s"
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/blueprint/settings/templates/settings_llm_tab.html
|
||||
@@ -1433,8 +1433,8 @@ msgstr "1件のウォッチを再チェックのためキューに追加しま
|
||||
|
||||
#: changedetectionio/blueprint/ui/__init__.py
|
||||
#, python-brace-format
|
||||
msgid "Queued {} watches for rechecking ({} already queued or running)."
|
||||
msgstr "{} 件のウォッチを再チェックのためキューに追加しました({} 件はすでにキュー済みまたは実行中)。"
|
||||
msgid "Queued {count} watches for rechecking ({skipped_count} already queued or running)."
|
||||
msgstr "{count} 件のウォッチを再チェックのためキューに追加しました({skipped_count} 件はすでにキュー済みまたは実行中)。"
|
||||
|
||||
#: changedetectionio/blueprint/ui/__init__.py
|
||||
#, python-brace-format
|
||||
@@ -2681,18 +2681,18 @@ msgstr "正規表現 '%s' は有効な正規表現ではありません。"
|
||||
|
||||
#: changedetectionio/forms.py
|
||||
#, python-format
|
||||
msgid "'%s' is not a valid XPath expression. (%s)"
|
||||
msgstr "'%s' は有効なXPath式ではありません。(%s)"
|
||||
msgid "'%(expression)s' is not a valid XPath expression. (%(error)s)"
|
||||
msgstr "'%(expression)s' は有効なXPath式ではありません。(%(error)s)"
|
||||
|
||||
#: changedetectionio/forms.py
|
||||
#, python-format
|
||||
msgid "'%s' is not a valid JSONPath expression. (%s)"
|
||||
msgstr "'%s' は有効なJSONPath式ではありません。(%s)"
|
||||
msgid "'%(expression)s' is not a valid JSONPath expression. (%(error)s)"
|
||||
msgstr "'%(expression)s' は有効なJSONPath式ではありません。(%(error)s)"
|
||||
|
||||
#: changedetectionio/forms.py
|
||||
#, python-format
|
||||
msgid "'%s' is not a valid jq expression. (%s)"
|
||||
msgstr "'%s' は有効なjq式ではありません。(%s)"
|
||||
msgid "'%(expression)s' is not a valid jq expression. (%(error)s)"
|
||||
msgstr "'%(expression)s' は有効なjq式ではありません。(%(error)s)"
|
||||
|
||||
#: changedetectionio/forms.py
|
||||
msgid "Empty value not allowed."
|
||||
@@ -3394,8 +3394,8 @@ msgstr "ウォッチのプロトコルが許可されていないか、URL形式
|
||||
|
||||
#: changedetectionio/store/__init__.py
|
||||
#, python-brace-format
|
||||
msgid "Watch limit reached ({}/{} watches). Cannot add more watches."
|
||||
msgstr "ウォッチの上限に達しました({}/{} ウォッチ)。これ以上ウォッチを追加できません。"
|
||||
msgid "Watch limit reached ({current}/{limit} watches). Cannot add more watches."
|
||||
msgstr "ウォッチの上限に達しました({current}/{limit} ウォッチ)。これ以上ウォッチを追加できません。"
|
||||
|
||||
#: changedetectionio/templates/_common_fields.html
|
||||
msgid "Body for all notifications — You can use"
|
||||
|
||||
Binary file not shown.
@@ -160,8 +160,8 @@ msgstr "목록의 처음 5,000개 URL만 가져옵니다. 나머지는 다시
|
||||
|
||||
#: changedetectionio/blueprint/imports/importer.py
|
||||
#, python-brace-format
|
||||
msgid "{} Imported from list in {:.2f}s, {} Skipped."
|
||||
msgstr "목록에서 {}개를 {:.2f}초 만에 가져왔습니다. {}개는 건너뛰었습니다."
|
||||
msgid "{count} Imported from list in {duration:.2f}s, {skipped_count} Skipped."
|
||||
msgstr "목록에서 {count}개를 {duration:.2f}초 만에 가져왔습니다. {skipped_count}개는 건너뛰었습니다."
|
||||
|
||||
#: 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 "{} Imported from Distill.io in {:.2f}s, {} Skipped."
|
||||
msgstr "Distill.io에서 {}개를 {:.2f}초 만에 가져왔습니다. {}개는 건너뛰었습니다."
|
||||
msgid "{count} Imported from Distill.io in {duration:.2f}s, {skipped_count} Skipped."
|
||||
msgstr "Distill.io에서 {count}개를 {duration:.2f}초 만에 가져왔습니다. {skipped_count}개는 건너뛰었습니다."
|
||||
|
||||
#: changedetectionio/blueprint/imports/importer.py
|
||||
msgid "Unable to read export XLSX file, something wrong with the file?"
|
||||
@@ -192,13 +192,13 @@ msgstr "{}행 처리 중 오류가 발생했습니다. 모든 셀 데이터 형
|
||||
|
||||
#: changedetectionio/blueprint/imports/importer.py
|
||||
#, python-brace-format
|
||||
msgid "{} imported from Wachete .xlsx in {:.2f}s"
|
||||
msgstr "Wachete .xlsx에서 {}개를 {:.2f}초 만에 가져왔습니다."
|
||||
msgid "{count} imported from Wachete .xlsx in {duration:.2f}s"
|
||||
msgstr "Wachete .xlsx에서 {count}개를 {duration:.2f}초 만에 가져왔습니다."
|
||||
|
||||
#: changedetectionio/blueprint/imports/importer.py
|
||||
#, python-brace-format
|
||||
msgid "{} imported from custom .xlsx in {:.2f}s"
|
||||
msgstr "사용자 지정 .xlsx에서 {}개를 {:.2f}초 만에 가져왔습니다."
|
||||
msgid "{count} imported from custom .xlsx in {duration:.2f}s"
|
||||
msgstr "사용자 지정 .xlsx에서 {count}개를 {duration:.2f}초 만에 가져왔습니다."
|
||||
|
||||
#: changedetectionio/blueprint/imports/templates/import.html
|
||||
msgid "URL List"
|
||||
@@ -313,8 +313,8 @@ msgstr "비밀번호 보호가 해제되었습니다."
|
||||
|
||||
#: changedetectionio/blueprint/settings/__init__.py
|
||||
#, python-brace-format
|
||||
msgid "Warning: Worker count ({}) is close to or exceeds available CPU cores ({})"
|
||||
msgstr "경고: 워커 수({})가 사용 가능한 CPU 코어 수({})에 근접하거나 초과합니다"
|
||||
msgid "Warning: Worker count ({worker_count}) is close to or exceeds available CPU cores ({cpu_count})"
|
||||
msgstr "경고: 워커 수({worker_count})가 사용 가능한 CPU 코어 수({cpu_count})에 근접하거나 초과합니다"
|
||||
|
||||
#: changedetectionio/blueprint/settings/__init__.py
|
||||
#, python-brace-format
|
||||
@@ -369,8 +369,8 @@ msgstr "AI / LLM 설정이 제거되었습니다."
|
||||
|
||||
#: changedetectionio/blueprint/settings/llm.py
|
||||
#, python-format
|
||||
msgid "AI summary cache cleared (%(n)s file(s) removed)."
|
||||
msgstr "AI 요약 캐시가 지워졌습니다(%(n)s개 파일 제거됨)."
|
||||
msgid "AI summary cache cleared (%(count)s file(s) removed)."
|
||||
msgstr "AI 요약 캐시가 지워졌습니다(%(count)s개 파일 제거됨)."
|
||||
|
||||
#: changedetectionio/blueprint/settings/templates/notification-log.html
|
||||
msgid "Notification debug log"
|
||||
@@ -1077,8 +1077,8 @@ msgstr "(<code>LLM_MAX_INPUT_CHARS</code>로 설정됨)"
|
||||
|
||||
#: changedetectionio/blueprint/settings/templates/settings_llm_tab.html
|
||||
#, python-format
|
||||
msgid "characters — currently enforcing: %(n)s"
|
||||
msgstr "문자 - 현재 적용 중: %(n)s"
|
||||
msgid "characters — currently enforcing: %(limit)s"
|
||||
msgstr "문자 - 현재 적용 중: %(limit)s"
|
||||
|
||||
#: changedetectionio/blueprint/settings/templates/settings_llm_tab.html
|
||||
msgid "No AI usage recorded yet."
|
||||
@@ -1435,8 +1435,8 @@ msgstr "모니터링 1개를 재확인 대기열에 추가했습니다."
|
||||
|
||||
#: changedetectionio/blueprint/ui/__init__.py
|
||||
#, python-brace-format
|
||||
msgid "Queued {} watches for rechecking ({} already queued or running)."
|
||||
msgstr "{}개 모니터링을 재확인 대기열에 추가했습니다. ({}개는 이미 대기 중이거나 실행 중)"
|
||||
msgid "Queued {count} watches for rechecking ({skipped_count} already queued or running)."
|
||||
msgstr "{count}개 모니터링을 재확인 대기열에 추가했습니다. ({skipped_count}개는 이미 대기 중이거나 실행 중)"
|
||||
|
||||
#: changedetectionio/blueprint/ui/__init__.py
|
||||
#, python-brace-format
|
||||
@@ -2672,18 +2672,18 @@ msgstr "정규식 '%s'은(는) 유효하지 않습니다."
|
||||
|
||||
#: changedetectionio/forms.py
|
||||
#, python-format
|
||||
msgid "'%s' is not a valid XPath expression. (%s)"
|
||||
msgstr "'%s'은(는) 유효한 XPath 표현식이 아닙니다. (%s)"
|
||||
msgid "'%(expression)s' is not a valid XPath expression. (%(error)s)"
|
||||
msgstr "'%(expression)s'은(는) 유효한 XPath 표현식이 아닙니다. (%(error)s)"
|
||||
|
||||
#: changedetectionio/forms.py
|
||||
#, python-format
|
||||
msgid "'%s' is not a valid JSONPath expression. (%s)"
|
||||
msgstr "'%s'은(는) 유효한 JSONPath 표현식이 아닙니다. (%s)"
|
||||
msgid "'%(expression)s' is not a valid JSONPath expression. (%(error)s)"
|
||||
msgstr "'%(expression)s'은(는) 유효한 JSONPath 표현식이 아닙니다. (%(error)s)"
|
||||
|
||||
#: changedetectionio/forms.py
|
||||
#, python-format
|
||||
msgid "'%s' is not a valid jq expression. (%s)"
|
||||
msgstr "'%s'은(는) 유효한 jq 표현식이 아닙니다. (%s)"
|
||||
msgid "'%(expression)s' is not a valid jq expression. (%(error)s)"
|
||||
msgstr "'%(expression)s'은(는) 유효한 jq 표현식이 아닙니다. (%(error)s)"
|
||||
|
||||
#: changedetectionio/forms.py
|
||||
msgid "Empty value not allowed."
|
||||
@@ -3385,8 +3385,8 @@ msgstr "모니터링 프로토콜이 허용되지 않거나 URL 형식이 올바
|
||||
|
||||
#: changedetectionio/store/__init__.py
|
||||
#, python-brace-format
|
||||
msgid "Watch limit reached ({}/{} watches). Cannot add more watches."
|
||||
msgstr "모니터링 한도에 도달했습니다. ({}/{}개) 더 이상 모니터링을 추가할 수 없습니다."
|
||||
msgid "Watch limit reached ({current}/{limit} watches). Cannot add more watches."
|
||||
msgstr "모니터링 한도에 도달했습니다. ({current}/{limit}개) 더 이상 모니터링을 추가할 수 없습니다."
|
||||
|
||||
#: changedetectionio/templates/_common_fields.html
|
||||
msgid "Body for all notifications — You can use"
|
||||
@@ -3843,7 +3843,7 @@ msgstr "이 태그/그룹의 모든 모니터링에 판단 기준을 설정합
|
||||
#: changedetectionio/templates/edit/include_llm_intent.html
|
||||
#, python-format
|
||||
msgid "From group '%(name)s': %(value)s"
|
||||
msgstr "'%(name)s' 그룹에서 가져옴: %(value)s"
|
||||
msgstr ""
|
||||
|
||||
#: 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."
|
||||
|
||||
@@ -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-04-28 16:31+0900\n"
|
||||
"POT-Creation-Date: 2026-04-30 19:35+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 "{} Imported from list in {:.2f}s, {} Skipped."
|
||||
msgid "{count} Imported from list in {duration:.2f}s, {skipped_count} Skipped."
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/blueprint/imports/importer.py
|
||||
@@ -172,7 +172,7 @@ msgstr ""
|
||||
|
||||
#: changedetectionio/blueprint/imports/importer.py
|
||||
#, python-brace-format
|
||||
msgid "{} Imported from Distill.io in {:.2f}s, {} Skipped."
|
||||
msgid "{count} Imported from Distill.io in {duration:.2f}s, {skipped_count} Skipped."
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/blueprint/imports/importer.py
|
||||
@@ -191,12 +191,12 @@ msgstr ""
|
||||
|
||||
#: changedetectionio/blueprint/imports/importer.py
|
||||
#, python-brace-format
|
||||
msgid "{} imported from Wachete .xlsx in {:.2f}s"
|
||||
msgid "{count} imported from Wachete .xlsx in {duration:.2f}s"
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/blueprint/imports/importer.py
|
||||
#, python-brace-format
|
||||
msgid "{} imported from custom .xlsx in {:.2f}s"
|
||||
msgid "{count} imported from custom .xlsx in {duration:.2f}s"
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/blueprint/imports/templates/import.html
|
||||
@@ -310,7 +310,7 @@ msgstr ""
|
||||
|
||||
#: changedetectionio/blueprint/settings/__init__.py
|
||||
#, python-brace-format
|
||||
msgid "Warning: Worker count ({}) is close to or exceeds available CPU cores ({})"
|
||||
msgid "Warning: Worker count ({worker_count}) is close to or exceeds available CPU cores ({cpu_count})"
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/blueprint/settings/__init__.py
|
||||
@@ -366,7 +366,7 @@ msgstr ""
|
||||
|
||||
#: changedetectionio/blueprint/settings/llm.py
|
||||
#, python-format
|
||||
msgid "AI summary cache cleared (%(n)s file(s) removed)."
|
||||
msgid "AI summary cache cleared (%(count)s file(s) removed)."
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/blueprint/settings/templates/notification-log.html
|
||||
@@ -1068,7 +1068,7 @@ msgstr ""
|
||||
|
||||
#: changedetectionio/blueprint/settings/templates/settings_llm_tab.html
|
||||
#, python-format
|
||||
msgid "characters — currently enforcing: %(n)s"
|
||||
msgid "characters — currently enforcing: %(limit)s"
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/blueprint/settings/templates/settings_llm_tab.html
|
||||
@@ -1424,7 +1424,7 @@ msgstr ""
|
||||
|
||||
#: changedetectionio/blueprint/ui/__init__.py
|
||||
#, python-brace-format
|
||||
msgid "Queued {} watches for rechecking ({} already queued or running)."
|
||||
msgid "Queued {count} watches for rechecking ({skipped_count} already queued or running)."
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/blueprint/ui/__init__.py
|
||||
@@ -2661,17 +2661,17 @@ msgstr ""
|
||||
|
||||
#: changedetectionio/forms.py
|
||||
#, python-format
|
||||
msgid "'%s' is not a valid XPath expression. (%s)"
|
||||
msgid "'%(expression)s' is not a valid XPath expression. (%(error)s)"
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/forms.py
|
||||
#, python-format
|
||||
msgid "'%s' is not a valid JSONPath expression. (%s)"
|
||||
msgid "'%(expression)s' is not a valid JSONPath expression. (%(error)s)"
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/forms.py
|
||||
#, python-format
|
||||
msgid "'%s' is not a valid jq expression. (%s)"
|
||||
msgid "'%(expression)s' is not a valid jq expression. (%(error)s)"
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/forms.py
|
||||
@@ -3374,7 +3374,7 @@ msgstr ""
|
||||
|
||||
#: changedetectionio/store/__init__.py
|
||||
#, python-brace-format
|
||||
msgid "Watch limit reached ({}/{} watches). Cannot add more watches."
|
||||
msgid "Watch limit reached ({current}/{limit} watches). Cannot add more watches."
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/templates/_common_fields.html
|
||||
|
||||
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 "{} Imported from list in {:.2f}s, {} Skipped."
|
||||
msgstr "{} Importados da lista em {:.2f}s, {} Ignorados."
|
||||
msgid "{count} Imported from list in {duration:.2f}s, {skipped_count} Skipped."
|
||||
msgstr "{count} Importados da lista em {duration:.2f}s, {skipped_count} 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 "{} Imported from Distill.io in {:.2f}s, {} Skipped."
|
||||
msgstr "{} Importados do Distill.io em {:.2f}s, {} Ignorados."
|
||||
msgid "{count} Imported from Distill.io in {duration:.2f}s, {skipped_count} Skipped."
|
||||
msgstr "{count} Importados do Distill.io em {duration:.2f}s, {skipped_count} Ignorados."
|
||||
|
||||
#: changedetectionio/blueprint/imports/importer.py
|
||||
msgid "Unable to read export XLSX file, something wrong with the file?"
|
||||
@@ -193,13 +193,13 @@ msgstr "Erro ao processar a linha {}, verifique se os tipos de dados das célula
|
||||
|
||||
#: changedetectionio/blueprint/imports/importer.py
|
||||
#, python-brace-format
|
||||
msgid "{} imported from Wachete .xlsx in {:.2f}s"
|
||||
msgstr "{} importados do Wachete .xlsx em {:.2f}s"
|
||||
msgid "{count} imported from Wachete .xlsx in {duration:.2f}s"
|
||||
msgstr "{count} importados do Wachete .xlsx em {duration:.2f}s"
|
||||
|
||||
#: changedetectionio/blueprint/imports/importer.py
|
||||
#, python-brace-format
|
||||
msgid "{} imported from custom .xlsx in {:.2f}s"
|
||||
msgstr "{} importados do .xlsx personalizado em {:.2f}s"
|
||||
msgid "{count} imported from custom .xlsx in {duration:.2f}s"
|
||||
msgstr "{count} importados do .xlsx personalizado em {duration:.2f}s"
|
||||
|
||||
#: changedetectionio/blueprint/imports/templates/import.html
|
||||
msgid "URL List"
|
||||
@@ -316,8 +316,8 @@ msgstr "Proteção por senha removida."
|
||||
|
||||
#: changedetectionio/blueprint/settings/__init__.py
|
||||
#, python-brace-format
|
||||
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 ({})"
|
||||
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})"
|
||||
|
||||
#: changedetectionio/blueprint/settings/__init__.py
|
||||
#, python-brace-format
|
||||
@@ -372,7 +372,7 @@ msgstr ""
|
||||
|
||||
#: changedetectionio/blueprint/settings/llm.py
|
||||
#, python-format
|
||||
msgid "AI summary cache cleared (%(n)s file(s) removed)."
|
||||
msgid "AI summary cache cleared (%(count)s file(s) removed)."
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/blueprint/settings/templates/notification-log.html
|
||||
@@ -1094,7 +1094,7 @@ msgstr ""
|
||||
|
||||
#: changedetectionio/blueprint/settings/templates/settings_llm_tab.html
|
||||
#, python-format
|
||||
msgid "characters — currently enforcing: %(n)s"
|
||||
msgid "characters — currently enforcing: %(limit)s"
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/blueprint/settings/templates/settings_llm_tab.html
|
||||
@@ -1457,8 +1457,8 @@ msgstr "1 monitoramento enfileirado para rechecagem."
|
||||
|
||||
#: changedetectionio/blueprint/ui/__init__.py
|
||||
#, python-brace-format
|
||||
msgid "Queued {} watches for rechecking ({} already queued or running)."
|
||||
msgstr "{} monitoramentos enfileirados para rechecagem ({} já na fila ou rodando)."
|
||||
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)."
|
||||
|
||||
#: changedetectionio/blueprint/ui/__init__.py
|
||||
#, python-brace-format
|
||||
@@ -2710,18 +2710,18 @@ msgstr "RegEx '%s' não é uma expressão regular válida."
|
||||
|
||||
#: changedetectionio/forms.py
|
||||
#, python-format
|
||||
msgid "'%s' is not a valid XPath expression. (%s)"
|
||||
msgstr "'%s' não é uma expressão XPath válida. (%s)"
|
||||
msgid "'%(expression)s' is not a valid XPath expression. (%(error)s)"
|
||||
msgstr "'%(expression)s' não é uma expressão XPath válida. (%(error)s)"
|
||||
|
||||
#: changedetectionio/forms.py
|
||||
#, python-format
|
||||
msgid "'%s' is not a valid JSONPath expression. (%s)"
|
||||
msgstr "'%s' não é uma expressão JSONPath válida. (%s)"
|
||||
msgid "'%(expression)s' is not a valid JSONPath expression. (%(error)s)"
|
||||
msgstr "'%(expression)s' não é uma expressão JSONPath válida. (%(error)s)"
|
||||
|
||||
#: changedetectionio/forms.py
|
||||
#, python-format
|
||||
msgid "'%s' is not a valid jq expression. (%s)"
|
||||
msgstr "'%s' não é uma expressão jq válida. (%s)"
|
||||
msgid "'%(expression)s' is not a valid jq expression. (%(error)s)"
|
||||
msgstr "'%(expression)s' não é uma expressão jq válida. (%(error)s)"
|
||||
|
||||
#: changedetectionio/forms.py
|
||||
msgid "Empty value not allowed."
|
||||
@@ -3423,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 ({}/{} watches). Cannot add more watches."
|
||||
msgstr "Limite de monitoramentos atingido ({}/{}). Não é possível adicionar mais."
|
||||
msgid "Watch limit reached ({current}/{limit} watches). Cannot add more watches."
|
||||
msgstr "Limite de monitoramentos atingido ({current}/{limit}). Não é possível adicionar mais."
|
||||
|
||||
#: changedetectionio/templates/_common_fields.html
|
||||
msgid "Body for all notifications — You can use"
|
||||
|
||||
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 "{} Imported from list in {:.2f}s, {} Skipped."
|
||||
msgstr "{} kayıt listeden {:.2f} saniyede içe aktarıldı, {} atlandı."
|
||||
msgid "{count} Imported from list in {duration:.2f}s, {skipped_count} Skipped."
|
||||
msgstr "{count} kayıt listeden {duration:.2f} saniyede içe aktarıldı, {skipped_count} 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 "{} Imported from Distill.io in {:.2f}s, {} Skipped."
|
||||
msgstr "{} kayıt Distill.io'dan {:.2f} saniyede içe aktarıldı, {} atlandı."
|
||||
msgid "{count} Imported from Distill.io in {duration:.2f}s, {skipped_count} Skipped."
|
||||
msgstr "{count} kayıt Distill.io'dan {duration:.2f} saniyede içe aktarıldı, {skipped_count} atlandı."
|
||||
|
||||
#: changedetectionio/blueprint/imports/importer.py
|
||||
msgid "Unable to read export XLSX file, something wrong with the file?"
|
||||
@@ -197,13 +197,13 @@ msgstr "Satır numarası {} işlenirken hata oluştu, tüm hücre veri tiplerini
|
||||
|
||||
#: changedetectionio/blueprint/imports/importer.py
|
||||
#, python-brace-format
|
||||
msgid "{} imported from Wachete .xlsx in {:.2f}s"
|
||||
msgstr "{} kayıt Wachete .xlsx dosyasından {:.2f} saniyede içe aktarıldı"
|
||||
msgid "{count} imported from Wachete .xlsx in {duration:.2f}s"
|
||||
msgstr "{count} kayıt Wachete .xlsx dosyasından {duration:.2f} saniyede içe aktarıldı"
|
||||
|
||||
#: changedetectionio/blueprint/imports/importer.py
|
||||
#, python-brace-format
|
||||
msgid "{} imported from custom .xlsx in {:.2f}s"
|
||||
msgstr "{} kayıt özel .xlsx dosyasından {:.2f} saniyede içe aktarıldı"
|
||||
msgid "{count} imported from custom .xlsx in {duration:.2f}s"
|
||||
msgstr "{count} kayıt özel .xlsx dosyasından {duration:.2f} saniyede içe aktarıldı"
|
||||
|
||||
#: changedetectionio/blueprint/imports/templates/import.html
|
||||
msgid "URL List"
|
||||
@@ -320,8 +320,8 @@ msgstr "Parola koruması kaldırıldı."
|
||||
|
||||
#: changedetectionio/blueprint/settings/__init__.py
|
||||
#, python-brace-format
|
||||
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"
|
||||
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"
|
||||
|
||||
#: changedetectionio/blueprint/settings/__init__.py
|
||||
#, python-brace-format
|
||||
@@ -376,7 +376,7 @@ msgstr ""
|
||||
|
||||
#: changedetectionio/blueprint/settings/llm.py
|
||||
#, python-format
|
||||
msgid "AI summary cache cleared (%(n)s file(s) removed)."
|
||||
msgid "AI summary cache cleared (%(count)s file(s) removed)."
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/blueprint/settings/templates/notification-log.html
|
||||
@@ -1104,7 +1104,7 @@ msgstr ""
|
||||
|
||||
#: changedetectionio/blueprint/settings/templates/settings_llm_tab.html
|
||||
#, python-format
|
||||
msgid "characters — currently enforcing: %(n)s"
|
||||
msgid "characters — currently enforcing: %(limit)s"
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/blueprint/settings/templates/settings_llm_tab.html
|
||||
@@ -1464,8 +1464,8 @@ msgstr "1 izleyici yeniden kontrol için sıraya alındı."
|
||||
|
||||
#: changedetectionio/blueprint/ui/__init__.py
|
||||
#, python-brace-format
|
||||
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)."
|
||||
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)."
|
||||
|
||||
#: changedetectionio/blueprint/ui/__init__.py
|
||||
#, python-brace-format
|
||||
@@ -2715,18 +2715,18 @@ msgstr "'%s' RegEx'i geçerli bir düzenli ifade değil."
|
||||
|
||||
#: changedetectionio/forms.py
|
||||
#, python-format
|
||||
msgid "'%s' is not a valid XPath expression. (%s)"
|
||||
msgstr "'%s' geçerli bir XPath ifadesi değil. (%s)"
|
||||
msgid "'%(expression)s' is not a valid XPath expression. (%(error)s)"
|
||||
msgstr "'%(expression)s' geçerli bir XPath ifadesi değil. (%(error)s)"
|
||||
|
||||
#: changedetectionio/forms.py
|
||||
#, python-format
|
||||
msgid "'%s' is not a valid JSONPath expression. (%s)"
|
||||
msgstr "'%s' geçerli bir JSONPath ifadesi değil. (%s)"
|
||||
msgid "'%(expression)s' is not a valid JSONPath expression. (%(error)s)"
|
||||
msgstr "'%(expression)s' geçerli bir JSONPath ifadesi değil. (%(error)s)"
|
||||
|
||||
#: changedetectionio/forms.py
|
||||
#, python-format
|
||||
msgid "'%s' is not a valid jq expression. (%s)"
|
||||
msgstr "'%s' geçerli bir jq ifadesi değil. (%s)"
|
||||
msgid "'%(expression)s' is not a valid jq expression. (%(error)s)"
|
||||
msgstr "'%(expression)s' geçerli bir jq ifadesi değil. (%(error)s)"
|
||||
|
||||
#: changedetectionio/forms.py
|
||||
msgid "Empty value not allowed."
|
||||
@@ -3428,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 ({}/{} watches). Cannot add more watches."
|
||||
msgstr "İzleyici sınırına ulaşıldı ({}/{} izleyici). Daha fazla izleyici eklenemez."
|
||||
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."
|
||||
|
||||
#: changedetectionio/templates/_common_fields.html
|
||||
msgid "Body for all notifications — You can use"
|
||||
|
||||
Binary file not shown.
@@ -159,8 +159,8 @@ msgstr "Імпортуються перші 5000 URL з вашого списк
|
||||
|
||||
#: changedetectionio/blueprint/imports/importer.py
|
||||
#, python-brace-format
|
||||
msgid "{} Imported from list in {:.2f}s, {} Skipped."
|
||||
msgstr "{} Імпортовано зі списку за {:.2f}с, {} Пропущено."
|
||||
msgid "{count} Imported from list in {duration:.2f}s, {skipped_count} Skipped."
|
||||
msgstr "{count} Імпортовано зі списку за {duration:.2f}с, {skipped_count} Пропущено."
|
||||
|
||||
#: 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 "{} Imported from Distill.io in {:.2f}s, {} Skipped."
|
||||
msgstr "{} Імпортовано з Distill.io за {:.2f}с, {} Пропущено."
|
||||
msgid "{count} Imported from Distill.io in {duration:.2f}s, {skipped_count} Skipped."
|
||||
msgstr "{count} Імпортовано з Distill.io за {duration:.2f}с, {skipped_count} Пропущено."
|
||||
|
||||
#: changedetectionio/blueprint/imports/importer.py
|
||||
msgid "Unable to read export XLSX file, something wrong with the file?"
|
||||
@@ -191,13 +191,13 @@ msgstr "Помилка обробки рядка {}, перевірте прав
|
||||
|
||||
#: changedetectionio/blueprint/imports/importer.py
|
||||
#, python-brace-format
|
||||
msgid "{} imported from Wachete .xlsx in {:.2f}s"
|
||||
msgstr "{} імпортовано з Wachete .xlsx за {:.2f}с"
|
||||
msgid "{count} imported from Wachete .xlsx in {duration:.2f}s"
|
||||
msgstr "{count} імпортовано з Wachete .xlsx за {duration:.2f}с"
|
||||
|
||||
#: changedetectionio/blueprint/imports/importer.py
|
||||
#, python-brace-format
|
||||
msgid "{} imported from custom .xlsx in {:.2f}s"
|
||||
msgstr "{} імпортовано з власного .xlsx за {:.2f}с"
|
||||
msgid "{count} imported from custom .xlsx in {duration:.2f}s"
|
||||
msgstr "{count} імпортовано з власного .xlsx за {duration:.2f}с"
|
||||
|
||||
#: changedetectionio/blueprint/imports/templates/import.html
|
||||
msgid "URL List"
|
||||
@@ -312,8 +312,10 @@ msgstr "Захист паролем вимкнено."
|
||||
|
||||
#: changedetectionio/blueprint/settings/__init__.py
|
||||
#, python-brace-format
|
||||
msgid "Warning: Worker count ({}) is close to or exceeds available CPU cores ({})"
|
||||
msgstr "Увага: Кількість воркерів ({}) наближається до кількості доступних ядер процесора або перевищує її ({})"
|
||||
msgid "Warning: Worker count ({worker_count}) is close to or exceeds available CPU cores ({cpu_count})"
|
||||
msgstr ""
|
||||
"Увага: Кількість воркерів ({worker_count}) наближається до кількості доступних ядер процесора або перевищує її "
|
||||
"({cpu_count})"
|
||||
|
||||
#: changedetectionio/blueprint/settings/__init__.py
|
||||
#, python-brace-format
|
||||
@@ -368,7 +370,7 @@ msgstr ""
|
||||
|
||||
#: changedetectionio/blueprint/settings/llm.py
|
||||
#, python-format
|
||||
msgid "AI summary cache cleared (%(n)s file(s) removed)."
|
||||
msgid "AI summary cache cleared (%(count)s file(s) removed)."
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/blueprint/settings/templates/notification-log.html
|
||||
@@ -1082,7 +1084,7 @@ msgstr ""
|
||||
|
||||
#: changedetectionio/blueprint/settings/templates/settings_llm_tab.html
|
||||
#, python-format
|
||||
msgid "characters — currently enforcing: %(n)s"
|
||||
msgid "characters — currently enforcing: %(limit)s"
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/blueprint/settings/templates/settings_llm_tab.html
|
||||
@@ -1443,8 +1445,8 @@ msgstr "1 завдання додано в чергу на перевірку."
|
||||
|
||||
#: changedetectionio/blueprint/ui/__init__.py
|
||||
#, python-brace-format
|
||||
msgid "Queued {} watches for rechecking ({} already queued or running)."
|
||||
msgstr "Додано {} завдань у чергу ({} вже в черзі або виконуються)."
|
||||
msgid "Queued {count} watches for rechecking ({skipped_count} already queued or running)."
|
||||
msgstr "Додано {count} завдань у чергу ({skipped_count} вже в черзі або виконуються)."
|
||||
|
||||
#: changedetectionio/blueprint/ui/__init__.py
|
||||
#, python-brace-format
|
||||
@@ -2692,18 +2694,18 @@ msgstr "RegEx '%s' не є допустимим регулярним вираз
|
||||
|
||||
#: changedetectionio/forms.py
|
||||
#, python-format
|
||||
msgid "'%s' is not a valid XPath expression. (%s)"
|
||||
msgstr "'%s' не є допустимим виразом XPath. (%s)"
|
||||
msgid "'%(expression)s' is not a valid XPath expression. (%(error)s)"
|
||||
msgstr "'%(expression)s' не є допустимим виразом XPath. (%(error)s)"
|
||||
|
||||
#: changedetectionio/forms.py
|
||||
#, python-format
|
||||
msgid "'%s' is not a valid JSONPath expression. (%s)"
|
||||
msgstr "'%s' не є допустимим виразом JSONPath. (%s)"
|
||||
msgid "'%(expression)s' is not a valid JSONPath expression. (%(error)s)"
|
||||
msgstr "'%(expression)s' не є допустимим виразом JSONPath. (%(error)s)"
|
||||
|
||||
#: changedetectionio/forms.py
|
||||
#, python-format
|
||||
msgid "'%s' is not a valid jq expression. (%s)"
|
||||
msgstr "'%s' не є допустимим виразом jq. (%s)"
|
||||
msgid "'%(expression)s' is not a valid jq expression. (%(error)s)"
|
||||
msgstr "'%(expression)s' не є допустимим виразом jq. (%(error)s)"
|
||||
|
||||
#: changedetectionio/forms.py
|
||||
msgid "Empty value not allowed."
|
||||
@@ -3405,8 +3407,8 @@ msgstr "Протокол завдання не дозволено або нев
|
||||
|
||||
#: changedetectionio/store/__init__.py
|
||||
#, python-brace-format
|
||||
msgid "Watch limit reached ({}/{} watches). Cannot add more watches."
|
||||
msgstr "Досягнуто ліміту завдань ({}/{}). Неможливо додати більше."
|
||||
msgid "Watch limit reached ({current}/{limit} watches). Cannot add more watches."
|
||||
msgstr "Досягнуто ліміту завдань ({current}/{limit}). Неможливо додати більше."
|
||||
|
||||
#: changedetectionio/templates/_common_fields.html
|
||||
msgid "Body for all notifications — You can use"
|
||||
|
||||
Binary file not shown.
@@ -160,8 +160,8 @@ msgstr "仅导入列表前 5,000 个 URL,其余可稍后继续导入。"
|
||||
|
||||
#: changedetectionio/blueprint/imports/importer.py
|
||||
#, python-brace-format
|
||||
msgid "{} Imported from list in {:.2f}s, {} Skipped."
|
||||
msgstr "从列表导入 {} 条,用时 {:.2f} 秒,跳过 {} 条。"
|
||||
msgid "{count} Imported from list in {duration:.2f}s, {skipped_count} Skipped."
|
||||
msgstr "从列表导入 {count} 条,用时 {duration:.2f} 秒,跳过 {skipped_count} 条。"
|
||||
|
||||
#: 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 "{} Imported from Distill.io in {:.2f}s, {} Skipped."
|
||||
msgstr "从 Distill.io 导入 {} 条,用时 {:.2f} 秒,跳过 {} 条。"
|
||||
msgid "{count} Imported from Distill.io in {duration:.2f}s, {skipped_count} Skipped."
|
||||
msgstr "从 Distill.io 导入 {count} 条,用时 {duration:.2f} 秒,跳过 {skipped_count} 条。"
|
||||
|
||||
#: changedetectionio/blueprint/imports/importer.py
|
||||
msgid "Unable to read export XLSX file, something wrong with the file?"
|
||||
@@ -192,13 +192,13 @@ msgstr "处理第 {} 行时出错,请检查单元格数据类型是否正确
|
||||
|
||||
#: changedetectionio/blueprint/imports/importer.py
|
||||
#, python-brace-format
|
||||
msgid "{} imported from Wachete .xlsx in {:.2f}s"
|
||||
msgstr "从 Wachete .xlsx 导入 {} 条,用时 {:.2f} 秒"
|
||||
msgid "{count} imported from Wachete .xlsx in {duration:.2f}s"
|
||||
msgstr "从 Wachete .xlsx 导入 {count} 条,用时 {duration:.2f} 秒"
|
||||
|
||||
#: changedetectionio/blueprint/imports/importer.py
|
||||
#, python-brace-format
|
||||
msgid "{} imported from custom .xlsx in {:.2f}s"
|
||||
msgstr "从自定义 .xlsx 导入 {} 条,用时 {:.2f} 秒"
|
||||
msgid "{count} imported from custom .xlsx in {duration:.2f}s"
|
||||
msgstr "从自定义 .xlsx 导入 {count} 条,用时 {duration:.2f} 秒"
|
||||
|
||||
#: changedetectionio/blueprint/imports/templates/import.html
|
||||
msgid "URL List"
|
||||
@@ -315,8 +315,8 @@ msgstr "已移除密码保护。"
|
||||
|
||||
#: changedetectionio/blueprint/settings/__init__.py
|
||||
#, python-brace-format
|
||||
msgid "Warning: Worker count ({}) is close to or exceeds available CPU cores ({})"
|
||||
msgstr "警告:工作线程数({})接近或超过可用CPU核心数({})"
|
||||
msgid "Warning: Worker count ({worker_count}) is close to or exceeds available CPU cores ({cpu_count})"
|
||||
msgstr "警告:工作线程数({worker_count})接近或超过可用CPU核心数({cpu_count})"
|
||||
|
||||
#: changedetectionio/blueprint/settings/__init__.py
|
||||
#, python-brace-format
|
||||
@@ -371,7 +371,7 @@ msgstr ""
|
||||
|
||||
#: changedetectionio/blueprint/settings/llm.py
|
||||
#, python-format
|
||||
msgid "AI summary cache cleared (%(n)s file(s) removed)."
|
||||
msgid "AI summary cache cleared (%(count)s file(s) removed)."
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/blueprint/settings/templates/notification-log.html
|
||||
@@ -1073,7 +1073,7 @@ msgstr ""
|
||||
|
||||
#: changedetectionio/blueprint/settings/templates/settings_llm_tab.html
|
||||
#, python-format
|
||||
msgid "characters — currently enforcing: %(n)s"
|
||||
msgid "characters — currently enforcing: %(limit)s"
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/blueprint/settings/templates/settings_llm_tab.html
|
||||
@@ -1429,8 +1429,8 @@ msgstr "已将 1 个监控项加入重新检查队列。"
|
||||
|
||||
#: changedetectionio/blueprint/ui/__init__.py
|
||||
#, python-brace-format
|
||||
msgid "Queued {} watches for rechecking ({} already queued or running)."
|
||||
msgstr "{}个监视器已加入队列({}个已在队列中)。"
|
||||
msgid "Queued {count} watches for rechecking ({skipped_count} already queued or running)."
|
||||
msgstr "{count}个监视器已加入队列({skipped_count}个已在队列中)。"
|
||||
|
||||
#: changedetectionio/blueprint/ui/__init__.py
|
||||
#, python-brace-format
|
||||
@@ -2667,18 +2667,18 @@ msgstr "正则表达式“%s”无效。"
|
||||
|
||||
#: changedetectionio/forms.py
|
||||
#, python-format
|
||||
msgid "'%s' is not a valid XPath expression. (%s)"
|
||||
msgstr "“%s”不是有效的 XPath 表达式。(%s)"
|
||||
msgid "'%(expression)s' is not a valid XPath expression. (%(error)s)"
|
||||
msgstr "“%(expression)s”不是有效的 XPath 表达式。(%(error)s)"
|
||||
|
||||
#: changedetectionio/forms.py
|
||||
#, python-format
|
||||
msgid "'%s' is not a valid JSONPath expression. (%s)"
|
||||
msgstr "“%s”不是有效的 JSONPath 表达式。(%s)"
|
||||
msgid "'%(expression)s' is not a valid JSONPath expression. (%(error)s)"
|
||||
msgstr "“%(expression)s”不是有效的 JSONPath 表达式。(%(error)s)"
|
||||
|
||||
#: changedetectionio/forms.py
|
||||
#, python-format
|
||||
msgid "'%s' is not a valid jq expression. (%s)"
|
||||
msgstr "“%s”不是有效的 jq 表达式。(%s)"
|
||||
msgid "'%(expression)s' is not a valid jq expression. (%(error)s)"
|
||||
msgstr "“%(expression)s”不是有效的 jq 表达式。(%(error)s)"
|
||||
|
||||
#: changedetectionio/forms.py
|
||||
msgid "Empty value not allowed."
|
||||
@@ -3380,7 +3380,7 @@ msgstr "监控协议不允许或 URL 格式无效"
|
||||
|
||||
#: changedetectionio/store/__init__.py
|
||||
#, python-brace-format
|
||||
msgid "Watch limit reached ({}/{} watches). Cannot add more watches."
|
||||
msgid "Watch limit reached ({current}/{limit} watches). Cannot add more watches."
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/templates/_common_fields.html
|
||||
|
||||
Binary file not shown.
@@ -160,8 +160,8 @@ msgstr "正在匯入清單中的前 5,000 個 URL,其餘的可以再次匯入
|
||||
|
||||
#: changedetectionio/blueprint/imports/importer.py
|
||||
#, python-brace-format
|
||||
msgid "{} Imported from list in {:.2f}s, {} Skipped."
|
||||
msgstr "{} 已從清單匯入,耗時 {:.2f} 秒,跳過 {} 筆。"
|
||||
msgid "{count} Imported from list in {duration:.2f}s, {skipped_count} Skipped."
|
||||
msgstr "{count} 已從清單匯入,耗時 {duration:.2f} 秒,跳過 {skipped_count} 筆。"
|
||||
|
||||
#: 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 "{} Imported from Distill.io in {:.2f}s, {} Skipped."
|
||||
msgstr "{} 已從 Distill.io 匯入,耗時 {:.2f} 秒,跳過 {} 筆。"
|
||||
msgid "{count} Imported from Distill.io in {duration:.2f}s, {skipped_count} Skipped."
|
||||
msgstr "{count} 已從 Distill.io 匯入,耗時 {duration:.2f} 秒,跳過 {skipped_count} 筆。"
|
||||
|
||||
#: changedetectionio/blueprint/imports/importer.py
|
||||
msgid "Unable to read export XLSX file, something wrong with the file?"
|
||||
@@ -192,13 +192,13 @@ msgstr "處理第 {} 行時發生錯誤,請檢查所有儲存格資料類型
|
||||
|
||||
#: changedetectionio/blueprint/imports/importer.py
|
||||
#, python-brace-format
|
||||
msgid "{} imported from Wachete .xlsx in {:.2f}s"
|
||||
msgstr "{} 已從 Wachete .xlsx 匯入,耗時 {:.2f} 秒"
|
||||
msgid "{count} imported from Wachete .xlsx in {duration:.2f}s"
|
||||
msgstr "{count} 已從 Wachete .xlsx 匯入,耗時 {duration:.2f} 秒"
|
||||
|
||||
#: changedetectionio/blueprint/imports/importer.py
|
||||
#, python-brace-format
|
||||
msgid "{} imported from custom .xlsx in {:.2f}s"
|
||||
msgstr "{} 已從自訂 .xlsx 匯入,耗時 {:.2f} 秒"
|
||||
msgid "{count} imported from custom .xlsx in {duration:.2f}s"
|
||||
msgstr "{count} 已從自訂 .xlsx 匯入,耗時 {duration:.2f} 秒"
|
||||
|
||||
#: changedetectionio/blueprint/imports/templates/import.html
|
||||
msgid "URL List"
|
||||
@@ -314,8 +314,8 @@ msgstr "密碼保護已移除。"
|
||||
|
||||
#: changedetectionio/blueprint/settings/__init__.py
|
||||
#, python-brace-format
|
||||
msgid "Warning: Worker count ({}) is close to or exceeds available CPU cores ({})"
|
||||
msgstr "警告:工作程式數量({})接近或超過可用CPU核心數({})"
|
||||
msgid "Warning: Worker count ({worker_count}) is close to or exceeds available CPU cores ({cpu_count})"
|
||||
msgstr "警告:工作程式數量({worker_count})接近或超過可用CPU核心數({cpu_count})"
|
||||
|
||||
#: changedetectionio/blueprint/settings/__init__.py
|
||||
#, python-brace-format
|
||||
@@ -370,7 +370,7 @@ msgstr ""
|
||||
|
||||
#: changedetectionio/blueprint/settings/llm.py
|
||||
#, python-format
|
||||
msgid "AI summary cache cleared (%(n)s file(s) removed)."
|
||||
msgid "AI summary cache cleared (%(count)s file(s) removed)."
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/blueprint/settings/templates/notification-log.html
|
||||
@@ -1072,7 +1072,7 @@ msgstr ""
|
||||
|
||||
#: changedetectionio/blueprint/settings/templates/settings_llm_tab.html
|
||||
#, python-format
|
||||
msgid "characters — currently enforcing: %(n)s"
|
||||
msgid "characters — currently enforcing: %(limit)s"
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/blueprint/settings/templates/settings_llm_tab.html
|
||||
@@ -1428,8 +1428,8 @@ msgstr "已將 1 個監測任務排入複查佇列。"
|
||||
|
||||
#: changedetectionio/blueprint/ui/__init__.py
|
||||
#, python-brace-format
|
||||
msgid "Queued {} watches for rechecking ({} already queued or running)."
|
||||
msgstr "已將 {} 個監測任務排入複查佇列({} 個已在佇列中或正在執行)。"
|
||||
msgid "Queued {count} watches for rechecking ({skipped_count} already queued or running)."
|
||||
msgstr "已將 {count} 個監測任務排入複查佇列({skipped_count} 個已在佇列中或正在執行)。"
|
||||
|
||||
#: changedetectionio/blueprint/ui/__init__.py
|
||||
#, python-brace-format
|
||||
@@ -2666,18 +2666,18 @@ msgstr "RegEx 「%s」不是有效的正規表示式。"
|
||||
|
||||
#: changedetectionio/forms.py
|
||||
#, python-format
|
||||
msgid "'%s' is not a valid XPath expression. (%s)"
|
||||
msgstr "「%s」不是有效的 XPath 表達式 (%s)。"
|
||||
msgid "'%(expression)s' is not a valid XPath expression. (%(error)s)"
|
||||
msgstr "「%(expression)s」不是有效的 XPath 表達式 (%(error)s)。"
|
||||
|
||||
#: changedetectionio/forms.py
|
||||
#, python-format
|
||||
msgid "'%s' is not a valid JSONPath expression. (%s)"
|
||||
msgstr "「%s」不是有效的 JSONPath 表達式 (%s)。"
|
||||
msgid "'%(expression)s' is not a valid JSONPath expression. (%(error)s)"
|
||||
msgstr "「%(expression)s」不是有效的 JSONPath 表達式 (%(error)s)。"
|
||||
|
||||
#: changedetectionio/forms.py
|
||||
#, python-format
|
||||
msgid "'%s' is not a valid jq expression. (%s)"
|
||||
msgstr "「%s」不是有效的 jq 表達式 (%s)。"
|
||||
msgid "'%(expression)s' is not a valid jq expression. (%(error)s)"
|
||||
msgstr "「%(expression)s」不是有效的 jq 表達式 (%(error)s)。"
|
||||
|
||||
#: changedetectionio/forms.py
|
||||
msgid "Empty value not allowed."
|
||||
@@ -3379,7 +3379,7 @@ msgstr "監測協定不被允許或 URL 格式無效"
|
||||
|
||||
#: changedetectionio/store/__init__.py
|
||||
#, python-brace-format
|
||||
msgid "Watch limit reached ({}/{} watches). Cannot add more watches."
|
||||
msgid "Watch limit reached ({current}/{limit} watches). Cannot add more watches."
|
||||
msgstr ""
|
||||
|
||||
#: changedetectionio/templates/_common_fields.html
|
||||
|
||||
Reference in New Issue
Block a user