diff --git a/src/app/app.module.ts b/src/app/app.module.ts index efae496..8a5fc34 100644 --- a/src/app/app.module.ts +++ b/src/app/app.module.ts @@ -19,14 +19,12 @@ import { ScreenOrientation } from '@awesome-cordova-plugins/screen-orientation/n import { BrowserAnimationsModule } from '@angular/platform-browser/animations'; import { MatFormFieldModule } from '@angular/material/form-field'; -import { HistoryTutorialPageModule } from './modals/history-tutorial/history-tutorial.module'; import { DatePipe } from '@angular/common'; import { MatSlideToggleModule } from '@angular/material/slide-toggle'; import { MatButtonModule } from '@angular/material/button'; import { NgbModule } from '@ng-bootstrap/ng-bootstrap'; import { EnvService } from './services/env.service'; import { FormsModule } from '@angular/forms'; -import { BookmarkTutorialPageModule } from './modals/bookmark-tutorial/bookmark-tutorial.module'; import { QrCodePageModule } from './modals/qr-code/qr-code.module'; export function HttpLoaderFactory(http: HttpClient): TranslateHttpLoader { @@ -51,8 +49,6 @@ export function HttpLoaderFactory(http: HttpClient): TranslateHttpLoader { } }), IonicStorageModule.forRoot(), - HistoryTutorialPageModule, - BookmarkTutorialPageModule, QrCodePageModule, BrowserAnimationsModule, MatFormFieldModule, diff --git a/src/app/modals/bookmark-tutorial/bookmark-tutorial.module.ts b/src/app/modals/bookmark-tutorial/bookmark-tutorial.module.ts deleted file mode 100644 index cbb7fd2..0000000 --- a/src/app/modals/bookmark-tutorial/bookmark-tutorial.module.ts +++ /dev/null @@ -1,40 +0,0 @@ -import { NgModule } from '@angular/core'; -import { CommonModule } from '@angular/common'; -import { FormsModule } from '@angular/forms'; - -import { IonicModule } from '@ionic/angular'; - -import { BookmarkTutorialPage } from './bookmark-tutorial.page'; -import { TranslateLoader, TranslateModule } from '@ngx-translate/core'; -import { TranslateHttpLoader } from '@ngx-translate/http-loader'; -import { HttpClient } from '@angular/common/http'; -import { MatFormFieldModule } from '@angular/material/form-field'; -import { MatIconModule } from '@angular/material/icon'; -import { MatInputModule } from '@angular/material/input'; -import { MatSelectModule } from '@angular/material/select'; - -export function HttpLoaderFactory(http: HttpClient): TranslateHttpLoader { - return new TranslateHttpLoader(http, './assets/i18n/', '.json'); -} - - -@NgModule({ - imports: [ - CommonModule, - FormsModule, - IonicModule, - MatFormFieldModule, - MatIconModule, - MatInputModule, - MatSelectModule, - TranslateModule.forChild({ - loader: { - provide: TranslateLoader, - useFactory: HttpLoaderFactory, - deps: [HttpClient] - } - }), - ], - declarations: [BookmarkTutorialPage] -}) -export class BookmarkTutorialPageModule {} diff --git a/src/app/modals/bookmark-tutorial/bookmark-tutorial.page.html b/src/app/modals/bookmark-tutorial/bookmark-tutorial.page.html deleted file mode 100644 index d562d6b..0000000 --- a/src/app/modals/bookmark-tutorial/bookmark-tutorial.page.html +++ /dev/null @@ -1,57 +0,0 @@ - - - - - - - {{ 'TUTORIAL' | translate }} - - - - -

- - {{ 'MSG.TUTORIAL_SWIPE_LEFT' | translate }} - -

-
-
- - - - -

- - {{ 'MSG.BOOKMARK_TUTORIAL_SWIPE_RIGHT' | translate }} - -

-
-
- -
- - - - - - -

- - {{ 'MSG.TUTORIAL_NOT_SHOW_AGAIN' | translate }} - -

