chore(i18n): finish translating code comments and scripts to English
CI / Format and clippy (push) Successful in 1m57s
CI / Dependency audit (push) Successful in 13s
CI / Check desktop app (Linux) (push) Successful in 3m54s
CI / Tests (Linux) (push) Failing after 7m25s
Release / Create release (push) Successful in 6s
Release / CLI (linux-aarch64) (push) Successful in 1m48s
Release / CLI (linux-x86_64) (push) Successful in 2m39s
Release / Desktop app (linux-aarch64) (push) Successful in 10m9s
Release / Desktop app (linux-x86_64) (push) Successful in 12m20s
Release / Desktop app (windows) (push) Successful in 7m32s
Release / Build latest.json (push) Successful in 5s

Completes the English-only standardization for code, comments, scripts
and CI templates (UI/CLI-facing strings stay bilingual pt-BR/en,
untouched). Covers the remaining crates/, apps/gui/ui/ and
apps/gui/src-tauri/ comments, .gitea/ workflow and template comments,
.githooks/ hooks, and the scripts/ source comments for the files
already renamed in a prior commit (check.sh, generate-logo.py,
install-hooks.sh).

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01VAyr8d7HuAdUGB6aA5xmDD
This commit is contained in:
Lucas RayanandClaude Sonnet 5 committed 2026-10-30 20:43:02 -03:00
1 parent da212e6926
commit 6328220c60
129 files changed
+1961 -1834

No files matched your search

+13 -13
View File
@@ -1,12 +1,12 @@
#!/usr/bin/env python3
"""Monta o latest.json que o atualizador do app lê (Tauri updater), a partir dos pacotes e das
assinaturas `.sig` já enviados à release no Gitea.
"""Builds the latest.json manifest read by the Tauri updater from the release
bundles and `.sig` signatures already uploaded to the Gitea release.
Roda no job de publicação, depois que os jobs de empacotamento terminaram. Montar o arquivo
aqui, em um passo só, evita a corrida de quem tenta atualizá-lo em paralelo por plataforma.
Runs in the final publish job after all matrix packaging jobs complete. Building
the manifest in a single step avoids race conditions from parallel matrix jobs.
Uso: make-latest-json.py <tag> <notas.md> <saida.json>
Precisa de API (URL do repositório na API do Gitea) e TOKEN no ambiente.
Usage: make-latest-json.py <tag> <notes.md> <out.json>
Requires API (Gitea repository API URL) and TOKEN in the environment.
"""
import json
import os
@@ -15,8 +15,8 @@ import urllib.parse
import urllib.request
from datetime import datetime, timezone
# (chaves de plataforma, padrão do nome do pacote). {v} = versão sem o "v".
# Sem macOS: não há runner para compilar essa plataforma.
# (platform keys, package filename patterns). {v} = version without leading "v".
# No macOS: no Apple hardware/signing runner is available.
PLATFORMS = [
(["linux-x86_64", "linux-x86_64-appimage"], ("Guará_{v}_amd64.AppImage", "Guara_{v}_amd64.AppImage")),
(["linux-aarch64", "linux-aarch64-appimage"], ("Guará_{v}_aarch64.AppImage", "Guara_{v}_aarch64.AppImage")),
@@ -36,9 +36,9 @@ def api_get_text(url):
def build(version, notes, assets, pub_date):
"""`assets` = {nome_do_pacote: (url, assinatura)}. Devolve o dicionário do latest.json.
"""`assets` = {package_name: (url, signature)}. Returns the latest.json dict.
Plataforma sem pacote ou sem assinatura sai da lista; o chamador decide se isso é erro."""
Platforms missing a package or signature are omitted; the caller decides whether that is fatal."""
platforms = {}
for keys, patterns in PLATFORMS:
name = next((n for p in patterns if (n := p.format(v=version)) in assets), None)
@@ -66,12 +66,12 @@ def main():
assets[name] = (by_name[name]["browser_download_url"], sig)
data = build(version, open(notes_path, encoding="utf-8").read(), assets,
datetime.now(timezone.utc).strftime("%Y-%m-%dT%H:%M:%SZ"))
# Exige os pacotes assinados de Linux (x86_64 e aarch64) e Windows.
# Require signed packages for Linux (x86_64 and aarch64) and Windows.
platforms = data["platforms"]
for must in ("linux-x86_64", "linux-aarch64", "windows-x86_64"):
if must not in platforms:
sys.exit(f"faltam pacotes ou assinaturas de {must} (achei {sorted(platforms)}); "
"confira se TAURI_SIGNING_PRIVATE_KEY está nos segredos")
sys.exit(f"missing package or signature for {must} (found {sorted(platforms)}); "
"verify that TAURI_SIGNING_PRIVATE_KEY is set in repository secrets")
with open(out, "w", encoding="utf-8") as f:
json.dump(data, f, indent=2, ensure_ascii=False)
f.write("\n")