summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEuAndreh <eu@euandre.org>2025-05-01 17:25:31 -0300
committerEuAndreh <eu@euandre.org>2025-05-01 18:19:56 -0300
commit2f2a292b0aab4d1caf98e7681f3f60c1a01fa98a (patch)
tree88368de8a7881a5c32dfbea23eaeebe0676a27dd
parentmkdeps.sh: Add default $LANG export (diff)
downloadmkwb-2f2a292b0aab4d1caf98e7681f3f60c1a01fa98a.tar.gz
mkwb-2f2a292b0aab4d1caf98e7681f3f60c1a01fa98a.tar.xz
Support multiple languages for "categories" string
-rwxr-xr-xsrc/categories23
-rwxr-xr-xsrc/categoriesbody4
-rwxr-xr-xsrc/categorydata4
-rwxr-xr-xsrc/conf5
-rwxr-xr-xsrc/indexbody3
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"
diff --git a/src/conf b/src/conf
index 6951462..b7aeb45 100755
--- a/src/conf
+++ b/src/conf
@@ -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
}