feat(ui): add custom theme color support and share app functionality

Introduce a new custom theme feature that allows users to personalize the application background color using RGB sliders, hex input, or a set of predefined palettes.

Key changes include:
* **Custom Theme Engine**: Added `CustomThemeFragment` and `ThemeHelper` to manage color selection and application. The UI dynamically updates the background color across the `MainActivity` and `PlayerFragment` when preferences change.
* **Android TV Support**: Provided a specialized layout for television devices (`fragment_custom_theme.xml` in `layout-television`) with optimized focus handling for D-pad navigation.
* **Share Feature**: Implemented a "Share App" preference in `SettingsFragment` that triggers a standard Android share intent and displays a thank-you notification upon use.
* **Localization**: Added Ukrainian language support and updated string resources for multiple locales (DE, DA, EL, FR, JA, NL, PL, RU) to include the new theme and share options.
* **Persistence**: Updated `PreferencesHelper` and `Keys` to store theme-related settings, including the enabled state, selected color, and predefined color index.
This commit is contained in:
2026-06-01 19:32:46 +02:00
parent 4429ed4057
commit 181ebd47df
29 changed files with 947 additions and 3 deletions
@@ -0,0 +1,9 @@
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:height="24dp"
android:viewportHeight="24"
android:viewportWidth="24"
android:width="24dp">
<path
android:fillColor="@color/icon_default"
android:pathData="M7,14c-1.66,0 -3,1.34 -3,3 0,1.31 -1.16,2 -2,2 0.92,1.22 2.49,2 4,2 2.21,0 4,-1.79 4,-4 0,-1.66 -1.34,-3 -3,-3zM20.71,4.63l-1.34,-1.34c-0.39,-0.39 -1.02,-0.39 -1.41,0L9,12.25 11.75,15l8.96,-8.96c0.39,-0.39 0.39,-1.02 0,-1.41z"/>
</vector>
+1 -1
View File
@@ -4,6 +4,6 @@
android:viewportWidth="24"
android:viewportHeight="24">
<path
android:fillColor="@color/player_sheet_icon"
android:fillColor="@color/icon_default"
android:pathData="M18,16.08c-0.76,0 -1.44,0.3 -1.96,0.77L8.91,12.7c0.05,-0.23 0.09,-0.46 0.09,-0.7s-0.04,-0.47 -0.09,-0.7l7.05,-4.11c0.54,0.5 1.25,0.81 2.04,0.81 1.66,0 3,-1.34 3,-3s-1.34,-3 -3,-3 -3,1.34 -3,3c0,0.24 0.04,0.47 0.09,0.7L8.04,9.81C7.5,9.31 6.79,9 6,9c-1.66,0 -3,1.34 -3,3s1.34,3 3,3c0.79,0 1.5,-0.31 2.04,-0.81l7.12,4.16c-0.05,0.21 -0.08,0.43 -0.08,0.65 0,1.61 1.31,2.92 2.92,2.92s2.92,-1.31 2.92,-2.92 -1.31,-2.92 -2.92,-2.92z" />
</vector>
@@ -0,0 +1,19 @@
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<!-- Highlight when focused (TV navigation) -->
<item android:state_focused="true">
<shape android:shape="rectangle">
<solid android:color="#44888888" />
<stroke android:width="3dp" android:color="?attr/colorPrimary" />
<corners android:radius="12dp" />
</shape>
</item>
<!-- Highlight when selected (Active color) -->
<item android:state_selected="true">
<shape android:shape="rectangle">
<stroke android:width="3dp" android:color="?attr/colorSecondary" />
<corners android:radius="12dp" />
</shape>
</item>
<item android:drawable="@android:color/transparent" />
</selector>
@@ -0,0 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="oval">
<solid android:color="@android:color/white" />
<stroke android:width="2dp" android:color="#CCCCCC" />
</shape>
@@ -0,0 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android">
<stroke android:width="3dp" android:color="#000000" />
<padding android:bottom="8dp" android:left="8dp" android:right="8dp" android:top="8dp" />
<corners android:radius="8dp" />
</shape>
@@ -0,0 +1,145 @@
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@android:color/transparent"
android:orientation="horizontal"
android:padding="24dp">
<!-- LEFT SIDE: CONTROLS -->
<androidx.core.widget.NestedScrollView
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="1.5">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical">
<TextView
android:id="@+id/predefined_label"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/theme_predefined_colors"
android:textAppearance="@style/TextAppearance.Material3.TitleLarge" />
<androidx.recyclerview.widget.RecyclerView
android:id="@+id/color_recycler_view"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="16dp"
app:layoutManager="androidx.recyclerview.widget.GridLayoutManager"
app:spanCount="5"
tools:listitem="@layout/element_color_circle" />
<TextView
android:id="@+id/custom_label"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="32dp"
android:text="@string/theme_custom_rgb"
android:textAppearance="@style/TextAppearance.Material3.TitleLarge" />
<LinearLayout
android:id="@+id/rgb_controls"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="16dp"
android:background="@drawable/shape_rgb_controls_border"
android:orientation="vertical">
<TextView
android:id="@+id/red_label"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/theme_red"
android:textSize="18sp" />
<SeekBar
android:id="@+id/seek_red"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="8dp"
android:max="255"
android:focusable="true" />
<TextView
android:id="@+id/green_label"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="16dp"
android:text="@string/theme_green"
android:textSize="18sp" />
<SeekBar
android:id="@+id/seek_green"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="8dp"
android:max="255"
android:focusable="true" />
<TextView
android:id="@+id/blue_label"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="16dp"
android:text="@string/theme_blue"
android:textSize="18sp" />
<SeekBar
android:id="@+id/seek_blue"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="8dp"
android:max="255"
android:focusable="true" />
</LinearLayout>
</LinearLayout>
</androidx.core.widget.NestedScrollView>
<!-- RIGHT SIDE: PREVIEW & APPLY -->
<LinearLayout
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="1"
android:gravity="center"
android:orientation="vertical"
android:padding="24dp">
<FrameLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="@drawable/shape_rgb_controls_border">
<View
android:id="@+id/color_preview"
android:layout_width="180dp"
android:layout_height="180dp"
android:background="@android:color/black" />
</FrameLayout>
<com.google.android.material.textfield.TextInputLayout
android:id="@+id/hex_input_layout"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="24dp">
<com.google.android.material.textfield.TextInputEditText
android:id="@+id/hex_code"
android:layout_width="160dp"
android:layout_height="wrap_content"
android:gravity="center"
android:inputType="textCapCharacters"
android:maxLength="9"
android:textAppearance="@style/TextAppearance.Material3.HeadlineSmall"
tools:text="#FF000000" />
</com.google.android.material.textfield.TextInputLayout>
</LinearLayout>
</LinearLayout>
@@ -2,6 +2,7 @@
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/main_root"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="?android:attr/colorBackground"
@@ -0,0 +1,17 @@
<?xml version="1.0" encoding="utf-8"?>
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="60dp"
android:layout_height="60dp"
android:layout_margin="4dp"
android:focusable="true"
android:clickable="true"
android:background="@drawable/selector_color_circle">
<View
android:id="@+id/color_circle"
android:layout_width="48dp"
android:layout_height="48dp"
android:layout_gravity="center"
android:background="@drawable/shape_color_circle" />
</FrameLayout>
@@ -0,0 +1,132 @@
<?xml version="1.0" encoding="utf-8"?>
<androidx.core.widget.NestedScrollView xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@android:color/transparent"
android:padding="16dp">
<androidx.constraintlayout.widget.ConstraintLayout
android:layout_width="match_parent"
android:layout_height="wrap_content">
<TextView
android:id="@+id/predefined_label"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="16dp"
android:text="@string/theme_predefined_colors"
android:textAppearance="@style/TextAppearance.Material3.TitleMedium"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintBottom_toTopOf="@id/color_recycler_view"/>
<androidx.recyclerview.widget.RecyclerView
android:id="@+id/color_recycler_view"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="8dp"
app:layout_constraintTop_toBottomOf="@id/predefined_label"
tools:listitem="@layout/element_color_circle" />
<TextView
android:id="@+id/custom_label"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="24dp"
android:text="@string/theme_custom_rgb"
android:textAppearance="@style/TextAppearance.Material3.TitleMedium"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@id/color_recycler_view" />
<LinearLayout
android:id="@+id/rgb_controls"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="8dp"
android:background="@drawable/shape_rgb_controls_border"
android:orientation="vertical"
app:layout_constraintTop_toBottomOf="@id/custom_label">
<TextView
android:id="@+id/red_label"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/theme_red" />
<SeekBar
android:id="@+id/seek_red"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:max="255"
android:focusable="true" />
<TextView
android:id="@+id/green_label"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="8dp"
android:text="@string/theme_green" />
<SeekBar
android:id="@+id/seek_green"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:max="255"
android:focusable="true" />
<TextView
android:id="@+id/blue_label"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="8dp"
android:text="@string/theme_blue" />
<SeekBar
android:id="@+id/seek_blue"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:max="255"
android:focusable="true" />
</LinearLayout>
<FrameLayout
android:id="@+id/color_preview_border"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="24dp"
android:background="@drawable/shape_rgb_controls_border"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@id/rgb_controls">
<View
android:id="@+id/color_preview"
android:layout_width="100dp"
android:layout_height="100dp"
android:background="@android:color/black" />
</FrameLayout>
<com.google.android.material.textfield.TextInputLayout
android:id="@+id/hex_input_layout"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="8dp"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@id/color_preview_border">
<com.google.android.material.textfield.TextInputEditText
android:id="@+id/hex_code"
android:layout_width="140dp"
android:layout_height="wrap_content"
android:gravity="center"
android:inputType="textCapCharacters"
android:maxLength="9"
android:textAppearance="@style/TextAppearance.Material3.BodyMedium"
tools:text="#FF000000" />
</com.google.android.material.textfield.TextInputLayout>
</androidx.constraintlayout.widget.ConstraintLayout>
</androidx.core.widget.NestedScrollView>
@@ -32,6 +32,9 @@
<action
android:id="@+id/action_settings_to_visualizer"
app:destination="@id/visualizer_destination" />
<action
android:id="@+id/action_settings_to_cstheme"
app:destination="@id/custom_theme_destination" />
</fragment>
<!-- EQUALIZER -->
@@ -52,4 +55,11 @@
android:name="com.michatec.radio.AddStationFragment"
android:label="Add Station"
tools:layout="@layout/dialog_find_station" />
<!-- CUSTOM THEME -->
<fragment
android:id="@+id/custom_theme_destination"
android:name="com.michatec.radio.CustomThemeFragment"
android:label="Custom Theme"
tools:layout="@layout/fragment_custom_theme" />
</navigation>
+19
View File
@@ -159,4 +159,23 @@
<string name="media_route_menu_title">Cast</string>
<string name="pref_visualizer_title">Spektrumanalysator</string>
<string name="pref_visualizer_summary">Vis spektrumanalysatoren.</string>
<string name="pref_share_app_title">Del app</string>
<string name="pref_share_app_summary">Anbefal denne app til en ven.</string>
<string name="pref_share_app_share_text">Tjek denne fantastiske radio-app ud: https://github.com/michatec/Radio</string>
<string name="pref_share_app_thank_title">Tak skal du have!</string>
<string name="pref_share_app_thank_message">En stor tak til dig fra udviklerne.</string>
<!-- Custom Theme -->
<string name="pref_custom_theme_enabled_summary">Aktiverer fanen for brugerdefineret tema.</string>
<string name="pref_custom_theme_disabled_summary">Deaktiverer fanen for brugerdefineret tema.</string>
<string name="pref_custom_theme_summary">Tilpas applikationens baggrundsfarve.</string>
<string name="pref_custom_theme_title">Brugerdefineret tema</string>
<string name="pref_custom_theme_enabled_title">Aktiver brugerdefineret tema</string>
<string name="theme_predefined_colors">Foruddefinerede farver (Lys/Mørk):</string>
<string name="theme_custom_rgb">Brugerdefineret RGB (tilpas venligst til appen):</string>
<string name="theme_red">Rød</string>
<string name="theme_green">Grøn</string>
<string name="theme_blue">Blå</string>
<string name="hex_code">Hex-kode</string>
</resources>
+19
View File
@@ -160,5 +160,24 @@
<string name="media_route_menu_title">Streamen</string>
<string name="pref_visualizer_title">Spektrumanzeige</string>
<string name="pref_visualizer_summary">Sehe die Spektrumanzeige.</string>
<string name="pref_share_app_title">App teilen</string>
<string name="pref_share_app_summary">Empfehle diese App einem Freund.</string>
<string name="pref_share_app_share_text">Schau dir diese tolle Radio-App an: https://github.com/michatec/Radio</string>
<string name="pref_share_app_thank_title">Vielen Dank!</string>
<string name="pref_share_app_thank_message">Ein großes Dankeschön von den Entwicklern.</string>
<string name="loading">Lade…</string>
<!-- Custom Theme -->
<string name="pref_custom_theme_enabled_summary">Aktiviert den Tab für das benutzerdefinierte Design.</string>
<string name="pref_custom_theme_disabled_summary">Deaktiviert den Tab für das benutzerdefinierte Design.</string>
<string name="pref_custom_theme_summary">Passen Sie die Hintergrundfarbe der Anwendung an.</string>
<string name="pref_custom_theme_title">Benutzerdefiniertes Design</string>
<string name="pref_custom_theme_enabled_title">Benutzerdefiniertes Design aktivieren</string>
<string name="theme_predefined_colors">Vordefinierte Farben (Hell/Dunkel):</string>
<string name="theme_custom_rgb">Benutzerdefiniertes RGB (bitte an die App anpassen):</string>
<string name="theme_red">Rot</string>
<string name="theme_green">Grün</string>
<string name="theme_blue">Blau</string>
<string name="hex_code">Hex-Code</string>
</resources>
+19
View File
@@ -161,4 +161,23 @@
<string name="media_route_menu_title">Μετάδοση</string>
<string name="pref_visualizer_title">Αναλυτής Φάσματος</string>
<string name="pref_visualizer_summary">Εμφάνιση του Αναλυτή Φάσματος.</string>
<string name="pref_share_app_title">Κοινοποίηση Εφαρμογής</string>
<string name="pref_share_app_summary">Προτείνετε αυτήν την εφαρμογή σε έναν φίλο.</string>
<string name="pref_share_app_share_text">Δείτε αυτήν την καταπληκτική εφαρμογή ραδιοφώνου: https://github.com/michatec/Radio</string>
<string name="pref_share_app_thank_title">Σας ευχαριστούμε!</string>
<string name="pref_share_app_thank_message">Ένα μεγάλο ευχαριστώ από τους προγραμματιστές.</string>
<!-- Custom Theme -->
<string name="pref_custom_theme_enabled_summary">Ενεργοποιεί την καρτέλα προσαρμοσμένου θέματος.</string>
<string name="pref_custom_theme_disabled_summary">Απενεργοποιεί την καρτέλα προσαρμοσμένου θέματος.</string>
<string name="pref_custom_theme_summary">Προσαρμόστε το χρώμα φόντου της εφαρμογής.</string>
<string name="pref_custom_theme_title">Προσαρμοσμένο Θέμα</string>
<string name="pref_custom_theme_enabled_title">Ενεργοποίηση Προσαρμοσμένου Θέματος</string>
<string name="theme_predefined_colors">Προκαθορισμένα Χρώματα (Φωτεινό/Σκοτεινό):</string>
<string name="theme_custom_rgb">Προσαρμοσμένο RGB (παρακαλώ προσαρμόστε στην εφαρμογή):</string>
<string name="theme_red">Κόκκινο</string>
<string name="theme_green">Πράσινο</string>
<string name="theme_blue">Μπλε</string>
<string name="hex_code">Κωδικός Hex</string>
</resources>
+19
View File
@@ -159,4 +159,23 @@
<string name="media_route_menu_title">Diffuser</string>
<string name="pref_visualizer_title">Analyseur de spectre</string>
<string name="pref_visualizer_summary">Afficher l analyseur de spectre.</string>
<string name="pref_share_app_title">Partager l\'application</string>
<string name="pref_share_app_summary">Recommandez cette application à un ami.</string>
<string name="pref_share_app_share_text">Découvrez cette super application radio : https://github.com/michatec/Radio</string>
<string name="pref_share_app_thank_title">Merci beaucoup !</string>
<string name="pref_share_app_thank_message">Un grand merci de la part des développeurs.</string>
<!-- Custom Theme -->
<string name="pref_custom_theme_enabled_summary">Active l\'onglet du thème personnalisé.</string>
<string name="pref_custom_theme_disabled_summary">Désactive l\'onglet du thème personnalisé.</string>
<string name="pref_custom_theme_summary">Personnalisez la couleur d\'arrière-plan de l\'application.</string>
<string name="pref_custom_theme_title">Thème personnalisé</string>
<string name="pref_custom_theme_enabled_title">Activer le thème personnalisé</string>
<string name="theme_predefined_colors">Couleurs prédéfinies (Clair/Sombre) :</string>
<string name="theme_custom_rgb">RGB personnalisé (veuillez l\'adapter à l\'application) :</string>
<string name="theme_red">Rouge</string>
<string name="theme_green">Vert</string>
<string name="theme_blue">Bleu</string>
<string name="hex_code">Code Hex</string>
</resources>
+19
View File
@@ -160,4 +160,23 @@
<string name="media_route_menu_title">キャスト</string>
<string name="pref_visualizer_title">スペクトラムアナライザー</string>
<string name="pref_visualizer_summary">スペクトラムアナライザーを表示します。</string>
<string name="pref_share_app_title">アプリを共有</string>
<string name="pref_share_app_summary">このアプリを友達に勧める。</string>
<string name="pref_share_app_share_text">この素晴らしいラジオアプリをチェックしてみてください: https://github.com/michatec/Radio</string>
<string name="pref_share_app_thank_title">ありがとうございます!</string>
<string name="pref_share_app_thank_message">開発者一同より、心から感謝申し上げます。</string>
<!-- Custom Theme -->
<string name="pref_custom_theme_enabled_summary">カスタムテーマタブを有効にします。</string>
<string name="pref_custom_theme_disabled_summary">カスタムテーマタブを無効にします。</string>
<string name="pref_custom_theme_summary">アプリケーションの背景色をカスタマイズします。</string>
<string name="pref_custom_theme_title">カスタムテーマ</string>
<string name="pref_custom_theme_enabled_title">カスタムテーマを有効にする</string>
<string name="theme_predefined_colors">事前定義された色(ライト/ダーク):</string>
<string name="theme_custom_rgb">カスタムRGB(アプリに合わせて調整してください):</string>
<string name="theme_red"></string>
<string name="theme_green"></string>
<string name="theme_blue"></string>
<string name="hex_code">Hexコード</string>
</resources>
+19
View File
@@ -161,4 +161,23 @@
<string name="media_route_menu_title">Cast</string>
<string name="pref_visualizer_title">Spectrum Analyser</string>
<string name="pref_visualizer_summary">Toon de Spectrum Analyser.</string>
<string name="pref_share_app_title">App delen</string>
<string name="pref_share_app_summary">Beveel deze app aan bij een vriend.</string>
<string name="pref_share_app_share_text">Bekijk deze geweldige radio-app: https://github.com/michatec/Radio</string>
<string name="pref_share_app_thank_title">Bedankt!</string>
<string name="pref_share_app_thank_message">Een groot dankjewel van de ontwikkelaars.</string>
<!-- Custom Theme -->
<string name="pref_custom_theme_enabled_summary">Schakelt het tabblad voor het aangepaste thema in.</string>
<string name="pref_custom_theme_disabled_summary">Schakelt het tabblad voor het aangepaste thema uit.</string>
<string name="pref_custom_theme_summary">Pas de achtergrondkleur van de applicatie aan.</string>
<string name="pref_custom_theme_title">Aangepast Thema</string>
<string name="pref_custom_theme_enabled_title">Aangepast Thema Inschakelen</string>
<string name="theme_predefined_colors">Vooraf gedefinieerde kleuren (Licht/Donker):</string>
<string name="theme_custom_rgb">Aangepaste RGB (pas deze aan de app aan):</string>
<string name="theme_red">Rood</string>
<string name="theme_green">Groen</string>
<string name="theme_blue">Blauw</string>
<string name="hex_code">Hex-code</string>
</resources>
+19
View File
@@ -161,4 +161,23 @@
<string name="media_route_menu_title">Przesyłanie</string>
<string name="pref_visualizer_title">Analizator Widma</string>
<string name="pref_visualizer_summary">Pokaż Analizator Widma.</string>
<string name="pref_share_app_title">Udostępnij aplikację</string>
<string name="pref_share_app_summary">Poleć tę aplikację znajomemu.</string>
<string name="pref_share_app_share_text">Sprawdź tę świetną aplikację radiową: https://github.com/michatec/Radio</string>
<string name="pref_share_app_thank_title">Dziękujemy!</string>
<string name="pref_share_app_thank_message">Wielkie podziękowania od deweloperów.</string>
<!-- Custom Theme -->
<string name="pref_custom_theme_enabled_summary">Włącza kartę motywu niestandardowego.</string>
<string name="pref_custom_theme_disabled_summary">Wyłącza kartę motywu niestandardowego.</string>
<string name="pref_custom_theme_summary">Dostosuj kolor tła aplikacji.</string>
<string name="pref_custom_theme_title">Motyw niestandardowy</string>
<string name="pref_custom_theme_enabled_title">Włącz motyw niestandardowy</string>
<string name="theme_predefined_colors">Predefiniowane kolory (Jasny/Ciemny):</string>
<string name="theme_custom_rgb">Niestandardowy RGB (proszę dostosować do aplikacji):</string>
<string name="theme_red">Czerwony</string>
<string name="theme_green">Zielony</string>
<string name="theme_blue">Niebieski</string>
<string name="hex_code">Kod Hex</string>
</resources>
+19
View File
@@ -161,4 +161,23 @@
<string name="media_route_menu_title">Трансляция</string>
<string name="pref_visualizer_title">Анализатор спектра</string>
<string name="pref_visualizer_summary">Показать анализатор спектра.</string>
<string name="pref_share_app_title">Поделиться приложением</string>
<string name="pref_share_app_summary">Рекомендовать это приложение другу.</string>
<string name="pref_share_app_share_text">Посмотрите это классное радио-приложение: https://github.com/michatec/Radio</string>
<string name="pref_share_app_thank_title">Спасибо!</string>
<string name="pref_share_app_thank_message">Большое спасибо от разработчиков.</string>
<!-- Custom Theme -->
<string name="pref_custom_theme_enabled_summary">Включает вкладку пользовательской темы.</string>
<string name="pref_custom_theme_disabled_summary">Отключает вкладку пользовательской темы.</string>
<string name="pref_custom_theme_summary">Настройка цвета фона приложения.</string>
<string name="pref_custom_theme_title">Пользовательская тема</string>
<string name="pref_custom_theme_enabled_title">Включить пользовательскую тему</string>
<string name="theme_predefined_colors">Предустановленные цвета (Светлые/Темные):</string>
<string name="theme_custom_rgb">Пользовательский RGB (пожалуйста, адаптируйте к приложению):</string>
<string name="theme_red">Красный</string>
<string name="theme_green">Зеленый</string>
<string name="theme_blue">Синий</string>
<string name="hex_code">Hex-код</string>
</resources>
+19
View File
@@ -161,4 +161,23 @@
<string name="media_route_menu_title">Трансляція</string>
<string name="pref_visualizer_title">Аналізатор спектру</string>
<string name="pref_visualizer_summary">Показати аналізатор спектру.</string>
<string name="pref_share_app_title">Поділитися застосунком</string>
<string name="pref_share_app_summary">Рекомендувати цей застосунок другу.</string>
<string name="pref_share_app_share_text">Подивіться на цей чудовий радіозастосунок: https://github.com/michatec/Radio</string>
<string name="pref_share_app_thank_title">Дякуємо!</string>
<string name="pref_share_app_thank_message">Велике спасибі вам від розробників.</string>
<!-- Custom Theme -->
<string name="pref_custom_theme_enabled_summary">Вмикає вкладку користувацької теми.</string>
<string name="pref_custom_theme_disabled_summary">Вимикає вкладку користувацької теми.</string>
<string name="pref_custom_theme_summary">Налаштуйте колір фону застосунку.</string>
<string name="pref_custom_theme_title">Користувацька тема</string>
<string name="pref_custom_theme_enabled_title">Увімкнути користувацьку тему</string>
<string name="theme_predefined_colors">Попередньо визначені кольори (Світлі/Темні):</string>
<string name="theme_custom_rgb">Власний RGB (будь ласка, адаптуйте до застосунку):</string>
<string name="theme_red">Червоний</string>
<string name="theme_green">Зелений</string>
<string name="theme_blue">Синій</string>
<string name="hex_code">Hex-код</string>
</resources>
+19
View File
@@ -74,6 +74,7 @@
<string name="pref_language_pl" translatable="false">🇵🇱 Polski</string>
<string name="pref_language_el" translatable="false">🇬🇷 Ελληνικά</string>
<string name="pref_language_da" translatable="false">🇩🇰 Dansk</string>
<string name="pref_language_uk" translatable="false">🇺🇦 Українська</string>
<!-- Settings -->
@@ -148,6 +149,11 @@
<string name="pref_update_station_images_title">Update Station Images</string>
<string name="pref_test_notification_title">Test Notification</string>
<string name="pref_test_notification_summary">Test whether the notification system works.</string>
<string name="pref_share_app_title">Share App</string>
<string name="pref_share_app_summary">Recommend this app to a friend.</string>
<string name="pref_share_app_share_text">Check out this awesome radio app: https://github.com/michatec/Radio</string>
<string name="pref_share_app_thank_title">Thank You!</string>
<string name="pref_share_app_thank_message">A big thank you to you from the developers.</string>
<!-- Sample Text -->
<string name="sample_text_sleep_timer_remaining_time" translatable="false">00:00</string>
@@ -197,4 +203,17 @@
<string name="media_route_menu_title">Cast</string>
<string name="pref_visualizer_title">Spectrum Analyzer</string>
<string name="pref_visualizer_summary">Show the Spectrum Analyzer.</string>
<!-- Custom Theme -->
<string name="pref_custom_theme_enabled_summary">Enables the custom theme tab.</string>
<string name="pref_custom_theme_disabled_summary">Disables the custom theme tab.</string>
<string name="pref_custom_theme_summary">Customize the application background color.</string>
<string name="pref_custom_theme_title">Custom Theme</string>
<string name="pref_custom_theme_enabled_title">Enable Custom Theme</string>
<string name="theme_predefined_colors">Predefined Colors (Light/Dark):</string>
<string name="theme_custom_rgb">Custom RGB (please adapt to the app):</string>
<string name="theme_red">Red</string>
<string name="theme_green">Green</string>
<string name="theme_blue">Blue</string>
<string name="hex_code">Hex Code</string>
</resources>