From 98a3d336a8c818748e4b79e36d99f8ab7b4daf7c Mon Sep 17 00:00:00 2001
From: austinried <4966622+austinried@users.noreply.github.com>
Date: Sat, 3 Oct 2026 08:54:39 +0000
Subject: [PATCH] port the library tab labels from the old plural names
Albums/Artists/Playlists were new keys because the old Flutter strings
were plurals, so their translations went unused. Take the `other` form of
resourcesAlbumName/resourcesArtistName/resourcesPlaylistName into the three
plain-string resources for the 26-27 locales that translated them. Arabic
`resources_album_name` and Hungarian `resources_playlist_name` stay English
because their upstream `other` form is empty.
---
app/src/main/res/values-ar/strings.xml | 2 ++
app/src/main/res/values-b+pt+BR/strings.xml | 3 +++
app/src/main/res/values-b+zh+Hans/strings.xml | 3 +++
app/src/main/res/values-b+zh+Hant/strings.xml | 3 +++
app/src/main/res/values-ca/strings.xml | 3 +++
app/src/main/res/values-cs/strings.xml | 3 +++
app/src/main/res/values-da/strings.xml | 3 +++
app/src/main/res/values-de/strings.xml | 3 +++
app/src/main/res/values-es/strings.xml | 3 +++
app/src/main/res/values-eu/strings.xml | 3 +++
app/src/main/res/values-fr/strings.xml | 3 +++
app/src/main/res/values-gl/strings.xml | 3 +++
app/src/main/res/values-hu/strings.xml | 2 ++
app/src/main/res/values-it/strings.xml | 3 +++
app/src/main/res/values-ja/strings.xml | 3 +++
app/src/main/res/values-ko/strings.xml | 3 +++
app/src/main/res/values-nb/strings.xml | 3 +++
app/src/main/res/values-pa/strings.xml | 3 +++
app/src/main/res/values-pl/strings.xml | 3 +++
app/src/main/res/values-pt/strings.xml | 3 +++
app/src/main/res/values-ru/strings.xml | 3 +++
app/src/main/res/values-sv/strings.xml | 3 +++
app/src/main/res/values-ta/strings.xml | 3 +++
app/src/main/res/values-th/strings.xml | 3 +++
app/src/main/res/values-tr/strings.xml | 3 +++
app/src/main/res/values-uk/strings.xml | 3 +++
app/src/main/res/values-vi/strings.xml | 3 +++
docs/architecture.md | 2 +-
28 files changed, 80 insertions(+), 1 deletion(-)
diff --git a/app/src/main/res/values-ar/strings.xml b/app/src/main/res/values-ar/strings.xml
index 0f09e807..2c2a92bb 100644
--- a/app/src/main/res/values-ar/strings.xml
+++ b/app/src/main/res/values-ar/strings.xml
@@ -21,4 +21,6 @@
كلمة المرور
إسم المستخدم
الرئيسية
+ فنانان
+ قائمتان تشغيل
diff --git a/app/src/main/res/values-b+pt+BR/strings.xml b/app/src/main/res/values-b+pt+BR/strings.xml
index 670b16c9..1f6fa24b 100644
--- a/app/src/main/res/values-b+pt+BR/strings.xml
+++ b/app/src/main/res/values-b+pt+BR/strings.xml
@@ -42,4 +42,7 @@
Senha
Usuário
Home
+ Albums
+ Artists
+ Playlists
diff --git a/app/src/main/res/values-b+zh+Hans/strings.xml b/app/src/main/res/values-b+zh+Hans/strings.xml
index fd7cf00b..3f0970c1 100644
--- a/app/src/main/res/values-b+zh+Hans/strings.xml
+++ b/app/src/main/res/values-b+zh+Hans/strings.xml
@@ -40,4 +40,7 @@
密码
用户名
首页
+ 专辑
+ 歌手
+ 播放列表
diff --git a/app/src/main/res/values-b+zh+Hant/strings.xml b/app/src/main/res/values-b+zh+Hant/strings.xml
index 4fa76a43..90aa30a7 100644
--- a/app/src/main/res/values-b+zh+Hant/strings.xml
+++ b/app/src/main/res/values-b+zh+Hant/strings.xml
@@ -40,4 +40,7 @@
密碼
用戶名稱
首頁
+ 專輯
+ 歌手
+ 播放清單
diff --git a/app/src/main/res/values-ca/strings.xml b/app/src/main/res/values-ca/strings.xml
index c52955f1..3befea07 100644
--- a/app/src/main/res/values-ca/strings.xml
+++ b/app/src/main/res/values-ca/strings.xml
@@ -21,4 +21,7 @@
Contrasenya
Nom d’usuari
Inici
+ Àlbums
+ Artistes
+ Llistes de reproducció
diff --git a/app/src/main/res/values-cs/strings.xml b/app/src/main/res/values-cs/strings.xml
index 86500053..ce8acc6d 100644
--- a/app/src/main/res/values-cs/strings.xml
+++ b/app/src/main/res/values-cs/strings.xml
@@ -31,4 +31,7 @@
Heslo
Uživ. jméno
Domů
+ Alba
+ Umělci
+ Seznamy skladeb
diff --git a/app/src/main/res/values-da/strings.xml b/app/src/main/res/values-da/strings.xml
index c3450bc2..8f7db034 100644
--- a/app/src/main/res/values-da/strings.xml
+++ b/app/src/main/res/values-da/strings.xml
@@ -20,4 +20,7 @@
Adgangskode
Brugernavn
Hjem
+ Albums
+ Kunstnere
+ Spillelister
diff --git a/app/src/main/res/values-de/strings.xml b/app/src/main/res/values-de/strings.xml
index bff90524..eb53f6e4 100644
--- a/app/src/main/res/values-de/strings.xml
+++ b/app/src/main/res/values-de/strings.xml
@@ -42,4 +42,7 @@
Passwort
Nutzername
Startseite
+ Alben
+ Interpreten
+ Wiedergabelisten
diff --git a/app/src/main/res/values-es/strings.xml b/app/src/main/res/values-es/strings.xml
index 9ce0a8ed..78632be2 100644
--- a/app/src/main/res/values-es/strings.xml
+++ b/app/src/main/res/values-es/strings.xml
@@ -42,4 +42,7 @@
Contraseña
Nombre de usuario
Inicio
+ Álbumes
+ Artistas
+ Listas de reproducción
diff --git a/app/src/main/res/values-eu/strings.xml b/app/src/main/res/values-eu/strings.xml
index cfc260b5..97cfc603 100644
--- a/app/src/main/res/values-eu/strings.xml
+++ b/app/src/main/res/values-eu/strings.xml
@@ -31,4 +31,7 @@
Honi buruz
Sarea
Hasiera
+ Albumak
+ Musikariak
+ Zerrendak
diff --git a/app/src/main/res/values-fr/strings.xml b/app/src/main/res/values-fr/strings.xml
index 3e579300..bee92228 100644
--- a/app/src/main/res/values-fr/strings.xml
+++ b/app/src/main/res/values-fr/strings.xml
@@ -42,4 +42,7 @@
Mot de passe
Nom d\'utilisateur
Accueil
+ Albums
+ Artistes
+ Playlists
diff --git a/app/src/main/res/values-gl/strings.xml b/app/src/main/res/values-gl/strings.xml
index cf737f15..70cffdc7 100644
--- a/app/src/main/res/values-gl/strings.xml
+++ b/app/src/main/res/values-gl/strings.xml
@@ -42,4 +42,7 @@
Contrasinal
Identificador
Inicio
+ Álbums
+ Artistas
+ Listaxes
diff --git a/app/src/main/res/values-hu/strings.xml b/app/src/main/res/values-hu/strings.xml
index 7b9774c3..5df5614c 100644
--- a/app/src/main/res/values-hu/strings.xml
+++ b/app/src/main/res/values-hu/strings.xml
@@ -35,4 +35,6 @@
Jelszó
Felhasználónév
Kezdőoldal
+ Album
+ Előadó
diff --git a/app/src/main/res/values-it/strings.xml b/app/src/main/res/values-it/strings.xml
index 930fe03c..00e99478 100644
--- a/app/src/main/res/values-it/strings.xml
+++ b/app/src/main/res/values-it/strings.xml
@@ -42,4 +42,7 @@
Password
Nome utente
Home
+ Album
+ Artisti
+ Playlist
diff --git a/app/src/main/res/values-ja/strings.xml b/app/src/main/res/values-ja/strings.xml
index 3f3dd242..81129aac 100644
--- a/app/src/main/res/values-ja/strings.xml
+++ b/app/src/main/res/values-ja/strings.xml
@@ -16,4 +16,7 @@
パスワルド
ウーザ名
ホーム
+ アルバム
+ アーティスト
+ プレイリスト
diff --git a/app/src/main/res/values-ko/strings.xml b/app/src/main/res/values-ko/strings.xml
index ede44b78..5172a706 100644
--- a/app/src/main/res/values-ko/strings.xml
+++ b/app/src/main/res/values-ko/strings.xml
@@ -39,4 +39,7 @@
비밀번호
사용자 이름
홈
+ 앨범
+ 아티스트
+ 재생목록
diff --git a/app/src/main/res/values-nb/strings.xml b/app/src/main/res/values-nb/strings.xml
index 4c65ead9..34084071 100644
--- a/app/src/main/res/values-nb/strings.xml
+++ b/app/src/main/res/values-nb/strings.xml
@@ -42,4 +42,7 @@
Passord
Brukernavn
Hjem
+ Album
+ Artister
+ Spillelister
diff --git a/app/src/main/res/values-pa/strings.xml b/app/src/main/res/values-pa/strings.xml
index f4c4342e..811266ba 100644
--- a/app/src/main/res/values-pa/strings.xml
+++ b/app/src/main/res/values-pa/strings.xml
@@ -21,4 +21,7 @@
ਪਾਸਵਰਡ
ਯੂਜ਼ਰਨੇਮ
ਘਰ
+ ਐਲਬਮਾਂ
+ ਕਲਾਕਾਰਾਂ
+ ਪਲੇਲਿਸਟਸ
diff --git a/app/src/main/res/values-pl/strings.xml b/app/src/main/res/values-pl/strings.xml
index 2cb4221e..c94af877 100644
--- a/app/src/main/res/values-pl/strings.xml
+++ b/app/src/main/res/values-pl/strings.xml
@@ -31,4 +31,7 @@
Hasło
Nazwa użytkownika
Strona główna
+ Albumów
+ Wykonawców
+ Playlist
diff --git a/app/src/main/res/values-pt/strings.xml b/app/src/main/res/values-pt/strings.xml
index 8b580c96..345792b6 100644
--- a/app/src/main/res/values-pt/strings.xml
+++ b/app/src/main/res/values-pt/strings.xml
@@ -32,4 +32,7 @@
Senha
Nome de utilizador
Início
+ Álbuns
+ Artistas
+ Listas
diff --git a/app/src/main/res/values-ru/strings.xml b/app/src/main/res/values-ru/strings.xml
index c9b619a3..ba3dfee1 100644
--- a/app/src/main/res/values-ru/strings.xml
+++ b/app/src/main/res/values-ru/strings.xml
@@ -44,4 +44,7 @@
Пароль
Имя пользователя
Главная
+ Альбомы
+ Исполнители
+ Плейлисты
diff --git a/app/src/main/res/values-sv/strings.xml b/app/src/main/res/values-sv/strings.xml
index 679956de..2c324e06 100644
--- a/app/src/main/res/values-sv/strings.xml
+++ b/app/src/main/res/values-sv/strings.xml
@@ -42,4 +42,7 @@
Lösenord
Användarnamn
Hem
+ Album
+ Artister
+ Spellistor
diff --git a/app/src/main/res/values-ta/strings.xml b/app/src/main/res/values-ta/strings.xml
index 6511f411..f792c6e9 100644
--- a/app/src/main/res/values-ta/strings.xml
+++ b/app/src/main/res/values-ta/strings.xml
@@ -42,4 +42,7 @@
கடவுச்சொல்
பயனர்பெயர்
வீடு
+ செருகேடுகள்
+ கலைஞர்கள்
+ இசைப்பட்டியல்கள்
diff --git a/app/src/main/res/values-th/strings.xml b/app/src/main/res/values-th/strings.xml
index bf3d5f68..167ed9c7 100644
--- a/app/src/main/res/values-th/strings.xml
+++ b/app/src/main/res/values-th/strings.xml
@@ -41,4 +41,7 @@
รหัสผ่าน
ชื่อผู้ใช้
หน้าหลัก
+ อัลบั้ม
+ ศิลปิน
+ เพลย์ลิส
diff --git a/app/src/main/res/values-tr/strings.xml b/app/src/main/res/values-tr/strings.xml
index 30015a48..ea5fa304 100644
--- a/app/src/main/res/values-tr/strings.xml
+++ b/app/src/main/res/values-tr/strings.xml
@@ -42,4 +42,7 @@
Şifre
Kullanıcı Adı
Giriş
+ Albümler
+ Sanatçılar
+ Çalma Listeleri
diff --git a/app/src/main/res/values-uk/strings.xml b/app/src/main/res/values-uk/strings.xml
index efba180e..573ca1f4 100644
--- a/app/src/main/res/values-uk/strings.xml
+++ b/app/src/main/res/values-uk/strings.xml
@@ -42,4 +42,7 @@
Пароль
Ім\'я користувача
Головна
+ Альбоми
+ Виконавці
+ Плейлисти
diff --git a/app/src/main/res/values-vi/strings.xml b/app/src/main/res/values-vi/strings.xml
index 6b44cb48..30eec41d 100644
--- a/app/src/main/res/values-vi/strings.xml
+++ b/app/src/main/res/values-vi/strings.xml
@@ -42,4 +42,7 @@
Mật khẩu
Tên đăng nhập
Trang chủ
+ album
+ Nghệ sĩ
+ Playlist
diff --git a/docs/architecture.md b/docs/architecture.md
index c8c06ec6..21044b49 100644
--- a/docs/architecture.md
+++ b/docs/architecture.md
@@ -140,7 +140,7 @@ The two branches do not fold case identically: the trigram tokenizer lowercases
All user-facing text lives in Android string resources: `res/values/strings.xml` (the English source, including ``) and `res/values-*/strings.xml` for translations. This is the platform-native mechanism, needs no extra dependency, and is a first-class Weblate format ("Android String Resource": monolingual base `res/values/strings.xml`, file mask `res/values-*/strings.xml`, plurals supported). Code reads it through `stringResource`/`pluralStringResource` in Compose and `getString`/`getQuantityString` elsewhere.
-Resource names are `snake_case`. They were derived once from the old Flutter ARB keys: resources whose English matched an old string (the "identical" set) reuse the old key's translations, mechanically renamed (`settingsServersFieldsName` -> `settings_servers_fields_name`); everything else is a new key. Strings whose wording changed were deliberately given new keys rather than reusing a translation with stale meaning. The migration is one-time; there is no generator in the build.
+Resource names are `snake_case`. They were derived once from the old Flutter ARB keys: resources whose English matched an old string (the "identical" set) reuse the old key's translations, mechanically renamed (`settingsServersFieldsName` -> `settings_servers_fields_name`); everything else is a new key. Strings whose wording changed were deliberately given new keys rather than reusing a translation with stale meaning, with one exception: the three library tab labels (`resources_album_name`/`resources_artist_name`/`resources_playlist_name`) take the `other` form of the old `resourcesAlbumName`/`resourcesArtistName`/`resourcesPlaylistName` plurals. The migration is one-time; there is no generator in the build.
27 locales were carried over from the Flutter app: `ar, ca, cs, da, de, es, eu, fr, gl, hu, it, ja, ko, nb, pa, pl, pt, pt-BR, ru, sv, ta, th, tr, uk, vi, zh, zh-Hant` (PR #178 plus `ar/ca/cs/pa/pt` from the frozen Flutter branches). Locale files contain only translated keys; anything missing falls back to English. Chinese uses script qualifiers (`values-b+zh+Hans`, `values-b+zh+Hant`) and Brazilian Portuguese is `values-b+pt+BR`.