Skip to content

Commit 3fb2289

Browse files
committed
Auto-detect locales in build-docs-l10n.sh from coreutils source
Scan coreutils/src/uu/ls/locales/*.ftl to discover available translations instead of maintaining a hardcoded language list.
1 parent f0c206a commit 3fb2289

1 file changed

Lines changed: 17 additions & 5 deletions

File tree

scripts/build-docs-l10n.sh

Lines changed: 17 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -14,13 +14,25 @@ set -euo pipefail
1414

1515
COREUTILS_DIR="${1:?Usage: $0 <coreutils-dir>}"
1616

17-
# Languages to build (besides English which is already built)
18-
declare -A LANG_MAP=(
19-
[fr]="fr-FR" [de]="de" [es]="es-ES" [it]="it" [pt]="pt" [pt-BR]="pt-BR"
20-
[ja]="ja" [ko]="ko" [ru]="ru" [zh]="zh-Hans" [uk]="uk" [sv]="sv"
21-
[pl]="pl" [tr]="tr" [ar]="ar" [cs]="cs" [da]="da" [id]="id"
17+
# ftl filename -> URL lang code (when they differ)
18+
declare -A FTL_TO_URL=(
19+
[fr-FR]="fr" [es-ES]="es" [zh-Hans]="zh" [zh-Hant]="zh-Hant"
20+
[pt-BR]="pt-BR" [nb-NO]="nb-NO"
2221
)
2322

23+
# Discover available locales from the coreutils source (l10n already copied in)
24+
# Use ls utility as reference
25+
declare -A LANG_MAP=()
26+
for ftl in "$COREUTILS_DIR"/src/uu/ls/locales/*.ftl; do
27+
[ -f "$ftl" ] || continue
28+
ftl_name=$(basename "$ftl" .ftl)
29+
[ "$ftl_name" = "en-US" ] && continue
30+
url_code="${FTL_TO_URL[$ftl_name]:-$ftl_name}"
31+
LANG_MAP[$url_code]="$ftl_name"
32+
done
33+
34+
echo "Found ${#LANG_MAP[@]} locales to build: ${!LANG_MAP[*]}"
35+
2436
TMPDIR=$(mktemp -d)
2537
trap 'rm -rf "$TMPDIR"' EXIT
2638

0 commit comments

Comments
 (0)