Skip to content

Chinese pages for Volume Booster, Text to Speech, Audio Joiner, Audio Compressor - #18

Merged
formeo merged 1 commit into
mainfrom
zh-tools
Oct 22, 2026
Merged

formeo merged 1 commit into
mainfrom
zh-tools

Conversation

@formeo

@formeo formeo commented Oct 22, 2026 •

Copy link
Copy Markdown
Owner

Targets main and contains #17 (the batch branch), so merging only this PR lands both; if #17 is merged first, this diff shrinks to the Chinese pages.

Why

GA4, last 4 weeks: about 43% of visitors are in China (cn.bing.com, Doubao), and the Chinese homepage is the third most viewed page, but only the converter had a Chinese version; others reached English pages through browser translation.

What changes

  • /zh/volume-booster/, /zh/text-to-speech/, /zh/audio-joiner/, /zh/audio-compressor/: same code as the English pages, Chinese text (UI, alerts, progress, batch labels, SEO text, FAQ; JSON-LD regenerated from the visible FAQ), inLanguage: zh-CN, own OG previews.
  • hreflang en/zh/x-default and the 中文 ↔ EN switch on both versions.
  • Chinese navigation and footer now link to the Chinese tools on every Chinese page, including /zh/ (tool grid) and /zh/converter/.
  • Helper and "continue with this file" link to Chinese pages from Chinese pages.
  • Text to Speech, both languages: online voices (localService === false, e.g. Chrome's "Google" voices) are marked "online / 在线", and the copy says the text is never sent to AudioTools.dev rather than "never leaves the device". The Chinese page starts on Chinese voices.

How it stays in sync

scripts/build_zh.py generates the four pages from the English ones with translation tables. If an English string changes, it stops and names it, and after building it lists any English left on a Chinese page. /zh/ and /zh/converter/ stay hand-maintained; the script only updates their navigation, footer and tool links. README documents it (build_zh.py, then seo_sync.py).

Checks (headless Chromium)

  • zh_e2e: booster normalize + MP3 download + GA event + Chinese support line; next steps go to Chinese pages; joiner 2 files; compressor single and batch (ZIP of 2); TTS renders; /zh/ helper "压缩到1MB" + file → /zh/audio-compressor/ with 192 kbps applied; language switch both ways; no page errors.
  • Links (all 17 pages), footer coverage, hreflang reciprocity for all 5 pairs, 390px overflow, contrast on 20 pages: OK. seo_sync.py --check OK.
  • English regression: GA4 events, helper hand-offs and settings, batch, MP3/WAV exports and chains: all OK.

Generated by Claude Code

… Compressor

- scripts/build_zh.py builds /zh/<tool>/ from the English page with a
  translation table per page (stops if an English string changed, lists any
  English left); adds hreflang and the 中文/EN switch on both versions; puts the
  Chinese navigation and footer, with links to Chinese pages where they exist,
  on every Chinese page including the hand-made /zh/ and /zh/converter/.
- og/zh-*.png previews; sitemap (4 URLs), llms.txt, README, changelog.
- Helper and "continue with this file" link to the Chinese tools on Chinese
  pages; audio-export.js says "正在编码 MP3…" there.
- Text to Speech (both languages): voices that run online (localService false,
  e.g. Chrome's "Google" voices) are marked, and the copy no longer claims the
  text never leaves the device; the Chinese page starts on Chinese voices and
  shows language names in the page's language.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_016rsS6JgzjZXLy17J1cgACN
@formeo
formeo changed the base branch from batch to main October 22, 2026 06:13
@formeo
formeo merged commit 12f0772 into main Oct 22, 2026
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants