diff --git a/.github/stale.yml b/.github/stale.yml
deleted file mode 100644
index 6e2cff3a4c..0000000000
--- a/.github/stale.yml
+++ /dev/null
@@ -1,59 +0,0 @@
-# Configuration for probot-stale - https://github.com/probot/stale
-
-# Number of days of inactivity before an Issue or Pull Request becomes stale
-daysUntilStale: 14
-
-# Number of days of inactivity before an Issue or Pull Request with the stale label is closed.
-# Set to false to disable. If disabled, issues still need to be closed manually, but will remain marked as stale.
-daysUntilClose: 7
-
-# Only issues or pull requests with all of these labels are check if stale. Defaults to `[]` (disabled)
-onlyLabels:
- - 'waiting for more information'
-
-# Issues or Pull Requests with these labels will never be considered stale. Set to `[]` to disable
-exemptLabels: []
-
-# Set to true to ignore issues in a project (defaults to false)
-exemptProjects: false
-
-# Set to true to ignore issues in a milestone (defaults to false)
-exemptMilestones: false
-
-# Set to true to ignore issues with an assignee (defaults to false)
-exemptAssignees: false
-
-# Label to use when marking as stale
-staleLabel: stale
-
-# Comment to post when marking as stale. Set to `false` to disable
-markComment: >
- This issue has been automatically marked as stale because it has not had
- recent activity. It will be closed if no further activity occurs. Thank you
- for your contributions.
-
-# Comment to post when removing the stale label.
-# unmarkComment: >
-# Your comment here.
-
-# Comment to post when closing a stale Issue or Pull Request.
-# closeComment: >
-# Your comment here.
-
-# Limit the number of actions per hour, from 1-30. Default is 30
-limitPerRun: 30
-
-# Limit to only `issues` or `pulls`
-# only: issues
-
-# Optionally, specify configuration settings that are specific to just 'issues' or 'pulls':
-# pulls:
-# daysUntilStale: 30
-# markComment: >
-# This pull request has been automatically marked as stale because it has not had
-# recent activity. It will be closed if no further activity occurs. Thank you
-# for your contributions.
-
-# issues:
-# exemptLabels:
-# - confirmed
diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml
index 4f77ecea12..66e773da10 100644
--- a/.github/workflows/build.yml
+++ b/.github/workflows/build.yml
@@ -8,22 +8,22 @@ on:
- master
jobs:
- build:
+ js:
runs-on: ubuntu-latest
strategy:
matrix:
- node-versions: [14.x]
- npm-version: [7.x]
+ node-version: [20.x]
+ npm-version: [10.x]
- name: node${{ matrix.node-versions }}
+ name: js node${{ matrix.node-version }}
steps:
- uses: actions/checkout@v2
- - name: Set up node ${{ matrix.node-versions }}
+ - name: Set up node ${{ matrix.node-version }}
uses: actions/setup-node@v1
with:
- node-version: ${{ matrix.node-versions }}
+ node-version: ${{ matrix.node-version }}
- name: Set up npm ${{ matrix.npm-version }}
run: npm i -g npm@"${{ matrix.npm-version }}"
@@ -40,13 +40,119 @@ jobs:
${{ runner.os }}-build-
${{ runner.os }}-
- - name: Install dependencies & build
+ - name: Install dependencies
run: |
- echo "Install"
npm ci -f
- echo "Build javascript"
+
+ - name: Install dependencies & build
+ run: |
npm run build-release --if-present
- echo "Build Java"
+
+ - name: Save context
+ uses: buildjet/cache/save@v3
+ with:
+ key: build-context-${{ github.run_id }}
+ path: ./
+
+ android:
+ needs: js
+ runs-on: ubuntu-latest
+ strategy:
+ matrix:
+ java-version: [ 17 ]
+ name: android java${{ matrix.java-version }}
+ steps:
+ - uses: actions/setup-java@v4
+ with:
+ distribution: 'oracle'
+ java-version: ${{ matrix.java-version }}
+
+ - name: Restore context
+ uses: buildjet/cache/restore@v3
+ with:
+ fail-on-cache-miss: true
+ key: build-context-${{ github.run_id }}
+ path: ./
+
+ - name: Build android
+ run: |
+ npx cap sync
cd android
chmod +x gradlew
./gradlew assemble
+
+ ios:
+ needs: js
+ runs-on: macos-latest
+ name: ios
+ steps:
+ - name: Restore context
+ uses: buildjet/cache/restore@v3
+ with:
+ fail-on-cache-miss: true
+ key: build-context-${{ github.run_id }}
+ path: ./
+
+ - name: setup-cocoapods
+ uses: maxim-lobanov/setup-cocoapods@v1
+ with:
+ podfile-path: ios/App/Podfile.lock
+
+ - uses: maxim-lobanov/setup-xcode@v1
+ with:
+ xcode-version: latest-stable
+
+ - name: Install certificate and provisioning profile
+ env:
+ BUILD_CERTIFICATE_BASE64: ${{ secrets.BUILD_CERTIFICATE_BASE64 }}
+ BUILD_PROVISION_PROFILE_BASE64: ${{ secrets.BUILD_PROVISION_PROFILE_BASE64 }}
+ BUILD_PROVISION_PROFILE_NEW_BOOKMARK_BASE64: ${{ secrets.BUILD_PROVISION_PROFILE_NEW_BOOKMARK_BASE64 }}
+ KEYCHAIN_PASSWORD: ${{ secrets.KEYCHAIN_PASSWORD }}
+ run: |
+ # create variables
+ CERTIFICATE_PATH=$RUNNER_TEMP/build_certificate.p12
+ PP_PATH=$RUNNER_TEMP/build_pp.mobileprovision
+ PP2_PATH=$RUNNER_TEMP/build_pp2.mobileprovision
+ KEYCHAIN_PATH=$RUNNER_TEMP/app-signing.keychain-db
+
+ # import certificate and provisioning profile from secrets
+ echo -n "$BUILD_CERTIFICATE_BASE64" | base64 --decode -o $CERTIFICATE_PATH
+ echo -n "$BUILD_PROVISION_PROFILE_BASE64" | base64 --decode -o $PP_PATH
+ echo -n "$BUILD_PROVISION_PROFILE_NEW_BOOKMARK_BASE64" | base64 --decode -o $PP2_PATH
+
+ # create temporary keychain
+ security create-keychain -p "$KEYCHAIN_PASSWORD" $KEYCHAIN_PATH
+ security set-keychain-settings -lut 21600 $KEYCHAIN_PATH
+ security unlock-keychain -p "$KEYCHAIN_PASSWORD" $KEYCHAIN_PATH
+
+ # import certificate to keychain
+ security import $CERTIFICATE_PATH -P "" -A -t cert -f pkcs12 -k $KEYCHAIN_PATH
+ security list-keychain -d user -s $KEYCHAIN_PATH
+
+ # apply provisioning profile
+ mkdir -p ~/Library/MobileDevice/Provisioning\ Profiles
+ cp $PP_PATH ~/Library/MobileDevice/Provisioning\ Profiles
+ cp $PP2_PATH ~/Library/MobileDevice/Provisioning\ Profiles
+
+ - name: Capacitor sync
+ run: |
+ npx cap sync
+
+ - name: Build ios
+ env:
+ scheme: "Floccus"
+ run: |
+ cd ios/App
+ xcodebuild build-for-testing -scheme "$scheme" -workspace App.xcworkspace
+
+ summary:
+ runs-on: ubuntu-latest
+ needs: [ js, android, ios ]
+
+ if: always()
+
+ name: build-summary
+
+ steps:
+ - name: Summary status
+ run: if ${{ needs.js.result != 'success' || ( needs.android.result != 'success' && needs.selenium.result != 'skipped' ) || ( needs.ios.result != 'success' && needs.ios.result != 'skipped' ) }}; then exit 1; fi
diff --git a/.github/workflows/stale.yml b/.github/workflows/stale.yml
new file mode 100644
index 0000000000..a6af953116
--- /dev/null
+++ b/.github/workflows/stale.yml
@@ -0,0 +1,25 @@
+name: 'Close stale issues and PRs'
+on:
+ schedule:
+ - cron: '30 1 * * *'
+
+jobs:
+ stale:
+ runs-on: ubuntu-latest
+ steps:
+ - uses: actions/stale@v8
+ with:
+ stale-issue-message: |
+ Hello :wave:
+ This issue appears to have had no activity for 3 months. We cannot keep track of whether individual issues
+ have resolved themselves or still require attention without user interaction. We're thus adding the stale label to this issue to schedule
+ it for getting closed in 5 days time. If you believe this issue is still valid and should be fixed, you can add a comment
+ or remove the label to avoid it getting closed.
+
+ Cheers :blue_heart:
+ close-issue-message: 'This issue was closed because it has been stalled for 5 days with no activity.'
+ days-before-issue-stale: 90
+ days-before-issue-close: 5
+ days-before-pr-close: -1
+ only-labels: 'waiting for more information'
+ exempt-issue-labels: 'enhancement'
diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml
index 1900ed0289..b4c9a56670 100644
--- a/.github/workflows/tests.yml
+++ b/.github/workflows/tests.yml
@@ -6,31 +6,89 @@ on:
branches:
- master
- develop
+ paths:
+ - 'src/**'
+ - 'test/**'
+ - 'package.json'
+ - 'package-lock.json'
+ - 'webpack*'
+ - 'gulpfile.js'
env:
APP_NAME: bookmarks
+concurrency:
+ group: floccus-tests-${{ github.head_ref || github.run_id }}
+ cancel-in-progress: true
+
jobs:
- php:
+ init:
+ runs-on: ubuntu-latest
+
+ strategy:
+ # do not stop on another job's failure
+ fail-fast: false
+ matrix:
+ node-version: [ 20.x ]
+ npm-version: [ 10.x ]
+
+ steps:
+ - name: Checkout floccus
+ uses: actions/checkout@v2
+ with:
+ path: floccus
+
+ - name: Set up node ${{ matrix.node-version }}
+ uses: actions/setup-node@v1
+ with:
+ node-version: ${{ matrix.node-version }}
+
+ - name: Set up npm ${{ matrix.npm-version }}
+ run: npm i -g npm@"${{ matrix.npm-version }}"
+
+ - name: Cache node modules
+ uses: actions/cache@v1
+ env:
+ cache-name: cache-node-modules
+ with:
+ path: ~/.npm # npm cache files are stored in `~/.npm` on Linux/macOS
+ key: ${{ runner.os }}-build-${{ env.cache-name }}-${{ hashFiles('**/package-lock.json') }}
+ restore-keys: |
+ ${{ runner.os }}-build-${{ env.cache-name }}-
+ ${{ runner.os }}-build-
+ ${{ runner.os }}-
+
+ - name: Install dependencies & build
+ working-directory: floccus
+ run: |
+ npm ci
+ npm run build-release --if-present
+
+ - name: Save context
+ uses: buildjet/cache/save@v3
+ with:
+ key: selenium-context-${{ github.run_id }}
+ path: ./
+
+ selenium:
runs-on: ubuntu-latest
+ needs: init
env:
SELENIUM_HUB_HOST: hub
TEST_HOST: nextcloud
SERVER_BRANCH: ${{ matrix.server-version }}
NC_APP_VERSION: ${{ matrix.app-version }}
- SELENIUM_VERSION: 3
MYSQL_PASSWORD: root
strategy:
# do not stop on another job's failure
fail-fast: false
matrix:
- node-version: [14.x]
- npm-version: [7.x]
- server-version: ['26']
+ node-version: [20.x]
+ npm-version: [10.x]
+ server-version: ['27']
app-version: ['stable']
- selenium-version: ['3']
floccus-adapter:
- fake
- nextcloud-bookmarks
@@ -44,62 +102,62 @@ jobs:
test-name:
- test
- benchmark root
- browsers: ['firefox']
+ browsers:
+ - firefox
+ - chrome
include:
- - app-version: stable12
- server-version: 25
- floccus-adapter: nextcloud-bookmarks
- test-name: test
- browsers: firefox
- node-version: 14.x
- npm-version: 7.x
- app-version: master
- server-version: 26
+ server-version: 27
floccus-adapter: nextcloud-bookmarks
test-name: test
browsers: firefox
node-version: 14.x
npm-version: 7.x
- app-version: master
- server-version: 26
+ server-version: 27
floccus-adapter: nextcloud-bookmarks
test-name: benchmark root
browsers: firefox
node-version: 14.x
npm-version: 7.x
- app-version: master
- server-version: 26
+ server-version: 27
floccus-adapter: nextcloud-bookmarks-old
test-name: benchmark root
browsers: firefox
node-version: 14.x
npm-version: 7.x
- app-version: stable
- server-version: 26
+ server-version: 27
floccus-adapter: fake-noCache
test-name: test
browsers: firefox
node-version: 14.x
npm-version: 7.x
- name: ${{matrix.floccus-adapter}}:${{ matrix.test-name}} nc@${{ matrix.server-version }} bm@${{ matrix.app-version }} ${{ matrix.browsers }}
+ name: ${{ matrix.browsers }} bm@${{ matrix.app-version }} ${{matrix.floccus-adapter}}:${{ matrix.test-name}}
services:
hub:
- image: selenium/hub:3
+ image: selenium/hub:4.11.0-20230801
ports:
+ - 4442:4442
+ - 4443:4443
- 4444:4444
firefox:
- image: selenium/node-firefox:3
+ image: selenium/node-firefox:4.11.0-20230801
+
env:
- HUB_HOST: hub
- HUB_PORT: 4444
+ SE_EVENT_BUS_HOST: hub
+ SE_EVENT_BUS_PUBLISH_PORT: 4442
+ SE_EVENT_BUS_SUBSCRIBE_PORT: 4443
options: --shm-size="2g"
chrome:
- image: selenium/node-chrome:3
+ image: selenium/node-chrome:4.11.0-20230801
env:
- HUB_HOST: hub
- HUB_PORT: 4444
+ SE_EVENT_BUS_HOST: hub
+ SE_EVENT_BUS_PUBLISH_PORT: 4442
+ SE_EVENT_BUS_SUBSCRIBE_PORT: 4443
options: --shm-size="2g"
nextcloud:
image: nextcloud:${{ matrix.server-version }}
@@ -120,10 +178,13 @@ jobs:
MYSQL_ROOT_PASSWORD: ${{env.MYSQL_PASSWORD}}
steps:
- - name: Checkout floccus
- uses: actions/checkout@v2
+
+ - name: Restore context
+ uses: buildjet/cache/restore@v3
with:
- path: floccus
+ fail-on-cache-miss: true
+ key: selenium-context-${{ github.run_id }}
+ path: ./
- name: Checkout bookmarks app
uses: actions/checkout@v2
@@ -160,31 +221,16 @@ jobs:
[ $NEXT_WAIT_TIME -lt 25 ]
if: matrix.floccus-adapter != 'fake'
- - name: Set up node ${{ matrix.node-version }}
- uses: actions/setup-node@v1
- with:
- node-version: ${{ matrix.node-version }}
-
- - name: Set up npm ${{ matrix.npm-version }}
- run: npm i -g npm@"${{ matrix.npm-version }}"
-
- - name: Cache node modules
- uses: actions/cache@v1
- env:
- cache-name: cache-node-modules
- with:
- path: ~/.npm # npm cache files are stored in `~/.npm` on Linux/macOS
- key: ${{ runner.os }}-build-${{ env.cache-name }}-${{ hashFiles('**/package-lock.json') }}
- restore-keys: |
- ${{ runner.os }}-build-${{ env.cache-name }}-
- ${{ runner.os }}-build-
- ${{ runner.os }}-
-
- - name: Install dependencies & build
- working-directory: floccus
+ - name: Wait for Selenium
run: |
- npm ci
- npm run build-release --if-present
+ sudo apt install -y jq
+ while ! curl -sSL "http://localhost:4444/wd/hub/status" 2>&1 \
+ | jq -r '.value.ready' 2>&1 | grep "true" >/dev/null; do
+ echo 'Waiting for the Grid'
+ sleep 1
+ done
+
+ echo "Selenium Grid is up - executing tests"
- name: Run tests
working-directory: floccus
@@ -196,3 +242,15 @@ jobs:
APP_VERSION: ${{ matrix.app-version }}
run: |
npm run test
+
+ summary:
+ runs-on: ubuntu-latest
+ needs: [ init, selenium ]
+
+ if: always()
+
+ name: selenium-summary
+
+ steps:
+ - name: Summary status
+ run: if ${{ needs.init.result != 'success' || ( needs.selenium.result != 'success' && needs.selenium.result != 'skipped' ) }}; then exit 1; fi
diff --git a/CHANGELOG.md b/CHANGELOG.md
index 8ac029374d..805e2f54a0 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,6 +1,46 @@
# Changelog
-## V4.19.1
+## [5.0.0] - 2023-12-09
+
+## New
+
+ - Avoid syncing private tabs
+ - Add a 'Sync all' button
+ - Overhaul profile overview UI
+
+## Changed
+
+ - [browser] Migrate to Manifest v3
+ - [browser] remove unlock passphrase feature
+ - [native] Remove background mode because it was buggy
+ - Sync 3s after startup
+ - Upgrade to capacitor 5
+ - Upgrade to gradle 8
+ - "Accounts" are now called "Profiles"
+
+## Fixed
+
+ - [native] Reset profile syncing state on app start
+ - [native] Allow turning auto-sync back on
+ - [native] fix(AddBookmarkIntent): Close intent after saving bookmark
+ - [ios] fix(sharing) Fix share target
+ - Allow setting sync interval to 5min
+ - Local folder option: Make more clear what each option does and the implications of that
+ - Store passphrase for google-drive encryption correctly
+ - NextcloudBookmarks: Do not write lock after onSyncCompleted
+ - Fix bookmarks change detection
+ - Fix BrowserController#onchange: Don't error out on deleted items
+ - fix(FileUnreadableError): Make error message more clear
+ - fix(downloadLogs): Add redacted/full to file name
+ - fix(messages): Make it more clear that people need to install Nextcloud Bookmarks to use it
+ - fix(BrowserController): Set unlocked to true by default
+ - fix(LocalTabs): Don't activate all tabs upon creating them
+ - fix(ImportExport): Trigger alert when import is done
+ - fix(OptionsWebdav): properly import OptionsPassphrase component
+ - fix(OptionsSyncFolder): show spinner while running getTree
+ - fix(HtmlSerializer): Make html output compatible with common browsers while maintaining backward compatibility
+
+## v4.19.1
### Fixed
- Fix Scanner ignore logic for root folders
diff --git a/_locales/cs/messages.json b/_locales/cs/messages.json
new file mode 100644
index 0000000000..3f2cac6289
--- /dev/null
+++ b/_locales/cs/messages.json
@@ -0,0 +1,654 @@
+{
+ "Error001": {
+ "message": "E001: Složka k vytvoření neexistuje"
+ },
+ "Error002": {
+ "message": "E002: Záložka, která má být aktualizována, už neexistuje"
+ },
+ "Error003": {
+ "message": "E003: Složka, ze které přesunout, neexistuje. Toto je anomálie. Gratulujeme."
+ },
+ "Error004": {
+ "message": "E004: Složka, do které přesunout, neexistuje"
+ },
+ "Error005": {
+ "message": "E005: Složka, ve které vytvořit, neexistuje"
+ },
+ "Error006": {
+ "message": "E006: Složka, která má být aktualizována, neexistuje"
+ },
+ "Error007": {
+ "message": "E007: Složka, která má být přesunuta, neexistuje"
+ },
+ "Error008": {
+ "message": "E008: Složka, ze které přesunout, neexistuje"
+ },
+ "Error009": {
+ "message": "E009: Složka, do které přesunout, neexistuje"
+ },
+ "Error010": {
+ "message": "E010: Nedaří se nalézt složku, kterou seřadit"
+ },
+ "Error011": {
+ "message": "E011: Položka v seřazení složky není skutečně podřazená: {0}"
+ },
+ "Error012": {
+ "message": "E012: Řazení složky postrádá některé z potomků složky"
+ },
+ "Error013": {
+ "message": "E013: Složka, která má být odstraněna, neexistuje"
+ },
+ "Error014": {
+ "message": "E014: Nadřazená složka, ze které složku odstranit, neexistuje"
+ },
+ "Error015": {
+ "message": "E015: Neočekávaná data v odpovědi ze serveru"
+ },
+ "Error016": {
+ "message": "E016: Překročen časový limit na vyřízení požadavku. Zkontrolujte nastavení pro vámi využívaný server"
+ },
+ "Error017": {
+ "message": "E017: Chyba sítě. Zkontrolujte připojení k síti a podrobnosti svého účtu"
+ },
+ "Error018": {
+ "message": "E018: Nepodařilo se ověřit vůči serveru."
+ },
+ "Error019": {
+ "message": "E019: HTTP status {0}. Selhalo {1} požadavků. Zkontrolujte vaše nastavení serveru a záznam událostí."
+ },
+ "Error020": {
+ "message": "E020: Nedaří se zpracovat odpověď ze serveru. Je na serveru nainstalovaná aplikace pro správu záložek?"
+ },
+ "Error021": {
+ "message": "E021: Nekonzistentní stav serveru. Složka je přítomná v seznamu pořadí potomků ale už ne ve stromu složek"
+ },
+ "Error022": {
+ "message": "E022: Složka {0} údajně obsahuje neexistující záložku {1}"
+ },
+ "Error023": {
+ "message": "E023: Nelze odebrat soubor zámku, zvažte ruční odstranění {0}."
+ },
+ "Error024": {
+ "message": "E024: HTTP stav {0} při pokusu o určení stavu souboru zámku {1}"
+ },
+ "Error025": {
+ "message": "E025: Je třeba, aby nastavení pro soubor se záložkami nezačínalo na dopředné lomítko: „/“"
+ },
+ "Error026": {
+ "message": "E026: HTTP stav {0}. Získávání záložek selhalo"
+ },
+ "Error027": {
+ "message": "E027: Proces synchronizace byl přerušen"
+ },
+ "Error028": {
+ "message": "E028: Nepodařilo se ověřit vůči serveru."
+ },
+ "Error029": {
+ "message": "E029: Bezpečnostní pojistka: současná synchronizace by odstranila {0}% vašich záložek. Vykonání odmítnuto. Zakažte tuto bezpečnostní pojistku v nastavení účtu pro pokračování."
+ },
+ "Error030": {
+ "message": "E030: Dešifrování souboru záložek selhalo. Heslo může být špatně, nebo soubor poškozený."
+ },
+ "Error031": {
+ "message": "E031: Nelze se ověřit s Google Drive. Prosíme, připojte znovu floccus s vaším Google účtem."
+ },
+ "Error032": {
+ "message": "E032: Chyba OAuth. Chyba ověření tokenu. Prosíme, připojte znovu svůj Google účet."
+ },
+ "Error033": {
+ "message": "E033: Zjištěno přesměrování. Prosíme, ujistěte se, že server podporuje vybranou synchronizační metodu a zadaná URL je správně. Pokud je přesměrování součást vašeho nastavení, můžete zakázat ověření přesměrování v nastavení."
+ },
+ "Error034": {
+ "message": "E034: Vzdálený soubor se záložkami je nečitelný. Nezapomněli jste zadat heslo šifrování?"
+ },
+ "Error035": {
+ "message": "E035: Chyba při vytváření následující záložky na serveru: {0}"
+ },
+ "Error036": {
+ "message": "E036: Chybějící oprávnění na přístup k serveru"
+ },
+ "LabelWebdavurl": {
+ "message": "WebDAV URL"
+ },
+ "DescriptionWebdavurl": {
+ "message": "např. s nextcloud: https://example.com/remote.php/webdav/"
+ },
+ "LabelNextcloudurl": {
+ "message": "Nextcloud URL"
+ },
+ "LabelUsername": {
+ "message": "Uživatelské jméno"
+ },
+ "LabelPassword": {
+ "message": "Heslo"
+ },
+ "LabelBookmarksfile": {
+ "message": "Cesta k umístění záložek"
+ },
+ "DescriptionBookmarksfile": {
+ "message": "cesta k umístění souboru se záložkami, vztažený k WebDAV URL (je třeba, aby všechny složky, uvedené v cestě, už existovaly). např. moje_data/zalozky.xbel"
+ },
+ "DescriptionBookmarksfilegoogle": {
+ "message": "název souboru se záložkami, pod kterým bude uložen do Google Disk (ujistěte se, že tento název je unikátní napříč Google Diskem)"
+ },
+ "LabelServerfolder": {
+ "message": "Složka na serveru"
+ },
+ "DescriptionServerfolder": {
+ "message": "Toto je prefix cesty pod kterým bude tento účet pracovat na serveru. Ponechte prázdné, pokud nemá být prefix použit."
+ },
+ "LabelLocalfolder": {
+ "message": "Místní složka"
+ },
+ "DescriptionLocalfolder": {
+ "message": "Toto je místní složka záložek v tomto prohlížeči, která bude synchronizována se serverem. Uvědomte si, že některé prohlížeče nepodporují vytváření nových položek v kořenové složce (například Firefox a Google Chrome)"
+ },
+ "LabelRootfolder": {
+ "message": "Kořenová složka"
+ },
+ "LabelNewfolder": {
+ "message": "Nově vytvořená složka"
+ },
+ "LabelOptions": {
+ "message": "Nastavení"
+ },
+ "LabelSyncnow": {
+ "message": "Synchronizovat teď"
+ },
+ "LabelCancelsync": {
+ "message": "Zastavit synchronizaci"
+ },
+ "LabelAutosync": {
+ "message": "Automatická synchronizace"
+ },
+ "StatusLastsynced": {
+ "message": "Naposledy synchronizováno před: {0}"
+ },
+ "StatusNeversynced": {
+ "message": "Zatím nesynchronizováno"
+ },
+ "StatusAllgood": {
+ "message": "Vše v pořádku"
+ },
+ "StatusDisabled": {
+ "message": "Vypnuto"
+ },
+ "StatusError": {
+ "message": "Chyba"
+ },
+ "StatusSyncing": {
+ "message": "Synchronizuje se"
+ },
+ "LabelReset": {
+ "message": "Vrátit do výchozího stavu"
+ },
+ "DescriptionReset": {
+ "message": "Vrátit synchronizovanou složku do výchozího stavu a vytvořit novou"
+ },
+ "LabelChoosefolder": {
+ "message": "Vybrat složku"
+ },
+ "DescriptionChoosefolder": {
+ "message": "Použít pro synchronizaci existující složku"
+ },
+ "LabelRemoveaccount": {
+ "message": "Odstranit účet"
+ },
+ "DescriptionRemoveaccount": {
+ "message": "Smazat tento účet (toto neodstraní vaše záložky)"
+ },
+ "LabelSyncfromscratch": {
+ "message": "Vyvolat synchronizaci od znovu"
+ },
+ "LabelResetCache": {
+ "message": "Smazat mezipaměť"
+ },
+ "DescriptionResetcache": {
+ "message": "Tuto kolonku zaškrtněte pro smazání mezipaměti. Tím bude zaručeno, že při příštím spuštění synchronizace nebudou smazána žádná data a pouze budou sloučeny dohromady záložky ze serveru a ty místní"
+ },
+ "LabelParallelsync": {
+ "message": "Urychlit synchronizaci"
+ },
+ "DescriptionParallelsync": {
+ "message": "Zaškrtnutím zapnete souběžné zpracovávání vícero složek, což urychlí synchronizaci. Tato funkce je experimentální a ztěžuje čtení záznamů s ladícími informacemi."
+ },
+ "LabelStrategy": {
+ "message": "Strategie synchronizace"
+ },
+ "DescriptionStrategy": {
+ "message": "Tato možnost určuje, jak synchronizovat záložky na jiná zařízení. Většinou budete chtít ponechat změny všech stran, pokud jsou kompatibilní. Ale někdy můžete chtít změny přepsat (zahrnuje přídavky a odstranění) z jiných prohlížečů, nebo přepsat změny udělané místně."
+ },
+ "LabelStrategydefault": {
+ "message": "Vždy sloučit místní změny se změnami z ostatních prohlížečů (doporučeno)"
+ },
+ "LabelStrategyslave": {
+ "message": "Vždy zrušit místní změny a stáhnout změny z ostatních prohlížečů."
+ },
+ "LabelStrategyoverwrite": {
+ "message": "Vždy nahrát místní změny a zrušit změny z ostatních prohlížečů."
+ },
+ "LabelSave": {
+ "message": "Uložit"
+ },
+ "LabelCancel": {
+ "message": "Storno"
+ },
+ "LabelAdd": {
+ "message": "Přidat"
+ },
+ "LabelChange": {
+ "message": "Změnit"
+ },
+ "LabelRemove": {
+ "message": "Odebrat"
+ },
+ "LabelBack": {
+ "message": "Zpět"
+ },
+ "LabelAdapternextcloudfolders": {
+ "message": "Záložky Nextcloud "
+ },
+ "DescriptionAdapternextcloudfolders": {
+ "message": "Možnost \"Záložky Nextcloud\" synchronizuje vaše záložky s aplikací Záložky pro Nextcloud. Může synchronizovat jen záložky http a ftp. Ujistěte se, že máte nainstalovanou aplikaci Záložky na vaší instanci Nextcloud."
+ },
+ "LabelAdapternextcloud": {
+ "message": "Nextcloud Záložky (původní)"
+ },
+ "DescriptionAdapternextcloud": {
+ "message": "Volba původní je kompatibilní s aplikací záložky verze nejméně 0.11. Bude emulovat složky pomocí štítků obsahujících popis umístění složky. Není doporučeno používat toto pro nové účty."
+ },
+ "LabelAdapterwebdav": {
+ "message": "WebDAV oddíl"
+ },
+ "DescriptionAdapterwebdav": {
+ "message": "Možnost WebDAV synchronizuje vaše záložky jejich ukládáním v souboru v poskytnutém WebDAV oddílu. Není žádné webové uživatelské rozhraní pro tuto možnost a můžete ji použít s jakýmkolivkompatibilním WebDAV serverem. Může synchronizovat záložky http, ftp, dat, souborů a javascriptu."
+ },
+ "LabelAddaccount": {
+ "message": "Přidat účet"
+ },
+ "LabelOpenintab": {
+ "message": "Otevřít v panelu"
+ },
+ "LabelDebuglogs": {
+ "message": "Záznamy ladících informací"
+ },
+ "LabelFunddevelopment": {
+ "message": "Podpořit vývoj"
+ },
+ "DescriptionFunddevelopment": {
+ "message": "Práce na floccus je poháněna dobrovolným předplatným. Pokud uznáte mou práci za užitečnou a můžete postrádat nějaké drobné bez nesnází, prosím, podpořte mou práci. Též prosím o hodnocení doplňku v obchodu vašeho výběru. Děkuji! 💙"
+ },
+ "LabelSelect": {
+ "message": "Vybrat"
+ },
+ "LabelUntitledfolder": {
+ "message": "Nepojmenovaná složka"
+ },
+ "LabelSetkeybutton": {
+ "message": "Nastavit přístupové heslo"
+ },
+ "LabelKey": {
+ "message": "Zadejte vaši odemykací heslovou frázi"
+ },
+ "LabelKey2": {
+ "message": "Zadejte vaši odemykací heslovou frázi podruhé"
+ },
+ "LabelUnlock": {
+ "message": "Odemknout floccus"
+ },
+ "LabelRemovekey": {
+ "message": "Odebrat přístupové heslo"
+ },
+ "LabelRemovedkey": {
+ "message": "Přístupové heslo odebráno"
+ },
+ "LabelSyncinterval": {
+ "message": "Interval synchronizace"
+ },
+ "DescriptionSyncinterval": {
+ "message": "Časové rozpětí mezi dvěma synchronizacemi v minutách. Výchozí je 15 minut."
+ },
+ "LabelChooseadapter": {
+ "message": "Jak chcete synchronizovat?"
+ },
+ "LabelOptionsscreen": {
+ "message": "{0} možností",
+ "description": "Title of the options screen. The placeholder holds the account type."
+ },
+ "LabelPaypal": {
+ "message": "Paypal"
+ },
+ "DescriptionPaypal": {
+ "message": "Pokud chcete tento projekt podpořit, jednorázově darujte prostřednictvím služby paypal"
+ },
+ "LabelOpencollective": {
+ "message": "OpenCollective"
+ },
+ "DescriptionOpencollective": {
+ "message": "Pokud chcete tento projekt podpořit, pravidelně darujte prostřednictvím služby OpenCollective"
+ },
+ "LabelLiberapay": {
+ "message": "Liberapay"
+ },
+ "DescriptionLiberapay": {
+ "message": "Pokud chcete tento projekt podpořit, pravidelně darujte prostřednictvím služby Liberapay"
+ },
+ "LabelGithubsponsors": {
+ "message": "GitHub sponzoři"
+ },
+ "DescriptionGithubsponsors": {
+ "message": "Pokud chcete tento projekt podpořit, pravidelně darujte prostřednictvím služby GitHub sponsors"
+ },
+ "LegacyAdapterDeprecation": {
+ "message": "Tento starý typ účtu zastaralý a brzy bude odebrán. Přejděte na novou metodu synchronizace s nextcloud. Čeká vás zlepšený výkon a přesnost."
+ },
+ "LabelUpdated": {
+ "message": "Floccus byl aktualizován"
+ },
+ "DescriptionUpdated": {
+ "message": "Gratulujeme, na váš stroj dorazila nejnovější aktualizace doplňku floccus!"
+ },
+ "LabelReleaseNotes": {
+ "message": "Načíst poznámky k vydání"
+ },
+ "LabelOptionsServerDetails": {
+ "message": "Podrobnosti o serveru"
+ },
+ "LabelOptionsFolderMapping": {
+ "message": "Mapování složek"
+ },
+ "LabelOptionsSyncBehavior": {
+ "message": "Chování synchronizace"
+ },
+ "LabelOptionsDangerous": {
+ "message": "Nebezpečné akce"
+ },
+ "LabelAccountDeleted": {
+ "message": "Účet smazán"
+ },
+ "DescriptionAccountDeleted": {
+ "message": "Tento účet byl smazán"
+ },
+ "LabelNoAccount": {
+ "message": "Nejsou zde žádné účty"
+ },
+ "DescriptionNoAccount": {
+ "message": "Vytvořit nový účet pro synchronizaci vašich záložek nebo importovat účet z jiného zařízení či prohlížeče."
+ },
+ "LabelLoginFlowStart": {
+ "message": "Přihlásit se pomocí Nextcloud"
+ },
+ "LabelLoginFlowStop": {
+ "message": "O přihlášení pomocí Nextcloud"
+ },
+ "LabelLoginFlowError": {
+ "message": "Přihlášení pomocí Nextcloud selhalo"
+ },
+ "LabelNewAccount": {
+ "message": "Nový účet"
+ },
+ "LabelNestedSync": {
+ "message": "Vnořené účty"
+ },
+ "DescriptionNestedSync": {
+ "message": "Můžete vnořovat účty, aby nadřazená složka patřila účtu A a podsložka účtu A a B. Chcete povolit ostatním účtům i synchronizaci složky tohoto účtu?"
+ },
+ "LabelNestedSyncNo": {
+ "message": "Ne, vynechat složky tohoto účtu v jiných účtech."
+ },
+ "LabelNestedSyncYes": {
+ "message": "Ano, zahnout složky tohoto účtu v jiných účtech."
+ },
+ "LabelImportExport": {
+ "message": "Importovat/exportovat účty"
+ },
+ "LabelExport": {
+ "message": "Exportovat účty"
+ },
+ "LabelImport": {
+ "message": "Importovat účty"
+ },
+ "DescriptionExport": {
+ "message": "Vyberte účty, které byste chtěli exportovat do souboru, abyste mohli jednoduše přidat tyto účty v jiném zařízení nebo prohlížeči."
+ },
+ "DescriptionImport": {
+ "message": "Importujte soubor s exportovanými účty pro přidání účtů exportovaných na jiném zařízení nebo prohlížeči. Prosíme, ujistěte se, že po importu nastavíte správné synchronizační složky."
+ },
+ "LabelFolderNotFound": {
+ "message": "Složka nenalezena"
+ },
+ "LabelSyncTabs": {
+ "message": "Synchronizovat panely"
+ },
+ "LabelTabs": {
+ "message": "Panely"
+ },
+ "LabelSyncDown": {
+ "message": "Stáhnout data"
+ },
+ "DescriptionSyncDown": {
+ "message": "Stáhnout změny z ostatních prohlížečů a přepsat lokální změny"
+ },
+ "LabelSyncUp": {
+ "message": "Nahrát data"
+ },
+ "DescriptionSyncUp": {
+ "message": "Nahrát lokální změny a přepsat změny z ostatních prohlížečů"
+ },
+ "LabelSyncDownOnce": {
+ "message": "Stáhnout data jednou"
+ },
+ "LabelSyncUpOnce": {
+ "message": "Nahrát data jednou"
+ },
+ "LabelSyncNormal": {
+ "message": "Sloučit"
+ },
+ "DescriptionSyncNormal": {
+ "message": "Sloučit lokální změny se změnami z ostatních prohlížečů"
+ },
+ "DescriptionFilesPermission": {
+ "message": "Zajistěte, abyste doplňku floccus udělili oprávnění nejen pro používání aplikace Záložky, ale také Nextcloud aplikaci Soubory."
+ },
+ "DescriptionExtension": {
+ "message": "Synchronizovat vaše záložky soukromě napříč prohlížeči a zařízeními"
+ },
+ "LabelFailsafe": {
+ "message": "Pojistka"
+ },
+ "DescriptionFailsafe": {
+ "message": "Občas se stává, že chybná nastavení nebo chyby v software mohou způsobit nezamýšlené odebrání dat, která jsou tím ztracena. Abychom tomu zabránili, doplněk floccus nesmaže více než 50% vašich záložek najednou, pokud zde tuto pojistku nevypnete."
+ },
+ "LabelFailsafeon": {
+ "message": "Zapnuto. Nemazat více než 50% mých místních záložek, aniž by se mne nejdříve nezeptalo (doporučeno)."
+ },
+ "LabelFailsafeoff": {
+ "message": "Vypnuto. Umožnit odebrání více než 50% mých místních záložek aniž by ode mne bylo žádáno o potvrzení."
+ },
+ "StatusFailsafeoff": {
+ "message": "Pojistka vypnuta. Riskujete nezamýšlenou ztrátu dat. Je doporučeno zapnout pojistku v nastaveních účtu."
+ },
+ "LabelAdaptergoogledrive": {
+ "message": "Google Disk"
+ },
+ "DescriptionAdaptergoogledrive": {
+ "message": "Synchronizovat záložky přes zašifrovaný soubor uložený ve vašem Google Drive. Může synchronizovat záložky http, ftp, dat a javascriptu."
+ },
+ "LabelLogingoogle": {
+ "message": "Přihlášení pomocí Google"
+ },
+ "DescriptionLogingoogle": {
+ "message": "Připojte váš Google účet pro ukládání synchronizačního souboru záložek na váš Google Drive."
+ },
+ "DescriptionLoggedingoogle": {
+ "message": "Připojili jste váš Google účet pro ukládání synchronizačního souboru záložek na váš Google Drive."
+ },
+ "LabelPassphrase": {
+ "message": "Přístupové heslo"
+ },
+ "DescriptionPassphrase": {
+ "message": "Nastavte heslo pro šifrování vašeho souboru záložek. Pokud žádné nenastavíte, soubor nebude šifrován."
+ },
+ "LabelClientcert": {
+ "message": "Poslat klientské přístupové údaje"
+ },
+ "DescriptionClientcert": {
+ "message": "Povolte tuto možnost, pokud server vyžaduje klientský certifikát nebo cookies pro ověření. Může to způsobit nečekané vedlejší účinky, protože floccus bude sdílet cookies s vašim profilem prohlížeče."
+ },
+ "LabelAllowredirects": {
+ "message": "Povolit přesměrování v URL serveru"
+ },
+ "DescriptionAllowredirects": {
+ "message": "Povolte tuto možnost, pokud dostáváte chyby přesměrování při synchronizaci, u kterých věříte, že jsou nezaručené."
+ },
+ "LabelSearch": {
+ "message": "Hledat v záložkách"
+ },
+ "LabelSearchfolder": {
+ "message": "Hledat {0}"
+ },
+ "LabelEdititem": {
+ "message": "Upravit"
+ },
+ "LabelDeleteitem": {
+ "message": "Odstranit"
+ },
+ "LabelNobookmarks": {
+ "message": "Nejsou tu žádné záložky"
+ },
+ "LabelAddbookmark": {
+ "message": "Přidat záložku"
+ },
+ "LabelEditbookmark": {
+ "message": "Upravit záložku"
+ },
+ "LabelAddfolder": {
+ "message": "Přidat složku"
+ },
+ "LabelEditfolder": {
+ "message": "Upravit složku"
+ },
+ "LabelSlugline": {
+ "message": "Soukromá synchronizace záložek"
+ },
+ "LabelDownloadlogs": {
+ "message": "Stáhnout záznam událostí"
+ },
+ "LabelDownloadfulllogs": {
+ "message": "Celý záznam událostí"
+ },
+ "LabelDownloadanonymizedlogs": {
+ "message": "Anonymizovaný záznam událostí"
+ },
+ "DescriptionDownloadlogs": {
+ "message": "Floccus zaznamenává všechny akce do souboru se záznamem událostí, který můžete sami zkontrolovat nebo jej zaslat vývojářům pro účely odhalení chyby. V anonymizovaném záznamu událostí jsou, názvy složek, záložek a stejně tak i URL adresy, nevratně zakódované pomocí kryptografických hašovacích funkcí. Když odesíláte anonymizovaný záznam událostí, ujistěte se, že stažený soubor neobsahuje žádná citlivá data, která nemusela být podchycena v anonymizačním procesu."
+ },
+ "ErrorFolderloopselected": {
+ "message": "Nelze přesunout složku do sebe samé"
+ },
+ "ErrorNofolderselected": {
+ "message": "Není vybrána složka"
+ },
+ "LabelAllownetwork": {
+ "message": "Umožnit využívání sítě"
+ },
+ "DescriptionAllownetwork": {
+ "message": "Folccus může použít síť mimo připojení k vašemu synchronizačnímu serveru i pro získání dalších informací o vašich záložkách (jako ikony). Zde můžete dovolit toto využití sítě."
+ },
+ "LabelMobilesettings": {
+ "message": "Nastavení pro mobilní platformu"
+ },
+ "LabelContinuefloccus":{
+ "message": "Pokračovat do floccus"
+ },
+ "LabelAbout":{
+ "message": "O floccus"
+ },
+ "LabelCurrentversion": {
+ "message": "Aktuální verze"
+ },
+ "DescriptionCurrentversion": {
+ "message": "Vámi nainstalovaná verze floccus je:"
+ },
+ "LabelContributors": {
+ "message": "Přispěvatelé"
+ },
+ "DescriptionContributors": {
+ "message": "Díky těmto lidem mohl floccus vzniknout"
+ },
+ "LabelSortcustom": {
+ "message": "Vlastní"
+ },
+ "LabelSorturl": {
+ "message": "Odkaz"
+ },
+ "LabelSorttitle": {
+ "message": "Název"
+ },
+ "LabelSyncmethod": {
+ "message": "Metoda synchronizace"
+ },
+ "LabelSyncserver": {
+ "message": "Synchronizační server"
+ },
+ "LabelSyncfolders": {
+ "message": "Synchronizovat složky"
+ },
+ "LabelSyncbehavior": {
+ "message": "Chování synchronizace"
+ },
+ "LabelContinue": {
+ "message": "Pokračovat"
+ },
+ "LabelDone": {
+ "message": "Hotovo"
+ },
+ "LabelConnect": {
+ "message": "Připojit"
+ },
+ "LabelServersetup": {
+ "message": "Se kterým serverem chcete synchronizovat?"
+ },
+ "LabelGoogledrivesetup": {
+ "message": "Přihlášení do Google Disk"
+ },
+ "LabelSyncfoldersetup": {
+ "message": "Které složky chcete synchronizovat?"
+ },
+ "LabelSyncbehaviorsetup": {
+ "message": "Jak chcete, aby synchronizace fungovala?"
+ },
+ "LabelAccountcreated": {
+ "message": "Účet vytvoření"
+ },
+ "DescriptionNonhttps": {
+ "message": "Byl zadán server, který používá nezabezpečený protokol. Je doporučeno používat pouze servery podporujícíc HTTPS."
+ },
+ "LabelFiletype": {
+ "message": "Formát souboru"
+ },
+ "DescriptionFiletype": {
+ "message": "Můžete si vybrat formát ukládání záložek v online úložišti."
+ },
+ "LabelFiletypehtml": {
+ "message": "HTML, široce podporovaný a otevřený formát (experimentální)"
+ },
+ "LabelFiletypexbel": {
+ "message": "XBEL, jednoduchý otevřený formát"
+ },
+ "LabelImportbookmarks": {
+ "message": "Naimportovat záložky"
+ },
+ "DescriptionImportbookmarks": {
+ "message": "Naimportovat HTML soubor se záložkami do stávající složky"
+ },
+ "LabelExportBookmarks": {
+ "message": "Exportovat záložky"
+ },
+ "DescriptionExportBookmarks" : {
+ "message": "Můžete exportovat všechny záložky tohoto účtu ve formátu HTML, který je kompatibilní se všemi hlavními prohlížeči."
+ },
+ "LabelShareitem": {
+ "message": "Sdílet"
+ }
+}
diff --git a/_locales/de/messages.json b/_locales/de/messages.json
index a757f22679..8b2acf1be2 100644
--- a/_locales/de/messages.json
+++ b/_locales/de/messages.json
@@ -99,11 +99,14 @@
"message": "E033: Weiterleitung festgestellt. Vergewissern Sie sich, dass der angegebene Server die ausgewählte Synchronisierungsmethode unterstützt und die URL stimmt, die Sie eingegeben haben und nicht auf eine andere URL weiterleitet. Falls die Weiterleitung teil Ihres Server-Setups ist, können Sie diese Kontrolle in den Einstellungen deaktivieren."
},
"Error034": {
- "message": "E034: Lesezeichendatei ist nicht erreichbar. Haben Sie vergessen eine Verschlüsselungspassphrase anzugeben?"
+ "message": "E034: Die entfernte Lesezeichendatei ist nicht erreichbar. Haben Sie vergessen eine Verschlüsselungspassphrase anzugeben?"
},
"Error035": {
"message": "E035: Das folgende Lesezeichen konnte nicht auf dem Server erstellt werden: {0}"
},
+ "Error036": {
+ "message": "E036: Fehlende Berechtigungen für den Zugriff auf den Sync-Server"
+ },
"LabelWebdavurl": {
"message": "WebDAV-URL"
},
@@ -246,7 +249,7 @@
"message": "Nextcloud Bookmarks"
},
"DescriptionAdapternextcloudfolders": {
- "message": "Die Option \"Nextcloud Bookmarks\" ist kompatibel mit mindestens Version v0.14 der Bookmarks-App, die nur http- und ftp-Lesezeichen synchronisieren kann."
+ "message": "Die Option \"Nextcloud-Lesezeichen\" synchronisiert Ihre Lesezeichen mit der Lesezeichen-App für Nextcloud. Es können nur http und ftp Lesezeichen synchronisiert werden. Stellen Sie sicher, dass Sie die Lesezeichen-App aus dem Nextcloud-App-Store in Ihrer Nextcloud installiert haben."
},
"LabelAdapternextcloud": {
"message": "Nextcloud Bookmarks (alte Version)"
@@ -258,17 +261,11 @@
"message": "WebDAV-Freigabe"
},
"DescriptionAdapterwebdav": {
- "message": "Die WebDAV-Option synchronisiert die Lesezeichen in einer Datei in der angegebenen WebDAV-Freigabe. Es gibt keine Weboberfläche für diese Option und sie kann mit jedem WebDAV-kompatiblen Server genutzt werden. Sie kann http, ftp, Daten und Javascript-Lesezeichen synchronisieren."
+ "message": "Die WebDAV-Option synchronisiert die Lesezeichen in einer Datei in der angegebenen WebDAV-Freigabe. Es gibt keine Weboberfläche für diese Option und sie kann mit jedem WebDAV-kompatiblen Server genutzt werden. Es können http-, ftp-, Daten-, Datei- und Javascript-Lesezeichen synchronisiert werden."
},
"LabelAddaccount": {
"message": "Konto hinzufügen"
},
- "LabelSecurecredentials": {
- "message": "Zugangsdaten absichern"
- },
- "LabelSecuredcredentials": {
- "message": "Deine Anmeldedaten sind sicher"
- },
"LabelOpenintab": {
"message": "In Tab öffnen"
},
@@ -287,12 +284,6 @@
"LabelUntitledfolder": {
"message": "Unbenannter Ordner"
},
- "LabelSetkey": {
- "message": "Passphrase für Floccus einstellen"
- },
- "DescriptionSetkey": {
- "message": "Wenn Sie ein Passwort für Floccus setzen, müssen Sie dieses immer beim Browser-Start eingeben, bevor Sie Ihre Lesezeichen synchronisieren oder generell Floccus benutzen können."
- },
"LabelSetkeybutton": {
"message": "Passphrase einstellen"
},
@@ -481,7 +472,7 @@
"message": "Google Drive"
},
"DescriptionAdaptergoogledrive": {
- "message": "Synchronisieren Sie Lesezeichen mittels einer verschlüsselten Datei, die in Ihrem Google Drive gespeichert wird. Synchronisiert werden können http, ftp, data und javascript Lesezeichen."
+ "message": "Synchronisieren Sie Lesezeichen mittels einer verschlüsselten Datei, die in Ihrem Google Drive gespeichert wird. Es können http-, ftp-, Daten-, Datei- und Javascript-Lesezeichen synchronisiert werden."
},
"LabelLogingoogle": {
"message": "Mit Google anmelden"
@@ -650,5 +641,14 @@
},
"DescriptionImportbookmarks": {
"message": "Importieren einer HTML-Datei mit Lesezeichen in den aktuellen Ordner"
+ },
+ "LabelExportBookmarks": {
+ "message": "Lesezeichen exportieren"
+ },
+ "DescriptionExportBookmarks" : {
+ "message": "Sie können alle Lesezeichen in diesem Konto als HTML-Datei exportieren, die mit allen gängigen Browsern kompatibel ist."
+ },
+ "LabelShareitem": {
+ "message": "Teilen"
}
}
diff --git a/_locales/en/messages.json b/_locales/en/messages.json
index ff84181d11..5c1b2bb911 100644
--- a/_locales/en/messages.json
+++ b/_locales/en/messages.json
@@ -90,7 +90,7 @@
"message": "E030: Failed to decrypt bookmarks file. The passphrase may be wrong or the file may be corrupted."
},
"Error031": {
- "message": "E031: Could not authenticate with Google Drive. Please connect floccus with your google account again."
+ "message": "E031: Could not authenticate with Google Drive. Please connect floccus with your Google account again."
},
"Error032": {
"message": "E032: OAuth error. Token validation error. Please reconnect your Google Account."
@@ -99,11 +99,14 @@
"message": "E033: Redirect detected. Please make sure the server supports the selected sync method and URL you entered is correct doesn't redirect to a different location. If the redirect is part of your setup, you can disable this check in the settings."
},
"Error034": {
- "message": "E034: Bookmarks file is unreadable. Did you forget to set an encryption passphrase?"
+ "message": "E034: Remote bookmarks file is unreadable. Did you forget to set an encryption passphrase?"
},
"Error035": {
"message": "E035: Failed to create the following bookmark on the server: {0}"
},
+ "Error036": {
+ "message": "E036: Missing permissions to access the sync server"
+ },
"LabelWebdavurl": {
"message": "WebDAV URL"
},
@@ -129,16 +132,22 @@
"message": "the file name of the bookmarks file that will reside in your Google Drive (make sure this name is unique in your Drive)"
},
"LabelServerfolder": {
- "message": "Server folder"
+ "message": "Server target"
},
"DescriptionServerfolder": {
- "message": "This is the path prefix under which this account will operate on the server. Leave this empty to use no prefix at all."
+ "message": "When syncing, your bookmarks in this browser will be stored as links under this path on the server. Note, that this path represents a folder in the Nextcloud Bookmarks app, not a folder in Nextcloud Files. Leave this empty to just put all links in the topmost folder on the server."
+ },
+ "LabelLocaltarget": {
+ "message": "Local target"
+ },
+ "DescriptionLocaltarget": {
+ "message": "Choose here, whether you want to sync browser bookmarks, or browser tabs."
},
"LabelLocalfolder": {
- "message": "Local folder"
+ "message": "Bookmarks folder"
},
"DescriptionLocalfolder": {
- "message": "This is the local bookmarks folder in this browser that will be synced to the server. Note that some browser don't allow creating new items under the root folder (e.g. Firefox and Google Chrome)"
+ "message": "Bookmarks in this bookmarks folder will be stored as links on the server and links on the server will be stored as bookmarks in this bookmarks folder in this browser."
},
"LabelRootfolder": {
"message": "Root folder"
@@ -155,6 +164,9 @@
"LabelCancelsync": {
"message": "Cancel sync"
},
+ "LabelSyncall": {
+ "message": "Sync all profiles"
+ },
"LabelAutosync": {
"message": "Auto-sync"
},
@@ -176,6 +188,9 @@
"StatusSyncing": {
"message": "Syncing"
},
+ "StatusScheduled": {
+ "message": "Scheduled"
+ },
"LabelReset": {
"message": "Reset"
},
@@ -189,10 +204,10 @@
"message": "Set an existing folder to sync"
},
"LabelRemoveaccount": {
- "message": "Remove account"
+ "message": "Remove profile"
},
"DescriptionRemoveaccount": {
- "message": "Delete this account (this will not remove your bookmarks)"
+ "message": "Delete this profile (this will not remove your bookmarks)"
},
"LabelSyncfromscratch": {
"message": "Trigger sync from scratch"
@@ -246,13 +261,13 @@
"message": "Nextcloud Bookmarks"
},
"DescriptionAdapternextcloudfolders": {
- "message": "The option 'Nextcloud Bookmarks' is compatible with at least version v0.14 of the Bookmarks app. It can only sync http and ftp bookmarks."
+ "message": "The option 'Nextcloud Bookmarks' syncs your bookmarks with the Bookmarks app for Nextcloud. It can only sync http and ftp bookmarks. Make sure you have installed the Bookmarks app from the Nextcloud app store in your Nextcloud."
},
"LabelAdapternextcloud": {
"message": "Nextcloud Bookmarks (legacy)"
},
"DescriptionAdapternextcloud": {
- "message": "The legacy option is compatible with at least version v0.11 of the Bookmarks app. It will emulate folders using tags containing the folder path. It is not recommended to use this for new accounts."
+ "message": "The legacy option is compatible with at least version v0.11 of the Bookmarks app. It will emulate folders using tags containing the folder path. It is not recommended to use this for new profiles."
},
"LabelAdapterwebdav": {
"message": "WebDAV share"
@@ -261,13 +276,7 @@
"message": "The WebDAV option syncs your bookmarks by storing them in a file in the provided WebDAV share. There is no accompanying web UI for this option and you can use it with any WebDAV-compatible server. It can sync http, ftp, data, file and javascript bookmarks."
},
"LabelAddaccount": {
- "message": "Add account"
- },
- "LabelSecurecredentials": {
- "message": "Secure your credentials"
- },
- "LabelSecuredcredentials": {
- "message": "Your credentials are secure"
+ "message": "Add profile"
},
"LabelOpenintab": {
"message": "Open in tab"
@@ -287,12 +296,6 @@
"LabelUntitledfolder": {
"message": "Untitled folder"
},
- "LabelSetkey": {
- "message": "Set a passphrase for floccus"
- },
- "DescriptionSetkey": {
- "message": "When you set a passphrase you will have to enter this pass phrase everytime you start your browser if you want to access and synchronize your bookmarks, change your settings or do anything else with floccus."
- },
"LabelSetkeybutton": {
"message": "Set passphrase"
},
@@ -322,7 +325,7 @@
},
"LabelOptionsscreen": {
"message": "{0} options",
- "description": "Title of the options screen. The placeholder holds the account type."
+ "description": "Title of the options screen. The placeholder holds the profile type."
},
"LabelPaypal": {
"message": "Paypal"
@@ -349,7 +352,7 @@
"message": "Make a regular donation via GitHub sponsors to support the project"
},
"LegacyAdapterDeprecation": {
- "message": "This legacy account type is deprecated and will soon be removed. Please switch to the new nextcloud sync method. Improved performance and accuracy await you."
+ "message": "This legacy profile type is deprecated and will soon be removed. Please switch to the new nextcloud sync method. Improved performance and accuracy await you."
},
"LabelUpdated": {
"message": "Floccus was updated"
@@ -373,16 +376,16 @@
"message": "Dangerous actions"
},
"LabelAccountDeleted": {
- "message": "Account deleted"
+ "message": "Profile deleted"
},
"DescriptionAccountDeleted": {
- "message": "This account was deleted"
+ "message": "This profile was deleted"
},
"LabelNoAccount": {
- "message": "No accounts here"
+ "message": "No profiles here"
},
"DescriptionNoAccount": {
- "message": "Create a new account to sync your bookmarks or import accounts from a different device or browser."
+ "message": "Create a new profile to sync your bookmarks or import profiles from a different device or browser."
},
"LabelLoginFlowStart": {
"message": "Sign in with Nextcloud"
@@ -394,40 +397,43 @@
"message": "Nextcloud login failed"
},
"LabelNewAccount": {
- "message": "New Account"
+ "message": "New Profile"
},
"LabelNestedSync": {
- "message": "Nested accounts"
+ "message": "Nested profiles"
},
"DescriptionNestedSync": {
- "message": "You can nest accounts so that a parent folder belongs to account A and a sub folder to account A and B. Do you want to allow other accounts to sync this account's folder as well?"
+ "message": "You can nest profiles so that a parent folder belongs to profile A and a sub folder to profile A and B. Do you want to allow other profiles to sync this profile's folder as well?"
},
"LabelNestedSyncNo": {
- "message": "No, ignore this account's folder in other accounts"
+ "message": "No, ignore this profile's folder in other profiles"
},
"LabelNestedSyncYes": {
- "message": "Yes, include this account's folder in other accounts"
+ "message": "Yes, include this profile's folder in other profiles"
},
"LabelImportExport": {
- "message": "Import/Export Accounts"
+ "message": "Import/Export Profiles"
},
"LabelExport": {
- "message": "Export accounts"
+ "message": "Export profiles"
},
"LabelImport": {
- "message": "Import accounts"
+ "message": "Import profiles"
},
"DescriptionExport": {
- "message": "Select accounts below that you would like to export to a file, so you can easily re-create the same accounts on a different device or browser."
+ "message": "Select profiles below that you would like to export to a file, so you can easily re-create the same profiles on a different device or browser."
},
"DescriptionImport": {
- "message": "Import a file with exported accounts here to re-create accounts exported on a different device or browser. Please make sure to set the correct sync folders again after importing."
+ "message": "Import a file with exported profiles here to re-create profiles exported on a different device or browser. Please make sure to set the correct sync folders again after importing."
},
"LabelFolderNotFound": {
"message": "Folder not found"
},
"LabelSyncTabs": {
- "message": "Sync Tabs"
+ "message": "Browser tabs"
+ },
+ "DescriptionSyncTabs": {
+ "message": "Links that are stored on the server will be opened as browser tabs in your browser and existing open browser tabs are stored as links on your server. Note that depending how many links are stored on the server, since they will all be opened as tabs on the next sync run, this may possibly overwhelm your browser."
},
"LabelTabs": {
"message": "Tabs"
@@ -475,7 +481,7 @@
"message": "Disabled. Allow the removal of more than 50% of my local bookmarks without confirming with me."
},
"StatusFailsafeoff": {
- "message": "Failsafe disabled. You are at risk for unintended data loss. It is recommended to enable the failsafe in the account settings."
+ "message": "Failsafe disabled. You are at risk for unintended data loss. It is recommended to enable the failsafe in the profile settings."
},
"LabelAdaptergoogledrive": {
"message": "Google Drive"
@@ -628,7 +634,10 @@
"message": "How do you want syncing to work?"
},
"LabelAccountcreated": {
- "message": "Account created"
+ "message": "Profile created"
+ },
+ "DescriptionAccountcreated": {
+ "message": "Your profile has been created. You can close this tab now."
},
"DescriptionNonhttps": {
"message": "You have entered a server that uses an insecure protocol. It is recommended to only use servers with support for HTTPS."
@@ -655,9 +664,12 @@
"message": "Export Bookmarks"
},
"DescriptionExportBookmarks" : {
- "message": "You can export all bookmarks in this account as a HTML file compatible with all major browsers."
+ "message": "You can export all bookmarks in this profile as a HTML file compatible with all major browsers."
},
"LabelShareitem": {
"message": "Share"
+ },
+ "LabelImportsuccessful": {
+ "message": "Successfully imported profile(s)"
}
}
diff --git a/_locales/gl/messages.json b/_locales/gl/messages.json
new file mode 100644
index 0000000000..479cced041
--- /dev/null
+++ b/_locales/gl/messages.json
@@ -0,0 +1,663 @@
+{
+ "Error001": {
+ "message": "E001: O cartafol no que crear non existe"
+ },
+ "Error002": {
+ "message": "E002: O marcador para actualizar xa non existe"
+ },
+ "Error003": {
+ "message": "E003: O cartafol do que se debe mover non existe. Isto é unha anomalía. Parabéns."
+ },
+ "Error004": {
+ "message": "E004: O cartafol ao que mover non existe"
+ },
+ "Error005": {
+ "message": "E005: O cartafol no que crear non existe"
+ },
+ "Error006": {
+ "message": "E006: O cartafol para actualizar non existe"
+ },
+ "Error007": {
+ "message": "E007: O cartafol para mover non existe"
+ },
+ "Error008": {
+ "message": "E008: O cartafol do que se debe mover non existe."
+ },
+ "Error009": {
+ "message": "E009: O cartafol ao que mover non existe"
+ },
+ "Error010": {
+ "message": "E010: Non foi posíbel atopar o cartafol para ordenar"
+ },
+ "Error011": {
+ "message": "E011: O elemento na ordenación do cartafol non é un fillo real: {0}"
+ },
+ "Error012": {
+ "message": "E012: Na ordenación do cartafol faltan algúns dos fillos do cartafol"
+ },
+ "Error013": {
+ "message": "E013: O cartafol para retirar non existe"
+ },
+ "Error014": {
+ "message": "E014: O cartafol principal do que eliminar o cartafol non existe"
+ },
+ "Error015": {
+ "message": "E015: Datos de resposta non agardados do servidor"
+ },
+ "Error016": {
+ "message": "E016: Esgotouse o tempo de espera da solicitude. Comprobe a configuración do servidor"
+ },
+ "Error017": {
+ "message": "E017: Erro de rede: Comprobe a conexión de rede e os detalles da súa conta"
+ },
+ "Error018": {
+ "message": "E018: Non foi posíbel autenticar co servidor."
+ },
+ "Error019": {
+ "message": "E019: Estado HTTP {0}. Fallo na solicitude {1}. Comprobe a configuración e o rexistro do servidor."
+ },
+ "Error020": {
+ "message": "E020: Non foi posíbel analizar a resposta do servidor. Está instalada no servidor a aplicación de marcadores?"
+ },
+ "Error021": {
+ "message": "E021: Estado do incoherente do servidor. O cartafol está presente na lista de cartafoles secundarios mais non na árbore de cartafoles"
+ },
+ "Error022": {
+ "message": "E022: O cartafol {0} supostamente contén un marcador {1} inexistente"
+ },
+ "Error023": {
+ "message": "E023: Non é posíbel borrar o ficheiro de bloqueo, considere eliminar {0} manualmente."
+ },
+ "Error024": {
+ "message": "E024: Estado HTTP {0} ao tentar determinar o estado do ficheiro de bloqueo {1}"
+ },
+ "Error025": {
+ "message": "E025: A configuración do ficheiro de marcadores non debe comezar cunha barra: «/»"
+ },
+ "Error026": {
+ "message": "E026: Estado HTTP {0}. Produciuse un erro ao recuperar os marcadores"
+ },
+ "Error027": {
+ "message": "E027: O proceso de sincronización foi interrompido"
+ },
+ "Error028": {
+ "message": "E028: Non foi posíbel autenticar co servidor."
+ },
+ "Error029": {
+ "message": "E029: A proba de fallos: a execución de sincronización actual eliminaría o {0}% dos marcadores. Rexeitouse a execución. Desactive esta función de seguranza na configuración da conta se quere continuar de todos os xeitos."
+ },
+ "Error030": {
+ "message": "E030: Produciuse un fallo ao descifrar o ficheiro de marcadores. É posíbel que a frase de contrasinal sexa incorrecta ou que o ficheiro estea estragado."
+ },
+ "Error031": {
+ "message": "E031: Non foi posíbel autenticar con Google Drive. Conecte Floccus coa súa conta de Google de novo."
+ },
+ "Error032": {
+ "message": "E032: Erro de OAuth. Produciuse un erro de validación do testemuño. Volva conectar a súa conta de Google."
+ },
+ "Error033": {
+ "message": "E033: Detectouse unha redirección. Asegúrese de que o servidor admite o método de sincronización seleccionado e que o URL que introduciu sexa correcto e non redirixa a unha localización diferente. Se a redirección forma parte da súa configuración, pode desactivar esta comprobación na configuración."
+ },
+ "Error034": {
+ "message": "E034: O ficheiro remoto de marcadores non é lexíbel. Esqueceu definir unha frase de contrasinal de cifrado?"
+ },
+ "Error035": {
+ "message": "E035: Produciuse un erro ao crear o seguinte marcador no servidor: {0}"
+ },
+ "Error036": {
+ "message": "E036: Faltan permisos para acceder ao servidor de sincronización"
+ },
+ "LabelWebdavurl": {
+ "message": "URL de WebDAV"
+ },
+ "DescriptionWebdavurl": {
+ "message": "p. ex. con Nextcloud: https://example.com/remote.php/webdav/"
+ },
+ "LabelNextcloudurl": {
+ "message": "URL de Nextcloud"
+ },
+ "LabelUsername": {
+ "message": "Nome de usuario"
+ },
+ "LabelPassword": {
+ "message": "Contrasinal"
+ },
+ "LabelBookmarksfile": {
+ "message": "Ruta do ficheiro de marcadores"
+ },
+ "DescriptionBookmarksfile": {
+ "message": "unha ruta ao ficheiro de marcadores relativo ao URL de WebDAV (xa deben existir todos os cartafoles da ruta). p. ex. cousas_persoais/bookmarks.xbel"
+ },
+ "DescriptionBookmarksfilegoogle": {
+ "message": "o nome do ficheiro de marcadores que residirá no seu Google Drive (asegúrese de que este nome é único no seu Drive)"
+ },
+ "LabelServerfolder": {
+ "message": "Servidor de destino"
+ },
+ "DescriptionServerfolder": {
+ "message": "Ao sincronizar, os marcadores neste navegador almacenaranse como ligazóns nesta ruta no servidor. Teña en conta que esta ruta representa un cartafol na aplicación Marcadores de Nextcloud, non un cartafol en Ficheiros de Nextcloud. Deixe isto baleiro para poñer todas as ligazóns no cartafol superior do servidor."
+ },
+ "LabelLocaltarget": {
+ "message": "Destino local"
+ },
+ "DescriptionLocaltarget": {
+ "message": "Escolla aquí se quere sincronizar os marcadores ou as lapelas do navegador."
+ },
+ "LabelLocalfolder": {
+ "message": "Cartafol de marcadores"
+ },
+ "DescriptionLocalfolder": {
+ "message": "Os marcadores deste cartafol de marcadores almacenaranse como ligazóns no servidor e as ligazóns do servidor almacenaranse como marcadores neste cartafol de marcadores neste navegador."
+ },
+ "LabelRootfolder": {
+ "message": "Cartafol raíz"
+ },
+ "LabelNewfolder": {
+ "message": "Cartafol recén creado"
+ },
+ "LabelOptions": {
+ "message": "Opcións"
+ },
+ "LabelSyncnow": {
+ "message": "Sincronizar agora"
+ },
+ "LabelCancelsync": {
+ "message": "Cancelar a sincronización"
+ },
+ "LabelAutosync": {
+ "message": "Sincronización automática"
+ },
+ "StatusLastsynced": {
+ "message": "Última sincronización: hai {0}"
+ },
+ "StatusNeversynced": {
+ "message": "Aínda sen sincronizar"
+ },
+ "StatusAllgood": {
+ "message": "Todo ben"
+ },
+ "StatusDisabled": {
+ "message": "Desactivado"
+ },
+ "StatusError": {
+ "message": "Erro"
+ },
+ "StatusSyncing": {
+ "message": "Sincronizando"
+ },
+ "LabelReset": {
+ "message": "Restabelecer"
+ },
+ "DescriptionReset": {
+ "message": "Restabelecer o cartafol sincronizado para crear un novo"
+ },
+ "LabelChoosefolder": {
+ "message": "Escoller un cartafol"
+ },
+ "DescriptionChoosefolder": {
+ "message": "Definir un cartafol existente para sincronizar"
+ },
+ "LabelRemoveaccount": {
+ "message": "Retirar a conta"
+ },
+ "DescriptionRemoveaccount": {
+ "message": "Eliminar esta conta (isto non eliminará os marcadores)"
+ },
+ "LabelSyncfromscratch": {
+ "message": "Activar a sincronización dende cero"
+ },
+ "LabelResetCache": {
+ "message": "Restabelecer a caché"
+ },
+ "DescriptionResetcache": {
+ "message": "Marque esta caixa para restabelecer a caché para que a seguinte execución de sincronización non elimine ningún dato e só combine os marcadores locais e o servidor."
+ },
+ "LabelParallelsync": {
+ "message": "Acelerar a sincronización"
+ },
+ "DescriptionParallelsync": {
+ "message": "Marque esta caixa para procesar varios cartafoles en paralelo para acelerar a sincronización. Esta función é experimental e dificulta a lectura dos rexistros de depuración."
+ },
+ "LabelStrategy": {
+ "message": "Estratexia de sincronización"
+ },
+ "DescriptionStrategy": {
+ "message": "Esta opción determina como sincronizar os marcadores en diferentes dispositivos. Normalmente quererá manter os cambios de todos os lados se son compatíbeis, mais ás veces pode querer sobrescribir os cambios (incluíndo engadidos e eliminacións) doutros navegadores ou sobrescribir os cambios que teña feito localmente."
+ },
+ "LabelStrategydefault": {
+ "message": "Combinar sempre os cambios locais cos cambios doutros navegadores (recomendado)"
+ },
+ "LabelStrategyslave": {
+ "message": "Desfacer sempre os cambios locais e descargar os cambios doutros navegadores"
+ },
+ "LabelStrategyoverwrite": {
+ "message": "Enviar sempre os cambios locais e desfacer os cambios doutros navegadores"
+ },
+ "LabelSave": {
+ "message": "Gardar"
+ },
+ "LabelCancel": {
+ "message": "Cancelar"
+ },
+ "LabelAdd": {
+ "message": "Engadir"
+ },
+ "LabelChange": {
+ "message": "Cambiar"
+ },
+ "LabelRemove": {
+ "message": "Retirar"
+ },
+ "LabelBack": {
+ "message": "Artrás"
+ },
+ "LabelAdapternextcloudfolders": {
+ "message": "Marcadores de Nextcloud"
+ },
+ "DescriptionAdapternextcloudfolders": {
+ "message": "A opción «Marcadores de Nextcloud» sincroniza os marcadores coa aplicación Marcadores de Nextcloud. Só pode sincronizar os marcadores http e ftp. Asegúrese de ter instalado a aplicación Marcadores da tenda de aplicacións de Nextcloud na súa instancia de Nextcloud."
+ },
+ "LabelAdapternextcloud": {
+ "message": "Marcadores de Nextcloud (herdados)"
+ },
+ "DescriptionAdapternextcloud": {
+ "message": "A opción herdada é compatíbel polo menos coa versión v0.11 da aplicación Marcadores. Emulará cartafoles usando etiquetas que conteñan a ruta do cartafol. Non se recomenda usar isto para contas novas."
+ },
+ "LabelAdapterwebdav": {
+ "message": "Compartir con WebDAV"
+ },
+ "DescriptionAdapterwebdav": {
+ "message": "A opción WebDAV sincroniza os marcadores almacenándoos nun ficheiro no recurso compartido WebDAV fornecido. Non hai unha interface de usuario web para esta opción e pode usala con calquera servidor compatíbel con WebDAV. Pode sincronizar os marcadores http, ftp, datos, ficheiros e javascript."
+ },
+ "LabelAddaccount": {
+ "message": "Engadir unha conta"
+ },
+ "LabelOpenintab": {
+ "message": "Abrir na lapela"
+ },
+ "LabelDebuglogs": {
+ "message": "Rexistros de depuración"
+ },
+ "LabelFunddevelopment": {
+ "message": "Recadación de fondos"
+ },
+ "DescriptionFunddevelopment": {
+ "message": "O traballo en Floccusfloccus fomentase cun modelo de subscrición voluntaria. Se pensa que o que fago paga a pena e pode dispoñer dalgún carto cada mes sen dificultades, apoie o meu traballo. Ademais, considere darlle a Floccus unha valoración na tenda de engadidos da súa escolle. Grazas!💙"
+ },
+ "LabelSelect": {
+ "message": "Seleccionar"
+ },
+ "LabelUntitledfolder": {
+ "message": "Cartafol sen título"
+ },
+ "LabelSetkeybutton": {
+ "message": "Definir a frase de contrasinal"
+ },
+ "LabelKey": {
+ "message": "Introduza a frase de contrasinal de desbloqueo"
+ },
+ "LabelKey2": {
+ "message": "Introduza a frase de contrasinal por segunda vez"
+ },
+ "LabelUnlock": {
+ "message": "Desbloquear Floccus"
+ },
+ "LabelRemovekey": {
+ "message": "Retirar a frase de contrasinal"
+ },
+ "LabelRemovedkey": {
+ "message": "Retirouse a frase de contrasinal"
+ },
+ "LabelSyncinterval": {
+ "message": "Intervalo de sincronización"
+ },
+ "DescriptionSyncinterval": {
+ "message": "O intervalo de tempo entre dúas sincronizacións en minutos. O predeterminado é 15 minutos."
+ },
+ "LabelChooseadapter": {
+ "message": "Como quere sincronizar?"
+ },
+ "LabelOptionsscreen": {
+ "message": "{0} opcións",
+ "description": "Title of the options screen. The placeholder holds the account type."
+ },
+ "LabelPaypal": {
+ "message": "Paypal"
+ },
+ "DescriptionPaypal": {
+ "message": "Faga unha única doazón a través de PayPal para colaborar co proxecto"
+ },
+ "LabelOpencollective": {
+ "message": "OpenCollective"
+ },
+ "DescriptionOpencollective": {
+ "message": "Faga unha doazón regular a través de OpenCollective para colaborar co proxecto"
+ },
+ "LabelLiberapay": {
+ "message": "Liberapay"
+ },
+ "DescriptionLiberapay": {
+ "message": "Faga unha doazón regular a través de Liberapay para colaborar co proxecto"
+ },
+ "LabelGithubsponsors": {
+ "message": "Patrocinadores de GitHub"
+ },
+ "DescriptionGithubsponsors": {
+ "message": "Faga unha doazón regular a través dos patrocinadores de GitHub para colaborar co proxecto"
+ },
+ "LegacyAdapterDeprecation": {
+ "message": "Este tipo de conta herdado está en desuso e vai ser eliminado en pouco tempo. Cambie ao novo método de sincronización de Nextcloud. Agárdanlle melloras de rendemento e precisión."
+ },
+ "LabelUpdated": {
+ "message": "Floccus foi actualizado"
+ },
+ "DescriptionUpdated": {
+ "message": "Parabéns, a última actualización de Floccus xa está na súa máquina."
+ },
+ "LabelReleaseNotes": {
+ "message": "Lea as notas de publicación"
+ },
+ "LabelOptionsServerDetails": {
+ "message": "Detalles do servidor"
+ },
+ "LabelOptionsFolderMapping": {
+ "message": "Asignación de cartafoles"
+ },
+ "LabelOptionsSyncBehavior": {
+ "message": "Comportamento da sincronización"
+ },
+ "LabelOptionsDangerous": {
+ "message": "Accións perigosas"
+ },
+ "LabelAccountDeleted": {
+ "message": "Conta eliminada"
+ },
+ "DescriptionAccountDeleted": {
+ "message": "Esta conta foi eliminada"
+ },
+ "LabelNoAccount": {
+ "message": "Aquí non hai ningunha conta"
+ },
+ "DescriptionNoAccount": {
+ "message": "Crea unha conta nova para sincronizar os marcadores ou importar contas dende un dispositivo ou navegador diferente."
+ },
+ "LabelLoginFlowStart": {
+ "message": "Acceder con Nextcloud"
+ },
+ "LabelLoginFlowStop": {
+ "message": "Interromper o acceso a Nextcloud"
+ },
+ "LabelLoginFlowError": {
+ "message": "Produciuse n fallo ao acceder a Nextcloud"
+ },
+ "LabelNewAccount": {
+ "message": "Nova conta"
+ },
+ "LabelNestedSync": {
+ "message": "Contas aniñadas"
+ },
+ "DescriptionNestedSync": {
+ "message": "Pode aniñar contas para que un cartafol principal pertenza á conta A e un subcartafol á conta A e B. Quere permitir que outras contas sincronicen tamén o cartafol desta conta?"
+ },
+ "LabelNestedSyncNo": {
+ "message": "Non, ignorar o cartafol desta conta noutras contas"
+ },
+ "LabelNestedSyncYes": {
+ "message": "Si, incluír o cartafol desta conta noutras contas"
+ },
+ "LabelImportExport": {
+ "message": "Importar/Exportar contas"
+ },
+ "LabelExport": {
+ "message": "Exportar contas"
+ },
+ "LabelImport": {
+ "message": "Importar contas"
+ },
+ "DescriptionExport": {
+ "message": "Seleccione a seguir as contas que quere exportar a un ficheiro, de xeito que poida volver crear doadamente as mesmas contas nun dispositivo ou navegador diferente."
+ },
+ "DescriptionImport": {
+ "message": "Importe aquí un ficheiro coas contas exportadas para volver crear contas exportadas nun dispositivo ou navegador diferente. Asegúrese de configurar de novo os cartafoles de sincronización correctos após importar."
+ },
+ "LabelFolderNotFound": {
+ "message": "Non se atopou o cartafol"
+ },
+ "LabelSyncTabs": {
+ "message": "Lapelas do navegador"
+ },
+ "DescriptionSyncTabs": {
+ "message": "As ligazóns que se almacenan no servidor abriranse como lapelas do navegador no seu navegador e as lapelas abertas existentes almacénanse como ligazóns no seu servidor. Teña en conta que, dependendo de cantas ligazóns se almacenen no servidor, abriranse todas na seguinte sincronización, isto podería desbordar o seu navegador."
+ },
+ "LabelTabs": {
+ "message": "Lapelas"
+ },
+ "LabelSyncDown": {
+ "message": "Empurrar cara abaixo"
+ },
+ "DescriptionSyncDown": {
+ "message": "Descarga os cambios doutros navegadores e sobrescribe os cambios locais"
+ },
+ "LabelSyncUp": {
+ "message": "Empurrar cara arriba"
+ },
+ "DescriptionSyncUp": {
+ "message": "Envia os cambios locais e sobrescribe os cambios doutros navegadores"
+ },
+ "LabelSyncDownOnce": {
+ "message": "Empurrar un cara abaixo"
+ },
+ "LabelSyncUpOnce": {
+ "message": "Empurrar un cara arriba"
+ },
+ "LabelSyncNormal": {
+ "message": "Combinar"
+ },
+ "DescriptionSyncNormal": {
+ "message": "Combinar os cambios locais cos cambios doutros navegadores"
+ },
+ "DescriptionFilesPermission": {
+ "message": "Asegúrese de dar permiso a Floccus non só para usar a aplicación de marcadores senón tamén a aplicación de ficheiros de Nextcloud."
+ },
+ "DescriptionExtension": {
+ "message": "Sincronizar os marcadores de forma privada en navegadores e dispositivos"
+ },
+ "LabelFailsafe": {
+ "message": "A proba de fallos"
+ },
+ "DescriptionFailsafe": {
+ "message": "Ás veces, os erros de configuración ou os erros de software poden provocar a eliminación involuntaria de datos, que após se perden. Para evitar que isto suceda, Floccus non eliminará máis do 50% dos marcadores dunha soa vez, a non ser que desactive aquí esta «a proba de fallos»."
+ },
+ "LabelFailsafeon": {
+ "message": "Activado. Non eliminar máis do 50% dos marcadores locais sen preguntar antes. (Recomendado)"
+ },
+ "LabelFailsafeoff": {
+ "message": "Desactivado. Permitir a eliminación de máis do 50% dos marcadores locais sen preguntar para confirmar."
+ },
+ "StatusFailsafeoff": {
+ "message": "A proba de fallos desactivada. Corre o risco de perder datos de xeito involuntario. Recoméndase activar a proba de fallos na configuración da conta."
+ },
+ "LabelAdaptergoogledrive": {
+ "message": "Google Drive"
+ },
+ "DescriptionAdaptergoogledrive": {
+ "message": "Sincroniza os marcadores mediante un ficheiro cifrado que se almacena no seu Google Drive. Pode sincronizar os marcadores http, ftp, datos, ficheiros e javascript."
+ },
+ "LabelLogingoogle": {
+ "message": "Acceder con Google"
+ },
+ "DescriptionLogingoogle": {
+ "message": "Conecte a súa conta de Google para almacenar o ficheiro de sincronización dos marcadores no seu Google Drive."
+ },
+ "DescriptionLoggedingoogle": {
+ "message": "Conectou a súa conta de Google para almacenar o ficheiro de sincronización dos marcadores no seu Google Drive."
+ },
+ "LabelPassphrase": {
+ "message": "Frase de contrasinal"
+ },
+ "DescriptionPassphrase": {
+ "message": "Definir unha frase de contrasinal para cifrar o ficheiro de marcadores; se non estabelece ningunha frase de contrasinal, non se executará ningún cifrado."
+ },
+ "LabelClientcert": {
+ "message": "Enviar as credenciais do cliente"
+ },
+ "DescriptionClientcert": {
+ "message": "Active esta opción se o seu servidor require un certificado de cliente ou cookies para a autenticación. Isto pode causar efectos secundarios non desexados, xa que Floccus compartirá cookies co seu perfil de navegador normal."
+ },
+ "LabelAllowredirects": {
+ "message": "Permitir redireccións no URL do servidor"
+ },
+ "DescriptionAllowredirects": {
+ "message": "Active esta opción se recibe erros de redirección durante a sincronización, que cree que non son xustificados."
+ },
+ "LabelSearch": {
+ "message": "Buscar marcadores"
+ },
+ "LabelSearchfolder": {
+ "message": "Buscar {0}"
+ },
+ "LabelEdititem": {
+ "message": "Editar"
+ },
+ "LabelDeleteitem": {
+ "message": "Eliminar"
+ },
+ "LabelNobookmarks": {
+ "message": "Aquí non hai marcadores"
+ },
+ "LabelAddbookmark": {
+ "message": "Engadir un marcador"
+ },
+ "LabelEditbookmark": {
+ "message": "Editar o marcador"
+ },
+ "LabelAddfolder": {
+ "message": "Engadir un cartafol"
+ },
+ "LabelEditfolder": {
+ "message": "Editar o cartafol"
+ },
+ "LabelSlugline": {
+ "message": "Sincronización de marcadores privados"
+ },
+ "LabelDownloadlogs": {
+ "message": "Descargar rexistros"
+ },
+ "LabelDownloadfulllogs": {
+ "message": "Rexistros completos"
+ },
+ "LabelDownloadanonymizedlogs": {
+ "message": "Rexistros redactados"
+ },
+ "DescriptionDownloadlogs": {
+ "message": "Floccus rexistra todas as súas accións nun ficheiro de rexistro que pode examinar vostede mesmo ou enviar aos desenvolvedores para fins de depuración. Nos rexistros redactados, os nomes de cartafoles e marcadores, así como os URL, codifícanse de xeito irreversíbel mediante unha función de resumo criptográfico. Cando envíe rexistros redactados, asegúrese de comprobar tamén o ficheiro descargado na busca de datos confidenciais que quizais non poderían non ter sido detectados polo proceso de anonimización."
+ },
+ "ErrorFolderloopselected": {
+ "message": "Non é posíbel mover un cartafol cara a si mesmo"
+ },
+ "ErrorNofolderselected": {
+ "message": "Non se seleccionou ningún cartafol"
+ },
+ "LabelAllownetwork": {
+ "message": "Permitir o uso da rede"
+ },
+ "DescriptionAllownetwork": {
+ "message": "Floccus pode usar a rede ademais de para conectarse ao seu servidor de sincronización, para obter información adicional sobre os teus marcadores (como iconas, etc.). Aquí pode activar o uso da rede."
+ },
+ "LabelMobilesettings": {
+ "message": "Axustes do móbil"
+ },
+ "LabelContinuefloccus":{
+ "message": "Continúar a floco"
+ },
+ "LabelAbout":{
+ "message": "Sobre"
+ },
+ "LabelCurrentversion": {
+ "message": "Versión actual"
+ },
+ "DescriptionCurrentversion": {
+ "message": "A versión instalada actualmente de Floccus é:"
+ },
+ "LabelContributors": {
+ "message": "Colaboradores"
+ },
+ "DescriptionContributors": {
+ "message": "Estas persoas axudaron a facer posíbel Floccus"
+ },
+ "LabelSortcustom": {
+ "message": "Personalizado"
+ },
+ "LabelSorturl": {
+ "message": "Ligazón"
+ },
+ "LabelSorttitle": {
+ "message": "Título"
+ },
+ "LabelSyncmethod": {
+ "message": "Método de sincronización"
+ },
+ "LabelSyncserver": {
+ "message": "Servidor de sincronización"
+ },
+ "LabelSyncfolders": {
+ "message": "Sincronizar cartafoles"
+ },
+ "LabelSyncbehavior": {
+ "message": "Comportamento da sincronización"
+ },
+ "LabelContinue": {
+ "message": "Continuar"
+ },
+ "LabelDone": {
+ "message": "Feito"
+ },
+ "LabelConnect": {
+ "message": "Conectar"
+ },
+ "LabelServersetup": {
+ "message": "Con que servidor quere sincronizar?"
+ },
+ "LabelGoogledrivesetup": {
+ "message": "Acceder a Google Drive"
+ },
+ "LabelSyncfoldersetup": {
+ "message": "Que cartafoles quere sincronizar?"
+ },
+ "LabelSyncbehaviorsetup": {
+ "message": "Como quere que funcione a sincronización?"
+ },
+ "LabelAccountcreated": {
+ "message": "Conta creada"
+ },
+ "DescriptionNonhttps": {
+ "message": "Introduciu un servidor que usa un protocolo inseguro. Recoméndase utilizar só servidores compatíbeis con HTTPS."
+ },
+ "LabelFiletype": {
+ "message": "Formato de ficheiro"
+ },
+ "DescriptionFiletype": {
+ "message": "Pode escoller o formato de ficheiro que quere usar para almacenar os marcadores na nube."
+ },
+ "LabelFiletypehtml": {
+ "message": "HTML, un formato aberto amplamente admitido (experimental)"
+ },
+ "LabelFiletypexbel": {
+ "message": "XBEL, un formato sinxelo e aberto"
+ },
+ "LabelImportbookmarks": {
+ "message": "Importar marcadores"
+ },
+ "DescriptionImportbookmarks": {
+ "message": "Importar un ficheiro HTML que conteña marcadores ao cartafol actual"
+ },
+ "LabelExportBookmarks": {
+ "message": "Exportar marcadores"
+ },
+ "DescriptionExportBookmarks" : {
+ "message": "Pode exportar todos os marcadores desta conta como ficheiro HTML compatíbel con todos os principais navegadores."
+ },
+ "LabelShareitem": {
+ "message": "Compartir"
+ }
+}
diff --git a/_locales/ja/messages.json b/_locales/ja/messages.json
new file mode 100644
index 0000000000..365350a2a8
--- /dev/null
+++ b/_locales/ja/messages.json
@@ -0,0 +1,663 @@
+{
+ "Error001": {
+ "message": "E001: 作成するフォルダーが存在しません"
+ },
+ "Error002": {
+ "message": "E002: アップデートするブックマークは既に存在しません"
+ },
+ "Error003": {
+ "message": "E003: 移動するフォルダーが存在しません。"
+ },
+ "Error004": {
+ "message": "E004: 移動先のフォルダーが存在しません"
+ },
+ "Error005": {
+ "message": "E005: 作成するフォルダーが存在しません"
+ },
+ "Error006": {
+ "message": "E006: アップデートするフォルダーが存在しません"
+ },
+ "Error007": {
+ "message": "E007: 移動するフォルダーが存在しません"
+ },
+ "Error008": {
+ "message": "E008: 移動元のフォルダーが存在しません"
+ },
+ "Error009": {
+ "message": "E009: 移動先のフォルダーが存在しません"
+ },
+ "Error010": {
+ "message": "E010: 並べ替えるフォルダーが見つかりません"
+ },
+ "Error011": {
+ "message": "E011: フォルダー内のアイテムの順序が、実際の子アイテムとは異なります: {0}"
+ },
+ "Error012": {
+ "message": "E012: フォルダーのいくつかの子アイテムは、フォルダーの並び順がありません"
+ },
+ "Error013": {
+ "message": "E013: 削除しようとしているフォルダーは存在しません"
+ },
+ "Error014": {
+ "message": "E014: フォルダーを削除しようとしている親フォルダーは、存在しません"
+ },
+ "Error015": {
+ "message": "E015: 予期せぬデータがサーバーから応答されました"
+ },
+ "Error016": {
+ "message": "E016: リクエストがタイムアウトしました。サーバーの構成を確認してください"
+ },
+ "Error017": {
+ "message": "E017: ネットワークエラー: ネットワーク接続とアカウントの詳細を確認してください"
+ },
+ "Error018": {
+ "message": "E018: サーバーで認証できません。"
+ },
+ "Error019": {
+ "message": "E019: HTTP ステータス {0}。{1} リクエスト失敗。サーバーの構成とログを確認してください。"
+ },
+ "Error020": {
+ "message": "E020: サーバーの応答を解析できませんでした。本当に、サーバーにブックマークアプリがインストールされていますか?"
+ },
+ "Error021": {
+ "message": "E021: 一貫性のないサーバーの状態。フォルダーは子のリストにはありますが、フォルダーツリーにはありません"
+ },
+ "Error022": {
+ "message": "E022: フォルダー {0} に存在しないブックマーク {1} が含まれている可能性があります"
+ },
+ "Error023": {
+ "message": "E023: ロックファイルをクリアできませんでした。{0} を手動で削除してみてください。"
+ },
+ "Error024": {
+ "message": "E024: ロックファイル {1} のステータスを確認中に、HTTP ステータス {0} が発生しました"
+ },
+ "Error025": {
+ "message": "E025: ブックマークファイルの設定は、スラッシュ: '/' で始まってはいけません"
+ },
+ "Error026": {
+ "message": "E026: HTTP ステータス {0}。ブックマークのフェッチに失敗しました"
+ },
+ "Error027": {
+ "message": "E027: 同期のプロセスが中断されました"
+ },
+ "Error028": {
+ "message": "E028: サーバーで認証できません。"
+ },
+ "Error029": {
+ "message": "E029: フィールセーフ: 現在の同期を実行すると、ブックマーク {0}% が削除されます。続行する場合は、アカウント設定でフィールセーフを無効にしてください。"
+ },
+ "Error030": {
+ "message": "E030: ブックマークファイルの復号に失敗しました。パスフレーズが間違っているか、ファイルが破損しています。"
+ },
+ "Error031": {
+ "message": "E031: Google ドライブでクラウドを認証できませんでした。もう一度、floccus を Google アカウントと接続してください。"
+ },
+ "Error032": {
+ "message": "E032: OAuth エラー。トークンの検証でエラーが発生しました。もう一度、Google アカウントと接続してください。"
+ },
+ "Error033": {
+ "message": "E033: リダイレクトが検出されました。サーバーが選択した同期の方法に対応していて、入力した URL が正確であることを確認し、間違った場所にリダイレクトされていないことを確認してください。もし、予期した通りにリダイレクトされている場合、設定でリダイレクトの確認を無効にできます。"
+ },
+ "Error034": {
+ "message": "E034: リモートのブックマークを読み取れません。暗号化パスフレーズを忘れましたか?"
+ },
+ "Error035": {
+ "message": "E035: 次のブックマークのサーバーへの作成に失敗しました: {0}"
+ },
+ "LabelWebdavurl": {
+ "message": "WebDAV URL"
+ },
+ "DescriptionWebdavurl": {
+ "message": "Nextcloud の例: https://example.com/remote.php/webdav/"
+ },
+ "LabelNextcloudurl": {
+ "message": "Nextcloud URL"
+ },
+ "LabelUsername": {
+ "message": "ユーザー名"
+ },
+ "LabelPassword": {
+ "message": "パスワード"
+ },
+ "LabelBookmarksfile": {
+ "message": "ブックマークファイルのパス"
+ },
+ "DescriptionBookmarksfile": {
+ "message": "WebDAV URL からのブックマークファイルの相対パス (パスのすべてのフォルダーがすでに存在していなければなりません) 例: personal_stuff/bookmarks.xbel"
+ },
+ "DescriptionBookmarksfilegoogle": {
+ "message": "Googleドライブに保存するブックマークファイルの名前 (ドライブ内でファイル名が重複していないことを確認してください)"
+ },
+ "LabelServerfolder": {
+ "message": "サーバーフォルダー"
+ },
+ "DescriptionServerfolder": {
+ "message": "アカウントがサーバー上で動作するためのパスのプレフィックスです。プレフィックスを使用しない場合は空欄のままにしてください。"
+ },
+ "LabelLocalfolder": {
+ "message": "ローカルフォルダー"
+ },
+ "DescriptionLocalfolder": {
+ "message": "このブラウザーからはこのローカル ブックマーク フォルダーがサーバーに同期されます。一部のブラウザー (Firefox、Google Chrome など) はルートフォルダーへの新しいアイテムの作成を許可していないことに注意してください"
+ },
+ "LabelRootfolder": {
+ "message": "ルートフォルダー"
+ },
+ "LabelNewfolder": {
+ "message": "新しく作成されたフォルダー"
+ },
+ "LabelOptions": {
+ "message": "設定"
+ },
+ "LabelSyncnow": {
+ "message": "今すぐ同期"
+ },
+ "LabelCancelsync": {
+ "message": "同期をキャンセル"
+ },
+ "LabelAutosync": {
+ "message": "自動同期"
+ },
+ "StatusLastsynced": {
+ "message": "最終同期: [0]前"
+ },
+ "StatusNeversynced": {
+ "message": "まだ同期していません"
+ },
+ "StatusAllgood": {
+ "message": "同期しました"
+ },
+ "StatusDisabled": {
+ "message": "無効"
+ },
+ "StatusError": {
+ "message": "エラー"
+ },
+ "StatusSyncing": {
+ "message": "同期中"
+ },
+ "LabelReset": {
+ "message": "リセット"
+ },
+ "DescriptionReset": {
+ "message": "同期されたフォルダーをリセットして新しいフォルダーを作成する"
+ },
+ "LabelChoosefolder": {
+ "message": "フォルダーを選択する"
+ },
+ "DescriptionChoosefolder": {
+ "message": "同期対象の既存のフォルダーを選択する"
+ },
+ "LabelRemoveaccount": {
+ "message": "アカウントを削除"
+ },
+ "DescriptionRemoveaccount": {
+ "message": "このアカウントを削除 (ブックマークは削除しません)"
+ },
+ "LabelSyncfromscratch": {
+ "message": "スクラッチしてから同期をトリガー"
+ },
+ "LabelResetCache": {
+ "message": "キャッシュをリセット"
+ },
+ "DescriptionResetcache": {
+ "message": "選択すると、キャッシュがリセットされ、次の同期実行でデータが削除されず、サーバーとローカルのブックマークがマージされるだけになります。"
+ },
+ "LabelParallelsync": {
+ "message": "同期の高速化"
+ },
+ "DescriptionParallelsync": {
+ "message": "選択すると、同期の速度を目的として複数のフォルダーを同時に処理します。これは試験運用版の機能で、デバッグログが読みにくくなります。"
+ },
+ "LabelStrategy": {
+ "message": "同期の方法"
+ },
+ "DescriptionStrategy": {
+ "message": "この設定は他のデバイス上のブックマークとどのように同期するかを設定します。ふつう、互換性のある限りすべての変更を保持したいと考えるはずです。しかし、変更を他のブラウザーからのデータで上書き (追加と削除の両方を含む) したい場合や、ローカルで作成した変更で上書きしたい場合もあるかもしれません。"
+ },
+ "LabelStrategydefault": {
+ "message": "常にローカルの変更と他のブラウザーからの変更をマージ (推奨)"
+ },
+ "LabelStrategyslave": {
+ "message": "常にローカルの変更を取り消し、他のブラウザーから変更をダウンロード"
+ },
+ "LabelStrategyoverwrite": {
+ "message": "常にローカルの変更をアップロードし、他のブラウザーからの変更を取り消す"
+ },
+ "LabelSave": {
+ "message": "保存"
+ },
+ "LabelCancel": {
+ "message": "キャンセル"
+ },
+ "LabelAdd": {
+ "message": "追加"
+ },
+ "LabelChange": {
+ "message": "変更"
+ },
+ "LabelRemove": {
+ "message": "削除"
+ },
+ "LabelBack": {
+ "message": "戻る"
+ },
+ "LabelAdapternextcloudfolders": {
+ "message": "Nextcloud Bookmarks"
+ },
+ "DescriptionAdapternextcloudfolders": {
+ "message": "「Nextcloud Bookmarks」のオプションは Nextclound のブックマークアプリとブックマークを同期します。http と ftp のブックマークのみ同期できます。お使いの Nextcloud でブックマークアプリを Nextcloud アプリストアからインストールしていることを確認してください。"
+ },
+ "LabelAdapternextcloud": {
+ "message": "Nextcloud Bookmarks (レガシー)"
+ },
+ "DescriptionAdapternextcloud": {
+ "message": "レガシーオプションは、バージョン 0.11 以降のブックマークアプリに対応しています。フォルダーのパスを含むタグを使用してフォルダーをエミュレートします。新しいアカウントを作成してこちらを使用することはおすすめできません。"
+ },
+ "LabelAdapterwebdav": {
+ "message": "WebDAV 共有"
+ },
+ "DescriptionAdapterwebdav": {
+ "message": "WebDAV オプションは、提供された WebDAV 共有のファイルにブックマークを保存して同期します。ウェブ UI はなく、任意の WebDAV 互換サーバーで使用できます。http、ftp、データ、ファイル、JavaScript のブックマークを同期できます。"
+ },
+ "LabelAddaccount": {
+ "message": "アカウントを追加"
+ },
+ "LabelSecurecredentials": {
+ "message": "認証情報を保護"
+ },
+ "LabelSecuredcredentials": {
+ "message": "認証情報は保護されています"
+ },
+ "LabelOpenintab": {
+ "message": "タブで開く"
+ },
+ "LabelDebuglogs": {
+ "message": "デバッグログ"
+ },
+ "LabelFunddevelopment": {
+ "message": "開発資金を支援"
+ },
+ "DescriptionFunddevelopment": {
+ "message": "任意のサブスクリプションによって floccus の開発を促進できます。私の活動に価値を感じてくださり、大きな苦労なしに数枚のコインを準備できるようなら、開発を支援してください。お使いになったアドオンストアで floccus を評価していただくこともお考えください。ありがとうございます!💙"
+ },
+ "LabelSelect": {
+ "message": "選択"
+ },
+ "LabelUntitledfolder": {
+ "message": "名前のないフォルダー"
+ },
+ "LabelSetkey": {
+ "message": "floccus にパスフレーズを設定"
+ },
+ "DescriptionSetkey": {
+ "message": "パスフレーズを設定すると、ブックマークを同期したいとき、設定を変更したいときなど floccus に関することをするとき、このパスフレーズをブラウザーを起動するごとに入力する必要があります。"
+ },
+ "LabelSetkeybutton": {
+ "message": "パスフレーズを設定"
+ },
+ "LabelKey": {
+ "message": "ロック解除用のパスフレーズを入力してください"
+ },
+ "LabelKey2": {
+ "message": "パスフレーズをもう一度入力してください"
+ },
+ "LabelUnlock": {
+ "message": "floccu をロック解除"
+ },
+ "LabelRemovekey": {
+ "message": "パスフレーズを削除"
+ },
+ "LabelRemovedkey": {
+ "message": "パスフレーズが削除されました"
+ },
+ "LabelSyncinterval": {
+ "message": "同期間隔"
+ },
+ "DescriptionSyncinterval": {
+ "message": "次の同期までの周期 (分)。デフォルトでは 15 分です。"
+ },
+ "LabelChooseadapter": {
+ "message": "どのように同期しますか?"
+ },
+ "LabelOptionsscreen": {
+ "message": "{0} 件のオプション",
+ "description": "Title of the options screen. The placeholder holds the account type."
+ },
+ "LabelPaypal": {
+ "message": "Paypal"
+ },
+ "DescriptionPaypal": {
+ "message": "Paypal で 1 回限りの寄付をしてプロジェクトを支援する"
+ },
+ "LabelOpencollective": {
+ "message": "OpenCollective"
+ },
+ "DescriptionOpencollective": {
+ "message": "OpenCollective で定期的に寄付をしてプロジェクトを支援する"
+ },
+ "LabelLiberapay": {
+ "message": "Liberapay"
+ },
+ "DescriptionLiberapay": {
+ "message": "Liberapay で定期的に寄付をしてプロジェクトを支援する"
+ },
+ "LabelGithubsponsors": {
+ "message": "GitHub sponsors"
+ },
+ "DescriptionGithubsponsors": {
+ "message": "GitHub sponsors で定期的に寄付をしてプロジェクトを支援する"
+ },
+ "LegacyAdapterDeprecation": {
+ "message": "このレガシーアカウントタイプは非推奨になり、間もなく削除されます。新しい Nextcloud の同期方法に変更してください。改善されたパフォーマンスと精度でななたをお待ちしています。"
+ },
+ "LabelUpdated": {
+ "message": "floccus が更新されました"
+ },
+ "DescriptionUpdated": {
+ "message": "おめでとうございます。floccus の更新がマシンに到着しました!"
+ },
+ "LabelReleaseNotes": {
+ "message": "リリース・ノートを読む"
+ },
+ "LabelOptionsServerDetails": {
+ "message": "サーバーの詳細"
+ },
+ "LabelOptionsFolderMapping": {
+ "message": "フォルダーの関連付け"
+ },
+ "LabelOptionsSyncBehavior": {
+ "message": "同期の動作"
+ },
+ "LabelOptionsDangerous": {
+ "message": "危険なアクション"
+ },
+ "LabelAccountDeleted": {
+ "message": "アカウントが削除されました"
+ },
+ "DescriptionAccountDeleted": {
+ "message": "このアカウントは削除されました"
+ },
+ "LabelNoAccount": {
+ "message": "アカウントがありません"
+ },
+ "DescriptionNoAccount": {
+ "message": "ブックマークを同期するには、新しいアカウントを作成するか、別の端末やブラウザーからアカウントをインポートしてください。"
+ },
+ "LabelLoginFlowStart": {
+ "message": "Nextcloud でログイン"
+ },
+ "LabelLoginFlowStop": {
+ "message": "Nextcloud ログインを中止"
+ },
+ "LabelLoginFlowError": {
+ "message": "Nectcloud ログインに失敗しました"
+ },
+ "LabelNewAccount": {
+ "message": "新しいアカウント"
+ },
+ "LabelNestedSync": {
+ "message": "入れ子アカウント"
+ },
+ "DescriptionNestedSync": {
+ "message": "親フォルダーがアカウント A に属し、子フォルダーがアカウント A と B に属するというように、アカウントを入れ子にすることができます。他のアカウントにこのアカウントのフォルダーを同期することを許可しますか?"
+ },
+ "LabelNestedSyncNo": {
+ "message": "いいえ、他のアカウントではこのアカウントのフォルダーを無視します"
+ },
+ "LabelNestedSyncYes": {
+ "message": "はい、他のアカウントにこのアカウントのフォルダーを含めます"
+ },
+ "LabelImportExport": {
+ "message": "アカウントのインポート/エクスポート"
+ },
+ "LabelExport": {
+ "message": "アカウントをエクスポート"
+ },
+ "LabelImport": {
+ "message": "アカウントをインポート"
+ },
+ "DescriptionExport": {
+ "message": "次から、ファイルにエクスポートするアカウントを選択してください。同じアカウントを別の端末やブラウザーで簡単に再作成できるようになります。"
+ },
+ "DescriptionImport": {
+ "message": "別の端末やブラウザーでファイルにエクスポートしたアカウントを再作成できます。インポートした後、正しい同期フォルダーを再設定してください。"
+ },
+ "LabelFolderNotFound": {
+ "message": "フォルダーが見つかりませんでした"
+ },
+ "LabelSyncTabs": {
+ "message": "タブを同期"
+ },
+ "LabelTabs": {
+ "message": "タブ"
+ },
+ "LabelSyncDown": {
+ "message": "プルダウン"
+ },
+ "DescriptionSyncDown": {
+ "message": "他のブラウザーの変更をダウンロードしてローカルの変更を上書き"
+ },
+ "LabelSyncUp": {
+ "message": "プッシュアップ"
+ },
+ "DescriptionSyncUp": {
+ "message": "ローカルの変更をアップロードして他のブラウザーの変更を上書き"
+ },
+ "LabelSyncDownOnce": {
+ "message": "一度だけプルダウン"
+ },
+ "LabelSyncUpOnce": {
+ "message": "一度だけプッシュアップ"
+ },
+ "LabelSyncNormal": {
+ "message": "マージ"
+ },
+ "DescriptionSyncNormal": {
+ "message": "ローカルの変更と他のブラウザーの変更をマージ"
+ },
+ "DescriptionFilesPermission": {
+ "message": "floccus に、ブックマークアプリを使用する権限だけでなく、Nextcloud ファイルアプリを使用する権限も付与していることを確認してください。"
+ },
+ "DescriptionExtension": {
+ "message": "ブラウザーや端末を超えて、ブックマークをプライベートに同期する"
+ },
+ "LabelFailsafe": {
+ "message": "フィールセーフ"
+ },
+ "DescriptionFailsafe": {
+ "message": "設定のエラーやソフトウエアのバグによって、意図しないデータの削除が行われ、データが失われる場合があります。この問題の発生を防ぐため、ここでフィールセーフを無効にしない限り、floccus は一度に 50% 以上のブックマークを削除しません。"
+ },
+ "LabelFailsafeon": {
+ "message": "有効。確認なしでローカルブックマークの 50% 以上を削除しません。(推奨)"
+ },
+ "LabelFailsafeoff": {
+ "message": "無効。確認なしでローカルブックマークの 50% 以上を削除することを許可します。"
+ },
+ "StatusFailsafeoff": {
+ "message": "フィールセーフが無効になりました。意図しないデータ消失のリスクがあります。アカウント設定でフィールセーフを有効にすることを推奨します。"
+ },
+ "LabelAdaptergoogledrive": {
+ "message": "Google ドライブ"
+ },
+ "DescriptionAdaptergoogledrive": {
+ "message": "あなたの Google ドライブに保存された、暗号化されたファイルを使用してブックマークを同期します。http、ftp、データ、ファイル、JavaScript のブックマークを同期できます。"
+ },
+ "LabelLogingoogle": {
+ "message": "Google でログイン"
+ },
+ "DescriptionLogingoogle": {
+ "message": "Google ドライブにブックマークの同期ファイルを保存するために、Google アカウントに接続してください。"
+ },
+ "DescriptionLoggedingoogle": {
+ "message": "Google ドライブにブックマークの同期ファイルを保存するために、Google アカウントに接続しました。"
+ },
+ "LabelPassphrase": {
+ "message": "パスフレーズ"
+ },
+ "DescriptionPassphrase": {
+ "message": "ブックマークファイルを暗号化するためのパスフレーズを設定してください。パスフレーズを設定しない場合、暗号化は行われません。"
+ },
+ "LabelClientcert": {
+ "message": "クライアント認証情報を送信する"
+ },
+ "DescriptionClientcert": {
+ "message": "サーバーが認証にクライアント証明書または Cookie を要求する場合は、このオプションを有効にしてください。floccus は通常のブラウザーのプロファイルと Cookie を共有するため、予期せぬ副作用を引き起こす場合があります。"
+ },
+ "LabelAllowredirects": {
+ "message": "サーバー URL のリダイレクトを許可する"
+ },
+ "DescriptionAllowredirects": {
+ "message": "不当と考えられるリダイレクトエラーが同期中に発生する場合は、このオプションを有効にしてください。"
+ },
+ "LabelSearch": {
+ "message": "ブックマークを検索"
+ },
+ "LabelSearchfolder": {
+ "message": "検索 {0}"
+ },
+ "LabelEdititem": {
+ "message": "編集"
+ },
+ "LabelDeleteitem": {
+ "message": "削除"
+ },
+ "LabelNobookmarks": {
+ "message": "ブックマークがありません"
+ },
+ "LabelAddbookmark": {
+ "message": "ブックマークを追加"
+ },
+ "LabelEditbookmark": {
+ "message": "ブックマークを編集"
+ },
+ "LabelAddfolder": {
+ "message": "フォルダーを追加"
+ },
+ "LabelEditfolder": {
+ "message": "フォルダーを編集"
+ },
+ "LabelSlugline": {
+ "message": "プライベートなブックマーク同期"
+ },
+ "LabelDownloadlogs": {
+ "message": "ログをダウンロード"
+ },
+ "LabelDownloadfulllogs": {
+ "message": "完全なログ"
+ },
+ "LabelDownloadanonymizedlogs": {
+ "message": "編集されたログ"
+ },
+ "DescriptionDownloadlogs": {
+ "message": "floccus はあなたが調査に利用したり、デバッグの目的で開発者に送信したりするためにすべてのアクションをログファイルに記録しています。編集されたログでは、フォルダーとブックマークの名前、および URL が、暗号化ハッシュ関数を使用して不可逆的にエンコードされます。それでも、編集されたログを送信する際は、匿名化プロセスで処理されかったセンシティブなデータがないか、ダウンロードしたファイルを確認してください。"
+ },
+ "ErrorFolderloopselected": {
+ "message": "フォルダーをその中に移動することはできません"
+ },
+ "ErrorNofolderselected": {
+ "message": "フォルダーが選択されていません"
+ },
+ "LabelAllownetwork": {
+ "message": "ネットワークの使用を許可する"
+ },
+ "DescriptionAllownetwork": {
+ "message": "floccus は、同期サーバーへの接続とは別にネットワークを使用して、ブックマークに関する追加情報 (アイコンなど) を取得できます。ここで、そのようなネットワークの使用を有効にするか選択します。"
+ },
+ "LabelMobilesettings": {
+ "message": "モバイルの設定"
+ },
+ "LabelContinuefloccus":{
+ "message": "floccus で続行"
+ },
+ "LabelAbout":{
+ "message": "floccus について"
+ },
+ "LabelCurrentversion": {
+ "message": "現在のバージョン"
+ },
+ "DescriptionCurrentversion": {
+ "message": "あなたが使用中の floccus のバージョン:"
+ },
+ "LabelContributors": {
+ "message": "貢献者"
+ },
+ "DescriptionContributors": {
+ "message": "これらの人々が floccus の開発を可能にしました"
+ },
+ "LabelSortcustom": {
+ "message": "カスタム"
+ },
+ "LabelSorturl": {
+ "message": "リンク"
+ },
+ "LabelSorttitle": {
+ "message": "タイトル"
+ },
+ "LabelSyncmethod": {
+ "message": "同期の方法"
+ },
+ "LabelSyncserver": {
+ "message": "同期先サーバー"
+ },
+ "LabelSyncfolders": {
+ "message": "同期するフォルダー"
+ },
+ "LabelSyncbehavior": {
+ "message": "同期の動作"
+ },
+ "LabelContinue": {
+ "message": "続行"
+ },
+ "LabelDone": {
+ "message": "完了"
+ },
+ "LabelConnect": {
+ "message": "接続"
+ },
+ "LabelServersetup": {
+ "message": "どのサーバーと同期しますか?"
+ },
+ "LabelGoogledrivesetup": {
+ "message": "Google ドライブにログイン"
+ },
+ "LabelSyncfoldersetup": {
+ "message": "どのフォルダーを同期しますか?"
+ },
+ "LabelSyncbehaviorsetup": {
+ "message": "どのように同期しますか?"
+ },
+ "LabelAccountcreated": {
+ "message": "アカウントが作成されました"
+ },
+ "DescriptionNonhttps": {
+ "message": "安全ではないプロトコルを使用するサーバーを入力しました。HTTPS に対応するサーバーの使用を推奨しています。"
+ },
+ "LabelFiletype": {
+ "message": "ファイルのフォーマット"
+ },
+ "DescriptionFiletype": {
+ "message": "クラウド上に保存したいファイルのフォーマットを選択できます。"
+ },
+ "LabelFiletypehtml": {
+ "message": "HTML, 広くサポートされたオープンなフォーマット (試験運用機能)"
+ },
+ "LabelFiletypexbel": {
+ "message": "XBEL, シンプルでオープンなフォーマット"
+ },
+ "LabelImportbookmarks": {
+ "message": "ブックマークをインポート"
+ },
+ "DescriptionImportbookmarks": {
+ "message": "ブックマークを含む HTML ファイルを現在のフォルダーにインポート"
+ },
+ "LabelExportBookmarks": {
+ "message": "ブックマークをエクスポート"
+ },
+ "DescriptionExportBookmarks" : {
+ "message": "このアカウントのブックマークを、すべてのメジャーなブラウザーと互換性のある HTML ファイルとしてエクスポートできます。"
+ },
+ "LabelShareitem": {
+ "message": "共有"
+ }
+}
diff --git a/_locales/pt_BR/messages.json b/_locales/pt_BR/messages.json
new file mode 100644
index 0000000000..ec834d38e1
--- /dev/null
+++ b/_locales/pt_BR/messages.json
@@ -0,0 +1,654 @@
+{
+ "Error001": {
+ "message": "E001: A pasta à ser criada não existe"
+ },
+ "Error002": {
+ "message": "E002: O favorito à ser atualizado não existe"
+ },
+ "Error003": {
+ "message": "E003: A pasta a ser removida não existe. Isso é uma anomalia. Parabéns."
+ },
+ "Error004": {
+ "message": "E004: A pasta destino não existe"
+ },
+ "Error005": {
+ "message": "E005: A pasta à ser criada não existe"
+ },
+ "Error006": {
+ "message": "E006: A pasta à atualizar não existe"
+ },
+ "Error007": {
+ "message": "E007: A pasta à mover não existe"
+ },
+ "Error008": {
+ "message": "E008: A pasta de onde mover não existe"
+ },
+ "Error009": {
+ "message": "E009: A pasta para onde mover não existe"
+ },
+ "Error010": {
+ "message": "E010: Não foi possível encontrar uma pasta para ordenar"
+ },
+ "Error011": {
+ "message": "E011: O item na ordem das pastas não é um filho: {0}"
+ },
+ "Error012": {
+ "message": "E012: A ordenação de pastas está a faltar em alguns dos filhos da pasta"
+ },
+ "Error013": {
+ "message": "E013: A pasta à remover não existe"
+ },
+ "Error014": {
+ "message": "E014: A pasta pai para remover a pasta especificada não existe."
+ },
+ "Error015": {
+ "message": "E015: Dados de resposta inesperados do servidor"
+ },
+ "Error016": {
+ "message": "E016: Tempo limite para o pedido excedido. Verifique a configuração do seu servidor."
+ },
+ "Error017": {
+ "message": "E017: Erro de Rede: Verifique sua conexão de rede e os detalhes da sua conta"
+ },
+ "Error018": {
+ "message": "E018: Não foi possível se autenticar com o servidor"
+ },
+ "Error019": {
+ "message": "E019: Status HTTP {0}. Pedido {1} falhou. Verifique a configuração e o registo de erros do seu servidor."
+ },
+ "Error020": {
+ "message": "E020: Não foi possível processar a resposta do servidor. O app dos favoritos está instalado aí?"
+ },
+ "Error021": {
+ "message": "E021: O estado do servidor é inconsistente. A pasta está presente na lista de ordem filha, mas não na estrutura de pastas."
+ },
+ "Error022": {
+ "message": "E022: A pasta {0} contém supostamente favorito não existente {1}."
+ },
+ "Error023": {
+ "message": "E023: Impossível remover o ficheiro de segurança, considere a deletar {0} manualmente."
+ },
+ "Error024": {
+ "message": "E024: Estado HTTP {0} ao tentar determinar o estado do arquivo de segurança {1}."
+ },
+ "Error025": {
+ "message": "E025: Arquivos de configuração de marcadores não devem começar com uma barra: '/'"
+ },
+ "Error026": {
+ "message": "E026: Estado HTTP {0}. Erro ao obter favoritos."
+ },
+ "Error027": {
+ "message": "E027: Processo de sincronização foi interrompido"
+ },
+ "Error028": {
+ "message": "E028: Não foi possível se autenticar com o servidor"
+ },
+ "Error029": {
+ "message": "E029: Mecanismo de proteção: A execução da sincronização atual removeria {0}% dos seus favoritos. Recusando-se a executar. Desabilite esta proteção à prova de falhas nas configurações da conta se você quiser prosseguir mesmo assim."
+ },
+ "Error030": {
+ "message": "E030: Falha ao descriptografar o arquivo de favoritos. A senha pode estar errada ou o arquivo pode estar corrompido."
+ },
+ "Error031": {
+ "message": "E031: Não foi possível autenticar com o Google Drive. Por favor, conecte o floccus com sua conta do Google novamente."
+ },
+ "Error032": {
+ "message": "E032: Erro OAuth. Erro de validação de token. Reconecte sua Conta do Google."
+ },
+ "Error033": {
+ "message": "E033: Redirecionamento detectado. Certifique-se de que o servidor oferece suporte ao método de sincronização selecionado e que o URL inserido está correto e não redireciona para um local diferente. Se o redirecionamento fizer parte da sua configuração, você pode desativar essa verificação nas configurações."
+ },
+ "Error034": {
+ "message": "E034: O arquivo de favoritos remotos está ilegível. Você esqueceu de definir uma senha de criptografia?"
+ },
+ "Error035": {
+ "message": "E035: Falha ao criar o seguinte favorito no servidor: {0}"
+ },
+ "Error036": {
+ "message": "E036: Permissões ausentes para acessar o servidor de sincronização"
+ },
+ "LabelWebdavurl": {
+ "message": "WebDAV URL"
+ },
+ "DescriptionWebdavurl": {
+ "message": "por exemplo. com nextcloud: https://example.com/remote.php/webdav/"
+ },
+ "LabelNextcloudurl": {
+ "message": "Nextcloud URL"
+ },
+ "LabelUsername": {
+ "message": "Usuário"
+ },
+ "LabelPassword": {
+ "message": "Senha"
+ },
+ "LabelBookmarksfile": {
+ "message": "Caminho do arquivo de favoritos"
+ },
+ "DescriptionBookmarksfile": {
+ "message": "um caminho para o arquivo de favoritos relativo ao URL do WebDAV (todas as pastas no caminho já devem existir). por exemplo. coisas_pessoais/favoritos.xbel"
+ },
+ "DescriptionBookmarksfilegoogle": {
+ "message": "o nome do arquivo de favoritos que residirá em seu Google Drive (certifique-se de que esse nome seja exclusivo em seu Drive)"
+ },
+ "LabelServerfolder": {
+ "message": "Pasta do servidor"
+ },
+ "DescriptionServerfolder": {
+ "message": "Este é o prefixo do caminho sob o qual esta conta irá operar no servidor. Deixe em branco para não usar nenhum prefixo."
+ },
+ "LabelLocalfolder": {
+ "message": "Pasta local"
+ },
+ "DescriptionLocalfolder": {
+ "message": "Esta é a pasta de favoritos local neste navegador que será sincronizada com o servidor. Observe que alguns navegadores não permitem a criação de novos itens na pasta raiz (por exemplo, Firefox e Google Chrome)"
+ },
+ "LabelRootfolder": {
+ "message": "Pasta raiz"
+ },
+ "LabelNewfolder": {
+ "message": "Pasta recém criada"
+ },
+ "LabelOptions": {
+ "message": "Opções"
+ },
+ "LabelSyncnow": {
+ "message": "Sincronizar agora"
+ },
+ "LabelCancelsync": {
+ "message": "Cancelar sincronização"
+ },
+ "LabelAutosync": {
+ "message": "Sincronização Automática"
+ },
+ "StatusLastsynced": {
+ "message": "Útima sincronização há: {0}"
+ },
+ "StatusNeversynced": {
+ "message": "Ainda não sincronizado"
+ },
+ "StatusAllgood": {
+ "message": "Tudo certo"
+ },
+ "StatusDisabled": {
+ "message": "Desabilitado"
+ },
+ "StatusError": {
+ "message": "Erro"
+ },
+ "StatusSyncing": {
+ "message": "Sincronizando"
+ },
+ "LabelReset": {
+ "message": "Redefinir"
+ },
+ "DescriptionReset": {
+ "message": "Redefinir pasta sincronizada para criar uma nova"
+ },
+ "LabelChoosefolder": {
+ "message": "Escolha uma pasta"
+ },
+ "DescriptionChoosefolder": {
+ "message": "Defina uma pasta existente para sincronizar"
+ },
+ "LabelRemoveaccount": {
+ "message": "Remover conta"
+ },
+ "DescriptionRemoveaccount": {
+ "message": "Excluir esta conta (isso não removerá seus favoritos)"
+ },
+ "LabelSyncfromscratch": {
+ "message": "Iniciar sincronização do zero"
+ },
+ "LabelResetCache": {
+ "message": "Redefinir cache"
+ },
+ "DescriptionResetcache": {
+ "message": "Marque esta caixa para redefinir o cache para garantir que a próxima execução de sincronização não exclua nenhum dado e apenas mescla o servidor e os marcadores locais."
+ },
+ "LabelParallelsync": {
+ "message": "Acelere a sincronização"
+ },
+ "DescriptionParallelsync": {
+ "message": "Marque esta caixa para processar várias pastas em paralelo para acelerar a sincronização. Esse recurso é experimental e dificulta a leitura dos logs de depuração."
+ },
+ "LabelStrategy": {
+ "message": "Estratégia de sincronização"
+ },
+ "DescriptionStrategy": {
+ "message": "Esta opção determina como sincronizar os favoritos em diferentes dispositivos. Normalmente, você desejará manter as alterações de todos os lados se forem compatíveis, mas às vezes você pode querer sobrescrever as alterações (incluindo adições e exclusões) de outros navegadores ou sobrescrever as alterações feitas localmente."
+ },
+ "LabelStrategydefault": {
+ "message": "Sempre mescle alterações locais com alterações de outros navegadores (recomendado)"
+ },
+ "LabelStrategyslave": {
+ "message": "Sempre desfaça as alterações locais e baixe as alterações de outros navegadores"
+ },
+ "LabelStrategyoverwrite": {
+ "message": "Sempre carregue alterações locais e desfaça alterações de outros navegadores"
+ },
+ "LabelSave": {
+ "message": "Salvar"
+ },
+ "LabelCancel": {
+ "message": "Cancelar"
+ },
+ "LabelAdd": {
+ "message": "Adicionar"
+ },
+ "LabelChange": {
+ "message": "Mudar"
+ },
+ "LabelRemove": {
+ "message": "Remover"
+ },
+ "LabelBack": {
+ "message": "Voltar"
+ },
+ "LabelAdapternextcloudfolders": {
+ "message": "Nextcloud Bookmarks"
+ },
+ "DescriptionAdapternextcloudfolders": {
+ "message": "A opção 'Nextcloud Bookmarks' sincroniza seus favoritos com o aplicativo de Favoritos para Nextcloud. Ele só pode sincronizar marcadores http e ftp. Certifique-se de ter instalado o aplicativo Bookmarks da loja de aplicativos Nextcloud em seu Nextcloud."
+ },
+ "LabelAdapternextcloud": {
+ "message": "Favoritos do Nextcloud (legado)"
+ },
+ "DescriptionAdapternextcloud": {
+ "message": "A opção legacy é compatível com pelo menos a versão v0.11 da aplicação de marcadores. Irá emular pastas usando tags contento o caminho da pasta. Não é recomendável utilizar esta opção com novas contas."
+ },
+ "LabelAdapterwebdav": {
+ "message": "Compartilhamento WebDAV"
+ },
+ "DescriptionAdapterwebdav": {
+ "message": "A opção WebDAV sincroniza seus favoritos armazenando-os em um arquivo no compartilhamento WebDAV fornecido. Não há interface de usuário da web acompanhante para esta opção e você pode usá-la com qualquer servidor compatível com WebDAV. Ele pode sincronizar marcadores http, ftp, dados, arquivos e javascript."
+ },
+ "LabelAddaccount": {
+ "message": "Adicionar conta"
+ },
+ "LabelOpenintab": {
+ "message": "Abrir na guia"
+ },
+ "LabelDebuglogs": {
+ "message": "Logs de depuração"
+ },
+ "LabelFunddevelopment": {
+ "message": "Apoiar o desenvolvimento"
+ },
+ "DescriptionFunddevelopment": {
+ "message": "O trabalho no floco é mantido por um modelo de assinatura voluntária. Se você acha que o que eu faço vale a pena, e se você puder gastar algumas moedinhas por mês que não faça falta, por favor, apoie meu trabalho. Além disso, considere dar uma avaliação ao floccus na loja de addons de sua escolha. Obrigado! 💙"
+ },
+ "LabelSelect": {
+ "message": "Selecionar"
+ },
+ "LabelUntitledfolder": {
+ "message": "Pasta sem título"
+ },
+ "LabelSetkeybutton": {
+ "message": "Definir senha"
+ },
+ "LabelKey": {
+ "message": "Digite sua senha de desbloqueio"
+ },
+ "LabelKey2": {
+ "message": "Digite sua senha mais uma vez"
+ },
+ "LabelUnlock": {
+ "message": "Desbloquear o floccus"
+ },
+ "LabelRemovekey": {
+ "message": "Remover senha"
+ },
+ "LabelRemovedkey": {
+ "message": "Senha removida"
+ },
+ "LabelSyncinterval": {
+ "message": "Intervalo de sincronização"
+ },
+ "DescriptionSyncinterval": {
+ "message": "O intervalo de tempo entre duas sincronizações é executado em minutos. O padrão é 15 minutos."
+ },
+ "LabelChooseadapter": {
+ "message": "Como você deseja sincronizar?"
+ },
+ "LabelOptionsscreen": {
+ "message": "{0} opções",
+ "description": "Title of the options screen. The placeholder holds the account type."
+ },
+ "LabelPaypal": {
+ "message": "Paypal"
+ },
+ "DescriptionPaypal": {
+ "message": "Faça uma doação única via Paypal para apoiar o projeto"
+ },
+ "LabelOpencollective": {
+ "message": "OpenCollective"
+ },
+ "DescriptionOpencollective": {
+ "message": "Faça uma doação regular via OpenCollective para apoiar o projeto"
+ },
+ "LabelLiberapay": {
+ "message": "Liberapay"
+ },
+ "DescriptionLiberapay": {
+ "message": "Faça uma doação regular via Liberapay para apoiar o projeto"
+ },
+ "LabelGithubsponsors": {
+ "message": "Patrocinadores do GitHub"
+ },
+ "DescriptionGithubsponsors": {
+ "message": "Faça uma doação regular via Patrocinadores do GitHub para apoiar o projeto"
+ },
+ "LegacyAdapterDeprecation": {
+ "message": "Este tipo de conta legada foi descontinuada e será removida em breve. Altere para o novo método de sincronização do Nextcloud. Desempenho melhorado e precisão esperam por você."
+ },
+ "LabelUpdated": {
+ "message": "Floccus foi atualizado"
+ },
+ "DescriptionUpdated": {
+ "message": "Parabéns, a atualização mais recente do floccus chegou à sua máquina!"
+ },
+ "LabelReleaseNotes": {
+ "message": "Leia as notas de versão"
+ },
+ "LabelOptionsServerDetails": {
+ "message": "Detalhes do servidor"
+ },
+ "LabelOptionsFolderMapping": {
+ "message": "Mapeamento de pasta"
+ },
+ "LabelOptionsSyncBehavior": {
+ "message": "Comportamento de sincronização"
+ },
+ "LabelOptionsDangerous": {
+ "message": "Ações perigosas"
+ },
+ "LabelAccountDeleted": {
+ "message": "Conta excluída"
+ },
+ "DescriptionAccountDeleted": {
+ "message": "Esta conta foi excluída"
+ },
+ "LabelNoAccount": {
+ "message": "Nenhuma conta aqui"
+ },
+ "DescriptionNoAccount": {
+ "message": "Crie uma nova conta para sincronizar seus favoritos ou importar contas de um dispositivo ou navegador diferente."
+ },
+ "LabelLoginFlowStart": {
+ "message": "Entrar com Nextcloud"
+ },
+ "LabelLoginFlowStop": {
+ "message": "Abortar o login do Nextcloud"
+ },
+ "LabelLoginFlowError": {
+ "message": "Falha no login do Nextcloud"
+ },
+ "LabelNewAccount": {
+ "message": "Nova Conta"
+ },
+ "LabelNestedSync": {
+ "message": "Contas agrupadas"
+ },
+ "DescriptionNestedSync": {
+ "message": "Você pode aninhar contas para que uma pasta principal pertença à conta A e uma subpasta às contas A e B. Deseja permitir que outras contas também sincronizem a pasta desta conta?"
+ },
+ "LabelNestedSyncNo": {
+ "message": "Não, ignore a pasta desta conta em outras contas"
+ },
+ "LabelNestedSyncYes": {
+ "message": "Sim, inclua a pasta desta conta em outras contas"
+ },
+ "LabelImportExport": {
+ "message": "Importar/Exportar Contas"
+ },
+ "LabelExport": {
+ "message": "Exportar contas"
+ },
+ "LabelImport": {
+ "message": "Importar contas"
+ },
+ "DescriptionExport": {
+ "message": "Selecione as contas abaixo que você gostaria de exportar para um arquivo, para poder recriar facilmente as mesmas contas em um dispositivo ou navegador diferente."
+ },
+ "DescriptionImport": {
+ "message": "Importe um arquivo com contas exportadas aqui para recriar contas exportadas em um dispositivo ou navegador diferente. Certifique-se de definir as pastas de sincronização corretas novamente após a importação."
+ },
+ "LabelFolderNotFound": {
+ "message": "Pasta não encontrada"
+ },
+ "LabelSyncTabs": {
+ "message": "Sincronizar Abas"
+ },
+ "LabelTabs": {
+ "message": "Abas"
+ },
+ "LabelSyncDown": {
+ "message": "Puxar para baixo"
+ },
+ "DescriptionSyncDown": {
+ "message": "Baixe as alterações de outros navegadores & substitua as alterações locais"
+ },
+ "LabelSyncUp": {
+ "message": "Empurrar para cima"
+ },
+ "DescriptionSyncUp": {
+ "message": "Envie as alterações locais & substitua alterações de outros navegadores"
+ },
+ "LabelSyncDownOnce": {
+ "message": "Puxar para baixo uma vez"
+ },
+ "LabelSyncUpOnce": {
+ "message": "Empurrar para cima uma vez"
+ },
+ "LabelSyncNormal": {
+ "message": "Mesclar"
+ },
+ "DescriptionSyncNormal": {
+ "message": "Mesclar alterações locais com alterações de outros navegadores"
+ },
+ "DescriptionFilesPermission": {
+ "message": "Certifique-se de dar permissão ao floccus para não apenas usar o aplicativo de favoritos, mas também o aplicativo de arquivos NextCloud."
+ },
+ "DescriptionExtension": {
+ "message": "Sincronize seus favoritos de forma privada entre navegadores e dispositivos"
+ },
+ "LabelFailsafe": {
+ "message": "Mecanismo de proteção"
+ },
+ "DescriptionFailsafe": {
+ "message": "Algumas vezes erros de configuração ou software podem causar uma remoção de dados inesperada, que são então perdidos. Para prevenir isso de acontecer, o floccus não vai deletar mais de 50% dos seus marcadores de uma vez a não ser que você desative esse mecanismo de proteção aqui."
+ },
+ "LabelFailsafeon": {
+ "message": "Ativado. Não delete mais de 50% dos meus marcadores locais sem antes me perguntar. (Recomendado)"
+ },
+ "LabelFailsafeoff": {
+ "message": "Desativado. Permite remover mais de 50% dos meus marcadores locais sem minha confirmação."
+ },
+ "StatusFailsafeoff": {
+ "message": "Failsafe desativado. Você corre risco de perda de dados inesperada. É recomendado ativar o mecanismo de proteção nas configurações de conta."
+ },
+ "LabelAdaptergoogledrive": {
+ "message": "Google Drive"
+ },
+ "DescriptionAdaptergoogledrive": {
+ "message": "Sincronize favoritos por meio de um arquivo criptografado armazenado em seu Google Drive. Ele pode sincronizar favoritos http, ftp, dados, arquivos e javascript."
+ },
+ "LabelLogingoogle": {
+ "message": "Entrar com o Google"
+ },
+ "DescriptionLogingoogle": {
+ "message": "Conecte sua conta do Google para armazenar o arquivo de sincronização de favoritos em seu Google Drive."
+ },
+ "DescriptionLoggedingoogle": {
+ "message": "Você conectou sua conta do Google para armazenar o arquivo de sincronização de favoritos em seu Google Drive."
+ },
+ "LabelPassphrase": {
+ "message": "Senha"
+ },
+ "DescriptionPassphrase": {
+ "message": "Defina uma senha para criptografar seu arquivo de favoritos. Se você não definir nenhuma senha, nenhuma criptografia será feita."
+ },
+ "LabelClientcert": {
+ "message": "Enviar credenciais do cliente"
+ },
+ "DescriptionClientcert": {
+ "message": "Habilite esta opção se seu servidor exigir um certificado de cliente ou cookies para autenticação. Isso pode causar efeitos colaterais indesejados, pois o floccus compartilhará cookies com o perfil normal do seu navegador."
+ },
+ "LabelAllowredirects": {
+ "message": "Permitir redirecionamentos na URL do servidor"
+ },
+ "DescriptionAllowredirects": {
+ "message": "Habilite esta opção, se você receber erros de redirecionamento durante a sincronização, que você acredita serem injustificados."
+ },
+ "LabelSearch": {
+ "message": "Pesquisar favoritos"
+ },
+ "LabelSearchfolder": {
+ "message": "Pesquisar {0}"
+ },
+ "LabelEdititem": {
+ "message": "Editar"
+ },
+ "LabelDeleteitem": {
+ "message": "Remover"
+ },
+ "LabelNobookmarks": {
+ "message": "Nenhum favorito aqui"
+ },
+ "LabelAddbookmark": {
+ "message": "Adicionar favorito"
+ },
+ "LabelEditbookmark": {
+ "message": "Editar favorito"
+ },
+ "LabelAddfolder": {
+ "message": "Adicionar pasta"
+ },
+ "LabelEditfolder": {
+ "message": "Editar pasta"
+ },
+ "LabelSlugline": {
+ "message": "Sincronização privada de favoritos"
+ },
+ "LabelDownloadlogs": {
+ "message": "Baixar logs"
+ },
+ "LabelDownloadfulllogs": {
+ "message": "Logs completos"
+ },
+ "LabelDownloadanonymizedlogs": {
+ "message": "Logs editados"
+ },
+ "DescriptionDownloadlogs": {
+ "message": "O Floccus registra todas as suas ações em um arquivo de log que você mesmo pode examinar ou enviar aos desenvolvedores para fins de depuração. Em logs redigidos, nomes de pastas e favoritos, bem como URLs, são codificados de forma irreversível usando uma função hash criptográfica. Ao enviar logs redigidos, certifique-se de verificar o arquivo baixado em busca de dados confidenciais que podem não ter sido capturados pelo processo de anonimização."
+ },
+ "ErrorFolderloopselected": {
+ "message": "Não é possível mover uma pasta para dentro dela mesma"
+ },
+ "ErrorNofolderselected": {
+ "message": "Nenhuma pasta selecionada"
+ },
+ "LabelAllownetwork": {
+ "message": "Permitir uso da rede"
+ },
+ "DescriptionAllownetwork": {
+ "message": "O Flockus pode usar a rede além de se conectar ao seu servidor de sincronização para obter informações adicionais sobre seus favoritos (como ícones, etc.). Aqui você pode ativar esse uso da rede."
+ },
+ "LabelMobilesettings": {
+ "message": "Configurações para celular"
+ },
+ "LabelContinuefloccus":{
+ "message": "Continuar no floccus"
+ },
+ "LabelAbout":{
+ "message": "Sobre"
+ },
+ "LabelCurrentversion": {
+ "message": "Versão atual"
+ },
+ "DescriptionCurrentversion": {
+ "message": "Sua versão atualmente instalada do floccus é:"
+ },
+ "LabelContributors": {
+ "message": "Contribuidores"
+ },
+ "DescriptionContributors": {
+ "message": "Estas pessoas ajudaram a fazer o floccus possível"
+ },
+ "LabelSortcustom": {
+ "message": "Personalizado"
+ },
+ "LabelSorturl": {
+ "message": "Link"
+ },
+ "LabelSorttitle": {
+ "message": "Título"
+ },
+ "LabelSyncmethod": {
+ "message": "Método de sincronização"
+ },
+ "LabelSyncserver": {
+ "message": "Servidor de sincronização"
+ },
+ "LabelSyncfolders": {
+ "message": "Pastas de sincronização"
+ },
+ "LabelSyncbehavior": {
+ "message": "Comportamento de sincronização"
+ },
+ "LabelContinue": {
+ "message": "Continuar"
+ },
+ "LabelDone": {
+ "message": "Feito"
+ },
+ "LabelConnect": {
+ "message": "Conectar"
+ },
+ "LabelServersetup": {
+ "message": "Com qual servidor você deseja sincronizar?"
+ },
+ "LabelGoogledrivesetup": {
+ "message": "Entrar com Google Drive"
+ },
+ "LabelSyncfoldersetup": {
+ "message": "Quais pastas deseja sincronizar?"
+ },
+ "LabelSyncbehaviorsetup": {
+ "message": "Como quer que a sincronização funcione?"
+ },
+ "LabelAccountcreated": {
+ "message": "Conta criada"
+ },
+ "DescriptionNonhttps": {
+ "message": "Você entrou em um servidor que usa um protocolo inseguro. Recomenda-se usar apenas servidores com suporte para HTTPS."
+ },
+ "LabelFiletype": {
+ "message": "Formato de arquivo"
+ },
+ "DescriptionFiletype": {
+ "message": "Você pode escolher qual formato de arquivo deseja usar para armazenar favoritos na nuvem."
+ },
+ "LabelFiletypehtml": {
+ "message": "HTML, um formato aberto amplamente suportado (experimental)"
+ },
+ "LabelFiletypexbel": {
+ "message": "XBEL, um formato simples e aberto"
+ },
+ "LabelImportbookmarks": {
+ "message": "Importar favoritos"
+ },
+ "DescriptionImportbookmarks": {
+ "message": "Importar um arquivo HTML contendo favoritos para a pasta atual"
+ },
+ "LabelExportBookmarks": {
+ "message": "Exportar Favoritos"
+ },
+ "DescriptionExportBookmarks" : {
+ "message": "Você pode exportar todos os favoritos nesta conta como um arquivo HTML compatível com todos os principais navegadores."
+ },
+ "LabelShareitem": {
+ "message": "Compartilhar"
+ }
+}
diff --git a/_locales/zh/messages.json b/_locales/zh/messages.json
new file mode 100644
index 0000000000..67187ae23b
--- /dev/null
+++ b/_locales/zh/messages.json
@@ -0,0 +1,654 @@
+{
+ "Error001": {
+ "message": "E001:要创建的文件夹不存在"
+ },
+ "Error002": {
+ "message": "E002:要更新的书签不存在"
+ },
+ "Error003": {
+ "message": "E003:要移出的文件夹不存在。这是一种反常现象。祝贺你。"
+ },
+ "Error004": {
+ "message": "E004:要移动到的文件夹不存在"
+ },
+ "Error005": {
+ "message": "E005:要创建的文件夹不存在"
+ },
+ "Error006": {
+ "message": "E006:要更新的文件夹不存在"
+ },
+ "Error007": {
+ "message": "E007:要移动的文件夹不存在"
+ },
+ "Error008": {
+ "message": "E008:要移出的文件夹不存在"
+ },
+ "Error009": {
+ "message": "E009:要移动到的文件夹不存在"
+ },
+ "Error010": {
+ "message": "E010:找不到指定的文件夹"
+ },
+ "Error011": {
+ "message": "E011:文件夹排序中的项不是实际的子项:{0}"
+ },
+ "Error012": {
+ "message": "E012:文件夹排序缺少文件夹的某些子项"
+ },
+ "Error013": {
+ "message": "E013:要删除的文件夹不存在"
+ },
+ "Error014": {
+ "message": "E014:要删除文件夹的父文件夹不存在"
+ },
+ "Error015": {
+ "message": "E015:来自服务器的意外响应数据"
+ },
+ "Error016": {
+ "message": "E016:请求超时。请检查你的服务器设置"
+ },
+ "Error017": {
+ "message": "E017:网络错误:请检查你的网络连接或者账户详情"
+ },
+ "Error018": {
+ "message": "E018:无法与服务器进行身份验证。"
+ },
+ "Error019": {
+ "message": "E019:HTTP状态 {0}。 {1} 请求失败。检查您的服务器配置和日志。"
+ },
+ "Error020": {
+ "message": "E020:无法解析服务器响应。书签应用程序是否安装在您的服务器上?"
+ },
+ "Error021": {
+ "message": "E021:服务器状态不一致。文件夹存在于子列表中,但不在文件夹树中"
+ },
+ "Error022": {
+ "message": "E022:文件夹{0}可能包含不存在的书签{1}"
+ },
+ "Error023": {
+ "message": "E023:无法清除锁定文件,请考虑手动删除{0}。"
+ },
+ "Error024": {
+ "message": "E024:在尝试确定锁定文件{1}的状态时,HTTP状态为{0}"
+ },
+ "Error025": {
+ "message": "E025:书签文件设置不能以斜杠开头"
+ },
+ "Error026": {
+ "message": "E026:HTTP状态{0}。获取书签失败"
+ },
+ "Error027": {
+ "message": "E027:同步进程中断"
+ },
+ "Error028": {
+ "message": "E028:无法与服务器进行身份验证。"
+ },
+ "Error029": {
+ "message": "E029:安全保护:当前同步操作将删除您书签中 {0}% 的内容。拒绝执行操作。若您需要继续执行本操作,请首先在账户设置中关闭这一安全保护。"
+ },
+ "Error030": {
+ "message": "E030:无法解密书签文件。密码短语可能错误或者文件可能已损坏。"
+ },
+ "Error031": {
+ "message": "E031:无法使用 Google Drive 进行认证。 请再次将 floccus 与你的 Google 账户连接。"
+ },
+ "Error032": {
+ "message": "E032:OAuth错误。令牌验证错误。请重新关联您的 Google 帐户。"
+ },
+ "Error033": {
+ "message": "E033:检测到重定向。请确保服务器支持所选的同步方法,并且您输入的URL正确无误,不会重定向到其他位置。如果重定向是设置的一部分,则可以在设置中禁用此检查。"
+ },
+ "Error034": {
+ "message": "E034:书签文件不可读。您是否忘记设置加密密码短语?"
+ },
+ "Error035": {
+ "message": "E035: 无法在服务器上创建以下书签:{0}"
+ },
+ "Error036": {
+ "message": "E036:缺少访问同步服务器的权限"
+ },
+ "LabelWebdavurl": {
+ "message": "WebDAV URL"
+ },
+ "DescriptionWebdavurl": {
+ "message": "例如:使用 NextCloud:https://example.com/remote.php/webdav/"
+ },
+ "LabelNextcloudurl": {
+ "message": "Nextcloud URL"
+ },
+ "LabelUsername": {
+ "message": "用户名"
+ },
+ "LabelPassword": {
+ "message": "密码"
+ },
+ "LabelBookmarksfile": {
+ "message": "书签文件路径"
+ },
+ "DescriptionBookmarksfile": {
+ "message": "书签文件相对于 WebDAV URL 的路径(路径中的所有文件夹必须已存在)。例如Personal_Stuff/bookmarks.xbel"
+ },
+ "DescriptionBookmarksfilegoogle": {
+ "message": "将保存在您的 Google Drive 中的书签文件的文件名(确保此名称在您的 Google Drive 中是唯一的)"
+ },
+ "LabelServerfolder": {
+ "message": "服务器文件夹"
+ },
+ "DescriptionServerfolder": {
+ "message": "这是该帐户在服务器上操作时使用的路径前缀。将此保留为空以不使用任何前缀。"
+ },
+ "LabelLocalfolder": {
+ "message": "本地文件夹"
+ },
+ "DescriptionLocalfolder": {
+ "message": "这是浏览器中的本地书签文件夹,将与服务器同步。请注意,有些浏览器不允许在根文件夹下创建新项目(例如 Firefox 和 Google Chrome )。"
+ },
+ "LabelRootfolder": {
+ "message": "根目录"
+ },
+ "LabelNewfolder": {
+ "message": "新建文件夹"
+ },
+ "LabelOptions": {
+ "message": "选项"
+ },
+ "LabelSyncnow": {
+ "message": "立即同步"
+ },
+ "LabelCancelsync": {
+ "message": "取消同步"
+ },
+ "LabelAutosync": {
+ "message": "自动同步"
+ },
+ "StatusLastsynced": {
+ "message": "上次同步: {0} 之前"
+ },
+ "StatusNeversynced": {
+ "message": "从未同步过"
+ },
+ "StatusAllgood": {
+ "message": "一切正常"
+ },
+ "StatusDisabled": {
+ "message": "禁用"
+ },
+ "StatusError": {
+ "message": "错误"
+ },
+ "StatusSyncing": {
+ "message": "同步中"
+ },
+ "LabelReset": {
+ "message": "重置"
+ },
+ "DescriptionReset": {
+ "message": "重置同步文件夹以创建新文件夹"
+ },
+ "LabelChoosefolder": {
+ "message": "选择文件夹"
+ },
+ "DescriptionChoosefolder": {
+ "message": "设置要同步的已存在文件夹"
+ },
+ "LabelRemoveaccount": {
+ "message": "移除帐户"
+ },
+ "DescriptionRemoveaccount": {
+ "message": "删除此帐户(此操作不会删除你的书签)"
+ },
+ "LabelSyncfromscratch": {
+ "message": "从头开始触发同步"
+ },
+ "LabelResetCache": {
+ "message": "重置缓存"
+ },
+ "DescriptionResetcache": {
+ "message": "勾选此框可重置高速缓存,以确保下一次同步运行不会删除任何数据,而只是将服务器和本地书签合并在一起"
+ },
+ "LabelParallelsync": {
+ "message": "加速同步速度"
+ },
+ "DescriptionParallelsync": {
+ "message": "勾选此框可并行处理多个文件夹,以加快同步速度。此功能是试验性的,使读取调试日志变得更加困难。"
+ },
+ "LabelStrategy": {
+ "message": "同步策略"
+ },
+ "DescriptionStrategy": {
+ "message": "此选项确定如何同步不同设备上的书签。通常,您会希望保留来自所有方面的更改(如果它们是兼容的),但有时您可能希望覆盖来自其他浏览器的更改(包括添加和删除),或者覆盖您在本地所做的更改。"
+ },
+ "LabelStrategydefault": {
+ "message": "始终将本地更改与来自其他浏览器的更改合并(推荐)"
+ },
+ "LabelStrategyslave": {
+ "message": "始终撤消本地更改并从其他浏览器下载更改"
+ },
+ "LabelStrategyoverwrite": {
+ "message": "始终上载本地更改并从其他浏览器撤消更改"
+ },
+ "LabelSave": {
+ "message": "保存"
+ },
+ "LabelCancel": {
+ "message": "取消"
+ },
+ "LabelAdd": {
+ "message": "添加"
+ },
+ "LabelChange": {
+ "message": "修改"
+ },
+ "LabelRemove": {
+ "message": "移除"
+ },
+ "LabelBack": {
+ "message": "返回"
+ },
+ "LabelAdapternextcloudfolders": {
+ "message": "Nextcloud 书签"
+ },
+ "DescriptionAdapternextcloudfolders": {
+ "message": "“NextCloud 书签” 选项可以将你的书签与 NextCloud 的书签应用程序同步。它只能同步http和ftp书签。确保你已经从你的 NextCloud 应用商店安装了 Bookmark 应用。"
+ },
+ "LabelAdapternextcloud": {
+ "message": "Nextcloud 书签(旧版)"
+ },
+ "DescriptionAdapternextcloud": {
+ "message": "旧版选项与 Bookmarks 应用程序的最低版本 v0.11 兼容。它将使用包含文件夹路径的标记来模拟文件夹。不建议将其用于新帐户。"
+ },
+ "LabelAdapterwebdav": {
+ "message": "WebDAV 分享"
+ },
+ "DescriptionAdapterwebdav": {
+ "message": "WebDAV 选项通过将书签存储在提供的 WebDAV 共享中的文件中来同步书签。此选项没有附带的 Web UI,您可以将其与任何 WebDAV 兼容的服务器一起使用。它可以同步http、ftp、数据、文件和javascript书签。"
+ },
+ "LabelAddaccount": {
+ "message": "添加帐户"
+ },
+ "LabelOpenintab": {
+ "message": "在标签页中打开"
+ },
+ "LabelDebuglogs": {
+ "message": "调试日志"
+ },
+ "LabelFunddevelopment": {
+ "message": "赞助开发"
+ },
+ "DescriptionFunddevelopment": {
+ "message": "关于 floccus 的工作是由自愿订阅模式推动的。如果你认为我做的事情是值得的,如果你每个月能不辛苦地省出几个硬币,请支持我的工作。另外,请考虑给 floccus 一个评价,你选择的插件商店。谢谢💙"
+ },
+ "LabelSelect": {
+ "message": "选择"
+ },
+ "LabelUntitledfolder": {
+ "message": "无标题文件夹"
+ },
+ "LabelSetkeybutton": {
+ "message": "设置密码短语"
+ },
+ "LabelKey": {
+ "message": "输入解锁密码短语"
+ },
+ "LabelKey2": {
+ "message": "再次输入密码短语"
+ },
+ "LabelUnlock": {
+ "message": "解锁 floccus"
+ },
+ "LabelRemovekey": {
+ "message": "删除密码短语"
+ },
+ "LabelRemovedkey": {
+ "message": "密码短语已删除"
+ },
+ "LabelSyncinterval": {
+ "message": "同步间隔"
+ },
+ "DescriptionSyncinterval": {
+ "message": "两次同步之间的时间跨度以分钟为单位。默认值为15分钟。"
+ },
+ "LabelChooseadapter": {
+ "message": "您希望如何同步?"
+ },
+ "LabelOptionsscreen": {
+ "message": "{0} 选项",
+ "description": "Title of the options screen. The placeholder holds the account type."
+ },
+ "LabelPaypal": {
+ "message": "Paypal"
+ },
+ "DescriptionPaypal": {
+ "message": "通过 Paypal 进行一次性捐赠以支持该项目"
+ },
+ "LabelOpencollective": {
+ "message": "OpenCollective"
+ },
+ "DescriptionOpencollective": {
+ "message": "通过 OpenCollective 定期捐款以支持这个项目"
+ },
+ "LabelLiberapay": {
+ "message": "Liberapay"
+ },
+ "DescriptionLiberapay": {
+ "message": "通过 Liberapay 定期捐款以支持该项目"
+ },
+ "LabelGithubsponsors": {
+ "message": "GitHub sponsors"
+ },
+ "DescriptionGithubsponsors": {
+ "message": "通过 GitHub sponsors 定期捐款以支持该项目"
+ },
+ "LegacyAdapterDeprecation": {
+ "message": "此旧版帐户类型已弃用,很快将被删除。请切换到新的 NextCloud同步方法。性能和准确性的提升等着您。"
+ },
+ "LabelUpdated": {
+ "message": "Floccus 已更新"
+ },
+ "DescriptionUpdated": {
+ "message": "恭喜,最新版本的 floccus 已经抵达您的设备!"
+ },
+ "LabelReleaseNotes": {
+ "message": "阅读发行说明"
+ },
+ "LabelOptionsServerDetails": {
+ "message": "服务器详情"
+ },
+ "LabelOptionsFolderMapping": {
+ "message": "文件夹映射"
+ },
+ "LabelOptionsSyncBehavior": {
+ "message": "同步行为"
+ },
+ "LabelOptionsDangerous": {
+ "message": "危险行为"
+ },
+ "LabelAccountDeleted": {
+ "message": "帐户已删除"
+ },
+ "DescriptionAccountDeleted": {
+ "message": "此帐户已被删除"
+ },
+ "LabelNoAccount": {
+ "message": "这里没有帐户"
+ },
+ "DescriptionNoAccount": {
+ "message": "创建一个新帐户来同步您的书签或从不同的设备或浏览器导入帐户。"
+ },
+ "LabelLoginFlowStart": {
+ "message": "登录 Nextcloud"
+ },
+ "LabelLoginFlowStop": {
+ "message": "中止 NextCloud 登录"
+ },
+ "LabelLoginFlowError": {
+ "message": "Nextcloud 登录失败"
+ },
+ "LabelNewAccount": {
+ "message": "新帐户"
+ },
+ "LabelNestedSync": {
+ "message": "嵌套帐户"
+ },
+ "DescriptionNestedSync": {
+ "message": "您可以嵌套帐户,以便父文件夹属于帐户A,子文件夹属于帐户A和B。是否允许其他帐户也同步此帐户的文件夹?"
+ },
+ "LabelNestedSyncNo": {
+ "message": "否,忽略其他帐户中的此帐户的文件夹"
+ },
+ "LabelNestedSyncYes": {
+ "message": "是,将此帐户的文件夹包括在其他帐户中"
+ },
+ "LabelImportExport": {
+ "message": "导入/导出 帐户"
+ },
+ "LabelExport": {
+ "message": "导出帐户"
+ },
+ "LabelImport": {
+ "message": "导入帐户"
+ },
+ "DescriptionExport": {
+ "message": "在下面选择您要导出到文件的帐户,以便您可以在不同的设备或浏览器上轻松重新创建相同的帐户。"
+ },
+ "DescriptionImport": {
+ "message": "在此处导入包含导出帐户的文件,以重新创建在其他设备或浏览器上导出的帐户。请确保在导入后再次设置正确的同步文件夹。"
+ },
+ "LabelFolderNotFound": {
+ "message": "文件夹未找到"
+ },
+ "LabelSyncTabs": {
+ "message": "同步选项卡"
+ },
+ "LabelTabs": {
+ "message": "选项卡"
+ },
+ "LabelSyncDown": {
+ "message": "拉取"
+ },
+ "DescriptionSyncDown": {
+ "message": "从其他浏览器下载更改并覆盖本地更改"
+ },
+ "LabelSyncUp": {
+ "message": "推送"
+ },
+ "DescriptionSyncUp": {
+ "message": "上传本地更改并覆盖来自其他浏览器的更改"
+ },
+ "LabelSyncDownOnce": {
+ "message": "拉取一次"
+ },
+ "LabelSyncUpOnce": {
+ "message": "推送一次"
+ },
+ "LabelSyncNormal": {
+ "message": "合并"
+ },
+ "DescriptionSyncNormal": {
+ "message": "将本地更改与来自其他浏览器的更改合并"
+ },
+ "DescriptionFilesPermission": {
+ "message": "确保您不仅允许 floccus 使用书签应用程序,还允许使用 NextCloud 文件应用程序。"
+ },
+ "DescriptionExtension": {
+ "message": "跨浏览器和设备私下同步您的书签"
+ },
+ "LabelFailsafe": {
+ "message": "安全保护"
+ },
+ "DescriptionFailsafe": {
+ "message": "有时,配置错误或软件错误可能会导致意外删除数据,从而导致数据丢失。为了防止这种情况发生,除非您在此处禁用此故障保护功能,否则 floccus 不会一次删除超过50%的书签。"
+ },
+ "LabelFailsafeon": {
+ "message": "已启用。在没有征得我同意的情况下,不要删除超过50%的本地书签。(推荐)"
+ },
+ "LabelFailsafeoff": {
+ "message": "已禁用。允许删除超过50%的本地书签,而无需与我确认。"
+ },
+ "StatusFailsafeoff": {
+ "message": "安全保护已禁用。您将面临意外数据丢失的风险。建议在帐户设置中启用安全保护功能。"
+ },
+ "LabelAdaptergoogledrive": {
+ "message": "Google Drive"
+ },
+ "DescriptionAdaptergoogledrive": {
+ "message": "通过存储在 Google Drive 中的加密文件同步书签。它可以同步http、ftp、数据、文件和javascript书签。"
+ },
+ "LabelLogingoogle": {
+ "message": "登录 Google"
+ },
+ "DescriptionLogingoogle": {
+ "message": "连接您的 Google 帐户以将书签同步文件存储在您的 Google Drive 中。"
+ },
+ "DescriptionLoggedingoogle": {
+ "message": "您已连接到您的Google帐户以将书签同步文件存储在您的Google Drive中。"
+ },
+ "LabelPassphrase": {
+ "message": "密码短语"
+ },
+ "DescriptionPassphrase": {
+ "message": "设置用于加密书签文件的密码短语,如果不设置密码短语,则不会运行加密。"
+ },
+ "LabelClientcert": {
+ "message": "发送客户端凭据"
+ },
+ "DescriptionClientcert": {
+ "message": "如果您的服务器需要客户端证书或Cookie进行身份验证,请启用此选项。这可能会导致意想不到的副作用,因为 floccus 会与您的正常浏览器配置文件共享Cookie。"
+ },
+ "LabelAllowredirects": {
+ "message": "允许服务器URL中的重定向"
+ },
+ "DescriptionAllowredirects": {
+ "message": "如果在同步过程中遇到您认为不必要的重定向错误,请启用此选项。"
+ },
+ "LabelSearch": {
+ "message": "搜索书签"
+ },
+ "LabelSearchfolder": {
+ "message": "搜索 {0}"
+ },
+ "LabelEdititem": {
+ "message": "编辑"
+ },
+ "LabelDeleteitem": {
+ "message": "删除"
+ },
+ "LabelNobookmarks": {
+ "message": "此处没有书签"
+ },
+ "LabelAddbookmark": {
+ "message": "添加书签"
+ },
+ "LabelEditbookmark": {
+ "message": "编辑书签"
+ },
+ "LabelAddfolder": {
+ "message": "添加文件夹"
+ },
+ "LabelEditfolder": {
+ "message": "编辑文件夹"
+ },
+ "LabelSlugline": {
+ "message": "私人书签同步"
+ },
+ "LabelDownloadlogs": {
+ "message": "下载日志"
+ },
+ "LabelDownloadfulllogs": {
+ "message": "完整日志"
+ },
+ "LabelDownloadanonymizedlogs": {
+ "message": "已编码的日志"
+ },
+ "DescriptionDownloadlogs": {
+ "message": "Floccus 将其所有操作记录在日志文件中,您可以检查该文件,也可以将其发送给开发人员进行调试。在已编码的日志中,文件夹和书签名称以及URL使用加密散列函数进行不可逆编码。在发送经过编码的日志时,请确保仍然检查下载的文件中是否有可能未被匿名化过程捕获的敏感数据。"
+ },
+ "ErrorFolderloopselected": {
+ "message": "无法将文件夹移动到自身中"
+ },
+ "ErrorNofolderselected": {
+ "message": "没有选择文件夹"
+ },
+ "LabelAllownetwork": {
+ "message": "允许使用网络"
+ },
+ "DescriptionAllownetwork": {
+ "message": "Floccus 除了连接到同步服务器外,还可以使用网络来获取有关书签的其他信息(如图标等)。您可以在此处启用此类网络使用。"
+ },
+ "LabelMobilesettings": {
+ "message": "Mobile 设置"
+ },
+ "LabelContinuefloccus":{
+ "message": "继续到 floccus"
+ },
+ "LabelAbout":{
+ "message": "关于"
+ },
+ "LabelCurrentversion": {
+ "message": "当前版本"
+ },
+ "DescriptionCurrentversion": {
+ "message": "您当前安装的 floccus 版本为:"
+ },
+ "LabelContributors": {
+ "message": "贡献者"
+ },
+ "DescriptionContributors": {
+ "message": "这些人帮助 floccus 成为可能"
+ },
+ "LabelSortcustom": {
+ "message": "自定义"
+ },
+ "LabelSorturl": {
+ "message": "链接"
+ },
+ "LabelSorttitle": {
+ "message": "标题"
+ },
+ "LabelSyncmethod": {
+ "message": "同步方法"
+ },
+ "LabelSyncserver": {
+ "message": "同步服务器"
+ },
+ "LabelSyncfolders": {
+ "message": "同步文件夹"
+ },
+ "LabelSyncbehavior": {
+ "message": "同步行为"
+ },
+ "LabelContinue": {
+ "message": "继续"
+ },
+ "LabelDone": {
+ "message": "完成"
+ },
+ "LabelConnect": {
+ "message": "连接"
+ },
+ "LabelServersetup": {
+ "message": "要同步到哪个服务器?"
+ },
+ "LabelGoogledrivesetup": {
+ "message": "登录 Google Drive"
+ },
+ "LabelSyncfoldersetup": {
+ "message": "要同步哪些文件夹?"
+ },
+ "LabelSyncbehaviorsetup": {
+ "message": "希望同步如何工作?"
+ },
+ "LabelAccountcreated": {
+ "message": "帐户已创建"
+ },
+ "DescriptionNonhttps": {
+ "message": "您输入的服务器使用了不安全的协议。建议仅使用支持HTTPS的服务器。"
+ },
+ "LabelFiletype": {
+ "message": "文件格式"
+ },
+ "DescriptionFiletype": {
+ "message": "您可以选择要用于在云中存储书签的文件格式。"
+ },
+ "LabelFiletypehtml": {
+ "message": "HTML,一种广泛支持的开放格式(实验性)"
+ },
+ "LabelFiletypexbel": {
+ "message": "XBEL,一种简单、开放的格式"
+ },
+ "LabelImportbookmarks": {
+ "message": "导入书签"
+ },
+ "DescriptionImportbookmarks": {
+ "message": "将包含书签的 HTML 文件导入当前文件夹"
+ },
+ "LabelExportBookmarks": {
+ "message": "导出书签"
+ },
+ "DescriptionExportBookmarks" : {
+ "message": "您可以将此帐户中的所有书签导出为与所有主要浏览器兼容的HTML文件。"
+ },
+ "LabelShareitem": {
+ "message": "分享"
+ }
+}
diff --git a/_locales/zh_CN/messages.json b/_locales/zh_CN/messages.json
index fc8d94f76d..80bb058863 100644
--- a/_locales/zh_CN/messages.json
+++ b/_locales/zh_CN/messages.json
@@ -6,7 +6,7 @@
"message": "E002:暂时没有需要更新的书签"
},
"Error003": {
- "message": "E003:要移出的文件夹不存在。这是一种异常。恭喜你。"
+ "message": "E003:要移出的文件夹不存在。这是一种异常。恭喜。"
},
"Error004": {
"message": "E004: 要移入的文件夹不存在"
@@ -99,16 +99,19 @@
"message": "E033:检测到重定向。请确保服务器支持所选的同步方法,并且您输入的 URL 正确无误,不会重定向到其他位置。如果重定向是设置的一部分,则可以在设置中禁用此检查。"
},
"Error034": {
- "message": "E034:书签文件不可读。您是否忘记设置加密密码短语?"
+ "message": "E034: 远程书签文件不可读。请确认是否设置加密密码"
},
"Error035": {
"message": "E035: 无法在服务器上创建以下书签: {0}"
},
+ "Error036": {
+ "message": "E036: 缺少访问同步服务器的权限"
+ },
"LabelWebdavurl": {
"message": "WebDAV URL"
},
"DescriptionWebdavurl": {
- "message": "例如:使用 NextCloud:https://your-domain.com/remote.php/webdav/"
+ "message": "例如使用 NextCloud:https://your-domain.com/remote.php/webdav/"
},
"LabelNextcloudurl": {
"message": "Nextcloud URL"
@@ -198,7 +201,7 @@
"message": "从头开始触发同步"
},
"LabelResetCache": {
- "message": "重置緩存"
+ "message": "重置缓存"
},
"DescriptionResetcache": {
"message": "勾选此框以重置缓存,以确保下一次同步运行不会删除任何数据,只是将服务器和本地书签合并在一起"
@@ -246,7 +249,7 @@
"message": "Nextcloud 书签"
},
"DescriptionAdapternextcloudfolders": {
- "message": "“Nextcloud 书签”选项至少需要Bookmarks app v0.14版本。"
+ "message": "选项 'Nextcloud 书签' 将您的书签与 Nextcloud 书签应用程序同步。它只能同步 http 和 ftp 书签。确保您已从 Nextcloud 应用商店中安装了书签应用程序。"
},
"LabelAdapternextcloud": {
"message": "Nextcloud 书签(旧版)"
@@ -258,17 +261,11 @@
"message": "WebDAV 分享"
},
"DescriptionAdapterwebdav": {
- "message": "WebDAV 选项通过将书签存储在提供的 WebDAV 共享中的文件来同步您的书签。 此选项没有附带的 Web UI,您可以将它与任何 WebDAV 兼容的服务器一起使用。 它可以同步 http、ftp、数据和 javascript 书签。"
+ "message": "WebDAV 选项通过将书签存储在由 WebDAV 提供的共享文件同步书签。该选项不会附带 web UI,可以使用任何兼容 WebDAV 的服务器。可同步 http、ftp、数据、文件和 Javascript 书签。"
},
"LabelAddaccount": {
"message": "添加账户"
},
- "LabelSecurecredentials": {
- "message": "保护您的凭据"
- },
- "LabelSecuredcredentials": {
- "message": "您的凭证是安全的"
- },
"LabelOpenintab": {
"message": "在标签页中打开"
},
@@ -287,14 +284,8 @@
"LabelUntitledfolder": {
"message": "无标题文件夹"
},
- "LabelSetkey": {
- "message": "為 floccus 設置密碼"
- },
- "DescriptionSetkey": {
- "message": "设置密码后,每次启动浏览器时,如果要访问和同步书签、更改设置或使用 floccus 执行任何其他操作,都必须输入此密码。"
- },
"LabelSetkeybutton": {
- "message": "設置密碼"
+ "message": "设置密码"
},
"LabelKey": {
"message": "输入解锁密码"
@@ -303,13 +294,13 @@
"message": "再次输入解锁密码"
},
"LabelUnlock": {
- "message": "解锁floccus"
+ "message": "解锁 floccus"
},
"LabelRemovekey": {
- "message": "刪除密碼"
+ "message": "删除密码"
},
"LabelRemovedkey": {
- "message": "密碼已刪除"
+ "message": "密码已删除"
},
"LabelSyncinterval": {
"message": "同步间隔"
@@ -321,7 +312,7 @@
"message": "要如何同步?"
},
"LabelOptionsscreen": {
- "message": "{0}选项",
+ "message": "{0} 选项",
"description": "Title of the options screen. The placeholder holds the account type."
},
"LabelPaypal": {
@@ -352,7 +343,7 @@
"message": "此旧帐户类型已弃用,不久将被删除。请切换到新的 nextcloud 同步方法。性能和准确性的提高正等着您。"
},
"LabelUpdated": {
- "message": "Floccus已更新"
+ "message": "Floccus 已更新"
},
"DescriptionUpdated": {
"message": "恭喜,您的计算机上已经收到了最新的 floccus 更新!"
@@ -481,7 +472,7 @@
"message": "Google Drive"
},
"DescriptionAdaptergoogledrive": {
- "message": "通过存储在 Google Drive 中的加密文件来同步书签。 它可以同步 http、ftp、数据和 javascript 书签。"
+ "message": "通过存储在 Google Drive 中的加密文件同步书签。可同步 http、ftp、数据、文件和 Javascript 书签。"
},
"LabelLogingoogle": {
"message": "使用 Google 登录"
@@ -493,7 +484,7 @@
"message": "您已连接您的 Google 帐户以将书签同步文件存储在您的 Google Drive 中。"
},
"LabelPassphrase": {
- "message": "密码短语"
+ "message": "密码"
},
"DescriptionPassphrase": {
"message": "设置用于加密书签文件的密码短语,如果未设置密码短语,则不会运行加密。"
@@ -650,5 +641,14 @@
},
"DescriptionImportbookmarks": {
"message": "将包含书签的 HTML 文件导入当前文件夹"
+ },
+ "LabelExportBookmarks": {
+ "message": "导出书签"
+ },
+ "DescriptionExportBookmarks" : {
+ "message": "您可以将此帐户中的所有书签导出为兼容所有主流浏览器的 HTML 文件。"
+ },
+ "LabelShareitem": {
+ "message": "分享"
}
}
diff --git a/android/.idea/compiler.xml b/android/.idea/compiler.xml
index fb7f4a8a46..b589d56e9f 100644
--- a/android/.idea/compiler.xml
+++ b/android/.idea/compiler.xml
@@ -1,6 +1,6 @@
-
+
\ No newline at end of file
diff --git a/android/app/build.gradle b/android/app/build.gradle
index 33a0d3e1b9..f3181be801 100644
--- a/android/app/build.gradle
+++ b/android/app/build.gradle
@@ -1,13 +1,14 @@
apply plugin: 'com.android.application'
android {
+ namespace "org.handmadeideas.floccus"
compileSdkVersion rootProject.ext.compileSdkVersion
defaultConfig {
applicationId "org.handmadeideas.floccus"
minSdkVersion rootProject.ext.minSdkVersion
targetSdkVersion rootProject.ext.targetSdkVersion
- versionCode 4019001
- versionName "4.19.1"
+ versionCode 5000000
+ versionName "5.0.0"
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
aaptOptions {
// Files and dirs to omit from the packaged assets dir, modified to accommodate modern web apps.
diff --git a/android/app/capacitor.build.gradle b/android/app/capacitor.build.gradle
index 61349d3444..d73deb7748 100644
--- a/android/app/capacitor.build.gradle
+++ b/android/app/capacitor.build.gradle
@@ -2,8 +2,8 @@
android {
compileOptions {
- sourceCompatibility JavaVersion.VERSION_11
- targetCompatibility JavaVersion.VERSION_11
+ sourceCompatibility JavaVersion.VERSION_17
+ targetCompatibility JavaVersion.VERSION_17
}
}
diff --git a/android/app/src/main/AndroidManifest.xml b/android/app/src/main/AndroidManifest.xml
index b31a8c4131..de068c3fed 100644
--- a/android/app/src/main/AndroidManifest.xml
+++ b/android/app/src/main/AndroidManifest.xml
@@ -1,6 +1,6 @@
+ >
-
-
-
-
-
-
-
-
-
-
-
diff --git a/android/build.gradle b/android/build.gradle
index d7c0210d0a..394fd1034c 100644
--- a/android/build.gradle
+++ b/android/build.gradle
@@ -7,7 +7,7 @@ buildscript {
mavenCentral()
}
dependencies {
- classpath 'com.android.tools.build:gradle:7.2.1'
+ classpath 'com.android.tools.build:gradle:8.2.0'
}
}
@@ -24,3 +24,4 @@ task clean(type: Delete) {
delete rootProject.buildDir
}
+
diff --git a/android/gradle.properties b/android/gradle.properties
index 0566c221d2..92710f31db 100644
--- a/android/gradle.properties
+++ b/android/gradle.properties
@@ -20,5 +20,4 @@ org.gradle.jvmargs=-Xmx1536m
# Android operating system, and which are packaged with your app's APK
# https://developer.android.com/topic/libraries/support-library/androidx-rn
android.useAndroidX=true
-# Automatically convert third-party libraries to use AndroidX
-android.enableJetifier=true
+
diff --git a/android/gradle/wrapper/gradle-wrapper.properties b/android/gradle/wrapper/gradle-wrapper.properties
index 3e4f78ba3b..c496901242 100644
--- a/android/gradle/wrapper/gradle-wrapper.properties
+++ b/android/gradle/wrapper/gradle-wrapper.properties
@@ -1,6 +1,6 @@
#Sat Mar 19 14:08:52 CET 2022
distributionBase=GRADLE_USER_HOME
-distributionUrl=https\://services.gradle.org/distributions/gradle-7.4.2-all.zip
+distributionUrl=https\://services.gradle.org/distributions/gradle-8.2-all.zip
distributionPath=wrapper/dists
zipStorePath=wrapper/dists
zipStoreBase=GRADLE_USER_HOME
diff --git a/android/variables.gradle b/android/variables.gradle
index 64c603bba4..232bd9dd0c 100644
--- a/android/variables.gradle
+++ b/android/variables.gradle
@@ -1,16 +1,16 @@
ext {
minSdkVersion = 22
- compileSdkVersion = 32
- targetSdkVersion = 32
- androidxActivityVersion = '1.4.0'
- androidxAppCompatVersion = '1.4.2'
+ compileSdkVersion = 33
+ targetSdkVersion = 33
+ androidxActivityVersion = '1.7.0'
+ androidxAppCompatVersion = '1.6.1'
androidxCoordinatorLayoutVersion = '1.2.0'
- androidxCoreVersion = '1.8.0'
- androidxFragmentVersion = '1.4.1'
- coreSplashScreenVersion = '1.0.0-rc01'
- androidxWebkitVersion = '1.4.0'
+ androidxCoreVersion = '1.10.0'
+ androidxFragmentVersion = '1.5.6'
+ coreSplashScreenVersion = '1.0.0'
+ androidxWebkitVersion = '1.6.1'
junitVersion = '4.13.2'
- androidxJunitVersion = '1.1.3'
- androidxEspressoCoreVersion = '3.4.0'
+ androidxJunitVersion = '1.1.5'
+ androidxEspressoCoreVersion = '3.5.1'
cordovaAndroidVersion = '10.1.1'
}
diff --git a/gulpfile.js b/gulpfile.js
index 83f1df8fc6..1d7036b8ca 100644
--- a/gulpfile.js
+++ b/gulpfile.js
@@ -44,6 +44,7 @@ const paths = {
'!key.pem',
'!android/**',
'!ios/**',
+ '!manifest*.json'
],
views: './html/*.html',
nativeHTML: './html/index.html',
@@ -53,6 +54,10 @@ const paths = {
icons: 'icons/*',
dist: './dist/**'
}
+
+paths.chromeZip = [...paths.zip, 'manifest.chrome.json']
+paths.firefoxZip = [...paths.zip, 'manifest.firefox.json']
+
const WEBSTORE_ID = 'fnaicdffflnofjppbagibeoednhnbjhg'
let WEBSTORE_CREDENTIALS
@@ -120,23 +125,45 @@ const build = gulp.parallel(assets, js)
const main = gulp.series(build, native)
-const zip = function() {
+const chromeZip = function() {
return gulp
- .src(paths.zip, { buffer: false })
- .pipe(gulpZip(`floccus-build-v${VERSION}.zip`))
+ .src(paths.chromeZip, { buffer: false })
+ .pipe(rename((path) => {
+ if (path.basename.startsWith('manifest') && path.extname === '.json') {
+ path.basename = 'manifest'
+ }
+ }))
+ .pipe(gulpZip(`floccus-build-v${VERSION}-chrome.zip`))
+ .pipe(gulp.dest(paths.builds))
+}
+
+const firefoxZip = function() {
+ return gulp
+ .src(paths.firefoxZip, { buffer: false })
+ .pipe(rename((path) => {
+ if (path.basename.startsWith('manifest') && path.extname === '.json') {
+ path.basename = 'manifest'
+ }
+ }))
+ .pipe(gulpZip(`floccus-build-v${VERSION}-firefox.zip`))
.pipe(gulp.dest(paths.builds))
}
const xpi = function() {
return gulp
- .src(paths.zip, { buffer: false })
+ .src(paths.firefoxZip, { buffer: false })
+ .pipe(rename((path) => {
+ if (path.basename.startsWith('manifest') && path.extname === '.json') {
+ path.basename = 'manifest'
+ }
+ }))
.pipe(gulpZip(`floccus-build-v${VERSION}.xpi`))
.pipe(gulp.dest(paths.builds))
}
const crx = function() {
return crx3(
- fs.createReadStream(`${paths.builds}/floccus-build-v${VERSION}.zip`),
+ fs.createReadStream(`${paths.builds}/floccus-build-v${VERSION}-chrome.zip`),
{
keyPath: 'key.pem',
crxPath: `${paths.builds}/floccus-build-v${VERSION}.crx`,
@@ -144,12 +171,12 @@ const crx = function() {
)
}
-const release = gulp.series(main, gulp.parallel(zip, xpi), crx)
+const release = gulp.series(main, gulp.parallel(firefoxZip, chromeZip, xpi), crx)
-const publish = gulp.series(main, zip, function() {
+const publish = gulp.series(main, chromeZip, function() {
return webstore
.uploadExisting(
- fs.createReadStream(`${paths.builds}floccus-build-v${VERSION}.zip`)
+ fs.createReadStream(`${paths.builds}floccus-build-v${VERSION}-chrome.zip`)
)
.then(function() {
return webstore.publish('default')
diff --git a/html/background.html b/html/background.html
deleted file mode 100644
index 0103f05640..0000000000
--- a/html/background.html
+++ /dev/null
@@ -1,11 +0,0 @@
-
-
-
-
- Floccus
-
-
-
-
-
-
diff --git a/html/options.html b/html/options.html
index f7a621890d..2be15a0fb3 100644
--- a/html/options.html
+++ b/html/options.html
@@ -23,7 +23,6 @@
-