diff --git a/.github/workflows/update-translations.sh b/.github/workflows/update-translations.sh
index b36182ad7..b515ff30b 100755
--- a/.github/workflows/update-translations.sh
+++ b/.github/workflows/update-translations.sh
@@ -42,3 +42,12 @@ for file in ${I18N_DIR}/*.json; do
   echo "Downloading $lang ($code)"
   check_lang_diff "$code"
 done
+
+
+# List changed languages to stderr
+languages=""
+for file in $(git diff --name-only --exit-code | grep json); do
+  lang=$(jq -r .languageName < "$file")
+  languages="${languages}$(echo $lang | tr -d '\n'), "
+done
+echo "${languages%??}" 1>&2
\ No newline at end of file
diff --git a/.github/workflows/update-translations.yml b/.github/workflows/update-translations.yml
index 2f91b108a..9870761c3 100644
--- a/.github/workflows/update-translations.yml
+++ b/.github/workflows/update-translations.yml
@@ -10,11 +10,15 @@ jobs:
     steps:
       - uses: actions/checkout@v4
       - name: Get updated translations
+        id: poeditor
         env:
           POEDITOR_PROJECTID: ${{ secrets.POEDITOR_PROJECTID }}
           POEDITOR_APIKEY: ${{ secrets.POEDITOR_APIKEY }}
         run: |
-          .github/workflows/update-translations.sh
+          .github/workflows/update-translations.sh 2> title.tmp
+          title=$(cat title.tmp)
+          echo "::set-output name=title::$title"
+          rm title.tmp
       - name: Show changes, if any
         run: |
           git status --porcelain
@@ -23,6 +27,7 @@ jobs:
         uses: peter-evans/create-pull-request@v7
         with:
           token: ${{ secrets.PAT }}
+          author: "navidrome-bot <navidrome-bot@navidrome.org>"
           commit-message: "fix(ui): update translations from POEditor"
-          title: "fix(ui): update translations from POEditor"
+          title: "fix(ui): update ${{ steps.poeditor.outputs.title }} translations from POEditor"
           branch: update-translations