diff options
author | EuAndreh <eu@euandre.org> | 2025-05-01 17:25:31 -0300 |
---|---|---|
committer | EuAndreh <eu@euandre.org> | 2025-05-01 18:19:56 -0300 |
commit | 2f2a292b0aab4d1caf98e7681f3f60c1a01fa98a (patch) | |
tree | 88368de8a7881a5c32dfbea23eaeebe0676a27dd | |
parent | mkdeps.sh: Add default $LANG export (diff) | |
download | mkwb-2f2a292b0aab4d1caf98e7681f3f60c1a01fa98a.tar.gz mkwb-2f2a292b0aab4d1caf98e7681f3f60c1a01fa98a.tar.xz |
Support multiple languages for "categories" string
-rwxr-xr-x | src/categories | 23 | ||||
-rwxr-xr-x | src/categoriesbody | 4 | ||||
-rwxr-xr-x | src/categorydata | 4 | ||||
-rwxr-xr-x | src/conf | 5 | ||||
-rwxr-xr-x | src/indexbody | 3 |
5 files changed, 28 insertions, 11 deletions
diff --git a/src/categories b/src/categories index 9261fdf..26172e8 100755 --- a/src/categories +++ b/src/categories @@ -3,19 +3,28 @@ set -euo pipefail usage() { - echo 'Usage: categories DIRECTORY' + echo 'Usage: categories GLOBAL_CONF DATADIRECTORY' } -DIRECTORY="${1:-}" -eval "$(assert-arg -- "$DIRECTORY" 'DIRECTORY')" +GLOBAL_CONF="${1:-}" +DATADIRECTORY="${2:-}" +eval "$(assert-arg -- "$GLOBAL_CONF" 'GLOBAL_CONF')" +eval "$(assert-arg -- "$DATADIRECTORY" 'DATADIRECTORY')" +. ./"$GLOBAL_CONF" + + +len="$( printf '%s..' "$root_dir" | sed -e 's|//|/|g' -e 's|/$||' | wc -c)" +lang="$(printf '%s' "$DATADIRECTORY" | cut -c "$len"- | tee /dev/stderr | cut -d/ -f1)" +SINGULAR="$(cat "$names_dir"/category/"$lang".txt)" +PLURAL="$( cat "$names_dir"/categories/"$lang".txt)" listall() ( - cd "$DIRECTORY" - find category.*.*.sortdata | cut -d. -f2 | sort | uniq + cd "$DATADIRECTORY" + find "$SINGULAR".*.*.sortdata | cut -d. -f2 | sort | uniq ) for category in `listall`; do - out="$DIRECTORY"/categories."$category".sortdata - cat "$DIRECTORY"/category."$category".*.sortdata > "$out" + out="$DATADIRECTORY"/"$PLURAL"."$category".sortdata + cat "$DATADIRECTORY"/"$SINGULAR"."$category".*.sortdata > "$out" printf '%s\n' "$out" done diff --git a/src/categoriesbody b/src/categoriesbody index 4ce7c73..cd7bd3d 100755 --- a/src/categoriesbody +++ b/src/categoriesbody @@ -10,9 +10,9 @@ FILENAME="${1:-}" eval "$(assert-arg -- "$FILENAME" 'FILENAME.conf')" . ./"$FILENAME" DIR="$(dirname -- "$FILENAME")" +PLURAL="$(cat "$names_dir"/categories/"$lang".txt)" - -for catsortdata in `cat "$DIR"/categories.txt`; do +for catsortdata in `cat "$DIR"/"$PLURAL".txt`; do category="$(basename -- "$catsortdata" | cut -d. -f2)" feedname=feed."$category".xml cat <<EOF diff --git a/src/categorydata b/src/categorydata index faee5bf..530ee24 100755 --- a/src/categorydata +++ b/src/categorydata @@ -11,9 +11,11 @@ eval "$(assert-arg -- "$FILENAME" 'FILENAME.conf')" . ./"$FILENAME" +SINGULAR="$(cat "$names_dir"/category/"$lang".txt)" + DIR="$(dirname "$FILENAME")"/../../.. for category in ${categories:-}; do - from="$DIR"/category."$category"."$date_iso"-"$sort".sortdata + from="$DIR"/"$SINGULAR"."$category"."$date_iso"-"$sort".sortdata to="$date_iso"-"$sort".sortdata ln -fs "$to" "$from" printf '%s\n' "$from" @@ -198,6 +198,10 @@ lastmod_iso="$(dateiso "@$lastmod_epoch" | shesc)" lastmod_formatted="$(datefmt "$lastmod_iso" | shesc)" +LEN="$( printf '%s..' "$root_dir" | sed -e 's|//|/|g' -e 's|/$||' | wc -c)" +lang="$(printf '%s' "$FILENAME" | cut -c "$LEN"- | cut -d/ -f1 | shesc)" + + BASE_URL="$(base_url)" TITLE_RAW="$(cat -- "$FILENAME" | grep '^= .*' | head -n1 | cut -d' ' -f2- || echo 'MISSING')" @@ -277,6 +281,7 @@ cat <<-EOF export updatedat_formatted="$updatedat_formatted" export comment_url="$comment_url" export discussions_url="$discussions_url" + export lang="$lang" EOF cat "$FILENAME".embedded-config diff --git a/src/indexbody b/src/indexbody index 75d7f1d..e1b8017 100755 --- a/src/indexbody +++ b/src/indexbody @@ -25,6 +25,7 @@ FILENAME="${1:-}" SORTDATA="${2:-"$(dirname -- "$FILENAME")"/sortdata.txt}" eval "$(assert-arg -- "$FILENAME" 'FILENAME.conf')" . ./"$FILENAME" +PLURAL="$(cat "$names_dir"/categories/"$lang".txt)" header() { @@ -33,7 +34,7 @@ header() { Atom feed <a href="feed.xml"><img src="$feedicon_url" class="icon" /></a> and feeds by - <a href="categories.html">categories</a>. + <a href="$PLURAL.html">$PLURAL</a>. </p> EOF } |