diff --git a/src/app/pages/setting/setting.page.ts b/src/app/pages/setting/setting.page.ts
index 408364c..5b3cb0a 100644
--- a/src/app/pages/setting/setting.page.ts
+++ b/src/app/pages/setting/setting.page.ts
@@ -28,10 +28,22 @@ export class SettingPage {
await SplashScreen.hide()
}
+ get isIos(): boolean {
+ return this.platform.is('ios');
+ }
+
get isAndroid(): boolean {
return this.platform.is('android');
}
+ rateAndroidApp() {
+ window.open(this.env.GOOGLE_PLAY_URL, '_system');
+ }
+
+ rateIosApp() {
+ window.open(this.env.APP_STORE_URL, '_system');
+ }
+
setLanguage() {
this.router.navigate(['setting-language']);
}
@@ -127,27 +139,8 @@ export class SettingPage {
alert.present();
}
- async confirmExitApp(): Promise {
- const alert = await this.alertController.create({
- header: this.translate.instant('EXIT_APP'),
- message: this.translate.instant('MSG.EXIT_APP'),
- cssClass: ['alert-bg'],
- buttons: [
- {
- text: this.translate.instant('EXIT'),
- handler: () => {
- navigator['app'].exitApp();
- }
- },
- {
- text: this.translate.instant('RATE_THE_APP'),
- handler: () => {
- this.openGooglePlay();
- }
- }
- ]
- });
- await alert.present();
+ exitApp() {
+ navigator['app'].exitApp();
}
openGooglePlay(): void {
diff --git a/src/app/services/env.service.ts b/src/app/services/env.service.ts
index 3299e32..a9dfa9a 100644
--- a/src/app/services/env.service.ts
+++ b/src/app/services/env.service.ts
@@ -15,7 +15,7 @@ import { v4 as uuidv4 } from 'uuid';
import { Preferences } from '@capacitor/preferences';
import { Observable } from 'rxjs';
-export declare type LanguageType = 'de' | 'en' | 'fr' | 'it' | 'zh-CN' | 'zh-HK';
+export declare type LanguageType = 'de' | 'en' | 'fr' | 'it' | 'ru' | 'zh-CN' | 'zh-HK';
export declare type TabPageType = "/tabs/scan" | "/tabs/generate" | "/tabs/import-image" | "/tabs/history" | "/tabs/setting";
export declare type HistoryPageSegmentType = 'history' | 'bookmarks';
export declare type OnOffType = "on" | "off";
@@ -31,7 +31,7 @@ export declare type ResultPageButtonsType = 'detailed' | 'icon-only';
})
export class EnvService {
- public appVersionNumber: string = '3.2.0';
+ public appVersionNumber: string = '3.3.0';
public startPage: TabPageType = "/tabs/scan";
public historyPageStartSegment: HistoryPageSegmentType = 'history';
@@ -75,6 +75,7 @@ export class EnvService {
public showSendMessageButton: OnOffType = 'on';
public showSendEmailButton: OnOffType = 'on';
public showOpenFoodFactsButton: OnOffType = 'on';
+ public showExitAppAlert: OnOffType = "on";
public debugMode: OnOffType = 'off';
public autoExitAppMin: 1 | 3 | 5 | -1 = -1;
@@ -86,6 +87,7 @@ export class EnvService {
public readonly KEY_LANGUAGE = "language";
public readonly KEY_COLOR = "color";
public readonly KEY_DEBUG_MODE = "debug-mode-on";
+ public readonly KEY_SHOW_EXIT_APP_ALERT = "showExitAppAlert";
public readonly KEY_ORIENTATION = "orientation";
public readonly KEY_SCAN_RECORD_LOGGING = "scan-record-logging";
public readonly KEY_RECORDS_LIMIT = "recordsLimit";
@@ -121,10 +123,10 @@ export class EnvService {
public readonly KEY_SHOW_OPEN_FOOD_FACTS_BUTTON = "showOpenFoodFactsButton";
public readonly KEY_AUTO_EXIT_MIN = "autoExitAppMin";
- public readonly KEY_ANDROID_NOT_SHOW_UPDATE_NOTES = "not-show-update-notes-v30200";
- public readonly KEY_IOS_NOT_SHOW_UPDATE_NOTES = "not-show-update-notes-v30200";
- public readonly KEY_ANDROID_PREV_NOT_SHOW_UPDATE_NOTES = "not-show-update-notes-v30100";
- public readonly KEY_IOS_PREV_NOT_SHOW_UPDATE_NOTES = "not-show-update-notes-v30100";
+ public readonly KEY_ANDROID_NOT_SHOW_UPDATE_NOTES = "not-show-update-notes-v30300";
+ public readonly KEY_IOS_NOT_SHOW_UPDATE_NOTES = "not-show-update-notes-v30300";
+ public readonly KEY_ANDROID_PREV_NOT_SHOW_UPDATE_NOTES = "not-show-update-notes-v30200";
+ public readonly KEY_IOS_PREV_NOT_SHOW_UPDATE_NOTES = "not-show-update-notes-v30200";
public readonly APP_FOLDER_NAME: string = 'SimpleQR';
@@ -852,6 +854,15 @@ export class EnvService {
await this.toggleColorTheme();
}
);
+ await Preferences.get({ key: this.KEY_SHOW_EXIT_APP_ALERT }).then(
+ async result => {
+ if (result.value != null) {
+ this.showExitAppAlert = result.value as OnOffType;
+ } else {
+ this.showExitAppAlert = 'on';
+ }
+ }
+ );
await Preferences.get({ key: this.KEY_DEBUG_MODE }).then(
async result => {
if (result.value != null) {
@@ -1216,6 +1227,7 @@ export class EnvService {
this.showOpenFoodFactsButton = 'on';
this.scanRecords = [];
this.bookmarks = [];
+ this.showExitAppAlert = 'on';
this.debugMode = 'off';
this.autoExitAppMin = -1;
}
@@ -1349,6 +1361,9 @@ export class EnvService {
this.showOpenFoodFactsButton = 'on';
await Preferences.set({ key: this.KEY_SHOW_OPEN_FOOD_FACTS_BUTTON, value: this.showOpenFoodFactsButton });
+ this.showExitAppAlert = 'on';
+ await Preferences.set({ key: this.KEY_SHOW_EXIT_APP_ALERT, value: this.showExitAppAlert });
+
this.debugMode = 'off';
await Preferences.set({ key: this.KEY_DEBUG_MODE, value: this.debugMode });
@@ -1600,6 +1615,9 @@ export class EnvService {
case "it":
language = "it"
break;
+ case "ru":
+ language = "ru"
+ break;
case "zh":
if (browserCultureLang == 'zh-CN' || browserCultureLang == 'zh-SG') {
language = 'zh-CN';
diff --git a/src/assets/i18n/de.json b/src/assets/i18n/de.json
index 0876045..2ee1022 100644
--- a/src/assets/i18n/de.json
+++ b/src/assets/i18n/de.json
@@ -165,6 +165,8 @@
"RESET_DEFAULT": "Standard zurücksetzen",
"RESTORE": "Wiederherstellen",
"RESULT": "Ergebnis",
+ "SAVE": "Speichern",
+ "SAVED": "Gespeichert",
"SCAN": "Scannen",
"SCANNED": "Gescannt",
"SCANNING_FEEDBACK_ONLY": "Nur Feedback scannen",
diff --git a/src/assets/i18n/en.json b/src/assets/i18n/en.json
index ef07b3a..6d96311 100644
--- a/src/assets/i18n/en.json
+++ b/src/assets/i18n/en.json
@@ -165,6 +165,8 @@
"RESET_DEFAULT": "Reset Default",
"RESTORE": "Restore",
"RESULT": "Result",
+ "SAVE": "Save",
+ "SAVED": "Saved",
"SCAN": "Scan",
"SCANNED": "Scanned",
"SCANNING_FEEDBACK_ONLY": "Scanning Feedback Only",
diff --git a/src/assets/i18n/fr.json b/src/assets/i18n/fr.json
index 41d0856..2dc6b70 100644
--- a/src/assets/i18n/fr.json
+++ b/src/assets/i18n/fr.json
@@ -165,6 +165,8 @@
"RESET_DEFAULT": "Réinitialiser par défaut",
"RESTORE": "Restaurer",
"RESULT": "Résultat",
+ "SAVE": "Enregistrer",
+ "SAVED": "Enregistrée",
"SCAN": "Scanner",
"SCANNED": "Scanné",
"SCANNING_FEEDBACK_ONLY": "Vibrer lors de la numérisation uniquement",
diff --git a/src/assets/i18n/it.json b/src/assets/i18n/it.json
index c8aa586..408b71e 100644
--- a/src/assets/i18n/it.json
+++ b/src/assets/i18n/it.json
@@ -165,6 +165,8 @@
"RESET_DEFAULT": "Ripristina predefinito",
"RESTORE": "Ripristina",
"RESULT": "Risultato",
+ "SAVE": "Salva",
+ "SAVED": "Salvato",
"SCAN": "Scannerizza",
"SCANNED": "Scannerizzato",
"SCANNING_FEEDBACK_ONLY": "Scansione esclusivamente del feedback",
diff --git a/src/assets/i18n/ru.json b/src/assets/i18n/ru.json
new file mode 100644
index 0000000..025bee2
--- /dev/null
+++ b/src/assets/i18n/ru.json
@@ -0,0 +1,316 @@
+{
+ "100_RECORDS": "100 записей",
+ "30_RECORDS": "30 записей",
+ "49_DIGIT": "49-значный",
+ "50_RECORDS": "50 записей",
+ "ABOUT": "О приложении",
+ "ABOUT_SIMPLE_QR": "О Simple QR",
+ "ADD": "Добавить",
+ "ADD_BCC": "Добавить BCC",
+ "ADD_CC": "Добавить CC",
+ "ADD_CONTACT": "Добавить контакт",
+ "ADD_RECIPIENT": "Добавить получателя",
+ "APP": "Приложение",
+ "APPEARANCE_AND_EFFECTS": "Внешний вид и эффекты",
+ "APP_INITIAL_PAGE": "Стартовая страница",
+ "APP_VERSION": "Версия приложения",
+ "AT": "в",
+ "AT_LEAST_1_MINUTE_LATER": "Как минимум через минуту",
+ "AT_LEAST_3_MINUTES_LATER": "Как минимум через 3 минуты",
+ "AT_LEAST_5_MINUTES_LATER": "Как минимум через 5 минут",
+ "AUTO_KILL_BACKGROUND": "Фоновая активность",
+ "AUTO_LOGGING": "Автоматическое добавление в историю",
+ "AUTO_MAX_BRIGHTNESS": "Максимальная яркость",
+ "AUTO_QR_CODE_POPUP": "Показывать QR-Код",
+ "BACKGROUND_COLOR": "Цвет фона",
+ "BACKING_UP": "Сохранение резервной копии",
+ "BACKUP": "Резервное копирование",
+ "BASE64": "Base64",
+ "BASE64_DECODED": "Декодировано из Base64",
+ "BASE64_ENCODED": "Закодировано в Base64",
+ "BCC": "BCC",
+ "BLACK": "Черная",
+ "BOOKMARK": "Закладки",
+ "BOOKMARKED": "Добавлено в закладки",
+ "BOOKMARKED_TEXTS": "Сохраненные тексты",
+ "BOOKMARKS": "Закладки",
+ "BROWSE": "Просмотреть",
+ "BROWSER": "Браузер",
+ "BROWSE_WEBSITE": "Посетить веб-сайт",
+ "CALL": "Позвонить",
+ "CANCEL": "Отмена",
+ "CC": "CC",
+ "CITY": "Город",
+ "CLEAR": "Очистить",
+ "CLOSE": "Закрыть",
+ "COLOR": "Цвет",
+ "COLOR_THEME": "Тема",
+ "COMING_SOON": "Скоро...",
+ "CONTACT_METHOD": "Метод связи",
+ "CONTACT_NAME": "Имя контакта",
+ "CONTENT": "Содержание",
+ "CONTENT_TYPE": "Тип содержания",
+ "COPIED": "Скопировано",
+ "COPY": "Скопировать",
+ "COPY_SECRET_AND_SAVE_BACKUP": "Скопировать ключ и сохранить резервную копию",
+ "COPY_TEXT": "Скопировать текст",
+ "COUNTRY": "Страна",
+ "CREATE": "Создать",
+ "CREATED": "Создано",
+ "CREATE_QR_CODE": "Создать QR-Код",
+ "DARK": "Тёмная",
+ "DATE_OF_BIRTH": "Дата рождения",
+ "DEBUG_MODE": "Режим отладки",
+ "DECODING": "Декодирование",
+ "DECRYPTING": "Расшифровка",
+ "DETAILED": "Подробнее",
+ "DONE": "Готово",
+ "DUCK_DUCK_GO": "DuckDuckGo",
+ "ECOSIA": "Ecosia",
+ "EDIT": "Редактировать",
+ "EMAIL_ADDRESS": "Адрес электронной почты",
+ "EMAIL_BODY": "Содержание электронного письма",
+ "EMAIL_NTT_DOCOMO": "Электронное письмо (NTT Docomo)",
+ "EMAIL_RECIPIENT": "Получатель",
+ "EMAIL_SUBJECT": "Тема",
+ "EMAIL_TO": "Отправить по электронной почте",
+ "EMAIL_W3C_STANDARD": "Электронное письмо (стандарт W3C)",
+ "ENCRYPTING": "Шифрование",
+ "ERROR_CORRECTION_LEVEL": "Уровень коррекции ошибок",
+ "EXIT": "Выйти",
+ "EXIT_APP": "Выйти из приложения",
+ "EXPORT": "Экспорт",
+ "EXPORTING": "Экспортирование",
+ "EXPORT_TO_CSV": "Экспортировать в CSV",
+ "FAX_NUMBER": "Номер Fax",
+ "FEMALE": "Женский",
+ "FIRST_NAME": "Имя",
+ "FOLLOW_SYSTEM_SETTINGS": "Как в системе",
+ "FREE_TEXT": "Текст",
+ "FULL_RESET": "Полный сброс",
+ "FUNCTIONS": "Функции",
+ "GENDER": "Пол",
+ "GOOGLE_SEARCH": "Google Search",
+ "HAPTIC_FEEDBACK_ONLY": "Только тактильный отклик",
+ "HIDDEN_NETWORK_?": "Скрытая сеть?",
+ "HOME_ADDRESS": "Домашний адрес",
+ "HOME_PHONE_NUMBER": "Номер домашнего телефона",
+ "ICON_ONLY": "Только иконка",
+ "IMPORT": "Импорт",
+ "IMPORT_FROM_CSV": "Импортировать из CSV",
+ "IMPORT_IMAGE": "Импорт изображения",
+ "INITIAL_SEGMENT": "Стартовая страница",
+ "JOB_TITLE": "Должность",
+ "LANGUAGE": "Язык",
+ "LAST_NAME": "Фамилия",
+ "LEVEL_H": "Уровень H",
+ "LEVEL_L": "Уровень L",
+ "LEVEL_M": "Уровень M",
+ "LEVEL_Q": "Уровень Q",
+ "LIGHT": "Светлая",
+ "LOADING_DATA": "Загрузка информации",
+ "LOCK_LANDSCAPE": "Альбомная",
+ "LOCK_PORTRAIT": "Портретная",
+ "LOG": "История",
+ "LOG_BACKUP_AND_RESTORE": "История и восстановление",
+ "MALE": "Мужской",
+ "MANAGE_RECORDS": "Управление записями",
+ "MARGIN": "Отступ",
+ "MESSAGE": "Сообщение",
+ "MESSAGE_CONTENT": "Содержание сообщения",
+ "MICROSOFT_BING": "Microsoft Bing",
+ "MOBILE_PHONE_NUMBER": "Номер мобильного телефона",
+ "MORE": "Подробнее",
+ "NAME": "Имя",
+ "NO": "Нет",
+ "NONE": "None",
+ "NOT_AVAILABLE": "Нет доступа",
+ "NOT_PROVIDED": "Не предоставлено",
+ "NOT_TO_DISCLOSE": "Не указан",
+ "NO_LIMIT": "Нет ограничений",
+ "NUMBER_OF_RECORDS": "Количество записей",
+ "OK": "ОК",
+ "ONLY_DELETE_DATA": "Только удалить информацию",
+ "ONLY_RESET_SETTING": "Только сбросить настройки",
+ "OPEN": "Открыть",
+ "OPEN_URL": "Открыть URL",
+ "OPEN_WITH_...": "Открыть с помощью...",
+ "OPTIMIZING_DATA_...": "Оптимизация информации...",
+ "ORGANIZATION": "Организация",
+ "ORIGINAL": "Оригинал",
+ "OTHERS": "Другое",
+ "PASSWORD": "Пароль",
+ "PATCH_NOTES": "Нововведения",
+ "PERMISSION_REQUIRED": "Необходимо разрешение",
+ "PERSONAL": "Персональные данные",
+ "PHONE_NO": "Номер телефона",
+ "PHONE_NUMBER": "Номер телефона",
+ "PLEASE_WAIT": "Пожалуйста, подождите",
+ "POSTAL_CODE": "Почтовый индекс",
+ "PREPARING": "Подготовка",
+ "PREVIEW": "Предпросмотр",
+ "PRIVACY_POLICY": "Политика конфиденциальности",
+ "QR_CODE": "QR-Код",
+ "QR_CODE_AND_DECODED_RESULT": "QR-Код и результат",
+ "QR_CODE_CONTENT": "Содержание QR-Кода",
+ "QR_CODE_STYLE": "Стиль QR-Кода",
+ "RATE_THE_APP": "Оценить приложение",
+ "RECORDS_LIMIT": "Ограничение количества записей",
+ "REMOVE_ALL": "Удалить все",
+ "REMOVE_BCC": "Убрать BCC",
+ "REMOVE_CC": "Убрать CC",
+ "REMOVE_RECIPIENT": "Убрать получателя",
+ "REPORT_ISSUE": "Сообщить о проблеме",
+ "RESET_APP": "Сброс приложения",
+ "RESET_DEFAULT": "Настройки по умолчанию",
+ "RESTORE": "Восстановление",
+ "RESULT": "Результат",
+ "SAVE": "Сохранять",
+ "SAVED": "Сохранено",
+ "SCAN": "Сканировать",
+ "SCANNED": "Просканировано",
+ "SCANNING_FEEDBACK_ONLY": "Только отклик сканирования",
+ "SCAN_BY_CAMERA": "Сканирование с помощью камеры",
+ "SCREEN_ORIENTATION": "Ориентация экрана",
+ "SEARCH": "Поиск",
+ "SEARCH_ENGINE": "Поисковая система",
+ "SECRET": "Ключ",
+ "SEND": "Отправить",
+ "SEND_EMAIL": "Отправить электронное письмо",
+ "SEND_MESSAGE": "Отправить сообщение",
+ "SETTING": "Настройки",
+ "SETTINGS": "Настройки",
+ "SHARE": "Поделиться",
+ "SHARING": "Отправка",
+ "SHOW": "Показать",
+ "SHOW_NUMBER_OR_RECORDS": "Показывать количество записей",
+ "SHOW_QR_CODE": "Показать QR-Код",
+ "SIMPLE_QR": "Simple QR",
+ "STATE": "Округ",
+ "STREET": "Улица",
+ "SUCCESS": "Успешно",
+ "SUPPORTED_BARCODE_TYPE": "Поддерживаемые операции",
+ "SUPPORTED_TYPE": "Поддерживаемые операции",
+ "SYSTEM_DEFAULT": "Как в системе",
+ "TASK": "Задача",
+ "TASK_BUTTON_LAYOUT": "Кнопки действия",
+ "TURN_OFF": "Выключить",
+ "TURN_ON": "Включить",
+ "TURNED_OFF": "Выключено",
+ "TURNED_ON": "Включено",
+ "TUTORIAL": "Обучение",
+ "UNDO": "Отменить",
+ "UNKNOWN": "Неизвестно",
+ "UPDATE_SUCCESSFULLY": "Успешно обновлено",
+ "URL": "URL",
+ "VCARD_CONTACT": "Контакт vCard",
+ "VERSION_VERSION": "Версия {version}",
+ "VIBRATION": "Вибрация",
+ "VIEWED": "Просмотрено",
+ "VIEW_BOOKMARK": "Просмотр закладки",
+ "VIEW_GITHUB": "Посетить GitHub",
+ "VIEW_LOG": "Просмотр истории",
+ "VIEW_STORE_AND_SOURCE_CODE": "Посетить магазин и репозиторий с исходным кодом ",
+ "VIEW_INSTRUCTIONS": "Посмотреть обучение",
+ "WEBSITE": "Веб-сайт",
+ "WIFI": "WiFi",
+ "WIFI_ENCRYPTION": "Шифрование WiFi",
+ "WIFI_SSID": "WiFi SSID",
+ "WORK": "Место работы",
+ "WORK_PHONE_NUMBER": "Номер рабочего телефона",
+ "YAHOO_SEARCH": "Yahoo! Search",
+ "YANDEX": "Yandex",
+ "YES": "Да",
+ "MSG": {
+ "ALREADY_BOOKMARKED": "Ошибка! Уже добавлено в закладки ранее",
+ "AUTO_KILL_BACKGROUND_EXPLAIN": "Чтобы использовать меньше системных ресурсов и батареи, выставьте количество времени, спустя которое приложение будет автоматически остановлено, если оно работает в фоне.
Если вы выберете опцию Как в системе, фоновая активность приложения будет полностью контролироваться системой, приложение не будет приостанавливать свою работу самостоятельно.
Заметьте, что в некоторых ситуациях система может останавливать приложение заблаговременно.
",
+ "AUTO_LOGGING_EXPLAIN": "Содержание каждого QR-Кода и Бар-Кода автоматически сохраняется после сканирования. Вы можете повторно обращаться к этим записям в разделе Истории.",
+ "AUTO_MAX_BRIGHTNESS_EXPLAIN": "Автоматически увеличивать яркость экрана до максимального значения во время просмотра QR-Кода.",
+ "AUTO_SHOW_QR_EXPLAIN": "Автоматически показывать QR-Код на странице результата после этих действий.",
+ "BACKUP_EXPLAIN": "Вы можете создать локальную резервную копию всех записей истории и закладок. Вам будет выдан набор ключей после резервного копирования. Сохраняйте эти ключи, иначе вы не сможете восстановить созданную резервную копию. Заметьте, что Simple QR не поддерживает резервное копирование между разными платформами.",
+ "BACKUP_FAILED": "Не удалось создать резервную копию",
+ "BACKUP_FAILED_2": "Не удалось создать резервную копию. Пожалуйста, убедитесь, что приложению выдано разрешение на взаимодействие с файлами.",
+ "BACKUP_SUCCESSFULLY": "Резервное копирование успешно завершено. Пожалуйста, сохраните файл резервной копии и следующий ключ
{secret}
",
+ "BARCODE_TYPE": "Сканирование- QR-Код
- Бар-Код
- Код Aztec
- Data Matrix
- PDF417
Импорт изображенияСоздание",
+ "BOOKMARKED": "Успешно добавлено в закладки",
+ "BUTTON_DISPLAY_EXPLAIN": "Показать или скрыть кнопки действий.",
+ "BUTTON_STYLE_EXPLAIN": "Выберите стиль кнопок действий.",
+ "CAMERA_PERMISSION": "Чтобы приложение могло осуществлять сканирование, предоставьте доступ к Камере.",
+ "CONTACT_PERMISSION": "Для сохранения контакта, необходимо предоставить доступ к Контактам.",
+ "COPIED_SECRET": "Ключ скопирован",
+ "COPY_TEXT": "Какую часть контента вы бы хотели скопировать?",
+ "CREATE_QRCODE_MAX_LENGTH": "Максимум 1817 символов",
+ "CREATE_QRCODE_MAX_LENGTH_EXPLAIN": "Длина содержания сгенерированного QR-Кода не должна превышать 1817 символов.",
+ "DEBUG_MODE_ON": "Режим Отладки успешно активирован",
+ "DELETE_OVERFLOWED_RECORDS": "После того, как вы покинете эту страницу, лишние записи будут безвозвратно удалены.",
+ "EMAIL_MAX_LENGTH": "Максимум 254 символа",
+ "EMAIL_SUBJECT_MAX_LENGTH": "Максимум 78 символов",
+ "ERROR_CORRECTION_LEVEL_EXPLAIN": "В структуру QR-Кодов заложена способность восстановления информации, даже если Код поврежден.
Существует 4 уровня такой защиты:
Уровень L восстанавливает 7% байт информации.
Уровень M восстанавливает 15% байт информации.
Уровень Q восстанавливает 25% байт информации.
Уровень H восстанавливает 30% байт информации.
Заметьте, что увеличение уровня защиты может увеличить вероятность восстановления информации, но также увеличивает размер QR-Кода. Поэтому, при обычных условиях рекомендуем использовать уровень M.
",
+ "EXIT_APP": "Уверены, что хотите покинуть приложение?
Если вам нравится Simple QR, пожалуйста, оцените его в магазине приложений.
",
+ "EXPORT_TO_CSV_EXPLAIN": "Вы можете экспортировать все записи истории и закладки в CSV файл.",
+ "FAILED_SAVING_CONTACT": "Не удалось сохранить контакт",
+ "FAIL_PREPARE_SMS": "Не удалось отправить сообщение",
+ "IMPORT_FAILED": "Не удалось импортировать",
+ "IMPORT_FROM_CSV_EXPLAIN": "Вы можете импортировать записи истории и закладки из CSV файла в формате, заданном Simple QR. Если вы желаете переместить информацию между Android и iOS, воспользуйтесь этой функцией.",
+ "INPUT_TAG": "Пожалуйста, дайте закладке имя",
+ "INVALID_BK_FILE": "Это несовместимый файл резервной копии.",
+ "INVALID_CSV_FILE": "Это несовместимый CSV файл.",
+ "NOT_BASE64_DE": "Невозможно декодировать информацию из Base64",
+ "NOT_BASE64_EN": "Невозможно закодировать информацию в Base64",
+ "NOT_BASE64_EN_DE": "Невозможно закодировать или декодировать информацию Base64",
+ "NO_QR_CODE": "Не удалось распознать QR-Код",
+ "ONLY_VCARD_3_0": "Поддерживается только формат vCard 3.0",
+ "PLEASE_INPUT_VALID_SECRET": "Пожалуйста, введите правильный ключ",
+ "PORTRAIT_ONLY": "Портретная",
+ "PREPARE_SMS": "Подготовка сообщения",
+ "PREVIOUS_RECORDS": "Записи предыдущих действий: сканирования, создания или просмотра",
+ "QR_CODE_VALUE_NOT_EMPTY": "Содержание QR-Кода не может быть пустым",
+ "READ_IMAGE_PERMISSION": "Необходимо предоставить разрешение взаимодействовать с файлами, чтобы просканировать изображение.",
+ "RECORDS_LIMIT_EXPLAIN": "Укажите максимальное количество записей истории. Старые записи будут автоматически удалены при достижении указанного лимита.",
+ "REMOVE_ALL_BOOKMARKS": "Уверены, что хотите безвозвратно удалить все закладки?",
+ "REMOVE_ALL_RECORD": "Уверены, что хотите безвозвратно удалить все записи истории?",
+ "RESET_APP": "Уверены, что хотите вернуться к настройкам по умолчанию и удалить все данные приложения? Это действие необратимо.",
+ "RESET_DEFAULT": "Уверены, что хотите вернуться к настройкам по умолчанию?",
+ "RESTORE_EXPLAIN": "Вы можете восстановить закладки и записи истории из резервной копии. Полученные данные будут совмещены с текущими данными приложения. Файл резервной копии должен иметь тип TFSQBK.",
+ "RESTORE_EXPLAIN_IOS": "Вы можете восстановить закладки и записи истории из резервной копии. Полученные данные будут совмещены с текущими данными приложения. Файл резервной копии должен иметь тип ISQBK.",
+ "RESTORE_FAILED": "Не удалось восстановить",
+ "RESTORE_SECRET": "Пожалуйста, введите ключ для восстановления данных",
+ "RESTORE_SUCCESSFUL": "Восстановление успешно завершено",
+ "RESTORE_WRONG_SECRET": "Неверный ключ",
+ "SAVED_CONTACT": "Контакт сохранен",
+ "SAVING_CONTACT": "Идет сохранение контакта",
+ "SCAN_QR_FROM_IMAGE": "Simple QR использует модуль \"cozmo/jsQR\", чтобы сканировать QR-Код из изображение. Чтобы успешно осуществить сканирование",
+ "SCAN_QR_FROM_IMAGE_R1": "Дайте приложению разрешение на доступ к Памяти устройства или Фото на нем.",
+ "SCAN_QR_FROM_IMAGE_R2": "Убедитесь, что фон изображения не прозрачный. Не рекомендовано использовать изображение, полученные не при помощи камеры.",
+ "SCAN_QR_FROM_IMAGE_R3": "Отмените редактирование фото, если вы хотите просканировать изображение целиком (по ситуации).",
+ "SEARCH": "Что конкретно вы хотите найти?",
+ "SEARCH_ENGINE_EXPLAIN": "Выберите поисковую систему для осуществления поиска после получения результата.",
+ "SHARE_QR": "Скорее сканируй!\n\nОтправлено при помощи Simple QR",
+ "SMS_MAX_LENGTH": "Максимум 160 символов",
+ "SSID_MAX_LENGTH": "Максимум 32 символа",
+ "START_PAGE_EXPLAIN": "Выберете стартовую страницу приложения.",
+ "START_PAGE_HEADER_EXPLAIN": "Показывать заголовок Simple QR на стартовой странице.",
+ "TAG_MAX_LENGTH": "Максимум 30 символов",
+ "TAG_MAX_LENGTH_EXPLAIN": "Длина имени не должна превышать 30 символов..",
+ "TUTORIAL_NOT_SHOW_AGAIN": "Не показывать снова",
+ "TUTORIAL_SWIPE_LEFT": "Смахните влево, чтобы удалить соответствующую запись.",
+ "TUTORIAL_SWIPE_RIGHT": "Смахните вправо, чтобы добавить текст соответствующей записи в закладки / редактировать имя соответствующей закладки.",
+ "UNDO_DELETE": "Вы можете отменить удаление",
+ "VIBRATION_EXPLAIN": "Использовать вибрацию или тактильный отклик. Заметьте, что не все устройства поддерживают эту функцию."
+ },
+ "BARCODE_TYPE": {
+ "1D": "Бар-Код ",
+ "AZTEC": "Код Aztec ",
+ "DATA_MATRIX": "Data Matrix ",
+ "EAN": "European Article Number ",
+ "MAXICODE": "MaxiCode ",
+ "PDF_417": "PDF417 ",
+ "QR_CODE": "QR-Код ",
+ "RSS": "GS1 DataBar ",
+ "UPC": "Universal Product Code "
+ },
+ "UPDATE": {
+ "UPDATE_NOTES_ANDROID": "В этом релизе вас ждет несколько обновлений и новых функций. Посетите GitHub проекта, чтобы узнать детали.
",
+ "UPDATE_NOTES_IOS": "В этом релизе вас ждет несколько обновлений и новых функций. Посетите GitHub проекта, чтобы узнать детали.
"
+ }
+}
\ No newline at end of file
diff --git a/src/assets/i18n/zh-CN.json b/src/assets/i18n/zh-CN.json
index d60be36..9887a12 100644
--- a/src/assets/i18n/zh-CN.json
+++ b/src/assets/i18n/zh-CN.json
@@ -165,6 +165,8 @@
"RESET_DEFAULT": "还原预设值",
"RESTORE": "还原",
"RESULT": "结果",
+ "SAVE": "储存",
+ "SAVED": "已储存",
"SCAN": "扫描",
"SCANNED": "扫描",
"SCANNING_FEEDBACK_ONLY": "仅扫描反馈",
diff --git a/src/assets/i18n/zh-HK.json b/src/assets/i18n/zh-HK.json
index f7e4956..6c0e939 100644
--- a/src/assets/i18n/zh-HK.json
+++ b/src/assets/i18n/zh-HK.json
@@ -165,6 +165,8 @@
"RESET_DEFAULT": "還原預設值",
"RESTORE": "還原",
"RESULT": "結果",
+ "SAVE": "儲存",
+ "SAVED": "已儲存",
"SCAN": "掃描",
"SCANNED": "掃描",
"SCANNING_FEEDBACK_ONLY": "僅掃描反饋",
diff --git a/src/global.scss b/src/global.scss
index e755143..d1e7602 100644
--- a/src/global.scss
+++ b/src/global.scss
@@ -109,6 +109,15 @@ ion-tab-button:not(.tab-selected)::part(native):hover {
opacity: 0.5;
}
+.alert-input-no-border .alert-checkbox-group {
+ border: 0px !important;
+}
+
+.alert-input-no-border .alert-checkbox-label {
+ overflow: auto !important;
+ white-space: pre-line !important;
+}
+
.alert-can-copy {
user-select: text !important;
}