address review: localize connection errors, tighten i18n guard, drop dead resources

- AddSourceViewModel resolves SubsonicException.uiMessage too, so malformed/
  HTTP/truncated responses show localized text instead of the raw parser
  message; add a regression test.
- StringResourcesTest now requires an 'other' quantity in every plural and
  asserts exact placeholder (index and conversion) equality, both of which
  could previously pass while crashing getQuantityString at runtime.
- Map the pre-enum song_downloads.error sentences back to their DownloadError
  so existing failed rows keep their specific message.
- Localize the media-session star/unstar button label.
- Remove 12 unreferenced resources (queue name, filter year, sync_failed, and
  the unused codec_* strings; codec labels stay in AudioEncoding).
- Make buildTree's fallback arguments required; only tests used the defaults.
This commit is contained in:
austinried
2026-10-04 00:30:07 +00:00
parent 3162ac07d5
commit 699a6e86f5
33 changed files with 59 additions and 55 deletions
@@ -17,7 +17,6 @@
<string name="resources_filter_artist">Artista</string>
<string name="resources_filter_genre">Gênero</string>
<string name="resources_filter_starred">Estrelado por</string>
<string name="resources_filter_year">Ano</string>
<plurals name="resources_song_count">
<item quantity="one">%1$d song</item>
<item quantity="other">%1$d songs</item>
@@ -16,7 +16,6 @@
<string name="resources_filter_artist">歌手</string>
<string name="resources_filter_genre">根据类型</string>
<string name="resources_filter_starred">已收藏</string>
<string name="resources_filter_year">年份</string>
<plurals name="resources_song_count">
<item quantity="other">%1$d 首歌曲</item>
</plurals>
@@ -16,7 +16,6 @@
<string name="resources_filter_artist">歌手</string>
<string name="resources_filter_genre">根據類型</string>
<string name="resources_filter_starred">已收藏</string>
<string name="resources_filter_year">年份</string>
<plurals name="resources_song_count">
<item quantity="other">%1$d 首歌曲</item>
</plurals>
-1
View File
@@ -13,7 +13,6 @@
<string name="resources_filter_artist">Umělec</string>
<string name="resources_filter_genre">Podle žánru</string>
<string name="resources_filter_starred">Ohodnocené</string>
<string name="resources_filter_year">Rok</string>
<string name="resources_sort_by_artist">Umělce</string>
<string name="resources_sort_by_frequently_played">Často přehrávané</string>
<string name="resources_sort_by_name">Názvu</string>
-1
View File
@@ -17,7 +17,6 @@
<string name="resources_filter_artist">Künstler</string>
<string name="resources_filter_genre">Nach Genre</string>
<string name="resources_filter_starred">Favoriten</string>
<string name="resources_filter_year">Jahr</string>
<plurals name="resources_song_count">
<item quantity="one">%1$d Song</item>
<item quantity="other">%1$d Songs</item>
-1
View File
@@ -17,7 +17,6 @@
<string name="resources_filter_artist">Artista</string>
<string name="resources_filter_genre">Género</string>
<string name="resources_filter_starred">Estrellas</string>
<string name="resources_filter_year">Año</string>
<plurals name="resources_song_count">
<item quantity="one">%1$d Canción</item>
<item quantity="other">%1$d Canciones</item>
-1
View File
@@ -17,7 +17,6 @@
<string name="resources_filter_artist">Musikaria</string>
<string name="resources_filter_genre">Generoa</string>
<string name="resources_filter_starred">Gogokoak</string>
<string name="resources_filter_year">Urtea</string>
<plurals name="resources_song_count">
<item quantity="one">Kanta bat</item>
<item quantity="other">%1$d kanta</item>
-1
View File
@@ -17,7 +17,6 @@
<string name="resources_filter_artist">Artiste</string>
<string name="resources_filter_genre">Par Genre</string>
<string name="resources_filter_starred">Favoris</string>
<string name="resources_filter_year">Année</string>
<plurals name="resources_song_count">
<item quantity="one">%1$d chanson</item>
<item quantity="other">%1$d chansons</item>
-1
View File
@@ -17,7 +17,6 @@
<string name="resources_filter_artist">Artista</string>
<string name="resources_filter_genre">Por xénero</string>
<string name="resources_filter_starred">Favoritas</string>
<string name="resources_filter_year">Ano</string>
<plurals name="resources_song_count">
<item quantity="one">%1$d canción</item>
<item quantity="other">%1$d cancións</item>
-1
View File
@@ -16,7 +16,6 @@
<string name="resources_filter_artist">Előadó</string>
<string name="resources_filter_genre">Stílus</string>
<string name="resources_filter_starred">Kedvencek között</string>
<string name="resources_filter_year">Év</string>
<string name="resources_sort_by_artist">Előadó</string>
<string name="resources_sort_by_frequently_played">Gyakran játszott</string>
<string name="resources_sort_by_name">Név</string>
-1
View File
@@ -17,7 +17,6 @@
<string name="resources_filter_artist">Artista</string>
<string name="resources_filter_genre">Per genere</string>
<string name="resources_filter_starred">Preferiti</string>
<string name="resources_filter_year">Anno</string>
<plurals name="resources_song_count">
<item quantity="one">%1$d brano</item>
<item quantity="other">%1$d brani</item>
-1
View File
@@ -8,7 +8,6 @@
<string name="navigation_tabs_settings">設定</string>
<string name="resources_filter_album">アルブム</string>
<string name="resources_filter_starred">星付きアルバム</string>
<string name="resources_filter_year">年</string>
<string name="resources_sort_by_frequently_played">よく聴くアルバム</string>
<string name="resources_sort_by_recently_played">最近再生した</string>
<string name="search_input_placeholder">検索</string>
-1
View File
@@ -16,7 +16,6 @@
<string name="resources_filter_artist">아티스트</string>
<string name="resources_filter_genre">장르</string>
<string name="resources_filter_starred">평가됨</string>
<string name="resources_filter_year">년</string>
<plurals name="resources_song_count">
<item quantity="other">%1$d 노래</item>
</plurals>
-1
View File
@@ -17,7 +17,6 @@
<string name="resources_filter_artist">Artist</string>
<string name="resources_filter_genre">Etter sjanger</string>
<string name="resources_filter_starred">Stjernemerket</string>
<string name="resources_filter_year">År</string>
<plurals name="resources_song_count">
<item quantity="one">%1$d sang</item>
<item quantity="other">%1$d sanger</item>
-1
View File
@@ -13,7 +13,6 @@
<string name="resources_filter_artist">Artysta</string>
<string name="resources_filter_genre">Wg gatunku</string>
<string name="resources_filter_starred">Ulubione</string>
<string name="resources_filter_year">Rok</string>
<string name="resources_sort_by_artist">Wg wykonawcy</string>
<string name="resources_sort_by_frequently_played">Często odtwarzane</string>
<string name="resources_sort_by_name">Wg nazwy</string>
-1
View File
@@ -13,7 +13,6 @@
<string name="resources_filter_artist">Artista</string>
<string name="resources_filter_genre">Por Género</string>
<string name="resources_filter_starred">Favoritos</string>
<string name="resources_filter_year">Ano</string>
<string name="resources_sort_by_artist">Por Artista</string>
<string name="resources_sort_by_frequently_played">Mais Tocado</string>
<string name="resources_sort_by_name">Por Nome</string>
-1
View File
@@ -17,7 +17,6 @@
<string name="resources_filter_artist">По исполнителю</string>
<string name="resources_filter_genre">По жанру</string>
<string name="resources_filter_starred">Избранные</string>
<string name="resources_filter_year">По годам</string>
<plurals name="resources_song_count">
<item quantity="one">%1$d трек</item>
<item quantity="few">%1$d треков</item>
-1
View File
@@ -17,7 +17,6 @@
<string name="resources_filter_artist">Artist</string>
<string name="resources_filter_genre">Genre</string>
<string name="resources_filter_starred">Markerad</string>
<string name="resources_filter_year">År</string>
<plurals name="resources_song_count">
<item quantity="one">%1$d låt</item>
<item quantity="other">%1$d låtar</item>
-1
View File
@@ -17,7 +17,6 @@
<string name="resources_filter_artist">கலைஞர்</string>
<string name="resources_filter_genre">வகை</string>
<string name="resources_filter_starred">நடித்தார்</string>
<string name="resources_filter_year">ஆண்டு</string>
<plurals name="resources_song_count">
<item quantity="one">%1$d பாடல்</item>
<item quantity="other">%1$d பாடல்கள்</item>
-1
View File
@@ -16,7 +16,6 @@
<string name="resources_filter_artist">ศิลปิน</string>
<string name="resources_filter_genre">ประเภท</string>
<string name="resources_filter_starred">ให้ดาว</string>
<string name="resources_filter_year">ปี</string>
<plurals name="resources_song_count">
<item quantity="one">%1$d เพลง</item>
<item quantity="other">%1$d เพลง</item>
-1
View File
@@ -17,7 +17,6 @@
<string name="resources_filter_artist">Sanatçı</string>
<string name="resources_filter_genre">Türe göre</string>
<string name="resources_filter_starred">Yıldızlı</string>
<string name="resources_filter_year">Yıl</string>
<plurals name="resources_song_count">
<item quantity="one">%1$d şarkı</item>
<item quantity="other">%1$d şarkı</item>
-1
View File
@@ -17,7 +17,6 @@
<string name="resources_filter_artist">Виконавець</string>
<string name="resources_filter_genre">Жанр</string>
<string name="resources_filter_starred">Улюблене</string>
<string name="resources_filter_year">Рік</string>
<plurals name="resources_song_count">
<item quantity="one">%1$d пісня</item>
<item quantity="other">%1$d пісні</item>
-1
View File
@@ -17,7 +17,6 @@
<string name="resources_filter_artist">Theo nghệ sĩ</string>
<string name="resources_filter_genre">Theo thể loại</string>
<string name="resources_filter_starred">Theo yêu thích</string>
<string name="resources_filter_year">Theo năm</string>
<plurals name="resources_song_count">
<item quantity="one">%1$d bài hát</item>
<item quantity="other">%1$d bài hát</item>
-12
View File
@@ -27,12 +27,10 @@
<string name="resources_album_name">Albums</string>
<string name="resources_artist_name">Artists</string>
<string name="resources_playlist_name">Playlists</string>
<string name="resources_queue_name">Queue</string>
<string name="resources_filter_album">Album</string>
<string name="resources_filter_artist">Artist</string>
<string name="resources_filter_genre">Genre</string>
<string name="resources_filter_starred">Starred</string>
<string name="resources_filter_year">Year</string>
<string name="resources_song_list_delete_all_content">%1$s\n\nDeleting will free %2$s</string>
<string name="resources_song_list_delete_all_title">Delete downloads</string>
<string name="resources_sort_by_added">Added</string>
@@ -222,7 +220,6 @@
<string name="star_update_failed">Could not update star</string>
<string name="sync_offline">Offline mode is on</string>
<string name="error_no_server">No server configured</string>
<string name="sync_failed">Sync failed</string>
<string name="sync_failed_detail">Sync failed: %1$s</string>
<string name="error_download_no_space">Not enough space to download</string>
@@ -286,13 +283,4 @@
<item quantity="other">%1$d plays</item>
</plurals>
<string name="codec_mp3" translatable="false">MP3</string>
<string name="codec_aac" translatable="false">AAC</string>
<string name="codec_alac" translatable="false">ALAC</string>
<string name="codec_flac" translatable="false">FLAC</string>
<string name="codec_ogg" translatable="false">Ogg</string>
<string name="codec_vorbis" translatable="false">Vorbis</string>
<string name="codec_opus" translatable="false">Opus</string>
<string name="codec_webm" translatable="false">WebM</string>
<string name="codec_wav" translatable="false">WAV</string>
</resources>