From 475146a8a0e3517193bc6df3f42c50bbafc8dbcb Mon Sep 17 00:00:00 2001
From: Tom Fong
Date: Fri, 7 Jul 2023 12:41:33 +0800
Subject: [PATCH] feat: auto open url
---
src/app/app-routing.module.ts | 4 ++
src/app/pages/result/result.page.ts | 11 +++++-
.../setting-auto-brightness.page.ts | 4 --
.../setting-auto-open-url-routing.module.ts | 17 +++++++++
.../setting-auto-open-url.module.ts | 30 +++++++++++++++
.../setting-auto-open-url.page.html | 37 +++++++++++++++++++
.../setting-auto-open-url.page.scss | 0
.../setting-auto-open-url.page.ts | 34 +++++++++++++++++
.../setting-result/setting-result.page.html | 11 ++++++
.../setting-result/setting-result.page.ts | 4 ++
src/app/services/env.service.ts | 15 ++++++++
src/app/utils/helpers.ts | 9 ++++-
src/assets/i18n/de.json | 2 +
src/assets/i18n/en.json | 2 +
src/assets/i18n/fr.json | 2 +
src/assets/i18n/it.json | 2 +
src/assets/i18n/ru.json | 2 +
src/assets/i18n/zh-CN.json | 2 +
src/assets/i18n/zh-HK.json | 2 +
19 files changed, 184 insertions(+), 6 deletions(-)
create mode 100644 src/app/pages/setting-auto-open-url/setting-auto-open-url-routing.module.ts
create mode 100644 src/app/pages/setting-auto-open-url/setting-auto-open-url.module.ts
create mode 100644 src/app/pages/setting-auto-open-url/setting-auto-open-url.page.html
create mode 100644 src/app/pages/setting-auto-open-url/setting-auto-open-url.page.scss
create mode 100644 src/app/pages/setting-auto-open-url/setting-auto-open-url.page.ts
diff --git a/src/app/app-routing.module.ts b/src/app/app-routing.module.ts
index 235478e..0b42545 100644
--- a/src/app/app-routing.module.ts
+++ b/src/app/app-routing.module.ts
@@ -48,6 +48,10 @@ const routes: Routes = [
path: 'setting-auto-brightness',
loadChildren: () => import('./pages/setting-auto-brightness/setting-auto-brightness.module').then(m => m.SettingAutoBrightnessPageModule)
},
+ {
+ path: 'setting-auto-open-url',
+ loadChildren: () => import('./pages/setting-auto-open-url/setting-auto-open-url.module').then(m => m.SettingAutoOpenUrlPageModule)
+ },
{
path: 'setting-start-page',
loadChildren: () => import('./pages/setting-start-page/setting-start-page.module').then(m => m.SettingStartPagePageModule)
diff --git a/src/app/pages/result/result.page.ts b/src/app/pages/result/result.page.ts
index 2e37a44..014206e 100644
--- a/src/app/pages/result/result.page.ts
+++ b/src/app/pages/result/result.page.ts
@@ -88,7 +88,16 @@ export class ResultPage {
}
async ionViewDidEnter(): Promise {
- if (this.showQrFirst) {
+ if (this.contentType == 'url' && this.env.autoOpenUrl == 'on' && this.env.recordSource == 'scan') {
+ setTimeout(() => {
+ this.presentToast(this.translate.instant("AUTO_OPEN_URL"), "short", "bottom");
+ if (this.isHttp) {
+ this.browseWebsite();
+ } else {
+ this.openLink();
+ }
+ }, 300);
+ } else if (this.showQrFirst) {
this.showQrFirst = false;
if (this.qrCodeContent && this.qrCodeContent.trim().length > 0) {
await this.enlarge();
diff --git a/src/app/pages/setting-auto-brightness/setting-auto-brightness.page.ts b/src/app/pages/setting-auto-brightness/setting-auto-brightness.page.ts
index 13f7589..1ffe1f4 100644
--- a/src/app/pages/setting-auto-brightness/setting-auto-brightness.page.ts
+++ b/src/app/pages/setting-auto-brightness/setting-auto-brightness.page.ts
@@ -15,10 +15,6 @@ export class SettingAutoBrightnessPage {
public env: EnvService,
) { }
- async saveAutoMaxBrightness() {
- await Preferences.set({ key: this.env.KEY_AUTO_MAX_BRIGHTNESS, value: this.env.autoMaxBrightness });
- }
-
async onAutoMaxBrightnessChange(ev: any) {
this.env.autoMaxBrightness = ev ? 'on' : 'off';
await Preferences.set({ key: this.env.KEY_AUTO_MAX_BRIGHTNESS, value: this.env.autoMaxBrightness });
diff --git a/src/app/pages/setting-auto-open-url/setting-auto-open-url-routing.module.ts b/src/app/pages/setting-auto-open-url/setting-auto-open-url-routing.module.ts
new file mode 100644
index 0000000..bfa4ff1
--- /dev/null
+++ b/src/app/pages/setting-auto-open-url/setting-auto-open-url-routing.module.ts
@@ -0,0 +1,17 @@
+import { NgModule } from '@angular/core';
+import { Routes, RouterModule } from '@angular/router';
+
+import { SettingAutoOpenUrlPage } from './setting-auto-open-url.page';
+
+const routes: Routes = [
+ {
+ path: '',
+ component: SettingAutoOpenUrlPage
+ }
+];
+
+@NgModule({
+ imports: [RouterModule.forChild(routes)],
+ exports: [RouterModule],
+})
+export class SettingAutoOpenUrlPageRoutingModule {}
diff --git a/src/app/pages/setting-auto-open-url/setting-auto-open-url.module.ts b/src/app/pages/setting-auto-open-url/setting-auto-open-url.module.ts
new file mode 100644
index 0000000..6b91d86
--- /dev/null
+++ b/src/app/pages/setting-auto-open-url/setting-auto-open-url.module.ts
@@ -0,0 +1,30 @@
+import { NgModule } from '@angular/core';
+import { CommonModule } from '@angular/common';
+import { FormsModule } from '@angular/forms';
+
+import { IonicModule } from '@ionic/angular';
+
+import { SettingAutoOpenUrlPageRoutingModule } from './setting-auto-open-url-routing.module';
+
+import { SettingAutoOpenUrlPage } from './setting-auto-open-url.page';
+import { TranslateLoader, TranslateModule } from '@ngx-translate/core';
+import { HttpClient } from '@angular/common/http';
+import { HttpLoaderFactory } from 'src/app/utils/helpers';
+
+@NgModule({
+ imports: [
+ CommonModule,
+ FormsModule,
+ IonicModule,
+ TranslateModule.forChild({
+ loader: {
+ provide: TranslateLoader,
+ useFactory: HttpLoaderFactory,
+ deps: [HttpClient]
+ }
+ }),
+ SettingAutoOpenUrlPageRoutingModule
+ ],
+ declarations: [SettingAutoOpenUrlPage]
+})
+export class SettingAutoOpenUrlPageModule {}
diff --git a/src/app/pages/setting-auto-open-url/setting-auto-open-url.page.html b/src/app/pages/setting-auto-open-url/setting-auto-open-url.page.html
new file mode 100644
index 0000000..7db25a5
--- /dev/null
+++ b/src/app/pages/setting-auto-open-url/setting-auto-open-url.page.html
@@ -0,0 +1,37 @@
+
+
+
+
+
+
+ {{ 'AUTO_OPEN_URL' | translate }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ (env.autoOpenUrl == 'on'? 'TURNED_ON' : 'TURNED_OFF') | translate }}
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/app/pages/setting-auto-open-url/setting-auto-open-url.page.scss b/src/app/pages/setting-auto-open-url/setting-auto-open-url.page.scss
new file mode 100644
index 0000000..e69de29
diff --git a/src/app/pages/setting-auto-open-url/setting-auto-open-url.page.ts b/src/app/pages/setting-auto-open-url/setting-auto-open-url.page.ts
new file mode 100644
index 0000000..b3975dc
--- /dev/null
+++ b/src/app/pages/setting-auto-open-url/setting-auto-open-url.page.ts
@@ -0,0 +1,34 @@
+import { Component } from '@angular/core';
+import { Haptics, ImpactStyle } from '@capacitor/haptics';
+import { Preferences } from '@capacitor/preferences';
+import { Toast } from '@capacitor/toast';
+import { EnvService } from 'src/app/services/env.service';
+
+@Component({
+ selector: 'app-setting-auto-open-url',
+ templateUrl: './setting-auto-open-url.page.html',
+ styleUrls: ['./setting-auto-open-url.page.scss'],
+})
+export class SettingAutoOpenUrlPage {
+
+ constructor(
+ public env: EnvService,
+ ) { }
+
+ async onAutoOpenUrlChange(ev: any) {
+ this.env.autoOpenUrl = ev ? 'on' : 'off';
+ await Preferences.set({ key: this.env.KEY_AUTO_OPEN_URL, value: this.env.autoOpenUrl });
+ await this.tapHaptic();
+ }
+
+ async tapHaptic() {
+ if (this.env.vibration === 'on' || this.env.vibration === 'on-haptic') {
+ await Haptics.impact({ style: ImpactStyle.Light })
+ .catch(async err => {
+ if (this.env.debugMode === 'on') {
+ await Toast.show({ text: 'Err when Haptics.impact: ' + JSON.stringify(err), position: "top", duration: "long" })
+ }
+ })
+ }
+ }
+}
diff --git a/src/app/pages/setting-result/setting-result.page.html b/src/app/pages/setting-result/setting-result.page.html
index 944ca64..1eb4773 100644
--- a/src/app/pages/setting-result/setting-result.page.html
+++ b/src/app/pages/setting-result/setting-result.page.html
@@ -44,6 +44,17 @@
+
+
+
+
+
+
+ {{ 'AUTO_OPEN_URL' | translate }}
+
+
+
+
{{ 'TASK' | translate }}
diff --git a/src/app/pages/setting-result/setting-result.page.ts b/src/app/pages/setting-result/setting-result.page.ts
index ec2aadd..1c6d264 100644
--- a/src/app/pages/setting-result/setting-result.page.ts
+++ b/src/app/pages/setting-result/setting-result.page.ts
@@ -22,6 +22,10 @@ export class SettingResultPage {
this.router.navigate(['setting-auto-brightness']);
}
+ setAutoOpenUrl() {
+ this.router.navigate(['setting-auto-open-url']);
+ }
+
setQrStyle() {
this.router.navigate(['setting-qr']);
}
diff --git a/src/app/services/env.service.ts b/src/app/services/env.service.ts
index 0bd10c2..57a39df 100644
--- a/src/app/services/env.service.ts
+++ b/src/app/services/env.service.ts
@@ -45,6 +45,7 @@ export class EnvService {
public recordsLimit: 30 | 50 | 100 | -1 = -1;
public showNumberOfRecords: OnOffType = 'on';
public autoMaxBrightness: OnOffType = 'off';
+ public autoOpenUrl: OnOffType = 'on';
public errorCorrectionLevel: ErrorCorrectionLevelType = 'M';
public qrCodeLightR: number = 255;
public qrCodeLightG: number = 255;
@@ -102,6 +103,7 @@ export class EnvService {
public readonly KEY_QR_CODE_DARK_B = "qrCodeDarkB";
public readonly KEY_QR_CODE_MARGIN = "qrCodeMargin";
public readonly KEY_AUTO_MAX_BRIGHTNESS = "auto-max-brightness";
+ public readonly KEY_AUTO_OPEN_URL = "auto-open-url";
public readonly KEY_SEARCH_ENGINE = "search-engine";
public readonly KEY_RESULT_PAGE_BUTTONS = "result-page-buttons";
public readonly KEY_SHOW_QR_AFTER_CAMERA_SCAN = "show-qr-after-camera-scan";
@@ -1000,6 +1002,15 @@ export class EnvService {
}
}
);
+ await Preferences.get({ key: this.KEY_AUTO_OPEN_URL }).then(
+ async result => {
+ if (result.value != null) {
+ this.autoOpenUrl = result.value as OnOffType;
+ } else {
+ this.autoOpenUrl = 'on';
+ }
+ }
+ );
await Preferences.get({ key: this.KEY_SEARCH_ENGINE }).then(
async result => {
if (result.value != null) {
@@ -1195,6 +1206,7 @@ export class EnvService {
this.recordsLimit = -1;
this.showNumberOfRecords = 'on';
this.autoMaxBrightness = 'off';
+ this.autoOpenUrl = 'on';
this.errorCorrectionLevel = 'M';
this.qrCodeLightR = 255;
this.qrCodeLightG = 255;
@@ -1268,6 +1280,9 @@ export class EnvService {
this.autoMaxBrightness = 'off';
await Preferences.set({ key: this.KEY_AUTO_MAX_BRIGHTNESS, value: this.autoMaxBrightness });
+ this.autoOpenUrl = 'on';
+ await Preferences.set({ key: this.KEY_AUTO_OPEN_URL, value: this.autoOpenUrl });
+
this.errorCorrectionLevel = 'M';
await Preferences.set({ key: this.KEY_ERROR_CORRECTION_LEVEL, value: this.errorCorrectionLevel });
diff --git a/src/app/utils/helpers.ts b/src/app/utils/helpers.ts
index dedd2e4..f3d5a54 100644
--- a/src/app/utils/helpers.ts
+++ b/src/app/utils/helpers.ts
@@ -1,3 +1,6 @@
+import { HttpClient } from "@angular/common/http";
+import { TranslateHttpLoader } from "@ngx-translate/http-loader";
+
function componentToHex(c: number) {
var hex = c.toString(16);
return hex.length == 1 ? "0" + hex : hex;
@@ -5,4 +8,8 @@ function componentToHex(c: number) {
export function rgbToHex(r: number, g: number, b: number) {
return "#" + componentToHex(r) + componentToHex(g) + componentToHex(b);
-}
\ No newline at end of file
+}
+
+export function HttpLoaderFactory(http: HttpClient): TranslateHttpLoader {
+ return new TranslateHttpLoader(http, './assets/i18n/', '.json');
+}
diff --git a/src/assets/i18n/de.json b/src/assets/i18n/de.json
index 122b452..4ee959e 100644
--- a/src/assets/i18n/de.json
+++ b/src/assets/i18n/de.json
@@ -21,6 +21,7 @@
"AUTO_KILL_BACKGROUND": "Auto Kill Hintergrund",
"AUTO_LOGGING": "Automatische Protokollierung",
"AUTO_MAX_BRIGHTNESS": "Auto Maximale Helligkeit",
+ "AUTO_OPEN_URL": "URL automatisch öffnen",
"AUTO_QR_CODE_POPUP": "Automatisches QR Code Pop-up",
"BACKGROUND_COLOR": "Hintergrundfarbe",
"BACKING_UP": "Sichern",
@@ -227,6 +228,7 @@
"AUTO_KILL_BACKGROUND_EXPLAIN": "Um Systemressourcen und Akku zu sparen, lege die Zeit fest, zu der die Anwendung automatisch beendet wird, wenn sie im Hintergrund läuft.
Wenn Du gewählt hast Systemeinstellung folgens, die Anwendung wird vollständig vom System kontrolliert und kann nicht von selbst beendet werden.
Bitte beachte, dass in manchen Situationen, könnte das System die Anwendung im Voraus stoppen.
",
"AUTO_LOGGING_EXPLAIN": "Jeder QR-Code und Barcode-Inhalt wird protokolliert und automatisch gespeichert, nachdem Du ihn gescannt, erstellt oder erneut angezeigt hast. Du kannst sie auf der Seite Log einsehen.",
"AUTO_MAX_BRIGHTNESS_EXPLAIN": "Die Bildschirmhelligkeit wird automatisch auf das Maximum eingestellt, wenn ein QR-Code angezeigt wird..",
+ "AUTO_OPEN_URL_EXPLAIN": "Wenn der QR-Code gescannt wird und der Inhalt eine URL ist, wird die URL automatisch geöffnet.",
"AUTO_SHOW_QR_EXPLAIN": "Nach den folgenden Aktionen wird automatisch ein QR-Code auf der Ergebnisseite angezeigt.",
"BACKUP_EXPLAIN": "Du kannst alle Datensätze und Lesezeichen lokal sichern. Nach der Sicherung erhältst du eine Reihe von Geheimnissen. Bewahre das Geheimnis sicher auf, sonst kannst du die Sicherung nicht wiederherstellen. Bitte beachte, dass Simple QR keine plattformübergreifende Sicherung und Wiederherstellung unterstützt.",
"BACKUP_FAILED": "Sicherung fehlgeschlagen",
diff --git a/src/assets/i18n/en.json b/src/assets/i18n/en.json
index 577b2bc..bb02842 100644
--- a/src/assets/i18n/en.json
+++ b/src/assets/i18n/en.json
@@ -21,6 +21,7 @@
"AUTO_KILL_BACKGROUND": "Auto Kill Background",
"AUTO_LOGGING": "Auto Logging",
"AUTO_MAX_BRIGHTNESS": "Auto Max Brightness",
+ "AUTO_OPEN_URL": "Auto Open URL",
"AUTO_QR_CODE_POPUP": "Auto QR Code Pop-up",
"BACKGROUND_COLOR": "Background Color",
"BACKING_UP": "Backing Up",
@@ -227,6 +228,7 @@
"AUTO_KILL_BACKGROUND_EXPLAIN": "To save system resources and battery, set the time to automatically kill the app when it is running in the background.
If you choose Follow System Settings, the app will be fully controlled by system and won't be killed by itself.
Please note that in some situations, the system might stop the app in advance.
",
"AUTO_LOGGING_EXPLAIN": "Every QR code and barcode content are logged and stored automatically after you scan, create or view it again. You can view them on the Log page.",
"AUTO_MAX_BRIGHTNESS_EXPLAIN": "The screen brightness is automatically adjusted to the maximum when displaying QR code.",
+ "AUTO_OPEN_URL_EXPLAIN": "When the QR code is scanned and the content is a URL, the URL will be opened automatically.",
"AUTO_SHOW_QR_EXPLAIN": "Automatically pop up QR code on the Result page after the following actions.",
"BACKUP_EXPLAIN": "You can back up all records and bookmarks locally. You will be given a set of secret after backing up. Keep the secret securely, otherwise you cannot restore the backup. Please note that Simple QR does not support cross-platform backup and restore.",
"BACKUP_FAILED": "Failed to back up",
diff --git a/src/assets/i18n/fr.json b/src/assets/i18n/fr.json
index c40e3a3..f6907b8 100644
--- a/src/assets/i18n/fr.json
+++ b/src/assets/i18n/fr.json
@@ -21,6 +21,7 @@
"AUTO_KILL_BACKGROUND": "Arrière-plan de mise à mort automatique",
"AUTO_LOGGING": "Journalisation automatique",
"AUTO_MAX_BRIGHTNESS": "Luminosité max automatique",
+ "AUTO_OPEN_URL": "Ouvrir l'URL automatique",
"AUTO_QR_CODE_POPUP": "Fenêtre pop-up de code QR automatique",
"BACKGROUND_COLOR": "Couleur de l'arrière plan",
"BACKING_UP": "Sauvegarde",
@@ -227,6 +228,7 @@
"AUTO_KILL_BACKGROUND_EXPLAIN": "Pour économiser les ressources système et la batterie, définissez l'heure pour arrêter automatiquement l'application lorsqu'elle s'exécute en arrière-plan.
Si vous choisissez Suivre les paramètres du système, l'application sera entièrement contrôlée par le système et ne sera pas tuée d'elle-même.
Veuillez noter que dans certaines situations, le système peut arrêter l'application à l'avance.
",
"AUTO_LOGGING_EXPLAIN": "Chaque contenu de code QR et de code-barres est enregistré et stocké automatiquement après que vous l'avez numérisé, créé ou visualisé à nouveau. Vous pouvez les afficher sur la page Registre.",
"AUTO_MAX_BRIGHTNESS_EXPLAIN": "La luminosité de l'écran est automatiquement ajustée au maximum lors de l'affichage du code QR.",
+ "AUTO_OPEN_URL_EXPLAIN": "Lorsque le code QR est scanné et que le contenu est une URL, l'URL s'ouvre automatiquement.",
"AUTO_SHOW_QR_EXPLAIN": "Afficher automatiquement le code QR sur la page de résultat après les actions suivantes.",
"BACKUP_EXPLAIN": "Vous pouvez sauvegarder tous les enregistrements et signets localement. Vous recevrez un ensemble de code secret après la sauvegarde. Conservez le secret en toute sécurité, sinon vous ne pourrez pas restaurer la sauvegarde. Veuillez noter que Simple QR ne prend pas en charge la sauvegarde et la restauration multiplateforme.",
"BACKUP_FAILED": "Échec de la sauvegarde",
diff --git a/src/assets/i18n/it.json b/src/assets/i18n/it.json
index de668b2..1559c12 100644
--- a/src/assets/i18n/it.json
+++ b/src/assets/i18n/it.json
@@ -21,6 +21,7 @@
"AUTO_KILL_BACKGROUND": "Eliminazione background automatica",
"AUTO_LOGGING": "Logging automatico",
"AUTO_MAX_BRIGHTNESS": "Luminosità massima automatica",
+ "AUTO_OPEN_URL": "Apri URL automaticamente",
"AUTO_QR_CODE_POPUP": "Codice QR Pop-up automatico",
"BACKGROUND_COLOR": "Colore di sfondo",
"BACKING_UP": "Eseguendo il backup",
@@ -227,6 +228,7 @@
"AUTO_KILL_BACKGROUND_EXPLAIN": "Per salvare risorse e batteria, setta automaticamente la durata massima per killare l'app automaticamente quando viene eseguita in background.
Se selezioni Segui le impostazioni di sistema, l'app verrà controllata dal sistema e non sarà possibile killarla in autonomia.
Considera che in alcune situazioni, il sistema potrebbe interrompere l'app in anticipo..
",
"AUTO_LOGGING_EXPLAIN": "Qualsiasi contenuto dei codici QR e a barre vengono loggate e salvate automaticamente in seguito alla scannerizzazione, creazione o successiva visualizzazione. Puoi rivederla nella pagina di Log.",
"AUTO_MAX_BRIGHTNESS_EXPLAIN": "La luminosità dello schermo è settata automaticamente al massimo quando si visualizza un codice QR.",
+ "AUTO_OPEN_URL_EXPLAIN": "Quando il codice QR viene scansionato e il contenuto è un URL, l'URL verrà aperto automaticamente.",
"AUTO_SHOW_QR_EXPLAIN": "Visualizza automaticamente il codice QR nella pagina dei risultati dopo le seguenti azioni.",
"BACKUP_EXPLAIN": "È possibile eseguire il backup di tutti i record e i segnalibri localmente. Ti verrà fornita una serie di chiavi segrete dopo il backup. Salvale in modo sicuro, altrimenti non sarà possibile ripristinare il backup. Si prega di notare che Simple QR non supporta il backup e il ripristino multipiattaforma.",
"BACKUP_FAILED": "Tentativo di backup fallito",
diff --git a/src/assets/i18n/ru.json b/src/assets/i18n/ru.json
index 68599b5..05fae2e 100644
--- a/src/assets/i18n/ru.json
+++ b/src/assets/i18n/ru.json
@@ -21,6 +21,7 @@
"AUTO_KILL_BACKGROUND": "Фоновая активность",
"AUTO_LOGGING": "Автоматическое добавление в историю",
"AUTO_MAX_BRIGHTNESS": "Максимальная яркость",
+ "AUTO_OPEN_URL": "Открывать URL автоматически",
"AUTO_QR_CODE_POPUP": "Показывать QR-Код",
"BACKGROUND_COLOR": "Цвет фона",
"BACKING_UP": "Сохранение резервной копии",
@@ -227,6 +228,7 @@
"AUTO_KILL_BACKGROUND_EXPLAIN": "Чтобы использовать меньше системных ресурсов и батареи, выставьте количество времени, спустя которое приложение будет автоматически остановлено, если оно работает в фоне.
Если вы выберете опцию Как в системе, фоновая активность приложения будет полностью контролироваться системой, приложение не будет приостанавливать свою работу самостоятельно.
Заметьте, что в некоторых ситуациях система может останавливать приложение заблаговременно.
",
"AUTO_LOGGING_EXPLAIN": "Содержание каждого QR-Кода и Бар-Кода автоматически сохраняется после сканирования. Вы можете повторно обращаться к этим записям в разделе Истории.",
"AUTO_MAX_BRIGHTNESS_EXPLAIN": "Автоматически увеличивать яркость экрана до максимального значения во время просмотра QR-Кода.",
+ "AUTO_OPEN_URL_EXPLAIN": "Когда QR-код сканируется, а содержимое представляет собой URL-адрес, URL-адрес будет открыт автоматически.",
"AUTO_SHOW_QR_EXPLAIN": "Автоматически показывать QR-Код на странице результата после этих действий.",
"BACKUP_EXPLAIN": "Вы можете создать локальную резервную копию всех записей истории и закладок. Вам будет выдан набор ключей после резервного копирования. Сохраняйте эти ключи, иначе вы не сможете восстановить созданную резервную копию. Заметьте, что Simple QR не поддерживает резервное копирование между разными платформами.",
"BACKUP_FAILED": "Не удалось создать резервную копию",
diff --git a/src/assets/i18n/zh-CN.json b/src/assets/i18n/zh-CN.json
index 10d2ffc..86ab658 100644
--- a/src/assets/i18n/zh-CN.json
+++ b/src/assets/i18n/zh-CN.json
@@ -21,6 +21,7 @@
"AUTO_KILL_BACKGROUND": "自动停止背景执行",
"AUTO_LOGGING": "自动记录",
"AUTO_MAX_BRIGHTNESS": "自动最大亮度",
+ "AUTO_OPEN_URL": "自动打开网址",
"AUTO_QR_CODE_POPUP": "自动弹出 QR 码",
"BACKGROUND_COLOR": "背景颜色",
"BACKING_UP": "备份中",
@@ -227,6 +228,7 @@
"AUTO_KILL_BACKGROUND_EXPLAIN": "为节省系统资源及减低耗电,当程序进入背景执行时,设定自动停止执行程序及所有背景活动的时间。
若选择由系统控制,程序本身将不会干预其运作及资源占用,全由系统控制。
请注意,在某些情况下系统可能会提前停止程序的背景运作。
",
"AUTO_LOGGING_EXPLAIN": "在您扫描、建立或查看记录时,条码内容会自动被记录并储存在本地储存空间。您可在「记录」页面浏览所有记录。",
"AUTO_MAX_BRIGHTNESS_EXPLAIN": "当显示 QR 码时,自动调校萤幕亮度到最大。",
+ "AUTO_OPEN_URL_EXPLAIN": "扫描QR码且内容为URL时,会自动打开该URL。",
"AUTO_SHOW_QR_EXPLAIN": "在进行以下已选择的动作后,自动弹出 QR 码。",
"BACKUP_EXPLAIN": "您可以为现有的扫描记录及书签进行本地备份。备份后,您会得到一组密码。请妥善保存密码,否则您无法还原此备份。请注意,简易QR并不支援跨平台备份与还原。",
"BACKUP_FAILED": "备份失败",
diff --git a/src/assets/i18n/zh-HK.json b/src/assets/i18n/zh-HK.json
index 4d679a6..0c5747e 100644
--- a/src/assets/i18n/zh-HK.json
+++ b/src/assets/i18n/zh-HK.json
@@ -21,6 +21,7 @@
"AUTO_KILL_BACKGROUND": "自動停止背景執行",
"AUTO_LOGGING": "自動記錄",
"AUTO_MAX_BRIGHTNESS": "自動最大亮度",
+ "AUTO_OPEN_URL": "自動打開網址",
"AUTO_QR_CODE_POPUP": "自動彈出 QR 碼",
"BACKGROUND_COLOR": "背景顏色",
"BACKING_UP": "備份中",
@@ -227,6 +228,7 @@
"AUTO_KILL_BACKGROUND_EXPLAIN": "為節省系統資源及減低耗電,當程式進入背景執行時,設定自動停止執行程式及所有背景活動的時間。
若選擇由系統控制,程式本身將不會干預其運作及資源佔用,全由系統控制。
請注意,在某些情況下系統可能會提前停止程式的背景運作。
",
"AUTO_LOGGING_EXPLAIN": "在您掃描、建立或查看記錄時,條碼內容會自動被記錄並儲存在本地儲存空間。您可在「記錄」頁面瀏覽所有記錄。",
"AUTO_MAX_BRIGHTNESS_EXPLAIN": "當顯示 QR 碼時,自動調校螢幕亮度到最大。",
+ "AUTO_OPEN_URL_EXPLAIN": "掃描QR碼且內容為URL時,會自動打開該URL。",
"AUTO_SHOW_QR_EXPLAIN": "在進行以下已選擇的動作後,自動彈出 QR 碼。",
"BACKUP_EXPLAIN": "您可以為現有的掃描記錄及書籤進行本地備份。備份後,您會得到一組密碼。請妥善保存密碼,否則您無法還原此備份。請注意,簡易QR並不支援跨平台備份與還原。",
"BACKUP_FAILED": "備份失敗",