mdbook 0.5's built-in Font Awesome parser sees the legacy `fa` class
that uudoc emits and defaults to type=regular, failing to find
linux/windows/apple (which live under `brands`) and spamming hundreds
of WARN lines per build. Drop the `fa ` prefix between uudoc and
mdbook build for both English and translated docs.
- Browser-based unit tests (111 tests) covering parsing, builtins,
pipes, UTF-8, l10n, virtual filesystem, and WASM integration
- Headless Puppeteer test runner (scripts/run-tests.js)
- CI workflow step to build WASM and run tests
Replace hardcoded FTL_TO_URL and LANG_NAMES maps with dynamic
detection. ftl_to_url() derives URL codes from FTL filenames
(e.g., fr-FR -> fr, zh-Hans -> zh-Hans). locale_display_name()
uses python3+babel for native language names with fallback to the
code itself. New locales are now picked up automatically without
editing the scripts.
The URL matching regex only accepted two-letter codes or two-letter
plus two uppercase (e.g., pt-BR), missing codes like zh-Hant with
longer suffixes. Use [a-zA-Z]+ after the hyphen to match all codes.
Merge translated tldr zips with the English one so that utilities
without translated examples (e.g., cut in French) still show the
English examples instead of having no Examples section at all.
Add a notice on affected pages linking to the tldr-pages project
for contributors to help translate the examples.
Use a global variable (MERGE_HAD_FALLBACK) instead of return codes
for merge_ftl, and use if/fi instead of [ ] && cmd in restore_en.
Both patterns caused silent script abortion under set -euo pipefail
when returning non-zero exit codes.
When a utility page has strings that fell back to English, inject a
notice linking to the corresponding Weblate translation page so
contributors can help complete the translation.
When building translated docs, the script was replacing en-US.ftl
entirely with the translated file. This caused raw FTL identifiers
(e.g. mknod-help-mode) to appear in the docs when translations were
empty or partial. Now merges translated keys with English so that
untranslated keys fall back to English text.
- Scan coreutils-l10n for available locales instead of hardcoding
- Fix language switcher to use relative path replacement so it works
with both deployed and local file:// URLs
- Move links into the existing .additional div for better layout
Generates translated documentation by swapping locale .ftl files
into en-US.ftl (since uudoc hardcodes that filename), re-running
uudoc with translated tldr examples, and building mdbook per language.
The existing mdbook docs at /coreutils/docs/ already provide utility
documentation. Remove the redundant manpage HTML generation scripts
and templates.
- Move l10n locale copy to a separate workflow step before docs build
to avoid triggering uudoc rebuilds with different cargo features
- Build uudoc once, then reuse for all languages
- Handle per-language build failures gracefully (skip and continue)
- Remove unused L10N_DIR parameter from build-all-manpages.sh
Orchestrates manpage builds for 19 languages: downloads per-language
tldr archives, copies l10n locales into coreutils, generates manpages
with the appropriate LANG setting, and invokes build-manpages.sh with
English tldr fallback for each language.
Accept optional lang and fallback-tldr-dir parameters. When a
translated tldr page is missing, fall back to the English version
with a notice linking to the tldr translation contributing guide.