Merge branch 'dev' into weblate-auxio-strings
This commit is contained in:
commit
96434afb90
25 changed files with 66 additions and 61 deletions
|
|
@ -21,6 +21,9 @@ deletion
|
||||||
- Fix "format" not appearing in song properties view
|
- Fix "format" not appearing in song properties view
|
||||||
- Fix visual bugs when editing duplicate songs in the queue
|
- Fix visual bugs when editing duplicate songs in the queue
|
||||||
|
|
||||||
|
#### What's Changed
|
||||||
|
- "Ignore articles when sorting" is now "Intelligent sorting"
|
||||||
|
|
||||||
## 3.0.3
|
## 3.0.3
|
||||||
|
|
||||||
#### What's New
|
#### What's New
|
||||||
|
|
|
||||||
|
|
@ -85,7 +85,7 @@ sealed interface Music : Item {
|
||||||
* A unique identifier for a piece of music.
|
* A unique identifier for a piece of music.
|
||||||
*
|
*
|
||||||
* [UID] enables a much cheaper and more reliable form of differentiating music, derived from
|
* [UID] enables a much cheaper and more reliable form of differentiating music, derived from
|
||||||
* either a hash of meaningful metadata or the MusicBrainz ID spec. Using this enables several
|
* either internal app information or the MusicBrainz ID spec. Using this enables several
|
||||||
* improvements to music management in this app, including:
|
* improvements to music management in this app, including:
|
||||||
* - Proper differentiation of identical music. It's common for large, well-tagged libraries to
|
* - Proper differentiation of identical music. It's common for large, well-tagged libraries to
|
||||||
* have functionally duplicate items that are differentiated with MusicBrainz IDs, and so
|
* have functionally duplicate items that are differentiated with MusicBrainz IDs, and so
|
||||||
|
|
@ -355,7 +355,7 @@ class SortName(name: String, musicSettings: MusicSettings) : Comparable<SortName
|
||||||
|
|
||||||
init {
|
init {
|
||||||
var sortName = name
|
var sortName = name
|
||||||
if (musicSettings.automaticSortNames) {
|
if (musicSettings.intelligentSorting) {
|
||||||
sortName =
|
sortName =
|
||||||
sortName.run {
|
sortName.run {
|
||||||
when {
|
when {
|
||||||
|
|
@ -365,23 +365,24 @@ class SortName(name: String, musicSettings: MusicSettings) : Comparable<SortName
|
||||||
else -> this
|
else -> this
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
// Parse out numeric portions of the title and use those for sorting, if applicable.
|
// Parse out numeric portions of the title and use those for sorting, if applicable.
|
||||||
val numericEnd = sortName.indexOfFirst { !it.isDigit() }
|
when (val numericEnd = sortName.indexOfFirst { !it.isDigit() }) {
|
||||||
when (numericEnd) {
|
// No numeric component.
|
||||||
// No numeric component.
|
0 -> number = null
|
||||||
0 -> number = null
|
// Whole title is numeric.
|
||||||
// Whole title is numeric.
|
-1 -> {
|
||||||
-1 -> {
|
number = sortName.toIntOrNull()
|
||||||
number = sortName.toIntOrNull()
|
sortName = ""
|
||||||
sortName = ""
|
}
|
||||||
}
|
// Part of the title is numeric.
|
||||||
// Part of the title is numeric.
|
else -> {
|
||||||
else -> {
|
number = sortName.slice(0 until numericEnd).toIntOrNull()
|
||||||
number = sortName.slice(0 until numericEnd).toIntOrNull()
|
sortName = sortName.slice(numericEnd until sortName.length)
|
||||||
sortName = sortName.slice(numericEnd until sortName.length)
|
}
|
||||||
}
|
}
|
||||||
|
} else {
|
||||||
|
number = null
|
||||||
}
|
}
|
||||||
|
|
||||||
collationKey = COLLATOR.getCollationKey(sortName)
|
collationKey = COLLATOR.getCollationKey(sortName)
|
||||||
|
|
|
||||||
|
|
@ -44,8 +44,8 @@ interface MusicSettings : Settings<MusicSettings.Listener> {
|
||||||
val shouldBeObserving: Boolean
|
val shouldBeObserving: Boolean
|
||||||
/** A [String] of characters representing the desired characters to denote multi-value tags. */
|
/** A [String] of characters representing the desired characters to denote multi-value tags. */
|
||||||
var multiValueSeparators: String
|
var multiValueSeparators: String
|
||||||
/** Whether to trim english articles with song sort names. */
|
/** Whether to enable more advanced sorting by articles and numbers. */
|
||||||
val automaticSortNames: Boolean
|
val intelligentSorting: Boolean
|
||||||
// TODO: Move sort settings to list module
|
// TODO: Move sort settings to list module
|
||||||
/** The [Sort] mode used in [Song] lists. */
|
/** The [Sort] mode used in [Song] lists. */
|
||||||
var songSort: Sort
|
var songSort: Sort
|
||||||
|
|
@ -115,7 +115,7 @@ class MusicSettingsImpl @Inject constructor(@ApplicationContext context: Context
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
override val automaticSortNames: Boolean
|
override val intelligentSorting: Boolean
|
||||||
get() = sharedPreferences.getBoolean(getString(R.string.set_key_auto_sort_names), true)
|
get() = sharedPreferences.getBoolean(getString(R.string.set_key_auto_sort_names), true)
|
||||||
|
|
||||||
override var songSort: Sort
|
override var songSort: Sort
|
||||||
|
|
|
||||||
|
|
@ -483,6 +483,7 @@ class GenreImpl(
|
||||||
* @return A new [Music.UID] of Auxio format whose [UUID] was derived from the SHA-256 hash of the
|
* @return A new [Music.UID] of Auxio format whose [UUID] was derived from the SHA-256 hash of the
|
||||||
* metadata given.
|
* metadata given.
|
||||||
*/
|
*/
|
||||||
|
@VisibleForTesting
|
||||||
fun createHashedUid(mode: MusicMode, updates: MessageDigest.() -> Unit): Music.UID {
|
fun createHashedUid(mode: MusicMode, updates: MessageDigest.() -> Unit): Music.UID {
|
||||||
val digest =
|
val digest =
|
||||||
MessageDigest.getInstance("SHA-256").run {
|
MessageDigest.getInstance("SHA-256").run {
|
||||||
|
|
|
||||||
|
|
@ -267,8 +267,8 @@
|
||||||
<string name="set_playback">Прайграванне</string>
|
<string name="set_playback">Прайграванне</string>
|
||||||
<string name="lbl_ep_live">Канцэртны міні-альбом</string>
|
<string name="lbl_ep_live">Канцэртны міні-альбом</string>
|
||||||
<string name="lbl_ep_remix">Міні-альбом рэміксаў</string>
|
<string name="lbl_ep_remix">Міні-альбом рэміксаў</string>
|
||||||
<string name="set_auto_sort_names_desc">Ігнараваць такія словы, як \"the\", пры сартаванні па імені (лепш за ўсё працуе з англамоўнай музыкай)</string>
|
<string name="set_intelligent_sorting_desc">Ігнараваць такія словы, як \"the\", пры сартаванні па імені (лепш за ўсё працуе з англамоўнай музыкай)</string>
|
||||||
<string name="set_auto_sort_names">Ігнараваць артыклі пры сартаванні</string>
|
<string name="set_intelligent_sorting">Ігнараваць артыклі пры сартаванні</string>
|
||||||
<string name="lbl_eps">Міні-альбомы</string>
|
<string name="lbl_eps">Міні-альбомы</string>
|
||||||
<string name="lbl_ep">Міні-альбом</string>
|
<string name="lbl_ep">Міні-альбом</string>
|
||||||
<string name="desc_playlist_image">Вокладка плэйліст для %s</string>
|
<string name="desc_playlist_image">Вокладка плэйліст для %s</string>
|
||||||
|
|
|
||||||
|
|
@ -280,9 +280,9 @@
|
||||||
<string name="set_library">Knihovna</string>
|
<string name="set_library">Knihovna</string>
|
||||||
<string name="set_state">Perzistence</string>
|
<string name="set_state">Perzistence</string>
|
||||||
<string name="lbl_sort_dec">Sestupně</string>
|
<string name="lbl_sort_dec">Sestupně</string>
|
||||||
<string name="set_auto_sort_names">Při řazení ignorovat předložky</string>
|
|
||||||
<string name="set_auto_sort_names_desc">Ignorovat slova jako „the“ při řazení podle názvu (funguje nejlépe u hudby v angličtině)</string>
|
|
||||||
<string name="lbl_playlists">Seznamy skladeb</string>
|
<string name="lbl_playlists">Seznamy skladeb</string>
|
||||||
<string name="desc_playlist_image">Obrázek seznamu skladeb pro %s</string>
|
<string name="desc_playlist_image">Obrázek seznamu skladeb pro %s</string>
|
||||||
<string name="lbl_playlist">Seznam skladeb</string>
|
<string name="lbl_playlist">Seznam skladeb</string>
|
||||||
|
<string name="set_intelligent_sorting">Při řazení ignorovat předložky</string>
|
||||||
|
<string name="set_intelligent_sorting_desc">Ignorovat slova jako „the“ při řazení podle názvu (funguje nejlépe u hudby v angličtině)</string>
|
||||||
</resources>
|
</resources>
|
||||||
|
|
@ -271,9 +271,9 @@
|
||||||
<string name="set_state">Persistenz</string>
|
<string name="set_state">Persistenz</string>
|
||||||
<string name="set_replay_gain">Lautstärkeanpassung ReplayGain</string>
|
<string name="set_replay_gain">Lautstärkeanpassung ReplayGain</string>
|
||||||
<string name="lbl_sort_dec">Absteigend</string>
|
<string name="lbl_sort_dec">Absteigend</string>
|
||||||
<string name="set_auto_sort_names">Artikel beim Sortieren ignorieren</string>
|
|
||||||
<string name="set_auto_sort_names_desc">Wörter wie „the“ ignorieren (funktioniert am besten mit englischsprachiger Musik)</string>
|
|
||||||
<string name="desc_playlist_image">Playlist-Bild für %s</string>
|
<string name="desc_playlist_image">Playlist-Bild für %s</string>
|
||||||
<string name="lbl_playlist">Wiedergabeliste</string>
|
<string name="lbl_playlist">Wiedergabeliste</string>
|
||||||
<string name="lbl_playlists">Wiedergabelisten</string>
|
<string name="lbl_playlists">Wiedergabelisten</string>
|
||||||
|
<string name="set_intelligent_sorting">Artikel beim Sortieren ignorieren</string>
|
||||||
|
<string name="set_intelligent_sorting_desc">Wörter wie „the“ ignorieren (funktioniert am besten mit englischsprachiger Musik)</string>
|
||||||
</resources>
|
</resources>
|
||||||
|
|
@ -275,10 +275,10 @@
|
||||||
<string name="set_personalize_desc">Personalizar los controles y el comportamiento de la interfaz de usuario</string>
|
<string name="set_personalize_desc">Personalizar los controles y el comportamiento de la interfaz de usuario</string>
|
||||||
<string name="set_library">Biblioteca</string>
|
<string name="set_library">Biblioteca</string>
|
||||||
<string name="lbl_sort_dec">Descendente</string>
|
<string name="lbl_sort_dec">Descendente</string>
|
||||||
<string name="set_auto_sort_names">Ignorar artículos al ordenar</string>
|
|
||||||
<string name="set_auto_sort_names_desc">Ignorar palabras como \"the\" al ordenar por nombre (funciona mejor con música en inglés)</string>
|
|
||||||
<string name="lbl_playlists">Listas de reproducción</string>
|
<string name="lbl_playlists">Listas de reproducción</string>
|
||||||
<string name="desc_playlist_image">Imagen de la lista de reproducción para %s</string>
|
<string name="desc_playlist_image">Imagen de la lista de reproducción para %s</string>
|
||||||
<string name="lbl_playlist">Lista de reproducción</string>
|
<string name="lbl_playlist">Lista de reproducción</string>
|
||||||
<string name="lbl_none">Ninguno</string>
|
<string name="lbl_none">Ninguno</string>
|
||||||
|
<string name="set_intelligent_sorting">Ignorar artículos al ordenar</string>
|
||||||
|
<string name="set_intelligent_sorting_desc">Ignorar palabras como \"the\" al ordenar por nombre (funciona mejor con música en inglés)</string>
|
||||||
</resources>
|
</resources>
|
||||||
|
|
@ -145,7 +145,7 @@
|
||||||
<string name="set_separators_comma">Coma (,)</string>
|
<string name="set_separators_comma">Coma (,)</string>
|
||||||
<string name="set_separators_semicolon">Punto e coma (;)</string>
|
<string name="set_separators_semicolon">Punto e coma (;)</string>
|
||||||
<string name="set_hide_collaborators_desc">Mostrar só artistas que estean directamente acreditados nun álbum (funciona mellos en bibliotecas ben etiquetadas)</string>
|
<string name="set_hide_collaborators_desc">Mostrar só artistas que estean directamente acreditados nun álbum (funciona mellos en bibliotecas ben etiquetadas)</string>
|
||||||
<string name="set_auto_sort_names">Ignorar artigos ao ordenar</string>
|
<string name="set_intelligent_sorting">Ignorar artigos ao ordenar</string>
|
||||||
<string name="set_hide_collaborators">Agochar colaboradores</string>
|
<string name="set_hide_collaborators">Agochar colaboradores</string>
|
||||||
<string name="set_images">Imaxes</string>
|
<string name="set_images">Imaxes</string>
|
||||||
<string name="set_cover_mode">Portadas de álbums</string>
|
<string name="set_cover_mode">Portadas de álbums</string>
|
||||||
|
|
@ -241,7 +241,7 @@
|
||||||
<item quantity="other">%d artistas</item>
|
<item quantity="other">%d artistas</item>
|
||||||
</plurals>
|
</plurals>
|
||||||
<string name="set_separators_plus">Máis (+)</string>
|
<string name="set_separators_plus">Máis (+)</string>
|
||||||
<string name="set_auto_sort_names_desc">Ignorar palabras como \"the\" ao ordenar por nome (funciona mellor con música en inglés)</string>
|
<string name="set_intelligent_sorting_desc">Ignorar palabras como \"the\" ao ordenar por nome (funciona mellor con música en inglés)</string>
|
||||||
<string name="set_dirs_mode">Modo</string>
|
<string name="set_dirs_mode">Modo</string>
|
||||||
<string name="set_dirs_desc">Xestionar dende onde se carga a música</string>
|
<string name="set_dirs_desc">Xestionar dende onde se carga a música</string>
|
||||||
<string name="set_repeat_pause_desc">Pausar cando se repite unha canción</string>
|
<string name="set_repeat_pause_desc">Pausar cando se repite unha canción</string>
|
||||||
|
|
|
||||||
|
|
@ -275,8 +275,8 @@
|
||||||
<string name="set_personalize_desc">Personalizza controlli e comportamento dell\'UI</string>
|
<string name="set_personalize_desc">Personalizza controlli e comportamento dell\'UI</string>
|
||||||
<string name="set_audio_desc">Configura comportamento di suono e riproduzione</string>
|
<string name="set_audio_desc">Configura comportamento di suono e riproduzione</string>
|
||||||
<string name="lbl_sort_dec">Discendente</string>
|
<string name="lbl_sort_dec">Discendente</string>
|
||||||
<string name="set_auto_sort_names">Ignora gli articoli durante l\'ordinamento</string>
|
|
||||||
<string name="set_auto_sort_names_desc">Ignora parole come \"the\" durante l\'ordinamento per nome (funziona meglio con la musica in lingua inglese)</string>
|
|
||||||
<string name="lbl_playlist">elenco di riproduzione</string>
|
<string name="lbl_playlist">elenco di riproduzione</string>
|
||||||
<string name="lbl_playlists">Playlist</string>
|
<string name="lbl_playlists">Playlist</string>
|
||||||
|
<string name="set_intelligent_sorting">Ignora gli articoli durante l\'ordinamento</string>
|
||||||
|
<string name="set_intelligent_sorting_desc">Ignora parole come \"the\" durante l\'ordinamento per nome (funziona meglio con la musica in lingua inglese)</string>
|
||||||
</resources>
|
</resources>
|
||||||
|
|
@ -149,7 +149,7 @@
|
||||||
<string name="set_separators_slash">קו נטוי (/)</string>
|
<string name="set_separators_slash">קו נטוי (/)</string>
|
||||||
<string name="set_separators_warning">אזהרה: השימוש בהגדרה זו עלול לגרום לחלק מהתגיות להיות מפורשות באופן שגוי כבעלות מספר ערכים. ניתן לפתור זאת על ידי הכנסת קו נטוי אחורי (\\) לפני תווים מפרידים לא רצויים.</string>
|
<string name="set_separators_warning">אזהרה: השימוש בהגדרה זו עלול לגרום לחלק מהתגיות להיות מפורשות באופן שגוי כבעלות מספר ערכים. ניתן לפתור זאת על ידי הכנסת קו נטוי אחורי (\\) לפני תווים מפרידים לא רצויים.</string>
|
||||||
<string name="set_cover_mode_quality">איכות גבוהה</string>
|
<string name="set_cover_mode_quality">איכות גבוהה</string>
|
||||||
<string name="set_auto_sort_names_desc">התעלמ~י ממילים כמו \"The\" (\"ה-\") בעת סידור על פי שם (עובד באופן הכי טוב עם מוזיקה בשפה האנגלית)</string>
|
<string name="set_intelligent_sorting_desc">התעלמ~י ממילים כמו \"The\" (\"ה-\") בעת סידור על פי שם (עובד באופן הכי טוב עם מוזיקה בשפה האנגלית)</string>
|
||||||
<string name="set_images">תמונות</string>
|
<string name="set_images">תמונות</string>
|
||||||
<string name="set_audio_desc">התאמ~י התנהגות צליל והשמעה</string>
|
<string name="set_audio_desc">התאמ~י התנהגות צליל והשמעה</string>
|
||||||
<string name="set_headset_autoplay_desc">התחל~י לנגן תמיד ברגע שמחוברות אוזניות (עלול לא לעבוד בכל המערכות)</string>
|
<string name="set_headset_autoplay_desc">התחל~י לנגן תמיד ברגע שמחוברות אוזניות (עלול לא לעבוד בכל המערכות)</string>
|
||||||
|
|
|
||||||
|
|
@ -242,8 +242,8 @@
|
||||||
<string name="set_dirs_mode">モード</string>
|
<string name="set_dirs_mode">モード</string>
|
||||||
<string name="set_separators_desc">複数のタグ値を表す文字を構成する</string>
|
<string name="set_separators_desc">複数のタグ値を表す文字を構成する</string>
|
||||||
<string name="set_bar_action">カスタム再生バー アクション</string>
|
<string name="set_bar_action">カスタム再生バー アクション</string>
|
||||||
<string name="set_auto_sort_names">ソート時に記事を無視する</string>
|
<string name="set_intelligent_sorting">ソート時に記事を無視する</string>
|
||||||
<string name="set_auto_sort_names_desc">名前で並べ替えるときに「the」などの単語を無視する (英語の音楽に最適)</string>
|
<string name="set_intelligent_sorting_desc">名前で並べ替えるときに「the」などの単語を無視する (英語の音楽に最適)</string>
|
||||||
<string name="set_cover_mode_media_store">初期 (高速読み込み)</string>
|
<string name="set_cover_mode_media_store">初期 (高速読み込み)</string>
|
||||||
<string name="set_replay_gain_mode_dynamic">再生中の場合はアルバムを優先</string>
|
<string name="set_replay_gain_mode_dynamic">再生中の場合はアルバムを優先</string>
|
||||||
<string name="set_separators">複数値セパレータ</string>
|
<string name="set_separators">複数値セパレータ</string>
|
||||||
|
|
|
||||||
|
|
@ -271,9 +271,9 @@
|
||||||
<string name="set_behavior">동작</string>
|
<string name="set_behavior">동작</string>
|
||||||
<string name="set_personalize_desc">UI 제어 및 동작 커스텀</string>
|
<string name="set_personalize_desc">UI 제어 및 동작 커스텀</string>
|
||||||
<string name="lbl_sort_dec">내림차순</string>
|
<string name="lbl_sort_dec">내림차순</string>
|
||||||
<string name="set_auto_sort_names">정렬할 때 기사 무시</string>
|
|
||||||
<string name="set_auto_sort_names_desc">이름으로 정렬할 때 \"the\"와 같은 단어 무시(영어 음악에서 가장 잘 작동함)</string>
|
|
||||||
<string name="lbl_playlist">재생목록</string>
|
<string name="lbl_playlist">재생목록</string>
|
||||||
<string name="lbl_playlists">재생목록</string>
|
<string name="lbl_playlists">재생목록</string>
|
||||||
<string name="desc_playlist_image">%s의 재생 목록 이미지</string>
|
<string name="desc_playlist_image">%s의 재생 목록 이미지</string>
|
||||||
|
<string name="set_intelligent_sorting">정렬할 때 기사 무시</string>
|
||||||
|
<string name="set_intelligent_sorting_desc">이름으로 정렬할 때 \"the\"와 같은 단어 무시(영어 음악에서 가장 잘 작동함)</string>
|
||||||
</resources>
|
</resources>
|
||||||
|
|
@ -269,6 +269,6 @@
|
||||||
<string name="set_dirs_list">Aplankalai</string>
|
<string name="set_dirs_list">Aplankalai</string>
|
||||||
<string name="set_state">Atkaklumas</string>
|
<string name="set_state">Atkaklumas</string>
|
||||||
<string name="lbl_sort_dec">Mažėjantis</string>
|
<string name="lbl_sort_dec">Mažėjantis</string>
|
||||||
<string name="set_auto_sort_names_desc">Ignoruoti tokius žodžius kaip „the“, kai rūšiuojama pagal pavadinimą (geriausiai veikia su anglų kalbos muzika)</string>
|
<string name="set_intelligent_sorting_desc">Ignoruoti tokius žodžius kaip „the“, kai rūšiuojama pagal pavadinimą (geriausiai veikia su anglų kalbos muzika)</string>
|
||||||
<string name="set_auto_sort_names">Ignoruoti straipsnius rūšiuojant</string>
|
<string name="set_intelligent_sorting">Ignoruoti straipsnius rūšiuojant</string>
|
||||||
</resources>
|
</resources>
|
||||||
|
|
@ -276,9 +276,9 @@
|
||||||
<string name="err_did_not_wipe">Nie można wyczyścić stanu odtwarzania</string>
|
<string name="err_did_not_wipe">Nie można wyczyścić stanu odtwarzania</string>
|
||||||
<string name="err_did_not_save">Nie można zapisać stanu odtwarzania</string>
|
<string name="err_did_not_save">Nie można zapisać stanu odtwarzania</string>
|
||||||
<string name="lbl_sort_dec">Malejąco</string>
|
<string name="lbl_sort_dec">Malejąco</string>
|
||||||
<string name="set_auto_sort_names">Ignoruj rodzajniki podczas sortowania</string>
|
|
||||||
<string name="set_auto_sort_names_desc">Ignoruj słowa takie jak „the” podczas sortowania według tytułu (działa najlepiej z tytułami w języku angielskim)</string>
|
|
||||||
<string name="lbl_playlists">Playlisty</string>
|
<string name="lbl_playlists">Playlisty</string>
|
||||||
<string name="lbl_playlist">Playlist</string>
|
<string name="lbl_playlist">Playlist</string>
|
||||||
<string name="desc_playlist_image">Obraz playlisty dla %s</string>
|
<string name="desc_playlist_image">Obraz playlisty dla %s</string>
|
||||||
|
<string name="set_intelligent_sorting">Ignoruj rodzajniki podczas sortowania</string>
|
||||||
|
<string name="set_intelligent_sorting_desc">Ignoruj słowa takie jak „the” podczas sortowania według tytułu (działa najlepiej z tytułami w języku angielskim)</string>
|
||||||
</resources>
|
</resources>
|
||||||
|
|
@ -273,6 +273,6 @@
|
||||||
<string name="set_behavior">Comportamento</string>
|
<string name="set_behavior">Comportamento</string>
|
||||||
<string name="set_dirs_list">Pastas</string>
|
<string name="set_dirs_list">Pastas</string>
|
||||||
<string name="lbl_sort_dec">Descendente</string>
|
<string name="lbl_sort_dec">Descendente</string>
|
||||||
<string name="set_auto_sort_names">Ignorar artigos ao classificar</string>
|
<string name="set_intelligent_sorting">Ignorar artigos ao classificar</string>
|
||||||
<string name="set_auto_sort_names_desc">Ignore palavras como \"the\" ao classificar por nome (funciona melhor com músicas em inglês)</string>
|
<string name="set_intelligent_sorting_desc">Ignore palavras como \"the\" ao classificar por nome (funciona melhor com músicas em inglês)</string>
|
||||||
</resources>
|
</resources>
|
||||||
|
|
@ -273,6 +273,6 @@
|
||||||
<string name="set_state">Estado de reprodução</string>
|
<string name="set_state">Estado de reprodução</string>
|
||||||
<string name="set_separators_and">E comercial (&)</string>
|
<string name="set_separators_and">E comercial (&)</string>
|
||||||
<string name="set_behavior">Comportamento</string>
|
<string name="set_behavior">Comportamento</string>
|
||||||
<string name="set_auto_sort_names">Ignorar artigos ao classificar</string>
|
<string name="set_intelligent_sorting">Ignorar artigos ao classificar</string>
|
||||||
<string name="set_auto_sort_names_desc">Ignore palavras como \"the\" ao classificar por nome (funciona melhor com músicas em inglês)</string>
|
<string name="set_intelligent_sorting_desc">Ignore palavras como \"the\" ao classificar por nome (funciona melhor com músicas em inglês)</string>
|
||||||
</resources>
|
</resources>
|
||||||
|
|
@ -278,9 +278,9 @@
|
||||||
<string name="set_dirs_list">Папки</string>
|
<string name="set_dirs_list">Папки</string>
|
||||||
<string name="set_state">Состояние воспроизведения</string>
|
<string name="set_state">Состояние воспроизведения</string>
|
||||||
<string name="lbl_sort_dec">По убыванию</string>
|
<string name="lbl_sort_dec">По убыванию</string>
|
||||||
<string name="set_auto_sort_names">Игнорировать артикли при сортировке</string>
|
|
||||||
<string name="set_auto_sort_names_desc">Игнорировать такие слова, как «the», при сортировке по имени (лучше всего работает с англоязычной музыкой)</string>
|
|
||||||
<string name="lbl_playlist">Плейлист</string>
|
<string name="lbl_playlist">Плейлист</string>
|
||||||
<string name="lbl_playlists">Плейлисты</string>
|
<string name="lbl_playlists">Плейлисты</string>
|
||||||
<string name="desc_playlist_image">Обложка плейлиста для %s</string>
|
<string name="desc_playlist_image">Обложка плейлиста для %s</string>
|
||||||
|
<string name="set_intelligent_sorting">Игнорировать артикли при сортировке</string>
|
||||||
|
<string name="set_intelligent_sorting_desc">Игнорировать такие слова, как «the», при сортировке по имени (лучше всего работает с англоязычной музыкой)</string>
|
||||||
</resources>
|
</resources>
|
||||||
|
|
@ -269,9 +269,9 @@
|
||||||
<string name="set_personalize_desc">Arayüz kontrollerini ve davranışını özelleştirin</string>
|
<string name="set_personalize_desc">Arayüz kontrollerini ve davranışını özelleştirin</string>
|
||||||
<string name="set_behavior">Davranış</string>
|
<string name="set_behavior">Davranış</string>
|
||||||
<string name="set_replay_gain">Ses yüksekliği dengesi ReplayGain</string>
|
<string name="set_replay_gain">Ses yüksekliği dengesi ReplayGain</string>
|
||||||
<string name="set_auto_sort_names">Sıralama yaparken makaleleri yoksay</string>
|
|
||||||
<string name="set_auto_sort_names_desc">Ada göre sıralarken \"the\" gibi kelimeleri yok sayın (en iyi ingilizce müzikle çalışır)</string>
|
|
||||||
<string name="desc_playlist_image">%s için oynatma listesi resmi</string>
|
<string name="desc_playlist_image">%s için oynatma listesi resmi</string>
|
||||||
<string name="lbl_playlist">oynatma listesi</string>
|
<string name="lbl_playlist">oynatma listesi</string>
|
||||||
<string name="lbl_playlists">çalma listeleri</string>
|
<string name="lbl_playlists">çalma listeleri</string>
|
||||||
|
<string name="set_intelligent_sorting">Sıralama yaparken makaleleri yoksay</string>
|
||||||
|
<string name="set_intelligent_sorting_desc">Ada göre sıralarken \"the\" gibi kelimeleri yok sayın (en iyi ingilizce müzikle çalışır)</string>
|
||||||
</resources>
|
</resources>
|
||||||
|
|
@ -275,10 +275,10 @@
|
||||||
<string name="set_audio_desc">Налаштування звуку і поведінки при відтворенні</string>
|
<string name="set_audio_desc">Налаштування звуку і поведінки при відтворенні</string>
|
||||||
<string name="set_dirs_list">Папки</string>
|
<string name="set_dirs_list">Папки</string>
|
||||||
<string name="lbl_sort_dec">За спаданням</string>
|
<string name="lbl_sort_dec">За спаданням</string>
|
||||||
<string name="set_auto_sort_names">Ігнорувати артиклі під час сортування</string>
|
|
||||||
<string name="set_auto_sort_names_desc">Ігнорування таких слів, як \"the\", під час сортування за назвою (найкраще працює з англомовною музикою)</string>
|
|
||||||
<string name="desc_playlist_image">Зображення списку відтворення для %s</string>
|
<string name="desc_playlist_image">Зображення списку відтворення для %s</string>
|
||||||
<string name="lbl_playlist">Список відтворення</string>
|
<string name="lbl_playlist">Список відтворення</string>
|
||||||
<string name="lbl_playlists">Списки відтворення</string>
|
<string name="lbl_playlists">Списки відтворення</string>
|
||||||
<string name="lbl_none">Немає</string>
|
<string name="lbl_none">Немає</string>
|
||||||
|
<string name="set_intelligent_sorting">Ігнорувати артиклі під час сортування</string>
|
||||||
|
<string name="set_intelligent_sorting_desc">Ігнорування таких слів, як \"the\", під час сортування за назвою (найкраще працює з англомовною музикою)</string>
|
||||||
</resources>
|
</resources>
|
||||||
|
|
@ -269,10 +269,10 @@
|
||||||
<string name="set_music">音乐</string>
|
<string name="set_music">音乐</string>
|
||||||
<string name="set_audio_desc">配置声音和播放行为</string>
|
<string name="set_audio_desc">配置声音和播放行为</string>
|
||||||
<string name="lbl_sort_dec">降序</string>
|
<string name="lbl_sort_dec">降序</string>
|
||||||
<string name="set_auto_sort_names">排序时忽略冠词</string>
|
|
||||||
<string name="set_auto_sort_names_desc">按名称排序时忽略类似“the”这样的冠词(对英文歌曲的效果最好)</string>
|
|
||||||
<string name="lbl_playlist">播放列表</string>
|
<string name="lbl_playlist">播放列表</string>
|
||||||
<string name="lbl_playlists">播放列表</string>
|
<string name="lbl_playlists">播放列表</string>
|
||||||
<string name="desc_playlist_image">%s 的播放列表图片</string>
|
<string name="desc_playlist_image">%s 的播放列表图片</string>
|
||||||
<string name="lbl_none">无</string>
|
<string name="lbl_none">无</string>
|
||||||
|
<string name="set_intelligent_sorting">排序时忽略冠词</string>
|
||||||
|
<string name="set_intelligent_sorting_desc">按名称排序时忽略类似“the”这样的冠词(对英文歌曲的效果最好)</string>
|
||||||
</resources>
|
</resources>
|
||||||
|
|
@ -216,8 +216,8 @@
|
||||||
<string name="set_separators_plus">Plus (+)</string>
|
<string name="set_separators_plus">Plus (+)</string>
|
||||||
<string name="set_separators_and">Ampersand (&)</string>
|
<string name="set_separators_and">Ampersand (&)</string>
|
||||||
<string name="set_separators_warning">Warning: Using this setting may result in some tags being incorrectly interpreted as having multiple values. You can resolve this by prefixing unwanted separator characters with a backslash (\\).</string>
|
<string name="set_separators_warning">Warning: Using this setting may result in some tags being incorrectly interpreted as having multiple values. You can resolve this by prefixing unwanted separator characters with a backslash (\\).</string>
|
||||||
<string name="set_auto_sort_names">Ignore articles when sorting</string>
|
<string name="set_intelligent_sorting">Intelligent sorting</string>
|
||||||
<string name="set_auto_sort_names_desc">Ignore words like \"the\" when sorting by name (works best with english-language music)</string>
|
<string name="set_intelligent_sorting_desc">Correctly sort names that begin with numbers or words like \"the\" (works best with english-language music)</string>
|
||||||
<string name="set_hide_collaborators">Hide collaborators</string>
|
<string name="set_hide_collaborators">Hide collaborators</string>
|
||||||
<string name="set_hide_collaborators_desc">Only show artists that are directly credited on an album (works best on well-tagged libraries)</string>
|
<string name="set_hide_collaborators_desc">Only show artists that are directly credited on an album (works best on well-tagged libraries)</string>
|
||||||
<string name="set_images">Images</string>
|
<string name="set_images">Images</string>
|
||||||
|
|
|
||||||
|
|
@ -23,8 +23,8 @@
|
||||||
<SwitchPreferenceCompat
|
<SwitchPreferenceCompat
|
||||||
app:defaultValue="true"
|
app:defaultValue="true"
|
||||||
app:key="@string/set_key_auto_sort_names"
|
app:key="@string/set_key_auto_sort_names"
|
||||||
app:summary="@string/set_auto_sort_names_desc"
|
app:summary="@string/set_intelligent_sorting_desc"
|
||||||
app:title="@string/set_auto_sort_names" />
|
app:title="@string/set_intelligent_sorting" />
|
||||||
|
|
||||||
<SwitchPreferenceCompat
|
<SwitchPreferenceCompat
|
||||||
app:defaultValue="false"
|
app:defaultValue="false"
|
||||||
|
|
|
||||||
|
|
@ -34,7 +34,7 @@ open class FakeMusicSettings : MusicSettings {
|
||||||
override var multiValueSeparators: String
|
override var multiValueSeparators: String
|
||||||
get() = throw NotImplementedError()
|
get() = throw NotImplementedError()
|
||||||
set(_) = throw NotImplementedError()
|
set(_) = throw NotImplementedError()
|
||||||
override val automaticSortNames: Boolean
|
override val intelligentSorting: Boolean
|
||||||
get() = throw NotImplementedError()
|
get() = throw NotImplementedError()
|
||||||
override var songSort: Sort
|
override var songSort: Sort
|
||||||
get() = throw NotImplementedError()
|
get() = throw NotImplementedError()
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
/*
|
/*
|
||||||
* Copyright (c) 2023 Auxio Project
|
* Copyright (c) 2023 Auxio Project
|
||||||
* RawMusicTest.kt is part of Auxio.
|
* DeviceMusicImplTest.kt is part of Auxio.
|
||||||
*
|
*
|
||||||
* This program is free software: you can redistribute it and/or modify
|
* This program is free software: you can redistribute it and/or modify
|
||||||
* it under the terms of the GNU General Public License as published by
|
* it under the terms of the GNU General Public License as published by
|
||||||
|
|
@ -26,11 +26,11 @@ import org.oxycblt.auxio.music.Music
|
||||||
import org.oxycblt.auxio.music.MusicMode
|
import org.oxycblt.auxio.music.MusicMode
|
||||||
import org.oxycblt.auxio.music.metadata.Date
|
import org.oxycblt.auxio.music.metadata.Date
|
||||||
|
|
||||||
class RawMusicTest {
|
class DeviceMusicImplTest {
|
||||||
@Test
|
@Test
|
||||||
fun musicUid_auxio() {
|
fun musicUid_auxio() {
|
||||||
val uid =
|
val uid =
|
||||||
Music.UID.auxio(MusicMode.SONGS) {
|
createHashedUid(MusicMode.SONGS) {
|
||||||
update("Wheel")
|
update("Wheel")
|
||||||
update(listOf("Parannoul", "Asian Glow"))
|
update(listOf("Parannoul", "Asian Glow"))
|
||||||
update("Paraglow")
|
update("Paraglow")
|
||||||
Loading…
Reference in a new issue