From 7dda7e5a44567cca193879037dda7a7dd674e700 Mon Sep 17 00:00:00 2001 From: emil User Date: Wed, 12 Aug 2026 13:24:25 +0000 Subject: [PATCH] DEVX-153: fix: run molecule destroy on test failure to clean up containers --- src/devx/molecule/molecule_ci_guard.py | 44 + src/devx/translations.json | 7532 +++++++++++++----------- 2 files changed, 4053 insertions(+), 3523 deletions(-) diff --git a/src/devx/molecule/molecule_ci_guard.py b/src/devx/molecule/molecule_ci_guard.py index 166dd42..a4f8621 100644 --- a/src/devx/molecule/molecule_ci_guard.py +++ b/src/devx/molecule/molecule_ci_guard.py @@ -246,18 +246,62 @@ def cli(pairs: tuple[str, ...], roles_root: Path | None) -> None: with contextlib.suppress(ProcessLookupError): os.killpg(os.getpgid(process.pid), signal.SIGKILL) process.wait() + # Clean up containers left behind by the killed test. + click.echo(_("Cleaning up: running molecule destroy for {scenario}", scenario=scenario)) + destroy_cmd = ["molecule", "destroy"] + if scenario != "default": + destroy_cmd.extend(["-s", scenario]) + with contextlib.suppress(subprocess.SubprocessError, OSError): + subprocess.run( # nosec B603, B607 + destroy_cmd, + cwd=str(cwd), + env=env, + check=False, + capture_output=True, + timeout=120, + ) sys.exit(1) time.sleep(1) except KeyboardInterrupt: with contextlib.suppress(ProcessLookupError): os.killpg(os.getpgid(process.pid), signal.SIGTERM) process.wait() + # Clean up containers left behind by the interrupted test. + click.echo(_("Cleaning up: running molecule destroy for {scenario}", scenario=scenario)) + destroy_cmd = ["molecule", "destroy"] + if scenario != "default": + destroy_cmd.extend(["-s", scenario]) + with contextlib.suppress(subprocess.SubprocessError, OSError): + subprocess.run( # nosec B603, B607 + destroy_cmd, + cwd=str(cwd), + env=env, + check=False, + capture_output=True, + timeout=120, + ) sys.exit(1) rc = process.returncode if rc != 0: click.echo(_("FAILED: {pair} exited with code {code}", pair=pair, code=rc)) + # Run molecule destroy to clean up containers left behind by the + # failed test. Without this, containers stay running and accumulate + # on the runner, consuming disk/memory and degrading CI performance. + click.echo(_("Cleaning up: running molecule destroy for {scenario}", scenario=scenario)) + destroy_cmd = ["molecule", "destroy"] + if scenario != "default": + destroy_cmd.extend(["-s", scenario]) + with contextlib.suppress(subprocess.SubprocessError, OSError): + subprocess.run( # nosec B603, B607 + destroy_cmd, + cwd=str(cwd), + env=env, + check=False, + capture_output=True, + timeout=120, + ) sys.exit(rc) click.echo(_("PASSED: {pair}", pair=pair)) diff --git a/src/devx/translations.json b/src/devx/translations.json index 3aad660..005f469 100644 --- a/src/devx/translations.json +++ b/src/devx/translations.json @@ -5,7 +5,8 @@ "en": "\n=== Summary ===", "pl": "\n=== Podsumowanie ===", "ru": "\n=== Summary ===", - "zh": "\n=== Summary ===" + "zh": "\n=== Summary ===", + "Cleaning up: running molecule destroy for {scenario}": "Cleaning up: running molecule destroy for {scenario}" }, "\nAll documentation coverage checks passed!": { "bg": "\nAll documentation coverage checks passed!", @@ -13,7 +14,8 @@ "en": "\nAll documentation coverage checks passed!", "pl": "\nWszystkie kontrole pokrycia dokumentacji zakończone pomyślnie!", "ru": "\nAll documentation coverage checks passed!", - "zh": "\nAll documentation coverage checks passed!" + "zh": "\nAll documentation coverage checks passed!", + "Cleaning up: running molecule destroy for {scenario}": "Cleaning up: running molecule destroy for {scenario}" }, "\nCHANGELOG version ordering:": { "bg": "\nCHANGELOG version ordering:", @@ -21,7 +23,8 @@ "en": "\nCHANGELOG version ordering:", "pl": "\nKolejność wersji w CHANGELOG:", "ru": "\nCHANGELOG version ordering:", - "zh": "\nCHANGELOG version ordering:" + "zh": "\nCHANGELOG version ordering:", + "Cleaning up: running molecule destroy for {scenario}": "Cleaning up: running molecule destroy for {scenario}" }, "\nChecking CI script documentation in ci-cd-workflow.md...": { "bg": "\nChecking CI script documentation in ci-cd-workflow.md...", @@ -29,7 +32,8 @@ "en": "\nChecking CI script documentation in ci-cd-workflow.md...", "pl": "\nSprawdzanie dokumentacji skryptów CI w ci-cd-workflow.md...", "ru": "\nChecking CI script documentation in ci-cd-workflow.md...", - "zh": "\nChecking CI script documentation in ci-cd-workflow.md..." + "zh": "\nChecking CI script documentation in ci-cd-workflow.md...", + "Cleaning up: running molecule destroy for {scenario}": "Cleaning up: running molecule destroy for {scenario}" }, "\nChecking module documentation in architecture.md...": { "bg": "\nChecking module documentation in architecture.md...", @@ -37,7 +41,8 @@ "en": "\nChecking module documentation in architecture.md...", "pl": "\nSprawdzanie dokumentacji modułów w architecture.md...", "ru": "\nChecking module documentation in architecture.md...", - "zh": "\nChecking module documentation in architecture.md..." + "zh": "\nChecking module documentation in architecture.md...", + "Cleaning up: running molecule destroy for {scenario}": "Cleaning up: running molecule destroy for {scenario}" }, "\nDoc coverage: {covered}/{total} ({pct}%)": { "bg": "\nDoc coverage: {covered}/{total} ({pct}%)", @@ -45,7 +50,8 @@ "en": "\nDoc coverage: {covered}/{total} ({pct}%)", "pl": "\nPokrycie dokumentacji: {covered}/{total} ({pct}%)", "ru": "\nDoc coverage: {covered}/{total} ({pct}%)", - "zh": "\nDoc coverage: {covered}/{total} ({pct}%)" + "zh": "\nDoc coverage: {covered}/{total} ({pct}%)", + "Cleaning up: running molecule destroy for {scenario}": "Cleaning up: running molecule destroy for {scenario}" }, "\nDone! Synced: {synced}, Pruned: {pruned}": { "bg": "", @@ -53,7 +59,8 @@ "en": "\nDone! Synced: {synced}, Pruned: {pruned}", "pl": "", "ru": "", - "zh": "" + "zh": "", + "Cleaning up: running molecule destroy for {scenario}": "Cleaning up: running molecule destroy for {scenario}" }, "\nDone. Deleted {deleted}, kept {kept}, failed {failed}.": { "bg": "\nDone. Deleted {deleted}, kept {kept}, failed {failed}.", @@ -61,7 +68,8 @@ "en": "\nDone. Deleted {deleted}, kept {kept}, failed {failed}.", "pl": "\nDone. Deleted {deleted}, kept {kept}, failed {failed}.", "ru": "\nDone. Deleted {deleted}, kept {kept}, failed {failed}.", - "zh": "\nDone. Deleted {deleted}, kept {kept}, failed {failed}." + "zh": "\nDone. Deleted {deleted}, kept {kept}, failed {failed}.", + "Cleaning up: running molecule destroy for {scenario}": "Cleaning up: running molecule destroy for {scenario}" }, "\nERROR: Documentation coverage is not 100%. Use --fail-on-missing to enforce.": { "bg": "\nERROR: Documentation coverage is not 100%. Use --fail-on-missing to enforce.", @@ -69,7 +77,8 @@ "en": "\nERROR: Documentation coverage is not 100%. Use --fail-on-missing to enforce.", "pl": "\nBŁĄD: Pokrycie dokumentacji nie wynosi 100%. Użyj --fail-on-missing, aby to wymusić.", "ru": "\nERROR: Documentation coverage is not 100%. Use --fail-on-missing to enforce.", - "zh": "\nERROR: Documentation coverage is not 100%. Use --fail-on-missing to enforce." + "zh": "\nERROR: Documentation coverage is not 100%. Use --fail-on-missing to enforce.", + "Cleaning up: running molecule destroy for {scenario}": "Cleaning up: running molecule destroy for {scenario}" }, "\nFAIL: {n} stale version reference(s) found:": { "bg": "", @@ -77,7 +86,8 @@ "en": "\nFAIL: {n} stale version reference(s) found:", "pl": "", "ru": "", - "zh": "" + "zh": "", + "Cleaning up: running molecule destroy for {scenario}": "Cleaning up: running molecule destroy for {scenario}" }, "\nFix the misaligned tags before creating new releases. Run 'python3 -m devx.ci.release --verify' for a full report.": { "bg": "\nFix the misaligned tags before creating new releases. Run 'python3 -m devx.ci.release --verify' for a full report.", @@ -85,7 +95,8 @@ "en": "\nFix the misaligned tags before creating new releases. Run 'python3 -m devx.ci.release --verify' for a full report.", "pl": "\nNapraw niezgodne tagi przed utworzeniem nowych wydań. Uruchom 'python3 -m devx.ci.release --verify', aby uzyskać pełny raport.", "ru": "\nFix the misaligned tags before creating new releases. Run 'python3 -m devx.ci.release --verify' for a full report.", - "zh": "\nFix the misaligned tags before creating new releases. Run 'python3 -m devx.ci.release --verify' for a full report." + "zh": "\nFix the misaligned tags before creating new releases. Run 'python3 -m devx.ci.release --verify' for a full report.", + "Cleaning up: running molecule destroy for {scenario}": "Cleaning up: running molecule destroy for {scenario}" }, "\nFixed {n} stale version reference(s).": { "bg": "", @@ -93,7 +104,8 @@ "en": "\nFixed {n} stale version reference(s).", "pl": "", "ru": "", - "zh": "" + "zh": "", + "Cleaning up: running molecule destroy for {scenario}": "Cleaning up: running molecule destroy for {scenario}" }, "\nGenerated {count} badges:": { "bg": "\nGenerated {count} badges:", @@ -101,7 +113,8 @@ "en": "\nGenerated {count} badges:", "pl": "\nGenerated {count} badges:", "ru": "\nGenerated {count} badges:", - "zh": "\nGenerated {count} badges:" + "zh": "\nGenerated {count} badges:", + "Cleaning up: running molecule destroy for {scenario}": "Cleaning up: running molecule destroy for {scenario}" }, "\nKeeping {kept}, would delete {count}": { "bg": "\nKeeping {kept}, would delete {count}", @@ -109,7 +122,8 @@ "en": "\nKeeping {kept}, would delete {count}", "pl": "\nKeeping {kept}, would delete {count}", "ru": "\nKeeping {kept}, would delete {count}", - "zh": "\nKeeping {kept}, would delete {count}" + "zh": "\nKeeping {kept}, would delete {count}", + "Cleaning up: running molecule destroy for {scenario}": "Cleaning up: running molecule destroy for {scenario}" }, "\nLatest tag: {tag}": { "bg": "\nLatest tag: {tag}", @@ -117,7 +131,8 @@ "en": "\nLatest tag: {tag}", "pl": "\nNajnowszy tag: {tag}", "ru": "\nLatest tag: {tag}", - "zh": "\nLatest tag: {tag}" + "zh": "\nLatest tag: {tag}", + "Cleaning up: running molecule destroy for {scenario}": "Cleaning up: running molecule destroy for {scenario}" }, "\nMissing documentation:": { "bg": "\nMissing documentation:", @@ -125,7 +140,8 @@ "en": "\nMissing documentation:", "pl": "\nBrakująca dokumentacja:", "ru": "\nMissing documentation:", - "zh": "\nMissing documentation:" + "zh": "\nMissing documentation:", + "Cleaning up: running molecule destroy for {scenario}": "Cleaning up: running molecule destroy for {scenario}" }, "\nNo stale version references found.": { "bg": "", @@ -133,7 +149,8 @@ "en": "\nNo stale version references found.", "pl": "", "ru": "", - "zh": "" + "zh": "", + "Cleaning up: running molecule destroy for {scenario}": "Cleaning up: running molecule destroy for {scenario}" }, "\nPASS: All version references are current.": { "bg": "", @@ -141,7 +158,8 @@ "en": "\nPASS: All version references are current.", "pl": "", "ru": "", - "zh": "" + "zh": "", + "Cleaning up: running molecule destroy for {scenario}": "Cleaning up: running molecule destroy for {scenario}" }, "\nResult: {status}": { "bg": "\nResult: {status}", @@ -149,7 +167,8 @@ "en": "\nResult: {status}", "pl": "\nWynik: {status}", "ru": "\nResult: {status}", - "zh": "\nResult: {status}" + "zh": "\nResult: {status}", + "Cleaning up: running molecule destroy for {scenario}": "Cleaning up: running molecule destroy for {scenario}" }, "\nReview #{review_id} posted on PR #{pr_number} with event '{event}' ({num_comments} inline comments).": { "bg": "\nReview #{review_id} posted on PR #{pr_number} with event '{event}' ({num_comments} inline comments).", @@ -157,7 +176,8 @@ "en": "\nReview #{review_id} posted on PR #{pr_number} with event '{event}' ({num_comments} inline comments).", "pl": "\nRecenzja #{review_id} opublikowana na PR #{pr_number} ze zdarzeniem '{event}' ({num_comments} komentarzy w tekście).", "ru": "\nReview #{review_id} posted on PR #{pr_number} with event '{event}' ({num_comments} inline comments).", - "zh": "\nReview #{review_id} posted on PR #{pr_number} with event '{event}' ({num_comments} inline comments)." + "zh": "\nReview #{review_id} posted on PR #{pr_number} with event '{event}' ({num_comments} inline comments).", + "Cleaning up: running molecule destroy for {scenario}": "Cleaning up: running molecule destroy for {scenario}" }, "\nReview #{review_id} posted on PR #{pr_number} with event '{event}'.": { "bg": "\nReview #{review_id} posted on PR #{pr_number} with event '{event}'.", @@ -165,7 +185,8 @@ "en": "\nReview #{review_id} posted on PR #{pr_number} with event '{event}'.", "pl": "\nReview #{review_id} posted on PR #{pr_number} with event '{event}'.", "ru": "\nReview #{review_id} posted on PR #{pr_number} with event '{event}'.", - "zh": "\nReview #{review_id} posted on PR #{pr_number} with event '{event}'." + "zh": "\nReview #{review_id} posted on PR #{pr_number} with event '{event}'.", + "Cleaning up: running molecule destroy for {scenario}": "Cleaning up: running molecule destroy for {scenario}" }, "\nRun with --fix to auto-update version references.": { "bg": "", @@ -173,7 +194,8 @@ "en": "\nRun with --fix to auto-update version references.", "pl": "", "ru": "", - "zh": "" + "zh": "", + "Cleaning up: running molecule destroy for {scenario}": "Cleaning up: running molecule destroy for {scenario}" }, "\nTag → Commit alignment:": { "bg": "\nTag → Commit alignment:", @@ -181,3487 +203,8 @@ "en": "\nTag → Commit alignment:", "pl": "\nTag → Commit: zgodność:", "ru": "\nTag → Commit alignment:", - "zh": "\nTag → Commit alignment:" - }, - "\nUntagged release commits:": { - "bg": "\nUntagged release commits:", - "de": "\nUntagged release commits:", - "en": "\nUntagged release commits:", - "pl": "\nCommity wydania bez tagu:", - "ru": "\nUntagged release commits:", - "zh": "\nUntagged release commits:" - }, - "\nUser-facing changes ({count}):": { - "bg": "\nUser-facing changes ({count}):", - "de": "\nUser-facing changes ({count}):", - "en": "\nUser-facing changes ({count}):", - "pl": "\nZmiany widoczne dla użytkownika ({count}):", - "ru": "\nUser-facing changes ({count}):", - "zh": "\nUser-facing changes ({count}):" - }, - "\nVerification passed — all wiki pages exist.": { - "bg": "", - "de": "", - "en": "\nVerification passed — all wiki pages exist.", - "pl": "", - "ru": "", - "zh": "" - }, - "\nVerifying wiki pages...": { - "bg": "", - "de": "", - "en": "\nVerifying wiki pages...", - "pl": "", - "ru": "", - "zh": "" - }, - "\nWorkflow-only changes ({count}):": { - "bg": "\nWorkflow-only changes ({count}):", - "de": "\nWorkflow-only changes ({count}):", - "en": "\nWorkflow-only changes ({count}):", - "pl": "\nZmiany tylko w workflow ({count}):", - "ru": "\nWorkflow-only changes ({count}):", - "zh": "\nWorkflow-only changes ({count}):" - }, - "\n[check_test_coverage] Fix: add the missing test file(s) before committing.": { - "bg": "\n[check_test_coverage] Fix: add the missing test file(s) before committing.", - "de": "\n[check_test_coverage] Fix: add the missing test file(s) before committing.", - "en": "\n[check_test_coverage] Fix: add the missing test file(s) before committing.", - "pl": "\n[check_test_coverage] Fix: add the missing test file(s) before committing.", - "ru": "\n[check_test_coverage] Fix: add the missing test file(s) before committing.", - "zh": "\n[check_test_coverage] Fix: add the missing test file(s) before committing." - }, - "\n[dry-run] Changelog:\n{changelog}": { - "bg": "\n[dry-run] Changelog:\n{changelog}", - "de": "\n[dry-run] Changelog:\n{changelog}", - "en": "\n[dry-run] Changelog:\n{changelog}", - "pl": "\n[dry-run] Changelog:\n{changelog}", - "ru": "\n[dry-run] Changelog:\n{changelog}", - "zh": "\n[dry-run] Changelog:\n{changelog}" - }, - "\n{label} files changed ({count}):": { - "bg": "\n{label} files changed ({count}):", - "de": "\n{label} files changed ({count}):", - "en": "\n{label} files changed ({count}):", - "pl": "\n{label} plików zmienionych ({count}):", - "ru": "\n{label} files changed ({count}):", - "zh": "\n{label} files changed ({count}):" - }, - "\n{separator}": { - "bg": "\n{separator}", - "de": "\n{separator}", - "en": "\n{separator}", - "pl": "\n{separator}", - "ru": "\n{separator}", - "zh": "\n{separator}" - }, - "\n{tag} files ({count}):": { - "bg": "\n{tag} files ({count}):", - "de": "\n{tag} files ({count}):", - "en": "\n{tag} files ({count}):", - "pl": "\nPliki {tag} ({count}):", - "ru": "\n{tag} files ({count}):", - "zh": "\n{tag} files ({count}):" - }, - " Could not fetch logs: {error}": { - "bg": " Could not fetch logs: {error}", - "de": " Could not fetch logs: {error}", - "en": " Could not fetch logs: {error}", - "pl": " Could not fetch logs: {error}", - "ru": " Could not fetch logs: {error}", - "zh": " Could not fetch logs: {error}" - }, - " pytest stderr (last 300 chars): {stderr}": { - "bg": " pytest stderr (last 300 chars): {stderr}", - "de": " pytest stderr (last 300 chars): {stderr}", - "en": " pytest stderr (last 300 chars): {stderr}", - "pl": " pytest stderr (last 300 chars): {stderr}", - "ru": " pytest stderr (last 300 chars): {stderr}", - "zh": " pytest stderr (last 300 chars): {stderr}" - }, - " pytest stdout (last 300 chars): {stdout}": { - "bg": " pytest stdout (last 300 chars): {stdout}", - "de": " pytest stdout (last 300 chars): {stdout}", - "en": " pytest stdout (last 300 chars): {stdout}", - "pl": " pytest stdout (last 300 chars): {stdout}", - "ru": " pytest stdout (last 300 chars): {stdout}", - "zh": " pytest stdout (last 300 chars): {stdout}" - }, - " stderr: {stderr}": { - "bg": " stderr: {stderr}", - "de": " stderr: {stderr}", - "en": " stderr: {stderr}", - "pl": " stderr: {stderr}", - "ru": " stderr: {stderr}", - "zh": " stderr: {stderr}" - }, - " - Auto-delete branch after merge: yes": { - "bg": " - Автоматично изтриване на клон след сливане: да", - "de": " - Branch nach Merge automatisch löschen: ja", - "en": " - Auto-delete branch after merge: yes", - "pl": " - Auto-usuwanie gałęzi po scaleniu: tak", - "ru": " - Автоудаление ветки после слияния: да", - "zh": " - 合并后自动删除分支: 是" - }, - " - Block admin merge override: yes": { - "bg": " - Блокиране на admin merge override: да", - "de": " - Admin-Merge-Override blockieren: ja", - "en": " - Block admin merge override: yes", - "pl": " - Blokuj admin merge override: tak", - "ru": " - Блокировать admin merge override: да", - "zh": " - 阻止管理员合并覆盖:是" - }, - " - Block outdated branches: yes": { - "bg": " - Блокиране на остарели клонове: да", - "de": " - Veraltete Branches blockieren: ja", - "en": " - Block outdated branches: yes", - "pl": " - Blokowanie nieaktualnych gałęzi: tak", - "ru": " - Блокировать устаревшие ветки: да", - "zh": " - 阻止过时分支: 是" - }, - " - Block rejected reviews: yes": { - "bg": " - Блокиране на отхвърлени рецензии: да", - "de": " - Abgelehnte Reviews blockieren: ja", - "en": " - Block rejected reviews: yes", - "pl": " - Blokowanie odrzuconych recenzji: tak", - "ru": " - Блокировать отклонённые ревью: да", - "zh": " - 阻止被拒绝的审查: 是" - }, - " - Direct pushes: BLOCKED (require PR, whitelisted users can push)": { - "bg": " - Direct pushes: BLOCKED (require PR, whitelisted users can push)", - "de": " - Direct pushes: BLOCKED (require PR, whitelisted users can push)", - "en": " - Direct pushes: BLOCKED (require PR, whitelisted users can push)", - "pl": " - Bezpośrednie push-e: ZABLOKOWANE (wymagają PR, użytkownicy z białej listy mogą pushować)", - "ru": " - Direct pushes: BLOCKED (require PR, whitelisted users can push)", - "zh": " - Direct pushes: BLOCKED (require PR, whitelisted users can push)" - }, - " - Dismiss stale approvals: yes": { - "bg": " - Анулиране на остарели одобрения: да", - "de": " - Veraltete Genehmigungen ablehnen: ja", - "en": " - Dismiss stale approvals: yes", - "pl": " - Odrzucanie nieaktualnych zatwierdzeń: tak", - "ru": " - Отклонять устаревшие одобрения: да", - "zh": " - 忽略过时审批: 是" - }, - " - Required approvals: {count}": { - "bg": " - Необходими одобрения: {count}", - "de": " - Erforderliche Genehmigungen: {count}", - "en": " - Required approvals: {count}", - "pl": " - Wymagane zatwierdzenia: {count}", - "ru": " - Требуемые одобрения: {count}", - "zh": " - 必需审批数: {count}" - }, - " - Required status checks: {checks}": { - "bg": " - Необходими проверки на състоянието: {checks}", - "de": " - Erforderliche Status-Checks: {checks}", - "en": " - Required status checks: {checks}", - "pl": " - Wymagane kontrole statusu: {checks}", - "ru": " - Требуемые проверки статуса: {checks}", - "zh": " - 必需状态检查: {checks}" - }, - " - {count} standard labels verified": { - "bg": " - {count} standard labels verified", - "de": " - {count} standard labels verified", - "en": " - {count} standard labels verified", - "pl": " - {count} standard labels verified", - "ru": " - {count} standard labels verified", - "zh": " - {count} standard labels verified" - }, - " -> {dir}": { - "bg": " -> {dir}", - "de": " -> {dir}", - "en": " -> {dir}", - "pl": " -> {dir}", - "ru": " -> {dir}", - "zh": " -> {dir}" - }, - " ... and {n} more": { - "bg": "", - "de": "", - "en": " ... and {n} more", - "pl": "", - "ru": "", - "zh": "" - }, - " Auto-fixed trailing whitespace in {n} files": { - "bg": " Auto-fixed trailing whitespace in {n} files", - "de": " Auto-fixed trailing whitespace in {n} files", - "en": " Auto-fixed trailing whitespace in {n} files", - "pl": " Auto-fixed trailing whitespace in {n} files", - "ru": " Auto-fixed trailing whitespace in {n} files", - "zh": " Auto-fixed trailing whitespace in {n} files" - }, - " Collecting code quality...": { - "bg": " Collecting code quality...", - "de": " Collecting code quality...", - "en": " Collecting code quality...", - "pl": " Collecting code quality...", - "ru": " Collecting code quality...", - "zh": " Collecting code quality..." - }, - " Collecting coverage and tests...": { - "bg": " Collecting coverage and tests...", - "de": " Collecting coverage and tests...", - "en": " Collecting coverage and tests...", - "pl": " Collecting coverage and tests...", - "ru": " Collecting coverage and tests...", - "zh": " Collecting coverage and tests..." - }, - " Collecting doc coverage...": { - "bg": " Collecting doc coverage...", - "de": " Collecting doc coverage...", - "en": " Collecting doc coverage...", - "pl": " Collecting doc coverage...", - "ru": " Collecting doc coverage...", - "zh": " Collecting doc coverage..." - }, - " Collecting version...": { - "bg": " Collecting version...", - "de": " Collecting version...", - "en": " Collecting version...", - "pl": " Collecting version...", - "ru": " Collecting version...", - "zh": " Collecting version..." - }, - " Deleted: {version}": { - "bg": " Deleted: {version}", - "de": " Deleted: {version}", - "en": " Deleted: {version}", - "pl": " Deleted: {version}", - "ru": " Deleted: {version}", - "zh": " Deleted: {version}" - }, - " FAIL: {title} — page not found in wiki!": { - "bg": "", - "de": "", - "en": " FAIL: {title} — page not found in wiki!", - "pl": "", - "ru": "", - "zh": "" - }, - " FAILED to delete: {version}": { - "bg": " FAILED to delete: {version}", - "de": " FAILED to delete: {version}", - "en": " FAILED to delete: {version}", - "pl": " FAILED to delete: {version}", - "ru": " FAILED to delete: {version}", - "zh": " FAILED to delete: {version}" - }, - " Fixed {fixes} version ref(s) in {file}": { - "bg": "", - "de": "", - "en": " Fixed {fixes} version ref(s) in {file}", - "pl": "", - "ru": "", - "zh": "" - }, - " Generated: {path}": { - "bg": " Generated: {path}", - "de": " Generated: {path}", - "en": " Generated: {path}", - "pl": " Generated: {path}", - "ru": " Generated: {path}", - "zh": " Generated: {path}" - }, - " MISSING: {cmd}": { - "bg": " MISSING: {cmd}", - "de": " MISSING: {cmd}", - "en": " MISSING: {cmd}", - "pl": " MISSING: {cmd}", - "ru": " MISSING: {cmd}", - "zh": " MISSING: {cmd}" - }, - " MISSING: {module}": { - "bg": " MISSING: {module}", - "de": " MISSING: {module}", - "en": " MISSING: {module}", - "pl": " BRAK: {module}", - "ru": " MISSING: {module}", - "zh": " MISSING: {module}" - }, - " MISSING: {script}": { - "bg": " MISSING: {script}", - "de": " MISSING: {script}", - "en": " MISSING: {script}", - "pl": " BRAK: {script}", - "ru": " MISSING: {script}", - "zh": " MISSING: {script}" - }, - " OK: {cmd}": { - "bg": " OK: {cmd}", - "de": " OK: {cmd}", - "en": " OK: {cmd}", - "pl": " OK: {cmd}", - "ru": " OK: {cmd}", - "zh": " OK: {cmd}" - }, - " OK: {module}": { - "bg": " OK: {module}", - "de": " OK: {module}", - "en": " OK: {module}", - "pl": " OK: {module}", - "ru": " OK: {module}", - "zh": " OK: {module}" - }, - " OK: {script}": { - "bg": " OK: {script}", - "de": " OK: {script}", - "en": " OK: {script}", - "pl": " OK: {script}", - "ru": " OK: {script}", - "zh": " OK: {script}" - }, - " OK: {title}": { - "bg": "", - "de": "", - "en": " OK: {title}", - "pl": "", - "ru": "", - "zh": "" - }, - " Package: {pkg}": { - "bg": " Package: {pkg}", - "de": " Package: {pkg}", - "en": " Package: {pkg}", - "pl": " Package: {pkg}", - "ru": " Package: {pkg}", - "zh": " Package: {pkg}" - }, - " Pruned: {file} (not in mapping)": { - "bg": "", - "de": "", - "en": " Pruned: {file} (not in mapping)", - "pl": "", - "ru": "", - "zh": "" - }, - " Quality checks: {checks}": { - "bg": " Quality checks: {checks}", - "de": " Quality checks: {checks}", - "en": " Quality checks: {checks}", - "pl": " Quality checks: {checks}", - "ru": " Quality checks: {checks}", - "zh": " Quality checks: {checks}" - }, - " Repo root: {root}": { - "bg": " Repo root: {root}", - "de": " Repo root: {root}", - "en": " Repo root: {root}", - "pl": " Repo root: {root}", - "ru": " Repo root: {root}", - "zh": " Repo root: {root}" - }, - " Run 'make install-checkmake' to install the Makefile linter.": { - "bg": " Изпълнете 'make install-checkmake' за инсталиране на Makefile линтера.", - "de": " Führen Sie 'make install-checkmake' aus, um den Makefile-Linter zu installieren.", - "en": " Run 'make install-checkmake' to install the Makefile linter.", - "pl": " Uruchom 'make install-checkmake', aby zainstalować linter Makefile.", - "ru": " Выполните 'make install-checkmake' для установки линтера Makefile.", - "zh": " 运行 'make install-checkmake' 来安装 Makefile 检查器。" - }, - " Synced: {title} → {file}": { - "bg": "", - "de": "", - "en": " Synced: {title} → {file}", - "pl": "", - "ru": "", - "zh": "" - }, - " Test paths: {testpaths}": { - "bg": " Test paths: {testpaths}", - "de": " Test paths: {testpaths}", - "en": " Test paths: {testpaths}", - "pl": " Test paths: {testpaths}", - "ru": " Test paths: {testpaths}", - "zh": " Test paths: {testpaths}" - }, - " WARN: Mapped file {file} is empty, skipping": { - "bg": "", - "de": "", - "en": " WARN: Mapped file {file} is empty, skipping", - "pl": "", - "ru": "", - "zh": "" - }, - " WARN: Mapped file {file} not found, skipping": { - "bg": "", - "de": "", - "en": " WARN: Mapped file {file} not found, skipping", - "pl": "", - "ru": "", - "zh": "" - }, - " WARNING: Could not extract coverage from pytest output (rc={rc})": { - "bg": " WARNING: Could not extract coverage from pytest output (rc={rc})", - "de": " WARNING: Could not extract coverage from pytest output (rc={rc})", - "en": " WARNING: Could not extract coverage from pytest output (rc={rc})", - "pl": " WARNING: Could not extract coverage from pytest output (rc={rc})", - "ru": " WARNING: Could not extract coverage from pytest output (rc={rc})", - "zh": " WARNING: Could not extract coverage from pytest output (rc={rc})" - }, - " WARNING: Could not extract doc coverage (rc={rc})": { - "bg": " WARNING: Could not extract doc coverage (rc={rc})", - "de": " WARNING: Could not extract doc coverage (rc={rc})", - "en": " WARNING: Could not extract doc coverage (rc={rc})", - "pl": " WARNING: Could not extract doc coverage (rc={rc})", - "ru": " WARNING: Could not extract doc coverage (rc={rc})", - "zh": " WARNING: Could not extract doc coverage (rc={rc})" - }, - " WARNING: Could not extract test count from pytest output (rc={rc})": { - "bg": " WARNING: Could not extract test count from pytest output (rc={rc})", - "de": " WARNING: Could not extract test count from pytest output (rc={rc})", - "en": " WARNING: Could not extract test count from pytest output (rc={rc})", - "pl": " WARNING: Could not extract test count from pytest output (rc={rc})", - "ru": " WARNING: Could not extract test count from pytest output (rc={rc})", - "zh": " WARNING: Could not extract test count from pytest output (rc={rc})" - }, - " WARNING: No Python package found under src/ — version badge will show 'unknown'": { - "bg": " WARNING: No Python package found under src/ — version badge will show 'unknown'", - "de": " WARNING: No Python package found under src/ — version badge will show 'unknown'", - "en": " WARNING: No Python package found under src/ — version badge will show 'unknown'", - "pl": " WARNING: No Python package found under src/ — version badge will show 'unknown'", - "ru": " WARNING: No Python package found under src/ — version badge will show 'unknown'", - "zh": " WARNING: No Python package found under src/ — version badge will show 'unknown'" - }, - " WARNING: No __version__ found in {init_file} — version badge will show 'unknown'": { - "bg": " WARNING: No __version__ found in {init_file} — version badge will show 'unknown'", - "de": " WARNING: No __version__ found in {init_file} — version badge will show 'unknown'", - "en": " WARNING: No __version__ found in {init_file} — version badge will show 'unknown'", - "pl": " WARNING: No __version__ found in {init_file} — version badge will show 'unknown'", - "ru": " WARNING: No __version__ found in {init_file} — version badge will show 'unknown'", - "zh": " WARNING: No __version__ found in {init_file} — version badge will show 'unknown'" - }, - " WARNING: No coverage target detected (no src/ package, no --cov in pyproject.toml)": { - "bg": " WARNING: No coverage target detected (no src/ package, no --cov in pyproject.toml)", - "de": " WARNING: No coverage target detected (no src/ package, no --cov in pyproject.toml)", - "en": " WARNING: No coverage target detected (no src/ package, no --cov in pyproject.toml)", - "pl": " WARNING: No coverage target detected (no src/ package, no --cov in pyproject.toml)", - "ru": " WARNING: No coverage target detected (no src/ package, no --cov in pyproject.toml)", - "zh": " WARNING: No coverage target detected (no src/ package, no --cov in pyproject.toml)" - }, - " WARNING: {init_file} not found — version badge will show 'unknown'": { - "bg": " WARNING: {init_file} not found — version badge will show 'unknown'", - "de": " WARNING: {init_file} not found — version badge will show 'unknown'", - "en": " WARNING: {init_file} not found — version badge will show 'unknown'", - "pl": " WARNING: {init_file} not found — version badge will show 'unknown'", - "ru": " WARNING: {init_file} not found — version badge will show 'unknown'", - "zh": " WARNING: {init_file} not found — version badge will show 'unknown'" - }, - " WARNING: {name} failed (rc={rc})": { - "bg": " WARNING: {name} failed (rc={rc})", - "de": " WARNING: {name} failed (rc={rc})", - "en": " WARNING: {name} failed (rc={rc})", - "pl": " WARNING: {name} failed (rc={rc})", - "ru": " WARNING: {name} failed (rc={rc})", - "zh": " WARNING: {name} failed (rc={rc})" - }, - " WARNING: {name} not installed — skipping (counted as pass)": { - "bg": " WARNING: {name} not installed — skipping (counted as pass)", - "de": " WARNING: {name} not installed — skipping (counted as pass)", - "en": " WARNING: {name} not installed — skipping (counted as pass)", - "pl": " WARNING: {name} not installed — skipping (counted as pass)", - "ru": " WARNING: {name} not installed — skipping (counted as pass)", - "zh": " WARNING: {name} not installed — skipping (counted as pass)" - }, - " [dry-run] Would delete: {version}": { - "bg": " [dry-run] Would delete: {version}", - "de": " [dry-run] Would delete: {version}", - "en": " [dry-run] Would delete: {version}", - "pl": " [dry-run] Would delete: {version}", - "ru": " [dry-run] Would delete: {version}", - "zh": " [dry-run] Would delete: {version}" - }, - " {name}: {label}={message} ({color})": { - "bg": " {name}: {label}={message} ({color})", - "de": " {name}: {label}={message} ({color})", - "en": " {name}: {label}={message} ({color})", - "pl": " {name}: {label}={message} ({color})", - "ru": " {name}: {label}={message} ({color})", - "zh": " {name}: {label}={message} ({color})" - }, - " {n} long lines found (warnings only)": { - "bg": "", - "de": "", - "en": " {n} long lines found (warnings only)", - "pl": "", - "ru": "", - "zh": "" - }, - " {n} orphan docs found (warnings only)": { - "bg": "", - "de": "", - "en": " {n} orphan docs found (warnings only)", - "pl": "", - "ru": "", - "zh": "" - }, - " {n} stale docs found (warnings only)": { - "bg": " {n} stale docs found (warnings only)", - "de": " {n} stale docs found (warnings only)", - "en": " {n} stale docs found (warnings only)", - "pl": " {n} stale docs found (warnings only)", - "ru": " {n} stale docs found (warnings only)", - "zh": " {n} stale docs found (warnings only)" - }, - " {tool}: found at {path}": { - "bg": " {tool}: намерен на {path}", - "de": " {tool}: gefunden unter {path}", - "en": " {tool}: found at {path}", - "pl": " {tool}: znaleziono w {path}", - "ru": " {tool}: найден в {path}", - "zh": " {tool}: 在 {path} 找到" - }, - " {version} (created: {created})": { - "bg": " {version} (created: {created})", - "de": " {version} (created: {created})", - "en": " {version} (created: {created})", - "pl": " {version} (created: {created})", - "ru": " {version} (created: {created})", - "zh": " {version} (created: {created})" - }, - "--checklist-categories must list at least 8 of 13 categories. Got {count}.": { - "bg": "--checklist-categories must list at least 8 of 13 categories. Got {count}.", - "de": "--checklist-categories must list at least 8 of 13 categories. Got {count}.", - "en": "--checklist-categories must list at least 8 of 13 categories. Got {count}.", - "pl": "--checklist-categories must list at least 8 of 13 categories. Got {count}.", - "ru": "--checklist-categories must list at least 8 of 13 categories. Got {count}.", - "zh": "--checklist-categories must list at least 8 of 13 categories. Got {count}." - }, - "--checklist-confirmed is required for APPROVE events.": { - "bg": "--checklist-confirmed is required for APPROVE events.", - "de": "--checklist-confirmed is required for APPROVE events.", - "en": "--checklist-confirmed is required for APPROVE events.", - "pl": "--checklist-confirmed is required for APPROVE events.", - "ru": "--checklist-confirmed is required for APPROVE events.", - "zh": "--checklist-confirmed is required for APPROVE events." - }, - "--push requires --registry": { - "bg": "--push requires --registry", - "de": "--push requires --registry", - "en": "--push requires --registry", - "pl": "--push requires --registry", - "ru": "--push requires --registry", - "zh": "--push requires --registry" - }, - "--skip-build: skipping package build and PyPI publish.": { - "bg": "--skip-build: skipping package build and PyPI publish.", - "de": "--skip-build: skipping package build and PyPI publish.", - "en": "--skip-build: skipping package build and PyPI publish.", - "pl": "--skip-build: pomijanie budowania pakietu i publikacji PyPI.", - "ru": "--skip-build: skipping package build and PyPI publish.", - "zh": "--skip-build: skipping package build and PyPI publish." - }, - "=== Release Alignment Verification ===\n": { - "bg": "=== Release Alignment Verification ===\n", - "de": "=== Release Alignment Verification ===\n", - "en": "=== Release Alignment Verification ===\n", - "pl": "=== Weryfikacja zgodności wydań ===\n", - "ru": "=== Release Alignment Verification ===\n", - "zh": "=== Release Alignment Verification ===\n" - }, - "API poll warning: {exc}": { - "bg": "API poll warning: {exc}", - "de": "API poll warning: {exc}", - "en": "API poll warning: {exc}", - "pl": "Ostrzeżenie sondowania API: {exc}", - "ru": "API poll warning: {exc}", - "zh": "API poll warning: {exc}" - }, - "Added label '{label}' to PR #{pr}.": { - "bg": "Added label '{label}' to PR #{pr}.", - "de": "Added label '{label}' to PR #{pr}.", - "en": "Added label '{label}' to PR #{pr}.", - "pl": "Added label '{label}' to PR #{pr}.", - "ru": "Added label '{label}' to PR #{pr}.", - "zh": "Added label '{label}' to PR #{pr}." - }, - "Additional directory to scan (default: scripts, tests). Can be repeated.": { - "bg": "Additional directory to scan (default: scripts, tests). Can be repeated.", - "de": "Additional directory to scan (default: scripts, tests). Can be repeated.", - "en": "Additional directory to scan (default: scripts, tests). Can be repeated.", - "pl": "Additional directory to scan (default: scripts, tests). Can be repeated.", - "ru": "Additional directory to scan (default: scripts, tests). Can be repeated.", - "zh": "Additional directory to scan (default: scripts, tests). Can be repeated." - }, - "All molecule tests passed.": { - "bg": "All molecule tests passed.", - "de": "All molecule tests passed.", - "en": "All molecule tests passed.", - "pl": "Wszystkie testy molecule zakończone pomyślnie.", - "ru": "All molecule tests passed.", - "zh": "All molecule tests passed." - }, - "Allow empty tag (PR mode where SHA is concrete).": { - "bg": "Позволи празен таг (PR режим, където SHA е конкретен).", - "de": "Leeren Tag zulassen (PR-Modus, in dem SHA konkret ist).", - "en": "Allow empty tag (PR mode where SHA is concrete).", - "pl": "Zezwalaj na pusty tag (tryb PR, w którym SHA jest konkretne).", - "ru": "Разрешить пустой тег (режим PR, где SHA конкретен).", - "zh": "允许空标签(SHA 为具体值的 PR 模式)。" - }, - "Another molecule runner failed. Stopping this runner early.": { - "bg": "Another molecule runner failed. Stopping this runner early.", - "de": "Another molecule runner failed. Stopping this runner early.", - "en": "Another molecule runner failed. Stopping this runner early.", - "pl": "Inny runner molecule zakończył się niepowodzeniem. Wczesne zatrzymanie tego runnera.", - "ru": "Another molecule runner failed. Stopping this runner early.", - "zh": "Another molecule runner failed. Stopping this runner early." - }, - "Assigned {count} files to runner {runner_index}": { - "bg": "Assigned {count} files to runner {runner_index}", - "de": "Assigned {count} files to runner {runner_index}", - "en": "Assigned {count} files to runner {runner_index}", - "pl": "Assigned {count} files to runner {runner_index}", - "ru": "Assigned {count} files to runner {runner_index}", - "zh": "Assigned {count} files to runner {runner_index}" - }, - "Assigned {count} items to runner {runner_index}: {encoded}": { - "bg": "Assigned {count} items to runner {runner_index}: {encoded}", - "de": "Assigned {count} items to runner {runner_index}: {encoded}", - "en": "Assigned {count} items to runner {runner_index}: {encoded}", - "pl": "Assigned {count} items to runner {runner_index}: {encoded}", - "ru": "Assigned {count} items to runner {runner_index}: {encoded}", - "zh": "Assigned {count} items to runner {runner_index}: {encoded}" - }, - "Auto-rebase failed with HTTP {status}: {message}\nRebase manually:\n git fetch origin master && git rebase origin/master && git push --force-with-lease\nThen re-add the ready-to-merge label.": { - "bg": "Auto-rebase failed with HTTP {status}: {message}\nRebase manually:\n git fetch origin master && git rebase origin/master && git push --force-with-lease\nThen re-add the ready-to-merge label.", - "de": "Auto-rebase failed with HTTP {status}: {message}\nRebase manually:\n git fetch origin master && git rebase origin/master && git push --force-with-lease\nThen re-add the ready-to-merge label.", - "en": "Auto-rebase failed with HTTP {status}: {message}\nRebase manually:\n git fetch origin master && git rebase origin/master && git push --force-with-lease\nThen re-add the ready-to-merge label.", - "pl": "Auto-rebase failed with HTTP {status}: {message}\nRebase manually:\n git fetch origin master && git rebase origin/master && git push --force-with-lease\nThen re-add the ready-to-merge label.", - "ru": "Auto-rebase failed with HTTP {status}: {message}\nRebase manually:\n git fetch origin master && git rebase origin/master && git push --force-with-lease\nThen re-add the ready-to-merge label.", - "zh": "Auto-rebase failed with HTTP {status}: {message}\nRebase manually:\n git fetch origin master && git rebase origin/master && git push --force-with-lease\nThen re-add the ready-to-merge label." - }, - "Automated CI commit (badge) — skipping post-merge jobs.": { - "bg": "Automated CI commit (badge) — skipping post-merge jobs.", - "de": "Automated CI commit (badge) — skipping post-merge jobs.", - "en": "Automated CI commit (badge) — skipping post-merge jobs.", - "pl": "Automated CI commit (badge) — skipping post-merge jobs.", - "ru": "Automated CI commit (badge) — skipping post-merge jobs.", - "zh": "Automated CI commit (badge) — skipping post-merge jobs." - }, - "Badge push attempt {attempt}/{retries} failed — retrying: {error}": { - "bg": "Badge push attempt {attempt}/{retries} failed — retrying: {error}", - "de": "Badge push attempt {attempt}/{retries} failed — retrying: {error}", - "en": "Badge push attempt {attempt}/{retries} failed — retrying: {error}", - "pl": "Badge push attempt {attempt}/{retries} failed — retrying: {error}", - "ru": "Badge push attempt {attempt}/{retries} failed — retrying: {error}", - "zh": "Badge push attempt {attempt}/{retries} failed — retrying: {error}" - }, - "Badge push failed after {retries} attempts: {error}": { - "bg": "Badge push failed after {retries} attempts: {error}", - "de": "Badge push failed after {retries} attempts: {error}", - "en": "Badge push failed after {retries} attempts: {error}", - "pl": "Badge push failed after {retries} attempts: {error}", - "ru": "Badge push failed after {retries} attempts: {error}", - "zh": "Badge push failed after {retries} attempts: {error}" - }, - "Badges commit SHA: {sha}": { - "bg": "Badges commit SHA: {sha}", - "de": "Badges commit SHA: {sha}", - "en": "Badges commit SHA: {sha}", - "pl": "Badges commit SHA: {sha}", - "ru": "Badges commit SHA: {sha}", - "zh": "Badges commit SHA: {sha}" - }, - "Badges pushed to badges branch": { - "bg": "Badges pushed to badges branch", - "de": "Badges pushed to badges branch", - "en": "Badges pushed to badges branch", - "pl": "Badges pushed to badges branch", - "ru": "Badges pushed to badges branch", - "zh": "Badges pushed to badges branch" - }, - "Branch '{branch}' does not contain a task ID.\n Expected format: {prefix}-N-short-description": { - "bg": "Клон '{branch}' не съдържа ID на задача.\n Очакван формат: {prefix}-N-кратко-описание", - "de": "Branch '{branch}' enthält keine Task-ID.\n Erwartetes Format: {prefix}-N-kurz-beschreibung", - "en": "Branch '{branch}' does not contain a task ID.\n Expected format: {prefix}-N-short-description", - "pl": "Gałąź '{branch}' nie zawiera ID zadania.\n Oczekiwany format: {prefix}-N-krótki-opis", - "ru": "Ветка '{branch}' не содержит ID задачи.\n Ожидаемый формат: {prefix}-N-краткое-описание", - "zh": "分支 '{branch}' 不包含任务 ID。\n 预期格式: {prefix}-N-简短描述" - }, - "Branch '{branch}' does not contain a task ID.\n Expected format: {prefix}-N-short-description\n Example: {prefix}-42-add-feature\n Fix: rename the branch or create a Vikunja task first:\n python -m devx.tools.create_task --title \"Task title\"": { - "bg": "Клон '{branch}' не съдържа ID на задача.\n Очакван формат: {prefix}-N-кратко-описание\n Пример: {prefix}-42-add-feature\n Решение: преименувайте клона или създайте Vikunja задача:\n python -m devx.tools.create_task --title \"Заглавие на задача\"", - "de": "Branch '{branch}' enthält keine Task-ID.\n Erwartetes Format: {prefix}-N-kurz-beschreibung\n Beispiel: {prefix}-42-add-feature\n Fix: Branch umbenennen oder Vikunja-Task erstellen:\n python -m devx.tools.create_task --title \"Task-Titel\"", - "en": "Branch '{branch}' does not contain a task ID.\n Expected format: {prefix}-N-short-description\n Example: {prefix}-42-add-feature\n Fix: rename the branch or create a Vikunja task first:\n python -m devx.tools.create_task --title \"Task title\"", - "pl": "Gałąź '{branch}' nie zawiera ID zadania.\n Oczekiwany format: {prefix}-N-krótki-opis\n Przykład: {prefix}-42-add-feature\n Naprawa: zmień nazwę gałęzi lub utwórz zadanie Vikunja:\n python -m devx.tools.create_task --title \"Tytuł zadania\"", - "ru": "Ветка '{branch}' не содержит ID задачи.\n Ожидаемый формат: {prefix}-N-краткое-описание\n Пример: {prefix}-42-add-feature\n Исправление: переименуйте ветку или создайте задачу Vikunja:\n python -m devx.tools.create_task --title \"Заголовок задачи\"", - "zh": "分支 '{branch}' 不包含任务 ID。\n 预期格式: {prefix}-N-简短描述\n 示例: {prefix}-42-add-feature\n 修复: 重命名分支或先创建 Vikunja 任务:\n python -m devx.tools.create_task --title \"任务标题\"" - }, - "Branch is already up-to-date with origin/master.": { - "bg": "Branch is already up-to-date with origin/master.", - "de": "Branch is already up-to-date with origin/master.", - "en": "Branch is already up-to-date with origin/master.", - "pl": "Branch is already up-to-date with origin/master.", - "ru": "Branch is already up-to-date with origin/master.", - "zh": "Branch is already up-to-date with origin/master." - }, - "Branch is behind master. Auto-rebasing via Gitea API...\nA new CI run will start automatically after the rebase.\nThe next auto-merge attempt will merge this PR.": { - "bg": "Branch is behind master. Auto-rebasing via Gitea API...\nA new CI run will start automatically after the rebase.\nThe next auto-merge attempt will merge this PR.", - "de": "Branch is behind master. Auto-rebasing via Gitea API...\nA new CI run will start automatically after the rebase.\nThe next auto-merge attempt will merge this PR.", - "en": "Branch is behind master. Auto-rebasing via Gitea API...\nA new CI run will start automatically after the rebase.\nThe next auto-merge attempt will merge this PR.", - "pl": "Branch is behind master. Auto-rebasing via Gitea API...\nA new CI run will start automatically after the rebase.\nThe next auto-merge attempt will merge this PR.", - "ru": "Branch is behind master. Auto-rebasing via Gitea API...\nA new CI run will start automatically after the rebase.\nThe next auto-merge attempt will merge this PR.", - "zh": "Branch is behind master. Auto-rebasing via Gitea API...\nA new CI run will start automatically after the rebase.\nThe next auto-merge attempt will merge this PR." - }, - "Branch is behind origin/master. Rebase first: git fetch origin master && git rebase origin/master": { - "bg": "Branch is behind origin/master. Rebase first: git fetch origin master && git rebase origin/master", - "de": "Branch is behind origin/master. Rebase first: git fetch origin master && git rebase origin/master", - "en": "Branch is behind origin/master. Rebase first: git fetch origin master && git rebase origin/master", - "pl": "Branch is behind origin/master. Rebase first: git fetch origin master && git rebase origin/master", - "ru": "Branch is behind origin/master. Rebase first: git fetch origin master && git rebase origin/master", - "zh": "Branch is behind origin/master. Rebase first: git fetch origin master && git rebase origin/master" - }, - "Branch is {count} commit(s) behind master. Rebasing...": { - "bg": "Branch is {count} commit(s) behind master. Rebasing...", - "de": "Branch is {count} commit(s) behind master. Rebasing...", - "en": "Branch is {count} commit(s) behind master. Rebasing...", - "pl": "Branch is {count} commit(s) behind master. Rebasing...", - "ru": "Branch is {count} commit(s) behind master. Rebasing...", - "zh": "Branch is {count} commit(s) behind master. Rebasing..." - }, - "Branch name (e.g., DEVX-256-fix-foo)": { - "bg": "Branch name (e.g., DEVX-256-fix-foo)", - "de": "Branch name (e.g., DEVX-256-fix-foo)", - "en": "Branch name (e.g., DEVX-256-fix-foo)", - "pl": "Branch name (e.g., DEVX-256-fix-foo)", - "ru": "Branch name (e.g., DEVX-256-fix-foo)", - "zh": "Branch name (e.g., DEVX-256-fix-foo)" - }, - "Branch name must contain a task ID.": { - "bg": "Branch name must contain a task ID.", - "de": "Branch name must contain a task ID.", - "en": "Branch name must contain a task ID.", - "pl": "Branch name must contain a task ID.", - "ru": "Branch name must contain a task ID.", - "zh": "Branch name must contain a task ID." - }, - "Build failed for {name}": { - "bg": "Build failed for {name}", - "de": "Build failed for {name}", - "en": "Build failed for {name}", - "pl": "Build failed for {name}", - "ru": "Build failed for {name}", - "zh": "Build failed for {name}" - }, - "Bumping version: {current} -> v{new_version}": { - "bg": "Bumping version: {current} -> v{new_version}", - "de": "Bumping version: {current} -> v{new_version}", - "en": "Bumping version: {current} -> v{new_version}", - "pl": "Zmiana wersji: {current} -> v{new_version}", - "ru": "Bumping version: {current} -> v{new_version}", - "zh": "Bumping version: {current} -> v{new_version}" - }, - "CI checks did not complete within timeout.": { - "bg": "CI checks did not complete within timeout.", - "de": "CI checks did not complete within timeout.", - "en": "CI checks did not complete within timeout.", - "pl": "CI checks did not complete within timeout.", - "ru": "CI checks did not complete within timeout.", - "zh": "CI checks did not complete within timeout." - }, - "CI checks failed.": { - "bg": "CI checks failed.", - "de": "CI checks failed.", - "en": "CI checks failed.", - "pl": "CI checks failed.", - "ru": "CI checks failed.", - "zh": "CI checks failed." - }, - "CI_GITEA_TOKEN environment variable required": { - "bg": "CI_GITEA_TOKEN environment variable required", - "de": "CI_GITEA_TOKEN environment variable required", - "en": "CI_GITEA_TOKEN environment variable required", - "pl": "CI_GITEA_TOKEN environment variable required", - "ru": "CI_GITEA_TOKEN environment variable required", - "zh": "CI_GITEA_TOKEN environment variable required" - }, - "CI_GITEA_TOKEN is not set.": { - "bg": "CI_GITEA_TOKEN is not set.", - "de": "CI_GITEA_TOKEN is not set.", - "en": "CI_GITEA_TOKEN is not set.", - "pl": "CI_GITEA_TOKEN is not set.", - "ru": "CI_GITEA_TOKEN is not set.", - "zh": "CI_GITEA_TOKEN is not set." - }, - "CI_GITEA_TOKEN is not set. Add it to .env or export it.": { - "bg": "CI_GITEA_TOKEN is not set. Add it to .env or export it.", - "de": "CI_GITEA_TOKEN is not set. Add it to .env or export it.", - "en": "CI_GITEA_TOKEN is not set. Add it to .env or export it.", - "pl": "CI_GITEA_TOKEN is not set. Add it to .env or export it.", - "ru": "CI_GITEA_TOKEN is not set. Add it to .env or export it.", - "zh": "CI_GITEA_TOKEN is not set. Add it to .env or export it." - }, - "CI_GITEA_TOKEN is not set. Required to create a PR.": { - "bg": "CI_GITEA_TOKEN не е зададен. Необходим за създаване на PR.", - "de": "CI_GITEA_TOKEN nicht gesetzt. Erforderlich zum Erstellen eines PR.", - "en": "CI_GITEA_TOKEN is not set. Required to create a PR.", - "pl": "CI_GITEA_TOKEN nie jest ustawiony. Wymagany do utworzenia PR.", - "ru": "CI_GITEA_TOKEN не установлен. Требуется для создания PR.", - "zh": "CI_GITEA_TOKEN 未设置。创建 PR 所需。" - }, - "CI_GITEA_TOKEN not set — skipping login configuration.": { - "bg": "CI_GITEA_TOKEN not set — skipping login configuration.", - "de": "CI_GITEA_TOKEN not set — skipping login configuration.", - "en": "CI_GITEA_TOKEN not set — skipping login configuration.", - "pl": "CI_GITEA_TOKEN not set — skipping login configuration.", - "ru": "CI_GITEA_TOKEN not set — skipping login configuration.", - "zh": "CI_GITEA_TOKEN not set — skipping login configuration." - }, - "Cannot read __version__ from src/{pkg}/__init__.py — skipping.": { - "bg": "", - "de": "", - "en": "Cannot read __version__ from src/{pkg}/__init__.py — skipping.", - "pl": "", - "ru": "", - "zh": "" - }, - "Cannot rebase: not on a branch (detached HEAD).": { - "bg": "Cannot rebase: not on a branch (detached HEAD).", - "de": "Cannot rebase: not on a branch (detached HEAD).", - "en": "Cannot rebase: not on a branch (detached HEAD).", - "pl": "Cannot rebase: not on a branch (detached HEAD).", - "ru": "Cannot rebase: not on a branch (detached HEAD).", - "zh": "Cannot rebase: not on a branch (detached HEAD)." - }, - "Checking CLI command documentation...": { - "bg": "Checking CLI command documentation...", - "de": "Checking CLI command documentation...", - "en": "Checking CLI command documentation...", - "pl": "Sprawdzanie dokumentacji poleceń CLI...", - "ru": "Checking CLI command documentation...", - "zh": "Checking CLI command documentation..." - }, - "Checking code block languages...": { - "bg": "", - "de": "", - "en": "Checking code block languages...", - "pl": "", - "ru": "", - "zh": "" - }, - "Checking docs structure...": { - "bg": "Checking docs structure...", - "de": "Checking docs structure...", - "en": "Checking docs structure...", - "pl": "Checking docs structure...", - "ru": "Checking docs structure...", - "zh": "Checking docs structure..." - }, - "Checking duplicate headings...": { - "bg": "Checking duplicate headings...", - "de": "Checking duplicate headings...", - "en": "Checking duplicate headings...", - "pl": "Checking duplicate headings...", - "ru": "Checking duplicate headings...", - "zh": "Checking duplicate headings..." - }, - "Checking for TODO/FIXME markers...": { - "bg": "Checking for TODO/FIXME markers...", - "de": "Checking for TODO/FIXME markers...", - "en": "Checking for TODO/FIXME markers...", - "pl": "Checking for TODO/FIXME markers...", - "ru": "Checking for TODO/FIXME markers...", - "zh": "Checking for TODO/FIXME markers..." - }, - "Checking for orphan docs...": { - "bg": "", - "de": "", - "en": "Checking for orphan docs...", - "pl": "", - "ru": "", - "zh": "" - }, - "Checking for stale docs...": { - "bg": "Checking for stale docs...", - "de": "Checking for stale docs...", - "en": "Checking for stale docs...", - "pl": "Checking for stale docs...", - "ru": "Checking for stale docs...", - "zh": "Checking for stale docs..." - }, - "Checking heading hierarchy...": { - "bg": "Checking heading hierarchy...", - "de": "Checking heading hierarchy...", - "en": "Checking heading hierarchy...", - "pl": "Checking heading hierarchy...", - "ru": "Checking heading hierarchy...", - "zh": "Checking heading hierarchy..." - }, - "Checking internal links...": { - "bg": "Checking internal links...", - "de": "Checking internal links...", - "en": "Checking internal links...", - "pl": "Checking internal links...", - "ru": "Checking internal links...", - "zh": "Checking internal links..." - }, - "Checking line length...": { - "bg": "", - "de": "", - "en": "Checking line length...", - "pl": "", - "ru": "", - "zh": "" - }, - "Checking max heading depth...": { - "bg": "", - "de": "", - "en": "Checking max heading depth...", - "pl": "", - "ru": "", - "zh": "" - }, - "Checking required files...": { - "bg": "Checking required files...", - "de": "Checking required files...", - "en": "Checking required files...", - "pl": "Checking required files...", - "ru": "Checking required files...", - "zh": "Checking required files..." - }, - "Checking single H1 per file...": { - "bg": "", - "de": "", - "en": "Checking single H1 per file...", - "pl": "", - "ru": "", - "zh": "" - }, - "Checking status for PR #{pr_number}...": { - "bg": "Checking status for PR #{pr_number}...", - "de": "Checking status for PR #{pr_number}...", - "en": "Checking status for PR #{pr_number}...", - "pl": "Checking status for PR #{pr_number}...", - "ru": "Checking status for PR #{pr_number}...", - "zh": "Checking status for PR #{pr_number}..." - }, - "Checking trailing whitespace...": { - "bg": "Checking trailing whitespace...", - "de": "Checking trailing whitespace...", - "en": "Checking trailing whitespace...", - "pl": "Checking trailing whitespace...", - "ru": "Checking trailing whitespace...", - "zh": "Checking trailing whitespace..." - }, - "Checking version references for {pkg} (current: v{version})": { - "bg": "", - "de": "", - "en": "Checking version references for {pkg} (current: v{version})", - "pl": "", - "ru": "", - "zh": "" - }, - "Cloned existing wiki.": { - "bg": "", - "de": "", - "en": "Cloned existing wiki.", - "pl": "", - "ru": "", - "zh": "" - }, - "Cloning wiki repo...": { - "bg": "", - "de": "", - "en": "Cloning wiki repo...", - "pl": "", - "ru": "", - "zh": "" - }, - "Command failed ({cmd}): {stderr}": { - "bg": "Command failed ({cmd}): {stderr}", - "de": "Command failed ({cmd}): {stderr}", - "en": "Command failed ({cmd}): {stderr}", - "pl": "Polecenie nie powiodło się ({cmd}): {stderr}", - "ru": "Command failed ({cmd}): {stderr}", - "zh": "Command failed ({cmd}): {stderr}" - }, - "Commit message: {msg}": { - "bg": "Commit message: {msg}", - "de": "Commit message: {msg}", - "en": "Commit message: {msg}", - "pl": "Commit message: {msg}", - "ru": "Commit message: {msg}", - "zh": "Commit message: {msg}" - }, - "Commit: {sha}": { - "bg": "Commit: {sha}", - "de": "Commit: {sha}", - "en": "Commit: {sha}", - "pl": "Commit: {sha}", - "ru": "Commit: {sha}", - "zh": "Commit: {sha}" - }, - "Committing and pushing...": { - "bg": "", - "de": "", - "en": "Committing and pushing...", - "pl": "", - "ru": "", - "zh": "" - }, - "Comparing {base}..{head} ({count} files changed)": { - "bg": "Comparing {base}..{head} ({count} files changed)", - "de": "Comparing {base}..{head} ({count} files changed)", - "en": "Comparing {base}..{head} ({count} files changed)", - "pl": "Porównywanie {base}..{head} ({count} zmienionych plików)", - "ru": "Comparing {base}..{head} ({count} files changed)", - "zh": "Comparing {base}..{head} ({count} files changed)" - }, - "Configuration OK: [tool.devx] present, devx versions consistent.": { - "bg": "Конфигурацията е OK: [tool.devx] присъства, версиите на devx са консистентни.", - "de": "Konfiguration OK: [tool.devx] vorhanden, devx-Versionen konsistent.", - "en": "Configuration OK: [tool.devx] present, devx versions consistent.", - "pl": "Konfiguracja OK: [tool.devx] obecne, wersje devx spójne.", - "ru": "Конфигурация OK: [tool.devx] присутствует, версии devx согласованы.", - "zh": "配置正常: [tool.devx] 已存在, devx 版本一致。" - }, - "Configuration validation failed.": { - "bg": "Configuration validation failed.", - "de": "Configuration validation failed.", - "en": "Configuration validation failed.", - "pl": "Configuration validation failed.", - "ru": "Configuration validation failed.", - "zh": "Configuration validation failed." - }, - "Configuring branch protection for {branch}...": { - "bg": "Конфигуриране на защита на клона {branch}...", - "de": "Konfiguriere Branch-Schutz für {branch}...", - "en": "Configuring branch protection for {branch}...", - "pl": "Konfigurowanie ochrony gałęzi dla {branch}...", - "ru": "Настройка защиты ветки {branch}...", - "zh": "正在配置 {branch} 的分支保护..." - }, - "Configuring repository settings...": { - "bg": "Конфигуриране на настройките на хранилището...", - "de": "Repository-Einstellungen konfigurieren...", - "en": "Configuring repository settings...", - "pl": "Konfigurowanie ustawień repozytorium...", - "ru": "Настройка параметров репозитория...", - "zh": "正在配置仓库设置..." - }, - "Configuring tea login '{name}' for {url}...": { - "bg": "Configuring tea login '{name}' for {url}...", - "de": "Configuring tea login '{name}' for {url}...", - "en": "Configuring tea login '{name}' for {url}...", - "pl": "Configuring tea login '{name}' for {url}...", - "ru": "Configuring tea login '{name}' for {url}...", - "zh": "Configuring tea login '{name}' for {url}..." - }, - "Could not detect PR number. Use --pr to specify it explicitly,\nor run this command from a branch with an open PR.": { - "bg": "Could not detect PR number. Use --pr to specify it explicitly,\nor run this command from a branch with an open PR.", - "de": "Could not detect PR number. Use --pr to specify it explicitly,\nor run this command from a branch with an open PR.", - "en": "Could not detect PR number. Use --pr to specify it explicitly,\nor run this command from a branch with an open PR.", - "pl": "Could not detect PR number. Use --pr to specify it explicitly,\nor run this command from a branch with an open PR.", - "ru": "Could not detect PR number. Use --pr to specify it explicitly,\nor run this command from a branch with an open PR.", - "zh": "Could not detect PR number. Use --pr to specify it explicitly,\nor run this command from a branch with an open PR." - }, - "Could not detect current branch: {error}": { - "bg": "Не може да се определи текущия клон: {error}", - "de": "Aktueller Branch konnte nicht erkannt werden: {error}", - "en": "Could not detect current branch: {error}", - "pl": "Nie można wykryć bieżącej gałęzi: {error}", - "ru": "Не удалось определить текущую ветку: {error}", - "zh": "无法检测当前分支: {error}" - }, - "Could not determine head SHA for PR #{pr_number}.": { - "bg": "Could not determine head SHA for PR #{pr_number}.", - "de": "Could not determine head SHA for PR #{pr_number}.", - "en": "Could not determine head SHA for PR #{pr_number}.", - "pl": "Could not determine head SHA for PR #{pr_number}.", - "ru": "Could not determine head SHA for PR #{pr_number}.", - "zh": "Could not determine head SHA for PR #{pr_number}." - }, - "Could not determine repository. Set DEVX_REPO_OWNER and DEVX_REPO_NAME\nor GITHUB_REPOSITORY environment variables.": { - "bg": "Could not determine repository. Set DEVX_REPO_OWNER and DEVX_REPO_NAME\nor GITHUB_REPOSITORY environment variables.", - "de": "Could not determine repository. Set DEVX_REPO_OWNER and DEVX_REPO_NAME\nor GITHUB_REPOSITORY environment variables.", - "en": "Could not determine repository. Set DEVX_REPO_OWNER and DEVX_REPO_NAME\nor GITHUB_REPOSITORY environment variables.", - "pl": "Could not determine repository. Set DEVX_REPO_OWNER and DEVX_REPO_NAME\nor GITHUB_REPOSITORY environment variables.", - "ru": "Could not determine repository. Set DEVX_REPO_OWNER and DEVX_REPO_NAME\nor GITHUB_REPOSITORY environment variables.", - "zh": "Could not determine repository. Set DEVX_REPO_OWNER and DEVX_REPO_NAME\nor GITHUB_REPOSITORY environment variables." - }, - "Could not extract conventional commit message from PR commits.": { - "bg": "Could not extract conventional commit message from PR commits.", - "de": "Could not extract conventional commit message from PR commits.", - "en": "Could not extract conventional commit message from PR commits.", - "pl": "Nie udało się wyodrębnić konwencjonalnej wiadomości commit z commitów PR.", - "ru": "Could not extract conventional commit message from PR commits.", - "zh": "Could not extract conventional commit message from PR commits." - }, - "Could not fetch PR title from Gitea (CI_GITEA_TOKEN not set or PR not found).": { - "bg": "Could not fetch PR title from Gitea (CI_GITEA_TOKEN not set or PR not found).", - "de": "Could not fetch PR title from Gitea (CI_GITEA_TOKEN not set or PR not found).", - "en": "Could not fetch PR title from Gitea (CI_GITEA_TOKEN not set or PR not found).", - "pl": "Could not fetch PR title from Gitea (CI_GITEA_TOKEN not set or PR not found).", - "ru": "Could not fetch PR title from Gitea (CI_GITEA_TOKEN not set or PR not found).", - "zh": "Could not fetch PR title from Gitea (CI_GITEA_TOKEN not set or PR not found)." - }, - "Could not find Vikunja task {task_id} in project {project_id}.": { - "bg": "Не е намерена Vikunja задача {task_id} в проект {project_id}.", - "de": "Vikunja-Task {task_id} in Projekt {project_id} nicht gefunden.", - "en": "Could not find Vikunja task {task_id} in project {project_id}.", - "pl": "Nie znaleziono zadania Vikunja {task_id} w projekcie {project_id}.", - "ru": "Не найдена задача Vikunja {task_id} в проекте {project_id}.", - "zh": "在项目 {project_id} 中找不到 Vikunja 任务 {task_id}。" - }, - "Could not find Vikunja task {task_id} in project {project_id}. Every PR must have a corresponding Vikunja task.": { - "bg": "Could not find Vikunja task {task_id} in project {project_id}. Every PR must have a corresponding Vikunja task.", - "de": "Could not find Vikunja task {task_id} in project {project_id}. Every PR must have a corresponding Vikunja task.", - "en": "Could not find Vikunja task {task_id} in project {project_id}. Every PR must have a corresponding Vikunja task.", - "pl": "Nie znaleziono zadania Vikunja {task_id} w projekcie {project_id}. Każdy PR musi mieć odpowiadające zadanie Vikunja.", - "ru": "Could not find Vikunja task {task_id} in project {project_id}. Every PR must have a corresponding Vikunja task.", - "zh": "Could not find Vikunja task {task_id} in project {project_id}. Every PR must have a corresponding Vikunja task." - }, - "Could not find __version__ in {file}": { - "bg": "Could not find __version__ in {file}", - "de": "Could not find __version__ in {file}", - "en": "Could not find __version__ in {file}", - "pl": "Nie znaleziono __version__ w {file}", - "ru": "Could not find __version__ in {file}", - "zh": "Could not find __version__ in {file}" - }, - "Could not parse test execution time from output.": { - "bg": "Could not parse test execution time from output.", - "de": "Could not parse test execution time from output.", - "en": "Could not parse test execution time from output.", - "pl": "Nie udało się przeanalizować czasu wykonania testu z wyjścia.", - "ru": "Could not parse test execution time from output.", - "zh": "Could not parse test execution time from output." - }, - "Created PR #{index}: {title}\n {url}": { - "bg": "Създаден PR #{index}: {title}\n {url}", - "de": "PR erstellt #{index}: {title}\n {url}", - "en": "Created PR #{index}: {title}\n {url}", - "pl": "Utworzono PR #{index}: {title}\n {url}", - "ru": "Создан PR #{index}: {title}\n {url}", - "zh": "已创建 PR #{index}: {title}\n {url}" - }, - "Created Vikunja task: {identifier} (id={task_id})": { - "bg": "Създадена Vikunja задача: {identifier} (id={task_id})", - "de": "Vikunja-Task erstellt: {identifier} (id={task_id})", - "en": "Created Vikunja task: {identifier} (id={task_id})", - "pl": "Utworzono zadanie Vikunja: {identifier} (id={task_id})", - "ru": "Создана задача Vikunja: {identifier} (id={task_id})", - "zh": "已创建 Vikunja 任务: {identifier} (id={task_id})" - }, - "Created issue #{issue_id}: {title}": { - "bg": "Created issue #{issue_id}: {title}", - "de": "Created issue #{issue_id}: {title}", - "en": "Created issue #{issue_id}: {title}", - "pl": "Utworzono zgłoszenie #{issue_id}: {title}", - "ru": "Created issue #{issue_id}: {title}", - "zh": "Created issue #{issue_id}: {title}" - }, - "Created release commit.": { - "bg": "Created release commit.", - "de": "Created release commit.", - "en": "Created release commit.", - "pl": "Utworzono commit wydania.", - "ru": "Created release commit.", - "zh": "Created release commit." - }, - "Dependencies must have documentation comments.": { - "bg": "Dependencies must have documentation comments.", - "de": "Dependencies must have documentation comments.", - "en": "Dependencies must have documentation comments.", - "pl": "Dependencies must have documentation comments.", - "ru": "Dependencies must have documentation comments.", - "zh": "Dependencies must have documentation comments." - }, - "Directory to scan (default: tests/integration). Can be repeated.": { - "bg": "Директория за сканиране (по подразбиране: tests/integration). Може да се повтаря.", - "de": "Zu scannendes Verzeichnis (Standard: tests/integration). Kann wiederholt werden.", - "en": "Directory to scan (default: tests/integration). Can be repeated.", - "pl": "Katalog do skanowania (domyślnie: tests/integration). Można powtarzać.", - "ru": "Директория для сканирования (по умолчанию: tests/integration). Можно повторять.", - "zh": "要扫描的目录(默认:tests/integration)。可重复。" - }, - "Docker daemon already running": { - "bg": "Докер демонът вече работи", - "de": "Docker-Daemon läuft bereits", - "en": "Docker daemon already running", - "pl": "Demon Docker już uruchomiony", - "ru": "Демон Docker уже работает", - "zh": "Docker 守护进程已在运行" - }, - "Docker daemon failed to start": { - "bg": "Docker daemon failed to start", - "de": "Docker-Daemon konnte nicht gestartet werden", - "en": "Docker daemon failed to start", - "pl": "Nie udało się uruchomić demona Docker", - "ru": "Не удалось запустить Docker-демон", - "zh": "Docker 守护进程启动失败" - }, - "Docker daemon started": { - "bg": "Docker daemon started", - "de": "Docker-Daemon gestartet", - "en": "Docker daemon started", - "pl": "Demon Docker uruchomiony", - "ru": "Docker-демон запущен", - "zh": "Docker 守护进程已启动" - }, - "Dockerfile not found: {path}": { - "bg": "Dockerfile not found: {path}", - "de": "Dockerfile not found: {path}", - "en": "Dockerfile not found: {path}", - "pl": "Dockerfile not found: {path}", - "ru": "Dockerfile not found: {path}", - "zh": "Dockerfile not found: {path}" - }, - "Dry-run mode: on branch '{branch}' (not master). Some checks may behave differently.": { - "bg": "Dry-run mode: on branch '{branch}' (not master). Some checks may behave differently.", - "de": "Dry-run mode: on branch '{branch}' (not master). Some checks may behave differently.", - "en": "Dry-run mode: on branch '{branch}' (not master). Some checks may behave differently.", - "pl": "Tryb dry-run: na gałęzi '{branch}' (nie master). Niektóre kontrole mogą zachowywać się inaczej.", - "ru": "Dry-run mode: on branch '{branch}' (not master). Some checks may behave differently.", - "zh": "Dry-run mode: on branch '{branch}' (not master). Some checks may behave differently." - }, - "ERROR: CI_GITEA_TOKEN is not set.": { - "bg": "ГРЕШКА: CI_GITEA_TOKEN не е зададен.", - "de": "FEHLER: CI_GITEA_TOKEN ist nicht gesetzt.", - "en": "ERROR: CI_GITEA_TOKEN is not set.", - "pl": "BŁĄD: CI_GITEA_TOKEN nie jest ustawiony.", - "ru": "ОШИБКА: CI_GITEA_TOKEN не задан.", - "zh": "错误:未设置 CI_GITEA_TOKEN。" - }, - "ERROR: Repository name not specified. Use --repo or set DEVX_REPO_NAME.": { - "bg": "ГРЕШКА: Името на хранилището не е указано. Използвайте --repo или задайте DEVX_REPO_NAME.", - "de": "FEHLER: Repository-Name nicht angegeben. Verwenden Sie --repo oder setzen Sie DEVX_REPO_NAME.", - "en": "ERROR: Repository name not specified. Use --repo or set DEVX_REPO_NAME.", - "pl": "BŁĄD: Nazwa repozytorium nie jest określona. Użyj --repo lub ustaw DEVX_REPO_NAME.", - "ru": "ОШИБКА: Имя репозитория не указано. Используйте --repo или задайте DEVX_REPO_NAME.", - "zh": "错误:未指定仓库名称。请使用 --repo 或设置 DEVX_REPO_NAME。" - }, - "ERROR: Tag consistency check failed. Existing tags are misaligned:": { - "bg": "ERROR: Tag consistency check failed. Existing tags are misaligned:", - "de": "ERROR: Tag consistency check failed. Existing tags are misaligned:", - "en": "ERROR: Tag consistency check failed. Existing tags are misaligned:", - "pl": "BŁĄD: Kontrola zgodności tagów nie powiodła się. Istniejące tagi są niezgodne:", - "ru": "ERROR: Tag consistency check failed. Existing tags are misaligned:", - "zh": "ERROR: Tag consistency check failed. Existing tags are misaligned:" - }, - "ERROR: VIKUNJA_TOKEN is not set.": { - "bg": "ГРЕШКА: VIKUNJA_TOKEN не е зададен.", - "de": "FEHLER: VIKUNJA_TOKEN ist nicht gesetzt.", - "en": "ERROR: VIKUNJA_TOKEN is not set.", - "pl": "BŁĄD: VIKUNJA_TOKEN nie jest ustawiony.", - "ru": "ОШИБКА: VIKUNJA_TOKEN не задан.", - "zh": "错误:未设置 VIKUNJA_TOKEN。" - }, - "ERROR: mapping.json not found at {path}": { - "bg": "ERROR: mapping.json not found at {path}", - "de": "ERROR: mapping.json not found at {path}", - "en": "ERROR: mapping.json not found at {path}", - "pl": "BŁĄD: mapping.json nie znaleziono w {path}", - "ru": "ERROR: mapping.json not found at {path}", - "zh": "ERROR: mapping.json not found at {path}" - }, - "Each item must be a string or an object with 'id', got {type}": { - "bg": "Всеки елемент трябва да е низ или обект с 'id', получено {type}", - "de": "Jedes Element muss ein String oder ein Objekt mit 'id' sein, erhalten {type}", - "en": "Each item must be a string or an object with 'id', got {type}", - "pl": "Każdy element musi być ciągiem lub obiektem z 'id', otrzymano {type}", - "ru": "Каждый элемент должен быть строкой или объектом с 'id', получено {type}", - "zh": "每个元素必须是字符串或带有 'id' 的对象,得到 {type}" - }, - "Ensuring standard labels...": { - "bg": "Ensuring standard labels...", - "de": "Ensuring standard labels...", - "en": "Ensuring standard labels...", - "pl": "Ensuring standard labels...", - "ru": "Ensuring standard labels...", - "zh": "Ensuring standard labels..." - }, - "FAIL: Could not clone wiki for verification.": { - "bg": "", - "de": "", - "en": "FAIL: Could not clone wiki for verification.", - "pl": "", - "ru": "", - "zh": "" - }, - "FAIL: {n} documentation issues found:": { - "bg": "FAIL: {n} documentation issues found:", - "de": "FAIL: {n} documentation issues found:", - "en": "FAIL: {n} documentation issues found:", - "pl": "FAIL: {n} documentation issues found:", - "ru": "FAIL: {n} documentation issues found:", - "zh": "FAIL: {n} documentation issues found:" - }, - "FAILED: {count} undocumented dependency/ies": { - "bg": "FAILED: {count} undocumented dependency/ies", - "de": "FAILED: {count} undocumented dependency/ies", - "en": "FAILED: {count} undocumented dependency/ies", - "pl": "FAILED: {count} undocumented dependency/ies", - "ru": "FAILED: {count} undocumented dependency/ies", - "zh": "FAILED: {count} undocumented dependency/ies" - }, - "FAILED: {pair} exited with code {code}": { - "bg": "FAILED: {pair} exited with code {code}", - "de": "FAILED: {pair} exited with code {code}", - "en": "FAILED: {pair} exited with code {code}", - "pl": "NIEUDANE: {pair} zakończone kodem {code}", - "ru": "FAILED: {pair} exited with code {code}", - "zh": "FAILED: {pair} exited with code {code}" - }, - "Failed images: {names}": { - "bg": "Failed images: {names}", - "de": "Failed images: {names}", - "en": "Failed images: {names}", - "pl": "Failed images: {names}", - "ru": "Failed images: {names}", - "zh": "Failed images: {names}" - }, - "Failed to create issue via tea: {error}": { - "bg": "Failed to create issue via tea: {error}", - "de": "Failed to create issue via tea: {error}", - "en": "Failed to create issue via tea: {error}", - "pl": "Nie udało się utworzyć zgłoszenia przez tea: {error}", - "ru": "Failed to create issue via tea: {error}", - "zh": "Failed to create issue via tea: {error}" - }, - "Failed to delete {count} image version(s)": { - "bg": "Failed to delete {count} image version(s)", - "de": "Failed to delete {count} image version(s)", - "en": "Failed to delete {count} image version(s)", - "pl": "Failed to delete {count} image version(s)", - "ru": "Failed to delete {count} image version(s)", - "zh": "Failed to delete {count} image version(s)" - }, - "Failed to list versions for {name}: {error}": { - "bg": "Failed to list versions for {name}: {error}", - "de": "Failed to list versions for {name}: {error}", - "en": "Failed to list versions for {name}: {error}", - "pl": "Failed to list versions for {name}: {error}", - "ru": "Failed to list versions for {name}: {error}", - "zh": "Failed to list versions for {name}: {error}" - }, - "Failed to push release commit after 3 attempts. Manual intervention required.": { - "bg": "Failed to push release commit after 3 attempts. Manual intervention required.", - "de": "Failed to push release commit after 3 attempts. Manual intervention required.", - "en": "Failed to push release commit after 3 attempts. Manual intervention required.", - "pl": "Failed to push release commit after 3 attempts. Manual intervention required.", - "ru": "Failed to push release commit after 3 attempts. Manual intervention required.", - "zh": "Failed to push release commit after 3 attempts. Manual intervention required." - }, - "Failed to start ssh-agent: {error}": { - "bg": "Неуспешно стартиране на ssh-agent: {error}", - "de": "Starten von ssh-agent fehlgeschlagen: {error}", - "en": "Failed to start ssh-agent: {error}", - "pl": "Nie udało się uruchomić ssh-agent: {error}", - "ru": "Не удалось запустить ssh-agent: {error}", - "zh": "启动 ssh-agent 失败: {error}" - }, - "Fetch failed: {error}": { - "bg": "Fetch failed: {error}", - "de": "Fetch failed: {error}", - "en": "Fetch failed: {error}", - "pl": "Fetch failed: {error}", - "ru": "Fetch failed: {error}", - "zh": "Fetch failed: {error}" - }, - "Fetching logs for PR #{pr_number}...": { - "bg": "Fetching logs for PR #{pr_number}...", - "de": "Fetching logs for PR #{pr_number}...", - "en": "Fetching logs for PR #{pr_number}...", - "pl": "Fetching logs for PR #{pr_number}...", - "ru": "Fetching logs for PR #{pr_number}...", - "zh": "Fetching logs for PR #{pr_number}..." - }, - "Fetching origin/master...": { - "bg": "Fetching origin/master...", - "de": "Fetching origin/master...", - "en": "Fetching origin/master...", - "pl": "Fetching origin/master...", - "ru": "Fetching origin/master...", - "zh": "Fetching origin/master..." - }, - "Force-push failed:\n{error}\nThe remote may have unexpected commits. Fetch and try again.": { - "bg": "Force-push failed:\n{error}\nThe remote may have unexpected commits. Fetch and try again.", - "de": "Force-push failed:\n{error}\nThe remote may have unexpected commits. Fetch and try again.", - "en": "Force-push failed:\n{error}\nThe remote may have unexpected commits. Fetch and try again.", - "pl": "Force-push failed:\n{error}\nThe remote may have unexpected commits. Fetch and try again.", - "ru": "Force-push failed:\n{error}\nThe remote may have unexpected commits. Fetch and try again.", - "zh": "Force-push failed:\n{error}\nThe remote may have unexpected commits. Fetch and try again." - }, - "Force-pushing...": { - "bg": "Force-pushing...", - "de": "Force-pushing...", - "en": "Force-pushing...", - "pl": "Force-pushing...", - "ru": "Force-pushing...", - "zh": "Force-pushing..." - }, - "Found {count} mutable global(s) — use factory functions or pytest fixtures.": { - "bg": "Found {count} mutable global(s) — use factory functions or pytest fixtures.", - "de": "Found {count} mutable global(s) — use factory functions or pytest fixtures.", - "en": "Found {count} mutable global(s) — use factory functions or pytest fixtures.", - "pl": "Found {count} mutable global(s) — use factory functions or pytest fixtures.", - "ru": "Found {count} mutable global(s) — use factory functions or pytest fixtures.", - "zh": "Found {count} mutable global(s) — use factory functions or pytest fixtures." - }, - "Found {count} stale documentation reference(s)": { - "bg": "Found {count} stale documentation reference(s)", - "de": "Found {count} stale documentation reference(s)", - "en": "Found {count} stale documentation reference(s)", - "pl": "Found {count} stale documentation reference(s)", - "ru": "Found {count} stale documentation reference(s)", - "zh": "Found {count} stale documentation reference(s)" - }, - "Found {count} unsafe identity check(s) in integration tests.": { - "bg": "Намерени са {count} небрежни проверки за идентичност в интеграционните тестове.", - "de": "{count} unsichere Identitätsprüfung(en) in Integrationstests gefunden.", - "en": "Found {count} unsafe identity check(s) in integration tests.", - "pl": "Znaleziono {count} niebezpiecznych sprawdzeń tożsamości w testach integracyjnych.", - "ru": "Найдено {count} небезопасных проверок идентичности в интеграционных тестах.", - "zh": "在集成测试中发现 {count} 个不安全的身份检查。" - }, - "Found {count} version(s):": { - "bg": "Found {count} version(s):", - "de": "Found {count} version(s):", - "en": "Found {count} version(s):", - "pl": "Found {count} version(s):", - "ru": "Found {count} version(s):", - "zh": "Found {count} version(s):" - }, - "GITEA_URL/CI_GITEA_TOKEN/RUN_ID not set; running without cross-runner cancellation.": { - "bg": "GITEA_URL/CI_GITEA_TOKEN/RUN_ID not set; running without cross-runner cancellation.", - "de": "GITEA_URL/CI_GITEA_TOKEN/RUN_ID not set; running without cross-runner cancellation.", - "en": "GITEA_URL/CI_GITEA_TOKEN/RUN_ID not set; running without cross-runner cancellation.", - "pl": "GITEA_URL/CI_GITEA_TOKEN/RUN_ID nie ustawione; uruchamianie bez anulowania między runnerami.", - "ru": "GITEA_URL/CI_GITEA_TOKEN/RUN_ID not set; running without cross-runner cancellation.", - "zh": "GITEA_URL/CI_GITEA_TOKEN/RUN_ID not set; running without cross-runner cancellation." - }, - "Generated {count} badge files": { - "bg": "Generated {count} badge files", - "de": "Generated {count} badge files", - "en": "Generated {count} badge files", - "pl": "Generated {count} badge files", - "ru": "Generated {count} badge files", - "zh": "Generated {count} badge files" - }, - "Generated {file} with prefix '{prefix}'.": { - "bg": "Generated {file} with prefix '{prefix}'.", - "de": "Generated {file} with prefix '{prefix}'.", - "en": "Generated {file} with prefix '{prefix}'.", - "pl": "Wygenerowano {file} z prefiksem '{prefix}'.", - "ru": "Generated {file} with prefix '{prefix}'.", - "zh": "Generated {file} with prefix '{prefix}'." - }, - "Generating badges in {out}...": { - "bg": "Generating badges in {out}...", - "de": "Generating badges in {out}...", - "en": "Generating badges in {out}...", - "pl": "Generating badges in {out}...", - "ru": "Generating badges in {out}...", - "zh": "Generating badges in {out}..." - }, - "Git tag or ref that was deployed": { - "bg": "Git таг или референция, която беше разгърната", - "de": "Git-Tag oder Ref, der bereitgestellt wurde", - "en": "Git tag or ref that was deployed", - "pl": "Tag Git lub ref, który został wdrożony", - "ru": "Git-тег или ссылка, которые были развёрнуты", - "zh": "已部署的 Git 标签或引用" - }, - "Git tag to deploy (e.g. v0.28.1).": { - "bg": "Git таг за разгръщане (напр. v0.28.1).", - "de": "Git-Tag für Bereitstellung (z.B. v0.28.1).", - "en": "Git tag to deploy (e.g. v0.28.1).", - "pl": "Tag Git do wdrożenia (np. v0.28.1).", - "ru": "Git-тег для развёртывания (напр. v0.28.1).", - "zh": "要部署的 Git 标签(例如 v0.28.1)。" - }, - "Gitea API token not set. Set one of: {names}": { - "bg": "Gitea API token not set. Set one of: {names}", - "de": "Gitea API token not set. Set one of: {names}", - "en": "Gitea API token not set. Set one of: {names}", - "pl": "Gitea API token not set. Set one of: {names}", - "ru": "Gitea API token not set. Set one of: {names}", - "zh": "Gitea API token not set. Set one of: {names}" - }, - "Gitea PyPI registry: {tag} already published — continuing.": { - "bg": "Gitea PyPI registry: {tag} вече е публикуван — продължава.", - "de": "Gitea PyPI-Registry: {tag} bereits veröffentlicht — wird fortgesetzt.", - "en": "Gitea PyPI registry: {tag} already published — continuing.", - "pl": "Gitea PyPI registry: {tag} już opublikowano — kontynuacja.", - "ru": "Gitea PyPI registry: {tag} уже опубликован — продолжаем.", - "zh": "Gitea PyPI registry: {tag} 已发布 — 继续。" - }, - "Gitea release {tag} already exists — skipping creation.": { - "bg": "Gitea release {tag} вече съществува — прескачане на създаването.", - "de": "Gitea-Release {tag} existiert bereits — Erstellung übersprungen.", - "en": "Gitea release {tag} already exists — skipping creation.", - "pl": "Wydanie Gitea {tag} już istnieje — pomijanie tworzenia.", - "ru": "Gitea release {tag} уже существует — пропуск создания.", - "zh": "Gitea release {tag} 已存在 — 跳过创建。" - }, - "HEAD is a release commit ('{msg}') but tag {tag} is missing. Recovering by creating tag.": { - "bg": "HEAD is a release commit ('{msg}') but tag {tag} is missing. Recovering by creating tag.", - "de": "HEAD is a release commit ('{msg}') but tag {tag} is missing. Recovering by creating tag.", - "en": "HEAD is a release commit ('{msg}') but tag {tag} is missing. Recovering by creating tag.", - "pl": "HEAD jest commitem wydania ('{msg}') ale tag {tag} brakuje. Naprawa przez utworzenie tagu.", - "ru": "HEAD is a release commit ('{msg}') but tag {tag} is missing. Recovering by creating tag.", - "zh": "HEAD is a release commit ('{msg}') but tag {tag} is missing. Recovering by creating tag." - }, - "HEAD is a release commit for v{version} but tag {tag} points to a different commit ({tag_commit} vs HEAD {head_commit}). This indicates a tag/commit misalignment.": { - "bg": "HEAD is a release commit for v{version} but tag {tag} points to a different commit ({tag_commit} vs HEAD {head_commit}). This indicates a tag/commit misalignment.", - "de": "HEAD is a release commit for v{version} but tag {tag} points to a different commit ({tag_commit} vs HEAD {head_commit}). This indicates a tag/commit misalignment.", - "en": "HEAD is a release commit for v{version} but tag {tag} points to a different commit ({tag_commit} vs HEAD {head_commit}). This indicates a tag/commit misalignment.", - "pl": "HEAD jest commitem wydania dla v{version} ale tag {tag} wskazuje na inny commit ({tag_commit} vs HEAD {head_commit}). Wskazuje to na niezgodność tag/commit.", - "ru": "HEAD is a release commit for v{version} but tag {tag} points to a different commit ({tag_commit} vs HEAD {head_commit}). This indicates a tag/commit misalignment.", - "zh": "HEAD is a release commit for v{version} but tag {tag} points to a different commit ({tag_commit} vs HEAD {head_commit}). This indicates a tag/commit misalignment." - }, - "HEAD is already a release commit ('{msg}') and tag {tag} points to HEAD. Skipping.": { - "bg": "HEAD is already a release commit ('{msg}') and tag {tag} points to HEAD. Skipping.", - "de": "HEAD is already a release commit ('{msg}') and tag {tag} points to HEAD. Skipping.", - "en": "HEAD is already a release commit ('{msg}') and tag {tag} points to HEAD. Skipping.", - "pl": "HEAD jest już commitem wydania ('{msg}') a tag {tag} wskazuje na HEAD. Pomijanie.", - "ru": "HEAD is already a release commit ('{msg}') and tag {tag} points to HEAD. Skipping.", - "zh": "HEAD is already a release commit ('{msg}') and tag {tag} points to HEAD. Skipping." - }, - "HEAD is not a release commit for {tag} — skipping publish.": { - "bg": "HEAD is not a release commit for {tag} — skipping publish.", - "de": "HEAD is not a release commit for {tag} — skipping publish.", - "en": "HEAD is not a release commit for {tag} — skipping publish.", - "pl": "HEAD nie jest commitem wydania dla {tag} — pomijanie publikacji.", - "ru": "HEAD is not a release commit for {tag} — skipping publish.", - "zh": "HEAD is not a release commit for {tag} — skipping publish." - }, - "HTTP error: {status} — {message}": { - "bg": "HTTP грешка: {status} — {message}", - "de": "HTTP-Fehler: {status} — {message}", - "en": "HTTP error: {status} — {message}", - "pl": "Błąd HTTP: {status} — {message}", - "ru": "Ошибка HTTP: {status} — {message}", - "zh": "HTTP 错误: {status} — {message}" - }, - "HTTP {status} Forbidden — your token lacks admin rights.\nMake sure the token belongs to a repo owner or organisation admin.\nAlternatively, configure branch protection manually in Settings → Branches.": { - "bg": "HTTP {status} Забранено — вашият токен няма администраторски права.\nУверете се, че токенът принадлежи на собственик на хранилище или администратор на организация.\nАлтернативно, конфигурирайте защитата на клона ръчно в Настройки → Клонове.", - "de": "HTTP {status} Verboten — Ihr Token hat keine Admin-Rechte.\nStellen Sie sicher, dass das Token einem Repository-Besitzer oder Organisations-Admin gehört.\nAlternativ können Sie den Branch-Schutz manuell unter Einstellungen → Branches konfigurieren.", - "en": "HTTP {status} Forbidden — your token lacks admin rights.\nMake sure the token belongs to a repo owner or organisation admin.\nAlternatively, configure branch protection manually in Settings → Branches.", - "pl": "HTTP {status} Forbidden — twój token nie ma uprawnień administratora.\nUpewnij się, że token należy do właściciela repozytorium lub administratora organizacji.\nAlternatywnie skonfiguruj ochronę gałęzi ręcznie w Ustawienia → Gałęzie.", - "ru": "HTTP {status} Запрещено — у вашего токена нет прав администратора.\nУбедитесь, что токен принадлежит владельцу репозитория или администратору организации.\nЛибо настройте защиту ветки вручную в разделе Настройки → Ветки.", - "zh": "HTTP {status} 禁止访问 — 您的令牌缺少管理员权限。\n请确保令牌属于仓库所有者或组织管理员。\n或者,您可以在 设置 → 分支 中手动配置分支保护。" - }, - "Host Docker not available, starting local dockerd...": { - "bg": "Хост Docker не е наличен, стартиране на локален dockerd...", - "de": "Host-Docker nicht verfügbar, lokaler dockerd wird gestartet...", - "en": "Host Docker not available, starting local dockerd...", - "pl": "Host Docker niedostępny, uruchamianie lokalnego dockerd...", - "ru": "Хост Docker недоступен, запускается локальный dockerd...", - "zh": "主机 Docker 不可用,正在启动本地 dockerd..." - }, - "Image 'tags' must be a list": { - "bg": "Image 'tags' must be a list", - "de": "Image 'tags' must be a list", - "en": "Image 'tags' must be a list", - "pl": "Image 'tags' must be a list", - "ru": "Image 'tags' must be a list", - "zh": "Image 'tags' must be a list" - }, - "Image manifest entry missing 'dockerfile'": { - "bg": "Image manifest entry missing 'dockerfile'", - "de": "Image manifest entry missing 'dockerfile'", - "en": "Image manifest entry missing 'dockerfile'", - "pl": "Image manifest entry missing 'dockerfile'", - "ru": "Image manifest entry missing 'dockerfile'", - "zh": "Image manifest entry missing 'dockerfile'" - }, - "Image manifest entry missing 'name'": { - "bg": "Image manifest entry missing 'name'", - "de": "Image manifest entry missing 'name'", - "en": "Image manifest entry missing 'name'", - "pl": "Image manifest entry missing 'name'", - "ru": "Image manifest entry missing 'name'", - "zh": "Image manifest entry missing 'name'" - }, - "Infrastructure commit (no DEVX-N task ID), skipping Vikunja update: {msg}": { - "bg": "Инфраструктурен commit (без идентификатор на задача DEVX-N), пропускаме обновяването на Vikunja: {msg}", - "de": "Infrastruktur-Commit (keine DEVX-N Task-ID), Vikunja-Update wird übersprungen: {msg}", - "en": "Infrastructure commit (no DEVX-N task ID), skipping Vikunja update: {msg}", - "pl": "Commit infrastruktury (bez ID zadania DEVX-N), pomijanie aktualizacji Vikunja: {msg}", - "ru": "Инфраструктурный коммит (без ID задачи DEVX-N), пропуск обновления Vikunja: {msg}", - "zh": "基础设施提交(无 DEVX-N 任务 ID),跳过 Vikunja 更新: {msg}" - }, - "Integration tests cancelled — another runner failed.": { - "bg": "Integration tests cancelled — another runner failed.", - "de": "Integration tests cancelled — another runner failed.", - "en": "Integration tests cancelled — another runner failed.", - "pl": "Testy integracyjne anulowane — inny runner zakończył się niepowodzeniem.", - "ru": "Integration tests cancelled — another runner failed.", - "zh": "Integration tests cancelled — another runner failed." - }, - "Integration tests failed with exit code {code}": { - "bg": "Integration tests failed with exit code {code}", - "de": "Integration tests failed with exit code {code}", - "en": "Integration tests failed with exit code {code}", - "pl": "Testy integracyjne zakończone niepowodzeniem z kodem {code}", - "ru": "Integration tests failed with exit code {code}", - "zh": "Integration tests failed with exit code {code}" - }, - "Integration tests passed.": { - "bg": "Integration tests passed.", - "de": "Integration tests passed.", - "en": "Integration tests passed.", - "pl": "Testy integracyjne zakończone pomyślnie.", - "ru": "Integration tests passed.", - "zh": "Integration tests passed." - }, - "Invalid checklist category: {cat}. Must be numbers.": { - "bg": "Invalid checklist category: {cat}. Must be numbers.", - "de": "Invalid checklist category: {cat}. Must be numbers.", - "en": "Invalid checklist category: {cat}. Must be numbers.", - "pl": "Invalid checklist category: {cat}. Must be numbers.", - "ru": "Invalid checklist category: {cat}. Must be numbers.", - "zh": "Invalid checklist category: {cat}. Must be numbers." - }, - "Items input must be a JSON array, got {type}": { - "bg": "Входните данни трябва да са JSON масив, получено {type}", - "de": "Eingabe muss ein JSON-Array sein, erhalten {type}", - "en": "Items input must be a JSON array, got {type}", - "pl": "Dane wejściowe muszą być tablicą JSON, otrzymano {type}", - "ru": "Входные данные должны быть JSON-массивом, получено {type}", - "zh": "输入必须是 JSON 数组,得到 {type}" - }, - "Label '{label}' already on PR #{pr}.": { - "bg": "Label '{label}' already on PR #{pr}.", - "de": "Label '{label}' already on PR #{pr}.", - "en": "Label '{label}' already on PR #{pr}.", - "pl": "Label '{label}' already on PR #{pr}.", - "ru": "Label '{label}' already on PR #{pr}.", - "zh": "Label '{label}' already on PR #{pr}." - }, - "Latest run: #{run_id} (status: {status})": { - "bg": "Latest run: #{run_id} (status: {status})", - "de": "Latest run: #{run_id} (status: {status})", - "en": "Latest run: #{run_id} (status: {status})", - "pl": "Latest run: #{run_id} (status: {status})", - "ru": "Latest run: #{run_id} (status: {status})", - "zh": "Latest run: #{run_id} (status: {status})" - }, - "Lint failed — refusing to release. Fix lint errors first.\n{stderr}": { - "bg": "Lint failed — refusing to release. Fix lint errors first.\n{stderr}", - "de": "Lint failed — refusing to release. Fix lint errors first.\n{stderr}", - "en": "Lint failed — refusing to release. Fix lint errors first.\n{stderr}", - "pl": "Lint nie powiódł się — odmowa wydania. Najpierw napraw błędy lint.\n{stderr}", - "ru": "Lint failed — refusing to release. Fix lint errors first.\n{stderr}", - "zh": "Lint failed — refusing to release. Fix lint errors first.\n{stderr}" - }, - "Lint passed.": { - "bg": "Lint passed.", - "de": "Lint passed.", - "en": "Lint passed.", - "pl": "Lint zakończony pomyślnie.", - "ru": "Lint passed.", - "zh": "Lint passed." - }, - "Linting documentation in {root}...": { - "bg": "Linting documentation in {root}...", - "de": "Linting documentation in {root}...", - "en": "Linting documentation in {root}...", - "pl": "Linting documentation in {root}...", - "ru": "Linting documentation in {root}...", - "zh": "Linting documentation in {root}..." - }, - "Login to {registry} failed: {error}": { - "bg": "Влизането в {registry} не успя: {error}", - "de": "Anmeldung bei {registry} fehlgeschlagen: {error}", - "en": "Login to {registry} failed: {error}", - "pl": "Logowanie do {registry} nie powiodło się: {error}", - "ru": "Ошибка входа в {registry}: {error}", - "zh": "登录 {registry} 失败: {error}" - }, - "Loop with {count} iterations in test '{test}' — consider property-based testing (hypothesis) or reduce to <= {max} iterations.": { - "bg": "Цикъл с {count} итерации в тест '{test}' — използвайте property-based тестове (hypothesis) или намалете до <= {max} итерации.", - "de": "Schleife mit {count} Iterationen in Test '{test}' — property-based testing (hypothesis) verwenden oder auf <= {max} Iterationen reduzieren.", - "en": "Loop with {count} iterations in test '{test}' — consider property-based testing (hypothesis) or reduce to <= {max} iterations.", - "pl": "Pętla z {count} iteracjami w teście '{test}' — rozważ testy oparte na właściwościach (hypothesis) lub zmniejsz do <= {max} iteracji.", - "ru": "Цикл с {count} итерациями в тесте '{test}' — используйте property-based тестирование (hypothesis) или уменьшите до <= {max} итераций.", - "zh": "测试 '{test}' 中有 {count} 次迭代的循环 — 考虑使用基于属性的测试 (hypothesis) 或减少到 <= {max} 次迭代。" - }, - "Manifest file not found: {path}": { - "bg": "Manifest file not found: {path}", - "de": "Manifest file not found: {path}", - "en": "Manifest file not found: {path}", - "pl": "Manifest file not found: {path}", - "ru": "Manifest file not found: {path}", - "zh": "Manifest file not found: {path}" - }, - "Manifest must be a JSON list": { - "bg": "Manifest must be a JSON list", - "de": "Manifest must be a JSON list", - "en": "Manifest must be a JSON list", - "pl": "Manifest must be a JSON list", - "ru": "Manifest must be a JSON list", - "zh": "Manifest must be a JSON list" - }, - "Merge failed with HTTP {status}: {message}\nPlease check the PR is ready and you have merge rights.": { - "bg": "Сливането неуспешно с HTTP {status}: {message}\nПроверете дали PR е готов и имате права за сливане.", - "de": "Merge fehlgeschlagen mit HTTP {status}: {message}\nBitte prüfen Sie, ob der PR bereit ist und Sie Merge-Rechte haben.", - "en": "Merge failed with HTTP {status}: {message}\nPlease check the PR is ready and you have merge rights.", - "pl": "Scalanie nie powiodło się z HTTP {status}: {message}\nSprawdź czy PR jest gotowy i masz uprawnienia do scalania.", - "ru": "Слияние не удалось: HTTP {status}: {message}\nПроверьте, что PR готов и у вас есть права на слияние.", - "zh": "合并失败: HTTP {status}: {message}\n请检查 PR 是否准备就绪且您具有合并权限。" - }, - "Missing tests for changed files.": { - "bg": "Missing tests for changed files.", - "de": "Missing tests for changed files.", - "en": "Missing tests for changed files.", - "pl": "Missing tests for changed files.", - "ru": "Missing tests for changed files.", - "zh": "Missing tests for changed files." - }, - "Module {mod} has no main() function": { - "bg": "Модул {mod} няма функция main()", - "de": "Modul {mod} hat keine main()-Funktion", - "en": "Module {mod} has no main() function", - "pl": "Moduł {mod} nie ma funkcji main()", - "ru": "Модуль {mod} не имеет функции main()", - "zh": "模块 {mod} 没有 main() 函数" - }, - "Molecule directory not found: {path}": { - "bg": "Директорията на molecule не е намерена: {path}", - "de": "Molecule-Verzeichnis nicht gefunden: {path}", - "en": "Molecule directory not found: {path}", - "pl": "Katalog molecule nie znaleziony: {path}", - "ru": "Директория molecule не найдена: {path}", - "zh": "未找到 molecule 目录: {path}" - }, - "Next steps:\n 1. git checkout master && git pull\n 2. git checkout -b {prefix}-{num}-short-description\n 3. Implement changes, commit with conventional commit format\n 4. git push -u origin HEAD\n 5. make create-pr (creates PR with title: {identifier}: {title})": { - "bg": "Следващи стъпки:\n 1. git checkout master && git pull\n 2. git checkout -b {prefix}-{num}-кратко-описание\n 3. Имплементирайте промените, commit с conventional commit формат\n 4. git push -u origin HEAD\n 5. make create-pr (създава PR с заглавие: {identifier}: {title})", - "de": "Nächste Schritte:\n 1. git checkout master && git pull\n 2. git checkout -b {prefix}-{num}-kurz-beschreibung\n 3. Änderungen implementieren, mit Conventional-Commit-Format committen\n 4. git push -u origin HEAD\n 5. make create-pr (erstellt PR mit Titel: {identifier}: {title})", - "en": "Next steps:\n 1. git checkout master && git pull\n 2. git checkout -b {prefix}-{num}-short-description\n 3. Implement changes, commit with conventional commit format\n 4. git push -u origin HEAD\n 5. make create-pr (creates PR with title: {identifier}: {title})", - "pl": "Następne kroki:\n 1. git checkout master && git pull\n 2. git checkout -b {prefix}-{num}-krótki-opis\n 3. Wprowadź zmiany, commituj w formacie conventional commit\n 4. git push -u origin HEAD\n 5. make create-pr (tworzy PR z tytułem: {identifier}: {title})", - "ru": "Следующие шаги:\n 1. git checkout master && git pull\n 2. git checkout -b {prefix}-{num}-краткое-описание\n 3. Реализуйте изменения, коммитьте в conventional commit формате\n 4. git push -u origin HEAD\n 5. make create-pr (создаёт PR с заголовком: {identifier}: {title})", - "zh": "后续步骤:\n 1. git checkout master && git pull\n 2. git checkout -b {prefix}-{num}-简短描述\n 3. 实现更改,使用 conventional commit 格式提交\n 4. git push -u origin HEAD\n 5. make create-pr (创建 PR,标题: {identifier}: {title})" - }, - "Nice! Gitea release {tag} created.": { - "bg": "Отлично! Gitea release {tag} е създаден.", - "de": "Prima! Gitea-Release {tag} erstellt.", - "en": "Nice! Gitea release {tag} created.", - "pl": "Świetnie! Wydanie Gitea {tag} utworzone.", - "ru": "Отлично! Gitea release {tag} создан.", - "zh": "不错!Gitea release {tag} 已创建。" - }, - "Nice! PR #{pr_number} squash-merged with title: {merge_title}": { - "bg": "Отлично! PR #{pr_number} е squash-merge-нат със заглавие: {merge_title}", - "de": "Prima! PR #{pr_number} wurde mit Titel {merge_title} squash-gemergt.", - "en": "Nice! PR #{pr_number} squash-merged with title: {merge_title}", - "pl": "Świetnie! PR #{pr_number} squash-merged z tytułem: {merge_title}", - "ru": "Отлично! PR #{pr_number} squash-merge с заголовком: {merge_title}", - "zh": "不错!PR #{pr_number} 已 squash 合并,标题: {merge_title}" - }, - "Nice! Release v{version} tagged and pushed. The publish workflow will be triggered.": { - "bg": "Nice! Release v{version} tagged and pushed. The publish workflow will be triggered.", - "de": "Nice! Release v{version} tagged and pushed. The publish workflow will be triggered.", - "en": "Nice! Release v{version} tagged and pushed. The publish workflow will be triggered.", - "pl": "Świetnie! Wydanie v{version} otagowane i wypchnięte. Workflow publikacji zostanie uruchomiony.", - "ru": "Nice! Release v{version} tagged and pushed. The publish workflow will be triggered.", - "zh": "Nice! Release v{version} tagged and pushed. The publish workflow will be triggered." - }, - "Nice! Vikunja task {task_id} (ID {vikunja_id}) updated and marked done.": { - "bg": "Отлично! Задача Vikunja {task_id} (ID {vikunja_id}) е обновена и маркирана като готова.", - "de": "Prima! Vikunja-Aufgabe {task_id} (ID {vikunja_id}) aktualisiert und als erledigt markiert.", - "en": "Nice! Vikunja task {task_id} (ID {vikunja_id}) updated and marked done.", - "pl": "Świetnie! Zadanie Vikunja {task_id} (ID {vikunja_id}) zaktualizowane i oznaczone jako ukończone.", - "ru": "Отлично! Задача Vikunja {task_id} (ID {vikunja_id}) обновлена и отмечена как выполненная.", - "zh": "不错!Vikunja 任务 {task_id} (ID {vikunja_id}) 已更新并标记为完成。" - }, - "No CI checks found for commit {sha}.": { - "bg": "No CI checks found for commit {sha}.", - "de": "No CI checks found for commit {sha}.", - "en": "No CI checks found for commit {sha}.", - "pl": "No CI checks found for commit {sha}.", - "ru": "No CI checks found for commit {sha}.", - "zh": "No CI checks found for commit {sha}." - }, - "No Python package found under src/ — skipping version check.": { - "bg": "", - "de": "", - "en": "No Python package found under src/ — skipping version check.", - "pl": "", - "ru": "", - "zh": "" - }, - "No badge SVG files generated": { - "bg": "No badge SVG files generated", - "de": "No badge SVG files generated", - "en": "No badge SVG files generated", - "pl": "No badge SVG files generated", - "ru": "No badge SVG files generated", - "zh": "No badge SVG files generated" - }, - "No badge URLs found to update — README already up to date": { - "bg": "No badge URLs found to update — README already up to date", - "de": "No badge URLs found to update — README already up to date", - "en": "No badge URLs found to update — README already up to date", - "pl": "No badge URLs found to update — README already up to date", - "ru": "No badge URLs found to update — README already up to date", - "zh": "No badge URLs found to update — README already up to date" - }, - "No badge changes — skipping commit": { - "bg": "", - "de": "", - "en": "No badge changes — skipping commit", - "pl": "", - "ru": "", - "zh": "" - }, - "No changes between {base} and {head}.": { - "bg": "No changes between {base} and {head}.", - "de": "No changes between {base} and {head}.", - "en": "No changes between {base} and {head}.", - "pl": "Brak zmian między {base} i {head}.", - "ru": "No changes between {base} and {head}.", - "zh": "No changes between {base} and {head}." - }, - "No changes to sync — wiki is up to date.": { - "bg": "", - "de": "", - "en": "No changes to sync — wiki is up to date.", - "pl": "", - "ru": "", - "zh": "" - }, - "No failed jobs.": { - "bg": "No failed jobs.", - "de": "No failed jobs.", - "en": "No failed jobs.", - "pl": "No failed jobs.", - "ru": "No failed jobs.", - "zh": "No failed jobs." - }, - "No job matching '{job}' found.": { - "bg": "No job matching '{job}' found.", - "de": "No job matching '{job}' found.", - "en": "No job matching '{job}' found.", - "pl": "No job matching '{job}' found.", - "ru": "No job matching '{job}' found.", - "zh": "No job matching '{job}' found." - }, - "No jobs found for run #{run_id}.": { - "bg": "No jobs found for run #{run_id}.", - "de": "No jobs found for run #{run_id}.", - "en": "No jobs found for run #{run_id}.", - "pl": "No jobs found for run #{run_id}.", - "ru": "No jobs found for run #{run_id}.", - "zh": "No jobs found for run #{run_id}." - }, - "No open PR found for branch '{branch}'.": { - "bg": "No open PR found for branch '{branch}'.", - "de": "No open PR found for branch '{branch}'.", - "en": "No open PR found for branch '{branch}'.", - "pl": "No open PR found for branch '{branch}'.", - "ru": "No open PR found for branch '{branch}'.", - "zh": "No open PR found for branch '{branch}'." - }, - "No push needed (no changes or push failed).": { - "bg": "", - "de": "", - "en": "No push needed (no changes or push failed).", - "pl": "", - "ru": "", - "zh": "" - }, - "No staged changes — version and changelog already up to date.": { - "bg": "No staged changes — version and changelog already up to date.", - "de": "No staged changes — version and changelog already up to date.", - "en": "No staged changes — version and changelog already up to date.", - "pl": "Brak zmian w staging — wersja i changelog są już aktualne.", - "ru": "No staged changes — version and changelog already up to date.", - "zh": "No staged changes — version and changelog already up to date." - }, - "No tag found — skipping publish.": { - "bg": "No tag found — skipping publish.", - "de": "No tag found — skipping publish.", - "en": "No tag found — skipping publish.", - "pl": "Nie znaleziono tagu — pomijanie publikacji.", - "ru": "No tag found — skipping publish.", - "zh": "No tag found — skipping publish." - }, - "No tags found — treating all changes as user-facing.": { - "bg": "No tags found — treating all changes as user-facing.", - "de": "No tags found — treating all changes as user-facing.", - "en": "No tags found — treating all changes as user-facing.", - "pl": "Nie znaleziono tagów — traktowanie wszystkich zmian jako widocznych dla użytkownika.", - "ru": "No tags found — treating all changes as user-facing.", - "zh": "No tags found — treating all changes as user-facing." - }, - "No task ID ({prefix}-N) found in commit message: {msg}. Every non-infrastructure commit must have a task ID.": { - "bg": "No task ID ({prefix}-N) found in commit message: {msg}. Every non-infrastructure commit must have a task ID.", - "de": "No task ID ({prefix}-N) found in commit message: {msg}. Every non-infrastructure commit must have a task ID.", - "en": "No task ID ({prefix}-N) found in commit message: {msg}. Every non-infrastructure commit must have a task ID.", - "pl": "Nie znaleziono ID zadania ({prefix}-N) w wiadomości commit: {msg}. Każdy commit nie-infrastrukturalny musi mieć ID zadania.", - "ru": "No task ID ({prefix}-N) found in commit message: {msg}. Every non-infrastructure commit must have a task ID.", - "zh": "No task ID ({prefix}-N) found in commit message: {msg}. Every non-infrastructure commit must have a task ID." - }, - "No task ID found in branch name '{branch}'. Expected format: {prefix}-N-description.": { - "bg": "No task ID found in branch name '{branch}'. Expected format: {prefix}-N-description.", - "de": "No task ID found in branch name '{branch}'. Expected format: {prefix}-N-description.", - "en": "No task ID found in branch name '{branch}'. Expected format: {prefix}-N-description.", - "pl": "No task ID found in branch name '{branch}'. Expected format: {prefix}-N-description.", - "ru": "No task ID found in branch name '{branch}'. Expected format: {prefix}-N-description.", - "zh": "No task ID found in branch name '{branch}'. Expected format: {prefix}-N-description." - }, - "No unreleased changes found. Nothing to release.": { - "bg": "No unreleased changes found. Nothing to release.", - "de": "No unreleased changes found. Nothing to release.", - "en": "No unreleased changes found. Nothing to release.", - "pl": "Nie znaleziono nieopublikowanych zmian. Nic do wydania.", - "ru": "No unreleased changes found. Nothing to release.", - "zh": "No unreleased changes found. Nothing to release." - }, - "No user-facing changes since {tag} — only workflow/infrastructure files changed. Skipping release.": { - "bg": "No user-facing changes since {tag} — only workflow/infrastructure files changed. Skipping release.", - "de": "No user-facing changes since {tag} — only workflow/infrastructure files changed. Skipping release.", - "en": "No user-facing changes since {tag} — only workflow/infrastructure files changed. Skipping release.", - "pl": "Brak zmian widocznych dla użytkownika od {tag} — tylko pliki workflow/infrastruktury uległy zmianie. Pomijanie wydania.", - "ru": "No user-facing changes since {tag} — only workflow/infrastructure files changed. Skipping release.", - "zh": "No user-facing changes since {tag} — only workflow/infrastructure files changed. Skipping release." - }, - "No versions found.": { - "bg": "No versions found.", - "de": "No versions found.", - "en": "No versions found.", - "pl": "No versions found.", - "ru": "No versions found.", - "zh": "No versions found." - }, - "No workflow runs found for SHA {sha}.": { - "bg": "No workflow runs found for SHA {sha}.", - "de": "No workflow runs found for SHA {sha}.", - "en": "No workflow runs found for SHA {sha}.", - "pl": "No workflow runs found for SHA {sha}.", - "ru": "No workflow runs found for SHA {sha}.", - "zh": "No workflow runs found for SHA {sha}." - }, - "Note: CI token also cannot approve. Posting COMMENT instead.": { - "bg": "Забележка: CI тоукънът също не може да одобри. Публикуване на COMMENT вместо това.", - "de": "Hinweis: CI-Token kann ebenfalls nicht genehmigen. COMMENT wird stattdessen gesendet.", - "en": "Note: CI token also cannot approve. Posting COMMENT instead.", - "pl": "Uwaga: Token CI również nie może zatwierdzić. Publikowanie COMMENT zamiast tego.", - "ru": "Примечание: CI токен также не может одобрить. Публикация COMMENT вместо этого.", - "zh": "注意:CI 令牌也无法批准。改为发布 COMMENT。" - }, - "Note: Self-approval not allowed with reviewer token. Retrying with CI token.": { - "bg": "Забележка: Само-одобрението не е разрешено с тоукън на рецензента. Повторен опит с CI тоукън.", - "de": "Hinweis: Selbstgenehmigung mit Reviewer-Token nicht erlaubt. Wiederholung mit CI-Token.", - "en": "Note: Self-approval not allowed with reviewer token. Retrying with CI token.", - "pl": "Uwaga: Samo-zatwierdzenie niedozwolone tokenem recenzenta. Ponawianie tokenem CI.", - "ru": "Примечание: Самоодобрение токеном ревьюера не разрешено. Повторная попытка с CI токеном.", - "zh": "注意:不允许使用审阅者令牌进行自我批准。正在使用 CI 令牌重试。" - }, - "Note: Self-approval not allowed. Posting COMMENT instead.": { - "bg": "Забележка: Само-одобрението не е разрешено. Публикуване на COMMENT вместо това.", - "de": "Hinweis: Selbstgenehmigung nicht erlaubt. COMMENT wird stattdessen gesendet.", - "en": "Note: Self-approval not allowed. Posting COMMENT instead.", - "pl": "Uwaga: Samo-zatwierdzenie niedozwolone. Publikowanie COMMENT zamiast tego.", - "ru": "Примечание: Самоодобрение не разрешено. Публикация COMMENT вместо этого.", - "zh": "注意:不允许自我批准。改为发布 COMMENT。" - }, - "Nothing to push.": { - "bg": "Nothing to push.", - "de": "Nothing to push.", - "en": "Nothing to push.", - "pl": "Nothing to push.", - "ru": "Nothing to push.", - "zh": "Nothing to push." - }, - "Only check staged files (for pre-commit)": { - "bg": "Only check staged files (for pre-commit)", - "de": "Only check staged files (for pre-commit)", - "en": "Only check staged files (for pre-commit)", - "pl": "Only check staged files (for pre-commit)", - "ru": "Only check staged files (for pre-commit)", - "zh": "Only check staged files (for pre-commit)" - }, - "Oops! Commit message must follow conventional commit format.\n Expected: : \n Got: {subject}\n Allowed types: feat, fix, chore, docs, style, refactor,\n perf, test, ci, build, revert, BREAKING CHANGE": { - "bg": "Опа! Съобщението за commit трябва да следва конвенционален формат.\n Очаква се: : \n Получено: {subject}\n Разрешени типове: feat, fix, chore, docs, style, refactor,\n perf, test, ci, build, revert, BREAKING CHANGE", - "de": "Ups! Commit-Nachricht muss dem konventionellen Commit-Format folgen.\n Erwartet: : \n Erhalten: {subject}\n Erlaubte Typen: feat, fix, chore, docs, style, refactor,\n perf, test, ci, build, revert, BREAKING CHANGE", - "en": "Oops! Commit message must follow conventional commit format.\n Expected: : \n Got: {subject}\n Allowed types: feat, fix, chore, docs, style, refactor,\n perf, test, ci, build, revert, BREAKING CHANGE", - "pl": "Ups! Wiadomość commit musi być w formacie conventional commit.\n Oczekiwano: : \n Otrzymano: {subject}\n Dozwolone typy: feat, fix, chore, docs, style, refactor,\n perf, test, ci, build, revert, BREAKING CHANGE", - "ru": "Ой! Сообщение коммита должно соответствовать формату conventional commit.\n Ожидается: : \n Получено: {subject}\n Допустимые типы: feat, fix, chore, docs, style, refactor,\n perf, test, ci, build, revert, BREAKING CHANGE", - "zh": "哎呀!提交消息必须遵循 conventional commit 格式。\n 预期格式: : \n 实际: {subject}\n 允许的类型: feat, fix, chore, docs, style, refactor,\n perf, test, ci, build, revert, BREAKING CHANGE" - }, - "Oops! Do not include task ID ({prefix}-N) in feature branch commits.\n The task ID will be added automatically on merge via CI.": { - "bg": "Oops! Do not include task ID ({prefix}-N) in feature branch commits.\n The task ID will be added automatically on merge via CI.", - "de": "Oops! Do not include task ID ({prefix}-N) in feature branch commits.\n The task ID will be added automatically on merge via CI.", - "en": "Oops! Do not include task ID ({prefix}-N) in feature branch commits.\n The task ID will be added automatically on merge via CI.", - "pl": "Ups! Nie dołączaj ID zadania ({prefix}-N) w commitach gałęzi feature.\n ID zadania zostanie dodane automatycznie przy scaleniu przez CI.", - "ru": "Oops! Do not include task ID ({prefix}-N) in feature branch commits.\n The task ID will be added automatically on merge via CI.", - "zh": "Oops! Do not include task ID ({prefix}-N) in feature branch commits.\n The task ID will be added automatically on merge via CI." - }, - "Oops! Gitea PyPI registry publish failed:\n{stderr}": { - "bg": "Опа! Публикуването в Gitea PyPI registry неуспешно:\n{stderr}", - "de": "Ups! Veröffentlichung in der Gitea PyPI-Registry fehlgeschlagen:\n{stderr}", - "en": "Oops! Gitea PyPI registry publish failed:\n{stderr}", - "pl": "Ups! Publikacja w rejestrze Gitea PyPI nie powiodła się:\n{stderr}", - "ru": "Ой! Публикация в Gitea PyPI registry не удалась:\n{stderr}", - "zh": "哎呀!Gitea PyPI registry 发布失败:\n{stderr}" - }, - "Oops! Master branch commit must follow conventional format after task ID.\n Expected: {prefix}-N: : \n Got: {subject}": { - "bg": "Oops! Master branch commit must follow conventional format after task ID.\n Expected: {prefix}-N: : \n Got: {subject}", - "de": "Oops! Master branch commit must follow conventional format after task ID.\n Expected: {prefix}-N: : \n Got: {subject}", - "en": "Oops! Master branch commit must follow conventional format after task ID.\n Expected: {prefix}-N: : \n Got: {subject}", - "pl": "Ups! Commit gałęzi master musi być w formacie conventional po ID zadania.\n Oczekiwano: {prefix}-N: : \n Otrzymano: {subject}", - "ru": "Oops! Master branch commit must follow conventional format after task ID.\n Expected: {prefix}-N: : \n Got: {subject}", - "zh": "Oops! Master branch commit must follow conventional format after task ID.\n Expected: {prefix}-N: : \n Got: {subject}" - }, - "Oops! Master branch commits must start with a task ID.\n Expected: {prefix}-N: \n Got: {subject}": { - "bg": "Oops! Master branch commits must start with a task ID.\n Expected: {prefix}-N: \n Got: {subject}", - "de": "Oops! Master branch commits must start with a task ID.\n Expected: {prefix}-N: \n Got: {subject}", - "en": "Oops! Master branch commits must start with a task ID.\n Expected: {prefix}-N: \n Got: {subject}", - "pl": "Ups! Commity gałęzi master muszą zaczynać się od ID zadania.\n Oczekiwano: {prefix}-N: \n Otrzymano: {subject}", - "ru": "Oops! Master branch commits must start with a task ID.\n Expected: {prefix}-N: \n Got: {subject}", - "zh": "Oops! Master branch commits must start with a task ID.\n Expected: {prefix}-N: \n Got: {subject}" - }, - "Oops! No task ID found in branch name '{branch}'. Branch names must include the task ID prefix (e.g., DEVX-31-fix-bug).": { - "bg": "Ой! Не е намерен ID на задача в името на клона '{branch}'. Имената на клонове трябва да включват префикса за ID на задача (напр. DEVX-31-fix-bug).", - "de": "Hoppla! Keine Task-ID im Branch-Namen '{branch}' gefunden. Branch-Namen müssen das Task-ID-Präfix enthalten (z.B. DEVX-31-fix-bug).", - "en": "Oops! No task ID found in branch name '{branch}'. Branch names must include the task ID prefix (e.g., DEVX-31-fix-bug).", - "pl": "Ups! Nie znaleziono ID zadania w nazwie gałęzi '{branch}'. Nazwy gałęzi muszą zawierać prefiks ID zadania (np., DEVX-31-fix-bug).", - "ru": "Ой! ID задачи не найден в имени ветки '{branch}'. Имена веток должны включать префикс ID задачи (например, DEVX-31-fix-bug).", - "zh": "哎呀!在分支名称 '{branch}' 中未找到任务 ID。分支名称必须包含任务 ID 前缀(例如 DEVX-31-fix-bug)。" - }, - "Oops! PR title must follow format '{prefix}-N: '.\n Expected: {task_id}: \n Got: {pr_title}": { - "bg": "Oops! PR title must follow format '{prefix}-N: '.\n Expected: {task_id}: \n Got: {pr_title}", - "de": "Oops! PR title must follow format '{prefix}-N: '.\n Expected: {task_id}: \n Got: {pr_title}", - "en": "Oops! PR title must follow format '{prefix}-N: '.\n Expected: {task_id}: \n Got: {pr_title}", - "pl": "Ups! Tytuł PR musi być w formacie '{prefix}-N: '.\n Oczekiwano: {task_id}: \n Otrzymano: {pr_title}", - "ru": "Oops! PR title must follow format '{prefix}-N: '.\n Expected: {task_id}: \n Got: {pr_title}", - "zh": "Oops! PR title must follow format '{prefix}-N: '.\n Expected: {task_id}: \n Got: {pr_title}" - }, - "Oops! PR title task ID mismatch.\n Branch task ID: {task_id}\n PR title: {pr_title}": { - "bg": "Oops! PR title task ID mismatch.\n Branch task ID: {task_id}\n PR title: {pr_title}", - "de": "Oops! PR title task ID mismatch.\n Branch task ID: {task_id}\n PR title: {pr_title}", - "en": "Oops! PR title task ID mismatch.\n Branch task ID: {task_id}\n PR title: {pr_title}", - "pl": "Ups! Niezgodność ID zadania w tytule PR.\n ID zadania z gałęzi: {task_id}\n Tytuł PR: {pr_title}", - "ru": "Oops! PR title task ID mismatch.\n Branch task ID: {task_id}\n PR title: {pr_title}", - "zh": "Oops! PR title task ID mismatch.\n Branch task ID: {task_id}\n PR title: {pr_title}" - }, - "Oops! Package build failed:\n{stderr}": { - "bg": "Опа! Сборката на пакета неуспешна:\n{stderr}", - "de": "Ups! Paket-Build fehlgeschlagen:\n{stderr}", - "en": "Oops! Package build failed:\n{stderr}", - "pl": "Ups! Budowanie pakietu nie powiodło się:\n{stderr}", - "ru": "Ой! Сборка пакета не удалась:\n{stderr}", - "zh": "哎呀!包构建失败:\n{stderr}" - }, - "Oops! PyPI publish failed:\n{stderr}": { - "bg": "Опа! Публикуването в PyPI неуспешно:\n{stderr}", - "de": "Ups! PyPI-Veröffentlichung fehlgeschlagen:\n{stderr}", - "en": "Oops! PyPI publish failed:\n{stderr}", - "pl": "Ups! Publikacja PyPI nie powiodła się:\n{stderr}", - "ru": "Ой! Публикация в PyPI не удалась:\n{stderr}", - "zh": "哎呀!PyPI 发布失败:\n{stderr}" - }, - "PASS: All documentation checks passed!": { - "bg": "PASS: All documentation checks passed!", - "de": "PASS: All documentation checks passed!", - "en": "PASS: All documentation checks passed!", - "pl": "PASS: All documentation checks passed!", - "ru": "PASS: All documentation checks passed!", - "zh": "PASS: All documentation checks passed!" - }, - "PASSED: {pair}": { - "bg": "PASSED: {pair}", - "de": "PASSED: {pair}", - "en": "PASSED: {pair}", - "pl": "UDANE: {pair}", - "ru": "PASSED: {pair}", - "zh": "PASSED: {pair}" - }, - "PR #{pr} rebased successfully. A new CI run will start automatically.\nIf auto-merge is enabled (ready-to-merge label), the next CI run\nwill attempt to merge this PR.": { - "bg": "PR #{pr} rebased successfully. A new CI run will start automatically.\nIf auto-merge is enabled (ready-to-merge label), the next CI run\nwill attempt to merge this PR.", - "de": "PR #{pr} rebased successfully. A new CI run will start automatically.\nIf auto-merge is enabled (ready-to-merge label), the next CI run\nwill attempt to merge this PR.", - "en": "PR #{pr} rebased successfully. A new CI run will start automatically.\nIf auto-merge is enabled (ready-to-merge label), the next CI run\nwill attempt to merge this PR.", - "pl": "PR #{pr} rebased successfully. A new CI run will start automatically.\nIf auto-merge is enabled (ready-to-merge label), the next CI run\nwill attempt to merge this PR.", - "ru": "PR #{pr} rebased successfully. A new CI run will start automatically.\nIf auto-merge is enabled (ready-to-merge label), the next CI run\nwill attempt to merge this PR.", - "zh": "PR #{pr} rebased successfully. A new CI run will start automatically.\nIf auto-merge is enabled (ready-to-merge label), the next CI run\nwill attempt to merge this PR." - }, - "PR already exists: #{index} — {url}": { - "bg": "PR вече съществува: #{index} — {url}", - "de": "PR existiert bereits: #{index} — {url}", - "en": "PR already exists: #{index} — {url}", - "pl": "PR już istnieje: #{index} — {url}", - "ru": "PR уже существует: #{index} — {url}", - "zh": "PR 已存在: #{index} — {url}" - }, - "PR number (to fetch title from Gitea)": { - "bg": "PR number (to fetch title from Gitea)", - "de": "PR number (to fetch title from Gitea)", - "en": "PR number (to fetch title from Gitea)", - "pl": "PR number (to fetch title from Gitea)", - "ru": "PR number (to fetch title from Gitea)", - "zh": "PR number (to fetch title from Gitea)" - }, - "PR number must be an integer, got: {pr_number}": { - "bg": "PR number must be an integer, got: {pr_number}", - "de": "PR number must be an integer, got: {pr_number}", - "en": "PR number must be an integer, got: {pr_number}", - "pl": "Numer PR musi być liczbą całkowitą, otrzymano: {pr_number}", - "ru": "PR number must be an integer, got: {pr_number}", - "zh": "PR number must be an integer, got: {pr_number}" - }, - "PR title (auto-fetched if --pr-number given)": { - "bg": "PR title (auto-fetched if --pr-number given)", - "de": "PR title (auto-fetched if --pr-number given)", - "en": "PR title (auto-fetched if --pr-number given)", - "pl": "PR title (auto-fetched if --pr-number given)", - "ru": "PR title (auto-fetched if --pr-number given)", - "zh": "PR title (auto-fetched if --pr-number given)" - }, - "PR title does not match Vikunja task title.\n Expected: {expected}\n Got: {pr_title}": { - "bg": "PR title does not match Vikunja task title.\n Expected: {expected}\n Got: {pr_title}", - "de": "PR title does not match Vikunja task title.\n Expected: {expected}\n Got: {pr_title}", - "en": "PR title does not match Vikunja task title.\n Expected: {expected}\n Got: {pr_title}", - "pl": "Tytuł PR nie pasuje do tytułu zadania Vikunja.\n Oczekiwano: {expected}\n Otrzymano: {pr_title}", - "ru": "PR title does not match Vikunja task title.\n Expected: {expected}\n Got: {pr_title}", - "zh": "PR title does not match Vikunja task title.\n Expected: {expected}\n Got: {pr_title}" - }, - "PR title does not match Vikunja task title.\n Expected: {expected}\n Got: {title}": { - "bg": "PR title does not match Vikunja task title.\n Expected: {expected}\n Got: {title}", - "de": "PR title does not match Vikunja task title.\n Expected: {expected}\n Got: {title}", - "en": "PR title does not match Vikunja task title.\n Expected: {expected}\n Got: {title}", - "pl": "PR title does not match Vikunja task title.\n Expected: {expected}\n Got: {title}", - "ru": "PR title does not match Vikunja task title.\n Expected: {expected}\n Got: {title}", - "zh": "PR title does not match Vikunja task title.\n Expected: {expected}\n Got: {title}" - }, - "PR title must follow format '{prefix}-N: '.\n Got: {title}": { - "bg": "PR title must follow format '{prefix}-N: '.\n Got: {title}", - "de": "PR title must follow format '{prefix}-N: '.\n Got: {title}", - "en": "PR title must follow format '{prefix}-N: '.\n Got: {title}", - "pl": "PR title must follow format '{prefix}-N: '.\n Got: {title}", - "ru": "PR title must follow format '{prefix}-N: '.\n Got: {title}", - "zh": "PR title must follow format '{prefix}-N: '.\n Got: {title}" - }, - "PR title task ID mismatch.\n Branch task ID: {task_id}\n PR title: {title}": { - "bg": "PR title task ID mismatch.\n Branch task ID: {task_id}\n PR title: {title}", - "de": "PR title task ID mismatch.\n Branch task ID: {task_id}\n PR title: {title}", - "en": "PR title task ID mismatch.\n Branch task ID: {task_id}\n PR title: {title}", - "pl": "PR title task ID mismatch.\n Branch task ID: {task_id}\n PR title: {title}", - "ru": "PR title task ID mismatch.\n Branch task ID: {task_id}\n PR title: {title}", - "zh": "PR title task ID mismatch.\n Branch task ID: {task_id}\n PR title: {title}" - }, - "PYPI_TOKEN not set and no registry URL configured — skipping PyPI publish. No worries, we'll just create the Gitea release.": { - "bg": "PYPI_TOKEN не е зададен и няма конфигуриран URL на registry — пропускаме публикуването в PyPI. Без притеснения, просто ще създадем Gitea release.", - "de": "PYPI_TOKEN nicht gesetzt und keine Registry-URL konfiguriert — PyPI-Veröffentlichung wird übersprungen. Keine Sorge, wir erstellen einfach das Gitea-Release.", - "en": "PYPI_TOKEN not set and no registry URL configured — skipping PyPI publish. No worries, we'll just create the Gitea release.", - "pl": "PYPI_TOKEN nie ustawiony i brak URL rejestru — pomijanie publikacji PyPI. Bez obaw, utworzymy tylko wydanie Gitea.", - "ru": "PYPI_TOKEN не задан и URL registry не настроен — пропускаем публикацию в PyPI. Не беспокойтесь, мы просто создадим Gitea release.", - "zh": "未设置 PYPI_TOKEN 且未配置 registry URL — 跳过 PyPI 发布。别担心,我们直接创建 Gitea release。" - }, - "Package owner not specified. Use --owner or set [tool.devx] repo_owner.": { - "bg": "Package owner not specified. Use --owner or set [tool.devx] repo_owner.", - "de": "Package owner not specified. Use --owner or set [tool.devx] repo_owner.", - "en": "Package owner not specified. Use --owner or set [tool.devx] repo_owner.", - "pl": "Package owner not specified. Use --owner or set [tool.devx] repo_owner.", - "ru": "Package owner not specified. Use --owner or set [tool.devx] repo_owner.", - "zh": "Package owner not specified. Use --owner or set [tool.devx] repo_owner." - }, - "Package: {owner}/{name}": { - "bg": "Package: {owner}/{name}", - "de": "Package: {owner}/{name}", - "en": "Package: {owner}/{name}", - "pl": "Package: {owner}/{name}", - "ru": "Package: {owner}/{name}", - "zh": "Package: {owner}/{name}" - }, - "Parsed owner={owner}, repo={repo} from DEVX_REPO_NAME": { - "bg": "Разбор на owner={owner}, repo={repo} от DEVX_REPO_NAME", - "de": "Owner={owner}, repo={repo} aus DEVX_REPO_NAME analysiert", - "en": "Parsed owner={owner}, repo={repo} from DEVX_REPO_NAME", - "pl": "Przeanalizowano owner={owner}, repo={repo} z DEVX_REPO_NAME", - "ru": "Извлечён owner={owner}, repo={repo} из DEVX_REPO_NAME", - "zh": "从 DEVX_REPO_NAME 解析 owner={owner}, repo={repo}" - }, - "Path to pyproject.toml (default: pyproject.toml in CWD).": { - "bg": "Path to pyproject.toml (default: pyproject.toml in CWD).", - "de": "Path to pyproject.toml (default: pyproject.toml in CWD).", - "en": "Path to pyproject.toml (default: pyproject.toml in CWD).", - "pl": "Path to pyproject.toml (default: pyproject.toml in CWD).", - "ru": "Path to pyproject.toml (default: pyproject.toml in CWD).", - "zh": "Path to pyproject.toml (default: pyproject.toml in CWD)." - }, - "Per-test speed check FAILED: {count} test(s) exceed {limit}s limit.": { - "bg": "Per-test speed check FAILED: {count} test(s) exceed {limit}s limit.", - "de": "Per-test speed check FAILED: {count} test(s) exceed {limit}s limit.", - "en": "Per-test speed check FAILED: {count} test(s) exceed {limit}s limit.", - "pl": "Kontrola szybkości pojedynczego testu NIEUDANA: {count} test(ów) przekracza limit {limit}s.", - "ru": "Per-test speed check FAILED: {count} test(s) exceed {limit}s limit.", - "zh": "Per-test speed check FAILED: {count} test(s) exceed {limit}s limit." - }, - "Pre-merge validation failed.": { - "bg": "Pre-merge validation failed.", - "de": "Pre-merge validation failed.", - "en": "Pre-merge validation failed.", - "pl": "Pre-merge validation failed.", - "ru": "Pre-merge validation failed.", - "zh": "Pre-merge validation failed." - }, - "Pre-push check passed: task {task_id} exists.": { - "bg": "Pre-push проверката премина: задача {task_id} съществува.", - "de": "Pre-push-Prüfung bestanden: Task {task_id} existiert.", - "en": "Pre-push check passed: task {task_id} exists.", - "pl": "Sprawdzanie pre-push zakończone: zadanie {task_id} istnieje.", - "ru": "Pre-push проверка пройдена: задача {task_id} существует.", - "zh": "Pre-push 检查通过: 任务 {task_id} 存在。" - }, - "Print warnings but always exit 0": { - "bg": "Print warnings but always exit 0", - "de": "Print warnings but always exit 0", - "en": "Print warnings but always exit 0", - "pl": "Print warnings but always exit 0", - "ru": "Print warnings but always exit 0", - "zh": "Print warnings but always exit 0" - }, - "Provide --manifest or both --dockerfile and --name": { - "bg": "Provide --manifest or both --dockerfile and --name", - "de": "Provide --manifest or both --dockerfile and --name", - "en": "Provide --manifest or both --dockerfile and --name", - "pl": "Provide --manifest or both --dockerfile and --name", - "ru": "Provide --manifest or both --dockerfile and --name", - "zh": "Provide --manifest or both --dockerfile and --name" - }, - "Provide a commit message file or use --git.": { - "bg": "Provide a commit message file or use --git.", - "de": "Provide a commit message file or use --git.", - "en": "Provide a commit message file or use --git.", - "pl": "Podaj plik komunikatu commitu lub użyj --git.", - "ru": "Provide a commit message file or use --git.", - "zh": "Provide a commit message file or use --git." - }, - "Published to Gitea PyPI registry.": { - "bg": "Публикувано в Gitea PyPI registry.", - "de": "In der Gitea PyPI-Registry veröffentlicht.", - "en": "Published to Gitea PyPI registry.", - "pl": "Opublikowano w rejestrze Gitea PyPI.", - "ru": "Опубликовано в Gitea PyPI registry.", - "zh": "已发布到 Gitea PyPI registry。" - }, - "Published to PyPI.": { - "bg": "Публикувано в PyPI.", - "de": "In PyPI veröffentlicht.", - "en": "Published to PyPI.", - "pl": "Opublikowano w PyPI.", - "ru": "Опубликовано в PyPI.", - "zh": "已发布到 PyPI。" - }, - "Publishing release {tag}...": { - "bg": "Publishing release {tag}...", - "de": "Publishing release {tag}...", - "en": "Publishing release {tag}...", - "pl": "Publikowanie wydania {tag}...", - "ru": "Publishing release {tag}...", - "zh": "Publishing release {tag}..." - }, - "Push attempt {n}/3 failed: {err}": { - "bg": "Push attempt {n}/3 failed: {err}", - "de": "Push attempt {n}/3 failed: {err}", - "en": "Push attempt {n}/3 failed: {err}", - "pl": "Push attempt {n}/3 failed: {err}", - "ru": "Push attempt {n}/3 failed: {err}", - "zh": "Push attempt {n}/3 failed: {err}" - }, - "Push failed for {tag}: {error}": { - "bg": "Push failed for {tag}: {error}", - "de": "Push failed for {tag}: {error}", - "en": "Push failed for {tag}: {error}", - "pl": "Push failed for {tag}: {error}", - "ru": "Push failed for {tag}: {error}", - "zh": "Push failed for {tag}: {error}" - }, - "Push failed: {error}": { - "bg": "", - "de": "", - "en": "Push failed: {error}", - "pl": "", - "ru": "", - "zh": "" - }, - "Pushed README update with badge SHA {sha}": { - "bg": "Pushed README update with badge SHA {sha}", - "de": "Pushed README update with badge SHA {sha}", - "en": "Pushed README update with badge SHA {sha}", - "pl": "Pushed README update with badge SHA {sha}", - "ru": "Pushed README update with badge SHA {sha}", - "zh": "Pushed README update with badge SHA {sha}" - }, - "Pushed release commit to master.": { - "bg": "Pushed release commit to master.", - "de": "Pushed release commit to master.", - "en": "Pushed release commit to master.", - "pl": "Wypchnięto commit wydania do master.", - "ru": "Pushed release commit to master.", - "zh": "Pushed release commit to master." - }, - "Pushed {branch} to origin.": { - "bg": "Pushed {branch} to origin.", - "de": "Pushed {branch} to origin.", - "en": "Pushed {branch} to origin.", - "pl": "Pushed {branch} to origin.", - "ru": "Pushed {branch} to origin.", - "zh": "Pushed {branch} to origin." - }, - "PyPI publish failed (non-fatal — continuing to Gitea release):\n{error}": { - "bg": "Публикуването в PyPI неуспешно (некритично — продължава към Gitea release):\n{error}", - "de": "PyPI-Veröffentlichung fehlgeschlagen (nicht fatal — Gitea-Release wird fortgesetzt):\n{error}", - "en": "PyPI publish failed (non-fatal — continuing to Gitea release):\n{error}", - "pl": "Publikacja PyPI nie powiodła się (niekrytyczne — kontynuacja Gitea release):\n{error}", - "ru": "Публикация в PyPI не удалась (некритично — продолжаем создание Gitea release):\n{error}", - "zh": "PyPI 发布失败(非致命 — 继续创建 Gitea release):\n{error}" - }, - "REPO argument is required (or set GITHUB_REPOSITORY env var).": { - "bg": "REPO argument is required (or set GITHUB_REPOSITORY env var).", - "de": "REPO argument is required (or set GITHUB_REPOSITORY env var).", - "en": "REPO argument is required (or set GITHUB_REPOSITORY env var).", - "pl": "Argument REPO jest wymagany (lub ustaw zmienną GITHUB_REPOSITORY).", - "ru": "REPO argument is required (or set GITHUB_REPOSITORY env var).", - "zh": "REPO argument is required (or set GITHUB_REPOSITORY env var)." - }, - "Rebase attempt {n}/3 failed: {err}": { - "bg": "Rebase attempt {n}/3 failed: {err}", - "de": "Rebase attempt {n}/3 failed: {err}", - "en": "Rebase attempt {n}/3 failed: {err}", - "pl": "Rebase attempt {n}/3 failed: {err}", - "ru": "Rebase attempt {n}/3 failed: {err}", - "zh": "Rebase attempt {n}/3 failed: {err}" - }, - "Rebase failed (conflicts or other error):\n{error}\nResolve conflicts and run: git rebase --continue": { - "bg": "Rebase failed (conflicts or other error):\n{error}\nResolve conflicts and run: git rebase --continue", - "de": "Rebase failed (conflicts or other error):\n{error}\nResolve conflicts and run: git rebase --continue", - "en": "Rebase failed (conflicts or other error):\n{error}\nResolve conflicts and run: git rebase --continue", - "pl": "Rebase failed (conflicts or other error):\n{error}\nResolve conflicts and run: git rebase --continue", - "ru": "Rebase failed (conflicts or other error):\n{error}\nResolve conflicts and run: git rebase --continue", - "zh": "Rebase failed (conflicts or other error):\n{error}\nResolve conflicts and run: git rebase --continue" - }, - "Rebase failed with HTTP {status}: {message}": { - "bg": "Rebase failed with HTTP {status}: {message}", - "de": "Rebase failed with HTTP {status}: {message}", - "en": "Rebase failed with HTTP {status}: {message}", - "pl": "Rebase failed with HTTP {status}: {message}", - "ru": "Rebase failed with HTTP {status}: {message}", - "zh": "Rebase failed with HTTP {status}: {message}" - }, - "Rebase successful.": { - "bg": "Rebase successful.", - "de": "Rebase successful.", - "en": "Rebase successful.", - "pl": "Rebase successful.", - "ru": "Rebase successful.", - "zh": "Rebase successful." - }, - "Rebasing PR #{pr} via Gitea API...": { - "bg": "Rebasing PR #{pr} via Gitea API...", - "de": "Rebasing PR #{pr} via Gitea API...", - "en": "Rebasing PR #{pr} via Gitea API...", - "pl": "Rebasing PR #{pr} via Gitea API...", - "ru": "Rebasing PR #{pr} via Gitea API...", - "zh": "Rebasing PR #{pr} via Gitea API..." - }, - "Registry credentials required: set CI_GITEA_TOKEN and CI_GITEA_USERNAME env vars": { - "bg": "Registry credentials required: set CI_GITEA_TOKEN and CI_GITEA_USERNAME env vars", - "de": "Registry credentials required: set CI_GITEA_TOKEN and CI_GITEA_USERNAME env vars", - "en": "Registry credentials required: set CI_GITEA_TOKEN and CI_GITEA_USERNAME env vars", - "pl": "Registry credentials required: set CI_GITEA_TOKEN and CI_GITEA_USERNAME env vars", - "ru": "Registry credentials required: set CI_GITEA_TOKEN and CI_GITEA_USERNAME env vars", - "zh": "Registry credentials required: set CI_GITEA_TOKEN and CI_GITEA_USERNAME env vars" - }, - "Registry login failed": { - "bg": "Registry login failed", - "de": "Registry login failed", - "en": "Registry login failed", - "pl": "Registry login failed", - "ru": "Registry login failed", - "zh": "Registry login failed" - }, - "Registry login failed: {error}": { - "bg": "Registry login failed: {error}", - "de": "Registry login failed: {error}", - "en": "Registry login failed: {error}", - "pl": "Registry login failed: {error}", - "ru": "Registry login failed: {error}", - "zh": "Registry login failed: {error}" - }, - "Regular merge commit — running all post-merge jobs.": { - "bg": "Regular merge commit — running all post-merge jobs.", - "de": "Regular merge commit — running all post-merge jobs.", - "en": "Regular merge commit — running all post-merge jobs.", - "pl": "Regular merge commit — running all post-merge jobs.", - "ru": "Regular merge commit — running all post-merge jobs.", - "zh": "Regular merge commit — running all post-merge jobs." - }, - "Release commit — skipping all post-merge jobs.": { - "bg": "Release commit — skipping all post-merge jobs.", - "de": "Release commit — skipping all post-merge jobs.", - "en": "Release commit — skipping all post-merge jobs.", - "pl": "Release commit — skipping all post-merge jobs.", - "ru": "Release commit — skipping all post-merge jobs.", - "zh": "Release commit — skipping all post-merge jobs." - }, - "Release creation failed: {error}": { - "bg": "Release creation failed: {error}", - "de": "Release creation failed: {error}", - "en": "Release creation failed: {error}", - "pl": "Tworzenie wydania nie powiodło się: {error}", - "ru": "Release creation failed: {error}", - "zh": "Release creation failed: {error}" - }, - "Release must be run on master, currently on '{branch}'.": { - "bg": "Release must be run on master, currently on '{branch}'.", - "de": "Release must be run on master, currently on '{branch}'.", - "en": "Release must be run on master, currently on '{branch}'.", - "pl": "Wydanie musi być uruchomione na master, obecnie na '{branch}'.", - "ru": "Release must be run on master, currently on '{branch}'.", - "zh": "Release must be run on master, currently on '{branch}'." - }, - "Repo must be in 'owner/name' format, got: {repo}": { - "bg": "Repo must be in 'owner/name' format, got: {repo}", - "de": "Repo must be in 'owner/name' format, got: {repo}", - "en": "Repo must be in 'owner/name' format, got: {repo}", - "pl": "Repo musi być w formacie 'owner/name', otrzymano: {repo}", - "ru": "Repo must be in 'owner/name' format, got: {repo}", - "zh": "Repo must be in 'owner/name' format, got: {repo}" - }, - "Repository configuration complete.": { - "bg": "Конфигурирането на хранилището е завършено.", - "de": "Repository-Konfiguration abgeschlossen.", - "en": "Repository configuration complete.", - "pl": "Konfiguracja repozytorium zakończona.", - "ru": "Конфигурация репозитория завершена.", - "zh": "仓库配置完成。" - }, - "Repository in owner/name format": { - "bg": "Repository in owner/name format", - "de": "Repository in owner/name format", - "en": "Repository in owner/name format", - "pl": "Repository in owner/name format", - "ru": "Repository in owner/name format", - "zh": "Repository in owner/name format" - }, - "Repository name not set. Use DEVX_REPO_NAME, [tool.devx] repo_name, or GITHUB_REPOSITORY env var.": { - "bg": "Repository name not set. Use DEVX_REPO_NAME, [tool.devx] repo_name, or GITHUB_REPOSITORY env var.", - "de": "Repository name not set. Use DEVX_REPO_NAME, [tool.devx] repo_name, or GITHUB_REPOSITORY env var.", - "en": "Repository name not set. Use DEVX_REPO_NAME, [tool.devx] repo_name, or GITHUB_REPOSITORY env var.", - "pl": "Repository name not set. Use DEVX_REPO_NAME, [tool.devx] repo_name, or GITHUB_REPOSITORY env var.", - "ru": "Repository name not set. Use DEVX_REPO_NAME, [tool.devx] repo_name, or GITHUB_REPOSITORY env var.", - "zh": "Repository name not set. Use DEVX_REPO_NAME, [tool.devx] repo_name, or GITHUB_REPOSITORY env var." - }, - "Repository owner not set. Use --owner or DEVX_REPO_OWNER env var.": { - "bg": "Собственикът на хранилището не е зададен. Използвайте --owner или DEVX_REPO_OWNER env var.", - "de": "Repository-Owner nicht gesetzt. Verwende --owner oder DEVX_REPO_OWNER env var.", - "en": "Repository owner not set. Use --owner or DEVX_REPO_OWNER env var.", - "pl": "Właściciel repozytorium nie jest ustawiony. Użyj --owner lub DEVX_REPO_OWNER env var.", - "ru": "Владелец репозитория не установлен. Используйте --owner или DEVX_REPO_OWNER env var.", - "zh": "仓库所有者未设置。使用 --owner 或 DEVX_REPO_OWNER 环境变量。" - }, - "Required tools missing.": { - "bg": "Липсват задължителни инструменти.", - "de": "Erforderliche Werkzeuge fehlen.", - "en": "Required tools missing.", - "pl": "Brak wymaganych narzędzi.", - "ru": "Отсутствуют обязательные инструменты.", - "zh": "缺少必需的工具。" - }, - "Review body must be at least 50 characters.": { - "bg": "Review body must be at least 50 characters.", - "de": "Review body must be at least 50 characters.", - "en": "Review body must be at least 50 characters.", - "pl": "Review body must be at least 50 characters.", - "ru": "Review body must be at least 50 characters.", - "zh": "Review body must be at least 50 characters." - }, - "Roles directory not found: {path}": { - "bg": "Roles directory not found: {path}", - "de": "Roles directory not found: {path}", - "en": "Roles directory not found: {path}", - "pl": "Katalog ról nie znaleziony: {path}", - "ru": "Roles directory not found: {path}", - "zh": "Roles directory not found: {path}" - }, - "Runner count: {count}": { - "bg": "Runner count: {count}", - "de": "Runner count: {count}", - "en": "Runner count: {count}", - "pl": "Runner count: {count}", - "ru": "Runner count: {count}", - "zh": "Runner count: {count}" - }, - "Runner index {index} out of range (0..{max})": { - "bg": "Индексът на runner {index} е извън диапазона (0..{max})", - "de": "Runner-Index {index} außerhalb des Bereichs (0..{max})", - "en": "Runner index {index} out of range (0..{max})", - "pl": "Indeks runnera {index} poza zakresem (0..{max})", - "ru": "Индекс runner {index} вне диапазона (0..{max})", - "zh": "Runner 索引 {index} 超出范围 (0..{max})" - }, - "Runner index {runner_index} is out of range (must be >= 1)": { - "bg": "Runner index {runner_index} is out of range (must be >= 1)", - "de": "Runner index {runner_index} is out of range (must be >= 1)", - "en": "Runner index {runner_index} is out of range (must be >= 1)", - "pl": "Runner index {runner_index} is out of range (must be >= 1)", - "ru": "Runner index {runner_index} is out of range (must be >= 1)", - "zh": "Runner index {runner_index} is out of range (must be >= 1)" - }, - "Runner indices: {indices}": { - "bg": "Runner indices: {indices}", - "de": "Runner indices: {indices}", - "en": "Runner indices: {indices}", - "pl": "Runner indices: {indices}", - "ru": "Runner indices: {indices}", - "zh": "Runner indices: {indices}" - }, - "Runner {i}: {labels}": { - "bg": "Runner {i}: {labels}", - "de": "Runner {i}: {labels}", - "en": "Runner {i}: {labels}", - "pl": "Runner {i}: {labels}", - "ru": "Runner {i}: {labels}", - "zh": "Runner {i}: {labels}" - }, - "Running lint checks...": { - "bg": "Running lint checks...", - "de": "Running lint checks...", - "en": "Running lint checks...", - "pl": "Uruchamianie kontroli lint...", - "ru": "Running lint checks...", - "zh": "Running lint checks..." - }, - "Running tests...": { - "bg": "Running tests...", - "de": "Running tests...", - "en": "Running tests...", - "pl": "Uruchamianie testów...", - "ru": "Running tests...", - "zh": "Running tests..." - }, - "Running: {cmd}": { - "bg": "Running: {cmd}", - "de": "Running: {cmd}", - "en": "Running: {cmd}", - "pl": "Running: {cmd}", - "ru": "Running: {cmd}", - "zh": "Running: {cmd}" - }, - "Running: {scenario} on {platform}": { - "bg": "Running: {scenario} on {platform}", - "de": "Running: {scenario} on {platform}", - "en": "Running: {scenario} on {platform}", - "pl": "Uruchamianie: {scenario} na {platform}", - "ru": "Running: {scenario} on {platform}", - "zh": "Running: {scenario} on {platform}" - }, - "SSH key set up successfully": { - "bg": "SSH ключът е настроен успешно", - "de": "SSH-Schlüssel erfolgreich eingerichtet", - "en": "SSH key set up successfully", - "pl": "Klucz SSH skonfigurowany pomyślnie", - "ru": "SSH-ключ успешно настроен", - "zh": "SSH 密钥设置成功" - }, - "SSH key setup skipped (no key provided)": { - "bg": "Настройката на SSH ключ е пропусната (не е предоставен ключ)", - "de": "SSH-Schlüssel-Setup übersprungen (kein Schlüssel bereitgestellt)", - "en": "SSH key setup skipped (no key provided)", - "pl": "Pominięto konfigurację klucza SSH (brak klucza)", - "ru": "Настройка SSH-ключа пропущена (ключ не предоставлен)", - "zh": "SSH 密钥设置已跳过(未提供密钥)" - }, - "SSH_PRIVATE_KEY not set — skipping SSH key setup": { - "bg": "SSH_PRIVATE_KEY не е зададен — пропускане на SSH ключ настройката", - "de": "SSH_PRIVATE_KEY nicht gesetzt — SSH-Schlüssel-Setup übersprungen", - "en": "SSH_PRIVATE_KEY not set — skipping SSH key setup", - "pl": "SSH_PRIVATE_KEY nie ustawione — pomijanie konfiguracji klucza SSH", - "ru": "SSH_PRIVATE_KEY не задан — пропуск настройки SSH-ключа", - "zh": "SSH_PRIVATE_KEY 未设置 — 跳过 SSH 密钥设置" - }, - "Skip Vikunja title match check": { - "bg": "Skip Vikunja title match check", - "de": "Skip Vikunja title match check", - "en": "Skip Vikunja title match check", - "pl": "Skip Vikunja title match check", - "ru": "Skip Vikunja title match check", - "zh": "Skip Vikunja title match check" - }, - "Skip branch-behind-master check": { - "bg": "Skip branch-behind-master check", - "de": "Skip branch-behind-master check", - "en": "Skip branch-behind-master check", - "pl": "Skip branch-behind-master check", - "ru": "Skip branch-behind-master check", - "zh": "Skip branch-behind-master check" - }, - "Skipping commit push — no staged changes.": { - "bg": "Skipping commit push — no staged changes.", - "de": "Skipping commit push — no staged changes.", - "en": "Skipping commit push — no staged changes.", - "pl": "Pomijanie wypchnięcia commit — brak zmian w staging.", - "ru": "Skipping commit push — no staged changes.", - "zh": "Skipping commit push — no staged changes." - }, - "Skipping — runner index {runner_index} > max runners {max_runners}": { - "bg": "Skipping — runner index {runner_index} > max runners {max_runners}", - "de": "Skipping — runner index {runner_index} > max runners {max_runners}", - "en": "Skipping — runner index {runner_index} > max runners {max_runners}", - "pl": "Skipping — runner index {runner_index} > max runners {max_runners}", - "ru": "Skipping — runner index {runner_index} > max runners {max_runners}", - "zh": "Skipping — runner index {runner_index} > max runners {max_runners}" - }, - "Synced to latest origin/{branch}": { - "bg": "Synced to latest origin/{branch}", - "de": "Synced to latest origin/{branch}", - "en": "Synced to latest origin/{branch}", - "pl": "Synced to latest origin/{branch}", - "ru": "Synced to latest origin/{branch}", - "zh": "Synced to latest origin/{branch}" - }, - "Syncing files...": { - "bg": "", - "de": "", - "en": "Syncing files...", - "pl": "", - "ru": "", - "zh": "" - }, - "Syncing {count} documentation pages to wiki via Git...": { - "bg": "", - "de": "", - "en": "Syncing {count} documentation pages to wiki via Git...", - "pl": "", - "ru": "", - "zh": "" - }, - "Tag consistency check failed.": { - "bg": "Tag consistency check failed.", - "de": "Tag consistency check failed.", - "en": "Tag consistency check failed.", - "pl": "Kontrola zgodności tagów nie powiodła się.", - "ru": "Tag consistency check failed.", - "zh": "Tag consistency check failed." - }, - "Tag is required (or use --from-tag).": { - "bg": "Tag is required (or use --from-tag).", - "de": "Tag is required (or use --from-tag).", - "en": "Tag is required (or use --from-tag).", - "pl": "Tag jest wymagany (lub użyj --from-tag).", - "ru": "Tag is required (or use --from-tag).", - "zh": "Tag is required (or use --from-tag)." - }, - "Tag v{version} already existed. Publish workflow should already have been triggered.": { - "bg": "Tag v{version} already existed. Publish workflow should already have been triggered.", - "de": "Tag v{version} already existed. Publish workflow should already have been triggered.", - "en": "Tag v{version} already existed. Publish workflow should already have been triggered.", - "pl": "Tag v{version} już istniał. Workflow publikacji powinien już być uruchomiony.", - "ru": "Tag v{version} already existed. Publish workflow should already have been triggered.", - "zh": "Tag v{version} already existed. Publish workflow should already have been triggered." - }, - "Tag {tag} already exists and points to HEAD. Skipping creation.": { - "bg": "Tag {tag} already exists and points to HEAD. Skipping creation.", - "de": "Tag {tag} already exists and points to HEAD. Skipping creation.", - "en": "Tag {tag} already exists and points to HEAD. Skipping creation.", - "pl": "Tag {tag} już istnieje i wskazuje na HEAD. Pomijanie tworzenia.", - "ru": "Tag {tag} already exists and points to HEAD. Skipping creation.", - "zh": "Tag {tag} already exists and points to HEAD. Skipping creation." - }, - "Tag {tag} already exists but points to {tag_commit} (expected HEAD {head_commit}). This indicates a tag/commit misalignment. Run 'python3 -m devx.ci.release --verify' for details.": { - "bg": "Tag {tag} already exists but points to {tag_commit} (expected HEAD {head_commit}). This indicates a tag/commit misalignment. Run 'python3 -m devx.ci.release --verify' for details.", - "de": "Tag {tag} already exists but points to {tag_commit} (expected HEAD {head_commit}). This indicates a tag/commit misalignment. Run 'python3 -m devx.ci.release --verify' for details.", - "en": "Tag {tag} already exists but points to {tag_commit} (expected HEAD {head_commit}). This indicates a tag/commit misalignment. Run 'python3 -m devx.ci.release --verify' for details.", - "pl": "Tag {tag} już istnieje ale wskazuje na {tag_commit} (oczekiwano HEAD {head_commit}). Wskazuje to na niezgodność tag/commit. Uruchom 'python3 -m devx.ci.release --verify', aby uzyskać szczegóły.", - "ru": "Tag {tag} already exists but points to {tag_commit} (expected HEAD {head_commit}). This indicates a tag/commit misalignment. Run 'python3 -m devx.ci.release --verify' for details.", - "zh": "Tag {tag} already exists but points to {tag_commit} (expected HEAD {head_commit}). This indicates a tag/commit misalignment. Run 'python3 -m devx.ci.release --verify' for details." - }, - "Task ID: {task_id}": { - "bg": "Task ID: {task_id}", - "de": "Task ID: {task_id}", - "en": "Task ID: {task_id}", - "pl": "ID zadania: {task_id}", - "ru": "Task ID: {task_id}", - "zh": "Task ID: {task_id}" - }, - "Test '{name}' took {elapsed:.2f}s (limit: {limit}s). Optimise: use lighter fixtures, reduce I/O, or mock external calls.": { - "bg": "Test '{name}' took {elapsed:.2f}s (limit: {limit}s). Optimise: use lighter fixtures, reduce I/O, or mock external calls.", - "de": "Test '{name}' took {elapsed:.2f}s (limit: {limit}s). Optimise: use lighter fixtures, reduce I/O, or mock external calls.", - "en": "Test '{name}' took {elapsed:.2f}s (limit: {limit}s). Optimise: use lighter fixtures, reduce I/O, or mock external calls.", - "pl": "Test '{name}' trwał {elapsed:.2f}s (limit: {limit}s). Optymalizuj: użyj lżejszych fixtures, zmniejsz I/O, lub mockuj zewnętrzne wywołania.", - "ru": "Test '{name}' took {elapsed:.2f}s (limit: {limit}s). Optimise: use lighter fixtures, reduce I/O, or mock external calls.", - "zh": "Test '{name}' took {elapsed:.2f}s (limit: {limit}s). Optimise: use lighter fixtures, reduce I/O, or mock external calls." - }, - "Test isolation check passed: {count} test files analyzed, no violations found.": { - "bg": "Проверката за изолация на тестове премина: анализирани са {count} тестови файла, няма нарушения.", - "de": "Testisolationsprüfung bestanden: {count} Testdateien analysiert, keine Verstöße gefunden.", - "en": "Test isolation check passed: {count} test files analyzed, no violations found.", - "pl": "Sprawdzenie izolacji testów zaliczone: przeanalizowano {count} plików testowych, brak naruszeń.", - "ru": "Проверка изоляции тестов пройдена: проанализировано {count} тестовых файлов, нарушений не найдено.", - "zh": "测试隔离检查通过:已分析 {count} 个测试文件,未发现违规。" - }, - "Tests failed — refusing to release. Fix test failures first.\n{stderr}": { - "bg": "Tests failed — refusing to release. Fix test failures first.\n{stderr}", - "de": "Tests failed — refusing to release. Fix test failures first.\n{stderr}", - "en": "Tests failed — refusing to release. Fix test failures first.\n{stderr}", - "pl": "Testy nie powiodły się — odmowa wydania. Najpierw napraw niepowodzenia testów.\n{stderr}", - "ru": "Tests failed — refusing to release. Fix test failures first.\n{stderr}", - "zh": "Tests failed — refusing to release. Fix test failures first.\n{stderr}" - }, - "Tests passed.": { - "bg": "Tests passed.", - "de": "Tests passed.", - "en": "Tests passed.", - "pl": "Testy zakończone pomyślnie.", - "ru": "Tests passed.", - "zh": "Tests passed." - }, - "Timeout reached after {timeout}s.": { - "bg": "Timeout reached after {timeout}s.", - "de": "Timeout reached after {timeout}s.", - "en": "Timeout reached after {timeout}s.", - "pl": "Timeout reached after {timeout}s.", - "ru": "Timeout reached after {timeout}s.", - "zh": "Timeout reached after {timeout}s." - }, - "Unit tests passed in {duration:.2f}s (under {max}s limit, all tests under {single}s per-test limit).": { - "bg": "Unit tests passed in {duration:.2f}s (under {max}s limit, all tests under {single}s per-test limit).", - "de": "Unit tests passed in {duration:.2f}s (under {max}s limit, all tests under {single}s per-test limit).", - "en": "Unit tests passed in {duration:.2f}s (under {max}s limit, all tests under {single}s per-test limit).", - "pl": "Testy jednostkowe zakończone pomyślnie w {duration:.2f}s (poniżej limitu {max}s, wszystkie testy poniżej limitu {single}s na test).", - "ru": "Unit tests passed in {duration:.2f}s (under {max}s limit, all tests under {single}s per-test limit).", - "zh": "Unit tests passed in {duration:.2f}s (under {max}s limit, all tests under {single}s per-test limit)." - }, - "Unit tests too slow: {duration:.2f}s (max allowed: {max}s).\n Fix: run 'make pytest-cov' to profile, then optimise slow tests.\n Hint: avoid unnecessary imports, use lighter mocks, or cache fixtures.": { - "bg": "Unit tests too slow: {duration:.2f}s (max allowed: {max}s).\n Fix: run 'make pytest-cov' to profile, then optimise slow tests.\n Hint: avoid unnecessary imports, use lighter mocks, or cache fixtures.", - "de": "Unit tests too slow: {duration:.2f}s (max allowed: {max}s).\n Fix: run 'make pytest-cov' to profile, then optimise slow tests.\n Hint: avoid unnecessary imports, use lighter mocks, or cache fixtures.", - "en": "Unit tests too slow: {duration:.2f}s (max allowed: {max}s).\n Fix: run 'make pytest-cov' to profile, then optimise slow tests.\n Hint: avoid unnecessary imports, use lighter mocks, or cache fixtures.", - "pl": "Testy jednostkowe zbyt wolne: {duration:.2f}s (maks. dozwolone: {max}s).\n Naprawa: uruchom 'make pytest-cov' do profilowania, następnie zoptymalizuj wolne testy.\n Wskazówka: unikaj niepotrzebnych importów, użyj lżejszych mocków, lub buforuj fixtures.", - "ru": "Unit tests too slow: {duration:.2f}s (max allowed: {max}s).\n Fix: run 'make pytest-cov' to profile, then optimise slow tests.\n Hint: avoid unnecessary imports, use lighter mocks, or cache fixtures.", - "zh": "Unit tests too slow: {duration:.2f}s (max allowed: {max}s).\n Fix: run 'make pytest-cov' to profile, then optimise slow tests.\n Hint: avoid unnecessary imports, use lighter mocks, or cache fixtures." - }, - "Unknown check category '{check}'. Available: all, user-facing{tags}": { - "bg": "Unknown check category '{check}'. Available: all, user-facing{tags}", - "de": "Unknown check category '{check}'. Available: all, user-facing{tags}", - "en": "Unknown check category '{check}'. Available: all, user-facing{tags}", - "pl": "Nieznana kategoria kontroli '{check}'. Dostępne: all, user-facing{tags}", - "ru": "Unknown check category '{check}'. Available: all, user-facing{tags}", - "zh": "Unknown check category '{check}'. Available: all, user-facing{tags}" - }, - "Updated badge URLs in {filename}": { - "bg": "Updated badge URLs in {filename}", - "de": "Updated badge URLs in {filename}", - "en": "Updated badge URLs in {filename}", - "pl": "Updated badge URLs in {filename}", - "ru": "Updated badge URLs in {filename}", - "zh": "Updated badge URLs in {filename}" - }, - "Updated documentation version references to v{version}": { - "bg": "", - "de": "", - "en": "Updated documentation version references to v{version}", - "pl": "", - "ru": "", - "zh": "" - }, - "Updated version in {init}": { - "bg": "Updated version in {init}", - "de": "Updated version in {init}", - "en": "Updated version in {init}", - "pl": "Zaktualizowano wersję w {init}", - "ru": "Updated version in {init}", - "zh": "Updated version in {init}" - }, - "Updated {changelog_file}": { - "bg": "Updated {changelog_file}", - "de": "Updated {changelog_file}", - "en": "Updated {changelog_file}", - "pl": "Zaktualizowano {changelog_file}", - "ru": "Updated {changelog_file}", - "zh": "Updated {changelog_file}" - }, - "Use string comparison or _is_truthy()/_is_falsy() helpers instead. Add '{marker}' to suppress individual lines.": { - "bg": "Използвайте сравнение на низове или _is_truthy()/_is_falsy() помощници. Добавете '{marker}' за потискане на отделни редове.", - "de": "Verwenden Sie String-Vergleich oder _is_truthy()/_is_falsy() Hilfsfunktionen. Fügen Sie '{marker}' hinzu, um einzelne Zeilen zu unterdrücken.", - "en": "Use string comparison or _is_truthy()/_is_falsy() helpers instead. Add '{marker}' to suppress individual lines.", - "pl": "Użyj porównania ciągów lub pomocników _is_truthy()/_is_falsy(). Dodaj '{marker}', aby pominąć pojedyncze linie.", - "ru": "Используйте строковое сравнение или помощники _is_truthy()/_is_falsy(). Добавьте '{marker}' для подавления отдельных строк.", - "zh": "使用字符串比较或 _is_truthy()/_is_falsy() 辅助函数。添加 '{marker}' 以抑制个别行。" - }, - "VIKUNJA_TOKEN is not set. Required to derive PR title.": { - "bg": "VIKUNJA_TOKEN не е зададен. Необходим за извличане на PR заглавие.", - "de": "VIKUNJA_TOKEN nicht gesetzt. Erforderlich zum Ableiten des PR-Titels.", - "en": "VIKUNJA_TOKEN is not set. Required to derive PR title.", - "pl": "VIKUNJA_TOKEN nie jest ustawiony. Wymagany do pobrania tytułu PR.", - "ru": "VIKUNJA_TOKEN не установлен. Требуется для получения заголовка PR.", - "zh": "VIKUNJA_TOKEN 未设置。推导 PR 标题所需。" - }, - "VIKUNJA_TOKEN is not set. Set it in .env or environment.": { - "bg": "VIKUNJA_TOKEN не е зададен. Задайте го в .env или средата.", - "de": "VIKUNJA_TOKEN nicht gesetzt. In .env oder Umgebung setzen.", - "en": "VIKUNJA_TOKEN is not set. Set it in .env or environment.", - "pl": "VIKUNJA_TOKEN nie jest ustawiony. Ustaw go w .env lub środowisku.", - "ru": "VIKUNJA_TOKEN не установлен. Установите его в .env или среде.", - "zh": "VIKUNJA_TOKEN 未设置。在 .env 或环境中设置它。" - }, - "VIKUNJA_TOKEN is not set. This is required in CI to validate PR titles.": { - "bg": "VIKUNJA_TOKEN is not set. This is required in CI to validate PR titles.", - "de": "VIKUNJA_TOKEN is not set. This is required in CI to validate PR titles.", - "en": "VIKUNJA_TOKEN is not set. This is required in CI to validate PR titles.", - "pl": "VIKUNJA_TOKEN nie jest ustawiony. Jest to wymagane w CI do walidacji tytułów PR.", - "ru": "VIKUNJA_TOKEN is not set. This is required in CI to validate PR titles.", - "zh": "VIKUNJA_TOKEN is not set. This is required in CI to validate PR titles." - }, - "Version file: {file}": { - "bg": "Version file: {file}", - "de": "Version file: {file}", - "en": "Version file: {file}", - "pl": "Plik wersji: {file}", - "ru": "Version file: {file}", - "zh": "Version file: {file}" - }, - "Version stays at v{version} — no version bump from git-cliff. Commits since last tag don't warrant a new release. Skipping.": { - "bg": "", - "de": "", - "en": "Version stays at v{version} — no version bump from git-cliff. Commits since last tag don't warrant a new release. Skipping.", - "pl": "", - "ru": "", - "zh": "" - }, - "Vikunja API error (HTTP {status}): {message}. Task {task_id} was NOT updated. The merge succeeded but the Vikunja task needs manual update.": { - "bg": "Vikunja API error (HTTP {status}): {message}. Task {task_id} was NOT updated. The merge succeeded but the Vikunja task needs manual update.", - "de": "Vikunja API error (HTTP {status}): {message}. Task {task_id} was NOT updated. The merge succeeded but the Vikunja task needs manual update.", - "en": "Vikunja API error (HTTP {status}): {message}. Task {task_id} was NOT updated. The merge succeeded but the Vikunja task needs manual update.", - "pl": "Błąd API Vikunja (HTTP {status}): {message}. Zadanie {task_id} NIE zostało zaktualizowane. Scalenie powiodło się ale zadanie Vikunja wymaga ręcznej aktualizacji.", - "ru": "Vikunja API error (HTTP {status}): {message}. Task {task_id} was NOT updated. The merge succeeded but the Vikunja task needs manual update.", - "zh": "Vikunja API error (HTTP {status}): {message}. Task {task_id} was NOT updated. The merge succeeded but the Vikunja task needs manual update." - }, - "Vikunja task title '{title}' starts with '{prefix}:'. The task title should NOT include the '{prefix}' prefix — it is automatically added to the PR title. Update the Vikunja task title to remove the prefix.": { - "bg": "Заглавието на задачата във Vikunja '{title}' започва с '{prefix}:'. Заглавието на задачата НЕ трябва да съдържа префикса '{prefix}' — той се добавя автоматично към заглавието на PR. Актуализирайте заглавието на задачата във Vikunja, за да премахнете префикса.", - "de": "Der Vikunja-Aufgabentitel '{title}' beginnt mit '{prefix}:'. Der Aufgabentitel darf NICHT den Präfix '{prefix}' enthalten — er wird automatisch zum PR-Titel hinzugefügt. Aktualisieren Sie den Vikunja-Aufgabentitel, um den Präfix zu entfernen.", - "en": "Vikunja task title '{title}' starts with '{prefix}:'. The task title should NOT include the '{prefix}' prefix — it is automatically added to the PR title. Update the Vikunja task title to remove the prefix.", - "pl": "Tytuł zadania Vikunja '{title}' zaczyna się od '{prefix}:'. Tytuł zadania nie powinien zawierać prefiksu '{prefix}' — jest on automatycznie dodawany do tytułu PR. Zaktualizuj tytuł zadania Vikunja, aby usunąć prefiks.", - "ru": "Заголовок задачи Vikunja '{title}' начинается с '{prefix}:'. Заголовок задачи НЕ должен включать префикс '{prefix}' — он автоматически добавляется к заголовку PR. Обновите заголовок задачи Vikunja, чтобы удалить префикс.", - "zh": "Vikunja 任务标题 '{title}' 以 '{prefix}:' 开头。任务标题不应包含 '{prefix}' 前缀 — 它会自动添加到 PR 标题中。请更新 Vikunja 任务标题以删除前缀。" - }, - "Vikunja task {task_id} not found in project {project_id}.\n Create it first:\n python -m devx.tools.create_task --title \"Task title\"\n Or check that the task ID in the branch name is correct.": { - "bg": "Vikunja задача {task_id} не е намерена в проект {project_id}.\n Създайте я първо:\n python -m devx.tools.create_task --title \"Заглавие на задача\"\n Или проверете че ID на задачата в името на клона е правилно.", - "de": "Vikunja-Task {task_id} in Projekt {project_id} nicht gefunden.\n Zuerst erstellen:\n python -m devx.tools.create_task --title \"Task-Titel\"\n Oder prüfen, ob die Task-ID im Branch-Namen korrekt ist.", - "en": "Vikunja task {task_id} not found in project {project_id}.\n Create it first:\n python -m devx.tools.create_task --title \"Task title\"\n Or check that the task ID in the branch name is correct.", - "pl": "Zadanie Vikunja {task_id} nie znalezione w projekcie {project_id}.\n Utwórz je najpierw:\n python -m devx.tools.create_task --title \"Tytuł zadania\"\n Lub sprawdź, czy ID zadania w nazwie gałęzi jest poprawne.", - "ru": "Задача Vikunja {task_id} не найдена в проекте {project_id}.\n Сначала создайте её:\n python -m devx.tools.create_task --title \"Заголовок задачи\"\n Или проверьте, что ID задачи в имени ветки корректен.", - "zh": "在项目 {project_id} 中找不到 Vikunja 任务 {task_id}。\n 请先创建:\n python -m devx.tools.create_task --title \"任务标题\"\n 或检查分支名称中的任务 ID 是否正确。" - }, - "WARN: .venv has Python {version}, but >={req} is required.": { - "bg": "ПРЕДУПРЕЖДЕНИЕ: .venv има Python {version}, но се изисква >={req}.", - "de": "WARNUNG: .venv hat Python {version}, aber >={req} ist erforderlich.", - "en": "WARN: .venv has Python {version}, but >={req} is required.", - "pl": "OSTRZEŻENIE: .venv ma Python {version}, ale wymagane jest >={req}.", - "ru": "ПРЕДУПРЕЖДЕНИЕ: в .venv установлен Python {version}, но требуется >={req}.", - "zh": "警告: .venv 的 Python 版本为 {version},但要求 >={req}。" - }, - "WARN: .venv not found. Run 'make setup-venv' to create it.": { - "bg": "ПРЕДУПРЕЖДЕНИЕ: .venv не е намерен. Изпълнете 'make setup-venv' за създаване.", - "de": "WARNUNG: .venv nicht gefunden. Führen Sie 'make setup-venv' aus, um es zu erstellen.", - "en": "WARN: .venv not found. Run 'make setup-venv' to create it.", - "pl": "OSTRZEŻENIE: Nie znaleziono .venv. Uruchom 'make setup-venv', aby utworzyć.", - "ru": "ПРЕДУПРЕЖДЕНИЕ: .venv не найден. Выполните 'make setup-venv' для создания.", - "zh": "警告: 未找到 .venv。运行 'make setup-venv' 来创建。" - }, - "WARN: Could not determine Python version in .venv.": { - "bg": "ПРЕДУПРЕЖДЕНИЕ: Не може да се определи версията на Python в .venv.", - "de": "WARNUNG: Python-Version in .venv konnte nicht bestimmt werden.", - "en": "WARN: Could not determine Python version in .venv.", - "pl": "OSTRZEŻENIE: Nie można określić wersji Python w .venv.", - "ru": "ПРЕДУПРЕЖДЕНИЕ: Не удалось определить версию Python в .venv.", - "zh": "警告: 无法确定 .venv 中的 Python 版本。" - }, - "WARN: Could not parse Python version '{version}'.": { - "bg": "ПРЕДУПРЕЖДЕНИЕ: Не може да се анализира версията на Python '{version}'.", - "de": "WARNUNG: Python-Version '{version}' konnte nicht analysiert werden.", - "en": "WARN: Could not parse Python version '{version}'.", - "pl": "OSTRZEŻENIE: Nie można przeanalizować wersji Python '{version}'.", - "ru": "ПРЕДУПРЕЖДЕНИЕ: Не удалось разобрать версию Python '{version}'.", - "zh": "警告: 无法解析 Python 版本 '{version}'。" - }, - "WARNING: --skip-tests passed — skipping test verification.": { - "bg": "WARNING: --skip-tests passed — skipping test verification.", - "de": "WARNING: --skip-tests passed — skipping test verification.", - "en": "WARNING: --skip-tests passed — skipping test verification.", - "pl": "OSTRZEŻENIE: --skip-tests przekazane — pomijanie weryfikacji testów.", - "ru": "WARNING: --skip-tests passed — skipping test verification.", - "zh": "WARNING: --skip-tests passed — skipping test verification." - }, - "WARNING: .taskid file ({file_id}) is deprecated and disagrees with branch name ({branch_id}). Delete .taskid from the repo — branch name is the sole source of truth.": { - "bg": "ВНИМАНИЕ: Файлът .taskid ({file_id}) е остарял и не съвпада с името на клона ({branch_id}). Изтрийте .taskid от хранилището — името на клона е единственият източник на истината.", - "de": "WARNUNG: Die Datei .taskid ({file_id}) ist veraltet und stimmt nicht mit dem Branch-Namen ({branch_id}) überein. Löschen Sie .taskid aus dem Repo — der Branch-Name ist die einzige Wahrheitsquelle.", - "en": "WARNING: .taskid file ({file_id}) is deprecated and disagrees with branch name ({branch_id}). Delete .taskid from the repo — branch name is the sole source of truth.", - "pl": "OSTRZEŻENIE: plik .taskid ({file_id}) jest przestarzały i niezgodny z nazwą gałęzi ({branch_id}). Usuń .taskid z repozytorium — nazwa gałęzi jest jedynym źródłem prawdy.", - "ru": "ВНИМАНИЕ: Файл .taskid ({file_id}) устарел и не совпадает с именем ветки ({branch_id}). Удалите .taskid из репозитория — имя ветки — единственный источник истины.", - "zh": "警告:.taskid 文件 ({file_id}) 已弃用,与分支名称 ({branch_id}) 不一致。请从仓库中删除 .taskid — 分支名称是唯一的真实来源。" - }, - "WARNING: VIKUNJA_TOKEN not set — skipping task existence check. Set it in .env to enable full validation.": { - "bg": "ПРЕДУПРЕЖДЕНИЕ: VIKUNJA_TOKEN не е зададен — пропускане на проверката за съществуване на задача. Задайте го в .env за пълна валидация.", - "de": "WARNUNG: VIKUNJA_TOKEN nicht gesetzt — Task-Existenzprüfung übersprungen. In .env setzen für volle Validierung.", - "en": "WARNING: VIKUNJA_TOKEN not set — skipping task existence check. Set it in .env to enable full validation.", - "pl": "OSTRZEŻENIE: VIKUNJA_TOKEN nie jest ustawiony — pomijanie sprawdzania istnienia zadania. Ustaw w .env, aby włączyć pełną walidację.", - "ru": "ПРЕДУПРЕЖДЕНИЕ: VIKUNJA_TOKEN не установлен — пропуск проверки существования задачи. Установите в .env для полной проверки.", - "zh": "警告: VIKUNJA_TOKEN 未设置 — 跳过任务存在性检查。在 .env 中设置以启用完整验证。" - }, - "WARNING: Version badge shows stale version (expected v{version}) — regenerating": { - "bg": "", - "de": "", - "en": "WARNING: Version badge shows stale version (expected v{version}) — regenerating", - "pl": "", - "ru": "", - "zh": "" - }, - "WARNING: check_doc_versions --fix failed (rc={rc}): {err}": { - "bg": "", - "de": "", - "en": "WARNING: check_doc_versions --fix failed (rc={rc}): {err}", - "pl": "", - "ru": "", - "zh": "" - }, - "Waiting 5s for Gitea to process pushed commits...": { - "bg": "", - "de": "", - "en": "Waiting 5s for Gitea to process pushed commits...", - "pl": "", - "ru": "", - "zh": "" - }, - "Waiting for CI checks to complete (timeout: {timeout}s)...": { - "bg": "Waiting for CI checks to complete (timeout: {timeout}s)...", - "de": "Waiting for CI checks to complete (timeout: {timeout}s)...", - "en": "Waiting for CI checks to complete (timeout: {timeout}s)...", - "pl": "Waiting for CI checks to complete (timeout: {timeout}s)...", - "ru": "Waiting for CI checks to complete (timeout: {timeout}s)...", - "zh": "Waiting for CI checks to complete (timeout: {timeout}s)..." - }, - "Warning: could not fetch tags from origin.": { - "bg": "Warning: could not fetch tags from origin.", - "de": "Warning: could not fetch tags from origin.", - "en": "Warning: could not fetch tags from origin.", - "pl": "Ostrzeżenie: nie udało się pobrać tagów z origin.", - "ru": "Warning: could not fetch tags from origin.", - "zh": "Warning: could not fetch tags from origin." - }, - "Warning: instance-level runners query failed: {error}": { - "bg": "Warning: instance-level runners query failed: {error}", - "de": "Warning: instance-level runners query failed: {error}", - "en": "Warning: instance-level runners query failed: {error}", - "pl": "Warning: instance-level runners query failed: {error}", - "ru": "Warning: instance-level runners query failed: {error}", - "zh": "Warning: instance-level runners query failed: {error}" - }, - "Warning: instance-level runners query returned HTTP {status}": { - "bg": "Warning: instance-level runners query returned HTTP {status}", - "de": "Warning: instance-level runners query returned HTTP {status}", - "en": "Warning: instance-level runners query returned HTTP {status}", - "pl": "Warning: instance-level runners query returned HTTP {status}", - "ru": "Warning: instance-level runners query returned HTTP {status}", - "zh": "Warning: instance-level runners query returned HTTP {status}" - }, - "Warning: org-level runners query failed: {error}": { - "bg": "Warning: org-level runners query failed: {error}", - "de": "Warning: org-level runners query failed: {error}", - "en": "Warning: org-level runners query failed: {error}", - "pl": "Warning: org-level runners query failed: {error}", - "ru": "Warning: org-level runners query failed: {error}", - "zh": "Warning: org-level runners query failed: {error}" - }, - "Warning: org-level runners query returned HTTP {status}": { - "bg": "Warning: org-level runners query returned HTTP {status}", - "de": "Warning: org-level runners query returned HTTP {status}", - "en": "Warning: org-level runners query returned HTTP {status}", - "pl": "Warning: org-level runners query returned HTTP {status}", - "ru": "Warning: org-level runners query returned HTTP {status}", - "zh": "Warning: org-level runners query returned HTTP {status}" - }, - "Warning: repo-level runners query failed: {error}": { - "bg": "Warning: repo-level runners query failed: {error}", - "de": "Warning: repo-level runners query failed: {error}", - "en": "Warning: repo-level runners query failed: {error}", - "pl": "Warning: repo-level runners query failed: {error}", - "ru": "Warning: repo-level runners query failed: {error}", - "zh": "Warning: repo-level runners query failed: {error}" - }, - "Warning: repo-level runners query returned HTTP {status}": { - "bg": "Warning: repo-level runners query returned HTTP {status}", - "de": "Warning: repo-level runners query returned HTTP {status}", - "en": "Warning: repo-level runners query returned HTTP {status}", - "pl": "Warning: repo-level runners query returned HTTP {status}", - "ru": "Warning: repo-level runners query returned HTTP {status}", - "zh": "Warning: repo-level runners query returned HTTP {status}" - }, - "Wiki repo not found or empty — initializing fresh.": { - "bg": "", - "de": "", - "en": "Wiki repo not found or empty — initializing fresh.", - "pl": "", - "ru": "", - "zh": "" - }, - "Wiki synced successfully.": { - "bg": "", - "de": "", - "en": "Wiki synced successfully.", - "pl": "", - "ru": "", - "zh": "" - }, - "Wiki verification failed — could not clone wiki": { - "bg": "", - "de": "", - "en": "Wiki verification failed — could not clone wiki", - "pl": "", - "ru": "", - "zh": "" - }, - "Wiki verification failed — {failures} page(s) missing": { - "bg": "", - "de": "", - "en": "Wiki verification failed — {failures} page(s) missing", - "pl": "", - "ru": "", - "zh": "" - }, - "Write deploy-ref to $GITHUB_OUTPUT file.": { - "bg": "Запиши deploy-ref в $GITHUB_OUTPUT файла.", - "de": "Deploy-ref in $GITHUB_OUTPUT-Datei schreiben.", - "en": "Write deploy-ref to $GITHUB_OUTPUT file.", - "pl": "Zapisz deploy-ref do pliku $GITHUB_OUTPUT.", - "ru": "Записать deploy-ref в файл $GITHUB_OUTPUT.", - "zh": "将 deploy-ref 写入 $GITHUB_OUTPUT 文件。" - }, - "Wrote tag {tag} to GITHUB_OUTPUT.": { - "bg": "Wrote tag {tag} to GITHUB_OUTPUT.", - "de": "Wrote tag {tag} to GITHUB_OUTPUT.", - "en": "Wrote tag {tag} to GITHUB_OUTPUT.", - "pl": "Wrote tag {tag} to GITHUB_OUTPUT.", - "ru": "Wrote tag {tag} to GITHUB_OUTPUT.", - "zh": "Wrote tag {tag} to GITHUB_OUTPUT." - }, - "[check-api-identity-checks] Passed: no unsafe identity checks found": { - "bg": "[check-api-identity-checks] Мина: не са намерени небрежни проверки за идентичност", - "de": "[check-api-identity-checks] Bestanden: keine unsicheren Identitätsprüfungen gefunden", - "en": "[check-api-identity-checks] Passed: no unsafe identity checks found", - "pl": "[check-api-identity-checks] Passed: nie znaleziono niebezpiecznych sprawdzeń tożsamości", - "ru": "[check-api-identity-checks] Пройдено: небезопасных проверок идентичности не найдено", - "zh": "[check-api-identity-checks] 通过:未发现不安全的身份检查" - }, - "[check-dep-docs] Passed: all dependencies are documented": { - "bg": "[check-dep-docs] Passed: all dependencies are documented", - "de": "[check-dep-docs] Passed: all dependencies are documented", - "en": "[check-dep-docs] Passed: all dependencies are documented", - "pl": "[check-dep-docs] Passed: all dependencies are documented", - "ru": "[check-dep-docs] Passed: all dependencies are documented", - "zh": "[check-dep-docs] Passed: all dependencies are documented" - }, - "[check-deps] All core tools present.": { - "bg": "[check-deps] Всички основни инструменти са налични.", - "de": "[check-deps] Alle Kernwerkzeuge vorhanden.", - "en": "[check-deps] All core tools present.", - "pl": "[check-deps] Wszystkie podstawowe narzędzia są dostępne.", - "ru": "[check-deps] Все основные инструменты доступны.", - "zh": "[check-deps] 所有核心工具均已就绪。" - }, - "[check-deps] Verifying tools...": { - "bg": "[check-deps] Проверка на инструментите...", - "de": "[check-deps] Werkzeuge werden überprüft...", - "en": "[check-deps] Verifying tools...", - "pl": "[check-deps] Sprawdzanie narzędzi...", - "ru": "[check-deps] Проверка инструментов...", - "zh": "[check-deps] 正在验证工具..." - }, - "[check-deps] Virtualenv .venv ready (Python {version}).": { - "bg": "[check-deps] Виртуална среда .venv готова (Python {version}).", - "de": "[check-deps] Virtuelle Umgebung .venv bereit (Python {version}).", - "en": "[check-deps] Virtualenv .venv ready (Python {version}).", - "pl": "[check-deps] Środowisko wirtualne .venv gotowe (Python {version}).", - "ru": "[check-deps] Виртуальное окружение .venv готово (Python {version}).", - "zh": "[check-deps] 虚拟环境 .venv 已就绪 (Python {version})。" - }, - "[check-mutable-globals] Passed: no mutable path globals found": { - "bg": "[check-mutable-globals] Passed: no mutable path globals found", - "de": "[check-mutable-globals] Passed: no mutable path globals found", - "en": "[check-mutable-globals] Passed: no mutable path globals found", - "pl": "[check-mutable-globals] Passed: no mutable path globals found", - "ru": "[check-mutable-globals] Passed: no mutable path globals found", - "zh": "[check-mutable-globals] Passed: no mutable path globals found" - }, - "[check_agent_docs] Passed: scanned {count} file(s), no stale references": { - "bg": "[check_agent_docs] Passed: scanned {count} file(s), no stale references", - "de": "[check_agent_docs] Passed: scanned {count} file(s), no stale references", - "en": "[check_agent_docs] Passed: scanned {count} file(s), no stale references", - "pl": "[check_agent_docs] Passed: scanned {count} file(s), no stale references", - "ru": "[check_agent_docs] Passed: scanned {count} file(s), no stale references", - "zh": "[check_agent_docs] Passed: scanned {count} file(s), no stale references" - }, - "[check_test_coverage] No changed files to check.": { - "bg": "[check_test_coverage] No changed files to check.", - "de": "[check_test_coverage] No changed files to check.", - "en": "[check_test_coverage] No changed files to check.", - "pl": "[check_test_coverage] No changed files to check.", - "ru": "[check_test_coverage] No changed files to check.", - "zh": "[check_test_coverage] No changed files to check." - }, - "[docker-login] Logged in to {registry}.": { - "bg": "[docker-login] Влязъл в {registry}.", - "de": "[docker-login] Angemeldet bei {registry}.", - "en": "[docker-login] Logged in to {registry}.", - "pl": "[docker-login] Zalogowano do {registry}.", - "ru": "[docker-login] Выполнен вход в {registry}.", - "zh": "[docker-login] 已登录到 {registry}。" - }, - "[docker-login] Login to {registry} failed (continuing).": { - "bg": "[docker-login] Влизането в {registry} не успя (продължава).", - "de": "[docker-login] Anmeldung bei {registry} fehlgeschlagen (wird fortgesetzt).", - "en": "[docker-login] Login to {registry} failed (continuing).", - "pl": "[docker-login] Logowanie do {registry} nie powiodło się (kontynuowanie).", - "ru": "[docker-login] Ошибка входа в {registry} (продолжаем).", - "zh": "[docker-login] 登录 {registry} 失败(继续)。" - }, - "[docker-login] Skipping {registry} (token {env} not set).": { - "bg": "[docker-login] Пропускане на {registry} (токен {env} не е зададен).", - "de": "[docker-login] {registry} übersprungen (Token {env} nicht gesetzt).", - "en": "[docker-login] Skipping {registry} (token {env} not set).", - "pl": "[docker-login] Pomijanie {registry} (token {env} nie ustawiony).", - "ru": "[docker-login] Пропуск {registry} (токен {env} не задан).", - "zh": "[docker-login] 跳过 {registry}(未设置令牌 {env})。" - }, - "[dry-run] No changes pushed.": { - "bg": "", - "de": "", - "en": "[dry-run] No changes pushed.", - "pl": "", - "ru": "", - "zh": "" - }, - "[dry-run] Would commit and push wiki changes": { - "bg": "", - "de": "", - "en": "[dry-run] Would commit and push wiki changes", - "pl": "", - "ru": "", - "zh": "" - }, - "[dry-run] Would commit: release: v{version} [skip ci]": { - "bg": "[dry-run] Would commit: release: v{version} [skip ci]", - "de": "[dry-run] Would commit: release: v{version} [skip ci]", - "en": "[dry-run] Would commit: release: v{version} [skip ci]", - "pl": "[dry-run] Utworzono by commit: release: v{version} [skip ci]", - "ru": "[dry-run] Would commit: release: v{version} [skip ci]", - "zh": "[dry-run] Would commit: release: v{version} [skip ci]" - }, - "[dry-run] Would create tag: v{version}": { - "bg": "[dry-run] Would create tag: v{version}", - "de": "[dry-run] Would create tag: v{version}", - "en": "[dry-run] Would create tag: v{version}", - "pl": "[dry-run] Utworzono by tag: v{version}", - "ru": "[dry-run] Would create tag: v{version}", - "zh": "[dry-run] Would create tag: v{version}" - }, - "[dry-run] Would create tag: {tag}": { - "bg": "[dry-run] Would create tag: {tag}", - "de": "[dry-run] Would create tag: {tag}", - "en": "[dry-run] Would create tag: {tag}", - "pl": "[dry-run] Utworzono by tag: {tag}", - "ru": "[dry-run] Would create tag: {tag}", - "zh": "[dry-run] Would create tag: {tag}" - }, - "[dry-run] Would push commit to master": { - "bg": "[dry-run] Would push commit to master", - "de": "[dry-run] Would push commit to master", - "en": "[dry-run] Would push commit to master", - "pl": "[dry-run] Wypchnięto by commit do master", - "ru": "[dry-run] Would push commit to master", - "zh": "[dry-run] Would push commit to master" - }, - "[dry-run] Would update doc version references via check_doc_versions --fix": { - "bg": "", - "de": "", - "en": "[dry-run] Would update doc version references via check_doc_versions --fix", - "pl": "", - "ru": "", - "zh": "" - }, - "[dry-run] Would update {changelog_file}": { - "bg": "[dry-run] Would update {changelog_file}", - "de": "[dry-run] Would update {changelog_file}", - "en": "[dry-run] Would update {changelog_file}", - "pl": "[dry-run] Zaktualizowano by {changelog_file}", - "ru": "[dry-run] Would update {changelog_file}", - "zh": "[dry-run] Would update {changelog_file}" - }, - "[dry-run] Would update {init}": { - "bg": "[dry-run] Would update {init}", - "de": "[dry-run] Would update {init}", - "en": "[dry-run] Would update {init}", - "pl": "[dry-run] Zaktualizowano by {init}", - "ru": "[dry-run] Would update {init}", - "zh": "[dry-run] Would update {init}" - }, - "[tofu-init] Done.": { - "bg": "[tofu-init] Готово.", - "de": "[tofu-init] Fertig.", - "en": "[tofu-init] Done.", - "pl": "[tofu-init] Gotowe.", - "ru": "[tofu-init] Готово.", - "zh": "[tofu-init] 完成。" - }, - "[tofu-init] Initializing {dir}...": { - "bg": "[tofu-init] Инициализиране на {dir}...", - "de": "[tofu-init] Initialisiere {dir}...", - "en": "[tofu-init] Initializing {dir}...", - "pl": "[tofu-init] Inicjalizacja {dir}...", - "ru": "[tofu-init] Инициализация {dir}...", - "zh": "[tofu-init] 正在初始化 {dir}..." - }, - "[tofu-{mode}] All configurations valid.": { - "bg": "[tofu-{mode}] Всички конфигурации са валидни.", - "de": "[tofu-{mode}] Alle Konfigurationen gültig.", - "en": "[tofu-{mode}] All configurations valid.", - "pl": "[tofu-{mode}] Wszystkie konfiguracje są poprawne.", - "ru": "[tofu-{mode}] Все конфигурации валидны.", - "zh": "[tofu-{mode}] 所有配置有效。" - }, - "[tofu-{mode}] Validating OpenTofu configurations...": { - "bg": "[tofu-{mode}] Проверка на OpenTofu конфигурациите...", - "de": "[tofu-{mode}] Validiere OpenTofu-Konfigurationen...", - "en": "[tofu-{mode}] Validating OpenTofu configurations...", - "pl": "[tofu-{mode}] Sprawdzanie konfiguracji OpenTofu...", - "ru": "[tofu-{mode}] Проверка конфигураций OpenTofu...", - "zh": "[tofu-{mode}] 正在验证 OpenTofu 配置..." - }, - "[tool.devx] missing required keys: {keys}": { - "bg": "[tool.devx] липсват задължителни ключове: {keys}", - "de": "[tool.devx] fehlt erforderliche Schlüssel: {keys}", - "en": "[tool.devx] missing required keys: {keys}", - "pl": "[tool.devx] brak wymaganych kluczy: {keys}", - "ru": "[tool.devx] отсутствуют обязательные ключи: {keys}", - "zh": "[tool.devx] 缺少必需的键: {keys}" - }, - "active": { - "bg": "активен", - "de": "aktiv", - "en": "active", - "pl": "aktywny", - "ru": "активен", - "zh": "活跃" - }, - "completed": { - "bg": "завършен", - "de": "abgeschlossen", - "en": "completed", - "pl": "ukończony", - "ru": "завершён", - "zh": "已完成" - }, - "count={count}": { - "bg": "count={count}", - "de": "count={count}", - "en": "count={count}", - "pl": "count={count}", - "ru": "count={count}", - "zh": "count={count}" - }, - "devx version mismatch across extras: {detail}": { - "bg": "несъответствие на версията на devx между extras: {detail}", - "de": "devx-Versionskonflikt zwischen Extras: {detail}", - "en": "devx version mismatch across extras: {detail}", - "pl": "niezgodność wersji devx między extras: {detail}", - "ru": "несоответствие версии devx между extras: {detail}", - "zh": "devx 版本在 extras 之间不一致: {detail}" - }, - "failed": { - "bg": "неуспешен", - "de": "fehlgeschlagen", - "en": "failed", - "pl": "nieudany", - "ru": "неудачный", - "zh": "失败" - }, - "git command failed ({cmd}): {stderr}": { - "bg": "git command failed ({cmd}): {stderr}", - "de": "git command failed ({cmd}): {stderr}", - "en": "git command failed ({cmd}): {stderr}", - "pl": "polecenie git nie powiodło się ({cmd}): {stderr}", - "ru": "git command failed ({cmd}): {stderr}", - "zh": "git command failed ({cmd}): {stderr}" - }, - "git-cliff generated empty changelog for v{version}. Check cliff.toml and commit history.": { - "bg": "git-cliff generated empty changelog for v{version}. Check cliff.toml and commit history.", - "de": "git-cliff generated empty changelog for v{version}. Check cliff.toml and commit history.", - "en": "git-cliff generated empty changelog for v{version}. Check cliff.toml and commit history.", - "pl": "git-cliff wygenerował pusty changelog dla v{version}. Sprawdź cliff.toml i historię commitów.", - "ru": "git-cliff generated empty changelog for v{version}. Check cliff.toml and commit history.", - "zh": "git-cliff generated empty changelog for v{version}. Check cliff.toml and commit history." - }, - "git-cliff returned empty version.": { - "bg": "git-cliff returned empty version.", - "de": "git-cliff returned empty version.", - "en": "git-cliff returned empty version.", - "pl": "git-cliff zwrócił pustą wersję.", - "ru": "git-cliff returned empty version.", - "zh": "git-cliff returned empty version." - }, - "git-cliff returned invalid version format: {version}. Expected semver (e.g., 0.4.1).": { - "bg": "git-cliff returned invalid version format: {version}. Expected semver (e.g., 0.4.1).", - "de": "git-cliff returned invalid version format: {version}. Expected semver (e.g., 0.4.1).", - "en": "git-cliff returned invalid version format: {version}. Expected semver (e.g., 0.4.1).", - "pl": "git-cliff zwrócił nieprawidłowy format wersji: {version}. Oczekiwano semver (np., 0.4.1).", - "ru": "git-cliff returned invalid version format: {version}. Expected semver (e.g., 0.4.1).", - "zh": "git-cliff returned invalid version format: {version}. Expected semver (e.g., 0.4.1)." - }, - "in_progress": { - "bg": "в процес", - "de": "in Bearbeitung", - "en": "in progress", - "pl": "w toku", - "ru": "в процессе", - "zh": "进行中" - }, - "inactive": { - "bg": "неактивен", - "de": "inaktiv", - "en": "inactive", - "pl": "nieaktywny", - "ru": "неактивен", - "zh": "未激活" - }, - "indices={indices}": { - "bg": "indices={indices}", - "de": "indices={indices}", - "en": "indices={indices}", - "pl": "indices={indices}", - "ru": "indices={indices}", - "zh": "indices={indices}" - }, - "mapping.json keys and values must be strings, got {k}={v}": { - "bg": "mapping.json keys and values must be strings, got {k}={v}", - "de": "mapping.json keys and values must be strings, got {k}={v}", - "en": "mapping.json keys and values must be strings, got {k}={v}", - "pl": "klucze i wartości mapping.json muszą być ciągami znaków, otrzymano {k}={v}", - "ru": "mapping.json keys and values must be strings, got {k}={v}", - "zh": "mapping.json keys and values must be strings, got {k}={v}" - }, - "mapping.json must be a dict of file-path -> page-title, got {type}": { - "bg": "mapping.json must be a dict of file-path -> page-title, got {type}", - "de": "mapping.json must be a dict of file-path -> page-title, got {type}", - "en": "mapping.json must be a dict of file-path -> page-title, got {type}", - "pl": "mapping.json musi być słownikiem ścieżka-pliku -> tytuł-strony, otrzymano {type}", - "ru": "mapping.json must be a dict of file-path -> page-title, got {type}", - "zh": "mapping.json must be a dict of file-path -> page-title, got {type}" - }, - "pending": { - "bg": "в очакване", - "de": "ausstehend", - "en": "pending", - "pl": "oczekujący", - "ru": "ожидает", - "zh": "待处理" - }, - "pyproject.toml not found in current directory.": { - "bg": "pyproject.toml не е намерен в текущата директория.", - "de": "pyproject.toml im aktuellen Verzeichnis nicht gefunden.", - "en": "pyproject.toml not found in current directory.", - "pl": "nie znaleziono pyproject.toml w bieżącym katalogu.", - "ru": "pyproject.toml не найден в текущей директории.", - "zh": "在当前目录中未找到 pyproject.toml。" - }, - "tea login '{name}' already configured.": { - "bg": "tea login '{name}' already configured.", - "de": "tea login '{name}' already configured.", - "en": "tea login '{name}' already configured.", - "pl": "tea login '{name}' already configured.", - "ru": "tea login '{name}' already configured.", - "zh": "tea login '{name}' already configured." - }, - "tea not installed — skipping login configuration.": { - "bg": "tea not installed — skipping login configuration.", - "de": "tea not installed — skipping login configuration.", - "en": "tea not installed — skipping login configuration.", - "pl": "tea not installed — skipping login configuration.", - "ru": "tea not installed — skipping login configuration.", - "zh": "tea not installed — skipping login configuration." - }, - "time.sleep called in test '{test}' without @patch — this causes real wall-clock delays. Add @patch(\".time.sleep\").": { - "bg": "time.sleep извикано в тест '{test}' без @patch — това причинява реални забавяния. Добавете @patch(\".time.sleep\").", - "de": "time.sleep in Test '{test}' ohne @patch aufgerufen — dies verursacht echte Wanduhr-Verzögerungen. @patch(\".time.sleep\") hinzufügen.", - "en": "time.sleep called in test '{test}' without @patch — this causes real wall-clock delays. Add @patch(\".time.sleep\").", - "pl": "time.sleep wywołane w teście '{test}' bez @patch — to powoduje rzeczywiste opóźnienia. Dodaj @patch(\".time.sleep\").", - "ru": "time.sleep вызвано в тесте '{test}' без @patch — это вызывает реальные задержки. Добавьте @patch(\".time.sleep\").", - "zh": "time.sleep 在测试 '{test}' 中被调用但没有 @patch — 这会导致真实的挂钟延迟。请添加 @patch(\".time.sleep\")。" - }, - "tofu command failed in {dir}: {error}": { - "bg": "командата tofu не успя в {dir}: {error}", - "de": "tofu-Befehl fehlgeschlagen in {dir}: {error}", - "en": "tofu command failed in {dir}: {error}", - "pl": "polecenie tofu nie powiodło się w {dir}: {error}", - "ru": "команда tofu не удалась в {dir}: {error}", - "zh": "tofu 命令在 {dir} 中失败: {error}" - }, - "unknown": { - "bg": "неизвестен", - "de": "unbekannt", - "en": "unknown", - "pl": "nieznany", - "ru": "неизвестно", - "zh": "未知" - }, - "{call} called in test '{test}' without @patch — this spawns a real subprocess. Add @patch(\".subprocess.run\") or patch the calling function.": { - "bg": "{call} извикано в тест '{test}' без @patch — това стартира реален subprocess. Добавете @patch(\".subprocess.run\") или patch-нете извикващата функция.", - "de": "{call} in Test '{test}' ohne @patch aufgerufen — dies startet einen echten subprocess. @patch(\".subprocess.run\") hinzufügen oder die aufrufende Funktion patchen.", - "en": "{call} called in test '{test}' without @patch — this spawns a real subprocess. Add @patch(\".subprocess.run\") or patch the calling function.", - "pl": "{call} wywołane w teście '{test}' bez @patch — to uruchamia rzeczywisty subprocess. Dodaj @patch(\".subprocess.run\") lub patchuj wywołującą funkcję.", - "ru": "{call} вызвано в тесте '{test}' без @patch — это запускает реальный subprocess. Добавьте @patch(\".subprocess.run\") или patch вызывающую функцию.", - "zh": "{call} 在测试 '{test}' 中被调用但没有 @patch — 这会启动真实的子进程。请添加 @patch(\".subprocess.run\") 或 patch 调用函数。" - }, - "{env} is not set. Set it in your .env file or pass it as an environment variable.": { - "bg": "{env} не е зададен. Задайте го във вашия .env файл или го подайте като променлива на средата.", - "de": "{env} ist nicht gesetzt. Setzen Sie es in Ihrer .env-Datei oder übergeben Sie es als Umgebungsvariable.", - "en": "{env} is not set. Set it in your .env file or pass it as an environment variable.", - "pl": "{env} nie jest ustawiony. Ustaw go w pliku .env lub przekaż jako zmienną środowiskową.", - "ru": "{env} не задан. Установите его в файле .env или передайте как переменную окружения.", - "zh": "{env} 未设置。请在 .env 文件中设置或作为环境变量传递。" - }, - "{env} is not set. Set it in your .env file.": { - "bg": "{env} не е зададен. Задайте го във вашия .env файл.", - "de": "{env} ist nicht gesetzt. Setzen Sie es in Ihrer .env-Datei.", - "en": "{env} is not set. Set it in your .env file.", - "pl": "{env} nie jest ustawiony. Ustaw go w pliku .env.", - "ru": "{env} не задан. Установите его в файле .env.", - "zh": "{env} 未设置。请在 .env 文件中设置。" - }, - "{file} already exists. Use --force to overwrite.": { - "bg": "{file} already exists. Use --force to overwrite.", - "de": "{file} already exists. Use --force to overwrite.", - "en": "{file} already exists. Use --force to overwrite.", - "pl": "{file} już istnieje. Użyj --force, aby nadpisać.", - "ru": "{file} already exists. Use --force to overwrite.", - "zh": "{file} already exists. Use --force to overwrite." - }, - "{func} called in test '{test}' without @patch — this function {desc}. Add @patch(\".{func}\").": { - "bg": "{func} извикано в тест '{test}' без @patch — тази функция {desc}. Добавете @patch(\".{func}\").", - "de": "{func} in Test '{test}' ohne @patch aufgerufen — diese Funktion {desc}. @patch(\".{func}\") hinzufügen.", - "en": "{func} called in test '{test}' without @patch — this function {desc}. Add @patch(\".{func}\").", - "pl": "{func} wywołane w teście '{test}' bez @patch — ta funkcja {desc}. Dodaj @patch(\".{func}\").", - "ru": "{func} вызвано в тесте '{test}' без @patch — эта функция {desc}. Добавьте @patch(\".{func}\").", - "zh": "{func} 在测试 '{test}' 中被调用但没有 @patch — 此函数 {desc}。请添加 @patch(\".{func}\")。" - }, - "{level}: {tool} not found.{hint}": { - "bg": "{level}: {tool} не е намерен.{hint}", - "de": "{level}: {tool} nicht gefunden.{hint}", - "en": "{level}: {tool} not found.{hint}", - "pl": "{level}: {tool} nie znaleziono.{hint}", - "ru": "{level}: {tool} не найден.{hint}", - "zh": "{level}: 未找到 {tool}。{hint}" - }, - "{separator}": { - "bg": "{separator}", - "de": "{separator}", - "en": "{separator}", - "pl": "{separator}", - "ru": "{separator}", - "zh": "{separator}" + "zh": "\nTag → Commit alignment:", + "Cleaning up: running molecule destroy for {scenario}": "Cleaning up: running molecule destroy for {scenario}" }, "\nTest isolation check FAILED: {count} violation(s) in {files} file(s).\n": { "bg": "\nTest isolation check FAILED: {count} violation(s) in {files} file(s).\n", @@ -3669,7 +212,305 @@ "en": "\nTest isolation check FAILED: {count} violation(s) in {files} file(s).\n", "pl": "\nTest isolation check FAILED: {count} violation(s) in {files} file(s).\n", "ru": "\nTest isolation check FAILED: {count} violation(s) in {files} file(s).\n", - "zh": "\nTest isolation check FAILED: {count} violation(s) in {files} file(s).\n" + "zh": "\nTest isolation check FAILED: {count} violation(s) in {files} file(s).\n", + "Cleaning up: running molecule destroy for {scenario}": "Cleaning up: running molecule destroy for {scenario}" + }, + "\nUntagged release commits:": { + "bg": "\nUntagged release commits:", + "de": "\nUntagged release commits:", + "en": "\nUntagged release commits:", + "pl": "\nCommity wydania bez tagu:", + "ru": "\nUntagged release commits:", + "zh": "\nUntagged release commits:", + "Cleaning up: running molecule destroy for {scenario}": "Cleaning up: running molecule destroy for {scenario}" + }, + "\nUser-facing changes ({count}):": { + "bg": "\nUser-facing changes ({count}):", + "de": "\nUser-facing changes ({count}):", + "en": "\nUser-facing changes ({count}):", + "pl": "\nZmiany widoczne dla użytkownika ({count}):", + "ru": "\nUser-facing changes ({count}):", + "zh": "\nUser-facing changes ({count}):", + "Cleaning up: running molecule destroy for {scenario}": "Cleaning up: running molecule destroy for {scenario}" + }, + "\nVerification passed — all wiki pages exist.": { + "bg": "", + "de": "", + "en": "\nVerification passed — all wiki pages exist.", + "pl": "", + "ru": "", + "zh": "", + "Cleaning up: running molecule destroy for {scenario}": "Cleaning up: running molecule destroy for {scenario}" + }, + "\nVerifying wiki pages...": { + "bg": "", + "de": "", + "en": "\nVerifying wiki pages...", + "pl": "", + "ru": "", + "zh": "", + "Cleaning up: running molecule destroy for {scenario}": "Cleaning up: running molecule destroy for {scenario}" + }, + "\nWorkflow-only changes ({count}):": { + "bg": "\nWorkflow-only changes ({count}):", + "de": "\nWorkflow-only changes ({count}):", + "en": "\nWorkflow-only changes ({count}):", + "pl": "\nZmiany tylko w workflow ({count}):", + "ru": "\nWorkflow-only changes ({count}):", + "zh": "\nWorkflow-only changes ({count}):", + "Cleaning up: running molecule destroy for {scenario}": "Cleaning up: running molecule destroy for {scenario}" + }, + "\n[check_test_coverage] Fix: add the missing test file(s) before committing.": { + "bg": "\n[check_test_coverage] Fix: add the missing test file(s) before committing.", + "de": "\n[check_test_coverage] Fix: add the missing test file(s) before committing.", + "en": "\n[check_test_coverage] Fix: add the missing test file(s) before committing.", + "pl": "\n[check_test_coverage] Fix: add the missing test file(s) before committing.", + "ru": "\n[check_test_coverage] Fix: add the missing test file(s) before committing.", + "zh": "\n[check_test_coverage] Fix: add the missing test file(s) before committing.", + "Cleaning up: running molecule destroy for {scenario}": "Cleaning up: running molecule destroy for {scenario}" + }, + "\n[dry-run] Changelog:\n{changelog}": { + "bg": "\n[dry-run] Changelog:\n{changelog}", + "de": "\n[dry-run] Changelog:\n{changelog}", + "en": "\n[dry-run] Changelog:\n{changelog}", + "pl": "\n[dry-run] Changelog:\n{changelog}", + "ru": "\n[dry-run] Changelog:\n{changelog}", + "zh": "\n[dry-run] Changelog:\n{changelog}", + "Cleaning up: running molecule destroy for {scenario}": "Cleaning up: running molecule destroy for {scenario}" + }, + "\n{label} files changed ({count}):": { + "bg": "\n{label} files changed ({count}):", + "de": "\n{label} files changed ({count}):", + "en": "\n{label} files changed ({count}):", + "pl": "\n{label} plików zmienionych ({count}):", + "ru": "\n{label} files changed ({count}):", + "zh": "\n{label} files changed ({count}):", + "Cleaning up: running molecule destroy for {scenario}": "Cleaning up: running molecule destroy for {scenario}" + }, + "\n{separator}": { + "bg": "\n{separator}", + "de": "\n{separator}", + "en": "\n{separator}", + "pl": "\n{separator}", + "ru": "\n{separator}", + "zh": "\n{separator}", + "Cleaning up: running molecule destroy for {scenario}": "Cleaning up: running molecule destroy for {scenario}" + }, + "\n{tag} files ({count}):": { + "bg": "\n{tag} files ({count}):", + "de": "\n{tag} files ({count}):", + "en": "\n{tag} files ({count}):", + "pl": "\nPliki {tag} ({count}):", + "ru": "\n{tag} files ({count}):", + "zh": "\n{tag} files ({count}):", + "Cleaning up: running molecule destroy for {scenario}": "Cleaning up: running molecule destroy for {scenario}" + }, + " Could not fetch logs: {error}": { + "bg": " Could not fetch logs: {error}", + "de": " Could not fetch logs: {error}", + "en": " Could not fetch logs: {error}", + "pl": " Could not fetch logs: {error}", + "ru": " Could not fetch logs: {error}", + "zh": " Could not fetch logs: {error}", + "Cleaning up: running molecule destroy for {scenario}": "Cleaning up: running molecule destroy for {scenario}" + }, + " pytest stderr (last 300 chars): {stderr}": { + "bg": " pytest stderr (last 300 chars): {stderr}", + "de": " pytest stderr (last 300 chars): {stderr}", + "en": " pytest stderr (last 300 chars): {stderr}", + "pl": " pytest stderr (last 300 chars): {stderr}", + "ru": " pytest stderr (last 300 chars): {stderr}", + "zh": " pytest stderr (last 300 chars): {stderr}", + "Cleaning up: running molecule destroy for {scenario}": "Cleaning up: running molecule destroy for {scenario}" + }, + " pytest stdout (last 300 chars): {stdout}": { + "bg": " pytest stdout (last 300 chars): {stdout}", + "de": " pytest stdout (last 300 chars): {stdout}", + "en": " pytest stdout (last 300 chars): {stdout}", + "pl": " pytest stdout (last 300 chars): {stdout}", + "ru": " pytest stdout (last 300 chars): {stdout}", + "zh": " pytest stdout (last 300 chars): {stdout}", + "Cleaning up: running molecule destroy for {scenario}": "Cleaning up: running molecule destroy for {scenario}" + }, + " stderr: {stderr}": { + "bg": " stderr: {stderr}", + "de": " stderr: {stderr}", + "en": " stderr: {stderr}", + "pl": " stderr: {stderr}", + "ru": " stderr: {stderr}", + "zh": " stderr: {stderr}", + "Cleaning up: running molecule destroy for {scenario}": "Cleaning up: running molecule destroy for {scenario}" + }, + " - Auto-delete branch after merge: yes": { + "bg": " - Автоматично изтриване на клон след сливане: да", + "de": " - Branch nach Merge automatisch löschen: ja", + "en": " - Auto-delete branch after merge: yes", + "pl": " - Auto-usuwanie gałęzi po scaleniu: tak", + "ru": " - Автоудаление ветки после слияния: да", + "zh": " - 合并后自动删除分支: 是", + "Cleaning up: running molecule destroy for {scenario}": "Cleaning up: running molecule destroy for {scenario}" + }, + " - Block admin merge override: yes": { + "bg": " - Блокиране на admin merge override: да", + "de": " - Admin-Merge-Override blockieren: ja", + "en": " - Block admin merge override: yes", + "pl": " - Blokuj admin merge override: tak", + "ru": " - Блокировать admin merge override: да", + "zh": " - 阻止管理员合并覆盖:是", + "Cleaning up: running molecule destroy for {scenario}": "Cleaning up: running molecule destroy for {scenario}" + }, + " - Block outdated branches: yes": { + "bg": " - Блокиране на остарели клонове: да", + "de": " - Veraltete Branches blockieren: ja", + "en": " - Block outdated branches: yes", + "pl": " - Blokowanie nieaktualnych gałęzi: tak", + "ru": " - Блокировать устаревшие ветки: да", + "zh": " - 阻止过时分支: 是", + "Cleaning up: running molecule destroy for {scenario}": "Cleaning up: running molecule destroy for {scenario}" + }, + " - Block rejected reviews: yes": { + "bg": " - Блокиране на отхвърлени рецензии: да", + "de": " - Abgelehnte Reviews blockieren: ja", + "en": " - Block rejected reviews: yes", + "pl": " - Blokowanie odrzuconych recenzji: tak", + "ru": " - Блокировать отклонённые ревью: да", + "zh": " - 阻止被拒绝的审查: 是", + "Cleaning up: running molecule destroy for {scenario}": "Cleaning up: running molecule destroy for {scenario}" + }, + " - Direct pushes: BLOCKED (require PR, whitelisted users can push)": { + "bg": " - Direct pushes: BLOCKED (require PR, whitelisted users can push)", + "de": " - Direct pushes: BLOCKED (require PR, whitelisted users can push)", + "en": " - Direct pushes: BLOCKED (require PR, whitelisted users can push)", + "pl": " - Bezpośrednie push-e: ZABLOKOWANE (wymagają PR, użytkownicy z białej listy mogą pushować)", + "ru": " - Direct pushes: BLOCKED (require PR, whitelisted users can push)", + "zh": " - Direct pushes: BLOCKED (require PR, whitelisted users can push)", + "Cleaning up: running molecule destroy for {scenario}": "Cleaning up: running molecule destroy for {scenario}" + }, + " - Dismiss stale approvals: yes": { + "bg": " - Анулиране на остарели одобрения: да", + "de": " - Veraltete Genehmigungen ablehnen: ja", + "en": " - Dismiss stale approvals: yes", + "pl": " - Odrzucanie nieaktualnych zatwierdzeń: tak", + "ru": " - Отклонять устаревшие одобрения: да", + "zh": " - 忽略过时审批: 是", + "Cleaning up: running molecule destroy for {scenario}": "Cleaning up: running molecule destroy for {scenario}" + }, + " - Required approvals: {count}": { + "bg": " - Необходими одобрения: {count}", + "de": " - Erforderliche Genehmigungen: {count}", + "en": " - Required approvals: {count}", + "pl": " - Wymagane zatwierdzenia: {count}", + "ru": " - Требуемые одобрения: {count}", + "zh": " - 必需审批数: {count}", + "Cleaning up: running molecule destroy for {scenario}": "Cleaning up: running molecule destroy for {scenario}" + }, + " - Required status checks: {checks}": { + "bg": " - Необходими проверки на състоянието: {checks}", + "de": " - Erforderliche Status-Checks: {checks}", + "en": " - Required status checks: {checks}", + "pl": " - Wymagane kontrole statusu: {checks}", + "ru": " - Требуемые проверки статуса: {checks}", + "zh": " - 必需状态检查: {checks}", + "Cleaning up: running molecule destroy for {scenario}": "Cleaning up: running molecule destroy for {scenario}" + }, + " - {count} standard labels verified": { + "bg": " - {count} standard labels verified", + "de": " - {count} standard labels verified", + "en": " - {count} standard labels verified", + "pl": " - {count} standard labels verified", + "ru": " - {count} standard labels verified", + "zh": " - {count} standard labels verified", + "Cleaning up: running molecule destroy for {scenario}": "Cleaning up: running molecule destroy for {scenario}" + }, + " -> {dir}": { + "bg": " -> {dir}", + "de": " -> {dir}", + "en": " -> {dir}", + "pl": " -> {dir}", + "ru": " -> {dir}", + "zh": " -> {dir}", + "Cleaning up: running molecule destroy for {scenario}": "Cleaning up: running molecule destroy for {scenario}" + }, + " ... and {n} more": { + "bg": "", + "de": "", + "en": " ... and {n} more", + "pl": "", + "ru": "", + "zh": "", + "Cleaning up: running molecule destroy for {scenario}": "Cleaning up: running molecule destroy for {scenario}" + }, + " Auto-fixed trailing whitespace in {n} files": { + "bg": " Auto-fixed trailing whitespace in {n} files", + "de": " Auto-fixed trailing whitespace in {n} files", + "en": " Auto-fixed trailing whitespace in {n} files", + "pl": " Auto-fixed trailing whitespace in {n} files", + "ru": " Auto-fixed trailing whitespace in {n} files", + "zh": " Auto-fixed trailing whitespace in {n} files", + "Cleaning up: running molecule destroy for {scenario}": "Cleaning up: running molecule destroy for {scenario}" + }, + " Collecting code quality...": { + "bg": " Collecting code quality...", + "de": " Collecting code quality...", + "en": " Collecting code quality...", + "pl": " Collecting code quality...", + "ru": " Collecting code quality...", + "zh": " Collecting code quality...", + "Cleaning up: running molecule destroy for {scenario}": "Cleaning up: running molecule destroy for {scenario}" + }, + " Collecting coverage and tests...": { + "bg": " Collecting coverage and tests...", + "de": " Collecting coverage and tests...", + "en": " Collecting coverage and tests...", + "pl": " Collecting coverage and tests...", + "ru": " Collecting coverage and tests...", + "zh": " Collecting coverage and tests...", + "Cleaning up: running molecule destroy for {scenario}": "Cleaning up: running molecule destroy for {scenario}" + }, + " Collecting doc coverage...": { + "bg": " Collecting doc coverage...", + "de": " Collecting doc coverage...", + "en": " Collecting doc coverage...", + "pl": " Collecting doc coverage...", + "ru": " Collecting doc coverage...", + "zh": " Collecting doc coverage...", + "Cleaning up: running molecule destroy for {scenario}": "Cleaning up: running molecule destroy for {scenario}" + }, + " Collecting version...": { + "bg": " Collecting version...", + "de": " Collecting version...", + "en": " Collecting version...", + "pl": " Collecting version...", + "ru": " Collecting version...", + "zh": " Collecting version...", + "Cleaning up: running molecule destroy for {scenario}": "Cleaning up: running molecule destroy for {scenario}" + }, + " Deleted: {version}": { + "bg": " Deleted: {version}", + "de": " Deleted: {version}", + "en": " Deleted: {version}", + "pl": " Deleted: {version}", + "ru": " Deleted: {version}", + "zh": " Deleted: {version}", + "Cleaning up: running molecule destroy for {scenario}": "Cleaning up: running molecule destroy for {scenario}" + }, + " FAIL: {title} — page not found in wiki!": { + "bg": "", + "de": "", + "en": " FAIL: {title} — page not found in wiki!", + "pl": "", + "ru": "", + "zh": "", + "Cleaning up: running molecule destroy for {scenario}": "Cleaning up: running molecule destroy for {scenario}" + }, + " FAILED to delete: {version}": { + "bg": " FAILED to delete: {version}", + "de": " FAILED to delete: {version}", + "en": " FAILED to delete: {version}", + "pl": " FAILED to delete: {version}", + "ru": " FAILED to delete: {version}", + "zh": " FAILED to delete: {version}", + "Cleaning up: running molecule destroy for {scenario}": "Cleaning up: running molecule destroy for {scenario}" }, " Fix the PR title with:\n python3 -m devx.ci.fix_pr_title --repo {repo} --pr-number {pr}\n Or manually set the PR title to: '{expected}'": { "bg": " Fix the PR title with:\n python3 -m devx.ci.fix_pr_title --repo {repo} --pr-number {pr}\n Or manually set the PR title to: '{expected}'", @@ -3677,7 +518,368 @@ "en": " Fix the PR title with:\n python3 -m devx.ci.fix_pr_title --repo {repo} --pr-number {pr}\n Or manually set the PR title to: '{expected}'", "pl": " Fix the PR title with:\n python3 -m devx.ci.fix_pr_title --repo {repo} --pr-number {pr}\n Or manually set the PR title to: '{expected}'", "ru": " Fix the PR title with:\n python3 -m devx.ci.fix_pr_title --repo {repo} --pr-number {pr}\n Or manually set the PR title to: '{expected}'", - "zh": " Fix the PR title with:\n python3 -m devx.ci.fix_pr_title --repo {repo} --pr-number {pr}\n Or manually set the PR title to: '{expected}'" + "zh": " Fix the PR title with:\n python3 -m devx.ci.fix_pr_title --repo {repo} --pr-number {pr}\n Or manually set the PR title to: '{expected}'", + "Cleaning up: running molecule destroy for {scenario}": "Cleaning up: running molecule destroy for {scenario}" + }, + " Fixed {fixes} version ref(s) in {file}": { + "bg": "", + "de": "", + "en": " Fixed {fixes} version ref(s) in {file}", + "pl": "", + "ru": "", + "zh": "", + "Cleaning up: running molecule destroy for {scenario}": "Cleaning up: running molecule destroy for {scenario}" + }, + " Generated: {path}": { + "bg": " Generated: {path}", + "de": " Generated: {path}", + "en": " Generated: {path}", + "pl": " Generated: {path}", + "ru": " Generated: {path}", + "zh": " Generated: {path}", + "Cleaning up: running molecule destroy for {scenario}": "Cleaning up: running molecule destroy for {scenario}" + }, + " MISSING: {cmd}": { + "bg": " MISSING: {cmd}", + "de": " MISSING: {cmd}", + "en": " MISSING: {cmd}", + "pl": " MISSING: {cmd}", + "ru": " MISSING: {cmd}", + "zh": " MISSING: {cmd}", + "Cleaning up: running molecule destroy for {scenario}": "Cleaning up: running molecule destroy for {scenario}" + }, + " MISSING: {module}": { + "bg": " MISSING: {module}", + "de": " MISSING: {module}", + "en": " MISSING: {module}", + "pl": " BRAK: {module}", + "ru": " MISSING: {module}", + "zh": " MISSING: {module}", + "Cleaning up: running molecule destroy for {scenario}": "Cleaning up: running molecule destroy for {scenario}" + }, + " MISSING: {script}": { + "bg": " MISSING: {script}", + "de": " MISSING: {script}", + "en": " MISSING: {script}", + "pl": " BRAK: {script}", + "ru": " MISSING: {script}", + "zh": " MISSING: {script}", + "Cleaning up: running molecule destroy for {scenario}": "Cleaning up: running molecule destroy for {scenario}" + }, + " OK: {cmd}": { + "bg": " OK: {cmd}", + "de": " OK: {cmd}", + "en": " OK: {cmd}", + "pl": " OK: {cmd}", + "ru": " OK: {cmd}", + "zh": " OK: {cmd}", + "Cleaning up: running molecule destroy for {scenario}": "Cleaning up: running molecule destroy for {scenario}" + }, + " OK: {module}": { + "bg": " OK: {module}", + "de": " OK: {module}", + "en": " OK: {module}", + "pl": " OK: {module}", + "ru": " OK: {module}", + "zh": " OK: {module}", + "Cleaning up: running molecule destroy for {scenario}": "Cleaning up: running molecule destroy for {scenario}" + }, + " OK: {script}": { + "bg": " OK: {script}", + "de": " OK: {script}", + "en": " OK: {script}", + "pl": " OK: {script}", + "ru": " OK: {script}", + "zh": " OK: {script}", + "Cleaning up: running molecule destroy for {scenario}": "Cleaning up: running molecule destroy for {scenario}" + }, + " OK: {title}": { + "bg": "", + "de": "", + "en": " OK: {title}", + "pl": "", + "ru": "", + "zh": "", + "Cleaning up: running molecule destroy for {scenario}": "Cleaning up: running molecule destroy for {scenario}" + }, + " Package: {pkg}": { + "bg": " Package: {pkg}", + "de": " Package: {pkg}", + "en": " Package: {pkg}", + "pl": " Package: {pkg}", + "ru": " Package: {pkg}", + "zh": " Package: {pkg}", + "Cleaning up: running molecule destroy for {scenario}": "Cleaning up: running molecule destroy for {scenario}" + }, + " Pruned: {file} (not in mapping)": { + "bg": "", + "de": "", + "en": " Pruned: {file} (not in mapping)", + "pl": "", + "ru": "", + "zh": "", + "Cleaning up: running molecule destroy for {scenario}": "Cleaning up: running molecule destroy for {scenario}" + }, + " Quality checks: {checks}": { + "bg": " Quality checks: {checks}", + "de": " Quality checks: {checks}", + "en": " Quality checks: {checks}", + "pl": " Quality checks: {checks}", + "ru": " Quality checks: {checks}", + "zh": " Quality checks: {checks}", + "Cleaning up: running molecule destroy for {scenario}": "Cleaning up: running molecule destroy for {scenario}" + }, + " Repo root: {root}": { + "bg": " Repo root: {root}", + "de": " Repo root: {root}", + "en": " Repo root: {root}", + "pl": " Repo root: {root}", + "ru": " Repo root: {root}", + "zh": " Repo root: {root}", + "Cleaning up: running molecule destroy for {scenario}": "Cleaning up: running molecule destroy for {scenario}" + }, + " Run 'make install-checkmake' to install the Makefile linter.": { + "bg": " Изпълнете 'make install-checkmake' за инсталиране на Makefile линтера.", + "de": " Führen Sie 'make install-checkmake' aus, um den Makefile-Linter zu installieren.", + "en": " Run 'make install-checkmake' to install the Makefile linter.", + "pl": " Uruchom 'make install-checkmake', aby zainstalować linter Makefile.", + "ru": " Выполните 'make install-checkmake' для установки линтера Makefile.", + "zh": " 运行 'make install-checkmake' 来安装 Makefile 检查器。", + "Cleaning up: running molecule destroy for {scenario}": "Cleaning up: running molecule destroy for {scenario}" + }, + " Synced: {title} → {file}": { + "bg": "", + "de": "", + "en": " Synced: {title} → {file}", + "pl": "", + "ru": "", + "zh": "", + "Cleaning up: running molecule destroy for {scenario}": "Cleaning up: running molecule destroy for {scenario}" + }, + " Test paths: {testpaths}": { + "bg": " Test paths: {testpaths}", + "de": " Test paths: {testpaths}", + "en": " Test paths: {testpaths}", + "pl": " Test paths: {testpaths}", + "ru": " Test paths: {testpaths}", + "zh": " Test paths: {testpaths}", + "Cleaning up: running molecule destroy for {scenario}": "Cleaning up: running molecule destroy for {scenario}" + }, + " WARN: Mapped file {file} is empty, skipping": { + "bg": "", + "de": "", + "en": " WARN: Mapped file {file} is empty, skipping", + "pl": "", + "ru": "", + "zh": "", + "Cleaning up: running molecule destroy for {scenario}": "Cleaning up: running molecule destroy for {scenario}" + }, + " WARN: Mapped file {file} not found, skipping": { + "bg": "", + "de": "", + "en": " WARN: Mapped file {file} not found, skipping", + "pl": "", + "ru": "", + "zh": "", + "Cleaning up: running molecule destroy for {scenario}": "Cleaning up: running molecule destroy for {scenario}" + }, + " WARNING: Could not extract coverage from pytest output (rc={rc})": { + "bg": " WARNING: Could not extract coverage from pytest output (rc={rc})", + "de": " WARNING: Could not extract coverage from pytest output (rc={rc})", + "en": " WARNING: Could not extract coverage from pytest output (rc={rc})", + "pl": " WARNING: Could not extract coverage from pytest output (rc={rc})", + "ru": " WARNING: Could not extract coverage from pytest output (rc={rc})", + "zh": " WARNING: Could not extract coverage from pytest output (rc={rc})", + "Cleaning up: running molecule destroy for {scenario}": "Cleaning up: running molecule destroy for {scenario}" + }, + " WARNING: Could not extract doc coverage (rc={rc})": { + "bg": " WARNING: Could not extract doc coverage (rc={rc})", + "de": " WARNING: Could not extract doc coverage (rc={rc})", + "en": " WARNING: Could not extract doc coverage (rc={rc})", + "pl": " WARNING: Could not extract doc coverage (rc={rc})", + "ru": " WARNING: Could not extract doc coverage (rc={rc})", + "zh": " WARNING: Could not extract doc coverage (rc={rc})", + "Cleaning up: running molecule destroy for {scenario}": "Cleaning up: running molecule destroy for {scenario}" + }, + " WARNING: Could not extract test count from pytest output (rc={rc})": { + "bg": " WARNING: Could not extract test count from pytest output (rc={rc})", + "de": " WARNING: Could not extract test count from pytest output (rc={rc})", + "en": " WARNING: Could not extract test count from pytest output (rc={rc})", + "pl": " WARNING: Could not extract test count from pytest output (rc={rc})", + "ru": " WARNING: Could not extract test count from pytest output (rc={rc})", + "zh": " WARNING: Could not extract test count from pytest output (rc={rc})", + "Cleaning up: running molecule destroy for {scenario}": "Cleaning up: running molecule destroy for {scenario}" + }, + " WARNING: No Python package found under src/ — version badge will show 'unknown'": { + "bg": " WARNING: No Python package found under src/ — version badge will show 'unknown'", + "de": " WARNING: No Python package found under src/ — version badge will show 'unknown'", + "en": " WARNING: No Python package found under src/ — version badge will show 'unknown'", + "pl": " WARNING: No Python package found under src/ — version badge will show 'unknown'", + "ru": " WARNING: No Python package found under src/ — version badge will show 'unknown'", + "zh": " WARNING: No Python package found under src/ — version badge will show 'unknown'", + "Cleaning up: running molecule destroy for {scenario}": "Cleaning up: running molecule destroy for {scenario}" + }, + " WARNING: No __version__ found in {init_file} — version badge will show 'unknown'": { + "bg": " WARNING: No __version__ found in {init_file} — version badge will show 'unknown'", + "de": " WARNING: No __version__ found in {init_file} — version badge will show 'unknown'", + "en": " WARNING: No __version__ found in {init_file} — version badge will show 'unknown'", + "pl": " WARNING: No __version__ found in {init_file} — version badge will show 'unknown'", + "ru": " WARNING: No __version__ found in {init_file} — version badge will show 'unknown'", + "zh": " WARNING: No __version__ found in {init_file} — version badge will show 'unknown'", + "Cleaning up: running molecule destroy for {scenario}": "Cleaning up: running molecule destroy for {scenario}" + }, + " WARNING: No coverage target detected (no src/ package, no --cov in pyproject.toml)": { + "bg": " WARNING: No coverage target detected (no src/ package, no --cov in pyproject.toml)", + "de": " WARNING: No coverage target detected (no src/ package, no --cov in pyproject.toml)", + "en": " WARNING: No coverage target detected (no src/ package, no --cov in pyproject.toml)", + "pl": " WARNING: No coverage target detected (no src/ package, no --cov in pyproject.toml)", + "ru": " WARNING: No coverage target detected (no src/ package, no --cov in pyproject.toml)", + "zh": " WARNING: No coverage target detected (no src/ package, no --cov in pyproject.toml)", + "Cleaning up: running molecule destroy for {scenario}": "Cleaning up: running molecule destroy for {scenario}" + }, + " WARNING: {init_file} not found — version badge will show 'unknown'": { + "bg": " WARNING: {init_file} not found — version badge will show 'unknown'", + "de": " WARNING: {init_file} not found — version badge will show 'unknown'", + "en": " WARNING: {init_file} not found — version badge will show 'unknown'", + "pl": " WARNING: {init_file} not found — version badge will show 'unknown'", + "ru": " WARNING: {init_file} not found — version badge will show 'unknown'", + "zh": " WARNING: {init_file} not found — version badge will show 'unknown'", + "Cleaning up: running molecule destroy for {scenario}": "Cleaning up: running molecule destroy for {scenario}" + }, + " WARNING: {name} failed (rc={rc})": { + "bg": " WARNING: {name} failed (rc={rc})", + "de": " WARNING: {name} failed (rc={rc})", + "en": " WARNING: {name} failed (rc={rc})", + "pl": " WARNING: {name} failed (rc={rc})", + "ru": " WARNING: {name} failed (rc={rc})", + "zh": " WARNING: {name} failed (rc={rc})", + "Cleaning up: running molecule destroy for {scenario}": "Cleaning up: running molecule destroy for {scenario}" + }, + " WARNING: {name} not installed — skipping (counted as pass)": { + "bg": " WARNING: {name} not installed — skipping (counted as pass)", + "de": " WARNING: {name} not installed — skipping (counted as pass)", + "en": " WARNING: {name} not installed — skipping (counted as pass)", + "pl": " WARNING: {name} not installed — skipping (counted as pass)", + "ru": " WARNING: {name} not installed — skipping (counted as pass)", + "zh": " WARNING: {name} not installed — skipping (counted as pass)", + "Cleaning up: running molecule destroy for {scenario}": "Cleaning up: running molecule destroy for {scenario}" + }, + " [dry-run] Would delete: {version}": { + "bg": " [dry-run] Would delete: {version}", + "de": " [dry-run] Would delete: {version}", + "en": " [dry-run] Would delete: {version}", + "pl": " [dry-run] Would delete: {version}", + "ru": " [dry-run] Would delete: {version}", + "zh": " [dry-run] Would delete: {version}", + "Cleaning up: running molecule destroy for {scenario}": "Cleaning up: running molecule destroy for {scenario}" + }, + " {name}: {label}={message} ({color})": { + "bg": " {name}: {label}={message} ({color})", + "de": " {name}: {label}={message} ({color})", + "en": " {name}: {label}={message} ({color})", + "pl": " {name}: {label}={message} ({color})", + "ru": " {name}: {label}={message} ({color})", + "zh": " {name}: {label}={message} ({color})", + "Cleaning up: running molecule destroy for {scenario}": "Cleaning up: running molecule destroy for {scenario}" + }, + " {n} long lines found (warnings only)": { + "bg": "", + "de": "", + "en": " {n} long lines found (warnings only)", + "pl": "", + "ru": "", + "zh": "", + "Cleaning up: running molecule destroy for {scenario}": "Cleaning up: running molecule destroy for {scenario}" + }, + " {n} orphan docs found (warnings only)": { + "bg": "", + "de": "", + "en": " {n} orphan docs found (warnings only)", + "pl": "", + "ru": "", + "zh": "", + "Cleaning up: running molecule destroy for {scenario}": "Cleaning up: running molecule destroy for {scenario}" + }, + " {n} stale docs found (warnings only)": { + "bg": " {n} stale docs found (warnings only)", + "de": " {n} stale docs found (warnings only)", + "en": " {n} stale docs found (warnings only)", + "pl": " {n} stale docs found (warnings only)", + "ru": " {n} stale docs found (warnings only)", + "zh": " {n} stale docs found (warnings only)", + "Cleaning up: running molecule destroy for {scenario}": "Cleaning up: running molecule destroy for {scenario}" + }, + " {tool}: found at {path}": { + "bg": " {tool}: намерен на {path}", + "de": " {tool}: gefunden unter {path}", + "en": " {tool}: found at {path}", + "pl": " {tool}: znaleziono w {path}", + "ru": " {tool}: найден в {path}", + "zh": " {tool}: 在 {path} 找到", + "Cleaning up: running molecule destroy for {scenario}": "Cleaning up: running molecule destroy for {scenario}" + }, + " {version} (created: {created})": { + "bg": " {version} (created: {created})", + "de": " {version} (created: {created})", + "en": " {version} (created: {created})", + "pl": " {version} (created: {created})", + "ru": " {version} (created: {created})", + "zh": " {version} (created: {created})", + "Cleaning up: running molecule destroy for {scenario}": "Cleaning up: running molecule destroy for {scenario}" + }, + "--checklist-categories must list at least 8 of 13 categories. Got {count}.": { + "bg": "--checklist-categories must list at least 8 of 13 categories. Got {count}.", + "de": "--checklist-categories must list at least 8 of 13 categories. Got {count}.", + "en": "--checklist-categories must list at least 8 of 13 categories. Got {count}.", + "pl": "--checklist-categories must list at least 8 of 13 categories. Got {count}.", + "ru": "--checklist-categories must list at least 8 of 13 categories. Got {count}.", + "zh": "--checklist-categories must list at least 8 of 13 categories. Got {count}.", + "Cleaning up: running molecule destroy for {scenario}": "Cleaning up: running molecule destroy for {scenario}" + }, + "--checklist-confirmed is required for APPROVE events.": { + "bg": "--checklist-confirmed is required for APPROVE events.", + "de": "--checklist-confirmed is required for APPROVE events.", + "en": "--checklist-confirmed is required for APPROVE events.", + "pl": "--checklist-confirmed is required for APPROVE events.", + "ru": "--checklist-confirmed is required for APPROVE events.", + "zh": "--checklist-confirmed is required for APPROVE events.", + "Cleaning up: running molecule destroy for {scenario}": "Cleaning up: running molecule destroy for {scenario}" + }, + "--push requires --registry": { + "bg": "--push requires --registry", + "de": "--push requires --registry", + "en": "--push requires --registry", + "pl": "--push requires --registry", + "ru": "--push requires --registry", + "zh": "--push requires --registry", + "Cleaning up: running molecule destroy for {scenario}": "Cleaning up: running molecule destroy for {scenario}" + }, + "--skip-build: skipping package build and PyPI publish.": { + "bg": "--skip-build: skipping package build and PyPI publish.", + "de": "--skip-build: skipping package build and PyPI publish.", + "en": "--skip-build: skipping package build and PyPI publish.", + "pl": "--skip-build: pomijanie budowania pakietu i publikacji PyPI.", + "ru": "--skip-build: skipping package build and PyPI publish.", + "zh": "--skip-build: skipping package build and PyPI publish.", + "Cleaning up: running molecule destroy for {scenario}": "Cleaning up: running molecule destroy for {scenario}" + }, + "=== Release Alignment Verification ===\n": { + "bg": "=== Release Alignment Verification ===\n", + "de": "=== Release Alignment Verification ===\n", + "en": "=== Release Alignment Verification ===\n", + "pl": "=== Weryfikacja zgodności wydań ===\n", + "ru": "=== Release Alignment Verification ===\n", + "zh": "=== Release Alignment Verification ===\n", + "Cleaning up: running molecule destroy for {scenario}": "Cleaning up: running molecule destroy for {scenario}" + }, + "API poll warning: {exc}": { + "bg": "API poll warning: {exc}", + "de": "API poll warning: {exc}", + "en": "API poll warning: {exc}", + "pl": "Ostrzeżenie sondowania API: {exc}", + "ru": "API poll warning: {exc}", + "zh": "API poll warning: {exc}", + "Cleaning up: running molecule destroy for {scenario}": "Cleaning up: running molecule destroy for {scenario}" }, "Add @patch(\"subprocess.run\") or patch the calling function to fix this.": { "bg": "Add @patch(\"subprocess.run\") or patch the calling function to fix this.", @@ -3685,7 +887,179 @@ "en": "Add @patch(\"subprocess.run\") or patch the calling function to fix this.", "pl": "Add @patch(\"subprocess.run\") or patch the calling function to fix this.", "ru": "Add @patch(\"subprocess.run\") or patch the calling function to fix this.", - "zh": "Add @patch(\"subprocess.run\") or patch the calling function to fix this." + "zh": "Add @patch(\"subprocess.run\") or patch the calling function to fix this.", + "Cleaning up: running molecule destroy for {scenario}": "Cleaning up: running molecule destroy for {scenario}" + }, + "Added label '{label}' to PR #{pr}.": { + "bg": "Added label '{label}' to PR #{pr}.", + "de": "Added label '{label}' to PR #{pr}.", + "en": "Added label '{label}' to PR #{pr}.", + "pl": "Added label '{label}' to PR #{pr}.", + "ru": "Added label '{label}' to PR #{pr}.", + "zh": "Added label '{label}' to PR #{pr}.", + "Cleaning up: running molecule destroy for {scenario}": "Cleaning up: running molecule destroy for {scenario}" + }, + "Additional directory to scan (default: scripts, tests). Can be repeated.": { + "bg": "Additional directory to scan (default: scripts, tests). Can be repeated.", + "de": "Additional directory to scan (default: scripts, tests). Can be repeated.", + "en": "Additional directory to scan (default: scripts, tests). Can be repeated.", + "pl": "Additional directory to scan (default: scripts, tests). Can be repeated.", + "ru": "Additional directory to scan (default: scripts, tests). Can be repeated.", + "zh": "Additional directory to scan (default: scripts, tests). Can be repeated.", + "Cleaning up: running molecule destroy for {scenario}": "Cleaning up: running molecule destroy for {scenario}" + }, + "All molecule tests passed.": { + "bg": "All molecule tests passed.", + "de": "All molecule tests passed.", + "en": "All molecule tests passed.", + "pl": "Wszystkie testy molecule zakończone pomyślnie.", + "ru": "All molecule tests passed.", + "zh": "All molecule tests passed.", + "Cleaning up: running molecule destroy for {scenario}": "Cleaning up: running molecule destroy for {scenario}" + }, + "Allow empty tag (PR mode where SHA is concrete).": { + "bg": "Позволи празен таг (PR режим, където SHA е конкретен).", + "de": "Leeren Tag zulassen (PR-Modus, in dem SHA konkret ist).", + "en": "Allow empty tag (PR mode where SHA is concrete).", + "pl": "Zezwalaj na pusty tag (tryb PR, w którym SHA jest konkretne).", + "ru": "Разрешить пустой тег (режим PR, где SHA конкретен).", + "zh": "允许空标签(SHA 为具体值的 PR 模式)。", + "Cleaning up: running molecule destroy for {scenario}": "Cleaning up: running molecule destroy for {scenario}" + }, + "Another molecule runner failed. Stopping this runner early.": { + "bg": "Another molecule runner failed. Stopping this runner early.", + "de": "Another molecule runner failed. Stopping this runner early.", + "en": "Another molecule runner failed. Stopping this runner early.", + "pl": "Inny runner molecule zakończył się niepowodzeniem. Wczesne zatrzymanie tego runnera.", + "ru": "Another molecule runner failed. Stopping this runner early.", + "zh": "Another molecule runner failed. Stopping this runner early.", + "Cleaning up: running molecule destroy for {scenario}": "Cleaning up: running molecule destroy for {scenario}" + }, + "Assigned {count} files to runner {runner_index}": { + "bg": "Assigned {count} files to runner {runner_index}", + "de": "Assigned {count} files to runner {runner_index}", + "en": "Assigned {count} files to runner {runner_index}", + "pl": "Assigned {count} files to runner {runner_index}", + "ru": "Assigned {count} files to runner {runner_index}", + "zh": "Assigned {count} files to runner {runner_index}", + "Cleaning up: running molecule destroy for {scenario}": "Cleaning up: running molecule destroy for {scenario}" + }, + "Assigned {count} items to runner {runner_index}: {encoded}": { + "bg": "Assigned {count} items to runner {runner_index}: {encoded}", + "de": "Assigned {count} items to runner {runner_index}: {encoded}", + "en": "Assigned {count} items to runner {runner_index}: {encoded}", + "pl": "Assigned {count} items to runner {runner_index}: {encoded}", + "ru": "Assigned {count} items to runner {runner_index}: {encoded}", + "zh": "Assigned {count} items to runner {runner_index}: {encoded}", + "Cleaning up: running molecule destroy for {scenario}": "Cleaning up: running molecule destroy for {scenario}" + }, + "Auto-rebase failed with HTTP {status}: {message}\nRebase manually:\n git fetch origin master && git rebase origin/master && git push --force-with-lease\nThen re-add the ready-to-merge label.": { + "bg": "Auto-rebase failed with HTTP {status}: {message}\nRebase manually:\n git fetch origin master && git rebase origin/master && git push --force-with-lease\nThen re-add the ready-to-merge label.", + "de": "Auto-rebase failed with HTTP {status}: {message}\nRebase manually:\n git fetch origin master && git rebase origin/master && git push --force-with-lease\nThen re-add the ready-to-merge label.", + "en": "Auto-rebase failed with HTTP {status}: {message}\nRebase manually:\n git fetch origin master && git rebase origin/master && git push --force-with-lease\nThen re-add the ready-to-merge label.", + "pl": "Auto-rebase failed with HTTP {status}: {message}\nRebase manually:\n git fetch origin master && git rebase origin/master && git push --force-with-lease\nThen re-add the ready-to-merge label.", + "ru": "Auto-rebase failed with HTTP {status}: {message}\nRebase manually:\n git fetch origin master && git rebase origin/master && git push --force-with-lease\nThen re-add the ready-to-merge label.", + "zh": "Auto-rebase failed with HTTP {status}: {message}\nRebase manually:\n git fetch origin master && git rebase origin/master && git push --force-with-lease\nThen re-add the ready-to-merge label.", + "Cleaning up: running molecule destroy for {scenario}": "Cleaning up: running molecule destroy for {scenario}" + }, + "Automated CI commit (badge) — skipping post-merge jobs.": { + "bg": "Automated CI commit (badge) — skipping post-merge jobs.", + "de": "Automated CI commit (badge) — skipping post-merge jobs.", + "en": "Automated CI commit (badge) — skipping post-merge jobs.", + "pl": "Automated CI commit (badge) — skipping post-merge jobs.", + "ru": "Automated CI commit (badge) — skipping post-merge jobs.", + "zh": "Automated CI commit (badge) — skipping post-merge jobs.", + "Cleaning up: running molecule destroy for {scenario}": "Cleaning up: running molecule destroy for {scenario}" + }, + "Badge push attempt {attempt}/{retries} failed — retrying: {error}": { + "bg": "Badge push attempt {attempt}/{retries} failed — retrying: {error}", + "de": "Badge push attempt {attempt}/{retries} failed — retrying: {error}", + "en": "Badge push attempt {attempt}/{retries} failed — retrying: {error}", + "pl": "Badge push attempt {attempt}/{retries} failed — retrying: {error}", + "ru": "Badge push attempt {attempt}/{retries} failed — retrying: {error}", + "zh": "Badge push attempt {attempt}/{retries} failed — retrying: {error}", + "Cleaning up: running molecule destroy for {scenario}": "Cleaning up: running molecule destroy for {scenario}" + }, + "Badge push failed after {retries} attempts: {error}": { + "bg": "Badge push failed after {retries} attempts: {error}", + "de": "Badge push failed after {retries} attempts: {error}", + "en": "Badge push failed after {retries} attempts: {error}", + "pl": "Badge push failed after {retries} attempts: {error}", + "ru": "Badge push failed after {retries} attempts: {error}", + "zh": "Badge push failed after {retries} attempts: {error}", + "Cleaning up: running molecule destroy for {scenario}": "Cleaning up: running molecule destroy for {scenario}" + }, + "Badges commit SHA: {sha}": { + "bg": "Badges commit SHA: {sha}", + "de": "Badges commit SHA: {sha}", + "en": "Badges commit SHA: {sha}", + "pl": "Badges commit SHA: {sha}", + "ru": "Badges commit SHA: {sha}", + "zh": "Badges commit SHA: {sha}", + "Cleaning up: running molecule destroy for {scenario}": "Cleaning up: running molecule destroy for {scenario}" + }, + "Badges pushed to badges branch": { + "bg": "Badges pushed to badges branch", + "de": "Badges pushed to badges branch", + "en": "Badges pushed to badges branch", + "pl": "Badges pushed to badges branch", + "ru": "Badges pushed to badges branch", + "zh": "Badges pushed to badges branch", + "Cleaning up: running molecule destroy for {scenario}": "Cleaning up: running molecule destroy for {scenario}" + }, + "Branch '{branch}' does not contain a task ID.\n Expected format: {prefix}-N-short-description": { + "bg": "Клон '{branch}' не съдържа ID на задача.\n Очакван формат: {prefix}-N-кратко-описание", + "de": "Branch '{branch}' enthält keine Task-ID.\n Erwartetes Format: {prefix}-N-kurz-beschreibung", + "en": "Branch '{branch}' does not contain a task ID.\n Expected format: {prefix}-N-short-description", + "pl": "Gałąź '{branch}' nie zawiera ID zadania.\n Oczekiwany format: {prefix}-N-krótki-opis", + "ru": "Ветка '{branch}' не содержит ID задачи.\n Ожидаемый формат: {prefix}-N-краткое-описание", + "zh": "分支 '{branch}' 不包含任务 ID。\n 预期格式: {prefix}-N-简短描述", + "Cleaning up: running molecule destroy for {scenario}": "Cleaning up: running molecule destroy for {scenario}" + }, + "Branch '{branch}' does not contain a task ID.\n Expected format: {prefix}-N-short-description\n Example: {prefix}-42-add-feature\n Fix: rename the branch or create a Vikunja task first:\n python -m devx.tools.create_task --title \"Task title\"": { + "bg": "Клон '{branch}' не съдържа ID на задача.\n Очакван формат: {prefix}-N-кратко-описание\n Пример: {prefix}-42-add-feature\n Решение: преименувайте клона или създайте Vikunja задача:\n python -m devx.tools.create_task --title \"Заглавие на задача\"", + "de": "Branch '{branch}' enthält keine Task-ID.\n Erwartetes Format: {prefix}-N-kurz-beschreibung\n Beispiel: {prefix}-42-add-feature\n Fix: Branch umbenennen oder Vikunja-Task erstellen:\n python -m devx.tools.create_task --title \"Task-Titel\"", + "en": "Branch '{branch}' does not contain a task ID.\n Expected format: {prefix}-N-short-description\n Example: {prefix}-42-add-feature\n Fix: rename the branch or create a Vikunja task first:\n python -m devx.tools.create_task --title \"Task title\"", + "pl": "Gałąź '{branch}' nie zawiera ID zadania.\n Oczekiwany format: {prefix}-N-krótki-opis\n Przykład: {prefix}-42-add-feature\n Naprawa: zmień nazwę gałęzi lub utwórz zadanie Vikunja:\n python -m devx.tools.create_task --title \"Tytuł zadania\"", + "ru": "Ветка '{branch}' не содержит ID задачи.\n Ожидаемый формат: {prefix}-N-краткое-описание\n Пример: {prefix}-42-add-feature\n Исправление: переименуйте ветку или создайте задачу Vikunja:\n python -m devx.tools.create_task --title \"Заголовок задачи\"", + "zh": "分支 '{branch}' 不包含任务 ID。\n 预期格式: {prefix}-N-简短描述\n 示例: {prefix}-42-add-feature\n 修复: 重命名分支或先创建 Vikunja 任务:\n python -m devx.tools.create_task --title \"任务标题\"", + "Cleaning up: running molecule destroy for {scenario}": "Cleaning up: running molecule destroy for {scenario}" + }, + "Branch is already up-to-date with origin/master.": { + "bg": "Branch is already up-to-date with origin/master.", + "de": "Branch is already up-to-date with origin/master.", + "en": "Branch is already up-to-date with origin/master.", + "pl": "Branch is already up-to-date with origin/master.", + "ru": "Branch is already up-to-date with origin/master.", + "zh": "Branch is already up-to-date with origin/master.", + "Cleaning up: running molecule destroy for {scenario}": "Cleaning up: running molecule destroy for {scenario}" + }, + "Branch is behind master. Auto-rebasing via Gitea API...\nA new CI run will start automatically after the rebase.\nThe next auto-merge attempt will merge this PR.": { + "bg": "Branch is behind master. Auto-rebasing via Gitea API...\nA new CI run will start automatically after the rebase.\nThe next auto-merge attempt will merge this PR.", + "de": "Branch is behind master. Auto-rebasing via Gitea API...\nA new CI run will start automatically after the rebase.\nThe next auto-merge attempt will merge this PR.", + "en": "Branch is behind master. Auto-rebasing via Gitea API...\nA new CI run will start automatically after the rebase.\nThe next auto-merge attempt will merge this PR.", + "pl": "Branch is behind master. Auto-rebasing via Gitea API...\nA new CI run will start automatically after the rebase.\nThe next auto-merge attempt will merge this PR.", + "ru": "Branch is behind master. Auto-rebasing via Gitea API...\nA new CI run will start automatically after the rebase.\nThe next auto-merge attempt will merge this PR.", + "zh": "Branch is behind master. Auto-rebasing via Gitea API...\nA new CI run will start automatically after the rebase.\nThe next auto-merge attempt will merge this PR.", + "Cleaning up: running molecule destroy for {scenario}": "Cleaning up: running molecule destroy for {scenario}" + }, + "Branch is behind origin/master. Rebase first: git fetch origin master && git rebase origin/master": { + "bg": "Branch is behind origin/master. Rebase first: git fetch origin master && git rebase origin/master", + "de": "Branch is behind origin/master. Rebase first: git fetch origin master && git rebase origin/master", + "en": "Branch is behind origin/master. Rebase first: git fetch origin master && git rebase origin/master", + "pl": "Branch is behind origin/master. Rebase first: git fetch origin master && git rebase origin/master", + "ru": "Branch is behind origin/master. Rebase first: git fetch origin master && git rebase origin/master", + "zh": "Branch is behind origin/master. Rebase first: git fetch origin master && git rebase origin/master", + "Cleaning up: running molecule destroy for {scenario}": "Cleaning up: running molecule destroy for {scenario}" + }, + "Branch is {count} commit(s) behind master. Rebasing...": { + "bg": "Branch is {count} commit(s) behind master. Rebasing...", + "de": "Branch is {count} commit(s) behind master. Rebasing...", + "en": "Branch is {count} commit(s) behind master. Rebasing...", + "pl": "Branch is {count} commit(s) behind master. Rebasing...", + "ru": "Branch is {count} commit(s) behind master. Rebasing...", + "zh": "Branch is {count} commit(s) behind master. Rebasing...", + "Cleaning up: running molecule destroy for {scenario}": "Cleaning up: running molecule destroy for {scenario}" }, "Branch name (auto-fetched from PR if not given)": { "bg": "Branch name (auto-fetched from PR if not given)", @@ -3693,7 +1067,62 @@ "en": "Branch name (auto-fetched from PR if not given)", "pl": "Branch name (auto-fetched from PR if not given)", "ru": "Branch name (auto-fetched from PR if not given)", - "zh": "Branch name (auto-fetched from PR if not given)" + "zh": "Branch name (auto-fetched from PR if not given)", + "Cleaning up: running molecule destroy for {scenario}": "Cleaning up: running molecule destroy for {scenario}" + }, + "Branch name (e.g., DEVX-256-fix-foo)": { + "bg": "Branch name (e.g., DEVX-256-fix-foo)", + "de": "Branch name (e.g., DEVX-256-fix-foo)", + "en": "Branch name (e.g., DEVX-256-fix-foo)", + "pl": "Branch name (e.g., DEVX-256-fix-foo)", + "ru": "Branch name (e.g., DEVX-256-fix-foo)", + "zh": "Branch name (e.g., DEVX-256-fix-foo)", + "Cleaning up: running molecule destroy for {scenario}": "Cleaning up: running molecule destroy for {scenario}" + }, + "Branch name must contain a task ID.": { + "bg": "Branch name must contain a task ID.", + "de": "Branch name must contain a task ID.", + "en": "Branch name must contain a task ID.", + "pl": "Branch name must contain a task ID.", + "ru": "Branch name must contain a task ID.", + "zh": "Branch name must contain a task ID.", + "Cleaning up: running molecule destroy for {scenario}": "Cleaning up: running molecule destroy for {scenario}" + }, + "Build failed for {name}": { + "bg": "Build failed for {name}", + "de": "Build failed for {name}", + "en": "Build failed for {name}", + "pl": "Build failed for {name}", + "ru": "Build failed for {name}", + "zh": "Build failed for {name}", + "Cleaning up: running molecule destroy for {scenario}": "Cleaning up: running molecule destroy for {scenario}" + }, + "Bumping version: {current} -> v{new_version}": { + "bg": "Bumping version: {current} -> v{new_version}", + "de": "Bumping version: {current} -> v{new_version}", + "en": "Bumping version: {current} -> v{new_version}", + "pl": "Zmiana wersji: {current} -> v{new_version}", + "ru": "Bumping version: {current} -> v{new_version}", + "zh": "Bumping version: {current} -> v{new_version}", + "Cleaning up: running molecule destroy for {scenario}": "Cleaning up: running molecule destroy for {scenario}" + }, + "CI checks did not complete within timeout.": { + "bg": "CI checks did not complete within timeout.", + "de": "CI checks did not complete within timeout.", + "en": "CI checks did not complete within timeout.", + "pl": "CI checks did not complete within timeout.", + "ru": "CI checks did not complete within timeout.", + "zh": "CI checks did not complete within timeout.", + "Cleaning up: running molecule destroy for {scenario}": "Cleaning up: running molecule destroy for {scenario}" + }, + "CI checks failed.": { + "bg": "CI checks failed.", + "de": "CI checks failed.", + "en": "CI checks failed.", + "pl": "CI checks failed.", + "ru": "CI checks failed.", + "zh": "CI checks failed.", + "Cleaning up: running molecule destroy for {scenario}": "Cleaning up: running molecule destroy for {scenario}" }, "CI_GITEA_API_TOKEN not set: {error}": { "bg": "CI_GITEA_API_TOKEN not set: {error}", @@ -3701,7 +1130,223 @@ "en": "CI_GITEA_API_TOKEN not set: {error}", "pl": "CI_GITEA_API_TOKEN not set: {error}", "ru": "CI_GITEA_API_TOKEN not set: {error}", - "zh": "CI_GITEA_API_TOKEN not set: {error}" + "zh": "CI_GITEA_API_TOKEN not set: {error}", + "Cleaning up: running molecule destroy for {scenario}": "Cleaning up: running molecule destroy for {scenario}" + }, + "CI_GITEA_TOKEN environment variable required": { + "bg": "CI_GITEA_TOKEN environment variable required", + "de": "CI_GITEA_TOKEN environment variable required", + "en": "CI_GITEA_TOKEN environment variable required", + "pl": "CI_GITEA_TOKEN environment variable required", + "ru": "CI_GITEA_TOKEN environment variable required", + "zh": "CI_GITEA_TOKEN environment variable required", + "Cleaning up: running molecule destroy for {scenario}": "Cleaning up: running molecule destroy for {scenario}" + }, + "CI_GITEA_TOKEN is not set.": { + "bg": "CI_GITEA_TOKEN is not set.", + "de": "CI_GITEA_TOKEN is not set.", + "en": "CI_GITEA_TOKEN is not set.", + "pl": "CI_GITEA_TOKEN is not set.", + "ru": "CI_GITEA_TOKEN is not set.", + "zh": "CI_GITEA_TOKEN is not set.", + "Cleaning up: running molecule destroy for {scenario}": "Cleaning up: running molecule destroy for {scenario}" + }, + "CI_GITEA_TOKEN is not set. Add it to .env or export it.": { + "bg": "CI_GITEA_TOKEN is not set. Add it to .env or export it.", + "de": "CI_GITEA_TOKEN is not set. Add it to .env or export it.", + "en": "CI_GITEA_TOKEN is not set. Add it to .env or export it.", + "pl": "CI_GITEA_TOKEN is not set. Add it to .env or export it.", + "ru": "CI_GITEA_TOKEN is not set. Add it to .env or export it.", + "zh": "CI_GITEA_TOKEN is not set. Add it to .env or export it.", + "Cleaning up: running molecule destroy for {scenario}": "Cleaning up: running molecule destroy for {scenario}" + }, + "CI_GITEA_TOKEN is not set. Required to create a PR.": { + "bg": "CI_GITEA_TOKEN не е зададен. Необходим за създаване на PR.", + "de": "CI_GITEA_TOKEN nicht gesetzt. Erforderlich zum Erstellen eines PR.", + "en": "CI_GITEA_TOKEN is not set. Required to create a PR.", + "pl": "CI_GITEA_TOKEN nie jest ustawiony. Wymagany do utworzenia PR.", + "ru": "CI_GITEA_TOKEN не установлен. Требуется для создания PR.", + "zh": "CI_GITEA_TOKEN 未设置。创建 PR 所需。", + "Cleaning up: running molecule destroy for {scenario}": "Cleaning up: running molecule destroy for {scenario}" + }, + "CI_GITEA_TOKEN not set — skipping login configuration.": { + "bg": "CI_GITEA_TOKEN not set — skipping login configuration.", + "de": "CI_GITEA_TOKEN not set — skipping login configuration.", + "en": "CI_GITEA_TOKEN not set — skipping login configuration.", + "pl": "CI_GITEA_TOKEN not set — skipping login configuration.", + "ru": "CI_GITEA_TOKEN not set — skipping login configuration.", + "zh": "CI_GITEA_TOKEN not set — skipping login configuration.", + "Cleaning up: running molecule destroy for {scenario}": "Cleaning up: running molecule destroy for {scenario}" + }, + "Cannot read __version__ from src/{pkg}/__init__.py — skipping.": { + "bg": "", + "de": "", + "en": "Cannot read __version__ from src/{pkg}/__init__.py — skipping.", + "pl": "", + "ru": "", + "zh": "", + "Cleaning up: running molecule destroy for {scenario}": "Cleaning up: running molecule destroy for {scenario}" + }, + "Cannot rebase: not on a branch (detached HEAD).": { + "bg": "Cannot rebase: not on a branch (detached HEAD).", + "de": "Cannot rebase: not on a branch (detached HEAD).", + "en": "Cannot rebase: not on a branch (detached HEAD).", + "pl": "Cannot rebase: not on a branch (detached HEAD).", + "ru": "Cannot rebase: not on a branch (detached HEAD).", + "zh": "Cannot rebase: not on a branch (detached HEAD).", + "Cleaning up: running molecule destroy for {scenario}": "Cleaning up: running molecule destroy for {scenario}" + }, + "Checking CLI command documentation...": { + "bg": "Checking CLI command documentation...", + "de": "Checking CLI command documentation...", + "en": "Checking CLI command documentation...", + "pl": "Sprawdzanie dokumentacji poleceń CLI...", + "ru": "Checking CLI command documentation...", + "zh": "Checking CLI command documentation...", + "Cleaning up: running molecule destroy for {scenario}": "Cleaning up: running molecule destroy for {scenario}" + }, + "Checking code block languages...": { + "bg": "", + "de": "", + "en": "Checking code block languages...", + "pl": "", + "ru": "", + "zh": "", + "Cleaning up: running molecule destroy for {scenario}": "Cleaning up: running molecule destroy for {scenario}" + }, + "Checking docs structure...": { + "bg": "Checking docs structure...", + "de": "Checking docs structure...", + "en": "Checking docs structure...", + "pl": "Checking docs structure...", + "ru": "Checking docs structure...", + "zh": "Checking docs structure...", + "Cleaning up: running molecule destroy for {scenario}": "Cleaning up: running molecule destroy for {scenario}" + }, + "Checking duplicate headings...": { + "bg": "Checking duplicate headings...", + "de": "Checking duplicate headings...", + "en": "Checking duplicate headings...", + "pl": "Checking duplicate headings...", + "ru": "Checking duplicate headings...", + "zh": "Checking duplicate headings...", + "Cleaning up: running molecule destroy for {scenario}": "Cleaning up: running molecule destroy for {scenario}" + }, + "Checking for TODO/FIXME markers...": { + "bg": "Checking for TODO/FIXME markers...", + "de": "Checking for TODO/FIXME markers...", + "en": "Checking for TODO/FIXME markers...", + "pl": "Checking for TODO/FIXME markers...", + "ru": "Checking for TODO/FIXME markers...", + "zh": "Checking for TODO/FIXME markers...", + "Cleaning up: running molecule destroy for {scenario}": "Cleaning up: running molecule destroy for {scenario}" + }, + "Checking for orphan docs...": { + "bg": "", + "de": "", + "en": "Checking for orphan docs...", + "pl": "", + "ru": "", + "zh": "", + "Cleaning up: running molecule destroy for {scenario}": "Cleaning up: running molecule destroy for {scenario}" + }, + "Checking for stale docs...": { + "bg": "Checking for stale docs...", + "de": "Checking for stale docs...", + "en": "Checking for stale docs...", + "pl": "Checking for stale docs...", + "ru": "Checking for stale docs...", + "zh": "Checking for stale docs...", + "Cleaning up: running molecule destroy for {scenario}": "Cleaning up: running molecule destroy for {scenario}" + }, + "Checking heading hierarchy...": { + "bg": "Checking heading hierarchy...", + "de": "Checking heading hierarchy...", + "en": "Checking heading hierarchy...", + "pl": "Checking heading hierarchy...", + "ru": "Checking heading hierarchy...", + "zh": "Checking heading hierarchy...", + "Cleaning up: running molecule destroy for {scenario}": "Cleaning up: running molecule destroy for {scenario}" + }, + "Checking internal links...": { + "bg": "Checking internal links...", + "de": "Checking internal links...", + "en": "Checking internal links...", + "pl": "Checking internal links...", + "ru": "Checking internal links...", + "zh": "Checking internal links...", + "Cleaning up: running molecule destroy for {scenario}": "Cleaning up: running molecule destroy for {scenario}" + }, + "Checking line length...": { + "bg": "", + "de": "", + "en": "Checking line length...", + "pl": "", + "ru": "", + "zh": "", + "Cleaning up: running molecule destroy for {scenario}": "Cleaning up: running molecule destroy for {scenario}" + }, + "Checking max heading depth...": { + "bg": "", + "de": "", + "en": "Checking max heading depth...", + "pl": "", + "ru": "", + "zh": "", + "Cleaning up: running molecule destroy for {scenario}": "Cleaning up: running molecule destroy for {scenario}" + }, + "Checking required files...": { + "bg": "Checking required files...", + "de": "Checking required files...", + "en": "Checking required files...", + "pl": "Checking required files...", + "ru": "Checking required files...", + "zh": "Checking required files...", + "Cleaning up: running molecule destroy for {scenario}": "Cleaning up: running molecule destroy for {scenario}" + }, + "Checking single H1 per file...": { + "bg": "", + "de": "", + "en": "Checking single H1 per file...", + "pl": "", + "ru": "", + "zh": "", + "Cleaning up: running molecule destroy for {scenario}": "Cleaning up: running molecule destroy for {scenario}" + }, + "Checking status for PR #{pr_number}...": { + "bg": "Checking status for PR #{pr_number}...", + "de": "Checking status for PR #{pr_number}...", + "en": "Checking status for PR #{pr_number}...", + "pl": "Checking status for PR #{pr_number}...", + "ru": "Checking status for PR #{pr_number}...", + "zh": "Checking status for PR #{pr_number}...", + "Cleaning up: running molecule destroy for {scenario}": "Cleaning up: running molecule destroy for {scenario}" + }, + "Checking trailing whitespace...": { + "bg": "Checking trailing whitespace...", + "de": "Checking trailing whitespace...", + "en": "Checking trailing whitespace...", + "pl": "Checking trailing whitespace...", + "ru": "Checking trailing whitespace...", + "zh": "Checking trailing whitespace...", + "Cleaning up: running molecule destroy for {scenario}": "Cleaning up: running molecule destroy for {scenario}" + }, + "Checking version references for {pkg} (current: v{version})": { + "bg": "", + "de": "", + "en": "Checking version references for {pkg} (current: v{version})", + "pl": "", + "ru": "", + "zh": "", + "Cleaning up: running molecule destroy for {scenario}": "Cleaning up: running molecule destroy for {scenario}" + }, + "Cleaning up: running molecule destroy for {scenario}": { + "bg": "Cleaning up: running molecule destroy for {scenario}", + "de": "Cleaning up: running molecule destroy for {scenario}", + "en": "Cleaning up: running molecule destroy for {scenario}", + "pl": "Cleaning up: running molecule destroy for {scenario}", + "ru": "Cleaning up: running molecule destroy for {scenario}", + "zh": "Cleaning up: running molecule destroy for {scenario}" }, "CliRunner.invoke({target}) in test '{test}' reaches unpatched dangerous functions: {funcs}. Add @patch for each or patch the calling function.": { "bg": "CliRunner.invoke({target}) in test '{test}' reaches unpatched dangerous functions: {funcs}. Add @patch for each or patch the calling function.", @@ -3709,7 +1354,134 @@ "en": "CliRunner.invoke({target}) in test '{test}' reaches unpatched dangerous functions: {funcs}. Add @patch for each or patch the calling function.", "pl": "CliRunner.invoke({target}) in test '{test}' reaches unpatched dangerous functions: {funcs}. Add @patch for each or patch the calling function.", "ru": "CliRunner.invoke({target}) in test '{test}' reaches unpatched dangerous functions: {funcs}. Add @patch for each or patch the calling function.", - "zh": "CliRunner.invoke({target}) in test '{test}' reaches unpatched dangerous functions: {funcs}. Add @patch for each or patch the calling function." + "zh": "CliRunner.invoke({target}) in test '{test}' reaches unpatched dangerous functions: {funcs}. Add @patch for each or patch the calling function.", + "Cleaning up: running molecule destroy for {scenario}": "Cleaning up: running molecule destroy for {scenario}" + }, + "Cloned existing wiki.": { + "bg": "", + "de": "", + "en": "Cloned existing wiki.", + "pl": "", + "ru": "", + "zh": "", + "Cleaning up: running molecule destroy for {scenario}": "Cleaning up: running molecule destroy for {scenario}" + }, + "Cloning wiki repo...": { + "bg": "", + "de": "", + "en": "Cloning wiki repo...", + "pl": "", + "ru": "", + "zh": "", + "Cleaning up: running molecule destroy for {scenario}": "Cleaning up: running molecule destroy for {scenario}" + }, + "Command failed ({cmd}): {stderr}": { + "bg": "Command failed ({cmd}): {stderr}", + "de": "Command failed ({cmd}): {stderr}", + "en": "Command failed ({cmd}): {stderr}", + "pl": "Polecenie nie powiodło się ({cmd}): {stderr}", + "ru": "Command failed ({cmd}): {stderr}", + "zh": "Command failed ({cmd}): {stderr}", + "Cleaning up: running molecule destroy for {scenario}": "Cleaning up: running molecule destroy for {scenario}" + }, + "Commit message: {msg}": { + "bg": "Commit message: {msg}", + "de": "Commit message: {msg}", + "en": "Commit message: {msg}", + "pl": "Commit message: {msg}", + "ru": "Commit message: {msg}", + "zh": "Commit message: {msg}", + "Cleaning up: running molecule destroy for {scenario}": "Cleaning up: running molecule destroy for {scenario}" + }, + "Commit: {sha}": { + "bg": "Commit: {sha}", + "de": "Commit: {sha}", + "en": "Commit: {sha}", + "pl": "Commit: {sha}", + "ru": "Commit: {sha}", + "zh": "Commit: {sha}", + "Cleaning up: running molecule destroy for {scenario}": "Cleaning up: running molecule destroy for {scenario}" + }, + "Committing and pushing...": { + "bg": "", + "de": "", + "en": "Committing and pushing...", + "pl": "", + "ru": "", + "zh": "", + "Cleaning up: running molecule destroy for {scenario}": "Cleaning up: running molecule destroy for {scenario}" + }, + "Comparing {base}..{head} ({count} files changed)": { + "bg": "Comparing {base}..{head} ({count} files changed)", + "de": "Comparing {base}..{head} ({count} files changed)", + "en": "Comparing {base}..{head} ({count} files changed)", + "pl": "Porównywanie {base}..{head} ({count} zmienionych plików)", + "ru": "Comparing {base}..{head} ({count} files changed)", + "zh": "Comparing {base}..{head} ({count} files changed)", + "Cleaning up: running molecule destroy for {scenario}": "Cleaning up: running molecule destroy for {scenario}" + }, + "Configuration OK: [tool.devx] present, devx versions consistent.": { + "bg": "Конфигурацията е OK: [tool.devx] присъства, версиите на devx са консистентни.", + "de": "Konfiguration OK: [tool.devx] vorhanden, devx-Versionen konsistent.", + "en": "Configuration OK: [tool.devx] present, devx versions consistent.", + "pl": "Konfiguracja OK: [tool.devx] obecne, wersje devx spójne.", + "ru": "Конфигурация OK: [tool.devx] присутствует, версии devx согласованы.", + "zh": "配置正常: [tool.devx] 已存在, devx 版本一致。", + "Cleaning up: running molecule destroy for {scenario}": "Cleaning up: running molecule destroy for {scenario}" + }, + "Configuration validation failed.": { + "bg": "Configuration validation failed.", + "de": "Configuration validation failed.", + "en": "Configuration validation failed.", + "pl": "Configuration validation failed.", + "ru": "Configuration validation failed.", + "zh": "Configuration validation failed.", + "Cleaning up: running molecule destroy for {scenario}": "Cleaning up: running molecule destroy for {scenario}" + }, + "Configuring branch protection for {branch}...": { + "bg": "Конфигуриране на защита на клона {branch}...", + "de": "Konfiguriere Branch-Schutz für {branch}...", + "en": "Configuring branch protection for {branch}...", + "pl": "Konfigurowanie ochrony gałęzi dla {branch}...", + "ru": "Настройка защиты ветки {branch}...", + "zh": "正在配置 {branch} 的分支保护...", + "Cleaning up: running molecule destroy for {scenario}": "Cleaning up: running molecule destroy for {scenario}" + }, + "Configuring repository settings...": { + "bg": "Конфигуриране на настройките на хранилището...", + "de": "Repository-Einstellungen konfigurieren...", + "en": "Configuring repository settings...", + "pl": "Konfigurowanie ustawień repozytorium...", + "ru": "Настройка параметров репозитория...", + "zh": "正在配置仓库设置...", + "Cleaning up: running molecule destroy for {scenario}": "Cleaning up: running molecule destroy for {scenario}" + }, + "Configuring tea login '{name}' for {url}...": { + "bg": "Configuring tea login '{name}' for {url}...", + "de": "Configuring tea login '{name}' for {url}...", + "en": "Configuring tea login '{name}' for {url}...", + "pl": "Configuring tea login '{name}' for {url}...", + "ru": "Configuring tea login '{name}' for {url}...", + "zh": "Configuring tea login '{name}' for {url}...", + "Cleaning up: running molecule destroy for {scenario}": "Cleaning up: running molecule destroy for {scenario}" + }, + "Could not detect PR number. Use --pr to specify it explicitly,\nor run this command from a branch with an open PR.": { + "bg": "Could not detect PR number. Use --pr to specify it explicitly,\nor run this command from a branch with an open PR.", + "de": "Could not detect PR number. Use --pr to specify it explicitly,\nor run this command from a branch with an open PR.", + "en": "Could not detect PR number. Use --pr to specify it explicitly,\nor run this command from a branch with an open PR.", + "pl": "Could not detect PR number. Use --pr to specify it explicitly,\nor run this command from a branch with an open PR.", + "ru": "Could not detect PR number. Use --pr to specify it explicitly,\nor run this command from a branch with an open PR.", + "zh": "Could not detect PR number. Use --pr to specify it explicitly,\nor run this command from a branch with an open PR.", + "Cleaning up: running molecule destroy for {scenario}": "Cleaning up: running molecule destroy for {scenario}" + }, + "Could not detect current branch: {error}": { + "bg": "Не може да се определи текущия клон: {error}", + "de": "Aktueller Branch konnte nicht erkannt werden: {error}", + "en": "Could not detect current branch: {error}", + "pl": "Nie można wykryć bieżącej gałęzi: {error}", + "ru": "Не удалось определить текущую ветку: {error}", + "zh": "无法检测当前分支: {error}", + "Cleaning up: running molecule destroy for {scenario}": "Cleaning up: running molecule destroy for {scenario}" }, "Could not determine branch name from PR #{pr}": { "bg": "Could not determine branch name from PR #{pr}", @@ -3717,7 +1489,305 @@ "en": "Could not determine branch name from PR #{pr}", "pl": "Could not determine branch name from PR #{pr}", "ru": "Could not determine branch name from PR #{pr}", - "zh": "Could not determine branch name from PR #{pr}" + "zh": "Could not determine branch name from PR #{pr}", + "Cleaning up: running molecule destroy for {scenario}": "Cleaning up: running molecule destroy for {scenario}" + }, + "Could not determine head SHA for PR #{pr_number}.": { + "bg": "Could not determine head SHA for PR #{pr_number}.", + "de": "Could not determine head SHA for PR #{pr_number}.", + "en": "Could not determine head SHA for PR #{pr_number}.", + "pl": "Could not determine head SHA for PR #{pr_number}.", + "ru": "Could not determine head SHA for PR #{pr_number}.", + "zh": "Could not determine head SHA for PR #{pr_number}.", + "Cleaning up: running molecule destroy for {scenario}": "Cleaning up: running molecule destroy for {scenario}" + }, + "Could not determine repository. Set DEVX_REPO_OWNER and DEVX_REPO_NAME\nor GITHUB_REPOSITORY environment variables.": { + "bg": "Could not determine repository. Set DEVX_REPO_OWNER and DEVX_REPO_NAME\nor GITHUB_REPOSITORY environment variables.", + "de": "Could not determine repository. Set DEVX_REPO_OWNER and DEVX_REPO_NAME\nor GITHUB_REPOSITORY environment variables.", + "en": "Could not determine repository. Set DEVX_REPO_OWNER and DEVX_REPO_NAME\nor GITHUB_REPOSITORY environment variables.", + "pl": "Could not determine repository. Set DEVX_REPO_OWNER and DEVX_REPO_NAME\nor GITHUB_REPOSITORY environment variables.", + "ru": "Could not determine repository. Set DEVX_REPO_OWNER and DEVX_REPO_NAME\nor GITHUB_REPOSITORY environment variables.", + "zh": "Could not determine repository. Set DEVX_REPO_OWNER and DEVX_REPO_NAME\nor GITHUB_REPOSITORY environment variables.", + "Cleaning up: running molecule destroy for {scenario}": "Cleaning up: running molecule destroy for {scenario}" + }, + "Could not extract conventional commit message from PR commits.": { + "bg": "Could not extract conventional commit message from PR commits.", + "de": "Could not extract conventional commit message from PR commits.", + "en": "Could not extract conventional commit message from PR commits.", + "pl": "Nie udało się wyodrębnić konwencjonalnej wiadomości commit z commitów PR.", + "ru": "Could not extract conventional commit message from PR commits.", + "zh": "Could not extract conventional commit message from PR commits.", + "Cleaning up: running molecule destroy for {scenario}": "Cleaning up: running molecule destroy for {scenario}" + }, + "Could not fetch PR title from Gitea (CI_GITEA_TOKEN not set or PR not found).": { + "bg": "Could not fetch PR title from Gitea (CI_GITEA_TOKEN not set or PR not found).", + "de": "Could not fetch PR title from Gitea (CI_GITEA_TOKEN not set or PR not found).", + "en": "Could not fetch PR title from Gitea (CI_GITEA_TOKEN not set or PR not found).", + "pl": "Could not fetch PR title from Gitea (CI_GITEA_TOKEN not set or PR not found).", + "ru": "Could not fetch PR title from Gitea (CI_GITEA_TOKEN not set or PR not found).", + "zh": "Could not fetch PR title from Gitea (CI_GITEA_TOKEN not set or PR not found).", + "Cleaning up: running molecule destroy for {scenario}": "Cleaning up: running molecule destroy for {scenario}" + }, + "Could not find Vikunja task {task_id} in project {project_id}.": { + "bg": "Не е намерена Vikunja задача {task_id} в проект {project_id}.", + "de": "Vikunja-Task {task_id} in Projekt {project_id} nicht gefunden.", + "en": "Could not find Vikunja task {task_id} in project {project_id}.", + "pl": "Nie znaleziono zadania Vikunja {task_id} w projekcie {project_id}.", + "ru": "Не найдена задача Vikunja {task_id} в проекте {project_id}.", + "zh": "在项目 {project_id} 中找不到 Vikunja 任务 {task_id}。", + "Cleaning up: running molecule destroy for {scenario}": "Cleaning up: running molecule destroy for {scenario}" + }, + "Could not find Vikunja task {task_id} in project {project_id}. Every PR must have a corresponding Vikunja task.": { + "bg": "Could not find Vikunja task {task_id} in project {project_id}. Every PR must have a corresponding Vikunja task.", + "de": "Could not find Vikunja task {task_id} in project {project_id}. Every PR must have a corresponding Vikunja task.", + "en": "Could not find Vikunja task {task_id} in project {project_id}. Every PR must have a corresponding Vikunja task.", + "pl": "Nie znaleziono zadania Vikunja {task_id} w projekcie {project_id}. Każdy PR musi mieć odpowiadające zadanie Vikunja.", + "ru": "Could not find Vikunja task {task_id} in project {project_id}. Every PR must have a corresponding Vikunja task.", + "zh": "Could not find Vikunja task {task_id} in project {project_id}. Every PR must have a corresponding Vikunja task.", + "Cleaning up: running molecule destroy for {scenario}": "Cleaning up: running molecule destroy for {scenario}" + }, + "Could not find __version__ in {file}": { + "bg": "Could not find __version__ in {file}", + "de": "Could not find __version__ in {file}", + "en": "Could not find __version__ in {file}", + "pl": "Nie znaleziono __version__ w {file}", + "ru": "Could not find __version__ in {file}", + "zh": "Could not find __version__ in {file}", + "Cleaning up: running molecule destroy for {scenario}": "Cleaning up: running molecule destroy for {scenario}" + }, + "Could not parse test execution time from output.": { + "bg": "Could not parse test execution time from output.", + "de": "Could not parse test execution time from output.", + "en": "Could not parse test execution time from output.", + "pl": "Nie udało się przeanalizować czasu wykonania testu z wyjścia.", + "ru": "Could not parse test execution time from output.", + "zh": "Could not parse test execution time from output.", + "Cleaning up: running molecule destroy for {scenario}": "Cleaning up: running molecule destroy for {scenario}" + }, + "Created PR #{index}: {title}\n {url}": { + "bg": "Създаден PR #{index}: {title}\n {url}", + "de": "PR erstellt #{index}: {title}\n {url}", + "en": "Created PR #{index}: {title}\n {url}", + "pl": "Utworzono PR #{index}: {title}\n {url}", + "ru": "Создан PR #{index}: {title}\n {url}", + "zh": "已创建 PR #{index}: {title}\n {url}", + "Cleaning up: running molecule destroy for {scenario}": "Cleaning up: running molecule destroy for {scenario}" + }, + "Created Vikunja task: {identifier} (id={task_id})": { + "bg": "Създадена Vikunja задача: {identifier} (id={task_id})", + "de": "Vikunja-Task erstellt: {identifier} (id={task_id})", + "en": "Created Vikunja task: {identifier} (id={task_id})", + "pl": "Utworzono zadanie Vikunja: {identifier} (id={task_id})", + "ru": "Создана задача Vikunja: {identifier} (id={task_id})", + "zh": "已创建 Vikunja 任务: {identifier} (id={task_id})", + "Cleaning up: running molecule destroy for {scenario}": "Cleaning up: running molecule destroy for {scenario}" + }, + "Created issue #{issue_id}: {title}": { + "bg": "Created issue #{issue_id}: {title}", + "de": "Created issue #{issue_id}: {title}", + "en": "Created issue #{issue_id}: {title}", + "pl": "Utworzono zgłoszenie #{issue_id}: {title}", + "ru": "Created issue #{issue_id}: {title}", + "zh": "Created issue #{issue_id}: {title}", + "Cleaning up: running molecule destroy for {scenario}": "Cleaning up: running molecule destroy for {scenario}" + }, + "Created release commit.": { + "bg": "Created release commit.", + "de": "Created release commit.", + "en": "Created release commit.", + "pl": "Utworzono commit wydania.", + "ru": "Created release commit.", + "zh": "Created release commit.", + "Cleaning up: running molecule destroy for {scenario}": "Cleaning up: running molecule destroy for {scenario}" + }, + "Dependencies must have documentation comments.": { + "bg": "Dependencies must have documentation comments.", + "de": "Dependencies must have documentation comments.", + "en": "Dependencies must have documentation comments.", + "pl": "Dependencies must have documentation comments.", + "ru": "Dependencies must have documentation comments.", + "zh": "Dependencies must have documentation comments.", + "Cleaning up: running molecule destroy for {scenario}": "Cleaning up: running molecule destroy for {scenario}" + }, + "Directory to scan (default: tests/integration). Can be repeated.": { + "bg": "Директория за сканиране (по подразбиране: tests/integration). Може да се повтаря.", + "de": "Zu scannendes Verzeichnis (Standard: tests/integration). Kann wiederholt werden.", + "en": "Directory to scan (default: tests/integration). Can be repeated.", + "pl": "Katalog do skanowania (domyślnie: tests/integration). Można powtarzać.", + "ru": "Директория для сканирования (по умолчанию: tests/integration). Можно повторять.", + "zh": "要扫描的目录(默认:tests/integration)。可重复。", + "Cleaning up: running molecule destroy for {scenario}": "Cleaning up: running molecule destroy for {scenario}" + }, + "Docker daemon already running": { + "bg": "Докер демонът вече работи", + "de": "Docker-Daemon läuft bereits", + "en": "Docker daemon already running", + "pl": "Demon Docker już uruchomiony", + "ru": "Демон Docker уже работает", + "zh": "Docker 守护进程已在运行", + "Cleaning up: running molecule destroy for {scenario}": "Cleaning up: running molecule destroy for {scenario}" + }, + "Docker daemon failed to start": { + "bg": "Docker daemon failed to start", + "de": "Docker-Daemon konnte nicht gestartet werden", + "en": "Docker daemon failed to start", + "pl": "Nie udało się uruchomić demona Docker", + "ru": "Не удалось запустить Docker-демон", + "zh": "Docker 守护进程启动失败", + "Cleaning up: running molecule destroy for {scenario}": "Cleaning up: running molecule destroy for {scenario}" + }, + "Docker daemon started": { + "bg": "Docker daemon started", + "de": "Docker-Daemon gestartet", + "en": "Docker daemon started", + "pl": "Demon Docker uruchomiony", + "ru": "Docker-демон запущен", + "zh": "Docker 守护进程已启动", + "Cleaning up: running molecule destroy for {scenario}": "Cleaning up: running molecule destroy for {scenario}" + }, + "Dockerfile not found: {path}": { + "bg": "Dockerfile not found: {path}", + "de": "Dockerfile not found: {path}", + "en": "Dockerfile not found: {path}", + "pl": "Dockerfile not found: {path}", + "ru": "Dockerfile not found: {path}", + "zh": "Dockerfile not found: {path}", + "Cleaning up: running molecule destroy for {scenario}": "Cleaning up: running molecule destroy for {scenario}" + }, + "Dry-run mode: on branch '{branch}' (not master). Some checks may behave differently.": { + "bg": "Dry-run mode: on branch '{branch}' (not master). Some checks may behave differently.", + "de": "Dry-run mode: on branch '{branch}' (not master). Some checks may behave differently.", + "en": "Dry-run mode: on branch '{branch}' (not master). Some checks may behave differently.", + "pl": "Tryb dry-run: na gałęzi '{branch}' (nie master). Niektóre kontrole mogą zachowywać się inaczej.", + "ru": "Dry-run mode: on branch '{branch}' (not master). Some checks may behave differently.", + "zh": "Dry-run mode: on branch '{branch}' (not master). Some checks may behave differently.", + "Cleaning up: running molecule destroy for {scenario}": "Cleaning up: running molecule destroy for {scenario}" + }, + "ERROR: CI_GITEA_TOKEN is not set.": { + "bg": "ГРЕШКА: CI_GITEA_TOKEN не е зададен.", + "de": "FEHLER: CI_GITEA_TOKEN ist nicht gesetzt.", + "en": "ERROR: CI_GITEA_TOKEN is not set.", + "pl": "BŁĄD: CI_GITEA_TOKEN nie jest ustawiony.", + "ru": "ОШИБКА: CI_GITEA_TOKEN не задан.", + "zh": "错误:未设置 CI_GITEA_TOKEN。", + "Cleaning up: running molecule destroy for {scenario}": "Cleaning up: running molecule destroy for {scenario}" + }, + "ERROR: Repository name not specified. Use --repo or set DEVX_REPO_NAME.": { + "bg": "ГРЕШКА: Името на хранилището не е указано. Използвайте --repo или задайте DEVX_REPO_NAME.", + "de": "FEHLER: Repository-Name nicht angegeben. Verwenden Sie --repo oder setzen Sie DEVX_REPO_NAME.", + "en": "ERROR: Repository name not specified. Use --repo or set DEVX_REPO_NAME.", + "pl": "BŁĄD: Nazwa repozytorium nie jest określona. Użyj --repo lub ustaw DEVX_REPO_NAME.", + "ru": "ОШИБКА: Имя репозитория не указано. Используйте --repo или задайте DEVX_REPO_NAME.", + "zh": "错误:未指定仓库名称。请使用 --repo 或设置 DEVX_REPO_NAME。", + "Cleaning up: running molecule destroy for {scenario}": "Cleaning up: running molecule destroy for {scenario}" + }, + "ERROR: Tag consistency check failed. Existing tags are misaligned:": { + "bg": "ERROR: Tag consistency check failed. Existing tags are misaligned:", + "de": "ERROR: Tag consistency check failed. Existing tags are misaligned:", + "en": "ERROR: Tag consistency check failed. Existing tags are misaligned:", + "pl": "BŁĄD: Kontrola zgodności tagów nie powiodła się. Istniejące tagi są niezgodne:", + "ru": "ERROR: Tag consistency check failed. Existing tags are misaligned:", + "zh": "ERROR: Tag consistency check failed. Existing tags are misaligned:", + "Cleaning up: running molecule destroy for {scenario}": "Cleaning up: running molecule destroy for {scenario}" + }, + "ERROR: VIKUNJA_TOKEN is not set.": { + "bg": "ГРЕШКА: VIKUNJA_TOKEN не е зададен.", + "de": "FEHLER: VIKUNJA_TOKEN ist nicht gesetzt.", + "en": "ERROR: VIKUNJA_TOKEN is not set.", + "pl": "BŁĄD: VIKUNJA_TOKEN nie jest ustawiony.", + "ru": "ОШИБКА: VIKUNJA_TOKEN не задан.", + "zh": "错误:未设置 VIKUNJA_TOKEN。", + "Cleaning up: running molecule destroy for {scenario}": "Cleaning up: running molecule destroy for {scenario}" + }, + "ERROR: mapping.json not found at {path}": { + "bg": "ERROR: mapping.json not found at {path}", + "de": "ERROR: mapping.json not found at {path}", + "en": "ERROR: mapping.json not found at {path}", + "pl": "BŁĄD: mapping.json nie znaleziono w {path}", + "ru": "ERROR: mapping.json not found at {path}", + "zh": "ERROR: mapping.json not found at {path}", + "Cleaning up: running molecule destroy for {scenario}": "Cleaning up: running molecule destroy for {scenario}" + }, + "Each item must be a string or an object with 'id', got {type}": { + "bg": "Всеки елемент трябва да е низ или обект с 'id', получено {type}", + "de": "Jedes Element muss ein String oder ein Objekt mit 'id' sein, erhalten {type}", + "en": "Each item must be a string or an object with 'id', got {type}", + "pl": "Każdy element musi być ciągiem lub obiektem z 'id', otrzymano {type}", + "ru": "Каждый элемент должен быть строкой или объектом с 'id', получено {type}", + "zh": "每个元素必须是字符串或带有 'id' 的对象,得到 {type}", + "Cleaning up: running molecule destroy for {scenario}": "Cleaning up: running molecule destroy for {scenario}" + }, + "Ensuring standard labels...": { + "bg": "Ensuring standard labels...", + "de": "Ensuring standard labels...", + "en": "Ensuring standard labels...", + "pl": "Ensuring standard labels...", + "ru": "Ensuring standard labels...", + "zh": "Ensuring standard labels...", + "Cleaning up: running molecule destroy for {scenario}": "Cleaning up: running molecule destroy for {scenario}" + }, + "FAIL: Could not clone wiki for verification.": { + "bg": "", + "de": "", + "en": "FAIL: Could not clone wiki for verification.", + "pl": "", + "ru": "", + "zh": "", + "Cleaning up: running molecule destroy for {scenario}": "Cleaning up: running molecule destroy for {scenario}" + }, + "FAIL: {n} documentation issues found:": { + "bg": "FAIL: {n} documentation issues found:", + "de": "FAIL: {n} documentation issues found:", + "en": "FAIL: {n} documentation issues found:", + "pl": "FAIL: {n} documentation issues found:", + "ru": "FAIL: {n} documentation issues found:", + "zh": "FAIL: {n} documentation issues found:", + "Cleaning up: running molecule destroy for {scenario}": "Cleaning up: running molecule destroy for {scenario}" + }, + "FAILED: {count} undocumented dependency/ies": { + "bg": "FAILED: {count} undocumented dependency/ies", + "de": "FAILED: {count} undocumented dependency/ies", + "en": "FAILED: {count} undocumented dependency/ies", + "pl": "FAILED: {count} undocumented dependency/ies", + "ru": "FAILED: {count} undocumented dependency/ies", + "zh": "FAILED: {count} undocumented dependency/ies", + "Cleaning up: running molecule destroy for {scenario}": "Cleaning up: running molecule destroy for {scenario}" + }, + "FAILED: {pair} exited with code {code}": { + "bg": "FAILED: {pair} exited with code {code}", + "de": "FAILED: {pair} exited with code {code}", + "en": "FAILED: {pair} exited with code {code}", + "pl": "NIEUDANE: {pair} zakończone kodem {code}", + "ru": "FAILED: {pair} exited with code {code}", + "zh": "FAILED: {pair} exited with code {code}", + "Cleaning up: running molecule destroy for {scenario}": "Cleaning up: running molecule destroy for {scenario}" + }, + "Failed images: {names}": { + "bg": "Failed images: {names}", + "de": "Failed images: {names}", + "en": "Failed images: {names}", + "pl": "Failed images: {names}", + "ru": "Failed images: {names}", + "zh": "Failed images: {names}", + "Cleaning up: running molecule destroy for {scenario}": "Cleaning up: running molecule destroy for {scenario}" + }, + "Failed to create issue via tea: {error}": { + "bg": "Failed to create issue via tea: {error}", + "de": "Failed to create issue via tea: {error}", + "en": "Failed to create issue via tea: {error}", + "pl": "Nie udało się utworzyć zgłoszenia przez tea: {error}", + "ru": "Failed to create issue via tea: {error}", + "zh": "Failed to create issue via tea: {error}", + "Cleaning up: running molecule destroy for {scenario}": "Cleaning up: running molecule destroy for {scenario}" + }, + "Failed to delete {count} image version(s)": { + "bg": "Failed to delete {count} image version(s)", + "de": "Failed to delete {count} image version(s)", + "en": "Failed to delete {count} image version(s)", + "pl": "Failed to delete {count} image version(s)", + "ru": "Failed to delete {count} image version(s)", + "zh": "Failed to delete {count} image version(s)", + "Cleaning up: running molecule destroy for {scenario}": "Cleaning up: running molecule destroy for {scenario}" }, "Failed to fetch PR #{pr}: {error}": { "bg": "Failed to fetch PR #{pr}: {error}", @@ -3725,7 +1795,35 @@ "en": "Failed to fetch PR #{pr}: {error}", "pl": "Failed to fetch PR #{pr}: {error}", "ru": "Failed to fetch PR #{pr}: {error}", - "zh": "Failed to fetch PR #{pr}: {error}" + "zh": "Failed to fetch PR #{pr}: {error}", + "Cleaning up: running molecule destroy for {scenario}": "Cleaning up: running molecule destroy for {scenario}" + }, + "Failed to list versions for {name}: {error}": { + "bg": "Failed to list versions for {name}: {error}", + "de": "Failed to list versions for {name}: {error}", + "en": "Failed to list versions for {name}: {error}", + "pl": "Failed to list versions for {name}: {error}", + "ru": "Failed to list versions for {name}: {error}", + "zh": "Failed to list versions for {name}: {error}", + "Cleaning up: running molecule destroy for {scenario}": "Cleaning up: running molecule destroy for {scenario}" + }, + "Failed to push release commit after 3 attempts. Manual intervention required.": { + "bg": "Failed to push release commit after 3 attempts. Manual intervention required.", + "de": "Failed to push release commit after 3 attempts. Manual intervention required.", + "en": "Failed to push release commit after 3 attempts. Manual intervention required.", + "pl": "Failed to push release commit after 3 attempts. Manual intervention required.", + "ru": "Failed to push release commit after 3 attempts. Manual intervention required.", + "zh": "Failed to push release commit after 3 attempts. Manual intervention required.", + "Cleaning up: running molecule destroy for {scenario}": "Cleaning up: running molecule destroy for {scenario}" + }, + "Failed to start ssh-agent: {error}": { + "bg": "Неуспешно стартиране на ssh-agent: {error}", + "de": "Starten von ssh-agent fehlgeschlagen: {error}", + "en": "Failed to start ssh-agent: {error}", + "pl": "Nie udało się uruchomić ssh-agent: {error}", + "ru": "Не удалось запустить ssh-agent: {error}", + "zh": "启动 ssh-agent 失败: {error}", + "Cleaning up: running molecule destroy for {scenario}": "Cleaning up: running molecule destroy for {scenario}" }, "Failed to update PR #{pr}: {error}": { "bg": "Failed to update PR #{pr}: {error}", @@ -3733,7 +1831,35 @@ "en": "Failed to update PR #{pr}: {error}", "pl": "Failed to update PR #{pr}: {error}", "ru": "Failed to update PR #{pr}: {error}", - "zh": "Failed to update PR #{pr}: {error}" + "zh": "Failed to update PR #{pr}: {error}", + "Cleaning up: running molecule destroy for {scenario}": "Cleaning up: running molecule destroy for {scenario}" + }, + "Fetch failed: {error}": { + "bg": "Fetch failed: {error}", + "de": "Fetch failed: {error}", + "en": "Fetch failed: {error}", + "pl": "Fetch failed: {error}", + "ru": "Fetch failed: {error}", + "zh": "Fetch failed: {error}", + "Cleaning up: running molecule destroy for {scenario}": "Cleaning up: running molecule destroy for {scenario}" + }, + "Fetching logs for PR #{pr_number}...": { + "bg": "Fetching logs for PR #{pr_number}...", + "de": "Fetching logs for PR #{pr_number}...", + "en": "Fetching logs for PR #{pr_number}...", + "pl": "Fetching logs for PR #{pr_number}...", + "ru": "Fetching logs for PR #{pr_number}...", + "zh": "Fetching logs for PR #{pr_number}...", + "Cleaning up: running molecule destroy for {scenario}": "Cleaning up: running molecule destroy for {scenario}" + }, + "Fetching origin/master...": { + "bg": "Fetching origin/master...", + "de": "Fetching origin/master...", + "en": "Fetching origin/master...", + "pl": "Fetching origin/master...", + "ru": "Fetching origin/master...", + "zh": "Fetching origin/master...", + "Cleaning up: running molecule destroy for {scenario}": "Cleaning up: running molecule destroy for {scenario}" }, "Fix: add @patch decorators or with patch() context managers for subprocess/time.sleep calls, or patch the calling function.": { "bg": "Fix: add @patch decorators or with patch() context managers for subprocess/time.sleep calls, or patch the calling function.", @@ -3741,7 +1867,8 @@ "en": "Fix: add @patch decorators or with patch() context managers for subprocess/time.sleep calls, or patch the calling function.", "pl": "Fix: add @patch decorators or with patch() context managers for subprocess/time.sleep calls, or patch the calling function.", "ru": "Fix: add @patch decorators or with patch() context managers for subprocess/time.sleep calls, or patch the calling function.", - "zh": "Fix: add @patch decorators or with patch() context managers for subprocess/time.sleep calls, or patch the calling function." + "zh": "Fix: add @patch decorators or with patch() context managers for subprocess/time.sleep calls, or patch the calling function.", + "Cleaning up: running molecule destroy for {scenario}": "Cleaning up: running molecule destroy for {scenario}" }, "Fix: add @patch decorators or with patch() context managers for subprocess/time.sleep calls, or patch the calling function.\n": { "bg": "Fix: add @patch decorators or with patch() context managers for subprocess/time.sleep calls, or patch the calling function.\n", @@ -3749,7 +1876,197 @@ "en": "Fix: add @patch decorators or with patch() context managers for subprocess/time.sleep calls, or patch the calling function.\n", "pl": "Fix: add @patch decorators or with patch() context managers for subprocess/time.sleep calls, or patch the calling function.\n", "ru": "Fix: add @patch decorators or with patch() context managers for subprocess/time.sleep calls, or patch the calling function.\n", - "zh": "Fix: add @patch decorators or with patch() context managers for subprocess/time.sleep calls, or patch the calling function.\n" + "zh": "Fix: add @patch decorators or with patch() context managers for subprocess/time.sleep calls, or patch the calling function.\n", + "Cleaning up: running molecule destroy for {scenario}": "Cleaning up: running molecule destroy for {scenario}" + }, + "Force-push failed:\n{error}\nThe remote may have unexpected commits. Fetch and try again.": { + "bg": "Force-push failed:\n{error}\nThe remote may have unexpected commits. Fetch and try again.", + "de": "Force-push failed:\n{error}\nThe remote may have unexpected commits. Fetch and try again.", + "en": "Force-push failed:\n{error}\nThe remote may have unexpected commits. Fetch and try again.", + "pl": "Force-push failed:\n{error}\nThe remote may have unexpected commits. Fetch and try again.", + "ru": "Force-push failed:\n{error}\nThe remote may have unexpected commits. Fetch and try again.", + "zh": "Force-push failed:\n{error}\nThe remote may have unexpected commits. Fetch and try again.", + "Cleaning up: running molecule destroy for {scenario}": "Cleaning up: running molecule destroy for {scenario}" + }, + "Force-pushing...": { + "bg": "Force-pushing...", + "de": "Force-pushing...", + "en": "Force-pushing...", + "pl": "Force-pushing...", + "ru": "Force-pushing...", + "zh": "Force-pushing...", + "Cleaning up: running molecule destroy for {scenario}": "Cleaning up: running molecule destroy for {scenario}" + }, + "Found {count} mutable global(s) — use factory functions or pytest fixtures.": { + "bg": "Found {count} mutable global(s) — use factory functions or pytest fixtures.", + "de": "Found {count} mutable global(s) — use factory functions or pytest fixtures.", + "en": "Found {count} mutable global(s) — use factory functions or pytest fixtures.", + "pl": "Found {count} mutable global(s) — use factory functions or pytest fixtures.", + "ru": "Found {count} mutable global(s) — use factory functions or pytest fixtures.", + "zh": "Found {count} mutable global(s) — use factory functions or pytest fixtures.", + "Cleaning up: running molecule destroy for {scenario}": "Cleaning up: running molecule destroy for {scenario}" + }, + "Found {count} stale documentation reference(s)": { + "bg": "Found {count} stale documentation reference(s)", + "de": "Found {count} stale documentation reference(s)", + "en": "Found {count} stale documentation reference(s)", + "pl": "Found {count} stale documentation reference(s)", + "ru": "Found {count} stale documentation reference(s)", + "zh": "Found {count} stale documentation reference(s)", + "Cleaning up: running molecule destroy for {scenario}": "Cleaning up: running molecule destroy for {scenario}" + }, + "Found {count} unsafe identity check(s) in integration tests.": { + "bg": "Намерени са {count} небрежни проверки за идентичност в интеграционните тестове.", + "de": "{count} unsichere Identitätsprüfung(en) in Integrationstests gefunden.", + "en": "Found {count} unsafe identity check(s) in integration tests.", + "pl": "Znaleziono {count} niebezpiecznych sprawdzeń tożsamości w testach integracyjnych.", + "ru": "Найдено {count} небезопасных проверок идентичности в интеграционных тестах.", + "zh": "在集成测试中发现 {count} 个不安全的身份检查。", + "Cleaning up: running molecule destroy for {scenario}": "Cleaning up: running molecule destroy for {scenario}" + }, + "Found {count} version(s):": { + "bg": "Found {count} version(s):", + "de": "Found {count} version(s):", + "en": "Found {count} version(s):", + "pl": "Found {count} version(s):", + "ru": "Found {count} version(s):", + "zh": "Found {count} version(s):", + "Cleaning up: running molecule destroy for {scenario}": "Cleaning up: running molecule destroy for {scenario}" + }, + "GITEA_URL/CI_GITEA_TOKEN/RUN_ID not set; running without cross-runner cancellation.": { + "bg": "GITEA_URL/CI_GITEA_TOKEN/RUN_ID not set; running without cross-runner cancellation.", + "de": "GITEA_URL/CI_GITEA_TOKEN/RUN_ID not set; running without cross-runner cancellation.", + "en": "GITEA_URL/CI_GITEA_TOKEN/RUN_ID not set; running without cross-runner cancellation.", + "pl": "GITEA_URL/CI_GITEA_TOKEN/RUN_ID nie ustawione; uruchamianie bez anulowania między runnerami.", + "ru": "GITEA_URL/CI_GITEA_TOKEN/RUN_ID not set; running without cross-runner cancellation.", + "zh": "GITEA_URL/CI_GITEA_TOKEN/RUN_ID not set; running without cross-runner cancellation.", + "Cleaning up: running molecule destroy for {scenario}": "Cleaning up: running molecule destroy for {scenario}" + }, + "Generated {count} badge files": { + "bg": "Generated {count} badge files", + "de": "Generated {count} badge files", + "en": "Generated {count} badge files", + "pl": "Generated {count} badge files", + "ru": "Generated {count} badge files", + "zh": "Generated {count} badge files", + "Cleaning up: running molecule destroy for {scenario}": "Cleaning up: running molecule destroy for {scenario}" + }, + "Generated {file} with prefix '{prefix}'.": { + "bg": "Generated {file} with prefix '{prefix}'.", + "de": "Generated {file} with prefix '{prefix}'.", + "en": "Generated {file} with prefix '{prefix}'.", + "pl": "Wygenerowano {file} z prefiksem '{prefix}'.", + "ru": "Generated {file} with prefix '{prefix}'.", + "zh": "Generated {file} with prefix '{prefix}'.", + "Cleaning up: running molecule destroy for {scenario}": "Cleaning up: running molecule destroy for {scenario}" + }, + "Generating badges in {out}...": { + "bg": "Generating badges in {out}...", + "de": "Generating badges in {out}...", + "en": "Generating badges in {out}...", + "pl": "Generating badges in {out}...", + "ru": "Generating badges in {out}...", + "zh": "Generating badges in {out}...", + "Cleaning up: running molecule destroy for {scenario}": "Cleaning up: running molecule destroy for {scenario}" + }, + "Git tag or ref that was deployed": { + "bg": "Git таг или референция, която беше разгърната", + "de": "Git-Tag oder Ref, der bereitgestellt wurde", + "en": "Git tag or ref that was deployed", + "pl": "Tag Git lub ref, który został wdrożony", + "ru": "Git-тег или ссылка, которые были развёрнуты", + "zh": "已部署的 Git 标签或引用", + "Cleaning up: running molecule destroy for {scenario}": "Cleaning up: running molecule destroy for {scenario}" + }, + "Git tag to deploy (e.g. v0.28.1).": { + "bg": "Git таг за разгръщане (напр. v0.28.1).", + "de": "Git-Tag für Bereitstellung (z.B. v0.28.1).", + "en": "Git tag to deploy (e.g. v0.28.1).", + "pl": "Tag Git do wdrożenia (np. v0.28.1).", + "ru": "Git-тег для развёртывания (напр. v0.28.1).", + "zh": "要部署的 Git 标签(例如 v0.28.1)。", + "Cleaning up: running molecule destroy for {scenario}": "Cleaning up: running molecule destroy for {scenario}" + }, + "Gitea API token not set. Set one of: {names}": { + "bg": "Gitea API token not set. Set one of: {names}", + "de": "Gitea API token not set. Set one of: {names}", + "en": "Gitea API token not set. Set one of: {names}", + "pl": "Gitea API token not set. Set one of: {names}", + "ru": "Gitea API token not set. Set one of: {names}", + "zh": "Gitea API token not set. Set one of: {names}", + "Cleaning up: running molecule destroy for {scenario}": "Cleaning up: running molecule destroy for {scenario}" + }, + "Gitea PyPI registry: {tag} already published — continuing.": { + "bg": "Gitea PyPI registry: {tag} вече е публикуван — продължава.", + "de": "Gitea PyPI-Registry: {tag} bereits veröffentlicht — wird fortgesetzt.", + "en": "Gitea PyPI registry: {tag} already published — continuing.", + "pl": "Gitea PyPI registry: {tag} już opublikowano — kontynuacja.", + "ru": "Gitea PyPI registry: {tag} уже опубликован — продолжаем.", + "zh": "Gitea PyPI registry: {tag} 已发布 — 继续。", + "Cleaning up: running molecule destroy for {scenario}": "Cleaning up: running molecule destroy for {scenario}" + }, + "Gitea release {tag} already exists — skipping creation.": { + "bg": "Gitea release {tag} вече съществува — прескачане на създаването.", + "de": "Gitea-Release {tag} existiert bereits — Erstellung übersprungen.", + "en": "Gitea release {tag} already exists — skipping creation.", + "pl": "Wydanie Gitea {tag} już istnieje — pomijanie tworzenia.", + "ru": "Gitea release {tag} уже существует — пропуск создания.", + "zh": "Gitea release {tag} 已存在 — 跳过创建。", + "Cleaning up: running molecule destroy for {scenario}": "Cleaning up: running molecule destroy for {scenario}" + }, + "HEAD is a release commit ('{msg}') but tag {tag} is missing. Recovering by creating tag.": { + "bg": "HEAD is a release commit ('{msg}') but tag {tag} is missing. Recovering by creating tag.", + "de": "HEAD is a release commit ('{msg}') but tag {tag} is missing. Recovering by creating tag.", + "en": "HEAD is a release commit ('{msg}') but tag {tag} is missing. Recovering by creating tag.", + "pl": "HEAD jest commitem wydania ('{msg}') ale tag {tag} brakuje. Naprawa przez utworzenie tagu.", + "ru": "HEAD is a release commit ('{msg}') but tag {tag} is missing. Recovering by creating tag.", + "zh": "HEAD is a release commit ('{msg}') but tag {tag} is missing. Recovering by creating tag.", + "Cleaning up: running molecule destroy for {scenario}": "Cleaning up: running molecule destroy for {scenario}" + }, + "HEAD is a release commit for v{version} but tag {tag} points to a different commit ({tag_commit} vs HEAD {head_commit}). This indicates a tag/commit misalignment.": { + "bg": "HEAD is a release commit for v{version} but tag {tag} points to a different commit ({tag_commit} vs HEAD {head_commit}). This indicates a tag/commit misalignment.", + "de": "HEAD is a release commit for v{version} but tag {tag} points to a different commit ({tag_commit} vs HEAD {head_commit}). This indicates a tag/commit misalignment.", + "en": "HEAD is a release commit for v{version} but tag {tag} points to a different commit ({tag_commit} vs HEAD {head_commit}). This indicates a tag/commit misalignment.", + "pl": "HEAD jest commitem wydania dla v{version} ale tag {tag} wskazuje na inny commit ({tag_commit} vs HEAD {head_commit}). Wskazuje to na niezgodność tag/commit.", + "ru": "HEAD is a release commit for v{version} but tag {tag} points to a different commit ({tag_commit} vs HEAD {head_commit}). This indicates a tag/commit misalignment.", + "zh": "HEAD is a release commit for v{version} but tag {tag} points to a different commit ({tag_commit} vs HEAD {head_commit}). This indicates a tag/commit misalignment.", + "Cleaning up: running molecule destroy for {scenario}": "Cleaning up: running molecule destroy for {scenario}" + }, + "HEAD is already a release commit ('{msg}') and tag {tag} points to HEAD. Skipping.": { + "bg": "HEAD is already a release commit ('{msg}') and tag {tag} points to HEAD. Skipping.", + "de": "HEAD is already a release commit ('{msg}') and tag {tag} points to HEAD. Skipping.", + "en": "HEAD is already a release commit ('{msg}') and tag {tag} points to HEAD. Skipping.", + "pl": "HEAD jest już commitem wydania ('{msg}') a tag {tag} wskazuje na HEAD. Pomijanie.", + "ru": "HEAD is already a release commit ('{msg}') and tag {tag} points to HEAD. Skipping.", + "zh": "HEAD is already a release commit ('{msg}') and tag {tag} points to HEAD. Skipping.", + "Cleaning up: running molecule destroy for {scenario}": "Cleaning up: running molecule destroy for {scenario}" + }, + "HEAD is not a release commit for {tag} — skipping publish.": { + "bg": "HEAD is not a release commit for {tag} — skipping publish.", + "de": "HEAD is not a release commit for {tag} — skipping publish.", + "en": "HEAD is not a release commit for {tag} — skipping publish.", + "pl": "HEAD nie jest commitem wydania dla {tag} — pomijanie publikacji.", + "ru": "HEAD is not a release commit for {tag} — skipping publish.", + "zh": "HEAD is not a release commit for {tag} — skipping publish.", + "Cleaning up: running molecule destroy for {scenario}": "Cleaning up: running molecule destroy for {scenario}" + }, + "HTTP error: {status} — {message}": { + "bg": "HTTP грешка: {status} — {message}", + "de": "HTTP-Fehler: {status} — {message}", + "en": "HTTP error: {status} — {message}", + "pl": "Błąd HTTP: {status} — {message}", + "ru": "Ошибка HTTP: {status} — {message}", + "zh": "HTTP 错误: {status} — {message}", + "Cleaning up: running molecule destroy for {scenario}": "Cleaning up: running molecule destroy for {scenario}" + }, + "HTTP {status} Forbidden — your token lacks admin rights.\nMake sure the token belongs to a repo owner or organisation admin.\nAlternatively, configure branch protection manually in Settings → Branches.": { + "bg": "HTTP {status} Забранено — вашият токен няма администраторски права.\nУверете се, че токенът принадлежи на собственик на хранилище или администратор на организация.\nАлтернативно, конфигурирайте защитата на клона ръчно в Настройки → Клонове.", + "de": "HTTP {status} Verboten — Ihr Token hat keine Admin-Rechte.\nStellen Sie sicher, dass das Token einem Repository-Besitzer oder Organisations-Admin gehört.\nAlternativ können Sie den Branch-Schutz manuell unter Einstellungen → Branches konfigurieren.", + "en": "HTTP {status} Forbidden — your token lacks admin rights.\nMake sure the token belongs to a repo owner or organisation admin.\nAlternatively, configure branch protection manually in Settings → Branches.", + "pl": "HTTP {status} Forbidden — twój token nie ma uprawnień administratora.\nUpewnij się, że token należy do właściciela repozytorium lub administratora organizacji.\nAlternatywnie skonfiguruj ochronę gałęzi ręcznie w Ustawienia → Gałęzie.", + "ru": "HTTP {status} Запрещено — у вашего токена нет прав администратора.\nУбедитесь, что токен принадлежит владельцу репозитория или администратору организации.\nЛибо настройте защиту ветки вручную в разделе Настройки → Ветки.", + "zh": "HTTP {status} 禁止访问 — 您的令牌缺少管理员权限。\n请确保令牌属于仓库所有者或组织管理员。\n或者,您可以在 设置 → 分支 中手动配置分支保护。", + "Cleaning up: running molecule destroy for {scenario}": "Cleaning up: running molecule destroy for {scenario}" }, "Heavy import '{mod}' (~{ms:.0f}ms) at module level — this slows test collection for all tests. Move inside test functions or use lazy import.": { "bg": "Heavy import '{mod}' (~{ms:.0f}ms) at module level — this slows test collection for all tests. Move inside test functions or use lazy import.", @@ -3757,7 +2074,404 @@ "en": "Heavy import '{mod}' (~{ms:.0f}ms) at module level — this slows test collection for all tests. Move inside test functions or use lazy import.", "pl": "Heavy import '{mod}' (~{ms:.0f}ms) at module level — this slows test collection for all tests. Move inside test functions or use lazy import.", "ru": "Heavy import '{mod}' (~{ms:.0f}ms) at module level — this slows test collection for all tests. Move inside test functions or use lazy import.", - "zh": "Heavy import '{mod}' (~{ms:.0f}ms) at module level — this slows test collection for all tests. Move inside test functions or use lazy import." + "zh": "Heavy import '{mod}' (~{ms:.0f}ms) at module level — this slows test collection for all tests. Move inside test functions or use lazy import.", + "Cleaning up: running molecule destroy for {scenario}": "Cleaning up: running molecule destroy for {scenario}" + }, + "Host Docker not available, starting local dockerd...": { + "bg": "Хост Docker не е наличен, стартиране на локален dockerd...", + "de": "Host-Docker nicht verfügbar, lokaler dockerd wird gestartet...", + "en": "Host Docker not available, starting local dockerd...", + "pl": "Host Docker niedostępny, uruchamianie lokalnego dockerd...", + "ru": "Хост Docker недоступен, запускается локальный dockerd...", + "zh": "主机 Docker 不可用,正在启动本地 dockerd...", + "Cleaning up: running molecule destroy for {scenario}": "Cleaning up: running molecule destroy for {scenario}" + }, + "Image 'tags' must be a list": { + "bg": "Image 'tags' must be a list", + "de": "Image 'tags' must be a list", + "en": "Image 'tags' must be a list", + "pl": "Image 'tags' must be a list", + "ru": "Image 'tags' must be a list", + "zh": "Image 'tags' must be a list", + "Cleaning up: running molecule destroy for {scenario}": "Cleaning up: running molecule destroy for {scenario}" + }, + "Image manifest entry missing 'dockerfile'": { + "bg": "Image manifest entry missing 'dockerfile'", + "de": "Image manifest entry missing 'dockerfile'", + "en": "Image manifest entry missing 'dockerfile'", + "pl": "Image manifest entry missing 'dockerfile'", + "ru": "Image manifest entry missing 'dockerfile'", + "zh": "Image manifest entry missing 'dockerfile'", + "Cleaning up: running molecule destroy for {scenario}": "Cleaning up: running molecule destroy for {scenario}" + }, + "Image manifest entry missing 'name'": { + "bg": "Image manifest entry missing 'name'", + "de": "Image manifest entry missing 'name'", + "en": "Image manifest entry missing 'name'", + "pl": "Image manifest entry missing 'name'", + "ru": "Image manifest entry missing 'name'", + "zh": "Image manifest entry missing 'name'", + "Cleaning up: running molecule destroy for {scenario}": "Cleaning up: running molecule destroy for {scenario}" + }, + "Infrastructure commit (no DEVX-N task ID), skipping Vikunja update: {msg}": { + "bg": "Инфраструктурен commit (без идентификатор на задача DEVX-N), пропускаме обновяването на Vikunja: {msg}", + "de": "Infrastruktur-Commit (keine DEVX-N Task-ID), Vikunja-Update wird übersprungen: {msg}", + "en": "Infrastructure commit (no DEVX-N task ID), skipping Vikunja update: {msg}", + "pl": "Commit infrastruktury (bez ID zadania DEVX-N), pomijanie aktualizacji Vikunja: {msg}", + "ru": "Инфраструктурный коммит (без ID задачи DEVX-N), пропуск обновления Vikunja: {msg}", + "zh": "基础设施提交(无 DEVX-N 任务 ID),跳过 Vikunja 更新: {msg}", + "Cleaning up: running molecule destroy for {scenario}": "Cleaning up: running molecule destroy for {scenario}" + }, + "Integration tests cancelled — another runner failed.": { + "bg": "Integration tests cancelled — another runner failed.", + "de": "Integration tests cancelled — another runner failed.", + "en": "Integration tests cancelled — another runner failed.", + "pl": "Testy integracyjne anulowane — inny runner zakończył się niepowodzeniem.", + "ru": "Integration tests cancelled — another runner failed.", + "zh": "Integration tests cancelled — another runner failed.", + "Cleaning up: running molecule destroy for {scenario}": "Cleaning up: running molecule destroy for {scenario}" + }, + "Integration tests failed with exit code {code}": { + "bg": "Integration tests failed with exit code {code}", + "de": "Integration tests failed with exit code {code}", + "en": "Integration tests failed with exit code {code}", + "pl": "Testy integracyjne zakończone niepowodzeniem z kodem {code}", + "ru": "Integration tests failed with exit code {code}", + "zh": "Integration tests failed with exit code {code}", + "Cleaning up: running molecule destroy for {scenario}": "Cleaning up: running molecule destroy for {scenario}" + }, + "Integration tests passed.": { + "bg": "Integration tests passed.", + "de": "Integration tests passed.", + "en": "Integration tests passed.", + "pl": "Testy integracyjne zakończone pomyślnie.", + "ru": "Integration tests passed.", + "zh": "Integration tests passed.", + "Cleaning up: running molecule destroy for {scenario}": "Cleaning up: running molecule destroy for {scenario}" + }, + "Invalid checklist category: {cat}. Must be numbers.": { + "bg": "Invalid checklist category: {cat}. Must be numbers.", + "de": "Invalid checklist category: {cat}. Must be numbers.", + "en": "Invalid checklist category: {cat}. Must be numbers.", + "pl": "Invalid checklist category: {cat}. Must be numbers.", + "ru": "Invalid checklist category: {cat}. Must be numbers.", + "zh": "Invalid checklist category: {cat}. Must be numbers.", + "Cleaning up: running molecule destroy for {scenario}": "Cleaning up: running molecule destroy for {scenario}" + }, + "Items input must be a JSON array, got {type}": { + "bg": "Входните данни трябва да са JSON масив, получено {type}", + "de": "Eingabe muss ein JSON-Array sein, erhalten {type}", + "en": "Items input must be a JSON array, got {type}", + "pl": "Dane wejściowe muszą być tablicą JSON, otrzymano {type}", + "ru": "Входные данные должны быть JSON-массивом, получено {type}", + "zh": "输入必须是 JSON 数组,得到 {type}", + "Cleaning up: running molecule destroy for {scenario}": "Cleaning up: running molecule destroy for {scenario}" + }, + "Label '{label}' already on PR #{pr}.": { + "bg": "Label '{label}' already on PR #{pr}.", + "de": "Label '{label}' already on PR #{pr}.", + "en": "Label '{label}' already on PR #{pr}.", + "pl": "Label '{label}' already on PR #{pr}.", + "ru": "Label '{label}' already on PR #{pr}.", + "zh": "Label '{label}' already on PR #{pr}.", + "Cleaning up: running molecule destroy for {scenario}": "Cleaning up: running molecule destroy for {scenario}" + }, + "Latest run: #{run_id} (status: {status})": { + "bg": "Latest run: #{run_id} (status: {status})", + "de": "Latest run: #{run_id} (status: {status})", + "en": "Latest run: #{run_id} (status: {status})", + "pl": "Latest run: #{run_id} (status: {status})", + "ru": "Latest run: #{run_id} (status: {status})", + "zh": "Latest run: #{run_id} (status: {status})", + "Cleaning up: running molecule destroy for {scenario}": "Cleaning up: running molecule destroy for {scenario}" + }, + "Lint failed — refusing to release. Fix lint errors first.\n{stderr}": { + "bg": "Lint failed — refusing to release. Fix lint errors first.\n{stderr}", + "de": "Lint failed — refusing to release. Fix lint errors first.\n{stderr}", + "en": "Lint failed — refusing to release. Fix lint errors first.\n{stderr}", + "pl": "Lint nie powiódł się — odmowa wydania. Najpierw napraw błędy lint.\n{stderr}", + "ru": "Lint failed — refusing to release. Fix lint errors first.\n{stderr}", + "zh": "Lint failed — refusing to release. Fix lint errors first.\n{stderr}", + "Cleaning up: running molecule destroy for {scenario}": "Cleaning up: running molecule destroy for {scenario}" + }, + "Lint passed.": { + "bg": "Lint passed.", + "de": "Lint passed.", + "en": "Lint passed.", + "pl": "Lint zakończony pomyślnie.", + "ru": "Lint passed.", + "zh": "Lint passed.", + "Cleaning up: running molecule destroy for {scenario}": "Cleaning up: running molecule destroy for {scenario}" + }, + "Linting documentation in {root}...": { + "bg": "Linting documentation in {root}...", + "de": "Linting documentation in {root}...", + "en": "Linting documentation in {root}...", + "pl": "Linting documentation in {root}...", + "ru": "Linting documentation in {root}...", + "zh": "Linting documentation in {root}...", + "Cleaning up: running molecule destroy for {scenario}": "Cleaning up: running molecule destroy for {scenario}" + }, + "Login to {registry} failed: {error}": { + "bg": "Влизането в {registry} не успя: {error}", + "de": "Anmeldung bei {registry} fehlgeschlagen: {error}", + "en": "Login to {registry} failed: {error}", + "pl": "Logowanie do {registry} nie powiodło się: {error}", + "ru": "Ошибка входа в {registry}: {error}", + "zh": "登录 {registry} 失败: {error}", + "Cleaning up: running molecule destroy for {scenario}": "Cleaning up: running molecule destroy for {scenario}" + }, + "Loop with {count} iterations in test '{test}' — consider property-based testing (hypothesis) or reduce to <= {max} iterations.": { + "bg": "Цикъл с {count} итерации в тест '{test}' — използвайте property-based тестове (hypothesis) или намалете до <= {max} итерации.", + "de": "Schleife mit {count} Iterationen in Test '{test}' — property-based testing (hypothesis) verwenden oder auf <= {max} Iterationen reduzieren.", + "en": "Loop with {count} iterations in test '{test}' — consider property-based testing (hypothesis) or reduce to <= {max} iterations.", + "pl": "Pętla z {count} iteracjami w teście '{test}' — rozważ testy oparte na właściwościach (hypothesis) lub zmniejsz do <= {max} iteracji.", + "ru": "Цикл с {count} итерациями в тесте '{test}' — используйте property-based тестирование (hypothesis) или уменьшите до <= {max} итераций.", + "zh": "测试 '{test}' 中有 {count} 次迭代的循环 — 考虑使用基于属性的测试 (hypothesis) 或减少到 <= {max} 次迭代。", + "Cleaning up: running molecule destroy for {scenario}": "Cleaning up: running molecule destroy for {scenario}" + }, + "Manifest file not found: {path}": { + "bg": "Manifest file not found: {path}", + "de": "Manifest file not found: {path}", + "en": "Manifest file not found: {path}", + "pl": "Manifest file not found: {path}", + "ru": "Manifest file not found: {path}", + "zh": "Manifest file not found: {path}", + "Cleaning up: running molecule destroy for {scenario}": "Cleaning up: running molecule destroy for {scenario}" + }, + "Manifest must be a JSON list": { + "bg": "Manifest must be a JSON list", + "de": "Manifest must be a JSON list", + "en": "Manifest must be a JSON list", + "pl": "Manifest must be a JSON list", + "ru": "Manifest must be a JSON list", + "zh": "Manifest must be a JSON list", + "Cleaning up: running molecule destroy for {scenario}": "Cleaning up: running molecule destroy for {scenario}" + }, + "Merge failed with HTTP {status}: {message}\nPlease check the PR is ready and you have merge rights.": { + "bg": "Сливането неуспешно с HTTP {status}: {message}\nПроверете дали PR е готов и имате права за сливане.", + "de": "Merge fehlgeschlagen mit HTTP {status}: {message}\nBitte prüfen Sie, ob der PR bereit ist und Sie Merge-Rechte haben.", + "en": "Merge failed with HTTP {status}: {message}\nPlease check the PR is ready and you have merge rights.", + "pl": "Scalanie nie powiodło się z HTTP {status}: {message}\nSprawdź czy PR jest gotowy i masz uprawnienia do scalania.", + "ru": "Слияние не удалось: HTTP {status}: {message}\nПроверьте, что PR готов и у вас есть права на слияние.", + "zh": "合并失败: HTTP {status}: {message}\n请检查 PR 是否准备就绪且您具有合并权限。", + "Cleaning up: running molecule destroy for {scenario}": "Cleaning up: running molecule destroy for {scenario}" + }, + "Missing tests for changed files.": { + "bg": "Missing tests for changed files.", + "de": "Missing tests for changed files.", + "en": "Missing tests for changed files.", + "pl": "Missing tests for changed files.", + "ru": "Missing tests for changed files.", + "zh": "Missing tests for changed files.", + "Cleaning up: running molecule destroy for {scenario}": "Cleaning up: running molecule destroy for {scenario}" + }, + "Module {mod} has no main() function": { + "bg": "Модул {mod} няма функция main()", + "de": "Modul {mod} hat keine main()-Funktion", + "en": "Module {mod} has no main() function", + "pl": "Moduł {mod} nie ma funkcji main()", + "ru": "Модуль {mod} не имеет функции main()", + "zh": "模块 {mod} 没有 main() 函数", + "Cleaning up: running molecule destroy for {scenario}": "Cleaning up: running molecule destroy for {scenario}" + }, + "Molecule directory not found: {path}": { + "bg": "Директорията на molecule не е намерена: {path}", + "de": "Molecule-Verzeichnis nicht gefunden: {path}", + "en": "Molecule directory not found: {path}", + "pl": "Katalog molecule nie znaleziony: {path}", + "ru": "Директория molecule не найдена: {path}", + "zh": "未找到 molecule 目录: {path}", + "Cleaning up: running molecule destroy for {scenario}": "Cleaning up: running molecule destroy for {scenario}" + }, + "Next steps:\n 1. git checkout master && git pull\n 2. git checkout -b {prefix}-{num}-short-description\n 3. Implement changes, commit with conventional commit format\n 4. git push -u origin HEAD\n 5. make create-pr (creates PR with title: {identifier}: {title})": { + "bg": "Следващи стъпки:\n 1. git checkout master && git pull\n 2. git checkout -b {prefix}-{num}-кратко-описание\n 3. Имплементирайте промените, commit с conventional commit формат\n 4. git push -u origin HEAD\n 5. make create-pr (създава PR с заглавие: {identifier}: {title})", + "de": "Nächste Schritte:\n 1. git checkout master && git pull\n 2. git checkout -b {prefix}-{num}-kurz-beschreibung\n 3. Änderungen implementieren, mit Conventional-Commit-Format committen\n 4. git push -u origin HEAD\n 5. make create-pr (erstellt PR mit Titel: {identifier}: {title})", + "en": "Next steps:\n 1. git checkout master && git pull\n 2. git checkout -b {prefix}-{num}-short-description\n 3. Implement changes, commit with conventional commit format\n 4. git push -u origin HEAD\n 5. make create-pr (creates PR with title: {identifier}: {title})", + "pl": "Następne kroki:\n 1. git checkout master && git pull\n 2. git checkout -b {prefix}-{num}-krótki-opis\n 3. Wprowadź zmiany, commituj w formacie conventional commit\n 4. git push -u origin HEAD\n 5. make create-pr (tworzy PR z tytułem: {identifier}: {title})", + "ru": "Следующие шаги:\n 1. git checkout master && git pull\n 2. git checkout -b {prefix}-{num}-краткое-описание\n 3. Реализуйте изменения, коммитьте в conventional commit формате\n 4. git push -u origin HEAD\n 5. make create-pr (создаёт PR с заголовком: {identifier}: {title})", + "zh": "后续步骤:\n 1. git checkout master && git pull\n 2. git checkout -b {prefix}-{num}-简短描述\n 3. 实现更改,使用 conventional commit 格式提交\n 4. git push -u origin HEAD\n 5. make create-pr (创建 PR,标题: {identifier}: {title})", + "Cleaning up: running molecule destroy for {scenario}": "Cleaning up: running molecule destroy for {scenario}" + }, + "Nice! Gitea release {tag} created.": { + "bg": "Отлично! Gitea release {tag} е създаден.", + "de": "Prima! Gitea-Release {tag} erstellt.", + "en": "Nice! Gitea release {tag} created.", + "pl": "Świetnie! Wydanie Gitea {tag} utworzone.", + "ru": "Отлично! Gitea release {tag} создан.", + "zh": "不错!Gitea release {tag} 已创建。", + "Cleaning up: running molecule destroy for {scenario}": "Cleaning up: running molecule destroy for {scenario}" + }, + "Nice! PR #{pr_number} squash-merged with title: {merge_title}": { + "bg": "Отлично! PR #{pr_number} е squash-merge-нат със заглавие: {merge_title}", + "de": "Prima! PR #{pr_number} wurde mit Titel {merge_title} squash-gemergt.", + "en": "Nice! PR #{pr_number} squash-merged with title: {merge_title}", + "pl": "Świetnie! PR #{pr_number} squash-merged z tytułem: {merge_title}", + "ru": "Отлично! PR #{pr_number} squash-merge с заголовком: {merge_title}", + "zh": "不错!PR #{pr_number} 已 squash 合并,标题: {merge_title}", + "Cleaning up: running molecule destroy for {scenario}": "Cleaning up: running molecule destroy for {scenario}" + }, + "Nice! Release v{version} tagged and pushed. The publish workflow will be triggered.": { + "bg": "Nice! Release v{version} tagged and pushed. The publish workflow will be triggered.", + "de": "Nice! Release v{version} tagged and pushed. The publish workflow will be triggered.", + "en": "Nice! Release v{version} tagged and pushed. The publish workflow will be triggered.", + "pl": "Świetnie! Wydanie v{version} otagowane i wypchnięte. Workflow publikacji zostanie uruchomiony.", + "ru": "Nice! Release v{version} tagged and pushed. The publish workflow will be triggered.", + "zh": "Nice! Release v{version} tagged and pushed. The publish workflow will be triggered.", + "Cleaning up: running molecule destroy for {scenario}": "Cleaning up: running molecule destroy for {scenario}" + }, + "Nice! Vikunja task {task_id} (ID {vikunja_id}) updated and marked done.": { + "bg": "Отлично! Задача Vikunja {task_id} (ID {vikunja_id}) е обновена и маркирана като готова.", + "de": "Prima! Vikunja-Aufgabe {task_id} (ID {vikunja_id}) aktualisiert und als erledigt markiert.", + "en": "Nice! Vikunja task {task_id} (ID {vikunja_id}) updated and marked done.", + "pl": "Świetnie! Zadanie Vikunja {task_id} (ID {vikunja_id}) zaktualizowane i oznaczone jako ukończone.", + "ru": "Отлично! Задача Vikunja {task_id} (ID {vikunja_id}) обновлена и отмечена как выполненная.", + "zh": "不错!Vikunja 任务 {task_id} (ID {vikunja_id}) 已更新并标记为完成。", + "Cleaning up: running molecule destroy for {scenario}": "Cleaning up: running molecule destroy for {scenario}" + }, + "No CI checks found for commit {sha}.": { + "bg": "No CI checks found for commit {sha}.", + "de": "No CI checks found for commit {sha}.", + "en": "No CI checks found for commit {sha}.", + "pl": "No CI checks found for commit {sha}.", + "ru": "No CI checks found for commit {sha}.", + "zh": "No CI checks found for commit {sha}.", + "Cleaning up: running molecule destroy for {scenario}": "Cleaning up: running molecule destroy for {scenario}" + }, + "No Python package found under src/ — skipping version check.": { + "bg": "", + "de": "", + "en": "No Python package found under src/ — skipping version check.", + "pl": "", + "ru": "", + "zh": "", + "Cleaning up: running molecule destroy for {scenario}": "Cleaning up: running molecule destroy for {scenario}" + }, + "No badge SVG files generated": { + "bg": "No badge SVG files generated", + "de": "No badge SVG files generated", + "en": "No badge SVG files generated", + "pl": "No badge SVG files generated", + "ru": "No badge SVG files generated", + "zh": "No badge SVG files generated", + "Cleaning up: running molecule destroy for {scenario}": "Cleaning up: running molecule destroy for {scenario}" + }, + "No badge URLs found to update — README already up to date": { + "bg": "No badge URLs found to update — README already up to date", + "de": "No badge URLs found to update — README already up to date", + "en": "No badge URLs found to update — README already up to date", + "pl": "No badge URLs found to update — README already up to date", + "ru": "No badge URLs found to update — README already up to date", + "zh": "No badge URLs found to update — README already up to date", + "Cleaning up: running molecule destroy for {scenario}": "Cleaning up: running molecule destroy for {scenario}" + }, + "No badge changes — skipping commit": { + "bg": "", + "de": "", + "en": "No badge changes — skipping commit", + "pl": "", + "ru": "", + "zh": "", + "Cleaning up: running molecule destroy for {scenario}": "Cleaning up: running molecule destroy for {scenario}" + }, + "No changes between {base} and {head}.": { + "bg": "No changes between {base} and {head}.", + "de": "No changes between {base} and {head}.", + "en": "No changes between {base} and {head}.", + "pl": "Brak zmian między {base} i {head}.", + "ru": "No changes between {base} and {head}.", + "zh": "No changes between {base} and {head}.", + "Cleaning up: running molecule destroy for {scenario}": "Cleaning up: running molecule destroy for {scenario}" + }, + "No changes to sync — wiki is up to date.": { + "bg": "", + "de": "", + "en": "No changes to sync — wiki is up to date.", + "pl": "", + "ru": "", + "zh": "", + "Cleaning up: running molecule destroy for {scenario}": "Cleaning up: running molecule destroy for {scenario}" + }, + "No failed jobs.": { + "bg": "No failed jobs.", + "de": "No failed jobs.", + "en": "No failed jobs.", + "pl": "No failed jobs.", + "ru": "No failed jobs.", + "zh": "No failed jobs.", + "Cleaning up: running molecule destroy for {scenario}": "Cleaning up: running molecule destroy for {scenario}" + }, + "No job matching '{job}' found.": { + "bg": "No job matching '{job}' found.", + "de": "No job matching '{job}' found.", + "en": "No job matching '{job}' found.", + "pl": "No job matching '{job}' found.", + "ru": "No job matching '{job}' found.", + "zh": "No job matching '{job}' found.", + "Cleaning up: running molecule destroy for {scenario}": "Cleaning up: running molecule destroy for {scenario}" + }, + "No jobs found for run #{run_id}.": { + "bg": "No jobs found for run #{run_id}.", + "de": "No jobs found for run #{run_id}.", + "en": "No jobs found for run #{run_id}.", + "pl": "No jobs found for run #{run_id}.", + "ru": "No jobs found for run #{run_id}.", + "zh": "No jobs found for run #{run_id}.", + "Cleaning up: running molecule destroy for {scenario}": "Cleaning up: running molecule destroy for {scenario}" + }, + "No open PR found for branch '{branch}'.": { + "bg": "No open PR found for branch '{branch}'.", + "de": "No open PR found for branch '{branch}'.", + "en": "No open PR found for branch '{branch}'.", + "pl": "No open PR found for branch '{branch}'.", + "ru": "No open PR found for branch '{branch}'.", + "zh": "No open PR found for branch '{branch}'.", + "Cleaning up: running molecule destroy for {scenario}": "Cleaning up: running molecule destroy for {scenario}" + }, + "No push needed (no changes or push failed).": { + "bg": "", + "de": "", + "en": "No push needed (no changes or push failed).", + "pl": "", + "ru": "", + "zh": "", + "Cleaning up: running molecule destroy for {scenario}": "Cleaning up: running molecule destroy for {scenario}" + }, + "No staged changes — version and changelog already up to date.": { + "bg": "No staged changes — version and changelog already up to date.", + "de": "No staged changes — version and changelog already up to date.", + "en": "No staged changes — version and changelog already up to date.", + "pl": "Brak zmian w staging — wersja i changelog są już aktualne.", + "ru": "No staged changes — version and changelog already up to date.", + "zh": "No staged changes — version and changelog already up to date.", + "Cleaning up: running molecule destroy for {scenario}": "Cleaning up: running molecule destroy for {scenario}" + }, + "No tag found — skipping publish.": { + "bg": "No tag found — skipping publish.", + "de": "No tag found — skipping publish.", + "en": "No tag found — skipping publish.", + "pl": "Nie znaleziono tagu — pomijanie publikacji.", + "ru": "No tag found — skipping publish.", + "zh": "No tag found — skipping publish.", + "Cleaning up: running molecule destroy for {scenario}": "Cleaning up: running molecule destroy for {scenario}" + }, + "No tags found — treating all changes as user-facing.": { + "bg": "No tags found — treating all changes as user-facing.", + "de": "No tags found — treating all changes as user-facing.", + "en": "No tags found — treating all changes as user-facing.", + "pl": "Nie znaleziono tagów — traktowanie wszystkich zmian jako widocznych dla użytkownika.", + "ru": "No tags found — treating all changes as user-facing.", + "zh": "No tags found — treating all changes as user-facing.", + "Cleaning up: running molecule destroy for {scenario}": "Cleaning up: running molecule destroy for {scenario}" + }, + "No task ID ({prefix}-N) found in commit message: {msg}. Every non-infrastructure commit must have a task ID.": { + "bg": "No task ID ({prefix}-N) found in commit message: {msg}. Every non-infrastructure commit must have a task ID.", + "de": "No task ID ({prefix}-N) found in commit message: {msg}. Every non-infrastructure commit must have a task ID.", + "en": "No task ID ({prefix}-N) found in commit message: {msg}. Every non-infrastructure commit must have a task ID.", + "pl": "Nie znaleziono ID zadania ({prefix}-N) w wiadomości commit: {msg}. Każdy commit nie-infrastrukturalny musi mieć ID zadania.", + "ru": "No task ID ({prefix}-N) found in commit message: {msg}. Every non-infrastructure commit must have a task ID.", + "zh": "No task ID ({prefix}-N) found in commit message: {msg}. Every non-infrastructure commit must have a task ID.", + "Cleaning up: running molecule destroy for {scenario}": "Cleaning up: running molecule destroy for {scenario}" }, "No task ID found in branch '{branch}'. Expected format: {prefix}-N-description.": { "bg": "No task ID found in branch '{branch}'. Expected format: {prefix}-N-description.", @@ -3765,7 +2479,242 @@ "en": "No task ID found in branch '{branch}'. Expected format: {prefix}-N-description.", "pl": "No task ID found in branch '{branch}'. Expected format: {prefix}-N-description.", "ru": "No task ID found in branch '{branch}'. Expected format: {prefix}-N-description.", - "zh": "No task ID found in branch '{branch}'. Expected format: {prefix}-N-description." + "zh": "No task ID found in branch '{branch}'. Expected format: {prefix}-N-description.", + "Cleaning up: running molecule destroy for {scenario}": "Cleaning up: running molecule destroy for {scenario}" + }, + "No task ID found in branch name '{branch}'. Expected format: {prefix}-N-description.": { + "bg": "No task ID found in branch name '{branch}'. Expected format: {prefix}-N-description.", + "de": "No task ID found in branch name '{branch}'. Expected format: {prefix}-N-description.", + "en": "No task ID found in branch name '{branch}'. Expected format: {prefix}-N-description.", + "pl": "No task ID found in branch name '{branch}'. Expected format: {prefix}-N-description.", + "ru": "No task ID found in branch name '{branch}'. Expected format: {prefix}-N-description.", + "zh": "No task ID found in branch name '{branch}'. Expected format: {prefix}-N-description.", + "Cleaning up: running molecule destroy for {scenario}": "Cleaning up: running molecule destroy for {scenario}" + }, + "No unreleased changes found. Nothing to release.": { + "bg": "No unreleased changes found. Nothing to release.", + "de": "No unreleased changes found. Nothing to release.", + "en": "No unreleased changes found. Nothing to release.", + "pl": "Nie znaleziono nieopublikowanych zmian. Nic do wydania.", + "ru": "No unreleased changes found. Nothing to release.", + "zh": "No unreleased changes found. Nothing to release.", + "Cleaning up: running molecule destroy for {scenario}": "Cleaning up: running molecule destroy for {scenario}" + }, + "No user-facing changes since {tag} — only workflow/infrastructure files changed. Skipping release.": { + "bg": "No user-facing changes since {tag} — only workflow/infrastructure files changed. Skipping release.", + "de": "No user-facing changes since {tag} — only workflow/infrastructure files changed. Skipping release.", + "en": "No user-facing changes since {tag} — only workflow/infrastructure files changed. Skipping release.", + "pl": "Brak zmian widocznych dla użytkownika od {tag} — tylko pliki workflow/infrastruktury uległy zmianie. Pomijanie wydania.", + "ru": "No user-facing changes since {tag} — only workflow/infrastructure files changed. Skipping release.", + "zh": "No user-facing changes since {tag} — only workflow/infrastructure files changed. Skipping release.", + "Cleaning up: running molecule destroy for {scenario}": "Cleaning up: running molecule destroy for {scenario}" + }, + "No versions found.": { + "bg": "No versions found.", + "de": "No versions found.", + "en": "No versions found.", + "pl": "No versions found.", + "ru": "No versions found.", + "zh": "No versions found.", + "Cleaning up: running molecule destroy for {scenario}": "Cleaning up: running molecule destroy for {scenario}" + }, + "No workflow runs found for SHA {sha}.": { + "bg": "No workflow runs found for SHA {sha}.", + "de": "No workflow runs found for SHA {sha}.", + "en": "No workflow runs found for SHA {sha}.", + "pl": "No workflow runs found for SHA {sha}.", + "ru": "No workflow runs found for SHA {sha}.", + "zh": "No workflow runs found for SHA {sha}.", + "Cleaning up: running molecule destroy for {scenario}": "Cleaning up: running molecule destroy for {scenario}" + }, + "Note: CI token also cannot approve. Posting COMMENT instead.": { + "bg": "Забележка: CI тоукънът също не може да одобри. Публикуване на COMMENT вместо това.", + "de": "Hinweis: CI-Token kann ebenfalls nicht genehmigen. COMMENT wird stattdessen gesendet.", + "en": "Note: CI token also cannot approve. Posting COMMENT instead.", + "pl": "Uwaga: Token CI również nie może zatwierdzić. Publikowanie COMMENT zamiast tego.", + "ru": "Примечание: CI токен также не может одобрить. Публикация COMMENT вместо этого.", + "zh": "注意:CI 令牌也无法批准。改为发布 COMMENT。", + "Cleaning up: running molecule destroy for {scenario}": "Cleaning up: running molecule destroy for {scenario}" + }, + "Note: Self-approval not allowed with reviewer token. Retrying with CI token.": { + "bg": "Забележка: Само-одобрението не е разрешено с тоукън на рецензента. Повторен опит с CI тоукън.", + "de": "Hinweis: Selbstgenehmigung mit Reviewer-Token nicht erlaubt. Wiederholung mit CI-Token.", + "en": "Note: Self-approval not allowed with reviewer token. Retrying with CI token.", + "pl": "Uwaga: Samo-zatwierdzenie niedozwolone tokenem recenzenta. Ponawianie tokenem CI.", + "ru": "Примечание: Самоодобрение токеном ревьюера не разрешено. Повторная попытка с CI токеном.", + "zh": "注意:不允许使用审阅者令牌进行自我批准。正在使用 CI 令牌重试。", + "Cleaning up: running molecule destroy for {scenario}": "Cleaning up: running molecule destroy for {scenario}" + }, + "Note: Self-approval not allowed. Posting COMMENT instead.": { + "bg": "Забележка: Само-одобрението не е разрешено. Публикуване на COMMENT вместо това.", + "de": "Hinweis: Selbstgenehmigung nicht erlaubt. COMMENT wird stattdessen gesendet.", + "en": "Note: Self-approval not allowed. Posting COMMENT instead.", + "pl": "Uwaga: Samo-zatwierdzenie niedozwolone. Publikowanie COMMENT zamiast tego.", + "ru": "Примечание: Самоодобрение не разрешено. Публикация COMMENT вместо этого.", + "zh": "注意:不允许自我批准。改为发布 COMMENT。", + "Cleaning up: running molecule destroy for {scenario}": "Cleaning up: running molecule destroy for {scenario}" + }, + "Nothing to push.": { + "bg": "Nothing to push.", + "de": "Nothing to push.", + "en": "Nothing to push.", + "pl": "Nothing to push.", + "ru": "Nothing to push.", + "zh": "Nothing to push.", + "Cleaning up: running molecule destroy for {scenario}": "Cleaning up: running molecule destroy for {scenario}" + }, + "Only check staged files (for pre-commit)": { + "bg": "Only check staged files (for pre-commit)", + "de": "Only check staged files (for pre-commit)", + "en": "Only check staged files (for pre-commit)", + "pl": "Only check staged files (for pre-commit)", + "ru": "Only check staged files (for pre-commit)", + "zh": "Only check staged files (for pre-commit)", + "Cleaning up: running molecule destroy for {scenario}": "Cleaning up: running molecule destroy for {scenario}" + }, + "Oops! Commit message must follow conventional commit format.\n Expected: : \n Got: {subject}\n Allowed types: feat, fix, chore, docs, style, refactor,\n perf, test, ci, build, revert, BREAKING CHANGE": { + "bg": "Опа! Съобщението за commit трябва да следва конвенционален формат.\n Очаква се: : \n Получено: {subject}\n Разрешени типове: feat, fix, chore, docs, style, refactor,\n perf, test, ci, build, revert, BREAKING CHANGE", + "de": "Ups! Commit-Nachricht muss dem konventionellen Commit-Format folgen.\n Erwartet: : \n Erhalten: {subject}\n Erlaubte Typen: feat, fix, chore, docs, style, refactor,\n perf, test, ci, build, revert, BREAKING CHANGE", + "en": "Oops! Commit message must follow conventional commit format.\n Expected: : \n Got: {subject}\n Allowed types: feat, fix, chore, docs, style, refactor,\n perf, test, ci, build, revert, BREAKING CHANGE", + "pl": "Ups! Wiadomość commit musi być w formacie conventional commit.\n Oczekiwano: : \n Otrzymano: {subject}\n Dozwolone typy: feat, fix, chore, docs, style, refactor,\n perf, test, ci, build, revert, BREAKING CHANGE", + "ru": "Ой! Сообщение коммита должно соответствовать формату conventional commit.\n Ожидается: : \n Получено: {subject}\n Допустимые типы: feat, fix, chore, docs, style, refactor,\n perf, test, ci, build, revert, BREAKING CHANGE", + "zh": "哎呀!提交消息必须遵循 conventional commit 格式。\n 预期格式: : \n 实际: {subject}\n 允许的类型: feat, fix, chore, docs, style, refactor,\n perf, test, ci, build, revert, BREAKING CHANGE", + "Cleaning up: running molecule destroy for {scenario}": "Cleaning up: running molecule destroy for {scenario}" + }, + "Oops! Do not include task ID ({prefix}-N) in feature branch commits.\n The task ID will be added automatically on merge via CI.": { + "bg": "Oops! Do not include task ID ({prefix}-N) in feature branch commits.\n The task ID will be added automatically on merge via CI.", + "de": "Oops! Do not include task ID ({prefix}-N) in feature branch commits.\n The task ID will be added automatically on merge via CI.", + "en": "Oops! Do not include task ID ({prefix}-N) in feature branch commits.\n The task ID will be added automatically on merge via CI.", + "pl": "Ups! Nie dołączaj ID zadania ({prefix}-N) w commitach gałęzi feature.\n ID zadania zostanie dodane automatycznie przy scaleniu przez CI.", + "ru": "Oops! Do not include task ID ({prefix}-N) in feature branch commits.\n The task ID will be added automatically on merge via CI.", + "zh": "Oops! Do not include task ID ({prefix}-N) in feature branch commits.\n The task ID will be added automatically on merge via CI.", + "Cleaning up: running molecule destroy for {scenario}": "Cleaning up: running molecule destroy for {scenario}" + }, + "Oops! Gitea PyPI registry publish failed:\n{stderr}": { + "bg": "Опа! Публикуването в Gitea PyPI registry неуспешно:\n{stderr}", + "de": "Ups! Veröffentlichung in der Gitea PyPI-Registry fehlgeschlagen:\n{stderr}", + "en": "Oops! Gitea PyPI registry publish failed:\n{stderr}", + "pl": "Ups! Publikacja w rejestrze Gitea PyPI nie powiodła się:\n{stderr}", + "ru": "Ой! Публикация в Gitea PyPI registry не удалась:\n{stderr}", + "zh": "哎呀!Gitea PyPI registry 发布失败:\n{stderr}", + "Cleaning up: running molecule destroy for {scenario}": "Cleaning up: running molecule destroy for {scenario}" + }, + "Oops! Master branch commit must follow conventional format after task ID.\n Expected: {prefix}-N: : \n Got: {subject}": { + "bg": "Oops! Master branch commit must follow conventional format after task ID.\n Expected: {prefix}-N: : \n Got: {subject}", + "de": "Oops! Master branch commit must follow conventional format after task ID.\n Expected: {prefix}-N: : \n Got: {subject}", + "en": "Oops! Master branch commit must follow conventional format after task ID.\n Expected: {prefix}-N: : \n Got: {subject}", + "pl": "Ups! Commit gałęzi master musi być w formacie conventional po ID zadania.\n Oczekiwano: {prefix}-N: : \n Otrzymano: {subject}", + "ru": "Oops! Master branch commit must follow conventional format after task ID.\n Expected: {prefix}-N: : \n Got: {subject}", + "zh": "Oops! Master branch commit must follow conventional format after task ID.\n Expected: {prefix}-N: : \n Got: {subject}", + "Cleaning up: running molecule destroy for {scenario}": "Cleaning up: running molecule destroy for {scenario}" + }, + "Oops! Master branch commits must start with a task ID.\n Expected: {prefix}-N: \n Got: {subject}": { + "bg": "Oops! Master branch commits must start with a task ID.\n Expected: {prefix}-N: \n Got: {subject}", + "de": "Oops! Master branch commits must start with a task ID.\n Expected: {prefix}-N: \n Got: {subject}", + "en": "Oops! Master branch commits must start with a task ID.\n Expected: {prefix}-N: \n Got: {subject}", + "pl": "Ups! Commity gałęzi master muszą zaczynać się od ID zadania.\n Oczekiwano: {prefix}-N: \n Otrzymano: {subject}", + "ru": "Oops! Master branch commits must start with a task ID.\n Expected: {prefix}-N: \n Got: {subject}", + "zh": "Oops! Master branch commits must start with a task ID.\n Expected: {prefix}-N: \n Got: {subject}", + "Cleaning up: running molecule destroy for {scenario}": "Cleaning up: running molecule destroy for {scenario}" + }, + "Oops! No task ID found in branch name '{branch}'. Branch names must include the task ID prefix (e.g., DEVX-31-fix-bug).": { + "bg": "Ой! Не е намерен ID на задача в името на клона '{branch}'. Имената на клонове трябва да включват префикса за ID на задача (напр. DEVX-31-fix-bug).", + "de": "Hoppla! Keine Task-ID im Branch-Namen '{branch}' gefunden. Branch-Namen müssen das Task-ID-Präfix enthalten (z.B. DEVX-31-fix-bug).", + "en": "Oops! No task ID found in branch name '{branch}'. Branch names must include the task ID prefix (e.g., DEVX-31-fix-bug).", + "pl": "Ups! Nie znaleziono ID zadania w nazwie gałęzi '{branch}'. Nazwy gałęzi muszą zawierać prefiks ID zadania (np., DEVX-31-fix-bug).", + "ru": "Ой! ID задачи не найден в имени ветки '{branch}'. Имена веток должны включать префикс ID задачи (например, DEVX-31-fix-bug).", + "zh": "哎呀!在分支名称 '{branch}' 中未找到任务 ID。分支名称必须包含任务 ID 前缀(例如 DEVX-31-fix-bug)。", + "Cleaning up: running molecule destroy for {scenario}": "Cleaning up: running molecule destroy for {scenario}" + }, + "Oops! PR title must follow format '{prefix}-N: '.\n Expected: {task_id}: \n Got: {pr_title}": { + "bg": "Oops! PR title must follow format '{prefix}-N: '.\n Expected: {task_id}: \n Got: {pr_title}", + "de": "Oops! PR title must follow format '{prefix}-N: '.\n Expected: {task_id}: \n Got: {pr_title}", + "en": "Oops! PR title must follow format '{prefix}-N: '.\n Expected: {task_id}: \n Got: {pr_title}", + "pl": "Ups! Tytuł PR musi być w formacie '{prefix}-N: '.\n Oczekiwano: {task_id}: \n Otrzymano: {pr_title}", + "ru": "Oops! PR title must follow format '{prefix}-N: '.\n Expected: {task_id}: \n Got: {pr_title}", + "zh": "Oops! PR title must follow format '{prefix}-N: '.\n Expected: {task_id}: \n Got: {pr_title}", + "Cleaning up: running molecule destroy for {scenario}": "Cleaning up: running molecule destroy for {scenario}" + }, + "Oops! PR title task ID mismatch.\n Branch task ID: {task_id}\n PR title: {pr_title}": { + "bg": "Oops! PR title task ID mismatch.\n Branch task ID: {task_id}\n PR title: {pr_title}", + "de": "Oops! PR title task ID mismatch.\n Branch task ID: {task_id}\n PR title: {pr_title}", + "en": "Oops! PR title task ID mismatch.\n Branch task ID: {task_id}\n PR title: {pr_title}", + "pl": "Ups! Niezgodność ID zadania w tytule PR.\n ID zadania z gałęzi: {task_id}\n Tytuł PR: {pr_title}", + "ru": "Oops! PR title task ID mismatch.\n Branch task ID: {task_id}\n PR title: {pr_title}", + "zh": "Oops! PR title task ID mismatch.\n Branch task ID: {task_id}\n PR title: {pr_title}", + "Cleaning up: running molecule destroy for {scenario}": "Cleaning up: running molecule destroy for {scenario}" + }, + "Oops! Package build failed:\n{stderr}": { + "bg": "Опа! Сборката на пакета неуспешна:\n{stderr}", + "de": "Ups! Paket-Build fehlgeschlagen:\n{stderr}", + "en": "Oops! Package build failed:\n{stderr}", + "pl": "Ups! Budowanie pakietu nie powiodło się:\n{stderr}", + "ru": "Ой! Сборка пакета не удалась:\n{stderr}", + "zh": "哎呀!包构建失败:\n{stderr}", + "Cleaning up: running molecule destroy for {scenario}": "Cleaning up: running molecule destroy for {scenario}" + }, + "Oops! PyPI publish failed:\n{stderr}": { + "bg": "Опа! Публикуването в PyPI неуспешно:\n{stderr}", + "de": "Ups! PyPI-Veröffentlichung fehlgeschlagen:\n{stderr}", + "en": "Oops! PyPI publish failed:\n{stderr}", + "pl": "Ups! Publikacja PyPI nie powiodła się:\n{stderr}", + "ru": "Ой! Публикация в PyPI не удалась:\n{stderr}", + "zh": "哎呀!PyPI 发布失败:\n{stderr}", + "Cleaning up: running molecule destroy for {scenario}": "Cleaning up: running molecule destroy for {scenario}" + }, + "PASS: All documentation checks passed!": { + "bg": "PASS: All documentation checks passed!", + "de": "PASS: All documentation checks passed!", + "en": "PASS: All documentation checks passed!", + "pl": "PASS: All documentation checks passed!", + "ru": "PASS: All documentation checks passed!", + "zh": "PASS: All documentation checks passed!", + "Cleaning up: running molecule destroy for {scenario}": "Cleaning up: running molecule destroy for {scenario}" + }, + "PASSED: {pair}": { + "bg": "PASSED: {pair}", + "de": "PASSED: {pair}", + "en": "PASSED: {pair}", + "pl": "UDANE: {pair}", + "ru": "PASSED: {pair}", + "zh": "PASSED: {pair}", + "Cleaning up: running molecule destroy for {scenario}": "Cleaning up: running molecule destroy for {scenario}" + }, + "PR #{pr} rebased successfully. A new CI run will start automatically.\nIf auto-merge is enabled (ready-to-merge label), the next CI run\nwill attempt to merge this PR.": { + "bg": "PR #{pr} rebased successfully. A new CI run will start automatically.\nIf auto-merge is enabled (ready-to-merge label), the next CI run\nwill attempt to merge this PR.", + "de": "PR #{pr} rebased successfully. A new CI run will start automatically.\nIf auto-merge is enabled (ready-to-merge label), the next CI run\nwill attempt to merge this PR.", + "en": "PR #{pr} rebased successfully. A new CI run will start automatically.\nIf auto-merge is enabled (ready-to-merge label), the next CI run\nwill attempt to merge this PR.", + "pl": "PR #{pr} rebased successfully. A new CI run will start automatically.\nIf auto-merge is enabled (ready-to-merge label), the next CI run\nwill attempt to merge this PR.", + "ru": "PR #{pr} rebased successfully. A new CI run will start automatically.\nIf auto-merge is enabled (ready-to-merge label), the next CI run\nwill attempt to merge this PR.", + "zh": "PR #{pr} rebased successfully. A new CI run will start automatically.\nIf auto-merge is enabled (ready-to-merge label), the next CI run\nwill attempt to merge this PR.", + "Cleaning up: running molecule destroy for {scenario}": "Cleaning up: running molecule destroy for {scenario}" + }, + "PR already exists: #{index} — {url}": { + "bg": "PR вече съществува: #{index} — {url}", + "de": "PR existiert bereits: #{index} — {url}", + "en": "PR already exists: #{index} — {url}", + "pl": "PR już istnieje: #{index} — {url}", + "ru": "PR уже существует: #{index} — {url}", + "zh": "PR 已存在: #{index} — {url}", + "Cleaning up: running molecule destroy for {scenario}": "Cleaning up: running molecule destroy for {scenario}" + }, + "PR number (to fetch title from Gitea)": { + "bg": "PR number (to fetch title from Gitea)", + "de": "PR number (to fetch title from Gitea)", + "en": "PR number (to fetch title from Gitea)", + "pl": "PR number (to fetch title from Gitea)", + "ru": "PR number (to fetch title from Gitea)", + "zh": "PR number (to fetch title from Gitea)", + "Cleaning up: running molecule destroy for {scenario}": "Cleaning up: running molecule destroy for {scenario}" + }, + "PR number must be an integer, got: {pr_number}": { + "bg": "PR number must be an integer, got: {pr_number}", + "de": "PR number must be an integer, got: {pr_number}", + "en": "PR number must be an integer, got: {pr_number}", + "pl": "Numer PR musi być liczbą całkowitą, otrzymano: {pr_number}", + "ru": "PR number must be an integer, got: {pr_number}", + "zh": "PR number must be an integer, got: {pr_number}", + "Cleaning up: running molecule destroy for {scenario}": "Cleaning up: running molecule destroy for {scenario}" }, "PR number to fix": { "bg": "PR number to fix", @@ -3773,7 +2722,251 @@ "en": "PR number to fix", "pl": "PR number to fix", "ru": "PR number to fix", - "zh": "PR number to fix" + "zh": "PR number to fix", + "Cleaning up: running molecule destroy for {scenario}": "Cleaning up: running molecule destroy for {scenario}" + }, + "PR title (auto-fetched if --pr-number given)": { + "bg": "PR title (auto-fetched if --pr-number given)", + "de": "PR title (auto-fetched if --pr-number given)", + "en": "PR title (auto-fetched if --pr-number given)", + "pl": "PR title (auto-fetched if --pr-number given)", + "ru": "PR title (auto-fetched if --pr-number given)", + "zh": "PR title (auto-fetched if --pr-number given)", + "Cleaning up: running molecule destroy for {scenario}": "Cleaning up: running molecule destroy for {scenario}" + }, + "PR title does not match Vikunja task title.\n Expected: {expected}\n Got: {pr_title}": { + "bg": "PR title does not match Vikunja task title.\n Expected: {expected}\n Got: {pr_title}", + "de": "PR title does not match Vikunja task title.\n Expected: {expected}\n Got: {pr_title}", + "en": "PR title does not match Vikunja task title.\n Expected: {expected}\n Got: {pr_title}", + "pl": "Tytuł PR nie pasuje do tytułu zadania Vikunja.\n Oczekiwano: {expected}\n Otrzymano: {pr_title}", + "ru": "PR title does not match Vikunja task title.\n Expected: {expected}\n Got: {pr_title}", + "zh": "PR title does not match Vikunja task title.\n Expected: {expected}\n Got: {pr_title}", + "Cleaning up: running molecule destroy for {scenario}": "Cleaning up: running molecule destroy for {scenario}" + }, + "PR title does not match Vikunja task title.\n Expected: {expected}\n Got: {title}": { + "bg": "PR title does not match Vikunja task title.\n Expected: {expected}\n Got: {title}", + "de": "PR title does not match Vikunja task title.\n Expected: {expected}\n Got: {title}", + "en": "PR title does not match Vikunja task title.\n Expected: {expected}\n Got: {title}", + "pl": "PR title does not match Vikunja task title.\n Expected: {expected}\n Got: {title}", + "ru": "PR title does not match Vikunja task title.\n Expected: {expected}\n Got: {title}", + "zh": "PR title does not match Vikunja task title.\n Expected: {expected}\n Got: {title}", + "Cleaning up: running molecule destroy for {scenario}": "Cleaning up: running molecule destroy for {scenario}" + }, + "PR title must follow format '{prefix}-N: '.\n Got: {title}": { + "bg": "PR title must follow format '{prefix}-N: '.\n Got: {title}", + "de": "PR title must follow format '{prefix}-N: '.\n Got: {title}", + "en": "PR title must follow format '{prefix}-N: '.\n Got: {title}", + "pl": "PR title must follow format '{prefix}-N: '.\n Got: {title}", + "ru": "PR title must follow format '{prefix}-N: '.\n Got: {title}", + "zh": "PR title must follow format '{prefix}-N: '.\n Got: {title}", + "Cleaning up: running molecule destroy for {scenario}": "Cleaning up: running molecule destroy for {scenario}" + }, + "PR title task ID mismatch.\n Branch task ID: {task_id}\n PR title: {title}": { + "bg": "PR title task ID mismatch.\n Branch task ID: {task_id}\n PR title: {title}", + "de": "PR title task ID mismatch.\n Branch task ID: {task_id}\n PR title: {title}", + "en": "PR title task ID mismatch.\n Branch task ID: {task_id}\n PR title: {title}", + "pl": "PR title task ID mismatch.\n Branch task ID: {task_id}\n PR title: {title}", + "ru": "PR title task ID mismatch.\n Branch task ID: {task_id}\n PR title: {title}", + "zh": "PR title task ID mismatch.\n Branch task ID: {task_id}\n PR title: {title}", + "Cleaning up: running molecule destroy for {scenario}": "Cleaning up: running molecule destroy for {scenario}" + }, + "PYPI_TOKEN not set and no registry URL configured — skipping PyPI publish. No worries, we'll just create the Gitea release.": { + "bg": "PYPI_TOKEN не е зададен и няма конфигуриран URL на registry — пропускаме публикуването в PyPI. Без притеснения, просто ще създадем Gitea release.", + "de": "PYPI_TOKEN nicht gesetzt und keine Registry-URL konfiguriert — PyPI-Veröffentlichung wird übersprungen. Keine Sorge, wir erstellen einfach das Gitea-Release.", + "en": "PYPI_TOKEN not set and no registry URL configured — skipping PyPI publish. No worries, we'll just create the Gitea release.", + "pl": "PYPI_TOKEN nie ustawiony i brak URL rejestru — pomijanie publikacji PyPI. Bez obaw, utworzymy tylko wydanie Gitea.", + "ru": "PYPI_TOKEN не задан и URL registry не настроен — пропускаем публикацию в PyPI. Не беспокойтесь, мы просто создадим Gitea release.", + "zh": "未设置 PYPI_TOKEN 且未配置 registry URL — 跳过 PyPI 发布。别担心,我们直接创建 Gitea release。", + "Cleaning up: running molecule destroy for {scenario}": "Cleaning up: running molecule destroy for {scenario}" + }, + "Package owner not specified. Use --owner or set [tool.devx] repo_owner.": { + "bg": "Package owner not specified. Use --owner or set [tool.devx] repo_owner.", + "de": "Package owner not specified. Use --owner or set [tool.devx] repo_owner.", + "en": "Package owner not specified. Use --owner or set [tool.devx] repo_owner.", + "pl": "Package owner not specified. Use --owner or set [tool.devx] repo_owner.", + "ru": "Package owner not specified. Use --owner or set [tool.devx] repo_owner.", + "zh": "Package owner not specified. Use --owner or set [tool.devx] repo_owner.", + "Cleaning up: running molecule destroy for {scenario}": "Cleaning up: running molecule destroy for {scenario}" + }, + "Package: {owner}/{name}": { + "bg": "Package: {owner}/{name}", + "de": "Package: {owner}/{name}", + "en": "Package: {owner}/{name}", + "pl": "Package: {owner}/{name}", + "ru": "Package: {owner}/{name}", + "zh": "Package: {owner}/{name}", + "Cleaning up: running molecule destroy for {scenario}": "Cleaning up: running molecule destroy for {scenario}" + }, + "Parsed owner={owner}, repo={repo} from DEVX_REPO_NAME": { + "bg": "Разбор на owner={owner}, repo={repo} от DEVX_REPO_NAME", + "de": "Owner={owner}, repo={repo} aus DEVX_REPO_NAME analysiert", + "en": "Parsed owner={owner}, repo={repo} from DEVX_REPO_NAME", + "pl": "Przeanalizowano owner={owner}, repo={repo} z DEVX_REPO_NAME", + "ru": "Извлечён owner={owner}, repo={repo} из DEVX_REPO_NAME", + "zh": "从 DEVX_REPO_NAME 解析 owner={owner}, repo={repo}", + "Cleaning up: running molecule destroy for {scenario}": "Cleaning up: running molecule destroy for {scenario}" + }, + "Path to pyproject.toml (default: pyproject.toml in CWD).": { + "bg": "Path to pyproject.toml (default: pyproject.toml in CWD).", + "de": "Path to pyproject.toml (default: pyproject.toml in CWD).", + "en": "Path to pyproject.toml (default: pyproject.toml in CWD).", + "pl": "Path to pyproject.toml (default: pyproject.toml in CWD).", + "ru": "Path to pyproject.toml (default: pyproject.toml in CWD).", + "zh": "Path to pyproject.toml (default: pyproject.toml in CWD).", + "Cleaning up: running molecule destroy for {scenario}": "Cleaning up: running molecule destroy for {scenario}" + }, + "Per-test speed check FAILED: {count} test(s) exceed {limit}s limit.": { + "bg": "Per-test speed check FAILED: {count} test(s) exceed {limit}s limit.", + "de": "Per-test speed check FAILED: {count} test(s) exceed {limit}s limit.", + "en": "Per-test speed check FAILED: {count} test(s) exceed {limit}s limit.", + "pl": "Kontrola szybkości pojedynczego testu NIEUDANA: {count} test(ów) przekracza limit {limit}s.", + "ru": "Per-test speed check FAILED: {count} test(s) exceed {limit}s limit.", + "zh": "Per-test speed check FAILED: {count} test(s) exceed {limit}s limit.", + "Cleaning up: running molecule destroy for {scenario}": "Cleaning up: running molecule destroy for {scenario}" + }, + "Pre-merge validation failed.": { + "bg": "Pre-merge validation failed.", + "de": "Pre-merge validation failed.", + "en": "Pre-merge validation failed.", + "pl": "Pre-merge validation failed.", + "ru": "Pre-merge validation failed.", + "zh": "Pre-merge validation failed.", + "Cleaning up: running molecule destroy for {scenario}": "Cleaning up: running molecule destroy for {scenario}" + }, + "Pre-push check passed: task {task_id} exists.": { + "bg": "Pre-push проверката премина: задача {task_id} съществува.", + "de": "Pre-push-Prüfung bestanden: Task {task_id} existiert.", + "en": "Pre-push check passed: task {task_id} exists.", + "pl": "Sprawdzanie pre-push zakończone: zadanie {task_id} istnieje.", + "ru": "Pre-push проверка пройдена: задача {task_id} существует.", + "zh": "Pre-push 检查通过: 任务 {task_id} 存在。", + "Cleaning up: running molecule destroy for {scenario}": "Cleaning up: running molecule destroy for {scenario}" + }, + "Print warnings but always exit 0": { + "bg": "Print warnings but always exit 0", + "de": "Print warnings but always exit 0", + "en": "Print warnings but always exit 0", + "pl": "Print warnings but always exit 0", + "ru": "Print warnings but always exit 0", + "zh": "Print warnings but always exit 0", + "Cleaning up: running molecule destroy for {scenario}": "Cleaning up: running molecule destroy for {scenario}" + }, + "Provide --manifest or both --dockerfile and --name": { + "bg": "Provide --manifest or both --dockerfile and --name", + "de": "Provide --manifest or both --dockerfile and --name", + "en": "Provide --manifest or both --dockerfile and --name", + "pl": "Provide --manifest or both --dockerfile and --name", + "ru": "Provide --manifest or both --dockerfile and --name", + "zh": "Provide --manifest or both --dockerfile and --name", + "Cleaning up: running molecule destroy for {scenario}": "Cleaning up: running molecule destroy for {scenario}" + }, + "Provide a commit message file or use --git.": { + "bg": "Provide a commit message file or use --git.", + "de": "Provide a commit message file or use --git.", + "en": "Provide a commit message file or use --git.", + "pl": "Podaj plik komunikatu commitu lub użyj --git.", + "ru": "Provide a commit message file or use --git.", + "zh": "Provide a commit message file or use --git.", + "Cleaning up: running molecule destroy for {scenario}": "Cleaning up: running molecule destroy for {scenario}" + }, + "Published to Gitea PyPI registry.": { + "bg": "Публикувано в Gitea PyPI registry.", + "de": "In der Gitea PyPI-Registry veröffentlicht.", + "en": "Published to Gitea PyPI registry.", + "pl": "Opublikowano w rejestrze Gitea PyPI.", + "ru": "Опубликовано в Gitea PyPI registry.", + "zh": "已发布到 Gitea PyPI registry。", + "Cleaning up: running molecule destroy for {scenario}": "Cleaning up: running molecule destroy for {scenario}" + }, + "Published to PyPI.": { + "bg": "Публикувано в PyPI.", + "de": "In PyPI veröffentlicht.", + "en": "Published to PyPI.", + "pl": "Opublikowano w PyPI.", + "ru": "Опубликовано в PyPI.", + "zh": "已发布到 PyPI。", + "Cleaning up: running molecule destroy for {scenario}": "Cleaning up: running molecule destroy for {scenario}" + }, + "Publishing release {tag}...": { + "bg": "Publishing release {tag}...", + "de": "Publishing release {tag}...", + "en": "Publishing release {tag}...", + "pl": "Publikowanie wydania {tag}...", + "ru": "Publishing release {tag}...", + "zh": "Publishing release {tag}...", + "Cleaning up: running molecule destroy for {scenario}": "Cleaning up: running molecule destroy for {scenario}" + }, + "Push attempt {n}/3 failed: {err}": { + "bg": "Push attempt {n}/3 failed: {err}", + "de": "Push attempt {n}/3 failed: {err}", + "en": "Push attempt {n}/3 failed: {err}", + "pl": "Push attempt {n}/3 failed: {err}", + "ru": "Push attempt {n}/3 failed: {err}", + "zh": "Push attempt {n}/3 failed: {err}", + "Cleaning up: running molecule destroy for {scenario}": "Cleaning up: running molecule destroy for {scenario}" + }, + "Push failed for {tag}: {error}": { + "bg": "Push failed for {tag}: {error}", + "de": "Push failed for {tag}: {error}", + "en": "Push failed for {tag}: {error}", + "pl": "Push failed for {tag}: {error}", + "ru": "Push failed for {tag}: {error}", + "zh": "Push failed for {tag}: {error}", + "Cleaning up: running molecule destroy for {scenario}": "Cleaning up: running molecule destroy for {scenario}" + }, + "Push failed: {error}": { + "bg": "", + "de": "", + "en": "Push failed: {error}", + "pl": "", + "ru": "", + "zh": "", + "Cleaning up: running molecule destroy for {scenario}": "Cleaning up: running molecule destroy for {scenario}" + }, + "Pushed README update with badge SHA {sha}": { + "bg": "Pushed README update with badge SHA {sha}", + "de": "Pushed README update with badge SHA {sha}", + "en": "Pushed README update with badge SHA {sha}", + "pl": "Pushed README update with badge SHA {sha}", + "ru": "Pushed README update with badge SHA {sha}", + "zh": "Pushed README update with badge SHA {sha}", + "Cleaning up: running molecule destroy for {scenario}": "Cleaning up: running molecule destroy for {scenario}" + }, + "Pushed release commit to master.": { + "bg": "Pushed release commit to master.", + "de": "Pushed release commit to master.", + "en": "Pushed release commit to master.", + "pl": "Wypchnięto commit wydania do master.", + "ru": "Pushed release commit to master.", + "zh": "Pushed release commit to master.", + "Cleaning up: running molecule destroy for {scenario}": "Cleaning up: running molecule destroy for {scenario}" + }, + "Pushed {branch} to origin.": { + "bg": "Pushed {branch} to origin.", + "de": "Pushed {branch} to origin.", + "en": "Pushed {branch} to origin.", + "pl": "Pushed {branch} to origin.", + "ru": "Pushed {branch} to origin.", + "zh": "Pushed {branch} to origin.", + "Cleaning up: running molecule destroy for {scenario}": "Cleaning up: running molecule destroy for {scenario}" + }, + "PyPI publish failed (non-fatal — continuing to Gitea release):\n{error}": { + "bg": "Публикуването в PyPI неуспешно (некритично — продължава към Gitea release):\n{error}", + "de": "PyPI-Veröffentlichung fehlgeschlagen (nicht fatal — Gitea-Release wird fortgesetzt):\n{error}", + "en": "PyPI publish failed (non-fatal — continuing to Gitea release):\n{error}", + "pl": "Publikacja PyPI nie powiodła się (niekrytyczne — kontynuacja Gitea release):\n{error}", + "ru": "Публикация в PyPI не удалась (некритично — продолжаем создание Gitea release):\n{error}", + "zh": "PyPI 发布失败(非致命 — 继续创建 Gitea release):\n{error}", + "Cleaning up: running molecule destroy for {scenario}": "Cleaning up: running molecule destroy for {scenario}" + }, + "REPO argument is required (or set GITHUB_REPOSITORY env var).": { + "bg": "REPO argument is required (or set GITHUB_REPOSITORY env var).", + "de": "REPO argument is required (or set GITHUB_REPOSITORY env var).", + "en": "REPO argument is required (or set GITHUB_REPOSITORY env var).", + "pl": "Argument REPO jest wymagany (lub ustaw zmienną GITHUB_REPOSITORY).", + "ru": "REPO argument is required (or set GITHUB_REPOSITORY env var).", + "zh": "REPO argument is required (or set GITHUB_REPOSITORY env var).", + "Cleaning up: running molecule destroy for {scenario}": "Cleaning up: running molecule destroy for {scenario}" }, "Real subprocess call(s) detected in test '{test}' without @patch:": { "bg": "Real subprocess call(s) detected in test '{test}' without @patch:", @@ -3781,7 +2974,296 @@ "en": "Real subprocess call(s) detected in test '{test}' without @patch:", "pl": "Real subprocess call(s) detected in test '{test}' without @patch:", "ru": "Real subprocess call(s) detected in test '{test}' without @patch:", - "zh": "Real subprocess call(s) detected in test '{test}' without @patch:" + "zh": "Real subprocess call(s) detected in test '{test}' without @patch:", + "Cleaning up: running molecule destroy for {scenario}": "Cleaning up: running molecule destroy for {scenario}" + }, + "Rebase attempt {n}/3 failed: {err}": { + "bg": "Rebase attempt {n}/3 failed: {err}", + "de": "Rebase attempt {n}/3 failed: {err}", + "en": "Rebase attempt {n}/3 failed: {err}", + "pl": "Rebase attempt {n}/3 failed: {err}", + "ru": "Rebase attempt {n}/3 failed: {err}", + "zh": "Rebase attempt {n}/3 failed: {err}", + "Cleaning up: running molecule destroy for {scenario}": "Cleaning up: running molecule destroy for {scenario}" + }, + "Rebase failed (conflicts or other error):\n{error}\nResolve conflicts and run: git rebase --continue": { + "bg": "Rebase failed (conflicts or other error):\n{error}\nResolve conflicts and run: git rebase --continue", + "de": "Rebase failed (conflicts or other error):\n{error}\nResolve conflicts and run: git rebase --continue", + "en": "Rebase failed (conflicts or other error):\n{error}\nResolve conflicts and run: git rebase --continue", + "pl": "Rebase failed (conflicts or other error):\n{error}\nResolve conflicts and run: git rebase --continue", + "ru": "Rebase failed (conflicts or other error):\n{error}\nResolve conflicts and run: git rebase --continue", + "zh": "Rebase failed (conflicts or other error):\n{error}\nResolve conflicts and run: git rebase --continue", + "Cleaning up: running molecule destroy for {scenario}": "Cleaning up: running molecule destroy for {scenario}" + }, + "Rebase failed with HTTP {status}: {message}": { + "bg": "Rebase failed with HTTP {status}: {message}", + "de": "Rebase failed with HTTP {status}: {message}", + "en": "Rebase failed with HTTP {status}: {message}", + "pl": "Rebase failed with HTTP {status}: {message}", + "ru": "Rebase failed with HTTP {status}: {message}", + "zh": "Rebase failed with HTTP {status}: {message}", + "Cleaning up: running molecule destroy for {scenario}": "Cleaning up: running molecule destroy for {scenario}" + }, + "Rebase successful.": { + "bg": "Rebase successful.", + "de": "Rebase successful.", + "en": "Rebase successful.", + "pl": "Rebase successful.", + "ru": "Rebase successful.", + "zh": "Rebase successful.", + "Cleaning up: running molecule destroy for {scenario}": "Cleaning up: running molecule destroy for {scenario}" + }, + "Rebasing PR #{pr} via Gitea API...": { + "bg": "Rebasing PR #{pr} via Gitea API...", + "de": "Rebasing PR #{pr} via Gitea API...", + "en": "Rebasing PR #{pr} via Gitea API...", + "pl": "Rebasing PR #{pr} via Gitea API...", + "ru": "Rebasing PR #{pr} via Gitea API...", + "zh": "Rebasing PR #{pr} via Gitea API...", + "Cleaning up: running molecule destroy for {scenario}": "Cleaning up: running molecule destroy for {scenario}" + }, + "Registry credentials required: set CI_GITEA_TOKEN and CI_GITEA_USERNAME env vars": { + "bg": "Registry credentials required: set CI_GITEA_TOKEN and CI_GITEA_USERNAME env vars", + "de": "Registry credentials required: set CI_GITEA_TOKEN and CI_GITEA_USERNAME env vars", + "en": "Registry credentials required: set CI_GITEA_TOKEN and CI_GITEA_USERNAME env vars", + "pl": "Registry credentials required: set CI_GITEA_TOKEN and CI_GITEA_USERNAME env vars", + "ru": "Registry credentials required: set CI_GITEA_TOKEN and CI_GITEA_USERNAME env vars", + "zh": "Registry credentials required: set CI_GITEA_TOKEN and CI_GITEA_USERNAME env vars", + "Cleaning up: running molecule destroy for {scenario}": "Cleaning up: running molecule destroy for {scenario}" + }, + "Registry login failed": { + "bg": "Registry login failed", + "de": "Registry login failed", + "en": "Registry login failed", + "pl": "Registry login failed", + "ru": "Registry login failed", + "zh": "Registry login failed", + "Cleaning up: running molecule destroy for {scenario}": "Cleaning up: running molecule destroy for {scenario}" + }, + "Registry login failed: {error}": { + "bg": "Registry login failed: {error}", + "de": "Registry login failed: {error}", + "en": "Registry login failed: {error}", + "pl": "Registry login failed: {error}", + "ru": "Registry login failed: {error}", + "zh": "Registry login failed: {error}", + "Cleaning up: running molecule destroy for {scenario}": "Cleaning up: running molecule destroy for {scenario}" + }, + "Regular merge commit — running all post-merge jobs.": { + "bg": "Regular merge commit — running all post-merge jobs.", + "de": "Regular merge commit — running all post-merge jobs.", + "en": "Regular merge commit — running all post-merge jobs.", + "pl": "Regular merge commit — running all post-merge jobs.", + "ru": "Regular merge commit — running all post-merge jobs.", + "zh": "Regular merge commit — running all post-merge jobs.", + "Cleaning up: running molecule destroy for {scenario}": "Cleaning up: running molecule destroy for {scenario}" + }, + "Release commit — skipping all post-merge jobs.": { + "bg": "Release commit — skipping all post-merge jobs.", + "de": "Release commit — skipping all post-merge jobs.", + "en": "Release commit — skipping all post-merge jobs.", + "pl": "Release commit — skipping all post-merge jobs.", + "ru": "Release commit — skipping all post-merge jobs.", + "zh": "Release commit — skipping all post-merge jobs.", + "Cleaning up: running molecule destroy for {scenario}": "Cleaning up: running molecule destroy for {scenario}" + }, + "Release creation failed: {error}": { + "bg": "Release creation failed: {error}", + "de": "Release creation failed: {error}", + "en": "Release creation failed: {error}", + "pl": "Tworzenie wydania nie powiodło się: {error}", + "ru": "Release creation failed: {error}", + "zh": "Release creation failed: {error}", + "Cleaning up: running molecule destroy for {scenario}": "Cleaning up: running molecule destroy for {scenario}" + }, + "Release must be run on master, currently on '{branch}'.": { + "bg": "Release must be run on master, currently on '{branch}'.", + "de": "Release must be run on master, currently on '{branch}'.", + "en": "Release must be run on master, currently on '{branch}'.", + "pl": "Wydanie musi być uruchomione na master, obecnie na '{branch}'.", + "ru": "Release must be run on master, currently on '{branch}'.", + "zh": "Release must be run on master, currently on '{branch}'.", + "Cleaning up: running molecule destroy for {scenario}": "Cleaning up: running molecule destroy for {scenario}" + }, + "Repo must be in 'owner/name' format, got: {repo}": { + "bg": "Repo must be in 'owner/name' format, got: {repo}", + "de": "Repo must be in 'owner/name' format, got: {repo}", + "en": "Repo must be in 'owner/name' format, got: {repo}", + "pl": "Repo musi być w formacie 'owner/name', otrzymano: {repo}", + "ru": "Repo must be in 'owner/name' format, got: {repo}", + "zh": "Repo must be in 'owner/name' format, got: {repo}", + "Cleaning up: running molecule destroy for {scenario}": "Cleaning up: running molecule destroy for {scenario}" + }, + "Repository configuration complete.": { + "bg": "Конфигурирането на хранилището е завършено.", + "de": "Repository-Konfiguration abgeschlossen.", + "en": "Repository configuration complete.", + "pl": "Konfiguracja repozytorium zakończona.", + "ru": "Конфигурация репозитория завершена.", + "zh": "仓库配置完成。", + "Cleaning up: running molecule destroy for {scenario}": "Cleaning up: running molecule destroy for {scenario}" + }, + "Repository in owner/name format": { + "bg": "Repository in owner/name format", + "de": "Repository in owner/name format", + "en": "Repository in owner/name format", + "pl": "Repository in owner/name format", + "ru": "Repository in owner/name format", + "zh": "Repository in owner/name format", + "Cleaning up: running molecule destroy for {scenario}": "Cleaning up: running molecule destroy for {scenario}" + }, + "Repository name not set. Use DEVX_REPO_NAME, [tool.devx] repo_name, or GITHUB_REPOSITORY env var.": { + "bg": "Repository name not set. Use DEVX_REPO_NAME, [tool.devx] repo_name, or GITHUB_REPOSITORY env var.", + "de": "Repository name not set. Use DEVX_REPO_NAME, [tool.devx] repo_name, or GITHUB_REPOSITORY env var.", + "en": "Repository name not set. Use DEVX_REPO_NAME, [tool.devx] repo_name, or GITHUB_REPOSITORY env var.", + "pl": "Repository name not set. Use DEVX_REPO_NAME, [tool.devx] repo_name, or GITHUB_REPOSITORY env var.", + "ru": "Repository name not set. Use DEVX_REPO_NAME, [tool.devx] repo_name, or GITHUB_REPOSITORY env var.", + "zh": "Repository name not set. Use DEVX_REPO_NAME, [tool.devx] repo_name, or GITHUB_REPOSITORY env var.", + "Cleaning up: running molecule destroy for {scenario}": "Cleaning up: running molecule destroy for {scenario}" + }, + "Repository owner not set. Use --owner or DEVX_REPO_OWNER env var.": { + "bg": "Собственикът на хранилището не е зададен. Използвайте --owner или DEVX_REPO_OWNER env var.", + "de": "Repository-Owner nicht gesetzt. Verwende --owner oder DEVX_REPO_OWNER env var.", + "en": "Repository owner not set. Use --owner or DEVX_REPO_OWNER env var.", + "pl": "Właściciel repozytorium nie jest ustawiony. Użyj --owner lub DEVX_REPO_OWNER env var.", + "ru": "Владелец репозитория не установлен. Используйте --owner или DEVX_REPO_OWNER env var.", + "zh": "仓库所有者未设置。使用 --owner 或 DEVX_REPO_OWNER 环境变量。", + "Cleaning up: running molecule destroy for {scenario}": "Cleaning up: running molecule destroy for {scenario}" + }, + "Required tools missing.": { + "bg": "Липсват задължителни инструменти.", + "de": "Erforderliche Werkzeuge fehlen.", + "en": "Required tools missing.", + "pl": "Brak wymaganych narzędzi.", + "ru": "Отсутствуют обязательные инструменты.", + "zh": "缺少必需的工具。", + "Cleaning up: running molecule destroy for {scenario}": "Cleaning up: running molecule destroy for {scenario}" + }, + "Review body must be at least 50 characters.": { + "bg": "Review body must be at least 50 characters.", + "de": "Review body must be at least 50 characters.", + "en": "Review body must be at least 50 characters.", + "pl": "Review body must be at least 50 characters.", + "ru": "Review body must be at least 50 characters.", + "zh": "Review body must be at least 50 characters.", + "Cleaning up: running molecule destroy for {scenario}": "Cleaning up: running molecule destroy for {scenario}" + }, + "Roles directory not found: {path}": { + "bg": "Roles directory not found: {path}", + "de": "Roles directory not found: {path}", + "en": "Roles directory not found: {path}", + "pl": "Katalog ról nie znaleziony: {path}", + "ru": "Roles directory not found: {path}", + "zh": "Roles directory not found: {path}", + "Cleaning up: running molecule destroy for {scenario}": "Cleaning up: running molecule destroy for {scenario}" + }, + "Runner count: {count}": { + "bg": "Runner count: {count}", + "de": "Runner count: {count}", + "en": "Runner count: {count}", + "pl": "Runner count: {count}", + "ru": "Runner count: {count}", + "zh": "Runner count: {count}", + "Cleaning up: running molecule destroy for {scenario}": "Cleaning up: running molecule destroy for {scenario}" + }, + "Runner index {index} out of range (0..{max})": { + "bg": "Индексът на runner {index} е извън диапазона (0..{max})", + "de": "Runner-Index {index} außerhalb des Bereichs (0..{max})", + "en": "Runner index {index} out of range (0..{max})", + "pl": "Indeks runnera {index} poza zakresem (0..{max})", + "ru": "Индекс runner {index} вне диапазона (0..{max})", + "zh": "Runner 索引 {index} 超出范围 (0..{max})", + "Cleaning up: running molecule destroy for {scenario}": "Cleaning up: running molecule destroy for {scenario}" + }, + "Runner index {runner_index} is out of range (must be >= 1)": { + "bg": "Runner index {runner_index} is out of range (must be >= 1)", + "de": "Runner index {runner_index} is out of range (must be >= 1)", + "en": "Runner index {runner_index} is out of range (must be >= 1)", + "pl": "Runner index {runner_index} is out of range (must be >= 1)", + "ru": "Runner index {runner_index} is out of range (must be >= 1)", + "zh": "Runner index {runner_index} is out of range (must be >= 1)", + "Cleaning up: running molecule destroy for {scenario}": "Cleaning up: running molecule destroy for {scenario}" + }, + "Runner indices: {indices}": { + "bg": "Runner indices: {indices}", + "de": "Runner indices: {indices}", + "en": "Runner indices: {indices}", + "pl": "Runner indices: {indices}", + "ru": "Runner indices: {indices}", + "zh": "Runner indices: {indices}", + "Cleaning up: running molecule destroy for {scenario}": "Cleaning up: running molecule destroy for {scenario}" + }, + "Runner {i}: {labels}": { + "bg": "Runner {i}: {labels}", + "de": "Runner {i}: {labels}", + "en": "Runner {i}: {labels}", + "pl": "Runner {i}: {labels}", + "ru": "Runner {i}: {labels}", + "zh": "Runner {i}: {labels}", + "Cleaning up: running molecule destroy for {scenario}": "Cleaning up: running molecule destroy for {scenario}" + }, + "Running lint checks...": { + "bg": "Running lint checks...", + "de": "Running lint checks...", + "en": "Running lint checks...", + "pl": "Uruchamianie kontroli lint...", + "ru": "Running lint checks...", + "zh": "Running lint checks...", + "Cleaning up: running molecule destroy for {scenario}": "Cleaning up: running molecule destroy for {scenario}" + }, + "Running tests...": { + "bg": "Running tests...", + "de": "Running tests...", + "en": "Running tests...", + "pl": "Uruchamianie testów...", + "ru": "Running tests...", + "zh": "Running tests...", + "Cleaning up: running molecule destroy for {scenario}": "Cleaning up: running molecule destroy for {scenario}" + }, + "Running: {cmd}": { + "bg": "Running: {cmd}", + "de": "Running: {cmd}", + "en": "Running: {cmd}", + "pl": "Running: {cmd}", + "ru": "Running: {cmd}", + "zh": "Running: {cmd}", + "Cleaning up: running molecule destroy for {scenario}": "Cleaning up: running molecule destroy for {scenario}" + }, + "Running: {scenario} on {platform}": { + "bg": "Running: {scenario} on {platform}", + "de": "Running: {scenario} on {platform}", + "en": "Running: {scenario} on {platform}", + "pl": "Uruchamianie: {scenario} na {platform}", + "ru": "Running: {scenario} on {platform}", + "zh": "Running: {scenario} on {platform}", + "Cleaning up: running molecule destroy for {scenario}": "Cleaning up: running molecule destroy for {scenario}" + }, + "SSH key set up successfully": { + "bg": "SSH ключът е настроен успешно", + "de": "SSH-Schlüssel erfolgreich eingerichtet", + "en": "SSH key set up successfully", + "pl": "Klucz SSH skonfigurowany pomyślnie", + "ru": "SSH-ключ успешно настроен", + "zh": "SSH 密钥设置成功", + "Cleaning up: running molecule destroy for {scenario}": "Cleaning up: running molecule destroy for {scenario}" + }, + "SSH key setup skipped (no key provided)": { + "bg": "Настройката на SSH ключ е пропусната (не е предоставен ключ)", + "de": "SSH-Schlüssel-Setup übersprungen (kein Schlüssel bereitgestellt)", + "en": "SSH key setup skipped (no key provided)", + "pl": "Pominięto konfigurację klucza SSH (brak klucza)", + "ru": "Настройка SSH-ключа пропущена (ключ не предоставлен)", + "zh": "SSH 密钥设置已跳过(未提供密钥)", + "Cleaning up: running molecule destroy for {scenario}": "Cleaning up: running molecule destroy for {scenario}" + }, + "SSH_PRIVATE_KEY not set — skipping SSH key setup": { + "bg": "SSH_PRIVATE_KEY не е зададен — пропускане на SSH ключ настройката", + "de": "SSH_PRIVATE_KEY nicht gesetzt — SSH-Schlüssel-Setup übersprungen", + "en": "SSH_PRIVATE_KEY not set — skipping SSH key setup", + "pl": "SSH_PRIVATE_KEY nie ustawione — pomijanie konfiguracji klucza SSH", + "ru": "SSH_PRIVATE_KEY не задан — пропуск настройки SSH-ключа", + "zh": "SSH_PRIVATE_KEY 未设置 — 跳过 SSH 密钥设置", + "Cleaning up: running molecule destroy for {scenario}": "Cleaning up: running molecule destroy for {scenario}" }, "Show what would change without updating": { "bg": "Show what would change without updating", @@ -3789,7 +3271,134 @@ "en": "Show what would change without updating", "pl": "Show what would change without updating", "ru": "Show what would change without updating", - "zh": "Show what would change without updating" + "zh": "Show what would change without updating", + "Cleaning up: running molecule destroy for {scenario}": "Cleaning up: running molecule destroy for {scenario}" + }, + "Skip Vikunja title match check": { + "bg": "Skip Vikunja title match check", + "de": "Skip Vikunja title match check", + "en": "Skip Vikunja title match check", + "pl": "Skip Vikunja title match check", + "ru": "Skip Vikunja title match check", + "zh": "Skip Vikunja title match check", + "Cleaning up: running molecule destroy for {scenario}": "Cleaning up: running molecule destroy for {scenario}" + }, + "Skip branch-behind-master check": { + "bg": "Skip branch-behind-master check", + "de": "Skip branch-behind-master check", + "en": "Skip branch-behind-master check", + "pl": "Skip branch-behind-master check", + "ru": "Skip branch-behind-master check", + "zh": "Skip branch-behind-master check", + "Cleaning up: running molecule destroy for {scenario}": "Cleaning up: running molecule destroy for {scenario}" + }, + "Skipping commit push — no staged changes.": { + "bg": "Skipping commit push — no staged changes.", + "de": "Skipping commit push — no staged changes.", + "en": "Skipping commit push — no staged changes.", + "pl": "Pomijanie wypchnięcia commit — brak zmian w staging.", + "ru": "Skipping commit push — no staged changes.", + "zh": "Skipping commit push — no staged changes.", + "Cleaning up: running molecule destroy for {scenario}": "Cleaning up: running molecule destroy for {scenario}" + }, + "Skipping — runner index {runner_index} > max runners {max_runners}": { + "bg": "Skipping — runner index {runner_index} > max runners {max_runners}", + "de": "Skipping — runner index {runner_index} > max runners {max_runners}", + "en": "Skipping — runner index {runner_index} > max runners {max_runners}", + "pl": "Skipping — runner index {runner_index} > max runners {max_runners}", + "ru": "Skipping — runner index {runner_index} > max runners {max_runners}", + "zh": "Skipping — runner index {runner_index} > max runners {max_runners}", + "Cleaning up: running molecule destroy for {scenario}": "Cleaning up: running molecule destroy for {scenario}" + }, + "Synced to latest origin/{branch}": { + "bg": "Synced to latest origin/{branch}", + "de": "Synced to latest origin/{branch}", + "en": "Synced to latest origin/{branch}", + "pl": "Synced to latest origin/{branch}", + "ru": "Synced to latest origin/{branch}", + "zh": "Synced to latest origin/{branch}", + "Cleaning up: running molecule destroy for {scenario}": "Cleaning up: running molecule destroy for {scenario}" + }, + "Syncing files...": { + "bg": "", + "de": "", + "en": "Syncing files...", + "pl": "", + "ru": "", + "zh": "", + "Cleaning up: running molecule destroy for {scenario}": "Cleaning up: running molecule destroy for {scenario}" + }, + "Syncing {count} documentation pages to wiki via Git...": { + "bg": "", + "de": "", + "en": "Syncing {count} documentation pages to wiki via Git...", + "pl": "", + "ru": "", + "zh": "", + "Cleaning up: running molecule destroy for {scenario}": "Cleaning up: running molecule destroy for {scenario}" + }, + "Tag consistency check failed.": { + "bg": "Tag consistency check failed.", + "de": "Tag consistency check failed.", + "en": "Tag consistency check failed.", + "pl": "Kontrola zgodności tagów nie powiodła się.", + "ru": "Tag consistency check failed.", + "zh": "Tag consistency check failed.", + "Cleaning up: running molecule destroy for {scenario}": "Cleaning up: running molecule destroy for {scenario}" + }, + "Tag is required (or use --from-tag).": { + "bg": "Tag is required (or use --from-tag).", + "de": "Tag is required (or use --from-tag).", + "en": "Tag is required (or use --from-tag).", + "pl": "Tag jest wymagany (lub użyj --from-tag).", + "ru": "Tag is required (or use --from-tag).", + "zh": "Tag is required (or use --from-tag).", + "Cleaning up: running molecule destroy for {scenario}": "Cleaning up: running molecule destroy for {scenario}" + }, + "Tag v{version} already existed. Publish workflow should already have been triggered.": { + "bg": "Tag v{version} already existed. Publish workflow should already have been triggered.", + "de": "Tag v{version} already existed. Publish workflow should already have been triggered.", + "en": "Tag v{version} already existed. Publish workflow should already have been triggered.", + "pl": "Tag v{version} już istniał. Workflow publikacji powinien już być uruchomiony.", + "ru": "Tag v{version} already existed. Publish workflow should already have been triggered.", + "zh": "Tag v{version} already existed. Publish workflow should already have been triggered.", + "Cleaning up: running molecule destroy for {scenario}": "Cleaning up: running molecule destroy for {scenario}" + }, + "Tag {tag} already exists and points to HEAD. Skipping creation.": { + "bg": "Tag {tag} already exists and points to HEAD. Skipping creation.", + "de": "Tag {tag} already exists and points to HEAD. Skipping creation.", + "en": "Tag {tag} already exists and points to HEAD. Skipping creation.", + "pl": "Tag {tag} już istnieje i wskazuje na HEAD. Pomijanie tworzenia.", + "ru": "Tag {tag} already exists and points to HEAD. Skipping creation.", + "zh": "Tag {tag} already exists and points to HEAD. Skipping creation.", + "Cleaning up: running molecule destroy for {scenario}": "Cleaning up: running molecule destroy for {scenario}" + }, + "Tag {tag} already exists but points to {tag_commit} (expected HEAD {head_commit}). This indicates a tag/commit misalignment. Run 'python3 -m devx.ci.release --verify' for details.": { + "bg": "Tag {tag} already exists but points to {tag_commit} (expected HEAD {head_commit}). This indicates a tag/commit misalignment. Run 'python3 -m devx.ci.release --verify' for details.", + "de": "Tag {tag} already exists but points to {tag_commit} (expected HEAD {head_commit}). This indicates a tag/commit misalignment. Run 'python3 -m devx.ci.release --verify' for details.", + "en": "Tag {tag} already exists but points to {tag_commit} (expected HEAD {head_commit}). This indicates a tag/commit misalignment. Run 'python3 -m devx.ci.release --verify' for details.", + "pl": "Tag {tag} już istnieje ale wskazuje na {tag_commit} (oczekiwano HEAD {head_commit}). Wskazuje to na niezgodność tag/commit. Uruchom 'python3 -m devx.ci.release --verify', aby uzyskać szczegóły.", + "ru": "Tag {tag} already exists but points to {tag_commit} (expected HEAD {head_commit}). This indicates a tag/commit misalignment. Run 'python3 -m devx.ci.release --verify' for details.", + "zh": "Tag {tag} already exists but points to {tag_commit} (expected HEAD {head_commit}). This indicates a tag/commit misalignment. Run 'python3 -m devx.ci.release --verify' for details.", + "Cleaning up: running molecule destroy for {scenario}": "Cleaning up: running molecule destroy for {scenario}" + }, + "Task ID: {task_id}": { + "bg": "Task ID: {task_id}", + "de": "Task ID: {task_id}", + "en": "Task ID: {task_id}", + "pl": "ID zadania: {task_id}", + "ru": "Task ID: {task_id}", + "zh": "Task ID: {task_id}", + "Cleaning up: running molecule destroy for {scenario}": "Cleaning up: running molecule destroy for {scenario}" + }, + "Test '{name}' took {elapsed:.2f}s (limit: {limit}s). Optimise: use lighter fixtures, reduce I/O, or mock external calls.": { + "bg": "Test '{name}' took {elapsed:.2f}s (limit: {limit}s). Optimise: use lighter fixtures, reduce I/O, or mock external calls.", + "de": "Test '{name}' took {elapsed:.2f}s (limit: {limit}s). Optimise: use lighter fixtures, reduce I/O, or mock external calls.", + "en": "Test '{name}' took {elapsed:.2f}s (limit: {limit}s). Optimise: use lighter fixtures, reduce I/O, or mock external calls.", + "pl": "Test '{name}' trwał {elapsed:.2f}s (limit: {limit}s). Optymalizuj: użyj lżejszych fixtures, zmniejsz I/O, lub mockuj zewnętrzne wywołania.", + "ru": "Test '{name}' took {elapsed:.2f}s (limit: {limit}s). Optimise: use lighter fixtures, reduce I/O, or mock external calls.", + "zh": "Test '{name}' took {elapsed:.2f}s (limit: {limit}s). Optimise: use lighter fixtures, reduce I/O, or mock external calls.", + "Cleaning up: running molecule destroy for {scenario}": "Cleaning up: running molecule destroy for {scenario}" }, "Test isolation check FAILED: {count} violation(s) in {files} file(s).": { "bg": "Test isolation check FAILED: {count} violation(s) in {files} file(s).", @@ -3797,7 +3406,8 @@ "en": "Test isolation check FAILED: {count} violation(s) in {files} file(s).", "pl": "Test isolation check FAILED: {count} violation(s) in {files} file(s).", "ru": "Test isolation check FAILED: {count} violation(s) in {files} file(s).", - "zh": "Test isolation check FAILED: {count} violation(s) in {files} file(s)." + "zh": "Test isolation check FAILED: {count} violation(s) in {files} file(s).", + "Cleaning up: running molecule destroy for {scenario}": "Cleaning up: running molecule destroy for {scenario}" }, "Test isolation check passed with {count} advisory warning(s) in {files} file(s).": { "bg": "Test isolation check passed with {count} advisory warning(s) in {files} file(s).", @@ -3805,7 +3415,44 @@ "en": "Test isolation check passed with {count} advisory warning(s) in {files} file(s).", "pl": "Test isolation check passed with {count} advisory warning(s) in {files} file(s).", "ru": "Test isolation check passed with {count} advisory warning(s) in {files} file(s).", - "zh": "Test isolation check passed with {count} advisory warning(s) in {files} file(s)." + "zh": "Test isolation check passed with {count} advisory warning(s) in {files} file(s).", + "Cleaning up: running molecule destroy for {scenario}": "Cleaning up: running molecule destroy for {scenario}" + }, + "Test isolation check passed: {count} test files analyzed, no violations found.": { + "bg": "Проверката за изолация на тестове премина: анализирани са {count} тестови файла, няма нарушения.", + "de": "Testisolationsprüfung bestanden: {count} Testdateien analysiert, keine Verstöße gefunden.", + "en": "Test isolation check passed: {count} test files analyzed, no violations found.", + "pl": "Sprawdzenie izolacji testów zaliczone: przeanalizowano {count} plików testowych, brak naruszeń.", + "ru": "Проверка изоляции тестов пройдена: проанализировано {count} тестовых файлов, нарушений не найдено.", + "zh": "测试隔离检查通过:已分析 {count} 个测试文件,未发现违规。", + "Cleaning up: running molecule destroy for {scenario}": "Cleaning up: running molecule destroy for {scenario}" + }, + "Tests failed — refusing to release. Fix test failures first.\n{stderr}": { + "bg": "Tests failed — refusing to release. Fix test failures first.\n{stderr}", + "de": "Tests failed — refusing to release. Fix test failures first.\n{stderr}", + "en": "Tests failed — refusing to release. Fix test failures first.\n{stderr}", + "pl": "Testy nie powiodły się — odmowa wydania. Najpierw napraw niepowodzenia testów.\n{stderr}", + "ru": "Tests failed — refusing to release. Fix test failures first.\n{stderr}", + "zh": "Tests failed — refusing to release. Fix test failures first.\n{stderr}", + "Cleaning up: running molecule destroy for {scenario}": "Cleaning up: running molecule destroy for {scenario}" + }, + "Tests passed.": { + "bg": "Tests passed.", + "de": "Tests passed.", + "en": "Tests passed.", + "pl": "Testy zakończone pomyślnie.", + "ru": "Tests passed.", + "zh": "Tests passed.", + "Cleaning up: running molecule destroy for {scenario}": "Cleaning up: running molecule destroy for {scenario}" + }, + "Timeout reached after {timeout}s.": { + "bg": "Timeout reached after {timeout}s.", + "de": "Timeout reached after {timeout}s.", + "en": "Timeout reached after {timeout}s.", + "pl": "Timeout reached after {timeout}s.", + "ru": "Timeout reached after {timeout}s.", + "zh": "Timeout reached after {timeout}s.", + "Cleaning up: running molecule destroy for {scenario}": "Cleaning up: running molecule destroy for {scenario}" }, "Transitive-subprocess advisories (runtime audit is authoritative):": { "bg": "Transitive-subprocess advisories (runtime audit is authoritative):", @@ -3813,7 +3460,674 @@ "en": "Transitive-subprocess advisories (runtime audit is authoritative):", "pl": "Transitive-subprocess advisories (runtime audit is authoritative):", "ru": "Transitive-subprocess advisories (runtime audit is authoritative):", - "zh": "Transitive-subprocess advisories (runtime audit is authoritative):" + "zh": "Transitive-subprocess advisories (runtime audit is authoritative):", + "Cleaning up: running molecule destroy for {scenario}": "Cleaning up: running molecule destroy for {scenario}" + }, + "Unit tests passed in {duration:.2f}s (under {max}s limit, all tests under {single}s per-test limit).": { + "bg": "Unit tests passed in {duration:.2f}s (under {max}s limit, all tests under {single}s per-test limit).", + "de": "Unit tests passed in {duration:.2f}s (under {max}s limit, all tests under {single}s per-test limit).", + "en": "Unit tests passed in {duration:.2f}s (under {max}s limit, all tests under {single}s per-test limit).", + "pl": "Testy jednostkowe zakończone pomyślnie w {duration:.2f}s (poniżej limitu {max}s, wszystkie testy poniżej limitu {single}s na test).", + "ru": "Unit tests passed in {duration:.2f}s (under {max}s limit, all tests under {single}s per-test limit).", + "zh": "Unit tests passed in {duration:.2f}s (under {max}s limit, all tests under {single}s per-test limit).", + "Cleaning up: running molecule destroy for {scenario}": "Cleaning up: running molecule destroy for {scenario}" + }, + "Unit tests too slow: {duration:.2f}s (max allowed: {max}s).\n Fix: run 'make pytest-cov' to profile, then optimise slow tests.\n Hint: avoid unnecessary imports, use lighter mocks, or cache fixtures.": { + "bg": "Unit tests too slow: {duration:.2f}s (max allowed: {max}s).\n Fix: run 'make pytest-cov' to profile, then optimise slow tests.\n Hint: avoid unnecessary imports, use lighter mocks, or cache fixtures.", + "de": "Unit tests too slow: {duration:.2f}s (max allowed: {max}s).\n Fix: run 'make pytest-cov' to profile, then optimise slow tests.\n Hint: avoid unnecessary imports, use lighter mocks, or cache fixtures.", + "en": "Unit tests too slow: {duration:.2f}s (max allowed: {max}s).\n Fix: run 'make pytest-cov' to profile, then optimise slow tests.\n Hint: avoid unnecessary imports, use lighter mocks, or cache fixtures.", + "pl": "Testy jednostkowe zbyt wolne: {duration:.2f}s (maks. dozwolone: {max}s).\n Naprawa: uruchom 'make pytest-cov' do profilowania, następnie zoptymalizuj wolne testy.\n Wskazówka: unikaj niepotrzebnych importów, użyj lżejszych mocków, lub buforuj fixtures.", + "ru": "Unit tests too slow: {duration:.2f}s (max allowed: {max}s).\n Fix: run 'make pytest-cov' to profile, then optimise slow tests.\n Hint: avoid unnecessary imports, use lighter mocks, or cache fixtures.", + "zh": "Unit tests too slow: {duration:.2f}s (max allowed: {max}s).\n Fix: run 'make pytest-cov' to profile, then optimise slow tests.\n Hint: avoid unnecessary imports, use lighter mocks, or cache fixtures.", + "Cleaning up: running molecule destroy for {scenario}": "Cleaning up: running molecule destroy for {scenario}" + }, + "Unknown check category '{check}'. Available: all, user-facing{tags}": { + "bg": "Unknown check category '{check}'. Available: all, user-facing{tags}", + "de": "Unknown check category '{check}'. Available: all, user-facing{tags}", + "en": "Unknown check category '{check}'. Available: all, user-facing{tags}", + "pl": "Nieznana kategoria kontroli '{check}'. Dostępne: all, user-facing{tags}", + "ru": "Unknown check category '{check}'. Available: all, user-facing{tags}", + "zh": "Unknown check category '{check}'. Available: all, user-facing{tags}", + "Cleaning up: running molecule destroy for {scenario}": "Cleaning up: running molecule destroy for {scenario}" + }, + "Updated badge URLs in {filename}": { + "bg": "Updated badge URLs in {filename}", + "de": "Updated badge URLs in {filename}", + "en": "Updated badge URLs in {filename}", + "pl": "Updated badge URLs in {filename}", + "ru": "Updated badge URLs in {filename}", + "zh": "Updated badge URLs in {filename}", + "Cleaning up: running molecule destroy for {scenario}": "Cleaning up: running molecule destroy for {scenario}" + }, + "Updated documentation version references to v{version}": { + "bg": "", + "de": "", + "en": "Updated documentation version references to v{version}", + "pl": "", + "ru": "", + "zh": "", + "Cleaning up: running molecule destroy for {scenario}": "Cleaning up: running molecule destroy for {scenario}" + }, + "Updated version in {init}": { + "bg": "Updated version in {init}", + "de": "Updated version in {init}", + "en": "Updated version in {init}", + "pl": "Zaktualizowano wersję w {init}", + "ru": "Updated version in {init}", + "zh": "Updated version in {init}", + "Cleaning up: running molecule destroy for {scenario}": "Cleaning up: running molecule destroy for {scenario}" + }, + "Updated {changelog_file}": { + "bg": "Updated {changelog_file}", + "de": "Updated {changelog_file}", + "en": "Updated {changelog_file}", + "pl": "Zaktualizowano {changelog_file}", + "ru": "Updated {changelog_file}", + "zh": "Updated {changelog_file}", + "Cleaning up: running molecule destroy for {scenario}": "Cleaning up: running molecule destroy for {scenario}" + }, + "Use string comparison or _is_truthy()/_is_falsy() helpers instead. Add '{marker}' to suppress individual lines.": { + "bg": "Използвайте сравнение на низове или _is_truthy()/_is_falsy() помощници. Добавете '{marker}' за потискане на отделни редове.", + "de": "Verwenden Sie String-Vergleich oder _is_truthy()/_is_falsy() Hilfsfunktionen. Fügen Sie '{marker}' hinzu, um einzelne Zeilen zu unterdrücken.", + "en": "Use string comparison or _is_truthy()/_is_falsy() helpers instead. Add '{marker}' to suppress individual lines.", + "pl": "Użyj porównania ciągów lub pomocników _is_truthy()/_is_falsy(). Dodaj '{marker}', aby pominąć pojedyncze linie.", + "ru": "Используйте строковое сравнение или помощники _is_truthy()/_is_falsy(). Добавьте '{marker}' для подавления отдельных строк.", + "zh": "使用字符串比较或 _is_truthy()/_is_falsy() 辅助函数。添加 '{marker}' 以抑制个别行。", + "Cleaning up: running molecule destroy for {scenario}": "Cleaning up: running molecule destroy for {scenario}" + }, + "VIKUNJA_TOKEN is not set. Required to derive PR title.": { + "bg": "VIKUNJA_TOKEN не е зададен. Необходим за извличане на PR заглавие.", + "de": "VIKUNJA_TOKEN nicht gesetzt. Erforderlich zum Ableiten des PR-Titels.", + "en": "VIKUNJA_TOKEN is not set. Required to derive PR title.", + "pl": "VIKUNJA_TOKEN nie jest ustawiony. Wymagany do pobrania tytułu PR.", + "ru": "VIKUNJA_TOKEN не установлен. Требуется для получения заголовка PR.", + "zh": "VIKUNJA_TOKEN 未设置。推导 PR 标题所需。", + "Cleaning up: running molecule destroy for {scenario}": "Cleaning up: running molecule destroy for {scenario}" + }, + "VIKUNJA_TOKEN is not set. Set it in .env or environment.": { + "bg": "VIKUNJA_TOKEN не е зададен. Задайте го в .env или средата.", + "de": "VIKUNJA_TOKEN nicht gesetzt. In .env oder Umgebung setzen.", + "en": "VIKUNJA_TOKEN is not set. Set it in .env or environment.", + "pl": "VIKUNJA_TOKEN nie jest ustawiony. Ustaw go w .env lub środowisku.", + "ru": "VIKUNJA_TOKEN не установлен. Установите его в .env или среде.", + "zh": "VIKUNJA_TOKEN 未设置。在 .env 或环境中设置它。", + "Cleaning up: running molecule destroy for {scenario}": "Cleaning up: running molecule destroy for {scenario}" + }, + "VIKUNJA_TOKEN is not set. This is required in CI to validate PR titles.": { + "bg": "VIKUNJA_TOKEN is not set. This is required in CI to validate PR titles.", + "de": "VIKUNJA_TOKEN is not set. This is required in CI to validate PR titles.", + "en": "VIKUNJA_TOKEN is not set. This is required in CI to validate PR titles.", + "pl": "VIKUNJA_TOKEN nie jest ustawiony. Jest to wymagane w CI do walidacji tytułów PR.", + "ru": "VIKUNJA_TOKEN is not set. This is required in CI to validate PR titles.", + "zh": "VIKUNJA_TOKEN is not set. This is required in CI to validate PR titles.", + "Cleaning up: running molecule destroy for {scenario}": "Cleaning up: running molecule destroy for {scenario}" + }, + "Version file: {file}": { + "bg": "Version file: {file}", + "de": "Version file: {file}", + "en": "Version file: {file}", + "pl": "Plik wersji: {file}", + "ru": "Version file: {file}", + "zh": "Version file: {file}", + "Cleaning up: running molecule destroy for {scenario}": "Cleaning up: running molecule destroy for {scenario}" + }, + "Version stays at v{version} — no version bump from git-cliff. Commits since last tag don't warrant a new release. Skipping.": { + "bg": "", + "de": "", + "en": "Version stays at v{version} — no version bump from git-cliff. Commits since last tag don't warrant a new release. Skipping.", + "pl": "", + "ru": "", + "zh": "", + "Cleaning up: running molecule destroy for {scenario}": "Cleaning up: running molecule destroy for {scenario}" + }, + "Vikunja API error (HTTP {status}): {message}. Task {task_id} was NOT updated. The merge succeeded but the Vikunja task needs manual update.": { + "bg": "Vikunja API error (HTTP {status}): {message}. Task {task_id} was NOT updated. The merge succeeded but the Vikunja task needs manual update.", + "de": "Vikunja API error (HTTP {status}): {message}. Task {task_id} was NOT updated. The merge succeeded but the Vikunja task needs manual update.", + "en": "Vikunja API error (HTTP {status}): {message}. Task {task_id} was NOT updated. The merge succeeded but the Vikunja task needs manual update.", + "pl": "Błąd API Vikunja (HTTP {status}): {message}. Zadanie {task_id} NIE zostało zaktualizowane. Scalenie powiodło się ale zadanie Vikunja wymaga ręcznej aktualizacji.", + "ru": "Vikunja API error (HTTP {status}): {message}. Task {task_id} was NOT updated. The merge succeeded but the Vikunja task needs manual update.", + "zh": "Vikunja API error (HTTP {status}): {message}. Task {task_id} was NOT updated. The merge succeeded but the Vikunja task needs manual update.", + "Cleaning up: running molecule destroy for {scenario}": "Cleaning up: running molecule destroy for {scenario}" + }, + "Vikunja task title '{title}' starts with '{prefix}:'. The task title should NOT include the '{prefix}' prefix — it is automatically added to the PR title. Update the Vikunja task title to remove the prefix.": { + "bg": "Заглавието на задачата във Vikunja '{title}' започва с '{prefix}:'. Заглавието на задачата НЕ трябва да съдържа префикса '{prefix}' — той се добавя автоматично към заглавието на PR. Актуализирайте заглавието на задачата във Vikunja, за да премахнете префикса.", + "de": "Der Vikunja-Aufgabentitel '{title}' beginnt mit '{prefix}:'. Der Aufgabentitel darf NICHT den Präfix '{prefix}' enthalten — er wird automatisch zum PR-Titel hinzugefügt. Aktualisieren Sie den Vikunja-Aufgabentitel, um den Präfix zu entfernen.", + "en": "Vikunja task title '{title}' starts with '{prefix}:'. The task title should NOT include the '{prefix}' prefix — it is automatically added to the PR title. Update the Vikunja task title to remove the prefix.", + "pl": "Tytuł zadania Vikunja '{title}' zaczyna się od '{prefix}:'. Tytuł zadania nie powinien zawierać prefiksu '{prefix}' — jest on automatycznie dodawany do tytułu PR. Zaktualizuj tytuł zadania Vikunja, aby usunąć prefiks.", + "ru": "Заголовок задачи Vikunja '{title}' начинается с '{prefix}:'. Заголовок задачи НЕ должен включать префикс '{prefix}' — он автоматически добавляется к заголовку PR. Обновите заголовок задачи Vikunja, чтобы удалить префикс.", + "zh": "Vikunja 任务标题 '{title}' 以 '{prefix}:' 开头。任务标题不应包含 '{prefix}' 前缀 — 它会自动添加到 PR 标题中。请更新 Vikunja 任务标题以删除前缀。", + "Cleaning up: running molecule destroy for {scenario}": "Cleaning up: running molecule destroy for {scenario}" + }, + "Vikunja task {task_id} not found in project {project_id}.\n Create it first:\n python -m devx.tools.create_task --title \"Task title\"\n Or check that the task ID in the branch name is correct.": { + "bg": "Vikunja задача {task_id} не е намерена в проект {project_id}.\n Създайте я първо:\n python -m devx.tools.create_task --title \"Заглавие на задача\"\n Или проверете че ID на задачата в името на клона е правилно.", + "de": "Vikunja-Task {task_id} in Projekt {project_id} nicht gefunden.\n Zuerst erstellen:\n python -m devx.tools.create_task --title \"Task-Titel\"\n Oder prüfen, ob die Task-ID im Branch-Namen korrekt ist.", + "en": "Vikunja task {task_id} not found in project {project_id}.\n Create it first:\n python -m devx.tools.create_task --title \"Task title\"\n Or check that the task ID in the branch name is correct.", + "pl": "Zadanie Vikunja {task_id} nie znalezione w projekcie {project_id}.\n Utwórz je najpierw:\n python -m devx.tools.create_task --title \"Tytuł zadania\"\n Lub sprawdź, czy ID zadania w nazwie gałęzi jest poprawne.", + "ru": "Задача Vikunja {task_id} не найдена в проекте {project_id}.\n Сначала создайте её:\n python -m devx.tools.create_task --title \"Заголовок задачи\"\n Или проверьте, что ID задачи в имени ветки корректен.", + "zh": "在项目 {project_id} 中找不到 Vikunja 任务 {task_id}。\n 请先创建:\n python -m devx.tools.create_task --title \"任务标题\"\n 或检查分支名称中的任务 ID 是否正确。", + "Cleaning up: running molecule destroy for {scenario}": "Cleaning up: running molecule destroy for {scenario}" + }, + "WARN: .venv has Python {version}, but >={req} is required.": { + "bg": "ПРЕДУПРЕЖДЕНИЕ: .venv има Python {version}, но се изисква >={req}.", + "de": "WARNUNG: .venv hat Python {version}, aber >={req} ist erforderlich.", + "en": "WARN: .venv has Python {version}, but >={req} is required.", + "pl": "OSTRZEŻENIE: .venv ma Python {version}, ale wymagane jest >={req}.", + "ru": "ПРЕДУПРЕЖДЕНИЕ: в .venv установлен Python {version}, но требуется >={req}.", + "zh": "警告: .venv 的 Python 版本为 {version},但要求 >={req}。", + "Cleaning up: running molecule destroy for {scenario}": "Cleaning up: running molecule destroy for {scenario}" + }, + "WARN: .venv not found. Run 'make setup-venv' to create it.": { + "bg": "ПРЕДУПРЕЖДЕНИЕ: .venv не е намерен. Изпълнете 'make setup-venv' за създаване.", + "de": "WARNUNG: .venv nicht gefunden. Führen Sie 'make setup-venv' aus, um es zu erstellen.", + "en": "WARN: .venv not found. Run 'make setup-venv' to create it.", + "pl": "OSTRZEŻENIE: Nie znaleziono .venv. Uruchom 'make setup-venv', aby utworzyć.", + "ru": "ПРЕДУПРЕЖДЕНИЕ: .venv не найден. Выполните 'make setup-venv' для создания.", + "zh": "警告: 未找到 .venv。运行 'make setup-venv' 来创建。", + "Cleaning up: running molecule destroy for {scenario}": "Cleaning up: running molecule destroy for {scenario}" + }, + "WARN: Could not determine Python version in .venv.": { + "bg": "ПРЕДУПРЕЖДЕНИЕ: Не може да се определи версията на Python в .venv.", + "de": "WARNUNG: Python-Version in .venv konnte nicht bestimmt werden.", + "en": "WARN: Could not determine Python version in .venv.", + "pl": "OSTRZEŻENIE: Nie można określić wersji Python w .venv.", + "ru": "ПРЕДУПРЕЖДЕНИЕ: Не удалось определить версию Python в .venv.", + "zh": "警告: 无法确定 .venv 中的 Python 版本。", + "Cleaning up: running molecule destroy for {scenario}": "Cleaning up: running molecule destroy for {scenario}" + }, + "WARN: Could not parse Python version '{version}'.": { + "bg": "ПРЕДУПРЕЖДЕНИЕ: Не може да се анализира версията на Python '{version}'.", + "de": "WARNUNG: Python-Version '{version}' konnte nicht analysiert werden.", + "en": "WARN: Could not parse Python version '{version}'.", + "pl": "OSTRZEŻENIE: Nie można przeanalizować wersji Python '{version}'.", + "ru": "ПРЕДУПРЕЖДЕНИЕ: Не удалось разобрать версию Python '{version}'.", + "zh": "警告: 无法解析 Python 版本 '{version}'。", + "Cleaning up: running molecule destroy for {scenario}": "Cleaning up: running molecule destroy for {scenario}" + }, + "WARNING: --skip-tests passed — skipping test verification.": { + "bg": "WARNING: --skip-tests passed — skipping test verification.", + "de": "WARNING: --skip-tests passed — skipping test verification.", + "en": "WARNING: --skip-tests passed — skipping test verification.", + "pl": "OSTRZEŻENIE: --skip-tests przekazane — pomijanie weryfikacji testów.", + "ru": "WARNING: --skip-tests passed — skipping test verification.", + "zh": "WARNING: --skip-tests passed — skipping test verification.", + "Cleaning up: running molecule destroy for {scenario}": "Cleaning up: running molecule destroy for {scenario}" + }, + "WARNING: .taskid file ({file_id}) is deprecated and disagrees with branch name ({branch_id}). Delete .taskid from the repo — branch name is the sole source of truth.": { + "bg": "ВНИМАНИЕ: Файлът .taskid ({file_id}) е остарял и не съвпада с името на клона ({branch_id}). Изтрийте .taskid от хранилището — името на клона е единственият източник на истината.", + "de": "WARNUNG: Die Datei .taskid ({file_id}) ist veraltet und stimmt nicht mit dem Branch-Namen ({branch_id}) überein. Löschen Sie .taskid aus dem Repo — der Branch-Name ist die einzige Wahrheitsquelle.", + "en": "WARNING: .taskid file ({file_id}) is deprecated and disagrees with branch name ({branch_id}). Delete .taskid from the repo — branch name is the sole source of truth.", + "pl": "OSTRZEŻENIE: plik .taskid ({file_id}) jest przestarzały i niezgodny z nazwą gałęzi ({branch_id}). Usuń .taskid z repozytorium — nazwa gałęzi jest jedynym źródłem prawdy.", + "ru": "ВНИМАНИЕ: Файл .taskid ({file_id}) устарел и не совпадает с именем ветки ({branch_id}). Удалите .taskid из репозитория — имя ветки — единственный источник истины.", + "zh": "警告:.taskid 文件 ({file_id}) 已弃用,与分支名称 ({branch_id}) 不一致。请从仓库中删除 .taskid — 分支名称是唯一的真实来源。", + "Cleaning up: running molecule destroy for {scenario}": "Cleaning up: running molecule destroy for {scenario}" + }, + "WARNING: VIKUNJA_TOKEN not set — skipping task existence check. Set it in .env to enable full validation.": { + "bg": "ПРЕДУПРЕЖДЕНИЕ: VIKUNJA_TOKEN не е зададен — пропускане на проверката за съществуване на задача. Задайте го в .env за пълна валидация.", + "de": "WARNUNG: VIKUNJA_TOKEN nicht gesetzt — Task-Existenzprüfung übersprungen. In .env setzen für volle Validierung.", + "en": "WARNING: VIKUNJA_TOKEN not set — skipping task existence check. Set it in .env to enable full validation.", + "pl": "OSTRZEŻENIE: VIKUNJA_TOKEN nie jest ustawiony — pomijanie sprawdzania istnienia zadania. Ustaw w .env, aby włączyć pełną walidację.", + "ru": "ПРЕДУПРЕЖДЕНИЕ: VIKUNJA_TOKEN не установлен — пропуск проверки существования задачи. Установите в .env для полной проверки.", + "zh": "警告: VIKUNJA_TOKEN 未设置 — 跳过任务存在性检查。在 .env 中设置以启用完整验证。", + "Cleaning up: running molecule destroy for {scenario}": "Cleaning up: running molecule destroy for {scenario}" + }, + "WARNING: Version badge shows stale version (expected v{version}) — regenerating": { + "bg": "", + "de": "", + "en": "WARNING: Version badge shows stale version (expected v{version}) — regenerating", + "pl": "", + "ru": "", + "zh": "", + "Cleaning up: running molecule destroy for {scenario}": "Cleaning up: running molecule destroy for {scenario}" + }, + "WARNING: check_doc_versions --fix failed (rc={rc}): {err}": { + "bg": "", + "de": "", + "en": "WARNING: check_doc_versions --fix failed (rc={rc}): {err}", + "pl": "", + "ru": "", + "zh": "", + "Cleaning up: running molecule destroy for {scenario}": "Cleaning up: running molecule destroy for {scenario}" + }, + "Waiting 5s for Gitea to process pushed commits...": { + "bg": "", + "de": "", + "en": "Waiting 5s for Gitea to process pushed commits...", + "pl": "", + "ru": "", + "zh": "", + "Cleaning up: running molecule destroy for {scenario}": "Cleaning up: running molecule destroy for {scenario}" + }, + "Waiting for CI checks to complete (timeout: {timeout}s)...": { + "bg": "Waiting for CI checks to complete (timeout: {timeout}s)...", + "de": "Waiting for CI checks to complete (timeout: {timeout}s)...", + "en": "Waiting for CI checks to complete (timeout: {timeout}s)...", + "pl": "Waiting for CI checks to complete (timeout: {timeout}s)...", + "ru": "Waiting for CI checks to complete (timeout: {timeout}s)...", + "zh": "Waiting for CI checks to complete (timeout: {timeout}s)...", + "Cleaning up: running molecule destroy for {scenario}": "Cleaning up: running molecule destroy for {scenario}" + }, + "Warning: could not fetch tags from origin.": { + "bg": "Warning: could not fetch tags from origin.", + "de": "Warning: could not fetch tags from origin.", + "en": "Warning: could not fetch tags from origin.", + "pl": "Ostrzeżenie: nie udało się pobrać tagów z origin.", + "ru": "Warning: could not fetch tags from origin.", + "zh": "Warning: could not fetch tags from origin.", + "Cleaning up: running molecule destroy for {scenario}": "Cleaning up: running molecule destroy for {scenario}" + }, + "Warning: instance-level runners query failed: {error}": { + "bg": "Warning: instance-level runners query failed: {error}", + "de": "Warning: instance-level runners query failed: {error}", + "en": "Warning: instance-level runners query failed: {error}", + "pl": "Warning: instance-level runners query failed: {error}", + "ru": "Warning: instance-level runners query failed: {error}", + "zh": "Warning: instance-level runners query failed: {error}", + "Cleaning up: running molecule destroy for {scenario}": "Cleaning up: running molecule destroy for {scenario}" + }, + "Warning: instance-level runners query returned HTTP {status}": { + "bg": "Warning: instance-level runners query returned HTTP {status}", + "de": "Warning: instance-level runners query returned HTTP {status}", + "en": "Warning: instance-level runners query returned HTTP {status}", + "pl": "Warning: instance-level runners query returned HTTP {status}", + "ru": "Warning: instance-level runners query returned HTTP {status}", + "zh": "Warning: instance-level runners query returned HTTP {status}", + "Cleaning up: running molecule destroy for {scenario}": "Cleaning up: running molecule destroy for {scenario}" + }, + "Warning: org-level runners query failed: {error}": { + "bg": "Warning: org-level runners query failed: {error}", + "de": "Warning: org-level runners query failed: {error}", + "en": "Warning: org-level runners query failed: {error}", + "pl": "Warning: org-level runners query failed: {error}", + "ru": "Warning: org-level runners query failed: {error}", + "zh": "Warning: org-level runners query failed: {error}", + "Cleaning up: running molecule destroy for {scenario}": "Cleaning up: running molecule destroy for {scenario}" + }, + "Warning: org-level runners query returned HTTP {status}": { + "bg": "Warning: org-level runners query returned HTTP {status}", + "de": "Warning: org-level runners query returned HTTP {status}", + "en": "Warning: org-level runners query returned HTTP {status}", + "pl": "Warning: org-level runners query returned HTTP {status}", + "ru": "Warning: org-level runners query returned HTTP {status}", + "zh": "Warning: org-level runners query returned HTTP {status}", + "Cleaning up: running molecule destroy for {scenario}": "Cleaning up: running molecule destroy for {scenario}" + }, + "Warning: repo-level runners query failed: {error}": { + "bg": "Warning: repo-level runners query failed: {error}", + "de": "Warning: repo-level runners query failed: {error}", + "en": "Warning: repo-level runners query failed: {error}", + "pl": "Warning: repo-level runners query failed: {error}", + "ru": "Warning: repo-level runners query failed: {error}", + "zh": "Warning: repo-level runners query failed: {error}", + "Cleaning up: running molecule destroy for {scenario}": "Cleaning up: running molecule destroy for {scenario}" + }, + "Warning: repo-level runners query returned HTTP {status}": { + "bg": "Warning: repo-level runners query returned HTTP {status}", + "de": "Warning: repo-level runners query returned HTTP {status}", + "en": "Warning: repo-level runners query returned HTTP {status}", + "pl": "Warning: repo-level runners query returned HTTP {status}", + "ru": "Warning: repo-level runners query returned HTTP {status}", + "zh": "Warning: repo-level runners query returned HTTP {status}", + "Cleaning up: running molecule destroy for {scenario}": "Cleaning up: running molecule destroy for {scenario}" + }, + "Wiki repo not found or empty — initializing fresh.": { + "bg": "", + "de": "", + "en": "Wiki repo not found or empty — initializing fresh.", + "pl": "", + "ru": "", + "zh": "", + "Cleaning up: running molecule destroy for {scenario}": "Cleaning up: running molecule destroy for {scenario}" + }, + "Wiki synced successfully.": { + "bg": "", + "de": "", + "en": "Wiki synced successfully.", + "pl": "", + "ru": "", + "zh": "", + "Cleaning up: running molecule destroy for {scenario}": "Cleaning up: running molecule destroy for {scenario}" + }, + "Wiki verification failed — could not clone wiki": { + "bg": "", + "de": "", + "en": "Wiki verification failed — could not clone wiki", + "pl": "", + "ru": "", + "zh": "", + "Cleaning up: running molecule destroy for {scenario}": "Cleaning up: running molecule destroy for {scenario}" + }, + "Wiki verification failed — {failures} page(s) missing": { + "bg": "", + "de": "", + "en": "Wiki verification failed — {failures} page(s) missing", + "pl": "", + "ru": "", + "zh": "", + "Cleaning up: running molecule destroy for {scenario}": "Cleaning up: running molecule destroy for {scenario}" + }, + "Write deploy-ref to $GITHUB_OUTPUT file.": { + "bg": "Запиши deploy-ref в $GITHUB_OUTPUT файла.", + "de": "Deploy-ref in $GITHUB_OUTPUT-Datei schreiben.", + "en": "Write deploy-ref to $GITHUB_OUTPUT file.", + "pl": "Zapisz deploy-ref do pliku $GITHUB_OUTPUT.", + "ru": "Записать deploy-ref в файл $GITHUB_OUTPUT.", + "zh": "将 deploy-ref 写入 $GITHUB_OUTPUT 文件。", + "Cleaning up: running molecule destroy for {scenario}": "Cleaning up: running molecule destroy for {scenario}" + }, + "Wrote tag {tag} to GITHUB_OUTPUT.": { + "bg": "Wrote tag {tag} to GITHUB_OUTPUT.", + "de": "Wrote tag {tag} to GITHUB_OUTPUT.", + "en": "Wrote tag {tag} to GITHUB_OUTPUT.", + "pl": "Wrote tag {tag} to GITHUB_OUTPUT.", + "ru": "Wrote tag {tag} to GITHUB_OUTPUT.", + "zh": "Wrote tag {tag} to GITHUB_OUTPUT.", + "Cleaning up: running molecule destroy for {scenario}": "Cleaning up: running molecule destroy for {scenario}" + }, + "[check-api-identity-checks] Passed: no unsafe identity checks found": { + "bg": "[check-api-identity-checks] Мина: не са намерени небрежни проверки за идентичност", + "de": "[check-api-identity-checks] Bestanden: keine unsicheren Identitätsprüfungen gefunden", + "en": "[check-api-identity-checks] Passed: no unsafe identity checks found", + "pl": "[check-api-identity-checks] Passed: nie znaleziono niebezpiecznych sprawdzeń tożsamości", + "ru": "[check-api-identity-checks] Пройдено: небезопасных проверок идентичности не найдено", + "zh": "[check-api-identity-checks] 通过:未发现不安全的身份检查", + "Cleaning up: running molecule destroy for {scenario}": "Cleaning up: running molecule destroy for {scenario}" + }, + "[check-dep-docs] Passed: all dependencies are documented": { + "bg": "[check-dep-docs] Passed: all dependencies are documented", + "de": "[check-dep-docs] Passed: all dependencies are documented", + "en": "[check-dep-docs] Passed: all dependencies are documented", + "pl": "[check-dep-docs] Passed: all dependencies are documented", + "ru": "[check-dep-docs] Passed: all dependencies are documented", + "zh": "[check-dep-docs] Passed: all dependencies are documented", + "Cleaning up: running molecule destroy for {scenario}": "Cleaning up: running molecule destroy for {scenario}" + }, + "[check-deps] All core tools present.": { + "bg": "[check-deps] Всички основни инструменти са налични.", + "de": "[check-deps] Alle Kernwerkzeuge vorhanden.", + "en": "[check-deps] All core tools present.", + "pl": "[check-deps] Wszystkie podstawowe narzędzia są dostępne.", + "ru": "[check-deps] Все основные инструменты доступны.", + "zh": "[check-deps] 所有核心工具均已就绪。", + "Cleaning up: running molecule destroy for {scenario}": "Cleaning up: running molecule destroy for {scenario}" + }, + "[check-deps] Verifying tools...": { + "bg": "[check-deps] Проверка на инструментите...", + "de": "[check-deps] Werkzeuge werden überprüft...", + "en": "[check-deps] Verifying tools...", + "pl": "[check-deps] Sprawdzanie narzędzi...", + "ru": "[check-deps] Проверка инструментов...", + "zh": "[check-deps] 正在验证工具...", + "Cleaning up: running molecule destroy for {scenario}": "Cleaning up: running molecule destroy for {scenario}" + }, + "[check-deps] Virtualenv .venv ready (Python {version}).": { + "bg": "[check-deps] Виртуална среда .venv готова (Python {version}).", + "de": "[check-deps] Virtuelle Umgebung .venv bereit (Python {version}).", + "en": "[check-deps] Virtualenv .venv ready (Python {version}).", + "pl": "[check-deps] Środowisko wirtualne .venv gotowe (Python {version}).", + "ru": "[check-deps] Виртуальное окружение .venv готово (Python {version}).", + "zh": "[check-deps] 虚拟环境 .venv 已就绪 (Python {version})。", + "Cleaning up: running molecule destroy for {scenario}": "Cleaning up: running molecule destroy for {scenario}" + }, + "[check-mutable-globals] Passed: no mutable path globals found": { + "bg": "[check-mutable-globals] Passed: no mutable path globals found", + "de": "[check-mutable-globals] Passed: no mutable path globals found", + "en": "[check-mutable-globals] Passed: no mutable path globals found", + "pl": "[check-mutable-globals] Passed: no mutable path globals found", + "ru": "[check-mutable-globals] Passed: no mutable path globals found", + "zh": "[check-mutable-globals] Passed: no mutable path globals found", + "Cleaning up: running molecule destroy for {scenario}": "Cleaning up: running molecule destroy for {scenario}" + }, + "[check_agent_docs] Passed: scanned {count} file(s), no stale references": { + "bg": "[check_agent_docs] Passed: scanned {count} file(s), no stale references", + "de": "[check_agent_docs] Passed: scanned {count} file(s), no stale references", + "en": "[check_agent_docs] Passed: scanned {count} file(s), no stale references", + "pl": "[check_agent_docs] Passed: scanned {count} file(s), no stale references", + "ru": "[check_agent_docs] Passed: scanned {count} file(s), no stale references", + "zh": "[check_agent_docs] Passed: scanned {count} file(s), no stale references", + "Cleaning up: running molecule destroy for {scenario}": "Cleaning up: running molecule destroy for {scenario}" + }, + "[check_test_coverage] No changed files to check.": { + "bg": "[check_test_coverage] No changed files to check.", + "de": "[check_test_coverage] No changed files to check.", + "en": "[check_test_coverage] No changed files to check.", + "pl": "[check_test_coverage] No changed files to check.", + "ru": "[check_test_coverage] No changed files to check.", + "zh": "[check_test_coverage] No changed files to check.", + "Cleaning up: running molecule destroy for {scenario}": "Cleaning up: running molecule destroy for {scenario}" + }, + "[docker-login] Logged in to {registry}.": { + "bg": "[docker-login] Влязъл в {registry}.", + "de": "[docker-login] Angemeldet bei {registry}.", + "en": "[docker-login] Logged in to {registry}.", + "pl": "[docker-login] Zalogowano do {registry}.", + "ru": "[docker-login] Выполнен вход в {registry}.", + "zh": "[docker-login] 已登录到 {registry}。", + "Cleaning up: running molecule destroy for {scenario}": "Cleaning up: running molecule destroy for {scenario}" + }, + "[docker-login] Login to {registry} failed (continuing).": { + "bg": "[docker-login] Влизането в {registry} не успя (продължава).", + "de": "[docker-login] Anmeldung bei {registry} fehlgeschlagen (wird fortgesetzt).", + "en": "[docker-login] Login to {registry} failed (continuing).", + "pl": "[docker-login] Logowanie do {registry} nie powiodło się (kontynuowanie).", + "ru": "[docker-login] Ошибка входа в {registry} (продолжаем).", + "zh": "[docker-login] 登录 {registry} 失败(继续)。", + "Cleaning up: running molecule destroy for {scenario}": "Cleaning up: running molecule destroy for {scenario}" + }, + "[docker-login] Skipping {registry} (token {env} not set).": { + "bg": "[docker-login] Пропускане на {registry} (токен {env} не е зададен).", + "de": "[docker-login] {registry} übersprungen (Token {env} nicht gesetzt).", + "en": "[docker-login] Skipping {registry} (token {env} not set).", + "pl": "[docker-login] Pomijanie {registry} (token {env} nie ustawiony).", + "ru": "[docker-login] Пропуск {registry} (токен {env} не задан).", + "zh": "[docker-login] 跳过 {registry}(未设置令牌 {env})。", + "Cleaning up: running molecule destroy for {scenario}": "Cleaning up: running molecule destroy for {scenario}" + }, + "[dry-run] No changes pushed.": { + "bg": "", + "de": "", + "en": "[dry-run] No changes pushed.", + "pl": "", + "ru": "", + "zh": "", + "Cleaning up: running molecule destroy for {scenario}": "Cleaning up: running molecule destroy for {scenario}" + }, + "[dry-run] Would commit and push wiki changes": { + "bg": "", + "de": "", + "en": "[dry-run] Would commit and push wiki changes", + "pl": "", + "ru": "", + "zh": "", + "Cleaning up: running molecule destroy for {scenario}": "Cleaning up: running molecule destroy for {scenario}" + }, + "[dry-run] Would commit: release: v{version} [skip ci]": { + "bg": "[dry-run] Would commit: release: v{version} [skip ci]", + "de": "[dry-run] Would commit: release: v{version} [skip ci]", + "en": "[dry-run] Would commit: release: v{version} [skip ci]", + "pl": "[dry-run] Utworzono by commit: release: v{version} [skip ci]", + "ru": "[dry-run] Would commit: release: v{version} [skip ci]", + "zh": "[dry-run] Would commit: release: v{version} [skip ci]", + "Cleaning up: running molecule destroy for {scenario}": "Cleaning up: running molecule destroy for {scenario}" + }, + "[dry-run] Would create tag: v{version}": { + "bg": "[dry-run] Would create tag: v{version}", + "de": "[dry-run] Would create tag: v{version}", + "en": "[dry-run] Would create tag: v{version}", + "pl": "[dry-run] Utworzono by tag: v{version}", + "ru": "[dry-run] Would create tag: v{version}", + "zh": "[dry-run] Would create tag: v{version}", + "Cleaning up: running molecule destroy for {scenario}": "Cleaning up: running molecule destroy for {scenario}" + }, + "[dry-run] Would create tag: {tag}": { + "bg": "[dry-run] Would create tag: {tag}", + "de": "[dry-run] Would create tag: {tag}", + "en": "[dry-run] Would create tag: {tag}", + "pl": "[dry-run] Utworzono by tag: {tag}", + "ru": "[dry-run] Would create tag: {tag}", + "zh": "[dry-run] Would create tag: {tag}", + "Cleaning up: running molecule destroy for {scenario}": "Cleaning up: running molecule destroy for {scenario}" + }, + "[dry-run] Would push commit to master": { + "bg": "[dry-run] Would push commit to master", + "de": "[dry-run] Would push commit to master", + "en": "[dry-run] Would push commit to master", + "pl": "[dry-run] Wypchnięto by commit do master", + "ru": "[dry-run] Would push commit to master", + "zh": "[dry-run] Would push commit to master", + "Cleaning up: running molecule destroy for {scenario}": "Cleaning up: running molecule destroy for {scenario}" + }, + "[dry-run] Would update doc version references via check_doc_versions --fix": { + "bg": "", + "de": "", + "en": "[dry-run] Would update doc version references via check_doc_versions --fix", + "pl": "", + "ru": "", + "zh": "", + "Cleaning up: running molecule destroy for {scenario}": "Cleaning up: running molecule destroy for {scenario}" + }, + "[dry-run] Would update {changelog_file}": { + "bg": "[dry-run] Would update {changelog_file}", + "de": "[dry-run] Would update {changelog_file}", + "en": "[dry-run] Would update {changelog_file}", + "pl": "[dry-run] Zaktualizowano by {changelog_file}", + "ru": "[dry-run] Would update {changelog_file}", + "zh": "[dry-run] Would update {changelog_file}", + "Cleaning up: running molecule destroy for {scenario}": "Cleaning up: running molecule destroy for {scenario}" + }, + "[dry-run] Would update {init}": { + "bg": "[dry-run] Would update {init}", + "de": "[dry-run] Would update {init}", + "en": "[dry-run] Would update {init}", + "pl": "[dry-run] Zaktualizowano by {init}", + "ru": "[dry-run] Would update {init}", + "zh": "[dry-run] Would update {init}", + "Cleaning up: running molecule destroy for {scenario}": "Cleaning up: running molecule destroy for {scenario}" + }, + "[tofu-init] Done.": { + "bg": "[tofu-init] Готово.", + "de": "[tofu-init] Fertig.", + "en": "[tofu-init] Done.", + "pl": "[tofu-init] Gotowe.", + "ru": "[tofu-init] Готово.", + "zh": "[tofu-init] 完成。", + "Cleaning up: running molecule destroy for {scenario}": "Cleaning up: running molecule destroy for {scenario}" + }, + "[tofu-init] Initializing {dir}...": { + "bg": "[tofu-init] Инициализиране на {dir}...", + "de": "[tofu-init] Initialisiere {dir}...", + "en": "[tofu-init] Initializing {dir}...", + "pl": "[tofu-init] Inicjalizacja {dir}...", + "ru": "[tofu-init] Инициализация {dir}...", + "zh": "[tofu-init] 正在初始化 {dir}...", + "Cleaning up: running molecule destroy for {scenario}": "Cleaning up: running molecule destroy for {scenario}" + }, + "[tofu-{mode}] All configurations valid.": { + "bg": "[tofu-{mode}] Всички конфигурации са валидни.", + "de": "[tofu-{mode}] Alle Konfigurationen gültig.", + "en": "[tofu-{mode}] All configurations valid.", + "pl": "[tofu-{mode}] Wszystkie konfiguracje są poprawne.", + "ru": "[tofu-{mode}] Все конфигурации валидны.", + "zh": "[tofu-{mode}] 所有配置有效。", + "Cleaning up: running molecule destroy for {scenario}": "Cleaning up: running molecule destroy for {scenario}" + }, + "[tofu-{mode}] Validating OpenTofu configurations...": { + "bg": "[tofu-{mode}] Проверка на OpenTofu конфигурациите...", + "de": "[tofu-{mode}] Validiere OpenTofu-Konfigurationen...", + "en": "[tofu-{mode}] Validating OpenTofu configurations...", + "pl": "[tofu-{mode}] Sprawdzanie konfiguracji OpenTofu...", + "ru": "[tofu-{mode}] Проверка конфигураций OpenTofu...", + "zh": "[tofu-{mode}] 正在验证 OpenTofu 配置...", + "Cleaning up: running molecule destroy for {scenario}": "Cleaning up: running molecule destroy for {scenario}" + }, + "[tool.devx] missing required keys: {keys}": { + "bg": "[tool.devx] липсват задължителни ключове: {keys}", + "de": "[tool.devx] fehlt erforderliche Schlüssel: {keys}", + "en": "[tool.devx] missing required keys: {keys}", + "pl": "[tool.devx] brak wymaganych kluczy: {keys}", + "ru": "[tool.devx] отсутствуют обязательные ключи: {keys}", + "zh": "[tool.devx] 缺少必需的键: {keys}", + "Cleaning up: running molecule destroy for {scenario}": "Cleaning up: running molecule destroy for {scenario}" + }, + "active": { + "bg": "активен", + "de": "aktiv", + "en": "active", + "pl": "aktywny", + "ru": "активен", + "zh": "活跃", + "Cleaning up: running molecule destroy for {scenario}": "Cleaning up: running molecule destroy for {scenario}" + }, + "completed": { + "bg": "завършен", + "de": "abgeschlossen", + "en": "completed", + "pl": "ukończony", + "ru": "завершён", + "zh": "已完成", + "Cleaning up: running molecule destroy for {scenario}": "Cleaning up: running molecule destroy for {scenario}" + }, + "count={count}": { + "bg": "count={count}", + "de": "count={count}", + "en": "count={count}", + "pl": "count={count}", + "ru": "count={count}", + "zh": "count={count}", + "Cleaning up: running molecule destroy for {scenario}": "Cleaning up: running molecule destroy for {scenario}" + }, + "devx version mismatch across extras: {detail}": { + "bg": "несъответствие на версията на devx между extras: {detail}", + "de": "devx-Versionskonflikt zwischen Extras: {detail}", + "en": "devx version mismatch across extras: {detail}", + "pl": "niezgodność wersji devx między extras: {detail}", + "ru": "несоответствие версии devx между extras: {detail}", + "zh": "devx 版本在 extras 之间不一致: {detail}", + "Cleaning up: running molecule destroy for {scenario}": "Cleaning up: running molecule destroy for {scenario}" + }, + "failed": { + "bg": "неуспешен", + "de": "fehlgeschlagen", + "en": "failed", + "pl": "nieudany", + "ru": "неудачный", + "zh": "失败", + "Cleaning up: running molecule destroy for {scenario}": "Cleaning up: running molecule destroy for {scenario}" + }, + "git command failed ({cmd}): {stderr}": { + "bg": "git command failed ({cmd}): {stderr}", + "de": "git command failed ({cmd}): {stderr}", + "en": "git command failed ({cmd}): {stderr}", + "pl": "polecenie git nie powiodło się ({cmd}): {stderr}", + "ru": "git command failed ({cmd}): {stderr}", + "zh": "git command failed ({cmd}): {stderr}", + "Cleaning up: running molecule destroy for {scenario}": "Cleaning up: running molecule destroy for {scenario}" + }, + "git-cliff generated empty changelog for v{version}. Check cliff.toml and commit history.": { + "bg": "git-cliff generated empty changelog for v{version}. Check cliff.toml and commit history.", + "de": "git-cliff generated empty changelog for v{version}. Check cliff.toml and commit history.", + "en": "git-cliff generated empty changelog for v{version}. Check cliff.toml and commit history.", + "pl": "git-cliff wygenerował pusty changelog dla v{version}. Sprawdź cliff.toml i historię commitów.", + "ru": "git-cliff generated empty changelog for v{version}. Check cliff.toml and commit history.", + "zh": "git-cliff generated empty changelog for v{version}. Check cliff.toml and commit history.", + "Cleaning up: running molecule destroy for {scenario}": "Cleaning up: running molecule destroy for {scenario}" + }, + "git-cliff returned empty version.": { + "bg": "git-cliff returned empty version.", + "de": "git-cliff returned empty version.", + "en": "git-cliff returned empty version.", + "pl": "git-cliff zwrócił pustą wersję.", + "ru": "git-cliff returned empty version.", + "zh": "git-cliff returned empty version.", + "Cleaning up: running molecule destroy for {scenario}": "Cleaning up: running molecule destroy for {scenario}" + }, + "git-cliff returned invalid version format: {version}. Expected semver (e.g., 0.4.1).": { + "bg": "git-cliff returned invalid version format: {version}. Expected semver (e.g., 0.4.1).", + "de": "git-cliff returned invalid version format: {version}. Expected semver (e.g., 0.4.1).", + "en": "git-cliff returned invalid version format: {version}. Expected semver (e.g., 0.4.1).", + "pl": "git-cliff zwrócił nieprawidłowy format wersji: {version}. Oczekiwano semver (np., 0.4.1).", + "ru": "git-cliff returned invalid version format: {version}. Expected semver (e.g., 0.4.1).", + "zh": "git-cliff returned invalid version format: {version}. Expected semver (e.g., 0.4.1).", + "Cleaning up: running molecule destroy for {scenario}": "Cleaning up: running molecule destroy for {scenario}" }, "importlib.reload({mod}) called {n} time(s) in test '{test}' — odd count leaves module in modified state. Add a final reload to restore defaults or wrap in try/finally.": { "bg": "importlib.reload({mod}) called {n} time(s) in test '{test}' — odd count leaves module in modified state. Add a final reload to restore defaults or wrap in try/finally.", @@ -3821,6 +4135,178 @@ "en": "importlib.reload({mod}) called {n} time(s) in test '{test}' — odd count leaves module in modified state. Add a final reload to restore defaults or wrap in try/finally.", "pl": "importlib.reload({mod}) called {n} time(s) in test '{test}' — odd count leaves module in modified state. Add a final reload to restore defaults or wrap in try/finally.", "ru": "importlib.reload({mod}) called {n} time(s) in test '{test}' — odd count leaves module in modified state. Add a final reload to restore defaults or wrap in try/finally.", - "zh": "importlib.reload({mod}) called {n} time(s) in test '{test}' — odd count leaves module in modified state. Add a final reload to restore defaults or wrap in try/finally." + "zh": "importlib.reload({mod}) called {n} time(s) in test '{test}' — odd count leaves module in modified state. Add a final reload to restore defaults or wrap in try/finally.", + "Cleaning up: running molecule destroy for {scenario}": "Cleaning up: running molecule destroy for {scenario}" + }, + "in_progress": { + "bg": "в процес", + "de": "in Bearbeitung", + "en": "in progress", + "pl": "w toku", + "ru": "в процессе", + "zh": "进行中", + "Cleaning up: running molecule destroy for {scenario}": "Cleaning up: running molecule destroy for {scenario}" + }, + "inactive": { + "bg": "неактивен", + "de": "inaktiv", + "en": "inactive", + "pl": "nieaktywny", + "ru": "неактивен", + "zh": "未激活", + "Cleaning up: running molecule destroy for {scenario}": "Cleaning up: running molecule destroy for {scenario}" + }, + "indices={indices}": { + "bg": "indices={indices}", + "de": "indices={indices}", + "en": "indices={indices}", + "pl": "indices={indices}", + "ru": "indices={indices}", + "zh": "indices={indices}", + "Cleaning up: running molecule destroy for {scenario}": "Cleaning up: running molecule destroy for {scenario}" + }, + "mapping.json keys and values must be strings, got {k}={v}": { + "bg": "mapping.json keys and values must be strings, got {k}={v}", + "de": "mapping.json keys and values must be strings, got {k}={v}", + "en": "mapping.json keys and values must be strings, got {k}={v}", + "pl": "klucze i wartości mapping.json muszą być ciągami znaków, otrzymano {k}={v}", + "ru": "mapping.json keys and values must be strings, got {k}={v}", + "zh": "mapping.json keys and values must be strings, got {k}={v}", + "Cleaning up: running molecule destroy for {scenario}": "Cleaning up: running molecule destroy for {scenario}" + }, + "mapping.json must be a dict of file-path -> page-title, got {type}": { + "bg": "mapping.json must be a dict of file-path -> page-title, got {type}", + "de": "mapping.json must be a dict of file-path -> page-title, got {type}", + "en": "mapping.json must be a dict of file-path -> page-title, got {type}", + "pl": "mapping.json musi być słownikiem ścieżka-pliku -> tytuł-strony, otrzymano {type}", + "ru": "mapping.json must be a dict of file-path -> page-title, got {type}", + "zh": "mapping.json must be a dict of file-path -> page-title, got {type}", + "Cleaning up: running molecule destroy for {scenario}": "Cleaning up: running molecule destroy for {scenario}" + }, + "pending": { + "bg": "в очакване", + "de": "ausstehend", + "en": "pending", + "pl": "oczekujący", + "ru": "ожидает", + "zh": "待处理", + "Cleaning up: running molecule destroy for {scenario}": "Cleaning up: running molecule destroy for {scenario}" + }, + "pyproject.toml not found in current directory.": { + "bg": "pyproject.toml не е намерен в текущата директория.", + "de": "pyproject.toml im aktuellen Verzeichnis nicht gefunden.", + "en": "pyproject.toml not found in current directory.", + "pl": "nie znaleziono pyproject.toml w bieżącym katalogu.", + "ru": "pyproject.toml не найден в текущей директории.", + "zh": "在当前目录中未找到 pyproject.toml。", + "Cleaning up: running molecule destroy for {scenario}": "Cleaning up: running molecule destroy for {scenario}" + }, + "tea login '{name}' already configured.": { + "bg": "tea login '{name}' already configured.", + "de": "tea login '{name}' already configured.", + "en": "tea login '{name}' already configured.", + "pl": "tea login '{name}' already configured.", + "ru": "tea login '{name}' already configured.", + "zh": "tea login '{name}' already configured.", + "Cleaning up: running molecule destroy for {scenario}": "Cleaning up: running molecule destroy for {scenario}" + }, + "tea not installed — skipping login configuration.": { + "bg": "tea not installed — skipping login configuration.", + "de": "tea not installed — skipping login configuration.", + "en": "tea not installed — skipping login configuration.", + "pl": "tea not installed — skipping login configuration.", + "ru": "tea not installed — skipping login configuration.", + "zh": "tea not installed — skipping login configuration.", + "Cleaning up: running molecule destroy for {scenario}": "Cleaning up: running molecule destroy for {scenario}" + }, + "time.sleep called in test '{test}' without @patch — this causes real wall-clock delays. Add @patch(\".time.sleep\").": { + "bg": "time.sleep извикано в тест '{test}' без @patch — това причинява реални забавяния. Добавете @patch(\".time.sleep\").", + "de": "time.sleep in Test '{test}' ohne @patch aufgerufen — dies verursacht echte Wanduhr-Verzögerungen. @patch(\".time.sleep\") hinzufügen.", + "en": "time.sleep called in test '{test}' without @patch — this causes real wall-clock delays. Add @patch(\".time.sleep\").", + "pl": "time.sleep wywołane w teście '{test}' bez @patch — to powoduje rzeczywiste opóźnienia. Dodaj @patch(\".time.sleep\").", + "ru": "time.sleep вызвано в тесте '{test}' без @patch — это вызывает реальные задержки. Добавьте @patch(\".time.sleep\").", + "zh": "time.sleep 在测试 '{test}' 中被调用但没有 @patch — 这会导致真实的挂钟延迟。请添加 @patch(\".time.sleep\")。", + "Cleaning up: running molecule destroy for {scenario}": "Cleaning up: running molecule destroy for {scenario}" + }, + "tofu command failed in {dir}: {error}": { + "bg": "командата tofu не успя в {dir}: {error}", + "de": "tofu-Befehl fehlgeschlagen in {dir}: {error}", + "en": "tofu command failed in {dir}: {error}", + "pl": "polecenie tofu nie powiodło się w {dir}: {error}", + "ru": "команда tofu не удалась в {dir}: {error}", + "zh": "tofu 命令在 {dir} 中失败: {error}", + "Cleaning up: running molecule destroy for {scenario}": "Cleaning up: running molecule destroy for {scenario}" + }, + "unknown": { + "bg": "неизвестен", + "de": "unbekannt", + "en": "unknown", + "pl": "nieznany", + "ru": "неизвестно", + "zh": "未知", + "Cleaning up: running molecule destroy for {scenario}": "Cleaning up: running molecule destroy for {scenario}" + }, + "{call} called in test '{test}' without @patch — this spawns a real subprocess. Add @patch(\".subprocess.run\") or patch the calling function.": { + "bg": "{call} извикано в тест '{test}' без @patch — това стартира реален subprocess. Добавете @patch(\".subprocess.run\") или patch-нете извикващата функция.", + "de": "{call} in Test '{test}' ohne @patch aufgerufen — dies startet einen echten subprocess. @patch(\".subprocess.run\") hinzufügen oder die aufrufende Funktion patchen.", + "en": "{call} called in test '{test}' without @patch — this spawns a real subprocess. Add @patch(\".subprocess.run\") or patch the calling function.", + "pl": "{call} wywołane w teście '{test}' bez @patch — to uruchamia rzeczywisty subprocess. Dodaj @patch(\".subprocess.run\") lub patchuj wywołującą funkcję.", + "ru": "{call} вызвано в тесте '{test}' без @patch — это запускает реальный subprocess. Добавьте @patch(\".subprocess.run\") или patch вызывающую функцию.", + "zh": "{call} 在测试 '{test}' 中被调用但没有 @patch — 这会启动真实的子进程。请添加 @patch(\".subprocess.run\") 或 patch 调用函数。", + "Cleaning up: running molecule destroy for {scenario}": "Cleaning up: running molecule destroy for {scenario}" + }, + "{env} is not set. Set it in your .env file or pass it as an environment variable.": { + "bg": "{env} не е зададен. Задайте го във вашия .env файл или го подайте като променлива на средата.", + "de": "{env} ist nicht gesetzt. Setzen Sie es in Ihrer .env-Datei oder übergeben Sie es als Umgebungsvariable.", + "en": "{env} is not set. Set it in your .env file or pass it as an environment variable.", + "pl": "{env} nie jest ustawiony. Ustaw go w pliku .env lub przekaż jako zmienną środowiskową.", + "ru": "{env} не задан. Установите его в файле .env или передайте как переменную окружения.", + "zh": "{env} 未设置。请在 .env 文件中设置或作为环境变量传递。", + "Cleaning up: running molecule destroy for {scenario}": "Cleaning up: running molecule destroy for {scenario}" + }, + "{env} is not set. Set it in your .env file.": { + "bg": "{env} не е зададен. Задайте го във вашия .env файл.", + "de": "{env} ist nicht gesetzt. Setzen Sie es in Ihrer .env-Datei.", + "en": "{env} is not set. Set it in your .env file.", + "pl": "{env} nie jest ustawiony. Ustaw go w pliku .env.", + "ru": "{env} не задан. Установите его в файле .env.", + "zh": "{env} 未设置。请在 .env 文件中设置。", + "Cleaning up: running molecule destroy for {scenario}": "Cleaning up: running molecule destroy for {scenario}" + }, + "{file} already exists. Use --force to overwrite.": { + "bg": "{file} already exists. Use --force to overwrite.", + "de": "{file} already exists. Use --force to overwrite.", + "en": "{file} already exists. Use --force to overwrite.", + "pl": "{file} już istnieje. Użyj --force, aby nadpisać.", + "ru": "{file} already exists. Use --force to overwrite.", + "zh": "{file} already exists. Use --force to overwrite.", + "Cleaning up: running molecule destroy for {scenario}": "Cleaning up: running molecule destroy for {scenario}" + }, + "{func} called in test '{test}' without @patch — this function {desc}. Add @patch(\".{func}\").": { + "bg": "{func} извикано в тест '{test}' без @patch — тази функция {desc}. Добавете @patch(\".{func}\").", + "de": "{func} in Test '{test}' ohne @patch aufgerufen — diese Funktion {desc}. @patch(\".{func}\") hinzufügen.", + "en": "{func} called in test '{test}' without @patch — this function {desc}. Add @patch(\".{func}\").", + "pl": "{func} wywołane w teście '{test}' bez @patch — ta funkcja {desc}. Dodaj @patch(\".{func}\").", + "ru": "{func} вызвано в тесте '{test}' без @patch — эта функция {desc}. Добавьте @patch(\".{func}\").", + "zh": "{func} 在测试 '{test}' 中被调用但没有 @patch — 此函数 {desc}。请添加 @patch(\".{func}\")。", + "Cleaning up: running molecule destroy for {scenario}": "Cleaning up: running molecule destroy for {scenario}" + }, + "{level}: {tool} not found.{hint}": { + "bg": "{level}: {tool} не е намерен.{hint}", + "de": "{level}: {tool} nicht gefunden.{hint}", + "en": "{level}: {tool} not found.{hint}", + "pl": "{level}: {tool} nie znaleziono.{hint}", + "ru": "{level}: {tool} не найден.{hint}", + "zh": "{level}: 未找到 {tool}。{hint}", + "Cleaning up: running molecule destroy for {scenario}": "Cleaning up: running molecule destroy for {scenario}" + }, + "{separator}": { + "bg": "{separator}", + "de": "{separator}", + "en": "{separator}", + "pl": "{separator}", + "ru": "{separator}", + "zh": "{separator}", + "Cleaning up: running molecule destroy for {scenario}": "Cleaning up: running molecule destroy for {scenario}" } }