Add ru [Russian] translations
Add partial translations for Russian, along with some new translations for other languages.
This commit is contained in:
parent
2099453d01
commit
d98d41102d
13 changed files with 127 additions and 20 deletions
|
@ -38,7 +38,7 @@ class MusicLoader(private val app: Application) {
|
|||
return Response.FAILED
|
||||
}
|
||||
|
||||
if (songs.size == 0) {
|
||||
if (songs.isEmpty()) {
|
||||
return Response.NO_MUSIC
|
||||
}
|
||||
|
||||
|
|
|
@ -502,7 +502,7 @@ class PlaybackService : Service(), Player.EventListener, PlaybackStateManager.Ca
|
|||
/**
|
||||
* A [BroadcastReceiver] for receiving system events from the media notification or the headset.
|
||||
*/
|
||||
inner class SystemEventReceiver : BroadcastReceiver() {
|
||||
private inner class SystemEventReceiver : BroadcastReceiver() {
|
||||
override fun onReceive(context: Context, intent: Intent) {
|
||||
val action = intent.action
|
||||
|
||||
|
|
|
@ -7,6 +7,7 @@ import androidx.lifecycle.Transformations
|
|||
import androidx.lifecycle.ViewModel
|
||||
import androidx.lifecycle.viewModelScope
|
||||
import kotlinx.coroutines.launch
|
||||
import org.oxycblt.auxio.R
|
||||
import org.oxycblt.auxio.logD
|
||||
import org.oxycblt.auxio.logE
|
||||
import org.oxycblt.auxio.music.Album
|
||||
|
@ -21,6 +22,7 @@ import org.oxycblt.auxio.playback.state.PlaybackMode
|
|||
import org.oxycblt.auxio.playback.state.PlaybackStateManager
|
||||
import org.oxycblt.auxio.recycler.SortMode
|
||||
import org.oxycblt.auxio.settings.SettingsManager
|
||||
import org.oxycblt.auxio.ui.createToast
|
||||
|
||||
/**
|
||||
* The ViewModel that provides a UI frontend for [PlaybackStateManager].
|
||||
|
@ -315,6 +317,8 @@ class PlaybackViewModel : ViewModel(), PlaybackStateManager.Callback {
|
|||
fun save(context: Context) {
|
||||
viewModelScope.launch {
|
||||
playbackManager.saveStateToDatabase(context)
|
||||
|
||||
context.getString(R.string.debug_state_saved).createToast(context)
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -21,7 +21,6 @@ import org.oxycblt.auxio.recycler.DisplayMode
|
|||
import org.oxycblt.auxio.settings.ui.AccentAdapter
|
||||
import org.oxycblt.auxio.ui.ACCENTS
|
||||
import org.oxycblt.auxio.ui.Accent
|
||||
import org.oxycblt.auxio.ui.createToast
|
||||
|
||||
/**
|
||||
* The actual fragment containing the settings menu. Inherits [PreferenceFragmentCompat].
|
||||
|
@ -134,7 +133,6 @@ class SettingsListFragment : PreferenceFragmentCompat() {
|
|||
SettingsManager.Keys.KEY_DEBUG_SAVE -> {
|
||||
onPreferenceClickListener = Preference.OnPreferenceClickListener {
|
||||
playbackModel.save(requireContext())
|
||||
getString(R.string.debug_state_saved).createToast(requireContext())
|
||||
|
||||
true
|
||||
}
|
||||
|
|
|
@ -25,6 +25,8 @@ import com.google.android.material.button.MaterialButton
|
|||
import org.oxycblt.auxio.R
|
||||
import org.oxycblt.auxio.logE
|
||||
|
||||
// A Variety of shortcut, convenience, hacks, and extension functions used across Auxio.
|
||||
|
||||
// --- VIEW CONFIGURATION ---
|
||||
|
||||
/**
|
||||
|
@ -48,17 +50,17 @@ fun TextView.setTextColorResource(@ColorRes color: Int) {
|
|||
}
|
||||
|
||||
/**
|
||||
* Apply accents to a [MaterialButton]
|
||||
* Apply accents to a [MaterialButton] manually.
|
||||
* Yes, I could change my theming to Material but that would have so many second-and-third order
|
||||
* effects that I *really* dont want to deal with it. This hack works.
|
||||
* @param highlighted Whether the MaterialButton has an "Unimportant" style or not.
|
||||
* Required because you cant determine a style of a view before API 29
|
||||
*/
|
||||
fun MaterialButton.applyAccents(highlighted: Boolean) {
|
||||
val accent = Accent.get().color.toColor(context)
|
||||
|
||||
if (highlighted) {
|
||||
backgroundTintList = ColorStateList.valueOf(accent)
|
||||
backgroundTintList = Accent.get().color.toStateList(context)
|
||||
} else {
|
||||
setTextColor(accent)
|
||||
setTextColor(Accent.get().color.toColor(context))
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -84,7 +86,7 @@ fun String.createToast(context: Context) {
|
|||
|
||||
/**
|
||||
* Ensure that a not-null [AppCompatActivity] will be returned.
|
||||
* @throws IllegalStateException When there is no activity or if the activity is null
|
||||
* @throws IllegalStateException When there is no [AppCompatActivity] or if the activity is null
|
||||
*/
|
||||
fun Fragment.requireCompatActivity(): AppCompatActivity {
|
||||
val activity = requireActivity()
|
||||
|
@ -127,6 +129,7 @@ fun Int.toColor(context: Context): Int {
|
|||
* Resolve a color and turn it into a [ColorStateList]
|
||||
* @param context [Context] required
|
||||
* @return The resolved color as a [ColorStateList]
|
||||
* @see toColor
|
||||
*/
|
||||
fun Int.toStateList(context: Context): ColorStateList = ColorStateList.valueOf(toColor(context))
|
||||
|
||||
|
|
|
@ -23,7 +23,7 @@
|
|||
<string name="label_go_album">Zum Album gehen</string>
|
||||
<string name="label_queue">Warteschlange</string>
|
||||
<string name="label_queue_add">Zur Warteschlange hinzufügen</string>
|
||||
<string name="label_queue_added">der Warteschlange hinzugefügt</string>
|
||||
<string name="label_queue_added">Der Warteschlange hinzugefügt</string>
|
||||
<string name="label_next_user_queue">Nächsten im Warteschlange</string>
|
||||
<string name="label_about">Über</string>
|
||||
<string name="label_version">Version</string>
|
||||
|
@ -55,7 +55,7 @@
|
|||
<string name="setting_behavior_keep_shuffle">Shuffle-Einstellung merken</string>
|
||||
<string name="error_music_load_failed">Laden die Musik fehlgeschlagen</string>
|
||||
<string name="error_no_browser">Link könnte nicht geöffnet werden</string>
|
||||
<string name="hint_search_library">Suchen deine Musikbibliothek…</string>
|
||||
<string name="hint_search_library">Durchsuche deine Musikbibliothek…</string>
|
||||
<string name="description_album_cover">Albumcover für %s</string>
|
||||
<string name="description_artist_image">Künstlerbild für %s</string>
|
||||
<string name="description_genre_image">Genrebild für %s</string>
|
||||
|
@ -88,18 +88,18 @@
|
|||
<string name="placeholder_genre">Unbekanntes Genre</string>
|
||||
<string name="placeholder_artist">Unbekannter Künstler</string>
|
||||
<string name="placeholder_album">Unbekanntes Album</string>
|
||||
<string name="format_songs_loaded">Lieden geladen: %d</string>
|
||||
<string name="format_songs_loaded">Lieder geladen: %d</string>
|
||||
<string name="label_author">Entwickelt von OxygenCobalt</string>
|
||||
<string name="description_play">Abspielen</string>
|
||||
<string name="description_pause">Pausieren</string>
|
||||
<string name="description_auxio_icon">Auxio-Icon</string>
|
||||
<string name="description_search_clear">Löschen Suchanfrage</string>
|
||||
<string name="description_search_clear">"Suchanfrage Löschen "</string>
|
||||
<string name="description_change_loop">Art die Wiederholung ändern</string>
|
||||
<string name="description_shuffle_off">Zufällig ausschalten</string>
|
||||
<string name="description_shuffle_on">Zufällig anschalten</string>
|
||||
<string name="description_skip_prev">zu letzter Lied springen</string>
|
||||
<string name="description_skip_next">Springt zu nächster springen</string>
|
||||
<string name="description_clear_user_queue">Warteschlange Entleeren</string>
|
||||
<string name="description_skip_prev">Zu letzter Lied springen</string>
|
||||
<string name="description_skip_next">Zu nächster Lied springen</string>
|
||||
<string name="description_clear_user_queue">Warteschlange entleeren</string>
|
||||
<string name="setting_playback_focus_desc">Pausieren wenn anderes Audio abspielt [Bsp. Alarme]</string>
|
||||
<string name="setting_playback_plug_mgt_desc">Abspielen/Pausieren wenn der Kopfhöreranschluss ändern</string>
|
||||
<string name="setting_use_alt_shuffle">Zufällig-Aktionstaste Vorziehen</string>
|
||||
|
@ -117,7 +117,7 @@
|
|||
<string name="setting_use_alt_action">Ändere Aktionstaste verwenden</string>
|
||||
<string name="setting_behavior_keep_shuffle_desc">Lassen Zufällig an, wenn ein neues Lied anspielen</string>
|
||||
<string name="setting_show_covers_desc">Ausschalten zu Speicherverbrauch sparen</string>
|
||||
<string name="setting_color_desc">Zeigen Albumcover an der Benachrichtigung</string>
|
||||
<string name="setting_color_desc">Albumcover am Benachrichtigung zeigen</string>
|
||||
<string name="setting_quality_covers_desc">Verbesst die Albumcover Qualität, jedoch die Ladezeit und höher Speicherverbrauch beeinträchtigt</string>
|
||||
<string name="setting_behavior_rewind_prev">Zurückspulen, bevor zurück springen</string>
|
||||
<string name="info_app_desc">Ein einfacher und flexibeler Musik-Player für Android</string>
|
||||
|
|
|
@ -56,4 +56,18 @@
|
|||
<string name="color_label_grey">Γκρί</string>
|
||||
<string name="color_label_blue_grey">Γαλάζιος Γκρί</string>
|
||||
<string name="format_songs_loaded">Τραγούδια φορτώθηκε: %d</string>
|
||||
<plurals name="format_song_count">
|
||||
<item quantity="one">%d Τραγούδι</item>
|
||||
<item quantity="other">%d Τραγούδια</item>
|
||||
</plurals>
|
||||
|
||||
<plurals name="format_album_count">
|
||||
<item quantity="one">%d Άλμπουμ</item>
|
||||
<item quantity="other">%d Άλμπουμ</item>
|
||||
</plurals>
|
||||
<string name="setting_behavior_end_stop">Διακοπή</string>
|
||||
<string name="label_sort_alpha_down">Α-Ω</string>
|
||||
<string name="label_sort_alpha_up">Ω-Α</string>
|
||||
<string name="label_sort_none">Προεπιλεγμένη</string>
|
||||
<string name="setting_quality_covers">Παράληψη των Media Store εξωφύλλων</string>
|
||||
</resources>
|
|
@ -81,4 +81,5 @@
|
|||
</plurals>
|
||||
<string name="hint_search_library">Busca en tu biblioteca…</string>
|
||||
<string name="setting_playback_plug_mgt">Conexión de auriculares</string>
|
||||
<string name="setting_quality_covers">Ignorar imágenes de la librería del sistema</string>
|
||||
</resources>
|
|
@ -63,7 +63,7 @@
|
|||
<string name="format_songs_loaded">Titres chargés: %d</string>
|
||||
<string name="label_all_songs">Titres</string>
|
||||
<string name="label_queue_add">Ajouter à la file d\'attente</string>
|
||||
<string name="setting_lib_display">Bibliothèque Objets</string>
|
||||
<string name="setting_lib_display">Objets Bibliothèque</string>
|
||||
<string name="color_label_red">Rouge</string>
|
||||
<string name="description_track_number">Morceau %d</string>
|
||||
<plurals name="format_song_count">
|
||||
|
@ -80,4 +80,5 @@
|
|||
<string name="label_author">Développé par OxygenCobalt</string>
|
||||
<string name="setting_playback_plug_mgt">Branchement du casque</string>
|
||||
<string name="hint_search_library">Recherche dans votre bibliothèque…</string>
|
||||
<string name="setting_quality_covers">Ignorer le stockage des pochettes</string>
|
||||
</resources>
|
|
@ -80,4 +80,5 @@
|
|||
</plurals>
|
||||
<string name="hint_search_library">Cerca nella tua libreria…</string>
|
||||
<string name="setting_playback_plug_mgt">Inserimento cuffie</string>
|
||||
<string name="setting_quality_covers">Ignora le copertine del Media Store</string>
|
||||
</resources>
|
|
@ -75,4 +75,5 @@
|
|||
<item quantity="one">%d Álbum</item>
|
||||
<item quantity="other">%d Álbuns</item>
|
||||
</plurals>
|
||||
<string name="setting_quality_covers">Ignorar capas Media Store</string>
|
||||
</resources>
|
|
@ -61,6 +61,11 @@
|
|||
<string name="color_label_brown">Moreno</string>
|
||||
<string name="color_label_grey">Grisalho</string>
|
||||
<string name="color_label_blue_grey">Azul-grisalho</string>
|
||||
<string name="format_songs_loaded">Músicas carregado: %d</string>
|
||||
<string name="label_about">Sobre</string>
|
||||
<string name="label_version">Versão</string>
|
||||
<string name="label_code">Ver no GitHub</string>
|
||||
<string name="label_licenses">Licenças</string>
|
||||
<plurals name="format_song_count">
|
||||
<item quantity="one">%d Música</item>
|
||||
<item quantity="other">%d Músicas</item>
|
||||
|
@ -70,5 +75,5 @@
|
|||
<item quantity="one">%d Álbum</item>
|
||||
<item quantity="other">%d Álbuns</item>
|
||||
</plurals>
|
||||
<string name="format_songs_loaded">Músicas carregado: %d</string>
|
||||
<string name="setting_quality_covers">Ignorar capas Media Store</string>
|
||||
</resources>
|
79
app/src/main/res/values-ru/strings.xml
Normal file
79
app/src/main/res/values-ru/strings.xml
Normal file
|
@ -0,0 +1,79 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<resources>
|
||||
<string name="label_retry">Повторить попытку</string>
|
||||
<string name="label_grant">Разрешить</string>
|
||||
<string name="label_library">Библиотека</string>
|
||||
<string name="label_genres">Жанры</string>
|
||||
<string name="label_artists">Исполнители</string>
|
||||
<string name="label_albums">Альбомы</string>
|
||||
<string name="label_songs">Треки</string>
|
||||
<string name="label_all_songs">Треки</string>
|
||||
<string name="hint_search_library">Поиск в библиотеке…</string>
|
||||
<string name="label_search">Поиск</string>
|
||||
<string name="label_filter">Фильтр</string>
|
||||
<string name="label_filter_all">Всё</string>
|
||||
<string name="label_sort">Сортировка</string>
|
||||
<string name="label_sort_none">По умолчанию</string>
|
||||
<string name="label_sort_alpha_down">А-Я</string>
|
||||
<string name="label_sort_alpha_up">Я-А</string>
|
||||
<string name="label_playback">Сейчас воспроизводится</string>
|
||||
<string name="label_play">Воспроизвести</string>
|
||||
<string name="label_shuffle">Перемешать</string>
|
||||
<string name="label_go_artist">Перейти к исполнителю</string>
|
||||
<string name="label_go_album">Перейти к альбому</string>
|
||||
<string name="label_queue">Очередь</string>
|
||||
<string name="label_queue_add">Добавить в очередь</string>
|
||||
<string name="label_queue_added">Добавлена в очередь</string>
|
||||
<string name="label_next_user_queue">Далее</string>
|
||||
<string name="label_about">О программе</string>
|
||||
<string name="label_version">Версия</string>
|
||||
<string name="label_code">Открыть на GitHub</string>
|
||||
<string name="label_licenses">Лицензии</string>
|
||||
<string name="setting_title">Настройки</string>
|
||||
<string name="setting_ui">Вид экрана воспроизведения</string>
|
||||
<string name="setting_theme">Тема</string>
|
||||
<string name="setting_theme_night">Темная</string>
|
||||
<string name="setting_theme_day">Светлая</string>
|
||||
<string name="setting_accent">Цвет акцента</string>
|
||||
<string name="setting_theme_auto">Автоматически</string>
|
||||
<string name="setting_color_notif">Цветное уведомление</string>
|
||||
<string name="setting_playback">Аудио</string>
|
||||
<string name="setting_playback_audio_focus">Фокусировка аудио</string>
|
||||
<string name="setting_playback_plug_mgt">Гарнитура</string>
|
||||
<string name="setting_behavior">Поведение</string>
|
||||
<string name="setting_behavior_end_loop">Продолжить</string>
|
||||
<string name="setting_behavior_end_stop">Стоп</string>
|
||||
<string name="setting_behavior_keep_shuffle">Запомнить перемешивание</string>
|
||||
<string name="error_no_music">Музыка не найдена</string>
|
||||
<string name="description_track_number">Трек %d</string>
|
||||
<string name="description_error">Ошибка</string>
|
||||
<string name="description_clear_user_queue">Очистить очередь</string>
|
||||
<string name="description_play">Воспроизвести</string>
|
||||
<string name="description_pause">Пауза</string>
|
||||
<string name="color_label_red">Расный</string>
|
||||
<string name="color_label_pink">Розовый</string>
|
||||
<string name="color_label_purple">Пурпурный</string>
|
||||
<string name="color_label_light_blue">Голубой</string>
|
||||
<string name="color_label_teal">Зелёный</string>
|
||||
<string name="color_label_green">Светло-Зелёный</string>
|
||||
<string name="color_label_yellow">Оранжевый</string>
|
||||
<string name="color_label_light_green">Жёлтый</string>
|
||||
<string name="color_label_orange">Коричневый</string>
|
||||
<string name="color_label_brown">Седой</string>
|
||||
<string name="color_label_blue_grey">Нейтральный</string>
|
||||
<string name="format_songs_loaded">Треки загружено: %d</string>
|
||||
<plurals name="format_song_count">
|
||||
<item quantity="one">%d Песня</item>
|
||||
<item quantity="few">%d Песни</item>
|
||||
<item quantity="many">%d Песен</item>
|
||||
<item quantity="other">%d Треки</item>
|
||||
</plurals>
|
||||
|
||||
<plurals name="format_album_count">
|
||||
<item quantity="one">%d Альбом</item>
|
||||
<item quantity="few">%d Альбома</item>
|
||||
<item quantity="many">%d Альбомов</item>
|
||||
<item quantity="other">%d Альбомы</item>
|
||||
</plurals>
|
||||
<string name="setting_quality_covers">Игнорировать хранилище обложек альбомов</string>
|
||||
</resources>
|
Loading…
Reference in a new issue