mirror of
https://github.com/TeamNewPipe/NewPipe
synced 2024-12-23 00:20:32 +00:00
Merge branch 'dev' into 9458_faulty_playlist_thumbnail_update
This commit is contained in:
commit
3ff4b713e8
@ -1,3 +1,7 @@
|
||||
import com.android.tools.profgen.ArtProfileKt
|
||||
import com.android.tools.profgen.ArtProfileSerializer
|
||||
import com.android.tools.profgen.DexFile
|
||||
|
||||
plugins {
|
||||
id "com.android.application"
|
||||
id "kotlin-android"
|
||||
@ -308,3 +312,24 @@ static String getGitWorkingBranch() {
|
||||
return ""
|
||||
}
|
||||
}
|
||||
|
||||
project.afterEvaluate {
|
||||
tasks.compileReleaseArtProfile.doLast {
|
||||
outputs.files.each { file ->
|
||||
if (file.toString().endsWith(".profm")) {
|
||||
println("Sorting ${file} ...")
|
||||
def version = ArtProfileSerializer.valueOf("METADATA_0_0_2")
|
||||
def profile = ArtProfileKt.ArtProfile(file)
|
||||
def keys = new ArrayList(profile.profileData.keySet())
|
||||
def sortedData = new LinkedHashMap()
|
||||
Collections.sort keys, new DexFile.Companion()
|
||||
keys.each { key -> sortedData[key] = profile.profileData[key] }
|
||||
new FileOutputStream(file).with {
|
||||
write(version.magicBytes$profgen)
|
||||
write(version.versionBytes$profgen)
|
||||
version.write$profgen(it, sortedData, "")
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -0,0 +1,24 @@
|
||||
package org.schabi.newpipe.database.playlist;
|
||||
|
||||
import androidx.room.ColumnInfo;
|
||||
|
||||
/**
|
||||
* This class adds a field to {@link PlaylistMetadataEntry} that contains an integer representing
|
||||
* how many times a specific stream is already contained inside a local playlist. Used to be able
|
||||
* to grey out playlists which already contain the current stream in the playlist append dialog.
|
||||
* @see org.schabi.newpipe.local.playlist.LocalPlaylistManager#getPlaylistDuplicates(String)
|
||||
*/
|
||||
public class PlaylistDuplicatesEntry extends PlaylistMetadataEntry {
|
||||
public static final String PLAYLIST_TIMES_STREAM_IS_CONTAINED = "timesStreamIsContained";
|
||||
@ColumnInfo(name = PLAYLIST_TIMES_STREAM_IS_CONTAINED)
|
||||
public final long timesStreamIsContained;
|
||||
|
||||
public PlaylistDuplicatesEntry(final long uid,
|
||||
final String name,
|
||||
final String thumbnailUrl,
|
||||
final long streamCount,
|
||||
final long timesStreamIsContained) {
|
||||
super(uid, name, thumbnailUrl, streamCount);
|
||||
this.timesStreamIsContained = timesStreamIsContained;
|
||||
}
|
||||
}
|
@ -6,6 +6,7 @@ import androidx.room.RewriteQueriesToDropUnusedColumns;
|
||||
import androidx.room.Transaction;
|
||||
|
||||
import org.schabi.newpipe.database.BasicDAO;
|
||||
import org.schabi.newpipe.database.playlist.PlaylistDuplicatesEntry;
|
||||
import org.schabi.newpipe.database.playlist.PlaylistMetadataEntry;
|
||||
import org.schabi.newpipe.database.playlist.PlaylistStreamEntry;
|
||||
import org.schabi.newpipe.database.playlist.model.PlaylistStreamEntity;
|
||||
@ -14,6 +15,7 @@ import java.util.List;
|
||||
|
||||
import io.reactivex.rxjava3.core.Flowable;
|
||||
|
||||
import static org.schabi.newpipe.database.playlist.PlaylistDuplicatesEntry.PLAYLIST_TIMES_STREAM_IS_CONTAINED;
|
||||
import static org.schabi.newpipe.database.playlist.PlaylistMetadataEntry.PLAYLIST_STREAM_COUNT;
|
||||
import static org.schabi.newpipe.database.playlist.model.PlaylistEntity.DEFAULT_THUMBNAIL;
|
||||
import static org.schabi.newpipe.database.playlist.model.PlaylistEntity.PLAYLIST_ID;
|
||||
@ -28,6 +30,7 @@ import static org.schabi.newpipe.database.playlist.model.PlaylistStreamEntity.PL
|
||||
import static org.schabi.newpipe.database.stream.model.StreamEntity.STREAM_ID;
|
||||
import static org.schabi.newpipe.database.stream.model.StreamEntity.STREAM_TABLE;
|
||||
import static org.schabi.newpipe.database.stream.model.StreamEntity.STREAM_THUMBNAIL_URL;
|
||||
import static org.schabi.newpipe.database.stream.model.StreamEntity.STREAM_URL;
|
||||
import static org.schabi.newpipe.database.stream.model.StreamStateEntity.JOIN_STREAM_ID_ALIAS;
|
||||
import static org.schabi.newpipe.database.stream.model.StreamStateEntity.STREAM_PROGRESS_MILLIS;
|
||||
import static org.schabi.newpipe.database.stream.model.StreamStateEntity.STREAM_STATE_TABLE;
|
||||
@ -103,4 +106,24 @@ public interface PlaylistStreamDAO extends BasicDAO<PlaylistStreamEntity> {
|
||||
+ " GROUP BY " + PLAYLIST_ID
|
||||
+ " ORDER BY " + PLAYLIST_NAME + " COLLATE NOCASE ASC")
|
||||
Flowable<List<PlaylistMetadataEntry>> getPlaylistMetadata();
|
||||
|
||||
@Transaction
|
||||
@Query("SELECT " + PLAYLIST_TABLE + "." + PLAYLIST_ID + ", "
|
||||
+ PLAYLIST_NAME + ", "
|
||||
+ PLAYLIST_TABLE + "." + PLAYLIST_THUMBNAIL_URL + ", "
|
||||
+ "COALESCE(COUNT(" + JOIN_PLAYLIST_ID + "), 0) AS " + PLAYLIST_STREAM_COUNT + ", "
|
||||
+ "COALESCE(SUM(" + STREAM_URL + " = :streamUrl), 0) AS "
|
||||
+ PLAYLIST_TIMES_STREAM_IS_CONTAINED
|
||||
|
||||
+ " FROM " + PLAYLIST_TABLE
|
||||
+ " LEFT JOIN " + PLAYLIST_STREAM_JOIN_TABLE
|
||||
+ " ON " + PLAYLIST_TABLE + "." + PLAYLIST_ID + " = " + JOIN_PLAYLIST_ID
|
||||
|
||||
+ " LEFT JOIN " + STREAM_TABLE
|
||||
+ " ON " + STREAM_TABLE + "." + STREAM_ID + " = " + JOIN_STREAM_ID
|
||||
+ " AND :streamUrl = :streamUrl"
|
||||
|
||||
+ " GROUP BY " + JOIN_PLAYLIST_ID
|
||||
+ " ORDER BY " + PLAYLIST_NAME + " COLLATE NOCASE ASC")
|
||||
Flowable<List<PlaylistDuplicatesEntry>> getPlaylistDuplicatesMetadata(String streamUrl);
|
||||
}
|
||||
|
@ -4,6 +4,7 @@ import android.os.Bundle;
|
||||
import android.view.LayoutInflater;
|
||||
import android.view.View;
|
||||
import android.view.ViewGroup;
|
||||
import android.widget.TextView;
|
||||
import android.widget.Toast;
|
||||
|
||||
import androidx.annotation.NonNull;
|
||||
@ -13,8 +14,8 @@ import androidx.recyclerview.widget.RecyclerView;
|
||||
|
||||
import org.schabi.newpipe.NewPipeDatabase;
|
||||
import org.schabi.newpipe.R;
|
||||
import org.schabi.newpipe.database.playlist.PlaylistMetadataEntry;
|
||||
import org.schabi.newpipe.database.playlist.model.PlaylistEntity;
|
||||
import org.schabi.newpipe.database.playlist.PlaylistDuplicatesEntry;
|
||||
import org.schabi.newpipe.database.stream.model.StreamEntity;
|
||||
import org.schabi.newpipe.local.LocalItemListAdapter;
|
||||
import org.schabi.newpipe.local.playlist.LocalPlaylistManager;
|
||||
@ -29,6 +30,7 @@ public final class PlaylistAppendDialog extends PlaylistDialog {
|
||||
|
||||
private RecyclerView playlistRecyclerView;
|
||||
private LocalItemListAdapter playlistAdapter;
|
||||
private TextView playlistDuplicateIndicator;
|
||||
|
||||
private final CompositeDisposable playlistDisposables = new CompositeDisposable();
|
||||
|
||||
@ -64,8 +66,9 @@ public final class PlaylistAppendDialog extends PlaylistDialog {
|
||||
playlistAdapter = new LocalItemListAdapter(getActivity());
|
||||
playlistAdapter.setSelectedListener(selectedItem -> {
|
||||
final List<StreamEntity> entities = getStreamEntities();
|
||||
if (selectedItem instanceof PlaylistMetadataEntry && entities != null) {
|
||||
onPlaylistSelected(playlistManager, (PlaylistMetadataEntry) selectedItem, entities);
|
||||
if (selectedItem instanceof PlaylistDuplicatesEntry && entities != null) {
|
||||
onPlaylistSelected(playlistManager,
|
||||
(PlaylistDuplicatesEntry) selectedItem, entities);
|
||||
}
|
||||
});
|
||||
|
||||
@ -73,10 +76,13 @@ public final class PlaylistAppendDialog extends PlaylistDialog {
|
||||
playlistRecyclerView.setLayoutManager(new LinearLayoutManager(requireContext()));
|
||||
playlistRecyclerView.setAdapter(playlistAdapter);
|
||||
|
||||
playlistDuplicateIndicator = view.findViewById(R.id.playlist_duplicate);
|
||||
|
||||
final View newPlaylistButton = view.findViewById(R.id.newPlaylist);
|
||||
newPlaylistButton.setOnClickListener(ignored -> openCreatePlaylistDialog());
|
||||
|
||||
playlistDisposables.add(playlistManager.getPlaylists()
|
||||
playlistDisposables.add(playlistManager
|
||||
.getPlaylistDuplicates(getStreamEntities().get(0).getUrl())
|
||||
.observeOn(AndroidSchedulers.mainThread())
|
||||
.subscribe(this::onPlaylistsReceived));
|
||||
}
|
||||
@ -118,19 +124,36 @@ public final class PlaylistAppendDialog extends PlaylistDialog {
|
||||
requireDialog().dismiss();
|
||||
}
|
||||
|
||||
private void onPlaylistsReceived(@NonNull final List<PlaylistMetadataEntry> playlists) {
|
||||
if (playlistAdapter != null && playlistRecyclerView != null) {
|
||||
private void onPlaylistsReceived(@NonNull final List<PlaylistDuplicatesEntry> playlists) {
|
||||
if (playlistAdapter != null
|
||||
&& playlistRecyclerView != null
|
||||
&& playlistDuplicateIndicator != null) {
|
||||
playlistAdapter.clearStreamItemList();
|
||||
playlistAdapter.addItems(playlists);
|
||||
playlistRecyclerView.setVisibility(View.VISIBLE);
|
||||
playlistDuplicateIndicator.setVisibility(
|
||||
anyPlaylistContainsDuplicates(playlists) ? View.VISIBLE : View.GONE);
|
||||
}
|
||||
}
|
||||
|
||||
private boolean anyPlaylistContainsDuplicates(final List<PlaylistDuplicatesEntry> playlists) {
|
||||
return playlists.stream()
|
||||
.anyMatch(playlist -> playlist.timesStreamIsContained > 0);
|
||||
}
|
||||
|
||||
private void onPlaylistSelected(@NonNull final LocalPlaylistManager manager,
|
||||
@NonNull final PlaylistMetadataEntry playlist,
|
||||
@NonNull final PlaylistDuplicatesEntry playlist,
|
||||
@NonNull final List<StreamEntity> streams) {
|
||||
final Toast successToast = Toast.makeText(getContext(),
|
||||
R.string.playlist_add_stream_success, Toast.LENGTH_SHORT);
|
||||
|
||||
final String toastText;
|
||||
if (playlist.timesStreamIsContained > 0) {
|
||||
toastText = getString(R.string.playlist_add_stream_success_duplicate,
|
||||
playlist.timesStreamIsContained);
|
||||
} else {
|
||||
toastText = getString(R.string.playlist_add_stream_success);
|
||||
}
|
||||
|
||||
final Toast successToast = Toast.makeText(getContext(), toastText, Toast.LENGTH_SHORT);
|
||||
|
||||
playlistDisposables.add(manager.appendToPlaylist(playlist.uid, streams)
|
||||
.observeOn(AndroidSchedulers.mainThread())
|
||||
|
@ -4,6 +4,7 @@ import android.view.View;
|
||||
import android.view.ViewGroup;
|
||||
|
||||
import org.schabi.newpipe.database.LocalItem;
|
||||
import org.schabi.newpipe.database.playlist.PlaylistDuplicatesEntry;
|
||||
import org.schabi.newpipe.database.playlist.PlaylistMetadataEntry;
|
||||
import org.schabi.newpipe.local.LocalItemBuilder;
|
||||
import org.schabi.newpipe.local.history.HistoryRecordManager;
|
||||
@ -13,6 +14,9 @@ import org.schabi.newpipe.util.Localization;
|
||||
import java.time.format.DateTimeFormatter;
|
||||
|
||||
public class LocalPlaylistItemHolder extends PlaylistItemHolder {
|
||||
|
||||
private static final float GRAYED_OUT_ALPHA = 0.6f;
|
||||
|
||||
public LocalPlaylistItemHolder(final LocalItemBuilder infoItemBuilder, final ViewGroup parent) {
|
||||
super(infoItemBuilder, parent);
|
||||
}
|
||||
@ -38,6 +42,13 @@ public class LocalPlaylistItemHolder extends PlaylistItemHolder {
|
||||
|
||||
PicassoHelper.loadPlaylistThumbnail(item.thumbnailUrl).into(itemThumbnailView);
|
||||
|
||||
if (item instanceof PlaylistDuplicatesEntry
|
||||
&& ((PlaylistDuplicatesEntry) item).timesStreamIsContained > 0) {
|
||||
itemView.setAlpha(GRAYED_OUT_ALPHA);
|
||||
} else {
|
||||
itemView.setAlpha(1.0f);
|
||||
}
|
||||
|
||||
super.updateFromItem(localItem, historyRecordManager, dateTimeFormatter);
|
||||
}
|
||||
}
|
||||
|
@ -3,6 +3,7 @@ package org.schabi.newpipe.local.playlist;
|
||||
import androidx.annotation.Nullable;
|
||||
|
||||
import org.schabi.newpipe.database.AppDatabase;
|
||||
import org.schabi.newpipe.database.playlist.PlaylistDuplicatesEntry;
|
||||
import org.schabi.newpipe.database.playlist.PlaylistMetadataEntry;
|
||||
import org.schabi.newpipe.database.playlist.PlaylistStreamEntry;
|
||||
import org.schabi.newpipe.database.playlist.dao.PlaylistDAO;
|
||||
@ -92,6 +93,18 @@ public class LocalPlaylistManager {
|
||||
return playlistStreamTable.getPlaylistMetadata().subscribeOn(Schedulers.io());
|
||||
}
|
||||
|
||||
/**
|
||||
* Get playlists with attached information about how many times the provided stream is already
|
||||
* contained in each playlist.
|
||||
*
|
||||
* @param streamUrl the stream url for which to check for duplicates
|
||||
* @return a list of {@link PlaylistDuplicatesEntry}
|
||||
*/
|
||||
public Flowable<List<PlaylistDuplicatesEntry>> getPlaylistDuplicates(final String streamUrl) {
|
||||
return playlistStreamTable.getPlaylistDuplicatesMetadata(streamUrl)
|
||||
.subscribeOn(Schedulers.io());
|
||||
}
|
||||
|
||||
public Flowable<List<PlaylistStreamEntry>> getPlaylistStreams(final long playlistId) {
|
||||
return playlistStreamTable.getOrderedStreamsOf(playlistId).subscribeOn(Schedulers.io());
|
||||
}
|
||||
|
@ -34,11 +34,26 @@
|
||||
tools:ignore="RtlHardcoded" />
|
||||
</RelativeLayout>
|
||||
|
||||
<org.schabi.newpipe.views.NewPipeTextView
|
||||
android:id="@+id/playlist_duplicate"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_below="@+id/newPlaylist"
|
||||
android:layout_marginHorizontal="@dimen/video_item_search_padding"
|
||||
android:layout_marginBottom="@dimen/video_item_search_padding"
|
||||
android:gravity="center"
|
||||
android:text="@string/duplicate_in_playlist"
|
||||
android:textAppearance="?android:attr/textAppearanceMedium"
|
||||
android:textSize="13sp"
|
||||
android:visibility="gone"
|
||||
tools:text="@tools:sample/lorem[20]"
|
||||
tools:visibility="visible" />
|
||||
|
||||
<View
|
||||
android:id="@+id/separator"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="1dp"
|
||||
android:layout_below="@+id/newPlaylist"
|
||||
android:layout_below="@+id/playlist_duplicate"
|
||||
android:layout_marginLeft="@dimen/video_item_search_padding"
|
||||
android:layout_marginRight="@dimen/video_item_search_padding"
|
||||
android:background="?attr/separator_color" />
|
||||
|
@ -780,4 +780,6 @@
|
||||
<string name="import_subscriptions_hint">استيراد الاشتراكات أو تصديرها من القائمة المكونة من 3 نقاط</string>
|
||||
<string name="night_theme_available">هذا الخيار متاح فقط إذا تم تحديد %s للسمة</string>
|
||||
<string name="unset_playlist_thumbnail">إلغاء تعيين الصورة المصغرة الدائمة</string>
|
||||
<string name="msg_failed_to_copy">فشل النسخ إلى الحافظة</string>
|
||||
<string name="card">البطاقة</string>
|
||||
</resources>
|
@ -25,4 +25,77 @@
|
||||
<string name="did_you_mean">আপুনি \"%1$s\" বুজাইছিল নেকি\?</string>
|
||||
<string name="use_external_video_player_title">বাহ্যিক ভিডিঅ’ প্লেয়াৰ ব্যৱহাৰ কৰক</string>
|
||||
<string name="use_external_audio_player_title">বাহ্যিক অডিঅ’ প্লেয়াৰ ব্যৱহাৰ কৰক</string>
|
||||
<string name="channel_unsubscribed">Channel আনচাবস্ক্ৰাইব কৰা হ\'ল</string>
|
||||
<string name="subscription_change_failed">subscription সলনি কৰিব পৰা নগ\'ল</string>
|
||||
<string name="subscription_update_failed">subscription আপডেট কৰিব পৰা নগ\'ল</string>
|
||||
<string name="show_info">তথ্য দেখুৱাওক</string>
|
||||
<string name="tab_subscriptions">চাবস্ক্ৰিপচন</string>
|
||||
<string name="tab_bookmarks">বুকমাৰ্ক কৰা প্লেলিষ্ট</string>
|
||||
<string name="tab_choose">টেব নিৰ্বাচন কৰক</string>
|
||||
<string name="controls_background_title">বেকগ্ৰাউণ্ড</string>
|
||||
<string name="controls_popup_title">পপ-আপ</string>
|
||||
<string name="default_resolution_title">স্থায়ী ৰিজ\'লিউচন</string>
|
||||
<string name="default_popup_resolution_title">স্থায়ী পপআপ ৰিজোলিউচন</string>
|
||||
<string name="show_higher_resolutions_title">উচ্চ ৰিজ\'লিউচন দেখুৱাওক</string>
|
||||
<string name="show_higher_resolutions_summary">কেৱল কিছুমান ডিভাইচেহে 2K/4K ভিডিঅ’ বজাব পাৰে</string>
|
||||
<string name="play_with_kodi_title">Kodi ৰ সৈতে বজাওক</string>
|
||||
<string name="kore_not_found">Kore এপ ইনষ্টল\?</string>
|
||||
<string name="show_play_with_kodi_title">\"Kodi ৰ সৈতে খোলক\" বিকল্প দেখুৱাওক</string>
|
||||
<string name="show_play_with_kodi_summary">Kodi মিডিয়া চেণ্টাৰৰ জৰিয়তে এটা ভিডিঅ\' চলাবলৈ এটা বিকল্প প্ৰদৰ্শন কৰক</string>
|
||||
<string name="crash_the_player">প্লেয়াৰটো ক্ৰেচ কৰক</string>
|
||||
<string name="notification_action_buffering">বাফাৰিং</string>
|
||||
<string name="notification_action_nothing">নথিং</string>
|
||||
<string name="notification_colorize_title">জাননী ৰঙিণ কৰক</string>
|
||||
<string name="play_audio">অডিঅ\'</string>
|
||||
<string name="default_audio_format_title">অডিঅ\' ৰ প্ৰকাৰ</string>
|
||||
<string name="default_video_format_title">ভিডিঅ\'ৰ প্ৰকাৰ</string>
|
||||
<string name="theme_title">থিম</string>
|
||||
<string name="night_theme_title">নিশাৰ থিম</string>
|
||||
<string name="light_theme_title">পোহৰ</string>
|
||||
<string name="dark_theme_title">অন্ধকাৰ</string>
|
||||
<string name="black_theme_title">ক\'লা</string>
|
||||
<string name="popup_remember_size_pos_title">পপ-আপ বৈশিষ্ট্যসমূহ মনত ৰাখিব</string>
|
||||
<string name="popup_remember_size_pos_summary">পপ-আপৰ অন্তিম আকাৰ আৰু অৱস্থান মনত ৰাখিব</string>
|
||||
<string name="use_inexact_seek_summary">Inexact seek য়ে প্লেয়াৰটোক দ্ৰুত গতিত স্থান সলনি কৰিবলৈ অনুমতি দিয়ে। ৫, ১৫ বা ২৫ ছেকেণ্ড সলনি কৰিবলৈ বিচাৰিলে ইয়াৰ প্ৰয়োজন নহয়</string>
|
||||
<string name="seek_duration_title">ফাষ্ট-ফৰৱাৰ্ড/-ৰিৱাইণ্ড কৰিবলৈ বিচৰা সময়সীমা</string>
|
||||
<string name="progressive_load_interval_title">প্লেবেক লোড কৰাৰ ব্যৱধানৰ আকাৰ</string>
|
||||
<string name="progressive_load_interval_summary">লোড ব্যৱধানৰ আকাৰ সলনি কৰক (বৰ্তমানে %s) । এটা কম মানে প্ৰাৰম্ভিক ভিডিঅ\' লোডিং দ্ৰুত কৰিব পাৰে। পৰিৱৰ্তনৰ বাবে এটা খেলুৱৈ পুনৰাৰম্ভৰ প্ৰয়োজন</string>
|
||||
<string name="notification_colorize_summary">থাম্বনেইলত থকা মূল ৰং অনুসৰি এণ্ড্ৰইডক জাননীৰ ৰং কাষ্টমাইজ কৰিবলৈ কওক (মন কৰিব যে এইটো সকলো ডিভাইচতে উপলব্ধ নহয়)</string>
|
||||
<string name="clear_queue_confirmation_description">সক্ৰিয় প্লেয়াৰৰ queue সলনি কৰা হ’ব</string>
|
||||
<string name="download_thumbnail_title">থাম্বনেইল লোড কৰক</string>
|
||||
<string name="show_comments_title">মন্তব্য দেখুৱাওক</string>
|
||||
<string name="show_description_title">বিৱৰণ দেখুৱাওক</string>
|
||||
<string name="show_meta_info_title">মেটা তথ্য দেখুৱাওক</string>
|
||||
<string name="thumbnail_cache_wipe_complete_notice">সংৰক্ষিত ছবি মচি পেলোৱা হ\'ল</string>
|
||||
<string name="metadata_cache_wipe_title">সংৰক্ষিত কৰি থোৱা মেটাডাটা মচি পেলাওক</string>
|
||||
<string name="metadata_cache_wipe_summary">সকলো সংৰক্ষণ কৰি ৰখা ৱেবপেজৰ তথ্য আঁতৰাওক</string>
|
||||
<string name="metadata_cache_wipe_complete_notice">সংৰক্ষণ কৰি থোৱা মেটাডাটা মচি পেলোৱা হ\'ল</string>
|
||||
<string name="auto_queue_title">পৰৱৰ্তী ষ্ট্ৰিম স্বয়ংক্ৰিয়ভাৱে enque কৰক</string>
|
||||
<string name="sort">সজোৱা</string>
|
||||
<string name="download_path_title">ভিডিঅ\' ডাউনলোড folder</string>
|
||||
<string name="controls_add_to_playlist_title">যোগ কৰক</string>
|
||||
<string name="download_path_audio_summary">ডাউনলোড কৰা অডিঅ\' ফাইলসমূহ ইয়াত সংৰক্ষণ কৰা হয়</string>
|
||||
<string name="notification_scale_to_square_image_title">থাম্বনেইলক ১:১ অনুপাত লৈ ক্ৰপ কৰক</string>
|
||||
<string name="download_path_summary">ডাউনলোড কৰা ভিডিঅ’ ফাইলসমূহ ইয়াত সংৰক্ষণ কৰা হয়</string>
|
||||
<string name="download_path_dialog_title">ভিডিঅ\' ফাইলসমূহৰ বাবে ডাউনলোড folder বাছক</string>
|
||||
<string name="download_path_audio_title">অডিঅ\' ডাউনলোড folder</string>
|
||||
<string name="download_path_audio_dialog_title">অডিঅ\' ফাইলসমূহৰ বাবে ডাউনলোড folder নিৰ্বাচন কৰক</string>
|
||||
<string name="notification_scale_to_square_image_summary">জাননীত দেখুওৱা ভিডিঅ’ থাম্বনেইলটো ১৬:৯ৰ পৰা ১:১ অনুপাতলৈ ক্ৰপ কৰক</string>
|
||||
<string name="notification_action_0_title">First action button</string>
|
||||
<string name="notification_action_4_title">Fifth action button</string>
|
||||
<string name="notification_actions_summary">Edit each notification action below by tapping on it. Select up to three of them to be shown in the compact notification by using the checkboxes on the right</string>
|
||||
<string name="notification_action_1_title">Second action button</string>
|
||||
<string name="notification_actions_at_most_three">You can select at most three actions to show in the compact notification!</string>
|
||||
<string name="notification_action_repeat">পুনৰাবৃত্তি</string>
|
||||
<string name="notification_action_shuffle">শ্বাফেল</string>
|
||||
<string name="use_inexact_seek_title">দ্ৰুত inexact seek ব্যৱহাৰ কৰক</string>
|
||||
<string name="clear_queue_confirmation_title">এটা queue বিলুপ্তি কৰাৰ আগতে নিশ্চিতকৰণৰ বাবে সুধিব</string>
|
||||
<string name="clear_queue_confirmation_summary">এটা প্লেয়াৰ পৰা আন এটালৈ সলনি কৰিলে আপোনাৰ queue সলনি হ\'ব পাৰে</string>
|
||||
<string name="notification_action_3_title">Fourth action button</string>
|
||||
<string name="notification_action_2_title">Third action button</string>
|
||||
<string name="show_description_summary">ভিডিঅ\'ৰ বিৱৰণ আৰু অতিৰিক্ত তথ্য লুকুৱাবলৈ বন্ধ কৰক</string>
|
||||
<string name="show_comments_summary">মন্তব্য লুকুৱাবলৈ বন্ধ কৰক</string>
|
||||
<string name="show_next_and_similar_title">\'পৰৱৰ্তী\' আৰু \'সাদৃশ্য থকা\' ভিডিঅ\' দেখুৱাওক</string>
|
||||
<string name="download_thumbnail_summary">থাম্বনেইলসমূহ লোড কৰা, তথ্য আৰু মেমৰি ব্যৱহাৰ সংৰক্ষণ কৰা ৰোধ কৰিবলে বন্ধ কৰক। পৰিবৰ্তনসমূহে ইন-মেমৰি আৰু অন-ডিস্ক কেশ্ব দুয়োটা পৰিষ্কাৰ কৰে</string>
|
||||
<string name="show_meta_info_summary">ষ্ট্ৰিমৰ সৃষ্টিকৰ্তা, ষ্ট্ৰিমৰ বিষয়বস্তু বা এটা সন্ধান অনুৰোধৰ বিষয়ে অতিৰিক্ত তথ্যৰ সৈতে মেটা তথ্যৰ বাকচসমূহ লুকুৱাবলৈ বন্ধ কৰক</string>
|
||||
</resources>
|
@ -1,8 +1,8 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<resources>
|
||||
<string name="main_bg_subtitle">Başlamaq üçün böyüdücüyə toxun.</string>
|
||||
<string name="main_bg_subtitle">Başlamaq üçün böyüdücü güzgüyə toxun.</string>
|
||||
<string name="upload_date_text">%1$s tarixində yayımlanıb</string>
|
||||
<string name="no_player_found">Yayım oynadıcı tapılmadı. \"VLC\" yüklənilsin\?</string>
|
||||
<string name="no_player_found">Yayım oynadıcı tapılmadı. \"VLC\" quraşdırılsın\?</string>
|
||||
<string name="no_player_found_toast">Yayım oynadıcı tapılmadı (Oynatmaq üçün VLC\'ni quraşdıra bilərsiniz).</string>
|
||||
<string name="install">Yüklə</string>
|
||||
<string name="cancel">Ləğv et</string>
|
||||
@ -45,7 +45,7 @@
|
||||
<string name="dark_theme_title">Qaranlıq</string>
|
||||
<string name="black_theme_title">Qara</string>
|
||||
<string name="unsubscribe">Abunəlikdən çıxın</string>
|
||||
<string name="open_in_popup_mode">Ani pəncərə rejimində aç</string>
|
||||
<string name="open_in_popup_mode">Ani görüntü rejimində aç</string>
|
||||
<string name="autoplay_title">Avtomatik oynat</string>
|
||||
<string name="download_dialog_title">Endir</string>
|
||||
<string name="resume_on_audio_focus_gain_summary">Fasilələrdən sonra (məsələn, telefon zəngləri) oynatmağa davam etdir</string>
|
||||
@ -613,7 +613,7 @@
|
||||
<string name="error_occurred_detail">Xəta baş verdi: %1$s</string>
|
||||
<string name="invalid_file">Fayl mövcud deyil, yaxud oxumaq və ya yazmaq icazəsi yoxdur</string>
|
||||
<string name="parsing_error">Veb saytı təhlil etmək alınmadı</string>
|
||||
<string name="playback_pitch">Səs ucalığı</string>
|
||||
<string name="playback_pitch">Ucalıq</string>
|
||||
<string name="radio">Radio</string>
|
||||
<string name="show_crash_the_player_title">\"Oynadıcını çökdür\" Göstər</string>
|
||||
<string name="show_crash_the_player_summary">Oynadıcıdan istifadə edərkən çökdürmə seçimini göstər</string>
|
||||
@ -728,4 +728,6 @@
|
||||
<string name="app_update_available_notification_text">%s endirmək üçün toxun</string>
|
||||
<string name="night_theme_available">Bu seçim yalnız tema üçün %s seçildikdə əlçatandır</string>
|
||||
<string name="unset_playlist_thumbnail">Daimi miniatürü ləğv et</string>
|
||||
<string name="card">Kart</string>
|
||||
<string name="msg_failed_to_copy">Buferə kopyalamaq alınmadı</string>
|
||||
</resources>
|
@ -741,4 +741,6 @@
|
||||
<string name="import_subscriptions_hint">Import nebo export odběrů z 3-tečkové nabídky</string>
|
||||
<string name="night_theme_available">Tato možnost je dostupná pouze při vybraném motivu %s</string>
|
||||
<string name="unset_playlist_thumbnail">Zrušení nastavení trvalého náhledu</string>
|
||||
<string name="card">Karta</string>
|
||||
<string name="msg_failed_to_copy">Kopírování do schránky se nezdařilo</string>
|
||||
</resources>
|
@ -728,4 +728,6 @@
|
||||
<string name="import_subscriptions_hint">Importieren oder Exportieren von Abonnements über das 3-Punkte-Menü</string>
|
||||
<string name="night_theme_available">Diese Option ist nur verfügbar, wenn %s als Design ausgewählt wird</string>
|
||||
<string name="unset_playlist_thumbnail">Dauerhaftes Vorschaubild aufheben</string>
|
||||
<string name="msg_failed_to_copy">Kopieren in die Zwischenablage fehlgeschlagen</string>
|
||||
<string name="card">Karte</string>
|
||||
</resources>
|
@ -728,4 +728,6 @@
|
||||
<string name="app_update_unavailable_toast">Έχετε την πιο πρόσφατη έκδοση του NewPipe</string>
|
||||
<string name="night_theme_available">Αυτή η επιλογή είναι διαθέσιμη μόνο εάν έχει επιλεγεί %s για Θέμα</string>
|
||||
<string name="unset_playlist_thumbnail">Κατάργηση μόνιμης μικρογραφίας</string>
|
||||
<string name="msg_failed_to_copy">Αποτυχία αντιγραφής στο πρόχειρο</string>
|
||||
<string name="card">Κάρτα</string>
|
||||
</resources>
|
@ -744,4 +744,6 @@
|
||||
<string name="app_update_available_notification_text">Pulsa para descargar %s</string>
|
||||
<string name="night_theme_available">Esta opción sólo está disponible si %s está seleccionado para el tema</string>
|
||||
<string name="unset_playlist_thumbnail">Desactivar las miniaturas permanente</string>
|
||||
<string name="msg_failed_to_copy">Error al copiar al portapapeles</string>
|
||||
<string name="card">Tarjeta</string>
|
||||
</resources>
|
@ -727,4 +727,7 @@
|
||||
<string name="import_subscriptions_hint">Tellimusi saad importida või eksportida 3 punktiga menüüst</string>
|
||||
<string name="app_update_unavailable_toast">Sa kasutad NewPipe\'i uusimat versiooni</string>
|
||||
<string name="night_theme_available">See valik on kasutusel vaid %s teema puhul</string>
|
||||
<string name="msg_failed_to_copy">Lõikelauale kopeerimine ei õnnestunud</string>
|
||||
<string name="unset_playlist_thumbnail">Eemalda püsiv pisipilt</string>
|
||||
<string name="card">Kaart</string>
|
||||
</resources>
|
@ -727,4 +727,7 @@
|
||||
<string name="app_update_available_notification_text">ضربه برای بارگیری %s</string>
|
||||
<string name="app_update_unavailable_toast">از جدیدترین نگارش نیوپایپ استفاده میکنید</string>
|
||||
<string name="night_theme_available">این گزینه تنها هنگامی موجود است که %s به عنوان زمینه گزیده باشد</string>
|
||||
<string name="card">کارت</string>
|
||||
<string name="msg_failed_to_copy">شکست در رونوشت به تختهگیره</string>
|
||||
<string name="unset_playlist_thumbnail">ناتنظیم بندانگشتی ثابت</string>
|
||||
</resources>
|
@ -727,4 +727,7 @@
|
||||
<string name="app_update_available_notification_text">Toca para descargar %s</string>
|
||||
<string name="import_subscriptions_hint">Importa ou exporta subscricións dende o menú dos 3 puntos</string>
|
||||
<string name="night_theme_available">Esta opción só está dispoñible se %s está seleccionado para o tema</string>
|
||||
<string name="msg_failed_to_copy">Produciuse un erro ao copiar no portapapeis</string>
|
||||
<string name="unset_playlist_thumbnail">Desactivala miniatura permanente</string>
|
||||
<string name="card">Tarxeta</string>
|
||||
</resources>
|
@ -754,4 +754,6 @@
|
||||
<string name="app_update_unavailable_toast">זאת הגרסה העדכנית ביותר של NewPipe</string>
|
||||
<string name="night_theme_available">אפשרות זאת זמינה רק אם נבחרה ערכת נושא %s</string>
|
||||
<string name="unset_playlist_thumbnail">ביטול הגדרת תמונה ייצוגית קבועה</string>
|
||||
<string name="card">כרטיס</string>
|
||||
<string name="msg_failed_to_copy">ההעתקה ללוח הגזירים נכשלה</string>
|
||||
</resources>
|
@ -727,4 +727,7 @@
|
||||
<string name="app_update_unavailable_toast">आप न्यूपाइप का नवीनतम संस्करण चला रहे हैं</string>
|
||||
<string name="app_update_available_notification_text">%s डाउनलोड करने के लिए टैप करें</string>
|
||||
<string name="night_theme_available">यह विकल्प केवल तभी उपलब्ध होता है जब थीम के लिए %s का चयन किया जाता है</string>
|
||||
<string name="unset_playlist_thumbnail">स्थायी थंमनेल अनसेट करें</string>
|
||||
<string name="card">कार्ड</string>
|
||||
<string name="msg_failed_to_copy">क्लिपबोर्ड पर कॉपी करने में विफल</string>
|
||||
</resources>
|
@ -715,4 +715,6 @@
|
||||
<string name="app_update_available_notification_text">Ketuk untuk mengunduh %s</string>
|
||||
<string name="night_theme_available">Opsi ini hanya tersedia jika %s dipilih untuk Tema</string>
|
||||
<string name="unset_playlist_thumbnail">Batalkan penetapan gambar kecil permanen</string>
|
||||
<string name="msg_failed_to_copy">Gagal menyalin ke papan klip</string>
|
||||
<string name="card">Kartu</string>
|
||||
</resources>
|
@ -737,7 +737,10 @@
|
||||
<string name="faq">Visualizza sul sito</string>
|
||||
<string name="fast_mode">Recupero veloce</string>
|
||||
<string name="app_update_available_notification_text">Premi per scaricare %s</string>
|
||||
<string name="app_update_unavailable_toast">L\'ultima versione di NewPipe è già in esecuzione</string>
|
||||
<string name="app_update_unavailable_toast">Stai già usando l\'ultima versione di NewPipe</string>
|
||||
<string name="import_subscriptions_hint">Importa o esporta iscrizioni dal menu a 3 punti</string>
|
||||
<string name="night_theme_available">Questa opzione è disponibile solo se %s è selezionato come Tema</string>
|
||||
<string name="msg_failed_to_copy">Copia negli appunti non riuscita</string>
|
||||
<string name="card">Schede</string>
|
||||
<string name="unset_playlist_thumbnail">Disattiva la miniatura permanente</string>
|
||||
</resources>
|
@ -712,4 +712,8 @@
|
||||
<string name="faq_title">よくある質問</string>
|
||||
<string name="faq_description">アプリの使い方に困ったときは、よくある質問に答えていますので、ぜひご覧ください!</string>
|
||||
<string name="night_theme_available">%sがテーマに選択された場合のみ、この選択肢が利用可能です</string>
|
||||
<string name="fast_mode">高速モード</string>
|
||||
<string name="import_subscriptions_hint">3 点メニューから登録チャンネルをインポートまたはエクスポートします</string>
|
||||
<string name="card">カード</string>
|
||||
<string name="msg_failed_to_copy">クリップボードへのコピーに失敗しました</string>
|
||||
</resources>
|
@ -97,14 +97,14 @@
|
||||
</plurals>
|
||||
<string name="start">Pradėti</string>
|
||||
<string name="pause">Pauzė</string>
|
||||
<string name="delete">Ištrinti</string>
|
||||
<string name="delete">Naikinti</string>
|
||||
<string name="checksum">Kontrolinė suma</string>
|
||||
<string name="ok">Gerai</string>
|
||||
<string name="msg_name">Failo pavadinimas</string>
|
||||
<string name="msg_threads">Gijos</string>
|
||||
<string name="msg_error">Klaida</string>
|
||||
<string name="msg_running">NewPipe Atsiunčiama</string>
|
||||
<string name="msg_running_detail">Palieskite, kad peržiūrėtumėte išsamią informaciją</string>
|
||||
<string name="msg_running">NewPipe atsisiunčiama</string>
|
||||
<string name="msg_running_detail">Bakstelėkite, kad peržiūrėtumėte išsamią informaciją</string>
|
||||
<string name="msg_wait">Prašome palaukti…</string>
|
||||
<string name="msg_copied">Nukopijuota į iškarpinę</string>
|
||||
<string name="no_available_dir">Prašome pasirinkti galimą atsisiuntimų aplankalą</string>
|
||||
@ -212,9 +212,9 @@
|
||||
<string name="video_streams_empty">Nerasta video srautų</string>
|
||||
<string name="audio_streams_empty">Nerasta audio srautų</string>
|
||||
<string name="detail_drag_description">Tempti kad perrūšiuoti</string>
|
||||
<string name="create">Sukurti</string>
|
||||
<string name="create">Kurti</string>
|
||||
<string name="dismiss">Nutraukti</string>
|
||||
<string name="rename">Pervadinti</string>
|
||||
<string name="rename">Pervardyti</string>
|
||||
<string name="title_last_played">Vėliausiai žiūrėta</string>
|
||||
<string name="title_most_played">Dažniausiai žiūrėta</string>
|
||||
<string name="export_complete_toast">Eksportavimas baigtas</string>
|
||||
@ -230,7 +230,7 @@
|
||||
<string name="always_ask_open_action">Visada klausti</string>
|
||||
<string name="preferred_player_fetcher_notification_title">Gauname informaciją…</string>
|
||||
<string name="preferred_player_fetcher_notification_message">Įkeliamas pasirinktas turinys</string>
|
||||
<string name="create_playlist">Naujas grojaraštį</string>
|
||||
<string name="create_playlist">Naujas grojaraštis</string>
|
||||
<string name="rename_playlist">Pervadinti</string>
|
||||
<string name="name">Pavadinimas</string>
|
||||
<string name="add_to_playlist">Pridėti į grojaraštį</string>
|
||||
@ -311,7 +311,7 @@
|
||||
<string name="app_update_notification_channel_description">Pranešimas apie naują NewPipe versiją</string>
|
||||
<string name="app_update_notification_channel_name">Programos atnaujinimo pranešimas</string>
|
||||
<string name="file">Failą</string>
|
||||
<string name="file_deleted">Failas pašalintas</string>
|
||||
<string name="file_deleted">Failas panaikintas</string>
|
||||
<string name="artists">Atlikėjai</string>
|
||||
<string name="albums">Albumai</string>
|
||||
<string name="songs">Dainos</string>
|
||||
@ -686,7 +686,7 @@
|
||||
\nĮdiekite „Storage Access Framework“ suderinamą su šia failų tvarkykle</string>
|
||||
<string name="error_report_channel_description">Pranešimai pranešimui apie klaidas</string>
|
||||
<string name="show_crash_the_player_title">Rodyti „Grotuvas užlūžo“</string>
|
||||
<string name="create_error_notification">Sukurti klaidos pranešimą</string>
|
||||
<string name="create_error_notification">Kurti klaidos pranešimą</string>
|
||||
<string name="error_report_notification_title">NewPipe susidūrė su klaida, paspauskite norėdami pranešti</string>
|
||||
<string name="no_appropriate_file_manager_message">Šiam veiksmui nebuvo rasta tinkama failų tvarkyklė.
|
||||
\nĮdiekite failų tvarkyklę arba pabandykite išjungti \"%s\" atsisiuntimo nustatymuose</string>
|
||||
|
@ -726,4 +726,8 @@
|
||||
<string name="import_subscriptions_hint">Importeer of exporteer abonnementen vanuit het 3-punten menu</string>
|
||||
<string name="app_update_unavailable_toast">U heeft de laatste versie van NewPipe</string>
|
||||
<string name="app_update_available_notification_text">Klik om %s te downloaden</string>
|
||||
<string name="msg_failed_to_copy">Kon niet naar klembord kopiëren</string>
|
||||
<string name="night_theme_available">Deze instelling is alleen beschikbaar als %s als thema ingesteld is</string>
|
||||
<string name="card">Kaart</string>
|
||||
<string name="unset_playlist_thumbnail">Miniatuur niet ingesteld</string>
|
||||
</resources>
|
@ -727,4 +727,7 @@
|
||||
<string name="app_update_unavailable_toast">ଆପଣ NewPipe ର ସର୍ବଶେଷ ସଂସ୍କରଣ ଚଳାଉଛନ୍ତି</string>
|
||||
<string name="app_update_available_notification_text">%s ଡାଉନଲୋଡ୍ କରିବାକୁ ଟ୍ୟାପ୍ କରନ୍ତୁ</string>
|
||||
<string name="night_theme_available">ଥିମ୍ ପାଇଁ %s ଚୟନ ହେଲେ ହିଁ ଏହି ବିକଳ୍ପ ଉପଲବ୍ଧ</string>
|
||||
<string name="card">କାର୍ଡ</string>
|
||||
<string name="msg_failed_to_copy">କ୍ଲିପବୋର୍ଡରେ କପି କରିବାରେ ବିଫଳ</string>
|
||||
<string name="unset_playlist_thumbnail">ସ୍ଥାୟୀ ଥମ୍ୱନେଲ୍ ସେଟ୍ କରନ୍ତୁ</string>
|
||||
</resources>
|
@ -727,4 +727,7 @@
|
||||
<string name="app_update_unavailable_toast">ਤੁਸੀਂ ਨਿਊਪਾਈਪ ਦਾ ਨਵੀਨਤਮ ਸੰਸਕਰਣ ਚਲਾ ਰਹੇ ਹੋ</string>
|
||||
<string name="app_update_available_notification_text">%s ਨੂੰ ਡਾਊਨਲੋਡ ਕਰਨ ਲਈ ਟੈਪ ਕਰੋ</string>
|
||||
<string name="night_theme_available">ਇਹ ਵਿਕਲਪ ਤਾਂ ਹੀ ਉਪਲਬਧ ਹੈ ਜੇਕਰ %s ਨੂੰ ਥੀਮ ਲਈ ਚੁਣਿਆ ਗਿਆ ਹੈ</string>
|
||||
<string name="unset_playlist_thumbnail">ਸਥਾਈ ਥੰਮਨੇਲ ਨੂੰ ਅਨਸੈੱਟ ਕਰੋ</string>
|
||||
<string name="msg_failed_to_copy">ਕਲਿੱਪਬੋਰਡ \'ਤੇ ਕਾਪੀ ਕਰਨ ਵਿੱਚ ਅਸਫਲ</string>
|
||||
<string name="card">ਕਾਰਡ</string>
|
||||
</resources>
|
@ -749,4 +749,6 @@
|
||||
<string name="app_update_unavailable_toast">Używasz najnowszej wersji NewPipe</string>
|
||||
<string name="night_theme_available">Ta opcja jest dostępna tylko wtedy, gdy %s jest wybrany jako motyw</string>
|
||||
<string name="unset_playlist_thumbnail">Usuń stałą miniaturę</string>
|
||||
<string name="msg_failed_to_copy">Nie udało się skopiować do schowka</string>
|
||||
<string name="card">Karta</string>
|
||||
</resources>
|
@ -741,4 +741,6 @@
|
||||
<string name="app_update_unavailable_toast">Você está executando a versão mais recente do NewPipe</string>
|
||||
<string name="night_theme_available">Esta opção só está disponível se %s for selecionado para Tema</string>
|
||||
<string name="unset_playlist_thumbnail">Desativar miniatura permanente</string>
|
||||
<string name="card">Cartão</string>
|
||||
<string name="msg_failed_to_copy">Falha ao copiar para a área de transferência</string>
|
||||
</resources>
|
@ -727,4 +727,7 @@
|
||||
<string name="app_update_available_notification_text">Toque para descarregar %s</string>
|
||||
<string name="sort">Ordenação</string>
|
||||
<string name="night_theme_available">Esta opção só está disponível se %s for selecionado como tema</string>
|
||||
<string name="unset_playlist_thumbnail">Desativar miniatura permanente</string>
|
||||
<string name="msg_failed_to_copy">Não foi possível copiar para a área de transferência</string>
|
||||
<string name="card">Cartão</string>
|
||||
</resources>
|
@ -740,4 +740,7 @@
|
||||
<string name="app_update_unavailable_toast">Já está a executar a versão mais recente do NewPipe</string>
|
||||
<string name="app_update_available_notification_text">Toque para descarregar %s</string>
|
||||
<string name="night_theme_available">Esta opção só está disponível se %s for selecionado para o tema</string>
|
||||
<string name="unset_playlist_thumbnail">Desativar miniatura permanente</string>
|
||||
<string name="msg_failed_to_copy">Não foi possível copiar para a área de transferência</string>
|
||||
<string name="card">Cartão</string>
|
||||
</resources>
|
@ -692,8 +692,8 @@
|
||||
<string name="streams_notification_channel_name">Новые видео</string>
|
||||
<string name="streams_notification_channel_description">Уведомления о новых видео в подписках</string>
|
||||
<string name="streams_notifications_interval_title">Частота проверки</string>
|
||||
<string name="enable_streams_notifications_title">Уведомлять о новых видео</string>
|
||||
<string name="enable_streams_notifications_summary">Получать уведомления о новых видео из каналов, на которые Вы подписаны</string>
|
||||
<string name="enable_streams_notifications_title">Новые видео</string>
|
||||
<string name="enable_streams_notifications_summary">Уведомлять о новых видео в подписках</string>
|
||||
<string name="streams_notifications_network_title">Тип подключения</string>
|
||||
<string name="any_network">Любая сеть</string>
|
||||
<string name="notifications_disabled">Уведомления отключены</string>
|
||||
@ -720,7 +720,7 @@
|
||||
<string name="loading_stream_details">Загрузка сведений о трансляции…</string>
|
||||
<string name="check_new_streams">Проверить наличие новых трансляций</string>
|
||||
<string name="delete_downloaded_files_confirm">Удалить все загруженные файлы\?</string>
|
||||
<string name="settings_category_player_notification_title">Уведомления плеера</string>
|
||||
<string name="settings_category_player_notification_title">Уведомление плеера</string>
|
||||
<string name="enumeration_comma">,</string>
|
||||
<string name="semitone">Полутон</string>
|
||||
<string name="percent">Проценты</string>
|
||||
@ -736,11 +736,15 @@
|
||||
<string name="feed_toggle_hide_played_items">Скрыть проигранные</string>
|
||||
<string name="feed_toggle_hide_future_items">Скрывать будущие видео</string>
|
||||
<string name="faq_title">Ответы на частые вопросы</string>
|
||||
<string name="faq_description">Если у вас возникли проблемы с использованием приложения, обязательно ознакомьтесь с ответами на распространенные вопросы!</string>
|
||||
<string name="faq_description">Если у вас возникли проблемы с использованием приложения, обязательно ознакомьтесь с ответами на распространённые вопросы!</string>
|
||||
<string name="faq">Посмотреть на веб-сайте</string>
|
||||
<string name="sort">Сортировка</string>
|
||||
<string name="app_update_unavailable_toast">У вас последняя версия</string>
|
||||
<string name="fast_mode">Быстрый режим</string>
|
||||
<string name="import_subscriptions_hint">Импорт и экспорт подписок в меню с 3-мя точками</string>
|
||||
<string name="app_update_available_notification_text">Нажмите для загрузки %s</string>
|
||||
<string name="card">Карта</string>
|
||||
<string name="msg_failed_to_copy">Не удалось скопировать в буфер обмена</string>
|
||||
<string name="night_theme_available">Доступно, когда Тема установлена в %s</string>
|
||||
<string name="unset_playlist_thumbnail">Убрать постоянную миниатюру</string>
|
||||
</resources>
|
@ -727,4 +727,7 @@
|
||||
<string name="import_subscriptions_hint">Importa o esporta iscritziones dae su menù a 3 puntos</string>
|
||||
<string name="app_update_unavailable_toast">Ses impreende s\'ùrtima versione de NewPipe</string>
|
||||
<string name="night_theme_available">Custa optzione est a disponimentu petzi si %s est seletzionadu comente tema</string>
|
||||
<string name="card">Carta</string>
|
||||
<string name="msg_failed_to_copy">Còpia in punta de billete fallida</string>
|
||||
<string name="unset_playlist_thumbnail">Disativa sa miniadura permanente</string>
|
||||
</resources>
|
@ -728,4 +728,6 @@
|
||||
<string name="import_subscriptions_hint">3-nokta menüsünden abonelikleri içe veya dışa aktarın</string>
|
||||
<string name="night_theme_available">Bu seçenek yalnızca tema için %s seçildiğinde kullanılabilir</string>
|
||||
<string name="unset_playlist_thumbnail">Kalıcı küçük resmin ayarını kaldır</string>
|
||||
<string name="card">Kart</string>
|
||||
<string name="msg_failed_to_copy">Panoya kopyalanamadı</string>
|
||||
</resources>
|
@ -745,4 +745,6 @@
|
||||
<string name="fast_mode">Швидкий режим</string>
|
||||
<string name="night_theme_available">Ця опція доступна, лише якщо темою обрано %s</string>
|
||||
<string name="unset_playlist_thumbnail">Прибрати постійну мініатюру</string>
|
||||
<string name="card">Картки</string>
|
||||
<string name="msg_failed_to_copy">Не вдалося скопіювати до буфера обміну</string>
|
||||
</resources>
|
@ -715,4 +715,6 @@
|
||||
<string name="app_update_available_notification_text">轻按下载 %s</string>
|
||||
<string name="night_theme_available">只有在主题中选择了 %s 该选项才可用</string>
|
||||
<string name="unset_playlist_thumbnail">取消设置永久缩略图</string>
|
||||
<string name="card">卡片</string>
|
||||
<string name="msg_failed_to_copy">未能复制到剪贴板</string>
|
||||
</resources>
|
@ -510,7 +510,7 @@
|
||||
<string name="auto_device_theme_title">自動 (跟返部機嘅主題色系)</string>
|
||||
<string name="featured">精選</string>
|
||||
<string name="radio">廣播</string>
|
||||
<string name="description_select_note">您而家可以揀選喺描述入面嘅文字喇。不過要單聲,喺揀選模式嘅時候,個頁面可能眨眨下,同埋啲連結會撳唔到。</string>
|
||||
<string name="description_select_note">您而家可以揀選喺描述入面嘅文字喇。不過要單聲,喺揀選模式嘅時候,版面可能會有啲眨,同埋啲連結會撳唔到。</string>
|
||||
<string name="description_select_enable">啟用揀選描述入面嘅文字</string>
|
||||
<string name="metadata_licence">版權協議</string>
|
||||
<string name="metadata_category">分類</string>
|
||||
@ -713,4 +713,8 @@
|
||||
<string name="import_subscriptions_hint">右上角嘅選單有得匯入或匯出訂閱</string>
|
||||
<string name="app_update_unavailable_toast">您已經用緊最新版本嘅 NewPipe</string>
|
||||
<string name="app_update_available_notification_text">撳一下去下載 %s</string>
|
||||
<string name="unset_playlist_thumbnail">唔再揀定封面縮圖</string>
|
||||
<string name="night_theme_available">色系揀做%s嘅時候至有得揀</string>
|
||||
<string name="msg_failed_to_copy">複製唔到去剪貼簿</string>
|
||||
<string name="card">一張張</string>
|
||||
</resources>
|
@ -714,4 +714,7 @@
|
||||
<string name="fast_mode">快速模式</string>
|
||||
<string name="import_subscriptions_hint">從三點式選單匯入或匯出訂閱</string>
|
||||
<string name="night_theme_available">此選項僅在主題選擇為 %s 時可用</string>
|
||||
<string name="card">卡片</string>
|
||||
<string name="unset_playlist_thumbnail">取消設定永久縮圖</string>
|
||||
<string name="msg_failed_to_copy">無法複製到剪貼簿</string>
|
||||
</resources>
|
@ -433,6 +433,7 @@
|
||||
<string name="preferred_player_fetcher_notification_message">"Loading requested content"</string>
|
||||
<!-- Local Playlist -->
|
||||
<string name="create_playlist">New Playlist</string>
|
||||
<string name="duplicate_in_playlist">The playlists that are grayed out already contain this item.</string>
|
||||
<string name="rename_playlist">Rename</string>
|
||||
<string name="name">Name</string>
|
||||
<string name="add_to_playlist">Add to playlist</string>
|
||||
@ -446,6 +447,7 @@
|
||||
<string name="delete_playlist_prompt">Delete this playlist\?</string>
|
||||
<string name="playlist_creation_success">Playlist created</string>
|
||||
<string name="playlist_add_stream_success">Playlisted</string>
|
||||
<string name="playlist_add_stream_success_duplicate">Duplicate added %d time(s)</string>
|
||||
<string name="playlist_thumbnail_change_success">Playlist thumbnail changed.</string>
|
||||
<string name="playlist_no_uploader">Auto-generated (no uploader found)</string>
|
||||
<!-- Players -->
|
||||
|
17
fastlane/metadata/android/en-US/changelogs/992.txt
Normal file
17
fastlane/metadata/android/en-US/changelogs/992.txt
Normal file
@ -0,0 +1,17 @@
|
||||
New
|
||||
• Subscriber count in video details
|
||||
• Download from the queue
|
||||
• Permanently set a playlist thumbnail
|
||||
• Long-press hashtags and links
|
||||
• Card view mode
|
||||
|
||||
Improved
|
||||
• Larger mini-player close button
|
||||
• Smoother thumbnail downscaling
|
||||
• Target Android 13 (API 33)
|
||||
• Seeking no longer pauses the player
|
||||
|
||||
Fixed
|
||||
• Fix overlay on DeX/mouse
|
||||
• Allow background player with no separate audio streams
|
||||
• Various YouTube fixes and more…
|
13
fastlane/metadata/android/sl/changelogs/991.txt
Normal file
13
fastlane/metadata/android/sl/changelogs/991.txt
Normal file
@ -0,0 +1,13 @@
|
||||
Novo
|
||||
- Dodajanje gumba "Odpri v brskalniku" v podoknu z napakami
|
||||
- Dodana možnost za prikaz skupin kanalov kot seznam
|
||||
- [YouTube] Dolgi pritisk na segmente video pretoka za deljenje časovnega žiga URL-ja
|
||||
- Dodajte gumb za predvajanje v vrsti v mini predvajalnik
|
||||
|
||||
Izboljšave
|
||||
- Dodana islandska lokalizacija ter posodobitev številnih drugih prevodov
|
||||
- Številne notranje izboljšave
|
||||
|
||||
Popravki
|
||||
- Odprava večih sesutij
|
||||
- [YouTube] Odprava težave z nalaganjem kanalov, nenamenskimi viri ter predvajanjem v nekaterih državah
|
1
fastlane/metadata/android/sl/short_description.txt
Normal file
1
fastlane/metadata/android/sl/short_description.txt
Normal file
@ -0,0 +1 @@
|
||||
Brezplačen in enostaven YouTube "frontend" za Android.
|
Loading…
Reference in New Issue
Block a user