Compare commits

...

10 Commits

Author SHA1 Message Date
Henrique Dias
b5f970731b chore(release): 2.62.1
Some checks failed
Continuous Integration / Lint Frontend (push) Successful in 12m31s
Continuous Integration / Lint Backend (push) Successful in 23m42s
Continuous Integration / Test (push) Successful in 12m47s
Continuous Integration / Build (push) Failing after 9m57s
Docs / Build Docs (push) Has been skipped
Docs / Build and Release Docs (push) Failing after 1m41s
Continuous Integration / Release (push) Has been skipped
2026-03-14 09:31:34 +01:00
Henrique Dias
fc80f4f44c fix: base url/reverse proxy redirect 2026-03-14 09:30:35 +01:00
Henrique Dias
6aea227617 chore(release): 2.62.0 2026-03-14 08:32:56 +01:00
Henrique Dias
09a26166b4 fix: make perm.share depend on share.download 2026-03-14 08:31:55 +01:00
Henrique Dias
a63573b67e fix: signup handler shouldn't create admins 2026-03-14 08:23:10 +01:00
Henrique Dias
4bd7d69c82 fix: clean path in patch handler 2026-03-14 08:13:51 +01:00
Henrique Dias
c21af0791a fix: around languages 2026-03-14 08:12:03 +01:00
transifex-integration[bot]
858eb42651 feat: Updates for project File Browser (#5807)
Co-authored-by: transifex-integration[bot] <43880903+transifex-integration[bot]@users.noreply.github.com>
2026-03-14 07:57:56 +01:00
Henrique Dias
21709428b1 ci: update transifex settings 2026-03-14 07:57:18 +01:00
renovate[bot]
846fb3333a chore(deps): update dependency vite to v8 (#5831)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-03-14 07:55:55 +01:00
46 changed files with 865 additions and 367 deletions

View File

@@ -2,6 +2,33 @@
All notable changes to this project will be documented in this file. See [commit-and-tag-version](https://github.com/absolute-version/commit-and-tag-version) for commit guidelines.
## [2.62.1](https://github.com/filebrowser/filebrowser/compare/v2.62.0...v2.62.1) (2026-03-14)
### Bug Fixes
* base url/reverse proxy redirect ([fc80f4f](https://github.com/filebrowser/filebrowser/commit/fc80f4f44c856ddc19df3024c245990fffd55630))
## [2.62.0](https://github.com/filebrowser/filebrowser/compare/v2.61.2...v2.62.0) (2026-03-14)
### Features
* Updates for project File Browser ([#5807](https://github.com/filebrowser/filebrowser/issues/5807)) ([858eb42](https://github.com/filebrowser/filebrowser/commit/858eb426515ec55172e9cca47bdf1e25a0d0d81d))
### Bug Fixes
* allow deleting the user's own account ([#5820](https://github.com/filebrowser/filebrowser/issues/5820)) ([f04af0c](https://github.com/filebrowser/filebrowser/commit/f04af0cac6c808b8e7c9a9651380c252c4de9132))
* around languages ([c21af07](https://github.com/filebrowser/filebrowser/commit/c21af0791a5df458c2ddb81ce9ae44b772b6d82d))
* clean path in patch handler ([4bd7d69](https://github.com/filebrowser/filebrowser/commit/4bd7d69c82163b201a987e99c0c50d7ecc6ee5f1))
* make perm.share depend on share.download ([09a2616](https://github.com/filebrowser/filebrowser/commit/09a26166b4f79446e7174c017380f6db45444e32))
* properly surface config parse errors ([#5822](https://github.com/filebrowser/filebrowser/issues/5822)) ([ef2e999](https://github.com/filebrowser/filebrowser/commit/ef2e9992dc3098f6c4722c2a98966cd8abf8bab5))
* signup handler shouldn't create admins ([a63573b](https://github.com/filebrowser/filebrowser/commit/a63573b67eb302167b4c4f218361a2d0c138deab))
* **tus:** preserve percent-encoded upload paths in Location header ([#5817](https://github.com/filebrowser/filebrowser/issues/5817)) ([0542fc0](https://github.com/filebrowser/filebrowser/commit/0542fc0ba43740c967414eebd156bac86ad80376))
* **upload:** avoid skipping whole folder upload on conflict modal ([#5814](https://github.com/filebrowser/filebrowser/issues/5814)) ([f5f8b60](https://github.com/filebrowser/filebrowser/commit/f5f8b60b331a07729a1fed1ed065cb6fc20930ea))
* **upload:** don't mark every folder-upload file as conflicting ([#5813](https://github.com/filebrowser/filebrowser/issues/5813)) ([6dcef07](https://github.com/filebrowser/filebrowser/commit/6dcef07f40d550acee63dd01e0a3bcf78532f690))
## [2.61.2](https://github.com/filebrowser/filebrowser/compare/v2.61.1...v2.61.2) (2026-03-06)

View File

@@ -68,7 +68,7 @@
"prettier": "^3.6.2",
"terser": "^5.43.1",
"typescript": "^5.9.3",
"vite": "^7.2.2",
"vite": "^8.0.0",
"vite-plugin-compression2": "^2.3.1",
"vue-tsc": "^3.1.3"
},

402
frontend/pnpm-lock.yaml generated
View File

@@ -116,10 +116,10 @@ importers:
version: 8.57.0(@typescript-eslint/parser@8.56.0(eslint@10.0.3)(typescript@5.9.3))(eslint@10.0.3)(typescript@5.9.3)
'@vitejs/plugin-legacy':
specifier: ^8.0.0
version: 8.0.0(terser@5.46.0)(vite@7.3.1(@types/node@24.12.0)(terser@5.46.0)(yaml@2.8.2))
version: 8.0.0(terser@5.46.0)(vite@8.0.0(@types/node@24.12.0)(esbuild@0.27.3)(terser@5.46.0)(yaml@2.8.2))
'@vitejs/plugin-vue':
specifier: ^6.0.1
version: 6.0.5(vite@7.3.1(@types/node@24.12.0)(terser@5.46.0)(yaml@2.8.2))(vue@3.5.30(typescript@5.9.3))
version: 6.0.5(vite@8.0.0(@types/node@24.12.0)(esbuild@0.27.3)(terser@5.46.0)(yaml@2.8.2))(vue@3.5.30(typescript@5.9.3))
'@vue/eslint-config-prettier':
specifier: ^10.2.0
version: 10.2.0(eslint@10.0.3)(prettier@3.8.1)
@@ -157,8 +157,8 @@ importers:
specifier: ^5.9.3
version: 5.9.3
vite:
specifier: ^7.2.2
version: 7.3.1(@types/node@24.12.0)(terser@5.46.0)(yaml@2.8.2)
specifier: ^8.0.0
version: 8.0.0(@types/node@24.12.0)(esbuild@0.27.3)(terser@5.46.0)(yaml@2.8.2)
vite-plugin-compression2:
specifier: ^2.3.1
version: 2.5.1(rollup@4.57.1)
@@ -673,6 +673,15 @@ packages:
peerDependencies:
vue: ^3.0.0
'@emnapi/core@1.9.0':
resolution: {integrity: sha512-0DQ98G9ZQZOxfUcQn1waV2yS8aWdZ6kJMbYCJB3oUBecjWYO1fqJ+a1DRfPF3O5JEkwqwP1A9QEN/9mYm2Yd0w==}
'@emnapi/runtime@1.9.0':
resolution: {integrity: sha512-QN75eB0IH2ywSpRpNddCRfQIhmJYBCJ1x5Lb3IscKAL8bMnVAKnRg8dCoXbHzVLLH7P38N2Z3mtulB7W0J0FKw==}
'@emnapi/wasi-threads@1.2.0':
resolution: {integrity: sha512-N10dEJNSsUx41Z6pZsXU8FjPjpBEplgH24sfkmITrBED1/U2Esum9F3lfLrMjKHHjmi557zQn7kR9R+XWXu5Rg==}
'@esbuild/aix-ppc64@0.25.12':
resolution: {integrity: sha512-Hhmwd6CInZ3dwpuGTF8fJG6yoWmsToE+vYgD4nytZVxcu1ulHpUQRAB1UJ8+N1Am3Mz4+xOByoQoSZf4D+CpkA==}
engines: {node: '>=18'}
@@ -1117,6 +1126,9 @@ packages:
'@jridgewell/trace-mapping@0.3.31':
resolution: {integrity: sha512-zzNR+SdQSDJzc8joaeP8QQoCQr8NuYx2dIIytl1QeBEZHJ9uW6hebsrYgbz8hJwUQao3TWCMtmfV8Nu1twOLAw==}
'@napi-rs/wasm-runtime@1.1.1':
resolution: {integrity: sha512-p64ah1M1ld8xjWv3qbvFwHiFVWrq1yFvV4f7w+mzaqiR4IlSgkqhcRdHwsGgomwzBH51sRY4NEowLxnaBjcW/A==}
'@nodelib/fs.scandir@2.1.5':
resolution: {integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==}
engines: {node: '>= 8'}
@@ -1129,13 +1141,118 @@ packages:
resolution: {integrity: sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==}
engines: {node: '>= 8'}
'@oxc-project/runtime@0.115.0':
resolution: {integrity: sha512-Rg8Wlt5dCbXhQnsXPrkOjL1DTSvXLgb2R/KYfnf1/K+R0k6UMLEmbQXPM+kwrWqSmWA2t0B1EtHy2/3zikQpvQ==}
engines: {node: ^20.19.0 || >=22.12.0}
'@oxc-project/types@0.115.0':
resolution: {integrity: sha512-4n91DKnebUS4yjUHl2g3/b2T+IUdCfmoZGhmwsovZCDaJSs+QkVAM+0AqqTxHSsHfeiMuueT75cZaZcT/m0pSw==}
'@pkgr/core@0.2.9':
resolution: {integrity: sha512-QNqXyfVS2wm9hweSYD2O7F0G06uurj9kZ96TRQE5Y9hU7+tgdZwIkbAKc5Ocy1HxEY2kuDQa6cQ1WRs/O5LFKA==}
engines: {node: ^12.20.0 || ^14.18.0 || >=16.0.0}
'@rolldown/binding-android-arm64@1.0.0-rc.9':
resolution: {integrity: sha512-lcJL0bN5hpgJfSIz/8PIf02irmyL43P+j1pTCfbD1DbLkmGRuFIA4DD3B3ZOvGqG0XiVvRznbKtN0COQVaKUTg==}
engines: {node: ^20.19.0 || >=22.12.0}
cpu: [arm64]
os: [android]
'@rolldown/binding-darwin-arm64@1.0.0-rc.9':
resolution: {integrity: sha512-J7Zk3kLYFsLtuH6U+F4pS2sYVzac0qkjcO5QxHS7OS7yZu2LRs+IXo+uvJ/mvpyUljDJ3LROZPoQfgBIpCMhdQ==}
engines: {node: ^20.19.0 || >=22.12.0}
cpu: [arm64]
os: [darwin]
'@rolldown/binding-darwin-x64@1.0.0-rc.9':
resolution: {integrity: sha512-iwtmmghy8nhfRGeNAIltcNXzD0QMNaaA5U/NyZc1Ia4bxrzFByNMDoppoC+hl7cDiUq5/1CnFthpT9n+UtfFyg==}
engines: {node: ^20.19.0 || >=22.12.0}
cpu: [x64]
os: [darwin]
'@rolldown/binding-freebsd-x64@1.0.0-rc.9':
resolution: {integrity: sha512-DLFYI78SCiZr5VvdEplsVC2Vx53lnA4/Ga5C65iyldMVaErr86aiqCoNBLl92PXPfDtUYjUh+xFFor40ueNs4Q==}
engines: {node: ^20.19.0 || >=22.12.0}
cpu: [x64]
os: [freebsd]
'@rolldown/binding-linux-arm-gnueabihf@1.0.0-rc.9':
resolution: {integrity: sha512-CsjTmTwd0Hri6iTw/DRMK7kOZ7FwAkrO4h8YWKoX/kcj833e4coqo2wzIFywtch/8Eb5enQ/lwLM7w6JX1W5RQ==}
engines: {node: ^20.19.0 || >=22.12.0}
cpu: [arm]
os: [linux]
'@rolldown/binding-linux-arm64-gnu@1.0.0-rc.9':
resolution: {integrity: sha512-2x9O2JbSPxpxMDhP9Z74mahAStibTlrBMW0520+epJH5sac7/LwZW5Bmg/E6CXuEF53JJFW509uP+lSedaUNxg==}
engines: {node: ^20.19.0 || >=22.12.0}
cpu: [arm64]
os: [linux]
libc: [glibc]
'@rolldown/binding-linux-arm64-musl@1.0.0-rc.9':
resolution: {integrity: sha512-JA1QRW31ogheAIRhIg9tjMfsYbglXXYGNPLdPEYrwFxdbkQCAzvpSCSHCDWNl4hTtrol8WeboCSEpjdZK8qrCg==}
engines: {node: ^20.19.0 || >=22.12.0}
cpu: [arm64]
os: [linux]
libc: [musl]
'@rolldown/binding-linux-ppc64-gnu@1.0.0-rc.9':
resolution: {integrity: sha512-aOKU9dJheda8Kj8Y3w9gnt9QFOO+qKPAl8SWd7JPHP+Cu0EuDAE5wokQubLzIDQWg2myXq2XhTpOVS07qqvT+w==}
engines: {node: ^20.19.0 || >=22.12.0}
cpu: [ppc64]
os: [linux]
libc: [glibc]
'@rolldown/binding-linux-s390x-gnu@1.0.0-rc.9':
resolution: {integrity: sha512-OalO94fqj7IWRn3VdXWty75jC5dk4C197AWEuMhIpvVv2lw9fiPhud0+bW2ctCxb3YoBZor71QHbY+9/WToadA==}
engines: {node: ^20.19.0 || >=22.12.0}
cpu: [s390x]
os: [linux]
libc: [glibc]
'@rolldown/binding-linux-x64-gnu@1.0.0-rc.9':
resolution: {integrity: sha512-cVEl1vZtBsBZna3YMjGXNvnYYrOJ7RzuWvZU0ffvJUexWkukMaDuGhUXn0rjnV0ptzGVkvc+vW9Yqy6h8YX4pg==}
engines: {node: ^20.19.0 || >=22.12.0}
cpu: [x64]
os: [linux]
libc: [glibc]
'@rolldown/binding-linux-x64-musl@1.0.0-rc.9':
resolution: {integrity: sha512-UzYnKCIIc4heAKgI4PZ3dfBGUZefGCJ1TPDuLHoCzgrMYPb5Rv6TLFuYtyM4rWyHM7hymNdsg5ik2C+UD9VDbA==}
engines: {node: ^20.19.0 || >=22.12.0}
cpu: [x64]
os: [linux]
libc: [musl]
'@rolldown/binding-openharmony-arm64@1.0.0-rc.9':
resolution: {integrity: sha512-+6zoiF+RRyf5cdlFQP7nm58mq7+/2PFaY2DNQeD4B87N36JzfF/l9mdBkkmTvSYcYPE8tMh/o3cRlsx1ldLfog==}
engines: {node: ^20.19.0 || >=22.12.0}
cpu: [arm64]
os: [openharmony]
'@rolldown/binding-wasm32-wasi@1.0.0-rc.9':
resolution: {integrity: sha512-rgFN6sA/dyebil3YTlL2evvi/M+ivhfnyxec7AccTpRPccno/rPoNlqybEZQBkcbZu8Hy+eqNJCqfBR8P7Pg8g==}
engines: {node: '>=14.0.0'}
cpu: [wasm32]
'@rolldown/binding-win32-arm64-msvc@1.0.0-rc.9':
resolution: {integrity: sha512-lHVNUG/8nlF1IQk1C0Ci574qKYyty2goMiPlRqkC5R+3LkXDkL5Dhx8ytbxq35m+pkHVIvIxviD+TWLdfeuadA==}
engines: {node: ^20.19.0 || >=22.12.0}
cpu: [arm64]
os: [win32]
'@rolldown/binding-win32-x64-msvc@1.0.0-rc.9':
resolution: {integrity: sha512-G0oA4+w1iY5AGi5HcDTxWsoxF509hrFIPB2rduV5aDqS9FtDg1CAfa7V34qImbjfhIcA8C+RekocJZA96EarwQ==}
engines: {node: ^20.19.0 || >=22.12.0}
cpu: [x64]
os: [win32]
'@rolldown/pluginutils@1.0.0-rc.2':
resolution: {integrity: sha512-izyXV/v+cHiRfozX62W9htOAvwMo4/bXKDrQ+vom1L1qRuexPock/7VZDAhnpHCLNejd3NJ6hiab+tO0D44Rgw==}
'@rolldown/pluginutils@1.0.0-rc.9':
resolution: {integrity: sha512-w6oiRWgEBl04QkFZgmW+jnU1EC9b57Oihi2ot3HNWIQRqgHp5PnYDia5iZ5FF7rpa4EQdiqMDXjlqKGXBhsoXw==}
'@rollup/pluginutils@5.3.0':
resolution: {integrity: sha512-5EdhGZtnu3V88ces7s53hhfK5KSASnJZv8Lulpc04cWO3REESroJXg73DFsOmgbU2BhwV0E20bu2IDZb3VKW4Q==}
engines: {node: '>=14.0.0'}
@@ -1286,6 +1403,9 @@ packages:
'@tsconfig/node24@24.0.4':
resolution: {integrity: sha512-2A933l5P5oCbv6qSxHs7ckKwobs8BDAe9SJ/Xr2Hy+nDlwmLE1GhFh/g/vXGRZWgxBg9nX/5piDtHR9Dkw/XuA==}
'@tybys/wasm-util@0.10.1':
resolution: {integrity: sha512-9tTaPJLSiejZKx+Bmog4uSubteqTvFrVrURwkmHixBo0G4seD0zUxp98E1DzUBJxLQ3NPwXrGKDiVjwx/DpPsg==}
'@types/esrecurse@4.3.1':
resolution: {integrity: sha512-xJBAbDifo5hpffDBuHl0Y8ywswbiAp/Wi7Y/GtAgSlZyIABppyurxVueOPE8LUQOxdlgi6Zqce7uoEpqNTeiUw==}
@@ -1806,6 +1926,10 @@ packages:
deep-is@0.1.4:
resolution: {integrity: sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==}
detect-libc@2.1.2:
resolution: {integrity: sha512-Btj2BOOO83o3WyH59e8MgXsxEQVcarkUOpEYrubB0urwnN10yQ364rsiByU11nZlqWYZm05i/of7io4mzihBtQ==}
engines: {node: '>=8'}
dom-walk@0.1.2:
resolution: {integrity: sha512-6QvTW9mrGeIegrFXdtQi9pk7O/nSK6lSdXW2eqUspN5LWD7UTji2Fqw5V2YLjBpHEoU9Xl/eUWNpDeZvoyOv2w==}
@@ -2151,6 +2275,80 @@ packages:
lie@3.3.0:
resolution: {integrity: sha512-UaiMJzeWRlEujzAuw5LokY1L5ecNQYZKfmyZ9L7wDHb/p5etKaxXhohBcrw0EYby+G/NA52vRSN4N39dxHAIwQ==}
lightningcss-android-arm64@1.32.0:
resolution: {integrity: sha512-YK7/ClTt4kAK0vo6w3X+Pnm0D2cf2vPHbhOXdoNti1Ga0al1P4TBZhwjATvjNwLEBCnKvjJc2jQgHXH0NEwlAg==}
engines: {node: '>= 12.0.0'}
cpu: [arm64]
os: [android]
lightningcss-darwin-arm64@1.32.0:
resolution: {integrity: sha512-RzeG9Ju5bag2Bv1/lwlVJvBE3q6TtXskdZLLCyfg5pt+HLz9BqlICO7LZM7VHNTTn/5PRhHFBSjk5lc4cmscPQ==}
engines: {node: '>= 12.0.0'}
cpu: [arm64]
os: [darwin]
lightningcss-darwin-x64@1.32.0:
resolution: {integrity: sha512-U+QsBp2m/s2wqpUYT/6wnlagdZbtZdndSmut/NJqlCcMLTWp5muCrID+K5UJ6jqD2BFshejCYXniPDbNh73V8w==}
engines: {node: '>= 12.0.0'}
cpu: [x64]
os: [darwin]
lightningcss-freebsd-x64@1.32.0:
resolution: {integrity: sha512-JCTigedEksZk3tHTTthnMdVfGf61Fky8Ji2E4YjUTEQX14xiy/lTzXnu1vwiZe3bYe0q+SpsSH/CTeDXK6WHig==}
engines: {node: '>= 12.0.0'}
cpu: [x64]
os: [freebsd]
lightningcss-linux-arm-gnueabihf@1.32.0:
resolution: {integrity: sha512-x6rnnpRa2GL0zQOkt6rts3YDPzduLpWvwAF6EMhXFVZXD4tPrBkEFqzGowzCsIWsPjqSK+tyNEODUBXeeVHSkw==}
engines: {node: '>= 12.0.0'}
cpu: [arm]
os: [linux]
lightningcss-linux-arm64-gnu@1.32.0:
resolution: {integrity: sha512-0nnMyoyOLRJXfbMOilaSRcLH3Jw5z9HDNGfT/gwCPgaDjnx0i8w7vBzFLFR1f6CMLKF8gVbebmkUN3fa/kQJpQ==}
engines: {node: '>= 12.0.0'}
cpu: [arm64]
os: [linux]
libc: [glibc]
lightningcss-linux-arm64-musl@1.32.0:
resolution: {integrity: sha512-UpQkoenr4UJEzgVIYpI80lDFvRmPVg6oqboNHfoH4CQIfNA+HOrZ7Mo7KZP02dC6LjghPQJeBsvXhJod/wnIBg==}
engines: {node: '>= 12.0.0'}
cpu: [arm64]
os: [linux]
libc: [musl]
lightningcss-linux-x64-gnu@1.32.0:
resolution: {integrity: sha512-V7Qr52IhZmdKPVr+Vtw8o+WLsQJYCTd8loIfpDaMRWGUZfBOYEJeyJIkqGIDMZPwPx24pUMfwSxxI8phr/MbOA==}
engines: {node: '>= 12.0.0'}
cpu: [x64]
os: [linux]
libc: [glibc]
lightningcss-linux-x64-musl@1.32.0:
resolution: {integrity: sha512-bYcLp+Vb0awsiXg/80uCRezCYHNg1/l3mt0gzHnWV9XP1W5sKa5/TCdGWaR/zBM2PeF/HbsQv/j2URNOiVuxWg==}
engines: {node: '>= 12.0.0'}
cpu: [x64]
os: [linux]
libc: [musl]
lightningcss-win32-arm64-msvc@1.32.0:
resolution: {integrity: sha512-8SbC8BR40pS6baCM8sbtYDSwEVQd4JlFTOlaD3gWGHfThTcABnNDBda6eTZeqbofalIJhFx0qKzgHJmcPTnGdw==}
engines: {node: '>= 12.0.0'}
cpu: [arm64]
os: [win32]
lightningcss-win32-x64-msvc@1.32.0:
resolution: {integrity: sha512-Amq9B/SoZYdDi1kFrojnoqPLxYhQ4Wo5XiL8EVJrVsB8ARoC1PWW6VGtT0WKCemjy8aC+louJnjS7U18x3b06Q==}
engines: {node: '>= 12.0.0'}
cpu: [x64]
os: [win32]
lightningcss@1.32.0:
resolution: {integrity: sha512-NXYBzinNrblfraPGyrbPoD19C1h9lfI/1mzgWYvXUTe414Gz/X1FD2XBZSZM7rRTrMA8JL3OtAaGifrIKhQ5yQ==}
engines: {node: '>= 12.0.0'}
local-pkg@1.1.2:
resolution: {integrity: sha512-arhlxbFRmoQHl33a0Zkle/YWlmNwoyt6QNZEIJcqNbdrsix5Lvc4HyyI3EnwxTYlZYc32EbYrQ8SzEZ7dqgg9A==}
engines: {node: '>=14'}
@@ -2463,6 +2661,11 @@ packages:
rfdc@1.4.1:
resolution: {integrity: sha512-q1b3N5QkRUWUl7iyylaaj3kOpIT0N2i9MqIEQXP73GVsN9cw3fdx8X63cEmWhJGi2PPCF23Ijp7ktmd39rawIA==}
rolldown@1.0.0-rc.9:
resolution: {integrity: sha512-9EbgWge7ZH+yqb4d2EnELAntgPTWbfL8ajiTW+SyhJEC4qhBbkCKbqFV4Ge4zmu5ziQuVbWxb/XwLZ+RIO7E8Q==}
engines: {node: ^20.19.0 || >=22.12.0}
hasBin: true
rollup@4.57.1:
resolution: {integrity: sha512-oQL6lgK3e2QZeQ7gcgIkS2YZPg5slw37hYufJ3edKlfQSGGm8ICoxswK15ntSzF/a8+h7ekRy7k7oWc3BQ7y8A==}
engines: {node: '>=18.0.0', npm: '>=8.0.0'}
@@ -2558,6 +2761,9 @@ packages:
peerDependencies:
typescript: '>=4.8.4'
tslib@2.8.1:
resolution: {integrity: sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==}
tus-js-client@4.3.1:
resolution: {integrity: sha512-ZLeYmjrkaU1fUsKbIi8JML52uAocjEZtBx4DKjRrqzrZa0O4MYwT6db+oqePlspV+FxXJAyFBc/L5gwUi2OFsg==}
engines: {node: '>=18'}
@@ -2660,15 +2866,16 @@ packages:
vite-plugin-compression2@2.5.1:
resolution: {integrity: sha512-2YpLZWs1ZRo9XwtSFA6/NVuBgOR+kvFk8M0HNDsP7Wu7OfJDOKT6fHB8kzuvw6jhgC9KYgDOttfaG2qC0wE9AQ==}
vite@7.3.1:
resolution: {integrity: sha512-w+N7Hifpc3gRjZ63vYBXA56dvvRlNWRczTdmCBBa+CotUzAPf5b7YMdMR/8CQoeYE5LX3W4wj6RYTgonm1b9DA==}
vite@8.0.0:
resolution: {integrity: sha512-fPGaRNj9Zytaf8LEiBhY7Z6ijnFKdzU/+mL8EFBaKr7Vw1/FWcTBAMW0wLPJAGMPX38ZPVCVgLceWiEqeoqL2Q==}
engines: {node: ^20.19.0 || >=22.12.0}
hasBin: true
peerDependencies:
'@types/node': ^20.19.0 || >=22.12.0
'@vitejs/devtools': ^0.0.0-alpha.31
esbuild: ^0.27.0
jiti: '>=1.21.0'
less: ^4.0.0
lightningcss: ^1.21.0
sass: ^1.70.0
sass-embedded: ^1.70.0
stylus: '>=0.54.8'
@@ -2679,12 +2886,14 @@ packages:
peerDependenciesMeta:
'@types/node':
optional: true
'@vitejs/devtools':
optional: true
esbuild:
optional: true
jiti:
optional: true
less:
optional: true
lightningcss:
optional: true
sass:
optional: true
sass-embedded:
@@ -3458,6 +3667,22 @@ snapshots:
dependencies:
vue: 3.5.30(typescript@5.9.3)
'@emnapi/core@1.9.0':
dependencies:
'@emnapi/wasi-threads': 1.2.0
tslib: 2.8.1
optional: true
'@emnapi/runtime@1.9.0':
dependencies:
tslib: 2.8.1
optional: true
'@emnapi/wasi-threads@1.2.0':
dependencies:
tslib: 2.8.1
optional: true
'@esbuild/aix-ppc64@0.25.12':
optional: true
@@ -3751,6 +3976,13 @@ snapshots:
'@jridgewell/resolve-uri': 3.1.2
'@jridgewell/sourcemap-codec': 1.5.5
'@napi-rs/wasm-runtime@1.1.1':
dependencies:
'@emnapi/core': 1.9.0
'@emnapi/runtime': 1.9.0
'@tybys/wasm-util': 0.10.1
optional: true
'@nodelib/fs.scandir@2.1.5':
dependencies:
'@nodelib/fs.stat': 2.0.5
@@ -3763,10 +3995,63 @@ snapshots:
'@nodelib/fs.scandir': 2.1.5
fastq: 1.20.1
'@oxc-project/runtime@0.115.0': {}
'@oxc-project/types@0.115.0': {}
'@pkgr/core@0.2.9': {}
'@rolldown/binding-android-arm64@1.0.0-rc.9':
optional: true
'@rolldown/binding-darwin-arm64@1.0.0-rc.9':
optional: true
'@rolldown/binding-darwin-x64@1.0.0-rc.9':
optional: true
'@rolldown/binding-freebsd-x64@1.0.0-rc.9':
optional: true
'@rolldown/binding-linux-arm-gnueabihf@1.0.0-rc.9':
optional: true
'@rolldown/binding-linux-arm64-gnu@1.0.0-rc.9':
optional: true
'@rolldown/binding-linux-arm64-musl@1.0.0-rc.9':
optional: true
'@rolldown/binding-linux-ppc64-gnu@1.0.0-rc.9':
optional: true
'@rolldown/binding-linux-s390x-gnu@1.0.0-rc.9':
optional: true
'@rolldown/binding-linux-x64-gnu@1.0.0-rc.9':
optional: true
'@rolldown/binding-linux-x64-musl@1.0.0-rc.9':
optional: true
'@rolldown/binding-openharmony-arm64@1.0.0-rc.9':
optional: true
'@rolldown/binding-wasm32-wasi@1.0.0-rc.9':
dependencies:
'@napi-rs/wasm-runtime': 1.1.1
optional: true
'@rolldown/binding-win32-arm64-msvc@1.0.0-rc.9':
optional: true
'@rolldown/binding-win32-x64-msvc@1.0.0-rc.9':
optional: true
'@rolldown/pluginutils@1.0.0-rc.2': {}
'@rolldown/pluginutils@1.0.0-rc.9': {}
'@rollup/pluginutils@5.3.0(rollup@4.57.1)':
dependencies:
'@types/estree': 1.0.8
@@ -3852,6 +4137,11 @@ snapshots:
'@tsconfig/node24@24.0.4': {}
'@tybys/wasm-util@0.10.1':
dependencies:
tslib: 2.8.1
optional: true
'@types/esrecurse@4.3.1': {}
'@types/estree@1.0.8': {}
@@ -4069,7 +4359,7 @@ snapshots:
global: 4.4.0
is-function: 1.0.2
'@vitejs/plugin-legacy@8.0.0(terser@5.46.0)(vite@7.3.1(@types/node@24.12.0)(terser@5.46.0)(yaml@2.8.2))':
'@vitejs/plugin-legacy@8.0.0(terser@5.46.0)(vite@8.0.0(@types/node@24.12.0)(esbuild@0.27.3)(terser@5.46.0)(yaml@2.8.2))':
dependencies:
'@babel/core': 7.29.0
'@babel/plugin-transform-dynamic-import': 7.27.1(@babel/core@7.29.0)
@@ -4084,14 +4374,14 @@ snapshots:
regenerator-runtime: 0.14.1
systemjs: 6.15.1
terser: 5.46.0
vite: 7.3.1(@types/node@24.12.0)(terser@5.46.0)(yaml@2.8.2)
vite: 8.0.0(@types/node@24.12.0)(esbuild@0.27.3)(terser@5.46.0)(yaml@2.8.2)
transitivePeerDependencies:
- supports-color
'@vitejs/plugin-vue@6.0.5(vite@7.3.1(@types/node@24.12.0)(terser@5.46.0)(yaml@2.8.2))(vue@3.5.30(typescript@5.9.3))':
'@vitejs/plugin-vue@6.0.5(vite@8.0.0(@types/node@24.12.0)(esbuild@0.27.3)(terser@5.46.0)(yaml@2.8.2))(vue@3.5.30(typescript@5.9.3))':
dependencies:
'@rolldown/pluginutils': 1.0.0-rc.2
vite: 7.3.1(@types/node@24.12.0)(terser@5.46.0)(yaml@2.8.2)
vite: 8.0.0(@types/node@24.12.0)(esbuild@0.27.3)(terser@5.46.0)(yaml@2.8.2)
vue: 3.5.30(typescript@5.9.3)
'@volar/language-core@2.4.28':
@@ -4469,6 +4759,8 @@ snapshots:
deep-is@0.1.4: {}
detect-libc@2.1.2: {}
dom-walk@0.1.2: {}
dompurify@3.3.3:
@@ -4566,6 +4858,7 @@ snapshots:
'@esbuild/win32-arm64': 0.27.3
'@esbuild/win32-ia32': 0.27.3
'@esbuild/win32-x64': 0.27.3
optional: true
escalade@3.2.0: {}
@@ -4861,6 +5154,55 @@ snapshots:
dependencies:
immediate: 3.0.6
lightningcss-android-arm64@1.32.0:
optional: true
lightningcss-darwin-arm64@1.32.0:
optional: true
lightningcss-darwin-x64@1.32.0:
optional: true
lightningcss-freebsd-x64@1.32.0:
optional: true
lightningcss-linux-arm-gnueabihf@1.32.0:
optional: true
lightningcss-linux-arm64-gnu@1.32.0:
optional: true
lightningcss-linux-arm64-musl@1.32.0:
optional: true
lightningcss-linux-x64-gnu@1.32.0:
optional: true
lightningcss-linux-x64-musl@1.32.0:
optional: true
lightningcss-win32-arm64-msvc@1.32.0:
optional: true
lightningcss-win32-x64-msvc@1.32.0:
optional: true
lightningcss@1.32.0:
dependencies:
detect-libc: 2.1.2
optionalDependencies:
lightningcss-android-arm64: 1.32.0
lightningcss-darwin-arm64: 1.32.0
lightningcss-darwin-x64: 1.32.0
lightningcss-freebsd-x64: 1.32.0
lightningcss-linux-arm-gnueabihf: 1.32.0
lightningcss-linux-arm64-gnu: 1.32.0
lightningcss-linux-arm64-musl: 1.32.0
lightningcss-linux-x64-gnu: 1.32.0
lightningcss-linux-x64-musl: 1.32.0
lightningcss-win32-arm64-msvc: 1.32.0
lightningcss-win32-x64-msvc: 1.32.0
local-pkg@1.1.2:
dependencies:
mlly: 1.8.0
@@ -5154,6 +5496,27 @@ snapshots:
rfdc@1.4.1: {}
rolldown@1.0.0-rc.9:
dependencies:
'@oxc-project/types': 0.115.0
'@rolldown/pluginutils': 1.0.0-rc.9
optionalDependencies:
'@rolldown/binding-android-arm64': 1.0.0-rc.9
'@rolldown/binding-darwin-arm64': 1.0.0-rc.9
'@rolldown/binding-darwin-x64': 1.0.0-rc.9
'@rolldown/binding-freebsd-x64': 1.0.0-rc.9
'@rolldown/binding-linux-arm-gnueabihf': 1.0.0-rc.9
'@rolldown/binding-linux-arm64-gnu': 1.0.0-rc.9
'@rolldown/binding-linux-arm64-musl': 1.0.0-rc.9
'@rolldown/binding-linux-ppc64-gnu': 1.0.0-rc.9
'@rolldown/binding-linux-s390x-gnu': 1.0.0-rc.9
'@rolldown/binding-linux-x64-gnu': 1.0.0-rc.9
'@rolldown/binding-linux-x64-musl': 1.0.0-rc.9
'@rolldown/binding-openharmony-arm64': 1.0.0-rc.9
'@rolldown/binding-wasm32-wasi': 1.0.0-rc.9
'@rolldown/binding-win32-arm64-msvc': 1.0.0-rc.9
'@rolldown/binding-win32-x64-msvc': 1.0.0-rc.9
rollup@4.57.1:
dependencies:
'@types/estree': 1.0.8
@@ -5184,6 +5547,7 @@ snapshots:
'@rollup/rollup-win32-x64-gnu': 4.57.1
'@rollup/rollup-win32-x64-msvc': 4.57.1
fsevents: 2.3.3
optional: true
run-parallel@1.2.0:
dependencies:
@@ -5259,6 +5623,9 @@ snapshots:
dependencies:
typescript: 5.9.3
tslib@2.8.1:
optional: true
tus-js-client@4.3.1:
dependencies:
buffer-from: 1.1.2
@@ -5382,16 +5749,17 @@ snapshots:
transitivePeerDependencies:
- rollup
vite@7.3.1(@types/node@24.12.0)(terser@5.46.0)(yaml@2.8.2):
vite@8.0.0(@types/node@24.12.0)(esbuild@0.27.3)(terser@5.46.0)(yaml@2.8.2):
dependencies:
esbuild: 0.27.3
fdir: 6.5.0(picomatch@4.0.3)
'@oxc-project/runtime': 0.115.0
lightningcss: 1.32.0
picomatch: 4.0.3
postcss: 8.5.8
rollup: 4.57.1
rolldown: 1.0.0-rc.9
tinyglobby: 0.2.15
optionalDependencies:
'@types/node': 24.12.0
esbuild: 0.27.3
fsevents: 2.3.3
terser: 5.46.0
yaml: 2.8.2

View File

@@ -147,26 +147,33 @@ interface LanguageImports {
}
const languageImports: LanguageImports = {
he: () => import("video.js/dist/lang/he.json"),
hu: () => import("video.js/dist/lang/hu.json"),
ar: () => import("video.js/dist/lang/ar.json"),
bg: () => import("video.js/dist/lang/bg.json"),
cs: () => import("video.js/dist/lang/cs.json"),
de: () => import("video.js/dist/lang/de.json"),
el: () => import("video.js/dist/lang/el.json"),
en: () => import("video.js/dist/lang/en.json"),
es: () => import("video.js/dist/lang/es.json"),
fr: () => import("video.js/dist/lang/fr.json"),
he: () => import("video.js/dist/lang/he.json"),
hr: () => import("video.js/dist/lang/hr.json"),
hu: () => import("video.js/dist/lang/hu.json"),
it: () => import("video.js/dist/lang/it.json"),
ja: () => import("video.js/dist/lang/ja.json"),
ko: () => import("video.js/dist/lang/ko.json"),
lv: () => import("video.js/dist/lang/lv.json"),
nb: () => import("video.js/dist/lang/nb.json"),
nl: () => import("video.js/dist/lang/nl.json"),
"nl-be": () => import("video.js/dist/lang/nl.json"),
pl: () => import("video.js/dist/lang/pl.json"),
"pt-br": () => import("video.js/dist/lang/pt-BR.json"),
pt: () => import("video.js/dist/lang/pt-PT.json"),
"pt-pt": () => import("video.js/dist/lang/pt-PT.json"),
ro: () => import("video.js/dist/lang/ro.json"),
ru: () => import("video.js/dist/lang/ru.json"),
sk: () => import("video.js/dist/lang/sk.json"),
tr: () => import("video.js/dist/lang/tr.json"),
uk: () => import("video.js/dist/lang/uk.json"),
vi: () => import("video.js/dist/lang/vi.json"),
"zh-cn": () => import("video.js/dist/lang/zh-CN.json"),
"zh-tw": () => import("video.js/dist/lang/zh-TW.json"),
};

View File

@@ -34,9 +34,10 @@ export default {
no: "Norsk",
nl: "Nederlands (Nederland)",
"nl-be": "Nederlands (België)",
lv: "Latviešu",
pl: "Polski",
"pt-br": "Português (Brasil)",
pt: "Português (Portugal)",
"pt-pt": "Português (Portugal)",
ro: "Romanian",
ru: "Русский",
sk: "Slovenčina",

View File

@@ -175,7 +175,9 @@
"filesInDest": "Files in destination",
"override": "Overwrite",
"skip": "Skip",
"forbiddenError": "Forbidden Error"
"forbiddenError": "Forbidden Error",
"currentPassword": "Your password",
"currentPasswordMessage": "Enter your password to validate this action."
},
"search": {
"images": "الصور",

View File

@@ -175,7 +175,9 @@
"filesInDest": "Files in destination",
"override": "Overwrite",
"skip": "Skip",
"forbiddenError": "Forbidden Error"
"forbiddenError": "Forbidden Error",
"currentPassword": "Your password",
"currentPasswordMessage": "Enter your password to validate this action."
},
"search": {
"images": "Изображения",

View File

@@ -175,7 +175,9 @@
"filesInDest": "Files in destination",
"override": "Overwrite",
"skip": "Skip",
"forbiddenError": "Forbidden Error"
"forbiddenError": "Forbidden Error",
"currentPassword": "Your password",
"currentPasswordMessage": "Enter your password to validate this action."
},
"search": {
"images": "Imatges",

View File

@@ -175,7 +175,9 @@
"filesInDest": "Files in destination",
"override": "Overwrite",
"skip": "Skip",
"forbiddenError": "Forbidden Error"
"forbiddenError": "Forbidden Error",
"currentPassword": "Your password",
"currentPasswordMessage": "Enter your password to validate this action."
},
"search": {
"images": "Obrázky",

View File

@@ -175,7 +175,9 @@
"filesInDest": "Dateien im Zielordner",
"override": "Überschreiben",
"skip": "Überspringen",
"forbiddenError": "Zugriff verweigert"
"forbiddenError": "Zugriff verweigert",
"currentPassword": "Dein Passwort",
"currentPasswordMessage": "Gib dein Passwort ein, um diese Aktion zu bestätigen."
},
"search": {
"images": "Bilder",

View File

@@ -175,7 +175,9 @@
"filesInDest": "Files in destination",
"override": "Overwrite",
"skip": "Skip",
"forbiddenError": "Forbidden Error"
"forbiddenError": "Forbidden Error",
"currentPassword": "Your password",
"currentPasswordMessage": "Enter your password to validate this action."
},
"search": {
"images": "Εικόνες",

View File

@@ -175,7 +175,9 @@
"filesInDest": "Files in destination",
"override": "Overwrite",
"skip": "Skip",
"forbiddenError": "Forbidden Error"
"forbiddenError": "Forbidden Error",
"currentPassword": "Your password",
"currentPasswordMessage": "Enter your password to validate this action."
},
"search": {
"images": "Imágenes",

View File

@@ -175,7 +175,9 @@
"filesInDest": "Files in destination",
"override": "Overwrite",
"skip": "Skip",
"forbiddenError": "Forbidden Error"
"forbiddenError": "Forbidden Error",
"currentPassword": "Your password",
"currentPasswordMessage": "Enter your password to validate this action."
},
"search": {
"images": "تصاویر",

View File

@@ -175,7 +175,9 @@
"filesInDest": "Files in destination",
"override": "Overwrite",
"skip": "Skip",
"forbiddenError": "Forbidden Error"
"forbiddenError": "Forbidden Error",
"currentPassword": "Your password",
"currentPasswordMessage": "Enter your password to validate this action."
},
"search": {
"images": "Images",

View File

@@ -175,7 +175,9 @@
"filesInDest": "Files in destination",
"override": "Overwrite",
"skip": "Skip",
"forbiddenError": "Forbidden Error"
"forbiddenError": "Forbidden Error",
"currentPassword": "Your password",
"currentPasswordMessage": "Enter your password to validate this action."
},
"search": {
"images": "תמונות",

View File

@@ -175,7 +175,9 @@
"filesInDest": "Files in destination",
"override": "Overwrite",
"skip": "Skip",
"forbiddenError": "Forbidden Error"
"forbiddenError": "Forbidden Error",
"currentPassword": "Your password",
"currentPasswordMessage": "Enter your password to validate this action."
},
"search": {
"images": "Slike",

View File

@@ -175,7 +175,9 @@
"filesInDest": "Files in destination",
"override": "Overwrite",
"skip": "Skip",
"forbiddenError": "Forbidden Error"
"forbiddenError": "Forbidden Error",
"currentPassword": "Your password",
"currentPasswordMessage": "Enter your password to validate this action."
},
"search": {
"images": "Képek",

View File

@@ -3,6 +3,7 @@ import { createI18n } from "vue-i18n";
import("dayjs/locale/ar");
import("dayjs/locale/bg");
import("dayjs/locale/ca");
import("dayjs/locale/cs");
import("dayjs/locale/de");
import("dayjs/locale/el");
@@ -16,6 +17,7 @@ import("dayjs/locale/is");
import("dayjs/locale/it");
import("dayjs/locale/ja");
import("dayjs/locale/ko");
import("dayjs/locale/lv");
import("dayjs/locale/nb");
import("dayjs/locale/nl");
import("dayjs/locale/nl-be");
@@ -41,6 +43,18 @@ export function detectLocale() {
// https://developer.mozilla.org/en-US/docs/Web/API/Navigator/language
let locale = navigator.language.toLowerCase();
switch (true) {
case /^ar\b/.test(locale):
locale = "ar";
break;
case /^bg\b/.test(locale):
locale = "bg";
break;
case /^cs\b/.test(locale):
locale = "cs";
break;
case /^lv\b/.test(locale):
locale = "lv";
break;
case /^he\b/.test(locale):
locale = "he";
break;
@@ -50,9 +64,6 @@ export function detectLocale() {
case /^hu\b/.test(locale):
locale = "hu";
break;
case /^ar\b/.test(locale):
locale = "ar";
break;
case /^el.*/i.test(locale):
locale = "el";
break;
@@ -74,8 +85,9 @@ export function detectLocale() {
case /^pt-br\b/.test(locale):
locale = "pt-br";
break;
case /^pt-pt\b/.test(locale):
case /^pt\b/.test(locale):
locale = "pt";
locale = "pt-pt";
break;
case /^ja\b/.test(locale):
locale = "ja";
@@ -128,9 +140,7 @@ export function detectLocale() {
case /^no\b/.test(locale):
locale = "no";
break;
case /^bg\b/.test(locale):
locale = "bg";
break;
default:
locale = "en";
}

View File

@@ -175,7 +175,9 @@
"filesInDest": "Files in destination",
"override": "Overwrite",
"skip": "Skip",
"forbiddenError": "Forbidden Error"
"forbiddenError": "Forbidden Error",
"currentPassword": "Your password",
"currentPasswordMessage": "Enter your password to validate this action."
},
"search": {
"images": "Myndir",

View File

@@ -175,7 +175,9 @@
"filesInDest": "Files in destination",
"override": "Overwrite",
"skip": "Skip",
"forbiddenError": "Forbidden Error"
"forbiddenError": "Forbidden Error",
"currentPassword": "Your password",
"currentPasswordMessage": "Enter your password to validate this action."
},
"search": {
"images": "Immagini",

View File

@@ -175,7 +175,9 @@
"filesInDest": "Files in destination",
"override": "Overwrite",
"skip": "Skip",
"forbiddenError": "Forbidden Error"
"forbiddenError": "Forbidden Error",
"currentPassword": "Your password",
"currentPasswordMessage": "Enter your password to validate this action."
},
"search": {
"images": "画像",

View File

@@ -175,7 +175,9 @@
"filesInDest": "대상 경로의 파일",
"override": "덮어쓰기",
"skip": "건너뛰기",
"forbiddenError": "권한 오류"
"forbiddenError": "권한 오류",
"currentPassword": "Your password",
"currentPasswordMessage": "Enter your password to validate this action."
},
"search": {
"images": "이미지",

View File

@@ -175,7 +175,9 @@
"filesInDest": "Files in destination",
"override": "Overwrite",
"skip": "Skip",
"forbiddenError": "Forbidden Error"
"forbiddenError": "Forbidden Error",
"currentPassword": "Your password",
"currentPasswordMessage": "Enter your password to validate this action."
},
"search": {
"images": "Attēli",

View File

@@ -1,304 +0,0 @@
{
"buttons": {
"cancel": "Atcelt",
"clear": "Tīrs",
"close": "Aizvērt",
"continue": "Turpināt",
"copy": "Kopēt",
"copyFile": "Kopēt failu",
"copyToClipboard": "Kopēt starpliktuvē",
"copyDownloadLinkToClipboard": "Kopēt lejupielādes saiti starpliktuvē",
"create": "Izveidot",
"delete": "Dzēst",
"download": "Lejupielādēt",
"file": "Fails",
"folder": "Mape",
"fullScreen": "Pārslēgt pilnekrāna režīmu",
"hideDotfiles": "Slēpt punktfailus",
"info": "Informācija",
"more": "Vairāk",
"move": "Pārvietot",
"moveFile": "Pārvietot failu",
"new": "Jauns",
"next": "Nākamais",
"ok": "Labi",
"permalink": "Iegūt pastāvīgo saiti",
"previous": "Iepriekšējais",
"preview": "Priekšskatījums",
"publish": "Publicēt",
"rename": "Pārdēvēt",
"replace": "Aizstāt",
"reportIssue": "Ziņot par problēmu",
"save": "Saglabāt",
"schedule": "Grafiks",
"search": "Meklēt",
"select": "Izvēlieties",
"selectMultiple": "Izvēlieties vairākus",
"share": "Dalīties",
"shell": "Pārslēgt apvalku",
"submit": "Iesniegt",
"switchView": "Pārslēgt skatu",
"toggleSidebar": "Pārslēgt sānjoslu",
"update": "Atjaunināt",
"upload": "Augšupielādēt",
"openFile": "Atvērt failu",
"openDirect": "View raw",
"discardChanges": "Izmest",
"stopSearch": "Beigt meklēšanu",
"saveChanges": "Saglabāt izmaiņas",
"editAsText": "Rediģēt kā tekstu",
"increaseFontSize": "Palieliniet fonta lielumu",
"decreaseFontSize": "Samaziniet fonta lielumu",
"overrideAll": "Replace all files in destination folder",
"skipAll": "Skip all conflicting files",
"renameAll": "Rename all files (create a copy)",
"singleDecision": "Decide for each conflicting file"
},
"download": {
"downloadFile": "Lejupielādēt failu",
"downloadFolder": "Lejupielādēt mapi",
"downloadSelected": "Lejupielādēt atlasīto"
},
"upload": {
"abortUpload": "Vai tiešām vēlaties pārtraukt?"
},
"errors": {
"forbidden": "Jums nav atļaujas piekļūt šim.",
"internal": "Kaut kas tiešām nogāja greizi.",
"notFound": "Šo atrašanās vietu nevar sasniegt.",
"connection": "Ar serveri nevar sazināties."
},
"files": {
"body": "Ķermenis",
"closePreview": "Aizvērt priekšskatījumu",
"files": "Faili",
"folders": "Mapes",
"home": "Sākums",
"lastModified": "Pēdējoreiz modificēts",
"loading": "Notiek ielāde...",
"lonely": "Šeit ir tukša vieta...",
"metadata": "Metadati",
"multipleSelectionEnabled": "Vairākas atlases ir iespējotas",
"name": "Vārds",
"size": "Izmērs",
"sortByLastModified": "Kārtot pēc pēdējās modifikācijas",
"sortByName": "Kārtot pēc nosaukuma",
"sortBySize": "Kārtot pēc izmēra",
"noPreview": "Šim failam nav pieejams priekšskatījums.",
"csvTooLarge": "CSV fails ir pārāk liels priekšskatīšanai (>5 MB). Lūdzu, lejupielādējiet to, lai skatītu",
"csvLoadFailed": "Neizdevās ielādēt CSV failu.",
"showingRows": "Rāda {count} rindu(as)",
"columnSeparator": "Kolonnu atdalītājs",
"csvSeparators": {
"comma": "Komats (,)",
"semicolon": "Semikols (;)",
"both": "Gan (,) gan (;)"
},
"fileEncoding": "File Encoding"
},
"help": {
"click": "atlasiet failu vai direktoriju",
"ctrl": {
"click": "atlasīt vairākus failus vai direktorijus",
"f": "atver meklēšanu",
"s": "saglabājiet failu vai lejupielādējiet direktoriju, kurā atrodaties"
},
"del": "dzēst atlasītos vienumus",
"doubleClick": "atvērt failu vai direktoriju",
"esc": "notīrīt atlasi un/vai aizvērt uzvedni",
"f1": "šo informāciju",
"f2": "pārdēvēt failu",
"help": "Palīdzība"
},
"login": {
"createAnAccount": "Izveidot kontu",
"loginInstead": "Jau ir konts",
"password": "Parole",
"passwordConfirm": "Paroles apstiprināšana",
"passwordsDontMatch": "Paroles nesakrīt",
"signup": "Reģistrēšanās",
"submit": "Pieteikties",
"username": "Lietotājvārds",
"usernameTaken": "Lietotājvārds jau aizņemts",
"wrongCredentials": "Nepareizi akreditācijas dati",
"passwordTooShort": "Parolei jābūt vismaz {min} rakstzīmju garai",
"logout_reasons": {
"inactivity": "Jūs esat atteicies no sistēmas neaktivitātes dēļ."
}
},
"permanent": "Pastāvīgs",
"prompts": {
"copy": "Kopēt",
"copyMessage": "Izvēlieties atrašanās vietu, uz kuru kopēt failus:",
"currentlyNavigating": "Pašlaik navigācija:",
"deleteMessageMultiple": "Vai tiešām vēlaties dzēst {count} failu(s)?",
"deleteMessageSingle": "Vai tiešām vēlaties dzēst šo failu/mapi?",
"deleteMessageShare": "Vai tiešām vēlaties dzēst šo koplietojumu({path})?",
"deleteUser": "Vai tiešām vēlaties dzēst šo lietotāju?",
"deleteTitle": "Dzēst failus",
"displayName": "Displeja nosaukums:",
"download": "Lejupielādēt failus",
"downloadMessage": "Izvēlieties formātu, kuru vēlaties lejupielādēt.",
"error": "Kaut kas nogāja greizi",
"fileInfo": "Informācija par failu",
"filesSelected": "{count} atlasīti faili",
"lastModified": "Pēdējās izmaiņas",
"move": "Pārvietot",
"moveMessage": "Izvēlieties jaunu mājvietu failam(iem)/mapei(ēm):",
"newArchetype": "Izveidojiet jaunu ierakstu, pamatojoties uz arhtipu. Jūsu fails tiks izveidots satura mapē.",
"newDir": "Jauna direktorija",
"newDirMessage": "Nosaukums savai jaunajai direktorijai.",
"newFile": "Jauns fails",
"newFileMessage": "Nosauciet savu jauno failu.",
"numberDirs": "Katalogu skaits",
"numberFiles": "Failu skaits",
"rename": "Pārdēvēt",
"renameMessage": "Ievietojiet jaunu nosaukumu",
"replace": "Aizstāt",
"replaceMessage": "Vienam no failiem, kurus mēģināt augšupielādēt, ir konfliktējošs nosaukums. Vai vēlaties izlaist šo failu un turpināt augšupielādi vai aizstāt esošo?\n",
"schedule": "Grafiks",
"scheduleMessage": "Izvēlieties datumu un laiku, lai ieplānotu šī ieraksta publicēšanu.",
"show": "Rādīt",
"size": "Izmērs",
"upload": "Augšupielādēt",
"uploadFiles": "Notiek {files} failu augšupielāde...",
"uploadMessage": "Atlasiet augšupielādes opciju.",
"optionalPassword": "Izvēles parole",
"resolution": "Izšķirtspēja",
"discardEditorChanges": "Vai tiešām vēlaties atmest veiktās izmaiņas?",
"replaceOrSkip": "Replace or skip files",
"resolveConflict": "Which files do you want to keep?",
"singleConflictResolve": "If you select both versions, a number will be added to the name of the copied file.",
"fastConflictResolve": "The destination folder there are {count} files with same name.",
"uploadingFiles": "Uploading files",
"filesInOrigin": "Files in origin",
"filesInDest": "Files in destination",
"override": "Overwrite",
"skip": "Skip",
"forbiddenError": "Forbidden Error"
},
"search": {
"images": "Attēli",
"music": "Mūzika",
"pdf": "PDF",
"pressToSearch": "Nospiediet taustiņu Enter, lai meklētu...",
"search": "Meklē...",
"typeToSearch": "Ierakstiet, lai meklētu...",
"types": "Veidi",
"video": "Video"
},
"settings": {
"aceEditorTheme": "Ace redaktora tēma",
"admin": "Admin",
"administrator": "Administrator",
"allowCommands": "Izpildīt komandas",
"allowEdit": "Rediģēt, pārdēvēt un dzēst failus vai direktorijus",
"allowNew": "Izveidojiet jaunus failus un direktorijus",
"allowPublish": "Publicēt jaunus ierakstus un lapas",
"allowSignup": "Atļaut lietotājiem reģistrēties",
"hideLoginButton": "Paslēpt pieteikšanās pogu publiskajās lapās",
"avoidChanges": "(atstājiet tukšu, lai izvairītos no izmaiņām)",
"branding": "Zīmols",
"brandingDirectoryPath": "Zīmola direktorijas ceļš",
"brandingHelp": "Jūs varat pielāgot sava failu pārlūka instances izskatu un darbību, mainot tās nosaukumu, aizstājot logotipu, pievienojot pielāgotus stilus un pat atspējojot ārējās saites uz GitHub.\nLai iegūtu plašāku informāciju par pielāgotu zīmola veidošanu, lūdzu, skatiet {0}.",
"changePassword": "Mainīt paroli",
"commandRunner": "Komandu skrējējs",
"commandRunnerHelp": "Šeit varat iestatīt komandas, kas tiek izpildītas nosauktajos notikumos. Katrā rindā jāraksta pa vienai. Būs pieejami vides mainīgie {0} un {1}, kas ir {0} relatīvi pret {1}. Lai iegūtu plašāku informāciju par šo funkciju un pieejamajiem vides mainīgajiem, lūdzu, izlasiet {2}.",
"commandsUpdated": "Komandas atjauninātas!",
"createUserDir": "Automātiski izveidot lietotāja mājas direktoriju, pievienojot jaunu lietotāju",
"minimumPasswordLength": "Minimālais paroles garums",
"tusUploads": "Sadalītas augšupielādes",
"tusUploadsHelp": "Failu pārlūks atbalsta failu augšupielādi fragmentos, ļaujot izveidot efektīvu, uzticamu, atsākamu un fragmentos sadalītu failu augšupielādi pat neuzticamos tīklos.",
"tusUploadsChunkSize": "Norāda pieprasījuma maksimālo izmēru (mazākiem augšupielādes apjomiem tiks izmantota tieša augšupielāde). Varat ievadīt vienkāršu veselu skaitli, kas apzīmē baitu izmēru, vai virkni, piemēram, 10 MB, 1 GB utt.",
"tusUploadsRetryCount": "Atkārtotu mēģinājumu skaits, kas jāveic, ja fragmenta augšupielāde neizdodas.",
"userHomeBasePath": "Lietotāja mājas direktoriju bāzes ceļš",
"userScopeGenerationPlaceholder": "Darbības joma tiks ģenerēta automātiski",
"createUserHomeDirectory": "Izveidojiet lietotāja mājas direktoriju",
"customStylesheet": "Pielāgota stila lapa",
"defaultUserDescription": "Šie ir noklusējuma iestatījumi jaunajiem lietotājiem.",
"disableExternalLinks": "Atspējot ārējās saites (izņemot dokumentāciju)",
"disableUsedDiskPercentage": "Atspējot izmantotā diska procentuālās daļas grafiku",
"documentation": "dokumentācija",
"examples": "Piemēri",
"executeOnShell": "Izpildīt uz čaulas",
"executeOnShellDescription": "Pēc noklusējuma failu pārlūks izpilda komandas, tieši izsaucot to bināros failus. Ja vēlaties tās palaist čaulā (piemēram, Bash vai PowerShell), varat to definēt šeit ar nepieciešamajiem argumentiem un karodziņiem. Ja tas ir iestatīts, izpildītā komanda tiks pievienota kā arguments. Tas attiecas gan uz lietotāja komandām, gan notikumu piesaistes rīkiem.",
"globalRules": "Šis ir globāls atļaušanas un aizliegšanas noteikumu kopums. Tie attiecas uz katru lietotāju. Katra lietotāja iestatījumos varat definēt konkrētus noteikumus, lai tos ignorētu.",
"globalSettings": "Globālie iestatījumi",
"hideDotfiles": "Slēpt punktfailus",
"insertPath": "Ievietojiet ceļu",
"insertRegex": "Ievietojiet regex izteiksmi",
"instanceName": "Gadījuma nosaukums",
"language": "Valoda",
"lockPassword": "Neļaut lietotājam mainīt paroli",
"newPassword": "Jūsu jaunā parole",
"newPasswordConfirm": "Apstipriniet savu jauno paroli",
"newUser": "Jauns lietotājs",
"password": "Parole",
"passwordUpdated": "Parole atjaunināta!",
"path": "Ceļš",
"perm": {
"create": "Izveidojiet failus un direktorijus",
"delete": "Dzēst failus un direktorijus",
"download": "Lejupielādēt",
"execute": "Izpildīt komandas",
"modify": "Rediģēt failus",
"rename": "Pārdēvēt vai pārvietot failus un direktorijus",
"share": "Kopīgojiet failus"
},
"permissions": "Atļaujas",
"permissionsHelp": "Varat iestatīt lietotāju kā administratoru vai izvēlēties atļaujas individuāli. Ja atlasīsiet “Administrators”, visas pārējās opcijas tiks automātiski atzīmētas. Lietotāju pārvaldība joprojām ir administratora privilēģija.\n",
"profileSettings": "Profila iestatījumi",
"redirectAfterCopyMove": "Pārvirzīt uz galapunktu pēc kopēšanas/pārvietošanas",
"ruleExample1": "neļauj piekļūt jebkuram dotfile failam (piemēram, .git, .gitignore) katrā mapē.\n",
"ruleExample2": "bloķē piekļuvi failam ar nosaukumu Caddyfile darbības jomas saknē.",
"rules": "Noteikumi",
"rulesHelp": "Šeit varat definēt atļaušanas un aizliegšanas noteikumu kopu šim konkrētajam lietotājam. Bloķētie faili netiks rādīti sarakstos, un lietotājs tiem nevarēs piekļūt. Mēs atbalstām regulārās izteiksmes un ceļus attiecībā pret lietotāja darbības jomu.\n",
"scope": "Darbības joma",
"setDateFormat": "Iestatiet precīzu datuma formātu",
"settingsUpdated": "Iestatījumi atjaunināti!",
"shareDuration": "Kopīgošanas ilgums",
"shareManagement": "Kopīgošanas pārvaldība",
"shareDeleted": "Kopīgojums izdzēsts!",
"singleClick": "Failu un direktoriju atvēršanai izmantojiet vienus klikšķi",
"themes": {
"default": "Sistēmas noklusējums",
"dark": "Tumša",
"light": "Gaiša",
"title": "Tēma"
},
"user": "Lietotājs",
"userCommands": "Komandas",
"userCommandsHelp": "Ar atstarpi atdalīts saraksts ar šim lietotājam pieejamajām komandām. Piemērs:\n",
"userCreated": "Lietotājs izveidots!",
"userDefaults": "Lietotāja noklusējuma iestatījumi",
"userDeleted": "Lietotājs izdzēsts!",
"userManagement": "Lietotāju pārvaldība",
"userUpdated": "Lietotājs atjaunināts!",
"username": "Lietotājvārds",
"users": "Lietotāji",
"currentPassword": "Esošā Parole"
},
"sidebar": {
"help": "Palīdzība",
"hugoNew": "Hugo Jauns",
"login": "Pieteikties",
"logout": "Atteikties",
"myFiles": "Mani faili",
"newFile": "Jauns fails",
"newFolder": "Jauna mape",
"preview": "Priekšskatījums",
"settings": "Iestatījumi",
"signup": "Reģistrēties",
"siteSettings": "Vietnes iestatījumi"
},
"success": {
"linkCopied": "Saite nokopēta!"
},
"time": {
"days": "Dienas",
"hours": "Stundas",
"minutes": "Minūtes",
"seconds": "Sekundes",
"unit": "Laika vienība"
}
}

View File

@@ -175,7 +175,9 @@
"filesInDest": "Files in destination",
"override": "Overwrite",
"skip": "Skip",
"forbiddenError": "Forbidden Error"
"forbiddenError": "Forbidden Error",
"currentPassword": "Your password",
"currentPasswordMessage": "Enter your password to validate this action."
},
"search": {
"images": "Afbeeldingen",

View File

@@ -175,7 +175,9 @@
"filesInDest": "Bestanden in bestemming",
"override": "Overschrijven",
"skip": "Overslaan",
"forbiddenError": "Verboden Fout"
"forbiddenError": "Verboden Fout",
"currentPassword": "Uw wachtwoord",
"currentPasswordMessage": "Voer uw wachtwoord in om deze actie te valideren."
},
"search": {
"images": "Afbeeldingen",

View File

@@ -175,7 +175,9 @@
"filesInDest": "Files in destination",
"override": "Overwrite",
"skip": "Skip",
"forbiddenError": "Forbidden Error"
"forbiddenError": "Forbidden Error",
"currentPassword": "Your password",
"currentPasswordMessage": "Enter your password to validate this action."
},
"search": {
"images": "Bilde",

View File

@@ -175,7 +175,9 @@
"filesInDest": "Pliki w miejscu docelowym",
"override": "Zastąp",
"skip": "Pomiń",
"forbiddenError": "Błąd zabronionego dostępu"
"forbiddenError": "Błąd zabronionego dostępu",
"currentPassword": "Twoje hasło",
"currentPasswordMessage": "Wpisz swoje hasło, aby zatwierdzić tę czynność."
},
"search": {
"images": "Obrazy",

View File

@@ -175,7 +175,9 @@
"filesInDest": "Files in destination",
"override": "Overwrite",
"skip": "Skip",
"forbiddenError": "Forbidden Error"
"forbiddenError": "Forbidden Error",
"currentPassword": "Your password",
"currentPasswordMessage": "Enter your password to validate this action."
},
"search": {
"images": "Imagens",

View File

@@ -0,0 +1,306 @@
{
"buttons": {
"cancel": "Cancelar",
"clear": "Limpar",
"close": "Fechar",
"continue": "Continuar",
"copy": "Copiar",
"copyFile": "Copiar ficheiro",
"copyToClipboard": "Copiar para a área de transferência",
"copyDownloadLinkToClipboard": "Copiar link do download para a área de transferência",
"create": "Criar",
"delete": "Eliminar",
"download": "Descarregar",
"file": "Ficheiro",
"folder": "Pasta",
"fullScreen": "Alternar ecrã inteiro",
"hideDotfiles": "Ocultar ficheiros começados por ponto",
"info": "Info",
"more": "Mais",
"move": "Mover",
"moveFile": "Mover ficheiro",
"new": "Novo",
"next": "Seguinte",
"ok": "OK",
"permalink": "Obter link permanente",
"previous": "Anterior",
"preview": "Pré-visualizar",
"publish": "Publicar",
"rename": "Mudar o nome",
"replace": "Substituir",
"reportIssue": "Reportar problema",
"save": "Guardar",
"schedule": "Agendar",
"search": "Pesquisar",
"select": "Seleccionar",
"selectMultiple": "Seleccionar vários",
"share": "Partilhar",
"shell": "Alternar shell",
"submit": "Enviar",
"switchView": "Alterar vista",
"toggleSidebar": "Alternar barra lateral",
"update": "Actualizar",
"upload": "Enviar",
"openFile": "Abrir ficheiro",
"openDirect": "Ver raw",
"discardChanges": "Descartar",
"stopSearch": "Parar a procura",
"saveChanges": "Guardar alterações",
"editAsText": "Editar como Texto",
"increaseFontSize": "Aumentar o tamanho da letra",
"decreaseFontSize": "Diminuir o tamanho da letra",
"overrideAll": "Substituir todos os ficheiros na pasta de destino",
"skipAll": "Ignorar todos os ficheiros em conflito",
"renameAll": "Mudar o nome a todos os ficheiros (criar uma cópia)",
"singleDecision": "Decidir para cada ficheiro em conflito"
},
"download": {
"downloadFile": "Descarregar Ficheiro",
"downloadFolder": "Descarregar Pasta",
"downloadSelected": "Descarregar Seleccionados"
},
"upload": {
"abortUpload": "Tem a certeza que quer abortar?"
},
"errors": {
"forbidden": "Não tem permissão para aceder a isto.",
"internal": "Algo correu mal.",
"notFound": "Esta localização não pôde ser alcançada.",
"connection": "Este servidor não pôde ser alcançado."
},
"files": {
"body": "Corpo",
"closePreview": "Fechar pré-visualização",
"files": "Ficheiros",
"folders": "Pastas",
"home": "Início",
"lastModified": "Última modificação",
"loading": "A carregar...",
"lonely": "Sinto-me sózinho...",
"metadata": "Metadados",
"multipleSelectionEnabled": "Selecção múltipla activada",
"name": "Nome",
"size": "Tamanho",
"sortByLastModified": "Ordenar pela última modificação",
"sortByName": "Ordenar pelo nome",
"sortBySize": "Ordenar pelo tamanho",
"noPreview": "Pré-visualização não disponível para este ficheiro.",
"csvTooLarge": "O ficheiro CSV é demasiado grande para pré-visualizar (>5MB). Por favor, descarregue-o para visualizá-lo.",
"csvLoadFailed": "Falha ao carregar o ficheiro CSV.",
"showingRows": "A mostrar {count} linha(s)",
"columnSeparator": "Separador de Coluna",
"csvSeparators": {
"comma": "Vírgula (,)",
"semicolon": "Ponto e vírgula (;)",
"both": "Ambos (,) e (;)"
},
"fileEncoding": "Codificação do Ficheiro"
},
"help": {
"click": "seleccionar ficheiro ou pasta",
"ctrl": {
"click": "seleccionar vários ficheiros e pastas",
"f": "opens search",
"s": "guarda um ficheiro ou descarrega a pasta onde estiver"
},
"del": "elimina os itens seleccionados",
"doubleClick": "abre um ficheiro ou pasta",
"esc": "limpa a selecção e/ou fecha o pedido",
"f1": "esta informação",
"f2": "muda o nome ao ficheiro",
"help": "Ajuda"
},
"login": {
"createAnAccount": "Criar uma conta",
"loginInstead": "Já tenho uma conta",
"password": "Palavra-passe",
"passwordConfirm": "Confirmação da Palavra-passe",
"passwordsDontMatch": "As palavras-passe não coincidem",
"signup": "Registar",
"submit": "Entrar",
"username": "Nome de utilizador",
"usernameTaken": "O nome de utilizador já existe",
"wrongCredentials": "Credenciais erradas",
"passwordTooShort": "A palavra-passe tem de ter pelo menos {min} caracteres",
"logout_reasons": {
"inactivity": "Foi terminada a sessão por inactividade."
}
},
"permanent": "Permanente",
"prompts": {
"copy": "Copiar",
"copyMessage": "Escolha a localização para copiar os ficheiros:",
"currentlyNavigating": "Actualmente a navegar em:",
"deleteMessageMultiple": "Tem a certeza que quer eliminar {count} ficheiro(s)?",
"deleteMessageSingle": "Tem a certeza que quer eliminar este ficheiro/pasta?",
"deleteMessageShare": "Tem a certeza que quer eliminar esta partilha ({path})?",
"deleteUser": "Tem a certeza que quer eliminar este utilizador?",
"deleteTitle": "Eliminar ficheiros",
"displayName": "Nome a mostrar:",
"download": "Descarregar ficheiros",
"downloadMessage": "Escolha o formato que pretende descarregar.",
"error": "Algo correu mal.",
"fileInfo": "Informação do Ficheiro",
"filesSelected": "{count} ficheiro(s) seleccionado(s)",
"lastModified": "última modificação",
"move": "Mover",
"moveMessage": "Escolha uma nova casa para o(s) seu(s) ficheiro(s)/pasta(s):",
"newArchetype": "Escolha um novo post baseado no archetype. O seu ficheiro irá criado no conteúdo da pasta.",
"newDir": "Nova pasta",
"newDirMessage": "Nomeie a sua nova pasta.",
"newFile": "Novo ficheiro",
"newFileMessage": "Nomeie o seu novo ficheiro.",
"numberDirs": "Número de pastas",
"numberFiles": "Número de ficheiros",
"rename": "Mudar o nome",
"renameMessage": "Introduza um novo nome para",
"replace": "Substituir",
"replaceMessage": "Um dos ficheiros que está a tentar enviar tem um nome em conflito. Quer ignorar este ficheiro e continuar a enviar ou substituir o existente?\none?\n",
"schedule": "Agendar",
"scheduleMessage": "Escolha a data e hora para agendar a autenticação desta publicação.",
"show": "Mostrar",
"size": "Tamanho",
"upload": "Enviar",
"uploadFiles": "A enviar {files} ficheiros...",
"uploadMessage": "Seleccione uma opção para enviar.",
"optionalPassword": "Palavra-passe opcional",
"resolution": "Resolução",
"discardEditorChanges": "Tem a certeza que quer descartar as alterações que fez?",
"replaceOrSkip": "Substituir ou ignorar ficheiros",
"resolveConflict": "Que ficheiros quer manter?",
"singleConflictResolve": "Se seleccionar ambas as versões, um número será adicionar ao nome do ficheiro copiado.",
"fastConflictResolve": "Na pasta de destino há {count} ficheiros com o mesmo nome.",
"uploadingFiles": "A enviar ficheiros",
"filesInOrigin": "Ficheiros na origem",
"filesInDest": "Ficheiros no destino",
"override": "Substituir",
"skip": "Ignorar",
"forbiddenError": "Erro de Proibido",
"currentPassword": "A sua palavra-passe",
"currentPasswordMessage": "Insira a sua palavra-passe para validar esta acção."
},
"search": {
"images": "Imagens",
"music": "Música",
"pdf": "PDF",
"pressToSearch": "Prima Enter para procurar...",
"search": "Procurar...",
"typeToSearch": "Digite para procurar...",
"types": "Tipos",
"video": "Vídeo"
},
"settings": {
"aceEditorTheme": "Editor de temas audaz",
"admin": "Admin",
"administrator": "Administrador",
"allowCommands": "Executar comandos",
"allowEdit": "Editar, mudar o nome e eliminar ficheiros ou pastas",
"allowNew": "Criar novos ficheiros e pastas",
"allowPublish": "Publicar novas publicações e páginas",
"allowSignup": "Permitir que utilizadores se registem",
"hideLoginButton": "Ocultar o botão de início de sessão nas páginas públicas",
"avoidChanges": "(deixe em branco para evitar alterações)",
"branding": "Branding",
"brandingDirectoryPath": "Caminho da pasta da marca",
"brandingHelp": "Pode personalizar a aparência da instânciado seu File Browser\nao alterar o seu nome, alterar o logótipo, adicionar estilos personalizados e até mesmo desactivar links externos para o Github.\nPara mais informação acerca de personalização de marca, por favor, veja {0}.",
"changePassword": "Alterar Palavra-passe",
"commandRunner": "Executador de comandos",
"commandRunnerHelp": "Aqui pode definir comandos que são executados nos eventos nomeados. Tem de escrever um por linha. A variável de ambiente {0} e {1} irá estar disponível, sendo {0} relativo a {1}.\nPara mais informação acerca desta funcionalidade e variáveis de ambiente disponíveis, por favor, leia o {2}.",
"commandsUpdated": "Comandos actualizados!",
"createUserDir": "Criar automaticamente a pasta da casa do utilizador quando adicionar um novo utilizador",
"minimumPasswordLength": "Comprimento mínimo da palavra-passe",
"tusUploads": "Envios aos Bocados",
"tusUploadsHelp": "O File Browser suporta envio de ficheiros aos bocados, permitindo a criação de envios eficiente, de confiança e retomáveis de ficheiros aos bocados mesmo em redes instáveis.",
"tusUploadsChunkSize": "Indica o tamanho máximo do pedido (envios directos serão utilizadas para envios pequenos). Pode introduzir um valor inteiro para tamanhos de byte ou uma cadeia como 10MB, 1GB, etc.",
"tusUploadsRetryCount": "Número de tentativas a realizar se um bocado falha ao ser enviado.",
"userHomeBasePath": "O caminho base para a pasta da casa do utilizador",
"userScopeGenerationPlaceholder": "O escopo será gerado automaticamente",
"createUserHomeDirectory": "Criar pasta da casa do utilizador",
"customStylesheet": "Folha de estilo Personalizada",
"defaultUserDescription": "Estes são as definições por defeito para novos utilizadores",
"disableExternalLinks": "Eliminar links externos (excepto documentação)",
"disableUsedDiskPercentage": "Desactivar gráfico de percentagem de uso de disco",
"documentation": "documentação\ndocumentation",
"examples": "Exemplos",
"executeOnShell": "Executar na shell",
"executeOnShellDescription": "Por defeito, o File Browser executa os comandos ao chamar os seus binários\ndirectamenta. Se quiser executá-los mesmo na shell (como o Bash ou PoweShell), pode defini-lo aqui com os argumentos pedidos e flags. Se definido, o comando que executar será acrescentado como um argumento. Isto aplica-se a ambos comandos de utilizador e hooks de eventos.",
"globalRules": "Esta é um conjunto global de regras de permissão e negação. Elas aplicam-se a cada utilizador. Pode definir regras especificas em cada definições de utilizador para contornar estas.",
"globalSettings": "Definições Globais",
"hideDotfiles": "Ocultar ficheiros começados por ponto",
"insertPath": "Introduza o caminho",
"insertRegex": "Introduza expressão regex",
"instanceName": "Nome da instância",
"language": "Idioma",
"lockPassword": "Impedir o utilizador de alterar a palavra-passe",
"newPassword": "A sua nova palavra-passe",
"newPasswordConfirm": "Confirmar a sua palavra-passe",
"newUser": "Novo Utilizador",
"password": "Palavra-passe",
"passwordUpdated": "Palavras-passe não coincidem!",
"path": "Caminho",
"perm": {
"create": "Criar ficheiros e pastas",
"delete": "Eliminar ficheiros e pastas",
"download": "Descarregar",
"execute": "Executar comandos",
"modify": "Editar ficheiros",
"rename": "Mudar o nome ou mover ficheiros e pastas",
"share": "Ficheiros partilhados"
},
"permissions": "Permissões",
"permissionsHelp": "Pode definir um utilizador um administrador ou escolher as permissões individualmente. Se escolher \"Administrador\", todas as outras opções serão automaticamente marcadas. A gestão de utilizadores continua a ser um privilégio de um administrador.\n",
"profileSettings": "Definições de Perfil",
"redirectAfterCopyMove": "Redireccionar para o destino depois de copiar/mover",
"ruleExample1": "impede o acesso a qualquer ficheiro começado por ponto (como .git ou .gitignore) em cada pasta.\n",
"ruleExample2": "bloqueia o acesso ao ficheiro chamado Caddyfile na raíz de um escopo.",
"rules": "Regras",
"rulesHelp": "Aqui pode definir um conjunto de regras de permissão e negação para este utilizador especifico. Os ficheiros bloqueados não serão mostrados nas listas e não são acessíveis ao utilizador. Suportamos regex e caminhos relativos ao escopo do utilizador.\n",
"scope": "Escopo",
"setDateFormat": "Definir formato exacto da data",
"settingsUpdated": "Definições actualizadas!",
"shareDuration": "Duração da Partilha",
"shareManagement": "Gestão de Partilhas",
"shareDeleted": "Partilha eliminada!",
"singleClick": "Utilizar cliques únicos para abrir ficheiros e pastas",
"themes": {
"default": "Predefinição do sistema",
"dark": "Escuro",
"light": "Claro",
"title": "Tema"
},
"user": "Utilizador",
"userCommands": "Comandos",
"userCommandsHelp": "Uma lista separada por espaços com os comandos disponíveis para este utilizador. Exemplo:\n",
"userCreated": "Utilizador criado!",
"userDefaults": "Definições de utilizador por defeito",
"userDeleted": "Utilizador eliminado!",
"userManagement": "Gestão de Utilizadores",
"userUpdated": "Utilizador actualizado!",
"username": "Nome de utilizador",
"users": "Utilizadores",
"currentPassword": "A Sua Palavra-passe Actual"
},
"sidebar": {
"help": "Ajuda",
"hugoNew": "Hugo New",
"login": "Iniciar sessão",
"logout": "Sair",
"myFiles": "Os meus ficheiros",
"newFile": "Novo ficheiro",
"newFolder": "Nova pasta",
"preview": "Pré-visualizar",
"settings": "Definições",
"signup": "Registar",
"siteSettings": "Definições do Site"
},
"success": {
"linkCopied": "Link copiado!"
},
"time": {
"days": "Dias",
"hours": "Horas",
"minutes": "Minutos",
"seconds": "Segundos",
"unit": "Unidade de Tempo"
}
}

View File

@@ -175,7 +175,9 @@
"filesInDest": "Files in destination",
"override": "Overwrite",
"skip": "Skip",
"forbiddenError": "Forbidden Error"
"forbiddenError": "Forbidden Error",
"currentPassword": "Your password",
"currentPasswordMessage": "Enter your password to validate this action."
},
"search": {
"images": "Imagens",

View File

@@ -175,7 +175,9 @@
"filesInDest": "Files in destination",
"override": "Overwrite",
"skip": "Skip",
"forbiddenError": "Forbidden Error"
"forbiddenError": "Forbidden Error",
"currentPassword": "Your password",
"currentPasswordMessage": "Enter your password to validate this action."
},
"search": {
"images": "Imagini",

View File

@@ -175,7 +175,9 @@
"filesInDest": "Files in destination",
"override": "Overwrite",
"skip": "Skip",
"forbiddenError": "Forbidden Error"
"forbiddenError": "Forbidden Error",
"currentPassword": "Your password",
"currentPasswordMessage": "Enter your password to validate this action."
},
"search": {
"images": "Изображения",

View File

@@ -175,7 +175,9 @@
"filesInDest": "Files in destination",
"override": "Overwrite",
"skip": "Skip",
"forbiddenError": "Forbidden Error"
"forbiddenError": "Forbidden Error",
"currentPassword": "Your password",
"currentPasswordMessage": "Enter your password to validate this action."
},
"search": {
"images": "Obrázky",

View File

@@ -175,7 +175,9 @@
"filesInDest": "Files in destination",
"override": "Overwrite",
"skip": "Skip",
"forbiddenError": "Forbidden Error"
"forbiddenError": "Forbidden Error",
"currentPassword": "Your password",
"currentPasswordMessage": "Enter your password to validate this action."
},
"search": {
"images": "Bilder",

View File

@@ -175,7 +175,9 @@
"filesInDest": "Files in destination",
"override": "Overwrite",
"skip": "Skip",
"forbiddenError": "Forbidden Error"
"forbiddenError": "Forbidden Error",
"currentPassword": "Your password",
"currentPasswordMessage": "Enter your password to validate this action."
},
"search": {
"images": "Görseller",

View File

@@ -175,7 +175,9 @@
"filesInDest": "Files in destination",
"override": "Overwrite",
"skip": "Skip",
"forbiddenError": "Forbidden Error"
"forbiddenError": "Forbidden Error",
"currentPassword": "Your password",
"currentPasswordMessage": "Enter your password to validate this action."
},
"search": {
"images": "Зображення",

View File

@@ -175,7 +175,9 @@
"filesInDest": "Files in destination",
"override": "Overwrite",
"skip": "Skip",
"forbiddenError": "Forbidden Error"
"forbiddenError": "Forbidden Error",
"currentPassword": "Your password",
"currentPasswordMessage": "Enter your password to validate this action."
},
"search": {
"images": "Hình ảnh",

View File

@@ -175,7 +175,9 @@
"filesInDest": "Files in destination",
"override": "Overwrite",
"skip": "Skip",
"forbiddenError": "Forbidden Error"
"forbiddenError": "Forbidden Error",
"currentPassword": "Your password",
"currentPasswordMessage": "Enter your password to validate this action."
},
"search": {
"images": "图像",

View File

@@ -175,7 +175,9 @@
"filesInDest": "Files in destination",
"override": "Overwrite",
"skip": "Skip",
"forbiddenError": "Forbidden Error"
"forbiddenError": "Forbidden Error",
"currentPassword": "Your password",
"currentPasswordMessage": "Enter your password to validate this action."
},
"search": {
"images": "影像",

View File

@@ -480,7 +480,10 @@ const headerButtons = computed(() => {
shell: authStore.user?.perm.execute && enableExec,
delete: fileStore.selectedCount > 0 && authStore.user?.perm.delete,
rename: fileStore.selectedCount === 1 && authStore.user?.perm.rename,
share: fileStore.selectedCount === 1 && authStore.user?.perm.share,
share:
fileStore.selectedCount === 1 &&
authStore.user?.perm.share &&
authStore.user?.perm.download,
move: fileStore.selectedCount > 0 && authStore.user?.perm.rename,
copy: fileStore.selectedCount > 0 && authStore.user?.perm.create,
};

View File

@@ -167,6 +167,10 @@ var signupHandler = func(_ http.ResponseWriter, r *http.Request, d *data) (int,
d.settings.Defaults.Apply(user)
// Users signed up via the signup handler should never become admins, even
// if that is the default permission.
user.Perm.Admin = false
pwd, err := users.ValidateAndHashPwd(info.Password, d.settings.MinimumPasswordLength)
if err != nil {
return http.StatusBadRequest, err

View File

@@ -212,6 +212,8 @@ func resourcePatchHandler(fileCache FileCache) handleFunc {
dst := r.URL.Query().Get("destination")
action := r.URL.Query().Get("action")
dst, err := url.QueryUnescape(dst)
dst = path.Clean("/" + dst)
src = path.Clean("/" + src)
if !d.Check(src) || !d.Check(dst) {
return http.StatusForbidden, nil
}

View File

@@ -20,7 +20,7 @@ import (
func withPermShare(fn handleFunc) handleFunc {
return withUser(func(w http.ResponseWriter, r *http.Request, d *data) (int, error) {
if !d.user.Perm.Share {
if !d.user.Perm.Share || !d.user.Perm.Download {
return http.StatusForbidden, nil
}

View File

@@ -60,6 +60,15 @@ func stripPrefix(prefix string, h http.Handler) http.Handler {
return http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
p := strings.TrimPrefix(r.URL.Path, prefix)
rp := strings.TrimPrefix(r.URL.RawPath, prefix)
// If the path is exactly the prefix (no trailing slash), redirect to
// the prefix with a trailing slash so the router receives "/" instead
// of "", which would otherwise cause a redirect to the site root.
if p == "" {
http.Redirect(w, r, prefix+"/", http.StatusMovedPermanently)
return
}
r2 := new(http.Request)
*r2 = *r
r2.URL = new(url.URL)

View File

@@ -14,3 +14,4 @@ settings:
zh_HK: zh-hk
zh_TW: zh-tw
nl_BE: nl-be
lv_LV: lv-lv