settings: split up ui
Split up the settings ui into four categories. This should reduce the visual load on the user as Auxio continues to accrue possible configuration options. Resolves #323.
This commit is contained in:
parent
e7ff7293c0
commit
4a7bc4e511
58 changed files with 904 additions and 616 deletions
|
@ -10,7 +10,8 @@
|
|||
- Added support for date values formatted as "YYYYMMDD"
|
||||
- Pressing the button will now clear the current selection before navigating back
|
||||
- Added support for non-standard `ARTISTS` tags
|
||||
- Reworked music folders dialog to be more coherent
|
||||
- Reworked music folders dialog to be more visually straightforward
|
||||
- Play Next and Add To Queue now start playback if there is no queue to add
|
||||
|
||||
#### What's Fixed
|
||||
- Fixed unreliable ReplayGain adjustment application in certain situations
|
||||
|
|
|
@ -64,7 +64,7 @@ class PlaybackBarFragment : ViewBindingFragment<FragmentPlaybackBarBinding>() {
|
|||
binding.playbackInfo.isSelected = true
|
||||
|
||||
// Set up actions
|
||||
binding.playbackPlayPause.setOnClickListener { playbackModel.toggleIsPlaying() }
|
||||
binding.playbackPlayPause.setOnClickListener { playbackModel.togglePlaying() }
|
||||
setupSecondaryActions(binding, playbackModel.currentBarAction)
|
||||
|
||||
// Load the track color in manually as it's unclear whether the track actually supports
|
||||
|
@ -108,7 +108,7 @@ class PlaybackBarFragment : ViewBindingFragment<FragmentPlaybackBarBinding>() {
|
|||
setIconResource(R.drawable.sel_shuffle_state_24)
|
||||
contentDescription = getString(R.string.desc_shuffle)
|
||||
iconTint = context.getColorCompat(R.color.sel_activatable_icon)
|
||||
setOnClickListener { playbackModel.invertShuffled() }
|
||||
setOnClickListener { playbackModel.toggleShuffled() }
|
||||
collectImmediately(playbackModel.isShuffled, ::updateShuffled)
|
||||
}
|
||||
}
|
||||
|
|
|
@ -105,9 +105,9 @@ class PlaybackPanelFragment :
|
|||
// TODO: Add better playback button accessibility
|
||||
binding.playbackRepeat.setOnClickListener { playbackModel.toggleRepeatMode() }
|
||||
binding.playbackSkipPrev.setOnClickListener { playbackModel.prev() }
|
||||
binding.playbackPlayPause.setOnClickListener { playbackModel.toggleIsPlaying() }
|
||||
binding.playbackPlayPause.setOnClickListener { playbackModel.togglePlaying() }
|
||||
binding.playbackSkipNext.setOnClickListener { playbackModel.next() }
|
||||
binding.playbackShuffle.setOnClickListener { playbackModel.invertShuffled() }
|
||||
binding.playbackShuffle.setOnClickListener { playbackModel.toggleShuffled() }
|
||||
|
||||
// --- VIEWMODEL SETUP --
|
||||
collectImmediately(playbackModel.song, ::updateSong)
|
||||
|
|
|
@ -325,8 +325,6 @@ class PlaybackViewModel(application: Application) :
|
|||
* @param song The [Song] to add.
|
||||
*/
|
||||
fun playNext(song: Song) {
|
||||
// TODO: Queue additions without a playing song should map to playing items
|
||||
// (impossible until queue rework)
|
||||
playbackManager.playNext(song)
|
||||
}
|
||||
|
||||
|
@ -405,12 +403,12 @@ class PlaybackViewModel(application: Application) :
|
|||
// --- STATUS FUNCTIONS ---
|
||||
|
||||
/** Toggle [isPlaying] (i.e from playing to paused) */
|
||||
fun toggleIsPlaying() {
|
||||
fun togglePlaying() {
|
||||
playbackManager.setPlaying(!playbackManager.playerState.isPlaying)
|
||||
}
|
||||
|
||||
/** Toggle [isShuffled] (ex. from on to off) */
|
||||
fun invertShuffled() {
|
||||
fun toggleShuffled() {
|
||||
playbackManager.reorder(!playbackManager.queue.isShuffled)
|
||||
}
|
||||
|
||||
|
|
|
@ -59,7 +59,7 @@ class PlaybackStateManager private constructor() {
|
|||
val queue = Queue()
|
||||
/** The [MusicParent] currently being played. Null if playback is occurring from all songs. */
|
||||
@Volatile
|
||||
var parent: MusicParent? = null // TODO: Parent is interpreted wrong when nothing is playing.
|
||||
var parent: MusicParent? = null // FIXME: Parent is interpreted wrong when nothing is playing.
|
||||
private set
|
||||
|
||||
/** The current [InternalPlayer] state. */
|
||||
|
|
|
@ -20,13 +20,12 @@ package org.oxycblt.auxio.settings
|
|||
import android.os.Bundle
|
||||
import android.view.LayoutInflater
|
||||
import androidx.fragment.app.Fragment
|
||||
import androidx.navigation.fragment.findNavController
|
||||
import com.google.android.material.transition.MaterialFadeThrough
|
||||
import org.oxycblt.auxio.databinding.FragmentSettingsBinding
|
||||
import org.oxycblt.auxio.ui.ViewBindingFragment
|
||||
|
||||
/**
|
||||
* A [Fragment] wrapper containing the preference fragment and a companion Toolbar.
|
||||
* A [Fragment] wrapper wrapping the preference navigation flow.
|
||||
* @author Alexander Capehart (OxygenCobalt)
|
||||
*/
|
||||
class SettingsFragment : ViewBindingFragment<FragmentSettingsBinding>() {
|
||||
|
@ -39,9 +38,5 @@ class SettingsFragment : ViewBindingFragment<FragmentSettingsBinding>() {
|
|||
override fun onCreateBinding(inflater: LayoutInflater) =
|
||||
FragmentSettingsBinding.inflate(inflater)
|
||||
|
||||
override fun onBindingCreated(binding: FragmentSettingsBinding, savedInstanceState: Bundle?) {
|
||||
// Point AppBarLayout to the preference fragment's RecyclerView.
|
||||
binding.settingsAppbar.liftOnScrollTargetViewId = androidx.preference.R.id.recycler_view
|
||||
binding.settingsToolbar.setNavigationOnClickListener { findNavController().navigateUp() }
|
||||
}
|
||||
override fun onBindingCreated(binding: FragmentSettingsBinding, savedInstanceState: Bundle?) {}
|
||||
}
|
||||
|
|
|
@ -1,193 +0,0 @@
|
|||
/*
|
||||
* Copyright (c) 2021 Auxio Project
|
||||
*
|
||||
* 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
|
||||
* the Free Software Foundation, either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
package org.oxycblt.auxio.settings.prefs
|
||||
|
||||
import android.os.Bundle
|
||||
import android.view.View
|
||||
import androidx.appcompat.app.AppCompatDelegate
|
||||
import androidx.core.view.updatePadding
|
||||
import androidx.fragment.app.activityViewModels
|
||||
import androidx.navigation.fragment.findNavController
|
||||
import androidx.preference.Preference
|
||||
import androidx.preference.PreferenceCategory
|
||||
import androidx.preference.PreferenceFragmentCompat
|
||||
import androidx.preference.children
|
||||
import androidx.recyclerview.widget.RecyclerView
|
||||
import coil.Coil
|
||||
import org.oxycblt.auxio.R
|
||||
import org.oxycblt.auxio.music.MusicViewModel
|
||||
import org.oxycblt.auxio.playback.PlaybackViewModel
|
||||
import org.oxycblt.auxio.settings.SettingsFragmentDirections
|
||||
import org.oxycblt.auxio.ui.UISettings
|
||||
import org.oxycblt.auxio.util.androidActivityViewModels
|
||||
import org.oxycblt.auxio.util.isNight
|
||||
import org.oxycblt.auxio.util.logD
|
||||
import org.oxycblt.auxio.util.showToast
|
||||
import org.oxycblt.auxio.util.systemBarInsetsCompat
|
||||
|
||||
/**
|
||||
* The [PreferenceFragmentCompat] that displays the list of settings.
|
||||
* @author Alexander Capehart (OxygenCobalt)
|
||||
*/
|
||||
class PreferenceFragment : PreferenceFragmentCompat() {
|
||||
private val playbackModel: PlaybackViewModel by androidActivityViewModels()
|
||||
private val musicModel: MusicViewModel by activityViewModels()
|
||||
|
||||
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
|
||||
super.onViewCreated(view, savedInstanceState)
|
||||
|
||||
preferenceManager.onDisplayPreferenceDialogListener = this
|
||||
preferenceScreen.children.forEach(::setupPreference)
|
||||
|
||||
// Configure the RecyclerView to support edge-to-edge.
|
||||
view.findViewById<RecyclerView>(androidx.preference.R.id.recycler_view).apply {
|
||||
clipToPadding = false
|
||||
setOnApplyWindowInsetsListener { _, insets ->
|
||||
updatePadding(bottom = insets.systemBarInsetsCompat.bottom)
|
||||
insets
|
||||
}
|
||||
}
|
||||
|
||||
logD("Fragment created")
|
||||
}
|
||||
|
||||
override fun onCreatePreferences(savedInstanceState: Bundle?, rootKey: String?) {
|
||||
setPreferencesFromResource(R.xml.prefs_main, rootKey)
|
||||
}
|
||||
|
||||
@Suppress("Deprecation")
|
||||
override fun onDisplayPreferenceDialog(preference: Preference) {
|
||||
when (preference) {
|
||||
is IntListPreference -> {
|
||||
// Copy the built-in preference dialog launching code into our project so
|
||||
// we can automatically use the provided preference class.
|
||||
val dialog = IntListPreferenceDialog.from(preference)
|
||||
dialog.setTargetFragment(this, 0)
|
||||
dialog.show(parentFragmentManager, IntListPreferenceDialog.TAG)
|
||||
}
|
||||
is WrappedDialogPreference -> {
|
||||
// WrappedDialogPreference cannot launch a dialog on it's own, it has to
|
||||
// be handled manually.
|
||||
val directions =
|
||||
when (preference.key) {
|
||||
getString(R.string.set_key_accent) ->
|
||||
SettingsFragmentDirections.goToAccentDialog()
|
||||
getString(R.string.set_key_home_tabs) ->
|
||||
SettingsFragmentDirections.goToTabDialog()
|
||||
getString(R.string.set_key_pre_amp) ->
|
||||
SettingsFragmentDirections.goToPreAmpDialog()
|
||||
getString(R.string.set_key_music_dirs) ->
|
||||
SettingsFragmentDirections.goToMusicDirsDialog()
|
||||
getString(R.string.set_key_separators) ->
|
||||
SettingsFragmentDirections.goToSeparatorsDialog()
|
||||
else -> error("Unexpected dialog key ${preference.key}")
|
||||
}
|
||||
findNavController().navigate(directions)
|
||||
}
|
||||
else -> super.onDisplayPreferenceDialog(preference)
|
||||
}
|
||||
}
|
||||
|
||||
override fun onPreferenceTreeClick(preference: Preference): Boolean {
|
||||
// Hook generic preferences to their specified preferences
|
||||
// TODO: These seem like good things to put into a side navigation view, if I choose to
|
||||
// do one.
|
||||
when (preference.key) {
|
||||
getString(R.string.set_key_save_state) -> {
|
||||
playbackModel.savePlaybackState { saved ->
|
||||
// Use the nullable context, as we could try to show a toast when this
|
||||
// fragment is no longer attached.
|
||||
if (saved) {
|
||||
context?.showToast(R.string.lbl_state_saved)
|
||||
} else {
|
||||
context?.showToast(R.string.err_did_not_save)
|
||||
}
|
||||
}
|
||||
}
|
||||
getString(R.string.set_key_wipe_state) -> {
|
||||
playbackModel.wipePlaybackState { wiped ->
|
||||
if (wiped) {
|
||||
// Use the nullable context, as we could try to show a toast when this
|
||||
// fragment is no longer attached.
|
||||
context?.showToast(R.string.lbl_state_wiped)
|
||||
} else {
|
||||
context?.showToast(R.string.err_did_not_wipe)
|
||||
}
|
||||
}
|
||||
}
|
||||
getString(R.string.set_key_restore_state) ->
|
||||
playbackModel.tryRestorePlaybackState { restored ->
|
||||
if (restored) {
|
||||
// Use the nullable context, as we could try to show a toast when this
|
||||
// fragment is no longer attached.
|
||||
context?.showToast(R.string.lbl_state_restored)
|
||||
} else {
|
||||
context?.showToast(R.string.err_did_not_restore)
|
||||
}
|
||||
}
|
||||
getString(R.string.set_key_reindex) -> musicModel.refresh()
|
||||
getString(R.string.set_key_rescan) -> musicModel.rescan()
|
||||
else -> return super.onPreferenceTreeClick(preference)
|
||||
}
|
||||
|
||||
return true
|
||||
}
|
||||
|
||||
private fun setupPreference(preference: Preference) {
|
||||
if (!preference.isVisible) {
|
||||
// Nothing to do.
|
||||
return
|
||||
}
|
||||
|
||||
if (preference is PreferenceCategory) {
|
||||
preference.children.forEach(::setupPreference)
|
||||
return
|
||||
}
|
||||
|
||||
when (preference.key) {
|
||||
getString(R.string.set_key_theme) -> {
|
||||
preference.onPreferenceChangeListener =
|
||||
Preference.OnPreferenceChangeListener { _, value ->
|
||||
AppCompatDelegate.setDefaultNightMode(value as Int)
|
||||
true
|
||||
}
|
||||
}
|
||||
getString(R.string.set_key_accent) -> {
|
||||
preference.summary = getString(UISettings.from(requireContext()).accent.name)
|
||||
}
|
||||
getString(R.string.set_key_black_theme) -> {
|
||||
preference.onPreferenceChangeListener =
|
||||
Preference.OnPreferenceChangeListener { _, _ ->
|
||||
val activity = requireActivity()
|
||||
if (activity.isNight) {
|
||||
activity.recreate()
|
||||
}
|
||||
|
||||
true
|
||||
}
|
||||
}
|
||||
getString(R.string.set_key_cover_mode) -> {
|
||||
preference.onPreferenceChangeListener =
|
||||
Preference.OnPreferenceChangeListener { _, _ ->
|
||||
Coil.imageLoader(requireContext()).memoryCache?.clear()
|
||||
true
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,31 @@
|
|||
/*
|
||||
* Copyright (c) 2023 Auxio Project
|
||||
*
|
||||
* 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
|
||||
* the Free Software Foundation, either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
package org.oxycblt.auxio.settings.ui
|
||||
|
||||
import androidx.navigation.fragment.findNavController
|
||||
import org.oxycblt.auxio.R
|
||||
import org.oxycblt.auxio.settings.SettingsFragmentDirections
|
||||
|
||||
class AudioPreferenceFragment : BasePreferenceFragment(R.xml.preferences_audio) {
|
||||
|
||||
override fun onOpenDialogPreference(preference: WrappedDialogPreference) {
|
||||
if (preference.key == getString(R.string.set_key_pre_amp)) {
|
||||
findNavController().navigate(SettingsFragmentDirections.goToPreAmpDialog())
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,132 @@
|
|||
/*
|
||||
* Copyright (c) 2023 Auxio Project
|
||||
*
|
||||
* 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
|
||||
* the Free Software Foundation, either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
package org.oxycblt.auxio.settings.ui
|
||||
|
||||
import android.os.Bundle
|
||||
import android.view.LayoutInflater
|
||||
import android.view.View
|
||||
import android.view.ViewGroup
|
||||
import androidx.annotation.XmlRes
|
||||
import androidx.appcompat.widget.Toolbar
|
||||
import androidx.core.view.updatePadding
|
||||
import androidx.navigation.fragment.findNavController
|
||||
import androidx.preference.Preference
|
||||
import androidx.preference.PreferenceCategory
|
||||
import androidx.preference.PreferenceFragmentCompat
|
||||
import androidx.preference.children
|
||||
import com.google.android.material.appbar.AppBarLayout
|
||||
import com.google.android.material.transition.MaterialSharedAxis
|
||||
import org.oxycblt.auxio.R
|
||||
import org.oxycblt.auxio.util.logD
|
||||
import org.oxycblt.auxio.util.systemBarInsetsCompat
|
||||
|
||||
abstract class BasePreferenceFragment(@XmlRes private val screen: Int) :
|
||||
PreferenceFragmentCompat() {
|
||||
/**
|
||||
* Called when the UI entry of a given [Preference] needs to be configured.
|
||||
* @param preference The [Preference] to configure.
|
||||
*/
|
||||
open fun onSetupPreference(preference: Preference) {}
|
||||
|
||||
/**
|
||||
* Called when an arbitrary [WrappedDialogPreference] needs to be opened.
|
||||
* @param preference The [WrappedDialogPreference] to open.
|
||||
*/
|
||||
open fun onOpenDialogPreference(preference: WrappedDialogPreference) {}
|
||||
|
||||
override fun onCreate(savedInstanceState: Bundle?) {
|
||||
super.onCreate(savedInstanceState)
|
||||
enterTransition = MaterialSharedAxis(MaterialSharedAxis.X, true)
|
||||
returnTransition = MaterialSharedAxis(MaterialSharedAxis.X, false)
|
||||
exitTransition = MaterialSharedAxis(MaterialSharedAxis.X, true)
|
||||
reenterTransition = MaterialSharedAxis(MaterialSharedAxis.X, false)
|
||||
}
|
||||
|
||||
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
|
||||
super.onViewCreated(view, savedInstanceState)
|
||||
|
||||
view.findViewById<AppBarLayout>(R.id.preferences_appbar).liftOnScrollTargetViewId =
|
||||
androidx.preference.R.id.recycler_view
|
||||
view.findViewById<Toolbar>(R.id.preferences_toolbar).apply {
|
||||
title = preferenceScreen.title
|
||||
setNavigationOnClickListener {
|
||||
val fragmentManager = fragmentManager
|
||||
if (fragmentManager == null || fragmentManager.backStackEntryCount == 0) {
|
||||
findNavController().navigateUp()
|
||||
} else {
|
||||
fragmentManager.popBackStack()
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
preferenceManager.onDisplayPreferenceDialogListener = this
|
||||
preferenceScreen.children.forEach(::setupPreference)
|
||||
|
||||
logD("Fragment created")
|
||||
}
|
||||
|
||||
override fun onCreateRecyclerView(
|
||||
inflater: LayoutInflater,
|
||||
parent: ViewGroup,
|
||||
savedInstanceState: Bundle?
|
||||
) =
|
||||
super.onCreateRecyclerView(inflater, parent, savedInstanceState).apply {
|
||||
clipToPadding = false
|
||||
setOnApplyWindowInsetsListener { _, insets ->
|
||||
updatePadding(bottom = insets.systemBarInsetsCompat.bottom)
|
||||
insets
|
||||
}
|
||||
}
|
||||
|
||||
override fun onCreatePreferences(savedInstanceState: Bundle?, rootKey: String?) {
|
||||
setPreferencesFromResource(screen, rootKey)
|
||||
}
|
||||
|
||||
@Suppress("Deprecation")
|
||||
override fun onDisplayPreferenceDialog(preference: Preference) {
|
||||
when (preference) {
|
||||
is IntListPreference -> {
|
||||
// Copy the built-in preference dialog launching code into our project so
|
||||
// we can automatically use the provided preference class.
|
||||
val dialog = IntListPreferenceDialog.from(preference)
|
||||
dialog.setTargetFragment(this, 0)
|
||||
dialog.show(parentFragmentManager, IntListPreferenceDialog.TAG)
|
||||
}
|
||||
is WrappedDialogPreference -> {
|
||||
// These dialog preferences cannot launch on their own, delegate to
|
||||
// implementations.
|
||||
onOpenDialogPreference(preference)
|
||||
}
|
||||
else -> super.onDisplayPreferenceDialog(preference)
|
||||
}
|
||||
}
|
||||
|
||||
private fun setupPreference(preference: Preference) {
|
||||
if (!preference.isVisible) {
|
||||
// Nothing to do.
|
||||
return
|
||||
}
|
||||
|
||||
if (preference is PreferenceCategory) {
|
||||
preference.children.forEach(::setupPreference)
|
||||
return
|
||||
}
|
||||
|
||||
onSetupPreference(preference)
|
||||
}
|
||||
}
|
|
@ -15,7 +15,7 @@
|
|||
* along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
package org.oxycblt.auxio.settings.prefs
|
||||
package org.oxycblt.auxio.settings.ui
|
||||
|
||||
import android.content.Context
|
||||
import android.content.res.TypedArray
|
|
@ -15,7 +15,7 @@
|
|||
* along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
package org.oxycblt.auxio.settings.prefs
|
||||
package org.oxycblt.auxio.settings.ui
|
||||
|
||||
import android.os.Bundle
|
||||
import androidx.preference.PreferenceDialogFragmentCompat
|
|
@ -0,0 +1,42 @@
|
|||
/*
|
||||
* Copyright (c) 2023 Auxio Project
|
||||
*
|
||||
* 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
|
||||
* the Free Software Foundation, either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
package org.oxycblt.auxio.settings.ui
|
||||
|
||||
import androidx.navigation.fragment.findNavController
|
||||
import androidx.preference.Preference
|
||||
import coil.Coil
|
||||
import org.oxycblt.auxio.R
|
||||
import org.oxycblt.auxio.settings.SettingsFragmentDirections
|
||||
|
||||
class MusicPreferenceFragment : BasePreferenceFragment(R.xml.preferences_music) {
|
||||
override fun onOpenDialogPreference(preference: WrappedDialogPreference) {
|
||||
if (preference.key == getString(R.string.set_key_separators)) {
|
||||
findNavController().navigate(SettingsFragmentDirections.goToSeparatorsDialog())
|
||||
}
|
||||
}
|
||||
|
||||
override fun onSetupPreference(preference: Preference) {
|
||||
if (preference.key == getString(R.string.set_key_cover_mode)) {
|
||||
preference.onPreferenceChangeListener =
|
||||
Preference.OnPreferenceChangeListener { _, _ ->
|
||||
Coil.imageLoader(requireContext()).memoryCache?.clear()
|
||||
true
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,30 @@
|
|||
/*
|
||||
* Copyright (c) 2023 Auxio Project
|
||||
*
|
||||
* 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
|
||||
* the Free Software Foundation, either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
package org.oxycblt.auxio.settings.ui
|
||||
|
||||
import androidx.navigation.fragment.findNavController
|
||||
import org.oxycblt.auxio.R
|
||||
import org.oxycblt.auxio.settings.SettingsFragmentDirections
|
||||
|
||||
class PersonalizePreferenceFragment : BasePreferenceFragment(R.xml.preferences_personalize) {
|
||||
override fun onOpenDialogPreference(preference: WrappedDialogPreference) {
|
||||
if (preference.key == getString(R.string.set_key_home_tabs)) {
|
||||
findNavController().navigate(SettingsFragmentDirections.goToTabDialog())
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,89 @@
|
|||
/*
|
||||
* Copyright (c) 2021 Auxio Project
|
||||
*
|
||||
* 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
|
||||
* the Free Software Foundation, either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
package org.oxycblt.auxio.settings.ui
|
||||
|
||||
import androidx.fragment.app.activityViewModels
|
||||
import androidx.navigation.fragment.findNavController
|
||||
import androidx.preference.Preference
|
||||
import androidx.preference.PreferenceFragmentCompat
|
||||
import org.oxycblt.auxio.R
|
||||
import org.oxycblt.auxio.music.MusicViewModel
|
||||
import org.oxycblt.auxio.playback.PlaybackViewModel
|
||||
import org.oxycblt.auxio.settings.SettingsFragmentDirections
|
||||
import org.oxycblt.auxio.util.androidActivityViewModels
|
||||
import org.oxycblt.auxio.util.showToast
|
||||
|
||||
/**
|
||||
* The [PreferenceFragmentCompat] that displays the root settings list.
|
||||
* @author Alexander Capehart (OxygenCobalt)
|
||||
*/
|
||||
class RootPreferenceFragment : BasePreferenceFragment(R.xml.preferences_root) {
|
||||
private val playbackModel: PlaybackViewModel by androidActivityViewModels()
|
||||
private val musicModel: MusicViewModel by activityViewModels()
|
||||
|
||||
override fun onOpenDialogPreference(preference: WrappedDialogPreference) {
|
||||
if (preference.key == getString(R.string.set_key_music_dirs)) {
|
||||
findNavController().navigate(SettingsFragmentDirections.goToMusicDirsDialog())
|
||||
}
|
||||
}
|
||||
|
||||
override fun onPreferenceTreeClick(preference: Preference): Boolean {
|
||||
// Hook generic preferences to their specified preferences
|
||||
// TODO: These seem like good things to put into a side navigation view, if I choose to
|
||||
// do one.
|
||||
when (preference.key) {
|
||||
getString(R.string.set_key_reindex) -> musicModel.refresh()
|
||||
getString(R.string.set_key_rescan) -> musicModel.rescan()
|
||||
getString(R.string.set_key_save_state) -> {
|
||||
playbackModel.savePlaybackState { saved ->
|
||||
// Use the nullable context, as we could try to show a toast when this
|
||||
// fragment is no longer attached.
|
||||
if (saved) {
|
||||
context?.showToast(R.string.lbl_state_saved)
|
||||
} else {
|
||||
context?.showToast(R.string.err_did_not_save)
|
||||
}
|
||||
}
|
||||
}
|
||||
getString(R.string.set_key_wipe_state) -> {
|
||||
playbackModel.wipePlaybackState { wiped ->
|
||||
if (wiped) {
|
||||
// Use the nullable context, as we could try to show a toast when this
|
||||
// fragment is no longer attached.
|
||||
context?.showToast(R.string.lbl_state_wiped)
|
||||
} else {
|
||||
context?.showToast(R.string.err_did_not_wipe)
|
||||
}
|
||||
}
|
||||
}
|
||||
getString(R.string.set_key_restore_state) ->
|
||||
playbackModel.tryRestorePlaybackState { restored ->
|
||||
if (restored) {
|
||||
// Use the nullable context, as we could try to show a toast when this
|
||||
// fragment is no longer attached.
|
||||
context?.showToast(R.string.lbl_state_restored)
|
||||
} else {
|
||||
context?.showToast(R.string.err_did_not_restore)
|
||||
}
|
||||
}
|
||||
else -> return super.onPreferenceTreeClick(preference)
|
||||
}
|
||||
|
||||
return true
|
||||
}
|
||||
}
|
|
@ -0,0 +1,60 @@
|
|||
/*
|
||||
* Copyright (c) 2023 Auxio Project
|
||||
*
|
||||
* 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
|
||||
* the Free Software Foundation, either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
package org.oxycblt.auxio.settings.ui
|
||||
|
||||
import androidx.appcompat.app.AppCompatDelegate
|
||||
import androidx.navigation.fragment.findNavController
|
||||
import androidx.preference.Preference
|
||||
import org.oxycblt.auxio.R
|
||||
import org.oxycblt.auxio.settings.SettingsFragmentDirections
|
||||
import org.oxycblt.auxio.ui.UISettings
|
||||
import org.oxycblt.auxio.util.isNight
|
||||
|
||||
class UIPreferenceFragment : BasePreferenceFragment(R.xml.preferences_ui) {
|
||||
override fun onOpenDialogPreference(preference: WrappedDialogPreference) {
|
||||
if (preference.key == getString(R.string.set_key_accent)) {
|
||||
findNavController().navigate(SettingsFragmentDirections.goToAccentDialog())
|
||||
}
|
||||
}
|
||||
|
||||
override fun onSetupPreference(preference: Preference) {
|
||||
when (preference.key) {
|
||||
getString(R.string.set_key_theme) -> {
|
||||
preference.onPreferenceChangeListener =
|
||||
Preference.OnPreferenceChangeListener { _, value ->
|
||||
AppCompatDelegate.setDefaultNightMode(value as Int)
|
||||
true
|
||||
}
|
||||
}
|
||||
getString(R.string.set_key_accent) -> {
|
||||
preference.summary = getString(UISettings.from(requireContext()).accent.name)
|
||||
}
|
||||
getString(R.string.set_key_black_theme) -> {
|
||||
preference.onPreferenceChangeListener =
|
||||
Preference.OnPreferenceChangeListener { _, _ ->
|
||||
val activity = requireActivity()
|
||||
if (activity.isNight) {
|
||||
activity.recreate()
|
||||
}
|
||||
|
||||
true
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
|
@ -15,7 +15,7 @@
|
|||
* along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
package org.oxycblt.auxio.settings.prefs
|
||||
package org.oxycblt.auxio.settings.ui
|
||||
|
||||
import android.content.Context
|
||||
import android.util.AttributeSet
|
|
@ -40,8 +40,7 @@ fun <T> unlikelyToBeNull(value: T?) =
|
|||
* @throws IllegalStateException If the data cannot be casted to [T].
|
||||
*/
|
||||
inline fun <reified T> requireIs(data: Any?): T {
|
||||
requireNotNull(data) { "Unexpected datatype: null" }
|
||||
check(data is T) { "Unexpected datatype: ${data::class.simpleName}" }
|
||||
check(data is T) { "Unexpected datatype: ${data?.let { it::class.simpleName }}" }
|
||||
return data
|
||||
}
|
||||
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
<vector xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:width="24dp"
|
||||
android:height="24dp"
|
||||
android:tint="?attr/colorPrimary"
|
||||
android:tint="?attr/colorControlNormal"
|
||||
android:viewportWidth="24"
|
||||
android:viewportHeight="24">
|
||||
<path
|
||||
|
|
11
app/src/main/res/drawable/ic_accent_dynamic_24.xml
Normal file
11
app/src/main/res/drawable/ic_accent_dynamic_24.xml
Normal file
|
@ -0,0 +1,11 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<vector xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:width="24dp"
|
||||
android:height="24dp"
|
||||
android:tint="?attr/colorPrimary"
|
||||
android:viewportWidth="24"
|
||||
android:viewportHeight="24">
|
||||
<path
|
||||
android:fillColor="@android:color/white"
|
||||
android:pathData="M12,22Q9.95,22 8.125,21.212Q6.3,20.425 4.938,19.062Q3.575,17.7 2.788,15.875Q2,14.05 2,12Q2,9.925 2.812,8.1Q3.625,6.275 5.013,4.925Q6.4,3.575 8.25,2.787Q10.1,2 12.2,2Q14.2,2 15.975,2.688Q17.75,3.375 19.087,4.588Q20.425,5.8 21.212,7.463Q22,9.125 22,11.05Q22,13.925 20.25,15.462Q18.5,17 16,17H14.15Q13.925,17 13.838,17.125Q13.75,17.25 13.75,17.4Q13.75,17.7 14.125,18.262Q14.5,18.825 14.5,19.55Q14.5,20.8 13.812,21.4Q13.125,22 12,22ZM12,12Q12,12 12,12Q12,12 12,12Q12,12 12,12Q12,12 12,12Q12,12 12,12Q12,12 12,12Q12,12 12,12Q12,12 12,12Q12,12 12,12Q12,12 12,12Q12,12 12,12Q12,12 12,12Q12,12 12,12Q12,12 12,12ZM6.5,13Q7.15,13 7.575,12.575Q8,12.15 8,11.5Q8,10.85 7.575,10.425Q7.15,10 6.5,10Q5.85,10 5.425,10.425Q5,10.85 5,11.5Q5,12.15 5.425,12.575Q5.85,13 6.5,13ZM9.5,9Q10.15,9 10.575,8.575Q11,8.15 11,7.5Q11,6.85 10.575,6.425Q10.15,6 9.5,6Q8.85,6 8.425,6.425Q8,6.85 8,7.5Q8,8.15 8.425,8.575Q8.85,9 9.5,9ZM14.5,9Q15.15,9 15.575,8.575Q16,8.15 16,7.5Q16,6.85 15.575,6.425Q15.15,6 14.5,6Q13.85,6 13.425,6.425Q13,6.85 13,7.5Q13,8.15 13.425,8.575Q13.85,9 14.5,9ZM17.5,13Q18.15,13 18.575,12.575Q19,12.15 19,11.5Q19,10.85 18.575,10.425Q18.15,10 17.5,10Q16.85,10 16.425,10.425Q16,10.85 16,11.5Q16,12.15 16.425,12.575Q16.85,13 17.5,13ZM12,20Q12.225,20 12.363,19.875Q12.5,19.75 12.5,19.55Q12.5,19.2 12.125,18.725Q11.75,18.25 11.75,17.3Q11.75,16.25 12.475,15.625Q13.2,15 14.25,15H16Q17.65,15 18.825,14.037Q20,13.075 20,11.05Q20,8.025 17.688,6.012Q15.375,4 12.2,4Q8.8,4 6.4,6.325Q4,8.65 4,12Q4,15.325 6.338,17.663Q8.675,20 12,20Z" />
|
||||
</vector>
|
32
app/src/main/res/layout/fragment_preferences.xml
Normal file
32
app/src/main/res/layout/fragment_preferences.xml
Normal file
|
@ -0,0 +1,32 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<androidx.coordinatorlayout.widget.CoordinatorLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:app="http://schemas.android.com/apk/res-auto"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:background="?attr/colorSurface"
|
||||
android:orientation="vertical"
|
||||
android:transitionGroup="true">
|
||||
|
||||
<org.oxycblt.auxio.ui.CoordinatorAppBarLayout
|
||||
android:id="@+id/preferences_appbar"
|
||||
style="@style/Widget.Auxio.AppBarLayout"
|
||||
android:clickable="true"
|
||||
android:focusable="true"
|
||||
app:liftOnScroll="true">
|
||||
|
||||
<com.google.android.material.appbar.MaterialToolbar
|
||||
android:id="@+id/preferences_toolbar"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
app:navigationIcon="@drawable/ic_back_24"
|
||||
app:title="@string/set_root_title" />
|
||||
|
||||
</org.oxycblt.auxio.ui.CoordinatorAppBarLayout>
|
||||
|
||||
<FrameLayout
|
||||
android:id="@android:id/list_container"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
app:layout_behavior="com.google.android.material.appbar.AppBarLayout$ScrollingViewBehavior" />
|
||||
|
||||
</androidx.coordinatorlayout.widget.CoordinatorLayout>
|
|
@ -8,25 +8,9 @@
|
|||
android:orientation="vertical"
|
||||
android:transitionGroup="true">
|
||||
|
||||
<org.oxycblt.auxio.ui.CoordinatorAppBarLayout
|
||||
android:id="@+id/settings_appbar"
|
||||
style="@style/Widget.Auxio.AppBarLayout"
|
||||
android:clickable="true"
|
||||
android:focusable="true"
|
||||
app:liftOnScroll="true">
|
||||
|
||||
<com.google.android.material.appbar.MaterialToolbar
|
||||
android:id="@+id/settings_toolbar"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
app:navigationIcon="@drawable/ic_back_24"
|
||||
app:title="@string/set_title" />
|
||||
|
||||
</org.oxycblt.auxio.ui.CoordinatorAppBarLayout>
|
||||
|
||||
<androidx.fragment.app.FragmentContainerView
|
||||
android:id="@+id/settings_list_fragment"
|
||||
android:name="org.oxycblt.auxio.settings.prefs.PreferenceFragment"
|
||||
android:name="org.oxycblt.auxio.settings.ui.RootPreferenceFragment"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
app:layout_behavior="com.google.android.material.appbar.AppBarLayout$ScrollingViewBehavior"
|
||||
|
|
|
@ -47,7 +47,7 @@
|
|||
|
||||
<item
|
||||
android:id="@+id/action_settings"
|
||||
android:title="@string/set_title"
|
||||
android:title="@string/set_root_title"
|
||||
app:showAsAction="never" />
|
||||
|
||||
<item
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
xmlns:app="http://schemas.android.com/apk/res-auto">
|
||||
<item
|
||||
android:id="@+id/action_open_equalizer"
|
||||
android:icon="@drawable/ic_equalizer"
|
||||
android:icon="@drawable/ic_config_24"
|
||||
android:title="@string/lbl_equalizer"
|
||||
app:showAsAction="ifRoom" />
|
||||
<item
|
||||
|
|
|
@ -42,7 +42,7 @@
|
|||
<string name="lbl_licenses">التراخيص</string>
|
||||
<string name="lng_author">تمت برمجة التطبيق من قبل OxygenCobalt</string>
|
||||
<!-- Settings namespace | Settings-related labels -->
|
||||
<string name="set_title">الإعدادات</string>
|
||||
<string name="set_root_title">الإعدادات</string>
|
||||
<string name="set_ui">المظهر</string>
|
||||
<string name="set_theme">السمة</string>
|
||||
<string name="set_theme_auto">تلقائي</string>
|
||||
|
@ -58,11 +58,11 @@
|
|||
<string name="set_round_mode_desc">جعل اغلفة الابومات ذات زوايا مدورة</string>
|
||||
<string name="set_notif_action">استخدام نشاط بديل للإشعار</string>
|
||||
<string name="set_audio">صوتيات</string>
|
||||
<string name="set_replay_gain">صخب الصوت</string>
|
||||
<string name="set_replay_gain_track">تفضيل المقطع</string>
|
||||
<string name="set_replay_gain_album">تفضيل الالبوم</string>
|
||||
<string name="set_replay_gain_dynamic">ديناميكي</string>
|
||||
<string name="set_behavior">سلوك</string>
|
||||
<string name="set_replay_gain_mode">صخب الصوت</string>
|
||||
<string name="set_replay_gain_mode_track">تفضيل المقطع</string>
|
||||
<string name="set_replay_gain_mode_album">تفضيل الالبوم</string>
|
||||
<string name="set_replay_gain_mode_dynamic">ديناميكي</string>
|
||||
<string name="set_personalize">سلوك</string>
|
||||
<string name="set_library_song_playback_mode">عند اختيار اغنية</string>
|
||||
<string name="set_keep_shuffle">تذكر الخلط</string>
|
||||
<string name="set_keep_shuffle_desc">إبقاء وضع الخلط عند تشغيل اغنية جديدة</string>
|
||||
|
|
|
@ -52,7 +52,7 @@
|
|||
<string name="lng_author">Vytvořil Alexander Capehart</string>
|
||||
<string name="lbl_library_counts">Statistiky knihovny</string>
|
||||
<!-- Settings namespace | Settings-related labels -->
|
||||
<string name="set_title">Nastavení</string>
|
||||
<string name="set_root_title">Nastavení</string>
|
||||
<string name="set_ui">Vzhled</string>
|
||||
<string name="set_theme">Motiv</string>
|
||||
<string name="set_theme_auto">Automatické</string>
|
||||
|
@ -70,16 +70,16 @@
|
|||
<string name="set_audio">Zvuk</string>
|
||||
<string name="set_headset_autoplay">Automatické přehrávání se sluchátky</string>
|
||||
<string name="set_headset_autoplay_desc">Při připojení sluchátek vždy spustit přehrávání (nemusí fungovat na všech zařízeních)</string>
|
||||
<string name="set_replay_gain">Strategie ReplayGain</string>
|
||||
<string name="set_replay_gain_track">Preferovat stopu</string>
|
||||
<string name="set_replay_gain_album">Preferovat album</string>
|
||||
<string name="set_replay_gain_dynamic">Preferovat album, pokud se právě přehrává</string>
|
||||
<string name="set_replay_gain_mode">Strategie ReplayGain</string>
|
||||
<string name="set_replay_gain_mode_track">Preferovat stopu</string>
|
||||
<string name="set_replay_gain_mode_album">Preferovat album</string>
|
||||
<string name="set_replay_gain_mode_dynamic">Preferovat album, pokud se právě přehrává</string>
|
||||
<string name="set_pre_amp">Předzesilovač ReplayGain</string>
|
||||
<string name="set_pre_amp_desc">Předzesilovač bude použit na existující přizpůsobení při přehrávání</string>
|
||||
<string name="set_pre_amp_with">Přizpůsobení se štítky</string>
|
||||
<string name="set_pre_amp_without">Přizpůsobení bez štítků</string>
|
||||
<string name="set_pre_amp_warning">Varování: Změna předzesilovače na vysokou kladnou hodnotu může u některých zvukových stop vést k příliš vysokým hlasitostem.</string>
|
||||
<string name="set_behavior">Chování</string>
|
||||
<string name="set_personalize">Chování</string>
|
||||
<string name="set_library_song_playback_mode">Při přehrávání z knihovny</string>
|
||||
<string name="set_keep_shuffle">Zapamatovat si náhodné přehrávání</string>
|
||||
<string name="set_keep_shuffle_desc">Ponechat náhodné přehrávání při přehrávání nové skladby</string>
|
||||
|
@ -229,8 +229,8 @@
|
|||
<string name="desc_queue_bar">Otevřít frontu</string>
|
||||
<string name="lbl_genre">Žánr</string>
|
||||
<string name="set_bar_action">Vlastní akce lišty přehrávání</string>
|
||||
<string name="set_bar_action_next">Přeskočit na další</string>
|
||||
<string name="set_bar_action_repeat">Režim opakování</string>
|
||||
<string name="set_action_mode_next">Přeskočit na další</string>
|
||||
<string name="set_action_mode_repeat">Režim opakování</string>
|
||||
<string name="lbl_equalizer">Ekvalizér</string>
|
||||
<string name="desc_exit">Zastavit přehrávání</string>
|
||||
<string name="set_separators_and">Ampersand (&)</string>
|
||||
|
|
|
@ -34,7 +34,7 @@
|
|||
<string name="lbl_licenses">Lizenzen</string>
|
||||
<string name="lng_author">Entwickelt von Alexander Capehart</string>
|
||||
<!-- Settings namespace | Settings-related labels -->
|
||||
<string name="set_title">Einstellungen</string>
|
||||
<string name="set_root_title">Einstellungen</string>
|
||||
<string name="set_ui">Aussehen</string>
|
||||
<string name="set_theme">Farbschema</string>
|
||||
<string name="set_theme_auto">Automatisch</string>
|
||||
|
@ -48,14 +48,14 @@
|
|||
<string name="set_audio">Audio</string>
|
||||
<string name="set_headset_autoplay">Kopfhörer: automatische Wiedergabe</string>
|
||||
<string name="set_headset_autoplay_desc">Beginne die Wiedergabe immer, wenn Kopfhörer verbunden sind (funktioniert nicht auf allen Geräten)</string>
|
||||
<string name="set_replay_gain">ReplayGain-Strategie</string>
|
||||
<string name="set_replay_gain_mode">ReplayGain-Strategie</string>
|
||||
<string name="set_pre_amp">ReplayGain-Prälautverstärkung</string>
|
||||
<string name="set_pre_amp_desc">Während der Musikwiedergabe, trifft die Prälautverstärkung dem aktuellem Abgleich zu</string>
|
||||
<string name="set_pre_amp_with">Abgleich mit Metadaten</string>
|
||||
<string name="set_pre_amp_without">Abgleich ohne Metadaten</string>
|
||||
<string name="set_replay_gain_track">Titel bevorzugen</string>
|
||||
<string name="set_replay_gain_album">Album bevorzugen</string>
|
||||
<string name="set_behavior">Verhalten</string>
|
||||
<string name="set_replay_gain_mode_track">Titel bevorzugen</string>
|
||||
<string name="set_replay_gain_mode_album">Album bevorzugen</string>
|
||||
<string name="set_personalize">Verhalten</string>
|
||||
<string name="set_library_song_playback_mode">Wenn ein Lied aus der Bibliothek abgespielt wird</string>
|
||||
<string name="set_keep_shuffle">Zufällig-Einstellung merken</string>
|
||||
<string name="set_keep_shuffle_desc">Zufällig anlassen, wenn ein neues Lied abgespielt wird</string>
|
||||
|
@ -142,7 +142,7 @@
|
|||
<string name="lbl_sort_track">Titel</string>
|
||||
<string name="lbl_ok">OK</string>
|
||||
<string name="lbl_library_counts">Bibliotheksstatistiken</string>
|
||||
<string name="set_replay_gain_dynamic">Album bevorzugen, wenn eines abgespielt wird</string>
|
||||
<string name="set_replay_gain_mode_dynamic">Album bevorzugen, wenn eines abgespielt wird</string>
|
||||
<string name="clr_dynamic">Dynamische Farbe</string>
|
||||
<string name="fmt_disc_no">Schallplatte %d</string>
|
||||
<string name="fmt_db_pos">+%.1f dB</string>
|
||||
|
@ -222,8 +222,8 @@
|
|||
<string name="lbl_genre">Genre</string>
|
||||
<string name="lbl_equalizer">Equalizer</string>
|
||||
<string name="set_bar_action">Angepasste Wiedergabeaktionstaste</string>
|
||||
<string name="set_bar_action_next">Zum nächsten Song gehen</string>
|
||||
<string name="set_bar_action_repeat">Wiederholungsmodus</string>
|
||||
<string name="set_action_mode_next">Zum nächsten Song gehen</string>
|
||||
<string name="set_action_mode_repeat">Wiederholungsmodus</string>
|
||||
<string name="desc_exit">Wiedergabe anhalten</string>
|
||||
<string name="lbl_compilation_live">Live-Kompilation</string>
|
||||
<string name="lbl_compilation_remix">Remix-Kompilation</string>
|
||||
|
|
|
@ -26,7 +26,7 @@
|
|||
<string name="lbl_code">Πηγαίος κώδικας</string>
|
||||
<string name="lbl_licenses">Άδειες</string>
|
||||
<!-- Settings namespace | Settings-related labels -->
|
||||
<string name="set_title">Ρυθμίσεις</string>
|
||||
<string name="set_root_title">Ρυθμίσεις</string>
|
||||
<string name="set_ui">Εμφάνιση</string>
|
||||
<string name="set_theme">Θέμα</string>
|
||||
<string name="set_theme_auto">Αυτόματο</string>
|
||||
|
@ -34,7 +34,7 @@
|
|||
<string name="set_theme_night">Σκοτεινό</string>
|
||||
<string name="set_accent">Χρώματα</string>
|
||||
<string name="set_audio">Ήχος</string>
|
||||
<string name="set_behavior">Συμπεριφορά</string>
|
||||
<string name="set_personalize">Συμπεριφορά</string>
|
||||
<!-- Description Namespace | Accessibility Strings -->
|
||||
<string name="desc_track_number">Κομμάτι %d</string>
|
||||
<string name="desc_play_pause">Αναπαραγωγή/παύση</string>
|
||||
|
|
|
@ -42,7 +42,7 @@
|
|||
<string name="lbl_licenses">Licencias</string>
|
||||
<string name="lng_author">Desarrollado por Alexander Capehart</string>
|
||||
<!-- Settings namespace | Settings-related labels -->
|
||||
<string name="set_title">Ajustes</string>
|
||||
<string name="set_root_title">Ajustes</string>
|
||||
<string name="set_ui">Apariencia</string>
|
||||
<string name="set_theme">Tema</string>
|
||||
<string name="set_theme_auto">Automático</string>
|
||||
|
@ -58,11 +58,11 @@
|
|||
<string name="set_round_mode_desc">Habilite las esquinas redondeadas en los elementos adicionales de la interfaz del usuario (requiere que las portadas de los álbumes estén redondeadas)</string>
|
||||
<string name="set_notif_action">Usar acciones de notificación alternativas</string>
|
||||
<string name="set_audio">Sonido</string>
|
||||
<string name="set_replay_gain">Estrategia de la ganancia de la repetición</string>
|
||||
<string name="set_replay_gain_track">Por pista</string>
|
||||
<string name="set_replay_gain_album">Por álbum</string>
|
||||
<string name="set_replay_gain_dynamic">Preferir el álbum si se está en reproducción</string>
|
||||
<string name="set_behavior">Comportamiento</string>
|
||||
<string name="set_replay_gain_mode">Estrategia de la ganancia de la repetición</string>
|
||||
<string name="set_replay_gain_mode_track">Por pista</string>
|
||||
<string name="set_replay_gain_mode_album">Por álbum</string>
|
||||
<string name="set_replay_gain_mode_dynamic">Preferir el álbum si se está en reproducción</string>
|
||||
<string name="set_personalize">Comportamiento</string>
|
||||
<string name="set_library_song_playback_mode">Cuando se está reproduciendo de la biblioteca</string>
|
||||
<string name="set_keep_shuffle">Recordar mezcla</string>
|
||||
<string name="set_keep_shuffle_desc">Mantener mezcla cuando se reproduce una nueva canción</string>
|
||||
|
@ -237,7 +237,7 @@
|
|||
<string name="lbl_equalizer">Ecualizador</string>
|
||||
<string name="set_cover_mode">Portadas de álbumes</string>
|
||||
<string name="set_cover_mode_off">Apagado</string>
|
||||
<string name="set_bar_action_repeat">Modo de repetición</string>
|
||||
<string name="set_action_mode_repeat">Modo de repetición</string>
|
||||
<string name="set_separators_plus">Más (+)</string>
|
||||
<string name="set_separators_and">Y (&)</string>
|
||||
<string name="desc_exit">Detener la reproducción</string>
|
||||
|
@ -246,7 +246,7 @@
|
|||
<string name="set_cover_mode_quality">Alta calidad</string>
|
||||
<string name="set_cover_mode_media_store">Rápido</string>
|
||||
<string name="set_bar_action">Acción personalizada de la barra de reproducción</string>
|
||||
<string name="set_bar_action_next">Saltar al siguiente</string>
|
||||
<string name="set_action_mode_next">Saltar al siguiente</string>
|
||||
<string name="set_hide_collaborators_desc">Mostrar solo artistas que estén acreditados directamente en un álbum (funciona mejor en bibliotecas bien etiquetadas)</string>
|
||||
<string name="set_hide_collaborators">Ocultar colaboradores</string>
|
||||
<plurals name="fmt_artist_count">
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<resources>
|
||||
<string name="set_replay_gain_album">Naisin ang album</string>
|
||||
<string name="set_replay_gain_mode_album">Naisin ang album</string>
|
||||
<string name="lbl_retry">Subukan muli</string>
|
||||
<string name="lng_indexing">Nilo-load ang iyong music library…</string>
|
||||
<string name="lng_observing">Tinitignan ang iyong music library para sa mga pagbabago…</string>
|
||||
|
@ -62,7 +62,7 @@
|
|||
<string name="lbl_licenses">Mga Lisensya</string>
|
||||
<string name="lng_author">Binuo ni OxygenCobalt</string>
|
||||
<string name="lbl_library_counts">Istatistika ng library</string>
|
||||
<string name="set_title">Mga Setting</string>
|
||||
<string name="set_root_title">Mga Setting</string>
|
||||
<string name="set_ui">Hitsura</string>
|
||||
<string name="set_theme_auto">Kusa</string>
|
||||
<string name="set_theme_day">Maliwanag</string>
|
||||
|
@ -78,10 +78,10 @@
|
|||
<string name="set_headset_autoplay">Kusang pagtugtog ng headset</string>
|
||||
<string name="set_headset_autoplay_desc">Laging simulan ang pagtugtog tuwing pagkonekta ng headset (maaaring \'di gumana sa lahat ng device)</string>
|
||||
<string name="set_notif_action">Naisin ang alternatibong aksyong patalastas</string>
|
||||
<string name="set_replay_gain_dynamic">Naisin ang album kung may isang tumutugtog</string>
|
||||
<string name="set_replay_gain_mode_dynamic">Naisin ang album kung may isang tumutugtog</string>
|
||||
<string name="set_pre_amp">ReplayGain pre-amp</string>
|
||||
<string name="set_pre_amp_with">Ayos gamit ang mga tag</string>
|
||||
<string name="set_behavior">Ugalian</string>
|
||||
<string name="set_personalize">Ugalian</string>
|
||||
<string name="lbl_songs">Mga Kanta</string>
|
||||
<string name="info_app_desc">Isang magaan at makatwirang manunugtog para sa android.</string>
|
||||
<string name="lbl_ep_remix">Remix EP</string>
|
||||
|
@ -97,7 +97,7 @@
|
|||
<string name="set_theme">Tema</string>
|
||||
<string name="set_lib_tabs_desc">Ibahin ang pagkakita at ayos ng mga library tab</string>
|
||||
<string name="set_pre_amp_desc">Inilalapat ang pre-amp sa kasalukuyang ayos habang ito\'y tumutugtog</string>
|
||||
<string name="set_replay_gain_track">Naisin ang track</string>
|
||||
<string name="set_replay_gain_mode_track">Naisin ang track</string>
|
||||
<string name="set_pre_amp_warning">Babala: Ang pag-iba ng pre-amp sa mataas na positibong ayos ay maaaring magdulot ng karurukan sa ilang mga audio track.</string>
|
||||
<string name="set_pre_amp_without">Ayos na \'di gamit ang mga tag</string>
|
||||
</resources>
|
|
@ -28,7 +28,7 @@
|
|||
<string name="lbl_licenses">Licences</string>
|
||||
<string name="lng_author">Développé par OxygenCobalt</string>
|
||||
<!-- Settings namespace | Settings-related labels -->
|
||||
<string name="set_title">Paramètres</string>
|
||||
<string name="set_root_title">Paramètres</string>
|
||||
<string name="set_ui">Apparence</string>
|
||||
<string name="set_theme">Thème</string>
|
||||
<string name="set_theme_auto">Automatique</string>
|
||||
|
@ -36,7 +36,7 @@
|
|||
<string name="set_theme_night">Sombre</string>
|
||||
<string name="set_accent">Couleur d\'accentuation</string>
|
||||
<string name="set_audio">Audio</string>
|
||||
<string name="set_behavior">Comportement</string>
|
||||
<string name="set_personalize">Comportement</string>
|
||||
<!-- Error Namespace | Error Labels -->
|
||||
<string name="err_no_music">Pas de musique trouvée</string>
|
||||
<!-- Description Namespace | Accessibility Strings -->
|
||||
|
|
|
@ -22,14 +22,14 @@
|
|||
<string name="lbl_code">GitHub में देखें</string>
|
||||
<string name="lbl_licenses">लाइसेंस</string>
|
||||
<!-- Settings namespace | Settings-related labels -->
|
||||
<string name="set_title">सेटिंग्स</string>
|
||||
<string name="set_root_title">सेटिंग्स</string>
|
||||
<string name="set_theme">थीम</string>
|
||||
<string name="set_theme_auto">सफ़ेद</string>
|
||||
<string name="set_theme_day">गहरा</string>
|
||||
<string name="set_theme_night">स्वचलित</string>
|
||||
<string name="set_accent">एक्सेंट</string>
|
||||
<string name="set_audio">ऑडियो</string>
|
||||
<string name="set_behavior">चाल चलन</string>
|
||||
<string name="set_personalize">चाल चलन</string>
|
||||
<!-- Error Namespace | Error Labels -->
|
||||
<string name="err_no_music">कोई संगीत नहीं मिला</string>
|
||||
<!-- Description Namespace | Accessibility Strings -->
|
||||
|
|
|
@ -73,10 +73,10 @@
|
|||
<string name="set_audio">Zvuk</string>
|
||||
<string name="set_headset_autoplay">Slušalice: odmah reproduciraj</string>
|
||||
<string name="set_headset_autoplay_desc">Uvijek pokreni reprodukciju kada su slušalice povezane (možda neće raditi na svim uređajima)</string>
|
||||
<string name="set_replay_gain">Strategija pojačanja</string>
|
||||
<string name="set_replay_gain_track">Preferiraj zvučni zapis</string>
|
||||
<string name="set_replay_gain_album">Preferiraj album</string>
|
||||
<string name="set_replay_gain_dynamic">Ako se reproducira album, preferiraj album</string>
|
||||
<string name="set_replay_gain_mode">Strategija pojačanja</string>
|
||||
<string name="set_replay_gain_mode_track">Preferiraj zvučni zapis</string>
|
||||
<string name="set_replay_gain_mode_album">Preferiraj album</string>
|
||||
<string name="set_replay_gain_mode_dynamic">Ako se reproducira album, preferiraj album</string>
|
||||
<string name="set_pre_amp">Pretpojačalo pojačanja</string>
|
||||
<string name="set_pre_amp_desc">Pretpojačalo je tijekom reprodukcije primijenjeno postojećoj prilagodbi</string>
|
||||
<string name="set_pre_amp_with">Prilagođavanje s oznakama</string>
|
||||
|
@ -185,12 +185,12 @@
|
|||
<string name="lbl_go_artist">Idi na izvođača</string>
|
||||
<string name="lbl_go_album">Idi na album</string>
|
||||
<string name="set_keep_shuffle_desc">Ostavi miješanje omogućeno kada se druga pjesma reproducira</string>
|
||||
<string name="set_title">Postavke</string>
|
||||
<string name="set_root_title">Postavke</string>
|
||||
<string name="set_theme">Tema</string>
|
||||
<string name="set_theme_auto">Automatski</string>
|
||||
<string name="set_notif_action">Koristi alternativnu radnju za obavijest</string>
|
||||
<string name="set_round_mode_desc">Omogući zaobljene rubove na dodatnim elementima korisničkog sučelja (zahtijeva zaobljene omote albuma)</string>
|
||||
<string name="set_behavior">Ponašanje</string>
|
||||
<string name="set_personalize">Ponašanje</string>
|
||||
<string name="set_rewind_prev">Premotaj prije preskakanja natrag</string>
|
||||
<string name="set_save_desc">Spremi trenutno stanje reprodukcije</string>
|
||||
<string name="desc_skip_next">Preskoči na sljedeću pjesmu</string>
|
||||
|
@ -228,8 +228,8 @@
|
|||
<string name="set_separators_semicolon">Točka-zarez (;)</string>
|
||||
<string name="set_bar_action">Prilagođena radnja trake reprodukcije</string>
|
||||
<string name="lbl_equalizer">Ekvilajzer</string>
|
||||
<string name="set_bar_action_next">Prijeđi na sljedeću</string>
|
||||
<string name="set_bar_action_repeat">Način ponavljanja</string>
|
||||
<string name="set_action_mode_next">Prijeđi na sljedeću</string>
|
||||
<string name="set_action_mode_repeat">Način ponavljanja</string>
|
||||
<string name="set_hide_collaborators">Sakrij suradnike</string>
|
||||
<string name="set_cover_mode_off">Isključeno</string>
|
||||
<string name="set_exclude_non_music">Isključi sve što nije glazba</string>
|
||||
|
|
|
@ -27,7 +27,7 @@
|
|||
<string name="lbl_code">Megtekintés GitHubon</string>
|
||||
<string name="lbl_licenses">Engedélyek</string>
|
||||
<!-- Settings namespace | Settings-related labels -->
|
||||
<string name="set_title">Beállítások</string>
|
||||
<string name="set_root_title">Beállítások</string>
|
||||
<string name="set_ui">Megjelenés</string>
|
||||
<string name="set_theme">Téma</string>
|
||||
<string name="set_theme_auto">Automatikus</string>
|
||||
|
@ -35,7 +35,7 @@
|
|||
<string name="set_theme_night">Sötét</string>
|
||||
<string name="set_accent">Kiemelés</string>
|
||||
<string name="set_audio">Hang</string>
|
||||
<string name="set_behavior">Működés</string>
|
||||
<string name="set_personalize">Működés</string>
|
||||
<!-- Error Namespace | Error Labels -->
|
||||
<string name="err_no_music">Nem található zene</string>
|
||||
<!-- Hint Namespace | EditText Hints -->
|
||||
|
|
|
@ -27,7 +27,7 @@
|
|||
<string name="lbl_code">Lihat di GitHub</string>
|
||||
<string name="lbl_licenses">Lisensi</string>
|
||||
<!-- Settings namespace | Settings-related labels -->
|
||||
<string name="set_title">Setelan</string>
|
||||
<string name="set_root_title">Setelan</string>
|
||||
<string name="set_ui">Tampilan</string>
|
||||
<string name="set_theme">Tema</string>
|
||||
<string name="set_theme_auto">Otomatis</string>
|
||||
|
@ -35,7 +35,7 @@
|
|||
<string name="set_theme_night">Gelap</string>
|
||||
<string name="set_accent">Aksen</string>
|
||||
<string name="set_audio">Audio</string>
|
||||
<string name="set_behavior">Perilaku</string>
|
||||
<string name="set_personalize">Perilaku</string>
|
||||
<string name="set_keep_shuffle">Ingat putar acak</string>
|
||||
<!-- Error Namespace | Error Labels -->
|
||||
<string name="err_no_music">Musik tidak ditemukan</string>
|
||||
|
@ -64,7 +64,7 @@
|
|||
<string name="set_lib_tabs_desc">Mengubah visibilitas dan urutan tab pustaka</string>
|
||||
<string name="set_headset_autoplay">Putar otomatis headset</string>
|
||||
<string name="set_headset_autoplay_desc">Selalu mulai bermain ketika headset tersambung (mungkin tidak berfungsi pada semua perangkat)</string>
|
||||
<string name="set_replay_gain">ReplayGain</string>
|
||||
<string name="set_replay_gain_mode">ReplayGain</string>
|
||||
<string name="lbl_relative_path">Jalur induk</string>
|
||||
<string name="lbl_size">Ukuran</string>
|
||||
<string name="lbl_sample_rate">Tingkat sampel</string>
|
||||
|
@ -87,8 +87,8 @@
|
|||
<string name="lbl_shuffle_shortcut_short">Acak</string>
|
||||
<string name="lbl_shuffle_shortcut_long">Acak Semua</string>
|
||||
<string name="lbl_state_saved">Status disimpan</string>
|
||||
<string name="set_replay_gain_track">Lebih suka trek</string>
|
||||
<string name="set_replay_gain_album">Lebih suka album</string>
|
||||
<string name="set_replay_gain_mode_track">Lebih suka trek</string>
|
||||
<string name="set_replay_gain_mode_album">Lebih suka album</string>
|
||||
<string name="set_pre_amp">Pra-amp ReplayGain</string>
|
||||
<string name="set_pre_amp_desc">Pre-amp diterapkan ke penyesuaian yang ada selama pemutaran</string>
|
||||
<string name="set_pre_amp_with">Penyesuaian dengan tag</string>
|
||||
|
@ -132,7 +132,7 @@
|
|||
<string name="fmt_lib_song_count">Lagu yang dimuat: %d</string>
|
||||
<string name="fmt_lib_album_count">Album yang dimuat: %d</string>
|
||||
<string name="fmt_lib_artist_count">Artis yang dimuat: %d</string>
|
||||
<string name="set_replay_gain_dynamic">Lebih suka album jika ada yang diputar</string>
|
||||
<string name="set_replay_gain_mode_dynamic">Lebih suka album jika ada yang diputar</string>
|
||||
<string name="set_library_song_playback_mode">Saat bermain dari perpustakaan</string>
|
||||
<string name="set_playback_mode_album">Putar dari album</string>
|
||||
<string name="desc_change_repeat">Ubah mode pengulangan</string>
|
||||
|
|
|
@ -43,7 +43,7 @@
|
|||
<string name="lng_author">Sviluppato da Alexander Capehart</string>
|
||||
<string name="lbl_library_counts">Statistiche libreria</string>
|
||||
<!-- Settings namespace | Settings-related labels -->
|
||||
<string name="set_title">Opzioni</string>
|
||||
<string name="set_root_title">Opzioni</string>
|
||||
<string name="set_ui">Aspetto</string>
|
||||
<string name="set_theme">Tema</string>
|
||||
<string name="set_theme_auto">Automatico</string>
|
||||
|
@ -61,11 +61,11 @@
|
|||
<string name="set_audio">Audio</string>
|
||||
<string name="set_headset_autoplay">Autoplay cuffie</string>
|
||||
<string name="set_headset_autoplay_desc">Comincia la riproduzione ogni volta che le cuffie sono inserite (potrebbe non funzionare su tutti i dispositivi)</string>
|
||||
<string name="set_replay_gain">Strategia ReplayGain</string>
|
||||
<string name="set_replay_gain_track">Preferisci traccia</string>
|
||||
<string name="set_replay_gain_album">Preferisci disco</string>
|
||||
<string name="set_replay_gain_dynamic">Preferisci l\'album se in riproduzione</string>
|
||||
<string name="set_behavior">Comportamento</string>
|
||||
<string name="set_replay_gain_mode">Strategia ReplayGain</string>
|
||||
<string name="set_replay_gain_mode_track">Preferisci traccia</string>
|
||||
<string name="set_replay_gain_mode_album">Preferisci disco</string>
|
||||
<string name="set_replay_gain_mode_dynamic">Preferisci l\'album se in riproduzione</string>
|
||||
<string name="set_personalize">Comportamento</string>
|
||||
<string name="set_library_song_playback_mode">Quando in riproduzione dalla libreria</string>
|
||||
<string name="set_keep_shuffle">Mantieni mescolamento</string>
|
||||
<string name="set_keep_shuffle_desc">Mantiene il mescolamento anche se una nuova canzone è selezionata</string>
|
||||
|
@ -224,8 +224,8 @@
|
|||
<string name="lbl_genre">Genere</string>
|
||||
<string name="lbl_state_wiped">Stato ripristinato</string>
|
||||
<string name="set_bar_action">Azione personalizzata barra di riproduzione</string>
|
||||
<string name="set_bar_action_next">Vai alla prossima</string>
|
||||
<string name="set_bar_action_repeat">Modalità ripetizione</string>
|
||||
<string name="set_action_mode_next">Vai alla prossima</string>
|
||||
<string name="set_action_mode_repeat">Modalità ripetizione</string>
|
||||
<string name="desc_exit">Interrompi riproduzione</string>
|
||||
<string name="set_hide_collaborators">Nascondi collaboratori</string>
|
||||
<string name="set_hide_collaborators_desc">Mostra solo artisti che sono direttamente accreditati in un album (funziona meglio su librerie ben taggate)</string>
|
||||
|
|
|
@ -50,7 +50,7 @@
|
|||
<string name="lng_author">Alexander Capehart가 개발</string>
|
||||
<string name="lbl_library_counts">라이브러리 통계</string>
|
||||
<!-- Settings namespace | Settings-related labels -->
|
||||
<string name="set_title">설정</string>
|
||||
<string name="set_root_title">설정</string>
|
||||
<string name="set_ui">모양</string>
|
||||
<string name="set_theme">테마</string>
|
||||
<string name="set_theme_auto">자동</string>
|
||||
|
@ -68,16 +68,16 @@
|
|||
<string name="set_audio">소리</string>
|
||||
<string name="set_headset_autoplay">헤드셋 자동 재생</string>
|
||||
<string name="set_headset_autoplay_desc">헤드셋을 연결하면 항상 자동으로 음악 재생 (기기에 따라 작동하지 않을 수 있음)</string>
|
||||
<string name="set_replay_gain">ReplayGain 계획</string>
|
||||
<string name="set_replay_gain_track">트랙 선호</string>
|
||||
<string name="set_replay_gain_album">앨범 선호</string>
|
||||
<string name="set_replay_gain_dynamic">앨법 재생 중인 경우 앨범 선호</string>
|
||||
<string name="set_replay_gain_mode">ReplayGain 계획</string>
|
||||
<string name="set_replay_gain_mode_track">트랙 선호</string>
|
||||
<string name="set_replay_gain_mode_album">앨범 선호</string>
|
||||
<string name="set_replay_gain_mode_dynamic">앨법 재생 중인 경우 앨범 선호</string>
|
||||
<string name="set_pre_amp">ReplayGain 프리앰프</string>
|
||||
<string name="set_pre_amp_desc">재생 중에 프리앰프를 적용하여 조정</string>
|
||||
<string name="set_pre_amp_with">태그로 조정</string>
|
||||
<string name="set_pre_amp_without">태그 없이 조정</string>
|
||||
<string name="set_pre_amp_warning">주의: 프리앰프를 높게 설정하면 일부 소리 트랙이 왜곡될 수 있습니다.</string>
|
||||
<string name="set_behavior">동작</string>
|
||||
<string name="set_personalize">동작</string>
|
||||
<string name="set_library_song_playback_mode">라이브러리에서 재생할 때</string>
|
||||
<string name="set_keep_shuffle">무작위 재생 기억</string>
|
||||
<string name="set_keep_shuffle_desc">새로운 곡을 재생할 때 무작위 재생 유지</string>
|
||||
|
@ -199,7 +199,7 @@
|
|||
<string name="lbl_sort_date_added">추가된 날짜</string>
|
||||
<string name="lbl_relative_path">상위 경로</string>
|
||||
<string name="set_bar_action">맞춤형 재생 동작 버튼</string>
|
||||
<string name="set_bar_action_repeat">반복 방식</string>
|
||||
<string name="set_action_mode_repeat">반복 방식</string>
|
||||
<string name="desc_queue_bar">대기열 열기</string>
|
||||
<string name="lbl_ep_live">라이브 EP</string>
|
||||
<string name="lbl_single_remix">리믹스 싱글</string>
|
||||
|
@ -243,7 +243,7 @@
|
|||
<string name="set_separators_warning">경고: 이 설정을 사용하면 일부 태그가 여러 값을 갖는 것으로 잘못 해석될 수 있습니다. 구분자로 읽히지 않도록 하려면 해당 구분자 앞에 백슬래시 (\\)를 붙입니다.</string>
|
||||
<string name="set_detail_song_playback_mode">항목 세부 정보에서 재생할 때</string>
|
||||
<string name="lng_observing">음악 라이브러리의 변경사항을 추적하는 중…</string>
|
||||
<string name="set_bar_action_next">다음 곡으로 건너뛰기</string>
|
||||
<string name="set_action_mode_next">다음 곡으로 건너뛰기</string>
|
||||
<string name="set_exclude_non_music_desc">팟캐스트와 같이 음악이 아닌 소리 파일 무시</string>
|
||||
<string name="set_hide_collaborators">공동작업자 숨기기</string>
|
||||
<string name="set_hide_collaborators_desc">앨범에 등장하는 아티스트만 표시 (자세히 태그된 라이브러리에 최적화)</string>
|
||||
|
|
|
@ -43,7 +43,7 @@
|
|||
<string name="set_ui">Išvaizda</string>
|
||||
<string name="lbl_format">Formatas</string>
|
||||
<string name="lbl_version">Versija</string>
|
||||
<string name="set_title">Nustatymai</string>
|
||||
<string name="set_root_title">Nustatymai</string>
|
||||
<string name="set_theme">Temos</string>
|
||||
<string name="set_black_mode_desc">Naudokti grynai juodą tamsią temą</string>
|
||||
<string name="info_app_desc">Paprastas, racionalus „Android“ muzikos grotuvas.</string>
|
||||
|
@ -80,7 +80,7 @@
|
|||
<string name="lbl_cancel">Atšaukti</string>
|
||||
<string name="lbl_code">Šaltinio kodas</string>
|
||||
<string name="set_display">Rodyti</string>
|
||||
<string name="set_replay_gain">„ReplayGain“ strategija</string>
|
||||
<string name="set_replay_gain_mode">„ReplayGain“ strategija</string>
|
||||
<string name="lbl_singles">Singlai</string>
|
||||
<string name="lbl_ok">Gerai</string>
|
||||
<string name="set_round_mode_desc">Įgalinti papildomų vartotojo sąsajos elementų suapvalintus kampus (reikia, kad albumo viršeliai būtų suapvalinti)</string>
|
||||
|
@ -124,7 +124,7 @@
|
|||
<string name="set_headset_autoplay_desc">Visada pradėti groti, kai prijungtos ausinės (gali veikti ne visuose įrenginiuose)</string>
|
||||
<string name="cdc_ogg">Ogg garsas</string>
|
||||
<string name="lng_author">Sukūrė Alexanderis Capehartas</string>
|
||||
<string name="set_replay_gain_track">Pageidaujamas takeliui</string>
|
||||
<string name="set_replay_gain_mode_track">Pageidaujamas takeliui</string>
|
||||
<string name="err_no_dirs">Jokių aplankų</string>
|
||||
<string name="err_bad_dir">Šis aplankas nepalaikomas</string>
|
||||
<string name="desc_play_pause">Groti arba pristabdyti</string>
|
||||
|
@ -134,8 +134,8 @@
|
|||
<string name="lbl_mixtapes">Mikstapai</string>
|
||||
<string name="set_lib_tabs">Bibliotekos skirtukai</string>
|
||||
<string name="set_lib_tabs_desc">Keisti bibliotekos skirtukų matomumą ir tvarką</string>
|
||||
<string name="set_replay_gain_album">Pageidaujamas albumui</string>
|
||||
<string name="set_replay_gain_dynamic">Pageidaujamas albumui, jei vienas groja</string>
|
||||
<string name="set_replay_gain_mode_album">Pageidaujamas albumui</string>
|
||||
<string name="set_replay_gain_mode_dynamic">Pageidaujamas albumui, jei vienas groja</string>
|
||||
<string name="err_no_app">Jokių programų nerasta, kurios galėtų atlikti šią užduotį</string>
|
||||
<string name="desc_auxio_icon">„Auxio“ piktograma</string>
|
||||
<string name="desc_queue_handle">Perkelti šią eilės dainą</string>
|
||||
|
@ -167,9 +167,9 @@
|
|||
<string name="desc_exit">Sustabdyti grojimą</string>
|
||||
<string name="def_track">Nėra takelio numerio</string>
|
||||
<string name="def_bitrate">Nėra bitų srauto</string>
|
||||
<string name="set_bar_action_next">Pereiti prie kitos</string>
|
||||
<string name="set_action_mode_next">Pereiti prie kitos</string>
|
||||
<string name="set_headset_autoplay">Automatinis ausinių grojimas</string>
|
||||
<string name="set_bar_action_repeat">Kartojimo režimas</string>
|
||||
<string name="set_action_mode_repeat">Kartojimo režimas</string>
|
||||
<string name="desc_queue_bar">Atidaryti eilę</string>
|
||||
<string name="desc_clear_search">Išvalyti paieškos užklausą</string>
|
||||
<string name="set_dirs_mode_exclude_desc">Muzika <b>nebus</b> įkeliama iš pridėtų aplankų jūs pridėsite.</string>
|
||||
|
@ -191,7 +191,7 @@
|
|||
<string name="fmt_lib_artist_count">Įkrauti atlikėjai: %d</string>
|
||||
<string name="fmt_indexing">Kraunama jūsų muzikos biblioteka… (%1$d/%2$d)</string>
|
||||
<string name="desc_shuffle_all">Maišyti visas dainas</string>
|
||||
<string name="set_behavior">Elgesys</string>
|
||||
<string name="set_personalize">Elgesys</string>
|
||||
<string name="set_pre_amp_warning">Įspėjimas: Keičiant išankstinį stiprintuvą į didelę teigiamą vertę, kai kuriuose garso takeliuose gali atsirasti pikų.</string>
|
||||
<string name="desc_album_cover">Albumo viršelis, skirtas %s</string>
|
||||
<string name="desc_artist_image">Atlikėjo vaizdas, skirtas %s</string>
|
||||
|
|
|
@ -37,7 +37,7 @@
|
|||
<string name="lbl_licenses">Licenties</string>
|
||||
<string name="lng_author">Ontwikkeld door OxygenCobalt</string>
|
||||
<!-- Settings namespace | Settings-related labels -->
|
||||
<string name="set_title">Instellingen</string>
|
||||
<string name="set_root_title">Instellingen</string>
|
||||
<string name="set_ui">Uiterlijk</string>
|
||||
<string name="set_theme">Thema</string>
|
||||
<string name="set_theme_auto">Automatisch</string>
|
||||
|
@ -47,7 +47,7 @@
|
|||
<string name="set_display">Scherm</string>
|
||||
<string name="set_notif_action">Gebruikt een afternatief notification action</string>
|
||||
<string name="set_audio">Audio</string>
|
||||
<string name="set_behavior">Gedrag</string>
|
||||
<string name="set_personalize">Gedrag</string>
|
||||
<string name="set_library_song_playback_mode">Bij het afspelen vanuit de bibliotheek</string>
|
||||
<string name="set_keep_shuffle">Onthoud shuffle</string>
|
||||
<string name="set_keep_shuffle_desc">Houd shuffle aan bij het afspelen van een nieuw nummer</string>
|
||||
|
@ -124,9 +124,9 @@
|
|||
<string name="lbl_relative_path">Ouderpad</string>
|
||||
<string name="lbl_props">Lied eigenschappen</string>
|
||||
<string name="lbl_file_name">Bestandsnaam</string>
|
||||
<string name="set_replay_gain_dynamic">Voorkeur album als er een speelt</string>
|
||||
<string name="set_replay_gain_track">Voorkeur titel</string>
|
||||
<string name="set_replay_gain_album">Voorkeur album</string>
|
||||
<string name="set_replay_gain_mode_dynamic">Voorkeur album als er een speelt</string>
|
||||
<string name="set_replay_gain_mode_track">Voorkeur titel</string>
|
||||
<string name="set_replay_gain_mode_album">Voorkeur album</string>
|
||||
<string name="set_pre_amp_desc">De voorversterker wordt toegepast op de bestaande afstelling tijdens weergave</string>
|
||||
<string name="set_dirs">Muziek mappen</string>
|
||||
<string name="set_pre_amp">ReplayGain voorversterker</string>
|
||||
|
@ -157,7 +157,7 @@
|
|||
<string name="lbl_library_counts">Bibliotheekstatistieken</string>
|
||||
<string name="set_lib_tabs_desc">Verander de zichtbaarheid en volgorde van bibliotheek-tabbladen</string>
|
||||
<string name="set_headset_autoplay">Headset automatisch afspelen</string>
|
||||
<string name="set_replay_gain">ReplayGain</string>
|
||||
<string name="set_replay_gain_mode">ReplayGain</string>
|
||||
<string name="set_pre_amp_warning">Waarschuwing: Als u de voorversterker op een hoge positieve waarde zet, kan dit bij sommige audiotracks tot pieken leiden.</string>
|
||||
<string name="set_playback_mode_none">Afspelen vanaf getoond item</string>
|
||||
<string name="set_restore_state">Afspeelstatus herstellen</string>
|
||||
|
|
|
@ -27,7 +27,7 @@
|
|||
<string name="lbl_code">Kod źródłowy</string>
|
||||
<string name="lbl_licenses">Licencje</string>
|
||||
<!-- Settings namespace | Settings-related labels -->
|
||||
<string name="set_title">Ustawienia</string>
|
||||
<string name="set_root_title">Ustawienia</string>
|
||||
<string name="set_ui">Wygląd</string>
|
||||
<string name="set_theme">Motyw</string>
|
||||
<string name="set_theme_auto">Automatyczny</string>
|
||||
|
@ -35,7 +35,7 @@
|
|||
<string name="set_theme_night">Ciemny</string>
|
||||
<string name="set_accent">Odcień koloru</string>
|
||||
<string name="set_audio">Dźwięk</string>
|
||||
<string name="set_behavior">Zachowanie</string>
|
||||
<string name="set_personalize">Zachowanie</string>
|
||||
<!-- Error Namespace | Error Labels -->
|
||||
<string name="err_no_music">Nie znaleziono muzyki</string>
|
||||
<!-- Description Namespace | Accessibility Strings -->
|
||||
|
@ -141,7 +141,7 @@
|
|||
<string name="set_reindex">Załaduj ponownie bibliotekę</string>
|
||||
<string name="set_reindex_desc">Może wyczyścić stan odtwarzania</string>
|
||||
<string name="desc_clear_queue_item">Usuń utwór z kolejki</string>
|
||||
<string name="set_replay_gain_album">Preferuj album</string>
|
||||
<string name="set_replay_gain_mode_album">Preferuj album</string>
|
||||
<string name="set_observing">Automatyczne ponowne załadowanie</string>
|
||||
<string name="cdc_flac">Free Lossless Audio Codec (FLAC)</string>
|
||||
<string name="set_separators_and">Et (&)</string>
|
||||
|
@ -156,10 +156,10 @@
|
|||
<string name="set_round_mode">Zaokrąglone okładki</string>
|
||||
<string name="set_round_mode_desc">Zaokrąglone rogi okładek</string>
|
||||
<string name="set_bar_action">Akcja na pasku odtwarzania</string>
|
||||
<string name="set_bar_action_next">Następny utwór</string>
|
||||
<string name="set_bar_action_repeat">Powtórz</string>
|
||||
<string name="set_replay_gain">Ustawienie ReplayGain</string>
|
||||
<string name="set_replay_gain_dynamic">Preferuj album, jeśli takowy jest odtwarzany</string>
|
||||
<string name="set_action_mode_next">Następny utwór</string>
|
||||
<string name="set_action_mode_repeat">Powtórz</string>
|
||||
<string name="set_replay_gain_mode">Ustawienie ReplayGain</string>
|
||||
<string name="set_replay_gain_mode_dynamic">Preferuj album, jeśli takowy jest odtwarzany</string>
|
||||
<string name="set_library_song_playback_mode">Odtwarzając utwór z widoku biblioteki</string>
|
||||
<string name="set_save_state">Zapisz stan odtwarzania</string>
|
||||
<string name="set_separators_comma">Przecinek (,)</string>
|
||||
|
@ -180,7 +180,7 @@
|
|||
<string name="desc_tab_handle">Przesuń kartę</string>
|
||||
<string name="desc_artist_image">Wizerunek wykonawcy dla %s</string>
|
||||
<string name="lng_indexing">Ładuję bibliotekę muzyczną…</string>
|
||||
<string name="set_replay_gain_track">Preferuj utwór</string>
|
||||
<string name="set_replay_gain_mode_track">Preferuj utwór</string>
|
||||
<string name="lbl_state_restored">Przywrócono stan odtwarzania</string>
|
||||
<string name="lbl_state_wiped">Wyczyszczono stan odtwarzania</string>
|
||||
<string name="lbl_state_saved">Zapisano stan odtwarzania</string>
|
||||
|
|
|
@ -27,7 +27,7 @@
|
|||
<string name="lbl_licenses">Licenças</string>
|
||||
<string name="lng_author">Desenvolvido por Alexander Capehart</string>
|
||||
<!-- Settings namespace | Settings-related labels -->
|
||||
<string name="set_title">Configurações</string>
|
||||
<string name="set_root_title">Configurações</string>
|
||||
<string name="set_ui">Aparência</string>
|
||||
<string name="set_theme">Tema</string>
|
||||
<string name="set_theme_auto">Automático</string>
|
||||
|
@ -35,7 +35,7 @@
|
|||
<string name="set_theme_night">Escuro</string>
|
||||
<string name="set_accent">Paleta de cor</string>
|
||||
<string name="set_audio">Áudio</string>
|
||||
<string name="set_behavior">Comportamento</string>
|
||||
<string name="set_personalize">Comportamento</string>
|
||||
<string name="set_keep_shuffle">Manter modo aleatório ativado</string>
|
||||
<!-- Error Namespace | Error Labels -->
|
||||
<string name="err_no_music">Nenhuma música encontrada</string>
|
||||
|
@ -165,16 +165,16 @@
|
|||
<string name="lbl_ok">OK</string>
|
||||
<string name="set_display">Exibição</string>
|
||||
<string name="set_round_mode_desc">Ativar cantos arredondados em elementos adicionais da interface do usuário (requer que as capas dos álbuns sejam arredondadas)</string>
|
||||
<string name="set_replay_gain">Modo de normalização de volume (ReplayGain)</string>
|
||||
<string name="set_replay_gain_mode">Modo de normalização de volume (ReplayGain)</string>
|
||||
<string name="set_playback_mode_none">Reproduzir a partir do item mostrado</string>
|
||||
<string name="set_playback_mode_songs">Reproduzir de todas as músicas</string>
|
||||
<string name="set_replay_gain_album">Preferir álbum</string>
|
||||
<string name="set_replay_gain_dynamic">Prefira o álbum se estiver tocando</string>
|
||||
<string name="set_replay_gain_mode_album">Preferir álbum</string>
|
||||
<string name="set_replay_gain_mode_dynamic">Prefira o álbum se estiver tocando</string>
|
||||
<string name="set_observing">Recarregamento automático</string>
|
||||
<string name="set_observing_desc">Recarrega a biblioteca de músicas sempre que ela mudar (requer notificação fixa)</string>
|
||||
<string name="lbl_sort_date_added">Data adicionada</string>
|
||||
<string name="lbl_cancel">Cancelar</string>
|
||||
<string name="set_replay_gain_track">Preferir faixa</string>
|
||||
<string name="set_replay_gain_mode_track">Preferir faixa</string>
|
||||
<string name="desc_queue_bar">Abrir fila</string>
|
||||
<string name="lbl_album_live">Álbum ao vivo</string>
|
||||
<string name="lbl_soundtracks">Trilhas sonoras</string>
|
||||
|
@ -195,14 +195,14 @@
|
|||
<string name="lbl_indexing">Carregando música</string>
|
||||
<string name="lbl_observing">Monitorando a biblioteca de músicas</string>
|
||||
<string name="set_round_mode">Cantos arredondados</string>
|
||||
<string name="set_bar_action_next">Pular para o próximo</string>
|
||||
<string name="set_action_mode_next">Pular para o próximo</string>
|
||||
<string name="set_playback_mode_album">Reproduzir do álbum</string>
|
||||
<string name="set_save_state">Salvar lista de reprodução</string>
|
||||
<string name="set_wipe_state">Limpar lista de reprodução</string>
|
||||
<string name="set_restore_state">Restaurar lista de reprodução</string>
|
||||
<string name="lng_widget">Visualize e controle a reprodução de música</string>
|
||||
<string name="set_bar_action">Ação personalizada na barra de reprodução</string>
|
||||
<string name="set_bar_action_repeat">Modo de repetição</string>
|
||||
<string name="set_action_mode_repeat">Modo de repetição</string>
|
||||
<string name="set_wipe_desc">Limpa a lista de reprodução salva anteriormente (se houver)</string>
|
||||
<string name="lbl_eps">EPs</string>
|
||||
<string name="lbl_ep">EP</string>
|
||||
|
|
|
@ -28,7 +28,7 @@
|
|||
<string name="lbl_licenses">Licenças</string>
|
||||
<string name="lng_author">Desenvolvido por Alexander Capehart</string>
|
||||
<!-- Settings namespace | Settings-related labels -->
|
||||
<string name="set_title">Definições</string>
|
||||
<string name="set_root_title">Definições</string>
|
||||
<string name="set_ui">Aparência</string>
|
||||
<string name="set_theme">Tema</string>
|
||||
<string name="set_theme_day">Claro</string>
|
||||
|
@ -36,7 +36,7 @@
|
|||
<string name="set_theme_auto">Automático</string>
|
||||
<string name="set_accent">Cor de realce</string>
|
||||
<string name="set_audio">Áudio</string>
|
||||
<string name="set_behavior">Comportamento</string>
|
||||
<string name="set_personalize">Comportamento</string>
|
||||
<string name="set_keep_shuffle">Memorizar aleatorização</string>
|
||||
<!-- Error Namespace | Error Labels -->
|
||||
<string name="err_no_music">Nenhuma música encontrada</string>
|
||||
|
@ -79,7 +79,7 @@
|
|||
<string name="fmt_lib_total_duration">Duração total: %s</string>
|
||||
<string name="err_index_failed">Falha no carregamento da música</string>
|
||||
<string name="lbl_sort_name">Nome</string>
|
||||
<string name="set_replay_gain_dynamic">Prefira o álbum se estiver tocando</string>
|
||||
<string name="set_replay_gain_mode_dynamic">Prefira o álbum se estiver tocando</string>
|
||||
<string name="err_no_app">Nenhuma aplicação encontrada que possa lidar com esta tarefa</string>
|
||||
<string name="clr_cyan">Ciano</string>
|
||||
<string name="lbl_sort_count">Contagem de músicas</string>
|
||||
|
@ -90,7 +90,7 @@
|
|||
<string name="set_cover_mode_media_store">Rápido</string>
|
||||
<string name="set_cover_mode_quality">Qualidade alta</string>
|
||||
<string name="set_bar_action">Ação da barra de reprodução personalizada</string>
|
||||
<string name="set_bar_action_repeat">Modo de repetição</string>
|
||||
<string name="set_action_mode_repeat">Modo de repetição</string>
|
||||
<string name="set_playback_mode_artist">Reproduzir do artista</string>
|
||||
<string name="set_repeat_pause">Pausar na repetição</string>
|
||||
<string name="err_no_perms">O Auxio precisa de permissão para ler a sua biblioteca de músicas</string>
|
||||
|
@ -103,7 +103,7 @@
|
|||
<string name="lbl_sort_disc">Disco</string>
|
||||
<string name="lbl_sort_track">Faixa</string>
|
||||
<string name="lbl_bitrate">Taxa de bits</string>
|
||||
<string name="set_bar_action_next">Pular para o próximo</string>
|
||||
<string name="set_action_mode_next">Pular para o próximo</string>
|
||||
<string name="set_pre_amp_warning">Aviso: Alterar o pré-amplificador para um valor positivo alto pode resultar em picos em algumas faixas de áudio.</string>
|
||||
<string name="set_pre_amp_with">Ajuste com etiquetas</string>
|
||||
<string name="set_separators_slash">Barra (/)</string>
|
||||
|
@ -185,8 +185,8 @@
|
|||
<string name="set_notif_action">Usar ação de notificação alternativa</string>
|
||||
<string name="set_headset_autoplay">Reprodução automática do fone de ouvido</string>
|
||||
<string name="set_headset_autoplay_desc">Sempre comece a tocar quando um fone de ouvido estiver conectado (pode não funcionar em todos os aparelhos)</string>
|
||||
<string name="set_replay_gain">Estratégia do ganho de repetição</string>
|
||||
<string name="set_replay_gain_album">Preferir álbum</string>
|
||||
<string name="set_replay_gain_mode">Estratégia do ganho de repetição</string>
|
||||
<string name="set_replay_gain_mode_album">Preferir álbum</string>
|
||||
<string name="set_pre_amp_desc">O pré-amplificador é aplicado ao ajuste existente durante a reprodução</string>
|
||||
<string name="set_playback_mode_songs">Reproduzir de todas as músicas</string>
|
||||
<string name="set_repeat_pause_desc">Pausa quando uma música se repete</string>
|
||||
|
@ -238,7 +238,7 @@
|
|||
<string name="lng_widget">Visualize e controle a reprodução de música</string>
|
||||
<string name="set_black_mode_desc">Use um tema preto</string>
|
||||
<string name="set_hide_collaborators_desc">Mostrar apenas artistas que foram creditados diretamente no álbum (funciona melhor em músicas com metadados completos)</string>
|
||||
<string name="set_replay_gain_track">Preferir faixa</string>
|
||||
<string name="set_replay_gain_mode_track">Preferir faixa</string>
|
||||
<string name="set_pre_amp">Pré-amplificação da normalização de volume</string>
|
||||
<string name="set_detail_song_playback_mode">Ao tocar a partir dos detalhes do item</string>
|
||||
<string name="set_playback_mode_genre">Tocar a partir do gênero</string>
|
||||
|
|
|
@ -28,7 +28,7 @@
|
|||
<string name="lbl_licenses">Licențe</string>
|
||||
<string name="lng_author">Dezvoltat de OxygenCobalt</string>
|
||||
<!-- Settings namespace | Settings-related labels -->
|
||||
<string name="set_title">Setări</string>
|
||||
<string name="set_root_title">Setări</string>
|
||||
<string name="set_ui">Aspect</string>
|
||||
<string name="set_theme">Temă</string>
|
||||
<string name="set_theme_auto">Automat</string>
|
||||
|
@ -36,7 +36,7 @@
|
|||
<string name="set_theme_night">Întunecat</string>
|
||||
<string name="set_accent">Paletă de culori</string>
|
||||
<string name="set_audio">Audio</string>
|
||||
<string name="set_behavior">Comportament</string>
|
||||
<string name="set_personalize">Comportament</string>
|
||||
<!-- Error Namespace | Error Labels -->
|
||||
<string name="err_no_music">Nu a fost găsită muzică</string>
|
||||
<!-- Hint Namespace | EditText Hints -->
|
||||
|
|
|
@ -42,7 +42,7 @@
|
|||
<string name="lbl_licenses">Лицензии</string>
|
||||
<string name="lng_author">Разработано Александром Кейпхартом</string>
|
||||
<!-- Settings namespace | Settings-related labels -->
|
||||
<string name="set_title">Настройки</string>
|
||||
<string name="set_root_title">Настройки</string>
|
||||
<string name="set_ui">Внешний вид</string>
|
||||
<string name="set_theme">Тема</string>
|
||||
<string name="set_theme_auto">Автоматически</string>
|
||||
|
@ -60,11 +60,11 @@
|
|||
<string name="set_audio">Звук</string>
|
||||
<string name="set_headset_autoplay">Воспроизводить при подключении</string>
|
||||
<string name="set_headset_autoplay_desc">Всегда начинать воспроизведение при подключении наушников (может работать не на всех устройствах)</string>
|
||||
<string name="set_replay_gain">Выравнивание громкости</string>
|
||||
<string name="set_replay_gain_track">По треку</string>
|
||||
<string name="set_replay_gain_album">По альбому</string>
|
||||
<string name="set_replay_gain_dynamic">Предпочитать альбом, если он воспроизводится</string>
|
||||
<string name="set_behavior">Поведение</string>
|
||||
<string name="set_replay_gain_mode">Выравнивание громкости</string>
|
||||
<string name="set_replay_gain_mode_track">По треку</string>
|
||||
<string name="set_replay_gain_mode_album">По альбому</string>
|
||||
<string name="set_replay_gain_mode_dynamic">Предпочитать альбом, если он воспроизводится</string>
|
||||
<string name="set_personalize">Поведение</string>
|
||||
<string name="set_library_song_playback_mode">При воспроизведении из библиотеки</string>
|
||||
<string name="set_keep_shuffle">Запоминать перемешивание</string>
|
||||
<string name="set_keep_shuffle_desc">Запоминать режим перемешивания для новых треков</string>
|
||||
|
@ -224,8 +224,8 @@
|
|||
<string name="fmt_lib_album_count">Альбомов загружено: %d</string>
|
||||
<string name="fmt_indexing">Загрузка музыкальной библиотеки… (%1$d/%2$d)</string>
|
||||
<string name="lbl_genre">Жанр</string>
|
||||
<string name="set_bar_action_next">Перейти к следующей</string>
|
||||
<string name="set_bar_action_repeat">Режим повтора</string>
|
||||
<string name="set_action_mode_next">Перейти к следующей</string>
|
||||
<string name="set_action_mode_repeat">Режим повтора</string>
|
||||
<string name="lbl_equalizer">Эквалайзер</string>
|
||||
<string name="set_hide_collaborators">Скрыть соавторов</string>
|
||||
<string name="set_hide_collaborators_desc">Показывать только тех исполнителей, которые напрямую указаны в альбоме</string>
|
||||
|
|
|
@ -27,7 +27,7 @@
|
|||
<string name="lbl_code">Kaynak kodu</string>
|
||||
<string name="lbl_licenses">Lisanslar</string>
|
||||
<!-- Settings namespace | Settings-related labels -->
|
||||
<string name="set_title">Ayarlar</string>
|
||||
<string name="set_root_title">Ayarlar</string>
|
||||
<string name="set_ui">Görünüm</string>
|
||||
<string name="set_theme">Tema</string>
|
||||
<string name="set_theme_auto">Otomatik</string>
|
||||
|
@ -35,7 +35,7 @@
|
|||
<string name="set_theme_night">Koyu</string>
|
||||
<string name="set_accent">Ana Renk</string>
|
||||
<string name="set_audio">Ses</string>
|
||||
<string name="set_behavior">Tercihler</string>
|
||||
<string name="set_personalize">Tercihler</string>
|
||||
<!-- Error Namespace | Error Labels -->
|
||||
<string name="err_no_music">Müzik bulunamadı</string>
|
||||
<!-- Hint Namespace | EditText Hints -->
|
||||
|
@ -141,11 +141,11 @@
|
|||
<string name="fmt_lib_song_count">Yüklenen şarkılar: %d</string>
|
||||
<string name="fmt_lib_album_count">Yüklenen albümler: %d</string>
|
||||
<string name="set_notif_action">Özel bildirim eylemi</string>
|
||||
<string name="set_replay_gain_dynamic">Çalan bir albüm varsa tercih et</string>
|
||||
<string name="set_replay_gain_mode_dynamic">Çalan bir albüm varsa tercih et</string>
|
||||
<string name="set_headset_autoplay">Kulaklıkta otomatik çalma</string>
|
||||
<string name="set_headset_autoplay_desc">Bir kulaklık takıldığında müzik çalmaya başlar (bütün cihazlarda çalışmayabilir)</string>
|
||||
<string name="set_replay_gain_track">Parçayı tercih et</string>
|
||||
<string name="set_replay_gain_album">Albümü tercih et</string>
|
||||
<string name="set_replay_gain_mode_track">Parçayı tercih et</string>
|
||||
<string name="set_replay_gain_mode_album">Albümü tercih et</string>
|
||||
<string name="set_rewind_prev">Geri atlamadan önce geriye sar</string>
|
||||
<string name="set_rewind_prev_desc">Önceki şarkıya atlamadan önce geri sar</string>
|
||||
<string name="set_repeat_pause_desc">Bir şarkı tekrarlandığında duraklat</string>
|
||||
|
@ -247,16 +247,16 @@
|
|||
<string name="lbl_wiki">Viki</string>
|
||||
<string name="set_rescan">Müzikleri yeniden tara</string>
|
||||
<string name="set_bar_action">Özel çalma çubuğu eylemi</string>
|
||||
<string name="set_bar_action_next">Sonrakine geç</string>
|
||||
<string name="set_action_mode_next">Sonrakine geç</string>
|
||||
<string name="set_separators_slash">Eğik çizgi (/)</string>
|
||||
<string name="desc_queue_bar">Kuyruğu aç</string>
|
||||
<string name="set_bar_action_repeat">Tekrar kipi</string>
|
||||
<string name="set_action_mode_repeat">Tekrar kipi</string>
|
||||
<string name="set_playback_mode_genre">Türden çal</string>
|
||||
<string name="set_exclude_non_music_desc">Podcast\'ler gibi müzik olmayan ses dosyalarını yok say</string>
|
||||
<string name="set_separators_warning">Uyarı: Bu ayarın kullanılması bazı etiketlerin yanlışlıkla birden fazla değere sahip olarak yorumlanmasına neden olabilir. Bunu, istenmeyen ayırıcı karakterlerin önüne ters eğik çizgi (\\) koyarak çözebilirsiniz.</string>
|
||||
<string name="set_exclude_non_music">Müzik olmayanları hariç tut</string>
|
||||
<string name="err_did_not_wipe">Durum temizlenemedi</string>
|
||||
<string name="set_replay_gain">ReplayGain stratejisi</string>
|
||||
<string name="set_replay_gain_mode">ReplayGain stratejisi</string>
|
||||
<string name="desc_queue_handle">Bu şarkıyı kuyrukta taşı</string>
|
||||
<string name="fmt_list">%1$s, %2$s</string>
|
||||
</resources>
|
|
@ -26,13 +26,13 @@
|
|||
<string name="lbl_code">Вихідний код</string>
|
||||
<string name="lbl_licenses">Ліцензії</string>
|
||||
<!-- Settings namespace | Settings-related labels -->
|
||||
<string name="set_title">Налаштування</string>
|
||||
<string name="set_root_title">Налаштування</string>
|
||||
<string name="set_ui">Вигляд</string>
|
||||
<string name="set_theme">Тема</string>
|
||||
<string name="set_theme_day">Світла</string>
|
||||
<string name="set_theme_night">Темна</string>
|
||||
<string name="set_audio">Аудіо</string>
|
||||
<string name="set_behavior">Поведінка</string>
|
||||
<string name="set_personalize">Поведінка</string>
|
||||
<!-- Error Namespace | Error Labels -->
|
||||
<string name="err_no_music">Музику не знайдено</string>
|
||||
<!-- Hint Namespace | EditText Hints -->
|
||||
|
@ -87,7 +87,7 @@
|
|||
<string name="set_cover_mode">Обкладинки альбомів</string>
|
||||
<string name="set_hide_collaborators">Приховати співавторів</string>
|
||||
<string name="set_cover_mode_off">Вимкнено</string>
|
||||
<string name="set_bar_action_next">Перейти до наступної</string>
|
||||
<string name="set_action_mode_next">Перейти до наступної</string>
|
||||
<string name="set_cover_mode_media_store">Швидкі</string>
|
||||
<string name="set_dirs_desc">Вкажіть папки, з яких програма має завантажувати пісні</string>
|
||||
<string name="set_dirs_mode_exclude">Виключити</string>
|
||||
|
@ -140,12 +140,12 @@
|
|||
<string name="set_accent">Кольоровий акцент</string>
|
||||
<string name="set_lib_tabs">Вкладки бібліотеки</string>
|
||||
<string name="set_headset_autoplay">Автовідтворення в навушниках</string>
|
||||
<string name="set_bar_action_repeat">Режим повторення</string>
|
||||
<string name="set_action_mode_repeat">Режим повторення</string>
|
||||
<string name="set_dirs_mode">Режим</string>
|
||||
<string name="set_pre_amp">Попередній підсилювач ReplayGain</string>
|
||||
<string name="set_playback_mode_album">Відтворити альбом</string>
|
||||
<string name="set_library_song_playback_mode">При відтворенні з бібліотеки</string>
|
||||
<string name="set_replay_gain_dynamic">Віддавати перевагу альбому, якщо він відтворюється</string>
|
||||
<string name="set_replay_gain_mode_dynamic">Віддавати перевагу альбому, якщо він відтворюється</string>
|
||||
<string name="lbl_state_wiped">Стан відтворення очищено</string>
|
||||
<string name="set_black_mode_desc">Використовувати повністю чорну тему</string>
|
||||
<string name="set_hide_collaborators_desc">Показувати лише тих виконавців, які безпосередньо зазначені в альбомі (найкраще працює в добре позначених бібліотеках)</string>
|
||||
|
@ -157,8 +157,8 @@
|
|||
<string name="set_dirs_mode_exclude_desc">Музика <b>не</b> буде завантажена з вибраних папок.</string>
|
||||
<string name="set_separators_desc">Налаштуйте символи, які позначають кілька значень тегів</string>
|
||||
<string name="lbl_state_saved">Стан відтворення збережено</string>
|
||||
<string name="set_replay_gain_album">За альбомом</string>
|
||||
<string name="set_replay_gain_track">За піснею</string>
|
||||
<string name="set_replay_gain_mode_album">За альбомом</string>
|
||||
<string name="set_replay_gain_mode_track">За піснею</string>
|
||||
<string name="set_content">Зміст</string>
|
||||
<string name="set_wipe_desc">Очистити раніше збережений стан відтворення (якщо є)</string>
|
||||
<string name="lng_observing">Відстеження змін в музичній бібліотеці…</string>
|
||||
|
@ -177,7 +177,7 @@
|
|||
<string name="set_dirs_mode_include_desc">Музика буде завантажена <b>тільки</b> з вибраних папок.</string>
|
||||
<string name="set_restore_desc">Відновити раніше збережений стан відтворення (якщо є)</string>
|
||||
<string name="set_pre_amp_with">Регулювання на основі тегів</string>
|
||||
<string name="set_replay_gain">Вирівнювання гучності (ReplayGain)</string>
|
||||
<string name="set_replay_gain_mode">Вирівнювання гучності (ReplayGain)</string>
|
||||
<string name="set_save_state">Зберегти стан відтворення</string>
|
||||
<string name="set_wipe_state">Очистити стан відтворення</string>
|
||||
<string name="set_restore_state">Відновити стан відтворення</string>
|
||||
|
|
|
@ -42,7 +42,7 @@
|
|||
<string name="lbl_licenses">许可证</string>
|
||||
<string name="lng_author">由 Alexander Capehart 开发</string>
|
||||
<!-- Settings namespace | Settings-related labels -->
|
||||
<string name="set_title">设置</string>
|
||||
<string name="set_root_title">设置</string>
|
||||
<string name="set_ui">外观</string>
|
||||
<string name="set_theme">主题</string>
|
||||
<string name="set_theme_auto">自动</string>
|
||||
|
@ -60,11 +60,11 @@
|
|||
<string name="set_audio">音频</string>
|
||||
<string name="set_headset_autoplay">自动播放</string>
|
||||
<string name="set_headset_autoplay_desc">连接至耳机时总是自动播放(并非在所有设备上都有用)</string>
|
||||
<string name="set_replay_gain">回放增益</string>
|
||||
<string name="set_replay_gain_track">偏好曲目</string>
|
||||
<string name="set_replay_gain_album">偏好专辑</string>
|
||||
<string name="set_replay_gain_dynamic">如果已有专辑正在播放则优先增益专辑</string>
|
||||
<string name="set_behavior">行为</string>
|
||||
<string name="set_replay_gain_mode">回放增益</string>
|
||||
<string name="set_replay_gain_mode_track">偏好曲目</string>
|
||||
<string name="set_replay_gain_mode_album">偏好专辑</string>
|
||||
<string name="set_replay_gain_mode_dynamic">如果已有专辑正在播放则优先增益专辑</string>
|
||||
<string name="set_personalize">行为</string>
|
||||
<string name="set_library_song_playback_mode">从音乐库中选择播放时</string>
|
||||
<string name="set_keep_shuffle">记住随机模式</string>
|
||||
<string name="set_keep_shuffle_desc">播放新曲目时保留随机播放模式</string>
|
||||
|
@ -221,8 +221,8 @@
|
|||
<string name="lbl_live_group">现场</string>
|
||||
<string name="lbl_genre">流派</string>
|
||||
<string name="set_bar_action">自定义播放栏动作</string>
|
||||
<string name="set_bar_action_repeat">重复模式</string>
|
||||
<string name="set_bar_action_next">跳到下一首</string>
|
||||
<string name="set_action_mode_repeat">重复模式</string>
|
||||
<string name="set_action_mode_next">跳到下一首</string>
|
||||
<string name="lbl_equalizer">均衡器</string>
|
||||
<string name="desc_exit">停止播放</string>
|
||||
<string name="set_separators_and">与号 (&)</string>
|
||||
|
|
|
@ -27,7 +27,7 @@
|
|||
<string name="lbl_code">在 GitHub 上檢視</string>
|
||||
<string name="lbl_licenses">授權條款</string>
|
||||
<!-- Settings namespace | Settings-related labels -->
|
||||
<string name="set_title">設定</string>
|
||||
<string name="set_root_title">設定</string>
|
||||
<string name="set_ui">外觀</string>
|
||||
<string name="set_theme">主題色調</string>
|
||||
<string name="set_theme_auto">強調色</string>
|
||||
|
@ -35,7 +35,7 @@
|
|||
<string name="set_theme_night">深色</string>
|
||||
<string name="set_accent">色彩樣式</string>
|
||||
<string name="set_audio">音訊</string>
|
||||
<string name="set_behavior">行為</string>
|
||||
<string name="set_personalize">行為</string>
|
||||
<string name="set_keep_shuffle">記住隨機播放</string>
|
||||
<!-- Error Namespace | Error Labels -->
|
||||
<string name="err_no_music">找不到音樂</string>
|
||||
|
|
|
@ -77,8 +77,8 @@
|
|||
</integer-array>
|
||||
|
||||
<string-array name="entries_bar_action">
|
||||
<item>@string/set_bar_action_next</item>
|
||||
<item>@string/set_bar_action_repeat</item>
|
||||
<item>@string/set_action_mode_next</item>
|
||||
<item>@string/set_action_mode_repeat</item>
|
||||
<item>@string/lbl_shuffle</item>
|
||||
</string-array>
|
||||
|
||||
|
@ -89,7 +89,7 @@
|
|||
</integer-array>
|
||||
|
||||
<integer-array name="entries_notif_action">
|
||||
<item>@string/set_bar_action_repeat</item>
|
||||
<item>@string/set_action_mode_repeat</item>
|
||||
<item>@string/lbl_shuffle</item>
|
||||
</integer-array>
|
||||
|
||||
|
@ -129,9 +129,9 @@
|
|||
</integer-array>
|
||||
|
||||
<string-array name="entries_replay_gain">
|
||||
<item>@string/set_replay_gain_track</item>
|
||||
<item>@string/set_replay_gain_album</item>
|
||||
<item>@string/set_replay_gain_dynamic</item>
|
||||
<item>@string/set_replay_gain_mode_track</item>
|
||||
<item>@string/set_replay_gain_mode_album</item>
|
||||
<item>@string/set_replay_gain_mode_dynamic</item>
|
||||
</string-array>
|
||||
|
||||
<integer-array name="values_replay_gain">
|
||||
|
|
|
@ -160,8 +160,10 @@
|
|||
<!-- Settings namespace | Settings-related labels -->
|
||||
<eat-comment />
|
||||
|
||||
<string name="set_title">Settings</string>
|
||||
<string name="set_ui">Appearance</string>
|
||||
<string name="set_root_title">Settings</string>
|
||||
|
||||
<string name="set_ui">Look and Feel</string>
|
||||
<string name="set_ui_desc">Change the theme and colors of the app</string>
|
||||
<string name="set_theme">Theme</string>
|
||||
<string name="set_theme_auto">Automatic</string>
|
||||
<string name="set_theme_day">Light</string>
|
||||
|
@ -169,37 +171,19 @@
|
|||
<string name="set_accent">Color scheme</string>
|
||||
<string name="set_black_mode">Black theme</string>
|
||||
<string name="set_black_mode_desc">Use a pure-black dark theme</string>
|
||||
<string name="set_round_mode">Round mode</string>
|
||||
<string name="set_round_mode_desc">Enable rounded corners on additional UI elements (requires album covers to be rounded)</string>
|
||||
|
||||
<string name="set_personalize">Personalize</string>
|
||||
<string name="set_personalize_desc">Customize UI controls and behavior</string>
|
||||
<string name="set_display">Display</string>
|
||||
<string name="set_lib_tabs">Library tabs</string>
|
||||
<string name="set_lib_tabs_desc">Change visibility and order of library tabs</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_cover_mode">Album covers</string>
|
||||
<string name="set_cover_mode_off">Off</string>
|
||||
<string name="set_cover_mode_media_store">Fast</string>
|
||||
<string name="set_cover_mode_quality">High quality</string>
|
||||
<string name="set_round_mode">Round mode</string>
|
||||
<string name="set_round_mode_desc">Enable rounded corners on additional UI elements (requires album covers to be rounded)</string>
|
||||
<string name="set_bar_action">Custom playback bar action</string>
|
||||
<!-- Skip to next (song) -->
|
||||
<string name="set_bar_action_next">Skip to next</string>
|
||||
<string name="set_bar_action_repeat">Repeat mode</string>
|
||||
<string name="set_bar_action">Custom playback bar action</string>
|
||||
<string name="set_notif_action">Custom notification action</string>
|
||||
|
||||
<string name="set_audio">Audio</string>
|
||||
<string name="set_headset_autoplay">Headset autoplay</string>
|
||||
<string name="set_headset_autoplay_desc">Always start playing when a headset is connected (may not work on all devices)</string>
|
||||
<string name="set_replay_gain">ReplayGain strategy</string>
|
||||
<string name="set_replay_gain_track">Prefer track</string>
|
||||
<string name="set_replay_gain_album">Prefer album</string>
|
||||
<string name="set_replay_gain_dynamic">Prefer album if one is playing</string>
|
||||
<string name="set_pre_amp">ReplayGain pre-amp</string>
|
||||
<string name="set_pre_amp_desc">The pre-amp is applied to the existing adjustment during playback</string>
|
||||
<string name="set_pre_amp_with">Adjustment with tags</string>
|
||||
<string name="set_pre_amp_without">Adjustment without tags</string>
|
||||
<string name="set_pre_amp_warning">Warning: Changing the pre-amp to a high positive value may result in peaking on some audio tracks.</string>
|
||||
|
||||
<string name="set_action_mode_next">Skip to next</string>
|
||||
<string name="set_action_mode_repeat">Repeat mode</string>
|
||||
<string name="set_behavior">Behavior</string>
|
||||
<string name="set_library_song_playback_mode">When playing from the library</string>
|
||||
<string name="set_detail_song_playback_mode">When playing from item details</string>
|
||||
|
@ -210,25 +194,51 @@
|
|||
<string name="set_playback_mode_genre">Play from genre</string>
|
||||
<string name="set_keep_shuffle">Remember shuffle</string>
|
||||
<string name="set_keep_shuffle_desc">Keep shuffle on when playing a new song</string>
|
||||
|
||||
<string name="set_content">Content</string>
|
||||
<string name="set_content_desc">Control how music and images are loaded</string>
|
||||
<string name="set_music">Music</string>
|
||||
<string name="set_observing">Automatic reloading</string>
|
||||
<string name="set_observing_desc">Reload the music library whenever it changes (requires persistent notification)</string>
|
||||
<string name="set_exclude_non_music">Exclude non-music</string>
|
||||
<string name="set_exclude_non_music_desc">Ignore audio files that are not music, such as podcasts</string>
|
||||
<string name="set_separators">Multi-value separators</string>
|
||||
<string name="set_separators_desc">Configure characters that denote multiple tag values</string>
|
||||
<string name="set_separators_comma">Comma (,)</string>
|
||||
<string name="set_separators_semicolon">Semicolon (;)</string>
|
||||
<string name="set_separators_slash">Slash (/)</string>
|
||||
<string name="set_separators_plus">Plus (+)</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_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_images">Images</string>
|
||||
<string name="set_cover_mode">Album covers</string>
|
||||
<string name="set_cover_mode_off">Off</string>
|
||||
<string name="set_cover_mode_media_store">Fast</string>
|
||||
<string name="set_cover_mode_quality">High quality</string>
|
||||
|
||||
<string name="set_audio">Audio</string>
|
||||
<string name="set_audio_desc">Configure sound and playback behavior</string>
|
||||
<string name="set_playback">Playback</string>
|
||||
<string name="set_headset_autoplay">Headset autoplay</string>
|
||||
<string name="set_headset_autoplay_desc">Always start playing when a headset is connected (may not work on all devices)</string>
|
||||
<string name="set_rewind_prev">Rewind before skipping back</string>
|
||||
<string name="set_rewind_prev_desc">Rewind before skipping to the previous song</string>
|
||||
<string name="set_repeat_pause">Pause on repeat</string>
|
||||
<string name="set_repeat_pause_desc">Pause when a song repeats</string>
|
||||
<string name="set_save_state">Save playback state</string>
|
||||
<string name="set_save_desc">Save the current playback state now</string>
|
||||
<string name="set_wipe_state">Clear playback state</string>
|
||||
<string name="set_wipe_desc">Clear the previously saved playback state (if any)</string>
|
||||
<string name="set_restore_state">Restore playback state</string>
|
||||
<string name="set_restore_desc">Restore the previously saved playback state (if any)</string>
|
||||
<string name="set_replay_gain">ReplayGain</string>
|
||||
<string name="set_replay_gain_mode">ReplayGain strategy</string>
|
||||
<string name="set_replay_gain_mode_track">Prefer track</string>
|
||||
<string name="set_replay_gain_mode_album">Prefer album</string>
|
||||
<string name="set_replay_gain_mode_dynamic">Prefer album if one is playing</string>
|
||||
<string name="set_pre_amp">ReplayGain pre-amp</string>
|
||||
<string name="set_pre_amp_desc">The pre-amp is applied to the existing adjustment during playback</string>
|
||||
<string name="set_pre_amp_with">Adjustment with tags</string>
|
||||
<string name="set_pre_amp_without">Adjustment without tags</string>
|
||||
<string name="set_pre_amp_warning">Warning: Changing the pre-amp to a high positive value may result in peaking on some audio tracks.</string>
|
||||
|
||||
<string name="set_content">Content</string>
|
||||
<string name="set_reindex">Refresh music</string>
|
||||
<string name="set_reindex_desc">Reload the music library, using cached tags when possible</string>
|
||||
<!-- Different from "Reload music" -->
|
||||
<string name="set_rescan">Rescan music</string>
|
||||
<string name="set_rescan_desc">Clear the tag cache and fully reload the music library (slower, but more complete)</string>
|
||||
<string name="set_observing">Automatic reloading</string>
|
||||
<string name="set_observing_desc">Reload the music library whenever it changes (requires persistent notification)</string>
|
||||
<string name="set_library">Library</string>
|
||||
<string name="set_dirs">Music folders</string>
|
||||
<string name="set_dirs_desc">Manage where music should be loaded from</string>
|
||||
<string name="set_dirs_list">Folders</string>
|
||||
|
@ -240,16 +250,19 @@
|
|||
<!-- Restrict music loading to selected folders -->
|
||||
<string name="set_dirs_mode_include">Include</string>
|
||||
<string name="set_dirs_mode_include_desc">Music will <b>only</b> be loaded from the folders you add.</string>
|
||||
<string name="set_exclude_non_music">Exclude non-music</string>
|
||||
<string name="set_exclude_non_music_desc">Ignore audio files that are not music, such as podcasts</string>
|
||||
<string name="set_separators">Multi-value separators</string>
|
||||
<string name="set_separators_desc">Configure characters that denote multiple tag values</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_comma">Comma (,)</string>
|
||||
<string name="set_separators_semicolon">Semicolon (;)</string>
|
||||
<string name="set_separators_slash">Slash (/)</string>
|
||||
<string name="set_separators_plus">Plus (+)</string>
|
||||
<string name="set_separators_and">Ampersand (&)</string>
|
||||
<string name="set_reindex">Refresh music</string>
|
||||
<string name="set_reindex_desc">Reload the music library, using cached tags when possible</string>
|
||||
<!-- Different from "Reload music" -->
|
||||
<string name="set_rescan">Rescan music</string>
|
||||
<string name="set_rescan_desc">Clear the tag cache and fully reload the music library (slower, but more complete)</string>
|
||||
|
||||
<string name="set_state">Persistence</string>
|
||||
<string name="set_save_state">Save playback state</string>
|
||||
<string name="set_save_desc">Save the current playback state now</string>
|
||||
<string name="set_wipe_state">Clear playback state</string>
|
||||
<string name="set_wipe_desc">Clear the previously saved playback state (if any)</string>
|
||||
<string name="set_restore_state">Restore playback state</string>
|
||||
<string name="set_restore_desc">Restore the previously saved playback state (if any)</string>
|
||||
|
||||
<!-- Error Namespace | Error Labels -->
|
||||
<string name="err_no_music">No music found</string>
|
||||
|
|
|
@ -39,9 +39,14 @@
|
|||
<item name="android:scrollIndicators" tools:ignore="NewApi">top|bottom</item>
|
||||
</style>
|
||||
|
||||
<style name="PreferenceTheme.Auxio" parent="@style/PreferenceThemeOverlay">
|
||||
<item name="android:layout">@layout/fragment_preferences</item>
|
||||
</style>
|
||||
|
||||
<style name="Preference.Auxio" parent="Preference.Material">
|
||||
<item name="allowDividerBelow">false</item>
|
||||
<item name="iconSpaceReserved">false</item>
|
||||
<item name="android:background">@android:color/black</item>
|
||||
</style>
|
||||
|
||||
<style name="Preference.Auxio.DialogPreference" parent="Preference.DialogPreference.Material">
|
||||
|
|
|
@ -53,6 +53,7 @@
|
|||
<item name="colorControlNormal">?attr/colorOnSurfaceVariant</item>
|
||||
<item name="colorControlActivated">?attr/colorPrimary</item>
|
||||
|
||||
<item name="preferenceTheme">@style/PreferenceTheme.Auxio</item>
|
||||
<item name="preferenceStyle">@style/Preference.Auxio</item>
|
||||
<item name="preferenceCategoryStyle">@style/Preference.Auxio.PreferenceCategory</item>
|
||||
<item name="dialogPreferenceStyle">@style/Preference.Auxio.DialogPreference</item>
|
||||
|
|
41
app/src/main/res/xml/preferences_audio.xml
Normal file
41
app/src/main/res/xml/preferences_audio.xml
Normal file
|
@ -0,0 +1,41 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:app="http://schemas.android.com/apk/res-auto"
|
||||
app:title="@string/set_audio">
|
||||
<PreferenceCategory android:title="@string/set_playback">
|
||||
|
||||
<SwitchPreferenceCompat
|
||||
app:key="@string/set_key_headset_autoplay"
|
||||
app:summary="@string/set_headset_autoplay_desc"
|
||||
app:title="@string/set_headset_autoplay" />
|
||||
|
||||
<SwitchPreferenceCompat
|
||||
app:defaultValue="true"
|
||||
app:key="@string/set_key_rewind_prev"
|
||||
app:summary="@string/set_rewind_prev_desc"
|
||||
app:title="@string/set_rewind_prev" />
|
||||
|
||||
<SwitchPreferenceCompat
|
||||
app:defaultValue="false"
|
||||
app:key="@string/set_key_repeat_pause"
|
||||
app:summary="@string/set_repeat_pause_desc"
|
||||
app:title="@string/set_repeat_pause" />
|
||||
|
||||
</PreferenceCategory>
|
||||
|
||||
<PreferenceCategory android:title="@string/set_replay_gain">
|
||||
|
||||
<org.oxycblt.auxio.settings.ui.IntListPreference
|
||||
app:defaultValue="@integer/replay_gain_dynamic"
|
||||
app:entries="@array/entries_replay_gain"
|
||||
app:entryValues="@array/values_replay_gain"
|
||||
app:key="@string/set_key_replay_gain"
|
||||
app:title="@string/set_replay_gain_mode" />
|
||||
|
||||
<org.oxycblt.auxio.settings.ui.WrappedDialogPreference
|
||||
app:key="@string/set_key_pre_amp"
|
||||
app:summary="@string/set_pre_amp_desc"
|
||||
app:title="@string/set_pre_amp" />
|
||||
|
||||
</PreferenceCategory>
|
||||
</PreferenceScreen>
|
41
app/src/main/res/xml/preferences_music.xml
Normal file
41
app/src/main/res/xml/preferences_music.xml
Normal file
|
@ -0,0 +1,41 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<PreferenceScreen xmlns:app="http://schemas.android.com/apk/res-auto"
|
||||
app:title="@string/set_content">
|
||||
<PreferenceCategory app:title="@string/set_music">
|
||||
|
||||
<SwitchPreferenceCompat
|
||||
app:defaultValue="false"
|
||||
app:key="@string/set_key_observing"
|
||||
app:summary="@string/set_observing_desc"
|
||||
app:title="@string/set_observing" />
|
||||
|
||||
<SwitchPreferenceCompat
|
||||
app:defaultValue="true"
|
||||
app:key="@string/set_key_exclude_non_music"
|
||||
app:summary="@string/set_exclude_non_music_desc"
|
||||
app:title="@string/set_exclude_non_music" />
|
||||
|
||||
<org.oxycblt.auxio.settings.ui.WrappedDialogPreference
|
||||
app:key="@string/set_key_separators"
|
||||
app:summary="@string/set_separators_desc"
|
||||
app:title="@string/set_separators" />
|
||||
|
||||
<SwitchPreferenceCompat
|
||||
app:defaultValue="false"
|
||||
app:key="@string/set_key_hide_collaborators"
|
||||
app:summary="@string/set_hide_collaborators_desc"
|
||||
app:title="@string/set_hide_collaborators" />
|
||||
|
||||
</PreferenceCategory>
|
||||
|
||||
<PreferenceCategory app:title="@string/set_images">
|
||||
|
||||
<org.oxycblt.auxio.settings.ui.IntListPreference
|
||||
app:defaultValue="@integer/cover_mode_media_store"
|
||||
app:entries="@array/entries_cover_mode"
|
||||
app:entryValues="@array/values_cover_mode"
|
||||
app:key="@string/set_key_cover_mode"
|
||||
app:title="@string/set_cover_mode" />
|
||||
|
||||
</PreferenceCategory>
|
||||
</PreferenceScreen>
|
56
app/src/main/res/xml/preferences_personalize.xml
Normal file
56
app/src/main/res/xml/preferences_personalize.xml
Normal file
|
@ -0,0 +1,56 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:app="http://schemas.android.com/apk/res-auto"
|
||||
app:title="@string/set_personalize">
|
||||
|
||||
<PreferenceCategory app:title="@string/set_display">
|
||||
|
||||
<org.oxycblt.auxio.settings.ui.WrappedDialogPreference
|
||||
app:key="@string/set_key_home_tabs"
|
||||
app:summary="@string/set_lib_tabs_desc"
|
||||
app:title="@string/set_lib_tabs" />
|
||||
|
||||
<org.oxycblt.auxio.settings.ui.IntListPreference
|
||||
app:defaultValue="@integer/action_mode_next"
|
||||
app:entries="@array/entries_bar_action"
|
||||
app:entryValues="@array/values_bar_action"
|
||||
app:key="@string/set_key_bar_action"
|
||||
app:title="@string/set_bar_action" />
|
||||
|
||||
<org.oxycblt.auxio.settings.ui.IntListPreference
|
||||
app:defaultValue="@integer/action_mode_repeat"
|
||||
app:entries="@array/entries_notif_action"
|
||||
app:entryValues="@array/values_notif_action"
|
||||
app:key="@string/set_key_notif_action"
|
||||
app:title="@string/set_notif_action" />
|
||||
|
||||
</PreferenceCategory>
|
||||
|
||||
<PreferenceCategory android:title="@string/set_behavior">
|
||||
|
||||
<org.oxycblt.auxio.settings.ui.IntListPreference
|
||||
app:defaultValue="@integer/music_mode_songs"
|
||||
app:entries="@array/entries_library_song_playback_mode"
|
||||
app:entryValues="@array/values_library_song_playback_mode"
|
||||
app:key="@string/set_key_in_list_playback_mode"
|
||||
app:title="@string/set_library_song_playback_mode"
|
||||
app:useSimpleSummaryProvider="true" />
|
||||
|
||||
<org.oxycblt.auxio.settings.ui.IntListPreference
|
||||
app:defaultValue="@integer/music_mode_none"
|
||||
app:entries="@array/entries_detail_song_playback_mode"
|
||||
app:entryValues="@array/values_detail_song_playback_mode"
|
||||
app:key="@string/set_key_in_parent_playback_mode"
|
||||
app:title="@string/set_detail_song_playback_mode"
|
||||
app:useSimpleSummaryProvider="true" />
|
||||
|
||||
<SwitchPreferenceCompat
|
||||
app:defaultValue="true"
|
||||
app:key="@string/set_key_keep_shuffle"
|
||||
app:summary="@string/set_keep_shuffle_desc"
|
||||
app:title="@string/set_keep_shuffle" />
|
||||
|
||||
</PreferenceCategory>
|
||||
|
||||
|
||||
</PreferenceScreen>
|
66
app/src/main/res/xml/preferences_root.xml
Normal file
66
app/src/main/res/xml/preferences_root.xml
Normal file
|
@ -0,0 +1,66 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:app="http://schemas.android.com/apk/res-auto"
|
||||
android:title="@string/set_root_title">
|
||||
<Preference
|
||||
app:fragment="org.oxycblt.auxio.settings.ui.UIPreferenceFragment"
|
||||
app:icon="@drawable/ic_accent_24"
|
||||
app:summary="@string/set_ui_desc"
|
||||
app:title="@string/set_ui" />
|
||||
|
||||
<Preference
|
||||
app:fragment="org.oxycblt.auxio.settings.ui.PersonalizePreferenceFragment"
|
||||
app:icon="@drawable/ic_config_24"
|
||||
app:summary="@string/set_personalize_desc"
|
||||
app:title="@string/set_personalize" />
|
||||
|
||||
<Preference
|
||||
app:fragment="org.oxycblt.auxio.settings.ui.MusicPreferenceFragment"
|
||||
app:icon="@drawable/ic_song_24"
|
||||
app:summary="@string/set_content_desc"
|
||||
app:title="@string/set_content" />
|
||||
|
||||
<Preference
|
||||
app:fragment="org.oxycblt.auxio.settings.ui.AudioPreferenceFragment"
|
||||
app:icon="@drawable/ic_play_24"
|
||||
app:summary="@string/set_audio_desc"
|
||||
app:title="@string/set_audio" />
|
||||
|
||||
<PreferenceCategory app:title="@string/set_library">
|
||||
|
||||
<org.oxycblt.auxio.settings.ui.WrappedDialogPreference
|
||||
app:key="@string/set_key_music_dirs"
|
||||
app:summary="@string/set_dirs_desc"
|
||||
app:title="@string/set_dirs" />
|
||||
|
||||
<Preference
|
||||
app:key="@string/set_key_reindex"
|
||||
app:summary="@string/set_reindex_desc"
|
||||
app:title="@string/set_reindex" />
|
||||
|
||||
<Preference
|
||||
app:key="@string/set_key_rescan"
|
||||
app:summary="@string/set_rescan_desc"
|
||||
app:title="@string/set_rescan" />
|
||||
|
||||
</PreferenceCategory>
|
||||
|
||||
<PreferenceCategory app:title="@string/set_state">
|
||||
|
||||
<Preference
|
||||
app:key="@string/set_key_save_state"
|
||||
app:summary="@string/set_save_desc"
|
||||
app:title="@string/set_save_state" />
|
||||
|
||||
<Preference
|
||||
app:key="@string/set_key_wipe_state"
|
||||
app:summary="@string/set_wipe_desc"
|
||||
app:title="@string/set_wipe_state" />
|
||||
|
||||
<Preference
|
||||
app:key="@string/set_key_restore_state"
|
||||
app:summary="@string/set_restore_desc"
|
||||
app:title="@string/set_restore_state" />
|
||||
</PreferenceCategory>
|
||||
|
||||
</PreferenceScreen>
|
31
app/src/main/res/xml/preferences_ui.xml
Normal file
31
app/src/main/res/xml/preferences_ui.xml
Normal file
|
@ -0,0 +1,31 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<PreferenceScreen xmlns:app="http://schemas.android.com/apk/res-auto"
|
||||
app:title="@string/set_ui">
|
||||
|
||||
<org.oxycblt.auxio.settings.ui.IntListPreference
|
||||
app:defaultValue="@integer/theme_auto"
|
||||
app:entries="@array/entries_theme"
|
||||
app:entryIcons="@array/icons_theme"
|
||||
app:entryValues="@array/values_theme"
|
||||
app:icon="@drawable/ic_light_24"
|
||||
app:key="@string/set_key_theme"
|
||||
app:title="@string/set_theme" />
|
||||
|
||||
<org.oxycblt.auxio.settings.ui.WrappedDialogPreference
|
||||
app:icon="@drawable/ic_accent_dynamic_24"
|
||||
app:key="@string/set_key_accent"
|
||||
app:title="@string/set_accent" />
|
||||
|
||||
<SwitchPreferenceCompat
|
||||
app:defaultValue="false"
|
||||
app:key="@string/set_key_black_theme"
|
||||
app:summary="@string/set_black_mode_desc"
|
||||
app:title="@string/set_black_mode" />
|
||||
|
||||
<SwitchPreferenceCompat
|
||||
app:defaultValue="false"
|
||||
app:key="@string/set_key_round_mode"
|
||||
app:summary="@string/set_round_mode_desc"
|
||||
app:title="@string/set_round_mode" />
|
||||
|
||||
</PreferenceScreen>
|
|
@ -1,177 +0,0 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<PreferenceScreen xmlns:app="http://schemas.android.com/apk/res-auto">
|
||||
<PreferenceCategory app:title="@string/set_ui">
|
||||
|
||||
<org.oxycblt.auxio.settings.prefs.IntListPreference
|
||||
app:defaultValue="@integer/theme_auto"
|
||||
app:entries="@array/entries_theme"
|
||||
app:entryIcons="@array/icons_theme"
|
||||
app:entryValues="@array/values_theme"
|
||||
app:icon="@drawable/ic_light_24"
|
||||
app:key="@string/set_key_theme"
|
||||
app:title="@string/set_theme" />
|
||||
|
||||
<org.oxycblt.auxio.settings.prefs.WrappedDialogPreference
|
||||
app:icon="@drawable/ic_accent_24"
|
||||
app:key="@string/set_key_accent"
|
||||
app:title="@string/set_accent" />
|
||||
|
||||
<SwitchPreferenceCompat
|
||||
app:defaultValue="false"
|
||||
app:key="@string/set_key_black_theme"
|
||||
app:summary="@string/set_black_mode_desc"
|
||||
app:title="@string/set_black_mode" />
|
||||
|
||||
</PreferenceCategory>
|
||||
|
||||
<PreferenceCategory app:title="@string/set_display">
|
||||
|
||||
<org.oxycblt.auxio.settings.prefs.WrappedDialogPreference
|
||||
app:key="@string/set_key_home_tabs"
|
||||
app:summary="@string/set_lib_tabs_desc"
|
||||
app:title="@string/set_lib_tabs" />
|
||||
|
||||
<SwitchPreferenceCompat
|
||||
app:defaultValue="false"
|
||||
app:key="@string/set_key_hide_collaborators"
|
||||
app:summary="@string/set_hide_collaborators_desc"
|
||||
app:title="@string/set_hide_collaborators" />
|
||||
|
||||
<SwitchPreferenceCompat
|
||||
app:defaultValue="false"
|
||||
app:key="@string/set_key_round_mode"
|
||||
app:summary="@string/set_round_mode_desc"
|
||||
app:title="@string/set_round_mode" />
|
||||
|
||||
<org.oxycblt.auxio.settings.prefs.IntListPreference
|
||||
app:defaultValue="@integer/action_mode_next"
|
||||
app:entries="@array/entries_bar_action"
|
||||
app:entryValues="@array/values_bar_action"
|
||||
app:key="@string/set_key_bar_action"
|
||||
app:title="@string/set_bar_action" />
|
||||
|
||||
<org.oxycblt.auxio.settings.prefs.IntListPreference
|
||||
app:defaultValue="@integer/action_mode_repeat"
|
||||
app:entries="@array/entries_notif_action"
|
||||
app:entryValues="@array/values_notif_action"
|
||||
app:key="@string/set_key_notif_action"
|
||||
app:title="@string/set_notif_action" />
|
||||
|
||||
</PreferenceCategory>
|
||||
|
||||
<PreferenceCategory app:title="@string/set_audio">
|
||||
|
||||
<SwitchPreferenceCompat
|
||||
app:key="@string/set_key_headset_autoplay"
|
||||
app:summary="@string/set_headset_autoplay_desc"
|
||||
app:title="@string/set_headset_autoplay" />
|
||||
|
||||
<org.oxycblt.auxio.settings.prefs.IntListPreference
|
||||
app:defaultValue="@integer/replay_gain_dynamic"
|
||||
app:entries="@array/entries_replay_gain"
|
||||
app:entryValues="@array/values_replay_gain"
|
||||
app:key="@string/set_key_replay_gain"
|
||||
app:title="@string/set_replay_gain" />
|
||||
|
||||
<org.oxycblt.auxio.settings.prefs.WrappedDialogPreference
|
||||
app:key="@string/set_key_pre_amp"
|
||||
app:summary="@string/set_pre_amp_desc"
|
||||
app:title="@string/set_pre_amp" />
|
||||
|
||||
</PreferenceCategory>
|
||||
|
||||
<PreferenceCategory app:title="@string/set_behavior">
|
||||
|
||||
<org.oxycblt.auxio.settings.prefs.IntListPreference
|
||||
app:defaultValue="@integer/music_mode_songs"
|
||||
app:entries="@array/entries_library_song_playback_mode"
|
||||
app:entryValues="@array/values_library_song_playback_mode"
|
||||
app:key="@string/set_key_in_list_playback_mode"
|
||||
app:title="@string/set_library_song_playback_mode"
|
||||
app:useSimpleSummaryProvider="true" />
|
||||
|
||||
<org.oxycblt.auxio.settings.prefs.IntListPreference
|
||||
app:defaultValue="@integer/music_mode_none"
|
||||
app:entries="@array/entries_detail_song_playback_mode"
|
||||
app:entryValues="@array/values_detail_song_playback_mode"
|
||||
app:key="@string/set_key_in_parent_playback_mode"
|
||||
app:title="@string/set_detail_song_playback_mode"
|
||||
app:useSimpleSummaryProvider="true" />
|
||||
|
||||
<SwitchPreferenceCompat
|
||||
app:defaultValue="true"
|
||||
app:key="@string/set_key_keep_shuffle"
|
||||
app:summary="@string/set_keep_shuffle_desc"
|
||||
app:title="@string/set_keep_shuffle" />
|
||||
|
||||
<SwitchPreferenceCompat
|
||||
app:defaultValue="true"
|
||||
app:key="@string/set_key_rewind_prev"
|
||||
app:summary="@string/set_rewind_prev_desc"
|
||||
app:title="@string/set_rewind_prev" />
|
||||
|
||||
<SwitchPreferenceCompat
|
||||
app:defaultValue="false"
|
||||
app:key="@string/set_key_repeat_pause"
|
||||
app:summary="@string/set_repeat_pause_desc"
|
||||
app:title="@string/set_repeat_pause" />
|
||||
|
||||
<Preference
|
||||
app:key="@string/set_key_save_state"
|
||||
app:summary="@string/set_save_desc"
|
||||
app:title="@string/set_save_state" />
|
||||
|
||||
<Preference
|
||||
app:key="@string/set_key_wipe_state"
|
||||
app:summary="@string/set_wipe_desc"
|
||||
app:title="@string/set_wipe_state" />
|
||||
|
||||
<Preference
|
||||
app:key="@string/set_key_restore_state"
|
||||
app:summary="@string/set_restore_desc"
|
||||
app:title="@string/set_restore_state" />
|
||||
|
||||
</PreferenceCategory>
|
||||
|
||||
<PreferenceCategory app:title="@string/set_content">
|
||||
|
||||
<Preference
|
||||
app:key="@string/set_key_reindex"
|
||||
app:summary="@string/set_reindex_desc"
|
||||
app:title="@string/set_reindex" />
|
||||
<Preference
|
||||
app:key="@string/set_key_rescan"
|
||||
app:summary="@string/set_rescan_desc"
|
||||
app:title="@string/set_rescan" />
|
||||
|
||||
<SwitchPreferenceCompat
|
||||
app:defaultValue="false"
|
||||
app:key="@string/set_key_observing"
|
||||
app:summary="@string/set_observing_desc"
|
||||
app:title="@string/set_observing" />
|
||||
|
||||
<org.oxycblt.auxio.settings.prefs.IntListPreference
|
||||
app:defaultValue="@integer/cover_mode_media_store"
|
||||
app:entries="@array/entries_cover_mode"
|
||||
app:entryValues="@array/values_cover_mode"
|
||||
app:key="@string/set_key_cover_mode"
|
||||
app:title="@string/set_cover_mode" />
|
||||
|
||||
<org.oxycblt.auxio.settings.prefs.WrappedDialogPreference
|
||||
app:key="@string/set_key_music_dirs"
|
||||
app:summary="@string/set_dirs_desc"
|
||||
app:title="@string/set_dirs" />
|
||||
|
||||
<SwitchPreferenceCompat
|
||||
app:defaultValue="true"
|
||||
app:key="@string/set_key_exclude_non_music"
|
||||
app:summary="@string/set_exclude_non_music_desc"
|
||||
app:title="@string/set_exclude_non_music" />
|
||||
|
||||
<org.oxycblt.auxio.settings.prefs.WrappedDialogPreference
|
||||
app:key="@string/set_key_separators"
|
||||
app:summary="@string/set_separators_desc"
|
||||
app:title="@string/set_separators" />
|
||||
|
||||
</PreferenceCategory>
|
||||
</PreferenceScreen>
|
Loading…
Reference in a new issue