diff --git a/.github/workflows/add-lang.yml b/.github/workflows/add-lang.yml
index ba9e82110..05e912461 100644
--- a/.github/workflows/add-lang.yml
+++ b/.github/workflows/add-lang.yml
@@ -7,7 +7,7 @@ jobs:
permissions:
contents: write
issues: write
- runs-on: ubuntu-latest
+ runs-on: ubuntu-22.04
if: github.event.label.name == 'new language'
steps:
diff --git a/.github/workflows/jekyll.yml b/.github/workflows/jekyll.yml
index 2721ad32e..2cd5e15ab 100644
--- a/.github/workflows/jekyll.yml
+++ b/.github/workflows/jekyll.yml
@@ -11,7 +11,7 @@ jobs:
jekyll_site_ci:
permissions:
contents: write
- runs-on: ubuntu-latest
+ runs-on: ubuntu-22.04
steps:
- uses: actions/checkout@v4
diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml
index 475c71cc2..1186ac7a2 100644
--- a/.github/workflows/main.yml
+++ b/.github/workflows/main.yml
@@ -7,7 +7,7 @@ jobs:
build_and_deploy_site:
permissions:
contents: write
- runs-on: ubuntu-latest
+ runs-on: ubuntu-22.04
steps:
- uses: actions/checkout@v4
@@ -107,7 +107,7 @@ jobs:
needs: build_and_deploy_site
permissions:
contents: write
- runs-on: ubuntu-latest
+ runs-on: ubuntu-22.04
steps:
- uses: actions/checkout@v4
- name: ${{ github.sha }} update from release
diff --git a/1-ru-index.md b/1-ru-index.md
new file mode 120000
index 000000000..d14f2cae3
--- /dev/null
+++ b/1-ru-index.md
@@ -0,0 +1 @@
+wiki/ru/1-index.md
\ No newline at end of file
diff --git a/1-th-index.md b/1-th-index.md
new file mode 120000
index 000000000..9dfa4264e
--- /dev/null
+++ b/1-th-index.md
@@ -0,0 +1 @@
+wiki/th/1-index.md
\ No newline at end of file
diff --git a/_config.yml b/_config.yml
index e54def40e..2851cab21 100644
--- a/_config.yml
+++ b/_config.yml
@@ -2,9 +2,11 @@ plugins:
- jekyll-paginate-v2
- jekyll-polyglot
- jekyll-minifier
-languages: ["en", "sv-SE", "zh-CN", "nb-NO", "ko-KR", "pt-BR", "pt-PT", "nl", "es", "de", "it", "fr"]
+languages: ["en", "ru", "th", "sv-SE", "zh-CN", "nb-NO", "ko-KR", "pt-BR", "pt-PT", "nl", "es", "de", "it", "fr"]
default_lang: "en"
language_names:
+ ru: Русский
+ th: ไทย
sv-SE: Svenska
en: English
zh-CN: 简体中文
diff --git a/_po4a-tools/po4a-create-all-targets.sh b/_po4a-tools/po4a-create-all-targets.sh
index 9b30b51ee..64f516250 100755
--- a/_po4a-tools/po4a-create-all-targets.sh
+++ b/_po4a-tools/po4a-create-all-targets.sh
@@ -99,16 +99,17 @@ process_with_po4a () {
THRESHOLD="$THRESH_VAL"
fi
- # Determine file format to be used
+ # Determine file format to be used and set options (configured as an array to allow adding an arbitrary number of them)
+ OPTION=()
if [ $ext == yml ] ; then
FILE_FORMAT=yaml
- OPTION="skip_array"
+ OPTION=("skip_array")
elif [[ $ext == html || "$filename" == *'-index' ]] ; then # '-index.md' has a markdown extension but is actually html and should be processed as such by po4a
FILE_FORMAT=xml
- OPTION="ontagerror=warn"
+ OPTION=("ontagerror=warn" "attributes=src alt")
elif [ $ext == md ] ; then
FILE_FORMAT=text
- OPTION="markdown"
+ OPTION=("markdown")
fi
# Run po4a-translate and create target files
@@ -120,7 +121,7 @@ process_with_po4a () {
--localized "$targ_doc" \
--localized-charset "UTF-8" \
--no-deprecation \
- --option "$OPTION" \
+ "${OPTION[@]/#/--option=}" \
--keep "$THRESHOLD"
# Display message if translated file is created
diff --git a/_po4a-tools/po4a-update-templates.sh b/_po4a-tools/po4a-update-templates.sh
index 234fefda7..3ac68221f 100755
--- a/_po4a-tools/po4a-update-templates.sh
+++ b/_po4a-tools/po4a-update-templates.sh
@@ -60,16 +60,17 @@ while IFS= read -r -d '' doc ; do
echo creating "$po_file"
fi
- # Determine file format to be used
+ # Determine file format to be used and set options (configured as an array to allow adding an arbitrary number of them)
+ OPTION=()
if [ $ext == yml ] ; then
FILE_FORMAT=yaml
- OPTION="skip_array"
+ OPTION=("skip_array")
elif [[ $ext == html || "$filename" == *'-index' ]] ; then # '-index.md' has a markdown extension but is actually html and should be processed as such by po4a
FILE_FORMAT=xml
- OPTION="ontagerror=warn"
+ OPTION=("ontagerror=warn" "attributes=src alt")
elif [ $ext == md ] ; then
FILE_FORMAT=text
- OPTION="markdown"
+ OPTION=("markdown")
fi
# Update/create .po files
@@ -80,7 +81,7 @@ while IFS= read -r -d '' doc ; do
--msgmerge-opt --no-wrap \
--wrap-po newlines \
--no-deprecation \
- --option "$OPTION" \
+ "${OPTION[@]/#/--option=}" \
--po "$po_file" ; then
echo ''
echo Error updating "$lang" PO file for: "$filename".$ext
diff --git a/_posts/2022-01-25-Related-Projects.md b/_posts/2022-01-25-Related-Projects.md
index 2738f3d96..8fbf317f6 100644
--- a/_posts/2022-01-25-Related-Projects.md
+++ b/_posts/2022-01-25-Related-Projects.md
@@ -65,10 +65,6 @@ and to zip them up and download them via a web browser. It is implemented in PHP
* [gojam](https://github.com/dtinth/gojam) is an implementation of a Jamulus client written in Go. This tool is intended for headless streaming use-cases. Used by **jamulus-lounge**.
* [jamviz](https://github.com/dtinth/jamviz) shows active connections of a Jamulus server that is running **jamulus-lounge**. Used to show activity to a livestreaming audience.
-## Koord
-
-Koord adds real-time video of participants to Jamulus technology in a new application, available for desktop and mobile devices. The [Koord.live website](https://koord.live/) offers private servers and additional playback and recording features.
-
## Melomax
The [Melomax website](https://melomax.live) offers private servers groups can use with Jamulus client software.
diff --git a/_translator-files/po/de/1-index.po b/_translator-files/po/de/1-index.po
index a90eccf05..3cc64b95f 100644
--- a/_translator-files/po/de/1-index.po
+++ b/_translator-files/po/de/1-index.po
@@ -1,15 +1,17 @@
# SOME DESCRIPTIVE TITLE
# Copyright (C) YEAR Free Software Foundation, Inc.
# This file is distributed under the same license as the PACKAGE package.
-# ann0see <20726856+ann0see@users.noreply.github.com>, 2022, 2023, 2024.
+# ann0see <20726856+ann0see@users.noreply.github.com>, 2022, 2023, 2024, 2025.
# Eric Brändli , 2024.
# Victor Jouhoff , 2024.
# nobkd <44443899+nobkd@users.noreply.github.com>, 2024.
# Mia Kaanen , 2024.
+# Umber Security , 2025.
+# Christopher Kühlbach , 2025.
msgid ""
msgstr ""
"Project-Id-Version: \n"
-"PO-Revision-Date: 2024-08-04 18:57+0000\n"
+"PO-Revision-Date: 2025-09-29 19:02+0000\n"
"Last-Translator: ann0see <20726856+ann0see@users.noreply.github.com>\n"
"Language-Team: \n"
"Language: de\n"
@@ -17,7 +19,7 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=n != 1;\n"
-"X-Generator: Weblate 5.7-dev\n"
+"X-Generator: Weblate 5.14-dev\n"
#. type: Content of: outside any tag (error?)
#: ../wiki/en/misc/1-index.md:1
@@ -68,7 +70,17 @@ msgstr "Was ist Jamulus?"
#: ../wiki/en/misc/1-index.md:23
#, no-wrap
msgid "Jamulus lets you play, rehearse, or jam with your friends, your band, or anyone you find online. Play together remotely in time with high quality, low-latency sound on a normal broadband connection. [Download it here!](wiki/Getting-Started)\n"
-msgstr "Jamulus ermöglicht es dir mit deinen Freunden, deiner Band oder jedem, den du online findest, zu spielen, zu proben oder gemeinsam zu musizieren. Spiele in Echtzeit zusammen mit hochwertigem Sound und geringer Latenz über eine normale Breitbandverbindung. [Lade es hier herunter!](wiki/Getting-Started)\n"
+msgstr "Mit Jamulus kannst du gemeinsam mit Freunden, deiner Band oder jeden den du online findest spielen, proben oder musizieren – in Echtzeit, mit hochwertigem Sound und geringer Latenz, ganz einfach über eine normale Internetverbindung. [Lade es hier herunter!](wiki/Getting-Started)\n"
+
+#. type: Attribute 'src' of: