refactor: switch the whole project to English

talk is going to be published. Code comments, CLI output, error messages,
daemon log lines, MCP descriptions and results, test names and assertions,
README, spec, skill, build scripts and flake are now English. Only the
spoken announcement texts stay bilingual: the wrap result and the test
sentence are German or English depending on the detected language.

Language fallback is now configurable: `lang = "en" | "de"` (env
TALK_LANG, default en) is used when detection cannot tell (numbers, single
words, ties) and for talk's own announcements. langdetect.Detect takes the
fallback as an argument instead of hard-coding German. `talk setup` asks for
it; `talk doctor` and `talk status` show it.

Vocabulary pinned across packages so the process-boundary tests observe
stable strings: chain log lines ("chain: tier X skipped (not available)",
"falling back to the next tier", "spoken via X"), queue lines ("discarded:
quiet hours ... active", "replaced by toast", "max_age"), CLI notes
("speaking directly", "daemon started at", "no daemon", "nothing to cancel"),
status block with aligned English labels, MCP messages, origin guard 403.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
This commit is contained in:
m3ta-chironandClaude Fable 5.1 committed 2026-10-24 11:15:35 +02:00
1 parent 4d30bd95ad
commit 85fa64cfe6
95 files changed
+4707 -4854

No files matched your search

+10 -10
View File
@@ -1,5 +1,5 @@
# Release-Matrix: bei Tag v* → Tests → Artefakte für alle Plattformen →
# Gitea-Release mit Assets talk_<os>_<arch>[.exe] + checksums.txt.
# Release matrix: on tag v* -> tests -> artifacts for all platforms ->
# Gitea release with assets talk_<os>_<arch>[.exe] + checksums.txt.
name: release
on:
@@ -14,27 +14,27 @@ jobs:
- name: Checkout
uses: actions/checkout@v4
with:
fetch-depth: 0 # git describe braucht die Tags
- name: Go einrichten
fetch-depth: 0 # git describe needs the tags
- name: Set up Go
uses: actions/setup-go@v5
with:
go-version-file: go.mod
- name: Tests
run: go vet ./... && go test ./...
- name: Artefakte bauen
- name: Build artifacts
run: scripts/release.sh "${{ github.ref_name }}"
- name: Gitea-Release anlegen und Assets hochladen
- name: Create Gitea release and upload assets
uses: https://gitea.com/actions/gitea-release-action@v1
with:
token: ${{ secrets.GITHUB_TOKEN }}
tag_name: ${{ github.ref_name }}
name: talk ${{ github.ref_name }}
body: |
Statische Binaries (CGO_ENABLED=0), Prüfsummen in `checksums.txt`.
Static binaries (CGO_ENABLED=0), checksums in `checksums.txt`.
Installation: passendes `talk_<os>_<arch>` laden, Prüfsumme vergleichen,
als `talk` in den PATH legen, `talk doctor`. Der Daemon startet beim ersten
Sprechbefehl von selbst.
Installation: download the matching `talk_<os>_<arch>`, verify the checksum,
place it in your PATH as `talk`, run `talk doctor`. The daemon starts itself
on the first speak command.
files: |-
dist/talk_*
dist/checksums.txt
+3 -3
View File
@@ -10,17 +10,17 @@ jobs:
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Go einrichten
- name: Set up Go
uses: actions/setup-go@v5
with:
go-version-file: go.mod
- name: go vet
run: go vet ./...
- name: gofmt-Check
- name: gofmt check
run: |
unformatted=$(gofmt -l .)
if [ -n "$unformatted" ]; then
echo "Folgende Dateien sind nicht gofmt-formatiert:"
echo "The following files are not gofmt-formatted:"
echo "$unformatted"
exit 1
fi