mirror of
https://github.com/libre-tube/LibreTube.git
synced 2024-12-13 22:00:30 +05:30
Merge branch 'master' into theming
This commit is contained in:
commit
9e66b0353d
2
.github/workflows/lint.yml
vendored
2
.github/workflows/lint.yml
vendored
@ -12,7 +12,7 @@ jobs:
|
|||||||
- name: ktlint
|
- name: ktlint
|
||||||
uses: ScaCap/action-ktlint@1.3
|
uses: ScaCap/action-ktlint@1.3
|
||||||
with:
|
with:
|
||||||
github_token: ${{ secrets.github_token }}
|
github_token: ${{ secrets.ACCESS_TOKEN }}
|
||||||
reporter: github-pr-review
|
reporter: github-pr-review
|
||||||
android: true
|
android: true
|
||||||
fail_on_error: true
|
fail_on_error: true
|
||||||
|
@ -8,7 +8,7 @@
|
|||||||
[![Matrix](https://img.shields.io/matrix/LibreTube:matrix.org)](https://matrix.to/#/#LibreTube:matrix.org)
|
[![Matrix](https://img.shields.io/matrix/LibreTube:matrix.org)](https://matrix.to/#/#LibreTube:matrix.org)
|
||||||
[![Telegram](https://img.shields.io/endpoint?color=neon&style=flat-square&url=https://tg.sumanjay.workers.dev/libretube)](https://t.me/libretube)
|
[![Telegram](https://img.shields.io/endpoint?color=neon&style=flat-square&url=https://tg.sumanjay.workers.dev/libretube)](https://t.me/libretube)
|
||||||
[![Twitter](https://img.shields.io/twitter/follow/libretube?style=social)](https://twitter.com/libretube)
|
[![Twitter](https://img.shields.io/twitter/follow/libretube?style=social)](https://twitter.com/libretube)
|
||||||
|
[![Reddit](https://img.shields.io/reddit/subreddit-subscribers/libretube?style=social)](https://www.reddit.com/r/Libretube/)
|
||||||
|
|
||||||
[<img src="https://fdroid.gitlab.io/artwork/badge/get-it-on.png" alt="Get it on F-Droid" height="80">](https://f-droid.org/en/packages/com.github.libretube/)
|
[<img src="https://fdroid.gitlab.io/artwork/badge/get-it-on.png" alt="Get it on F-Droid" height="80">](https://f-droid.org/en/packages/com.github.libretube/)
|
||||||
[<img src="https://github.com/machiav3lli/oandbackupx/blob/034b226cea5c1b30eb4f6a6f313e4dadcbb0ece4/badge_github.png" alt="Get it on GitHub" height="80">](https://github.com/libre-tube/LibreTube/releases/latest)
|
[<img src="https://github.com/machiav3lli/oandbackupx/blob/034b226cea5c1b30eb4f6a6f313e4dadcbb0ece4/badge_github.png" alt="Get it on GitHub" height="80">](https://github.com/libre-tube/LibreTube/releases/latest)
|
||||||
|
@ -4,13 +4,17 @@ import android.app.Dialog
|
|||||||
import android.content.Context
|
import android.content.Context
|
||||||
import android.os.Bundle
|
import android.os.Bundle
|
||||||
import android.util.Log
|
import android.util.Log
|
||||||
|
import android.util.TypedValue
|
||||||
import android.view.View
|
import android.view.View
|
||||||
import android.widget.*
|
import android.widget.*
|
||||||
import androidx.appcompat.app.AlertDialog
|
import androidx.appcompat.app.AlertDialog
|
||||||
|
import androidx.core.text.HtmlCompat
|
||||||
import androidx.fragment.app.DialogFragment
|
import androidx.fragment.app.DialogFragment
|
||||||
import androidx.fragment.app.Fragment
|
import androidx.fragment.app.Fragment
|
||||||
import androidx.lifecycle.lifecycleScope
|
import androidx.lifecycle.lifecycleScope
|
||||||
import com.github.libretube.obj.PlaylistId
|
import com.github.libretube.obj.PlaylistId
|
||||||
|
import com.google.android.material.dialog.MaterialAlertDialogBuilder
|
||||||
|
import retrofit2.HttpException
|
||||||
import java.io.IOException
|
import java.io.IOException
|
||||||
import retrofit2.HttpException
|
import retrofit2.HttpException
|
||||||
|
|
||||||
@ -23,7 +27,7 @@ class AddtoPlaylistDialog : DialogFragment() {
|
|||||||
override fun onCreateDialog(savedInstanceState: Bundle?): Dialog {
|
override fun onCreateDialog(savedInstanceState: Bundle?): Dialog {
|
||||||
return activity?.let {
|
return activity?.let {
|
||||||
videoId = arguments?.getString("videoId")!!
|
videoId = arguments?.getString("videoId")!!
|
||||||
val builder = AlertDialog.Builder(it)
|
val builder = MaterialAlertDialogBuilder(it)
|
||||||
// Get the layout inflater
|
// Get the layout inflater
|
||||||
val inflater = requireActivity().layoutInflater
|
val inflater = requireActivity().layoutInflater
|
||||||
val sharedPref = context?.getSharedPreferences("token", Context.MODE_PRIVATE)
|
val sharedPref = context?.getSharedPreferences("token", Context.MODE_PRIVATE)
|
||||||
@ -34,6 +38,15 @@ class AddtoPlaylistDialog : DialogFragment() {
|
|||||||
if (token != "") {
|
if (token != "") {
|
||||||
fetchPlaylists()
|
fetchPlaylists()
|
||||||
}
|
}
|
||||||
|
val typedValue = TypedValue()
|
||||||
|
this.requireActivity().theme.resolveAttribute(R.attr.colorPrimaryDark, typedValue, true)
|
||||||
|
val hexColor = String.format("#%06X", (0xFFFFFF and typedValue.data))
|
||||||
|
val appName = HtmlCompat.fromHtml(
|
||||||
|
"Libre<span style='color:$hexColor';>Tube</span>",
|
||||||
|
HtmlCompat.FROM_HTML_MODE_COMPACT
|
||||||
|
)
|
||||||
|
view.findViewById<TextView>(R.id.title).text = appName
|
||||||
|
|
||||||
builder.setView(view)
|
builder.setView(view)
|
||||||
builder.create()
|
builder.create()
|
||||||
} ?: throw IllegalStateException("Activity cannot be null")
|
} ?: throw IllegalStateException("Activity cannot be null")
|
||||||
|
@ -1,12 +1,15 @@
|
|||||||
package com.github.libretube
|
package com.github.libretube
|
||||||
|
|
||||||
import android.os.Bundle
|
import android.os.Bundle
|
||||||
|
import android.util.TypedValue
|
||||||
import android.view.LayoutInflater
|
import android.view.LayoutInflater
|
||||||
import android.view.View
|
import android.view.View
|
||||||
import android.view.ViewGroup
|
import android.view.ViewGroup
|
||||||
import android.widget.Button
|
import android.widget.Button
|
||||||
|
import android.widget.TextView
|
||||||
import android.widget.Toast
|
import android.widget.Toast
|
||||||
import androidx.core.os.bundleOf
|
import androidx.core.os.bundleOf
|
||||||
|
import androidx.core.text.HtmlCompat
|
||||||
import androidx.fragment.app.DialogFragment
|
import androidx.fragment.app.DialogFragment
|
||||||
import androidx.fragment.app.setFragmentResult
|
import androidx.fragment.app.setFragmentResult
|
||||||
|
|
||||||
@ -18,6 +21,15 @@ class CreatePlaylistDialog : DialogFragment() {
|
|||||||
): View? {
|
): View? {
|
||||||
var rootView: View = inflater.inflate(R.layout.dialog_create_playlist, container, false)
|
var rootView: View = inflater.inflate(R.layout.dialog_create_playlist, container, false)
|
||||||
|
|
||||||
|
val typedValue = TypedValue()
|
||||||
|
this.requireActivity().theme.resolveAttribute(R.attr.colorPrimaryDark, typedValue, true)
|
||||||
|
val hexColor = String.format("#%06X", (0xFFFFFF and typedValue.data))
|
||||||
|
val appName = HtmlCompat.fromHtml(
|
||||||
|
"Libre<span style='color:$hexColor';>Tube</span>",
|
||||||
|
HtmlCompat.FROM_HTML_MODE_COMPACT
|
||||||
|
)
|
||||||
|
rootView.findViewById<TextView>(R.id.title).text = appName
|
||||||
|
|
||||||
val cancelBtn = rootView.findViewById<Button>(R.id.cancel_button)
|
val cancelBtn = rootView.findViewById<Button>(R.id.cancel_button)
|
||||||
cancelBtn.setOnClickListener {
|
cancelBtn.setOnClickListener {
|
||||||
dismiss()
|
dismiss()
|
||||||
|
@ -4,10 +4,13 @@ import android.app.Dialog
|
|||||||
import android.content.Intent
|
import android.content.Intent
|
||||||
import android.os.Bundle
|
import android.os.Bundle
|
||||||
import android.util.Log
|
import android.util.Log
|
||||||
|
import android.util.TypedValue
|
||||||
import android.view.View
|
import android.view.View
|
||||||
import android.widget.*
|
import android.widget.*
|
||||||
import androidx.appcompat.app.AlertDialog
|
import androidx.appcompat.app.AlertDialog
|
||||||
|
import androidx.core.text.HtmlCompat
|
||||||
import androidx.fragment.app.DialogFragment
|
import androidx.fragment.app.DialogFragment
|
||||||
|
import com.google.android.material.dialog.MaterialAlertDialogBuilder
|
||||||
|
|
||||||
class DownloadDialog : DialogFragment() {
|
class DownloadDialog : DialogFragment() {
|
||||||
private val TAG = "DownloadDialog"
|
private val TAG = "DownloadDialog"
|
||||||
@ -28,7 +31,7 @@ class DownloadDialog : DialogFragment() {
|
|||||||
audioUrl = arguments?.getStringArrayList("audioUrl") as ArrayList<String>
|
audioUrl = arguments?.getStringArrayList("audioUrl") as ArrayList<String>
|
||||||
duration = arguments?.getInt("duration")!!
|
duration = arguments?.getInt("duration")!!
|
||||||
videoId = arguments?.getString("videoId")!!
|
videoId = arguments?.getString("videoId")!!
|
||||||
val builder = AlertDialog.Builder(it)
|
val builder = MaterialAlertDialogBuilder(it)
|
||||||
// Get the layout inflater
|
// Get the layout inflater
|
||||||
val inflater = requireActivity().layoutInflater
|
val inflater = requireActivity().layoutInflater
|
||||||
var view: View = inflater.inflate(R.layout.dialog_download, null)
|
var view: View = inflater.inflate(R.layout.dialog_download, null)
|
||||||
@ -81,6 +84,16 @@ class DownloadDialog : DialogFragment() {
|
|||||||
context?.startService(intent)
|
context?.startService(intent)
|
||||||
dismiss()
|
dismiss()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
val typedValue = TypedValue()
|
||||||
|
this.requireActivity().theme.resolveAttribute(R.attr.colorPrimaryDark, typedValue, true)
|
||||||
|
val hexColor = String.format("#%06X", (0xFFFFFF and typedValue.data))
|
||||||
|
val appName = HtmlCompat.fromHtml(
|
||||||
|
"Libre<span style='color:$hexColor';>Tube</span>",
|
||||||
|
HtmlCompat.FROM_HTML_MODE_COMPACT
|
||||||
|
)
|
||||||
|
view.findViewById<TextView>(R.id.title).text = appName
|
||||||
|
|
||||||
builder.setView(view)
|
builder.setView(view)
|
||||||
builder.create()
|
builder.create()
|
||||||
} ?: throw IllegalStateException("Activity cannot be null")
|
} ?: throw IllegalStateException("Activity cannot be null")
|
||||||
|
@ -4,15 +4,20 @@ import android.app.Dialog
|
|||||||
import android.content.Context
|
import android.content.Context
|
||||||
import android.os.Bundle
|
import android.os.Bundle
|
||||||
import android.util.Log
|
import android.util.Log
|
||||||
|
import android.util.TypedValue
|
||||||
import android.view.View
|
import android.view.View
|
||||||
import android.widget.Button
|
import android.widget.Button
|
||||||
import android.widget.EditText
|
import android.widget.EditText
|
||||||
import android.widget.TextView
|
import android.widget.TextView
|
||||||
import android.widget.Toast
|
import android.widget.Toast
|
||||||
import androidx.appcompat.app.AlertDialog
|
import androidx.appcompat.app.AlertDialog
|
||||||
|
import androidx.core.text.HtmlCompat
|
||||||
import androidx.fragment.app.DialogFragment
|
import androidx.fragment.app.DialogFragment
|
||||||
import androidx.lifecycle.lifecycleScope
|
import androidx.lifecycle.lifecycleScope
|
||||||
import com.github.libretube.obj.Login
|
import com.github.libretube.obj.Login
|
||||||
|
import com.google.android.material.dialog.MaterialAlertDialogBuilder
|
||||||
|
import org.w3c.dom.Text
|
||||||
|
import retrofit2.HttpException
|
||||||
import java.io.IOException
|
import java.io.IOException
|
||||||
import java.lang.Exception
|
import java.lang.Exception
|
||||||
import retrofit2.HttpException
|
import retrofit2.HttpException
|
||||||
@ -23,7 +28,7 @@ class LoginDialog : DialogFragment() {
|
|||||||
lateinit var password: EditText
|
lateinit var password: EditText
|
||||||
override fun onCreateDialog(savedInstanceState: Bundle?): Dialog {
|
override fun onCreateDialog(savedInstanceState: Bundle?): Dialog {
|
||||||
return activity?.let {
|
return activity?.let {
|
||||||
val builder = AlertDialog.Builder(it)
|
val builder = MaterialAlertDialogBuilder(it)
|
||||||
// Get the layout inflater
|
// Get the layout inflater
|
||||||
val inflater = requireActivity().layoutInflater
|
val inflater = requireActivity().layoutInflater
|
||||||
val sharedPref = context?.getSharedPreferences("token", Context.MODE_PRIVATE)
|
val sharedPref = context?.getSharedPreferences("token", Context.MODE_PRIVATE)
|
||||||
@ -65,6 +70,17 @@ class LoginDialog : DialogFragment() {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
val typedValue = TypedValue()
|
||||||
|
this.requireActivity().theme.resolveAttribute(R.attr.colorPrimaryDark, typedValue, true)
|
||||||
|
val hexColor = String.format("#%06X", (0xFFFFFF and typedValue.data))
|
||||||
|
val appName = HtmlCompat.fromHtml(
|
||||||
|
"Libre<span style='color:$hexColor';>Tube</span>",
|
||||||
|
HtmlCompat.FROM_HTML_MODE_COMPACT
|
||||||
|
)
|
||||||
|
view.findViewById<TextView>(R.id.title).text = appName
|
||||||
|
|
||||||
|
|
||||||
builder.setView(view)
|
builder.setView(view)
|
||||||
builder.create()
|
builder.create()
|
||||||
} ?: throw IllegalStateException("Activity cannot be null")
|
} ?: throw IllegalStateException("Activity cannot be null")
|
||||||
|
@ -1,11 +1,17 @@
|
|||||||
package com.github.libretube
|
package com.github.libretube
|
||||||
|
|
||||||
import android.app.Activity
|
import android.app.Activity
|
||||||
|
import android.content.Context
|
||||||
|
import android.content.DialogInterface
|
||||||
|
import android.content.Intent
|
||||||
|
import com.google.android.material.color.DynamicColors
|
||||||
|
import androidx.appcompat.app.AppCompatActivity
|
||||||
import android.os.Bundle
|
import android.os.Bundle
|
||||||
|
|
||||||
class Player : Activity() {
|
class Player : Activity() {
|
||||||
|
|
||||||
override fun onCreate(savedInstanceState: Bundle?) {
|
override fun onCreate(savedInstanceState: Bundle?) {
|
||||||
|
DynamicColors.applyToActivityIfAvailable(this)
|
||||||
super.onCreate(savedInstanceState)
|
super.onCreate(savedInstanceState)
|
||||||
setContentView(R.layout.activity_player)
|
setContentView(R.layout.activity_player)
|
||||||
}
|
}
|
||||||
|
@ -24,6 +24,7 @@ import androidx.recyclerview.widget.RecyclerView
|
|||||||
import com.github.libretube.adapters.SearchAdapter
|
import com.github.libretube.adapters.SearchAdapter
|
||||||
import com.github.libretube.adapters.SearchHistoryAdapter
|
import com.github.libretube.adapters.SearchHistoryAdapter
|
||||||
import java.io.IOException
|
import java.io.IOException
|
||||||
|
import com.google.android.material.dialog.MaterialAlertDialogBuilder
|
||||||
import kotlinx.coroutines.GlobalScope
|
import kotlinx.coroutines.GlobalScope
|
||||||
import kotlinx.coroutines.delay
|
import kotlinx.coroutines.delay
|
||||||
import kotlinx.coroutines.launch
|
import kotlinx.coroutines.launch
|
||||||
@ -77,7 +78,7 @@ class SearchFragment : Fragment() {
|
|||||||
getString(R.string.music_playlists)
|
getString(R.string.music_playlists)
|
||||||
)
|
)
|
||||||
|
|
||||||
AlertDialog.Builder(view.context)
|
MaterialAlertDialogBuilder(view.context)
|
||||||
.setTitle(getString(R.string.choose_filter))
|
.setTitle(getString(R.string.choose_filter))
|
||||||
.setSingleChoiceItems(
|
.setSingleChoiceItems(
|
||||||
filterOptions, selectedFilter,
|
filterOptions, selectedFilter,
|
||||||
|
@ -18,12 +18,12 @@ import androidx.appcompat.app.AppCompatActivity
|
|||||||
import androidx.core.app.ActivityCompat
|
import androidx.core.app.ActivityCompat
|
||||||
import androidx.core.content.ContextCompat
|
import androidx.core.content.ContextCompat
|
||||||
import androidx.fragment.app.Fragment
|
import androidx.fragment.app.Fragment
|
||||||
|
import com.google.android.material.color.DynamicColors
|
||||||
import androidx.lifecycle.lifecycleScope
|
import androidx.lifecycle.lifecycleScope
|
||||||
import androidx.preference.ListPreference
|
import androidx.preference.ListPreference
|
||||||
import androidx.preference.Preference
|
import androidx.preference.Preference
|
||||||
import androidx.preference.PreferenceFragmentCompat
|
import androidx.preference.PreferenceFragmentCompat
|
||||||
import androidx.preference.PreferenceManager
|
import androidx.preference.PreferenceManager
|
||||||
import com.google.android.material.color.DynamicColors
|
|
||||||
import java.io.IOException
|
import java.io.IOException
|
||||||
import java.io.InputStream
|
import java.io.InputStream
|
||||||
import java.util.zip.ZipEntry
|
import java.util.zip.ZipEntry
|
||||||
@ -154,6 +154,8 @@ class SettingsActivity :
|
|||||||
|
|
||||||
val login = findPreference<Preference>("login_register")
|
val login = findPreference<Preference>("login_register")
|
||||||
login?.setOnPreferenceClickListener {
|
login?.setOnPreferenceClickListener {
|
||||||
|
|
||||||
|
|
||||||
val newFragment = LoginDialog()
|
val newFragment = LoginDialog()
|
||||||
newFragment.show(childFragmentManager, "Login")
|
newFragment.show(childFragmentManager, "Login")
|
||||||
true
|
true
|
||||||
@ -357,4 +359,5 @@ class SettingsActivity :
|
|||||||
intent = Intent(this, MainActivity::class.java)
|
intent = Intent(this, MainActivity::class.java)
|
||||||
startActivity(intent)
|
startActivity(intent)
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -1,10 +1,11 @@
|
|||||||
<vector xmlns:android="http://schemas.android.com/apk/res/android"
|
<vector xmlns:android="http://schemas.android.com/apk/res/android"
|
||||||
android:width="24dp"
|
|
||||||
android:height="24dp"
|
android:height="24dp"
|
||||||
android:viewportWidth="24"
|
android:viewportWidth="48"
|
||||||
android:viewportHeight="24"
|
android:width="24dp"
|
||||||
|
android:viewportHeight="48"
|
||||||
android:tint="?attr/colorControlNormal">
|
android:tint="?attr/colorControlNormal">
|
||||||
|
|
||||||
<path
|
<path
|
||||||
android:fillColor="@android:color/white"
|
android:fillColor="#FF000000"
|
||||||
android:pathData="M10,20v-6h4v6h5v-8h3L12,3 2,12h3v8z"/>
|
android:pathData="M11,42Q9.75,42 8.875,41.125Q8,40.25 8,39V19.5Q8,18.8 8.325,18.15Q8.65,17.5 9.2,17.1L22.2,7.35Q22.6,7.05 23.05,6.9Q23.5,6.75 24,6.75Q24.5,6.75 24.95,6.9Q25.4,7.05 25.8,7.35L38.8,17.1Q39.35,17.5 39.675,18.15Q40,18.8 40,19.5V39Q40,40.25 39.125,41.125Q38.25,42 37,42H28V28H20V42Z" />
|
||||||
</vector>
|
</vector>
|
||||||
|
@ -1,10 +1,11 @@
|
|||||||
<vector xmlns:android="http://schemas.android.com/apk/res/android"
|
<vector xmlns:android="http://schemas.android.com/apk/res/android"
|
||||||
android:width="24dp"
|
|
||||||
android:height="24dp"
|
android:height="24dp"
|
||||||
android:viewportWidth="24"
|
android:viewportWidth="48"
|
||||||
android:viewportHeight="24"
|
android:width="24dp"
|
||||||
|
android:viewportHeight="48"
|
||||||
android:tint="?attr/colorControlNormal">
|
android:tint="?attr/colorControlNormal">
|
||||||
|
|
||||||
<path
|
<path
|
||||||
android:fillColor="@android:color/white"
|
android:fillColor="#FF000000"
|
||||||
android:pathData="M4,6L2,6v14c0,1.1 0.9,2 2,2h14v-2L4,20L4,6zM20,2L8,2c-1.1,0 -2,0.9 -2,2v12c0,1.1 0.9,2 2,2h12c1.1,0 2,-0.9 2,-2L22,4c0,-1.1 -0.9,-2 -2,-2zM12,14.5v-9l6,4.5 -6,4.5z"/>
|
android:pathData="M23.5,27.85 L32.25,22.25Q32.95,21.8 32.95,21Q32.95,20.2 32.25,19.75L23.5,14.15Q22.75,13.65 21.975,14.075Q21.2,14.5 21.2,15.4V26.6Q21.2,27.5 21.975,27.925Q22.75,28.35 23.5,27.85ZM13,38Q11.8,38 10.9,37.1Q10,36.2 10,35V7Q10,5.8 10.9,4.9Q11.8,4 13,4H41Q42.2,4 43.1,4.9Q44,5.8 44,7V35Q44,36.2 43.1,37.1Q42.2,38 41,38ZM7,44Q5.8,44 4.9,43.1Q4,42.2 4,41V11.5Q4,10.85 4.425,10.425Q4.85,10 5.5,10Q6.15,10 6.575,10.425Q7,10.85 7,11.5V41Q7,41 7,41Q7,41 7,41H36.5Q37.15,41 37.575,41.425Q38,41.85 38,42.5Q38,43.15 37.575,43.575Q37.15,44 36.5,44Z" />
|
||||||
</vector>
|
</vector>
|
||||||
|
@ -1,10 +1,11 @@
|
|||||||
<vector xmlns:android="http://schemas.android.com/apk/res/android"
|
<vector xmlns:android="http://schemas.android.com/apk/res/android"
|
||||||
android:width="24dp"
|
|
||||||
android:height="24dp"
|
android:height="24dp"
|
||||||
android:viewportWidth="24"
|
android:viewportWidth="48"
|
||||||
android:viewportHeight="24"
|
android:width="24dp"
|
||||||
|
android:viewportHeight="48"
|
||||||
android:tint="?attr/colorControlNormal">
|
android:tint="?attr/colorControlNormal">
|
||||||
|
|
||||||
<path
|
<path
|
||||||
android:fillColor="@android:color/white"
|
android:fillColor="#FF000000"
|
||||||
android:pathData="M20,8L4,8L4,6h16v2zM18,2L6,2v2h12L18,2zM22,12v8c0,1.1 -0.9,2 -2,2L4,22c-1.1,0 -2,-0.9 -2,-2v-8c0,-1.1 0.9,-2 2,-2h16c1.1,0 2,0.9 2,2zM16,16l-6,-3.27v6.53L16,16z"/>
|
android:pathData="M15.5,7Q14.85,7 14.425,6.575Q14,6.15 14,5.5Q14,4.85 14.425,4.425Q14.85,4 15.5,4H32.5Q33.15,4 33.575,4.425Q34,4.85 34,5.5Q34,6.15 33.575,6.575Q33.15,7 32.5,7ZM8.95,13Q8.3,13 7.875,12.575Q7.45,12.15 7.45,11.5Q7.45,10.85 7.875,10.425Q8.3,10 8.95,10H39.05Q39.7,10 40.125,10.425Q40.55,10.85 40.55,11.5Q40.55,12.15 40.125,12.575Q39.7,13 39.05,13ZM7,44Q5.8,44 4.9,43.1Q4,42.2 4,41V19Q4,17.8 4.9,16.9Q5.8,16 7,16H41Q42.2,16 43.1,16.9Q44,17.8 44,19V41Q44,42.2 43.1,43.1Q42.2,44 41,44ZM22.7,35.85 L29.55,31.25Q30.25,30.8 30.25,30Q30.25,29.2 29.55,28.75L22.7,24.15Q21.95,23.65 21.15,24.075Q20.35,24.5 20.35,25.4V34.65Q20.35,35.55 21.15,35.975Q21.95,36.4 22.7,35.85Z" />
|
||||||
</vector>
|
</vector>
|
||||||
|
@ -7,13 +7,17 @@
|
|||||||
>
|
>
|
||||||
|
|
||||||
|
|
||||||
<ImageView
|
|
||||||
android:src="@drawable/ic_libretube_foreground"
|
<TextView
|
||||||
|
android:id="@+id/title"
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="64dp"
|
android:layout_height="wrap_content"
|
||||||
android:scaleType="center"
|
android:text="@string/app_name"
|
||||||
android:background="#CD5757"
|
android:gravity="center"
|
||||||
android:contentDescription="@string/app_name" />
|
android:layout_margin="10dp"
|
||||||
|
android:textSize="20sp"
|
||||||
|
/>
|
||||||
|
|
||||||
<Spinner
|
<Spinner
|
||||||
android:id="@+id/playlists_spinner"
|
android:id="@+id/playlists_spinner"
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
|
@ -7,13 +7,16 @@
|
|||||||
>
|
>
|
||||||
|
|
||||||
|
|
||||||
<ImageView
|
|
||||||
android:layout_width="300dp"
|
<TextView
|
||||||
android:layout_height="64dp"
|
android:id="@+id/title"
|
||||||
android:background="#CD5757"
|
android:layout_width="match_parent"
|
||||||
android:contentDescription="@string/app_name"
|
android:layout_height="wrap_content"
|
||||||
android:scaleType="center"
|
android:text="@string/app_name"
|
||||||
android:src="@drawable/ic_libretube_foreground" />
|
android:gravity="center"
|
||||||
|
android:layout_margin="10dp"
|
||||||
|
android:textSize="20sp"
|
||||||
|
/>
|
||||||
|
|
||||||
<com.google.android.material.textfield.TextInputLayout
|
<com.google.android.material.textfield.TextInputLayout
|
||||||
style="@style/Widget.MaterialComponents.TextInputLayout.OutlinedBox"
|
style="@style/Widget.MaterialComponents.TextInputLayout.OutlinedBox"
|
||||||
|
@ -6,13 +6,15 @@
|
|||||||
>
|
>
|
||||||
|
|
||||||
|
|
||||||
<ImageView
|
<TextView
|
||||||
android:src="@drawable/ic_libretube_foreground"
|
android:id="@+id/title"
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="64dp"
|
android:layout_height="wrap_content"
|
||||||
android:scaleType="center"
|
android:text="@string/app_name"
|
||||||
android:background="#CD5757"
|
android:gravity="center"
|
||||||
android:contentDescription="@string/app_name" />
|
android:layout_margin="10dp"
|
||||||
|
android:textSize="20sp"
|
||||||
|
/>
|
||||||
|
|
||||||
<Spinner
|
<Spinner
|
||||||
android:id="@+id/video_spinner"
|
android:id="@+id/video_spinner"
|
||||||
|
@ -7,13 +7,17 @@
|
|||||||
>
|
>
|
||||||
|
|
||||||
|
|
||||||
<ImageView
|
|
||||||
android:src="@drawable/ic_libretube_foreground"
|
|
||||||
|
<TextView
|
||||||
|
android:id="@+id/title"
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="64dp"
|
android:layout_height="wrap_content"
|
||||||
android:scaleType="center"
|
android:text="@string/app_name"
|
||||||
android:background="#CD5757"
|
android:gravity="center"
|
||||||
android:contentDescription="@string/app_name" />
|
android:layout_margin="10dp"
|
||||||
|
android:textSize="20sp"
|
||||||
|
/>
|
||||||
|
|
||||||
<com.google.android.material.textfield.TextInputLayout
|
<com.google.android.material.textfield.TextInputLayout
|
||||||
style="@style/Widget.MaterialComponents.TextInputLayout.OutlinedBox"
|
style="@style/Widget.MaterialComponents.TextInputLayout.OutlinedBox"
|
||||||
@ -24,6 +28,11 @@
|
|||||||
android:layout_marginLeft="7dp"
|
android:layout_marginLeft="7dp"
|
||||||
android:layout_marginRight="7dp"
|
android:layout_marginRight="7dp"
|
||||||
android:layout_marginBottom="4dp"
|
android:layout_marginBottom="4dp"
|
||||||
|
|
||||||
|
app:boxCornerRadiusBottomStart="15dp"
|
||||||
|
app:boxCornerRadiusBottomEnd="15dp"
|
||||||
|
app:boxCornerRadiusTopEnd="15dp"
|
||||||
|
app:boxCornerRadiusTopStart="15dp"
|
||||||
>
|
>
|
||||||
|
|
||||||
<com.google.android.material.textfield.TextInputEditText
|
<com.google.android.material.textfield.TextInputEditText
|
||||||
@ -44,6 +53,12 @@
|
|||||||
android:layout_marginLeft="7dp"
|
android:layout_marginLeft="7dp"
|
||||||
android:layout_marginRight="7dp"
|
android:layout_marginRight="7dp"
|
||||||
android:layout_marginBottom="4dp"
|
android:layout_marginBottom="4dp"
|
||||||
|
|
||||||
|
app:boxCornerRadiusBottomStart="15dp"
|
||||||
|
app:boxCornerRadiusBottomEnd="15dp"
|
||||||
|
app:boxCornerRadiusTopEnd="15dp"
|
||||||
|
app:boxCornerRadiusTopStart="15dp"
|
||||||
|
|
||||||
>
|
>
|
||||||
|
|
||||||
<com.google.android.material.textfield.TextInputEditText
|
<com.google.android.material.textfield.TextInputEditText
|
||||||
|
@ -3,13 +3,16 @@
|
|||||||
android:orientation="vertical"
|
android:orientation="vertical"
|
||||||
android:layout_width="wrap_content"
|
android:layout_width="wrap_content"
|
||||||
android:layout_height="wrap_content">
|
android:layout_height="wrap_content">
|
||||||
<ImageView
|
|
||||||
android:src="@drawable/ic_libretube_foreground"
|
<TextView
|
||||||
|
android:id="@+id/title"
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="64dp"
|
android:layout_height="wrap_content"
|
||||||
android:scaleType="center"
|
android:text="@string/app_name"
|
||||||
android:background="#CD5757"
|
android:gravity="center"
|
||||||
android:contentDescription="@string/app_name" />
|
android:layout_margin="10dp"
|
||||||
|
android:textSize="20sp"
|
||||||
|
/>
|
||||||
|
|
||||||
<TextView
|
<TextView
|
||||||
android:id="@+id/user"
|
android:id="@+id/user"
|
||||||
|
@ -72,4 +72,15 @@
|
|||||||
<string name="videoCount">%1$sفيديوهات</string>
|
<string name="videoCount">%1$sفيديوهات</string>
|
||||||
<string name="instance">سيرفر</string>
|
<string name="instance">سيرفر</string>
|
||||||
<string name="customization">تخصيص</string>
|
<string name="customization">تخصيص</string>
|
||||||
|
<string name="history">السجل</string>
|
||||||
|
<string name="channels">قنوات</string>
|
||||||
|
<string name="all">كل</string>
|
||||||
|
<string name="okay">حسناً</string>
|
||||||
|
<string name="search_history">سجل البحث</string>
|
||||||
|
<string name="clear_history">امح السجل</string>
|
||||||
|
<string name="music_songs">أغاني يوتيوب</string>
|
||||||
|
<string name="music_videos">فيديوهات يوتيوب الموسيقية</string>
|
||||||
|
<string name="music_albums">ألبومات يوتيوب الموسيقية</string>
|
||||||
|
<string name="sponsorblock_state">مُفَعَّل</string>
|
||||||
|
<string name="category_sponsor">راعي</string>
|
||||||
</resources>
|
</resources>
|
@ -75,20 +75,20 @@
|
|||||||
<string name="choose_filter">Suchfilter wählen</string>
|
<string name="choose_filter">Suchfilter wählen</string>
|
||||||
<string name="channels">Kanäle</string>
|
<string name="channels">Kanäle</string>
|
||||||
<string name="all">Alle</string>
|
<string name="all">Alle</string>
|
||||||
<string name="okay">Ok</string>
|
<string name="okay">OK</string>
|
||||||
<string name="history">Verlauf</string>
|
<string name="history">Verlauf</string>
|
||||||
<string name="search_history">Suchverlauf</string>
|
<string name="search_history">Suchverlauf</string>
|
||||||
<string name="clear_history">Verlauf löschen</string>
|
<string name="clear_history">Verlauf löschen</string>
|
||||||
<string name="music_songs">YT Musik Lieder</string>
|
<string name="music_songs">YT Musik-Lieder</string>
|
||||||
<string name="music_videos">YT Musik Videos</string>
|
<string name="music_videos">YT Musik-Videos</string>
|
||||||
<string name="music_albums">YT Musik Alben</string>
|
<string name="music_albums">YT Musik-Alben</string>
|
||||||
<string name="music_playlists">YT Musik Playlists</string>
|
<string name="music_playlists">YT Musik-Wiedergabelisten</string>
|
||||||
<string name="playlists">Wiedergabelisten</string>
|
<string name="playlists">Wiedergabelisten</string>
|
||||||
<string name="category_intro">Pause/Intro-Animation</string>
|
<string name="category_intro">Pause/Intro-Animation</string>
|
||||||
<string name="category_outro">Endkarten/Credits</string>
|
<string name="category_outro">Endkarten/Credits</string>
|
||||||
<string name="sponsorblock_summary">Verwendet die API von https://sponsor.ajay.app/</string>
|
<string name="sponsorblock_summary">Verwendet die API von https://sponsor.ajay.app/</string>
|
||||||
<string name="category_segments">Abschnitte</string>
|
<string name="category_segments">Abschnitte</string>
|
||||||
<string name="category_selfpromo_description">Ähnlich wie \"Sponsor\", außer für unbezahlte Werbung oder Eigenwerbung. Dazu gehören Abschnitte über Waren, Spenden oder Informationen darüber, mit wem sie zusammengearbeitet haben.</string>
|
<string name="category_selfpromo_description">Ähnlich wie „Sponsor“, außer für unbezahlte Werbung oder Eigenwerbung. Dazu gehören Abschnitte über Waren, Spenden oder Informationen darüber, mit wem sie zusammengearbeitet haben.</string>
|
||||||
<string name="defaultTab">Standardseite</string>
|
<string name="defaultTab">Standardseite</string>
|
||||||
<string name="sponsorblock">SponsorBlock</string>
|
<string name="sponsorblock">SponsorBlock</string>
|
||||||
<string name="segment_skipped">Abschnitt übersprungen</string>
|
<string name="segment_skipped">Abschnitt übersprungen</string>
|
||||||
@ -100,4 +100,5 @@
|
|||||||
<string name="category_outro_description">Credits oder wenn die YouTube-Endkarten erscheinen. Nicht für Schlussfolgerungen mit Informationen.</string>
|
<string name="category_outro_description">Credits oder wenn die YouTube-Endkarten erscheinen. Nicht für Schlussfolgerungen mit Informationen.</string>
|
||||||
<string name="category_interaction_description">Wenn es mitten im Inhalt eine kurze Erinnerung zum Liken, Abonnieren oder Folgen gibt. Wenn es lang ist oder es um etwas Bestimmtes geht, sollte es stattdessen unter Eigenwerbung stehen.</string>
|
<string name="category_interaction_description">Wenn es mitten im Inhalt eine kurze Erinnerung zum Liken, Abonnieren oder Folgen gibt. Wenn es lang ist oder es um etwas Bestimmtes geht, sollte es stattdessen unter Eigenwerbung stehen.</string>
|
||||||
<string name="category_intro_description">Ein Intervall ohne eigentlichen Inhalt. Könnte eine Pause, ein statischer Rahmen oder eine sich wiederholende Animation sein. Dies sollte nicht für Übergänge verwendet werden, die Informationen enthalten.</string>
|
<string name="category_intro_description">Ein Intervall ohne eigentlichen Inhalt. Könnte eine Pause, ein statischer Rahmen oder eine sich wiederholende Animation sein. Dies sollte nicht für Übergänge verwendet werden, die Informationen enthalten.</string>
|
||||||
|
<string name="license">Lizenz</string>
|
||||||
</resources>
|
</resources>
|
@ -100,4 +100,5 @@
|
|||||||
<string name="category_outro_description">Τίτλοι τέλους ή όταν εμφανίζονται οι τελικές κάρτες του YouTube. Όχι για συμπεράσματα με πληροφορίες.</string>
|
<string name="category_outro_description">Τίτλοι τέλους ή όταν εμφανίζονται οι τελικές κάρτες του YouTube. Όχι για συμπεράσματα με πληροφορίες.</string>
|
||||||
<string name="category_intro_description">Ένα χρονικό διάστημα χωρίς πραγματικό περιεχόμενο. Μπορεί να είναι παύση, στατικό καρέ, επαναλαμβανόμενη κινούμενη εικόνα. Αυτό δεν πρέπει να χρησιμοποιείται για μεταβάσεις που περιέχουν πληροφορίες.</string>
|
<string name="category_intro_description">Ένα χρονικό διάστημα χωρίς πραγματικό περιεχόμενο. Μπορεί να είναι παύση, στατικό καρέ, επαναλαμβανόμενη κινούμενη εικόνα. Αυτό δεν πρέπει να χρησιμοποιείται για μεταβάσεις που περιέχουν πληροφορίες.</string>
|
||||||
<string name="category_interaction_description">Όταν υπάρχει μια σύντομη υπενθύμιση για να πατήσετε μου αρέσει, να εγγραφείτε ή να ακολουθήσετε το κανάλι τους στη μέση του περιεχομένου. Εάν είναι μεγάλης διάρκειας ή για κάτι συγκεκριμένο, θα πρέπει να παρατίθεται στην επιλογή \" Μη-χορηγούμενη/Προσωπική προώθηση\".</string>
|
<string name="category_interaction_description">Όταν υπάρχει μια σύντομη υπενθύμιση για να πατήσετε μου αρέσει, να εγγραφείτε ή να ακολουθήσετε το κανάλι τους στη μέση του περιεχομένου. Εάν είναι μεγάλης διάρκειας ή για κάτι συγκεκριμένο, θα πρέπει να παρατίθεται στην επιλογή \" Μη-χορηγούμενη/Προσωπική προώθηση\".</string>
|
||||||
|
<string name="license">Άδεια</string>
|
||||||
</resources>
|
</resources>
|
@ -63,4 +63,22 @@
|
|||||||
<string name="videos">ویدیو ها</string>
|
<string name="videos">ویدیو ها</string>
|
||||||
<string name="subscriptions">اشتراک ها</string>
|
<string name="subscriptions">اشتراک ها</string>
|
||||||
<string name="systemLanguage">زبان سیستم</string>
|
<string name="systemLanguage">زبان سیستم</string>
|
||||||
|
<string name="history">سابقه</string>
|
||||||
|
<string name="search_history">سابقه جستجو</string>
|
||||||
|
<string name="channels">کانالها</string>
|
||||||
|
<string name="all">همه</string>
|
||||||
|
<string name="okay">باشه</string>
|
||||||
|
<string name="clear_history">پاک کردن سابقه</string>
|
||||||
|
<string name="settings">تنظیمات</string>
|
||||||
|
<string name="instance">نمونه</string>
|
||||||
|
<string name="customization">شخصیسازی</string>
|
||||||
|
<string name="website">وبسایت</string>
|
||||||
|
<string name="videoCount">%1$s ویدیوها</string>
|
||||||
|
<string name="noInternet">اتصال اینترنت وجود ندارد</string>
|
||||||
|
<string name="retry">دوباره امتحان کنید</string>
|
||||||
|
<string name="comments">نظرات</string>
|
||||||
|
<string name="defaultTab">زبانه پیش فرض</string>
|
||||||
|
<string name="sponsorblock">اسپانسربلاک</string>
|
||||||
|
<string name="sponsorblock_state">فعال شده</string>
|
||||||
|
<string name="category_sponsor">اسپانسر</string>
|
||||||
</resources>
|
</resources>
|
@ -72,4 +72,33 @@
|
|||||||
<string name="settings">Paramètres</string>
|
<string name="settings">Paramètres</string>
|
||||||
<string name="location">Emplacement</string>
|
<string name="location">Emplacement</string>
|
||||||
<string name="customization">Personnalisation</string>
|
<string name="customization">Personnalisation</string>
|
||||||
|
<string name="channels">Chaînes</string>
|
||||||
|
<string name="choose_filter">Choisissez le filtre de recherche</string>
|
||||||
|
<string name="all">Tout</string>
|
||||||
|
<string name="playlists">Listes de lecture</string>
|
||||||
|
<string name="okay">OK</string>
|
||||||
|
<string name="history">Historique</string>
|
||||||
|
<string name="search_history">Historique de recherche</string>
|
||||||
|
<string name="clear_history">Effacer l’historique</string>
|
||||||
|
<string name="music_songs">Chansons YT Musique</string>
|
||||||
|
<string name="music_videos">Vidéos YT Musique</string>
|
||||||
|
<string name="music_albums">Albums YT Musique</string>
|
||||||
|
<string name="music_playlists">Listes de lecture YT Musique</string>
|
||||||
|
<string name="defaultTab">Onglet par défaut</string>
|
||||||
|
<string name="sponsorblock">SponsorBlock</string>
|
||||||
|
<string name="sponsorblock_summary">Utilise l\'API de https://sponsor.ajay.app/</string>
|
||||||
|
<string name="category_outro_description">Crédits ou quand les génériques YouTube apparaissent. Pas pour les conclusions avec des informations.</string>
|
||||||
|
<string name="category_intro_description">Un intervalle sans contenu réel. Il peut s\'agir d\'une pause, d\'une image statique ou d\'une animation répétitive. Il ne doit pas être utilisé pour les transitions contenant des informations.</string>
|
||||||
|
<string name="category_outro">Générique de fin/crédits</string>
|
||||||
|
<string name="segment_skipped">Segment sauté</string>
|
||||||
|
<string name="sponsorblock_state">Activé</string>
|
||||||
|
<string name="category_segments">Segments</string>
|
||||||
|
<string name="category_sponsor">Sponsor</string>
|
||||||
|
<string name="category_selfpromo">Promo non rémunérée/auto-promotion</string>
|
||||||
|
<string name="category_selfpromo_description">Semblable à « sponsor » sauf pour les activités non rémunérées ou l\'autopromotion. Ceci inclut les sections sur les marchandises, les dons ou les informations sur les personnes avec lesquelles ils ont collaboré.</string>
|
||||||
|
<string name="category_intro">Animation d\'intro/entracte</string>
|
||||||
|
<string name="license">Licence</string>
|
||||||
|
<string name="category_interaction_description">Lorsqu\'il y a un bref rappel pour aimer, s\'abonner ou suivre l\'entreprise au milieu du contenu. S\'il est long ou s\'il traite d\'un sujet spécifique, il doit plutôt être placé sous la rubrique « autopromotion ».</string>
|
||||||
|
<string name="category_sponsor_description">Promotion payée, références payées et publicités directes. Il ne s\'agit pas d\'autopromotion ou de citation gratuite de causes/créateurs/sites web/produits qu\'ils aiment.</string>
|
||||||
|
<string name="category_interaction">Rappel d\'interaction (S\'abonner)</string>
|
||||||
</resources>
|
</resources>
|
@ -81,7 +81,7 @@
|
|||||||
<string name="category_interaction_description">좋아요에 대한 짧은 알림이 있으면 콘텐츠 중간에 구독하거나 팔로우하세요. 길거나 구체적인 내용이라면 자체 홍보를 해야 합니다.</string>
|
<string name="category_interaction_description">좋아요에 대한 짧은 알림이 있으면 콘텐츠 중간에 구독하거나 팔로우하세요. 길거나 구체적인 내용이라면 자체 홍보를 해야 합니다.</string>
|
||||||
<string name="channels">채널</string>
|
<string name="channels">채널</string>
|
||||||
<string name="history">기록</string>
|
<string name="history">기록</string>
|
||||||
<string name="music_albums">음악 앨범</string>
|
<string name="music_albums">유튜브 뮤직 앨범</string>
|
||||||
<string name="category_selfpromo_description">무료 또는 자체 프로모션을 제외하고 \"스폰서\"와 유사합니다. 여기에는 상품, 기부 또는 협력 대상에 대한 정보에 대한 섹션이 포함됩니다.</string>
|
<string name="category_selfpromo_description">무료 또는 자체 프로모션을 제외하고 \"스폰서\"와 유사합니다. 여기에는 상품, 기부 또는 협력 대상에 대한 정보에 대한 섹션이 포함됩니다.</string>
|
||||||
<string name="all">모두</string>
|
<string name="all">모두</string>
|
||||||
<string name="sponsorblock_summary">https://sponsor.ajay.app/의 API 사용</string>
|
<string name="sponsorblock_summary">https://sponsor.ajay.app/의 API 사용</string>
|
||||||
@ -91,9 +91,9 @@
|
|||||||
<string name="okay">확인</string>
|
<string name="okay">확인</string>
|
||||||
<string name="clear_history">기록 지우기</string>
|
<string name="clear_history">기록 지우기</string>
|
||||||
<string name="search_history">검색 기록</string>
|
<string name="search_history">검색 기록</string>
|
||||||
<string name="music_songs">음악 노래</string>
|
<string name="music_songs">유튜브 뮤직 노래</string>
|
||||||
<string name="music_videos">음악 비디오</string>
|
<string name="music_videos">유튜브 뮤직 비디오</string>
|
||||||
<string name="music_playlists">음악 플레이리스트</string>
|
<string name="music_playlists">유튜브 뮤직 플레이리스트</string>
|
||||||
<string name="sponsorblock">스폰서 차단</string>
|
<string name="sponsorblock">스폰서 차단</string>
|
||||||
<string name="category_interaction">인터랙션 알림(구독)</string>
|
<string name="category_interaction">인터랙션 알림(구독)</string>
|
||||||
<string name="category_intro">인터미션/인트로 애니메이션</string>
|
<string name="category_intro">인터미션/인트로 애니메이션</string>
|
||||||
|
@ -13,7 +13,7 @@
|
|||||||
<string name="customInstance">सानुकूल उदाहरण जोडा</string>
|
<string name="customInstance">सानुकूल उदाहरण जोडा</string>
|
||||||
<string name="region">एक प्रदेश निवडा</string>
|
<string name="region">एक प्रदेश निवडा</string>
|
||||||
<string name="importsuccess">यशस्वीरित्या सदस्यता घेतली!</string>
|
<string name="importsuccess">यशस्वीरित्या सदस्यता घेतली!</string>
|
||||||
<string name="subscribeIsEmpty">प्रथम काही चॅनेलची सदस्यता घ्या!</string>
|
<string name="subscribeIsEmpty">प्रथम काही चॅनेलची सदस्यता घ्या.</string>
|
||||||
<string name="dlcomplete">डाउनलोड पूर्ण झाले!</string>
|
<string name="dlcomplete">डाउनलोड पूर्ण झाले!</string>
|
||||||
<string name="downloadfailed">डाउनलोड अयशस्वी!</string>
|
<string name="downloadfailed">डाउनलोड अयशस्वी!</string>
|
||||||
<string name="vlc">VLC मध्ये उघडा</string>
|
<string name="vlc">VLC मध्ये उघडा</string>
|
||||||
@ -51,4 +51,54 @@
|
|||||||
<string name="playlistCreated">प्लेलिस्ट तयार केली!</string>
|
<string name="playlistCreated">प्लेलिस्ट तयार केली!</string>
|
||||||
<string name="areYouSure">तुमची खात्री आहे की तुम्ही ही प्लेलिस्ट हटवू इच्छिता\?</string>
|
<string name="areYouSure">तुमची खात्री आहे की तुम्ही ही प्लेलिस्ट हटवू इच्छिता\?</string>
|
||||||
<string name="unsubscribe">सदस्यत्व रद्द करा</string>
|
<string name="unsubscribe">सदस्यत्व रद्द करा</string>
|
||||||
|
<string name="choose_filter">शोध फिल्टर निवडा</string>
|
||||||
|
<string name="channels">चॅनेल</string>
|
||||||
|
<string name="all">सर्व</string>
|
||||||
|
<string name="playlists">प्लेलिस्ट</string>
|
||||||
|
<string name="okay">ठीक आहे</string>
|
||||||
|
<string name="history">इतिहास</string>
|
||||||
|
<string name="search_history">इतिहासात शोधा</string>
|
||||||
|
<string name="clear_history">इतिहास साफ करा</string>
|
||||||
|
<string name="music_songs">YT संगीत गाणी</string>
|
||||||
|
<string name="music_videos">YT संगीत व्हिडिओ</string>
|
||||||
|
<string name="music_albums">YT संगीत अल्बम</string>
|
||||||
|
<string name="music_playlists">YT संगीत प्लेलिस्ट</string>
|
||||||
|
<string name="defaultTab">डीफॉल्ट टॅब</string>
|
||||||
|
<string name="sponsorblock">SponsorBlock</string>
|
||||||
|
<string name="sponsorblock_summary">https://sponsor.ajay.app/ वरून API वापरते</string>
|
||||||
|
<string name="segment_skipped">विभाग वगळला</string>
|
||||||
|
<string name="sponsorblock_state">सक्षम केले</string>
|
||||||
|
<string name="category_segments">विभाग</string>
|
||||||
|
<string name="category_sponsor">प्रायोजक</string>
|
||||||
|
<string name="category_selfpromo">न भरलेली/स्वत:ची जाहिरात</string>
|
||||||
|
<string name="category_interaction">परस्परसंवाद स्मरणपत्र (सदस्यता घ्या)</string>
|
||||||
|
<string name="category_intro">इंटरमिशन/इंट्रो अॅनिमेशन</string>
|
||||||
|
<string name="category_outro">एंडकार्ड्स/क्रेडिट्स</string>
|
||||||
|
<string name="category_outro_description">क्रेडिट्स किंवा जेव्हा YouTube एंडकार्ड दिसतात. माहितीसह निष्कर्ष काढण्यासाठी नाही.</string>
|
||||||
|
<string name="license">परवाना</string>
|
||||||
|
<string name="category_interaction_description">जेव्हा सामग्रीच्या मध्यभागी लाईक करण्यासाठी, सदस्यता घेण्यासाठी किंवा त्यांचे अनुसरण करण्यासाठी एक लहान स्मरणपत्र असते. जर ते लांबलचक किंवा विशिष्ट गोष्टींबद्दल असेल, तर त्याऐवजी ते स्वत:च्या जाहिरातीखाली असावे.</string>
|
||||||
|
<string name="category_sponsor_description">सशुल्क जाहिरात, सशुल्क संदर्भ आणि थेट जाहिराती. स्वत:च्या प्रचारासाठी किंवा त्यांच्या आवडीच्या कारणांसाठी/निर्माते/वेबसाइट्स/उत्पादनांसाठी मोफत ओरडण्यासाठी नाही.</string>
|
||||||
|
<string name="category_selfpromo_description">\"प्रायोजक\" सारखेच बिनपगारी किंवा स्वत:ची जाहिरात वगळता. यामध्ये व्यापारी माल, देणग्या किंवा त्यांनी कोणासोबत सहकार्य केले याबद्दलच्या माहितीचा समावेश आहे.</string>
|
||||||
|
<string name="category_intro_description">वास्तविक सामग्रीशिवाय मध्यांतर. एक विराम, स्थिर फ्रेम, पुनरावृत्ती अॅनिमेशन असू शकते. हे माहिती असलेल्या संक्रमणांसाठी वापरले जाऊ नये.</string>
|
||||||
|
<string name="emptyPlaylistName">प्लेलिस्ट नाव रिक्त असू शकत नाही</string>
|
||||||
|
<string name="startpage">घर</string>
|
||||||
|
<string name="subscriptions">सदस्यता</string>
|
||||||
|
<string name="library">लायब्ररी</string>
|
||||||
|
<string name="videos">व्हिडिओ</string>
|
||||||
|
<string name="import_from_yt_summary">Youtube किंवा Newpipe वरून</string>
|
||||||
|
<string name="changeLanguage">भाषा बदला</string>
|
||||||
|
<string name="systemLanguage">प्रणाली भाषा</string>
|
||||||
|
<string name="systemDefault">सिस्टम डीफॉल्ट</string>
|
||||||
|
<string name="lightTheme">पांढरा थीम</string>
|
||||||
|
<string name="darkTheme">गडद थीम</string>
|
||||||
|
<string name="subscribers">%1$sसदस्य</string>
|
||||||
|
<string name="settings">सेटिंग्ज</string>
|
||||||
|
<string name="location">स्थान</string>
|
||||||
|
<string name="instance">उदाहरण</string>
|
||||||
|
<string name="customization">सानुकूलन</string>
|
||||||
|
<string name="website">संकेतस्थळ</string>
|
||||||
|
<string name="videoCount">%1$s व्हिडिओ</string>
|
||||||
|
<string name="noInternet">इंटरनेट कनेक्शन नाही</string>
|
||||||
|
<string name="retry">पुन्हा प्रयत्न करा</string>
|
||||||
|
<string name="comments">टिप्पण्या</string>
|
||||||
</resources>
|
</resources>
|
@ -33,7 +33,7 @@
|
|||||||
<string name="server_error">Serwer napotkał problem. Spróbuj może użyć innej instancji\?</string>
|
<string name="server_error">Serwer napotkał problem. Spróbuj może użyć innej instancji\?</string>
|
||||||
<string name="unknown_error">Błąd sieci!</string>
|
<string name="unknown_error">Błąd sieci!</string>
|
||||||
<string name="error">Coś poszło nie tak!</string>
|
<string name="error">Coś poszło nie tak!</string>
|
||||||
<string name="notgmail">To nie jest twoje stare konto gmail!</string>
|
<string name="notgmail">To nie jest konto gmail!</string>
|
||||||
<string name="defres">Domyślna jakość video</string>
|
<string name="defres">Domyślna jakość video</string>
|
||||||
<string name="grid">Wybierz zagęszczenie siatki filmów</string>
|
<string name="grid">Wybierz zagęszczenie siatki filmów</string>
|
||||||
<string name="emptyList">Tu jeszcze nic nie ma!</string>
|
<string name="emptyList">Tu jeszcze nic nie ma!</string>
|
||||||
@ -63,4 +63,39 @@
|
|||||||
<string name="darkTheme">Tryb ciemny</string>
|
<string name="darkTheme">Tryb ciemny</string>
|
||||||
<string name="subscriptions">Subskrypcje</string>
|
<string name="subscriptions">Subskrypcje</string>
|
||||||
<string name="library">Biblioteka</string>
|
<string name="library">Biblioteka</string>
|
||||||
|
<string name="defaultTab">Strona Główna</string>
|
||||||
|
<string name="sponsorblock">Blocker Sponsorów</string>
|
||||||
|
<string name="sponsorblock_summary">Używa API z
|
||||||
|
\nhttps://sponsor.ajay.app/</string>
|
||||||
|
<string name="choose_filter">Wybierz filter wyszukiwania</string>
|
||||||
|
<string name="channels">Kanały</string>
|
||||||
|
<string name="all">Wszystkie</string>
|
||||||
|
<string name="playlists">Playlisty</string>
|
||||||
|
<string name="okay">Okej</string>
|
||||||
|
<string name="history">Historia</string>
|
||||||
|
<string name="search_history">Historia wyszukiwania</string>
|
||||||
|
<string name="clear_history">Wyczyść Historie</string>
|
||||||
|
<string name="sponsorblock_state">Włączono</string>
|
||||||
|
<string name="category_selfpromo">Bezpłatna / własna promocja</string>
|
||||||
|
<string name="category_segments">Segmenty</string>
|
||||||
|
<string name="category_sponsor">Sponsor</string>
|
||||||
|
<string name="category_sponsor_description">"Płatna promocja, płatne polecenia i reklamy bezpośrednie. Nie do autopromocji lub bezpłatnych okrzyków do celów/twórców/stron internetowych/produktów, które im się podobają."</string>
|
||||||
|
<string name="segment_skipped">Pominiento segment filmu !</string>
|
||||||
|
<string name="category_selfpromo_description">"Podobny do „sponsora”, z wyjątkiem bezpłatnej lub własnej promocji. Obejmuje to sekcje dotyczące towarów, darowizn lub informacji o tym, z kim współpracowali."</string>
|
||||||
|
<string name="category_interaction">Przypomnienie o interakcji (subskrybuj)</string>
|
||||||
|
<string name="category_interaction_description">"Gdy pojawi się krótkie przypomnienie, aby polubić, zasubskrybuj lub postępuj zgodnie z nimi w środku treści. Jeśli jest długi lub dotyczy czegoś konkretnego, powinien być w ramach samo promocji."</string>
|
||||||
|
<string name="category_intro">Przerywnik / Animacja wprowadzająca</string>
|
||||||
|
<string name="category_intro_description">"Interwał bez faktycznej treści. Może to być pauza, statyczna klatka, powtarzająca się animacja. Nie należy tego używać do przejść zawierających informacje."</string>
|
||||||
|
<string name="category_outro">Karty końcowe / kredyty</string>
|
||||||
|
<string name="category_outro_description">"Kredyty lub kiedy pojawią się plansze końcowe YouTube. Nie dla wniosków z informacją."</string>
|
||||||
|
<string name="license">Licencja</string>
|
||||||
|
<string name="location">Lokalizacja</string>
|
||||||
|
<string name="settings">Ustawienia</string>
|
||||||
|
<string name="instance">Instancja</string>
|
||||||
|
<string name="customization">Dostosowywanie</string>
|
||||||
|
<string name="website">Strona Internetowa</string>
|
||||||
|
<string name="videoCount">%1$s filmy</string>
|
||||||
|
<string name="noInternet">Brak Połączenia z Internetem</string>
|
||||||
|
<string name="retry">Spróbuj Ponownie</string>
|
||||||
|
<string name="comments">Komentarze</string>
|
||||||
</resources>
|
</resources>
|
@ -100,4 +100,5 @@
|
|||||||
<string name="music_albums">YT Müzik Albümleri</string>
|
<string name="music_albums">YT Müzik Albümleri</string>
|
||||||
<string name="music_videos">YT Müzik Videoları</string>
|
<string name="music_videos">YT Müzik Videoları</string>
|
||||||
<string name="music_playlists">YT Müzik Oynatma Listeleri</string>
|
<string name="music_playlists">YT Müzik Oynatma Listeleri</string>
|
||||||
|
<string name="license">Lisans</string>
|
||||||
</resources>
|
</resources>
|
Loading…
Reference in New Issue
Block a user