From 734e6a08fa14583c1fb2f449f144a166476363dc Mon Sep 17 00:00:00 2001 From: dkanada Date: Thu, 11 Jul 2019 15:24:30 -0700 Subject: [PATCH] remove tag editors and lastfm client --- app/src/main/AndroidManifest.xml | 6 - .../helper/menu/SongMenuHelper.java | 9 - .../lastfm/rest/LastFMRestClient.java | 69 --- .../lastfm/rest/model/LastFmAlbum.java | 78 --- .../lastfm/rest/model/LastFmArtist.java | 80 --- .../lastfm/rest/service/LastFMService.java | 25 - .../ui/activities/AlbumDetailActivity.java | 18 - .../tageditor/AbsTagEditorActivity.java | 520 ------------------ .../tageditor/AlbumTagEditorActivity.java | 239 -------- .../tageditor/SongTagEditorActivity.java | 147 ----- .../mainactivity/folders/FoldersFragment.java | 1 - .../fragments/player/AbsPlayerFragment.java | 7 - .../kabouzeid/gramophone/util/LastFMUtil.java | 82 --- .../res/layout/activity_album_tag_editor.xml | 159 ------ .../res/layout/activity_song_tag_editor.xml | 198 ------- app/src/main/res/menu/menu_album_detail.xml | 5 - ...nnot_delete_single_songs_playlist_song.xml | 4 - app/src/main/res/menu/menu_item_file.xml | 4 - .../res/menu/menu_item_playing_queue_song.xml | 4 - .../main/res/menu/menu_item_playlist_song.xml | 4 - app/src/main/res/menu/menu_item_song.xml | 4 - app/src/main/res/values-ar/strings.xml | 8 - app/src/main/res/values-bg/strings.xml | 8 - app/src/main/res/values-cs/strings.xml | 8 - app/src/main/res/values-de/strings.xml | 8 - app/src/main/res/values-el/strings.xml | 8 - app/src/main/res/values-en-rCA/strings.xml | 8 - app/src/main/res/values-en-rGB/strings.xml | 8 - app/src/main/res/values-es-rES/strings.xml | 8 - app/src/main/res/values-es-rUS/strings.xml | 8 - app/src/main/res/values-fi/strings.xml | 8 - app/src/main/res/values-fr/strings.xml | 8 - app/src/main/res/values-he/strings.xml | 8 - app/src/main/res/values-hr/strings.xml | 8 - app/src/main/res/values-hu/strings.xml | 8 - app/src/main/res/values-id/strings.xml | 8 - app/src/main/res/values-in/strings.xml | 8 - app/src/main/res/values-it/strings.xml | 8 - app/src/main/res/values-iw/strings.xml | 8 - app/src/main/res/values-ja/strings.xml | 8 - app/src/main/res/values-ko/strings.xml | 8 - app/src/main/res/values-nl/strings.xml | 8 - app/src/main/res/values-nn/strings.xml | 4 - app/src/main/res/values-pl/strings.xml | 8 - app/src/main/res/values-pt-rBR/strings.xml | 8 - app/src/main/res/values-pt-rPT/strings.xml | 8 - app/src/main/res/values-ro/strings.xml | 8 - app/src/main/res/values-ru/strings.xml | 8 - app/src/main/res/values-sv/strings.xml | 4 - app/src/main/res/values-tr/strings.xml | 8 - app/src/main/res/values-uk/strings.xml | 8 - app/src/main/res/values-vi/strings.xml | 8 - app/src/main/res/values-zh-rCN/strings.xml | 8 - app/src/main/res/values-zh-rTW/strings.xml | 8 - app/src/main/res/values/strings.xml | 8 - 55 files changed, 1927 deletions(-) delete mode 100644 app/src/main/java/com/kabouzeid/gramophone/lastfm/rest/LastFMRestClient.java delete mode 100644 app/src/main/java/com/kabouzeid/gramophone/lastfm/rest/model/LastFmAlbum.java delete mode 100644 app/src/main/java/com/kabouzeid/gramophone/lastfm/rest/model/LastFmArtist.java delete mode 100644 app/src/main/java/com/kabouzeid/gramophone/lastfm/rest/service/LastFMService.java delete mode 100644 app/src/main/java/com/kabouzeid/gramophone/ui/activities/tageditor/AbsTagEditorActivity.java delete mode 100644 app/src/main/java/com/kabouzeid/gramophone/ui/activities/tageditor/AlbumTagEditorActivity.java delete mode 100644 app/src/main/java/com/kabouzeid/gramophone/ui/activities/tageditor/SongTagEditorActivity.java delete mode 100644 app/src/main/java/com/kabouzeid/gramophone/util/LastFMUtil.java delete mode 100644 app/src/main/res/layout/activity_album_tag_editor.xml delete mode 100644 app/src/main/res/layout/activity_song_tag_editor.xml diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index ee7d2d36..72b76075 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -98,12 +98,6 @@ - - { - Request modifiedRequest = chain.request().newBuilder() - .addHeader("Cache-Control", String.format(Locale.getDefault(), "max-age=%d, max-stale=%d", 31536000, 31536000)) - .build(); - return chain.proceed(modifiedRequest); - }; - } - - public static OkHttpClient.Builder createDefaultOkHttpClientBuilder(Context context) { - return new OkHttpClient.Builder() - .cache(createDefaultCache(context)) - .addInterceptor(createCacheControlInterceptor()); - } -} diff --git a/app/src/main/java/com/kabouzeid/gramophone/lastfm/rest/model/LastFmAlbum.java b/app/src/main/java/com/kabouzeid/gramophone/lastfm/rest/model/LastFmAlbum.java deleted file mode 100644 index fd4e833a..00000000 --- a/app/src/main/java/com/kabouzeid/gramophone/lastfm/rest/model/LastFmAlbum.java +++ /dev/null @@ -1,78 +0,0 @@ -package com.kabouzeid.gramophone.lastfm.rest.model; - -import com.google.gson.annotations.Expose; -import com.google.gson.annotations.SerializedName; - -import java.util.ArrayList; -import java.util.List; - -public class LastFmAlbum { - @Expose - private Album album; - - public Album getAlbum() { - return album; - } - - public void setAlbum(Album album) { - this.album = album; - } - - public static class Album { - @Expose - private List image = new ArrayList<>(); - @Expose - private Wiki wiki; - - public List getImage() { - return image; - } - - public void setImage(List image) { - this.image = image; - } - - public Wiki getWiki() { return wiki; } - - public void setWiki(Wiki wiki) { - this.wiki = wiki; - } - - public class Wiki { - @Expose - private String content; - - public String getContent() { - return content; - } - - public void setContent(String content) { - this.content = content; - } - } - - public static class Image { - @SerializedName("#text") - @Expose - private String Text; - @Expose - private String size; - - public String getText() { - return Text; - } - - public void setText(String Text) { - this.Text = Text; - } - - public String getSize() { - return size; - } - - public void setSize(String size) { - this.size = size; - } - } - } -} diff --git a/app/src/main/java/com/kabouzeid/gramophone/lastfm/rest/model/LastFmArtist.java b/app/src/main/java/com/kabouzeid/gramophone/lastfm/rest/model/LastFmArtist.java deleted file mode 100644 index 30ca8f37..00000000 --- a/app/src/main/java/com/kabouzeid/gramophone/lastfm/rest/model/LastFmArtist.java +++ /dev/null @@ -1,80 +0,0 @@ -package com.kabouzeid.gramophone.lastfm.rest.model; - -import com.google.gson.annotations.Expose; -import com.google.gson.annotations.SerializedName; - -import java.util.ArrayList; -import java.util.List; - -public class LastFmArtist { - @Expose - private Artist artist; - - public Artist getArtist() { - return artist; - } - - public void setArtist(Artist artist) { - this.artist = artist; - } - - public static class Artist { - @Expose - private List image = new ArrayList<>(); - @Expose - private Bio bio; - - public List getImage() { - return image; - } - - public void setImage(List image) { - this.image = image; - } - - public Bio getBio() { - return bio; - } - - public void setBio(Bio bio) { - this.bio = bio; - } - - public class Bio { - @Expose - private String content; - - public String getContent() { - return content; - } - - public void setContent(String content) { - this.content = content; - } - } - - public static class Image { - @SerializedName("#text") - @Expose - private String Text; - @Expose - private String size; - - public String getText() { - return Text; - } - - public void setText(String Text) { - this.Text = Text; - } - - public String getSize() { - return size; - } - - public void setSize(String size) { - this.size = size; - } - } - } -} diff --git a/app/src/main/java/com/kabouzeid/gramophone/lastfm/rest/service/LastFMService.java b/app/src/main/java/com/kabouzeid/gramophone/lastfm/rest/service/LastFMService.java deleted file mode 100644 index 01be3e72..00000000 --- a/app/src/main/java/com/kabouzeid/gramophone/lastfm/rest/service/LastFMService.java +++ /dev/null @@ -1,25 +0,0 @@ -package com.kabouzeid.gramophone.lastfm.rest.service; - -import androidx.annotation.Nullable; - -import com.kabouzeid.gramophone.lastfm.rest.model.LastFmAlbum; -import com.kabouzeid.gramophone.lastfm.rest.model.LastFmArtist; - -import retrofit2.Call; -import retrofit2.http.GET; -import retrofit2.http.Header; -import retrofit2.http.Query; - -/** - * @author Karim Abou Zeid (kabouzeid) - */ -public interface LastFMService { - String API_KEY = "bd9c6ea4d55ec9ed3af7d276e5ece304"; - String BASE_QUERY_PARAMETERS = "?format=json&autocorrect=1&api_key=" + API_KEY; - - @GET(BASE_QUERY_PARAMETERS + "&method=album.getinfo") - Call getAlbumInfo(@Query("album") String albumName, @Query("artist") String artistName, @Nullable @Query("lang") String language); - - @GET(BASE_QUERY_PARAMETERS + "&method=artist.getinfo") - Call getArtistInfo(@Query("artist") String artistName, @Nullable @Query("lang") String language, @Nullable @Header("Cache-Control") String cacheControl); -} \ No newline at end of file diff --git a/app/src/main/java/com/kabouzeid/gramophone/ui/activities/AlbumDetailActivity.java b/app/src/main/java/com/kabouzeid/gramophone/ui/activities/AlbumDetailActivity.java index 3fc55930..9d461c10 100644 --- a/app/src/main/java/com/kabouzeid/gramophone/ui/activities/AlbumDetailActivity.java +++ b/app/src/main/java/com/kabouzeid/gramophone/ui/activities/AlbumDetailActivity.java @@ -1,7 +1,6 @@ package com.kabouzeid.gramophone.ui.activities; import android.content.Context; -import android.content.Intent; import android.graphics.PorterDuff; import android.os.Bundle; import androidx.annotation.NonNull; @@ -39,8 +38,6 @@ import com.kabouzeid.gramophone.misc.WrappedAsyncTaskLoader; import com.kabouzeid.gramophone.model.Album; import com.kabouzeid.gramophone.model.Song; import com.kabouzeid.gramophone.ui.activities.base.AbsSlidingMusicPanelActivity; -import com.kabouzeid.gramophone.ui.activities.tageditor.AbsTagEditorActivity; -import com.kabouzeid.gramophone.ui.activities.tageditor.AlbumTagEditorActivity; import com.kabouzeid.gramophone.util.MusicUtil; import com.kabouzeid.gramophone.util.NavigationUtil; import com.kabouzeid.gramophone.util.PhonographColorUtil; @@ -52,7 +49,6 @@ import butterknife.ButterKnife; public class AlbumDetailActivity extends AbsSlidingMusicPanelActivity implements PaletteColorHolder, CabHolder, LoaderManager.LoaderCallbacks { - private static final int TAG_EDITOR_REQUEST = 2001; private static final int LOADER_ID = LoaderIds.ALBUM_DETAIL_ACTIVITY; public static final String EXTRA_ALBUM_ID = "extra_album_id"; @@ -252,11 +248,6 @@ public class AlbumDetailActivity extends AbsSlidingMusicPanelActivity implements case android.R.id.home: super.onBackPressed(); return true; - case R.id.action_tag_editor: - Intent intent = new Intent(this, AlbumTagEditorActivity.class); - intent.putExtra(AbsTagEditorActivity.EXTRA_ID, getAlbum().getId()); - startActivityForResult(intent, TAG_EDITOR_REQUEST); - return true; case R.id.action_go_to_artist: NavigationUtil.goToArtist(this, getAlbum().getArtistId()); return true; @@ -264,15 +255,6 @@ public class AlbumDetailActivity extends AbsSlidingMusicPanelActivity implements return super.onOptionsItemSelected(item); } - @Override - protected void onActivityResult(int requestCode, int resultCode, Intent data) { - super.onActivityResult(requestCode, resultCode, data); - if (requestCode == TAG_EDITOR_REQUEST) { - reload(); - setResult(RESULT_OK); - } - } - @NonNull @Override public MaterialCab openCab(int menuRes, @NonNull final MaterialCab.Callback callback) { diff --git a/app/src/main/java/com/kabouzeid/gramophone/ui/activities/tageditor/AbsTagEditorActivity.java b/app/src/main/java/com/kabouzeid/gramophone/ui/activities/tageditor/AbsTagEditorActivity.java deleted file mode 100644 index 53cf9c2b..00000000 --- a/app/src/main/java/com/kabouzeid/gramophone/ui/activities/tageditor/AbsTagEditorActivity.java +++ /dev/null @@ -1,520 +0,0 @@ -package com.kabouzeid.gramophone.ui.activities.tageditor; - -import android.app.Activity; -import android.app.Dialog; -import android.app.SearchManager; -import android.content.Context; -import android.content.Intent; -import android.graphics.Bitmap; -import android.graphics.BitmapFactory; -import android.media.MediaScannerConnection; -import android.net.Uri; -import android.os.Bundle; -import androidx.annotation.NonNull; -import androidx.annotation.Nullable; -import com.google.android.material.floatingactionbutton.FloatingActionButton; -import androidx.appcompat.widget.Toolbar; -import android.util.Log; -import android.view.MenuItem; -import android.view.View; -import android.view.animation.OvershootInterpolator; -import android.widget.ImageView; -import android.widget.LinearLayout; - -import com.afollestad.materialdialogs.MaterialDialog; -import com.github.ksoichiro.android.observablescrollview.ObservableScrollView; -import com.kabouzeid.appthemehelper.ThemeStore; -import com.kabouzeid.appthemehelper.util.ColorUtil; -import com.kabouzeid.appthemehelper.util.TintHelper; -import com.kabouzeid.gramophone.R; -import com.kabouzeid.gramophone.misc.DialogAsyncTask; -import com.kabouzeid.gramophone.misc.SimpleObservableScrollViewCallbacks; -import com.kabouzeid.gramophone.misc.UpdateToastMediaScannerCompletionListener; -import com.kabouzeid.gramophone.ui.activities.base.AbsBaseActivity; -import com.kabouzeid.gramophone.util.MusicUtil; -import com.kabouzeid.gramophone.util.Util; - -import org.jaudiotagger.audio.AudioFile; -import org.jaudiotagger.audio.AudioFileIO; -import org.jaudiotagger.audio.exceptions.CannotReadException; -import org.jaudiotagger.audio.exceptions.CannotWriteException; -import org.jaudiotagger.audio.exceptions.InvalidAudioFrameException; -import org.jaudiotagger.audio.exceptions.ReadOnlyFileException; -import org.jaudiotagger.tag.FieldKey; -import org.jaudiotagger.tag.Tag; -import org.jaudiotagger.tag.TagException; -import org.jaudiotagger.tag.images.Artwork; -import org.jaudiotagger.tag.images.ArtworkFactory; - -import java.io.File; -import java.io.FileOutputStream; -import java.io.IOException; -import java.util.Collection; -import java.util.List; -import java.util.Map; - -import butterknife.BindView; -import butterknife.ButterKnife; - -/** - * @author Karim Abou Zeid (kabouzeid) - */ -public abstract class AbsTagEditorActivity extends AbsBaseActivity { - - public static final String EXTRA_ID = "extra_id"; - public static final String EXTRA_PALETTE = "extra_palette"; - private static final String TAG = AbsTagEditorActivity.class.getSimpleName(); - private static final int REQUEST_CODE_SELECT_IMAGE = 1000; - @BindView(R.id.play_pause_fab) - FloatingActionButton fab; - @BindView(R.id.observableScrollView) - ObservableScrollView observableScrollView; - @BindView(R.id.toolbar) - Toolbar toolbar; - @BindView(R.id.image) - ImageView image; - @BindView(R.id.header) - LinearLayout header; - private int id; - private int headerVariableSpace; - private int paletteColorPrimary; - private boolean isInNoImageMode; - private final SimpleObservableScrollViewCallbacks observableScrollViewCallbacks = new SimpleObservableScrollViewCallbacks() { - @Override - public void onScrollChanged(int scrollY, boolean b, boolean b2) { - float alpha; - if (!isInNoImageMode) { - alpha = 1 - (float) Math.max(0, headerVariableSpace - scrollY) / headerVariableSpace; - } else { - header.setTranslationY(scrollY); - alpha = 1; - } - toolbar.setBackgroundColor(ColorUtil.withAlpha(paletteColorPrimary, alpha)); - image.setTranslationY(scrollY / 2); - } - }; - private List songPaths; - - @Override - protected void onCreate(Bundle savedInstanceState) { - super.onCreate(savedInstanceState); - setContentView(getContentViewLayout()); - ButterKnife.bind(this); - - getIntentExtras(); - - songPaths = getSongPaths(); - if (songPaths.isEmpty()) { - finish(); - return; - } - - headerVariableSpace = getResources().getDimensionPixelSize(R.dimen.tagEditorHeaderVariableSpace); - - setUpViews(); - - setSupportActionBar(toolbar); - //noinspection ConstantConditions - getSupportActionBar().setTitle(null); - getSupportActionBar().setDisplayHomeAsUpEnabled(true); - } - - private void setUpViews() { - setUpScrollView(); - setUpFab(); - setUpImageView(); - } - - private void setUpScrollView() { - observableScrollView.setScrollViewCallbacks(observableScrollViewCallbacks); - } - - private void setUpImageView() { - loadCurrentImage(); - final CharSequence[] items = new CharSequence[]{ - getString(R.string.download_from_last_fm), - getString(R.string.pick_from_local_storage), - getString(R.string.web_search), - getString(R.string.remove_cover) - }; - image.setOnClickListener(v -> new MaterialDialog.Builder(AbsTagEditorActivity.this) - .title(R.string.update_image) - .items(items) - .itemsCallback((dialog, view, which, text) -> { - switch (which) { - case 0: - getImageFromLastFM(); - break; - case 1: - startImagePicker(); - break; - case 2: - searchImageOnWeb(); - break; - case 3: - deleteImage(); - break; - } - }).show()); - } - - private void startImagePicker() { - Intent intent = new Intent(Intent.ACTION_GET_CONTENT); - intent.setType("image/*"); - startActivityForResult(Intent.createChooser(intent, getString(R.string.pick_from_local_storage)), REQUEST_CODE_SELECT_IMAGE); - } - - protected abstract void loadCurrentImage(); - - protected abstract void getImageFromLastFM(); - - protected abstract void searchImageOnWeb(); - - protected abstract void deleteImage(); - - private void setUpFab() { - fab.setScaleX(0); - fab.setScaleY(0); - fab.setEnabled(false); - fab.setOnClickListener(v -> save()); - - TintHelper.setTintAuto(fab, ThemeStore.accentColor(this), true); - } - - protected abstract void save(); - - private void getIntentExtras() { - Bundle intentExtras = getIntent().getExtras(); - if (intentExtras != null) { - id = intentExtras.getInt(EXTRA_ID); - } - } - - protected abstract int getContentViewLayout(); - - @NonNull - protected abstract List getSongPaths(); - - protected void searchWebFor(String... keys) { - StringBuilder stringBuilder = new StringBuilder(); - for (String key : keys) { - stringBuilder.append(key); - stringBuilder.append(" "); - } - Intent intent = new Intent(Intent.ACTION_WEB_SEARCH); - intent.putExtra(SearchManager.QUERY, stringBuilder.toString()); - intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); - - startActivity(intent); - } - - @Override - public boolean onOptionsItemSelected(@NonNull MenuItem item) { - int id = item.getItemId(); - switch (id) { - case android.R.id.home: - super.onBackPressed(); - return true; - } - return super.onOptionsItemSelected(item); - } - - protected void setNoImageMode() { - isInNoImageMode = true; - image.setVisibility(View.GONE); - image.setEnabled(false); - observableScrollView.setPadding(0, Util.getActionBarSize(this), 0, 0); - observableScrollViewCallbacks.onScrollChanged(observableScrollView.getCurrentScrollY(), false, false); - - setColors(getIntent().getIntExtra(EXTRA_PALETTE, ThemeStore.primaryColor(this))); - toolbar.setBackgroundColor(paletteColorPrimary); - } - - protected void dataChanged() { - showFab(); - } - - private void showFab() { - fab.animate() - .setDuration(500) - .setInterpolator(new OvershootInterpolator()) - .scaleX(1) - .scaleY(1) - .start(); - fab.setEnabled(true); - } - - protected void setImageBitmap(@Nullable final Bitmap bitmap, int bgColor) { - if (bitmap == null) { - image.setImageResource(R.drawable.default_album_art); - } else { - image.setImageBitmap(bitmap); - } - setColors(bgColor); - } - - protected void setColors(int color) { - paletteColorPrimary = color; - observableScrollViewCallbacks.onScrollChanged(observableScrollView.getCurrentScrollY(), false, false); - header.setBackgroundColor(paletteColorPrimary); - setStatusbarColor(paletteColorPrimary); - setNavigationbarColor(paletteColorPrimary); - setTaskDescriptionColor(paletteColorPrimary); - } - - protected void writeValuesToFiles(@NonNull final Map fieldKeyValueMap, @Nullable final ArtworkInfo artworkInfo) { - Util.hideSoftKeyboard(this); - - new WriteTagsAsyncTask(this).execute(new WriteTagsAsyncTask.LoadingInfo(getSongPaths(), fieldKeyValueMap, artworkInfo)); - } - - private static class WriteTagsAsyncTask extends DialogAsyncTask { - Context applicationContext; - - public WriteTagsAsyncTask(Context context) { - super(context); - applicationContext = context; - } - - @Override - protected String[] doInBackground(LoadingInfo... params) { - try { - LoadingInfo info = params[0]; - - Artwork artwork = null; - File albumArtFile = null; - if (info.artworkInfo != null && info.artworkInfo.artwork != null) { - try { - albumArtFile = MusicUtil.createAlbumArtFile().getCanonicalFile(); - info.artworkInfo.artwork.compress(Bitmap.CompressFormat.PNG, 0, new FileOutputStream(albumArtFile)); - artwork = ArtworkFactory.createArtworkFromFile(albumArtFile); - } catch (IOException e) { - e.printStackTrace(); - } - } - - int counter = 0; - boolean wroteArtwork = false; - boolean deletedArtwork = false; - for (String filePath : info.filePaths) { - publishProgress(++counter, info.filePaths.size()); - try { - AudioFile audioFile = AudioFileIO.read(new File(filePath)); - Tag tag = audioFile.getTagOrCreateAndSetDefault(); - - if (info.fieldKeyValueMap != null) { - for (Map.Entry entry : info.fieldKeyValueMap.entrySet()) { - try { - tag.setField(entry.getKey(), entry.getValue()); - } catch (Exception e) { - e.printStackTrace(); - } - } - } - - if (info.artworkInfo != null) { - if (info.artworkInfo.artwork == null) { - tag.deleteArtworkField(); - deletedArtwork = true; - } else if (artwork != null) { - tag.deleteArtworkField(); - tag.setField(artwork); - wroteArtwork = true; - } - } - - audioFile.commit(); - } catch (@NonNull CannotReadException | IOException | CannotWriteException | TagException | ReadOnlyFileException | InvalidAudioFrameException e) { - e.printStackTrace(); - } - } - - Context context = getContext(); - if (context != null) { - if (wroteArtwork) { - MusicUtil.insertAlbumArt(context, info.artworkInfo.albumId, albumArtFile.getPath()); - } else if (deletedArtwork) { - MusicUtil.deleteAlbumArt(context, info.artworkInfo.albumId); - } - } - - return info.filePaths.toArray(new String[info.filePaths.size()]); - } catch (Exception e) { - e.printStackTrace(); - return null; - } - } - - @Override - protected void onPostExecute(String[] toBeScanned) { - super.onPostExecute(toBeScanned); - scan(toBeScanned); - } - - @Override - protected void onCancelled(String[] toBeScanned) { - super.onCancelled(toBeScanned); - scan(toBeScanned); - } - - private void scan(String[] toBeScanned) { - Context context = getContext(); - MediaScannerConnection.scanFile(applicationContext, toBeScanned, null, context instanceof Activity ? new UpdateToastMediaScannerCompletionListener((Activity) context, toBeScanned) : null); - } - - @Override - protected Dialog createDialog(@NonNull Context context) { - return new MaterialDialog.Builder(context) - .title(R.string.saving_changes) - .cancelable(false) - .progress(false, 0) - .build(); - } - - @Override - protected void onProgressUpdate(@NonNull Dialog dialog, Integer... values) { - super.onProgressUpdate(dialog, values); - ((MaterialDialog) dialog).setMaxProgress(values[1]); - ((MaterialDialog) dialog).setProgress(values[0]); - } - - public static class LoadingInfo { - public final Collection filePaths; - @Nullable - public final Map fieldKeyValueMap; - @Nullable - private ArtworkInfo artworkInfo; - - private LoadingInfo(Collection filePaths, @Nullable Map fieldKeyValueMap, @Nullable ArtworkInfo artworkInfo) { - this.filePaths = filePaths; - this.fieldKeyValueMap = fieldKeyValueMap; - this.artworkInfo = artworkInfo; - } - } - } - - public static class ArtworkInfo { - public final int albumId; - public final Bitmap artwork; - - public ArtworkInfo(int albumId, Bitmap artwork) { - this.albumId = albumId; - this.artwork = artwork; - } - } - - protected int getId() { - return id; - } - - @Override - protected void onActivityResult(int requestCode, int resultCode, @NonNull Intent imageReturnedIntent) { - super.onActivityResult(requestCode, resultCode, imageReturnedIntent); - switch (requestCode) { - case REQUEST_CODE_SELECT_IMAGE: - if (resultCode == RESULT_OK) { - Uri selectedImage = imageReturnedIntent.getData(); - loadImageFromFile(selectedImage); - } - break; - } - } - - protected abstract void loadImageFromFile(Uri selectedFile); - - @NonNull - private AudioFile getAudioFile(@NonNull String path) { - try { - return AudioFileIO.read(new File(path)); - } catch (Exception e) { - Log.e(TAG, "Could not read audio file " + path, e); - return new AudioFile(); - } - } - - @Nullable - protected String getSongTitle() { - try { - return getAudioFile(songPaths.get(0)).getTagOrCreateAndSetDefault().getFirst(FieldKey.TITLE); - } catch (Exception ignored) { - return null; - } - } - - @Nullable - protected String getAlbumTitle() { - try { - return getAudioFile(songPaths.get(0)).getTagOrCreateAndSetDefault().getFirst(FieldKey.ALBUM); - } catch (Exception ignored) { - return null; - } - } - - @Nullable - protected String getArtistName() { - try { - return getAudioFile(songPaths.get(0)).getTagOrCreateAndSetDefault().getFirst(FieldKey.ARTIST); - } catch (Exception ignored) { - return null; - } - } - - @Nullable - protected String getAlbumArtistName() { - try { - return getAudioFile(songPaths.get(0)).getTagOrCreateAndSetDefault().getFirst(FieldKey.ALBUM_ARTIST); - } catch (Exception ignored) { - return null; - } - } - - @Nullable - protected String getGenreName() { - try { - return getAudioFile(songPaths.get(0)).getTagOrCreateAndSetDefault().getFirst(FieldKey.GENRE); - } catch (Exception ignored) { - return null; - } - } - - @Nullable - protected String getSongYear() { - try { - return getAudioFile(songPaths.get(0)).getTagOrCreateAndSetDefault().getFirst(FieldKey.YEAR); - } catch (Exception ignored) { - return null; - } - } - - @Nullable - protected String getTrackNumber() { - try { - return getAudioFile(songPaths.get(0)).getTagOrCreateAndSetDefault().getFirst(FieldKey.TRACK); - } catch (Exception ignored) { - return null; - } - } - - @Nullable - protected String getLyrics() { - try { - return getAudioFile(songPaths.get(0)).getTagOrCreateAndSetDefault().getFirst(FieldKey.LYRICS); - } catch (Exception ignored) { - return null; - } - } - - @Nullable - protected Bitmap getAlbumArt() { - try { - Artwork artworkTag = getAudioFile(songPaths.get(0)).getTagOrCreateAndSetDefault().getFirstArtwork(); - if (artworkTag != null) { - byte[] artworkBinaryData = artworkTag.getBinaryData(); - return BitmapFactory.decodeByteArray(artworkBinaryData, 0, artworkBinaryData.length); - } - return null; - } catch (Exception ignored) { - return null; - } - } -} diff --git a/app/src/main/java/com/kabouzeid/gramophone/ui/activities/tageditor/AlbumTagEditorActivity.java b/app/src/main/java/com/kabouzeid/gramophone/ui/activities/tageditor/AlbumTagEditorActivity.java deleted file mode 100644 index 02d880eb..00000000 --- a/app/src/main/java/com/kabouzeid/gramophone/ui/activities/tageditor/AlbumTagEditorActivity.java +++ /dev/null @@ -1,239 +0,0 @@ -package com.kabouzeid.gramophone.ui.activities.tageditor; - -import android.graphics.Bitmap; -import android.graphics.BitmapFactory; -import android.graphics.Color; -import android.graphics.drawable.Drawable; -import android.net.Uri; -import android.os.Bundle; -import androidx.annotation.NonNull; -import android.text.Editable; -import android.text.TextUtils; -import android.text.TextWatcher; -import android.widget.EditText; -import android.widget.Toast; - -import com.bumptech.glide.Glide; -import com.bumptech.glide.load.engine.DiskCacheStrategy; -import com.bumptech.glide.request.animation.GlideAnimation; -import com.bumptech.glide.request.target.SimpleTarget; -import com.kabouzeid.appthemehelper.util.ATHUtil; -import com.kabouzeid.appthemehelper.util.ToolbarContentTintHelper; -import com.kabouzeid.gramophone.R; -import com.kabouzeid.gramophone.glide.palette.BitmapPaletteTranscoder; -import com.kabouzeid.gramophone.glide.palette.BitmapPaletteWrapper; -import com.kabouzeid.gramophone.lastfm.rest.LastFMRestClient; -import com.kabouzeid.gramophone.lastfm.rest.model.LastFmAlbum; -import com.kabouzeid.gramophone.loader.AlbumLoader; -import com.kabouzeid.gramophone.model.Song; -import com.kabouzeid.gramophone.util.ImageUtil; -import com.kabouzeid.gramophone.util.LastFMUtil; -import com.kabouzeid.gramophone.util.PhonographColorUtil; - -import org.jaudiotagger.tag.FieldKey; - -import java.util.ArrayList; -import java.util.EnumMap; -import java.util.List; -import java.util.Map; - -import butterknife.BindView; -import butterknife.ButterKnife; -import retrofit2.Call; -import retrofit2.Callback; -import retrofit2.Response; - -public class AlbumTagEditorActivity extends AbsTagEditorActivity implements TextWatcher { - - @BindView(R.id.title) - EditText albumTitle; - @BindView(R.id.album_artist) - EditText albumArtist; - @BindView(R.id.genre) - EditText genre; - @BindView(R.id.year) - EditText year; - - private Bitmap albumArtBitmap; - private boolean deleteAlbumArt; - private LastFMRestClient lastFMRestClient; - - @Override - protected void onCreate(Bundle savedInstanceState) { - super.onCreate(savedInstanceState); - ButterKnife.bind(this); - - lastFMRestClient = new LastFMRestClient(this); - - setUpViews(); - } - - private void setUpViews() { - fillViewsWithFileTags(); - albumTitle.addTextChangedListener(this); - albumArtist.addTextChangedListener(this); - genre.addTextChangedListener(this); - year.addTextChangedListener(this); - } - - - private void fillViewsWithFileTags() { - albumTitle.setText(getAlbumTitle()); - albumArtist.setText(getAlbumArtistName()); - genre.setText(getGenreName()); - year.setText(getSongYear()); - } - - @Override - protected void loadCurrentImage() { - Bitmap bitmap = getAlbumArt(); - setImageBitmap(bitmap, PhonographColorUtil.getColor(PhonographColorUtil.generatePalette(bitmap), ATHUtil.resolveColor(this, R.attr.defaultFooterColor))); - deleteAlbumArt = false; - } - - @Override - protected void getImageFromLastFM() { - String albumTitleStr = albumTitle.getText().toString(); - String albumArtistNameStr = albumArtist.getText().toString(); - if (albumArtistNameStr.trim().equals("") || albumTitleStr.trim().equals("")) { - Toast.makeText(this, getResources().getString(R.string.album_or_artist_empty), Toast.LENGTH_SHORT).show(); - return; - } - lastFMRestClient.getApiService().getAlbumInfo(albumTitleStr, albumArtistNameStr, null).enqueue(new Callback() { - @Override - public void onResponse(Call call, Response response) { - LastFmAlbum lastFmAlbum = response.body(); - if (lastFmAlbum.getAlbum() != null) { - String url = LastFMUtil.getLargestAlbumImageUrl(lastFmAlbum.getAlbum().getImage()); - if (!TextUtils.isEmpty(url) && url.trim().length() > 0) { - Glide.with(AlbumTagEditorActivity.this) - .load(url) - .asBitmap() - .transcode(new BitmapPaletteTranscoder(AlbumTagEditorActivity.this), BitmapPaletteWrapper.class) - .diskCacheStrategy(DiskCacheStrategy.SOURCE) - .error(R.drawable.default_album_art) - .into(new SimpleTarget() { - @Override - public void onLoadFailed(Exception e, Drawable errorDrawable) { - super.onLoadFailed(e, errorDrawable); - e.printStackTrace(); - Toast.makeText(AlbumTagEditorActivity.this, e.toString(), Toast.LENGTH_LONG).show(); - } - - @Override - public void onResourceReady(BitmapPaletteWrapper resource, GlideAnimation glideAnimation) { - albumArtBitmap = ImageUtil.resizeBitmap(resource.getBitmap(), 2048); - setImageBitmap(albumArtBitmap, PhonographColorUtil.getColor(resource.getPalette(), ATHUtil.resolveColor(AlbumTagEditorActivity.this, R.attr.defaultFooterColor))); - deleteAlbumArt = false; - dataChanged(); - setResult(RESULT_OK); - } - }); - return; - } - } - toastLoadingFailed(); - } - - @Override - public void onFailure(Call call, Throwable t) { - toastLoadingFailed(); - } - - private void toastLoadingFailed() { - Toast.makeText(AlbumTagEditorActivity.this, - R.string.could_not_download_album_cover, Toast.LENGTH_SHORT).show(); - } - }); - } - - @Override - protected void searchImageOnWeb() { - searchWebFor(albumTitle.getText().toString(), albumArtist.getText().toString()); - } - - @Override - protected void deleteImage() { - setImageBitmap(BitmapFactory.decodeResource(getResources(), R.drawable.default_album_art), ATHUtil.resolveColor(this, R.attr.defaultFooterColor)); - deleteAlbumArt = true; - dataChanged(); - } - - @Override - protected void save() { - Map fieldKeyValueMap = new EnumMap<>(FieldKey.class); - fieldKeyValueMap.put(FieldKey.ALBUM, albumTitle.getText().toString()); - //android seems not to recognize album_artist field so we additionally write the normal artist field - fieldKeyValueMap.put(FieldKey.ARTIST, albumArtist.getText().toString()); - fieldKeyValueMap.put(FieldKey.ALBUM_ARTIST, albumArtist.getText().toString()); - fieldKeyValueMap.put(FieldKey.GENRE, genre.getText().toString()); - fieldKeyValueMap.put(FieldKey.YEAR, year.getText().toString()); - - writeValuesToFiles(fieldKeyValueMap, deleteAlbumArt ? new ArtworkInfo(getId(), null) : albumArtBitmap == null ? null : new ArtworkInfo(getId(), albumArtBitmap)); - } - - @Override - protected int getContentViewLayout() { - return R.layout.activity_album_tag_editor; - } - - @NonNull - @Override - protected List getSongPaths() { - List songs = AlbumLoader.getAlbum(this, getId()).songs; - List paths = new ArrayList<>(songs.size()); - for (Song song : songs) { - paths.add(song.data); - } - return paths; - } - - @Override - protected void loadImageFromFile(@NonNull final Uri selectedFileUri) { - Glide.with(AlbumTagEditorActivity.this) - .load(selectedFileUri) - .asBitmap() - .transcode(new BitmapPaletteTranscoder(AlbumTagEditorActivity.this), BitmapPaletteWrapper.class) - .diskCacheStrategy(DiskCacheStrategy.NONE) - .skipMemoryCache(true) - .into(new SimpleTarget() { - @Override - public void onLoadFailed(Exception e, Drawable errorDrawable) { - super.onLoadFailed(e, errorDrawable); - e.printStackTrace(); - Toast.makeText(AlbumTagEditorActivity.this, e.toString(), Toast.LENGTH_LONG).show(); - } - - @Override - public void onResourceReady(BitmapPaletteWrapper resource, GlideAnimation glideAnimation) { - PhonographColorUtil.getColor(resource.getPalette(), Color.TRANSPARENT); - albumArtBitmap = ImageUtil.resizeBitmap(resource.getBitmap(), 2048); - setImageBitmap(albumArtBitmap, PhonographColorUtil.getColor(resource.getPalette(), ATHUtil.resolveColor(AlbumTagEditorActivity.this, R.attr.defaultFooterColor))); - deleteAlbumArt = false; - dataChanged(); - setResult(RESULT_OK); - } - }); - } - - @Override - public void beforeTextChanged(CharSequence s, int start, int count, int after) { - - } - - @Override - public void onTextChanged(CharSequence s, int start, int before, int count) { - - } - - @Override - public void afterTextChanged(Editable s) { - dataChanged(); - } - - @Override - protected void setColors(int color) { - super.setColors(color); - albumTitle.setTextColor(ToolbarContentTintHelper.toolbarTitleColor(this, color)); - } -} diff --git a/app/src/main/java/com/kabouzeid/gramophone/ui/activities/tageditor/SongTagEditorActivity.java b/app/src/main/java/com/kabouzeid/gramophone/ui/activities/tageditor/SongTagEditorActivity.java deleted file mode 100644 index 303e67fe..00000000 --- a/app/src/main/java/com/kabouzeid/gramophone/ui/activities/tageditor/SongTagEditorActivity.java +++ /dev/null @@ -1,147 +0,0 @@ -package com.kabouzeid.gramophone.ui.activities.tageditor; - -import android.net.Uri; -import android.os.Bundle; -import androidx.annotation.NonNull; -import android.text.Editable; -import android.text.TextWatcher; -import android.widget.EditText; - -import com.kabouzeid.appthemehelper.util.ToolbarContentTintHelper; -import com.kabouzeid.gramophone.R; -import com.kabouzeid.gramophone.loader.SongLoader; - -import org.jaudiotagger.tag.FieldKey; - -import java.util.ArrayList; -import java.util.EnumMap; -import java.util.List; -import java.util.Map; - -import butterknife.BindView; -import butterknife.ButterKnife; - -public class SongTagEditorActivity extends AbsTagEditorActivity implements TextWatcher { - - @BindView(R.id.title1) - EditText songTitle; - @BindView(R.id.title2) - EditText albumTitle; - @BindView(R.id.artist) - EditText artist; - @BindView(R.id.genre) - EditText genre; - @BindView(R.id.year) - EditText year; - @BindView(R.id.image_text) - EditText trackNumber; - @BindView(R.id.lyrics) - EditText lyrics; - - @Override - protected void onCreate(Bundle savedInstanceState) { - super.onCreate(savedInstanceState); - ButterKnife.bind(this); - - setNoImageMode(); - setUpViews(); - - //noinspection ConstantConditions - getSupportActionBar().setTitle(R.string.action_tag_editor); - } - - private void setUpViews() { - fillViewsWithFileTags(); - songTitle.addTextChangedListener(this); - albumTitle.addTextChangedListener(this); - artist.addTextChangedListener(this); - genre.addTextChangedListener(this); - year.addTextChangedListener(this); - trackNumber.addTextChangedListener(this); - lyrics.addTextChangedListener(this); - } - - private void fillViewsWithFileTags() { - songTitle.setText(getSongTitle()); - albumTitle.setText(getAlbumTitle()); - artist.setText(getArtistName()); - genre.setText(getGenreName()); - year.setText(getSongYear()); - trackNumber.setText(getTrackNumber()); - lyrics.setText(getLyrics()); - } - - @Override - protected void loadCurrentImage() { - - } - - @Override - protected void getImageFromLastFM() { - - } - - @Override - protected void searchImageOnWeb() { - - } - - @Override - protected void deleteImage() { - - } - - @Override - protected void save() { - Map fieldKeyValueMap = new EnumMap<>(FieldKey.class); - fieldKeyValueMap.put(FieldKey.TITLE, songTitle.getText().toString()); - fieldKeyValueMap.put(FieldKey.ALBUM, albumTitle.getText().toString()); - fieldKeyValueMap.put(FieldKey.ARTIST, artist.getText().toString()); - fieldKeyValueMap.put(FieldKey.GENRE, genre.getText().toString()); - fieldKeyValueMap.put(FieldKey.YEAR, year.getText().toString()); - fieldKeyValueMap.put(FieldKey.TRACK, trackNumber.getText().toString()); - fieldKeyValueMap.put(FieldKey.LYRICS, lyrics.getText().toString()); - writeValuesToFiles(fieldKeyValueMap, null); - } - - @Override - protected int getContentViewLayout() { - return R.layout.activity_song_tag_editor; - } - - @NonNull - @Override - protected List getSongPaths() { - List paths = new ArrayList<>(1); - paths.add(SongLoader.getSong(this, getId()).data); - return paths; - } - - @Override - protected void loadImageFromFile(Uri imageFilePath) { - - } - - @Override - public void beforeTextChanged(CharSequence s, int start, int count, int after) { - - } - - @Override - public void onTextChanged(CharSequence s, int start, int before, int count) { - - } - - @Override - public void afterTextChanged(Editable s) { - dataChanged(); - } - - @Override - protected void setColors(int color) { - super.setColors(color); - int toolbarTitleColor = ToolbarContentTintHelper.toolbarTitleColor(this, color); - songTitle.setTextColor(toolbarTitleColor); - albumTitle.setTextColor(toolbarTitleColor); - } -} diff --git a/app/src/main/java/com/kabouzeid/gramophone/ui/fragments/mainactivity/folders/FoldersFragment.java b/app/src/main/java/com/kabouzeid/gramophone/ui/fragments/mainactivity/folders/FoldersFragment.java index 5041a420..5584f389 100644 --- a/app/src/main/java/com/kabouzeid/gramophone/ui/fragments/mainactivity/folders/FoldersFragment.java +++ b/app/src/main/java/com/kabouzeid/gramophone/ui/fragments/mainactivity/folders/FoldersFragment.java @@ -408,7 +408,6 @@ public class FoldersFragment extends AbsMainActivityFragment implements MainActi case R.id.action_go_to_album: case R.id.action_go_to_artist: case R.id.action_share: - case R.id.action_tag_editor: case R.id.action_details: case R.id.action_set_as_ringtone: case R.id.action_delete_from_device: diff --git a/app/src/main/java/com/kabouzeid/gramophone/ui/fragments/player/AbsPlayerFragment.java b/app/src/main/java/com/kabouzeid/gramophone/ui/fragments/player/AbsPlayerFragment.java index 6de995d7..3cf20fc8 100644 --- a/app/src/main/java/com/kabouzeid/gramophone/ui/fragments/player/AbsPlayerFragment.java +++ b/app/src/main/java/com/kabouzeid/gramophone/ui/fragments/player/AbsPlayerFragment.java @@ -16,8 +16,6 @@ import com.kabouzeid.gramophone.dialogs.SongShareDialog; import com.kabouzeid.gramophone.helper.MusicPlayerRemote; import com.kabouzeid.gramophone.interfaces.PaletteColorHolder; import com.kabouzeid.gramophone.model.Song; -import com.kabouzeid.gramophone.ui.activities.tageditor.AbsTagEditorActivity; -import com.kabouzeid.gramophone.ui.activities.tageditor.SongTagEditorActivity; import com.kabouzeid.gramophone.ui.fragments.AbsMusicServiceFragment; import com.kabouzeid.gramophone.util.MusicUtil; import com.kabouzeid.gramophone.util.NavigationUtil; @@ -68,11 +66,6 @@ public abstract class AbsPlayerFragment extends AbsMusicServiceFragment implemen case R.id.action_save_playing_queue: CreatePlaylistDialog.create(MusicPlayerRemote.getPlayingQueue()).show(getActivity().getSupportFragmentManager(), "ADD_TO_PLAYLIST"); return true; - case R.id.action_tag_editor: - Intent intent = new Intent(getActivity(), SongTagEditorActivity.class); - intent.putExtra(AbsTagEditorActivity.EXTRA_ID, song.id); - startActivity(intent); - return true; case R.id.action_details: SongDetailDialog.create(song).show(getFragmentManager(), "SONG_DETAIL"); return true; diff --git a/app/src/main/java/com/kabouzeid/gramophone/util/LastFMUtil.java b/app/src/main/java/com/kabouzeid/gramophone/util/LastFMUtil.java deleted file mode 100644 index 57a1b5d6..00000000 --- a/app/src/main/java/com/kabouzeid/gramophone/util/LastFMUtil.java +++ /dev/null @@ -1,82 +0,0 @@ -package com.kabouzeid.gramophone.util; - -import com.kabouzeid.gramophone.lastfm.rest.model.LastFmAlbum.Album; -import com.kabouzeid.gramophone.lastfm.rest.model.LastFmArtist.Artist; - -import java.util.HashMap; -import java.util.List; -import java.util.Locale; -import java.util.Map; - -/** - * @author Karim Abou Zeid (kabouzeid) - */ -public class LastFMUtil { - public enum ImageSize { - SMALL, MEDIUM, LARGE, EXTRALARGE, MEGA, UNKNOWN - } - - public static String getLargestArtistImageUrl(List images) { - Map imageUrls = new HashMap<>(); - for (Artist.Image image : images) { - ImageSize size = null; - final String attribute = image.getSize(); - if (attribute == null) { - size = ImageSize.UNKNOWN; - } else { - try { - size = ImageSize.valueOf(attribute.toUpperCase(Locale.ENGLISH)); - } catch (final IllegalArgumentException e) { - // if they suddenly again introduce a new image size - } - } - if (size != null) { - imageUrls.put(size, image.getText()); - } - } - return getLargestImageUrl(imageUrls); - } - - public static String getLargestAlbumImageUrl(List images) { - Map imageUrls = new HashMap<>(); - for (Album.Image image : images) { - ImageSize size = null; - final String attribute = image.getSize(); - if (attribute == null) { - size = ImageSize.UNKNOWN; - } else { - try { - size = ImageSize.valueOf(attribute.toUpperCase(Locale.ENGLISH)); - } catch (final IllegalArgumentException e) { - // if they suddenly again introduce a new image size - } - } - if (size != null) { - imageUrls.put(size, image.getText()); - } - } - return getLargestImageUrl(imageUrls); - } - - private static String getLargestImageUrl(Map imageUrls) { - if (imageUrls.containsKey(ImageSize.MEGA)) { - return imageUrls.get(ImageSize.MEGA); - } - if (imageUrls.containsKey(ImageSize.EXTRALARGE)) { - return imageUrls.get(ImageSize.EXTRALARGE); - } - if (imageUrls.containsKey(ImageSize.LARGE)) { - return imageUrls.get(ImageSize.LARGE); - } - if (imageUrls.containsKey(ImageSize.MEDIUM)) { - return imageUrls.get(ImageSize.MEDIUM); - } - if (imageUrls.containsKey(ImageSize.SMALL)) { - return imageUrls.get(ImageSize.SMALL); - } - if (imageUrls.containsKey(ImageSize.UNKNOWN)) { - return imageUrls.get(ImageSize.UNKNOWN); - } - return null; - } -} diff --git a/app/src/main/res/layout/activity_album_tag_editor.xml b/app/src/main/res/layout/activity_album_tag_editor.xml deleted file mode 100644 index 8a4559a3..00000000 --- a/app/src/main/res/layout/activity_album_tag_editor.xml +++ /dev/null @@ -1,159 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/app/src/main/res/layout/activity_song_tag_editor.xml b/app/src/main/res/layout/activity_song_tag_editor.xml deleted file mode 100644 index daee211e..00000000 --- a/app/src/main/res/layout/activity_song_tag_editor.xml +++ /dev/null @@ -1,198 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/app/src/main/res/menu/menu_album_detail.xml b/app/src/main/res/menu/menu_album_detail.xml index 62d04ed5..a27dac85 100644 --- a/app/src/main/res/menu/menu_album_detail.xml +++ b/app/src/main/res/menu/menu_album_detail.xml @@ -29,11 +29,6 @@ android:title="@string/action_go_to_artist" app:showAsAction="never" /> - - - - - - - إضافة إلى قائمة الانتظار إزالة من قائمة الانتظار إضافة إلى قائمة التشغيل... - محرر الوسوم حذف من الجهاز التفاصيل إعادة التسمية @@ -42,8 +41,6 @@ السنة "المقطع (2 للمقطع 2 أو 3004 لـCD3 للمقطع 4)" كلمات الأغاني - حقل العنوان أو الفنان فارغ. - جار حفظ التغييرات التفاصيل اسم الملف مسار الملف @@ -140,7 +137,6 @@ اللون الثانوي لون التنسيق الأساسي، الافتراضي هو الأزرق النيلي. لون التنسيق الثانوي، الافتراضي هو الزهري. - تحديث الصورة قائمة تشغيل فارغة لا توجد قوائم تشغيل لا توجد ألبومات @@ -161,16 +157,12 @@ الإشعارات، التنقل، إلخ. حالياً كلمات الأغاني المتزامنة بصيغة LRC هي المدعومة فقط. سواء كانت مدمجة أو كملف منفصل. الذهاب إلى آخر لسان مفتوح عند التشغيل - "\u0644\u0645 \u064a\u062a\u0645 \u0627\u0644\u062a\u0645\u0643\u0646 \u0645\u0646 \u062a\u062d\u0645\u064a\u0644 \u063a\u0644\u0627\u0641 \u0623\u0644\u0628\u0648\u0645 \u0645\u0637\u0627\u0628\u0642." البحث في مكتبتك... المفضلة المضافة مؤخراً السجل أفضل الأغاني - إزالة الغلاف - التحميل من Last.fm اختيار من التخزين الداخلي - البحث في الويب مؤقت النوم ضبط إلغاء المؤقت الحالي diff --git a/app/src/main/res/values-bg/strings.xml b/app/src/main/res/values-bg/strings.xml index f75cfe7a..819a0e66 100644 --- a/app/src/main/res/values-bg/strings.xml +++ b/app/src/main/res/values-bg/strings.xml @@ -21,7 +21,6 @@ Добави в списъка с възпроизвеждащи се песни Премахни от списъка с възпроизвеждащи се песни Добави към плейлист... - Таг Едитор Изтрий от устройството Детайли Преименувай @@ -41,8 +40,6 @@ Година "Трак (2 за трак 2 или 3004 за CD3 трак 4)" Текст на песента - Заглавието или артистът са празни - Запазване на промените Детайли Име на файл Местоположение на файла @@ -122,7 +119,6 @@ Цвят на акцента Подразбиращият се цвят на темата е индиго. Цветът по подразбиране на акцентите е розов. - Обнови снимката Празен плейлист Няма плейлисти Няма албуми @@ -139,16 +135,12 @@ Оцветява навигационната лента в главният цвят на апликацията. Оцветява бутоните в главният цвят на апликацията. Известия, навигация etc. - "\u041d\u0435 \u043c\u043e\u0436\u0435\u0448\u0435 \u0434\u0430 \u0431\u044a\u0434\u0435 \u0438\u0437\u0442\u0435\u0433\u043b\u0435\u043d\u0430 \u043e\u0431\u043b\u043e\u0436\u043a\u0430." Търсене във вашата аудио библиотека... Любими Последно добавени История Моите топ песни - Премахни обложка - Изтегли от Last.fm Избери от телефон - Уеб търсене Таймер за заспиване Задай Премахни текущия таймер diff --git a/app/src/main/res/values-cs/strings.xml b/app/src/main/res/values-cs/strings.xml index 2ec955ce..74d616c9 100644 --- a/app/src/main/res/values-cs/strings.xml +++ b/app/src/main/res/values-cs/strings.xml @@ -21,7 +21,6 @@ Přidat do fronty Odebrat z fronty Přidat do playlistu... - Editor Tagů Smazat ze zařízení Podrobné informace o skladbě Přejmenovat @@ -42,8 +41,6 @@ Rok "Stopa (2 pro stopu 2; 3004 pro stopu 4 na CD3)" Text - Název alba nebo interpreta je prázdný. - Ukládání změn Podrobnosti Název souboru Umístění souboru @@ -140,7 +137,6 @@ Vedlejší barva Hlavní barva motivu (výchozí: modrá). Vedlejší barva motivu (výchozí: růžová). - Změnit obrázek Tento playlist je prázdný Žádný playlist Žádná alba @@ -161,16 +157,12 @@ Oznámení, navigace atd. V současné době jsou podporovány pouze synchronizované texty ve formátu LRC. Buď vestavěný nebo jako samostatný soubor. Přejděte na poslední otevřenou kartu při spuštění - "Nelze st\u00e1hnout odpov\u00eddaj\u00edc\u00ed obal alba." Vyhledat zvukové soubory... Oblíbené Naposledy přidáno Historie "Moje nejposlouchanější skladby " - Odstranit obal - Stáhnout z Last.fm Vybrat z místního úložiště - Najít na webu Určit ukončení přehrávání Nastavit Zrušit ukončení přehrávání diff --git a/app/src/main/res/values-de/strings.xml b/app/src/main/res/values-de/strings.xml index 063d31dd..512f1f2d 100644 --- a/app/src/main/res/values-de/strings.xml +++ b/app/src/main/res/values-de/strings.xml @@ -21,7 +21,6 @@ Zur Warteschlange hinzufügen Von Warteschlange entfernen Zu Wiedergabeliste hinzufügen… - Tags ändern Von Gerät löschen Details Umbenennen @@ -42,8 +41,6 @@ Jahr "Track (2 für Track 2 oder 3004 für CD 3 Track 4)" Songtext - Der Titel oder der Interpret ist leer. - Speichere Änderungen… Details Dateiname Dateipfad @@ -143,7 +140,6 @@ Akzentfarbe Die primäre Farbe, Standard ist indigo. Die Akzentfarbe, Standard ist pink. - Bild aktualisieren Die Wiedergabeliste ist leer Keine Wiedergabelisten Keine Alben @@ -165,16 +161,12 @@ Aktuell werden nur synchronisierte Songtexte im LRC-Format unterstützt, entweder eingebettet oder als separate Datei. Zuletzt geöffneten Tab beim Start anzeigen Shuffle bleibt aktiviert, wenn neue Songs ausgewählt werden - "Es konnte kein passendes Album Cover heruntergeladen werden." Durchsuche deine Mediathek Favoriten Zuletzt hinzugefügt Verlauf Meine Lieblingstitel - Cover entfernen - Von Last.fm herunterladen Aus lokalem Speicher wählen - Internetsuche Einschlaf Timer Setze Aktuellen Timer abbrechen diff --git a/app/src/main/res/values-el/strings.xml b/app/src/main/res/values-el/strings.xml index 22f9e07f..36448866 100644 --- a/app/src/main/res/values-el/strings.xml +++ b/app/src/main/res/values-el/strings.xml @@ -21,7 +21,6 @@ Προσθήκη στη σειρά τραγουδιών Διαγραφή από την σειρά τραγουδιών Προσθήκη στην λίστα αναπαραγωγής - Επεξεργασία ετικετών Διαγραφή από την συσκευή "Λεπτομέρειες " Μετονομασία @@ -42,8 +41,6 @@ Έτος "Κομμάτι (2 για κομμάτι 2 ή 3004 από CD3 κομμάτι 4)" Στίχοι - Το πεδίο \"Τίτλος\" ή \"Καλλιτέχνης\" είναι άδειο - "Γίνεται αποθήκευση αλλαγών... " Λεπτομέρειες Όνομα αρχείου Διαδρομή αρχείου @@ -137,7 +134,6 @@ Χρώμα χαρακτήρων Το πρωτεύον χρώμα θέματος είναι λουλακί. Το χρώμα των χαρακτήρων του θέματος είναι ροζ. - Ανανέωση εικόνας Άδεια λίστα αναπαραγωγής Καμία λίστα Δεν υπάρχουν άλμπουμ @@ -154,16 +150,12 @@ Χρωματίζει την μπάρα πλοήγησης στο πρωτεύον χρώμα Χρωματίζει τις συντομεύσεις της εφαρμογής στο κυρίως χρώμα. Ειδοποιήσεις, πλοήγηση κ.λπ. - "\u0394\u03b5\u03bd \u03ae\u03c4\u03b1\u03bd \u03b4\u03c5\u03bd\u03b1\u03c4\u03ae \u03b7 \u03b5\u03cd\u03c1\u03b5\u03c3\u03b7 \u03ba\u03b1\u03b9 \u03b7 \u03bb\u03ae\u03c8\u03b7 \u03b5\u03bd\u03cc\u03c2 \u03b5\u03be\u03ce\u03c6\u03c5\u03bb\u03bb\u03bf\u03c5 \u03c0\u03bf\u03c5 \u03bd\u03b1 \u03c4\u03b1\u03b9\u03c1\u03b9\u03ac\u03b6\u03b5\u03b9." Αναζήτηση στη βιβλιοθήκη... Αγαπημένα Προστέθηκαν τελευταία Ιστορικό Τα κορυφαία κομμάτια μου - Αφαιρέστε το εξώφυλλο - Κατεβάστε από τον Last.fm Επιλέξτε από την μνήμη της συσκευής - Αναζήτηση στο διαδίκτυο Χρονοδιακόπτης ύπνου Ορίστε Ακύρωση τρέχοντος χρονοδιακόπτη diff --git a/app/src/main/res/values-en-rCA/strings.xml b/app/src/main/res/values-en-rCA/strings.xml index 3d7361c4..761e1e44 100644 --- a/app/src/main/res/values-en-rCA/strings.xml +++ b/app/src/main/res/values-en-rCA/strings.xml @@ -21,7 +21,6 @@ Add to playing queue Remove from playing queue Add to playlist… - Tag editor Delete from device Details Rename @@ -41,8 +40,6 @@ Year "Track (2 for track 2 or 3004 for CD3 track 4)" Lyrics - The title or artist is empty. - Saving changes Details File name File path @@ -135,7 +132,6 @@ Accent colour The primary theme color, defaults to indigo. The accent theme color, defaults to pink. - Update image Empty playlist No playlists No albums @@ -154,16 +150,12 @@ Colors the app shortcuts in the primary color. Notifications, navigation etc. Currently only synchronized lyrics in LRC format are supported. Either embedded or as a separate file. - "Couldn\u2019t download a matching album cover." Search your library… Favorites Last added History My top tracks - Remove cover - Download from Last.fm Pick from local storage - Web search Sleep timer Set Cancel current timer diff --git a/app/src/main/res/values-en-rGB/strings.xml b/app/src/main/res/values-en-rGB/strings.xml index efbcf62e..38308c4d 100644 --- a/app/src/main/res/values-en-rGB/strings.xml +++ b/app/src/main/res/values-en-rGB/strings.xml @@ -21,7 +21,6 @@ Add to playing queue Remove from playing queue Add to playlist... - Tag editor Delete from device Details Rename @@ -42,8 +41,6 @@ Year "Track (2 for track 2 or 3004 for CD3 track 4)" Lyrics - The title or artist is empty. - Saving changes Details File name File path @@ -139,7 +136,6 @@ Accent colour The primary theme colour, defaults to indigo. The accent theme colour, defaults to pink. - Update image Empty playlist No playlists No albums @@ -160,16 +156,12 @@ Notifications, navigation etc. Currently only synchronised lyrics in LRC format are supported. Either embedded or as a separate file. Go to the last opened tab on launch - "Couldn\u2019t download a matching album cover." Search your library… Favourites Last added History My top tracks - Remove cover - Download from Last.fm Pick from local storage - Web search Sleep timer Set Cancel current timer diff --git a/app/src/main/res/values-es-rES/strings.xml b/app/src/main/res/values-es-rES/strings.xml index 3a98c49d..6ccd63ab 100644 --- a/app/src/main/res/values-es-rES/strings.xml +++ b/app/src/main/res/values-es-rES/strings.xml @@ -21,7 +21,6 @@ Añadir a cola de reproducción Eliminar de la cola de reproducción Añadir a la lista de reproducción... - Editor de información Eliminar del dispositivo Detalles Renombrar @@ -42,8 +41,6 @@ Año "Pista (2 para pista 2 o 3004 para CD3 pista 4)" Letras - El título o artista está vacío - Guardando cambios... Detalles Nombre del archivo Ubicación del archivo @@ -143,7 +140,6 @@ Color secundario El color principal, índigo por defecto El color de énfasis por defecto es rosa. - Actualizar imagen Lista de reproducción vacía No hay listas de reproducción No hay álbumes @@ -165,16 +161,12 @@ Actualmente sólo se admiten las letras sincronizadas en formato LRC. Tanto si están embebidas como si están en un archivo aparte. Ir a la última pestaña abierta en el lanzamiento Modo aleatorio estará activado cuando se seleccione una nueva lista de canciones - "No se puede descargar una car\u00e1tula de \u00e1lbum que coincida." Buscar en la biblioteca... Favoritos Último agregado Historial de reproducción Canciones más reproducidas - Eliminar carátula - Descargar desde Last.fm Seleccionar de almacenamiento interno - Buscar en Internet Temporizador de apagado Fijar Cancelar temporizador actual diff --git a/app/src/main/res/values-es-rUS/strings.xml b/app/src/main/res/values-es-rUS/strings.xml index 3b1c391a..009681b2 100644 --- a/app/src/main/res/values-es-rUS/strings.xml +++ b/app/src/main/res/values-es-rUS/strings.xml @@ -21,7 +21,6 @@ Agregar a la cola de reproducción Eliminar de la cola de reproducción Agregar a la lista de reproducción... - Editor de etiquetas Eliminar del dispositivo Detalles Renombrar @@ -42,8 +41,6 @@ Año "Pista (2 para pista 2 o 3004 para CD3 pista 4)" Letras - El título o artista está vacío. - Guardando cambios... Detalles Nombre del archivo Ubicación del archivo @@ -140,7 +137,6 @@ Color de énfasis El color principal, índigo por defecto. El color de énfasis, rosa por defecto. - Actualizar imagen Lista de reproducción vacía No hay listas de reproducción No hay álbumes @@ -161,16 +157,12 @@ Notificaciones, navegación, etc. Actualmente sólo se admiten las letras sincronizadas en formato LRC. Ya sea incorporado o como un archivo independiente. Ir a la última pestaña abierta al iniciar - "No se puede descargar una car\u00e1tula de \u00e1lbum coincidente." Buscar en la biblioteca... Favoritos Agregadas recientemente Historial Más reproducidas - Eliminar carátula - Descargar de Last.fm Seleccionar del almacenamiento interno - Buscar en Internet Temporizador de apagado Fijar Cancelar temporizador actual diff --git a/app/src/main/res/values-fi/strings.xml b/app/src/main/res/values-fi/strings.xml index 461664ba..1a7bf08c 100644 --- a/app/src/main/res/values-fi/strings.xml +++ b/app/src/main/res/values-fi/strings.xml @@ -21,7 +21,6 @@ Lisää toistojonoon Poista toistojonosta Lisää soittolistaan... - Tagieditori Poista laitteesta Yksityiskohdat Nimeä uudelleen @@ -42,8 +41,6 @@ Vuosi "Raita" Sanoitukset - Nimi- tai artistikenttä on tyhjä. - Tallennetaan muutokset Yksityiskohdat Tiedostonimi Tiedostopolku @@ -143,7 +140,6 @@ Aksenttiväri Ensisijainen teemaväri, oletuksena indigo. Aksentti teemaväri, oletuksena pinkki. - Päivitä kuva Tyhjä soittolista Ei soittolistoja Ei albumeja @@ -165,16 +161,12 @@ Nykyiseltään sovellus tukee vain LRC-muodossa olevia sanoituksia, joko sulautettuna tai erillisinä tiedostoina. Palauttaa käynnistyessään viimeksi avoinna olleen välilehden. Sekoitus-tila pysyy päällä, kun valitset uuden listan kappaleita - "Ei voitu ladata albumia vastaavaa albumin kantta." Etsi kirjastostasi... Suosikit Viimeksi lisätyt Viimeksi toistettu Eniten kuunnellut - Poista kansi - Lataa Last.fm-sivustolta Valitse paikallisesta muistista - Web-haku Ajastin Aseta Peru tämänhetkinen ajastin diff --git a/app/src/main/res/values-fr/strings.xml b/app/src/main/res/values-fr/strings.xml index ed5f7516..5e434eda 100644 --- a/app/src/main/res/values-fr/strings.xml +++ b/app/src/main/res/values-fr/strings.xml @@ -21,7 +21,6 @@ Ajouter à la liste de lecture Retirer de la liste de lecture Ajouter à la playlist... - Éditeur d\'informations Supprimer de l\'appareil Détails Renommer @@ -42,8 +41,6 @@ Année "Piste (2 pour piste 2 ou 3004 pour CD3 piste 4)" Paroles - Le champ \"titre\" ou \"artiste\" est vide. - Sauvegarde des modifications Détails Nom du fichier Chemin du fichier @@ -140,7 +137,6 @@ Couleur secondaire La couleur principale du thème (indigo par défaut) La couleur secondaire du thème (rose par défaut) - Actualiser l\'image Liste de lecture vide Aucune playlist Aucun album @@ -161,16 +157,12 @@ Notifications, navigation, etc. Pour le moment seul les paroles synchronisées en format LRC sont supportées. Aussi bien en fichier intégré ou en fichier séparé. Aller à la dernière catégorie ouverte lors du lancement - "Impossible de t\u00e9l\u00e9charger la pochette correspondant \u00e0 l'album." Recherche dans votre bibliothèque... Favoris Derniers ajouts Titres écoutés récemment Mes meilleurs titres - Supprimer la pochette - Télécharger depuis Last.fm Sélectionner depuis le stockage - Recherche internet Minuteur sommeil Définir Annuler le minuteur actuel diff --git a/app/src/main/res/values-he/strings.xml b/app/src/main/res/values-he/strings.xml index 8a7c4a47..bdb68adf 100644 --- a/app/src/main/res/values-he/strings.xml +++ b/app/src/main/res/values-he/strings.xml @@ -21,7 +21,6 @@ הוספה לתור ההשמעה הסרה מתור ההשמעה הוסף לרשימת השמעה... - עריכת תווית מחק מהמכשיר פרטים שנה שם @@ -42,8 +41,6 @@ שנה "שיר (2 בשביל שיר 2 או 3004 בשביל דיסק 3 שיר 4)" מילים - הכותרת או האמן ריקים. - שומר שינויים פרטים שם הקובץ מיקום הקובץ @@ -140,7 +137,6 @@ צבע הדגשה צבע הנושא העיקרי, ברירת המחדל הוא אינדיגו. צבע ההדגשה של ערכת הנושא, ברירת המחדל הוא ורוד. - עדכון תמונה רשימת השמעה ריקה אין רשימות השמעה אין אלבומים @@ -161,16 +157,12 @@ התראות, ניווט וכו\' כרגע מסכרן מילות שירים רק בפורמט LRC. מילות שרים מוטבעות או בקובץ נפרד. עבור לכרטיסייה האחרונה שהייתה פתוחה בהפעלה - "\u05dc\u05d0 \u05e0\u05d9\u05ea\u05df \u05dc\u05d4\u05d5\u05e8\u05d9\u05d3 \u05ea\u05de\u05d5\u05e0\u05ea \u05d0\u05dc\u05d1\u05d5\u05dd \u05de\u05ea\u05d0\u05d9\u05de\u05d4." חפש בספרייה שלך... מועדפים נוספו לאחרונה היסטוריה השירים המובילים שלי - הסרת עטיפה - הורדה מ-Last.fm בחר מאחסון מקומי - חיפוש באינטרנט טיימר לשינה קבע בטל טיימר נוכחי diff --git a/app/src/main/res/values-hr/strings.xml b/app/src/main/res/values-hr/strings.xml index 65fd321d..e8d5ae79 100644 --- a/app/src/main/res/values-hr/strings.xml +++ b/app/src/main/res/values-hr/strings.xml @@ -21,7 +21,6 @@ Dodaj u red čekanja Ukloni iz reda čekanja Dodaj na popis naslova... - Uređivač oznaka Izbriši s uređaja Detalji Preimenuj @@ -42,8 +41,6 @@ Godina "Redni broj (2 za pjesmu broj 2 ili 3004 za CD3 pjesmu broj 4)" Stihovi - Polje za naziv ili izvođača je prazno. - Spremanje promjena Detalji Naziv datoteke Odredište datoteke @@ -140,7 +137,6 @@ Naglašena boja Primarna boja teme, zadana je indigo plava. Naglašena boja teme, zadana je roza. - Ažuriraj sliku Prazan popis naslova Nema popisa naslova Nema albuma @@ -161,16 +157,12 @@ Obavijesti, navigacija itd. Trenutno su samo sinkronizirani stihovi u LRC formatu podržani. Ili ugrađeni ili u zasebnoj datoteci. Pri pokretanju otvori zadnje otvorenu karticu - "Nije mogu\u0107e preuzeti odgovaraju\u0107i omot albuma." Pretražite svoju biblioteku... Favoriti Posljednje dodano Povijest Najslušanije - Ukloni omot - Skini s lokacije Last.fm Odaberi s pohrane uređaja - Web pretraga Tajmer za spavanje Postavi Otkaži trenutni tajmer diff --git a/app/src/main/res/values-hu/strings.xml b/app/src/main/res/values-hu/strings.xml index 017fec1a..e6b30040 100644 --- a/app/src/main/res/values-hu/strings.xml +++ b/app/src/main/res/values-hu/strings.xml @@ -21,7 +21,6 @@ Hozzáadás a lejátszási sorhoz Eltávolítás a lejátszási sorból Hozzáadás a lejátszási listához... - Címkeszerkesztő Törlés az eszközről Részletek Átnevezés @@ -42,8 +41,6 @@ Év "Dal sorszáma az albumban" Dalszöveg - A cím vagy az előadó üres. - Változások mentése Részletek Fájlnév Útvonal @@ -140,7 +137,6 @@ Másodlagos szín Az elsődleges szín, alapértelmezetten indigó. A másodlagos szín, alapértelmezetten rózsaszín. - Kép frissítése Üres lejátszási lista Nincsenek lejátszási listák Nincsenek albumok @@ -161,16 +157,12 @@ Beérkező értesítéskor a lejátszás hangereje lecsökken, majd az értesítés végén visszaáll az eredeti hangerőre. Jelenleg csak az LRC formátumban szinkronizált szövegeket támogatják. Beágyazott vagy külön fájlként. Menjen az utolsó megnyitott fülre az indításkor - "Nem siker\u00fclt let\u00f6lteni a megfelel\u0151 albumbor\u00edt\u00f3t." Keresés a könyvtárban... Kedvencek Legfrissebb dalok Előzmények Toplista - Borító eltávolítása - Letöltés a Last.fm-ről Kiválasztás az eszközről - Internetes keresés Elalvás időzítő Beállítás Az aktuális időzítő törlése diff --git a/app/src/main/res/values-id/strings.xml b/app/src/main/res/values-id/strings.xml index dc5f6366..ca3556c8 100644 --- a/app/src/main/res/values-id/strings.xml +++ b/app/src/main/res/values-id/strings.xml @@ -21,7 +21,6 @@ Tambahkan ke antrean putar Hapus dari antrian Tambahkan ke daftar putar... - Ubah label Hapus dari perangkat Rincian Ganti Nama @@ -42,8 +41,6 @@ Tahun "Trek (2 untuk trek ke-2 atau 3004 untuk CD3 trek ke-4)" Lirik - Judul atau artis kosong. - Menyimpan perubahan Rincian Nama berkas Lokasi berkas @@ -143,7 +140,6 @@ Warna aksen Warna tema utama, distandarkan ke biru tua. Warna aksen tema, distandarkan ke merah muda. - Perbaharui gambar Daftar putar kosong Tidak ada daftar putar Tidak ada album @@ -165,16 +161,12 @@ Saat ini hanya mendukung lirik dalam format LRC yang disinkronkan. Antara tertanam atau sebagai file terpisah. Pergi ke tab yang terakhir saat aplikasi dibuka Mode putar acak akan tetap aktif saat memilih daftar lagu baru - "Tidak dapat mengunduh sampul album yang cocok." Mencari pustaka Anda... Favorit Terakhir ditambahkan Diputar baru-baru ini Sering Diputar - Hapus sampul - Unduh dari Last.fm Ambil dari penyimpanan lokal - Pencarian web Pewaktu tidur Atur Batalkan pewaktu yang sekarang diff --git a/app/src/main/res/values-in/strings.xml b/app/src/main/res/values-in/strings.xml index dc5f6366..ca3556c8 100644 --- a/app/src/main/res/values-in/strings.xml +++ b/app/src/main/res/values-in/strings.xml @@ -21,7 +21,6 @@ Tambahkan ke antrean putar Hapus dari antrian Tambahkan ke daftar putar... - Ubah label Hapus dari perangkat Rincian Ganti Nama @@ -42,8 +41,6 @@ Tahun "Trek (2 untuk trek ke-2 atau 3004 untuk CD3 trek ke-4)" Lirik - Judul atau artis kosong. - Menyimpan perubahan Rincian Nama berkas Lokasi berkas @@ -143,7 +140,6 @@ Warna aksen Warna tema utama, distandarkan ke biru tua. Warna aksen tema, distandarkan ke merah muda. - Perbaharui gambar Daftar putar kosong Tidak ada daftar putar Tidak ada album @@ -165,16 +161,12 @@ Saat ini hanya mendukung lirik dalam format LRC yang disinkronkan. Antara tertanam atau sebagai file terpisah. Pergi ke tab yang terakhir saat aplikasi dibuka Mode putar acak akan tetap aktif saat memilih daftar lagu baru - "Tidak dapat mengunduh sampul album yang cocok." Mencari pustaka Anda... Favorit Terakhir ditambahkan Diputar baru-baru ini Sering Diputar - Hapus sampul - Unduh dari Last.fm Ambil dari penyimpanan lokal - Pencarian web Pewaktu tidur Atur Batalkan pewaktu yang sekarang diff --git a/app/src/main/res/values-it/strings.xml b/app/src/main/res/values-it/strings.xml index bbe9ca8e..14a49a61 100644 --- a/app/src/main/res/values-it/strings.xml +++ b/app/src/main/res/values-it/strings.xml @@ -21,7 +21,6 @@ Aggiungi alla coda di riproduzione Rimuovi dalla coda di riproduzione Aggiungi alla playlist... - Modifica tag Elimina dal dispositivo Dettagli Rinomina @@ -42,8 +41,6 @@ Anno "Traccia (2 per traccia 2, o 3004 per CD3 traccia 4)" Testi - Il titolo o l\'artista sono vuoti. - Salvando le modifiche Dettagli Nome file Percorso file @@ -143,7 +140,6 @@ Colore secondario Colore principale, predefinito impostato su indaco. Colore secondario, predefinito impostato su rosa - Aggiorna immagine Playlist vuota Nessuna playlist Nessun album @@ -165,16 +161,12 @@ Attualmente solo i testi sincronizzati in formato LRC sono supportati. Sia integrati o come file separati. All\'avvio vai all\'ultima scheda aperta La modalità casuale rimarrà attiva quando si seleziona un nuovo elenco di brani - "Impossibile scaricare una copertina adatta." Cercando nella tua libreria... Preferiti Aggiunti di recente Ascoltati di recente Brani preferiti - Rimuovi copertina - Scarica da Last.fm Scegli dai tuoi file. - Cerca sul web Timer di spegnimento Imposta Annulla questo timer diff --git a/app/src/main/res/values-iw/strings.xml b/app/src/main/res/values-iw/strings.xml index 8a7c4a47..bdb68adf 100644 --- a/app/src/main/res/values-iw/strings.xml +++ b/app/src/main/res/values-iw/strings.xml @@ -21,7 +21,6 @@ הוספה לתור ההשמעה הסרה מתור ההשמעה הוסף לרשימת השמעה... - עריכת תווית מחק מהמכשיר פרטים שנה שם @@ -42,8 +41,6 @@ שנה "שיר (2 בשביל שיר 2 או 3004 בשביל דיסק 3 שיר 4)" מילים - הכותרת או האמן ריקים. - שומר שינויים פרטים שם הקובץ מיקום הקובץ @@ -140,7 +137,6 @@ צבע הדגשה צבע הנושא העיקרי, ברירת המחדל הוא אינדיגו. צבע ההדגשה של ערכת הנושא, ברירת המחדל הוא ורוד. - עדכון תמונה רשימת השמעה ריקה אין רשימות השמעה אין אלבומים @@ -161,16 +157,12 @@ התראות, ניווט וכו\' כרגע מסכרן מילות שירים רק בפורמט LRC. מילות שרים מוטבעות או בקובץ נפרד. עבור לכרטיסייה האחרונה שהייתה פתוחה בהפעלה - "\u05dc\u05d0 \u05e0\u05d9\u05ea\u05df \u05dc\u05d4\u05d5\u05e8\u05d9\u05d3 \u05ea\u05de\u05d5\u05e0\u05ea \u05d0\u05dc\u05d1\u05d5\u05dd \u05de\u05ea\u05d0\u05d9\u05de\u05d4." חפש בספרייה שלך... מועדפים נוספו לאחרונה היסטוריה השירים המובילים שלי - הסרת עטיפה - הורדה מ-Last.fm בחר מאחסון מקומי - חיפוש באינטרנט טיימר לשינה קבע בטל טיימר נוכחי diff --git a/app/src/main/res/values-ja/strings.xml b/app/src/main/res/values-ja/strings.xml index a271e545..98d7582f 100644 --- a/app/src/main/res/values-ja/strings.xml +++ b/app/src/main/res/values-ja/strings.xml @@ -21,7 +21,6 @@ 再生キューに追加 再生キューから除去 プレイリストに追加… - タグの編集 端末から削除 詳細情報 名前の変更 @@ -42,8 +41,6 @@ "トラック (例: '2'ならトラック2, '3004'ならCD3のトラック4)" 歌詞 - アルバム名またはアルバムアーティストの欄が空白です - 変更を保存しています 詳細情報 ファイル名 パス @@ -140,7 +137,6 @@ アクセントカラー ツールバーなどの色を設定します。(デフォルトではインディゴ) コントロールキーやシークバーなどの色を設定します。(デフォルトではピンク) - アルバムアートを更新 空のプレイリスト プレイリストなし アルバムなし @@ -161,16 +157,12 @@ 通知やナビなどです。 現時点では LRC 形式の同期歌詞のみに対応しています。埋め込みと別ファイルのどちらにも対応しています。 アプリ起動時に最後に開いていたタブを開く - "\u6700\u9069\u306a\u30a2\u30eb\u30d0\u30e0\u30a2\u30fc\u30c8\u304c\u898b\u3064\u304b\u308a\u307e\u305b\u3093\u3067\u3057\u305f" ライブラリ内を検索… お気に入り 最近追加された曲 履歴 よく聞く曲 - アルバムアートを除去 - Last.fmからダウンロード ローカルストレージから選択 - ウェブで検索 スリープタイマー セット スリープタイマーを解除 diff --git a/app/src/main/res/values-ko/strings.xml b/app/src/main/res/values-ko/strings.xml index 4c00a448..82e93186 100644 --- a/app/src/main/res/values-ko/strings.xml +++ b/app/src/main/res/values-ko/strings.xml @@ -21,7 +21,6 @@ 재생 대기열에 추가 재생 대기열에서 제거 재생 목록에 추가... - 태그 편집기 파일 삭제 세부 정보 이름 변경 @@ -42,8 +41,6 @@ 연도 "트랙 (트랙 2는 2, CD 3의 트랙 4는 3004로 입력)" 가사 - 제목이나 아티스트 란이 비었습니다. - 변경 사항 저장 중... 세부 정보 파일 이름 파일 경로 @@ -140,7 +137,6 @@ 강조 색상 테마의 주 색상입니다. 기본값은 인디고색입니다. 테마의 강조 색상입니다. 기본값은 분홍색입니다. - 이미지 갱신 빈 재생 목록 재생 목록 없음 앨범 없음 @@ -163,16 +159,12 @@ 알림 소리, 버튼음 등 현재는 임베딩 또는 별개로 저장된 LRC 형식의 동기화된 자막 파일만 지원합니다. 마지막으로 연 탭으로 시작 - "\uc77c\uce58\ud558\ub294 \uc568\ubc94 \ucee4\ubc84\ub97c \ucc3e\uc744 \uc218 \uc5c6\uc2b5\ub2c8\ub2e4." 저장소 검색... 즐겨찾기 최근 추가됨 재생 기록 많이 재생한 트랙 - 앨범 커버 제거 - Last.fm에서 다운로드 내부 저장소에서 선택 - 웹 검색 수면 타이머 설정 현재 타이머 취소 diff --git a/app/src/main/res/values-nl/strings.xml b/app/src/main/res/values-nl/strings.xml index eec80982..18cd15cb 100644 --- a/app/src/main/res/values-nl/strings.xml +++ b/app/src/main/res/values-nl/strings.xml @@ -21,7 +21,6 @@ Toevoegen aan afspeelwachtrij Verwijderen uit afspeelwachtrij Toevoegen aan afspeellijst… - Label bewerker Verwijderen van apparaat Details Hernoemen @@ -42,8 +41,6 @@ Jaar "Nummer (2 voor nr. 2, of 3004 voor CD3 nr. 4)" Songteksten - De titel of artiest is leeg. - Wijzigingen opslaan Details Bestandsnaam Bestandspad @@ -140,7 +137,6 @@ Accentkleur De primaire themakleur, standaard indigo. De thema accentkleur, standaard roze. - Afbeelding bijwerken Lege afspeellijst Geen afspeellijsten Geen albums @@ -161,16 +157,12 @@ Notificaties, navigatie, etc. Momenteel worden gesynchr. songteksten alleen ondersteund in LRC-formaat. Of ingebed, of als separaat bestand. Ga naar het laatst geopende tabblad bij opstarten - "Kan geen bijpassende albumhoes downloaden." Zoek in je bibliotheek… Favorieten Laatst toegevoegd Geschiedenis Mijn top nummers - Verwijder albumhoes - Download van last.fm Kies uit lokale opslag - Zoek op het web Slaaptimer Zet Annuleer huidige timer diff --git a/app/src/main/res/values-nn/strings.xml b/app/src/main/res/values-nn/strings.xml index 36a3cb9c..c6058e41 100644 --- a/app/src/main/res/values-nn/strings.xml +++ b/app/src/main/res/values-nn/strings.xml @@ -7,7 +7,6 @@ Legg til i køen Fjern frå køen Legg til i speleliste ... - Tag Editor Detaljar Album Artistar @@ -21,8 +20,6 @@ Albumartist År "Spor (2 for spor 2 eller 3004 for CD3 spor 4)" - Tekstfeltet for albumtittel eller albumartist er tomt. - Lagrar endringar... Detaljar Filnamn Sti til fil @@ -71,7 +68,6 @@ Fokusfarge Primær temafarge, standard er indigo. Fokustemafarge, standard er rosa. - Oppdater bilete Spelelista er tom Ingen spelelister Song diff --git a/app/src/main/res/values-pl/strings.xml b/app/src/main/res/values-pl/strings.xml index 9d010017..42ad859d 100644 --- a/app/src/main/res/values-pl/strings.xml +++ b/app/src/main/res/values-pl/strings.xml @@ -21,7 +21,6 @@ Dodaj do kolejki odtwarzania Usuń z kolejki odtwarzania Dodaj do listy odtwarzania... - Edytor tagów Usuń z urządzenia Szczegóły Zmień nazwę @@ -42,8 +41,6 @@ Rok "Numer utworu (2 dla utworu 2 lub 3004 dla CD3 utworu 4)" Tekst - Pole tytułu lub artysty jest puste - Zapisywanie zmian... Szczegóły Nazwa pliku Ścieżka pliku @@ -140,7 +137,6 @@ Kolor dodatków Główny kolor motywu, domyślnie indygo Kolor akcentów motywu, domyślnie różowy - Zmiana obrazu Lista odtwarzania jest pusta Brak list odtwarzania Brak albumów @@ -161,16 +157,12 @@ Notyfikacje, nawigacja, itp. Obecnie wspierane są tylko napisy w formacie LRC oraz te osadzone w osobnym pliku. Idź do ostatniej otwartej zakładki przy starcie - "Nie uda\u0142o si\u0119 pobra\u0107 pasuj\u0105cej ok\u0142adki albumu" Szukaj w bibliotece... Ulubione Ostatnio dodane Historia odtwarzania Moja Top Lista - Usuń okładkę - Pobierz z last.fm Wybierz z pamięci lokalnej - Wyszukaj w sieci Wyłącznik czasowy Ustaw Anuluj wyłącznik diff --git a/app/src/main/res/values-pt-rBR/strings.xml b/app/src/main/res/values-pt-rBR/strings.xml index 51aaa967..42a21bb5 100644 --- a/app/src/main/res/values-pt-rBR/strings.xml +++ b/app/src/main/res/values-pt-rBR/strings.xml @@ -21,7 +21,6 @@ Adicionar à fila de reprodução Remover da fila de reprodução Adicionar à lista de reprodução... - Editor de Tag Excluir do dispositivo Detalhes Renomear @@ -42,8 +41,6 @@ Ano "Música (2 para a música 2 ou 3004 para a música 4 do CD3)" Letra - O título ou artista está vazio. - Salvando alterações Detalhes Nome do arquivo Endereço do arquivo @@ -143,7 +140,6 @@ Cor dos detalhes A cor do tema principal, o padrão é índigo. A cor dos detalhes do tema, o padrão é rosa. - Atualizar imagem Esta lista está vazia Nenhuma playlist Nenhum Álbum @@ -165,16 +161,12 @@ Atualmente damos suporte apenas a letras de música no formato LRC. Tanto as encorporadas quanto as anexadas por um arquivo separado. Ir para a última aba aberta ao iniciar Modo aleatório continuará ativo quando uma nova lista de músicas for selecionada - "N\u00e3o foi poss\u00edvel baixar uma capa do \u00e1lbum correspondente." Pesquisar na sua biblioteca... Favoritos Última Adição Reproduzidas recentemente Minhas melhores faixas - Remover capa - Baixar do Last.fm Escolher do armazenamento local - Pesquisa na internet Temporizador Definir Cancelar temporizador atual diff --git a/app/src/main/res/values-pt-rPT/strings.xml b/app/src/main/res/values-pt-rPT/strings.xml index bb2c8adf..9b79b97f 100644 --- a/app/src/main/res/values-pt-rPT/strings.xml +++ b/app/src/main/res/values-pt-rPT/strings.xml @@ -18,7 +18,6 @@ Adicionar à fila de reprodução Remover da fila de reprodução Adicionar à lista de reprodução... - Editor de etiquetas Eliminar do dispositivo Detalhes Mudar nome @@ -37,8 +36,6 @@ Artista do álbum Ano "Faixa (2 para faixa 2 ou 3004 para CD3 faixa 4)" - O título do álbum ou o artista está vazio. - A gravar alterações Detalhes Nome do ficheiro Local do ficheiro @@ -116,7 +113,6 @@ Cor de realce Cor de tema primária, predefine para anil. Cor de tema de realce, predefine para cor-de-rosa. - Atualizar imagem Lista de reprodução vazia Sem listas de reprodução Sem álbuns @@ -132,16 +128,12 @@ Pode aumentar a qualidade da capa do album, mas aumenta o tempo de carregamento. Ative isto somente se tiver problemas com capas de baixa resolução. Colorir a barra de navegação na cor primária. Notificações, navegação etc. - "N\u00e3o foi encontrada uma capa para este \u00e1lbum." Procurar na biblioteca... Favoritos Últimas adições Histórico As minhas faixas favoritas - Remover capa - Descarregar do Last.fm Escolher do armazenamento local - Procura web Temporizador para dormir Definir Cancelar temporizador atual diff --git a/app/src/main/res/values-ro/strings.xml b/app/src/main/res/values-ro/strings.xml index 1579f7ad..91ba4328 100644 --- a/app/src/main/res/values-ro/strings.xml +++ b/app/src/main/res/values-ro/strings.xml @@ -21,7 +21,6 @@ Adaugă la lista de redare Șterge din lista de redare Adăugaţi în lista de redare... - Editor etichete Ștergeți de pe dispozitiv Detalii Redenumire @@ -42,8 +41,6 @@ An "Număr (2 pentru melodia a 2-a sau 3004 pentru CD3 melodia a 4-a)" Versuri - Titlul sau artistul lipseste. - Se salvează schimbările Detalii Nume fișier Cale fișier @@ -140,7 +137,6 @@ Culoare de accent Culoarea primară temei, originalul este indigo. Culoarea de accent a temei, originalul este roz. - Actualizare imagine Listă goală Nu sunt liste de redare Nu sunt albume @@ -161,16 +157,12 @@ Notificări, navigație etc. În prezent sunt acceptate numai versurile sincronizate în format LRC. Fie încorporate, fie ca fişier separat. Accesați ultima filă deschisă la lansare - "Nu s-a putut desc\u0103rca o copert\u0103 de album corespunz\u0103toare." Căutați în bibliotecă. Favorite Ultimele adăugate Istoric Melodiile mele favorite - Ștergeți coperta - Descărcați de la Last.fm Alegeți din stocarea locală - Căutare pe Web Cronometru pentru somn Setează Anulează timer curent. diff --git a/app/src/main/res/values-ru/strings.xml b/app/src/main/res/values-ru/strings.xml index f3f65117..b563791c 100644 --- a/app/src/main/res/values-ru/strings.xml +++ b/app/src/main/res/values-ru/strings.xml @@ -21,7 +21,6 @@ Добавить в очередь воспроизведения Удалить из очереди воспроизведения Добавить в плейлист... - Редактор тэгов Удалить с устройства Подробнее Переименовать @@ -42,8 +41,6 @@ Год "Трек (2 для трека 2 или 3004 для трека 4 CD3)" Текст песни - Поля названия альбома или альбом исполнителя пусты. - Сохранение изменений Подробнее Имя файла Расположение @@ -143,7 +140,6 @@ Цвет акцента Основной цвет темы, по умолчанию — индиго. Цвет акцента, по умолчанию — розовый - Обновить изображение Пустой плейлист Нет плейлистов для отображения Нет альбомов для отображения @@ -165,16 +161,12 @@ В настоящее время поддерживаются только синхронизированные тексты в формате LRC. Либо встроенные, либо как отдельный файл. Перейти на последнюю открытую вкладку при запуске Режим перемешивания останется включенным при выборе нового списка песен - "\u041d\u0435 \u0443\u0434\u0430\u043b\u043e\u0441\u044c \u0437\u0430\u0433\u0440\u0443\u0437\u0438\u0442\u044c \u043f\u043e\u0434\u0445\u043e\u0434\u044f\u0449\u0443\u044e \u043e\u0431\u043b\u043e\u0436\u043a\u0443 \u0430\u043b\u044c\u0431\u043e\u043c\u0430." Поиск в библиотеке... Избранное Последние добавленные Недавно воспроизведённые Мои популярные треки - Удалить обложку - Загрузить из Last.fm Выбрать из локального хранилища - Поиск в интернете Таймер сна Установить Отменить текущий таймер diff --git a/app/src/main/res/values-sv/strings.xml b/app/src/main/res/values-sv/strings.xml index 57fa2dc2..783025d8 100644 --- a/app/src/main/res/values-sv/strings.xml +++ b/app/src/main/res/values-sv/strings.xml @@ -18,7 +18,6 @@ Lägg till i uppspelningskön Ta bort från uppspelningskön Lägg till i spellista - Tagredigerare Radera från enhet Detaljer Byt namn @@ -36,8 +35,6 @@ Albumartist År "Spår" - Textfältet för titel eller artist är tomt. - Sparar ändringar ... Detaljer Filnamn Sökväg @@ -78,7 +75,6 @@ Vill du radera %1$d låtar? Radera Döp om Grundfärg - Uppdatera bild Spellistan är tom Inga spellistor Låt diff --git a/app/src/main/res/values-tr/strings.xml b/app/src/main/res/values-tr/strings.xml index 6cde193c..463791b0 100644 --- a/app/src/main/res/values-tr/strings.xml +++ b/app/src/main/res/values-tr/strings.xml @@ -21,7 +21,6 @@ Çalma sırasına ekle Çalma sırasından kaldır Çalma listesine ekle... - Etiket düzenleyici Cihazdan sil Detaylar Yeniden adlandır @@ -42,8 +41,6 @@ Yıl "Parça (2. parça için 2 ya da CD3 4. parça için 3004)" Şarkı sözleri - Albüm başlığı veya albüm sanatçısı bilgisi yok. - Değişiklikler kaydediliyor Ayrıntılar Dosya adı Dosya yolu @@ -140,7 +137,6 @@ Vurgu rengi Varsayılan tema ana rengi mavi. Varsayılan tema vurgu rengi pembe. - Resimleri güncelle Bu çalma listesi boş Çalma listesi yok Albüm yok @@ -161,16 +157,12 @@ Bildirimler, gezinme vb. Şu anda yalnızca LRC formatında senkronize edilmiş sözler desteklenmektedir. Gömülü veya ayrı bir dosya olarak. Başlatıldığında son açılan sekmeye git - "E\u015fle\u015fen bir alb\u00fcm kapa\u011f\u0131 indirilemedi." Kitaplığınız taranıyor... Favoriler Son eklenen Geçmiş En iyi parçalarım - Albüm kapağını kaldır - Last.fm den İndir Dahili hafızadan al - İnternette ara Uyku zamanlayıcı Ayarla Şu anki zamanlayıcıyı iptal et diff --git a/app/src/main/res/values-uk/strings.xml b/app/src/main/res/values-uk/strings.xml index 0ddeaca6..a9be571e 100644 --- a/app/src/main/res/values-uk/strings.xml +++ b/app/src/main/res/values-uk/strings.xml @@ -21,7 +21,6 @@ Додати до черги відтворення Видалити з черги відтворення Додати до списку відтворення... - Редактор тегів Видалити з пристрою Подробиці Перейменувати @@ -42,8 +41,6 @@ Рік "Доріжка (2 для доріжки 2 або 3004 для CD3 доріжки 4)" Текст пісні - Назва або виконавець відсутні. - Збереження змін Подробиці Назва файлу Шлях до файлу @@ -139,7 +136,6 @@ Колір підкреслення Основний колір теми, стандартно синій. Акцентований колір теми, стандартно рожевий. - Оновити зображення Порожній список відтворення Немає списків відтворення Немає альбомів @@ -160,16 +156,12 @@ Повiдомлення, навiгацiя, т.д. Наразі підтримується тільки синхронізований текст у форматі LCR як вбудований або окремий файл. Перейдіть до останньої відкритої вкладки, щоб запустити - "\u041d\u0435 \u0432\u0434\u0430\u043b\u043e\u0441\u044f \u0437\u0430\u0432\u0430\u043d\u0442\u0430\u0436\u0438\u0442\u0438 \u0432\u0456\u0434\u043f\u043e\u0432\u0456\u0434\u043d\u0443 \u043e\u0431\u043a\u043b\u0430\u0434\u0438\u043d\u043a\u0443 \u0430\u043b\u044c\u0431\u043e\u043c\u0443." Пошук бібліотеки... Улюблені Останні додані Історія Мої популярні треки - Видалити обкладинку - Завантажити з Last.fm Вибрати з локального сховища - Шукати в інтернеті Таймер сну Встановити Скасувати встановленний таймер diff --git a/app/src/main/res/values-vi/strings.xml b/app/src/main/res/values-vi/strings.xml index 57f774f5..9880b5f9 100644 --- a/app/src/main/res/values-vi/strings.xml +++ b/app/src/main/res/values-vi/strings.xml @@ -21,7 +21,6 @@ Thêm vào danh sách phát Xóa khỏi hàng đợi phât Thêm vào danh sách nhạc... - Chỉnh sửa thẻ Xóa từ thiết bị Chi tiết Đổi tên @@ -41,8 +40,6 @@ Năm "Số thứ tự (ghi 2 nếu là bài thứ 2 hoặc ghi 3004 nếu là CD 3, bài thứ 4)" Lời bài hát - Tiêu đề hoặc nghệ sĩ rỗng. - Đang lưu thay đổi Chi tiết Tên tập tin Đường dẫn tập tin @@ -134,7 +131,6 @@ Màu phụ Màu sắc chính, mặc định là màu chàm. Màu sắc chủ đề, mặc định là màu hồng. - Cập nhật hình ảnh Danh sách nhạc trống Không có danh sách nhạc Không có album @@ -153,16 +149,12 @@ Màu sắc chủ đạo của biểu tượng ứng dụng. Thông báo, điều hướng, vv. Hiện tại chỉ được đồng bộ lời bài hát ở định dạng LRC. Nhúng hoặc là một tập tin riêng biệt. - "Kh\u00f4ng th\u1ec3 t\u1ea3i v\u1ec1 b\u00eca album ph\u00f9 h\u1ee3p." Tìm kiếm thư viện của bạn... Yêu thích Được thêm sau cùng Lịch sử Bài hát hàng đầu - Di chuyển bìa - Tải về từ Last.fm Chọn từ bộ nhớ máy - Tìm kiếm trên Web Hẹn giờ ngủ Đặt Hủy hẹn giờ hiện tại diff --git a/app/src/main/res/values-zh-rCN/strings.xml b/app/src/main/res/values-zh-rCN/strings.xml index b622af17..70138622 100644 --- a/app/src/main/res/values-zh-rCN/strings.xml +++ b/app/src/main/res/values-zh-rCN/strings.xml @@ -21,7 +21,6 @@ 加入播放队列 从播放队列中移除 加入播放列表... - 音乐标签编辑器 从设备中删除 详情 重命名 @@ -42,8 +41,6 @@ 年份 "音轨(如用 2 表示第 2 首歌或用 3004 表示 CD3 里的第 4 首歌)" 歌词 - 标题或艺术家名称为空。 - 正在保存更改 详情 文件名 文件路径 @@ -142,7 +139,6 @@ 强调色 主题主色调,默认为靛蓝色。 主题强调色,默认为粉色。 - 更新图片 播放列表为空 没有播放列表 没有专辑 @@ -163,16 +159,12 @@ 通知、导航等 当前仅支持 LRC 格式同步歌词。内嵌或外置均可。 启动时跳转到最后打开页面 - "\u65e0\u6cd5\u4e0b\u8f7d\u5230\u5339\u914d\u7684\u4e13\u8f91\u5c01\u9762\u3002" 正在扫描 收藏夹 最近添加 播放历史 最喜爱的歌曲 - 移除专辑封面 - 从 Last.fm 上下载 从本地储存中选取 - 在网络上搜索 睡眠定时器 设置 取消当前定时器 diff --git a/app/src/main/res/values-zh-rTW/strings.xml b/app/src/main/res/values-zh-rTW/strings.xml index e09203c4..52ba6761 100644 --- a/app/src/main/res/values-zh-rTW/strings.xml +++ b/app/src/main/res/values-zh-rTW/strings.xml @@ -21,7 +21,6 @@ 加入播放佇列 從播放佇列中移除 加入播放清單... - 編輯音樂資訊 刪除 詳細資訊 "重新命名 @@ -43,8 +42,6 @@ 年代 "音軌(用2表示第2首歌或3004表示CD3的第4首歌)" 歌詞 - 專輯名稱或演出者欄是空的 - 正在儲存變更… 詳細資訊 檔案名稱 檔案路徑 @@ -144,7 +141,6 @@ 重點色調 主色調,預設為靛青色。 重點色調,預設為粉紅色。 - 更新圖片 播放清單是空的 沒有播放清單 沒有專輯 @@ -166,16 +162,12 @@ 目前僅支援 LRC 格式歌詞。內嵌或外掛皆可。 開啟時顯示最後使用的頁面 當選擇新歌曲列表時維持隨機播放模式 - "\u7121\u6cd5\u4e0b\u8f09\u5408\u9069\u7684\u5c08\u8f2f\u5c01\u9762\u3002" 搜尋音樂庫… 最愛 最後新增 最近播放 我的最佳單曲 - 移除封面 - 從 Last.fm 下載 從手機裡選擇(SD卡或記憶體) - 網路搜尋 睡眠定時器 設定 取消目前的計時器 diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index 22f89004..48f8108c 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -21,7 +21,6 @@ Add to playing queue Remove from playing queue Add to playlist… - Tag editor Delete from device Details Rename @@ -42,8 +41,6 @@ Year "Track (2 for track 2 or 3004 for CD3 track 4)" Lyrics - The title or artist is empty. - Saving changes Details File name File path @@ -143,7 +140,6 @@ Accent color The primary theme color, defaults to indigo. The accent theme color, defaults to pink. - Update image Empty playlist No playlists No albums @@ -165,16 +161,12 @@ Currently only synchronized lyrics in LRC format are supported. Either embedded or as a separate file. Go to the last opened tab on launch Shuffle mode will stay on when selecting a new list of songs - "Couldn\u2019t download a matching album cover." Search your library… Favorites Last added Recently played My top tracks - Remove cover - Download from Last.fm Pick from local storage - Web search Sleep timer Set Cancel current timer