-
-
- - - - - {{ 'OK' | translate }} - - - - -
\ No newline at end of file diff --git a/src/app/modals/bookmark-tutorial/bookmark-tutorial.page.scss b/src/app/modals/bookmark-tutorial/bookmark-tutorial.page.scss deleted file mode 100644 index 0ed98c0..0000000 --- a/src/app/modals/bookmark-tutorial/bookmark-tutorial.page.scss +++ /dev/null @@ -1,18 +0,0 @@ -mat-form-field { - width: 100%; -} - -.content-item { - padding-left: 16px; - padding-right: 16px; -} - -ion-footer { - &.footer-md::before { - background-image: none; - } -} - -.footer-ios ion-toolbar:first-of-type { - --border-width: 0 !important; -} \ No newline at end of file diff --git a/src/app/modals/bookmark-tutorial/bookmark-tutorial.page.ts b/src/app/modals/bookmark-tutorial/bookmark-tutorial.page.ts deleted file mode 100644 index 5ae05e6..0000000 --- a/src/app/modals/bookmark-tutorial/bookmark-tutorial.page.ts +++ /dev/null @@ -1,65 +0,0 @@ -import { Component, ViewChild } from '@angular/core'; -import { Haptics, ImpactStyle } from '@capacitor/haptics'; -import { Toast } from '@capacitor/toast'; -import { ModalController } from '@ionic/angular'; -import { TranslateService } from '@ngx-translate/core'; -import { EnvService } from 'src/app/services/env.service'; - -@Component({ - selector: 'app-bookmark-tutorial', - templateUrl: './bookmark-tutorial.page.html', - styleUrls: ['./bookmark-tutorial.page.scss'], -}) -export class BookmarkTutorialPage { - - @ViewChild('content') contentEl: HTMLIonContentElement; - - constructor( - public modalController: ModalController, - public translate: TranslateService, - public env: EnvService, - ) { - setTimeout( - () => { - this.contentEl.scrollToBottom(500); - }, 750 - ); - } - - async saveBookmarkTutorialShowing() { - if (this.env.notShowBookmarkTutorial === true) { - await this.env.storageSet("not-show-bookmark-tutorial", 'yes'); - } else { - await this.env.storageSet("not-show-bookmark-tutorial", 'no'); - } - } - - async tapHaptic() { - if (this.env.vibration === 'on' || this.env.vibration === 'on-haptic') { - await Haptics.impact({ style: ImpactStyle.Medium }) - .catch(async err => { - if (this.env.debugMode === 'on') { - await Toast.show({ text: 'Err when Haptics.impact: ' + JSON.stringify(err), position: "top", duration: "long" }) - } - }) - } - } - - closeModal(): void { - this.modalController.dismiss(); - } - - get color() { - switch (this.env.colorTheme) { - case 'dark': - return 'dark'; - case 'light': - return 'white'; - case 'black': - return 'black'; - default: - return 'white'; - } - } - -} diff --git a/src/app/modals/history-tutorial/history-tutorial.module.ts b/src/app/modals/history-tutorial/history-tutorial.module.ts deleted file mode 100644 index 5452d6e..0000000 --- a/src/app/modals/history-tutorial/history-tutorial.module.ts +++ /dev/null @@ -1,39 +0,0 @@ -import { NgModule } from '@angular/core'; -import { CommonModule } from '@angular/common'; -import { FormsModule } from '@angular/forms'; - -import { IonicModule } from '@ionic/angular'; - -import { HistoryTutorialPage } from './history-tutorial.page'; -import { MatFormFieldModule } from '@angular/material/form-field'; -import { MatIconModule } from '@angular/material/icon'; -import { MatInputModule } from '@angular/material/input'; -import { MatSelectModule } from '@angular/material/select'; -import { TranslateLoader, TranslateModule } from '@ngx-translate/core'; -import { TranslateHttpLoader } from '@ngx-translate/http-loader'; -import { HttpClient } from '@angular/common/http'; - -export function HttpLoaderFactory(http: HttpClient): TranslateHttpLoader { - return new TranslateHttpLoader(http, './assets/i18n/', '.json'); -} - -@NgModule({ - imports: [ - CommonModule, - FormsModule, - IonicModule, - MatFormFieldModule, - MatIconModule, - MatInputModule, - MatSelectModule, - TranslateModule.forChild({ - loader: { - provide: TranslateLoader, - useFactory: HttpLoaderFactory, - deps: [HttpClient] - } - }), - ], - declarations: [HistoryTutorialPage] -}) -export class HistoryTutorialPageModule {} diff --git a/src/app/modals/history-tutorial/history-tutorial.page.html b/src/app/modals/history-tutorial/history-tutorial.page.html deleted file mode 100644 index ed6b767..0000000 --- a/src/app/modals/history-tutorial/history-tutorial.page.html +++ /dev/null @@ -1,57 +0,0 @@ - - - - - - - {{ 'TUTORIAL' | translate }} - - - - -

- - {{ 'MSG.TUTORIAL_SWIPE_LEFT' | translate }} - -

-
-
- - - - -

- - {{ 'MSG.TUTORIAL_SWIPE_RIGHT' | translate }} - -

-
-
- -
- - - - - - -

- - {{ 'MSG.TUTORIAL_NOT_SHOW_AGAIN' | translate }} - -

