"en":"Configuring branch protection for {branch}...",
"bg":"Конфигуриране на защита на клона {branch}...",
"de":"Konfiguriere Branch-Schutz für {branch}...",
"en":"Configuring branch protection for {branch}...",
"ru":"Настройка защиты ветки {branch}...",
"zh":"正在配置 {branch} 的分支保护..."
},
"Configuring repository settings...":{
"en":"Configuring repository settings...",
"bg":"Конфигуриране на настройките на хранилището...",
"de":"Repository-Einstellungen konfigurieren...",
"en":"Configuring repository settings...",
"ru":"Настройка параметров репозитория...",
"zh":"正在配置仓库设置..."
},
"Could not extract conventional commit message from PR commits.":{
"en":"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.",
"ru":"Could not extract conventional commit message from PR commits.",
"zh":"Could not extract conventional commit message from PR commits."
},
"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.",
"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.",
"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}":{
"en":"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}",
"ru":"Could not find __version__ in {file}",
"zh":"Could not find __version__ in {file}"
},
"Could not parse test execution time from output.":{
"en":"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.",
"ru":"Could not parse test execution time from output.",
"zh":"Could not parse test execution time from output."
},
"Created issue #{issue_id}: {title}":{
"en":"Created issue #{issue_id}: {title}",
"bg":"Created issue #{issue_id}: {title}",
"de":"Created issue #{issue_id}: {title}",
"en":"Created issue #{issue_id}: {title}",
"ru":"Created issue #{issue_id}: {title}",
"zh":"Created issue #{issue_id}: {title}"
},
"Created release commit.":{
"en":"Created release commit.",
"bg":"Created release commit.",
"de":"Created release commit.",
"en":"Created release commit.",
"ru":"Created release commit.",
"zh":"Created release commit."
},
"Docker daemon already running":{
"bg":"Докер демонът вече работи",
"de":"Docker-Daemon läuft bereits",
"en":"Docker daemon already running",
"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",
"ru":"Не удалось запустить Docker-демон",
"zh":"Docker 守护进程启动失败"
},
"Docker daemon started":{
"bg":"Docker daemon started",
"de":"Docker-Daemon gestartet",
"en":"Docker daemon started",
"ru":"Docker-демон запущен",
"zh":"Docker 守护进程已启动"
},
"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.",
"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.",
"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: REPO_TOKEN is not set.":{
"en":"ERROR: REPO_TOKEN is not set.",
"bg":"ГРЕШКА: REPO_TOKEN не е зададен.",
"de":"FEHLER: REPO_TOKEN ist nicht gesetzt.",
"en":"ERROR: REPO_TOKEN is not set.",
"ru":"ОШИБКА: REPO_TOKEN не задан.",
"zh":"错误:未设置 REPO_TOKEN。"
},
"ERROR: Repository name not specified. Use --repo or set DEVX_REPO_NAME.":{
"en":"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.",
"ru":"ОШИБКА: Имя репозитория не указано. Используйте --repo или задайте DEVX_REPO_NAME.",
"zh":"错误:未指定仓库名称。请使用 --repo 或设置 DEVX_REPO_NAME。"
},
"ERROR: Tag consistency check failed. Existing tags are misaligned:":{
"en":"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:",
"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.":{
"en":"ERROR: VIKUNJA_TOKEN is not set.",
"bg":"ГРЕШКА: VIKUNJA_TOKEN не е зададен.",
"de":"FEHLER: VIKUNJA_TOKEN ist nicht gesetzt.",
"en":"ERROR: VIKUNJA_TOKEN is not set.",
"ru":"ОШИБКА: VIKUNJA_TOKEN не задан.",
"zh":"错误:未设置 VIKUNJA_TOKEN。"
},
"ERROR: mapping.json not found at {path}":{
"en":"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}",
"ru":"ERROR: mapping.json not found at {path}",
"zh":"ERROR: mapping.json not found at {path}"
},
"FAILED: {pair} exited with code {code}":{
"en":"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}",
"ru":"FAILED: {pair} exited with code {code}",
"zh":"FAILED: {pair} exited with code {code}"
},
"Failed to create issue via tea: {error}":{
"en":"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}",
"ru":"Failed to create issue via tea: {error}",
"zh":"Failed to create issue via tea: {error}"
},
"Found {count} existing wiki pages.":{
"en":"Found {count} existing wiki pages.",
"bg":"Found {count} existing wiki pages.",
"de":"Found {count} existing wiki pages.",
"en":"Found {count} existing wiki pages.",
"ru":"Found {count} existing wiki pages.",
"zh":"Found {count} existing wiki pages."
},
"GITEA_URL/REPO_TOKEN/RUN_ID not set; running without cross-runner cancellation.":{
"en":"GITEA_URL/REPO_TOKEN/RUN_ID not set; running without cross-runner cancellation.",
"bg":"GITEA_URL/REPO_TOKEN/RUN_ID not set; running without cross-runner cancellation.",
"de":"GITEA_URL/REPO_TOKEN/RUN_ID not set; running without cross-runner cancellation.",
"en":"GITEA_URL/REPO_TOKEN/RUN_ID not set; running without cross-runner cancellation.",
"ru":"GITEA_URL/REPO_TOKEN/RUN_ID not set; running without cross-runner cancellation.",
"zh":"GITEA_URL/REPO_TOKEN/RUN_ID not set; running without cross-runner cancellation."
},
"Generated {file} with prefix '{prefix}'.":{
"en":"Generated {file} with prefix '{prefix}'.",
"bg":"Generated {file} with prefix '{prefix}'.",
"de":"Generated {file} with prefix '{prefix}'.",
"en":"Generated {file} with prefix '{prefix}'.",
"ru":"Generated {file} with prefix '{prefix}'.",
"zh":"Generated {file} with prefix '{prefix}'."
},
"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.",
"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.",
"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.":{
"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.",
"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.",
"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.":{
"en":"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.",
"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."
},
"HTTP error: {status} — {message}":{
"en":"HTTP error: {status} — {message}",
"bg":"HTTP грешка: {status} — {message}",
"de":"HTTP-Fehler: {status} — {message}",
"en":"HTTP error: {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.":{
"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.",
"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.",
"ru":"HTTP {status} Запрещено — у вашего токена нет прав администратора.\nУбедитесь, что токен принадлежит владельцу репозитория или администратору организации.\nЛибо настройте защиту ветки вручную в разделе Настройки → Ветки.",
"ru":"Ой! Публикация в PyPI не удалась:\n{stderr}",
"zh":"哎呀!PyPI 发布失败:\n{stderr}"
},
"PASSED: {pair}":{
"en":"PASSED: {pair}",
"bg":"PASSED: {pair}",
"de":"PASSED: {pair}",
"ru":"PASSED: {pair}",
"zh":"PASSED: {pair}"
},
"PR number must be an integer, got: {pr_number}":{
"en":"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}",
"ru":"PR number must be an integer, got: {pr_number}",
"zh":"PR number must be an integer, got: {pr_number}"
},
"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}",
"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}",
"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}"
},
"PYPI_TOKEN not set and no registry URL configured — skipping PyPI publish. No worries, we'll just create the Gitea release.":{
"en":"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.",
"ru":"PYPI_TOKEN не задан и URL registry не настроен — пропускаем публикацию в PyPI. Не беспокойтесь, мы просто создадим Gitea release.",
"de":"In der Gitea PyPI-Registry veröffentlicht.",
"ru":"Опубликовано в Gitea PyPI registry.",
"zh":"已发布到 Gitea PyPI registry。"
},
"Published to PyPI.":{
"en":"Published to PyPI.",
"bg":"Публикувано в PyPI.",
"de":"In PyPI veröffentlicht.",
"ru":"Опубликовано в PyPI.",
"zh":"已发布到 PyPI。"
},
"Pushed release commit to master.":{
"en":"Pushed release commit to master.",
"bg":"Pushed release commit to master.",
"de":"Pushed release commit to master.",
"ru":"Pushed release commit to master.",
"zh":"Pushed release commit to master."
},
"Rebased and pushed. Retrying merge...":{
"en":"Rebased and pushed. Retrying merge...",
"bg":"Rebased and pushed. Retrying merge...",
"de":"Rebased and pushed. Retrying merge...",
"ru":"Rebased and pushed. Retrying merge...",
"zh":"Rebased and pushed. Retrying merge..."
},
"Release creation failed: {error}":{
"en":"Release creation failed: {error}",
"bg":"Release creation failed: {error}",
"de":"Release creation failed: {error}",
"ru":"Release creation failed: {error}",
"zh":"Release creation failed: {error}"
},
"Release must be run on master, currently on '{branch}'.":{
"en":"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}'.",
"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}":{
"en":"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}",
"ru":"Repo must be in 'owner/name' format, got: {repo}",
"zh":"Repo must be in 'owner/name' format, got: {repo}"
},
"Repository configuration complete.":{
"en":"Repository configuration complete.",
"bg":"Конфигурирането на хранилището е завършено.",
"de":"Repository-Konfiguration abgeschlossen.",
"ru":"Конфигурация репозитория завершена.",
"zh":"仓库配置完成。"
},
"Runner index {index} out of range (0..{max})":{
"en":"Runner index {index} out of range (0..{max})",
"bg":"Индексът на runner {index} е извън диапазона (0..{max})",
"de":"Runner-Index {index} außerhalb des Bereichs (0..{max})",
"ru":"Индекс runner {index} вне диапазона (0..{max})",
"zh":"Runner 索引 {index} 超出范围 (0..{max})"
},
"Running lint checks...":{
"en":"Running lint checks...",
"bg":"Running lint checks...",
"de":"Running lint checks...",
"ru":"Running lint checks...",
"zh":"Running lint checks..."
},
"Running tests...":{
"en":"Running tests...",
"bg":"Running tests...",
"de":"Running tests...",
"ru":"Running tests...",
"zh":"Running tests..."
},
"Running: {scenario} on {platform}":{
"en":"Running: {scenario} on {platform}",
"bg":"Running: {scenario} on {platform}",
"de":"Running: {scenario} on {platform}",
"ru":"Running: {scenario} on {platform}",
"zh":"Running: {scenario} on {platform}"
},
"Skipping commit push — no staged changes.":{
"en":"Skipping commit push — no staged changes.",
"bg":"Skipping commit push — no staged changes.",
"de":"Skipping commit push — no staged changes.",
"ru":"Skipping commit push — no staged changes.",
"zh":"Skipping commit push — no staged changes."
},
"Syncing {count} documentation pages to wiki...":{
"en":"Syncing {count} documentation pages to wiki...",
"bg":"Syncing {count} documentation pages to wiki...",
"de":"Syncing {count} documentation pages to wiki...",
"ru":"Syncing {count} documentation pages to wiki...",
"zh":"Syncing {count} documentation pages to wiki..."
},
"Tag consistency check failed.":{
"en":"Tag consistency check failed.",
"bg":"Tag consistency check failed.",
"de":"Tag consistency check failed.",
"ru":"Tag consistency check failed.",
"zh":"Tag consistency check failed."
},
"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.",
"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.",
"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.":{
"en":"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.",
"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.":{
"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.",
"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.",
"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}":{
"en":"Task ID: {task_id}",
"bg":"Task ID: {task_id}",
"de":"Task ID: {task_id}",
"ru":"Task ID: {task_id}",
"zh":"Task ID: {task_id}"
},
"Tests failed — refusing to release. Fix test failures first.\n{stderr}":{
"en":"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}",
"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.":{
"en":"Tests passed.",
"bg":"Tests passed.",
"de":"Tests passed.",
"ru":"Tests passed.",
"zh":"Tests passed."
},
"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.",
"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.",
"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}":{
"en":"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}",
"ru":"Unknown check category '{check}'. Available: all, user-facing{tags}",
"zh":"Unknown check category '{check}'. Available: all, user-facing{tags}"
},
"Updated version in {init}":{
"en":"Updated version in {init}",
"bg":"Updated version in {init}",
"de":"Updated version in {init}",
"ru":"Updated version in {init}",
"zh":"Updated version in {init}"
},
"Updated {changelog_file}":{
"en":"Updated {changelog_file}",
"bg":"Updated {changelog_file}",
"de":"Updated {changelog_file}",
"ru":"Updated {changelog_file}",
"zh":"Updated {changelog_file}"
},
"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.",
"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.",
"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}":{
"en":"Version file: {file}",
"bg":"Version file: {file}",
"de":"Version file: {file}",
"ru":"Version file: {file}",
"zh":"Version file: {file}"
},
"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.",
"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.",
"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."
},
"WARNING: --skip-tests passed — skipping test verification.":{
"en":"WARNING: --skip-tests passed — skipping test verification.",
"bg":"WARNING: --skip-tests passed — skipping test verification.",
"de":"WARNING: --skip-tests passed — skipping test verification.",
"ru":"WARNING: --skip-tests passed — skipping test verification.",
"zh":"WARNING: --skip-tests passed — skipping test verification."
},
"Warning: could not fetch tags from origin.":{
"en":"Warning: could not fetch tags from origin.",
"bg":"Warning: could not fetch tags from origin.",
"de":"Warning: could not fetch tags from origin.",
"ru":"Warning: could not fetch tags from origin.",
"ru":"Ой! Публикация в PyPI не удалась:\n{stderr}",
"zh":"哎呀!PyPI 发布失败:\n{stderr}"
},
"PASSED: {pair}":{
"bg":"PASSED: {pair}",
"de":"PASSED: {pair}",
"en":"PASSED: {pair}",
"ru":"PASSED: {pair}",
"zh":"PASSED: {pair}"
},
"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}",
"ru":"PR number must be an integer, got: {pr_number}",
"zh":"PR number must be an integer, got: {pr_number}"
},
"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}",
"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}"
},
"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.",
"ru":"PYPI_TOKEN не задан и URL registry не настроен — пропускаем публикацию в PyPI. Не беспокойтесь, мы просто создадим Gitea release.",
"de":"In der Gitea PyPI-Registry veröffentlicht.",
"en":"Published to Gitea PyPI registry.",
"ru":"Опубликовано в Gitea PyPI registry.",
"zh":"已发布到 Gitea PyPI registry。"
},
"Published to PyPI.":{
"bg":"Публикувано в PyPI.",
"de":"In PyPI veröffentlicht.",
"en":"Published to PyPI.",
"ru":"Опубликовано в PyPI.",
"zh":"已发布到 PyPI。"
},
"Pushed release commit to master.":{
"bg":"Pushed release commit to master.",
"de":"Pushed release commit to master.",
"en":"Pushed release commit to master.",
"ru":"Pushed release commit to master.",
"zh":"Pushed release commit to master."
},
"Rebased and pushed. Retrying merge...":{
"bg":"Rebased and pushed. Retrying merge...",
"de":"Rebased and pushed. Retrying merge...",
"en":"Rebased and pushed. Retrying merge...",
"ru":"Rebased and pushed. Retrying merge...",
"zh":"Rebased and pushed. Retrying merge..."
},
"Release creation failed: {error}":{
"bg":"Release creation failed: {error}",
"de":"Release creation failed: {error}",
"en":"Release creation failed: {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}'.",
"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}",
"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.",
"ru":"Конфигурация репозитория завершена.",
"zh":"仓库配置完成。"
},
"Roles directory not found: {path}":{
"bg":"Roles directory not found: {path}",
"de":"Roles directory not found: {path}",
"en":"Roles directory not found: {path}",
"ru":"Roles directory not found: {path}",
"zh":"Roles directory not found: {path}"
},
"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})",
"ru":"Индекс runner {index} вне диапазона (0..{max})",
"zh":"Runner 索引 {index} 超出范围 (0..{max})"
},
"Running lint checks...":{
"bg":"Running lint checks...",
"de":"Running lint checks...",
"en":"Running lint checks...",
"ru":"Running lint checks...",
"zh":"Running lint checks..."
},
"Running tests...":{
"bg":"Running tests...",
"de":"Running tests...",
"en":"Running tests...",
"ru":"Running tests...",
"zh":"Running tests..."
},
"Running: {scenario} on {platform}":{
"bg":"Running: {scenario} on {platform}",
"de":"Running: {scenario} on {platform}",
"en":"Running: {scenario} on {platform}",
"ru":"Running: {scenario} on {platform}",
"zh":"Running: {scenario} on {platform}"
},
"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.",
"ru":"Skipping commit push — no staged changes.",
"zh":"Skipping commit push — no staged changes."
},
"Syncing {count} documentation pages to wiki...":{
"bg":"Syncing {count} documentation pages to wiki...",
"de":"Syncing {count} documentation pages to wiki...",
"en":"Syncing {count} documentation pages to wiki...",
"ru":"Syncing {count} documentation pages to wiki...",
"zh":"Syncing {count} documentation pages to wiki..."
},
"Tag consistency check failed.":{
"bg":"Tag consistency check failed.",
"de":"Tag consistency check failed.",
"en":"Tag consistency check failed.",
"ru":"Tag consistency check failed.",
"zh":"Tag consistency check failed."
},
"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.",
"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.",
"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.",
"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}",
"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.":{
"en":"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.",
"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."
},
"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}",
"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.",
"ru":"Tests passed.",
"zh":"Tests passed."
},
"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).",
"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).",
"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.",
"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}",
"ru":"Unknown check category '{check}'. Available: all, user-facing{tags}",
"zh":"Unknown check category '{check}'. Available: all, user-facing{tags}"
},
"Updated version in {init}":{
"bg":"Updated version in {init}",
"de":"Updated version in {init}",
"en":"Updated version in {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}",
"ru":"Updated {changelog_file}",
"zh":"Updated {changelog_file}"
},
"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.",
"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}",
"ru":"Version file: {file}",
"zh":"Version file: {file}"
},
"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.",
"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."
},
"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.",
"ru":"WARNING: --skip-tests passed — skipping test verification.",
"zh":"WARNING: --skip-tests passed — skipping test verification."
},
"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.",
"ru":"Warning: could not fetch tags from origin.",
"""Should not crash when GITHUB_ENV is not set."""
runner=CliRunner()
result=runner.invoke(main,[])
assertresult.exit_code==0
Reference in New Issue
Block a user
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.