[music] translate all strings
This commit is contained in:
@@ -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)
|
||||
|
||||
+7
-5
@@ -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")
|
||||
|
||||
+5
-5
@@ -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());
|
||||
|
||||
@@ -5953,9 +5953,12 @@
|
||||
|
||||
<string name="download_mp3">Скачать как mp3</string>
|
||||
<string name="remove_from_cache">Удалить из кеша</string>
|
||||
<string name="add_to_cache">Добавить в кэш</string>
|
||||
<string name="play_in_vkx">Воспроизвести в VK X</string>
|
||||
<string name="add_to_cache">Добавить в кеш</string>
|
||||
|
||||
<string name="remove_from_cache_vkx">Удалить из VK X кеша</string>
|
||||
<string name="add_to_cache_vkx">Добавить в кеш VK X</string>
|
||||
|
||||
<string name="play_in_vkx">Воспроизвести в VK X</string>
|
||||
|
||||
<string name="thanksfordonate">Спасибо тебе за поддержку проекта!</string>
|
||||
<string name="getdonate">Поддержи проект донатом и получи бонусы</string>
|
||||
@@ -6236,6 +6239,7 @@
|
||||
<string name="chat_export_video_nolinks">ссылки отсутствуют</string>
|
||||
|
||||
<string name="delete_video_history_confirm">Вы действительно хотите очистить историю видео?</string>
|
||||
<string name="delete_video_history_error">Ошибка при очистке истории. Подробности в логах</string>
|
||||
|
||||
<string name="wallpaper_size_limit">Размер файла превышает лимит 6 MB</string>
|
||||
|
||||
@@ -6252,4 +6256,34 @@
|
||||
|
||||
<string name="force_disable_psm_title">Не отправлять информацию о батарее</string>
|
||||
<string name="force_disable_psm_summ">Включение этой функции скроет информацию о состоянии вашего устройства в режиме экономии батареи и ВКонтакте будет отправлять вам медиаконтент без сильного сжатия и блюра</string>
|
||||
|
||||
<string name="track_bd_insert_err">Ошибка при записи трека в БД!</string>
|
||||
<string name="cached_tracks_deleted">Кешированные песни удалены</string>
|
||||
<string name="cached_track">Закешированный трек</string>
|
||||
<string name="cached_tracks_title">Кешированные песни</string>
|
||||
<string name="saved_tracks_title">Сохраненные треки</string>
|
||||
<string name="cached_tracks_desc">Это - список всех кешированных треков. Данный плейлист НЕ СУЩЕСТВУЕТ в вашем профиле.\n\nПри отсутствии соединения с Интернетом данный плейлист превратится в обычный список треков.</string>
|
||||
<string name="cached_album_warning">Это кешированный альбом!</string>
|
||||
<string name="cached_playlist_loading">Загрузка плейлиста</string>
|
||||
|
||||
<string name="cached_content_title">Кешированный контент</string>
|
||||
<string name="cached_content_empty">Похоже, тут пусто</string>
|
||||
<string name="cached_content_empty_desc">У вас отсутствует кешированный контент</string>
|
||||
<string name="cached_tracks_remove_confirm">Вы действительно хотите удалить все кешированные песни?</string>
|
||||
|
||||
<string name="vkx_integration_title">Включите интеграцию VK X!</string>
|
||||
<string name="vkx_integration_desc">Получите доступ к хранилищу треков и возможности включать/кешировать треки из VTLite в VK X.\n\nПодробнее - в Настройки > Медиа контент > VK X</string>
|
||||
|
||||
<string name="music_downloading">Загрузка музыки</string>
|
||||
<string name="music_downloading_progress">Прогресс загрузки музыки</string>
|
||||
|
||||
<string name="playlist_downloading">Загрузка плейлиста</string>
|
||||
<string name="playlist_downloading_progress">Прогресс загрузки плейлиста</string>
|
||||
|
||||
<string name="caching_track_or_pic">Кеширование трека / обложки</string>
|
||||
|
||||
<string name="cached_tracks_counter">Всего закешировано %1$d песен</string>
|
||||
|
||||
<string name="autocache_title">Автокеширование песен</string>
|
||||
<string name="autocache_summ">Автоматически кешировать все воспроизведенные вами песни</string>
|
||||
</resources>
|
||||
@@ -6090,8 +6090,8 @@ May look like a fake leaving the online"</string>
|
||||
<string name="remove_from_cache">Delete from cache</string>
|
||||
<string name="add_to_cache">Add to cache</string>
|
||||
|
||||
<string name="remove_from_cache_vkx">Delete from VKX cache</string>
|
||||
<string name="add_to_cache_vkx">Add to VKX cache</string>
|
||||
<string name="remove_from_cache_vkx">Delete from VK X cache</string>
|
||||
<string name="add_to_cache_vkx">Add to VK X cache</string>
|
||||
|
||||
<string name="play_in_vkx">Play the track in VK X</string>
|
||||
|
||||
@@ -6377,6 +6377,7 @@ May look like a fake leaving the online"</string>
|
||||
<string name="chat_export_video_nolinks">no links</string>
|
||||
|
||||
<string name="delete_video_history_confirm">Are you sure you want to clear your video history?</string>
|
||||
<string name="delete_video_history_error">Error clearing video history. Details in the logs</string>
|
||||
|
||||
<string name="wallpaper_size_limit">File size exceeds 6 MB limit</string>
|
||||
|
||||
@@ -6393,4 +6394,34 @@ May look like a fake leaving the online"</string>
|
||||
|
||||
<string name="force_disable_psm_title">Don\'t send battery information</string>
|
||||
<string name="force_disable_psm_summ">Enabling this feature will hide information about the state of your device in battery saving mode and VK will send you media content without strong compression and blur</string>
|
||||
|
||||
<string name="track_bd_insert_err">Error writing track to database!</string>
|
||||
<string name="cached_tracks_deleted">Cached songs deleted</string>
|
||||
<string name="cached_track">Cached track</string>
|
||||
<string name="cached_tracks_title">Cached songs</string>
|
||||
<string name="saved_tracks_title">Saved tracks</string>
|
||||
<string name="cached_tracks_desc">This is a list of all cached tracks. This playlist DOES NOT EXIST on your profile.\n\nIf there is no Internet connection, this playlist will turn into a regular track list.</string>
|
||||
<string name="cached_album_warning">This is a cached album!</string>
|
||||
<string name="cached_playlist_loading">Playlist loading</string>
|
||||
|
||||
<string name="cached_content_title">Cached content</string>
|
||||
<string name="cached_content_empty">Looks like it\'s empty</string>
|
||||
<string name="cached_content_empty_desc">You have no cached content</string>
|
||||
<string name="cached_tracks_remove_confirm">Are you sure you want to delete all cached songs?</string>
|
||||
|
||||
<string name="vkx_integration_title">Enable VK X integration!</string>
|
||||
<string name="vkx_integration_desc">Get access to the track storage and the ability to include/cache tracks from VTLite to VK X.\n\nFor details, go to Settings > Media Content > VK X</string>
|
||||
|
||||
<string name="music_downloading">Downloading music</string>
|
||||
<string name="music_downloading_progress">Music download progress</string>
|
||||
|
||||
<string name="playlist_downloading">Downloading a playlist</string>
|
||||
<string name="playlist_downloading_progress">Playlist download progress</string>
|
||||
|
||||
<string name="caching_track_or_pic">Caching track / cover art</string>
|
||||
|
||||
<string name="cached_tracks_counter">Total %1$d song(s) cached</string>
|
||||
|
||||
<string name="autocache_title">Autocache songs</string>
|
||||
<string name="autocache_summ">Automatically cache all songs you have played</string>
|
||||
</resources>
|
||||
|
||||
@@ -50,12 +50,12 @@
|
||||
<PreferenceCategory android:title="@string/vtl_music_settings">
|
||||
<Preference
|
||||
android:key="cached_tracks"
|
||||
android:title="Кешированные песни" />
|
||||
android:title="@string/cached_tracks_title"/>
|
||||
<com.vtosters.lite.ui.MaterialSwitchPreference
|
||||
android:defaultValue="false"
|
||||
android:key="autocache"
|
||||
android:summary="Автоматически кешировать все воспроизведенные вами песни"
|
||||
android:title="Авто-Кеширование песен" />
|
||||
android:summary="@string/autocache_summ"
|
||||
android:title="@string/autocache_title" />
|
||||
<com.vtosters.lite.ui.SummaryListPreference
|
||||
android:defaultValue="default"
|
||||
android:dialogTitle="@string/musicdefcatalog_dialogTitle"
|
||||
|
||||
Reference in New Issue
Block a user