-
-
- - - - - {{ 'OK' | translate }} - - - - -
\ No newline at end of file diff --git a/src/app/modals/history-tutorial/history-tutorial.page.scss b/src/app/modals/history-tutorial/history-tutorial.page.scss deleted file mode 100644 index 0ed98c0..0000000 --- a/src/app/modals/history-tutorial/history-tutorial.page.scss +++ /dev/null @@ -1,18 +0,0 @@ -mat-form-field { - width: 100%; -} - -.content-item { - padding-left: 16px; - padding-right: 16px; -} - -ion-footer { - &.footer-md::before { - background-image: none; - } -} - -.footer-ios ion-toolbar:first-of-type { - --border-width: 0 !important; -} \ No newline at end of file diff --git a/src/app/modals/history-tutorial/history-tutorial.page.ts b/src/app/modals/history-tutorial/history-tutorial.page.ts deleted file mode 100644 index 22b4c1a..0000000 --- a/src/app/modals/history-tutorial/history-tutorial.page.ts +++ /dev/null @@ -1,65 +0,0 @@ -import { Component, ViewChild } from '@angular/core'; -import { Haptics, ImpactStyle } from '@capacitor/haptics'; -import { Toast } from '@capacitor/toast'; -import { ModalController, ToastController } from '@ionic/angular'; -import { TranslateService } from '@ngx-translate/core'; -import { EnvService } from 'src/app/services/env.service'; - -@Component({ - selector: 'app-history-tutorial', - templateUrl: './history-tutorial.page.html', - styleUrls: ['./history-tutorial.page.scss'], -}) -export class HistoryTutorialPage { - - @ViewChild('content') contentEl: HTMLIonContentElement; - - constructor( - public modalController: ModalController, - public translate: TranslateService, - public env: EnvService, - ) { - setTimeout( - () => { - this.contentEl.scrollToBottom(500); - }, 750 - ); - } - - async saveHistoryTutorialShowing() { - if (this.env.notShowHistoryTutorial === true) { - await this.env.storageSet("not-show-history-tutorial", 'yes'); - } else { - await this.env.storageSet("not-show-history-tutorial", 'no'); - } - } - - async tapHaptic() { - if (this.env.vibration === 'on' || this.env.vibration === 'on-haptic') { - await Haptics.impact({ style: ImpactStyle.Medium }) - .catch(async err => { - if (this.env.debugMode === 'on') { - await Toast.show({ text: 'Err when Haptics.impact: ' + JSON.stringify(err), position: "top", duration: "long" }) - } - }) - } - } - - closeModal(): void { - this.modalController.dismiss(); - } - - get color() { - switch (this.env.colorTheme) { - case 'dark': - return 'dark'; - case 'light': - return 'white'; - case 'black': - return 'black'; - default: - return 'white'; - } - } - -} diff --git a/src/app/pages/history/history.page.html b/src/app/pages/history/history.page.html index ad0acd5..2860c02 100644 --- a/src/app/pages/history/history.page.html +++ b/src/app/pages/history/history.page.html @@ -6,7 +6,7 @@ {{ 'SIMPLE_QR' | translate}} - {{ 'SETTING' | translate }} + {{ 'MORE' | translate }} @@ -17,7 +17,7 @@ {{ 'BOOKMARKS' | translate }} - {{ 'SETTING' | translate }} + {{ 'MORE' | translate }} diff --git a/src/app/pages/history/history.page.ts b/src/app/pages/history/history.page.ts index 222fe58..a6737fe 100644 --- a/src/app/pages/history/history.page.ts +++ b/src/app/pages/history/history.page.ts @@ -7,10 +7,8 @@ import { de, enUS, fr, it, zhCN, zhHK } from 'date-fns/locale'; import { ScanRecord } from 'src/app/models/scan-record'; import { TranslateService } from '@ngx-translate/core'; import { Bookmark } from 'src/app/models/bookmark'; -import { HistoryTutorialPage } from 'src/app/modals/history-tutorial/history-tutorial.page'; import { Haptics, ImpactStyle } from '@capacitor/haptics'; import { Toast } from '@capacitor/toast'; -import { BookmarkTutorialPage } from 'src/app/modals/bookmark-tutorial/bookmark-tutorial.page'; import { fastFadeIn, flyOut } from 'src/app/utils/animations'; import { SplashScreen } from '@capacitor/splash-screen'; @@ -100,19 +98,6 @@ export class HistoryPage { async ionViewDidEnter() { await SplashScreen.hide() this.segmentModel = this.env.historyPageStartSegment; - if (this.segmentModel == 'history') { - if (this.env.notShowHistoryTutorial === false) { - this.env.notShowHistoryTutorial = true; - this.env.storageSet("not-show-history-tutorial", 'yes'); - await this.showHistoryTutorial(); - } - } else if (this.segmentModel == 'bookmarks') { - if (this.env.notShowBookmarkTutorial === false) { - this.env.notShowBookmarkTutorial = true; - this.env.storageSet("not-show-bookmark-tutorial", 'yes'); - await this.showBookmarkTutorial(); - } - } } ionViewWillLeave() { @@ -135,24 +120,6 @@ export class HistoryPage { return bookmark.id; } - async showHistoryTutorial() { - const modal = await this.modalController.create({ - component: HistoryTutorialPage, - componentProps: { - } - }); - modal.present(); - } - - async showBookmarkTutorial() { - const modal = await this.modalController.create({ - component: BookmarkTutorialPage, - componentProps: { - } - }); - modal.present(); - } - maskDatetimeAndSource(date: Date, source: 'create' | 'view' | 'scan' | undefined): string { if (!date) { return "-"; @@ -256,19 +223,6 @@ export class HistoryPage { } async segmentChanged(ev: any) { - if (ev?.detail?.value == 'history') { - if (this.env.notShowHistoryTutorial === false) { - this.env.notShowHistoryTutorial = true; - this.env.storageSet("not-show-history-tutorial", 'yes'); - await this.showHistoryTutorial(); - } - } else if (ev?.detail?.value == 'bookmarks') { - if (this.env.notShowBookmarkTutorial === false) { - this.env.notShowBookmarkTutorial = true; - this.env.storageSet("not-show-bookmark-tutorial", 'yes'); - await this.showBookmarkTutorial(); - } - } this.firstLoadItems(); } diff --git a/src/app/pages/setting-record/setting-record.page.html b/src/app/pages/setting-record/setting-record.page.html index a0016fc..e61c921 100644 --- a/src/app/pages/setting-record/setting-record.page.html +++ b/src/app/pages/setting-record/setting-record.page.html @@ -1,177 +1,234 @@ - - - - - - - {{ 'LOG_BACKUP_AND_RESTORE' | translate }} - - +
+ + + + + + + {{ 'LOG_BACKUP_AND_RESTORE' | translate }} + + - + -
- {{ 'INITIAL_SEGMENT' | translate }} - - - - - -

- - {{ 'LOG' | translate }} - -

-
- - -
- - - - -

- - {{ 'BOOKMARK' | translate }} - -

-
- - -
-
-
- -
- {{ 'AUTO_LOGGING' | translate }} - - -

- - {{ 'MSG.AUTO_LOGGING_EXPLAIN' | translate }} - -

-
-
- - -

- - {{ (env.scanRecordLogging == 'on'? 'TURNED_ON' : 'TURNED_OFF') | translate }} - -

-
- - -
-
- -
- {{ 'RECORDS_LIMIT' | translate }} - - -

- - {{ 'MSG.RECORDS_LIMIT_EXPLAIN' | translate }} - -

-
-
- - - -

- - {{ '30_RECORDS' | translate }} - -

-
- - -
- - -

- - {{ '50_RECORDS' | translate }} - -

-
- - -
- - -

- - {{ '100_RECORDS' | translate }} - -

-
- - -
- - -

- - {{ 'NO_LIMIT' | translate }} - -

-
- - -
-
- - -

- - {{ 'SHOW_NUMBER_OR_RECORDS' | translate }} - -

-
- - -
-
- -
- {{ 'BACKUP' | translate }} - - -

- - {{ 'MSG.BACKUP_EXPLAIN' | translate }} - -

-
-
-
- - {{ 'BACKUP' | translate }} - +
+ {{ 'INITIAL_SEGMENT' | translate }} + + + + + + +

+ + {{ 'LOG' | translate }} + +

+
+ + +
+ + + + +

+ + {{ 'BOOKMARK' | translate }} + +

+
+ + +
+
-
-
- {{ 'RESTORE' | translate }} - - -

- - {{ (isIOS? 'MSG.RESTORE_EXPLAIN_IOS' : 'MSG.RESTORE_EXPLAIN') | translate }} - -

-
-
-
- - {{ 'RESTORE' | translate }} - +
+ {{ 'MANAGE_RECORDS' | translate }} + +
+ + {{ 'VIEW_INSTRUCTIONS' | translate }} + +
-
- \ No newline at end of file + + + + + + + {{ 'OK' | translate }} + + + + + + + {{ 'TUTORIAL' | translate }} + + + + +

+ + {{ 'MSG.TUTORIAL_SWIPE_LEFT' | translate }} + +

+
+
+ + + + +

+ + {{ 'MSG.TUTORIAL_SWIPE_RIGHT' | translate }} + +

+
+
+
+
+
+ +
+ {{ 'AUTO_LOGGING' | translate }} + + + +

+ + {{ 'MSG.AUTO_LOGGING_EXPLAIN' | translate }} + +

+
+
+ + +

+ + {{ (env.scanRecordLogging == 'on'? 'TURNED_ON' : 'TURNED_OFF') | translate }} + +

+
+ + +
+
+ +
+ {{ 'RECORDS_LIMIT' | translate }} + + + +

+ + {{ 'MSG.RECORDS_LIMIT_EXPLAIN' | translate }} + +

+
+
+ + + +

+ + {{ '30_RECORDS' | translate }} + +

+
+ + +
+ + +

+ + {{ '50_RECORDS' | translate }} + +

+
+ + +
+ + +

+ + {{ '100_RECORDS' | translate }} + +

+
+ + +
+ + +

+ + {{ 'NO_LIMIT' | translate }} + +

+
+ + +
+
+ + +

+ + {{ 'SHOW_NUMBER_OR_RECORDS' | translate }} + +

+
+ + +
+
+ +
+ {{ 'BACKUP' | translate }} + + +

+ + {{ 'MSG.BACKUP_EXPLAIN' | translate }} + +

+
+
+
+ + {{ 'BACKUP' | translate }} + +
+
+ +
+ {{ 'RESTORE' | translate }} + + +

+ + {{ (isIOS? 'MSG.RESTORE_EXPLAIN_IOS' : 'MSG.RESTORE_EXPLAIN') | translate }} + +

+
+
+
+ + {{ 'RESTORE' | translate }} + +
+
+ + +
\ No newline at end of file diff --git a/src/app/pages/setting-record/setting-record.page.scss b/src/app/pages/setting-record/setting-record.page.scss index e69de29..2c16e8d 100644 --- a/src/app/pages/setting-record/setting-record.page.scss +++ b/src/app/pages/setting-record/setting-record.page.scss @@ -0,0 +1,8 @@ +mat-form-field { + width: 100%; +} + +.content-item { + padding-left: 16px; + padding-right: 16px; +} diff --git a/src/app/pages/setting-record/setting-record.page.ts b/src/app/pages/setting-record/setting-record.page.ts index 68668b2..195cae2 100644 --- a/src/app/pages/setting-record/setting-record.page.ts +++ b/src/app/pages/setting-record/setting-record.page.ts @@ -1,5 +1,5 @@ -import { Component } from '@angular/core'; -import { AlertController, LoadingController, Platform } from '@ionic/angular'; +import { Component, OnInit } from '@angular/core'; +import { AlertController, LoadingController, ModalController, Platform } from '@ionic/angular'; import { TranslateService } from '@ngx-translate/core'; import { EnvService } from 'src/app/services/env.service'; import { Clipboard } from '@capacitor/clipboard'; @@ -18,10 +18,12 @@ import { Haptics, ImpactStyle } from '@capacitor/haptics'; templateUrl: './setting-record.page.html', styleUrls: ['./setting-record.page.scss'], }) -export class SettingRecordPage { +export class SettingRecordPage implements OnInit { preventRecordsLimitToast: boolean = true; + presentingElement = null; + constructor( public translate: TranslateService, public env: EnvService, @@ -30,9 +32,14 @@ export class SettingRecordPage { private loadingController: LoadingController, private chooser: Chooser, private socialSharing: SocialSharing, - private platform: Platform + private platform: Platform, + private modalController: ModalController, ) { } + ngOnInit() { + this.presentingElement = document.querySelector('.ion-page'); + } + ionViewDidEnter() { setTimeout(() => this.preventRecordsLimitToast = false, 100); } @@ -41,6 +48,15 @@ export class SettingRecordPage { this.preventRecordsLimitToast = true; } + // async showTutorial() { + // const modal = await this.modalController.create({ + // component: HistoryTutorialPage, + // componentProps: { + // } + // }); + // modal.present(); + // } + async saveHistoryPageStartSegment() { await this.env.storageSet("history-page-start-segment", this.env.historyPageStartSegment); } @@ -322,6 +338,19 @@ export class SettingRecordPage { } } + get color() { + switch (this.env.colorTheme) { + case 'dark': + return 'dark'; + case 'light': + return 'white'; + case 'black': + return 'black'; + default: + return 'white'; + } + } + get isIOS() { return this.platform.is('ios'); } diff --git a/src/app/services/env.service.ts b/src/app/services/env.service.ts index e673426..7535603 100644 --- a/src/app/services/env.service.ts +++ b/src/app/services/env.service.ts @@ -44,8 +44,8 @@ export class EnvService { public qrCodeMargin: number = 3; public vibration: 'on' | 'on-haptic' | 'on-scanned' | 'off' = 'on'; public orientation: 'default' | 'portrait' | 'landscape' = 'default'; - public notShowHistoryTutorial: boolean = false; - public notShowBookmarkTutorial: boolean = false; + // public notShowHistoryTutorial: boolean = false; + // public notShowBookmarkTutorial: boolean = false; public notShowUpdateNotes: boolean = false; public searchEngine: 'google' | 'bing' | 'yahoo' | 'duckduckgo' | 'yandex' = 'google'; public resultPageButtons: 'detailed' | 'icon-only' = 'detailed'; @@ -193,24 +193,6 @@ export class EnvService { } } ) - this._storage.get("not-show-history-tutorial").then( - value => { - if (value !== null && value !== undefined) { - this.notShowHistoryTutorial = (value === 'yes' ? true : false); - } else { - this.notShowHistoryTutorial = false; - } - } - ); - this._storage.get("not-show-bookmark-tutorial").then( - value => { - if (value !== null && value !== undefined) { - this.notShowBookmarkTutorial = (value === 'yes' ? true : false); - } else { - this.notShowBookmarkTutorial = false; - } - } - ); this._storage.get("language").then( async value => { if (value !== null && value !== undefined) { @@ -585,8 +567,6 @@ export class EnvService { this.vibration = 'on'; this.orientation = 'default'; await this.toggleOrientationChange(); - this.notShowHistoryTutorial = false; - this.notShowBookmarkTutorial = false; this.notShowUpdateNotes = false; this.searchEngine = 'google'; this.resultPageButtons = 'detailed'; @@ -678,12 +658,6 @@ export class EnvService { await this.toggleOrientationChange(); await this.storageSet("orientation", this.orientation); - this.notShowHistoryTutorial = false; - await this.storageSet("not-show-history-tutorial", 'no'); - - this.notShowBookmarkTutorial = false; - await this.storageSet("not-show-bookmark-tutorial", 'no'); - this.notShowUpdateNotes = false; if (this.platform.is('ios')) { await this.storageSet(this.IOS_PATCH_NOTE_STORAGE_KEY, 'no'); diff --git a/src/assets/i18n/de.json b/src/assets/i18n/de.json index e256de2..e892864 100644 --- a/src/assets/i18n/de.json +++ b/src/assets/i18n/de.json @@ -108,11 +108,13 @@ "LOG": "Protokoll", "LOG_BACKUP_AND_RESTORE": "Protokoll, Sicherung und Wiederherstellung", "MALE": "Männlich", + "MANAGE_RECORDS": "Aufzeichnungen verwalten", "MARGIN": "Rand", "MESSAGE": "Nachricht", "MESSAGE_CONTENT": "Inhalt der Nachricht", "MICROSOFT_BING": "Microsoft Bing", "MOBILE_PHONE_NUMBER": "Mobiltelefon Nummer", + "MORE": "Mehr", "NAME": "Name", "NO": "Nein", "NONE": "Keine", @@ -200,6 +202,7 @@ "VIEW_GITHUB": "GitHub anzeigen", "VIEW_LOG": "Protokoll anzeigen", "VIEW_STORE_AND_SOURCE_CODE": "Store und Quellcode anzeigen", + "VIEW_INSTRUCTIONS": "Anweisungen anzeigen", "WEBSITE": "Website", "WIFI": "WiFi", "WIFI_ENCRYPTION": "WiFi Verschlüsselung", @@ -221,7 +224,6 @@ "BACKUP_SUCCESSFULLY": "

Die Sicherung wurde erfolgreich durchgeführt. Bitte speichere die Sicherungsdatei und bewahre das folgende Geheimnis sicher auf

{secret}

", "BARCODE_TYPE": "Scanne
  • QR Code
  • 1D Barcode
  • Aztec Code
  • Data Matrix
  • PDF417
Bild importieren
  • QR Code
Erstelle
  • QR Code
", "BOOKMARKED": "Erfolgreich mit Lesezeichen versehen", - "BOOKMARK_TUTORIAL_SWIPE_RIGHT": "Wische nach rechts, um das Tag des entsprechenden Lesezeichens zu bearbeiten.", "BUTTON_DISPLAY_EXPLAIN": "Ein- und Ausblenden der Aufgabenschaltflächen.", "BUTTON_STYLE_EXPLAIN": "Wähle den Stil der Aufgabenschaltflächen.", "CAMERA_PERMISSION": "Um das Scannen zu aktivieren, muss man der Kamera die Erlaubnis erteilen.", @@ -279,7 +281,7 @@ "TAG_MAX_LENGTH_EXPLAIN": "Die Länge des Tags darf 30 Zeichen nicht überschreiten.", "TUTORIAL_NOT_SHOW_AGAIN": "Nicht wieder zeigen", "TUTORIAL_SWIPE_LEFT": "Wische nach links, um den entsprechenden Datensatz zu löschen.", - "TUTORIAL_SWIPE_RIGHT": "Wische nach rechts, um den Text des entsprechenden Datensatzes mit einem Lesezeichen zu versehen.", + "TUTORIAL_SWIPE_RIGHT": "Wische nach rechts, um den Text des entsprechenden Datensatzes mit einem Lesezeichen zu versehen / Bearbeiten Sie das Label des entsprechenden Lesezeichens.", "UNDO_DELETE": "Du kannst die Löschung rückgängig machen", "VIBRATION_EXPLAIN": "Vibration oder haptisches Feedback geben. Bitte beachte, dass nicht alle Geräte diese Funktion unterstützen." }, diff --git a/src/assets/i18n/en.json b/src/assets/i18n/en.json index 13e479a..584fda3 100644 --- a/src/assets/i18n/en.json +++ b/src/assets/i18n/en.json @@ -108,11 +108,13 @@ "LOG": "Log", "LOG_BACKUP_AND_RESTORE": "Log, Backup & Restore", "MALE": "Male", + "MANAGE_RECORDS": "Manage Records", "MARGIN": "Margin", "MESSAGE": "Message", "MESSAGE_CONTENT": "Message Content", "MICROSOFT_BING": "Microsoft Bing", "MOBILE_PHONE_NUMBER": "Mobile Phone Number", + "MORE": "More", "NAME": "Name", "NO": "No", "NONE": "None", @@ -200,6 +202,7 @@ "VIEW_GITHUB": "View GitHub", "VIEW_LOG": "View Log", "VIEW_STORE_AND_SOURCE_CODE": "View Store & Source Code", + "VIEW_INSTRUCTIONS": "View Instructions", "WEBSITE": "Website", "WIFI": "WiFi", "WIFI_ENCRYPTION": "WiFi Encryption", @@ -221,7 +224,6 @@ "BACKUP_SUCCESSFULLY": "

Successfully backed up. Please save the backup file and keep the following secret securely

{secret}

", "BARCODE_TYPE": "Scan
  • QR Code
  • 1D Barcode
  • Aztec Code
  • Data Matrix
  • PDF417
Import Image
  • QR Code
Create
  • QR Code
", "BOOKMARKED": "Bookmarked Successfully", - "BOOKMARK_TUTORIAL_SWIPE_RIGHT": "Swipe right to edit the tag of corresponding bookmark.", "BUTTON_DISPLAY_EXPLAIN": "Show or hide the task buttons.", "BUTTON_STYLE_EXPLAIN": "Choose the style of the task buttons.", "CAMERA_PERMISSION": "To enable scanning, you must grant Camera permission.", @@ -279,7 +281,7 @@ "TAG_MAX_LENGTH_EXPLAIN": "The length of the tag must not exceed 30 characters.", "TUTORIAL_NOT_SHOW_AGAIN": "Do not show again", "TUTORIAL_SWIPE_LEFT": "Swipe left to delete corresponding record.", - "TUTORIAL_SWIPE_RIGHT": "Swipe right to bookmark the text of corresponding record.", + "TUTORIAL_SWIPE_RIGHT": "Swipe right to bookmark the text of corresponding record / edit the tag of corresponding bookmark.", "UNDO_DELETE": "You can undo the deletion", "VIBRATION_EXPLAIN": "Provide vibration or haptic feedback. Please note that not all devices support this feature." }, diff --git a/src/assets/i18n/fr.json b/src/assets/i18n/fr.json index 1492a2a..e6b5f4e 100644 --- a/src/assets/i18n/fr.json +++ b/src/assets/i18n/fr.json @@ -108,11 +108,13 @@ "LOG": "Registre", "LOG_BACKUP_AND_RESTORE": "Journalisation, sauvegarde et restauration", "MALE": "Mâle", + "MANAGE_RECORDS": "Gérer les enregistrements", "MARGIN": "Marge", "MESSAGE": "Message", "MESSAGE_CONTENT": "Contenu du message", "MICROSOFT_BING": "Microsoft Bing", "MOBILE_PHONE_NUMBER": "Numéro de portable", + "MORE": "Plus", "NAME": "Nom", "NO": "Non", "NONE": "Aucun", @@ -200,6 +202,7 @@ "VIEW_GITHUB": "Afficher le GitHub", "VIEW_LOG": "Afficher le journal", "VIEW_STORE_AND_SOURCE_CODE": "Afficher le magasin et le code source", + "VIEW_INSTRUCTIONS": "Afficher les instructions", "WEBSITE": "Site Web", "WIFI": "Wi-Fi", "WIFI_ENCRYPTION": "Cryptage Wi-Fi", @@ -221,7 +224,6 @@ "BACKUP_SUCCESSFULLY": "

Sauvegarde réussie. Veuillez enregistrer le fichier de sauvegarde et conserver le secret suivant en toute sécurité

{secret}

", "BARCODE_TYPE": "Scanner
  • Code QR
  • Code-barres 1D
  • Code aztèque
  • Data Matrix
  • PDF417
Importer une image
  • Code QR
Créer
  • Code QR
", "BOOKMARKED": "Mis en signet avec succès", - "BOOKMARK_TUTORIAL_SWIPE_RIGHT": "Balayez vers la droite pour modifier la balise du signet correspondant.", "BUTTON_DISPLAY_EXPLAIN": "Afficher ou masquer les boutons de tâche.", "BUTTON_STYLE_EXPLAIN": "Choisissez le style des boutons de tâche.", "CAMERA_PERMISSION": "Pour activer la numérisation, vous devez accorder l'autorisation Caméra.", @@ -279,7 +281,7 @@ "TAG_MAX_LENGTH_EXPLAIN": "La longueur de la balise ne doit pas dépasser 30 caractères.", "TUTORIAL_NOT_SHOW_AGAIN": "Ne pas montrer de nouveau", "TUTORIAL_SWIPE_LEFT": "Balayez vers la gauche pour supprimer l'enregistrement correspondant.", - "TUTORIAL_SWIPE_RIGHT": "Balayez vers la droite pour mettre en signet le texte de l'enregistrement correspondant.", + "TUTORIAL_SWIPE_RIGHT": "Balayez vers la droite pour mettre en signet le texte de l'enregistrement / modifier la balise du signet correspondant.", "UNDO_DELETE": "Vous pouvez annuler la suppression", "VIBRATION_EXPLAIN": "Fournir des vibrations ou un retour haptique. Veuillez noter que tous les appareils ne prennent pas en charge cette fonctionnalité." }, diff --git a/src/assets/i18n/it.json b/src/assets/i18n/it.json index 2ab23f2..23d23e4 100644 --- a/src/assets/i18n/it.json +++ b/src/assets/i18n/it.json @@ -108,11 +108,13 @@ "LOG": "Log", "LOG_BACKUP_AND_RESTORE": "Logga, Esegui backup & Ripristina", "MALE": "Uomo", + "MANAGE_RECORDS": "Gestisci record", "MARGIN": "Margine", "MESSAGE": "Messaggio", "MESSAGE_CONTENT": "Contenuto del messaggio", "MICROSOFT_BING": "Microsoft Bing", "MOBILE_PHONE_NUMBER": "Numero di telefono cellulare", + "MORE": "Più", "NAME": "Nome", "NO": "No", "NONE": "Nessuno", @@ -200,6 +202,7 @@ "VIEW_GITHUB": "Visualizza GitHub", "VIEW_LOG": "Visualizza Log", "VIEW_STORE_AND_SOURCE_CODE": "Visualizza Store & Codice Sorgente", + "VIEW_INSTRUCTIONS": "Visualizza le istruzioni", "WEBSITE": "Sito Web", "WIFI": "WiFi", "WIFI_ENCRYPTION": "Crittografia WiFi", @@ -221,7 +224,6 @@ "BACKUP_SUCCESSFULLY": "

Backup riuscito. Si prega di salvare il file di backup e salvare la seguente chiave segreta in modo sicuro

{secret}

", "BARCODE_TYPE": "Scannerizzazione
  • Codice QR
  • Codice a barre 1D
  • Codice Aztec
  • Matrice di Dati
  • PDF417
Importa Immagine
  • Codice QR
Crea
  • Codice QR
", "BOOKMARKED": "Segnalibro salvato con successo", - "BOOKMARK_TUTORIAL_SWIPE_RIGHT": "Scorri verso destra per modificare il tag del segnalibro corrispondente.", "BUTTON_DISPLAY_EXPLAIN": "Mostra o nascondi il pulsante operazione.", "BUTTON_STYLE_EXPLAIN": "Scegli lo stile del pulsante operazione.", "CAMERA_PERMISSION": "Per abilitare la scansione, è necessario concedere l'autorizzazione Fotocamera.", @@ -279,7 +281,7 @@ "TAG_MAX_LENGTH_EXPLAIN": "La lunghezza del tag non deve superare i 30 caratteri.", "TUTORIAL_NOT_SHOW_AGAIN": "Non mostrare di nuovo", "TUTORIAL_SWIPE_LEFT": "Scorri verso sinistra per eliminare il record corrispondente.", - "TUTORIAL_SWIPE_RIGHT": "Scorri verso destra per aggiungere ai segnalibri il testo del record corrispondente.", + "TUTORIAL_SWIPE_RIGHT": "Scorri verso destra per aggiungere ai segnalibri il testo del record / modificare il tag del segnalibro corrispondente.", "UNDO_DELETE": "È possibile annullare l'eliminazione", "VIBRATION_EXPLAIN": "Fornire vibrazioni o feedback tattile. Tieni presente che non tutti i dispositivi supportano questa funzione." }, diff --git a/src/assets/i18n/zh-CN.json b/src/assets/i18n/zh-CN.json index 9bc560f..554409e 100644 --- a/src/assets/i18n/zh-CN.json +++ b/src/assets/i18n/zh-CN.json @@ -108,11 +108,13 @@ "LOG": "记录", "LOG_BACKUP_AND_RESTORE": "记录、备份与还原", "MALE": "男性", + "MANAGE_RECORDS": "管理记录", "MARGIN": "边距", "MESSAGE": "信息", "MESSAGE_CONTENT": "信息内容", "MICROSOFT_BING": "Microsoft Bing", "MOBILE_PHONE_NUMBER": "手提电话号码", + "MORE": "更多", "NAME": "姓名", "NO": "否", "NONE": "没有", @@ -200,6 +202,7 @@ "VIEW_GITHUB": "查看 GitHub", "VIEW_LOG": "查看记录", "VIEW_STORE_AND_SOURCE_CODE": "查看商店及源代码", + "VIEW_INSTRUCTIONS": "查看说明", "WEBSITE": "网站", "WIFI": "WiFi", "WIFI_ENCRYPTION": "安全性", @@ -221,7 +224,6 @@ "BACKUP_SUCCESSFULLY": "

成功备份。请妥善保存备份档及以下密码

{secret}

", "BARCODE_TYPE": "扫描
  • QR 码
  • 一维条码
  • Aztec 码
  • 数据矩阵码
  • PDF417 条码
汇入图片
  • QR 码
建立
  • QR 码
", "BOOKMARKED": "成功加入书签", - "BOOKMARK_TUTORIAL_SWIPE_RIGHT": "向右划项目可修改标签", "BUTTON_DISPLAY_EXPLAIN": "显示或隐藏行动按键。", "BUTTON_STYLE_EXPLAIN": "选择行动按键的样式。", "CAMERA_PERMISSION": "要使用扫描功能,您必须授权「简易QR」使用相机。 ", @@ -279,7 +281,7 @@ "TAG_MAX_LENGTH_EXPLAIN": "标签长度不能多于 30 个字元。", "TUTORIAL_NOT_SHOW_AGAIN": "下次不再提醒", "TUTORIAL_SWIPE_LEFT": "向左划项目可删除相关记录", - "TUTORIAL_SWIPE_RIGHT": "向右划项目可将相关记录的文字加入书签", + "TUTORIAL_SWIPE_RIGHT": "向右划项目可将相关记录的文字加入书签 / 修改标签", "UNDO_DELETE": "您可在数秒内复原记录", "VIBRATION_EXPLAIN": "提供震动或触感反馈。请注意,并非所有设备皆支援此功能。" }, diff --git a/src/assets/i18n/zh-HK.json b/src/assets/i18n/zh-HK.json index 9c29b10..1c1fffe 100644 --- a/src/assets/i18n/zh-HK.json +++ b/src/assets/i18n/zh-HK.json @@ -108,11 +108,13 @@ "LOG": "記錄", "LOG_BACKUP_AND_RESTORE": "記錄、備份與還原", "MALE": "男性", + "MANAGE_RECORDS": "管理記錄", "MARGIN": "邊距", "MESSAGE": "信息", "MESSAGE_CONTENT": "信息內容", "MICROSOFT_BING": "Microsoft Bing", "MOBILE_PHONE_NUMBER": "手提電話號碼", + "MORE": "更多", "NAME": "姓名", "NO": "否", "NONE": "沒有", @@ -200,6 +202,7 @@ "VIEW_GITHUB": "查看 GitHub", "VIEW_LOG": "查看記錄", "VIEW_STORE_AND_SOURCE_CODE": "查看商店及源代碼", + "VIEW_INSTRUCTIONS": "查看說明", "WEBSITE": "網站", "WIFI": "WiFi", "WIFI_ENCRYPTION": "安全性", @@ -221,7 +224,6 @@ "BACKUP_SUCCESSFULLY": "

成功備份。請妥善保存備份檔及以下密碼

{secret}

", "BARCODE_TYPE": "掃描
  • QR 碼
  • 一維條碼
  • Aztec 碼
  • 數據矩陣碼
  • PDF417 條碼
匯入圖片
  • QR 碼
建立
  • QR 碼
", "BOOKMARKED": "成功加入書籤", - "BOOKMARK_TUTORIAL_SWIPE_RIGHT": "向右劃項目可修改標籤", "BUTTON_DISPLAY_EXPLAIN": "顯示或隱藏行動按鍵。", "BUTTON_STYLE_EXPLAIN": "選擇行動按鍵的樣式。", "CAMERA_PERMISSION": "要使用掃描功能,您必須授權「簡易QR」使用相機。", @@ -279,7 +281,7 @@ "TAG_MAX_LENGTH_EXPLAIN": "標籤長度不能多於 30 個字元。", "TUTORIAL_NOT_SHOW_AGAIN": "下次不再提醒", "TUTORIAL_SWIPE_LEFT": "向左劃項目可刪除相關記錄", - "TUTORIAL_SWIPE_RIGHT": "向右劃項目可將相關記錄的文字加入書籤", + "TUTORIAL_SWIPE_RIGHT": "向右劃項目可將相關記錄的文字加入書籤 / 修改標籤", "UNDO_DELETE": "您可在數秒內還原記錄", "VIBRATION_EXPLAIN": "提供震動或觸感反饋。請注意,並非所有設備皆支援此功能。" },