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 super BitmapPaletteWrapper> 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 super BitmapPaletteWrapper> 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