[music] translate all strings

This commit is contained in:
Erik Kiznov
2022-09-18 13:54:55 +05:00
parent 4cf7422997
commit c3a17ca4ca
9 changed files with 104 additions and 35 deletions
@@ -1,6 +1,7 @@
package ru.vtosters.lite.downloaders;
import static ru.vtosters.lite.music.cache.FileCacheImplementation.getTrackFolder;
import static ru.vtosters.lite.utils.AndroidUtils.getString;
import android.app.Notification;
import android.os.Build;
@@ -68,7 +69,7 @@ public class AudioDownloader {
private static void downloadM3U8(MusicTrack track, boolean cache) {
if (track.D == null) {
ToastUtils.a(AndroidUtils.getString("link_audio_error"));
ToastUtils.a(getString("link_audio_error"));
return;
}
@@ -104,7 +105,7 @@ public class AudioDownloader {
public void onSuccess() {
try {
notification
.setContentText(AndroidUtils.getString("player_download_finished"))
.setContentText(getString("player_download_finished"))
.setProgress(0, 0, false)
.setSmallIcon(android.R.drawable.stat_sys_download_done);
notificationManager.notify(notificationId, notification.build());
@@ -117,7 +118,7 @@ public class AudioDownloader {
@Override
public void onFailure() {
notification.setContentText(AndroidUtils.getString("load_audio_error")).setProgress(0, 0, false);
notification.setContentText(getString("load_audio_error")).setProgress(0, 0, false);
notificationManager.notify(notificationId, notification.build());
}
@@ -194,7 +195,7 @@ public class AudioDownloader {
builder.setSmallIcon(com.vtosters.lite.R.drawable.ic_download_outline_28)
.setShowWhen(false)
.setContentTitle("Закешированный трек: " + track.toString());
.setContentTitle(getString("cached_track") + ": " + track.toString());
NotificationChannels.getNotificationManager().notify(track.y1().hashCode(), builder.build());
}
@@ -202,7 +203,7 @@ public class AudioDownloader {
private static NotificationCompat.Builder buildDownloadNotification(MusicTrack track, int id) {
var notificationBuilder = new NotificationCompat.Builder(AndroidUtils.getGlobalContext(), NotificationChannels.MUSIC_DOWNLOAD_CHANNEL_ID)
.setSmallIcon(android.R.drawable.stat_sys_download)
.setContentTitle(AndroidUtils.getString("audio_downloading"))
.setContentTitle(getString("audio_downloading"))
.setContentText(track.toString())
.setPriority(NotificationCompat.PRIORITY_LOW)
.setCategory(NotificationCompat.CATEGORY_PROGRESS)
@@ -215,7 +216,7 @@ public class AudioDownloader {
private static NotificationCompat.Builder buildPlaylistDownloadNotification(String playlistName, int id) {
var notificationBuilder = new NotificationCompat.Builder(AndroidUtils.getGlobalContext(), NotificationChannels.MUSIC_PLAYLIST_DOWNLOAD_CHANNEL_ID)
.setSmallIcon(android.R.drawable.stat_sys_download)
.setContentTitle("Загрузка плейлиста " + '«' + playlistName + '»')
.setContentTitle(getString("cached_playlist_loading") + " «" + playlistName + "»")
.setContentText(playlistName)
.setPriority(NotificationCompat.PRIORITY_LOW)
.setCategory(NotificationCompat.CATEGORY_PROGRESS)
@@ -1,5 +1,7 @@
package ru.vtosters.lite.downloaders.notifications;
import static ru.vtosters.lite.utils.AndroidUtils.getString;
import android.app.Notification;
import android.app.NotificationChannel;
import android.app.NotificationManager;
@@ -12,14 +14,14 @@ import ru.vtosters.lite.utils.AndroidUtils;
public class NotificationChannels {
public static final String MUSIC_DOWNLOAD_CHANNEL_ID = "music_download_channel";
public static final String MUSIC_DOWNLOAD_CHANNEL_NAME = "Загрузка музыки";
public static final String MUSIC_DOWNLOAD_CHANNEL_DESCRIPTION = "Прогресс загрузки музыки";
public static final String MUSIC_DOWNLOAD_CHANNEL_NAME = getString("music_downloading");
public static final String MUSIC_DOWNLOAD_CHANNEL_DESCRIPTION = getString("music_downloading_progress");
public static final String MUSIC_PLAYLIST_DOWNLOAD_CHANNEL_ID = "music_playlist_download_channel";
public static final String MUSIC_PLAYLIST_DOWNLOAD_CHANNEL_NAME = "Загрузка плейлиста";
public static final String MUSIC_PLAYLIST_DOWNLOAD_CHANNEL_DESCRIPTION = "Прогресс загрузки плейлиста";
public static final String MUSIC_PLAYLIST_DOWNLOAD_CHANNEL_NAME = getString("playlist_downloading");
public static final String MUSIC_PLAYLIST_DOWNLOAD_CHANNEL_DESCRIPTION = getString("playlist_downloading_progress");
public static final String MUSIC_CACHING_NAME = "Кеширование трека / Обложки";
public static final String MUSIC_CACHING_NAME = getString("caching_track_or_pic");
private static NotificationManagerCompat notificationManagerCompat;
@@ -83,14 +83,14 @@ public class CacheDatabaseDelegate {
getHelper().getReadableDatabase().execSQL(formula);
} catch (Exception e) {
e.printStackTrace();
ToastUtils.a("Ошибка при записи трека в БД! [" + e.getMessage() + "]", true);
ToastUtils.a(getString("track_bd_insert_err") + " [" + e.getMessage() + "]", true);
}
}
public static void clear() {
getHelper().getReadableDatabase().execSQL(String.format("DELETE FROM %s", TABLE_NAME));
deleteRecursive(getCacheDir());
sendToast("Кешированные песни удалены");
sendToast(getString("cached_tracks_deleted"));
}
@NonNull
@@ -1,5 +1,7 @@
package ru.vtosters.lite.music.cache.helpers;
import static ru.vtosters.lite.utils.AndroidUtils.getString;
import com.vk.dto.music.Playlist;
import org.json.JSONArray;
@@ -22,9 +24,8 @@ public class PlaylistHelper {
.put("owner_id", AccountManagerUtils.getUserId())
.put("type", 0)
.put("album_type", "playlist")
.put("title", "Кешированные треки")
.put("description", "Это - список всех кешированных треков. Данный плейлист НЕ СУЩЕСТВУЕТ в вашем профиле.\n\n" +
"При отсутствии соединения с Интернетом данный плейлист превратится в обычный список треков.")
.put("title", getString("cached_tracks_title"))
.put("description", getString("cached_tracks_desc"))
.put("count", 0);
return new Playlist(obj);
} catch (JSONException e) {
@@ -60,7 +61,7 @@ public class PlaylistHelper {
.put("type", 1)
.put("album_type", "main_only")
.put("title", title)
.put("description", albumId + "/ Это кешированный альбом!")
.put("description", albumId + "/ " + getString("cached_album_warning"))
.put("main_artists", new JSONArray()
.put(new JSONObject().put("name", artist)
.put("id", "-1")
@@ -1,6 +1,7 @@
package ru.vtosters.lite.music.cache.injectors;
import static ru.vtosters.lite.music.cache.CacheDatabaseDelegate.hasTracks;
import static ru.vtosters.lite.utils.AndroidUtils.getString;
import android.util.Log;
@@ -68,7 +69,7 @@ public class TracklistInjector {
}
private static JSONObject getEmptyCatalog() throws JSONException{
return new JSONObject("{\"catalog\":{\"default_section\":\"cache\",\"sections\":[{\"id\":\"cache\",\"title\":\"Кешированный контент\",\"blocks\":[{\"data_type\":\"placeholder\",\"id\":\"0\",\"layout\":{\"name\":\"placeholder_big\"},\"placeholder_ids\":[\"_synth_trackEmpty\"]}]}]},\"audios\":[],\"playlists\":[],\"placeholders\":[{\"id\":\"_synth_trackEmpty\",\"title\":\"Похоже, тут пусто\",\"text\":\"У вас отсутствует кешированный контент\",\"buttons\":[]}]}");
return new JSONObject("{\"catalog\":{\"default_section\":\"cache\",\"sections\":[{\"id\":\"cache\",\"title\":\"" + getString("cached_content_title") + "\",\"blocks\":[{\"data_type\":\"placeholder\",\"id\":\"0\",\"layout\":{\"name\":\"placeholder_big\"},\"placeholder_ids\":[\"_synth_trackEmpty\"]}]}]},\"audios\":[],\"playlists\":[],\"placeholders\":[{\"id\":\"_synth_trackEmpty\",\"title\":\"" + getString("cached_content_empty") + "\",\"text\":\"" + getString("cached_content_empty_desc") + "\",\"buttons\":[]}]}");
}
public static void injectIntoExistingCatalog(JSONObject catalogNode) {
@@ -159,9 +160,8 @@ public class TracklistInjector {
var catalogBanner = new JSONObject()
.put("id", 1234)
.put("image_mode", "cover")
.put("title", "Включите интеграцию VK X!")
.put("text", "Получите доступ к хранилищу треков и возможности включать/кешировать треки из VTosters в VK X.\n\n" +
"Подробнее - в Настройки > Настройки VTosters > Кешированные треки.")
.put("title", getString("vkx_integration_title"))
.put("text", getString("vkx_integration_desc"))
.put("click_action", new JSONObject().put("action", clickAction));
var catalogBanners = new JSONArray()
.put(catalogBanner);
@@ -200,7 +200,7 @@ public class TracklistInjector {
var section = new JSONObject()
.put("id", randomId)
.put("title", "Сохраненные треки")
.put("title", getString("saved_tracks_title"))
.put("url", "synth:cache")
.put("blocks", blocks);
@@ -96,7 +96,7 @@ public class MediaFragment extends MaterialPreferenceToolbarFragment {
findPreference("lastfm_enabled").setEnabled(false);
}
findPreference("cached_tracks").setSummary("Всего закешировано " + CacheDatabaseDelegate.getTrackCount() + " песен");
findPreference("cached_tracks").setSummary(String.format(AndroidUtils.getString("cached_tracks_counter"), CacheDatabaseDelegate.getTrackCount()));
findPreference("cached_tracks").setOnPreferenceClickListener(preference -> {
delcache(requireContext());
return true;
@@ -187,12 +187,12 @@ public class MediaFragment extends MaterialPreferenceToolbarFragment {
private void delcache(Context ctx) {
VkAlertDialog.Builder alertDialog = new VkAlertDialog.Builder(ctx);
alertDialog.setTitle("Внимание!");
alertDialog.setMessage("Вы действительно хотите удалить все кешированные песни?");
alertDialog.setPositiveButton(AndroidUtils.getString("vkim_yes"), (dialog, which) -> {
alertDialog.setTitle(AndroidUtils.getString("warning"));
alertDialog.setMessage(AndroidUtils.getString("cached_tracks_remove_confirm"));
alertDialog.setPositiveButton(AndroidUtils.getString("yes"), (dialog, which) -> {
CacheDatabaseDelegate.clear();
});
alertDialog.setNeutralButton(AndroidUtils.getString("vkim_no"), (dialog, which) -> {
alertDialog.setNeutralButton(AndroidUtils.getString("no"), (dialog, which) -> {
dialog.cancel();
});
var alert = alertDialog.create();
@@ -215,7 +215,7 @@ public class MediaFragment extends MaterialPreferenceToolbarFragment {
if (response.optInt("response") == 1){
LifecycleUtils.getCurrentActivity().runOnUiThread(() -> sendToast(AndroidUtils.getString("video_history_cleaned")));
} else {
LifecycleUtils.getCurrentActivity().runOnUiThread(() -> sendToast("Ошибка при очистке истории. Подробности в логах"));
LifecycleUtils.getCurrentActivity().runOnUiThread(() -> sendToast(AndroidUtils.getString("delete_video_history_error")));
}
Log.d("VideoHistory", response.toString());