translate all strings to RU/EN

This commit is contained in:
Erik Kiznov
2022-08-13 20:46:17 +03:00
committed by gdlbo
parent 3c90940695
commit 3dd4e4df38
48 changed files with 1136 additions and 410 deletions
@@ -16,6 +16,7 @@ import com.aefyr.tsg.g2.stickersgrabber.TelegramStickersGrabber;
import java.util.HashMap;
import java.util.concurrent.atomic.AtomicLong;
import ru.vtosters.lite.utils.AndroidUtils;
/**
* Created by Aefyr on 20.05.2018.
@@ -39,7 +40,7 @@ public class NotificationsHelper {
downloadingPacksNotificationsIds = new HashMap<>();
if (oreo()) {
NotificationChannel notificationChan = new NotificationChannel(NOTIFICATION_CHANNEL_ID, "Сервис стикеров Telegram в VTLite", NotificationManager.IMPORTANCE_HIGH);
NotificationChannel notificationChan = new NotificationChannel(NOTIFICATION_CHANNEL_ID, AndroidUtils.getString("telegram_stickers_service"), NotificationManager.IMPORTANCE_HIGH);
((NotificationManager) c.getSystemService(Context.NOTIFICATION_SERVICE)).createNotificationChannel(notificationChan);
}
}
@@ -49,8 +50,8 @@ public class NotificationsHelper {
downloadingPacksNotificationsIds.put(pack, notificationId);
Notification.Builder builder = commonBuilder();
builder.setContentTitle(pack.state == TelegramStickersPack.DOWNLOADING ? pack.title + ": загрузка" : pack.title + ": обновление");
builder.setContentText("Получение информации");
builder.setContentTitle(pack.state == TelegramStickersPack.DOWNLOADING ? pack.title + AndroidUtils.getString("telegram_stickers_downloading") : pack.title + AndroidUtils.getString("telegram_stickers_updating"));
builder.setContentText(AndroidUtils.getString("telegram_stickers_gettinginfo"));
builder.setOngoing(true);
manager.notify(notificationId, builder.build());
@@ -63,7 +64,7 @@ public class NotificationsHelper {
lastNotificationTime.set(System.currentTimeMillis());
Notification.Builder builder = commonBuilder();
builder.setContentTitle(pack.state == TelegramStickersPack.DOWNLOADING ? pack.title + ": загрузка" : pack.title + ": обновление");
builder.setContentTitle(pack.state == TelegramStickersPack.DOWNLOADING ? pack.title + AndroidUtils.getString("telegram_stickers_downloading") : pack.title + AndroidUtils.getString("telegram_stickers_updating"));
builder.setContentText(downloadProgress + "/" + pack.stickersCount);
builder.setProgress(pack.stickersCount, downloadProgress, false);
builder.setOngoing(true);
@@ -77,13 +78,13 @@ public class NotificationsHelper {
Notification.Builder builder = commonBuilder();
builder.setProgress(0, 0, false);
builder.setOngoing(false);
builder.setContentTitle("Сервис стикеров Telegram в VTLite");
builder.setContentTitle(AndroidUtils.getString("telegram_stickers_service"));
String text;
if (success)
text = wasUpdate ? pack.title + " успешно обновлен" : pack.title + " успешно загружен";
text = wasUpdate ? pack.title + AndroidUtils.getString("telegram_stickers_updated") : pack.title + AndroidUtils.getString("telegram_stickers_downloaded");
else
text = wasUpdate ? pack.title + ": ошибка при обновлении" : pack.title + ": ошибка при загрузке";
text = wasUpdate ? pack.title + AndroidUtils.getString("telegram_stickers_error_update") : pack.title + AndroidUtils.getString("telegram_stickers_error_download");
if (e instanceof TelegramStickersGrabber.TSGException) {
text = pack.title + ": " + e.getMessage();
@@ -38,6 +38,7 @@ import okhttp3.Headers;
import okhttp3.OkHttpClient;
import okhttp3.Request;
import ru.vtosters.lite.ui.dialogs.Translate;
import ru.vtosters.lite.utils.AndroidUtils;
public class DNRInjector {
public static void inject(Dialog dialog, List<DialogAction> list) {
@@ -196,13 +197,13 @@ public class DNRInjector {
if (action == MsgAction.valueOf("TRANSLATE")) {
if (isTextExist && isReplyExist) {
Translate.showTranslatedText(context, text + "\n\nРеплай:\n" + reply);
Translate.showTranslatedText(context, text + "\n\n" + AndroidUtils.getString("translator_reply") + "\n" + reply);
} else if (isReplyExist) {
Translate.showTranslatedText(context, "Реплай:\n" + reply);
Translate.showTranslatedText(context, AndroidUtils.getString("translator_reply") + "\n" + reply);
} else if (isTextExist) {
Translate.showTranslatedText(context, text);
} else {
sendToast("Нет текста для перевода");
sendToast(AndroidUtils.getString("translator_no_text"));
}
}
@@ -230,7 +231,7 @@ public class DNRInjector {
thread.start();
sendToast("Диалог успешно " + (needToBePinned ? "закреплен" : "откреплен"));
sendToast(AndroidUtils.getString("pin_dialog") + (needToBePinned ? AndroidUtils.getString("dialog_pinned") : AndroidUtils.getString("dialog_unpinned")));
}
public static void setDnr(Dialog dialog, boolean value) {
@@ -31,7 +31,7 @@ public class AudioDownloader {
public static void downloadM3U8(MusicTrack track) {
if (track.D == null) {
ToastUtils.a("Не удалось найти ссылку на аудиозапись");
ToastUtils.a(AndroidUtils.getString("link_audio_error"));
return;
}
@@ -64,7 +64,7 @@ public class AudioDownloader {
var success = FFMpeg.convert(downloadPath, musicPath + File.separator + fileName + ".mp3");
if (success) {
notification
.setContentText("Загрузка завершена")
.setContentText(AndroidUtils.getString("player_download_finished"))
.setProgress(0, 0, false)
.setSmallIcon(android.R.drawable.stat_sys_download_done);
notificationManager.notify(tempId, notification.build());
@@ -72,7 +72,7 @@ public class AudioDownloader {
onFailure();
}
} catch (UnsatisfiedLinkError e) {
Log.e("AudioDownloader", "Опять эти нативные либы");
Log.e("AudioDownloader", "native libs");
Log.e("AudioDownloader", e.getMessage());
onFailure();
}
@@ -80,7 +80,7 @@ public class AudioDownloader {
@Override
public void onFailure() {
notification.setContentText("Не удалось загрузить аудиозапись").setProgress(0, 0, false);
notification.setContentText(AndroidUtils.getString("load_audio_error")).setProgress(0, 0, false);
notificationManager.notify(tempId, notification.build());
}
@@ -109,7 +109,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("Загрузка аудиозаписи")
.setContentTitle(AndroidUtils.getString("audio_downloading"))
.setContentText(track.toString())
.setPriority(NotificationCompat.PRIORITY_LOW)
.setCategory(NotificationCompat.CATEGORY_PROGRESS)
@@ -28,6 +28,7 @@ import java.util.ArrayList;
import java.util.List;
import java.util.Objects;
import ru.vtosters.lite.utils.AndroidUtils;
import ru.vtosters.lite.utils.ExternalLinkParser;
public class VideoDownloader {
@@ -123,13 +124,13 @@ public class VideoDownloader {
}
public static void parseVideoLink(String url, Context ctx) {
if (url.contains("vk.com/story")) {
ToastUtils.a("Не поддерживается загрузка историй");
if (url.startsWith("vk.com/story") || url.startsWith("http://vk.com/story") || url.startsWith("https://vk.com/story")) {
ToastUtils.a(AndroidUtils.getString("video_dl_stories_not_supported"));
return;
}
if (!url.contains("vk.com/video")) {
ToastUtils.a("Неверная ссылка");
if (!url.startsWith("http://vk.com/video") || !url.startsWith("https://vk.com/video") || !url.startsWith("vk.com/video")) {
ToastUtils.a(AndroidUtils.getString("video_dl_wrong_link"));
return;
}
@@ -137,7 +138,7 @@ public class VideoDownloader {
String ownerId = videoId.split("_")[0];
final ProgressDialog progressDialog = new ProgressDialog(ctx);
progressDialog.setMessage("Обработка видео");
progressDialog.setMessage(AndroidUtils.getString("video_dl_progress"));
progressDialog.show();
makeRequest("https://" + "api.vk.com" + "/method/video.get?owner_id=" + ownerId + "&videos=" + videoId + "&v=5.99&access_token=" + getUserToken(),
@@ -153,7 +154,7 @@ public class VideoDownloader {
downloadVideo(videoFile, ctx);
} catch (JSONException e) {
e.printStackTrace();
Toast.makeText(ctx, "Видео нельзя скачать", Toast.LENGTH_SHORT).show();
Toast.makeText(ctx, AndroidUtils.getString("video_dl_error"), Toast.LENGTH_SHORT).show();
}
});
}
@@ -12,8 +12,8 @@ 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 = AndroidUtils.getString("music_dl_title");
public static final String MUSIC_DOWNLOAD_CHANNEL_DESCRIPTION = AndroidUtils.getString("music_dl_progress");
@RequiresApi(api = Build.VERSION_CODES.O)
public static void createChannels() {
@@ -73,7 +73,7 @@ public class JsonInjectors {
}
public static JSONObject donateRecomm() throws JSONException {
var title = "Помоги проекту донатом и получи бонус!";
var title = AndroidUtils.getString("donate_to_vtl");
var link = "https://vk.com/vtosters_official";
var text_color = "2D81E0";
@@ -114,7 +114,7 @@ public class JsonInjectors {
}
public static JSONObject vktesters(int id) throws JSONException {
var title = "Карточка Тестера";
var title = AndroidUtils.getString("tester_profile");
var text_color = "2D81E0";
var link = "https://static.vk.com/bugs?lang=" + LangUtils.a() + "#/reporter" + id;
@@ -158,7 +158,7 @@ public class JsonInjectors {
var peerid = Objects.requireNonNull(orig.optJSONObject("peer")).optInt("id");
var pic = "https://image.pngaaa.com/641/326641-middle.png"; // can be null
var text = "Я не загрузил данные (9(9((";
var text = AndroidUtils.getString("no_data_error");
var link = "https://vtosters.app"; // can be null
var linktitle = "Test button"; // can be null
@@ -175,9 +175,9 @@ public class JsonInjectors {
if (!hasIcon) icon = "";
if (!hasButton) buttons = "";
if (isVerified(peerid)) text = "Я купил VTosters Premium";
if (isPrometheus(peerid)) text = "Я купил VTosters Premium Gold Prime Pro Plus";
if (isDeveloper(peerid)) text = "Я создал говно";
if (isVerified(peerid)) text = AndroidUtils.getString("i_bought") + " VTosters Premium";
if (isPrometheus(peerid)) text = AndroidUtils.getString("i_bought") + " VTosters Premium Gold Prime Pro Plus";
if (isDeveloper(peerid)) text = AndroidUtils.getString("i_created_poop");
if (!isVerified(peerid) || text.equals("")) {
if (getBoolValue("convBarRecomm", false)) {
return null;
@@ -17,6 +17,8 @@ import org.json.JSONObject;
import java.io.IOException;
import java.text.ParseException;
import ru.vtosters.lite.utils.AndroidUtils;
public class OnlineFormatterHook {
private static String AppName;
@@ -59,37 +61,37 @@ public class OnlineFormatterHook {
case 5027722:
return "VK Messenger (Desktop)";
case 6146827:
return "VK Мессенджер (Android)";
return AndroidUtils.getString("vk_messenger") + " (Android)"; // VK Мессенджер (Android)
case 6482950:
return "VK Мессенджер (iPhone)";
return AndroidUtils.getString("vk_messenger") + " (iPhone)"; // VK Мессенджер (iPhone)
case 6481715:
return "VK Мессенджер Dev (iPhone)";
return AndroidUtils.getString("vk_messenger") + " Dev (iPhone)"; // VK Мессенджер Dev (iPhone)
case 7799655:
return "VK Почта";
return AndroidUtils.getString("vk_mail_online"); // VK Почта
case 7598572:
return "Сферум (Android)";
return AndroidUtils.getString("sferum_online") + " (Android)"; // Сферум (Android)
case 7571751:
return "Сферум (iPhone)";
return AndroidUtils.getString("sferum_online") + " (iPhone)"; // Сферум (iPhone)
case 7556576:
return "Сферум";
return AndroidUtils.getString("sferum_online"); // Сферум
case 7497650:
return "VK ID";
case 8094476:
return "VK Звонки (Android)";
return AndroidUtils.getString("vk_calls_online") + " (Android)"; // VK Звонки (Android)
case 8093730:
return "VK Звонки (iPhone)";
return AndroidUtils.getString("vk_calls_online") + " (iPhone)"; // VK Звонки (iPhone)
case 7793118:
return "VK Звонки (Desktop)";
return AndroidUtils.getString("vk_calls_online") + " (Desktop)"; // VK Звонки (Desktop)
case 6767438:
return "VK Музыка (Android)";
return AndroidUtils.getString("vk_music_online") + " (Android)"; // VK Музыка (Android)
case 8113297:
return "VK Клипы (Android)";
return AndroidUtils.getString("vk_clips_online") + " (Android)"; // VK Клипы (Android)
case 8106428:
return "VK Клипы (iPhone)";
return AndroidUtils.getString("vk_clips_online") + " (iPhone)"; // VK Клипы (iPhone)
case 5044491:
return "Candy";
case 8114066:
return "VK Видео";
return AndroidUtils.getString("vk_video_online"); // VK Видео
case 4894723:
return "Phoenix Lite";
case 4994316:
@@ -27,11 +27,12 @@ import com.vk.auth.ui.VkAuthTextView;
import com.vk.navigation.Navigator;
import ru.vtosters.lite.ui.fragments.ProxySettingsFragment;
import ru.vtosters.lite.utils.AndroidUtils;
public class ProxyHook {
public static void hookAuth(View v) {
VkAuthTextView button = (VkAuthTextView) v;
button.setText("Настроить прокси");
button.setText(AndroidUtils.getString("proxy_setup"));
button.setOnClickListener(v1 -> callProxyDialog(v1.getContext()));
}
@@ -50,20 +51,20 @@ public class ProxyHook {
rg.setPadding(dp2px(18f), dp2px(12f), dp2px(18f), 0);
rgDefault.setText("Отключить");
rgDefault.setText(AndroidUtils.getString("proxy_disable"));
rgDefault.setTextColor(getTextAttr());
rgProxy.setText("Включить (Zaborona)");
rgProxy.setText(AndroidUtils.getString("proxy_enable") + " (Zaborona)");
rgProxy.setTextColor(getTextAttr());
rgProxy.setChecked(isZaboronaEnabled());
rgDefault.setChecked(!isZaboronaEnabled());
AlertDialog.Builder builder = new AlertDialog.Builder(ctx, getAlertStyle());
builder.setTitle("Прокси");
builder.setMessage("Zaborona никак не связана с ВТостерс и мы не можем гарантировать её работу и безопасность");
builder.setTitle(AndroidUtils.getString("vtlproxy"));
builder.setMessage(AndroidUtils.getString("proxy_warning"));
builder.setView(rg);
builder.setPositiveButton("Применить", ((dialog, which) -> {
builder.setPositiveButton(AndroidUtils.getString("vtl_confirm"), ((dialog, which) -> { // Применить
if (rgProxy.isChecked()) {
edit().putString("proxy", "zaborona").commit();
restartApplication();
@@ -77,7 +78,7 @@ public class ProxyHook {
}
}));
builder.setNeutralButton("Настройки прокси", ((dialog, which) -> {
builder.setNeutralButton(AndroidUtils.getString("proxy_settings"), ((dialog, which) -> {
Intent a2 = new Navigator(ProxySettingsFragment.class).b(ctx);
a2.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
ctx.startActivity(a2);
@@ -41,7 +41,7 @@ public class FFMpeg {
private static void checkFFMpegLibs() {
var lib = new File(AndroidUtils.getGlobalContext().getFilesDir(), "libffmpegkit_abidetect.so");
if (!lib.exists()) {
ToastUtils.a("Копирование библиотеки ffmpegkit");
ToastUtils.a(AndroidUtils.getString("ffmpegkit_copy"));
copyAssets();
}
}
@@ -34,7 +34,7 @@ public class MP3Downloader {
public static void execute(MusicTrack track) {
var token = AndroidUtils.getPreferences().getString("vk_admin_token", "");
if (token.isEmpty()) {
Toast.makeText(AndroidUtils.getGlobalContext(), "Обновите токен VK Admin в настройках", Toast.LENGTH_SHORT).show();
Toast.makeText(AndroidUtils.getGlobalContext(), AndroidUtils.getString("update_vk_admin_token"), Toast.LENGTH_SHORT).show();
return;
}
var request = new Request.a()
@@ -24,6 +24,7 @@ import ru.vtosters.lite.net.NetCallback;
import ru.vtosters.lite.net.NetClient;
import ru.vtosters.lite.net.NetRequest;
import ru.vtosters.lite.net.NetResponse;
import ru.vtosters.lite.utils.AndroidUtils;
public class Scrobbler {
private static final String key = "5965d63402414776c54c266db0211746";
@@ -103,7 +104,7 @@ public class Scrobbler {
public static void auth(String login, String pass) {
if (login == null || pass == null) {
sendToast("Логин или пароль не заданы");
sendToast(AndroidUtils.getString("lastfm_credentials_empty"));
return;
}
@@ -119,7 +120,7 @@ public class Scrobbler {
@Override
public void onFailure(NetCall call, IOException e) {
Log.d("Scrobbler", "Auth failed", e);
sendToast("Ошибка входа");
sendToast(AndroidUtils.getString("lastfm_auth_error"));
}
@Override
@@ -155,7 +156,7 @@ public class Scrobbler {
edit().remove("username").apply();
edit().remove("sessionKey").apply();
scrobbled.clear();
sendToast("Вы успешно вышли из учетной записи");
sendToast(AndroidUtils.getString("lastfm_logout_success"));
}
public static boolean needToBeScrobble(String uid) {
@@ -22,6 +22,8 @@ import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.Locale;
import ru.vtosters.lite.utils.AndroidUtils;
public class LogWriterService extends Service {
public LogWriterService() {
}
@@ -44,12 +46,12 @@ public class LogWriterService extends Service {
writeLog(intent, file);
} catch (Exception e) {
e.printStackTrace();
makeText(getGlobalContext(), "Не удалось сохранить лог-файл", LENGTH_SHORT).show();
makeText(getGlobalContext(), AndroidUtils.getString("logfile_error"), LENGTH_SHORT).show();
}
var notificationId = intent.getIntExtra("notificationId", 1);
var manager = (NotificationManager) getGlobalContext().getSystemService(Context.NOTIFICATION_SERVICE);
manager.cancel(notificationId);
makeText(getGlobalContext(), "Лог-файл был сохранен", LENGTH_SHORT).show();
makeText(getGlobalContext(), AndroidUtils.getString("logfile_saved"), LENGTH_SHORT).show();
stopSelf();
return START_NOT_STICKY;
@@ -11,6 +11,8 @@ import android.widget.Toast;
import androidx.appcompat.app.AppCompatActivity;
import ru.vtosters.lite.utils.AndroidUtils;
public class APKInstallActivity extends AppCompatActivity {
public static final int REQUEST_INSTALL_PERMISSION = 1;
@@ -65,7 +67,7 @@ public class APKInstallActivity extends AppCompatActivity {
startActivity(intent);
} catch (Exception e) {
Toast.makeText(this, "Ошибка установки обновления " + e.getLocalizedMessage(), Toast.LENGTH_LONG).show();
Toast.makeText(this, AndroidUtils.getString("apk_install_error") + e.getLocalizedMessage(), Toast.LENGTH_LONG).show();
}
finish();
@@ -23,9 +23,7 @@ public class MessagesPreviewAdapter extends RecyclerView.Adapter<MessagesPreview
private static final int ME = 0x0;
private static final int ANONYMOUS = -0x1;
private final String[] mMessages = {
"Доброе время", "Доброе утро, день, вечер. ночь", "Как живёшь?", "Не мёртвый, и то хорошо"
};
private final String[] mMessages = AndroidUtils.getArray("wallpaper_change_dialog");
@Override
public int getItemViewType(int i) {
@@ -23,6 +23,7 @@ import java.util.Set;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
import ru.vtosters.lite.utils.AndroidUtils;
import ru.vtosters.lite.utils.IOUtils;
import ru.vtosters.lite.utils.Preferences;
@@ -42,7 +43,7 @@ public class BackupManager {
public static void backupOnlines() throws IOException {
if (getPrefContent("onlines.xml") == null) {
Toast.makeText(getGlobalContext(), "Нет данных для резервного копирования", LENGTH_SHORT).show();
Toast.makeText(getGlobalContext(), AndroidUtils.getString("no_data_to_backup"), LENGTH_SHORT).show();
return;
}
@@ -54,10 +55,10 @@ public class BackupManager {
FileWriter out = new FileWriter(file);
out.write(getPrefContent("onlines.xml"));
out.close();
Toast.makeText(getGlobalContext(), "Сохранено в файл " + file.getAbsolutePath(), LENGTH_LONG).show();
Toast.makeText(getGlobalContext(), AndroidUtils.getString("backup_saved_in") + file.getAbsolutePath(), LENGTH_LONG).show();
} catch (IOException e) {
e.printStackTrace();
Toast.makeText(getGlobalContext(), "Не удалось сохранить файл", LENGTH_SHORT).show();
Toast.makeText(getGlobalContext(), AndroidUtils.getString("backup_save_error"), LENGTH_SHORT).show();
}
}
@@ -70,10 +71,10 @@ public class BackupManager {
FileWriter out = new FileWriter(file);
out.write(getPrefContent("com.vtosters.lite_preferences.xml"));
out.close();
Toast.makeText(getGlobalContext(), "Сохранено в файл " + file.getAbsolutePath(), LENGTH_LONG).show();
Toast.makeText(getGlobalContext(), AndroidUtils.getString("backup_saved_in") + file.getAbsolutePath(), LENGTH_LONG).show();
} catch (IOException e) {
e.printStackTrace();
Toast.makeText(getGlobalContext(), "Не удалось сохранить файл", LENGTH_SHORT).show();
Toast.makeText(getGlobalContext(), AndroidUtils.getString("backup_save_error"), LENGTH_SHORT).show();
}
}
@@ -12,6 +12,7 @@ import java.util.Collections;
import java.util.LinkedHashSet;
import ru.vtosters.lite.ui.vkui.VBottomSheetBuilder;
import ru.vtosters.lite.utils.AndroidUtils;
public class NewsfeedListManager {
@@ -21,7 +22,7 @@ public class NewsfeedListManager {
var list = new ArrayList<VBListItem>();
if (filtersSet.size() == 0) {
sendToast("Обновите ленту для получения списка доступных пунктов");
sendToast(AndroidUtils.getString("newsfeed_update_feed"));
return;
}
@@ -35,10 +36,10 @@ public class NewsfeedListManager {
}
VBottomSheetBuilder.show(activity, new VBottomSheetBuilder.VBSContent(
"Выберите пункты для скрытия",
AndroidUtils.getString("newsfeed_list_choose_to_hide"),
buildListOf(activity, list),
new VBottomSheetBuilder.VBSContent.VBSButton(
"Сохранить",
AndroidUtils.getString("save"),
() -> {
var newSelectedItems = "";
for (VBListItem item : list)
@@ -47,7 +48,7 @@ public class NewsfeedListManager {
getDefaultPrefs().edit()
.putString("news_feed_selected_items", newSelectedItems)
.apply();
sendToast("Для применения изменений обновите ленту");
sendToast(AndroidUtils.getString("newsfeed_list_update_feed_to_work"));
}
)
));
@@ -57,6 +58,6 @@ public class NewsfeedListManager {
getDefaultPrefs().edit()
.putString("news_feed_selected_items", "")
.apply();
sendToast("Сброшены пункты для скрытия");
sendToast(AndroidUtils.getString("newsfeed_list_hidden_reseted"));
}
}
@@ -89,33 +89,33 @@ public class SuperAppEditorManager {
private SuperAppItem getItemByTag(String tag) {
switch (tag) {
case "menu":
return SuperAppItem.valuesOf("menu", "Меню приложения");
return SuperAppItem.valuesOf("menu", AndroidUtils.getString("superapp_menu"));
case "miniapps":
return SuperAppItem.valuesOf("miniapps", "Mini Apps: виджет");
return SuperAppItem.valuesOf("miniapps", AndroidUtils.getString("superapp_miniapps"));
case "vkpay_slim":
return SuperAppItem.valuesOf("vkpay_slim", "VK Pay");
return SuperAppItem.valuesOf("vkpay_slim", AndroidUtils.getString("superapp_vkpay"));
case "greeting":
return SuperAppItem.valuesOf("greeting", "Приветствие");
return SuperAppItem.valuesOf("greeting", AndroidUtils.getString("superapp_greeting"));
case "promo":
return SuperAppItem.valuesOf("promo", "Mini Apps: промо");
return SuperAppItem.valuesOf("promo", AndroidUtils.getString("superapp_miniapps_promo"));
case "holiday":
return SuperAppItem.valuesOf("holiday", "Дни рождения у друзей");
return SuperAppItem.valuesOf("holiday", AndroidUtils.getString("superapp_holiday"));
case "weather":
return SuperAppItem.valuesOf("weather", "Погода");
return SuperAppItem.valuesOf("weather", AndroidUtils.getString("superapp_weather"));
case "sport":
return SuperAppItem.valuesOf("sport", "Спортивные события");
return SuperAppItem.valuesOf("sport", AndroidUtils.getString("superapp_sport"));
case "games":
return SuperAppItem.valuesOf("games", "Игры");
return SuperAppItem.valuesOf("games", AndroidUtils.getString("superapp_games"));
case "informer":
return SuperAppItem.valuesOf("informer", "Информер");
return SuperAppItem.valuesOf("informer", AndroidUtils.getString("superapp_informer"));
case "food":
return SuperAppItem.valuesOf("food", "Еда");
return SuperAppItem.valuesOf("food", AndroidUtils.getString("superapp_food"));
case "event":
return SuperAppItem.valuesOf("event", "Мероприятия");
return SuperAppItem.valuesOf("event", AndroidUtils.getString("superapp_event"));
case "music":
return SuperAppItem.valuesOf("music", "Музыка");
return SuperAppItem.valuesOf("music", AndroidUtils.getString("superapp_music"));
case "vk_run":
return SuperAppItem.valuesOf("vk_run", "VK Run");
return SuperAppItem.valuesOf("vk_run", AndroidUtils.getString("superapp_vk_run"));
default:
return null;
}
@@ -15,6 +15,7 @@ import androidx.appcompat.widget.SwitchCompat;
import com.vk.core.dialogs.alert.VkAlertDialog;
import ru.vtosters.lite.utils.AndroidUtils;
import ru.vtosters.lite.utils.LayoutUtils;
public class MessageSettings {
@@ -50,12 +51,12 @@ public class MessageSettings {
four.setTextSize(TypedValue.COMPLEX_UNIT_PX, dp2px(14f));
five.setTextSize(TypedValue.COMPLEX_UNIT_PX, dp2px(14f));
zero.setText("Отключить");
one.setText("15 секунд");
two.setText("1 минута");
three.setText("5 минут");
four.setText("1 час");
five.setText("24 часа");
zero.setText(AndroidUtils.getString("proxy_disable")); // Отключить
one.setText(AndroidUtils.getString("message_self_destruct_15sec"));
two.setText(AndroidUtils.getString("message_self_destruct_1min"));
three.setText(AndroidUtils.getString("message_self_destruct_5min"));
four.setText(AndroidUtils.getString("message_self_destruct_1hour"));
five.setText(AndroidUtils.getString("message_self_destruct_24hours"));
zero.setTextColor(getTextAttr());
one.setTextColor(getTextAttr());
@@ -87,7 +88,7 @@ public class MessageSettings {
@SuppressLint("UseSwitchCompatOrMaterialCode")
var silentSwitch = new SwitchCompat(new ContextThemeWrapper(context, com.vtosters.lite.R.style.Widget_AppCompat_CompoundButton_Switch));
silentSwitch.setText("Бесшумные сообщения");
silentSwitch.setText(AndroidUtils.getString("silent_messages"));
silentSwitch.setTextSize(TypedValue.COMPLEX_UNIT_PX, dp2px(14f));
silentSwitch.setTextColor(getTextAttr());
silentSwitch.setChecked(isSilentEnabled);
@@ -104,12 +105,12 @@ public class MessageSettings {
mContainer.addView(silentSwitch, LayoutUtils.createLinear(-1, -2));
VkAlertDialog.Builder builder = new VkAlertDialog.Builder(context);
builder.setTitle("Настройки отправки");
builder.setMessage("Выберите время исчезновения сообщения");
builder.setTitle(AndroidUtils.getString("message_send_settings_title"));
builder.setMessage(AndroidUtils.getString("silent_messages_time_select"));
builder.setCancelable(true);
builder.setNegativeButton("Отмена", null);
builder.setNegativeButton(AndroidUtils.getString("cancel"), null);
builder.setView(mContainer);
builder.setPositiveButton("Применить", (dialog, which) -> {
builder.setPositiveButton(AndroidUtils.getString("vtl_confirm"), (dialog, which) -> { // Применить
var checked = rg.getCheckedRadioButtonId();
if (checked == zero.getId()) {
@@ -11,6 +11,7 @@ import android.widget.SeekBar;
import com.vk.core.dialogs.alert.VkAlertDialog;
import ru.vtosters.lite.utils.AndroidUtils;
import ru.vtosters.lite.utils.LayoutUtils;
public class RoundingSeekbarDialog{
@@ -25,12 +26,12 @@ public class RoundingSeekbarDialog{
mContainer.addView(seek, LayoutUtils.createLinear(-1, -2));
VkAlertDialog.Builder builder = new VkAlertDialog.Builder(context);
builder.setTitle("Выберите размер закругления углов");
builder.setMessage("Для отключения функции закругления углов введите 0");
builder.setTitle(AndroidUtils.getString("pic_rounding_title"));
builder.setMessage(AndroidUtils.getString("pic_rounding_info"));
builder.setCancelable(true);
builder.setNegativeButton("Отмена", null);
builder.setNegativeButton(AndroidUtils.getString("cancel"), null);
builder.setView(mContainer);
builder.setPositiveButton("Применить", (dialog, which) -> {
builder.setPositiveButton(AndroidUtils.getString("vtl_confirm"), (dialog, which) -> {
edit().putInt("pic_rounding", seek.getProgress()).commit();
restartApplicationWithTimer();
});
@@ -10,6 +10,7 @@ import android.util.Log;
import com.vk.core.dialogs.alert.VkAlertDialog;
import ru.vtosters.lite.translators.BaseTranslator;
import ru.vtosters.lite.utils.AndroidUtils;
public class Translate {
public static void showTranslatedText(Context context, String text) {
@@ -27,16 +28,16 @@ public class Translate {
private static void showDialog(Context context, String text) {
VkAlertDialog.Builder alertDialog = new VkAlertDialog.Builder(context);
alertDialog.setTitle("Переводчик");
alertDialog.setTitle(AndroidUtils.getString("translator_title"));
alertDialog.setMessage(text);
alertDialog.setPositiveButton("Закрыть", (dialog, which) -> {
alertDialog.setPositiveButton(AndroidUtils.getString("close"), (dialog, which) -> {
dialog.cancel();
});
alertDialog.setNeutralButton("Скопировать", (dialog, which) -> {
alertDialog.setNeutralButton(AndroidUtils.getString("copy"), (dialog, which) -> {
android.content.ClipboardManager clipboard = (android.content.ClipboardManager) context.getSystemService(Context.CLIPBOARD_SERVICE);
android.content.ClipData clip = android.content.ClipData.newPlainText("Copied Text", text);
clipboard.setPrimaryClip(clip);
sendToast("Скопировано в буфер обмена");
sendToast(AndroidUtils.getString("copied_to_clipboard"));
});
var alert = alertDialog.create();
alert.show();
@@ -17,6 +17,7 @@ import com.vk.newsfeed.NewsfeedSettingsFragment;
import com.vtosters.lite.general.fragments.MaterialPreferenceToolbarFragment;
import ru.vtosters.lite.ui.components.NewsfeedListManager;
import ru.vtosters.lite.utils.AndroidUtils;
public class FeedFragment extends MaterialPreferenceToolbarFragment {
@Override
@@ -39,9 +40,8 @@ public class FeedFragment extends MaterialPreferenceToolbarFragment {
});
var str = getDefaultPrefs().getString("news_feed_selected_items", "");
findPreference("newsfeedlistmanager").setSummary(
"Скрыто "
+ (!TextUtils.isEmpty(str) ? str.split(",").length : 0)
+ " лент новостей");
String.format(AndroidUtils.getString("feed_hidden"), (!TextUtils.isEmpty(str) ? str.split(",").length : 0))
);
findPreference("newsfeedlistmanager_reset").setOnPreferenceClickListener(preference -> {
NewsfeedListManager.resetHideItems();
return true;
@@ -53,9 +53,9 @@ public class FeedFragment extends MaterialPreferenceToolbarFragment {
var count = text.split(", ").length;
if (count < 1 || text.isEmpty()) {
return "Нет добавленных элементов";
return AndroidUtils.getString("feed_no_elements");
} else {
return "Добавлено " + count + " элементов";
return String.format(AndroidUtils.getString("feed_elements_count"), count);
}
}
@@ -37,6 +37,8 @@ import androidx.core.content.res.ResourcesCompat;
import com.vtosters.lite.general.fragments.MaterialPreferenceToolbarFragment;
import ru.vtosters.lite.utils.AndroidUtils;
public class IconsFragment extends MaterialPreferenceToolbarFragment {
@SuppressLint("SetTextI18n")
public static void callSelectDialog(Context ctx, String appicon) {
@@ -70,9 +72,9 @@ public class IconsFragment extends MaterialPreferenceToolbarFragment {
rgDefault.setChecked(!isZaboronaEnabled());
AlertDialog.Builder builder = new AlertDialog.Builder(ctx, getAlertStyle());
builder.setTitle("Выберите название приложения");
builder.setTitle(AndroidUtils.getString("app_name_select_title"));
builder.setView(rg);
builder.setPositiveButton("Применить", ((dialog, which) -> {
builder.setPositiveButton(AndroidUtils.getString("vtl_confirm"), ((dialog, which) -> {
var defname = preferences.getString("appname", "vt");
var deficon = preferences.getString("selectedicon", "vt");
@@ -93,7 +95,7 @@ public class IconsFragment extends MaterialPreferenceToolbarFragment {
switchComponent(appicon, "vkontakte", deficon, defname);
}
}));
builder.setNegativeButton("Отмена", ((dialog, which) -> {
builder.setNegativeButton(AndroidUtils.getString("cancel"), ((dialog, which) -> {
dialog.dismiss();
}));
@@ -114,13 +116,13 @@ public class IconsFragment extends MaterialPreferenceToolbarFragment {
this.addPreferencesFromResource(vtosterXml);
if (!hasVerification() && !getBoolValue("dialogrecomm", false)) {
addPreference(this, "", "Доступны не все функции!", "Для разблокировки необходимо сделать пожертование от 99р", "ic_about_outline_28", preference -> {
addPreference(this, "", AndroidUtils.getString("icons_warning"), AndroidUtils.getString("icons_warning_info"), "ic_about_outline_28", preference -> {
getContext().startActivity(new Intent("android.intent.action.VIEW").setData(Uri.parse("https://vtosters.app")));
return false;
});
}
addPreferenceCategory(this, "Иконки");
addPreferenceCategory(this, AndroidUtils.getString("icons_title"));
for (var i = 0; i < icons().size(); i++) {
if (icons().get(i) == null || iconsValues().get(i) == null) return;
@@ -151,7 +153,7 @@ public class IconsFragment extends MaterialPreferenceToolbarFragment {
}
if (!hasVerification() && !getBoolValue("dialogrecomm", false)) {
addPreferenceCategory(this, "Недоступные иконки");
addPreferenceCategory(this, AndroidUtils.getString("unavailable_icons"));
for (var i = 2; i < sIconsPlusNames.size(); i++) {
if (sIconsPlusNames.get(i) == null || sIconsPlus.get(i) == null) return;
@@ -176,7 +178,7 @@ public class IconsFragment extends MaterialPreferenceToolbarFragment {
}
addPreferenceDrawable(this, icon, iconname, "", drawable, preference -> {
sendToast("Иконка доступна только обладателям верификации");
sendToast(AndroidUtils.getString("unavailable_icon_warning"));
return false;
});
}
@@ -11,6 +11,7 @@ import androidx.preference.Preference;
import com.vtosters.lite.general.fragments.MaterialPreferenceToolbarFragment;
import ru.vtosters.lite.ui.dialogs.RoundingSeekbarDialog;
import ru.vtosters.lite.utils.AndroidUtils;
public class InterfaceFragment extends MaterialPreferenceToolbarFragment {
@Override
@@ -31,9 +32,9 @@ public class InterfaceFragment extends MaterialPreferenceToolbarFragment {
});
if (getPreferences().getInt("pic_rounding", 0) == 0) {
findPreference("customrounding").setSummary("Отключено");
findPreference("customrounding").setSummary(AndroidUtils.getString("disabled"));
} else {
findPreference("customrounding").setSummary("Размер закругления: " + getPreferences().getInt("pic_rounding", 0) + "dp");
findPreference("customrounding").setSummary(String.format(AndroidUtils.getString("rounding_size"), getPreferences().getInt("pic_rounding", 0)));
}
}
@@ -42,6 +42,7 @@ import okhttp3.Request;
import ru.vtosters.lite.downloaders.VideoDownloader;
import ru.vtosters.lite.music.Scrobbler;
import ru.vtosters.lite.ui.adapters.ImagineArrayAdapter;
import ru.vtosters.lite.utils.AndroidUtils;
import ru.vtosters.lite.utils.FileUriUtils;
import ru.vtosters.lite.utils.Preferences;
@@ -113,19 +114,19 @@ public class MediaFragment extends MaterialPreferenceToolbarFragment {
});
findPreference("downloads_directory").setSummary(
"Текущая папка: " + Preferences.getDownloadsDir()
AndroidUtils.getString("current_download_folder") + " " + Preferences.getDownloadsDir()
);
findPreference("photos_directory").setSummary(
"Текущая папка: " + Preferences.getPhotosDir()
AndroidUtils.getString("current_download_folder") + " " + Preferences.getPhotosDir()
);
findPreference("videos_directory").setSummary(
"Текущая папка: " + Preferences.getVideosDir()
AndroidUtils.getString("current_download_folder") + " " + Preferences.getVideosDir()
);
findPreference("music_directory").setSummary(
"Текущая папка: " + Preferences.getMusicDir()
AndroidUtils.getString("current_download_folder") + " " + Preferences.getMusicDir()
);
findPreference("downloads_directory").setOnPreferenceClickListener(preference -> {
@@ -157,7 +158,7 @@ public class MediaFragment extends MaterialPreferenceToolbarFragment {
});
if (isLoggedIn()) {
findPreference("lastfm_auth").setSummary("Вы авторизованы как " + Scrobbler.getUserName());
findPreference("lastfm_auth").setSummary(AndroidUtils.getString("lastfm_authorized_as") + Scrobbler.getUserName());
} else {
findPreference("lastfm_enabled").setEnabled(false);
}
@@ -191,7 +192,7 @@ public class MediaFragment extends MaterialPreferenceToolbarFragment {
linearLayout.setOrientation(LinearLayout.VERTICAL);
final EditText fn = new EditText(ctx);
fn.setHint("Логин");
fn.setHint(AndroidUtils.getString("lastfm_login"));
fn.setTextColor(getTextAttr());
fn.setHintTextColor(getSTextAttr());
fn.setBackgroundTintList(ColorStateList.valueOf(getAccentColor()));
@@ -202,7 +203,7 @@ public class MediaFragment extends MaterialPreferenceToolbarFragment {
fn.setLayoutParams(margin);
final EditText ln = new EditText(ctx);
ln.setHint("Пароль");
ln.setHint(AndroidUtils.getString("lastfm_password"));
ln.setTextColor(getTextAttr());
ln.setHintTextColor(getSTextAttr());
ln.setBackgroundTintList(ColorStateList.valueOf(getAccentColor()));
@@ -211,10 +212,10 @@ public class MediaFragment extends MaterialPreferenceToolbarFragment {
ln.setLayoutParams(margin);
AlertDialog.Builder alertDialog = new AlertDialog.Builder(ctx, getAlertStyle());
alertDialog.setTitle("Введите логин и пароль");
alertDialog.setTitle(AndroidUtils.getString("lastfm_enter_credentials"));
alertDialog.setView(linearLayout);
alertDialog.setPositiveButton("Войти", (dialog, which) -> {
alertDialog.setPositiveButton(AndroidUtils.getString("lastfm_enter"), (dialog, which) -> {
String login = fn.getText().toString();
String pass = ln.getText().toString();
@@ -227,12 +228,12 @@ public class MediaFragment extends MaterialPreferenceToolbarFragment {
private void logout(Context ctx) {
VkAlertDialog.Builder alertDialog = new VkAlertDialog.Builder(ctx);
alertDialog.setTitle("Вы уверены?");
alertDialog.setMessage("Вы действительно хотите выйти из аккаунта?");
alertDialog.setPositiveButton("Да", (dialog, which) -> {
alertDialog.setTitle(AndroidUtils.getString("lastfm_logout_title"));
alertDialog.setMessage(AndroidUtils.getString("lastfm_logout_confirm"));
alertDialog.setPositiveButton(AndroidUtils.getString("vkim_yes"), (dialog, which) -> {
Scrobbler.logout();
});
alertDialog.setNeutralButton("Нет", (dialog, which) -> {
alertDialog.setNeutralButton(AndroidUtils.getString("vkim_no"), (dialog, which) -> {
dialog.cancel();
});
var alert = alertDialog.create();
@@ -262,12 +263,12 @@ public class MediaFragment extends MaterialPreferenceToolbarFragment {
thread.start();
sendToast("История просмотра видео очищена");
sendToast(AndroidUtils.getString("video_history_cleaned"));
}
public static void download(Context ctx) {
AlertDialog.Builder alertDialog = new AlertDialog.Builder(ctx, getAlertStyle());
alertDialog.setTitle("Введите ссылку на видео");
alertDialog.setTitle(AndroidUtils.getString("video_dl_enter_link"));
final EditText input = new EditText(ctx);
LinearLayout.LayoutParams lp = new LinearLayout.LayoutParams(
@@ -277,7 +278,7 @@ public class MediaFragment extends MaterialPreferenceToolbarFragment {
input.setTextColor(getTextAttr());
input.setBackgroundTintList(ColorStateList.valueOf(getAccentColor()));
alertDialog.setView(input);
alertDialog.setPositiveButton("Скачать", (dialog, which) -> VideoDownloader.parseVideoLink(input.getText().toString(), ctx));
alertDialog.setPositiveButton(AndroidUtils.getString("download"), (dialog, which) -> VideoDownloader.parseVideoLink(input.getText().toString(), ctx));
var alert = alertDialog.create();
alert.show();
alert.getButton(DialogInterface.BUTTON_POSITIVE).setTextColor(getAccentColor());
@@ -77,7 +77,7 @@ public class OtherFragment extends MaterialPreferenceToolbarFragment {
String token = data.getStringExtra("token");
AndroidUtils.getPreferences().edit().putString("vk_admin_token", token).apply();
Log.d("VkAdminToken", token);
Toast.makeText(getContext(), "Токен успешно сохранён", LENGTH_SHORT).show();
Toast.makeText(getContext(), AndroidUtils.getString("token_saved"), LENGTH_SHORT).show();
}
}
}
@@ -98,29 +98,29 @@ public class OtherFragment extends MaterialPreferenceToolbarFragment {
findPreference("resetfolders").setOnPreferenceClickListener(preference -> {
edit().remove("photos_directory").remove("videos_directory").remove("audios_directory").remove("downloads_directory").apply();
Toast.makeText(getContext(), "Папки успешно сброшены", LENGTH_SHORT).show();
Toast.makeText(getContext(), AndroidUtils.getString("download_folders_reseted"), LENGTH_SHORT).show();
return true;
});
var pref = getDefaultPrefs().getString("autoclearcache", "Default");
switch (pref) {
case "Default":
findPreference("autoclearcache").setSummary("Не включено");
findPreference("autoclearcache").setSummary(AndroidUtils.getString("cache_disabled"));
break;
case "100mb":
findPreference("autoclearcache").setSummary("Очищать кеш при не менее 100 Мб");
findPreference("autoclearcache").setSummary(AndroidUtils.getString("cache_100mb"));
break;
case "500mb":
findPreference("autoclearcache").setSummary("Очищать кеш при не менее 500 Мб");
findPreference("autoclearcache").setSummary(AndroidUtils.getString("cache_500mb"));
break;
case "1gb":
findPreference("autoclearcache").setSummary("Очищать кеш при не менее 1 Гб");
findPreference("autoclearcache").setSummary(AndroidUtils.getString("cache_1gb"));
break;
case "2gb":
findPreference("autoclearcache").setSummary("Очищать кеш при не менее 2 Гб");
findPreference("autoclearcache").setSummary(AndroidUtils.getString("cache_2gb"));
break;
case "5gb":
findPreference("autoclearcache").setSummary("Очищать кеш при не менее 5 Гб");
findPreference("autoclearcache").setSummary(AndroidUtils.getString("cache_5gb"));
break;
}
@@ -192,12 +192,12 @@ public class OtherFragment extends MaterialPreferenceToolbarFragment {
five.setChecked(val == 5);
VkAlertDialog.Builder builder = new VkAlertDialog.Builder(getContext());
builder.setTitle("Очистка кеша");
builder.setMessage("Выберите объём кеша для очистки");
builder.setTitle(AndroidUtils.getString("cache_clean_title"));
builder.setMessage(AndroidUtils.getString("cache_select_size"));
builder.setCancelable(true);
builder.setNegativeButton("Отмена", null);
builder.setNegativeButton(AndroidUtils.getString("cancel"), null);
builder.setView(rg);
builder.setPositiveButton("Сохранить", (dialog, which) -> {
builder.setPositiveButton(AndroidUtils.getString("save"), (dialog, which) -> {
var pref = getDefaultPrefs().edit();
var checked = rg.getCheckedRadioButtonId();
@@ -228,8 +228,8 @@ public class OtherFragment extends MaterialPreferenceToolbarFragment {
private void cacheCleanDialog() {
VkAlertDialog.Builder builder = new VkAlertDialog.Builder(getContext());
builder.setTitle("Выберите что вы хотите очистить");
builder.setItems(new String[]{"Очистить весь кеш", "Очистить кеш стикеров", "Очистить кеш изображений", "Очистить кеш видео", "Очистить кеш сообщений", "Очистить кеш WebView"}, (dialog, which) -> {
builder.setTitle(AndroidUtils.getString("select_which_clean"));
builder.setItems(AndroidUtils.getArray("cache_cleaner"), (dialog, which) -> {
switch (which) {
case 0: {
SharedPreferences prefs2 = getContext().getSharedPreferences("stickers_storage", Context.MODE_PRIVATE);
@@ -270,7 +270,7 @@ public class OtherFragment extends MaterialPreferenceToolbarFragment {
break;
}
Toast.makeText(getContext(), "Кеш очищен", LENGTH_SHORT).show();
Toast.makeText(getContext(), AndroidUtils.getString("cache_cleaned"), LENGTH_SHORT).show();
});
builder.create().show();
}
@@ -289,7 +289,7 @@ public class OtherFragment extends MaterialPreferenceToolbarFragment {
try {
backupOnlines();
} catch (IOException e) {
Toast.makeText(getContext(), "Нет данных для резервного копирования", LENGTH_SHORT).show();
Toast.makeText(getContext(), AndroidUtils.getString("no_data_to_backup"), LENGTH_SHORT).show();
}
return true;
}
@@ -359,14 +359,14 @@ public class OtherFragment extends MaterialPreferenceToolbarFragment {
var arr = BackupManager.getBackupsNames();
var adapter = new ArrayAdapter(getContext(), android.R.layout.simple_list_item_1, arr);
new VkAlertDialog.Builder(getContext())
.setTitle("Выберите бэкап")
.setTitle(AndroidUtils.getString("select_backup"))
.setAdapter(adapter, (dialog, which) -> {
try {
restoreBackup(arr[which]);
Toast.makeText(getContext(), "Настройки восстановлены", LENGTH_LONG).show();
Toast.makeText(getContext(), AndroidUtils.getString("backup_success"), LENGTH_LONG).show();
} catch (IOException e) {
e.printStackTrace();
Toast.makeText(getContext(), "Ошибка, Настройки не восстановлены", LENGTH_LONG).show();
Toast.makeText(getContext(), AndroidUtils.getString("backup_error"), LENGTH_LONG).show();
}
}).create().show();
return true;
@@ -114,7 +114,7 @@ public class VTSettings extends MaterialPreferenceToolbarFragment {
public static String getSuperappsumm() {
if (disableSettingsSumms()) return null;
return "Скрыто элементов" + ": " + SuperAppEditorManager.getInstance().getDisabledTabs().size();
return AndroidUtils.getString("elements_hidden_count") + ": " + SuperAppEditorManager.getInstance().getDisabledTabs().size();
}
public static String getCachesumm() {
@@ -330,7 +330,7 @@ public class VTSettings extends MaterialPreferenceToolbarFragment {
});
}
} else {
addPreference(this, "", "Внимание!", "Некоторые пункты настроек были скрыты из-за режима VK Мессенджер \n\nДля отключения режима перейдите в настройки Сообщений", "ic_about_outline_28", preference -> false);
addPreference(this, "", AndroidUtils.getString("debug_warning"), AndroidUtils.getString("vkme_mode_info"), "ic_about_outline_28", preference -> false);
}
addPreference(this, "", AndroidUtils.getString("vtlmedia"), mediasumm, "ic_media_outline_28", preference -> {
@@ -24,6 +24,7 @@ import java.util.Objects;
import kotlin.Unit;
import kotlin.jvm.b.Functions;
import ru.vtosters.lite.utils.AndroidUtils;
import ru.vtosters.lite.utils.RenameTool;
public class MenuBuilder {
@@ -55,17 +56,17 @@ public class MenuBuilder {
final ExtendedUserProfile eup = (ExtendedUserProfile) pfambObject.get(mb);
final Context ctx = ((View) Objects.requireNonNull(apView.get(builder))).getContext();
addItem(builder, "Скопировать ID", () -> {
addItem(builder, AndroidUtils.getString("menu_copy_id"), () -> {
copy(ctx, String.valueOf(getUserID(eup)));
return Unit.a;
});
addItem(builder, "Дополнительная информация", () -> {
addItem(builder, AndroidUtils.getString("menu_addon_info"), () -> {
loadAndShow(ctx, getUserID(eup));
return Unit.a;
});
addItem(builder, "Изменить имя", () -> {
addItem(builder, AndroidUtils.getString("menu_change_name"), () -> {
RenameTool.createDialog(eup, ctx);
return Unit.a;
});
@@ -80,12 +81,12 @@ public class MenuBuilder {
final ExtendedCommunityProfile ecp = (ExtendedCommunityProfile) cfambObject.get(mb);
final Context ctx = ((View) apView.get(builder)).getContext();
addItem(builder, "Скопировать ID", () -> {
addItem(builder, AndroidUtils.getString("menu_copy_id"), () -> {
copy(ctx, String.valueOf(getUserID(ecp)));
return Unit.a;
});
addItem(builder, "Изменить имя", () -> {
addItem(builder, AndroidUtils.getString("menu_addon_info"), () -> {
RenameTool.createDialogGroup(ecp, ctx);
return Unit.a;
});
@@ -100,7 +101,7 @@ public class MenuBuilder {
ClipData clip = ClipData.newPlainText("MBH-ST", txt);
clipboard.setPrimaryClip(clip);
sendToast("Скопировано!");
sendToast(AndroidUtils.getString("menu_copied"));
}
public static void addItem(final ActionsPopup.b builder, final String title, final Functions onClick) throws InvocationTargetException, IllegalAccessException {
@@ -31,6 +31,7 @@ import java.io.InputStream;
import java.io.OutputStream;
import ru.vtosters.lite.ui.PreferencesUtil;
import ru.vtosters.lite.utils.AndroidUtils;
public class WallpaperMenuFragment extends MaterialPreferenceToolbarFragment {
@@ -56,20 +57,20 @@ public class WallpaperMenuFragment extends MaterialPreferenceToolbarFragment {
int vtosterXml = getIdentifier("empty", "xml");
addPreferencesFromResource(vtosterXml);
PreferencesUtil.addPreferenceCategory(this, "Предпросмотр");
PreferencesUtil.addPreferenceCategory(this, AndroidUtils.getString("vkim_settings_appearance_chat_preview_title"));
mWPPreviewPref = new WallpaperPreferences(getContext());
mWPPreviewPref.setIcon(null);
mWPPreviewPref.setIconSpaceReserved(false);
getPreferenceScreen().addPreference(mWPPreviewPref);
PreferencesUtil.addPreference(this, "wp_set", "Выбрать обои", "из галереи", "ic_picture_outline_28", preference -> {
PreferencesUtil.addPreference(this, "wp_set", AndroidUtils.getString("wallpaper_select"), AndroidUtils.getString("wallpaper_from_gallery"), "ic_picture_outline_28", preference -> {
startActivityForResult(new Intent(Intent.ACTION_PICK, android.provider.MediaStore.Images.Media.EXTERNAL_CONTENT_URI), 1488);
removeStickCache();
return true;
});
PreferencesUtil.addPreference(this, "wp_clear", "Удалить обои", "", "ic_delete_outline_28", preference -> {
PreferencesUtil.addPreference(this, "wp_clear", AndroidUtils.getString("wallpaper_remove"), "", "ic_delete_outline_28", preference -> {
removeWallpaper();
requestUpdateWallpaper();
mWPPreviewPref.redraw();
@@ -77,36 +78,30 @@ public class WallpaperMenuFragment extends MaterialPreferenceToolbarFragment {
return true;
});
PreferencesUtil.addPreferenceCategory(this, "Фильтры");
PreferencesUtil.addPreferenceCategory(this, AndroidUtils.getString("vtlfilters"));
if (!hasVerification() && !getBoolValue("dialogrecomm", false)) {
PreferencesUtil.addPreference(this, "", "Доступны не все фильтры!", "Для разблокировки необходимо сделать пожертование от 99р", null, preference -> {
PreferencesUtil.addPreference(this, "", AndroidUtils.getString("filters_warning"), AndroidUtils.getString("icons_warning_info"), null, preference -> {
getContext().startActivity(new Intent("android.intent.action.VIEW").setData(Uri.parse("https://vtosters.app")));
return false;
});
}
PreferencesUtil.addListPreference(this, "msg_blur_radius", "disabled", "Размытие фона сообщений", new CharSequence[]{
"Отключено", "Низкое (15px)", "Среднее (25px)", "Высокое (50px)"
}, new String[]{
PreferencesUtil.addListPreference(this, "msg_blur_radius", "disabled", AndroidUtils.getString("filter_blur"), AndroidUtils.getArray("filter_types"), new String[]{
"disabled", "low", "med", "high"
});
PreferencesUtil.addListPreference(this, "msg_dim", "off", "Затемнение изображения", new CharSequence[]{
"Отключено", "Затемнить", "Осветлить"
}, new String[]{
PreferencesUtil.addListPreference(this, "msg_dim", "off", AndroidUtils.getString("filter_dim"), AndroidUtils.getArray("filter_dim_types"), new String[]{
"off", "dim_black", "dim_white"
});
PreferencesUtil.addListPreference(this, "msg_mosaic", "disabled", "Мозаика", new CharSequence[]{
"Отключено", "Низкое", "Среднее", "Высокое"
}, new String[]{
PreferencesUtil.addListPreference(this, "msg_mosaic", "disabled", AndroidUtils.getString("filter_mosaic"), AndroidUtils.getArray("filter_types"), new String[]{
"disabled", "low", "med", "high"
});
if (hasVerification()) {
PreferencesUtil.addMaterialSwitchPreference(this, "msg_monochrome", "Черно-белый фон", "", null, false, (preference, o) -> {
PreferencesUtil.addMaterialSwitchPreference(this, "msg_monochrome", AndroidUtils.getString("filter_monochrome"), "", null, false, (preference, o) -> {
boolean value = (boolean) o;
edit().putBoolean("msg_monochrome", value).commit();
requestUpdateWallpaper();
@@ -114,7 +109,7 @@ public class WallpaperMenuFragment extends MaterialPreferenceToolbarFragment {
return true;
});
PreferencesUtil.addMaterialSwitchPreference(this, "msg_invert", "Инвертировать цвета", "", null, false, (preference, o) -> {
PreferencesUtil.addMaterialSwitchPreference(this, "msg_invert", AndroidUtils.getString("filter_invert_colors"), "", null, false, (preference, o) -> {
boolean value = (boolean) o;
edit().putBoolean("msg_invert", value).commit();
requestUpdateWallpaper();
@@ -122,7 +117,7 @@ public class WallpaperMenuFragment extends MaterialPreferenceToolbarFragment {
return true;
});
PreferencesUtil.addMaterialSwitchPreference(this, "msg_sepia", "Эффект сепии", "", null, false, (preference, o) -> {
PreferencesUtil.addMaterialSwitchPreference(this, "msg_sepia", AndroidUtils.getString("filter_sepia"), "", null, false, (preference, o) -> {
boolean value = (boolean) o;
edit().putBoolean("msg_sepia", value).commit();
requestUpdateWallpaper();
@@ -130,7 +125,7 @@ public class WallpaperMenuFragment extends MaterialPreferenceToolbarFragment {
return true;
});
PreferencesUtil.addMaterialSwitchPreference(this, "msg_emboss", "Emboss фильтр", "Возможна нагрузка на устройство", null, false, (preference, o) -> {
PreferencesUtil.addMaterialSwitchPreference(this, "msg_emboss", AndroidUtils.getString("filter_emboss"), AndroidUtils.getString("filter_maybe_lag"), null, false, (preference, o) -> {
boolean value = (boolean) o;
edit().putBoolean("msg_emboss", value).commit();
requestUpdateWallpaper();
@@ -138,7 +133,7 @@ public class WallpaperMenuFragment extends MaterialPreferenceToolbarFragment {
return true;
});
PreferencesUtil.addMaterialSwitchPreference(this, "msg_engrave", "Engrave фильтр", "Возможна нагрузка на устройство", null, false, (preference, o) -> {
PreferencesUtil.addMaterialSwitchPreference(this, "msg_engrave", AndroidUtils.getString("filter_engrave"), AndroidUtils.getString("filter_maybe_lag"), null, false, (preference, o) -> {
boolean value = (boolean) o;
edit().putBoolean("msg_engrave", value).commit();
requestUpdateWallpaper();
@@ -146,7 +141,7 @@ public class WallpaperMenuFragment extends MaterialPreferenceToolbarFragment {
return true;
});
PreferencesUtil.addMaterialSwitchPreference(this, "msg_flea", "Flea фильтр", "", null, false, (preference, o) -> {
PreferencesUtil.addMaterialSwitchPreference(this, "msg_flea", AndroidUtils.getString("filter_flea"), "", null, false, (preference, o) -> {
boolean value = (boolean) o;
edit().putBoolean("msg_flea", value).commit();
requestUpdateWallpaper();
@@ -154,7 +149,7 @@ public class WallpaperMenuFragment extends MaterialPreferenceToolbarFragment {
return true;
});
PreferencesUtil.addMaterialSwitchPreference(this, "msg_snow", "Эффект снега", "", null, false, (preference, o) -> {
PreferencesUtil.addMaterialSwitchPreference(this, "msg_snow", AndroidUtils.getString("filter_flea"), "", null, false, (preference, o) -> {
boolean value = (boolean) o;
edit().putBoolean("msg_snow", value).commit();
requestUpdateWallpaper();
@@ -16,6 +16,8 @@ import android.widget.ImageView;
import java.io.File;
import ru.vtosters.lite.utils.AndroidUtils;
public class WallpapersHooks {
private static File mWallpaperFile;
@@ -91,13 +93,13 @@ public class WallpapersHooks {
String radius = getPreferences().getString("msg_blur_radius", "disabled");
switch (radius) {
case "low":
return "Низкое";
return AndroidUtils.getString("wallpapers_low");
case "med":
return "Среднее";
return AndroidUtils.getString("wallpapers_med");
case "high":
return "Высокое";
return AndroidUtils.getString("wallpapers_high");
default:
return "Отключено";
return AndroidUtils.getString("wallpapers_disabled");
}
}
@@ -105,11 +107,11 @@ public class WallpapersHooks {
String radius = getPreferences().getString("msg_dim", "disabled");
switch (radius) {
case "dim_black":
return "Затемнить";
return AndroidUtils.getString("wallpapers_dim_black");
case "dim_white":
return "Осветлить";
return AndroidUtils.getString("wallpapers_dim_white");
default:
return "Отключено";
return AndroidUtils.getString("wallpapers_disabled");
}
}
@@ -117,13 +119,13 @@ public class WallpapersHooks {
String radius = getPreferences().getString("msg_mosaic", "disabled");
switch (radius) {
case "low":
return "Низкое";
return AndroidUtils.getString("wallpapers_low");
case "med":
return "Среднее";
return AndroidUtils.getString("wallpapers_med");
case "high":
return "Высокое";
return AndroidUtils.getString("wallpapers_high");
default:
return "Отключено";
return AndroidUtils.getString("wallpapers_disabled");
}
}
@@ -22,10 +22,10 @@ public class About {
public static void injectToToolBar(View view) {
view.setOnLongClickListener(v -> {
if (devmenu()) {
sendToast("Меню для разработчиков уже активировано");
sendToast(AndroidUtils.getString("debug_menu_already_activated"));
} else {
edit().putBoolean("devmenu", true).apply();
sendToast("Меню для разработчиков активировано");
sendToast(AndroidUtils.getString("debug_menu_activated"));
}
return true;
});
@@ -63,6 +63,10 @@ public class AndroidUtils {
return 0;
} // Get res id
public static String[] getArray(String resourcename) {
return getResources().getStringArray(getIdentifier(resourcename, "array"));
} // Get array from arrays.xml
public static String getString(String resourcename) {
return getGlobalContext().getString(getIdentifier(resourcename, "string"));
} // Get string via getIdentifier
@@ -56,7 +56,7 @@ public class CacheUtils {
size = IOUtils.getDirSize(getGlobalContext().getCacheDir());
if (size >= getSizeForDelete()) {
if (dev()) sendToast("Кеш очищен");
if (dev()) sendToast(AndroidUtils.getString("cache_cleaned"));
VKImageLoader.e();
ImAudioMsgPlayerProvider.b().e(PlayerActionSources.a);
ImAudioMsgPlayerProvider.b().d(PlayerActionSources.a);
@@ -152,7 +152,7 @@ public class RenameTool {
linearLayout.setOrientation(LinearLayout.VERTICAL);
final EditText fn = new EditText(ctx);
fn.setHint("Имя");
fn.setHint(AndroidUtils.getString("vk_auth_sign_up_first_name"));
fn.setTextColor(getTextAttr());
fn.setHintTextColor(getSTextAttr());
fn.setBackgroundTintList(ColorStateList.valueOf(getAccentColor()));
@@ -163,7 +163,7 @@ public class RenameTool {
fn.setLayoutParams(margin);
final EditText ln = new EditText(ctx);
ln.setHint("Фамилия");
ln.setHint(AndroidUtils.getString("vk_auth_sign_up_last_name"));
ln.setTextColor(getTextAttr());
ln.setHintTextColor(getSTextAttr());
ln.setBackgroundTintList(ColorStateList.valueOf(getAccentColor()));
@@ -178,8 +178,8 @@ public class RenameTool {
int id = AccountManagerUtils.getUserID(profile);
AlertDialog.Builder builder = new AlertDialog.Builder(ctx, getAlertStyle());
builder.setTitle("Смена имени");
builder.setMessage("Это локальное изменение, которое будет отображатся только в данном клиенте.");
builder.setTitle(AndroidUtils.getString("rename_title"));
builder.setMessage(AndroidUtils.getString("rename_message"));
builder.setView(linearLayout);
builder.setPositiveButton("OK", (dialog, which) -> {
String firstName = fn.getText().toString();
@@ -197,19 +197,20 @@ public class RenameTool {
}
ctx.sendBroadcast(new Intent("com.vkontakte.android.ACTION_PROFILE_UPDATED").putExtra("uid", id));
sendToast("Пользователь успешно переименован!");
sendToast(AndroidUtils.getString("rename_success"));
} catch (Exception e) {
e.printStackTrace();
sendToast(AndroidUtils.getString("rename_error"));
}
});
if (isChangedName(id)) builder.setNeutralButton("Сбросить", (dialog, which) -> {
if (isChangedName(id)) builder.setNeutralButton(AndroidUtils.getString("rename_reset"), (dialog, which) -> {
getHelper().getWritableDatabase().execSQL(String.format("DELETE FROM %s WHERE %s='%s'", TABLE_NAME, COLUMN_VKID, id));
if (id == AccountManagerUtils.getUserId()) {
ctx.sendBroadcast(new Intent("com.vkontakte.android.USER_NAME_CHANGED"));
}
updateRequested = true;
ctx.sendBroadcast(new Intent("com.vkontakte.android.ACTION_PROFILE_UPDATED").putExtra("uid", id));
sendToast("Пользователь успешно удален из базы данных!");
sendToast(AndroidUtils.getString("rename_remove_from_bd_success"));
});
var alert = builder.create();
@@ -225,7 +226,7 @@ public class RenameTool {
linearLayout.setOrientation(LinearLayout.VERTICAL);
final EditText fn = new EditText(ctx);
fn.setHint("Имя");
fn.setHint(AndroidUtils.getString("vk_auth_sign_up_first_name"));
fn.setHintTextColor(getSTextAttr());
fn.setTextColor(getTextAttr());
fn.setBackgroundTintList(ColorStateList.valueOf(getAccentColor()));
@@ -244,8 +245,8 @@ public class RenameTool {
final int id = fid;
AlertDialog.Builder builder = new AlertDialog.Builder(ctx, getAlertStyle());
builder.setTitle("Смена имени");
builder.setMessage("Это локальное изменение, которое будет отображатся только в данном клиенте");
builder.setTitle(AndroidUtils.getString("rename_title"));
builder.setMessage(AndroidUtils.getString("rename_message"));
builder.setView(linearLayout);
builder.setPositiveButton("OK", (dialog, which) -> {
String firstName = fn.getText().toString();
@@ -257,15 +258,15 @@ public class RenameTool {
writableDatabase.execSQL(String.format("INSERT INTO %s (%s, %s) VALUES (%s, '%s')", TABLE_NAME_GROUP, COLUMN_VKID, COLUMN_NAME, id, URLEncoder.encode(firstName, "UTF-8")));
}
updateRequested = true;
sendToast("Сообщество успешно переименовано!");
sendToast(AndroidUtils.getString("rename_group_success"));
} catch (Exception e) {
e.printStackTrace();
}
});
if (isChangedNameGroup(id)) builder.setNeutralButton("Сбросить", (dialog, which) -> {
if (isChangedNameGroup(id)) builder.setNeutralButton(AndroidUtils.getString("rename_reset"), (dialog, which) -> {
getHelper().getWritableDatabase().execSQL(String.format("DELETE FROM %s WHERE %s='%s'", TABLE_NAME_GROUP, COLUMN_VKID, id));
updateRequested = true;
sendToast("Сообщество успешно удалено из базы данных!");
sendToast(AndroidUtils.getString("rename_remove_group_from_bd_success"));
});
var alert = builder.create();
+25
View File
@@ -651,4 +651,29 @@
<item>15 апреля в 18:42:28</item>
<item>15 апреля 2022 в 18:42:28</item>
</string-array>
<string-array name="wallpaper_change_dialog">
<item>Доброе время</item>
<item>Доброе утро, день, вечер, ночь</item>
<item>Как живёшь?</item>
<item>Не мёртвый, и то хорошо</item>
</string-array>
<string-array name="cache_cleaner">
<item>Очистить весь кеш</item>
<item>Очистить кеш стикеров</item>
<item>Очистить кеш изображений</item>
<item>Очистить кеш видео</item>
<item>Очистить кеш сообщений</item>
<item>Очистить кеш WebView</item>
</string-array>
<string-array name="filter_types">
<item>Отключено</item>
<item>Низкое</item>
<item>Среднее</item>
<item>Высокое</item>
</string-array>
<string-array name="filter_dim_types">
<item>Отключено</item>
<item>Затемнить</item>
<item>Осветлить</item>
</string-array>
</resources>
+340 -1
View File
@@ -282,6 +282,9 @@
<string name="audio_artist">Музыкант</string>
<string name="audio_broadcast">Трансляция аудиозаписей</string>
<string name="audio_deleted">Аудиозапись удалена</string>
<string name="audio_ipc_empty_track_list">Произошла ошибка. Вы пытаетесь воспроизвести пустой плейлист.</string>
<string name="audio_ipc_error">Произошла ошибка</string>
<string name="audio_ipc_error_network">Произошла ошибка. Проверьте соединение и повторите попытку.</string>
<string name="audio_lyrics">Текст песни</string>
<string name="audio_message">Голосовое сообщение</string>
<string name="audio_message_hold_to_record">Удерживайте, чтобы записать</string>
@@ -350,6 +353,7 @@
<string name="board">Обсуждения</string>
<string name="board_comment_sent">Комментарий отправлен</string>
<string name="bookmarks">Закладки</string>
<string name="bugtracker_token_cleaned">Токен удален</string>
<string name="buy_stickers">Магазин</string>
<string name="cache_my_music">Закешировать мою музыку</string>
<string name="camera_rotate_hint_bottom_text">Во время эфира нельзя изменять ориентацию съёмки</string>
@@ -599,6 +603,20 @@
<string name="community_warning_notification_negative_button">Назад</string>
<string name="community_warning_notification_positive_button">Продолжить просмотр</string>
<string name="completing_purchase">Завершение покупки...</string>
<string name="components_actions_popup">Контекстное меню</string>
<string name="components_base">Основные</string>
<string name="components_bottom_confirm_btn">Нижняя кнопка</string>
<string name="components_buttons">Кнопки</string>
<string name="components_dialogs">Диалоги</string>
<string name="components_input_fields">Поля ввода</string>
<string name="components_intro_promo">Интро/Промо</string>
<string name="components_loaders">Лоадеры</string>
<string name="components_placeholder">Заглушки</string>
<string name="components_snackbar">Снекбар</string>
<string name="components_stub">Заглушки</string>
<string name="components_text">Текст</string>
<string name="components_title">VK UI компоненты</string>
<string name="components_tooltips">Тултипы</string>
<string name="confirm">Подтверждение</string>
<string name="confirm_action_title">Подтверждение действия</string>
<string name="confirm_block_user">Вы действительно хотите заблокировать %s?</string>
@@ -5348,6 +5366,8 @@
Пример: #реклама, Выиграйте сегодня, НОВИНКА!
Фильтры не чувствительны к регистру!"</string>
<string name="vtlownfilter">Фильтр слов и выражений</string>
<string name="vtllinkfilter">Фильтр ссылок в источнике</string>
<string name="vtlsourcenamefilter">Фильтр по названию источника</string>
<string name="vtlsfilter">Стандартный фильтр рекламы</string>
<string name="vtlsfiltersummary">Фильтр для блокировки постов с пометкой #реклама и тд</string>
<string name="vtlusevkui">Использовать VKUI</string>
@@ -5357,6 +5377,32 @@
<string name="vtlvoice">Запись голосовых сообщений</string>
<string name="vtlvoicesummary">Иконка записи голосовых сообщений в поле ввода сообщения</string>
<string name="vtlnavbar">Покрасить панель навигации</string>
<string name="cringecopyright_title">Посты с возможной рекламой</string>
<string name="cringecopyright_summ">Блокировать посты с источником где есть ссылка на VK / Telegram (группу, страницу или посты) или на другие возможные ресурсы</string>
<string name="cringerepost_title">Репосты с ссылками</string>
<string name="cringerepost_summ">Блокировать посты с репостом внутри которых есть ссылка на VK / Telegram</string>
<string name="why_news_not_updated_title">Почему не обновляются новости?</string>
<string name="why_news_not_updated_summ">Возможно у вас включена Интересная лента \n\nЕсли вы хотите поменять ленту на Временную, то вы можете сменить ее нажав на пункт выше</string>
<string name="newsfeedlistmanager_title">Списки новостей</string>
<string name="newsfeedlistmanager_summ">Настройки списков новостей</string>
<string name="newsfeedlistmanager_reset_title">Сбросить список новостей</string>
<string name="where_is_cache_settings">Где настройки кеша?</string>
<string name="where_is_cache_settings_summ">Они переехали в настройки мода во вкладку Другое</string>
<string name="gms_about">О GMS</string>
<string name="gms_what_is_title">Что такое GMS?</string>
<string name="gms_what_is_summ">GMS - Google Mobile Services, необходимый компонент для нормальной работы приложений. Все уведомления, вход в игры, Google Play и прочие функции устройства используют этот компонент</string>
<string name="gms_why_need_title">Зачем мне нужен GMS для этого приложения?</string>
<string name="gms_why_need_summ">GMS необходим для работы уведомлений, для работы музыки и ещё очень многих компонентов приложения</string>
<string name="gms_how_to_download">Как скачать?</string>
<string name="gms_what_to_do_then">Что тогда делать?</string>
<string name="gms_what_to_do_then_summ">Вам необходимо скачать MicroG.</string>
<string name="gms_what_is_microg">Что такое MicroG?</string>
<string name="gms_what_is_microg_summ">Это открытая альтернатива сервисам GMS с возможностью установить её на устройство без GMS</string>
<string name="gms_microg_site">Официальный сайт MicroG</string>
<string name="gms_download_microg">Скачать MicroG</string>
<string name="gms_what_to_do_next">Что делать дальше?</string>
<string name="gms_what_to_do_after_microg_title">Что делать после установки MicroG?</string>
<string name="gms_what_to_do_after_microg_summ">Обновите регистрацию Firebase в настройках в разделе "Другое"</string>
<string name="donate">Помочь проекту</string>
<string name="fulltime">dd MMMM yyyy в HH:mm:ss</string>
<string name="fulltime2">dd MMMM в HH:mm:ss</string>
@@ -5449,6 +5495,62 @@
<string name="interfaceglobalpostsum">"Сокращать текст в постах
Показать полностью..."</string>
<string name="pollresults_title">Результаты опросов</string>
<string name="pollresults_summ">Показывать результаты в опросах без участия в них</string>
<string name="vtl_downloads_title">Загрузки</string>
<string name="current_download_folder">Текущая папка:</string>
<string name="folder_for_downloads">Папка для загрузок</string>
<string name="folder_for_photos">Папка для фото</string>
<string name="folder_for_videos">Папка для видео</string>
<string name="folder_for_music">Папка для музыки</string>
<string name="sett_compress_photo_summ">Отключение значительно улучшит качество загружаемых фотографий</string>
<string name="sett_compress_video_summ">Отключение значительно улучшит качество загружаемых видео</string>
<string name="lastfm_auth_title">Аккаунт</string>
<string name="lastfm_auth_error">Ошибка входа</string>
<string name="lastfm_auth_summ">Вы не вошли в аккаунт</string>
<string name="lastfm_logout_success">Вы успешно вышли из учетной записи</string>
<string name="lastfm_enabled_title">Включить скробблинг</string>
<string name="lastfm_enabled_summ">Полезный сервис по учету прослушивания песен</string>
<string name="lastfm_credentials_empty">Логин или пароль не заданы</string>
<string name="vtl_music_settings">Музыка</string>
<string name="musicnewcatalog_title">Новый раздел музыки</string>
<string name="musicnewcatalog_summ">Новый каталог музыкального раздела с динамическим контентом</string>
<string name="musicdefcatalog_dialogTitle">Выберите раздел по умолчанию</string>
<string name="musicdefcatalog_title">Раздел музыки по умолчанию</string>
<string name="vtl_video_settings">Видео</string>
<string name="vtl_download_video_title">Скачать видео</string>
<string name="videonewcatalog_title">Новый раздел видео</string>
<string name="videonewcatalog_summ">Новый каталог видео раздела с динамическим контентом</string>
<string name="clearvideohistory_title">Очистить историю видео</string>
<string name="clearvideohistory_summ">Очистка истории просмотра видео удалит все видео из истории просмотра и рекомендации основанные на них</string>
<string name="vtl_photo_settings">Фото</string>
<string name="photo_search_engine_title">Выбор движка для поиска фото</string>
<string name="wallpapers_title">Обои в сообщениях</string>
<string name="convBarRecomm_title">Скрыть рекомендации</string>
<string name="convBarRecomm_summ">Скрыть блок рекомендаций добавления в друзья в сообщениях и других советов</string>
<string name="vk_messenger">VK Мессенджер</string>
<string name="translator_title">Переводчик</string>
<string name="translator_choose_language">Выберите язык</string>
<string name="translator_translate_language">Язык переводчика</string>
<string name="translator_translate_service">Сервис переводов</string>
<string name="autotranslate_title">Автоматический перевод</string>
<string name="autotranslate_summ">Автоматически переводить ваши исходящие сообщения</string>
<string name="autoalltranslate_title">Автоматический перевод всего</string>
<string name="autoalltranslate_summ">Автоматически переводить все сообщения\n\nМогут быть проблемы с загрузкой сообщений</string>
<string name="clearcache_other_title">Очистка кеша приложения</string>
<string name="reset_folders_locations">Сбросить пути папок</string>
<string name="vk_admin_token_title">Токен от VK Admin</string>
<string name="vtl_other_backups_title">Бэкапы</string>
<string name="saveonlines_title">Сохранить список онлайнов</string>
<string name="saveonlines_summ">Сохранить список AppId и их названия в файл</string>
<string name="saveprefs_title">Сохранить настройки</string>
<string name="restoreprefs_title">Восстановить настройки</string>
<string name="milkshake_title">Милкшейк</string>
<string name="milkshake_summ">Глобальный редизайн ВКонтакте как на новых версиях</string>
<string name="vtl_settings_dockbar_title">Докбар</string>
<string name="dockbar_accent_title">Использовать акцент для иконок</string>
<string name="iconmanager_title">Выбрать иконку приложения</string>
<string name="iconmanager_summ">Большой выбор иконок для приложения</string>
<string name="interfacenewsfeed">Лента</string>
<string name="interfacenewsfeedswipe">Боковая камера в новостях</string>
<string name="interfacenewsfeedswipesum">Работает только с классическим дизайном новостей</string>
@@ -5510,6 +5612,41 @@
<string name="shitpostingsummary">Фильтр очистки постов с РФ и действиями связанными на Украине\n\nМогут быть ошибочные срабатывания</string>
<string name="showstories">Показывать истории</string>
<string name="showstoriessum">Блок истории в верхней части ленты</string>
<string name="whatsnew_summ">Блок написания поста в ленте</string>
<string name="whatsnew_title">Показывать блок поста</string>
<string name="right_likes">Показ лайков в посте справа</string>
<string name="customrounding_title">Размер закругления картинок</string>
<string name="postsredesign_title">Редизайн видеопостов</string>
<string name="postsredesign_summ">Текст к видео будет отображаться под видеоматериалом</string>
<string name="miniapps_title">Блок миниаппов</string>
<string name="miniapps_summ">Показывать Miniapps/Игры в меню</string>
<string name="show_vkpay_title">Блок VK Pay</string>
<string name="show_vkpay_summ">Показывать VK Pay в меню</string>
<string name="show_superapps_title">Супераппы</string>
<string name="show_superapps_summ">Новый вид меню как в новых версиях ВКонтакте</string>
<string name="friendsblock_title">Скрыть друзей</string>
<string name="friendsblock_summ">Скрыть блок рекомендаций друзей в друзьях</string>
<string name="onlineformatter_title">Расширенный онлайн</string>
<string name="onlineformatter_summ">Показывать с какого приложения/клиента человек в онлайне</string>
<string name="voices_vtl">Голосовые сообщения</string>
<string name="disable_voice_listening_summ">Функция позволяет не отправлять статус прослушивания голосовых сообщений человека вами</string>
<string name="listen_v_title">Отключить статус прослушивания</string>
<string name="vkme_online_vtl">Скрытый онлайн VK Me</string>
<string name="onlinefix_summ">Показывать онлайн пользователей в профилях если у вас включен режим скрытия онлайна из VK Messenger</string>
<string name="onlinefix_title">Обходить онлайн</string>
<string name="globalUsersOnline_title">Глобальный обход онлайна</string>
<string name="globalUsersOnline_summ">Может вызывать долгие загрузки разделов и большое потребление трафика \n\nНе рекомендуется включать данную функцию</string>
<string name="savemsgsett_title">Сохранять настройки сообщений</string>
<string name="savemsgsett_summ">Сохранять положение тумблеров в настройках сообщений</string>
<string name="screenshotdetect_title">Отключить детект скриншотов</string>
<string name="screenshotdetect_summ">Отключить уведомление о том, что вы сделали скриншот</string>
<string name="hideDeviceInfo_title">Отключить отправку метрики</string>
<string name="hideDeviceInfo_summ">Отключить отправку информации об устройстве пользователя и вашем местоположении</string>
<string name="newadblock_title">Использовать новый AdBlock (Beta)</string>
<string name="podcastcatalog_title">Добавить каталог подкастов</string>
<string name="useNewSettings_title">Использовать новые настройки</string>
<string name="musicFixNew_title">Фикс музыки v2</string>
<string name="new_music_downloading_way_title">Новый способ скачивания музыки</string>
<string name="dialogrecomm">Отключить рекомендации</string>
<string name="showvtfire">Показывать специальные верификации</string>
<string name="showvtverify">Показывать верификации</string>
@@ -5605,6 +5742,7 @@
<string name="activity_undel">Анти-удаление сообщений</string>
<string name="activity_undel_tag">Пометка удалённого сообщения</string>
<string name="activity_undel_dial">Выберите пометку удалённого сообщения</string>
<string name="activity_undel_enable">Оставлять удалённые сообщения</string>
<string name="activity_undel_attachments">Может не сохранять вложения</string>
@@ -5641,6 +5779,8 @@
<string name="checkforupdates">Проверить обновления</string>
<string name="debug_no_toggles">Значения toggles не были получены с сервера</string>
<string name="debug_warning">Внимание!</string>
<string name="debug_warning_summary">Данное меню предназначено только для тестирования работоспособности приложения. Если вы являетесь рядовым юзером, то вам не следует ничего не трогать в данных настройках (пожалуйста)</string>
<string name="debug_show_settings_item">Показывать пункт дебага в настройках</string>
@@ -5683,17 +5823,26 @@
<string name="debug_logging_api_errors_summary">Отображать ошибки api с помощью тоста</string>
<string name="debug_logging_force_stats_sending">Моментальная отправка статы</string>
<string name="debug_logging_webview">Дебаг WebView</string>
<string name="debug_logging_visualise_viewposttime">Визуализация view_post_timen</string>
<string name="debug_logging_visualise_viewposttime">Визуализация view_post_time</string>
<string name="debug_logging_visualise_viewposttime_summary">Подсвечивать посты при регистрации события view_post_time</string>
<string name="debug_logging_breakpoints">Разрешить брекпоинты</string>
<string name="debug_logging_breakpoints_summary">Разрешить брекпоинты запросов через Proxy (Charles)</string>
<string name="debug_logging_apply_spaces">Применять дырки</string>
<string name="debug_logging_apply_spaces_summary">Применять дырки для сообщений после long poll history</string>
<string name="debug_logging_memleak">Включить MemLeak detect</string>
<string name="debug_network">Сеть</string>
<string name="debug_cache">Кэш</string>
<string name="debug_cache_trusted_hash">Очистить хэш 2фа</string>
<string name="debug_cache_webview">Очистить кеш WebView</string>
<string name="debug_cache_vkpay_token">Удалить токен VK Pay для оплаты по QR</string>
<string name="debug_cache_stickers">Очистить кеш стикеров</string>
<string name="debug_cache_video">Очистить видео кеш</string>
<string name="debug_clickable_sticker_border_title">Зона кликабельного стикера</string>
<string name="debug_create_sticker_border_title">Зоны стикера при создании</string>
<string name="debug_system">Системные</string>
<string name="debug_system_language">Подменить язык</string>
<string name="debug_system_terminate">Завершить процесс</string>
@@ -5710,6 +5859,10 @@
<string name="debug_tests_pretty_cards">Демо карусель карточек</string>
<string name="debug_tests_spa_uri">VK UI Uri (для теста)</string>
<string name="debug_tests_spa">Тест VK UI</string>
<string name="debug_tests_tooltip">Тестовый тултип</string>
<string name="debug_app_versions_list_title">Список версий</string>
<string name="debug_drop_bugtracker_token_title">Сбросить токен баг-трекера</string>
<string name="debug_proxy">Официальный прокси ВК</string>
<string name="debug_proxy_force_summary">Вкшные костыли для своего прокси</string>
@@ -5717,6 +5870,9 @@
<string name="debug_proxy_enable_summary">Не работает</string>
<string name="debug_other">Прочее</string>
<string name="debug_no_ads_title">Отключить рекламу</string>
<string name="debug_proxy_enable_title">Прокси</string>
<string name="debug_use_libverify_for_auth_title">Использовать libverify для авторизации</string>
<string name="DNR_ON">Включить нечиталку</string>
<string name="DNR_OFF">Отключить нечиталку</string>
@@ -5798,4 +5954,187 @@
<string name="readto">Прочитать до</string>
<string name="translator">Перевести</string>
<string name="telegram_stickers_service">Сервис стикеров Telegram в VTLite</string>
<string name="telegram_stickers_downloading">: загрузка</string>
<string name="telegram_stickers_updating">: обновление</string>
<string name="telegram_stickers_gettinginfo">Получение информации</string>
<string name="telegram_stickers_updated"> успешно обновлен</string>
<string name="telegram_stickers_downloaded"> успешно загружен</string>
<string name="telegram_stickers_error_update">: ошибка при обновлении</string>
<string name="telegram_stickers_error_download">: ошибка при загрузке</string>
<string name="lastfm_authorized_as">Вы авторизованы как </string>
<string name="lastfm_login">Логин</string>
<string name="lastfm_password">Пароль</string>
<string name="lastfm_enter_credentials">Введите логин и пароль</string>
<string name="lastfm_enter">Войти</string>
<string name="lastfm_logout_title">Вы уверены?</string>
<string name="lastfm_logout_confirm">Вы действительно хотите выйти из аккаунта?</string>
<string name="video_history_cleaned">История просмотра видео очищена</string>
<string name="video_dl_enter_link">Введите ссылку на видео</string>
<string name="music_dl_title">Загрузка музыки</string>
<string name="music_dl_progress">Прогресс загрузки музыки</string>
<string name="ffmpegkit_copy">Копирование библиотеки ffmpegkit</string>
<string name="logfile_error">Не удалось сохранить лог-файл</string>
<string name="logfile_saved">Лог-файл был сохранен</string>
<string name="menu_copy_id">Скопировать ID</string>
<string name="menu_addon_info">Дополнительная информация</string>
<string name="menu_change_name">Изменить имя</string>
<string name="menu_copied">Скопировано!</string>
<string name="vtl_confirm">Применить</string>
<string name="pic_rounding_title">Выберите размер закругления углов</string>
<string name="pic_rounding_info">Для отключения функции закругления углов поставьте 0</string>
<!-- Отмена - "cancel" -->
<string name="wallpapers_disabled">Отключено</string>
<string name="wallpapers_low">Низкое</string>
<string name="wallpapers_med">Среднее</string>
<string name="wallpapers_high">Высокое</string>
<string name="wallpapers_dim_black">Затемнить</string>
<string name="wallpapers_dim_white">Осветлить</string>
<string name="translator_reply">Реплай:</string>
<string name="translator_no_text">Нет текста для перевода</string>
<string name="pin_dialog">Диалог успешно </string>
<string name="dialog_pinned">закреплен</string>
<string name="dialog_unpinned">откреплен</string>
<string name="debug_menu_already_activated">Меню для разработчиков уже активировано</string>
<string name="debug_menu_activated">Меню для разработчиков активировано</string>
<string name="vkme_mode_info">Некоторые пункты настроек были скрыты из-за режима VK Мессенджер \n\nДля отключения режима перейдите в настройки Сообщений</string>
<string name="elements_hidden_count">Скрыто элементов</string>
<string name="donate_to_vtl">Помоги проекту донатом и получи бонус!</string>
<string name="tester_profile">Карточка Тестера</string>
<string name="i_bought">Я купил</string>
<string name="i_created_poop">Я создал говно</string>
<string name="no_data_error">Я не загрузил данные (9(9((</string>
<string name="token_saved">Токен успешно сохранён</string>
<string name="download_folders_reseted">Папки успешно сброшены</string>
<string name="cache_disabled">Не включено</string>
<string name="cache_100mb">Очищать кеш при не менее 100 Мб</string>
<string name="cache_500mb">Очищать кеш при не менее 500 Мб</string>
<string name="cache_1gb">Очищать кеш при не менее 1 Гб</string>
<string name="cache_2gb">Очищать кеш при не менее 2 Гб</string>
<string name="cache_5gb">Очищать кеш при не менее 5 Гб</string>
<string name="cache_clean_title">Очистка кеша</string>
<string name="cache_select_size">Выберите объём кеша для очистки</string>
<string name="select_which_clean">Выберите, что вы хотите очистить</string>
<string name="cache_cleaned">Кеш очищен</string>
<string name="no_data_to_backup">Нет данных для резервного копирования</string>
<string name="select_backup">Выберите бэкап</string>
<string name="backup_success">Настройки восстановлены</string>
<string name="backup_error">Ошибка: настройки не восстановлены</string>
<string name="rename_title">Смена имени</string>
<string name="rename_message">Это локальное изменение, которое будет отображаться только в данном клиенте.</string>
<string name="rename_success">Пользователь успешно переименован!</string>
<string name="rename_error">Ошибка при переименовании пользователя</string>
<string name="rename_reset">Сбросить</string>
<string name="rename_remove_from_bd_success">Пользователь успешно удалён из базы данных!</string>
<string name="rename_group_success">Сообщество успешно переименовано!</string>
<string name="rename_remove_group_from_bd_success">Сообщество успешно удалено из базы данных!</string>
<string name="link_audio_error">Не удалось найти ссылку на аудиозапись</string>
<string name="load_audio_error">Не удалось загрузить аудиозапись</string>
<string name="audio_downloading">Загрузка аудиозаписи</string>
<string name="proxy_setup">Настроить прокси</string>
<string name="proxy_disable">Отключить</string>
<string name="proxy_enable">Включить</string>
<string name="proxy_warning">Zaborona никак не связана с ВТостерс и мы не можем гарантировать её работу и безопасность</string>
<string name="proxy_settings">Настройки прокси</string>
<string name="apk_install_error">Ошибка установки обновления </string>
<string name="message_self_destruct_15sec">15 секунд</string>
<string name="message_self_destruct_1min">1 минута</string>
<string name="message_self_destruct_5min">5 минут</string>
<string name="message_self_destruct_1hour">1 час</string>
<string name="message_self_destruct_24hours">24 часа</string>
<string name="silent_messages">Бесшумные сообщения</string>
<string name="message_send_settings_title">Настройки отправки</string>
<string name="silent_messages_time_select">Выберите время исчезновения сообщения</string>
<string name="update_vk_admin_token">Обновите токен VK Admin в настройках в разделе Другое</string>
<string name="backup_saved_in">Сохранено в файл </string>
<string name="backup_save_error">Не удалось сохранить файл</string>
<string name="newsfeed_list_update_feed">Обновите ленту для получения списка доступных пунктов</string>
<string name="newsfeed_list_choose_to_hide">Выберите пункты для скрытия</string>
<string name="newsfeed_list_update_feed_to_work">Для применения изменений обновите ленту</string>
<string name="newsfeed_list_hidden_reseted">Сброшены пункты для скрытия</string>
<string name="video_dl_stories_not_supported">Загрузка историй не поддерживается</string>
<string name="video_dl_wrong_link">Неверная ссылка</string>
<string name="video_dl_progress">Обработка видео</string>
<string name="video_dl_error">Видео нельзя скачать</string>
<string name="superapp_menu">Меню приложения</string>
<string name="superapp_miniapps">MiniApps: виджет</string>
<string name="superapp_vkpay">VK Pay</string>
<string name="superapp_greeting">Приветствие</string>
<string name="superapp_miniapps_promo">MiniApps: промо</string>
<string name="superapp_holiday">Дни рождения у друзей</string>
<string name="superapp_weather">Погода</string>
<string name="superapp_sport">Спортивные события</string>
<string name="superapp_games">Игры</string>
<string name="superapp_informer">Информер</string>
<string name="superapp_food">Еда</string>
<string name="superapp_event">Мероприятия</string>
<string name="superapp_music">Музыка</string>
<string name="superapp_vk_run">VK Run</string>
<string name="feed_hidden">Скрыто %1$d лент новостей</string>
<string name="feed_no_elements">Нет добавленных элементов</string>
<string name="feed_elements_count">Добавлено %1$d элементов</string>
<string name="app_name_select_title">Выберите название приложения</string>
<string name="icons_warning">Доступны не все функции!</string>
<string name="icons_warning_info">Для разблокировки необходимо сделать пожертование от 99 рублей</string>
<string name="icons_title">Иконки</string>
<string name="unavailable_icons">Недоступные иконки</string>
<string name="unavailable_icon_warning">Иконка доступна только обладателям верификации</string>
<string name="rounding_size">Размер закругления: %1$ddp</string>
<string name="sferum_online">Сферум</string>
<string name="vk_calls_online">VK Звонки</string>
<string name="vk_music_online">VK Музыка</string>
<string name="vk_clips_online">VK Клипы</string>
<string name="vk_video_online">VK Видео</string>
<string name="vk_mail_online">VK Почта</string>
<string name="wallpaper_select">Выбрать обои</string>
<string name="wallpaper_from_gallery">из галереи</string>
<string name="wallpaper_remove">Удалить обои</string>
<string name="filters_warning">Доступны не все фильтры!</string>
<string name="filter_maybe_lag">Возможна нагрузка на устройство</string>
<string name="filter_blur">Размытие фона сообщений</string>
<string name="filter_dim">Затемнение изображения</string>
<string name="filter_mosaic">Мозаика</string>
<string name="filter_monochrome">Черно-белый фон</string>
<string name="filter_invert_colors">Инвертировать цвета</string>
<string name="filter_sepia">Эффект сепии</string>
<string name="filter_emboss">Emboss фильтр</string>
<string name="filter_engrave">Engrave фильтр</string>
<string name="filter_flea">Flea фильтр</string>
<string name="filter_snow">Эффект снега</string>
</resources>
+25
View File
@@ -853,4 +853,29 @@
<item>noyear</item>
<item>full</item>
</string-array>
<string-array name="wallpaper_change_dialog">
<item>Good time</item>
<item>Good morning, afternoon, evening, night</item>
<item>How are you?</item>
<item>Not dead, that\'s good</item>
</string-array>
<string-array name="cache_cleaner">
<item>Clear all cache</item>
<item>Clear stickers cache</item>
<item>Clear images cache</item>
<item>Clear videos cache</item>
<item>Clear messages cache</item>
<item>Clear WebView cache</item>
</string-array>
<string-array name="filter_types">
<item>Disabled</item>
<item>Low</item>
<item>Average</item>
<item>High</item>
</string-array>
<string-array name="filter_dim_types">
<item>Disabled</item>
<item>Dim</item>
<item>Lighten</item>
</string-array>
</resources>
+341 -25
View File
@@ -297,9 +297,9 @@
<string name="audio_artist">Artist</string>
<string name="audio_broadcast">Broadcast music</string>
<string name="audio_deleted">Track deleted</string>
<string name="audio_ipc_empty_track_list">Произошла ошибка. Вы пытаетесь воспроизвести пустой плейлист.</string>
<string name="audio_ipc_error">Произошла ошибка</string>
<string name="audio_ipc_error_network">Произошла ошибка. Проверьте соединение и повторите попытку.</string>
<string name="audio_ipc_empty_track_list">An error has occurred. You are trying to play an empty playlist.</string>
<string name="audio_ipc_error">An error has occurred</string>
<string name="audio_ipc_error_network">An error has occurred. Check the connection and try again.</string>
<string name="audio_lyrics">Lyrics</string>
<string name="audio_message">Voice message</string>
<string name="audio_message_hold_to_record">Hold to record</string>
@@ -371,7 +371,7 @@ You can use the menu on a user’s profile to block them."</string>
<string name="board_comment_sent">Comment sent</string>
<string name="bookmarks">Bookmarks</string>
<string name="bottom_sheet_behavior">com.google.android.material.bottomsheet.BottomSheetBehavior</string>
<string name="bugtracker_token_cleaned">Токен удален</string>
<string name="bugtracker_token_cleaned">Token removed</string>
<string name="buy_stickers">Store</string>
<string name="cache_my_music">Cache my music</string>
<string name="camera_rotate_hint_bottom_text">"You can't change your frame orientation while streaming"</string>
@@ -627,20 +627,20 @@ no results"</string>
<string name="community_warning_notification_negative_button">Back</string>
<string name="community_warning_notification_positive_button">Continue</string>
<string name="completing_purchase">Completing purchase...</string>
<string name="components_actions_popup">Контекстное меню</string>
<string name="components_base">Основные</string>
<string name="components_bottom_confirm_btn">Нижняя кнопка</string>
<string name="components_buttons">Кнопки</string>
<string name="components_dialogs">Диалоги</string>
<string name="components_input_fields">Поля ввода</string>
<string name="components_intro_promo">Интро/Промо</string>
<string name="components_loaders">Лоадеры</string>
<string name="components_placeholder">Заглушки</string>
<string name="components_snackbar">Снекбар</string>
<string name="components_stub">Заглушки</string>
<string name="components_text">Текст</string>
<string name="components_title">VK UI компоненты</string>
<string name="components_tooltips">Тултипы</string>
<string name="components_actions_popup">Context menu</string>
<string name="components_base">Basics</string>
<string name="components_bottom_confirm_btn">Bottom button</string>
<string name="components_buttons">Buttons</string>
<string name="components_dialogs">Dialogs</string>
<string name="components_input_fields">Input fields</string>
<string name="components_intro_promo">Intro/Promo</string>
<string name="components_loaders">Loaders</string>
<string name="components_placeholder">Stubs</string>
<string name="components_snackbar">Snackbar</string>
<string name="components_stub">Stubs</string>
<string name="components_text">Text</string>
<string name="components_title">VK UI components</string>
<string name="components_tooltips">Tooltips</string>
<string name="confirm">Confirmation</string>
<string name="confirm_action_title">Confirm action</string>
<string name="confirm_block_user">Are you sure you want to block %s?</string>
@@ -694,7 +694,7 @@ no results"</string>
<string name="day_of_week_label_typeface">sans-serif-light</string>
<string name="day_picker_description">Month grid of days</string>
<string name="debug_hints">Hints</string>
<string name="debug_no_toggles">Значения toggles не были получены с сервера</string>
<string name="debug_no_toggles">No toggles values were received from the server</string>
<string name="debug_toggles">Toggles</string>
<string name="default_progressbar">Default Progressbar:</string>
<string name="default_web_client_id">841415684880-i5q85vkpnnj8fgbd1qde5o9kq87656dk.apps.googleusercontent.com</string>
@@ -3717,7 +3717,7 @@ photo"</string>
<string name="stickers_accessibility_sticker">Sticker</string>
<string name="stickers_active">Active</string>
<string name="stickers_add_to_favorites">Add to favorites</string>
<string name="stickers_add_unavailable">Добавление недоступно</string>
<string name="stickers_add_unavailable">Adding unavailable</string>
<string name="stickers_buy_for">Buy for %1$s</string>
<string name="stickers_buy_for_free">Free</string>
<string name="stickers_catalog_settings">Settings</string>
@@ -5488,8 +5488,8 @@ with video"</string>
<string name="vtfaqsumm">All your questions are answered here</string>
<string name="vtsite">Our site</string>
<string name="installgms">Install Google Play Services</string>
<string name="vtldads">Disable Ads</string>
<string name="vtldgads">Disable Groups Ads</string>
<string name="vtldads">Disable ads</string>
<string name="vtldgads">Disable groups ads</string>
<string name="vtldgadssummary">Posts with ads mark</string>
<string name="vtldca">Disable ad carousel</string>
<string name="vtldas">Disable ads in stories</string>
@@ -5498,8 +5498,10 @@ with video"</string>
<string name="vtlhtmf">How to make filters?</string>
<string name="vtlhtmfsummary">"Filter format: words or sentences, separated by a comma with a space
Example: #sponsored, Free gift cards, #PROMO
Filters are case-sensitive!"</string>
Filters are not case-sensitive!"</string>
<string name="vtlownfilter">Filter words and expressions</string>
<string name="vtllinkfilter">Source link filter</string>
<string name="vtlsourcenamefilter">Source name filter</string>
<string name="vtlsfilter">Standard adblock filter</string>
<string name="vtlsfiltersummary">Blocks posts with common tags, such as #ad, #pr and so on</string>
<string name="vtlusevkui">Use VKUI</string>
@@ -5509,6 +5511,32 @@ Filters are case-sensitive!"</string>
<string name="vtlvoice">Recording voice messages</string>
<string name="vtlvoicesummary">The icon for recording voice messages in the message input field</string>
<string name="vtlnavbar">Color navigation bar</string>
<string name="cringecopyright_title">Posts with possible advertising</string>
<string name="cringecopyright_summ">Block posts with a source where there is a link to VK / Telegram (group, page or posts) or to other possible resources</string>
<string name="cringerepost_title">Reposts with links</string>
<string name="cringerepost_summ">Block posts with repost inside which there is a link to VK / Telegram</string>
<string name="why_news_not_updated_title">Why is the news not updated?</string>
<string name="why_news_not_updated_summ">Perhaps you have the Interesting feed turned on \n\nIf you want to change the feed to the Temporary feed, you can change it by clicking on the item above</string>
<string name="newsfeedlistmanager_title">Newsfeed list</string>
<string name="newsfeedlistmanager_summ">Newsfeed list settings</string>
<string name="newsfeedlistmanager_reset_title">Reset newsfeed list</string>
<string name="where_is_cache_settings">Where is cache settings?</string>
<string name="where_is_cache_settings_summ">They moved to the mod settings in the Other tab</string>
<string name="gms_about">About GMS</string>
<string name="gms_what_is_title">What is GMS?</string>
<string name="gms_what_is_summ">GMS - Google Mobile Services, a necessary component for the normal operation of applications. All notifications, logging into games, Google Play and other device functions use this component</string>
<string name="gms_why_need_title">Why do I need GMS for this app?</string>
<string name="gms_why_need_summ">GMS is necessary for notifications to work, for music to work, and for many other application components</string>
<string name="gms_how_to_download">How to download?</string>
<string name="gms_what_to_do_then">What to do then?</string>
<string name="gms_what_to_do_then_summ">You need to download MicroG.</string>
<string name="gms_what_is_microg">What is MicroG?</string>
<string name="gms_what_is_microg_summ">It is an open alternative to GMS services with the ability to install it on a non-GMS device</string>
<string name="gms_microg_site">MicroG official website</string>
<string name="gms_download_microg">Download MicroG</string>
<string name="gms_what_to_do_next">What to do next?</string>
<string name="gms_what_to_do_after_microg_title">What to do after installing MicroG?</string>
<string name="gms_what_to_do_after_microg_summ">Update Firebase registration in Other settings</string>
<string name="donate">Donate</string>
<string name="fulltime">dd MMMM yyyy HH:mm:ss</string>
<string name="fulltime2">dd MMMM HH:mm:ss</string>
@@ -5601,6 +5629,62 @@ Registration date:"</string>
<string name="interfaceglobalpostsum">"Shorten the text in posts
Expand text..."</string>
<string name="pollresults_title">Poll results</string>
<string name="pollresults_summ">Show results in polls without voting in them</string>
<string name="vtl_downloads_title">Downloads</string>
<string name="current_download_folder">Current folder:</string>
<string name="folder_for_downloads">Folder for downloads</string>
<string name="folder_for_photos">Folder for photos</string>
<string name="folder_for_videos">Folder for videos</string>
<string name="folder_for_music">Folder for music</string>
<string name="sett_compress_photo_summ">Disabling will significantly improve the quality of uploaded photos</string>
<string name="sett_compress_video_summ">Disabling will significantly improve the quality of uploaded videos</string>
<string name="lastfm_auth_title">Account</string>
<string name="lastfm_auth_error">Login failed</string>
<string name="lastfm_auth_summ">You are not logged in</string>
<string name="lastfm_logout_success">You have successfully logged out</string>
<string name="lastfm_enabled_title">Enable scrobbling</string>
<string name="lastfm_enabled_summ">Useful song tracking service</string>
<string name="lastfm_credentials_empty">Username or password not set</string>
<string name="vtl_music_settings">Music</string>
<string name="musicnewcatalog_title">New music catalog</string>
<string name="musicnewcatalog_summ">New music catalog with dynamic content</string>
<string name="musicdefcatalog_dialogTitle">Select default section</string>
<string name="musicdefcatalog_title">Default music section</string>
<string name="vtl_video_settings">Video</string>
<string name="vtl_download_video_title">Download video</string>
<string name="videonewcatalog_title">New video catalog</string>
<string name="videonewcatalog_summ">New video catalog with dynamic content</string>
<string name="clearvideohistory_title">Clear video history</string>
<string name="clearvideohistory_summ">Clearing video history will remove all videos from your watch history and recommendations based on them</string>
<string name="vtl_photo_settings">Photo</string>
<string name="photo_search_engine_title">Selecting a photo search engine</string>
<string name="wallpapers_title">Wallpaper in Messages</string>
<string name="convBarRecomm_title">Hide recommendations</string>
<string name="convBarRecomm_summ">Hide friend recommendation section in messages and other tips</string>
<string name="vk_messenger">VK Messenger</string>
<string name="translator_title">Translator</string>
<string name="translator_choose_language">Choose a language</string>
<string name="translator_translate_language">Translator language</string>
<string name="translator_translate_service">Translation service</string>
<string name="autotranslate_title">Auto-translate</string>
<string name="autotranslate_summ">Automatically translate your outgoing messages</string>
<string name="autoalltranslate_title">Auto-translate everything</string>
<string name="autoalltranslate_summ">Automatically translate all messages\n\nThere may be problems loading messages</string>
<string name="clearcache_other_title">Clear app cache</string>
<string name="reset_folders_locations">Reset download folders paths</string>
<string name="vk_admin_token_title">Token from VK Admin</string>
<string name="vtl_other_backups_title">Backups</string>
<string name="saveonlines_title">Save online list</string>
<string name="saveonlines_summ">Save the list of AppIds and their names to a file</string>
<string name="saveprefs_title">Save preferences</string>
<string name="restoreprefs_title">Restore preferences</string>
<string name="milkshake_title">Milkshake</string>
<string name="milkshake_summ">Global redesign of VK as on new versions</string>
<string name="vtl_settings_dockbar_title">Dockbar</string>
<string name="dockbar_accent_title">Use accent for icons</string>
<string name="iconmanager_title">Select app icon</string>
<string name="iconmanager_summ">Great selection of app icons</string>
<string name="interfacenewsfeed">Feed</string>
<string name="interfacenewsfeedswipe">Side camera in the news</string>
<string name="interfacenewsfeedswipesum">Works only with classic newsfeed design</string>
@@ -5662,6 +5746,41 @@ You need to restart the application to apply proxy settings"</string>
<string name="shitpostingsummary">Filter for cleaning posts with the Russian Federation and actions related in Ukraine\n\nThere may be incorrect triggers</string>
<string name="showstories">Show stories</string>
<string name="showstoriessum">The story section at the top of the feed</string>
<string name="whatsnew_summ">Section of writing a post at the feed</string>
<string name="whatsnew_title">Show the post section</string>
<string name="right_likes">Show likes to the right of the post</string>
<string name="customrounding_title">Image rounding size</string>
<string name="postsredesign_title">Video post redesign</string>
<string name="postsredesign_summ">The text for the video will be displayed below the video</string>
<string name="miniapps_title">Miniapps section</string>
<string name="miniapps_summ">Show Miniapps/Games in menu</string>
<string name="show_vkpay_title">VK Pay section</string>
<string name="show_vkpay_summ">Show VK Pay in the menu</string>
<string name="show_superapps_title">Superapps</string>
<string name="show_superapps_summ">New menu view as in new versions of VK</string>
<string name="friendsblock_title">Hide friends</string>
<string name="friendsblock_summ">Hide the block of recommendations of friends in friends section</string>
<string name="onlineformatter_title">Extended online indicator</string>
<string name="onlineformatter_summ">Show what app/device a person is online from</string>
<string name="voices_vtl">Voice messages</string>
<string name="disable_voice_listening_summ">The function allows you not to send the status of listening to the person\'s voice messages by you</string>
<string name="listen_v_title">Disable listening status</string>
<string name="vkme_online_vtl">Hidden VK Me online</string>
<string name="onlinefix_summ">Show online users in profiles if you have the mode of hiding online from VK Messenger enabled</string>
<string name="onlinefix_title">Bypass online indicator</string>
<string name="globalUsersOnline_title">Global online bypass</string>
<string name="globalUsersOnline_summ">May cause slow partition loading and high traffic consumption \n\nIt is not recommended to enable this feature</string>
<string name="savemsgsett_title">Save message settings</string>
<string name="savemsgsett_summ">Save the position of the toggle switches in the message settings</string>
<string name="screenshotdetect_title">Disable screenshot detection</string>
<string name="screenshotdetect_summ">Turn off the notification that you took a screenshot</string>
<string name="hideDeviceInfo_title">Disable sending metric</string>
<string name="hideDeviceInfo_summ">Disable sending information about the user\'s device and your location</string>
<string name="newadblock_title">Use new AdBlock (Beta)</string>
<string name="podcastcatalog_title">Add podcast catalog</string>
<string name="useNewSettings_title">Use new settings</string>
<string name="musicFixNew_title">Music fix v2</string>
<string name="new_music_downloading_way_title">New way to download music</string>
<string name="dialogrecomm">Disable recommendations</string>
<string name="showvtfire">Show special verifications</string>
<string name="showvtverify">Show verifications</string>
@@ -5724,7 +5843,7 @@ May look like a fake leaving the online"</string>
<string name="feed_recommendations_authors_summary">Recommend popular authors\' posts friends</string>
<string name="feed_recommendations_friends_reacted_summary">Recommend posts that your friends like</string>
<string name="feed_other_update">Audo update news</string>
<string name="feed_other_update">Auto update news</string>
<string name="feed_other_update_dialog_title">Choose update type</string>
<string name="feed_other_sort_comments">Sort comments</string>
<string name="feed_other_sort_comments_summary">Sort comments by newest</string>
@@ -5849,9 +5968,13 @@ May look like a fake leaving the online"</string>
<string name="debug_logging_apply_spaces_summary">Apply spaces for messages after longpoll history</string>
<string name="debug_logging_memleak">Turn on MemLeak detect</string>
<string name="debug_network">Network</string>
<string name="debug_cache">Cache</string>
<string name="debug_cache_trusted_hash">Clear 2fa hash</string>
<string name="debug_cache_trusted_hash">Clear 2FA hash</string>
<string name="debug_cache_webview">Clear WebView cache</string>
<string name="debug_cache_vkpay_token">Remove VK Pay token for QR payment</string>
<string name="debug_cache_stickers">Clear stickers cache</string>
<string name="debug_cache_video">Clear video cache</string>
<string name="debug_system">System</string>
@@ -5861,6 +5984,9 @@ May look like a fake leaving the online"</string>
<string name="debug_system_fcm_copy_token">Copy push token</string>
<string name="debug_system_google_now">Update Google Now</string>
<string name="debug_clickable_sticker_border_title">Clickable sticker border</string>
<string name="debug_create_sticker_border_title">Sticker border on create</string>
<string name="debug_tests">Tests</string>
<string name="debug_tests_bd">Test BD notification</string>
<string name="debug_tests_validation">Test need_validation error</string>
@@ -5870,6 +5996,10 @@ May look like a fake leaving the online"</string>
<string name="debug_tests_pretty_cards">pretty_cards demo</string>
<string name="debug_tests_spa_uri">Test VK UI uri</string>
<string name="debug_tests_spa">Test VK UI</string>
<string name="debug_tests_tooltip">Test tooltip</string>
<string name="debug_app_versions_list_title">App versions list</string>
<string name="debug_drop_bugtracker_token_title">Drop bugtracker token</string>
<string name="debug_proxy">Official VK Proxy</string>
<string name="debug_proxy_force">Force VK Proxy features</string>
@@ -5878,6 +6008,9 @@ May look like a fake leaving the online"</string>
<string name="debug_proxy_enable_summary">Won\'t work</string>
<string name="debug_other">Other</string>
<string name="debug_no_ads_title">Disable ads</string>
<string name="debug_proxy_enable_title">Proxy</string>
<string name="debug_use_libverify_for_auth_title">Use libverify for authorization</string>
<string name="DNR_ON">Enable Do Not Read</string>
<string name="DNR_OFF">Disable Do Not Read</string>
@@ -5959,4 +6092,187 @@ May look like a fake leaving the online"</string>
<string name="vkiddisable">Disable protection</string>
<string name="vkidsumm">VK has started blocking the use of third-party applications, so for the stable operation of all parts of the application, it is necessary to disable Protection from suspicious applications \n\nVK ID -> Security and Login -> Protection from suspicious applications</string>
<string name="telegram_stickers_service">Telegram stickers service in VTLite</string>
<string name="telegram_stickers_downloading">: downloading</string>
<string name="telegram_stickers_updating">: update</string>
<string name="telegram_stickers_gettinginfo">Getting info</string>
<string name="telegram_stickers_updated"> updated successfully</string>
<string name="telegram_stickers_downloaded"> downloaded successfully</string>
<string name="telegram_stickers_error_update">: update failed</string>
<string name="telegram_stickers_error_download">: download failed</string>
<string name="lastfm_authorized_as">You are authorized as </string>
<string name="lastfm_login">Login</string>
<string name="lastfm_password">Password</string>
<string name="lastfm_enter_credentials">Enter your username and password</string>
<string name="lastfm_enter">Login</string>
<string name="lastfm_logout_title">Are you sure?</string>
<string name="lastfm_logout_confirm">Are you sure you want to log out?</string>
<string name="video_history_cleaned">Video history cleared</string>
<string name="video_dl_enter_link">Enter video link</string>
<string name="music_dl_title">Music downloading</string>
<string name="music_dl_progress">Music downloading progress</string>
<string name="ffmpegkit_copy">Copying the ffmpegkit library</string>
<string name="logfile_error">Failed to save log file</string>
<string name="logfile_saved">The log file has been saved</string>
<string name="menu_copy_id">Copy ID</string>
<string name="menu_addon_info">Addon info</string>
<string name="menu_change_name">Change name</string>
<string name="menu_copied">Copied!</string>
<string name="vtl_confirm">Apply</string>
<string name="pic_rounding_title">Select the size of the rounding corners</string>
<string name="pic_rounding_info">Set to 0 to disable corner rounding</string>
<!-- Cancel - "cancel" -->
<string name="wallpapers_disabled">Disabled</string>
<string name="wallpapers_low">Low</string>
<string name="wallpapers_med">Medium</string>
<string name="wallpapers_high">High</string>
<string name="wallpapers_dim_black">Dim</string>
<string name="wallpapers_dim_white">Lighten</string>
<string name="translator_reply">Reply:</string>
<string name="translator_no_text">No text to translate</string>
<string name="pin_dialog">Dialog successfully </string>
<string name="dialog_pinned">pinned</string>
<string name="dialog_unpinned">unpinned</string>
<string name="debug_menu_already_activated">Developer menu already activated</string>
<string name="debug_menu_activated">Developer menu activated</string>
<string name="vkme_mode_info">Some settings were hidden due to VK Messenger mode \n\nTo disable the mode, go to the Messages settings</string>
<string name="elements_hidden_count">Elements hidden</string>
<string name="donate_to_vtl">Help the project with a donation and get a bonus!</string>
<string name="tester_profile">Tester\'s profile</string>
<string name="i_bought">I bought </string>
<string name="i_created_poop">I created a poop</string>
<string name="no_data_error">I didn\'t get data (9(9((</string>
<string name="token_saved">Token saved successfully</string>
<string name="download_folders_reseted">Download folders reset successfully</string>
<string name="cache_disabled">Not enabled</string>
<string name="cache_100mb">Clear cache at least 100mb</string>
<string name="cache_500mb">Clear cache at least 500mb</string>
<string name="cache_1gb">Clear cache at least 1 GB</string>
<string name="cache_2gb">Clear cache at least 2 GB</string>
<string name="cache_5gb">Clear cache at least 5 GB</string>
<string name="cache_clean_title">Cache cleaning</string>
<string name="cache_select_size">Select the amount of cache to clear</string>
<string name="select_which_clean">Select what you want to clean</string>
<string name="cache_cleaned">Cache cleared</string>
<string name="no_data_to_backup">No data to backup</string>
<string name="select_backup">Choose a backup</string>
<string name="backup_success">Settings restored</string>
<string name="backup_error">Error: Settings not restored</string>
<string name="rename_title">Name change</string>
<string name="rename_message">This is a local change that will only be visible at this client.</string>
<string name="rename_success">User renamed successfully!</string>
<string name="rename_error">Error while renaming user</string>
<string name="rename_reset">Reset</string>
<string name="rename_remove_from_bd_success">User successfully removed from database!</string>
<string name="rename_group_success">Community renamed successfully!</string>
<string name="rename_remove_group_from_bd_success">Community was successfully removed from the database!</string>
<string name="link_audio_error">Audio link could not be found</string>
<string name="load_audio_error">Unable to load audio</string>
<string name="audio_downloading">Audio downloading</string>
<string name="proxy_setup">Set up proxy</string>
<string name="proxy_disable">Disable</string>
<string name="proxy_enable">Enable</string>
<string name="proxy_warning">Zaborona is not associated with VTosters in any way and we cannot guarantee its work and security</string>
<string name="proxy_settings">Proxy settings</string>
<string name="apk_install_error">Error installing update </string>
<string name="message_self_destruct_15sec">15 seconds</string>
<string name="message_self_destruct_1min">1 minute</string>
<string name="message_self_destruct_5min">5 minutes</string>
<string name="message_self_destruct_1hour">1 hour</string>
<string name="message_self_destruct_24hours">24 hours</string>
<string name="silent_messages">Silent messages</string>
<string name="message_send_settings_title">Send settings</string>
<string name="silent_messages_time_select">Select the time when the message disappears</string>
<string name="update_vk_admin_token">Update VK Admin token in Other settings</string>
<string name="backup_saved_in">Saved to file </string>
<string name="backup_save_error">Failed to save file</string>
<string name="newsfeed_list_update_feed">Update the feed to get a list of available items</string>
<string name="newsfeed_list_choose_to_hide">Choose items to hide</string>
<string name="newsfeed_list_update_feed_to_work">Update the feed to apply changes</string>
<string name="newsfeed_list_hidden_reseted">Hidden items reset</string>
<string name="video_dl_stories_not_supported">Downloading stories is not supported</string>
<string name="video_dl_wrong_link">Invalid link</string>
<string name="video_dl_progress">Video processing</string>
<string name="video_dl_error">Video cannot be downloaded</string>
<string name="superapp_menu">App menu</string>
<string name="superapp_miniapps">MiniApps widget</string>
<string name="superapp_vkpay">VK Pay</string>
<string name="superapp_greeting">Greeting</string>
<string name="superapp_miniapps_promo">MiniApps promo</string>
<string name="superapp_holiday">Friends\' birthdays</string>
<string name="superapp_weather">Weather</string>
<string name="superapp_sport">Sport events</string>
<string name="superapp_games">Games</string>
<string name="superapp_informer">Informer</string>
<string name="superapp_food">Food</string>
<string name="superapp_event">Events</string>
<string name="superapp_music">Music</string>
<string name="superapp_vk_run">VK Run</string>
<string name="feed_hidden">%1$d feeds are hidden</string>
<string name="feed_no_elements">No items added</string>
<string name="feed_elements_count">%1$d items added</string>
<string name="app_name_select_title">Select app title</string>
<string name="icons_warning">Not all features are available!</string>
<string name="icons_warning_info">To unlock, you need to make a donation of at least 99 rubles</string>
<string name="icons_title">Icons</string>
<string name="unavailable_icons">Unavailable icons</string>
<string name="unavailable_icon_warning">The icon is only available to verified owners</string>
<string name="rounding_size">Rounding size: %1$ddp</string>
<string name="sferum_online">Sferum</string>
<string name="vk_calls_online">VK Calls</string>
<string name="vk_music_online">VK Music</string>
<string name="vk_clips_online">VK Clips</string>
<string name="vk_video_online">VK Video</string>
<string name="vk_mail_online">VK Mail</string>
<string name="wallpaper_select">Select wallpaper</string>
<string name="wallpaper_from_gallery">from gallery</string>
<string name="wallpaper_remove">Remove wallpaper</string>
<string name="filters_warning">Not all filters are available!</string>
<string name="filter_maybe_lag">Device may be loaded</string>
<string name="filter_blur">Blur message background</string>
<string name="filter_dim">Dimming an image</string>
<string name="filter_mosaic">Mosaic</string>
<string name="filter_monochrome">Black and white background</string>
<string name="filter_invert_colors">Invert colors</string>
<string name="filter_sepia">Sepia effect</string>
<string name="filter_emboss">Emboss filter</string>
<string name="filter_engrave">Engrave filter</string>
<string name="filter_flea">Flea filter</string>
<string name="filter_snow">Snow effect</string>
</resources>
+16 -16
View File
@@ -29,8 +29,8 @@
<com.vtosters.lite.ui.MaterialSwitchPreference
android:defaultValue="true"
android:key="onlineformatter"
android:summary="Показывать статус пользователя с какого клиента сидит в онлайне"
android:title="Расширенный онлайн" />
android:summary="@string/onlineformatter_summ"
android:title="@string/onlineformatter_title" />
</PreferenceCategory>
<PreferenceCategory android:title="@string/dnr">
<Preference
@@ -82,39 +82,39 @@
android:key="read_s"
android:title="@string/dns" />
</PreferenceCategory>
<PreferenceCategory android:title="Голосовые сообщения">
<PreferenceCategory android:title="@string/voices_vtl">
<Preference
android:enabled="false"
android:summary="Функция позволяет вам не отправлять статус прослушивания вами голосовых сообщений собеседника"
android:summary="@string/disable_voice_listening_summ"
android:title="@string/activity_what_is_it" />
<com.vtosters.lite.ui.MaterialSwitchPreference
android:defaultValue="false"
android:key="listen_v"
android:title="Отключить статус прослушивания" />
android:title="@string/listen_v_title" />
</PreferenceCategory>
<PreferenceCategory android:title="Скрытый онлайн VK Me">
<PreferenceCategory android:title="@string/vkme_online_vtl">
<com.vtosters.lite.ui.MaterialSwitchPreference
android:defaultValue="false"
android:key="onlinefix"
android:summary="Показывать онлайн пользователей в профилях если у вас включен режим скрытия онлайна из VK Messenger"
android:title="Обходить онлайн" />
android:summary="@string/onlinefix_summ"
android:title="@string/onlinefix_title" />
<com.vtosters.lite.ui.MaterialSwitchPreference
android:defaultValue="false"
android:key="globalUsersOnline"
android:summary="Может вызывать долгие загрузки разделов и большое потребление трафика \n\nНе рекомендуется включать данную функцию"
android:title="Глобальный обход онлайна" />
android:summary="@string/globalUsersOnline_summ"
android:title="@string/globalUsersOnline_title" />
</PreferenceCategory>
<PreferenceCategory android:title="@string/privacy_vtl">
<com.vtosters.lite.ui.MaterialSwitchPreference
android:defaultValue="false"
android:key="savemsgsett"
android:summary="Сохранять положение тумблеров в настройках сообщений"
android:title="Сохранять настройки сообщений" />
android:summary="@string/savemsgsett_summ"
android:title="@string/savemsgsett_title" />
<com.vtosters.lite.ui.MaterialSwitchPreference
android:defaultValue="false"
android:key="screenshotdetect"
android:summary="Отключить уведомление о том, что вы сделали скриншот"
android:title="Отключить детект скриншотов" />
android:summary="@string/screenshotdetect_summ"
android:title="@string/screenshotdetect_title" />
<com.vtosters.lite.ui.MaterialSwitchPreference
android:defaultValue="true"
android:key="awayphp"
@@ -123,7 +123,7 @@
<com.vtosters.lite.ui.MaterialSwitchPreference
android:defaultValue="true"
android:key="hideDeviceInfo"
android:summary="Отключить отправку информации об устройстве пользователя и вашем местоположении"
android:title="Отключить отправку метрики" />
android:summary="@string/hideDeviceInfo_summ"
android:title="@string/hideDeviceInfo_title" />
</PreferenceCategory>
</PreferenceScreen>
+51 -51
View File
@@ -25,11 +25,11 @@
<com.vtosters.lite.ui.MaterialSwitchPreference
android:defaultValue="true"
android:key="newadblock"
android:title="Использовать новый AdBlock (Beta)" />
android:title="@string/newadblock_title" />
<com.vtosters.lite.ui.MaterialSwitchPreference
android:defaultValue="false"
android:key="podcastcatalog"
android:title="Add catalog podcast" />
android:title="@string/podcastcatalog_title" />
<com.vtosters.lite.ui.MaterialSwitchPreference
android:defaultValue="false"
android:key="vksans"
@@ -48,7 +48,7 @@
<com.vtosters.lite.ui.MaterialSwitchPreference
android:defaultValue="true"
android:key="useNewSettings"
android:title="Use New Settings" />
android:title="@string/useNewSettings_title" />
</PreferenceCategory>
<PreferenceCategory android:title="@string/vk_fix_music_other">
<com.vtosters.lite.ui.MaterialSwitchPreference
@@ -59,11 +59,11 @@
<com.vtosters.lite.ui.MaterialSwitchPreference
android:defaultValue="true"
android:key="musicFixNew"
android:title="Фикс музыки v2" />
android:title="@string/musicFixNew_title" />
<com.vtosters.lite.ui.MaterialSwitchPreference
android:defaultValue="false"
android:key="new_music_downloading_way"
android:title="Новый способ скачивания музыки" />
android:title="@string/new_music_downloading_way_title" />
</PreferenceCategory>
<PreferenceCategory android:title="@string/debug_developer_functions">
<com.vtosters.lite.ui.MaterialSwitchPreference
@@ -97,15 +97,15 @@
</PreferenceCategory>
<PreferenceCategory
android:key="domains"
android:title="Домены">
android:title="@string/debug_domains">
<Preference
android:defaultValue="api.vk.com"
android:key="apiHost"
android:title="Домен API" />
android:title="@string/debug_domains_api" />
<Preference
android:defaultValue="oauth.vk.com"
android:key="oauthHost"
android:title="Домен OAuth" />
android:title="@string/debug_domains_oauth" />
<Preference
android:defaultValue="static.vk.com"
android:key="vkUiHostUri"
@@ -117,11 +117,11 @@
<Preference
android:defaultValue="m.vk.com"
android:key="awayPhpDomain"
android:title="away.php domain" />
android:title="@string/debug_domains_awayphp" />
</PreferenceCategory>
<PreferenceCategory
android:key="network"
android:title="Сеть">
android:title="@string/debug_network">
<Preference
android:defaultValue="cronet_quic"
android:key="__dbg_network_executor"
@@ -145,139 +145,139 @@
</PreferenceCategory>
<PreferenceCategory
android:key="logging"
android:title="Логирование">
android:title="@string/debug_logging">
<com.vtosters.lite.ui.MaterialSwitchPreference
android:defaultValue="false"
android:key="__dbg_api"
android:title="Логирование API" />
android:title="@string/debug_logging_api" />
<com.vtosters.lite.ui.MaterialSwitchPreference
android:defaultValue="false"
android:key="__dbg_force_send"
android:title="Моментальная отправка статы" />
android:title="@string/debug_logging_force_stats_sending" />
<com.vtosters.lite.ui.MaterialSwitchPreference
android:defaultValue="false"
android:key="__dbg_webview"
android:title="Дебаг WebView" />
android:title="@string/debug_logging_webview" />
<com.vtosters.lite.ui.MaterialSwitchPreference
android:defaultValue="false"
android:key="__dbg_view_post_time_overlay"
android:summary="Подсвечивать посты при регистрации события view_post_time"
android:title="Визуализация view_post_time" />
android:summary="@string/debug_logging_visualise_viewposttime_summary"
android:title="@string/debug_logging_visualise_viewposttime" />
<com.vtosters.lite.ui.MaterialSwitchPreference
android:defaultValue="false"
android:key="__dbg_allow_requests_breakpoints"
android:summary="Разрешить брекпоинты запросов через Proxy (Charles)"
android:title="Разрешить брекпоинты" />
android:summary="@string/debug_logging_breakpoints_summary"
android:title="@string/debug_logging_breakpoints" />
<com.vtosters.lite.ui.MaterialSwitchPreference
android:defaultValue="false"
android:key="__dbg_apply_spaces"
android:summary="Применять дырки для сообщений после long poll history."
android:title="Применять дырки" />
android:summary="@string/debug_logging_apply_spaces_summary"
android:title="@string/debug_logging_apply_spaces" />
<com.vtosters.lite.ui.MaterialSwitchPreference
android:defaultValue="false"
android:key="__dbg_mem_leak"
android:title="Включить MemLeak detect" />
android:title="@string/debug_logging_memleak" />
<com.vtosters.lite.ui.MaterialSwitchPreference
android:defaultValue="false"
android:key="__dbg_api_errors"
android:title="Показывать ошибки API" />
android:title="@string/debug_logging_api_errors" />
<Preference
android:key="__dbg_log_to_file"
android:summary="До полного перезапуска приложения"
android:title="Запись логов в файл" />
android:summary="@string/debug_logging_file_summary"
android:title="@string/debug_logging_file" />
</PreferenceCategory>
<PreferenceCategory
android:key="cache"
android:title="Кэш">
android:title="@string/debug_cache">
<Preference
android:key="clearTrustedHash"
android:title="Очистить хэш 2ФА" />
android:title="@string/debug_cache_trusted_hash" />
<Preference
android:key="clearWebViewCache"
android:title="Очистить кэш WebView" />
android:title="@string/debug_cache_webview" />
<Preference
android:key="clearVkPayTokenForQrPayments"
android:title="Удалить токен VkPay для оплаты по QR" />
android:title="@string/debug_cache_vkpay_token" />
<Preference
android:key="clearStickersCache"
android:title="Очистить кэш стикеров" />
android:title="@string/debug_cache_stickers" />
</PreferenceCategory>
<PreferenceCategory
android:key="system"
android:title="Системные">
android:title="@string/debug_system">
<EditTextPreference
android:key="__dbg_lang_override"
android:title="Language override" />
android:title="@string/debug_system_language" />
<Preference
android:key="__dbg_terminate"
android:title="Завершить процесс" />
android:title="@string/debug_system_terminate" />
<Preference
android:key="__dbg_re_register_firebase"
android:title="Обновить регистрацию Firebase" />
android:title="@string/debug_system_fcm" />
<Preference
android:key="__dbg_copy_firebase_token"
android:title="Скопировать push token" />
android:title="@string/debug_system_fcm_copy_token" />
</PreferenceCategory>
<PreferenceCategory
android:key="stories"
android:title="Истории">
android:title="@string/stories">
<com.vtosters.lite.ui.MaterialSwitchPreference
android:defaultValue="false"
android:key="__dbg_clickable_sticker_border"
android:title="Зона кликабельного стикера" />
android:title="@string/debug_clickable_sticker_border_title" />
<com.vtosters.lite.ui.MaterialSwitchPreference
android:defaultValue="false"
android:key="__dbg_stories_create_sticker_border"
android:title="Зоны стикера при создании" />
android:title="@string/debug_create_sticker_border_title" />
</PreferenceCategory>
<PreferenceCategory
android:key="tests"
android:title="Тесты">
android:title="@string/debug_tests">
<Preference
android:key="__dbg_test_bday"
android:title="Тест уведомления о ДР" />
android:title="@string/debug_tests_bd" />
<Preference
android:key="__dbg_test_validation"
android:title="Тест ошибки need_validation" />
android:title="@string/debug_tests_validation" />
<Preference
android:key="__dbg_test_captcha"
android:title="Тест ошибки captcha" />
android:title="@string/debug_tests_captcha" />
<Preference
android:key="__dbg_test_crash"
android:title="Тест ошибки системы" />
android:title="@string/debug_tests_crash" />
<EditTextPreference
android:defaultValue="https://static.vk.com/demo"
android:key="__dbg_spa_uri"
android:title="Открыть VK UI Container" />
android:title="@string/debug_tests_spa_uri" />
<com.vtosters.lite.ui.MaterialSwitchPreference
android:defaultValue="false"
android:key="__dbg_test_tooltip"
android:title="Тестовый тултип" />
android:title="@string/debug_tests_tooltip" />
</PreferenceCategory>
<PreferenceCategory
android:key="bugtracker"
android:title="Bugtracker">
android:title="@string/bugs">
<Preference
android:key="__dbg_app_versions_list"
android:title="Список версий" />
android:title="@string/debug_app_versions_list_title" />
<Preference
android:key="__dbg_drop_bugtracker_token"
android:title="Сброс Bugtracker токена" />
android:title="@string/debug_drop_bugtracker_token_title" />
</PreferenceCategory>
<PreferenceCategory
android:key="others"
android:title="Другие">
android:title="@string/debug_other">
<com.vtosters.lite.ui.MaterialSwitchPreference
android:defaultValue="false"
android:key="__dbg_no_ads"
android:title="Отключить рекламу" />
android:title="@string/debug_no_ads_title" />
<com.vtosters.lite.ui.MaterialSwitchPreference
android:defaultValue="false"
android:key="__dbg_proxy_enable"
android:title="Прокси" />
android:title="@string/debug_proxy_enable_title" />
<com.vtosters.lite.ui.MaterialSwitchPreference
android:defaultValue="true"
android:key="__dbg_use_libverify_for_auth"
android:title="Использовать libverify для авторизации" />
android:title="@string/debug_use_libverify_for_auth_title" />
</PreferenceCategory>
</PreferenceScreen>
+11 -11
View File
@@ -34,11 +34,11 @@
<EditTextPreference
android:defaultValue=""
android:key="sourcenamefilter"
android:title="Фильтр по названию источника" />
android:title="@string/vtlsourcenamefilter" />
<EditTextPreference
android:defaultValue=""
android:key="linkfilter"
android:title="Фильтр ссылок в источнике" />
android:title="@string/vtllinkfilter" />
<com.vtosters.lite.ui.MaterialSwitchPreference
android:defaultValue="false"
android:key="default_ad_list"
@@ -62,13 +62,13 @@
<com.vtosters.lite.ui.MaterialSwitchPreference
android:defaultValue="false"
android:key="cringecopyright"
android:summary="Блокировать посты с источником где есть ссылка на вк/телеграм (группу, страницу или посты) или на другие возможные ресурсы"
android:title="Посты с возможной рекламой" />
android:summary="@string/cringecopyright_summ"
android:title="@string/cringecopyright_title" />
<com.vtosters.lite.ui.MaterialSwitchPreference
android:defaultValue="false"
android:key="cringerepost"
android:summary="Блокировать посты с репостом внутри которых есть ссылка на вк/телеграм"
android:title="Репосты с ссылками" />
android:summary="@string/cringerepost_summ"
android:title="@string/cringerepost_title" />
<com.vtosters.lite.ui.MaterialSwitchPreference
android:defaultValue="false"
android:key="copyright_post"
@@ -104,8 +104,8 @@
android:title="@string/officialnewssett" />
<Preference
android:enabled="false"
android:summary="Возможно у вас включена Интересная лента \n\nЕсли вы хотите поменять ленту на Временную, то вы можете сменить ее нажав на пункт выше"
android:title="Почему не обновляются новости?" />
android:summary="@string/why_news_not_updated_summ"
android:title="@string/why_news_not_updated_title" />
<com.vtosters.lite.ui.SummaryListPreference
android:defaultValue="default"
android:dialogTitle="@string/feed_other_update_dialog_title"
@@ -120,10 +120,10 @@
android:title="@string/vtlfeedcache" />
<Preference
android:key="newsfeedlistmanager"
android:summary="Настройки списков новостей"
android:title="Списки новостей" />
android:summary="@string/newsfeedlistmanager_summ"
android:title="@string/newsfeedlistmanager_title" />
<Preference
android:key="newsfeedlistmanager_reset"
android:title="Сбросить список новостей" />
android:title="@string/newsfeedlistmanager_reset_title" />
</PreferenceCategory>
</PreferenceScreen>
+2 -2
View File
@@ -96,8 +96,8 @@
android:title="@string/sett_clear_audio_cache" />
<Preference
android:enabled="false"
android:summary="Они переехали в настройки мода во вкладку Другое"
android:title="Где настройки кеша?" />
android:summary="@string/where_is_cache_settings_summ"
android:title="@string/where_is_cache_settings" />
<com.vtosters.lite.ui.MaterialSectionDividerPreference />
</PreferenceCategory>
</PreferenceScreen>
@@ -96,7 +96,7 @@
android:title="@string/sett_clear_audio_cache" />
<Preference
android:enabled="false"
android:summary="Они переехали в настройки мода во вкладку Другое"
android:title="Где настройки кеша?" />
android:summary="@string/where_is_cache_settings_summ"
android:title="@string/where_is_cache_settings" />
</PreferenceCategory>
</PreferenceScreen>
+21 -21
View File
@@ -1,43 +1,43 @@
<?xml version="1.0" encoding="utf-8"?>
<PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android">
<PreferenceCategory android:title="О GMS">
<PreferenceCategory android:title="@string/gms_about">
<Preference
android:enabled="false"
android:summary="GMS - Google Mobile Services, необходимый компонент для нормальной работы приложений. Все уведомления, вход в игры, Google Play и прочие функции устройства используют этот компонент"
android:title="Что такое GMS?" />
android:summary="@string/gms_what_is_summ"
android:title="@string/gms_what_is_title" />
<Preference
android:enabled="false"
android:summary="GMS необходим для работы уведомлений, для работы музыки и ещё очень многих компонентов приложения"
android:title="Зачем мне нужен GMS для VTosters?" />
android:summary="@string/gms_why_need_summ"
android:title="@string/gms_why_need_title" />
</PreferenceCategory>
<PreferenceCategory android:title="Как скачать?">
<PreferenceCategory android:title="@string/gms_how_to_download">
<Preference
android:enabled="false"
android:summary="Вам необходимо скачать MicroG."
android:title="Что тогда делать?" />
android:summary="@string/gms_what_to_do_then_summ"
android:title="@string/gms_what_to_do_then" />
<Preference
android:enabled="false"
android:summary="Это открытая альтернатива сервисам GMS с возможностью установить на устройство без GMS"
android:title="Что такое MicroG?" />
android:summary="@string/gms_what_is_microg_summ"
android:title="@string/gms_what_is_microg" />
<Preference
android:persistent="false"
android:title="Официальный сайт MicroG">
android:title="@string/gms_microg_site">
<intent
android:action="android.intent.action.VIEW"
android:data="https://microg.org/" />
</Preference>
<Preference
android:persistent="false"
android:title="@string/gms_download_microg">
<intent
android:action="android.intent.action.VIEW"
android:data="https://microg.org/download.html" />
</Preference>
<Preference
android:persistent="false"
android:title="Скачать MicroG">
<intent
android:action="android.intent.action.VIEW"
android:data="https://microg.org" />
</Preference>
</PreferenceCategory>
<PreferenceCategory android:title="Что делать дальше?">
<PreferenceCategory android:title="@string/gms_what_to_do_next">
<Preference
android:enabled="false"
android:summary="Обновите регистрацию Firebase в прочих настройках"
android:title="Что делать после установки MicroG?" />
android:summary="@string/gms_what_to_do_after_microg_summ"
android:title="@string/gms_what_to_do_after_microg_title" />
</PreferenceCategory>
</PreferenceScreen>
+15 -15
View File
@@ -13,12 +13,12 @@
<com.vtosters.lite.ui.MaterialSwitchPreference
android:defaultValue="true"
android:key="whatsnew"
android:summary="Блок написания поста в ленте"
android:title="Показывать блок поста" />
android:summary="@string/whatsnew_summ"
android:title="@string/whatsnew_title" />
<com.vtosters.lite.ui.MaterialSwitchPreference
android:defaultValue="false"
android:key="is_likes_on_right"
android:title="Показ лайков в посте справа" />
android:title="@string/right_likes" />
</PreferenceCategory>
<PreferenceCategory android:title="@string/interfaceglobal">
<com.vtosters.lite.ui.SummaryListPreference
@@ -37,31 +37,31 @@
android:title="@string/franimation" />
<Preference
android:key="customrounding"
android:title="Размер закруглений картинок" />
android:title="@string/customrounding_title" />
</PreferenceCategory>
<PreferenceCategory android:title="@string/interfacevideo">
<com.vtosters.lite.ui.MaterialSwitchPreference
android:defaultValue="true"
android:key="postsredesign"
android:summary="Теперь текст к видео отображается под видео материалом"
android:title="Редизайн видеопостов" />
android:summary="@string/postsredesign_summ"
android:title="@string/postsredesign_title" />
</PreferenceCategory>
<PreferenceCategory android:title="Меню">
<PreferenceCategory android:title="@string/menu">
<com.vtosters.lite.ui.MaterialSwitchPreference
android:defaultValue="true"
android:key="miniapps"
android:summary="Показывать Miniapps/Игры в меню"
android:title="Блок миниаппов" />
android:summary="@string/miniapps_summ"
android:title="@string/miniapps_title" />
<com.vtosters.lite.ui.MaterialSwitchPreference
android:defaultValue="true"
android:key="vkpay"
android:summary="Показывать VK Pay в меню"
android:title="Блок VK Pay" />
android:summary="@string/show_vkpay_summ"
android:title="@string/show_vkpay_title" />
<com.vtosters.lite.ui.MaterialSwitchPreference
android:defaultValue="true"
android:key="superapp"
android:summary="Новый вид меню как в новых версиях ВКонтакте"
android:title="Супераппы" />
android:summary="@string/show_superapps_summ"
android:title="@string/show_superapps_title" />
<com.vtosters.lite.ui.MaterialSwitchPreference
android:defaultValue="false"
android:key="showmenu"
@@ -72,8 +72,8 @@
<com.vtosters.lite.ui.MaterialSwitchPreference
android:defaultValue="false"
android:key="friendsblock"
android:summary="Скрыть блок рекомендаций друзей в друзьях"
android:title="Скрыть друзей" />
android:summary="@string/friendsblock_summ"
android:title="@string/friendsblock_title" />
<com.vtosters.lite.ui.MaterialSwitchPreference
android:defaultValue="false"
android:key="disableSettingsSumms"
+30 -30
View File
@@ -21,73 +21,73 @@
<com.vtosters.lite.ui.MaterialSwitchPreference
android:defaultValue="false"
android:key="pollresults"
android:summary="Показывать результаты в опросах без участия в них"
android:title="Результаты опросов" />
android:summary="@string/pollresults_summ"
android:title="@string/pollresults_title" />
</PreferenceCategory>
<PreferenceCategory android:title="Загрузки">
<PreferenceCategory android:title="@string/vtl_downloads_title">
<Preference
android:key="downloads_directory"
android:summary="Текущая папка: "
android:title="Папка для загрузок" />
android:summary="@string/current_download_folder"
android:title="@string/folder_for_downloads" />
<Preference
android:key="photos_directory"
android:summary="Текущая папка: "
android:title="Папка для фото" />
android:summary="@string/current_download_folder"
android:title="@string/folder_for_photos" />
<Preference
android:key="videos_directory"
android:summary="Текущая папка: "
android:title="Папка для видео" />
android:summary="@string/current_download_folder"
android:title="@string/folder_for_videos" />
<Preference
android:key="music_directory"
android:summary="Текущая папка: "
android:title="Папка для музыки" />
android:summary="@string/current_download_folder"
android:title="@string/folder_for_music" />
</PreferenceCategory>
<PreferenceCategory android:title="@string/sett_media">
<com.vtosters.lite.ui.MaterialSwitchPreference
android:defaultValue="true"
android:key="compressPhotos"
android:summary="Отключение значительно улучшит качество загружаемых фотографий"
android:summary="@string/sett_compress_photo_summ"
android:title="@string/sett_compress_photos" />
<com.vtosters.lite.ui.MaterialSwitchPreference
android:defaultValue="true"
android:key="compressVideos"
android:summary="Отключение значительно улучшит качество загружаемых видео"
android:summary="@string/sett_compress_video_summ"
android:title="@string/sett_compress_videos" />
</PreferenceCategory>
<PreferenceCategory android:title="Last.fm">
<Preference
android:key="lastfm_auth"
android:summary="Вы не вошли в аккаунт"
android:title="Аккаунт" />
android:summary="@string/lastfm_auth_summ"
android:title="@string/lastfm_auth_title" />
<com.vtosters.lite.ui.MaterialSwitchPreference
android:defaultValue="false"
android:key="lastfm_enabled"
android:summary="Полезный сервис по учету прослушивания песен"
android:title="Включить скробблинг" />
android:summary="@string/lastfm_enabled_summ"
android:title="@string/lastfm_enabled_title" />
</PreferenceCategory>
<PreferenceCategory android:title="Музыка">
<PreferenceCategory android:title="@string/vtl_music_settings">
<com.vtosters.lite.ui.MaterialSwitchPreference
android:defaultValue="true"
android:key="musicnewcatalog"
android:summary="Новый каталог музыкального раздела с динамическим контентом"
android:title="Новый раздел музыки" />
android:summary="@string/musicnewcatalog_summ"
android:title="@string/musicnewcatalog_title" />
<com.vtosters.lite.ui.SummaryListPreference
android:defaultValue="default"
android:dialogTitle="Выберите раздел по умолчанию"
android:dialogTitle="@string/musicdefcatalog_dialogTitle"
android:entries="@array/musicdefcatalog_value"
android:entryValues="@array/musicdefcatalog"
android:key="musicdefcatalog"
android:title="Раздел музыки по умолчанию" />
android:title="@string/musicdefcatalog_title" />
</PreferenceCategory>
<PreferenceCategory android:title="Видео">
<PreferenceCategory android:title="@string/vtl_video_settings">
<Preference
android:key="download_video"
android:title="Скачать видео" />
android:title="@string/vtl_download_video_title" />
<com.vtosters.lite.ui.MaterialSwitchPreference
android:defaultValue="true"
android:key="videonewcatalog"
android:summary="Новый каталог видео раздела с динамическим контентом"
android:title="Новый раздел видео" />
android:summary="@string/videonewcatalog_summ"
android:title="@string/videonewcatalog_title" />
<com.vtosters.lite.ui.MaterialSwitchPreference
android:defaultValue="false"
android:key="isEnableExternalOpening"
@@ -100,13 +100,13 @@
android:title="@string/interfacevideorec" />
<Preference
android:key="clearvideohistory"
android:summary="Очистка истории просмотра видео удалит все видео из истории просмотра и рекомендации основанные на них"
android:title="Очистить историю видео" />
android:summary="@string/clearvideohistory_summ"
android:title="@string/clearvideohistory_title" />
</PreferenceCategory>
<PreferenceCategory android:title="Фото">
<PreferenceCategory android:title="@string/vtl_photo_settings">
<Preference
android:key="select_photo_search_engine"
android:title="Выбор движка для поиска фото" />
android:title="@string/photo_search_engine_title" />
</PreferenceCategory>
<PreferenceCategory android:title="@string/vkx_title">
<Preference
+12 -12
View File
@@ -3,7 +3,7 @@
<PreferenceCategory android:title="@string/vtlinterfacemsg">
<Preference
android:key="wallpapers"
android:title="Обои в сообщениях" />
android:title="@string/wallpapers_title" />
<com.vtosters.lite.ui.MaterialSwitchPreference
android:defaultValue="true"
android:key="voice"
@@ -12,10 +12,10 @@
<com.vtosters.lite.ui.MaterialSwitchPreference
android:defaultValue="false"
android:key="convBarRecomm"
android:summary="Скрыть блок рекомендаций добавления в друзья в сообщениях и других советов"
android:title="Скрыть рекомендации" />
android:summary="@string/convBarRecomm_summ"
android:title="@string/convBarRecomm_title" />
</PreferenceCategory>
<PreferenceCategory android:title="VK Мессенджер">
<PreferenceCategory android:title="@string/vk_messenger">
<com.vtosters.lite.ui.MaterialSwitchPreference
android:defaultValue="false"
android:key="vkme"
@@ -26,27 +26,27 @@
android:key="vkme_notifs"
android:title="@string/vkme_notifs" />
</PreferenceCategory>
<PreferenceCategory android:title="Переводчик">
<PreferenceCategory android:title="@string/translator_title">
<com.vtosters.lite.ui.SummaryListPreference
android:defaultValue="system"
android:dialogTitle="Выберите язык"
android:dialogTitle="@string/translator_choose_language"
android:entries="@array/targetlang_value"
android:entryValues="@array/targetlang"
android:key="lang_target"
android:title="Язык переводчика" />
android:title="@string/translator_translate_language" />
<Preference
android:key="lang_service"
android:title="Сервис переводов" />
android:title="@string/translator_translate_service" />
<com.vtosters.lite.ui.MaterialSwitchPreference
android:defaultValue="false"
android:key="autotranslate"
android:summary="Автоматически переводить ваши исходящие сообщения"
android:title="Автоматический перевод" />
android:summary="@string/autotranslate_summ"
android:title="@string/autotranslate_title" />
<com.vtosters.lite.ui.MaterialSwitchPreference
android:defaultValue="false"
android:key="autoalltranslate"
android:summary="Автоматически переводить все сообщения\n\nМогут быть проблемы с загрузкой сообщений"
android:title="Автоматический перевод всего" />
android:summary="@string/autoalltranslate_summ"
android:title="@string/autoalltranslate_title" />
</PreferenceCategory>
<PreferenceCategory android:title="@string/interfaceemoji">
<com.vtosters.lite.ui.MaterialSwitchPreference
+8 -8
View File
@@ -7,7 +7,7 @@
android:title="@string/firebasefix" />
<Preference
android:key="clearcache"
android:title="Очистка кеша приложения" />
android:title="@string/clearcache_other_title" />
<Preference
android:key="autoclearcache"
android:title="@string/autoclearcache" />
@@ -21,29 +21,29 @@
android:title="@string/killappbtn" />
<Preference
android:key="resetfolders"
android:title="Сбросить пути папок" />
android:title="@string/reset_folders_locations" />
<Preference
android:key="tokencopy"
android:title="@string/copytokenbtn" />
<Preference
android:key="vk_admin_token"
android:title="Токен от VK Admin" />
android:title="@string/vk_admin_token_title" />
</PreferenceCategory>
<PreferenceCategory android:title="Бэкапы">
<PreferenceCategory android:title="@string/vtl_other_backups_title">
<Preference
android:key="saveonlines"
android:summary="Сохранить список AppId и их названия в файл"
android:title="Сохранить список онлайнов" />
android:summary="@string/saveonlines_summ"
android:title="@string/saveonlines_title" />
<Preference
android:key="deleteprefs"
android:summary="@string/other_reset_settings_summary"
android:title="@string/other_reset_settings" />
<Preference
android:key="saveprefs"
android:title="Сохранить настройки" />
android:title="@string/saveprefs_title" />
<Preference
android:key="restoreprefs"
android:title="Восстановить настройки" />
android:title="@string/restoreprefs_title" />
</PreferenceCategory>
<PreferenceCategory android:title="@string/vtverify">
<Preference
+6 -6
View File
@@ -4,8 +4,8 @@
<com.vtosters.lite.ui.MaterialSwitchPreference
android:defaultValue="true"
android:key="milkshake"
android:summary="Глобальный редизайн ВКонтакте как на новых версиях"
android:title="Милкшейк" />
android:summary="@string/milkshake_summ"
android:title="@string/milkshake_title" />
<Preference
android:enabled="false"
android:summary="@string/appearance_theme_info_summary"
@@ -25,7 +25,7 @@
android:key="lighttheme"
android:title="@string/appearance_theme_light_theme" />
</PreferenceCategory>
<PreferenceCategory android:title="Докбар">
<PreferenceCategory android:title="@string/vtl_settings_dockbar_title">
<com.vtosters.lite.ui.MaterialSwitchPreference
android:defaultValue="true"
android:key="dockbar_tab_titles"
@@ -33,7 +33,7 @@
<com.vtosters.lite.ui.MaterialSwitchPreference
android:defaultValue="true"
android:key="dockbar_accent"
android:title="Использовать акцент для иконок" />
android:title="@string/dockbar_accent_title" />
<com.vtosters.lite.ui.MaterialSwitchPreference
android:defaultValue="true"
android:key="dockcounter"
@@ -43,8 +43,8 @@
<PreferenceCategory android:title="@string/vtlother">
<Preference
android:key="iconmanager"
android:summary="Большой выбор иконок для приложения"
android:title="Выбрать иконку приложения" />
android:summary="@string/iconmanager_summ"
android:title="@string/iconmanager_title" />
<com.vtosters.lite.ui.MaterialSwitchPreference
android:defaultValue="true"
android:key="navbar"