diff --git a/.github/ISSUE_TEMPLATE/bug_report.md b/.github/ISSUE_TEMPLATE/bug_report.md index e0b65771..63d78c8b 100644 --- a/.github/ISSUE_TEMPLATE/bug_report.md +++ b/.github/ISSUE_TEMPLATE/bug_report.md @@ -7,10 +7,9 @@ assignees: '9001' --- -NOTE: + ### Describe the bug a description of what the bug is @@ -45,5 +44,11 @@ if the issue is possibly on the client-side, then mention some of the following: * OS version: * browser version: +### The rest of the stack +if you are connecting directly to copyparty then that's cool, otherwise please mention everything else between copyparty and the browser (reverseproxy, tunnels, etc.) + +### Server log +if the issue might be server-related, include everything that appears in the copyparty log during startup, and also anything else you think might be relevant + ### Additional context any other context about the problem here diff --git a/.github/ISSUE_TEMPLATE/feature_request.md b/.github/ISSUE_TEMPLATE/feature_request.md index 2df6b4bb..390943c9 100644 --- a/.github/ISSUE_TEMPLATE/feature_request.md +++ b/.github/ISSUE_TEMPLATE/feature_request.md @@ -7,9 +7,9 @@ assignees: '9001' --- -NOTE: + **is your feature request related to a problem? Please describe.** a description of what the problem is, for example, `I'm always frustrated when [...]` or `Why is it not possible to [...]` diff --git a/.gitignore b/.gitignore index b70c56b7..2f48b149 100644 --- a/.gitignore +++ b/.gitignore @@ -43,6 +43,7 @@ scripts/docker/*.err # nix build output link result +result-* # IDEA config .idea/ diff --git a/.vscode/launch.json b/.vscode/launch.json index 9ab69494..4a4217be 100644 --- a/.vscode/launch.json +++ b/.vscode/launch.json @@ -3,7 +3,7 @@ "configurations": [ { "name": "Run copyparty", - "type": "python", + "type": "debugpy", "request": "launch", "module": "copyparty", "console": "integratedTerminal", @@ -11,30 +11,46 @@ "justMyCode": false, "env": { "PYDEVD_DISABLE_FILE_VALIDATION": "1", - "PYTHONWARNINGS": "always", //error + "PYTHONWARNINGS": "always" //error }, "args": [ - //"-nw", - "-ed", - "-emp", + //"-nw", // no-write; for testing uploads without writing to disk + //"-q", // quiet; speedboost when console output is not needed + + // # increase debugger performance: + //"no-htp", + //"hash-mt=0", + //"mtag-mt=1", + //"th-mt=1", + + // # listen for FTP and TFTP + "--ftp=3921", + "--ftp-pr=12000-12099", + "--tftp=3969", + + // # listen on all IPv6, all IPv4, and unix-socket + "-i::,unix:777:a.sock", + + // # misc + "--dedup", "-e2dsa", "-e2ts", - "-mtp=.bpm=f,bin/mtag/audio-bpm.py", + "--rss", + "--shr=/shr", + "--stats", + "-z", + + // # users + volumes "-aed:wark", - "-vsrv::r:rw,ed:c,dupe", - "-vdist:dist:r" + "-vdist:dist:r", + "-vsrv::r:rw,ed", + "-vsrv/junk:junk:r:A,ed", + "--ver" ] }, - { - "name": "No debug", - "preLaunchTask": "no_dbg", - "type": "python", - //"request": "attach", "port": 42069 - // fork: nc -l 42069 +* **translations** -- the copyparty web-UI has translations in [copyparty/web/tl](https://github.com/9001/copyparty/tree/hovudstraum/copyparty/web/tl); if you'd like to [add a translation](https://github.com/9001/copyparty/tree/hovudstraum/docs/rice#translations) for another language then that'd be welcome! and if that language has a grammar that doesn't fit into the way the strings are assembled, then we'll fix that as we go :> * but please note that support for [RTL (Right-to-Left) languages](https://en.wikipedia.org/wiki/Right-to-left_script) is currently not planned, since the javascript is a bit too jank for that diff --git a/README.md b/README.md index 2c2e9e1d..b5baa67a 100644 --- a/README.md +++ b/README.md @@ -5,7 +5,7 @@ turn almost any device into a file server with resumable uploads/downloads using [*any*](#browser-support) web browser * server only needs Python (2 or 3), all dependencies optional -* ๐Ÿ”Œ protocols: [http](#the-browser) // [webdav](#webdav-server) // [ftp](#ftp-server) // [tftp](#tftp-server) // [smb/cifs](#smb-server) +* ๐Ÿ”Œ protocols: [http(s)](#the-browser) // [webdav](#webdav-server) // [sftp](#sftp-server) // [ftp(s)](#ftp-server) // [tftp](#tftp-server) // [smb/cifs](#smb-server) * ๐Ÿ“ฑ [android app](#android-app) // [iPhone shortcuts](#ios-shortcuts) ๐Ÿ‘‰ **[get started](#quickstart)!** or visit the **[read-only demo server](https://a.ocv.me/pub/demo/)** ๐Ÿ‘€ running on a nuc in my basement @@ -14,50 +14,46 @@ turn almost any device into a file server with resumable uploads/downloads using ๐ŸŽฌ **videos:** [upload](https://a.ocv.me/pub/demo/pics-vids/up2k.webm) // [cli-upload](https://a.ocv.me/pub/demo/pics-vids/u2cli.webm) // [race-the-beam](https://a.ocv.me/pub/g/nerd-stuff/cpp/2024-0418-race-the-beam.webm) // ๐Ÿ‘‰ **[feature-showcase](https://a.ocv.me/pub/demo/showcase-hq.webm)** ([youtube](https://www.youtube.com/watch?v=15_-hgsX2V0)) -made in Norway ๐Ÿ‡ณ๐Ÿ‡ด +built in Norway ๐Ÿ‡ณ๐Ÿ‡ด with contributions from [not-norway](https://github.com/9001/copyparty/graphs/contributors) -# readme table of contents +## readme toc -### 1. TOP ([START HERE](#quickstart)) - * [**quickstart**](#quickstart) - just run **[copyparty-sfx.py](https://github.com/9001/copyparty/releases/latest/download/copyparty-sfx.py)** โ€” that's it! ๐ŸŽ‰ - * [at home](#at-home) - make it accessible over the internet - * [on servers](#on-servers) - you may also want these, especially on servers - * [features](#features) - also see [comparison to similar software](./docs/versus.md) - * [testimonials](#testimonials) - small collection of user feedback - -### 2. [MOTIVATIONS](#motivations) - project goals / philosophy - * [notes](#notes) - general notes - -### 3. [BUGS](#bugs) - roughly sorted by chance of encounter - * [not my bugs](#not-my-bugs) - same order here too - -### 4. [BREAKING CHANGES](#breaking-changes) - upgrade notes - -### 5. [FAQ](#faq) - "frequently" asked questions - -### 6. [ACCOUNTS & VOLUMES](#accounts-and-volumes) - per-folder, per-user permissions - * [shadowing](#shadowing) - hiding specific subfolders - * [dotfiles](#dotfiles) - unix-style hidden files/folders - -### 7. [THE BROWSER](#the-browser) - accessing a copyparty server using a web browser - * [tabs](#tabs) - the main tabs in the ui - * [hotkeys](#hotkeys) - the browser has the following hotkeys - * [navpane](#navpane) - switching between breadcrumbs or navpane - * [thumbnails](#thumbnails) - press `g` or `็”ฐ` to toggle grid-view instead of the file listing - * [zip downloads](#zip-downloads) - download folders (or file selections) as `zip` or `tar` files - * [uploading](#uploading) - drag files/folders into the web-browser to upload +* top + * [quickstart](#quickstart) - just run **[copyparty-sfx.py](https://github.com/9001/copyparty/releases/latest/download/copyparty-sfx.py)** -- that's it! ๐ŸŽ‰ + * [mirrors](#mirrors) - other places to download copyparty from + * [at home](#at-home) - make it accessible over the internet + * [on servers](#on-servers) - you may also want these, especially on servers + * [features](#features) - also see [comparison to similar software](./docs/versus.md) + * [testimonials](#testimonials) - small collection of user feedback +* [motivations](#motivations) - project goals / philosophy + * [notes](#notes) - general notes +* [bugs](#bugs) - roughly sorted by chance of encounter + * [not my bugs](#not-my-bugs) - same order here too +* [breaking changes](#breaking-changes) - upgrade notes +* [FAQ](#FAQ) - "frequently" asked questions +* [accounts and volumes](#accounts-and-volumes) - per-folder, per-user permissions + * [shadowing](#shadowing) - hiding specific subfolders + * [dotfiles](#dotfiles) - unix-style hidden files/folders +* [the browser](#the-browser) - accessing a copyparty server using a web-browser + * [tabs](#tabs) - the main tabs in the ui + * [hotkeys](#hotkeys) - the browser has the following hotkeys + * [navpane](#navpane) - switching between breadcrumbs or navpane + * [thumbnails](#thumbnails) - press `g` or `็”ฐ` to toggle grid-view instead of the file listing + * [zip downloads](#zip-downloads) - download folders (or file selections) as `zip` or `tar` files + * [uploading](#uploading) - drag files/folders into the web-browser to upload * [file-search](#file-search) - dropping files into the browser also lets you see if they exist on the server * [unpost](#unpost) - undo/delete accidental uploads * [self-destruct](#self-destruct) - uploads can be given a lifetime * [race the beam](#race-the-beam) - download files while they're still uploading ([demo video](http://a.ocv.me/pub/g/nerd-stuff/cpp/2024-0418-race-the-beam.webm)) * [incoming files](#incoming-files) - the control-panel shows the ETA for all incoming files - * [file manager](#file-manager) - cut/paste, rename, and delete files/folders (if you have permission) - * [shares](#shares) - share a file or folder by creating a temporary link - * [batch rename](#batch-rename) - select some files and press `F2` to bring up the rename UI - * [rss feeds](#rss-feeds) - monitor a folder with your RSS reader - * [recent uploads](#recent-uploads) - list all recent uploads - * [media player](#media-player) - plays almost every audio format there is + * [file manager](#file-manager) - cut/paste, rename, and delete files/folders (if you have permission) + * [shares](#shares) - share a file or folder by creating a temporary link + * [batch rename](#batch-rename) - select some files and press `F2` to bring up the rename UI + * [rss feeds](#rss-feeds) - monitor a folder with your RSS reader + * [opds feeds](#opds-feeds) - browse and download files from your e-book reader + * [recent uploads](#recent-uploads) - list all recent uploads + * [media player](#media-player) - plays almost every audio format there is * [playlists](#playlists) - create and play [m3u8](https://en.wikipedia.org/wiki/M3U) playlists * [creating a playlist](#creating-a-playlist) - with a standalone mediaplayer or copyparty * [audio equalizer](#audio-equalizer) - and [dynamic range compressor](https://en.wikipedia.org/wiki/Dynamic_range_compression) @@ -72,9 +68,10 @@ made in Norway ๐Ÿ‡ณ๐Ÿ‡ด * [zeroconf](#zeroconf) - announce enabled services on the LAN ([pic](https://user-images.githubusercontent.com/241032/215344737-0eae8d98-9496-4256-9aa8-cd2f6971810d.png)) * [mdns](#mdns) - LAN domain-name and feature announcer * [ssdp](#ssdp) - windows-explorer announcer - * [qr-code](#qr-code) - print a qr code [(screenshot)](https://user-images.githubusercontent.com/241032/194728533-6f00849b-c6ac-43c6-9359-83e454d11e00.png) for quick access - * [ftp server](#ftp-server) - an FTP server can be started using `--ftp 3921` - * [webdav server](#webdav-server) - with read-write support + * [qr-code](#qr-code) - print a qr-code [(screenshot)](https://user-images.githubusercontent.com/241032/194728533-6f00849b-c6ac-43c6-9359-83e454d11e00.png) for quick access + * [ftp server](#ftp-server) - an FTP server can be started using `--ftp 3921` + * [sftp server](#sftp-server) - goes roughly 700 MiB/s (slower than webdav and ftp) + * [webdav server](#webdav-server) - with read-write support * [connecting to webdav from windows](#connecting-to-webdav-from-windows) - using the GUI * [tftp server](#tftp-server) - a TFTP server (read/write) can be started using `--tftp 3969` * [smb server](#smb-server) - unsafe, slow, not recommended for wan @@ -116,30 +113,25 @@ made in Norway ๐Ÿ‡ณ๐Ÿ‡ด * [GDPR compliance](#gdpr-compliance) - imagine using copyparty professionally... * [feature chickenbits](#feature-chickenbits) - buggy feature? rip it out * [feature beefybits](#feature-beefybits) - force-enable features with known issues on your OS/env - -### 9. [PACKAGES](#packages) - the party might be closer than you think - * [arch package](#arch-package) - `pacman -S copyparty` (in [arch linux extra](https://archlinux.org/packages/extra/any/copyparty/)) - * [fedora package](#fedora-package) - does not exist yet - * [homebrew formulae](#homebrew-formulae) - `brew install copyparty ffmpeg` - * [nix package](#nix-package) - `nix profile install github:9001/copyparty` - * [nixos module](#nixos-module) - -### 10. [BROWSER SUPPORT](#browser-support) - TLDR: yes - -### 11. [CLIENT EXAMPLES](#client-examples) - interact with copyparty using non-browser clients - * [folder sync](#folder-sync) - sync folders to/from copyparty - * [mount as drive](#mount-as-drive) - a remote copyparty server as a local filesystem - -### 12. [ANDROID APP](#android-app) - upload to copyparty with one tap -* [ios shortcuts](#ios-shortcuts) - there is no iPhone app, but - -### 13. [PERFORMANCE](#performance) - defaults are usually fine - expect `8 GiB/s` download, `1 GiB/s` upload - * [client-side](#client-side) - when uploading files - -### 14. [SECURITY](#security) - there is a [discord server](https://discord.gg/25J8CdTT6G) - * [gotchas](#gotchas) - behavior that might be unexpected - * [cors](#cors) - cross-site request config - * [filekeys](#filekeys) - prevent filename bruteforcing +* [packages](#packages) - the party might be closer than you think + * [arch package](#arch-package) - `pacman -S copyparty` (in [arch linux extra](https://archlinux.org/packages/extra/any/copyparty/)) + * [fedora package](#fedora-package) - does not exist yet + * [homebrew formulae](#homebrew-formulae) - `brew install copyparty ffmpeg` + * [nix package](#nix-package) - `nix profile install github:9001/copyparty` + * [nixos module](#nixos-module) +* [browser support](#browser-support) - TLDR: yes +* [server hall of fame](#server-hall-of-fame) - unexpected things that run copyparty +* [client examples](#client-examples) - interact with copyparty using non-browser clients + * [folder sync](#folder-sync) - sync folders to/from copyparty + * [mount as drive](#mount-as-drive) - a remote copyparty server as a local filesystem +* [android app](#android-app) - upload to copyparty with one tap +* [iOS shortcuts](#iOS-shortcuts) - there is no iPhone app, but +* [performance](#performance) - defaults are usually fine - expect `8 GiB/s` download, `1 GiB/s` upload + * [client-side](#client-side) - when uploading files +* [security](#security) - there is a [discord server](https://discord.gg/25J8CdTT6G) with announcements + * [gotchas](#gotchas) - behavior that might be unexpected + * [cors](#cors) - cross-site request config + * [filekeys](#filekeys) - prevent filename bruteforcing * [dirkeys](#dirkeys) - share specific folders in a volume * [password hashing](#password-hashing) - you can hash passwords * [https](#https) - both HTTP and HTTPS are accepted @@ -150,21 +142,17 @@ made in Norway ๐Ÿ‡ณ๐Ÿ‡ด ### 16. [HTTP API](#HTTP-API) - see [devnotes](./docs/devnotes.md#http-api) * [dependencies](#dependencies) - mandatory deps - * [optional dependencies](#optional-dependencies) - install these to enable bonus features + * [optional dependencies](#optional-dependencies) - enable bonus features * [dependency chickenbits](#dependency-chickenbits) - prevent loading an optional dependency - * [optional gpl stuff](#optional-gpl-stuff) - -### 17. [SFX](#sfx) - the self-contained "binary" (recommended!) - * [copyparty.exe](#copypartyexe) - download [copyparty.exe](https://github.com/9001/copyparty/releases/latest/download/copyparty.exe) (win8+) or [copyparty32.exe](https://github.com/9001/copyparty/releases/latest/download/copyparty32.exe) (win7+) - * [zipapp](#zipapp) - another emergency alternative, [copyparty.pyz](https://github.com/9001/copyparty/releases/latest/download/copyparty.pyz) - -### 18. [INSTALL ON ANDROID](#install-on-android) - -### 19. [INSTALL ON ios](#install-on-ios) - -### 20. [REPORTING BUGS](#reporting-bugs) - ideas for context to include, and where to submit them - -### 21. [DEV NOTES](#devnotes) - for build instructions etc, see [./docs/devnotes.md](./docs/devnotes.md) + * [dependency unvendoring](#dependency-unvendoring) - force use of system modules + * [optional gpl stuff](#optional-gpl-stuff) +* [sfx](#sfx) - the self-contained "binary" (recommended!) + * [copyparty.exe](#copypartyexe) - download [copyparty.exe](https://github.com/9001/copyparty/releases/latest/download/copyparty.exe) (win8+) or [copyparty32.exe](https://github.com/9001/copyparty/releases/latest/download/copyparty32.exe) (win7+) + * [zipapp](#zipapp) - another emergency alternative, [copyparty.pyz](https://github.com/9001/copyparty/releases/latest/download/copyparty.pyz) +* [install on android](#install-on-android) +* [install on iOS](#install-on-iOS) +* [reporting bugs](#reporting-bugs) - ideas for context to include, and where to submit them +* [devnotes](#devnotes) - for build instructions etc, see [./docs/devnotes.md](./docs/devnotes.md) # quickstart @@ -175,7 +163,7 @@ just run **[copyparty-sfx.py](https://github.com/9001/copyparty/releases/latest/ * or install through [pypi](https://pypi.org/project/copyparty/): `python3 -m pip install --user -U copyparty` * or if you cannot install python, you can use [copyparty.exe](#copypartyexe) instead -* or install [on arch](#arch-package) โ•ฑ [on NixOS](#nixos-module) โ•ฑ [through nix](#nix-package) +* or install [on arch](#arch-package) / [homebrew](#homebrew-formulae) โ•ฑ [on NixOS](#nixos-module) โ•ฑ [through nix](#nix-package) * or if you are on android, [install copyparty in termux](#install-on-android) * or maybe an iPhone or iPad? [install in a-Shell on ios](#install-on-ios) * or maybe you have a [synology nas / dsm](./docs/synology-dsm.md) @@ -210,7 +198,19 @@ some recommended options: * `-e2ts` enables audio metadata indexing (needs either FFprobe or Mutagen) * `-v /mnt/music:/music:r:rw,foo -a foo:bar` shares `/mnt/music` as `/music`, `r`eadable by anyone, and read-write for user `foo`, password `bar` * replace `:r:rw,foo` with `:r,foo` to only make the folder readable by `foo` and nobody else - * see [accounts and volumes](#accounts-and-volumes) (or `--help-accounts`) for the syntax and other permissions + * see [accounts and volumes](#accounts-and-volumes) (or [`--help-accounts`](https://copyparty.eu/cli/#accounts-help-page)) for the syntax and other permissions + + +### mirrors + +other places to download copyparty from (non-github links): + +* https://copyparty.eu/ (hetzner, finland, official mirror): + * https://copyparty.eu/py = https://copyparty.eu/copyparty-sfx.py = the sfx + * https://copyparty.eu/en = https://copyparty.eu/copyparty-en.py = the english-only sfx + * https://copyparty.eu/pyz = https://copyparty.eu/copyparty.pyz = the zipapp + * https://copyparty.eu/enz = https://copyparty.eu/copyparty-en.pyz = the enterprise pyz + * https://copyparty.eu/cli = online cli helptext ### at home @@ -232,6 +232,7 @@ you may also want these, especially on servers: * [contrib/systemd/copyparty.service](contrib/systemd/copyparty.service) to run copyparty as a systemd service (see guide inside) * [contrib/systemd/prisonparty.service](contrib/systemd/prisonparty.service) to run it in a chroot (for extra security) +* [contrib/podman-systemd/](contrib/podman-systemd/) to run copyparty in a Podman container as a systemd service (see guide inside) * [contrib/openrc/copyparty](contrib/openrc/copyparty) to run copyparty on Alpine / Gentoo * [contrib/rc/copyparty](contrib/rc/copyparty) to run copyparty on FreeBSD * [nixos module](#nixos-module) to run copyparty on NixOS hosts @@ -239,12 +240,12 @@ you may also want these, especially on servers: and remember to open the ports you want; here's a complete example including every feature copyparty has to offer: ``` -firewall-cmd --permanent --add-port={80,443,3921,3923,3945,3990}/tcp # --zone=libvirt +firewall-cmd --permanent --add-port={80,443,3921,3922,3923,3945,3990}/tcp # --zone=libvirt firewall-cmd --permanent --add-port=12000-12099/tcp # --zone=libvirt firewall-cmd --permanent --add-port={69,1900,3969,5353}/udp # --zone=libvirt firewall-cmd --reload ``` -(69:tftp, 1900:ssdp, 3921:ftp, 3923:http/https, 3945:smb, 3969:tftp, 3990:ftps, 5353:mdns, 12000:passive-ftp) +(69:tftp, 1900:ssdp, 3921:ftp, 3922:sftp, 3923:http/https, 3945:smb, 3969:tftp, 3990:ftps, 5353:mdns, 12000:passive-ftp) ## features @@ -264,7 +265,7 @@ also see [comparison to similar software](./docs/versus.md) * โ˜‘ [upnp / zeroconf / mdns / ssdp](#zeroconf) * โ˜‘ [event hooks](#event-hooks) / script runner * โ˜‘ [reverse-proxy support](https://github.com/9001/copyparty#reverse-proxy) - * โ˜‘ cross-platform (Windows, Linux, Macos, Android, ios, FreeBSD, arm32/arm64, ppc64le, s390x, risc-v/riscv64) + * โ˜‘ cross-platform (Windows, Linux, Macos, Android, iOS, FreeBSD, arm32/arm64, ppc64le, s390x, risc-v/riscv64, SGI IRIX) * upload * โ˜‘ basic: plain multipart, ie6 support * โ˜‘ [up2k](#uploading): js, resumable, multithreaded @@ -326,7 +327,7 @@ small collection of user feedback project goals / philosophy -* inverse linux philosophy โ€” do all the things, and do an *okay* job +* inverse unix philosophy -- do all the things, and do an *okay* job * quick drop-in service to get a lot of features in a pinch * some of [the alternatives](./docs/versus.md) might be a better fit for you * run anywhere, support everything @@ -454,6 +455,12 @@ upgrade notes * CopyParty? * **nope**! the name is either copyparty (all-lowercase) or Copyparty -- it's [one word](https://en.wiktionary.org/wiki/copyparty) after all :> +* what is a volflag? + * per-volume configuration; many (not all) global-options can be set as volflags, and most (not all) volflags can be set as global-options; [complete list of volflags](https://copyparty.eu/cli/#flags-help-page) + +* what is a volume? + * a mapping from a URL (`/music/`) to a folder on your server's local filesystem (`C:\Users\ed\Music`) which can then be accessed through copyparty, depending on the permissions and options you set on it -- see [accounts and volumes](#accounts-and-volumes) + * can I change the ๐ŸŒฒ spinning pine-tree loading animation? * [yeah...](https://github.com/9001/copyparty/tree/hovudstraum/docs/rice#boring-loader-spinner) :-( @@ -464,6 +471,7 @@ upgrade notes * can I link someone to a password-protected volume/file by including the password in the URL? * yes, by adding `?pw=hunter2` to the end; replace `?` with `&` if there are parameters in the URL already, meaning it contains a `?` near the end * if you have enabled `--usernames` then do `?pw=username:password` instead + * `?pw` can be disabled with `--pw-urlp=A` but this breaks support for many clients * how do I stop `.hist` folders from appearing everywhere on my HDD? * by default, a `.hist` folder is created inside each volume for the filesystem index, thumbnails, audio transcodes, and markdown document history. Use the `--hist` global-option or the `hist` volflag to move it somewhere else; see [database location](#database-location) @@ -501,7 +509,7 @@ per-folder, per-user permissions - if your setup is getting complex, consider m * much easier to manage, and you can modify the config at runtime with `systemctl reload copyparty` or more conveniently using the `[reload cfg]` button in the control-panel (if the user has `a`/admin in any volume) * changes to the `[global]` config section requires a restart to take effect -a quick summary can be seen using `--help-accounts` +a quick summary can be seen using [`--help-accounts`](https://copyparty.eu/cli/#accounts-help-page) configuring accounts/volumes with arguments: * `-a usr:pwd` adds account `usr` with password `pwd` @@ -540,6 +548,9 @@ examples: if you want to grant access to all users who are logged in, the group `acct` will always contain all known users, so for example `-v /mnt/music:music:r,@acct` +* to do the opposite, granting access to everyone who is NOT logged in. `*,-@acct` does the trick, for example `-v /srv/welcome:welcome:r,*,-@acct` +* single users can also be subtracted from a group: `@admins,-james` + anyone trying to bruteforce a password gets banned according to `--ban-pw`; default is 24h ban for 9 failed attempts in 1 hour and if you want to use config files instead of commandline args (good!) then here's the same examples as a configfile; save it as `foobar.conf` and use it like this: `python copyparty-sfx.py -c foobar.conf` @@ -635,7 +646,7 @@ the main tabs in the ui * `[๐Ÿงฏ]` [unpost](#unpost): undo/delete accidental uploads * `[๐Ÿš€]` and `[๐ŸŽˆ]` are the [uploaders](#uploading) * `[๐Ÿ“‚]` mkdir: create directories -* `[๐Ÿ“]` new-md: create a new markdown document +* `[๐Ÿ“]` new-file: create a new textfile * `[๐Ÿ“Ÿ]` send-msg: either to server-log or into textfiles if `--urlform save` * `[๐ŸŽบ]` audio-player config options * `[โš™๏ธ]` general client config options @@ -748,6 +759,10 @@ to show `/icons/exe.png` and `/icons/elf.gif` as the thumbnail for all `.exe` an * the supported image formats are [jpg, png, gif, webp, ico](https://developer.mozilla.org/en-US/docs/Web/Media/Guides/Formats/Image_types) * be careful with svg; chrome will crash if you have too many unique svg files showing on the same page (the limit is 250 or so) -- showing the same handful of svg files thousands of times is ok however +note: +* heif/heifs/heic/heics images usually require the `libvips` [optional dependency](#optional-dependencies) (available in the `iv` docker image, `withFastThumbnails` in nixos) + * technical trivia: FFmpeg has basic support for tiled heic as of v7.0; need `-show_stream_groups` for correct resolution + config file example: ```yaml @@ -802,6 +817,7 @@ you can also zip a selection of files or folders by clicking them in the browser cool trick: download a folder by appending url-params `?tar&opus` or `?tar&mp3` to transcode all audio files (except aac|m4a|mp3|ogg|opus|wma) to opus/mp3 before they're added to the archive * super useful if you're 5 minutes away from takeoff and realize you don't have any music on your phone but your server only has flac files and downloading those will burn through all your data + there wouldn't be enough time anyways +* and url-param `&nodot` skips dotfiles/dotfolders; they are included by default if your account has permission to see them * and url-params `&j` / `&w` produce jpeg/webm thumbnails/spectrograms instead of the original audio/video/images (`&p` for audio waveforms) * can also be used to pregenerate thumbnails; combine with `--th-maxage=9999999` or `--th-clean=0` @@ -888,6 +904,8 @@ the files will be hashed on the client-side, and each hash is sent to the server files go into `[ok]` if they exist (and you get a link to where it is), otherwise they land in `[ng]` * the main reason filesearch is combined with the uploader is cause the code was too spaghetti to separate it out somewhere else, this is no longer the case but now i've warmed up to the idea too much +if you have a "wark" (file-identifier/checksum) then you can also search for that in the [๐Ÿ”Ž] tab by putting `w = kFpDiztbZc8Z1Lzi` in the `raw` field + ### unpost @@ -1014,6 +1032,8 @@ available functions: * `$lpad(text, length, pad_char)` * `$rpad(text, length, pad_char)` +two counters are available; `.n.s` is the nth file in the selection, and `.n.d` the nth file in the folder, for example rename-output `file(.n.d).(ext)` gives `file5.bin`, and `beach-$lpad((.n.s),3,0).(ext)` is `beach-017.jpg` and the initial value of each counter can be set in the textboxes underneath the preset dropdown + so, say you have a file named [`meganeko - Eclipse - 07 Sirius A.mp3`](https://www.youtube.com/watch?v=-dtb0vDPruI) (absolutely fantastic album btw) and the tags are: `Album:Eclipse`, `Artist:meganeko`, `Title:Sirius A`, `tn:7` @@ -1049,6 +1069,8 @@ url parameters: * `pw=hunter2` for password auth * if you enabled `--usernames` then do `pw=username:password` instead +* `nopw` disables embedding the password (if provided) into item-URLs in the feed +* `nopw=a` disables mentioning the password anywhere at all in the feed; may break some readers * `recursive` to also include subfolders * `title=foo` changes the feed title (default: folder name) * `fext=mp3,opus` only include mp3 and opus files (default: all) @@ -1060,6 +1082,28 @@ url parameters: * uppercase = reverse-sort; `M` = oldest file first +## opds feeds + +browse and download files from your e-book reader + +enabled with the `opds` volflag or `--opds` global option + +add `?opds` to the end of the url you would like to browse, then input that in your opds client. +for example: `https://copyparty.example/books/?opds`. + +to log in with a password, enter it into either of the username or password fields in your client. + +- if you've enabled `--usernames`, then you need to enter both username and password . + +note: some clients (e.g. Moon+ Reader) will not send the password when downloading cover images, which will +cause your ip to be banned by copyparty. to work around this, you can grant the [`g` permission](#accounts-and-volumes) +to unauthenticated requests and enable [filekeys](#filekeys) to prevent guessing filenames. for example: +`-vbooks:books:r,ed:g:c,fk,opds` + +by default, not all file types will be listed in opds feeds. to change this, add the extension to +`--opds-exts` (volflag: `opds_exts`), or empty the list to list everything + + ## recent uploads list all recent uploads by clicking "show recent uploads" in the controlpanel @@ -1093,6 +1137,7 @@ some highlights: * shows the audio waveform in the seekbar * not perfectly gapless but can get really close (see settings + eq below); good enough to enjoy gapless albums as intended * videos can be played as audio, without wasting bandwidth on the video +* adding `?v` to the end of an audio/video/image link will make it open in the mediaplayer click the `play` link next to an audio file, or copy the link target to [share it](https://a.ocv.me/pub/demo/music/Ubiktune%20-%20SOUNDSHOCK%202%20-%20FM%20FUNK%20TERRROR!!/#af-1fbfba61&t=18) (optionally with a timestamp to start playing from, like that example does) @@ -1230,7 +1275,7 @@ see [./srv/expand/](./srv/expand/) for usage and examples * and `PREADME.md` / `preadme.md` is shown above directory listings unless `--no-readme` or `.prologue.html` -* `README.md` and `*logue.html` can contain placeholder values which are replaced server-side before embedding into directory listings; see `--help-exp` +* `README.md` and `*logue.html` can contain placeholder values which are replaced server-side before embedding into directory listings; see [`--help-exp`](https://copyparty.eu/cli/#exp-help-page) ## searching @@ -1260,10 +1305,9 @@ using arguments or config files, or a mix of both: * or click the `[reload cfg]` button in the control-panel if the user has `a`/admin in any volume * changes to the `[global]` config section requires a restart to take effect -**NB:** as humongous as this readme is, there is also a lot of undocumented features. Run copyparty with `--help` to see all available global options; all of those can be used in the `[global]` section of config files, and everything listed in `--help-flags` can be used in volumes as volflags. +**NB:** as humongous as this readme is, there is also a lot of undocumented features. Run copyparty with [`--help`](https://copyparty.eu/cli/) (or click that link) to see all available global options; all of those can be used in the `[global]` section of config files, and everything listed in [`--help-flags`](https://copyparty.eu/cli/#flags-help-page) can be used in volumes as volflags (per-volume configuration). * if running in docker/podman, try this: `docker run --rm -it copyparty/ac --help` -* or see this: https://ocv.me/copyparty/helptext.html -* or if you prefer plaintext, https://ocv.me/copyparty/helptext.txt +* or if you prefer plaintext, https://copyparty.eu/helptext.txt ## zeroconf @@ -1360,6 +1404,26 @@ config file example, which restricts FTP to only use ports 3921 and 12000-12099 ``` +## sftp server + +goes roughly 700 MiB/s (slower than webdav and ftp) + +> this is **not** [ftps](#ftp-server) (which copyparty also supports); [ftps](#ftp-server) is ftp-tls (think http/https), while **sftp** is ssh-based and (preferably) uses ssh-keys for authentication + +the sftp-server requires the optional dependency [paramiko](https://pypi.org/project/paramiko/); +* if you are **not** using docker, then install paramiko somehow +* if you **are** using docker, then use one of the following image variants: `ac` / `im` / `iv` / `dj` + +enable sftpd with `--sftp 3922` to listen on port 3922; +* use global-option `sftp-key` to associate an ssh-key with a user; + * commandline: `--sftp-key 'david ssh-ed25519 AAAAC3NzaC...'` + * config-file: `sftp-key: david ssh-ed25519 AAAAC3NzaC...` +* `--sftp-pw` enables login with passwords (default is ssh-keys only) +* `--sftp-anon foo` enables login with username `foo` and no password; gives the same access/permissions as the website does when not logged in + +see the [sftp section in --help](https://copyparty.eu/cli/#g-sftp) for the other options + + ## webdav server with read-write support, supports winXP and later, macos, nautilus/gvfs ... a great way to [access copyparty straight from the file explorer in your OS](#mount-as-drive) @@ -1373,7 +1437,7 @@ general usage: on macos, connect from finder: * [Go] -> [Connect to Server...] -> http://192.168.123.1:3923/ -in order to grant full write-access to webdav clients, the volflag `daw` must be set and the account must also have delete-access (otherwise the client won't be allowed to replace the contents of existing files, which is how webdav works) +to upload or edit files with WebDAV clients, enable the `daw` volflag (because most WebDAV clients expect this) and give your account the delete-permission. This avoids getting several copies of the same file on the server. HOWEVER: This will also make all PUT-uploads overwrite existing files if the user has delete-access, so use with caution. > note: if you have enabled [IdP authentication](#identity-providers) then that may cause issues for some/most webdav clients; see [the webdav section in the IdP docs](https://github.com/9001/copyparty/blob/hovudstraum/docs/idp.md#connecting-webdav-clients) @@ -1434,7 +1498,7 @@ unsafe, slow, not recommended for wan, enable with `--smb` for read-only or `-- click the [connect](http://127.0.0.1:3923/?hc) button in the control-panel to see connection instructions for windows, linux, macos -dependencies: `python3 -m pip install --user -U impacket==0.11.0` +dependencies: `python3 -m pip install --user -U impacket==0.13.0` * newer versions of impacket will hopefully work just fine but there is monkeypatching so maybe not some **BIG WARNINGS** specific to SMB/CIFS, in decreasing importance: @@ -1477,7 +1541,12 @@ tweaking the ui * to sort in music order (album, track, artist, title) with filename as fallback, you could `--sort tags/Circle,tags/.tn,tags/Artist,tags/Title,href` * to sort by upload date, first enable showing the upload date in the listing with `-e2d -mte +.up_at` and then `--sort tags/.up_at` -see [./docs/rice](./docs/rice) for more, including how to add stuff (css/``/...) to the html `` tag, or to add your own translation +see [./docs/rice](./docs/rice) for more, including: +* how to [hide ui-elements](./docs/rice/README.md#hide-ui-elements) +* [custom fonts](./docs/rice/README.md#custom-fonts) +* [custom loading-spinner](./docs/rice/README.md#boring-loader-spinner) +* adding stuff (css/``/...) [to the html `` tag](./docs/rice/README.md#head) +* [adding your own translation](./docs/rice/README.md#translations) ## opengraph @@ -1574,6 +1643,7 @@ the same arguments can be set as volflags, in addition to `d2d`, `d2ds`, `d2t`, note: * upload-times can be displayed in the file listing by enabling the `.up_at` metadata key, either globally with `-e2d -mte +.up_at` or per-volume with volflags `e2d,mte=+.up_at` (will have a ~17% performance impact on directory listings) + * and file checksums can be shown with global-option `-e2d -mte +w` or volflag `e2d,mte=+w` (always active for users with permission `a`) * `e2tsr` is probably always overkill, since `e2ds`/`e2dsa` would pick up any file modifications and `e2ts` would then reindex those, unless there is a new copyparty version with new parsers and the release note says otherwise config file example (these options are recommended btw): @@ -1657,6 +1727,7 @@ set upload rules using volflags, some examples: * `:c,nosub` disallow uploading into subdirectories; goes well with `rotn` and `rotf`: * `:c,rotn=1000,2` moves uploads into subfolders, up to 1000 files in each folder before making a new one, two levels deep (must be at least 1) * `:c,rotf=%Y/%m/%d/%H` enforces files to be uploaded into a structure of subfolders according to that date format + * `:c,rotf_tz=Europe/Oslo` sets the timezone (default is UTC unless global-option `rotf-tz` is changed) * if someone uploads to `/foo/bar` the path would be rewritten to `/foo/bar/2021/08/06/23` for example * but the actual value is not verified, just the structure, so the uploader can choose any values which conform to the format string * just to avoid additional complexity in up2k which is enough of a mess already @@ -1743,6 +1814,8 @@ notes: * `:c,magic` enables filetype detection for nameless uploads, same as `--magic` * needs https://pypi.org/project/python-magic/ `python3 -m pip install --user -U python-magic` * on windows grab this instead `python3 -m pip install --user -U python-magic-bin` +* `cachectl` changes how webbrowser will cache responses (the `Cache-Control` response-header); default is `no-cache` which will prevent repeated downloading of the same file unless necessary (browser will ask copyparty if the file has changed) + * adding `?cache` to a link will override this with "fully cache this for 69 seconds"; `?cache=321` is 321 seconds, and `?cache=i` is 7 days ## database location @@ -1849,7 +1922,7 @@ trigger a program on uploads, renames etc ([examples](./bin/hooks/)) you can set hooks before and/or after an event happens, and currently you can hook uploads, moves/renames, and deletes -there's a bunch of flags and stuff, see `--help-hooks` +there's a bunch of flags and stuff, see [`--help-hooks`](https://copyparty.eu/cli/#hooks-help-page) if you want to write your own hooks, see [devnotes](./docs/devnotes.md#event-hooks) @@ -2372,6 +2445,8 @@ it comes with a [systemd service](./contrib/systemd/copyparty@.service) as well after installing, start either the system service or the user service and navigate to http://127.0.0.1:3923 for further instructions (unless you already edited the config files, in which case you are good to go, probably) +> to start the systemd service, either do `systemctl start --user copyparty` to start it as your own user, or `systemctl start copyparty@bob` to use unix-user `bob` + ## fedora package @@ -2458,6 +2533,10 @@ copyparty on NixOS is configured via `services.copyparty` options, for example: ```nix services.copyparty = { enable = true; + # the user to run the service as + user = "copyparty"; + # the group to run the service as + group = "copyparty"; # directly maps to values in the [global] section of the copyparty config. # see `copyparty --help` for available options settings = { @@ -2482,6 +2561,12 @@ services.copyparty = { k.passwordFile = "/run/keys/copyparty/k_password"; }; + # create a group + groups = { + # users "ed" and "k" are part of the group g1 + g1 = [ "ed" "k" ]; + }; + # create a volume volumes = { # create a volume at "/" (the webroot), which will @@ -2574,6 +2659,17 @@ quick summary of more eccentric web-browsers trying to view a directory index:

+# server hall of fame + +unexpected things that run copyparty: + +* an old [allwinner](https://a.ocv.me/pub/g/nerd-stuff/cpp/servers/aallwinner.jpg) android tv-box (ziptie-strapped to an HDD) running a firmware which flips the CPU into Big-Endian mode early during boot + * copyparty is [certified BE ready](https://a.ocv.me/pub/g/nerd-stuff/cpp/servers/be-ready.png) -- thanks, [ร˜l Telecom](http://ol-tele.com/)! +* an [SGI O2 (photo)](https://a.ocv.me/pub/g/nerd-stuff/cpp/servers/sgi-o2.jpg?cache) with a grand total of 64 MiB RAM running SGI IRIX; [screenshot](https://a.ocv.me/pub/g/nerd-stuff/cpp/servers/sgi-o2.png?cache) + * thanks again to the wonderful people at [ร˜l Telecom](http://ol-tele.com/) +* a [wristwatch](https://a.ocv.me/pub/g/nerd-stuff/cpp/servers/clockyparty.jpg) + + # client examples interact with copyparty using non-browser clients @@ -2594,6 +2690,10 @@ interact with copyparty using non-browser clients * `chunk(){ curl -H pw:wark -T- http://127.0.0.1:3923/;}` `chunk /dev/tcp/127.0.0.1/3923` @@ -2725,6 +2825,10 @@ below are some tweaks roughly ordered by usefulness: * using [pypy](https://www.pypy.org/) instead of [cpython](https://www.python.org/) *can* be 70% faster for some workloads, but slower for many others * and pypy can sometimes crash on startup with `-j0` (TODO make issue) +* if you are running the copyparty server **on Windows or Macos:** + * `--casechk=n` makes it much faster, but also awakens [the usual surprises](https://github.com/9001/copyparty/issues/781) you expect from a case-insensitive filesystem + * this is the same as `casechk: n` in a config-file + ## client-side @@ -2749,7 +2853,7 @@ when uploading files, # security -there is a [discord server](https://discord.gg/25J8CdTT6G) with an `@everyone` for all important updates (at the lack of better ideas) +there is a [discord server](https://discord.gg/25J8CdTT6G) with announcements ; an `@everyone` for all important updates (at the lack of better ideas) some notes on hardening @@ -2757,7 +2861,7 @@ some notes on hardening * cors doesn't work right otherwise * if you allow anonymous uploads or otherwise don't trust the contents of a volume, you can prevent XSS with volflag `nohtml` * this returns html documents as plaintext, and also disables markdown rendering -* when running behind a reverse-proxy, listen on a unix-socket for tighter access control (and more performance); see [reverse-proxy](#reverse-proxy) or `--help-bind` +* when running behind a reverse-proxy, listen on a unix-socket for tighter access control (and more performance); see [reverse-proxy](#reverse-proxy) or [`--help-bind`](https://copyparty.eu/cli/#bind-help-page) safety profiles: @@ -2845,7 +2949,7 @@ dirkeys are generated based on another salt (`--dk-salt`) + filesystem-path and ## password hashing -you can hash passwords before putting them into config files / providing them as arguments; see `--help-pwhash` for all the details +you can hash passwords before putting them into config files / providing them as arguments; see [`--help-pwhash`](https://copyparty.eu/cli/#pwhash-help-page) for all the details `--ah-alg argon2` enables it, and if you have any plaintext passwords then it'll print the hashed versions on startup so you can replace them @@ -2871,6 +2975,11 @@ if [cfssl](https://github.com/cloudflare/cfssl/releases/latest) is installed, co * this will be a self-signed certificate so you must install your `ca.pem` into all your browsers/devices * if you want to avoid the hassle of distributing certs manually, please consider using a reverse proxy +to install cfssl on windows: +* [download](https://github.com/cloudflare/cfssl/releases/latest) `cfssl_windows_amd64.exe`, `cfssljson_windows_amd64.exe`, `cfssl-certinfo_windows_amd64.exe` +* rename them to `cfssl.exe`, `cfssljson.exe`, `cfssl-certinfo.exe` +* put them in PATH, for example inside `c:\windows\system32` + # recovering from crashes @@ -2905,7 +3014,7 @@ mandatory deps: ## optional dependencies -install these to enable bonus features +enable bonus features by installing these python-packages from pypi or so: enable [hashed passwords](#password-hashing) in config: `argon2-cffi` @@ -2913,6 +3022,8 @@ enable [ftp-server](#ftp-server): * for just plaintext FTP, `pyftpdlib` (is built into the SFX) * with TLS encryption, `pyftpdlib pyopenssl` +enable [sftp-server](#sftp-server): `paramiko` + enable [music tags](#metadata-from-audio-files): * either `mutagen` (fast, pure-python, skips a few tags, makes copyparty GPL? idk) * or `ffprobe` (20x slower, more accurate, possibly dangerous depending on your distro and users) @@ -2927,9 +3038,11 @@ enable [thumbnails](#thumbnails) of... enable sending [zeromq messages](#zeromq) from event-hooks: `pyzmq` -enable [smb](#smb-server) support (**not** recommended): `impacket==0.12.0` +enable [smb](#smb-server) support (**not** recommended): `impacket==0.13.0` -`pyvips` gives higher quality thumbnails than `Pillow` and is 320% faster, using 270% more ram: `sudo apt install libvips42 && python3 -m pip install --user -U pyvips` +`pyvips` gives higher quality thumbnails than `Pillow` and is 320% faster, using 270% more ram +* to install `pyvips` on Linux: `sudo apt install libvips42 && python3 -m pip install --user -U pyvips` +* to install `pyvips` on windows: `pip install --user -U "pyvips[binary]"` to install FFmpeg on Windows, grab [a recent build](https://www.gyan.dev/ffmpeg/builds/ffmpeg-git-full.7z) -- you need `ffmpeg.exe` and `ffprobe.exe` from inside the `bin` folder; copy them into `C:\Windows\System32` or any other folder that's in your `%PATH%` @@ -2951,12 +3064,15 @@ set any of the following environment variables to disable its associated optiona | `PRTY_NO_FFPROBE` | **audio transcoding** goes byebye, **thumbnailing** must be handled by Pillow/libvips, **metadata-scanning** must be handled by mutagen | | `PRTY_NO_MAGIC` | do not use [magic](https://pypi.org/project/python-magic/) for filetype detection | | `PRTY_NO_MUTAGEN` | do not use [mutagen](https://pypi.org/project/mutagen/) for reading metadata from media files; will fallback to ffprobe | +| `PRTY_NO_PARAMIKO` | disable sftp server ([paramiko](https://www.paramiko.org/)-based) | +| `PRTY_NO_PARTFTPY` | disable tftp server ([partftpy](https://github.com/9001/partftpy)-based) | | `PRTY_NO_PIL` | disable all [Pillow](https://pypi.org/project/pillow/)-based thumbnail support; will fallback to libvips or ffmpeg | | `PRTY_NO_PILF` | disable Pillow `ImageFont` text rendering, used for folder thumbnails | | `PRTY_NO_PIL_AVIF` | disable Pillow avif support (internal and/or [plugin](https://pypi.org/project/pillow-avif-plugin/)) | | `PRTY_NO_PIL_HEIF` | disable 3rd-party Pillow plugin for [HEIF support](https://pypi.org/project/pillow-heif/) | | `PRTY_NO_PIL_WEBP` | disable use of native webp support in Pillow | | `PRTY_NO_PSUTIL` | do not use [psutil](https://pypi.org/project/psutil/) for reaping stuck hooks and plugins on Windows | +| `PRTY_NO_PYFTPD` | disable ftp(s) server ([pyftpdlib](https://pypi.org/project/pyftpdlib/)-based) | | `PRTY_NO_RAW` | disable all [rawpy](https://pypi.org/project/rawpy/)-based thumbnail support for RAW images | | `PRTY_NO_VIPS` | disable all [libvips](https://pypi.org/project/pyvips/)-based thumbnail support; will fallback to Pillow or ffmpeg | @@ -2967,6 +3083,20 @@ example: `PRTY_NO_PIL=1 python3 copyparty-sfx.py` * python2.7 on windows: `PRTY_NO_FFMPEG` + `PRTY_NO_FFPROBE` saves startup time +### dependency unvendoring + +force use of system modules instead of the vendored versions: + +| env-var | what it does | +| -------------------- | ------------ | +| `PRTY_SYS_ALL` | all of the below | +| `PRTY_SYS_DNSLIB` | replace [stolen/dnslib](./copyparty/stolen/dnslib) with [upstream](https://pypi.org/project/dnslib/) | +| `PRTY_SYS_IFADDR` | replace [stolen/ifaddr](./copyparty/stolen/ifaddr) with [upstream](https://pypi.org/project/ifaddr/) | +| `PRTY_SYS_QRCG` | replace [stolen/qrcodegen.py](./copyparty/stolen/qrcodegen.py) with [upstream](https://github.com/nayuki/QR-Code-generator/blob/master/python/qrcodegen.py) | + +to debug, run copyparty with `PRTY_MODSPEC=1` to see where it's getting each module from + + ## optional gpl stuff some bundled tools have copyleft dependencies, see [./bin/#mtag](bin/#mtag) @@ -3012,7 +3142,8 @@ another emergency alternative, [copyparty.pyz](https://github.com/9001/copyparty run it by doubleclicking it, or try typing `python copyparty.pyz` in your terminal/console/commandline/telex if that fails it is a python [zipapp](https://docs.python.org/3/library/zipapp.html) meaning it doesn't have to unpack its own python code anywhere to run, so if the filesystem is busted it has a better chance of getting somewhere -* but note that it currently still needs to extract the web-resources somewhere (they'll land in the default TEMP-folder of your OS) + +> there is also [copyparty-en.pyz](https://github.com/9001/copyparty/releases/latest/download/copyparty-en.pyz), english-only and without smb support (enterprise-friendly) # install on android @@ -3029,6 +3160,8 @@ if you want thumbnails (photos+videos) and you're okay with spending another 132 * or if you want to use `vips` for photo-thumbs instead, `pkg install libvips && python -m pip install --user -U wheel && python -m pip install --user -U pyvips && (cd /data/data/com.termux/files/usr/lib/; ln -s libgobject-2.0.so{,.0}; ln -s libvips.so{,.42})` +if you are suddenly unable to access storage (permission issues), try forcequitting termux, revoke all of its permissions in android settings, and run the command `termux-setup-storage` + # install on ios @@ -3039,9 +3172,12 @@ first install one of the following: and then copypaste the following command into `a-Shell`: ```sh -curl https://github.com/9001/copyparty/raw/refs/heads/hovudstraum/contrib/setup-ashell.sh | sh +curl -L https://github.com/9001/copyparty/raw/refs/heads/hovudstraum/contrib/setup-ashell.sh | sh ``` +> if you want the latest copyparty beta, then do this instead: +> `curl -L https://copyparty.eu/beta/setup-ashell.sh | sh` + what this does: * creates a basic [config file](#accounts-and-volumes) named `cpc` which you can edit with `vim cpc` * adds the command `cpp` to launch copyparty with that config file diff --git a/SECURITY.md b/SECURITY.md index 964b96f3..119464e5 100644 --- a/SECURITY.md +++ b/SECURITY.md @@ -1,9 +1,7 @@ # Security Policy -if you hit something extra juicy pls let me know on either of the following +if you hit something extra juicy pls let me know on one of the following: * email -- `copyparty@ocv.ze` except `ze` should be `me` -* [mastodon dm](https://layer8.space/@tripflag) -- `@tripflag@layer8.space` * [github private vulnerability report](https://github.com/9001/copyparty/security/advisories/new), wow that form is complicated -* [twitter dm](https://twitter.com/tripflag) (if im somehow not banned yet) no bug bounties sorry! all i can offer is greetz in the release notes diff --git a/bin/hooks/README.md b/bin/hooks/README.md index d4481523..c0ce7bf1 100644 --- a/bin/hooks/README.md +++ b/bin/hooks/README.md @@ -4,6 +4,11 @@ these programs either take zero arguments, or a filepath (the affected file), or run copyparty with `--help-hooks` for usage details / hook type explanations (xm/xbu/xau/xiu/xbc/xac/xbr/xar/xbd/xad/xban) +in particular, if a hook is loaded into copyparty with the hook-flag `c` ("check") then its exit-code controls the action that launched the hook: +* exit-code `0` = allow the action, and/or continue running the next hook +* exit-code `100` = allow the action, and stop running any remaining consecutive hooks +* anything else = reject/prevent the original action, and don't run the remaining hooks + > **note:** in addition to event hooks (the stuff described here), copyparty has another api to run your programs/scripts while providing way more information such as audio tags / video codecs / etc and optionally daisychaining data between scripts in a processing pipeline; if that's what you want then see [mtp plugins](../mtag/) instead @@ -28,10 +33,19 @@ these are `--xiu` hooks; unlike `xbu` and `xau` (which get executed on every sin * [reject-extension.py](reject-extension.py) rejects uploads if they match a list of file extensions * [reloc-by-ext.py](reloc-by-ext.py) redirects an upload to another destination based on the file extension * good example of the `reloc` [hook effect](https://github.com/9001/copyparty/blob/hovudstraum/docs/devnotes.md#hook-effects) +* [reject-and-explain.py](reject-and-explain.py) shows a custom error-message when it rejects an upload +* [reject-ramdisk.py](reject-ramdisk.py) rejects the upload if the destination is a ramdisk + * this hook uses the `I` flag which makes it 140x faster, but if the plugin has a bug it may crash copyparty # on message * [wget.py](wget.py) lets you download files by POSTing URLs to copyparty + * [wget-i.py](wget-i.py) is an import-safe modification of this hook (starts 140x faster, but higher chance of bugs) * [qbittorrent-magnet.py](qbittorrent-magnet.py) starts downloading a torrent if you post a magnet url * [usb-eject.py](usb-eject.py) adds web-UI buttons to safe-remove usb flashdrives shared through copyparty * [msg-log.py](msg-log.py) is a guestbook; logs messages to a doc in the same folder + + +# general concept demos +* [import-me.py](import-me.py) shows how the `I` flag makes the hook 140x faster (but you need to be Very Careful when writing the plugin) + * [wget-i.py](wget-i.py) is an import-safe modification of [wget.py](wget.py) diff --git a/bin/hooks/import-me.py b/bin/hooks/import-me.py new file mode 100644 index 00000000..38e800b0 --- /dev/null +++ b/bin/hooks/import-me.py @@ -0,0 +1,55 @@ +#!/usr/bin/env python3 + +from typing import Any + +_ = r""" +the fastest hook in the west +(runs directly inside copyparty, not as a subprocess) + +example usage as global config: + --xbu I,bin/hooks/import-me.py + +example usage as a volflag (per-volume config): + -v srv/inc:inc:r:rw,ed:c,xbu=I,bin/hooks/import-me.py + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + + (share filesystem-path srv/inc as volume /inc, + readable by everyone, read-write for user 'ed', + running this plugin on all uploads with the params listed below) + +example usage as a volflag in a copyparty config file: + [/inc] + srv/inc + accs: + r: * + rw: ed + flags: + xbu: I,bin/hooks/import-me.py + +parameters explained, + I = import; do not fork / subprocess + +IMPORTANT NOTE: + because this hook is running inside copyparty, you need to + be EXCEPTIONALLY CAREFUL to avoid side-effects, for example + DO NOT os.chdir() or anything like that, and also make sure + that the name of this file is unique (cannot be the same as + an existing python module/library) +""" + + +def main(ka: dict[str, Any]) -> dict[str, Any]: + # "ka" is a dictionary with info from copyparty... + + # but because we are running inside copyparty, we don't need such courtesies; + import inspect + + cf = inspect.currentframe().f_back.f_back.f_back + t = "hello from hook; I am able to peek into copyparty's memory like so:\n function name: %s\n variables:\n %s\n" + t2 = "\n ".join([("%r: %r" % (k, v))[:99] for k, v in cf.f_locals.items()][:9]) + logger = ka["log"] + logger(t % (cf.f_code, t2)) + + # must return a dictionary with: + # "rc": the retcode; 0 is ok + return {"rc": 0} diff --git a/bin/hooks/reject-and-explain.py b/bin/hooks/reject-and-explain.py new file mode 100644 index 00000000..6413d3a4 --- /dev/null +++ b/bin/hooks/reject-and-explain.py @@ -0,0 +1,60 @@ +#!/usr/bin/env python3 + +import json +import os +import re +import sys + + +_ = r""" +reject file upload (with a nice explanation why) + +example usage as global config: + --xbu j,c1,bin/hooks/reject-and-explain.py + +example usage as a volflag (per-volume config): + -v srv/inc:inc:r:rw,ed:c,xbu=j,c1,bin/hooks/reject-and-explain.py + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + + (share filesystem-path srv/inc as volume /inc, + readable by everyone, read-write for user 'ed', + running this plugin on all uploads with the params listed below) + +example usage as a volflag in a copyparty config file: + [/inc] + srv/inc + accs: + r: * + rw: ed + flags: + xbu: j,c1,bin/hooks/reject-and-explain.py + +parameters explained, + xbu = execute-before-upload (can also be xau, execute-after-upload) + j = this hook needs upload information as json (not just the filename) + c1 = this hook returns json on stdout, so tell copyparty to read that +""" + + +def main(): + inf = json.loads(sys.argv[1]) + vdir, fn = os.path.split(inf["vp"]) + print("inf[vp] = %r" % (inf["vp"],), file=sys.stderr) + + # the following is what decides if we'll accept the upload or reject it: + # we check if the upload-folder url matches the following regex-pattern: + ok = re.search(r"(^|/)day[0-9]+$", vdir, re.IGNORECASE) + + if ok: + # allow the upload + print("{}") + return + + # the upload was rejected; display the following errortext: + errmsg = "Files can only be uploaded into a folder named 'DayN' where N is a number, for example 'Day573'. This file was REJECTED: " + errmsg += inf["vp"] # if you want to mention the file's url + print(json.dumps({"rejectmsg": errmsg})) + + +if __name__ == "__main__": + main() diff --git a/bin/hooks/reject-ramdisk.py b/bin/hooks/reject-ramdisk.py new file mode 100644 index 00000000..c313d1cb --- /dev/null +++ b/bin/hooks/reject-ramdisk.py @@ -0,0 +1,72 @@ +#!/usr/bin/env python3 + +import os +import threading +from argparse import Namespace + +from jinja2.nodes import Name +from copyparty.fsutil import Fstab +from typing import Any, Optional + + +_ = r""" +reject an upload if the target folder is on a ramdisk; useful when you +have a volume where some folders inside are ramdisks but others aren't + +example usage as global config: + --xbu I,bin/hooks/reject-ramdisk.py + +example usage as a volflag (per-volume config): + -v srv/inc:inc:r:rw,ed:c,xbu=I,bin/hooks/reject-ramdisk.py + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + + (share filesystem-path srv/inc as volume /inc, + readable by everyone, read-write for user 'ed', + running this plugin on all uploads with the params listed below) + +example usage as a volflag in a copyparty config file: + [/inc] + srv/inc + accs: + r: * + rw: ed + flags: + xbu: I,bin/hooks/reject-ramdisk.py + +parameters explained, + I = import; do not fork / subprocess + +IMPORTANT NOTE: + because this hook is imported inside copyparty, you need to + be EXCEPTIONALLY CAREFUL to avoid side-effects, for example + DO NOT os.chdir() or anything like that, and also make sure + that the name of this file is unique (cannot be the same as + an existing python module/library) +""" + + +mutex = threading.Lock() +fstab: Optional[Fstab] = None + + +def main(ka: dict[str, Any]) -> dict[str, Any]: + global fstab + with mutex: + log = ka["log"] # this is a copyparty NamedLogger function + if not fstab: + log(" creating fstab", 6) + args = Namespace() + args.mtab_age = 1 # cache the filesystem info for 1 sec + fstab = Fstab(log, args, False) + + ap = ka["ap"] # abspath the upload is going to + fs, mp = fstab.get(ap) # figure out what the filesystem is + ramdisk = fs in ("tmpfs", "overlay") # looks like a ramdisk? + + # log(" fs=%r" % (fs,)) + + if ramdisk: + t = "Upload REJECTED because destination is a ramdisk" + return {"rc": 1, "rejectmsg": t} + + return {"rc": 0} diff --git a/bin/hooks/usb-eject.py b/bin/hooks/usb-eject.py index 6bfd92a4..a012098b 100644 --- a/bin/hooks/usb-eject.py +++ b/bin/hooks/usb-eject.py @@ -34,7 +34,10 @@ MOUNT_BASE = b"/run/media/egon/" def main(): try: - label = sys.argv[1].split(":usb-eject:")[1].split(":")[0] + msg = sys.argv[1] + if msg.startswith("upload-queue-empty;"): + return + label = msg.split(":usb-eject:")[1].split(":")[0] mp = MOUNT_BASE + unquote(label) # print("ejecting [%s]... " % (mp,), end="") mp = os.path.abspath(os.path.realpath(mp)) diff --git a/bin/hooks/wget-i.py b/bin/hooks/wget-i.py new file mode 100755 index 00000000..86855025 --- /dev/null +++ b/bin/hooks/wget-i.py @@ -0,0 +1,100 @@ +#!/usr/bin/env python3 + +import os +import threading +import subprocess as sp + + +_ = r""" +use copyparty as a file downloader by POSTing URLs as +application/x-www-form-urlencoded (for example using the +๐Ÿ“Ÿ message-to-server-log in the web-ui) + +this hook is a modified copy of wget.py, modified to +make it import-safe so it can be run with the 'I' flag, +which speeds up the startup time of the hook by 140x + +example usage as global config: + --xm aw,I,bin/hooks/wget-i.py + +parameters explained, + xm = execute on message-to-server-log + aw = only users with write-access can use this + I = import; do not fork / subprocess + +example usage as a volflag (per-volume config): + -v srv/inc:inc:r:rw,ed:c,xm=aw,I,bin/hooks/wget.py + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + + (share filesystem-path srv/inc as volume /inc, + readable by everyone, read-write for user 'ed', + running this plugin on all messages with the params explained above) + +example usage as a volflag in a copyparty config file: + [/inc] + srv/inc + accs: + r: * + rw: ed + flags: + xm: aw,I,bin/hooks/wget.py + +the volflag examples only kicks in if you send the message +while you're in the /inc folder (or any folder below there) + +IMPORTANT NOTE: + because this hook uses the 'I' flag to run inside copyparty, + many other flags will not work (f,j,c3,t3600 as seen in the + original wget.py), and furthermore + more importantly we + need to be EXCEPTIONALLY CAREFUL to avoid side-effects, so + the os.chdir has been replaced with cwd=dirpath for example +""" + + +def do_stuff(inf): + """ + worker function which is executed in another thread to + avoid blocking copyparty while the download is running, + since we cannot use the 'f,t3600' hook-flags with 'I' + """ + + # first things first; grab the logger-function which copyparty is letting us borrow + log = inf["log"] + + url = inf["txt"] + if url.startswith("upload-queue-empty;"): + return + + if "://" not in url: + url = "https://" + url + + proto = url.split("://")[0].lower() + if proto not in ("http", "https", "ftp", "ftps"): + raise Exception("bad proto {}".format(proto)) + + dirpath = inf["ap"] + + name = url.split("?")[0].split("/")[-1] + msg = "-- DOWNLOADING " + name + log(msg) + tfn = os.path.join(dirpath, msg) + open(tfn, "wb").close() + + cmd = ["wget", "--trust-server-names", "-nv", "--", url] + + try: + # two things to note here: + # - cannot use the `c3` hook-flag with `I` so mute output with stdout=sp.DEVNULL instead; + # - MUST NOT use os.chdir with 'I' so use cwd=dirpath instead + sp.check_call(cmd, cwd=dirpath, stdout=sp.DEVNULL) + except: + t = "-- FAILED TO DOWNLOAD " + name + log(t, 3) # 3=yellow=warning + open(os.path.join(dirpath, t), "wb").close() + raise # have copyparty scream about the details in the log + + os.unlink(tfn) + + +def main(inf): + threading.Thread(target=do_stuff, args=(inf,), daemon=True).start() diff --git a/bin/hooks/wget.py b/bin/hooks/wget.py index 1f5a824b..ab42226a 100755 --- a/bin/hooks/wget.py +++ b/bin/hooks/wget.py @@ -47,6 +47,9 @@ while you're in the /inc folder (or any folder below there) def main(): inf = json.loads(sys.argv[1]) url = inf["txt"] + if url.startswith("upload-queue-empty;"): + return + if "://" not in url: url = "https://" + url diff --git a/bin/mtag/README.md b/bin/mtag/README.md index 4656fb05..bc742ef2 100644 --- a/bin/mtag/README.md +++ b/bin/mtag/README.md @@ -68,3 +68,8 @@ instead of affecting all volumes, you can set the options for just one volume li * `:c,mtp=key=f,audio-key.py` * `:c,mtp=.bpm=f,audio-bpm.py` * `:c,mtp=ahash,vhash=f,media-hash.py` + + +# tips & tricks + +* to delete tags for all files below `blog*` and rescan that, `sqlite3 .hist/up2k.db "delete from mt where w in (select substr(w,1,16) from up where rd like 'blog%')";` diff --git a/bin/mtag/audio-key.py b/bin/mtag/audio-key.py index 9d79ebbd..9aad256b 100755 --- a/bin/mtag/audio-key.py +++ b/bin/mtag/audio-key.py @@ -4,13 +4,19 @@ import os import sys import tempfile import subprocess as sp -import keyfinder + +try: + import keyfinder + + PKF = True +except: + PKF = False from copyparty.util import fsenc """ dep: github/mixxxdj/libkeyfinder -dep: pypi/keyfinder +dep: pypi/keyfinder -OR- EvanPurkhiser/keyfinder-cli dep: ffmpeg """ @@ -35,7 +41,17 @@ def det(tf): ]) # fmt: on - print(keyfinder.key(tf).camelot()) + if PKF: + print(keyfinder.key(tf).camelot()) + else: + # fmt: off + sp.check_call([ + b"keyfinder-cli", + b"-n", + b"camelot", + fsenc(tf) + ]) + # fmt: on def main(): diff --git a/bin/mtag/geotag.py b/bin/mtag/geotag.py new file mode 100755 index 00000000..4415759a --- /dev/null +++ b/bin/mtag/geotag.py @@ -0,0 +1,53 @@ +import json +import re +import sys + +from copyparty.util import fsenc, runcmd + + +""" +uses exiftool to geotag images based on embedded gps coordinates in exif data + +adds four new metadata keys: + .gps_lat = latitute + .gps_lon = longitude + .masl = meters above sea level + city = "city, subregion, region" + +usage: -mtp .masl,.gps_lat,.gps_lon,city=ad,t10,bin/mtag/geotag.py + +example: https://a.ocv.me/pub/blog/j7/8/?grid=0 +""" + + +def main(): + cmd = b"exiftool -api geolocation -n".split(b" ") + rc, so, se = runcmd(cmd + [fsenc(sys.argv[1])]) + ptn = re.compile("([^:]*[^ :]) *: (.*)") + city = ["", "", ""] + ret = {} + for ln in so.split("\n"): + m = ptn.match(ln) + if not m: + continue + k, v = m.groups() + if k == "Geolocation City": + city[2] = v + elif k == "Geolocation Subregion": + city[1] = v + elif k == "Geolocation Region": + city[0] = v + elif k == "GPS Latitude": + ret[".gps_lat"] = "%.04f" % (float(v),) + elif k == "GPS Longitude": + ret[".gps_lon"] = "%.04f" % (float(v),) + elif k == "GPS Altitude": + ret[".masl"] = str(int(float(v))) + v = ", ".join(city).strip(", ") + if v: + ret["city"] = v + print(json.dumps(ret)) + + +if __name__ == "__main__": + main() diff --git a/bin/mtag/install-deps.sh b/bin/mtag/install-deps.sh index 55473911..811a8263 100755 --- a/bin/mtag/install-deps.sh +++ b/bin/mtag/install-deps.sh @@ -155,6 +155,11 @@ install_keyfinder() { return } + (cat /etc/alpine-release || echo a) 2>&1 | grep -E '3\.2[3-9]' && { + echo "alpine too new; ffmpeg8 is keyfinder-py incompat; giving up" + return + } + cd "$td" github_tarball https://api.github.com/repos/mixxxdj/libkeyfinder/releases/latest ls -al @@ -189,7 +194,7 @@ install_keyfinder() { exit 1 } - x=${-//[^x]/}; set -x; cat /etc/alpine-release + x=${-//[^x]/}; set -x; cat /etc/alpine-release || true # rm -rf /Users/ed/Library/Python/3.9/lib/python/site-packages/*keyfinder* CFLAGS="-I$h/pe/keyfinder/include -I/opt/local/include -I/usr/include/ffmpeg" \ CXXFLAGS="-I$h/pe/keyfinder/include -I/opt/local/include -I/usr/include/ffmpeg" \ diff --git a/bin/partyfuse.py b/bin/partyfuse.py index 0d88caca..7be355e1 100755 --- a/bin/partyfuse.py +++ b/bin/partyfuse.py @@ -6,8 +6,8 @@ __copyright__ = 2019 __license__ = "MIT" __url__ = "https://github.com/9001/copyparty/" -S_VERSION = "2.1" -S_BUILD_DT = "2025-09-06" +S_VERSION = "2.2" +S_BUILD_DT = "2025-12-16" """ mount a copyparty server (local or remote) as a filesystem @@ -284,8 +284,8 @@ class Gateway(object): if ar.td: self.ssl_context = ssl._create_unverified_context() elif ar.te: - self.ssl_context = ssl.SSLContext(ssl.PROTOCOL_TLS) - self.ssl_context.load_verify_locations(ar.te) + self.ssl_context = ssl.create_default_context(cafile=ar.te) + self.ssl_context.check_hostname = ar.teh self.conns = {} @@ -1165,6 +1165,7 @@ NOTE: if server has --usernames enabled, then password is "username:password" ap2 = ap.add_argument_group("https/TLS") ap2.add_argument("-te", metavar="PEMFILE", help="certificate to expect/verify") + ap2.add_argument("-teh", action="store_true", help="require correct hostname in -te cert") ap2.add_argument("-td", action="store_true", help="disable certificate check") ap2 = ap.add_argument_group("cache/perf") diff --git a/bin/u2c.py b/bin/u2c.py index aec03918..dd97784c 100755 --- a/bin/u2c.py +++ b/bin/u2c.py @@ -1,8 +1,8 @@ #!/usr/bin/env python3 from __future__ import print_function, unicode_literals -S_VERSION = "2.13" -S_BUILD_DT = "2025-09-05" +S_VERSION = "2.18" +S_BUILD_DT = "2026-01-02" """ u2c.py: upload to copyparty @@ -165,8 +165,8 @@ class HCli(object): elif self.verify is True: self.ctx = None else: - self.ctx = ssl.SSLContext(ssl.PROTOCOL_TLS) - self.ctx.load_verify_locations(self.verify) + self.ctx = ssl.create_default_context(cafile=self.verify) + self.ctx.check_hostname = ar.teh self.base_hdrs = { "Accept": "*/*", @@ -196,6 +196,8 @@ class HCli(object): hdrs.update(self.base_hdrs) if self.ar.a: hdrs["PW"] = self.ar.a + if self.ar.ba: + hdrs["Authorization"] = self.ar.ba if ctype: hdrs["Content-Type"] = ctype if meth == "POST" and CLEN not in hdrs: @@ -232,6 +234,7 @@ class HCli(object): MJ = "application/json" MO = "application/octet-stream" +MM = "application/x-www-form-urlencoded" CLEN = "Content-Length" web = None # type: HCli @@ -491,6 +494,12 @@ print = safe_print if VT100 else flushing_print def termsize(): + try: + w, h = os.get_terminal_size() + return w, h + except: + pass + env = os.environ def ioctl_GWINSZ(fd): @@ -850,7 +859,7 @@ def handshake(ar, file, search): return [], False elif sc == 409 or "
upload rejected, file already exists" in txt:
                 return [], False
-            elif sc == 403:
+            elif sc == 403 or sc == 401:
                 print("\nERROR: login required, or wrong password:\n%s" % (txt,))
                 raise BadAuth()
 
@@ -979,6 +988,7 @@ class Ctl(object):
         self.nfiles, self.nbytes = self.stats
         self.filegen = walkdirs([], ar.files, ar.x)
         self.recheck = []  # type: list[File]
+        self.last_file = None
 
         if ar.safe:
             self._safe()
@@ -1015,6 +1025,11 @@ class Ctl(object):
 
             self._fancy()
 
+        file = self.last_file
+        if self.up_br and file:
+            zs = quotep(file.name.encode("utf-8", WTF8))
+            web.req("POST", file.url, {}, b"msg=upload-queue-empty;" + zs, MM)
+
         self.ok = not self.errs
 
     def _safe(self):
@@ -1225,9 +1240,7 @@ class Ctl(object):
                             while req:
                                 print("DELETING ~%s#%s" % (srd, len(req)))
                                 body = json.dumps(req).encode("utf-8")
-                                sc, txt = web.req(
-                                    "POST", self.ar.url + "?delete", {}, body, MJ
-                                )
+                                sc, txt = web.req("POST", "/?delete", {}, body, MJ)
                                 if sc == 413 and "json 2big" in txt:
                                     print(" (delete request too big; slicing...)")
                                     req = req[: len(req) // 2]
@@ -1455,6 +1468,7 @@ class Ctl(object):
 
             file = fsl.file
             cids = fsl.cids
+            self.last_file = file
 
             with self.mutex:
                 if not self.uploader_busy:
@@ -1538,7 +1552,8 @@ NOTE: if server has --usernames enabled, then password is "username:password"
     ap.add_argument("url", type=unicode, help="server url, including destination folder")
     ap.add_argument("files", type=files_decoder, nargs="+", help="files and/or folders to process")
     ap.add_argument("-v", action="store_true", help="verbose")
-    ap.add_argument("-a", metavar="PASSWD", help="password or $filepath")
+    ap.add_argument("-a", metavar="PASSWD", default="", help="password (or $filepath) for copyparty (is sent in header 'PW')")
+    ap.add_argument("--ba", metavar="PASSWD", default="", help="password (or $filepath) for basic-auth (usually not necessary)")
     ap.add_argument("-s", action="store_true", help="file-search (disables upload)")
     ap.add_argument("-x", type=unicode, metavar="REGEX", action="append", help="skip file if filesystem-abspath matches REGEX (option can be repeated), example: '.*/\\.hist/.*'")
     ap.add_argument("--ok", action="store_true", help="continue even if some local files are inaccessible")
@@ -1581,6 +1596,7 @@ NOTE: if server has --usernames enabled, then password is "username:password"
 
     ap = app.add_argument_group("tls")
     ap.add_argument("-te", metavar="PATH", help="path to ca.pem or cert.pem to expect/verify")
+    ap.add_argument("-teh", action="store_true", help="require correct hostname in -te cert")
     ap.add_argument("-td", action="store_true", help="disable certificate check")
     # fmt: on
 
@@ -1676,11 +1692,15 @@ NOTE: if server has --usernames enabled, then password is "username:password"
             print("\n\n   %s\n\n" % (t,))
             raise
 
-    if ar.a and ar.a.startswith("$"):
-        fn = ar.a[1:]
-        print("reading password from file [{0}]".format(fn))
-        with open(fn, "rb") as f:
-            ar.a = f.read().decode("utf-8").strip()
+    for k in ("a", "ba"):
+        zs = getattr(ar, k)
+        if zs.startswith("$"):
+            print("reading password from file [%s]" % (zs[1:],))
+            with open(zs[1:], "rb") as f:
+                setattr(ar, k, f.read().decode("utf-8").strip())
+
+    if ar.ba:
+        ar.ba = "Basic " + base64.b64encode(ar.ba.encode("utf-8")).decode("utf-8")
 
     for n in range(ar.rh):
         try:
diff --git a/bin/zmq-recv.py b/bin/zmq-recv.py
index 72fa24f7..93e0c168 100755
--- a/bin/zmq-recv.py
+++ b/bin/zmq-recv.py
@@ -61,6 +61,8 @@ def rep_server():
         print("copyparty says %r" % (sck.recv_string(),))
         reply = b"thx"
         # reply = b"return 1"  # non-zero to block an upload
+        # reply = b'{"rc":1}'  # or as json, that's fine too
+        # reply = b'{"rejectmsg":"naw dude"}'  # or custom message
         sck.send(reply)
 
 
diff --git a/contrib/README.md b/contrib/README.md
index 7256766b..e924f3db 100644
--- a/contrib/README.md
+++ b/contrib/README.md
@@ -7,6 +7,12 @@
 * works on windows, linux and macos
 * assumes `copyparty-sfx.py` was renamed to `copyparty.py` in the same folder as `copyparty.bat`
 
+### [`setup-ashell.sh`](setup-ashell.sh)
+* run copyparty on an iPhone/iPad using [a-Shell](https://holzschu.github.io/a-Shell_iOS/)
+* not very useful due to limitations in iOS:
+  * not able to share all of your phone's storage
+  * cannot run in the background
+
 ### [`index.html`](index.html)
 * drop-in redirect from an httpd to copyparty
 * assumes the webserver and copyparty is running on the same server/IP
diff --git a/contrib/nginx/copyparty.conf b/contrib/nginx/copyparty.conf
index f0d382cc..440e22c3 100644
--- a/contrib/nginx/copyparty.conf
+++ b/contrib/nginx/copyparty.conf
@@ -6,7 +6,7 @@
 #
 # to reverse-proxy a specific path/subpath/location below a domain
 # (rather than a complete subdomain), for example "/qw/er", you must
-# run copyparty with --rp-loc /qw/as and also change the following:
+# run copyparty with --rp-loc /qw/er and also change the following:
 # 	location / {
 # 		proxy_pass http://cpp_tcp;
 # to this:
diff --git a/contrib/nixos/modules/copyparty.nix b/contrib/nixos/modules/copyparty.nix
index 1f8242df..6bb51b68 100644
--- a/contrib/nixos/modules/copyparty.nix
+++ b/contrib/nixos/modules/copyparty.nix
@@ -48,10 +48,13 @@ let
 
   accountsWithPlaceholders = mapAttrs (name: attrs: passwordPlaceholder name);
 
+  volumesWithoutVariables = filterAttrs (k: v: !(hasInfix "\${" v.path)) cfg.volumes;
+
   configStr = ''
     ${mkSection "global" cfg.settings}
     ${cfg.globalExtraConfig}
     ${mkSection "accounts" (accountsWithPlaceholders cfg.accounts)}
+    ${mkSection "groups" cfg.groups}
     ${concatStringsSep "\n" (mapAttrsToList mkVolume cfg.volumes)}
   '';
 
@@ -167,6 +170,19 @@ in
       '';
     };
 
+    groups = mkOption {
+      type = types.attrsOf (types.listOf types.str);
+      description = ''
+        A set of copyparty groups to create and the users that should be part of each group.
+      '';
+      default = { };
+      example = literalExpression ''
+        {
+          group_name = [ "user1" "user2" ];
+        };
+      '';
+    };
+
     volumes = mkOption {
       type = types.attrsOf (
         types.submodule (
@@ -311,7 +327,7 @@ in
           BindPaths =
             (if cfg.settings ? hist then [ cfg.settings.hist ] else [ ])
             ++ [ externalStateDir ]
-            ++ (mapAttrsToList (k: v: v.path) cfg.volumes);
+            ++ (mapAttrsToList (k: v: v.path) volumesWithoutVariables);
           # ProtectSystem = "strict";
           # Note that unlike what 'ro' implies,
           # this actually makes it impossible to read anything in the root FS,
@@ -350,18 +366,32 @@ in
               #: in front of things means it wont change it if the directory already exists.
               group = ":${cfg.group}";
               user = ":${cfg.user}";
-              mode = ":755";
+              mode = ":${
+                # Use volume permissions if set
+                if (value.flags ? chmod_d) then
+                  value.flags.chmod_d
+                # Else, use global permission if set
+                else if (cfg.settings ? chmod-d) then
+                  cfg.settings.chmod-d
+                # Else, use the default permission
+                else
+                  "755"
+              }";
             };
           }
-        ) cfg.volumes
+        ) volumesWithoutVariables
       );
 
-      users.groups.copyparty = lib.mkIf (cfg.user == "copyparty" && cfg.group == "copyparty") { };
-      users.users.copyparty = lib.mkIf (cfg.user == "copyparty" && cfg.group == "copyparty") {
-        description = "Service user for copyparty";
-        group = "copyparty";
-        home = externalStateDir;
-        isSystemUser = true;
+      users.groups = lib.mkIf (cfg.group == "copyparty") {
+        copyparty = { };
+      };
+      users.users = lib.mkIf (cfg.user == "copyparty") {
+        copyparty = {
+          description = "Service user for copyparty";
+          group = cfg.group;
+          home = externalStateDir;
+          isSystemUser = true;
+        };
       };
       environment.systemPackages = lib.mkIf cfg.mkHashWrapper [
         (pkgs.writeShellScriptBin "copyparty-hash" ''
@@ -380,4 +410,3 @@ in
     }
   );
 }
-
diff --git a/contrib/package/arch/PKGBUILD b/contrib/package/arch/PKGBUILD
index 49125029..6da55748 100644
--- a/contrib/package/arch/PKGBUILD
+++ b/contrib/package/arch/PKGBUILD
@@ -3,9 +3,9 @@
 # NOTE: You generally shouldn't use this PKGBUILD on Arch, as it is mainly for testing purposes. Install copyparty using pacman instead.
 
 pkgname=copyparty
-pkgver="1.19.7"
+pkgver="1.20.0"
 pkgrel=1
-pkgdesc="File server with accelerated resumable uploads, dedup, WebDAV, FTP, TFTP, zeroconf, media indexer, thumbnails++"
+pkgdesc="File server with accelerated resumable uploads, dedup, WebDAV, SFTP, FTP, TFTP, zeroconf, media indexer, thumbnails++"
 arch=("any")
 url="https://github.com/9001/${pkgname}"
 license=('MIT')
@@ -14,6 +14,7 @@ makedepends=("python-wheel" "python-setuptools" "python-build" "python-installer
 optdepends=("ffmpeg: thumbnails for videos, images (slower) and audio, music tags"
             "cfssl: generate TLS certificates on startup"
             "python-mutagen: music tags (alternative)"
+            "python-paramiko: sftp server",
             "python-pillow: thumbnails for images"
             "python-pyvips: thumbnails for images (higher quality, faster, uses more ram)"
             "libkeyfinder: detection of musical keys"
@@ -23,7 +24,7 @@ optdepends=("ffmpeg: thumbnails for videos, images (slower) and audio, music tag
 )
 source=("https://github.com/9001/${pkgname}/releases/download/v${pkgver}/${pkgname}-${pkgver}.tar.gz")
 backup=("etc/${pkgname}/copyparty.conf" )
-sha256sums=("229476fc111de22a46d56c564d5e615bce6ce222321bcb73b336a3ead03d01f9")
+sha256sums=("a1fd3aab51f30435f07f1d128cf773262ee69a1554c9c32ea1e36d06438eb291")
 
 build() {
     cd "${srcdir}/${pkgname}-${pkgver}/copyparty/web"
diff --git a/contrib/package/makedeb-mpr/PKGBUILD b/contrib/package/makedeb-mpr/PKGBUILD
index f491eaee..2be27fb5 100644
--- a/contrib/package/makedeb-mpr/PKGBUILD
+++ b/contrib/package/makedeb-mpr/PKGBUILD
@@ -2,9 +2,9 @@
 
 
 pkgname=copyparty
-pkgver=1.19.7
+pkgver=1.20.0
 pkgrel=1
-pkgdesc="File server with accelerated resumable uploads, dedup, WebDAV, FTP, TFTP, zeroconf, media indexer, thumbnails++"
+pkgdesc="File server with accelerated resumable uploads, dedup, WebDAV, SFTP, FTP, TFTP, zeroconf, media indexer, thumbnails++"
 arch=("any")
 url="https://github.com/9001/${pkgname}"
 license=('MIT')
@@ -13,6 +13,7 @@ makedepends=("python3-wheel" "python3-setuptools" "python3-build" "python3-insta
 optdepends=("ffmpeg: thumbnails for videos, images (slower) and audio, music tags"
             "golang-cfssl: generate TLS certificates on startup"
             "python3-mutagen: music tags (alternative)"
+            "python3-paramiko: sftp server"
             "python3-pil: thumbnails for images"
             "python3-openssl: ftps functionality"
             "python3-zmq: send zeromq messages from event-hooks"
@@ -20,7 +21,7 @@ optdepends=("ffmpeg: thumbnails for videos, images (slower) and audio, music tag
 )
 source=("https://github.com/9001/${pkgname}/releases/download/v${pkgver}/${pkgname}-${pkgver}.tar.gz")
 backup=("/etc/${pkgname}.d/init" )
-sha256sums=("229476fc111de22a46d56c564d5e615bce6ce222321bcb73b336a3ead03d01f9")
+sha256sums=("a1fd3aab51f30435f07f1d128cf773262ee69a1554c9c32ea1e36d06438eb291")
 
 build() {
     cd "${srcdir}/${pkgname}-${pkgver}/copyparty/web"
diff --git a/contrib/package/makedeb-mpr/copyparty.service b/contrib/package/makedeb-mpr/copyparty.service
index 22dac3d6..e6f3b229 100644
--- a/contrib/package/makedeb-mpr/copyparty.service
+++ b/contrib/package/makedeb-mpr/copyparty.service
@@ -26,7 +26,7 @@ Environment=XDG_CONFIG_HOME=/home/cpp/.config
 ExecStartPre=+/bin/bash -c 'mkdir -p /run/tmpfiles.d/ && echo "x /tmp/pe-copyparty*" > /run/tmpfiles.d/copyparty.conf'
 
 # run copyparty
-ExecStart=/usr/bin/python3 /usr/bin/copyparty -c /etc/copyparty.d/init
+ExecStart=/usr/bin/python3 /usr/local/bin/copyparty -c /etc/copyparty.d/init
 
 [Install]
 WantedBy=multi-user.target
diff --git a/contrib/package/nix/copyparty/default.nix b/contrib/package/nix/copyparty/default.nix
index 22ae5bcd..d622ca64 100644
--- a/contrib/package/nix/copyparty/default.nix
+++ b/contrib/package/nix/copyparty/default.nix
@@ -15,6 +15,7 @@
   pyzmq,
   ffmpeg,
   mutagen,
+  paramiko,
   pyftpdlib,
   magic,
   partftpy,
@@ -44,6 +45,9 @@
   # send ZeroMQ messages from event-hooks
   withZeroMQ ? true,
 
+  # enable SFTP server
+  withSFTP ? false,
+
   # enable FTP server
   withFTP ? true,
 
@@ -67,24 +71,71 @@
   # additional dependencies
   extraPythonPackages ? (_p: [ ]),
 
+  # to build stable + unstable with the same file
+  stable ? true,
+
+  # for commit date, only used when stable = false
+  copypartyFlake ? null,
+
+  nix-gitignore,
 }:
 
 let
   pinData = lib.importJSON ./pin.json;
   runtimeDeps = ([ util-linux ] ++ extraPackages ++ lib.optional withMediaProcessing ffmpeg);
+  inherit (copypartyFlake) lastModifiedDate;
+  # ex: "1970" "01" "01"
+  dateStringsZeroPrefixed = {
+    year = builtins.substring 0 4 lastModifiedDate;
+    month = builtins.substring 4 2 lastModifiedDate;
+    day = builtins.substring 6 2 lastModifiedDate;
+  };
+  # ex: "1970" "1" "1"
+  dateStringsShort = builtins.mapAttrs (_: val: toString (lib.toIntBase10 val)) dateStringsZeroPrefixed;
+  unstableVersion =
+    if copypartyFlake == null then
+      "${pinData.version}-unstable"
+    else
+      with dateStringsZeroPrefixed; "${pinData.version}-unstable-${year}-${month}-${day}"
+  ;
+  version = if stable then pinData.version else unstableVersion;
+  stableSrc = fetchurl {
+    inherit (pinData) url hash;
+  };
+  root = ../../../..;
+  unstableSrc = nix-gitignore.gitignoreSource [] root;
+  src = if stable then stableSrc else unstableSrc;
+  rev = copypartyFlake.shortRev or copypartyFlake.dirtyShortRev or "unknown";
+  unstableCodename = "unstable" + (lib.optionalString (copypartyFlake != null) "-${rev}");
 in
 buildPythonApplication {
   pname = "copyparty";
-  inherit (pinData) version;
-  src = fetchurl {
-    inherit (pinData) url hash;
-  };
+  inherit version src;
+  postPatch = lib.optionalString (!stable) ''
+    old_src="$(mktemp -d)"
+    tar -C "$old_src" -xf ${stableSrc}
+    declare -a folders
+    folders=("$old_src"/*)
+    count_folders="''${#folders[@]}"
+    if [[ $count_folders != 1 ]]; then
+      declare -p folders
+      echo "Expected 1 folder, found $count_folders" >&2
+      exit 1
+    fi
+    old_src_folder="''${folders[0]}"
+    cp -r "$old_src_folder"/copyparty/web/deps copyparty/web/deps
+    sed -i 's/^CODENAME =.*$/CODENAME = "${unstableCodename}"/' copyparty/__version__.py
+    ${lib.optionalString (copypartyFlake != null) (with dateStringsShort; ''
+      sed -i 's/^BUILD_DT =.*$/BUILD_DT = (${year}, ${month}, ${day})/' copyparty/__version__.py
+    '')}
+  '';
   dependencies =
     [
       jinja2
       fusepy
     ]
     ++ lib.optional withSMB impacket
+    ++ lib.optional withSFTP paramiko
     ++ lib.optional withFTP pyftpdlib
     ++ lib.optional withFTPS pyopenssl
     ++ lib.optional withTFTP partftpy
@@ -106,7 +157,7 @@ buildPythonApplication {
   meta = {
     description = "Turn almost any device into a file server";
     longDescription = ''
-      Portable file server with accelerated resumable uploads, dedup, WebDAV,
+      Portable file server with accelerated resumable uploads, dedup, WebDAV, SFTP,
       FTP, TFTP, zeroconf, media indexer, thumbnails++ all in one file, no deps
     '';
     homepage = "https://github.com/9001/copyparty";
diff --git a/contrib/package/nix/copyparty/pin.json b/contrib/package/nix/copyparty/pin.json
index 02c7e1ba..53efdd47 100644
--- a/contrib/package/nix/copyparty/pin.json
+++ b/contrib/package/nix/copyparty/pin.json
@@ -1,5 +1,5 @@
 {
-    "url": "https://github.com/9001/copyparty/releases/download/v1.19.7/copyparty-1.19.7.tar.gz",
-    "version": "1.19.7",
-    "hash": "sha256-IpR2/BEd4ipG1WxWTV5hW85s4iIyG8tzszaj6tA9Afk="
+    "url": "https://github.com/9001/copyparty/releases/download/v1.20.0/copyparty-1.20.0.tar.gz",
+    "version": "1.20.0",
+    "hash": "sha256-of06q1HzBDXwfx0SjPdzJi7mmhVUycMuoeNtBkOOspE="
 }
\ No newline at end of file
diff --git a/contrib/package/nix/overlay.nix b/contrib/package/nix/overlay.nix
index ca8d5c6e..d6e3a895 100644
--- a/contrib/package/nix/overlay.nix
+++ b/contrib/package/nix/overlay.nix
@@ -1,8 +1,29 @@
-final: prev: {
-  copyparty = final.python3.pkgs.callPackage ./copyparty {
-    ffmpeg = final.ffmpeg-full;
+final: prev:
+let
+  fullAttrs = {
+    withHashedPasswords = true;
+    withCertgen = true;
+    withThumbnails = true;
+    withFastThumbnails = true;
+    withMediaProcessing = true;
+    withBasicAudioMetadata = true;
+    withZeroMQ = true;
+    withSFTP = true;
+    withFTP = true;
+    withFTPS = true;
+    withTFTP = true;
+    withSMB = true;
+    withMagic = true;
   };
 
+  call = attrs: final.python3.pkgs.callPackage ./copyparty ({ ffmpeg = final.ffmpeg-full; } // attrs);
+in
+{
+  copyparty = call { stable = true; };
+  copyparty-unstable = call { stable = false; };
+  copyparty-full = call (fullAttrs // { stable = true; });
+  copyparty-unstable-full = call (fullAttrs // { stable = false; });
+
   python3 = prev.python3.override {
     packageOverrides = pyFinal: pyPrev: {
       partftpy = pyFinal.callPackage ./partftpy { };
diff --git a/contrib/package/rpm/copyparty.spec b/contrib/package/rpm/copyparty.spec
index 6d3ebb3f..69ac26ee 100644
--- a/contrib/package/rpm/copyparty.spec
+++ b/contrib/package/rpm/copyparty.spec
@@ -5,15 +5,15 @@ License:        MIT
 Group:          Utilities
 URL:            https://github.com/9001/copyparty
 Source0:        copyparty-$pkgver.tar.gz
-Summary:        File server with accelerated resumable uploads, dedup, WebDAV, FTP, TFTP, zeroconf, media indexer, thumbnails++
+Summary:        File server with accelerated resumable uploads, dedup, WebDAV, SFTP, FTP, TFTP, zeroconf, media indexer, thumbnails++
 BuildArch:      noarch
 BuildRequires:  python3, python3-devel, pyproject-rpm-macros, python-setuptools, python-wheel, make
 Requires:       python3, (python3-jinja2 or python-jinja2), lsof
 Recommends:     ffmpeg, (golang-github-cloudflare-cfssl or cfssl), python-mutagen, python-pillow, python-pyvips
-Recommends:     qm-vamp-plugins, python-argon2-cffi, (python-pyopenssl or pyopenssl), python-impacket
+Recommends:     qm-vamp-plugins, python-argon2-cffi, (python-pyopenssl or pyopenssl), python-paramiko, python-impacket
 
 %description
-Portable file server with accelerated resumable uploads, dedup, WebDAV, FTP, TFTP, zeroconf, media indexer, thumbnails++ all in one file, no deps
+Portable file server with accelerated resumable uploads, dedup, WebDAV, SFTP, FTP, TFTP, zeroconf, media indexer, thumbnails++ all in one file, no deps
 
 See release at https://github.com/9001/copyparty/releases
 
diff --git a/contrib/plugins/README.md b/contrib/plugins/README.md
index a27d1213..32906986 100644
--- a/contrib/plugins/README.md
+++ b/contrib/plugins/README.md
@@ -39,3 +39,9 @@ point `--css-browser` to one of these by URL:
 
 * turns copyparty into chromecast just more flexible (and probably way more buggy)
 * usage: put the js somewhere in the webroot and `--js-browser /memes/meadup.js`
+
+
+
+# junk
+
+* [**rave.js**](./rave.js): april-fools joke, [demo (epilepsy warning)](https://cd.ocv.me/b/d2/d21/#af-9b927c42,sorthref), not maintained, very buggy
\ No newline at end of file
diff --git a/contrib/podman-systemd/README.md b/contrib/podman-systemd/README.md
new file mode 100644
index 00000000..02d1a73c
--- /dev/null
+++ b/contrib/podman-systemd/README.md
@@ -0,0 +1,173 @@
+# copyparty with Podman and Systemd
+
+Use this configuration if you want to run copyparty in a Podman container, with the reliability of running the container under a systemd service.
+
+Documentation for `.container` files can be found in the [Container unit](https://docs.podman.io/en/latest/markdown/podman-systemd.unit.5.html#container-units-container) docs. Systemd does not understand `.container` files natively, so Podman converts these to `.service` files with a [systemd-generator](https://www.freedesktop.org/software/systemd/man/latest/systemd.generator.html). This process is transparent, but sometimes needs to be debugged in case your `.container` file is malformed. There are instructions to debug the systemd generator in the Troubleshooting section below.
+
+To run copyparty in this way, you must already have podman installed. To install Podman, see: https://podman.io/docs/installation
+
+There is a sample configuration file in the same directory as this file (`copyparty.conf`).
+
+## Run the container as root
+
+Running the container as the root user is easy to set up, but less secure. There are instructions in the next section to run the container as a rootless user if you'd rather run the container like that.
+
+First, change this line in the `copyparty.container` file to reflect the directory you want to share. By default, it shares `/mnt/` but you'll probably want to change that.
+
+```
+# Change /mnt to something you want to share
+Volume=/mnt:/w:z
+```
+
+Note that you can select the owner and group of this volume by changing the `uid:` and `gid:` of the volume in `copyparty.conf`, but for simplicity let's assume you want it to be owned by `root:root`.
+
+To install and start copyparty with Podman and systemd as the root user, run the following:
+
+```shell
+sudo mkdir -pv /etc/containers/systemd/ /etc/copyparty/
+sudo cp -v copyparty.container /etc/containers/systemd/
+sudo cp -v copyparty.conf /etc/copyparty/
+sudo systemctl daemon-reload
+sudo systemctl start copyparty
+```
+
+Note: You can't "enable" this kind of Podman service. The `[Install]` section of the `.container` file effectively handles enabling the service so that it starts when the server reboots.
+
+You can see the status of the service with:
+
+```shell
+sudo systemctl status -a copyparty
+```
+
+You can see (and follow) the logs with either of these commands:
+
+```shell
+sudo podman logs -f copyparty
+
+# -a is required or else you'll get output like: copyparty[549025]: [649B blob data]
+sudo journalctl -a -f -u copyparty
+```
+
+## Run the container as a non-root user
+
+This configuration is more secure, but is more involved and requires ensuring files have proper permissions. You will need a root user account to do some of this setup.
+
+First, you need a user to run the container as. In this example we'll create a "podman" user with UID=1001 and GID=1001.
+
+```shell
+sudo groupadd -g 1001 podman
+sudo useradd -u 1001 -m podman
+sudo usermod -aG podman podman
+sudo loginctl enable-linger podman
+# Set a strong password for this user
+sudo -u podman passwd
+```
+
+The `enable-linger` command allows the podman user to run systemd user services that persist even when the user is not logged in. You could use a user that already exists in the system to run this service as, just make sure to run `loginctl enable-linger USERNAME` for that user.
+
+Next, change these lines in the `copyparty.container` file to reflect the config directory and the directory you want to share. By default, the config shares `/home/podman/copyparty/sharing/` but you'll probably want to change this:
+
+```
+# Change to reflect your non-root user's home directory
+Volume=/home/podman/copyparty/config:/cfg:z
+
+# Change to the directory you want to share
+Volume=/home/podman/copyparty/sharing:/w:z
+```
+
+Make sure the podman user has read/write access to both of these directories.
+
+Next, **log in to the server as the podman user**.
+
+To install and start copyparty as the non-root podman user, run the following:
+
+```shell
+mkdir -pv /home/podman/.config/containers/systemd/ /home/podman/copyparty/config
+cp -v copyparty.container /home/podman/.config/containers/systemd/copyparty.container
+cp -v copyparty.conf /home/podman/copyparty/config
+systemctl --user daemon-reload
+systemctl --user start copyparty
+```
+
+**Important note: Never use `sudo` with `systemctl --user`!**
+
+You can check the status of the user service with:
+
+```shell
+systemctl --user status -a copyparty
+```
+
+You can see (and follow) the logs with:
+
+```shell
+podman logs -f copyparty
+
+journalctl --user -a -f -u copyparty
+```
+
+## Troubleshooting
+
+If the container fails to start, and you've modified the `.container` service, it's likely that your `.container` file failed to be translated into a `.service` file. You can debug the podman service generator with this command:
+
+```shell
+sudo /usr/lib/systemd/system-generators/podman-system-generator --dryrun
+```
+
+## Allowing Traffic from Outside your Server
+
+To allow traffic on port 3923 of your server, you should run:
+
+```shell
+sudo firewall-cmd --permanent --add-port=3923/tcp
+sudo firewall-cmd --reload
+```
+
+Otherwise, you won't be able to access the copyparty server from anywhere other than the server itself.
+
+## Updating copyparty
+
+To update the version of copyparty used in the container, you can:
+
+```shell
+# If root:
+sudo podman pull docker.io/copyparty/ac:latest
+sudo systemctl restart copyparty
+
+# If non-root:
+podman pull docker.io/copyparty/ac:latest
+systemctl --user restart copyparty
+```
+
+Or, you can change the pinned version of the image in the `[Container]` section of the `.container` file and run:
+
+```shell
+# If root:
+sudo systemctl daemon-reload
+sudo systemctl restart copyparty
+
+# If non-root:
+systemctl --user daemon-reload
+systemctl --user restart copyparty
+```
+
+Podman will pull the image you've specified when restarting. If you have it set to `:latest`, Podman does not know to re-pull the container.
+
+### Enabling auto-update
+
+Alternatively, you can enable auto-updates by un-commenting this line:
+
+```
+# AutoUpdate=registry
+```
+
+You will also need to enable the [podman auto-updater service](https://docs.podman.io/en/latest/markdown/podman-auto-update.1.html) with:
+
+```shell
+# If root:
+sudo systemctl enable podman-auto-update.timer podman-auto-update.service
+
+# If non-root:
+systemctl --user enable podman-auto-update.timer podman-auto-update.service
+```
+
+This works best if you always want the latest version of copyparty. The auto-updater runs once every 24 hours.
diff --git a/contrib/podman-systemd/copyparty.conf b/contrib/podman-systemd/copyparty.conf
new file mode 100644
index 00000000..350adaae
--- /dev/null
+++ b/contrib/podman-systemd/copyparty.conf
@@ -0,0 +1,36 @@
+[global]
+  e2dsa  # enable file indexing and filesystem scanning
+  e2ts   # and enable multimedia indexing
+  ansi   # and colors in log messages
+
+  # uncomment the line starting with q, lo: to log to a file instead of stdout/journalctl;
+  # $LOGS_DIRECTORY is usually /var/log/copyparty (comes from systemd)
+  # and copyparty replaces %Y-%m%d with Year-MonthDay, so the
+  # full path will be something like /var/log/copyparty/2023-1130.txt
+  # (note: enable compression by adding .xz at the end)
+  # q, lo: $LOGS_DIRECTORY/%Y-%m%d.log
+
+  # p: 80,443,3923   # listen on 80/443 as well (requires CAP_NET_BIND_SERVICE)
+  # i: 127.0.0.1     # only allow connections from localhost (reverse-proxies)
+  # ftp: 3921        # enable ftp server on port 3921
+  # p: 3939          # listen on another port
+  # df: 16           # stop accepting uploads if less than 16 GB free disk space
+  # ver              # show copyparty version in the controlpanel
+  # grid             # show thumbnails/grid-view by default
+  # theme: 2         # monokai
+  # name: datasaver  # change the server-name that's displayed in the browser
+  # stats, nos-dup   # enable the prometheus endpoint, but disable the dupes counter (too slow)
+  # no-robots, force-js  # make it harder for search engines to read your server
+
+
+[accounts]
+  ed: wark  # username: password
+
+
+[/]            # create a volume at "/" (the webroot), which will
+  /w           # share the contents of the "/w" folder
+  accs:
+    rw: *      # everyone gets read-write access, but
+    rwmda: ed  # the user "ed" gets read-write-move-delete-admin
+    # uid: 1000  # If you're running as root, you can change the owner of this volume here
+    # gid: 1000  # If you're running as root, you can change the group of this volume here
diff --git a/contrib/podman-systemd/copyparty.container b/contrib/podman-systemd/copyparty.container
new file mode 100644
index 00000000..1f354279
--- /dev/null
+++ b/contrib/podman-systemd/copyparty.container
@@ -0,0 +1,55 @@
+[Container]
+# It's recommended to replace :latest with a specific version
+# for example: docker.io/copyparty/ac:1.19.15
+Image=docker.io/copyparty/ac:latest
+ContainerName=copyparty
+
+# Uncomment to enable auto-updates
+# AutoUpdate=registry
+
+# Environment variables
+# enable mimalloc by replacing "NOPE" with "2" for a nice speed-boost (will use twice as much ram)
+Environment=LD_PRELOAD=/usr/lib/libmimalloc-secure.so.NOPE
+# ensures log-messages are not delayed (but can reduce speed a tiny bit)
+Environment=PYTHONUNBUFFERED=1
+
+# Ports
+PublishPort=3923:3923
+
+
+# Volumes (PLEASE LOOK!)
+
+# Rootful setup:
+#   Leave as-is
+# Non-root setup:
+#   Change /etc/copyparty to /home//copyparty/config
+Volume=/etc/copyparty:/cfg:z
+
+# Rootful setup:
+#   Change /mnt to the directory you want to share
+# Non-root setup:
+#   Change /mnt to something owned by your user, e.g., /home//copyparty/sharing:/w:z
+Volume=/mnt:/w:z
+
+
+# Give the container time to stop in case the thumbnailer is still running.
+# It's allowed to continue finishing up for 10s after the shutdown signal, give it a 5s buffer
+StopTimeout=15
+
+# hide it from logs with "/._" so it matches the default --lf-url filter
+HealthCmd="wget --spider -q 127.0.0.1:3923/?reset=/._"
+HealthInterval=1m
+HealthTimeout=2s
+HealthRetries=5
+HealthStartPeriod=15s
+
+[Unit]
+After=default.target
+
+[Install]
+# Start by default on boot
+WantedBy=default.target
+
+[Service]
+# Give the container time to start in case it needs to pull the image
+TimeoutStartSec=600
diff --git a/contrib/rc/copyparty b/contrib/rc/copyparty
index 0f3bc80c..7fcc4e88 100644
--- a/contrib/rc/copyparty
+++ b/contrib/rc/copyparty
@@ -10,7 +10,7 @@ name="copyparty"
 rcvar="copyparty_enable"
 copyparty_user="copyparty"
 copyparty_args="-e2dsa -v /storage:/storage:r" # change as you see fit
-copyparty_command="/usr/local/bin/python3.9 /usr/local/copyparty/copyparty-sfx.py ${copyparty_args}"
+copyparty_command="/usr/local/bin/python3.11 /usr/local/copyparty/copyparty-sfx.py ${copyparty_args}"
 pidfile="/var/run/copyparty/${name}.pid"
 command="/usr/sbin/daemon"
 command_args="-P ${pidfile} -r -f ${copyparty_command}"
diff --git a/contrib/setup-ashell.sh b/contrib/setup-ashell.sh
index 006da444..0883aff3 100644
--- a/contrib/setup-ashell.sh
+++ b/contrib/setup-ashell.sh
@@ -6,7 +6,7 @@
 #   https://apps.apple.com/us/app/a-shell/id1473805438
 #
 # step 2: copypaste the following command into a-Shell:
-#   curl https://github.com/9001/copyparty/raw/refs/heads/hovudstraum/contrib/setup-ashell.sh
+#   curl -L https://github.com/9001/copyparty/raw/refs/heads/hovudstraum/contrib/setup-ashell.sh | sh
 #
 # step 3: launch copyparty with this command: cpp
 #
diff --git a/copyparty/__init__.py b/copyparty/__init__.py
index f9e7da5b..ed48dc50 100644
--- a/copyparty/__init__.py
+++ b/copyparty/__init__.py
@@ -55,7 +55,7 @@ except:
 zs = """
 web/a/partyfuse.py
 web/a/u2c.py
-web/a/webdav-cfg.bat
+web/a/webdav-cfg.txt
 web/baguettebox.js
 web/browser.css
 web/browser.html
@@ -86,8 +86,8 @@ web/md2.js
 web/mde.css
 web/mde.html
 web/mde.js
-web/msg.css
 web/msg.html
+web/opds.xml
 web/rups.css
 web/rups.html
 web/rups.js
@@ -99,12 +99,37 @@ web/splash.html
 web/splash.js
 web/svcs.html
 web/svcs.js
+web/tl/chi.js
+web/tl/cze.js
+web/tl/deu.js
+web/tl/epo.js
+web/tl/fin.js
+web/tl/fra.js
+web/tl/grc.js
+web/tl/ita.js
+web/tl/kor.js
+web/tl/nld.js
+web/tl/nno.js
+web/tl/nor.js
+web/tl/pol.js
+web/tl/por.js
+web/tl/rus.js
+web/tl/spa.js
+web/tl/swe.js
+web/tl/tur.js
+web/tl/ukr.js
+web/tl/vie.js
 web/ui.css
 web/up2k.js
 web/util.js
 web/w.hash.js
 """
 RES = set(zs.strip().split("\n"))
+RESM = {
+    "web/a/partyfuse.txt": "web/a/partyfuse.py",
+    "web/a/u2c.txt": "web/a/u2c.py",
+    "web/a/webdav-cfg.bat": "web/a/webdav-cfg.txt",
+}
 
 
 class EnvParams(object):
diff --git a/copyparty/__main__.py b/copyparty/__main__.py
index 9751fb26..ede8472b 100644
--- a/copyparty/__main__.py
+++ b/copyparty/__main__.py
@@ -48,6 +48,7 @@ from .util import (
     HAVE_IPV6,
     IMPLICATIONS,
     JINJA_VER,
+    MIKO_VER,
     MIMES,
     PARTFTPY_VER,
     PY_DESC,
@@ -649,8 +650,11 @@ def get_sects():
             if no accounts or volumes are configured,
             current folder will be read/write for everyone
 
-            the group @acct will always have every user with an account
-            (the name of that group can be changed with --grp-all)
+            the group \033[33m@acct\033[0m will always have every user with an account
+            (the name of that group can be changed with \033[32m--grp-all\033[0m)
+
+            to hide a volume from authenticated users, specify \033[33m*,-@acct\033[0m
+            to subtract \033[33m@acct\033[0m from \033[33m*\033[0m (can subtract users from groups too)
 
             consider the config file for more flexible account/volume management,
             including dynamic reload at runtime (and being more readable w)
@@ -672,12 +676,12 @@ def get_sects():
 
             send the password in the '\033[36mPW\033[0m' http-header:
               \033[36mPW: \033[35mhunter2\033[0m
-            or if you have \033[33m--accounts\033[0m enabled,
+            or if you have \033[33m--usernames\033[0m enabled,
               \033[36mPW: \033[35med:hunter2\033[0m
 
             send the password in the URL itself:
               \033[36mhttp://127.0.0.1:3923/\033[35m?pw=hunter2\033[0m
-            or if you have \033[33m--accounts\033[0m enabled,
+            or if you have \033[33m--usernames\033[0m enabled,
               \033[36mhttp://127.0.0.1:3923/\033[35m?pw=ed:hunter2\033[0m
 
             use basic-authentication:
@@ -806,16 +810,19 @@ def get_sects():
             \033[0m
             hooks specified as commandline --args are appended to volflags;
             each commandline --arg and volflag can be specified multiple times,
-            each hook will execute in order unless one returns non-zero
+            each hook will execute in order unless one returns non-zero, or
+            "100" which means "stop daisychaining and return 0 (success/OK)"
 
             optionally prefix the command with comma-sep. flags similar to -mtp:
 
              \033[36mf\033[35m forks the process, doesn't wait for completion
              \033[36mc\033[35m checks return code, blocks the action if non-zero
              \033[36mj\033[35m provides json with info as 1st arg instead of filepath
+             \033[36ms\033[35m provides input data on stdin (instead of 1st arg)
              \033[36mwN\033[35m waits N sec after command has been started before continuing
              \033[36mtN\033[35m sets an N sec timeout before the command is abandoned
              \033[36miN\033[35m xiu only: volume must be idle for N sec (default = 5)
+             \033[36mI\033[35m import and run as module, not as subprocess
 
              \033[36mar\033[35m only run hook if user has read-access
              \033[36marw\033[35m only run hook if user has read-write-access
@@ -845,6 +852,9 @@ def get_sects():
               the \033[33m--\033[35m stops notify-send from reading the message as args
               and the alert will be "hey" followed by the messagetext
 
+             \033[36m--xm s,,tee,-a,log.txt\033[35m appends each msg to log.txt;
+             \033[36m--xm s,j,,tee,-a,log.txt\033[35m writes it as json instead
+
              \033[36m--xau zmq:pub:tcp://*:5556\033[35m announces uploads on zeromq;
              \033[36m--xau t3,zmq:push:tcp://*:5557\033[35m also works, and you can
              \033[36m--xau t3,j,zmq:req:tcp://localhost:5555\033[35m too for example
@@ -854,7 +864,8 @@ def get_sects():
             as soon as the volume has been idle for iN seconds (5 by default)
 
             \033[36mxiu\033[0m is also unique in that it will pass the metadata to the
-            executed program on STDIN instead of as argv arguments, and
+            executed program on STDIN instead of as argv arguments (so
+            just like the \033[36ms\033[0m option does for the other hook types), and
             it also includes the wark (file-id/hash) as a json property
 
             \033[36mxban\033[0m can be used to overrule / cancel a user ban event;
@@ -865,6 +876,12 @@ def get_sects():
             on new uploads, but with certain limitations. See
             bin/hooks/reloc* and docs/devnotes.md#hook-effects
 
+            the \033[36mI\033[0m option will override most other options, because
+            it entirely hands over control to the hook, which is
+            then able to tamper with copyparty's internal memory
+            and wreck havoc if it wants to -- but this is worh it
+            because it makes the hook 140x faster
+
             except for \033[36mxm\033[0m, only one hook / one action can run at a time,
             so it's recommended to use the \033[36mf\033[0m flag unless you really need
             to wait for the hook to finish before continuing (without \033[36mf\033[0m
@@ -956,7 +973,7 @@ def get_sects():
             \033[36m{{vf.thsize}}   \033[35mthumbnail size
             \033[36m{{srv.itime}}   \033[35mserver time in seconds
             \033[36m{{srv.htime}}   \033[35mserver time as YY-mm-dd, HH:MM:SS (UTC)
-            \033[36m{{hdr.cf_ipcountry}} \033[35mthe "CF-IPCountry" client header (probably blank)
+            \033[36m{{hdr.cf-ipcountry}} \033[35mthe "CF-IPCountry" client header (probably blank)
             \033[0m
             so the following types of placeholders can be added to the lists:
             * any client header can be accessed through {{hdr.*}}
@@ -1145,7 +1162,6 @@ def add_general(ap, nc, srvname):
     ap2 = ap.add_argument_group("general options")
     ap2.add_argument("-c", metavar="PATH", type=u, default=CFG_DEF, action="append", help="\033[34mREPEATABLE:\033[0m add config file")
     ap2.add_argument("-nc", metavar="NUM", type=int, default=nc, help="max num clients")
-    ap2.add_argument("-j", metavar="CORES", type=int, default=1, help="max num cpu cores, 0=all")
     ap2.add_argument("-a", metavar="ACCT", type=u, action="append", help="\033[34mREPEATABLE:\033[0m add account, \033[33mUSER\033[0m:\033[33mPASS\033[0m; example [\033[32med:wark\033[0m]")
     ap2.add_argument("-v", metavar="VOL", type=u, action="append", help="\033[34mREPEATABLE:\033[0m add volume, \033[33mSRC\033[0m:\033[33mDST\033[0m:\033[33mFLAG\033[0m; examples [\033[32m.::r\033[0m], [\033[32m/mnt/nas/music:/music:r:aed\033[0m], see --help-accounts")
     ap2.add_argument("--grp", metavar="G:N,N", type=u, action="append", help="\033[34mREPEATABLE:\033[0m add group, \033[33mNAME\033[0m:\033[33mUSER1\033[0m,\033[33mUSER2\033[0m,\033[33m...\033[0m; example [\033[32madmins:ed,foo,bar\033[0m]")
@@ -1155,11 +1171,15 @@ def add_general(ap, nc, srvname):
     ap2.add_argument("--urlform", metavar="MODE", type=u, default="print,xm", help="how to handle url-form POSTs; see \033[33m--help-urlform\033[0m")
     ap2.add_argument("--wintitle", metavar="TXT", type=u, default="cpp @ $pub", help="server terminal title, for example [\033[32m$ip-10.1.2.\033[0m] or [\033[32m$ip-]")
     ap2.add_argument("--name", metavar="TXT", type=u, default=srvname, help="server name (displayed topleft in browser and in mDNS)")
+    ap2.add_argument("--name-url", metavar="TXT", type=u, help="URL for server name hyperlink (displayed topleft in browser)")
+    ap2.add_argument("--name-html", type=u, help=argparse.SUPPRESS)
     ap2.add_argument("--mime", metavar="EXT=MIME", type=u, action="append", help="\033[34mREPEATABLE:\033[0m map file \033[33mEXT\033[0mension to \033[33mMIME\033[0mtype, for example [\033[32mjpg=image/jpeg\033[0m]")
     ap2.add_argument("--mimes", action="store_true", help="list default mimetype mapping and exit")
     ap2.add_argument("--rmagic", action="store_true", help="do expensive analysis to improve accuracy of returned mimetypes; will make file-downloads, rss, and webdav slower (volflag=rmagic)")
+    ap2.add_argument("-j", metavar="CORES", type=int, default=1, help="num cpu-cores for uploads/downloads (0=all); keeping the default is almost always best")
     ap2.add_argument("--license", action="store_true", help="show licenses and exit")
     ap2.add_argument("--version", action="store_true", help="show versions and exit")
+    ap2.add_argument("--versionb", action="store_true", help="show version and exit")
 
 
 def add_qr(ap, tty):
@@ -1177,11 +1197,15 @@ def add_qr(ap, tty):
     ap2.add_argument("--qr-every", metavar="SEC", type=float, default=0, help="print the qr-code every \033[33mSEC\033[0m (try this with/without --qr-pin in case of issues)")
     ap2.add_argument("--qr-winch", metavar="SEC", type=float, default=0, help="when --qr-pin is enabled, check for terminal size change every \033[33mSEC\033[0m")
     ap2.add_argument("--qr-file", metavar="TXT", type=u, action="append", help="\033[34mREPEATABLE:\033[0m write qr-code to file.\n โ””โ”€To create txt or svg, \033[33mTXT\033[0m is Filepath:Zoom:Pad, for example [\033[32mqr.txt:1:2\033[0m]\n โ””โ”€To create png or gif, \033[33mTXT\033[0m is Filepath:Zoom:Pad:Foreground:Background, for example [\033[32mqr.png:8:2:333333:ffcc55\033[0m], or [\033[32mqr.png:8:2::ffcc55\033[0m] for transparent")
+    ap2.add_argument("--qr-stdout", action="store_true", help="always display the QR-code on STDOUT in the terminal, even if \033[33m-q\033[0m")
+    ap2.add_argument("--qr-stderr", action="store_true", help="always display the QR-code on STDERR in the terminal, even if \033[33m-q\033[0m")
 
 
 def add_fs(ap):
     ap2 = ap.add_argument_group("filesystem options")
     rm_re_def = "15/0.1" if ANYWIN else "0/0"
+    ap2.add_argument("--casechk", metavar="N", type=u, default="auto", help="detect and prevent CI (case-insensitive) behavior if the underlying filesystem is CI? [\033[32my\033[0m] = detect and prevent, [\033[32mn\033[0m] = ignore and allow, [\033[32mauto\033[0m] = \033[32my\033[0m if CI fs detected. NOTE: \033[32my\033[0m is very slow but necessary for correct WebDAV behavior on Windows/Macos (volflag=casechk)")
+    ap2.add_argument("--fsnt", metavar="OS", type=u, default="auto", help="which characters to allow in file/folder names; [\033[32mwin\033[0m] = windows (not <>:|?*\"\\/), [\033[32mmac\033[0m] = macos (not :), [\033[32mlin\033[0m] = linux (anything goes) (volflag=fsnt)")
     ap2.add_argument("--rm-retry", metavar="T/R", type=u, default=rm_re_def, help="if a file cannot be deleted because it is busy, continue trying for \033[33mT\033[0m seconds, retry every \033[33mR\033[0m seconds; disable with 0/0 (volflag=rm_retry)")
     ap2.add_argument("--mv-retry", metavar="T/R", type=u, default=rm_re_def, help="if a file cannot be renamed because it is busy, continue trying for \033[33mT\033[0m seconds, retry every \033[33mR\033[0m seconds; disable with 0/0 (volflag=mv_retry)")
     ap2.add_argument("--iobuf", metavar="BYTES", type=int, default=256*1024, help="file I/O buffer-size; if your volumes are on a network drive, try increasing to \033[32m524288\033[0m or even \033[32m4194304\033[0m (and let me know if that improves your performance)")
@@ -1193,6 +1217,7 @@ def add_share(ap):
     ap2 = ap.add_argument_group("share-url options")
     ap2.add_argument("--shr", metavar="DIR", type=u, default="", help="toplevel virtual folder for shared files/folders, for example [\033[32m/share\033[0m]")
     ap2.add_argument("--shr-db", metavar="FILE", type=u, default=db_path, help="database to store shares in")
+    ap2.add_argument("--shr-who", metavar="TXT", type=u, default="auth", help="who can create a share? [\033[32mno\033[0m]=nobody, [\033[32ma\033[0m]=admin-permission, [\033[32mauth\033[0m]=authenticated (volflag=shr_who)")
     ap2.add_argument("--shr-adm", metavar="U,U", type=u, default="", help="comma-separated list of users allowed to view/delete any share")
     ap2.add_argument("--shr-rt", metavar="MIN", type=int, default=1440, help="shares can be revived by their owner if they expired less than MIN minutes ago; [\033[32m60\033[0m]=hour, [\033[32m1440\033[0m]=day, [\033[32m10080\033[0m]=week")
     ap2.add_argument("--shr-v", action="store_true", help="debug")
@@ -1207,6 +1232,7 @@ def add_upload(ap):
     ap2.add_argument("--bup-ck", metavar="ALG", type=u, default="sha512", help="default checksum-hasher for bup/basic-uploader: no / md5 / sha1 / sha256 / sha512 / b2 / blake2 / b2s / blake2s (volflag=bup_ck)")
     ap2.add_argument("--unpost", metavar="SEC", type=int, default=3600*12, help="grace period where uploads can be deleted by the uploader, even without delete permissions; 0=disabled, default=12h")
     ap2.add_argument("--unp-who", metavar="NUM", type=int, default=1, help="clients can undo recent uploads by using the unpost tab (requires \033[33m-e2d\033[0m). [\033[32m0\033[0m] = never allowed (disable feature), [\033[32m1\033[0m] = allow if client has the same IP as the upload AND is using the same account, [\033[32m2\033[0m] = just check the IP, [\033[32m3\033[0m] = just check account-name (volflag=unp_who)")
+    ap2.add_argument("--apnd-who", metavar="NUM", type=u, default="dw", help="who can append to existing files? [\033[32mno\033[0m]=nobody, [\033[32maw\033[0m]=admin+write, [\033[32mdw\033[0m]=delete+write, [\033[32mw\033[0m]=write (volflag=apnd_who)")
     ap2.add_argument("--u2abort", metavar="NUM", type=int, default=1, help="clients can abort incomplete uploads by using the unpost tab (requires \033[33m-e2d\033[0m). [\033[32m0\033[0m] = never allowed (disable feature), [\033[32m1\033[0m] = allow if client has the same IP as the upload AND is using the same account, [\033[32m2\033[0m] = just check the IP, [\033[32m3\033[0m] = just check account-name (volflag=u2abort)")
     ap2.add_argument("--blank-wt", metavar="SEC", type=int, default=300, help="file write grace period (any client can write to a blank file last-modified more recently than \033[33mSEC\033[0m seconds ago)")
     ap2.add_argument("--reg-cap", metavar="N", type=int, default=38400, help="max number of uploads to keep in memory when running without \033[33m-e2d\033[0m; roughly 1 MiB RAM per 600")
@@ -1216,17 +1242,21 @@ def add_upload(ap):
     ap2.add_argument("--chmod-d", metavar="UGO", type=u, default="755", help="unix file permissions to use when creating directories; see --help-chmod. Examples: [\033[32m755\033[0m] = owner-RW + all-R, [\033[32m777\033[0m] = full-yolo (volflag=chmod_d)")
     ap2.add_argument("--uid", metavar="N", type=int, default=-1, help="unix user-id to chown new files/folders to; default = -1 = do-not-change (volflag=uid)")
     ap2.add_argument("--gid", metavar="N", type=int, default=-1, help="unix group-id to chown new files/folders to; default = -1 = do-not-change (volflag=gid)")
+    ap2.add_argument("--wram", action="store_true", help="allow uploading even if a volume is inside a ramdisk, meaning that all data will be lost on the next server reboot (volflag=wram)")
     ap2.add_argument("--dedup", action="store_true", help="enable symlink-based upload deduplication (volflag=dedup)")
     ap2.add_argument("--safe-dedup", metavar="N", type=int, default=50, help="how careful to be when deduplicating files; [\033[32m1\033[0m] = just verify the filesize, [\033[32m50\033[0m] = verify file contents have not been altered (volflag=safededup)")
     ap2.add_argument("--hardlink", action="store_true", help="enable hardlink-based dedup; will fallback on symlinks when that is impossible (across filesystems) (volflag=hardlink)")
     ap2.add_argument("--hardlink-only", action="store_true", help="do not fallback to symlinks when a hardlink cannot be made (volflag=hardlinkonly)")
     ap2.add_argument("--reflink", action="store_true", help="enable reflink-based dedup; will fallback on full copies when that is impossible (non-CoW filesystem) (volflag=reflink)")
     ap2.add_argument("--no-dupe", action="store_true", help="reject duplicate files during upload; only matches within the same volume (volflag=nodupe)")
+    ap2.add_argument("--no-dupe-m", action="store_true", help="also reject dupes when moving a file into another volume (volflag=nodupem)")
     ap2.add_argument("--no-clone", action="store_true", help="do not use existing data on disk to satisfy dupe uploads; reduces server HDD reads in exchange for much more network load (volflag=noclone)")
     ap2.add_argument("--no-snap", action="store_true", help="disable snapshots -- forget unfinished uploads on shutdown; don't create .hist/up2k.snap files -- abandoned/interrupted uploads must be cleaned up manually")
     ap2.add_argument("--snap-wri", metavar="SEC", type=int, default=300, help="write upload state to ./hist/up2k.snap every \033[33mSEC\033[0m seconds; allows resuming incomplete uploads after a server crash")
     ap2.add_argument("--snap-drop", metavar="MIN", type=float, default=1440.0, help="forget unfinished uploads after \033[33mMIN\033[0m minutes; impossible to resume them after that (360=6h, 1440=24h)")
+    ap2.add_argument("--rm-partial", action="store_true", help="delete the .PARTIAL file when an unfinished upload expires after \033[33m--snap-drop\033[0m (volflag=rm_partial)")
     ap2.add_argument("--u2ts", metavar="TXT", type=u, default="c", help="how to timestamp uploaded files; [\033[32mc\033[0m]=client-last-modified, [\033[32mu\033[0m]=upload-time, [\033[32mfc\033[0m]=force-c, [\033[32mfu\033[0m]=force-u (volflag=u2ts)")
+    ap2.add_argument("--rotf-tz", metavar="TXT", type=u, default="UTC", help="default timezone for the rotf upload rule; examples: [\033[32mEurope/Oslo\033[0m], [\033[32mAmerica/Toronto\033[0m], [\033[32mAntarctica/South_Pole\033[0m] (volflag=rotf_tz)")
     ap2.add_argument("--rand", action="store_true", help="force randomized filenames, \033[33m--nrand\033[0m chars long (volflag=rand)")
     ap2.add_argument("--nrand", metavar="NUM", type=int, default=9, help="randomized filenames length (volflag=nrand)")
     ap2.add_argument("--magic", action="store_true", help="enable filetype detection on nameless uploads (volflag=magic)")
@@ -1248,9 +1278,16 @@ def add_network(ap):
     ap2.add_argument("--ll", action="store_true", help="include link-local IPv4/IPv6 in mDNS replies, even if the NIC has routable IPs (breaks some mDNS clients)")
     ap2.add_argument("--rproxy", metavar="DEPTH", type=int, default=9999999, help="which ip to associate clients with; [\033[32m0\033[0m]=tcp, [\033[32m1\033[0m]=origin (first x-fwd, unsafe), [\033[32m-1\033[0m]=closest-proxy, [\033[32m-2\033[0m]=second-hop, [\033[32m-3\033[0m]=third-hop")
     ap2.add_argument("--xff-hdr", metavar="NAME", type=u, default="x-forwarded-for", help="if reverse-proxied, which http header to read the client's real ip from")
+    ap2.add_argument("--xf-host", metavar="NAME", type=u, default="x-forwarded-host", help="if reverse-proxied, which http header to read the correct Host value from; this header must contain the server's external domain name")
+    ap2.add_argument("--xf-proto", metavar="NAME", type=u, default="x-forwarded-proto", help="if reverse-proxied, which http header to read the correct protocol value from; this header must contain either 'http' or 'https'")
+    ap2.add_argument("--xf-proto-fb", metavar="T", type=u, default="", help="protocol to assume if the X-Forwarded-Proto header (\033[33m--xf-proto\033[0m) is not provided by the reverseproxy; either 'http' or 'https'")
     ap2.add_argument("--xff-src", metavar="CIDR", type=u, default="127.0.0.0/8, ::1/128", help="list of trusted reverse-proxy CIDRs (comma-separated); only accept the real-ip header (\033[33m--xff-hdr\033[0m) and IdP headers if the incoming connection is from an IP within either of these subnets. Specify [\033[32mlan\033[0m] to allow all LAN / private / non-internet IPs. Can be disabled with [\033[32many\033[0m] if you are behind cloudflare (or similar) and are using \033[32m--xff-hdr=cf-connecting-ip\033[0m (or similar)")
-    ap2.add_argument("--ipa", metavar="CIDR", type=u, default="", help="only accept connections from IP-addresses inside \033[33mCIDR\033[0m (comma-separated); examples: [\033[32mlan\033[0m] or [\033[32m10.89.0.0/16, 192.168.33.0/24\033[0m]")
+    ap2.add_argument("--ipa", metavar="CIDR", type=u, default="", help="only accept connections from IP-addresses inside \033[33mCIDR\033[0m (comma-separated); examples: [\033[32mlan\033[0m] or [\033[32m10.89.0.0/16, 192.168.33.0/24\033[0m]\n โ””โ”€for performance and security, this only looks at the TCP/Network-level IP, and will NOT work behind a reverseproxy")
+    ap2.add_argument("--ipar", metavar="CIDR", type=u, default="", help="only accept connections from IP-addresses inside \033[33mCIDR\033[0m (comma-separated).\n โ””โ”€this is reverseproxy-compatible; reads client-IP from 'X-Forwarded-For' if possible, with TCP/Network IP as fallback")
     ap2.add_argument("--rp-loc", metavar="PATH", type=u, default="", help="if reverse-proxying on a location instead of a dedicated domain/subdomain, provide the base location here; example: [\033[32m/foo/bar\033[0m]")
+    ap2.add_argument("--cachectl", metavar="TXT", default="no-cache", help="default-value of the 'Cache-Control' response-header (controls caching in webbrowsers). Default prevents repeated downloading of the same file unless necessary (browser will ask copyparty if the file has changed). Examples: [\033[32mmax-age=604869\033[0m] will cache for 7 days, [\033[32mno-store, max-age=0\033[0m] will always redownload. (volflag=cachectl)")
+    ap2.add_argument("--http-vary", metavar="TXT", type=u, default="Origin, PW, Cookie", help="value of the 'Vary' response-header; a hint for caching proxies")
+    ap2.add_argument("--http-no-tcp", action="store_true", help="do not listen on TCP/IP for http/https; only listen on unix-domain-sockets")
     if ANYWIN:
         ap2.add_argument("--reuseaddr", action="store_true", help="set reuseaddr on listening sockets on windows; allows rapid restart of copyparty at the expense of being able to accidentally start multiple instances")
     elif not MACOS:
@@ -1305,6 +1342,7 @@ def add_auth(ap):
     ap2.add_argument("--idp-h-grp", metavar="HN", type=u, default="", help="assume the request-header \033[33mHN\033[0m contains the groupname of the requesting user; can be referenced in config files for group-based access control")
     ap2.add_argument("--idp-h-key", metavar="HN", type=u, default="", help="optional but recommended safeguard; your reverse-proxy will insert a secret header named \033[33mHN\033[0m into all requests, and the other IdP headers will be ignored if this header is not present")
     ap2.add_argument("--idp-gsep", metavar="RE", type=u, default="|:;+,", help="if there are multiple groups in \033[33m--idp-h-grp\033[0m, they are separated by one of the characters in \033[33mRE\033[0m")
+    ap2.add_argument("--idp-chsub", metavar="TXT", type=u, default="", help="characters to replace in usernames/groupnames; a list of pairs of characters separated by | so for example | _| will replace spaces with _ to make configuration easier, or |%%_|^_|@_| will replace %%/^/@ with _")
     ap2.add_argument("--idp-db", metavar="PATH", type=u, default=idp_db, help="where to store the known IdP users/groups (if you run multiple copyparty instances, make sure they use different DBs)")
     ap2.add_argument("--idp-store", metavar="N", type=int, default=1, help="how to use \033[33m--idp-db\033[0m; [\033[32m0\033[0m] = entirely disable, [\033[32m1\033[0m] = write-only (effectively disabled), [\033[32m2\033[0m] = remember users, [\033[32m3\033[0m] = remember users and groups.\nNOTE: Will remember and restore the IdP-volumes of all users for all eternity if set to 2 or 3, even when user is deleted from your IdP")
     ap2.add_argument("--idp-adm", metavar="U,U", type=u, default="", help="comma-separated list of users allowed to use /?idp (the cache management UI)")
@@ -1313,6 +1351,8 @@ def add_auth(ap):
     ap2.add_argument("--idp-login-t", metavar="T", type=u, default="Login with SSO", help="the label/text for the idp-login button")
     ap2.add_argument("--idp-logout", metavar="L", type=u, default="", help="replace all logout-buttons with a link to URL \033[33mL\033[0m")
     ap2.add_argument("--auth-ord", metavar="TXT", type=u, default="idp,ipu", help="controls auth precedence; examples: [\033[32mpw,idp,ipu\033[0m], [\033[32mipu,pw,idp\033[0m], see --help-auth-ord")
+    ap2.add_argument("--pw-hdr", metavar="NAME", type=u, default="pw", help="lowercase name of password-header (NAME: foo); \033[1;31mWARNING:\033[0m Changing this will break support for many clients")
+    ap2.add_argument("--pw-urlp", metavar="NAME", type=u, default="pw", help="lowercase name of password url-param (?NAME=foo); \033[1;31mWARNING:\033[0m Changing this will break support for many clients")
     ap2.add_argument("--no-bauth", action="store_true", help="disable basic-authentication support; do not accept passwords from the 'Authenticate' header at all. NOTE: This breaks support for the android app")
     ap2.add_argument("--bauth-last", action="store_true", help="keeps basic-authentication enabled, but only as a last-resort; if a cookie is also provided then the cookie wins")
     ap2.add_argument("--ses-db", metavar="PATH", type=u, default=ses_db, help="where to store the sessions database (if you run multiple copyparty instances, make sure they use different DBs)")
@@ -1358,6 +1398,8 @@ def add_zc_mdns(ap):
     ap2.add_argument("--zm6", action="store_true", help="IPv6 only")
     ap2.add_argument("--zmv", action="store_true", help="verbose mdns")
     ap2.add_argument("--zmvv", action="store_true", help="verboser mdns")
+    ap2.add_argument("--zm-http", metavar="PORT", type=int, default=-1, help="port to announce for http/webdav; [\033[32m-1\033[0m] = auto, [\033[32m0\033[0m] = disabled, [\033[32m4649\033[0m] = port 4649")
+    ap2.add_argument("--zm-https", metavar="PORT", type=int, default=-1, help="port to announce for https/webdavs; [\033[32m-1\033[0m] = auto, [\033[32m0\033[0m] = disabled, [\033[32m4649\033[0m] = port 4649")
     ap2.add_argument("--zm-no-pe", action="store_true", help="mute parser errors (invalid incoming MDNS packets)")
     ap2.add_argument("--zm-nwa-1", action="store_true", help="disable workaround for avahi-bug #379 (corruption in Avahi's mDNS reflection feature)")
     ap2.add_argument("--zms", metavar="dhf", type=u, default="", help="list of services to announce -- d=webdav h=http f=ftp s=smb -- lowercase=plaintext uppercase=TLS -- default: all enabled services except http/https (\033[32mDdfs\033[0m if \033[33m--ftp\033[0m and \033[33m--smb\033[0m is set, \033[32mDd\033[0m otherwise)")
@@ -1382,13 +1424,28 @@ def add_zc_ssdp(ap):
     ap2.add_argument("--zsid", metavar="UUID", type=u, default=zsid, help="USN (device identifier) to announce")
 
 
+def add_sftp(ap):
+    ap2 = ap.add_argument_group("SFTP options")
+    ap2.add_argument("--sftp", metavar="PORT", type=int, default=0, help="enable SFTP server on \033[33mPORT\033[0m, for example \033[32m3922")
+    ap2.add_argument("--sftpv", action="store_true", help="verbose")
+    ap2.add_argument("--sftpvv", action="store_true", help="verboser")
+    ap2.add_argument("--sftp4", action="store_true", help="only listen on IPv4")
+    ap2.add_argument("--sftp-key", metavar="U K", type=u, action="append", help="\033[34mREPEATABLE:\033[0m add ssh-key \033[33mK\033[0m for user \033[33mU\033[0m (username, space, key-type, space, base64); if user has multiple keys, then repeat this option for each key\n โ””โ”€commandline example: --sftp-key 'david ssh-ed25519 AAAAC3NzaC...'\n โ””โ”€config-file example: sftp-key: david ssh-ed25519 AAAAC3NzaC...")
+    ap2.add_argument("--sftp-key2u", action="append", help=argparse.SUPPRESS)
+    ap2.add_argument("--sftp-pw", action="store_true", help="allow password-authentication with sftp (not just ssh-keys)")
+    ap2.add_argument("--sftp-anon", metavar="TXT", type=u, default="", help="allow anonymous/unauthenticated connections with \033[33mTXT\033[0m as username")
+    ap2.add_argument("--sftp-hostk", metavar="FP", type=u, default=E.cfg, help="path to folder with hostkeys, for example 'ssh_host_rsa_key'; missing keys will be generated")
+    ap2.add_argument("--sftp-banner", metavar="T", type=u, default="", help="bannertext to send when someone connects; can be @filepath")
+    ap2.add_argument("--sftp-ipa", metavar="CIDR", type=u, default="", help="only accept connections from IP-addresses inside \033[33mCIDR\033[0m (comma-separated); specify [\033[32many\033[0m] to disable inheriting \033[33m--ipa\033[0m / \033[33m--ipar\033[0m. Examples: [\033[32mlan\033[0m] or [\033[32m10.89.0.0/16, 192.168.33.0/24\033[0m]")
+
+
 def add_ftp(ap):
     ap2 = ap.add_argument_group("FTP options (TCP only)")
     ap2.add_argument("--ftp", metavar="PORT", type=int, default=0, help="enable FTP server on \033[33mPORT\033[0m, for example \033[32m3921")
     ap2.add_argument("--ftps", metavar="PORT", type=int, default=0, help="enable FTPS server on \033[33mPORT\033[0m, for example \033[32m3990")
     ap2.add_argument("--ftpv", action="store_true", help="verbose")
     ap2.add_argument("--ftp4", action="store_true", help="only listen on IPv4")
-    ap2.add_argument("--ftp-ipa", metavar="CIDR", type=u, default="", help="only accept connections from IP-addresses inside \033[33mCIDR\033[0m (comma-separated); specify [\033[32many\033[0m] to disable inheriting \033[33m--ipa\033[0m. Examples: [\033[32mlan\033[0m] or [\033[32m10.89.0.0/16, 192.168.33.0/24\033[0m]")
+    ap2.add_argument("--ftp-ipa", metavar="CIDR", type=u, default="", help="only accept connections from IP-addresses inside \033[33mCIDR\033[0m (comma-separated); specify [\033[32many\033[0m] to disable inheriting \033[33m--ipa\033[0m / \033[33m--ipar\033[0m. Examples: [\033[32mlan\033[0m] or [\033[32m10.89.0.0/16, 192.168.33.0/24\033[0m]")
     ap2.add_argument("--ftp-no-ow", action="store_true", help="if target file exists, reject upload instead of overwrite")
     ap2.add_argument("--ftp-wt", metavar="SEC", type=int, default=7, help="grace period for resuming interrupted uploads (any client can write to any file last-modified more recently than \033[33mSEC\033[0m seconds ago)")
     ap2.add_argument("--ftp-nat", metavar="ADDR", type=u, default="", help="the NAT address to use for passive connections")
@@ -1402,7 +1459,10 @@ def add_webdav(ap):
     ap2.add_argument("--dav-mac", action="store_true", help="disable apple-garbage filter -- allow macos to create junk files (._* and .DS_Store, .Spotlight-*, .fseventsd, .Trashes, .AppleDouble, __MACOS)")
     ap2.add_argument("--dav-rt", action="store_true", help="show symlink-destination's lastmodified instead of the link itself; always enabled for recursive listings (volflag=davrt)")
     ap2.add_argument("--dav-auth", action="store_true", help="force auth for all folders (required by davfs2 when only some folders are world-readable) (volflag=davauth)")
-    ap2.add_argument("--dav-ua1", metavar="PTN", type=u, default=r" kioworker/", help="regex of tricky user-agents which expect 401 from GET requests; disable with [\033[32mno\033[0m] or blank")
+    ap2.add_argument("--dav-ua1", metavar="PTN", type=u, default=r" kioworker/", help="regex of user-agents which ARE webdav-clients, and expect 401 from GET requests; disable with [\033[32mno\033[0m] or blank")
+    ap2.add_argument("--dav-port", metavar="P", type=int, default=0, help="additional port to listen on for misbehaving webdav clients which pretend they are graphical browsers; an alternative/supplement to dav-ua1")
+    ap2.add_argument("--ua-nodav", metavar="PTN", type=u, default=r"^(Mozilla/|NetworkingExtension/|com\.apple\.WebKit)", help="regex of user-agents which are NOT webdav-clients")
+    ap2.add_argument("--p-nodav", metavar="P,P", type=u, default="", help="server-ports (comma-sep.) which are NOT webdav-clients; an alternative/supplement to ua-nodav")
 
 
 def add_tftp(ap):
@@ -1414,7 +1474,7 @@ def add_tftp(ap):
     ap2.add_argument("--tftp-no-fast", action="store_true", help="debug: disable optimizations")
     ap2.add_argument("--tftp-lsf", metavar="PTN", type=u, default="\\.?(dir|ls)(\\.txt)?", help="return a directory listing if a file with this name is requested and it does not exist; defaults matches .ls, dir, .dir.txt, ls.txt, ...")
     ap2.add_argument("--tftp-nols", action="store_true", help="if someone tries to download a directory, return an error instead of showing its directory listing")
-    ap2.add_argument("--tftp-ipa", metavar="CIDR", type=u, default="", help="only accept connections from IP-addresses inside \033[33mCIDR\033[0m (comma-separated); specify [\033[32many\033[0m] to disable inheriting \033[33m--ipa\033[0m. Examples: [\033[32mlan\033[0m] or [\033[32m10.89.0.0/16, 192.168.33.0/24\033[0m]")
+    ap2.add_argument("--tftp-ipa", metavar="CIDR", type=u, default="", help="only accept connections from IP-addresses inside \033[33mCIDR\033[0m (comma-separated); specify [\033[32many\033[0m] to disable inheriting \033[33m--ipa\033[0m / \033[33m--ipar\033[0m. Examples: [\033[32mlan\033[0m] or [\033[32m10.89.0.0/16, 192.168.33.0/24\033[0m]")
     ap2.add_argument("--tftp-pr", metavar="P-P", type=u, default="", help="the range of UDP ports to use for data transfer, for example \033[32m12000-13000")
 
 
@@ -1431,6 +1491,10 @@ def add_smb(ap):
     ap2.add_argument("--smbvv", action="store_true", help="verboser")
     ap2.add_argument("--smbvvv", action="store_true", help="verbosest")
 
+def add_opds(ap):
+    ap2 = ap.add_argument_group("OPDS options")
+    ap2.add_argument("--opds", action="store_true", help="enable opds -- allows e-book readers to browse and download files (volflag=opds)")
+    ap2.add_argument("--opds-exts", metavar="T,T", type=u, default="epub,cbz,pdf", help="file formats to list in OPDS feeds; leave empty to show everything (volflag=opds_exts)")
 
 def add_handlers(ap):
     ap2 = ap.add_argument_group("handlers (see --help-handlers)")
@@ -1458,6 +1522,7 @@ def add_hooks(ap):
 def add_stats(ap):
     ap2 = ap.add_argument_group("grafana/prometheus metrics endpoint")
     ap2.add_argument("--stats", action="store_true", help="enable openmetrics at /.cpr/metrics for admin accounts")
+    ap2.add_argument("--stats-u", metavar="U,U", type=u, default="", help="comma-separated list of users allowed to access /.cpr/metrics even if they aren't admin")
     ap2.add_argument("--nos-hdd", action="store_true", help="disable disk-space metrics (used/free space)")
     ap2.add_argument("--nos-vol", action="store_true", help="disable volume size metrics (num files, total bytes, vmaxb/vmaxn)")
     ap2.add_argument("--nos-vst", action="store_true", help="disable volume state metrics (indexing, analyzing, activity)")
@@ -1500,12 +1565,13 @@ def add_optouts(ap):
     ap2.add_argument("--no-pipe", action="store_true", help="disable race-the-beam (lockstep download of files which are currently being uploaded) (volflag=nopipe)")
     ap2.add_argument("--no-tail", action="store_true", help="disable streaming a growing files with ?tail (volflag=notail)")
     ap2.add_argument("--no-db-ip", action="store_true", help="do not write uploader-IP into the database; will also disable unpost, you may want \033[32m--forget-ip\033[0m instead (volflag=no_db_ip)")
+    ap2.add_argument("--no-zls", action="store_true", help="disable browsing the contents of zip/cbz files, does not affect thumbnails")
 
 
 def add_safety(ap):
     ap2 = ap.add_argument_group("safety options")
     ap2.add_argument("-s", action="count", default=0, help="increase safety: Disable thumbnails / potentially dangerous software (ffmpeg/pillow/vips), hide partial uploads, avoid crawlers.\n โ””โ”€Alias of\033[32m --dotpart --no-thumb --no-mtag-ff --no-robots --force-js")
-    ap2.add_argument("-ss", action="store_true", help="further increase safety: Prevent js-injection, accidental move/delete, broken symlinks, webdav requires login, 404 on 403, ban on excessive 404s.\n โ””โ”€Alias of\033[32m -s --unpost=0 --no-del --no-mv --hardlink --dav-auth --vague-403 -nih")
+    ap2.add_argument("-ss", action="store_true", help="further increase safety: Prevent js-injection, accidental move/delete, broken symlinks, webdav requires login, 404 on 403, ban on excessive 404s.\n โ””โ”€Alias of\033[32m -s --unpost=0 --no-del --no-mv --reflink --dav-auth --vague-403 -nih")
     ap2.add_argument("-sss", action="store_true", help="further increase safety: Enable logging to disk, scan for dangerous symlinks.\n โ””โ”€Alias of\033[32m -ss --no-dav --no-logues --no-readme -lo=cpp-%%Y-%%m%%d-%%H%%M%%S.txt.xz --ls=**,*,ln,p,r")
     ap2.add_argument("--ls", metavar="U[,V[,F]]", type=u, default="", help="do a sanity/safety check of all volumes on startup; arguments \033[33mUSER\033[0m,\033[33mVOL\033[0m,\033[33mFLAGS\033[0m (see \033[33m--help-ls\033[0m); example [\033[32m**,*,ln,p,r\033[0m]")
     ap2.add_argument("--xvol", action="store_true", help="never follow symlinks leaving the volume root, unless the link is into another volume where the user has similar access (volflag=xvol)")
@@ -1514,10 +1580,12 @@ def add_safety(ap):
     ap2.add_argument("--no-dot-ren", action="store_true", help="disallow renaming dotfiles; makes it impossible to turn something into a dotfile")
     ap2.add_argument("--no-logues", action="store_true", help="disable rendering .prologue/.epilogue.html into directory listings")
     ap2.add_argument("--no-readme", action="store_true", help="disable rendering readme/preadme.md into directory listings")
-    ap2.add_argument("--vague-403", action="store_true", help="send 404 instead of 403 (security through ambiguity, very enterprise)")
+    ap2.add_argument("--vague-403", action="store_true", help="send 404 instead of 403 (security through ambiguity, very enterprise). \033[1;31mWARNING:\033[0m Not compatible with WebDAV")
     ap2.add_argument("--force-js", action="store_true", help="don't send folder listings as HTML, force clients to use the embedded json instead -- slight protection against misbehaving search engines which ignore \033[33m--no-robots\033[0m")
     ap2.add_argument("--no-robots", action="store_true", help="adds http and html headers asking search engines to not index anything (volflag=norobots)")
     ap2.add_argument("--logout", metavar="H", type=float, default=8086.0, help="logout clients after \033[33mH\033[0m hours of inactivity; [\033[32m0.0028\033[0m]=10sec, [\033[32m0.1\033[0m]=6min, [\033[32m24\033[0m]=day, [\033[32m168\033[0m]=week, [\033[32m720\033[0m]=month, [\033[32m8760\033[0m]=year)")
+    ap2.add_argument("--dont-ban", metavar="TXT", type=u, default="no", help="anyone at this accesslevel or above will not get banned: [\033[32mav\033[0m]=admin-in-volume, [\033[32maa\033[0m]=has-admin-anywhere, [\033[32mrw\033[0m]=read-write, [\033[32mauth\033[0m]=authenticated, [\033[32many\033[0m]=disable-all-bans, [\033[32mno\033[0m]=anyone-can-get-banned")
+    ap2.add_argument("--banmsg", metavar="TXT", type=u, default="thank you for playing \u00a0 (see serverlog and readme)", help="the response to send to banned users; can be @ban.html to send the contents of ban.html")
     ap2.add_argument("--ban-pw", metavar="N,W,B", type=u, default="9,60,1440", help="more than \033[33mN\033[0m wrong passwords in \033[33mW\033[0m minutes = ban for \033[33mB\033[0m minutes; disable with [\033[32mno\033[0m]")
     ap2.add_argument("--ban-pwc", metavar="N,W,B", type=u, default="5,60,1440", help="more than \033[33mN\033[0m password-changes in \033[33mW\033[0m minutes = ban for \033[33mB\033[0m minutes; disable with [\033[32mno\033[0m]")
     ap2.add_argument("--ban-404", metavar="N,W,B", type=u, default="50,60,1440", help="hitting more than \033[33mN\033[0m 404's in \033[33mW\033[0m minutes = ban for \033[33mB\033[0m minutes; only affects users who cannot see directory listings because their access is either g/G/h")
@@ -1525,7 +1593,7 @@ def add_safety(ap):
     ap2.add_argument("--ban-422", metavar="N,W,B", type=u, default="9,2,1440", help="hitting more than \033[33mN\033[0m 422's in \033[33mW\033[0m minutes = ban for \033[33mB\033[0m minutes (invalid requests, attempted exploits ++)")
     ap2.add_argument("--ban-url", metavar="N,W,B", type=u, default="9,2,1440", help="hitting more than \033[33mN\033[0m sus URL's in \033[33mW\033[0m minutes = ban for \033[33mB\033[0m minutes; applies only to permissions g/G/h (decent replacement for \033[33m--ban-404\033[0m if that can't be used)")
     ap2.add_argument("--sus-urls", metavar="R", type=u, default=r"\.php$|(^|/)wp-(admin|content|includes)/", help="URLs which are considered sus / eligible for banning; disable with blank or [\033[32mno\033[0m]")
-    ap2.add_argument("--nonsus-urls", metavar="R", type=u, default=r"^(favicon\.ico|robots\.txt)$|^apple-touch-icon|^\.well-known", help="harmless URLs ignored from 404-bans; disable with blank or [\033[32mno\033[0m]")
+    ap2.add_argument("--nonsus-urls", metavar="R", type=u, default=r"^(favicon\..{3}|robots\.txt)$|^apple-touch-icon|^\.well-known", help="harmless URLs ignored from 403/404-bans; disable with blank or [\033[32mno\033[0m]")
     ap2.add_argument("--early-ban", action="store_true", help="if a client is banned, reject its connection as soon as possible; not a good idea to enable when proxied behind cloudflare since it could ban your reverse-proxy")
     ap2.add_argument("--cookie-nmax", metavar="N", type=int, default=50, help="reject HTTP-request from client if they send more than N cookies")
     ap2.add_argument("--cookie-cmax", metavar="N", type=int, default=8192, help="reject HTTP-request from client if more than N characters in Cookie header")
@@ -1566,6 +1634,7 @@ def add_logging(ap):
     ap2.add_argument("--no-voldump", action="store_true", help="do not list volumes and permissions on startup")
     ap2.add_argument("--log-utc", action="store_true", help="do not use local timezone; assume the TZ env-var is UTC (tiny bit faster)")
     ap2.add_argument("--log-tdec", metavar="N", type=int, default=3, help="timestamp resolution / number of timestamp decimals")
+    ap2.add_argument("--log-date", metavar="TXT", type=u, default="", help="date-format, for example [\033[32m%%Y-%%m-%%d\033[0m] (default is disabled; no date, just HH:MM:SS)")
     ap2.add_argument("--log-badpwd", metavar="N", type=int, default=2, help="log failed login attempt passwords: 0=terse, 1=plaintext, 2=hashed")
     ap2.add_argument("--log-badxml", action="store_true", help="log any invalid XML received from a client")
     ap2.add_argument("--log-conn", action="store_true", help="debug: print tcp-server msgs")
@@ -1573,18 +1642,23 @@ def add_logging(ap):
     ap2.add_argument("--ihead", metavar="HEADER", type=u, action='append', help="print request \033[33mHEADER\033[0m; [\033[32m*\033[0m]=all")
     ap2.add_argument("--ohead", metavar="HEADER", type=u, action='append', help="print response \033[33mHEADER\033[0m; [\033[32m*\033[0m]=all")
     ap2.add_argument("--lf-url", metavar="RE", type=u, default=r"^/\.cpr/|[?&]th=[wjp]|/\.(_|ql_|DS_Store$|localized$)", help="dont log URLs matching regex \033[33mRE\033[0m")
+    ap2.add_argument("--scan-st-r", metavar="SEC", type=float, default=0.1, help="fs-indexing: wait \033[33mSEC\033[0m between each status-message")
+    ap2.add_argument("--scan-pr-r", metavar="SEC", type=float, default=10, help="fs-indexing: wait \033[33mSEC\033[0m between each 'progress:' message")
+    ap2.add_argument("--scan-pr-s", metavar="MiB", type=float, default=1, help="fs-indexing: say 'file: ' when a file larger than \033[33mMiB\033[0m is about to be hashed")
 
 
 def add_admin(ap):
     ap2 = ap.add_argument_group("admin panel options")
     ap2.add_argument("--no-reload", action="store_true", help="disable ?reload=cfg (reload users/volumes/volflags from config file)")
     ap2.add_argument("--no-rescan", action="store_true", help="disable ?scan (volume reindexing)")
-    ap2.add_argument("--no-stack", action="store_true", help="disable ?stack (list all stacks)")
+    ap2.add_argument("--no-stack", action="store_true", help="disable ?stack (list all stacks); same as --stack-who=no")
     ap2.add_argument("--no-ups-page", action="store_true", help="disable ?ru (list of recent uploads)")
     ap2.add_argument("--no-up-list", action="store_true", help="don't show list of incoming files in controlpanel")
     ap2.add_argument("--dl-list", metavar="LVL", type=int, default=2, help="who can see active downloads in the controlpanel? [\033[32m0\033[0m]=nobody, [\033[32m1\033[0m]=admins, [\033[32m2\033[0m]=everyone")
     ap2.add_argument("--ups-who", metavar="LVL", type=int, default=2, help="who can see recent uploads on the ?ru page? [\033[32m0\033[0m]=nobody, [\033[32m1\033[0m]=admins, [\033[32m2\033[0m]=everyone (volflag=ups_who)")
     ap2.add_argument("--ups-when", action="store_true", help="let everyone see upload timestamps on the ?ru page, not just admins")
+    ap2.add_argument("--stack-who", metavar="LVL", type=u, default="a", help="who can see the ?stack page (list of threads)? [\033[32mno\033[0m]=nobody, [\033[32ma\033[0m]=admins, [\033[32mrw\033[0m]=read+write, [\033[32mall\033[0m]=everyone")
+    ap2.add_argument("--stack-v", action="store_true", help="verbose ?stack")
 
 
 def add_thumbnail(ap):
@@ -1601,6 +1675,7 @@ def add_thumbnail(ap):
     ap2.add_argument("--th-ram-max", metavar="GB", type=float, default=th_ram, help="max memory usage (GiB) permitted by thumbnailer; not very accurate")
     ap2.add_argument("--th-crop", metavar="TXT", type=u, default="y", help="crop thumbnails to 4:3 or keep dynamic height; client can override in UI unless force. [\033[32my\033[0m]=crop, [\033[32mn\033[0m]=nocrop, [\033[32mfy\033[0m]=force-y, [\033[32mfn\033[0m]=force-n (volflag=crop)")
     ap2.add_argument("--th-x3", metavar="TXT", type=u, default="n", help="show thumbs at 3x resolution; client can override in UI unless force. [\033[32my\033[0m]=yes, [\033[32mn\033[0m]=no, [\033[32mfy\033[0m]=force-yes, [\033[32mfn\033[0m]=force-no (volflag=th3x)")
+    ap2.add_argument("--th-qv", metavar="N", type=int, default=40, help="thumbnail quality (10~90); higher is larger filesize and better quality (volflag=th_qv)")
     ap2.add_argument("--th-dec", metavar="LIBS", default="vips,pil,raw,ff", help="image decoders, in order of preference")
     ap2.add_argument("--th-no-jpg", action="store_true", help="disable jpg output")
     ap2.add_argument("--th-no-webp", action="store_true", help="disable webp output")
@@ -1653,7 +1728,9 @@ def add_rss(ap):
     ap2.add_argument("--rss", action="store_true", help="enable RSS output (experimental) (volflag=rss)")
     ap2.add_argument("--rss-nf", metavar="HITS", type=int, default=250, help="default number of files to return (url-param 'nf')")
     ap2.add_argument("--rss-fext", metavar="E,E", type=u, default="", help="default list of file extensions to include (url-param 'fext'); blank=all")
-    ap2.add_argument("--rss-sort", metavar="ORD", type=u, default="m", help="default sort order (url-param 'sort'); [\033[32mm\033[0m]=last-modified [\033[32mu\033[0m]=upload-time [\033[32mn\033[0m]=filename [\033[32ms\033[0m]=filesize; Uppercase=oldest-first. Note that upload-time is 0 for non-uploaded files")
+    ap2.add_argument("--rss-sort", metavar="ORD", type=u, default="m", help="default sort order (url-param 'sort'); [\033[32mm\033[0m]=last-modified [\033[32mu\033[0m]=upload-time [\033[32mn\033[0m]=filename [\033[32ms\033[0m]=filesize; Uppercase=oldest-first. Note that upload-time is 0 for non-uploaded files (volflag=rss_sort)")
+    ap2.add_argument("--rss-fmt-t", metavar="TXT", type=u, default="{fname}", help="title format (url-param 'rss_fmt_t') (volflag=rss_fmt_t)")
+    ap2.add_argument("--rss-fmt-d", metavar="TXT", type=u, default="{artist} - {title}", help="description format (url-param 'rss_fmt_d') (volflag=rss_fmt_d)")
 
 
 def add_db_general(ap, hcores):
@@ -1680,6 +1757,7 @@ def add_db_general(ap, hcores):
     ap2.add_argument("--hash-mt", metavar="CORES", type=int, default=hcores, help="num cpu cores to use for file hashing; set 0 or 1 for single-core hashing")
     ap2.add_argument("--re-maxage", metavar="SEC", type=int, default=0, help="rescan filesystem for changes every \033[33mSEC\033[0m seconds; 0=off (volflag=scan)")
     ap2.add_argument("--db-act", metavar="SEC", type=float, default=10.0, help="defer any scheduled volume reindexing until \033[33mSEC\033[0m seconds after last db write (uploads, renames, ...)")
+    ap2.add_argument("--srch-icase", action="store_true", help="case-insensitive search for all unicode characters (the default is icase for just ascii). NOTE: will make searches much slower (around 4x), and NOTE: only applies to filenames/paths, not tags")
     ap2.add_argument("--srch-time", metavar="SEC", type=int, default=45, help="search deadline -- terminate searches running for more than \033[33mSEC\033[0m seconds")
     ap2.add_argument("--srch-hits", metavar="N", type=int, default=7999, help="max search results to allow clients to fetch; 125 results will be shown initially")
     ap2.add_argument("--srch-excl", metavar="PTN", type=u, default="", help="regex: exclude files from search results if the file-URL matches \033[33mPTN\033[0m (case-sensitive). Example: [\033[32mpassword|logs/[0-9]\033[0m] any URL containing 'password' or 'logs/DIGIT' (volflag=srch_excl)")
@@ -1734,12 +1812,13 @@ def add_og(ap):
     ap2.add_argument("--uqe", action="store_true", help="query-string parceling; translate a request for \033[33m/foo/.uqe/BASE64\033[0m into \033[33m/foo?TEXT\033[0m, or \033[33m/foo/?TEXT\033[0m if the first character in \033[33mTEXT\033[0m is a slash. Automatically enabled for \033[33m--og\033[0m")
 
 
-def add_ui(ap, retry):
+def add_ui(ap, retry: int):
     THEMES = 10
     ap2 = ap.add_argument_group("ui options")
     ap2.add_argument("--grid", action="store_true", help="show grid/thumbnails by default (volflag=grid)")
     ap2.add_argument("--gsel", action="store_true", help="select files in grid by ctrl-click (volflag=gsel)")
     ap2.add_argument("--localtime", action="store_true", help="default to local timezone instead of UTC")
+    ap2.add_argument("--ui-filesz", metavar="FMT", type=u, default="1", help="default filesize format; one of these: 0, 1, 2, 2c, 3, 3c, 4, 4c, 5, 5c, fuzzy (see UI)")
     ap2.add_argument("--lang", metavar="LANG", type=u, default="eng", help="language, for example \033[32meng\033[0m / \033[32mnor\033[0m / ...")
     ap2.add_argument("--theme", metavar="NUM", type=int, default=0, help="default theme to use (0..%d)" % (THEMES - 1,))
     ap2.add_argument("--themes", metavar="NUM", type=int, default=THEMES, help="number of themes installed")
@@ -1749,18 +1828,26 @@ def add_ui(ap, retry):
     ap2.add_argument("--hsortn", metavar="N", type=int, default=2, help="number of sorting rules to include in media URLs by default (volflag=hsortn)")
     ap2.add_argument("--see-dots", action="store_true", help="default-enable seeing dotfiles; only takes effect if user has the necessary permissions")
     ap2.add_argument("--qdel", metavar="LVL", type=int, default=2, help="number of confirmations to show when deleting files (2/1/0)")
+    ap2.add_argument("--dlni", action="store_true", help="force download (don't show inline) when files are clicked (volflag:dlni)")
     ap2.add_argument("--unlist", metavar="REGEX", type=u, default="", help="don't show files/folders matching \033[33mREGEX\033[0m in file list. WARNING: Purely cosmetic! Does not affect API calls, just the browser. Example: [\033[32m\\.(js|css)$\033[0m] (volflag=unlist)")
     ap2.add_argument("--favico", metavar="TXT", type=u, default="c 000 none" if retry else "๐ŸŽ‰ 000 none", help="\033[33mfavicon-text\033[0m [ \033[33mforeground\033[0m [ \033[33mbackground\033[0m ] ], set blank to disable")
+    ap2.add_argument("--ufavico", metavar="TXT", type=u, default="", help="URL to .ico/png/gif/svg file; \033[33m--favico\033[0m takes precedence unless disabled (volflag=ufavico)")
     ap2.add_argument("--ext-th", metavar="E=VP", type=u, action="append", help="\033[34mREPEATABLE:\033[0m use thumbnail-image \033[33mVP\033[0m for file-extension \033[33mE\033[0m, example: [\033[32mexe=/.res/exe.png\033[0m] (volflag=ext_th)")
     ap2.add_argument("--mpmc", type=u, default="", help=argparse.SUPPRESS)
+    ap2.add_argument("--notooltips", action="store_true", help="tooltips disabled as default")
     ap2.add_argument("--spinner", metavar="TXT", type=u, default="๐ŸŒฒ", help="\033[33memoji\033[0m or \033[33memoji,css\033[0m Example: [\033[32m๐Ÿฅ–,padding:0\033[0m]")
     ap2.add_argument("--css-browser", metavar="L", type=u, default="", help="URL to additional CSS to include in the filebrowser html")
     ap2.add_argument("--js-browser", metavar="L", type=u, default="", help="URL to additional JS to include in the filebrowser html")
     ap2.add_argument("--js-other", metavar="L", type=u, default="", help="URL to additional JS to include in all other pages")
     ap2.add_argument("--html-head", metavar="TXT", type=u, default="", help="text to append to the  of all HTML pages (except for basic-browser); can be @PATH to send the contents of a file at PATH, and/or begin with %% to render as jinja2 template (volflag=html_head)")
+    ap2.add_argument("--html-head-s", metavar="T", type=u, default="", help="text to append to the  of all HTML pages (except for basic-browser); similar to (and can be combined with) --html-head but only accepts static text (volflag=html_head_s)")
     ap2.add_argument("--ih", action="store_true", help="if a folder contains index.html, show that instead of the directory listing by default (can be changed in the client settings UI, or add ?v to URL for override)")
     ap2.add_argument("--textfiles", metavar="CSV", type=u, default="txt,nfo,diz,cue,readme", help="file extensions to present as plaintext")
     ap2.add_argument("--txt-max", metavar="KiB", type=int, default=64, help="max size of embedded textfiles on ?doc= (anything bigger will be lazy-loaded by JS)")
+    ap2.add_argument("--prologues", metavar="T,T", type=u, default=".prologue.html", help="comma-sep. list of filenames to scan for and use as prologues (embed above/before directory listing) (volflag=prologues)")
+    ap2.add_argument("--epilogues", metavar="T,T", type=u, default=".epilogue.html", help="comma-sep. list of filenames to scan for and use as epilogues (embed below/after directory listing) (volflag=epilogues)")
+    ap2.add_argument("--preadmes", metavar="T,T", type=u, default="preadme.md,PREADME.md", help="comma-sep. list of filenames to scan for and use as preadmes (embed above/before directory listing) (volflag=preadmes)")
+    ap2.add_argument("--readmes", metavar="T,T", type=u, default="readme.md,README.md", help="comma-sep. list of filenames to scan for and use as readmes (embed below/after directory listing) (volflag=readmes)")
     ap2.add_argument("--doctitle", metavar="TXT", type=u, default="copyparty @ --name", help="title / service-name to show in html documents")
     ap2.add_argument("--bname", metavar="TXT", type=u, default="--name", help="server name (displayed in filebrowser document title)")
     ap2.add_argument("--pb-url", metavar="URL", type=u, default=URL_PRJ, help="powered-by link; disable with \033[33m-nb\033[0m")
@@ -1778,6 +1865,15 @@ def add_ui(ap, retry):
     ap2.add_argument("--lg-sba", metavar="TXT", type=u, default="", help="the value of the iframe 'allow' attribute for prologue/epilogue docs (volflag=lg_sba); see https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Permissions-Policy#iframes")
     ap2.add_argument("--no-sb-md", action="store_true", help="don't sandbox README/PREADME.md documents (volflags: no_sb_md | sb_md)")
     ap2.add_argument("--no-sb-lg", action="store_true", help="don't sandbox prologue/epilogue docs (volflags: no_sb_lg | sb_lg); enables non-js support")
+    ap2.add_argument("--ui-nombar", action="store_true", help="hide top-menu in the UI (volflag=ui_nombar)")
+    ap2.add_argument("--ui-noacci", action="store_true", help="hide account-info in the UI (volflag=ui_noacci)")
+    ap2.add_argument("--ui-nosrvi", action="store_true", help="hide server-info in the UI (volflag=ui_nosrvi)")
+    ap2.add_argument("--ui-nonav", action="store_true", help="hide navpane+breadcrumbs (volflag=ui_nonav)")
+    ap2.add_argument("--ui-notree", action="store_true", help="hide navpane in the UI (volflag=ui_notree)")
+    ap2.add_argument("--ui-nocpla", action="store_true", help="hide cpanel-link in the UI (volflag=ui_nocpla)")
+    ap2.add_argument("--ui-nolbar", action="store_true", help="hide link-bar in the UI (volflag=ui_nolbar)")
+    ap2.add_argument("--ui-noctxb", action="store_true", help="hide context-buttons in the UI (volflag=ui_noctxb)")
+    ap2.add_argument("--ui-norepl", action="store_true", help="hide repl-button in the UI (volflag=ui_norepl)")
     ap2.add_argument("--have-unlistc", action="store_true", help=argparse.SUPPRESS)
 
 
@@ -1809,7 +1905,7 @@ def add_debug(ap):
 
 
 def run_argparse(
-    argv: list[str], formatter: Any, retry: bool, nc: int, verbose=True
+    argv: list[str], formatter: Any, retry: int, nc: int, verbose=True
 ) -> argparse.Namespace:
     ap = argparse.ArgumentParser(
         formatter_class=formatter,
@@ -1851,10 +1947,12 @@ def run_argparse(
     add_thumbnail(ap)
     add_transcoding(ap)
     add_rss(ap)
+    add_sftp(ap)
     add_ftp(ap)
     add_webdav(ap)
     add_tftp(ap)
     add_smb(ap)
+    add_opds(ap)
     add_safety(ap)
     add_salt(ap, fk_salt, dk_salt, ah_salt)
     add_optouts(ap)
@@ -1876,18 +1974,21 @@ def run_argparse(
     for k, h, _ in sects:
         ap2.add_argument("--help-" + k, action="store_true", help=h)
 
-    try:
-        if not retry:
-            raise Exception()
-
+    if retry:
+        a = ["ascii", "replace"]
         for x in ap._actions:
-            if not x.help:
-                continue
+            try:
+                x.default = x.default.encode(*a).decode(*a)
+            except:
+                pass
 
-            a = ["ascii", "replace"]
-            x.help = x.help.encode(*a).decode(*a) + "\033[0m"
-    except:
-        pass
+            try:
+                if x.help and x.help is not argparse.SUPPRESS:
+                    x.help = x.help.replace("โ””โ”€", "`-").encode(*a).decode(*a)
+                    if retry > 2:
+                        x.help = RE_ANSI.sub("", x.help)
+            except:
+                pass
 
     ret = ap.parse_args(args=argv[1:])
     for k, h, t in sects:
@@ -1901,16 +2002,20 @@ def run_argparse(
 
 
 def main(argv: Optional[list[str]] = None) -> None:
+    if argv is None:
+        argv = sys.argv
+
+    if "--versionb" in argv:
+        print(S_VERSION)
+        sys.exit(0)
+
     time.strptime("19970815", "%Y%m%d")  # python#7980
     if WINDOWS:
         os.system("rem")  # enables colors
 
     init_E(E)
 
-    if argv is None:
-        argv = sys.argv
-
-    f = '\033[36mcopyparty v{} "\033[35m{}\033[36m" ({})\n{}\033[0;36m\n   sqlite {} | jinja {} | pyftpd {} | tftp {}\n\033[0m'
+    f = '\033[36mcopyparty v{} "\033[35m{}\033[36m" ({})\n{}\033[0;36m\n   sqlite {} | jinja {} | pyftpd {} | tftp {} | miko {}\n\033[0m'
     f = f.format(
         S_VERSION,
         CODENAME,
@@ -1920,6 +2025,7 @@ def main(argv: Optional[list[str]] = None) -> None:
         JINJA_VER,
         PYFTPD_VER,
         PARTFTPY_VER,
+        MIKO_VER,
     )
     lprint(f)
 
@@ -1997,7 +2103,7 @@ def main(argv: Optional[list[str]] = None) -> None:
     except:
         nc = 486  # mdns/ssdp restart headroom; select() maxfd is 512 on windows
 
-    retry = False
+    retry = 0
     for fmtr in [RiceFormatter, RiceFormatter, Dodge11874, BasicDodge11874]:
         try:
             al = run_argparse(argv, fmtr, retry, nc)
@@ -2006,8 +2112,9 @@ def main(argv: Optional[list[str]] = None) -> None:
         except SystemExit:
             raise
         except:
-            retry = True
-            lprint("\n[ {} ]:\n{}\n".format(fmtr, min_ex()))
+            retry += 1
+            t = "WARNING: due to limitations in your terminal and/or OS, the helptext cannot be displayed correctly. Will show a simplified version due to the following error:\n[ %s ]:\n%s\n"
+            lprint(t % (fmtr, min_ex()))
 
     try:
         assert al  # type: ignore
@@ -2035,7 +2142,7 @@ def main(argv: Optional[list[str]] = None) -> None:
 
     # propagate implications
     for k1, k2 in IMPLICATIONS:
-        if getattr(al, k1):
+        if getattr(al, k1, None):
             setattr(al, k2, True)
 
     # propagate unplications
diff --git a/copyparty/__version__.py b/copyparty/__version__.py
index 2b7fbbf9..c773bd66 100644
--- a/copyparty/__version__.py
+++ b/copyparty/__version__.py
@@ -1,8 +1,8 @@
 # coding: utf-8
 
-VERSION = (1, 19, 7)
-CODENAME = "usernames"
-BUILD_DT = (2025, 8, 28)
+VERSION = (1, 20, 0)
+CODENAME = "sftp is fine too"
+BUILD_DT = (2026, 1, 2)
 
 S_VERSION = ".".join(map(str, VERSION))
 S_BUILD_DT = "{0:04d}-{1:02d}-{2:02d}".format(*BUILD_DT)
diff --git a/copyparty/authsrv.py b/copyparty/authsrv.py
index f68a9f7b..ce782bc3 100644
--- a/copyparty/authsrv.py
+++ b/copyparty/authsrv.py
@@ -13,7 +13,7 @@ import threading
 import time
 from datetime import datetime
 
-from .__init__ import ANYWIN, PY2, TYPE_CHECKING, WINDOWS, E
+from .__init__ import ANYWIN, MACOS, PY2, TYPE_CHECKING, WINDOWS, E
 from .bos import bos
 from .cfg import flagdescs, permdescs, vf_bmap, vf_cmap, vf_vmap
 from .pwhash import PWHash
@@ -21,8 +21,10 @@ from .util import (
     DEF_MTE,
     DEF_MTH,
     EXTS,
+    FAVICON_MIMES,
     HAVE_SQLITE3,
     IMPLICATIONS,
+    META_NOBOTS,
     MIMES,
     SQLITE_VER,
     UNPLICATIONS,
@@ -91,6 +93,13 @@ LEELOO_DALLAS = "leeloo_dallas"
 ## thanks for coming to my ted talk
 
 
+UP_MTE_MAP = {  # db-order
+    "w": "substr(w,1,16)",
+    "up_ip": "ip",
+    ".up_at": "at",
+    "up_by": "un",
+}
+
 SEE_LOG = "see log for details"
 SEESLOG = " (see serverlog for details)"
 SSEELOG = " ({})".format(SEE_LOG)
@@ -99,6 +108,8 @@ SBADCFG = " ({})".format(BAD_CFG)
 
 PTN_U_GRP = re.compile(r"\$\{u(%[+-][^}]+)\}")
 PTN_G_GRP = re.compile(r"\$\{g(%[+-][^}]+)\}")
+PTN_U_ANY = re.compile(r"(\${[u][}%])")
+PTN_G_ANY = re.compile(r"(\${[g][}%])")
 PTN_SIGIL = re.compile(r"(\${[ug][}%])")
 
 
@@ -156,6 +167,9 @@ class Lim(object):
         self.vbmax = 0  # volume bytes max
         self.vnmax = 0  # volume max num files
 
+        self.c_vb_v = 0  # cache: volume bytes used (value)
+        self.c_vb_r = 0  # cache: volume bytes used (ref)
+
         self.smin = 0  # filesize min
         self.smax = 0  # filesize max
 
@@ -167,14 +181,19 @@ class Lim(object):
         self.rotn = 0  # rot num files
         self.rotl = 0  # rot depth
         self.rotf = ""  # rot datefmt
+        self.rotf_tz = UTC  # rot timezone
         self.rot_re = re.compile("")  # rotf check
 
     def log(self, msg: str, c: Union[int, str] = 0) -> None:
         if self.log_func:
             self.log_func("up-lim", msg, c)
 
-    def set_rotf(self, fmt: str) -> None:
+    def set_rotf(self, fmt: str, tz: str) -> None:
         self.rotf = fmt
+        if tz != "UTC":
+            from zoneinfo import ZoneInfo
+
+            self.rotf_tz = ZoneInfo(tz)
         r = re.escape(fmt).replace("%Y", "[0-9]{4}").replace("%j", "[0-9]{3}")
         r = re.sub("%[mdHMSWU]", "[0-9]{2}", r)
         self.rot_re = re.compile("(^|/)" + r + "$")
@@ -278,7 +297,7 @@ class Lim(object):
             if self.rot_re.search(path.replace("\\", "/")):
                 return path, ""
 
-            suf = datetime.now(UTC).strftime(self.rotf)
+            suf = datetime.now(self.rotf_tz).strftime(self.rotf)
             if path:
                 path += "/"
 
@@ -389,6 +408,9 @@ class VFS(object):
         self.vpath = vpath  # absolute path in the virtual filesystem
         self.vpath0 = vpath0  # original vpath (before idp expansion)
         self.axs = axs
+        self.uaxs: dict[
+            str, tuple[bool, bool, bool, bool, bool, bool, bool, bool, bool]
+        ] = {}
         self.flags = flags  # config options
         self.root = self
         self.dev = 0  # st_dev
@@ -414,6 +436,7 @@ class VFS(object):
         self.js_htm = ""
         self.all_vols: dict[str, VFS] = {}  # flattened recursive
         self.all_nodes: dict[str, VFS] = {}  # also jumpvols/shares
+        self.all_fvols: dict[str, VFS] = {}  # volumes which are files
 
         if realpath:
             rp = realpath + ("" if realpath.endswith(os.sep) else os.sep)
@@ -424,10 +447,14 @@ class VFS(object):
             self.all_nodes[vpath] = self
             self.all_aps = [(rp, [self])]
             self.all_vps = [(vp, self)]
+            self.canonical = self._canonical
+            self.dcanonical = self._dcanonical
         else:
             self.histpath = self.dbpath = ""
             self.all_aps = []
             self.all_vps = []
+            self.canonical = self._canonical_null
+            self.dcanonical = self._dcanonical_null
 
         self.get_dbv = self._get_dbv
         self.ls = self._ls
@@ -542,29 +569,19 @@ class VFS(object):
 
     def can_access(
         self, vpath: str, uname: str
-    ) -> tuple[bool, bool, bool, bool, bool, bool, bool, bool]:
-        """can Read,Write,Move,Delete,Get,Upget,Admin,Dot"""
+    ) -> tuple[bool, bool, bool, bool, bool, bool, bool, bool, bool]:
+        """can Read,Write,Move,Delete,Get,Upget,Html,Admin,Dot"""
+        # NOTE: only used by get_perms, which is only used by hooks; the lowest of fruits
         if vpath:
             vn, _ = self._find(undot(vpath))
         else:
             vn = self
 
-        c = vn.axs
-        return (
-            uname in c.uread,
-            uname in c.uwrite,
-            uname in c.umove,
-            uname in c.udel,
-            uname in c.uget,
-            uname in c.upget,
-            uname in c.uadmin,
-            uname in c.udot,
-        )
-        # skip uhtml because it's rarely needed
+        return vn.uaxs[uname]
 
     def get_perms(self, vpath: str, uname: str) -> str:
         zbl = self.can_access(vpath, uname)
-        ret = "".join(ch for ch, ok in zip("rwmdgGa.", zbl) if ok)
+        ret = "".join(ch for ch, ok in zip("rwmdgGha.", zbl) if ok)
         if "rwmd" in ret and "a." in ret:
             ret += "A"
         return ret
@@ -624,7 +641,39 @@ class VFS(object):
         vrem = vjoin(self.vpath[len(dbv.vpath) :].lstrip("/"), vrem)
         return dbv, vrem
 
-    def canonical(self, rem: str, resolve: bool = True) -> str:
+    def casechk(self, rem: str, do_stat: bool) -> bool:
+        ap = self.canonical(rem, False)
+        if do_stat and not bos.path.exists(ap):
+            return True  # doesn't exist at all; good to go
+        dp, fn = os.path.split(ap)
+        if not fn:
+            return True  # filesystem root
+        try:
+            fns = os.listdir(dp)
+        except:
+            return True  # maybe chmod 111; assume ok
+        if fn in fns:
+            return True
+        hit = ""
+        lfn = fn.lower()
+        for zs in fns:
+            if lfn == zs.lower():
+                hit = zs
+                break
+        if not hit:
+            return True  # NFC/NFD or something, can't be helped either way
+        if self.log:
+            t = "returning 404 due to underlying case-insensitive filesystem:\n  http-req: %r\n  local-fs: %r"
+            self.log("vfs", t % (fn, hit))
+        return False
+
+    def _canonical_null(self, rem: str, resolve: bool = True) -> str:
+        return ""
+
+    def _dcanonical_null(self, rem: str) -> str:
+        return ""
+
+    def _canonical(self, rem: str, resolve: bool = True) -> str:
         """returns the canonical path (fully-resolved absolute fs path)"""
         ap = self.realpath
         if rem:
@@ -632,7 +681,7 @@ class VFS(object):
 
         return absreal(ap) if resolve else ap
 
-    def dcanonical(self, rem: str) -> str:
+    def _dcanonical(self, rem: str) -> str:
         """resolves until the final component (filename)"""
         ap = self.realpath
         if rem:
@@ -641,6 +690,44 @@ class VFS(object):
         ad, fn = os.path.split(ap)
         return os.path.join(absreal(ad), fn)
 
+    def _canonical_shr(self, rem: str, resolve: bool = True) -> str:
+        """returns the canonical path (fully-resolved absolute fs path)"""
+        ap = self.realpath
+        if rem:
+            ap += "/" + rem
+
+        rap = absreal(ap)
+        if self.shr_files:
+            assert self.shr_src  # !rm
+            vn, rem = self.shr_src
+            chk = absreal(os.path.join(vn.realpath, rem))
+            if chk != rap:
+                # not the dir itself; assert file allowed
+                ad, fn = os.path.split(rap)
+                if chk != ad or fn not in self.shr_files:
+                    return "\n\n"
+
+        return rap if resolve else ap
+
+    def _dcanonical_shr(self, rem: str) -> str:
+        """resolves until the final component (filename)"""
+        ap = self.realpath
+        if rem:
+            ap += "/" + rem
+
+        ad, fn = os.path.split(ap)
+        ad = absreal(ad)
+        if self.shr_files:
+            assert self.shr_src  # !rm
+            vn, rem = self.shr_src
+            chk = absreal(os.path.join(vn.realpath, rem))
+            if chk != absreal(ap):
+                # not the dir itself; assert file allowed
+                if ad != chk or fn not in self.shr_files:
+                    return "\n\n"
+
+        return os.path.join(ad, fn)
+
     def _ls_nope(
         self, *a, **ka
     ) -> tuple[str, list[tuple[str, os.stat_result]], dict[str, "VFS"]]:
@@ -673,8 +760,12 @@ class VFS(object):
         """return user-readable [fsdir,real,virt] items at vpath"""
         virt_vis = {}  # nodes readable by user
         abspath = self.canonical(rem)
-        real = list(statdir(self.log, scandir, lstat, abspath, throw))
-        real.sort()
+        if abspath:
+            real = list(statdir(self.log, scandir, lstat, abspath, throw))
+            real.sort()
+        else:
+            real = []
+
         if not rem:
             # no vfs nodes in the list of real inodes
             real = [x for x in real if x[0] not in self.nodes]
@@ -685,20 +776,17 @@ class VFS(object):
                     virt_vis[name] = vn2
                     continue
 
-                ok = False
-                zx = vn2.axs
-                axs = [zx.uread, zx.uwrite, zx.umove, zx.udel, zx.uget]
+                u_has = vn2.uaxs.get(uname) or [False] * 9
                 for pset in permsets:
                     ok = True
-                    for req, lst in zip(pset, axs):
-                        if req and uname not in lst:
+                    for req, zb in zip(pset, u_has):
+                        if req and not zb:
                             ok = False
+                            break
                     if ok:
+                        virt_vis[name] = vn2
                         break
 
-                if ok:
-                    virt_vis[name] = vn2
-
         if ".hist" in abspath:
             p = abspath.replace("\\", "/") if WINDOWS else abspath
             if p.endswith("/.hist"):
@@ -809,6 +897,7 @@ class VFS(object):
         flt: set[str],
         uname: str,
         dirs: bool,
+        dots: int,
         scandir: bool,
         wrap: bool = True,
     ) -> Generator[dict[str, Any], None, None]:
@@ -817,7 +906,7 @@ class VFS(object):
         # if single folder: the folder itself is the top-level item
         folder = "" if flt or not wrap else (vpath.split("/")[-1].lstrip(".") or "top")
 
-        g = self.walk(folder, vrem, [], uname, [[True, False]], 1, scandir, False)
+        g = self.walk(folder, vrem, [], uname, [[True, False]], dots, scandir, False)
         for _, _, vpath, apath, files, rd, vd in g:
             if flt:
                 files = [x for x in files if x[0] in flt]
@@ -976,6 +1065,16 @@ class AuthSrv(object):
         self.indent = ""
         self.is_lxc = args.c == ["/z/initcfg"]
 
+        self._vf0b = {
+            "cachectl": self.args.cachectl,
+            "tcolor": self.args.tcolor,
+            "du_iwho": self.args.du_iwho,
+            "shr_who": self.args.shr_who if self.args.shr else "no",
+            "ls_q_m": ("", ""),
+        }
+        self._vf0 = self._vf0b.copy()
+        self._vf0["d2d"] = True
+
         # fwd-decl
         self.vfs = VFS(log_func, "", "", "", AXS(), {})
         self.acct: dict[str, str] = {}  # uname->pw
@@ -1014,17 +1113,14 @@ class AuthSrv(object):
         yield prev, True
 
     def vf0(self):
-        return {"d2d": True, "tcolor": self.args.tcolor, "du_iwho": self.args.du_iwho}
+        return self._vf0.copy()
 
     def vf0b(self):
-        return {"tcolor": self.args.tcolor, "du_iwho": self.args.du_iwho}
+        return self._vf0b.copy()
 
     def idp_checkin(
         self, broker: Optional["BrokerCli"], uname: str, gname: str
     ) -> bool:
-        if uname in self.acct:
-            return False
-
         if self.idp_usr_gh.get(uname) == gname:
             return False
 
@@ -1083,6 +1179,16 @@ class AuthSrv(object):
         src0 = src  # abspath
         dst0 = dst  # vpath
 
+        zsl = []
+        for ptn, sigil in ((PTN_U_ANY, "${u}"), (PTN_G_ANY, "${g}")):
+            if bool(ptn.search(src)) != bool(ptn.search(dst)):
+                zsl.append(sigil)
+        if zsl:
+            t = "ERROR: if %s is mentioned in a volume definition, it must be included in both the filesystem-path [%s] and the volume-url [/%s]"
+            t = "\n".join([t % (x, src, dst) for x in zsl])
+            self.log(t, 1)
+            raise Exception(t)
+
         un_gn = [(un, gn) for un, gns in un_gns.items() for gn in gns]
         if not un_gn:
             # ensure volume creation if there's no users
@@ -1175,8 +1281,8 @@ class AuthSrv(object):
             self.log(t, c=3)
             raise Exception(BAD_CFG)
 
-        if not bos.path.isdir(src):
-            self.log("warning: filesystem-path does not exist: {}".format(src), 3)
+        if not bos.path.exists(src):
+            self.log("warning: filesystem-path did not exist: %r" % (src,), 3)
 
         mount[dst] = (src, dst0)
         daxs[dst] = AXS()
@@ -1362,7 +1468,10 @@ class AuthSrv(object):
                     t = "group [%s] = " % (gn,)
                     t += ", ".join("user [%s]" % (x,) for x in uns)
                     self._l(ln, 5, t)
-                    grps[gn] = uns
+                    if gn in grps:
+                        grps[gn].extend(uns)
+                    else:
+                        grps[gn] = uns
                 except:
                     t = 'lines inside the [groups] section must be "groupname: user1, user2, user..."'
                     raise Exception(t + SBADCFG)
@@ -1494,7 +1603,7 @@ class AuthSrv(object):
                 uns = [x[0] for x in un_gns.items() if grp in x[1]]
                 if grp == "${g}":
                     unames.append(un)
-                elif not uns and not self.args.idp_h_grp:
+                elif not uns and not self.args.idp_h_grp and grp != self.args.grp_all:
                     t = "group [%s] must be defined with --grp argument (or in a [groups] config section)"
                     raise CfgEx(t % (grp,))
 
@@ -1714,10 +1823,18 @@ class AuthSrv(object):
                     self.log("\n{0}\n{1}{0}".format(t, "\n".join(slns)))
                     raise
 
-        self.args.have_idp_hdrs = bool(self.args.idp_h_usr or self.args.idp_hm_usr)
-        self.args.have_ipu_or_ipr = bool(self.args.ipu or self.args.ipr)
+        derive_args(self.args)
         self.setup_auth_ord()
 
+        if self.args.ipu and not self.args.have_idp_hdrs:
+            # syntax (CIDR=UNAME) is verified in load_ipu
+            zsl = [x.split("=", 1)[1] for x in self.args.ipu]
+            zsl = [x for x in zsl if x not in acct]
+            if zsl:
+                t = "ERROR: unknown users in ipu: %s" % (zsl,)
+                self.log(t, 1)
+                raise Exception(t)
+
         self.setup_pwhash(acct)
         defpw = acct.copy()
         self.setup_chpw(acct)
@@ -1798,7 +1915,7 @@ class AuthSrv(object):
             vol.all_vps.sort(key=lambda x: len(x[0]), reverse=True)
             vol.root = vfs
 
-        zs = "neversymlink"
+        zs = "du_iwho ls_q_m neversymlink"
         k_ign = set(zs.split())
         for vol in vfs.all_vols.values():
             unknown_flags = set()
@@ -1868,9 +1985,18 @@ class AuthSrv(object):
             axs_key = "u" + perm
             for vp, vol in vfs.all_vols.items():
                 zx = getattr(vol.axs, axs_key)
-                if "*" in zx:
+                if "*" in zx and "-@acct" not in zx:
                     for usr in unames:
                         zx.add(usr)
+                for zs in list(zx):
+                    if zs.startswith("-"):
+                        zx.discard(zs)
+                        zs = zs[1:]
+                        zx.discard(zs)
+                        if zs.startswith("@"):
+                            zs = zs[1:]
+                            for zs in grps.get(zs) or []:
+                                zx.discard(zs)
 
             # aread,... = dict[uname, list[volnames] or []]
             umap: dict[str, list[str]] = {x: [] for x in unames}
@@ -1882,6 +2008,23 @@ class AuthSrv(object):
                 umap[usr].sort()
             setattr(vfs, "a" + perm, umap)
 
+        for vol in vfs.all_nodes.values():
+            za = vol.axs
+            vol.uaxs = {
+                un: (
+                    un in za.uread,
+                    un in za.uwrite,
+                    un in za.umove,
+                    un in za.udel,
+                    un in za.uget,
+                    un in za.upget,
+                    un in za.uhtml,
+                    un in za.uadmin,
+                    un in za.udot,
+                )
+                for un in unames
+            }
+
         all_users = {}
         missing_users = {}
         associated_users = {}
@@ -1950,6 +2093,8 @@ class AuthSrv(object):
         promote = []
         demote = []
         for vol in vfs.all_vols.values():
+            if not vol.realpath:
+                continue
             hid = self.hid_cache.get(vol.realpath)
             if not hid:
                 zb = hashlib.sha512(afsenc(vol.realpath)).digest()
@@ -1988,6 +2133,8 @@ class AuthSrv(object):
             vol.histpath = absreal(vol.histpath)
 
         for vol in vfs.all_vols.values():
+            if not vol.realpath:
+                continue
             hid = self.hid_cache[vol.realpath]
             vflag = vol.flags.get("dbpath")
             if vflag == "-":
@@ -2116,7 +2263,7 @@ class AuthSrv(object):
             zs = vol.flags.get("rotf")
             if zs:
                 use = True
-                lim.set_rotf(zs)
+                lim.set_rotf(zs, vol.flags.get("rotf_tz") or "UTC")
 
             zs = vol.flags.get("maxn")
             if zs:
@@ -2211,6 +2358,10 @@ class AuthSrv(object):
         free_umask = False
         have_reflink = False
         for vol in vfs.all_nodes.values():
+            if os.path.isfile(vol.realpath):
+                vol.flags["is_file"] = True
+                vol.flags["d2d"] = True
+
             if (self.args.e2ds and vol.axs.uwrite) or self.args.e2dsa:
                 vol.flags["e2ds"] = True
 
@@ -2247,7 +2398,7 @@ class AuthSrv(object):
                 if vf not in vol.flags:
                     vol.flags[vf] = getattr(self.args, ga)
 
-            zs = "forget_ip gid nrand tail_who th_spec_p u2abort u2ow uid unp_who ups_who zip_who"
+            zs = "forget_ip gid nrand tail_who th_qv th_spec_p u2abort u2ow uid unp_who ups_who zip_who"
             for k in zs.split():
                 if k in vol.flags:
                     vol.flags[k] = int(vol.flags[k])
@@ -2298,6 +2449,9 @@ class AuthSrv(object):
 
             vol.flags["du_iwho"] = n_du_who(vol.flags["du_who"])
 
+            if not enshare:
+                vol.flags["shr_who"] = self.args.shr_who = "no"
+
             if vol.flags.get("og"):
                 self.args.uqe = True
 
@@ -2384,6 +2538,57 @@ class AuthSrv(object):
                 t = "WARNING: volume [/%s]: invalid value specified for ext-th: %s"
                 self.log(t % (vol.vpath, etv), 3)
 
+            zsl1 = [x for x in vol.flags["preadmes"].split(",") if x]
+            zsl2 = [x for x in vol.flags["readmes"].split(",") if x]
+            zsl3 = list(set([x.lower() for x in zsl1]))
+            zsl4 = list(set([x.lower() for x in zsl2]))
+            vol.flags["emb_mds"] = [[0, zsl1, zsl3], [1, zsl2, zsl4]]
+
+            zsl1 = [x for x in vol.flags["prologues"].split(",") if x]
+            zsl2 = [x for x in vol.flags["epilogues"].split(",") if x]
+            zsl3 = list(set([x.lower() for x in zsl1]))
+            zsl4 = list(set([x.lower() for x in zsl2]))
+            vol.flags["emb_lgs"] = [[0, zsl1, zsl3], [1, zsl2, zsl4]]
+
+            zs = str(vol.flags.get("html_head") or "")
+            if zs and zs[:1] in "%@":
+                vol.flags["html_head_d"] = zs
+                head_s = str(vol.flags.get("html_head_s") or "")
+            else:
+                zs2 = str(vol.flags.get("html_head_s") or "")
+                if zs2 and zs:
+                    head_s = "%s\n%s\n" % (zs2.strip(), zs.strip())
+                else:
+                    head_s = zs2 or zs
+
+            if head_s and not head_s.endswith("\n"):
+                head_s += "\n"
+
+            if "norobots" in vol.flags:
+                head_s += META_NOBOTS
+
+            ico_url = vol.flags.get("ufavico")
+            if ico_url:
+                ico_h = ""
+                ico_ext = ico_url.split("?")[0].split(".")[-1].lower()
+                if ico_ext in FAVICON_MIMES:
+                    zs = '\n'
+                    ico_h = zs % (FAVICON_MIMES[ico_ext], ico_url)
+                elif ico_ext == "ico":
+                    zs = '\n'
+                    ico_h = zs % (ico_url,)
+                if ico_h:
+                    vol.flags["ufavico_h"] = ico_h
+                    head_s += ico_h
+
+            if head_s:
+                vol.flags["html_head_s"] = head_s
+            else:
+                vol.flags.pop("html_head_s", None)
+
+            if not vol.flags.get("html_head_d"):
+                vol.flags.pop("html_head_d", None)
+
             vol.check_landmarks()
 
             # d2d drops all database features for a volume
@@ -2425,18 +2630,25 @@ class AuthSrv(object):
                     vol.flags[k] = int(vol.flags[k])
 
             if "e2d" not in vol.flags:
-                if "lifetime" in vol.flags:
-                    t = 'removing lifetime config from volume "/{}" because e2d is disabled'
-                    self.log(t.format(vol.vpath), 1)
-                    del vol.flags["lifetime"]
+                zs = "lifetime rss"
+                drop = [x for x in zs.split() if x in vol.flags]
 
-                needs_e2d = [x for x in hooks if x in ("xau", "xiu")]
-                drop = [x for x in needs_e2d if vol.flags.get(x)]
-                if drop:
-                    t = 'removing [{}] from volume "/{}" because e2d is disabled'
-                    self.log(t.format(", ".join(drop), vol.vpath), 1)
-                    for x in drop:
-                        vol.flags.pop(x)
+                zs = "xau xiu"
+                drop += [x for x in zs.split() if vol.flags.get(x)]
+
+                for k in drop:
+                    t = 'cannot enable [%s] for volume "/%s" because this requires one of the following: e2d / e2ds / e2dsa  (either as volflag or global-option)'
+                    self.log(t % (k, vol.vpath), 1)
+                    vol.flags.pop(k)
+
+            zi = vol.flags.get("lifetime") or 0
+            zi2 = time.time() // (86400 * 365)
+            zi3 = zi2 * 86400 * 365
+            if zi < 0 or zi > zi3:
+                t = "the lifetime of volume [/%s] (%d) exceeds max value (%d years; %d)"
+                t = t % (vol.vpath, zi, zi2, zi3)
+                self.log(t, 1)
+                raise Exception(t)
 
             # verify tags mentioned by -mt[mp] are used by -mte
             local_mtp = {}
@@ -2473,6 +2685,64 @@ class AuthSrv(object):
                     self.log(t.format(vol.vpath, mtp), 1)
                     errors = True
 
+            mte = vol.flags.get("mte") or {}
+            up_m = [x for x in UP_MTE_MAP if x in mte]
+            up_q = [UP_MTE_MAP[x] for x in up_m]
+            zs = "select %s from up where rd=? and fn=?" % (", ".join(up_q),)
+            vol.flags["ls_q_m"] = (zs if up_m else "", up_m)
+
+        vfs.all_fvols = {
+            zs: vol for zs, vol in vfs.all_vols.items() if "is_file" in vol.flags
+        }
+
+        for vol in vfs.all_nodes.values():
+            if not vol.flags.get("is_file"):
+                continue
+            zs = "og opds xlink"
+            for zs in zs.split():
+                vol.flags.pop(zs, None)
+
+        for vol in vfs.all_nodes.values():
+            if not vol.realpath or vol.flags.get("is_file"):
+                continue
+            ccs = vol.flags["casechk"][:1].lower()
+            if ccs in ("y", "n"):
+                if ccs == "y":
+                    vol.flags["bcasechk"] = True
+                continue
+            try:
+                bos.makedirs(vol.realpath, vf=vol.flags)
+                files = os.listdir(vol.realpath)
+                for fn in files:
+                    fn2 = fn.lower()
+                    if fn == fn2:
+                        fn2 = fn.upper()
+                    if fn == fn2 or fn2 in files:
+                        continue
+                    is_ci = os.path.exists(os.path.join(vol.realpath, fn2))
+                    ccs = "y" if is_ci else "n"
+                    break
+                if ccs not in ("y", "n"):
+                    ap = os.path.join(vol.realpath, "casechk")
+                    open(ap, "wb").close()
+                    ccs = "y" if os.path.exists(ap[:-1] + "K") else "n"
+                    os.unlink(ap)
+            except Exception as ex:
+                if ANYWIN:
+                    zs = "Windows"
+                    ccs = "y"
+                elif MACOS:
+                    zs = "Macos"
+                    ccs = "y"
+                else:
+                    zs = "Linux"
+                    ccs = "n"
+                t = "unable to determine if filesystem at %r is case-insensitive due to %r; assuming casechk=%s due to %s"
+                self.log(t % (vol.realpath, ex, ccs, zs), 3)
+            vol.flags["casechk"] = ccs
+            if ccs == "y":
+                vol.flags["bcasechk"] = True
+
         tags = self.args.mtp or []
         tags = [x.split("=")[0] for x in tags]
         tags = [y for x in tags for y in x.split(",")]
@@ -2563,9 +2833,13 @@ class AuthSrv(object):
                 ["uadmin", "uadmin"],
             ]:
                 u = list(sorted(getattr(zv.axs, attr)))
-                u = ["*"] if "*" in u else u
-                u = ", ".join("\033[35meverybody\033[0m" if x == "*" else x for x in u)
-                u = u if u else "\033[36m--none--\033[0m"
+                if u == ["*"] and acct:
+                    u = ["\033[35monly-anonymous\033[0m"]
+                elif "*" in u:
+                    u = ["\033[35meverybody\033[0m"]
+                if not u:
+                    u = ["\033[36m--none--\033[0m"]
+                u = ", ".join(u)
                 t += "\n|  {}:  {}".format(txt, u)
 
             if "e2d" in zv.flags:
@@ -2576,7 +2850,11 @@ class AuthSrv(object):
 
             if "dedup" in zv.flags:
                 have_dedup = True
-                if "e2d" not in zv.flags and "hardlink" not in zv.flags:
+                if (
+                    "e2d" not in zv.flags
+                    and "hardlink" not in zv.flags
+                    and "reflink" not in zv.flags
+                ):
                     unsafe_dedup.append("/" + zv.vpath)
 
             t += "\n"
@@ -2673,8 +2951,6 @@ class AuthSrv(object):
 
         if have_reflink:
             t = "WARNING: Reflink-based dedup was requested, but %s. This will not work; files will be full copies instead."
-            if sys.version_info < (3, 14):
-                self.log(t % "your python version is not new enough", 1)
             if not sys.platform.startswith("linux"):
                 self.log(t % "your OS is not Linux", 1)
 
@@ -2694,9 +2970,11 @@ class AuthSrv(object):
             pwds.extend([x.split(":", 1)[1] for x in pwds if ":" in x])
         if pwds:
             if self.ah.on:
-                zs = r"(\[H\] pw:.*|[?&]pw=)([^&]+)"
+                zs = r"(\[H\] %s:.*|[?&]%s=)([^&]+)"
+                zs = zs % (self.args.pw_hdr, self.args.pw_urlp)
             else:
-                zs = r"(\[H\] pw:.*|=)(" + "|".join(pwds) + r")([]&; ]|$)"
+                zs = r"(\[H\] %s:.*|=)(" % (self.args.pw_hdr,)
+                zs += "|".join(pwds) + r")([]&; ]|$)"
 
             self.re_pwd = re.compile(zs)
 
@@ -2740,13 +3018,23 @@ class AuthSrv(object):
 
                     shn.shr_files = set(fns)
                     shn.ls = shn._ls_shr
+                    shn.canonical = shn._canonical_shr
+                    shn.dcanonical = shn._dcanonical_shr
                 else:
                     shn.ls = shn._ls
+                    shn.canonical = shn._canonical
+                    shn.dcanonical = shn._dcanonical
 
                 shn.shr_owner = s_un
                 shn.shr_src = (s_vfs, s_rem)
                 shn.realpath = s_vfs.canonical(s_rem)
 
+                o_vn, _ = shn._get_share_src("")
+                shn.lim = o_vn.lim
+                shn.flags = o_vn.flags.copy()
+                shn.dbpath = o_vn.dbpath
+                shn.histpath = o_vn.histpath
+
                 # root.all_aps doesn't include any shares, so make a copy where the
                 # share appears in all abspaths it can provide (for example for chk_ap)
                 ap = shn.realpath
@@ -2798,17 +3086,23 @@ class AuthSrv(object):
             vn.js_ls = {
                 "idx": "e2d" in vf,
                 "itag": "e2t" in vf,
+                "dlni": "dlni" in vf,
+                "dgrid": "grid" in vf,
                 "dnsort": "nsort" in vf,
                 "dhsortn": vf["hsortn"],
                 "dsort": vf["sort"],
                 "dcrop": vf["crop"],
                 "dth3x": vf["th3x"],
                 "u2ts": vf["u2ts"],
+                "shr_who": vf["shr_who"],
                 "frand": bool(vf.get("rand")),
                 "lifetime": vf.get("lifetime") or 0,
                 "unlist": vf.get("unlist") or "",
                 "sb_lg": "" if "no_sb_lg" in vf else (vf.get("lg_sbf") or "y"),
+                "sb_md": "" if "no_sb_md" in vf else (vf.get("md_sbf") or "y"),
             }
+            if "ufavico_h" in vf:
+                vn.js_ls["ufavico"] = vf["ufavico_h"]
             js_htm = {
                 "SPINNER": self.args.spinner,
                 "s_name": self.args.bname,
@@ -2818,14 +3112,17 @@ class AuthSrv(object):
                 "have_c2flac": self.args.allow_flac,
                 "have_c2wav": self.args.allow_wav,
                 "have_shr": self.args.shr,
+                "shr_who": vf["shr_who"],
                 "have_zip": not self.args.no_zip,
+                "have_zls": not self.args.no_zls,
                 "have_mv": not self.args.no_mv,
                 "have_del": not self.args.no_del,
                 "have_unpost": int(self.args.unpost),
                 "have_emp": int(self.args.emp),
                 "md_no_br": int(vf.get("md_no_br") or 0),
                 "ext_th": vf.get("ext_th_d") or {},
-                "sb_md": "" if "no_sb_md" in vf else (vf.get("md_sbf") or "y"),
+                "sb_lg": vn.js_ls["sb_lg"],
+                "sb_md": vn.js_ls["sb_md"],
                 "sba_md": vf.get("md_sba") or "",
                 "sba_lg": vf.get("lg_sba") or "",
                 "txt_ext": self.args.textfiles.replace(",", " "),
@@ -2833,7 +3130,8 @@ class AuthSrv(object):
                 "unlist0": vf.get("unlist") or "",
                 "see_dots": self.args.see_dots,
                 "dqdel": self.args.qdel,
-                "dgrid": "grid" in vf,
+                "dlni": vn.js_ls["dlni"],
+                "dgrid": vn.js_ls["dgrid"],
                 "dgsel": "gsel" in vf,
                 "dnsort": "nsort" in vf,
                 "dhsortn": vf["hsortn"],
@@ -2843,6 +3141,7 @@ class AuthSrv(object):
                 "dvol": self.args.au_vol,
                 "idxh": int(self.args.ih),
                 "dutc": not self.args.localtime,
+                "dfszf": self.args.ui_filesz.strip("-"),
                 "themes": self.args.themes,
                 "turbolvl": self.args.turbo,
                 "nosubtle": self.args.nosubtle,
@@ -2854,6 +3153,14 @@ class AuthSrv(object):
                 "lifetime": vn.js_ls["lifetime"],
                 "u2sort": self.args.u2sort,
             }
+            zs = "ui_noacci ui_nocpla ui_noctxb ui_nolbar ui_nombar ui_nonav ui_notree ui_norepl ui_nosrvi"
+            for zs in zs.split():
+                if vf.get(zs):
+                    js_htm[zs] = 1
+            zs = "notooltips"
+            for zs in zs.split():
+                if getattr(self.args, zs, False):
+                    js_htm[zs] = 1
             vn.js_htm = json_hesc(json.dumps(js_htm))
 
         vols = list(vfs.all_nodes.values())
@@ -2864,7 +3171,10 @@ class AuthSrv(object):
                     self.log("BUG: /%s not in all_nodes" % (vol.vpath,), 1)
                     vols.append(vol)
             if shr in vfs.all_nodes:
-                self.log("BUG: %s found in all_nodes" % (shr,), 1)
+                t = "invalid config: a volume is overlapping with the --shr global-option (/%s)"
+                t = t % (shr,)
+                self.log(t, 1)
+                raise Exception(t)
 
         for vol in vols:
             dbv = vol.get_dbv("")[0]
@@ -3023,7 +3333,7 @@ class AuthSrv(object):
                 pwdb = {}
             else:
                 jtxt = read_utf8(self.log, ap, True)
-                pwdb = json.loads(jtxt)
+                pwdb = json.loads(jtxt) if jtxt.strip() else {}
 
             pwdb = [x for x in pwdb if x[0] != uname]
             pwdb.append((uname, self.defpw[uname], hpw))
@@ -3047,7 +3357,7 @@ class AuthSrv(object):
             return
 
         jtxt = read_utf8(self.log, ap, True)
-        pwdb = json.loads(jtxt)
+        pwdb = json.loads(jtxt) if jtxt.strip() else {}
 
         useen = set()
         urst = set()
@@ -3202,7 +3512,7 @@ class AuthSrv(object):
                 raise Exception("volume not found: " + zs)
 
         self.log(str({"users": users, "vols": vols, "flags": flags}))
-        t = "/{}: read({}) write({}) move({}) del({}) dots({}) get({}) upGet({}) uadmin({})"
+        t = "/{}: read({}) write({}) move({}) del({}) dots({}) get({}) upGet({}) html({}) uadmin({})"
         for k, zv in self.vfs.all_vols.items():
             vc = zv.axs
             vs = [
@@ -3478,6 +3788,11 @@ class AuthSrv(object):
         self.log("generated config:\n\n" + "\n".join(ret))
 
 
+def derive_args(args: argparse.Namespace) -> None:
+    args.have_idp_hdrs = bool(args.idp_h_usr or args.idp_hm_usr)
+    args.have_ipu_or_ipr = bool(args.ipu or args.ipr)
+
+
 def n_du_who(s: str) -> int:
     if s == "all":
         return 9
diff --git a/copyparty/bos/bos.py b/copyparty/bos/bos.py
index 408244b9..9013a066 100644
--- a/copyparty/bos/bos.py
+++ b/copyparty/bos/bos.py
@@ -40,7 +40,7 @@ def makedirs(name: str, vf: dict[str, Any] = MKD_755, exist_ok: bool = True) ->
     todo = []
     bname = fsenc(name)
     while bname:
-        if os.path.isdir(bname):
+        if os.path.isdir(bname) or bname in todo:
             break
         todo.append(bname)
         bname = os.path.dirname(bname)
@@ -104,7 +104,11 @@ def utime(
 
 
 def utime_c(
-    log: Union["NamedLogger", Any], p: str, ts: int, follow_symlinks: bool = True, throw: bool = False
+    log: Union["NamedLogger", Any],
+    p: str,
+    ts: int,
+    follow_symlinks: bool = True,
+    throw: bool = False,
 ) -> Optional[int]:
     clamp = 0
     ov = ts
diff --git a/copyparty/broker_mpw.py b/copyparty/broker_mpw.py
index f1db3a29..c921cd7e 100644
--- a/copyparty/broker_mpw.py
+++ b/copyparty/broker_mpw.py
@@ -12,6 +12,7 @@ import queue
 from .__init__ import ANYWIN
 from .authsrv import AuthSrv
 from .broker_util import BrokerCli, ExceptionalQueue, NotExQueue
+from .fsutil import ramdisk_chk
 from .httpsrv import HttpSrv
 from .util import FAKE_MP, Daemon, HMaccas
 
@@ -56,6 +57,7 @@ class MpWorker(BrokerCli):
 
         # starting to look like a good idea
         self.asrv = AuthSrv(args, None, False)
+        ramdisk_chk(self.asrv)
 
         # instantiate all services here (TODO: inheritance?)
         self.iphash = HMaccas(os.path.join(self.args.E.cfg, "iphash"), 8)
@@ -99,6 +101,7 @@ class MpWorker(BrokerCli):
             if dest == "reload":
                 self.logw("mpw.asrv reloading")
                 self.asrv.reload()
+                ramdisk_chk(self.asrv)
                 self.logw("mpw.asrv reloaded")
                 continue
 
diff --git a/copyparty/cert.py b/copyparty/cert.py
index 49fa9ea2..18859536 100644
--- a/copyparty/cert.py
+++ b/copyparty/cert.py
@@ -2,6 +2,7 @@ import calendar
 import errno
 import json
 import os
+import shutil
 import time
 
 from .__init__ import ANYWIN
@@ -19,6 +20,19 @@ else:
     VF = {"mv_re_t": 0, "rm_re_t": 0}
 
 
+def _sp_err(exe, what, rc, so, se, sin):
+    try:
+        zs = shutil.which(exe)
+    except:
+        zs = ""
+    try:
+        zi = os.path.getsize(zs)
+    except:
+        zi = 0
+    t = "failed to %s; error %s using %s (%s):\n  STDOUT: %s\n  STDERR: %s\n  STDIN: %s\n"
+    raise Exception(t % (what, rc, zs, zi, so, se, sin.decode("utf-8")))
+
+
 def ensure_cert(log: "RootLogger", args) -> None:
     """
     the default cert (and the entire TLS support) is only here to enable the
@@ -107,13 +121,13 @@ def _gen_ca(log: "RootLogger", args):
     cmd = "cfssl gencert -initca -"
     rc, so, se = runcmd(cmd.split(), 30, sin=sin)
     if rc:
-        raise Exception("failed to create ca-cert: {}, {}".format(rc, se), 3)
+        _sp_err("cfssl", "create ca-cert", rc, so, se, sin)
 
     cmd = "cfssljson -bare ca"
     sin = so.encode("utf-8")
     rc, so, se = runcmd(cmd.split(), 10, sin=sin, cwd=args.crt_dir)
     if rc:
-        raise Exception("failed to translate ca-cert: {}, {}".format(rc, se), 3)
+        _sp_err("cfssljson", "translate ca-cert", rc, so, se, sin)
 
     bname = os.path.join(args.crt_dir, "ca")
     try:
@@ -201,13 +215,13 @@ def _gen_srv(log: "RootLogger", args, netdevs: dict[str, Netdev]):
     acmd = cmd.split() + ["-hostname=" + ",".join(names), "-"]
     rc, so, se = runcmd(acmd, 30, sin=sin, cwd=args.crt_dir)
     if rc:
-        raise Exception("failed to create cert: {}, {}".format(rc, se))
+        _sp_err("cfssl", "create cert", rc, so, se, sin)
 
     cmd = "cfssljson -bare srv"
     sin = so.encode("utf-8")
     rc, so, se = runcmd(cmd.split(), 10, sin=sin, cwd=args.crt_dir)
     if rc:
-        raise Exception("failed to translate cert: {}, {}".format(rc, se))
+        _sp_err("cfssljson", "translate cert", rc, so, se, sin)
 
     bname = os.path.join(args.crt_dir, "srv")
     try:
diff --git a/copyparty/cfg.py b/copyparty/cfg.py
index 549ffa10..d33287e9 100644
--- a/copyparty/cfg.py
+++ b/copyparty/cfg.py
@@ -19,6 +19,7 @@ def vf_bmap() -> dict[str, str]:
         "no_clone": "noclone",
         "no_dirsz": "nodirsz",
         "no_dupe": "nodupe",
+        "no_dupe_m": "nodupem",
         "no_forget": "noforget",
         "no_pipe": "nopipe",
         "no_robots": "norobots",
@@ -29,6 +30,7 @@ def vf_bmap() -> dict[str, str]:
     }
     for k in (
         "dedup",
+        "dlni",
         "dotsrch",
         "e2d",
         "e2ds",
@@ -52,11 +54,23 @@ def vf_bmap() -> dict[str, str]:
         "og",
         "og_no_head",
         "og_s_title",
+        "opds",
         "rand",
         "reflink",
+        "rm_partial",
         "rmagic",
         "rss",
+        "ui_noacci",
+        "ui_nocpla",
+        "ui_nolbar",
+        "ui_nombar",
+        "ui_nonav",
+        "ui_notree",
+        "ui_norepl",
+        "ui_nosrvi",
+        "ui_noctxb",
         "wo_up_readme",
+        "wram",
         "xdev",
         "xlink",
         "xvol",
@@ -80,14 +94,21 @@ def vf_vmap() -> dict[str, str]:
         "th_x3": "th3x",
     }
     for k in (
+        "apnd_who",
         "bup_ck",
+        "cachectl",
+        "casechk",
         "chmod_d",
         "chmod_f",
         "dbd",
         "du_who",
+        "epilogues",
+        "ufavico",
         "forget_ip",
+        "fsnt",
         "hsortn",
         "html_head",
+        "html_head_s",
         "lg_sbf",
         "md_sbf",
         "lg_sba",
@@ -104,16 +125,25 @@ def vf_vmap() -> dict[str, str]:
         "og_title_i",
         "og_tpl",
         "og_ua",
+        "opds_exts",
+        "prologues",
+        "preadmes",
         "put_ck",
         "put_name",
+        "readmes",
         "mv_retry",
         "rm_retry",
+        "rss_sort",
+        "rss_fmt_t",
+        "rss_fmt_d",
+        "shr_who",
         "sort",
         "tail_fd",
         "tail_rate",
         "tail_tmax",
         "tail_who",
         "tcolor",
+        "th_qv",
         "th_spec_p",
         "txt_eol",
         "unlist",
@@ -181,12 +211,17 @@ flagcats = {
         "safededup": "verify on-disk data before using it for dedup",
         "noclone": "take dupe data from clients, even if available on HDD",
         "nodupe": "rejects existing files (instead of linking/cloning them)",
+        "nodupem": "rejects existing files during moves as well",
+        "casechk=auto": "actively prevent case-insensitive filesystem? y/n",
         "chmod_d=755": "unix-permission for new dirs/folders",
         "chmod_f=644": "unix-permission for new files",
         "uid=573": "change owner of new files/folders to unix-user 573",
         "gid=999": "change owner of new files/folders to unix-group 999",
+        "fsnt=auto": "filesystem filename traits (lin/win/mac/auto)",
+        "wram": "allow uploading into ramdisks",
         "sparse": "force use of sparse files, mainly for s3-backed storage",
         "nosparse": "deny use of sparse files, mainly for slow storage",
+        "rm_partial": "delete unfinished uploads from HDD when they timeout",
         "daw": "enable full WebDAV write support (dangerous);\nPUT-operations will now \033[1;31mOVERWRITE\033[0;35m existing files",
         "nosub": "forces all uploads into the top folder of the vfs",
         "magic": "enables filetype detection for nameless uploads",
@@ -198,6 +233,7 @@ flagcats = {
         "pk": "forces server-side compression, optional arg: xz,9",
     },
     "upload rules": {
+        "apnd_who=dw": "who can append? (aw/dw/w/no)",
         "maxn=250,600": "max 250 uploads over 15min",
         "maxb=1g,300": "max 1 GiB over 5min (suffixes: b, k, m, g, t)",
         "vmaxb=1g": "total volume size max 1 GiB (suffixes: b, k, m, g, t)",
@@ -215,6 +251,7 @@ flagcats = {
     "upload rotation\n(moves all uploads into the specified folder structure)": {
         "rotn=100,3": "3 levels of subfolders with 100 entries in each",
         "rotf=%Y-%m/%d-%H": "date-formatted organizing",
+        "rotf_tz=Europe/Oslo": "timezone (default=UTC)",
         "lifetime=3600": "uploads are deleted after 1 hour",
     },
     "database, general": {
@@ -265,6 +302,7 @@ flagcats = {
         "thsize": "thumbnail res; WxH",
         "crop": "center-cropping (y/n/fy/fn)",
         "th3x": "3x resolution (y/n/fy/fn)",
+        "th_qv=40": "thumbnail quality (10~90)",
         "convt": "convert-to-image timeout in seconds",
         "aconvt": "convert-to-audio timeout in seconds",
         "th_spec_p=1": "make spectrograms? 0=never 1=fallback 2=always",
@@ -293,8 +331,11 @@ flagcats = {
         "sort": "default sort order",
         "nsort": "natural-sort of leading digits in filenames",
         "hsortn": "number of sort-rules to add to media URLs",
+        "ufavico=URL": "per-volume favicon (.ico/png/gif/svg)",
         "unlist": "dont list files matching REGEX",
+        "dlni": "force-download (no-inline) files on click",
         "html_head=TXT": "includes TXT in the , or @PATH for file at PATH",
+        "html_head_s=TXT": "additional static text in the html ",
         "tcolor=#fc0": "theme color (a hint for webbrowsers, discord, etc.)",
         "nodirsz": "don't show total folder size",
         "du_who=all": "show disk-usage info to everyone",
@@ -302,6 +343,10 @@ flagcats = {
         "norobots": "kindly asks search engines to leave",
         "unlistcr": "don't list read-access in controlpanel",
         "unlistcw": "don't list write-access in controlpanel",
+        "prologues=.prologue.html": "files to embed above/before files",
+        "epilogues=.epilogue.html": "files to embed below/after files",
+        "readmes=readme.md,README.md": "files to embed as readmes",
+        "preadmes=preadme.md,PREADME.md": "files to embed as preadmes",
         "no_sb_md": "disable js sandbox for markdown files",
         "no_sb_lg": "disable js sandbox for prologue/epilogue",
         "sb_md": "enable js sandbox for markdown files (default)",
@@ -311,6 +356,15 @@ flagcats = {
         "md_sba": "value of iframe allow-prop for markdown-sandbox",
         "lg_sba": "value of iframe allow-prop for *logue-sandbox",
         "nohtml": "return html and markdown as text/html",
+        "ui_noacci": "hide account-info in the UI",
+        "ui_nocpla": "hide cpanel-link in the UI",
+        "ui_nolbar": "hide link-bar in the UI",
+        "ui_nombar": "hide top-menu in the UI",
+        "ui_nonav": "hide navpane+breadcrumbs in the UI",
+        "ui_notree": "hide navpane in the UI",
+        "ui_norepl": "hide repl-button in the UI",
+        "ui_nosrvi": "hide server-info in the UI",
+        "ui_noctxb": "hide context-buttons in the UI",
     },
     "opengraph (discord embeds)": {
         "og": "enable OG (disables hotlinking)",
@@ -326,6 +380,10 @@ flagcats = {
         "og_no_head": "you want to add tags manually with og_tpl",
         "og_ua": "if defined: only send OG html if useragent matches this regex",
     },
+    "opds": {
+        "opds": "enable OPDS",
+        "opds_exts": "file formats to list in OPDS feeds; leave empty to show everything",
+    },
     "textfiles": {
         "md_no_br": "newline only on double-newline or two tailing spaces",
         "md_hist": "where to put markdown backups; s=subfolder, v=volHist, n=nope",
@@ -341,6 +399,12 @@ flagcats = {
         "tail_tmax=30": "kill connection after 30 sec",
         "tail_who=2": "restrict ?tail access (1=admins,2=authed,3=everyone)",
     },
+    "rss": {
+        "rss": "allow '?rss' URL suffix (experimental)",
+        "rss_sort=m": "default sort-order (m/u/n/s)",
+        "rss_fmt_t={fname}": "default title-format",
+        "rss_fmt_d={album},{.tn}": "default description-format",
+    },
     "others": {
         "dots": "allow all users with read-access to\nenable the option to show dotfiles in listings",
         "fk=8": 'generates per-file accesskeys,\nwhich are then required at the "g" permission;\nkeys are invalidated if filesize or inode changes',
@@ -348,8 +412,8 @@ flagcats = {
         "dk=8": 'generates per-directory accesskeys,\nwhich are then required at the "g" permission;\nkeys are invalidated if filesize or inode changes',
         "dks": "per-directory accesskeys allow browsing into subdirs",
         "dky": 'allow seeing files (not folders) inside a specific folder\nwith "g" perm, and does not require a valid dirkey to do so',
-        "rss": "allow '?rss' URL suffix (experimental)",
         "rmagic": "expensive analysis for mimetype accuracy",
+        "shr_who=auth": "who can create shares? no/auth/a",
         "unp_who=2": "unpost only if same... 1=ip+name, 2=ip, 3=name",
         "ups_who=2": "restrict viewing the list of recent uploads",
         "zip_who=2": "restrict access to download-as-zip/tar",
@@ -358,6 +422,7 @@ flagcats = {
         "zipmaxt=no": "reply with 'no' if download-as-zip exceeds max",
         "zipmaxu": "zip-size-limit does not apply to authenticated users",
         "nopipe": "disable race-the-beam (download unfinished uploads)",
+        "cachectl=no-cache": "controls caching in webbrowsers",
         "mv_retry": "ms-windows: timeout for renaming busy files",
         "rm_retry": "ms-windows: timeout for deleting busy files",
         "davauth": "ask webdav clients to login for all folders",
diff --git a/copyparty/fsutil.py b/copyparty/fsutil.py
index 606cea49..9b2540c2 100644
--- a/copyparty/fsutil.py
+++ b/copyparty/fsutil.py
@@ -2,14 +2,15 @@
 from __future__ import print_function, unicode_literals
 
 import argparse
+import json
 import os
 import re
 import time
 
 from .__init__ import ANYWIN, MACOS
-from .authsrv import AXS, VFS
+from .authsrv import AXS, VFS, AuthSrv
 from .bos import bos
-from .util import chkcmd, min_ex, undot
+from .util import chkcmd, json_hesc, min_ex, undot
 
 if True:  # pylint: disable=using-constant-test
     from typing import Optional, Union
@@ -18,22 +19,25 @@ if True:  # pylint: disable=using-constant-test
 
 
 class Fstab(object):
-    def __init__(self, log: "RootLogger", args: argparse.Namespace):
+    def __init__(self, log: "RootLogger", args: argparse.Namespace, verbose: bool):
         self.log_func = log
+        self.verbose = verbose
 
         self.warned = False
         self.trusted = False
         self.tab: Optional[VFS] = None
         self.oldtab: Optional[VFS] = None
         self.srctab = "a"
-        self.cache: dict[str, str] = {}
+        self.cache: dict[str, tuple[str, str]] = {}
         self.age = 0.0
         self.maxage = args.mtab_age
 
     def log(self, msg: str, c: Union[int, str] = 0) -> None:
+        if not c or self.verbose:
+            return
         self.log_func("fstab", msg, c)
 
-    def get(self, path: str) -> str:
+    def get(self, path: str) -> tuple[str, str]:
         now = time.time()
         if now - self.age > self.maxage or len(self.cache) > 9000:
             self.age = now
@@ -41,6 +45,7 @@ class Fstab(object):
             self.tab = None
             self.cache = {}
 
+        mp = ""
         fs = "ext4"
         msg = "failed to determine filesystem at %r; assuming %s\n%s"
 
@@ -50,7 +55,7 @@ class Fstab(object):
                 path = self._winpath(path)
             except:
                 self.log(msg % (path, fs, min_ex()), 3)
-                return fs
+                return fs, ""
 
         path = undot(path)
         try:
@@ -59,14 +64,14 @@ class Fstab(object):
             pass
 
         try:
-            fs = self.get_w32(path) if ANYWIN else self.get_unix(path)
+            fs, mp = self.get_w32(path) if ANYWIN else self.get_unix(path)
         except:
             self.log(msg % (path, fs, min_ex()), 3)
 
         fs = fs.lower()
-        self.cache[path] = fs
-        self.log("found %s at %r" % (fs, path))
-        return fs
+        self.cache[path] = (fs, mp)
+        self.log("found %s at %r, %r" % (fs, mp, path))
+        return fs, mp
 
     def _winpath(self, path: str) -> str:
         # try to combine volume-label + st_dev (vsn)
@@ -81,34 +86,67 @@ class Fstab(object):
         self.tab = VFS(self.log_func, "idk", "/", "/", AXS(), {})
         self.trusted = False
 
-    def build_tab(self) -> None:
-        self.log("inspecting mtab for changes")
-
+    def _from_sp_mount(self) -> dict[str, str]:
         sptn = r"^.*? on (.*) type ([^ ]+) \(.*"
         if MACOS:
             sptn = r"^.*? on (.*) \(([^ ]+), .*"
 
         ptn = re.compile(sptn)
         so, _ = chkcmd(["mount"])
-        tab1: list[tuple[str, str]] = []
-        atab = []
+        dtab: dict[str, str] = {}
         for ln in so.split("\n"):
             m = ptn.match(ln)
             if not m:
                 continue
 
             zs1, zs2 = m.groups()
-            tab1.append((str(zs1), str(zs2)))
-            atab.append(ln)
+            dtab[str(zs1)] = str(zs2)
+
+        return dtab
+
+    def _from_proc(self) -> dict[str, str]:
+        ret: dict[str, str] = {}
+        with open("/proc/self/mounts", "rb", 262144) as f:
+            src = f.read(262144).decode("utf-8", "replace").split("\n")
+        for zsl in [x.split(" ") for x in src]:
+            if len(zsl) < 3:
+                continue
+            zs = zsl[1]
+            zs = zs.replace("\\011", "\t").replace("\\040", " ").replace("\\134", "\\")
+            ret[zs] = zsl[2]
+        return ret
+
+    def build_tab(self) -> None:
+        self.log("inspecting mtab for changes")
+        dtab = self._from_sp_mount() if MACOS else self._from_proc()
 
         # keep empirically-correct values if mounttab unchanged
-        srctab = "\n".join(sorted(atab))
+        srctab = str(sorted(dtab.items()))
         if srctab == self.srctab:
             self.tab = self.oldtab
             return
 
         self.log("mtab has changed; reevaluating support for sparse files")
 
+        try:
+            fuses = [mp for mp, fs in dtab.items() if fs == "fuseblk"]
+            if not fuses or MACOS:
+                raise Exception()
+            try:
+                so, _ = chkcmd(["lsblk", "-nrfo", "FSTYPE,MOUNTPOINT"])  # centos6
+            except:
+                so, _ = chkcmd(["lsblk", "-nrfo", "FSTYPE,MOUNTPOINTS"])  # future
+            for ln in so.split("\n"):
+                zsl = ln.split(" ", 1)
+                if len(zsl) != 2:
+                    continue
+                fs, mp = zsl
+                if mp in fuses:
+                    dtab[mp] = fs
+        except:
+            pass
+
+        tab1 = list(dtab.items())
         tab1.sort(key=lambda x: (len(x[0]), x[0]))
         path1, fs1 = tab1[0]
         tab = VFS(self.log_func, fs1, path1, path1, AXS(), {})
@@ -146,7 +184,7 @@ class Fstab(object):
             vn.realpath = ptn.sub(nval, vn.realpath)
             visit.extend(list(vn.nodes.values()))
 
-    def get_unix(self, path: str) -> str:
+    def get_unix(self, path: str) -> tuple[str, str]:
         if not self.tab:
             try:
                 self.build_tab()
@@ -155,20 +193,73 @@ class Fstab(object):
                 # prisonparty or other restrictive environment
                 if not self.warned:
                     self.warned = True
-                    self.log("failed to build tab:\n{}".format(min_ex()), 3)
+                    t = "failed to associate fs-mounts with the VFS (this is fine):\n%s"
+                    self.log(t % (min_ex(),), 6)
                 self.build_fallback()
 
         assert self.tab  # !rm
         ret = self.tab._find(path)[0]
         if self.trusted or path == ret.vpath:
-            return ret.realpath.split("/")[0]
+            return ret.realpath.split("/")[0], ret.vpath
         else:
-            return "idk"
+            return "idk", ""
 
-    def get_w32(self, path: str) -> str:
+    def get_w32(self, path: str) -> tuple[str, str]:
         if not self.tab:
             self.build_fallback()
 
         assert self.tab  # !rm
         ret = self.tab._find(path)[0]
-        return ret.realpath
+        return ret.realpath, ""
+
+
+_fstab: Optional[Fstab] = None
+winfs = set(("msdos", "vfat", "ntfs", "exfat"))
+# "msdos" = vfat on macos
+
+
+def ramdisk_chk(asrv: AuthSrv) -> None:
+    # should have been in authsrv but that's a circular import
+    global _fstab
+    mods = []
+    ramfs = ("tmpfs", "overlay")
+    log = asrv.log_func or print
+    if not _fstab:
+        _fstab = Fstab(log, asrv.args, False)
+    for vn in asrv.vfs.all_nodes.values():
+        if not vn.axs.uwrite or "wram" in vn.flags:
+            continue
+        ap = vn.realpath
+        if not ap or os.path.isfile(ap):
+            continue
+        fs, mp = _fstab.get(ap)
+        mp = "/" + mp.strip("/")
+        if fs == "tmpfs" or (mp == "/" and fs in ramfs):
+            mods.append((vn.vpath, ap, fs, mp))
+            vn.axs.uwrite.clear()
+            vn.axs.umove.clear()
+            for un, ztsp in list(vn.uaxs.items()):
+                zsl = list(ztsp)
+                zsl[1] = False
+                zsl[2] = False
+                vn.uaxs[un] = tuple(zsl)  # type: ignore
+    if mods:
+        t = "WARNING: write-access was removed from the following volumes because they are not mapped to an actual HDD for storage! All uploaded data would live in RAM only, and all uploaded files would be LOST on next reboot. To allow uploading and ignore this hazard, enable the 'wram' option (global/volflag). List of affected volumes:"
+        t2 = ["\n  volume=[/%s], abspath=%r, type=%s, root=%r" % x for x in mods]
+        log("vfs", t + "".join(t2) + "\n", 1)
+
+    assume = "mac" if MACOS else "lin"
+    for vol in asrv.vfs.all_nodes.values():
+        if not vol.realpath or vol.flags.get("is_file"):
+            continue
+        zs = vol.flags["fsnt"].strip()[:3].lower()
+        if ANYWIN and not zs:
+            zs = "win"
+        if zs in ("lin", "win", "mac"):
+            vol.flags["fsnt"] = zs
+            continue
+        fs = _fstab.get(vol.realpath)[0]
+        fs = "win" if fs in winfs else assume
+        htm = json.loads(vol.js_htm)
+        vol.flags["fsnt"] = vol.js_ls["fsnt"] = htm["fsnt"] = fs
+        vol.js_htm = json_hesc(json.dumps(htm))
diff --git a/copyparty/ftpd.py b/copyparty/ftpd.py
index ab8db97f..be091c18 100644
--- a/copyparty/ftpd.py
+++ b/copyparty/ftpd.py
@@ -86,7 +86,7 @@ class FtpAuth(DummyAuthorizer):
             if args.usernames:
                 alts = ["%s:%s" % (username, password)]
             else:
-                alts = password, username
+                alts = [password, username]
 
             for zs in alts:
                 zs = asrv.iacct.get(asrv.ah.hash(zs), "")
@@ -174,7 +174,7 @@ class FtpFs(AbstractedFS):
                 t = "Unsupported characters in [{}]"
                 raise FSE(t.format(vpath), 1)
 
-            fn = sanitize_fn(fn or "", "")
+            fn = sanitize_fn(fn or "")
             vpath = vjoin(rd, fn)
             vfs, rem = self.hub.asrv.vfs.get(vpath, self.uname, r, w, m, d)
             if (
@@ -198,10 +198,13 @@ class FtpFs(AbstractedFS):
                 if not avfs:
                     raise FSE(t.format(vpath), 1)
 
-                cr, cw, cm, cd, _, _, _, _ = avfs.can_access("", self.h.uname)
+                cr, cw, cm, cd, _, _, _, _, _ = avfs.uaxs[self.h.uname]
                 if r and not cr or w and not cw or m and not cm or d and not cd:
                     raise FSE(t.format(vpath), 1)
 
+            if "bcasechk" in vfs.flags and not vfs.casechk(rem, True):
+                raise FSE("No such file or directory", 1)
+
             return os.path.join(vfs.realpath, rem), vfs, rem
         except Pebkac as ex:
             raise FSE(str(ex))
@@ -246,9 +249,36 @@ class FtpFs(AbstractedFS):
                 need_unlink = False
                 td = 0
 
-        if w and need_unlink:
+            xbu = vfs.flags.get("xbu")
+            if xbu:
+                hr = runhook(
+                    self.log,
+                    None,
+                    self.hub.up2k,
+                    "xbu.ftp",
+                    xbu,
+                    ap,
+                    filename,
+                    "",
+                    "",
+                    "",
+                    0,
+                    0,
+                    "1.3.8.7",
+                    time.time(),
+                    None,
+                )
+                t = hr.get("rejectmsg") or ""
+                if t or hr.get("rc") != 0:
+                    if not t:
+                        t = "upload blocked by xbu server config: %r" % (filename,)
+                    self.log(t, 3)
+                    raise FSE(t)
+
+        if w and need_unlink:  # type: ignore  # !rm
+            assert td  # type: ignore  # !rm
             if td >= -1 and td <= self.args.ftp_wt:
-                # within permitted timeframe; unlink and accept
+                # within permitted timeframe; allow overwrite or resume
                 do_it = True
             elif self.args.no_del or self.args.ftp_no_ow:
                 # file too old, or overwrite not allowed; reject
@@ -265,7 +295,9 @@ class FtpFs(AbstractedFS):
             if not do_it:
                 raise FSE("File already exists")
 
-            wunlink(self.log, ap, VF_CAREFUL)
+            # Don't unlink file for append mode
+            elif "a" not in mode:
+                wunlink(self.log, ap, VF_CAREFUL)
 
         ret = open(fsenc(ap), mode, self.args.iobuf)
         if w and "fperms" in vfs.flags:
@@ -276,6 +308,10 @@ class FtpFs(AbstractedFS):
     def chdir(self, path: str) -> None:
         nwd = join(self.cwd, path)
         vfs, rem = self.hub.asrv.vfs.get(nwd, self.uname, False, False)
+        if not vfs.realpath:
+            self.cwd = nwd
+            return
+
         ap = vfs.canonical(rem)
         try:
             st = bos.stat(ap)
@@ -285,12 +321,9 @@ class FtpFs(AbstractedFS):
             # returning 550 is library-default and suitable
             raise FSE("No such file or directory")
 
-        if vfs.realpath:
-            avfs = vfs.chk_ap(ap, st)
-            if not avfs:
-                raise FSE("Permission denied", 1)
-        else:
-            avfs = vfs
+        avfs = vfs.chk_ap(ap, st)
+        if not avfs:
+            raise FSE("Permission denied", 1)
 
         self.cwd = nwd
 
@@ -489,24 +522,30 @@ class FtpHandler(FTPHandler):
             return
         self.vfs_map[ap] = vp
         xbu = vfs.flags.get("xbu")
-        if xbu and not runhook(
-            None,
-            None,
-            self.hub.up2k,
-            "xbu.ftpd",
-            xbu,
-            ap,
-            vp,
-            "",
-            self.uname,
-            self.hub.asrv.vfs.get_perms(vp, self.uname),
-            0,
-            0,
-            self.cli_ip,
-            time.time(),
-            "",
-        ):
-            raise FSE("Upload blocked by xbu server config")
+        if xbu:
+            hr = runhook(
+                None,
+                None,
+                self.hub.up2k,
+                "xbu.ftpd",
+                xbu,
+                ap,
+                vp,
+                "",
+                self.uname,
+                self.hub.asrv.vfs.get_perms(vp, self.uname),
+                0,
+                0,
+                self.cli_ip,
+                time.time(),
+                None,
+            )
+            t = hr.get("rejectmsg") or ""
+            if t or hr.get("rc") != 0:
+                if not t:
+                    t = "Upload blocked by xbu server config: %r" % (vp,)
+                self.respond("550 %s" % (t,), logging.info)
+                return
 
         # print("ftp_STOR: {} {} => {}".format(vp, mode, ap))
         ret = FTPHandler.ftp_STOR(self, file, mode)
diff --git a/copyparty/httpcli.py b/copyparty/httpcli.py
index dd4d958e..e58867c4 100644
--- a/copyparty/httpcli.py
+++ b/copyparty/httpcli.py
@@ -30,12 +30,12 @@ try:
 except:
     pass
 
-from .__init__ import ANYWIN, RES, TYPE_CHECKING, EnvParams, unicode
+from .__init__ import ANYWIN, RES, RESM, TYPE_CHECKING, EnvParams, unicode
 from .__version__ import S_VERSION
 from .authsrv import LEELOO_DALLAS, VFS  # typechk
 from .bos import bos
+from .qrkode import QrCode, qr2svg, qrgen
 from .star import StreamTar
-from .stolen.qrcodegen import QrCode, qr2svg
 from .sutil import StreamArc, gfilter
 from .szip import StreamZip
 from .up2k import up2k_chunksize
@@ -48,8 +48,10 @@ from .util import (
     FN_EMB,
     HAVE_SQLITE3,
     HTTPCODE,
-    META_NOBOTS,
     UTC,
+    VPTL_MAC,
+    VPTL_OS,
+    VPTL_WIN,
     Garda,
     MultipartParser,
     ODict,
@@ -125,7 +127,17 @@ from .util import (
 
 if True:  # pylint: disable=using-constant-test
     import typing
-    from typing import Any, Generator, Iterable, Match, Optional, Pattern, Type, Union
+    from typing import (
+        Any,
+        Generator,
+        Iterable,
+        Match,
+        Optional,
+        Pattern,
+        Sequence,
+        Type,
+        Union,
+    )
 
 if TYPE_CHECKING:
     from .httpconn import HttpConn
@@ -137,19 +149,16 @@ _ = (argparse, threading)
 
 USED4SEC = {"usedforsecurity": False} if sys.version_info > (3, 9) else {}
 
-NO_CACHE = {"Cache-Control": "no-cache"}
-
 ALL_COOKIES = "k304 no304 js idxh dots cppwd cppws".split()
 
 BADXFF = " due to dangerous misconfiguration (the http-header specified by --xff-hdr was received from an untrusted reverse-proxy)"
+BADXFF2 = ". Some copyparty features are now disabled as a safety measure.\n\n\n"
+BADXFP = ', or change the copyparty global-option "xf-proto" to another header-name to read this value from. Alternatively, if your reverseproxy is not able to provide a header similar to "X-Forwarded-Proto", then you must tell copyparty which protocol to assume by setting global-option --xf-proto-fb to either http or https'
+BADXFFB = "NOTE: serverlog has a message regarding your reverse-proxy config"
 
 H_CONN_KEEPALIVE = "Connection: Keep-Alive"
 H_CONN_CLOSE = "Connection: Close"
 
-LOGUES = [[0, ".prologue.html"], [1, ".epilogue.html"]]
-
-READMES = [[0, ["preadme.md", "PREADME.md"]], [1, ["readme.md", "README.md"]]]
-
 RSS_SORT = {"m": "mt", "u": "at", "n": "fn", "s": "sz"}
 
 A_FILE = os.stat_result(
@@ -157,15 +166,35 @@ A_FILE = os.stat_result(
 )
 
 RE_CC = re.compile(r"[\x00-\x1f]")  # search always faster
+RE_USAFE = re.compile(r'[\x00-\x1f<>"]')  # search always faster
 RE_HSAFE = re.compile(r"[\x00-\x1f<>\"'&]")  # search always much faster
 RE_HOST = re.compile(r"[^][0-9a-zA-Z.:_-]")  # search faster <=17ch
 RE_MHOST = re.compile(r"^[][0-9a-zA-Z.:_-]+$")  # match faster >=18ch
 RE_K = re.compile(r"[^0-9a-zA-Z_-]")  # search faster <=17ch
 RE_HR = re.compile(r"[<>\"'&]")
 RE_MDV = re.compile(r"(.*)\.([0-9]+\.[0-9]{3})(\.[Mm][Dd])$")
+RE_RSS_KW = re.compile(r"(\{[^} ]+\})")
 
 UPARAM_CC_OK = set("doc move tree".split())
 
+PERMS_rwh = [
+    [True, False],
+    [False, True],
+    [False, False, False, False, False, False, True],
+]
+
+
+def _build_zip_xcode() -> Sequence[str]:
+    ret = "opus mp3 flac wav p".split()
+    for codec in ("w", "j"):
+        for suf in ("", "f", "f3", "3"):
+            ret.append("%s%s" % (codec, suf))
+    return ret
+
+
+ZIP_XCODE_L = _build_zip_xcode()
+ZIP_XCODE_S = set(ZIP_XCODE_L)
+
 
 class HttpCli(object):
     """
@@ -194,12 +223,11 @@ class HttpCli(object):
         self.log_func = conn.log_func  # mypy404
         self.log_src = conn.log_src  # mypy404
         self.gen_fk = self._gen_fk if self.args.log_fk else gen_filekey
-        self.tls: bool = hasattr(self.s, "cipher")
+        self.tls = self.is_https = hasattr(self.s, "cipher")
         self.is_vproxied = bool(self.args.R)
 
         # placeholders; assigned by run()
         self.keepalive = False
-        self.is_https = False
         self.in_hdr_recv = True
         self.headers: dict[str, str] = {}
         self.mode = " "  # http verb
@@ -220,8 +248,8 @@ class HttpCli(object):
         self.dl_id = ""
         self.gctx = " "  # additional context for garda
         self.trailing_slash = True
-        self.uname = " "
-        self.pw = " "
+        self.uname = "*"
+        self.pw = ""
         self.rvol = self.wvol = self.avol = empty_stringlist
         self.do_log = True
         self.can_read = False
@@ -230,6 +258,7 @@ class HttpCli(object):
         self.can_delete = False
         self.can_get = False
         self.can_upget = False
+        self.can_html = False
         self.can_admin = False
         self.can_dot = False
         self.out_headerlist: list[tuple[str, str]] = []
@@ -276,7 +305,7 @@ class HttpCli(object):
         tpl = self.conn.hsrv.j2[name]
         ka["r"] = self.args.SR if self.is_vproxied else ""
         ka["ts"] = self.conn.hsrv.cachebuster()
-        ka["lang"] = self.args.lang
+        ka["lang"] = self.cookies.get("cplng") or self.args.lang
         ka["favico"] = self.args.favico
         ka["s_doctitle"] = self.args.doctitle
         ka["tcolor"] = self.vn.flags["tcolor"]
@@ -286,10 +315,9 @@ class HttpCli(object):
             zs += "&" if "?" in zs else "?"
             ka["js"] = zs
 
-        zso = self.vn.flags.get("html_head")
-        if zso:
+        if "html_head_d" in self.vn.flags:
             ka["this"] = self
-            self._build_html_head(zso, ka)
+            self._build_html_head(ka)
 
         ka["html_head"] = self.html_head
         return tpl.render(**ka)  # type: ignore
@@ -300,7 +328,7 @@ class HttpCli(object):
     def run(self) -> bool:
         """returns true if connection can be reused"""
         self.out_headers = {
-            "Vary": "Origin, PW, Cookie",
+            "Vary": self.args.http_vary,
             "Cache-Control": "no-store, max-age=0",
         }
 
@@ -333,6 +361,7 @@ class HttpCli(object):
                     k, zs = header_line.split(":", 1)
                     self.headers[k.lower()] = zs.strip()
             except:
+                headerlines = [repr(x) for x in headerlines]
                 msg = "#[ " + " ]\n#[ ".join(headerlines) + " ]"
                 raise Pebkac(400, "bad headers", log=msg)
 
@@ -362,9 +391,6 @@ class HttpCli(object):
         self.keepalive = "close" not in zs and (
             self.http_ver != "HTTP/1.0" or zs == "keep-alive"
         )
-        self.is_https = (
-            self.headers.get("x-forwarded-proto", "").lower() == "https" or self.tls
-        )
         self.host = self.headers.get("host") or ""
         if not self.host:
             if self.s.family == socket.AF_UNIX:
@@ -389,7 +415,7 @@ class HttpCli(object):
                     self.bad_xff = True
                     if self.args.rproxy != 9999999:
                         t = "global-option --rproxy %d could not be used (out-of-bounds) for the received header [%s]"
-                        self.log(t % (self.args.rproxy, zso), c=3)
+                        self.log(t % (self.args.rproxy, zso) + BADXFF2, c=3)
                     else:
                         zsl = [
                             "  rproxy: %d   if this client's IP-address is [%s]"
@@ -398,7 +424,24 @@ class HttpCli(object):
                         ]
                         t = 'could not determine the client\'s IP-address because the global-option --rproxy has not been configured, so the request-header [%s] specified by global-option --xff-hdr cannot be used safely! The raw header value was [%s]. Please see the "reverse-proxy" section in the readme. The best approach is to configure your reverse-proxy to give copyparty the exact IP-address to assume (perhaps in another header), but you may also try the following:'
                         t = t % (self.args.xff_hdr, zso)
-                        self.log("%s\n\n%s\n" % (t, "\n".join(zsl)), 3)
+                        t = "%s\n\n%s\n" % (t, "\n".join(zsl))
+
+                        zs = self.headers.get(self.args.xf_proto)
+                        t2 = "\nFurthermore, the following request-headers are also relevant, and you should check that the values below are sensible:\n\n  request-header [%s] (configured with global-option --xf-proto) has the value [%s]; this should be the protocol that the webbrowser is using, so either 'http' or 'https'"
+                        t += t2 % (self.args.xf_proto, zs or "NOT-PROVIDED")
+                        if not zs:
+                            t += ". Because the header is not provided by the reverse-proxy, you must either fix the reverseproxy config"
+                            t += BADXFP
+                        zs = self.headers.get(self.args.xf_host)
+                        t2 = "\n\n  request-header [%s] (configured with global-option --xf-host) has the value [%s]; this should be the website domain or external IP-address which the webbrowser is accessing"
+                        t += t2 % (self.args.xf_host, zs or "NOT-PROVIDED")
+                        if not zs:
+                            zs = self.headers.get("host")
+                            t2 = ". Because the header is not provided by the reverse-proxy, copyparty is using the standard [Host] header which has the value [%s]"
+                            t += t2 % (zs or "NOT-PROVIDED")
+                            if zs:
+                                t += ". If that is the address that visitors are supposed to use to access your server -- or, in other words, it is not some internal address you wish to keep secret -- then the current choice of using the [Host] header is fine (usually the case)"
+                        self.log(t + "\n\n\n", 3)
 
                 pip = self.conn.addr[0]
                 xffs = self.conn.xff_nm
@@ -408,6 +451,7 @@ class HttpCli(object):
                         t += '  Note: if you are behind cloudflare, then this default header is not a good choice; please first make sure your local reverse-proxy (if any) does not allow non-cloudflare IPs from providing cf-* headers, and then add this additional global setting: "--xff-hdr=cf-connecting-ip"'
                     else:
                         t += '  Note: depending on your reverse-proxy, and/or WAF, and/or other intermediates, you may want to read the true client IP from another header by also specifying "--xff-hdr=SomeOtherHeader"'
+                    t += BADXFF2
 
                     if "." in pip:
                         zs = ".".join(pip.split(".")[:2]) + ".0.0/16"
@@ -420,7 +464,22 @@ class HttpCli(object):
                 else:
                     self.ip = cli_ip
                     self.log_src = self.conn.set_rproxy(self.ip)
-                    self.host = self.headers.get("x-forwarded-host") or self.host
+                    self.host = self.headers.get(self.args.xf_host, self.host)
+                    try:
+                        self.is_https = len(self.headers[self.args.xf_proto]) == 5
+                    except:
+                        if self.args.xf_proto_fb:
+                            self.is_https = len(self.args.xf_proto_fb) == 5
+                        else:
+                            self.bad_xff = True
+                            self.host = "example.com"
+                            t = 'got proxied request without header "%s" (global-option "xf-proto"). This header must contain either "http" or "https". Either fix your reverse-proxy config to include this header%s%s'
+                            self.log(t % (self.args.xf_proto, BADXFP, BADXFF2), 3)
+
+                    # the semantics of trusted_xff and bad_xff are different;
+                    # trusted_xff is whether the connection came from a trusted reverseproxy,
+                    # regardless of whether the client ip detection is correctly configured
+                    # (the primary safeguard for idp is --idp-h-key)
                     trusted_xff = True
 
         m = RE_HOST.search(self.host)
@@ -435,6 +494,11 @@ class HttpCli(object):
         if self.is_banned():
             return False
 
+        if self.conn.ipar_nm and not self.conn.ipar_nm.map(self.ip):
+            self.log("client rejected (--ipar)", 3)
+            self.terse_reply(b"", 500)
+            return False
+
         if self.conn.aclose:
             nka = self.conn.aclose
             ip = ipnorm(self.ip)
@@ -477,8 +541,7 @@ class HttpCli(object):
                 self.loud_reply(t, status=400)
                 return False
 
-        ptn_cc = RE_CC
-        m = ptn_cc.search(self.req)
+        m = RE_USAFE.search(self.req)
         if m:
             zs = self.req
             t = "malicious user; Cc in req0 %r => %r"
@@ -500,6 +563,7 @@ class HttpCli(object):
             vpath = undot(vpath)
 
             re_k = RE_K
+            ptn_cc = RE_CC
             k_safe = UPARAM_CC_OK
             for k in arglist.split("&"):
                 if "=" in k:
@@ -582,20 +646,21 @@ class HttpCli(object):
             self.loud_reply("u wot m8", status=400)
             return False
 
+        if VPTL_OS:
+            vpath = vpath.translate(VPTL_OS)
+
         self.uparam = uparam
         self.cookies = cookies
         self.vpath = vpath
-        self.vpaths = (
-            self.vpath + "/" if self.trailing_slash and self.vpath else self.vpath
-        )
+        self.vpaths = vpath + "/" if self.trailing_slash and vpath else vpath
 
         if "qr" in uparam:
             return self.tx_qr()
 
-        if relchk(self.vpath) and (self.vpath != "*" or self.mode != "OPTIONS"):
+        if "\x00" in vpath or (ANYWIN and ("\n" in vpath or "\r" in vpath)):
             self.log("illegal relpath; req(%r) => %r" % (self.req, "/" + self.vpath))
             self.cbonk(self.conn.hsrv.gmal, self.req, "bad_vp", "invalid relpaths")
-            return self.tx_404() and self.keepalive
+            return self.tx_404() and False
 
         zso = self.headers.get("authorization")
         bauth = ""
@@ -617,7 +682,12 @@ class HttpCli(object):
             except:
                 pass
 
-        self.pw = uparam.get("pw") or self.headers.get("pw") or bauth or cookie_pw
+        self.pw = (
+            uparam.get(self.args.pw_urlp)
+            or self.headers.get(self.args.pw_hdr)
+            or bauth
+            or cookie_pw
+        )
         self.uname = (
             self.asrv.sesa.get(self.pw)
             or self.asrv.iacct.get(self.asrv.ah.hash(self.pw))
@@ -648,6 +718,9 @@ class HttpCli(object):
                     if self.args.idp_h_grp
                     else ""
                 )
+                if self.args.idp_chsub:
+                    idp_usr = idp_usr.translate(self.args.idp_chsub_tr)
+                    idp_grp = idp_grp.translate(self.args.idp_chsub_tr)
 
                 if not trusted_xff:
                     pip = self.conn.addr[0]
@@ -735,18 +808,25 @@ class HttpCli(object):
         else:
             avn = vn
 
-        (
-            self.can_read,
-            self.can_write,
-            self.can_move,
-            self.can_delete,
-            self.can_get,
-            self.can_upget,
-            self.can_admin,
-            self.can_dot,
-        ) = (
-            avn.can_access("", self.uname) if avn else [False] * 8
-        )
+        if "bcasechk" in vn.flags and not vn.casechk(rem, True):
+            return self.tx_404() and False
+
+        try:
+            assert avn  # type: ignore  # !rm
+            (
+                self.can_read,
+                self.can_write,
+                self.can_move,
+                self.can_delete,
+                self.can_get,
+                self.can_upget,
+                self.can_html,
+                self.can_admin,
+                self.can_dot,
+            ) = avn.uaxs[self.uname]
+        except:
+            pass  # default is all-false
+
         self.avn = avn
         self.vn = vn  # note: do not dbv due to walk/zipgen
         self.rem = rem
@@ -754,9 +834,11 @@ class HttpCli(object):
         self.s.settimeout(self.args.s_tbody or None)
 
         if "norobots" in vn.flags:
-            self.html_head += META_NOBOTS
             self.out_headers["X-Robots-Tag"] = "noindex, nofollow"
 
+        if "html_head_s" in vn.flags:
+            self.html_head += vn.flags["html_head_s"]
+
         try:
             cors_k = self._cors()
             if self.mode in ("GET", "HEAD"):
@@ -771,7 +853,7 @@ class HttpCli(object):
                 guess = "modifying" if (origin and host) else "stripping"
                 t = "cors-reject %s because request-header Origin=%r does not match request-protocol %r and host %r based on request-header Host=%r (note: if this request is not malicious, check if your reverse-proxy is accidentally %s request headers, in particular 'Origin', for example by running copyparty with --ihead='*' to show all request headers)"
                 self.log(t % (self.mode, origin, proto, self.host, host, guess), 3)
-                raise Pebkac(403, "rejected by cors-check")
+                raise Pebkac(403, "rejected by cors-check (see serverlog)")
 
             # getattr(self.mode) is not yet faster than this
             if self.mode == "POST":
@@ -793,7 +875,7 @@ class HttpCli(object):
             elif self.mode in ("MOVE", "COPY"):
                 return self.handle_cpmv() and self.keepalive
             else:
-                raise Pebkac(400, 'invalid HTTP verb "{0}"'.format(self.mode))
+                raise Pebkac(400, "invalid HTTP verb %r" % (self.mode,))
 
         except Exception as ex:
             if not isinstance(ex, Pebkac):
@@ -858,6 +940,16 @@ class HttpCli(object):
             return self.conn.iphash.s(self.ip)
 
     def cbonk(self, g: Garda, v: str, reason: str, descr: str) -> bool:
+        cond = self.args.dont_ban
+        if (
+            cond == "any"
+            or (cond == "auth" and self.uname != "*")
+            or (cond == "aa" and self.avol)
+            or (cond == "av" and self.can_admin)
+            or (cond == "rw" and self.can_read and self.can_write)
+        ):
+            return False
+
         self.conn.hsrv.nsus += 1
         if not g.lim:
             return False
@@ -867,29 +959,31 @@ class HttpCli(object):
             return False
 
         xban = self.vn.flags.get("xban")
-        if not xban or not runhook(
-            self.log,
-            self.conn.hsrv.broker,
-            None,
-            "xban",
-            xban,
-            self.vn.canonical(self.rem),
-            self.vpath,
-            self.host,
-            self.uname,
-            "",
-            time.time(),
-            0,
-            self.ip,
-            time.time(),
-            reason,
-        ):
-            self.log("client banned: %s" % (descr,), 1)
-            self.conn.hsrv.bans[ip] = bonk
-            self.conn.hsrv.nban += 1
-            return True
+        if xban:
+            hr = runhook(
+                self.log,
+                self.conn.hsrv.broker,
+                None,
+                "xban",
+                xban,
+                self.vn.canonical(self.rem),
+                self.vpath,
+                self.host,
+                self.uname,
+                "",
+                time.time(),
+                0,
+                self.ip,
+                time.time(),
+                [reason, reason],
+            )
+            if hr.get("rv") == 0:
+                return False
 
-        return False
+        self.log("client banned: %s" % (descr,), 1)
+        self.conn.hsrv.bans[ip] = bonk
+        self.conn.hsrv.nban += 1
+        return True
 
     def is_banned(self) -> bool:
         if not self.conn.bans:
@@ -907,13 +1001,13 @@ class HttpCli(object):
             return False
 
         self.log("banned for {:.0f} sec".format(rt), 6)
-        self.terse_reply(b"thank you for playing", 403)
+        self.terse_reply(self.args.banmsg_b, 403)
         return True
 
     def permit_caching(self) -> None:
         cache = self.uparam.get("cache")
         if cache is None:
-            self.out_headers.update(NO_CACHE)
+            self.out_headers["Cache-Control"] = self.vn.flags["cachectl"]
             return
 
         n = 69 if not cache else 604869 if cache == "i" else int(cache)
@@ -927,8 +1021,8 @@ class HttpCli(object):
         no304 = self.cookies.get("no304")
         return no304 == "y" or (self.args.no304 == 2 and no304 != "n")
 
-    def _build_html_head(self, maybe_html: Any, kv: dict[str, Any]) -> None:
-        html = str(maybe_html)
+    def _build_html_head(self, kv: dict[str, Any]) -> None:
+        html = str(self.vn.flags["html_head_d"])
         is_jinja = html[:2] in "%@%"
         if is_jinja:
             html = html.replace("%", "", 1)
@@ -1090,7 +1184,10 @@ class HttpCli(object):
         ]
 
         if body:
-            lines.append("Content-Length: " + unicode(len(body)))
+            lines.append(
+                "Content-Type: text/html; charset=utf-8\r\nContent-Length: "
+                + unicode(len(body))
+            )
 
         lines.append("\r\n")
         self.s.sendall("\r\n".join(lines).encode("utf-8") + body)
@@ -1107,6 +1204,7 @@ class HttpCli(object):
             return ""
 
         kv = {k: zs for k, zs in self.uparam.items() if k not in rm}
+        # no reason to consider args.pw_urlp
         if "pw" in kv:
             pw = self.cookies.get("cppws") or self.cookies.get("cppwd")
             if kv["pw"] == pw:
@@ -1120,6 +1218,7 @@ class HttpCli(object):
         return "?" + "&".join(r)
 
     def ourlq(self) -> str:
+        # no reason to consider args.pw_urlp
         skip = ("pw", "h", "k")
         ret = []
         for k, v in self.ouparam.items():
@@ -1183,12 +1282,15 @@ class HttpCli(object):
         proto = "https" if self.is_https else "http"
         good_origins = self.args.acao + ["%s://%s" % (proto, host)]
 
-        if "pw" in ih or re.sub(r"(:[0-9]{1,5})?/?$", "", origin) in good_origins:
+        if (
+            self.args.pw_hdr in ih
+            or re.sub(r"(:[0-9]{1,5})?/?$", "", origin) in good_origins
+        ):
             good_origin = True
             bad_hdrs = ("",)
         else:
             good_origin = False
-            bad_hdrs = ("", "pw")
+            bad_hdrs = ("", self.args.pw_hdr)
 
         # '*' blocks auth through cookies / WWW-Authenticate;
         # exact-match for Origin is necessary to unlock those,
@@ -1261,6 +1363,20 @@ class HttpCli(object):
                 else:
                     return self.tx_res(res_path)
 
+            if res_path in RESM:
+                ap = self.E.mod_ + RESM[res_path]
+                if (
+                    "txt" not in self.uparam
+                    and "mime" not in self.uparam
+                    and not self.ouparam.get("dl")
+                ):
+                    # return mimetype matching request extension
+                    self.ouparam["dl"] = res_path.split("/")[-1]
+                if bos.path.exists(ap) or bos.path.exists(ap + ".gz"):
+                    return self.tx_file(ap)
+                else:
+                    return self.tx_res(res_path)
+
             self.tx_404()
             return False
 
@@ -1271,7 +1387,7 @@ class HttpCli(object):
         if not self.can_read and not self.can_write and not self.can_get:
             t = "@%s has no access to %r"
 
-            if "on403" in self.vn.flags:
+            if self.vn.realpath and "on403" in self.vn.flags:
                 t += " (on403)"
                 self.log(t % (self.uname, "/" + self.vpath))
                 ret = self.on40x(self.vn.flags["on403"], self.vn, self.rem)
@@ -1305,6 +1421,9 @@ class HttpCli(object):
                     self.reply(html.encode("utf-8", "replace"), 500)
                     return True
 
+                if "ls" in self.uparam:
+                    return self.tx_ls_vols()
+
                 if self.vpath:
                     ptn = self.args.nonsus_urls
                     if not ptn or not ptn.search(self.vpath):
@@ -1404,7 +1523,7 @@ class HttpCli(object):
                 uv.append(ext)
             uq += " and ( %s )" % (" or ".join(zsl),)
 
-        zs1 = self.uparam.get("sort", self.args.rss_sort)
+        zs1 = self.uparam.get("sort") or self.args.rss_sort
         zs2 = zs1.lower()
         zs = RSS_SORT.get(zs2)
         if not zs:
@@ -1418,10 +1537,11 @@ class HttpCli(object):
 
         hits = idx.run_query(self.uname, [self.vn], uq, uv, False, False, nmax)[0]
 
-        pw = self.ouparam.get("pw")
-        if pw:
-            q_pw = "?pw=%s" % (html_escape(pw, True, True),)
-            a_pw = "&pw=%s" % (html_escape(pw, True, True),)
+        pwk = self.args.pw_urlp
+        if pwk in self.ouparam and "nopw" not in self.ouparam:
+            zs = self.ouparam[pwk]
+            q_pw = "?%s=%s" % (pwk, quotep(zs))
+            a_pw = "&%s=%s" % (pwk, quotep(zs))
             for i in hits:
                 i["rp"] += a_pw if "?" in i["rp"] else q_pw
         else:
@@ -1435,6 +1555,8 @@ class HttpCli(object):
             self.host,
         )
         feed = baseurl + self.req[1:]
+        if pwk in self.ouparam and self.ouparam.get("nopw") == "a":
+            feed = re.sub(r"&%s=[^&]*" % (pwk,), "", feed)
         if self.is_vproxied:
             baseurl += self.args.RS
         efeed = html_escape(feed, True, True)
@@ -1475,18 +1597,31 @@ class HttpCli(object):
         ap = ""
         use_magic = "rmagic" in self.vn.flags
 
+        tpl_t = self.uparam.get("fmt_t") or self.vn.flags["rss_fmt_t"]
+        tpl_d = self.uparam.get("fmt_d") or self.vn.flags["rss_fmt_d"]
+        kw_t = [[x, x[1:-1]] for x in RE_RSS_KW.findall(tpl_t)]
+        kw_d = [[x, x[1:-1]] for x in RE_RSS_KW.findall(tpl_d)]
+
         for i in hits:
             if use_magic:
                 ap = os.path.join(self.vn.realpath, i["rp"])
 
+            tags = i["tags"]
             iurl = html_escape("%s%s" % (baseurl, i["rp"]), True, True)
-            title = unquotep(i["rp"].split("?")[0].split("/")[-1])
-            title = html_escape(title, True, True)
-            tag_t = str(i["tags"].get("title") or "")
-            tag_a = str(i["tags"].get("artist") or "")
-            desc = "%s - %s" % (tag_a, tag_t) if tag_t and tag_a else (tag_t or tag_a)
-            desc = html_escape(desc, True, True) if desc else title
-            mime = html_escape(guess_mime(title, ap))
+            fname = tags["fname"] = unquotep(i["rp"].split("?")[0].split("/")[-1])
+            title = tpl_t
+            desc = tpl_d
+            for zs1, zs2 in kw_t:
+                title = title.replace(zs1, str(tags.get(zs2, "")))
+            for zs1, zs2 in kw_d:
+                desc = desc.replace(zs1, str(tags.get(zs2, "")))
+            title = html_escape(title.strip(), True, True)
+            if desc.strip(" -,"):
+                desc = html_escape(desc.strip(), True, True)
+            else:
+                desc = title
+
+            mime = html_escape(guess_mime(fname, ap))
             lmod = formatdate(max(0, i["ts"]))
             zsa = (iurl, iurl, title, desc, lmod, iurl, mime, i["sz"])
             zs = (
@@ -1512,6 +1647,64 @@ class HttpCli(object):
         self.log("rss: %d hits, %d bytes" % (len(hits), len(bret)))
         return True
 
+    def tx_zls(self, abspath) -> bool:
+        if self.do_log:
+            self.log("zls %s @%s" % (self.req, self.uname))
+        if self.args.no_zls:
+            raise Pebkac(405, "zip browsing is disabled in server config")
+
+        import zipfile
+
+        try:
+            with zipfile.ZipFile(abspath, "r") as zf:
+                filelist = [{"fn": f.filename} for f in zf.infolist()]
+                ret = json.dumps(filelist).encode("utf-8", "replace")
+                self.reply(ret, mime="application/json")
+                return True
+        except (zipfile.BadZipfile, RuntimeError):
+            raise Pebkac(404, "requested file is not a valid zip file")
+
+    def tx_zget(self, abspath) -> bool:
+        maxsz = 1024 * 1024 * 64
+
+        inner_path = self.uparam.get("zget")
+        if not inner_path:
+            raise Pebkac(405, "inner path is required")
+        if self.do_log:
+            self.log(
+                "zget %s \033[35m%s\033[0m @%s" % (self.req, inner_path, self.uname)
+            )
+        if self.args.no_zls:
+            raise Pebkac(405, "zip browsing is disabled in server config")
+
+        import zipfile
+
+        try:
+            with zipfile.ZipFile(abspath, "r") as zf:
+                zi = zf.getinfo(inner_path)
+                if zi.file_size >= maxsz:
+                    raise Pebkac(404, "zip bomb defused")
+                with zf.open(zi, "r") as fi:
+                    self.send_headers(length=zi.file_size, mime=guess_mime(inner_path))
+
+                    sendfile_py(
+                        self.log,
+                        0,
+                        zi.file_size,
+                        fi,
+                        self.s,
+                        self.args.s_wr_sz,
+                        self.args.s_wr_slp,
+                        not self.args.no_poll,
+                        {},
+                        "",
+                    )
+        except KeyError:
+            raise Pebkac(404, "no such file in archive")
+        except (zipfile.BadZipfile, RuntimeError):
+            raise Pebkac(404, "requested file is not a valid zip file")
+        return True
+
     def handle_propfind(self) -> bool:
         if self.do_log:
             self.log("PFIND %s @%s" % (self.req, self.uname))
@@ -1551,6 +1744,7 @@ class HttpCli(object):
             if xtag is not None:
                 props = set([y.tag.split("}")[-1] for y in xtag])
             # assume  otherwise; nobody ever gonna 
+            self.hint = ""
 
         zi = int(time.time())
         vst = os.stat_result((16877, -1, -1, 1, 1000, 1000, 8, zi, zi, zi))
@@ -1560,7 +1754,9 @@ class HttpCli(object):
         except OSError as ex:
             if ex.errno not in (errno.ENOENT, errno.ENOTDIR):
                 raise
-            raise Pebkac(404)
+            if tap:
+                raise Pebkac(404)
+            st = vst
 
         topdir = {"vp": "", "st": st}
         fgen: Iterable[dict[str, Any]] = []
@@ -1595,11 +1791,15 @@ class HttpCli(object):
                 set(),
                 self.uname,
                 True,
+                1,
                 not self.args.no_scandir,
                 wrap=False,
             )
 
         elif depth == "0" or not stat.S_ISDIR(st.st_mode):
+            if depth == "0" and not self.vpath and not vn.realpath:
+                # rootless server; give dummy listing
+                self.can_read = True
             # propfind on a file; return as topdir
             if not self.can_read and not self.can_get:
                 self.log("inaccessible: %r" % ("/" + self.vpath,))
@@ -1632,7 +1832,11 @@ class HttpCli(object):
             self.log("inaccessible: %r" % ("/" + self.vpath,))
             raise Pebkac(401, "authenticate")
 
-        zi = vn.flags["du_iwho"] if "quota-available-bytes" in props else 0
+        zi = (
+            vn.flags["du_iwho"]
+            if vn.realpath and "quota-available-bytes" in props
+            else 0
+        )
         if zi and (
             zi == 9
             or (zi == 7 and self.uname != "*")
@@ -1642,6 +1846,21 @@ class HttpCli(object):
         ):
             bfree, btot, _ = get_df(vn.realpath, False)
             if btot:
+                if "vmaxb" in vn.flags:
+                    assert vn.lim  # type: ignore  # !rm
+                    btot = vn.lim.vbmax
+                    if bfree == vn.lim.c_vb_r:
+                        bfree = min(bfree, max(0, vn.lim.vbmax - vn.lim.c_vb_v))
+                    else:
+                        try:
+                            zi, _ = self.conn.hsrv.broker.ask(
+                                "up2k.get_volsizes", [vn.realpath]
+                            ).get()[0]
+                            vn.lim.c_vb_v = zi
+                            vn.lim.c_vb_r = bfree
+                            bfree = min(bfree, max(0, vn.lim.vbmax - zi))
+                        except:
+                            pass
                 df = {
                     "quota-available-bytes": str(bfree),
                     "quota-used-bytes": str(btot - bfree),
@@ -1767,6 +1986,7 @@ class HttpCli(object):
         assert xprop  # !rm
         for ze in xprop:
             ze.clear()
+        self.hint = ""
 
         txt = """HTTP/1.1 403 Forbidden"""
         xroot = parse_xml(txt)
@@ -1824,6 +2044,7 @@ class HttpCli(object):
         ET.register_namespace("D", "DAV:")
         lk = parse_xml(txt)
         assert lk.tag == "{DAV:}lockinfo"
+        self.hint = ""
 
         token = str(uuid.uuid4())
 
@@ -2066,7 +2287,7 @@ class HttpCli(object):
                     t = "urlform_raw %d @ %r\n  %r\n"
                     self.log(t % (len(orig), "/" + self.vpath, orig))
                     try:
-                        zb = unquote(buf.replace(b"+", b" "))
+                        zb = unquote(buf.replace(b"+", b" ").replace(b"&", b"\n"))
                         plain = zb.decode("utf-8", "replace")
                         if buf.startswith(b"msg="):
                             plain = plain[4:]
@@ -2087,7 +2308,7 @@ class HttpCli(object):
                                     len(buf),
                                     self.ip,
                                     time.time(),
-                                    plain,
+                                    [plain, orig],
                                 )
 
                         t = "urlform_dec %d @ %r\n  %r\n"
@@ -2106,9 +2327,9 @@ class HttpCli(object):
             if "get" in opt:
                 return self.handle_get()
 
-            raise Pebkac(405, "POST({}) is disabled in server config".format(ctype))
+            raise Pebkac(405, "POST(%r) is disabled in server config" % (ctype,))
 
-        raise Pebkac(405, "don't know how to handle POST({})".format(ctype))
+        raise Pebkac(405, "don't know how to handle POST(%r)" % (ctype,))
 
     def get_xml_enc(self, txt: str) -> str:
         ofs = txt[:512].find(' encoding="')
@@ -2226,7 +2447,7 @@ class HttpCli(object):
             if rnd:
                 fn = rand_name(fdir, fn, rnd)
 
-            fn = sanitize_fn(fn or "", "")
+            fn = sanitize_fn(fn or "")
 
         path = os.path.join(fdir, fn)
 
@@ -2248,10 +2469,12 @@ class HttpCli(object):
                 remains,
                 self.ip,
                 at,
-                "",
+                None,
             )
-            if not hr:
-                t = "upload blocked by xbu server config"
+            t = hr.get("rejectmsg") or ""
+            if t or hr.get("rc") != 0:
+                if not t:
+                    t = "upload blocked by xbu server config: %r" % (vp,)
                 self.log(t, 1)
                 raise Pebkac(403, t)
             if hr.get("reloc"):
@@ -2269,7 +2492,12 @@ class HttpCli(object):
                             self.vpath = vjoin(self.vpath, fn)
                         params["fdir"] = fdir
 
-        if is_put and not (self.args.no_dav or self.args.nw) and bos.path.exists(path):
+        if (
+            is_put
+            and not (self.args.no_dav or self.args.nw)
+            and "append" not in self.uparam
+            and bos.path.exists(path)
+        ):
             # allow overwrite if...
             #  * volflag 'daw' is set, or client is definitely webdav
             #  * and account has delete-access
@@ -2283,7 +2511,11 @@ class HttpCli(object):
 
             if (
                 self.can_delete
-                and (vfs.flags.get("daw") or "x-oc-mtime" in self.headers)
+                and (
+                    vfs.flags.get("daw")
+                    or "replace" in self.headers
+                    or "x-oc-mtime" in self.headers
+                )
             ) or (
                 not bos.path.exists(os.path.join(fdir, tnam))
                 and not bos.path.getsize(path)
@@ -2313,7 +2545,22 @@ class HttpCli(object):
         else:
             raise Pebkac(500, "unknown hash alg")
 
-        f, fn = ren_open(fn, *open_a, **params)
+        if "apnd" in self.uparam and not self.args.nw and bos.path.exists(path):
+            zs = vfs.flags["apnd_who"]
+            if (
+                zs == "w"
+                or (zs == "aw" and self.can_admin)
+                or (zs == "dw" and self.can_delete)
+            ):
+                pass
+            else:
+                raise Pebkac(400, "you do not have permission to append")
+            zs = os.path.join(params["fdir"], fn)
+            self.log("upload will append to [%s]" % (zs,))
+            f = open(zs, "ab")
+        else:
+            f, fn = ren_open(fn, *open_a, **params)
+
         try:
             path = os.path.join(fdir, fn)
             post_sz, sha_hex, sha_b64 = copier(reader, f, hasher, 0, self.args.s_wr_slp)
@@ -2377,10 +2624,12 @@ class HttpCli(object):
                 post_sz,
                 self.ip,
                 at,
-                "",
+                None,
             )
-            if not hr:
-                t = "upload blocked by xau server config"
+            t = hr.get("rejectmsg") or ""
+            if t or hr.get("rc") != 0:
+                if not t:
+                    t = "upload blocked by xau server config: %r" % (vp,)
                 self.log(t, 1)
                 wunlink(self.log, path, vfs.flags)
                 raise Pebkac(403, t)
@@ -2574,7 +2823,7 @@ class HttpCli(object):
         if act == "logout":
             return self.handle_logout()
 
-        raise Pebkac(422, 'invalid action "{}"'.format(act))
+        raise Pebkac(422, "invalid action %r" % (act,))
 
     def handle_zip_post(self) -> bool:
         assert self.parser  # !rm
@@ -2649,9 +2898,14 @@ class HttpCli(object):
             raise Pebkac(400, "your client is old; press CTRL-SHIFT-R and try again")
 
         vfs, rem = self.asrv.vfs.get(self.vpath, self.uname, False, True)
+        fsnt = vfs.flags["fsnt"]
+        if fsnt != "lin":
+            tl = VPTL_WIN if fsnt == "win" else VPTL_MAC
+            rem = rem.translate(tl)
+            name = name.translate(tl)
         dbv, vrem = vfs.get_dbv(rem)
 
-        name = sanitize_fn(name, "")
+        name = sanitize_fn(name)
         if (
             not self.can_read
             and self.can_write
@@ -2669,7 +2923,7 @@ class HttpCli(object):
         body["addr"] = self.ip
         body["vcfg"] = dbv.flags
 
-        if not self.can_delete:
+        if not self.can_delete and not body.get("replace") == "skip":
             body.pop("replace", None)
 
         if rem:
@@ -2818,51 +3072,51 @@ class HttpCli(object):
         bail1 = False  # used in sad path to avoid contradicting error-text
         treport = time.time()  # ratelimit up2k reporting to reduce overhead
 
-        if "x-up2k-subc" in self.headers:
-            sc_ofs = int(self.headers["x-up2k-subc"])
-            chash = chashes[0]
-
-            u2sc = self.conn.hsrv.u2sc
-            try:
-                sc_pofs, hasher = u2sc[chash]
-                if not sc_ofs:
-                    t = "client restarted the chunk; forgetting subchunk offset %d"
-                    self.log(t % (sc_pofs,))
-                    raise Exception()
-            except:
-                sc_pofs = 0
-                hasher = hashlib.sha512()
-
-            et = "subchunk protocol error; resetting chunk "
-            if sc_pofs != sc_ofs:
-                u2sc.pop(chash, None)
-                t = "%s[%s]: the expected resume-point was %d, not %d"
-                raise Pebkac(400, t % (et, chash, sc_pofs, sc_ofs))
-            if len(cstarts) > 1:
-                u2sc.pop(chash, None)
-                t = "%s[%s]: only a single subchunk can be uploaded in one request; you are sending %d chunks"
-                raise Pebkac(400, t % (et, chash, len(cstarts)))
-            csize = min(chunksize, fsize - cstart0[0])
-            cstart0[0] += sc_ofs  # also sets cstarts[0][0]
-            sc_next_ofs = sc_ofs + postsize
-            if sc_next_ofs > csize:
-                u2sc.pop(chash, None)
-                t = "%s[%s]: subchunk offset (%d) plus postsize (%d) exceeds chunksize (%d)"
-                raise Pebkac(400, t % (et, chash, sc_ofs, postsize, csize))
-            else:
-                final_subchunk = sc_next_ofs == csize
-                t = "subchunk %s %d:%d/%d %s"
-                zs = "END" if final_subchunk else ""
-                self.log(t % (chash[:15], sc_ofs, sc_next_ofs, csize, zs), 6)
-                if final_subchunk:
-                    u2sc.pop(chash, None)
-                else:
-                    u2sc[chash] = (sc_next_ofs, hasher)
-        else:
-            hasher = None
-            final_subchunk = True
-
         try:
+            if "x-up2k-subc" in self.headers:
+                sc_ofs = int(self.headers["x-up2k-subc"])
+                chash = chashes[0]
+
+                u2sc = self.conn.hsrv.u2sc
+                try:
+                    sc_pofs, hasher = u2sc[chash]
+                    if not sc_ofs:
+                        t = "client restarted the chunk; forgetting subchunk offset %d"
+                        self.log(t % (sc_pofs,))
+                        raise Exception()
+                except:
+                    sc_pofs = 0
+                    hasher = hashlib.sha512()
+
+                et = "subchunk protocol error; resetting chunk "
+                if sc_pofs != sc_ofs:
+                    u2sc.pop(chash, None)
+                    t = "%s[%s]: the expected resume-point was %d, not %d"
+                    raise Pebkac(400, t % (et, chash, sc_pofs, sc_ofs))
+                if len(cstarts) > 1:
+                    u2sc.pop(chash, None)
+                    t = "%s[%s]: only a single subchunk can be uploaded in one request; you are sending %d chunks"
+                    raise Pebkac(400, t % (et, chash, len(cstarts)))
+                csize = min(chunksize, fsize - cstart0[0])
+                cstart0[0] += sc_ofs  # also sets cstarts[0][0]
+                sc_next_ofs = sc_ofs + postsize
+                if sc_next_ofs > csize:
+                    u2sc.pop(chash, None)
+                    t = "%s[%s]: subchunk offset (%d) plus postsize (%d) exceeds chunksize (%d)"
+                    raise Pebkac(400, t % (et, chash, sc_ofs, postsize, csize))
+                else:
+                    final_subchunk = sc_next_ofs == csize
+                    t = "subchunk %s %d:%d/%d %s"
+                    zs = "END" if final_subchunk else ""
+                    self.log(t % (chash[:15], sc_ofs, sc_next_ofs, csize, zs), 6)
+                    if final_subchunk:
+                        u2sc.pop(chash, None)
+                    else:
+                        u2sc[chash] = (sc_next_ofs, hasher)
+            else:
+                hasher = None
+                final_subchunk = True
+
             if self.args.nw:
                 path = os.devnull
 
@@ -2934,7 +3188,9 @@ class HttpCli(object):
                     if now - treport < 1:
                         continue
                     treport = now
-                    x = broker.ask("up2k.fast_confirm_chunks", ptop, wark, written)
+                    x = broker.ask(
+                        "up2k.fast_confirm_chunks", ptop, wark, written, locked
+                    )
                     num_left, t = x.get()
                     if num_left < -1:
                         self.loud_reply(t, status=500)
@@ -3145,7 +3401,7 @@ class HttpCli(object):
         if "nosub" in vfs.flags:
             raise Pebkac(403, "mkdir is forbidden below this folder")
 
-        rem = sanitize_vpath(rem, "/")
+        rem = sanitize_vpath(rem)
         fn = vfs.canonical(rem)
 
         if not nullwrite:
@@ -3185,21 +3441,47 @@ class HttpCli(object):
         vfs, rem = self.asrv.vfs.get(self.vpath, self.uname, False, True)
         self._assert_safe_rem(rem)
 
-        ext = "" if "." not in new_file else new_file.split(".")[-1]
-        if not ext or len(ext) > 5 or not self.can_delete:
-            new_file += ".md"
+        if not self.can_delete and not new_file.lower().endswith(".md"):
+            t = "you can only create .md files because you don't have the delete-permission"
+            raise Pebkac(400, t)
 
-        sanitized = sanitize_fn(new_file, "")
+        sanitized = sanitize_fn(new_file)
+        fdir = vfs.canonical(rem)
+        fn = os.path.join(fdir, sanitized)
+
+        for hn in ("xbu", "xau"):
+            xxu = vfs.flags.get(hn)
+            if xxu:
+                hr = runhook(
+                    self.log,
+                    self.conn.hsrv.broker,
+                    None,
+                    "%s.http.new-md" % (hn,),
+                    xxu,
+                    fn,
+                    vjoin(self.vpath, sanitized),
+                    self.host,
+                    self.uname,
+                    self.asrv.vfs.get_perms(self.vpath, self.uname),
+                    time.time(),
+                    0,
+                    self.ip,
+                    time.time(),
+                    None,
+                )
+                t = hr.get("rejectmsg") or ""
+                if t or hr.get("rc") != 0:
+                    if not t:
+                        t = "new-md blocked by " + hn + " server config: %r"
+                        t = t % (vjoin(vfs.vpath, rem),)
+                    self.log(t, 1)
+                    raise Pebkac(403, t)
 
         if not nullwrite:
-            fdir = vfs.canonical(rem)
-            fn = os.path.join(fdir, sanitized)
-
             if bos.path.exists(fn):
                 raise Pebkac(500, "that file exists already")
 
             with open(fsenc(fn), "wb") as f:
-                f.write(b"`GRUNNUR`\n")
                 if "fperms" in vfs.flags:
                     set_fperms(f, vfs.flags)
 
@@ -3315,7 +3597,7 @@ class HttpCli(object):
                     # fallthrough
 
                 fdir = fdir_base
-                fname = sanitize_fn(p_file or "", "")
+                fname = sanitize_fn(p_file or "")
                 abspath = os.path.join(fdir, fname)
                 suffix = "-%.6f-%s" % (time.time(), dip)
                 if p_file and not nullwrite:
@@ -3324,7 +3606,7 @@ class HttpCli(object):
 
                     open_args = {"fdir": fdir, "suffix": suffix, "vf": vfs.flags}
 
-                    if "replace" in self.uparam:
+                    if "replace" in self.uparam or "replace" in self.headers:
                         if not self.can_delete:
                             self.log("user not allowed to overwrite with ?replace")
                         elif bos.path.exists(abspath):
@@ -3356,10 +3638,13 @@ class HttpCli(object):
                         0,
                         self.ip,
                         at,
-                        "",
+                        None,
                     )
-                    if not hr:
-                        t = "upload blocked by xbu server config"
+                    t = hr.get("rejectmsg") or ""
+                    if t or hr.get("rc") != 0:
+                        if not t:
+                            t = "upload blocked by xbu server config: %r"
+                            t = t % (vjoin(upload_vpath, fname),)
                         self.log(t, 1)
                         raise Pebkac(403, t)
                     if hr.get("reloc"):
@@ -3419,8 +3704,6 @@ class HttpCli(object):
                         sz, sha_hex, sha_b64 = copier(
                             p_data, f, hasher, max_sz, self.args.s_wr_slp
                         )
-                        if sz == 0:
-                            raise Pebkac(400, "empty files in post")
                     finally:
                         f.close()
 
@@ -3462,10 +3745,13 @@ class HttpCli(object):
                             sz,
                             self.ip,
                             at,
-                            "",
+                            None,
                         )
-                        if not hr:
-                            t = "upload blocked by xau server config"
+                        t = hr.get("rejectmsg") or ""
+                        if t or hr.get("rc") != 0:
+                            if not t:
+                                t = "upload blocked by xau server config: %r"
+                                t = t % (vjoin(upload_vpath, fname),)
                             self.log(t, 1)
                             wunlink(self.log, abspath, vfs.flags)
                             raise Pebkac(403, t)
@@ -3750,14 +4036,14 @@ class HttpCli(object):
         assert self.parser.gen  # !rm
         p_field, _, p_data = next(self.parser.gen)
         if p_field != "body":
-            raise Pebkac(400, "expected body, got {}".format(p_field))
+            raise Pebkac(400, "expected body, got %r" % (p_field,))
 
         if "txt_eol" in vfs.flags:
             p_data = eol_conv(p_data, vfs.flags["txt_eol"])
 
         xbu = vfs.flags.get("xbu")
         if xbu:
-            if not runhook(
+            hr = runhook(
                 self.log,
                 self.conn.hsrv.broker,
                 None,
@@ -3772,9 +4058,12 @@ class HttpCli(object):
                 0,
                 self.ip,
                 time.time(),
-                "",
-            ):
-                t = "save blocked by xbu server config"
+                None,
+            )
+            t = hr.get("rejectmsg") or ""
+            if t or hr.get("rc") != 0:
+                if not t:
+                    t = "save blocked by xbu server config"
                 self.log(t, 1)
                 raise Pebkac(403, t)
 
@@ -3801,27 +4090,31 @@ class HttpCli(object):
         sha512 = sha512[:56]
 
         xau = vfs.flags.get("xau")
-        if xau and not runhook(
-            self.log,
-            self.conn.hsrv.broker,
-            None,
-            "xau.http.txt",
-            xau,
-            fp,
-            self.vpath,
-            self.host,
-            self.uname,
-            self.asrv.vfs.get_perms(self.vpath, self.uname),
-            new_lastmod,
-            sz,
-            self.ip,
-            new_lastmod,
-            "",
-        ):
-            t = "save blocked by xau server config"
-            self.log(t, 1)
-            wunlink(self.log, fp, vfs.flags)
-            raise Pebkac(403, t)
+        if xau:
+            hr = runhook(
+                self.log,
+                self.conn.hsrv.broker,
+                None,
+                "xau.http.txt",
+                xau,
+                fp,
+                self.vpath,
+                self.host,
+                self.uname,
+                self.asrv.vfs.get_perms(self.vpath, self.uname),
+                new_lastmod,
+                sz,
+                self.ip,
+                new_lastmod,
+                None,
+            )
+            t = hr.get("rejectmsg") or ""
+            if t or hr.get("rc") != 0:
+                if not t:
+                    t = "save blocked by xau server config"
+                self.log(t, 1)
+                wunlink(self.log, fp, vfs.flags)
+                raise Pebkac(403, t)
 
         self.conn.hsrv.broker.say(
             "up2k.hash_file",
@@ -3926,40 +4219,36 @@ class HttpCli(object):
         self, vn: VFS, abspath: str, lnames: Optional[dict[str, str]]
     ) -> tuple[list[str], list[str]]:
         logues = ["", ""]
-        if not self.args.no_logues:
-            for n, fn in LOGUES:
-                if lnames is not None and fn not in lnames:
-                    continue
+        for n, fns1, fns2 in [] if self.args.no_logues else vn.flags["emb_lgs"]:
+            for fn in fns1 if lnames is None else fns2:
+                if lnames is not None:
+                    fn = lnames.get(fn)
+                    if not fn:
+                        continue
                 fn = "%s/%s" % (abspath, fn)
-                if bos.path.isfile(fn):
-                    logues[n] = read_utf8(self.log, fsenc(fn), False)
-                    if "exp" in vn.flags:
-                        logues[n] = self._expand(
-                            logues[n], vn.flags.get("exp_lg") or []
-                        )
+                if not bos.path.isfile(fn):
+                    continue
+                logues[n] = read_utf8(self.log, fsenc(fn), False)
+                if "exp" in vn.flags:
+                    logues[n] = self._expand(logues[n], vn.flags.get("exp_lg") or [])
+                break
 
         readmes = ["", ""]
-        for n, fns in [] if self.args.no_readme else READMES:
+        for n, fns1, fns2 in [] if self.args.no_readme else vn.flags["emb_mds"]:
             if logues[n]:
                 continue
-            elif lnames is None:
-                pass
-            elif fns[0] in lnames:
-                fns = [lnames[fns[0]]]
-            else:
-                fns = []
-
-            txt = ""
-            for fn in fns:
+            for fn in fns1 if lnames is None else fns2:
+                if lnames is not None:
+                    fn = lnames.get(fn.lower())
+                    if not fn:
+                        continue
                 fn = "%s/%s" % (abspath, fn)
-                if bos.path.isfile(fn):
-                    txt = read_utf8(self.log, fsenc(fn), False)
-                    break
-
-            if txt and "exp" in vn.flags:
-                txt = self._expand(txt, vn.flags.get("exp_md") or [])
-
-            readmes[n] = txt
+                if not bos.path.isfile(fn):
+                    continue
+                readmes[n] = read_utf8(self.log, fsenc(fn), False)
+                if "exp" in vn.flags:
+                    readmes[n] = self._expand(readmes[n], vn.flags.get("exp_md") or [])
+                break
 
         return logues, readmes
 
@@ -4042,8 +4331,11 @@ class HttpCli(object):
         # force download
 
         if "dl" in self.ouparam:
-            cdis = gen_content_disposition(os.path.basename(req_path))
-            self.out_headers["Content-Disposition"] = cdis
+            cdis = self.ouparam["dl"] or req_path
+            zs = gen_content_disposition(os.path.basename(cdis))
+            self.out_headers["Content-Disposition"] = zs
+        else:
+            cdis = req_path
 
         #
         # if-modified
@@ -4109,7 +4401,7 @@ class HttpCli(object):
         elif "mime" in self.uparam:
             mime = str(self.uparam.get("mime"))
         else:
-            mime = guess_mime(req_path)
+            mime = guess_mime(cdis)
 
         logmsg += unicode(status) + logtail
 
@@ -4217,8 +4509,11 @@ class HttpCli(object):
         # force download
 
         if "dl" in self.ouparam:
-            cdis = gen_content_disposition(os.path.basename(req_path))
-            self.out_headers["Content-Disposition"] = cdis
+            cdis = self.ouparam["dl"] or req_path
+            zs = gen_content_disposition(os.path.basename(cdis))
+            self.out_headers["Content-Disposition"] = zs
+        else:
+            cdis = req_path
 
         #
         # if-modified
@@ -4346,7 +4641,7 @@ class HttpCli(object):
         elif "rmagic" in self.vn.flags:
             mime = guess_mime(req_path, fs_path)
         else:
-            mime = guess_mime(req_path)
+            mime = guess_mime(cdis)
 
         if "nohtml" in self.vn.flags and "html" in mime:
             mime = "text/plain; charset=utf-8"
@@ -4733,11 +5028,12 @@ class HttpCli(object):
             packer = StreamZip
             ext = "zip"
 
-        fn = items[0] if items and items[0] else self.vpath
-        if fn:
-            fn = fn.rstrip("/").split("/")[-1]
-        else:
-            fn = self.host.split(":")[0]
+        dots = 0 if "nodot" in self.uparam else 1
+        scandir = not self.args.no_scandir
+
+        fn = self.vpath.split("/")[-1] or self.host.split(":")[0]
+        if items:
+            fn = "sel-" + fn
 
         if vn.flags.get("zipmax") and not (
             vn.flags.get("zipmaxu") and self.uname != "*"
@@ -4746,9 +5042,7 @@ class HttpCli(object):
             maxn = vn.flags.get("zipmaxn_v") or 0
             nf = 0
             nb = 0
-            fgen = vn.zipgen(
-                vpath, rem, set(items), self.uname, False, not self.args.no_scandir
-            )
+            fgen = vn.zipgen(vpath, rem, set(items), self.uname, False, dots, scandir)
             t = "total size exceeds a limit specified in server config"
             t = vn.flags.get("zipmaxt") or t
             if maxs and maxn:
@@ -4772,15 +5066,16 @@ class HttpCli(object):
         self.log(repr(cdis))
         self.send_headers(None, mime=mime, headers={"Content-Disposition": cdis})
 
-        fgen = vn.zipgen(
-            vpath, rem, set(items), self.uname, False, not self.args.no_scandir
-        )
+        fgen = vn.zipgen(vpath, rem, set(items), self.uname, False, dots, scandir)
         # for f in fgen: print(repr({k: f[k] for k in ["vp", "ap"]}))
         cfmt = ""
         if self.thumbcli and not self.args.no_bacode:
-            for zs in ("opus", "mp3", "flac", "wav", "w", "j", "p"):
-                if zs in self.ouparam or uarg == zs:
-                    cfmt = zs
+            if uarg in ZIP_XCODE_S:
+                cfmt = uarg
+            else:
+                for zs in ZIP_XCODE_L:
+                    if zs in self.ouparam:
+                        cfmt = zs
 
             if cfmt:
                 self.log("transcoding to [{}]".format(cfmt))
@@ -4886,7 +5181,7 @@ class HttpCli(object):
             url += "#" + uhash
 
         self.log("qrcode(%r)" % (url,))
-        ret = qr2svg(QrCode.encode_binary(url.encode("utf-8")), 2)
+        ret = qr2svg(qrgen(url.encode("utf-8")), 2)
         self.reply(ret.encode("utf-8"), mime="image/svg+xml")
         return True
 
@@ -4913,8 +5208,8 @@ class HttpCli(object):
             else:
                 fullfile = b""
 
-            if not sz_md and b"\n" in buf[:2]:
-                lead = buf[: buf.find(b"\n") + 1]
+            if not sz_md and buf.startswith((b"\n", b"\r\n")):
+                lead = b"\n" if buf.startswith(b"\n") else b"\r\n"
                 sz_md += len(lead)
 
             sz_md += len(buf)
@@ -4939,7 +5234,7 @@ class HttpCli(object):
         file_ts = int(max(ts_md, self.E.t0))
         file_lastmod, do_send, _ = self._chk_lastmod(file_ts)
         self.out_headers["Last-Modified"] = file_lastmod
-        self.out_headers.update(NO_CACHE)
+        self.out_headers["Cache-Control"] = "no-cache"
         status = 200 if do_send else 304
 
         arg_base = "?"
@@ -4953,7 +5248,7 @@ class HttpCli(object):
             "edit": "edit" in self.uparam,
             "title": html_escape(self.vpath, crlf=True),
             "lastmod": int(ts_md * 1000),
-            "lang": self.args.lang,
+            "lang": self.cookies.get("cplng") or self.args.lang,
             "favico": self.args.favico,
             "have_emp": int(self.args.emp),
             "md_no_br": int(vn.flags.get("md_no_br") or 0),
@@ -4967,10 +5262,9 @@ class HttpCli(object):
             zs += "&" if "?" in zs else "?"
             targs["js"] = zs
 
-        zfv = self.vn.flags.get("html_head")
-        if zfv:
+        if "html_head_d" in self.vn.flags:
             targs["this"] = self
-            self._build_html_head(zfv, targs)
+            self._build_html_head(targs)
 
         targs["html_head"] = self.html_head
         zs = template.render(**targs).encode("utf-8", "replace")
@@ -5027,7 +5321,7 @@ class HttpCli(object):
         defpw = "dave:hunter2" if self.args.usernames else "hunter2"
 
         vp = (self.uparam["hc"] or "").lstrip("/")
-        pw = self.ouparam.get("pw") or defpw
+        pw = self.ouparam.get(self.args.pw_urlp) or defpw
         if pw in self.asrv.sesa:
             pw = defpw
 
@@ -5065,6 +5359,13 @@ class HttpCli(object):
             [("/" + x).rstrip("/") + "/" for x in y]
             for y in [self.rvol, self.wvol, self.avol]
         ]
+        for zs in self.asrv.vfs.all_fvols:
+            if not zs:
+                continue  # webroot
+            zs2 = ("/" + zs).rstrip("/") + "/"
+            for zsl in (rvol, wvol, avol):
+                if zs2 in zsl:
+                    zsl[zsl.index(zs2)] = zs2[:-1]
 
         ups = []
         now = time.time()
@@ -5079,10 +5380,11 @@ class HttpCli(object):
                     fdone = max(0.001, 1 - rem)
                     td = max(0.1, now - t0)
                     rd, fn = vsplit(vp.replace(os.sep, "/"))
-                    if not rd:
-                        rd = "/"
-                    erd = quotep(rd)
-                    rds = rd.replace("/", " / ")
+                    if rd:
+                        rds = rd.replace("/", " / ")
+                        erd = "/%s/" % (quotep(rd),)
+                    else:
+                        erd = rds = "/"
                     spd = humansize(sz * fdone / td, True) + "/s"
                     eta = s2hms((td / fdone) - td, True) if rem < 1 else "--"
                     idle = s2hms(now - poke, True)
@@ -5099,7 +5401,7 @@ class HttpCli(object):
                 "dbwt": None,
             }
 
-        assert vstate.items and vs  # type: ignore  # !rm
+        assert vstate is not None and vstate.items and vs  # type: ignore  # !rm
 
         dls = dl_list = []
         if self.conn.hsrv.tdls:
@@ -5109,10 +5411,11 @@ class HttpCli(object):
         for t0, t1, sent, sz, vp, dl_id, uname in dl_list:
             td = max(0.1, now - t0)
             rd, fn = vsplit(vp)
-            if not rd:
-                rd = "/"
-            erd = quotep(rd)
-            rds = rd.replace("/", " / ")
+            if rd:
+                rds = rd.replace("/", " / ")
+                erd = "/%s/" % (quotep(rd),)
+            else:
+                erd = rds = "/"
             spd = humansize(sent / td, True) + "/s"
             hsent = humansize(sent, True)
             idle = s2hms(now - t1, True)
@@ -5127,7 +5430,7 @@ class HttpCli(object):
             dls.append((perc, hsent, spd, eta, idle, usr, erd, rds, fn))
 
         if self.args.have_unlistc:
-            allvols = self.asrv.vfs.all_vols
+            allvols = self.asrv.vfs.all_nodes
             rvol = [x for x in rvol if "unlistcr" not in allvols[x[1:-1]].flags]
             wvol = [x for x in wvol if "unlistcw" not in allvols[x[1:-1]].flags]
 
@@ -5206,6 +5509,7 @@ class HttpCli(object):
             no304=self.no304(),
             k304vis=self.args.k304 > 0,
             no304vis=self.args.no304 > 0,
+            msg=BADXFFB if hasattr(self, "bad_xff") else "",
             ver=S_VERSION if show_ver else "",
             chpw=self.args.chpw and self.uname != "*",
             ahttps="" if self.is_https else "https://" + self.host + self.req,
@@ -5216,7 +5520,7 @@ class HttpCli(object):
     def setck(self) -> bool:
         k, v = self.uparam["setck"].split("=", 1)
         t = 0 if v in ("", "x") else 86400 * 299
-        ck = gencookie(k, v, self.args.R, self.args.cookie_lax, False, t)
+        ck = gencookie(k, v, self.args.R, True, False, t)
         self.out_headerlist.append(("Set-Cookie", ck))
         if "cc" in self.ouparam:
             self.redirect("", "?h#cc")
@@ -5228,7 +5532,7 @@ class HttpCli(object):
         for k in ALL_COOKIES:
             if k not in self.cookies:
                 continue
-            cookie = gencookie(k, "x", self.args.R, self.args.cookie_lax, False)
+            cookie = gencookie(k, "x", self.args.R, True, False)
             self.out_headerlist.append(("Set-Cookie", cookie))
 
         self.redirect("", "?h#cc")
@@ -5258,17 +5562,19 @@ class HttpCli(object):
         # most webdav clients will not send credentials until they
         # get 401'd, so send a challenge if we're Absolutely Sure
         # that the client is not a graphical browser
-        if (
-            rc == 403
-            and self.uname == "*"
-            and "sec-fetch-site" not in self.headers
-            and (
-                not self.ua.startswith("Mozilla/")
-                or (self.args.dav_ua1 and self.args.dav_ua1.search(self.ua))
-            )
-        ):
-            rc = 401
-            self.out_headers["WWW-Authenticate"] = 'Basic realm="a"'
+        if rc == 403 and self.uname == "*":
+            sport = self.s.getsockname()[1]
+            if self.args.dav_port == sport or (
+                "sec-fetch-site" not in self.headers
+                and self.cookies.get("js") != "y"
+                and sport not in self.args.p_nodav
+                and (
+                    not self.args.ua_nodav.search(self.ua)
+                    or (self.args.dav_ua1 and self.args.dav_ua1.search(self.ua))
+                )
+            ):
+                rc = 401
+                self.out_headers["WWW-Authenticate"] = 'Basic realm="a"'
 
         t = t.format(self.args.SR)
         qv = quotep(self.vpaths) + self.ourlq()
@@ -5340,13 +5646,20 @@ class HttpCli(object):
         return self.redirect("", "?h", x.get(), "return to", False)
 
     def tx_stack(self) -> bool:
-        if not self.avol and not [x for x in self.wvol if x in self.rvol]:
+        zs = self.args.stack_who
+        if zs == "all" or (
+            (zs == "a" and self.avol)
+            or (zs == "rw" and [x for x in self.wvol if x in self.rvol])
+        ):
+            pass
+        else:
             raise Pebkac(403, "'stack' not allowed for user " + self.uname)
 
-        if self.args.no_stack:
-            raise Pebkac(403, "the stackdump feature is disabled in server config")
-
-        ret = "
{}\n{}".format(time.time(), html_escape(alltrace()))
+        ret = html_escape(alltrace(self.args.stack_v))
+        if self.args.stack_v:
+            ret = "
%s\n%s" % (time.time(), ret)
+        else:
+            ret = "
%s" % (ret,)
         self.reply(ret.encode("utf-8"))
         return True
 
@@ -5399,7 +5712,7 @@ class HttpCli(object):
                 rem,
                 self.uname,
                 not self.args.no_scandir,
-                [[True, False], [False, True]],
+                PERMS_rwh,
             )
             dots = self.uname in vn.axs.udot
             dk_sz = vn.flags.get("dk")
@@ -5431,7 +5744,13 @@ class HttpCli(object):
         for x in vfs_virt:
             if x != excl:
                 try:
-                    dvn, drem = vfs.get(vjoin(top, x), self.uname, True, False)
+                    dvn, drem = vfs.get(vjoin(top, x), self.uname, False, False)
+                    if (
+                        self.uname not in dvn.axs.uread
+                        and self.uname not in dvn.axs.uwrite
+                        and self.uname not in dvn.axs.uhtml
+                    ):
+                        raise Exception()
                     bos.stat(dvn.canonical(drem, False))
                 except:
                     x += "\n"
@@ -5512,17 +5831,18 @@ class HttpCli(object):
             and (self.uname in vol.axs.uread or self.uname in vol.axs.upget)
         }
 
-        bad_xff = hasattr(self, "bad_xff")
-        if bad_xff:
+        if hasattr(self, "bad_xff"):
             allvols = []
             t = "will not return list of recent uploads" + BADXFF
             self.log(t, 1)
             if self.avol:
                 raise Pebkac(500, t)
 
-        x = self.conn.hsrv.broker.ask(
-            "up2k.get_unfinished_by_user", self.uname, "" if bad_xff else self.ip
-        )
+            x = self.conn.hsrv.broker.ask("up2k.get_unfinished_by_user", self.uname, "")
+        else:
+            x = self.conn.hsrv.broker.ask(
+                "up2k.get_unfinished_by_user", self.uname, self.ip
+            )
         zdsa: dict[str, Any] = x.get()
         uret: list[dict[str, Any]] = []
         if "timeout" in zdsa:
@@ -5632,7 +5952,7 @@ class HttpCli(object):
         if shr_dbv:
             # translate vpaths from share-target to share-url
             # to satisfy access checks
-            assert shr_vrem.split  # type: ignore  # !rm
+            assert shr_vrem is not None and shr_vrem.split  # type: ignore  # !rm
             vp_shr, vp_vfs = vroots(self.vpath, vjoin(shr_dbv.vpath, shr_vrem))
             for v in ret:
                 vp = v["vp"]
@@ -5837,6 +6157,15 @@ class HttpCli(object):
         if self.uname != self.args.shr_adm:
             rows = [x for x in rows if x[5] == self.uname]
 
+        q = "select vp from sf where k=? limit 99"
+        for r in rows:
+            if not r[4]:
+                r[4] = "---"
+            else:
+                zstl = cur.execute(q, (r[0],)).fetchall()
+                zsl = [html_escape(zst[0]) for zst in zstl]
+                r[4] = "
".join(zsl) + html = self.j2s( "shares", this=self, shr=self.args.shr, rows=rows, now=int(time.time()) ) @@ -5921,7 +6250,7 @@ class HttpCli(object): vp2, fn = zs.rsplit("/", 1) fns.append(fn) if vp != vp2: - t = "mismatching base paths in selection:\n [%s]\n [%s]" + t = "mismatching base paths in selection:\n %r\n %r" raise Pebkac(400, t % (vp, vp2)) vp = vp.strip("/") @@ -5930,7 +6259,7 @@ class HttpCli(object): m = re.search(r"([^0-9a-zA-Z_-])", skey) if m: - raise Pebkac(400, "sharekey has illegal character [%s]" % (m[1],)) + raise Pebkac(400, "sharekey has illegal character %r" % (m[1],)) if vp.startswith(self.args.shr1): raise Pebkac(400, "yo dawg...") @@ -5943,7 +6272,7 @@ class HttpCli(object): qr = cur.execute(q, (skey,)).fetchall() if qr and qr[0]: self.log("sharekey taken by %r" % (qr,)) - raise Pebkac(400, "sharekey [%s] is already in use" % (skey,)) + raise Pebkac(400, "sharekey %r is already in use" % (skey,)) # ensure user has requested perms s_rd = "read" in req["perms"] @@ -5955,13 +6284,21 @@ class HttpCli(object): except: raise Pebkac(400, "you dont have all the perms you tried to grant") + zs = vfs.flags["shr_who"] + if zs == "auth" and self.uname != "*": + pass + elif zs == "a" and self.uname in vfs.axs.uadmin: + pass + else: + raise Pebkac(400, "you dont have perms to create shares from this volume") + ap, reals, _ = vfs.ls( rem, self.uname, not self.args.no_scandir, [[s_rd, s_wr, s_mv, s_del]] ) rfns = set([x[0] for x in reals]) for fn in fns: if fn not in rfns: - raise Pebkac(400, "selected file not found on disk: [%s]" % (fn,)) + raise Pebkac(400, "selected file not found on disk: %r" % (fn,)) pw = req.get("pw") or "" pw = self.asrv.ah.hash(pw) @@ -5984,6 +6321,7 @@ class HttpCli(object): fn = quotep(fns[0]) if len(fns) == 1 else "" + # NOTE: several clients (frontend, party-up) expect url at response[15:] surl = "created share: %s://%s%s%s%s/%s" % ( "https" if self.is_https else "http", self.host, @@ -6009,6 +6347,9 @@ class HttpCli(object): self.log("unpost was denied" + BADXFF, 1) raise Pebkac(403, "the delete feature is disabled in server config") + if not unpost and self.vn.shr_src: + raise Pebkac(403, "files in shares can only be deleted with unpost") + if not req: req = [self.vpath] elif self.is_vproxied: @@ -6097,6 +6438,48 @@ class HttpCli(object): self.loud_reply("aborting", status=200) return True + def tx_ls_vols(self) -> bool: + e_d = {} + eses = ["", ""] + rvol = self.rvol + wvol = self.wvol + allvols = self.asrv.vfs.all_nodes + if self.args.have_unlistc: + rvol = [x for x in rvol if "unlistcr" not in allvols[x].flags] + wvol = [x for x in wvol if "unlistcw" not in allvols[x].flags] + vols = list(set(rvol + wvol)) + if self.vpath: + zs = "%s/" % (self.vpath,) + vols = [x[len(zs) :] for x in vols if x.startswith(zs)] + vols = [x.split("/", 1)[0] for x in vols if x] + if not vols and self.vpath: + return self.tx_404(True) + dirs = [ + { + "lead": "", + "href": "%s/" % (x,), + "ext": "---", + "sz": 0, + "ts": 0, + "tags": e_d, + "dt": 0, + "name": 0, + "perms": allvols[x].get_perms("", self.uname), + } + for x in sorted(vols) + ] + ls = { + "dirs": dirs, + "files": [], + "acct": self.uname, + "perms": [], + "taglist": [], + "logues": eses, + "readmes": eses, + "srvinf": "" if self.args.nih else self.args.name, + } + return self.tx_ls(ls) + def tx_ls(self, ls: dict[str, Any]) -> bool: dirs = ls["dirs"] files = ls["files"] @@ -6215,17 +6598,15 @@ class HttpCli(object): add_og = "og" in vn.flags if add_og: - if "th" in self.uparam or "raw" in self.uparam: - og_ua = add_og = False - elif self.args.og_ua: - og_ua = add_og = self.args.og_ua.search(self.ua) - else: - og_ua = False - add_og = True + if "th" in self.uparam or "raw" in self.uparam or "opds" in self.uparam: + add_og = False + elif vn.flags["og_ua"]: + add_og = vn.flags["og_ua"].search(self.ua) og_fn = "" if "v" in self.uparam: - add_og = og_ua = True + add_og = True + og_fn = "" if "b" in self.uparam: self.out_headers["X-Robots-Tag"] = "noindex, nofollow" @@ -6310,8 +6691,7 @@ class HttpCli(object): return self.tx_svg("upload\nonly") if not self.can_read and self.can_get and self.avn: - axs = self.avn.axs - if self.uname not in axs.uhtml: + if not self.can_html: pass elif is_dir: for fn in ("index.htm", "index.html"): @@ -6332,6 +6712,7 @@ class HttpCli(object): fk_pass = True is_dir = False + add_og = False rem = vjoin(rem, fn) vrem = vjoin(vrem, fn) abspath = ap2 @@ -6346,7 +6727,7 @@ class HttpCli(object): is_md = abspath.lower().endswith(".md") if add_og and not is_md: - if og_ua or self.host not in self.headers.get("referer", ""): + if self.host not in self.headers.get("referer", ""): self.vpath, og_fn = vsplit(self.vpath) vpath = self.vpath vn, rem = self.asrv.vfs.get(self.vpath, self.uname, False, False) @@ -6367,14 +6748,23 @@ class HttpCli(object): ): return self.tx_md(vn, abspath) + if "zls" in self.uparam: + return self.tx_zls(abspath) + if "zget" in self.uparam: + return self.tx_zget(abspath) + if not add_og or not og_fn: - return self.tx_file( - abspath, None if st.st_size or "nopipe" in vn.flags else vn.realpath - ) + if st.st_size or "nopipe" in vn.flags: + return self.tx_file(abspath, None) + else: + return self.tx_file(abspath, vn.get_dbv("")[0].realpath) elif is_dir and not self.can_read: if use_dirkey: is_dk = True + elif self.can_get and "doc" in self.uparam: + zs = vjoin(self.vpath, self.uparam["doc"]) + "?v" + return self.redirect(zs, flavor="redirecting to", use302=True) elif not self.can_write: return self.tx_404(True) @@ -6382,7 +6772,7 @@ class HttpCli(object): try: if not self.args.nih: - srv_info.append(self.args.name) + srv_info.append(self.args.name_html) except: self.log("#wow #whoa") @@ -6396,6 +6786,21 @@ class HttpCli(object): ): free, total, zs = get_df(abspath, False) if total: + if "vmaxb" in vn.flags: + assert vn.lim # type: ignore # !rm + total = vn.lim.vbmax + if free == vn.lim.c_vb_r: + free = min(free, max(0, vn.lim.vbmax - vn.lim.c_vb_v)) + else: + try: + zi, _ = self.conn.hsrv.broker.ask( + "up2k.get_volsizes", [vn.realpath] + ).get()[0] + vn.lim.c_vb_v = zi + vn.lim.c_vb_r = free + free = min(free, max(0, vn.lim.vbmax - zi)) + except: + pass h1 = humansize(free or 0) h2 = humansize(total) srv_info.append("{} free of {}".format(h1, h2)) @@ -6422,6 +6827,7 @@ class HttpCli(object): url_suf = self.urlq({}, ["k"]) is_ls = "ls" in self.uparam + is_opds = "opds" in self.uparam is_js = self.args.force_js or self.cookies.get("js") == "y" if not is_ls and not add_og and self.ua.startswith(("curl/", "fetch")): @@ -6432,6 +6838,13 @@ class HttpCli(object): if "b" in self.uparam: tpl = "browser2" is_js = False + elif is_opds: + # Display directory listing as OPDS v1.2 catalog feed + if not (self.args.opds or "opds" in self.vn.flags): + raise Pebkac(405, "OPDS is disabled in server config") + if not self.can_read: + raise Pebkac(401, "OPDS requires read permission") + is_js = is_ls = False vf = vn.flags ls_ret = { @@ -6448,6 +6861,7 @@ class HttpCli(object): "acct": self.uname, "perms": perms, } + # also see `js_htm` in authsrv.py j2a = { "cgv1": vn.js_htm, "cgv": cgv, @@ -6507,7 +6921,7 @@ class HttpCli(object): rem, self.uname, not self.args.no_scandir, - [[True, False], [False, True]], + PERMS_rwh, lstat="lt" in self.uparam, throw=True, ) @@ -6561,10 +6975,17 @@ class HttpCli(object): dirs = [] files = [] ptn_hr = RE_HR + use_abs_url = ( + not is_opds + and not is_ls + and not is_js + and not self.trailing_slash + and vpath + ) for fn in ls_names: base = "" href = fn - if not is_ls and not is_js and not self.trailing_slash and vpath: + if use_abs_url: base = "/" + vpath + "/" href = base + fn @@ -6664,6 +7085,7 @@ class HttpCli(object): self.cookies.get("idxh") == "y" and "ls" not in self.uparam and "v" not in self.uparam + and not is_opds ): idx_html = set(["index.htm", "index.html"]) for item in files: @@ -6674,62 +7096,53 @@ class HttpCli(object): ap = vn.canonical(rem) return self.tx_file(ap) # is no-cache - mte = vn.flags.get("mte", {}) - add_up_at = ".up_at" in mte - is_admin = self.can_admin - tagset: set[str] = set() - rd = vrem - for fe in files if icur else []: - assert icur # !rm - fn = fe["name"] - erd_efn = (rd, fn) - q = "select mt.k, mt.v from up inner join mt on mt.w = substr(up.w,1,16) where up.rd = ? and up.fn = ? and +mt.k != 'x'" - try: - r = icur.execute(q, erd_efn) - except Exception as ex: - if "database is locked" in str(ex): - break - - try: - erd_efn = s3enc(idx.mem_cur, rd, fn) - r = icur.execute(q, erd_efn) - except: - self.log("tag read error, %r / %r\n%s" % (rd, fn, min_ex())) - break - - tags = {k: v for k, v in r} - - if is_admin: - q = "select ip, at, un from up where rd=? and fn=?" - try: - zs1, zs2, zs3 = icur.execute(q, erd_efn).fetchone() - if zs1: - tags["up_ip"] = zs1 - if zs2: - tags[".up_at"] = zs2 - if zs3: - tags["up_by"] = zs3 - except: - pass - elif add_up_at: - q = "select at from up where rd=? and fn=?" - try: - (zs1,) = icur.execute(q, erd_efn).fetchone() - if zs1: - tags[".up_at"] = zs1 - except: - pass - - _ = [tagset.add(k) for k in tags] - fe["tags"] = tags - if icur: + mte = vn.flags.get("mte") or {} + tagset: set[str] = set() + rd = vrem + if self.can_admin: + up_q = "select substr(w,1,16), ip, at, un from up where rd=? and fn=?" + up_m = ["w", "up_ip", ".up_at", "up_by"] + else: + up_q, up_m = vn.flags["ls_q_m"] + + mt_q = "select mt.k, mt.v from up inner join mt on mt.w = substr(up.w,1,16) where up.rd = ? and up.fn = ? and +mt.k != 'x'" + for fe in files: + fn = fe["name"] + erd_efn = (rd, fn) + try: + r = icur.execute(mt_q, erd_efn) + except Exception as ex: + if "database is locked" in str(ex): + break + + try: + erd_efn = s3enc(idx.mem_cur, rd, fn) + r = icur.execute(mt_q, erd_efn) + except: + self.log("tag read error, %r / %r\n%s" % (rd, fn, min_ex())) + break + + tags = {k: v for k, v in r} + + if up_q: + try: + up_v = icur.execute(up_q, erd_efn).fetchone() + for zs1, zs2 in zip(up_m, up_v): + if zs2: + tags[zs1] = zs2 + except: + pass + + _ = [tagset.add(k) for k in tags] + fe["tags"] = tags + for fe in dirs: fe["tags"] = ODict() lmte = list(mte) if self.can_admin: - lmte.extend(("up_by", "up_ip", ".up_at")) + lmte.extend(("w", "up_by", "up_ip", ".up_at")) if "nodirsz" not in vf: tagset.add(".files") @@ -6744,7 +7157,7 @@ class HttpCli(object): taglist = [k for k in lmte if k in tagset] else: - taglist = list(tagset) + taglist = [] logues, readmes = self._add_logues(vn, abspath, lnames) ls_ret["logues"] = j2a["logues"] = logues @@ -6764,6 +7177,7 @@ class HttpCli(object): os.path.join(abspath, lnames["descript.ion"]) ): rem = [] + items = {x["name"].lower(): x for x in files + dirs} with open(os.path.join(abspath, lnames["descript.ion"]), "rb") as f: for bln in [x.strip() for x in f]: try: @@ -6776,12 +7190,9 @@ class HttpCli(object): fn = fn[1:] else: fn, desc = ln.split(" ", 1) - fe = next( - (x for x in files if x["name"].lower() == fn.lower()), None - ) - if fe: - fe["tags"]["descript.ion"] = desc - else: + try: + items[fn.lower()]["tags"]["descript.ion"] = desc + except: t = "
  • %s %s
  • " rem.append(t % (html_escape(fn), html_escape(desc))) except: @@ -6832,6 +7243,48 @@ class HttpCli(object): dirs.sort(key=itemgetter("name")) + if is_opds: + # exclude files which don't match --opds-exts + allowed_exts = vf.get("opds_exts") or self.args.opds_exts + if allowed_exts: + files = [ + x for x in files if x["name"].rsplit(".", 1)[-1] in allowed_exts + ] + for item in dirs: + href = item["href"] + href += ("&" if "?" in href else "?") + "opds" + item["href"] = href + item["iso8601"] = "%sZ" % (item["dt"].replace(" ", "T"),) + + for item in files: + href = item["href"] + href += ("&" if "?" in href else "?") + "dl" + item["href"] = href + item["iso8601"] = "%sZ" % (item["dt"].replace(" ", "T"),) + + if "rmagic" in self.vn.flags: + ap = "%s/%s" % (fsroot, item["name"]) + item["mime"] = guess_mime(item["name"], ap) + else: + item["mime"] = guess_mime(item["name"]) + + # Make sure we can actually generate JPEG thumbnails + if ( + not self.args.th_no_jpg + and self.thumbcli + and "dthumb" not in dbv.flags + and "dithumb" not in dbv.flags + ): + item["jpeg_thumb_href"] = href + "&th=jf" + item["jpeg_thumb_href_hires"] = item["jpeg_thumb_href"] + "3" + + j2a["files"] = files + j2a["dirs"] = dirs + html = self.j2s("opds", **j2a) + mime = "application/atom+xml;profile=opds-catalog" + self.reply(html.encode("utf-8", "replace"), mime=mime) + return True + if is_js: j2a["ls0"] = cgv["ls0"] = { "dirs": dirs, @@ -6931,7 +7384,16 @@ class HttpCli(object): if zs not in ("", "-"): ogh["og:site_name"] = zs + try: + assert file is not None # type: ignore # !rm + zs1, zs2 = file["tags"]["res"].split("x") + file["tags"][".resw"] = zs1 + file["tags"][".resh"] = zs2 + except: + pass + tagmap = {} + if is_au: title = str(vn.flags.get("og_title_a") or "") ogh["og:type"] = "music.song" @@ -6945,16 +7407,25 @@ class HttpCli(object): title = str(vn.flags.get("og_title_v") or "") ogh["og:type"] = "video.other" ogh["og:video"] = j2a["og_raw"] + tagmap = { "title": "og:title", ".dur": "og:video:duration", + ".resw": "og:video:width", + ".resh": "og:video:height", } elif is_pic: title = str(vn.flags.get("og_title_i") or "") ogh["twitter:card"] = "summary_large_image" ogh["twitter:image"] = ogh["og:image"] = j2a["og_raw"] + tagmap = { + ".resw": "og:image:width", + ".resh": "og:image:height", + } + try: + assert file is not None # type: ignore # !rm for k, v in file["tags"].items(): zs = "{{ %s }}" % (k,) title = title.replace(zs, str(v)) @@ -6971,6 +7442,7 @@ class HttpCli(object): for tag, hname in tagmap.items(): try: + assert file is not None # type: ignore # !rm v = file["tags"][tag] if not v: continue diff --git a/copyparty/httpconn.py b/copyparty/httpconn.py index 11e00d1c..e36e5122 100644 --- a/copyparty/httpconn.py +++ b/copyparty/httpconn.py @@ -62,6 +62,7 @@ class HttpConn(object): self.ipu_iu: Optional[dict[str, str]] = hsrv.ipu_iu self.ipu_nm: Optional[NetMap] = hsrv.ipu_nm self.ipa_nm: Optional[NetMap] = hsrv.ipa_nm + self.ipar_nm: Optional[NetMap] = hsrv.ipar_nm self.xff_nm: Optional[NetMap] = hsrv.xff_nm self.xff_lan: NetMap = hsrv.xff_lan # type: ignore self.iphash: HMaccas = hsrv.broker.iphash diff --git a/copyparty/httpsrv.py b/copyparty/httpsrv.py index 8e4e4a4e..f6cdef40 100644 --- a/copyparty/httpsrv.py +++ b/copyparty/httpsrv.py @@ -187,6 +187,7 @@ class HttpSrv(object): "svcs", ] self.j2 = {x: env.get_template(x + ".html") for x in jn} + self.j2["opds"] = env.get_template("opds.xml") self.prism = has_resource(self.E, "web/deps/prism.js.gz") if self.args.ipu: @@ -200,6 +201,7 @@ class HttpSrv(object): self.ipr = None self.ipa_nm = build_netmap(self.args.ipa) + self.ipar_nm = build_netmap(self.args.ipar) self.xff_nm = build_netmap(self.args.xff_src) self.xff_lan = build_netmap("lan") @@ -382,8 +384,8 @@ class HttpSrv(object): if nloris < nconn / 2: continue - t = "slowloris (idle-conn): {} banned for {} min" - self.log(self.name, t.format(ip, self.args.loris, nclose), 1) + t = "slow%s (idle-conn): %s banned for %d min" # slowloris + self.log(self.name, t % ("loris", ip, self.args.loris), 1) self.bans[ip] = int(time.time() + self.args.loris * 60) if self.args.log_conn: diff --git a/copyparty/mdns.py b/copyparty/mdns.py index d80e5142..f64ce605 100644 --- a/copyparty/mdns.py +++ b/copyparty/mdns.py @@ -2,6 +2,7 @@ from __future__ import print_function, unicode_literals import errno +import os import random import select import socket @@ -12,29 +13,64 @@ from ipaddress import IPv4Network, IPv6Network from .__init__ import TYPE_CHECKING from .__init__ import unicode as U from .multicast import MC_Sck, MCast -from .stolen.dnslib import AAAA -from .stolen.dnslib import CLASS as DC -from .stolen.dnslib import ( - NSEC, - PTR, - QTYPE, - RR, - SRV, - TXT, - A, - DNSHeader, - DNSQuestion, - DNSRecord, - set_avahi_379, -) from .util import IP6_LL, CachedSet, Daemon, Netdev, list_ips, min_ex +try: + if os.getenv("PRTY_SYS_ALL") or os.getenv("PRTY_SYS_DNSLIB"): + raise ImportError() + from .stolen.dnslib import ( + AAAA, + ) + from .stolen.dnslib import CLASS as DC + from .stolen.dnslib import ( + NSEC, + PTR, + QTYPE, + RR, + SRV, + TXT, + A, + DNSHeader, + DNSQuestion, + DNSRecord, + set_avahi_379, + ) + + DNS_VND = True +except ImportError: + DNS_VND = False + from dnslib import ( + AAAA, + ) + from dnslib import CLASS as DC + from dnslib import ( + NSEC, + PTR, + QTYPE, + RR, + SRV, + TXT, + A, + Bimap, + DNSHeader, + DNSQuestion, + DNSRecord, + ) + + DC.forward[0x8001] = "F_IN" + DC.reverse["F_IN"] = 0x8001 + if TYPE_CHECKING: from .svchub import SvcHub if True: # pylint: disable=using-constant-test from typing import Any, Optional, Union +if os.getenv("PRTY_MODSPEC"): + from inspect import getsourcefile + + print("PRTY_MODSPEC: dnslib:", getsourcefile(A)) + MDNS4 = "224.0.0.251" MDNS6 = "ff02::fb" @@ -73,8 +109,8 @@ class MDNS(MCast): self.ngen = ngen self.ttl = 300 - if not self.args.zm_nwa_1: - set_avahi_379() + if not self.args.zm_nwa_1 and DNS_VND: + set_avahi_379() # type: ignore zs = self.args.zm_fqdn or (self.args.name + ".local") zs = zs.replace("--name", self.args.name).rstrip(".") + "." @@ -100,9 +136,14 @@ class MDNS(MCast): self.log_func(self.logsrc, msg, c) def build_svcs(self) -> tuple[dict[str, dict[str, Any]], set[str]]: + ar = self.args zms = self.args.zms - http = {"port": 80 if 80 in self.args.p else self.args.p[0]} - https = {"port": 443 if 443 in self.args.p else self.args.p[0]} + + zi = ar.zm_http + http = {"port": zi if zi != -1 else 80 if 80 in ar.p else ar.p[0]} + zi = ar.zm_https + https = {"port": zi if zi != -1 else 443 if 443 in ar.p else ar.p[0]} + webdav = http.copy() webdavs = https.copy() webdav["u"] = webdavs["u"] = "u" # KDE requires username @@ -127,16 +168,16 @@ class MDNS(MCast): svcs: dict[str, dict[str, Any]] = {} - if "d" in zms: + if "d" in zms and http["port"]: svcs["_webdav._tcp.local."] = webdav - if "D" in zms: + if "D" in zms and https["port"]: svcs["_webdavs._tcp.local."] = webdavs - if "h" in zms: + if "h" in zms and http["port"]: svcs["_http._tcp.local."] = http - if "H" in zms: + if "H" in zms and https["port"]: svcs["_https._tcp.local."] = https if "f" in zms.lower(): diff --git a/copyparty/metrics.py b/copyparty/metrics.py index 0ad65abe..cd2e4a00 100644 --- a/copyparty/metrics.py +++ b/copyparty/metrics.py @@ -17,10 +17,10 @@ class Metrics(object): self.hsrv = hsrv def tx(self, cli: "HttpCli") -> bool: - if not cli.avol: + args = cli.args + if not cli.avol and cli.uname.lower() not in args.stats_u_set: raise Pebkac(403, "'stats' not allowed for user " + cli.uname) - args = cli.args if not args.stats: raise Pebkac(403, "the stats feature is not enabled in server config") diff --git a/copyparty/mtag.py b/copyparty/mtag.py index 29750733..41c28a09 100644 --- a/copyparty/mtag.py +++ b/copyparty/mtag.py @@ -168,16 +168,17 @@ def au_unpk( znil = [x for x in znil if "cover" in x[0]] or znil znil = [x for x in znil if CBZ_01.search(x[0])] or znil t = "cbz: %d files, %d hits" % (nf, len(znil)) + if not znil: + raise Exception("no images inside cbz") using = sorted(znil)[0][1].filename if znil: t += ", using " + using log(t) - if not znil: - raise Exception("no images inside cbz") fi = zf.open(using) elif pk == "epub": fi = get_cover_from_epub(log, abspath) + assert fi # !rm else: raise Exception("unknown compression %s" % (pk,)) @@ -199,9 +200,10 @@ def au_unpk( except Exception as ex: if ret: - t = "failed to decompress audio file %r: %r" + t = "failed to decompress file %r: %r" log(t % (abspath, ex)) wunlink(log, ret, vn.flags if vn else VF_CAREFUL) + return "" return abspath @@ -383,7 +385,7 @@ def get_cover_from_epub(log: "NamedLogger", abspath: str) -> Optional[IO[bytes]] from .dxml import parse_xml try: - from urlparse import urljoin # Python2 + from urlparse import urljoin # type: ignore # Python2 except ImportError: from urllib.parse import urljoin # Python3 @@ -421,10 +423,17 @@ def get_cover_from_epub(log: "NamedLogger", abspath: str) -> Optional[IO[bytes]] # This might be an EPUB2 file, try the legacy way of specifying covers coverimage_path = _get_cover_from_epub2(log, package_root, package_ns) + if not coverimage_path: + raise Exception("no cover inside epub") + # This url is either absolute (in the .epub) or relative to the package document adjusted_cover_path = urljoin(rootfile_path, coverimage_path) - return z.open(adjusted_cover_path) + try: + return z.open(adjusted_cover_path) + except KeyError: + t = "epub: cover specified in package document, but doesn't exist: %s" + log(t % (adjusted_cover_path,)) def _get_cover_from_epub2( @@ -432,9 +441,8 @@ def _get_cover_from_epub2( ) -> Optional[str]: # in , then # in - cover_id = package_root.find("./metadata/meta[@name='cover']", package_ns).get( - "content" - ) + xn = package_root.find("./metadata/meta[@name='cover']", package_ns) + cover_id = xn.get("content") if xn is not None else None if not cover_id: return None @@ -510,13 +518,12 @@ class MTag(object): "album-artist", "tpe2", "aart", - "conductor", "organization", "band", ], ".tn": ["tracknumber", "trck", "trkn", "track"], "genre": ["genre", "tcon", "\u00a9gen"], - "date": [ + "tdate": [ "original-release-date", "release-date", "date", @@ -644,6 +651,9 @@ class MTag(object): return self._get(abspath) ap = au_unpk(self.log, self.args.au_unpk, abspath) + if not ap: + return {} + ret = self._get(ap) if ap != abspath: wunlink(self.log, ap, VF_CAREFUL) @@ -749,6 +759,9 @@ class MTag(object): ap = abspath ret: dict[str, Any] = {} + if not ap: + return ret + for tagname, parser in sorted(parsers.items(), key=lambda x: (x[1].pri, x[0])): try: cmd = [parser.bin, ap] diff --git a/copyparty/multicast.py b/copyparty/multicast.py index ea2f223e..7459696e 100644 --- a/copyparty/multicast.py +++ b/copyparty/multicast.py @@ -96,7 +96,10 @@ class MCast(object): def create_servers(self) -> list[str]: bound: list[str] = [] netdevs = self.hub.tcpsrv.netdevs - ips = [x[0] for x in self.hub.tcpsrv.bound] + blist = self.hub.tcpsrv.bound + if self.args.http_no_tcp: + blist = self.hub.tcpsrv.seen_eps + ips = [x[0] for x in blist] if "::" in ips: ips = [x for x in ips if x != "::"] + list( diff --git a/copyparty/qrkode.py b/copyparty/qrkode.py new file mode 100644 index 00000000..34ebbcca --- /dev/null +++ b/copyparty/qrkode.py @@ -0,0 +1,112 @@ +# coding: utf-8 +from __future__ import print_function, unicode_literals + +import os + +try: + if os.getenv("PRTY_SYS_ALL") or os.getenv("PRTY_SYS_QRCG"): + raise ImportError() + from .stolen.qrcodegen import QrCode + + qrgen = QrCode.encode_binary + VENDORED = True +except ImportError: + VENDORED = False + from qrcodegen import QrCode + +if os.getenv("PRTY_MODSPEC"): + from inspect import getsourcefile + + print("PRTY_MODSPEC: qrcode:", getsourcefile(QrCode)) + +if True: # pylint: disable=using-constant-test + import typing + from typing import Any, Optional, Sequence, Union + + +if not VENDORED: + + def _qrgen(data: Union[bytes, Sequence[int]]) -> "QrCode": + ret = None + V = QrCode.Ecc + for e in [V.HIGH, V.QUARTILE, V.MEDIUM, V.LOW]: + qr = QrCode.encode_binary(data, e) + qr.size = qr._size + qr.modules = qr._modules + if not ret or ret.size > qr.size: + ret = qr + return ret + + qrgen = _qrgen + + +def qr2txt(qr: QrCode, zoom: int = 1, pad: int = 4) -> str: + tab = qr.modules + sz = qr.size + if sz % 2 and zoom == 1: + tab.append([False] * sz) + + tab = [[False] * sz] * pad + tab + [[False] * sz] * pad + tab = [[False] * pad + x + [False] * pad for x in tab] + + rows: list[str] = [] + if zoom == 1: + for y in range(0, len(tab), 2): + row = "" + for x in range(len(tab[y])): + v = 2 if tab[y][x] else 0 + v += 1 if tab[y + 1][x] else 0 + row += " โ–„โ–€โ–ˆ"[v] + rows.append(row) + else: + for tr in tab: + row = "" + for zb in tr: + row += " โ–ˆ"[int(zb)] * 2 + rows.append(row) + + return "\n".join(rows) + + +def qr2png( + qr: QrCode, + zoom: int, + pad: int, + bg: Optional[tuple[int, int, int]], + fg: Optional[tuple[int, int, int]], + ap: str, +) -> None: + from PIL import Image + + tab = qr.modules + sz = qr.size + psz = sz + pad * 2 + if bg: + img = Image.new("RGB", (psz, psz), bg) + else: + img = Image.new("RGBA", (psz, psz), (0, 0, 0, 0)) + fg = (fg[0], fg[1], fg[2], 255) + for y in range(sz): + for x in range(sz): + if tab[y][x]: + img.putpixel((x + pad, y + pad), fg) + if zoom != 1: + img = img.resize((sz * zoom, sz * zoom), Image.Resampling.NEAREST) + img.save(ap) + + +def qr2svg(qr: QrCode, border: int) -> str: + parts: list[str] = [] + for y in range(qr.size): + sy = border + y + for x in range(qr.size): + if qr.modules[y][x]: + parts.append("M%d,%dh1v1h-1z" % (border + x, sy)) + t = """\ + + + + + +""" + return t.format(qr.size + border * 2, " ".join(parts)) diff --git a/copyparty/sftpd.py b/copyparty/sftpd.py new file mode 100644 index 00000000..2221caf1 --- /dev/null +++ b/copyparty/sftpd.py @@ -0,0 +1,804 @@ +# coding: utf-8 +from __future__ import print_function, unicode_literals + +import errno +import hashlib +import logging +import os +import select +import socket +import time +from threading import ExceptHookArgs + +import paramiko +import paramiko.common +import paramiko.sftp_attr +from paramiko.common import AUTH_FAILED, AUTH_SUCCESSFUL +from paramiko.sftp import ( + SFTP_FAILURE, + SFTP_NO_SUCH_FILE, + SFTP_OK, + SFTP_OP_UNSUPPORTED, + SFTP_PERMISSION_DENIED, +) + +from .__init__ import ANYWIN, TYPE_CHECKING +from .authsrv import LEELOO_DALLAS, VFS, AuthSrv +from .bos import bos +from .util import ( + FN_EMB, + VF_CAREFUL, + Daemon, + ODict, + Pebkac, + ipnorm, + min_ex, + read_utf8, + relchk, + runhook, + sanitize_fn, + ub64enc, + undot, + vjoin, + wunlink, +) + +if TYPE_CHECKING: + from .svchub import SvcHub + +if True: # pylint: disable=using-constant-test + from typing import Any, BinaryIO, Optional, Union + +SATTR = paramiko.sftp_attr.SFTPAttributes + + +class SSH_Srv(paramiko.ServerInterface): + def __init__(self, hub: "SvcHub", addr: Any): + self.hub = hub + self.args = args = hub.args + self.log_func = hub.log + self.uname = "*" + + self.addr = addr + self.ip = addr[0] + if self.ip.startswith("::ffff:"): + self.ip = self.ip[7:] + + zsl = [] + if args.sftp_anon: + zsl.append("none") + if args.sftp_key2u: + zsl.append("publickey") + if args.sftp_pw or args.sftp_anon: + zsl.append("password") + self._auths = ",".join(zsl) + + def log(self, msg: str, c: Union[int, str] = 0) -> None: + self.hub.log("sftp:%s" % (self.ip,), msg, c) + + def get_allowed_auths(self, username: str) -> str: + return self._auths + + def get_banner(self) -> tuple[Optional[str], Optional[str]]: + if self.args.sftpv: + self.log("get_banner") + t = self.args.sftp_banner + if not t: + return (None, None) + if t.startswith("@"): + t = read_utf8(self.log, t[1:], False) + if t and not t.endswith("\n"): + t += "\n" + return (t, "en-US") + + def check_channel_request(self, kind: str, chanid: int) -> int: + if self.args.sftpv: + self.log("channel-request: %r, %r" % (kind, chanid)) + if kind == "session": + return paramiko.common.OPEN_SUCCEEDED + return paramiko.common.OPEN_FAILED_ADMINISTRATIVELY_PROHIBITED + + def check_auth_none(self, username: str) -> int: + try: + return self._check_auth_none(username) + except: + self.log("unhandled exception: %s" % (min_ex(),), 1) + return AUTH_FAILED + + def _check_auth_none(self, uname: str) -> int: + args = self.args + if uname != args.sftp_anon or not uname: + return AUTH_FAILED + + ipn = ipnorm(self.ip) + bans = self.hub.bans + if ipn in bans: + rt = bans[ipn] - time.time() + if rt < 0: + self.log("client unbanned") + del bans[ipn] + else: + self.log("client is banned") + return AUTH_FAILED + + self.uname = "*" + self.log("auth-none OK: *") + return AUTH_SUCCESSFUL + + def check_auth_password(self, username: str, password: str) -> int: + try: + return self._check_auth_password(username, password) + except: + self.log("unhandled exception: %s" % (min_ex(),), 1) + return AUTH_FAILED + + def _check_auth_password(self, uname: str, pw: str) -> int: + args = self.args + if args.sftpv: + logpw = pw + if args.log_badpwd == 0: + logpw = "" + elif args.log_badpwd == 2: + zb = hashlib.sha512(pw.encode("utf-8", "replace")).digest() + logpw = "%" + ub64enc(zb[:12]).decode("ascii") + self.log("auth-pw: %r, %r" % (uname, logpw)) + + ipn = ipnorm(self.ip) + bans = self.hub.bans + if ipn in bans: + rt = bans[ipn] - time.time() + if rt < 0: + self.log("client unbanned") + del bans[ipn] + else: + self.log("client is banned") + return AUTH_FAILED + + anon = args.sftp_anon + if anon and uname == anon: + self.uname = "*" + self.log("auth-pw OK: *") + return AUTH_SUCCESSFUL + + if not args.sftp_pw: + return AUTH_FAILED + + if args.usernames: + alts = ["%s:%s" % (uname, pw)] + else: + alts = [pw, uname] + + attempt = "%s:%s" % (uname, pw) + uname = "" + asrv = self.hub.asrv + for zs in alts: + zs = asrv.iacct.get(asrv.ah.hash(zs), "") + if zs: + uname = zs + break + + if args.ipu and uname == "*": + uname = args.ipu_iu[args.ipu_nm.map(self.ip)] + if args.ipr and uname in args.ipr_u: + if not args.ipr_u[uname].map(self.ip): + logging.warning("username [%s] rejected by --ipr", uname) + return AUTH_FAILED + + if not uname or not (asrv.vfs.aread.get(uname) or asrv.vfs.awrite.get(uname)): + g = self.hub.gpwd + if g.lim: + bonk, ip = g.bonk(self.ip, attempt) + if bonk: + logging.warning("client banned: invalid passwords") + bans[self.ip] = bonk + try: + # only possible if multiprocessing disabled + self.hub.broker.httpsrv.bans[ip] = bonk # type: ignore + self.hub.broker.httpsrv.nban += 1 # type: ignore + except: + pass + return AUTH_FAILED + + self.uname = uname + self.log("auth-pw OK: %s" % (uname,)) + return AUTH_SUCCESSFUL + + def check_auth_publickey(self, username: str, key: paramiko.PKey) -> int: + try: + return self._check_auth_publickey(username, key) + except: + self.log("unhandled exception: %s" % (min_ex(),), 1) + return AUTH_FAILED + + def _check_auth_publickey(self, uname: str, key: paramiko.PKey) -> int: + args = self.args + if args.sftpv: + zs = key.get_name() + "," + key.get_base64()[:32] + self.log("auth-key: %r, %r" % (uname, zs)) + + ipn = ipnorm(self.ip) + bans = self.hub.bans + if ipn in bans: + rt = bans[ipn] - time.time() + if rt < 0: + self.log("client unbanned") + del bans[ipn] + else: + self.log("client is banned") + return AUTH_FAILED + + anon = args.sftp_anon + if anon and uname == anon: + self.uname = "*" + self.log("auth-key OK: *") + return AUTH_SUCCESSFUL + + attempt = "%s %s" % (key.get_name(), key.get_base64()) + ok = args.sftp_key2u.get(attempt) == uname + + if ok and args.ipr and uname in args.ipr_u: + if not args.ipr_u[uname].map(self.ip): + logging.warning("username [%s] rejected by --ipr", uname) + return AUTH_FAILED + + asrv = self.hub.asrv + if not ok or not (asrv.vfs.aread.get(uname) or asrv.vfs.awrite.get(uname)): + self.log("auth-key REJECTED: %s" % (uname,)) + return AUTH_FAILED + + self.uname = uname + self.log("auth-key OK: %s" % (uname,)) + return AUTH_SUCCESSFUL + + +class SFTP_FH(paramiko.SFTPHandle): + def __init__(self, flags: int = 0) -> None: + self.filename = "" + self.readfile: Optional[BinaryIO] = None + self.writefile: Optional[BinaryIO] = None + super(SFTP_FH, self).__init__(flags) + + def stat(self): + try: + f = self.readfile or self.writefile + return SATTR.from_stat(os.fstat(f.fileno())) + except OSError as ex: + return paramiko.SFTPServer.convert_errno(ex.errno) + + def chattr(self, attr): + # python doesn't have equivalents to fchown or fchmod, so we have to + # use the stored filename + if not self.writefile: + return SFTP_PERMISSION_DENIED + try: + paramiko.SFTPServer.set_file_attr(self.filename, attr) + return SFTP_OK + except OSError as ex: + return paramiko.SFTPServer.convert_errno(ex.errno) + + +class SFTP_Srv(paramiko.SFTPServerInterface): + def __init__(self, ssh: paramiko.ServerInterface, *a, **ka): + super(SFTP_Srv, self).__init__(ssh, *a, **ka) + self.ssh = ssh + self.ip: str = ssh.ip # type: ignore + self.hub: "SvcHub" = ssh.hub # type: ignore + self.uname: str = ssh.uname # type: ignore + self.args = self.hub.args + self.asrv: "AuthSrv" = self.hub.asrv + + if self.uname == LEELOO_DALLAS: + raise Exception("send her back") + + def log(self, msg: str, c: Union[int, str] = 0) -> None: + self.hub.log("sftp:%s" % (self.ip,), msg, c) + + def v2a( + self, + vpath: str, + r: bool = False, + w: bool = False, + m: bool = False, + d: bool = False, + ) -> tuple[str, VFS, str]: + vpath = vpath.replace(os.sep, "/").strip("/") + rd, fn = os.path.split(vpath) + if relchk(rd): + self.log("malicious vpath: %s", vpath) + raise Exception("Unsupported characters in [%s]" % (vpath,)) + + fn = sanitize_fn(fn or "") + vpath = vjoin(rd, fn) + vn, rem = self.hub.asrv.vfs.get(vpath, self.uname, r, w, m, d) + if ( + w + and fn.lower() in FN_EMB + and self.uname not in vn.axs.uread + and "wo_up_readme" not in vn.flags + ): + fn = "_wo_" + fn + vpath = vjoin(rd, fn) + vn, rem = self.hub.asrv.vfs.get(vpath, self.uname, r, w, m, d) + + if not vn.realpath: + # return "", vn, rem + raise OSError(errno.ENOENT, "no filesystem mounted at [/%s]" % (vpath,)) + + if "xdev" in vn.flags or "xvol" in vn.flags: + ap = vn.canonical(rem) + avn = vn.chk_ap(ap) + t = "Permission denied in [{}]" + if not avn: + raise OSError(errno.EPERM, "permission denied in [/%s]" % (vpath,)) + + cr, cw, cm, cd, _, _, _, _, _ = avn.uaxs[self.uname] + if r and not cr or w and not cw or m and not cm or d and not cd: + raise OSError(errno.EPERM, "permission denied in [/%s]" % (vpath,)) + + if "bcasechk" in vn.flags and not vn.casechk(rem, True): + raise OSError(errno.ENOENT, "file does not exist case-sensitively") + + return os.path.join(vn.realpath, rem), vn, rem + + def list_folder(self, path: str) -> list[SATTR] | int: + try: + return self._list_folder(path) + except Pebkac as ex: + if ex.code == 404: + self.log("folder 404: %s" % (path,)) + return SFTP_NO_SUCH_FILE + return SFTP_PERMISSION_DENIED + except: + self.log("unhandled exception: %s" % (min_ex(),), 1) + return SFTP_FAILURE + + def _list_folder(self, path: str) -> list[SATTR] | int: + try: + ap, vn, rem = self.v2a(path, r=True) + except Pebkac: + try: + self.v2a(path, w=True) + return [] # display write-only folders as empty + except: + pass + if self.asrv.vfs.realpath or path.strip("/"): + return SFTP_PERMISSION_DENIED + # list of accessible volumes + ret = [] + zi = int(time.time()) + vst = os.stat_result((16877, -1, -1, 1, 1000, 1000, 8, zi, zi, zi)) + for vn in self.asrv.vfs.all_vols.values(): + if "/" in vn.vpath or not vn.vpath: + continue # only include toplevel-mounted vols + try: + self.hub.asrv.vfs.get(vn.vpath, self.uname, True, False) + ret.append(SATTR.from_stat(vst, filename=vn.vpath)) + except: + pass + ret.sort(key=lambda x: x.filename) + return ret + + _, vfs_ls, vfs_virt = vn.ls( + rem, + self.uname, + not self.args.no_scandir, + [[True, False], [False, True]], + throw=True, + ) + ret = [SATTR.from_stat(x[1], filename=x[0]) for x in vfs_ls] + for zs, vn2 in vfs_virt.items(): + if not vn2.realpath: + continue + st = bos.stat(vn2.realpath) + ret.append(SATTR.from_stat(st, filename=zs)) + if self.uname not in vn.axs.udot: + ret = [x for x in ret if not x.filename.split("/")[-1].startswith(".")] + ret.sort(key=lambda x: x.filename) + return ret + + def stat(self, path: str) -> SATTR | int: + try: + return self._stat(path) + except: + self.log("unhandled exception: %s" % (min_ex(),), 1) + return SFTP_FAILURE + + def lstat(self, path: str) -> SATTR | int: + try: + return self._stat(path) + except: + self.log("unhandled exception: %s" % (min_ex(),), 1) + return SFTP_FAILURE + + def _stat(self, vp: str) -> SATTR | int: + try: + ap = self.v2a(vp, r=True)[0] + st = bos.stat(ap) + except: + if vp.strip("/") or self.asrv.vfs.realpath: + try: + self.v2a(vp, w=True)[0] + except: + return SFTP_PERMISSION_DENIED + zi = int(time.time()) + st = os.stat_result((16877, -1, -1, 1, 1000, 1000, 8, zi, zi, zi)) + return SATTR.from_stat(st) + + def open(self, path: str, flags: int, attr: SATTR) -> paramiko.SFTPHandle | int: + try: + return self._open(path, flags, attr) + except: + self.log("unhandled exception: %s" % (min_ex(),), 1) + return SFTP_FAILURE + + def _open(self, vp: str, iflag: int, attr: SATTR) -> paramiko.SFTPHandle | int: + if ANYWIN: + iflag |= os.O_BINARY + if iflag & os.O_WRONLY: + rd = False + wr = True + if iflag & os.O_APPEND: + smode = "ab" + else: + smode = "wb" + elif iflag & os.O_RDWR: + rd = wr = True + if iflag & os.O_APPEND: + smode = "a+b" + else: + smode = "r+b" + else: + rd = True + wr = False + smode = "rb" + + try: + vn, rem = self.asrv.vfs.get(vp, self.uname, rd, wr) + ap = os.path.join(vn.realpath, rem) + vf = vn.flags + except Pebkac as ex: + t = "denied open file [%s], iflag=%s, attr=%s, read=%s, write=%s: %s" + self.log(t % (vp, iflag, attr, rd, wr, ex)) + return SFTP_PERMISSION_DENIED + + if wr: + try: + st = bos.stat(ap) + td = time.time() - st.st_mtime + need_unlink = True + except: + need_unlink = False + td = 0 + + xbu = vn.flags.get("xbu") + if xbu: + hr = runhook( + self.log, + None, + self.hub.up2k, + "xbu.sftp", + xbu, + ap, + vp, + "", + "", + "", + 0, + 0, + "7.3.8.7", + time.time(), + None, + ) + t = hr.get("rejectmsg") or "" + if t or hr.get("rc") != 0: + if not t: + t = "upload blocked by xbu server config: %r" % (vp,) + self.log(t, 3) + return SFTP_PERMISSION_DENIED + + if wr and need_unlink: # type: ignore # !rm + assert td # type: ignore # !rm + if td >= -1 and td <= self.args.ftp_wt: + # within permitted timeframe; allow overwrite or resume + do_it = True + elif self.args.no_del or self.args.ftp_no_ow: + # file too old, or overwrite not allowed; reject + do_it = False + else: + # allow overwrite if user has delete permission + do_it = self.uname in vn.axs.udel + + if not do_it: + t = "file already exists and no permission to overwrite: %s" + self.log(t % (vp,)) + return SFTP_PERMISSION_DENIED + + # Don't unlink file for append mode + elif "a" not in smode: + wunlink(self.log, ap, VF_CAREFUL) + + chmod = getattr(attr, "st_mode", None) + if chmod is None: + chmod = vf.get("chmod_f", 644) + + try: + fd = os.open(ap, iflag, chmod) + except OSError as ex: + t = "failed to os.open [%s] -> [%s] with iflag [%s] and chmod [%s]" + self.log(t % (vp, ap, iflag, chmod), 3) + return paramiko.SFTPServer.convert_errno(ex.errno) + + if iflag & os.O_CREAT: + paramiko.SFTPServer.set_file_attr(ap, attr) + + try: + f = os.fdopen(fd, smode) + except OSError as ex: + t = "failed to os.fdpen [%s] -> [%s] with smode [%s]" + self.log(t % (vp, ap, smode), 3) + return paramiko.SFTPServer.convert_errno(ex.errno) + + ret = SFTP_FH(iflag) + ret.filename = ap + ret.readfile = f if rd else None + ret.writefile = f if wr else None + return ret + + def remove(self, path: str) -> int: + try: + return self._remove(path) + except: + self.log("unhandled exception: %s" % (min_ex(),), 1) + return SFTP_FAILURE + + def _remove(self, vp: str) -> int: + if self.args.no_del: + self.log("The delete feature is disabled in server config") + return SFTP_PERMISSION_DENIED + try: + self.hub.up2k.handle_rm(self.uname, self.ip, [vp], [], False, False) + return SFTP_OK + except Pebkac as ex: + t = "denied delete [%s]: %s" + self.log(t % (vp, ex)) + return SFTP_PERMISSION_DENIED + except OSError as ex: + return paramiko.SFTPServer.convert_errno(ex.errno) + + def rename(self, oldpath: str, newpath: str) -> int: + try: + return self._rename(oldpath, newpath) + except: + self.log("unhandled exception: %s" % (min_ex(),), 1) + return SFTP_FAILURE + + def _rename(self, svp: str, dvp: str) -> int: + if self.args.no_mv: + self.log("The rename/move feature is disabled in server config") + svp = svp.strip("/") + dvp = dvp.strip("/") + try: + self.hub.up2k.handle_mv("", self.uname, self.ip, svp, dvp) + return SFTP_OK + except Pebkac as ex: + t = "denied rename [%s] to [%s]: %s" + self.log(t % (svp, dvp, ex)) + return SFTP_PERMISSION_DENIED + except OSError as ex: + return paramiko.SFTPServer.convert_errno(ex.errno) + + def mkdir(self, path: str, attr: SATTR) -> int: + try: + return self._mkdir(path, attr) + except: + self.log("unhandled exception: %s" % (min_ex(),), 1) + return SFTP_FAILURE + + def _mkdir(self, vp: str, attr: SATTR) -> int: + try: + vn, rem = self.asrv.vfs.get(vp, self.uname, False, True) + ap = os.path.join(vn.realpath, rem) + bos.makedirs(ap, vf=vn.flags) # filezilla expects this + if attr is not None: + paramiko.SFTPServer.set_file_attr(ap, attr) + return SFTP_OK + except Pebkac as ex: + t = "denied mkdir [%s]: %s" + self.log(t % (vp, ex)) + return SFTP_PERMISSION_DENIED + except OSError as ex: + return paramiko.SFTPServer.convert_errno(ex.errno) + + def rmdir(self, path: str) -> int: + try: + return self._rmdir(path) + except: + self.log("unhandled exception: %s" % (min_ex(),), 1) + return SFTP_FAILURE + + def _rmdir(self, vp: str) -> int: + try: + vn, rem = self.asrv.vfs.get(vp, self.uname, False, False, will_del=True) + ap = os.path.join(vn.realpath, rem) + bos.rmdir(ap) + return SFTP_OK + except Pebkac as ex: + t = "denied rmdir [%s]: %s" + self.log(t % (vp, ex)) + return SFTP_PERMISSION_DENIED + except OSError as ex: + return paramiko.SFTPServer.convert_errno(ex.errno) + + def chattr(self, path: str, attr: SATTR) -> int: + try: + return self._chattr(path, attr) + except: + self.log("unhandled exception: %s" % (min_ex(),), 1) + return SFTP_FAILURE + + def _chattr(self, vp: str, attr: SATTR) -> int: + try: + vn, rem = self.asrv.vfs.get(vp, self.uname, False, True, will_del=True) + ap = os.path.join(vn.realpath, rem) + paramiko.SFTPServer.set_file_attr(ap, attr) + return SFTP_OK + except Pebkac as ex: + t = "denied chattr [%s]: %s" + self.log(t % (vp, ex)) + return SFTP_PERMISSION_DENIED + except OSError as ex: + return paramiko.SFTPServer.convert_errno(ex.errno) + + def symlink(self, target_path: str, path: str) -> int: + return SFTP_OP_UNSUPPORTED + + def readlink(self, path: str) -> str | int: + return path + + def canonicalize(self, path: str) -> str: + return "/%s" % (undot(path),) + + +class Sftpd(object): + def __init__(self, hub: "SvcHub") -> None: + self.hub = hub + self.args = args = hub.args + self.log_func = hub.log + self.srv: list[socket.socket] = [] + self.bound: list[str] = [] + self.sessions = {} + + ips = args.i + if "::" in ips: + ips.append("0.0.0.0") + + ips = [x for x in ips if not x.startswith(("unix:", "fd:"))] + + if args.sftp4: + ips = [x for x in ips if ":" not in x] + + if not ips: + self.log("cannot start sftp-server; no compatible IPs in -i", 1) + return + + self.hostkeys = [] + hostkeytypes = ( + ("ed25519", "Ed25519Key", {}), # best + ("ecdsa", "ECDSAKey", {"bits": 384}), + ("rsa", "RSAKey", {"bits": 4096}), + ("dsa", "DSSKey", {}), # worst + ) + for fname, aname, opts in hostkeytypes: + fpath = "%s/ssh_host_%s_key" % (args.sftp_hostk, fname.lower()) + try: + pkey = getattr(paramiko, aname).from_private_key_file(fpath) + except Exception as ex: + try: + genfun = getattr(paramiko, aname).generate + except Exception as ex2: + if args.sftpv or fname not in ("dsa", "ed25519"): + # dsa dropped in 4.0 + # ed25519 not supported yet + self.log("cannot generate %s hostkey: %r" % (aname, ex2), 3) + continue + self.log("generating hostkey [%s] due to %r" % (fpath, ex)) + pkey = genfun(**opts) + pkey.write_private_key_file(fpath) + pkey = getattr(paramiko, aname).from_private_key_file(fpath) + self.hostkeys.append(pkey) + if args.sftpv: + self.log("loaded hostkey %r" % (pkey,)) + + ips = list(ODict.fromkeys(ips)) # dedup + + for ip in ips: + self._bind(ip) + + self.log("listening on %s port %s" % (self.srv, args.sftp)) + + def log(self, msg: str, c: Union[int, str] = 0) -> None: + self.hub.log("sftp", msg, c) + + def _bind(self, ip: str) -> None: + port = self.args.sftp + try: + ipv = socket.AF_INET6 if ":" in ip else socket.AF_INET + srv = socket.socket(ipv, socket.SOCK_STREAM) + if not ANYWIN or self.args.reuseaddr: + srv.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1) + srv.setsockopt(socket.IPPROTO_TCP, socket.TCP_NODELAY, 1) + srv.settimeout(0) # == srv.setblocking(False) + try: + srv.setsockopt(socket.IPPROTO_IPV6, socket.IPV6_V6ONLY, False) + except: + pass # will create another ipv4 socket instead + if getattr(self.args, "freebind", False): + srv.setsockopt(socket.SOL_IP, socket.IP_FREEBIND, 1) + srv.bind((ip, port)) + srv.listen(10) + self.srv.append(srv) + self.bound.append(ip) + except Exception as ex: + if ip == "0.0.0.0" and "::" in self.bound: + return # dualstack + self.log("could not listen on (%s,%s): %r" % (ip, port, ex), 3) + + def _accept(self, srv: socket.socket) -> None: + cli, addr = srv.accept() + # cli.settimeout(0) # == srv.setblocking(False) + self.log("%r is connecting" % (addr,)) + zs = "sftp-%s" % (addr[0],) + # Daemon(self._accept2, zs, (cli, addr)) + self._accept2(cli, addr) + + def _accept2(self, cli, addr) -> None: + tra = paramiko.Transport(cli) + for hkey in self.hostkeys: + tra.add_server_key(hkey) + tra.set_subsystem_handler("sftp", paramiko.SFTPServer, SFTP_Srv) + psrv = SSH_Srv(self.hub, addr) + try: + tra.start_server(server=psrv) + except Exception as ex: + self.log("%r could not establish connection: %r" % (addr, ex), 3) + cli.close() + return + + chan = tra.accept() + if chan is None: + self.log("%r did not open an sftp channel" % (addr,), 3) + cli.close() + return + + self.sessions[addr] = (chan, tra, psrv) + # tra.join() + # self.log("%r disconnected" % (addr,)) + + def run(self): + lgr = logging.getLogger("paramiko.transport") + lgr.setLevel(logging.DEBUG if self.args.sftpvv else logging.INFO) + + if self.args.no_poll: + fun = self._run_select + else: + fun = self._run_poll + Daemon(fun, "sftpd") + + def _run_select(self): + while not self.hub.stopping: + rx, _, _ = select.select(self.srv, [], [], 180) + for sck in rx: + self._accept(sck) + + def _run_poll(self): + fd2sck = {} + poll = select.poll() + for sck in self.srv: + fd = sck.fileno() + fd2sck[fd] = sck + poll.register(fd, select.POLLIN) + while not self.hub.stopping: + pr = poll.poll(180 * 1000) + rx = [fd2sck[x[0]] for x in pr if x[1] & select.POLLIN] + for sck in rx: + self._accept(sck) diff --git a/copyparty/smbd.py b/copyparty/smbd.py index 3fbc1130..0d48a733 100644 --- a/copyparty/smbd.py +++ b/copyparty/smbd.py @@ -246,24 +246,29 @@ class SMB(object): ap = absreal(ap) xbu = vfs.flags.get("xbu") - if xbu and not runhook( - self.nlog, - None, - self.hub.up2k, - "xbu.smb", - xbu, - ap, - vpath, - "", - "", - "", - 0, - 0, - "1.7.6.2", - time.time(), - "", - ): - yeet("blocked by xbu server config: %r" % (vpath,)) + if xbu: + hr = runhook( + self.nlog, + None, + self.hub.up2k, + "xbu.smb", + xbu, + ap, + vpath, + "", + "", + "", + 0, + 0, + "1.7.6.2", + time.time(), + None, + ) + t = hr.get("rejectmsg") or "" + if t or hr.get("rc") != 0: + if not t: + t = "blocked by xbu server config: %r" % (vpath,) + yeet(t) ret = bos.open(ap, flags, *a, mode=chmod, **ka) if wr: diff --git a/copyparty/stolen/qrcodegen.py b/copyparty/stolen/qrcodegen.py index 8790e859..937dc88e 100644 --- a/copyparty/stolen/qrcodegen.py +++ b/copyparty/stolen/qrcodegen.py @@ -4,7 +4,7 @@ # https://github.com/nayuki/QR-Code-generator/blob/daa3114/python/qrcodegen.py # the original ^ is extremely well commented so refer to that for explanations -# hacks: binary-only, auto-ecc, render, py2-compat +# hacks: binary-only, auto-ecc, py2-compat from __future__ import print_function, unicode_literals @@ -173,52 +173,6 @@ class QrCode(object): self._apply_mask(msk) # Apply the final choice of mask self._draw_format_bits(msk) # Overwrite old format bits - def render(self, zoom=1, pad=4) -> str: - tab = self.modules - sz = self.size - if sz % 2 and zoom == 1: - tab.append([False] * sz) - - tab = [[False] * sz] * pad + tab + [[False] * sz] * pad - tab = [[False] * pad + x + [False] * pad for x in tab] - - rows: list[str] = [] - if zoom == 1: - for y in range(0, len(tab), 2): - row = "" - for x in range(len(tab[y])): - v = 2 if tab[y][x] else 0 - v += 1 if tab[y + 1][x] else 0 - row += " โ–„โ–€โ–ˆ"[v] - rows.append(row) - else: - for tr in tab: - row = "" - for zb in tr: - row += " โ–ˆ"[int(zb)] * 2 - rows.append(row) - - return "\n".join(rows) - - def to_png(self, zoom, pad, bg, fg, ap) -> None: - from PIL import Image - - tab = self.modules - sz = self.size - psz = sz + pad * 2 - if bg: - img = Image.new("RGB", (psz, psz), bg) - else: - img = Image.new("RGBA", (psz, psz), (0, 0, 0, 0)) - fg = (fg[0], fg[1], fg[2], 255) - for y in range(sz): - for x in range(sz): - if tab[y][x]: - img.putpixel((x + pad, y + pad), fg) - if zoom != 1: - img = img.resize((sz * zoom, sz * zoom), Image.Resampling.NEAREST) - img.save(ap) - def _draw_function_patterns(self) -> None: # Draw horizontal and vertical timing patterns for i in range(self.size): @@ -613,20 +567,3 @@ def _get_bit(x: int, i: int) -> bool: class DataTooLongError(ValueError): pass - - -def qr2svg(qr: QrCode, border: int) -> str: - parts: list[str] = [] - for y in range(qr.size): - sy = border + y - for x in range(qr.size): - if qr.modules[y][x]: - parts.append("M%d,%dh1v1h-1z" % (border + x, sy)) - t = """\ - - - - - -""" - return t.format(qr.size + border * 2, " ".join(parts)) diff --git a/copyparty/svchub.py b/copyparty/svchub.py index 75a269ad..a66848b1 100644 --- a/copyparty/svchub.py +++ b/copyparty/svchub.py @@ -27,9 +27,10 @@ if True: # pylint: disable=using-constant-test from typing import Any, Optional, Union from .__init__ import ANYWIN, EXE, MACOS, PY2, TYPE_CHECKING, E, EnvParams, unicode -from .authsrv import BAD_CFG, AuthSrv, n_du_who, n_ver_who +from .authsrv import BAD_CFG, AuthSrv, derive_args, n_du_who, n_ver_who from .bos import bos from .cert import ensure_cert +from .fsutil import ramdisk_chk from .mtag import HAVE_FFMPEG, HAVE_FFPROBE, HAVE_MUTAGEN from .pwhash import HAVE_ARGON2 from .tcpsrv import TcpSrv @@ -66,6 +67,7 @@ from .util import ( build_netmap, expat_ver, gzip, + html_escape, load_ipr, load_ipu, lock_file, @@ -77,6 +79,7 @@ from .util import ( start_stackmon, termsize, ub64enc, + umktrans, ) if HAVE_SQLITE3: @@ -156,7 +159,7 @@ class SvcHub(object): args.unpost = 0 args.no_del = True args.no_mv = True - args.hardlink = True + args.reflink = True args.dav_auth = True args.vague_403 = True args.nih = True @@ -217,6 +220,10 @@ class SvcHub(object): self.log("root", t.format(args.j), c=3) args.no_fpool = True + args.p_nodav = [int(x.strip()) for x in args.p_nodav.split(",") if x] + if args.dav_port and args.dav_port not in args.p: + args.p.append(args.dav_port) + for name, arg in ( ("iobuf", "iobuf"), ("s-rd-sz", "s_rd_sz"), @@ -246,8 +253,8 @@ class SvcHub(object): t = "WARNING: --th-ram-max is very small (%.2f GiB); will not be able to %s" self.log("root", t % (args.th_ram_max, zs), 3) - if args.chpw and args.have_idp_hdrs: - t = "ERROR: user-changeable passwords is incompatible with IdP/identity-providers; you must disable either --chpw or --idp-h-usr" + if args.chpw and args.have_idp_hdrs and "pw" not in args.auth_ord.split(","): + t = "ERROR: user-changeable passwords is not compatible with your current configuration. Choose one of these options to fix it:\n option1: disable --chpw\n option2: remove all use of IdP features; --idp-*\n option3: change --auth-ord to something like pw,idp,ipu" self.log("root", t, 1) raise Exception(t) @@ -289,6 +296,9 @@ class SvcHub(object): ch = "abcdefghijklmnopqrstuvwx"[int(args.theme / 2)] args.theme = "{0}{1} {0} {1}".format(ch, bri) + if args.no_stack: + args.stack_who = "no" + if args.nid: args.du_who = "no" args.du_iwho = n_du_who(args.du_who) @@ -310,6 +320,7 @@ class SvcHub(object): # initiate all services to manage self.asrv = AuthSrv(self.args, self.log, dargs=self.dargs) + ramdisk_chk(self.asrv) if args.cgen: self.asrv.cgen() @@ -389,7 +400,10 @@ class SvcHub(object): t = "invalid mp3 transcoding quality [%s] specified; only supports [0] to disable, a CBR value such as [192k], or a CQ/CRF value such as [v2]" raise Exception(t % (args.q_mp3,)) else: - args.au_unpk = {} + zss = set(args.th_r_ffa.split(",") + args.th_r_ffv.split(",")) + args.au_unpk = { + k: v for k, v in args.au_unpk.items() if v.split(".")[0] not in zss + } args.th_poke = min(args.th_poke, args.th_maxage, args.ac_maxage) @@ -399,6 +413,11 @@ class SvcHub(object): if not args.http_only: zms += "D" + if args.sftp: + from .sftpd import Sftpd + + self.sftpd: Optional[Sftpd] = None + if args.ftp or args.ftps: from .ftpd import Ftpd @@ -410,7 +429,7 @@ class SvcHub(object): self.tftpd: Optional[Tftpd] = None - if args.ftp or args.ftps or args.tftp: + if args.sftp or args.ftp or args.ftps or args.tftp: Daemon(self.start_ftpd, "start_tftpd") if args.smb: @@ -737,12 +756,28 @@ class SvcHub(object): def start_ftpd(self) -> None: time.sleep(30) + if hasattr(self, "sftpd") and not self.sftpd: + self.restart_sftpd() + if hasattr(self, "ftpd") and not self.ftpd: self.restart_ftpd() if hasattr(self, "tftpd") and not self.tftpd: self.restart_tftpd() + def restart_sftpd(self) -> None: + if not hasattr(self, "sftpd"): + return + + from .sftpd import Sftpd + + if self.sftpd: + return # todo + + self.sftpd = Sftpd(self) + self.sftpd.run() + self.log("root", "started SFTPd") + def restart_ftpd(self) -> None: if not hasattr(self, "ftpd"): return @@ -852,6 +887,10 @@ class SvcHub(object): if w8: time.sleep(w8) self.log("qr-code", qr) + if self.args.qr_stdout: + self.pr(self.tcpsrv.qr) + if self.args.qr_stderr: + self.pr(self.tcpsrv.qr, file=sys.stderr) w8 = self.args.qr_every msg = "%s\033[%dA" % (qr, len(qr.split("\n"))) while w8: @@ -875,9 +914,9 @@ class SvcHub(object): return ar = self.args - for _ in range(10 if ar.ftp or ar.ftps else 0): + for _ in range(10 if ar.sftp or ar.ftp or ar.ftps else 0): time.sleep(0.03) - if self.ftpd: + if self.ftpd if ar.ftp or ar.ftps else ar.sftp: break if self.tcpsrv.qr: @@ -885,8 +924,13 @@ class SvcHub(object): self.sticky_qr() if self.args.qr_wait or self.args.qr_every or self.args.qr_winch: Daemon(self._qr_thr, "qr") - elif not self.args.qr_pin: - self.log("qr-code", self.tcpsrv.qr) + else: + if not self.args.qr_pin: + self.log("qr-code", self.tcpsrv.qr) + if self.args.qr_stdout: + self.pr(self.tcpsrv.qr) + if self.args.qr_stderr: + self.pr(self.tcpsrv.qr, file=sys.stderr) else: self.log("root", "workers OK\n") @@ -1063,13 +1107,13 @@ class SvcHub(object): vs = os.path.expandvars(os.path.expanduser(vs)) setattr(al, k, vs) - for k in "idp_adm".split(" "): + for k in "idp_adm stats_u".split(" "): vs = getattr(al, k) vsa = [x.strip() for x in vs.split(",")] vsa = [x.lower() for x in vsa if x] setattr(al, k + "_set", set(vsa)) - zs = "dav_ua1 sus_urls nonsus_urls ua_nodoc ua_nozip" + zs = "dav_ua1 sus_urls nonsus_urls ua_nodav ua_nodoc ua_nozip" for k in zs.split(" "): vs = getattr(al, k) if not vs or vs == "no": @@ -1084,6 +1128,12 @@ class SvcHub(object): else: setattr(al, k, re.compile("^" + vs + "$")) + if al.banmsg.startswith("@"): + with open(al.banmsg[1:], "rb") as f: + al.banmsg_b = f.read() + else: + al.banmsg_b = al.banmsg.encode("utf-8") + b"\n" + if not al.sus_urls: al.ban_url = "no" elif al.ban_url == "no": @@ -1107,8 +1157,25 @@ class SvcHub(object): except: raise Exception("invalid --idp-hm-usr [%s]" % (zs0,)) - al.ftp_ipa_nm = build_netmap(al.ftp_ipa or al.ipa, True) - al.tftp_ipa_nm = build_netmap(al.tftp_ipa or al.ipa, True) + zs1 = "" + zs2 = "" + zs = al.idp_chsub + while zs: + if zs[:1] != "|": + raise Exception("invalid --idp-chsub; expected another | but got " + zs) + zs1 += zs[1:2] + zs2 += zs[2:3] + zs = zs[3:] + al.idp_chsub_tr = umktrans(zs1, zs2) + + al.sftp_ipa_nm = build_netmap(al.sftp_ipa or al.ipa or al.ipar, True) + al.ftp_ipa_nm = build_netmap(al.ftp_ipa or al.ipa or al.ipar, True) + al.tftp_ipa_nm = build_netmap(al.tftp_ipa or al.ipa or al.ipar, True) + + al.sftp_key2u = { + "%s %s" % (x[1], x[2]): x[0] + for x in [x.split(" ") for x in al.sftp_key or []] + } mte = ODict.fromkeys(DEF_MTE.split(","), True) al.mte = odfusion(mte, al.mte) @@ -1157,6 +1224,13 @@ class SvcHub(object): if len(al.tcolor) == 3: # fc5 => ffcc55 al.tcolor = "".join([x * 2 for x in al.tcolor]) + if self.args.name_url: + zs = html_escape(self.args.name_url, True, True) + zs = '%s' % (zs, self.args.name) + else: + zs = self.args.name + self.args.name_html = zs + zs = al.u2sz zsl = [x.strip() for x in zs.split(",")] if len(zsl) not in (1, 3): @@ -1175,6 +1249,7 @@ class SvcHub(object): zi2 = zi al.u2sz = ",".join(zsl) + derive_args(al) return True def _ipa2re(self, txt) -> Optional[re.Pattern]: @@ -1350,6 +1425,7 @@ class SvcHub(object): with self.reload_mutex: self.log("root", "reloading config") self.asrv.reload(9 if up2k else 4) + ramdisk_chk(self.asrv) if up2k: self.up2k.reload(rescan_all_vols) t += "; volumes are now reinitializing" @@ -1525,6 +1601,9 @@ class SvcHub(object): with self.log_mutex: dt = datetime.now(self.tz) if dt.day != self.cday or dt.month != self.cmon: + if self.args.log_date: + zs = dt.strftime(self.args.log_date) + self.log_efmt = "%s %s" % (zs, self.log_efmt.split(" ")[-1]) zs = "{}\n" if self.no_ansi else "\033[36m{}\033[0m\n" zs = zs.format(dt.strftime("%Y-%m-%d")) print(zs, end="") diff --git a/copyparty/szip.py b/copyparty/szip.py index 91fa2a34..12caf91f 100644 --- a/copyparty/szip.py +++ b/copyparty/szip.py @@ -8,7 +8,7 @@ import time from .authsrv import AuthSrv from .bos import bos from .sutil import StreamArc, errdesc -from .util import min_ex, sanitize_fn, spack, sunpack, yieldfile, zlib +from .util import VPTL_WIN, min_ex, sanitize_to, spack, sunpack, yieldfile, zlib if True: # pylint: disable=using-constant-test from typing import Any, Generator, Optional @@ -104,7 +104,7 @@ def gen_hdr( ret += spack(b" dict[str, Netdev]: - from .stolen.ifaddr import get_adapters - listen_ips = [x for x in listen_ips if not x.startswith(("unix:", "fd:"))] nics = get_adapters(True) @@ -625,7 +630,7 @@ class TcpSrv(object): pad = self.args.qrp zoom = self.args.qrz - qrc = QrCode.encode_binary(btxt) + qrc = qrgen(btxt) for zs in self.args.qr_file or []: self._qr2file(qrc, zs) @@ -638,7 +643,7 @@ class TcpSrv(object): except: zoom = 1 - qr = qrc.render(zoom, pad) + qr = qr2txt(qrc, zoom, pad) if self.args.no_ansi: return "{}\n{}".format(txt, qr) @@ -679,12 +684,12 @@ class TcpSrv(object): if zoom not in (1, 2): raise Exception("invalid zoom for qr.txt; must be 1 or 2") with open(ap, "wb") as f: - f.write(qrc.render(zoom, pad).encode("utf-8")) + f.write(qr2txt(qrc, zoom, pad).encode("utf-8")) elif ap.endswith(".svg"): with open(ap, "wb") as f: f.write(qr2svg(qrc, pad).encode("utf-8")) else: - qrc.to_png(zoom, pad, self._h2i(bg), self._h2i(fg), ap) + qr2png(qrc, zoom, pad, self._h2i(bg), self._h2i(fg), ap) def _h2i(self, hs): try: diff --git a/copyparty/tftpd.py b/copyparty/tftpd.py index 4ef01103..e1f75c8b 100644 --- a/copyparty/tftpd.py +++ b/copyparty/tftpd.py @@ -363,24 +363,29 @@ class Tftpd(object): yeet("blocked write; folder not world-deletable: /%s" % (vpath,)) xbu = vfs.flags.get("xbu") - if xbu and not runhook( - self.nlog, - None, - self.hub.up2k, - "xbu.tftpd", - xbu, - ap, - vpath, - "", - "", - "", - 0, - 0, - "8.3.8.7", - time.time(), - "", - ): - yeet("blocked by xbu server config: %r" % (vpath,)) + if xbu: + hr = runhook( + self.nlog, + None, + self.hub.up2k, + "xbu.tftpd", + xbu, + ap, + vpath, + "", + "", + "", + 0, + 0, + "8.3.8.7", + time.time(), + None, + ) + t = hr.get("rejectmsg") or "" + if t or hr.get("rc") != 0: + if not t: + t = "upload blocked by xbu server config: %r" % (vpath,) + yeet(t) if not self.args.tftp_nols and bos.path.isdir(ap): return self._ls(vpath, "", 0, True) diff --git a/copyparty/th_srv.py b/copyparty/th_srv.py index 86c3c469..84906dfc 100644 --- a/copyparty/th_srv.py +++ b/copyparty/th_srv.py @@ -14,7 +14,7 @@ import time from queue import Queue -from .__init__ import ANYWIN, PY2, TYPE_CHECKING +from .__init__ import ANYWIN, PY2, TYPE_CHECKING, unicode from .authsrv import VFS from .bos import bos from .mtag import HAVE_FFMPEG, HAVE_FFPROBE, au_unpk, ffprobe @@ -56,6 +56,56 @@ EXTS_SPEC_SAFE = set("aif aiff flac mp3 opus wav".split()) PTN_TS = re.compile("^-?[0-9a-f]{8,10}$") +# for n in {1..100}; do rm -rf /home/ed/Pictures/wp/.hist/th/ ; python3 -m copyparty -qv /home/ed/Pictures/wp/::r --th-no-webp --th-qv $n --th-dec pil >/dev/null 2>&1 & p=$!; printf '\033[A\033[J%3d ' $n; while true; do sleep 0.1; curl -s 127.1:3923 >/dev/null && break; done; curl -s '127.1:3923/?tar=j' >/dev/null ; cat /home/ed/Pictures/wp/.hist/th/1n/bs/1nBsjDetfie1iDq3y2D4YzF5/*.* | wc -c; kill $p; wait >/dev/null 2>&1; done +# filesize-equivalent, not quality (ff looks much shittier) +FF_JPG_Q = { + 0: b"30", # 0 + 1: b"30", # 5 + 2: b"30", # 10 + 3: b"30", # 15 + 4: b"28", # 20 + 5: b"21", # 25 + 6: b"17", # 30 + 7: b"15", # 35 + 8: b"13", # 40 + 9: b"12", # 45 + 10: b"11", # 50 + 11: b"10", # 55 + 12: b"9", # 60 + 13: b"8", # 65 + 14: b"7", # 70 + 15: b"6", # 75 + 16: b"5", # 80 + 17: b"4", # 85 + 18: b"3", # 90 + 19: b"2", # 95 + 20: b"2", # 100 +} +# FF_JPG_Q = {xn: ("%d" % (xn,)).encode("ascii") for xn in range(2, 33)} +VIPS_JPG_Q = { + 0: 4, # 0 + 1: 7, # 5 + 2: 12, # 10 + 3: 17, # 15 + 4: 22, # 20 + 5: 27, # 25 + 6: 32, # 30 + 7: 37, # 35 + 8: 42, # 40 + 9: 47, # 45 + 10: 52, # 50 + 11: 56, # 55 + 12: 61, # 60 + 13: 66, # 65 + 14: 71, # 70 + 15: 75, # 75 + 16: 80, # 80 + 17: 85, # 85 + 18: 89, # 90 (vips explodes past this point) + 19: 91, # 95 + 20: 97, # 100 +} + try: if os.environ.get("PRTY_NO_PIL"): @@ -270,6 +320,9 @@ class ThumbSrv(object): def shutdown(self) -> None: self.stopping = True + Daemon(self._fire_sentinels, "thumbstopper") + + def _fire_sentinels(self): for _ in range(self.nthr): self.q.put(None) @@ -305,6 +358,7 @@ class ThumbSrv(object): if not bos.path.exists(inf_path): with open(inf_path, "wb") as f: f.write(afsenc(os.path.dirname(abspath))) + self.writevolcfg(histpath) self.busy[tpath] = [cond] do_conv = True @@ -348,6 +402,47 @@ class ThumbSrv(object): "ffa": self.fmt_ffa, } + def volcfgi(self, vn: VFS) -> str: + ret = [] + zs = "th_dec th_no_webp th_no_jpg" + for zs in zs.split(" "): + ret.append("%s(%s)\n" % (zs, getattr(self.args, zs))) + zs = "th_qv thsize th_spec_p convt" + for zs in zs.split(" "): + ret.append("%s(%s)\n" % (zs, vn.flags.get(zs))) + return "".join(ret) + + def volcfga(self, vn: VFS) -> str: + ret = [] + zs = "q_opus q_mp3" + for zs in zs.split(" "): + ret.append("%s(%s)\n" % (zs, getattr(self.args, zs))) + zs = "aconvt" + for zs in zs.split(" "): + ret.append("%s(%s)\n" % (zs, vn.flags.get(zs))) + return "".join(ret) + + def writevolcfg(self, histpath: str) -> None: + try: + bos.stat(os.path.join(histpath, "th", "cfg.txt")) + bos.stat(os.path.join(histpath, "ac", "cfg.txt")) + return + except: + pass + cfgi = cfga = "" + for vn in self.asrv.vfs.all_vols.values(): + if vn.histpath == histpath: + cfgi = self.volcfgi(vn) + cfga = self.volcfga(vn) + break + t = "writing thumbnailer-config %d,%d to %s" + self.log(t % (len(cfgi), len(cfga), histpath)) + chmod = bos.MKD_700 if self.args.free_umask else bos.MKD_755 + for cfg, cat in ((cfgi, "th"), (cfga, "ac")): + bos.makedirs(os.path.join(histpath, cat), vf=chmod) + with open(os.path.join(histpath, cat, "cfg.txt"), "wb") as f: + f.write(cfg.encode("utf-8")) + def wait4ram(self, need: float, ttpath: str) -> None: ram = self.args.th_ram_max if need > ram * 0.99: @@ -381,7 +476,7 @@ class ThumbSrv(object): else: ap_unpk = abspath - if not bos.path.exists(tpath): + if ap_unpk and not bos.path.exists(tpath): tex = tpath.rsplit(".", 1)[-1] want_mp3 = tex == "mp3" want_opus = tex in ("opus", "owa", "caf") @@ -424,12 +519,14 @@ class ThumbSrv(object): except: pass + conv_ok = False for fun in funs: try: if not png_ok and tpath.endswith(".png"): raise Exception("png only allowed for waveforms") fun(ap_unpk, ttpath, fmt, vn) + conv_ok = True break except Exception as ex: msg = "%s could not create thumbnail of %r\n%s" @@ -451,16 +548,20 @@ class ThumbSrv(object): except: pass - if abspath != ap_unpk: + if abspath != ap_unpk and ap_unpk: wunlink(self.log, ap_unpk, vn.flags) try: atomic_move(self.log, ttpath, tpath, vn.flags) except Exception as ex: - if not os.path.exists(tpath): + if conv_ok and not os.path.exists(tpath): t = "failed to move [%s] to [%s]: %r" self.log(t % (ttpath, tpath, ex), 3) - pass + elif not conv_ok: + try: + open(tpath, "ab").close() + except: + pass untemp = [] with self.mutex: @@ -520,7 +621,7 @@ class ThumbSrv(object): im.thumbnail(self.getres(vn, fmt)) fmts = ["RGB", "L"] - args = {"quality": 40} + args = {"quality": vn.flags["th_qv"]} if tpath.endswith(".webp"): # quality 80 = pillow-default @@ -564,7 +665,12 @@ class ThumbSrv(object): raise assert img # type: ignore # !rm - img.write_to_file(tpath, Q=40) + args = {} + qv = vn.flags["th_qv"] + if tpath.endswith("jpg"): + qv = VIPS_JPG_Q[qv // 5] + args["optimize_coding"] = True + img.write_to_file(tpath, Q=qv, strip=True, **args) def conv_raw(self, abspath: str, tpath: str, fmt: str, vn: VFS) -> None: self.wait4ram(0.2, tpath) @@ -598,7 +704,12 @@ class ThumbSrv(object): raise assert img # type: ignore # !rm - img.write_to_file(tpath, Q=40) + args = {} + qv = vn.flags["th_qv"] + if tpath.endswith("jpg"): + qv = VIPS_JPG_Q[qv // 5] + args["optimize_coding"] = True + img.write_to_file(tpath, Q=qv, strip=True, **args) elif HAVE_PIL: if thumb.format == rawpy.ThumbFormat.BITMAP: im = Image.fromarray(thumb.data, "RGB") @@ -662,12 +773,12 @@ class ThumbSrv(object): if tpath.endswith(".jpg"): cmd += [ b"-q:v", - b"6", # default=?? + FF_JPG_Q[vn.flags["th_qv"] // 5], # default=?? ] else: cmd += [ b"-q:v", - b"50", # default=75 + unicode(vn.flags["th_qv"]).encode("ascii"), # default=75 b"-compression_level:v", b"6", # default=4, 0=fast, 6=max ] @@ -682,7 +793,7 @@ class ThumbSrv(object): return c: Union[str, int] = "90" - t = "FFmpeg failed (probably a corrupt video file):\n" + t = "FFmpeg failed (probably a corrupt file):\n" if ( (not self.args.th_ff_jpg or time.time() - int(self.args.th_ff_jpg) < 60) and cmd[-1].lower().endswith(b".webp") @@ -713,7 +824,7 @@ class ThumbSrv(object): if len(lines) > 50: lines = lines[:25] + ["[...]"] + lines[-25:] - txt = "\n".join(["ff: " + str(x) for x in lines]) + txt = "\n".join(["ff: " + unicode(x) for x in lines]) if len(txt) > 5000: txt = txt[:2500] + "...\nff: [...]\nff: ..." + txt[-2500:] @@ -871,12 +982,12 @@ class ThumbSrv(object): if tpath.endswith(".jpg"): cmd += [ b"-q:v", - b"6", # default=?? + FF_JPG_Q[vn.flags["th_qv"] // 5], # default=?? ] else: cmd += [ b"-q:v", - b"50", # default=75 + unicode(vn.flags["th_qv"]).encode("ascii"), # default=75 b"-compression_level:v", b"6", # default=4, 0=fast, 6=max ] @@ -1134,7 +1245,7 @@ class ThumbSrv(object): ret = [] for k, vs in raw_tags.items(): for v in vs: - if len(str(v)) >= 1024: + if len(unicode(v)) >= 1024: bv = k.encode("utf-8", "replace") ret += [b"-metadata", bv + b"="] break @@ -1172,6 +1283,28 @@ class ThumbSrv(object): time.sleep(interval) def clean(self, histpath: str) -> int: + cfgi = cfga = "" + for vn in self.asrv.vfs.all_vols.values(): + if vn.histpath == histpath: + cfgi = self.volcfgi(vn) + cfga = self.volcfga(vn) + break + for cfg, cat in ((cfgi, "th"), (cfga, "ac")): + if not cfg: + continue + try: + with open(os.path.join(histpath, cat, "cfg.txt"), "rb") as f: + oldcfg = f.read().decode("utf-8") + except: + oldcfg = "" + if cfg == oldcfg: + continue + zs = os.path.join(histpath, cat) + if not os.path.exists(zs): + continue + self.log("thumbnailer-config changed; deleting %s" % (zs,), 3) + shutil.rmtree(zs) + ret = 0 for cat in ["th", "ac"]: top = os.path.join(histpath, cat) @@ -1230,7 +1363,7 @@ class ThumbSrv(object): if len(b64) != 24 or len(ts) != 8 or ext not in exts: raise Exception() except: - if f != "dir.txt": + if f != "dir.txt" and f != "cfg.txt": self.log("foreign file in thumbs dir: [{}]".format(fp), 1) continue diff --git a/copyparty/u2idx.py b/copyparty/u2idx.py index 45b479c5..ca1014d1 100644 --- a/copyparty/u2idx.py +++ b/copyparty/u2idx.py @@ -53,6 +53,11 @@ class U2idx(object): self.log("your python does not have sqlite3; searching will be disabled") return + if self.args.srch_icase: + self._open_db = self._open_db_icase + else: + self._open_db = self._open_db_std + assert sqlite3 # type: ignore # !rm self.active_id = "" @@ -69,6 +74,16 @@ class U2idx(object): def log(self, msg: str, c: Union[int, str] = 0) -> None: self.log_func("u2idx", msg, c) + def _open_db_std(self, *args, **kwargs): + assert sqlite3 # type: ignore # !rm + kwargs["check_same_thread"] = False + return sqlite3.connect(*args, **kwargs) + + def _open_db_icase(self, *args, **kwargs): + db = self._open_db_std(*args, **kwargs) + db.create_function("casefold", 1, lambda x: x.casefold() if x else x) + return db + def shutdown(self) -> None: if not HAVE_SQLITE3: return @@ -148,8 +163,7 @@ class U2idx(object): uri = "" try: uri = "{}?mode=ro&nolock=1".format(Path(db_path).as_uri()) - db = sqlite3.connect(uri, timeout=2, uri=True, check_same_thread=False) - cur = db.cursor() + cur = self._open_db(uri, timeout=2, uri=True).cursor() cur.execute('pragma table_info("up")').fetchone() self.log("ro: %r" % (db_path,)) except: @@ -160,7 +174,7 @@ class U2idx(object): if not cur: # on windows, this steals the write-lock from up2k.deferred_init -- # seen on win 10.0.17763.2686, py 3.10.4, sqlite 3.37.2 - cur = sqlite3.connect(db_path, timeout=2, check_same_thread=False).cursor() + cur = self._open_db(db_path, timeout=2).cursor() self.log("opened %r" % (db_path,)) self.cur[ptop] = cur @@ -173,6 +187,8 @@ class U2idx(object): if not HAVE_SQLITE3: return [], [], False + icase = self.args.srch_icase + q = "" v: Union[str, int] = "" va: list[Union[str, int]] = [] @@ -180,6 +196,7 @@ class U2idx(object): is_key = True is_size = False is_date = False + is_wark = False field_end = "" # closing parenthesis or whatever kw_key = ["(", ")", "and ", "or ", "not "] kw_val = ["==", "=", "!=", ">", ">=", "<", "<=", "like "] @@ -198,6 +215,8 @@ class U2idx(object): is_key = kw in kw_key uq = uq[len(kw) :] ok = True + if is_wark: + kw = "= " q += kw break @@ -232,9 +251,17 @@ class U2idx(object): elif v == "path": v = "trim(?||up.rd,'/')" va.append("\nrd") + if icase: + v = "casefold(%s)" % (v,) elif v == "name": v = "up.fn" + if icase: + v = "casefold(%s)" % (v,) + + elif v == "w": + v = "substr(up.w,1,16)" + is_wark = True elif v == "tags" or ptn_mt.match(v): have_mt = True @@ -247,7 +274,7 @@ class U2idx(object): v = "exists(select 1 from mt where mt.w = mtw and " + vq else: - raise Pebkac(400, "invalid key [{}]".format(v)) + raise Pebkac(400, "invalid key %r" % (v,)) q += v + " " continue @@ -276,6 +303,14 @@ class U2idx(object): is_size = False v = int(float(v) * 1024 * 1024) + elif is_wark: + is_wark = False + v = v.strip("*") + if len(v) > 16: + v = v[:16] + if len(v) < 16: + raise Pebkac(400, "w/filehash must be 16+ chars") + else: if v.startswith("*"): head = "'%'||" @@ -285,6 +320,12 @@ class U2idx(object): tail = "||'%'" v = v[:-1] + if icase and "casefold(" in q: + try: + v = unicode(v).casefold() + except: + v = unicode(v).lower() + q += " {}?{} ".format(head, tail) va.append(v) is_key = True @@ -319,7 +360,7 @@ class U2idx(object): uname: str, vols: list[VFS], uq: str, - uv: list[Union[str, int]], + uv: Union[list[str], list[Union[str, int]]], have_mt: bool, sort: bool, lim: int, diff --git a/copyparty/up2k.py b/copyparty/up2k.py index 3acf3918..079001ee 100644 --- a/copyparty/up2k.py +++ b/copyparty/up2k.py @@ -10,6 +10,7 @@ import re import shutil import stat import subprocess as sp +import sys import tempfile import threading import time @@ -18,13 +19,16 @@ from copy import deepcopy from queue import Queue -from .__init__ import ANYWIN, PY2, TYPE_CHECKING, WINDOWS, E +from .__init__ import ANYWIN, MACOS, PY2, TYPE_CHECKING, WINDOWS, E from .authsrv import LEELOO_DALLAS, SEESLOG, VFS, AuthSrv from .bos import bos from .cfg import vf_bmap, vf_cmap, vf_vmap from .fsutil import Fstab from .mtag import MParser, MTag from .util import ( + E_FS_CRIT, + E_FS_MEH, + HAVE_FICLONE, HAVE_SQLITE3, SYMTIME, VF_CAREFUL, @@ -60,6 +64,7 @@ from .util import ( sfsenc, spack, statdir, + trystat_shutil_copy2, ub64enc, unhumanize, vjoin, @@ -85,13 +90,17 @@ if True: # pylint: disable=using-constant-test if TYPE_CHECKING: from .svchub import SvcHub +USE_FICLONE = HAVE_FICLONE and sys.version_info < (3, 14) +if USE_FICLONE: + import fcntl + zsg = "avif,avifs,bmp,gif,heic,heics,heif,heifs,ico,j2p,j2k,jp2,jpeg,jpg,jpx,png,tga,tif,tiff,webp" ICV_EXTS = set(zsg.split(",")) zsg = "3gp,asf,av1,avc,avi,flv,m4v,mjpeg,mjpg,mkv,mov,mp4,mpeg,mpeg2,mpegts,mpg,mpg2,mts,nut,ogm,ogv,rm,vob,webm,wmv" VCV_EXTS = set(zsg.split(",")) -zsg = "aif,aiff,alac,ape,flac,m4a,mp3,oga,ogg,opus,tak,tta,wav,wma,wv" +zsg = "aif,aiff,alac,ape,flac,m4a,mp3,oga,ogg,opus,tak,tta,wav,wma,wv,cbz,epub" ACV_EXTS = set(zsg.split(",")) zsg = "nohash noidx xdev xvol" @@ -212,7 +221,7 @@ class Up2k(object): t = "could not initialize sqlite3, will use in-memory registry only" self.log(t, 3) - self.fstab = Fstab(self.log_func, self.args) + self.fstab = Fstab(self.log_func, self.args, True) self.gen_fk = self._gen_fk if self.args.log_fk else gen_filekey if self.args.hash_mt < 2: @@ -1139,7 +1148,7 @@ class Up2k(object): ft = "\033[0;32m{}{:.0}" ff = "\033[0;35m{}{:.0}" fv = "\033[0;36m{}:\033[90m{}" - zs = "du_iwho ext_th_d html_head put_name2 mv_re_r mv_re_t rm_re_r rm_re_t srch_re_dots srch_re_nodot zipmax zipmaxn_v zipmaxs_v" + zs = "bcasechk du_iwho emb_lgs emb_mds ext_th_d html_head html_head_d html_head_s ls_q_m put_name2 mv_re_r mv_re_t rm_re_r rm_re_t srch_re_dots srch_re_nodot zipmax zipmaxn_v zipmaxs_v" fx = set(zs.split()) fd = vf_bmap() fd.update(vf_cmap()) @@ -1498,6 +1507,7 @@ class Up2k(object): th_cvd = self.args.th_coversd th_cvds = self.args.th_coversd_set + scan_pr_s = self.args.scan_pr_s assert self.pp and self.mem_cur # !rm self.pp.msg = "a%d %s" % (self.pp.n, cdir) @@ -1710,7 +1720,7 @@ class Up2k(object): if nohash or not sz: wark = up2k_wark_from_metadata(self.salt, sz, lmod, rd, fn) else: - if sz > 1024 * 1024: + if sz > 1024 * 1024 * scan_pr_s: self.log("file: %r" % (abspath,)) try: @@ -1718,7 +1728,7 @@ class Up2k(object): abspath, "a{}, ".format(self.pp.n) ) except Exception as ex: - self.log("hash: %r @ %r" % (ex, abspath)) + self._ex_hash(ex, abspath) continue if not hashes: @@ -1979,7 +1989,7 @@ class Up2k(object): try: hashes, _ = self._hashlist_from_file(abspath, pf) except Exception as ex: - self.log("hash: %r @ %r" % (ex, abspath)) + self._ex_hash(ex, abspath) continue if not hashes: @@ -2768,7 +2778,7 @@ class Up2k(object): cur.close() db.close() - shutil.copy2(fsenc(db_path), fsenc(bak)) + trystat_shutil_copy2(self.log, fsenc(db_path), fsenc(bak)) return self._orz(db_path) def _read_ver(self, cur: "sqlite3.Cursor") -> Optional[int]: @@ -3005,7 +3015,7 @@ class Up2k(object): # check if filesystem supports sparse files; # refuse out-of-order / multithreaded uploading if sprs False - sprs = self.fstab.get(pdir) != "ng" + sprs = self.fstab.get(pdir)[0] != "ng" if True: jcur = self.cur.get(ptop) @@ -3294,10 +3304,13 @@ class Up2k(object): job["size"], job["addr"], job["at"], - "", + None, ) - if not hr: - t = "upload blocked by xbu server config: %r" % (dst,) + t = hr.get("rejectmsg") or "" + if t or hr.get("rc") != 0: + if not t: + t = "upload blocked by xbu server config: %r" + t = t % (vp,) self.log(t, 1) raise Pebkac(403, t) if hr.get("reloc"): @@ -3310,7 +3323,7 @@ class Up2k(object): job["ptop"] = vfs.realpath job["vtop"] = vfs.vpath job["prel"] = rem - job["name"] = sanitize_fn(job["name"], "") + job["name"] = sanitize_fn(job["name"]) ud2 = (vfs.vpath, job["prel"], job["name"]) if ud1 != ud2: # print(json.dumps(job, sort_keys=True, indent=4)) @@ -3455,7 +3468,15 @@ class Up2k(object): fp = djoin(fdir, fname) ow = job.get("replace") and bos.path.exists(fp) - if ow and "mt" in str(job["replace"]).lower(): + if ow: + replace_arg = str(job["replace"]).lower() + + if ow and "skip" in replace_arg: # type: ignore + self.log("skipping upload, filename already exists: %r" % fp) + err = "upload rejected, a file with that name already exists" + raise Pebkac(409, err) + + if ow and "mt" in replace_arg: # type: ignore mts = bos.stat(fp).st_mtime mtc = job["lmod"] if mtc < mts: @@ -3523,11 +3544,26 @@ class Up2k(object): linked = False try: - if "reflink" in flags: - raise Exception("reflink") + if rm and bos.path.exists(dst): + wunlink(self.log, dst, flags) + if not is_mv and not flags.get("dedup"): raise Exception("dedup is disabled in config") + if "reflink" in flags: + if not USE_FICLONE: + raise Exception("reflink") # python 3.14 or newer; no need + try: + with open(fsenc(src), "rb") as fi, open(fsenc(dst), "wb") as fo: + fcntl.ioctl(fo.fileno(), fcntl.FICLONE, fi.fileno()) + except: + if bos.path.exists(dst): + wunlink(self.log, dst, flags) + raise + if lmod: + bos.utime_c(self.log, dst, int(lmod), False) + return + lsrc = src ldst = dst fs1 = bos.stat(os.path.dirname(src)).st_dev @@ -3554,9 +3590,6 @@ class Up2k(object): lsrc = lsrc.replace("/", "\\") ldst = ldst.replace("/", "\\") - if rm and bos.path.exists(dst): - wunlink(self.log, dst, flags) - try: if "hardlink" in flags: os.link(fsenc(absreal(src)), fsenc(dst)) @@ -3591,7 +3624,7 @@ class Up2k(object): t = "BUG: no valid sources to link from! orig(%r) fsrc(%r) link(%r)" self.log(t, 1) raise Exception(t % (src, fsrc, dst)) - shutil.copy2(fsenc(csrc), fsenc(dst)) + trystat_shutil_copy2(self.log, fsenc(csrc), fsenc(dst)) if lmod and (not linked or SYMTIME): bos.utime_c(self.log, dst, int(lmod), False) @@ -3677,14 +3710,15 @@ class Up2k(object): t = t.format(job["name"], nchunks[0][0], coffsets[0][0], cur_sz) raise Pebkac(400, t) - job["busy"][chash] = 1 + for chash in chashes: + job["busy"][chash] = 1 job["poke"] = time.time() return chashes, chunksize, coffsets, path, job["lmod"], job["size"], job["sprs"] def fast_confirm_chunks( - self, ptop: str, wark: str, chashes: list[str] + self, ptop: str, wark: str, chashes: list[str], locked: list[str] ) -> tuple[int, str]: if not self.mutex.acquire(False): return -1, "" @@ -3692,7 +3726,7 @@ class Up2k(object): self.mutex.release() return -1, "" try: - return self._confirm_chunks(ptop, wark, chashes, chashes) + return self._confirm_chunks(ptop, wark, chashes, locked, False) finally: self.reg_mutex.release() self.mutex.release() @@ -3701,10 +3735,10 @@ class Up2k(object): self, ptop: str, wark: str, written: list[str], locked: list[str] ) -> tuple[int, str]: with self.mutex, self.reg_mutex: - return self._confirm_chunks(ptop, wark, written, locked) + return self._confirm_chunks(ptop, wark, written, locked, True) def _confirm_chunks( - self, ptop: str, wark: str, written: list[str], locked: list[str] + self, ptop: str, wark: str, written: list[str], locked: list[str], final: bool ) -> tuple[int, str]: if True: self.db_act = self.vol_act[ptop] = time.time() @@ -3716,14 +3750,16 @@ class Up2k(object): except Exception as ex: return -2, "confirm_chunk, wark(%r)" % (ex,) # type: ignore - for chash in locked: + for chash in locked if final else written: job["busy"].pop(chash, None) try: for chash in written: job["need"].remove(chash) except Exception as ex: - # dead tcp connections can get here by timeout (OK) + for zs in locked: + if job["busy"].pop(zs, None): + self.log("panic-unlock wark(%s) chunk(%s)" % (wark, zs), 1) return -2, "confirm_chunk, chash(%s) %r" % (chash, ex) # type: ignore ret = len(job["need"]) @@ -3972,10 +4008,13 @@ class Up2k(object): sz, ip, at or time.time(), - "", + None, ) - if not hr: - t = "upload blocked by xau server config" + t = hr.get("rejectmsg") or "" + if t or hr.get("rc") != 0: + if not t: + t = "upload blocked by xau server config: %r" + t = t % (djoin(vtop, rd, fn),) self.log(t, 1) wunlink(self.log, dst, vflags) self.registry[ptop].pop(wark, None) @@ -4145,6 +4184,9 @@ class Up2k(object): except: raise Pebkac(400, "file not found on disk (already deleted?)") + if "bcasechk" in vn.flags and not vn.casechk(rem, False): + raise Pebkac(400, "file does not exist case-sensitively") + scandir = not self.args.no_scandir if is_dir: # note: deletion inside shares would require a rewrite here; @@ -4187,7 +4229,7 @@ class Up2k(object): _ = dbv.get(volpath, uname, *permsets[0]) if xbd: - if not runhook( + hr = runhook( self.log, None, self, @@ -4202,10 +4244,13 @@ class Up2k(object): st.st_size, ip, time.time(), - "", - ): - t = "delete blocked by xbd server config: %r" - self.log(t % (abspath,), 1) + None, + ) + t = hr.get("rejectmsg") or "" + if t or hr.get("rc") != 0: + if not t: + t = "delete blocked by xbd server config: %r" % (abspath,) + self.log(t, 1) continue n_files += 1 @@ -4242,7 +4287,7 @@ class Up2k(object): st.st_size, ip, time.time(), - "", + None, ) if is_dir: @@ -4269,6 +4314,9 @@ class Up2k(object): self.db_act = self.vol_act[svn_dbv.realpath] = time.time() st = bos.stat(sabs) + if "bcasechk" in svn.flags and not svn.casechk(srem, False): + raise Pebkac(400, "file does not exist case-sensitively") + if stat.S_ISREG(st.st_mode) or stat.S_ISLNK(st.st_mode): with self.mutex: try: @@ -4352,7 +4400,7 @@ class Up2k(object): xbc = svn.flags.get("xbc") xac = dvn.flags.get("xac") if xbc: - if not runhook( + hr = runhook( self.log, None, self, @@ -4367,9 +4415,12 @@ class Up2k(object): fsize, ip, time.time(), - "", - ): - t = "copy blocked by xbr server config: %r" % (svp,) + None, + ) + t = hr.get("rejectmsg") or "" + if t or hr.get("rc") != 0: + if not t: + t = "copy blocked by xbr server config: %r" % (svp,) self.log(t, 1) raise Pebkac(405, t) @@ -4427,7 +4478,7 @@ class Up2k(object): b1, b2 = fsenc(sabs), fsenc(dabs) is_link = os.path.islink(b1) # due to _relink try: - shutil.copy2(b1, b2) + trystat_shutil_copy2(self.log, b1, b2) except: try: wunlink(self.log, dabs, dvn.flags) @@ -4468,7 +4519,7 @@ class Up2k(object): fsize, ip, time.time(), - "", + None, ) return "k" @@ -4487,6 +4538,9 @@ class Up2k(object): raise Pebkac(400, "mv: cannot move a mountpoint") st = bos.lstat(sabs) + if "bcasechk" in svn.flags and not svn.casechk(srem, False): + raise Pebkac(400, "file does not exist case-sensitively") + if stat.S_ISREG(st.st_mode) or stat.S_ISLNK(st.st_mode): with self.mutex: try: @@ -4601,7 +4655,7 @@ class Up2k(object): xbr = svn.flags.get("xbr") xar = dvn.flags.get("xar") if xbr: - if not runhook( + hr = runhook( self.log, None, self, @@ -4616,9 +4670,12 @@ class Up2k(object): fsize, ip, time.time(), - "", - ): - t = "move blocked by xbr server config: %r" % (svp,) + None, + ) + t = hr.get("rejectmsg") or "" + if t or hr.get("rc") != 0: + if not t: + t = "move blocked by xbr server config: %r" % (svp,) self.log(t, 1) raise Pebkac(405, t) @@ -4656,7 +4713,7 @@ class Up2k(object): fsize, ip, time.time(), - "", + None, ) return "k" @@ -4668,6 +4725,12 @@ class Up2k(object): if w: assert c1 # !rm if c2 and c2 != c1: + if "nodupem" in dvn.flags: + q = "select w from up where substr(w,1,16) = ?" + for (w2,) in c2.execute(q, (w[:16],)): + if w == w2: + t = "file exists in target volume, and dupes are forbidden in config" + raise Pebkac(400, t) self._copy_tags(c1, c2, w) xlink = bool(svn.flags.get("xlink")) @@ -4733,7 +4796,7 @@ class Up2k(object): b1, b2 = fsenc(sabs), fsenc(dabs) is_link = os.path.islink(b1) # due to _relink try: - shutil.copy2(b1, b2) + trystat_shutil_copy2(self.log, b1, b2) except: try: wunlink(self.log, dabs, dvn.flags) @@ -4776,7 +4839,7 @@ class Up2k(object): fsize, ip, time.time(), - "", + None, ) return "k" @@ -5016,7 +5079,7 @@ class Up2k(object): for k in cj["hash"]: if not self.r_hash.match(k): raise Pebkac( - 400, "at least one hash is not according to spec: {}".format(k) + 400, "at least one hash is not according to spec: %r" % (k,) ) # try to use client-provided timestamp, don't care if it fails somehow @@ -5073,6 +5136,16 @@ class Up2k(object): return ret, st + def _ex_hash(self, ex: Exception, ap: str) -> None: + eno = getattr(ex, "errno", 0) + if eno in E_FS_MEH: + return self.log("hashing failed; %r @ %r" % (ex, ap)) + if eno not in E_FS_CRIT: + return self.log("hashing failed; %r @ %r\n%s" % (ex, ap, min_ex()), 3) + t = "hashing failed; %r @ %r\n%s\nWARNING: This MAY indicate a serious issue with your harddisk or filesystem! Please investigate %sOS-logs\n" + t2 = "" if ANYWIN or MACOS else "dmesg and " + return self.log(t % (ex, ap, min_ex(), t2), 1) + def _new_upload(self, job: dict[str, Any], vfs: VFS, depth: int) -> dict[str, str]: pdir = djoin(job["ptop"], job["prel"]) if not job["size"]: @@ -5104,10 +5177,12 @@ class Up2k(object): job["size"], job["addr"], job["t0"], - "", + None, ) - if not hr: - t = "upload blocked by xbu server config: %r" % (vp_chk,) + t = hr.get("rejectmsg") or "" + if t or hr.get("rc") != 0: + if not t: + t = "upload blocked by xbu server config: %r" % (vp_chk,) self.log(t, 1) raise Pebkac(403, t) if hr.get("reloc"): @@ -5119,7 +5194,7 @@ class Up2k(object): job["ptop"] = vfs.realpath job["vtop"] = vfs.vpath job["prel"] = rem - job["name"] = sanitize_fn(job["name"], "") + job["name"] = sanitize_fn(job["name"]) ud2 = (vfs.vpath, job["prel"], job["name"]) if ud1 != ud2: self.log("xbu reloc2:%d..." % (depth,), 6) @@ -5169,7 +5244,7 @@ class Up2k(object): sprs = False if not ANYWIN and sprs and sz > 1024 * 1024: - fs = self.fstab.get(pdir) + fs, mnt = self.fstab.get(pdir) if fs == "ok": pass elif "nosparse" in vf: @@ -5255,17 +5330,21 @@ class Up2k(object): self.log("\n".join([t] + vis)) for job in rm: del reg[job["wark"]] + rsv_cleared = False try: # remove the filename reservation path = djoin(job["ptop"], job["prel"], job["name"]) if bos.path.getsize(path) == 0: bos.unlink(path) + rsv_cleared = True except: pass try: - if len(job["hash"]) == len(job["need"]): - # PARTIAL is empty, delete that too + if len(job["hash"]) == len(job["need"]) or ( + rsv_cleared and "rm_partial" in self.flags[job["ptop"]] + ): + # PARTIAL is empty (hash==need) or --rm-partial, so delete that too path = djoin(job["ptop"], job["prel"], job["tnam"]) bos.unlink(path) except: diff --git a/copyparty/util.py b/copyparty/util.py index c476a2ea..ff5c8c10 100644 --- a/copyparty/util.py +++ b/copyparty/util.py @@ -55,7 +55,6 @@ from .__init__ import ( unicode, ) from .__version__ import S_BUILD_DT, S_VERSION -from .stolen import surrogateescape try: from datetime import datetime, timezone @@ -81,6 +80,9 @@ except: if PY2: range = xrange # type: ignore + from .stolen import surrogateescape + + surrogateescape.register_surrogateescape() if sys.version_info >= (3, 7) or ( @@ -111,6 +113,8 @@ E_ADDR_NOT_AVAIL = _ens("EADDRNOTAVAIL WSAEADDRNOTAVAIL") E_ADDR_IN_USE = _ens("EADDRINUSE WSAEADDRINUSE") E_ACCESS = _ens("EACCES WSAEACCES") E_UNREACH = _ens("EHOSTUNREACH WSAEHOSTUNREACH ENETUNREACH WSAENETUNREACH") +E_FS_MEH = _ens("EPERM EACCES ENOENT ENOTCAPABLE") +E_FS_CRIT = _ens("EIO EFAULT EUCLEAN ENOTBLK") IP6ALL = "0:0:0:0:0:0:0:0" IP6_LL = ("fe8", "fe9", "fea", "feb") @@ -125,8 +129,10 @@ try: import fcntl HAVE_FCNTL = True + HAVE_FICLONE = hasattr(fcntl, "FICLONE") except: HAVE_FCNTL = False + HAVE_FICLONE = False try: import ctypes @@ -134,6 +140,25 @@ try: except: pass +try: + if os.environ.get("PRTY_NO_IFADDR"): + raise Exception() + try: + if os.getenv("PRTY_SYS_ALL") or os.getenv("PRTY_SYS_IFADDR"): + raise ImportError() + + from .stolen.ifaddr import get_adapters + except ImportError: + from ifaddr import get_adapters + + HAVE_IFADDR = True +except: + HAVE_IFADDR = False + + def get_adapters(include_unconfigured=False): + return [] + + try: if os.environ.get("PRTY_NO_SQLITE"): raise Exception() @@ -171,6 +196,11 @@ try: except: pass +if os.getenv("PRTY_MODSPEC"): + from inspect import getsourcefile + + print("PRTY_MODSPEC: ifaddr:", getsourcefile(get_adapters)) + if True: # pylint: disable=using-constant-test import types from collections.abc import Callable, Iterable @@ -264,10 +294,26 @@ RE_MEMTOTAL = re.compile("^MemTotal:.* kB") RE_MEMAVAIL = re.compile("^MemAvailable:.* kB") +if PY2: + + def umktrans(s1, s2): + return {ord(c1): ord(c2) for c1, c2 in zip(s1, s2)} + +else: + umktrans = str.maketrans + +FNTL_WIN = umktrans('<>:|?*"\\/', "๏ผœ๏ผž๏ผš๏ฝœ๏ผŸ๏ผŠ๏ผ‚๏ผผ๏ผ") +VPTL_WIN = umktrans('<>:|?*"\\', "๏ผœ๏ผž๏ผš๏ฝœ๏ผŸ๏ผŠ๏ผ‚๏ผผ") +APTL_WIN = umktrans('<>:|?*"/', "๏ผœ๏ผž๏ผš๏ฝœ๏ผŸ๏ผŠ๏ผ‚๏ผ") +FNTL_MAC = VPTL_MAC = APTL_MAC = umktrans(":", "๏ผš") +FNTL_OS = FNTL_WIN if ANYWIN else FNTL_MAC if MACOS else None +VPTL_OS = VPTL_WIN if ANYWIN else VPTL_MAC if MACOS else None +APTL_OS = APTL_WIN if ANYWIN else APTL_MAC if MACOS else None + + BOS_SEP = ("%s" % (os.sep,)).encode("ascii") -surrogateescape.register_surrogateescape() if WINDOWS and PY2: FS_ENCODING = "utf-8" else: @@ -329,6 +375,8 @@ IMPLICATIONS = [ ["hardlink_only", "hardlink"], ["hardlink", "dedup"], ["tftpvv", "tftpv"], + ["nodupem", "nodupe"], + ["no_dupe_m", "no_dupe"], ["smbw", "smb"], ["smb1", "smb"], ["smbvvv", "smbvv"], @@ -376,6 +424,13 @@ DAV_ALLPROP_L = [ DAV_ALLPROPS = set(DAV_ALLPROP_L) +FAVICON_MIMES = { + "gif": "image/gif", + "png": "image/png", + "svg": "image/svg+xml", +} + + MIMES = { "opus": "audio/ogg; codecs=opus", "owa": "audio/webm; codecs=opus", @@ -430,11 +485,11 @@ EXTS["vnd.mozilla.apng"] = "png" MAGIC_MAP = {"jpeg": "jpg"} -DEF_EXP = "self.ip self.ua self.uname self.host cfg.name cfg.logout vf.scan vf.thsize hdr.cf_ipcountry srv.itime srv.htime" +DEF_EXP = "self.ip self.ua self.uname self.host cfg.name cfg.logout vf.scan vf.thsize hdr.cf-ipcountry srv.itime srv.htime" -DEF_MTE = ".files,circle,album,.tn,artist,title,.bpm,key,.dur,.q,.vq,.aq,vc,ac,fmt,res,.fps,ahash,vhash" +DEF_MTE = ".files,circle,album,.tn,artist,title,tdate,.bpm,key,.dur,.q,.vq,.aq,vc,ac,fmt,res,.fps,ahash,vhash" -DEF_MTH = ".vq,.aq,vc,ac,fmt,res,.fps" +DEF_MTH = "tdate,.vq,.aq,vc,ac,fmt,res,.fps" REKOBO_KEY = { @@ -546,6 +601,8 @@ def py_desc() -> str: ofs = py_ver.find(".final.") if ofs > 0: py_ver = py_ver[:ofs] + if "free-threading" in sys.version: + py_ver += "t" host_os = platform.system() compiler = platform.python_compiler().split("http")[0] @@ -597,22 +654,41 @@ except: JINJA_VER = "(None)" try: + if os.environ.get("PRTY_NO_PYFTPD"): + raise Exception() + from pyftpdlib.__init__ import __ver__ as PYFTPD_VER except: PYFTPD_VER = "(None)" try: + if os.environ.get("PRTY_NO_PARTFTPY"): + raise Exception() + from partftpy.__init__ import __version__ as PARTFTPY_VER except: PARTFTPY_VER = "(None)" +try: + if os.environ.get("PRTY_NO_PARAMIKO"): + raise Exception() + + from paramiko import __version__ as MIKO_VER +except: + MIKO_VER = "(None)" + PY_DESC = py_desc() -VERSIONS = ( - "copyparty v{} ({})\n{}\n sqlite {} | jinja {} | pyftpd {} | tftp {}".format( - S_VERSION, S_BUILD_DT, PY_DESC, SQLITE_VER, JINJA_VER, PYFTPD_VER, PARTFTPY_VER - ) +VERSIONS = "copyparty v{} ({})\n{}\n sqlite {} | jinja {} | pyftpd {} | tftp {} | miko {}".format( + S_VERSION, + S_BUILD_DT, + PY_DESC, + SQLITE_VER, + JINJA_VER, + PYFTPD_VER, + PARTFTPY_VER, + MIKO_VER, ) @@ -644,7 +720,7 @@ except Exception as ex: ub64dec = base64.urlsafe_b64decode # type: ignore b64enc = base64.b64encode # type: ignore b64dec = base64.b64decode # type: ignore - if not PY36: + if PY36: print("using fallback base64 codec due to %r" % (ex,)) @@ -656,6 +732,9 @@ def read_utf8(log: Optional["NamedLogger"], ap: Union[str, bytes], strict: bool) with open(ap, "rb") as f: buf = f.read() + if buf.startswith(b"\xef\xbb\xbf"): + buf = buf[3:] + try: return buf.decode("utf-8", "strict") except UnicodeDecodeError as ex: @@ -1121,16 +1200,18 @@ class ProgressPrinter(threading.Thread): sigblock() tp = 0 msg = None - no_stdout = self.args.q + slp_pr = self.args.scan_pr_r + slp_ps = min(slp_pr, self.args.scan_st_r) + no_stdout = self.args.q or slp_pr == slp_ps fmt = " {}\033[K\r" if VT100 else " {} $\r" while not self.end: - time.sleep(0.1) + time.sleep(slp_ps) if msg == self.msg or self.end: continue msg = self.msg now = time.time() - if msg and now - tp > 10: + if msg and now - tp >= slp_pr: tp = now self.log("progress: %r" % (msg,), 6) @@ -1188,21 +1269,21 @@ class MTHash(object): for nch in range(nchunks): self.work_q.put(nch) - ex = "" + ex: Optional[Exception] = None for nch in range(nchunks): qe = self.done_q.get() try: nch, dig, ofs, csz = qe chunks[nch] = (dig, ofs, csz) except: - ex = ex or str(qe) + ex = ex or qe # type: ignore if pp: mb = (fsz - nch * chunksz) // (1024 * 1024) pp.msg = prefix + str(mb) + suffix if ex: - raise Exception(ex) + raise ex ret = [] for n in range(nchunks): @@ -1219,7 +1300,7 @@ class MTHash(object): try: v = self.hash_at(ofs) except Exception as ex: - v = str(ex) # type: ignore + v = ex # type: ignore self.done_q.put(v) @@ -1457,20 +1538,24 @@ def trace(*args: Any, **kwargs: Any) -> None: nuprint(msg) -def alltrace() -> str: +def alltrace(verbose: bool = True) -> str: threads: dict[str, types.FrameType] = {} names = dict([(t.ident, t.name) for t in threading.enumerate()]) for tid, stack in sys._current_frames().items(): - name = "%s (%x)" % (names.get(tid), tid) + if verbose: + name = "%s (%x)" % (names.get(tid), tid) + else: + name = str(names.get(tid)) threads[name] = stack rret: list[str] = [] bret: list[str] = [] + np = -3 if verbose else -2 for name, stack in sorted(threads.items()): ret = ["\n\n# %s" % (name,)] pad = None for fn, lno, name, line in traceback.extract_stack(stack): - fn = os.sep.join(fn.split(os.sep)[-3:]) + fn = os.sep.join(fn.split(os.sep)[np:]) ret.append('File: "%s", line %d, in %s' % (fn, lno, name)) if line: ret.append(" " + str(line.strip())) @@ -1577,10 +1662,12 @@ def vol_san(vols: list["VFS"], txt: bytes) -> bytes: bvp = vol.vpath.encode("utf-8") bvph = b"$hist(/" + bvp + b")" - txt = txt.replace(bap, bvp) - txt = txt.replace(bhp, bvph) - txt = txt.replace(bap.replace(b"\\", b"\\\\"), bvp) - txt = txt.replace(bhp.replace(b"\\", b"\\\\"), bvph) + if bap: + txt = txt.replace(bap, bvp) + txt = txt.replace(bap.replace(b"\\", b"\\\\"), bvp) + if bhp: + txt = txt.replace(bhp, bvph) + txt = txt.replace(bhp.replace(b"\\", b"\\\\"), bvph) if vol.histpath != vol.dbpath: bdp = vol.dbpath.encode("utf-8") @@ -1759,12 +1846,12 @@ class MultipartParser(object): continue if m.group(1).lower() != "form-data": - raise Pebkac(400, "not form-data: {}".format(ln)) + raise Pebkac(400, "not form-data: %r" % (ln,)) try: field = self.re_cdisp_field.match(ln).group(1) # type: ignore except: - raise Pebkac(400, "missing field name: {}".format(ln)) + raise Pebkac(400, "missing field name: %r" % (ln,)) try: fn = self.re_cdisp_file.match(ln).group(1) # type: ignore @@ -1936,7 +2023,7 @@ def get_boundary(headers: dict[str, str]) -> str: ct = headers["content-type"] m = re.match(ptn, ct, re.IGNORECASE) if not m: - raise Pebkac(400, "invalid content-type for a multipart post: {}".format(ct)) + raise Pebkac(400, "invalid content-type for a multipart post: %r" % (ct,)) return m.group(2) @@ -2108,6 +2195,7 @@ def humansize(sz: float, terse: bool = False) -> str: sz /= 1024.0 + assert unit # type: ignore # !rm if terse: return "%s%s" % (str(sz)[:4].rstrip("."), unit[:1]) else: @@ -2176,38 +2264,30 @@ def undot(path: str) -> str: return "/".join(ret) -def sanitize_fn(fn: str, ok: str) -> str: - if "/" not in ok: - fn = fn.replace("\\", "/").split("/")[-1] +def sanitize_fn(fn: str) -> str: + fn = fn.replace("\\", "/").split("/")[-1] + if APTL_OS: + fn = sanitize_to(fn, APTL_OS) + return fn.strip() + +def sanitize_to(fn: str, tl: dict[int, int]) -> str: + fn = fn.translate(tl) if ANYWIN: - remap = [ - ["<", "๏ผœ"], - [">", "๏ผž"], - [":", "๏ผš"], - ['"', "๏ผ‚"], - ["/", "๏ผ"], - ["\\", "๏ผผ"], - ["|", "๏ฝœ"], - ["?", "๏ผŸ"], - ["*", "๏ผŠ"], - ] - for a, b in [x for x in remap if x[0] not in ok]: - fn = fn.replace(a, b) - bad = ["con", "prn", "aux", "nul"] for n in range(1, 10): bad += ("com%s lpt%s" % (n, n)).split(" ") if fn.lower().split(".")[0] in bad: fn = "_" + fn - - return fn.strip() + return fn -def sanitize_vpath(vp: str, ok: str) -> str: +def sanitize_vpath(vp: str) -> str: + if not APTL_OS: + return vp parts = vp.replace(os.sep, "/").split("/") - ret = [sanitize_fn(x, ok) for x in parts] + ret = [sanitize_to(x, APTL_OS) for x in parts] return "/".join(ret) @@ -2260,14 +2340,14 @@ def odfusion( ret = base.copy() if oth.startswith("+"): for k in words1: - ret[k] = True + ret[k] = True # type: ignore elif oth[:1] in ("-", "/"): for k in words1: - ret.pop(k, None) + ret.pop(k, None) # type: ignore else: ret = ODict.fromkeys(words0, True) - return ret + return ret # type: ignore def ipnorm(ip: str) -> str: @@ -2512,12 +2592,12 @@ def pathmod( def _w8dec2(txt: bytes) -> str: """decodes filesystem-bytes to wtf8""" - return surrogateescape.decodefilename(txt) + return surrogateescape.decodefilename(txt) # type: ignore def _w8enc2(txt: str) -> bytes: """encodes wtf8 to filesystem-bytes""" - return surrogateescape.encodefilename(txt) + return surrogateescape.encodefilename(txt) # type: ignore def _w8dec3(txt: bytes) -> str: @@ -2639,6 +2719,24 @@ def set_fperms(f: Union[typing.BinaryIO, typing.IO[Any]], vf: dict[str, Any]) -> os.fchown(fno, vf["uid"], vf["gid"]) +def trystat_shutil_copy2(log: "NamedLogger", src: bytes, dst: bytes) -> bytes: + try: + return shutil.copy2(src, dst) + except: + # ignore failed mtime on linux+ntfs; for example: + # shutil.py:437 : copystat(src, dst, follow_symlinks=follow_symlinks) + # shutil.py:376 : lookup("utime")(dst, ns=(st.st_atime_ns, st.st_mtime_ns), + # [PermissionError] [Errno 1] Operation not permitted, '/windows/_videos' + _, _, tb = sys.exc_info() + for _, _, fun, _ in traceback.extract_tb(tb): + if fun == "copystat": + if log: + t = "warning: failed to retain some file attributes (timestamp and/or permissions) during copy from %r to %r:\n%s" + log(t % (src, dst, min_ex()), 3) + return dst # close enough + raise + + def _fs_mvrm( log: "NamedLogger", src: str, dst: str, atomic: bool, flags: dict[str, Any] ) -> bool: @@ -2677,7 +2775,7 @@ def _fs_mvrm( t = "something appeared at dst; aborting rename %r ==> %r" log(t % (src, dst), 1) return False - osfun(*args) + osfun(*args) # type: ignore if attempt: now = time.time() t = "%sd in %.2f sec, attempt %d: %r" @@ -2727,7 +2825,7 @@ def atomic_move(log: "NamedLogger", src: str, dst: str, flags: dict[str, Any]) - os.unlink(bdst) except: pass - shutil.move(bsrc, bdst) + shutil.move(bsrc, bdst) # type: ignore def wunlink(log: "NamedLogger", abspath: str, flags: dict[str, Any]) -> bool: @@ -2770,6 +2868,8 @@ def get_df(abspath: str, prune: bool) -> tuple[int, int, str]: if not ANYWIN and not MACOS: def siocoutq(sck: socket.socket) -> int: + assert fcntl # type: ignore # !rm + assert termios # type: ignore # !rm # SIOCOUTQ^sockios.h == TIOCOUTQ^ioctl.h try: zb = fcntl.ioctl(sck.fileno(), termios.TIOCOUTQ, b"AAAA") @@ -2889,8 +2989,6 @@ def read_socket_chunked( def list_ips() -> list[str]: - from .stolen.ifaddr import get_adapters - ret: set[str] = set() for nic in get_adapters(): for ipo in nic.ips: @@ -3133,7 +3231,7 @@ def sendfile_kern( try: req = min(0x2000000, upper - ofs) # 32 MiB if use_poll: - poll.poll(10000) + poll.poll(10000) # type: ignore else: select.select([], [out_fd], [], 10) n = os.sendfile(out_fd, in_fd, ofs, req) @@ -3423,7 +3521,9 @@ NICEB = NICES.encode("utf-8") def runcmd( - argv: Union[list[bytes], list[str]], timeout: Optional[float] = None, **ka: Any + argv: Union[list[bytes], list[str], list["LiteralString"]], + timeout: Optional[float] = None, + **ka: Any ) -> tuple[int, str, str]: isbytes = isinstance(argv[0], (bytes, bytearray)) oom = ka.pop("oom", 0) # 0..1000 @@ -3442,19 +3542,19 @@ def runcmd( if ANYWIN: if isbytes: if argv[0] in CMD_EXEB: - argv[0] += b".exe" + argv[0] += b".exe" # type: ignore else: if argv[0] in CMD_EXES: - argv[0] += ".exe" + argv[0] += ".exe" # type: ignore if ka.pop("nice", None): if WINDOWS: ka["creationflags"] = 0x4000 elif NICEB: if isbytes: - argv = [NICEB] + argv + argv = [NICEB] + argv # type: ignore else: - argv = [NICES] + argv + argv = [NICES] + argv # type: ignore p = sp.Popen(argv, stdout=cout, stderr=cerr, **ka) @@ -3466,10 +3566,10 @@ def runcmd( pass if not timeout or PY2: - bout, berr = p.communicate(sin) + bout, berr = p.communicate(sin) # type: ignore else: try: - bout, berr = p.communicate(sin, timeout=timeout) + bout, berr = p.communicate(sin, timeout=timeout) # type: ignore except sp.TimeoutExpired: if kill == "n": return -18, "", "" # SIGCONT; leave it be @@ -3479,7 +3579,7 @@ def runcmd( killtree(p.pid) try: - bout, berr = p.communicate(timeout=1) + bout, berr = p.communicate(timeout=1) # type: ignore except: bout = b"" berr = b"" @@ -3565,11 +3665,13 @@ def retchk( def _parsehook( log: Optional["NamedLogger"], cmd: str -) -> tuple[str, bool, bool, bool, float, dict[str, Any], list[str]]: +) -> tuple[str, bool, bool, bool, bool, bool, float, dict[str, Any], list[str]]: areq = "" chk = False fork = False jtxt = False + imp = False + sin = False wait = 0.0 tout = 0.0 kill = "t" @@ -3583,6 +3685,10 @@ def _parsehook( fork = True elif arg == "j": jtxt = True + elif arg == "I": + imp = True + elif arg == "s": + sin = True elif arg.startswith("w"): wait = float(arg[1:]) elif arg.startswith("t"): @@ -3627,7 +3733,7 @@ def _parsehook( argv[0] = os.path.expandvars(os.path.expanduser(argv[0])) - return areq, chk, fork, jtxt, wait, sp_ka, argv + return areq, chk, imp, fork, sin, jtxt, wait, sp_ka, argv def runihook( @@ -3637,7 +3743,7 @@ def runihook( vol: "VFS", ups: list[tuple[str, int, int, str, str, str, int, str]], ) -> bool: - _, chk, fork, jtxt, wait, sp_ka, acmd = _parsehook(log, cmd) + _, chk, _, fork, _, jtxt, wait, sp_ka, acmd = _parsehook(log, cmd) bcmd = [sfsenc(x) for x in acmd] if acmd[0].endswith(".py"): bcmd = [sfsenc(pybin)] + bcmd @@ -3813,10 +3919,10 @@ def _runhook( sz: int, ip: str, at: float, - txt: str, + txt: Optional[list[str]], ) -> dict[str, Any]: ret = {"rc": 0} - areq, chk, fork, jtxt, wait, sp_ka, acmd = _parsehook(log, cmd) + areq, chk, imp, fork, sin, jtxt, wait, sp_ka, acmd = _parsehook(log, cmd) if areq: for ch in areq: if ch not in perms: @@ -3824,7 +3930,7 @@ def _runhook( if log: log(t % (uname, cmd, areq, perms)) return ret # fallthrough to next hook - if jtxt: + if imp or jtxt: ja = { "ap": ap, "vp": vp, @@ -3836,19 +3942,35 @@ def _runhook( "user": uname, "perms": perms, "src": src, - "txt": txt, } + if txt: + ja["txt"] = txt[0] + ja["body"] = txt[1] + if imp: + ja["log"] = log + mod = loadpy(acmd[0], False) + return mod.main(ja) arg = json.dumps(ja) else: - arg = txt or ap + arg = txt[0] if txt else ap if acmd[0].startswith("zmq:"): zi, zs = _zmq_hook(log, verbose, src, acmd[0][4:].lower(), arg, wait, sp_ka) if zi: raise Exception("zmq says %d" % (zi,)) - return {"rc": 0, "stdout": zs} + try: + ret = json.loads(zs) + if "rc" not in ret: + ret["rc"] = 0 + return ret + except: + return {"rc": 0, "stdout": zs} + + if sin: + sp_ka["sin"] = (arg + "\n").encode("utf-8", "replace") + else: + acmd += [arg] - acmd += [arg] if acmd[0].endswith(".py"): acmd = [pybin] + acmd @@ -3861,20 +3983,23 @@ def _runhook( rc, v, err = runcmd(bcmd, **sp_ka) # type: ignore if chk and rc: ret["rc"] = rc - retchk(rc, bcmd, err, log, 5) + zi = 0 if rc == 100 else rc + retchk(zi, bcmd, err, log, 5) else: try: ret = json.loads(v) except: - ret = {} + pass try: if "stdout" not in ret: ret["stdout"] = v + if "stderr" not in ret: + ret["stderr"] = err if "rc" not in ret: ret["rc"] = rc except: - ret = {"rc": rc, "stdout": v} + ret = {"rc": rc, "stdout": v, "stderr": err} if wait: wait -= time.time() - t0 @@ -3899,13 +4024,14 @@ def runhook( sz: int, ip: str, at: float, - txt: str, + txt: Optional[list[str]], ) -> dict[str, Any]: assert broker or up2k # !rm - args = (broker or up2k).args + args = (broker or up2k).args # type: ignore verbose = args.hook_v vp = vp.replace("\\", "/") ret = {"rc": 0} + stop = False for cmd in cmds: try: hr = _runhook( @@ -3913,28 +4039,30 @@ def runhook( ) if verbose and log: log("hook(%s) %r => \033[32m%s" % (src, cmd, hr), 6) - if not hr: - return {} for k, v in hr.items(): if k in ("idx", "del") and v: if broker: broker.say("up2k.hook_fx", k, v, vp) else: + assert up2k # !rm up2k.fx_backlog.append((k, v, vp)) elif k == "reloc" and v: # idk, just take the last one ig ret["reloc"] = v + elif k == "rc" and v: + stop = True + ret[k] = 0 if v == 100 else v elif k in ret: - if k == "rc" and v: - ret[k] = v - elif k == "stdout" and v and not ret[k]: + if k == "stdout" and v and not ret[k]: ret[k] = v else: ret[k] = v except Exception as ex: - (log or print)("hook: {}".format(ex)) + (log or print)("hook: %r, %s" % (ex, ex)) if ",c," in "," + cmd: - return {} + return {"rc": 1} + break + if stop: break return ret @@ -4075,10 +4203,17 @@ def wrap(txt: str, maxlen: int, maxlen2: int) -> list[str]: def termsize() -> tuple[int, int]: - # from hashwalk + try: + w, h = os.get_terminal_size() + return w, h + except: + pass + env = os.environ def ioctl_GWINSZ(fd: int) -> Optional[tuple[int, int]]: + assert fcntl # type: ignore # !rm + assert termios # type: ignore # !rm try: cr = sunpack(b"hh", fcntl.ioctl(fd, termios.TIOCGWINSZ, b"AAAA")) return cr[::-1] diff --git a/copyparty/web/Makefile b/copyparty/web/Makefile index 3989e931..2ca0f107 100644 --- a/copyparty/web/Makefile +++ b/copyparty/web/Makefile @@ -2,11 +2,14 @@ # which should help on really slow connections # but then why are you using copyparty in the first place -pk: $(addsuffix .gz, $(wildcard *.js *.css)) -un: $(addsuffix .un, $(wildcard *.gz)) +pk: $(addsuffix .gz, $(wildcard tl/*.js *.js *.css) \ + a/webdav-cfg.txt ) +un: $(addsuffix .un, $(wildcard tl/*.gz *.gz a/*.gz)) %.gz: % - pigz -11 -J 34 -I 573 $< + pigz -c11 -J 34 -I 573 <$< >$@ + touch -r $< $@ + rm $< %.un: % pigz -d $< diff --git a/copyparty/web/a/webdav-cfg.bat b/copyparty/web/a/webdav-cfg.txt similarity index 100% rename from copyparty/web/a/webdav-cfg.bat rename to copyparty/web/a/webdav-cfg.txt diff --git a/copyparty/web/baguettebox.js b/copyparty/web/baguettebox.js index 931d5195..4b132a49 100644 --- a/copyparty/web/baguettebox.js +++ b/copyparty/web/baguettebox.js @@ -1,3 +1,5 @@ +"use strict"; + /*! * baguetteBox.js * @author feimosi @@ -5,6 +7,8 @@ * @url https://github.com/feimosi/baguetteBox.js */ +var J_BBX = 1; + window.baguetteBox = (function () { 'use strict'; @@ -22,8 +26,9 @@ window.baguetteBox = (function () { afterHide: null, duringHide: null, onChange: null, + readDirRtl: false, }, - overlay, slider, btnPrev, btnNext, btnHelp, btnAnim, btnRotL, btnRotR, btnSel, btnFull, btnVmode, btnClose, + overlay, slider, btnPrev, btnNext, btnHelp, btnAnim, btnRotL, btnRotR, btnSel, btnFull, btnZoom, btnVmode, btnReadDir, btnClose, currentGallery = [], currentIndex = 0, isOverlayVisible = false, @@ -33,6 +38,8 @@ window.baguetteBox = (function () { scrollTimer = 0, re_i = /^[^?]+\.(a?png|avif|bmp|gif|heif|jpe?g|jfif|svg|webp)(\?|$)/i, re_v = /^[^?]+\.(webm|mkv|mp4|m4v|mov)(\?|$)/i, + re_cbz = /^[^?]+\.(cbz)(\?|$)/i, + cbz_pics = ["png", "jpg", "jpeg", "gif", "bmp", "tga", "tif", "tiff", "webp", "avif"], anims = ['slideIn', 'fadeIn', 'none'], data = {}, // all galleries imagesElements = [], @@ -57,6 +64,15 @@ window.baguetteBox = (function () { hideOverlay(); }; + var vtouch = function (e) { + var v = vid(), + bv = v.getBoundingClientRect(), + tp = e.changedTouches[0]; + + if (bv.bottom - tp.clientY < 90) + touchFlag = true; + }; + var touchstartHandler = function (e) { touch.count = e.touches.length; if (touch.count > 1) @@ -73,10 +89,10 @@ window.baguetteBox = (function () { var touchEvent = e.touches[0] || e.changedTouches[0]; if (touchEvent.pageX - touch.startX > 40) { touchFlag = true; - showPreviousImage(); + showLeftImage(); } else if (touchEvent.pageX - touch.startX < -40) { touchFlag = true; - showNextImage(); + showRightImage(); } else if (touch.startY - touchEvent.pageY > 100) { hideOverlay(); } @@ -114,9 +130,9 @@ window.baguetteBox = (function () { scrollTimer = Date.now(); if (d > 0) - showNextImage(); + showNextImageIgnoreReadDir(); else - showPreviousImage(); + showPreviousImageIgnoreReadDir(); }; var trapFocusInsideOverlay = function (e) { @@ -146,6 +162,8 @@ window.baguetteBox = (function () { tagsNodeList = [galleryElement]; else tagsNodeList = galleryElement.getElementsByTagName('a'); + if (have_zls) + bindCbzClickListeners(tagsNodeList, userOptions); tagsNodeList = [].filter.call(tagsNodeList, function (element) { if (element.className.indexOf(userOptions && userOptions.ignoreClass) === -1) @@ -166,7 +184,7 @@ window.baguetteBox = (function () { }; var imageItem = { eventHandler: imageElementClickHandler, - imageElement: imageElement + imageElement: imageElement, }; bind(imageElement, 'click', imageElementClickHandler); gallery.push(imageItem); @@ -177,6 +195,86 @@ window.baguetteBox = (function () { return [selectorData.galleries, options]; } + function bindCbzClickListeners(tagsNodeList, userOptions) { + var cbzNodes = [].filter.call(tagsNodeList, function (element) { + return re_cbz.test(element.href); + }); + if (!tagsNodeList.length) { + return; + } + + [].forEach.call(cbzNodes, function (cbzElement, index) { + var gallery = []; + var eventHandler = function (e) { + if (ctrl(e) || e && e.shiftKey) + return true; + + e.preventDefault ? e.preventDefault() : e.returnValue = false; + fillCbzGallery(gallery, cbzElement, eventHandler).then(function () { + prepareOverlay(gallery, userOptions); + showOverlay(0); + } + ).catch(function (reason) { + console.error("cbz-ded", reason); + var t; + try { + t = uricom_dec(cbzElement.href.split('/').pop()); + } catch (ex) { } + + var msg = "Could not browse " + (t ? t : 'archive'); + try { + msg += "\n\n" + reason.message; + } catch (ex) { } + toast.err(20, msg, 'cbz-ded'); + }); + } + + bind(cbzElement, "click", eventHandler); + }) + } + + function fillCbzGallery(gallery, cbzElement, eventHandler) { + if (gallery.length !== 0) { + return Promise.resolve(); + } + var href = cbzElement.href; + var zlsHref = href + (href.indexOf("?") === -1 ? "?" : "&") + "zls"; + return fetch(zlsHref) + .then(function (response) { + if (response.ok) { + return response.json(); + } else { + throw new Error("Archive is invalid"); + } + }) + .then(function (fileList) { + var imagesList = fileList.map(function (file) { + return file["fn"]; + }).filter(function (file) { + return file.indexOf(".") !== -1 + && cbz_pics.indexOf(file.split(".").pop()) !== -1; + }).sort(); + + if (imagesList.length === 0) { + throw new Error("Archive does not contain any images"); + } + + imagesList.forEach(function (imageName, index) { + var imageHref = href + + (href.indexOf("?") === -1 ? "?" : "&") + + "zget=" + + encodeURIComponent(imageName); + + var galleryItem = { + href: imageHref, + imageElement: cbzElement, + eventHandler: eventHandler, + }; + gallery.push(galleryItem); + }); + }); + } + function clearCachedData() { for (var selector in data) if (data.hasOwnProperty(selector)) @@ -212,10 +310,12 @@ window.baguetteBox = (function () { '
    ' + '' + '' + + '' + '' + '' + '' + - '' + + '' + + '' + '' + '' + '
    ' @@ -229,12 +329,17 @@ window.baguetteBox = (function () { btnNext = ebi('bbox-next'); btnHelp = ebi('bbox-help'); btnAnim = ebi('bbox-anim'); + btnReadDir = ebi('bbox-readdir'); btnRotL = ebi('bbox-rotl'); btnRotR = ebi('bbox-rotr'); btnSel = ebi('bbox-tsel'); btnFull = ebi('bbox-full'); + btnZoom = ebi('bbzoom'); btnVmode = ebi('bbox-vmode'); btnClose = ebi('bbox-close'); + + bcfg_bind(options, 'bbzoom', 'bbzoom', false, setzoom); + setzoom(); } function halp() { @@ -250,10 +355,11 @@ window.baguetteBox = (function () { ['end', 'last file'], ['R', 'rotate (shift=ccw)'], ['F', 'toggle fullscreen'], + ['Z', 'toggle zoom/stretch'], ['S', 'toggle file selection'], ['space, P, K', 'video: play / pause'], ['U', 'video: seek 10sec back'], - ['P', 'video: seek 10sec ahead'], + ['O', 'video: seek 10sec ahead'], ['0..9', 'video: seek 0%..90%'], ['M', 'video: toggle mute'], ['V', 'video: toggle loop'], @@ -301,9 +407,9 @@ window.baguetteBox = (function () { else if (e.shiftKey && kl != "r") return; else if (k == "ArrowLeft" || k == "Left" || kl == "j") - showPreviousImage(); + showLeftImage(); else if (k == "ArrowRight" || k == "Right" || kl == "l") - showNextImage(); + showRightImage(); else if (k == "Escape" || k == "Esc") hideOverlay(); else if (k == "Home") @@ -332,6 +438,8 @@ window.baguetteBox = (function () { } else if (kl == "f") tglfull(); + else if (kl == "z") + btnZoom.click(); else if (kl == "s") tglsel(); else if (kl == "r") @@ -353,6 +461,21 @@ window.baguetteBox = (function () { tt.show.call(this); } + function toggleReadDir() { + var o = options, + next = options.readDirRtl ? "ltr" : "rtl"; + swrite('greaddir', next); + slider.className = "no-transition"; + options = {}; + setOptions(o); + updateOffset(true); + window.getComputedStyle(slider).opacity; // force a restyle + slider.className = ""; + + if (tt.en) + tt.show.call(this); + } + function setVmode() { var v = vid(); ebi('bbox-vmode').style.display = v ? '' : 'none'; @@ -424,6 +547,12 @@ window.baguetteBox = (function () { } } + function setzoom() { + var sel = clgot(btnZoom, 'on') + clmod(ebi('bbox-overlay'), 'fill', sel); + btnState(btnZoom, sel); + } + function tglsel() { var o = findfile()[3]; clmod(o.closest('tr'), 'sel', 't'); @@ -451,10 +580,14 @@ window.baguetteBox = (function () { 'rgba(153,34,85,0.7)' : ''; img.style.borderRadius = sel ? '1em' : ''; - btnSel.style.color = sel ? '#fff' : ''; - btnSel.style.background = sel ? '#d48' : ''; - btnSel.style.textShadow = sel ? '1px 1px 0 #b38' : ''; - btnSel.style.boxShadow = sel ? '.15em .15em 0 #502' : ''; + btnState(btnSel, sel); + } + + function btnState(btn, sel) { + btn.style.color = sel ? '#fff' : ''; + btn.style.background = sel ? '#d48' : ''; + btn.style.textShadow = sel ? '1px 1px 0 #b38' : ''; + btn.style.boxShadow = sel ? '.15em .15em 0 #502' : ''; } function keyUpHandler(e) { @@ -492,12 +625,13 @@ window.baguetteBox = (function () { bind(document, 'fullscreenchange', onFSC); bind(overlay, 'click', overlayClickHandler); bind(overlay, 'wheel', overlayWheelHandler); - bind(btnPrev, 'click', showPreviousImage); - bind(btnNext, 'click', showNextImage); + bind(btnPrev, 'click', showLeftImage); + bind(btnNext, 'click', showRightImage); bind(btnClose, 'click', hideOverlay); bind(btnVmode, 'click', tglVmode); bind(btnHelp, 'click', halp); bind(btnAnim, 'click', anim); + bind(btnReadDir, 'click', toggleReadDir); bind(btnRotL, 'click', rotl); bind(btnRotR, 'click', rotr); bind(btnSel, 'click', tglsel); @@ -515,12 +649,13 @@ window.baguetteBox = (function () { unbind(document, 'fullscreenchange', onFSC); unbind(overlay, 'click', overlayClickHandler); unbind(overlay, 'wheel', overlayWheelHandler); - unbind(btnPrev, 'click', showPreviousImage); - unbind(btnNext, 'click', showNextImage); + unbind(btnPrev, 'click', showLeftImage); + unbind(btnNext, 'click', showRightImage); unbind(btnClose, 'click', hideOverlay); unbind(btnVmode, 'click', tglVmode); unbind(btnHelp, 'click', halp); unbind(btnAnim, 'click', anim); + unbind(btnReadDir, 'click', toggleReadDir); unbind(btnRotL, 'click', rotl); unbind(btnRotR, 'click', rotr); unbind(btnSel, 'click', tglsel); @@ -571,6 +706,23 @@ window.baguetteBox = (function () { btnAnim.textContent = ['โ‡„', 'โฎบ', 'โšก'][anims.indexOf(an)]; btnAnim.setAttribute('tt', 'animation: ' + an); + options.readDirRtl = sread('greaddir') === "rtl"; + var msg; + if (options.readDirRtl) { + btnReadDir.innerText = "rtl"; + msg = "browse from right to left"; + slider.style.display = "flex"; + slider.style.flexDirection = "row-reverse"; + } else { + btnReadDir.innerText = "ltr"; + msg = "browse from left to right"; + slider.style.flexDirection = ""; + slider.style.display = "block"; + } + btnReadDir.setAttribute("tt", msg); + btnReadDir.setAttribute("aria-label", msg); + + slider.style.transition = (options.animation === 'fadeIn' ? 'opacity .3s ease' : options.animation === 'slideIn' ? '' : 'none'); @@ -612,7 +764,7 @@ window.baguetteBox = (function () { overlay.style.display = 'block'; // Fade in overlay setTimeout(function () { - overlay.className = 'visible'; + clmod(overlay, 'visible', 1); if (options.bodyClass && document.body.classList) document.body.classList.add(options.bodyClass); @@ -621,7 +773,7 @@ window.baguetteBox = (function () { }, 50); if (options.onChange && !url_ts) - options.onChange(currentIndex, imagesElements.length); + options.onChange.call(currentGallery, currentIndex, imagesElements.length); url_ts = null; documentLastFocus = document.activeElement; @@ -658,7 +810,7 @@ window.baguetteBox = (function () { unbindEvents(); // Fade out and hide the overlay - overlay.className = ''; + clmod(overlay, 'visible'); setTimeout(function () { overlay.style.display = 'none'; if (options.bodyClass && document.body.classList) @@ -683,6 +835,7 @@ window.baguetteBox = (function () { if (v == keep) continue; + unbind(v, 'touchstart', vtouch, nonPassiveEvent); unbind(v, 'error', lerr); v.src = ''; v.load(); @@ -749,11 +902,11 @@ window.baguetteBox = (function () { imageContainer.removeChild(imageContainer.firstChild); var imageElement = galleryItem.imageElement, - imageSrc = imageElement.href, + imageSrc = galleryItem.href || imageElement.href, is_vid = re_v.test(imageSrc), thumbnailElement = imageElement.querySelector('img, video'), imageCaption = typeof options.captions === 'function' ? - options.captions.call(currentGallery, imageElement) : + options.captions.call(currentGallery, imageElement, index) : imageElement.getAttribute('data-caption') || imageElement.title; imageSrc = addq(imageSrc, 'cache'); @@ -812,15 +965,27 @@ window.baguetteBox = (function () { un_pp = 0; return playpause(); // browser undid space hotkey } - show_buttons(this.paused ? 1 : 0); + show_buttons(this.paused ? 0 : 1); } - function showNextImage(e) { + function showRightImage(e) { + ev(e); + var dir = options.readDirRtl ? -1 : 1; + return show(currentIndex + dir); + } + + function showLeftImage(e) { + ev(e); + var dir = options.readDirRtl ? 1 : -1; + return show(currentIndex + dir); + } + + function showNextImageIgnoreReadDir(e) { ev(e); return show(currentIndex + 1); } - function showPreviousImage(e) { + function showPreviousImageIgnoreReadDir(e) { ev(e); return show(currentIndex - 1); } @@ -848,12 +1013,14 @@ window.baguetteBox = (function () { } if (index < 0) - return bounceAnimation('left'); + return bounceAnimation(options.readDirRtl ? 'right' : 'left'); if (index >= imagesElements.length) - return bounceAnimation('right'); + return bounceAnimation(options.readDirRtl ? 'left' : 'right'); + var orot; try { + orot = vidimg().getAttribute('rot'); vid().pause(); } catch (ex) { } @@ -871,6 +1038,9 @@ window.baguetteBox = (function () { else if (toast.tag == 'bb-ded') toast.hide(); + if (orot && im.getAttribute('rot') === null) + rotn(orot / 90, 1); + if (options.animation == 'none') unvid(vid()); else @@ -881,13 +1051,13 @@ window.baguetteBox = (function () { unfig(index); if (options.onChange) - options.onChange(currentIndex, imagesElements.length); + options.onChange.call(currentGallery, currentIndex, imagesElements.length); return true; } var prev_cw = 0, prev_ch = 0, unrot_timer = null; - function rotn(n) { + function rotn(n, asap) { var el = vidimg(), orot = parseInt(el.getAttribute('rot') || 0), frot = orot + (n || 0) * 90; @@ -902,6 +1072,8 @@ window.baguetteBox = (function () { if (!n && prev_cw === cw && prev_ch === ch) return; // reflow noop + clmod(el, 'asap', asap); + prev_cw = cw; prev_ch = ch; var rot = frot, @@ -911,8 +1083,13 @@ window.baguetteBox = (function () { dl = el.closest('div').querySelector('figcaption a'), vw = cw, vh = ch - dl.offsetHeight + magic, - pmag = Math.min(1, Math.min(vw / ih, vh / iw)), - wmag = Math.min(1, Math.min(vw / iw, vh / ih)); + pmag = Math.min(vw / ih, vh / iw), + wmag = Math.min(vw / iw, vh / ih); + + if (!options.bbzoom) { + pmag = Math.min(1, pmag); + wmag = Math.min(1, wmag); + } while (rot < 0) rot += 360; while (rot >= 360) rot -= 360; @@ -956,7 +1133,7 @@ window.baguetteBox = (function () { return; clmod(el, 'nt', 1); - el.removeAttribute('rot'); + el.setAttribute('rot', 0); el.removeAttribute("style"); rot = el.offsetHeight; clmod(el, 'nt'); @@ -1005,7 +1182,7 @@ window.baguetteBox = (function () { function vidEnd() { if (this == vid() && vnext) - showNextImage(); + showNextImageIgnoreReadDir(); } function setloop(side) { @@ -1066,11 +1243,12 @@ window.baguetteBox = (function () { return false; } - function updateOffset() { - var offset = -currentIndex * 100 + '%', + function updateOffset(noTransition) { + var dir = options.readDirRtl ? 1 : -1, + offset = dir * currentIndex * 100 + '%', xform = slider.style.perspective !== undefined; - if (options.animation === 'fadeIn') { + if (options.animation === 'fadeIn' && !noTransition) { slider.style.opacity = 0; setTimeout(function () { xform ? @@ -1098,6 +1276,7 @@ window.baguetteBox = (function () { setloop(); } } + bind(v, 'touchstart', vtouch, nonPassiveEvent); } selbg(); mp_ctl(); @@ -1116,10 +1295,10 @@ window.baguetteBox = (function () { fx = x / (rc.right - rc.left); if (fx < 0.3) - return showPreviousImage(); + return showLeftImage(); if (fx > 0.7) - return showNextImage(); + return showRightImage(); show_buttons('t'); @@ -1175,8 +1354,8 @@ window.baguetteBox = (function () { return { run: run, show: show, - showNext: showNextImage, - showPrevious: showPreviousImage, + showNext: showRightImage, + showPrevious: showLeftImage, relseek: relseek, urltime: urltime, playpause: playpause, @@ -1184,3 +1363,5 @@ window.baguetteBox = (function () { destroy: destroyPlugin }; })(); + +J_BBX = 2; diff --git a/copyparty/web/browser.css b/copyparty/web/browser.css index a40c72e2..53b59bff 100644 --- a/copyparty/web/browser.css +++ b/copyparty/web/browser.css @@ -84,6 +84,13 @@ --sort-1: #fb0; --sort-2: #d09; + --sz-b: #aaa; + --sz-k: #4ff; + --sz-m: var(--tab-alt); + --sz-g: var(--a); + --sz-t: var(--sz-g); + --sz-p: var(--sz-t); + --srv-1: #aaa; --srv-2: #a73; --srv-3: #f4c; @@ -187,6 +194,9 @@ html.y { --sort-1: #059; --sort-2: #f5d; + --sz-b: #777; + --sz-k: #380; + --srv-1: #555; --srv-2: #c83; --srv-3: #c0a; @@ -344,6 +354,9 @@ html.cz { --btn-1-bb: .2em solid #e90; --btn-1-bs: 0 .1em .8em rgba(255,205,0,0.9); + --sz-b: #ddd; + --sz-k: #c9f; + --srv-3: #fff; --u2-tab-b1: var(--bg-d3); @@ -740,6 +753,15 @@ html.y #files tr.fade a { #files tbody tr td:last-child { white-space: nowrap; } +#files span.fsz_B { color: var(--sz-b); } +#files span.fsz_K { color: var(--sz-k); } +#files span.fsz_M { color: var(--sz-m); } +#files span.fsz_G { color: var(--sz-g); } +#files span.fsz_T { color: var(--sz-t); } +#files span.fsz_P { color: var(--sz-p); } +html.y #files span.fsz_G, +html.y #files span.fsz_T, +html.y #files span.fsz_P { font-weight: bold } #files thead th[style] { width: auto !important; } @@ -865,6 +887,9 @@ html.y #path a:hover { #srv_info2 span { color: var(--srv-1); } +#srv_info2 a { + padding: 0; +} #srv_info2 { display: none; } @@ -1011,6 +1036,7 @@ html.dz #flogout { box-shadow: 0 .1em 1.2em var(--g-play-sh); } #files tbody tr.sel td, +#files tbody tr.sel span, #ggrid>a.sel, #ggrid>a[tt].sel { color: var(--g-sel-fg); @@ -1155,6 +1181,9 @@ html.y #widget.open { border: 1px solid var(--bg-u5); border-width: 0 .1em 0 0; } +#wzip1 { + margin-right: .2em; +} #wfm.act+#wzip1+#wzip, #wfm.act+#wzip1+#wzip+#wnp { margin-left: .2em; @@ -1911,6 +1940,8 @@ html.y #tree.nowrap .ntree a+a:hover { #rui td input[type="text"] { width: 100%; } +#rui #rn_n_d, +#rui #rn_n_s, #shui td.exs input[type="text"] { width: 3em; } @@ -2115,6 +2146,7 @@ html.noscroll .sbar::-webkit-scrollbar { width: 100%; height: 100%; text-align: center; + flex: none; } .full-image figure { display: inline; @@ -2134,6 +2166,16 @@ html.noscroll .sbar::-webkit-scrollbar { vertical-align: middle; transition: transform .23s, left .23s, top .23s, width .23s, height .23s; } +.full-image img.asap, +.full-image video.asap { + transition: none; +} +#bbox-overlay.fill .full-image img, +#bbox-overlay.fill .full-image video { + width: 100%; + height: 100%; + object-fit: contain; +} html.bb_fsc .full-image img, html.bb_fsc .full-image video { max-height: 100%; @@ -2309,6 +2351,9 @@ html.y #bbox-overlay figcaption a { 0%, 100% {transform: scale(0)} 50% {transform: scale(1)} } +.no-transition { + transition: none !important; +} @@ -3106,9 +3151,6 @@ html.bz .ghead { html.b #files td { padding: .5em .7em; } -html.b #ggrid>a { - margin: .8em; -} html.b .btn { top: -.1em; } @@ -3253,8 +3295,8 @@ html.d #treepar { } html.b #ggrid { - padding: 0 2em 2em 0; - gap: .5em 3em; + padding: 0 0 2em 0; + gap: 1em 1.5em; } #ggrid > a { @@ -3496,7 +3538,6 @@ html.ez { html.e { text-shadow: none; } - html.e #files, html.e #u2conf input[type="checkbox"]:hover + label, html.e .tgl.btn.on:hover, @@ -3596,6 +3637,10 @@ html.e #srv_info { display: flex; align-items: center; } +html.e #acc_info span.warn, +html.e #acc_info a { + color: var(--white); +} html.e #flogout:before { padding-left: 0.2em; padding-right: 0.4em; @@ -4080,3 +4125,47 @@ html.e #doc { html.e #detree { padding: 0px; } + +#rcm { + position: absolute; + display: none; + background: #fff; + background: var(--bg); + border: 1px solid var(--bg-u3); + outline: none; + border-radius: .3rem; + box-shadow: 0 0 .3rem var(--bg-d3); + z-index: 3; +} + +#rcm > * { + display: block; +} + +#rcm > a { + padding: .2rem .3rem; +} + +#rcm > .hide { + display: none; +} + +#rcm > a:hover { + background: var(--bg-d2); +} + +#rcm > .sep { + margin: 0 .2rem; + border-bottom: 1px solid var(--a-gray); +} + +#tempname { + color: var(--fg); + background: var(--txt-bg); + border: none; + box-shadow: 0 0 2px var(--txt-sh); + border-bottom: 1px solid #999; + border-color: var(--a); + border-radius: .2em; + padding: .2em .3em; +} \ No newline at end of file diff --git a/copyparty/web/browser.html b/copyparty/web/browser.html index 3b5c89ba..e8a91c5a 100644 --- a/copyparty/web/browser.html +++ b/copyparty/web/browser.html @@ -9,7 +9,7 @@ -{{- html_head }} +{{ html_head }} {%- if css %} {%- endif %} @@ -51,8 +51,9 @@
    ๐Ÿ“ - +
    +
    @@ -128,17 +129,17 @@
    +
    + + {%- if lang != "eng" %} + + {%- endif %} {%- if js %} {%- endif %} + - diff --git a/copyparty/web/browser.js b/copyparty/web/browser.js index 6c1f6184..4f5c4382 100644 --- a/copyparty/web/browser.js +++ b/copyparty/web/browser.js @@ -1,12 +1,12 @@ "use strict"; +var J_BRW = 1; + var XHR = XMLHttpRequest, img_re = /\.(a?png|avif|bmp|gif|heif|jpe?g|jfif|svg|webp|webm|mkv|mp4|m4v|mov)(\?|$)/i; -// please add translations in alphabetic order, but keep "eng" and "nor" first -// (lines ending with //m are machine translations) -var Ls = { - "eng": { +if (1) + Ls.eng = { "tt": "English", "cols": { @@ -26,7 +26,7 @@ var Ls = { "resw": "horizontal resolution", "resh": "vertical resolution", "chs": "audio channels", - "hz": "sample rate" + "hz": "sample rate", }, "hks": [ @@ -89,6 +89,8 @@ var Ls = { ["M", "close textfile"], ["E", "edit textfile"], ["S", "select file (for cut/copy/rename)"], + ["Y", "download textfile"], + ["โ‡ง J", "beautify json"], ] ], @@ -121,7 +123,7 @@ var Ls = { "ot_unpost": "unpost: delete your recent uploads, or abort unfinished ones", "ot_bup": "bup: basic uploader, even supports netscape 4.0", "ot_mkdir": "mkdir: create a new directory", - "ot_md": "new-md: create a new markdown document", + "ot_md": "new-file: create a new textfile", "ot_msg": "msg: send a message to the server log", "ot_mp": "media player options", "ot_cfg": "configuration options", @@ -130,7 +132,7 @@ var Ls = { "ot_noie": 'Please use Chrome / Firefox / Edge', "ab_mkdir": "make directory", - "ab_mkdoc": "new markdown doc", + "ab_mkdoc": "new textfile", "ab_msg": "send msg to srv log", "ay_path": "skip to folders", @@ -158,7 +160,7 @@ var Ls = { "ul_par": "parallel uploads:", "ut_rand": "randomize filenames", "ut_u2ts": "copy the last-modified timestamp$Nfrom your filesystem to the server\">๐Ÿ“…", - "ut_ow": "overwrite existing files on the server?$N๐Ÿ›ก๏ธ: never (will generate a new filename instead)$N๐Ÿ•’: overwrite if server-file is older than yours$Nโ™ป๏ธ: always overwrite if the files are different", + "ut_ow": "overwrite existing files on the server?$N๐Ÿ›ก๏ธ: never (will generate a new filename instead)$N๐Ÿ•’: overwrite if server-file is older than yours$Nโ™ป๏ธ: always overwrite if the files are different$Nโญ๏ธ: unconditionally skip all existing files", "ut_mt": "continue hashing other files while uploading$N$Nmaybe disable if your CPU or HDD is a bottleneck", "ut_ask": 'ask for confirmation before upload starts">๐Ÿ’ญ', "ut_pot": "improve upload speed on slow devices$Nby making the UI less complex", @@ -209,6 +211,7 @@ var Ls = { "u_nav_b": 'FilesOne folder', "cl_opts": "switches", + "cl_hfsz": "filesize", "cl_themes": "theme", "cl_langs": "language", "cl_ziptype": "folder download", @@ -222,11 +225,13 @@ var Ls = { "cl_reset": "reset", "cl_hpick": "tap on column headers to hide in the table below", "cl_hcancel": "column hiding aborted", + "cl_rcm": "right-click menu", "ct_grid": '็”ฐ the grid', "ct_ttips": 'โ—” โ—ก โ—”">โ„น๏ธ tooltips', "ct_thumb": 'in grid-view, toggle icons or thumbnails$NHotkey: T">๐Ÿ–ผ๏ธ thumbs', "ct_csel": 'use CTRL and SHIFT for file selection in grid-view">sel', + "ct_dl": 'force download (don\'t display inline) when a file is clicked">dl', "ct_ihop": 'when the image viewer is closed, scroll down to the last viewed file">gโฎฏ', "ct_dots": 'show hidden files (if server permits)">dotfiles', "ct_qdel": 'when deleting files, only ask for confirmation once">qdel', @@ -263,6 +268,7 @@ var Ls = { "cdt_lim": "max number of files to show in a folder", "cdt_ask": "when scrolling to the bottom,$Ninstead of loading more files,$Nask what to do", "cdt_hsort": "how many sorting rules (<code>,sorthref</code>) to include in media-URLs. Setting this to 0 will also ignore sorting-rules included in media links when clicking them", + "cdt_ren": "enable custom right-click menu, you can still access the regular menu by pressing the shift key and right-clicking", "tt_entree": "show navpane (directory tree sidebar)$NHotkey: B", "tt_detree": "show breadcrumbs$NHotkey: B", @@ -420,9 +426,10 @@ var Ls = { "fcc_warn": 'copied {0} items to clipboard\n\nbut: only this browser-tab can paste them\n(since the selection is so absolutely massive)', "fp_apply": "use these names", + "fp_skip": "skip conflicts", // TLNote: "skip existing names" (filenames taken in target folder) "fp_ecut": "first cut or copy some files / folders to paste / move\n\nnote: you can cut / paste across different browser tabs", - "fp_ename": "{0} items cannot be moved here because the names are already taken. Give them new names below to continue, or blank the name to skip them:", - "fcp_ename": "{0} items cannot be copied here because the names are already taken. Give them new names below to continue, or blank the name to skip them:", + "fp_ename": "{0} items cannot be moved here because the names are already taken. Give them new names below to continue, or blank the name (\"skip conflicts\") to skip them:", + "fcp_ename": "{0} items cannot be copied here because the names are already taken. Give them new names below to continue, or blank the name (\"skip conflicts\") to skip them:", "fp_emore": "there are still some filename collisions left to fix", "fp_ok": "move OK", "fcp_ok": "copy OK", @@ -441,6 +448,8 @@ var Ls = { "fcp_both_b": 'CopyUpload', "mk_noname": "type a name into the text field on the left before you do that :p", + "nmd_i1": "also add the file extension you want, for example .md", + "nmd_i2": "you can only create .md files because you don't have the delete-permission", "tv_load": "Loading text document:\n\n{0}\n\n{1}% ({2} of {3} MiB loaded)", "tv_xe1": "could not load textfile:\n\nerror ", @@ -451,6 +460,7 @@ var Ls = { "tvt_prev": "show previous document$NHotkey: i\">โฌ† prev", "tvt_next": "show next document$NHotkey: K\">โฌ‡ next", "tvt_sel": "select file   ( for cut / copy / delete / ... )$NHotkey: S\">sel", + "tvt_j": "beautify json$NHotkey: shift-J\">j", "tvt_edit": "open file in text editor$NHotkey: E\">โœ๏ธ edit", "tvt_tail": "monitor file for changes; show new lines in real time\">๐Ÿ“ก follow", "tvt_wrap": "word-wrap\">โ†ต", @@ -635,10751 +645,64 @@ var Ls = { "ur_um": "Finished;\n{0} uploads OK,\n{1} uploads failed, sorry", "ur_sm": "Finished;\n{0} files found on server,\n{1} files NOT found on server", + "rc_opn": "open", + "rc_ply": "play", + "rc_pla": "play as audio", + "rc_txt": "open in textfile viewer", + "rc_md": "open in text editor", + "rc_dl": "download", + "rc_zip": "download as archive", + "rc_cpl": "copy link", + "rc_del": "delete", + "rc_cut": "cut", + "rc_cpy": "copy", + "rc_pst": "paste", + "rc_nfo": "new folder", + "rc_nfi": "new file", + "rc_sal": "select all", + "rc_sin": "invert selection", + "lang_set": "refresh to make the change take effect?", - }, - "nor": { - "tt": "Norsk", - - "cols": { - "c": "handlingsknapper", - "dur": "varighet", - "q": "kvalitet / bitrate", - "Ac": "lyd-format", - "Vc": "video-format", - "Fmt": "format / innpakning", - "Ahash": "lyd-kontrollsum", - "Vhash": "video-kontrollsum", - "Res": "opplรธsning", - "T": "filtype", - "aq": "lydkvalitet / bitrate", - "vq": "videokvalitet / bitrate", - "pixfmt": "fargekoding / detaljenivรฅ", - "resw": "horisontal opplรธsning", - "resh": "vertikal opplรธsning", - "chs": "lydkanaler", - "hz": "lyd-opplรธsning" - }, - - "hks": [ - [ - "ymse", - ["ESC", "lukk saker og ting"], - - "filbehandler", - ["G", "listevisning eller ikoner"], - ["T", "miniatyrbilder pรฅ/av"], - ["โ‡ง A/D", "ikonstรธrrelse"], - ["ctrl-K", "slett valgte"], - ["ctrl-X", "klipp ut valgte"], - ["ctrl-C", "kopiรฉr til utklippstavle"], - ["ctrl-V", "lim inn (flytt/kopiรฉr)"], - ["Y", "last ned valgte"], - ["F2", "endre navn pรฅ valgte"], - - "filmarkering", - ["space", "marker fil"], - ["โ†‘/โ†“", "flytt markรธr"], - ["ctrl โ†‘/โ†“", "flytt markรธr og scroll"], - ["โ‡ง โ†‘/โ†“", "velg forr./neste fil"], - ["ctrl-A", "velg alle filer / mapper"], - ], [ - "navigering", - ["B", "mappehierarki eller filsti"], - ["I/K", "forr./neste mappe"], - ["M", "ett nivรฅ opp (eller lukk)"], - ["V", "vis mapper eller tekstfiler"], - ["A/D", "panelstรธrrelse"], - ], [ - "musikkspiller", - ["J/L", "forr./neste sang"], - ["U/O", "hopp 10sek bak/frem"], - ["0..9", "hopp til 0%..90%"], - ["P", "pause, eller start / fortsett"], - ["S", "marker spillende sang"], - ["Y", "last ned sang"], - ], [ - "bildeviser", - ["J/L, โ†/โ†’", "forr./neste bilde"], - ["Home/End", "fรธrste/siste bilde"], - ["F", "fullskjermvisning"], - ["R", "rotere mot hรธyre"], - ["โ‡ง R", "rotere mot venstre"], - ["S", "marker bilde"], - ["Y", "last ned bilde"], - ], [ - "videospiller", - ["U/O", "hopp 10sek bak/frem"], - ["P/K/Space", "pause / fortsett"], - ["C", "fortsett til neste fil"], - ["V", "gjenta avspilling"], - ["M", "lyd av/pรฅ"], - ["[ og ]", "gjentaksintervall"], - ], [ - "dokumentviser", - ["I/K", "forr./neste fil"], - ["M", "lukk tekstdokument"], - ["E", "rediger tekstdokument"], - ["S", "marker fil (for F2/ctrl-x/...)"], - ["Y", "last ned tekstfil"], - ] - ], - - "m_ok": "OK", - "m_ng": "Avbryt", - - "enable": "Aktiv", - "danger": "VARSKU", - "clipped": "kopiert til utklippstavlen", - - "ht_s1": "sekund", - "ht_s2": "sekunder", - "ht_m1": "minutt", - "ht_m2": "minutter", - "ht_h1": "time", - "ht_h2": "timer", - "ht_d1": "dag", - "ht_d2": "dager", - "ht_and": " og ", - - "goh": "kontrollpanel", - "gop": 'naviger til mappen fรธr denne">forr.', - "gou": 'naviger ett nivรฅ opp">opp', - "gon": 'naviger til mappen etter denne">neste', - "logout": "Logg ut ", - "login": "Logg inn", - "access": " tilgang", - "ot_close": "lukk verktรธy", - "ot_search": "sรธk etter filer ved รฅ angi filnavn, mappenavn, tid, stรธrrelse, eller metadata som sangtittel / artist / osv.$N$N<code>foo bar</code> = inneholder bรฅde ยซfooยป og ยซbarยป,$N<code>foo -bar</code> = inneholder ยซfooยป men ikke ยซbarยป,$N<code>^yana .opus$</code> = starter med ยซyanaยป, filtype ยซopusยป$N<code>"try unite"</code> = ยซtry uniteยป eksakt$N$Ndatoformat er iso-8601, sรฅ f.eks.$N<code>2009-12-31</code> eller <code>2020-09-12 23:30:00</code>", - "ot_unpost": "unpost: slett filer som du nylig har lastet opp; ยซangre-knappenยป", - "ot_bup": "bup: tradisjonell / primitiv filopplastning,$N$Nfungerer i omtrent samtlige nettlesere", - "ot_mkdir": "mkdir: lag en ny mappe", - "ot_md": "new-md: lag et nytt markdown-dokument", - "ot_msg": "msg: send en beskjed til serverloggen", - "ot_mp": "musikkspiller-instillinger", - "ot_cfg": "andre innstillinger", - "ot_u2i": 'up2k: last opp filer (hvis du har skrivetilgang) eller bytt til sรธkemodus for รฅ sjekke om filene finnes et-eller-annet sted pรฅ serveren$N$Nopplastninger kan gjenopptas etter avbrudd, skjer stykkevis for potensielt hรธyere ytelse, og ivaretar datostempling -- men bruker litt mer prosessorkraft enn [๐ŸŽˆ]  (den primitive opplasteren "bup")

    mens opplastninger foregรฅr sรฅ vises fremdriften her oppe!', - "ot_u2w": 'up2k: filopplastning med stรธtte for รฅ gjenoppta avbrutte opplastninger -- steng ned nettleseren og dra de samme filene inn i nettleseren igjen for รฅ plukke opp igjen der du slapp$N$Nopplastninger skjer stykkevis for potensielt hรธyere ytelse, og ivaretar datostempling -- men bruker litt mer prosessorkraft enn [๐ŸŽˆ]  (den primitive opplasteren "bup")

    mens opplastninger foregรฅr sรฅ vises fremdriften her oppe!', - "ot_noie": 'Fungerer mye bedre i Chrome / Firefox / Edge', - - "ab_mkdir": "lag mappe", - "ab_mkdoc": "nytt dokument", - "ab_msg": "send melding", - - "ay_path": "gรฅ videre til mapper", - "ay_files": "gรฅ videre til filer", - - "wt_ren": "gi nye navn til de valgte filene$NSnarvei: F2", - "wt_del": "slett de valgte filene$NSnarvei: ctrl-K", - "wt_cut": "klipp ut de valgte filene <small>(for รฅ lime inn et annet sted)</small>$NSnarvei: ctrl-X", - "wt_cpy": "kopiรฉr de valgte filene til utklippstavlen$N(for รฅ lime inn et annet sted)$NSnarvei: ctrl-C", - "wt_pst": "lim inn filer (som tidligere ble klippet ut / kopiert et annet sted)$NSnarvei: ctrl-V", - "wt_selall": "velg alle filer$NSnarvei: ctrl-A (mens fokus er pรฅ en fil)", - "wt_selinv": "inverter utvalg", - "wt_zip1": "last ned denne mappen som et arkiv", - "wt_selzip": "last ned de valgte filene som et arkiv", - "wt_seldl": "last ned de valgte filene$NSnarvei: Y", - "wt_npirc": "kopiรฉr sang-info (irc-formatert)", - "wt_nptxt": "kopiรฉr sang-info", - "wt_m3ua": "legg til sang i m3u-spilleliste$N(husk รฅ klikke pรฅ ๐Ÿ“ปcopy senere)", - "wt_m3uc": "kopiรฉr m3u-spillelisten til utklippstavlen", - "wt_grid": "bytt mellom ikoner og listevisning$NSnarvei: G", - "wt_prev": "forrige sang$NSnarvei: J", - "wt_play": "play / pause$NSnarvei: P", - "wt_next": "neste sang$NSnarvei: L", - - "ul_par": "samtidige handl.:", - "ut_rand": "finn opp nye tilfeldige filnavn", - "ut_u2ts": "gi filen pรฅ serveren samme$Ntidsstempel som lokalt hos deg\">๐Ÿ“…", - "ut_ow": "overskrive eksisterende filer pรฅ serveren?$N๐Ÿ›ก๏ธ: aldri (finner pรฅ et nytt filnavn istedenfor)$N๐Ÿ•’: overskriv hvis serverens fil er eldre$Nโ™ป๏ธ: alltid, gitt at innholdet er forskjellig", - "ut_mt": "fortsett รฅ befare kรธen mens opplastning foregรฅr$N$Nskru denne av dersom du har en$Ntreg prosessor eller harddisk", - "ut_ask": 'bekreft filutvalg fรธr opplastning starter">๐Ÿ’ญ', - "ut_pot": "forbedre ytelsen pรฅ trege enheter ved รฅ$Nforenkle brukergrensesnittet", - "ut_srch": "utfรธr sรธk istedenfor รฅ laste opp --$Nleter igjennom alle mappene du har lov til รฅ se", - "ut_par": "sett til 0 for รฅ midlertidig stanse opplastning$N$Nhรธye verdier (4 eller 8) kan gi bedre ytelse,$Nspesielt pรฅ trege internettlinjer$N$Nbรธr ikke vรฆre hรธyere enn 1 pรฅ LAN$Neller hvis serveren sin harddisk er treg", - "ul_btn": "slipp filer / mapper
    her (eller klikk meg)", - "ul_btnu": "L A S T   O P P", - "ul_btns": "F I L S ร˜ K", - - "ul_hash": "befar", - "ul_send": " send", - "ul_done": "total", - "ul_idle1": "ingen handlinger i kรธen", - "ut_etah": "snitthastighet for <em>befaring</em> samt gjenstรฅende tid", - "ut_etau": "snitthastighet for <em>opplastning</em> samt gjenstรฅende tid", - "ut_etat": "<em>total</em> snitthastighet og gjenstรฅende tid", - - "uct_ok": "fullfรธrt uten problemer", - "uct_ng": "fullfรธrt under tvil (duplikat, ikke funnet, ...)", - "uct_done": "fullfรธrt (enten <em>ok</em> eller <em>ng</em>)", - "uct_bz": "aktive handlinger (befaring / opplastning)", - "uct_q": "kรธen", - - "utl_name": "filnavn", - "utl_ulist": "vis", - "utl_ucopy": "kopiรฉr", - "utl_links": "lenker", - "utl_stat": "status", - "utl_prog": "fremdrift", - - // mรฅ vรฆre korte: - "utl_404": "404", - "utl_err": "FEIL!", - "utl_oserr": "OS-feil", - "utl_found": "funnet", - "utl_defer": "senere", - "utl_yolo": "YOLO", - "utl_done": "ferdig", - - "ul_flagblk": "filene har blitt lagt i kรธen
    men det er en annen nettleserfane som holder pรฅ med befaring eller opplastning akkurat nรฅ,
    sรฅ venter til den er ferdig fรธrst", - "ul_btnlk": "bryteren har blitt lรฅst til denne tilstanden i serverens konfigurasjon", - - "udt_up": "Last opp", - "udt_srch": "Sรธk", - "udt_drop": "Slipp filene her", - - "u_nav_m": '
    hva har du?
    Enter = Filer (รฉn eller flere)\nESC = ร‰n mappe (inkludert undermapper)', - "u_nav_b": 'Filerร‰n mappe', - - "cl_opts": "brytere", - "cl_themes": "utseende", - "cl_langs": "sprรฅk", - "cl_ziptype": "nedlastning av mapper", - "cl_uopts": "up2k-brytere", - "cl_favico": "favicon", - "cl_bigdir": "store mapper", - "cl_hsort": "#sort", - "cl_keytype": "notasjon for musikalsk dur", - "cl_hiddenc": "skjulte kolonner", - "cl_hidec": "skjul", - "cl_reset": "nullstill", - "cl_hpick": "klikk pรฅ overskriften til kolonnene du รธnsker รฅ skjule i tabellen nedenfor", - "cl_hcancel": "kolonne-skjuling avbrutt", - - "ct_grid": '็”ฐ ikoner', - "ct_ttips": 'vis hjelpetekst ved รฅ holde musen over ting">โ„น๏ธ tips', - "ct_thumb": 'vis miniatyrbilder istedenfor ikoner$NSnarvei: T">๐Ÿ–ผ๏ธ bilder', - "ct_csel": 'bruk tastene CTRL og SHIFT for markering av filer i ikonvisning">merk', - "ct_ihop": 'bla ned til sist viste bilde nรฅr bildeviseren lukkes">gโฎฏ', - "ct_dots": 'vis skjulte filer (gitt at serveren tillater det)">.synlig', - "ct_qdel": 'sletteknappen spรธr bare รฉn gang om bekreftelse">hurtig๐Ÿ—‘๏ธ', - "ct_dir1st": 'sorter slik at mapper kommer foran filer">๐Ÿ“ fรธrst', - "ct_nsort": 'naturlig sortering (forstรฅr tall i filnavn)">nsort', - "ct_utc": 'bruk UTC for alle klokkeslett">UTC', - "ct_readme": 'vis README.md nedenfor filene">๐Ÿ“œ readme', - "ct_idxh": 'vis index.html istedenfor fil-liste">htm', - "ct_sbars": 'vis rullgardiner / skrollefelt">โŸŠ', - - "cut_umod": 'i tilfelle en fil du laster opp allerede finnes pรฅ serveren, sรฅ skal serverens tidsstempel oppdateres slik at det stemmer overens med din lokale fil (krever rettighetene write+delete)">re๐Ÿ“…', - - "cut_turbo": "forenklet befaring ved opplastning; bรธr sannsynlig ikke skrus pรฅ:$N$Nnyttig dersom du var midt i en svรฆr opplastning som mรฅtte restartes av en eller annen grunn, og du vil komme igang igjen sรฅ raskt som overhodet mulig.$N$Nnรฅr denne er skrudd pรฅ sรฅ forenkles befaringen kraftig; istedenfor รฅ utfรธre en trygg sjekk pรฅ om filene finnes pรฅ serveren i god stand, sรฅ sjekkes kun om filstรธrrelsen stemmer. Sรฅ dersom en korrupt fil skulle befinne seg pรฅ serveren allerede, pรฅ samme sted med samme stรธrrelse og navn, sรฅ blir det ikke oppdaget.$N$Ndet anbefales รฅ kun benytte denne funksjonen for รฅ komme seg raskt igjennom selve opplastningen, for sรฅ รฅ skru den av, og til slutt "laste opp" de samme filene รฉn gang til -- slik at integriteten kan verifiseres\">turbo", - - "cut_datechk": "har ingen effekt dersom turbo er avslรฅtt$N$Ngjรธr turbo bittelitt tryggere ved รฅ sjekke datostemplingen pรฅ filene (i tillegg til filstรธrrelse)$N$Nburde oppdage og gjenoppta de fleste ufullstendige opplastninger, men er ikke en fullverdig erstatning for รฅ deaktivere turbo og gjรธre en skikkelig sjekk\">date-chk", - - "cut_u2sz": "stรธrrelse i megabyte for hvert bruddstykke for opplastning. Store verdier flyr bedre over atlanteren. Smรฅ verdier kan vรฆre bedre pรฅ sรฆrdeles ustabile forbindelser", - - "cut_flag": "samkjรธrer nettleserfaner slik at bare รฉn $N kan holde pรฅ med befaring / opplastning $N -- andre faner mรฅ ogsรฅ ha denne skrudd pรฅ $N -- fungerer kun innenfor samme domene", - - "cut_az": "last opp filer i alfabetisk rekkefรธlge, istedenfor minste-fil-fรธrst$N$Nalfabetisk kan gjรธre det lettere รฅ anslรฅ om alt gikk bra, men er bittelitt tregere pรฅ fiber / LAN", - - "cut_nag": "meldingsvarsel nรฅr opplastning er ferdig$N(kun om nettleserfanen ikke er synlig)", - "cut_sfx": "lydvarsel nรฅr opplastning er ferdig$N(kun om nettleserfanen ikke er synlig)", - - "cut_mt": "raskere befaring ved รฅ bruke hele CPU'en$N$Ndenne funksjonen anvender web-workers$Nog krever mer RAM (opptil 512 MiB ekstra)$N$Ngjรธr https 30% raskere, http 4.5x raskere\">mt", - - "cut_wasm": "bruk wasm istedenfor nettleserens sha512-funksjon; gir bedre ytelse pรฅ chrome-baserte nettlesere, men bruker mere CPU, og eldre versjoner av chrome tรฅler det ikke (spiser opp all RAM og krasjer)\">wasm", - - "cft_text": "ikontekst (blank ut og last siden pรฅ nytt for รฅ deaktivere)", - "cft_fg": "farge", - "cft_bg": "bakgrunnsfarge", - - "cdt_lim": "maks antall filer รฅ vise per mappe", - "cdt_ask": "vis knapper for รฅ laste flere filer nederst pรฅ siden istedenfor รฅ gradvis laste mer av mappen nรฅr man scroller ned", - "cdt_hsort": "antall sorterings-regler (<code>,sorthref</code>) som skal inkluderes nรฅr media-URL'er genereres. Hvis denne er 0 sรฅ vil sorterings-regler i URL'er hverken bli generert eller lest", - - "tt_entree": "bytt til mappehierarki$NSnarvei: B", - "tt_detree": "bytt til tradisjonell sti-visning$NSnarvei: B", - "tt_visdir": "bla ned til den รฅpne mappen", - "tt_ftree": "bytt mellom filstruktur og tekstfiler$NSnarvei: V", - "tt_pdock": "vis de overordnede mappene i et panel", - "tt_dynt": "รธk bredden pรฅ panelet ettersom treet utvider seg", - "tt_wrap": "linjebryting", - "tt_hover": "vis hele mappenavnet nรฅr musepekeren treffer mappen$N( gjรธr dessverre at scrollhjulet fusker dersom musepekeren ikke befinner seg i grรธfta )", - - "ml_pmode": "ved enden av mappen", - "ml_btns": "knapper", - "ml_tcode": "konvertering", - "ml_tcode2": "konverter til", - "ml_tint": "tint", - "ml_eq": "audio equalizer (tonejustering)", - "ml_drc": "compressor (volum-utjevning)", - - "mt_loop": "spill den samme sangen om og om igjen\">๐Ÿ”", - "mt_one": "spill kun รฉn sang\">1๏ธโƒฃ", - "mt_shuf": "sangene i hver mappe$Nspilles i tilfeldig rekkefรธlge\">๐Ÿ”€", - "mt_aplay": "forsรธk รฅ starte avspilling hvis linken du klikket pรฅ for รฅ รฅpne nettsiden inneholder en sang-ID$N$Nhvis denne deaktiveres sรฅ vil heller ikke nettside-URL'en bli oppdatert med sang-ID'er nรฅr musikk spilles, i tilfelle innstillingene skulle gรฅ tapt og nettsiden lastes pรฅ ny\">aโ–ถ", - "mt_preload": "hent ned litt av neste sang i forkant,$Nslik at pausen i overgangen blir mindre\">forles", - "mt_prescan": "ved behov, bla til neste mappe$Nslik at nettleseren lar oss$Nfortsette รฅ spille musikk\">bla", - "mt_fullpre": "hent ned hele neste sang, ikke bare litt:$Nโœ… skru pรฅ hvis nettet ditt er ustabilt,$NโŒ skru av hvis nettet ditt er tregt\">full", - "mt_fau": "for telefoner: forhindre at avspilling stopper hvis nettet er for tregt til รฅ laste neste sang i tide. Hvis pรฅskrudd, kan forรฅrsake at sang-info ikke vises korrekt i OS'et\">โ˜•๏ธ", - "mt_waves": "waveform seekbar:$Nvis volumkurve i avspillingsfeltet\">~s", - "mt_npclip": "vis knapper for รฅ kopiere info om sangen du hรธrer pรฅ\">/np", - "mt_m3u_c": "vis knapper for รฅ kopiere de valgte$Nsangene som innslag i en m3u8 spilleliste\">๐Ÿ“ป", - "mt_octl": "integrering med operativsystemet (fjernkontroll, info-skjerm)\">os-ctl", - "mt_oseek": "tillat spoling med fjernkontroll$N$Nmerk: pรฅ noen enheter (iPhones) sรฅ vil$Ndette erstatte knappen for neste sang\">spoling", - "mt_oscv": "vis album-cover pรฅ infoskjermen\">bilde", - "mt_follow": "bla slik at sangen som spilles alltid er synlig\">๐ŸŽฏ", - "mt_compact": "tettpakket avspillerpanel\">โŸŽ", - "mt_uncache": "prรธv denne hvis en sang ikke spiller riktig\">oppfrisk", - "mt_mloop": "repeter hele mappen\">๐Ÿ” gjenta", - "mt_mnext": "hopp til neste mappe og fortsett\">๐Ÿ“‚ neste", - "mt_mstop": "stopp avspilling\">โธ stopp", - "mt_cflac": "konverter flac / wav-filer til {0}\">flac", - "mt_caac": "konverter aac / m4a-filer til to {0}\">aac", - "mt_coth": "konverter alt annet (men ikke mp3) til {0}\">andre", - "mt_c2opus": "det beste valget for alle PCer og Android\">opus", - "mt_c2owa": "opus-weba, for iOS 17.5 og nyere\">owa", - "mt_c2caf": "opus-caf, for iOS 11 tilogmed 17\">caf", - "mt_c2mp3": "bra valg for steinalder-utstyr (slรฅr aldri feil)\">mp3", - "mt_c2flac": "gir best lydkvalitet, men eter nettet ditt\">flac", - "mt_c2wav": "helt rรฅ lydstrรธm (bruker enda mere data enn flac)\">wav", - "mt_c2ok": "bra valg!", - "mt_c2nd": "ikke det foretrukne valget for din enhet, men funker sikkert greit", - "mt_c2ng": "ser virkelig ikke ut som enheten din takler dette formatet... men ok, vi prรธver", - "mt_xowa": "iOS har fortsatt problemer med avspilling av owa-musikk i bakgrunnen. Bruk caf eller mp3 istedenfor", - "mt_tint": "nivรฅ av bakgrunnsfarge pรฅ sรธkestripa (0-100),$Ngjรธr oppdateringer mindre distraherende", - "mt_eq": "aktiver tonekontroll og forsterker;$N$Nboost <code>0</code> = normal volumskala$N$Nwidth <code>1  </code> = normal stereo$Nwidth <code>0.5</code> = 50% blanding venstre-hรธyre$Nwidth <code>0  </code> = mono$N$Nboost <code>-0.8</code> & width <code>10</code> = instrumental :^)$N$Nreduserer ogsรฅ dรธdtid imellom sangfiler", - "mt_drc": "aktiver volum-utjevning (dynamic range compressor); vil ogsรฅ aktivere tonejustering, sรฅ sett alle EQ-feltene bortsett fra 'width' til 0 hvis du ikke vil ha noe EQ$N$Nfilteret vil dempe volumet pรฅ alt som er hรธyere enn TRESH dB; for hver RATIO dB over grensen er det 1dB som treffer hรธyttalerne, sรฅ standardverdiene tresh -24 og ratio 12 skal bety at volumet ikke gรฅr hรธyere enn -22 dB, slik at man trygt kan รธke boost-verdien i equalizer'n til rundt 0.8, eller 1.8 kombinert med ATK 0 og RLS 90 (bare mulig i firefox; andre nettlesere tar ikke hรธyere RLS enn 1)$N$Nwikipedia forklarer dette mye bedre forresten", - - "mb_play": "lytt", - "mm_hashplay": "spill denne sangen?", - "mm_m3u": "trykk Enter/OK for รฅ spille\ntrykk ESC/Avbryt for รฅ redigere", - "mp_breq": "krever firefox 82+, chrome 73+, eller iOS 15+", - "mm_bload": "laster inn...", - "mm_bconv": "konverterer til {0}, vent litt...", - "mm_opusen": "nettleseren din forstรฅr ikke aac / m4a;\nkonvertering til opus er nรฅ aktivert", - "mm_playerr": "avspilling feilet: ", - "mm_eabrt": "Avspillingsforespรธrselen ble avbrutt", - "mm_enet": "Nettet ditt er ustabilt", - "mm_edec": "Noe er galt med musikkfilen", - "mm_esupp": "Nettleseren din forstรฅr ikke filtypen", - "mm_eunk": "Ukjent feil", - "mm_e404": "Avspilling feilet: Fil ikke funnet.", - "mm_e403": "Avspilling feilet: Tilgang nektet.\n\nKanskje du ble logget ut?\nPrรธv รฅ trykk F5 for รฅ laste siden pรฅ nytt.", - "mm_e500": "Avspilling feilet: Rusk i maskineriet, sjekk serverloggen.", - "mm_e5xx": "Avspilling feilet: ", - "mm_nof": "finner ikke flere sanger i nรฆrheten", - "mm_prescan": "Leter etter neste sang...", - "mm_scank": "Fant neste sang:", - "mm_uncache": "alle sanger vil lastes pรฅ nytt ved neste avspilling", - "mm_hnf": "sangen finnes ikke lenger", - - "im_hnf": "bildet finnes ikke lenger", - - "f_empty": 'denne mappen er tom', - "f_chide": 'dette vil skjule kolonnen ยซ{0}ยป\n\nfanen for "andre innstillinger" lar deg vise kolonnen igjen', - "f_bigtxt": "denne filen er hele {0} MiB -- vis som tekst?", - "f_bigtxt2": "vil du se bunnen av filen istedenfor? du vil da ogsรฅ se nye linjer som blir lagt til pรฅ slutten av filen i sanntid", - "fbd_more": '
    viser {0} av {1} filer; vis {2} eller vis alle
    ', - "fbd_all": '
    viser {0} av {1} filer; vis alle
    ', - "f_anota": "kun {0} av totalt {1} elementer ble markert;\nfor รฅ velge alt mรฅ du bla til bunnen av mappen fรธrst", - - "f_dls": 'linkene i denne mappen er nรฅ\nomgjort til nedlastningsknapper', - - "f_partial": "For รฅ laste ned en fil som enda ikke er ferdig opplastet, klikk pรฅ filen som har samme filnavn som denne, men uten .PARTIAL pรฅ slutten. Da vil serveren passe pรฅ at nedlastning gรฅr bra. Derfor anbefales det sterkt รฅ trykke AVBRYT eller Escape-tasten.\n\nHvis du virkelig รธnsker รฅ laste ned denne .PARTIAL-filen pรฅ en ukontrollert mรฅte, trykk OK / Enter for รฅ ignorere denne advarselen. Slik vil du hรธyst sannsynlig motta korrupt data.", - - "ft_paste": "Lim inn {0} filer$NSnarvei: ctrl-V", - "fr_eperm": 'kan ikke endre navn:\ndu har ikke โ€œmoveโ€-rettigheten i denne mappen', - "fd_eperm": 'kan ikke slette:\ndu har ikke โ€œdeleteโ€-rettigheten i denne mappen', - "fc_eperm": 'kan ikke klippe ut:\ndu har ikke โ€œmoveโ€-rettigheten i denne mappen', - "fp_eperm": 'kan ikke lime inn:\ndu har ikke โ€œwriteโ€-rettigheten i denne mappen', - "fr_emore": "velg minst รฉn fil som skal fรฅ nytt navn", - "fd_emore": "velg minst รฉn fil som skal slettes", - "fc_emore": "velg minst รฉn fil som skal klippes ut", - "fcp_emore": "velg minst รฉn fil som skal kopieres til utklippstavlen", - - "fs_sc": "del mappen du er i nรฅ", - "fs_ss": "del de valgte filene", - "fs_just1d": "du kan ikke markere flere mapper samtidig,\neller kombinere mapper og filer", - "fs_abrt": "โŒ avbryt", - "fs_rand": "๐ŸŽฒ tilfeldig navn", - "fs_go": "โœ… opprett deling", - "fs_name": "navn", - "fs_src": "kilde", - "fs_pwd": "passord", - "fs_exp": "varighet", - "fs_tmin": "min", - "fs_thrs": "timer", - "fs_tdays": "dager", - "fs_never": "for evig", - "fs_pname": "frivillig navn (blir noe tilfeldig ellers)", - "fs_tsrc": "fil/mappe som skal deles", - "fs_ppwd": "frivillig passord", - "fs_w8": "oppretter deling...", - "fs_ok": "trykk Enter/OK for รฅ kopiere linken (for CTRL-V)\ntrykk ESC/Avbryt for รฅ bare bekrefte", - - "frt_dec": "kan korrigere visse รธdelagte filnavn\">url-decode", - "frt_rst": "nullstiller endringer (tilbake til de originale filnavnene)\">โ†บ reset", - "frt_abrt": "avbryt og lukk dette vinduet\">โŒ avbryt", - "frb_apply": "IVERKSETT", - "fr_adv": "automasjon basert pรฅ metadata
    og / eller mรธnster (regulรฆre uttrykk)\">avansert", - "fr_case": "versalfรธlsomme uttrykk\">Aa", - "fr_win": "bytt ut bokstavene <>:"\\|?* med$Ntilsvarende som windows ikke fรฅr panikk av\">win", - "fr_slash": "bytt ut bokstaven / slik at den ikke forรฅrsaker at nye mapper opprettes\">ikke /", - "fr_re": "regex-mรธnster som kjรธres pรฅ hvert filnavn. Grupper kan leses ut i format-feltet nedenfor, f.eks. <code>(1)</code> og <code>(2)</code> osv.", - "fr_fmt": "inspirert av foobar2000:$N<code>(title)</code> byttes ut med sangtittel,$N<code>[(artist) - ](title)</code> dropper [dette] hvis artist er blank$N<code>$lpad((tn),2,0)</code> viser sangnr. med 2 siffer", - "fr_pdel": "slett", - "fr_pnew": "lagre som", - "fr_pname": "gi innstillingene dine et navn", - "fr_aborted": "avbrutt", - "fr_lold": "gammelt navn", - "fr_lnew": "nytt navn", - "fr_tags": "metadata for de valgte filene (kun for referanse):", - "fr_busy": "endrer navn pรฅ {0} filer...\n\n{1}", - "fr_efail": "endring av navn feilet:\n", - "fr_nchg": "{0} av navnene ble justert pga. win og/eller ikke /\n\nvil du fortsette med de nye navnene som ble valgt?", - - "fd_ok": "sletting OK", - "fd_err": "sletting feilet:\n", - "fd_none": "ingenting ble slettet; kanskje avvist av serverkonfigurasjon (xbd)?", - "fd_busy": "sletter {0} filer...\n\n{1}", - "fd_warn1": "SLETT disse {0} filene?", - "fd_warn2": "Siste sjanse! Dette kan ikke angres. Slett?", - - "fc_ok": "klippet ut {0} filer", - "fc_warn": 'klippet ut {0} filer\n\nmen: kun denne nettleserfanen har mulighet til รฅ lime dem inn et annet sted, siden antallet filer er helt hinsides', - - "fcc_ok": "kopierte {0} filer til utklippstavlen", - "fcc_warn": 'kopierte {0} filer til utklippstavlen\n\nmen: kun denne nettleserfanen har mulighet til รฅ lime dem inn et annet sted, siden antallet filer er helt hinsides', - - "fp_apply": "bekreft og lim inn nรฅ", - "fp_ecut": "du mรฅ klippe ut eller kopiere noen filer / mapper fรธrst\n\nmerk: du kan gjerne jobbe pรฅ kryss av nettleserfaner; klippe ut i รฉn fane, lime inn i en annen", - "fp_ename": "{0} filer kan ikke flyttes til mรฅlmappen fordi det allerede finnes filer med samme navn. Gi dem nye navn nedenfor, eller gi dem et blankt navn for รฅ hoppe over dem:", - "fcp_ename": "{0} filer kan ikke kopieres til mรฅlmappen fordi det allerede finnes filer med samme navn. Gi dem nye navn nedenfor, eller gi dem et blankt navn for รฅ hoppe over dem:", - "fp_emore": "det er fortsatt flere navn som mรฅ endres", - "fp_ok": "flytting OK", - "fcp_ok": "kopiering OK", - "fp_busy": "flytter {0} filer...\n\n{1}", - "fcp_busy": "kopierer {0} filer...\n\n{1}", - "fp_abrt": "avbryter...", - "fp_err": "flytting feilet:\n", - "fcp_err": "kopiering feilet:\n", - "fp_confirm": "flytt disse {0} filene hit?", - "fcp_confirm": "kopiรฉr disse {0} filene hit?", - "fp_etab": 'kunne ikke lese listen med filer ifra den andre nettleserfanen', - "fp_name": "Laster opp รฉn fil fra enheten din. Velg filnavn:", - "fp_both_m": '
    hva skal limes inn her?
    Enter = Flytt {0} filer fra ยซ{1}ยป\nESC = Last opp {2} filer fra enheten din', - "fcp_both_m": '
    hva skal limes inn her?
    Enter = Kopiรฉr {0} filer fra ยซ{1}ยป\nESC = Last opp {2} filer fra enheten din', - "fp_both_b": 'FlyttLast opp', - "fcp_both_b": 'KopiรฉrLast opp', - - "mk_noname": "skriv inn et navn i tekstboksen til venstre fรธrst :p", - - "tv_load": "Laster inn tekstfil:\n\n{0}\n\n{1}% ({2} av {3} MiB lastet ned)", - "tv_xe1": "kunne ikke laste tekstfil:\n\nfeil ", - "tv_xe2": "404, Fil ikke funnet", - "tv_lst": "tekstfiler i mappen", - "tvt_close": "gรฅ tilbake til mappen$NSnarvei: M (eller Esc)\">โŒ lukk", - "tvt_dl": "last ned denne filen$NSnarvei: Y\">๐Ÿ’พ last ned", - "tvt_prev": "vis forrige dokument$NSnarvei: i\">โฌ† forr.", - "tvt_next": "vis neste dokument$NSnarvei: K\">โฌ‡ neste", - "tvt_sel": "markรฉr filen   ( for utklipp / sletting / ... )$NSnarvei: S\">merk", - "tvt_edit": "redigรฉr filen$NSnarvei: E\">โœ๏ธ endre", - "tvt_tail": "overvรฅk filen for endringer og vis nye linjer i sanntid\">๐Ÿ“ก fรธlg", - "tvt_wrap": "tekstbryting\">โ†ต", - "tvt_atail": "hold de nyeste linjene synlig (lรฅs til bunnen av siden)\">โš“", - "tvt_ctail": "forstรฅ og vis terminalfarger (ansi-sekvenser)\">๐ŸŒˆ", - "tvt_ntail": "maks-grense for antall bokstaver som skal vises i vinduet", - - "m3u_add1": "sangen ble lagt til i m3u-spillelisten", - "m3u_addn": "{0} sanger ble lagt til i m3u-spillelisten", - "m3u_clip": "m3u-spillelisten ble kopiert til utklippstavlen\n\nneste steg er รฅ opprette et tekstdokument med filnavn som slutter pรฅ .m3u og lime inn spillelisten der", - - "gt_vau": "ikke vis videofiler, bare spill lyden\">๐ŸŽง", - "gt_msel": "markรฉr filer istedenfor รฅ รฅpne dem; ctrl-klikk filer for รฅ overstyre$N$N<em>nรฅr aktiv: dobbelklikk en fil / mappe for รฅ รฅpne</em>$N$NSnarvei: S\">markering", - "gt_crop": "beskjรฆr ikonene sรฅ de passer bedre\">โœ‚", - "gt_3x": "hรธyere opplรธsning pรฅ ikoner\">3x", - "gt_zoom": "zoom", - "gt_chop": "trim", - "gt_sort": "sorter", - "gt_name": "navn", - "gt_sz": "stรธrr.", - "gt_ts": "dato", - "gt_ext": "type", - "gt_c1": "reduser maks-lengde pรฅ filnavn", - "gt_c2": "รธk maks-lengde pรฅ filnavn", - - "sm_w8": "sรธker...", - "sm_prev": "sรธkeresultatene er fra et tidligere sรธk:\n ", - "sl_close": "lukk sรธkeresultater", - "sl_hits": "viser {0} treff", - "sl_moar": "hent flere", - - "s_sz": "stรธrr.", - "s_dt": "dato", - "s_rd": "sti", - "s_fn": "navn", - "s_ta": "meta", - "s_ua": "up@", - "s_ad": "avns.", - "s_s1": "stรธrre enn โ†“ MiB", - "s_s2": "mindre enn โ†“ MiB", - "s_d1": "nyere enn <dato>", - "s_d2": "eldre enn", - "s_u1": "lastet opp etter", - "s_u2": "og/eller fรธr", - "s_r1": "mappenavn inneholder", - "s_f1": "filnavn inneholder", - "s_t1": "sang-info inneholder", - "s_a1": "konkrete egenskaper", - - "md_eshow": "viser forenklet ", - "md_off": "[๐Ÿ“œreadme] er avskrudd i [โš™๏ธ] -- dokument skjult", - - "badreply": "Ugyldig svar ifra serveren", - - "xhr403": "403: Tilgang nektet\n\nkanskje du ble logget ut? prรธv รฅ trykk F5", - "xhr0": "ukjent (enten nettverksproblemer eller serverkrasj)", - "cf_ok": "beklager -- liten tilfeldig kontroll, alt OK\n\nting skal fortsette om ca. 30 sekunder\n\nhvis ikkeno skjer, trykk F5 for รฅ laste siden pรฅ nytt", - "tl_xe1": "kunne ikke hente undermapper:\n\nfeil ", - "tl_xe2": "404: Mappen finnes ikke", - "fl_xe1": "kunne ikke hente filer i mappen:\n\nfeil ", - "fl_xe2": "404: Mappen finnes ikke", - "fd_xe1": "kan ikke opprette ny mappe:\n\nfeil ", - "fd_xe2": "404: Den overordnede mappen finnes ikke", - "fsm_xe1": "kunne ikke sende melding:\n\nfeil ", - "fsm_xe2": "404: Den overordnede mappen finnes ikke", - "fu_xe1": "kunne ikke hente listen med nylig opplastede filer ifra serveren:\n\nfeil ", - "fu_xe2": "404: Filen finnes ikke??", - - "fz_tar": "ukomprimert gnu-tar arkiv, for linux og mac", - "fz_pax": "ukomprimert pax-tar arkiv, litt tregere", - "fz_targz": "gnu-tar pakket med gzip (nivรฅ 3)$N$NNB: denne er veldig treg;$Nukomprimert tar er bedre", - "fz_tarxz": "gnu-tar pakket med xz (nivรฅ 1)$N$NNB: denne er veldig treg;$Nukomprimert tar er bedre", - "fz_zip8": "zip med filnavn i utf8 (noe problematisk pรฅ windows 7 og eldre)", - "fz_zipd": "zip med filnavn i cp437, for hรธggamle maskiner", - "fz_zipc": "cp437 med tidlig crc32,$Nfor MS-DOS PKZIP v2.04g (oktober 1993)$N(รธker behandlingstid pรฅ server)", - - "un_m1": "nedenfor kan du angre / slette filer som du nylig har lastet opp, eller avbryte ufullstendige opplastninger", - "un_upd": "oppdater", - "un_m4": "eller hvis du vil dele nedlastnings-lenkene:", - "un_ulist": "vis", - "un_ucopy": "kopiรฉr", - "un_flt": "valgfritt filter:  filnavn / filsti mรฅ inneholde", - "un_fclr": "nullstill filter", - "un_derr": 'unpost-sletting feilet:\n', - "un_f5": 'noe gikk galt, prรธv รฅ oppdatere listen eller trykk F5', - "un_uf5": "beklager, men du mรฅ laste siden pรฅ nytt (f.eks. ved รฅ trykke F5 eller CTRL-R) fรธr denne opplastningen kan avbrytes", - "un_nou": 'advarsel: kan ikke vise ufullstendige opplastninger akkurat nรฅ; klikk pรฅ oppdater-linken om litt', - "un_noc": 'advarsel: angring av fullfรธrte opplastninger er deaktivert i serverkonfigurasjonen', - "un_max": "viser de fรธrste 2000 filene (bruk filteret for รฅ innsnevre)", - "un_avail": "{0} nylig opplastede filer kan slettes
    {1} ufullstendige opplastninger kan avbrytes", - "un_m2": "sortert etter opplastningstid; nyeste fรธrst:", - "un_no1": "men nei, her var det jaggu ikkeno som slettes kan", - "un_no2": "men nei, her var det jaggu ingenting som passet overens med filteret", - "un_next": "slett de neste {0} filene nedenfor", - "un_abrt": "avbryt", - "un_del": "slett", - "un_m3": "henter listen med nylig opplastede filer...", - "un_busy": "sletter {0} filer...", - "un_clip": "{0} lenker kopiert til utklippstavlen", - - "u_https1": "du burde", - "u_https2": "bytte til https", - "u_https3": "for hรธyere hastighet", - "u_ancient": 'nettleseren din er prehistorisk -- mulig du burde bruke bup istedenfor', - "u_nowork": "krever firefox 53+, chrome 57+, eller iOS 11+", - "tail_2old": "krever firefox 105+, chrome 71+, eller iOS 14.5+", - "u_nodrop": 'nettleseren din er for gammel til รฅ laste opp filer ved รฅ dra dem inn i vinduet', - "u_notdir": "mottok ikke mappen!\n\nnettleseren din er for gammel,\nprรธv รฅ dra mappen inn i vinduet istedenfor", - "u_uri": "for รฅ laste opp bilder ifra andre nettleservinduer,\nslipp bildet rett pรฅ den store last-opp-knappen", - "u_enpot": 'bytt til enkelt UI (gir sannsynlig raskere opplastning)', - "u_depot": 'bytt til snรฆsent UI (gir sannsynlig tregere opplastning)', - "u_gotpot": 'byttet til et enklere UI for รฅ laste opp raskere,\n\ndu kan gjerne bytte tilbake altsรฅ!', - "u_pott": "

    filer:   {0} ferdig,   {1} feilet,   {2} behandles,   {3} i kรธ

    ", - "u_ever": "dette er den primitive opplasteren; up2k krever minst:
    chrome 21 // firefox 13 // edge 12 // opera 12 // safari 5.1", - "u_su2k": 'dette er den primitive opplasteren; up2k er bedre', - "u_uput": 'litt raskere (uten sha512)', - "u_ewrite": 'du har ikke skrivetilgang i denne mappen', - "u_eread": 'du har ikke lesetilgang i denne mappen', - "u_enoi": 'filsรธk er deaktivert i serverkonfigurasjonen', - "u_enoow": "kan ikke overskrive filer her (Delete-rettigheten er nรธdvendig)", - "u_badf": 'Disse {0} filene (av totalt {1}) kan ikke leses, kanskje pga rettighetsproblemer i filsystemet pรฅ datamaskinen din:\n\n', - "u_blankf": 'Disse {0} filene (av totalt {1}) er blanke / uten innhold; รธnsker du รฅ laste dem opp uansett?\n\n', - "u_applef": 'Disse {0} filene (av totalt {1}) er antagelig uรธnskede;\nTrykk OK/Enter for รฅ HOPPE OVER disse filene,\nTrykk Avbryt/ESC for รฅ LASTE OPP disse filene ogsรฅ:\n\n', - "u_just1": '\nFunker kanskje bedre hvis du bare tar รฉn fil om gangen', - "u_ff_many": 'Hvis du bruker Linux / MacOS / Android, sรฅ kan dette antallet filer
    kanskje krasje Firefox! Hvis det skjer, sรฅ prรธv igjen (eller bruk Chrome).', - "u_up_life": "Filene slettes fra serveren {0}\netter at opplastningen er fullfรธrt", - "u_asku": 'Laste opp disse {0} filene til {1}', - "u_unpt": "Du kan angre / slette opplastningen med ๐Ÿงฏ oppe til venstre", - "u_bigtab": 'Vil nรฅ vise {0} filer...\n\nDette kan krasje nettleseren din. Fortsette?', - "u_scan": 'Leser mappene...', - "u_dirstuck": 'Nettleseren din fikk ikke tilgang til รฅ lese fรธlgende {0} filer/mapper, sรฅ de blir hoppet over:', - "u_etadone": 'Ferdig ({0}, {1} filer)', - "u_etaprep": '(forbereder opplastning)', - "u_hashdone": 'befaring ferdig', - "u_hashing": 'les', - "u_hs": 'serveren tenker...', - "u_started": "filene blir nรฅ lastet opp ๐Ÿš€", - "u_dupdefer": "duplikat; vil bli hรฅndtert til slutt", - "u_actx": "klikk her for รฅ forhindre tap av
    ytelse ved bytte til andre vinduer/faner", - "u_fixed": "OK!  Lรธste seg ๐Ÿ‘", - "u_cuerr": "kunne ikke laste opp del {0} av {1};\nsikkert greit, fortsetter\n\nfil: {2}", - "u_cuerr2": "server nektet opplastningen (del {0} av {1});\nprรธver igjen senere\n\nfil: {2}\n\nerror ", - "u_ehstmp": "prรธver igjen; se mld nederst", - "u_ehsfin": "server nektet forespรธrselen om รฅ ferdigstille filen; prรธver igjen...", - "u_ehssrch": "server nektet forespรธrselen om รฅ utfรธre sรธk; prรธver igjen...", - "u_ehsinit": "server nektet forespรธrselen om รฅ begynne en ny opplastning; prรธver igjen...", - "u_eneths": "et problem med nettverket gjorde at avtale om opplastning ikke kunne inngรฅs; prรธver igjen...", - "u_enethd": "et problem med nettverket gjorde at filsjekk ikke kunne utfรธres; prรธver igjen...", - "u_cbusy": "venter pรฅ klarering ifra server etter et lite nettverksglipp...", - "u_ehsdf": "serveren er full!\n\nprรธver igjen regelmessig,\ni tilfelle noen rydder litt...", - "u_emtleak1": "uff, det er mulig at nettleseren din har en minnelekkasje...\nForeslรฅr", - "u_emtleak2": ' helst at du bytter til https, eller ', - "u_emtleak3": ' at du ', - "u_emtleakc": 'prรธver fรธlgende:\n
    • trykk F5 for รฅ laste siden pรฅ nytt
    • sรฅ skru av  mt  bryteren under  โš™๏ธ innstillinger
    • og forsรธk den samme opplastningen igjen
    Opplastning vil gรฅ litt tregere, men det fรฅr sรฅ vรฆre.\nBeklager bryderiet !\n\nPS: feilen skal vรฆre fikset i chrome v107', - "u_emtleakf": 'prรธver fรธlgende:\n
    • trykk F5 for รฅ laste siden pรฅ nytt
    • sรฅ skru pรฅ ๐Ÿฅ” ("enkelt UI") i opplasteren
    • og forsรธk den samme opplastningen igjen
    \nPS: Firefox fikser forhรฅpentligvis feilen en eller annen gang', - "u_s404": "ikke funnet pรฅ serveren", - "u_expl": "forklar", - "u_maxconn": "de fleste nettlesere tillater ikke mer enn 6, men firefox lar deg รธke grensen med connections-per-server i about:config", - "u_tu": '

    ADVARSEL: turbo er pรฅ,  avbrutte opplastninger vil muligens ikke oppdages og gjenopptas; hold musepekeren over turbo-knappen for mer info

    ', - "u_ts": '

    ADVARSEL: turbo er pรฅ,  sรธkeresultater kan vรฆre feil; hold musepekeren over turbo-knappen for mer info

    ', - "u_turbo_c": "turbo er deaktivert i serverkonfigurasjonen", - "u_turbo_g": 'turbo ble deaktivert fordi du ikke har\ntilgang til รฅ se mappeinnhold i dette volumet', - "u_life_cfg": 'slett opplastning etter min (eller timer)', - "u_life_est": 'opplastningen slettes ---', - "u_life_max": 'denne mappen tillater ikke รฅ \noppbevare filer i mer enn {0}', - "u_unp_ok": 'opplastning kan angres i {0}', - "u_unp_ng": 'opplastning kan IKKE angres', - "ue_ro": 'du har ikke skrivetilgang i denne mappen\n\n', - "ue_nl": 'du er ikke logget inn', - "ue_la": 'du er logget inn som "{0}"', - "ue_sr": 'du er i filsรธk-modus\n\nbytt til opplastning ved รฅ klikke pรฅ forstรธrrelsesglasset ๐Ÿ”Ž (ved siden av den store FILSร˜K-knappen) og prรธv igjen\n\nsorry', - "ue_ta": 'prรธv รฅ laste opp igjen, det burde funke nรฅ', - "ue_ab": "den samme filen er allerede under opplastning til en annen mappe, og den mรฅ fullfรธres der fรธr filen kan lastes opp andre steder.\n\nDu kan avbryte og glemme den pรฅbegynte opplastningen ved hjelp av ๐Ÿงฏ oppe til venstre", - "ur_1uo": "OK: Filen ble lastet opp", - "ur_auo": "OK: Alle {0} filene ble lastet opp", - "ur_1so": "OK: Filen ble funnet pรฅ serveren", - "ur_aso": "OK: Alle {0} filene ble funnet pรฅ serveren", - "ur_1un": "Opplastning feilet!", - "ur_aun": "Alle {0} opplastningene gikk feil!", - "ur_1sn": "Filen finnes IKKE pรฅ serveren", - "ur_asn": "Fant INGEN av de {0} filene pรฅ serveren", - "ur_um": "Ferdig;\n{0} opplastninger gikk bra,\n{1} opplastninger gikk feil", - "ur_sm": "Ferdig;\n{0} filer ble funnet,\n{1} filer finnes IKKE pรฅ serveren", - - "lang_set": "passer det รฅ laste siden pรฅ nytt?", - }, - "chi": { - // ไปฅ //m ็ป“ๅฐพ็š„่กŒๆ˜ฏๆœช็ป้ชŒ่ฏ็š„ๆœบๅ™จ็ฟป่ฏ‘ - "tt": "ไธญๆ–‡", - "cols": { - "c": "ๆ“ไฝœๆŒ‰้’ฎ", - "dur": "ๆŒ็ปญๆ—ถ้—ด", - "q": "่ดจ้‡ / ๆฏ”็‰น็އ", - "Ac": "้Ÿณ้ข‘็ผ–็ ", - "Vc": "่ง†้ข‘็ผ–็ ", - "Fmt": "ๆ ผๅผ / ๅฎนๅ™จ", - "Ahash": "้Ÿณ้ข‘ๆ ก้ชŒๅ’Œ", - "Vhash": "่ง†้ข‘ๆ ก้ชŒๅ’Œ", - "Res": "ๅˆ†่พจ็އ", - "T": "ๆ–‡ไปถ็ฑปๅž‹", - "aq": "้Ÿณ้ข‘่ดจ้‡ / ๆฏ”็‰น็އ", - "vq": "่ง†้ข‘่ดจ้‡ / ๆฏ”็‰น็އ", - "pixfmt": "ๅญ้‡‡ๆ ท / ๅƒ็ด ็ป“ๆž„", - "resw": "ๆฐดๅนณๅˆ†่พจ็އ", - "resh": "ๅž‚็›ดๅˆ†่พจ็އ", - "chs": "้Ÿณ้ข‘้ข‘้“", - "hz": "้‡‡ๆ ท็އ" - }, - - "hks": [ - [ - "misc", - ["ESC", "ๅ…ณ้—ญๅ„็ง็ช—ๅฃ"], - - "file-manager", - ["G", "ๅˆ‡ๆขๅˆ—่กจ / ็ฝ‘ๆ ผ่ง†ๅ›พ"], - ["T", "ๅˆ‡ๆข็ผฉ็•ฅๅ›พ / ๅ›พๆ ‡"], - ["โ‡ง A/D", "็ผฉ็•ฅๅ›พๅคงๅฐ"], - ["ctrl-K", "ๅˆ ้™ค้€‰ไธญ้กน"], - ["ctrl-X", "ๅ‰ชๅˆ‡้€‰ไธญ้กน"], - ["ctrl-C", "ๅคๅˆถ้€‰ไธญ้กน"], //m - ["ctrl-V", "็ฒ˜่ดดๅˆฐๆ–‡ไปถๅคน"], - ["Y", "ไธ‹่ฝฝ้€‰ไธญ้กน"], - ["F2", "้‡ๅ‘ฝๅ้€‰ไธญ้กน"], - - "file-list-sel", - ["space", "ๅˆ‡ๆขๆ–‡ไปถ้€‰ๆ‹ฉ"], - ["โ†‘/โ†“", "็งปๅŠจ้€‰ๆ‹ฉๅ…‰ๆ ‡"], - ["ctrl โ†‘/โ†“", "็งปๅŠจๅ…‰ๆ ‡ๅ’Œ่ง†ๅ›พ"], - ["โ‡ง โ†‘/โ†“", "้€‰ๆ‹ฉไธŠไธ€ไธช/ไธ‹ไธ€ไธชๆ–‡ไปถ"], - ["ctrl-A", "้€‰ๆ‹ฉๆ‰€ๆœ‰ๆ–‡ไปถ / ๆ–‡ไปถๅคน"] - ], [ - "navigation", - ["B", "ๅˆ‡ๆข้ขๅŒ…ๅฑ‘ๅฏผ่ˆช / ๅฏผ่ˆช็ช—ๆ ผ"], - ["I/K", "ๅ‰ไธ€ไธช/ไธ‹ไธ€ไธชๆ–‡ไปถๅคน"], - ["M", "็ˆถๆ–‡ไปถๅคน๏ผˆๆˆ–ๆŠ˜ๅ ๅฝ“ๅ‰ๆ–‡ไปถๅคน๏ผ‰"], - ["V", "ๅˆ‡ๆขๅฏผ่ˆช็ช—ๆ ผไธญ็š„ๆ–‡ไปถๅคน / ๆ–‡ๆœฌๆ–‡ไปถ"], - ["A/D", "ๅฏผ่ˆช็ช—ๆ ผๅคงๅฐ"] - ], [ - "audio-player", - ["J/L", "ไธŠไธ€้ฆ–/ไธ‹ไธ€้ฆ–ๆญŒๆ›ฒ"], - ["U/O", "่ทณ่ฟ‡10็ง’ๅ‘ๅ‰/ๅ‘ๅŽ"], - ["0..9", "่ทณ่ฝฌๅˆฐ0%..90%"], - ["P", "ๆ’ญๆ”พ/ๆš‚ๅœ๏ผˆไนŸๅฏไปฅๅฏๅŠจ๏ผ‰"], - ["S", "้€‰ๆ‹ฉๆญฃๅœจๆ’ญๆ”พ็š„ๆญŒๆ›ฒ"], //m - ["Y", "ไธ‹่ฝฝๆญŒๆ›ฒ"] - ], [ - "image-viewer", - ["J/L, โ†/โ†’", "ไธŠไธ€ๅผ /ไธ‹ไธ€ๅผ ๅ›พ็‰‡"], - ["Home/End", "็ฌฌไธ€ๅผ /ๆœ€ๅŽไธ€ๅผ ๅ›พ็‰‡"], - ["F", "ๅ…จๅฑ"], - ["R", "้กบๆ—ถ้’ˆๆ—‹่ฝฌ"], - ["โ‡ง R", "้€†ๆ—ถ้’ˆๆ—‹่ฝฌ"], - ["S", "้€‰ๆ‹ฉๅ›พ็‰‡"], //m - ["Y", "ไธ‹่ฝฝๅ›พ็‰‡"] - ], [ - "video-player", - ["U/O", "่ทณ่ฟ‡10็ง’ๅ‘ๅ‰/ๅ‘ๅŽ"], - ["P/K/Space", "ๆ’ญๆ”พ/ๆš‚ๅœ"], - ["C", "็ปง็ปญๆ’ญๆ”พไธ‹ไธ€ๆฎต"], - ["V", "ๅพช็Žฏ"], - ["M", "้™้Ÿณ"], - ["[ and ]", "่ฎพ็ฝฎๅพช็ŽฏๅŒบ้—ด"] - ], [ - "textfile-viewer", - ["I/K", "ๅ‰ไธ€ไธช/ไธ‹ไธ€ไธชๆ–‡ไปถ"], - ["M", "ๅ…ณ้—ญๆ–‡ๆœฌๆ–‡ไปถ"], - ["E", "็ผ–่พ‘ๆ–‡ๆœฌๆ–‡ไปถ"], - ["S", "้€‰ๆ‹ฉๆ–‡ไปถ๏ผˆ็”จไบŽๅ‰ชๅˆ‡/้‡ๅ‘ฝๅ๏ผ‰"] - ] - ], - - "m_ok": "็กฎๅฎš", - "m_ng": "ๅ–ๆถˆ", - - "enable": "ๅฏ็”จ", - "danger": "ๅฑ้™ฉ", - "clipped": "ๅทฒๅคๅˆถๅˆฐๅ‰ช่ดดๆฟ", - - "ht_s1": "็ง’", - "ht_s2": "็ง’", - "ht_m1": "ๅˆ†", - "ht_m2": "ๅˆ†", - "ht_h1": "ๆ—ถ", - "ht_h2": "ๆ—ถ", - "ht_d1": "ๅคฉ", - "ht_d2": "ๅคฉ", - "ht_and": " ๅ’Œ ", - - "goh": "ๆŽงๅˆถ้ขๆฟ", - "gop": 'ๅ‰ไธ€้กน">pre', - "gou": '้กถ้ƒจ">up', - "gon": 'ไธ‹ไธ€้กน">next', - "logout": " ็™ปๅ‡บ", - "login": "็™ปๅฝ•", //m - "access": " ่ฎฟ้—ฎ", - "ot_close": "ๅ…ณ้—ญๅญ่œๅ•", - "ot_search": "ๆŒ‰ๅฑžๆ€งใ€่ทฏๅพ„/ๅ็งฐใ€้Ÿณไนๆ ‡็ญพๆˆ–ไธŠ่ฟฐๅ†…ๅฎน็š„ไปปๆ„็ป„ๅˆๆœ็ดขๆ–‡ไปถ$N$N<code>foo bar</code> = ๅฟ…้กปๅŒ…ๅซ ยซfooยป ๅ’Œ ยซbarยป,$N<code>foo -bar</code> = ๅŒ…ๅซ ยซfooยป ่€ŒไธๅŒ…ๅซ ยซbarยป,$N<code>^yana .opus$</code> = ไปฅ ยซyamaยป ไธบๅผ€ๅคด็š„ ยซopusยป ๆ–‡ไปถ$N<code>"try unite"</code> = ๆญฃๅฅฝๅŒ…ๅซ ยซtry uniteยป$N$Nๆ—ถ้—ดๆ ผๅผไธบ iso-8601, ๆฏ”ๅฆ‚:$N<code>2009-12-31</code> or <code>2020-09-12 23:30:00</code>", - "ot_unpost": "ๅ–ๆถˆๅ‘ๅธƒ๏ผšๅˆ ้™คๆœ€่ฟ‘ไธŠไผ ็š„ๅ†…ๅฎน๏ผŒๆˆ–ไธญๆญขๆœชๅฎŒๆˆ็š„ๅ†…ๅฎน", - "ot_bup": "bup๏ผšๅŸบ็ก€ไธŠไผ ๅ™จ๏ผŒ็”š่‡ณๆ”ฏๆŒ Netscape 4.0", - "ot_mkdir": "mkdir๏ผšๅˆ›ๅปบๆ–ฐ็›ฎๅฝ•", - "ot_md": "new-md๏ผšๅˆ›ๅปบๆ–ฐ Markdown ๆ–‡ๆกฃ", - "ot_msg": "msg๏ผšๅ‘ๆœๅŠกๅ™จๆ—ฅๅฟ—ๅ‘้€ๆถˆๆฏ", - "ot_mp": "ๅช’ไฝ“ๆ’ญๆ”พๅ™จ้€‰้กน", - "ot_cfg": "้…็ฝฎ้€‰้กน", - "ot_u2i": 'up2k๏ผšไธŠไผ ๆ–‡ไปถ๏ผˆๅฆ‚ๆžœไฝ ๆœ‰ๅ†™ๅ…ฅๆƒ้™๏ผ‰๏ผŒๆˆ–ๅˆ‡ๆขๅˆฐๆœ็ดขๆจกๅผไปฅๆŸฅ็œ‹ๆ–‡ไปถๆ˜ฏๅฆๅญ˜ๅœจไบŽๆœๅŠกๅ™จไธŠ,$N$NไธŠไผ ๆ˜ฏๅฏๆขๅค็š„๏ผŒๅคš็บฟ็จ‹็š„๏ผŒไฟ็•™ๆ–‡ไปถๆ—ถ้—ดๆˆณ๏ผŒไฝ†ๆฏ” [๐ŸŽˆ] ๏ผˆๅŸบ็ก€ไธŠไผ ๅ™จ๏ผ‰ๅ ็”จ ๆ›ดๅคš็š„CPU

    ไธŠไผ ่ฟ‡็จ‹ไธญ๏ผŒๆญคๅ›พๆ ‡ไผšๅ˜ๆˆ่ฟ›ๅบฆๆŒ‡็คบๅ™จ๏ผ', - "ot_u2w": 'up2k๏ผšๅธฆๆœ‰ๆขๅคๆ”ฏๆŒ็š„ๆ–‡ไปถไธŠไผ ๏ผˆๅ…ณ้—ญๆต่งˆๅ™จๅŽ๏ผŒ้‡ๆ–ฐไธŠไผ ็›ธๅŒๆ–‡ไปถ๏ผ‰$N$Nๅคš็บฟ็จ‹็š„๏ผŒๆ–‡ไปถๆ—ถ้—ดๆˆณๅพ—ไปฅไฟ็•™๏ผŒไฝ†ๆฏ” [๐ŸŽˆ]  ๏ผˆๅŸบ็ก€ไธŠไผ ๅ™จ๏ผ‰ไฝฟ็”จๆ›ดๅคšCPU

    ไธŠไผ ่ฟ‡็จ‹ไธญ๏ผŒ่ฟ™ไธชๅ›พๆ ‡ไผšๅ˜ๆˆ่ฟ›ๅบฆๆŒ‡็คบๅ™จ๏ผ', - "ot_noie": '่ฏทไฝฟ็”จ Chrome / Firefox / Edge', - - "ab_mkdir": "ๅˆ›ๅปบ็›ฎๅฝ•", - "ab_mkdoc": "ๆ–ฐๅปบ Markdown ๆ–‡ๆกฃ", - "ab_msg": "ๅ‘้€ๆถˆๆฏๅˆฐๆœๅŠกๅ™จๆ—ฅๅฟ—", - - "ay_path": "่ทณ่ฝฌๅˆฐๆ–‡ไปถๅคน", - "ay_files": "่ทณ่ฝฌๅˆฐๆ–‡ไปถ", - - "wt_ren": "้‡ๅ‘ฝๅ้€‰ไธญ็š„้กน็›ฎ$Nๅฟซๆท้”ฎ: F2", - "wt_del": "ๅˆ ้™ค้€‰ไธญ็š„้กน็›ฎ$Nๅฟซๆท้”ฎ: ctrl-K", - "wt_cut": "ๅ‰ชๅˆ‡้€‰ไธญ็š„้กน็›ฎ<small>๏ผˆ็„ถๅŽ็ฒ˜่ดดๅˆฐๅ…ถไป–ๅœฐๆ–น๏ผ‰</small>$Nๅฟซๆท้”ฎ: ctrl-X", - "wt_cpy": "ๅฐ†้€‰ไธญ็š„้กน็›ฎๅคๅˆถๅˆฐๅ‰ช่ดดๆฟ<small>๏ผˆ็„ถๅŽ็ฒ˜่ดดๅˆฐๅ…ถไป–ๅœฐๆ–น๏ผ‰</small>$Nๅฟซๆท้”ฎ: ctrl-C", //m - "wt_pst": "็ฒ˜่ดดไน‹ๅ‰ๅ‰ชๅˆ‡/ๅคๅˆถ็š„้€‰ๆ‹ฉ$Nๅฟซๆท้”ฎ: ctrl-V", - "wt_selall": "้€‰ๆ‹ฉๆ‰€ๆœ‰ๆ–‡ไปถ$Nๅฟซๆท้”ฎ: ctrl-A๏ผˆๅฝ“ๆ–‡ไปถ่ขซ่š็„ฆๆ—ถ๏ผ‰", - "wt_selinv": "ๅ่ฝฌ้€‰ๆ‹ฉ", - "wt_zip1": "ๅฐ†ๆญคๆ–‡ไปถๅคนไธ‹่ฝฝไธบๅฝ’ๆกฃๆ–‡ไปถ", //m - "wt_selzip": "ๅฐ†้€‰ๆ‹ฉไธ‹่ฝฝไธบๅฝ’ๆกฃๆ–‡ไปถ", - "wt_seldl": "ๅฐ†้€‰ๆ‹ฉไธ‹่ฝฝไธบๅ•็‹ฌ็š„ๆ–‡ไปถ$Nๅฟซๆท้”ฎ: Y", - "wt_npirc": "ๅคๅˆถ IRC ๆ ผๅผ็š„ๆ›ฒ็›ฎไฟกๆฏ", - "wt_nptxt": "ๅคๅˆถ็บฏๆ–‡ๆœฌๆ ผๅผ็š„ๆ›ฒ็›ฎไฟกๆฏ", - "wt_m3ua": "ๆทปๅŠ ๅˆฐ m3u ๆ’ญๆ”พๅˆ—่กจ๏ผˆ็จๅŽ็‚นๅ‡ป ๐Ÿ“ปcopy๏ผ‰", //m - "wt_m3uc": "ๅคๅˆถ m3u ๆ’ญๆ”พๅˆ—่กจๅˆฐๅ‰ช่ดดๆฟ", //m - "wt_grid": "ๅˆ‡ๆข็ฝ‘ๆ ผ/ๅˆ—่กจ่ง†ๅ›พ$Nๅฟซๆท้”ฎ: G", - "wt_prev": "ไธŠไธ€ๆ›ฒ$Nๅฟซๆท้”ฎ: J", - "wt_play": "ๆ’ญๆ”พ/ๆš‚ๅœ$Nๅฟซๆท้”ฎ: P", - "wt_next": "ไธ‹ไธ€ๆ›ฒ$Nๅฟซๆท้”ฎ: L", - - "ul_par": "ๅนถ่กŒไธŠไผ ๏ผš", - "ut_rand": "้šๆœบๅŒ–ๆ–‡ไปถๅ", - "ut_u2ts": "ๅฐ†ๆœ€ๅŽไฟฎๆ”น็š„ๆ—ถ้—ดๆˆณ$NไปŽไฝ ็š„ๆ–‡ไปถ็ณป็ปŸๅคๅˆถๅˆฐๆœๅŠกๅ™จ\">๐Ÿ“…", - "ut_ow": "่ฆ†็›–ๆœๅŠกๅ™จไธŠ็š„็Žฐๆœ‰ๆ–‡ไปถ๏ผŸ$N๐Ÿ›ก๏ธ: ไปŽไธ๏ผˆไผš็”Ÿๆˆไธ€ไธชๆ–ฐๆ–‡ไปถๅ๏ผ‰$N๐Ÿ•’: ๆœๅŠกๅ™จๆ–‡ไปถ่พƒๆ—งๅˆ™่ฆ†็›–$Nโ™ป๏ธ: ๆ€ปๆ˜ฏ่ฆ†็›–๏ผŒๅฆ‚ๆžœๆ–‡ไปถๅ†…ๅฎนไธๅŒ", //m - "ut_mt": "ๅœจไธŠไผ ๆ—ถ็ปง็ปญๅ“ˆๅธŒๅ…ถไป–ๆ–‡ไปถ$N$Nๅฆ‚ๆžœไฝ ็š„ CPU ๆˆ–็กฌ็›˜ๆ˜ฏ็“ถ้ขˆ๏ผŒๅฏ่ƒฝ้œ€่ฆ็ฆ็”จ", - "ut_ask": 'ไธŠไผ ๅผ€ๅง‹ๅ‰่ฏข้—ฎ็กฎ่ฎค">๐Ÿ’ญ', - "ut_pot": "้€š่ฟ‡็ฎ€ๅŒ– UI ๆฅ$Nๆ้ซ˜ๆ…ข่ฎพๅค‡ไธŠ็š„ไธŠไผ ้€Ÿๅบฆ", - "ut_srch": "ๅฎž้™…ไธไธŠไผ ๏ผŒ่€Œๆ˜ฏๆฃ€ๆŸฅๆ–‡ไปถๆ˜ฏๅฆ$Nๅทฒ็ปๅญ˜ๅœจไบŽๆœๅŠกๅ™จไธŠ๏ผˆๅฐ†ๆ‰ซๆไฝ ๅฏไปฅ่ฏปๅ–็š„ๆ‰€ๆœ‰ๆ–‡ไปถๅคน๏ผ‰", - "ut_par": "้€š่ฟ‡ๅฐ†ๅ…ถ่ฎพ็ฝฎไธบ 0 ๆฅๆš‚ๅœไธŠไผ $N$Nๅฆ‚ๆžœไฝ ็š„่ฟžๆŽฅๅพˆๆ…ข/ๅปถ่ฟŸ้ซ˜๏ผŒ$N$N่ฏทๅขžๅŠ ๅœจๅฑ€ๅŸŸ็ฝ‘ๆˆ–ๆœๅŠกๅ™จ็กฌ็›˜ๆ˜ฏ็“ถ้ขˆๆ—ถไฟๆŒไธบ 1", - "ul_btn": "ๅฐ†ๆ–‡ไปถ/ๆ–‡ไปถๅคนๆ‹–ๆ”พๅˆฐ่ฟ™้‡Œ๏ผˆๆˆ–็‚นๅ‡ปๆˆ‘๏ผ‰", - "ul_btnu": "ไธŠ ไผ ", - "ul_btns": "ๆœ ็ดข", - - "ul_hash": "ๅ“ˆๅธŒ", - "ul_send": "ๅ‘้€", - "ul_done": "ๅฎŒๆˆ", - "ul_idle1": "ๆฒกๆœ‰ๆŽ’้˜Ÿ็š„ไธŠไผ ไปปๅŠก", - "ut_etah": "ๅนณๅ‡ <em>hashing</em> ้€Ÿๅบฆๅ’Œไผฐ่ฎกๅฎŒๆˆๆ—ถ้—ด", - "ut_etau": "ๅนณๅ‡ <em>ไธŠไผ </em> ้€Ÿๅบฆๅ’Œไผฐ่ฎกๅฎŒๆˆๆ—ถ้—ด", - "ut_etat": "ๅนณๅ‡ <em>ๆ€ป</em> ้€Ÿๅบฆๅ’Œไผฐ่ฎกๅฎŒๆˆๆ—ถ้—ด", - - "uct_ok": "ๆˆๅŠŸๅฎŒๆˆ", - "uct_ng": "ๅคฑ่ดฅ/ๆ‹’็ป/ๆœชๆ‰พๅˆฐ", - "uct_done": "ๆˆๅŠŸๅ’Œๅคฑ่ดฅ็š„็ป„ๅˆ", - "uct_bz": "ๆญฃๅœจๅ“ˆๅธŒๆˆ–ไธŠไผ ", - "uct_q": "็ฉบ้—ฒ๏ผŒๅพ…ๅค„็†", - - "utl_name": "ๆ–‡ไปถๅ", - "utl_ulist": "ๅˆ—่กจ", - "utl_ucopy": "ๅคๅˆถ", - "utl_links": "้“พๆŽฅ", - "utl_stat": "็Šถๆ€", - "utl_prog": "่ฟ›ๅบฆ", - - // ไฟๆŒ็ฎ€็Ÿญ: - "utl_404": "404", - "utl_err": "้”™่ฏฏ", - "utl_oserr": "OS้”™่ฏฏ", - "utl_found": "ๅทฒๆ‰พๅˆฐ", - "utl_defer": "ๅปถๆœŸ", - "utl_yolo": "ๅŠ ้€Ÿ", - "utl_done": "ๅฎŒๆˆ", - - "ul_flagblk": "ๆ–‡ไปถๅทฒๆทปๅŠ ๅˆฐ้˜Ÿๅˆ—
    ไฝ†ๅฆไธ€ไธชๆต่งˆๅ™จๆ ‡็ญพไธญๆœ‰ไธ€ไธช็นๅฟ™็š„ up2k๏ผŒ
    ๅ› ๆญค็ญ‰ๅพ…ๅฎƒๅฎŒๆˆ", - "ul_btnlk": "ๆœๅŠกๅ™จ้…็ฝฎๅทฒๅฐ†ๆญคๅผ€ๅ…ณ้”ๅฎšๅˆฐๆญค็Šถๆ€", - - "udt_up": "ไธŠไผ ", - "udt_srch": "ๆœ็ดข", - "udt_drop": "ๅฐ†ๆ–‡ไปถๆ‹–ๆ”พๅˆฐ่ฟ™้‡Œ", - - "u_nav_m": '
    ๅฅฝ็š„๏ผŒไฝ ๆœ‰ไป€ไนˆ๏ผŸ
    Enter = ๆ–‡ไปถ๏ผˆไธ€ไธชๆˆ–ๅคšไธช๏ผ‰\nESC = ไธ€ไธชๆ–‡ไปถๅคน๏ผˆๅŒ…ๆ‹ฌๅญๆ–‡ไปถๅคน๏ผ‰', - "u_nav_b": 'ๆ–‡ไปถไธ€ไธชๆ–‡ไปถๅคน', - - "cl_opts": "ๅผ€ๅ…ณ้€‰้กน", - "cl_themes": "ไธป้ข˜", - "cl_langs": "่ฏญ่จ€", - "cl_ziptype": "ๆ–‡ไปถๅคนไธ‹่ฝฝ", - "cl_uopts": "up2k ๅผ€ๅ…ณ", - "cl_favico": "็ฝ‘็ซ™ๅ›พๆ ‡", - "cl_bigdir": "ๆœ€ๅคง็›ฎๅฝ•ๆ•ฐ", - "cl_hsort": "#sort", //m - "cl_keytype": "้”ฎไฝ็ฌฆๅท", - "cl_hiddenc": "้š่—ๅˆ—", - "cl_hidec": "้š่—", - "cl_reset": "้‡็ฝฎ", - "cl_hpick": "็‚นๅ‡ปๅˆ—ๆ ‡้ข˜ไปฅๅœจไธ‹่กจไธญ้š่—", - "cl_hcancel": "ๅˆ—้š่—ๅทฒๅ–ๆถˆ", - - "ct_grid": '็ฝ‘ๆ ผ่ง†ๅ›พ', - "ct_ttips": 'โ—” โ—ก โ—”">โ„น๏ธ ๅทฅๅ…ทๆ็คบ', - "ct_thumb": 'ๅœจ็ฝ‘ๆ ผ่ง†ๅ›พไธญ๏ผŒๅˆ‡ๆขๅ›พๆ ‡ๆˆ–็ผฉ็•ฅๅ›พ$Nๅฟซๆท้”ฎ: T">๐Ÿ–ผ๏ธ ็ผฉ็•ฅๅ›พ', - "ct_csel": 'ๅœจ็ฝ‘ๆ ผ่ง†ๅ›พไธญไฝฟ็”จ CTRL ๅ’Œ SHIFT ่ฟ›่กŒๆ–‡ไปถ้€‰ๆ‹ฉ">CTRL', - "ct_ihop": 'ๅฝ“ๅ›พๅƒๆŸฅ็œ‹ๅ™จๅ…ณ้—ญๆ—ถ๏ผŒๆปšๅŠจๅˆฐๆœ€ๅŽๆŸฅ็œ‹็š„ๆ–‡ไปถ">ๆปšๅŠจ', - "ct_dots": 'ๆ˜พ็คบ้š่—ๆ–‡ไปถ๏ผˆๅฆ‚ๆžœๆœๅŠกๅ™จๅ…่ฎธ๏ผ‰">้š่—ๆ–‡ไปถ', - "ct_qdel": 'ๅˆ ้™คๆ–‡ไปถๆ—ถ๏ผŒๅช้œ€็กฎ่ฎคไธ€ๆฌก">ๅฟซๅˆ ', //m - "ct_dir1st": 'ๅœจๆ–‡ไปถไน‹ๅ‰ๆŽ’ๅบๆ–‡ไปถๅคน">๐Ÿ“ ๆŽ’ๅบ', - "ct_nsort": 'ๆญฃ็กฎๆŽ’ๅบไปฅๆ•ฐๅญ—ๅผ€ๅคด็š„ๆ–‡ไปถๅ">ๆ•ฐๅญ—ๆŽ’ๅบ', //m - "ct_utc": 'ๆ‰€ๆœ‰ๆ—ถ้—ด่ฏทไฝฟ็”จUTC">UTC', //m - "ct_readme": 'ๅœจๆ–‡ไปถๅคนๅˆ—่กจไธญๆ˜พ็คบ README.md">๐Ÿ“œ readme', - "ct_idxh": 'ๆ˜พ็คบ index.html ไปฃๆ›ฟๆ–‡ไปถๅคนๅˆ—่กจ">htm', - "ct_sbars": 'ๆ˜พ็คบๆปšๅŠจๆก">โŸŠ', - - "cut_umod": "ๅฆ‚ๆžœๆ–‡ไปถๅทฒๅญ˜ๅœจไบŽๆœๅŠกๅ™จไธŠ๏ผŒๅฐ†ๆœๅŠกๅ™จ็š„ๆœ€ๅŽไฟฎๆ”นๆ—ถ้—ดๆˆณๆ›ดๆ–ฐไธบไธŽไฝ ็š„ๆœฌๅœฐๆ–‡ไปถๅŒน้…๏ผˆ้œ€่ฆๅ†™ๅ…ฅๅ’Œๅˆ ้™คๆƒ้™๏ผ‰\">re๐Ÿ“…", - - "cut_turbo": "YOLO ๆŒ‰้’ฎ๏ผŒไฝ ๅฏ่ƒฝไธๆƒณๅฏ็”จ่ฟ™ไธช๏ผš$N$Nๅฆ‚ๆžœไฝ ไธŠไผ ไบ†ๅคง้‡ๆ–‡ไปถๅนถไธ”็”ฑไบŽๆŸไบ›ๅŽŸๅ› ้œ€่ฆ้‡ๆ–ฐๅฏๅŠจ๏ผŒ$Nๅนถไธ”ๆƒณ่ฆๅฐฝๅฟซ็ปง็ปญไธŠไผ ๏ผŒไฝฟ็”จๆญค้€‰้กน$N$N่ฟ™ไผš็”จ็ฎ€ๅ•็š„ "ๆœๅŠกๅ™จไธŠ็š„ๆ–‡ไปถๅคงๅฐๆ˜ฏๅฆ็›ธๅŒ๏ผŸ" ๆ›ฟไปฃๅ“ˆๅธŒๆฃ€ๆŸฅ๏ผŒ$Nๅ› ๆญคๅฆ‚ๆžœๆ–‡ไปถๅ†…ๅฎนไธๅŒ๏ผŒๅฎƒๅฐ†ไธไผš่ขซไธŠไผ $N$NไธŠไผ ๅฎŒๆˆๅŽ๏ผŒไฝ ๅบ”่ฏฅๅ…ณ้—ญๆญค้€‰้กน๏ผŒ$N็„ถๅŽ้‡ๆ–ฐ"ไธŠไผ "็›ธๅŒ็š„ๆ–‡ไปถไปฅ่ฎฉๅฎขๆˆท็ซฏ้ชŒ่ฏๅฎƒไปฌ\">ๅŠ ้€Ÿ", - - "cut_datechk": "้™ค้žๅฏ็”จใ€ŒๅŠ ้€Ÿใ€ๆŒ‰้’ฎ๏ผŒๅฆๅˆ™ๆฒกๆœ‰ๆ•ˆๆžœ$N$N็•ฅๅพฎๅ‡ๅฐ‘ YOLO ๅ› ็ด ๏ผ›ๆฃ€ๆŸฅๆœๅŠกๅ™จไธŠ็š„ๆ–‡ไปถๆ—ถ้—ดๆˆณๆ˜ฏๅฆไธŽไฝ ็š„ไธ€่‡ด$N$N็†่ฎบไธŠ ๅบ”่ฏฅ่ƒฝๆ•ๆ‰ๅˆฐๅคงๅคšๆ•ฐๆœชๅฎŒๆˆ/ๆŸๅ็š„ไธŠไผ ๏ผŒ$Nไฝ†ไธ่ƒฝๆ›ฟไปฃไน‹ๅŽ็ฆ็”จใ€ŒๅŠ ้€Ÿใ€่ฟ›่กŒ็š„้ชŒ่ฏ\">ๆ—ฅๆœŸๆฃ€ๆŸฅ", - - "cut_u2sz": "ๆฏไธชไธŠไผ ๅ—็š„ๅคงๅฐ๏ผˆไปฅ MiB ไธบๅ•ไฝ๏ผ‰๏ผ›่พƒๅคง็š„ๅ€ผ่ทจๅคง่ฅฟๆด‹ไผ ่พ“ๆ•ˆๆžœๆ›ดๅฅฝใ€‚ๅœจ้žๅธธไธๅฏ้ ็š„่ฟžๆŽฅไธŠๅฐ่ฏ•่พƒๅฐ็š„ๅ€ผ", - - "cut_flag": "็กฎไฟไธ€ๆฌกๅชๆœ‰ไธ€ไธชๆ ‡็ญพ้กตๅœจไธŠไผ $N -- ๅ…ถไป–ๆ ‡็ญพ้กตไนŸๅฟ…้กปๅฏ็”จๆญค้€‰้กน$N -- ไป…ๅฝฑๅ“ๅŒไธ€ๅŸŸๅไธ‹็š„ๆ ‡็ญพ้กต", - - "cut_az": "ๆŒ‰ๅญ—ๆฏ้กบๅบไธŠไผ ๆ–‡ไปถ๏ผŒ่€Œไธๆ˜ฏๆŒ‰ๆœ€ๅฐๆ–‡ไปถไผ˜ๅ…ˆ$N$NๆŒ‰ๅญ—ๆฏ้กบๅบๅฏไปฅๆ›ดๅฎนๆ˜“ๅœฐๆŸฅ็œ‹ๆœๅŠกๅ™จไธŠๆ˜ฏๅฆๅ‡บ็Žฐไบ†้—ฎ้ข˜๏ผŒไฝ†ๅœจๅ…‰็บค/ๅฑ€ๅŸŸ็ฝ‘ไธŠไผ ็จๅพฎๆ…ขไธ€ไบ›", - - "cut_nag": "ไธŠไผ ๅฎŒๆˆๆ—ถ็š„ๆ“ไฝœ็ณป็ปŸ้€š็Ÿฅ$N๏ผˆไป…ๅฝ“ๆต่งˆๅ™จๆˆ–ๆ ‡็ญพ้กตไธๆดป่ทƒๆ—ถ๏ผ‰", - "cut_sfx": "ไธŠไผ ๅฎŒๆˆๆ—ถ็š„ๅฃฐ้Ÿณ่ญฆๆŠฅ$N๏ผˆไป…ๅฝ“ๆต่งˆๅ™จๆˆ–ๆ ‡็ญพ้กตไธๆดป่ทƒๆ—ถ๏ผ‰", - - "cut_mt": "ไฝฟ็”จๅคš็บฟ็จ‹ๅŠ ้€Ÿๆ–‡ไปถๅ“ˆๅธŒ$N$N่ฟ™ไฝฟ็”จ Web Worker ๅนถไธ”้œ€่ฆๆ›ดๅคšๅ†…ๅญ˜๏ผˆ้ขๅค–ๆœ€ๅคš 512 MiB๏ผ‰$N$N่ฟ™ไฝฟๅพ— https ๅฟซ 30%๏ผŒhttp ๅฟซ 4.5 ๅ€\">mt", - - "cut_wasm": "ไฝฟ็”จๅŸบไบŽ WASM ็š„ๅ“ˆๅธŒ่ฎก็ฎ—ๅ™จไปฃๆ›ฟๆต่งˆๅ™จๅ†…็ฝฎ็š„ๅ“ˆๅธŒๅŠŸ่ƒฝ๏ผ›่ฟ™ๅฏไปฅๆๅ‡ๅœจๅŸบไบŽ Chrome ็š„ๆต่งˆๅ™จไธŠ็š„้€Ÿๅบฆ๏ผŒไฝ†ไผšๅขžๅŠ  CPU ไฝฟ็”จ็އ๏ผŒ่€Œไธ”่ฎธๅคšๆ—ง็‰ˆๆœฌ็š„ Chrome ๅญ˜ๅœจๆผๆดž๏ผŒๅฏ็”จๆญคๅŠŸ่ƒฝไผšๅฏผ่‡ดๆต่งˆๅ™จๅ ็”จๆ‰€ๆœ‰ๅ†…ๅญ˜ๅนถๅดฉๆบƒใ€‚\">wasm", //m - - "cft_text": "็ฝ‘็ซ™ๅ›พๆ ‡ๆ–‡ๆœฌ๏ผˆไธบ็ฉบๅนถๅˆทๆ–ฐไปฅ็ฆ็”จ๏ผ‰", - "cft_fg": "ๅ‰ๆ™ฏ่‰ฒ", - "cft_bg": "่ƒŒๆ™ฏ่‰ฒ", - - "cdt_lim": "ๆ–‡ไปถๅคนไธญๆ˜พ็คบ็š„ๆœ€ๅคงๆ–‡ไปถๆ•ฐ", - "cdt_ask": "ๆปšๅŠจๅˆฐๅบ•้ƒจๆ—ถ๏ผŒ$NไธไผšๅŠ ่ฝฝๆ›ดๅคšๆ–‡ไปถ๏ผŒ$N่€Œๆ˜ฏ่ฏข้—ฎไฝ ่ฏฅๆ€Žไนˆๅš", - "cdt_hsort": "ๅŒ…ๅซๅœจๅช’ไฝ“ URL ไธญ็š„ๆŽ’ๅบ่ง„ๅˆ™ (<code>,sorthref</code>) ๆ•ฐ้‡ใ€‚ๅฐ†ๅ…ถ่ฎพ็ฝฎไธบ 0 ๆ—ถ๏ผŒ็‚นๅ‡ปๅช’ไฝ“้“พๆŽฅๆ—ถไนŸไผšๅฟฝ็•ฅๆŽ’ๅบ่ง„ๅˆ™ใ€‚", //m - - "tt_entree": "ๆ˜พ็คบๅฏผ่ˆช้ขๆฟ๏ผˆ็›ฎๅฝ•ๆ ‘ไพง่พนๆ ๏ผ‰$Nๅฟซๆท้”ฎ: B", - "tt_detree": "ๆ˜พ็คบ้ขๅŒ…ๅฑ‘ๅฏผ่ˆช$Nๅฟซๆท้”ฎ: B", - "tt_visdir": "ๆปšๅŠจๅˆฐ้€‰ๅฎš็š„ๆ–‡ไปถๅคน", - "tt_ftree": "ๅˆ‡ๆขๆ–‡ไปถๅคนๆ ‘ / ๆ–‡ๆœฌๆ–‡ไปถ$Nๅฟซๆท้”ฎ: V", - "tt_pdock": "ๅœจ้กถ้ƒจ็š„ๅœ้ ็ช—ๆ ผไธญๆ˜พ็คบ็ˆถๆ–‡ไปถๅคน", - "tt_dynt": "้š็€ๆ ‘็š„ๅฑ•ๅผ€่‡ชๅŠจๅขž้•ฟ", - "tt_wrap": "่‡ชๅŠจๆข่กŒ", - "tt_hover": "ๆ‚ฌๅœๆ—ถๆ˜พ็คบๆบขๅ‡บ็š„่กŒ$N๏ผˆๅฝ“้ผ ๆ ‡ๅ…‰ๆ ‡ๅœจๅทฆไพง่พนๆ ไธญๆ—ถ๏ผŒๆปšๅŠจๅฏ่ƒฝไผšไธญๆ–ญ๏ผ‰", - - "ml_pmode": "ๅœจๆ–‡ไปถๅคนๆœซๅฐพๆ—ถ...", - "ml_btns": "ๅ‘ฝไปค", - "ml_tcode": "่ฝฌ็ ", - "ml_tcode2": "่ฝฌๆขไธบ", //m - "ml_tint": "้€ๆ˜Žๅบฆ", - "ml_eq": "้Ÿณ้ข‘ๅ‡่กกๅ™จ", - "ml_drc": "ๅŠจๆ€่Œƒๅ›ดๅŽ‹็ผฉๅ™จ", - - "mt_loop": "ๅพช็Žฏๆ’ญๆ”พๅฝ“ๅ‰็š„ๆญŒๆ›ฒ\">๐Ÿ”", //m - "mt_one": "ๅชๆ’ญๆ”พไธ€้ฆ–ๆญŒๅŽๅœๆญข\">1๏ธโƒฃ", //m - "mt_shuf": "ๅœจๆฏไธชๆ–‡ไปถๅคนไธญ้šๆœบๆ’ญๆ”พๆญŒๆ›ฒ\">๐Ÿ”€", - "mt_aplay": "ๅฆ‚ๆžœ้“พๆŽฅไธญๆœ‰ๆญŒๆ›ฒ ID๏ผŒๅˆ™่‡ชๅŠจๆ’ญๆ”พ,็ฆ็”จๆญค้€‰้กนๅฐ†ๅœๆญขๅœจๆ’ญๆ”พ้Ÿณไนๆ—ถๆ›ดๆ–ฐ้กต้ข URL ไธญ็š„ๆญŒๆ›ฒ ID๏ผŒไปฅ้˜ฒๆญขๅœจ่ฎพ็ฝฎไธขๅคฑไฝ† URL ไฟ็•™ๆ—ถ่‡ชๅŠจๆ’ญๆ”พ\">่‡ชๅŠจๆ’ญๆ”พโ–ถ", - "mt_preload": "ๅœจๆญŒๆ›ฒๅฟซ็ป“ๆŸๆ—ถๅผ€ๅง‹ๅŠ ่ฝฝไธ‹ไธ€้ฆ–ๆญŒ๏ผŒไปฅๅฎž็Žฐๆ— ็ผๆ’ญๆ”พ\">้ข„ๅŠ ่ฝฝ", - "mt_prescan": "ๅœจๆœ€ๅŽไธ€้ฆ–ๆญŒ็ป“ๆŸไน‹ๅ‰ๅˆ‡ๆขๅˆฐไธ‹ไธ€ไธชๆ–‡ไปถๅคน$NไฟๆŒ็ฝ‘้กตๆต่งˆๅ™จๆดป่ทƒ$Nไปฅๅ…ๅœๆญขๆ’ญๆ”พ\">่‡ชๅŠจๅˆ‡ๆข", - "mt_fullpre": "ๅฐ่ฏ•้ข„ๅŠ ่ฝฝๆ•ด้ฆ–ๆญŒ๏ผ›$Nโœ… ๅœจ ไธๅฏ้  ่ฟžๆŽฅไธŠๅฏ็”จ๏ผŒ$NโŒ ๅฏ่ƒฝๅœจๆ…ข้€Ÿ่ฟžๆŽฅไธŠ็ฆ็”จ\">ๅŠ ่ฝฝๆ•ด้ฆ–ๆญŒ", - "mt_fau": "ๅœจๆ‰‹ๆœบไธŠ๏ผŒๅฆ‚ๆžœไธ‹ไธ€้ฆ–ๆญŒๆœช่ƒฝๅฟซ้€Ÿ้ข„ๅŠ ่ฝฝ๏ผŒ้˜ฒๆญข้Ÿณไนๅœๆญข๏ผˆๅฏ่ƒฝๅฏผ่‡ดๆ ‡็ญพๆ˜พ็คบๅผ‚ๅธธ๏ผ‰\">โ˜•๏ธ", - "mt_waves": "ๆณขๅฝข่ฟ›ๅบฆๆก๏ผš$Nๆ˜พ็คบ้Ÿณ้ข‘ๅน…ๅบฆ\">่ฟ›ๅบฆๆก", - "mt_npclip": "ๆ˜พ็คบๅฝ“ๅ‰ๆ’ญๆ”พๆญŒๆ›ฒ็š„ๅ‰ช่ดดๆฟๆŒ‰้’ฎ\">โ™ชๅ‰ชๅˆ‡ๆฟ", - "mt_m3u_c": "ๆ˜พ็คบๆŒ‰้’ฎไปฅๅฐ†ๆ‰€้€‰ๆญŒๆ›ฒ$Nๅคๅˆถไธบ m3u8 ๆ’ญๆ”พๅˆ—่กจๆก็›ฎ\">๐Ÿ“ป", //m - "mt_octl": "ๆ“ไฝœ็ณป็ปŸ้›†ๆˆ๏ผˆๅช’ไฝ“ๅฟซๆท้”ฎ / OSD๏ผ‰\">OSD", - "mt_oseek": "ๅ…่ฎธ้€š่ฟ‡ๆ“ไฝœ็ณป็ปŸ้›†ๆˆ่ฟ›่กŒ่ทณ่ฝฌ$N$Nๆณจๆ„๏ผšๅœจๆŸไบ›่ฎพๅค‡๏ผˆๅฆ‚ iPhone๏ผ‰ไธŠ๏ผŒ$N่ฟ™ๅฐ†ๆ›ฟไปฃไธ‹ไธ€้ฆ–ๆญŒๆŒ‰้’ฎ\">seek", - "mt_oscv": "ๅœจ OSD ไธญๆ˜พ็คบไธ“่พ‘ๅฐ้ข\">ๅฐ้ข", - "mt_follow": "ไฟๆŒๆญฃๅœจๆ’ญๆ”พ็š„ๆ›ฒ็›ฎๆปšๅŠจๅˆฐ่ง†ๅ›พไธญ\">๐ŸŽฏ", - "mt_compact": "็ดงๅ‡‘็š„ๆŽงๅˆถๆŒ‰้’ฎ\">โŸŽ", - "mt_uncache": "ๆธ…้™ค็ผ“ๅญ˜ $N๏ผˆๅฆ‚ๆžœไฝ ็š„ๆต่งˆๅ™จ็ผ“ๅญ˜ไบ†ไธ€ไธชๆŸๅ็š„ๆญŒๆ›ฒๅ‰ฏๆœฌ่€Œๆ‹’็ปๆ’ญๆ”พ๏ผŒ่ฏทๅฐ่ฏ•ๆญคๆ“ไฝœ๏ผ‰\">uncache", - "mt_mloop": "ๅพช็Žฏๆ‰“ๅผ€็š„ๆ–‡ไปถๅคน\">๐Ÿ” ๅพช็Žฏ", - "mt_mnext": "ๅŠ ่ฝฝไธ‹ไธ€ไธชๆ–‡ไปถๅคนๅนถ็ปง็ปญ\">๐Ÿ“‚ ไธ‹ไธ€้ฆ–", - "mt_mstop": "ๅœๆญขๆ’ญๆ”พ\">โธ ๅœๆญข", //m - "mt_cflac": "ๅฐ† flac / wav ่ฝฌๆขไธบ {0}\">flac", - "mt_caac": "ๅฐ† aac / m4a ่ฝฌๆขไธบ {0}\">aac", - "mt_coth": "ๅฐ†ๆ‰€ๆœ‰ๅ…ถไป–๏ผˆไธๆ˜ฏ mp3๏ผ‰่ฝฌๆขไธบ {0}\">oth", - "mt_c2opus": "้€‚ๅˆๆกŒ้ข็”ต่„‘ใ€็ฌ”่ฎฐๆœฌ็”ต่„‘ๅ’Œๅฎ‰ๅ“่ฎพๅค‡็š„ๆœ€ไฝณ้€‰ๆ‹ฉ\">opus", //m - "mt_c2owa": "opus-weba๏ผˆ้€‚็”จไบŽ iOS 17.5 ๅŠๆ›ดๆ–ฐ็‰ˆๆœฌ๏ผ‰\">owa", //m - "mt_c2caf": "opus-caf๏ผˆ้€‚็”จไบŽ iOS 11 ๅˆฐ iOS 17๏ผ‰\">caf", //m - "mt_c2mp3": "้€‚็”จไบŽ้žๅธธๆ—ง็š„่ฎพๅค‡\">mp3", //m - "mt_c2flac": "ๆœ€ไฝณ้Ÿณ่ดจ๏ผŒไฝ†ไธ‹่ฝฝ้‡ๅพˆๅคง\">flac", //m - "mt_c2wav": "ๆ— ๅŽ‹็ผฉๆ’ญๆ”พ๏ผˆๆ›ดๅ ็ฉบ้—ด๏ผ‰\">wav", //m - "mt_c2ok": "ไธ้”™็š„้€‰ๆ‹ฉ๏ผ", //m - "mt_c2nd": "่ฟ™ไธๆ˜ฏๆ‚จ็š„่ฎพๅค‡ๆŽจ่็š„่พ“ๅ‡บๆ ผๅผ๏ผŒไฝ†ๅบ”่ฏฅๆฒก้—ฎ้ข˜ใ€‚", //m - "mt_c2ng": "ๆ‚จ็š„่ฎพๅค‡ไผผไนŽไธๆ”ฏๆŒๆญค่พ“ๅ‡บๆ ผๅผ๏ผŒไธ่ฟ‡ๆˆ‘ไปฌ่ฟ˜ๆ˜ฏ่ฏ•่ฏ•็œ‹ๅงใ€‚", //m - "mt_xowa": "iOS ็ณป็ปŸไปๅญ˜ๅœจๆ— ๆณ•ๅŽๅฐๆ’ญๆ”พ owa ้Ÿณไน็š„้”™่ฏฏ๏ผŒ่ฏทๆ”น็”จ caf ๆˆ– mp3 ๆ ผๅผใ€‚", //m - "mt_tint": "ๅœจ่ฟ›ๅบฆๆกไธŠ่ฎพ็ฝฎ่ƒŒๆ™ฏ็บงๅˆซ๏ผˆ0-100๏ผ‰", - "mt_eq": "ๅฏ็”จๅ‡่กกๅ™จๅ’Œๅขž็›ŠๆŽงๅˆถ๏ผ›$N$Nboost <code>0</code> = ๆ ‡ๅ‡† 100% ้Ÿณ้‡๏ผˆ้ป˜่ฎค๏ผ‰$N$Nwidth <code>1  </code> = ๆ ‡ๅ‡†็ซ‹ไฝ“ๅฃฐ๏ผˆ้ป˜่ฎค๏ผ‰$Nwidth <code>0.5</code> = 50% ๅทฆๅณไบคๅ‰ๅ้ฆˆ$Nwidth <code>0  </code> = ๅ•ๅฃฐ้“$N$Nboost <code>-0.8</code> & width <code>10</code> = ไบบๅฃฐ็งป้™ค )$N$Nๅฏ็”จๅ‡่กกๅ™จไฝฟๆ— ็ผไธ“่พ‘ๅฎŒๅ…จๆ— ็ผ๏ผŒๆ‰€ไปฅๅฆ‚ๆžœไฝ ๅœจไนŽ่ฟ™ไธ€็‚น๏ผŒ่ฏทไฟๆŒๅฏ็”จ๏ผŒๆ‰€ๆœ‰ๅ€ผ่ฎพไธบ้›ถ๏ผˆ้™คไบ†ๅฎฝๅบฆ = 1๏ผ‰", - "mt_drc": "ๅฏ็”จๅŠจๆ€่Œƒๅ›ดๅŽ‹็ผฉๅ™จ๏ผˆ้Ÿณ้‡ๅนณๆป‘ๅ™จ / ้™ๅน…ๅ™จ๏ผ‰๏ผ›่ฟ˜ไผšๅฏ็”จๅ‡่กกๅ™จไปฅๅนณ่กก้Ÿณ้ข‘๏ผŒๅ› ๆญคๅฆ‚ๆžœไฝ ไธๆƒณ่ฆๅฎƒ๏ผŒ่ฏทๅฐ†ๅ‡่กกๅ™จๅญ—ๆฎต้™คไบ† 'ๅฎฝๅบฆ' ๅค–็š„ๆ‰€ๆœ‰ๅญ—ๆฎต่ฎพ็ฝฎไธบ 0$N$N้™ไฝŽ THRESHOLD dB ไปฅไธŠ็š„้Ÿณ้ข‘็š„้Ÿณ้‡๏ผ›ๆฏ่ถ…่ฟ‡ THRESHOLD dB ็š„ RATIO ไผšๆœ‰ 1 dB ่พ“ๅ‡บ๏ผŒๆ‰€ไปฅ้ป˜่ฎคๅ€ผ tresh -24 ๅ’Œ ratio 12 ๆ„ๅ‘ณ็€ๅฎƒ็š„้Ÿณ้‡ไธๅบ”่ถ…่ฟ‡ -22 dB๏ผŒๅฏไปฅๅฎ‰ๅ…จๅœฐๅฐ†ๅ‡่กกๅ™จๅขž็›Šๆ้ซ˜ๅˆฐ 0.8๏ผŒ็”š่‡ณๅœจ ATK 0 ๅ’Œ RLS ๅฆ‚ 90 ็š„ๆƒ…ๅ†ตไธ‹ๆ้ซ˜ๅˆฐ 1.8๏ผˆไป…ๅœจ Firefox ไธญๆœ‰ๆ•ˆ๏ผ›ๅ…ถไป–ๆต่งˆๅ™จไธญ RLS ๆœ€ๅคงไธบ 1๏ผ‰$N$N๏ผˆ่ง็ปดๅŸบ็™พ็ง‘๏ผŒไป–ไปฌ่งฃ้‡Šๅพ—ๆ›ดๅฅฝ๏ผ‰", - - "mb_play": "ๆ’ญๆ”พ", - "mm_hashplay": "ๆ’ญๆ”พ่ฟ™ไธช้Ÿณ้ข‘ๆ–‡ไปถ๏ผŸ", - "mm_m3u": "ๆŒ‰ Enter/็กฎๅฎš ๆ’ญๆ”พ\nๆŒ‰ ESC/ๅ–ๆถˆ ็ผ–่พ‘", //m - "mp_breq": "้œ€่ฆ Firefox 82+ ๆˆ– Chrome 73+ ๆˆ– iOS 15+", - "mm_bload": "ๆญฃๅœจๅŠ ่ฝฝ...", - "mm_bconv": "ๆญฃๅœจ่ฝฌๆขไธบ {0}๏ผŒ่ฏท็จ็ญ‰...", - "mm_opusen": "ไฝ ็š„ๆต่งˆๅ™จๆ— ๆณ•ๆ’ญๆ”พ aac / m4a ๆ–‡ไปถ๏ผ›\n็Žฐๅœจๅฏ็”จ่ฝฌ็ ไธบ opus", - "mm_playerr": "ๆ’ญๆ”พๅคฑ่ดฅ๏ผš", - "mm_eabrt": "ๆ’ญๆ”พๅฐ่ฏ•ๅทฒๅ–ๆถˆ", - "mm_enet": "ไฝ ็š„ไบ’่”็ฝ‘่ฟžๆŽฅๆœ‰้—ฎ้ข˜", - "mm_edec": "่ฟ™ไธชๆ–‡ไปถๅฏ่ƒฝๅทฒๆŸๅ๏ผŸ๏ผŸ", - "mm_esupp": "ไฝ ็š„ๆต่งˆๅ™จไธๆ”ฏๆŒ่ฟ™ไธช้Ÿณ้ข‘ๆ ผๅผ", - "mm_eunk": "ๆœช็Ÿฅ้”™่ฏฏ", - "mm_e404": "ๆ— ๆณ•ๆ’ญๆ”พ้Ÿณ้ข‘๏ผ›้”™่ฏฏ 404๏ผšๆ–‡ไปถๆœชๆ‰พๅˆฐใ€‚", - "mm_e403": "ๆ— ๆณ•ๆ’ญๆ”พ้Ÿณ้ข‘๏ผ›้”™่ฏฏ 403๏ผš่ฎฟ้—ฎ่ขซๆ‹’็ปใ€‚\n\nๅฐ่ฏ•ๆŒ‰ F5 ้‡ๆ–ฐๅŠ ่ฝฝ๏ผŒไนŸ่ฎธไฝ ๅทฒ่ขซๆณจ้”€", - "mm_e500": "ๆ— ๆณ•ๆ’ญๆ”พ้Ÿณ้ข‘๏ผ›้”™่ฏฏ 500๏ผšๆฃ€ๆŸฅๆœๅŠกๅ™จๆ—ฅๅฟ—ใ€‚", //m - "mm_e5xx": "ๆ— ๆณ•ๆ’ญๆ”พ้Ÿณ้ข‘๏ผ›ๆœๅŠกๅ™จ้”™่ฏฏ", - "mm_nof": "้™„่ฟ‘ๆ‰พไธๅˆฐๆ›ดๅคš้Ÿณ้ข‘ๆ–‡ไปถ", - "mm_prescan": "ๆญฃๅœจๅฏปๆ‰พไธ‹ไธ€้ฆ–้Ÿณไน...", - "mm_scank": "ๆ‰พๅˆฐไธ‹ไธ€้ฆ–ๆญŒ๏ผš", - "mm_uncache": "็ผ“ๅญ˜ๅทฒๆธ…้™ค๏ผ›ๆ‰€ๆœ‰ๆญŒๆ›ฒๅฐ†ๅœจไธ‹ๆฌกๆ’ญๆ”พๆ—ถ้‡ๆ–ฐไธ‹่ฝฝ", - "mm_hnf": "้‚ฃ้ฆ–ๆญŒไธๅ†ๅญ˜ๅœจ", - - "im_hnf": "้‚ฃๅผ ๅ›พ็‰‡ไธๅ†ๅญ˜ๅœจ", - - "f_empty": '่ฏฅๆ–‡ไปถๅคนไธบ็ฉบ', - "f_chide": '้š่—ๅˆ— ยซ{0}ยป\n\nไฝ ๅฏไปฅๅœจ่ฎพ็ฝฎ้€‰้กนๅกไธญ้‡ๆ–ฐๆ˜พ็คบๅˆ—', - "f_bigtxt": "่ฟ™ไธชๆ–‡ไปถๅคงๅฐไธบ {0} MiB -- ็œŸ็š„ไปฅๆ–‡ๆœฌๅฝขๅผๆŸฅ็œ‹๏ผŸ", - "f_bigtxt2": " ไฝ ๆƒณๆŸฅ็œ‹ๆ–‡ไปถ็š„็ป“ๅฐพ้ƒจๅˆ†ๅ—๏ผŸ่ฟ™ไนŸๅฐ†ๅฏ็”จๅฎžๆ—ถ่ทŸ่ธชๅŠŸ่ƒฝ๏ผŒ่ƒฝๅคŸๅฎžๆ—ถๆ˜พ็คบๆ–ฐๆทปๅŠ ็š„ๆ–‡ๆœฌ่กŒใ€‚", //m - "fbd_more": '
    ๆ˜พ็คบ {0} ไธชๆ–‡ไปถไธญ็š„ {1} ไธช๏ผ›ๆ˜พ็คบ {2} ๆˆ– ๆ˜พ็คบๅ…จ้ƒจ
    ', - "fbd_all": '
    ๆ˜พ็คบ {0} ไธชๆ–‡ไปถไธญ็š„ {1} ไธช๏ผ›ๆ˜พ็คบๅ…จ้ƒจ
    ', - "f_anota": "ไป…้€‰ๆ‹ฉไบ† {0} ไธช้กน็›ฎ๏ผŒๅ…ฑ {1} ไธช๏ผ›\n่ฆ้€‰ๆ‹ฉๆ•ดไธชๆ–‡ไปถๅคน๏ผŒ่ฏทๅ…ˆๆปšๅŠจๅˆฐๅบ•้ƒจ", //m - - "f_dls": 'ๅฝ“ๅ‰ๆ–‡ไปถๅคนไธญ็š„ๆ–‡ไปถ้“พๆŽฅๅทฒ\nๆ›ดๆ”นไธบไธ‹่ฝฝ้“พๆŽฅ', - - "f_partial": "่ฆๅฎ‰ๅ…จไธ‹่ฝฝๆญฃๅœจไธŠไผ ็š„ๆ–‡ไปถ๏ผŒ่ฏท็‚นๅ‡ปๆฒกๆœ‰ .PARTIAL ๆ–‡ไปถๆ‰ฉๅฑ•ๅ็š„ๅŒๅๆ–‡ไปถใ€‚่ฏทๆŒ‰ๅ–ๆถˆๆˆ– Escape ๆ‰ง่กŒๆญคๆ“ไฝœใ€‚\n\nๆŒ‰ ็กฎๅฎš / Enter ๅฐ†ๅฟฝ็•ฅๆญค่ญฆๅ‘Šๅนถ็ปง็ปญไธ‹่ฝฝ .PARTIAL ไธดๆ—ถๆ–‡ไปถ๏ผŒ่ฟ™ๅ‡ ไนŽ่‚ฏๅฎšไผšๅฏผ่‡ดๆ•ฐๆฎๆŸๅใ€‚", - - "ft_paste": "็ฒ˜่ดด {0} ้กน$Nๅฟซๆท้”ฎ: ctrl-V", - "fr_eperm": 'ๆ— ๆณ•้‡ๅ‘ฝๅ๏ผš\nไฝ ๅœจๆญคๆ–‡ไปถๅคนไธญๆฒกๆœ‰ โ€œ็งปๅŠจโ€ ๆƒ้™', - "fd_eperm": 'ๆ— ๆณ•ๅˆ ้™ค๏ผš\nไฝ ๅœจๆญคๆ–‡ไปถๅคนไธญๆฒกๆœ‰ โ€œๅˆ ้™คโ€ ๆƒ้™', - "fc_eperm": 'ๆ— ๆณ•ๅ‰ชๅˆ‡๏ผš\nไฝ ๅœจๆญคๆ–‡ไปถๅคนไธญๆฒกๆœ‰ โ€œ็งปๅŠจโ€ ๆƒ้™', - "fp_eperm": 'ๆ— ๆณ•็ฒ˜่ดด๏ผš\nไฝ ๅœจๆญคๆ–‡ไปถๅคนไธญๆฒกๆœ‰ โ€œๅ†™ๅ…ฅโ€ ๆƒ้™', - "fr_emore": "้€‰ๆ‹ฉ่‡ณๅฐ‘ไธ€ไธช้กน็›ฎไปฅ้‡ๅ‘ฝๅ", - "fd_emore": "้€‰ๆ‹ฉ่‡ณๅฐ‘ไธ€ไธช้กน็›ฎไปฅๅˆ ้™ค", - "fc_emore": "้€‰ๆ‹ฉ่‡ณๅฐ‘ไธ€ไธช้กน็›ฎไปฅๅ‰ชๅˆ‡", - "fcp_emore": "้€‰ๆ‹ฉ่‡ณๅฐ‘ไธ€ไธช่ฆๅคๅˆถๅˆฐๅ‰ช่ดดๆฟ็š„้กน็›ฎ", //m - - "fs_sc": "ๅˆ†ไบซไฝ ๆ‰€ๅœจ็š„ๆ–‡ไปถๅคน", - "fs_ss": "ๅˆ†ไบซ้€‰ๅฎš็š„ๆ–‡ไปถ", - "fs_just1d": "ไฝ ไธ่ƒฝๅŒๆ—ถ้€‰ๆ‹ฉๅคšไธชๆ–‡ไปถๅคน๏ผŒไนŸไธ่ƒฝๅŒๆ—ถ้€‰ๆ‹ฉๆ–‡ไปถๅคนๅ’Œๆ–‡ไปถ", - "fs_abrt": "โŒ ๅ–ๆถˆ", - "fs_rand": "๐ŸŽฒ ้šๆœบๅ็งฐ", - "fs_go": "โœ… ๅˆ›ๅปบๅˆ†ไบซ", - "fs_name": "ๅ็งฐ", - "fs_src": "ๆบ", - "fs_pwd": "ๅฏ†็ ", - "fs_exp": "่ฟ‡ๆœŸ", - "fs_tmin": "ๅˆ†", - "fs_thrs": "ๆ—ถ", - "fs_tdays": "ๅคฉ", - "fs_never": "ๆฐธไน…", - "fs_pname": "้“พๆŽฅๅ็งฐๅฏ้€‰๏ผ›ๅฆ‚ๆžœไธบ็ฉบๅˆ™้šๆœบ", - "fs_tsrc": "ๅ…ฑไบซ็š„ๆ–‡ไปถๆˆ–ๆ–‡ไปถๅคน", - "fs_ppwd": "ๅฏ†็ ๅฏ้€‰", - "fs_w8": "ๆญฃๅœจๅˆ›ๅปบๆ–‡ไปถๅ…ฑไบซ...", - "fs_ok": "ๆŒ‰ Enter/็กฎๅฎš ๅคๅˆถๅˆฐๅ‰ช่ดดๆฟ\nๆŒ‰ ESC/ๅ–ๆถˆ ๅ…ณ้—ญ", - - "frt_dec": "ๅฏ่ƒฝไฟฎๅคไธ€ไบ›ๆŸๅ็š„ๆ–‡ไปถๅ\">url-decode", - "frt_rst": "ๅฐ†ไฟฎๆ”นๅŽ็š„ๆ–‡ไปถๅ้‡็ฝฎไธบๅŽŸๅง‹ๆ–‡ไปถๅ\">โ†บ ้‡็ฝฎ", - "frt_abrt": "ไธญๆญขๅนถๅ…ณ้—ญๆญค็ช—ๅฃ\">โŒ ๅ–ๆถˆ", - "frb_apply": "ๅบ”็”จ้‡ๅ‘ฝๅ", - "fr_adv": "ๆ‰น้‡ / ๅ…ƒๆ•ฐๆฎ / ๆจกๅผ้‡ๅ‘ฝๅ\">้ซ˜็บง", - "fr_case": "ๅŒบๅˆ†ๅคงๅฐๅ†™็š„ๆญฃๅˆ™่กจ่พพๅผ\">case", - "fr_win": "Windows ๅฎ‰ๅ…จๅ็งฐ๏ผ›ๅฐ† <>:"\\|?* ๆ›ฟๆขไธบๆ—ฅๆ–‡ๅ…จ่ง’ๅญ—็ฌฆ\">win", - "fr_slash": "ๅฐ† / ๆ›ฟๆขไธบไธไผšๅฏผ่‡ดๆ–ฐๆ–‡ไปถๅคนๅˆ›ๅปบ็š„ๅญ—็ฌฆ\">ไธไฝฟ็”จ /", - "fr_re": "ๆญฃๅˆ™่กจ่พพๅผๆœ็ดขๆจกๅผๅบ”็”จไบŽๅŽŸๅง‹ๆ–‡ไปถๅ๏ผ›$Nๅฏไปฅๅœจไธ‹้ข็š„ๆ ผๅผๅญ—ๆฎตไธญๅผ•็”จๆ•่Žท็ป„๏ผŒๅฆ‚<code>(1)</code>ๅ’Œ<code>(2)</code>็ญ‰็ญ‰ใ€‚", - "fr_fmt": "ๅ—ๅˆฐ foobar2000 ็š„ๅฏๅ‘๏ผš$N<code>(title)</code> ่ขซๆญŒๆ›ฒๅ็งฐๆ›ฟๆข,$N<code>[(artist) - ](title)</code> ไป…ๅฝ“ๆญŒๆ›ฒ่‰บๆœฏๅฎถไธไธบ็ฉบๆ—ถๆ‰ๅŒ…ๅซ<code>[ๆญค]</code>้ƒจๅˆ†$N<code>$lpad((tn),2,0)</code> ๅฐ†ๆ›ฒ็›ฎ็ผ–ๅทๅกซๅ……ไธบ 2 ไฝๆ•ฐๅญ—", - "fr_pdel": "ๅˆ ้™ค", - "fr_pnew": "ๅฆๅญ˜ไธบ", - "fr_pname": "ไธบไฝ ็š„ๆ–ฐ้ข„่ฎพๆไพ›ไธ€ไธชๅ็งฐ", - "fr_aborted": "ๅทฒไธญๆญข", - "fr_lold": "ๆ—งๅ็งฐ", - "fr_lnew": "ๆ–ฐๅ็งฐ", - "fr_tags": "้€‰ๅฎšๆ–‡ไปถ็š„ๆ ‡็ญพ๏ผˆๅช่ฏป๏ผŒไป…ไพ›ๅ‚่€ƒ๏ผ‰๏ผš", - "fr_busy": "ๆญฃๅœจ้‡ๅ‘ฝๅ {0} ้กน...\n\n{1}", - "fr_efail": "้‡ๅ‘ฝๅๅคฑ่ดฅ๏ผš\n", - "fr_nchg": "{0} ไธชๆ–ฐๅ็งฐ็”ฑไบŽ win ๅ’Œ/ๆˆ– ไธไฝฟ็”จ / ่ขซๆ›ดๆ”น\n\n็กฎๅฎš็ปง็ปญไฝฟ็”จ่ฟ™ไบ›ๆ›ดๆ”น็š„ๆ–ฐๅ็งฐ๏ผŸ", - - "fd_ok": "ๅˆ ้™คๆˆๅŠŸ", - "fd_err": "ๅˆ ้™คๅคฑ่ดฅ๏ผš\n", - "fd_none": "ๆฒกๆœ‰ๆ–‡ไปถ่ขซๅˆ ้™ค๏ผ›ๅฏ่ƒฝ่ขซๆœๅŠกๅ™จ้…็ฝฎ๏ผˆxbd๏ผ‰้˜ปๆญข๏ผŸ", - "fd_busy": "ๆญฃๅœจๅˆ ้™ค {0} ้กน...\n\n{1}", - "fd_warn1": "ๅˆ ้™ค่ฟ™ {0} ้กน๏ผŸ", - "fd_warn2": "ๆœ€ๅŽๆœบไผš๏ผ ๆ— ๆณ•ๆ’ค้”€ใ€‚ๅˆ ้™ค๏ผŸ", - - "fc_ok": "ๅ‰ชๅˆ‡ {0} ้กน", - "fc_warn": 'ๅ‰ชๅˆ‡ {0} ้กน\n\nไฝ†๏ผšๅชๆœ‰ ่ฟ™ไธช ๆต่งˆๅ™จๆ ‡็ญพ้กตๅฏไปฅ็ฒ˜่ดดๅฎƒไปฌ\n๏ผˆๅ› ไธบ้€‰ๆ‹ฉ้žๅธธๅบžๅคง๏ผ‰', - - "fcc_ok": "ๅทฒๅฐ† {0} ้กนๅคๅˆถๅˆฐๅ‰ช่ดดๆฟ", //m - "fcc_warn": 'ๅทฒๅฐ† {0} ้กนๅคๅˆถๅˆฐๅ‰ช่ดดๆฟ\n\nไฝ†๏ผšๅชๆœ‰ ่ฟ™ไธช ๆต่งˆๅ™จๆ ‡็ญพ้กตๅฏไปฅ็ฒ˜่ดดๅฎƒไปฌ\n๏ผˆๅ› ไธบ้€‰ๆ‹ฉ้žๅธธๅบžๅคง๏ผ‰', //m - - "fp_apply": "็กฎ่ฎคๅนถ็ซ‹ๅณ็ฒ˜่ดด", //m - "fp_ecut": "้ฆ–ๅ…ˆๅ‰ชๅˆ‡ๆˆ–ๅคๅˆถไธ€ไบ›ๆ–‡ไปถ/ๆ–‡ไปถๅคนไปฅ็ฒ˜่ดด/็งปๅŠจ\n\nๆณจๆ„๏ผšไฝ ๅฏไปฅๅœจไธๅŒ็š„ๆต่งˆๅ™จๆ ‡็ญพ้กตไน‹้—ดๅ‰ชๅˆ‡/็ฒ˜่ดด", //m - "fp_ename": "{0} ้กนไธ่ƒฝ็งปๅŠจๅˆฐ่ฟ™้‡Œ๏ผŒๅ› ไธบๅ็งฐๅทฒ่ขซๅ ็”จใ€‚่ฏทๅœจไธ‹ๆ–น่พ“ๅ…ฅๆ–ฐๅ็งฐไปฅ็ปง็ปญ๏ผŒๆˆ–ๅฐ†ๅ็งฐ็•™็ฉบไปฅ่ทณ่ฟ‡่ฟ™ไบ›้กน๏ผš", //m - "fcp_ename": "{0} ้กนไธ่ƒฝๅคๅˆถๅˆฐ่ฟ™้‡Œ๏ผŒๅ› ไธบๅ็งฐๅทฒ่ขซๅ ็”จใ€‚่ฏทๅœจไธ‹ๆ–น่พ“ๅ…ฅๆ–ฐๅ็งฐไปฅ็ปง็ปญ๏ผŒๆˆ–ๅฐ†ๅ็งฐ็•™็ฉบไปฅ่ทณ่ฟ‡่ฟ™ไบ›้กน๏ผš", //m - "fp_emore": "่ฟ˜ๆœ‰ไธ€ไบ›ๆ–‡ไปถๅๅ†ฒ็ช้œ€่ฆ่งฃๅ†ณ", //m - "fp_ok": "็งปๅŠจๆˆๅŠŸ", - "fcp_ok": "ๅคๅˆถๆˆๅŠŸ", //m - "fp_busy": "ๆญฃๅœจ็งปๅŠจ {0} ้กน...\n\n{1}", - "fcp_busy": "ๆญฃๅœจๅคๅˆถ {0} ้กน...\n\n{1}", //m - "fp_abrt": "ๆญฃๅœจไธญๆญข...", //m - "fp_err": "็งปๅŠจๅคฑ่ดฅ๏ผš\n", - "fcp_err": "ๅคๅˆถๅคฑ่ดฅ๏ผš\n", //m - "fp_confirm": "ๅฐ†่ฟ™ไบ› {0} ้กน็งปๅŠจๅˆฐ่ฟ™้‡Œ๏ผŸ", - "fcp_confirm": "ๅฐ†่ฟ™ไบ› {0} ้กนๅคๅˆถๅˆฐ่ฟ™้‡Œ๏ผŸ", //m - "fp_etab": 'ๆ— ๆณ•ไปŽๅ…ถไป–ๆต่งˆๅ™จๆ ‡็ญพ้กต่ฏปๅ–ๅ‰ช่ดดๆฟ', - "fp_name": "ไปŽไฝ ็š„่ฎพๅค‡ไธŠไผ ไธ€ไธชๆ–‡ไปถใ€‚็ป™ๅฎƒไธ€ไธชๅๅญ—๏ผš", - "fp_both_m": '
    ้€‰ๆ‹ฉ็ฒ˜่ดดๅ†…ๅฎน
    Enter = ไปŽ ยซ{1}ยป ็งปๅŠจ {0} ไธชๆ–‡ไปถ\nESC = ไปŽไฝ ็š„่ฎพๅค‡ไธŠไผ  {2} ไธชๆ–‡ไปถ', - "fcp_both_m": '
    ้€‰ๆ‹ฉ็ฒ˜่ดดๅ†…ๅฎน
    Enter = ไปŽ ยซ{1}ยป ๅคๅˆถ {0} ไธชๆ–‡ไปถ\nESC = ไปŽไฝ ็š„่ฎพๅค‡ไธŠไผ  {2} ไธชๆ–‡ไปถ', //m - "fp_both_b": '็งปๅŠจไธŠไผ ', - "fcp_both_b": 'ๅคๅˆถไธŠไผ ', //m - - "mk_noname": "ๅœจๅทฆไพงๆ–‡ๆœฌๆก†ไธญ่พ“ๅ…ฅๅ็งฐ๏ผŒ็„ถๅŽๅ†ๆ‰ง่กŒๆญคๆ“ไฝœ :p", - - "tv_load": "ๅŠ ่ฝฝๆ–‡ๆœฌๆ–‡ไปถ๏ผš\n\n{0}\n\n{1}% ({2} ็š„ {3} MiB ๅทฒๅŠ ่ฝฝ)", - "tv_xe1": "ๆ— ๆณ•ๅŠ ่ฝฝๆ–‡ๆœฌๆ–‡ไปถ๏ผš\n\n้”™่ฏฏ ", - "tv_xe2": "404๏ผŒๆ–‡ไปถๆœชๆ‰พๅˆฐ", - "tv_lst": "ๆ–‡ๆœฌๆ–‡ไปถๅˆ—่กจ", - "tvt_close": "่ฟ”ๅ›žๅˆฐๆ–‡ไปถๅคน่ง†ๅ›พ$Nๅฟซๆท้”ฎ: M๏ผˆๆˆ– Esc๏ผ‰\">โŒ ๅ…ณ้—ญ", - "tvt_dl": "ไธ‹่ฝฝๆญคๆ–‡ไปถ$Nๅฟซๆท้”ฎ: Y\">๐Ÿ’พ ไธ‹่ฝฝ", - "tvt_prev": "ๆ˜พ็คบไธŠไธ€ไธชๆ–‡ๆกฃ$Nๅฟซๆท้”ฎ: i\">โฌ† ไธŠไธ€ไธช", - "tvt_next": "ๆ˜พ็คบไธ‹ไธ€ไธชๆ–‡ๆกฃ$Nๅฟซๆท้”ฎ: K\">โฌ‡ ไธ‹ไธ€ไธช", - "tvt_sel": "้€‰ๆ‹ฉๆ–‡ไปถ ๏ผˆ็”จไบŽๅ‰ชๅˆ‡/ๅˆ ้™ค/...๏ผ‰$Nๅฟซๆท้”ฎ: S\">้€‰ๆ‹ฉ", - "tvt_edit": "ๅœจๆ–‡ๆœฌ็ผ–่พ‘ๅ™จไธญๆ‰“ๅผ€ๆ–‡ไปถ$Nๅฟซๆท้”ฎ: E\">โœ๏ธ ็ผ–่พ‘", - "tvt_tail": "็›‘่ง†ๆ–‡ไปถๆ›ดๆ”น๏ผŒๅนถๅฎžๆ—ถๆ˜พ็คบๆ–ฐๅขž็š„่กŒ\">๐Ÿ“ก ่ทŸ่ธช", //m - "tvt_wrap": "่‡ชๅŠจๆข่กŒ\">โ†ต", //m - "tvt_atail": "้”ๅฎšๅˆฐๅบ•้ƒจ๏ผŒๆ˜พ็คบๆœ€ๆ–ฐๅ†…ๅฎน\">โš“", //m - "tvt_ctail": "่งฃๆž็ปˆ็ซฏ้ขœ่‰ฒ๏ผˆANSI ่ฝฌไน‰็ ๏ผ‰\">๐ŸŒˆ", //m - "tvt_ntail": "ๆปšๅŠจๅކๅฒไธŠ้™๏ผˆไฟ็•™ๅคšๅฐ‘ๅญ—่Š‚็š„ๆ–‡ๆœฌ๏ผ‰", //m - - "m3u_add1": "ๆญŒๆ›ฒๅทฒๆทปๅŠ ๅˆฐ m3u ๆ’ญๆ”พๅˆ—่กจ", //m - "m3u_addn": "ๅทฒๆทปๅŠ  {0} ้ฆ–ๆญŒๆ›ฒๅˆฐ m3u ๆ’ญๆ”พๅˆ—่กจ", //m - "m3u_clip": "m3u ๆ’ญๆ”พๅˆ—่กจๅทฒๅคๅˆถๅˆฐๅ‰ช่ดดๆฟ\n\n่ฏทๅˆ›ๅปบไธ€ไธชไปฅ .m3u ็ป“ๅฐพ็š„ๆ–‡ๆœฌๆ–‡ไปถ๏ผŒ\nๅนถๅฐ†ๆ’ญๆ”พๅˆ—่กจ็ฒ˜่ดดๅˆฐ่ฏฅๆ–‡ไปถไธญ๏ผ›\n่ฟ™ๆ ทๅฐฑๅฏไปฅๆ’ญๆ”พไบ†", //m - - "gt_vau": "ไธๆ˜พ็คบ่ง†้ข‘๏ผŒไป…ๆ’ญๆ”พ้Ÿณ้ข‘\">๐ŸŽง", - "gt_msel": "ๅฏ็”จๆ–‡ไปถ้€‰ๆ‹ฉ๏ผ›ๆŒ‰ไฝ ctrl ้”ฎ็‚นๅ‡ปๆ–‡ไปถไปฅ่ฆ†็›–$N$N<em>ๅฝ“ๅฏ็”จๆ—ถ๏ผšๅŒๅ‡ปๆ–‡ไปถ/ๆ–‡ไปถๅคนไปฅๆ‰“ๅผ€ๅฎƒ</em>$N$Nๅฟซๆท้”ฎ๏ผšS\">ๅคš้€‰", - "gt_crop": "ไธญๅฟƒ่ฃๅ‰ช็ผฉ็•ฅๅ›พ\">่ฃๅ‰ช", - "gt_3x": "้ซ˜ๅˆ†่พจ็އ็ผฉ็•ฅๅ›พ\">3x", - "gt_zoom": "็ผฉๆ”พ", - "gt_chop": "ๅ‰ช่ฃ", - "gt_sort": "ๆŽ’ๅบไพๆฎ", - "gt_name": "ๅ็งฐ", - "gt_sz": "ๅคงๅฐ", - "gt_ts": "ๆ—ฅๆœŸ", - "gt_ext": "็ฑปๅž‹", - "gt_c1": "ๆˆชๆ–ญๆ–‡ไปถๅๆ›ดๅคš๏ผˆๆ˜พ็คบๆ›ดๅฐ‘๏ผ‰", - "gt_c2": "ๆˆชๆ–ญๆ–‡ไปถๅๆ›ดๅฐ‘๏ผˆๆ˜พ็คบๆ›ดๅคš๏ผ‰", - - "sm_w8": "ๆญฃๅœจๆœ็ดข...", - "sm_prev": "ไธŠๆฌกๆŸฅ่ฏข็š„ๆœ็ดข็ป“ๆžœ๏ผš\n ", - "sl_close": "ๅ…ณ้—ญๆœ็ดข็ป“ๆžœ", - "sl_hits": "ๆ˜พ็คบ {0} ไธช็ป“ๆžœ", - "sl_moar": "ๅŠ ่ฝฝๆ›ดๅคš", - - "s_sz": "ๅคงๅฐ", - "s_dt": "ๆ—ฅๆœŸ", - "s_rd": "่ทฏๅพ„", - "s_fn": "ๅ็งฐ", - "s_ta": "ๆ ‡็ญพ", - "s_ua": "ไธŠไผ ไบŽ", - "s_ad": "้ซ˜็บง", - "s_s1": "ๆœ€ๅฐ MiB", - "s_s2": "ๆœ€ๅคง MiB", - "s_d1": "ๆœ€ๆ—ฉ iso8601", - "s_d2": "ๆœ€ๆ™š iso8601", - "s_u1": "ไธŠไผ ๅŽ", - "s_u2": "ๅ’Œ/ๆˆ–ไน‹ๅ‰", - "s_r1": "่ทฏๅพ„ๅŒ…ๅซ  ๏ผˆ็ฉบๆ ผๅˆ†้š”๏ผ‰", - "s_f1": "ๅ็งฐๅŒ…ๅซ  ๏ผˆ็”จ -nope ๅฆๅฎš๏ผ‰", - "s_t1": "ๆ ‡็ญพๅŒ…ๅซ  ๏ผˆ^=ๅผ€ๅคด๏ผŒ$=็ป“ๅฐพ๏ผ‰", - "s_a1": "็‰นๅฎšๅ…ƒๆ•ฐๆฎๅฑžๆ€ง", - - "md_eshow": "ๆ— ๆณ•ๆธฒๆŸ“ ", - "md_off": "[๐Ÿ“œreadme] ๅœจ [โš™๏ธ] ไธญ็ฆ็”จ -- ๆ–‡ๆกฃ้š่—", - - "badreply": "่งฃๆžๆœๅŠกๅ™จๅ›žๅคๅคฑ่ดฅ", - - "xhr403": "403: ่ฎฟ้—ฎ่ขซๆ‹’็ป\n\nๅฐ่ฏ•ๆŒ‰ F5 ๅฏ่ƒฝไผš้‡ๆ–ฐ็™ปๅฝ•", - "xhr0": "ๆœช็Ÿฅ๏ผˆๅฏ่ƒฝไธขๅคฑ่ฟžๆŽฅๅˆฐๆœๅŠกๅ™จ๏ผŒๆˆ–ๆœๅŠกๅ™จ็ฆป็บฟ๏ผ‰", - "cf_ok": "ๆŠฑๆญ‰ -- DD" + wah + "oS ไฟๆŠคๅฏๅŠจ\n\nไบ‹ๆƒ…ๅบ”่ฏฅๅœจๅคง็บฆ 30 ็ง’ๅŽๆขๅค\n\nๅฆ‚ๆžœๆฒกๆœ‰ไปปไฝ•ๅ˜ๅŒ–๏ผŒๆŒ‰ F5 ้‡ๆ–ฐๅŠ ่ฝฝ้กต้ข", - "tl_xe1": "ๆ— ๆณ•ๅˆ—ๅ‡บๅญๆ–‡ไปถๅคน๏ผš\n\n้”™่ฏฏ ", - "tl_xe2": "404: ๆ–‡ไปถๅคนๆœชๆ‰พๅˆฐ", - "fl_xe1": "ๆ— ๆณ•ๅˆ—ๅ‡บๆ–‡ไปถๅคนไธญ็š„ๆ–‡ไปถ๏ผš\n\n้”™่ฏฏ ", - "fl_xe2": "404: ๆ–‡ไปถๅคนๆœชๆ‰พๅˆฐ", - "fd_xe1": "ๆ— ๆณ•ๅˆ›ๅปบๅญๆ–‡ไปถๅคน๏ผš\n\n้”™่ฏฏ ", - "fd_xe2": "404: ็ˆถๆ–‡ไปถๅคนๆœชๆ‰พๅˆฐ", - "fsm_xe1": "ๆ— ๆณ•ๅ‘้€ๆถˆๆฏ๏ผš\n\n้”™่ฏฏ ", - "fsm_xe2": "404: ็ˆถๆ–‡ไปถๅคนๆœชๆ‰พๅˆฐ", - "fu_xe1": "ๆ— ๆณ•ไปŽๆœๅŠกๅ™จๅŠ ่ฝฝๆœชๅ‘ๅธƒๅˆ—่กจ๏ผš\n\n้”™่ฏฏ ", - "fu_xe2": "404: ๆ–‡ไปถๆœชๆ‰พๅˆฐ??", - - "fz_tar": "ๆœชๅŽ‹็ผฉ็š„ gnu-tar ๆ–‡ไปถ๏ผˆlinux / mac๏ผ‰", - "fz_pax": "ๆœชๅŽ‹็ผฉ็š„ pax ๆ ผๅผ tar๏ผˆ่พƒๆ…ข๏ผ‰", - "fz_targz": "gnu-tar ๅธฆ gzip ็บงๅˆซ 3 ๅŽ‹็ผฉ$N$N้€šๅธธ้žๅธธๆ…ข๏ผŒๆ‰€ไปฅ$Nๅปบ่ฎฎไฝฟ็”จๆœชๅŽ‹็ผฉ็š„ tar", - "fz_tarxz": "gnu-tar ๅธฆ xz ็บงๅˆซ 1 ๅŽ‹็ผฉ$N$N้€šๅธธ้žๅธธๆ…ข๏ผŒๆ‰€ไปฅ$Nๅปบ่ฎฎไฝฟ็”จๆœชๅŽ‹็ผฉ็š„ tar", - "fz_zip8": "zip ๅธฆ utf8 ๆ–‡ไปถๅ๏ผˆๅœจ windows 7 ๅŠๆ›ดๆ—ฉ็‰ˆๆœฌไธŠๅฏ่ƒฝไผšๅ‡บ็Žฐ้—ฎ้ข˜๏ผ‰", - "fz_zipd": "zip ๅธฆไผ ็ปŸ cp437 ๆ–‡ไปถๅ๏ผŒ้€‚็”จไบŽ้žๅธธๆ—ง็š„่ฝฏไปถ", - "fz_zipc": "cp437 ๅธฆ crc32 ๆๅ‰่ฎก็ฎ—๏ผŒ$N้€‚็”จไบŽ MS-DOS PKZIP v2.04g๏ผˆ1993 ๅนด 10 ๆœˆ๏ผ‰$N๏ผˆๅค„็†ๆ—ถ้—ด่พƒ้•ฟ๏ผŒๅœจไธ‹่ฝฝๅผ€ๅง‹ไน‹ๅ‰๏ผ‰", - - "un_m1": "ไฝ ๅฏไปฅๅˆ ้™คไธ‹้ข็š„่ฟ‘ๆœŸไธŠไผ ๏ผˆๆˆ–ไธญๆญขๆœชๅฎŒๆˆ็š„ไธŠไผ ๏ผ‰", - "un_upd": "ๅˆทๆ–ฐ", - "un_m4": "ๆˆ–ๅˆ†ไบซไธ‹้ขๅฏ่ง็š„ๆ–‡ไปถ๏ผš", - "un_ulist": "ๆ˜พ็คบ", - "un_ucopy": "ๅคๅˆถ", - "un_flt": "ๅฏ้€‰่ฟ‡ๆปคๅ™จ๏ผš  URL ๅฟ…้กปๅŒ…ๅซ", - "un_fclr": "ๆธ…้™ค่ฟ‡ๆปคๅ™จ", - "un_derr": 'ๆœชๅ‘ๅธƒๅˆ ้™คๅคฑ่ดฅ๏ผš\n', - "un_f5": 'ๅ‡บ็Žฐ้—ฎ้ข˜๏ผŒ่ฏทๅฐ่ฏ•ๅˆทๆ–ฐๆˆ–ๆŒ‰ F5', - "un_uf5": "ๆŠฑๆญ‰๏ผŒไฝ ๅฟ…้กปๅˆทๆ–ฐ้กต้ข๏ผˆไพ‹ๅฆ‚๏ผŒๆŒ‰ F5 ๆˆ– CTRL-R๏ผ‰๏ผŒ็„ถๅŽๆ‰่ƒฝไธญๆญขๆญคไธŠไผ ", - "un_nou": '่ญฆๅ‘Š๏ผš ๆœๅŠกๅ™จๅคชๅฟ™๏ผŒๆ— ๆณ•ๆ˜พ็คบๆœชๅฎŒๆˆ็š„ไธŠไผ ๏ผ›็จๅŽ็‚นๅ‡ปโ€œๅˆทๆ–ฐโ€้“พๆŽฅ', - "un_noc": '่ญฆๅ‘Š๏ผš ๆœๅŠกๅ™จ้…็ฝฎไธญๆœชๅฏ็”จ/ๅ…่ฎธๅฎŒๅ…จไธŠไผ ๆ–‡ไปถ็š„ๅ–ๆถˆๅ‘ๅธƒ', - "un_max": "ๆ˜พ็คบๅ‰ 2000 ไธชๆ–‡ไปถ๏ผˆไฝฟ็”จ่ฟ‡ๆปคๅ™จ๏ผ‰", - "un_avail": "{0} ไธช่ฟ‘ๆœŸไธŠไผ ๅฏไปฅ่ขซๅˆ ้™ค
    {1} ไธชๆœชๅฎŒๆˆ็š„ไธŠไผ ๅฏไปฅ่ขซไธญๆญข", - "un_m2": "ๆŒ‰ไธŠไผ ๆ—ถ้—ดๆŽ’ๅบ๏ผ›ๆœ€ๆ–ฐ็š„ๅœจๅ‰๏ผš", - "un_no1": "ๅ“Žๅ‘€๏ผๆฒกๆœ‰่ถณๅคŸๆ–ฐ็š„ไธŠไผ ", - "un_no2": "ๅ“Žๅ‘€๏ผๆฒกๆœ‰็ฌฆๅˆ่ฏฅ่ฟ‡ๆปคๅ™จ็š„่ถณๅคŸๆ–ฐ็š„ไธŠไผ ", - "un_next": "ๅˆ ้™คไธ‹้ข็š„ไธ‹ไธ€ไธช {0} ไธชๆ–‡ไปถ", - "un_abrt": "ไธญๆญข", - "un_del": "ๅˆ ้™ค", - "un_m3": "ๆญฃๅœจๅŠ ่ฝฝไฝ ็š„่ฟ‘ๆœŸไธŠไผ ...", - "un_busy": "ๆญฃๅœจๅˆ ้™ค {0} ไธชๆ–‡ไปถ...", - "un_clip": "{0} ไธช้“พๆŽฅๅทฒๅคๅˆถๅˆฐๅ‰ช่ดดๆฟ", - - "u_https1": "ไฝ ๅบ”่ฏฅ", - "u_https2": "ๅˆ‡ๆขๅˆฐ https", - "u_https3": "ไปฅ่Žทๅพ—ๆ›ดๅฅฝ็š„ๆ€ง่ƒฝ", - "u_ancient": 'ไฝ ็š„ๆต่งˆๅ™จ้žๅธธๅค่€ -- ไนŸ่ฎธไฝ ๅบ”่ฏฅ ๆ”น็”จ bup', - "u_nowork": "้œ€่ฆ Firefox 53+ ๆˆ– Chrome 57+ ๆˆ– iOS 11+", - "tail_2old": "้œ€่ฆ Firefox 105+ ๆˆ– Chrome 71+ ๆˆ– iOS 14.5+", - "u_nodrop": 'ๆต่งˆๅ™จ็‰ˆๆœฌไฝŽ๏ผŒไธๆ”ฏๆŒ้€š่ฟ‡ๆ‹–ๅŠจๆ–‡ไปถๅˆฐ็ช—ๅฃๆฅไธŠไผ ๆ–‡ไปถ', - "u_notdir": "ไธๆ˜ฏๆ–‡ไปถๅคน๏ผ\n\nๆ‚จ็š„ๆต่งˆๅ™จๅคชๆ—ง๏ผ›\n่ฏทๅฐ่ฏ•ๅฐ†ๆ–‡ไปถๅคนๆ‹–ๅ…ฅ็ช—ๅฃ", - "u_uri": "่ฆไปŽๅ…ถไป–ๆต่งˆๅ™จ็ช—ๅฃๆ‹–ๆ”พๅ›พ็‰‡๏ผŒ\n่ฏทๅฐ†ๅ…ถๆ‹–ๆ”พๅˆฐๅคง็š„ไธŠไผ ๆŒ‰้’ฎไธŠ", - "u_enpot": 'ๅˆ‡ๆขๅˆฐ ็ฎ€็บฆ UI๏ผˆๅฏ่ƒฝๆ้ซ˜ไธŠไผ ้€Ÿๅบฆ๏ผ‰', - "u_depot": 'ๅˆ‡ๆขๅˆฐ ็ฒพ็พŽ UI๏ผˆๅฏ่ƒฝ้™ไฝŽไธŠไผ ้€Ÿๅบฆ๏ผ‰', - "u_gotpot": 'ๅˆ‡ๆขๅˆฐ็ฎ€ๅŒ–UIไปฅๆ้ซ˜ไธŠไผ ้€Ÿๅบฆ๏ผŒ\n\n้šๆ—ถๅฏไปฅไธๅŒๆ„ๅนถๅˆ‡ๆขๅ›žๅŽป๏ผ', - "u_pott": "

    ไธชๆ–‡ไปถ๏ผš   {0} ๅทฒๅฎŒๆˆ๏ผŒ   {1} ๅคฑ่ดฅ๏ผŒ   {2} ๆญฃๅœจๅค„็†๏ผŒ   {3} ๆŽ’้˜Ÿไธญ

    ", - "u_ever": "่ฟ™ๆ˜ฏๅŸบๆœฌ็š„ไธŠไผ ๅทฅๅ…ท๏ผ› up2k ้œ€่ฆ่‡ณๅฐ‘
    chrome 21 // firefox 13 // edge 12 // opera 12 // safari 5.1", - "u_su2k": '่ฟ™ๆ˜ฏๅŸบๆœฌ็š„ไธŠไผ ๅทฅๅ…ท๏ผ›up2k ๆ›ดๅฅฝ', - "u_uput": 'ๆ้ซ˜้€Ÿๅบฆ๏ผˆ่ทณ่ฟ‡ๆ ก้ชŒๅ’Œ๏ผ‰', - "u_ewrite": 'ไฝ ๅฏน่ฟ™ไธชๆ–‡ไปถๅคนๆฒกๆœ‰ๅ†™ๅ…ฅๆƒ้™', - "u_eread": 'ไฝ ๅฏน่ฟ™ไธชๆ–‡ไปถๅคนๆฒกๆœ‰่ฏปๅ–ๆƒ้™', - "u_enoi": 'ๆ–‡ไปถๆœ็ดขๅœจๆœๅŠกๅ™จ้…็ฝฎไธญๆœชๅฏ็”จ', - "u_enoow": "ๆ— ๆณ•่ฆ†็›–ๆญคๅค„็š„ๆ–‡ไปถ๏ผ›้œ€่ฆๅˆ ้™คๆƒ้™", //m - "u_badf": '่ฟ™ไบ› {0} ไธชๆ–‡ไปถ๏ผˆๅ…ฑ {1} ไธช๏ผ‰่ขซ่ทณ่ฟ‡๏ผŒๅฏ่ƒฝๆ˜ฏ็”ฑไบŽๆ–‡ไปถ็ณป็ปŸๆƒ้™๏ผš\n\n', - "u_blankf": '่ฟ™ไบ› {0} ไธชๆ–‡ไปถ๏ผˆๅ…ฑ {1} ไธช๏ผ‰ๆ˜ฏ็ฉบ็™ฝ็š„๏ผ›ๆ˜ฏๅฆไป็„ถไธŠไผ ๏ผŸ\n\n', - "u_applef": "่ฟ™ไบ› {0} ไธชๆ–‡ไปถ๏ผˆๅ…ฑ {1} ไธช๏ผ‰ๅฏ่ƒฝๆ˜ฏไธ้œ€่ฆ็š„๏ผ›\nๆŒ‰ ็กฎๅฎš/Enter ่ทณ่ฟ‡ไปฅไธ‹ๆ–‡ไปถ๏ผŒ\nๆŒ‰ ๅ–ๆถˆ/ESC ๅ–ๆถˆๆŽ’้™ค๏ผŒๅนถไธŠไผ ่ฟ™ไบ›ๆ–‡ไปถ๏ผš\n\n", //m - "u_just1": '\nไนŸ่ฎธๅฆ‚ๆžœไฝ ๅช้€‰ๆ‹ฉไธ€ไธชๆ–‡ไปถไผšๆ›ดๅฅฝ', - "u_ff_many": "ๅฆ‚ๆžœไฝ ไฝฟ็”จ็š„ๆ˜ฏ Linux / MacOS / Android๏ผŒ ้‚ฃไนˆ่ฟ™ไธชๆ–‡ไปถๆ•ฐ้‡ ๅฏ่ƒฝ ๅดฉๆบƒ Firefox!\nๅฆ‚ๆžœๅ‘็”Ÿ่ฟ™็งๆƒ…ๅ†ต๏ผŒ่ฏทๅ†่ฏ•ไธ€ๆฌก๏ผˆๆˆ–ไฝฟ็”จ Chrome๏ผ‰ใ€‚", - "u_up_life": "ๆญคไธŠไผ ๅฐ†ๅœจ {0} ๅŽไปŽๆœๅŠกๅ™จๅˆ ้™ค", - "u_asku": 'ๅฐ†่ฟ™ไบ› {0} ไธชๆ–‡ไปถไธŠไผ ๅˆฐ {1}', - "u_unpt": "ไฝ ๅฏไปฅไฝฟ็”จๅทฆไธŠ่ง’็š„ ๐Ÿงฏ ๆ’ค้”€/ๅˆ ้™คๆญคไธŠไผ ", - "u_bigtab": 'ๅฐ†ๆ˜พ็คบ {0} ไธชๆ–‡ไปถ,ๅฏ่ƒฝไผšๅฏผ่‡ดๆ‚จ็š„ๆต่งˆๅ™จๅดฉๆบƒใ€‚ๆ‚จ็กฎๅฎšๅ—๏ผŸ', - "u_scan": 'ๆญฃๅœจๆ‰ซๆๆ–‡ไปถ...', - "u_dirstuck": 'ๆ‚จ็š„ๆต่งˆๅ™จๆ— ๆณ•่ฎฟ้—ฎไปฅไธ‹ {0} ไธชๆ–‡ไปถ/ๆ–‡ไปถๅคน๏ผŒๅฎƒไปฌๅฐ†่ขซ่ทณ่ฟ‡๏ผš', - "u_etadone": 'ๅฎŒๆˆ ({0}, {1} ไธชๆ–‡ไปถ)', - "u_etaprep": '(ๅ‡†ๅค‡ไธŠไผ )', - "u_hashdone": 'ๅ“ˆๅธŒๅฎŒๆˆ', - "u_hashing": 'ๅ“ˆๅธŒ', - "u_hs": 'ๆญฃๅœจ็ญ‰ๅพ…ๆœๅŠกๅ™จ...', - "u_started": "ๆ–‡ไปถ็ŽฐๅœจๆญฃๅœจไธŠไผ  ๐Ÿš€", //m - "u_dupdefer": "่ฟ™ๆ˜ฏไธ€ไธช้‡ๅคๆ–‡ไปถใ€‚ๅฎƒๅฐ†ๅœจๆ‰€ๆœ‰ๅ…ถไป–ๆ–‡ไปถไธŠไผ ๅŽ่ฟ›่กŒๅค„็†", - "u_actx": "ๅ•ๅ‡ปๆญคๆ–‡ๆœฌไปฅ้˜ฒๆญขๅˆ‡ๆขๅˆฐๅ…ถไป–็ช—ๅฃ/้€‰้กนๅกๆ—ถๆ€ง่ƒฝไธ‹้™", - "u_fixed": "ๅฅฝ๏ผ ๅทฒไฟฎๅค ๐Ÿ‘", - "u_cuerr": "ไธŠไผ ๅ— {0} ็š„ {1} ๅคฑ่ดฅ๏ผ›\nๅฏ่ƒฝๆ— ๅฎณ๏ผŒ็ปง็ปญไธญ\n\nๆ–‡ไปถ๏ผš{2}", - "u_cuerr2": "ๆœๅŠกๅ™จๆ‹’็ปไธŠไผ ๏ผˆๅ— {0} ็š„ {1}๏ผ‰๏ผ›\n็จๅŽ้‡่ฏ•\n\nๆ–‡ไปถ๏ผš{2}\n\n้”™่ฏฏ ", - "u_ehstmp": "ๅฐ†้‡่ฏ•๏ผ›่งๅณไธ‹่ง’", - "u_ehsfin": "ๆœๅŠกๅ™จๆ‹’็ปไบ†ๆœ€็ปˆไธŠไผ ่ฏทๆฑ‚๏ผ›ๆญฃๅœจ้‡่ฏ•...", - "u_ehssrch": "ๆœๅŠกๅ™จๆ‹’็ปไบ†ๆœ็ดข่ฏทๆฑ‚๏ผ›ๆญฃๅœจ้‡่ฏ•...", - "u_ehsinit": "ๆœๅŠกๅ™จๆ‹’็ปไบ†ๅฏๅŠจไธŠไผ ่ฏทๆฑ‚๏ผ›ๆญฃๅœจ้‡่ฏ•...", - "u_eneths": "่ฟ›่กŒไธŠไผ ๆกๆ‰‹ๆ—ถ็š„็ฝ‘็ปœ้”™่ฏฏ๏ผ›ๆญฃๅœจ้‡่ฏ•...", - "u_enethd": "ๆต‹่ฏ•็›ฎๆ ‡ๅญ˜ๅœจๆ—ถ็š„็ฝ‘็ปœ้”™่ฏฏ๏ผ›ๆญฃๅœจ้‡่ฏ•...", - "u_cbusy": "็ญ‰ๅพ…ๆœๅŠกๅ™จๅœจ็ฝ‘็ปœๆ•…้šœๅŽๅ†ๆฌกไฟกไปปๆˆ‘ไปฌ...", - "u_ehsdf": "ๆœๅŠกๅ™จ็ฃ็›˜็ฉบ้—ดไธ่ถณ๏ผ\n\nๅฐ†็ปง็ปญ้‡่ฏ•๏ผŒไปฅ้˜ฒๆœ‰ไบบ\n้‡Šๆ”พ่ถณๅคŸ็š„็ฉบ้—ดไปฅ็ปง็ปญ", - "u_emtleak1": "็œ‹่ตทๆฅไฝ ็š„็ฝ‘้กตๆต่งˆๅ™จๅฏ่ƒฝๆœ‰ๅ†…ๅญ˜ๆณ„ๆผ๏ผ›\n่ฏท", - "u_emtleak2": ' ๅˆ‡ๆขๅˆฐ https๏ผˆๆŽจ่๏ผ‰ ๆˆ– ', - "u_emtleak3": ' ', - "u_emtleakc": 'ๅฐ่ฏ•ไปฅไธ‹ๆ“ไฝœ๏ผš\n
    • ๆŒ‰ F5 ๅˆทๆ–ฐ้กต้ข
    • ็„ถๅŽๅœจ โš™๏ธ ่ฎพ็ฝฎ ไธญ็ฆ็”จ mt ๆŒ‰้’ฎ
    • ็„ถๅŽๅ†ๆฌกๅฐ่ฏ•ไธŠไผ 
    ไธŠไผ ไผš็จๅพฎๆ…ขไธ€ไบ›๏ผŒไธ่ฟ‡ๆฒกๅ…ณ็ณปใ€‚\nๆŠฑๆญ‰ๅธฆๆฅ้บป็ƒฆ๏ผ\n\nPS๏ผšchrome v107 ๅทฒไฟฎๅคๆญค้—ฎ้ข˜', - "u_emtleakf": 'ๅฐ่ฏ•ไปฅไธ‹ๆ“ไฝœ๏ผš\n
    • ๆŒ‰ F5 ๅˆทๆ–ฐ้กต้ข
    • ็„ถๅŽๅœจไธŠไผ  UI ไธญๅฏ็”จ ๐Ÿฅ”๏ผˆๅœŸ่ฑ†๏ผ‰
    • ็„ถๅŽๅ†ๆฌกๅฐ่ฏ•ไธŠไผ 
    \nPS: firefox ๅธŒๆœ›ไผšๅœจๆŸไธชๆ—ถ็‚นไฟฎๅคๆญค้—ฎ้ข˜', - "u_s404": "ๅœจๆœๅŠกๅ™จไธŠๆœชๆ‰พๅˆฐ", - "u_expl": "่งฃ้‡Š", - "u_maxconn": "ๅคงๅคšๆ•ฐๆต่งˆๅ™จ้™ๅˆถไธบ 6๏ผŒไฝ† Firefox ๅ…่ฎธไฝ ้€š่ฟ‡ connections-per-server ๅœจ about:config ไธญๆ้ซ˜้™ๅˆถ", - "u_tu": '

    ่ญฆๅ‘Š๏ผšๅฏ็”จไบ† turbo๏ผŒ ๅฎขๆˆท็ซฏๅฏ่ƒฝๆ— ๆณ•ๆฃ€ๆต‹ๅ’ŒๆขๅคไธๅฎŒๆ•ด็š„ไธŠไผ ๏ผ›ๆŸฅ็œ‹ turbo ๆŒ‰้’ฎๅทฅๅ…ทๆ็คบ

    ', - "u_ts": '

    ่ญฆๅ‘Š๏ผšๅฏ็”จไบ† turbo๏ผŒ ๆœ็ดข็ป“ๆžœๅฏ่ƒฝไธๆญฃ็กฎ๏ผ›ๆŸฅ็œ‹ turbo ๆŒ‰้’ฎๅทฅๅ…ทๆ็คบ

    ', - "u_turbo_c": "ๆœๅŠกๅ™จ้…็ฝฎไธญ็ฆ็”จไบ† turbo", - "u_turbo_g": "็ฆ็”จ turbo๏ผŒๅ› ไธบไฝ ๅœจๆญคๅทไธญๆฒกๆœ‰\n็›ฎๅฝ•ๅˆ—่กจๆƒ้™", - "u_life_cfg": '่‡ชๅŠจๅˆ ้™คๆ—ถ้—ดไธบ ๅˆ†้’Ÿ๏ผˆๆˆ– ๅฐๆ—ถ๏ผ‰', - "u_life_est": 'ไธŠไผ ๅฐ†ๅœจ --- ๅˆ ้™ค', - "u_life_max": 'ๆญคๆ–‡ไปถๅคนๅผบๅˆถๆ‰ง่กŒ\nๆœ€ๅคงๅฏฟๅ‘ฝไธบ {0}', - "u_unp_ok": 'ๅ…่ฎธๅ–ๆถˆๅ‘ๅธƒ {0}', - "u_unp_ng": 'ๅ–ๆถˆๅ‘ๅธƒๅฐ†ไธ่ขซๅ…่ฎธ', - "ue_ro": 'ไฝ ๅฏน่ฟ™ไธชๆ–‡ไปถๅคน็š„่ฎฟ้—ฎๆ˜ฏๅช่ฏป็š„\n\n', - "ue_nl": 'ไฝ ๅฝ“ๅ‰ๆœช็™ปๅฝ•', - "ue_la": 'ไฝ ๅฝ“ๅ‰ไปฅ "{0}" ็™ปๅฝ•', - "ue_sr": 'ไฝ ๅฝ“ๅ‰ๅค„ไบŽๆ–‡ไปถๆœ็ดขๆจกๅผ\n\n้€š่ฟ‡็‚นๅ‡ปๅคงๆœ็ดขๆŒ‰้’ฎๆ—่พน็š„ๆ”พๅคง้•œ ๐Ÿ”Ž ๅˆ‡ๆขๅˆฐไธŠไผ ๆจกๅผ๏ผŒ็„ถๅŽ้‡่ฏ•ไธŠไผ \n\nๆŠฑๆญ‰', - "ue_ta": 'ๅฐ่ฏ•ๅ†ๆฌกไธŠไผ ๏ผŒ็Žฐๅœจๅบ”่ฏฅ่ƒฝๆญฃๅธธๅทฅไฝœ', - "ue_ab": "่ฟ™ไปฝๆ–‡ไปถๆญฃๅœจไธŠไผ ๅˆฐๅฆไธ€ไธชๆ–‡ไปถๅคน๏ผŒๅฟ…้กปๅฎŒๆˆ่ฏฅไธŠไผ ๅŽ๏ผŒๆ‰่ƒฝๅฐ†ๆ–‡ไปถไธŠไผ ๅˆฐๅ…ถไป–ไฝ็ฝฎใ€‚\n\nๆ‚จๅฏไปฅ้€š่ฟ‡ๅทฆไธŠ่ง’็š„๐Ÿงฏไธญๆญขๅนถๅฟ˜่ฎฐ่ฏฅไธŠไผ ใ€‚", //m - "ur_1uo": "ๆˆๅŠŸ๏ผšๆ–‡ไปถไธŠไผ ๆˆๅŠŸ", - "ur_auo": "ๆˆๅŠŸ๏ผšๆ‰€ๆœ‰ {0} ไธชๆ–‡ไปถไธŠไผ ๆˆๅŠŸ", - "ur_1so": "ๆˆๅŠŸ๏ผšๆ–‡ไปถๅœจๆœๅŠกๅ™จไธŠๆ‰พๅˆฐ", - "ur_aso": "ๆˆๅŠŸ๏ผšๆ‰€ๆœ‰ {0} ไธชๆ–‡ไปถๅœจๆœๅŠกๅ™จไธŠๆ‰พๅˆฐ", - "ur_1un": "ไธŠไผ ๅคฑ่ดฅ๏ผŒๆŠฑๆญ‰", - "ur_aun": "ๆ‰€ๆœ‰ {0} ไธชไธŠไผ ๅคฑ่ดฅ๏ผŒๆŠฑๆญ‰", - "ur_1sn": "ๆ–‡ไปถๆœชๅœจๆœๅŠกๅ™จไธŠๆ‰พๅˆฐ", - "ur_asn": "่ฟ™ไบ› {0} ไธชๆ–‡ไปถๆœชๅœจๆœๅŠกๅ™จไธŠๆ‰พๅˆฐ", - "ur_um": "ๅฎŒๆˆ๏ผ›\n{0} ไธชไธŠไผ ๆˆๅŠŸ๏ผŒ\n{1} ไธชไธŠไผ ๅคฑ่ดฅ๏ผŒๆŠฑๆญ‰", - "ur_sm": "ๅฎŒๆˆ๏ผ›\n{0} ไธชๆ–‡ไปถๅœจๆœๅŠกๅ™จไธŠๆ‰พๅˆฐ๏ผŒ\n{1} ไธชๆ–‡ไปถๆœชๅœจๆœๅŠกๅ™จไธŠๆ‰พๅˆฐ", - - "lang_set": "ๅˆทๆ–ฐไปฅไฝฟๆ›ดๆ”น็”Ÿๆ•ˆ๏ผŸ", - }, - "cze": { - "tt": "ฤŒeลกtina", - - "cols": { - "c": "tlaฤรญtka akcรญ", - "dur": "doba trvรกnรญ", - "q": "kvalita / bitrate", - "Ac": "audio kodek", - "Vc": "video kodek", - "Fmt": "formรกt / kontejner", - "Ahash": "kontrolnรญ souฤet audia", - "Vhash": "kontrolnรญ souฤet videa", - "Res": "rozliลกenรญ", - "T": "typ souboru", - "aq": "kvalita zvuku / bitrate", - "vq": "kvalita videa / bitrate", - "pixfmt": "podvzorkovรกnรญ / struktura pixelลฏ", - "resw": "horizontรกlnรญ rozliลกenรญ", - "resh": "vertikรกlnรญ rozliลกenรญ", - "chs": "audio kanรกly", - "hz": "vzorkovacรญ frekvence" - }, - - "hks": [ - [ - "rลฏznรฉ", - ["ESC", "zavล™รญt rลฏznรฉ vฤ›ci"], - - "sprรกvce souborลฏ", - ["G", "pล™epnout seznam / zobrazenรญ mล™รญลพky"], - ["T", "pล™epnout nรกhledy / ikony"], - ["โ‡ง A/D", "velikost nรกhledลฏ"], - ["ctrl-K", "smazat vybranรฉ"], - ["ctrl-X", "vyjmout vรฝbฤ›r do schrรกnky"], - ["ctrl-C", "kopรญrovat vรฝbฤ›r do schrรกnky"], - ["ctrl-V", "vloลพit (pล™esunout/kopรญrovat) zde"], - ["Y", "stรกhnout vybranรฉ"], - ["F2", "pล™ejmenovat vybranรฉ"], - - "vรฝbฤ›r souborลฏ", - ["space", "pล™epnout vรฝbฤ›r souboru"], - ["โ†‘/โ†“", "posunout kurzor vรฝbฤ›ru"], - ["ctrl โ†‘/โ†“", "posunout kurzor a zobrazenรญ"], - ["โ‡ง โ†‘/โ†“", "vybrat pล™edchozรญ/nรกsledujรญcรญ soubor"], - ["ctrl-A", "vybrat vลกechny soubory / sloลพky"], - ], [ - "navigace", - ["B", "pล™epnout drobeฤkovou navigaci / navigaฤnรญ panel"], - ["I/K", "pล™edchozรญ/nรกsledujรญcรญ sloลพka"], - ["M", "nadล™azenรก sloลพka (nebo sbalit aktuรกlnรญ)"], - ["V", "pล™epnout sloลพky / textovรฉ soubory v navigaฤnรญm panelu"], - ["A/D", "velikost navigaฤnรญho panelu"], - ], [ - "audio pล™ehrรกvaฤ", - ["J/L", "pล™edchozรญ/nรกsledujรญcรญ skladba"], - ["U/O", "pล™eskoฤit 10 sekund zpฤ›t/vpล™ed"], - ["0..9", "pล™ejรญt na 0%..90%"], - ["P", "pล™ehrรกt/pozastavit (takรฉ spustit)"], - ["S", "vybrat pล™ehrรกvanou skladbu"], - ["Y", "stรกhnout skladbu"], - ], [ - "prohlรญลพeฤ obrรกzkลฏ", - ["J/L, โ†/โ†’", "pล™edchozรญ/nรกsledujรญcรญ obrรกzek"], - ["Home/End", "prvnรญ/poslednรญ obrรกzek"], - ["F", "celรก obrazovka"], - ["R", "otoฤit po smฤ›ru hodinovรฝch ruฤiฤek"], - ["โ‡ง R", "otoฤit proti smฤ›ru hodinovรฝch ruฤiฤek"], - ["S", "vybrat obrรกzek"], - ["Y", "stรกhnout obrรกzek"], - ], [ - "video pล™ehrรกvaฤ", - ["U/O", "pล™eskoฤit 10 sekund zpฤ›t/vpล™ed"], - ["P/K/Space", "pล™ehrรกt/pozastavit"], - ["C", "pokraฤovat pล™ehrรกvรกnรญm nรกsledujรญcรญ"], - ["V", "smyฤka"], - ["M", "ztlumit"], - ["[ and ]", "nastavit interval smyฤky"], - ], [ - "prohlรญลพeฤ textovรฝch souborลฏ", - ["I/K", "pล™edchozรญ/nรกsledujรญcรญ soubor"], - ["M", "zavล™รญt textovรฝ soubor"], - ["E", "upravit textovรฝ soubor"], - ["S", "vybrat soubor (pro vyjmutรญ/kopรญrovรกnรญ/pล™ejmenovรกnรญ)"], - ] - ], - - "m_ok": "OK", - "m_ng": "Zruลกit", - - "enable": "Povolit", - "danger": "NEBEZPEฤŒร", - "clipped": "zkopรญrovรกno do schrรกnky", - - "ht_s1": "sekunda", - "ht_s2": "sekundy", - "ht_s5": "sekund", - "ht_m1": "minuta", - "ht_m2": "minuty", - "ht_m5": "minut", - "ht_h1": "hodina", - "ht_h2": "hodiny", - "ht_h5": "hodin", - "ht_d1": "den", - "ht_d2": "dny", - "ht_d5": "dnรญ", - "ht_and": " a ", - - "goh": "ovlรกdacรญ panel", - "gop": 'pล™edchozรญ sourozenec">pล™edchozรญ', - "gou": 'nadล™azenรก sloลพka">nahoru', - "gon": 'nรกsledujรญcรญ sloลพka">nรกsledujรญcรญ', - "logout": "Odhlรกsit ", - "login": "Pล™ihlรกsit se", //m - "access": " pล™รญstup", - "ot_close": "zavล™รญt podnabรญdku", - "ot_search": "hledat soubory podle atributลฏ, cesty / nรกzvu, hudebnรญch tagลฏ nebo jejich kombinace$N$N<code>foo bar</code> = musรญ obsahovat jak ยซfooยป tak ยซbarยป,$N<code>foo -bar</code> = musรญ obsahovat ยซfooยป ale ne ยซbarยป,$N<code>^yana .opus$</code> = zaฤรญnรก na ยซyanaยป a je to ยซopusยป soubor$N<code>"try unite"</code> = obsahuje pล™esnฤ› ยซtry uniteยป$N$Nformรกt data je iso-8601, jako$N<code>2009-12-31</code> nebo <code>2020-09-12 23:30:00</code>", - "ot_unpost": "unpost: smazat vaลกe nedรกvnรฉ nahrรกnรญ nebo zruลกit nedokonฤenรฉ", - "ot_bup": "bup: zรกkladnรญ nahrรกvaฤ, podporuje i netscape 4.0", - "ot_mkdir": "mkdir: vytvoล™it novรฝ adresรกล™", - "ot_md": "new-md: vytvoล™it novรฝ markdown dokument", - "ot_msg": "msg: poslat zprรกvu do logu serveru", - "ot_mp": "moลพnosti pล™ehrรกvaฤe mรฉdiรญ", - "ot_cfg": "moลพnosti konfigurace", - "ot_u2i": 'up2k: nahrรกt soubory (pokud mรกte oprรกvnฤ›nรญ k zรกpisu) nebo pล™epnout do vyhledรกvacรญho reลพimu a podรญvat se, zda existujรญ nฤ›kde na serveru$N$Nnahrรกvรกnรญ je obnovitelnรฉ, vรญcevlรกknovรฉ a ฤasovรฉ znaฤky souborลฏ jsou zachovรกny, ale pouลพรญvรก vรญce CPU neลพ [๐ŸŽˆ]  (zรกkladnรญ nahrรกvaฤ)

    bฤ›hem nahrรกvรกnรญ se tato ikona stรกvรก indikรกtorem prลฏbฤ›hu!', - "ot_u2w": 'up2k: nahrรกt soubory s podporou obnovenรญ (zavล™ete prohlรญลพeฤ a stejnรฉ soubory pล™etรกhnฤ›te pozdฤ›ji)$N$Nvรญcevlรกknovรฉ a ฤasovรฉ znaฤky souborลฏ jsou zachovรกny, ale pouลพรญvรก vรญce CPU neลพ [๐ŸŽˆ]  (zรกkladnรญ nahrรกvaฤ)

    bฤ›hem nahrรกvรกnรญ se tato ikona stรกvรก indikรกtorem prลฏbฤ›hu!', - "ot_noie": 'Prosรญm pouลพijte Chrome / Firefox / Edge', - - "ab_mkdir": "vytvoล™it adresรกล™", - "ab_mkdoc": "novรฝ markdown dokument", - "ab_msg": "poslat zprรกvu do logu serveru", - - "ay_path": "pล™ejรญt na sloลพky", - "ay_files": "pล™ejรญt na soubory", - - "wt_ren": "pล™ejmenovat vybranรฉ poloลพky$NKlรกvesovรก zkratka: F2", - "wt_del": "smazat vybranรฉ poloลพky$NKlรกvesovรก zkratka: ctrl-K", - "wt_cut": "vyjmout vybranรฉ poloลพky <small>(pak je vloลพit nฤ›kam jinam)</small>$NKlรกvesovรก zkratka: ctrl-X", - "wt_cpy": "kopรญrovat vybranรฉ poloลพky do schrรกnky$N(pro vloลพenรญ nฤ›kam jinam)$NKlรกvesovรก zkratka: ctrl-C", - "wt_pst": "vloลพit dล™รญve vyjmutรฝ / zkopรญrovanรฝ vรฝbฤ›r$NKlรกvesovรก zkratka: ctrl-V", - "wt_selall": "vybrat vลกechny soubory$NKlรกvesovรก zkratka: ctrl-A (kdyลพ je zamฤ›ล™en soubor)", - "wt_selinv": "invertovat vรฝbฤ›r", - "wt_zip1": "stรกhnout tuto sloลพku jako archiv", - "wt_selzip": "stรกhnout vรฝbฤ›r jako archiv", - "wt_seldl": "stรกhnout vรฝbฤ›r jako samostatnรฉ soubory$NKlรกvesovรก zkratka: Y", - "wt_npirc": "kopรญrovat informace o stopฤ› ve formรกtu irc", - "wt_nptxt": "kopรญrovat informace o stopฤ› v prostรฉm textu", - "wt_m3ua": "pล™idat do m3u playlistu (kliknฤ›te pozdฤ›ji na ๐Ÿ“ปkopรญrovat)", - "wt_m3uc": "kopรญrovat m3u playlist do schrรกnky", - "wt_grid": "pล™epnout zobrazenรญ mล™รญลพky / seznamu$NKlรกvesovรก zkratka: G", - "wt_prev": "pล™edchozรญ stopa$NKlรกvesovรก zkratka: J", - "wt_play": "pล™ehrรกt / pozastavit$NKlรกvesovรก zkratka: P", - "wt_next": "nรกsledujรญcรญ stopa$NKlรกvesovรก zkratka: L", - - "ul_par": "paralelnรญ nahrรกvรกnรญ:", - "ut_rand": "nรกhodnรฉ nรกzvy souborลฏ", - "ut_u2ts": "kopรญrovat ฤasovou znaฤku poslednรญ zmฤ›ny$Nz vaลกeho souborovรฉho systรฉmu na server\">๐Ÿ“…", - "ut_ow": "pล™epsat existujรญcรญ soubory na serveru?$N๐Ÿ›ก๏ธ: nikdy (mรญsto toho vytvoล™รญ novรฝ nรกzev souboru)$N๐Ÿ•’: pล™epsat pokud je soubor na serveru starลกรญ neลพ vรกลก$Nโ™ป๏ธ: vลพdy pล™epsat pokud se soubory liลกรญ", - "ut_mt": "pokraฤovat v hashovรกnรญ ostatnรญch souborลฏ bฤ›hem nahrรกvรกnรญ$N$Nmoลพnรก zakรกzat pokud je vaลกe CPU nebo HDD bottleneckem", - "ut_ask": 'poลพรกdat o potvrzenรญ pล™ed zahรกjenรญm nahrรกvรกnรญ">๐Ÿ’ญ', - "ut_pot": "zlepลกit rychlost nahrรกvรกnรญ na pomalรฝch zaล™รญzenรญch$Nzjednoduลกenรญm UI", - "ut_srch": "skuteฤnฤ› nenahrรกvat, mรญsto toho zkontrolovat zda soubory jiลพ $N existujรญ na serveru (prohledรก vลกechny sloลพky kterรฉ mลฏลพete ฤรญst)", - "ut_par": "pozastavit nahrรกvรกnรญ nastavenรญm na 0$N$Nzvรฝลกit pokud je vaลกe pล™ipojenรญ pomalรฉ / vysokรก latence$N$Nponechat na 1 v LAN nebo pokud je HDD serveru bottleneckem", - "ul_btn": "pล™etรกhnฤ›te soubory / sloลพky
    sem (nebo sem kliknฤ›te)", - "ul_btnu": "N A H R ร T", - "ul_btns": "H L E D A T", - - "ul_hash": "hash", - "ul_send": "odeslat", - "ul_done": "hotovo", - "ul_idle1": "zatรญm nejsou zaล™azena ลพรกdnรก nahrรกvรกnรญ", - "ut_etah": "prลฏmฤ›rnรก rychlost <em>hashovรกnรญ</em> a odhadovanรฝ ฤas do dokonฤenรญ", - "ut_etau": "prลฏmฤ›rnรก rychlost <em>nahrรกvรกnรญ</em> a odhadovanรฝ ฤas do dokonฤenรญ", - "ut_etat": "prลฏmฤ›rnรก <em>celkovรก</em> rychlost a odhadovanรฝ ฤas do dokonฤenรญ", - - "uct_ok": "รบspฤ›ลกnฤ› dokonฤeno", - "uct_ng": "nedobrรฉ: selhalo / odmรญtnuto / nenalezeno", - "uct_done": "celkem", - "uct_bz": "hashovรกnรญ nebo nahrรกvรกnรญ", - "uct_q": "neฤinnรฉ, ฤekajรญcรญ", - - "utl_name": "nรกzev souboru", - "utl_ulist": "seznam", - "utl_ucopy": "kopรญrovat", - "utl_links": "odkazy", - "utl_stat": "stav", - "utl_prog": "prลฏbฤ›h", - - // keep short: - "utl_404": "404", - "utl_err": "CHYBA", - "utl_oserr": "chyba OS", - "utl_found": "nalezeno", - "utl_defer": "odloลพit", - "utl_yolo": "YOLO", - "utl_done": "hotovo", - - "ul_flagblk": "soubory byly pล™idรกny do fronty
    nicmรฉnฤ› v jinรฉ kartฤ› prohlรญลพeฤe bฤ›ลพรญ up2k,
    takลพe ฤekรกme aลพ skonฤรญ", - "ul_btnlk": "konfigurace serveru uzamkla tento pล™epรญnaฤ v tomto stavu", - - "udt_up": "Nahrรกvรกnรญ", - "udt_srch": "Hledรกnรญ", - "udt_drop": "pล™etรกhnฤ›te to sem", - - "u_nav_m": '
    jasnaฤka, co mรกte?
    Enter = Soubory (jeden nebo vรญce)\nESC = Jednu sloลพku (vฤetnฤ› podsloลพek)', - "u_nav_b": 'SouboryJedna sloลพka', - - "cl_opts": "pล™epรญnaฤe", - "cl_themes": "tรฉma", - "cl_langs": "jazyk", - "cl_ziptype": "stahovรกnรญ sloลพky", - "cl_uopts": "up2k pล™epรญnaฤe", - "cl_favico": "favicon", - "cl_bigdir": "velkรฉ adresรกล™e", - "cl_hsort": "#ล™azenรญ", - "cl_keytype": "notace klรกves", - "cl_hiddenc": "skrytรฉ sloupce", - "cl_hidec": "skrรฝt", - "cl_reset": "resetovat", - "cl_hpick": "klepnฤ›te na zรกhlavรญ sloupcลฏ pro skrytรญ v tabulce nรญลพe", - "cl_hcancel": "skrรฝvรกnรญ sloupcลฏ zruลกeno", - - "ct_grid": '็”ฐ mล™รญลพka', - "ct_ttips": 'โ—” โ—ก โ—”">โ„น๏ธ nรกpovฤ›dy', - "ct_thumb": 'v zobrazenรญ mล™รญลพky pล™epnout ikony nebo nรกhledy$NKlรกvesovรก zkratka: T">๐Ÿ–ผ๏ธ nรกhledy', - "ct_csel": 'pouลพรญt CTRL a SHIFT pro vรฝbฤ›r souborลฏ v zobrazenรญ mล™รญลพky">vรฝbฤ›r', - "ct_ihop": 'kdyลพ se zavล™e prohlรญลพeฤ obrรกzkลฏ, posunout dolลฏ k naposledy zobrazenรฉmu souboru">gโฎฏ', - "ct_dots": 'zobrazit skrytรฉ soubory (pokud to server povoluje)">dotfiles', - "ct_qdel": 'pล™i mazรกnรญ souborลฏ poลพรกdat o potvrzenรญ jen jednou">rychlรฉ mazรกnรญ', - "ct_dir1st": 'ล™adit sloลพky pล™ed soubory">๐Ÿ“ prvnรญ', - "ct_nsort": 'pล™irozenรฉ ล™azenรญ (pro nรกzvy souborลฏ s รบvodnรญmi ฤรญslicemi)">pล™irozenรฉ ล™azenรญ', - "ct_utc": 'zobrazit vลกechny ฤasy v UTC">UTC', - "ct_readme": 'zobrazit README.md v seznamech sloลพek">๐Ÿ“œ readme', - "ct_idxh": 'zobrazit index.html mรญsto seznamu sloลพky">htm', - "ct_sbars": 'zobrazit posuvnรญky">โŸŠ', - - "cut_umod": "pokud soubor na serveru jiลพ existuje, aktualizovat ฤasovou znaฤku poslednรญho zmฤ›ny serveru tak, aby odpovรญdala vaลกemu lokรกlnรญmu souboru (vyลพaduje oprรกvnฤ›nรญ k zรกpisu+mazรกnรญ)\">re๐Ÿ“…", - - "cut_turbo": "yolo tlaฤรญtko, pravdฤ›podobnฤ› to NECHCETE povolit:$N$Npouลพijte to pokud jste nahrรกvali obrovskรฉ mnoลพstvรญ souborลฏ a museli jste restartovat z nฤ›jakรฉho dลฏvodu a chcete pokraฤovat v nahrรกvรกnรญ ASAP$N$Ntoto nahradรญ hash-kontrolu jednoduchรฝm "mรก to stejnou velikost souboru na serveru?" takลพe pokud se obsah souborลฏ liลกรญ, NEBUDE nahrรกn$N$Nmฤ›li byste to vypnout kdyลพ nahrรกvรกnรญ skonฤรญ a pak znovu "nahrรกt" stejnรฉ soubory aby je klient ovฤ›ล™il\">turbo", - - "cut_datechk": "nemรก ลพรกdnรฝ efekt pokud nenรญ povoleno turbo tlaฤรญtko$N$Nsniลพuje yolo faktor o trochu; kontroluje zda ฤasovรฉ znaฤky souborลฏ na serveru odpovรญdajรญ vaลกim$N$Nmฤ›l by teoreticky zachytit vฤ›tลกinu nedokonฤenรฝch / poลกkozenรฝch nahrรกvรกnรญ, ale nenรญ nรกhradou za ovฤ›ล™ovacรญ prลฏchod s turbem vypnutรฝm potรฉ\">kontrola data", - - "cut_u2sz": "velikost (v MiB) kaลพdรฉho kusu nahrรกvรกnรญ; velkรฉ hodnoty lรฉpe lรฉtajรญ pล™es atlantik. Zkuste nรญzkรฉ hodnoty na velmi nespolehlivรฝch pล™ipojenรญch", - - "cut_flag": "zajistit aby nahrรกvala jen jedna karta najednou $N -- ostatnรญ karty to musรญ mรญt takรฉ povoleno $N -- ovlivลˆuje jen karty na stejnรฉ domรฉnฤ›", - - "cut_az": "nahrรกvat soubory v abecednรญm poล™adรญ, spรญลกe neลพ nejmenลกรญ-soubor-prvnรญ$N$Nabecednรญ poล™adรญ mลฏลพe usnadnit kontrolu zda se nฤ›co pokazilo na serveru, ale ฤinรญ nahrรกvรกnรญ mรญrnฤ› pomalejลกรญ na optice / LAN", - - "cut_nag": "notifikace OS kdyลพ nahrรกvรกnรญ skonฤรญ$N(jen pokud prohlรญลพeฤ nebo karta nenรญ aktivnรญ)", - "cut_sfx": "zvukovรฉ upozornฤ›nรญ kdyลพ nahrรกvรกnรญ skonฤรญ$N(jen pokud prohlรญลพeฤ nebo karta nenรญ aktivnรญ)", - - "cut_mt": "pouลพรญt vรญcevlรกknovรฉ zpracovรกnรญ pro zrychlenรญ hashovรกnรญ souborลฏ$N$Ntoto pouลพรญvรก web-workers a vyลพaduje$Nvรญce RAM (aลพ 512 MiB navรญc)$N$Ndฤ›lรก https o 30% rychlejลกรญ a http 4,5x rychlejลกรญ\">mt", - - "cut_wasm": "pouลพijte wasm mรญsto vestavฤ›nรฉho hashovรกnรญ prohlรญลพeฤe; zlepลกuje rychlost na prohlรญลพeฤรญch zaloลพenรฝch na chrome ale zvyลกuje zรกtฤ›ลพ CPU, mnoho starลกรญch verzรญ chrome mรก chyby kterรฉ zpลฏsobujรญ ลพe prohlรญลพeฤ spotล™ebuje veลกkerou RAM a spadne pokud je toto povoleno\">wasm", - - "cft_text": "text favicon (prรกzdnรฉ a obnovte pro zakรกzรกnรญ)", - "cft_fg": "barva popล™edรญ", - "cft_bg": "barva pozadรญ", - - "cdt_lim": "maximรกlnรญ poฤet souborลฏ k zobrazenรญ ve sloลพce", - "cdt_ask": "pล™i posunovรกnรญ na konec,$Nmรญsto naฤรญtรกnรญ vรญce souborลฏ,$N se zeptat co dฤ›lat", - "cdt_hsort": "kolik pravidel ล™azenรญ (<code>,sorthref</code>) zahrnout do media-URL. Nastavenรญ na 0 bude takรฉ ignorovat pravidla ล™azenรญ zahrnutรก v media odkazech pล™i kliknutรญ na nฤ›", - - "tt_entree": "zobrazit navigaฤnรญ panel (postrannรญ strom adresรกล™ลฏ)$NKlรกvesovรก zkratka: B", - "tt_detree": "zobrazit drobeฤkovou navigaci$NKlรกvesovรก zkratka: B", - "tt_visdir": "posunout k vybranรฉ sloลพce", - "tt_ftree": "pล™epnout strom sloลพek / textovรฉ soubory$NKlรกvesovรก zkratka: V", - "tt_pdock": "zobrazit nadล™azenรฉ sloลพky v ukotvenรฉm panelu nahoล™e", - "tt_dynt": "automaticky rozrลฏstat jak se strom rozลกiล™uje", - "tt_wrap": "zalomenรญ ล™รกdkลฏ", - "tt_hover": "odhalit pล™etรฉkajรญcรญ ล™รกdky pล™i najetรญ$N( ruลกรญ posun pokud kurzor myลกi $N  nenรญ v levรฉm okraji )", - - "ml_pmode": "na konci sloลพky...", - "ml_btns": "pล™รญkazy", - "ml_tcode": "transkรณdovat", - "ml_tcode2": "transkรณdovat na", - "ml_tint": "odstรญn", - "ml_eq": "audio ekvalizรฉr", - "ml_drc": "kompresor dynamickรฉho rozsahu", - - "mt_loop": "smyฤka/opakovat jednu skladbu\">๐Ÿ”", - "mt_one": "zastavit po jednรฉ skladbฤ›\">1๏ธโƒฃ", - "mt_shuf": "zamรญchat skladby v kaลพdรฉ sloลพce\">๐Ÿ”€", - "mt_aplay": "automatickรฉ pล™ehrรกvรกnรญ pokud je ID skladby v odkazu kterรฝm jste pล™iลกli na server$N$Nzakรกzรกnรญ toho takรฉ zastavรญ aktualizaci URL strรกnky s ID skladby pล™i pล™ehrรกvรกnรญ hudby, aby se zabrรกnilo automatickรฉmu pล™ehrรกvรกnรญ pokud se tato nastavenรญ ztratรญ ale URL zลฏstane\">aโ–ถ", - "mt_preload": "zaฤรญt naฤรญtat nรกsledujรญcรญ skladbu pล™ed koncem pro plynulรฉ pล™ehrรกvรกnรญ\">pล™ednahrรกnรญ", - "mt_prescan": "pล™ejรญt do nรกsledujรญcรญ sloลพky pล™ed tรญm neลพ$Nskonฤรญ poslednรญ skladba, aby byl webprohlรญลพeฤ$Nspokojen aby nezastavil pล™ehrรกvรกnรญ\">nav", - "mt_fullpre": "zkusit pล™ednahrรกt celou skladbu;$Nโœ… povolit na nespolehlivรฝch pล™ipojenรญch,$NโŒ zakรกzat na pomalรฝch pล™ipojenรญch pravdฤ›podobnฤ›\">รบplnรฉ", - "mt_fau": "na telefonech zabrรกnit zastavenรญ hudby, pokud se dalลกรญ pรญseลˆ nenahraje dostateฤnฤ› rychle (mลฏลพe zpลฏsobit chybnรฉ zobrazenรญ tagลฏ)\">โ˜•๏ธ", - "mt_waves": "vlnovรฝ posuvnรญk:$Nzobrazit amplitudu zvuku v posuvnรญku\">~s", - "mt_npclip": "zobrazit tlaฤรญtka pro kopรญrovรกnรญ aktuรกlnฤ› pล™ehrรกvanรฉ pรญsnฤ› do schrรกnky\">/np", - "mt_m3u_c": "zobrazit tlaฤรญtka pro kopรญrovรกnรญ$Nvybranรฝch pรญsnรญ jako poloลพky m3u8 playlistu\">๐Ÿ“ป", - "mt_octl": "integrace s OS (mediรกlnรญ klรกvesy / osd)\">os-ctl", - "mt_oseek": "povolit posunovรกnรญ pล™es integraci s OS$N$Npoznรกmka: na nฤ›kterรฝch zaล™รญzenรญch (iPhone),$Nto nahradรญ tlaฤรญtko dalลกรญ pรญsnฤ›\">seek", - "mt_oscv": "zobrazit obal alba v osd\">art", - "mt_follow": "udrลพet pล™ehrรกvanou stopu v zobrazenรญ\">๐ŸŽฏ", - "mt_compact": "kompaktnรญ ovlรกdรกnรญ\">โŸŽ", - "mt_uncache": "vymazat cache  (zkuste to, pokud vรกลก prohlรญลพeฤ uloลพil$Nporuลกenou kopii pรญsnฤ› a odmรญtรก ji pล™ehrรกt)\">uncache", - "mt_mloop": "opakovat otevล™enou sloลพku\">๐Ÿ” loop", - "mt_mnext": "naฤรญst dalลกรญ sloลพku a pokraฤovat\">๐Ÿ“‚ next", - "mt_mstop": "zastavit pล™ehrรกvรกnรญ\">โธ stop", - "mt_cflac": "pล™evรฉst flac / wav na {0}\">flac", - "mt_caac": "pล™evรฉst aac / m4a na {0}\">aac", - "mt_coth": "pล™evรฉst vลกechny ostatnรญ (ne mp3) na {0}\">oth", - "mt_c2opus": "nejlepลกรญ volba pro desktopy, laptopy, android\">opus", - "mt_c2owa": "opus-weba, pro iOS 17.5 a novฤ›jลกรญ\">owa", - "mt_c2caf": "opus-caf, pro iOS 11 aลพ 17\">caf", - "mt_c2mp3": "pouลพijte na velmi starรฝch zaล™รญzenรญch\">mp3", - "mt_c2flac": "nejlepลกรญ kvalita zvuku, ale obrovskรฉ stahovรกnรญ\">flac", - "mt_c2wav": "nekomprimovanรฉ pล™ehrรกvรกnรญ (jeลกtฤ› vฤ›tลกรญ)\">wav", - "mt_c2ok": "vรฝbornฤ›, dobrรก volba", - "mt_c2nd": "to nenรญ doporuฤenรฝ vรฝstupnรญ formรกt pro vaลกe zaล™รญzenรญ, ale v poล™รกdku", - "mt_c2ng": "vaลกe zaล™รญzenรญ, zdรก se, nepodporuje tento vรฝstupnรญ formรกt, ale zkusรญme to", - "mt_xowa": "v iOS jsou chyby brรกnรญcรญ pล™ehrรกvรกnรญ na pozadรญ s tรญmto formรกtem; pouลพijte prosรญm caf nebo mp3", - "mt_tint": "รบroveลˆ pozadรญ (0-100) na posuvnรญku$Nabyste uฤinili uklรกdรกnรญ do vyrovnรกvacรญ pamฤ›ti mรฉnฤ› ruลกivรฝm", - "mt_eq": "povoluje ekvalizรฉr a ovlรกdรกnรญ zisku;$N$Nboost <code>0</code> = standardnรญ 100% hlasitost (nezmฤ›nฤ›no)$N$Nwidth <code>1  </code> = standardnรญ stereo (nezmฤ›nฤ›no)$Nwidth <code>0.5</code> = 50% levรฝ-pravรฝ crossfeed$Nwidth <code>0  </code> = mono$N$Nboost <code>-0.8</code> & width <code>10</code> = odstranฤ›nรญ vokรกlลฏ :^)$N$Npovolenรญ ekvalizรฉru ฤinรญ alba bez mezer zcela bez mezer, takลพe to nechte zapnutรฉ se vลกemi hodnotami na nule (kromฤ› width = 1), pokud vรกm na tom zรกleลพรญ", - "mt_drc": "povoluje kompresor dynamickรฉho rozsahu (vyrovnรกvaฤ hlasitosti / brickwaller); takรฉ povolรญ EQ pro vyvรกลพenรญ ลกpaget, takลพe nastavte vลกechna EQ pole kromฤ› 'width' na 0, pokud to nechcete$N$Nsniลพuje hlasitost zvuku nad THRESHOLD dB; pro kaลพdรฝ RATIO dB za THRESHOLD je 1 dB vรฝstupu, takลพe vรฝchozรญ hodnoty tresh -24 a ratio 12 znamenajรญ, ลพe by nikdy nemฤ›lo bรฝt hlasitฤ›jลกรญ neลพ -22 dB a je bezpeฤnรฉ zvรฝลกit boost ekvalizรฉru na 0.8, nebo dokonce 1.8 s ATK 0 a obrovskรฝm RLS jako 90 (funguje pouze ve firefoxu; RLS je max 1 v jinรฝch prohlรญลพeฤรญch)$N$N(viz wikipedia, vysvฤ›tlujรญ to mnohem lรฉpe)", - - "mb_play": "pล™ehrรกt", - "mm_hashplay": "pล™ehrรกt tento audio soubor?", - "mm_m3u": "stisknฤ›te Enter/OK pro Pล™ehrรกnรญ\nstisknฤ›te ESC/Zruลกit pro รšpravu", - "mp_breq": "potล™ebujete firefox 82+ nebo chrome 73+ nebo iOS 15+", - "mm_bload": "nynรญ se naฤรญtรก...", - "mm_bconv": "pล™evรกdรญ se na {0}, ฤekejte prosรญm...", - "mm_opusen": "vรกลก prohlรญลพeฤ nemลฏลพe pล™ehrรกt aac / m4a soubory;\ntranscoding na opus je nynรญ povolen", - "mm_playerr": "pล™ehrรกvรกnรญ selhalo: ", - "mm_eabrt": "Pokus o pล™ehrรกvรกnรญ byl zruลกen", - "mm_enet": "Vaลกe internetovรฉ pล™ipojenรญ je nestabilnรญ", - "mm_edec": "Tento soubor je รบdajnฤ› poลกkozenรฝ??", - "mm_esupp": "Vรกลก prohlรญลพeฤ nerozumรญ tomuto audio formรกtu", - "mm_eunk": "Neznรกmรก chyba", - "mm_e404": "Nelze pล™ehrรกt audio; chyba 404: Soubor nenalezen.", - "mm_e403": "Nelze pล™ehrรกt audio; chyba 403: Pล™รญstup odepล™en.\n\nZkuste stisknout F5 pro obnovenรญ, moลพnรก jste se odhlรกsili", - "mm_e500": "Nelze pล™ehrรกt audio; chyba 500: Zkontrolujte logy serveru.", - "mm_e5xx": "Nelze pล™ehrรกt audio; chyba serveru ", - "mm_nof": "ลพรกdnรฉ dalลกรญ audio soubory v okolรญ nenalezeny", - "mm_prescan": "Hledรกm hudbu k dalลกรญmu pล™ehrรกnรญ...", - "mm_scank": "Dalลกรญ pรญseลˆ nalezena:", - "mm_uncache": "cache vymazรกna; vลกechny pรญsnฤ› se znovu stรกhnou pล™i dalลกรญm pล™ehrรกvรกnรญ", - "mm_hnf": "tato pรญseลˆ jiลพ neexistuje", - - "im_hnf": "tento obrรกzek jiลพ neexistuje", - - "f_empty": 'tato sloลพka je prรกzdnรก', - "f_chide": 'toto skryje sloupec ยซ{0}ยป\n\nmลฏลพete odkrรฝt sloupce v zรกloลพce nastavenรญ', - "f_bigtxt": "tento soubor mรก {0} MiB -- opravdu zobrazit jako text?", - "f_bigtxt2": "zobrazit pouze konec souboru? to takรฉ povolรญ sledovรกnรญ/tailing, zobrazรญ novฤ› pล™idanรฉ ล™รกdky textu v reรกlnรฉm ฤase", - "fbd_more": '
    zobrazuji {0} z {1} souborลฏ; zobraz {2} nebo zobraz vลกechny
    ', - "fbd_all": '
    zobrazuji {0} z {1} souborลฏ; zobraz vลกechny
    ', - "f_anota": "pouze {0} z {1} poloลพek bylo vybrรกno;\npro vรฝbฤ›r celรฉ sloลพky nejprve pล™ejdฤ›te na konec", - - "f_dls": 'odkazy na soubory v aktuรกlnรญ sloลพce byly\nzmฤ›nฤ›ny na odkazy ke staลพenรญ', - - "f_partial": "Pro bezpeฤnรฉ staลพenรญ souboru, kterรฝ se aktuรกlnฤ› nahrรกvรก, kliknฤ›te prosรญm na soubor se stejnรฝm nรกzvem, ale bez pล™รญpony .PARTIAL. Stisknฤ›te prosรญm Zruลกit nebo Escape.\n\nStisknutรญm OK / Enter ignorujete toto varovรกnรญ a pokraฤujete ve stahovรกnรญ .PARTIAL doฤasnรฉho souboru, coลพ tรฉmฤ›ล™ jistฤ› vyรบstรญ jako poลกkozenรก data.", - - "ft_paste": "vloลพit {0} poloลพek$NKlรกvesovรก zkratka: ctrl-V", - "fr_eperm": 'nelze pล™ejmenovat:\nnemรกte oprรกvnฤ›nรญ โ€œpล™esunoutโ€ v tรฉto sloลพce', - "fd_eperm": 'nelze smazat:\nnemรกte oprรกvnฤ›nรญ โ€œsmazatโ€ v tรฉto sloลพce', - "fc_eperm": 'nelze vyjmout:\nnemรกte oprรกvnฤ›nรญ โ€œpล™esunoutโ€ v tรฉto sloลพce', - "fp_eperm": 'nelze vloลพit:\nnemรกte oprรกvnฤ›nรญ โ€œzapisovatโ€ v tรฉto sloลพce', - "fr_emore": "vyberte alespoลˆ jednu poloลพku k pล™ejmenovรกnรญ", - "fd_emore": "vyberte alespoลˆ jednu poloลพku ke smazรกnรญ", - "fc_emore": "vyberte alespoลˆ jednu poloลพku k vyjmutรญ", - "fcp_emore": "vyberte alespoลˆ jednu poloลพku k zkopรญrovรกnรญ do schrรกnky", - - "fs_sc": "sdรญlet sloลพku, ve kterรฉ se nachรกzรญte", - "fs_ss": "sdรญlet vybranรฉ soubory", - "fs_just1d": "nelze vybrat vรญce neลพ jednu sloลพku,\nnebo mรญchat soubory a sloลพky v jednom vรฝbฤ›ru", - "fs_abrt": "โŒ zruลกit", - "fs_rand": "๐ŸŽฒ nรกhodnรฝ.nรกzev", - "fs_go": "โœ… vytvoล™it sdรญlenรญ", - "fs_name": "nรกzev", - "fs_src": "zdroj", - "fs_pwd": "heslo", - "fs_exp": "vyprลกenรญ", - "fs_tmin": "min", - "fs_thrs": "hodin", - "fs_tdays": "dnรญ", - "fs_never": "navลพdy", - "fs_pname": "volitelnรฝ nรกzev odkazu; bude nรกhodnรฝ, pokud je prรกzdnรฝ", - "fs_tsrc": "soubor nebo sloลพka ke sdรญlenรญ", - "fs_ppwd": "volitelnรฉ heslo", - "fs_w8": "vytvรกล™enรญ sdรญlenรญ...", - "fs_ok": "stisknฤ›te Enter/OK pro zkopรญrovรกnรญ do schrรกnky\nstisknฤ›te ESC/Zruลกit pro zavล™enรญ", - - "frt_dec": "mลฏลพe opravit nฤ›kterรฉ pล™รญpady poruลกenรฝch nรกzvลฏ souborลฏ\">url-decode", - "frt_rst": "resetovat zmฤ›nฤ›nรฉ nรกzvy souborลฏ zpฤ›t na pลฏvodnรญ\">โ†บ reset", - "frt_abrt": "zruลกit a zavล™รญt toto okno\">โŒ cancel", - "frb_apply": "Pล˜EJMENOVAT", - "fr_adv": "dรกvkovรฉ / metadata / pล™ejmenovรกnรญ podle vzoru\">pokroฤilรฉ", - "fr_case": "regex citlivรฝ na velikost pรญsmen\">velikost", - "fr_win": "nรกzvy bezpeฤnรฉ pro windows; nahradit <>:"\\|?* japonskรฝmi plnoลกรญล™kovรฝmi znaky\">win", - "fr_slash": "nahradit / znakem kterรฝ nezpลฏsobรญ vytvoล™enรญ novรฝch sloลพek\">ลพรกdnรฉ /", - "fr_re": "vzor regex hledรกnรญ k aplikaci na pลฏvodnรญ nรกzvy souborลฏ; zachycenรฉ skupiny mohou bรฝt odkazovรกny v poli formรกtu nรญลพe jako <code>(1)</code> a <code>(2)</code> atd.", - "fr_fmt": "inspirovรกno foobar2000:$N<code>(title)</code> je nahrazeno nรกzvem skladby,$N<code>[(artist) - ](title)</code> pล™eskoฤรญ [tuto] ฤรกst pokud je umฤ›lec prรกzdnรฝ$N<code>$lpad((tn),2,0)</code> doplnรญ ฤรญslo stopy na 2 ฤรญslice", - "fr_pdel": "smazat", - "fr_pnew": "uloลพit jako", - "fr_pname": "zadejte nรกzev pro vaลกe novรฉ pล™ednastavenรญ", - "fr_aborted": "zruลกeno", - "fr_lold": "starรฝ nรกzev", - "fr_lnew": "novรฝ nรกzev", - "fr_tags": "tagy pro vybranรฉ soubory (pouze pro ฤtenรญ, jen pro referenci):", - "fr_busy": "pล™ejmenovรกvรกm {0} poloลพek...\n\n{1}", - "fr_efail": "pล™ejmenovรกnรญ selhalo:\n", - "fr_nchg": "{0} z novรฝch nรกzvลฏ bylo zmฤ›nฤ›no kvลฏli win a/nebo ลพรกdnรฉ /\n\nPokraฤovat s tฤ›mito zmฤ›nฤ›nรฝmi novรฝmi nรกzvy?", - - "fd_ok": "mazรกnรญ OK", - "fd_err": "mazรกnรญ selhalo:\n", - "fd_none": "nic nebylo smazรกno; moลพnรก blokovรกno konfiguracรญ serveru (xbd)?", - "fd_busy": "maลพu {0} poloลพek...\n\n{1}", - "fd_warn1": "SMAZAT tฤ›chto {0} poloลพek?", - "fd_warn2": "Poslednรญ ลกance! Nelze vrรกtit zpฤ›t. Smazat?", - - "fc_ok": "vyjmout {0} poloลพek", - "fc_warn": 'vyjmout {0} poloลพek\n\nale: pouze tato karta prohlรญลพeฤe je mลฏลพe vloลพit\n(protoลพe vรฝbฤ›r je tak absolutnฤ› masivnรญ)', - - "fcc_ok": "zkopรญrovรกno {0} poloลพek do schrรกnky", - "fcc_warn": 'zkopรญrovรกno {0} poloลพek do schrรกnky\n\nale: pouze tato karta prohlรญลพeฤe je mลฏลพe vloลพit\n(protoลพe vรฝbฤ›r je tak absolutnฤ› masivnรญ)', - - "fp_apply": "pouลพรญt tyto nรกzvy", - "fp_ecut": "nejprve vyjmฤ›te nebo zkopรญrujte nฤ›jakรฉ soubory / sloลพky k vloลพenรญ / pล™esunutรญ\n\npoznรกmka: mลฏลพete vyjmout / vloลพit pล™es rลฏznรฉ karty prohlรญลพeฤe", - "fp_ename": "{0} poloลพek sem nelze pล™esunout protoลพe nรกzvy jsou jiลพ obsazenรฉ. Dejte jim novรฉ nรกzvy nรญลพe pro pokraฤovรกnรญ, nebo nรกzev nechte prรกzdnรฝ pro pล™eskoฤenรญ:", - "fcp_ename": "{0} poloลพek sem nelze zkopรญrovat protoลพe nรกzvy jsou jiลพ obsazenรฉ. Dejte jim novรฉ nรกzvy nรญลพe pro pokraฤovรกnรญ, nebo nรกzev nechte prรกzdnรฝ pro pล™eskoฤenรญ:", - "fp_emore": "stรกle jsou nฤ›kterรฉ kolize nรกzvลฏ souborลฏ k opravฤ›", - "fp_ok": "pล™esun OK", - "fcp_ok": "kopรญrovรกnรญ OK", - "fp_busy": "pล™esouvรกm {0} poloลพek...\n\n{1}", - "fcp_busy": "kopรญruji {0} poloลพek...\n\n{1}", - "fp_abrt": "pล™eruลกuji...", //m - "fp_err": "pล™esun selhal:\n", - "fcp_err": "kopรญrovรกnรญ selhalo:\n", - "fp_confirm": "pล™esunout tฤ›chto {0} poloลพek sem?", - "fcp_confirm": "zkopรญrovat tฤ›chto {0} poloลพek sem?", - "fp_etab": 'selhalo ฤtenรญ schrรกnky z jinรฉ karty prohlรญลพeฤe', - "fp_name": "nahrรกvรกnรญ souboru z vaลกeho zaล™รญzenรญ. Dejte mu nรกzev:", - "fp_both_m": '
    vyberte co vloลพit
    Enter = Pล™esunout {0} souborลฏ z ยซ{1}ยป\nESC = Nahrรกt {2} souborลฏ z vaลกeho zaล™รญzenรญ', - "fcp_both_m": '
    vyberte co vloลพit
    Enter = Kopรญrovat {0} souborลฏ z ยซ{1}ยป\nESC = Nahrรกt {2} souborลฏ z vaลกeho zaล™รญzenรญ', - "fp_both_b": 'Pล™esunoutNahrรกt', - "fcp_both_b": 'KopรญrovatNahrรกt', - - "mk_noname": "napiลกte nรกzev do textovรฉho pole vlevo pล™edtรญm neลพ to udฤ›lรกte :p", - - "tv_load": "Naฤรญtรกnรญ textovรฉho dokumentu:\n\n{0}\n\n{1}% ({2} z {3} MiB naฤteno)", - "tv_xe1": "nelze naฤรญst textovรฝ soubor:\n\nchyba ", - "tv_xe2": "404, soubor nenalezen", - "tv_lst": "seznam textovรฝch souborลฏ v", - "tvt_close": "nรกvrat do zobrazenรญ sloลพky$NKlรกvesovรก zkratka: M (nebo Esc)\">โŒ zavล™รญt", - "tvt_dl": "stรกhnout tento soubor$NKlรกvesovรก zkratka: Y\">๐Ÿ’พ stรกhnout", - "tvt_prev": "zobrazit pล™edchozรญ dokument$NKlรกvesovรก zkratka: i\">โฌ† pล™edchozรญ", - "tvt_next": "zobrazit nรกsledujรญcรญ dokument$NKlรกvesovรก zkratka: K\">โฌ‡ dalลกรญ", - "tvt_sel": "vybrat soubor   ( pro vyjmutรญ / kopรญrovรกnรญ / mazรกnรญ / ... )$NKlรกvesovรก zkratka: S\">vรฝbฤ›r", - "tvt_edit": "otevล™รญt soubor v textovรฉm editoru$NKlรกvesovรก zkratka: E\">โœ๏ธ upravit", - "tvt_tail": "sledovat soubor pro zmฤ›ny; zobrazit novรฉ ล™รกdky v reรกlnรฉm ฤase\">๐Ÿ“ก sledovat", - "tvt_wrap": "zalamovรกnรญ slov\">โ†ต", - "tvt_atail": "zamknout posun na konec strรกnky\">โš“", - "tvt_ctail": "dekรณdovat barvy terminรกlu (ansi escape kรณdy)\">๐ŸŒˆ", - "tvt_ntail": "limit zpฤ›tnรฉho posouvรกnรญ (kolik bajtลฏ textu ponechat naฤtenรฝch)", - - "m3u_add1": "skladba pล™idรกna do m3u playlistu", - "m3u_addn": "{0} skladeb pล™idรกno do m3u playlistu", - "m3u_clip": "m3u playlist nynรญ zkopรญrovรกn do schrรกnky\n\nmฤ›li byste vytvoล™it novรฝ textovรฝ soubor pojmenovanรฝ nฤ›co.m3u a vloลพit playlist do tohoto dokumentu; toto ho uฤinรญ pล™ehratelnรฝm", - - "gt_vau": "nezobrazovat videa, jen pล™ehrรกt zvuk\">๐ŸŽง", - "gt_msel": "povolit vรฝbฤ›r souborลฏ; ctrl-klik na soubor pro pล™epsรกnรญ$N$N<em>kdyลพ aktivnรญ: dvojklik na soubor / sloลพku pro otevล™enรญ</em>$N$NKlรกvesovรก zkratka: S\">vรฝbฤ›r vรญce", - "gt_crop": "oล™ez nรกhledลฏ na stล™ed\">oล™ez", - "gt_3x": "nรกhledy s vysokรฝm rozliลกenรญm\">3x", - "gt_zoom": "zoom", - "gt_chop": "rozdฤ›lit", - "gt_sort": "ล™adit podle", - "gt_name": "nรกzev", - "gt_sz": "velikost", - "gt_ts": "datum", - "gt_ext": "typ", - "gt_c1": "vรญce zkrรกtit nรกzvy souborลฏ (zobrazit mรฉnฤ›)", - "gt_c2": "mรฉnฤ› zkrรกtit nรกzvy souborลฏ (zobrazit vรญce)", - - "sm_w8": "hledรกm...", - "sm_prev": "vรฝsledky hledรกnรญ nรญลพe jsou z pล™edchozรญho dotazu:\n ", - "sl_close": "zavล™รญt vรฝsledky hledรกnรญ", - "sl_hits": "zobrazuji {0} zรกsahลฏ", - "sl_moar": "naฤรญst vรญce", - - "s_sz": "velikost", - "s_dt": "datum", - "s_rd": "cesta", - "s_fn": "nรกzev", - "s_ta": "tagy", - "s_ua": "nahrรกno@", - "s_ad": "pokroฤilรฉ", - "s_s1": "minimum MiB", - "s_s2": "maximum MiB", - "s_d1": "min. iso8601", - "s_d2": "max. iso8601", - "s_u1": "nahrรกno po", - "s_u2": "a/nebo pล™ed", - "s_r1": "cesta obsahuje   (oddฤ›lenรฉ mezerami)", - "s_f1": "nรกzev obsahuje   (negace s -ne)", - "s_t1": "tagy obsahujรญ   (^=zaฤรกtek, konec=$)", - "s_a1": "specifickรฉ vlastnosti metadat", - - "md_eshow": "nelze vykreslit ", - "md_off": "[๐Ÿ“œreadme] zakรกzรกno v [โš™๏ธ] -- dokument skryt", - - "badreply": "Selhalo parsovรกnรญ odpovฤ›di ze serveru", - - "xhr403": "403: Pล™รญstup odepล™en\n\nzkuste stisknout F5, moลพnรก jste se odhlรกsili", - "xhr0": "neznรกmรฝ (pravdฤ›podobnฤ› ztraceno spojenรญ se serverem, nebo server je offline)", - "cf_ok": "omlouvรกme se za to -- DD" + wah + "oS ochrana se aktivovala\n\nvฤ›ci by se mฤ›ly obnovit asi za 30 sekund\n\npokud se nic nestane, stisknฤ›te F5 pro obnovenรญ strรกnky", - "tl_xe1": "nelze vypsat podsloลพky:\n\nchyba ", - "tl_xe2": "404: Sloลพka nenalezena", - "fl_xe1": "nelze vypsat soubory ve sloลพce:\n\nchyba ", - "fl_xe2": "404: Sloลพka nenalezena", - "fd_xe1": "nelze vytvoล™it podsloลพku:\n\nchyba ", - "fd_xe2": "404: Nadล™azenรก sloลพka nenalezena", - "fsm_xe1": "nelze odeslat zprรกvu:\n\nchyba ", - "fsm_xe2": "404: Nadล™azenรก sloลพka nenalezena", - "fu_xe1": "selhalo naฤtenรญ unpost seznamu ze serveru:\n\nchyba ", - "fu_xe2": "404: Soubor nenalezen??", - - "fz_tar": "nekomprimovanรฝ gnu-tar soubor (linux / mac)", - "fz_pax": "nekomprimovanรฝ tar formรกtu pax (pomalejลกรญ)", - "fz_targz": "gnu-tar s gzip kompresรญ รบrovnฤ› 3$N$Nto je obvykle velmi pomalรฉ, takลพe$Npouลพijte mรญsto toho nekomprimovanรฝ tar", - "fz_tarxz": "gnu-tar s xz kompresรญ รบrovnฤ› 1$N$Nto je obvykle velmi pomalรฉ, takลพe$Npouลพijte mรญsto toho nekomprimovanรฝ tar", - "fz_zip8": "zip s utf8 nรกzvy souborลฏ (moลพnรก problematickรฉ na windows 7 a starลกรญch)", - "fz_zipd": "zip s tradiฤnรญmi cp437 nรกzvy souborลฏ, pro opravdu starรฝ software", - "fz_zipc": "cp437 s crc32 vypoฤรญtanรฝm brzy,$Npro MS-DOS PKZIP v2.04g (ล™รญjen 1993)$N(trvรก dรฉle zpracovat pล™ed zaฤรกtkem stahovรกnรญ)", - - "un_m1": "mลฏลพete smazat vaลกe nedรกvnรฉ nahrรกnรญ (nebo zruลกit nedokonฤenรฉ) nรญลพe", - "un_upd": "obnovit", - "un_m4": "nebo sdรญlet soubory viditelnรฉ nรญลพe:", - "un_ulist": "zobrazit", - "un_ucopy": "kopรญrovat", - "un_flt": "volitelnรฝ filtr:  URL musรญ obsahovat", - "un_fclr": "vymazat filtr", - "un_derr": 'unpost-delete selhalo:\n', - "un_f5": 'nฤ›co se pokazilo, zkuste prosรญm obnovit, nebo stisknฤ›te F5', - "un_uf5": "omlouvรกme se ale musรญte obnovit strรกnku (napล™รญklad stisknutรญm F5 nebo CTRL-R) pล™edtรญm neลพ toto nahrรกvรกnรญ mลฏลพe bรฝt zruลกeno", - "un_nou": 'varovรกnรญ: server je pล™รญliลก zaneprรกzdnฤ›n pro zobrazenรญ nedokonฤenรฝch nahrรกvรกnรญ; za chvรญli kliknฤ›te na odkaz "obnovit"', - "un_noc": 'varovรกnรญ: unpost plnฤ› nahranรฝch souborลฏ nenรญ povoleno/dovoleno v konfiguraci serveru', - "un_max": "zobrazuji prvnรญch 2000 souborลฏ (pouลพijte filtr)", - "un_avail": "{0} nedรกvnรฝch nahrรกvรกnรญ mลฏลพe bรฝt smazรกno
    {1} nedokonฤenรฝch mลฏลพe bรฝt zruลกeno", - "un_m2": "ล™azeno podle ฤasu nahrรกvรกnรญ; nejnovฤ›jลกรญ prvnรญ:", - "un_no1": "poฤkej! ลพรกdnรก nahrรกvรกnรญ nejsou dostateฤnฤ› nedรกvnรก", - "un_no2": "poฤkej! ลพรกdnรก nahrรกvรกnรญ odpovรญdajรญcรญ tomuto filtru nejsou dostateฤnฤ› nedรกvnรก", - "un_next": "smazat dalลกรญch {0} souborลฏ nรญลพe", - "un_abrt": "zruลกit", - "un_del": "smazat", - "un_m3": "naฤรญtรกm vaลกe nedรกvnรฉ nahrรกnรญ...", - "un_busy": "maลพu {0} souborลฏ...", - "un_clip": "{0} odkazลฏ zkopรญrovรกno do schrรกnky", - - "u_https1": "mฤ›li byste", - "u_https2": "pล™ejรญt na https", - "u_https3": "pro lepลกรญ vรฝkon", - "u_ancient": "vรกลก prohlรญลพeฤ je รบctyhodnฤ› starรฝ -- moลพnรก byste mฤ›li pouลพรญt bup", - "u_nowork": "vyลพadovรกn firefox 53+ nebo chrome 57+ nebo iOS 11+", - "tail_2old": "vyลพadovรกn firefox 105+ nebo chrome 71+ nebo iOS 14.5+", - "u_nodrop": "vรกลก prohlรญลพeฤ je pล™รญliลก starรฝ pro nahrรกvรกnรญ pล™etaลพenรญm (drag-and-drop)", - "u_notdir": "toto nenรญ sloลพka!\n\nvรกลก prohlรญลพeฤ je pล™รญliลก starรฝ,\nzkuste prosรญm soubory pล™etรกhnout", - "u_uri": "pro pล™etaลพenรญ obrรกzkลฏ z jinรฝch oken prohlรญลพeฤe,\nje prosรญm pล™etรกhnฤ›te na velkรฉ tlaฤรญtko pro nahrรกvรกnรญ", - "u_enpot": "pล™epnout na potato UI (mลฏลพe zrychlit nahrรกvรกnรญ)", - "u_depot": "pล™epnout na fancy UI (mลฏลพe zpomalit nahrรกvรกnรญ)", - "u_gotpot": "pล™epรญnรกm na potato UI pro zrychlenรญ nahrรกvรกnรญ,\n\npokud nesouhlasรญte, klidnฤ› jej pล™epnฤ›te zpฤ›t!", - "u_pott": "

    soubory:   {0} dokonฤeno,   {1} selhalo,   {2} nahrรกvรก se,   {3} ve frontฤ›

    ", - "u_ever": "toto je zรกkladnรญ nahrรกvรกnรญ; up2k vyลพaduje alespoลˆ
    chrome 21 // firefox 13 // edge 12 // opera 12 // safari 5.1", - "u_su2k": "toto je zรกkladnรญ nahrรกvรกnรญ; up2k je lepลกรญ", - "u_uput": "optimalizovat pro rychlost (pล™eskoฤit kontrolnรญ souฤet)", - "u_ewrite": "nemรกte oprรกvnฤ›nรญ k zรกpisu do tรฉto sloลพky", - "u_eread": "nemรกte oprรกvnฤ›nรญ ke ฤtenรญ tรฉto sloลพky", - "u_enoi": "vyhledรกvรกnรญ souborลฏ nenรญ povoleno v konfiguraci serveru", - "u_enoow": "pล™epsรกnรญ zde nebude fungovat; je vyลพadovรกno oprรกvnฤ›nรญ k mazรกnรญ", - "u_badf": "Tฤ›chto {0} souborลฏ (z celkem {1}) bylo pล™eskoฤeno, pravdฤ›podobnฤ› kvลฏli oprรกvnฤ›nรญm v souborovรฉm systรฉmu:\n\n", - "u_blankf": "Tฤ›chto {0} souborลฏ (z celkem {1}) je prรกzdnรฝch; pล™esto je nahrรกt?\n\n", - "u_applef": "Tฤ›chto {0} souborลฏ (z celkem {1}) je pravdฤ›podobnฤ› neลพรกdoucรญch;\nStisknฤ›te OK/Enter pro Pล˜ESKOฤŒENร nรกsledujรญcรญch souborลฏ,\nStisknฤ›te Zruลกit/ESC pro Zahrnutรญ a NAHRรNร i tฤ›chto souborลฏ:\n\n", - "u_just1": "\nMoลพnรก to bude fungovat lรฉpe, kdyลพ vyberete pouze jeden soubor", - "u_ff_many": "pokud pouลพรญvรกte Linux / MacOS / Android, takovรฉ mnoลพstvรญ souborลฏ mลฏลพe shodit Firefox!\npokud se to stane, zkuste to prosรญm znovu (nebo pouลพijte Chrome).", - "u_up_life": "Tento upload bude smazรกn ze serveru\n{0} po jeho dokonฤenรญ", - "u_asku": "Nahrรกt {0} souborลฏ do {1}", - "u_unpt": "toto nahrรกvรกnรญ mลฏลพete vrรกtit zpฤ›t / smazat pomocรญ ๐Ÿงฏ vlevo nahoล™e", - "u_bigtab": "chystรกm se zobrazit {0} souborลฏ\n\nto mลฏลพe shodit vรกลก prohlรญลพeฤ, jste si jisti?", - "u_scan": "Skenuji soubory...", - "u_dirstuck": "prochรกzenรญ adresรกล™e se zaseklo pล™i pokusu o pล™รญstup k nรกsledujรญcรญm {0} poloลพkรกm; budou pล™eskoฤeny:", - "u_etadone": "Hotovo ({0}, {1} souborลฏ)", - "u_etaprep": "(pล™รญprava na nahrรกvรกnรญ)", - "u_hashdone": "hashovรกnรญ dokonฤeno", - "u_hashing": "hashovรกnรญ", - "u_hs": "navazuji spojenรญ...", - "u_started": "soubory se nynรญ nahrรกvajรญ; viz [๐Ÿš€]", - "u_dupdefer": "duplikรกt; bude zpracovรกn po vลกech ostatnรญch souborech", - "u_actx": "kliknฤ›te na tento text, abyste zabrรกnili ztrรกtฤ›
    vรฝkonu pล™i pล™epรญnรกnรญ do jinรฝch oken/zรกloลพek", - "u_fixed": "OK!  Opraveno ๐Ÿ‘", - "u_cuerr": "nepodaล™ilo se nahrรกt ฤรกst {0} z {1};\npatrnฤ› neลกkodnรฉ, pokraฤuji\n\nsoubor: {2}", - "u_cuerr2": "server odmรญtl nahrรกnรญ (ฤรกst {0} z {1});\nzopakuji pozdฤ›ji\n\nsoubor: {2}\n\nchyba ", - "u_ehstmp": "zopakuji pokus; viz vpravo dole", - "u_ehsfin": "server odmรญtl poลพadavek na dokonฤenรญ nahrรกvรกnรญ; opakuji pokus...", - "u_ehssrch": "server odmรญtl poลพadavek na vyhledรกvรกnรญ; opakuji pokus...", - "u_ehsinit": "server odmรญtl poลพadavek na zahรกjenรญ nahrรกvรกnรญ; opakuji pokus...", - "u_eneths": "sรญลฅovรก chyba pล™i navazovรกnรญ spojenรญ pro nahrรกvรกnรญ; opakuji pokus...", - "u_enethd": "sรญลฅovรก chyba pล™i ovฤ›ล™ovรกnรญ existence cรญle; opakuji pokus...", - "u_cbusy": "ฤekรกm, aลพ nรกm server po sรญลฅovรฉm problรฉmu zaฤne znovu dลฏvฤ›ล™ovat...", - "u_ehsdf": "na serveru doลกlo mรญsto na disku!\n\nbudu to zkouลกet dรกl, pro pล™รญpad, ลพe nฤ›kdo\nuvolnรญ dostatek mรญsta pro pokraฤovรกnรญ", - "u_emtleak1": "vypadรก to, ลพe vรกลก webovรฝ prohlรญลพeฤ mลฏลพe mรญt รบnik pamฤ›ti (memory leak);\nprosรญm", - "u_emtleak2": " pล™ejdฤ›te na https (doporuฤeno) nebo ", - "u_emtleak3": " ", - "u_emtleakc": "zkuste nรกsledujรญcรญ:\n
    • stisknฤ›te F5 pro obnovenรญ strรกnky
    • potรฉ vypnฤ›te tlaฤรญtko  mt  v  โš™๏ธ nastavenรญ
    • a zkuste nahrรกvรกnรญ znovu
    Nahrรกvรกnรญ bude o nฤ›co pomalejลกรญ, ale co se dรก dฤ›lat.\nOmlouvรกme se za potรญลพe!\n\nPS: chrome v107 obsahuje opravu pro tento problรฉm", - "u_emtleakf": "zkuste nรกsledujรญcรญ:\n
    • stisknฤ›te F5 pro obnovenรญ strรกnky
    • potรฉ zapnฤ›te ๐Ÿฅ” (potato) v rozhranรญ nahrรกvรกnรญ
    • a zkuste nahrรกvรกnรญ znovu
    \nPS: firefox snad bude mรญt opravu v nฤ›kterรฉ z pล™รญลกtรญch verzรญ", - "u_s404": "nenalezeno na serveru", - "u_expl": "vysvฤ›tlit", - "u_maxconn": "vฤ›tลกina prohlรญลพeฤลฏ omezuje poฤet na 6, ale firefox umoลพลˆuje toto navรฝลกit pomocรญ connections-per-server v about:config", - "u_tu": "

    VAROVรNร: turbo zapnuto,  klient nemusรญ detekovat a obnovit nedokonฤenรฉ nahrรกvรกnรญ; viz nรกpovฤ›du u tlaฤรญtka turbo

    ", - "u_ts": "

    VAROVรNร: turbo zapnuto,  vรฝsledky vyhledรกvรกnรญ mohou bรฝt nesprรกvnรฉ; viz nรกpovฤ›du u tlaฤรญtka turbo

    ", - "u_turbo_c": "turbo je vypnuto v konfiguraci serveru", - "u_turbo_g": "vypรญnรกm turbo, protoลพe nemรกte oprรกvnฤ›nรญ\nk vรฝpisu adresรกล™ลฏ na tomto svazku", - "u_life_cfg": 'automatickรฉ smazรกnรญ po min (nebo hodinรกch)', - "u_life_est": 'nahrรกnรญ bude smazรกno ---', - "u_life_max": 'tato sloลพka vynucuje\nmax. ลพivotnost {0}', - "u_unp_ok": 'unpost je povoleno pro {0}', - "u_unp_ng": 'unpost NEBUDE povoleno', - "ue_ro": 'vรกลก pล™รญstup k tรฉto sloลพce je pouze pro ฤtenรญ\n\n', - "ue_nl": 'momentรกlnฤ› nejste pล™ihlรกลกeni', - "ue_la": 'momentรกlnฤ› jste pล™ihlรกลกeni jako "{0}"', - "ue_sr": 'momentรกlnฤ› jste v reลพimu vyhledรกvรกnรญ souborลฏ\n\npล™epnฤ›te do reลพimu nahrรกvรกnรญ kliknutรญm na lupu ๐Ÿ”Ž (vedle velkรฉho tlaฤรญtka HLEDAT) a zkuste nahrรกvรกnรญ znovu\n\nomlouvรกme se', - "ue_ta": 'zkuste nahrรกvรกnรญ znovu, nynรญ by to mฤ›lo fungovat', - "ue_ab": "tento soubor se jiลพ nahrรกvรก do jinรฉ sloลพky a toto nahrรกvรกnรญ musรญ bรฝt dokonฤeno pล™edtรญm, neลพ mลฏลพe bรฝt soubor nahrรกn jinam.\n\nMลฏลพete zruลกit a zapomenout na pลฏvodnรญ nahrรกvรกnรญ pomocรญ levรฉho hornรญho ๐Ÿงฏ", - "ur_1uo": "OK: Soubor รบspฤ›ลกnฤ› nahrรกn", - "ur_auo": "OK: Vลกech {0} souborลฏ รบspฤ›ลกnฤ› nahrรกno", - "ur_1so": "OK: Soubor nalezen na serveru", - "ur_aso": "OK: Vลกech {0} souborลฏ nalezeno na serveru", - "ur_1un": "Nahrรกnรญ selhalo, omlouvรกme se", - "ur_aun": "Vลกech {0} nahrรกnรญ selhalo, omlouvรกme se", - "ur_1sn": "Soubor NEBYL nalezen na serveru", - "ur_asn": "{0} souborลฏ NEBYLO nalezeno na serveru", - "ur_um": "Dokonฤeno;\n{0} nahrรกnรญ OK,\n{1} nahrรกnรญ selhalo, omlouvรกme se", - "ur_sm": "Dokonฤeno;\n{0} souborลฏ nalezeno na serveru,\n{1} souborลฏ NENALEZENO na serveru", - - "lang_set": "obnovit strรกnku, aby se zmฤ›na projevila?", - }, - "deu": { - "tt": "Deutsch", - - "cols": { - "c": "Aktionen", - "dur": "Dauer", - "q": "Qualitรคt / Bitrate", - "Ac": "Audiocodec", - "Vc": "Videocodec", - "Fmt": "Format / Container", - "Ahash": "Audio Checksumme", - "Vhash": "Video Checksumme", - "Res": "Auflรถsung", - "T": "Dateityp", - "aq": "Audioqualitรคt / Bitrate", - "vq": "Videoqualitรคt / Bitrate", - "pixfmt": "Subsampling / Pixelstruktur", - "resw": "horizontale Auflรถsung", - "resh": "vertikale Auflรถsung", - "chs": "Audiokanรคle", - "hz": "Abtastrate" - }, - - "hks": [ - [ - "misc", - ["ESC", "Dinge schliessen"], - - "file-manager", - ["G", "zwischen Liste und Gitter wechseln"], - ["T", "zwischen Vorschaubildern und Symbolen wechseln"], - ["โ‡ง A/D", "Vorschaubildergrรถsse รคndern"], - ["STRG-K", "Auswahl lรถschen"], - ["STRG-X", "Auswahl ausschneiden"], - ["STRG-C", "Auswahl in Zwischenablage kopieren"], - ["STRG-V", "Zwischenablage hier einfรผgen"], - ["Y", "Auswahl herunterladen"], - ["F2", "Auswahl umbenennen"], - - "file-list-sel", - ["LEER", "Dateiauswahl aktivieren"], - ["โ†‘/โ†“", "Cursor verschieben"], - ["STRG โ†‘/โ†“", "Cursor und Bildschirm verschieben"], - ["โ‡ง โ†‘/โ†“", "Vorherige / nรคchste Datei auswรคhlen"], - ["STRG-A", "Alle Dateien / Ordner auswรคhlen"], - ], [ - "navigation", - ["B", "Zwischen Brotkrumen und Navpane wechseln"], - ["I/K", "vorheriger / nรคchster Ordner"], - ["M", "รผbergeordneter Ordner (oder Vorherigen einklappen)"], - ["V", "Zwischen Textdateien und Navpane wechseln"], - ["A/D", "Grรถsse der Navpane รคndern"], - ], [ - "audio-player", - ["J/L", "Vorheriger / nรคchster Song"], - ["U/O", "10 Sek. vor- / zurรผckspringen"], - ["0..9", "zu 0%..90% springen"], - ["P", "Wiedergabe / Pause"], - ["S", "aktuell abgespielten Song auswรคhlen"], - ["Y", "Sing herunterladen"], - ], [ - "image-viewer", - ["J/L, โ†/โ†’", "vorheriges / nรคchstes Bild"], - ["Pos1/Ende", "erstes / letztes Bild"], - ["F", "Vollbild"], - ["R", "im Uhrzeigersinn drehen"], - ["โ‡ง R", "gegen den Uhrzeigensinn drehen"], - ["S", "Bild auswรคhlen"], - ["Y", "Bild herunterladen"], - ], [ - "video-player", - ["U/O", "10 Sek. vor- / zurรผckspringen"], - ["P/K/LEER", "Wiedergabe / Pause"], - ["C", "continue playing next"], - ["V", "Wiederholungs-Wiedergabe (Loop)"], - ["M", "Stummschalten"], - ["[ und ]", "Loop-Interval einstellen"], - ], [ - "textfile-viewer", - ["I/K", "vorherige / nรคchste Datei"], - ["M", "Textdatei schliessen"], - ["E", "Textdatei bearbeiten"], - ["S", "Textdatei auswรคhlen (fรผr Ausschneiden / Kopieren / Umbenennen)"], - ] - ], - - "m_ok": "OK", - "m_ng": "Abbrechen", - - "enable": "Aktivieren", - "danger": "ACHTUNG", - "clipped": "in Zwischenablage kopiert", - - "ht_s1": "Sekunde", - "ht_s2": "Sekunden", - "ht_m1": "Minute", - "ht_m2": "Minuten", - "ht_h1": "Stunde", - "ht_h2": "Stunden", - "ht_d1": "Tag", - "ht_d2": "Tage", - "ht_and": " und ", - - "goh": "Einstellungen", - "gop": 'zum vorherigen Ordner springen">vorh.', - "gou": 'zum รผbergeordneter Ordner springen">hoch', - "gon": 'zum nรคchsten Ordner springen">nรคchst.', - "logout": "Abmelden ", - "login": "Anmelden", //m - "access": " Zugriff", - "ot_close": "Submenu schliessen", - "ot_search": "Dateien nach Attributen, Pfad/Name, Musiktags oder beliebiger Kombination suchen$N$N<code>foo bar</code> = muss ยซfooยป und ยซbarยป enthalten,$N<code>foo -bar</code> = muss ยซfooยป aber nicht ยซbarยป enthalten,$N<code>^yana .opus$</code> = beginnt mit ยซyanaยป und ist ยซopusยป-Datei$N<code>"try unite"</code> = genau ยซtry uniteยป enthalten$N$NDatumsformat ist iso-8601, z.B.$N<code>2009-12-31</code> oder <code>2020-09-12 23:30:00</code>", - "ot_unpost": "unpost: lรถsche deine letzten Uploads oder breche unvollstรคndige ab", - "ot_bup": "bup: Basic Uploader, unterstรผtzt sogar Neuheiten wie Netscape 4.0", - "ot_mkdir": "mkdir: Neuen Ordner erstellen", - "ot_md": "new-md: Neues Markdown-Dokument erstellen", - "ot_msg": "msg: Eine Nachricht an das Server-Log schicken", - "ot_mp": "Media Player-Optionen", - "ot_cfg": "Konfigurationsoptionen", - "ot_u2i": 'up2k: Dateien hochladen (wenn du Schreibrechte hast) oder in den Suchmodus wechseln, um zu prรผfen, ob sie bereits auf dem Server existieren$N$NUploads sind fortsetzbar, multithreaded und behalten Dateizeitstempel, verbrauchen aber mehr CPU als [๐ŸŽˆ]  (der einfache Uploader)

    wรคhrend Uploads wird dieses Symbol zu einem Fortschrittsanzeiger!', - "ot_u2w": 'up2k: Dateien mit Wiederaufnahme-Unterstรผtzung hochladen (Browser schlieรŸen und spรคter dieselben Dateien erneut hochladen)$N$Nmultithreaded, behรคlt Dateizeitstempel, verbraucht aber mehr CPU als [๐ŸŽˆ]  (der einfache Uploader)

    wรคhrend Uploads wird dieses Symbol zu einem Fortschrittsanzeiger!', - "ot_noie": 'Bitte benutze Chrome / Firefox / Edge', - - "ab_mkdir": "Ordner erstellen", - "ab_mkdoc": "Markdown Doc erstellen", - "ab_msg": "Nachricht an Server Log senden", - - "ay_path": "zu Ordnern springen", - "ay_files": "zu Dateien springen", - - "wt_ren": "ausgewรคhlte Elemente umbenennen$NHotkey: F2", - "wt_del": "ausgewรคhlte Elemente lรถschen$NHotkey: STRG-K", - "wt_cut": "ausgewรคhlte Elemente ausschneiden <small>(um sie dann irgendwo anders einzufรผgen)</small>$NHotkey: STRG-X", - "wt_cpy": "ausgewรคhlte Elemente in Zwischenablage kopieren$N(um sie dann irgendwo anders einzufรผgen)$NHotkey: ctrl-C", - "wt_pst": "zuvor ausgeschnittenen / kopierte Elemente einfรผgen$NHotkey: STRG-V", - "wt_selall": "alle Dateien auswรคhlen$NHotkey: STRG-A (wenn Datei fokusiert)", - "wt_selinv": "Auswahl invertieren", - "wt_zip1": "Diesen Ordner als Archiv herunterladen", - "wt_selzip": "Auswahl als Archiv herunterladen", - "wt_seldl": "Auswahl als separate Dateien herunterladen$NHotkey: Y", - "wt_npirc": "kopiere Titelinfo als IRC-formattierten Text", - "wt_nptxt": "kopiere Titelinfo als Text", - "wt_m3ua": "Zu M3U-Wiedergabeliste hinzufรผgen (wรคhle spรคter ๐Ÿ“ปcopy)", - "wt_m3uc": "M3U-Wiedergabeliste in Zwischenablage kopieren", - "wt_grid": "Zwischen Gitter und Liste wechseln$NHotkey: G", - "wt_prev": "Vorheriger Titel$NHotkey: J", - "wt_play": "Wiedergabe / Pause$NHotkey: P", - "wt_next": "Nรคchster Titel$NHotkey: L", - - "ul_par": "Parallele Uploads:", - "ut_rand": "Zufรคllige Dateinamen", - "ut_u2ts": "Zuletzt geรคndert-Zeitstempel von$Ndeinem Dateisystem auf den Server รผbertragen\">๐Ÿ“…", - "ut_ow": "Existierende Dateien auf dem Server รผberschreiben?$N๐Ÿ›ก๏ธ: Nie (generiert einen neuen Dateinamen)$N๐Ÿ•’: รœberschreiben, wenn Server-Datei รคlter ist als meine$Nโ™ป๏ธ: รœberschreiben, wenn der Dateiinhalt anders ist", - "ut_mt": "Andere Dateien wรคhrend des Uploads hashen$N$Nsolltest du deaktivieren, falls deine CPU oder Festplatte zum Flaschenhals werden kรถnnte", - "ut_ask": 'Vor dem Upload nach Bestรคtigung fragen">๐Ÿ’ญ', - "ut_pot": "Verbessert Upload-Geschwindigkeit$Nindem das UI weniger komplex gemacht wird", - "ut_srch": "nicht wirklich hochladen, stattdessen prรผfen ob Datei bereits auf dem Server existiert (scannt alle Ordner, die du lesen kannst)", - "ut_par": "setze auf 0 zum Pausieren$N$Nerhรถhe, wenn deine Verbindung langsam / instabil ist$N$lass auf 1 im LAN oder wenn die Festplatte auf dem Server ein Flaschenhals ist", - "ul_btn": "Dateien / Ordner hier
    ablegen (oder klick mich)", - "ul_btnu": "U P L O A D", - "ul_btns": "S U C H E N", - - "ul_hash": "hash", - "ul_send": "senden", - "ul_done": "fertig", - "ul_idle1": "keine Uploads in der Warteschlange", - "ut_etah": "durchschnittl. <em>hashing</em> Geschw. & gesch. Restzeit", - "ut_etau": "durchschnittl. <em>upload</em> Geschw. & gesch. Restzeit", - "ut_etat": "durchschnittl. <em>total</em> Geschw. & gesch. Restzeit", - - "uct_ok": "Erfolgreich abgeschlossen", - "uct_ng": "no-good: fehlgeschlagen / abgelehnt / nicht gefunden", - "uct_done": "ok and ng zusammen", - "uct_bz": "wird gehasht oder hochgeladen", - "uct_q": "ausstehend", - - "utl_name": "Dateiname", - "utl_ulist": "Liste", - "utl_ucopy": "kopieren", - "utl_links": "Links", - "utl_stat": "Status", - "utl_prog": "Fortschritt", - - // keep short: - "utl_404": "404", - "utl_err": "Fehler", - "utl_oserr": "OS-Fehler", - "utl_found": "gefunden", - "utl_defer": "zurรผckstellen", - "utl_yolo": "YOLO", - "utl_done": "fertig", - - "ul_flagblk": "Die Dateien wurden zur Warteschlange hinzugefรผgt
    jedoch ist up2k gerade in einem anderen Browsertab aktiv.
    Ich warte, bis der Upload abgeschlossen ist.", - "ul_btnlk": "Die Serverkonfiguration hat diese Einstellung gesperrt", - - "udt_up": "Upload", - "udt_srch": "Suchen", - "udt_drop": "hier ablegen", - - "u_nav_m": '
    okay, was gibts??
    Eingabe = Dateien (1 oder mehr)\nESC = 1 Ordner (inkl. Unterordner)', - "u_nav_b": 'Dateien1 Ordner', - - "cl_opts": "Schalter", - "cl_themes": "Themes", - "cl_langs": "Sprache", - "cl_ziptype": "Ordner Download", - "cl_uopts": "up2k Schalter", - "cl_favico": "Favicon", - "cl_bigdir": "grosse Ordner", - "cl_hsort": "#sort", - "cl_keytype": "Schlรผsselnotation", - "cl_hiddenc": "Spalten verstecken", - "cl_hidec": "verstecken", - "cl_reset": "zurรผcksetzen", - "cl_hpick": "zum Verstecken, tippe auf Spaltenรผberschriften in der Tabelle unten", - "cl_hcancel": "Spaltenbearbeitung abgebrochen", - - "ct_grid": '็”ฐ Das Raster™', - "ct_ttips": 'โ—” โ—ก โ—”">โ„น๏ธ Tooltips', - "ct_thumb": 'In Raster-Ansicht, zwischen Icons und Vorschau wechseln$NHotkey: T">๐Ÿ–ผ๏ธ Vorschaubilder', - "ct_csel": 'Benutze STRG und UMSCHALT fรผr Dateiauswahl in Raster-Ansicht">sel', - "ct_ihop": 'Wenn die Bildanzeige geschlossen ist, scrolle runter zu den zuletzt angesehenen Dateien">gโฎฏ', - "ct_dots": 'Verstecke Dateien anzeigen (wenn erlaubt durch Server)">dotfiles', - "ct_qdel": 'Nur einmal fragen, wenn mehrere Dateien gelรถscht werden">qdel', - "ct_dir1st": 'Ordner vor Dateien sortieren">๐Ÿ“ zuerst', - "ct_nsort": 'Natรผrliche Sortierung (fรผr Dateinamen mit fรผhrenden Ziffern)">nsort', - "ct_utc": 'Verwenden Sie UTC fรผr alle Zeitangaben">UTC', //m - "ct_readme": 'README.md in Dateiliste anzeigen">๐Ÿ“œ readme', - "ct_idxh": 'index.html anstelle von Dateiliste anzeigen">htm', - "ct_sbars": 'Scrollbars zeigen">โŸŠ', - - "cut_umod": "Sollte die Datei bereits auf dem Server existieren, den 'Zuletzt geรคndert'-Zeitstempel an deine lokale Datei anpassen (benรถtigt Lese- und Lรถschrechte)\">re๐Ÿ“…", - - "cut_turbo": "der YOLO-Knopf, den du wahrscheinlich NICHT aktivieren willst:$N$NBenutze ihn, falls du ne Menge Zeug hochladen wolltest und aus irgendeinem Grund neustarten musstest und du so schnell wie mรถglich weitermachen willst.$N$Ndies ersetzt den Hash-Check mit einem einfachen "Ist die Datei auf dem Server gleich gross?", wenn die Datei also anderen Inhalt hat, wird sie NICHT nochmal hochgeladen!$N$NDu solltest dieses Feature ausschalten, sobald der Upload fertig ist und dann die gleichen Dateien nochmal "hochladen", damit der Client sie verifizieren kann.\">turbo", - - "cut_datechk": "Funktioniert nur in kombination mit dem Turbo-Knopf$N$NReduziert den YOLO-Faktor ein bisschen; prรผft, ob der Zeitstempel deiner Datei mit dem auf dem Server รผbereinstimmt$N$Nsollte theoretisch die meisten unfertigen / korrupten Uploads erwischen, ist aber nicht zu gebrauchen, um einen Prรผfdurchgang nach einem Turbo-Upload zu machen\">date-chk", - - "cut_u2sz": "Grรถsse (in MiB) fรผr jeden Upload-Chunk; mit grossen Werten fliegen die Bits besser รผber den Atlantik. Versuche kleine Werte, wenn du eine schlechte Verbindung hast (z.B. du benutzt mobile Daten in Deutschland)", - - "cut_flag": "Stelle sicher, dass nur ein Tab auf einmal Dateien hochlรคdt$N -- andere Tabs mรผssen diese Funktion auch aktiviert haben $N -- funktioniert nur bei Tabs mit der gleichen Domรคne", - - "cut_az": "Lรคdt Dateien in alphabetischer Reihenfolge hoch, anstatt nach Dateigrรถsse$N$NAlphabethische Reihenfolge kann es einfacher machen, Server-Fehler mit naktem Auge zu erkennen, macht aber Uploads รผber Glassfaser / LAN etwas langsamer", - - "cut_nag": "Benachrichtigung รผber das Betriebssystem abgeben, wenn Upload fertig ist$N(nur wenn Browser oder Tab nicht im Vordergrund ist)", - "cut_sfx": "Spielt ein Ton ab, wenn Upload fertig ist$N(nur wenn Browser oder Tab nicht im Vordergrund ist)", - - "cut_mt": "Multithreading benutzen um Datei-Hashing zu beschleunigen$N$NDies nutzt Web-Workers und benรถtigt$Nmehr RAM (bis zu 512 MiB extra)$N$Nbeschleunigt HTTPS 30% schneller, HTTP um 4.5x\">mt", - - "cut_wasm": "benutzt WASM anstelle des Browser-eigenen Hashers; verbessert Geschwindigkeit auf Chromium-basierten Browsern, erhรถht aber die CPU-Auslastung. Viele รคltere Versionen von Chrome haben Memory-Leaks, die den gesamten RAM verbrauchen und dann crashen, wenn diese Funktion aktiviert ist.\">wasm", - - "cft_text": "Favicon Text (leer lassen und neuladen zum Deaktivieren)", - "cft_fg": "Vordergrundfarbe", - "cft_bg": "Hintergrundfarbe", - - "cdt_lim": "max. Anz. Dateien, die in einem Ordner gezeigt werden sollen", - "cdt_ask": "beim Runterscrollen nach $NAktion fragen statt mehr,$NDateien zu laden", - "cdt_hsort": "Menge an Sortierregeln (<code>,sorthref</code>) in Media-URLs enthalten sein sollen. Ein Wert von 0 sorgt dafรผr, dass Sortierregeln in Media-URLs ignoriert werden", - - "tt_entree": "Navpane anzeigen (Ordnerbaum Sidebar)$NHotkey: B", - "tt_detree": "Breadcrumbs anzeigen$NHotkey: B", - "tt_visdir": "zu ausgewรคhltem Ordner scrollen", - "tt_ftree": "zw. Ordnerbaum / Textdateien wechseln$NHotkey: V", - "tt_pdock": "รผbergeordnete Ordner in einem angedockten Fenster oben anzeigen", - "tt_dynt": "autom. wachsen wenn Baum wรคchst", - "tt_wrap": "Zeilenumbruch", - "tt_hover": "Beim Hovern รผberlange Zeilen anzeigen$N(Scrollen funktioniert nicht ausser $N  Cursor ist im linken Gutter)", - - "ml_pmode": "am Ende des Ordners...", - "ml_btns": "cmds", - "ml_tcode": "transcodieren", - "ml_tcode2": "transcodieren zu", - "ml_tint": "fรคrben", - "ml_eq": "Audio Equalizer", - "ml_drc": "Dynamic Range Compressor", - - "mt_loop": "Song wiederholen\">๐Ÿ”", - "mt_one": "Wiedergabe nach diesem Song beenden\">1๏ธโƒฃ", - "mt_shuf": "Zufรคllige Wiedergabe im Ordner\">๐Ÿ”€", - "mt_aplay": "automatisch abspielen, wenn der Link, mit dem du auf den Server zugreifst, eine Titel-ID enthรคlt$N$NDeaktivieren verhindert auch, dass die Seiten-URL bei Musikwiedergabe mit Titel-IDs aktualisiert wird, um Autoplay zu verhindern, falls diese Einstellungen verloren gehen, die URL aber bestehen bleibt\">aโ–ถ", - "mt_preload": "nรคchsten Titel gegen Ende vorladen fรผr nahtlose Wiedergabe\">Vorladen", - "mt_prescan": "vor Ende des letzten Titels zum nรคchsten Ordner wechseln,$Ndamit der Browser die$NWiedergabe nicht stoppt\">Navigation", - "mt_fullpre": "versuchen, den gesamten Titel vorzuladen;$Nโœ… bei unzuverlรคssiger Verbindung aktivieren,$NโŒ bei langsamer Verbindung deaktivieren\">vollständig", - "mt_fau": "auf Handys verhindern, dass Musik stoppt, wenn der nรคchste Titel nicht schnell genug vorlรคdt (kann zu fehlerhafter Tag-Anzeige fรผhren)\">โ˜•๏ธ", - "mt_waves": "Wellenform-Suchleiste:$NAudio-Amplitude in der Leiste anzeigen\">~s", - "mt_npclip": "Buttons zum Kopieren des aktuellen Titels anzeigen\">/np", - "mt_m3u_c": "Buttons zum Kopieren der$Nausgewรคhlten Titel als m3u8-Wiedergabeliste anzeigen\">๐Ÿ“ป", - "mt_octl": "OS-Integration (Media-Hotkeys/OSD)\">os-ctl", - "mt_oseek": "Suchen via OS-Integration erlauben$N$NHinweis: auf einigen Gerรคten (iPhones)$Nersetzt dies den nรคchsten-Titel-Button\">Suchen", - "mt_oscv": "Albumcover in OSD anzeigen\">Cover", - "mt_follow": "den spielenden Titel im Blick behalten\">๐ŸŽฏ", - "mt_compact": "kompakte Steuerelemente\">โŸŽ", - "mt_uncache": "Cache leeren  (probier das, wenn dein Browser$Neine defekte Kopie eines Titels zwischenspeichert und sich weigert, ihn abzuspielen)\">Cache leeren", - "mt_mloop": "offenen Ordner wiederholen\">๐Ÿ” Schleife", - "mt_mnext": "nรคchsten Ordner laden und fortfahren\">๐Ÿ“‚ nรคchster", - "mt_mstop": "Wiedergabe beenden\">โธ Stop", - "mt_cflac": "FLAC / WAV zu {0} konvertierebn\">flac", - "mt_caac": "AAC / M4A zu {0} konvertieren\">aac", - "mt_coth": "Convertiere alle Dateien (die nicht MP3 sind) zu {0}\">oth", - "mt_c2opus": "Beste Wahl fรผr Desktops, Laptops, Android\">opus", - "mt_c2owa": "opus-weba, fรผr iOS 17.5 und neuer\">owa", - "mt_c2caf": "opus-caf, fรผr iOS 11 bis 17\">caf", - "mt_c2mp3": "benutze dieses Format fรผr รคltere Gerรคte\">mp3", - "mt_c2flac": "beste Klangqualitรคt, aber groรŸe Downloads\">flac", //m - "mt_c2wav": "unkomprimierte Wiedergabe (noch grรถรŸer)\">wav", //m - "mt_c2ok": "Gute Wahl, Chef!", - "mt_c2nd": "Das ist nicht das empfohlene Ausgabeformat fรผr dein Gerรคt, aber passt schon", - "mt_c2ng": "Dein Gerรคt scheint dieses Ausgabeformat nicht zu unterstรผtzen, aber lass trotzdem mal probieren", - "mt_xowa": "Es gibt Bugs in iOS, die die Hintergrund-Wiedergabe mit diesem Format verhindern; bitte nutze caf oder mp3 stattdessen", - "mt_tint": "Hintergrundlevel (0-100) auf der Seekbar$Num Buffern weniger ablenkend zu machen", - "mt_eq": "Aktiviert Equalizer und Lautstรคrkeregelung;$N$Nboost <code>0</code> = Standard 100% Lautstรคrke (unverรคndert)$N$Nwidth <code>1  </code> = Standard Stereo (unverรคndert)$Nwidth <code>0.5</code> = 50% Links-Rechts-Crossfeed$Nwidth <code>0  </code> = Mono$N$Nboost <code>-0.8</code> & width <code>10</code> = Gesangsentfernung :^)$N$NDer Equalizer macht nahtlose Alben vollstรคndig nahtlos, also lass' ihn mit allen Werten auf Null (auรŸer width = 1) aktiviert, wenn dir das wichtig ist", - "mt_drc": "Aktiviert den Dynamic Range Compressor (Lautstรคrkeglรคttung/-begrenzung); aktiviert auch den Equalizer zum Ausgleich, setze alle EQ-Felder auรŸer 'width' auf 0, wenn du das nicht willst$N$Nsenkt die Lautstรคrke von Audio รผber SCHWELLENWERT dB; fรผr jedes VERHร„LTNIS dB รผber SCHWELLENWERT gibt es 1 dB Ausgabe, also bedeuten Standardwerte von tresh -24 und ratio 12, dass es nie lauter als -22 dB werden sollte und der Equalizer-Boost sicher auf 0.8 oder sogar 1.8 mit ATK 0 und einem groรŸen RLS wie 90 erhรถht werden kann (funktioniert nur in Firefox; in anderen Browsern ist RLS max. 1)$N$N(siehe Wikipedia, dort wird es viel besser erklรคrt)", - - "mb_play": "Abspielen", - "mm_hashplay": "Diese Audiodatei abspielen?", - "mm_m3u": "Drรผcke Eingabe/OK zum Abspielen\nDrรผcke ESC/Abbrechen zum Bearbeiten", - "mp_breq": "Benรถtigt Firefox 82+ oder Chrome 73+ oder iOS 15+", - "mm_bload": "Lรคdt...", - "mm_bconv": "Konvertiere zu {0}, bitte warte...", - "mm_opusen": "Dein Browser kann AAC- / M4A-Dateien nicht abspielen;\nUmwandlung zu Opus ist jetzt aktiv", - "mm_playerr": "Wiedergabefehler: ", - "mm_eabrt": "Der Wiedergabeversuch wurde abgebrochen", - "mm_enet": "Dein Internet lรคuft auf Edge, wa?", - "mm_edec": "Die Datei scheint beschรคdigt zu sein??", - "mm_esupp": "Dein Browser versteht dieses Audioformat nicht", - "mm_eunk": "Unbekannter Fehler", - "mm_e404": "Konnte Datei nicht abspielen; Fehler 404: Datei nicht gefunden.", - "mm_e403": "Konnte Datei nicht abspielen; Fehler 403: Zugriff verweigert.\n\nDrรผcke F5 zum Neuladen, vielleicht wurdest du abgemeldet", - "mm_e500": "Konnte Datei nicht abspielen; Fehler 500: Prรผfe die Serverlogs.", - "mm_e5xx": "Konnte Datei nicht abspielen; Server Fehler ", - "mm_nof": "finde keine weiteren Audiodateien in der Nรคhe", - "mm_prescan": "Suche nach Musik zum Abspielen...", - "mm_scank": "Nรคchster Song gefunden:", - "mm_uncache": "Cache geleert; Alle Songs werden beim nรคchsten Abspielversuch neu heruntergeladen", - "mm_hnf": "dieser Song existiert nicht mehr", - - "im_hnf": "dieses Bild existiert nicht mehr", - - "f_empty": 'Dieser Ordner ist leer', - "f_chide": 'Dies blendet die Spalte ยซ{0}ยป aus\n\nDu kannst Spalten in den Einstellungen wieder einblenden.', - "f_bigtxt": "Diese Datei ist {0} MiB gross -- Sicher, dass du sie als Text anzeigen willst?", - "f_bigtxt2": "Mรถchtest du stattdessen nur das Ende der Datei anzeigen? Das aktiviert ausserdem die Folgen- und Verfolgen-Funktion, welche neu hinzugefรผgte Textzeilen in Echtzeit anzeigt", - "fbd_more": '
    zeige {0} von {1} Dateien; {2} anzeigen oder alle anzeigen
    ', - "fbd_all": '
    zeige {0} von {1} Dateien; alle anzeigen
    ', - "f_anota": "nur {0} der {1} Elemente wurden ausgewรคhlt;\num den gesamten Ordner auszuwรคhlen, zuerst nach unten scrollen", - - "f_dls": 'die Dateilinks im aktuellen Ordner wurden\nin Downloadlinks geรคndert', - - "f_partial": "Um eine Datei sicher herunterzuladen, die gerade hochgeladen wird, klicke bitte die Datei mit dem gleichen Namen, aber ohne die .PARTIAL-Endung. Bitte drรผcke Abbrechen oder Escape, um dies zu tun.\n\nWenn du auf OK / Eingabe drรผckst, ignorierst du diese Warnung und lรคdst die .PARTIAL-Datei herunter, die ziemlich sicher beschรคdigte Daten enthรคlt.", - - "ft_paste": "{0} Elemente einfรผgen$NHotkey: STRG-V", - "fr_eperm": 'Umbenennen fehlgeschlagen:\nDir fehlt die "Verschieben"-Berechtigung in diesem Ordner', - "fd_eperm": 'Lรถschen fehlgeschlagen:\nDir fehlt die "Lรถschen"-Berechtigung in diesem Ordner', - "fc_eperm": 'Ausschneiden fehlgeschlagen:\nDir fehlt die "Verschieben"-Berechtigung in diesem Ordner', - "fp_eperm": 'Einfรผgen fehlgeschlagen:\nDir fehlt die "Schreiben"-Berechtigung in diesem Ordner', - "fr_emore": "Wรคhle mindestens ein Element zum Umbenennen aus", - "fd_emore": "Wรคhle mindestens ein Element zum Lรถschen aus", - "fc_emore": "Wรคhle mindestens ein Element zum Ausschneiden aus", - "fcp_emore": "Wรคhle mindestens ein Element aus, um es in die Zwischenablage zu kopieren", - - "fs_sc": "Teile diesen Ordner", - "fs_ss": "Teile die ausgewรคhlten Dateien", - "fs_just1d": "Du kannst nicht mehrere Ordner auswรคhlen \noder Dateien und Ordner in der Auswahl mischen.", - "fs_abrt": "โŒ Abbrechen", - "fs_rand": "๐ŸŽฒ Zufallsname", - "fs_go": "โœ… Share erstellen", - "fs_name": "Name", - "fs_src": "Quelle", - "fs_pwd": "Passwort", - "fs_exp": "Ablauf", - "fs_tmin": "Minuten", - "fs_thrs": "Stunden", - "fs_tdays": "Tage", - "fs_never": "nie", - "fs_pname": "optionaler Linkname; zufรคllig wenn leer", - "fs_tsrc": "zu teilende Datei oder Ordner", - "fs_ppwd": "optionales Passwort", - "fs_w8": "erstelle Share...", - "fs_ok": "drรผcke Eingabe/OK fรผr Zwischenablage\ndrรผcke ESC/Abbrechen zum Schliessen", - - "frt_dec": "Kann Fรคlle von beschรคdigten Dateien beheben\">url-decode", - "frt_rst": "Geรคnderte Dateinamen auf Orginale zurรผcksetzen\">โ†บ zurรผcksetzen", - "frt_abrt": "Abbrechen und dieses Fenster schliessen\">โŒ abbrechen", - "frb_apply": "รœBERNEHMEN", - "fr_adv": "Stapel-/Metadaten-/Musterumbenennung\">erweitert", - "fr_case": "GroรŸ-/Kleinschreibung beachten (Regex)\">GroรŸschreibung", - "fr_win": "Windows-kompatible Namen; ersetzt <>:"\\|?* durch japanische Fullwidth-Zeichen\">win", - "fr_slash": "Ersetzt / durch ein Zeichen, das keine neuen Ordner erstellt\">no /", - "fr_re": "Regex-Suchmuster fรผr Originaldateinamen; Erfassungsgruppen kรถnnen im Formatfeld unten als <code>(1)</code> und <code>(2)</code> usw. referenziert werden", - "fr_fmt": "inspiriert von foobar2000:$N<code>(title)</code> wird durch Songtitel ersetzt,$N<code>[(artist) - ](title)</code> รผberspringt [diesen] Teil falls Interpret leer$N<code>$lpad((tn),2,0)</code> fรผllt die Titelnummer auf 2 Ziffern auf", - "fr_pdel": "Lรถschen", - "fr_pnew": "Speichern als", - "fr_pname": "Gib der Vorlage einen Namen", - "fr_aborted": "Abgebrochen", - "fr_lold": "Alter Name", - "fr_lnew": "Neuer Name", - "fr_tags": "Tags fรผr die ausgewรคhlten Dateien (liest nur, als Referenz):", - "fr_busy": "Benenne {0} Elemente um...\n\n{1}", - "fr_efail": "Umbenennen fehlgeschlagen:\n", - "fr_nchg": "{0} der neuen Namen wurden angepasst durch win und/oder no /\n\nMรถchtest du mit diesen geรคnderten Namen fortfahren?", - - "fd_ok": "Lรถschen OK", - "fd_err": "Lรถschen fehlgeschlagen:\n", - "fd_none": "Nichts wรผrde gelรถscht; vielleicht durch die Serverkonfiguration blockiert (xbd)?", - "fd_busy": "Lรถsche {0} Elemente...\n\n{1}", - "fd_warn1": "Diese {0} Elemente Lร–SCHEN?", - "fd_warn2": "Ich frage das letzte Mal! Was weg ist, ist weg. Keine Chance, das rรผckgรคngig zu machen. Lรถschen?", - - "fc_ok": "{0} Elemente ausgeschnitten", - "fc_warn": '{0} Elemente in die Zwischenablage kopiert\n\nAber: nur dieses Browsertab kann sie einfรผgen\n(da deine Auswahl so abartig riesig war)', - - "fcc_ok": "{0} Elemente in die Zwischenablage kopiert", - "fcc_warn": '{0} Elemente in die Zwischenablage kopiert\n\nAber: nur dieses Browsertab kann sie einfรผgen\n(da deine Auswahl so abartig riesig war)', - - "fp_apply": "Diese Namen verwenden", - "fp_ecut": "Kopiere erst ein paar Dateien / Ordner, um sie einzufรผgen\n\nTipp: Ausschneiden und Kopieren funktioniert รผber Browsertabs hinweg", - "fp_ename": "{0} Elemente konnten nicht verschoben werden, weil bereits andere Dateien mit diesen Namen existieren. Gib ihnen unten neue Namen um fortzufahren, oder lass das Feld leer zum รœberspringen:", - "fcp_ename": "{0} Elemente konnten nicht kopiert werden, weil bereits andere Dateien mit diesen Namen existieren. Gib ihnen unten neue Namen um fortzufahren, oder lass das Feld leer zum รœberspringen:", - "fp_emore": "Es gibt noch ein paar Dateinamen, die geรคndert werden mรผssen", - "fp_ok": "Verschieben OK", - "fcp_ok": "Kopieren OK", - "fp_busy": "Verschiebe {0} Elemente...\n\n{1}", - "fcp_busy": "Kopiere {0} Elemente...\n\n{1}", - "fp_abrt": "Abbrechen...", //m - "fp_err": "Verschieben fehlgeschlagen:\n", - "fcp_err": "Kopieren fehlgeschlagen:\n", - "fp_confirm": "Diese {0} Elemente hierher verschieben?", - "fcp_confirm": "Diese {0} Elemente hierher kopieren?", - "fp_etab": 'Konnte die Zwischenablage nicht vom anderen Browsertab lesen', - "fp_name": "Lade Datei von deinem Gerรคt hoch. Gib ihr einen Namen:", - "fp_both_m": '
    Wรคhle, was eingefรผgt werden soll
    Eingabe = {0} Dateien von ยซ{1}ยป verschieben\nESC = {2} Dateien von deinem Gerรคt hochladen', - "fcp_both_m": '
    Wรคhle, was eingefรผgt werden soll
    Eingabe = {0} Dateien von ยซ{1}ยป kopieren\nESC = {2} Dateien von deinem Gerรคt hochladen', - "fp_both_b": 'VerschiebenHochladen', - "fcp_both_b": 'KopierenHochladen', - - "mk_noname": "Tipp' mal vorher lieber einen Namen in das Textfeld links, bevor du das machst :p", - - "tv_load": "Textdatei wird geladen:\n\n{0}\n\n{1}% ({2} von {3} MiB geladen)", - "tv_xe1": "Konnte Textdatei nicht laden:\n\nFehler ", - "tv_xe2": "404, Datei nicht gefunden", - "tv_lst": "Liste der Textdateien in", - "tvt_close": "Zu Ordneransicht zurรผck$NHotkey: M (oder Esc)\">โŒ Schliessen", - "tvt_dl": "Diese Datei herunterladen$NHotkey: Y\">๐Ÿ’พ Herunterladen", - "tvt_prev": "Vorheriges Dokument zeigen$NHotkey: i\">โฌ† vorh.", - "tvt_next": "Nรคchstes Dokument zeigen$NHotkey: K\">โฌ‡ nรคchst.", - "tvt_sel": "Wรคhlt diese Datei aus   ( zum Ausschneiden / Kopieren / Lรถschen / ... )$NHotkey: S\">ausw.", - "tvt_edit": "Datei im Texteditor zum Bearbeiten รถffnen$NHotkey: E\">โœ๏ธ bearb.", - "tvt_tail": "Datei auf Verรคnderungen รผberwachen; Neue Zeilen werden in Echtzeit angezeigt\">๐Ÿ“ก folgen", - "tvt_wrap": "Zeilenumbruch\">โ†ต", - "tvt_atail": "Automatisch nach unten scrollen\">โš“", - "tvt_ctail": "Terminal-Farben dekodieren (ANSI Escape Codes)\">๐ŸŒˆ", - "tvt_ntail": "Scrollback limitieren (Menge an Bytes an Text, die geladen bleiben sollen)", - - "m3u_add1": "Song wurde zur M3U-Playlist hinzugefรผgt", - "m3u_addn": "{0} Songs zur M3U-Playlist hinzugefรผgt", - "m3u_clip": "M3U-Playlist in die Zwischenablage kopiert\n\nDu solltest eine neue Datei mit dem Namen something.m3u erstellen und die Playlist da rein kopieren; damit wird die Playlist abspielbar", - - "gt_vau": "nur Ton abspielen, kein Video zeigen\">๐ŸŽง", - "gt_msel": "Dateiauswahl aktivieren; STRG-klicke eine Datei zum รผberschreiben$N$N<em>wenn aktiv: Datei / Ordner doppelklicken zum ร–ffnen</em>$N$NHotkey: S\">multiselect", - "gt_crop": "Vorschaubilder mittig zuschneiden\">crop", - "gt_3x": "hochauflรถsende Vorschaubilder\">3x", - "gt_zoom": "zoom", - "gt_chop": "kรผrzen", - "gt_sort": "sortieren nach", - "gt_name": "Name", - "gt_sz": "Grรถsse", - "gt_ts": "Datum", - "gt_ext": "Typ", - "gt_c1": "Dateinamen mehr kรผrzen (weniger zeigen)", - "gt_c2": "Dateinamen weniger kรผrzen (mehr zeigen)", - - "sm_w8": "Suche ...", - "sm_prev": "Die Suchresultate gehรถren zu einer vorherigen Suchanfrage:\n ", - "sl_close": "Suchresultate schliessen", - "sl_hits": "Zeige {0} Treffer", - "sl_moar": "Mehr laden", - - "s_sz": "Grรถsse", - "s_dt": "Datum", - "s_rd": "Pfad", - "s_fn": "Name", - "s_ta": "Tags", - "s_ua": "up@", - "s_ad": "adv.", - "s_s1": "minimum MiB", - "s_s2": "maximum MiB", - "s_d1": "min. iso8601", - "s_d2": "max. iso8601", - "s_u1": "hochgeladen nach", - "s_u2": "und/oder vor", - "s_r1": "Pfad enthรคlt   (Leerzeichen-separiert)", - "s_f1": "Name enthรคlt   (negieren mit -nope)", - "s_t1": "Tags enthรคlt   (^=start, end=$)", - "s_a1": "spezifische Metadaten-Eigenschaften", - - "md_eshow": "Kann nicht rendern ", - "md_off": "[๐Ÿ“œreadme] deaktiviert in [โš™๏ธ] -- Dokument versteckt", - - "badreply": "Hab die Antwort vom Server nicht verstanden. (badreply)", - - "xhr403": "403: Zugriff verweigert\n\nVersuche, F5 zu drรผcken. Vielleicht wurdest du abgemeldet.", - "xhr0": "Unbekannt (wahrschenlich Verbindung zum Server verloren oder der Server ist offline)", - "cf_ok": "Sorry dafรผr -- Der DD" + wah + "oS-Schutz hat angeschlagen.\n\nEs sollte in etwa 30 Sekunden weitergehen.\n\nFalls nichts passiert, drรผck' F5, um die Seite neuzuladen", - "tl_xe1": "Konnte Unterordner nicht auflisten:\n\nFehler ", - "tl_xe2": "404: Ordner nicht gefunden", - "fl_xe1": "Konnte Dateien in Ordner nicht auflisten:\n\nFehler ", - "fl_xe2": "404: Ordner nicht gefunden", - "fd_xe1": "Konnte Unterordner nicht erstellen:\n\nFehler ", - "fd_xe2": "404: รœbergeordneter Ordner nicht gefunden", - "fsm_xe1": "Konnte Nachricht nicht senden:\n\nFehler ", - "fsm_xe2": "404: รœbergeordneter Ordner nicht gefunden", - "fu_xe1": "Konnte unpost-Liste nicht laden:\n\nFehler ", - "fu_xe2": "404: Datei nicht gefunden??", - - "fz_tar": "Unkomprimierte GNU TAR-Datei (Linux / Mac)", - "fz_pax": "Unkomprimierte pax-format TAR-Datei (etwas langsamer)", //m - "fz_targz": "GNU-TAR mit gzip Level 3 Kompression$N$Nรผblicherweise recht langsam,$Nbenutze stattdessen ein unkomprimiertes TAR", - "fz_tarxz": "GNU-TAR mit xz level 1 Kompression$N$Nรผblicherweise recht langsam,$Nbenutze stattdessen ein unkomprimiertes TAR", - "fz_zip8": "ZIP mit UTF8-Dateinamen (kรถnnte kaputt gehen auf Windows 7 oder รคlter)", - "fz_zipd": "ZIP mit traditionellen CP437-Dateinamen, fรผr richtig alte Software", - "fz_zipc": "CP437 mit CRC32 frรผh berechnet,$Nfรผr MS-DOS PKZIP v2.04g (Oktober 1993)$N(braucht lรคnger zum Verarbeiten, bevor der Download starten kann)", - - "un_m1": "Unten kannst du deine neusten Uploads lรถschen (oder Unvollstรคndige abbrechen)", - "un_upd": "Neu laden", - "un_m4": "Oder die unten sichtbaren Dateien teilen:", - "un_ulist": "Anzeigen", - "un_ucopy": "Kopieren", - "un_flt": "Optionale Filter:  URL muss enthalten", - "un_fclr": "Filter lรถschen", - "un_derr": 'unpost-delete fehlgeschlagen:\n', - "un_f5": 'Etwas ist kaputt gegangen, versuche die Seite neuzuladen (drรผcke dazu F5)', - "un_uf5": "Sorry, aber du musst die Seite neuladen (z.B. in dem du F5 oder STRG-R drรผckst) bevor zu diesen Upload abbrechen kannst", - "un_nou": 'Warnung: Der Server ist grade zu beschรคftigt, um unvollstรคndige Uploads anzuzeigen; Drรผcke den "Neu laden"-Link in ein paar Sekunden', - "un_noc": 'Warnung: unpost von vollstรคndig hochgeladenen Dateien ist รผber die Serverkonfiguration gesperrt', - "un_max": "Zeige die ersten 2000 Dateien (benutze Filter, um die gewรผnschten Dateien zu finden)", - "un_avail": "{0} zuletzt hochgeladene Dateien kรถnnen gelรถscht werden
    {1} Unvollstรคndige kรถnnen abgebrochen werden", - "un_m2": "Sortiert nach Upload-Zeitpunkt; neuste zuerst:", - "un_no1": "Hoppala! Es gibt keine ausreichend aktuellen Uploads.", - "un_no2": "Pech gehabt! Kein Upload, der zu dem Filter passen wรผrde, ist neu genug", - "un_next": "Lรถsche die nรคchsten {0} Dateien", - "un_abrt": "Abbrechen", - "un_del": "Lรถschen", - "un_m3": "Deine letzten Uploads werden geladen ...", - "un_busy": "Lรถsche {0} Dateien ...", - "un_clip": "{0} Links in die Zwischenablage kopiert", - - "u_https1": "fรผr bessere Performance solltest du", - "u_https2": "auf HTTPS wechseln", - "u_https3": " ", - "u_ancient": 'Dein Browser ist verdammt antik -- vielleicht solltest du stattdessen bup benutzen', - "u_nowork": "Benรถtigt Firefox 53+ oder Chrome 57+ oder iOS 11+", - "tail_2old": "Benรถtigt Firefox 105+ oder Chrome 71+ oder iOS 14.5+", - "u_nodrop": 'Dein Browser ist zu alt fรผr Drag-and-Drop Uploads', - "u_notdir": "Das ist kein Ordner!\n\nDein Browser ist zu alt,\nversuch stattdessen dragdrop", - "u_uri": "Um Bilder per Drag-and-Drop aus anderen Browserfenstern hochzuladen,\nlass' sie bitte รผber dem grossen Upload-Button fallen", - "u_enpot": 'Zu Potato UI wechseln (kann Upload-Geschw. verbessern)', - "u_depot": 'Zu fancy UI wechseln (kann Upload-Geschw. verschlechtern)', - "u_gotpot": 'Wechsle zu Potato UI fรผr verbesserte Upload-Geschwindigkeit,\n\nwenn du anderer Meinung bist, kannst du gerne zurรผck wechseln', - "u_pott": "

    Dateien:   {0} fertig,   {1} fehlgeschlagen,   {2} in Bearbeitung,   {3} ausstehend

    ", - "u_ever": "Dies ist der Basic Uploader; up2k benรถtigt mind.
    Chrome 21 // Firefox 13 // Edge 12 // Opera 12 // Safari 5.1", - "u_su2k": 'Dies ist der Basic Uploader; up2k ist besser', - "u_uput": 'Fรผr Geschwindigkeit optimieren (Checksum รผberspringen)', - "u_ewrite": 'Du hast kein Schreibzugriff auf diesen Ordner', - "u_eread": 'Du hast kein Lesezugriff auf diesen Ordner', - "u_enoi": 'file-search ist in der Serverkonfiguration nicht aktiviert', - "u_enoow": "รœberschreiben wird hier nicht funktionieren; benรถtige Lรถsch-Berechtigung", - "u_badf": 'Diese {0} Dateien (von insgesammt {1}) wurden รผbersprungen, wahrscheinlich wegen Dateisystem-Berechtigungen:\n\n', - "u_blankf": 'Diese {0} Dateien (von insgesammt {1}) sind leer; trotzdem hochladen?\n\n', - "u_applef": 'Diese {0} Dateien (von insgesammt {1}) sind mรถglicherweise unerwรผnscht;\nOK/Eingabe drรผcken, um die folgenden Dateien zu รผberspringen.\nDrรผcke Abbrechen/ESC um sie NICHT zu รผberspringen und diese AUCH HOCHZULADEN:\n\n', - "u_just1": '\nFunktioniert vielleicht besser, wenn du nur eine Datei auswรคhlst', - "u_ff_many": "Falls du Linux / MacOS / Android benutzt, kรถnnte Firefox mit dieser Menge an Dateien crashen!\nFalls das passiert, probier nochmal (oder benutz Chrome).", - "u_up_life": "Dieser Upload wird vom Server gelรถscht\n{0} nachdem er abgeschlossen ist", - "u_asku": 'Diese {0} Dateien nach {1} hochladen', - "u_unpt": "Du kannst diesen Upload rรผckgรคngig machen mit dem ๐Ÿงฏ oben-links", - "u_bigtab": 'Versuche {0} Dateien anzuzeigen.\n\nDas kรถnnte dein Browser crashen, bist du dir wirklich sicher?', - "u_scan": 'Scanne Dateien...', - "u_dirstuck": 'Ordner-Iterator blieb hรคngen beim Versuch, diese {0} Eintrรคge zu lesen; รผberspringe:', - "u_etadone": 'Fertig ({0}, {1} Dateien)', - "u_etaprep": '(Upload wird vorbereitet)', - "u_hashdone": 'Hashing vollstรคndig', - "u_hashing": 'Hash', - "u_hs": 'Wir schรผtteln uns die Hรคnde ("handshaking")...', - "u_started": "Dateien werden hochgeladen; siehe [๐Ÿš€]", - "u_dupdefer": "Duplikat; wird nach allen anderen Dateien verarbeitet", - "u_actx": "Klicke diesen Text um Performance-
    Einbusen zu Vermeiden beim Wechsel auf andere Fenster/Tabs", - "u_fixed": "OK!  Habs repariert ๐Ÿ‘", - "u_cuerr": "failed to upload chunk {0} of {1};\nprobably harmless, continuing\n\nfile: {2}", - "u_cuerr2": "server rejected upload (chunk {0} of {1});\nwill retry later\n\nfile: {2}\n\nerror ", - "u_ehstmp": "versuche nochmal; siehe unten-rechts", - "u_ehsfin": "Der Server hat die Anfrage zum Abschluss des Uploads abgelehnt; versuche nochmal...", - "u_ehssrch": "Der Server hat die Anfrage zur Suche abgelehnt; versuche nochmal...", - "u_ehsinit": "Der Server hat die Anfrage zum Start des Uploads abgelehnt; versuche nochmal...", - "u_eneths": "Netzwerkfehler beim Upload-Handshake; versuche nochmal...", - "u_enethd": "Netzwerkfehler beim Testen der Existenz des Ziels; versuche nochmal...", - "u_cbusy": "Der Server mag uns grade nicht mehr nach einem Netzwerkglitch, warte einen Moment...", - "u_ehsdf": "Server hat kein Speicherplatz mehr!\n\nwerde es erneut versuchen, falls jemand\ngenug Platz schafft um fortzufahren", - "u_emtleak1": "scheint, als ob dein Browser ein Memory Leak hรคtte;\nbitte", - "u_emtleak2": ' wechsle auf HTTPS (empfohlen) oder ', - "u_emtleak3": ' ', - "u_emtleakc": 'versuche folgendes:\n
    • drรผcke F5 um die Seite neu zu laden
    • deaktivere dann den  mt  Button in den  โš™๏ธ Einstellungen
    • und versuche den Upload nochmal.
    Uploads werden etwas langsamer sein, aber man kann ja nicht alles haben.\nSorry fรผr die Umstรคnde !\n\nPS: Chrome v107 hat ein Bugfix dafรผr', - "u_emtleakf": 'versuche folgendes:\n
    • drรผcke F5 um die Seite neu zu laden
    • aktivere dann ๐Ÿฅ” (potato) im Upload UI
    • und versuche den Upload nochmal
    \nPS: Firefox hat hoffentlich irgendwann ein Bugfix', - "u_s404": "nicht auf dem Server gefunden", - "u_expl": "erklรคren", - "u_maxconn": "die meisten Browser limitieren dies auf 6, aber Firefox lรคsst mehr zu unter connections-per-server in about:config", - "u_tu": '

    WARNUNG: Turbo aktiviert,  Client kรถnnte unvollstรคndige Uploads verpassen und nicht wiederholen; siehe Turbo-Button Tooltip

    ', - "u_ts": '

    WARNUNG: Turbo aktiviert,  Suchresultate kรถnnen inkorrekt sein; siehe Turbo-Button Tooltip

    ', - "u_turbo_c": "Turbo deaktiviert in der Serverkonfiguration", - "u_turbo_g": "Turbo deaktiviert, da du keine Listen-Berechtigung\nauf diesem Volume hast", - "u_life_cfg": 'Autodelete nach min (or h)', - "u_life_est": 'Upload wird gelรถscht ---', - "u_life_max": 'Dieser Ordner erzwingt eine\nmax Lebensdauer von {0}', - "u_unp_ok": 'unpost ist erlaubt fรผr {0}', - "u_unp_ng": 'unpost wird NICHT erlaubt', - "ue_ro": 'Du hast nur Lese-Zugriff auf diesen Ordner\n\n', - "ue_nl": 'Du bist nicht angemeldet', - "ue_la": 'Du bist angemeldet als "{0}"', - "ue_sr": 'Du bist derzeit im Suchmodus\n\nWechsle zum Upload-Modus indem du auf die Lupe ๐Ÿ”Ž klickst (neben dem grossen SUCHEN Button), und versuche den Upload nochmal.\n\nSorry', - "ue_ta": 'Versuche den Upload nochmal, sollte jetzt klappen', - "ue_ab": "Diese Datei wird gerade in einem anderen Ordner hochgeladen, dieser Upload muss zuerst abgeschlossen werden, bevor die Datei woanders hochgeladen werden kann.\n\nDu kannst den Upload abbrechen und vergessen mit dem ๐Ÿงฏ oben-links", - "ur_1uo": "OK: Datei erfolgreich hochgeladen", - "ur_auo": "OK: Alle {0} Dateien erfolgreich hochgeladen", - "ur_1so": "OK: Datei auf dem Server gefunden", - "ur_aso": "OK: Alle {0} Dateien auf dem Server gefunden", - "ur_1un": "Upload fehlgeschlagen, sorry", - "ur_aun": "Alle {0} Uploads fehlgeschlagen, sorry", - "ur_1sn": "Datei wurde NICHT auf dem Server gefunden", - "ur_asn": "Die {0} Dateien wurden NICHT auf dem Server gefunden", - "ur_um": "Fertig;\n{0} Uploads OK,\n{1} Uploads fehlgeschlagen, sorry", - "ur_sm": "Fertig;\n{0} Uploads gefunden auf dem Server,\n{1} Dateien NICHT gefunden auf dem Server", - - "lang_set": "Neuladen um ร„nderungen anzuwenden?", - }, - "fin": { - "tt": "Suomi", - - "cols": { - "c": "toimintopainikkeet", - "dur": "kesto", - "q": "laatu / bittinopeus", - "Ac": "รครคnikoodekki", - "Vc": "videokoodekki", - "Fmt": "formaatti / sรคiliรถ", - "Ahash": "รครคnen tarkistussumma", - "Vhash": "videon tarkistussumma", - "Res": "resoluutio", - "T": "tiedostotyyppi", - "aq": "รครคnenlaatu / bittinopeus", - "vq": "kuvalaatu / bittinopeus", - "pixfmt": "alinรคytteistys / pikselirakenne", - "resw": "horisontaalinen resoluutio", - "resh": "vertikaalinen resoluutio", - "chs": "รครคnikanavat", - "hz": "nรคytteenottotaajuus" - }, - - "hks": [ - [ - "misc", - ["ESC", "sulje asioita"], - - "file-manager", - ["G", "vaihda lista/kuvanรคkymรครคn"], - ["T", "vaihda pienoiskuviin/kuvakkeisiin"], - ["โ‡ง A/D", "pienoiskuvien koko"], - ["ctrl-K", "poista valitut"], - ["ctrl-X", "siirrรค valitut leikepรถydรคlle"], - ["ctrl-C", "kopioi valitut leikepรถydรคlle"], - ["ctrl-V", "siirrรค tai kopioi tรคhรคn"], - ["Y", "lataa valitut"], - ["F2", "uudelleennimeรค valitut"], - - "file-list-sel", - ["space", "vaihda tiedostonvalintatilaan"], - ["โ†‘/โ†“", "siirrรค valintaosoitinta"], - ["ctrl โ†‘/โ†“", "siirrรค osoitinta ja nรคkymรครค"], - ["โ‡ง โ†‘/โ†“", "valitse edellinen/seuraava tiedosto"], - ["ctrl-A", "valitse kaikki tiedostot / hakemistot"], - ], [ - "navigation", - ["B", "nรคytรค linkkipolku"], - ["I/K", "siirry edelliseen/seuraavaan hakemistoon"], - ["M", "siirry ylรคhakemistoon/supista nykyinen hakemisto"], - ["V", "nรคytรค hakemistot/tekstitiedostot navigointipaneelissa"], - ["A/D", "navigointipaneelin koko"], - ], [ - "audio-player", - ["J/L", "edellinen/seuraava kappale"], - ["U/O", "kelaa 10s taaksepรคin/eteenpรคin"], - ["0..9", "siirry 0%..90%"], - ["P", "toista/pysรคytรค kappale"], - ["S", "valitse toistossa oleva kappale"], - ["Y", "lataa kappale"], - ], [ - "image-viewer", - ["J/L, โ†/โ†’", "edellinen/seuraava kuva"], - ["Home/End", "ensimmรคinen/viimeinen kuva"], - ["F", "siirry koko nรคytรถn tilaan"], - ["R", "kierrรค myรถtรคpรคivรครคn"], - ["โ‡ง R", "kierrรค vastapรคivรครคn"], - ["S", "valitse kuva"], - ["Y", "lataa kuva"], - ], [ - "video-player", - ["U/O", "kelaa 10s taaksepรคin/eteenpรคin"], - ["P/K/Space", "toista/pysรคytรค video"], - ["C", "jatka toistoa seuraavaan videoon"], - ["V", "toista uudelleen"], - ["M", "vaimenna"], - ["[ ja ]", "aseta videon uudelleentoistovรคli"], - ], [ - "textfile-viewer", - ["I/K", "edellinen/seuraava tiedosto"], - ["M", "sulje tekstitiedosto"], - ["E", "muokkaa tekstitiedostoa"], - ["S", "valitse tiedosto (leikkausta/kopiointia/uudelleennimeรคmistรค varten)"], - ] - ], - - "m_ok": "OK", - "m_ng": "Peruuta", - - "enable": "Aktivoi", - "danger": "HUOMIO!", - "clipped": "kopioitu leikepรถydรคlle", - - "ht_s1": "sekunti", - "ht_s2": "sekuntia", - "ht_m1": "minuutti", - "ht_m2": "minuuttia", - "ht_h1": "tunti", - "ht_h2": "tuntia", - "ht_d1": "pรคivรค", - "ht_d2": "pรคivรครค", - "ht_and": " ja ", - - "goh": "hallintapaneeli", - "gop": 'viereinen hakemisto">edell', - "gou": 'ylempi hakemisto">ylรถs', - "gon": 'seuraava hakemisto">seur', - "logout": "Kirjaudu ulos ", - "login": "Kirjaudu sisรครคn", //m - "access": " -oikeudet", - "ot_close": "sulje alavalikko", - "ot_search": "etsi tiedostoja ominaisuuksien, tiedostopolun tai -nimen, musiikkitรคgien tai nรคiden yhdistelmรคn perusteella$N$N<code>foo bar</code> = tรคytyy sisรคltรครค sekรค ยซfooยป ettรค ยซbarยป,$N<code>foo -bar</code> = tรคytyy sisรคltรครค ยซfooยป mutta ei ยซbarยป,$N<code>^yana .opus$</code> = alkaa ยซyanaยป ja on ยซopusยป-tiedosto$N<code>"try unite"</code> = sisรคltรครค tรคsmรคlleen ยซtry uniteยป$N$Npรคivรคmรครคrรคn muoto on iso-8601, kuten$N<code>2009-12-31</code> tai <code>2020-09-12 23:30:00</code>", - "ot_unpost": "unpost: poista viimeaikaiset tai keskeytรค keskenerรคiset lataukset", - "ot_bup": "bup: tiedostojen 'perus'lรคhetysohjelma, tukee jopa netscape 4.0", - "ot_mkdir": "mkdir: luo uusi hakemisto", - "ot_md": "new-md: luo uusi markdown-dokumentti", - "ot_msg": "msg: lรคhetรค viesti palvelinlokiin", - "ot_mp": "mediasoittimen asetukset", - "ot_cfg": "asetukset", - "ot_u2i": 'up2k: lรคhetรค tiedostoja (vaatii write-oikeudet) tai vaihda hakutilaan nรคhdรคksesi, ovatko tiedostot jo olemassa jossain pรคin palvelinta$N$Nlatauksia voi jatkaa, ne ovat monisรคikeistettyjรค, ja tiedostojen aikaleimat sรคilytetรครคn; nuijii prosessoria enemmรคn kuin [๐ŸŽˆ]  (peruslatausohjelma)

    tiedostojen lรคhetyksen aikana tรคmรค kuvake muuttuu kertoo lรคhetyksen edistymisestilanteen!', - "ot_u2w": 'up2k: lรคhetรค tiedostoja jatkamistoiminnolla (voit sulkea selaimen ja vetรครค samat tiedostot selainikkunaan myรถhemmin)$N$monisรคikeistetty, ja tiedostojen aikaleimat sรคilyvรคt; nuijii prosessoria enemmรคn kuin [๐ŸŽˆ]  (peruslatausohjelma)

    tiedostojen lรคhetyksen aikana tรคmรค kuvake muuttuu kertoo lรคhetyksen edistymisestilanteen!', - "ot_noie": 'Suosittelemme kรคyttรคmรครคn uudempaa selainta.', - - "ab_mkdir": "luo hakemisto", - "ab_mkdoc": "luo markdown-tiedosto", - "ab_msg": "lรคhetรค viesti palvelinlokiin", - - "ay_path": "siirry hakemistoihin", - "ay_files": "siirry tiedostoihin", - - "wt_ren": "uudelleennimeรค valitut kohteet$NPikanรคppรคin: F2", - "wt_del": "poista valitut kohteet$NPikanรคppรคin: ctrl-K", - "wt_cut": "siirrรค valitut kohteet leikepรถydรคlle <small>(siirtรครคksesi ne muualle)</small>$NPikanรคppรคin: ctrl-X", - "wt_cpy": "kopioi valitut kohteet leikepรถydรคlle$N(liittรครคksesi ne muualle)$NPikanรคppรคin: ctrl-C", - "wt_pst": "liitรค aiemmin leikatut / kopioidut valinnat$NPikanรคppรคin: ctrl-V", - "wt_selall": "valitse kaikki tiedostot$NPikanรคppรคin: ctrl-A (kun tiedosto on kohdistettu)", - "wt_selinv": "valitse vastakkaiset tiedostot", - "wt_zip1": "lataa tรคmรค hakemisto pakattuna", - "wt_selzip": "lataa valitut kohteet pakattuna", - "wt_seldl": "lataa valitut kohteet paketoimatta$NPikanรคppรคin: Y", - "wt_npirc": "kopioi kappaletiedot IRC-muotoilulla", - "wt_nptxt": "kopioi kappaletiedot ilman muotoilua", - "wt_m3ua": "lisรครค m3u-soittolistaan (klikkaa ๐Ÿ“ปkopioi myรถhemmin)", - "wt_m3uc": "kopioi m3u-soittolista leikepรถydรคlle", - "wt_grid": "vaihda kuva- ja listanรคkymรคn vรคlillรค$NPikanรคppรคin: G", - "wt_prev": "edellinen kappale$NPikanรคppรคin: J", - "wt_play": "toista / pysรคytรค$NPikanรคppรคin: P", - "wt_next": "seuraava kappale$NPikanรคppรคin: L", - - "ul_par": "rinnakkaislatausten lkm:", - "ut_rand": "satunnaisgeneroidut tiedostonimet", - "ut_u2ts": "kopioi viimeksi muokattu aikaleima$Ntiedostojรคrjestelmรคstรคsi palvelimelle\">๐Ÿ“…", - "ut_ow": "korvaa olemassa olevat tiedostot palvelimella?$N๐Ÿ›ก๏ธ: ei koskaan (luo sen sijaan uuden tiedostonimen)$N๐Ÿ•’: korvaa jos palvelintiedosto on vanhempi kuin omasi$Nโ™ป๏ธ: korvaa aina jos tiedostot ovat erilaisia", - "ut_mt": "jatka muiden tiedostojen tiivisteiden laskemista latauksen aikana$N$Nkannattanee poistaa kรคytรถstรค, mikรคli prosessori tai kovalevy on vanhempaa mallia", - "ut_ask": 'kysy vahvistusta ennen latauksen aloittamista">๐Ÿ’ญ', - "ut_pot": "paranna latausnopeutta hitailla laitteilla$Nvรคhentรคmรคllรค kรคyttรถliittymรคn monimutkaisuutta", - "ut_srch": "lataamisen sijaan tarkista, ovatko tiedostot jo $N olemassa palvelimella (kรคy lรคpi kaikki hakemistot, joihin sinulla on read-oikeudet)", - "ut_par": "keskeytรค lataukset asettamalla se nollaan$N$Nnosta, jos yhteytesi on hidas tai viive on suuri$N$Npidรค se 1:ssรค lรคhiverkossa tai jos palvelimen kovalevy on pullonkaula", - "ul_btn": "vedรค tiedostoja / hakemistoja tรคhรคn
    (tai klikkaa minua)", - "ul_btnu": "L ร„ H E T ร„", - "ul_btns": "E T S I", - - "ul_hash": "tiiviste", - "ul_send": "lรคhetรค", - "ul_done": "valmis", - "ul_idle1": "ei latauksia jonossa", - "ut_etah": "keskimรครคrรคinen <em>tiivisteiden lasku</em>nopeus ja arvioitu aika valmistumiseen", - "ut_etau": "keskimรครคrรคinen <em>lataus</em>nopeus ja arvioitu aika valmistumiseen", - "ut_etat": "keskimรครคrรคinen <em>kokonais</em>nopeus ja arvioitu aika valmistumiseen", - - "uct_ok": "onnistui", - "uct_ng": "ei-hyvรค: epรคonnistui / hylรคtty / ei lรถydy", - "uct_done": "ok ja ng yhdistettynรค", - "uct_bz": "laskee tiivisteitรค tai lataa", - "uct_q": "tyhjรคkรคynnillรค, odottaa", - - "utl_name": "tiedostonimi", - "utl_ulist": "lista", - "utl_ucopy": "kopioi", - "utl_links": "linkit", - "utl_stat": "tila", - "utl_prog": "edistyminen", - - // keep short: - "utl_404": "404", - "utl_err": "VIRHE", - "utl_oserr": "Kรคyttรถjรคrjestelmรคvirhe", - "utl_found": "lรถytyi", - "utl_defer": "lykkรครค", - "utl_yolo": "YOLO", - "utl_done": "valmis", - - "ul_flagblk": "tiedostot lisรคttiin jonoon
    mutta toisen selainvรคlilehden up2k on kiireinen,
    joten odotetaan sen valmistumista ensin", - "ul_btnlk": "palvelinkonfiguraatio on lukinnut tรคmรคn kytkimen tรคhรคn tilaan", - - "udt_up": "Lataa", - "udt_srch": "Etsi", - "udt_drop": "pudota se tรคhรคn", - - "u_nav_m": '
    selvรค, mitรคs sulla on?
    Enter = Tiedostoja (yksi tai useampi)\nESC = Yksi hakemisto (mukaan lukien alihakemistot)', - "u_nav_b": 'TiedostojaYksi hakemisto', - - "cl_opts": "asetukset", - "cl_themes": "teema", - "cl_langs": "kieli", - "cl_ziptype": "hakemiston pakkaustyyppi", - "cl_uopts": "up2k-kytkimet", - "cl_favico": "favicon", - "cl_bigdir": "suuret hakemistot", - "cl_hsort": "#sort", - "cl_keytype": "sรคvellajin notaatiotyyppi", - "cl_hiddenc": "piilotetut sarakkeet", - "cl_hidec": "piilota", - "cl_reset": "palauta", - "cl_hpick": "napauta sarakeotsikoita piilottaaksesi alla olevassa taulukossa", - "cl_hcancel": "sarakkeiden piilotus peruttu", - - "ct_grid": '็”ฐ kuvanรคkymรค', - "ct_ttips": 'โ—” โ—ก โ—”">โ„น๏ธ vihjelaatikot', - "ct_thumb": 'valitse kuvakkeiden / pienoiskuvien vรคlillรค kuvanรคkymรคssรค $NPikanรคppรคin: T">๐Ÿ–ผ๏ธ pienoiskuvat', - "ct_csel": 'kรคytรค CTRL ja SHIFT tiedostojen valintaan kuvanรคkymรคssรค">valitse', - "ct_ihop": 'kun kuvakatselin suljetaan, vieritรค alas viimeksi katsottuun tiedostoon">gโฎฏ', - "ct_dots": 'nรคytรค piilotetut tiedostot (jos palvelin sallii)">piilotiedostot', - "ct_qdel": 'kysy vahvistusta vain kerran tiedostoja poistaessa">qdel', - "ct_dir1st": 'lajittele hakemistot ennen tiedostoja">๐Ÿ“ ensin', - "ct_nsort": 'luonnollinen lajittelu (tiedostonimille jotka ovat numeroalkuisia)">nsort', - "ct_utc": 'nรคytรค kaikki aikaleimat UTC-ajassa">UTC', - "ct_readme": 'nรคytรค README.md hakemistolistauksissa">๐Ÿ“œ readme', - "ct_idxh": 'nรคytรค index.html hakemistolistan sijasta">htm', - "ct_sbars": 'nรคytรค vierityspalkit">โŸŠ', - - "cut_umod": "jos tiedosto on jo olemassa palvelimella, pรคivitรค palvelimen viimeksi muokattu aikaleima vastaamaan paikallista tiedostoasi (vaatii write- ja delete-oikeudet)\">re๐Ÿ“…", - - "cut_turbo": "yolo-painike -- et todennรคkรถisesti halua ottaa tรคtรค kรคyttรถรถn:$N$Nkรคytรค tรคtรค jos latasit valtavan mรครคrรคn tiedostoja ja jouduit kรคynnistรคmรครคn uudelleen jostain syystรค, ja haluat jatkaa latausta vรคlittรถmรคsti$N$Ntรคmรค korvaa tiivistetarkistuksen yksinkertaisella "onko tรคllรค sama tiedostokoko palvelimella?" joten jos tiedoston sisรคltรถ on erilainen sitรค EI ladata$N$Nsinun pitรคisi poistaa tรคmรค kรคytรถstรค kun lataus on valmis, ja sitten "ladata" samat tiedostot uudelleen antaaksesi selaimesi varmistaa ne\">turbo", - - "cut_datechk": "ei vaikutusta ellei turbo-painike ole kรคytรถssรค$N$Nvรคhentรครค yolo-tekijรครค hieman; tarkistaa vastaavatko tiedostojen aikaleimat palvelimella omia$N$Npitรคisi teoriassa napata useimmat keskenerรคiset / vioittuneet lataukset, mutta ei ole korvike varmistuskierrokselle turbo poistettuna kรคytรถstรค jรคlkeenpรคin\">pรคivรคysvarmistin", - - "cut_u2sz": "kunkin lรคhetyspalan koko (MiB:ssรค); suuret arvot lentรคvรคt paremmin atlantin yli. kokeile pieniรค arvoja erittรคin heikoilla yhteyksillรค", - - "cut_flag": "varmista ettรค vain yksi vรคlilehti lataa kerrallaan $N -- muissa vรคlilehdissรค tรคytyy olla tรคmรค kรคytรถssรค myรถs $N -- vaikuttaa vain saman verkkotunnuksen vรคlilehtiin", - - "cut_az": "lรคhetรค tiedostot aakkosjรคrjestyksessรค, eikรค pienin-tiedosto-ensiksi$N$Naakkosjรคrjestys voi tehdรค helpommaksi silmรคillรค jos jokin meni vikaan palvelimella, mutta se tekee latauksesta hieman hitaamman kuitu- ja lรคhiverkossa", - - "cut_nag": "kรคyttรถjรคrjestelmรคilmoitus kun lataus valmistuu$N(vain jos selain tai vรคlilehti ei ole aktiivinen)", - "cut_sfx": "รครคnivaroitus kun lataus valmistuu$N(vain jos selain tai vรคlilehti ei ole aktiivinen)", - - "cut_mt": "monisรคikeistรค tiedostojen tiivistysarvojen laskeminen$N$Ntรคmรค kรคyttรครค web-workereitรค ja vaatii$Nenemmรคn RAM-muistia (jopa 512 MiB ekstraa)$N$Ntekee https:n 30% nopeammaksi, http:n 4.5x nopeammaksi\">mt", - - "cut_wasm": "kรคytรค wasm:ia selaimen sisรครคnrakennetun tiivistรคjรคn sijaan; parantaa nopeutta chrome-pohjaisissa selaimissa mutta lisรครค prosessorikuormaa, ja monissa vanhemmissa chrome-versioissa on bugeja jotka saavat selaimen kuluttamaan kaiken RAM-muistin ja kaatumaan jos tรคmรค on kรคytรถssรค\">wasm", - - "cft_text": "favicon-teksti (tyhjennรค ja pรคivitรค poistaaksesi kรคytรถstรค)", - "cft_fg": "edustavรคri", - "cft_bg": "taustavรคri", - - "cdt_lim": "tiedostojen enimmรคismรครคrรค nรคytettรคvรคksi hakemistossa", - "cdt_ask": "sivun lopussa, sen sijaan ettรค lataa $Nautomaattisesti lisรครค tiedostoja, kysy mitรค tehdรค", - "cdt_hsort": "kuinka monta lajittelusรครคntรถรค (<code>,sorthref</code>) sisรคllyttรครค media-URL:eihin. Tรคmรคn asettaminen nollaan jรคttรครค myรถs huomioimatta media-linkeissรค sisรคllytetyt lajittelusรครคnnรถt kun napsautat niitรค", - - "tt_entree": "nรคytรค navigointipaneeli$NPikanรคppรคin: B", - "tt_detree": "nรคytรค linkkipolku$NPikanรคppรคin: B", - "tt_visdir": "nรคytรค valittu hakemisto", - "tt_ftree": "vaihda linkkipolku- / tekstitiedostonรคkymรครคn$NPikanรคppรคin: V", - "tt_pdock": "nรคytรค ylรคhakemistot telakoitussa paneelissa ylhรครคllรค", - "tt_dynt": "kasvata automaattisesti hakemistosyvyyden kasvaessa", - "tt_wrap": "rivitys", - "tt_hover": "paljasta ylivuotavat rivit leijutettaessa$N( rikkoo vierityksen ellei hiiri $N  ole vasemmassa marginaalissa )", - - "ml_pmode": "hakemiston lopussa...", - "ml_btns": "komennot", - "ml_tcode": "muunna nรคmรค", - "ml_tcode2": "tรคhรคn muotoon", - "ml_tint": "sรคvy", - "ml_eq": "taajuuskorjain", - "ml_drc": "dynaaminen alueen kompressori", - - "mt_loop": "toista samaa kappaletta\">๐Ÿ”", - "mt_one": "lopeta yhden toiston jรคlkeen\">1๏ธโƒฃ", - "mt_shuf": "aktivoi satunnaistoisto\">๐Ÿ”€", - "mt_aplay": "automaattitoisto jos linkissรค jolla pรครคsit palvelimelle oli kappale-ID$N$Ntรคmรคn poistaminen kรคytรถstรค pysรคyttรครค myรถs sivun URL:n pรคivittรคmisen kappale-ID:lla musiikkia toistettaessa, estรครคksesi automaattitoiston jos nรคmรค asetukset menetetรครคn mutta URL sรคilyy\">aโ–ถ", - "mt_preload": "aloita seuraavan kappaleen lataaminen lรคhellรค loppua, mahdollistaen saumattoman toiston\">esilataus", - "mt_prescan": "siirry seuraavaan hakemistoon ennen viimeisen kappaleen$Nloppumista, pitรคen verkkoselaimen tyytyvรคisenรค$Njotta se ei pysรคytรค toistoa\">nav", - "mt_fullpre": "yritรค esiladata koko kappale;$Nโœ… ota kรคyttรถรถn heikoilla yhteyksillรค,$NโŒ poista kรคytรถstรค hitailla yhteyksillรค\">esi+", - "mt_fau": "puhelimissa: estรค musiikin pysรคhtyminen jos seuraava kappale ei esilataudu tarpeeksi nopeasti (voi aiheuttaa ongelmia kappaletietojen nรคyttรคmisessรค)\">โ˜•๏ธ", - "mt_waves": "aaltomuoto-hakupalkki:$Nnรคytรค รครคnenvahvuus selaimessa\">~s", - "mt_npclip": "nรคytรค painikkeet parhaillaan soivan kappaleen leikepรถydรคlle kopioimiseen\">/np", - "mt_m3u_c": "nรคytรค painikkeet valittujen$Nkappaleiden kopioimiseen m3u8-soittolistana leikepรถydรคlle\">๐Ÿ“ป", - "mt_octl": "kรคyttรถjรคrjestelmรคintegraatio (medianรคppรคimet / osd)\">os-ctl", - "mt_oseek": "salli haku kรคyttรถjรคrjestelmรคintegraation kautta$N$Nhuom: joissakin laitteissa (iPhonet),$Ntรคmรค korvaa 'seuraava kappale' -painikkeen\">kelaus", - "mt_oscv": "nรคytรค albumin kansi osd:ssรค\">kansikuvat", - "mt_follow": "pidรค soiva kappale nรคkyvissรค\">๐ŸŽฏ", - "mt_compact": "kompaktit sรครคtimet\">โŸŽ", - "mt_uncache": "tyhjennรค vรคlimuisti  (kokeile tรคtรค jos selaimesi vรคlimuistissa on$Nrikkinรคinen kopio kappaleesta)\">uncache", - "mt_mloop": "toista avoinna olevaa hakemistoa loputtomasti\">๐Ÿ” alkuun", - "mt_mnext": "lataa seuraava hakemisto ja jatka\">๐Ÿ“‚ seuraava", - "mt_mstop": "pysรคytรค toisto\">โธ pysรคytรค", - "mt_cflac": "muunna flac / wav {0}-muotoon\">flac", - "mt_caac": "muunna aac / m4a {0}-muotoon\">aac", - "mt_coth": "muunna kaikki muut paitsi mp3 {0}-muotoon\">muut", - "mt_c2opus": "paras valinta pรถytรคkoneille, kannettaville, androidille\">opus", - "mt_c2owa": "opus-weba, iOS 17.5:lle ja uudemmille\">owa", - "mt_c2caf": "opus-caf, iOS 11:lle - 17:lle\">caf", - "mt_c2mp3": "kรคytรค tรคtรค erittรคin vanhoissa laitteissa\">mp3", - "mt_c2flac": "paras รครคnenlaatu, mutta isot lataukset\">flac", //m - "mt_c2wav": "pakkaamaton toisto (vielรค suurempi tiedosto)\">wav", //m - "mt_c2ok": "hienoa, hyvรค valinta", - "mt_c2nd": "tuo ei ole suositeltu formaatti laitteellesi, mutta tee miten lystรครคt", - "mt_c2ng": "laitteesi ei nรคytรค tukevan tรคtรค formaattia, mutta yritetรครคn nyt silti", - "mt_xowa": "iOS:ssรค on bugeja jotka estรคvรคt taustatoiston tรคllรค formaatilla; kรคytรค caf:ia tai mp3:a sen sijaan", - "mt_tint": "taustan taso (0-100) liukupalkissa$Ntehden puskuroinnista vรคhemmรคn hรคiritsevรคn", - "mt_eq": "aktivoi taajuuskorjaimen ja vahvistussรครคtimen;$N$Nvahvistus <code>0</code> = normaali 100% รครคnenvoimakkuus (muokkaamaton)$N$Nleveys <code>1  </code> = normaali stereo (muokkaamaton)$Nleveys <code>0.5</code> = 50% vasen-oikea ristisyรถttรถ$Nleveys <code>0  </code> = mono$N$Nvahvistus <code>-0.8</code> & leveys <code>10</code> = laulun poisto :^)$N$Nequalizerin kรคyttรถรถnotto tekee saumattomista albumeista tรคysin saumattomia, joten jรคtรค se pรครคlle kaikilla arvoilla nollassa (paitsi leveys = 1) jos vรคlitรคt siitรค", - "mt_drc": "aktivoi dynaamisen alueen kompressorin; ottaa myรถs kรคyttรถรถn taajuuskorjaimen tasapainottamaan spagettia, joten aseta kaikki EQ-kentรคt paitsi 'leveys' nollaan jos et halua sitรค$N$Nalentaa รครคnenvoimakkuutta KYNNYS dB:n ylรคpuolella; jokaisesta SUHDE dB:stรค KYNNYKSEN yli tulee 1 dB ulos, joten oletusarvot kynnys -24 ja suhde 12 tarkoittaa ettei sen pitรคisi koskaan tulla kovempaa kuin -22 dB ja on turvallista nostaa equalizerin vahvistus 0.8:aan, tai jopa 1.8:aan ATK 0:lla ja valtavalla RLS:llรค kuten 90 (toimii vain firefoxissa; RLS on max 1 muissa selaimissa)$N$N(katso wikipedia, he selittรคvรคt sen paljon paremmin)", - - "mb_play": "toista", - "mm_hashplay": "soita tรคmรค รครคnitiedosto?", - "mm_m3u": "paina Enter/OK Toistaaksesi\npaina ESC/Peruuta Muokataksesi", - "mp_breq": "tarvitset firefox 82+ tai chrome 73+ tai iOS 15+", - "mm_bload": "ladataan...", - "mm_bconv": "muunnetaan muotoon {0}, odota...", - "mm_opusen": "selaimesi ei voi toistaa aac / m4a -tiedostoja;\ntranskoodaus opukseen on nyt kรคytรถssรค", - "mm_playerr": "toisto epรคonnistui: ", - "mm_eabrt": "Toistoyritys peruttiin", - "mm_enet": "Internet-yhteytesi on epรคvakaa", - "mm_edec": "Tรคmรค tiedosto on vรคitetysti vioittunut??", - "mm_esupp": "Selaimesi ei ymmรคrrรค tรคtรค รครคnimuotoa", - "mm_eunk": "Tuntematon virhe", - "mm_e404": "Kappaletta ei voitu toistaa; virhe 404: Tiedostoa ei lรถydy.", - "mm_e403": "Kappaletta ei voitu toistaa; virhe 403: Pรครคsy kielletty.\n\nKokeile painaa F5 pรคivittรครคksesi, ehkรค kirjauduit ulos", - "mm_e500": "Kappaletta ei voitu toistaa; virhe 500: Tarkista palvelinlokit.", - "mm_e5xx": "Kappaletta ei voitu toistaa; palvelinvirhe ", - "mm_nof": "ei lรถydy enempรครค รครคnitiedostoja lรคhistรถltรค", - "mm_prescan": "Etsitรครคn musiikkia toistettavaksi seuraavaksi...", - "mm_scank": "Lรถytyi seuraava kappale:", - "mm_uncache": "vรคlimuisti tyhjennetty; kaikki kappaleet ladataan uudelleen seuraavalla toistolla", - "mm_hnf": "tuota kappaletta ei enรครค ole olemassa", - - "im_hnf": "tuota kuvaa ei enรครค ole olemassa", - - "f_empty": 'tรคmรค hakemisto on tyhjรค', - "f_chide": 'tรคmรค piilottaa sarakkeen ยซ{0}ยป\n\nvoit palauttaa sarakkeet asetuksista', - "f_bigtxt": "tรคmรค tiedosto on {0} Mt kokoinen -- nรคytetรครคnkรถ silti tekstinรค?", - "f_bigtxt2": "nรคytetรครคnkรถ vain tiedoston loppu? tรคmรค myรถs mahdollistaa seuraamisen/tailing, nรคyttรคen uudet tekstirivit reaaliaikaisesti", - "fbd_more": '
    nรคytetรครคn {0} / {1} tiedostoa; nรคytรค {2} tai nรคytรค kaikki
    ', - "fbd_all": '
    nรคytetรครคn {0} / {1} tiedostoa; nรคytรค kaikki
    ', - "f_anota": "vain {0} / {1} kohdetta valittiin;\nvalitaksesi koko hakemiston, vieritรค ensin loppuun", - - "f_dls": 'nykyisen hakemiston tiedostolinkit on\nvaihdettu latauslinkeiksi', - - "f_partial": "Ladataksesi turvallisesti tiedoston joka on parhaillaan latautumassa, klikkaa tiedostoa jolla on sama nimi mutta ilman .PARTIAL pรครคtettรค. Paina PERUUTA tai Escape tehdรคksesi tรคmรคn.\n\nOK / Enter painaminen sivuuttaa tรคmรคn varoituksen ja jatkaa .PARTIAL vรคliaikaistiedoston lataamista, mikรค todennรคkรถisesti antaa sinulle vioittunutta dataa.", - - "ft_paste": "liitรค {0} kohdetta$NPikanรคppรคin: ctrl-V", - "fr_eperm": 'ei voida nimetรค uudelleen:\nsinulla ei ole โ€œmoveโ€-oikeutta tรคssรค hakemistossa', - "fd_eperm": 'ei voida poistaa:\nsinulla ei ole โ€œdeleteโ€ oikeutta tรคssรค hakemistossa', - "fc_eperm": 'ei voida leikata:\nsinulla ei ole โ€œmoveโ€ oikeutta tรคssรค hakemistossa', - "fp_eperm": 'ei voida liittรครค:\nsinulla ei ole โ€œwriteโ€ oikeutta tรคssรค hakemistossa', - "fr_emore": "valitse vรคhintรครคn yksi kohde uudelleennimettรคvรคksi", - "fd_emore": "valitse vรคhintรครคn yksi kohde poistettavaksi", - "fc_emore": "valitse vรคhintรครคn yksi kohde leikattavaksi", - "fcp_emore": "valitse vรคhintรครคn yksi kohde kopioitavaksi leikepรถydรคlle", - - "fs_sc": "jaa hakemisto jossa olet", - "fs_ss": "jaa valitut tiedostot", - "fs_just1d": "et voi valita useampaa kuin yhtรค,\ntai sekoittaa tiedostoja ja hakemistoja yhdessรค valinnassa", - "fs_abrt": "โŒ keskeytรค", - "fs_rand": "๐ŸŽฒ joku.nimi", - "fs_go": "โœ… luo share", - "fs_name": "nimi", - "fs_src": "lรคhde", - "fs_pwd": "salasana", - "fs_exp": "vanheneminen", - "fs_tmin": "min", - "fs_thrs": "tuntia", - "fs_tdays": "pรคivรครค", - "fs_never": "ikuinen", - "fs_pname": "valinnainen linkin nimi; on satunnainen jos tyhjรค", - "fs_tsrc": "jaettava tiedosto tai hakemisto", - "fs_ppwd": "valinnainen salasana", - "fs_w8": "luodaan sharea...", - "fs_ok": "paina Enter/OK lisรคtรคksesi leikepรถydรคlle\npaina ESC/Peruuta sulkeaksesi", - - "frt_dec": "saattaa korjata joitakin rikkinรคisiรค tiedostonimiรค\">url-decode", - "frt_rst": "palauta muokatut tiedostonimet takaisin alkuperรคisiksi\">โ†บ palauta", - "frt_abrt": "keskeytรค ja sulje tรคmรค ikkuna\">โŒ peruuta", - "frb_apply": "UUDELLEENNIMEร„", - "fr_adv": "erรค / liitรคnnรคistiedot / kaava uudelleennimeรคminen\">lisรคasetukset", - "fr_case": "isot ja pienet kirjaimet erottava regex\">kirjainkoko", - "fr_win": "windows-yhteensopivat nimet; korvaa <>:"\\|?* japanilaisilla leveillรค merkeillรค\">win", - "fr_slash": "korvaa / merkillรค joka ei aiheuta uusien hakemistoiden luomista\">ei /", - "fr_re": "regex hakukuvio jota kรคytetรครคn alkuperรคisiin tiedostonimiin; kaappausryhmiin voi viitata alla olevassa muotoilukentรคssรค kuten <code>(1)</code> ja <code>(2)</code> ja niin edelleen", - "fr_fmt": "foobar2000 innoittama:$N<code>(title)</code> korvataan kappaleen nimellรค,$N<code>[(artist) - ](title)</code> sivuuttaa [tรคmรคn] osan jos artisti on tyhjรค$N<code>$lpad((tn),2,0)</code> ", - "fr_pdel": "poista", - "fr_pnew": "tallenna nimellรค", - "fr_pname": "anna nimi uudelle esiasetuksellesi", - "fr_aborted": "keskeytetty", - "fr_lold": "vanha nimi", - "fr_lnew": "uusi nimi", - "fr_tags": "valittujen tiedostojen tagit (vain luku, viitetarkoituksiin):", - "fr_busy": "nimetรครคn uudelleen {0} kohdetta...\n\n{1}", - "fr_efail": "uudelleennimeรคminen epรคonnistui:\n", - "fr_nchg": "{0} uusista nimistรค muutettiin win ja/tai ei / vuoksi\n\nJatketaanko nรคillรค muutetuilla uusilla nimillรค?", - - "fd_ok": "poisto OK", - "fd_err": "poisto epรคonnistui:\n", - "fd_none": "mitรครคn ei poistettu; ehkรค palvelimen asetukset estivรคt (xbd)?", - "fd_busy": "poistetaan {0} kohdetta...\n\n{1}", - "fd_warn1": "POISTA nรคmรค {0} kohdetta?", - "fd_warn2": "Viimeinen varoitus! Haluatko varmasti poistaa?", - - "fc_ok": "siirettiin {0} kohdetta leikepรถydรคlle", - "fc_warn": 'siirettiin {0} kohdetta leikepรถydรคlle\n\nmutta: vain tรคmรค selain-vรคlilehti voi liittรครค ne\n(koska valinta on niin valtavan suuri)', - - "fcc_ok": "kopioitiin {0} kohdetta leikepรถydรคlle", - "fcc_warn": 'kopioitiin {0} kohdetta leikepรถydรคlle\n\nmutta: vain tรคmรค selain-vรคlilehti voi liittรครค ne\n(koska valinta on niin valtavan suuri)', - - "fp_apply": "kรคytรค nรคitรค nimiรค", - "fp_ecut": "leikkaa tai kopioi ensin joitakin tiedostoja / hakemistoja liitettรคvรคksi / siirrettรคvรคksi\n\nhuom: voit leikata / liittรครค eri selain-vรคlilehtien vรคlillรค", - "fp_ename": "{0} kohdetta ei voida siirtรครค tรคnne koska nimet ovat jo kรคytรถssรค. Anna niille uudet nimet alla jatkaaksesi, tai tyhjennรค nimi ohittaaksesi ne:", - "fcp_ename": "{0} kohdetta ei voida kopioida tรคnne koska nimet ovat jo kรคytรถssรค. Anna niille uudet nimet alla jatkaaksesi, tai tyhjennรค nimi ohittaaksesi ne:", - "fp_emore": "tiedostonimien tรถrmรคyksiรค on vielรค korjaamatta", - "fp_ok": "siirto OK", - "fcp_ok": "kopiointi OK", - "fp_busy": "siirretรครคn {0} kohdetta...\n\n{1}", - "fcp_busy": "kopioidaan {0} kohdetta...\n\n{1}", - "fp_abrt": "keskeytetรครคn...", //m - "fp_err": "siirto epรคonnistui:\n", - "fcp_err": "kopiointi epรคonnistui:\n", - "fp_confirm": "siirrรค nรคmรค {0} kohdetta tรคnne?", - "fcp_confirm": "kopioi nรคmรค {0} kohdetta tรคnne?", - "fp_etab": 'leikepรถydรคn lukeminen toisesta selain-vรคlilehdestรค epรคonnistui', - "fp_name": "ladataan tiedostoa laitteeltasi. Anna sille nimi:", - "fp_both_m": '
    valitse mitรค liittรครค
    Enter = Siirrรค {0} tiedostoa kohteesta ยซ{1}ยป\nESC = Lataa {2} tiedostoa laitteeltasi', - "fcp_both_m": '
    valitse mitรค liittรครค
    Enter = Kopioi {0} tiedostoa kohteesta ยซ{1}ยป\nESC = Lataa {2} tiedostoa laitteeltasi', - "fp_both_b": 'SiirrรคLรคhetรค', - "fcp_both_b": 'KopioiLรคhetรค', - - "mk_noname": "kirjoita nimi vasemmalla olevaan tekstikenttรครคn ennen kuin teet tuon :p", - - "tv_load": "Ladataan tekstidokumenttia:\n\n{0}\n\n{1}% ({2} / {3} Mt ladattu)", - "tv_xe1": "tekstitiedoston lataaminen epรคonnistui:\n\nvirhe ", - "tv_xe2": "404, tiedostoa ei lรถydy", - "tv_lst": "tekstitiedostojen lista hakemistossa", - "tvt_close": "palaa hakemistonรคkymรครคn$NPikanรคppรคin: M (tai Esc)\">โŒ sulje", - "tvt_dl": "lataa tรคmรค tiedosto$NPikanรคppรคin: Y\">๐Ÿ’พ lataa", - "tvt_prev": "nรคytรค edellinen dokumentti$NPikanรคppรคin: i\">โฌ† edell", - "tvt_next": "nรคytรค seuraava dokumentti$NPikanรคppรคin: K\">โฌ‡ seur", - "tvt_sel": "valitse tiedosto   ( leikkausta / kopiointia / poistoa / ... varten )$NPikanรคppรคin: S\">val", - "tvt_edit": "avaa tiedosto tekstieditorissa$NPikanรคppรคin: E\">โœ๏ธ muokkaa", - "tvt_tail": "seuraa tiedoston muutoksia; nรคytรค uudet rivit reaaliaikaisesti\">๐Ÿ“ก seuraa", - "tvt_wrap": "rivitys\">โ†ต", - "tvt_atail": "lukitse vieritys sivun alaosaan\">โš“", - "tvt_ctail": "dekoodaa terminaalin vรคrit (ansi escape koodit)\">๐ŸŒˆ", - "tvt_ntail": "vieritysbufferin raja (kuinka monta tavua tekstiรค pidetรครคn ladattuna)", - - "m3u_add1": "kappale lisรคtty m3u soittolistaan", - "m3u_addn": "{0} kappaletta lisรคtty m3u soittolistaan", - "m3u_clip": "m3u soittolista nyt kopioitu leikepรถydรคlle\n\nsinun tulisi luoda uusi tekstitiedosto nimeltรค jotain.m3u ja liittรครค soittolista siihen dokumenttiin; tรคmรค tekee siitรค soitettavan", - - "gt_vau": "รคlรค nรคytรค videoita, toista vain รครคni\">๐ŸŽง", - "gt_msel": "aktivoi tiedostonvalintatila; ctrl-klikkaa ohittaaksesi valitsemisen vรคliaikaisesti$N$N<em>tuplaklikkaa tiedostoa / hakemistoa avataksesi sen</em>$N$NPikanรคppรคin: S\">valitsin", - "gt_crop": "rajaa pienoiskuvat keskeltรค\">rajaa", - "gt_3x": "korkearesoluutioiset pienoiskuvat\">3x", - "gt_zoom": "zoomaa", - "gt_chop": "pilko", - "gt_sort": "jรคrjestรค", - "gt_name": "nimi", - "gt_sz": "koko", - "gt_ts": "pรคivรคys", - "gt_ext": "tyyppi", - "gt_c1": "rajaa tiedostonimiรค enemmรคn (nรคytรค vรคhemmรคn)", - "gt_c2": "rajaa tiedostonimiรค vรคhemmรคn (nรคytรค enemmรคn)", - - "sm_w8": "haetaan...", - "sm_prev": "alla olevat hakutulokset ovat edellisestรค hausta:\n ", - "sl_close": "sulje hakutulokset", - "sl_hits": "nรคytetรครคn {0} osumaa", - "sl_moar": "lataa lisรครค", - - "s_sz": "koko", - "s_dt": "pรคivรคys", - "s_rd": "polku", - "s_fn": "nimi", - "s_ta": "tagit", - "s_ua": "ylรถs@", - "s_ad": "edist.", - "s_s1": "minimi Mt", - "s_s2": "maksimi Mt", - "s_d1": "min. iso8601", - "s_d2": "maks. iso8601", - "s_u1": "ladattu jรคlkeen", - "s_u2": "ja/tai ennen", - "s_r1": "polku sisรคltรครค   (vรคlilyรถnnillรค erotetuttuina)", - "s_f1": "nimi sisรคltรครค   (negatoi kรคyttรคmรคllรค -nope)", - "s_t1": "tagit sisรคltรครค   (^=alku, loppu=$)", - "s_a1": "tietyt metadatan ominaisuudet", - - "md_eshow": "ei voida renderoida ", - "md_off": "[๐Ÿ“œreadme] poistettu kรคytรถstรค [โš™๏ธ] -- dokumentti piilotettu", - - "badreply": "Palvelimen vastauksen jรคsentรคminen epรคonnistui.", - - "xhr403": "403: Pรครคsy kielletty\n\nkokeile painaa F5, ehkรค sinut kirjattiin ulos", - "xhr0": "tuntematon (todennรคkรถisesti yhteys palvelimeen katosi, tai palvelin on pois pรครคltรค)", - "cf_ok": "sori siitรค -- DD" + wah + "oS suojaus aktivoitui\n\nasioiden pitรคisi jatkua noin 30 sekunnissa\n\njos mitรครคn ei tapahdu, paina F5 ladataksesi sivun uudelleen", - "tl_xe1": "alihakemistojen listaaminen epรคonnistui:\n\nvirhe ", - "tl_xe2": "404: hakemistoa ei lรถydy", - "fl_xe1": "hakemiston tiedostojen listaaminen epรคonnistui:\n\nvirhe ", - "fl_xe2": "404: hakemistoa ei lรถydy", - "fd_xe1": "alihakemiston luominen epรคonnistui:\n\nvirhe ", - "fd_xe2": "404: Ylรคhakemistoa ei lรถydy", - "fsm_xe1": "viestin lรคhettรคminen epรคonnistui:\n\nvirhe ", - "fsm_xe2": "404: Ylรคhakemistoa ei lรถydy", - "fu_xe1": "unpost-listan lataaminen palvelimelta epรคonnistui:\n\nvirhe ", - "fu_xe2": "404: Tiedostoa ei lรถydy??", - - "fz_tar": "pakkaamaton gnu-tar tiedosto (linux / mac)", - "fz_pax": "pakkaamaton pax-formaatin tar (hitaampi)", - "fz_targz": "gnu-tar gzip tason 3 pakkauksella$N$Nyleensรค hyvin hidas, $Nkรคytรค pakkamatonta tar:ia tรคmรคn sijasta", - "fz_tarxz": "gnu-tar xz tason 1 pakkauksella$N$Nyleensรค hyvin hidas, $Nkรคytรค pakkamatonta tar:ia tรคmรคn sijasta", - "fz_zip8": "zip utf8-tiedostonimillรค (suattaapi olla epรคvakaa windows 7:ssa ja vanhemmissa)", - "fz_zipd": "zip perinteisillรค cp437 tiedostonimillรค esihistoriallisille ohjelmistoille", - "fz_zipc": "cp437, jossa crc32 laskettu aikaisin,$NMS-DOS PKZIP v2.04g:lle (lokakuu 1993)$N(kestรครค kauemmin kรคsitellรค ennen latauksen alkua)", - - "un_m1": "voit poistaa tuoreet tai keskeyttรครค keskenerรคiset latauksesi alta", - "un_upd": "pรคivitรค", - "un_m4": "tai jakaa alla nรคkyvรคt tiedostot:", - "un_ulist": "nรคytรค", - "un_ucopy": "kopioi", - "un_flt": "valinnainen suodatin:  URL:n tรคytyy sisรคltรครค", - "un_fclr": "tyhjennรค suodatin", - "un_derr": 'unpost-poisto epรคonnistui:\n', - "un_f5": 'jotain hajosi, kokeile pรคivitystรค tai paina F5', - "un_uf5": "pahoittelen mutta sinun tรคytyy pรคivittรครค sivu (esimerkiksi painamalla F5 tai CTRL-R) ennen kuin tรคmรค lataus voidaan keskeyttรครค", - "un_nou": 'huom! palvelin liian kiireinen nรคyttรครคkseen keskenerรคiset lataukset; klikkaa "pรคivitรค" linkkiรค hetken kuluttua', - "un_noc": 'huom! tรคysin ladattujen tiedostojen unpost ei ole kรคytรถssรค/sallittu palvelimen asetuksissa', - "un_max": "nรคytetรครคn ensimmรคiset 2000 tiedostoa (kรคytรค suodatinta)", - "un_avail": "{0} viimeaikaista latausta voidaan poistaa
    {1} keskenerรคistรค voidaan keskeyttรครค", - "un_m2": "jรคrjestetty latausajan mukaan; viimeisimmรคt ensin:", - "un_no1": "hupsis! yksikรครคn lataus ei ole riittรคvรคn tuore", - "un_no2": "hupsis! yksikรครคn tuota suodatinta vastaava lataus ei ole riittรคvรคn tuore", - "un_next": "poista seuraavat {0} tiedostoa alla", - "un_abrt": "keskeytรค", - "un_del": "poista", - "un_m3": "ladataan viimeaikana lรคhettรคmiรคsi tiedostoja...", - "un_busy": "poistetaan {0} tiedostoa...", - "un_clip": "{0} linkkiรค kopioitu leikepรถydรคlle", - - "u_https1": "sinun kannattaisi", - "u_https2": "vaihtaa https:รครคn", - "u_https3": "paremman suorituskyvyn vuoksi", - "u_ancient": 'selaimesi on ns. vaikuttavan ikivanha -- kannattais varmaan kรคyttรครค bup:ia tรคn sijaan', - "u_nowork": "tarvitaan firefox 53+ tai chrome 57+ tai iOS 11+", - "tail_2old": "tarvitaan firefox 105+ tai chrome 71+ tai iOS 14.5+", - "u_nodrop": 'selaimesi on liian vanha vedรค-ja-pudota lataamiseen', - "u_notdir": "tuo ei ole hakemisto!\n\nselaimesi on liian vanha,\nkokeile sen sijaan 'vedรค-pudota'-tekniikkaa.", - "u_uri": "'vedรค-pudottaaksesi' kuvia muista selainikkunoista,\npudota se isoon latausnapppiin", - "u_enpot": 'vaihda peruna UI:hin (voi parantaa latausnopeutta)', - "u_depot": 'vaihda ylelliseen UI:hin (voi vรคhentรครค latausnopeutta)', - "u_gotpot": 'vaihdetaan peruna UI:hin paremman latausnopeuden vuoksi,\n\ntee miten lystรครคt, jos ei kelpaa!', - "u_pott": "

    tiedostot:   {0} valmis,   {1} epรคonnistui,   {2} kiireinen,   {3} jonossa

    ", - "u_ever": "tรคmรค on peruslatain; up2k tarvitsee vรคhintรครคn
    chrome 21 // firefox 13 // edge 12 // opera 12 // safari 5.1", - "u_su2k": 'peruslatain; up2k on parempi', - "u_uput": 'optimoi latausnopeus (รคlรค laske tarkistussummia)', - "u_ewrite": 'sinulla ei ole move-oikeutta tรคhรคn hakemistoon', - "u_eread": 'sinulla ei ole read-oikeutta tรคhรคn hakemistoon', - "u_enoi": 'tiedostohaku ei ole kรคytรถssรค palvelimen asetuksissa', - "u_enoow": "ylikirjoitus ei toimi tรครคllรค; tarvitaan โ€œDeleteโ€-oikeus", - "u_badf": 'Nรคmรค {0} tiedostoa ({1} yhteensรค) ohitettiin, mahdollisesti tiedostojรคrjestelmรคn oikeuksien vuoksi:\n\n', - "u_blankf": 'Nรคmรค {0} tiedostoa ({1} yhteensรค) ovat tyhjiรค; ladataanko ne silti?\n\n', - "u_applef": 'Nรคmรค {0} tiedostoa ({1} yhteensรค) ovat todennรคkรถisesti ei-toivottuja;\nPaina OK/Enter OHITTAAKSESI seuraavat tiedostot,\nPaina Peruuta/ESC jos ET halua sulkea pois, ja LATAA nekin:\n\n', - "u_just1": '\nEhkรค toimii paremmin jos valitset vain yhden tiedoston', - "u_ff_many": "jos kรคytรคt Linux / MacOS / Android, niin tรคmรค mรครคrรค tiedostoja saattaa kaataa Firefoxin!\njos niin kรคy, kokeile uudelleen (tai kรคytรค Chromea).", - "u_up_life": "Tรคmรค lataus poistetaan palvelimelta\n{0} sen valmistumisen jรคlkeen", - "u_asku": 'lataa nรคmรค {0} tiedostoa kohteeseen {1}', - "u_unpt": "voit perua / poistaa tรคmรคn latauksen kรคyttรคmรคllรค vasemmalla ylhรครคllรค olevaa ๐Ÿงฏ", - "u_bigtab": 'nรคytetรครคn {0} tiedostoa\n\ntรคmรค voi kaataa selaimesi, oletko varma?', - "u_scan": 'Skannataan tiedostoja...', - "u_dirstuck": 'hakemistoiteraattori jumittui yrittรคessรครคn kรคyttรครค seuraavia {0} kohdetta; ohitetaan:', - "u_etadone": 'Valmis ({0}, {1} tiedostoa)', - "u_etaprep": '(valmistellaan latausta)', - "u_hashdone": 'hajautus valmis', - "u_hashing": 'hajautus', - "u_hs": 'kรคtellรครคn...', - "u_started": "tiedostoja ladataan nyt; tsekkaa [๐Ÿš€]", - "u_dupdefer": "duplikaatti; kรคsitellรครคn kaikkien muiden tiedostojen jรคlkeen", - "u_actx": "klikkaa tรคtรค tekstiรค estรครคksesi suorituskyvyn
    heikkenemisen vaihtaessasi muihin ikkunoihin/vรคlilehtiin", - "u_fixed": "OK!  Hommat hoidossa ๐Ÿ‘", - "u_cuerr": "chunk {0} / {1} lataus epรคonnistui;\ntuskin haittaa, jatketaan\n\ntiedosto: {2}", - "u_cuerr2": "palvelin hylkรคsi latauksen (chunk {0} / {1});\nyritetรครคn myรถhemmin uudelleen\n\ntiedosto: {2}\n\nvirhe ", - "u_ehstmp": "yritetรครคn uudelleen; katso oikealta alhaalta", - "u_ehsfin": "palvelin hylkรคsi pyynnรถn viimeistellรค lataus; yritetรครคn uudelleen...", - "u_ehssrch": "palvelin hylkรคsi pyynnรถn suorittaa haku; yritetรครคn uudelleen...", - "u_ehsinit": "palvelin hylkรคsi pyynnรถn aloittaa lataus; yritetรครคn uudelleen...", - "u_eneths": "verkkovirhe latauksen kรคttelyssรค; yritetรครคn uudelleen...", - "u_enethd": "verkkovirhe kohteen olemassaolon testauksessa; yritetรครคn uudelleen...", - "u_cbusy": "odotetaan palvelimen luottavan meihin taas verkko-ongelman jรคlkeen...", - "u_ehsdf": "palvelimen levytila loppui!\n\nyritetรครคn jatkuvasti, siinรค tapauksessa ettรค joku\nvapauttaa tarpeeksi tilaa jatkamiseen", - "u_emtleak1": "nรคyttรครค siltรค ettรค selaimessasi saattaa olla muistivuoto;\nole hyvรค ja", - "u_emtleak2": ' vaihda https:รครคn (suositeltu) tai ', - "u_emtleak3": ' ', - "u_emtleakc": 'kokeile seuraavaa:\n
    • paina F5 pรคivittรครคksesi sivun
    • sitten poista kรคytรถstรค  mt  nappi  โš™๏ธ asetuksissa
    • ja kokeile latausta uudelleen
    Lataukset ovat hieman hitaampia, minkรคs teet.\nSori siitรค!\n\nPS: chrome v107 sisรคltรครค bugfixin tรคtรค varten', - "u_emtleakf": 'kokeile seuraavaa:\n
    • paina F5 pรคivittรครคksesi sivun
    • sitten ota kรคyttรถรถn ๐Ÿฅ” (peruna) lataus UI:ssa
    • ja kokeile latausta uudelleen
    \nPS: firefox toivottavasti saa kerรคttyรค itsensรค kasaan jossain vaiheessa', - "u_s404": "ei lรถydy palvelimelta", - "u_expl": "selitรค", - "u_maxconn": "useimmat selaimet rajoittavat tรคmรคn 6:een, mutta firefox antaa nostaa sitรค connections-per-server asetuksella about:config:issa", - "u_tu": '

    VAROITUS: turbo pรครคllรค,  asiakasohjelma ei vรคlttรคmรคttรค huomaa jatkaa keskenerรคisiรค latauksia; katso turbo-napin vihje

    ', - "u_ts": '

    VAROITUS: turbo pรครคllรค,  hakutulokset voivat olla vรครคriรค; katso turbo-napin vihje

    ', - "u_turbo_c": "turbo on poistettu kรคytรถstรค palvelimen asetuksissa", - "u_turbo_g": "poistetaan turbo kรคytรถstรค koska sinulla ei ole\nhakemistolistausoikeuksia tรคssรค asemassa", - "u_life_cfg": 'automaattinen poisto min kuluttua (tai tuntia)', - "u_life_est": 'lataus poistetaan ---', - "u_life_max": 'tรคmรค hakemisto pakottaa\nmaksimi elinajan {0}', - "u_unp_ok": 'unpost on sallittu {0}', - "u_unp_ng": 'unpost EI ole sallittu', - "ue_ro": 'sinulla on vain read-oikeus tรคhรคn hakemistoon\n\n', - "ue_nl": 'et ole tรคllรค hetkellรค kirjautunut sisรครคn', - "ue_la": 'olet tรคllรค hetkellรค kirjautunut sisรครคn nimellรค "{0}"', - "ue_sr": 'olet tรคllรค hetkellรค tiedostohaku-tilassa\n\nvaihda lataus-tilaan klikkaamalla suurennuslasia ๐Ÿ”Ž (suuren HAKU napin vieressรค), ja yritรค latausta uudelleen\n\npahoittelen', - "ue_ta": 'yritรค latausta uudelleen, sen pitรคisi toimia nyt', - "ue_ab": "tรคtรค tiedostoa ladataan jo toiseen hakemistoon, ja se lataus tรคytyy suorittaa loppuun ennen kuin tiedostoa voidaan ladata muualle.\n\nVoit keskeyttรครค ja unohtaa alkuperรคisen latauksen kรคyttรคmรคllรค vasemmalla ylhรครคllรค olevaa ๐Ÿงฏ", - "ur_1uo": "OK: Tiedosto ladattu onnistuneesti", - "ur_auo": "OK: Kaikki {0} tiedostoa ladattu onnistuneesti", - "ur_1so": "OK: Tiedosto lรถytyi palvelimelta", - "ur_aso": "OK: Kaikki {0} tiedostoa lรถytyi palvelimelta", - "ur_1un": "Lataus epรคonnistui, pahoittelen", - "ur_aun": "Kaikki {0} latausta epรคonnistui, pahoittelen", - "ur_1sn": "Tiedostoa EI lรถytynyt palvelimelta", - "ur_asn": "{0} tiedostoa EI lรถytynyt palvelimelta", - "ur_um": "Valmis;\n{0} latausta OK,\n{1} latausta epรคonnistui, pahoittelen", - "ur_sm": "Valmis;\n{0} tiedostoa lรถytyi palvelimelta,\n{1} tiedostoa EI lรถytynyt palvelimelta", - - "lang_set": "ladataanko sivu uudestaan kielen vaihtamiseksi?", - }, - "fra": { - "tt": "franรงais", - - "cols": { - "c": "bouton d'action", - "dur": "durรฉe", - "q": "qualitรฉ / dรฉbit binaire", - "Ac": "codec audio", - "Vc": "codec vidรฉo", - "Fmt": "format / conteneur", - "Ahash": "somme de contrรดle audio", - "Vhash": "somme de contrรดle vidรฉo", - "Res": "rรฉsolution", - "T": "type de fichier", - "aq": "qualitรฉ audio / dรฉbit binaire", - "vq": "qualitรฉ vidรฉo / dรฉbit binaire", - "pixfmt": "sous-รฉchantillonnage / structure de pixel", - "resw": "rรฉsolution horizontale", - "resh": "rรฉsolution verticale", - "chs": "canaux audio", - "hz": "frรฉquence" - }, - - "hks": [ - [ - "misc", - ["ร‰chap", "ferme divers menus"], - - "gestionaire de fichiers", - ["G", "activer vue en liste / vue en grille"], - ["T", "activer les miniatures / icรดnes"], - ["โ‡ง A/D", "taille des miniatures"], - ["ctrl-K", "suprimer la sรฉlection"], - ["ctrl-X", "couper la sรฉlection au presse-papier"], - ["ctrl-C", "copier la sรฉlection au presse-papier"], - ["ctrl-V", "coller (dรฉplacer/copier) ici"], - ["Y", "tรฉlรฉcharger la sรฉlection"], - ["F2", "renomer la sรฉlection"], - - "file-list-sel", - ["Espace", "activer la sรฉlection de fichiers"], - ["โ†‘/โ†“", "dรฉplacer le selecteur"], - ["ctrl โ†‘/โ†“", "dรฉplacer le curseur et la zone d'affichage"], - ["โ‡ง โ†‘/โ†“", "sรฉlectioner le fichier prรฉcรฉdent/suivant"], - ["ctrl-A", "sรฉlectionner tout les fichiers / dossiers"], - ], [ - "navigation", - ["B", "basculer la vue en fil d'Ariane / panneau de navigation"], - ["I/K", "dossier prรฉcรฉdent/suivant"], - ["M", "dossier parent (ou rรฉduire le dossier actuel)"], - ["V", "activer les dossiers / fichiers texte dans le volet de navigation"], - ["A/D", "taille du volet de navigation"], - ], [ - "lecteur-audio", - ["J/L", "chanson prรฉcรฉdente/suivante"], - ["U/O", "sauter 10s en arriรจre/avant"], - ["0..9", "sauter ร  0%..90%"], - ["P", "lecture/pause (dรฉmarre รฉgalement la lecture)"], - ["S", "sรฉlectionner la chanson en cours"], - ["Y", "tรฉlรฉcharger le morceau"], - ], [ - "visionneuse d'image", - ["J/L, โ†/โ†’", "image prรฉcรฉdente/suivante"], - ["Dรฉbut/Fin, โญฆ/Fin", "premiรจre/derniรจre image"], - ["F", "plein รฉcran"], - ["R", "rotation horaire"], - ["โ‡ง R", "rotation antihoraire"], - ["S", "sรฉlectionner l'image"], - ["Y", "tรฉlรฉcharger l'image"], - ], [ - "lecteur vidรฉo", - ["U/O", "sauter 10s en arriรจre/avant"], - ["P/K/Espace", "lecture/pause"], - ["C", "continuer de lire la suivante"], - ["V", "lire en boucle"], - ["M", "couper le son"], - ["[ and ]", "dรฉfinir l'intervalle de boucle"], - ], [ - "visionneuse de texte", - ["I/K", "fichier prรฉcรฉdent/suivant"], - ["M", "fermer le fichier texte"], - ["E", "modifier le fichier texte"], - ["S", "sรฉlectioner le fichier (pour le couper/copier/renommer)"], - ] - ], - - "m_ok": "OK", - "m_ng": "Annuler", - - "enable": "Activer", - "danger": "DANGER", - "clipped": "copiรฉ dans le presse-papier", - - "ht_s1": "seconde", - "ht_s2": "secondes", - "ht_m1": "minute", - "ht_m2": "minutes", - "ht_h1": "heure", - "ht_h2": "heures", - "ht_d1": "jour", - "ht_d2": "jours", - "ht_and": " et ", - - "goh": "panneau-de-commande", - "gop": 'รฉlรฉment "frรจre" prรฉcรฉdent">prรฉcรฉdent', - "gou": 'dossier parent">haut', - "gon": 'dossier suivant">suivant', - "logout": "Dรฉconnexion ", - "login": "Se connecter", //m - "access": " accรจs", - "ot_close": "fermer le sous-menu", - "ot_search": "chercher des fichiers par leurs attributs, chemin / nom, tag musicaux, ou nimporte quelle combinaison de ces options$N$N<code>foo bar</code> = doit contenir ร  la fois ยซfooยป et ยซbarยป,$N<code>foo -bar</code> = doit contenir ยซfooยป mais pas ยซbarยป,$N<code>^yana .opus$</code> = commence par ยซyanaยป et est un fichier ยซopusยป$N<code>"try unite"</code> = contient exactement ยซtry uniteยป$N$Nle format de date est iso-8601, comme$N<code>2009-12-31</code> ou <code>2020-09-12 23:30:00</code>", - "ot_unpost": "unpost: supprimer vos tรฉlรฉchargements rรฉcents, ou annuler ceux en cours", - "ot_bup": "bup: tรฉlรฉverseur de base, prend mรชme en charge netscape 4.0", - "ot_mkdir": "mkdir: crรฉer un nouveau rรฉpertoire", - "ot_md": "new-md: crรฉer un nouveau document markdown", - "ot_msg": "msg: envoyer un message au journal du serveur", - "ot_mp": "options du lecteur multimedia", - "ot_cfg": "options de configuration", - "ot_u2i": 'up2k : tรฉlรฉverser des fichiers (si vous avez un accรจs en รฉcriture) ou basculer en mode recherche pour voir s\'ils existent quelque part sur le serveur$N$Nles tรฉlรฉversements peuvent รชtre repris, ils sont multithreadรฉ, et les horodatages des fichiers sont prรฉservรฉs, mais cela utilise plus de CPU que [๐ŸŽˆ]  (le tรฉlรฉverseur de base)

    pendant les tรฉlรฉversements, cette icรดne devient un indicateur de progression!', - "ot_u2w": 'up2k : tรฉlรฉverser des fichiers avec prise en charge de la reprise (fermez votre navigateur et dรฉposez les mรชmes fichiers plus tard)$N$multithreadรฉ, et les horodatages des fichiers sont prรฉservรฉs, mais cela utilise plus de CPU que [๐ŸŽˆ]  (le tรฉlรฉverseur de base)

    pendant les tรฉlรฉversements, cette icรดne devient un indicateur de progression!', - "ot_noie": 'Utilisez Chrome / Firefox / Edge', - - "ab_mkdir": "crรฉer un nouveau rรฉpertoire", - "ab_mkdoc": "faire un nouveau document markdown", - "ab_msg": "envoyer un message au journal du serveur", - - "ay_path": "passer aux dossiers", - "ay_files": "passer aux fichiers", - - "wt_ren": "renommer les รฉlรฉments sรฉlectionnรฉs$NHotkey: F2", - "wt_del": "supprimer les รฉlรฉments sรฉlectionnรฉs$NHotkey: ctrl-K", - "wt_cut": "couper les รฉlรฉments sรฉlectionnรฉs <small>(puis coller ailleurs)</small>$NHotkey: ctrl-X", - "wt_cpy": "copier les รฉlรฉments sรฉlectionnรฉs dans le presse-papiers$N(pour les coller ailleurs)$NHotkey: ctrl-C", - "wt_pst": "coller une sรฉlection prรฉcรฉdemment coupรฉe / copiรฉe$NHotkey: ctrl-V", - "wt_selall": "sรฉlectionner tous les fichiers$NHotkey: ctrl-A (lorsque le fichier est sรฉlectionnรฉ)", - "wt_selinv": "inverser la sรฉlection", - "wt_zip1": "tรฉlรฉcharger ce dossier en tant qu'archive", - "wt_selzip": "tรฉlรฉcharger la sรฉlection en tant qu'archive", - "wt_seldl": "tรฉlรฉcharger la sรฉlection en tant que fichiers sรฉparรฉs$NHotkey: Y", - "wt_npirc": "copier les informations de la musique au format irc", - "wt_nptxt": "copier les informations de la musique en texte brut", - "wt_m3ua": "ajouter ร  la playlist m3u (cliquez sur ๐Ÿ“ปcopier plus tard)", - "wt_m3uc": "copier la playlist m3u dans le presse-papiers", - "wt_grid": "basculer entre la vue en grille / liste$NHotkey: G", - "wt_prev": "musique prรฉcรฉdente$NHotkey: J", - "wt_play": "lecture / pause$NHotkey: P", - "wt_next": "musique suivante$NHotkey: L", - - "ul_par": "tรฉlรฉversements parallรจles:", - "ut_rand": "attribution de noms de fichiers alรฉatoires", - "ut_u2ts": "copier l'horodatage de derniรจre modification$Nde votre systรจme de fichiers vers le serveur\">๐Ÿ“…", - "ut_ow": "รฉcraser les fichiers existants sur le serveur?$N๐Ÿ›ก๏ธ: jamais (gรฉnรฉrera un nouveau nom de fichier ร  la place)$N๐Ÿ•’: รฉcraser si le fichier sur le serveur est plus ancien que le vรดtre$Nโ™ป๏ธ: toujours รฉcraser si les fichiers sont diffรฉrents", - "ut_mt": "continuer ร  calculer la somme de contrรดle d'autres fichiers pendant le tรฉlรฉversement$N$Npeut-รชtre dรฉsactiver si votre CPU ou HDD est la cause de perte de performances", - "ut_ask": 'demander confirmation avant le dรฉbut du tรฉlรฉversement">๐Ÿ’ญ', - "ut_pot": "amรฉliorer la vitesse de tรฉlรฉversement sur les appareils lents$Nen simplifiant l'interface utilisateur", - "ut_srch": "ne pas rรฉellement tรฉlรฉverser, mais vรฉrifier si les fichiers existent dรฉjร $N sur le serveur (scannera tous les dossiers que vous pouvez lire)", - "ut_par": "mettre en pause les tรฉlรฉversements en le rรฉglant sur 0$N$Naugmenter si votre connexion est lente / ร  forte latence$N$Nle garder ร  1 sur le LAN ou si le HDD du serveur est un goulot d'รฉtranglement", - "ul_btn": "dรฉposer des fichiers / dossiers
    ici (ou cliquez sur moi)", - "ul_btnu": "T ร‰ L ร‰ V E R S E R", - "ul_btns": "C H E R C H E R", - - "ul_hash": "somme de contrรดle", - "ul_send": "envoyer", - "ul_done": "terminรฉ", - "ul_idle1": "aucun tรฉlรฉversement n'est encore dans la file d'attente", - "ut_etah": "moyenne <em>hashing</em> vitesse, et temps estimรฉ jusqu'ร  la fin", - "ut_etau": "moyenne <em>upload</em> vitesse et temps estimรฉ jusqu'ร  la fin", - "ut_etat": "moyenne <em>total</em> vitesse et temps estimรฉ jusqu'ร  la fin", - - "uct_ok": "terminรฉ avec succรจs", - "uct_ng": "non rรฉussi : รฉchouรฉ / rejetรฉ / non trouvรฉ", - "uct_done": "terminรฉs et รฉchouรฉ combinรฉs", - "uct_bz": "hachage ou tรฉlรฉversement", - "uct_q": "inactif, en attente", - - "utl_name": "nom de fichier", - "utl_ulist": "liste", - "utl_ucopy": "copie", - "utl_links": "liens", - "utl_stat": "รฉtat", - "utl_prog": "progrรจs", - - // keep short: - "utl_404": "404", - "utl_err": "ERREUR", - "utl_oserr": "OS-ERREUR", - "utl_found": "trouvรฉ", - "utl_defer": "รฉtat", - "utl_yolo": "YOLO", - "utl_done": "terminรฉ", - - "ul_flagblk": "les fichiers ont รฉtรฉ ajoutรฉs ร  la file d'attente
    cependant, il y a un processus up2k actif dans un autre onglet du navigateur,
    en attente qu'il finisse d'abord", - "ul_btnlk": "la configuration du serveur a verrouillรฉ cette options dans cet รฉtat", - - "udt_up": "Tรฉlรฉverser", - "udt_srch": "Chercher", - "udt_drop": "dรฉposer ici", - - "u_nav_m": '
    aight, ques-que tu ร  ?
    Enter = Fichiers (un ou plus)\nESC = Un dossier (sous-dossiers inclus)', - "u_nav_b": 'FichiersUn dossier', - - "cl_opts": "options", - "cl_themes": "thรจme", - "cl_langs": "langue", - "cl_ziptype": "tรฉlรฉchargement de dossier", - "cl_uopts": "up2k", - "cl_favico": "favicon", - "cl_bigdir": "gros dossiers", - "cl_hsort": "#sort", - "cl_keytype": "notation des touches", - "cl_hiddenc": "colonnes masquรฉes", - "cl_hidec": "masquer", - "cl_reset": "rรฉinitialiser", - "cl_hpick": "cliquez sur les en-tรชtes de colonnes pour les masquer dans le tableau ci-dessous", - "cl_hcancel": "masquage des colonnes annulรฉ", - - "ct_grid": '็”ฐ grille', - "ct_ttips": 'โ—” โ—ก โ—”">โ„น๏ธ infobulles', - "ct_thumb": 'vue en grille, activer les icรดnes ou les miniatures$NHotkey: T">๐Ÿ–ผ๏ธ minia', - "ct_csel": 'utiliser CTRL et MAJ pour selectioner des fichiers en vue en grille">sel', - "ct_ihop": 'quand le visionneuse d\'image est fermรฉ, faire defiller vers le bas jusqu\'au dernier fichier">gโฎฏ', - "ct_dots": 'voir les fichiers cachรฉ (si le serveur le permet)">dotfiles', - "ct_qdel": 'ne demander qu\'une confirmation lors de la suppression de fichiers>qdel', - "ct_dir1st": 'trier les dossiers avant les fichiers">๐Ÿ“ first', - "ct_nsort": 'triage par numรฉrotation (pour les nom de fichiers qui sont numรฉrotรฉs)">nsort', - "ct_utc": 'voir tout les horodatage en format UTC">UTC', - "ct_readme": 'voir le fichier README.md dans le listage des dossiers">๐Ÿ“œ readme', - "ct_idxh": 'voir une version html (index.html) au-lieu du listage des dossiers normal">htm', - "ct_sbars": 'montrer la barre de defilement">โŸŠ', - - "cut_umod": "si un fichier existe dรฉjร  sur le server, mettre ร  jour l'horodatage de derniรจre modification du serveur pour qu'il corresponde ร  votre fichier local (nรฉcessite des autorisations d'รฉcriture et de suppression)\">re๐Ÿ“…", - - "cut_turbo": "le bouton yolo, vous ne voulez probablement PAS activer ceci:$N$Nutilisez ceci si vous tรฉlรฉchargez une grande quantitรฉ de fichiers et que vous devez redรฉmarrer pour une raison quelconque, et que vous souhaitez continuer le tรฉlรฉchargement dรจs que possible$N$Ncela remplace la vรฉrification de hachage par une simple "est-ce que cela a la mรชme taille de fichier sur le serveur?" donc si le contenu du fichier est diffรฉrent, il ne sera PAS tรฉlรฉchargรฉ$N$Nvous devriez dรฉsactiver cela lorsque le tรฉlรฉchargement est terminรฉ, puis "tรฉlรฉcharger" les mรชmes fichiers ร  nouveau pour laisser le client les vรฉrifier\">turbo", - - "cut_datechk": "n'a aucun effet ร  moins que le bouton turbo ne soit activรฉ$N$Nrรฉduit le facteur yolo d'un tout petit peu ; vรฉrifie si les horodatages des fichiers sur le serveur correspondent aux vรดtres$N$Ndevrait thรฉoriquement attraper la plupart des tรฉlรฉchargements inachevรฉs / corrompus, mais n'est pas un substitut ร  un passage de vรฉrification avec turbo dรฉsactivรฉ par la suite\">date-chk", - - "cut_u2sz": "taille (en MiB) de chaque morceau de tรฉlรฉversement; des grosse valeurs vont mieux passer si la distance entre le serveur et vous est trรฉs grande. Si vous avez une connection trรฉs instable, essayer de plus petites valeurs", - - "cut_flag": "s'assurer qu'un seul onglet est entrain de mettre un fichier en ligne a la fois $N -- les autres onglets doivent avoir cette option activรฉ aussi $N -- affecte seulement les onglets qui sont sur le mรชme domaine", - - "cut_az": "mettre en ligne les fichiers dans l'ordre alphabรฉtique, plutรดt que le plus petit fichier en premier$N$Nl'ordre alphabรฉtique peut rendre la lecture plus douce sur pour les yeux si quelque chose s'est mal passรฉ sur le serveur, mais cela rend le tรฉlรฉversement lรฉgรจrement plus lent sur fibre / LAN", - - "cut_nag": "recevoir une notification via l'OS quand un tรฉlรฉversement finit$N(seulement si le navigateur ou l'onglet n'est pas actif)", - "cut_sfx": "alerte audible quand le tรฉlรฉversement finit$N(seulement si le navigateur ou l'onglet n'est pas actif)", - - "cut_mt": "utiliser le calcul de somme de contrรดle multithreadรฉ pour accelerer le processus$N$Ncela utilise des web-workers et nรฉcessite$Nplus de RAM (jusqu'ร  512 MiB supplรฉmentaires)$N$NCela rend https 30% plus rapide, http 4.5x plus rapide\">mt", - - "cut_wasm": "utiliser wasm au lieu du hachage intรฉgrรฉ du navigateur; amรฉliore la vitesse sur les navigateurs basรฉs sur chrome mais augmente la charge CPU, et de nombreuses anciennes versions de chrome ont des bugs qui font que le navigateur consomme toute la RAM et plante si cela est activรฉ\">wasm", - - "cft_text": "text favicon (laisser vide et rafraรฎchir pour dรฉsactiver)", - "cft_fg": "couleur de premier plan", - "cft_bg": "couleur d'arriรจre-plan", - - "cdt_lim": "nombre maximum de fichiers ร  afficher dans un dossier", - "cdt_ask": "lorsque vous faites dรฉfiler vers le bas,$Nau lieu de charger plus de fichiers,$Ndemander quoi faire", - "cdt_hsort": "combien de rรจgles de tri (<code>,sorthref</code>) ร  inclure dans les media-URLs. Dรฉfinir cette valeur ร  0 ignorera รฉgalement les rรจgles de tri incluses dans les liens mรฉdia lorsque vous cliquez dessus.", - - "tt_entree": "afficher le panneau de navigation (arborescence des dossiers)$NHotkey: B", - "tt_detree": "afficher le fil dโ€™Ariane$NHotkey: B", - "tt_visdir": "faire dรฉfiler jusqu'au dossier sรฉlectionnรฉ", - "tt_ftree": "basculer l'arborescence des dossiers / fichiers texte$NHotkey: V", - "tt_pdock": "afficher les dossiers parents dans un panneau ancrรฉ en haut", - "tt_dynt": "croissance automatique ร  mesure que l'arborescence s'รฉtend", - "tt_wrap": "retour ร  la ligne", - "tt_hover": "rรฉvรฉler les lignes dรฉbordantes au survol$N( interrompt le dรฉfilement ร  moins que le curseur de la souris ne soit dans la gouttiรจre gauche )", - - "ml_pmode": "ร  la fin du dossierโ€ฆ", - "ml_btns": "cmds", - "ml_tcode": "transcoder", - "ml_tcode2": "transcoder vers", - "ml_tint": "teinte", - "ml_eq": "รฉgaliseur audio", - "ml_drc": "compresseur de plage dynamique", - - "mt_loop": "rรฉpรฉter en boucle une musique\">๐Ÿ”", - "mt_one": "stopper aprรจs une musique\">1๏ธโƒฃ", - "mt_shuf": "mรฉlanger les musiques dans chaque dossiers\">๐Ÿ”€", - "mt_aplay": "jouer automatiquement si le lien utilisรฉ pour accรฉder au serveur a un song-ID $N$N, dรฉsactiver cela arrรชtera รฉgalement la mise ร  jour de l'URL de la page avec les song-IDs lors de la lecture de la musique, pour รฉviter la lecture automatique si ces paramรจtres sont perdus mais que l'URL reste\">aโ–ถ", - "mt_preload": "commencer ร  charger la prochaine chanson prรจs de la fin pour une lecture sans interruption\">preload", - "mt_prescan": "explorer le dossier suivant avant la derniรจre musique$Nne finisse, pour garder le navigateur content$Npour qu'il n'arrรชte pas la lecture\">nav", - "mt_fullpre": "essayer de prรฉ-charger la musique entiรจre;$Nโœ… activer en cas de connection instable,$NโŒ dรฉsactiver en revanche sur une connection lente va probablement รชtre mieux\">full", - "mt_fau": "sur tรฉlรฉphone, empรชche la musique de s'arrรชter de jouer si la prochaine n'est pas prรฉ-chargรฉe assez rapidement (peut rendre l'affichage des tags buggรฉ)\">โ˜•๏ธ", - "mt_waves": "barre de progression en spectrograme:$Nmontrer l'amplitude audio dans la miniature\">~s", - "mt_npclip": "montrer les boutons pour copier le morceau en cours de lecture\">/np", - "mt_m3u_c": "montrer les boutons pour copier les$morceaux sรฉlectionnรฉes en tant qu'entrรฉes de playlist m3u8\">๐Ÿ“ป", - "mt_octl": "intรฉgration os (touches de raccourci multimรฉdia / osd)\">os-ctl", - "mt_oseek": "permettre la recherche via l'intรฉgration os$N$Nremarque : sur certains appareils (iPhones),$Ncela remplace le bouton de la chanson suivante\">seek", - "mt_oscv": "montrer la couverture de l'album dans l'osd\">art", - "mt_follow": "garder la piste en cours dรฉfilรฉe dans la vue\">๐ŸŽฏ", - "mt_compact": "contrรดles compacts\">โŸŽ", - "mt_uncache": "effacer le cache  (essayez ceci si votre navigateur a mis en cache$Nun copie dรฉfectueuse d'une chanson, ce qui empรชche sa lecture)\">uncache", - "mt_mloop": "lire en boucle le dossier ouvert\">๐Ÿ” loop", - "mt_mnext": "charger le dossier suivant et continuer\">๐Ÿ“‚ next", - "mt_mstop": "arrรชter la lecture\">โธ stop", - "mt_cflac": "convertir flac / wav en {0}\">flac", - "mt_caac": "convertir aac / m4a en {0}\">aac", - "mt_coth": "convertir tout les autres (pas mp3) en {0}\">oth", - "mt_c2opus": "meilleur choix pour PC fixe, PC portable, android\">opus", - "mt_c2owa": "opus-weba, pour iOS 17.5 et supรฉrieur\">owa", - "mt_c2caf": "opus-caf, pour iOS 11 ร  17\">caf", - "mt_c2mp3": "utilisez ceci sur des appareils trรจs anciens\">mp3", - "mt_c2flac": "meilleure qualitรฉ sonore, mais tรฉlรฉchargements รฉnormes\">flac", - "mt_c2wav": "lecture non compressรฉe (encore plus gros)\">wav", - "mt_c2ok": "bien, bon choix", - "mt_c2nd": "ce n'est pas le format de sortie recommandรฉ pour votre appareil, mais รงa devrait aller", - "mt_c2ng": "votre appareil ne semble pas prendre en charge ce format de sortie, mais essayons quand mรชme", - "mt_xowa": "il y a des bugs dans iOS qui empeche d'avoir une lecture en ariere plan en utilisant ce format; utilisez caf ou mp3 ร  la place", - "mt_tint": "niveau dโ€™arriรจre-plan (0โ€“100) de la barre de progression$Npour rendre la mise en mรฉmoire tampon moins gรชnante", - "mt_eq": "active l'รฉgaliseur et le contrรดle de gain;$N$Nboost <code>0</code> = volume standard 100% (non modifiรฉ)$N$Nwidth <code>1  </code> = stรฉrรฉo standard (non modifiรฉ)$Nwidth <code>0.5</code> = 50% de crossfeed gauche-droite$Nwidth <code>0  </code> = mono$N$Nboost <code>-0.8</code> & width <code>10</code> = suppression vocale :^)$N$Nl'activation de l'รฉgaliseur rend les albums gapless entiรจrement gapless, alors laissez-le activรฉ avec toutes les valeurs ร  zรฉro (sauf largeur = 1) si vous vous en souciez", - "mt_drc": "active le compresseur de plage dynamique (aplanisseur de volume / brickwaller); activera รฉgalement l'EQ pour รฉquilibrer les choses, donc dรฉfinissez tous les champs EQ sauf 'width' sur 0 si vous ne le voulez pas$N$Ndiminue le volume de l'audio au-dessus de THRESHOLD dB; pour chaque RATIO dB au-delร  de THRESHOLD, il y a 1 dB de sortie, donc des valeurs par dรฉfaut de tresh -24 et ratio 12 signifient qu'il ne devrait jamais รชtre plus fort que -22 dB et qu'il est sรปr d'augmenter le boost de l'รฉgaliseur ร  0.8, ou mรชme 1.8 avec ATK 0 et un รฉnorme RLS comme 90 (ne fonctionne que dans firefox; RLS est max 1 dans les autres navigateurs)$N$N(voir wikipedia, ils expliquent cela beaucoup mieux)", - - "mb_play": "lecture", - "mm_hashplay": "lire ce fichier audio ?", - "mm_m3u": "appuyez sur Entrรฉe/OK pour lire\nappuyez sur ร‰chap/Annuler pour modifier", - "mp_breq": "nรฉcessite firefox 82+ ou chrome 73+ ou iOS 15+", - "mm_bload": "chargement en coursโ€ฆ", - "mm_bconv": "conversion en {0}, veuillez patienterโ€ฆ", - "mm_opusen": "votre navigateur ne peut pas lire les fichiers aac / m4a ;\nle transcodage en opus est maintenant activรฉ", - "mm_playerr": "รฉchec de la lecture : ", - "mm_eabrt": "La tentative de lecture a รฉtรฉ annulรฉe", - "mm_enet": "Votre connexion internet est instable ou inexistante", - "mm_edec": "Ce fichier est supposรฉment corrompu??", - "mm_esupp": "Votre navigateur ne comprend pas ce format audio", - "mm_eunk": "Erreur inconnue", - "mm_e404": "Impossible de lire l'audio ; erreur 404 : fichier introuvable.", - "mm_e403": "Impossible de lire l'audio ; erreur 403 : accรจs refusรฉ.\n\nEssayez d'appuyer sur F5 pour recharger, peut-รชtre que vous avez รฉtรฉ dรฉconnectรฉ", - "mm_e500": "Impossible de lire l'audio ; erreur 500 : vรฉrifiez les journaux du serveur.", - "mm_e5xx": "Impossible de lire l'audio ; erreur serveur ", - "mm_nof": "Pas d'autres fichiers audio trouvรฉs par ici", - "mm_prescan": "En recherche d'une autre musique ร  lireโ€ฆ", - "mm_scank": "Prochaine musique trouvรฉe :", - "mm_uncache": "cache vidรฉ ; toutes les chansons seront retรฉlรฉchargรฉes lors de la prochaine lecture", - "mm_hnf": "cette chanson n'existe plus", - - "im_hnf": "cette image n'existe plus", - - "f_empty": 'ce dossier est vide', - "f_chide": 'ceci va cacher les colonnes ยซ{0}ยป\n\ntu peut les rรฉafficher dans les options', - "f_bigtxt": "ce fichier fait {0} MiB -- tu veut vraiment le voir en tant que texte ?", - "f_bigtxt2": "voir seulement la fin du fichier ร  la place ? ceci activera aussi le suivi en temps rรฉel, affichant les nouvelles lignes de texte au fur et ร  mesure", - "fbd_more": '
    showing {0} of {1} files; show {2} or show all
    ', - "fbd_all": '
    showing {0} of {1} files; show all
    ', - "f_anota": "seulement {0} des {1} elements sont selectionรฉ;\npour selectioner le dossier entier, fait dรฉfiler jusqu'au fond", - - "f_dls": 'le lien de fichier dans le rรฉpertoire actuel\nร  รฉtรฉ changรฉ en lien de tรฉlรฉchargement', - - "f_partial": "Pour tรฉlรฉcharger de faรงon sรฉcurisรฉe un fichier qui est entrain de se faire tรฉlรฉverser, cliquez sur le fichier qui a le mรชme nom, mais sans l'extension de fichier .PARTIAL. Choisissez ANNULER ou appuiez sur la touche ร‰chap pour faire cela.\n\nAppuyer sur OK / Entrรฉe ignorera cet avertissement et continuera ร  tรฉlรฉcharger le fichier temporaire .PARTIAL ร  la place, ce qui donnera presque certainement des donnรฉes corrompues.", - - "ft_paste": "coller {0} รฉlรฉments$NHotkey: ctrl-V", - "fr_eperm": 'impossible de renommer:\n vous n\'avez pas la permission โ€œmoveโ€ dans ce dossier', - "fd_eperm": 'impossible de supprimer:\nvous n\'avez pas la permission โ€œdeleteโ€ dans ce dossier', - "fc_eperm": 'impossible de couper:\nvous n\'avez pas la permission โ€œmoveโ€ dans ce dossier', - "fp_eperm": 'impossible de coller:\nvous n\'avez pas la permission โ€œwriteโ€ dans ce dossier', - "fr_emore": "sรฉlectionnez au moins un รฉlรฉment ร  renommer", - "fd_emore": "sรฉlectionnez au moins un รฉlรฉment ร  supprimer", - "fc_emore": "sรฉlectionnez au moins un รฉlรฉment ร  couper", - "fcp_emore": "sรฉlectionnez au moins un รฉlรฉment ร  copier dans le presse-papiers", - - "fs_sc": "partager le dossier dans lequel vous vous trouvez", - "fs_ss": "partager les fichiers sรฉlectionnรฉs", - "fs_just1d": "vous ne pouvez pas sรฉlectionner plus d'un dossier,\nou mรฉlanger des fichiers et des dossiers dans une seule sรฉlection", - "fs_abrt": "โŒ abandonner", - "fs_rand": "๐ŸŽฒ nom.aleatoire", - "fs_go": "โœ… crรฉer partage", - "fs_name": "nom", - "fs_src": "source", - "fs_pwd": "mdp", - "fs_exp": "expiration", - "fs_tmin": "min", - "fs_thrs": "heures", - "fs_tdays": "jours", - "fs_never": "รฉternel", - "fs_pname": "nom de lien optionnel ; sera alรฉatoire si vide", - "fs_tsrc": "le fichier ou le dossier ร  partager", - "fs_ppwd": "mot de passe optionnel", - "fs_w8": "crรฉation du partageโ€ฆ", - "fs_ok": "appuyez sur Entrรฉe/OK pour le Presse-papiers\nappuyez sur ร‰chap/Annuler pour fermer", - - "frt_dec": "peut potentiellement rรฉparer certaines instances de noms de fichiers cassรฉs\">url-decode", - "frt_rst": "rรฉinitialiser les noms de fichiers modifiรฉs ร  leurs originaux\">โ†บ reset", - "frt_abrt": "abandonner et fermer cette fenรชtre\">โŒ cancel", - "frb_apply": "APPLIQUER RENOMMER", - "fr_adv": "renommage par lot / mรฉtadonnรฉes / motif\">advanced", - "fr_case": "regex sensible ร  la casse\">case", - "fr_win": "noms windows-safe; remplacer <>:"\\|?* par des caractรจres japonais en pleine largeur\">win", - "fr_slash": "remplacer / par un caractรจre qui ne provoque pas la crรฉation de nouveaux dossiers\">no /", - "fr_re": "modรจle de recherche regex ร  appliquer aux noms de fichiers originaux ; les groupes capturรฉs peuvent รชtre rรฉfรฉrencรฉs dans le champ de format ci-dessous comme <code>(1)</code> et <code>(2)</code> et ainsi de suite", - "fr_fmt": "inspirรฉ par foobar2000 : $N<code>(title)</code> est remplacรฉ par le titre de la chanson, $N<code>[(artist) - ](title)</code> saute [cette] partie si l'artiste est vide, $N<code>$lpad((tn),2,0)</code> remplit le numรฉro de piste ร  2 chiffres", - "fr_pdel": "supprimer", - "fr_pnew": "enregistrer sous", - "fr_pname": "donnez un nom pour le nouveau preset", - "fr_aborted": "abandonnรฉ", - "fr_lold": "ancien nom", - "fr_lnew": "nouveau nom", - "fr_tags": "tags pour les fichier selectionรฉ (lecture-seule, juste pour rรฉfรฉrence):", - "fr_busy": "renomage de {0} itemsโ€ฆ\n\n{1}", - "fr_efail": "renomage a รฉchouรฉ:\n", - "fr_nchg": "{0} des nouveaux noms ont รฉtรฉ modifiรฉs en raison de win et/ou no /\n\nOK pour continuer avec ces nouveaux noms modifiรฉs ?", - - "fd_ok": "suppression rรฉussie", - "fd_err": "impossible de supprimer:\n", - "fd_none": "rien n'a รฉtรฉ supprimรฉ ; peut-รชtre bloquรฉ par la configuration du serveur (xbd) ?", - "fd_busy": "suppression de {0} รฉlรฉmentsโ€ฆ\n\n{1}", - "fd_warn1": "SUPPRIMER ces {0} รฉlรฉments ?", - "fd_warn2": "Derniรจre chance ! Impossible de revenir en arriรจre. Supprimer ?", - - "fc_ok": "couper {0} รฉlรฉments", - "fc_warn": 'couper {0} รฉlรฉments\n\nmais : seul cet onglets peut les coller\n(puisque la sรฉlection est si absolument massive)', - - "fcc_ok": "copiรฉ {0} รฉlรฉments dans le presse-papiers", - "fcc_warn": 'copiรฉ {0} รฉlรฉments dans le presse-papiers\n\nmais : seul cet onglet peut les coller\n(puisque la sรฉlection est si absolument massive)', - - "fp_apply": "utiliser ces noms", - "fp_ecut": "en premier, coupez ou copiez quelques fichiers / dossiers ร  coller / dรฉplacer\n\nnote: vous pouvez couper / coller a travers different onglets", - "fp_ename": "{0} รฉlรฉments ne peuvent pas รชtre dรฉplacรฉs ici parceque leurs noms sont dรฉjร  pris. Donnez leurs un nouveau nom ci-dessous pour continuer, ou laissez les vides pour les sauter:", - "fcp_ename": "{0} รฉlรฉments ne peuvent pas รชtre copiรฉs ici parce que les noms sont dรฉjร  pris. Donnez-leur un nouveau nom ci-dessous pour continuer, ou laissez-les vides pour les sauter :", - "fp_emore": "il reste encore des collisions de noms de fichiers ร  corriger", - "fp_ok": "dรฉplacement OK", - "fcp_ok": "copie OK", - "fp_busy": "dรฉplacement de {0} รฉlรฉmentsโ€ฆ\n\n{1}", - "fcp_busy": "copie de {0} รฉlรฉmentsโ€ฆ\n\n{1}", - "fp_abrt": "abandon en cours...", //m - "fp_err": "deplacement รฉchouรฉ:\n", - "fcp_err": "copie รฉchouรฉe:\n", - "fp_confirm": "dรฉplacer ces {0} รฉlรฉments ici ?", - "fcp_confirm": "copier ces {0} รฉlรฉments ici ?", - "fp_etab": 'lecture du presse-papier venant d\'un autre onglet รฉchouรฉ', - "fp_name": "tรฉlรฉversement d'un fichier de votre apareil. Donnez lui un nom:", - "fp_both_m": '
    choisisez ce qu\'il faut coller
    Entrer = Dรฉplacer {0} fichiers de ยซ{1}ยป\nESC = Tรฉlรฉverser {2} fichiers de votre appareil', - "fcp_both_m": '
    choisissez ce qu\'il faut coller
    Entrer = Copier {0} fichiers de ยซ{1}ยป\nESC = Tรฉlรฉverser {2} fichiers de votre appareil', - "fp_both_b": 'DรฉplacerTรฉlรฉverser', - "fcp_both_b": 'CopierTรฉlรฉverser', - - "mk_noname": "entrez un nom dans le champ de texte ร  gauche avant de faire รงa :p", - - "tv_load": "Chargement du document texte:\n\n{0}\n\n{1}% ({2} de {3} MiB chargรฉs)", - "tv_xe1": "impossible de charger le fichier texte:\n\nerreur", - "tv_xe2": "404, fichier introuvable", - "tv_lst": "liste des fichiers texte dans", - "tvt_close": "retour a la vue de dossier$NHotkey: M (ou ร‰chap)\">โŒ fermer", - "tvt_dl": "tรฉlรฉcharger ce fichier$NHotkey: Y\">๐Ÿ’พ tรฉlรฉcharger", - "tvt_prev": "montrer le document prรฉcรฉdent$NHotkey: i\">โฌ† prรฉcรฉdent", - "tvt_next": "montrer le document suivant$NHotkey: K\">โฌ‡ suivant", - "tvt_sel": "sรฉlectionner le fichier   ( pour couper / copier / supprimer / โ€ฆ )$NHotkey: S\">sel", - "tvt_edit": "ouvrir le fichier dans l'รฉditeur de texte$NHotkey: E\">โœ๏ธ modifier", - "tvt_tail": "surveiller le fichier pour les changements; montrer les nouvelles lignes en temps rรฉel\">๐Ÿ“ก suivre", - "tvt_wrap": "retour ร  la ligne\">โ†ต", - "tvt_atail": "ancrer le dรฉfilement au fond de la page\">โš“", - "tvt_ctail": "dรฉcoder les couleurs du terminal (ansi escape codes)\">๐ŸŒˆ", - "tvt_ntail": "limite de dรฉfilement en arriรจre (combien d'octets de texte ร  garder chargรฉ)", - - "m3u_add1": "musique ajoutรฉe ร  la playlist m3u", - "m3u_addn": "{0} musiques ajoutรฉes ร  la playlist m3u", - "m3u_clip": "la playlist m3u est maintenant copiรฉe dans le presse-papier\n\nvous devriez crรฉer un nouveau fichier texte nommรฉ par exemple playlist.m3u et coller la playlist dans ce fichier ; cela la rendra lisible en tant que playlist", - - "gt_vau": "ne pas voir les vidรฉos, juste jouer l'audio\">๐ŸŽง", - "gt_msel": "activer la sรฉlรฉction de fichiers ; ctrl-clic sur un fichier pour override รฉcraser$N$Nquand actif : double-cliquer sur un fichier / dossier pour l'ouvrir$N$NHotkey: S\">multisรฉlรฉction", - "gt_crop": "rogner les miniatures au centre\">rogner", - "gt_3x": "miniatures haute rรฉsolution\">3x", - "gt_zoom": "zoomer", - "gt_chop": "rogner", - "gt_sort": "trier par", - "gt_name": "nom", - "gt_sz": "taille", - "gt_ts": "date", - "gt_ext": "type", - "gt_c1": "tronquer les noms de fichiers (montrer moins)", - "gt_c2": "tronquer les noms de fichiers (montrer plus)", - - "sm_w8": "rechercheโ€ฆ", - "sm_prev": "les rรฉsultats de recherche ci-dessous proviennent d'une requรชte prรฉcรฉdente:\n ", - "sl_close": "fermer les rรฉsultats de recherche", - "sl_hits": "affichage de {0} rรฉsultats", - "sl_moar": "chercher plus", - - "s_sz": "taille", - "s_dt": "date", - "s_rd": "chemin", - "s_fn": "nom", - "s_ta": "tags", - "s_ua": "up@", - "s_ad": "adv.", - "s_s1": "minimum MiB", - "s_s2": "maximum MiB", - "s_d1": "min. iso8601", - "s_d2": "max. iso8601", - "s_u1": "tรฉlรฉverser aprรจs", - "s_u2": "et/ou avant", - "s_r1": "le chemin contient   (sรฉparรฉ par des espaces)", - "s_f1": "le nom contient   (nรฉgation avec -nope)", - "s_t1": "les tags contiennent   (^=dรฉbut, fin=$)", - "s_a1": "propriรฉtรฉs de mรฉtadonnรฉes spรฉcifiques", - - "md_eshow": "impossible d'afficher le rendu ", - "md_off": "[๐Ÿ“œreadme] disabled in [โš™๏ธ] -- document cachรฉ", - - "badreply": "ร‰chec de l'analyse de la rรฉponse du serveur", - - "xhr403": "403: Accรจs refusรฉ\n\nessayez d'appuyer sur F5, peut-รชtre que vous avez รฉtรฉ dรฉconnectรฉ", - "xhr0": "inconnu (vous avez probablement perdu la connexion au serveur, ou le serveur est hors ligne)", - "cf_ok": "dรฉsolรฉ pour cela -- la protection DD" + wah + "oS a รฉtรฉ dรฉclenchรฉ\n\nles choses devraient reprendre dans environ 30 secondes\n\nsi rien ne se passe, appuyez sur F5 pour recharger la page", - "tl_xe1": "impossible de lister les sous-dossiers:\n\nerreur ", - "tl_xe2": "404: Dossier introuvable", - "fl_xe1": "impossible de lister les fichiers dans le dossier:\n\nerreur ", - "fl_xe2": "404: Dossier introuvable", - "fd_xe1": "impossible de crรฉer le sous-dossier:\n\nerreur ", - "fd_xe2": "404: Dossier parent introuvable", - "fsm_xe1": "impossible d'envoyer le message:\n\nerreur ", - "fsm_xe2": "404: Dossier parent introuvable", - "fu_xe1": "รฉchec du chargement de la liste des unpost du serveur:\n\nerreur ", - "fu_xe2": "404: Fichier introuvable??", - - "fz_tar": "fichier gnu-tar non compressรฉ (linux / mac)", - "fz_pax": "tar au format pax non compressรฉ (plus lent)", - "fz_targz": "gnu-tar avec compression gzip niveau 3$N$Ncela est gรฉnรฉralement trรจs lent, donc$Nutilisez plutรดt tar non compressรฉ", - "fz_tarxz": "gnu-tar avec compression xz niveau 1$N$Ncela est gรฉnรฉralement trรจs lent, donc$Nutilisez plutรดt tar non compressรฉ", - "fz_zip8": "zip avec noms de fichiers utf8 (peut รชtre instable sur windows 7 et versions antรฉrieures)", - "fz_zipd": "zip avec noms de fichiers cp437 traditionnels, pour les trรจs anciens logiciels", - "fz_zipc": "cp437 avec crc32 calculรฉ tรดt,$Nfor MS-DOS PKZIP v2.04g (octobre 1993)$N(prend plus de temps ร  charger avant que le tรฉlรฉchargement ne commence)", - - "un_m1": "vous pouvez supprimer vos tรฉlรฉchargements rรฉcents (ou annuler ceux en cours) ci-dessous", - "un_upd": "rafraรฎchir", - "un_m4": "ou partager les fichiers visibles ci-dessous:", - "un_ulist": "montrer", - "un_ucopy": "copier", - "un_flt": "filtre optionnel:  l'URL doit contenir", - "un_fclr": "effacer le filtre", - "un_derr": 'รฉchec de l\'unpost-delete:\n', - "un_f5": 'quelque chose a cassรฉ, veuillez essayer de rafraรฎchir ou d\'appuyer sur F5', - "un_uf5": "dรฉsolรฉ mais vous devez rafraรฎchir la page (par exemple en appuyant sur F5 ou CTRL-R) avant que ce tรฉlรฉchargement puisse รชtre annulรฉ", - "un_nou": 'warning: serveur trop occupรฉ pour afficher les tรฉlรฉversements non finis; cliquez sur le lien "rafraรฎchir" dans un instant', - "un_noc": 'warning: unpost des fichiers entiรจrement tรฉlรฉchargรฉs n\'est pas activรฉ/permis dans la configuration du serveur', - "un_max": "affichage des 2000 premiers fichiers (utilisez le filtre)", - "un_avail": "{0} tรฉlรฉchargements rรฉcents peuvent รชtre supprimรฉs
    {1} ceux en cours peuvent รชtre annulรฉs", - "un_m2": "triรฉs par date de tรฉlรฉchargement; les plus rรฉcents en premier:", - "un_no1": "sike! aucun tรฉlรฉchargement n'est suffisamment rรฉcent", - "un_no2": "sike! aucun tรฉlรฉchargement correspondant ร  ce filtre n'est suffisamment rรฉcent", - "un_next": "supprimer les {0} fichiers suivants ci-dessous", - "un_abrt": "abandonner", - "un_del": "supprimer", - "un_m3": "chargement de vos tรฉlรฉchargements rรฉcentsโ€ฆ", - "un_busy": "suppression de {0} fichiersโ€ฆ", - "un_clip": "{0} liens copiรฉs dans le presse-papiers", - - "u_https1": "vous devriez", - "u_https2": "passer ร  https", - "u_https3": "pour de meilleure performances", - "u_ancient": 'votre navigateur est impressionnamment ancien -- vous devriez peut-รชtre utiliser bup ร  la place', - "u_nowork": "nรฉcessite firefox 53+ ou chrome 57+ ou iOS 11+", - "tail_2old": "nรฉcessite firefox 105+ ou chrome 71+ ou iOS 14.5+", - "u_nodrop": 'votre navigateur est trop ancien pour le tรฉlรฉversement par glisser-dรฉposer', - "u_notdir": "ce n'est pas un dossier!\n\nvotre navigateur est trop ancien,\nveuillez essayer le glisser-dรฉposer ร  la place", - "u_uri": "pour glisser-dรฉposer des images depuis d'autres fenรชtres de navigateur,\nveuillez les dรฉposer sur le gros bouton de tรฉlรฉversement", - "u_enpot": 'passer ร  l\'interface utilisateur potato (peut amรฉliorer la vitesse de tรฉlรฉversement)', - "u_depot": 'passer ร  l\'interface utilisateur fancy (peut rรฉduire la vitesse de tรฉlรฉversement)', - "u_gotpot": 'passage ร  l\'interface utilisateur potato pour une vitesse de tรฉlรฉversement amรฉliorรฉe,\n\nn\'hรฉsitez pas ร  revenir en arriรจre si รงa ne vous plaรฎt pas !', - "u_pott": "

    fichiers:   {0} fini,   {1} รฉchouรฉ,   {2} en cours,   {3} en attente

    ", - "u_ever": "ceci est le tรฉlรฉverseur de base ; up2k nรฉcessite au moins chrome 21 // firefox 13 // edge 12 // opera 12 // safari 5.1", - "u_su2k": 'ceci est le tรฉlรฉverseur de base; up2k est meilleur', - "u_uput": 'optimiser pour la vitesse (ignorer la somme de contrรดle)', - "u_ewrite": 'vous n\'avez pas accรจs en รฉcriture ร  ce dossier', - "u_eread": 'vous n\'avez pas accรจs en lecture ร  ce dossier', - "u_enoi": 'la recherche de fichiers n\'est pas activรฉe dans la configuration du serveur', - "u_enoow": "l'รฉcrasage ne fonctionnera pas ici; besoin de permissions de suppression", - "u_badf": 'Ces {0} fichiers (sur {1} au total) ont รฉtรฉ ignorรฉs, probablement en raison de permissions systรจme de fichiers:\n\n', - "u_blankf": 'Ces {0} fichiers (sur {1} au total) sont vides; les tรฉlรฉverser quand mรชme ?\n\n', - "u_applef": 'Ces {0} fichiers (sur {1} au total) sont probablement indรฉsirables;\nAppuyez sur OK/Enter pour IGNORER les fichiers suivants,\nAppuyez sur Annuler/ร‰chap pour NE PAS exclure, et Tร‰Lร‰VERSER ceux-ci รฉgalement:\n\n', - "u_just1": '\nPeut-รชtre que cela fonctionne mieux si vous sรฉlectionnez juste un fichier', - "u_ff_many": "si vous utilisez Linux / MacOS / Android, alors ce nombre de fichiers peut faire planter Firefox!\nSi cela se produit, veuillez rรฉessayer (ou utiliser Chrome).", - "u_up_life": "Ce tรฉlรฉversement va รชtre supprimรฉ du serveur\n{0} aprรจs son achรจvement", - "u_asku": 'tรฉlรฉverser ces {0} fichiers vers {1}', - "u_unpt": "vous pouvez dรฉfaire / supprimer ce tรฉlรฉversement en utilisant le ๐Ÿงฏ en haut ร  gauche", - "u_bigtab": 'sur le point d\'afficher {0} fichiers\n\ncela peut faire planter votre navigateur, รชtes-vous sรปr ?', - "u_scan": 'Analyse des fichiersโ€ฆ', - "u_dirstuck": 'l\'itรฉrateur de rรฉpertoire est bloquรฉ en essayant d\'accรฉder aux {0} รฉlรฉments suivants ; il sera ignorรฉ :', - "u_etadone": 'Terminรฉ ({0}, {1} fichiers)', - "u_etaprep": '(prรฉparation au tรฉlรฉversement)', - "u_hashdone": 'calcul de la somme de contrรดle terminรฉ', - "u_hashing": 'calcul de la somme de contrรดle', - "u_hs": 'รฉtablissement d\'une liaisonโ€ฆ', - "u_started": "les fichiers sont maintenant en cours de tรฉlรฉversement ; voir [๐Ÿš€]", - "u_dupdefer": "dupliquรฉ ; sera traitรฉ aprรจs tous les autres fichiers", - "u_actx": "cliquez sur ce texte pour รฉviter la perte de
    performance lors du passage ร  d'autres fenรชtres/onglets", - "u_fixed": "OK!  Rรฉsolu ๐Ÿ‘", - "u_cuerr": "echec du tรฉlรฉversement du morceau {0} de {1};\nprobablement inoffensif, poursuite\n\nfichier : {2}", - "u_cuerr2": "le serveur a rejetรฉ le tรฉlรฉversement (morceau {0} de {1});\nrรฉessaiera plus tard\n\nfichier : {2}\n\nerreur ", - "u_ehstmp": "rรฉessaiera ; voir en bas ร  droite", - "u_ehsfin": "le serveur a rejetรฉ la demande de finalisation du tรฉlรฉversement ; nouvelle tentativeโ€ฆ", - "u_ehssrch": "le serveur a rejetรฉ la demande d'effectuer une recherche ; nouvelle tentativeโ€ฆ", - "u_ehsinit": "le serveur a rejetรฉ la demande d'initier le tรฉlรฉversement ; nouvelle tentativeโ€ฆ", - "u_eneths": "erreur rรฉseau lors de l'exรฉcution de l'initialisation du tรฉlรฉversement ; nouvelle tentativeโ€ฆ", - "u_enethd": "erreur rรฉseau lors du test de l'existence de la cible ; nouvelle tentativeโ€ฆ", - "u_cbusy": "attente que le serveur nous fasse ร  nouveau confiance aprรจs un problรจme rรฉseauโ€ฆ", - "u_ehsdf": "le serveur est ร  court d'espace disque !\n\nil va continuer de rรฉessayer, au cas oรน quelqu'un\nlibรฉrerait suffisamment d'espace pour continuer", - "u_emtleak1": "il semble que votre navigateur web ait une fuite de mรฉmoire ;\nveuillez", - "u_emtleak2": ' passer ร  https (recommandรฉ) ou ', - "u_emtleak3": ' ', - "u_emtleakc": 'essayez la solution suivante:\n
    • appuyez sur F5 pour rafraรฎchir la page
    • ensuite dรฉsactivez le bouton  mt  dans les  โš™๏ธ paramรจtres
    • et rรฉessayez ce tรฉlรฉversement
    Les tรฉlรฉversements seront un peu plus lents, mais tant pis.\nDรฉsolรฉ pour le dรฉrangement !\n\nPS : chrome v107 a un correctif pour cela', - "u_emtleakf": 'essayez la solution suivante:\n
    • appuyez sur F5 pour rafraรฎchir la page
    • ensuite activez ๐Ÿฅ” (pomme de terre) dans l\'interface de tรฉlรฉversement
    • et rรฉessayez ce tรฉlรฉversement
    \nPS : firefox aura probablement un correctif ร  un moment donnรฉ', - "u_s404": "pas trouvรฉ sur le serveur", - "u_expl": "expliquer", - "u_maxconn": "la plupart des navigateur limite ceci ร  6, mais firefox vous permet de l'augmenter avec connections-per-server dans about:config", - "u_tu": '

    WARNING: turbo enclenchรฉ,  le client peut ne pas dรฉtecter et reprendre les tรฉlรฉversements incomplets ; voir l\'info-bulle du bouton turbo

    ', - "u_ts": '

    WARNING: turbo enclenchรฉ,  les rรฉsultats de recherche peuvent รชtre incorrects ; voir l\'info-bulle du bouton turbo

    ', - "u_turbo_c": "turbo est dรฉsactivรฉ dans la configuration du serveur", - "u_turbo_g": "dรฉsactivation de turbo car vous n'avez pas de\nprivilรจges de listing de rรฉpertoires dans ce volume", - "u_life_cfg": 'suppression automatique aprรจs min (ou heures)', - "u_life_est": 'le tรฉlรฉversement sera supprimรฉ ---', - "u_life_max": 'ce dossier impose une\ndurรฉe de vie maximale de {0}', - "u_unp_ok": 'unpost est autorisรฉ pour {0}', - "u_unp_ng": 'unpost ne sera PAS autorisรฉ', - "ue_ro": 'votre accรจs ร  ce dossier est en lecture seule\n\n', - "ue_nl": 'vous n\'รชtes actuellement pas connectรฉ', - "ue_la": 'vous รชtes actuellement connectรฉ en tant que "{0}"', - "ue_sr": 'vous รชtes actuellement en mode recherche de fichiers\n\nchangez en mode tรฉlรฉversement en cliquant sur la loupe ๐Ÿ”Ž (ร  cรดtรฉ du grand bouton RECHERCHER), et essayez de tรฉlรฉverser ร  nouveau\n\ndรฉsolรฉ', - "ue_ta": 'essayez de tรฉlรฉverser ร  nouveau, cela devrait fonctionner maintenant', - "ue_ab": "ce fichier a dรฉjร  รฉtรฉ tรฉlรฉversรฉ dans un autre dossier, et ce tรฉlรฉversement doit รชtre terminรฉ avant que le fichier puisse รชtre tรฉlรฉversรฉ ailleurs.\n\nVous pouvez annuler et oublier le tรฉlรฉversement initial en utilisant le bouton ๐Ÿงฏ en haut ร  gauche.", - "ur_1uo": "OK: Fichier tรฉlรฉversรฉ avec succรจs", - "ur_auo": "OK: Tous les {0} fichiers tรฉlรฉversรฉs avec succรจs", - "ur_1so": "OK: Fichier trouvรฉ sur le serveur", - "ur_aso": "OK: Tous les {0} fichiers trouvรฉs sur le serveur", - "ur_1un": "ร‰chec du tรฉlรฉversement, dรฉsolรฉ", - "ur_aun": "Tous les {0} tรฉlรฉversements ont รฉchouรฉ, dรฉsolรฉ", - "ur_1sn": "Fichier NON trouvรฉ sur le serveur", - "ur_asn": "Les {0} fichiers n'ont PAS ร‰Tร‰ trouvรฉs sur le serveur", - "ur_um": "Terminรฉ;\n{0} tรฉlรฉversements OK,\n{1} tรฉlรฉversements รฉchouรฉs, dรฉsolรฉ", - "ur_sm": "Terminรฉ;\n{0} fichiers trouvรฉs sur le serveur,\n{1} fichiers NON trouvรฉs sur le serveur", - - "lang_set": "rafraรฎchir pour que les changements prennent effet ?", - }, - "grc": { - "tt": "ฮ•ฮปฮปฮทฮฝฮนฮบฮฌ", - - "cols": { - "c": "ฮบฮฟฯ…ฮผฯ€ฮนฮฌ ฮตฮฝฮตฯฮณฮตฮนฯŽฮฝ", - "dur": "ฮดฮนฮฌฯฮบฮตฮนฮฑ", - "q": "ฯ€ฮฟฮนฯŒฯ„ฮทฯ„ฮฑ / bitrate", - "Ac": "ฮบฯ‰ฮดฮนฮบฮฟฯ€ฮฟฮนฮทฯ„ฮฎฯ‚ ฮฎฯ‡ฮฟฯ…", - "Vc": "ฮบฯ‰ฮดฮนฮบฮฟฯ€ฮฟฮนฮทฯ„ฮฎฯ‚ ฮฒฮฏฮฝฯ„ฮตฮฟ", - "Fmt": "ฮผฮฟฯฯ†ฮฎ / container", - "Ahash": "checksum ฮฎฯ‡ฮฟฯ…", - "Vhash": "checksum ฮฒฮฏฮฝฯ„ฮตฮฟ", - "Res": "ฮฑฮฝฮฌฮปฯ…ฯƒฮท", - "T": "ฯ„ฯฯ€ฮฟฯ‚ ฮฑฯฯ‡ฮตฮฏฮฟฯ…", - "aq": "ฯ€ฮฟฮนฯŒฯ„ฮทฯ„ฮฑ ฮฎฯ‡ฮฟฯ… / bitrate", - "vq": "ฯ€ฮฟฮนฯŒฯ„ฮทฯ„ฮฑ ฮฒฮฏฮฝฯ„ฮตฮฟ / bitrate", - "pixfmt": "subsampling / ฮดฮฟฮผฮฎ ฮตฮนฮบฮฟฮฝฮฟฯƒฯ„ฮฟฮนฯ‡ฮตฮฏฯ‰ฮฝ", - "resw": "ฮฟฯฮนฮถฯŒฮฝฯ„ฮนฮฑ ฮฑฮฝฮฌฮปฯ…ฯƒฮท", - "resh": "ฮบฮฌฮธฮตฯ„ฮท ฮฑฮฝฮฌฮปฯ…ฯƒฮท", - "chs": "ฮบฮฑฮฝฮฌฮปฮนฮฑ ฮฎฯ‡ฮฟฯ…", - "hz": "ฯƒฯ…ฯ‡ฮฝฯŒฯ„ฮทฯ„ฮฑ ฮดฮตฮนฮณฮผฮฑฯ„ฮฟฮปฮทฯˆฮฏฮฑฯ‚" - }, - - "hks": [ - [ - "ฮดฮนฮฌฯ†ฮฟฯฮฑ", - ["ESC", "ฮบฮปฮตฮฏฯƒฮนฮผฮฟ ฮดฮนฮฑฯ†ฯŒฯฯ‰ฮฝ ฮปฮตฮนฯ„ฮฟฯ…ฯฮณฮนฯŽฮฝ"], - - "ฮดฮนฮฑฯ‡ฮตฮนฯฮนฯƒฯ„ฮฎฯ‚ ฮฑฯฯ‡ฮตฮฏฯ‰ฮฝ", - ["G", "ฮตฮฝฮฑฮปฮปฮฑฮณฮฎ ฮปฮฏฯƒฯ„ฮฑฯ‚ / ฯ€ฮปฮญฮณฮผฮฑฯ„ฮฟฯ‚"], - ["T", "ฮตฮฝฮฑฮปฮปฮฑฮณฮฎ ฮผฮนฮบฯฮฟฮณฯฮฑฯ†ฮนฯŽฮฝ / ฮตฮนฮบฮฟฮฝฮนฮดฮฏฯ‰ฮฝ"], - ["โ‡ง A/D", "ฮผฮญฮณฮตฮธฮฟฯ‚ ฮผฮนฮบฯฮฟฮณฯฮฑฯ†ฮนฯŽฮฝ"], - ["ctrl-K", "ฮดฮนฮฑฮณฯฮฑฯ†ฮฎ ฮตฯ€ฮนฮปฮตฮณฮผฮญฮฝฯ‰ฮฝ"], - ["ctrl-X", "ฮฑฯ€ฮฟฮบฮฟฯ€ฮฎ ฮตฯ€ฮนฮปฮฟฮณฮฎฯ‚ ฯƒฯ„ฮฟ ฯ€ฯฯŒฯ‡ฮตฮนฯฮฟ"], - ["ctrl-C", "ฮฑฮฝฯ„ฮนฮณฯฮฑฯ†ฮฎ ฮตฯ€ฮนฮปฮฟฮณฮฎฯ‚ ฯƒฯ„ฮฟ ฯ€ฯฯŒฯ‡ฮตฮนฯฮฟ"], - ["ctrl-V", "ฮตฯ€ฮนฮบฯŒฮปฮปฮทฯƒฮท (ฮผฮตฯ„ฮฑฮบฮฏฮฝฮทฯƒฮท/ฮฑฮฝฯ„ฮนฮณฯฮฑฯ†ฮฎ) ฮตฮดฯŽ"], - ["Y", "ฮปฮฎฯˆฮท ฮตฯ€ฮนฮปฮตฮณฮผฮญฮฝฯ‰ฮฝ"], - ["F2", "ฮผฮตฯ„ฮฟฮฝฮฟฮผฮฑฯƒฮฏฮฑ ฮตฯ€ฮนฮปฮตฮณฮผฮญฮฝฯ‰ฮฝ"], - - "ฮปฮฏฯƒฯ„ฮฑ ฮฑฯฯ‡ฮตฮฏฯ‰ฮฝ", - ["space", "ฮตฮฝฮฑฮปฮปฮฑฮณฮฎ ฮตฯ€ฮนฮปฮฟฮณฮฎฯ‚ ฮฑฯฯ‡ฮตฮฏฮฟฯ…"], - ["โ†‘/โ†“", "ฮผฮตฯ„ฮฑฮบฮฏฮฝฮทฯƒฮท ฮดฮตฮฏฮบฯ„ฮท ฮตฯ€ฮนฮปฮฟฮณฮฎฯ‚"], - ["ctrl โ†‘/โ†“", "ฮผฮตฯ„ฮฑฮบฮฏฮฝฮทฯƒฮท ฮดฮตฮฏฮบฯ„ฮท ฮบฮฑฮน ฯ€ฯฮฟฮฒฮฟฮปฮฎฯ‚"], - ["โ‡ง โ†‘/โ†“", "ฮตฯ€ฮนฮปฮฟฮณฮฎ ฯ€ฯฮฟฮทฮณฮฟฯฮผฮตฮฝฮฟฯ…/ฮตฯ€ฯŒฮผฮตฮฝฮฟฯ… ฮฑฯฯ‡ฮตฮฏฮฟฯ…"], - ["ctrl-A", "ฮตฯ€ฮนฮปฮฟฮณฮฎ ฯŒฮปฯ‰ฮฝ ฯ„ฯ‰ฮฝ ฮฑฯฯ‡ฮตฮฏฯ‰ฮฝ / ฯ†ฮฑฮบฮญฮปฯ‰ฮฝ"] - ], [ - "ฯ€ฮปฮฟฮฎฮณฮทฯƒฮท", - ["B", "ฮตฮฝฮฑฮปฮปฮฑฮณฮฎ ฯƒฮต ฮบฮฑฯฯ„ฮญฮปฮตฯ‚ ฮดฮนฮฑฮดฯฮฟฮผฯŽฮฝ / ฮดฮญฮฝฯ„ฯฮฟ ฮดฮนฮฑฮดฯฮฟฮผฯŽฮฝ"], - ["I/K", "ฯ€ฯฮฟฮทฮณฮฟฯฮผฮตฮฝฮฟฯ‚/ฮตฯ€ฯŒฮผฮตฮฝฮฟฯ‚ ฯ†ฮฌฮบฮตฮปฮฟฯ‚"], - ["M", "ฮณฮฟฮฝฮนฮบฯŒฯ‚ ฯ†ฮฌฮบฮตฮปฮฟฯ‚ (ฮฎ ฯƒฮผฮฏฮบฯฯ…ฮฝฯƒฮท ฯ„ฯฮญฯ‡ฮฟฮฝฯ„ฮฟฯ‚)"], - ["V", "ฮตฮฝฮฑฮปฮปฮฑฮณฮฎ ฯ†ฮฑฮบฮญฮปฯ‰ฮฝ / ฮดฮญฮฝฯ„ฯฮฟ ฮฑฯฯ‡ฮตฮฏฯ‰ฮฝ ฮบฮตฮนฮผฮญฮฝฮฟฯ…"], - ["A/D", "ฮผฮญฮณฮตฮธฮฟฯ‚ ฯ€ฮฏฮฝฮฑฮบฮฑ ฯ€ฮปฮฟฮฎฮณฮทฯƒฮทฯ‚"] - ], [ - "ฮผฮฟฯ…ฯƒฮนฮบฮฎ", - ["J/L", "ฯ€ฯฮฟฮทฮณฮฟฯฮผฮตฮฝฮฟ/ฮตฯ€ฯŒฮผฮตฮฝฮฟ ฯ„ฯฮฑฮณฮฟฯฮดฮน"], - ["U/O", "ฮผฮตฯ„ฮฌฮฒฮฑฯƒฮท 10ฮดฮตฯ…ฯ„ ฯ€ฮฏฯƒฯ‰/ฮผฯ€ฯฮฟฯƒฯ„ฮฌ"], - ["0..9", "ฮผฮตฯ„ฮฌฮฒฮฑฯƒฮท ฯƒฯ„ฮฟ 0%..90%"], - ["P", "ฮฑฮฝฮฑฯ€ฮฑฯฮฑฮณฯ‰ฮณฮฎ/ฯ€ฮฑฯฯƒฮท (ฮพฮตฮบฮนฮฝฮฌฮตฮน ฮบฮนฯŒฮปฮฑฯ‚)"], - ["S", "ฮตฯ€ฮนฮปฮฟฮณฮฎ ฮฑฮฝฮฑฯ€ฮฑฯฮฑฮณฯŒฮผฮตฮฝฮฟฯ… ฯ„ฯฮฑฮณฮฟฯ…ฮดฮนฮฟฯ"], - ["Y", "ฮปฮฎฯˆฮท ฯ„ฯฮฑฮณฮฟฯ…ฮดฮนฮฟฯ"] - ], [ - "ฮตฮนฮบฯŒฮฝฮตฯ‚", - ["J/L, โ†/โ†’", "ฯ€ฯฮฟฮทฮณฮฟฯฮผฮตฮฝฮท/ฮตฯ€ฯŒฮผฮตฮฝฮท ฮตฮนฮบฯŒฮฝฮฑ"], - ["Home/End", "ฯ€ฯฯŽฯ„ฮท/ฯ„ฮตฮปฮตฯ…ฯ„ฮฑฮฏฮฑ ฮตฮนฮบฯŒฮฝฮฑ"], - ["F", "ฯ€ฮปฮฎฯฮทฯ‚ ฮฟฮธฯŒฮฝฮท"], - ["R", "ฯ€ฮตฯฮนฯƒฯ„ฯฮฟฯ†ฮฎ ฮดฮตฮพฮนฯŒฯƒฯ„ฯฮฟฯ†ฮฑ"], - ["โ‡ง R", "ฯ€ฮตฯฮนฯƒฯ„ฯฮฟฯ†ฮฎ ฮฑฯฮนฯƒฯ„ฮตฯฯŒฯƒฯ„ฯฮฟฯ†ฮฑ"], - ["S", "ฮตฯ€ฮนฮปฮฟฮณฮฎ ฮตฮนฮบฯŒฮฝฮฑฯ‚"], - ["Y", "ฮปฮฎฯˆฮท ฮตฮนฮบฯŒฮฝฮฑฯ‚"] - ], [ - "ฮฒฮฏฮฝฯ„ฮตฮฟ", - ["U/O", "ฮผฮตฯ„ฮฌฮฒฮฑฯƒฮท 10ฮดฮตฯ…ฯ„ ฯ€ฮฏฯƒฯ‰/ฮผฯ€ฯฮฟฯƒฯ„ฮฌ"], - ["P/K/Space", "ฮฑฮฝฮฑฯ€ฮฑฯฮฑฮณฯ‰ฮณฮฎ/ฯ€ฮฑฯฯƒฮท"], - ["C", "ฯƒฯ…ฮฝฮญฯ‡ฮตฮนฮฑ ฯƒฯ„ฮฟ ฮตฯ€ฯŒฮผฮตฮฝฮฟ"], - ["V", "ฮตฯ€ฮฑฮฝฮฌฮปฮทฯˆฮท"], - ["M", "ฯƒฮฏฮณฮฑฯƒฮท"], - ["[ ฮบฮฑฮน ]", "ฮฟฯฮนฯƒฮผฯŒฯ‚ ฮดฮนฮฑฯƒฯ„ฮฎฮผฮฑฯ„ฮฟฯ‚ ฮตฯ€ฮฑฮฝฮฌฮปฮทฯˆฮทฯ‚"] - ], [ - "ฮฑฯฯ‡ฮตฮฏฮฑ ฮบฮตฮนฮผฮญฮฝฮฟฯ…", - ["I/K", "ฯ€ฯฮฟฮทฮณฮฟฯฮผฮตฮฝฮฟ/ฮตฯ€ฯŒฮผฮตฮฝฮฟ ฮฑฯฯ‡ฮตฮฏฮฟ"], - ["M", "ฮบฮปฮตฮฏฯƒฮนฮผฮฟ ฮฑฯฯ‡ฮตฮฏฮฟฯ…"], - ["E", "ฮตฯ€ฮตฮพฮตฯฮณฮฑฯƒฮฏฮฑ ฮฑฯฯ‡ฮตฮฏฮฟฯ…"], - ["S", "ฮตฯ€ฮนฮปฮฟฮณฮฎ ฮฑฯฯ‡ฮตฮฏฮฟฯ… (ฮณฮนฮฑ ฮฑฯ€ฮฟฮบฮฟฯ€ฮฎ/ฮฑฮฝฯ„ฮนฮณฯฮฑฯ†ฮฎ/ฮผฮตฯ„ฮฟฮฝฮฟฮผฮฑฯƒฮฏฮฑ)"] - ] - ], - - "m_ok": "ฮ•ฮฝฯ„ฮฌฮพฮตฮน", - "m_ng": "ฮ†ฮบฯ…ฯฮฟ", - - "enable": "ฮ•ฮฝฮตฯฮณฮฟฯ€ฮฟฮฏฮทฯƒฮท", - "danger": "ฮšฮ™ฮฮ”ฮฅฮฮŸฮฃ", - "clipped": "ฮฑฮฝฯ„ฮนฮณฯฮฌฯ†ฮทฮบฮต ฯƒฯ„ฮฟ ฯ€ฯฯŒฯ‡ฮตฮนฯฮฟ", - - "ht_s1": "ฮดฮตฯ…ฯ„ฮตฯฯŒฮปฮตฯ€ฯ„ฮฟ", - "ht_s2": "ฮดฮตฯ…ฯ„ฮตฯฯŒฮปฮตฯ€ฯ„ฮฑ", - "ht_m1": "ฮปฮตฯ€ฯ„ฯŒ", - "ht_m2": "ฮปฮตฯ€ฯ„ฮฌ", - "ht_h1": "ฯŽฯฮฑ", - "ht_h2": "ฯŽฯฮตฯ‚", - "ht_d1": "ฮผฮญฯฮฑ", - "ht_d2": "ฮผฮญฯฮตฯ‚", - "ht_and": " ฮบฮฑฮน ", - - "goh": "ฯ€ฮฏฮฝฮฑฮบฮฑฯ‚ ฮตฮปฮญฮณฯ‡ฮฟฯ…", - "gop": 'ฯ€ฯฮฟฮทฮณฮฟฯฮผฮตฮฝฮฟฯ‚ ฯ†ฮฌฮบฮตฮปฮฟฯ‚ ฯƒฯ„ฮฟ ฮฏฮดฮนฮฟ ฮตฯ€ฮฏฯ€ฮตฮดฮฟ">ฯ€ฯฮฟฮทฮณฮฟฯฮผฮตฮฝฮฟ', - "gou": 'ฮณฮฟฮฝฮนฮบฯŒฯ‚ ฯ†ฮฌฮบฮตฮปฮฟฯ‚">ฯ€ฮฌฮฝฯ‰', - "gon": 'ฮตฯ€ฯŒฮผฮตฮฝฮฟฯ‚ ฯ†ฮฌฮบฮตฮปฮฟฯ‚">ฮตฯ€ฯŒฮผฮตฮฝฮฟ', - "logout": "ฮ‘ฯ€ฮฟฯƒฯฮฝฮดฮตฯƒฮท ", - "login": "ฮฃฯฮฝฮดฮตฯƒฮท", //m - "access": " ฯ€ฯฯŒฯƒฮฒฮฑฯƒฮท", - "ot_close": "ฮบฮปฮตฮฏฯƒฮนฮผฮฟ ฯ…ฯ€ฮฟฮผฮตฮฝฮฟฯ", - "ot_search": "ฮฑฮฝฮฑฮถฮฎฯ„ฮทฯƒฮท ฮฑฯฯ‡ฮตฮฏฯ‰ฮฝ ฮผฮต ฮฒฮฌฯƒฮท ฯ‡ฮฑฯฮฑฮบฯ„ฮทฯฮนฯƒฯ„ฮนฮบฮฌ, ฮดฮนฮฑฮดฯฮฟฮผฮฎ / ฯŒฮฝฮฟฮผฮฑ, ฮผฮฟฯ…ฯƒฮนฮบฮฌ tags ฮฎ ฮฟฯ€ฮฟฮนฮฟฮฝฮดฮฎฯ€ฮฟฯ„ฮต ฯƒฯ…ฮฝฮดฯ…ฮฑฯƒฮผฯŒ$N$N<code>foo bar</code> = ฯ€ฯฮญฯ€ฮตฮน ฮฝฮฑ ฯ€ฮตฯฮนฮญฯ‡ฮตฮน ฮบฮฑฮน ฯ„ฮฑ ยซfooยป ฮบฮฑฮน ยซbarยป,$N<code>foo -bar</code> = ฯ€ฯฮญฯ€ฮตฮน ฮฝฮฑ ฯ€ฮตฯฮนฮญฯ‡ฮตฮน ฯ„ฮฟ ยซfooยป ฮฑฮปฮปฮฌ ฯŒฯ‡ฮน ฯ„ฮฟ ยซbarยป,$N<code>^yana .opus$</code> = ฮฝฮฑ ฮพฮตฮบฮนฮฝฮฌ ฮผฮต ยซyanaยป ฮบฮฑฮน ฮฝฮฑ ฮตฮฏฮฝฮฑฮน ฮฑฯฯ‡ฮตฮฏฮฟ ยซopusยป$N<code>"try unite"</code> = ฮฝฮฑ ฯ€ฮตฯฮนฮญฯ‡ฮตฮน ฮฑฮบฯฮนฮฒฯŽฯ‚ ยซtry uniteยป$N$Nฮท ฮผฮฟฯฯ†ฮฎ ฮทฮผฮตฯฮฟฮผฮทฮฝฮฏฮฑฯ‚ ฮตฮฏฮฝฮฑฮน iso-8601, ฯŒฯ€ฯ‰ฯ‚$N<code>2009-12-31</code> ฮฎ <code>2020-09-12 23:30:00</code>", - "ot_unpost": "unpost: ฮดฮนฮฑฮณฯฮฑฯ†ฮฎ ฯ€ฯฯŒฯƒฯ†ฮฑฯ„ฯ‰ฮฝ ฮผฮตฯ„ฮฑฯ†ฮฟฯฯ„ฯŽฯƒฮตฯ‰ฮฝ ฮฎ ฮฑฮบฯฯฯ‰ฯƒฮท ฮฑฮฝฮฟฮปฮฟฮบฮปฮฎฯฯ‰ฯ„ฯ‰ฮฝ", - "ot_bup": "bup: ฮฒฮฑฯƒฮนฮบฯŒฯ‚ uploader, ฯ…ฯ€ฮฟฯƒฯ„ฮทฯฮฏฮถฮตฮน ฮผฮญฯ‡ฯฮน ฮบฮฑฮน netscape 4.0", - "ot_mkdir": "mkdir: ฮดฮทฮผฮนฮฟฯ…ฯฮณฮฏฮฑ ฮฝฮญฮฟฯ… ฯ†ฮฑฮบฮญฮปฮฟฯ…", - "ot_md": "new-md: ฮดฮทฮผฮนฮฟฯ…ฯฮณฮฏฮฑ ฮฝฮญฮฟฯ… markdown ฮตฮณฮณฯฮฌฯ†ฮฟฯ…", - "ot_msg": "msg: ฮฑฯ€ฮฟฯƒฯ„ฮฟฮปฮฎ ฮผฮทฮฝฯฮผฮฑฯ„ฮฟฯ‚ ฯƒฯ„ฮฟ server log", - "ot_mp": "ฮตฯ€ฮนฮปฮฟฮณฮญฯ‚ media player", - "ot_cfg": "ฮตฯ€ฮนฮปฮฟฮณฮญฯ‚ ฯฯ…ฮธฮผฮฏฯƒฮตฯ‰ฮฝ", - "ot_u2i": 'up2k: ฮฑฮฝฮญฮฒฮฑฯƒฮต ฮฑฯฯ‡ฮตฮฏฮฑ (ฮฑฮฝ ฮญฯ‡ฮตฮนฯ‚ ฮดฮนฮบฮฑฮฏฯ‰ฮผฮฑ ฮตฮณฮณฯฮฑฯ†ฮฎฯ‚) ฮฎ ฮตฮฝฮตฯฮณฮฟฯ€ฮฟฮฏฮทฯƒฮต ฯ„ฮท ฮปฮตฮนฯ„ฮฟฯ…ฯฮณฮฏฮฑ ฮฑฮฝฮฑฮถฮฎฯ„ฮทฯƒฮทฯ‚ ฮณฮนฮฑ ฮฝฮฑ ฮดฮตฮนฯ‚ ฮฑฮฝ ฯ…ฯ€ฮฌฯฯ‡ฮฟฯ…ฮฝ ฮฎฮดฮท ฯƒฯ„ฮฟ server$N$Nฮฟฮน ฮผฮตฯ„ฮฑฯ†ฮฟฯฯ„ฯŽฯƒฮตฮนฯ‚ ฯƒฯ…ฮฝฮตฯ‡ฮฏฮถฮฟฮฝฯ„ฮฑฮน ฮฑฮฝ ฮดฮนฮฑฮบฮฟฯ€ฮฟฯฮฝ, ฮตฮฏฮฝฮฑฮน ฯ€ฮฟฮปฯ…ฮฝฮทฮผฮฑฯ„ฮนฮบฮญฯ‚ ฮบฮฑฮน ฮดฮนฮฑฯ„ฮทฯฮฟฯฮฝ ฯ„ฮนฯ‚ ฯ‡ฯฮฟฮฝฮฟฯƒฯ†ฯฮฑฮณฮฏฮดฮตฯ‚, ฮฑฮปฮปฮฌ ฮบฮฑฯ„ฮฑฮฝฮฑฮปฯŽฮฝฮฟฯ…ฮฝ ฯ€ฮตฯฮนฯƒฯƒฯŒฯ„ฮตฯฮฟ CPU ฮฑฯ€ฯŒ ฯ„ฮฟฮฝ [๐ŸŽˆ]  (ฮฒฮฑฯƒฮนฮบฯŒฯ‚ uploader)

    ฮบฮฑฯ„ฮฌ ฯ„ฮท ฮดฮนฮฌฯฮบฮตฮนฮฑ ฯ„ฮทฯ‚ ฮผฮตฯ„ฮฑฯ†ฯŒฯฯ„ฯ‰ฯƒฮทฯ‚, ฮฑฯ…ฯ„ฯŒ ฯ„ฮฟ ฮตฮนฮบฮฟฮฝฮฏฮดฮนฮฟ ฮดฮตฮฏฯ‡ฮฝฮตฮน ฯ„ฮทฮฝ ฯ€ฯฯŒฮฟฮดฯŒ ฯ„ฮทฯ‚!', - "ot_u2w": 'up2k: ฮฑฮฝฮญฮฒฮฑฯƒฮต ฮฑฯฯ‡ฮตฮฏฮฑ ฮผฮต ฯ…ฯ€ฮฟฯƒฯ„ฮฎฯฮนฮพฮท ฯƒฯ…ฮฝฮญฯ‡ฮนฯƒฮทฯ‚ (ฮบฮปฮตฮฏฯƒฮต ฯ„ฮฟฮฝ browser ฮบฮฑฮน ฯฮฏฮพฮต ฯ„ฮฑ ฮฏฮดฮนฮฑ ฮฑฯฯ‡ฮตฮฏฮฑ ฮพฮฑฮฝฮฌ ฮผฮตฯ„ฮฌ)$N$Nฯ€ฮฟฮปฯ…ฮฝฮทฮผฮฑฯ„ฮนฮบฯŒ, ฮดฮนฮฑฯ„ฮทฯฮตฮฏ ฯ„ฮนฯ‚ ฯ‡ฯฮฟฮฝฮฟฯƒฯ†ฯฮฑฮณฮฏฮดฮตฯ‚, ฮฑฮปฮปฮฌ ฮบฮฑฯ„ฮฑฮฝฮฑฮปฯŽฮฝฮตฮน ฯ€ฮตฯฮนฯƒฯƒฯŒฯ„ฮตฯฮฟ CPU ฮฑฯ€ฯŒ ฯ„ฮฟฮฝ [๐ŸŽˆ]  (ฮฒฮฑฯƒฮนฮบฯŒฯ‚ uploader)

    ฮบฮฑฯ„ฮฌ ฯ„ฮท ฮดฮนฮฌฯฮบฮตฮนฮฑ ฯ„ฮทฯ‚ ฮผฮตฯ„ฮฑฯ†ฯŒฯฯ„ฯ‰ฯƒฮทฯ‚, ฮฑฯ…ฯ„ฯŒ ฯ„ฮฟ ฮตฮนฮบฮฟฮฝฮฏฮดฮนฮฟ ฮดฮตฮฏฯ‡ฮฝฮตฮน ฯ„ฮทฮฝ ฯ€ฯฯŒฮฟฮดฯŒ ฯ„ฮทฯ‚!', - "ot_noie": 'ฮงฯฮทฯƒฮนฮผฮฟฯ€ฮฟฮฏฮทฯƒฮต Chrome / Firefox / Edge', - - "ab_mkdir": "ฮดฮทฮผฮนฮฟฯ…ฯฮณฮฏฮฑ ฯ†ฮฑฮบฮญฮปฮฟฯ…", - "ab_mkdoc": "ฮฝฮญฮฟ markdown ฮญฮณฮณฯฮฑฯ†ฮฟ", - "ab_msg": "ฯƒฯ„ฮตฮฏฮปฮต ฮผฮฎฮฝฯ…ฮผฮฑ ฯƒฯ„ฮฟ server log", - - "ay_path": "ฯ€ฮฎฮณฮฑฮนฮฝฮต ฯƒฮต ฯ†ฮฑฮบฮญฮปฮฟฯ…ฯ‚", - "ay_files": "ฯ€ฮฎฮณฮฑฮนฮฝฮต ฯƒฮต ฮฑฯฯ‡ฮตฮฏฮฑ", - - "wt_ren": "ฮผฮตฯ„ฮฟฮฝฮฟฮผฮฑฯƒฮฏฮฑ ฮตฯ€ฮนฮปฮตฮณฮผฮญฮฝฯ‰ฮฝ$Nฮฃฯ…ฮฝฯ„ฯŒฮผฮตฯ…ฯƒฮท: F2", - "wt_del": "ฮดฮนฮฑฮณฯฮฑฯ†ฮฎ ฮตฯ€ฮนฮปฮตฮณฮผฮญฮฝฯ‰ฮฝ$Nฮฃฯ…ฮฝฯ„ฯŒฮผฮตฯ…ฯƒฮท: ctrl-K", - "wt_cut": "ฮฑฯ€ฮฟฮบฮฟฯ€ฮฎ ฮตฯ€ฮนฮปฮตฮณฮผฮญฮฝฯ‰ฮฝ <small>(ฮบฮฑฮน ฮตฯ€ฮนฮบฯŒฮปฮปฮทฯƒฮท ฮฑฮปฮปฮฟฯ)</small>$Nฮฃฯ…ฮฝฯ„ฯŒฮผฮตฯ…ฯƒฮท: ctrl-X", - "wt_cpy": "ฮฑฮฝฯ„ฮนฮณฯฮฑฯ†ฮฎ ฮตฯ€ฮนฮปฮตฮณฮผฮญฮฝฯ‰ฮฝ ฯƒฯ„ฮฟ ฯ€ฯฯŒฯ‡ฮตฮนฯฮฟ$N(ฮณฮนฮฑ ฮตฯ€ฮนฮบฯŒฮปฮปฮทฯƒฮท ฮฑฮปฮปฮฟฯ)$Nฮฃฯ…ฮฝฯ„ฯŒฮผฮตฯ…ฯƒฮท: ctrl-C", - "wt_pst": "ฮตฯ€ฮนฮบฯŒฮปฮปฮทฯƒฮท ฮฑฯ€ฮฟฮบฮฟฮผฮผฮญฮฝฯ‰ฮฝ / ฮฑฮฝฯ„ฮตฮณฯฮฑฮผฮผฮญฮฝฯ‰ฮฝ$Nฮฃฯ…ฮฝฯ„ฯŒฮผฮตฯ…ฯƒฮท: ctrl-V", - "wt_selall": "ฮตฯ€ฮนฮปฮฟฮณฮฎ ฯŒฮปฯ‰ฮฝ$Nฮฃฯ…ฮฝฯ„ฯŒฮผฮตฯ…ฯƒฮท: ctrl-A (ฮผฮต ฯ„ฮฟ ฮฑฯฯ‡ฮตฮฏฮฟ ฮตฯ€ฮนฮปฮตฮณฮผฮญฮฝฮฟ)", - "wt_selinv": "ฮฑฮฝฯ„ฮนฯƒฯ„ฯฮฟฯ†ฮฎ ฮตฯ€ฮนฮปฮฟฮณฮฎฯ‚", - "wt_zip1": "ฮบฮฑฯ„ฮญฮฒฮฑฯƒฮผฮฑ ฯ†ฮฑฮบฮญฮปฮฟฯ… ฯ‰ฯ‚ ฯƒฯ…ฮผฯ€ฮนฮตฯƒฮผฮญฮฝฮฟ ฮฑฯฯ‡ฮตฮฏฮฟ", - "wt_selzip": "ฮบฮฑฯ„ฮญฮฒฮฑฯƒฮผฮฑ ฮตฯ€ฮนฮปฮฟฮณฮฎฯ‚ ฯ‰ฯ‚ ฯƒฯ…ฮผฯ€ฮนฮตฯƒฮผฮญฮฝฮฟ ฮฑฯฯ‡ฮตฮฏฮฟ", - "wt_seldl": "ฮบฮฑฯ„ฮญฮฒฮฑฯƒฮผฮฑ ฮตฯ€ฮนฮปฮฟฮณฮฎฯ‚ ฯ‰ฯ‚ ฮผฮตฮผฮฟฮฝฯ‰ฮผฮญฮฝฮฑ ฮฑฯฯ‡ฮตฮฏฮฑ$Nฮฃฯ…ฮฝฯ„ฯŒฮผฮตฯ…ฯƒฮท: Y", - "wt_npirc": "ฮฑฮฝฯ„ฮนฮณฯฮฑฯ†ฮฎ ฯ€ฮปฮทฯฮฟฯ†ฮฟฯฮนฯŽฮฝ ฯ„ฯฮฑฮณฮฟฯ…ฮดฮนฮฟฯ ฯƒฮต ฮผฮฟฯฯ†ฮฎ irc", - "wt_nptxt": "ฮฑฮฝฯ„ฮนฮณฯฮฑฯ†ฮฎ ฯ€ฮปฮทฯฮฟฯ†ฮฟฯฮนฯŽฮฝ ฯ„ฯฮฑฮณฮฟฯ…ฮดฮนฮฟฯ ฯ‰ฯ‚ ฮบฮตฮฏฮผฮตฮฝฮฟ", - "wt_m3ua": "ฯ€ฯฮฟฯƒฮธฮฎฮบฮท ฯƒฮต m3u ฮปฮฏฯƒฯ„ฮฑ ฮฑฮฝฮฑฯ€ฮฑฯฮฑฮณฯ‰ฮณฮฎฯ‚ (ฮผฮตฯ„ฮฌ ฯ€ฮฌฯ„ฮทฯƒฮต ๐Ÿ“ปฮฑฮฝฯ„ฮนฮณฯฮฑฯ†ฮฎ)", - "wt_m3uc": "ฮฑฮฝฯ„ฮนฮณฯฮฑฯ†ฮฎ m3u ฮปฮฏฯƒฯ„ฮฑฯ‚ ฮฑฮฝฮฑฯ€ฮฑฯฮฑฮณฯ‰ฮณฮฎฯ‚ ฯƒฯ„ฮฟ ฯ€ฯฯŒฯ‡ฮตฮนฯฮฟ", - "wt_grid": "ฮตฮฝฮฑฮปฮปฮฑฮณฮฎ ฯ€ฮปฮญฮณฮผฮฑฯ„ฮฟฯ‚ / ฮปฮฏฯƒฯ„ฮฑฯ‚$Nฮฃฯ…ฮฝฯ„ฯŒฮผฮตฯ…ฯƒฮท: G", - "wt_prev": "ฯ€ฯฮฟฮทฮณฮฟฯฮผฮตฮฝฮฟ ฮบฮฟฮผฮผฮฌฯ„ฮน$Nฮฃฯ…ฮฝฯ„ฯŒฮผฮตฯ…ฯƒฮท: J", - "wt_play": "ฮฑฮฝฮฑฯ€ฮฑฯฮฑฮณฯ‰ฮณฮฎ / ฯ€ฮฑฯฯƒฮท$Nฮฃฯ…ฮฝฯ„ฯŒฮผฮตฯ…ฯƒฮท: P", - "wt_next": "ฮตฯ€ฯŒฮผฮตฮฝฮฟ ฮบฮฟฮผฮผฮฌฯ„ฮน$Nฮฃฯ…ฮฝฯ„ฯŒฮผฮตฯ…ฯƒฮท: L", - - "ul_par": "ฯ€ฮฑฯฮฌฮปฮปฮทฮปฮตฯ‚ ฮผฮตฯ„ฮฑฯ†ฮฟฯฯ„ฯŽฯƒฮตฮนฯ‚:", - "ut_rand": "ฯ„ฯ…ฯ‡ฮฑฮนฮฟฯ€ฮฟฮฏฮทฯƒฮท ฮฟฮฝฮฟฮผฮฌฯ„ฯ‰ฮฝ ฮฑฯฯ‡ฮตฮฏฯ‰ฮฝ", - "ut_u2ts": "ฮฑฮฝฯ„ฮนฮณฯฮฑฯ†ฮฎ ฯ„ฮทฯ‚ ฯ„ฮตฮปฮตฯ…ฯ„ฮฑฮฏฮฑฯ‚ ฯ„ฯฮฟฯ€ฮฟฯ€ฮฟฮนฮทฮผฮญฮฝฮทฯ‚ ฯ‡ฯฮฟฮฝฮฟฯƒฯ†ฯฮฑฮณฮฏฮดฮฑฯ‚ ฮฑฮปฮปฮฑฮณฮฎฯ‚$Nฮฑฯ€ฯŒ ฯ„ฮฟ ฯƒฯฯƒฯ„ฮทฮผฮฌ ฯƒฮฟฯ… ฯƒฯ„ฮฟฮฝ server\">๐Ÿ“…", - "ut_ow": "ฮฑฮฝฯ„ฮนฮบฮฑฯ„ฮฌฯƒฯ„ฮฑฯƒฮท ฯƒฮต ฮฎฮดฮท ฯ…ฯ€ฮฌฯฯ‡ฮฟฮฝฯ„ฮฑ ฮฑฯฯ‡ฮตฮฏฮฑ ฯ„ฮฟฯ… server?$N๐Ÿ›ก๏ธ: ฯ€ฮฟฯ„ฮญ (ฮธฮฑ ฮดฮทฮผฮนฮฟฯ…ฯฮณฮทฮธฮตฮฏ ฮฝฮญฮฟ ฯŒฮฝฮฟฮผฮฑ)$N๐Ÿ•’: ฮฑฮฝ ฯ„ฮฟ ฮฑฯฯ‡ฮตฮฏฮฟ ฯ„ฮฟฯ… server ฮตฮฏฮฝฮฑฮน ฯ€ฮฑฮปฮฑฮนฯŒฯ„ฮตฯฮฟ$Nโ™ป๏ธ: ฯ€ฮฌฮฝฯ„ฮฑ ฮฝฮฑ ฮฑฮฝฯ„ฮนฮบฮฑฮธฮฏฯƒฯ„ฮฑฮฝฯ„ฮฑฮน ฮฑฮฝ ฮดฮนฮฑฯ†ฮญฯฮฟฯ…ฮฝ", - "ut_mt": "ฯƒฯ…ฮฝฮญฯ‡ฮนฯƒฮท ฯ…ฯ€ฮฟฮปฮฟฮณฮนฯƒฮผฮฟฯ hash ฮณฮนฮฑ ฮฌฮปฮปฮฑ ฮฑฯฯ‡ฮตฮฏฮฑ ฮบฮฑฯ„ฮฌ ฯ„ฮท ฮผฮตฯ„ฮฑฯ†ฯŒฯฯ„ฯ‰ฯƒฮท$N$Nฮฑฯ€ฮตฮฝฮตฯฮณฮฟฯ€ฮฟฮฏฮทฯƒฮญ ฯ„ฮฟ ฮฑฮฝ ฮท CPU ฮฎ ฮฟ ฮดฮฏฯƒฮบฮฟฯ‚ ฯƒฮฟฯ… ฮถฮฟฯฮฏฮถฮฟฮฝฯ„ฮฑฮน", - "ut_ask": 'ฮตฯ€ฮนฮฒฮตฮฒฮฑฮฏฯ‰ฯƒฮท ฯ€ฯฮนฮฝ ฮพฮตฮบฮนฮฝฮฎฯƒฮตฮน ฮท ฮผฮตฯ„ฮฑฯ†ฯŒฯฯ„ฯ‰ฯƒฮท">๐Ÿ’ญ', - "ut_pot": "ฮฒฮตฮปฯ„ฮฏฯ‰ฯƒฮท ฯ„ฮฑฯ‡ฯฯ„ฮทฯ„ฮฑฯ‚ ฮผฮตฯ„ฮฑฯ†ฯŒฯฯ„ฯ‰ฯƒฮทฯ‚ ฯƒฮต ฮฑฯฮณฮญฯ‚ ฯƒฯ…ฯƒฮบฮตฯ…ฮญฯ‚$Nฮผฮต ฮฑฯ€ฮปฮฟฯ€ฮฟฮฏฮทฯƒฮท ฯ„ฮฟฯ… UI", - "ut_srch": "ฮผฮทฮฝ ฮฑฮฝฮตฮฒฮฌฮถฮตฮนฯ‚, ฮญฮปฮตฮณฮพฮต ฮฑฮฝ ฯ„ฮฑ ฮฑฯฯ‡ฮตฮฏฮฑ$Nฯ…ฯ€ฮฌฯฯ‡ฮฟฯ…ฮฝ ฮฎฮดฮท ฯƒฯ„ฮฟฮฝ server (ฯˆฮฌฯ‡ฮฝฮตฮน ฯƒฮต ฯŒฮปฮฟฯ…ฯ‚ ฯ„ฮฟฯ…ฯ‚ ฯ†ฮฑฮบฮญฮปฮฟฯ…ฯ‚ ฯ€ฮฟฯ… ฮญฯ‡ฮตฮนฯ‚ ฯ€ฯฯŒฯƒฮฒฮฑฯƒฮท)", - "ut_par": "ฮบฮฌฮฝฮต ฯ€ฮฑฯฯƒฮท ฯƒฯ„ฮนฯ‚ ฮผฮตฯ„ฮฑฯ†ฮฟฯฯ„ฯŽฯƒฮตฮนฯ‚ ฮฒฮฌฮถฮฟฮฝฯ„ฮฌฯ‚ ฯ„ฮฟ 0$N$Nฮฑฯฮพฮทฯƒฮต ฯ„ฮฟ ฮฑฮฝ ฮญฯ‡ฮตฮนฯ‚ ฮฑฯฮณฮฎ/ฮผฮตฮณฮฌฮปฮท ฮบฮฑฮธฯ…ฯƒฯ„ฮญฯฮทฯƒฮท ฯƒฯฮฝฮดฮตฯƒฮทฯ‚$N$Nฮบฯฮฌฯ„ฮฑ ฯ„ฮฟ 1 ฯƒฮต LAN ฮฎ ฮฑฮฝ ฮฟ server ฮญฯ‡ฮตฮน ฮฑฯฮณฯŒ ฮดฮฏฯƒฮบฮฟ", - "ul_btn": "ฯฮฏฮพฮต ฮฑฯฯ‡ฮตฮฏฮฑ / ฯ†ฮฑฮบฮญฮปฮฟฯ…ฯ‚
    ฮตฮดฯŽ (ฮฎ ฮบฮฌฮฝฮต ฮบฮปฮนฮบ ฯƒฮต ฮผฮญฮฝฮฑ)", - "ul_btnu": "ฮœ ฮ• ฮค ฮ‘ ฮฆ ฮŸ ฮก ฮค ฮฉ ฮฃ ฮ—", - "ul_btns": "ฮ‘ ฮ ฮ‘ ฮ– ฮ— ฮค ฮ— ฮฃ ฮ—", - - "ul_hash": "ฯ…ฯ€ฮฟฮปฮฟฮณฮนฯƒฮผฯŒฯ‚ hash", - "ul_send": "ฮฑฯ€ฮฟฯƒฯ„ฮฟฮปฮฎ", - "ul_done": "ฮฟฮปฮฟฮบฮปฮทฯฯŽฮธฮทฮบฮต", - "ul_idle1": "ฮบฮฑฮผฮฏฮฑ ฮผฮตฯ„ฮฑฯ†ฯŒฯฯ„ฯ‰ฯƒฮท ฯƒฯ„ฮทฮฝ ฮฟฯ…ฯฮฌ ฮณฮนฮฑ ฯ„ฮทฮฝ ฯŽฯฮฑ", - "ut_etah": "ฮผฮญฯƒฮท ฯ„ฮฑฯ‡ฯฯ„ฮทฯ„ฮฑ <em>ฯ…ฯ€ฮฟฮปฮฟฮณฮนฯƒฮผฮฟฯ hash</em> ฮบฮฑฮน ฮตฮบฯ„ฮฏฮผฮทฯƒฮท ฯ‡ฯฯŒฮฝฮฟฯ… ฮผฮญฯ‡ฯฮน ฯ„ฮทฮฝ ฮฟฮปฮฟฮบฮปฮฎฯฯ‰ฯƒฮท", - "ut_etau": "ฮผฮญฯƒฮท ฯ„ฮฑฯ‡ฯฯ„ฮทฯ„ฮฑ <em>ฮผฮตฯ„ฮฑฯ†ฯŒฯฯ„ฯ‰ฯƒฮทฯ‚</em> ฮบฮฑฮน ฮตฮบฯ„ฮฏฮผฮทฯƒฮท ฯ‡ฯฯŒฮฝฮฟฯ… ฮผฮญฯ‡ฯฮน ฯ„ฮทฮฝ ฮฟฮปฮฟฮบฮปฮฎฯฯ‰ฯƒฮท", - "ut_etat": "ฮผฮญฯƒฮท <em>ฯƒฯ…ฮฝฮฟฮปฮนฮบฮฎ</em> ฯ„ฮฑฯ‡ฯฯ„ฮทฯ„ฮฑ ฮบฮฑฮน ฮตฮบฯ„ฮฏฮผฮทฯƒฮท ฯ‡ฯฯŒฮฝฮฟฯ… ฮผฮญฯ‡ฯฮน ฯ„ฮทฮฝ ฮฟฮปฮฟฮบฮปฮฎฯฯ‰ฯƒฮท", - - "uct_ok": "ฮฟฮปฮฟฮบฮปฮทฯฯŽฮธฮทฮบฮต ฮตฯ€ฮนฯ„ฯ…ฯ‡ฯŽฯ‚", - "uct_ng": "no-good: ฮฑฯ€ฮญฯ„ฯ…ฯ‡ฮต / ฮฑฯ€ฮฟฯฯฮฏฯ†ฮธฮทฮบฮต / ฮดฮตฮฝ ฮฒฯฮญฮธฮทฮบฮต", - "uct_done": "ฮฟฮปฮฟฮบฮปฮทฯฯ‰ฮผฮญฮฝฮฑ ฮบฮฑฮน ฮฑฯ€ฮฟฯ„ฯ…ฯ‡ฮทฮผฮญฮฝฮฑ", - "uct_bz": "ฮบฮฌฮฝฮตฮน hash ฮฎ ฮผฮตฯ„ฮฑฯ†ฮฟฯฯ„ฯŽฮฝฮตฮน", - "uct_q": "ฯƒฮต ฮฑฮฝฮฑฮผฮฟฮฝฮฎ, ฮตฮบฮบฯฮตฮผฮตฮฏ", - - "utl_name": "ฯŒฮฝฮฟฮผฮฑ ฮฑฯฯ‡ฮตฮฏฮฟฯ…", - "utl_ulist": "ฮปฮฏฯƒฯ„ฮฑ", - "utl_ucopy": "ฮฑฮฝฯ„ฮนฮณฯฮฑฯ†ฮฎ", - "utl_links": "ฯƒฯฮฝฮดฮตฯƒฮผฮฟฮน", - "utl_stat": "ฮบฮฑฯ„ฮฌฯƒฯ„ฮฑฯƒฮท", - "utl_prog": "ฯ€ฯฯŒฮฟฮดฮฟฯ‚", - - // keep short: - "utl_404": "404", - "utl_err": "ฮฃฮฆฮ‘ฮ›ฮœฮ‘", - "utl_oserr": "ฮฃฮฆ-ฮ›ฮ•", - "utl_found": "ฮฒฯฮญฮธฮทฮบฮต", - "utl_defer": "ฮฑฮฝฮฑฮฒฮฟฮปฮฎ", - "utl_yolo": "YOLO", - "utl_done": "ฮญฮณฮนฮฝฮต", - - "ul_flagblk": "ฯ„ฮฑ ฮฑฯฯ‡ฮตฮฏฮฑ ฯ€ฯฮฟฯƒฯ„ฮญฮธฮทฮบฮฑฮฝ ฯƒฯ„ฮทฮฝ ฮฟฯ…ฯฮฌ
    ฮฑฮปฮปฮฌ ฯ…ฯ€ฮฌฯฯ‡ฮตฮน ฮฌฮปฮปฮท ฮตฮฝฮตฯฮณฮฎ ฮผฮตฯ„ฮฑฯ†ฯŒฯฯ„ฯ‰ฯƒฮท ฯƒฮต ฮฌฮปฮปฮท ฮบฮฑฯฯ„ฮญฮปฮฑ,
    ฮฟฯ€ฯŒฯ„ฮต ฯ€ฮตฯฮฏฮผฮตฮฝฮต ฮฝฮฑ ฯ„ฮตฮปฮตฮนฯŽฯƒฮตฮน ฮฑฯ…ฯ„ฯŒ ฯ€ฯฯŽฯ„ฮฑ", - "ul_btnlk": "ฮฟ ฮดฮนฮฑฮบฮฟฮผฮนฯƒฯ„ฮฎฯ‚ ฮญฯ‡ฮตฮน ฮบฮปฮตฮนฮดฯŽฯƒฮตฮน ฮฑฯ…ฯ„ฮฎฮฝ ฯ„ฮทฮฝ ฮตฯ€ฮนฮปฮฟฮณฮฎ ฯƒฮต ฮฑฯ…ฯ„ฮฎฮฝ ฯ„ฮทฮฝ ฮบฮฑฯ„ฮฌฯƒฯ„ฮฑฯƒฮท", - - "udt_up": "ฮœฮตฯ„ฮฑฯ†ฯŒฯฯ„ฯ‰ฯƒฮท", - "udt_srch": "ฮ‘ฮฝฮฑฮถฮฎฯ„ฮทฯƒฮท", - "udt_drop": "ฯฮฏฮพ' ฯ„ฮฟ ฮตฮดฯŽ", - - "u_nav_m": '
    ฮฟฮบ, ฯ„ฮน ฮญฯ‡ฮฟฯ…ฮผฮต ฮตฮดฯŽ;
    Enter = ฮ‘ฯฯ‡ฮตฮฏฮฑ (ฮญฮฝฮฑ ฮฎ ฯ€ฮตฯฮนฯƒฯƒฯŒฯ„ฮตฯฮฑ)\nESC = ฮˆฮฝฮฑฯ‚ ฯ†ฮฌฮบฮตฮปฮฟฯ‚ (ฮผฮฑฮถฮฏ ฮผฮต ฯ…ฯ€ฮฟฯ†ฮฑฮบฮญฮปฮฟฯ…ฯ‚)', - "u_nav_b": 'ฮ‘ฯฯ‡ฮตฮฏฮฑฮˆฮฝฮฑฯ‚ ฯ†ฮฌฮบฮตฮปฮฟฯ‚', - - "cl_opts": "ฮดฮนฮฑฮบฯŒฯ€ฯ„ฮตฯ‚", - "cl_themes": "ฮธฮญฮผฮฑ", - "cl_langs": "ฮณฮปฯŽฯƒฯƒฮฑ", - "cl_ziptype": "ฮปฮฎฯˆฮท ฯ†ฮฑฮบฮญฮปฮฟฯ…", - "cl_uopts": "ฮดฮนฮฑฮบฯŒฯ€ฯ„ฮตฯ‚ ฮผฮตฯ„ฮฑฯ†ฯŒฯฯ„ฯ‰ฯƒฮทฯ‚", - "cl_favico": "favicon", - "cl_bigdir": "ฮผฮตฮณฮฌฮปฮฟฮน ฯ†ฮฌฮบฮตฮปฮฟฮน", - "cl_hsort": "#ฯ„ฮฑฮพฮนฮฝฯŒฮผฮทฯƒฮท", - "cl_keytype": "ฯƒฮทฮผฮตฮฏฯ‰ฯƒฮท ฯ€ฮปฮฎฮบฯ„ฯฯ‰ฮฝ", - "cl_hiddenc": "ฮบฯฯ…ฯ†ฮญฯ‚ ฯƒฯ„ฮฎฮปฮตฯ‚", - "cl_hidec": "ฮบฯฯฯˆฮต", - "cl_reset": "ฮตฯ€ฮฑฮฝฮตฮบฮบฮฏฮฝฮทฯƒฮท", - "cl_hpick": "ฯ€ฮฌฯ„ฮทฯƒฮต ฯƒฯ„ฮนฯ‚ ฮบฮตฯ†ฮฑฮปฮฏฮดฮตฯ‚ ฯƒฯ„ฮทฮปฯŽฮฝ ฮณฮนฮฑ ฮฝฮฑ ฯ„ฮนฯ‚ ฮบฯฯฯˆฮตฮนฯ‚ ฯƒฯ„ฮฟฮฝ ฯ€ฮฏฮฝฮฑฮบฮฑ ฯ€ฮฑฯฮฑฮบฮฌฯ„ฯ‰", - "cl_hcancel": "ฮท ฮฑฯ€ฯŒฮบฯฯ…ฯˆฮท ฯƒฯ„ฮทฮปฯŽฮฝ ฮฑฮบฯ…ฯฯŽฮธฮทฮบฮต", - - "ct_grid": '็”ฐ ฯ„ฮฟ ฯ€ฮปฮญฮณฮผฮฑ', - "ct_ttips": 'โ—” โ—ก โ—”">โ„น๏ธ ฯƒฯ…ฮผฮฒฮฟฯ…ฮปฮญฯ‚ ฮตฯฮณฮฑฮปฮตฮฏฯ‰ฮฝ', - "ct_thumb": 'ฯƒฮต ฯ€ฯฮฟฮฒฮฟฮปฮฎ ฯ€ฮปฮญฮณฮผฮฑฯ„ฮฟฯ‚, ฮตฮฝฮฑฮปฮปฮฑฮณฮฎ ฮตฮนฮบฮฟฮฝฮนฮดฮฏฯ‰ฮฝ ฮฎ ฮผฮนฮบฯฮฟฮณฯฮฑฯ†ฮนฯŽฮฝ$Nฮ ฮปฮฎฮบฯ„ฯฮฟ ฯƒฯ…ฮฝฯ„ฯŒฮผฮตฯ…ฯƒฮทฯ‚: T">๐Ÿ–ผ๏ธ ฮผฮนฮบฯฮฟฮณฯฮฑฯ†ฮฏฮตฯ‚', - "ct_csel": 'ฯ‡ฯฮทฯƒฮนฮผฮฟฯ€ฮฟฮฏฮทฯƒฮต CTRL ฮบฮฑฮน SHIFT ฮณฮนฮฑ ฮตฯ€ฮนฮปฮฟฮณฮฎ ฮฑฯฯ‡ฮตฮฏฯ‰ฮฝ ฯƒฮต ฯ€ฯฮฟฮฒฮฟฮปฮฎ ฯ€ฮปฮญฮณฮผฮฑฯ„ฮฟฯ‚">ฮตฯ€ฮนฮปฮฟฮณฮฎ', - "ct_ihop": 'ฯŒฯ„ฮฑฮฝ ฮท ฯ€ฯฮฟฮฒฮฟฮปฮฎ ฮตฮนฮบฯŒฮฝฯ‰ฮฝ ฮบฮปฮตฮฏฮฝฮตฮน, ฮบฮฌฮฝฮต scroll ฯƒฯ„ฮฟ ฯ„ฮตฮปฮตฯ…ฯ„ฮฑฮฏฮฟ ฯ€ฯฮฟฮฒฮฑฮปฮปฯŒฮผฮตฮฝฮฟ ฮฑฯฯ‡ฮตฮฏฮฟ">gโฎฏ', - "ct_dots": 'ฮตฮผฯ†ฮฌฮฝฮนฯƒฮท ฮบฯฯ…ฯ†ฯŽฮฝ ฮฑฯฯ‡ฮตฮฏฯ‰ฮฝ (ฮฑฮฝ ฯ„ฮฟ ฮตฯ€ฮนฯ„ฯฮญฯ€ฮตฮน ฮฟ server)">dotfiles', - "ct_qdel": 'ฯŒฯ„ฮฑฮฝ ฮดฮนฮฑฮณฯฮฌฯ†ฮตฮนฯ‚ ฮฑฯฯ‡ฮตฮฏฮฑ, ฮถฮฎฯ„ฮฑ ฮตฯ€ฮนฮฒฮตฮฒฮฑฮฏฯ‰ฯƒฮท ฮผฯŒฮฝฮฟ ฮผฮฏฮฑ ฯ†ฮฟฯฮฌ">ฮณฯฮฎฮณฮฟฯฮท ฮดฮนฮฑฮณฯฮฑฯ†ฮฎ', - "ct_dir1st": 'ฯ„ฮฑฮพฮนฮฝฯŒฮผฮทฯƒฮท ฯ†ฮฑฮบฮญฮปฯ‰ฮฝ ฯ€ฯฮนฮฝ ฮฑฯ€ฯŒ ฯ„ฮฑ ฮฑฯฯ‡ฮตฮฏฮฑ">๐Ÿ“ ฯ€ฯฯŽฯ„ฮฑ', - "ct_nsort": 'ฯ†ฯ…ฯƒฮนฮบฮฎ ฯ„ฮฑฮพฮนฮฝฯŒฮผฮทฯƒฮท (ฮณฮนฮฑ ฮฟฮฝฯŒฮผฮฑฯ„ฮฑ ฮฑฯฯ‡ฮตฮฏฯ‰ฮฝ ฮผฮต ฮฑฯฮนฮธฮผฮฟฯฯ‚ ฯƒฯ„ฮทฮฝ ฮฑฯฯ‡ฮฎ)">ฯ†ฯ…ฯƒฮนฮบฮฎ ฯ„ฮฑฮพฮนฮฝฯŒฮผฮทฯƒฮท', - "ct_utc": 'ฮตฮผฯ†ฮฌฮฝฮนฯƒฮท ฯŒฮปฯ‰ฮฝ ฯ„ฯ‰ฮฝ ฮทฮผฮตฯฮฟฮผฮทฮฝฮนฯŽฮฝ ฯƒฮต UTC">UTC', - "ct_readme": 'ฮตฮผฯ†ฮฌฮฝฮนฯƒฮท README.md ฯƒฯ„ฮนฯ‚ ฮปฮฏฯƒฯ„ฮตฯ‚ ฯ†ฮฑฮบฮญฮปฯ‰ฮฝ">๐Ÿ“œ ฯ€ฮปฮทฯฮฟฯ†ฮฟฯฮฏฮตฯ‚', - "ct_idxh": 'ฮตฮผฯ†ฮฌฮฝฮนฯƒฮท index.html ฮฑฮฝฯ„ฮฏ ฮณฮนฮฑ ฮปฮฏฯƒฯ„ฮฑ ฯ†ฮฑฮบฮญฮปฯ‰ฮฝ">html', - "ct_sbars": 'ฮตฮผฯ†ฮฌฮฝฮนฯƒฮท ฮผฯ€ฮฑฯฯŽฮฝ ฮบฯฮปฮนฯƒฮทฯ‚">โŸŠ', - - "cut_umod": "ฮฑฮฝ ฯ„ฮฟ ฮฑฯฯ‡ฮตฮฏฮฟ ฯ…ฯ€ฮฌฯฯ‡ฮตฮน ฮฎฮดฮท ฯƒฯ„ฮฟฮฝ server, ฮตฮฝฮทฮผฮญฯฯ‰ฯƒฮญ ฯ„ฮฟ ฮผฮต ฯ„ฮทฮฝ ฯ„ฮตฮปฮตฯ…ฯ„ฮฑฮฏฮฑ ฯ‡ฯฮฟฮฝฮฟฯƒฯ†ฯฮฑฮณฮฏฮดฮฑ ฯ„ฯฮฟฯ€ฮฟฯ€ฮฟฮฏฮทฯƒฮทฯ‚ ฮณฮนฮฑ ฮฝฮฑ ฯ„ฮฑฮนฯฮนฮฌฮถฮตฮน ฮผฮต ฯ„ฮฟ ฯ„ฮฟฯ€ฮนฮบฯŒ ฮฑฯฯ‡ฮตฮฏฮฟ (ฮฑฯ€ฮฑฮนฯ„ฮตฮฏ ฮดฮนฮบฮฑฮนฯŽฮผฮฑฯ„ฮฑ ฮตฮณฮณฯฮฑฯ†ฮฎฯ‚+ฮดฮนฮฑฮณฯฮฑฯ†ฮฎฯ‚)\">re๐Ÿ“…", - - "cut_turbo": "ฯ„ฮฟ ฮบฮฟฯ…ฮผฯ€ฮฏ yolo, ฯ€ฮนฮธฮฑฮฝฯŒฮฝ ฮฝฮฑ ฮœฮ—ฮ ฮ˜ฮ•ฮ›ฮ•ฮ™ฮฃ ฮฝฮฑ ฯ„ฮฟ ฮตฮฝฮตฯฮณฮฟฯ€ฮฟฮนฮฎฯƒฮตฮนฯ‚:$N$Nฯ‡ฯฮทฯƒฮนฮผฮฟฯ€ฮฟฮฏฮทฯƒฮญ ฯ„ฮฟ ฮฑฮฝ ฮผฮตฯ„ฮฑฯ†ฮฟฯฯ„ฯŽฮฝฮตฮนฯ‚ ฯ€ฮฟฮปฮปฮฌ ฮฑฯฯ‡ฮตฮฏฮฑ ฮบฮฑฮน ฯ‡ฯฮตฮนฮฌฯƒฯ„ฮทฮบฮต ฮฝฮฑ ฮพฮฑฮฝฮฑฯฯ‡ฮฏฯƒฮตฮนฯ‚, ฮบฮฑฮน ฮธฮตฯ‚ ฮฝฮฑ ฯƒฯ…ฮฝฮตฯ‡ฮฏฯƒฮตฮนฯ‚ ฯ„ฮท ฮผฮตฯ„ฮฑฯ†ฯŒฯ„ฯฯ‰ฯƒฮท ฯŒฯƒฮฟ ฯ„ฮฟ ฮดฯ…ฮฝฮฑฯ„ฯŒฮฝ ฯ€ฮนฮฟ ฮณฯฮฎฮณฮฟฯฮฑ$N$Nฮฑฮฝฯ„ฮนฮบฮฑฮธฮนฯƒฯ„ฮฌ ฯ„ฮฟฮฝ ฮญฮปฮตฮณฯ‡ฮฟ hash ฮผฮต ฮฑฯ€ฮปฯŒ "ฮญฯ‡ฮตฮน ฯ„ฮฟ ฮฏฮดฮนฮฟ ฮผฮญฮณฮตฮธฮฟฯ‚ ฮฑฯฯ‡ฮตฮฏฮฟฯ… ฯƒฯ„ฮฟฮฝ server?" ฮฟฯ€ฯŒฯ„ฮต ฮฑฮฝ ฯ„ฮฟ ฯ€ฮตฯฮนฮตฯ‡ฯŒฮผฮตฮฝฮฟ ฮตฮฏฮฝฮฑฮน ฮดฮนฮฑฯ†ฮฟฯฮตฯ„ฮนฮบฯŒ, ฮ”ฮ•ฮ ฮธฮฑ ฮฑฮฝฮญฮฒฮตฮน$N$Nฯ€ฯฮญฯ€ฮตฮน ฮฝฮฑ ฯ„ฮฟ ฮบฮปฮตฮฏฯƒฮตฮนฯ‚ ฯŒฯ„ฮฑฮฝ ฯ„ฮตฮปฮตฮนฯŽฯƒฮตฮน ฮท ฮผฮตฯ„ฮฑฯ†ฯŒฯฯ„ฯ‰ฯƒฮท ฮบฮฑฮน ฮผฮตฯ„ฮฌ ฮฝฮฑ "ฮผฮตฯ„ฮฑฯ†ฮฟฯฯ„ฯŽฯƒฮตฮนฯ‚" ฯ€ฮฌฮปฮน ฯ„ฮฑ ฮฏฮดฮนฮฑ ฮฑฯฯ‡ฮตฮฏฮฑ ฮณฮนฮฑ ฮฝฮฑ ฯ„ฮฑ ฮตฯ€ฮนฮฒฮตฮฒฮฑฮนฯŽฯƒฮตฮน ฯ„ฮฟ ฯ„ฮฟฯ€ฮนฮบฯŒ ฯƒฮฟฯ… ฯ€ฯฯŒฮณฯฮฑฮผฮผฮฑ\">turbo", - - "cut_datechk": "ฮดฮตฮฝ ฮตฯ€ฮทฯฮตฮฌฮถฮตฮน ฯ„ฮฏฯ€ฮฟฯ„ฮฑ ฮตฮบฯ„ฯŒฯ‚ ฮฑฮฝ ฯ„ฮฟ turbo ฮตฮฏฮฝฮฑฮน ฮตฮฝฮตฯฮณฮฟฯ€ฮฟฮนฮทฮผฮญฮฝฮฟ$N$NฮผฮตฮนฯŽฮฝฮตฮน ฮปฮฏฮณฮฟ ฯ„ฮฟฮฝ ฯ€ฮฑฯฮฌฮณฮฟฮฝฯ„ฮฑ yolo; ฮตฮปฮญฮณฯ‡ฮตฮน ฮฑฮฝ ฮฟฮน ฯ‡ฯฮฟฮฝฮฟฯƒฯ†ฯฮฑฮณฮฏฮดฮตฯ‚ ฯƒฯ„ฮฟ ฮดฮนฮฑฮบฮฟฮผฮนฯƒฯ„ฮฎ ฯ„ฮฑฮนฯฮนฮฌฮถฮฟฯ…ฮฝ ฮผฮต ฯ„ฮฑ ฮดฮนฮบฮฌ ฯƒฮฟฯ…$N$Nฯ€ฮนฮฌฮฝฮตฮน ฮธฮตฯ‰ฯฮทฯ„ฮนฮบฮฌ ฯ„ฮนฯ‚ ฯ€ฮตฯฮนฯƒฯƒฯŒฯ„ฮตฯฮตฯ‚ ฮผฮนฯƒฮฟฯ„ฮตฮปฮตฮนฯ‰ฮผฮญฮฝฮตฯ‚/ฮบฮฑฯ„ฮตฯƒฯ„ฯฮฑฮผฮผฮญฮฝฮตฯ‚ ฮผฮตฯ„ฮฑฯ†ฮฟฯฯ„ฯŽฯƒฮตฮนฯ‚, ฮฑฮปฮปฮฌ ฮดฮตฮฝ ฮฑฮฝฯ„ฮนฮบฮฑฮธฮนฯƒฯ„ฮฌ ฯ„ฮฟฮฝ ฮญฮปฮตฮณฯ‡ฮฟ ฮผฮต ฯ„ฮฟ turbo ฮฑฯ€ฮตฮฝฮตฯฮณฮฟฯ€ฮฟฮนฮทฮผฮญฮฝฮฟ ฮผฮตฯ„ฮญฯ€ฮตฮนฯ„ฮฑ\">ฮญฮปฮตฮณฯ‡ฮฟฯ‚ ฮทฮผฮตฯฮฟฮผฮทฮฝฮฏฮฑฯ‚", - - "cut_u2sz": "ฮผฮญฮณฮตฮธฮฟฯ‚ (ฯƒฮต MiB) ฮบฮฌฮธฮต ฮบฮฟฮผฮผฮฑฯ„ฮนฮฟฯ ฮผฮตฯ„ฮฑฯ†ฯŒฯฯ„ฯ‰ฯƒฮทฯ‚; ฮผฮตฮณฮฌฮปฮตฯ‚ ฯ„ฮนฮผฮญฯ‚ ฮปฮตฮนฯ„ฮฟฯ…ฯฮณฮฟฯฮฝ ฮบฮฑฮปฯฯ„ฮตฯฮฑ ฯƒฮต ฮผฮตฮณฮฑฮปฯฯ„ฮตฯฮตฯ‚ ฮฑฯ€ฮฟฯƒฯ„ฮฌฯƒฮตฮนฯ‚ ฮดฮนฮฑฮบฮฟฮผฮนฯƒฯ„ฮฎ-ฯ€ฮตฮปฮฌฯ„ฮท. ฮ”ฮฟฮบฮฏฮผฮฑฯƒฮต ฮผฮนฮบฯฮญฯ‚ ฯ„ฮนฮผฮญฯ‚ ฯƒฮต ฯ€ฮฟฮปฯ ฮฌฯƒฯ„ฮฑฯ„ฮตฯ‚ ฯƒฯ…ฮฝฮดฮญฯƒฮตฮนฯ‚", - - "cut_flag": "ฮตฮพฮฑฯƒฯ†ฮฑฮปฮฏฮถฮตฮน ฯŒฯ„ฮน ฮผฯŒฮฝฮฟ ฮผฮฏฮฑ ฮบฮฑฯฯ„ฮญฮปฮฑ ฮผฮตฯ„ฮฑฯ†ฮฟฯฯ„ฯŽฮฝฮตฮน ฮบฮฌฮธฮต ฯ†ฮฟฯฮฌ $N -- ฮฟฮน ฮฌฮปฮปฮตฯ‚ ฮบฮฑฯฯ„ฮญฮปฮตฯ‚ ฯ€ฯฮญฯ€ฮตฮน ฮฝฮฑ ฯ„ฮฟ ฮญฯ‡ฮฟฯ…ฮฝ ฮบฮน ฮฑฯ…ฯ„ฮญฯ‚ ฮตฮฝฮตฯฮณฯŒ $N -- ฮตฯ€ฮทฯฮตฮฌฮถฮตฮน ฮผฯŒฮฝฮฟ ฯ„ฮนฯ‚ ฮบฮฑฯฯ„ฮญฮปฮตฯ‚ ฯ€ฮฟฯ… ฮฒฯฮฏฯƒฮบฮฟฮฝฯ„ฮฑฮน ฯƒฯ„ฮฟ ฮฏฮดฮนฮฟ ฮดฮนฮตฯฮธฯ…ฮฝฯƒฮท", - - "cut_az": "ฮผฮตฯ„ฮฑฯ†ฯŒฯฯ„ฯ‰ฯƒฮต ฯ„ฮฑ ฮฑฯฯ‡ฮตฮฏฮฑ ฮฑฮปฯ†ฮฑฮฒฮทฯ„ฮนฮบฮฌ, ฮฑฮฝฯ„ฮฏ ฮณฮนฮฑ ฯ„ฮฟ ฮผฮนฮบฯฯŒฯ„ฮตฯฮฟ ฮฑฯฯ‡ฮตฮฏฮฟ, ฯ€ฯฯŽฯ„ฮฑ$N$Nฮท ฮฑฮปฯ†ฮฑฮฒฮทฯ„ฮนฮบฮฎ ฯƒฮตฮนฯฮฌ ฮฒฮฟฮทฮธฮฌ ฮฝฮฑ ฮบฮฑฯ„ฮฑฮปฮฌฮฒฮตฮนฯ‚ ฮฑฮฝ ฮบฮฌฯ„ฮน ฯ‡ฮฌฮปฮฑฯƒฮต ฯƒฯ„ฮฟ ฮดฮนฮฑฮบฮฟฮผฮนฯƒฯ„ฮฎ ฮฑฮปฮปฮฌ ฮบฮฌฮฝฮตฮน ฯ„ฮฟ ฮฑฮฝฮญฮฒฮฑฯƒฮผฮฑ ฮปฮฏฮณฮฟ ฯ€ฮนฮฟ ฮฑฯฮณฯŒ ฯƒฮต fiber / LAN", - - "cut_nag": "ฮตฮนฮดฮฟฯ€ฮฟฮฏฮทฯƒฮท ฮปฮตฮนฯ„ฮฟฯ…ฯฮณฮนฮบฮฟฯ ฯƒฯ…ฯƒฯ„ฮฎฮผฮฑฯ„ฮฟฯ‚ ฯŒฯ„ฮฑฮฝ ฯ„ฮตฮปฮตฮนฯŽฯƒฮตฮน ฮท ฮผฮตฯ„ฮฑฯ†ฯŒฯฯ„ฯ‰ฯƒฮท$N(ฮผฯŒฮฝฮฟ ฮฑฮฝ ฮฟ browser ฮฎ ฮท ฮบฮฑฯฯ„ฮญฮปฮฑ ฮดฮตฮฝ ฮตฮฏฮฝฮฑฮน ฮตฮฝฮตฯฮณฮฌ)", - "cut_sfx": "ฮทฯ‡ฮทฯ„ฮนฮบฮฎ ฮตฮนฮดฮฟฯ€ฮฟฮฏฮทฯƒฮท ฯŒฯ„ฮฑฮฝ ฯ„ฮตฮปฮตฮนฯŽฯƒฮตฮน ฮท ฮผฮตฯ„ฮฑฯ†ฯŒฯฯ„ฯ‰ฯƒฮท$N(ฮผฯŒฮฝฮฟ ฮฑฮฝ ฮฟ browser ฮฎ ฮท ฮบฮฑฯฯ„ฮญฮปฮฑ ฮดฮตฮฝ ฮตฮฏฮฝฮฑฮน ฮตฮฝฮตฯฮณฮฌ)", - - "cut_mt": "ฯ‡ฯฮทฯƒฮนฮผฮฟฯ€ฮฟฮฏฮทฯƒฮต multithreading ฮณฮนฮฑ ฮฝฮฑ ฮตฯ€ฮนฯ„ฮฑฯ‡ฯฮฝฮตฮนฯ‚ ฯ„ฮฟ hashing ฯ„ฯ‰ฮฝ ฮฑฯฯ‡ฮตฮฏฯ‰ฮฝ$N$Nฯ‡ฯฮทฯƒฮนฮผฮฟฯ€ฮฟฮนฮตฮฏ web-workers ฮบฮฑฮน ฯ‡ฯฮตฮนฮฌฮถฮตฯ„ฮฑฮน$Nฯ€ฮตฯฮนฯƒฯƒฯŒฯ„ฮตฯฮท RAM (ฮผฮญฯ‡ฯฮน 512 MiB ฮตฯ€ฮนฯ€ฮปฮญฮฟฮฝ)$N$Nฮบฮฌฮฝฮตฮน ฯ„ฮฟ https 30% ฯ€ฮนฮฟ ฮณฯฮฎฮณฮฟฯฮฟ, ฯ„ฮฟ http 4.5x ฯ€ฮนฮฟ ฮณฯฮฎฮณฮฟฯฮฟ\">mt", - - "cut_wasm": "ฯ‡ฯฮทฯƒฮนฮผฮฟฯ€ฮฟฮฏฮทฯƒฮต wasm ฮฑฮฝฯ„ฮฏ ฮณฮนฮฑ ฯ„ฮฟฮฝ ฮตฮฝฯƒฯ‰ฮผฮฑฯ„ฯ‰ฮผฮญฮฝฮฟ hasher ฯ„ฮฟฯ… browser; ฮฒฮตฮปฯ„ฮนฯŽฮฝฮตฮน ฯ„ฮทฮฝ ฯ„ฮฑฯ‡ฯฯ„ฮทฯ„ฮฑ ฯƒฮต chrome-based browsers ฮฑฮปฮปฮฌ ฮฑฯ…ฮพฮฌฮฝฮตฮน ฯ„ฮฟ ฯ†ฮฟฯฯ„ฮฏฮฟ ฯ„ฮทฯ‚ CPU, ฮบฮฑฮน ฯ€ฮฑฮปฮนฮญฯ‚ ฮตฮบฮดฯŒฯƒฮตฮนฯ‚ chrome ฮญฯ‡ฮฟฯ…ฮฝ bugs ฯ€ฮฟฯ… ฮบฮฌฮฝฮฟฯ…ฮฝ ฯ„ฮฟ browser ฮฝฮฑ ฯ„ฯฯŽฮตฮน ฯŒฮปฮท ฯ„ฮท RAM ฮบฮฑฮน ฮฝฮฑ ฮบฯฮฑฯƒฮฌฯฮตฮน ฮฑฮฝ ฮตฮฝฮตฯฮณฮฟฯ€ฮฟฮนฮทฮธฮตฮฏ\">wasm", - - "cft_text": "ฮบฮตฮฏฮผฮตฮฝฮฟ favicon (ฮบฮตฮฝฯŒ ฮบฮฑฮน ฮฑฮฝฮฑฮฝฮญฯ‰ฯƒฮท ฮณฮนฮฑ ฮฑฯ€ฮตฮฝฮตฯฮณฮฟฯ€ฮฟฮฏฮทฯƒฮท)", - "cft_fg": "ฯ‡ฯฯŽฮผฮฑ ฯ€ฯฮฟฯƒฮบฮทฮฝฮฏฮฟฯ…", - "cft_bg": "ฯ‡ฯฯŽฮผฮฑ ฯ€ฮฑฯฮฑฯƒฮบฮทฮฝฮฏฮฟฯ…", - - "cdt_lim": "ฮผฮญฮณฮนฯƒฯ„ฮฟฯ‚ ฮฑฯฮนฮธฮผฯŒฯ‚ ฮฑฯฯ‡ฮตฮฏฯ‰ฮฝ ฯ€ฯฮฟฯ‚ ฮตฮผฯ†ฮฌฮฝฮนฯƒฮท ฯƒฮต ฮญฮฝฮฑ ฯ†ฮฌฮบฮตฮปฮฟ", - "cdt_ask": "ฯŒฯ„ฮฑฮฝ ฯ†ฯ„ฮฌฮฝฮตฮนฯ‚ ฯƒฯ„ฮฟ ฯ„ฮญฮปฮฟฯ‚,$Nฮฑฮฝฯ„ฮฏ ฮฝฮฑ ฯ†ฮฟฯฯ„ฯŽฯƒฮตฮน ฯ€ฮตฯฮนฯƒฯƒฯŒฯ„ฮตฯฮฑ ฮฑฯฯ‡ฮตฮฏฮฑ,$Nฯฯ‰ฯ„ฮฌ ฯ„ฮน ฮฝฮฑ ฮบฮฌฮฝฮตฮน", - "cdt_hsort": "ฯ€ฯŒฯƒฮฟฯ…ฯ‚ ฮบฮฑฮฝฯŒฮฝฮตฯ‚ ฯ„ฮฑฮพฮนฮฝฯŒฮผฮทฯƒฮทฯ‚ (<code>,sorthref</code>) ฮฝฮฑ ฯƒฯ…ฮผฯ€ฮตฯฮนฮปฮฌฮฒฮตฮน ฯƒฮต URLs ฯ€ฮฟฮปฯ…ฮผฮญฯƒฯ‰ฮฝ. ฮ‘ฮฝ ฯ„ฮฟ ฮฒฮฌฮปฮตฮนฯ‚ 0 ฮฑฮณฮฝฮฟฮตฮฏ ฮบฮฑฮน ฮบฮฑฮฝฯŒฮฝฮตฯ‚ ฯ„ฮฑฮพฮนฮฝฯŒฮผฮทฯƒฮทฯ‚ ฯƒฯ„ฮฟฯ…ฯ‚ ฯƒฯ…ฮฝฮดฮญฯƒฮผฮฟฯ…ฯ‚ ฯ€ฮฟฮปฯ…ฮผฮญฯƒฯ‰ฮฝ", - - "tt_entree": "ฮตฮผฯ†ฮฌฮฝฮนฯƒฮท navpane (ฮดฮญฮฝฯ„ฯฮฟ ฮดฮนฮฑฮดฯฮฟฮผฯŽฮฝ)$Nฮ ฮปฮฎฮบฯ„ฯฮฟ ฯƒฯ…ฮฝฯ„ฯŒฮผฮตฯ…ฯƒฮทฯ‚: B", - "tt_detree": "ฮตฮผฯ†ฮฌฮฝฮนฯƒฮท breadcrumbs (ฮบฮฑฯฯ„ฮญฮปฮตฯ‚ ฮดฮนฮฑฮดฯฮฟฮผฯŽฮฝ)$Nฮ ฮปฮฎฮบฯ„ฯฮฟ ฯƒฯ…ฮฝฯ„ฯŒฮผฮตฯ…ฯƒฮทฯ‚: B", - "tt_visdir": "ฮบฯฮปฮนฯƒฮท ฯƒฯ„ฮฟฮฝ ฮตฯ€ฮนฮปฮตฮณฮผฮญฮฝฮฟ ฯ†ฮฌฮบฮตฮปฮฟ", - "tt_ftree": "ฮตฮฝฮฑฮปฮปฮฑฮณฮฎ ฮดฮญฮฝฯ„ฯฮฟฯ… ฮดฮนฮฑฮดฯฮฟฮผฯŽฮฝ / ฮฑฯฯ‡ฮตฮฏฯ‰ฮฝ ฮบฮตฮนฮผฮญฮฝฮฟฯ…$Nฮ ฮปฮฎฮบฯ„ฯฮฟ ฯƒฯ…ฮฝฯ„ฯŒฮผฮตฯ…ฯƒฮทฯ‚: V", - "tt_pdock": "ฮตฮผฯ†ฮฌฮฝฮนฯƒฮท ฮณฮฟฮฝฮนฮบฯŽฮฝ ฯ†ฮฑฮบฮญฮปฯ‰ฮฝ ฯƒฮต ฯƒฯ„ฮฑฮธฮตฯฮฎ ฮผฯ€ฮฌฯฮฑ ฮตฯ€ฮฌฮฝฯ‰", - "tt_dynt": "ฮฑฯ…ฯ„ฯŒฮผฮฑฯ„ฮท ฮตฯ€ฮญฮบฯ„ฮฑฯƒฮท ฮบฮฑฮธฯŽฯ‚ ฮตฯ€ฮตฮบฯ„ฮตฮฏฮฝฮตฯ„ฮฑฮน ฯ„ฮฟ ฮดฮญฮฝฯ„ฯฮฟ ฮดฮนฮฑฮดฯฮฟฮผฯŽฮฝ", - "tt_wrap": "ฮฑฮฝฮฑฮดฮฏฯ€ฮปฯ‰ฯƒฮท ฮปฮญฮพฮตฯ‰ฮฝ", - "tt_hover": "ฮฑฯ€ฮฟฮบฮฌฮปฯ…ฯˆฮท ฯ„ฯ‰ฮฝ ฮณฯฮฑฮผฮผฯŽฮฝ ฯ€ฮฟฯ… ฮพฮตฯ€ฮตฯฮฝฮฟฯฮฝ ฯ„ฮฟ ฯ€ฮปฮฌฯ„ฮฟฯ‚ ฮผฮต ฯ„ฮฟ ฯ€ฮฟฮฝฯ„ฮฏฮบฮน ฯ€ฮฌฮฝฯ‰ ฯ„ฮฟฯ…ฯ‚$N( ฯƒฯ€ฮฌฮตฮน ฯ„ฮฟ scroll ฮตฮบฯ„ฯŒฯ‚ ฮฑฮฝ ฯ„ฮฟ ฯ€ฮฟฮฝฯ„ฮฏฮบฮน $N  ฮตฮฏฮฝฮฑฮน ฯƒฯ„ฮทฮฝ ฮฑฯฮนฯƒฯ„ฮตฯฮฎ ฯƒฯ„ฮฎฮปฮท )", - - "ml_pmode": "ฯƒฯ„ฮฟ ฯ„ฮญฮปฮฟฯ‚ ฯ„ฮฟฯ… ฯ†ฮฑฮบฮญฮปฮฟฯ…...", - "ml_btns": "ฮตฮฝฯ„ฮฟฮปฮญฯ‚", - "ml_tcode": "ฮผฮตฯ„ฮฑฮบฯ‰ฮดฮนฮบฮฟฯ€ฮฟฮฏฮทฯƒฮท", - "ml_tcode2": "ฮผฮตฯ„ฮฑฮบฯ‰ฮดฮนฮบฮฟฯ€ฮฟฮฏฮทฯƒฮท ฯƒฮต", - "ml_tint": "ฯ†ฮฏฮปฯ„ฯฮฟ ฯ‡ฯฯŽฮผฮฑฯ„ฮฟฯ‚", - "ml_eq": "ฮนฯƒฮฟฯƒฯ„ฮฑฮธฮผฮนฯƒฯ„ฮฎฯ‚ ฮฎฯ‡ฮฟฯ…", - "ml_drc": "ฯƒฯ…ฮผฯ€ฮนฮตฯƒฯ„ฮฎฯ‚ ฮดฯ…ฮฝฮฑฮผฮนฮบฮฎฯ‚ ฮตฮผฮฒฮญฮปฮตฮนฮฑฯ‚", - - "mt_loop": "ฮตฯ€ฮฑฮฝฮฌฮปฮทฯˆฮท ฮตฮฝฯŒฯ‚ ฯ„ฯฮฑฮณฮฟฯ…ฮดฮนฮฟฯ\">๐Ÿ”", - "mt_one": "ฯƒฯ„ฮฑฮผฮฌฯ„ฮฑ ฮผฮตฯ„ฮฌ ฮฑฯ€ฯŒ ฮญฮฝฮฑ ฯ„ฯฮฑฮณฮฟฯฮดฮน\">1๏ธโƒฃ", - "mt_shuf": "ฯ„ฯ…ฯ‡ฮฑฮฏฮฑ ฯƒฮตฮนฯฮฌ ฯ„ฯฮฑฮณฮฟฯ…ฮดฮนฯŽฮฝ ฯƒฮต ฮบฮฌฮธฮต ฯ†ฮฌฮบฮตฮปฮฟ\">๐Ÿ”€", - "mt_aplay": "ฮฑฯ…ฯ„ฯŒฮผฮฑฯ„ฮท ฮฑฮฝฮฑฯ€ฮฑฯฮฑฮณฯ‰ฮณฮฎ ฮฑฮฝ ฯ…ฯ€ฮฌฯฯ‡ฮตฮน song-ID ฯƒฯ„ฮท ฮดฮนฮตฯฮธฯ…ฮฝฯƒฮท ฯ€ฮฟฯ… ฮผฯ€ฮฎฮบฮตฯ‚ ฯƒฯ„ฮฟ ฮดฮนฮฑฮบฮฟฮผฮนฯƒฯ„ฮฎ$N$Nฮท ฮฑฯ€ฮตฮฝฮตฯฮณฮฟฯ€ฮฟฮฏฮทฯƒฮท ฮฑฯ…ฯ„ฮฟฯ, ฯƒฯ„ฮฑฮผฮฑฯ„ฮฌ ฯ„ฮฟ URL ฮฑฯ€ฯŒ ฯ„ฮฟ ฮฝฮฑ ฮตฮฝฮทฮผฮตฯฯŽฮฝฮตฯ„ฮฑฮน ฮผฮต ฯ„ฮฑ song-ID ฮตฮฝฯŽ ฯ€ฮฑฮฏฮถฮตฮน ฮท ฮผฮฟฯ…ฯƒฮนฮบฮฎ ฮณฮนฮฑ ฮฝฮฑ ฮฑฯ€ฮฟฯ„ฯฮฑฯ€ฮตฮฏ ฮท ฮฑฯ…ฯ„ฯŒฮผฮฑฯ„ฮท ฮฑฮฝฮฑฯ€ฮฑฯฮฑฮณฯ‰ฮณฮฎ ฮฑฮฝ ฯ‡ฮฑฮธฮฟฯฮฝ ฮฑฯ…ฯ„ฮญฯ‚ ฮฟฮน ฯฯ…ฮธฮผฮฏฯƒฮตฮนฯ‚ ฮฑฮปฮปฮฌ ฯ„ฮฟ URL ฯ€ฮฑฯฮฑฮผฮตฮฏฮฝฮตฮน ฯ„ฮฟ ฮฏฮดฮนฮฟ\">aโ–ถ", - "mt_preload": "ฮพฮตฮบฮฏฮฝฮฑ ฯ„ฮท ฯ†ฯŒฯฯ„ฯ‰ฯƒฮท ฯ„ฮฟฯ… ฮตฯ€ฯŒฮผฮตฮฝฮฟฯ… ฯ„ฯฮฑฮณฮฟฯ…ฮดฮนฮฟฯ ฮบฮฟฮฝฯ„ฮฌ ฯƒฯ„ฮฟ ฯ„ฮญฮปฮฟฯ‚ ฮณฮนฮฑ ฯƒฯ…ฮฝฮตฯ‡ฯŒฮผฮตฮฝฮท ฮฑฮบฯฯŒฮฑฯƒฮท\">ฯ€ฯฮฟฯ†ฯŒฯฯ„ฯ‰ฯƒฮท", - "mt_prescan": "ฯ€ฮฎฮณฮฑฮนฮฝฮต ฯƒฯ„ฮฟฮฝ ฮตฯ€ฯŒฮผฮตฮฝฮฟ ฯ†ฮฌฮบฮตฮปฮฟ ฯ€ฯฮนฮฝ ฯ„ฮตฮปฮตฮนฯŽฯƒฮตฮน ฯ„ฮฟ ฯ„ฮตฮปฮตฯ…ฯ„ฮฑฮฏฮฟ ฯ„ฯฮฑฮณฮฟฯฮดฮน$Nฮณฮนฮฑ ฮฝฮฑ ฮผฮท ฯƒฯ„ฮฑฮผฮฑฯ„ฮฎฯƒฮตฮน ฯ„ฮฟ ฯ€ฯฯŒฮณฯฮฑฮผฮผฮฑ ฯ€ฮตฯฮนฮฎฮณฮทฯƒฮทฯ‚ ฮฝฮฑ ฯ€ฮฑฮฏฮถฮตฮน ฮผฮฟฯ…ฯƒฮนฮบฮฎ\">nav", - "mt_fullpre": "ฯ€ฯฮฟฯƒฯ€ฮฌฮธฮทฯƒฮต ฮฝฮฑ ฯ€ฯฮฟฯ†ฮฟฯฯ„ฯŽฯƒฮตฮนฯ‚ ฮฟฮปฯŒฮบฮปฮทฯฮฟ ฯ„ฮฟ ฯ„ฯฮฑฮณฮฟฯฮดฮน;$Nโœ… ฮตฮฝฮตฯฮณฯŒ ฯƒฮต ฮฑฮฝฮฑฮพฮนฯŒฯ€ฮนฯƒฯ„ฮตฯ‚ ฯƒฯ…ฮฝฮดฮญฯƒฮตฮนฯ‚,$NโŒ ฯ€ฮนฮธฮฑฮฝฯŒฯ„ฮฑฯ„ฮฑ ฮฑฯ€ฮตฮฝฮตฯฮณฮฟฯ€ฮฟฮนฮทฮผฮญฮฝฮฟ ฯƒฮต ฮฑฯฮณฮญฯ‚ ฯƒฯ…ฮฝฮดฮญฯƒฮตฮนฯ‚\">ฯ€ฮปฮฎฯฮตฯ‚", - "mt_fau": "ฯƒฮต ฮบฮนฮฝฮทฯ„ฮฌ, ฯ€ฯฯŒฮปฮฑฮฒฮต ฮฝฮฑ ฮผฮทฮฝ ฯƒฯ„ฮฑฮผฮฑฯ„ฮฎฯƒฮตฮน ฮท ฮผฮฟฯ…ฯƒฮนฮบฮฎ ฮฑฮฝ ฯ„ฮฟ ฮตฯ€ฯŒฮผฮตฮฝฮฟ ฯ„ฯฮฑฮณฮฟฯฮดฮน ฮดฮตฮฝ ฯ€ฯฮฟฯ†ฮฟฯฯ„ฯŽฮธฮทฮบฮต ฮณฯฮฎฮณฮฟฯฮฑ (ฮผฯ€ฮฟฯฮตฮฏ ฮฝฮฑ ฯ€ฯฮฟฮบฮฑฮปฮญฯƒฮตฮน ฯ€ฯฯŒฮฒฮปฮทฮผฮฑ ฯƒฯ„ฮทฮฝ ฮตฮผฯ†ฮฌฮฝฮนฯƒฮท ฯ„ฯ‰ฮฝ ฮตฯ„ฮนฮบฮตฯ„ฯŽฮฝ)\">โ˜•๏ธ", - "mt_waves": "ฮณฯฮฑฮผฮผฮฎ ฮฑฮฝฮฑฮถฮฎฯ„ฮทฯƒฮทฯ‚ ฮบฯ…ฮผฮฑฯ„ฮฟฮผฮฟฯฯ†ฮฎฯ‚:$Nฮตฮผฯ†ฮฌฮฝฮนฯƒฮท ฮญฮฝฯ„ฮฑฯƒฮทฯ‚ ฮฎฯ‡ฮฟฯ… ฯƒฯ„ฮทฮฝ ฮผฯ€ฮฌฯฮฑ ฮฑฮฝฮฑฮถฮฎฯ„ฮทฯƒฮทฯ‚\">~s", - "mt_npclip": "ฮตฮผฯ†ฮฌฮฝฮนฯƒฮต ฮบฮฟฯ…ฮผฯ€ฮนฮฌ ฮณฮนฮฑ ฮฑฮฝฯ„ฮนฮณฯฮฑฯ†ฮฎ ฯ„ฮฟฯ… ฯ„ฯฮญฯ‡ฮฟฮฝฯ„ฮฟฯ‚ ฯ„ฯฮฑฮณฮฟฯ…ฮดฮนฮฟฯ\">/np", - "mt_m3u_c": "ฮตฮผฯ†ฮฌฮฝฮนฯƒฮต ฮบฮฟฯ…ฮผฯ€ฮนฮฌ ฮณฮนฮฑ ฮฑฮฝฯ„ฮนฮณฯฮฑฯ†ฮฎ ฯ„ฯ‰ฮฝ$Nฮตฯ€ฮนฮปฮตฮณฮผฮญฮฝฯ‰ฮฝ ฯ„ฯฮฑฮณฮฟฯ…ฮดฮนฯŽฮฝ ฯ‰ฯ‚ ฮบฮฑฯ„ฮฑฯ‡ฯ‰ฯฮฎฯƒฮตฮนฯ‚ ฮปฮฏฯƒฯ„ฮฑฯ‚ m3u8\">๐Ÿ“ป", - "mt_octl": "ฮตฮฝฯƒฯ‰ฮผฮฌฯ„ฯ‰ฯƒฮท ฯƒฯ„ฮฟ ฮปฮตฮนฯ„ฮฟฯ…ฯฮณฮนฮบฯŒ ฯƒฯฯƒฯ„ฮทฮผฮฑ (ฯƒฮทฮฝฯ„ฮฟฮผฮตฯฯƒฮตฮนฯ‚ ฯ€ฮปฮฎฮบฯ„ฯฯ‰ฮฝ ฯ€ฮฟฮปฯ…ฮผฮญฯƒฯ‰ฮฝ / osd)\">ฮญฮปฮตฮณฯ‡ฮฟฯ‚-OS", - "mt_oseek": "ฮตฯ€ฮนฯ„ฯฮญฯ€ฮตฮน ฯ„ฮทฮฝ ฮฑฮฝฮฑฮถฮฎฯ„ฮทฯƒฮท ฮผฮญฯƒฯ‰ ฮตฮฝฯƒฯ‰ฮผฮฌฯ„ฯ‰ฯƒฮทฯ‚ ฯ„ฮฟฯ… ฮปฮตฮนฯ„ฮฟฯ…ฯฮณฮนฮบฮฟฯ ฯƒฯ…ฯƒฯ„ฮฎฮผฮฑฯ„ฮฟฯ‚$N$Nฯƒฮทฮผฮตฮฏฯ‰ฯƒฮท: ฯƒฮต ฮผฮตฯฮนฮบฮญฯ‚ ฯƒฯ…ฯƒฮบฮตฯ…ฮญฯ‚ (iPhones),$Nฮฑฮฝฯ„ฮนฮบฮฑฮธฮนฯƒฯ„ฮฌ ฯ„ฮฟ ฮบฮฟฯ…ฮผฯ€ฮฏ ฮตฯ€ฯŒฮผฮตฮฝฮฟฯ… ฯ„ฯฮฑฮณฮฟฯ…ฮดฮนฮฟฯ\">ฮฑฮฝฮฑฮถฮฎฯ„ฮทฯƒฮท", - "mt_oscv": "ฮตฮผฯ†ฮฌฮฝฮนฯƒฮท ฮตฮพฯ‰ฯ†ฯฮปฮปฮฟฯ… ฮฌฮปฮผฯ€ฮฟฯ…ฮผ ฯƒฮต osd\">ฮตฮพฯŽฯ†ฯ…ฮปฮปฮฟ", - "mt_follow": "ฮบฯฮฑฯ„ฮฌ ฯ„ฮฟ ฯ„ฯฮญฯ‡ฮฟฮฝ ฮบฮฟฮผฮผฮฌฯ„ฮน ฮฟฯฮฑฯ„ฯŒ ฮบฮฑฯ„ฮฌ ฯ„ฮทฮฝ ฮบฯฮปฮนฯƒฮท\">๐ŸŽฏ", - "mt_compact": "ฯƒฯ…ฮผฯ€ฮฑฮณฮฎ ฮบฮฟฯ…ฮผฯ€ฮนฮฌ ฮตฮปฮญฮณฯ‡ฮฟฯ…\">โŸŽ", - "mt_uncache": "ฮบฮฑฮธฮฌฯฮนฯƒฮต ฯ„ฮทฮฝ ฯ€ฯฮฟฯƒฯ‰ฯฮนฮฝฮฎ ฮผฮฝฮฎฮผฮท  (ฮดฮฟฮบฮฏฮผฮฑฯƒฮต ฮฑฯ…ฯ„ฯŒ ฮฑฮฝ ฮฟ browser ฮญฯ‡ฮตฮน ฮฑฯ€ฮฟฮธฮทฮบฮตฯฯƒฮตฮน$Nฯ‡ฮฑฮปฮฑฯƒฮผฮญฮฝฮฟ ฮฑฮฝฯ„ฮฏฮณฯฮฑฯ†ฮฟ ฯ„ฯฮฑฮณฮฟฯ…ฮดฮนฮฟฯ ฮบฮฑฮน ฮฑฯฮฝฮตฮฏฯ„ฮฑฮน ฮฝฮฑ ฯ€ฮฑฮฏฮพฮตฮน)\">ฮตฮบฮบฮฑฮธฮฌฯฮนฯƒฮท", - "mt_mloop": "ฯ„ฯ…ฯ‡ฮฑฮฏฮฑ ฮฑฮฝฮฑฯ€ฮฑฯฮฑฮณฯ‰ฮณฮฎ ฯƒฯ„ฮฟฮฝ ฮฑฮฝฮฟฮนฮบฯ„ฯŒ ฯ†ฮฌฮบฮตฮปฮฟ\">๐Ÿ” ฯ„ฯ…ฯ‡ฮฑฮฏฮฑ ฮฑฮฝฮฑฯ€ฮฑฯฮฑฮณฯ‰ฮณฮฎ", - "mt_mnext": "ฯ†ฯŒฯฯ„ฯ‰ฯƒฮท ฮตฯ€ฯŒฮผฮตฮฝฮฟฯ… ฯ†ฮฑฮบฮญฮปฮฟฯ… ฮบฮฑฮน ฯƒฯ…ฮฝฮญฯ‡ฮนฯƒฮท\">๐Ÿ“‚ ฮตฯ€ฯŒฮผฮตฮฝฮฟ", - "mt_mstop": "ฯƒฯ„ฮฑฮผฮฌฯ„ฮทฯƒฮต ฯ„ฮทฮฝ ฮฑฮฝฮฑฯ€ฮฑฯฮฑฮณฯ‰ฮณฮฎ\">โธ ฯƒฯ„ฮฑฮผฮฌฯ„ฮทฮผฮฑ", - "mt_cflac": "ฮผฮตฯ„ฮฑฯ„ฯฮฟฯ€ฮฎ flac / wav ฯƒฮต {0}\">flac", - "mt_caac": "ฮผฮตฯ„ฮฑฯ„ฯฮฟฯ€ฮฎ aac / m4a ฯƒฮต {0}\">aac", - "mt_coth": "ฮผฮตฯ„ฮฑฯ„ฯฮฟฯ€ฮฎ ฯŒฮปฯ‰ฮฝ ฯ„ฯ‰ฮฝ ฮฌฮปฮปฯ‰ฮฝ (ฮตฮบฯ„ฯŒฯ‚ ฯ„ฯ‰ฮฝ mp3) ฯƒฮต {0}\">ฮฌฮปฮปฮฟ", - "mt_c2opus": "ฮบฮฑฮปฯฯ„ฮตฯฮท ฮตฯ€ฮนฮปฮฟฮณฮฎ ฮณฮนฮฑ desktop, laptop, android\">opus", - "mt_c2owa": "opus-weba, ฮณฮนฮฑ iOS 17.5 ฮบฮฑฮน ฮฝฮตฯŒฯ„ฮตฯฮฑ\">owa", - "mt_c2caf": "opus-caf, ฮณฮนฮฑ iOS 11 ฮญฯ‰ฯ‚ 17\">caf", - "mt_c2mp3": "ฯ‡ฯฮทฯƒฮนฮผฮฟฯ€ฮฟฮฏฮทฯƒฮต ฮฑฯ…ฯ„ฯŒ ฯƒฮต ฯ€ฮฟฮปฯ ฯ€ฮฑฮปฮนฮญฯ‚ ฯƒฯ…ฯƒฮบฮตฯ…ฮญฯ‚\">mp3", - "mt_c2flac": "ฮฒฮญฮปฯ„ฮนฯƒฯ„ฮท ฯ€ฮฟฮนฯŒฯ„ฮทฯ„ฮฑ ฮฎฯ‡ฮฟฯ… ฮฑฮปฮปฮฌ ฯ„ฮตฯฮฌฯƒฯ„ฮนฮฟ ฮฑฯฯ‡ฮตฮฏฮฟ ฮณฮนฮฑ ฮผฮตฯ„ฮฑฯ†ฯŒฯฯ„ฯ‰ฯƒฮท\">flac", - "mt_c2wav": "ฮฑฯƒฯ…ฮผฯ€ฮฏฮตฯƒฯ„ฮท ฮฑฮฝฮฑฯ€ฮฑฯฮฑฮณฯ‰ฮณฮฎ (ฮฑฮบฯŒฮผฮฑ ฮผฮตฮณฮฑฮปฯฯ„ฮตฯฮฟ ฮฑฯฯ‡ฮตฮฏฮฟ)\">wav", - "mt_c2ok": "ฮผฮนฮฑ ฯ‡ฮฑฯฮฌ, ฯƒฮฟฯ†ฮฎ ฮตฯ€ฮนฮปฮฟฮณฮฎ", - "mt_c2nd": "ฮดฮตฮฝ ฮตฮฏฮฝฮฑฮน ฮท ฯ€ฯฮฟฯ„ฮตฮนฮฝฯŒฮผฮตฮฝฮท ฮผฮฟฯฯ†ฮฎ ฮตฮพฯŒฮดฮฟฯ… ฮณฮนฮฑ ฯ„ฮท ฯƒฯ…ฯƒฮบฮตฯ…ฮฎ ฯƒฮฟฯ…, ฮฑฮปฮปฮฌ ฮฑฯ…ฯ„ฯŒ ฮตฮฏฮฝฮฑฮน ok", - "mt_c2ng": "ฮท ฯƒฯ…ฯƒฮบฮตฯ…ฮฎ ฯƒฮฟฯ… ฯ†ฮฑฮฏฮฝฮตฯ„ฮฑฮน ฮฝฮฑ ฮผฮทฮฝ ฯ…ฯ€ฮฟฯƒฯ„ฮทฯฮฏฮถฮตฮน ฮฑฯ…ฯ„ฮฎฮฝ ฯ„ฮท ฮผฮฟฯฯ†ฮฎ ฮตฮพฯŒฮดฮฟฯ…, ฮฑฮปฮปฮฌ ฮฑฯ‚ ฯ„ฮฟ ฮดฮฟฮบฮนฮผฮฌฯƒฮฟฯ…ฮผฮต ฮฟฯฯ„ฯ‰ฯ‚ ฮฎ ฮฌฮปฮปฯ‰ฯ‚", - "mt_xowa": "ฯ…ฯ€ฮฌฯฯ‡ฮฟฯ…ฮฝ bugs ฯƒฮต iOS ฯ€ฮฟฯ… ฮตฮผฯ€ฮฟฮดฮฏฮถฮฟฯ…ฮฝ ฯ„ฮทฮฝ ฮฑฮฝฮฑฯ€ฮฑฯฮฑฮณฯ‰ฮณฮฎ ฯƒฯ„ฮฟ ฯ€ฮฑฯฮฑฯƒฮบฮฎฮฝฮนฮฟ ฮผฮต ฮฑฯ…ฯ„ฮฎฮฝ ฯ„ฮท ฮผฮฟฯฯ†ฮฎยท ฯ‡ฯฮทฯƒฮนฮผฮฟฯ€ฮฟฮฏฮทฯƒฮต caf ฮฎ mp3 ฮฑฮฝฯ„โ€™ ฮฑฯ…ฯ„ฮฟฯ", - "mt_tint": "ฮตฯ€ฮฏฯ€ฮตฮดฮฟ ฯ†ฯŒฮฝฯ„ฮฟฯ… (0-100) ฯƒฯ„ฮทฮฝ ฮผฯ€ฮฌฯฮฑ ฮฑฮฝฮฑฮถฮฎฯ„ฮทฯƒฮทฯ‚$Nฮณฮนฮฑ ฮฝฮฑ ฮบฮฌฮฝฮตฮนฯ‚ ฯ„ฮฟ buffering ฮปฮนฮณฯŒฯ„ฮตฯฮฟ ฮตฮฝฮฟฯ‡ฮปฮทฯ„ฮนฮบฯŒ", - "mt_eq": "ฮตฮฝฮตฯฮณฮฟฯ€ฮฟฮนฮตฮฏ ฯ„ฮฟฮฝ ฮนฯƒฮฟฯƒฯ„ฮฑฮธฮผฮนฯƒฯ„ฮฎ ฮบฮฑฮน ฯ„ฮฟฮฝ ฮญฮปฮตฮณฯ‡ฮฟ ฮตฮฝฮฏฯƒฯ‡ฯ…ฯƒฮทฯ‚;$N$Nฮตฮฝฮฏฯƒฯ‡ฯ…ฯƒฮท <code>0</code> = ฯƒฯ„ฮฌฮฝฯ„ฮฑฯ 100% ฮญฮฝฯ„ฮฑฯƒฮท (ฮฑฯ€ฮฑฯฮฌฮปฮปฮฑฯ‡ฯ„ฮท)$N$Nฮตฯฯฮฟฯ‚ <code>1  </code> = ฯƒฯ„ฮฌฮฝฯ„ฮฑฯ ฯƒฯ„ฮตฯฮตฮฟฯ†ฯ‰ฮฝฮนฮบฯŒ (ฮฑฯ€ฮฑฯฮฌฮปฮปฮฑฯ‡ฯ„ฮฟ)$Nฮตฯฯฮฟฯ‚ <code>0.5</code> = 50% ฮฑฯฮนฯƒฯ„ฮตฯฮฌ-ฮดฮตฮพฮนฮฌ ฮผฮฏฮพฮท ฮฎฯ‡ฮฟฯ…$Nฮตฯฯฮฟฯ‚ <code>0  </code> = ฮผฮฟฮฝฮฟฯ†ฯ‰ฮฝฮนฮบฯŒ$N$Nฮตฮฝฮฏฯƒฯ‡ฯ…ฯƒฮท <code>-0.8</code> & ฮตฯฯฮฟฯ‚ <code>10</code> = ฮฑฯ†ฮฑฮฏฯฮตฯƒฮท ฯ†ฯ‰ฮฝฮฎฯ‚ :^)$N$Nฮท ฮตฮฝฮตฯฮณฮฟฯ€ฮฟฮฏฮทฯƒฮท ฯ„ฮฟฯ… ฮนฯƒฮฟฯƒฯ„ฮฑฮธฮผฮนฯƒฯ„ฮฎ ฮบฮฌฮฝฮตฮน ฯ„ฮฑ ฮฌฮปฮผฯ€ฮฟฯ…ฮผ ฯ‡ฯ‰ฯฮฏฯ‚ ฮบฮตฮฝฮฌ, ฮฝฮฑ ฯ€ฮฑฮฏฮถฮฟฯ…ฮฝ ฯ‡ฯ‰ฯฮฏฯ‚ ฮบฮฑฮธฯŒฮปฮฟฯ… ฮบฮตฮฝฮฌ, ฮฟฯ€ฯŒฯ„ฮต ฮฌฯ†ฮทฯƒฮญ ฯ„ฮฟ ฮตฮฝฮตฯฮณฯŒ ฮผฮต ฯŒฮปฮตฯ‚ ฯ„ฮนฯ‚ ฯ„ฮนฮผฮญฯ‚ ฯƒฯ„ฮฟ ฮผฮทฮดฮญฮฝ (ฮตฮบฯ„ฯŒฯ‚ ฮฑฯ€ฯŒ ฮตฯฯฮฟฯ‚ = 1) ฮฑฮฝ ฯƒฮต ฮฝฮฟฮนฮฌฮถฮตฮน", - "mt_drc": "ฮตฮฝฮตฯฮณฮฟฯ€ฮฟฮนฮตฮฏ ฯ„ฮฟฮฝ ฯƒฯ…ฮผฯ€ฮนฮตฯƒฯ„ฮฎ ฮดฯ…ฮฝฮฑฮผฮนฮบฮฎฯ‚ ฮตฮผฮฒฮญฮปฮตฮนฮฑฯ‚ (ฮตฮพฮฟฮผฮฌฮปฯ…ฮฝฯƒฮท ฮญฮฝฯ„ฮฑฯƒฮทฯ‚ / ฮฑฮบฯฮฑฮฏฮฑ ฯƒฯ…ฮผฯ€ฮฏฮตฯƒฮท ฮญฮฝฯ„ฮฑฯƒฮทฯ‚); ฮธฮฑ ฮตฮฝฮตฯฮณฮฟฯ€ฮฟฮนฮฎฯƒฮตฮน ฮบฮฑฮน ฯ„ฮฟฮฝ ฮนฯƒฮฟฯƒฯ„ฮฑฮธฮผฮนฯƒฯ„ฮฎ ฮณฮนฮฑ ฮฝฮฑ ฮนฯƒฮฟฯฯฮฟฯ€ฮฎฯƒฮตฮน ฯ„ฮฟฮฝ ฮฎฯ‡ฮฟ, ฮฟฯ€ฯŒฯ„ฮต ฮฒฮฌฮปฮต ฯŒฮปฮฑ ฯ„ฮฑ ฯ€ฮตฮดฮฏฮฑ ฮนฯƒฮฟฯƒฯ„ฮฑฮธฮผฮนฯƒฯ„ฮฎ ฮตฮบฯ„ฯŒฯ‚ ฮฑฯ€ฯŒ ฯ„ฮฟ 'ฮตฯฯฮฟฯ‚' ฯƒฯ„ฮฟ 0 ฮฑฮฝ ฮดฮตฮฝ ฯ„ฮฟ ฮธฮตฯ‚$N$Nฯ‡ฮฑฮผฮทฮปฯŽฮฝฮตฮน ฯ„ฮทฮฝ ฮญฮฝฯ„ฮฑฯƒฮท ฯ„ฮฟฯ… ฮฎฯ‡ฮฟฯ… ฯ€ฮฌฮฝฯ‰ ฮฑฯ€ฯŒ ฯ„ฮฟ ฯŒฯฮนฮฟ (THRESHOLD) dB; ฮณฮนฮฑ ฮบฮฌฮธฮต RATIO dB ฯ€ฮญฯฮฑ ฮฑฯ€ฯŒ ฯ„ฮฟ ฯŒฯฮนฮฟ ฯ…ฯ€ฮฌฯฯ‡ฮตฮน 1 dB ฮตฮพฯŒฮดฮฟฯ…, ฮฟฯ€ฯŒฯ„ฮต ฮฟฮน ฯ€ฯฮฟฮตฯ€ฮนฮปฮตฮณฮผฮญฮฝฮตฯ‚ ฯ„ฮนฮผฮญฯ‚ ฯŒฯฮนฮฟ -24 ฮบฮฑฮน 'ฮปฯŒฮณฮฟฯ‚' 12 ฯƒฮทฮผฮฑฮฏฮฝฮฟฯ…ฮฝ ฯŒฯ„ฮน ฮดฮตฮฝ ฮธฮฑ ฮพฮตฯ€ฮตฯฮฌฯƒฮตฮน ฯ€ฮฟฯ„ฮญ ฯ„ฮฑ -22 dB ฮบฮฑฮน ฮตฮฏฮฝฮฑฮน ฮฑฯƒฯ†ฮฑฮปฮญฯ‚ ฮฝฮฑ ฮฑฯ…ฮพฮฎฯƒฮตฮนฯ‚ ฯ„ฮทฮฝ ฮตฮฝฮฏฯƒฯ‡ฯ…ฯƒฮท ฮนฯƒฮฟฯƒฯ„ฮฑฮธฮผฮนฯƒฯ„ฮฎ ฯƒฮต 0.8, ฮฎ ฮบฮฑฮน 1.8 ฮผฮต ATK 0 ฮบฮฑฮน ฮผฮตฮณฮฌฮปฮฟ RLS ฯŒฯ€ฯ‰ฯ‚ 90 (ฮดฮฟฯ…ฮปฮตฯฮตฮน ฮผฯŒฮฝฮฟ ฯƒฮต firefoxยท ฯ„ฮฟ RLS ฮตฮฏฮฝฮฑฮน max 1 ฯƒฮต ฮฌฮปฮปฮฟฯ…ฯ‚ browsers)$N$N(ฮดฮตฯ‚ wikipedia, ฯ„ฮฟ ฮตฮพฮทฮณฮฟฯฮฝ ฮบฮฑฮปฯฯ„ฮตฯฮฑ)", - - "mb_play": "ฯ€ฮฑฮฏฮพฮต", - "mm_hashplay": "ฮฝฮฑ ฯ€ฮฑฮฏฮพฯ‰ ฮฑฯ…ฯ„ฯŒ ฯ„ฮฟ ฮฑฯฯ‡ฮตฮฏฮฟ ฮฎฯ‡ฮฟฯ…;", - "mm_m3u": "ฯ€ฮฌฯ„ฮฑ Enter/ฮ•ฮฝฯ„ฮฌฮพฮตฮน ฮณฮนฮฑ ฮ‘ฮฝฮฑฯ€ฮฑฯฮฑฮณฯ‰ฮณฮฎ\nฯ€ฮฌฯ„ฮฑ ESC/ฮ†ฮบฯ…ฯฮฟ ฮณฮนฮฑ ฮ•ฯ€ฮตฮพฮตฯฮณฮฑฯƒฮฏฮฑ", - "mp_breq": "ฯ‡ฯฮตฮนฮฌฮถฮตฯ„ฮฑฮน firefox 82+ ฮฎ chrome 73+ ฮฎ iOS 15+", - "mm_bload": "ฯ†ฮฟฯฯ„ฯŽฮฝฮตฮน...", - "mm_bconv": "ฮผฮตฯ„ฮฑฯ„ฯฮฟฯ€ฮฎ ฯƒฮต {0}, ฯ€ฮตฯฮฏฮผฮตฮฝฮต...", - "mm_opusen": "ฮฟ browser ฯƒฮฟฯ… ฮดฮตฮฝ ฯ€ฮฑฮฏฮถฮตฮน ฮฑฯฯ‡ฮตฮฏฮฑ aac / m4a;\nฮท ฮผฮตฯ„ฮฑฯ„ฯฮฟฯ€ฮฎ ฯƒฮต opus ฮตฮฏฮฝฮฑฮน ฯ„ฯŽฯฮฑ ฮตฮฝฮตฯฮณฮฎ", - "mm_playerr": "ฮท ฮฑฮฝฮฑฯ€ฮฑฯฮฑฮณฯ‰ฮณฮฎ, ฮฑฯ€ฮญฯ„ฯ…ฯ‡ฮต: ", - "mm_eabrt": "ฮ— ฯ€ฯฮฟฯƒฯ€ฮฌฮธฮตฮนฮฑ ฮฑฮฝฮฑฯ€ฮฑฯฮฑฮณฯ‰ฮณฮฎฯ‚ ฮฑฮบฯ…ฯฯŽฮธฮทฮบฮต", - "mm_enet": "ฮ— ฯƒฯฮฝฮดฮตฯƒฮท ฯ„ฮฟฯ… ฮฏฮฝฯ„ฮตฯฮฝฮญฯ„ ฯƒฮฟฯ… ฮตฮฏฮฝฮฑฮน ฯ‡ฮฌฮปฮนฮฑ", - "mm_edec": "ฮคฮฟ ฮฑฯฯ‡ฮตฮฏฮฟ ฮฑฯ…ฯ„ฯŒ ฮตฮฏฮฝฮฑฮน ฮผฮฌฮปฮปฮฟฮฝ ฮบฮฑฯ„ฮตฯƒฯ„ฯฮฑฮผฮผฮญฮฝฮฟ;;", - "mm_esupp": "ฮŸ browser ฯƒฮฟฯ… ฮดฮตฮฝ ฮบฮฑฯ„ฮฑฮปฮฑฮฒฮฑฮฏฮฝฮตฮน ฮฑฯ…ฯ„ฮฎ ฯ„ฮท ฮผฮฟฯฯ†ฮฎ ฮฎฯ‡ฮฟฯ…", - "mm_eunk": "ฮ†ฮณฮฝฯ‰ฯƒฯ„ฮฟ ฯƒฯ†ฮฌฮปฮผฮฑ", - "mm_e404": "ฮ‘ฮดฯฮฝฮฑฯ„ฮท ฮท ฮฑฮฝฮฑฯ€ฮฑฯฮฑฮณฯ‰ฮณฮฎ ฮฎฯ‡ฮฟฯ…; ฯƒฯ†ฮฌฮปฮผฮฑ 404: ฮคฮฟ ฮฑฯฯ‡ฮตฮฏฮฟ ฮดฮตฮฝ ฮฒฯฮญฮธฮทฮบฮต.", - "mm_e403": "ฮ‘ฮดฯฮฝฮฑฯ„ฮท ฮท ฮฑฮฝฮฑฯ€ฮฑฯฮฑฮณฯ‰ฮณฮฎ ฮฎฯ‡ฮฟฯ…; ฯƒฯ†ฮฌฮปฮผฮฑ 403: ฮ†ฯฮฝฮทฯƒฮท ฯ€ฯฯŒฯƒฮฒฮฑฯƒฮทฯ‚.\n\nฮ”ฮฟฮบฮฏฮผฮฑฯƒฮต F5 ฮณฮนฮฑ ฮตฯ€ฮฑฮฝฮฑฯ†ฯŒฯฯ„ฯ‰ฯƒฮท, ฮฏฯƒฯ‰ฯ‚ ฮฝฮฑ ฮญฯ‡ฮตฮนฯ‚ ฮฑฯ€ฮฟฯƒฯ…ฮฝฮดฮตฮธฮตฮฏ", - "mm_e500": "ฮ‘ฮดฯฮฝฮฑฯ„ฮท ฮท ฮฑฮฝฮฑฯ€ฮฑฯฮฑฮณฯ‰ฮณฮฎ ฮฎฯ‡ฮฟฯ…; ฯƒฯ†ฮฌฮปฮผฮฑ 500: ฮˆฮปฮตฮณฮพฮต ฯ„ฮฑ logs ฯ„ฮฟฯ… ฮดฮนฮฑฮบฮฟฮผฮนฯƒฯ„ฮฎ.", - "mm_e5xx": "ฮ‘ฮดฯฮฝฮฑฯ„ฮท ฮท ฮฑฮฝฮฑฯ€ฮฑฯฮฑฮณฯ‰ฮณฮฎ ฮฎฯ‡ฮฟฯ…; ฯƒฯ†ฮฌฮปฮผฮฑ ฮดฮนฮฑฮบฮฟฮผฮนฯƒฯ„ฮฎ", - "mm_nof": "ฮดฮตฮฝ ฮฒฯฮญฮธฮทฮบฮฑฮฝ ฮฌฮปฮปฮฑ ฮฑฯฯ‡ฮตฮฏฮฑ ฮฎฯ‡ฮฟฯ… ฯ„ฯฮนฮณฯฯฯ‰", - "mm_prescan": "ฮ‘ฮฝฮฑฮถฮฎฯ„ฮทฯƒฮท ฮผฮฟฯ…ฯƒฮนฮบฮฎฯ‚ ฮณฮนฮฑ ฮตฯ€ฯŒฮผฮตฮฝฮฟ ฯ„ฯฮฑฮณฮฟฯฮดฮน...", - "mm_scank": "ฮ’ฯฮญฮธฮทฮบฮต ฯ„ฮฟ ฮตฯ€ฯŒฮผฮตฮฝฮฟ ฯ„ฯฮฑฮณฮฟฯฮดฮน:", - "mm_uncache": "ฮบฯฯ…ฯ†ฮฎ ฮผฮฝฮฎฮผฮท ฮบฮฑฮธฮฑฯฮฏฯƒฯ„ฮทฮบฮตยท ฯŒฮปฮฑ ฯ„ฮฑ ฯ„ฯฮฑฮณฮฟฯฮดฮนฮฑ ฮธฮฑ ฮพฮฑฮฝฮฑฮบฮฑฯ„ฮตฮฒฮฟฯฮฝ ฯƒฯ„ฮทฮฝ ฮตฯ€ฯŒฮผฮตฮฝฮท ฮฑฮฝฮฑฯ€ฮฑฯฮฑฮณฯ‰ฮณฮฎ", - "mm_hnf": "ฯ„ฮฟ ฯ„ฯฮฑฮณฮฟฯฮดฮน ฮฑฯ…ฯ„ฯŒ ฯ€ฮปฮญฮฟฮฝ ฮดฮตฮฝ ฯ…ฯ€ฮฌฯฯ‡ฮตฮน", - - "im_hnf": "ฮท ฮตฮนฮบฯŒฮฝฮฑ ฮฑฯ…ฯ„ฮฎ ฯ€ฮปฮญฮฟฮฝ ฮดฮตฮฝ ฯ…ฯ€ฮฌฯฯ‡ฮตฮน", - - "f_empty": "ฮฑฯ…ฯ„ฯŒฯ‚ ฮฟ ฯ†ฮฌฮบฮตฮปฮฟฯ‚ ฮตฮฏฮฝฮฑฮน ฮฌฮดฮตฮนฮฟฯ‚", - "f_chide": "ฮฑฯ…ฯ„ฯŒ ฮธฮฑ ฮบฯฯฯˆฮตฮน ฯ„ฮท ฯƒฯ„ฮฎฮปฮท ยซ{0}ยป\n\nฮผฯ€ฮฟฯฮตฮฏฯ‚ ฮฝฮฑ ฮตฮผฯ†ฮฑฮฝฮฏฯƒฮตฮนฯ‚ ฯ„ฮนฯ‚ ฯƒฯ„ฮฎฮปฮตฯ‚ ฮฑฯ€ฯŒ ฯ„ฮนฯ‚ ฯฯ…ฮธฮผฮฏฯƒฮตฮนฯ‚", - "f_bigtxt": "ฮฑฯ…ฯ„ฯŒ ฯ„ฮฟ ฮฑฯฯ‡ฮตฮฏฮฟ ฮตฮฏฮฝฮฑฮน {0} MiB ฯƒฮต ฮผฮญฮณฮตฮธฮฟฯ‚ โ€” ฯƒฮฏฮณฮฟฯ…ฯฮฑ ฮธฮญฮปฮตฮนฯ‚ ฮฝฮฑ ฯ„ฮฟ ฮดฮตฮนฯ‚ ฯ‰ฯ‚ ฮบฮตฮฏฮผฮตฮฝฮฟ;", - "f_bigtxt2": "ฮฝฮฑ ฮดฮตฮนฯ‚ ฮผฯŒฮฝฮฟ ฯ„ฮฟ ฯ„ฮญฮปฮฟฯ‚ ฯ„ฮฟฯ… ฮฑฯฯ‡ฮตฮฏฮฟฯ… ฮฑฮฝฯ„ฮฏ ฮณฮนฮฑ ฯŒฮปฮฟ; ฮฑฯ…ฯ„ฯŒ ฮตฮฝฮตฯฮณฮฟฯ€ฮฟฮนฮตฮฏ ฮบฮฑฮน ฯ„ฮฟ following/tailing, ฯ€ฮฟฯ… ฮดฮตฮฏฯ‡ฮฝฮตฮน ฮฝฮญฮตฯ‚ ฮณฯฮฑฮผฮผฮญฯ‚ ฯ€ฮฟฯ… ฯ€ฯฮฟฯƒฯ„ฮฏฮธฮตฮฝฯ„ฮฑฮน ฮถฯ‰ฮฝฯ„ฮฑฮฝฮฌ", - "fbd_more": '
    ฮตฮผฯ†ฮฑฮฝฮฏฮถฮฟฮฝฯ„ฮฑฮน {0} ฮฑฯ€ฯŒ {1} ฮฑฯฯ‡ฮตฮฏฮฑ; ฮดฮตฮฏฮพฮต {2} ฮฎ ฮดฮตฮฏฮพฮต ฯ„ฮฑ ฯŒฮปฮฑ
    ', - "fbd_all": '
    ฮตฮผฯ†ฮฑฮฝฮฏฮถฮฟฮฝฯ„ฮฑฮน {0} ฮฑฯ€ฯŒ {1} ฮฑฯฯ‡ฮตฮฏฮฑ; ฮดฮตฮฏฮพฮต ฯŒฮปฮฑ
    ', - "f_anota": "ฮผฯŒฮฝฮฟ {0} ฮฑฯ€ฯŒ ฯ„ฮฑ {1} ฮฑฮฝฯ„ฮนฮบฮตฮฏฮผฮตฮฝฮฑ ฮตฯ€ฮนฮปฮญฯ‡ฮธฮทฮบฮฑฮฝ;\nฮณฮนฮฑ ฮฝฮฑ ฮตฯ€ฮนฮปฮญฮพฮตฮนฯ‚ ฮฟฮปฯŒฮบฮปฮทฯฮฟ ฯ„ฮฟ ฯ†ฮฌฮบฮตฮปฮฟ, ฮบฯฮปฮทฯƒฮต ฯ€ฯฯŽฯ„ฮฑ ฮผฮญฯ‡ฯฮน ฮบฮฌฯ„ฯ‰", - - "f_dls": 'ฮฟฮน ฯƒฯฮฝฮดฮตฯƒฮผฮฟฮน ฮฑฯฯ‡ฮตฮฏฯ‰ฮฝ ฯƒฯ„ฮฟฮฝ ฯ„ฯฮญฯ‡ฮฟฮฝฯ„ฮฑ ฯ†ฮฌฮบฮตฮปฮฟ ฮญฯ‡ฮฟฯ…ฮฝ\nฮผฮตฯ„ฮฑฯ„ฯฮฑฯ€ฮตฮฏ ฯƒฮต ฯƒฯ…ฮฝฮดฮญฯƒฮผฮฟฯ…ฯ‚ ฮปฮฎฯˆฮทฯ‚', - - "f_partial": "ฮ“ฮนฮฑ ฮฝฮฑ ฮบฮฑฯ„ฮตฮฒฮฌฯƒฮตฮนฯ‚ ฮผฮต ฮฑฯƒฯ†ฮฌฮปฮตฮนฮฑ ฮญฮฝฮฑ ฮฑฯฯ‡ฮตฮฏฮฟ ฯ€ฮฟฯ… ฮฑฮฝฮตฮฒฮฑฮฏฮฝฮตฮน, ฮบฮปฮฏฮบฮฑฯฮต ฯ„ฮฟ ฮฑฯฯ‡ฮตฮฏฮฟ ฮผฮต ฯ„ฮฟ ฮฏฮดฮนฮฟ ฯŒฮฝฮฟฮผฮฑ, ฮฑฮปฮปฮฌ ฯ‡ฯ‰ฯฮฏฯ‚ ฯ„ฮทฮฝ ฮบฮฑฯ„ฮฌฮปฮทฮพฮท .PARTIAL. ฮ ฮฌฯ„ฮฑ ฮ†ฮบฯ…ฯฮฟ ฮฎ Escape ฮณฮนฮฑ ฮฝฮฑ ฯƒฯ„ฮฑฮผฮฑฯ„ฮฎฯƒฮตฮนฯ‚.\n\nฮ ฮฌฯ„ฮฑ ฮ•ฮฝฯ„ฮฌฮพฮตฮน / Enter ฮฑฮฝ ฮฑฮณฮฝฮฟฮตฮฏฯ‚ ฯ„ฮทฮฝ ฯ€ฯฮฟฮตฮนฮดฮฟฯ€ฮฟฮฏฮทฯƒฮท ฮบฮฑฮน ฮบฮฑฯ„ฮญฮฒฮฑฯƒฮต ฯ„ฮฟ .PARTIAL ฮฑฯฯ‡ฮตฮฏฮฟ, ฯ€ฮฟฯ… ฯƒฯ‡ฮตฮดฯŒฮฝ ฯƒฮฏฮณฮฟฯ…ฯฮฑ ฮธฮฑ ฮตฮฏฮฝฮฑฮน ฮบฮฑฯ„ฮตฯƒฯ„ฯฮฑฮผฮผฮญฮฝฮฟ.", - - "ft_paste": "ฮตฯ€ฮนฮบฯŒฮปฮปฮทฯƒฮต {0} ฮฑฮฝฯ„ฮนฮบฮตฮฏฮผฮตฮฝฮฑ$Nฮ ฮปฮฎฮบฯ„ฯฮฟ ฯƒฯ…ฮฝฯ„ฯŒฮผฮตฯ…ฯƒฮทฯ‚: ctrl-V", - "fr_eperm": 'ฮดฮตฮฝ ฮผฯ€ฮฟฯฮตฮฏ ฮฝฮฑ ฮผฮตฯ„ฮฟฮฝฮฟฮผฮฑฯƒฯ„ฮตฮฏ:\nฮดฮตฮฝ ฮญฯ‡ฮตฮนฯ‚ ฮดฮนฮบฮฑฮฏฯ‰ฮผฮฑ โ€œฮผฮตฯ„ฮฑฮบฮฏฮฝฮทฯƒฮทฯ‚โ€ ฯƒฮต ฮฑฯ…ฯ„ฯŒฮฝ ฯ„ฮฟ ฯ†ฮฌฮบฮตฮปฮฟ', - "fd_eperm": 'ฮดฮตฮฝ ฮผฯ€ฮฟฯฮตฮฏ ฮฝฮฑ ฮดฮนฮฑฮณฯฮฑฯ†ฮตฮฏ:\nฮดฮตฮฝ ฮญฯ‡ฮตฮนฯ‚ ฮดฮนฮบฮฑฮฏฯ‰ฮผฮฑ โ€œฮดฮนฮฑฮณฯฮฑฯ†ฮฎฯ‚โ€ ฯƒฮต ฮฑฯ…ฯ„ฯŒฮฝ ฯ„ฮฟ ฯ†ฮฌฮบฮตฮปฮฟ', - "fc_eperm": 'ฮดฮตฮฝ ฮผฯ€ฮฟฯฮตฮฏ ฮฝฮฑ ฮบฮฟฯ€ฮตฮฏ:\nฮดฮตฮฝ ฮญฯ‡ฮตฮนฯ‚ ฮดฮนฮบฮฑฮฏฯ‰ฮผฮฑ โ€œฮผฮตฯ„ฮฑฮบฮฏฮฝฮทฯƒฮทฯ‚โ€ ฯƒฮต ฮฑฯ…ฯ„ฯŒฮฝ ฯ„ฮฟ ฯ†ฮฌฮบฮตฮปฮฟ', - "fp_eperm": 'ฮดฮตฮฝ ฮผฯ€ฮฟฯฮตฮฏ ฮฝฮฑ ฮตฯ€ฮนฮบฮฟฮปฮปฮทฮธฮตฮฏ:\nฮดฮตฮฝ ฮญฯ‡ฮตฮนฯ‚ ฮดฮนฮบฮฑฮฏฯ‰ฮผฮฑ โ€œฮตฮณฮณฯฮฑฯ†ฮฎฯ‚โ€ ฯƒฮต ฮฑฯ…ฯ„ฯŒฮฝ ฯ„ฮฟ ฯ†ฮฌฮบฮตฮปฮฟ', - "fr_emore": "ฮตฯ€ฮฏฮปฮตฮพฮต ฯ„ฮฟฯ…ฮปฮฌฯ‡ฮนฯƒฯ„ฮฟฮฝ ฮญฮฝฮฑ ฮฑฮฝฯ„ฮนฮบฮตฮฏฮผฮตฮฝฮฟ ฮณฮนฮฑ ฮผฮตฯ„ฮฟฮฝฮฟฮผฮฑฯƒฮฏฮฑ", - "fd_emore": "ฮตฯ€ฮฏฮปฮตฮพฮต ฯ„ฮฟฯ…ฮปฮฌฯ‡ฮนฯƒฯ„ฮฟฮฝ ฮญฮฝฮฑ ฮฑฮฝฯ„ฮนฮบฮตฮฏฮผฮตฮฝฮฟ ฮณฮนฮฑ ฮดฮนฮฑฮณฯฮฑฯ†ฮฎ", - "fc_emore": "ฮตฯ€ฮฏฮปฮตฮพฮต ฯ„ฮฟฯ…ฮปฮฌฯ‡ฮนฯƒฯ„ฮฟฮฝ ฮญฮฝฮฑ ฮฑฮฝฯ„ฮนฮบฮตฮฏฮผฮตฮฝฮฟ ฮณฮนฮฑ ฮฑฯ€ฮฟฮบฮฟฯ€ฮฎ", - "fcp_emore": "ฮตฯ€ฮฏฮปฮตฮพฮต ฯ„ฮฟฯ…ฮปฮฌฯ‡ฮนฯƒฯ„ฮฟฮฝ ฮญฮฝฮฑ ฮฑฮฝฯ„ฮนฮบฮตฮฏฮผฮตฮฝฮฟ ฮณฮนฮฑ ฮฑฮฝฯ„ฮนฮณฯฮฑฯ†ฮฎ ฯƒฯ„ฮฟ ฯ€ฯฯŒฯ‡ฮตฮนฯฮฟ", - - "fs_sc": "ฮผฮฟฮนฯฮฌฯƒฮฟฯ… ฯ„ฮฟ ฯ†ฮฌฮบฮตฮปฮฟ ฯ€ฮฟฯ… ฮฒฯฮฏฯƒฮบฮตฯƒฮฑฮน", - "fs_ss": "ฮผฮฟฮนฯฮฌฯƒฮฟฯ… ฯ„ฮฑ ฮตฯ€ฮนฮปฮตฮณฮผฮญฮฝฮฑ ฮฑฯฯ‡ฮตฮฏฮฑ", - "fs_just1d": "ฮดฮตฮฝ ฮผฯ€ฮฟฯฮตฮฏฯ‚ ฮฝฮฑ ฮตฯ€ฮนฮปฮญฮพฮตฮนฯ‚ ฯ€ฮตฯฮนฯƒฯƒฯŒฯ„ฮตฯฮฟฯ…ฯ‚ ฮฑฯ€ฯŒ ฮญฮฝฮฑฮฝ ฯ†ฮฑฮบฮญฮปฮฟฯ…ฯ‚,\nฮฎ ฮฝฮฑ ฮฑฮฝฮฑฮผฮตฮฏฮพฮตฮนฯ‚ ฮฑฯฯ‡ฮตฮฏฮฑ ฮบฮฑฮน ฯ†ฮฑฮบฮญฮปฮฟฯ…ฯ‚ ฯƒฯ„ฮทฮฝ ฮฏฮดฮนฮฑ ฮตฯ€ฮนฮปฮฟฮณฮฎ", - "fs_abrt": "โŒ ฮฑฮบฯฯฯ‰ฯƒฮท", - "fs_rand": "๐ŸŽฒ ฯ„ฯ…ฯ‡ฮฑฮฏฮฟ ฯŒฮฝฮฟฮผฮฑ", - "fs_go": "โœ… ฮดฮทฮผฮนฮฟฯฯฮณฮทฯƒฮต ฮบฮฟฮนฮฝฮฎ ฯ‡ฯฮฎฯƒฮท", - "fs_name": "ฯŒฮฝฮฟฮผฮฑ", - "fs_src": "ฯ€ฮทฮณฮฎ", - "fs_pwd": "ฮบฯ‰ฮดฮนฮบฯŒฯ‚", - "fs_exp": "ฮปฮฎฮพฮท", - "fs_tmin": "ฮปฮตฯ€ฯ„ฮฌ", - "fs_thrs": "ฯŽฯฮตฯ‚", - "fs_tdays": "ฮทฮผฮญฯฮตฯ‚", - "fs_never": "ฮฑฮนฯŽฮฝฮนฮฟ", - "fs_pname": "ฯ€ฯฮฟฮฑฮนฯฮตฯ„ฮนฮบฯŒ ฯŒฮฝฮฟฮผฮฑ ฯƒฯ…ฮฝฮดฮญฯƒฮผฮฟฯ…; ฮฑฮฝ ฮตฮฏฮฝฮฑฮน ฮบฮตฮฝฯŒ, ฮธฮฑ ฮตฮฏฮฝฮฑฮน ฯ„ฯ…ฯ‡ฮฑฮฏฮฟ", - "fs_tsrc": "ฯ„ฮฟ ฮฑฯฯ‡ฮตฮฏฮฟ ฮฎ ฮฟ ฯ†ฮฌฮบฮตฮปฮฟฯ‚ ฯ€ฯฮฟฯ‚ ฮบฮฟฮนฮฝฮฎ ฯ‡ฯฮฎฯƒฮท", - "fs_ppwd": "ฯ€ฯฮฟฮฑฮนฯฮตฯ„ฮนฮบฯŒฯ‚ ฮบฯ‰ฮดฮนฮบฯŒฯ‚", - "fs_w8": "ฮดฮทฮผฮนฮฟฯ…ฯฮณฮฏฮฑ ฮบฮฟฮนฮฝฮฎฯ‚ ฯ‡ฯฮฎฯƒฮทฯ‚...", - "fs_ok": "ฯ€ฮฌฯ„ฮฑ Enter/ฮ•ฮฝฯ„ฮฌฮพฮตฮน ฮณฮนฮฑ ฮ ฯฯŒฯ‡ฮตฮนฯฮฟ\nฯ€ฮฌฯ„ฮฑ ESC/ฮ†ฮบฯ…ฯฮฟ ฮณฮนฮฑ ฮšฮปฮตฮฏฯƒฮนฮผฮฟ", - - "frt_dec": "ฮผฯ€ฮฟฯฮตฮฏ ฮฝฮฑ ฮดฮนฮฟฯฮธฯŽฯƒฮตฮน ฮผฮตฯฮนฮบฮญฯ‚ ฯ€ฮตฯฮนฯ€ฯ„ฯŽฯƒฮตฮนฯ‚ ฮบฮฑฯ„ฮตฯƒฯ„ฯฮฑฮผฮผฮญฮฝฯ‰ฮฝ ฮฟฮฝฮฟฮผฮฌฯ„ฯ‰ฮฝ ฮฑฯฯ‡ฮตฮฏฯ‰ฮฝ\">ฮฑฯ€ฮฟฮบฯ‰ฮดฮนฮบฮฟฯ€ฮฟฮฏฮทฯƒฮท url", - "frt_rst": "ฮตฯ€ฮฑฮฝฮญฯ†ฮตฯฮต ฯ„ฮฑ ฮฟฮฝฯŒฮผฮฑฯ„ฮฑ ฮฑฯฯ‡ฮตฮฏฯ‰ฮฝ ฯƒฯ„ฮฑ ฮฑฯฯ‡ฮนฮบฮฌ ฯ„ฮฟฯ…ฯ‚\">โ†บ ฮตฯ€ฮฑฮฝฮฑฯ†ฮฟฯฮฌ", - "frt_abrt": "ฮฑฮบฯฯฯ‰ฯƒฮต ฮบฮฑฮน ฮบฮปฮตฮฏฯƒฮต ฮฑฯ…ฯ„ฯŒ ฯ„ฮฟ ฯ€ฮฑฯฮฌฮธฯ…ฯฮฟ\">โŒ ฮฑฮบฯฯฯ‰ฯƒฮท", - "frb_apply": "ฮ•ฮฆฮ‘ฮกฮœฮŸฮ“ฮ— ฮœฮ•ฮคฮŸฮฮŸฮœฮ‘ฮฃฮ™ฮ‘ฮฃ", - "fr_adv": "ฮผฮฑฮถฮนฮบฮฎ / ฮผฮตฯ„ฮฑฮดฮตฮดฮฟฮผฮญฮฝฮฑ / ฮผฮตฯ„ฮฟฮฝฮฟฮผฮฑฯƒฮฏฮฑ ฮผฮต ฯ€ฯฯŒฯ„ฯ…ฯ€ฮฑ\">ฯ€ฯฮฟฯ‡ฯ‰ฯฮทฮผฮญฮฝฮท", - "fr_case": "regex ฮผฮต ฮดฮนฮฌฮบฯฮนฯƒฮท ฯ€ฮตฮถฯŽฮฝ/ฮบฮตฯ†ฮฑฮปฮฑฮฏฯ‰ฮฝ\">case", - "fr_win": "ฮฑฯƒฯ†ฮฑฮปฮฎ ฮฟฮฝฯŒฮผฮฑฯ„ฮฑ ฮณฮนฮฑ windows; ฮฑฮฝฯ„ฮนฮบฮฑฮธฮนฯƒฯ„ฮฌ <>:"\\|?* ฮผฮต ฮนฮฑฯ€ฯ‰ฮฝฮนฮบฮฟฯฯ‚ ฯ‡ฮฑฯฮฑฮบฯ„ฮฎฯฮตฯ‚ ฯ€ฮปฮฎฯฮฟฯ…ฯ‚ ฯ€ฮปฮฌฯ„ฮฟฯ…ฯ‚\">win", - "fr_slash": "ฮฑฮฝฯ„ฮนฮบฮฑฮธฮฏฯƒฯ„ฮฑฯ„ฮฑฮน / ฮผฮต ฯ‡ฮฑฯฮฑฮบฯ„ฮฎฯฮฑ ฯ€ฮฟฯ… ฮดฮตฮฝ ฮดฮทฮผฮนฮฟฯ…ฯฮณฮตฮฏ ฮฝฮญฮฟฯ…ฯ‚ ฯ†ฮฑฮบฮญฮปฮฟฯ…ฯ‚\">ฯŒฯ‡ฮน /", - "fr_re": "ฮผฮฟฯ„ฮฏฮฒฮฑ ฮฑฮฝฮฑฮถฮฎฯ„ฮทฯƒฮทฯ‚ (regex) ฮณฮนฮฑ ฮฑฮฝฮฑฮถฮฎฯ„ฮทฯƒฮท ฯƒฯ„ฮฑ ฮฑฯฯ‡ฮนฮบฮฌ ฮฟฮฝฯŒฮผฮฑฯ„ฮฑ; ฯ„ฮฑ ฮบฮฑฯ„ฮฑฮณฯฮฑฯ†ฯŒฮผฮตฮฝฮฑ groups ฮผฯ€ฮฟฯฮฟฯฮฝ ฮฝฮฑ ฯ‡ฯฮทฯƒฮนฮผฮฟฯ€ฮฟฮนฮทฮธฮฟฯฮฝ ฯƒฯ„ฮฟ ฯ€ฮตฮดฮฏฮฟ ฮผฮฟฯฯ†ฮฟฯ€ฮฟฮฏฮทฯƒฮทฯ‚ ฯ€ฮฑฯฮฑฮบฮฌฯ„ฯ‰ ฯŒฯ€ฯ‰ฯ‚ <code>(1)</code> ฮบฮฑฮน <code>(2)</code> ฮบฮฑฮน ฮฟฯฯ„ฯ‰ ฮบฮฑฮธฮตฮพฮฎฯ‚", - "fr_fmt": "ฮตฮผฯ€ฮฝฮตฯ…ฯƒฮผฮญฮฝฮฟ ฮฑฯ€ฯŒ foobar2000:$N<code>(title)</code> ฮฑฮฝฯ„ฮนฮบฮฑฮธฮฏฯƒฯ„ฮฑฯ„ฮฑฮน ฮฑฯ€ฯŒ ฯ„ฮฏฯ„ฮปฮฟ ฯ„ฯฮฑฮณฮฟฯ…ฮดฮนฮฟฯ,$N<code>[(artist) - ](title)</code> ฯ€ฮฑฯฮฑฮปฮตฮฏฯ€ฮตฮน ฯ„ฮฟ [this] ฮฑฮฝ ฯ„ฮฟ artist ฮตฮฏฮฝฮฑฮน ฮบฮตฮฝฯŒ$N<code>$lpad((tn),2,0)</code> ฮณฮตฮผฮฏฮถฮตฮน ฯ„ฮฟฮฝ ฮฑฯฮนฮธฮผฯŒ ฮบฮฟฮผฮผฮฑฯ„ฮนฮฟฯ ฯƒฮต 2 ฯˆฮทฯ†ฮฏฮฑ", - "fr_pdel": "ฮดฮนฮฑฮณฯฮฑฯ†ฮฎ", - "fr_pnew": "ฮฑฯ€ฮฟฮธฮฎฮบฮตฯ…ฯƒฮท ฯ‰ฯ‚", - "fr_pname": "ฮดฯŽฯƒฮต ฯŒฮฝฮฟฮผฮฑ ฮณฮนฮฑ ฯ„ฮท ฮฝฮญฮฑ ฯ€ฯฮฟฮตฯ€ฮนฮปฮฟฮณฮฎ", - "fr_aborted": "ฮฑฮบฯ…ฯฯŽฮธฮทฮบฮต", - "fr_lold": "ฯ€ฮฑฮปฮนฯŒ ฯŒฮฝฮฟฮผฮฑ", - "fr_lnew": "ฮฝฮญฮฟ ฯŒฮฝฮฟฮผฮฑ", - "fr_tags": "ฮตฯ„ฮนฮบฮญฯ„ฮตฯ‚ ฮณฮนฮฑ ฯ„ฮฑ ฮตฯ€ฮนฮปฮตฮณฮผฮญฮฝฮฑ ฮฑฯฯ‡ฮตฮฏฮฑ (ฮผฯŒฮฝฮฟ ฮณฮนฮฑ ฮฑฮฝฮฌฮณฮฝฯ‰ฯƒฮท):", - "fr_busy": "ฮผฮตฯ„ฮฟฮฝฮฟฮผฮฑฯƒฮฏฮฑ {0} ฮฑฮฝฯ„ฮนฮบฮตฮนฮผฮญฮฝฯ‰ฮฝ...\n\n{1}", - "fr_efail": "ฮฑฯ€ฮฟฯ„ฯ…ฯ‡ฮฏฮฑ ฮผฮตฯ„ฮฟฮฝฮฟฮผฮฑฯƒฮฏฮฑฯ‚:\n", - "fr_nchg": "{0} ฮฑฯ€ฯŒ ฯ„ฮฑ ฮฝฮญฮฑ ฮฟฮฝฯŒฮผฮฑฯ„ฮฑ ฮฌฮปฮปฮฑฮพฮฑฮฝ ฮปฯŒฮณฯ‰ win ฮบฮฑฮน/ฮฎ ฯŒฯ‡ฮน /\n\nฮ•ฮฏฮฝฮฑฮน ฮŸฮš ฮฝฮฑ ฯƒฯ…ฮฝฮตฯ‡ฮฏฯƒฮฟฯ…ฮผฮต ฮผฮต ฮฑฯ…ฯ„ฮฌ ฯ„ฮฑ ฮฟฮฝฯŒฮผฮฑฯ„ฮฑ;", - - "fd_ok": "ฮดฮนฮฑฮณฯฮฑฯ†ฮฎ OK", - "fd_err": "ฮฑฯ€ฮฟฯ„ฯ…ฯ‡ฮฏฮฑ ฮดฮนฮฑฮณฯฮฑฯ†ฮฎฯ‚:\n", - "fd_none": "ฮดฮตฮฝ ฮดฮนฮฑฮณฯฮฌฯ†ฮทฮบฮต ฯ„ฮฏฯ€ฮฟฯ„ฮฑ; ฮฏฯƒฯ‰ฯ‚ ฮผฯ€ฮปฮฟฮบฮฑฯฮนฯƒฮผฮญฮฝฮฟ ฮฑฯ€ฯŒ ฯ„ฮนฯ‚ ฯฯ…ฮธฮผฮฏฯƒฮตฮนฯ‚ ฯ„ฮฟฯ… ฮดฮนฮฑฮบฮฟฮผฮนฯƒฯ„ฮฎ (xbd);", - "fd_busy": "ฮดฮนฮฑฮณฯฮฑฯ†ฮฎ {0} ฮฑฮฝฯ„ฮนฮบฮตฮนฮผฮญฮฝฯ‰ฮฝ...\n\n{1}", - "fd_warn1": "ฮ”ฮ™ฮ‘ฮ“ฮกฮ‘ฮฆฮ— ฮฑฯ…ฯ„ฯŽฮฝ ฯ„ฯ‰ฮฝ {0} ฮฑฮฝฯ„ฮนฮบฮตฮนฮผฮญฮฝฯ‰ฮฝ;", - "fd_warn2": "ฮคฮตฮปฮตฯ…ฯ„ฮฑฮฏฮฑ ฮตฯ…ฮบฮฑฮนฯฮฏฮฑ! ฮ”ฮตฮฝ ฯ…ฯ€ฮฌฯฯ‡ฮตฮน ฮฑฮฝฮฑฮฏฯฮตฯƒฮท. ฮ”ฮนฮฑฮณฯฮฑฯ†ฮฎ;", - - "fc_ok": "ฮฑฯ€ฮฟฮบฮฟฯ€ฮฎ {0} ฮฑฮฝฯ„ฮนฮบฮตฮนฮผฮญฮฝฯ‰ฮฝ", - "fc_warn": 'ฮฑฯ€ฮฟฮบฮฟฯ€ฮฎ {0} ฮฑฮฝฯ„ฮนฮบฮตฮนฮผฮญฮฝฯ‰ฮฝ\n\nฮฑฮปฮปฮฌ: ฮผฯŒฮฝฮฟ ฮฑฯ…ฯ„ฮฎ ฮท ฮบฮฑฯฯ„ฮญฮปฮฑ browser ฮผฯ€ฮฟฯฮตฮฏ ฮฝฮฑ ฯ„ฮฑ ฮตฯ€ฮนฮบฮฟฮปฮปฮฎฯƒฮตฮน\n(ฮปฯŒฮณฯ‰ ฯ€ฮฟฮปฯ ฮผฮตฮณฮฌฮปฮทฯ‚ ฮตฯ€ฮนฮปฮฟฮณฮฎฯ‚)', - - "fcc_ok": "ฮฑฮฝฯ„ฮนฮณฯฮฌฯ†ฮทฮบฮฑฮฝ {0} ฮฑฮฝฯ„ฮนฮบฮตฮฏฮผฮตฮฝฮฑ ฯƒฯ„ฮฟ ฯ€ฯฯŒฯ‡ฮตฮนฯฮฟ", - "fcc_warn": "ฮฑฮฝฯ„ฮนฮณฯฮฌฯ†ฮทฮบฮฑฮฝ {0} ฮฑฮฝฯ„ฮนฮบฮตฮฏฮผฮตฮฝฮฑ ฯƒฯ„ฮฟ ฯ€ฯฯŒฯ‡ฮตฮนฯฮฟ\n\nฮฑฮปฮปฮฌ: ฮผฯŒฮฝฮฟ ฮฑฯ…ฯ„ฮฎ ฮท ฮบฮฑฯฯ„ฮญฮปฮฑ browser ฮผฯ€ฮฟฯฮตฮฏ ฮฝฮฑ ฯ„ฮฑ ฮตฯ€ฮนฮบฮฟฮปฮปฮฎฯƒฮตฮน\n(ฮปฯŒฮณฯ‰ ฯ€ฮฟฮปฯ ฮผฮตฮณฮฌฮปฮทฯ‚ ฮตฯ€ฮนฮปฮฟฮณฮฎฯ‚)", - - "fp_apply": "ฯ‡ฯฮทฯƒฮนฮผฮฟฯ€ฮฟฮฏฮทฯƒฮต ฮฑฯ…ฯ„ฮฌ ฯ„ฮฑ ฮฟฮฝฯŒฮผฮฑฯ„ฮฑ", - "fp_ecut": "ฯ€ฯฯŽฯ„ฮฑ ฮบฮฌฮฝฮต ฮฑฯ€ฮฟฮบฮฟฯ€ฮฎ ฮฎ ฮฑฮฝฯ„ฮนฮณฯฮฑฯ†ฮฎ ฮบฮฌฯ€ฮฟฮนฯ‰ฮฝ ฮฑฯฯ‡ฮตฮฏฯ‰ฮฝ / ฯ†ฮฑฮบฮญฮปฯ‰ฮฝ ฮณฮนฮฑ ฮตฯ€ฮนฮบฯŒฮปฮปฮทฯƒฮท / ฮผฮตฯ„ฮฑฮบฮฏฮฝฮทฯƒฮท\n\nฯƒฮทฮผฮตฮฏฯ‰ฯƒฮท: ฮผฯ€ฮฟฯฮตฮฏฯ‚ ฮฝฮฑ ฮฑฯ€ฮฟฮบฯŒฯ€ฯ„ฮตฮนฯ‚ / ฮตฯ€ฮนฮบฮฟฮปฮปฮฌฯ‚ ฮฑฮฝฮฌฮผฮตฯƒฮฑ ฯƒฮต ฮดฮนฮฑฯ†ฮฟฯฮตฯ„ฮนฮบฮญฯ‚ ฮบฮฑฯฯ„ฮญฮปฮตฯ‚ browser", - "fp_ename": "ฯ„ฮฑ {0} ฮฑฮฝฯ„ฮนฮบฮตฮฏฮผฮตฮฝฮฑ ฮดฮตฮฝ ฮผฯ€ฮฟฯฮฟฯฮฝ ฮฝฮฑ ฮผฮตฯ„ฮฑฮบฮนฮฝฮทฮธฮฟฯฮฝ ฮตฮดฯŽ ฮณฮนฮฑฯ„ฮฏ ฯ„ฮฑ ฮฟฮฝฯŒฮผฮฑฯ„ฮฑ ฯ…ฯ€ฮฌฯฯ‡ฮฟฯ…ฮฝ ฮฎฮดฮท. ฮ”ฯŽฯƒฮต ฮฝฮญฮฑ ฮฟฮฝฯŒฮผฮฑฯ„ฮฑ ฯ€ฮฑฯฮฑฮบฮฌฯ„ฯ‰ ฮณฮนฮฑ ฮฝฮฑ ฯƒฯ…ฮฝฮตฯ‡ฮฏฯƒฮตฮนฯ‚, ฮฎ ฮฌฯ†ฮทฯƒฮต ฮบฮตฮฝฯŒ ฮณฮนฮฑ ฮฝฮฑ ฯ„ฮฑ ฮฑฮณฮฝฮฟฮฎฯƒฮตฮนฯ‚:", - "fcp_ename": "ฯ„ฮฑ {0} ฮฑฮฝฯ„ฮนฮบฮตฮฏฮผฮตฮฝฮฑ ฮดฮตฮฝ ฮผฯ€ฮฟฯฮฟฯฮฝ ฮฝฮฑ ฮฑฮฝฯ„ฮนฮณฯฮฑฯ†ฮฟฯฮฝ ฮตฮดฯŽ ฮณฮนฮฑฯ„ฮฏ ฯ„ฮฑ ฮฟฮฝฯŒฮผฮฑฯ„ฮฑ ฯ…ฯ€ฮฌฯฯ‡ฮฟฯ…ฮฝ ฮฎฮดฮท. ฮ”ฯŽฯƒฮต ฮฝฮญฮฑ ฮฟฮฝฯŒฮผฮฑฯ„ฮฑ ฯ€ฮฑฯฮฑฮบฮฌฯ„ฯ‰ ฮณฮนฮฑ ฮฝฮฑ ฯƒฯ…ฮฝฮตฯ‡ฮฏฯƒฮตฮนฯ‚, ฮฎ ฮฌฯ†ฮทฯƒฮต ฮบฮตฮฝฯŒ ฮณฮนฮฑ ฮฝฮฑ ฯ„ฮฑ ฮฑฮณฮฝฮฟฮฎฯƒฮตฮนฯ‚:", - "fp_emore": "ฯ…ฯ€ฮฌฯฯ‡ฮฟฯ…ฮฝ ฮฑฮบฯŒฮผฮฑ ฯƒฯ…ฮณฮบฯฮฟฯฯƒฮตฮนฯ‚ ฮฟฮฝฮฟฮผฮฌฯ„ฯ‰ฮฝ ฯ€ฮฟฯ… ฯ€ฯฮญฯ€ฮตฮน ฮฝฮฑ ฮดฮนฮฟฯฮธฯ‰ฮธฮฟฯฮฝ", - "fp_ok": "ฮผฮตฯ„ฮฑฮบฮฏฮฝฮทฯƒฮท OK", - "fcp_ok": "ฮฑฮฝฯ„ฮนฮณฯฮฑฯ†ฮฎ OK", - "fp_busy": "ฮผฮตฯ„ฮฑฮบฮฏฮฝฮทฯƒฮท {0} ฮฑฮฝฯ„ฮนฮบฮตฮนฮผฮญฮฝฯ‰ฮฝ...\n\n{1}", - "fcp_busy": "ฮฑฮฝฯ„ฮนฮณฯฮฑฯ†ฮฎ {0} ฮฑฮฝฯ„ฮนฮบฮตฮนฮผฮญฮฝฯ‰ฮฝ...\n\n{1}", - "fp_abrt": "ฮณฮฏฮฝฮตฯ„ฮฑฮน ฮฑฮบฯฯฯ‰ฯƒฮท...", //m - "fp_err": "ฮฑฯ€ฮฟฯ„ฯ…ฯ‡ฮฏฮฑ ฮผฮตฯ„ฮฑฮบฮฏฮฝฮทฯƒฮทฯ‚:\n", - "fcp_err": "ฮฑฯ€ฮฟฯ„ฯ…ฯ‡ฮฏฮฑ ฮฑฮฝฯ„ฮนฮณฯฮฑฯ†ฮฎฯ‚:\n", - "fp_confirm": "ฮฝฮฑ ฮผฮตฯ„ฮฑฮบฮนฮฝฮทฮธฮฟฯฮฝ ฮฑฯ…ฯ„ฮฌ ฯ„ฮฑ {0} ฮฑฮฝฯ„ฮนฮบฮตฮฏฮผฮตฮฝฮฑ ฮตฮดฯŽ;", - "fcp_confirm": "ฮฝฮฑ ฮฑฮฝฯ„ฮนฮณฯฮฑฯ†ฮฟฯฮฝ ฮฑฯ…ฯ„ฮฌ ฯ„ฮฑ {0} ฮฑฮฝฯ„ฮนฮบฮตฮฏฮผฮตฮฝฮฑ ฮตฮดฯŽ;", - "fp_etab": "ฮฑฯ€ฮฟฯ„ฯ…ฯ‡ฮฏฮฑ ฮฑฮฝฮฌฮณฮฝฯ‰ฯƒฮทฯ‚ ฯ€ฯฯŒฯ‡ฮตฮนฯฮฟฯ… ฮฑฯ€ฯŒ ฮฌฮปฮปฮท ฮบฮฑฯฯ„ฮญฮปฮฑ browser", - "fp_name": "ฮผฮตฯ„ฮฑฯ†ฯŒฯฯ„ฯ‰ฯƒฮท ฮฑฯฯ‡ฮตฮฏฮฟฯ… ฮฑฯ€ฯŒ ฯ„ฮท ฯƒฯ…ฯƒฮบฮตฯ…ฮฎ ฯƒฮฟฯ…. ฮ”ฯŽฯƒฮต ฯ„ฮฟฯ… ฯŒฮฝฮฟฮผฮฑ:", - "fp_both_m": '
    ฮดฮนฮฌฮปฮตฮพฮต ฯ„ฮน ฮธฮฑ ฮตฯ€ฮนฮบฮฟฮปฮปฮฎฯƒฮตฮนฯ‚
    Enter = ฮœฮตฯ„ฮฑฮบฮฏฮฝฮทฯƒฮท {0} ฮฑฯฯ‡ฮตฮฏฯ‰ฮฝ ฮฑฯ€ฯŒ ยซ{1}ยป\nESC = ฮœฮตฯ„ฮฑฯ†ฯŒฯฯ„ฯ‰ฯƒฮท {2} ฮฑฯฯ‡ฮตฮฏฯ‰ฮฝ ฮฑฯ€ฯŒ ฯ„ฮท ฯƒฯ…ฯƒฮบฮตฯ…ฮฎ ฯƒฮฟฯ…', - "fcp_both_m": '
    ฮดฮนฮฌฮปฮตฮพฮต ฯ„ฮน ฮธฮฑ ฮตฯ€ฮนฮบฮฟฮปฮปฮฎฯƒฮตฮนฯ‚
    Enter = ฮ‘ฮฝฯ„ฮนฮณฯฮฑฯ†ฮฎ {0} ฮฑฯฯ‡ฮตฮฏฯ‰ฮฝ ฮฑฯ€ฯŒ ยซ{1}ยป\nESC = ฮœฮตฯ„ฮฑฯ†ฯŒฯฯ„ฯ‰ฯƒฮท {2} ฮฑฯฯ‡ฮตฮฏฯ‰ฮฝ ฮฑฯ€ฯŒ ฯ„ฮท ฯƒฯ…ฯƒฮบฮตฯ…ฮฎ ฯƒฮฟฯ…', - "fp_both_b": 'ฮœฮตฯ„ฮฑฮบฮฏฮฝฮทฯƒฮทฮœฮตฯ„ฮฑฯ†ฯŒฯฯ„ฯ‰ฯƒฮท', - "fcp_both_b": 'ฮ‘ฮฝฯ„ฮนฮณฯฮฑฯ†ฮฎฮœฮตฯ„ฮฑฯ†ฯŒฯฯ„ฯ‰ฯƒฮท', - - "mk_noname": "ฮณฯฮฌฯˆฮต ฮญฮฝฮฑ ฯŒฮฝฮฟฮผฮฑ ฯƒฯ„ฮฟ ฯ€ฮตฮดฮฏฮฟ ฮบฮตฮนฮผฮญฮฝฮฟฯ… ฮฑฯฮนฯƒฯ„ฮตฯฮฌ ฯ€ฯฮนฮฝ ฯ„ฮฟ ฮบฮฌฮฝฮตฮนฯ‚ :p", - - "tv_load": "ฮฆฯŒฯฯ„ฯ‰ฯƒฮท ฮฑฯฯ‡ฮตฮฏฮฟฯ… ฮบฮตฮนฮผฮญฮฝฮฟฯ…:\n\n{0}\n\n{1}% ({2} ฮฑฯ€ฯŒ {3} MiB ฯ†ฮฟฯฯ„ฯ‰ฮผฮญฮฝฮฑ)", - "tv_xe1": "ฮฑฮดฯ…ฮฝฮฑฮผฮฏฮฑ ฯ†ฯŒฯฯ„ฯ‰ฯƒฮทฯ‚ ฮฑฯฯ‡ฮตฮฏฮฟฯ… ฮบฮตฮนฮผฮญฮฝฮฟฯ…:\n\nฯƒฯ†ฮฌฮปฮผฮฑ ", - "tv_xe2": "404, ฮฑฯฯ‡ฮตฮฏฮฟ ฮดฮตฮฝ ฮฒฯฮญฮธฮทฮบฮต", - "tv_lst": "ฮปฮฏฯƒฯ„ฮฑ ฮฑฯฯ‡ฮตฮฏฯ‰ฮฝ ฮบฮตฮนฮผฮญฮฝฮฟฯ… ฯƒฮต", - "tvt_close": "ฮตฯ€ฮนฯƒฯ„ฯฮฟฯ†ฮฎ ฯƒฯ„ฮทฮฝ ฯ€ฯฮฟฮฒฮฟฮปฮฎ ฯ†ฮฑฮบฮญฮปฮฟฯ…$Nฮฃฯ…ฮฝฯ„ฯŒฮผฮตฯ…ฯƒฮท: M (ฮฎ Esc)\">โŒ ฮบฮปฮตฮฏฯƒฮนฮผฮฟ", - "tvt_dl": "ฮบฮฑฯ„ฮญฮฒฮฑฯƒฮต ฮฑฯ…ฯ„ฯŒ ฯ„ฮฟ ฮฑฯฯ‡ฮตฮฏฮฟ$Nฮฃฯ…ฮฝฯ„ฯŒฮผฮตฯ…ฯƒฮท: Y\">๐Ÿ’พ ฮปฮฎฯˆฮท", - "tvt_prev": "ฯ€ฯฮฟฮฒฮฟฮปฮฎ ฯ€ฯฮฟฮทฮณฮฟฯฮผฮตฮฝฮฟฯ… ฮตฮณฮณฯฮฌฯ†ฮฟฯ…$Nฮฃฯ…ฮฝฯ„ฯŒฮผฮตฯ…ฯƒฮท: i\">โฌ† ฯ€ฯฮฟฮทฮณฮฟฯฮผฮตฮฝฮฟ", - "tvt_next": "ฯ€ฯฮฟฮฒฮฟฮปฮฎ ฮตฯ€ฯŒฮผฮตฮฝฮฟฯ… ฮตฮณฮณฯฮฌฯ†ฮฟฯ…$Nฮฃฯ…ฮฝฯ„ฯŒฮผฮตฯ…ฯƒฮท: K\">โฌ‡ ฮตฯ€ฯŒฮผฮตฮฝฮฟ", - "tvt_sel": "ฮตฯ€ฮญฮปฮตฮพฮต ฮฑฯฯ‡ฮตฮฏฮฟ   (ฮณฮนฮฑ ฮฑฯ€ฮฟฮบฮฟฯ€ฮฎ / ฮฑฮฝฯ„ฮนฮณฯฮฑฯ†ฮฎ / ฮดฮนฮฑฮณฯฮฑฯ†ฮฎ / ...)$Nฮฃฯ…ฮฝฯ„ฯŒฮผฮตฯ…ฯƒฮท: S\">ฮตฯ€ฮนฮปฮฟฮณฮฎ", - "tvt_edit": "ฮฌฮฝฮฟฮนฮณฮผฮฑ ฮฑฯฯ‡ฮตฮฏฮฟฯ… ฯƒฯ„ฮฟฮฝ ฮตฯ€ฮตฮพฮตฯฮณฮฑฯƒฯ„ฮฎ ฮบฮตฮนฮผฮญฮฝฮฟฯ…$Nฮฃฯ…ฮฝฯ„ฯŒฮผฮตฯ…ฯƒฮท: E\">โœ๏ธ ฮตฯ€ฮตฮพฮตฯฮณฮฑฯƒฮฏฮฑ", - "tvt_tail": "ฯ€ฮฑฯฮฑฮบฮฟฮปฮฟฯฮธฮทฯƒฮท ฮฑฯฯ‡ฮตฮฏฮฟฯ… ฮณฮนฮฑ ฮฑฮปฮปฮฑฮณฮญฯ‚; ฮตฮผฯ†ฮฌฮฝฮนฯƒฮท ฮฝฮญฯ‰ฮฝ ฮณฯฮฑฮผฮผฯŽฮฝ ฯƒฮต ฯ€ฯฮฑฮณฮผฮฑฯ„ฮนฮบฯŒ ฯ‡ฯฯŒฮฝฮฟ\">๐Ÿ“ก ฯ€ฮฑฯฮฑฮบฮฟฮปฮฟฯฮธฮทฯƒฮท", - "tvt_wrap": "ฮฑฮฝฮฑฮดฮฏฯ€ฮปฯ‰ฯƒฮท ฮปฮญฮพฮตฯ‰ฮฝ\">โ†ต", - "tvt_atail": "ฮบฮปฮตฮฏฮดฯ‰ฮผฮฑ ฮบฯฮปฮนฯƒฮทฯ‚ ฯƒฯ„ฮฟ ฮบฮฌฯ„ฯ‰ ฮผฮญฯฮฟฯ‚\">โš“", - "tvt_ctail": "ฮฑฯ€ฮฟฮบฯ‰ฮดฮนฮบฮฟฯ€ฮฟฮฏฮทฯƒฮท ฯ‡ฯฯ‰ฮผฮฌฯ„ฯ‰ฮฝ ฯ„ฮตฯฮผฮฑฯ„ฮนฮบฮฟฯ (ansi escape codes)\">๐ŸŒˆ", - "tvt_ntail": "ฯŒฯฮนฮฟ ฮบฯฮปฮนฯƒฮทฯ‚ (ฯ€ฯŒฯƒฮฑ bytes ฮบฮตฮนฮผฮญฮฝฮฟฯ… ฮฝฮฑ ฮบฯฮฑฯ„ฮฟฯฮฝฯ„ฮฑฮน ฯ†ฮฟฯฯ„ฯ‰ฮผฮญฮฝฮฑ)", - - "m3u_add1": "ฯ„ฮฟ ฯ„ฯฮฑฮณฮฟฯฮดฮน ฯ€ฯฮฟฯƒฯ„ฮญฮธฮทฮบฮต ฯƒฯ„ฮท ฮปฮฏฯƒฯ„ฮฑ m3u", - "m3u_addn": "ฯ€ฯฮฟฯƒฯ„ฮญฮธฮทฮบฮฑฮฝ {0} ฯ„ฯฮฑฮณฮฟฯฮดฮนฮฑ ฯƒฯ„ฮท ฮปฮฏฯƒฯ„ฮฑ m3u", - "m3u_clip": "ฮท ฮปฮฏฯƒฯ„ฮฑ m3u ฮฑฮฝฯ„ฮนฮณฯฮฌฯ†ฮทฮบฮต ฯƒฯ„ฮฟ ฯ€ฯฯŒฯ‡ฮตฮนฯฮฟ\n\nฯ€ฯฮญฯ€ฮตฮน ฮฝฮฑ ฯ†ฯ„ฮนฮฌฮพฮตฮนฯ‚ ฮญฮฝฮฑ ฮฝฮญฮฟ ฮฑฯฯ‡ฮตฮฏฮฟ ฮบฮตฮนฮผฮญฮฝฮฟฯ… ฮผฮต ฯŒฮฝฮฟฮผฮฑ ฮท_ฮปฮฏฯƒฯ„ฮฑ_ฮผฮฟฯ….m3u ฮบฮฑฮน ฮฝฮฑ ฮตฯ€ฮนฮบฮฟฮปฮปฮฎฯƒฮตฮนฯ‚ ฯ„ฮท ฮปฮฏฯƒฯ„ฮฑ ฮผฮญฯƒฮฑยท ฮฑฯ…ฯ„ฯŒ ฮธฮฑ ฯ„ฮฟ ฮบฮฑฯ„ฮฑฯƒฯ„ฮฎฯƒฮตฮน ฮฑฮฝฮฑฯ€ฮฑฯฮฌฮพฮนฮผฮฟ", - - "gt_vau": "ฮผฮทฮฝ ฮดฮตฮฏฯ‡ฮฝฮตฮนฯ‚ ฯ„ฮฟ ฮฒฮฏฮฝฯ„ฮตฮฟ, ฯ€ฮฑฮฏฮพฮต ฮผฯŒฮฝฮฟ ฯ„ฮฟฮฝ ฮฎฯ‡ฮฟ\">๐ŸŽง", - "gt_msel": "ฮตฮฝฮตฯฮณฮฟฯ€ฮฟฮฏฮทฯƒฮท ฮตฯ€ฮนฮปฮฟฮณฮฎฯ‚ ฮฑฯฯ‡ฮตฮฏฯ‰ฮฝ; ctrl-ฮบฮปฮนฮบ ฯƒฮต ฮฑฯฯ‡ฮตฮฏฮฟ ฮณฮนฮฑ ฯ€ฮฑฯฮฌฮบฮฑฮผฯˆฮท$N$N<em>ฯŒฯ„ฮฑฮฝ ฮตฮฏฮฝฮฑฮน ฮตฮฝฮตฯฮณฯŒ: ฮดฮนฯ€ฮปฯŒ ฮบฮปฮนฮบ ฯƒฮต ฮฑฯฯ‡ฮตฮฏฮฟ / ฯ†ฮฌฮบฮตฮปฮฟ ฯ„ฮฟ ฮฑฮฝฮฟฮฏฮณฮตฮน</em>$N$Nฮฃฯ…ฮฝฯ„ฯŒฮผฮตฯ…ฯƒฮท: S\">ฯ€ฮฟฮปฮปฮฑฯ€ฮปฮฎ ฮตฯ€ฮนฮปฮฟฮณฮฎ", - "gt_crop": "ฮบฮตฮฝฯ„ฯฮฑฯฮนฯƒฮผฮญฮฝฮท ฯ€ฮตฯฮนฮบฮฟฯ€ฮฎ ฮผฮนฮบฯฮฟฮณฯฮฑฯ†ฮนฯŽฮฝ\">ฯ€ฮตฯฮนฮบฮฟฯ€ฮฎ", - "gt_3x": "ฮผฮนฮบฯฮฟฮณฯฮฑฯ†ฮฏฮตฯ‚ ฯ…ฯˆฮทฮปฮฎฯ‚ ฮฑฮฝฮฌฮปฯ…ฯƒฮทฯ‚\">3x", - "gt_zoom": "ฮถฮฟฯ…ฮผ", - "gt_chop": "ฮบฯŒฯˆฮต", - "gt_sort": "ฯ„ฮฑฮพฮนฮฝฯŒฮผฮทฯƒฮท ฮบฮฑฯ„ฮฌ", - "gt_name": "ฯŒฮฝฮฟฮผฮฑ", - "gt_sz": "ฮผฮญฮณฮตฮธฮฟฯ‚", - "gt_ts": "ฮทฮผฮตฯฮฟฮผฮทฮฝฮฏฮฑ", - "gt_ext": "ฯ„ฯฯ€ฮฟฯ‚", - "gt_c1": "ฮผฮตฮณฮฑฮปฯฯ„ฮตฯฮท ฯ€ฮตฯฮนฮบฮฟฯ€ฮฎ ฮฟฮฝฮฟฮผฮฌฯ„ฯ‰ฮฝ ฮฑฯฯ‡ฮตฮฏฯ‰ฮฝ (ฮดฮตฮฏฮพฮต ฮปฮนฮณฯŒฯ„ฮตฯฮฑ)", - "gt_c2": "ฮผฮนฮบฯฯŒฯ„ฮตฯฮท ฯ€ฮตฯฮนฮบฮฟฯ€ฮฎ ฮฟฮฝฮฟฮผฮฌฯ„ฯ‰ฮฝ ฮฑฯฯ‡ฮตฮฏฯ‰ฮฝ (ฮดฮตฮฏฮพฮต ฯ€ฮตฯฮนฯƒฯƒฯŒฯ„ฮตฯฮฑ)", - - "sm_w8": "ฮฑฮฝฮฑฮถฮฎฯ„ฮทฯƒฮท...", - "sm_prev": "ฯ„ฮฑ ฯ€ฮฑฯฮฑฮบฮฌฯ„ฯ‰ ฮฑฯ€ฮฟฯ„ฮตฮปฮญฯƒฮผฮฑฯ„ฮฑ ฮฑฮฝฮฑฮถฮฎฯ„ฮทฯƒฮทฯ‚ ฯ€ฯฮฟฮญฯฯ‡ฮฟฮฝฯ„ฮฑฮน ฮฑฯ€ฯŒ ฯ€ฯฮฟฮทฮณฮฟฯฮผฮตฮฝฮท ฮฑฮฝฮฑฮถฮฎฯ„ฮทฯƒฮท:\n ", - "sl_close": "ฮบฮปฮตฮฏฯƒฮนฮผฮฟ ฮฑฯ€ฮฟฯ„ฮตฮปฮตฯƒฮผฮฌฯ„ฯ‰ฮฝ ฮฑฮฝฮฑฮถฮฎฯ„ฮทฯƒฮทฯ‚", - "sl_hits": "ฮตฮผฯ†ฮฑฮฝฮฏฮถฮฟฮฝฯ„ฮฑฮน {0} ฮฑฯ€ฮฟฯ„ฮตฮปฮญฯƒฮผฮฑฯ„ฮฑ", - "sl_moar": "ฯ†ฯŒฯฯ„ฯ‰ฯƒฮต ฯ€ฮตฯฮนฯƒฯƒฯŒฯ„ฮตฯฮฑ", - - "s_sz": "ฮผฮญฮณฮตฮธฮฟฯ‚", - "s_dt": "ฮทฮผฮตฯฮฟฮผฮทฮฝฮฏฮฑ", - "s_rd": "ฮผฮฟฮฝฮฟฯ€ฮฌฯ„ฮน", - "s_fn": "ฯŒฮฝฮฟฮผฮฑ", - "s_ta": "ฮตฯ„ฮนฮบฮญฯ„ฮตฯ‚", - "s_ua": "ฮฑฮฝฮญฮฒฮทฮบฮต@", - "s_ad": "ฯ€ฯฮฟฯ‡ฯ‰ฯ.", - "s_s1": "ฮตฮปฮฌฯ‡ฮนฯƒฯ„ฮฟ ฯƒฮต MiB", - "s_s2": "ฮผฮญฮณฮนฯƒฯ„ฮฟ ฯƒฮต MiB", - "s_d1": "ฮตฮปฮฌฯ‡ฮนฯƒฯ„ฮฟ iso8601", - "s_d2": "ฮผฮญฮณฮนฯƒฯ„ฮฟ iso8601", - "s_u1": "ฮผฮตฯ„ฮฑฯ†ฮฟฯฯ„ฯŽฮธฮทฮบฮต ฮฑฯฮณฯŒฯ„ฮตฯฮฑ", - "s_u2": "ฮบฮฑฮน/ฮฎ ฯ€ฯฮนฮฝ", - "s_r1": "ฯ„ฮฟ ฮผฮฟฮฝฮฟฯ€ฮฌฯ„ฮน ฯ€ฮตฯฮนฮญฯ‡ฮตฮน   (ฯ‡ฯ‰ฯฮนฯƒฮผฮญฮฝฮฑ ฮผฮต ฮบฮตฮฝฯŒ)", - "s_f1": "ฯ„ฮฟ ฯŒฮฝฮฟฮผฮฑ ฯ€ฮตฯฮนฮญฯ‡ฮตฮน   (ฮฌฯฮฝฮทฯƒฮท ฮผฮต -nope)", - "s_t1": "ฮฟฮน ฮตฯ„ฮนฮบฮญฯ„ฮตฯ‚ ฯ€ฮตฯฮนฮญฯ‡ฮฟฯ…ฮฝ   (^=ฮฑฯฯ‡ฮฎ, ฯ„ฮญฮปฮฟฯ‚=$)", - "s_a1": "ฯƒฯ…ฮณฮบฮตฮบฯฮนฮผฮญฮฝฮตฯ‚ ฮนฮดฮนฯŒฯ„ฮทฯ„ฮตฯ‚ ฮผฮตฯ„ฮฑฮดฮตฮดฮฟฮผฮญฮฝฯ‰ฮฝ", - - "md_eshow": "ฮดฮตฮฝ ฮผฯ€ฮฟฯฮตฮฏ ฮฝฮฑ ฮตฮผฯ†ฮฑฮฝฮนฯƒฯ„ฮตฮฏ ", - "md_off": "[๐Ÿ“œreadme] ฮฑฯ€ฮตฮฝฮตฯฮณฮฟฯ€ฮฟฮนฮทฮผฮญฮฝฮฟ ฯƒฯ„ฮฟ [โš™๏ธ] -- ฮบฯฯ…ฮผฮผฮญฮฝฮฟ ฮญฮณฮณฯฮฑฯ†ฮฟ", - - "badreply": "ฮ‘ฯ€ฮฟฯ„ฯ…ฯ‡ฮฏฮฑ ฮฑฮฝฮฌฮปฯ…ฯƒฮทฯ‚ ฮฑฯ€ฮฌฮฝฯ„ฮทฯƒฮทฯ‚ ฮฑฯ€ฯŒ ฯ„ฮฟ ฮดฮนฮฑฮบฮฟฮผฮนฯƒฯ„ฮฎ", - - "xhr403": "403: ฮ ฯฯŒฯƒฮฒฮฑฯƒฮท ฮฑฯฮฝฮฎฮธฮทฮบฮต\n\nฮดฮฟฮบฮฏฮผฮฑฯƒฮต ฯ„ฮฟ F5, ฮฏฯƒฯ‰ฯ‚ ฮฑฯ€ฮฟฯƒฯ…ฮฝฮดฮญฮธฮทฮบฮตฯ‚", - "xhr0": "ฮฌฮณฮฝฯ‰ฯƒฯ„ฮฟ (ฯ€ฮนฮธฮฑฮฝฯŒฮฝ ฮฑฯ€ฮฟฯƒฯฮฝฮดฮตฯƒฮท ฮฑฯ€ฯŒ ฯ„ฮฟ ฮดฮนฮฑฮบฮฟฮผฮนฯƒฯ„ฮฎ ฮฎ ฮฟ ฮดฮนฮฑฮบฮฟฮผฮนฯƒฯ„ฮฎฯ‚ ฮตฮฏฮฝฮฑฮน ฮตฮบฯ„ฯŒฯ‚ ฯƒฯฮฝฮดฮตฯƒฮทฯ‚)", - "cf_ok": "ฯƒฯ…ฮณฮณฮฝฯŽฮผฮท ฮณฮน' ฮฑฯ…ฯ„ฯŒ -- ฮท ฯ€ฯฮฟฯƒฯ„ฮฑฯƒฮฏฮฑ DD" + wah + "oS ฮตฮฝฮตฯฮณฮฟฯ€ฮฟฮนฮฎฮธฮทฮบฮต\n\nฮฟฮน ฮดฮนฮฑฮดฮนฮบฮฑฯƒฮฏฮตฯ‚ ฮธฮฑ ฯƒฯ…ฮฝฮตฯ‡ฮนฯƒฯ„ฮฟฯฮฝ ฯƒฮต ฯ€ฮตฯฮฏฯ€ฮฟฯ… 30 ฮดฮตฯ…ฯ„ฮตฯฯŒฮปฮตฯ€ฯ„ฮฑ\n\nฮฑฮฝ ฮดฮตฮฝ ฮณฮฏฮฝฮตฮน ฯ„ฮฏฯ€ฮฟฯ„ฮฑ, ฯ€ฮฌฯ„ฮฑ F5 ฮณฮนฮฑ ฮตฯ€ฮฑฮฝฮฑฯ†ฯŒฯฯ„ฯ‰ฯƒฮท", - "tl_xe1": "ฮฑฮดฯฮฝฮฑฯ„ฮท ฮท ฮปฮฏฯƒฯ„ฮฑ ฯ…ฯ€ฮฟฯ†ฮฑฮบฮญฮปฯ‰ฮฝ:\n\nฯƒฯ†ฮฌฮปฮผฮฑ ", - "tl_xe2": "404: ฮŸ ฯ†ฮฌฮบฮตฮปฮฟฯ‚ ฮดฮตฮฝ ฮฒฯฮญฮธฮทฮบฮต", - "fl_xe1": "ฮฑฮดฯฮฝฮฑฯ„ฮท ฮท ฮปฮฏฯƒฯ„ฮฑ ฮฑฯฯ‡ฮตฮฏฯ‰ฮฝ ฯƒฮต ฯ†ฮฌฮบฮตฮปฮฟ:\n\nฯƒฯ†ฮฌฮปฮผฮฑ ", - "fl_xe2": "404: ฮŸ ฯ†ฮฌฮบฮตฮปฮฟฯ‚ ฮดฮตฮฝ ฮฒฯฮญฮธฮทฮบฮต", - "fd_xe1": "ฮฑฮดฯฮฝฮฑฯ„ฮท ฮท ฮดฮทฮผฮนฮฟฯ…ฯฮณฮฏฮฑ ฯ…ฯ€ฮฟฯ†ฮฑฮบฮญฮปฮฟฯ…:\n\nฯƒฯ†ฮฌฮปฮผฮฑ ", - "fd_xe2": "404: ฮŸ ฮณฮฟฮฝฮนฮบฯŒฯ‚ ฯ†ฮฌฮบฮตฮปฮฟฯ‚ ฮดฮตฮฝ ฮฒฯฮญฮธฮทฮบฮต", - "fsm_xe1": "ฮฑฮดฯฮฝฮฑฯ„ฮท ฮท ฮฑฯ€ฮฟฯƒฯ„ฮฟฮปฮฎ ฮผฮทฮฝฯฮผฮฑฯ„ฮฟฯ‚:\n\nฯƒฯ†ฮฌฮปฮผฮฑ ", - "fsm_xe2": "404: ฮŸ ฮณฮฟฮฝฮนฮบฯŒฯ‚ ฯ†ฮฌฮบฮตฮปฮฟฯ‚ ฮดฮตฮฝ ฮฒฯฮญฮธฮทฮบฮต", - "fu_xe1": "ฮฑฯ€ฮฟฯ„ฯ…ฯ‡ฮฏฮฑ ฯ†ฯŒฯฯ„ฯ‰ฯƒฮทฯ‚ ฮปฮฏฯƒฯ„ฮฑฯ‚ unpost ฮฑฯ€ฯŒ ฯ„ฮฟ ฮดฮนฮฑฮบฮฟฮผฮนฯƒฯ„ฮฎ:\n\nฯƒฯ†ฮฌฮปฮผฮฑ ", - "fu_xe2": "404: ฮคฮฟ ฮฑฯฯ‡ฮตฮฏฮฟ ฮดฮตฮฝ ฮฒฯฮญฮธฮทฮบฮต??", - - "fz_tar": "ฮผฮท ฯƒฯ…ฮผฯ€ฮนฮตฯƒฮผฮญฮฝฮฟ ฮฑฯฯ‡ฮตฮฏฮฟ gnu-tar (linux / mac)", - "fz_pax": "ฮผฮท ฯƒฯ…ฮผฯ€ฮนฮตฯƒฮผฮญฮฝฮฟ pax-format tar (ฯ€ฮนฮฟ ฮฑฯฮณฯŒ)", - "fz_targz": "gnu-tar ฮผฮต ฯƒฯ…ฮผฯ€ฮฏฮตฯƒฮท gzip ฮตฯ€ฮฏฯ€ฮตฮดฮฟ 3$N$Nฯƒฯ…ฮฝฮฎฮธฯ‰ฯ‚ ฯ€ฮฟฮปฯ ฮฑฯฮณฯŒ, ฮฟฯ€ฯŒฯ„ฮต$Nฯ‡ฯฮทฯƒฮนฮผฮฟฯ€ฮฟฮฏฮทฯƒฮต ฮบฮฑฮปฯฯ„ฮตฯฮฑ ฮผฮท ฯƒฯ…ฮผฯ€ฮนฮตฯƒฮผฮญฮฝฮฟ tar", - "fz_tarxz": "gnu-tar ฮผฮต ฯƒฯ…ฮผฯ€ฮฏฮตฯƒฮท xz ฮตฯ€ฮฏฯ€ฮตฮดฮฟ 1$N$Nฯƒฯ…ฮฝฮฎฮธฯ‰ฯ‚ ฯ€ฮฟฮปฯ ฮฑฯฮณฯŒ, ฮฟฯ€ฯŒฯ„ฮต$Nฯ‡ฯฮทฯƒฮนฮผฮฟฯ€ฮฟฮฏฮทฯƒฮต ฮบฮฑฮปฯฯ„ฮตฯฮฑ ฮผฮท ฯƒฯ…ฮผฯ€ฮนฮตฯƒฮผฮญฮฝฮฟ tar", - "fz_zip8": "zip ฮผฮต ฮฟฮฝฯŒฮผฮฑฯ„ฮฑ ฮฑฯฯ‡ฮตฮฏฯ‰ฮฝ utf8 (ฮฏฯƒฯ‰ฯ‚ ฮฝฮฑ ฮบฮฟฮปฮปฮฌฮตฮน ฯƒฮต windows 7 ฮบฮฑฮน ฯ€ฮฑฮปฮนฯŒฯ„ฮตฯฮฑ)", - "fz_zipd": "zip ฮผฮต ฯ€ฮฑฯฮฑฮดฮฟฯƒฮนฮฑฮบฮฌ ฮฟฮฝฯŒฮผฮฑฯ„ฮฑ cp437, ฮณฮนฮฑ ฯ€ฮฟฮปฯ ฯ€ฮฑฮปฮนฯŒ ฮปฮฟฮณฮนฯƒฮผฮนฮบฯŒ", - "fz_zipc": "cp437 ฮผฮต crc32 ฯ…ฯ€ฮฟฮปฮฟฮณฮนฯƒฮผฮญฮฝฮฟ ฮฝฯ‰ฯฮฏฯ„ฮตฯฮฑ,$Nฮณฮนฮฑ MS-DOS PKZIP v2.04g (ฮฟฮบฯ„ฯŽฮฒฯฮนฮฟฯ‚ 1993)$N(ฯ€ฮฑฮฏฯฮฝฮตฮน ฯ€ฮฑฯฮฑฯ€ฮฌฮฝฯ‰ ฯ‡ฯฯŒฮฝฮฟ ฯ€ฯฮนฮฝ ฮพฮตฮบฮนฮฝฮฎฯƒฮตฮน ฮท ฮผฮตฯ„ฮฑฯ†ฯŒฯฯ„ฯ‰ฯƒฮท)", - - "un_m1": "ฮผฯ€ฮฟฯฮตฮฏฯ‚ ฮฝฮฑ ฮดฮนฮฑฮณฯฮฌฯˆฮตฮนฯ‚ ฯ„ฮฑ ฯ€ฯฯŒฯƒฯ†ฮฑฯ„ฮฑ ฮฑฯฯ‡ฮตฮฏฮฑ ฯ€ฮฟฯ… ฮผฮตฯ„ฮฑฯ†ฯŒฯฯ„ฯ‰ฯƒฮตฯ‚ (ฮฎ ฮฝฮฑ ฮฑฮบฯ…ฯฯŽฯƒฮตฮนฯ‚ ฯ„ฮฑ ฮผฮนฯƒฮฟฯ„ฮตฮปฮตฮนฯ‰ฮผฮญฮฝฮฑ) ฯ€ฮฑฯฮฑฮบฮฌฯ„ฯ‰", - "un_upd": "ฮฑฮฝฮฑฮฝฮญฯ‰ฯƒฮท", - "un_m4": "ฮฎ ฮผฮฟฮนฯฮฌฯƒฮฟฯ… ฯ„ฮฑ ฮฑฯฯ‡ฮตฮฏฮฑ ฯ€ฮฟฯ… ฮฒฮปฮญฯ€ฮตฮนฯ‚ ฯ€ฮฑฯฮฑฮบฮฌฯ„ฯ‰:", - "un_ulist": "ฮตฮผฯ†ฮฌฮฝฮนฯƒฮท", - "un_ucopy": "ฮฑฮฝฯ„ฮนฮณฯฮฑฯ†ฮฎ", - "un_flt": "ฯ€ฯฮฟฮฑฮนฯฮตฯ„ฮนฮบฯŒ ฯ†ฮฏฮปฯ„ฯฮฟ:  ฮท ฮดฮนฮตฯฮธฯ…ฮฝฯƒฮท ฯ€ฯฮญฯ€ฮตฮน ฮฝฮฑ ฯ€ฮตฯฮนฮญฯ‡ฮตฮน", - "un_fclr": "ฮบฮฑฮธฮฑฯฮนฯƒฮผฯŒฯ‚ ฯ†ฮฏฮปฯ„ฯฮฟฯ…", - "un_derr": "ฮฑฯ€ฮฟฯ„ฯ…ฯ‡ฮฏฮฑ ฮดฮนฮฑฮณฯฮฑฯ†ฮฎฯ‚ unpost:\n", - "un_f5": "ฮบฮฌฯ„ฮน ฯ‡ฮฌฮปฮฑฯƒฮต, ฮดฮฟฮบฮฏฮผฮฑฯƒฮต ฯ„ฮทฮฝ ฮฑฮฝฮฑฮฝฮญฯ‰ฯƒฮท ฮฎ ฯ€ฮฌฯ„ฮฑ F5", - "un_uf5": "ฯƒฯ…ฮณฮณฮฝฯŽฮผฮท ฮฑฮปฮปฮฌ ฯ€ฯฮญฯ€ฮตฮน ฮฝฮฑ ฮฑฮฝฮฑฮฝฮตฯŽฯƒฮตฮนฯ‚ ฯ„ฮท ฯƒฮตฮปฮฏฮดฮฑ (ฯ€ฯ‡ ฮผฮต F5 ฮฎ CTRL-R) ฯ€ฯฮนฮฝ ฮฑฮบฯ…ฯฯŽฯƒฮตฮนฯ‚ ฮฑฯ…ฯ„ฮฎฮฝ ฯ„ฮทฮฝ ฮฑฯ€ฮฟฯƒฯ„ฮฟฮปฮฎ", - "un_nou": "ฯ€ฯฮฟฯƒฮฟฯ‡ฮฎ: ฮฟ ฮดฮนฮฑฮบฮฟฮผฮนฯƒฯ„ฮฎฯ‚ ฮตฮฏฮฝฮฑฮน ฯ€ฮฟฮปฯ ฯ†ฮฟฯฯ„ฯ‰ฮผฮญฮฝฮฟฯ‚ ฮณฮนฮฑ ฮฝฮฑ ฮดฮตฮฏฮพฮตฮน ฮผฮนฯƒฮฟฯ„ฮตฮปฮตฮนฯ‰ฮผฮญฮฝฮตฯ‚ ฮฑฯ€ฮฟฯƒฯ„ฮฟฮปฮญฯ‚ยท ฯ€ฮฌฯ„ฮฑ ฯ„ฮทฮฝ ฮฑฮฝฮฑฮฝฮญฯ‰ฯƒฮท, ฯƒฮต ฮปฮฏฮณฮฟ", - "un_noc": "ฯ€ฯฮฟฯƒฮฟฯ‡ฮฎ: ฯ„ฮฟ unpost ฯ„ฯ‰ฮฝ ฮฟฮปฮฟฮบฮปฮทฯฯ‰ฮผฮญฮฝฯ‰ฮฝ ฮฑฯฯ‡ฮตฮฏฯ‰ฮฝ ฮดฮตฮฝ ฮตฯ€ฮนฯ„ฯฮญฯ€ฮตฯ„ฮฑฮน ฮฑฯ€ฯŒ ฯ„ฮท ฯฯฮธฮผฮนฯƒฮท ฯ„ฮฟฯ… ฮดฮนฮฑฮบฮฟฮผฮนฯƒฯ„ฮฎ", - "un_max": "ฮตฮผฯ†ฮฑฮฝฮฏฮถฮฟฮฝฯ„ฮฑฮน ฯ„ฮฑ ฯ€ฯฯŽฯ„ฮฑ 2000 ฮฑฯฯ‡ฮตฮฏฮฑ (ฯ‡ฯฮทฯƒฮนฮผฮฟฯ€ฮฟฮฏฮทฯƒฮต ฯ†ฮฏฮปฯ„ฯฮฟ)", - "un_avail": "ฮผฯ€ฮฟฯฮตฮฏฯ‚ ฮฝฮฑ ฮดฮนฮฑฮณฯฮฌฯˆฮตฮนฯ‚ {0} ฯ€ฯฯŒฯƒฯ†ฮฑฯ„ฮฑ ฮฑฯฯ‡ฮตฮฏฮฑ
    ฮผฯ€ฮฟฯฮตฮฏฯ‚ ฮฝฮฑ ฮฑฮบฯ…ฯฯŽฯƒฮตฮนฯ‚ {1} ฮผฮนฯƒฮฟฯ„ฮตฮปฮตฮนฯ‰ฮผฮญฮฝฮตฯ‚ ฮฑฯ€ฮฟฯƒฯ„ฮฟฮปฮญฯ‚", - "un_m2": "ฯ„ฮฑฮพฮนฮฝฮฟฮผฮทฮผฮญฮฝฮฑ ฮบฮฑฯ„ฮฌ ฯ‡ฯฯŒฮฝฮฟ ฮผฮตฯ„ฮฑฯ†ฯŒฯฯ„ฯ‰ฯƒฮทฯ‚; ฯ„ฮฑ ฯ€ฮนฮฟ ฯ€ฯฯŒฯƒฯ†ฮฑฯ„ฮฑ ฯ€ฯฯŽฯ„ฮฑ:", - "un_no1": "ฮฌฮบฯ…ฯฮฟ! ฮบฮฑฮผฮฏฮฑ ฮผฮตฯ„ฮฑฯ†ฯŒฯฯ„ฯ‰ฯƒฮท ฮดฮตฮฝ ฮตฮฏฮฝฮฑฮน ฮฑฯฮบฮตฯ„ฮฌ ฯ€ฯฯŒฯƒฯ†ฮฑฯ„ฮท", - "un_no2": "ฮฌฮบฯ…ฯฮฟ! ฮบฮฑฮผฮฏฮฑ ฮผฮตฯ„ฮฑฯ†ฯŒฯฯ„ฯ‰ฯƒฮท ฮผฮต ฮฑฯ…ฯ„ฯŒ ฯ„ฮฟ ฯ†ฮฏฮปฯ„ฯฮฟ ฮดฮตฮฝ ฮตฮฏฮฝฮฑฮน ฮฑฯฮบฮตฯ„ฮฌ ฯ€ฯฯŒฯƒฯ†ฮฑฯ„ฮท", - "un_next": "ฮดฮนฮฌฮณฯฮฑฯˆฮต ฯ„ฮฑ ฮตฯ€ฯŒฮผฮตฮฝฮฑ {0} ฮฑฯฯ‡ฮตฮฏฮฑ ฯ€ฮฑฯฮฑฮบฮฌฯ„ฯ‰", - "un_abrt": "ฮฌฮบฯ…ฯฮฟ", - "un_del": "ฮดฮนฮฑฮณฯฮฑฯ†ฮฎ", - "un_m3": "ฯ†ฮฟฯฯ„ฯŽฮฝฯ‰ ฯ„ฮนฯ‚ ฯ€ฯฯŒฯƒฯ†ฮฑฯ„ฮตฯ‚ ฮผฮตฯ„ฮฑฯ†ฮฟฯฯ„ฯŽฯƒฮตฮนฯ‚ ฯƒฮฟฯ…...", - "un_busy": "ฮดฮนฮฑฮณฯฮฌฯ†ฯ‰ {0} ฮฑฯฯ‡ฮตฮฏฮฑ...", - "un_clip": "ฮฑฮฝฯ„ฮนฮณฯฮฌฯ†ฮทฮบฮฑฮฝ {0} ฯƒฯฮฝฮดฮตฯƒฮผฮฟฮน ฯƒฯ„ฮฟ ฯ€ฯฯŒฯ‡ฮตฮนฯฮฟ", - - "u_https1": "ฯ€ฯฮญฯ€ฮตฮน", - "u_https2": "ฮผฮตฯ„ฮฌฮฒฮฑฯƒฮท ฯƒฮต https", - "u_https3": "ฮณฮนฮฑ ฮบฮฑฮปฯฯ„ฮตฯฮท ฮฑฯ€ฯŒฮดฮฟฯƒฮท", - "u_ancient": 'ฮฟ browser ฯƒฮฟฯ… ฮตฮฏฮฝฮฑฮน ฮตฮฝฯ„ฯ…ฯ€ฯ‰ฯƒฮนฮฑฮบฮฌ ฮฑฯ€ฮฑฯฯ‡ฮฑฮนฯ‰ฮผฮญฮฝฮฟฯ‚ โ€” ฮฏฯƒฯ‰ฯ‚ ฮฝฮฑ ฯ‡ฯฮทฯƒฮนฮผฮฟฯ€ฮฟฮนฮฎฯƒฮตฮนฯ‚ ฯ„ฮฟ bup ฮฑฮฝฯ„ฮฏ ฮณฮน\' ฮฑฯ…ฯ„ฯŒ', - "u_nowork": "ฯ‡ฯฮตฮนฮฌฮถฮตฯ„ฮฑฮน firefox 53+ ฮฎ chrome 57+ ฮฎ iOS 11+", - "tail_2old": "ฯ‡ฯฮตฮนฮฌฮถฮตฯ„ฮฑฮน firefox 105+ ฮฎ chrome 71+ ฮฎ iOS 14.5+", - "u_nodrop": "ฮฟ browser ฯƒฮฟฯ… ฮตฮฏฮฝฮฑฮน ฯ€ฮฟฮปฯ ฯ€ฮฑฮปฮนฯŒฯ‚ ฮณฮนฮฑ drag&drop ฮผฮตฯ„ฮฑฯ†ฮฟฯฯ„ฯŽฯƒฮตฮนฯ‚", - "u_notdir": "ฮฑฯ…ฯ„ฯŒฯ‚ ฮดฮตฮฝ ฮตฮฏฮฝฮฑฮน ฯ†ฮฌฮบฮตฮปฮฟฯ‚!\n\nฮฟ browser ฯƒฮฟฯ… ฮตฮฏฮฝฮฑฮน ฯ€ฮฟฮปฯ ฯ€ฮฑฮปฮนฯŒฯ‚,\nฮดฮฟฮบฮฏฮผฮฑฯƒฮต drag&drop ฮฑฮฝฯ„' ฮฑฯ…ฯ„ฮฟฯ", - "u_uri": "ฮณฮนฮฑ ฮฝฮฑ ฮบฮฌฮฝฮตฮนฯ‚ drag&drop ฮตฮนฮบฯŒฮฝฯ‰ฮฝ ฮฑฯ€ฯŒ ฮฌฮปฮปฮฑ ฯ€ฮฑฯฮฌฮธฯ…ฯฮฑ browser,\nฯฮฏฮพ' ฯ„ฮตฯ‚ ฯ€ฮฌฮฝฯ‰ ฯƒฯ„ฮฟ ฮผฮตฮณฮฌฮปฮฟ ฮบฮฟฯ…ฮผฯ€ฮฏ ฮผฮตฯ„ฮฑฯ†ฯŒฯฯ„ฯ‰ฯƒฮทฯ‚", - "u_enpot": 'ฮฌฮปฮปฮฑฮพฮต ฯƒฯ„ฮฟ potato UI (ฮฏฯƒฯ‰ฯ‚ ฮฑฮฝฮตฮฒฮฌฮถฮตฮน ฯ€ฮนฮฟ ฮณฯฮฎฮณฮฟฯฮฑ)', - "u_depot": 'ฮฌฮปฮปฮฑฮพฮต ฯƒฯ„ฮฟ fancy UI (ฮฏฯƒฯ‰ฯ‚ ฮฑฮฝฮตฮฒฮฌฮถฮตฮน ฯ€ฮนฮฟ ฮฑฯฮณฮฌ)', - "u_gotpot": "ฮฑฮปฮปฮฌฮถฯ‰ ฯƒฯ„ฮฟ potato UI ฮณฮนฮฑ ฯ€ฮนฮฟ ฮณฯฮฎฮณฮฟฯฮท ฮผฮตฯ„ฮฑฯ†ฯŒฯฯ„ฯ‰ฯƒฮท,\n\nฮผฯ€ฮฟฯฮตฮฏฯ‚ ฮฝฮฑ ฯ„ฮฟ ฮฑฮปฮปฮฌฮพฮตฮนฯ‚ ฯ€ฮฌฮปฮน ฮฑฮฝ ฮธฮตฯ‚!", - "u_pott": "

    ฮฑฯฯ‡ฮตฮฏฮฑ:   {0} ฮฟฮปฮฟฮบฮปฮทฯฯ‰ฮผฮญฮฝฮฑ,   {1} ฮฑฯ€ฮฟฯ„ฯ…ฯ‡ฮทฮผฮญฮฝฮฑ,   {2} ฯƒฮต ฮตฮพฮญฮปฮนฮพฮท,   {3} ฯƒฮต ฮฟฯ…ฯฮฌ

    ", - "u_ever": "ฮฑฯ…ฯ„ฯŒฯ‚ ฮตฮฏฮฝฮฑฮน ฮฟ ฮฒฮฑฯƒฮนฮบฯŒฯ‚ uploader; ฯ„ฮฟ up2k ฮธฮญฮปฮตฮน ฯ„ฮฟฯ…ฮปฮฌฯ‡ฮนฯƒฯ„ฮฟฮฝ
    chrome 21 // firefox 13 // edge 12 // opera 12 // safari 5.1", - "u_su2k": 'ฮฑฯ…ฯ„ฯŒฯ‚ ฮตฮฏฮฝฮฑฮน ฮฟ ฮฒฮฑฯƒฮนฮบฯŒฯ‚ uploader; ฯ„ฮฟ up2k ฮตฮฏฮฝฮฑฮน ฮบฮฑฮปฯฯ„ฮตฯฮฟ', - "u_uput": "ฮฒฮตฮปฯ„ฮนฯƒฯ„ฮฟฯ€ฮฟฮฏฮทฯƒฮท ฮณฮนฮฑ ฯ„ฮฑฯ‡ฯฯ„ฮทฯ„ฮฑ (ฯ€ฮฑฯฮฌฮปฮตฮนฯˆฮท ฮตฮปฮญฮณฯ‡ฮฟฯ… ฮฑฮบฮตฯฮฑฮนฯŒฯ„ฮทฯ„ฮฑฯ‚)", - "u_ewrite": "ฮดฮตฮฝ ฮญฯ‡ฮตฮนฯ‚ ฮดฮนฮบฮฑฮฏฯ‰ฮผฮฑ ฮตฮณฮณฯฮฑฯ†ฮฎฯ‚ ฯƒฮต ฮฑฯ…ฯ„ฯŒฮฝ ฯ„ฮฟฮฝ ฯ†ฮฌฮบฮตฮปฮฟ", - "u_eread": "ฮดฮตฮฝ ฮญฯ‡ฮตฮนฯ‚ ฮดฮนฮบฮฑฮฏฯ‰ฮผฮฑ ฮฑฮฝฮฌฮณฮฝฯ‰ฯƒฮทฯ‚ ฯƒฮต ฮฑฯ…ฯ„ฯŒฮฝ ฯ„ฮฟฮฝ ฯ†ฮฌฮบฮตฮปฮฟ", - "u_enoi": "ฮท ฮฑฮฝฮฑฮถฮฎฯ„ฮทฯƒฮท ฮฑฯฯ‡ฮตฮฏฯ‰ฮฝ ฮดฮตฮฝ ฮตฮฏฮฝฮฑฮน ฮตฮฝฮตฯฮณฮฟฯ€ฮฟฮนฮทฮผฮญฮฝฮท ฯƒฯ„ฮฟ ฮฑฯฯ‡ฮตฮฏฮฟ ฯฯ…ฮธฮผฮฏฯƒฮตฯ‰ฮฝ ฯ„ฮฟฯ… ฮดฮนฮฑฮบฮฟฮผฮนฯƒฯ„ฮฎ", - "u_enoow": "ฮดฮตฮฝ ฮผฯ€ฮฟฯฮตฮฏฯ‚ ฮฝฮฑ ฮบฮฌฮฝฮตฮนฯ‚ ฮฑฮฝฯ„ฮนฮบฮฑฯ„ฮฌฯƒฯ„ฮฑฯƒฮท ฮตฮดฯŽยท ฯ‡ฯฮตฮนฮฌฮถฮตฯ„ฮฑฮน ฮดฮนฮบฮฑฮฏฯ‰ฮผฮฑ ฮ”ฮนฮฑฮณฯฮฑฯ†ฮฎฯ‚", - "u_badf": "ฮ‘ฯ…ฯ„ฮฌ ฯ„ฮฑ {0} ฮฑฯฯ‡ฮตฮฏฮฑ (ฮฑฯ€ฯŒ {1} ฯƒฯ…ฮฝฮฟฮปฮนฮบฮฌ) ฯ€ฮฑฯฮฑฮปฮตฮฏฯ†ฮธฮทฮบฮฑฮฝ, ฯ€ฮนฮธฮฑฮฝฯŽฯ‚ ฮปฯŒฮณฯ‰ ฮดฮนฮบฮฑฮนฯ‰ฮผฮฌฯ„ฯ‰ฮฝ ฯƒฯ…ฯƒฯ„ฮฎฮผฮฑฯ„ฮฟฯ‚ ฮฑฯฯ‡ฮตฮฏฯ‰ฮฝ:\n\n", - "u_blankf": "ฮ‘ฯ…ฯ„ฮฌ ฯ„ฮฑ {0} ฮฑฯฯ‡ฮตฮฏฮฑ (ฮฑฯ€ฯŒ {1} ฯƒฯ…ฮฝฮฟฮปฮนฮบฮฌ) ฮตฮฏฮฝฮฑฮน ฮฌฮดฮตฮนฮฑ / ฮบฮตฮฝฮฌยท ฮฝฮฑ ฯ„ฮฑ ฮผฮตฯ„ฮฑฯ†ฮฟฯฯ„ฯŽฯƒฯ‰ ฮญฯ„ฯƒฮน ฮบฮน ฮฑฮปฮปฮนฯŽฯ‚;\n\n", - "u_applef": "ฮ‘ฯ…ฯ„ฮฌ ฯ„ฮฑ {0} ฮฑฯฯ‡ฮตฮฏฮฑ (ฮฑฯ€ฯŒ {1} ฯƒฯ…ฮฝฮฟฮปฮนฮบฮฌ) ฯ€ฮนฮธฮฑฮฝฯŽฯ‚ ฮดฮตฮฝ ฮตฮฏฮฝฮฑฮน ฮตฯ€ฮนฮธฯ…ฮผฮทฯ„ฮฌ;\nฮ ฮฌฯ„ฮฑ ฮ•ฮฝฯ„ฮฌฮพฮตฮน/Enter ฮณฮนฮฑ ฮฮ‘ ฮ‘ฮ“ฮฮŸฮ—ฮ˜ฮŸฮฅฮ ฯ„ฮฑ ฯ€ฮฑฯฮฑฮบฮฌฯ„ฯ‰ ฮฑฯฯ‡ฮตฮฏฮฑ,\nฮ ฮฌฯ„ฮฑ ฮ†ฮบฯ…ฯฮฟ/ESC ฮณฮนฮฑ ฮฮ‘ ฮœฮ—ฮ ฮ‘ฮ ฮŸฮšฮ›ฮ•ฮ™ฮฃฮคฮŸฮฅฮ ฮบฮฑฮน ฮฝฮฑ ฮœฮ•ฮคฮ‘ฮฆฮŸฮกฮคฮฉฮ˜ฮŸฮŽฮ ฮบฮน ฮฑฯ…ฯ„ฮฌ:\n\n", - "u_just1": "\nฮŠฯƒฯ‰ฯ‚ ฮดฮฟฯ…ฮปฮญฯˆฮตฮน ฮบฮฑฮปฯฯ„ฮตฯฮฑ ฮฑฮฝ ฮตฯ€ฮนฮปฮญฮพฮตฮนฯ‚ ฮผฯŒฮฝฮฟ ฮญฮฝฮฑ ฮฑฯฯ‡ฮตฮฏฮฟ", - "u_ff_many": "ฮฑฮฝ ฯ‡ฯฮทฯƒฮนฮผฮฟฯ€ฮฟฮนฮตฮฏฯ‚ Linux / MacOS / Android, ฯ„ฯŒฯ„ฮต ฯ„ฯŒฯƒฮฑ ฮฑฯฯ‡ฮตฮฏฮฑ ฮผฯ€ฮฟฯฮตฮฏ ฮฝฮฑ ฮบฮฑฯ„ฮฌฯฯฮตฯ…ฯƒฮท ฯ„ฮฟฯ… Firefox!\nฮฑฮฝ ฮณฮฏฮฝฮตฮน ฮฑฯ…ฯ„ฯŒ, ฮดฮฟฮบฮฏฮผฮฑฯƒฮต ฮพฮฑฮฝฮฌ (ฮฎ ฯ‡ฯฮทฯƒฮนฮผฮฟฯ€ฮฟฮฏฮทฯƒฮต ฯ„ฮฟฮฝ Chrome).", - "u_up_life": "ฮ‘ฯ…ฯ„ฮฎ ฮท ฮผฮตฯ„ฮฑฯ†ฯŒฯฯ„ฯ‰ฯƒฮท ฮธฮฑ ฮดฮนฮฑฮณฯฮฑฯ†ฮตฮฏ ฮฑฯ€ฯŒ ฯ„ฮฟ ฮดฮนฮฑฮบฮฟฮผฮนฯƒฯ„ฮฎ\n{0} ฮผฮตฯ„ฮฌ ฯ„ฮทฮฝ ฮฟฮปฮฟฮบฮปฮฎฯฯ‰ฯƒฮฎ ฯ„ฮทฯ‚", - "u_asku": "ฮผฮตฯ„ฮฑฯ†ฯŒฯฯ„ฯ‰ฯƒฮท ฮฑฯ…ฯ„ฯŽฮฝ ฯ„ฯ‰ฮฝ {0} ฮฑฯฯ‡ฮตฮฏฯ‰ฮฝ ฯƒฯ„ฮฟ {1}", - "u_unpt": "ฮผฯ€ฮฟฯฮตฮฏฯ‚ ฮฝฮฑ ฮฑฮฝฮฑฮนฯฮญฯƒฮตฮนฯ‚ / ฮดฮนฮฑฮณฯฮฌฯˆฮตฮนฯ‚ ฮฑฯ…ฯ„ฮฎฮฝ ฯ„ฮท ฮผฮตฯ„ฮฑฯ†ฯŒฯฯ„ฯ‰ฯƒฮท ฯ‡ฯฮทฯƒฮนฮผฮฟฯ€ฮฟฮนฯŽฮฝฯ„ฮฑฯ‚ ฯ„ฮฟ ๐Ÿงฏ, ฯ€ฮฌฮฝฯ‰ ฮฑฯฮนฯƒฯ„ฮตฯฮฌ", - "u_bigtab": "ฮธฮฑ ฮตฮผฯ†ฮฑฮฝฮนฯƒฯ„ฮฟฯฮฝ {0} ฮฑฯฯ‡ฮตฮฏฮฑ\n\nฮฑฯ…ฯ„ฯŒ ฮผฯ€ฮฟฯฮตฮฏ ฮฝฮฑ ฮบฮฌฮฝฮตฮน ฯ„ฮฟฮฝ browser ฯƒฮฟฯ… ฮฝฮฑ ฮบฮฟฮปฮปฮฎฯƒฮตฮน, ฮตฮฏฯƒฮฑฮน ฯƒฮฏฮณฮฟฯ…ฯฮฟฯ‚;", - "u_scan": "ฮฃฮฌฯฯ‰ฯƒฮท ฮฑฯฯ‡ฮตฮฏฯ‰ฮฝ...", - "u_dirstuck": "ฮฟ ฮตฯ€ฮตฮพฮตฯฮณฮฑฯƒฯ„ฮฎฯ‚ ฯ†ฮฑฮบฮญฮปฯ‰ฮฝ ฮบฯŒฮปฮปฮทฯƒฮต ฯ€ฯฮฟฯƒฯ€ฮฑฮธฯŽฮฝฯ„ฮฑฯ‚ ฮฝฮฑ ฯ€ฯฮฟฯƒฯ€ฮตฮปฮฌฯƒฮตฮน ฯ„ฮฑ ฮตฮพฮฎฯ‚ {0} ฮฑฮฝฯ„ฮนฮบฮตฮฏฮผฮตฮฝฮฑยท ฮธฮฑ ฯ„ฮฑ ฯ€ฮฑฯฮฑฮปฮตฮฏฯˆฮตฮน:", - "u_etadone": "ฮŸฮปฮฟฮบฮปฮทฯฯŽฮธฮทฮบฮต ({0}, {1} ฮฑฯฯ‡ฮตฮฏฮฑ)", - "u_etaprep": "(ฯ€ฯฮฟฮตฯ„ฮฟฮนฮผฮฑฯƒฮฏฮฑ ฮณฮนฮฑ ฮผฮตฯ„ฮฑฯ†ฯŒฯฯ„ฯ‰ฯƒฮท)", - "u_hashdone": "ฯ„ฮฟ hashing ฮฟฮปฮฟฮบฮปฮทฯฯŽฮธฮทฮบฮต", - "u_hashing": "ฯ…ฯ€ฮฟฮปฮฟฮณฮนฯƒฮผฯŒฯ‚ hash", - "u_hs": "handshaking...", - "u_started": "ฯ„ฮฑ ฮฑฯฯ‡ฮตฮฏฮฑ ฮฑฮฝฮตฮฒฮฑฮฏฮฝฮฟฯ…ฮฝ ฯ„ฯŽฯฮฑยท ฮดฮตฯ‚ ฯ„ฮฑ ฯƒฯ„ฮฟ [๐Ÿš€]", - "u_dupdefer": "ฮดฮนฯ€ฮปฯŒฯ„ฯ…ฯ€ฮฟ; ฮธฮฑ ฮตฯ€ฮตฮพฮตฯฮณฮฑฯƒฯ„ฮตฮฏ ฮผฮตฯ„ฮฌ ฮฑฯ€ฯŒ ฯŒฮปฮฑ ฯ„ฮฑ ฮฌฮปฮปฮฑ ฮฑฯฯ‡ฮตฮฏฮฑ", - "u_actx": "ฯ€ฮฌฯ„ฮฑ ฮฑฯ…ฯ„ฯŒ ฯ„ฮฟ ฮบฮตฮฏฮผฮตฮฝฮฟ ฮณฮนฮฑ ฮฝฮฑ ฮผฮทฮฝ ฯ‡ฮฌฯƒฮตฮนฯ‚
    ฮฑฯ€ฯŒฮดฮฟฯƒฮท ฯŒฯ„ฮฑฮฝ ฮฑฮปฮปฮฌฮถฮตฮนฯ‚ ฯ€ฮฑฯฮฌฮธฯ…ฯฮฑ/ฮบฮฑฯฯ„ฮญฮปฮตฯ‚", - "u_fixed": "ฮŸฮš!  ฮคฮฟ ฮดฮนฯŒฯฮธฯ‰ฯƒฮฑ ๐Ÿ‘", - "u_cuerr": "ฮฑฯ€ฮฟฯ„ฯ…ฯ‡ฮฏฮฑ ฮผฮตฯ„ฮฑฯ†ฯŒฯฯ„ฯ‰ฯƒฮทฯ‚ ฯ„ฮผฮฎฮผฮฑฯ„ฮฟฯ‚ฯ‚ {0} ฮฑฯ€ฯŒ {1};\nฯ€ฮนฮธฮฑฮฝฯŽฯ‚ ฮฑฮบฮฏฮฝฮดฯ…ฮฝฮฟ, ฯƒฯ…ฮฝฮตฯ‡ฮฏฮถฯ‰\n\nฮฑฯฯ‡ฮตฮฏฮฟ: {2}", - "u_cuerr2": "ฮฟ ฮดฮนฮฑฮบฮฟฮผฮนฯƒฯ„ฮฎฯ‚ ฮฑฯ€ฮญฯฯฮนฯˆฮต ฯ„ฮท ฮผฮตฯ„ฮฑฯ†ฯŒฯฯ„ฯ‰ฯƒฮท (ฯ„ฮผฮฎฮผฮฑ {0} ฮฑฯ€ฯŒ {1});\nฮธฮฑ ฮพฮฑฮฝฮฑฮดฮฟฮบฮนฮผฮฌฯƒฮตฮน ฮฑฯฮณฯŒฯ„ฮตฯฮฑ\n\nฮฑฯฯ‡ฮตฮฏฮฟ: {2}\n\nฯƒฯ†ฮฌฮปฮผฮฑ ", - "u_ehstmp": "ฮธฮฑ ฮพฮฑฮฝฮฑฮดฮฟฮบฮนฮผฮฌฯƒฮตฮน; ฮดฮตฯ‚ ฮบฮฌฯ„ฯ‰ ฮดฮตฮพฮนฮฌ", - "u_ehsfin": "ฮฟ ฮดฮนฮฑฮบฮฟฮผฮนฯƒฯ„ฮฎฯ‚ ฮฑฯ€ฮญฯฯฮนฯˆฮต ฯ„ฮฟ ฮฑฮฏฯ„ฮทฮผฮฑ ฮฟฮปฮฟฮบฮปฮฎฯฯ‰ฯƒฮทฯ‚ ฯ„ฮทฯ‚ ฮผฮตฯ„ฮฑฯ†ฯŒฯฯ„ฯ‰ฯƒฮทฯ‚; ฮพฮฑฮฝฮฑฮดฮฟฮบฮนฮผฮฌฮถฮตฮน...", - "u_ehssrch": "ฮฟ ฮดฮนฮฑฮบฮฟฮผฮนฯƒฯ„ฮฎฯ‚ ฮฑฯ€ฮญฯฯฮนฯˆฮต ฯ„ฮฟ ฮฑฮฏฯ„ฮทฮผฮฑ ฮฑฮฝฮฑฮถฮฎฯ„ฮทฯƒฮทฯ‚; ฮพฮฑฮฝฮฑฮดฮฟฮบฮนฮผฮฌฮถฮตฮน...", - "u_ehsinit": "ฮฟ ฮดฮนฮฑฮบฮฟฮผฮนฯƒฯ„ฮฎฯ‚ ฮฑฯ€ฮญฯฯฮนฯˆฮต ฯ„ฮฟ ฮฑฮฏฯ„ฮทฮผฮฑ ฮณฮนฮฑ ฮตฮบฮบฮฏฮฝฮทฯƒฮท ฮผฮตฯ„ฮฑฯ†ฯŒฯฯ„ฯ‰ฯƒฮทฯ‚; ฮพฮฑฮฝฮฑฮดฮฟฮบฮนฮผฮฌฮถฮตฮน...", - "u_eneths": "ฯƒฯ†ฮฌฮปฮผฮฑ ฮดฮนฮบฯ„ฯฮฟฯ… ฮบฮฑฯ„ฮฌ ฯ„ฮฟ handshake ฮผฮตฯ„ฮฑฯ†ฯŒฯฯ„ฯ‰ฯƒฮทฯ‚; ฮพฮฑฮฝฮฑฮดฮฟฮบฮนฮผฮฌฮถฮตฮน...", - "u_enethd": "ฯƒฯ†ฮฌฮปฮผฮฑ ฮดฮนฮบฯ„ฯฮฟฯ… ฮบฮฑฯ„ฮฌ ฯ„ฮฟฮฝ ฮญฮปฮตฮณฯ‡ฮฟ ฯฯ€ฮฑฯฮพฮทฯ‚ ฯƒฯ„ฯŒฯ‡ฮฟฯ…; ฮพฮฑฮฝฮฑฮดฮฟฮบฮนฮผฮฌฮถฮตฮน...", - "u_cbusy": "ฮฟ ฮดฮนฮฑฮบฮฟฮผฮนฯƒฯ„ฮฎฯ‚ ฯ€ฮตฯฮนฮผฮญฮฝฮตฮน ฮฝฮฑ ฮผฮฑฯ‚ ฮตฮผฯ€ฮนฯƒฯ„ฮตฯ…ฯ„ฮตฮฏ ฮพฮฑฮฝฮฌ ฮผฮตฯ„ฮฌ ฮฑฯ€ฯŒ ฯ€ฯฯŒฮฒฮปฮทฮผฮฑ ฮดฮนฮบฯ„ฯฮฟฯ…...", - "u_ehsdf": "ฮฟ ฮดฮนฮฑฮบฮฟฮผฮนฯƒฯ„ฮฎฯ‚ ฮญฮผฮตฮนฮฝฮต ฮฑฯ€ฯŒ ฯ‡ฯŽฯฮฟ ฯƒฯ„ฮฟ ฮดฮฏฯƒฮบฮฟ!\n\nฮธฮฑ ฯƒฯ…ฮฝฮตฯ‡ฮฏฯƒฮตฮน ฮฝฮฑ ฮพฮฑฮฝฮฑฮดฮฟฮบฮนฮผฮฌฮถฮตฮน,\nฯƒฮต ฯ€ฮตฯฮฏฯ€ฯ„ฯ‰ฯƒฮท ฯ€ฮฟฯ… ฮบฮฌฯ€ฮฟฮนฮฟฯ‚\nฮตฮปฮตฯ…ฮธฮตฯฯŽฯƒฮตฮน ฮฑฯฮบฮตฯ„ฯŒ ฯ‡ฯŽฯฮฟ ฮณฮนฮฑ ฯƒฯ…ฮฝฮญฯ‡ฮตฮนฮฑ", - "u_emtleak1": "ฯ†ฮฑฮฏฮฝฮตฯ„ฮฑฮน ฯ€ฯ‰ฯ‚ ฮฟ browser ฯƒฮฟฯ… ฮญฯ‡ฮตฮน ฮดฮนฮฑฯฯฮฟฮฎ ฮผฮฝฮฎฮผฮทฯ‚;\nฯ€ฮฑฯฮฑฮบฮฑฮปฯŽ", - "u_emtleak2": ' ฮฑฮปฮปฮฑฮณฮฎ ฯƒฮต https (ฯƒฯ…ฮฝฮนฯƒฯ„ฮฌฯ„ฮฑฮน) ฮฎ ', - "u_emtleak3": ' ', - "u_emtleakc": 'ฮดฮฟฮบฮฏฮผฮฑฯƒฮต ฯ„ฮฑ ฮตฮพฮฎฯ‚:\n
    • ฯ€ฮฌฯ„ฮฑ F5 ฮณฮนฮฑ ฮฑฮฝฮฑฮฝฮญฯ‰ฯƒฮท ฯƒฮตฮปฮฏฮดฮฑฯ‚
    • ฮผฮตฯ„ฮฌ ฮฑฯ€ฮตฮฝฮตฯฮณฮฟฯ€ฮฟฮฏฮทฯƒฮต ฯ„ฮฟ  mt  ฮบฮฟฯ…ฮผฯ€ฮฏ ฯƒฯ„ฮนฯ‚  โš™๏ธ ฯฯ…ฮธฮผฮฏฯƒฮตฮนฯ‚
    • ฮบฮฑฮน ฮดฮฟฮบฮฏฮผฮฑฯƒฮต ฮพฮฑฮฝฮฌ ฯ„ฮท ฮผฮตฯ„ฮฑฯ†ฯŒฯฯ„ฯ‰ฯƒฮท
    ฮŸฮน ฮผฮตฯ„ฮฑฯ†ฮฟฯฯ„ฯŽฯƒฮนฮตฯ‚ ฮธฮฑ ฮตฮฏฮฝฮฑฮน ฮปฮฏฮณฮฟ ฯ€ฮนฮฟ ฮฑฯฮณฮญฯ‚, ฮฑฮปฮปฮฌ ok.\nฮฃฯ…ฮณฮณฮฝฯŽฮผฮท ฮณฮนฮฑ ฯ„ฮทฮฝ ฯ„ฮฑฮปฮฑฮนฯ€ฯ‰ฯฮฏฮฑ!\n\nPS: ฯ„ฮฟ chrome v107 ฮญฯ‡ฮตฮน ฮดฮนฯŒฯฮธฯ‰ฯƒฮท ฮณฮน\' ฮฑฯ…ฯ„ฯŒ', - "u_emtleakf": 'ฮดฮฟฮบฮฏฮผฮฑฯƒฮต ฯ„ฮฑ ฮตฮพฮฎฯ‚:\n
    • ฯ€ฮฌฯ„ฮฑ F5 ฮณฮนฮฑ ฮฑฮฝฮฑฮฝฮญฯ‰ฯƒฮท ฯƒฮตฮปฮฏฮดฮฑฯ‚
    • ฮผฮตฯ„ฮฌ ฮฌฮฝฮฟฮนฮพฮต ฯ„ฮฟ ๐Ÿฅ” (potato) ฯƒฯ„ฮฟ UI ฮผฮตฯ„ฮฑฯ†ฯŒฯฯ„ฯ‰ฯƒฮทฯ‚
    • ฮบฮฑฮน ฮดฮฟฮบฮฏฮผฮฑฯƒฮต ฮพฮฑฮฝฮฌ ฯ„ฮท ฮผฮตฯ„ฮฑฯ†ฯŒฯฯ„ฯ‰ฯƒฮท
    \nPS: ฮฟ firefox ฮตฮปฯ€ฮฏฮถฮตฮน ฮฝฮฑ ฯ†ฯ„ฮนฮฌฮพฮตฮน ฮฑฯ…ฯ„ฯŒ ฯ„ฮฟ bug ฮบฮฌฯ€ฮฟฮนฮฑ ฯƒฯ„ฮนฮณฮผฮฎ', - "u_s404": "ฮดฮตฮฝ ฮฒฯฮญฮธฮทฮบฮต ฯƒฯ„ฮฟ ฮดฮนฮฑฮบฮฟฮผฮนฯƒฯ„ฮฎ", - "u_expl": "ฮตฯ€ฮตฮพฮฎฮณฮทฯƒฮท", - "u_maxconn": "ฮฟฮน ฯ€ฮตฯฮนฯƒฯƒฯŒฯ„ฮตฯฮฟฮน browser ฯ„ฮฟ ฯ€ฮตฯฮนฮฟฯฮฏฮถฮฟฯ…ฮฝ ฯƒฯ„ฮฑ 6, ฮฑฮปฮปฮฌ ฮฟ firefox ฯƒฮฟฯ… ฮตฯ€ฮนฯ„ฯฮญฯ€ฮตฮน ฮฝฮฑ ฯ„ฮฟ ฮฑฯ…ฮพฮฎฯƒฮตฮนฯ‚ ฮผฮต connections-per-server ฯƒฯ„ฮฟ about:config", - "u_tu": '

    ฮ ฮกฮŸฮ•ฮ™ฮ”ฮŸฮ ฮŸฮ™ฮ—ฮฃฮ—: ฯ„ฮฟ turbo ฮตฮฏฮฝฮฑฮน ฮตฮฝฮตฯฮณฮฟฯ€ฮฟฮนฮทฮผฮญฮฝฮฟ,  ฯ„ฮฟ ฯ€ฯฯŒฮณฯฮฑฮผฮผฮฑ ฯ€ฮตฮปฮฌฯ„ฮท ฮฏฯƒฯ‰ฯ‚ ฮฝฮฑ ฮผฮทฮฝ ฮฑฮฝฮนฯ‡ฮฝฮตฯฯƒฮตฮน ฮบฮฑฮน ฮฝฮฑ ฮผฮทฮฝ ฮพฮฑฮฝฮฑฮตฮบฮบฮนฮฝฮฎฯƒฮตฮน ฮผฮนฯƒฮฟฯ„ฮตฮปฮตฮนฯ‰ฮผฮญฮฝฮตฯ‚ ฮผฮตฯ„ฮฑฯ†ฮฟฯฯ„ฯŽฯƒฮตฮนฯ‚; ฮดฮตฯ‚ ฯ„ฮฑ tooltip ฯ„ฮฟฯ… ฮบฮฟฯ…ฮผฯ€ฮนฮฟฯ turbo

    ', - "u_ts": '

    ฮ ฮกฮŸฮ•ฮ™ฮ”ฮŸฮ ฮŸฮ™ฮ—ฮฃฮ—: ฯ„ฮฟ turbo ฮตฮฏฮฝฮฑฮน ฮตฮฝฮตฯฮณฮฟฯ€ฮฟฮนฮทฮผฮญฮฝฮฟ,  ฯ„ฮฑ ฮฑฯ€ฮฟฯ„ฮตฮปฮญฯƒฮผฮฑฯ„ฮฑ ฮฑฮฝฮฑฮถฮฎฯ„ฮทฯƒฮทฯ‚ ฮผฯ€ฮฟฯฮตฮฏ ฮฝฮฑ ฮตฮฏฮฝฮฑฮน ฮปฮฌฮธฮฟฯ‚; ฮดฮตฯ‚ ฯ„ฮฑ tooltip ฯ„ฮฟฯ… ฮบฮฟฯ…ฮผฯ€ฮนฮฟฯ turbo

    ', - "u_turbo_c": "ฯ„ฮฟ turbo ฮตฮฏฮฝฮฑฮน ฮฑฯ€ฮตฮฝฮตฯฮณฮฟฯ€ฮฟฮนฮทฮผฮญฮฝฮฟ ฯƒฯ„ฮฟ ฮฑฯฯ‡ฮตฮฏฮฟ ฯฯ…ฮธฮผฮฏฯƒฮตฯ‰ฮฝ ฯ„ฮฟฯ… ฮดฮนฮฑฮบฮฟฮผฮนฯƒฯ„ฮฎ", - "u_turbo_g": "ฮฑฯ€ฮตฮฝฮตฯฮณฮฟฯ€ฮฟฮนฯŽ ฯ„ฮฟ turbo ฮตฯ€ฮตฮนฮดฮฎ ฮดฮตฮฝ ฮญฯ‡ฮตฮนฯ‚ ฮดฮนฮบฮฑฮฏฯ‰ฮผฮฑ\nฮณฮนฮฑ ฯ„ฮท ฮปฮฏฯƒฯ„ฮฑ ฯ†ฮฑฮบฮญฮปฯ‰ฮฝ ฯƒฮต ฮฑฯ…ฯ„ฯŒฮฝ ฯ„ฮฟฮฝ ฯ„ฯŒฮผฮฟ", - "u_life_cfg": 'ฮฑฯ…ฯ„ฯŒฮผฮฑฯ„ฮท ฮดฮนฮฑฮณฯฮฑฯ†ฮฎ ฮผฮตฯ„ฮฌ ฮฑฯ€ฯŒ ฮปฮตฯ€ฯ„ฮฌ (ฮฎ ฯŽฯฮตฯ‚)', - "u_life_est": 'ฮท ฮผฮตฯ„ฮฑฯ†ฯŒฯฯ„ฯ‰ฯƒฮท ฮธฮฑ ฮดฮนฮฑฮณฯฮฑฯ†ฮตฮฏ ---', - "u_life_max": 'ฮฑฯ…ฯ„ฯŒฯ‚ ฮฟ ฯ†ฮฌฮบฮตฮปฮฟฯ‚ ฮตฯ€ฮนฮฒฮฌฮปฮปฮตฮน\nฮผฮญฮณฮนฯƒฯ„ฮท ฮดฮนฮฌฯฮบฮตฮนฮฑ ฮถฯ‰ฮฎฯ‚ {0}', - "u_unp_ok": "ฮตฯ€ฮนฯ„ฯฮญฯ€ฮตฯ„ฮฑฮน ฯ„ฮฟ unpost ฮณฮนฮฑ {0}", - "u_unp_ng": "ฮดฮตฮฝ ฮตฯ€ฮนฯ„ฯฮญฯ€ฮตฯ„ฮฑฮน ฯ„ฮฟ unpost", - "ue_ro": "ฮญฯ‡ฮตฮนฯ‚ ฮผฯŒฮฝฮฟ ฮดฮนฮบฮฑฮฏฯ‰ฮผฮฑ ฮฑฮฝฮฌฮณฮฝฯ‰ฯƒฮทฯ‚ ฯƒฮต ฮฑฯ…ฯ„ฯŒฮฝ ฯ„ฮฟ ฯ†ฮฌฮบฮตฮปฮฟ\n\n", - "ue_nl": "ฮดฮตฮฝ ฮตฮฏฯƒฮฑฮน ฯƒฯ…ฮฝฮดฮตฮดฮตฮผฮญฮฝฮฟฯ‚ ฯ„ฯŽฯฮฑ", - "ue_la": 'ฮตฮฏฯƒฮฑฮน ฯƒฯ…ฮฝฮดฮตฮดฮตฮผฮญฮฝฮฟฯ‚ ฯ‰ฯ‚ "{0}"', - "ue_sr": "ฮตฮฏฯƒฮฑฮน ฯƒฮต ฮปฮตฮนฯ„ฮฟฯ…ฯฮณฮฏฮฑ ฮฑฮฝฮฑฮถฮฎฯ„ฮทฯƒฮทฯ‚ ฮฑฯฯ‡ฮตฮฏฯ‰ฮฝ\n\nฯ€ฮฎฮณฮฑฮนฮฝฮต ฯƒฮต ฮปฮตฮนฯ„ฮฟฯ…ฯฮณฮฏฮฑ ฮผฮตฯ„ฮฑฯ†ฯŒฯฯ„ฯ‰ฯƒฮทฯ‚ ฯ€ฮฑฯ„ฯŽฮฝฯ„ฮฑฯ‚ ฯ„ฮฟ ๐Ÿ”Ž (ฮดฮฏฯ€ฮปฮฑ ฯƒฯ„ฮฟ ฮผฮตฮณฮฌฮปฮฟ ฮบฮฟฯ…ฮผฯ€ฮฏ ฮ‘ฮฮ‘ฮ–ฮ—ฮคฮ—ฮฃฮ—ฮฃ) ฮบฮฑฮน ฮดฮฟฮบฮฏฮผฮฑฯƒฮต ฯ€ฮฌฮปฮน\n\nฯƒฯ…ฮณฮณฮฝฯŽฮผฮท", - "ue_ta": "ฮดฮฟฮบฮฏฮผฮฑฯƒฮต ฮฝฮฑ ฮผฮตฯ„ฮฑฯ†ฮฟฯฯ„ฯŽฯƒฮตฮนฯ‚ ฮตฮบ ฮฝฮญฮฟฯ…, ฮธฮฑ ฯ€ฯฮญฯ€ฮตฮน ฮฝฮฑ ฮดฮฟฯ…ฮปฮญฯˆฮตฮน ฯ„ฯŽฯฮฑ", - "ue_ab": "ฮฑฯ…ฯ„ฯŒ ฯ„ฮฟ ฮฑฯฯ‡ฮตฮฏฮฟ ฮฑฮฝฮตฮฒฮฑฮฏฮฝฮตฮน ฯƒฮต ฮฌฮปฮปฮฟ ฯ†ฮฌฮบฮตฮปฮฟ ฮบฮฑฮน ฮท ฮผฮตฯ„ฮฑฯ†ฯŒฯฯ„ฯ‰ฯƒฮท ฯ€ฯฮญฯ€ฮตฮน ฮฝฮฑ ฮฟฮปฮฟฮบฮปฮทฯฯ‰ฮธฮตฮฏ ฯ€ฯฮนฮฝ ฮฑฮฝฮญฮฒฮตฮน ฮฑฮปฮปฮฟฯ.\n\nฮœฯ€ฮฟฯฮตฮฏฯ‚ ฮฝฮฑ ฮฑฮบฯ…ฯฯŽฯƒฮตฮนฯ‚ ฮบฮฑฮน ฮฝฮฑ ฮพฮตฯ‡ฮฌฯƒฮตฮนฯ‚ ฯ„ฮทฮฝ ฮฑฯฯ‡ฮนฮบฮฎ ฮผฮตฯ„ฮฑฯ†ฯŒฯฯ„ฯ‰ฯƒฮท ฮผฮต ฯ„ฮฟ ฮบฮฟฯ…ฮผฯ€ฮฏ ๐Ÿงฏ ฯ€ฮฌฮฝฯ‰ ฮฑฯฮนฯƒฯ„ฮตฯฮฌ", - "ur_1uo": "ฮŸฮš: ฮคฮฟ ฮฑฯฯ‡ฮตฮฏฮฟ ฮฑฮฝฮญฮฒฮทฮบฮต ฮตฯ€ฮนฯ„ฯ…ฯ‡ฯŽฯ‚", - "ur_auo": "ฮŸฮš: ฮšฮฑฮน ฯ„ฮฑ {0} ฮฑฯฯ‡ฮตฮฏฮฑ ฮฑฮฝฮญฮฒฮทฮบฮฑฮฝ ฮตฯ€ฮนฯ„ฯ…ฯ‡ฯŽฯ‚", - "ur_1so": "ฮŸฮš: ฮคฮฟ ฮฑฯฯ‡ฮตฮฏฮฟ ฮฒฯฮญฮธฮทฮบฮต ฯƒฯ„ฮฟ ฮดฮนฮฑฮบฮฟฮผฮนฯƒฯ„ฮฎ", - "ur_aso": "ฮŸฮš: ฮšฮฑฮน ฯ„ฮฑ {0} ฮฑฯฯ‡ฮตฮฏฮฑ ฮฒฯฮญฮธฮทฮบฮฑฮฝ ฯƒฯ„ฮฟ ฮดฮนฮฑฮบฮฟฮผฮนฯƒฯ„ฮฎ", - "ur_1un": "ฮ— ฮผฮตฯ„ฮฑฯ†ฯŒฯฯ„ฯ‰ฯƒฮท ฮฑฯ€ฮญฯ„ฯ…ฯ‡ฮต, ฯƒฯ…ฮณฮณฮฝฯŽฮผฮท", - "ur_aun": "ฮšฮฑฮน ฮฟฮน {0} ฮผฮตฯ„ฮฑฯ†ฮฟฯฯ„ฯŽฯƒฮตฮนฯ‚ ฮฑฯ€ฮญฯ„ฯ…ฯ‡ฮฑฮฝ, ฯƒฯ…ฮณฮณฮฝฯŽฮผฮท", - "ur_1sn": "ฮคฮฟ ฮฑฯฯ‡ฮตฮฏฮฟ ฮ”ฮ•ฮ ฮฒฯฮญฮธฮทฮบฮต ฯƒฯ„ฮฟ ฮดฮนฮฑฮบฮฟฮผฮนฯƒฯ„ฮฎ", - "ur_asn": "ฮคฮฑ {0} ฮฑฯฯ‡ฮตฮฏฮฑ ฮ”ฮ•ฮ ฮฒฯฮญฮธฮทฮบฮฑฮฝ ฯƒฯ„ฮฟ ฮดฮนฮฑฮบฮฟฮผฮนฯƒฯ„ฮฎ", - "ur_um": "ฮŸฮปฮฟฮบฮปฮทฯฯŽฮธฮทฮบฮต;\n{0} ฮผฮตฯ„ฮฑฯ†ฮฟฯฯ„ฯŽฯƒฮตฮนฯ‚ ฮตฮฏฮฝฮฑฮน OK,\n{1} ฮผฮตฯ„ฮฑฯ†ฮฟฯฯ„ฯŽฯƒฮตฮนฯ‚ ฮฑฯ€ฮญฯ„ฯ…ฯ‡ฮฑฮฝ, ฯƒฯ…ฮณฮณฮฝฯŽฮผฮท", - "ur_sm": "ฮŸฮปฮฟฮบฮปฮทฯฯŽฮธฮทฮบฮต;\n{0} ฮฑฯฯ‡ฮตฮฏฮฑ ฮฒฯฮญฮธฮทฮบฮฑฮฝ ฯƒฯ„ฮฟ ฮดฮนฮฑฮบฮฟฮผฮนฯƒฯ„ฮฎ,\n{1} ฮฑฯฯ‡ฮตฮฏฮฑ ฮ”ฮ•ฮ ฮฒฯฮญฮธฮทฮบฮฑฮฝ ฯƒฯ„ฮฟ ฮดฮนฮฑฮบฮฟฮผฮนฯƒฯ„ฮฎ", - - "lang_set": "ฮฑฮฝฮฑฮฝฮญฯ‰ฯƒฮท ฯƒฮตฮปฮฏฮดฮฑฯ‚ ฮณฮนฮฑ ฮตฯ†ฮฑฯฮผฮฟฮณฮฎ ฯ„ฮทฯ‚ ฮฑฮปฮปฮฑฮณฮฎฯ‚;" - }, - "ita": { - "tt": "Italiano", - - "cols": { - "c": "pulsanti azione", - "dur": "durata", - "q": "qualitร  / bitrate", - "Ac": "codec audio", - "Vc": "codec video", - "Fmt": "formato / container", - "Ahash": "checksum audio", - "Vhash": "checksum video", - "Res": "risoluzione", - "T": "tipo file", - "aq": "qualitร  audio / bitrate", - "vq": "qualitร  video / bitrate", - "pixfmt": "subsampling / struttura pixel", - "resw": "risoluzione orizzontale", - "resh": "risoluzione verticale", - "chs": "canali audio", - "hz": "frequenza di campionamento" - }, - - "hks": [ - [ - "varie", - ["ESC", "chiudi vari elementi"], - - "file-manager", - ["G", "alterna vista lista / griglia"], - ["T", "alterna miniature / icone"], - ["โ‡ง A/D", "dimensione miniature"], - ["ctrl-K", "elimina selezionati"], - ["ctrl-X", "taglia selezione negli appunti"], - ["ctrl-C", "copia selezione negli appunti"], - ["ctrl-V", "incolla (sposta/copia) qui"], - ["Y", "scarica selezionati"], - ["F2", "rinomina selezionati"], - - "file-list-sel", - ["spazio", "alterna selezione file"], - ["โ†‘/โ†“", "sposta cursore selezione"], - ["ctrl โ†‘/โ†“", "sposta cursore e viewport"], - ["โ‡ง โ†‘/โ†“", "seleziona file prec/succ"], - ["ctrl-A", "seleziona tutti i file / cartelle"], - ], [ - "navigation", - ["B", "alterna breadcrumb / pannello nav"], - ["I/K", "cartella prec/succ"], - ["M", "cartella genitore (o comprimi corrente)"], - ["V", "alterna cartelle / file di testo nel pannello nav"], - ["A/D", "dimensione pannello nav"], - ], [ - "audio-player", - ["J/L", "brano prec/succ"], - ["U/O", "salta 10sec indietro/avanti"], - ["0..9", "salta a 0%..90%"], - ["P", "play/pausa (avvia anche)"], - ["S", "seleziona brano in riproduzione"], - ["Y", "scarica brano"], - ], [ - "image-viewer", - ["J/L, โ†/โ†’", "immagine prec/succ"], - ["Home/End", "prima/ultima immagine"], - ["F", "schermo intero"], - ["R", "ruota in senso orario"], - ["โ‡ง R", "ruota in senso antiorario"], - ["S", "seleziona immagine"], - ["Y", "scarica immagine"], - ], [ - "video.player", - ["U/O", "salta 10sec indietro/avanti"], - ["P/K/Spazio", "play/pausa"], - ["C", "continua riproduzione successivo"], - ["V", "loop"], - ["M", "muto"], - ["[ e ]", "imposta intervallo loop"], - ], [ - "textfile-viewer", - ["I/K", "file prec/succ"], - ["M", "chiudi file di testo"], - ["E", "modifica file di testo"], - ["S", "seleziona file (per taglia/copia/rinomina)"], - ] - ], - - "m_ok": "OK", - "m_ng": "Annulla", - - "enable": "Abilita", - "danger": "PERICOLO", - "clipped": "copiato negli appunti", - - "ht_s1": "secondo", - "ht_s2": "secondi", - "ht_m1": "minuto", - "ht_m2": "minuti", - "ht_h1": "ora", - "ht_h2": "ore", - "ht_d1": "giorno", - "ht_d2": "giorni", - "ht_and": " e ", - - "goh": "control-panel", - "gop": 'cartella sorella precedente">prec', - "gou": 'cartella genitore">su', - "gon": 'prossima cartella">succ', - "logout": "Logout ", - "login": "Accedi", //m - "access": " accesso", - "ot_close": "chiudi sottomenu", - "ot_search": "cerca file per attributi, percorso / nome, tag musicali, o qualsiasi combinazione di questi$N$N<code>foo bar</code> = deve contenere sia ยซfooยป che ยซbarยป,$N<code>foo -bar</code> = deve contenere ยซfooยป ma non ยซbarยป,$N<code>^yana .opus$</code> = inizia con ยซyanaยป ed รจ un file ยซopusยป$N<code>"try unite"</code> = contiene esattamente ยซtry uniteยป$N$Nil formato data รจ iso-8601, come$N<code>2009-12-31</code> o <code>2020-09-12 23:30:00</code>", - "ot_unpost": "unpost: elimina i tuoi caricamenti recenti, o interrompi quelli non completati", - "ot_bup": "bup: uploader di base, supporta anche netscape 4.0", - "ot_mkdir": "mkdir: crea una nuova directory", - "ot_md": "new-md: crea un nuovo documento markdown", - "ot_msg": "msg: invia un messaggio al log del server", - "ot_mp": "opzioni lettore multimediale", - "ot_cfg": "opzioni di configurazione", - "ot_u2i": 'up2k: carica file (se hai accesso in scrittura) o attiva la modalitร  ricerca per vedere se esistono giร  da qualche parte sul server$N$NI caricamenti sono ripristinabili, multithreaded, e i timestamp dei file vengono preservati, ma usa piรน CPU di [๐ŸŽˆ]  (l\'uploader di base)

    durante i caricamenti, questa icona diventa un indicatore di progresso!', - "ot_u2w": 'up2k: carica file con supporto per il ripristino (chiudi il browser e trascina gli stessi file piรน tardi)$N$NMultithreaded, e i timestamp dei file vengono preservati, ma usa piรน CPU di [๐ŸŽˆ]  (l\'uploader di base)

    durante i caricamenti, questa icona diventa un indicatore di progresso!', - "ot_noie": 'Perfavore usa Chrome / Firefox / Edge', - - "ab_mkdir": "crea directory", - "ab_mkdoc": "nuovo doc markdown", - "ab_msg": "invia msg al log srv", - - "ay_path": "salta alle cartelle", - "ay_files": "salta ai file", - - "wt_ren": "rinomina elementi selezionati$NTasto rapido: F2", - "wt_del": "elimina elementi selezionati$NTasto rapido: ctrl-K", - "wt_cut": "taglia elementi selezionati <small>(poi incolla altrove)</small>$NTasto rapido: ctrl-X", - "wt_cpy": "copia elementi selezionati negli appunti$N(per incollarli altrove)$NTasto rapido: ctrl-C", - "wt_pst": "incolla una selezione precedentemente tagliata / copiata$NTasto rapido: ctrl-V", - "wt_selall": "seleziona tutti i file$NTasto rapido: ctrl-A (quando il file รจ focalizzato)", - "wt_selinv": "inverti selezione", - "wt_zip1": "scarica questa cartella come archivio", - "wt_selzip": "scarica selezione come archivio", - "wt_seldl": "scarica selezione come file separati$NTasto rapido: Y", - "wt_npirc": "copia info traccia formato irc", - "wt_nptxt": "copia info traccia testo semplice", - "wt_m3ua": "aggiungi alla playlist m3u (clicca ๐Ÿ“ปcopia dopo)", - "wt_m3uc": "copia playlist m3u negli appunti", - "wt_grid": "alterna vista griglia / lista$NTasto rapido: G", - "wt_prev": "traccia precedente$NTasto rapido: J", - "wt_play": "play / pausa$NTasto rapido: P", - "wt_next": "traccia successiva$NTasto rapido: L", - - "ul_par": "caricamenti paralleli:", - "ut_rand": "randomizza nomi file", - "ut_u2ts": "copia il timestamp di ultima modifica$Ndal tuo filesystem al server\">๐Ÿ“…", - "ut_ow": "sovrascrivere file esistenti sul server?$N๐Ÿ›ก๏ธ: mai (genererร  un nuovo nome file)$N๐Ÿ•’: sovrascrivi se il file del server รจ piรน vecchio del tuo$Nโ™ป๏ธ: sovrascrivi sempre se i file sono diversi", - "ut_mt": "continua l'hashing di altri file durante il caricamento$N$NProva a disabilitare se la tua CPU o HDD รจ un collo di bottiglia", - "ut_ask": 'chiedi conferma prima che inizi il caricamento">๐Ÿ’ญ', - "ut_pot": "migliora la velocitร  di caricamento su dispositivi lenti$Nrendendo l'interfaccia meno complessa", - "ut_srch": "non caricare realmente, invece controlla se i file esistono giร  $N sul server (scansionerร  tutte le cartelle che puoi leggere)", - "ut_par": "metti in pausa i caricamenti impostandolo a 0$N$NAumenta se la tua connessione รจ lenta / alta latenza$N$NMantienilo a 1 su LAN o se l'HDD del server รจ un collo di bottiglia", - "ul_btn": "trascina file / cartelle
    qui (o cliccami)", - "ul_btnu": "C A R I C A", - "ul_btns": "C E R C A", - - "ul_hash": "hash", - "ul_send": "invia", - "ul_done": "fatto", - "ul_idle1": "nessun caricamento ancora in coda", - "ut_etah": "velocitร  media di <em>hashing</em>, e tempo stimato al completamento", - "ut_etau": "velocitร  media di <em>caricamento</em> e tempo stimato al completamento", - "ut_etat": "velocitร  <em>totale</em> media e tempo stimato al completamento", - - "uct_ok": "completato con successo", - "uct_ng": "non-valido: fallito / rifiutato / non-trovato", - "uct_done": "ok e ng combinati", - "uct_bz": "hashing o caricamento", - "uct_q": "inattivo, in attesa", - - "utl_name": "nome file", - "utl_ulist": "lista", - "utl_ucopy": "copia", - "utl_links": "link", - "utl_stat": "stato", - "utl_prog": "progresso", - - // keep short: - "utl_404": "404", - "utl_err": "ERRORE", - "utl_oserr": "Errore-SO", - "utl_found": "trovato", - "utl_defer": "rinvia", - "utl_yolo": "YOLO", - "utl_done": "finito", - - "ul_flagblk": "i file sono stati aggiunti alla coda
    tuttavia c'รจ un up2k occupato in un'altra scheda del browser,
    quindi aspetto che quello finisca prima", - "ul_btnlk": "la configurazione del server ha bloccato questo interruttore in questo stato", - - "udt_up": "Carica", - "udt_srch": "Cerca", - "udt_drop": "lascialo qui", - - "u_nav_m": '
    ok, cosa hai?
    Invio = File (uno o piรน)\nESC = Una cartella (incluse sottocartelle)', - "u_nav_b": 'FileUna cartella', - - "cl_opts": "opzioni", - "cl_themes": "tema", - "cl_langs": "lingua", - "cl_ziptype": "download cartella", - "cl_uopts": "opzioni up2k", - "cl_favico": "favicon", - "cl_bigdir": "cartelle grandi", - "cl_hsort": "#ordinamento", - "cl_keytype": "notazione tasti", - "cl_hiddenc": "colonne nascoste", - "cl_hidec": "nascondi", - "cl_reset": "reset", - "cl_hpick": "tocca le intestazioni delle colonne per nascondere nella tabella sottostante", - "cl_hcancel": "nascondere colonne annullato", - - "ct_grid": '็”ฐ griglia', - "ct_ttips": 'โ—” โ—ก โ—”">โ„น๏ธ tooltip', - "ct_thumb": 'nella vista griglia, alterna icone o miniature$NTasto rapido: T">๐Ÿ–ผ๏ธ miniature', - "ct_csel": 'usa CTRL e SHIFT per la selezione file nella vista griglia">sel', - "ct_ihop": 'quando il visualizzatore immagini รจ chiuso, scorri fino all\'ultimo file visualizzato">gโฎฏ', - "ct_dots": 'mostra file nascosti (se il server lo permette)">dotfile', - "ct_qdel": 'quando elimini file, chiedi conferma solo una volta">qdel', - "ct_dir1st": 'ordina cartelle prima dei file">๐Ÿ“ prima', - "ct_nsort": 'ordinamento naturale (per nomi file con cifre iniziali)">nsort', - "ct_utc": 'mostra tutte le date/ore in UTC">UTC', - "ct_readme": 'mostra README.md negli elenchi cartelle">๐Ÿ“œ readme', - "ct_idxh": 'mostra index.html invece dell\'elenco cartelle">htm', - "ct_sbars": 'mostra barre di scorrimento">โŸŠ', - - "cut_umod": "se un file esiste giร  sul server, aggiorna il timestamp di ultima modifica del server per farlo coincidere con il tuo file locale (richiede permessi di scrittura+eliminazione)\">re๐Ÿ“…", - - "cut_turbo": "il pulsante yolo, probabilmente NON lo vuoi abilitare:$N$NUsalo se stavi caricando una grande quantitร  di file e hai dovuto riavviare per qualche motivo, e vuoi continuare il caricamento il prima possibile$N$NQuesto sostituisce il controllo hash con un semplice "questo ha la stessa dimensione file sul server?" quindi se il contenuto del file รจ diverso NON verrร  caricato$N$NDovresti spegnere questo quando il caricamento รจ finito, e poi "caricare" di nuovo gli stessi file per far verificare al client\">turbo", - - "cut_datechk": "non ha effetto a meno che il pulsante turbo sia abilitato$N$NRiduce il fattore yolo di una piccola quantitร ; controlla se i timestamp dei file sul server corrispondono ai tuoi$N$NDovrebbe teoricamente catturare la maggior parte dei caricamenti non finiti / corrotti, ma non รจ un sostituto per fare un passaggio di verifica con turbo disabilitato dopo\">date-chk", - - "cut_u2sz": "dimensione (in MiB) di ogni chunk di caricamento; valori grandi volano meglio attraverso l'atlantico. Prova valori bassi su connessioni molto inaffidabili", - - "cut_flag": "assicura che solo una scheda stia caricando alla volta $N -- anche le altre schede devono avere questo abilitato $N -- influisce solo sulle schede dello stesso dominio", - - "cut_az": "carica file in ordine alfabetico, invece che dal file piรน piccolo prima$N$NL'ordine alfabetico puรฒ rendere piรน facile controllare a occhio se qualcosa รจ andato storto sul server, ma rende il caricamento leggermente piรน lento su fibra / LAN", - - "cut_nag": "notifica SO quando il caricamento si completa$N(solo se il browser o la scheda non รจ attiva)", - "cut_sfx": "allarme sonoro quando il caricamento si completa$N(solo se il browser o la scheda non รจ attiva)", - - "cut_mt": "usa multithreading per accelerare l'hashing dei file$N$NQuesto usa web-worker e richiede$Npiรน RAM (fino a 512 MiB extra)$N$NRende https 30% piรน veloce, http 4.5x piรน veloce\">mt", - - "cut_wasm": "usa wasm invece dell'hasher integrato del browser; migliora la velocitร  sui browser basati su chrome ma aumenta il carico CPU, e molte versioni vecchie di chrome hanno bug che fanno consumare tutta la RAM al browser e crashare se questo รจ abilitato\">wasm", - - "cft_text": "testo favicon (vuoto e aggiorna per disabilitare)", - "cft_fg": "colore primo piano", - "cft_bg": "colore sfondo", - - "cdt_lim": "numero massimo di file da mostrare in una cartella", - "cdt_ask": "quando scorri verso il fondo,$Ninvece di caricare piรน file,$Nchiedi cosa fare", - "cdt_hsort": "quante regole di ordinamento (<code>,sorthref</code>) includere negli URL multimediali. Impostandolo a 0 ignorerร  anche le regole di ordinamento incluse nei link multimediali quando li clicchi", - - "tt_entree": "mostra pannello nav (barra laterale albero directory)$NTasto rapido: B", - "tt_detree": "mostra breadcrumb$NTasto rapido: B", - "tt_visdir": "scorri alla cartella selezionata", - "tt_ftree": "alterna albero cartelle / file di testo$NTasto rapido: V", - "tt_pdock": "mostra cartelle genitore in un pannello ancorato in alto", - "tt_dynt": "crescita automatica mentre l'albero si espande", - "tt_wrap": "a capo parola", - "tt_hover": "rivela righe che traboccano al passaggio del mouse$N( interrompe lo scorrimento a meno che il cursore $N  del mouse non sia nella grondaia sinistra )", - - "ml_pmode": "alla fine della cartella...", - "ml_btns": "comandi", - "ml_tcode": "transcodifica", - "ml_tcode2": "transcodifica in", - "ml_tint": "tinta", - "ml_eq": "equalizzatore audio", - "ml_drc": "compressore gamma dinamica", - - "mt_loop": "loop/ripeti una canzone\">๐Ÿ”", - "mt_one": "fermati dopo una canzone\">1๏ธโƒฃ", - "mt_shuf": "mescola le canzoni in ogni cartella\">๐Ÿ”€", - "mt_aplay": "autoplay se c'รจ un song-ID nel link che hai cliccato per accedere al server$N$NDisabilitando questo fermerร  anche l'aggiornamento dell'URL della pagina con song-ID quando riproduci musica, per prevenire autoplay se queste impostazioni vengono perse ma l'URL rimane\">aโ–ถ", - "mt_preload": "inizia a caricare la prossima canzone verso la fine per riproduzione senza interruzioni\">preload", - "mt_prescan": "vai alla prossima cartella prima che finisca l'ultima canzone$Nmantenendo felice il browser web$Ncosรฌ non si ferma la riproduzione\">nav", - "mt_fullpre": "prova a precaricare l'intera canzone;$Nโœ… abilita su connessioni inaffidabili,$NโŒ disabilita su connessioni lente probabilmente\">full", - "mt_fau": "sui telefoni, previeni che la musica si fermi se la prossima canzone non si precarica abbastanza velocemente (puรฒ rendere glitchy la visualizzazione dei tag)\">โ˜•๏ธ", - "mt_waves": "barra di ricerca forma d'onda:$Nmostra ampiezza audio nello scrubber\">~s", - "mt_npclip": "mostra pulsanti per copiare negli appunti la canzone attualmente in riproduzione\">/np", - "mt_m3u_c": "mostra pulsanti per copiare negli appunti le$Ncanzoni selezionate come voci playlist m3u8\">๐Ÿ“ป", - "mt_octl": "integrazione so (tasti multimediali / osd)\">os-ctl", - "mt_oseek": "permetti ricerca attraverso integrazione so$N$Nnota: su alcuni dispositivi (iPhone),$Nquesto sostituisce il pulsante canzone successiva\">seek", - "mt_oscv": "mostra copertina album in osd\">art", - "mt_follow": "mantieni la traccia in riproduzione scorrevole nella vista\">๐ŸŽฏ", - "mt_compact": "controlli compatti\">โŸŽ", - "mt_uncache": "pulisci cache  (prova ad attivare se il tuo browser ha messo in cache$Nuna copia rotta di una canzone e si rifiuta di riprodurla)\">uncache", - "mt_mloop": "loop della cartella aperta\">๐Ÿ” loop", - "mt_mnext": "carica la prossima cartella e continua\">๐Ÿ“‚ succ", - "mt_mstop": "ferma riproduzione\">โธ stop", - "mt_cflac": "converti flac / wav in {0}\">flac", - "mt_caac": "converti aac / m4a in {0}\">aac", - "mt_coth": "converti tutti gli altri (non mp3) in {0}\">oth", - "mt_c2opus": "scelta migliore per desktop, laptop, android\">opus", - "mt_c2owa": "opus-weba, per iOS 17.5 e piรน recenti\">owa", - "mt_c2caf": "opus-caf, per iOS 11 fino a 17\">caf", - "mt_c2mp3": "usa questo su dispositivi molto vecchi\">mp3", - "mt_c2flac": "qualitร  audio migliore, ma download pesanti\">flac", //m - "mt_c2wav": "riproduzione non compressa (ancora piรน grande)\">wav", //m - "mt_c2ok": "bene, buona scelta", - "mt_c2nd": "quello non รจ il formato di output raccomandato per il tuo dispositivo, ma va bene", - "mt_c2ng": "il tuo dispositivo non sembra supportare questo formato di output, ma proviamo comunque", - "mt_xowa": "ci sono bug in iOS che prevengono la riproduzione in background usando questo formato; usa caf o mp3 invece", - "mt_tint": "livello sfondo (0-100) sulla barra di ricerca$Nper rendere il buffering meno distraente", - "mt_eq": "abilita l'equalizzatore e controllo guadagno;$N$Nboost <code>0</code> = volume standard 100% (non modificato)$N$Nwidth <code>1  </code> = stereo standard (non modificato)$Nwidth <code>0.5</code> = 50% crossfeed sinistra-destra$Nwidth <code>0  </code> = mono$N$Nboost <code>-0.8</code> & width <code>10</code> = rimozione vocale :^)$N$Nabilitando l'equalizzatore rende gli album senza interruzioni completamente senza interruzioni, quindi lascialo acceso con tutti i valori a zero (eccetto width = 1) se ti importa di quello", - "mt_drc": "abilita il compressore gamma dinamica (appiattitore volume / brickwaller); abiliterร  anche EQ per bilanciare gli spaghetti, quindi imposta tutti i campi EQ eccetto 'width' a 0 se non lo vuoi$N$NAbbassa il volume dell'audio sopra THRESHOLD dB; per ogni RATIO dB oltre THRESHOLD c'รจ 1 dB di output, quindi i valori di default di tresh -24 e ratio 12 significa che non dovrebbe mai diventare piรน forte di -22 dB ed รจ sicuro aumentare il boost equalizzatore a 0.8, o anche 1.8 con ATK 0 e un RLS enorme come 90 (funziona solo in firefox; RLS รจ max 1 in altri browser)$N$N(vedi wikipedia, lo spiegano molto meglio)", - - "mb_play": "riproduci", - "mm_hashplay": "riprodurre questo file audio?", - "mm_m3u": "premi Invio/OK per Riprodurre\npremi ESC/Annulla per Modificare", - "mp_breq": "serve firefox 82+ o chrome 73+ o iOS 15+", - "mm_bload": "ora caricando...", - "mm_bconv": "convertendo in {0}, attendi...", - "mm_opusen": "il tuo browser non puรฒ riprodurre file aac / m4a;\ntranscodifica in opus ora abilitata", - "mm_playerr": "riproduzione fallita: ", - "mm_eabrt": "Il tentativo di riproduzione รจ stato cancellato", - "mm_enet": "La tua connessione internet รจ instabile", - "mm_edec": "Questo file รจ presumibilmente corrotto??", - "mm_esupp": "Il tuo browser non capisce questo formato audio", - "mm_eunk": "Errore Sconosciuto", - "mm_e404": "Non รจ stato possibile riprodurre audio; errore 404: File non trovato.", - "mm_e403": "Non รจ stato possibile riprodurre audio; errore 403: Accesso negato.\n\nProva a premere F5 per ricaricare, forse sei stato disconnesso", - "mm_e500": "Non รจ stato possibile riprodurre audio; errore 500: Controlla i log del server.", - "mm_e5xx": "Non รจ stato possibile riprodurre audio; errore server ", - "mm_nof": "non trovo altri file audio nelle vicinanze", - "mm_prescan": "Cercando musica da riprodurre dopo...", - "mm_scank": "Trovata la prossima canzone:", - "mm_uncache": "cache pulita; tutte le canzoni si riscaricheranno alla prossima riproduzione", - "mm_hnf": "quella canzone non esiste piรน", - - "im_hnf": "quell'immagine non esiste piรน", - - "f_empty": 'questa cartella รจ vuota', - "f_chide": 'questo nasconderร  la colonna ยซ{0}ยป\n\npuoi mostrare le colonne nella scheda impostazioni', - "f_bigtxt": "questo file รจ {0} MiB grande -- visualizzare davvero come testo?", - "f_bigtxt2": "visualizzare solo la fine del file invece? questo abiliterร  anche following/tailing, mostrando righe di testo appena aggiunte in tempo reale", - "fbd_more": '
    mostrando {0} di {1} file; mostra {2} o mostra tutti
    ', - "fbd_all": '
    mostrando {0} di {1} file; mostra tutti
    ', - "f_anota": "solo {0} dei {1} elementi sono stati selezionati;\nper selezionare l'intera cartella, prima scorri fino in fondo", - - "f_dls": 'i link dei file nella cartella corrente sono stati\ncambiati in link di download', - - "f_partial": "Per scaricare in sicurezza un file che รจ attualmente in fase di caricamento, clicca il file che ha lo stesso nome, ma senza l'estensione .PARTIAL. Premi ANNULLA o Escape per farlo.\n\nPremendo OK / Invio ignorerai questo avviso e continuerai a scaricare il file .PARTIAL scratch, che quasi sicuramente ti darร  dati corrotti.", - - "ft_paste": "incolla {0} elementi$NTasto rapido: ctrl-V", - "fr_eperm": 'impossibile rinominare:\nnon hai il permesso โ€œspostaโ€ in questa cartella', - "fd_eperm": 'impossibile eliminare:\nnon hai il permesso โ€œeliminaโ€ in questa cartella', - "fc_eperm": 'impossibile tagliare:\nnon hai il permesso โ€œspostaโ€ in questa cartella', - "fp_eperm": 'impossibile incollare:\nnon hai il permesso โ€œscriviโ€ in questa cartella', - "fr_emore": "seleziona almeno un elemento da rinominare", - "fd_emore": "seleziona almeno un elemento da eliminare", - "fc_emore": "seleziona almeno un elemento da tagliare", - "fcp_emore": "seleziona almeno un elemento da copiare negli appunti", - - "fs_sc": "condividi la cartella in cui ti trovi", - "fs_ss": "condividi i file selezionati", - "fs_just1d": "non puoi selezionare piรน di una cartella,\no mescolare file e cartelle in una selezione", - "fs_abrt": "โŒ interrompi", - "fs_rand": "๐ŸŽฒ nome.casuale", - "fs_go": "โœ… crea condivisione", - "fs_name": "nome", - "fs_src": "sorgente", - "fs_pwd": "password", - "fs_exp": "scadenza", - "fs_tmin": "min", - "fs_thrs": "ore", - "fs_tdays": "giorni", - "fs_never": "eterno", - "fs_pname": "nome link opzionale; sarร  casuale se vuoto", - "fs_tsrc": "il file o cartella da condividere", - "fs_ppwd": "password opzionale", - "fs_w8": "creando condivisione...", - "fs_ok": "premi Invio/OK per Appunti\npremi ESC/Annulla per Chiudere", - - "frt_dec": "puรฒ risolvere alcuni casi di nomi file corrotti\">url-decode", - "frt_rst": "ripristina nomi file modificati a quelli originali\">โ†บ reset", - "frt_abrt": "interrompi e chiudi questa finestra\">โŒ annulla", - "frb_apply": "APPLICA RINOMINA", - "fr_adv": "rinomina batch / metadata / pattern\">avanzato", - "fr_case": "regex case-sensitive\">maiusc", - "fr_win": "nomi sicuri per windows; sostituisce <>:"\\|?* con caratteri giapponesi fullwidth\">win", - "fr_slash": "sostituisce / con un carattere che non causa la creazione di nuove cartelle\">no /", - "fr_re": "pattern di ricerca regex da applicare ai nomi file originali; i gruppi di cattura possono essere referenziati nel campo formato sottostante come <code>(1)</code> e <code>(2)</code> e cosรฌ via", - "fr_fmt": "ispirato da foobar2000:$N<code>(title)</code> รจ sostituito dal titolo della canzone,$N<code>[(artist) - ](title)</code> salta [questa] parte se artista รจ vuoto$N<code>$lpad((tn),2,0)</code> aggiunge padding al numero traccia a 2 cifre", - "fr_pdel": "elimina", - "fr_pnew": "salva come", - "fr_pname": "fornisci un nome per il tuo nuovo preset", - "fr_aborted": "interrotto", - "fr_lold": "nome vecchio", - "fr_lnew": "nome nuovo", - "fr_tags": "tag per i file selezionati (sola lettura, solo per riferimento):", - "fr_busy": "rinominando {0} elementi...\n\n{1}", - "fr_efail": "rinomina fallita:\n", - "fr_nchg": "{0} dei nuovi nomi sono stati alterati a causa di win e/o no /\n\nOK per continuare con questi nuovi nomi alterati?", - - "fd_ok": "eliminazione OK", - "fd_err": "eliminazione fallita:\n", - "fd_none": "niente รจ stato eliminato; forse bloccato dalla configurazione server (xbd)?", - "fd_busy": "eliminando {0} elementi...\n\n{1}", - "fd_warn1": "ELIMINARE questi {0} elementi?", - "fd_warn2": "Ultima possibilitร ! Nessun modo per annullare. Eliminare?", - - "fc_ok": "tagliati {0} elementi", - "fc_warn": 'tagliati {0} elementi\n\nma: solo questa scheda-browser puรฒ incollarli\n(dato che la selezione รจ cosรฌ assolutamente massiva)', - - "fcc_ok": "copiati {0} elementi negli appunti", - "fcc_warn": 'copiati {0} elementi negli appunti\n\nma: solo questa scheda-browser puรฒ incollarli\n(dato che la selezione รจ cosรฌ assolutamente massiva)', - - "fp_apply": "usa questi nomi", - "fp_ecut": "prima taglia o copia alcuni file / cartelle da incollare / spostare\n\nnota: puoi tagliare / incollare attraverso diverse schede del browser", - "fp_ename": "{0} elementi non possono essere spostati qui perchรฉ i nomi sono giร  presi. Dai loro nuovi nomi qui sotto per continuare, o lascia vuoto il nome per saltarli:", - "fcp_ename": "{0} elementi non possono essere copiati qui perchรฉ i nomi sono giร  presi. Dai loro nuovi nomi qui sotto per continuare, o lascia vuoto il nome per saltarli:", - "fp_emore": "ci sono ancora alcune collisioni di nomi file rimaste da risolvere", - "fp_ok": "spostamento OK", - "fcp_ok": "copia OK", - "fp_busy": "spostando {0} elementi...\n\n{1}", - "fcp_busy": "copiando {0} elementi...\n\n{1}", - "fp_abrt": "annullamento in corso...", //m - "fp_err": "spostamento fallito:\n", - "fcp_err": "copia fallita:\n", - "fp_confirm": "spostare questi {0} elementi qui?", - "fcp_confirm": "copiare questi {0} elementi qui?", - "fp_etab": 'fallito leggere appunti da altra scheda browser', - "fp_name": "caricando un file dal tuo dispositivo. Dagli un nome:", - "fp_both_m": '
    scegli cosa incollare
    Invio = Sposta {0} file da ยซ{1}ยป\nESC = Carica {2} file dal tuo dispositivo', - "fcp_both_m": '
    scegli cosa incollare
    Invio = Copia {0} file da ยซ{1}ยป\nESC = Carica {2} file dal tuo dispositivo', - "fp_both_b": 'SpostaCarica', - "fcp_both_b": 'CopiaCarica', - - "mk_noname": "scrivi un nome nel campo di testo a sinistra prima di farlo :p", - - "tv_load": "Caricando documento di testo:\n\n{0}\n\n{1}% ({2} di {3} MiB caricati)", - "tv_xe1": "impossibile caricare file di testo:\n\nerrore ", - "tv_xe2": "404, file non trovato", - "tv_lst": "lista di file di testo in", - "tvt_close": "torna alla vista cartella$NTasto rapido: M (o Esc)\">โŒ chiudi", - "tvt_dl": "scarica questo file$NTasto rapido: Y\">๐Ÿ’พ scarica", - "tvt_prev": "mostra documento precedente$NTasto rapido: i\">โฌ† prec", - "tvt_next": "mostra documento successivo$NTasto rapido: K\">โฌ‡ succ", - "tvt_sel": "seleziona file   ( per taglia / copia / elimina / ... )$NTasto rapido: S\">sel", - "tvt_edit": "apri file nell'editor di testo$NTasto rapido: E\">โœ๏ธ modifica", - "tvt_tail": "monitora file per cambiamenti; mostra nuove righe in tempo reale\">๐Ÿ“ก segui", - "tvt_wrap": "a capo parola\">โ†ต", - "tvt_atail": "blocca scorrimento in fondo alla pagina\">โš“", - "tvt_ctail": "decodifica colori terminale (codici escape ansi)\">๐ŸŒˆ", - "tvt_ntail": "limite scrollback (quanti byte di testo mantenere caricati)", - - "m3u_add1": "canzone aggiunta alla playlist m3u", - "m3u_addn": "{0} canzoni aggiunte alla playlist m3u", - "m3u_clip": "playlist m3u ora copiata negli appunti\n\ndovresti creare un nuovo file di testo chiamato qualcosa.m3u e incollare la playlist in quel documento; questo la renderร  riproducibile", - - "gt_vau": "non mostrare video, riproduci solo l'audio\">๐ŸŽง", - "gt_msel": "abilita selezione file; ctrl-click un file per sovrascrivere$N$N<em>quando attivo: doppio-click un file / cartella per aprirlo</em>$N$NTasto rapido: S\">multiselezione", - "gt_crop": "ritaglia miniature al centro\">ritaglia", - "gt_3x": "miniature hi-res\">3x", - "gt_zoom": "zoom", - "gt_chop": "taglia", - "gt_sort": "ordina per", - "gt_name": "nome", - "gt_sz": "dimensione", - "gt_ts": "data", - "gt_ext": "tipo", - "gt_c1": "tronca nomi file di piรน (mostra meno)", - "gt_c2": "tronca nomi file di meno (mostra di piรน)", - - "sm_w8": "cercando...", - "sm_prev": "i risultati di ricerca qui sotto sono da una query precedente:\n ", - "sl_close": "chiudi risultati ricerca", - "sl_hits": "mostrando {0} risultati", - "sl_moar": "carica altro", - - "s_sz": "dimensione", - "s_dt": "data", - "s_rd": "percorso", - "s_fn": "nome", - "s_ta": "tag", - "s_ua": "car@", - "s_ad": "avanz.", - "s_s1": "MiB minimo", - "s_s2": "MiB massimo", - "s_d1": "iso8601 min.", - "s_d2": "iso8601 max.", - "s_u1": "caricato dopo", - "s_u2": "e/o prima", - "s_r1": "percorso contiene   (separato da spazi)", - "s_f1": "nome contiene   (nega con -nope)", - "s_t1": "tag contiene   (^=inizio, fine=$)", - "s_a1": "proprietร  metadata specifiche", - - "md_eshow": "impossibile renderizzare ", - "md_off": "[๐Ÿ“œreadme] disabilitato in [โš™๏ธ] -- documento nascosto", - - "badreply": "Fallito nel parsare risposta dal server", - - "xhr403": "403: Accesso negato\n\nprova a premere F5, forse sei stato disconnesso", - "xhr0": "sconosciuto (probabilmente persa connessione al server, o server offline)", - "cf_ok": "scusa per quello -- la protezione DD" + wah + "oS รจ entrata in azione\n\nle cose dovrebbero riprendere in circa 30 sec\n\nse non succede niente, premi F5 per ricaricare la pagina", - "tl_xe1": "impossibile elencare sottocartelle:\n\nerrore ", - "tl_xe2": "404: Cartella non trovata", - "fl_xe1": "impossibile elencare file nella cartella:\n\nerrore ", - "fl_xe2": "404: Cartella non trovata", - "fd_xe1": "impossibile creare sottocartella:\n\nerrore ", - "fd_xe2": "404: Cartella genitore non trovata", - "fsm_xe1": "impossibile inviare messaggio:\n\nerrore ", - "fsm_xe2": "404: Cartella genitore non trovata", - "fu_xe1": "fcaricamento fallito per la lista unpost dal server:\n\nerrore ", - "fu_xe2": "404: File non trovato??", - - "fz_tar": "file gnu-tar non compresso (linux / mac)", - "fz_pax": "tar formato pax non compresso (piรน lento)", - "fz_targz": "gnu-tar con compressione gzip livello 3$N$NSolitamente รจ molto lento, quindi$Nusa tar non compresso", - "fz_tarxz": "gnu-tar con compressione xz livello 1$N$NQuesto รจ solitamente molto lento, quindi$Nusa tar non compresso", - "fz_zip8": "zip con nomi file utf8 (forse instabile su windows 7 e precedenti)", - "fz_zipd": "zip con nomi file cp437 tradizionali, per software molto vecchio", - "fz_zipc": "cp437 con crc32 calcolato presto,$Nper MS-DOS PKZIP v2.04g (ottobre 1993)$N(ci vuole piรน tempo per elaborare prima che possa iniziare il download)", - - "un_m1": "puoi eliminare i tuoi caricamenti recenti (o interrompere quelli non finiti) qui sotto", - "un_upd": "aggiorna", - "un_m4": "o condividi i file visibili qui sotto:", - "un_ulist": "mostra", - "un_ucopy": "copia", - "un_flt": "filtro opzionale:  URL deve contenere", - "un_fclr": "resetta filtro", - "un_derr": 'unpost-delete fallito:\n', - "un_f5": 'qualcosa si รจ rotto, prova un aggiornamento o premi F5', - "un_uf5": "scusa ma devi aggiornare la pagina (per esempio premendo F5 o CTRL-R) prima che questo caricamento possa essere interrotto", - "un_nou": 'avviso: server troppo occupato per mostrare caricamenti non finiti; clicca il link "aggiorna" tra un po\'', - "un_noc": 'avviso: unpost di file completamente caricati non รจ abilitato/permesso nella configurazione server', - "un_max": "mostrando primi 2000 file (usa il filtro)", - "un_avail": "{0} caricamenti recenti possono essere eliminati
    {1} non finiti possono essere interrotti", - "un_m2": "ordinati per tempo di caricamento; piรน recenti prima:", - "un_no1": "scherzo! nessun caricamento รจ abbastanza recente", - "un_no2": "scherzo! nessun caricamento che corrisponde a quel filtro รจ abbastanza recente", - "un_next": "elimina i prossimi {0} file qui sotto", - "un_abrt": "interrompi", - "un_del": "elimina", - "un_m3": "caricando i tuoi caricamenti recenti...", - "un_busy": "eliminando {0} file...", - "un_clip": "{0} link copiati negli appunti", - - "u_https1": "dovresti", - "u_https2": "passare a https", - "u_https3": "per prestazioni migliori", - "u_ancient": 'il tuo browser รจ incredibilmente antico -- forse dovresti usare bup invece', - "u_nowork": "serve firefox 53+ o chrome 57+ o iOS 11+", - "tail_2old": "serve firefox 105+ o chrome 71+ o iOS 14.5+", - "u_nodrop": 'il tuo browser รจ troppo vecchio per il caricamento drag-and-drop', - "u_notdir": "quella non รจ una cartella!\n\nil tuo browser รจ troppo vecchio,\nprova dragdrop invece", - "u_uri": "per trascinare immagini da altre finestre del browser,\nrilasciale sul pulsante upload grande", - "u_enpot": 'passa alla UI patata (puรฒ migliorare velocitร  upload)', - "u_depot": 'passa alla UI elegante (puรฒ ridurre velocitร  upload)', - "u_gotpot": 'passando alla UI patata per migliorare velocitร  upload,\n\nsentiti libero di non essere d\'accordo e tornare indietro!', - "u_pott": "

    file:   {0} finiti,   {1} falliti,   {2} occupati,   {3} in coda

    ", - "u_ever": "questo รจ l'uploader di base; up2k necessita almeno
    chrome 21 // firefox 13 // edge 12 // opera 12 // safari 5.1", - "u_su2k": 'questo รจ l\'uploader di base; up2k รจ migliore', - "u_uput": 'velocizza (salta checksum)', - "u_ewrite": 'non hai accesso in scrittura a questa cartella', - "u_eread": 'non hai accesso in lettura a questa cartella', - "u_enoi": 'file-search non รจ abilitato nella configurazione server', - "u_enoow": "non puoi sovrascrivere qui; serve permesso Elimina", - "u_badf": 'Questi {0} file (di {1} totali) sono stati saltati, probabilmente a causa di permessi filesystem:\n\n', - "u_blankf": 'Questi {0} file (di {1} totali) sono vuoti; caricarli comunque?\n\n', - "u_applef": 'Questi {0} file (di {1} totali) sono probabilmente indesiderabili;\nPremi OK/Invio per SALTARE i seguenti file,\nPremi Annulla/ESC per NON escludere, e CARICARE anche quelli:\n\n', - "u_just1": '\nForse funziona meglio se selezioni solo un file', - "u_ff_many": "se stai usando Linux / MacOS / Android, allora questa quantitร  di file potrebbe far crashare Firefox!\nse succede, riprova (o usa Chrome).", - "u_up_life": "Questo caricamento sarร  eliminato dal server\n{0} dopo che si completa", - "u_asku": 'caricare questi {0} file in {1}', - "u_unpt": "puoi annullare / eliminare questo caricamento usando ๐Ÿงฏ in alto a sinistra", - "u_bigtab": 'sto per mostrare {0} file\n\nquesto potrebbe far crashare il tuo browser, sei sicuro?', - "u_scan": 'Scansionando file...', - "u_dirstuck": 'iteratore directory si รจ bloccato tentando di accedere ai seguenti {0} elementi; salterรฒ:', - "u_etadone": 'Fatto ({0}, {1} file)', - "u_etaprep": '(preparando per caricare)', - "u_hashdone": 'hashing completato', - "u_hashing": 'hash', - "u_hs": 'handshaking...', - "u_started": "i file ora sono in caricamento; vedi [๐Ÿš€]", - "u_dupdefer": "duplicato; sarร  processato dopo tutti gli altri file", - "u_actx": "clicca questo testo per prevenire perdita di
    prestazioni quando cambi ad altre finestre/schede", - "u_fixed": "OK!  Risolto ๐Ÿ‘", - "u_cuerr": "caricamento fallito del chunk {0} di {1};\nprobabilmente innocuo, continuo\n\nfile: {2}", - "u_cuerr2": "il server ha rifiutato il caricamento (chunk {0} di {1});\nriproverรฒ piรน tardi\n\nfile: {2}\n\nerrore ", - "u_ehstmp": "riproverรฒ; vedi in basso a destra", - "u_ehsfin": "il server ha rifiutato la richiesta di finalizzare caricamento; riprovando...", - "u_ehssrch": "il server ha rifiutato la richiesta di eseguire ricerca; riprovando...", - "u_ehsinit": "il server ha rifiutato la richiesta di iniziare caricamento; riprovando...", - "u_eneths": "errore di rete durante handshake per upload; riprovando...", - "u_enethd": "errore di rete durante test esistenza target; riprovando...", - "u_cbusy": "aspettando che il server si fidi di noi di nuovo dopo un problema di rete...", - "u_ehsdf": "il server ha finito lo spazio su disco!\n\ncontinuerรฒ a riprovare, nel caso qualcuno\nliberi abbastanza spazio per continuare", - "u_emtleak1": "sembra che il tuo browser possa avere un memory leak;\nper favore", - "u_emtleak2": ' passa a https (raccomandato) o ', - "u_emtleak3": ' ', - "u_emtleakc": 'prova quanto segue:\n
    • premi F5 per aggiornare la pagina
    • poi disabilita il pulsante  mt  nelle  โš™๏ธ impostazioni
    • e riprova quel caricamento
    I caricamenti saranno un po\' piรน lenti, ma pazienza.\nScusa per il disturbo !\n\nPS: chrome v107 ha un bugfix per questo', - "u_emtleakf": 'prova quanto segue:\n
    • premi F5 per aggiornare la pagina
    • poi abilita ๐Ÿฅ” (patata) nell\'UI caricamento
    • e riprova quel caricamento
    \nPS: firefox avrร  sperabilmente un bugfix ad un certo punto', - "u_s404": "non trovato sul server", - "u_expl": "spiega", - "u_maxconn": "la maggior parte dei browser limita questo a 6, ma firefox ti permette di alzarlo con connections-per-server in about:config", - "u_tu": '

    AVVISO: turbo abilitato,  client potrebbe non rilevare e riprendere caricamenti incompleti; vedi tooltip pulsante turbo

    ', - "u_ts": '

    AVVISO: turbo abilitato,  risultati ricerca possono essere incorretti; vedi tooltip pulsante turbo

    ', - "u_turbo_c": "turbo รจ disabilitato nella configurazione server", - "u_turbo_g": "disabilitando turbo perchรฉ non hai\nprivilegi di elenco directory all'interno di questo volume", - "u_life_cfg": 'auto-elimina dopo min (o ore)', - "u_life_est": 'caricamento sarร  eliminato ---', - "u_life_max": 'questa cartella impone una\nvita massima di {0}', - "u_unp_ok": 'unpost รจ permesso per {0}', - "u_unp_ng": 'unpost NON sarร  permesso', - "ue_ro": 'il tuo accesso a questa cartella รจ solo-Lettura\n\n', - "ue_nl": 'attualmente non sei loggato', - "ue_la": 'attualmente sei loggato come "{0}"', - "ue_sr": 'attualmente sei in modalitร  file-search\n\npassa alla modalitร  upload cliccando la lente d\'ingrandimento ๐Ÿ”Ž (accanto al grande pulsante CERCA), e prova a caricare di nuovo\n\nscusa', - "ue_ta": 'prova a caricare di nuovo, dovrebbe funzionare ora', - "ue_ab": "questo file รจ giร  in caricamento in un'altra cartella, e quel caricamento deve essere completato prima che il file possa essere caricato altrove.\n\nPuoi interrompere e dimenticare il caricamento iniziale usando l'๐Ÿงฏ in alto a sinistra", - "ur_1uo": "OK: File caricato con successo", - "ur_auo": "OK: Tutti i {0} file caricati con successo", - "ur_1so": "OK: File trovato sul server", - "ur_aso": "OK: Tutti i {0} file trovati sul server", - "ur_1un": "Caricamento fallito, scusa", - "ur_aun": "Tutti i {0} caricamenti falliti, scusa", - "ur_1sn": "File NON trovato sul server", - "ur_asn": "I {0} file NON sono stati trovati sul server", - "ur_um": "Finito;\n{0} caricamenti OK,\n{1} caricamenti falliti, scusa", - "ur_sm": "Finito;\n{0} file trovati sul server,\n{1} file NON trovati sul server", - - "lang_set": "aggiornare per rendere effettivo il cambiamento?", - }, - "kor": { - "tt": "ํ•œ๊ตญ์–ด", - - "cols": { - "c": "์ž‘์—… ๋ฒ„ํŠผ", - "dur": "๊ธธ์ด", - "q": "ํ’ˆ์งˆ/๋น„ํŠธ๋ ˆ์ดํŠธ", - "Ac": "์˜ค๋””์˜ค ์ฝ”๋ฑ", - "Vc": "๋น„๋””์˜ค ์ฝ”๋ฑ", - "Fmt": "ํ˜•์‹/์ปจํ…Œ์ด๋„ˆ", - "Ahash": "์˜ค๋””์˜ค ์ฒดํฌ์„ฌ", - "Vhash": "๋น„๋””์˜ค ์ฒดํฌ์„ฌ", - "Res": "ํ•ด์ƒ๋„", - "T": "ํŒŒ์ผ ์œ ํ˜•", - "aq": "์˜ค๋””์˜ค ํ’ˆ์งˆ/๋น„ํŠธ๋ ˆ์ดํŠธ", - "vq": "๋น„๋””์˜ค ํ’ˆ์งˆ/๋น„ํŠธ๋ ˆ์ดํŠธ", - "pixfmt": "์„œ๋ธŒ์ƒ˜ํ”Œ๋ง/ํ”ฝ์…€ ๊ตฌ์กฐ", - "resw": "๊ฐ€๋กœ ํ•ด์ƒ๋„", - "resh": "์„ธ๋กœ ํ•ด์ƒ๋„", - "chs": "์˜ค๋””์˜ค ์ฑ„๋„", - "hz": "์ƒ˜ํ”Œ๋ ˆ์ดํŠธ" - }, - - "hks": [ - [ - "๊ธฐํƒ€", - ["ESC", "๋‹ค์–‘ํ•œ ์ฐฝ ๋‹ซ๊ธฐ"], - - "ํŒŒ์ผ ๊ด€๋ฆฌ์ž", - ["G", "๋ชฉ๋ก/๊ทธ๋ฆฌ๋“œ ๋ณด๊ธฐ ์ „ํ™˜"], - ["T", "์ธ๋„ค์ผ/์•„์ด์ฝ˜ ์ „ํ™˜"], - ["โ‡ง A/D", "์ธ๋„ค์ผ ์ด๋ฏธ์ง€ ํฌ๊ธฐ"], - ["ctrl-K", "์„ ํƒ ํ•ญ๋ชฉ ์‚ญ์ œ"], - ["ctrl-X", "์„ ํƒ ํ•ญ๋ชฉ ์ž˜๋ผ๋‚ด๊ธฐ"], - ["ctrl-C", "์„ ํƒ ํ•ญ๋ชฉ ๋ณต์‚ฌ"], - ["ctrl-V", "์—ฌ๊ธฐ์— ๋ถ™์—ฌ๋„ฃ๊ธฐ (์ด๋™/๋ณต์‚ฌ)"], - ["Y", "์„ ํƒ ํ•ญ๋ชฉ ๋‹ค์šด๋กœ๋“œ"], - ["F2", "์„ ํƒ ํ•ญ๋ชฉ ์ด๋ฆ„ ๋ฐ”๊พธ๊ธฐ"], - - "ํŒŒ์ผ ๋ชฉ๋ก ์„ ํƒ", - ["space", "ํŒŒ์ผ ์„ ํƒ/ํ•ด์ œ"], - ["โ†‘/โ†“", "์„ ํƒ ์ปค์„œ ์ด๋™"], - ["ctrl โ†‘/โ†“", "์ปค์„œ์™€ ๋ทฐํฌํŠธ ๋™์‹œ ์ด๋™"], - ["โ‡ง โ†‘/โ†“", "์ด์ „/๋‹ค์Œ ํŒŒ์ผ ์„ ํƒ"], - ["ctrl-A", "๋ชจ๋“  ํŒŒ์ผ/ํด๋” ์„ ํƒ"], - ], [ - "ํƒ์ƒ‰", - ["B", "๋ธŒ๋ ˆ๋“œํฌ๋Ÿผ/ํƒ์ƒ‰์ฐฝ ์ „ํ™˜"], - ["I/K", "์ด์ „/๋‹ค์Œ ํด๋”"], - ["M", "์ƒ์œ„ ํด๋” (๋˜๋Š” ํ˜„์žฌ ํ•ญ๋ชฉ ๋‹ซ๊ธฐ)"], - ["V", "ํƒ์ƒ‰์ฐฝ์— ํด๋”/ํ…์ŠคํŠธ ํŒŒ์ผ ํ‘œ์‹œ ์ „ํ™˜"], - ["A/D", "ํƒ์ƒ‰์ฐฝ ํฌ๊ธฐ"], - ], [ - "์˜ค๋””์˜ค ํ”Œ๋ ˆ์ด์–ด", - ["J/L", "์ด์ „/๋‹ค์Œ ๊ณก"], - ["U/O", "10์ดˆ ๋’ค๋กœ/์•ž์œผ๋กœ ๊ฑด๋„ˆ๋›ฐ๊ธฐ"], - ["0..9", "0%..90% ์ง€์ ์œผ๋กœ ์ด๋™"], - ["P", "์žฌ์ƒ/์ผ์‹œ์ •์ง€ (์‹œ์ž‘ ํฌํ•จ)"], - ["S", "์žฌ์ƒ ์ค‘์ธ ๊ณก ์„ ํƒ"], - ["Y", "๊ณก ๋‹ค์šด๋กœ๋“œ"], - ], [ - "์ด๋ฏธ์ง€ ๋ทฐ์–ด", - ["J/L, โ†/โ†’", "์ด์ „/๋‹ค์Œ ์ด๋ฏธ์ง€"], - ["Home/End", "์ฒซ/๋งˆ์ง€๋ง‰ ์ด๋ฏธ์ง€"], - ["F", "์ „์ฒด ํ™”๋ฉด"], - ["R", "์‹œ๊ณ„ ๋ฐฉํ–ฅ์œผ๋กœ ํšŒ์ „"], - ["โ‡ง R", "๋ฐ˜์‹œ๊ณ„ ๋ฐฉํ–ฅ์œผ๋กœ ํšŒ์ „"], - ["S", "์ด๋ฏธ์ง€ ์„ ํƒ"], - ["Y", "์ด๋ฏธ์ง€ ๋‹ค์šด๋กœ๋“œ"], - ], [ - "๋น„๋””์˜ค ํ”Œ๋ ˆ์ด์–ด", - ["U/O", "10์ดˆ ๋’ค๋กœ/์•ž์œผ๋กœ ๊ฑด๋„ˆ๋›ฐ๊ธฐ"], - ["P/K/Space", "์žฌ์ƒ/์ผ์‹œ์ •์ง€"], - ["C", "๋‹ค์Œ ํŒŒ์ผ ๊ณ„์† ์žฌ์ƒ"], - ["V", "๋ฐ˜๋ณต"], - ["M", "์Œ์†Œ๊ฑฐ"], - ["[ ์™€ ]", "๋ฐ˜๋ณต ๊ตฌ๊ฐ„ ์„ค์ •"], - ], [ - "ํ…์ŠคํŠธ ํŒŒ์ผ ๋ทฐ์–ด", - ["I/K", "์ด์ „/๋‹ค์Œ ํŒŒ์ผ"], - ["M", "ํ…์ŠคํŠธ ํŒŒ์ผ ๋‹ซ๊ธฐ"], - ["E", "ํ…์ŠคํŠธ ํŒŒ์ผ ํŽธ์ง‘"], - ["S", "ํŒŒ์ผ ์„ ํƒ (์ž˜๋ผ๋‚ด๊ธฐ/๋ณต์‚ฌ/์ด๋ฆ„ ๋ฐ”๊พธ๊ธฐ์šฉ)"], - ] - ], - - "m_ok": "ํ™•์ธ", - "m_ng": "์ทจ์†Œ", - - "enable": "ํ™œ์„ฑํ™”", - "danger": "์œ„ํ—˜", - "clipped": "ํด๋ฆฝ๋ณด๋“œ์— ๋ณต์‚ฌ๋˜์—ˆ์Šต๋‹ˆ๋‹ค", - - "ht_s1": "์ดˆ", - "ht_s2": "์ดˆ", - "ht_m1": "๋ถ„", - "ht_m2": "๋ถ„", - "ht_h1": "์‹œ๊ฐ„", - "ht_h2": "์‹œ๊ฐ„", - "ht_d1": "์ผ", - "ht_d2": "์ผ", - "ht_and": " ", - - "goh": "์ œ์–ดํŒ", - "gop": '์ด์ „ ํ˜•์ œ ํด๋”">์ด์ „', - "gou": '์ƒ์œ„ ํด๋”">์œ„๋กœ', - "gon": '๋‹ค์Œ ํด๋”">๋‹ค์Œ', - "logout": "๋กœ๊ทธ์•„์›ƒ ", - "login": "๋กœ๊ทธ์ธ", //m - "access": " ์•ก์„ธ์Šค", - "ot_close": "ํ•˜์œ„ ๋ฉ”๋‰ด ๋‹ซ๊ธฐ", - "ot_search": "์†์„ฑ, ๊ฒฝ๋กœ/์ด๋ฆ„, ์Œ์•… ํƒœ๊ทธ ๋˜๋Š” ์ด๋“ค์˜ ์กฐํ•ฉ์œผ๋กœ ํŒŒ์ผ์„ ๊ฒ€์ƒ‰ํ•ฉ๋‹ˆ๋‹ค.$N$N<code>foo bar</code> = ยซfooยป์™€ ยซbarยป๋ฅผ ๋ชจ๋‘ ํฌํ•จํ•ด์•ผ ํ•จ,$N<code>foo -bar</code> = ยซfooยป๋Š” ํฌํ•จํ•˜์ง€๋งŒ ยซbarยป๋Š” ํฌํ•จํ•˜์ง€ ์•Š์•„์•ผ ํ•จ,$N<code>^yana .opus$</code> = ยซyanaยป๋กœ ์‹œ์ž‘ํ•˜๊ณ  ยซopusยป ํŒŒ์ผ์ด์–ด์•ผ ํ•จ$N<code>"try unite"</code> = ์ •ํ™•ํžˆ ยซtry uniteยป๋ฅผ ํฌํ•จํ•ด์•ผ ํ•จ$N$N๋‚ ์งœ ํ˜•์‹์€ ISO-8601์ž…๋‹ˆ๋‹ค. ์˜ˆ:$N<code>2009-12-31</code> ๋˜๋Š” <code>2020-09-12 23:30:00</code>", - "ot_unpost": "์ฃผ์›Œ๋‹ด๊ธฐ: ์ตœ๊ทผ ์—…๋กœ๋“œํ•œ ํ•ญ๋ชฉ์„ ์‚ญ์ œํ•˜๊ฑฐ๋‚˜ ๋ฏธ์™„๋ฃŒ๋œ ์—…๋กœ๋“œ๋ฅผ ์ค‘๋‹จํ•ฉ๋‹ˆ๋‹ค", - "ot_bup": "bup: ๊ธฐ๋ณธ ์—…๋กœ๋”. ๋„ท์Šค์ผ€์ดํ”„ 4.0๋„ ์ง€์›ํ•ฉ๋‹ˆ๋‹ค", - "ot_mkdir": "mkdir: ์ƒˆ ๋””๋ ‰ํ„ฐ๋ฆฌ๋ฅผ ๋งŒ๋“ญ๋‹ˆ๋‹ค", - "ot_md": "new-md: ์ƒˆ ๋งˆํฌ๋‹ค์šด ๋ฌธ์„œ๋ฅผ ๋งŒ๋“ญ๋‹ˆ๋‹ค", - "ot_msg": "msg: ์„œ๋ฒ„ ๋กœ๊ทธ์— ๋ฉ”์‹œ์ง€๋ฅผ ๋ณด๋ƒ…๋‹ˆ๋‹ค", - "ot_mp": "๋ฏธ๋””์–ด ํ”Œ๋ ˆ์ด์–ด ์˜ต์…˜", - "ot_cfg": "๊ตฌ์„ฑ ์˜ต์…˜", - "ot_u2i": 'up2k: (์“ฐ๊ธฐ ๊ถŒํ•œ์ด ์žˆ๋Š” ๊ฒฝ์šฐ) ํŒŒ์ผ์„ ์—…๋กœ๋“œํ•˜๊ฑฐ๋‚˜, ๊ฒ€์ƒ‰ ๋ชจ๋“œ๋กœ ์ „ํ™˜ํ•˜์—ฌ ์„œ๋ฒ„ ์–ด๋”˜๊ฐ€์— ํŒŒ์ผ์ด ์žˆ๋Š”์ง€ ํ™•์ธํ•ฉ๋‹ˆ๋‹ค.$N$N์—…๋กœ๋“œ๋Š” ์žฌ๊ฐœ ๊ฐ€๋Šฅํ•˜๊ณ , ๋ฉ€ํ‹ฐ์Šค๋ ˆ๋“œ๋กœ ์ž‘๋™ํ•˜๋ฉฐ, ํŒŒ์ผ ํƒ€์ž„์Šคํƒฌํ”„๊ฐ€ ๋ณด์กด๋˜์ง€๋งŒ, [๐ŸŽˆ] (๊ธฐ๋ณธ ์—…๋กœ๋”)๋ณด๋‹ค CPU๋ฅผ ๋” ๋งŽ์ด ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.

    ์—…๋กœ๋“œ ์ค‘์—๋Š” ์ด ์•„์ด์ฝ˜์ด ์ง„ํ–‰๋ฅ  ํ‘œ์‹œ์ฐฝ์ด ๋ฉ๋‹ˆ๋‹ค!', - "ot_u2w": 'up2k: ์ด์–ด์˜ฌ๋ฆฌ๊ธฐ ๊ธฐ๋Šฅ์„ ์ง€์›ํ•˜๋Š” ํŒŒ์ผ ์—…๋กœ๋”์ž…๋‹ˆ๋‹ค (๋ธŒ๋ผ์šฐ์ €๋ฅผ ๋‹ซ์•˜๋‹ค๊ฐ€ ๋‚˜์ค‘์— ๋™์ผํ•œ ํŒŒ์ผ์„ ๋Œ์–ด๋‹ค ๋†“์œผ์„ธ์š”).$N$N๋ฉ€ํ‹ฐ์Šค๋ ˆ๋“œ๋กœ ์ž‘๋™ํ•˜๋ฉฐ, ํŒŒ์ผ ํƒ€์ž„์Šคํƒฌํ”„๊ฐ€ ๋ณด์กด๋˜์ง€๋งŒ, [๐ŸŽˆ] (๊ธฐ๋ณธ ์—…๋กœ๋”)๋ณด๋‹ค CPU๋ฅผ ๋” ๋งŽ์ด ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.

    ์—…๋กœ๋“œ ์ค‘์—๋Š” ์ด ์•„์ด์ฝ˜์ด ์ง„ํ–‰๋ฅ  ํ‘œ์‹œ์ฐฝ์ด ๋ฉ๋‹ˆ๋‹ค!', - "ot_noie": 'Chrome / Firefox / Edge๋ฅผ ์‚ฌ์šฉํ•ด์ฃผ์„ธ์š”', - - "ab_mkdir": "๋””๋ ‰ํ„ฐ๋ฆฌ ๋งŒ๋“ค๊ธฐ", - "ab_mkdoc": "์ƒˆ ๋งˆํฌ๋‹ค์šด ๋ฌธ์„œ", - "ab_msg": "์„œ๋ฒ„ ๋กœ๊ทธ์— ๋ฉ”์‹œ์ง€ ๋ณด๋‚ด๊ธฐ", - - "ay_path": "ํด๋”๋กœ ๊ฑด๋„ˆ๋›ฐ๊ธฐ", - "ay_files": "ํŒŒ์ผ๋กœ ๊ฑด๋„ˆ๋›ฐ๊ธฐ", - - "wt_ren": "์„ ํƒํ•œ ํ•ญ๋ชฉ ์ด๋ฆ„ ๋ฐ”๊พธ๊ธฐ$N๋‹จ์ถ•ํ‚ค: F2", - "wt_del": "์„ ํƒํ•œ ํ•ญ๋ชฉ ์‚ญ์ œ$N๋‹จ์ถ•ํ‚ค: ctrl-K", - "wt_cut": "์„ ํƒํ•œ ํ•ญ๋ชฉ ์ž˜๋ผ๋‚ด๊ธฐ <small>(๋‹ค๋ฅธ ๊ณณ์— ๋ถ™์—ฌ๋„ฃ๊ธฐ์šฉ)</small>$N๋‹จ์ถ•ํ‚ค: ctrl-X", - "wt_cpy": "์„ ํƒํ•œ ํ•ญ๋ชฉ ํด๋ฆฝ๋ณด๋“œ์— ๋ณต์‚ฌ$N(๋‹ค๋ฅธ ๊ณณ์— ๋ถ™์—ฌ๋„ฃ๊ธฐ์šฉ)$N๋‹จ์ถ•ํ‚ค: ctrl-C", - "wt_pst": "์ด์ „์— ์ž˜๋ผ๋‚ด๊ฑฐ๋‚˜ ๋ณต์‚ฌํ•œ ํ•ญ๋ชฉ ๋ถ™์—ฌ๋„ฃ๊ธฐ$N๋‹จ์ถ•ํ‚ค: ctrl-V", - "wt_selall": "๋ชจ๋“  ํŒŒ์ผ ์„ ํƒ$N๋‹จ์ถ•ํ‚ค: ctrl-A (ํŒŒ์ผ์— ํฌ์ปค์Šค๋œ ๊ฒฝ์šฐ)", - "wt_selinv": "์„ ํƒ ๋ฐ˜์ „", - "wt_zip1": "์ด ํด๋”๋ฅผ ์••์ถ• ํŒŒ์ผ๋กœ ๋‹ค์šด๋กœ๋“œ", - "wt_selzip": "์„ ํƒ ํ•ญ๋ชฉ์„ ์••์ถ• ํŒŒ์ผ๋กœ ๋‹ค์šด๋กœ๋“œ", - "wt_seldl": "์„ ํƒ ํ•ญ๋ชฉ์„ ๊ฐœ๋ณ„ ํŒŒ์ผ๋กœ ๋‹ค์šด๋กœ๋“œ$N๋‹จ์ถ•ํ‚ค: Y", - "wt_npirc": "IRC ํ˜•์‹ ํŠธ๋ž™ ์ •๋ณด ๋ณต์‚ฌ", - "wt_nptxt": "์ผ๋ฐ˜ ํ…์ŠคํŠธ ํŠธ๋ž™ ์ •๋ณด ๋ณต์‚ฌ", - "wt_m3ua": "m3u ์žฌ์ƒ ๋ชฉ๋ก์— ์ถ”๊ฐ€ (๋‚˜์ค‘์— ๐Ÿ“ป๋ณต์‚ฌ ํด๋ฆญ)", - "wt_m3uc": "m3u ์žฌ์ƒ ๋ชฉ๋ก์„ ํด๋ฆฝ๋ณด๋“œ์— ๋ณต์‚ฌ", - "wt_grid": "๊ทธ๋ฆฌ๋“œ/๋ชฉ๋ก ๋ณด๊ธฐ ์ „ํ™˜$N๋‹จ์ถ•ํ‚ค: G", - "wt_prev": "์ด์ „ ํŠธ๋ž™$N๋‹จ์ถ•ํ‚ค: J", - "wt_play": "์žฌ์ƒ/์ผ์‹œ์ •์ง€$N๋‹จ์ถ•ํ‚ค: P", - "wt_next": "๋‹ค์Œ ํŠธ๋ž™$N๋‹จ์ถ•ํ‚ค: L", - - "ul_par": "๋™์‹œ ์—…๋กœ๋“œ:", - "ut_rand": "ํŒŒ์ผ๋ช… ๋ฌด์ž‘์œ„๋กœ ๋งŒ๋“ค๊ธฐ", - "ut_u2ts": "์‚ฌ์šฉ์ž ํŒŒ์ผ ์‹œ์Šคํ…œ์˜ ๋งˆ์ง€๋ง‰ ์ˆ˜์ • ํƒ€์ž„์Šคํƒฌํ”„๋ฅผ$N์„œ๋ฒ„์— ๋ณต์‚ฌ\">๐Ÿ“…", - "ut_ow": "์„œ๋ฒ„์— ์žˆ๋Š” ๊ธฐ์กด ํŒŒ์ผ์„ ๋ฎ์–ด์“ธ๊นŒ์š”?$N๐Ÿ›ก๏ธ: ์•ˆ ํ•จ (๋Œ€์‹  ์ƒˆ ํŒŒ์ผ ์ด๋ฆ„ ์ƒ์„ฑ)$N๐Ÿ•’: ์„œ๋ฒ„ ํŒŒ์ผ์ด ๋” ์˜ค๋ž˜๋œ ๊ฒฝ์šฐ ๋ฎ์–ด์“ฐ๊ธฐ$Nโ™ป๏ธ: ํŒŒ์ผ์ด ๋‹ค๋ฅด๋ฉด ํ•ญ์ƒ ๋ฎ์–ด์“ฐ๊ธฐ", - "ut_mt": "์—…๋กœ๋“œ ์ค‘ ๋‹ค๋ฅธ ํŒŒ์ผ ํ•ด์‹ฑ ๊ณ„์†ํ•˜๊ธฐ$N$NCPU ๋˜๋Š” HDD๊ฐ€ ๋ณ‘๋ชฉ ํ˜„์ƒ์„ ์ผ์œผํ‚ค๋Š” ๊ฒฝ์šฐ ๋น„ํ™œ์„ฑํ™”ํ•˜์„ธ์š”", - "ut_ask": '์—…๋กœ๋“œ ์‹œ์ž‘ ์ „ ํ™•์ธ ์š”์ฒญ">๐Ÿ’ญ', - "ut_pot": "๋А๋ฆฐ ๊ธฐ๊ธฐ์—์„œ UI๋ฅผ ๋‹จ์ˆœํ™”ํ•˜์—ฌ$N์—…๋กœ๋“œ ์†๋„ ํ–ฅ์ƒ", - "ut_srch": "์‹ค์ œ๋กœ ์—…๋กœ๋“œํ•˜๋Š” ๋Œ€์‹ , ํŒŒ์ผ์ด ์ด๋ฏธ ์„œ๋ฒ„์— ์žˆ๋Š”์ง€ ํ™•์ธํ•ฉ๋‹ˆ๋‹ค$N(์ฝ์„ ์ˆ˜ ์žˆ๋Š” ๋ชจ๋“  ํด๋”๋ฅผ ์Šค์บ”ํ•ฉ๋‹ˆ๋‹ค)", - "ut_par": "0์œผ๋กœ ์„ค์ •ํ•˜์—ฌ ์—…๋กœ๋“œ ์ผ์‹œ์ •์ง€$N$N์—ฐ๊ฒฐ์ด ๋А๋ฆฌ๊ฑฐ๋‚˜ ์ง€์—ฐ ์‹œ๊ฐ„์ด ๊ธธ๋ฉด ๋Š˜๋ฆฌ์„ธ์š”$N$NLAN ํ™˜๊ฒฝ์ด๊ฑฐ๋‚˜ ์„œ๋ฒ„ HDD๊ฐ€ ๋ณ‘๋ชฉ ํ˜„์ƒ์„ ์ผ์œผํ‚ค๋ฉด 1๋กœ ์œ ์ง€ํ•˜์„ธ์š”", - "ul_btn": "ํŒŒ์ผ/ํด๋”๋ฅผ ์—ฌ๊ธฐ์—
    ๋Œ์–ด๋‹ค ๋†“๊ฑฐ๋‚˜ ํด๋ฆญํ•˜์„ธ์š”", - "ul_btnu": "์—… ๋กœ ๋“œ", - "ul_btns": "๊ฒ€ ์ƒ‰", - - "ul_hash": "ํ•ด์‹ฑ", - "ul_send": "์ „์†ก", - "ul_done": "์™„๋ฃŒ", - "ul_idle1": "๋Œ€๊ธฐ ์ค‘์ธ ์—…๋กœ๋“œ๊ฐ€ ์—†์Šต๋‹ˆ๋‹ค", - "ut_etah": "ํ‰๊ท  <em>ํ•ด์‹ฑ</em> ์†๋„ ๋ฐ ์˜ˆ์ƒ ์™„๋ฃŒ ์‹œ๊ฐ„", - "ut_etau": "ํ‰๊ท  <em>์—…๋กœ๋“œ</em> ์†๋„ ๋ฐ ์˜ˆ์ƒ ์™„๋ฃŒ ์‹œ๊ฐ„", - "ut_etat": "ํ‰๊ท  <em>์ด</em> ์†๋„ ๋ฐ ์˜ˆ์ƒ ์™„๋ฃŒ ์‹œ๊ฐ„", - - "uct_ok": "์„ฑ๊ณต์ ์œผ๋กœ ์™„๋ฃŒ๋จ", - "uct_ng": "๋ฌธ์ œ ๋ฐœ์ƒ: ์‹คํŒจ/๊ฑฐ๋ถ€/์ฐพ์„ ์ˆ˜ ์—†์Œ", - "uct_done": "์™„๋ฃŒ๋จ (์„ฑ๊ณต ๋ฐ ๋ฌธ์ œ ๋ฐœ์ƒ ํฌํ•จ)", - "uct_bz": "ํ•ด์‹ฑ ๋˜๋Š” ์—…๋กœ๋“œ ์ค‘", - "uct_q": "๋Œ€๊ธฐ ์ค‘, ๋ณด๋ฅ˜ ์ค‘", - - "utl_name": "ํŒŒ์ผ๋ช…", - "utl_ulist": "๋ชฉ๋ก", - "utl_ucopy": "๋ณต์‚ฌ", - "utl_links": "๋งํฌ", - "utl_stat": "์ƒํƒœ", - "utl_prog": "์ง„ํ–‰๋ฅ ", - - // keep short: - "utl_404": "404", - "utl_err": "์˜ค๋ฅ˜", - "utl_oserr": "OS ์˜ค๋ฅ˜", - "utl_found": "์ฐพ์Œ", - "utl_defer": "๋ณด๋ฅ˜", - "utl_yolo": "YOLO", - "utl_done": "์™„๋ฃŒ", - - "ul_flagblk": "ํŒŒ์ผ์ด ๋Œ€๊ธฐ์—ด์— ์ถ”๊ฐ€๋˜์—ˆ์Šต๋‹ˆ๋‹ค.
    ํ•˜์ง€๋งŒ ๋‹ค๋ฅธ ๋ธŒ๋ผ์šฐ์ € ํƒญ์—์„œ up2k๊ฐ€ ์‹คํ–‰ ์ค‘์ด๋ฏ€๋กœ,
    ํ•ด๋‹น ์ž‘์—…์ด ๋๋‚  ๋•Œ๊นŒ์ง€ ๊ธฐ๋‹ค๋ฆฝ๋‹ˆ๋‹ค.", - "ul_btnlk": "์„œ๋ฒ„ ๊ตฌ์„ฑ์—์„œ ์ด ์Šค์œ„์น˜๋ฅผ ํ˜„์žฌ ์ƒํƒœ๋กœ ์ž ๊ฐ”์Šต๋‹ˆ๋‹ค.", - - "udt_up": "์—…๋กœ๋“œ", - "udt_srch": "๊ฒ€์ƒ‰", - "udt_drop": "์—ฌ๊ธฐ์— ๋†“์œผ์„ธ์š”", - - "u_nav_m": '
    ์ž, ๊ฐ–๊ณ  ์žˆ๋Š” ๊ฒŒ ๋ฌด์—‡์ธ๊ฐ€?
    Enter = ํŒŒ์ผ (ํ•˜๋‚˜ ์ด์ƒ)\nESC = ํด๋” ํ•˜๋‚˜ (ํ•˜์œ„ ํด๋” ํฌํ•จ)', - "u_nav_b": 'ํŒŒ์ผํด๋” ํ•˜๋‚˜', - - "cl_opts": "์Šค์œ„์น˜", - "cl_themes": "ํ…Œ๋งˆ", - "cl_langs": "์–ธ์–ด", - "cl_ziptype": "ํด๋” ๋‹ค์šด๋กœ๋“œ", - "cl_uopts": "up2k ์Šค์œ„์น˜", - "cl_favico": "ํŒŒ๋น„์ฝ˜", - "cl_bigdir": "ํฐ ๋””๋ ‰ํ„ฐ๋ฆฌ", - "cl_hsort": "#sort", - "cl_keytype": "์กฐ์„ฑ ํ‘œ๊ธฐ๋ฒ•", - "cl_hiddenc": "์ˆจ๊ฒจ์ง„ ์—ด", - "cl_hidec": "์ˆจ๊ธฐ๊ธฐ", - "cl_reset": "์ดˆ๊ธฐํ™”", - "cl_hpick": "์•„๋ž˜ ํ…Œ์ด๋ธ”์—์„œ ์ˆจ๊ธฐ๊ณ  ์‹ถ์€ ์—ด์˜ ํ—ค๋”๋ฅผ ํƒญํ•˜์„ธ์š”", - "cl_hcancel": "์—ด ์ˆจ๊ธฐ๊ธฐ๊ฐ€ ์ค‘๋‹จ๋˜์—ˆ์Šต๋‹ˆ๋‹ค", - - "ct_grid": "็”ฐ ๊ทธ๋ฆฌ๋“œ", - "ct_ttips": 'โ—” โ—ก โ—”">โ„น๏ธ ๋„์›€๋ง', - "ct_thumb": '๊ทธ๋ฆฌ๋“œ ๋ณด๊ธฐ์—์„œ ์•„์ด์ฝ˜ ๋˜๋Š” ๋ฏธ๋ฆฌ๋ณด๊ธฐ ์ด๋ฏธ์ง€ ์ „ํ™˜$N๋‹จ์ถ•ํ‚ค: T">๐Ÿ–ผ๏ธ ๋ฏธ๋ฆฌ๋ณด๊ธฐ', - "ct_csel": '๊ทธ๋ฆฌ๋“œ ๋ณด๊ธฐ์—์„œ CTRL๊ณผ SHIFT๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ํŒŒ์ผ ์„ ํƒ">์„ ํƒ', - "ct_ihop": '์ด๋ฏธ์ง€ ๋ทฐ์–ด๋ฅผ ๋‹ซ์œผ๋ฉด ๋งˆ์ง€๋ง‰์œผ๋กœ ๋ณธ ํŒŒ์ผ๋กœ ์Šคํฌ๋กค">gโฎฏ', - "ct_dots": '์ˆจ๊น€ ํŒŒ์ผ ํ‘œ์‹œ (์„œ๋ฒ„๊ฐ€ ํ—ˆ์šฉํ•˜๋Š” ๊ฒฝ์šฐ)">์ˆจ๊น€ํŒŒ์ผ', - "ct_qdel": 'ํŒŒ์ผ ์‚ญ์ œ ์‹œ ํ•œ ๋ฒˆ๋งŒ ํ™•์ธ ์š”์ฒญ">๋น ๋ฅธ์‚ญ์ œ', - "ct_dir1st": 'ํด๋”๋ฅผ ํŒŒ์ผ๋ณด๋‹ค ๋จผ์ € ์ •๋ ฌ">๐Ÿ“ ๋จผ์ €', - "ct_nsort": '์ž์—ฐ์–ด ์ •๋ ฌ (ํŒŒ์ผ๋ช…์˜ ์ˆซ์ž๋ฅผ ์ธ์‹)">์ž์—ฐ์–ด์ •๋ ฌ', - "ct_utc": '๋ชจ๋“  ๋‚ ์งœ/์‹œ๊ฐ„์„ UTC๋กœ ํ‘œ์‹œ">UTC', - "ct_readme": 'ํด๋” ๋ชฉ๋ก์— README.md ํ‘œ์‹œ">๐Ÿ“œ readme', - "ct_idxh": 'ํด๋” ๋ชฉ๋ก ๋Œ€์‹  index.html ํ‘œ์‹œ">htm', - "ct_sbars": '์Šคํฌ๋กค๋ฐ” ํ‘œ์‹œ">โŸŠ', - - "cut_umod": 'ํŒŒ์ผ์ด ์„œ๋ฒ„์— ์ด๋ฏธ ์žˆ๋Š” ๊ฒฝ์šฐ, ์„œ๋ฒ„์˜ ๋งˆ์ง€๋ง‰ ์ˆ˜์ • ํƒ€์ž„์Šคํƒฌํ”„๋ฅผ ๋กœ์ปฌ ํŒŒ์ผ๊ณผ ์ผ์น˜ํ•˜๋„๋ก ์—…๋ฐ์ดํŠธํ•ฉ๋‹ˆ๋‹ค (์“ฐ๊ธฐ+์‚ญ์ œ ๊ถŒํ•œ ํ•„์š”).\">re๐Ÿ“…', - - "cut_turbo": 'YOLO ๋ฒ„ํŠผ. ์•„๋งˆ ํ™œ์„ฑํ™”ํ•˜๊ณ  ์‹ถ์ง€ ์•Š์œผ์‹ค ๊ฒ๋‹ˆ๋‹ค.$N$N๋Œ€๋Ÿ‰์˜ ํŒŒ์ผ์„ ์—…๋กœ๋“œํ•˜๋‹ค๊ฐ€ ์–ด๋–ค ์ด์œ ๋กœ ์žฌ์‹œ์ž‘ํ•ด์•ผ ํ•  ๋•Œ, ์ตœ๋Œ€ํ•œ ๋นจ๋ฆฌ ์—…๋กœ๋“œ๋ฅผ ๊ณ„์†ํ•˜๊ณ  ์‹ถ์„ ๋•Œ ์‚ฌ์šฉํ•˜์„ธ์š”.$N$N์ด ์˜ต์…˜์€ ํ•ด์‹œ ํ™•์ธ์„ ๋‹จ์ˆœํžˆ "์„œ๋ฒ„์— ๋™์ผํ•œ ํŒŒ์ผ ํฌ๊ธฐ๋ฅผ ๊ฐ€์ง„ ํŒŒ์ผ์ด ์žˆ๋Š”๊ฐ€?"๋กœ ๋Œ€์ฒดํ•˜๋ฏ€๋กœ, ํŒŒ์ผ ๋‚ด์šฉ๋งŒ ๋‹ค๋ฅผ ๊ฒฝ์šฐ ์—…๋กœ๋“œ๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.$N$N์—…๋กœ๋“œ๊ฐ€ ๋๋‚˜๋ฉด ์ด ์˜ต์…˜์„ ๋„๊ณ , ๋™์ผํ•œ ํŒŒ์ผ์„ ๋‹ค์‹œ \"์—…๋กœ๋“œ\"ํ•˜์—ฌ ํด๋ผ์ด์–ธํŠธ๊ฐ€ ๊ฒ€์ฆํ•˜๋„๋ก ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.\">turbo', - - "cut_datechk": 'ํ„ฐ๋ณด ๋ฒ„ํŠผ์ด ํ™œ์„ฑํ™”๋˜์–ด ์žˆ์ง€ ์•Š์œผ๋ฉด ํšจ๊ณผ๊ฐ€ ์—†์Šต๋‹ˆ๋‹ค.$N$NYOLO์˜ ์œ„ํ—˜์„ฑ์„ ์•ฝ๊ฐ„ ์ค„์—ฌ์ค๋‹ˆ๋‹ค. ์„œ๋ฒ„์˜ ํŒŒ์ผ ํƒ€์ž„์Šคํƒฌํ”„๊ฐ€ ์‚ฌ์šฉ์ž์˜ ๊ฒƒ๊ณผ ์ผ์น˜ํ•˜๋Š”์ง€ ํ™•์ธํ•ฉ๋‹ˆ๋‹ค.$N$N์ด๋ก ์ ์œผ๋กœ๋Š” ๋Œ€๋ถ€๋ถ„์˜ ๋ฏธ์™„๋ฃŒ/์†์ƒ๋œ ์—…๋กœ๋“œ๋ฅผ ์žก์•„๋‚ด์ง€๋งŒ, ํ„ฐ๋ณด๋ฅผ ๋น„ํ™œ์„ฑํ™”ํ•˜๊ณ  ๊ฒ€์ฆ ๊ณผ์ •์„ ๊ฑฐ์น˜๋Š” ๊ฒƒ์„ ๋Œ€์ฒดํ•  ์ˆ˜๋Š” ์—†์Šต๋‹ˆ๋‹ค.\">๋‚ ์งœํ™•์ธ', - - "cut_u2sz": "๊ฐ ์—…๋กœ๋“œ ์ฒญํฌ์˜ ํฌ๊ธฐ (MiB)์ž…๋‹ˆ๋‹ค. ํฐ ๊ฐ’์€ ํƒœํ‰์–‘์„ ๊ฑด๋„ˆ๋Š” ๋ฐ ๋” ์œ ๋ฆฌํ•ฉ๋‹ˆ๋‹ค. ๋งค์šฐ ๋ถˆ์•ˆ์ •ํ•œ ์—ฐ๊ฒฐ์—์„œ๋Š” ๋‚ฎ์€ ๊ฐ’์„ ์‹œ๋„ํ•ด๋ณด์„ธ์š”.", - - "cut_flag": 'ํ•œ ๋ฒˆ์— ํ•˜๋‚˜์˜ ํƒญ๋งŒ ์—…๋กœ๋“œํ•˜๋„๋ก ๋ณด์žฅํ•ฉ๋‹ˆ๋‹ค.$N-- ๋‹ค๋ฅธ ํƒญ๋„ ์ด ์˜ต์…˜์„ ํ™œ์„ฑํ™”ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.$N-- ๋™์ผํ•œ ๋„๋ฉ”์ธ์˜ ํƒญ์—๋งŒ ์˜ํ–ฅ์„ ๋ฏธ์นฉ๋‹ˆ๋‹ค.', - - "cut_az": '๊ฐ€์žฅ ์ž‘์€ ํŒŒ์ผ ์šฐ์„ ์ด ์•„๋‹Œ ์•ŒํŒŒ๋ฒณ ์ˆœ์„œ๋กœ ํŒŒ์ผ์„ ์—…๋กœ๋“œํ•ฉ๋‹ˆ๋‹ค.$N$N์•ŒํŒŒ๋ฒณ ์ˆœ์„œ๋Š” ์„œ๋ฒ„์—์„œ ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ–ˆ๋Š”์ง€ ๋ˆˆ์œผ๋กœ ํ™•์ธํ•˜๊ธฐ ์‰ฝ๊ฒŒ ํ•ด์ฃผ์ง€๋งŒ, ๊ด‘๋žœ/LAN ํ™˜๊ฒฝ์—์„œ๋Š” ์—…๋กœ๋“œ ์†๋„๊ฐ€ ์•ฝ๊ฐ„ ๋А๋ ค์ง‘๋‹ˆ๋‹ค.', - - "cut_nag": '์—…๋กœ๋“œ ์™„๋ฃŒ ์‹œ OS ์•Œ๋ฆผ$N(๋ธŒ๋ผ์šฐ์ €๋‚˜ ํƒญ์ด ํ™œ์„ฑํ™”๋˜์ง€ ์•Š์€ ๊ฒฝ์šฐ์—๋งŒ)', - "cut_sfx": '์—…๋กœ๋“œ ์™„๋ฃŒ ์‹œ ์†Œ๋ฆฌ ์•Œ๋ฆผ$N(๋ธŒ๋ผ์šฐ์ €๋‚˜ ํƒญ์ด ํ™œ์„ฑํ™”๋˜์ง€ ์•Š์€ ๊ฒฝ์šฐ์—๋งŒ)', - - "cut_mt": '๋ฉ€ํ‹ฐ์Šค๋ ˆ๋”ฉ์„ ์‚ฌ์šฉํ•˜์—ฌ ํŒŒ์ผ ํ•ด์‹ฑ ์†๋„๋ฅผ ๋†’์ž…๋‹ˆ๋‹ค.$N$N์ด ๊ธฐ๋Šฅ์€ ์›น ์›Œ์ปค๋ฅผ ์‚ฌ์šฉํ•˜๋ฉฐ$N๋” ๋งŽ์€ RAM์ด ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค (์ถ”๊ฐ€์ ์œผ๋กœ ์ตœ๋Œ€ 512 MiB).$N$Nhttps๋Š” 30% ๋” ๋น ๋ฅด๊ฒŒ, http๋Š” 4.5๋ฐฐ ๋” ๋น ๋ฅด๊ฒŒ ๋งŒ๋“ญ๋‹ˆ๋‹ค.\">mt', - - "cut_wasm": '๋ธŒ๋ผ์šฐ์ € ๋‚ด์žฅ ํ•ด์…” ๋Œ€์‹  wasm์„ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. ํฌ๋กฌ ๊ธฐ๋ฐ˜ ๋ธŒ๋ผ์šฐ์ €์—์„œ ์†๋„๋ฅผ ํ–ฅ์ƒ์‹œํ‚ค์ง€๋งŒ CPU ๋ถ€ํ•˜๋ฅผ ์ฆ๊ฐ€์‹œํ‚ค๋ฉฐ, ๋งŽ์€ ๊ตฌ๋ฒ„์ „ ํฌ๋กฌ์—๋Š” ์ด ๊ธฐ๋Šฅ์„ ํ™œ์„ฑํ™”ํ•˜๋ฉด ๋ชจ๋“  RAM์„ ์†Œ๋ชจํ•˜๊ณ  ์ถฉ๋Œํ•˜๋Š” ๋ฒ„๊ทธ๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค.\">wasm', - - "cft_text": "ํŒŒ๋น„์ฝ˜ ํ…์ŠคํŠธ (๋น„์›Œ๋‘๊ณ  ์ƒˆ๋กœ๊ณ ์นจํ•˜๋ฉด ๋น„ํ™œ์„ฑํ™”๋จ)", - "cft_fg": "์ „๊ฒฝ์ƒ‰", - "cft_bg": "๋ฐฐ๊ฒฝ์ƒ‰", - - "cdt_lim": "ํด๋”์— ํ‘œ์‹œํ•  ์ตœ๋Œ€ ํŒŒ์ผ ์ˆ˜", - "cdt_ask": "๋งจ ์•„๋ž˜๋กœ ์Šคํฌ๋กคํ•  ๋•Œ$N๋” ๋งŽ์€ ํŒŒ์ผ์„ ๋ถˆ๋Ÿฌ์˜ค๋Š” ๋Œ€์‹ $N๋ฌด์—‡์„ ํ• ์ง€ ๋ฌป๊ธฐ", - "cdt_hsort": "๋ฏธ๋””์–ด URL์— ํฌํ•จํ•  ์ •๋ ฌ ๊ทœ์น™ (<code>,sorthref</code>)์˜ ์ˆ˜. 0์œผ๋กœ ์„ค์ •ํ•˜๋ฉด ๋ฏธ๋””์–ด ๋งํฌ๋ฅผ ํด๋ฆญํ•  ๋•Œ ํฌํ•จ๋œ ์ •๋ ฌ ๊ทœ์น™๋„ ๋ฌด์‹œ๋ฉ๋‹ˆ๋‹ค.", - - "tt_entree": "ํƒ์ƒ‰ ์ฐฝ (๋””๋ ‰ํ„ฐ๋ฆฌ ํŠธ๋ฆฌ ์‚ฌ์ด๋“œ๋ฐ”) ํ‘œ์‹œ$N๋‹จ์ถ•ํ‚ค: B", - "tt_detree": "์ด๋™ ๊ฒฝ๋กœ ํ‘œ์‹œ$N๋‹จ์ถ•ํ‚ค: B", - "tt_visdir": "์„ ํƒํ•œ ํด๋”๋กœ ์Šคํฌ๋กคํ•˜๊ธฐ", - "tt_ftree": "ํด๋” ํŠธ๋ฆฌ/ํ…์ŠคํŠธ ํŒŒ์ผ ์ „ํ™˜$N๋‹จ์ถ•ํ‚ค: V", - "tt_pdock": "์ƒ์œ„ ํด๋”๋ฅผ ์ƒ๋‹จ์— ๊ณ ์ •๋œ ์ฐฝ์— ํ‘œ์‹œ", - "tt_dynt": "ํŠธ๋ฆฌ๊ฐ€ ํ™•์žฅ๋  ๋•Œ ์ž๋™์œผ๋กœ ๋„ˆ๋น„ ์ฆ๊ฐ€", - "tt_wrap": "์ž๋™ ์ค„ ๋ฐ”๊ฟˆ", - "tt_hover": "๋งˆ์šฐ์Šค๋ฅผ ์˜ฌ๋ฆฌ๋ฉด ๋„˜์–ด๊ฐ€๋Š” ์ค„ ํ‘œ์‹œ$N(๋งˆ์šฐ์Šค ์ปค์„œ๊ฐ€ ์™ผ์ชฝ ์—ฌ๋ฐฑ์—$N  ์žˆ์ง€ ์•Š์œผ๋ฉด ์Šคํฌ๋กค์ด ๊นจ์ง)", - - "ml_pmode": "ํด๋” ๋์—์„œ...", - "ml_btns": "๋ช…๋ น", - "ml_tcode": "ํŠธ๋žœ์Šค์ฝ”๋”ฉ", - "ml_tcode2": "๋‹ค์Œ์œผ๋กœ ํŠธ๋žœ์Šค์ฝ”๋”ฉ", - "ml_tint": "ํ‹ดํŠธ", - "ml_eq": "์˜ค๋””์˜ค ์ดํ€„๋ผ์ด์ €", - "ml_drc": "๋‹ค์ด๋‚ด๋ฏน ๋ ˆ์ธ์ง€ ์••์ถ•๊ธฐ", - - "mt_loop": "ํ•œ ๊ณก ๋ฐ˜๋ณต ์žฌ์ƒ\">๐Ÿ”", - "mt_one": "ํ•œ ๊ณก ์žฌ์ƒ ํ›„ ์ค‘์ง€\">1๏ธโƒฃ", - "mt_shuf": "๊ฐ ํด๋”์˜ ๊ณก์„ ๋ฌด์ž‘์œ„ ์žฌ์ƒ\">๐Ÿ”€", - "mt_aplay": "์„œ๋ฒ„์— ์ ‘์†ํ•œ ๋งํฌ์— ๊ณก ID๊ฐ€ ์žˆ์œผ๋ฉด ์ž๋™ ์žฌ์ƒ$N$N์ด๊ฒƒ์„ ๋น„ํ™œ์„ฑํ™”ํ•˜๋ฉด ์Œ์•… ์žฌ์ƒ ์‹œ ํŽ˜์ด์ง€ URL์ด ๊ณก ID๋กœ ์—…๋ฐ์ดํŠธ๋˜์ง€ ์•Š์•„, ์ด ์„ค์ •์ด ์†์‹ค๋˜๊ณ  URL์ด ๋‚จ์•„์žˆ์„ ๊ฒฝ์šฐ ์ž๋™ ์žฌ์ƒ๋˜๋Š” ๊ฒƒ์„ ๋ฐฉ์ง€ํ•ฉ๋‹ˆ๋‹ค.\">aโ–ถ", - "mt_preload": "๋Š๊น€ ์—†๋Š” ์žฌ์ƒ์„ ์œ„ํ•ด ๋‹ค์Œ ๊ณก์„ ๋ฏธ๋ฆฌ ๋ถˆ๋Ÿฌ์˜ค๊ธฐ ์‹œ์ž‘\">๋ฏธ๋ฆฌ๋กœ๋“œ", - "mt_prescan": "๋งˆ์ง€๋ง‰ ๊ณก์ด ๋๋‚˜๊ธฐ ์ „์— ๋‹ค์Œ ํด๋”๋กœ ์ด๋™ํ•˜์—ฌ$N์›น๋ธŒ๋ผ์šฐ์ €๊ฐ€ ์žฌ์ƒ์„ ๋ฉˆ์ถ”์ง€ ์•Š๋„๋ก ํ•ฉ๋‹ˆ๋‹ค.\">ํƒ์ƒ‰", - "mt_fullpre": "์ „์ฒด ๊ณก์„ ๋ฏธ๋ฆฌ ๋ถˆ๋Ÿฌ์˜ค๊ธฐ ์‹œ๋„;$Nโœ… ๋ถˆ์•ˆ์ •ํ•œ ์—ฐ๊ฒฐ์—์„œ ํ™œ์„ฑํ™”,$NโŒ ๋А๋ฆฐ ์—ฐ๊ฒฐ์—์„œ๋Š” ์•„๋งˆ๋„ ๋น„ํ™œ์„ฑํ™”\">์ „์ฒด", - "mt_fau": "ํฐ์—์„œ ๋‹ค์Œ ๊ณก์ด ์ถฉ๋ถ„ํžˆ ๋นจ๋ฆฌ ๋ฏธ๋ฆฌ ๋ถˆ๋Ÿฌ์˜ค์ง€ ์•Š์•„ ์Œ์•…์ด ๋ฉˆ์ถ”๋Š” ๊ฒƒ์„ ๋ฐฉ์ง€ํ•ฉ๋‹ˆ๋‹ค (ํƒœ๊ทธ ํ‘œ์‹œ๊ฐ€ ๋ถˆ์•ˆ์ •ํ•ด์งˆ ์ˆ˜ ์žˆ์Œ).\">โ˜•๏ธ", - "mt_waves": "ํŒŒํ˜• ํƒ์ƒ‰ ๋ฐ”:$Nํƒ์ƒ‰ ๋ฐ”์— ์˜ค๋””์˜ค ์ง„ํญ ํ‘œ์‹œ\">~s", - "mt_npclip": "ํ˜„์žฌ ์žฌ์ƒ ์ค‘์ธ ๊ณก์„ ํด๋ฆฝ๋ณด๋“œ์— ๋ณต์‚ฌํ•˜๋Š” ๋ฒ„ํŠผ ํ‘œ์‹œ\">/np", - "mt_m3u_c": "์„ ํƒํ•œ ๊ณก์„ m3u8 ์žฌ์ƒ ๋ชฉ๋ก ํ•ญ๋ชฉ์œผ๋กœ$Nํด๋ฆฝ๋ณด๋“œ์— ๋ณต์‚ฌํ•˜๋Š” ๋ฒ„ํŠผ ํ‘œ์‹œ\">๐Ÿ“ป", - "mt_octl": "OS ํ†ตํ•ฉ (๋ฏธ๋””์–ด ๋‹จ์ถ•ํ‚ค/OSD)\">os-ctl", - "mt_oseek": "OS ํ†ตํ•ฉ์„ ํ†ตํ•ด ํƒ์ƒ‰ ํ—ˆ์šฉ$N$N์ฐธ๊ณ : ์ผ๋ถ€ ๊ธฐ๊ธฐ (iPhone)์—์„œ๋Š”$N์ด๊ฒƒ์ด ๋‹ค์Œ ๊ณก ๋ฒ„ํŠผ์„ ๋Œ€์ฒดํ•ฉ๋‹ˆ๋‹ค.\">ํƒ์ƒ‰", - "mt_oscv": "OSD์— ์•จ๋ฒ” ์ปค๋ฒ„ ํ‘œ์‹œ\">์•„ํŠธ", - "mt_follow": "์žฌ์ƒ ์ค‘์ธ ํŠธ๋ž™์ด ๋ณด์ด๋„๋ก ์Šคํฌ๋กค ์œ ์ง€\">๐ŸŽฏ", - "mt_compact": "์ปดํŒฉํŠธ ์ปจํŠธ๋กค\">โŸŽ", - "mt_uncache": "์บ์‹œ ์ง€์šฐ๊ธฐ (๋ธŒ๋ผ์šฐ์ €๊ฐ€ ๊ณก์˜ ๊นจ์ง„ ์‚ฌ๋ณธ์„ ์บ์‹œํ•˜์—ฌ$N์žฌ์ƒ์ด ์•ˆ๋˜๋Š” ๊ฒฝ์šฐ ์‹œ๋„ํ•ด๋ณด์„ธ์š”)\">์บ์‹œ์‚ญ์ œ", - "mt_mloop": "์—ด๋ฆฐ ํด๋” ๋ฐ˜๋ณต\">๐Ÿ” ๋ฐ˜๋ณต", - "mt_mnext": "๋‹ค์Œ ํด๋” ๋ถˆ๋Ÿฌ์˜ค๊ณ  ๊ณ„์†\">๐Ÿ“‚ ๋‹ค์Œ", - "mt_mstop": "์žฌ์ƒ ์ค‘์ง€\">โธ ์ค‘์ง€", - "mt_cflac": "flac/wav๋ฅผ {0}๋กœ ๋ณ€ํ™˜\">flac", - "mt_caac": "aac/m4a๋ฅผ {0}๋กœ ๋ณ€ํ™˜\">aac", - "mt_coth": "๋‹ค๋ฅธ ๋ชจ๋“  ๊ฒƒ (mp3 ์ œ์™ธ)์„ {0}๋กœ ๋ณ€ํ™˜\">๊ธฐํƒ€", - "mt_c2opus": "๋ฐ์Šคํฌํ†ฑ, ๋…ธํŠธ๋ถ, ์•ˆ๋“œ๋กœ์ด๋“œ ํ™˜๊ฒฝ์— ์ตœ์ \">opus", - "mt_c2owa": "iOS 17.5 ์ด์ƒ์šฉ opus-weba\">owa", - "mt_c2caf": "iOS 11๋ถ€ํ„ฐ 17๊นŒ์ง€์šฉ opus-caf\">caf", - "mt_c2mp3": "๋งค์šฐ ์˜ค๋ž˜๋œ ๊ธฐ๊ธฐ์—์„œ ์‚ฌ์šฉ\">mp3", - "mt_c2flac": "์ตœ๊ณ  ์Œ์งˆ์ด์ง€๋งŒ ๋‹ค์šด๋กœ๋“œ ์šฉ๋Ÿ‰์ด ํผ\">flac", - "mt_c2wav": "๋น„์••์ถ• ์žฌ์ƒ (๋” ํผ)\">wav", - "mt_c2ok": "๋„ค, ์ข‹์€ ์„ ํƒ์ž…๋‹ˆ๋‹ค", - "mt_c2nd": "๊ธฐ๊ธฐ์— ๊ถŒ์žฅ๋˜๋Š” ์ถœ๋ ฅ ํ˜•์‹์ด ์•„๋‹ˆ์ง€๋งŒ ๊ดœ์ฐฎ์Šต๋‹ˆ๋‹ค", - "mt_c2ng": "๊ธฐ๊ธฐ๊ฐ€ ์ด ์ถœ๋ ฅ ํ˜•์‹์„ ์ง€์›ํ•˜์ง€ ์•Š๋Š” ๊ฒƒ ๊ฐ™์ง€๋งŒ, ์‹œ๋„ํ•ด ๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค", - "mt_xowa": "iOS์—์„œ ์ด ํ˜•์‹์˜ ๋ฐฑ๊ทธ๋ผ์šด๋“œ ์žฌ์ƒ์ด ์•ˆ๋˜๋Š” ๋ฒ„๊ทธ๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค. ๋Œ€์‹  caf๋‚˜ mp3๋ฅผ ์‚ฌ์šฉํ•ด์ฃผ์„ธ์š”.", - "mt_tint": "ํƒ์ƒ‰ ๋ฐ”์˜ ๋ฐฐ๊ฒฝ ๋ ˆ๋ฒจ (0-100)$N๋ฒ„ํผ๋ง์ด ๋œ ๋ˆˆ์‹œ๋ฆฌ๊ฒŒ ๋งŒ๋“ฆ", - "mt_eq": "์ดํ€„๋ผ์ด์ € ๋ฐ ๊ฒŒ์ธ ์ œ์–ด ํ™œ์„ฑํ™”;$N$Nboost <code>0</code> = ํ‘œ์ค€ 100% ๋ณผ๋ฅจ (์ˆ˜์ • ์—†์Œ)$N$Nwidth <code>1  </code> = ํ‘œ์ค€ ์Šคํ…Œ๋ ˆ์˜ค (์ˆ˜์ • ์—†์Œ)$Nwidth <code>0.5</code> = 50% ์ขŒ์šฐ ํฌ๋กœ์Šคํ”ผ๋“œ$Nwidth <code>0  </code> = ๋ชจ๋…ธ$N$Nboost <code>-0.8</code> & width <code>10</code> = ๋ณด์ปฌ ์ œ๊ฑฐ :^)$N$N์ดํ€„๋ผ์ด์ €๋ฅผ ํ™œ์„ฑํ™”ํ•˜๋ฉด ๋Š๊น€ ์—†๋Š” ์•จ๋ฒ”์ด ์˜จ์ „ํžˆ ๋Š๊น€ ์—†์ด ์žฌ์ƒ๋˜๋ฏ€๋กœ, ๊ทธ ์ ์ด ์ค‘์š”ํ•˜๋‹ค๋ฉด ๋ชจ๋“  ๊ฐ’์„ 0์œผ๋กœ ๋‘๊ณ  (width=1 ์ œ์™ธ) ์ผœ๋‘์„ธ์š”.", - "mt_drc": "๋‹ค์ด๋‚ด๋ฏน ๋ ˆ์ธ์ง€ ์ปดํ”„๋ ˆ์„œ(๋ณผ๋ฅจ ํ‰ํƒ„ํ™”/๋ฒฝ๋Œํ™”)๋ฅผ ํ™œ์„ฑํ™”ํ•ฉ๋‹ˆ๋‹ค. ์ŠคํŒŒ๊ฒŒํ‹ฐ์˜ ๊ท ํ˜•์„ ๋งž์ถ”๊ธฐ ์œ„ํ•ด EQ๋„ ํ™œ์„ฑํ™”๋˜๋ฏ€๋กœ, ์›ํ•˜์ง€ ์•Š์œผ๋ฉด 'width'๋ฅผ ์ œ์™ธํ•œ ๋ชจ๋“  EQ ํ•„๋“œ๋ฅผ 0์œผ๋กœ ์„ค์ •ํ•˜์„ธ์š”.$N$NTHRESHOLD dB ์ด์ƒ์˜ ์˜ค๋””์˜ค ๋ณผ๋ฅจ์„ ๋‚ฎ์ถฅ๋‹ˆ๋‹ค. THRESHOLD๋ฅผ ์ดˆ๊ณผํ•˜๋Š” ๋ชจ๋“  RATIO dB์— ๋Œ€ํ•ด 1dB์˜ ์ถœ๋ ฅ์ด ์žˆ์œผ๋ฏ€๋กœ, ๊ธฐ๋ณธ๊ฐ’์ธ tresh -24 ๋ฐ ratio 12๋Š” ๋ณผ๋ฅจ์ด -22dB๋ณด๋‹ค ์ปค์ง€์ง€ ์•Š์Œ์„ ์˜๋ฏธํ•˜๋ฉฐ, ์ดํ€„๋ผ์ด์ € ๋ถ€์ŠคํŠธ๋ฅผ 0.8 ๋˜๋Š” ATK 0๊ณผ ํฐ RLS (์˜ˆ: 90)๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ 1.8๊นŒ์ง€ ์•ˆ์ „ํ•˜๊ฒŒ ๋†’์ผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค (firefox์—์„œ๋งŒ ์ž‘๋™, ๋‹ค๋ฅธ ๋ธŒ๋ผ์šฐ์ €์—์„œ๋Š” RLS ์ตœ๋Œ€ 1).$N$N(์œ„ํ‚ค๋ฐฑ๊ณผ๋ฅผ ์ฐธ์กฐํ•˜์„ธ์š”, ํ›จ์”ฌ ๋” ์ž˜ ์„ค๋ช…๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค)", - - "mb_play": "์žฌ์ƒ", - "mm_hashplay": "์ด ์˜ค๋””์˜ค ํŒŒ์ผ์„ ์žฌ์ƒํ• ๊นŒ์š”?", - "mm_m3u": "Enter/ํ™•์ธ์„ ๋ˆŒ๋Ÿฌ ์žฌ์ƒ\nESC/์ทจ์†Œ๋ฅผ ๋ˆŒ๋Ÿฌ ํŽธ์ง‘", - "mp_breq": "Firefox 82+, Chrome 73+ ๋˜๋Š” iOS 15+ ํ•„์š”", - "mm_bload": "๋ถˆ๋Ÿฌ์˜ค๋Š” ์ค‘...", - "mm_bconv": "{0}(์œผ)๋กœ ๋ณ€ํ™˜ ์ค‘, ์ž ์‹œ๋งŒ ๊ธฐ๋‹ค๋ ค์ฃผ์„ธ์š”...", - "mm_opusen": "๋ธŒ๋ผ์šฐ์ €๊ฐ€ aac/m4a ํŒŒ์ผ์„ ์žฌ์ƒํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค.\nopus๋กœ์˜ ํŠธ๋žœ์Šค์ฝ”๋”ฉ์ด ํ™œ์„ฑํ™”๋˜์—ˆ์Šต๋‹ˆ๋‹ค.", - "mm_playerr": "์žฌ์ƒ ์‹คํŒจ: ", - "mm_eabrt": "์žฌ์ƒ ์‹œ๋„๊ฐ€ ์ทจ์†Œ๋˜์—ˆ์Šต๋‹ˆ๋‹ค", - "mm_enet": "์ธํ„ฐ๋„ท ์—ฐ๊ฒฐ์ด ๋ถˆ์•ˆ์ •ํ•ฉ๋‹ˆ๋‹ค", - "mm_edec": "์ด ํŒŒ์ผ์ด ์†์ƒ๋œ ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค??", - "mm_esupp": "๋ธŒ๋ผ์šฐ์ €๊ฐ€ ์ด ์˜ค๋””์˜ค ํ˜•์‹์„ ์ดํ•ดํ•˜์ง€ ๋ชปํ•ฉ๋‹ˆ๋‹ค", - "mm_eunk": "์•Œ ์ˆ˜ ์—†๋Š” ์˜ค๋ฅ˜", - "mm_e404": "์˜ค๋””์˜ค๋ฅผ ์žฌ์ƒํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค; ์˜ค๋ฅ˜ 404: ํŒŒ์ผ์„ ์ฐพ์„ ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค.", - "mm_e403": "์˜ค๋””์˜ค๋ฅผ ์žฌ์ƒํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค; ์˜ค๋ฅ˜ 403: ์ ‘๊ทผ์ด ๊ฑฐ๋ถ€๋˜์—ˆ์Šต๋‹ˆ๋‹ค.\n\nF5๋ฅผ ๋ˆŒ๋Ÿฌ ์ƒˆ๋กœ๊ณ ์นจ ํ•ด๋ณด์„ธ์š”, ๋กœ๊ทธ์•„์›ƒ๋˜์—ˆ์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค", - "mm_e500": "์˜ค๋””์˜ค๋ฅผ ์žฌ์ƒํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค; ์˜ค๋ฅ˜ 500: ์„œ๋ฒ„ ๋กœ๊ทธ๋ฅผ ํ™•์ธํ•˜์„ธ์š”.", - "mm_e5xx": "์˜ค๋””์˜ค๋ฅผ ์žฌ์ƒํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค; ์„œ๋ฒ„ ์˜ค๋ฅ˜ ", - "mm_nof": "์ฃผ๋ณ€์—์„œ ๋” ์ด์ƒ ์˜ค๋””์˜ค ํŒŒ์ผ์„ ์ฐพ์„ ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค", - "mm_prescan": "๋‹ค์Œ์— ์žฌ์ƒํ•  ์Œ์•…์„ ์ฐพ๋Š” ์ค‘...", - "mm_scank": "๋‹ค์Œ ๊ณก์„ ์ฐพ์•˜์Šต๋‹ˆ๋‹ค:", - "mm_uncache": "์บ์‹œ๊ฐ€ ์ง€์›Œ์กŒ์Šต๋‹ˆ๋‹ค. ๋ชจ๋“  ๊ณก์€ ๋‹ค์Œ ์žฌ์ƒ ์‹œ ๋‹ค์‹œ ๋‹ค์šด๋กœ๋“œ๋ฉ๋‹ˆ๋‹ค.", - "mm_hnf": "๊ทธ ๊ณก์ด ๋” ์ด์ƒ ์กด์žฌํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค", - - "im_hnf": "๊ทธ ์ด๋ฏธ์ง€๊ฐ€ ๋” ์ด์ƒ ์กด์žฌํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค", - - "f_empty": '์ด ํด๋”๋Š” ๋น„์–ด ์žˆ์Šต๋‹ˆ๋‹ค', - "f_chide": 'ยซ{0}ยป ์—ด์„ ์ˆจ๊น๋‹ˆ๋‹ค.\n\n์„ค์ • ํƒญ์—์„œ ์—ด์„ ๋‹ค์‹œ ํ‘œ์‹œํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.', - "f_bigtxt": "์ด ํŒŒ์ผ์€ {0} MiB์ž…๋‹ˆ๋‹ค -- ์ •๋ง ํ…์ŠคํŠธ๋กœ ๋ณด์‹œ๊ฒ ์Šต๋‹ˆ๊นŒ?", - "f_bigtxt2": "๋Œ€์‹  ํŒŒ์ผ์˜ ๋๋ถ€๋ถ„๋งŒ ๋ณด์‹œ๊ฒ ์Šต๋‹ˆ๊นŒ? ์ด๋ ‡๊ฒŒ ํ•˜๋ฉด ์‹ค์‹œ๊ฐ„์œผ๋กœ ์ƒˆ๋กœ ์ถ”๊ฐ€๋˜๋Š” ํ…์ŠคํŠธ ์ค„์„ ๋ณด์—ฌ์ฃผ๋Š” ํŒ”๋กœ์ž‰/ํ…Œ์ผ๋ง ๊ธฐ๋Šฅ๋„ ํ™œ์„ฑํ™”๋ฉ๋‹ˆ๋‹ค.", - "fbd_more": '
    {1}๊ฐœ ํŒŒ์ผ ์ค‘ {0}๊ฐœ ํ‘œ์‹œ ์ค‘; {2}๊ฐœ ๋” ๋ณด๊ธฐ ๋˜๋Š” ๋ชจ๋‘ ๋ณด๊ธฐ
    ', - "fbd_all": '
    {1}๊ฐœ ํŒŒ์ผ ์ค‘ {0}๊ฐœ ํ‘œ์‹œ ์ค‘; ๋ชจ๋‘ ๋ณด๊ธฐ
    ', - "f_anota": "{1}๊ฐœ ํ•ญ๋ชฉ ์ค‘ {0}๊ฐœ๋งŒ ์„ ํƒ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.\n์ „์ฒด ํด๋”๋ฅผ ์„ ํƒํ•˜๋ ค๋ฉด ๋จผ์ € ๋งจ ์•„๋ž˜๋กœ ์Šคํฌ๋กคํ•˜์„ธ์š”.", - - "f_dls": 'ํ˜„์žฌ ํด๋”์˜ ํŒŒ์ผ ๋งํฌ๊ฐ€\n๋‹ค์šด๋กœ๋“œ ๋งํฌ๋กœ ๋ณ€๊ฒฝ๋˜์—ˆ์Šต๋‹ˆ๋‹ค', - - "f_partial": "ํ˜„์žฌ ์—…๋กœ๋“œ ์ค‘์ธ ํŒŒ์ผ์„ ์•ˆ์ „ํ•˜๊ฒŒ ๋‹ค์šด๋กœ๋“œํ•˜๋ ค๋ฉด, ํŒŒ์ผ ์ด๋ฆ„์ด ๊ฐ™์ง€๋งŒ .PARTIAL ํ™•์žฅ์ž๊ฐ€ ์—†๋Š” ํŒŒ์ผ์„ ํด๋ฆญํ•˜์„ธ์š”. ์ด ๊ฒฝ๊ณ ๋ฅผ ๋ฌด์‹œํ•˜๋ ค๋ฉด \"์ทจ์†Œ\" ๋˜๋Š” ESC๋ฅผ ๋ˆ„๋ฅด์„ธ์š”.\n\n\"ํ™•์ธ\"/Enter๋ฅผ ๋ˆ„๋ฅด๋ฉด ์ด ๊ฒฝ๊ณ ๋ฅผ ๋ฌด์‹œํ•˜๊ณ  .PARTIAL ์ž„์‹œ ํŒŒ์ผ์„ ๊ณ„์† ๋‹ค์šด๋กœ๋“œํ•˜๋ฉฐ, ์ด ๊ฒฝ์šฐ ๊ฑฐ์˜ ํ™•์‹คํžˆ ์†์ƒ๋œ ๋ฐ์ดํ„ฐ๋ฅผ ๋ฐ›๊ฒŒ ๋ฉ๋‹ˆ๋‹ค.", - - "ft_paste": "{0}๊ฐœ ํ•ญ๋ชฉ ๋ถ™์—ฌ๋„ฃ๊ธฐ$N๋‹จ์ถ•ํ‚ค: ctrl-V", - "fr_eperm": "์ด๋ฆ„์„ ๋ฐ”๊ฟ€ ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค:\n์ด ํด๋”์— \"์ด๋™\" ๊ถŒํ•œ์ด ์—†์Šต๋‹ˆ๋‹ค", - "fd_eperm": "์‚ญ์ œํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค:\n์ด ํด๋”์— \"์‚ญ์ œ\" ๊ถŒํ•œ์ด ์—†์Šต๋‹ˆ๋‹ค", - "fc_eperm": "์ž˜๋ผ๋‚ผ ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค:\n์ด ํด๋”์— \"์ด๋™\" ๊ถŒํ•œ์ด ์—†์Šต๋‹ˆ๋‹ค", - "fp_eperm": "๋ถ™์—ฌ๋„ฃ์„ ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค\n์ด ํด๋”์— \"์“ฐ๊ธฐ\" ๊ถŒํ•œ์ด ์—†์Šต๋‹ˆ๋‹ค", - "fr_emore": "์ด๋ฆ„์„ ๋ฐ”๊ฟ€ ํ•ญ๋ชฉ์„ ํ•˜๋‚˜ ์ด์ƒ ์„ ํƒํ•˜์„ธ์š”", - "fd_emore": "์‚ญ์ œํ•  ํ•ญ๋ชฉ์„ ํ•˜๋‚˜ ์ด์ƒ ์„ ํƒํ•˜์„ธ์š”", - "fc_emore": "์ž˜๋ผ๋‚ผ ํ•ญ๋ชฉ์„ ํ•˜๋‚˜ ์ด์ƒ ์„ ํƒํ•˜์„ธ์š”", - "fcp_emore": "ํด๋ฆฝ๋ณด๋“œ์— ๋ณต์‚ฌํ•  ํ•ญ๋ชฉ์„ ํ•˜๋‚˜ ์ด์ƒ ์„ ํƒํ•˜์„ธ์š”", - - "fs_sc": "ํ˜„์žฌ ํด๋” ๊ณต์œ ", - "fs_ss": "์„ ํƒํ•œ ํŒŒ์ผ ๊ณต์œ ", - "fs_just1d": "ํ•˜๋‚˜ ์ด์ƒ์˜ ํด๋”๋ฅผ ์„ ํƒํ•˜๊ฑฐ๋‚˜,\nํŒŒ์ผ๊ณผ ํด๋”๋ฅผ ํ•œ ๋ฒˆ์— ์„ž์–ด ์„ ํƒํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค", - "fs_abrt": "โŒ ์ค‘๋‹จ", - "fs_rand": "๐ŸŽฒ ๋ฌด์ž‘์œ„ ์ด๋ฆ„", - "fs_go": "โœ… ๊ณต์œ  ์ƒ์„ฑ", - "fs_name": "์ด๋ฆ„", - "fs_src": "์†Œ์Šค", - "fs_pwd": "๋น„๋ฐ€๋ฒˆํ˜ธ", - "fs_exp": "๋งŒ๋ฃŒ", - "fs_tmin": "๋ถ„", - "fs_thrs": "์‹œ๊ฐ„", - "fs_tdays": "์ผ", - "fs_never": "์˜์›", - "fs_pname": "์„ ํƒ์  ๋งํฌ ์ด๋ฆ„; ๋น„์›Œ๋‘๋ฉด ๋ฌด์ž‘์œ„๋กœ ์ƒ์„ฑ", - "fs_tsrc": "๊ณต์œ ํ•  ํŒŒ์ผ ๋˜๋Š” ํด๋”", - "fs_ppwd": "๋น„๋ฐ€๋ฒˆํ˜ธ (์„ ํƒ์‚ฌํ•ญ)", - "fs_w8": "๊ณต์œ  ์ƒ์„ฑ ์ค‘...", - "fs_ok": "Enter/OK๋ฅผ ๋ˆŒ๋Ÿฌ ํด๋ฆฝ๋ณด๋“œ์— ๋ณต์‚ฌ\nESC/Cancel๋ฅผ ๋ˆŒ๋Ÿฌ ๋‹ซ๊ธฐ", - - "frt_dec": "๊นจ์ง„ ํŒŒ์ผ ์ด๋ฆ„์˜ ์ผ๋ถ€ ๊ฒฝ์šฐ๋ฅผ ์ˆ˜์ •ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค\">url-๋””์ฝ”๋“œ", - "frt_rst": "์ˆ˜์ •๋œ ํŒŒ์ผ ์ด๋ฆ„์„ ์›๋ž˜๋Œ€๋กœ ๋˜๋Œ๋ฆฝ๋‹ˆ๋‹ค\">โ†บ ์ดˆ๊ธฐํ™”", - "frt_abrt": "์ด ์ฐฝ์„ ์ค‘๋‹จํ•˜๊ณ  ๋‹ซ์Šต๋‹ˆ๋‹ค\">โŒ ์ทจ์†Œ", - "frb_apply": "์ด๋ฆ„ ๋ฐ”๊พธ๊ธฐ ์ ์šฉ", - "fr_adv": "๋ฐฐ์น˜/๋ฉ”ํƒ€๋ฐ์ดํ„ฐ/ํŒจํ„ด ์ด๋ฆ„ ๋ฐ”๊พธ๊ธฐ\">๊ณ ๊ธ‰", - "fr_case": "๋Œ€์†Œ๋ฌธ์ž ๊ตฌ๋ถ„ ์ •๊ทœ์‹\">๋Œ€์†Œ๋ฌธ์ž", - "fr_win": "Windows ์•ˆ์ „ ์ด๋ฆ„; <>:"\\|?*๋ฅผ ์ผ๋ณธ์–ด ์ „๊ฐ ๋ฌธ์ž๋กœ ๋ฐ”๊ฟ‰๋‹ˆ๋‹ค\">win", - "fr_slash": "/๋ฅผ ์ƒˆ ํด๋”๋ฅผ ๋งŒ๋“ค์ง€ ์•Š๋Š” ๋ฌธ์ž๋กœ ๋ฐ”๊ฟ‰๋‹ˆ๋‹ค\">/ ์—†์Œ", - "fr_re": "์›๋ณธ ํŒŒ์ผ ์ด๋ฆ„์— ์ ์šฉํ•  ์ •๊ทœ์‹ ๊ฒ€์ƒ‰ ํŒจํ„ด; ์บก์ฒ˜๋ง ๊ทธ๋ฃน์€ ์•„๋ž˜ ํ˜•์‹ ํ•„๋“œ์—์„œ <code>(1)</code>, <code>(2)</code> ๋“ฑ์œผ๋กœ ์ฐธ์กฐํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค", - "fr_fmt": "foobar2000์—์„œ ์˜๊ฐ์„ ๋ฐ›์Œ:$N<code>(title)</code>์€(๋Š”) ๊ณก ์ œ๋ชฉ์œผ๋กœ ๋Œ€์ฒด๋จ,$N<code>[(artist) - ](title)</code>์€(๋Š”) ์•„ํ‹ฐ์ŠคํŠธ๊ฐ€ ๋น„์–ด ์žˆ์œผ๋ฉด [์ด] ๋ถ€๋ถ„์„ ๊ฑด๋„ˆ๋œ€$N<code>$lpad((tn),2,0)</code>์€(๋Š”) ํŠธ๋ž™ ๋ฒˆํ˜ธ๋ฅผ 2์ž๋ฆฌ๋กœ ์ฑ„์›€", - "fr_pdel": "์‚ญ์ œ", - "fr_pnew": "๋‹ค๋ฅธ ์ด๋ฆ„์œผ๋กœ ์ €์žฅ", - "fr_pname": "์ƒˆ ํ”„๋ฆฌ์…‹์˜ ์ด๋ฆ„์„ ์ž…๋ ฅํ•˜์„ธ์š”", - "fr_aborted": "์ค‘๋‹จ๋จ", - "fr_lold": "์ด์ „ ์ด๋ฆ„", - "fr_lnew": "์ƒˆ ์ด๋ฆ„", - "fr_tags": "์„ ํƒํ•œ ํŒŒ์ผ์˜ ํƒœ๊ทธ (์ฝ๊ธฐ ์ „์šฉ, ์ฐธ์กฐ์šฉ):", - "fr_busy": "{0}๊ฐœ ํ•ญ๋ชฉ ์ด๋ฆ„ ๋ฐ”๊พธ๋Š” ์ค‘...\n\n{1}", - "fr_efail": "์ด๋ฆ„ ๋ฐ”๊พธ๊ธฐ ์‹คํŒจ:\n", - "fr_nchg": "win ๋ฐ/๋˜๋Š” / ์—†์Œ์œผ๋กœ ์ธํ•ด ์ƒˆ ์ด๋ฆ„ ์ค‘ {0}๊ฐœ๊ฐ€ ๋ณ€๊ฒฝ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.\n\n์ด ๋ณ€๊ฒฝ๋œ ์ƒˆ ์ด๋ฆ„์œผ๋กœ ๊ณ„์†ํ•˜์‹œ๊ฒ ์Šต๋‹ˆ๊นŒ?", - - "fd_ok": "์‚ญ์ œ ํ™•์ธ", - "fd_err": "์‚ญ์ œ ์‹คํŒจ:\n", - "fd_none": "์•„๋ฌด๊ฒƒ๋„ ์‚ญ์ œ๋˜์ง€ ์•Š์•˜์Šต๋‹ˆ๋‹ค. ์„œ๋ฒ„ ๊ตฌ์„ฑ (xbd)์— ์˜ํ•ด ์ฐจ๋‹จ๋˜์—ˆ์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.", - "fd_busy": "์‚ญ์ œ ์ค‘ {0}๊ฐœ ํ•ญ๋ชฉ...\n\n{1}", - "fd_warn1": "์ด {0}๊ฐœ ํ•ญ๋ชฉ์„ ์‚ญ์ œํ•˜์‹œ๊ฒ ์Šต๋‹ˆ๊นŒ?", - "fd_warn2": "๋งˆ์ง€๋ง‰ ๊ธฐํšŒ์ž…๋‹ˆ๋‹ค! ๋˜๋Œ๋ฆด ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค. ์‚ญ์ œํ•˜์‹œ๊ฒ ์Šต๋‹ˆ๊นŒ?", - - "fc_ok": "{0}๊ฐœ ํ•ญ๋ชฉ ์ž˜๋ผ๋‚ด๊ธฐ ์™„๋ฃŒ", - "fc_warn": "{0}๊ฐœ ํ•ญ๋ชฉ ์ž˜๋ผ๋‚ด๊ธฐ ์™„๋ฃŒ\n\nํ•˜์ง€๋งŒ: ์„ ํƒ ํ•ญ๋ชฉ์ด ๋„ˆ๋ฌด ์ปค์„œ ์ด ๋ธŒ๋ผ์šฐ์ € ํƒญ์—์„œ๋งŒ ๋ถ™์—ฌ๋„ฃ์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค", - - "fcc_ok": "{0}๊ฐœ ํ•ญ๋ชฉ์„ ํด๋ฆฝ๋ณด๋“œ์— ๋ณต์‚ฌํ–ˆ์Šต๋‹ˆ๋‹ค", - "fcc_warn": "{0}๊ฐœ ํ•ญ๋ชฉ์„ ํด๋ฆฝ๋ณด๋“œ์— ๋ณต์‚ฌํ–ˆ์Šต๋‹ˆ๋‹ค\n\nํ•˜์ง€๋งŒ: ์„ ํƒ ํ•ญ๋ชฉ์ด ๋„ˆ๋ฌด ์ปค์„œ ์ด ๋ธŒ๋ผ์šฐ์ € ํƒญ์—์„œ๋งŒ ๋ถ™์—ฌ๋„ฃ์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค", - - "fp_apply": "์ด ์ด๋ฆ„ ์‚ฌ์šฉ", - "fp_ecut": "๋ถ™์—ฌ๋„ฃ๊ฑฐ๋‚˜ ์ด๋™ํ•˜๋ ค๋ฉด ๋จผ์ € ํŒŒ์ผ/ํด๋”๋ฅผ ์ž˜๋ผ๋‚ด๊ฑฐ๋‚˜ ๋ณต์‚ฌํ•˜์„ธ์š”\n\n์ฐธ๊ณ : ๋‹ค๋ฅธ ๋ธŒ๋ผ์šฐ์ € ํƒญ ๊ฐ„์— ์ž˜๋ผ๋‚ด๊ธฐ/๋ถ™์—ฌ๋„ฃ๊ธฐ๋ฅผ ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค", - "fp_ename": "์ด๋ฆ„์ด ์ด๋ฏธ ์‚ฌ์šฉ ์ค‘์ด๋ฏ€๋กœ {0}๊ฐœ ํ•ญ๋ชฉ์„ ์—ฌ๊ธฐ๋กœ ์ด๋™ํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค. ๊ณ„์†ํ•˜๋ ค๋ฉด ์•„๋ž˜์— ์ƒˆ ์ด๋ฆ„์„ ์ง€์ •ํ•˜๊ฑฐ๋‚˜, ์ด๋ฆ„์„ ๋น„์›Œ๋‘๋ฉด ๊ฑด๋„ˆ๋œ๋‹ˆ๋‹ค:", - "fcp_ename": "์ด๋ฆ„์ด ์ด๋ฏธ ์‚ฌ์šฉ ์ค‘์ด๋ฏ€๋กœ {0}๊ฐœ ํ•ญ๋ชฉ์„ ์—ฌ๊ธฐ๋กœ ๋ณต์‚ฌํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค. ๊ณ„์†ํ•˜๋ ค๋ฉด ์•„๋ž˜์— ์ƒˆ ์ด๋ฆ„์„ ์ง€์ •ํ•˜๊ฑฐ๋‚˜, ์ด๋ฆ„์„ ๋น„์›Œ๋‘๋ฉด ๊ฑด๋„ˆ๋œ๋‹ˆ๋‹ค:", - "fp_emore": "์•„์ง ํ•ด๊ฒฐํ•ด์•ผ ํ•  ํŒŒ์ผ ์ด๋ฆ„ ์ถฉ๋Œ์ด ๋‚จ์•„ ์žˆ์Šต๋‹ˆ๋‹ค", - "fp_ok": "์ด๋™ ์™„๋ฃŒ", - "fcp_ok": "๋ณต์‚ฌ ์™„๋ฃŒ", - "fp_busy": "{0}๊ฐœ ํ•ญ๋ชฉ ์ด๋™ ์ค‘...\n\n{1}", - "fcp_busy": "{0}๊ฐœ ํ•ญ๋ชฉ ๋ณต์‚ฌ ์ค‘...\n\n{1}", - "fp_abrt": "์ทจ์†Œ ์ค‘...", - "fp_err": "์ด๋™ ์‹คํŒจ:\n", - "fcp_err": "๋ณต์‚ฌ ์‹คํŒจ:\n", - "fp_confirm": "์ด {0}๊ฐœ ํ•ญ๋ชฉ์„ ์—ฌ๊ธฐ๋กœ ์ด๋™ํ•˜์‹œ๊ฒ ์Šต๋‹ˆ๊นŒ?", - "fcp_confirm": "์ด {0}๊ฐœ ํ•ญ๋ชฉ์„ ์—ฌ๊ธฐ๋กœ ๋ณต์‚ฌํ•˜์‹œ๊ฒ ์Šต๋‹ˆ๊นŒ?", - "fp_etab": '๋‹ค๋ฅธ ๋ธŒ๋ผ์šฐ์ € ํƒญ์—์„œ ํด๋ฆฝ๋ณด๋“œ๋ฅผ ์ฝ์ง€ ๋ชปํ–ˆ์Šต๋‹ˆ๋‹ค', - "fp_name": "๊ธฐ๊ธฐ์—์„œ ํŒŒ์ผ์„ ์—…๋กœ๋“œํ•ฉ๋‹ˆ๋‹ค. ์ด๋ฆ„์„ ์ง€์ •ํ•˜์„ธ์š”:", - "fp_both_m": '
    ๋ถ™์—ฌ๋„ฃ์„ ํ•ญ๋ชฉ ์„ ํƒ
    Enter = ยซ{1}ยป์—์„œ ํŒŒ์ผ {0}๊ฐœ ์ด๋™\nESC = ๊ธฐ๊ธฐ์—์„œ ํŒŒ์ผ {2}๊ฐœ ์—…๋กœ๋“œ', - "fcp_both_m": '
    ๋ถ™์—ฌ๋„ฃ์„ ํ•ญ๋ชฉ ์„ ํƒ
    Enter = ยซ{1}ยป์—์„œ ํŒŒ์ผ {0}๊ฐœ ๋ณต์‚ฌ\nESC = ๊ธฐ๊ธฐ์—์„œ ํŒŒ์ผ {2}๊ฐœ ์—…๋กœ๋“œ', - "fp_both_b": '์ด๋™์—…๋กœ๋“œ', - "fcp_both_b": '๋ณต์‚ฌ์—…๋กœ๋“œ', - - "mk_noname": "์™ผ์ชฝ ํ…์ŠคํŠธ ํ•„๋“œ์— ์ด๋ฆ„์„ ๋จผ์ € ์ž…๋ ฅํ•ด์ฃผ์„ธ์š” :p", - - "tv_load": "ํ…์ŠคํŠธ ๋ฌธ์„œ ๋ถˆ๋Ÿฌ์˜ค๋Š” ์ค‘:\n\n{0}\n\n{1}% ({3} MiB ์ค‘ {2} MiB ๋กœ๋“œ๋จ)", - "tv_xe1": "ํ…์ŠคํŠธ ํŒŒ์ผ์„ ๋ถˆ๋Ÿฌ์˜ฌ ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค:\n\n์˜ค๋ฅ˜ ", - "tv_xe2": "404, ํŒŒ์ผ์„ ์ฐพ์„ ์ˆ˜ ์—†์Œ", - "tv_lst": "ํ…์ŠคํŠธ ํŒŒ์ผ ๋ชฉ๋ก", - "tvt_close": "ํด๋” ๋ณด๊ธฐ๋กœ ๋Œ์•„๊ฐ€๊ธฐ$N๋‹จ์ถ•ํ‚ค: M (๋˜๋Š” Esc)\">โŒ ๋‹ซ๊ธฐ", - "tvt_dl": "์ด ํŒŒ์ผ ๋‹ค์šด๋กœ๋“œ$N๋‹จ์ถ•ํ‚ค: Y\">๐Ÿ’พ ๋‹ค์šด๋กœ๋“œ", - "tvt_prev": "์ด์ „ ๋ฌธ์„œ ๋ณด๊ธฐ$N๋‹จ์ถ•ํ‚ค: i\">โฌ† ์ด์ „", - "tvt_next": "๋‹ค์Œ ๋ฌธ์„œ ๋ณด๊ธฐ$N๋‹จ์ถ•ํ‚ค: K\">โฌ‡ ๋‹ค์Œ", - "tvt_sel": "ํŒŒ์ผ ์„ ํƒ   (์ž˜๋ผ๋‚ด๊ธฐ/๋ณต์‚ฌ/์‚ญ์ œ/...์šฉ)$N๋‹จ์ถ•ํ‚ค: S\">์„ ํƒ", - "tvt_edit": "ํ…์ŠคํŠธ ํŽธ์ง‘๊ธฐ์—์„œ ํŒŒ์ผ ์—ด๊ธฐ$N๋‹จ์ถ•ํ‚ค: E\">โœ๏ธ ํŽธ์ง‘", - "tvt_tail": "ํŒŒ์ผ ๋ณ€๊ฒฝ ์‚ฌํ•ญ ๋ชจ๋‹ˆํ„ฐ๋ง; ์‹ค์‹œ๊ฐ„์œผ๋กœ ์ƒˆ ์ค„ ํ‘œ์‹œ\">๐Ÿ“ก ํŒ”๋กœ์šฐ", - "tvt_wrap": "์ž๋™ ์ค„ ๋ฐ”๊ฟˆ\">โ†ต", - "tvt_atail": "ํŽ˜์ด์ง€ ํ•˜๋‹จ์œผ๋กœ ์Šคํฌ๋กค ๊ณ ์ •\">โš“", - "tvt_ctail": "ํ„ฐ๋ฏธ๋„ ์ƒ‰์ƒ ๋””์ฝ”๋”ฉ (ANSI ์ด์Šค์ผ€์ดํ”„ ์ฝ”๋“œ)\">๐ŸŒˆ", - "tvt_ntail": "์Šคํฌ๋กค๋ฐฑ ์ œํ•œ (๋ถˆ๋Ÿฌ์˜จ ์ƒํƒœ๋กœ ์œ ์ง€ํ•  ํ…์ŠคํŠธ ๋ฐ”์ดํŠธ ์ˆ˜)", - - "m3u_add1": "m3u ์žฌ์ƒ ๋ชฉ๋ก์— ๊ณก์ด ์ถ”๊ฐ€๋˜์—ˆ์Šต๋‹ˆ๋‹ค", - "m3u_addn": "{0}๊ฐœ์˜ ๊ณก์ด m3u ์žฌ์ƒ ๋ชฉ๋ก์— ์ถ”๊ฐ€๋˜์—ˆ์Šต๋‹ˆ๋‹ค", - "m3u_clip": "m3u ์žฌ์ƒ ๋ชฉ๋ก์ด ํด๋ฆฝ๋ณด๋“œ์— ๋ณต์‚ฌ๋˜์—ˆ์Šต๋‹ˆ๋‹ค\n\n something.m3u์™€ ๊ฐ™์€ ์ด๋ฆ„์˜ ์ƒˆ ํ…์ŠคํŠธ ํŒŒ์ผ์„ ๋งŒ๋“ค๊ณ  ๊ทธ ๋ฌธ์„œ์— ์žฌ์ƒ ๋ชฉ๋ก์„ ๋ถ™์—ฌ๋„ฃ์œผ๋ฉด ์žฌ์ƒํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.", - - "gt_vau": "๋น„๋””์˜ค๋ฅผ ํ‘œ์‹œํ•˜์ง€ ์•Š๊ณ  ์˜ค๋””์˜ค๋งŒ ์žฌ์ƒ\">๐ŸŽง", - "gt_msel": "ํŒŒ์ผ ์„ ํƒ ํ™œ์„ฑํ™”; ctrl-ํด๋ฆญํ•˜์—ฌ ํŒŒ์ผ ์žฌ์ •์˜$N$N<em>ํ™œ์„ฑ ์‹œ: ํŒŒ์ผ/ํด๋”๋ฅผ ๋‘ ๋ฒˆ ํด๋ฆญํ•˜์—ฌ ์—ด๊ธฐ</em>$N$N๋‹จ์ถ•ํ‚ค: S\">๋‹ค์ค‘์„ ํƒ", - "gt_crop": "์ธ๋„ค์ผ ์ค‘์•™ ์ž๋ฅด๊ธฐ\">์ž๋ฅด๊ธฐ", - "gt_3x": "๊ณ ํ•ด์ƒ๋„ ์ธ๋„ค์ผ\">3x", - "gt_zoom": "ํ™•๋Œ€/์ถ•์†Œ", - "gt_chop": "์ž๋ฅด๊ธฐ", - "gt_sort": "์ •๋ ฌ ๊ธฐ์ค€", - "gt_name": "์ด๋ฆ„", - "gt_sz": "ํฌ๊ธฐ", - "gt_ts": "๋‚ ์งœ", - "gt_ext": "์œ ํ˜•", - "gt_c1": "ํŒŒ์ผ๋ช… ๋” ๋งŽ์ด ์ƒ๋žตํ•˜๊ธฐ (๋” ์ ๊ฒŒ ํ‘œ์‹œ)", - "gt_c2": "ํŒŒ์ผ๋ช… ๋œ ์ƒ๋žตํ•˜๊ธฐ (๋” ๋งŽ์ด ํ‘œ์‹œ)", - - "sm_w8": "๊ฒ€์ƒ‰ ์ค‘...", - "sm_prev": "์•„๋ž˜ ๊ฒ€์ƒ‰ ๊ฒฐ๊ณผ๋Š” ์ด์ „ ๊ฒ€์ƒ‰์–ด์— ๋Œ€ํ•œ ๊ฒฐ๊ณผ์ž…๋‹ˆ๋‹ค:\nย  ", - "sl_close": "๊ฒ€์ƒ‰ ๊ฒฐ๊ณผ ๋‹ซ๊ธฐ", - "sl_hits": "{0}๊ฐœ ๊ฒฐ๊ณผ ํ‘œ์‹œ ์ค‘", - "sl_moar": "๋” ๋ถˆ๋Ÿฌ์˜ค๊ธฐ", - - "s_sz": "ํฌ๊ธฐ", - "s_dt": "๋‚ ์งœ", - "s_rd": "๊ฒฝ๋กœ", - "s_fn": "์ด๋ฆ„", - "s_ta": "ํƒœ๊ทธ", - "s_ua": "์—…๋กœ๋“œ ์‹œ์ ", - "s_ad": "๊ณ ๊ธ‰", - "s_s1": "์ตœ์†Œ MiB", - "s_s2": "์ตœ๋Œ€ MiB", - "s_d1": "์ตœ์†Œ ISO-8601", - "s_d2": "์ตœ๋Œ€ ISO-8601", - "s_u1": "์ดํ›„", - "s_u2": "์ด์ „", - "s_r1": "๊ฒฝ๋กœ์— ํฌํ•จ   (๊ณต๋ฐฑ์œผ๋กœ ๊ตฌ๋ถ„)", - "s_f1": "์ด๋ฆ„์— ํฌํ•จ   (-๋กœ ์ œ์™ธ)", - "s_t1": "ํƒœ๊ทธ์— ํฌํ•จ   (^=์‹œ์ž‘, ๋=$)", - "s_a1": "ํŠน์ • ๋ฉ”ํƒ€๋ฐ์ดํ„ฐ ์†์„ฑ", - - "md_eshow": "๋ Œ๋”๋งํ•  ์ˆ˜ ์—†์Œ ", - "md_off": "[๐Ÿ“œreadme]๊ฐ€ [โš™๏ธ]์—์„œ ๋น„ํ™œ์„ฑํ™”๋จ -- ๋ฌธ์„œ ์ˆจ๊น€", - - "badreply": "์„œ๋ฒ„๋กœ๋ถ€ํ„ฐ์˜ ์‘๋‹ต์„ ๊ตฌ๋ฌธ ๋ถ„์„ํ•˜์ง€ ๋ชปํ–ˆ์Šต๋‹ˆ๋‹ค", - - "xhr403": "403: ์ ‘๊ทผ ๊ฑฐ๋ถ€๋จ\n\nF5๋ฅผ ๋ˆŒ๋Ÿฌ๋ณด์„ธ์š”, ๋กœ๊ทธ์•„์›ƒ๋˜์—ˆ์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค", - "xhr0": "์•Œ ์ˆ˜ ์—†์Œ (์„œ๋ฒ„์™€์˜ ์—ฐ๊ฒฐ์ด ๋Š๊ฒผ๊ฑฐ๋‚˜ ์„œ๋ฒ„๊ฐ€ ์˜คํ”„๋ผ์ธ์ผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค)", - "cf_ok": "์ฃ„์†กํ•ฉ๋‹ˆ๋‹ค -- DD" + wah + "oS ๋ณดํ˜ธ ๊ธฐ๋Šฅ์ด ์ž‘๋™ํ–ˆ์Šต๋‹ˆ๋‹ค\n\n์•ฝ 30์ดˆ ํ›„์— ๋‹ค์‹œ ์ •์ƒ์ ์œผ๋กœ ์ž‘๋™ํ•  ๊ฒƒ์ž…๋‹ˆ๋‹ค\n\n์•„๋ฌด ์ผ๋„ ์ผ์–ด๋‚˜์ง€ ์•Š์œผ๋ฉด F5๋ฅผ ๋ˆŒ๋Ÿฌ ํŽ˜์ด์ง€๋ฅผ ์ƒˆ๋กœ๊ณ ์นจํ•˜์„ธ์š”", - "tl_xe1": "ํ•˜์œ„ ํด๋”๋ฅผ ๋‚˜์—ดํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค:\n\n์˜ค๋ฅ˜ ", - "tl_xe2": "404: ํด๋”๋ฅผ ์ฐพ์„ ์ˆ˜ ์—†์Œ", - "fl_xe1": "ํด๋”์˜ ํŒŒ์ผ์„ ๋‚˜์—ดํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค:\n\n์˜ค๋ฅ˜ ", - "fl_xe2": "404: ํด๋”๋ฅผ ์ฐพ์„ ์ˆ˜ ์—†์Œ", - "fd_xe1": "ํ•˜์œ„ ํด๋”๋ฅผ ๋งŒ๋“ค ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค:\n\n์˜ค๋ฅ˜ ", - "fd_xe2": "404: ์ƒ์œ„ ํด๋”๋ฅผ ์ฐพ์„ ์ˆ˜ ์—†์Œ", - "fsm_xe1": "๋ฉ”์‹œ์ง€๋ฅผ ๋ณด๋‚ผ ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค:\n\n์˜ค๋ฅ˜ ", - "fsm_xe2": "404: ์ƒ์œ„ ํด๋”๋ฅผ ์ฐพ์„ ์ˆ˜ ์—†์Œ", - "fu_xe1": "์„œ๋ฒ„์—์„œ ์ฃผ์›Œ๋‹ด๊ธฐ ๋ชฉ๋ก์„ ๋ถˆ๋Ÿฌ์˜ค์ง€ ๋ชปํ–ˆ์Šต๋‹ˆ๋‹ค:\n\n์˜ค๋ฅ˜ ", - "fu_xe2": "404: ํŒŒ์ผ์„ ์ฐพ์„ ์ˆ˜ ์—†์Œ??", - - "fz_tar": "์••์ถ•๋˜์ง€ ์•Š์€ gnu-tar ํŒŒ์ผ (linux / mac)", - "fz_pax": "์••์ถ•๋˜์ง€ ์•Š์€ pax ํ˜•์‹ tar (๋А๋ฆผ)", - "fz_targz": "gzip ๋ ˆ๋ฒจ 3 ์••์ถ•์ด ์ ์šฉ๋œ gnu-tar$N$N์ด๊ฒƒ์€ ๋ณดํ†ต ๋งค์šฐ ๋А๋ฆฌ๋ฏ€๋กœ$N์••์ถ•๋˜์ง€ ์•Š์€ tar๋ฅผ ๋Œ€์‹  ์‚ฌ์šฉํ•˜์„ธ์š”", - "fz_tarxz": "xz ๋ ˆ๋ฒจ 1 ์••์ถ•์ด ์ ์šฉ๋œ gnu-tar$N$N์ด๊ฒƒ์€ ๋ณดํ†ต ๋งค์šฐ ๋А๋ฆฌ๋ฏ€๋กœ$N์••์ถ•๋˜์ง€ ์•Š์€ tar๋ฅผ ๋Œ€์‹  ์‚ฌ์šฉํ•˜์„ธ์š”", - "fz_zip8": "utf8 ํŒŒ์ผ ์ด๋ฆ„์ด ํฌํ•จ๋œ zip (windows 7 ๋ฐ ์ด์ „ ๋ฒ„์ „์—์„œ ๋ฌธ์ œ๊ฐ€ ์žˆ์„ ์ˆ˜ ์žˆ์Œ)", - "fz_zipd": "์ •๋ง ์˜ค๋ž˜๋œ ์†Œํ”„ํŠธ์›จ์–ด๋ฅผ ์œ„ํ•œ ์ „ํ†ต์ ์ธ cp437 ํŒŒ์ผ ์ด๋ฆ„์ด ํฌํ•จ๋œ zip", - "fz_zipc": "MS-DOS PKZIP v2.04g (1993๋…„ 10์›”)์šฉ์œผ๋กœ$Ncrc32๊ฐ€ ๋ฏธ๋ฆฌ ๊ณ„์‚ฐ๋œ cp437$N(๋‹ค์šด๋กœ๋“œ ์‹œ์ž‘ ์ „ ์ฒ˜๋ฆฌ ์‹œ๊ฐ„์ด ๋” ๊ฑธ๋ฆผ)", - - "un_m1": "์•„๋ž˜์—์„œ ์ตœ๊ทผ ์—…๋กœ๋“œ๋ฅผ ์‚ญ์ œํ•˜๊ฑฐ๋‚˜ ๋ฏธ์™„๋ฃŒ๋œ ์—…๋กœ๋“œ๋ฅผ ์ค‘๋‹จํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค", - "un_upd": "์ƒˆ๋กœ๊ณ ์นจ", - "un_m4": "๋˜๋Š” ์•„๋ž˜์— ๋ณด์ด๋Š” ํŒŒ์ผ์„ ๊ณต์œ ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค:", - "un_ulist": "๋ณด๊ธฐ", - "un_ucopy": "๋ณต์‚ฌ", - "un_flt": "์„ ํƒ์  ํ•„ํ„ฐ:  URL์— ํฌํ•จ๋˜์–ด์•ผ ํ•จ", - "un_fclr": "ํ•„ํ„ฐ ์ง€์šฐ๊ธฐ", - "un_derr": '์ฃผ์›Œ๋‹ด๊ธฐ-์‚ญ์ œ ์‹คํŒจ:\n', - "un_f5": '๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ–ˆ์Šต๋‹ˆ๋‹ค, ์ƒˆ๋กœ๊ณ ์นจํ•˜๊ฑฐ๋‚˜ F5๋ฅผ ๋ˆŒ๋Ÿฌ๋ณด์„ธ์š”', - "un_uf5": "์ฃ„์†กํ•˜์ง€๋งŒ, ์ด ์—…๋กœ๋“œ๋ฅผ ์ค‘๋‹จํ•˜๊ธฐ ์ „์— ํŽ˜์ด์ง€๋ฅผ ์ƒˆ๋กœ๊ณ ์นจํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค (์˜ˆ: F5 ๋˜๋Š” CTRL-R ๋ˆ„๋ฅด๊ธฐ).", - "un_nou": '๊ฒฝ๊ณ : ์„œ๋ฒ„๊ฐ€ ๋„ˆ๋ฌด ๋ฐ”๋น ์„œ ๋ฏธ์™„๋ฃŒ ์—…๋กœ๋“œ๋ฅผ ํ‘œ์‹œํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค; ์ž ์‹œ ํ›„ "์ƒˆ๋กœ๊ณ ์นจ" ๋งํฌ๋ฅผ ํด๋ฆญํ•˜์„ธ์š”', - "un_noc": '๊ฒฝ๊ณ : ์™„์ „ํžˆ ์—…๋กœ๋“œ๋œ ํŒŒ์ผ์˜ ์ฃผ์›Œ๋‹ด๊ธฐ๊ฐ€ ์„œ๋ฒ„ ๊ตฌ์„ฑ์—์„œ ํ™œ์„ฑํ™”/ํ—ˆ์šฉ๋˜์ง€ ์•Š์•˜์Šต๋‹ˆ๋‹ค', - "un_max": "์ฒ˜์Œ 2000๊ฐœ ํŒŒ์ผ์„ ํ‘œ์‹œํ•ฉ๋‹ˆ๋‹ค (ํ•„ํ„ฐ๋ฅผ ์‚ฌ์šฉํ•˜์„ธ์š”)", - "un_avail": "{0}๊ฐœ์˜ ์ตœ๊ทผ ์—…๋กœ๋“œ๋ฅผ ์‚ญ์ œํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค
    {1}๊ฐœ์˜ ๋ฏธ์™„๋ฃŒ ์—…๋กœ๋“œ๋ฅผ ์ค‘๋‹จํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค", - "un_m2": "์—…๋กœ๋“œ ์‹œ๊ฐ„์ˆœ์œผ๋กœ ์ •๋ ฌ๋จ. ๊ฐ€์žฅ ์ตœ๊ทผ ํ•ญ๋ชฉ์ด ๋จผ์ € ํ‘œ์‹œ:", - "un_no1": "์•„์‰ฝ๋‹ค! ์ถฉ๋ถ„ํžˆ ์ตœ๊ทผ์ธ ์—…๋กœ๋“œ๊ฐ€ ์—†์Šต๋‹ˆ๋‹ค.", - "un_no2": "์•„์‰ฝ๋‹ค! ํ•ด๋‹น ํ•„ํ„ฐ์™€ ์ผ์น˜ํ•˜๋Š” ์ตœ๊ทผ ์—…๋กœ๋“œ๊ฐ€ ์—†์Šต๋‹ˆ๋‹ค.", - "un_next": "์•„๋ž˜์˜ ๋‹ค์Œ {0}๊ฐœ ํŒŒ์ผ ์‚ญ์ œ", - "un_abrt": "์ค‘๋‹จ", - "un_del": "์‚ญ์ œ", - "un_m3": "์ตœ๊ทผ ์—…๋กœ๋“œ ๋กœ๋“œ ์ค‘...", - "un_busy": "{0}๊ฐœ ํŒŒ์ผ ์‚ญ์ œ ์ค‘...", - "un_clip": "{0}๊ฐœ์˜ ๋งํฌ๊ฐ€ ํด๋ฆฝ๋ณด๋“œ์— ๋ณต์‚ฌ๋˜์—ˆ์Šต๋‹ˆ๋‹ค", - - "u_https1": "๋” ๋‚˜์€ ์„ฑ๋Šฅ์„ ์œ„ํ•ด", - "u_https2": "https๋กœ ์ „ํ™˜", - "u_https3": "ํ•˜๋Š” ๊ฒƒ์ด ์ข‹์Šต๋‹ˆ๋‹ค", - "u_ancient": '๋ธŒ๋ผ์šฐ์ €๊ฐ€ ์ •๋ง ์˜ค๋ž˜๋˜์—ˆ๋„ค์š” -- ์•„๋งˆ๋„ bup์„ ๋Œ€์‹  ์‚ฌ์šฉํ•ด์•ผ ํ•  ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค', - "u_nowork": "Firefox 53+, Chrome 57+ ๋˜๋Š” iOS 11+๊ฐ€ ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค", - "tail_2old": "Firefox 105+, Chrome 71+ ๋˜๋Š” iOS 14.5+๊ฐ€ ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค", - "u_nodrop": '๋ธŒ๋ผ์šฐ์ €๊ฐ€ ๋„ˆ๋ฌด ์˜ค๋ž˜๋˜์–ด ๋“œ๋ž˜๊ทธ ์•ค ๋“œ๋กญ ์—…๋กœ๋“œ๋ฅผ ์ง€์›ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค', - "u_notdir": 'ํด๋”๊ฐ€ ์•„๋‹™๋‹ˆ๋‹ค!\n\n๋ธŒ๋ผ์šฐ์ €๊ฐ€ ๋„ˆ๋ฌด ์˜ค๋ž˜๋˜์—ˆ์Šต๋‹ˆ๋‹ค,\n๋Œ€์‹  ๋“œ๋ž˜๊ทธ๋“œ๋กญ์„ ์‹œ๋„ํ•ด๋ณด์„ธ์š”', - "u_uri": '๋‹ค๋ฅธ ๋ธŒ๋ผ์šฐ์ € ์ฐฝ์—์„œ ์ด๋ฏธ์ง€๋ฅผ ๋“œ๋ž˜๊ทธ๋“œ๋กญํ•˜๋ ค๋ฉด,\nํฐ ์—…๋กœ๋“œ ๋ฒ„ํŠผ ์œ„๋กœ ๋–จ์–ด๋œจ๋ ค์ฃผ์„ธ์š”', - "u_enpot": '๋‹จ์ˆœ UI๋กœ ์ „ํ™˜ (์—…๋กœ๋“œ ์†๋„๊ฐ€ ํ–ฅ์ƒ๋  ์ˆ˜ ์žˆ์Œ)', - "u_depot": 'ํ™”๋ คํ•œ UI๋กœ ์ „ํ™˜ (์—…๋กœ๋“œ ์†๋„๊ฐ€ ๊ฐ์†Œํ•  ์ˆ˜ ์žˆ์Œ)', - "u_gotpot": '์—…๋กœ๋“œ ์†๋„ ํ–ฅ์ƒ์„ ์œ„ํ•ด ๋‹จ์ˆœ UI๋กœ ์ „ํ™˜ํ•ฉ๋‹ˆ๋‹ค,\n\n์–ธ์ œ๋“ ์ง€ ๋‹ค์‹œ ์ „ํ™˜ํ•˜์…”๋„ ์ข‹์Šต๋‹ˆ๋‹ค!', - "u_pott": "

    ํŒŒ์ผ:   {0} ์™„๋ฃŒ,   {1} ์‹คํŒจ,   {2} ์ฒ˜๋ฆฌ ์ค‘,   {3} ๋Œ€๊ธฐ ์ค‘

    ", - "u_ever": "์ด๊ฒƒ์€ ๊ธฐ๋ณธ ์—…๋กœ๋”์ž…๋‹ˆ๋‹ค. up2k๋Š” ์ตœ์†Œํ•œ ๋‹ค์Œ ๋ฒ„์ „์ด ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค:
    Chrome 21 // Firefox 13 // Edge 12 // Opera 12 // Safari 5.1", - "u_su2k": '์ด๊ฒƒ์€ ๊ธฐ๋ณธ ์—…๋กœ๋”์ž…๋‹ˆ๋‹ค. up2k๊ฐ€ ๋” ์ข‹์Šต๋‹ˆ๋‹ค', - "u_uput": '์†๋„ ์ตœ์ ํ™” (์ฒดํฌ์„ฌ ๊ฑด๋„ˆ๋›ฐ๊ธฐ)', - "u_ewrite": '์ด ํด๋”์— ์“ฐ๊ธฐ ๊ถŒํ•œ์ด ์—†์Šต๋‹ˆ๋‹ค', - "u_eread": '์ด ํด๋”์— ์ฝ๊ธฐ ๊ถŒํ•œ์ด ์—†์Šต๋‹ˆ๋‹ค', - "u_enoi": 'ํŒŒ์ผ ๊ฒ€์ƒ‰์ด ์„œ๋ฒ„ ๊ตฌ์„ฑ์—์„œ ํ™œ์„ฑํ™”๋˜์ง€ ์•Š์•˜์Šต๋‹ˆ๋‹ค', - "u_enoow": '์—ฌ๊ธฐ์„œ๋Š” ๋ฎ์–ด์“ฐ๊ธฐ๊ฐ€ ์ž‘๋™ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ์‚ญ์ œ ๊ถŒํ•œ์ด ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค', - "u_badf": '์ด {1}๊ฐœ ์ค‘ ๋‹ค์Œ {0}๊ฐœ์˜ ํŒŒ์ผ์€ ํŒŒ์ผ ์‹œ์Šคํ…œ ๊ถŒํ•œ ๋ฌธ์ œ ๋“ฑ์œผ๋กœ ๊ฑด๋„ˆ๋›ฐ์—ˆ์Šต๋‹ˆ๋‹ค:\n\n', - "u_blankf": '์ด {1}๊ฐœ ์ค‘ ๋‹ค์Œ {0}๊ฐœ์˜ ํŒŒ์ผ์€ ๋น„์–ด์žˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋ž˜๋„ ์—…๋กœ๋“œํ•˜์‹œ๊ฒ ์Šต๋‹ˆ๊นŒ?\n\n', - "u_applef": '์ด {1}๊ฐœ ์ค‘ ๋‹ค์Œ {0}๊ฐœ์˜ ํŒŒ์ผ์€ ์•„๋งˆ๋„ ๋ถˆํ•„์š”ํ•œ ํŒŒ์ผ์ผ ๊ฒƒ์ž…๋‹ˆ๋‹ค.\n๋‹ค์Œ ํŒŒ์ผ์„ ๊ฑด๋„ˆ๋›ฐ๋ ค๋ฉด ํ™•์ธ/Enter๋ฅผ ๋ˆ„๋ฅด์„ธ์š”,\nํ•ด๋‹น ํŒŒ์ผ๋„ ์—…๋กœ๋“œํ•˜๋ ค๋ฉด ์ทจ์†Œ/ESC๋ฅผ ๋ˆ„๋ฅด์„ธ์š”:\n\n', - "u_just1": '\nํŒŒ์ผ์„ ํ•˜๋‚˜๋งŒ ์„ ํƒํ•˜๋ฉด ๋” ์ž˜ ์ž‘๋™ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค', - "u_ff_many": '๋ฆฌ๋ˆ…์Šค/macOS/์•ˆ๋“œ๋กœ์ด๋“œ๋ฅผ ์‚ฌ์šฉ ์ค‘์ด๋ผ๋ฉด, ์ด ์ •๋„์˜ ํŒŒ์ผ ์ˆ˜๋Š” Firefox๋ฅผ ์ถฉ๋Œ์‹œํ‚ฌ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค!\n๋งŒ์•ฝ ๊ทธ๋Ÿฐ ์ผ์ด ๋ฐœ์ƒํ•˜๋ฉด ๋‹ค์‹œ ์‹œ๋„ํ•˜๊ฑฐ๋‚˜ Chrome์„ ์‚ฌ์šฉํ•ด์ฃผ์„ธ์š”.', - "u_up_life": '์ด ์—…๋กœ๋“œ๋Š” ์™„๋ฃŒ ํ›„ {0} ๋’ค์—\n์„œ๋ฒ„์—์„œ ์‚ญ์ œ๋ฉ๋‹ˆ๋‹ค', - "u_asku": '์ด {0}๊ฐœ์˜ ํŒŒ์ผ์„ {1}(์œผ)๋กœ ์—…๋กœ๋“œํ•˜์‹œ๊ฒ ์Šต๋‹ˆ๊นŒ?', - "u_unpt": '์™ผ์ชฝ ์ƒ๋‹จ์˜ ๐Ÿงฏ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ด ์—…๋กœ๋“œ๋ฅผ ์ทจ์†Œ/์‚ญ์ œํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค', - "u_bigtab": '{0}๊ฐœ์˜ ํŒŒ์ผ์„ ํ‘œ์‹œํ•˜๋ ค๊ณ  ํ•ฉ๋‹ˆ๋‹ค\n\n๋ธŒ๋ผ์šฐ์ €๊ฐ€ ์ถฉ๋Œํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค, ๊ณ„์† ์ง„ํ–‰ํ•ฉ๋‹ˆ๊นŒ?', - "u_scan": 'ํŒŒ์ผ ์Šค์บ” ์ค‘...', - "u_dirstuck": '๋””๋ ‰ํ„ฐ๋ฆฌ ๋ฐ˜๋ณต์ž๊ฐ€ ๋‹ค์Œ {0}๊ฐœ ํ•ญ๋ชฉ์— ์ ‘๊ทผํ•˜๋Š” ๋ฐ ์‹คํŒจํ•˜์—ฌ ๊ฑด๋„ˆ๋œ๋‹ˆ๋‹ค:', - "u_etadone": '์™„๋ฃŒ ({0}, {1}๊ฐœ ํŒŒ์ผ)', - "u_etaprep": '(์—…๋กœ๋“œ ์ค€๋น„ ์ค‘)', - "u_hashdone": 'ํ•ด์‹ฑ ์™„๋ฃŒ', - "u_hashing": 'ํ•ด์‹œ', - "u_hs": 'ํ•ธ๋“œ์…ฐ์ดํ‚น ์ค‘...', - "u_started": 'ํŒŒ์ผ์ด ํ˜„์žฌ ์—…๋กœ๋“œ ์ค‘์ž…๋‹ˆ๋‹ค. [๐Ÿš€] ์ฐธ์กฐ', - "u_dupdefer": '์ค‘๋ณต๋จ. ๋‹ค๋ฅธ ๋ชจ๋“  ํŒŒ์ผ ์ฒ˜๋ฆฌ ํ›„ ์ฒ˜๋ฆฌ๋ฉ๋‹ˆ๋‹ค', - "u_actx": "๋‹ค๋ฅธ ์ฐฝ/ํƒญ์œผ๋กœ ์ „ํ™˜ ์‹œ ์„ฑ๋Šฅ ์ €ํ•˜๋ฅผ
    ๋ฐฉ์ง€ํ•˜๋ ค๋ฉด ์ด ํ…์ŠคํŠธ๋ฅผ ํด๋ฆญํ•˜์„ธ์š”", - "u_fixed": "OK!  ํ•ด๊ฒฐ๋์Šต๋‹ˆ๋‹ค ๐Ÿ‘", - "u_cuerr": "{1} ์ค‘ ์ฒญํฌ {0} ์—…๋กœ๋“œ ์‹คํŒจ;\n์•„๋งˆ ๋ฌธ์ œ ์—†์„ ๊ฒ๋‹ˆ๋‹ค. ๊ณ„์† ์ง„ํ–‰ํ•ฉ๋‹ˆ๋‹ค\n\nํŒŒ์ผ: {2}", - "u_cuerr2": "์„œ๋ฒ„๊ฐ€ ์—…๋กœ๋“œ๋ฅผ ๊ฑฐ๋ถ€ํ–ˆ์Šต๋‹ˆ๋‹ค (์ฒญํฌ {0}/{1});\n๋‚˜์ค‘์— ๋‹ค์‹œ ์‹œ๋„ํ•ฉ๋‹ˆ๋‹ค\n\nํŒŒ์ผ: {2}\n\n์˜ค๋ฅ˜ ", - "u_ehstmp": "๋‹ค์‹œ ์‹œ๋„ํ•ฉ๋‹ˆ๋‹ค; ์˜ค๋ฅธ์ชฝ ํ•˜๋‹จ ์ฐธ์กฐ", - "u_ehsfin": "์„œ๋ฒ„๊ฐ€ ์—…๋กœ๋“œ ์™„๋ฃŒ ์š”์ฒญ์„ ๊ฑฐ๋ถ€ํ–ˆ์Šต๋‹ˆ๋‹ค. ์žฌ์‹œ๋„ ์ค‘...", - "u_ehssrch": "์„œ๋ฒ„๊ฐ€ ๊ฒ€์ƒ‰ ์ˆ˜ํ–‰ ์š”์ฒญ์„ ๊ฑฐ๋ถ€ํ–ˆ์Šต๋‹ˆ๋‹ค. ์žฌ์‹œ๋„ ์ค‘...", - "u_ehsinit": "์„œ๋ฒ„๊ฐ€ ์—…๋กœ๋“œ ์‹œ์ž‘ ์š”์ฒญ์„ ๊ฑฐ๋ถ€ํ–ˆ์Šต๋‹ˆ๋‹ค. ์žฌ์‹œ๋„ ์ค‘...", - "u_eneths": "์—…๋กœ๋“œ ํ•ธ๋“œ์…ฐ์ดํฌ ์ค‘ ๋„คํŠธ์›Œํฌ ์˜ค๋ฅ˜ ๋ฐœ์ƒ. ์žฌ์‹œ๋„ ์ค‘...", - "u_enethd": "๋Œ€์ƒ ์กด์žฌ ์—ฌ๋ถ€ ํ…Œ์ŠคํŠธ ์ค‘ ๋„คํŠธ์›Œํฌ ์˜ค๋ฅ˜ ๋ฐœ์ƒ; ์žฌ์‹œ๋„ ์ค‘...", - "u_cbusy": '๋„คํŠธ์›Œํฌ ๋ฌธ์ œ ํ›„ ์„œ๋ฒ„๊ฐ€ ๋‹ค์‹œ ์šฐ๋ฆฌ๋ฅผ ์‹ ๋ขฐํ•  ๋•Œ๊นŒ์ง€ ๊ธฐ๋‹ค๋ฆฌ๋Š” ์ค‘...', - "u_ehsdf": '์„œ๋ฒ„ ๋””์Šคํฌ ๊ณต๊ฐ„์ด ๋ถ€์กฑํ•ฉ๋‹ˆ๋‹ค!\n\n๋ˆ„๊ตฐ๊ฐ€ ๊ณ„์†ํ•  ์ˆ˜ ์žˆ์„ ๋งŒํผ์˜ ๊ณต๊ฐ„์„\n๋น„์›Œ์ค„ ๊ฒฝ์šฐ๋ฅผ ๋Œ€๋น„ํ•ด ๊ณ„์† ์žฌ์‹œ๋„ํ•ฉ๋‹ˆ๋‹ค', - "u_emtleak1": "์›น ๋ธŒ๋ผ์šฐ์ €์— ๋ฉ”๋ชจ๋ฆฌ ๋ˆ„์ˆ˜๊ฐ€ ์žˆ๋Š” ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค.\n", - "u_emtleak2": ' https๋กœ ์ „ํ™˜ (๊ถŒ์žฅ)ํ•˜๊ฑฐ๋‚˜ ', - "u_emtleak3": ' ', - "u_emtleakc": '๋‹ค์Œ์„ ์‹œ๋„ํ•ด๋ณด์„ธ์š”:\n
    • F5๋ฅผ ๋ˆŒ๋Ÿฌ ํŽ˜์ด์ง€๋ฅผ ์ƒˆ๋กœ๊ณ ์นจํ•˜์„ธ์š”
    • ๊ทธ๋Ÿฐ ๋‹ค์Œ โš™๏ธ ์„ค์ •์—์„œ  mt  ๋ฒ„ํŠผ์„ ๋น„ํ™œ์„ฑํ™”ํ•˜์„ธ์š”
    • ๊ทธ๋ฆฌ๊ณ  ๋‹ค์‹œ ๊ทธ ์—…๋กœ๋“œ๋ฅผ ์‹œ๋„ํ•ด๋ณด์„ธ์š”
    ์—…๋กœ๋“œ๊ฐ€ ์กฐ๊ธˆ ๋А๋ ค์ง€๊ฒ ์ง€๋งŒ, ์–ด์ฉ” ์ˆ˜ ์—†์ฃ .\n๋ถˆํŽธ์„ ๋“œ๋ ค ์ฃ„์†กํ•ฉ๋‹ˆ๋‹ค!\n\nPS: ์ด ๋ฒ„๊ทธ๋Š” Chrome v107์—์„œ ์ˆ˜์ •๋˜์—ˆ์Šต๋‹ˆ๋‹ค.', - "u_emtleakf": '๋‹ค์Œ์„ ์‹œ๋„ํ•ด๋ณด์„ธ์š”:\n
    • F5๋ฅผ ๋ˆŒ๋Ÿฌ ํŽ˜์ด์ง€๋ฅผ ์ƒˆ๋กœ๊ณ ์นจํ•˜์„ธ์š”
    • ๊ทธ๋Ÿฐ ๋‹ค์Œ ์—…๋กœ๋“œ UI์—์„œ ๐Ÿฅ”(๋‹จ์ˆœ UI)๋ฅผ ํ™œ์„ฑํ™”ํ•˜์„ธ์š”
    • ๊ทธ๋ฆฌ๊ณ  ๋‹ค์‹œ ๊ทธ ์—…๋กœ๋“œ๋ฅผ ์‹œ๋„ํ•ด๋ณด์„ธ์š”
    \nPS: Firefox์—์„œ ์–ธ์  ๊ฐ€ ์ด ๋ฒ„๊ทธ๊ฐ€ ์ˆ˜์ •๋  ๊ฑฐ๋ผ ๋ฏฟ์Šต๋‹ˆ๋‹ค.', - "u_s404": '์„œ๋ฒ„์—์„œ ์ฐพ์„ ์ˆ˜ ์—†์Œ', - "u_expl": '์„ค๋ช…', - "u_maxconn": "๋Œ€๋ถ€๋ถ„์˜ ๋ธŒ๋ผ์šฐ์ €๋Š” ์ด๋ฅผ 6์œผ๋กœ ์ œํ•œํ•˜์ง€๋งŒ, Firefox์—์„œ๋Š” about:config์—์„œ connections-per-server ์„ค์ •๊ฐ’์œผ๋กœ ๋†’์ผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.", - "u_tu": '

    ๊ฒฝ๊ณ : ํ„ฐ๋ณด๊ฐ€ ํ™œ์„ฑํ™”๋˜์–ด ํด๋ผ์ด์–ธํŠธ๊ฐ€ ๋ถˆ์™„์ „ํ•œ ์—…๋กœ๋“œ๋ฅผ ๊ฐ์ง€ํ•˜๊ณ  ์žฌ๊ฐœํ•˜์ง€ ๋ชปํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ํ„ฐ๋ณด ๋ฒ„ํŠผ์˜ ํˆดํŒ์„ ์ฐธ์กฐํ•˜์„ธ์š”

    ', - "u_ts": '

    ๊ฒฝ๊ณ : ํ„ฐ๋ณด๊ฐ€ ํ™œ์„ฑํ™”๋˜์–ด ๊ฒ€์ƒ‰ ๊ฒฐ๊ณผ๊ฐ€ ๋ถ€์ •ํ™•ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ํ„ฐ๋ณด ๋ฒ„ํŠผ์˜ ํˆดํŒ์„ ์ฐธ์กฐํ•˜์„ธ์š”

    ', - "u_turbo_c": "ํ„ฐ๋ณด๊ฐ€ ์„œ๋ฒ„ ๊ตฌ์„ฑ์—์„œ ๋น„ํ™œ์„ฑํ™”๋˜์—ˆ์Šต๋‹ˆ๋‹ค", - "u_turbo_g": '์ด ๋ณผ๋ฅจ ๋‚ด์—์„œ ๋””๋ ‰ํ„ฐ๋ฆฌ ๋ชฉ๋ก ๊ถŒํ•œ์ด ์—†์œผ๋ฏ€๋กœ\nํ„ฐ๋ณด๋ฅผ ๋น„ํ™œ์„ฑํ™”ํ•ฉ๋‹ˆ๋‹ค', - "u_life_cfg": '์ž๋™ ์‚ญ์ œ ์‹œ๊ฐ„ ๋ถ„ (๋˜๋Š” ์‹œ๊ฐ„)', - "u_life_est": '์—…๋กœ๋“œ๊ฐ€ ---์— ์‚ญ์ œ๋ฉ๋‹ˆ๋‹ค', - "u_life_max": '์ด ํด๋”๋Š” ์ตœ๋Œ€ ์ˆ˜๋ช…์„\n{0}(์œผ)๋กœ ๊ฐ•์ œํ•ฉ๋‹ˆ๋‹ค', - "u_unp_ok": '์ฃผ์›Œ๋‹ด๊ธฐ๋Š” {0} ๋™์•ˆ ํ—ˆ์šฉ๋ฉ๋‹ˆ๋‹ค', - "u_unp_ng": '์ฃผ์›Œ๋‹ด๊ธฐ๋Š” ํ—ˆ์šฉ๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค', - "ue_ro": '์ด ํด๋”์— ๋Œ€ํ•œ ์ ‘๊ทผ์€ ์ฝ๊ธฐ ์ „์šฉ์ž…๋‹ˆ๋‹ค\n\n', - "ue_nl": 'ํ˜„์žฌ ๋กœ๊ทธ์ธ๋˜์–ด ์žˆ์ง€ ์•Š์Šต๋‹ˆ๋‹ค', - "ue_la": 'ํ˜„์žฌ \'{0}\'(์œผ)๋กœ ๋กœ๊ทธ์ธ๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค', - "ue_sr": 'ํ˜„์žฌ ํŒŒ์ผ ๊ฒ€์ƒ‰ ๋ชจ๋“œ์ž…๋‹ˆ๋‹ค\n\nํฐ "๊ฒ€์ƒ‰" ๋ฒ„ํŠผ ์˜†์˜ ๋‹๋ณด๊ธฐ ๐Ÿ”Ž๋ฅผ ํด๋ฆญํ•˜์—ฌ ์—…๋กœ๋“œ ๋ชจ๋“œ๋กœ ์ „ํ™˜ํ•œ ํ›„ ๋‹ค์‹œ ์—…๋กœ๋“œํ•ด๋ณด์„ธ์š”\n\n์ฃ„์†กํ•ฉ๋‹ˆ๋‹ค', - "ue_ta": '๋‹ค์‹œ ์—…๋กœ๋“œํ•ด๋ณด์„ธ์š”, ์ด์ œ ์ž‘๋™ํ•  ๊ฒ๋‹ˆ๋‹ค', - "ue_ab": '์ด ํŒŒ์ผ์€ ์ด๋ฏธ ๋‹ค๋ฅธ ํด๋”๋กœ ์—…๋กœ๋“œ ์ค‘์ด๋ฉฐ, ํŒŒ์ผ์ด ๋‹ค๋ฅธ ๊ณณ์— ์—…๋กœ๋“œ๋˜๊ธฐ ์ „์— ํ•ด๋‹น ์—…๋กœ๋“œ๊ฐ€ ์™„๋ฃŒ๋˜์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.\n\n์™ผ์ชฝ ์ƒ๋‹จ์˜ ๐Ÿงฏ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ดˆ๊ธฐ ์—…๋กœ๋“œ๋ฅผ ์ค‘๋‹จํ•˜๊ณ  ์žŠ์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.', - "ur_1uo": "OK: ํŒŒ์ผ์ด ์„ฑ๊ณต์ ์œผ๋กœ ์—…๋กœ๋“œ๋˜์—ˆ์Šต๋‹ˆ๋‹ค", - "ur_auo": "OK: ๋ชจ๋“  {0}๊ฐœ์˜ ํŒŒ์ผ์ด ์„ฑ๊ณต์ ์œผ๋กœ ์—…๋กœ๋“œ๋˜์—ˆ์Šต๋‹ˆ๋‹ค", - "ur_1so": "OK: ์„œ๋ฒ„์—์„œ ํŒŒ์ผ์„ ์ฐพ์•˜์Šต๋‹ˆ๋‹ค", - "ur_aso": "OK: ์„œ๋ฒ„์—์„œ ๋ชจ๋“  {0}๊ฐœ์˜ ํŒŒ์ผ์„ ์ฐพ์•˜์Šต๋‹ˆ๋‹ค", - "ur_1un": "์—…๋กœ๋“œ์— ์‹คํŒจํ–ˆ์Šต๋‹ˆ๋‹ค, ์ฃ„์†ก", - "ur_aun": "๋ชจ๋“  {0}๊ฐœ์˜ ์—…๋กœ๋“œ์— ์‹คํŒจํ–ˆ์Šต๋‹ˆ๋‹ค, ์ฃ„์†ก", - "ur_1sn": "์„œ๋ฒ„์—์„œ ํŒŒ์ผ์„ ์ฐพ์ง€ ๋ชปํ–ˆ์Šต๋‹ˆ๋‹ค", - "ur_asn": "์„œ๋ฒ„์—์„œ {0}๊ฐœ์˜ ํŒŒ์ผ์„ ์ฐพ์ง€ ๋ชปํ–ˆ์Šต๋‹ˆ๋‹ค", - "ur_um": "์™„๋ฃŒ;\n{0}๊ฐœ ์—…๋กœ๋“œ ์„ฑ๊ณต,\n{1}๊ฐœ ์—…๋กœ๋“œ ์‹คํŒจ, ์ฃ„์†ก", - "ur_sm": "์™„๋ฃŒ;\n์„œ๋ฒ„์—์„œ {0}๊ฐœ ํŒŒ์ผ ์ฐพ์Œ,\n์„œ๋ฒ„์—์„œ {1}๊ฐœ ํŒŒ์ผ ์ฐพ์ง€ ๋ชปํ•จ", - - "lang_set": '๋ณ€๊ฒฝ ์‚ฌํ•ญ์„ ์ ์šฉํ•˜๊ธฐ ์œ„ํ•ด ์ƒˆ๋กœ๊ณ ์นจํ•˜์‹œ๊ฒ ์Šต๋‹ˆ๊นŒ?' - }, - "nld": { - "tt": "Nederlands", - - "cols": { - "c": "Action knoppen", - "dur": "Duratie", - "q": "Kwaliteit / bitrate", - "Ac": "Audio codec", - "Vc": "Video codec", - "Fmt": "Formaat / container", - "Ahash": "Audio checksum", - "Vhash": "Video checksum", - "Res": "Resolution", - "T": "Bestandstype", - "aq": "Audio kwaliteit / bitrate", - "vq": "Video kwaliteit / bitrate", - "pixfmt": "Subsampling / pixel structure", - "resw": "Horizontale resolutie", - "resh": "Verticale resolutie", - "chs": "Audiokanalen", - "hz": "Samplefrequentie" - }, - - "hks": [ - [ - "diversen", - ["ESC", "Sluit verschillende dingen"], - - "bestand beheer", - ["G", "Verwissel tussen list / grid weergave"], - ["T", "Verwissel tussen miniaturen / iconen"], - ["โ‡ง A/D", "Thumbnail formaat"], - ["ctrl-K", "Verwijder geselecteerde"], - ["ctrl-X", "Knip selectie naar klembord"], - ["ctrl-C", "Kopieer selectie naar klembord"], - ["ctrl-V", "Hier plakken (verplaatsen/kopieรซren)"], - ["Y", "Download geselecteerde"], - ["F2", "Hernoem geselecteerde"], - - "bestand-lijst-selectie", - ["space", "wissel bestand selectie"], - ["โ†‘/โ†“", "verplaats selectie cursor"], - ["ctrl โ†‘/โ†“", "verplaats cursor en scherm"], - ["โ‡ง โ†‘/โ†“", "select vorige/volgende bestand"], - ["ctrl-A", "selecteer alle bestanden / mappen"], - ], [ - "navigatie", - ["B", "verwissel breadcrumbs / navpane"], - ["I/K", "Vorige/volgende map"], - ["M", "Bovenliggende map (of huidige uitvouwen)"], - ["V", "Berwissel map / tekstbestand in navpane"], - ["A/D", "Navpane formaat"], - ], [ - "muziek-speler", - ["J/L", "Vorige/volgende song"], - ["U/O", "Skip 10sec terug/vooruit"], - ["0..9", "Spring naar 0%..90%"], - ["P", "Speel/pauzeer (start ook)"], - ["S", "Selecteer afspelende song"], - ["Y", "Download song"], - ], [ - "afbeelding viewer", - ["J/L, โ†/โ†’", "Vorige/volgende afbeelding"], - ["Home/End", "Eerste/laatste afbeelding"], - ["F", "Volledig scherm"], - ["R", "Draai rechtsom"], - ["โ‡ง R", "Draai linksom"], - ["S", "Selecteer afbeelding"], - ["Y", "Download afbeelding"], - ], [ - "video-speler", - ["U/O", "Skip 10sec terug/vooruit"], - ["P/K/Space", "Speel/pauze"], - ["C", "Verder met volgende"], - ["V", "herhaal"], - ["M", "stil"], - ["[ and ]", "zet herhaal interval"], - ], [ - "tekstbestand-viewer", - ["I/K", "vorige/volgende bestand"], - ["M", "sluit tekst bestand"], - ["E", "bewerk tekst bestand"], - ["S", "selecteer bestand (voor knip/kopie/hernoem)"], - ] - ], - - "m_ok": "OK", - "m_ng": "Annuleren", - - "enable": "Inschakelen", - "danger": "GEVAARLIJK", - "clipped": "Gekopieรซrd naar klembord", - - "ht_s1": "seconde", - "ht_s2": "secondes", - "ht_m1": "minuut", - "ht_m2": "minuten", - "ht_h1": "uur", - "ht_h2": "uur", - "ht_d1": "dag", - "ht_d2": "dagen", - "ht_and": " en ", - - "goh": "Beheer-paneel", - "gop": 'Vorige map">Vorige', - "gou": 'Bovenligende map">Omhoog', - "gon": 'Volgende map">Volgende', - "logout": "Uitloggen ", - "login": "Inloggen", //m - "access": " Toegang", - "ot_close": "Sluit onder-menu", - "ot_search": "Zoek voor bestanden bij attributes, pad / naam, muziek tags, of elk andere combinatie tussen$N$N<code>foo bar</code> = moet beide ยซfooยป en ยซbarยป bevatten,$N<code>foo -bar</code> = moet ยซfooยป bevatten maar geen ยซbarยป,$N<code>^yana .opus$</code> = start met ยซyanaยป en moet een ยซopusยป bestand zijn$N<code>"try unite"</code> = moet precies ยซtry uniteยป bevatten$N$Nde datum formaat is iso-8601, zoals$N<code>2009-12-31</code> of <code>2020-09-12 23:30:00</code>", - "ot_unpost": "unpost: verwijder je recente uploads, of onvoltooide uploads afbreken", - "ot_bup": "bup: Basisuploader, supports zelfs netscape 4.0", - "ot_mkdir": "mkdir: Maak een nieuwe map", - "ot_md": "new-md: Maak een nieuwe markdown bestand", - "ot_msg": "msg: Verstuur een bericht naar de server logs", - "ot_mp": "Media speler opties", - "ot_cfg": "Configuratie opties", - "ot_u2i": 'up2k: upload bestanden (als je schrijf toegang hebt) of verwissel naar zoek-mode om te zien of ze ergens bestaan op de server$N$Nuploads zijn hervatbaar, multithreaded, en bestandstijdstempels blijven behouden, maar het gebruikt meer CPU dan [๐ŸŽˆ]  (de basic uploader)

    tijdens het uploaden, dit icoon word dan een progress indicatie!', - "ot_u2w": 'up2k: upload bestanden met hervattings ondersteuning (sluit je webbrowser en selecteer dezelfde bestand later opnieuw)$N$Nmultithreaded, en bestandstijdstempels blijven behouden, maar het gebruikt meer CPU dan [๐ŸŽˆ]  (de basic uploader)

    tijdens het uploaden, dit icoon word dan een progress indicatie!', - "ot_noie": 'Gebruik alstublieft Chrome / Firefox / Edge', - - "ab_mkdir": "maak map", - "ab_mkdoc": "nieuw markdown doc", - "ab_msg": "verstuur msg naar srv log", - - "ay_path": "skip naar mappen", - "ay_files": "skip naar bestanden", - - "wt_ren": "Hernoem geselecteerde items$NHotkey: F2", - "wt_del": "Berwijder geselecteerde items$NHotkey: ctrl-K", - "wt_cut": "Knip geselecteerde items <small>(en plak het ergens anders)</small>$NHotkey: ctrl-X", - "wt_cpy": "Kopieer geselecteerde items naar klembord$N(om te plakken ergens anders)$NHotkey: ctrl-C", - "wt_pst": "Plak eeen laatst geknipte / gekopieรซrde selectie$NHotkey: ctrl-V", - "wt_selall": "Selecteer alle bestanden$NHotkey: ctrl-A (wanneer bestand gefocused is)", - "wt_selinv": "Selectie omkeren", - "wt_zip1": "Download deze map als archief", - "wt_selzip": "Download selectie als archief", - "wt_seldl": "Download selectie als losse bestanden$NHotkey: Y", - "wt_npirc": "Kopieer irc-geformarteerde track info", - "wt_nptxt": "Kopieer platte tekst track info", - "wt_m3ua": "Aan m3u afspeellijst toevoegen (klik ๐Ÿ“ปkopieer later)", - "wt_m3uc": "Kopieer m3u playlist naar klembord", - "wt_grid": "Verwissel grid / lijst weergave$NHotkey: G", - "wt_prev": "Vorig nummer$NHotkey: J", - "wt_play": "Afspelen / pauzeer$NHotkey: P", - "wt_next": "Volgend nummer$NHotkey: L", - - "ul_par": "Parallel uploads:", - "ut_rand": "Willekeurige bestandsnaam", - "ut_u2ts": "Kopieer de laatste-gewijzigde tijdstamp$Nvan je bestandsysteem naar de server\">๐Ÿ“…", - "ut_ow": "Overschrijf bestaande bestanden op de server?$N๐Ÿ›ก๏ธ: nooit (zal in plaats daarvan een nieuwe bestandsnaam genereren)$N๐Ÿ•’: overschrijven als de server-bestand ouder is dan het geรผploade bestand$Nโ™ป๏ธ: altijd overschrijven als de bestanden verschillend zijn", - "ut_mt": "Ga door met hashen van andere bestanden tijdens het uploaden$N$Moet je misschien uitschakelen als je CPU of HDD het niet aan kan", - "ut_ask": 'Vraag voor bevestiging voordat het uploaden start">๐Ÿ’ญ', - "ut_pot": "Verbeter de uploadsnelheid voor langzame apparaten$Ndoor de interface minder complex te maken", - "ut_srch": "Niet uploaden, maar check of de bestanden als op de server bestaan$N (checkt alle mappen die waar jij toegang op hebt)", - "ut_par": "Pauzeer bij zetten het op 0$N$Nverhoog als je verbinding traag is$N$Nhou het op 1 als je netwerk of server HDD het niet aankan", - "ul_btn": "Drop bestanden / mappen
    hier (of klik mij)", - "ul_btnu": "U P L O A D", - "ul_btns": "Z O E K E N", - - "ul_hash": "Hashing", - "ul_send": "Versturen", - "ul_done": "Klaar", - "ul_idle1": "Geen uploads in wachtrij", - "ut_etah": "Gemiddelde <em>hashing</em> snelheid en geschatte tijd tot de voltooiing", - "ut_etau": "Gemiddelde <em>verzend</em> snelheid en geschatte tijd tot voltooiing", - "ut_etat": "Gemiddelde <em>totale</em> snelheid en geschatte tijd tot voltooiing", - - "uct_ok": "Succesvol afgerond", - "uct_ng": "Niet goed: gefaald / geweigerd / niet gevonden", - "uct_done": "ok en ng gecombineerd", - "uct_bz": "Hashing van uploads", - "uct_q": "Inactief, in afwachting", - - "utl_name": "Bestandsnaam", - "utl_ulist": "Lijst", - "utl_ucopy": "Kopieer", - "utl_links": "Links", - "utl_stat": "Status", - "utl_prog": "Vooruitgang", - - // keep short: - "utl_404": "404", - "utl_err": "FOUT", - "utl_oserr": "OS-FOUT", - "utl_found": "gevonden", - "utl_defer": "Uitgesteld", - "utl_yolo": "YOLO", - "utl_done": "klaar", - - "ul_flagblk": "De bestanden zijn toegevoegd aan de wachtrij
    maar er is een drukke up2k bezig in een andere tabblad,
    wachten totdat die eerst klaar is", - "ul_btnlk": "De server configuratie heeft deze schakelaar versleuteld in deze staat", - - "udt_up": "Upload", - "udt_srch": "Zoeken", - "udt_drop": "Laat hier los", - - "u_nav_m": '
    Hey, wat heb jij daar?
    Enter = Bestanden (een of meer)\nESC = Een map (inclusief submappen)', - "u_nav_b": 'BestandenEen map', - - "cl_opts": "Switches", - "cl_themes": "Thema", - "cl_langs": "Taal", - "cl_ziptype": "Download map als", - "cl_uopts": "up2k switches", - "cl_favico": "Favicon", - "cl_bigdir": "Item limiet in map", - "cl_hsort": "#sorteer", - "cl_keytype": "Key notaties", - "cl_hiddenc": "Verborgen kolomen", - "cl_hidec": "Verborgen", - "cl_reset": "Reset", - "cl_hpick": "Tik op de kolomkoppen om ze in de onderstaande tabel te verbergen", - "cl_hcancel": "Kolumn verbergen geannuleerd", - - "ct_grid": '็”ฐ grid', - "ct_ttips": 'โ—” โ—ก โ—”">โ„น๏ธ tooltips', - "ct_thumb": 'In grid-overzicht, wissel tussen iconen of thumbnails$NHotkey: T">๐Ÿ–ผ๏ธ thumbs', - "ct_csel": 'Gebruik CTRL en SHIFT voor de bestand selectie in grid-overzicht>sel', - "ct_ihop": 'Als je afbeeldingviewer afsluit, scroll omlaag naar de laatst bekeken bestand">gโฎฏ', - "ct_dots": 'Laat verborgen bestanden zien (als de server dat toestaat)">dotfiles', - "ct_qdel": 'Waneeer je een bestand verwijderd, vraag eenmalig om bevestiging">qdel', - "ct_dir1st": 'Sorteer mappen eerst en dan de bestanden">๐Ÿ“ first', - "ct_nsort": 'Natural sort (voor bestandsnamen dat beginnen met getallen)">nsort', - "ct_readme": 'Laat README.md in mappen lijst zien">๐Ÿ“œ readme', - "ct_utc": 'Toon alle datums en tijden in UTC">UTC', - "ct_idxh": 'Laat index.html zien in plaats van de map overzicht">htm', - "ct_sbars": 'Laat scrollbars zien">โŸŠ', - - "cut_umod": "Als een bestand al bestaat op de server, update de 'gewijzigd' waarde op het bestand wat op de server staat met het bestand wat je geupload hebt (vereist schrijf+verwijder rechten)\">re๐Ÿ“…", - - "cut_turbo": "De yolo knop, die wil jij waarschijnlijk NIET actief wilt hebben:$N$Ngebruik dit als je heel veel bestanden gaat uploaden EN je moest het herstarten voor een reden en je wilt doorgaan met uploaden ASAP$N$Ndit vervangt de hash-check met een simpele "heeft dit dezelfde bestands groote op de server?", zo als de bestands inhoud verschillend is, dan worden ze NIET geupload$N$NJe zou deze optie weer uit moeten zetten als de upload klaar is en dan "upload" de zelfde bestanden opnieuw uploaden zo de client het kan verifieren\">turbo", - - "cut_datechk": "Heeft geen effect tenzij de turbo knop actief is$N$Nverminder de yolo factor (een klein beetje); controlleert of de bestand tijdstamp op de server hetzelfde is met het geuploade bestand$N$Ndit zou in theorie de meest onvoltooide/onvoledige uploads, maar dit is geen vervaning voor de verificatie-check met de turbo knop uitgeschakeld daarna\">date-chk", - - "cut_u2sz": "Grote (in MiB) voor elk geuploade stuk; grote waardes vliegen beter over de Atlantische Oceaan. Probeer lage waardes op zeer onstabiele verbindingen", - - "cut_flag": "Alleen een tabblad kan bestanden uploaden $N -- andere tabbladen moeten deze optie ook actief hebben $N -- dit heeft alleen effect op de tabbladen die op hetzelfde domain zijn", - - "cut_az": "Bestanden uploaden in alfabetische volgorde, in plaats van kleinste bestanden eerst$N$Nalfabetische volgorde kan het makkelijker maken om te zien of er wat fout is gegaan op de server, dit maakt het uploaden ietsjes trager op fiber / LAN", - - "cut_nag": "Systeem notificatie weergeven als een upload voltooid is$N(alleen als de browser of tabblad niet actief is)", - "cut_sfx": "Geluid waarschuwing afspelen als een upload voltooid is$N(alleen als de browser of tabblad niet actief is)", - - "cut_mt": "Gebruik multithreading om bestands-hashing te versnellen$N$Ndit gebruikt web-workers en vereist$Nmeer geheugen (tot wel 512 MiB extra)$N$Nmaakt https 30% sneller en http 4.5x sneller\">mt", - - "cut_wasm": "Gebruik wasm in plaats van de webbrowser ingebouwde hasher; verbetert de snelheid op chrome-gebaseerde webbrowsers maar verhoogd CPU gebruik, veel oude versie van chrome hebben een bug dat een geheugen lek heeft, dat kan alle geheugen in gebruik nemen en crashen als dit actief is\">wasm", - - "cft_text": "Favicon tekst (laat leeg en vernieuw om uit te schakelen)", - "cft_fg": "Voorgrondkleur", - "cft_bg": "Achtergrondkleur", - - "cdt_lim": "Max aantal bestanden laten zien in een map", - "cdt_ask": "Als helemaal naar beneden gescrolld bent,$Nin plaats van meer inladen,$Nvraag wat het moet doen", - "cdt_hsort": "Hoeveel sorteerregels (<code>,sorthref</code>) moeten er in media-URL's worden opgenomen? Als je dit op 0 instelt, worden de sorteerregels in medialinks ook genegeerd wanneer erop geklikt word.", - - "tt_entree": "Laat navpane zien (directoryboom zijbalk)$NHotkey: B", - "tt_detree": "Laat breadcrumbs zien$NHotkey: B", - "tt_visdir": "Scroll naar geselecteerde map", - "tt_ftree": "Verwissel tussen directoryboom / tekst bestanden$NHotkey: V", - "tt_pdock": "Laat bovenliggende mappen zien in een vastgezet deelvenster bovenaan", - "tt_dynt": "Automatisch groeien naarmate de directoryboom zich uitbreidt", - "tt_wrap": "Automatische terugloop", - "tt_hover": "Laat overlopenden lijnen zien bij zweven$N(stopt het scrollen tenzij de muis in de linker gedeelte van het scherm is)", - - "ml_pmode": "Aan het einde van de map...", - "ml_btns": "Cmds", - "ml_tcode": "Transcode", - "ml_tcode2": "Transcode naar", - "ml_tint": "Tint", - "ml_eq": "Audio-equalizer", - "ml_drc": "Dynamisch bereikcompressor", - - "mt_loop": "Loop/herhaal een nummer\">๐Ÿ”", - "mt_one": "Stop na een nummer\">1๏ธโƒฃ", - "mt_shuf": "Shuffle alle muziek in alle mappen\">๐Ÿ”€", - "mt_aplay": "Autoplay als er een song-ID staat in de link waarop je hebt geklikt om naar de server te gaan$N$NAls u dit uitschakelt, wordt de pagina-URL ook niet meer bijgewerkt met nummer-ID's tijdens het afspelen van muziek. Dit voorkomt automatisch afspelen als deze instellingen verloren gaan, maar de URL behouden blijft.\">aโ–ถ", - "mt_preload": "Begin het laden van de volgende nummer vlak voordat de huidige nummer het einde bereikt voor gapless playback\">preload", - "mt_prescan": "Ga naar de volgende map voordat de laatste nummer eindigd$NMaakt de webbrower blij$NZo het afspelen van muziek niet gestopt word\">nav", - "mt_fullpre": "Probeer het hele nummer vooraf te laden;$Nโœ… activeer dit op onstabiele verbindingen,$NโŒ zet uit als je waarschijnlijk een trage verbinding hebt\">full", - "mt_fau": "Op telefoons, voorkom muziek van stoppen als de volgende nummer niet snel genoeg voorgeladen is (kan de weergave van tags glitchy maken)\">โ˜•๏ธ", - "mt_waves": "Waveform zoekbar:$NToon audio-amplitude in de zoekbar\">~s", - "mt_npclip": "Knoppen tonen voor het clipboarden van het nummer dat op dat moment wordt afgespeeld\">/np", - "mt_m3u_c": "Knoppen tonen om de geselecteerde nummers als m3u8-afspeellijstitems te clipboarden\">๐Ÿ“ป", - "mt_octl": "OS-integratie (media hotkeys / osd)\">os-ctl", - "mt_oseek": "Zoeken via os-integratie mogelijk maken$N$NNotitie: op sommige toestellen (iPhones) dit vervcangt de volgende-nummer knop\">seek", - "mt_oscv": "Albumhoes weergeven in osd\">art", - "mt_follow": "Het afgespeelde nummer in beeld houden\">๐ŸŽฏ", - "mt_compact": "Compacte bedieningselementen\">โŸŽ", - "mt_uncache": "Cache wissen  (Probeer dit als uw browser een kapotte kopie van een nummer heeft gecached, waardoor het niet afgespeeld kan worden)\">uncache", - "mt_mloop": "De open map herhalen\">๐Ÿ” loop", - "mt_mnext": "Laad de volgende map en ga verder\">๐Ÿ“‚ next", - "mt_mstop": "Stoppen met afspelen\">โธ stop", - "mt_cflac": "flac / wav omzetten naar {0}\">flac", - "mt_caac": "aac / m4a omzetten naar {0}\">aac", - "mt_coth": "Alle andere bestanden (geen mp3) converteren naar {0}\">oth", - "mt_c2opus": "Beste keuze voor computers, laptops, android\">opus", - "mt_c2owa": "opus-weba, voor iOS 17.5 en nieuwer\">owa", - "mt_c2caf": "opus-caf, voor iOS 11 tot en met iOS 17\">caf", - "mt_c2mp3": "Gebruik dit hele oude toestellen\">mp3", - "mt_c2flac": "Beste geluidskwaliteit, maar grote downloads\">flac", //m - "mt_c2wav": "Ongemprimeerde weergave (nog groter)\">wav", //m - "mt_c2ok": "Mooi, goede keuze", - "mt_c2nd": "Dat is niet het aanbevolen uitvoerformaat voor uw apparaat, maar dat is prima", - "mt_c2ng": "Uw apparaat lijkt dit uitvoerformaat niet te ondersteunen, maar we gaan het toch proberen", - "mt_xowa": "iOS bevat bugs waardoor dit formaat niet op de achtergrond kan worden afgespeeld; gebruik in plaats daarvan caf of mp3.", - "mt_tint": "Achtergrond helderheid (0-100) op de zoekbalk om bufferen minder storend te maken", - "mt_eq": "Schakelt de equalizer en gain-control in;$N$Nboost <code>0</code> = standaard 100% volume (ongeweijzigd)$N$Nwidth <code>1  </code> = standaard stereo (ongeweijzigd)$Nwidth <code>0.5</code> = 50% links-rechts crossfeed$Nwidth <code>0  </code> = mono$N$Nboost <code>-0.8</code> & width <code>10</code> = stemverwijdering :^)$N$NDoor de equalizer in te schakelen, worden gapless albums volledig gapless. Laat hem dus aanstaan met alle waarden op nul (behalve width = 1) als je dat belangrijk vindt.", - "mt_drc": "Schakelt de dynamic range compressor in (volume flattener / brickwaller); schakelt ook EQ in om de spaghetti te balanceren, dus zet alle EQ velden behalve โ€˜widthโ€™ op 0 als je dat niet wilt.$N$Nverlaagt het volume van audio boven THRESHOLD dB; voor elke RATIO dB voorbij THRESHOLD is er 1 dB output, dus standaardwaarden van tresh -24 en ratio 12 betekenen dat het nooit luider dan -22 dB zou moeten worden en het is veilig om de equalizer boost te verhogen tot 0.8, of zelfs 1.8 met ATK 0 en een enorme RLS zoals 90 (werkt alleen in firefox; RLS is max 1 in andere browsers)$N$N(zie wikipedia, die legt het veel beter uit)", - - "mb_play": "Afspelen", - "mm_hashplay": "Deze audio bestand afspelen?", - "mm_m3u": "Druk op Enter/OK om af te spelen\nDruk op ESC/Annuleren om te bewerken", - "mp_breq": "Heeft firefox 82+ of chrome 73+ of iOS 15+", - "mm_bload": "Aan het laden...", - "mm_bconv": "Opmzetten naar {0}, even geduld...", - "mm_opusen": "Uw browser kan geen aac / m4a-bestanden afspelen;\ntranscodering naar opus is nu ingeschakeld", - "mm_playerr": "Afspelen mislukt: ", - "mm_eabrt": "De afspeelpoging is geannuleerd", - "mm_enet": "Je internetverbinding is onstabiel", - "mm_edec": "Dit bestand is vermoedelijk beschadigd??", - "mm_esupp": "Uw browser begrijpt deze audio-formaat niet", - "mm_eunk": "Onbekende fout", - "mm_e404": "Kan audio niet afspelen; fout 404: Bestand niet gevonden..", - "mm_e403": "Kan audio niet afspelen; fout 403: Toegang geweigerd.\n\nProbeer op F5 te drukken om opnieuw te laden, misschien ben je uitgelogd", - "mm_e500": "Kan geen audio afspelen; fout 500: Controleer serverlogs.", - "mm_e5xx": "Kan geen audio afspelen; serverfout ", - "mm_nof": "Geen audiobestanden meer vinden in de buurt", - "mm_prescan": "Op zoek naar muziek om als volgende te spelen...", - "mm_scank": "Het volgende nummer gevonden:", - "mm_uncache": "Cache gewist; alle nummers worden opnieuw gedownload bij de volgende keer afspelen", - "mm_hnf": "Dat liedje bestaat niet meer", - - "im_hnf": "Deze afbeelding bestaat niet meer", - - "f_empty": 'Deze map is leeg', - "f_chide": 'Dit verbergt kolom ยซ{0}ยป\n\nje kunt kolommen verbergen op de instellingen tabblad', - "f_bigtxt": "Dit bestand is {0} MiB groot -- echt bekijken als tekst?", - "f_bigtxt2": "Wilt u alleen het einde van het bestand bekijken? Dit maakt ook volgen/tailen mogelijk, waarbij nieuw toegevoegde tekstregels in realtime worden weergegeven.", - "fbd_more": '
    {0} van de {1} bestanden weergegeven; Toon {2} of Laat alles zien
    ', - "fbd_all": '
    {0} van de {1} bestanden weergegeven; Laat alles zien
    ', - "f_anota": "Alleen {0} van de {1} items zijn geselecteerd;\nom de volledige map te selecteren, scrol je eerst naar beneden", - - "f_dls": 'de bestandslinks in de huidige map zijn veranderd in downloadlinks', - - "f_partial": "Om een bestand dat momenteel wordt geรผpload veilig te downloaden, klikt u op het bestand met dezelfde bestandsnaam, maar zonder de bestandsextensie .PARTIAL. Druk op Annuleren of Escape om dit te doen.\n\nAls u op OK / Enter drukt, wordt deze waarschuwing genegeerd en gaat u verder met het downloaden van het gedeeltelijke .PARTIAL scratchbestand, waardoor u vrijwel zeker beschadigde gegevens krijgt.", - - "ft_paste": "plakken {0} items$NHotkey: ctrl-V", - "fr_eperm": 'kan de naam niet wijzigen:\nje hebt geen โ€œmoveโ€ rechten in deze map', - "fd_eperm": 'kan niet verwijderen:\nje hebt geen โ€œdeleteโ€ rechten in deze map', - "fc_eperm": 'kan niet knippen:\nje hebt geen โ€œmoveโ€ rechten in deze map', - "fp_eperm": 'kan niet plakken:\nje hebt geen โ€œschrijfโ€ rechten in deze map', - "fr_emore": "selecteer ten minste รฉรฉn item om te hernoemen", - "fd_emore": "selecteer minstens รฉรฉn item om te verwijderen", - "fc_emore": "selecteer ten minste รฉรฉn item om te knippen", - "fcp_emore": "selecteer ten minste รฉรฉn item om naar het klembord te kopiรซren", - - "fs_sc": "Deel de map waarin je je bevindt", - "fs_ss": "De geselecteerde bestand(en) delen", - "fs_just1d": "U kunt niet meer dan รฉรฉn map selecteren\nof mix bestanden en mappen in รฉรฉn selectie", - "fs_abrt": "โŒ Afbreken", - "fs_rand": "๐ŸŽฒ rand.naam", - "fs_go": "โœ… Maak share", - "fs_name": "Naam", - "fs_src": "Bron", - "fs_pwd": "Wachtwoord", - "fs_exp": "Verloopt", - "fs_tmin": "min", - "fs_thrs": "uur", - "fs_tdays": "dag(en)", - "fs_never": "eeuwig", - "fs_pname": "Optionele linknaam; is willekeurig als deze leeg is", - "fs_tsrc": "Het bestand of de map die u wilt delen", - "fs_ppwd": "Optioneel wachtwoord", - "fs_w8": "Delen...", - "fs_ok": "Druk op Enter/OK naar klembord te zetten\Druk op ESC/Annuleren om te sluiten", - - "frt_dec": "Kan sommige gevallen van gebroken bestandsnamen oplossen\">url-decode", - "frt_rst": "Gewijzigde bestandsnamen terugzetten naar de oorspronkelijke namen\">โ†บ reset", - "frt_abrt": "Afbreken en dit venster sluiten\">โŒ Annuleren", - "frb_apply": "HERNOEMEN TOEPASSEN", - "fr_adv": "Batch / metadata / patroon hernoemen\">Geavanceerd", - "fr_case": "Hoofdlettergevoelige regex\">case", - "fr_win": "Windows-veilige namen; vervangen <>:"\\|?* met japanse tekens over de volledige breedte\">win", - "fr_slash": "Vervang / met een teken waardoor er geen nieuwe mappen worden gemaakt\">geen /", - "fr_re": "Regex zoekpatroon om toe te passen op originele bestandsnamen; naar capturing groups kan worden verwezen in het onderstaande opmaakveld zoals <code>(1)</code> en <code>(2)</code> enzovoort", - "fr_fmt": "Geรฏnspireerd door foobar2000 :$N<code>(titel)</code> wordt vervangen door de titel van het nummer,$N<code>[(artiest) - ](titel)</code> sla [dit] gedeelte over als artiest leeg is$N<code>$lpad((tn),2,0)</code> vult tracknummer op tot 2 cijfers (0X)", - "fr_pdel": "Verwijderen", - "fr_pnew": "Opslaan als", - "fr_pname": "Geef een naam op voor je nieuwe preset", - "fr_aborted": "Afgebroken", - "fr_lold": "Oude naam", - "fr_lnew": "Nieuwe naam", - "fr_tags": "Tags voor de geselecteerde bestanden (alleen-lezen, alleen ter referentie):", - "fr_busy": "Hernoemen van {0} items...\n\n{1}", - "fr_efail": "Hernoemen mislukt:\n", - "fr_nchg": "{0} van de nieuwe namen zijn gewijzigd als gevolg van win en/of geen /\n\nOK om door te gaan met deze gewijzigde nieuwe namen?", - - "fd_ok": "Verwijderen OK", - "fd_err": "Verwijderen mislukt:\n", - "fd_none": "Er is niets verwijderd; misschien geblokkeerd door serverconfiguratie (xbd)?", - "fd_busy": "{0} items verwijderen...\n\n{1}", - "fd_warn1": "VERWIJDER deze {0} items?", - "fd_warn2": "LAATSTE KANS! Geen manier om ongedaan te maken. Verwijderen?", - - "fc_ok": "Knip {0} items", - "fc_warn": 'Knip {0} items\n\nmaar: alleen deze browser-tabblad kan weer plakken\n(omdat de selectie zo enorm is)', - - "fcc_ok": "{0} items naar klembord gekopieerd", - "fcc_warn": '{0} items naar klembord gekopieerd\n\maar: alleen deze browser-tabblad kan weer plakken\n(omdat de selectie zo enorm is)', - - "fp_apply": "Gebruik deze namen", - "fp_ecut": "Knip of kopieer eerst enkele bestanden/mappen om te verplaatsen/plakken\n\nnotitie: je kunt knippen/plakken in verschillende browsertabbladen", - "fp_ename": "{0} items kunnen hier niet worden verplaatst omdat de namen al in gebruik zijn. Geef ze hieronder een nieuwe naam om verder te gaan, of verwijder de naam om ze over te slaan:", - "fcp_ename": "{0} items kunnen hier niet worden gekopieerd omdat de namen al in gebruik zijn. Geef ze hieronder een nieuwe naam om verder te gaan, of verwijder de naam om ze over te slaan:", - "fp_emore": "Er zijn nog enkele bestandsnaambotsingen die moeten worden opgelost", - "fp_ok": "Verplaatsen OK", - "fcp_ok": "Kopiรซren OK", - "fp_busy": "{0} items verplaatsen...\n\n{1}", - "fcp_busy": "{0} items kopiรซren...\n\n{1}", - "fp_abrt": "afbreken...", //m - "fp_err": "Verplaatsen mislukt:\n", - "fcp_err": "Kopieรซren mislukt:\n", - "fp_confirm": "Verplaats deze {0} items hierheen?", - "fcp_confirm": "Kopieer deze {0} items hier?", - "fp_etab": 'Kan klembord van ander browsertabblad niet lezen', - "fp_name": "Een bestand uploaden vanaf uw apparaat. Geef het een naam:", - "fp_both_m": '
    Kies wat je wilt plakken
    Enter = Verplaatsen {0} bestanden van ยซ{1}ยป\nESC = Upload {2} bestanden van je apparaat', - "fcp_both_m": '
    Kies wat je wilt plakken
    Enter = Kopieer {0} bestanden van ยซ{1}ยป\nESC = Upload {2} bestanden van je apparaat', - "fp_both_b": 'VerplaatsUpload', - "fcp_both_b": 'KopieerUpload', - - "mk_noname": "Voer een naam in het tekstveld aan de linkerkant voordat je verder gaat :p", - - "tv_load": "Tekstdocument laden:\n\n{0}\n\n{1}% ({2} van de {3} MiB geladen)", - "tv_xe1": "Kon tekstbestand niet laden:\n\nfout ", - "tv_xe2": "404, bestand niet gevonden", - "tv_lst": "Lijst met tekstbestanden in", - "tvt_close": "Terugkeren naar mapweergave$NHotkey: M (of Esc)\">โŒ Sluiten", - "tvt_dl": "Download dit bestand$NHotkey: Y\">๐Ÿ’พ download", - "tvt_prev": "Vorig document tonen$NHotkey: i\">โฌ† prev", - "tvt_next": "Volgende document tonen$NHotkey: K\">โฌ‡ next", - "tvt_sel": "Selecteer bestand   ( voor knip / verplaats / verwijder / ... )$NHotkey: S\">sel", - "tvt_edit": "Bestand openen in teksteditor$NHotkey: E\">โœ๏ธ bewerk", - "tvt_tail": "Bestand controleren op wijzigingen; nieuwe regels in realtime weergeven\">๐Ÿ“ก volgen", - "tvt_wrap": "Automatische terugloop\">โ†ต", - "tvt_atail": "Vergrendelen scroll naar onderkant van pagina\">โš“", - "tvt_ctail": "Kleuren van terminals decoderen (ansi escape codes)\">๐ŸŒˆ", - "tvt_ntail": "Terugrollimiet (hoeveel tekst geladen moeten blijven)", - - "m3u_add1": "Nummer toegevoegd aan m3u afspeellijst", - "m3u_addn": "{0} nummers toegevoegd aan m3u-afspeellijst", - "m3u_clip": "m3u-afspeellijst nu gekopieerd naar klembord\n\nje moet een nieuw tekstbestand maken met de naam iets.m3u en de afspeellijst in dat document plakken; dit maakt het afspeelbaar", - - "gt_vau": "Laat geen video's zien, speel alleen de audio af\">๐ŸŽง", - "gt_msel": "Schakel bestandsselectie in; ctrl-klik op een bestand om te openen$N$N<em>indien actief: dubbelklik op een bestand / map om het te openen</em>$N$NHotkey: S\">multiselect", - "gt_crop": "Gecentreerde miniaturen\">crop", - "gt_3x": "Hi-res miniaturen\">3x", - "gt_zoom": "Zoom", - "gt_chop": "Verkorten", - "gt_sort": "Sorteer bij", - "gt_name": "naam", - "gt_sz": "grootte", - "gt_ts": "datum", - "gt_ext": "type", - "gt_c1": "Bestandsnamen meer inkorten (minder tonen)", - "gt_c2": "Bestandsnamen minder inkorten (meer tonen)", - - "sm_w8": "Zoeken...", - "sm_prev": "Onderstaande zoekresultaten zijn afkomstig van een eerdere zoekopdracht:\n ", - "sl_close": "Zoekresultaten sluiten", - "sl_hits": "Toont {0} treffers", - "sl_moar": "Laad meer", - - "s_sz": "grootte", - "s_dt": "datum", - "s_rd": "pad", - "s_fn": "naam", - "s_ta": "tags", - "s_ua": "op@", - "s_ad": "adv.", - "s_s1": "Minimaal MiB", - "s_s2": "Maximaal MiB", - "s_d1": "Min. iso8601", - "s_d2": "Max. iso8601", - "s_u1": "Uploaded na", - "s_u2": "en/of voor", - "s_r1": "Pad bevad   (spatie-gescheiden)", - "s_f1": "Naam bevat   (ontkennen met -nope)", - "s_t1": "Tags bevat   (^=start, einde=$)", - "s_a1": "Specifieke metadata-eigenschappen", - - "md_eshow": "Kan niet weergeven ", - "md_off": "[๐Ÿ“œreadme] uitgeschakeld in [โš™๏ธ] -- document verborgen", - - "badreply": "Mislukt om antwoord van server te parsen", - - "xhr403": "403: Toegang geweigerd\n\nprobeer F5 in te drukken, misschien ben je uitgelogd", - "xhr0": "Onbekend (waarschijnlijk verbinding met server verloren of server is offline)", - "cf_ok": "Sorry daarvoor -- DD" + wah + "OS-bescherming ingeschakeld\n\nalles zou binnen ongeveer 30 seconden moeten hervatten\n\nals er niets gebeurt, druk dan op F5 om de pagina opnieuw te laden", - "tl_xe1": "Kon submappen niet weergeven:\n\nfout ", - "tl_xe2": "404: Map niet gevonden", - "fl_xe1": "Kon bestanden in map niet weergeven:\n\nfout ", - "fl_xe2": "404: Map niet gevonden", - "fd_xe1": "Kon submap niet aanmaken:\n\nfout ", - "fd_xe2": "404: Bovenliggende map niet gevonden", - "fsm_xe1": "Kon bericht niet verzenden:\n\nfout ", - "fsm_xe2": "404: Bovenliggende map niet gevonden", - "fu_xe1": "Mislukt om unpost lijst van server te laden:\n\nfout ", - "fu_xe2": "404: Bestand niet gevonden??", - - "fz_tar": "gnu-tar bestand uitpakken (linux / mac)", - "fz_pax": "pax-formaat tar uitpakken (trager)", - "fz_targz": "gnu-tar met gzip niveau 3 compressie$N$Ndit is meestal erg langzaam, dus gebruik in plaats daarvan ongecomprimeerde tar", - "fz_tarxz": "gnu-tar met xz-niveau 1 compressie$N$Ndit is meestal erg langzaam, dus gebruik in plaats daarvan ongecomprimeerde tar", - "fz_zip8": "Zip met utf8 bestandsnamen (misschien onhandig op windows 7 en ouder)", - "fz_zipd": "Zip met traditionele cp437-bestandsnamen, voor echt oude software", - "fz_zipc": "cp437 met crc32 vroeg berekend$Nvoor MS-DOS PKZIP v2.04g (oktober 1993)$N(het duurt langer voordat het downloaden kan beginnen)", - - "un_m1": "Hieronder kunt u uw recente uploads verwijderen (of onvoltooide uploads afbreken)", - "un_upd": "Vernieuwen", - "un_m4": "of deel de bestanden die hieronder zichtbaar zijn:", - "un_ulist": "Toon", - "un_ucopy": "Kopieer", - "un_flt": "Optionele filter:  URL moet het volgende bevatten", - "un_fclr": "Reset filter", - "un_derr": 'unpost-verwijderen mislukt:\n', - "un_f5": 'Er is iets kapot, probeer te verversen of druk op F5', - "un_uf5": "Sorry, maar u moet de pagina vernieuwen (bijvoorbeeld door op F5 of CTRL-R te drukken) voordat deze upload kan worden afgebroken.", - "un_nou": 'Waarschuwing: server te druk om onvoltooide uploads weer te geven; klik straks op de "refresh" link', - "un_noc": 'Waarschuwing: unpost van volledig geรผploade bestanden is niet ingeschakeld/toegestaan in de serverconfiguratie', - "un_max": "Toont de eerste 2000 bestanden (gebruik de filter)", - "un_avail": "{0} recente uploads kunnen worden verwijderd
    {1} onvoltooide kunnen worden afgebroken", - "un_m2": "Gesorteerd op uploadtijd; meest recente eerst:", - "un_no1": "sike! geen enkele upload is recent genoeg", - "un_no2": "sike! geen uploads die aan dat filter voldoen zijn voldoende recent", - "un_next": "Verwijder de volgende {0} bestanden", - "un_abrt": "Afbreken", - "un_del": "Verwijderen", - "un_m3": "Je recente uploads laden...", - "un_busy": "Verwijderen van {0} bestanden...", - "un_clip": "{0} links gekopieerd naar klembord", - - "u_https1": "Je moet", - "u_https2": "overschakelen naar https", - "u_https3": "voor betere prestaties", - "u_ancient": 'Je browser is indrukwekkend oud -- misschien moet je in plaats daarvan bup gebruiken', - "u_nowork": "Je moet firefox 53+ of chrome 57+ of iOS 11+ hebben", - "tail_2old": "Je moet firefox 105+ of chrome 71+ of iOS 14.5+ hebben", - "u_nodrop": 'Je browser is te oud voor uploaden via slepen en neerzetten', - "u_notdir": "Dat is geen map!\n\nuw browser is te oud,\nprobeer in plaats daarvan sleep en neerzetten", - "u_uri": "Om afbeeldingen te slepen vanuit andere browser tabblad,\nplaats deze dan op de grote uploadknop", - "u_enpot": 'Overschakelen naar potato UI (kan uploadsnelheid verbeteren)', - "u_depot": 'Overschakelen naar fancy UI (kan uploadsnelheid verminderen)', - "u_gotpot": 'Overschakelen naar de potato UI voor verbeterde uploadsnelheid,\n\nVoel je vrij om het er niet mee eens te zijn en schakel terug!', - "u_pott": "

    Bestanden:   {0} klaar,   {1} mislukt,   {2} bezig,   {3} in de wachtrij

    ", - "u_ever": "Dit is de basis uploader; up2k heeft minstens het volgende nodig
    chrome 21 // firefox 13 // edge 12 // opera 12 // safari 5.1", - "u_su2k": 'Dit is de basis uploader; up2k is beter', - "u_uput": 'Optimaliseren voor snelheid (checksum overslaan)', - "u_ewrite": 'Je hebt geen schrijftoegang tot deze map', - "u_eread": 'Je hebt geen leestoegang tot deze map', - "u_enoi": 'Zoeken naar bestanden is niet ingeschakeld in de serverconfiguratie', - "u_enoow": "Overschrijven zal hier niet werken; je heb verwijder toestemming nodig", - "u_badf": 'Deze {0} bestanden (van {1} totaal) zijn overgeslagen, mogelijk door bestandssysteemmachtigingen:\n\n', - "u_blankf": 'Deze {0} bestanden (van {1} totaal) zijn leeg; alsnog uploaden?\n\n', - "u_applef": 'Deze {0} bestanden (van {1} totaal) zijn waarschijnlijk ongewenst;\nKlik op OK/Enter om de volgende bestanden over te slaan,\Klik op Annuleren/ESC niet uit te sluiten en deze ook te uploaden:\n\n', - "u_just1": '\nMisschien werkt het beter als je slechts รฉรฉn bestand selecteert', - "u_ff_many": "Als je Linux / MacOS / Android, gebruikt dan kan deze hoeveelheid bestanden Firefox crashen!\nals dat gebeurt, probeer het dan opnieuw (of gebruik Chrome).", - "u_up_life": "Deze upload wordt verwijderd van de server\n{0} nadat het is voltooid", - "u_asku": 'Upload deze {0} bestanden naar {1}', - "u_unpt": "Je kunt deze upload ongedaan maken / verwijderen met de linkerbovenhoek ๐Ÿงฏ", - "u_bigtab": 'We staan op het punt om {0} bestanden te tonen\n\nDit kan uw browser laten crashen, weet je het zeker??', - "u_scan": 'Bestanden scannen...', - "u_dirstuck": 'Directory iterator liep vast bij het benaderen van het volgende {0} items; zal het volgende overslaan:', - "u_etadone": 'Klaar ({0}, {1} bestanden)', - "u_etaprep": '(klaarmaken om te uploaden)', - "u_hashdone": 'hashing klaar', - "u_hashing": 'Hash', - "u_hs": 'Hallo zeggen...', - "u_started": "De bestanden worden nu geรผpload; zie [๐Ÿš€]", - "u_dupdefer": "Duplicaat; wordt verwerkt na alle andere bestanden", - "u_actx": "klik op deze tekst om prestatieverlies
    bij het overschakelen naar andere vensters/tabbladen te voorkomen", - "u_fixed": "OK!  Fixed it ๐Ÿ‘", - "u_cuerr": "Mislukt bij het uploaden van stuk {0} van {1};\nwaarschijnlijk ongevaarlijk, doorgaan\n\nbestand: {2}", - "u_cuerr2": "Upload door server geweigerd (stuk {0} van {1});\nzal later opnieuw proberen\n\nbestand: {2}\n\nfout ", - "u_ehstmp": "Zal opnieuw proberen; zie rechtsonder", - "u_ehsfin": "Server heeft het verzoek om de upload te finaliseren afgewezen; opnieuw proberen...", - "u_ehssrch": "Server heeft de zoekaanvraag afgewezen; opnieuw proberen...", - "u_ehsinit": "Server heeft het verzoek om het uploaden te starten afgewezen; opnieuw proberen...", - "u_eneths": "Netwerkfout tijdens het uitvoeren van de uploadhanddruk; opnieuw proberen...", - "u_enethd": "Netwerkfout tijdens het testen van het bestaan van het doel; opnieuw proberen...", - "u_cbusy": "Wachten tot de server ons weer vertrouwt na een netwerkstoring...", - "u_ehsdf": "Server heeft geen schijfruimte meer!\n\nzal blijven proberen, voor het geval iemand genoeg ruimte vrijmaakt om door te gaan", - "u_emtleak1": "Het lijkt erop dat uw webbrowser een geheugenlek heeft;\nprobeer", - "u_emtleak2": ' over te schakel over naar https (aanbevolen) of ', - "u_emtleak3": ' ', - "u_emtleakc": 'Probeer het volgende:\n
    • druk op F5 om de pagina te verversen
    • dan schakel de  mt  uit, deze knop staat in  โš™๏ธ instellingen
    • en probeer de upload opnieuw
    Uploaden zal wat langzamer gaan, maar ja.\nSorry voor de problemen!\n\nPS: chrome v107 heeft een bugfix voor dit', - "u_emtleakf": '{robeer het volgende:\n
    • druk op F5 om de pagina te verversen
    • dan activeer ๐Ÿฅ” (aardappel) in de upload scherm
    • en probeer de upload opnieuw
    \nPS: firefox heeft mogelijk een fix op een gegeven moment', - "u_s404": "Niet gevonden op server", - "u_expl": "Leg uit", - "u_maxconn": "De meeste browsers beperken dit tot 6, maar firefox laat je dit verhogen met network.http.max-persistent-connections-per-server in about:config", - "u_tu": '

    WAARSCHUWING: turbo ingeschakeld,  webbrowser detecteert en hervat onvolledige uploads mogelijk niet; zie de tooltip van de turboknop

    ', - "u_ts": '

    WAARSCHUWING: turbo ingeschakeld,  zoekresultaten kunnen onjuist zijn; zie turbo-knop tooltip

    ', - "u_turbo_c": "Turbo is uitgeschakeld in serverconfiguratie", - "u_turbo_g": "Turbo uitgeschakeld, je geen recht om mappen in deze volume te tonen", - "u_life_cfg": 'Automatisch verwijderen na minuten (of uur)', - "u_life_est": 'Upload wordt verwijderd ---', - "u_life_max": 'Deze map dwingt een\nmaximale levensduur van {0} af', - "u_unp_ok": 'unpost is toegestaan voor {0}', - "u_unp_ng": 'unpost zijn NIET toegestaan', - "ue_ro": 'Je toegang tot deze map is alleen-lezen\n\n', - "ue_nl": 'Je bent momenteel niet ingelogd', - "ue_la": 'Je bent momenteel aangemeld als "{0}"', - "ue_sr": 'U bevindt zich momenteel in de bestandszoekmodus\n\nschakel over naar uploadmodus door op het vergrootglas te klikken ๐Ÿ”Ž (naast de grote ZOEK-knop), en probeer opnieuw te uploaden\n\nsorry', - "ue_ta": 'Probeer opnieuw te uploaden, het zou nu moeten werken', - "ue_ab": "Dit bestand wordt al geรผpload naar een andere map en die upload moet worden voltooid voordat het bestand naar een andere map kan worden geรผpload.\n\nU kunt de eerste upload afbreken en laten vergeten met de linkerbovenhoek ๐Ÿงฏ", - "ur_1uo": "OK: Bestand succesvol geรผpload", - "ur_auo": "OK: Alle {0} bestanden succesvol geรผpload", - "ur_1so": "OK: Bestand gevonden op server", - "ur_aso": "OK: Alle {0} bestanden gevonden op server", - "ur_1un": "Uploaden mislukt, sorry", - "ur_aun": "Alle {0} uploads mislukt, sorry", - "ur_1sn": "Bestand NIET gevonden op server", - "ur_asn": "De {0} bestanden zijn NIET gevonden op de server", - "ur_um": "Voltooid;\n{0} upload(s) OK,\n{1} upload(s) mislukt, sorry", - "ur_sm": "Voltooid;\n{0} bestand(en) gevonden op de server,\n{1} bestand(en) NIET gevonden op de server", - - "lang_set": "Vernieuw de pagina om de wijziging door te voeren?", - }, - "nno": { - "tt": "Nynorsk", - - "cols": { - "c": "handlingsknappar", - "dur": "varigheit", - "q": "kvalitet / bitrate", - "Ac": "lydformat", - "Vc": "videoformat", - "Fmt": "format / innpakning", - "Ahash": "lydkontrollsum", - "Vhash": "videokontrollsum", - "Res": "opplรธysing", - "T": "filtype", - "aq": "lydkvalitet / bitrate", - "vq": "videokvalitet / bitrate", - "pixfmt": "fargekoding / detaljnivรฅ", - "resw": "horisontal opplรธysing", - "resh": "vertikal opplรธysing", - "chs": "lydkanaler", - "hz": "lydopplรธsing" - }, - - "hks": [ - [ - "ymse", - ["ESC", "lukk saker og ting"], - - "filbehandlar", - ["G", "listevisning eller ikon"], - ["T", "miniatyrbilder pรฅ/av"], - ["โ‡ง A/D", "ikonstorleik"], - ["ctrl-K", "slett valde"], - ["ctrl-X", "klipp ut valde"], - ["ctrl-C", "kopiรฉr รฅt utklippstavle"], - ["ctrl-V", "lim inn (flytt/kopiรฉr)"], - ["Y", "last ned valde"], - ["F2", "endre namn pรฅ valde"], - - "filmarkering", - ["space", "markรฉr fil"], - ["โ†‘/โ†“", "flytt markรธr"], - ["ctrl โ†‘/โ†“", "flytt markรธr og scroll"], - ["โ‡ง โ†‘/โ†“", "velg forr./neste fil"], - ["ctrl-A", "velg alle filer / mapper"], - ], [ - "navigering", - ["B", "mappehierarki eller filsti"], - ["I/K", "forr./neste mappe"], - ["M", "eitt nivรฅ opp (eller lukk)"], - ["V", "vis mapper eller tekstfiler"], - ["A/D", "panelstorleik"], - ], [ - "musikkspelar", - ["J/L", "forr./neste song"], - ["U/O", "hopp 10sek bak/fram"], - ["0..9", "hopp รฅt 0%..90%"], - ["P", "pause, eller start / fortsett"], - ["S", "marker spelande song"], - ["Y", "last ned song"], - ], [ - "bildevisar", - ["J/L, โ†/โ†’", "forr./neste bilde"], - ["Home/End", "fรธrste/siste bilde"], - ["F", "fullskjermvisning"], - ["R", "rotรฉr รฅt hรธyre"], - ["โ‡ง R", "rotรฉr รฅt venstre"], - ["S", "markรฉr bilde"], - ["Y", "last ned bilde"], - ], [ - "videospelar", - ["U/O", "hopp 10sek bak/fram"], - ["P/K/Space", "pause / fortsett"], - ["C", "fortsett รฅt neste fil"], - ["V", "gjenta avspeling"], - ["M", "lyd av/pรฅ"], - ["[ og ]", "gjentaksintervall"], - ], [ - "dokumentvisar", - ["I/K", "forr./neste fil"], - ["M", "lukk tekstdokument"], - ["E", "redigรฉr tekstdokument"], - ["S", "markรฉr fil (for F2/ctrl-x/...)"], - ["Y", "last ned tekstfil"], - ] - ], - - "m_ok": "OK", - "m_ng": "Avbryt", - - "enable": "Aktiv", - "danger": "VARSKU", - "clipped": "kopiert รฅt utklippstavla", - - "ht_s1": "sekund", - "ht_s2": "sekund", - "ht_m1": "minutt", - "ht_m2": "minutt", - "ht_h1": "time", - "ht_h2": "timar", - "ht_d1": "dag", - "ht_d2": "dagar", - "ht_and": " og ", - - "goh": "kontrollpanel", - "gop": 'navigรฉr รฅt mappa fรธr den her">forr.', - "gou": 'navigรฉr eitt nivรฅ opp">opp', - "gon": 'navigรฉr รฅt mappa etter den her">neste', - "logout": "Logg ut ", - "login": "Logg inn", - "access": " รฅtgang", - "ot_close": "lukk reiskap", - "ot_search": "sรธk etter filer ved รฅ angje filnamn, mappenamn, tid, storleik, eller metadata som songtittel / artist / osv.$N$N<code>foo bar</code> = inneheld bรฅe ยซfooยป og ยซbarยป,$N<code>foo -bar</code> = innehold ยซfooยป men ikkje ยซbarยป,$N<code>^yana .opus$</code> = startar med ยซyanaยป, filtype ยซopusยป$N<code>"try unite"</code> = ยซtry uniteยป eksakt$N$Ndatoformat er iso-8601, sรฅ f.eks.$N<code>2009-12-31</code> eller <code>2020-09-12 23:30:00</code>", - "ot_unpost": "unpost: slett filer som du nyleg har lastet opp; ยซangre-knappenยป", - "ot_bup": "bup: tradisjonell / primitiv filopplasting,$N$Nfungerar i om lag samtlege nettlesarar", - "ot_mkdir": "mkdir: lag ei ny mappe", - "ot_md": "new-md: lag eit nytt markdown-dokument", - "ot_msg": "msg: send ein beskjed รฅt serverloggen", - "ot_mp": "musikkspelarinstillinger", - "ot_cfg": "andre innstillinger", - "ot_u2i": 'up2k: last opp filer (viss du har skriveรฅtgang) eller bytt รฅt sรธkemodus for รฅ sjekke om filene finnast ein eller annan plass pรฅ serveren$N$Nopplastinger kan startast opp att etter avbrot, skjer stykkevis for potensielt hรธgare ytelse, og ivaretek datostempling -- men bruker litt meir prosessorkraft enn [๐ŸŽˆ]  (den primitive opplastaren "bup")

    mens opplastinger fรธregรฅr sรฅ visast framdrifta her oppe!', - "ot_u2w": 'up2k: filopplasting med stรธtte for รฅ starte opp att avbrotne opplastinger -- steng ned nettlesaren og drage dei same filene inn i nettlesaren igjen for รฅ plukke opp att der du slapp$N$Nopplastinger skjer stykkevis for potensielt hรธgare ytelse, og ivaretek datostempling -- men bruker litt meir prosessorkraft enn [๐ŸŽˆ]  (den primitive opplastaren "bup")

    mens opplastinger fรธregรฅr sรฅ visast framdrifta her oppe!', - "ot_noie": 'Fungerer mye betre i Chrome / Firefox / Edge', - - "ab_mkdir": "lag mappe", - "ab_mkdoc": "nytt dokument", - "ab_msg": "send melding", - - "ay_path": "gรฅ videre รฅt mapper", - "ay_files": "gรฅ videre รฅt filer", - - "wt_ren": "gje nye namn รฅt dei valde filene$NSnarvei: F2", - "wt_del": "slett dei valde filene$NSnarvei: ctrl-K", - "wt_cut": "klipp ut dei valde filene <small>(for รฅ lime inn ein annan plass)</small>$NSnarvei: ctrl-X", - "wt_cpy": "kopiรฉr dei valde filene รฅt utklippstavla$N(for รฅ lime inn ein annan plass)$NSnarvei: ctrl-C", - "wt_pst": "lim inn filer (som tidligare blei klipt ut / kopiert ein annan plass)$NSnarvei: ctrl-V", - "wt_selall": "velg alle filer$NSnarvei: ctrl-A (mens fokus er pรฅ ei fil)", - "wt_selinv": "invertรฉr utval", - "wt_zip1": "last ned denne mappa som eit arkiv", - "wt_selzip": "last ned dei valde filene som eit arkiv", - "wt_seldl": "last ned dei valde filene$NSnarvei: Y", - "wt_npirc": "kopiรฉr songinfo (irc-formatert)", - "wt_nptxt": "kopiรฉr songinfo", - "wt_m3ua": "legg song รฅt i m3u-speleliste$N(husk รฅ klikk pรฅ ๐Ÿ“ปcopy senere)", - "wt_m3uc": "kopiรฉr m3u-spelelista รฅt utklippstavla", - "wt_grid": "bytt mellom ikon og listevising$NSnarvei: G", - "wt_prev": "fรธrre song$NSnarvei: J", - "wt_play": "play / pause$NSnarvei: P", - "wt_next": "neste song$NSnarvei: L", - - "ul_par": "samtidige handl.:", - "ut_rand": "finn opp nye tilfeldige filnamn", - "ut_u2ts": "gje fila pรฅ serveren same$Ntidsstempel som lokalt hos deg\">๐Ÿ“…", - "ut_ow": "overskrive eksisterande filer pรฅ serveren?$N๐Ÿ›ก๏ธ: aldri (finn pรฅ eit nytt filnamn i staden for)$N๐Ÿ•’: overskriv viss fila รฅt serveren er eldre$Nโ™ป๏ธ: alltid, gitt at innholdet er annleis", - "ut_mt": "fortsett รฅ synfare kรธa mens opplasting fรธregรฅr$N$Nskru denne av dersom du har ein$Ntreig prosessor eller harddisk", - "ut_ask": 'bekreft filutvalg fรธr opplasting startar">๐Ÿ’ญ', - "ut_pot": "forbetre ytinga pรฅ treige einheiter ved รฅ$Nforenkle brukergrensesnittet", - "ut_srch": "gjer eit sรธk i staden for รฅ laste opp --$Nleitar gjennom alle mappane du har lov รฅt รฅ sjรฅ", - "ut_par": "sett รฅt 0 for รฅ midlertidig stoppe opplasting$N$Nhรธge verdier (4 eller 8) kan gje betre yting,$Nspesielt pรฅ treige internettlinjer$N$Nbรธr ikkje vere hรธgare enn 1 pรฅ LAN$Neller viss serveren sin harddisk er treig", - "ul_btn": "slepp filer / mapper
    her (eller klikk meg)", - "ul_btnu": "L A S T   O P P", - "ul_btns": "F I L S ร˜ K", - - "ul_hash": "synfar", - "ul_send": " send", - "ul_done": "total", - "ul_idle1": "ingen handlinger i kรธen", - "ut_etah": "snitthastigheit for <em>synfaring</em> samt gjenstรฅande tid", - "ut_etau": "snitthastigheit for <em>opplasting</em> samt gjenstรฅande tid", - "ut_etat": "<em>total</em> snitthastigheit og gjenstรฅande tid", - - "uct_ok": "fullfรธrt uten problem", - "uct_ng": "fullfรธrt under tvil (duplikat, ikkje funne, ...)", - "uct_done": "fullfรธrt (enten <em>ok</em> eller <em>ng</em>)", - "uct_bz": "aktive handlinger (synfaring / opplasting)", - "uct_q": "kรธa", - - "utl_name": "filnamn", - "utl_ulist": "vis", - "utl_ucopy": "kopiรฉr", - "utl_links": "lenker", - "utl_stat": "status", - "utl_prog": "fremdrift", - - // mรฅ vere korte: - "utl_404": "404", - "utl_err": "FEIL!", - "utl_oserr": "OS-feil", - "utl_found": "funnet", - "utl_defer": "seinare", - "utl_yolo": "YOLO", - "utl_done": "ferdig", - - "ul_flagblk": "filene har blitt lagd i kรธa
    men det er ein anna nettlesarfane som held pรฅ med synfaring eller opplasting akkurat no,
    sรฅ venter รฅt den er ferdig fรธrst", - "ul_btnlk": "brytaren har blitt lรฅst รฅt denne tilstanden i serverens konfigurasjon", - - "udt_up": "Last opp", - "udt_srch": "Sรธk", - "udt_drop": "Slepp filene her", - - "u_nav_m": '
    kva har du?
    Enter = Filer (รฉin eller fleire)\nESC = ร‰i mappe (inkludert undermapper)', - "u_nav_b": 'Filerร‰i mappe', - - "cl_opts": "brytarar", - "cl_themes": "utsjรฅnad", - "cl_langs": "sprรฅk", - "cl_ziptype": "nedlasting av mapper", - "cl_uopts": "up2k-brytarar", - "cl_favico": "favicon", - "cl_bigdir": "store mapper", - "cl_hsort": "#sort", - "cl_keytype": "notasjon for musikalsk dur", - "cl_hiddenc": "skjulte kolonner", - "cl_hidec": "skjul", - "cl_reset": "nullstill", - "cl_hpick": "klikk pรฅ overskrifta รฅt kolonnene du รธnskjer รฅ skjule i tabellen nedanfor", - "cl_hcancel": "kolonne-skjuling avbrote", - - "ct_grid": '็”ฐ ikon', - "ct_ttips": 'vis hjelpetekst ved รฅ holde musa over ting">โ„น๏ธ tips', - "ct_thumb": 'vis miniatyrbilder i staden for ikon$NSnarvei: T">๐Ÿ–ผ๏ธ bilder', - "ct_csel": 'bruk tastane CTRL og SHIFT for markering av filer i ikonvising">merk', - "ct_ihop": 'bla ned รฅt sist viste bilde nรฅr bildevisaren lukkast">gโฎฏ', - "ct_dots": 'vis skjulte filer (gitt at serveren tillรจt det)">.synlig', - "ct_qdel": 'sletteknappen spรธr berre รฉin gong om stadfesting">hurtig๐Ÿ—‘๏ธ', - "ct_dir1st": 'sortรฉr slik at mapper kjem framanfor filer">๐Ÿ“ fรธrst', - "ct_nsort": 'naturlig sortering (skjรธnar tal i filnamn)">nsort', - "ct_utc": 'bruk UTC for alle klokkeslett">UTC', - "ct_readme": 'vis README.md nedanfor filene">๐Ÿ“œ readme', - "ct_idxh": 'vis index.html i staden for filliste">htm', - "ct_sbars": 'vis rullgardiner / skrollefelt">โŸŠ', - - "cut_umod": 'i tilfelle ei fil du lastar opp alt finnast pรฅ serveren, sรฅ skal tidsstempelet รฅt serveren oppdaterast slik at det stemmer overeins med din lokale fil (krev rettigheitene write+delete)">re๐Ÿ“…', - - "cut_turbo": "forenkla synfaring ved opplasting; bรธr etter alt รฅ dรธme ikkje skruast pรฅ:$N$Nnyttig dersom du var midt i ei svรฆr opplasting som mรฅtte startast pรฅ nytt av ein eller annan grunn, og du vil komme i gang igjen sรฅ raskt som i det heile mulig.$N$Nnรฅr denne er skrudd pรฅ sรฅ forenklast synfaringa kraftig; i staden for รฅ utfรธre ein trygg sjekk pรฅ om filene finnast pรฅ serveren i god stand, sรฅ sjekkast det kun om filstorleiken stemmer. Sรฅ dersom ein korrupt fil vere pรฅ serveren allerede, pรฅ same plass, med same storleik og namn, sรฅ blir det ikkje oppdaga.$N$Ndet anbefalast รฅ kun benytte denne funksjonen for รฅ komme seg raskt gjennom sjรธlve opplastinga, for sรฅ รฅ skru den av, og รฅt slutt "laste opp" dei same filene รฉin gong รฅt -- slik at integriteten kan verifiserast\">turbo", - - "cut_datechk": "har ingen effekt dersom turbo er skrudd av$N$Ngjer turbo bittelitt tryggare ved รฅ sjekke datostemplinga pรฅ filene (i tillegg รฅt filstorleik)$N$Nburde oppdage og gjenoppta dei fleste ufullstendige opplastinger, men er ikkje ein fullverdig erstatning for รฅ deaktivere turbo og gjere ein skikkeleg sjekk\">date-chk", - - "cut_u2sz": "storleik i megabyte for kvart bruddstykke for opplasting. Store verdiar flyg betre over atlanteren. Smรฅ verdiar kan vere betre pรฅ flettande ustabile samband", - - "cut_flag": "samkรธyrer nettlesarfaner slik at berre รฉin $N kan holde pรฅ med synfaring / opplasting $N -- andre faner mรฅ รณg ha denne skrudd pรฅ $N -- fungerar kun innanom same domene", - - "cut_az": "last opp filer i alfabetisk rekkefรธlge, i staden for minste-fil-fรธrst$N$Nalfabetisk kan gjere det lettare รฅ anslรฅ om alt gjekk bra, men er bittelitt treigare pรฅ fiber / LAN", - - "cut_nag": "meldingsvarsel nรฅr opplasting er ferdig$N(kun om nettlesarfana ikkje er synlig)", - "cut_sfx": "lydvarsel nรฅr opplasting er ferdig$N(kun om nettlesarfanen ikkje er synlig)", - - "cut_mt": "raskere synfaring ved รฅ bruke heile CPU'en$N$Ndenne funksjonen nytter web-workers$Nog krev meir RAM (opptil 512 MiB ekstra)$N$Ngjer https 30% raskare, http 4.5x raskare\">mt", - - "cut_wasm": "bruk wasm i staden for nettlesaren sin sha512-funksjon; gjev betre yting pรฅ chrome-baserte nettlesarar, men brukar meir CPU, og eldre versjoner av chrome toler det ikkje (et opp all RAM og krรฆsjer)\">wasm", - - "cft_text": "ikontekst (blank ut og last siden pรฅ nytt for รฅ deaktivere)", - "cft_fg": "farge", - "cft_bg": "bakgrunnsfarge", - - "cdt_lim": "maks mengd filer รฅ vise per mappe", - "cdt_ask": "vis knappar for รฅ laste fleire filer nederst pรฅ sida i staden for รฅ gradvis laste meir av mappea nรฅr man scroller ned", - "cdt_hsort": "antall sorteringsreglar (<code>,sorthref</code>) som skal inkluderast nรฅr media-URL'ar genererast. Dersom denne er 0 sรฅ vil sorteringsreglar i URL'ar korkje bli generert eller lest", - - "tt_entree": "bytt รฅt mappehierarki$NSnarvei: B", - "tt_detree": "bytt รฅt tradisjonell stivising$NSnarvei: B", - "tt_visdir": "bla ned รฅt den รฅpne mappa", - "tt_ftree": "bytt mellom filstruktur og tekstfiler$NSnarvei: V", - "tt_pdock": "vis dei overordna mappane i eit panel", - "tt_dynt": "รธk bredda pรฅ panelet ettersom treet utvider seg", - "tt_wrap": "linjebryting", - "tt_hover": "vis heile mappenamnet nรฅr musepeikaren treff mappa$N( gjer diverre at scrollhjulet fusker dersom musepeikaren ikkje finn seg i grรธfta )", - - "ml_pmode": "ved enden av mappa", - "ml_btns": "knapper", - "ml_tcode": "konvertering", - "ml_tcode2": "konvertรฉr til", - "ml_tint": "tint", - "ml_eq": "audio equalizer (tonejustering)", - "ml_drc": "compressor (volumutjevning)", - - "mt_loop": "spel den same songen om og om igjen\">๐Ÿ”", - "mt_one": "spel kun รฉin song\">1๏ธโƒฃ", - "mt_shuf": "songane i kvar mappe$Nspelast i tilfeldig rekkefรธlge\">๐Ÿ”€", - "mt_aplay": "prรธv รฅ starte avspeling viss linken du trykte pรฅ for รฅ รฅpne nettsida inneheld ein song-ID$N$Nviss denne deaktiverast sรฅ vil heller ikkje nettside-URL'en bli oppdatert med song-ID'er nรฅr musikk spelast, i tilfelle innstillingane skulle gรฅ tapt og nettsida lastast pรฅ ny\">aโ–ถ", - "mt_preload": "hent ned litt av neste song i forkant,$Nslik at pausa i overgangen blir mindre\">forsyn", - "mt_prescan": "ved behov, bla รฅt neste mappe$Nslik at nettlesaren lar oss$Nfortsetja รฅ spele musikk\">bla", - "mt_fullpre": "hent ned heile neste song, ikkje berre litt:$Nโœ… skru pรฅ viss nettet ditt er ustabilt,$NโŒ skru av viss nettet ditt er treigt\">full", - "mt_fau": "for telefoner: forhindre at avspeling stoppar viss nettet er for treigt รฅt รฅ laste neste song i tide. Viss pรฅskrudd kan det forรฅrsake at songinfo ikkje visast korrekt i OS'et\">โ˜•๏ธ", - "mt_waves": "waveform seekbar:$Nvis volumkurve i avspelingsfeltet\">~s", - "mt_npclip": "vis knappar for รฅ kopiere info om songen du hรธyrer pรฅ\">/np", - "mt_m3u_c": "vis knapper for รฅ kopiere dei valde$Nsongene som innslag i ei m3u8-speleliste\">๐Ÿ“ป", - "mt_octl": "integrering med operativsystemet (fjernkontroll, infoskjerm)\">os-ctl", - "mt_oseek": "gje lรธyve รฅt spoling med fjernkontroll$N$Nmerk: pรฅ nokon eininger (iPhones) sรฅ vil$Ndette erstatte knappen for neste song\">spoling", - "mt_oscv": "vis albumcover pรฅ infoskjermen\">bilde", - "mt_follow": "bla slik at songen som spelast alltid er synleg\">๐ŸŽฏ", - "mt_compact": "tettpakka spelarpanel\">โŸŽ", - "mt_uncache": "prรธv denne viss ein song ikkje spelar riktig\">oppfrisk", - "mt_mloop": "repetรฉr heile mappa\">๐Ÿ” gjenta", - "mt_mnext": "hopp รฅt neste mappe og fortsett\">๐Ÿ“‚ neste", - "mt_mstop": "stopp avspeling\">โธ stopp", - "mt_cflac": "konvertรฉr flac / wav-filer รฅt {0}\">flac", - "mt_caac": "konvertรฉr aac / m4a-filer รฅt to {0}\">aac", - "mt_coth": "konvertรฉr alt anna (men ikkje mp3) รฅt {0}\">andre", - "mt_c2opus": "det beste valget for alle PCar og Android\">opus", - "mt_c2owa": "opus-weba, for iOS 17.5 og nyare\">owa", - "mt_c2caf": "opus-caf, for iOS 11 รฅt og med 17\">caf", - "mt_c2mp3": "bra valg for steinalder-utstyr (slรฅr aldri feil)\">mp3", - "mt_c2flac": "gir best lydkvalitet, men et nettet ditt\">flac", - "mt_c2wav": "heilt rรฅ lydstrรธm (bruker enda meir data enn flac)\">wav", - "mt_c2ok": "bra valg!", - "mt_c2nd": "ikkje det fรธretrekte valget for din einheit, men funker sikkert greit", - "mt_c2ng": "ser verkelig ikkje ut som enheiten din taklar dette formatet... men ok, vi prรธver", - "mt_xowa": "iOS har fortsatt problem med avspeling av owa-musikk i bakgrunnen. Bruk caf eller mp3 i staden for", - "mt_tint": "nivรฅ av bakgrunnsfarge pรฅ sรธkestripa (0-100),$Ngjer oppdateringer mindre distraherande", - "mt_eq": "aktivรฉr tonekontroll og forsterker;$N$Nboost <code>0</code> = normal volumskala$N$Nwidth <code>1  </code> = normal stereo$Nwidth <code>0.5</code> = 50% blanding venstre-hรธgre$Nwidth <code>0  </code> = mono$N$Nboost <code>-0.8</code> & width <code>10</code> = instrumental :^)$N$Nreduserer รณg daudtid mellom songfiler", - "mt_drc": "aktivรฉr volum-utjevning (dynamic range compressor); vil รณg aktivere tonejustering, sรฅ sett alle EQ-feltene bortsett frรฅ 'width' รฅt 0 viss du ikkje vil ha nokon EQ$N$Nfilteret vil dempe volumet pรฅ alt som er hรธgare enn TRESH dB; for kvar RATIO dB over grensa er det 1dB som treff hรธgtalarane, sรฅ standardverdiane tresh -24 og ratio 12 skal bety at volumet ikkje gjeng hรธgare enn -22 dB, slik at ein trygt kan รธke boost-verdien i equalizeren รฅt rundt 0.8, eller 1.8 kombinert med ATK 0 og RLS 90 (berre mulig i firefox; andre nettlesarar tek ikkje hรธgare RLS enn 1)$N$Nwikipedia forklarar dette mykje betre forresten", - - "mb_play": "lytt", - "mm_hashplay": "spel denne songen?", - "mm_m3u": "trykk Enter/OK for รฅ spele\ntrykk ESC/Avbryt for รฅ redigere", - "mp_breq": "krev firefox 82+, chrome 73+, eller iOS 15+", - "mm_bload": "lastar inn...", - "mm_bconv": "konverterer รฅt {0}, vent litt...", - "mm_opusen": "nettlesaren din skjรธnar ikkje aac / m4a;\nkonvertering รฅt opus er no aktivert", - "mm_playerr": "avspeling feilet: ", - "mm_eabrt": "Avspelingsforespรธrselen blei avbroten", - "mm_enet": "Nettet ditt er ustabilt", - "mm_edec": "Noko er galt med musikkfila", - "mm_esupp": "Nettleseren din skjรธnar ikkje filtypen", - "mm_eunk": "Ukjent feil", - "mm_e404": "Avspeling feilet: Fil ikkje funnet.", - "mm_e403": "Avspeling feilet: Hรธve nekta.\n\nKanskje du blei logget ut?\nPrรธv รฅ trykk F5 for รฅ laste sida pรฅ nytt.", - "mm_e500": "Avspeling feilet: Rusk i maskineriet, sjekk serverloggen.", - "mm_e5xx": "Avspeling feilet: ", - "mm_nof": "finn ikkje flere songer i nรฆrheita", - "mm_prescan": "Leitar etter neste song...", - "mm_scank": "Fann neste song:", - "mm_uncache": "alle songer vil lastast pรฅ nytt ved neste avspeling", - "mm_hnf": "songen finnast ikkje lenger", - - "im_hnf": "bildet finnast ikkje lenger", - - "f_empty": 'denne mappa er tom', - "f_chide": 'dette vil skjule kolonna ยซ{0}ยป\n\nfana for "andre innstillinger" let deg vise kolonna igjen', - "f_bigtxt": "denne fila er heeile {0} MiB -- vis som tekst?", - "f_bigtxt2": "vil du sjรฅ bunnen av filen i staden for? du vil da รณg sjรฅ nye linjer som blir lagd รฅt pรฅ slutten av filen i sanntid", - "fbd_more": '
    visar {0} av {1} filer; vis {2} eller vis alle
    ', - "fbd_all": '
    visar {0} av {1} filer; vis alle
    ', - "f_anota": "kun {0} av totalt {1} element blei markert;\nfor รฅ velje alt mรฅ du bla รฅt bunnen av mappa fรธrst", - - "f_dls": 'lenkane i denne mappa er no\nomgjort รฅt nedlastingsknappar', - - "f_partial": "For รฅ laste ned ei fil som enda ikkje er ferdig opplasta, klikk pรฅ filen som har same filnamn som denne, men uten .PARTIAL pรฅ slutten. Da vil serveren passe pรฅ at nedlastinga gรฅr bra. Derfor anbefalast det sterkt รฅ trykkje AVBRYT eller Escape-tasten.\n\nViss du verkelig รธnskjer รฅ laste ned denne .PARTIAL-filen pรฅ ein ukontrollert mรฅte, trykk OK / Enter for รฅ ignorere denne advarselen. Slik vil du hรธgst sannsynleg motta korrupt data.", - - "ft_paste": "Lim inn {0} filer$NSnarvei: ctrl-V", - "fr_eperm": 'kan ikkje endre namn:\ndu har ikkje hรธve รฅt โ€œmoveโ€ i denne mappa', - "fd_eperm": 'kan ikkje slette:\ndu har ikkje hรธve รฅt โ€œdeleteโ€ i denne mappa', - "fc_eperm": 'kan ikkje klippe ut:\ndu har ikkje hรธve รฅt โ€œmoveโ€ i denne mappa', - "fp_eperm": 'kan ikkje lime inn:\ndu har ikkje hรธve รฅt โ€œwriteโ€ i denne mappa', - "fr_emore": "vel minst รฉi fil som skal fรฅ nytt namn", - "fd_emore": "vel minst รฉi fil som skal slettast", - "fc_emore": "vel minst รฉi fil som skal klippast ut", - "fcp_emore": "vel minst รฉi fil som skal kopierast รฅt utklippstavla", - - "fs_sc": "del mappa du er i no", - "fs_ss": "del dei valde filene", - "fs_just1d": "du kan ikkje markere flere mapper samtidig,\neller kombinere mapper og filer", - "fs_abrt": "โŒ avbryt", - "fs_rand": "๐ŸŽฒ tilfeldig namn", - "fs_go": "โœ… opprett deling", - "fs_name": "namn", - "fs_src": "kjelde", - "fs_pwd": "passord", - "fs_exp": "varigheit", - "fs_tmin": "min", - "fs_thrs": "timar", - "fs_tdays": "dagar", - "fs_never": "for evig", - "fs_pname": "valfri namn (blir litt tilfeldig ellers)", - "fs_tsrc": "fil/mappe som skal delast", - "fs_ppwd": "valfri passord", - "fs_w8": "opprettar deling...", - "fs_ok": "trykk Enter/OK for รฅ kopiere lenka (for CTRL-V)\ntrykk ESC/Avbryt for รฅ kun bekrefta", - - "frt_dec": "kan korrigere visse รธdelagte filnamn\">url-decode", - "frt_rst": "nullstillar endringar (tilbake รฅt dei originale filnamna)\">โ†บ reset", - "frt_abrt": "avbryt og lukk dette vindauget\">โŒ avbryt", - "frb_apply": "IVERKSETT", - "fr_adv": "automasjon basert pรฅ metadata
    og / eller mรธnster (regulรฆre uttrykk)\">avansert", - "fr_case": "versalfรธlsomme uttrykk\">Aa", - "fr_win": "bytt ut bokstavane <>:"\\|?* med$Ntilsvarande som windows ikkje fรฅr panikk av\">win", - "fr_slash": "bytt ut bokstaven / slik at den ikkje forรฅrsakar at nye mapper opprettes\">ikke /", - "fr_re": "regex-mรธnster som kรธyrast pรฅ kvart filnamn. Grupper kan leses ut i format-feltet nedanfor, f.eks. <code>(1)</code> og <code>(2)</code> osv.", - "fr_fmt": "inspirert av foobar2000:$N<code>(title)</code> byttast ut med songtittel,$N<code>[(artist) - ](title)</code> dropper [dette] viss artist er blank$N<code>$lpad((tn),2,0)</code> visar songnr. med 2 siffer", - "fr_pdel": "slett", - "fr_pnew": "lagre som", - "fr_pname": "gje innstillingane dine eit namn", - "fr_aborted": "avbrote", - "fr_lold": "gamalt namn", - "fr_lnew": "nytt namn", - "fr_tags": "metadata for dei valde filene (kun for referanse):", - "fr_busy": "endrar namn pรฅ {0} filer...\n\n{1}", - "fr_efail": "endring av namn feila:\n", - "fr_nchg": "{0} av namna blei justert pga. win og/eller ikkje /\n\nvil du fortsetja med dei nye namna som blei valde?", - - "fd_ok": "sletting OK", - "fd_err": "sletting feila:\n", - "fd_none": "ingenting blei sletta; kanskje avvist av serverkonfigurasjon (xbd)?", - "fd_busy": "slettar {0} filer...\n\n{1}", - "fd_warn1": "SLETT disse {0} filene?", - "fd_warn2": "Siste sjanse! Dette kan ikkje angrast. Slett?", - - "fc_ok": "klipte ut {0} filer", - "fc_warn": 'klipte ut {0} filer\n\nmen: kun denne nettlesarfana har muligheit รฅt รฅ lime dei inn ein annan plass, siden antallet filer er helt hinsides', - - "fcc_ok": "kopierte {0} filer รฅt utklippstavla", - "fcc_warn": 'kopierte {0} filer รฅt utklippstavla\n\nmen: kun denne nettlesarfana har muligheit รฅt รฅ lime dei inn ein annan plass, sidan antallet filer er heilt pรฅ hi sida', - - "fp_apply": "bekreft og lim inn no", - "fp_ecut": "du mรฅ klippe ut eller kopiere nokre filer / mapper fรธrst\n\nmerk: du kan gjerne jobbe pรฅ kryss av nettlesarfaner; klippe ut i รฉi fane, lime inn i ei anna", - "fp_ename": "{0} filer kan ikkje flyttast รฅt mรฅlmappa fordi det allereie finnast filer med same namn. Gi dei nye namn nedanfor, eller gje dei eit blankt namn for รฅ hoppe over dei:", - "fcp_ename": "{0} filer kan ikkje kopierast รฅt mรฅlmappa fordi det allereie finnast filer med same namn. Gi dei nye namn nedanfor, eller gje dei eit blankt namn for รฅ hoppe over dei:", - "fp_emore": "det er fortsatt fleire namn som mรฅ endrast", - "fp_ok": "flytting OK", - "fcp_ok": "kopiering OK", - "fp_busy": "flyttar {0} filer...\n\n{1}", - "fcp_busy": "kopierar {0} filer...\n\n{1}", - "fp_abrt": "avbryt...", - "fp_err": "flytting feila:\n", - "fcp_err": "kopiering feila:\n", - "fp_confirm": "flytt disse {0} filene hit?", - "fcp_confirm": "kopiรฉr disse {0} filene hit?", - "fp_etab": 'kunne ikkje lese lista med filer frรฅ den andre nettlesarfana', - "fp_name": "Lastar opp รฉi fil frรฅ einheita di. Velg filnamn:", - "fp_both_m": '
    kva skal limast inn her?
    Enter = Flytt {0} filer frรฅ ยซ{1}ยป\nESC = Last opp {2} filer frรฅ einheita din', - "fcp_both_m": '
    kva skal limes inn her?
    Enter = Kopiรฉr {0} filer frรฅ ยซ{1}ยป\nESC = Last opp {2} filer frรฅ einheita din', - "fp_both_b": 'FlyttLast opp', - "fcp_both_b": 'KopiรฉrLast opp', - - "mk_noname": "skriv inn eit namn i tekstboksa รฅt venstre fรธrst :p", - - "tv_load": "Lastar inn tekstfil:\n\n{0}\n\n{1}% ({2} av {3} MiB lasta ned)", - "tv_xe1": "kunne ikkje laste tekstfil:\n\nfeil ", - "tv_xe2": "404, Fil ikkje funne", - "tv_lst": "tekstfiler i mappa", - "tvt_close": "gรฅ tilbake รฅt mappa$NSnarvei: M (eller Esc)\">โŒ lukk", - "tvt_dl": "last ned denne fila$NSnarvei: Y\">๐Ÿ’พ last ned", - "tvt_prev": "vis fรธrre dokument$NSnarvei: i\">โฌ† forr.", - "tvt_next": "vis neste dokument$NSnarvei: K\">โฌ‡ neste", - "tvt_sel": "markรฉr fila   ( for utklipp / sletting / ... )$NSnarvei: S\">merk", - "tvt_edit": "redigรฉr fila$NSnarvei: E\">โœ๏ธ endre", - "tvt_tail": "overvak fila for endringar og vis nye linjer i sanntid\">๐Ÿ“ก fรธlg", - "tvt_wrap": "tekstbryting\">โ†ต", - "tvt_atail": "hald dei nyaste linjene synlege (lรฅs รฅt botnen av sida)\">โš“", - "tvt_ctail": "skjรธn og vis terminalfargar (ansi-sekvensar)\">๐ŸŒˆ", - "tvt_ntail": "maksgrense for antal bokstavar som skal visast i vindauget", - - "m3u_add1": "songen blei lagd รฅt i m3u-spelelista", - "m3u_addn": "{0} songer blei lagde รฅt i m3u-spelelista", - "m3u_clip": "m3u-spelelista blei kopiert รฅt utklippstavla\n\nneste steg er รฅ oppretta eit tekstdokument med filnamn som sluttar pรฅ .m3u og lime inn spelelista der", - - "gt_vau": "ikkje vis videofiler, berre spel lyden\">๐ŸŽง", - "gt_msel": "markรฉr filer i staden for รฅ รฅpne dei; ctrl-klikk filer for รฅ overstyre$N$N<em>nรฅr aktiv: dobbelklikk ei fil / mappe for รฅ รฅpne</em>$N$NSnarvei: S\">markering", - "gt_crop": "skjer ikona slik at dei passar betre\">โœ‚", - "gt_3x": "hรธgare opplรธysing pรฅ ikon\">3x", - "gt_zoom": "zoom", - "gt_chop": "trim", - "gt_sort": "sortรฉr", - "gt_name": "namn", - "gt_sz": "stรธrr.", - "gt_ts": "dato", - "gt_ext": "type", - "gt_c1": "redusรฉr makslengde pรฅ filnamn", - "gt_c2": "auk makslengde pรฅ filnamn", - - "sm_w8": "sรธker...", - "sm_prev": "sรธkeresultata er frรฅ eit tidlegare sรธk:\n ", - "sl_close": "lukk sรธkeresultat", - "sl_hits": "visar {0} treff", - "sl_moar": "hent fleire", - - "s_sz": "stรธrr.", - "s_dt": "dato", - "s_rd": "sti", - "s_fn": "namn", - "s_ta": "meta", - "s_ua": "up@", - "s_ad": "avns.", - "s_s1": "stรธrre enn โ†“ MiB", - "s_s2": "mindre enn โ†“ MiB", - "s_d1": "nyare enn <dato>", - "s_d2": "eldre enn", - "s_u1": "lasta opp etter", - "s_u2": "og/eller fรธr", - "s_r1": "mappaamn inneheld", - "s_f1": "filnamn inneheld", - "s_t1": "song-info inneheld", - "s_a1": "konkrete eigenskapar", - - "md_eshow": "visar forenkla ", - "md_off": "[๐Ÿ“œreadme] er skrudd av i [โš™๏ธ] -- dokument skjult", - - "badreply": "Ugyldig svar frรฅ serveren", - - "xhr403": "403: Hรธve nekta\n\nkanskje du blei logga ut? prรธv รฅ trykk F5", - "xhr0": "ukjend (enten nettverksproblem eller serverkrรฆsj)", - "cf_ok": "om orsak -- liten tilfeldig kontroll, alt OK\n\nting skal fortsetja om ca. 30 sekund\n\nviss ikkje noko skjer, trykk F5 for รฅ laste sida pรฅ nytt", - "tl_xe1": "kunne ikkje hente undermapper:\n\nfeil ", - "tl_xe2": "404: Mappa finnast ikkje", - "fl_xe1": "kunne ikkje hente filer i mappa:\n\nfeil ", - "fl_xe2": "404: Mappa finnast ikkje", - "fd_xe1": "kan ikkje opprette ny mappe:\n\nfeil ", - "fd_xe2": "404: Den overordna mappa finnast ikkje", - "fsm_xe1": "kunne ikkje sende melding:\n\nfeil ", - "fsm_xe2": "404: Den overordna mappa finnast ikkje", - "fu_xe1": "kunne ikkje hente lista med nyleg opplastede filer frรฅ serveren:\n\nfeil ", - "fu_xe2": "404: Fila finnast ikkje??", - - "fz_tar": "ukomprimert gnu-tar arkiv, for linux og mac", - "fz_pax": "ukomprimert pax-tar arkiv, litt treigare", - "fz_targz": "gnu-tar pakket med gzip (nivรฅ 3)$N$NNB: denne er veldig treig;$Nukomprimert tar er betre", - "fz_tarxz": "gnu-tar pakket med xz (nivรฅ 1)$N$NNB: denne er veldig treig;$Nukomprimert tar er betre", - "fz_zip8": "zip med filnamn i utf8 (noko problematisk pรฅ windows 7 og eldre)", - "fz_zipd": "zip med filnamn i cp437, for hรธggamle maskiner", - "fz_zipc": "cp437 med tidlig crc32,$Nfor MS-DOS PKZIP v2.04g (oktober 1993)$N(รธker behandlingstid pรฅ server)", - - "un_m1": "nedanfor kan du angre / slette filer som du nyleg har lastet opp, eller avbryte ufullstendige opplastinger", - "un_upd": "oppdater", - "un_m4": "eller viss du vil dele nedlastings-lenkene:", - "un_ulist": "vis", - "un_ucopy": "kopiรฉr", - "un_flt": "valgfritt filter:  filnamn / filsti mรฅ inneholde", - "un_fclr": "nullstill filter", - "un_derr": 'unpost-sletting feilet:\n', - "un_f5": 'noko gjekk galt, prรธv รฅ oppdatere lista eller trykk F5', - "un_uf5": "om orsak, men du mรฅ laste sida pรฅ nytt (f.eks. ved รฅ trykkje F5 eller CTRL-R) fรธr denne opplastinga kan avbrytast", - "un_nou": 'advarsel: kan ikkje vise ufullstendige opplastingar akkurat no; klikk pรฅ oppdater-lenka om litt', - "un_noc": 'advarsel: angring av fullfรธrte opplastingar er deaktivert i serverkonfigurasjonen', - "un_max": "visar dei fรธrste 2000 filene (bruk filteret for รฅ snevre inn)", - "un_avail": "{0} nyleg opplasta filer kan slettast
    {1} ufullstendige opplastingar kan avbrytast", - "un_m2": "sortert etter opplastingstid; nyaste fรธrst:", - "un_no1": "men nei, her var det jaggu ikkje noko som slettast kan", - "un_no2": "men nei, her var det jaggu ingenting som passa overens med filteret", - "un_next": "slett dei neste {0} filene nedanfor", - "un_abrt": "avbryt", - "un_del": "slett", - "un_m3": "hentar lista med nyleg opplasta filer...", - "un_busy": "slettar {0} filer...", - "un_clip": "{0} lenkar kopiert รฅt utklippstavla", - - "u_https1": "du burde", - "u_https2": "bytte รฅt https", - "u_https3": "for hรธgare hastigheit", - "u_ancient": 'nettlesaren din er prehistorisk -- mulig du burde bruke bup i staden for', - "u_nowork": "krev firefox 53+, chrome 57+, eller iOS 11+", - "tail_2old": "krev firefox 105+, chrome 71+, eller iOS 14.5+", - "u_nodrop": 'nettlesaren din er for gamal รฅt รฅ laste opp filer ved รฅ drage dei inn i vindauget', - "u_notdir": "mottok ikkje mappa!\n\nnettlesaren din er for gamal,\nprรธv รฅ drage mappa inn i vindauget i staden for", - "u_uri": "for รฅ laste opp bilder frรฅ andre nettlesarvindauge,\nslipp bildet rett pรฅ den store last-opp-knappen", - "u_enpot": 'bytt รฅt enkelt UI (gir sannsynleg raskere opplasting)', - "u_depot": 'bytt รฅt snรฆsent UI (gir sannsynleg treigare opplasting)', - "u_gotpot": 'bytta รฅt eit enklare UI for รฅ laste opp raskere,\n\ndu kan gjerne bytte tilbake altsรฅ!', - "u_pott": "

    filer:   {0} ferdig,   {1} feilet,   {2} behandlast,   {3} i kรธ

    ", - "u_ever": "dette er den primitive opplastaren; up2k krev minst:
    chrome 21 // firefox 13 // edge 12 // opera 12 // safari 5.1", - "u_su2k": 'dette er den primitive opplastaren; up2k er betre', - "u_uput": 'litt raskare (uten sha512)', - "u_ewrite": 'du har ikkje hรธve til รฅ skrive i denne mappa', - "u_eread": 'du har ikkje hรธve til รฅ lese i denne mappa', - "u_enoi": 'filsรธk er deaktivert i serverkonfigurasjonen', - "u_enoow": "kan ikkje overskrive filer her (Delete-rettigheiten er nรธdvendig)", - "u_badf": 'Disse {0} filene (av totalt {1}) kan ikkje leses, kanskje pga rettigheitsproblem i filsystemet pรฅ datamaskinen din:\n\n', - "u_blankf": 'Disse {0} filene (av totalt {1}) er blanke / uten innhald; รธnskjer du รฅ laste dei opp uansett?\n\n', - "u_applef": 'Disse {0} filene (av totalt {1}) er antakeleg uรธnska;\nTrykk OK/Enter for รฅ HOPPE OVER disse filene,\nTrykk Avbryt/ESC for รฅ LASTE OPP disse filene รณg:\n\n', - "u_just1": '\nFunkar kanskje betre viss du berre tar รฉi fil om gangen', - "u_ff_many": 'Viss du bruker Linux / MacOS / Android, sรฅ kan dette antalet filer
    kanskje krรฆsje Firefox! Viss det skjer, sรฅ prรธv igjen (eller bruk Chrome).', - "u_up_life": "Filene slettast frรฅ serveren {0}\netter at opplastingen er fullfรธrt", - "u_asku": 'Laste opp disse {0} filene รฅt {1}', - "u_unpt": "Du kan angre / slette opplastinga med ๐Ÿงฏ oppe รฅt venstre", - "u_bigtab": 'Vil no vise {0} filer...\n\nDette kan krรฆsje nettlesaren din. Fortsette?', - "u_scan": 'Les mappane...', - "u_dirstuck": 'Nettleseren din fekk ikkje hรธve รฅt รฅ lese fรธlgande {0} filer/mapper, sรฅ dei blir hoppa over:', - "u_etadone": 'Ferdig ({0}, {1} filer)', - "u_etaprep": '(forberedar opplasting)', - "u_hashdone": 'synfaring ferdig', - "u_hashing": 'les', - "u_hs": 'serveren tenkjer...', - "u_started": "filene blir no lasta opp ๐Ÿš€", - "u_dupdefer": "duplikat; vil bli hรฅndtert รฅt slutt", - "u_actx": "klikk her for รฅ forhindre tap av
    yting ved bytte รฅt andre vindauge/faner", - "u_fixed": "OK!  Lรธyste seg ๐Ÿ‘", - "u_cuerr": "kunne ikkje laste opp del {0} av {1};\nsikkert greit, fortsetjar\n\nfil: {2}", - "u_cuerr2": "server nekta opplastinga (del {0} av {1});\nprรธver igjen senere\n\nfil: {2}\n\nerror ", - "u_ehstmp": "prรธver igjen; se mld nederst", - "u_ehsfin": "server nekta forespรธrselen om รฅ ferdigstille filen; prรธver igjen...", - "u_ehssrch": "server nekta forespรธrselen om รฅ utfรธre sรธk; prรธver igjen...", - "u_ehsinit": "server nekta forespรธrselen om รฅ begynne ei ny opplasting; prรธver igjen...", - "u_eneths": "eit problem med nettverket gjorde at avtale om opplasting ikkje kunne inngรฅs; prรธver igjen...", - "u_enethd": "eit problem med nettverket gjorde at filsjekk ikkje kunne utfรธrast; prรธver igjen...", - "u_cbusy": "ventar pรฅ klarering frรฅ server etter eit lite nettverksglipp...", - "u_ehsdf": "serveren er full!\n\nprรธver igjen regelmessig,\ni tilfelle nokon ryddar litt...", - "u_emtleak1": "uff, det er mulig at nettlesaren din har ei minnelekkasje...\nForeslรฅr", - "u_emtleak2": ' helst at du byttar รฅt https, eller ', - "u_emtleak3": ' at du ', - "u_emtleakc": 'prรธver fรธlgande:\n
    • trykk F5 for รฅ laste sida pรฅ nytt
    • sรฅ skru av  mt  brytaren under  โš™๏ธ innstillinger
    • og prรธv den same opplastinga igjen
    Opplasting vil gรฅ litt treigare, men det fรฅr sรฅ vere.\nBeklager bryderiet!\n\nPS: feilen skal vere fikset i chrome v107', - "u_emtleakf": 'prรธver fรธlgende:\n
    • trykk F5 for รฅ laste sida pรฅ nytt
    • sรฅ skru pรฅ ๐Ÿฅ” ("enkelt UI") i opplastaren
    • og prรธv den same opplastingen igjen
    \nPS: Firefox fiksar forhรฅpentligvis feilen ein eller annen gong', - "u_s404": "ikkje funne pรฅ serveren", - "u_expl": "forklar", - "u_maxconn": "dei fleste nettlesarar tillet ikkje meir enn 6, men firefox lar deg รธke grensen med connections-per-server i about:config", - "u_tu": '

    ADVARSEL: turbo er pรฅ,  avbrotne opplastingar vil muligens ikkje oppdagast og gjenopptakast; hald musepeikaren over turbo-knappen for meir info

    ', - "u_ts": '

    ADVARSEL: turbo er pรฅ,  sรธkeresultat kan vere feil; hold musepeikaren over turbo-knappen for meir info

    ', - "u_turbo_c": "turbo er deaktivert i serverkonfigurasjonen", - "u_turbo_g": 'turbo blei deaktivert fordi du ikkje har\nhรธve รฅt รฅ sjรฅ mappeinnhold i dette volumet', - "u_life_cfg": 'slett opplasting etter min (eller timar)', - "u_life_est": 'opplastingen slettast ---', - "u_life_max": 'denne mappa tillet ikkje รฅ \noppbevare filer i meir enn {0}', - "u_unp_ok": 'opplasting kan angrast i {0}', - "u_unp_ng": 'opplasting kan IKKE angrast', - "ue_ro": 'du har ikkje hรธve รฅt skriving i denne mappa\n\n', - "ue_nl": 'du er ikkje logga inn', - "ue_la": 'du er logga inn som "{0}"', - "ue_sr": 'du er i filsรธk-modus\n\nbytt รฅt opplasting ved รฅ klikke pรฅ forstรธrringsglaset ๐Ÿ”Ž (ved siden av den store FILSร˜K-knappen) og prรธv igjen\n\nsorry', - "ue_ta": 'prรธv รฅ last opp igjen, det burde fungere no', - "ue_ab": "den same filen er under opplasting รฅt ei anna mappe, og den mรฅ fullfรธrast der fรธr fila kan lastast opp andre plassar.\n\nDu kan avbryte og glรธyme den pรฅbegynte opplastinga ved hjelp av ๐Ÿงฏ oppe รฅt venstre", - "ur_1uo": "OK: Fila blei lastet opp", - "ur_auo": "OK: Alle {0} filene blei lastet opp", - "ur_1so": "OK: Fila blei funne pรฅ serveren", - "ur_aso": "OK: Alle {0} filene blei funne pรฅ serveren", - "ur_1un": "Opplasting feila!", - "ur_aun": "Alle {0} opplastingene gjekk feil!", - "ur_1sn": "Fila finnast IKKE pรฅ serveren", - "ur_asn": "Fann INGEN av dei {0} filene pรฅ serveren", - "ur_um": "Ferdig;\n{0} opplastingar gjekk bra,\n{1} opplastingar gjekk feil", - "ur_sm": "Ferdig;\n{0} filer blei funne,\n{1} filer finnast IKKJE pรฅ serveren", - - "lang_set": "passar det รฅ laste sida pรฅ nytt?", - }, - "pol": { - "tt": "Polski", - "cols": { - "c": "przyciski akcji", - "dur": "czas trwania", - "q": "jakoล›ฤ‡ / bitrate", - "Ac": "kodek audio", - "Vc": "kodek wideo", - "Fmt": "format / kontener", - "Ahash": "suma kontrolna audio", - "Vhash": "suma kontrolna wideo", - "Res": "rozdzielczoล›ฤ‡", - "T": "rodzaj pliku", - "aq": "jakoล›ฤ‡ / bitrate audio", - "vq": "jakoล›ฤ‡ / bitrate wideo", - "pixfmt": "podprรณbkowanie / struktura pikseli", - "resw": "rozdzielczoล›ฤ‡ pozioma", - "resh": "rozdzielczoล›ฤ‡ pionowa", - "chs": "kanaล‚y audio", - "hz": "czฤ™stotliwoล›ฤ‡ prรณbkowania" - }, - - "hks": [ - [ - "misc", - ["ESC", "zamknij rรณลผne rzeczy"], - - "file-manager", - ["G", "przeล‚ฤ…cz widok lista / siatka"], - ["T", "przeล‚ฤ…cz miniaturki / ikony"], - ["โ‡ง A/D", "wielkoล›ฤ‡ miniaturki"], - ["ctrl-K", "usuล„ zaznaczone"], - ["ctrl-X", "wytnij zaznaczone do schowka"], - ["ctrl-C", "skopiuj zaznaczone do schowka"], - ["ctrl-V", "wklej (przenieล›/skopiuj) tutaj"], - ["Y", "pobierz zaznaczone"], - ["F2", "zmieล„ nazwฤ™ zaznaczonych"], - - "file-list-sel", - ["spacja", "przeล‚ฤ…cz zaznaczanie plikรณw"], - ["โ†‘/โ†“", "przenieล› kursor zaznaczenia"], - ["ctrl โ†‘/โ†“", "przenieล› kursor i widok"], - ["โ‡ง โ†‘/โ†“", "wybierz poprzedni/nastฤ™pny plik"], - ["ctrl-A", "wybierz wszystkie pliki/foldery"], - ], [ - "navigation", - ["B", "przeล‚ฤ…cz ล›cieลผkฤ™ nawigacyjnฤ… / panel nawigacyjny"], - ["I/K", "poprzedni/nastฤ™pny folder"], - ["M", "folder nadrzฤ™dny (lub zwiล„ aktualny)"], - ["V", "przeล‚ฤ…cz foldery / pliki tekstowe w panelu nawigacyjnym"], - ["A/D", "rozmiar panelu nawigacyjnego"], - ], [ - "audio-player", - ["J/L", "poprzedni/nastฤ™pny utwรณr"], - ["U/O", "przejdลบ 10 sek. do tyล‚u/przodu"], - ["0..9", "przeskocz do 0%..90%"], - ["P", "odtwรณrz/pauza (rรณwnieลผ rozpoczyna)"], - ["S", "wybierz odtwarzany utwรณr"], - ["Y", "pobierz utwรณr"], - ], [ - "image-viewer", - ["J/L, โ†/โ†’", "poprzednie/nastฤ™pne zdjฤ™cie"], - ["Home/End", "pierwsze/ostatnie zdjฤ™cie"], - ["F", "peล‚ny ekran"], - ["R", "obrรณฤ‡ zgodnie ze wskaz. zegara"], - ["โ‡ง R", "obrรณฤ‡ przeciwnie do ruchu wskaz. zegara"], - ["S", "wybierz zdjฤ™cie"], - ["Y", "pobierz zdjฤ™cie"], - ], [ - "video-player", - ["U/O", "przejdลบ 10 sek. do tyล‚u/przodu"], - ["P/K/Spacja", "odtwรณrz/pauza"], - ["C", "odtwarzaj nastฤ™pne po zakoล„czeniu"], - ["V", "odtwarzaj w pฤ™tli"], - ["M", "wycisz"], - ["[ i ]", "ustaw opรณลบnienie pฤ™tli"], - ], [ - "textfile-viewer", - ["I/K", "poprzedni/nastฤ™pny plik"], - ["M", "zamknij plik"], - ["E", "edytuj plik"], - ["S", "wybierz plik (do wyciฤ™cia/skopiowania/zmiany nazwy)"], - ] - ], - - "m_ok": "OK", - "m_ng": "Anuluj", - - "enable": "Wล‚ฤ…cz", - "danger": "NIEBEZPIECZEลƒSTWO", - "clipped": "skopiowano do schowka", - - "ht_s1": "sekunda", - "ht_s2": "sekund(y)", - "ht_m1": "minuta", - "ht_m2": "minuty", - "ht_h1": "godzina", - "ht_h2": "godziny", - "ht_d1": "dzieล„", - "ht_d2": "dni", - "ht_and": " i ", - - "goh": "panel sterowania", - "gop": 'poprzedni plik/folder">poprzedni', - "gou": 'nadrzฤ™dny folder">w gรณrฤ™', - "gon": 'nastฤ™pny folder">nastฤ™pny', - "logout": "Wyloguj ", - "login": "Zaloguj siฤ™", //m - "access": " dostฤ™p", - "ot_close": "zamknij pod-menu", - "ot_search": "szukaj plikรณw po atrybutach, ล›cieลผce / nazwie, tagach muzyki, bฤ…dลบ dowolnej ich kombinacji$N$N<code>foo bar</code> = musi zawieraฤ‡ ยซfooยป oraz ยซbarยป,$N<code>foo -bar</code> = musi zawieraฤ‡ ยซfooยป, lecz nie ยซbarยป,$N<code>^yana .opus$</code> = musi zaczynaฤ‡ siฤ™ od ยซyanaยป i byฤ‡ plikiem ยซopusยป$N<code>"try unite"</code> = zawieraฤ‡ dokล‚adnie ยซtry uniteยป$N$Nformatem daty jest iso-8601, czyli$N<code>2009-12-31</code> lub <code>2020-09-12 23:30:00</code>", - "ot_unpost": "unpost: usuล„ ostatnio przesล‚ane pliki lub przerwij przesyล‚anie", - "ot_bup": "bup: podstawowe przesyล‚anie danych, wspiera nawet netscape 4.0", - "ot_mkdir": "mkdir: tworzy nowy folder", - "ot_md": "new-md: tworzy nowy dokument markdown", - "ot_msg": "msg: wysyล‚a wiadomoล›ฤ‡ do loga serwera", - "ot_mp": "opcje odtwarzacza multimediรณw", - "ot_cfg": "opcje konfiguracji", - "ot_u2i": 'up2k: przesyล‚a pliki (jeลผeli masz dostฤ™p do zapisu) lub uruchomia tryb wyszukiwania, aby sprawdziฤ‡ czy juลผ istniejฤ… na serwerze$N$Nprzesyล‚anie moลผna wznowiฤ‡, jest wielowฤ…tkowe i znaczniki czasu sฤ… zachowywane, lecz zuลผywa wiฤ™cej procesora niลผ [๐ŸŽˆ]  (podstawowe przesyล‚anie)

    podczas przesyล‚ania ta ikona zamienia siฤ™ w wskaลบnik postฤ™pu!', - "ot_u2w": 'up2k: przesyล‚a pliki z moลผliwoล›ciฤ… wznowienia (moลผna zamknฤ…ฤ‡ przeglฤ…darkฤ™ i dokoล„czyฤ‡ przesyล‚anie plikรณw pรณลบniej)$N$Njest wielowฤ…tkowy i zachowuje znaczniki czasu plikรณw, lecz zuลผywa wiฤ™cej procesora od [๐ŸŽˆ]  (podstawowego przesyล‚ania)

    podczas przesyล‚ania ta ikona zamienia siฤ™ w wskaลบnik postฤ™pu!', - "ot_noie": 'Uลผyj przeglฤ…darki Chrome / Firefox / Edge', - - "ab_mkdir": "stwรณrz folder", - "ab_mkdoc": "stwรณrz dok. markdown", - "ab_msg": "wyล›lij wiad. do logรณw serwera", - - "ay_path": "przejdลบ do folderรณw", - "ay_files": "przejdลบ do plikรณw", - - "wt_ren": "zmieล„ nazwฤ™ zaznaczonych elementรณw$NSkrรณt: F2", - "wt_del": "usuล„ zaznaczone elementy$NSkrรณt: ctrl-K", - "wt_cut": "wytnij zaznaczone elementy <small>(aby wkleiฤ‡ gdzie indziej)</small>$NSkrรณt: ctrl-X", - "wt_cpy": "skopiuj zaznaczone pliki do schowka$N(aby wkleiฤ‡ gdzie indziej)$NSkrรณt: ctrl-C", - "wt_pst": "wklej wczeล›niej wyciฤ™te/skopiowane zaznaczenie$NSkrรณt: ctrl-V", - "wt_selall": "zaznacz wszystko$NHotkey: ctrl-A (when file focused)", - "wt_selinv": "odwrรณฤ‡ zaznaczenie", - "wt_zip1": "pobierz folder jako archiwum", - "wt_selzip": "pobierz zaznaczone jako archiwum", - "wt_seldl": "pobierz zaznaczenie jako oddzielne pliki$NSkrรณt: Y", - "wt_npirc": "skopiuj informacje o utworze w formacie irc", - "wt_nptxt": "skopiuj informacje o utworze jako zwykล‚y tekst", - "wt_m3ua": "dodaj to playlisty m3u (kliknij ๐Ÿ“ปcopy kliknij)", - "wt_m3uc": "skopiuj playlistฤ™ m3u do schowka", - "wt_grid": "przeล‚ฤ…cz widok siatki / listy$NSkrรณt: G", - "wt_prev": "poprzeni utwรณr$NSkrรณt: J", - "wt_play": "odtwรณrz / pauza$NSkrรณt: P", - "wt_next": "nastฤ™pny utwรณr$NSkrรณt: L", - - "ul_par": "przesyล‚ane rรณwnolegle:", - "ut_rand": "losuj nazwy plikรณw", - "ut_u2ts": "kopiuj znacznik ostatniej modyfikacji$Nz twojego systemu plikรณw na serwer\">๐Ÿ“…", - "ut_ow": "nadpisywaฤ‡ istniejฤ…ce pliki na serwerzฤ™?$N๐Ÿ›ก๏ธ: nigdy (wygeneruje nowฤ… nazwฤ™)$N๐Ÿ•’: nadpisz jeล›li pliki na serwerze sฤ… starsze niลผ przesyล‚ane$Nโ™ป๏ธ: zawsze nadpisuj jeล›li zawartoล›ฤ‡ plikรณw siฤ™ rรณลผni", - "ut_mt": "hashuj inne pliki podczas przesyล‚ania$N$Nmoลผna wyล‚ฤ…czyฤ‡ w przypadku wystฤ…pienia wฤ…skiego gardล‚a na CPU lub HDD", - "ut_ask": 'pytaj o potwierdzenie rozpoczฤ™cia przesyล‚ania">๐Ÿ’ญ', - "ut_pot": "przyspiesz przesyล‚anie na sล‚abszych urzฤ…dzeniach,$Nupraszczajฤ…c interfejs", - "ut_srch": "nie przesyล‚aj plikรณw, jedynie sprawdลบ czy istniejฤ…$Njuลผ na serwerze (przeskanuje wszystkie foldery dostฤ™pne do odczytu)", - "ut_par": "zatrzymuje przesyล‚anie jeล›li wynosi 0$N$Nzwiฤ™ksz w przypadku jeล›li twoja sieฤ‡ jest wolna / ma duลผe opรณลบnienia$N$Nustaw wartoล›ฤ‡ 1 w sieci lokalnej lub w przypadku wolnego dysku serwerowego", - "ul_btn": "upuล›ฤ‡ pliki / foldery
    tutaj (lub kliknij mnie)", - "ul_btnu": "P R Z E ลš L I J", - "ul_btns": "S Z U K A J", - - "ul_hash": "hashowanie", - "ul_send": "przesyล‚anie", - "ul_done": "gotowe", - "ul_idle1": "nic siฤ™ jeszcze nie przesyล‚a", - "ut_etah": "ล›rednia prฤ™dkoล›ฤ‡ <em>hashowania</em> i przewidywany czas do koล„ca", - "ut_etau": "ล›rednia prฤ™dkoล›ฤ‡ <em>przesyล‚ania</em> i przewidywany czas do koล„ca", - "ut_etat": "ล›rednia prฤ™dkoล›ฤ‡ <em>ogรณlna</em> i przewidywany czas do koล„ca", - - "uct_ok": "zakoล„czone pomyล›lnie", - "uct_ng": "zakoล„czono niepowodzeniem (odrzucono, nie znaleziono, itp.)", - "uct_done": "zakoล„czono z bล‚ฤ™dami", - "uct_bz": "w trakcie (oblicznie sumy kontrolnej, przesyล‚anie)", - "uct_q": "oczekujฤ…ce", - - "utl_name": "nazwa pliku", - "utl_ulist": "lista", - "utl_ucopy": "kopia", - "utl_links": "linki", - "utl_stat": "status", - "utl_prog": "postฤ™p", - - // keep short: - "utl_404": "404", - "utl_err": "Bลฤ„D", - "utl_oserr": "bล‚ฤ…d OS", - "utl_found": "znaleziono", - "utl_defer": "opรณลบnij", - "utl_yolo": "YOLO", - "utl_done": "gotowe", - - "ul_flagblk": "pliki zostaล‚y zakolejkowane,
    lecz przesyล‚anie up2k juลผ trwa (w innej zakล‚adce),
    oczekujฤ™ na zakoล„czenie", - "ul_btnlk": "przeล‚ฤ…cznik zablokowany przez konfiguracjฤ™ serwera", - - "udt_up": "Przeล›lij", - "udt_srch": "Szukaj", - "udt_drop": "upuล›ฤ‡ tutaj", - - "u_nav_m": '
    co my tu mamy?
    Enter = Pliki (jeden lub wiecej)\nESC = Jeden folder (wล‚ฤ…cznie z podfolderami)', - "u_nav_b": 'PlikiJeden folder', - - "cl_opts": "przeล‚ฤ…czniki", - "cl_themes": "motyw", - "cl_langs": "jฤ™zyk", - "cl_ziptype": "pobieranie folderรณw", - "cl_uopts": "przeล‚ฤ…czniki przesyล‚ania (up2k)", - "cl_favico": "favicon (ikona w przeglฤ…darce)", - "cl_bigdir": "duลผe foldery", - "cl_hsort": "#sortowanie", - "cl_keytype": "notacja klucza", // not sure - "cl_hiddenc": "ukryte kolumny", - "cl_hidec": "ukryj", - "cl_reset": "zresetuj", - "cl_hpick": "kliknij nagล‚รณwki kolumn, aby ukryฤ‡ je w tabeli niลผej", - "cl_hcancel": "ukrywanie kolumn przerwane", - - "ct_grid": '็”ฐ siatka', - "ct_ttips": 'โ—” โ—ก โ—”">โ„น๏ธ podpowiedzi', - "ct_thumb": 'w widoku siatki, przeล‚ฤ…cz ikony i miniaturki$NSkrรณt: T">๐Ÿ–ผ๏ธ miniaturki', - "ct_csel": 'uลผyj CTRL i SHIFT do wybierania plikรณw w widoku siatki">wybierz', - "ct_ihop": 'przejdลบ do ostatniego pliku po zamkniฤ™ciu przeglฤ…darki obrazรณw">gโฎฏ', - "ct_dots": 'pokaลผ ukryte pliki (jeล›li pozwala serwer)">ukryte', - "ct_qdel": 'pytaj o potwierdzenie przy usuwaniu tylko raz">pyt. us.', - "ct_dir1st": 'pokazuj foldery na poczฤ…tku">๐Ÿ“ najpierw', - "ct_nsort": 'naturalne sortowanie (dla numerowanych plikรณw)">nsort', - "ct_utc": 'pokaลผ wszystkie daty/czas w UTC">UTC', - "ct_readme": 'pokazuj README.md w folderach">๐Ÿ“œ readme', - "ct_idxh": 'pokazuj plik index.html zamiast zawartoล›ci folderu">htm', - "ct_sbars": 'pokazuj paski przewijania">โŸŠ', - - "cut_umod": "uaktualnij znacznik ostatniej modyfikacji pliku, tak aby pasowaล‚ do pliku lokalnego jeลผeli plik juลผ istnieje na serwerze (wymaga dostฤ™pu zapisu i usuwania)\">๐Ÿ“… ponownie", - - "cut_turbo": "przycisk โ€žraz siฤ™ ลผyjeโ€, raczej NIE POWINIENEลš tego wล‚ฤ…czaฤ‡:$N$Nuลผywaj jeล›li przesyล‚ano ogromnฤ… liczbฤ™ plikรณw i z jakiegoล› powodu musisz przesล‚aฤ‡ pliki ponownie, kontynuujฤ…c jak najszybciej$N$Nzamienia sprawdzanie sumy kontrolnej plikรณw prostym "czy ten plik jest tego samego rozmiaru jak ten na serwerze?" wiฤ™c jeล›li pliki rรณลผniฤ… siฤ™ zawartoล›ciฤ…, ale sฤ… tego samego rozmiaru, NIE ZOSTANฤ„ przesล‚ane ponownie$N$Nta opcja powinna zostaฤ‡ wyล‚ฤ…czona po zakoล„czeniu przesyล‚ania, i potem "przesล‚aฤ‡" te same pliki ponownie w celu weryfikacji\">turbo", - - "cut_datechk": "przy wyล‚ฤ…czonym przycisku turbo nic nie robi$N$Nleciutko zmniejsza czynnik โ€žraz siฤ™ ลผyjeโ€; dodatkowo sprawdza czy znaczniki modyfikacji pliku przesyล‚anego zgadzajฤ… siฤ™ z serwerem$N$Nteorytycznie powinno zล‚apaฤ‡ to wiฤ™kszoล›ฤ‡ niedokoล„czonych / uszkodzonych plikรณw, lecz nie jest zamiennikiem wykonania ponownego sprawdzenia bez wล‚ฤ…czonego trybu turbo\">spr-daty", - - "cut_u2sz": "rozmiar (w MiB) kaลผdego kawaล‚ka do przesล‚ania; wiฤ™ksze wartoล›ci szybciej latajฤ… po Atlantyku. Mniejsze wartoล›ci dziaล‚ajฤ… lepiej na bardzo niestabilnych poล‚ฤ…czeniach (neostrada?)", - - "cut_flag": "zapewnia, ลผe tylko jedna karta przesyล‚a dane w danym momencie$N -- opcja musi byฤ‡ wล‚ฤ…czona na innych kartach $N - dotyczy tylko kart w tej samej domenie", - - "cut_az": "przesyล‚a pliki w kolejnoล›ci alfabetycznej, zamiast rozpoczฤ…ฤ‡ od najmniejszego pliku$N$Nkolejnoล›ฤ‡ alfabetyczna moลผe uล‚atwiฤ‡ oszacowanie, co mogล‚o pรณjล›ฤ‡ nie tak na serwerze, lecz lekko spowalnia przesyล‚anie po ล›wiatล‚owodzie lub w sieci lokalnej", - - "cut_nag": "powiadomienie systemowe po zakoล„czeniu przesyล‚ania$N(tylko jeล›li przeglฤ…darka lub karta nie jest aktywna)", - "cut_sfx": "sygnaล‚ dลบwiฤ™kowy po zakoล„czeniu przesyล‚ania$N(tylko jeล›li przeklฤ…darka lub karta nie jest aktywna)", - - "cut_mt": "uลผywaj wielowฤ…tkowoล›ci, aby przyspieszyฤ‡ obliczanie sumy kontrolnej plikรณw$N$Nuลผywa web workerรณw i wymaga$Nwiฤ™cej pamiฤ™ci RAM (do 512 MiB)$N$Nprzyspiesza https o 30% i http 4,5-krotnie\">ww", - - "cut_wasm": "uลผywaj WASM zamiast wbudowanego hashera przeglฤ…darki; zwiฤ™ksza prฤ™dkoล›ฤ‡ na Chrome'o-pochodnych przeglฤ…darkach, zwiฤ™kszajฤ…c zuลผycie procesora, ponadto wiele starszych wersji Chrome'a zawiera bล‚ฤ™dy powodujฤ…ce zeลผarcie caล‚ej pamiฤ™ci RAM komputera i przymusowe zamkniฤ™cie przeglฤ…darki jeลผeli ta opcja jest wล‚ฤ…czona\">wasm", - - "cft_text": "tekst favicon (aby wyล‚ฤ…czyฤ‡, usuล„ zawartoล›ฤ‡ i przeล‚aduj stronฤ™)", - "cft_fg": "kolor tekstu", - "cft_bg": "kolor tล‚a", - - "cdt_lim": "maksymalna liczba plikรณw do pokazania na raz w folderze", - "cdt_ask": "przy przewijaniu w dรณล‚,$Nzapytaj co robiฤ‡,$Nzamiast wczytywaฤ‡ kolejne pliki", - "cdt_hsort": "ile zasad sortowania (<code>,sorthref</code>) zawieraฤ‡ w generowanych linkach multimediรณw. Wartoล›ฤ‡ 0 sprawi, ลผe zasady sortowania zawarte w linkach multimediรณw przy otwarciu rรณwnieลผ bฤ™dฤ… ignorowane", - - "tt_entree": "pokaลผ panel nawigacyjny (panel boczny z drzewem folderรณw)$NSkrรณt: B", - "tt_detree": "pokaลผ ล›lad nawigacyjny$NSkrรณt: B", - "tt_visdir": "przewiล„ do wybranego folderu", - "tt_ftree": "przeล‚ฤ…cz drzewo folderรณw / pliki tekstowe$NSkrรณt: V", - "tt_pdock": "pokaลผ foldery nadrzฤ™dne w przypiฤ™tym u gรณry panelu", - "tt_dynt": "rozszerzaj panel wraz z drzewem", - "tt_wrap": "zawijaj tekst", - "tt_hover": "pokazuj za dล‚ugie linie po najechaniu kursorem$N( psuje przewijanie gdy $N  kursor nie jest w lewym marginesie )", - - "ml_pmode": "na koล„cu folderu...", - "ml_btns": "komendy", - "ml_tcode": "transkoduj", - "ml_tcode2": "transkoduj do", - "ml_tint": "odcieล„", - "ml_eq": "korektor dลบwiฤ™ku (equalizer)", - "ml_drc": "kompresor zasiฤ™gu dynamiki", - - "mt_loop": "pฤ™tla/powtarzaj jeden utwรณr\">๐Ÿ”", - "mt_one": "zatrzymaj po jednym utworze\">1๏ธโƒฃ", - "mt_shuf": "odtwarzaj losowo w kaลผdym folderze\">๐Ÿ”€", - "mt_aplay": "autoodtwarzanie po klikniฤ™ciu linku do tego serwera, zawierajฤ…cego identyfikator utworu$N$Nwyล‚ฤ…czenie tej opcji zapobiegnie aktualizowaniu adresu strony podczas odtwarzania muzyki, aby zapobiec autoodtwarzaniu przy utracie ustawieล„\">aโ–ถ", - "mt_preload": "rozpocznij ล‚adowanie kolejnego utworu blisko koล„ca aktualnego w celu uzyskania odtwarzania bez przerw\">preload", - "mt_prescan": "przechodzi do nastฤ™pnego folderu przed zakoล„czeniem ostatniego utworu,$Naby udobruchaฤ‡ przeglฤ…darkฤ™,$Nลผeby nie zatrzymaล‚a odtwarzania\">naw", - "mt_fullpre": "prรณbuj zbuforowaฤ‡ caล‚y utwรณr;$Nโœ… wล‚ฤ…cz na niestabilnych poล‚ฤ…czeniach,$NโŒ wyล‚ฤ…cz na wolnych poล‚ฤ…czeniach\">peล‚nebuf", - "mt_fau": "nie zatrzymuj muzyki jeล›li nastฤ™pna piosenka bฤ™dzie siฤ™ zbyt wolno buforowaฤ‡ na telefonach (moลผe sprawiฤ‡, ลผe tagi bฤ™dฤ… siฤ™ niepoprawnie wyล›wietlaฤ‡)\">โ˜•๏ธ", - "mt_waves": "falisty pasek:$Npokazuj amplitudฤ™ dลบwiฤ™ku w pasku utworu\">~s", - "mt_npclip": "pokaลผ przyciski kopiowania aktualnie odtwarzanego utworu\">/np", - "mt_m3u_c": "pokaลผ przyciski kopiowania$Nwybranych piosenek jako playlista m3u8\">๐Ÿ“ป", - "mt_octl": "integracja z systemem operacyjnym (przyciski multimedialne / informacje o utworze)\">os-int", - "mt_oseek": "zezwรณl na przewijanie utworu poprzez integracjฤ™ z systemem$N$Nuwaga: na niektรณrych urzฤ…dzeniach (iPhone'y),$Nzamienia przycisk nastฤ™pnej piosenki\">seek", - "mt_oscv": "pokaลผ okล‚adkฤ™ albumu w widoku systemu\">okล‚adka", - "mt_follow": "podฤ…ลผaj za odtwarzanym utworem przewijajฤ…c widok\">๐ŸŽฏ", - "mt_compact": "kompaktowe sterowanie\">โŸŽ", - "mt_uncache": "wyczyล›ฤ‡ pamiฤ™ฤ‡ podrฤ™cznฤ…  (sprรณbuj jeล›li przeglฤ…darka$Nzachowaล‚a zepsutฤ… kopiฤ™ utworu, przez co nie odtwarza siฤ™ ona)\">uncache", - "mt_mloop": "odtwarzaj utwory w folderze w pฤ™tli\">๐Ÿ” loop", - "mt_mnext": "wczytaj nastฤ™pny folder i kontynuuj\">๐Ÿ“‚ next", - "mt_mstop": "zatrzymaj odtwarzanie\">โธ stop", - "mt_cflac": "przekonwertuj format flac / wav na {0}\">flac", - "mt_caac": "przekonwertuj format aac / m4a na {0}\">aac", - "mt_coth": "przekonwertuj wszystkie inne formaty (nie bฤ™dฤ…ce mp3) na {0}\">oth", - "mt_c2opus": "najlepszy wybรณr dla komputerรณw, laptopรณw i urzฤ…dzeล„ z androidem\">opus", - "mt_c2owa": "opus-weba, dla iOS 17.5 i nowszych\">owa", - "mt_c2caf": "opus-caf, dla iOS 11 do 17\">caf", - "mt_c2mp3": "uลผywaj na bardzo starych urzฤ…dzeniach\">mp3", - "mt_c2ok": "cudownie, dobry wybรณr", - "mt_c2nd": "ten format nie jest rekomendowany dla twojego urzฤ…dzenia, ale nadal jest w porzฤ…dku", - "mt_c2ng": "wyglฤ…da na to, ลผe to urzฤ…dzenie nie wspiera tego formatu, lecz sprรณbujmy i tak", - "mt_xowa": "iOS zawiera bล‚ฤ™dy uniemoลผliwiajฤ…ce odtwarzanie w tle uลผywajฤ…c tego formatu; wybierz caf lub mp3", - "mt_tint": "jasnoล›ฤ‡ tล‚a (0-100) paska,$Naby zmniejszyฤ‡ widocznoล›ฤ‡ buforowania", - "mt_eq": "wล‚ฤ…cza korektor dลบwiฤ™ku (equalizer) i kontrolฤ™ wzmocnienia dลบwiฤ™ku;$N$Nboost <code>0</code> = standardowa gล‚oล›noล›ฤ‡ 100% (niezmodyfikowana)$N$Nwidth <code>1  </code> = standardowe stereo (niezmodyfikowane)$Nwidth <code>0.5</code> = 50% crossfeed lewo-prawo$Nwidth <code>0  </code> = mono$N$Nboost <code>-0.8</code> & width <code>10</code> = usuwanie wokalu :^)$N$Nwล‚ฤ…czenie korektora sprawia, ลผe albumy bezprzerwowe sฤ… w peล‚ni bez przerw, wiฤ™c jeล›li jest to dla ciebie waลผne, zostaw wszystko na 0 (poza width = 1)", - "mt_drc": "wล‚ฤ…cza kompresor zakresu dynamiki (normalizacja gล‚oล›noล›ci); wล‚ฤ…cza rรณwnieลผ korektor w celu zbalansowania tego spaghetti, wiฤ™c ustaw wszystkie opcje korektora, oprรณcz 'width',na 0, jeล›li go nie chcesz$N$Nobniลผa gล‚oล›noล›ฤ‡ audio nad THRESHOLD (prรณg) dB; dla kaลผdego RATIO (wspรณล‚czynnika) dB, bฤ™dฤ…cego ponad THRESHOLDem jest 1 dB wyjล›cia, wiฤ™c domyล›lne wartoล›ci progu -24 i wspรณล‚czynnika 12 znaczฤ…, ลผe nigdy nie powinno byฤ‡ gล‚oล›niej niลผ -22 dB i bezpieczne jest zwiฤ™kszenie wzmocnienia korektora do 0.8, lub nawet 1.8 z ATK 0 i ogromnym RLS, jak 90 (dziaล‚a tylko na firefoxie, inne przeglฤ…darki majฤ… limit RLS 1)$N$N(na wikipedii tล‚umaczฤ… to duลผo lepiej)", - - "mb_play": "odtwรณrz", - "mm_hashplay": "odtworzyฤ‡ ten plik audio?", - "mm_m3u": "naciล›nij Enter/OK, aby odtworzyฤ‡\nnaciล›nij ESC/Anuluj, aby edytowaฤ‡", - "mp_breq": "wymagany jest Firefox 82+, Chrome 73+ lub iOS 15+", - "mm_bload": "wczytywanie...", - "mm_bconv": "konwertowanie do {0}, proszฤ™ czekaฤ‡...", - "mm_opusen": "ta przeglฤ…darka nie moลผe odtwarzaฤ‡ plikรณw aac / m4a;\ntranskodowanie do formatu opus wล‚ฤ…czone", - "mm_playerr": "odtwarzanie nie powiodล‚o siฤ™: ", - "mm_eabrt": "Odtwarzanie zostaล‚o przerwane", - "mm_enet": "Poล‚ฤ…czenie z internetem jest sล‚abe", - "mm_edec": "Ten plik wydaje siฤ™ uszkodzony??", - "mm_esupp": "Twoja przeglฤ…darka nie rozumie tego formatu audio", - "mm_eunk": "Nieznany bล‚ฤ…d", - "mm_e404": "Nie moลผna odtworzyฤ‡; bล‚ฤ…d 404: Nie znaleziono pliku.", - "mm_e403": "Nie moลผna odtworzyฤ‡; bล‚ฤ…d 403: Odmowa dostฤ™pu.\n\nSprรณbuj przeล‚adowaฤ‡ stronฤ™ (F5), moลผe ciฤ™ wylogowaล‚o", - "mm_e500": "Nie moลผna odtworzyฤ‡; bล‚ฤ…d 500: Sprawdลบ logi serwera.", - "mm_e5xx": "Nie moลผna odtworzyฤ‡; bล‚ฤ…d serwera", - "mm_nof": "nie znaleziono wiฤ™cej plikรณw audio", - "mm_prescan": "Szukanie kolejnego utworu...", - "mm_scank": "Znaleziono nastฤ™pnฤ… piosenkฤ™:", - "mm_uncache": "wyczyszczono pamiฤ™ฤ‡ podrฤ™cznฤ…; wszystkie utwory zostanฤ… pobrane ponownie przy nastฤ™pnym odtworzeniu", - "mm_hnf": "ten utwรณr juลผ nie istnieje", - - "im_hnf": "ten obraz juลผ nie istnieje", - - "f_empty": 'ten folder jest pusty', - "f_chide": 'schowa kolumnฤ™ ยซ{0}ยป\n\nkolumny moลผna ponownie pokazaฤ‡ w zakล‚adce ustwaieล„', - "f_bigtxt": "ten plik waลผy {0} MiB -- na pewno pokazaฤ‡ jako tekst?", - "f_bigtxt2": "odczytaฤ‡ jedynie koniec pliku? wล‚ฤ…czy rรณwnieลผ ล›ledzenie, pokazujฤ…c nowo-dodane linie tekstu w czasie rzeczywistym", - "fbd_more": '
    pokazujฤ™ {0} z {1} plikรณw; pokaลผ {2} lub pokaลผ wszystko
    ', - "fbd_all": '
    pokazujฤ™ {0} z {1} files; pokaลผ wszystko
    ', - "f_anota": "{0} z {1} elementรณw zostaล‚o wybranych;\naby pokazaฤ‡ caล‚y folder, zjedลบ na dรณล‚", - - "f_dls": 'linki do plikรณw w aktualnym folderze\nzostaล‚y zmienione w linki pobierania', - - "f_partial": "Aby bezpiecznie pobraฤ‡ plik, ktรณry aktualnie jest przesyล‚any, wybierz plik o tej samej nazwie, lecz bez rozszerzenia .PARTIAL. ลปeby to zrobiฤ‡, naciล›nij ANULUJ lub klawisz ESC.\n\nWciล›niฤ™cie OK / Enter zignoruje to ostrzeลผenie i pobierze plik tymczasowy .PARTIAL, ktรณry prawie z pewnoล›ciฤ… bฤ™dzie zepsuty", - - "ft_paste": "wklej {0} elementรณw$NSkrรณt: ctrl-V", - "fr_eperm": 'nie moลผna zmieniฤ‡ nazwy:\nnie posiadasz uprawnienia โ€žmoveโ€ w tym folderze', - "fd_eperm": 'nie moลผna usunฤ…ฤ‡:\nnie posiadasz uprawnienia โ€ždeleteโ€ w tym folderze', - "fc_eperm": 'nie moลผna wyciฤ…ฤ‡:\nnie posiadasz uprawnienia โ€žmoveโ€ w tym folderze', - "fp_eperm": 'nie moลผna wkleiฤ‡:\nnie posiadasz uprawnienia โ€žwriteโ€ w tym folderze', - "fr_emore": "wybierz przynajmniej jeden element do zmiany nazwy", - "fd_emore": "wybierz przynajmniej jeden element do usuniฤ™cia", - "fc_emore": "wybierz przynajmniej jeden element do wyciฤ™cia", - "fcp_emore": "wybierz przynajmniej jeden element do skopiowania", - - "fs_sc": "udostฤ™pnij ten folder", - "fs_ss": "udostฤ™pnij zaznaczone pliki", - "fs_just1d": "nie moลผna wybraฤ‡ wiฤ™cej niลผ jednego folderu,\nani mieszaฤ‡ plikรณw i folderรณw w jednym zaznaczeniu", - "fs_abrt": "โŒ przerwij", - "fs_rand": "๐ŸŽฒ losuj nazwฤ™", - "fs_go": "โœ… stwรณrz udostฤ™pnienie", - "fs_name": "nazwa", - "fs_src": "ลบrรณdล‚o", - "fs_pwd": "hasล‚o", - "fs_exp": "wygaล›niฤ™cie", - "fs_tmin": "min", - "fs_thrs": "godz.", - "fs_tdays": "dni", - "fs_never": "na zawsze", - "fs_pname": "opcjonalna nazwa linku; zostanie wylosowana jeล›li pusta", - "fs_tsrc": "plik lub folder do udostฤ™pnienia", - "fs_ppwd": "hasล‚o (opcjonalnie)", - "fs_w8": "udostฤ™pnianie...", - "fs_ok": "naciล›nij Enter/OK, aby skopiowaฤ‡ do schowka\nnaciล›nij ESC/Anuluj, aby zamknฤ…ฤ‡", - - "frt_dec": "moลผe naprawiฤ‡ niektรณre zepsute nazwy plikรณw\">dekoduj-url", - "frt_rst": "zresetuj zmodyfikowane nazwy plikรณw do oryginalnych\">โ†บ zresetuj", - "frt_abrt": "przerwij i zamknij to okno\">โŒ anuluj", - "frb_apply": "ZASTOSUJ ZMIANฤ˜ NAZWY", - "fr_adv": "zmiana nazwy hurtowa / metadanych / wzorcem\">zaawansowane", - "fr_case": "rozrรณลผnianie wielkoล›ci liter w regex\">wlit", - "fr_win": "nazwy bezpieczne dla systemu Windows; zamienia symbole <>:"\\|?* na japoล„skie odpowiedniki\">win", - "fr_slash": "zamienia / symbolem, ktรณry nie tworzy nowych folderรณw\">brak /", - "fr_re": "wzorzec wyszukiwania regex stosowany do oryginalnych nazw plikรณw; do grup przechwytywania moลผna siฤ™ odwoล‚aฤ‡ w polu formatu poniลผej, np. <code>(1)</code> i <code>(2)</code> itd.", - "fr_fmt": "inspirowane programem foobar2000:$N<code>(title)</code> zostaje zamienione na tytuล‚ utworu,$N<code>[(artist) - ](title)</code> pomija [tฤ…] czฤ™ล›ฤ‡ jeล›li pole artysty jest puste$N<code>$lpad((tn),2,0)</code> wyrรณwnuje numer utworu do 2 cyfr (np. 01, 06, 09, 16)", - "fr_pdel": "usuล„", - "fr_pnew": "zapisz jako", - "fr_pname": "podaj nazwฤ™ nowego szablonu", - "fr_aborted": "anulowano", - "fr_lold": "poprzednia nazwa", - "fr_lnew": "nowa nazwa", - "fr_tags": "znaczniki dla wybranych plikรณw (tylko do odczytu, w celach informacyjnych):", - "fr_busy": "zmienianie nazwy {0} plikรณw...\n\n{1}", - "fr_efail": "zmiana nazwy zakoล„czona niepowodzeniem:\n", - "fr_nchg": "{0} nowych nazw zostaล‚o zmienionych przez opcje win i/lub brak /\n\nKontynuowaฤ‡ ze zmienionymi nazwami?", - - "fd_ok": "usuniฤ™to", - "fd_err": "usuwanie zakoล„czone niepowodzeniem:\n", - "fd_none": "nie usuniฤ™to nic; usuniฤ™cie mogล‚o zostaฤ‡ zablokowane przez konfiguracjฤ™ serwera (xbd)?", - "fd_busy": "usuwanie {0} elementรณw...\n\n{1}", - "fd_warn1": "USUNฤ„ฤ† {0} elementรณw?", - "fd_warn2": "OSTATNIA SZANSA! Tej operacji nie da siฤ™ cofnฤ…ฤ‡. Usunฤ…ฤ‡?", - - "fc_ok": "wyciฤ™to {0} elementรณw", - "fc_warn": 'wyciฤ™to {0} elementรณw,\n\nlecz moลผna je wkleiฤ‡ tylko w tej karcie\n(ze wzglฤ™du na ogromnฤ… iloล›ฤ‡ wybranych elementรณw)', - - "fcc_ok": "skopiowano {0} elementรณw do schowka", - "fcc_warn": 'skopiowano {0} elementรณw,\n\nlecz moลผna je wkleiฤ‡ tylko w tej karcie\n(ze wzglฤ™du na ogromnฤ… iloล›ฤ‡ wybranych elementรณw)', - - "fp_apply": "zastosuj te nazwy", - "fp_ecut": "najpierw wytnij lub skopiuj pliki / foldery, aby je wkleiฤ‡ / przenieล›ฤ‡\n\nuwaga: moลผna wycinaฤ‡ / wklejaฤ‡ pomiฤ™dzy rรณลผnymi kartami przeglฤ…darki", - "fp_ename": "Nie udaล‚o siฤ™ przenieล›ฤ‡ {0} elementรณw, gdyลผ ich nazwy juลผ istniejฤ… w tym folderze. Nadaj im nowe nazwy poniลผej, bฤ…dลบ zostaw pole nazwy puste, aby je pominฤ…ฤ‡:", - "fcp_ename": "Nie udaล‚o siฤ™ przekopiowaฤ‡ {0} elementรณw, gdyลผ ich nazwy juลผ istniejฤ… w tym folderze. Nadaj im nowe nazwy poniลผej, bฤ…dลบ zostaw pole nazwy puste, aby je pominฤ…ฤ‡:", - "fp_emore": "pozostaล‚o jeszcze kilka kolizji nazw plikรณw do poprawy", - "fp_ok": "przeniesiono", - "fcp_ok": "przekopiowano", - "fp_busy": "przenoszenie {0} elementรณw...\n\n{1}", - "fcp_busy": "kopiowanie {0} elementรณw...\n\n{1}", - "fp_abrt": "przerywanie...", //m - "fp_err": "nie udaล‚o siฤ™ przenieล›ฤ‡:\n", - "fcp_err": "nie udaล‚o siฤ™ skopiowaฤ‡:\n", - "fp_confirm": "przenieล›ฤ‡ tutaj {0} elementy(รณw)?", - "fcp_confirm": "skopiowaฤ‡ tutaj {0} elementy(รณw)?", - "fp_etab": 'nie udaล‚o siฤ™ odczytaฤ‡ schowka z innej karty przeglฤ…darki', - "fp_name": "przesyล‚anie pliku z twojego urzฤ…dzenia. Nadaj nazwฤ™:", - "fp_both_m": '
    wybierz metodฤ™ wklejenia
    Enter = Przenieล› {0} pliki(รณw) z ยซ{1}ยป\nESC = Przeล›lij {2} pliki(รณw) z twojego urzฤ…dzenia', - "fcp_both_m": '
    wybierz metodฤ™ wklejenia
    Enter = Skopiuj {0} pliki(รณw) z ยซ{1}ยป\nESC = Przeล›lij {2} pliki(รณw) z twojego urzฤ…dzenia', - "fp_both_b": 'Przenieล›Przeล›lij', - "fcp_both_b": 'KopiujPrzeล›lij', - - "mk_noname": "wpisz nazwฤ™ do pola po lewej zanim to zrobisz :p", - - "tv_load": "Wczytywanie pliku tekstowego:\n\n{0}\n\n{1}% (wczytano {2} z {3} MiB)", - "tv_xe1": "nie udaล‚o siฤ™ wczytaฤ‡ pliku:\n\nbล‚ฤ…d ", - "tv_xe2": "404, nie znaleziono pliku", - "tv_lst": "lista plikรณw tekstowych w", - "tvt_close": "powrรณฤ‡ do widoku folderรณw$NSkrรณt: M (lub Esc)\">โŒ zamknij", - "tvt_dl": "pobierz ten plik$NHotkey: Y\">๐Ÿ’พ pobierz", - "tvt_prev": "pokaลผ poprzedni dokument$NSkrรณt: i\">โฌ† poprzedni", - "tvt_next": "pokaลผ nastฤ™pny dokument$NSkrรณt: K\">โฌ‡ nastฤ™pny", - "tvt_sel": "wybierz plik   ( do wyciฤ™cia / skopiowania / usuniฤ™cia / itp. )$NSkrรณt: S\">wyb", - "tvt_edit": "otwรณrz plik w edytorze tekstu$NSkrรณt: E\">โœ๏ธ edytuj", - "tvt_tail": "ล›ledลบ zmiany w pliku; pokazuj nowe linie w czasie rzeczywistym\">๐Ÿ“ก ล›ledลบ", - "tvt_wrap": "zawijaj tekst\">โ†ต", - "tvt_atail": "utrzymuj widok na dole strony\">โš“", - "tvt_ctail": "dekoduj kolory terminala (sekwencje sterujฤ…ce ANSI)\">๐ŸŒˆ", - "tvt_ntail": "limit przewijania (ile bajtรณw tekstu przechowywaฤ‡ w pamiฤ™ci)", - - "m3u_add1": "dodano utwรณr do playlisty m3u", - "m3u_addn": "dodano {0} utwory(รณw) do playlisty m3u", - "m3u_clip": "skopiowano playlistฤ™ m3u do schowka\n\nutwรณrz", - - "gt_vau": "nie pokazuj obrazu, odtwarzaj tylko dลบwiฤ™k\">๐ŸŽง", - "gt_msel": "wybierz pliki; kliknij plik z wciล›niฤ™tym klawiszem CTRL, aby zastฤ…piฤ‡$N$N<em>gdy tryb jest aktywny, kliknij dwukrotnie na plik / folder, ลผeby go otworzyฤ‡</em>$N$NSkrรณt: S\">wybierz wiele", - "gt_crop": "kadruj miniaturki do ล›rodka\">kadruj", - "gt_3x": "miniaturki w wysokiej rozdzielczoล›ci\">3x", - "gt_zoom": "przybliลผ", - "gt_chop": "przytnij", - "gt_sort": "sortuj wedล‚ug", - "gt_name": "nazwa", - "gt_sz": "rozmiar", - "gt_ts": "data", - "gt_ext": "typ", - "gt_c1": "przycinaj wiฤ™kszฤ… czฤ™ล›ฤ‡ nazw plikรณw (pokazuj mniej)", - "gt_c2": "przycinaj mniejszฤ… czฤ™ล›ฤ‡ nazw plikรณw (pokazuj wiฤ™cej)", - - "sm_w8": "wyszukiwanie...", - "sm_prev": "wyniki wyszukiwania poniลผej pochodzฤ… z poprzedniego zapytania:\n ", - "sl_close": "zamknij wyniki wyszukiwania", - "sl_hits": "pokazujฤ™ {0} wyniki(รณw)", - "sl_moar": "pokaลผ wiฤ™cej", - - "s_sz": "rozmiar", - "s_dt": "data", - "s_rd": "ล›cieลผka", - "s_fn": "nazwa", - "s_ta": "znaczniki", - "s_ua": "data przesล‚ania", - "s_ad": "zaawansowane", - "s_s1": "min. rozmiar (MiB)", - "s_s2": "maks. rozmiar (MiB)", - "s_d1": "min. data iso8601", - "s_d2": "maks. data iso8601", - "s_u1": "przesล‚ane po", - "s_u2": "i/lub przed", - "s_r1": "ล›cieลผka zawiera   (oddzielone spacjฤ…)", - "s_f1": "nazwa zawiera   (odwrรณฤ‡ za pomocฤ… -nope)", - "s_t1": "znaczniki zawierajฤ…   (^=start, koniec=$)", - "s_a1": "dokล‚adne wล‚aล›ciwoล›ci metadanych", - - "md_eshow": "nie moลผna wyล›wietliฤ‡ ", - "md_off": "[๐Ÿ“œreadme] wyล‚ฤ…czone w [โš™๏ธ] -- dokument ukryty", - - "badreply": "Nie udaล‚o siฤ™ przeanalizowaฤ‡ odpowiedzi serwera", - - "xhr403": "403: Odmowa dostฤ™pu.\n\nSprรณbuj przeล‚adowaฤ‡ stronฤ™ (F5), moลผliwe, ลผe ciฤ™ wylogowano", - "xhr0": "nieznany (byฤ‡ moลผe utracono poล‚ฤ…czenie z serwerem, lub jest on nieaktywny)", - "cf_ok": "przepraszamy, wล‚ฤ…czyล‚a siฤ™ ochrona przed DD" + wah + "oS\n\nwszystko powinno wrรณciฤ‡ do normy za okoล‚o 30 sekund\n\njeล›li nic siฤ™ nie zmieni, naciล›nij klawisz F5, aby przeล‚adowaฤ‡ stronฤ™", - "tl_xe1": "nie moลผna wyล›wietliฤ‡ podfolderรณw:\n\nbล‚ฤ…d ", - "tl_xe2": "404: Nie znaleziono folderu", - "fl_xe1": "nie moลผna wyล›wietliฤ‡ plikรณw w folderze:\n\nbล‚ฤ…d ", - "fl_xe2": "404: Nie znaleziono folderu", - "fd_xe1": "nie moลผna stworzyฤ‡ podfolderu:\n\nbล‚ฤ…d ", - "fd_xe2": "404: Nie znaleziono folderu nadrzฤ™dnego", - "fsm_xe1": "nie moลผna wysล‚aฤ‡ wiadomoล›ci:\n\nbล‚ฤ…d ", - "fsm_xe2": "404: Nie znaleziono folderu nadrzฤ™dnego", - "fu_xe1": "nie udaล‚o siฤ™ wczytaฤ‡ listy unpost z serwera:\n\nbล‚ฤ…d ", - "fu_xe2": "404: Nie znaleziono pliku??", - - "fz_tar": "nieskompresowane archiwum gnu-tar (linux / mac)", - "fz_pax": "nieskompresowane archiwum tar w formacie pax (wolniejsze)", - "fz_targz": "gnu-tar z kompresjฤ… gzip poziomu 3.,$N$Nzazwyczaj bardzo wolne, uลผywaj nieskompresowanego tar", - "fz_tarxz": "gnu-tar z kompresjฤ… xz poziomu 3.$N$Nzazwyczaj bardzo wolne, uลผywaj nieksompresowanego tar", - "fz_zip8": "zip z nazwami plikรณw UTF-8 (moลผe dziaล‚aฤ‡ nieprawidล‚owo na systemie Windows 7 i starszych)", - "fz_zipd": "zip z nazwami plikรณw cp437, dobre dla bardzo starego oprogramowania", - "fz_zipc": "cp437 z CRC32 obliczonym wczeล›niej,$Ndla MS-DOS PKZIP v2.04g (paลบdziernik 1993)$N(przetwarzanie do pobrania trwa dล‚uลผej)", - - "un_m1": "moลผna usunฤ…ฤ‡ ostatnio przesล‚ane pliki (lub przerwaฤ‡ trwajฤ…ce) poniลผej", - "un_upd": "odล›wieลผ", - "un_m4": "lub udostฤ™pnij pliki widoczne poniลผej:", - "un_ulist": "pokaลผ", - "un_ucopy": "kopiuj", - "un_flt": "filtruj (opcjonalnie):  URL musi zawieraฤ‡", - "un_fclr": "wyczyล›ฤ‡ kryteria filtrowania", - "un_derr": 'nie udaล‚o siฤ™ usunฤ…ฤ‡ unpost:\n', - "un_f5": 'coล› poszล‚o nie tak, sprรณbuj odล›wieลผyฤ‡ lub wciล›nij F5', - "un_uf5": "przed przerwaniem przesyล‚ania trzeba odล›wieลผyฤ‡ stronฤ™ (za pomocฤ… CTRL-R lub F5)", - "un_nou": 'ostrzeลผenie: serwer jest aktualnie zbyt obciฤ…ลผony, ลผeby pokazaฤ‡ niedokoล„czone przesล‚ania; kliknij link "odล›wieลผ" za chwilฤ™', - "un_noc": 'ostrzeลผenie: unpost w peล‚ni przesล‚anych plikรณw jest wyล‚ฤ…czone/zabronione w konfiguracji serwera', - "un_max": "pokazujฤ™ pierwsze 2000 plikรณw (uลผyj filtrowania)", - "un_avail": "{0} ostatnio przesล‚anych elementรณw moลผe zostaฤ‡ usuniฤ™te
    {1} niedokoล„czonych moลผna przerwaฤ‡", - "un_m2": "przesortowano po czasie przesล‚ania; najnowsze elementy pierwsze: ", - "un_no1": "cholibka! ลผaden przesล‚any element nie jest wystarczajฤ…co niedawny", - "un_no2": "cholibka! ลผaden przesล‚any element pasujฤ…cy do filtra nie jest wystarczajฤ…co niedawny", - "un_next": "usuล„ nastฤ™pne {0} pliki(รณw) poniลผej", - "un_abrt": "przerwij", - "un_del": "usuล„", - "un_m3": "wczytywanie ostatnio przesล‚anych elementรณw...", - "un_busy": "usuwanie {0} plikรณw...", - "un_clip": "skopiowano {0} linkรณw do schowka", - - "u_https1": "powinieneล› przejล›ฤ‡", - "u_https2": "na HTTPS w celu", - "u_https3": "uzyskania lepszej wydajnoล›ci", - "u_ancient": 'twoja przeglฤ…darka jest niezwykle zabytkowa -- powinieneล› zamiast tego uลผyฤ‡ bup', - "u_nowork": "wymaga Firefox 53+, Chrome 57+ lub iOS 11+", - "tail_2old": "wymaga Firefox 105+, Chrome 71+ lub iOS 14.5+", - "u_nodrop": 'ta przeglฤ…darka jest za stara, nie wspiera przesyล‚ania "przeciฤ…gnij i upuล›ฤ‡"', - "u_notdir": "to nie jest folder!\n\nta przeglฤ…darka jest za stara\nsprรณbuj przeciฤ…gnฤ…ฤ‡ i upuล›ciฤ‡", - "u_uri": "aby przeciฤ…gnฤ…ฤ‡ i upuล›ciฤ‡ obrazy z innych okien przeglฤ…darki,\nupuล›ฤ‡ je na duลผy przycisk przesyล‚ania", - "u_enpot": 'przeล‚ฤ…cz na lekki interfejs (moลผe zwiฤ™kszyฤ‡ prฤ™dkoล›ฤ‡ przesyล‚ania)', - "u_depot": 'przeล‚ฤ…cz na ล‚adny interfejs (moลผe zmniejszyฤ‡ prฤ™dkoล›c przesyล‚ania)', - "u_gotpot": 'przeล‚ฤ…czanie na lekki interfejs w celu poprawy prฤ™dkoล›ci przesyล‚ania,\n\nzawsze moลผna przeล‚ฤ…czyฤ‡ siฤ™ na ล‚adny interfejs!', - "u_pott": "

    pliki:   {0} ukoล„czonych,   {1} nie powiodล‚o siฤ™,   {2} w trakcie,   {3} oczekujฤ…cych

    ", - "u_ever": "podstawowe przesyล‚anie; up2k wymaga minimalnie przeglฤ…darek:
    Chrome 21 // Firefox 13 // Edge 12 // Opera 12 // Safari 5.1", - "u_su2k": 'podstawowe przesyล‚anie; up2k jest lepszy', - "u_uput": 'optymalizuj dla prฤ™dkoล›ci (pomijajฤ…c spr. sum kontrolnych)', - "u_ewrite": 'nie masz dostฤ™pu do zapisu (write) w tym folderze', - "u_eread": 'nie masz dostฤ™pu do odczytu (read) tego folderu', - "u_enoi": 'wyszukiwanie plikรณw jest wyล‚ฤ…czone w konfiguracji serwera', - "u_enoow": "nadpisanie nie zadziaล‚a, wymagany dostฤ™p do usuwania (delete)", - "u_badf": '{0} (z {1}) plikรณw zostaล‚o pominiฤ™tych, prawdopodobnie przez opcje dostฤ™pu systemu plikรณw:\n\n', - "u_blankf": '{0} (z {1}) plikรณw jest pustych; przesล‚aฤ‡ mimo to?\n\n', - "u_applef": '{0} (z {1}) plikรณw moลผe byฤ‡ niepoลผฤ…dane;\nNaciล›nij OK/Enter, aby pominฤ…ฤ‡ je (wypisane poniลผej);\nNaciล›nij Anuluj/ESC, by je przesล‚aฤ‡ mimo to:\n\n', - "u_just1": '\nTa funkcja moลผe dziaล‚aฤ‡ lepiej z wybranym jednym plikiem', - "u_ff_many": "na systemach Linux / MacOS / Android, ta iloล›c plikรณw moลผe spowodowaฤ‡ przymusowe zamkniฤ™cie przeglฤ…darki Firefox\nw takim przypadku, sprรณbuj ponownie (lub uลผyj Chrome'a).", - "u_up_life": "Ten przesyล‚any plik zostanie usuniฤ™ty z serwera\n{0} po zakoล„czeniu przesyล‚ania", - "u_asku": 'przeล›lij {0} pliki(รณw) do {1}', - "u_unpt": "moลผna cofnฤ…ฤ‡ / usunฤ…ฤ‡ ten przesล‚any plik za pomocฤ… ๐Ÿงฏ w lewym gรณrnym rogu", - "u_bigtab": 'zaraz pokaลผฤ™ {0} plikรณw\n\nta operacja moลผe zawiesiฤ‡ twojฤ… przeglฤ…darkฤ™, na pewno kontynuowaฤ‡?', - "u_scan": 'Skanowanie plikรณw...', - "u_dirstuck": 'iterator katalogรณw utknฤ…ล‚ podczas prรณby dostฤ™pu poniลผszych {0} elementรณw, pominiฤ™to:', - "u_etadone": 'Ukoล„czono ({0}, {1} plikรณw)', - "u_etaprep": '(przygotowywanie do przesล‚ania)', - "u_hashdone": 'obliczono sumฤ™ kontrolnฤ…', - "u_hashing": 'obliczanie sumy kontrolnej', - "u_hs": 'nawiฤ…zywanie poล‚ฤ…czenia...', - "u_started": "rozpoczฤ™to przesyล‚anie; zobacz w [๐Ÿš€]", - "u_dupdefer": "duplikat; zostanie przetworzony na koล„cu", - "u_actx": "kliknij ten napis, aby zapobiec spadkowi
    wydajnoล›ci po zmianie aktywnego okna/karty przeglฤ…darki", - "u_fixed": "OK!  Naprawiono ๐Ÿ‘", - "u_cuerr": "nie udaล‚o siฤ™ przesล‚aฤ‡ fragmentu {0} z {1};\nprawdopodobnie niegroลบne, kontynuowanie\n\nplik: {2}", - "u_cuerr2": "serwer odrzuciล‚ przesyล‚anie (kawaล‚ek {0} z {1});\nsprรณbujฤ™ ponownie pรณลบniej\n\nplik: {2}\n\nbล‚ฤ…d ", - "u_ehstmp": "sprรณbujฤ™ ponownie; wiฤ™cej informacji w prawym dolnym rogu", - "u_ehsfin": "serwer odrzuciล‚ proล›bฤ™ o zakoล„czenie przesyล‚ania; prรณbujฤ™ ponownie...", - "u_ehssrch": "serwer odrzuciล‚ proล›bฤ™ o wykonanie wyszukania; prรณbujฤ™ ponownie...", - "u_ehsinit": "serwer odrzuciล‚ proล›bฤ™ o rozpoczฤ™cie przesyล‚ania; prรณbujฤ™ ponownie...", - "u_eneths": "bล‚ฤ…d sieci podczas negocjacji warunkรณw przesyล‚ania; prรณbujฤ™ ponownie...", - "u_enethd": "bล‚ฤ…d sieci podczas sprawdzania istnienia celu; prรณbujฤ™ ponownie...", - "u_cbusy": "oczekiwanie na ponowne zaufanie serwera po bล‚ฤ™dzie sieci...", - "u_ehsdf": "brak miejsca na dysku serwera!\n\nprรณby bฤ™dฤ… ponawiane na wypadek\nzwolnienia wystarczajฤ…co duลผo miejsca aby kontynuowaฤ‡", - "u_emtleak1": "wyglฤ…da na to, ลผe twoja przeglฤ…darka moลผe mieฤ‡ wyciek pamiฤ™ci;\n", - "u_emtleak2": ' przejdลบ na HTTPS (zalecane) lub ', - "u_emtleak3": ' ', - "u_emtleakc": 'sprรณbuj:\n
    • wciล›nij F5, aby odล›wieลผyฤ‡ stronฤ™
    • wyล‚ฤ…cz przycisk  ww  w menu โš™๏ธ ustawienia
    • i sprรณbuj przesล‚aฤ‡ ponownie
    Prฤ™dkoล›ฤ‡ przesyล‚ania bฤ™dzie niลผsza, ale cรณลผ zrobisz.\nPrzepraszamy za problemu!\n\nPS: Chrome v107 ma poprawkฤ™ tego bล‚ฤ™du.', - "u_emtleakf": 'sprรณbuj:\n
    • wciล›nij F5, aby odล›wieลผyฤ‡ stronฤ™
    • wล‚ฤ…cz tryb ๐Ÿฅ” (lekkiego interfejsu) w interfejsie przesyล‚ania
    • i sprรณbuj przesล‚aฤ‡ ponownie
    \nPS: Firefox moลผe kiedyล› mieฤ‡ poprawkฤ™ย tego bล‚ฤ™du', - "u_s404": "nie znaleziono na serwerze", - "u_expl": "wytล‚umacz", - "u_maxconn": "wiฤ™kszoล›ฤ‡ przeglฤ…darek ogranicza to do 6, ale Firefox pozwala zwiฤ™kszyฤ‡ tฤ… wartoล›ฤ‡, ustawiajฤ…c connections-per-server w about:config", - "u_tu": '

    UWAGA: tryb turbo wล‚ฤ…czony,  klient moลผe nie wykryฤ‡ i nie kontynuowaฤ‡ niedokoล„czonych przesล‚aล„; patrz wskazรณwka przycisku turbo

    ', - "u_ts": '

    UWAGA: tryb turbo wล‚ฤ…czony,  wyniki wyszukiwania mogฤ… byฤ‡ niepoprawne; patrz wskazรณwka przycisku turbo

    ', - "u_turbo_c": "tryb turbo jest wyล‚ฤ…czony w konfiguracji serwera", - "u_turbo_g": "wyล‚ฤ…czanie trybu turbo, nie posiadasz dostฤ™pu\ndo listy katalogu w tym wolumenie", - "u_life_cfg": 'autousuwanie po min (lub godz.)', - "u_life_est": 'przesล‚any plik zostanie usuniฤ™ty ---', - "u_life_max": 'ten folder wymaga\nmaks. czasu do usuniฤ™cia rรณwnego {0}', - "u_unp_ok": 'unpost jest dozwolony przez {0}', - "u_unp_ng": 'unpost NIE jest dozwolony', - "ue_ro": 'dostฤ™p tylko-do-odczytu\n\n', - "ue_nl": 'nie jesteล› zalogowany', - "ue_la": 'zalogowano jako "{0}"', - "ue_sr": 'jesteล› w trybie wyszukiwania\n\nprzeล‚ฤ…cz siฤ™ na tryb przesyล‚ania, klikajฤ…c lupฤ™ ๐Ÿ”Ž (obok przycisku Szukaj), i sprรณbuj ponownie', - "ue_ta": 'sprรณbuj przesล‚aฤ‡ ponownie, wszystko powinno byฤ‡ w porzฤ…dku', - "ue_ab": "ten plik juลผ jest przesyล‚any do innego folderu, przesyล‚anie musi siฤ™ zakoล„czyฤ‡, zanim bฤ™dzie mรณgล‚ byฤ‡ on przesล‚any gdzie indziej.\n\nMoลผna przerwaฤ‡ pierwsze przesyล‚anie za pomocฤ… ๐Ÿงฏ w lewym gรณrnym rogu", - "ur_1uo": "OK: Plik przesล‚any pomyล›lnie", - "ur_auo": "OK: Wszystkie ({0}) pliki zostaล‚y przesล‚ane pomyล›lnie", - "ur_1so": "OK: Znaleziono plik na serwerze", - "ur_aso": "OK: Znaleziono wszystkie ({0}) pliki na serwerze", - "ur_1un": "Przesyล‚anie nie powiodล‚o siฤ™", - "ur_aun": "Wszystkie ({0}) przesล‚ania nie powiodล‚y siฤ™", - "ur_1sn": "NIE znaleziono pliku na serwerze", - "ur_asn": "NIE znaleziono {0} plikรณw na serwerze", - "ur_um": "Zakoล„czono;\n{0} przesล‚aล„ OK,\n{1} przesล‚aล„ nie powiodล‚o siฤ™", - "ur_sm": "Zakoล„czono;\nznaleziono {0} pliki(รณw),\nnie znaleziono {1} pliki(รณw) na serwerze", - - "lang_set": "odล›wieลผ stronฤ™ (F5), aby zastosowaฤ‡ zmianฤ™.", - }, - "por": { - "tt": "Portuguรชs", - - "cols": { - "c": "botรตes de aรงรฃo", - "dur": "duraรงรฃo", - "q": "qualidade / bitrate", - "Ac": "codec de รกudio", - "Vc": "codec de vรญdeo", - "Fmt": "formato / contรชiner", - "Ahash": "checksum de รกudio", - "Vhash": "checksum de vรญdeo", - "Res": "resoluรงรฃo", - "T": "tipo de arquivo", - "aq": "qualidade / bitrate de รกudio", - "vq": "qualidade / bitrate de vรญdeo", - "pixfmt": "subamostragem / estrutura de pixel", - "resw": "resoluรงรฃo horizontal", - "resh": "resoluรงรฃo vertical", - "chs": "canais de รกudio", - "hz": "taxa de amostragem" - }, - - "hks": [ - [ - "diversos", - ["ESC", "fechar vรกrias coisas"], - - "gerenciador de arquivos", - ["G", "alternar entre visualizaรงรฃo de lista / grade"], - ["T", "alternar entre miniaturas / รญcones"], - ["โ‡ง A/D", "tamanho da miniatura"], - ["ctrl-K", "excluir selecionados"], - ["ctrl-X", "recortar seleรงรฃo para a รกrea de transferรชncia"], - ["ctrl-C", "copiar seleรงรฃo para a รกrea de transferรชncia"], - ["ctrl-V", "colar (mover/copiar) aqui"], - ["Y", "baixar selecionado"], - ["F2", "renomear selecionado"], - - "seleรงรฃo de lista de arquivos", - ["espaรงo", "alternar seleรงรฃo de arquivo"], - ["โ†‘/โ†“", "mover cursor de seleรงรฃo"], - ["ctrl โ†‘/โ†“", "mover cursor e visualizaรงรฃo"], - ["โ‡ง โ†‘/โ†“", "selecionar arquivo anterior/prรณximo"], - ["ctrl-A", "selecionar todos os arquivos / pastas"], - ], [ - "navegaรงรฃo", - ["B", "alternar entre breadcrumbs / painel de navegaรงรฃo"], - ["I/K", "pasta anterior/prรณxima"], - ["M", "pasta pai (ou desexpandir a atual)"], - ["V", "alternar entre pastas / arquivos de texto no painel de navegaรงรฃo"], - ["A/D", "tamanho do painel de navegaรงรฃo"], - ], [ - "reprodutor de รกudio", - ["J/L", "mรบsica anterior/prรณxima"], - ["U/O", "pular 10 segundos para trรกs/frente"], - ["0..9", "pular para 0%..90%"], - ["P", "reproduzir/pausar (tambรฉm inicia)"], - ["S", "selecionar a mรบsica que estรก tocando"], - ["Y", "baixar mรบsica"], - ], [ - "visualizador de imagens", - ["J/L, โ†/โ†’", "imagem anterior/prรณxima"], - ["Home/End", "primeira/รบltima imagem"], - ["F", "tela cheia"], - ["R", "girar no sentido horรกrio"], - ["โ‡ง R", "girar no sentido anti-horรกrio"], - ["S", "selecionar imagem"], - ["Y", "baixar imagem"], - ], [ - "reprodutor de vรญdeo", - ["U/O", "pular 10 segundos para trรกs/frente"], - ["P/K/Espaรงo", "reproduzir/pausar"], - ["C", "continuar reproduzindo o prรณximo"], - ["V", "loop"], - ["M", "mudo"], - ["[ e ]", "definir intervalo de loop"], - ], [ - "visualizador de arquivos de texto", - ["I/K", "arquivo anterior/prรณximo"], - ["M", "fechar arquivo de texto"], - ["E", "editar arquivo de texto"], - ["S", "selecionar arquivo (para recortar/copiar/renomear)"], - ] - ], - - "m_ok": "OK", - "m_ng": "Cancelar", - - "enable": "Ativar", - "danger": "PERIGO", - "clipped": "copiado para a รกrea de transferรชncia", - - "ht_s1": "segundo", - "ht_s2": "segundos", - "ht_m1": "minuto", - "ht_m2": "minutos", - "ht_h1": "hora", - "ht_h2": "horas", - "ht_d1": "dia", - "ht_d2": "dias", - "ht_and": " e ", - - "goh": "painel de controle", - "gop": 'pai anterior">anterior', - "gou": 'pasta pai">acima', - "gon": 'prรณxima pasta">prรณximo', - "logout": "Sair ", - "login": "Fazer login", - "access": " acesso", - "ot_close": "fechar submenu", - "ot_search": "procurar arquivos por atributos, caminho / nome, tags de mรบsica ou qualquer combinaรงรฃo deles$N$N<code>foo bar</code> = deve conter ambos ยซfooยป e ยซbarยป,$N<code>foo -bar</code> = deve conter ยซfooยป mas nรฃo ยซbarยป,$N<code>^yana .opus$</code> = comeรงar com ยซyanaยป e ser um arquivo ยซopusยป$N<code>"try unite"</code> = conter exatamente ยซtry uniteยป$N$No formato de data รฉ iso-8601, como$N<code>2009-12-31</code> ou <code>2020-09-12 23:30:00</code>", - "ot_unpost": "despublicar: excluir seus uploads recentes, ou abortar os que nรฃo foram concluรญdos", - "ot_bup": "bup: uploader bรกsico, atรฉ suporta netscape 4.0", - "ot_mkdir": "mkdir: criar um novo diretรณrio", - "ot_md": "new-md: criar um novo documento markdown", - "ot_msg": "msg: enviar uma mensagem para o log do servidor", - "ot_mp": "opรงรตes do reprodutor de mรญdia", - "ot_cfg": "opรงรตes de configuraรงรฃo", - "ot_u2i": 'up2k: fazer upload de arquivos (se vocรช tiver acesso de escrita) ou alternar para o modo de busca para ver se eles jรก existem em algum lugar no servidor$N$Nuploads sรฃo reiniciรกveis, multithread, e os carimbos de data/hora dos arquivos sรฃo preservados, mas usa mais CPU que [๐ŸŽˆ]  (o uploader bรกsico)

    durante os uploads, este รญcone se torna um indicador de progresso!', - "ot_u2w": 'up2k: fazer upload de arquivos com suporte a retomada (feche seu navegador e solte os mesmos arquivos mais tarde)$N$Nmultithread, e os carimbos de data/hora dos arquivos sรฃo preservados, mas usa mais CPU que [๐ŸŽˆ]  (o uploader bรกsico)

    durante os uploads, este รญcone se torna um indicador de progresso!', - "ot_noie": 'Por favor, use Chrome / Firefox / Edge', - - "ab_mkdir": "criar diretรณrio", - "ab_mkdoc": "novo documento markdown", - "ab_msg": "enviar msg para o log do srv", - - "ay_path": "pular para pastas", - "ay_files": "pular para arquivos", - - "wt_ren": "renomear itens selecionados$NHotkey: F2", - "wt_del": "excluir itens selecionados$NHotkey: ctrl-K", - "wt_cut": "recortar itens selecionados <small>(depois colar em outro lugar)</small>$NHotkey: ctrl-X", - "wt_cpy": "copiar itens selecionados para a รกrea de transferรชncia$N(para colรก-los em outro lugar)$NHotkey: ctrl-C", - "wt_pst": "colar uma seleรงรฃo previamente recortada / copiada$NHotkey: ctrl-V", - "wt_selall": "selecionar todos os arquivos$NHotkey: ctrl-A (quando o arquivo estiver em foco)", - "wt_selinv": "inverter seleรงรฃo", - "wt_zip1": "baixar esta pasta como um arquivo compactado", - "wt_selzip": "baixar seleรงรฃo como um arquivo compactado", - "wt_seldl": "baixar seleรงรฃo como arquivos separados$NHotkey: Y", - "wt_npirc": "copiar informaรงรตes da faixa em formato irc", - "wt_nptxt": "copiar informaรงรตes da faixa em texto simples", - "wt_m3ua": "adicionar ร  playlist m3u (clique em ๐Ÿ“ปcopiar depois)", - "wt_m3uc": "copiar playlist m3u para a รกrea de transferรชncia", - "wt_grid": "alternar entre visualizaรงรฃo de grade / lista$NHotkey: G", - "wt_prev": "faixa anterior$NHotkey: J", - "wt_play": "reproduzir / pausar$NHotkey: P", - "wt_next": "prรณxima faixa$NHotkey: L", - - "ul_par": "uploads paralelos:", - "ut_rand": "randomizar nomes de arquivos", - "ut_u2ts": "copiar o carimbo de data/hora de รบltima modificaรงรฃo$Ndo seu sistema de arquivos para o servidor\">๐Ÿ“…", - "ut_ow": "substituir arquivos existentes no servidor?$N๐Ÿ›ก๏ธ: nunca (irรก gerar um novo nome de arquivo em vez disso)$N๐Ÿ•’: substituir se o arquivo no servidor for mais antigo que o seu$Nโ™ป๏ธ: sempre substituir se os arquivos forem diferentes", - "ut_mt": "continuar a fazer o hash de outros arquivos enquanto faz upload$N$Ntalvez desativar se sua CPU ou HDD for um gargalo", - "ut_ask": 'pedir confirmaรงรฃo antes do upload comeรงar">๐Ÿ’ญ', - "ut_pot": "melhorar a velocidade de upload em dispositivos lentos$Ntornando a UI menos complexa", - "ut_srch": "nรฃo fazer upload, em vez disso verificar se os arquivos jรก$N existem no servidor (irรก escanear todas as pastas que vocรช pode ler)", - "ut_par": "pausar uploads definindo para 0$N$naumentar se sua conexรฃo for lenta / alta latรชncia$N$nmanter em 1 em LAN ou se o HDD do servidor for um gargalo", - "ul_btn": "soltar arquivos / pastas
    aqui (ou clique em mim)", - "ul_btnu": "U P L O A D", - "ul_btns": "B U S C A R", - - "ul_hash": "hash", - "ul_send": "enviar", - "ul_done": "feito", - "ul_idle1": "nenhum upload estรก na fila ainda", - "ut_etah": "velocidade mรฉdia de <em>hash</em>, e tempo estimado atรฉ o fim", - "ut_etau": "velocidade mรฉdia de <em>upload</em> e tempo estimado atรฉ o fim", - "ut_etat": "velocidade mรฉdia <em>total</em> e tempo estimado atรฉ o fim", - - "uct_ok": "concluรญdo com sucesso", - "uct_ng": "ruim: falhou / rejeitado / nรฃo encontrado", - "uct_done": "ok e ruim combinados", - "uct_bz": "fazendo hash ou upload", - "uct_q": "ocioso, pendente", - - "utl_name": "nome do arquivo", - "utl_ulist": "lista", - "utl_ucopy": "copiar", - "utl_links": "links", - "utl_stat": "status", - "utl_prog": "progresso", - - // mantenha curto: - "utl_404": "404", - "utl_err": "ERRO", - "utl_oserr": "Erro-SO", - "utl_found": "encontrado", - "utl_defer": "adiar", - "utl_yolo": "YOLO", - "utl_done": "feito", - - "ul_flagblk": "os arquivos foram adicionados ร  fila
    no entanto, hรก um up2k ocupado em outra aba do navegador,
    entรฃo esperando que ele termine primeiro", - "ul_btnlk": "a configuraรงรฃo do servidor bloqueou este interruptor neste estado", - - "udt_up": "Upload", - "udt_srch": "Buscar", - "udt_drop": "solte aqui", - - "u_nav_m": '
    certo, o que vocรช tem?
    Enter = Arquivos (um ou mais)\nESC = Uma pasta (incluindo subpastas)', - "u_nav_b": 'ArquivosUma pasta', - - "cl_opts": "interruptores", - "cl_themes": "tema", - "cl_langs": "idioma", - "cl_ziptype": "download de pasta", - "cl_uopts": "interruptores up2k", - "cl_favico": "favicon", - "cl_bigdir": "grandes dirs", - "cl_hsort": "#sort", - "cl_keytype": "notaรงรฃo de tecla", - "cl_hiddenc": "colunas ocultas", - "cl_hidec": "ocultar", - "cl_reset": "resetar", - "cl_hpick": "toque nos cabeรงalhos das colunas para ocultรก-los na tabela abaixo", - "cl_hcancel": "ocultar coluna abortado", - - "ct_grid": '็”ฐ a grade', - "ct_ttips": 'โ—” โ—ก โ—”">โ„น๏ธ dicas de ferramentas', - "ct_thumb": 'na visualizaรงรฃo de grade, alternar entre รญcones ou miniaturas$NHotkey: T">๐Ÿ–ผ๏ธ miniaturas', - "ct_csel": 'usar CTRL e SHIFT para seleรงรฃo de arquivo na visualizaรงรฃo de grade">sel', - "ct_ihop": 'quando o visualizador de imagens for fechado, rolar para o รบltimo arquivo visualizado">gโฎฏ', - "ct_dots": 'mostrar arquivos ocultos (se o servidor permitir)">dotfiles', - "ct_qdel": 'ao excluir arquivos, pedir confirmaรงรฃo apenas uma vez">qdel', - "ct_dir1st": 'ordenar pastas antes de arquivos">๐Ÿ“ primeiro', - "ct_nsort": 'ordem natural (para nomes de arquivos com dรญgitos iniciais)">nsort', - "ct_utc": 'mostrar todas as datas/horas em UTC">UTC', - "ct_readme": 'mostrar README.md nas listas de pastas">๐Ÿ“œ readme', - "ct_idxh": 'mostrar index.html em vez de lista de pastas">htm', - "ct_sbars": 'mostrar barras de rolagem">โŸŠ', - - "cut_umod": "se um arquivo jรก existe no servidor, atualizar o carimbo de data/hora de รบltima modificaรงรฃo do servidor para corresponder ao seu arquivo local (requer permissรตes de escrita+exclusรฃo)\">re๐Ÿ“…", - - "cut_turbo": "o botรฃo yolo, vocรช provavelmente NรƒO quer habilitar isso:$N$Nuse isto se vocรช estava fazendo upload de uma enorme quantidade de arquivos e teve que reiniciar por algum motivo, e quer continuar o upload o mais rรกpido possรญvel$N$Nisto substitui a verificaรงรฃo de hash por uma simples "este arquivo tem o mesmo tamanho no servidor?" entรฃo se o conteรบdo do arquivo for diferente ele NรƒO serรก enviado$N$Nvocรช deve desativar isso quando o upload estiver concluรญdo, e entรฃo "enviar" os mesmos arquivos novamente para permitir que o cliente os verifique\">turbo", - - "cut_datechk": "nรฃo tem efeito a menos que o botรฃo turbo esteja ativado$N$Nreduz o fator yolo por uma pequena quantidade; verifica se os carimbos de data/hora dos arquivos no servidor correspondem aos seus$N$ndeve teoricamente pegar a maioria dos uploads incompletos / corrompidos, mas nรฃo รฉ um substituto para fazer uma verificaรงรฃo com o turbo desativado depois\">date-chk", - - "cut_u2sz": "tamanho (em MiB) de cada bloco de upload; valores grandes voam melhor pelo atlรขntico. Tente valores baixos em conexรตes muito nรฃo confiรกveis", - - "cut_flag": "garantir que apenas uma aba esteja fazendo upload por vez $N -- outras abas devem ter isso ativado tambรฉm $N -- sรณ afeta abas no mesmo domรญnio", - - "cut_az": "enviar arquivos em ordem alfabรฉtica, em vez de o menor primeiro$N$na ordem alfabรฉtica pode tornar mais fรกcil de verificar se algo deu errado no servidor, mas torna o upload um pouco mais lento em fibra / LAN", - - "cut_nag": "notificaรงรฃo do SO quando o upload for concluรญdo$N(somente se o navegador ou aba nรฃo estiver ativo)", - "cut_sfx": "alerta audรญvel quando o upload for concluรญdo$N(somente se o navegador ou aba nรฃo estiver ativo)", - - "cut_mt": "usar multithreading para acelerar o hash de arquivos$N$nisto usa web-workers e requer$Nmais RAM (atรฉ 512 MiB extras)$N$ntorna https 30% mais rรกpido, http 4.5x mais rรกpido\">mt", - - "cut_wasm": "usar wasm em vez do hasher embutido do navegador; melhora a velocidade em navegadores baseados em chrome mas aumenta a carga da CPU, e muitas versรตes antigas do chrome tรชm bugs que fazem o navegador consumir toda a RAM e travar se isso for ativado\">wasm", - - "cft_text": "texto do favicon (deixe em branco e atualize para desativar)", - "cft_fg": "cor do primeiro plano", - "cft_bg": "cor do fundo", - - "cdt_lim": "nรบmero mรกximo de arquivos para mostrar em uma pasta", - "cdt_ask": "ao rolar para o final,$nem vez de carregar mais arquivos,$nperguntar o que fazer", - "cdt_hsort": "quantas regras de ordenaรงรฃo (<code>,sorthref</code>) incluir em URLs de mรญdia. Definir isso para 0 tambรฉm ignorarรก as regras de ordenaรงรฃo incluรญdas em links de mรญdia quando vocรช clicar neles", - - "tt_entree": "mostrar painel de navegaรงรฃo (รกrvore de diretรณrios)$NHotkey: B", - "tt_detree": "mostrar breadcrumbs$NHotkey: B", - "tt_visdir": "rolar para a pasta selecionada", - "tt_ftree": "alternar entre รกrvore de pastas / arquivos de texto$NHotkey: V", - "tt_pdock": "mostrar pastas pai em um painel acoplado no topo", - "tt_dynt": "crescer automaticamente ร  medida que a รกrvore se expande", - "tt_wrap": "quebra de linha", - "tt_hover": "revelar linhas transbordando ao passar o mouse$N( quebra a rolagem a menos que o cursor do mouse $N  esteja na margem esquerda )", - - "ml_pmode": "ao final da pasta...", - "ml_btns": "comandos", - "ml_tcode": "transcodificar", - "ml_tcode2": "transcodificar para", - "ml_tint": "matiz", - "ml_eq": "equalizador de รกudio", - "ml_drc": "compressor de faixa dinรขmica", - - "mt_loop": "loop/repetir uma mรบsica\">๐Ÿ”", - "mt_one": "parar depois de uma mรบsica\">1๏ธโƒฃ", - "mt_shuf": "embaralhar as mรบsicas em cada pasta\">๐Ÿ”€", - "mt_aplay": "reproduzir automaticamente se houver um ID de mรบsica no link que vocรช clicou para acessar o servidor$N$ndesativar isso tambรฉm impedirรก que a URL da pรกgina seja atualizada com IDs de mรบsica ao tocar mรบsica, para evitar a reproduรงรฃo automรกtica se essas configuraรงรตes forem perdidas mas a URL permanecer\">aโ–ถ", - "mt_preload": "comeรงar a carregar a prรณxima mรบsica perto do final para uma reproduรงรฃo sem interrupรงรตes\">preload", - "mt_prescan": "ir para a prรณxima pasta antes que a รบltima mรบsica$Ntermine, mantendo o navegador feliz$Npara que ele nรฃo pare a reproduรงรฃo\">nav", - "mt_fullpre": "tentar prรฉ-carregar a mรบsica inteira;$Nโœ… ativar em conexรตes nรฃo confiรกveis,$NโŒ desativar em conexรตes lentas provavelmente\">full", - "mt_fau": "em telefones, evitar que a mรบsica pare se a prรณxima mรบsica nรฃo prรฉ-carregar rรกpido o suficiente (pode fazer as tags aparecerem com falhas)\">โ˜•๏ธ", - "mt_waves": "barra de busca de forma de onda:$Nmostrar amplitude de รกudio no scrubber\">~s", - "mt_npclip": "mostrar botรตes para copiar a mรบsica que estรก tocando para a รกrea de transferรชncia\">/np", - "mt_m3u_c": "mostrar botรตes para copiar as$Nmรบsicas selecionadas como entradas de playlist m3u8 para a รกrea de transferรชncia\">๐Ÿ“ป", - "mt_octl": "integraรงรฃo com o SO (atalhos de mรญdia / osd)\">os-ctl", - "mt_oseek": "permitir busca atravรฉs da integraรงรฃo com o SO$N$nnota: em alguns dispositivos (iPhones),$nisto substitui o botรฃo de prรณxima mรบsica\">seek", - "mt_oscv": "mostrar capa do รกlbum no osd\">art", - "mt_follow": "manter a faixa que estรก tocando rolando ร  vista\">๐ŸŽฏ", - "mt_compact": "controles compactos\">โŸŽ", - "mt_uncache": "limpar cache  (tente isso se seu navegador armazenou em cache$Numa cรณpia quebrada de uma mรบsica e se recusa a tocar)\">uncache", - "mt_mloop": "loop na pasta aberta\">๐Ÿ” loop", - "mt_mnext": "carregar a prรณxima pasta e continuar\">๐Ÿ“‚ prรณximo", - "mt_mstop": "parar reproduรงรฃo\">โธ parar", - "mt_cflac": "converter flac / wav para {0}\">flac", - "mt_caac": "converter aac / m4a para {0}\">aac", - "mt_coth": "converter todos os outros (nรฃo mp3) para {0}\">oth", - "mt_c2opus": "melhor escolha para desktops, laptops, android\">opus", - "mt_c2owa": "opus-weba, para iOS 17.5 e mais recentes\">owa", - "mt_c2caf": "opus-caf, para iOS 11 a 17\">caf", - "mt_c2mp3": "use isso em dispositivos muito antigos\">mp3", - "mt_c2flac": "melhor qualidade de som, mas downloads enormes\">flac", - "mt_c2wav": "reproduรงรฃo nรฃo comprimida (ainda maior)\">wav", - "mt_c2ok": "legal, boa escolha", - "mt_c2nd": "esse nรฃo รฉ o formato de saรญda recomendado para o seu dispositivo, mas tudo bem", - "mt_c2ng": "seu dispositivo nรฃo parece suportar este formato de saรญda, mas vamos tentar mesmo assim", - "mt_xowa": "existem bugs no iOS que impedem a reproduรงรฃo em segundo plano usando este formato; por favor, use caf ou mp3 em vez disso", - "mt_tint": "nรญvel de fundo (0-100) na barra de busca$Npara tornar o buffer menos distrativo", - "mt_eq": "ativa o equalizador e o controle de ganho;$N$nimpulsรฃo <code>0</code> = volume padrรฃo de 100% (nรฃo modificado)$N$nlargura <code>1  </code> = estรฉreo padrรฃo (nรฃo modificado)$nlargura <code>0.5</code> = 50% de crossfeed esquerda-direita$nlargura <code>0  </code> = mono$N$nimpulsรฃo <code>-0.8</code> & largura <code>10</code> = remoรงรฃo de vocal :^)$N$natvar o equalizador torna os รกlbuns sem interrupรงรตes totalmente sem interrupรงรตes, entรฃo deixe-o ligado com todos os valores em zero (exceto largura = 1) se vocรช se importa com isso", - "mt_drc": "ativa o compressor de faixa dinรขmica (nivelador de volume / brickwaller); tambรฉm ativarรก o EQ para equilibrar o spaghetti, entรฃo defina todos os campos EQ exceto 'width' para 0 se vocรช nรฃo quiser$N$nabaixa o volume do รกudio acima do THRESHOLD dB; para cada RATIO dB apรณs o THRESHOLD hรก 1 dB de saรญda, entรฃo os valores padrรฃo de tresh -24 e ratio 12 significam que nunca deve ficar mais alto que -22 dB e รฉ seguro aumentar o impulso do equalizador para 0.8, ou atรฉ 1.8 com ATK 0 e um enorme RLS como 90 (sรณ funciona no firefox; RLS รฉ no mรกximo 1 em outros navegadores)$N$n(veja a wikipedia, eles explicam muito melhor)", - - "mb_play": "reproduzir", - "mm_hashplay": "reproduzir este arquivo de รกudio?", - "mm_m3u": "pressione Enter/OK para Reproduzir\npressione ESC/Cancelar para Editar", - "mp_breq": "precisa do firefox 82+ ou chrome 73+ ou iOS 15+", - "mm_bload": "carregando...", - "mm_bconv": "convertendo para {0}, por favor, espere...", - "mm_opusen": "seu navegador nรฃo pode reproduzir arquivos aac / m4a;\na transcodificaรงรฃo para opus agora estรก ativada", - "mm_playerr": "reproduรงรฃo falhou: ", - "mm_eabrt": "A tentativa de reproduรงรฃo foi cancelada", - "mm_enet": "Sua conexรฃo de internet estรก instรกvel", - "mm_edec": "Este arquivo estรก supostamente corrompido??", - "mm_esupp": "Seu navegador nรฃo entende este formato de รกudio", - "mm_eunk": "Erro Desconhecido", - "mm_e404": "Nรฃo foi possรญvel reproduzir รกudio; erro 404: Arquivo nรฃo encontrado.", - "mm_e403": "Nรฃo foi possรญvel reproduzir รกudio; erro 403: Acesso negado.\n\nTente pressionar F5 para recarregar, talvez vocรช tenha saรญdo da conta", - "mm_e500": "Nรฃo foi possรญvel reproduzir รกudio; erro 500: Verifique os logs do servidor.", - "mm_e5xx": "Nรฃo foi possรญvel reproduzir รกudio; erro do servidor ", - "mm_nof": "nรฃo encontrando mais arquivos de รกudio por perto", - "mm_prescan": "Procurando mรบsica para tocar a seguir...", - "mm_scank": "Encontrei a prรณxima mรบsica:", - "mm_uncache": "cache limpo; todas as mรบsicas serรฃo baixadas novamente na prรณxima reproduรงรฃo", - "mm_hnf": "essa mรบsica nรฃo existe mais", - - "im_hnf": "essa imagem nรฃo existe mais", - - "f_empty": 'esta pasta estรก vazia', - "f_chide": 'isso irรก ocultar a coluna ยซ{0}ยป\n\nvocรช pode reexibir as colunas na aba de configuraรงรตes', - "f_bigtxt": "este arquivo tem {0} MiB de tamanho -- realmente ver como texto?", - "f_bigtxt2": "ver apenas o final do arquivo em vez disso? isso tambรฉm ativarรก o acompanhamento/tailing, mostrando linhas de texto recรฉm-adicionadas em tempo real", - "fbd_more": '
    mostrando {0} de {1} arquivos; mostrar {2} ou mostrar todos
    ', - "fbd_all": '
    mostrando {0} de {1} arquivos; mostrar todos
    ', - "f_anota": "apenas {0} dos {1} itens foram selecionados;\npara selecionar a pasta inteira, primeiro role para o final", - - "f_dls": 'os links de arquivo na pasta atual foram\nalterados para links de download', - - "f_partial": "Para baixar com seguranรงa um arquivo que estรก sendo enviado, por favor, clique no arquivo que tem o mesmo nome, mas sem a extensรฃo .PARTIAL. Por favor, pressione CANCELAR ou Escape para fazer isso.\n\nPressionar OK / Enter irรก ignorar este aviso e continuar baixando o arquivo temporรกrio .PARTIAL, o que quase certamente lhe darรก dados corrompidos.", - - "ft_paste": "colar {0} itens$NHotkey: ctrl-V", - "fr_eperm": 'nรฃo รฉ possรญvel renomear:\nvocรช nรฃo tem permissรฃo de โ€œmoverโ€ nesta pasta', - "fd_eperm": 'nรฃo รฉ possรญvel excluir:\nvocรช nรฃo tem permissรฃo de โ€œexcluirโ€ nesta pasta', - "fc_eperm": 'nรฃo รฉ possรญvel recortar:\nvocรช nรฃo tem permissรฃo de โ€œmoverโ€ nesta pasta', - "fp_eperm": 'nรฃo รฉ possรญvel colar:\nvocรช nรฃo tem permissรฃo de โ€œescreverโ€ nesta pasta', - "fr_emore": "selecione pelo menos um item para renomear", - "fd_emore": "selecione pelo menos um item para excluir", - "fc_emore": "selecione pelo menos um item para recortar", - "fcp_emore": "selecione pelo menos um item para copiar para a รกrea de transferรชncia", - - "fs_sc": "compartilhar a pasta em que vocรช estรก", - "fs_ss": "compartilhar os arquivos selecionados", - "fs_just1d": "vocรช nรฃo pode selecionar mais de uma pasta,\nou misturar arquivos e pastas em uma seleรงรฃo", - "fs_abrt": "โŒ abortar", - "fs_rand": "๐ŸŽฒ nome aleatรณrio", - "fs_go": "โœ… criar compartilhamento", - "fs_name": "nome", - "fs_src": "fonte", - "fs_pwd": "senha", - "fs_exp": "expira", - "fs_tmin": "min", - "fs_thrs": "horas", - "fs_tdays": "dias", - "fs_never": "eterno", - "fs_pname": "nome do link opcional; serรก aleatรณrio se em branco", - "fs_tsrc": "o arquivo ou pasta a ser compartilhado", - "fs_ppwd": "senha opcional", - "fs_w8": "criando compartilhamento...", - "fs_ok": "pressione Enter/OK para Copiar para a รrea de Transferรชncia\npressione ESC/Cancelar para Fechar", - - "frt_dec": "pode consertar alguns casos de nomes de arquivos quebrados\">url-decode", - "frt_rst": "resetar nomes de arquivos modificados de volta para os originais\">โ†บ resetar", - "frt_abrt": "abortar e fechar esta janela\">โŒ cancelar", - "frb_apply": "APLICAR RENOMEAร‡รƒO", - "fr_adv": "renomeaรงรฃo em lote / metadados / padrรฃo\">avanรงado", - "fr_case": "regex sensรญvel a maiรบsculas e minรบsculas\">case", - "fr_win": "nomes seguros para windows; substituir <>:"\\|?* por caracteres japoneses de largura total\">win", - "fr_slash": "substituir / por um caractere que nรฃo cause a criaรงรฃo de novas pastas\">no /", - "fr_re": "padrรฃo de busca regex para aplicar aos nomes de arquivos originais; grupos de captura podem ser referenciados no campo de formato abaixo como <code>(1)</code> e <code>(2)</code> e assim por diante", - "fr_fmt": "inspirado por foobar2000:$N<code>(tรญtulo)</code> รฉ substituรญdo pelo tรญtulo da mรบsica,$N<code>[(artista) - ](tรญtulo)</code> pula esta parte se o artista estiver em branco$N<code>$lpad((tn),2,0)</code> preenche o nรบmero da faixa com 2 dรญgitos", - "fr_pdel": "excluir", - "fr_pnew": "salvar como", - "fr_pname": "forneรงa um nome para seu novo preset", - "fr_aborted": "abortado", - "fr_lold": "nome antigo", - "fr_lnew": "novo nome", - "fr_tags": "tags para os arquivos selecionados (somente leitura, apenas para referรชncia):", - "fr_busy": "renomeando {0} itens...\n\n{1}", - "fr_efail": "renomeaรงรฃo falhou:\n", - "fr_nchg": "{0} dos novos nomes foram alterados devido a win e/ou no /\n\nOK para continuar com estes novos nomes alterados?", - - "fd_ok": "exclusรฃo OK", - "fd_err": "exclusรฃo falhou:\n", - "fd_none": "nada foi excluรญdo; talvez bloqueado pela configuraรงรฃo do servidor (xbd)?", - "fd_busy": "excluindo {0} itens...\n\n{1}", - "fd_warn1": "EXCLUIR estes {0} itens?", - "fd_warn2": "รšltima chance! Nรฃo hรก como desfazer. Excluir?", - - "fc_ok": "recortar {0} itens", - "fc_warn": 'recortar {0} itens\n\nmas: apenas esta aba do navegador pode colรก-los\n(jรก que a seleรงรฃo รฉ tรฃo absolutamente massiva)', - - "fcc_ok": "copiado {0} itens para a รกrea de transferรชncia", - "fcc_warn": 'copiado {0} itens para a รกrea de transferรชncia\n\nmas: apenas esta aba do navegador pode colรก-los\n(jรก que a seleรงรฃo รฉ tรฃo absolutamente massiva)', - - "fp_apply": "usar estes nomes", - "fp_ecut": "primeiro recorte ou copie alguns arquivos / pastas para colar / mover\n\nnota: vocรช pode recortar / colar entre abas diferentes do navegador", - "fp_ename": "{0} itens nรฃo podem ser movidos para cรก porque os nomes jรก estรฃo em uso. Dรช a eles novos nomes abaixo para continuar, ou deixe o nome em branco para pular:", - "fcp_ename": "{0} itens nรฃo podem ser copiados para cรก porque os nomes jรก estรฃo em uso. Dรช a eles novos nomes abaixo para continuar, ou deixe o nome em branco para pular:", - "fp_emore": "ainda hรก algumas colisรตes de nome de arquivo para consertar", - "fp_ok": "movimento OK", - "fcp_ok": "cรณpia OK", - "fp_busy": "movendo {0} itens...\n\n{1}", - "fcp_busy": "copiando {0} itens...\n\n{1}", - "fp_abrt": "abortando...", - "fp_err": "movimento falhou:\n", - "fcp_err": "cรณpia falhou:\n", - "fp_confirm": "mover estes {0} itens para cรก?", - "fcp_confirm": "copiar estes {0} itens para cรก?", - "fp_etab": 'falha ao ler a รกrea de transferรชncia de outra aba do navegador', - "fp_name": "enviando um arquivo do seu dispositivo. Dรช-lhe um nome:", - "fp_both_m": '
    escolha o que colar
    Enter = Mover {0} arquivos de ยซ{1}ยป\nESC = Enviar {2} arquivos do seu dispositivo', - "fcp_both_m": '
    escolha o que colar
    Enter = Copiar {0} arquivos de ยซ{1}ยป\nESC = Enviar {2} arquivos do seu dispositivo', - "fp_both_b": 'MoverEnviar', - "fcp_both_b": 'CopiarEnviar', - - "mk_noname": "digite um nome no campo de texto ร  esquerda antes de fazer isso :p", - - "tv_load": "Carregando documento de texto:\n\n{0}\n\n{1}% ({2} de {3} MiB carregados)", - "tv_xe1": "nรฃo foi possรญvel carregar o arquivo de texto:\n\nerro ", - "tv_xe2": "404, arquivo nรฃo encontrado", - "tv_lst": "lista de arquivos de texto em", - "tvt_close": "voltar para a visualizaรงรฃo da pasta$NHotkey: M (ou Esc)\">โŒ fechar", - "tvt_dl": "baixar este arquivo$NHotkey: Y\">๐Ÿ’พ baixar", - "tvt_prev": "mostrar documento anterior$NHotkey: i\">โฌ† anterior", - "tvt_next": "mostrar prรณximo documento$NHotkey: K\">โฌ‡ prรณximo", - "tvt_sel": "selecionar arquivo   ( para recortar / copiar / excluir / ... )$NHotkey: S\">sel", - "tvt_edit": "abrir arquivo no editor de texto$NHotkey: E\">โœ๏ธ editar", - "tvt_tail": "monitorar arquivo para alteraรงรตes; mostrar novas linhas em tempo real\">๐Ÿ“ก seguir", - "tvt_wrap": "quebra de linha\">โ†ต", - "tvt_atail": "fixar rolagem no final da pรกgina\">โš“", - "tvt_ctail": "decodificar cores do terminal (cรณdigos de escape ansi)\">๐ŸŒˆ", - "tvt_ntail": "limite de rolagem para trรกs (quantos bytes de texto manter carregados)", - - "m3u_add1": "mรบsica adicionada ร  playlist m3u", - "m3u_addn": "{0} mรบsicas adicionadas ร  playlist m3u", - "m3u_clip": "playlist m3u agora copiada para a รกrea de transferรชncia\n\nvocรช deve criar um novo arquivo de texto chamado something.m3u e colar a playlist nesse documento; isso a tornarรก reproduzรญvel", - - "gt_vau": "nรฃo mostrar vรญdeos, apenas tocar o รกudio\">๐ŸŽง", - "gt_msel": "ativar seleรงรฃo de arquivo; ctrl-clique em um arquivo para substituir$N$n<em>quando ativo: clique duas vezes em um arquivo / pasta para abri-lo&>t;/em>$N$nHotkey: S\">multisseleรงรฃo", - "gt_crop": "cortar miniaturas ao centro\">cortar", - "gt_3x": "miniaturas de alta resoluรงรฃo\">3x", - "gt_zoom": "zoom", - "gt_chop": "picar", - "gt_sort": "ordenar por", - "gt_name": "nome", - "gt_sz": "tamanho", - "gt_ts": "data", - "gt_ext": "tipo", - "gt_c1": "truncar nomes de arquivos mais (mostrar menos)", - "gt_c2": "truncar nomes de arquivos menos (mostrar mais)", - - "sm_w8": "buscando...", - "sm_prev": "os resultados da busca abaixo sรฃo de uma consulta anterior:\n ", - "sl_close": "fechar resultados da busca", - "sl_hits": "mostrando {0} resultados", - "sl_moar": "carregar mais", - - "s_sz": "tamanho", - "s_dt": "data", - "s_rd": "caminho", - "s_fn": "nome", - "s_ta": "tags", - "s_ua": "up@", - "s_ad": "adv.", - "s_s1": "MiB mรญnimo", - "s_s2": "MiB mรกximo", - "s_d1": "iso8601 min.", - "s_d2": "iso8601 max.", - "s_u1": "enviado depois de", - "s_u2": "e/ou antes de", - "s_r1": "caminho contรฉm   (separado por espaรงo)", - "s_f1": "nome contรฉm   (negar com -nope)", - "s_t1": "tags contรฉm   (^=inรญcio, fim=$)", - "s_a1": "propriedades de metadados especรญficas", - - "md_eshow": "nรฃo รฉ possรญvel renderizar ", - "md_off": "[๐Ÿ“œreadme] desativado em [โš™๏ธ] -- documento oculto", - - "badreply": "Falha ao analisar a resposta do servidor", - - "xhr403": "403: Acesso negado\n\ntente pressionar F5, talvez vocรช tenha saรญdo da conta", - "xhr0": "desconhecido (provavelmente perdeu a conexรฃo com o servidor, ou o servidor estรก offline)", - "cf_ok": "desculpe por isso -- a proteรงรฃo DD" + "oS foi ativada\n\nas coisas devem ser retomadas em cerca de 30 segundos\n\nse nada acontecer, pressione F5 para recarregar a pรกgina", - "tl_xe1": "nรฃo foi possรญvel listar as subpastas:\n\nerro ", - "tl_xe2": "404: Pasta nรฃo encontrada", - "fl_xe1": "nรฃo foi possรญvel listar os arquivos na pasta:\n\nerro ", - "fl_xe2": "404: Pasta nรฃo encontrada", - "fd_xe1": "nรฃo foi possรญvel criar a subpasta:\n\nerro ", - "fd_xe2": "404: Pasta pai nรฃo encontrada", - "fsm_xe1": "nรฃo foi possรญvel enviar a mensagem:\n\nerro ", - "fsm_xe2": "404: Pasta pai nรฃo encontrada", - "fu_xe1": "falha ao carregar a lista de despublicaรงรฃo do servidor:\n\nerro ", - "fu_xe2": "404: Arquivo nรฃo encontrado??", - - "fz_tar": "arquivo gnu-tar nรฃo comprimido (linux / mac)", - "fz_pax": "tar de formato pax nรฃo comprimido (mais lento)", - "fz_targz": "gnu-tar com compressรฃo gzip nรญvel 3$N$nisto รฉ geralmente muito lento, entรฃo$nuse tar nรฃo comprimido em vez disso", - "fz_tarxz": "gnu-tar com compressรฃo xz nรญvel 1$N$nisto รฉ geralmente muito lento, entรฃo$nuse tar nรฃo comprimido em vez disso", - "fz_zip8": "zip com nomes de arquivos utf8 (pode ser instรกvel no windows 7 e mais antigos)", - "fz_zipd": "zip com nomes de arquivos cp437 tradicionais, para software realmente antigo", - "fz_zipc": "cp437 com crc32 calculado antecipadamente,$npara MS-DOS PKZIP v2.04g (outubro de 1993)$n(leva mais tempo para processar antes que o download possa comeรงar)", - - "un_m1": "vocรช pode excluir seus uploads recentes (ou abortar os que nรฃo foram concluรญdos) abaixo", - "un_upd": "atualizar", - "un_m4": "ou compartilhar os arquivos visรญveis abaixo:", - "un_ulist": "mostrar", - "un_ucopy": "copiar", - "un_flt": "filtro opcional:  a URL deve conter", - "un_fclr": "limpar filtro", - "un_derr": 'a exclusรฃo da despublicaรงรฃo falhou:\n', - "un_f5": 'algo quebrou, por favor, tente uma atualizaรงรฃo ou pressione F5', - "un_uf5": "desculpe, mas vocรช tem que atualizar a pรกgina (por exemplo, pressionando F5 ou CTRL-R) antes que este upload possa ser abortado", - "un_nou": "aviso: o servidor estรก muito ocupado para mostrar uploads incompletos; clique no link \"atualizar\" em um momento", - "un_noc": "aviso: a despublicaรงรฃo de arquivos totalmente enviados nรฃo estรก ativada/permitida na configuraรงรฃo do servidor", - "un_max": "mostrando os primeiros 2000 arquivos (use o filtro)", - "un_avail": "{0} uploads recentes podem ser excluรญdos
    {1} incompletos podem ser abortados", - "un_m2": "ordenado por tempo de upload; o mais recente primeiro:", - "un_no1": "sike! nenhum upload รฉ suficientemente recente", - "un_no2": "sike! nenhum upload que corresponda a esse filtro รฉ suficientemente recente", - "un_next": "excluir os prรณximos {0} arquivos abaixo", - "un_abrt": "abortar", - "un_del": "excluir", - "un_m3": "carregando seus uploads recentes...", - "un_busy": "excluindo {0} arquivos...", - "un_clip": "{0} links copiados para a รกrea de transferรชncia", - - "u_https1": "vocรช deveria", - "u_https2": "mudar para https", - "u_https3": "para um melhor desempenho", - "u_ancient": 'seu navegador รฉ impressionantemente antigo -- talvez vocรช devesse usar o bup em vez disso', - "u_nowork": "precisa do firefox 53+ ou chrome 57+ ou iOS 11+", - "tail_2old": "precisa do firefox 105+ ou chrome 71+ ou iOS 14.5+", - "u_nodrop": 'seu navegador รฉ muito antigo para upload de arrastar e soltar', - "u_notdir": "isso nรฃo รฉ uma pasta!\n\nseu navegador รฉ muito antigo,\npor favor, tente arrastar e soltar em vez disso", - "u_uri": "para arrastar e soltar imagens de outras janelas do navegador,\npor favor, solte-as no grande botรฃo de upload", - "u_enpot": 'mudar para UI batata (pode melhorar a velocidade de upload)', - "u_depot": 'mudar para UI chique (pode reduzir a velocidade de upload)', - "u_gotpot": 'mudando para a UI batata para uma velocidade de upload melhorada,\n\nsinta-se ร  vontade para discordar e voltar!', - "u_pott": "

    arquivos:   {0} concluรญdos,   {1} falhados,   {2} ocupados,   {3} na fila

    ", - "u_ever": "este รฉ o uploader bรกsico; up2k precisa de pelo menos
    chrome 21 // firefox 13 // edge 12 // opera 12 // safari 5.1", - "u_su2k": 'este รฉ o uploader bรกsico; up2k รฉ melhor', - "u_uput": 'otimizar para velocidade (pular checksum)', - "u_ewrite": 'vocรช nรฃo tem acesso de escrita a esta pasta', - "u_eread": 'vocรช nรฃo tem acesso de leitura a esta pasta', - "u_enoi": 'a busca de arquivos nรฃo estรก ativada na configuraรงรฃo do servidor', - "u_enoow": "substituir nรฃo funcionarรก aqui; precisa de permissรฃo de Excluir", - "u_badf": 'Estes {0} arquivos (de um total de {1}) foram ignorados, possivelmente devido a permissรตes do sistema de arquivos:\n\n', - "u_blankf": 'Estes {0} arquivos (de um total de {1}) estรฃo em branco / vazios; enviรก-los de qualquer maneira?\n\n', - "u_applef": 'Estes {0} arquivos (de um total de {1}) sรฃo provavelmente indesejรกveis;\nPressione OK/Enter para PULAR os seguintes arquivos,\nPressione Cancelar/ESC para NรƒO excluir, e ENVIAR esses tambรฉm:\n\n', - "u_just1": '\nTalvez funcione melhor se vocรช selecionar apenas um arquivo', - "u_ff_many": "se vocรช estiver usando Linux / MacOS / Android, entรฃo essa quantidade de arquivos pode travar o Firefox!\nse isso acontecer, por favor, tente novamente (ou use o Chrome).", - "u_up_life": "Este upload serรก excluรญdo do servidor\n{0} apรณs ser concluรญdo", - "u_asku": 'enviar estes {0} arquivos para {1}', - "u_unpt": "vocรช pode desfazer / excluir este upload usando o ๐Ÿงฏ no canto superior esquerdo", - "u_bigtab": 'prestes a mostrar {0} arquivos\n\nisto pode travar seu navegador, tem certeza?', - "u_scan": 'Escaneando arquivos...', - "u_dirstuck": 'o iterador de diretรณrio travou ao tentar acessar os seguintes {0} itens; irรก pular:', - "u_etadone": 'Concluรญdo ({0}, {1} arquivos)', - "u_etaprep": '(preparando para enviar)', - "u_hashdone": 'hash concluรญdo', - "u_hashing": 'hash', - "u_hs": 'handshaking...', - "u_started": "os arquivos estรฃo sendo enviados agora; veja [๐Ÿš€]", - "u_dupdefer": "duplicado; serรก processado apรณs todos os outros arquivos", - "u_actx": "clique neste texto para evitar perda de
    desempenho ao mudar para outras janelas/abas", - "u_fixed": "OK!  Consertado ๐Ÿ‘", - "u_cuerr": "falha ao enviar o bloco {0} de {1};\nprovavelmente inofensivo, continuando\n\narquivo: {2}", - "u_cuerr2": "o servidor rejeitou o upload (bloco {0} de {1});\ntentarรก novamente mais tarde\n\narquivo: {2}\n\nerro ", - "u_ehstmp": "tentarรก novamente; veja no canto inferior direito", - "u_ehsfin": "o servidor rejeitou a solicitaรงรฃo para finalizar o upload; tentando novamente...", - "u_ehssrch": "o servidor rejeitou a solicitaรงรฃo para realizar a busca; tentando novamente...", - "u_ehsinit": "o servidor rejeitou a solicitaรงรฃo para iniciar o upload; tentando novamente...", - "u_eneths": "erro de rede ao realizar o handshake de upload; tentando novamente...", - "u_enethd": "erro de rede ao testar a existรชncia do alvo; tentando novamente...", - "u_cbusy": "esperando o servidor confiar em nรณs novamente apรณs uma falha de rede...", - "u_ehsdf": "o servidor ficou sem espaรงo em disco!\n\ncontinuarรก tentando novamente, caso alguรฉm\nlibere espaรงo suficiente para continuar", - "u_emtleak1": "parece que seu navegador pode ter um vazamento de memรณria;\npor favor,", - "u_emtleak2": ' mude para https (recomendado) ou ', - "u_emtleak3": ' ', - "u_emtleakc": 'tente o seguinte:\n
    • pressione F5 para atualizar a pรกgina
    • depois desative o botรฃo  mt  nas  โš™๏ธ configuraรงรตes
    • e tente o upload novamente
    Os uploads serรฃo um pouco mais lentos, mas tudo bem.\nDesculpe pelo problema !\n\nPS: chrome v107 tem uma correรงรฃo de bug para isso', - "u_emtleakf": 'tente o seguinte:\n
    • pressione F5 para atualizar a pรกgina
    • depois ative ๐Ÿฅ” (batata) na UI de upload
    • e tente o upload novamente
    \nPS: o firefox esperanรงosamente terรก uma correรงรฃo de bug em algum momento', - "u_s404": "nรฃo encontrado no servidor", - "u_expl": "explicar", - "u_maxconn": "a maioria dos navegadores limita isso a 6, mas o firefox permite que vocรช aumente com connections-per-server em about:config", - "u_tu": '

    AVISO: turbo ativado,  o cliente pode nรฃo detectar e retomar uploads incompletos; veja a dica de ferramenta do botรฃo turbo

    ', - "u_ts": '

    AVISO: turbo ativado,  os resultados da busca podem estar incorretos; veja a dica de ferramenta do botรฃo turbo

    ', - "u_turbo_c": "o turbo estรก desativado na configuraรงรฃo do servidor", - "u_turbo_g": "desativando o turbo porque vocรช nรฃo tem\n privilรฉgios de listagem de diretรณrio neste volume", - "u_life_cfg": 'excluir automaticamente depois de min (ou horas)', - "u_life_est": 'o upload serรก excluรญdo ---', - "u_life_max": 'esta pasta impรตe um\n tempo de vida mรกximo de {0}', - "u_unp_ok": 'a despublicaรงรฃo รฉ permitida para {0}', - "u_unp_ng": 'a despublicaรงรฃo NรƒO serรก permitida', - "ue_ro": 'seu acesso a esta pasta รฉ Somente Leitura\n\n', - "ue_nl": 'vocรช nรฃo estรก logado no momento', - "ue_la": 'vocรช estรก logado no momento como "{0}"', - "ue_sr": 'vocรช estรก no modo de busca de arquivos no momento\n\nmude para o modo de upload clicando na lupa ๐Ÿ”Ž (ao lado do grande botรฃo BUSCAR), e tente enviar novamente\n\ndesculpe', - "ue_ta": 'tente enviar novamente, deve funcionar agora', - "ue_ab": "este arquivo jรก estรก sendo enviado para outra pasta, e esse upload deve ser concluรญdo antes que o arquivo possa ser enviado para outro lugar.\n\nVocรช pode abortar e esquecer o upload inicial usando o ๐Ÿงฏ no canto superior esquerdo", - "ur_1uo": "OK: Arquivo enviado com sucesso", - "ur_auo": "OK: Todos os {0} arquivos enviados com sucesso", - "ur_1so": "OK: Arquivo encontrado no servidor", - "ur_aso": "OK: Todos os {0} arquivos encontrados no servidor", - "ur_1un": "O upload falhou, desculpe", - "ur_aun": "Todos os {0} uploads falharam, desculpe", - "ur_1sn": "O arquivo NรƒO foi encontrado no servidor", - "ur_asn": "Os {0} arquivos NรƒO foram encontrados no servidor", - "ur_um": "Concluรญdo;\n{0} uploads OK,\n{1} uploads falharam, desculpe", - "ur_sm": "Concluรญdo;\n{0} arquivos encontrados no servidor,\n{1} arquivos NรƒO encontrados no servidor", - - "lang_set": "atualizar para a mudanรงa ter efeito?" - }, - "rus": { - "tt": "ะ ัƒััะบะธะน", - - "cols": { - "c": "ะบะฝะพะฟะบะธ ะดะตะนัั‚ะฒะธะน", - "dur": "ะดะปะธั‚ะตะปัŒะฝะพัั‚ัŒ", - "q": "ะบะฐั‡ะตัั‚ะฒะพ / ะฑะธั‚ั€ะตะนั‚", - "Ac": "ะฐัƒะดะธะพ ะบะพะดะตะบ", - "Vc": "ะฒะธะดะตะพ ะบะพะดะตะบ", - "Fmt": "ั„ะพั€ะผะฐั‚ / ะบะพะฝั‚ะตะนะฝะตั€", - "Ahash": "ะบะพะฝั‚ั€ะพะปัŒะฝะฐั ััƒะผะผะฐ ะฐัƒะดะธะพ", - "Vhash": "ะบะพะฝั‚ั€ะพะปัŒะฝะฐั ััƒะผะผะฐ ะฒะธะดะตะพ", - "Res": "ั€ะฐะทั€ะตัˆะตะฝะธะต", - "T": "ั‚ะธะฟ ั„ะฐะนะปะฐ", - "aq": "ะบะฐั‡ะตัั‚ะฒะพ ะฐัƒะดะธะพ / ะฑะธั‚ั€ะตะนั‚", - "vq": "ะบะฐั‡ะตัั‚ะฒะพ ะฒะธะดะตะพ / ะฑะธั‚ั€ะตะนั‚", - "pixfmt": "ัะฐะฑัะตะผะฟะปะธะฝะณ / ะฟะธะบัะตะปัŒะฝั‹ะน ั„ะพั€ะผะฐั‚", - "resw": "ะณะพั€ะธะทะพะฝั‚ะฐะปัŒะฝะพะต ั€ะฐะทั€ะตัˆะตะฝะธะต", - "resh": "ะฒะตั€ั‚ะธะบะฐะปัŒะฝะพะต ั€ะฐะทั€ะตัˆะตะฝะธะต", - "chs": "ะฐัƒะดะธะพ ะบะฐะฝะฐะปั‹", - "hz": "ั‡ะฐัั‚ะพั‚ะฐ ะดะธัะบั€ะตั‚ะธะทะฐั†ะธะธ" - }, - - "hks": [ - [ - "ั€ะฐะทะฝะพะต", - ["ESC", "ะทะฐะบั€ั‹ั‚ัŒ ะฒััะบะธะต ัˆั‚ัƒะบะธ"], - - "ั„ะฐะนะปะพะฒั‹ะน ะผะตะฝะตะดะถะตั€", - ["G", "ะฟะตั€ะตะบะปัŽั‡ะธั‚ัŒัั ะผะตะถะดัƒ ัะฟะธัะบะพะผ / ะฟะปะธั‚ะบะพะน"], - ["T", "ะฟะตั€ะตะบะปัŽั‡ะธั‚ัŒัั ะผะตะถะดัƒ ะผะธะฝะธะฐั‚ัŽั€ะฐะผะธ / ะธะบะพะฝะบะฐะผะธ"], - ["โ‡ง A/D", "ั€ะฐะทะผะตั€ ะผะธะฝะธะฐั‚ัŽั€ั‹"], - ["ctrl-K", "ัƒะดะฐะปะธั‚ัŒ ะฒั‹ะดะตะปะตะฝะฝะพะต"], - ["ctrl-X", "ะฒั‹ั€ะตะทะฐั‚ัŒ ะฒั‹ะดะตะปะตะฝะฝะพะต ะฒ ะฑัƒั„ะตั€"], - ["ctrl-C", "ะบะพะฟะธั€ะพะฒะฐั‚ัŒ ะฒั‹ะดะตะปะตะฝะฝะพะต ะฒ ะฑัƒั„ะตั€"], - ["ctrl-V", "ะฒัั‚ะฐะฒะธั‚ัŒ (ะฟะตั€ะตะผะตัั‚ะธั‚ัŒ/ะบะพะฟะธั€ะพะฒะฐั‚ัŒ) ััŽะดะฐ"], - ["Y", "ัะบะฐั‡ะฐั‚ัŒ ะฒั‹ะดะตะปะตะฝะฝะพะต"], - ["F2", "ะฟะตั€ะตะธะผะตะฝะพะฒะฐั‚ัŒ ะฒั‹ะดะตะปะตะฝะฝะพะต"], - - "ะฒั‹ะดะตะปะตะฝะธะต ั„ะฐะนะปะพะฒ", - ["ะฟั€ะพะฑะตะป", "ะฒั‹ะดะตะปะธั‚ัŒ/ัะฝัั‚ัŒ ะฒั‹ะดะตะปะตะฝะธะต ั ั‚ะตะบัƒั‰ะตะณะพ ั„ะฐะนะปะฐ"], - ["โ†‘/โ†“", "ะดะฒะธะณะฐั‚ัŒ ะบัƒั€ัะพั€"], - ["ctrl โ†‘/โ†“", "ะดะฒะธะณะฐั‚ัŒ ะบัƒั€ัะพั€ ะธ ัะบั€ะพะปะปะธั‚ัŒ"], - ["โ‡ง โ†‘/โ†“", "ะฒั‹ะดะตะปะธั‚ัŒ ะฟั€ะตะดั‹ะดัƒั‰ะธะน/ัะปะตะดัƒัŽั‰ะธะน ั„ะฐะนะป"], - ["ctrl-A", "ะฒั‹ะดะตะปะธั‚ัŒ ะฒัะต ั„ะฐะนะปั‹ ะธ ะฟะฐะฟะบะธ"], - ], [ - "ะฝะฐะฒะธะณะฐั†ะธั", - ["B", "ะฟะพะบะฐะทะฐั‚ัŒ/ัะบั€ั‹ั‚ัŒ ะฟะฐะฝะตะปัŒ ะฝะฐะฒะธะณะฐั†ะธะธ"], - ["I/K", "ะฟั€ะตะดั‹ะดัƒั‰ะฐั/ัะปะตะดัƒัŽั‰ะฐั ะฟะฐะฟะบะฐ"], - ["M", "ะฟะตั€ะตะนั‚ะธ ะฝะฐ ัƒั€ะพะฒะตะฝัŒ ะฒั‹ัˆะต (ะธะปะธ ัะฒะตั€ะฝัƒั‚ัŒ ั‚ะตะบัƒั‰ัƒัŽ ะฟะฐะฟะบัƒ)"], - ["V", "ะฟะตั€ะตะบะปัŽั‡ะธั‚ัŒัั ะผะตะถะดัƒ ะฟะฐะฟะบะฐะผะธ / ั‚ะตะบัั‚ะพะฒั‹ะผะธ ั„ะฐะนะปะฐะผะธ ะฒ ะฟะฐะฝะตะปะธ ะฝะฐะฒะธะณะฐั†ะธะธ"], - ["A/D", "ัƒะผะตะฝัŒัˆะธั‚ัŒ/ัƒะฒะตะปะธั‡ะธั‚ัŒ ะฟะฐะฝะตะปัŒ ะฝะฐะฒะธะณะฐั†ะธะธ"], - ], [ - "ะฐัƒะดะธะพะฟะปะตะตั€", - ["J/L", "ะฟั€ะตะดั‹ะดัƒั‰ะธะน/ัะปะตะดัƒัŽั‰ะธะน ั‚ั€ะตะบ"], - ["U/O", "ะฟะตั€ะตะผะพั‚ะฐั‚ัŒ ะฝะฐ 10 ัะตะบัƒะฝะด ะฝะฐะทะฐะด/ะฒะฟะตั€ั‘ะด"], - ["0..9", "ะฟะตั€ะตะผะพั‚ะฐั‚ัŒ ะฝะฐ 0%..90%"], - ["P", "ะธะณั€ะฐั‚ัŒ/ะฟะฐัƒะทะฐ (ะธะปะธ ะฟะพะดะณั€ัƒะทะธั‚ัŒ ั‚ั€ะตะบ)"], - ["S", "ะฒั‹ะดะตะปะธั‚ัŒ ั‚ะตะบัƒั‰ะธะน ั‚ั€ะตะบ"], - ["Y", "ัะบะฐั‡ะฐั‚ัŒ ั‚ั€ะตะบ"], - ], [ - "ะฟั€ะพัะผะพั‚ั€ั‰ะธะบ ะธะทะพะฑั€ะฐะถะตะฝะธะน", - ["J/L, โ†/โ†’", "ะฟั€ะตะดั‹ะดัƒั‰ะตะต/ัะปะตะดัƒัŽั‰ะตะต ะธะทะพะฑั€ะฐะถะตะฝะธะต"], - ["Home/End", "ะฟะตั€ะฒะพะต/ะฟะพัะปะตะดะฝะตะต ะธะทะพะฑั€ะฐะถะตะฝะธะต"], - ["F", "ั€ะฐะทะฒะตั€ะฝัƒั‚ัŒ ะฝะฐ ะฟะพะปะฝั‹ะน ัะบั€ะฐะฝ"], - ["R", "ะฟะพะฒะตั€ะฝัƒั‚ัŒ ะฟะพ ั‡ะฐัะพะฒะพะน ัั‚ั€ะตะปะบะต"], - ["โ‡ง R", "ะฟะพะฒะตั€ะฝัƒั‚ัŒ ะฟั€ะพั‚ะธะฒ ั‡ะฐัะพะฒะพะน ัั‚ั€ะตะปะบะธ"], - ["S", "ะฒั‹ะดะตะปะธั‚ัŒ ะธะทะพะฑั€ะฐะถะตะฝะธะต"], - ["Y", "ัะบะฐั‡ะฐั‚ัŒ ะธะทะพะฑั€ะฐะถะตะฝะธะต"], - ], [ - "ะฒะธะดะตะพะฟะปะตะตั€", - ["U/O", "ะฟะตั€ะตะผะพั‚ะฐั‚ัŒ ะฝะฐ 10 ัะตะบัƒะฝะด ะฝะฐะทะฐะด/ะฒะฟะตั€ั‘ะด"], - ["P/K/Space", "ะธะณั€ะฐั‚ัŒ/ะฟะฐัƒะทะฐ"], - ["C", "ะฟั€ะพะดะพะปะถะธั‚ัŒ ะฟั€ะพะธะณั€ั‹ะฒะฐั‚ัŒ ัะปะตะดัƒัŽั‰ะตะต"], - ["V", "ะฟะพะฒั‚ะพั€"], - ["M", "ะฒั‹ะบะปัŽั‡ะธั‚ัŒ ะทะฒัƒะบ"], - ["[ and ]", "ะทะฐะดะฐั‚ัŒ ะธะฝั‚ะตั€ะฒะฐะป ะฟะพะฒั‚ะพั€ะฐ"], - ], [ - "ะฟั€ะพัะผะพั‚ั€ั‰ะธะบ ั‚ะตะบัั‚ะพะฒั‹ั… ั„ะฐะนะปะพะฒ", - ["I/K", "ะฟั€ะตะดั‹ะดัƒั‰ะธะน/ัะปะตะดัƒัŽั‰ะธะน ั„ะฐะนะป"], - ["M", "ะทะฐะบั€ั‹ั‚ัŒ ั„ะฐะนะป"], - ["E", "ะพั‚ั€ะตะดะฐะบั‚ะธั€ะพะฒะฐั‚ัŒ ั„ะฐะนะป"], - ["S", "ะฒั‹ะดะตะปะธั‚ัŒ ั„ะฐะนะป"], - ] - ], - - "m_ok": "OK", - "m_ng": "ะžั‚ะผะตะฝะฐ", - - "enable": "ะ’ะบะปัŽั‡ะธั‚ัŒ", - "danger": "ะ’ะะ˜ะœะะะ˜ะ•", - "clipped": "ัะบะพะฟะธั€ะพะฒะฐะฝะพ ะฒ ะฑัƒั„ะตั€ ะพะฑะผะตะฝะฐ", - - "ht_s1": "ัะตะบัƒะฝะดะฐ", - "ht_s2": "ัะตะบัƒะฝะดั‹", - "ht_m1": "ะผะธะฝัƒั‚ะฐ", - "ht_m2": "ะผะธะฝัƒั‚ั‹", - "ht_h1": "ั‡ะฐั", - "ht_h2": "ั‡ะฐัั‹", - "ht_d1": "ะดะตะฝัŒ", - "ht_d2": "ะดะฝะธ", - "ht_and": " ะธ ", - - "goh": "ะฟะฐะฝะตะปัŒ ัƒะฟั€ะฐะฒะปะตะฝะธั", - "gop": 'ะฟั€ะตะดั‹ะดัƒั‰ะฐั ะฟะฐะฟะบะฐ">ะฟั€ะตะด', - "gou": 'ั€ะพะดะธั‚ะตะปัŒัะบะฐั ะฟะฐะฟะบะฐ">ะฒะฒะตั€ั…', - "gon": 'ัะปะตะดัƒัŽั‰ะฐั ะฟะฐะฟะบะฐ">ัะปะตะด', - "logout": "ะ’ั‹ะนั‚ะธ ", - "login": "ะ’ะพะนั‚ะธ", //m - "access": " ะดะพัั‚ัƒะฟ", - "ot_close": "ะทะฐะบั€ั‹ั‚ัŒ ะฟะพะดะผะตะฝัŽ", - "ot_search": "ะธัะบะฐั‚ัŒ ั„ะฐะนะปั‹ ะฟะพ ะฐั‚ั€ะธะฑัƒั‚ะฐะผ, ะฟัƒั‚ะธ / ะธะผะตะฝะธ, ะผัƒะทั‹ะบะฐะปัŒะฝั‹ะผ ั‚ะตะณะฐะผ ะธะปะธ ะปัŽะฑะพะน ะดั€ัƒะณะพะน ะบะพะผะฑะธะฝะฐั†ะธะธ ะธะท ัะปะตะดัƒัŽั‰ะธั… ะบะพะฝัั‚ั€ัƒะบั†ะธะน$N$N<code>foo bar</code> = ะพะฑัะทะฐะฝะพ ัะพะดะตั€ะถะฐั‚ัŒ ยซfooยป ะ˜ ยซbarยป,$N<code>foo -bar</code> = ะพะฑัะทะฐะฝะพ ัะพะดะตั€ะถะฐั‚ัŒ ยซfooยป, ะฝะพ ะฝะต ยซbarยป,$N<code>^yana .opus$</code> = ะฝะฐั‡ะธะฝะฐะตั‚ัั ั ยซyanaยป ะธ ะธะผะตะตั‚ ั€ะฐััˆะธั€ะตะฝะธะต ยซopusยป$N<code>"try unite"</code> = ัะพะดะตั€ะถะธั‚ ะธะผะตะฝะฝะพ ยซtry uniteยป$N$Nั„ะพั€ะผะฐั‚ ะฒั€ะตะผะตะฝะธ ะทะฐะดะฐั‘ั‚ัั ะฟะพ ัั‚ะฐะฝะดะฐั€ั‚ัƒ iso-8601, ะฝะฐะฟั€ะธะผะตั€$N<code>2009-12-31</code> ะธะปะธ <code>2020-09-12 23:30:00</code>", - "ot_unpost": "unpost: ัƒะดะฐะปะธั‚ัŒ ะฒะฐัˆะธ ะฝะตะดะฐะฒะฝะธะต ะทะฐะณั€ัƒะทะบะธ ะธ ะพั‚ะผะตะฝะธั‚ัŒ ะฝะตะทะฐะฒะตั€ัˆั‘ะฝะฝั‹ะต", - "ot_bup": "bup: ะปะตะณะบะพะฒะตัะฝั‹ะน ะทะฐะณั€ัƒะทั‡ะธะบ ั„ะฐะนะปะพะฒ, ะฟะพะดะดะตั€ะถะธะฒะฐะตั‚ ะดะฐะถะต netscape 4.0", - "ot_mkdir": "mkdir: ัะพะทะดะฐั‚ัŒ ะฝะพะฒัƒัŽ ะฟะฐะฟะบัƒ", - "ot_md": "new-md: ัะพะทะดะฐั‚ัŒ ะฝะพะฒั‹ะน markdown-ะดะพะบัƒะผะตะฝั‚", - "ot_msg": "msg: ะพั‚ะฟั€ะฐะฒะธั‚ัŒ ัะพะพะฑั‰ะตะฝะธะต ะฒ ะปะพะณ ัะตั€ะฒะตั€ะฐ", - "ot_mp": "ะฝะฐัั‚ั€ะพะนะบะฐ ะผะตะดะธะฐะฟะปะตะตั€ะฐ", - "ot_cfg": "ะพัั‚ะฐะปัŒะฝั‹ะต ะฝะฐัั‚ั€ะพะนะบะธ", - "ot_u2i": 'up2k: ะทะฐะณั€ัƒะทะธั‚ัŒ ั„ะฐะนะปั‹ (ะตัะปะธ ะธะผะตะตั‚ัั ะดะพัั‚ัƒะฟ ะบ ะทะฐะฟะธัะธ) ะธะปะธ ะฟะตั€ะตะบะปัŽั‡ะธั‚ัŒัั ะฒ ั€ะตะถะธะผ ะฟะพะธัะบะฐ$N$Nะทะฐะณั€ัƒะทะบะธ ัะฒะปััŽั‚ัั ะฒะพะทะพะฑะฝะพะฒะปัะตะผั‹ะผะธ ะธ ะผะฝะพะณะพะฟะพั‚ะพั‡ะฝั‹ะผะธ, ะฐ ะดะฐั‚ั‹ ะธะทะผะตะฝะตะฝะธั ั„ะฐะนะปะพะฒ ัะพั…ั€ะฐะฝััŽั‚ัั ะฒ ะฟั€ะพั†ะตััะต, ะฝะพ ัั‚ะพั‚ ะผะตั‚ะพะด ะธัะฟะพะปัŒะทัƒะตั‚ ะฑะพะปัŒัˆะต ั€ะตััƒั€ัะพะฒ ะฟั€ะพั†ะตััะพั€ะฐ, ั‡ะตะผ [๐ŸŽˆ]  (ะปะตะณะบะพะฒะตัะฝั‹ะน ะทะฐะณั€ัƒะทั‡ะธะบ)

    ะฒะพ ะฒั€ะตะผั ะทะฐะณั€ัƒะทะบะธ ัั‚ะฐ ะธะบะพะฝะบะฐ ะฟั€ะตะฒั€ะฐั‰ะฐะตั‚ัั ะฒ ะธะฝะดะธะบะฐั‚ะพั€!', - "ot_u2w": 'up2k: ะทะฐะณั€ัƒะทะธั‚ัŒ ั„ะฐะนะปั‹ ั ะฟะพะดะดะตั€ะถะบะพะน ะฒะพะทะพะฑะฝะพะฒะปะตะฝะธั (ะทะฐะบะธะฝัŒั‚ะต ั‚ะต ะถะต ั„ะฐะนะปั‹ ะฟะพัะปะต ะฟะตั€ะตะทะฐะฟัƒัะบะฐ ะฑั€ะฐัƒะทะตั€ะฐ)$N$Nะฟะพะดะดะตั€ะถะธะฒะฐะตั‚ัั ะผะฝะพะณะพะฟะพั‚ะพั‡ะฝะพัั‚ัŒ, ะดะฐั‚ั‹ ะธะทะผะตะฝะตะฝะธั ั„ะฐะนะปะพะฒ ัะพั…ั€ะฐะฝััŽั‚ัั ะฒ ะฟั€ะพั†ะตััะต, ะฝะพ ัั‚ะพั‚ ะผะตั‚ะพะด ะธัะฟะพะปัŒะทัƒะตั‚ ะฑะพะปัŒัˆะต ั€ะตััƒั€ัะพะฒ ะฟั€ะพั†ะตััะพั€ะฐ, ั‡ะตะผ [๐ŸŽˆ]  (ะปะตะณะบะพะฒะตัะฝั‹ะน ะทะฐะณั€ัƒะทั‡ะธะบ)

    ะฒะพ ะฒั€ะตะผั ะทะฐะณั€ัƒะทะบะธ ัั‚ะฐ ะธะบะพะฝะบะฐ ะฟั€ะตะฒั€ะฐั‰ะฐะตั‚ัั ะฒ ะธะฝะดะธะบะฐั‚ะพั€!', - "ot_noie": 'ะŸะพะถะฐะปัƒะนัั‚ะฐ, ะธัะฟะพะปัŒะทัƒะนั‚ะต Chrome / Firefox / Edge', - - "ab_mkdir": "ัะพะทะดะฐั‚ัŒ ะฟะฐะฟะบัƒ", - "ab_mkdoc": "ัะพะทะดะฐั‚ัŒ markdown-ะดะพะบัƒะผะตะฝั‚", - "ab_msg": "ะพั‚ะฟั€ะฐะฒะธั‚ัŒ ัะพะพะฑั‰ะตะฝะธะต ะฒ ะปะพะณ ัะตั€ะฒะตั€ะฐ", - - "ay_path": "ะฟะตั€ะตะนั‚ะธ ะบ ะฟะฐะฟะบะฐะผ", - "ay_files": "ะฟะตั€ะตะนั‚ะธ ะบ ั„ะฐะนะปะฐะผ", - - "wt_ren": "ะฟะตั€ะตะธะผะตะฝะพะฒะฐั‚ัŒ ะฒั‹ะดะตะปะตะฝะฝั‹ะต ั„ะฐะนะปั‹$Nะ“ะพั€ัั‡ะฐั ะบะปะฐะฒะธัˆะฐ: F2", - "wt_del": "ัƒะดะฐะปะธั‚ัŒ ะฒั‹ะดะตะปะตะฝะฝั‹ะต ั„ะฐะนะปั‹$Nะ“ะพั€ัั‡ะฐั ะบะปะฐะฒะธัˆะฐ: ctrl-K", - "wt_cut": "ะฒั‹ั€ะตะทะฐั‚ัŒ ะฒั‹ะดะตะปะตะฝะฝั‹ะต ั„ะฐะนะปั‹ <small>(ะทะฐั‚ะตะผ ะฒัั‚ะฐะฒะธั‚ัŒ ะบัƒะดะฐ-ั‚ะพ ะฒ ะดั€ัƒะณะพะต ะผะตัั‚ะพ)</small>$Nะ“ะพั€ัั‡ะฐั ะบะปะฐะฒะธัˆะฐ: ctrl-X", - "wt_cpy": "ะบะพะฟะธั€ะพะฒะฐั‚ัŒ ะฒั‹ะดะตะปะตะฝะฝั‹ะต ั„ะฐะนะปั‹ ะฒ ะฑัƒั„ะตั€$N(ั‡ั‚ะพะฑั‹ ะฒัั‚ะฐะฒะธั‚ัŒ ะธั… ะบัƒะดะฐ-ั‚ะพ ะตั‰ั‘)$Nะ“ะพั€ัั‡ะฐั ะบะปะฐะฒะธัˆะฐ: ctrl-C", - "wt_pst": "ะฒัั‚ะฐะฒะธั‚ัŒ ั€ะฐะฝะตะต ะฒั‹ั€ะตะทะฐะฝะฝั‹ะน / ัะบะพะฟะธั€ะพะฒะฐะฝะฝั‹ะน ั„ะฐะนะป$Nะ“ะพั€ัั‡ะฐั ะบะปะฐะฒะธัˆะฐ: ctrl-V", - "wt_selall": "ะฒั‹ะดะตะปะธั‚ัŒ ะฒัะต ั„ะฐะนะปั‹$Nะ“ะพั€ัั‡ะฐั ะบะปะฐะฒะธัˆะฐ: ctrl-A (ะบะพะณะดะฐ ะฒั‹ะดะตะปะตะฝ ั…ะพั‚ั ะฑั‹ ะพะดะธะฝ ั„ะฐะนะป)", - "wt_selinv": "ะธะฝะฒะตั€ั‚ะธั€ะพะฒะฐั‚ัŒ ะฒั‹ะดะตะปะตะฝะธะต", - "wt_zip1": "ัะบะฐั‡ะฐั‚ัŒ ัั‚ัƒ ะฟะฐะฟะบัƒ ะบะฐะบ ะฐั€ั…ะธะฒ", - "wt_selzip": "ัะบะฐั‡ะฐั‚ัŒ ะฒั‹ะดะตะปะตะฝะฝั‹ะต ั„ะฐะนะปั‹ ะบะฐะบ ะฐั€ั…ะธะฒ", - "wt_seldl": "ัะบะฐั‡ะฐั‚ัŒ ะฒั‹ะดะตะปะตะฝะฝั‹ะต ั„ะฐะนะปั‹ ะฟะพ-ะพั‚ะดะตะปัŒะฝะพัั‚ะธ$Nะ“ะพั€ัั‡ะฐั ะบะปะฐะฒะธัˆะฐ: Y", - "wt_npirc": "ะบะพะฟะธั€ะพะฒะฐั‚ัŒ ะธะฝั„ะพั€ะผะฐั†ะธัŽ ะพ ั‚ั€ะตะบะต ะฒ ั„ะพั€ะผะฐั‚ะต irc", - "wt_nptxt": "ะบะพะฟะธั€ะพะฒะฐั‚ัŒ ะธะฝั„ะพั€ะผะฐั†ะธัŽ ะพ ั‚ั€ะตะบะต ะพะฑั‹ั‡ะฝั‹ะผ ั‚ะตะบัั‚ะพะผ", - "wt_m3ua": "ะดะพะฑะฐะฒะธั‚ัŒ ะฒ ะฟะปะตะนะปะธัั‚ m3u (ะฝะฐะถะผะธั‚ะต ๐Ÿ“ปะบะพะฟ. ะฒ ะบะพะฝั†ะต)", - "wt_m3uc": "ะบะพะฟะธั€ะพะฒะฐั‚ัŒ ะฟะปะตะนะปะธัั‚ m3u ะฒ ะฑัƒั„ะตั€ ะพะฑะผะตะฝะฐ", - "wt_grid": "ะฟะตั€ะตะบะปัŽั‡ะธั‚ัŒ ะผะตะถะดัƒ ัะตั‚ะบะพะน / ัะฟะธัะบะพะผ$Nะ“ะพั€ัั‡ะฐั ะบะปะฐะฒะธัˆะฐ: G", - "wt_prev": "ะฟั€ะตะดั‹ะดัƒั‰ะธะน ั‚ั€ะตะบ$Nะ“ะพั€ัั‡ะฐั ะบะปะฐะฒะธัˆะฐ: J", - "wt_play": "ะธะณั€ะฐั‚ัŒ / ะฟะฐัƒะทะฐ$Nะ“ะพั€ัั‡ะฐั ะบะปะฐะฒะธัˆะฐ: P", - "wt_next": "ัะปะตะดัƒัŽั‰ะธะน ั‚ั€ะตะบ$Nะ“ะพั€ัั‡ะฐั ะบะปะฐะฒะธัˆะฐ: L", - - "ul_par": "ะฟะฐั€ะฐะปะปะตะปัŒะฝั‹ะต ะทะฐะณั€ัƒะทะบะธ:", - "ut_rand": "ัะปัƒั‡ะฐะนะฝั‹ะต ะธะผะตะฝะฐ ั„ะฐะนะปะพะฒ", - "ut_u2ts": "ะบะพะฟะธั€ะพะฒะฐั‚ัŒ ะฒั€ะตะผั ะฟะพัะปะตะดะฝะตะณะพ ะธะทะผะตะฝะตะฝะธั$Nะธะท ะฒะฐัˆะตะน ั„ะฐะนะปะพะฒะพะน ัะธัั‚ะตะผั‹ ะฝะฐ ัะตั€ะฒะตั€\">๐Ÿ“…", - "ut_ow": "ะฟะตั€ะตะทะฐะฟะธัั‹ะฒะฐั‚ัŒ ััƒั‰ะตัั‚ะฒัƒัŽั‰ะธะต ั„ะฐะนะปั‹ ะฝะฐ ัะตั€ะฒะตั€ะต?$N๐Ÿ›ก๏ธ: ะฝะตั‚ (ะดะปั ะฟะพะฒั‚ะพั€ััŽั‰ะธั…ัั ั„ะฐะนะปะพะฒ ะฑัƒะดัƒั‚ ัะพะทะดะฐะฒะฐั‚ัŒัั ะฝะพะฒั‹ะต ะธะผะตะฝะฐ)$N๐Ÿ•’: ะฟะตั€ะตะทะฐะฟะธัะฐั‚ัŒ ั„ะฐะนะปั‹ ั ะดะฐั‚ะพะน ะธะทะผะตะฝะตะฝะธั ัั‚ะฐั€ะตะต, ั‡ะตะผ ัƒ ะทะฐะณั€ัƒะถะฐะตะผั‹ั…$Nโ™ป๏ธ: ะฒัะตะณะดะฐ ะฟะตั€ะตะทะฐะฟะธัั‹ะฒะฐั‚ัŒ (ะตัะปะธ ั„ะฐะนะปั‹ ั€ะฐะทะปะธั‡ะฐัŽั‚ัั ะฟะพ ัะพะดะตั€ะถะฐะฝะธัŽ)", - "ut_mt": "ะฟั€ะพะดะพะปะถะฐั‚ัŒ ั…ะตัˆะธั€ะพะฒะฐั‚ัŒ ะดั€ัƒะณะธะต ั„ะฐะนะปั‹ ะฒะพ ะฒั€ะตะผั ะทะฐะณั€ัƒะทะบะธ$N$Nะตัั‚ัŒ ัะผั‹ัะป ะพั‚ะบะปัŽั‡ะธั‚ัŒ ะฟั€ะธ ะผะตะดะปะตะฝะฝะพะผ ะดะธัะบะต ะธะปะธ ะฟั€ะพั†ะตััะพั€ะต", - "ut_ask": 'ั‚ั€ะตะฑะพะฒะฐั‚ัŒ ะฟะพะดั‚ะฒะตั€ะถะดะตะฝะธั ะฟะตั€ะตะด ะฝะฐั‡ะฐะปะพะผ ะทะฐะณั€ัƒะทะบะธ">๐Ÿ’ญ', - "ut_pot": "ัƒะปัƒั‡ัˆะธั‚ัŒ ัะบะพั€ะพัั‚ัŒ ะทะฐะณั€ัƒะทะบะธ ะฝะฐ ัะปะฐะฑั‹ั… ัƒัั‚ั€ะพะนัั‚ะฒะฐ$Nั ะฟะพะผะพั‰ัŒัŽ ัƒะฟั€ะพั‰ะตะฝะธั ะธะฝั‚ะตั€ั„ะตะนัะฐ", - "ut_srch": "ะฝะต ะทะฐะณั€ัƒะถะฐั‚ัŒ, ะฐ ะฟั€ะพะฒะตั€ัั‚ัŒ, ััƒั‰ะตัั‚ะฒัƒัŽั‚ ะปะธ ะดะฐะฝะฝั‹ะต ั„ะฐะนะปั‹ $N ะฝะฐ ัะตั€ะฒะตั€ะต (ะฟั€ะพะฒะตั€ะบะฐ ะฒัะตั… ะดะพัั‚ัƒะฟะฝั‹ั… ะฒะฐะผ ะฟะฐะฟะพะบ)", - "ut_par": "ะฟั€ะธ 0 ะทะฐะณั€ัƒะทะบะฐ ะฒัั‚ะฐะฝะตั‚ ะฝะฐ ะฟะฐัƒะทัƒ$N$Nัะปะตะดัƒะตั‚ ะฟะพะฒั‹ัะธั‚ัŒ, ะตัะปะธ ะฒะฐัˆะต ะฟะพะดะบะปัŽั‡ะตะฝะธะต ะผะตะดะปะตะฝะฝะพะต$N$Nะพัั‚ะฐะฒัŒั‚ะต 1, ะตัะปะธ ะธัะฟะพะปัŒะทัƒะตั‚ัั ะปะพะบะฐะปัŒะฝะฐั ัะตั‚ัŒ ะธะปะธ ะดะธัะบ ัะตั€ะฒะตั€ะฐ ะผะตะดะปะตะฝะฝั‹ะน", - "ul_btn": "ะพั‚ะฟัƒัั‚ะธั‚ะต ั„ะฐะนะปั‹ / ะฟะฐะฟะบะธ
    ะทะดะตััŒ (ะธะปะธ ะฝะฐะถะผะธั‚ะต)", - "ul_btnu": "ะ— ะ ะ“ ะ  ะฃ ะ— ะ˜ ะข ะฌ", - "ul_btns": "ะ˜ ะก ะš ะ ะข ะฌ", - - "ul_hash": "ั…ะตัˆ", - "ul_send": "ะพั‚ะฟั€ะฐะฒะบะฐ", - "ul_done": "ะณะพั‚ะพะฒะพ", - "ul_idle1": "ะฝะตั‚ ะทะฐะณั€ัƒะทะพะบ ะฒ ะพั‡ะตั€ะตะดะธ", - "ut_etah": "ัั€ะตะดะฝัั ัะบะพั€ะพัั‚ัŒ <em>ั…ะตัˆะธั€ะพะฒะฐะฝะธั</em> ะธ ะฟั€ะธะผะตั€ะฝะพะต ะฒั€ะตะผั ะดะพ ะทะฐะฒะตั€ัˆะตะฝะธั", - "ut_etau": "ัั€ะตะดะฝัั ัะบะพั€ะพัั‚ัŒ <em>ะทะฐะณั€ัƒะทะบะธ</em> ะธ ะฟั€ะธะผะตั€ะฝะพะต ะฒั€ะตะผั ะดะพ ะทะฐะฒะตั€ัˆะตะฝะธั", - "ut_etat": "ัั€ะตะดะฝัั <em>ะพะฑั‰ะฐั</em> ัะบะพั€ะพัั‚ัŒ ะธ ะฟั€ะธะผะตั€ะฝะพะต ะฒั€ะตะผั ะดะพ ะทะฐะฒะตั€ัˆะตะฝะธั", - - "uct_ok": "ัƒัะฟะตัˆะฝะพ ะทะฐะฒะตั€ัˆะตะฝั‹", - "uct_ng": "ะพัˆะธะฑะบะธ / ะพั‚ะบะฐะทั‹ / ะฝะต ะฝะฐะนะดะตะฝั‹", - "uct_done": "ะณะพั‚ะพะฒะพ (ok ะธ ng ะฒะผะตัั‚ะต)", - "uct_bz": "ั…ะตัˆะธั€ัƒัŽั‚ัั ะธะปะธ ะทะฐะณั€ัƒะถะฐัŽั‚ัั", - "uct_q": "ะฒ ะพั‡ะตั€ะตะดะธ", - - "utl_name": "ะธะผั ั„ะฐะนะปะฐ", - "utl_ulist": "ัะฟะธัะพะบ", - "utl_ucopy": "ะบะพะฟะธั€ะพะฒะฐั‚ัŒ", - "utl_links": "ััั‹ะปะบะธ", - "utl_stat": "ัั‚ะฐั‚ัƒั", - "utl_prog": "ะฟั€ะพะณั€ะตัั", - - // keep short: - "utl_404": "404", - "utl_err": "ะžะจะ˜ะ‘ะšะ", - "utl_oserr": "ะพัˆะธะฑะบะฐ ะžะก", - "utl_found": "ะฝะฐะนะดะตะฝะพ", - "utl_defer": "ะพั‚ะปะพะถะธั‚ัŒ", - "utl_yolo": "ั‚ัƒั€ะฑะพ", - "utl_done": "ะณะพั‚ะพะฒะพ", - - "ul_flagblk": "ั„ะฐะนะปั‹ ะฑั‹ะปะธ ะดะพะฑะฐะฒะปะตะฝั‹ ะฒ ะพั‡ะตั€ะตะดัŒ,
    ะพะดะฝะฐะบะพ ะฒ ะดั€ัƒะณะพะน ะฒะบะปะฐะดะบะต ัƒะถะต ะตัั‚ัŒ ะฐะบั‚ะธะฒะฝะฐั ะทะฐะณั€ัƒะทะบะฐ ั‡ะตั€ะตะท up2k,
    ะฟะพัั‚ะพะผัƒ ะพะถะธะดะฐะตะผ ะตั‘ ะทะฐะฒะตั€ัˆะตะฝะธั", - "ul_btnlk": "ะฝะฐัั‚ั€ะพะนะบะธ ัะตั€ะฒะตั€ะฐ ะทะฐะฟั€ะตั‰ะฐัŽั‚ ะธะทะผะตะฝะตะฝะธะต ัะพัั‚ะพัะฝะธั ัั‚ะพะน ะพะฟั†ะธะธ", - - "udt_up": "ะ—ะฐะณั€ัƒะทะธั‚ัŒ", - "udt_srch": "ะŸะพะธัะบ", - "udt_drop": "ะพั‚ะฟัƒัั‚ะธั‚ะต ะทะดะตััŒ", - - "u_nav_m": '
    ะปะฐะดั‹, ั‡ั‚ะพ ั‚ะฐะผ ัƒ ะฒะฐั?
    Enter = ะคะฐะนะปั‹ (ะพะดะธะฝ ะธะปะธ ะฑะพะปัŒัˆะต)\nESC = ะžะดะฝะฐ ะฟะฐะฟะบะฐ (ั ัƒั‡ั‘ั‚ะพะผ ะฟะพะดะฟะฐะฟะพะบ)', - "u_nav_b": 'ะคะฐะนะปั‹ะžะดะฝะฐ ะฟะฐะฟะบะฐ', - - "cl_opts": "ะฟะตั€ะตะบะปัŽั‡ะฐั‚ะตะปะธ", - "cl_themes": "ั‚ะตะผะฐ", - "cl_langs": "ัะทั‹ะบ", - "cl_ziptype": "ะฐั€ั…ะธะฒะฐั†ะธั ะฟะฐะฟะพะบ", - "cl_uopts": "ะพะฟั†ะธะธ up2k", - "cl_favico": "ะธะบะพะฝะบะฐ", - "cl_bigdir": "ะฑะพะป. ะฟะฐะฟะบะธ", - "cl_hsort": "#ัะพั€ั‚.", - "cl_keytype": "ัั…ะตะผะฐ ะณะพั€ัั‡ะธั… ะบะปะฐะฒะธัˆ", - "cl_hiddenc": "ัะบั€ั‹ั‚ั‹ะต ัั‚ะพะปะฑั†ั‹", - "cl_hidec": "ัะบั€ั‹ั‚ัŒ", - "cl_reset": "ัะฑั€ะพัะธั‚ัŒ", - "cl_hpick": "ะฝะฐะถะผะธั‚ะต ะฝะฐ ะทะฐะณะพะปะพะฒะบะธ ัั‚ะพะปะฑั†ะพะฒ, ั‡ั‚ะพะฑั‹ ัะบั€ั‹ั‚ัŒ ะธั… ะฒ ั‚ะฐะฑะปะธั†ะต ะฝะธะถะต", - "cl_hcancel": "ัะบั€ั‹ั‚ะธะต ัั‚ะพะปะฑั†ะฐ ะพั‚ะผะตะฝะตะฝะพ", - - "ct_grid": '็”ฐ ัะตั‚ะบะฐ', - "ct_ttips": 'โ—” โ—ก โ—”">โ„น๏ธ ะฟะพะดัะบะฐะทะบะธ', - "ct_thumb": 'ะฟะตั€ะตะบะปัŽั‡ะตะฝะธะต ะผะตะถะดัƒ ะธะบะพะฝะบะฐะผะธ ะธ ะผะธะฝะธะฐั‚ัŽั€ะฐะผะธ ะฒ ั€ะตะถะธะผะต ัะตั‚ะบะธ$Nะ“ะพั€ัั‡ะฐั ะบะปะฐะฒะธัˆะฐ: T">๐Ÿ–ผ๏ธ ะผะธะฝะธะฐั‚.', - "ct_csel": 'ะดะตั€ะถะธั‚ะต CTRL ะธะปะธ SHIFT ะดะปั ะฒั‹ะดะตะปะตะฝะธั ั„ะฐะนะปะพะฒ ะฒ ั€ะตะถะธะผะต ัะตั‚ะบะธ">ะฒั‹ะฑะพั€', - "ct_ihop": 'ะฟะพะบะฐะทั‹ะฒะฐั‚ัŒ ะฟะพัะปะตะดะฝะธะน ะพั‚ะบั€ั‹ั‚ั‹ะน ั„ะฐะนะป ะฟะพัะปะต ะทะฐะบั€ั‹ั‚ะธั ะฟั€ะพัะผะพั‚ั€ั‰ะธะบะฐ ะธะทะพะฑั€ะฐะถะตะฝะธะน">gโฎฏ', - "ct_dots": 'ะฟะพะบะฐะทั‹ะฒะฐั‚ัŒ ัะบั€ั‹ั‚ั‹ะต ั„ะฐะนะปั‹ (ะตัะปะธ ะตัั‚ัŒ ะดะพัั‚ัƒะฟ)">ัะบั€ั‹ั‚.', - "ct_qdel": 'ัะฟั€ะฐัˆะธะฒะฐั‚ัŒ ะฟะพะดั‚ะฒะตั€ะถะดะตะฝะธะต ั‚ะพะปัŒะบะพ ะพะดะธะฝ ั€ะฐะท ะฟะตั€ะตะด ัƒะดะฐะปะตะฝะธะตะผ ั„ะฐะนะปะพะฒ">ะฑั‹ัั‚ั€. ัƒะดะฐะป.', - "ct_dir1st": 'ั€ะฐะทะผะตัั‚ะธั‚ัŒ ะฟะฐะฟะบะธ ะฝะฐะด ั„ะฐะนะปะฐะผะธ">๐Ÿ“ ัะฒะตั€ั…ัƒ', - "ct_nsort": 'ัะพั€ั‚ะธั€ะพะฒะบะฐ ะฟะพ ั‡ะธัะปะฐะผ$N(ะฝะฐะฟั€ะธะผะตั€, ั„ะฐะนะป ั >code<2>/code< ะฒ ะฝะฐั‡ะฐะปะต ะฝะฐะทะฒะฐะฝะธั ะธะดั‘ั‚ ะฟะตั€ะตะด >code<11>/code<)">ะฝะฐั‚. ัะพั€ั‚.', - "ct_utc": 'ะธัะฟะพะปัŒะทัƒะนั‚ะต UTC ะดะปั ะฒัะตั… ะฒั€ะตะผะตะฝะฝั‹ั… ะผะตั‚ะพะบ">UTC', //m - "ct_readme": 'ะฟะพะบะฐะทั‹ะฒะฐั‚ัŒ ัะพะดะตั€ะถะธะผะพะต README.md ะฒ ะพะฟะธัะฐะฝะธะธ ะฟะฐะฟะบะธ">๐Ÿ“œ ั€ะธะดะผะธ', - "ct_idxh": 'ะฟะพะบะฐะทั‹ะฒะฐั‚ัŒ ัั‚ั€ะฐะฝะธั†ัƒ index.html ะฒ ั‚ะตะบัƒั‰ะตะน ะฟะฐะฟะบะต ะฒะผะตัั‚ะพ ะธะฝั‚ะตั€ั„ะตะนัะฐ">htm', - "ct_sbars": 'ะฟะพะบะฐะทั‹ะฒะฐั‚ัŒ ะฟะพะปะพัั‹ ะฟั€ะพะบั€ัƒั‚ะบะธ">โŸŠ', - - "cut_umod": "ะตัะปะธ ั„ะฐะนะป ัƒะถะต ััƒั‰ะตัั‚ะฒัƒะตั‚ ะฝะฐ ัะตั€ะฒะตั€ะต, ะพะฑะฝะพะฒะธั‚ัŒ ะฒั€ะตะผั ะฟะพัะปะตะดะฝะตะณะพ ะธะทะผะตะฝะตะฝะธั ะฝะฐ ัะตั€ะฒะตั€ะต ะฒ ัะพะพั‚ะฒะตั‚ัั‚ะฒะธะธ ั ะปะพะบะฐะปัŒะฝั‹ะผ ั„ะฐะนะปะพะผ (ั‚ั€ะตะฑัƒัŽั‚ัั ะฟั€ะฐะฒะฐ write+delete)\">ะฟะตั€ะตะฝะพั ๐Ÿ“…", - - "cut_turbo": "ะธัะฟะพะปัŒะทัƒะนั‚ะต ัั‚ัƒ ั„ัƒะฝะบั†ะธัŽ ะก ะžะกะขะžะ ะžะ–ะะžะกะขะฌะฎ:$N$Nะฟั€ะธะณะพะดะธั‚ัั ะฒ ัะปัƒั‡ะฐะต, ะตัะปะธ ะฑั‹ะปะฐ ะฟั€ะตั€ะฒะฐะฝะฐ ะทะฐะณั€ัƒะทะบะฐ ะฑะพะปัŒัˆะพะณะพ ะบะพะปะธั‡ะตัั‚ะฒะฐ ั„ะฐะนะปะพะฒ, ะธ ะฒั‹ ั…ะพั‚ะธั‚ะต ะฒะพะทะพะฑะฝะพะฒะธั‚ัŒ ะตั‘ ะบะฐะบ ะผะพะถะฝะพ ะฑั‹ัั‚ั€ะตะต$N$Nะฟั€ะพะฒะตั€ะบะฐ ั„ะฐะนะปะพะฒ ะฟะพ ั…ะตัˆัƒ ะทะฐะผะตะฝัะตั‚ัั ะฝะฐ ะฟั€ะพัั‚ะพะน ะฐะปะณะพั€ะธั‚ะผ: "ะตัะปะธ ั€ะฐะทะผะตั€ ั„ะฐะนะปะฐ ะพั‚ะปะธั‡ะฐะตั‚ัั - ั‚ะพะณะดะฐ ะทะฐะณั€ัƒะทะธั‚ัŒ", ะฝะพ ัะพะดะตั€ะถะฐะฝะธะต ั„ะฐะนะปะพะฒ ะฝะต ัั€ะฐะฒะฝะธะฒะฐะตั‚ัั$N$Nัะปะตะดัƒะตั‚ ะพั‚ะบะปัŽั‡ะธั‚ัŒ ัั‚ัƒ ั„ัƒะฝะบั†ะธัŽ ะฟะพัะปะต ะพะบะพะฝั‡ะฐะฝะธั ะทะฐะณั€ัƒะทะบะธ, ะฐ ะทะฐั‚ะตะผ "ะทะฐะณั€ัƒะทะธั‚ัŒ" ั‚ะต ะถะต ั„ะฐะนะปั‹ ะทะฐะฝะพะฒะพ, ั‡ั‚ะพะฑั‹ ะฒะฐะปะธะดะธั€ะพะฒะฐั‚ัŒ ะธั…\">ั‚ัƒั€ะฑะพ", - - "cut_datechk": "ั€ะฐะฑะพั‚ะฐะตั‚ ั‚ะพะปัŒะบะพ ะฟั€ะธ ะฒะบะปัŽั‡ั‘ะฝะฝะพะน ะบะฝะพะฟะบะต "ั‚ัƒั€ะฑะพ"$N$Nั‡ัƒั‚ัŒ-ั‡ัƒั‚ัŒ ะฟะพะฒั‹ัˆะฐะตั‚ ะฝะฐะดั‘ะถะฝะพัั‚ัŒ ั‚ัƒั€ะฑะพ-ะทะฐะณั€ัƒะทะพะบ ั ะฟะพะผะพั‰ัŒัŽ ัะฒะตั€ะบะธ ะดะฐั‚ ะธะทะผะตะฝะตะฝะธะน ะผะตะถะดัƒ ั„ะฐะนะปะฐะผะธ ะฝะฐ ัะตั€ะฒะตั€ะต ะธ ะฒะฐัˆะธะผะธ$N$Nะฒ ั‚ะตะพั€ะธะธ ะดะพัั‚ะฐั‚ะพั‡ะฝะพ ะดะปั ะฟั€ะพะฒะตั€ะบะธ ะฑะพะปัŒัˆะธะฝัั‚ะฒะฐ ะฝะตะทะฐะฒะตั€ัˆั‘ะฝะฝั‹ั… / ะฟะพะฒั€ะตะถะดั‘ะฝะฝั‹ั… ะทะฐะณั€ัƒะทะพะบ, ะฝะพ ะฝะต ัะฒะปัะตั‚ัั ะฐะปัŒั‚ะตั€ะฝะฐั‚ะธะฒะพะน ะฒะฐะปะธะดะฐั†ะธะธ ั„ะฐะนะปะพะฒ ะฟะพัะปะต ั‚ัƒั€ะฑะพ-ะทะฐะณั€ัƒะทะบะธ\">ะฟั€ะพะฒะตั€. ะดะฐั‚", - - "cut_u2sz": "ั€ะฐะทะผะตั€ (ะฒ ะœะธะ‘) ะบะฐะถะดะพะน ะทะฐะณั€ัƒะถะฐะตะผะพะน ั‡ะฐัั‚ะธ; ะฑะพะปัŒัˆะธะต ะทะฝะฐั‡ะตะฝะธั ะฟะพะบะฐะทั‹ะฒะฐัŽั‚ ะปัƒั‡ัˆะธะต ั€ะตะทัƒะปัŒั‚ะฐั‚ั‹ ะดะปั ะดะฐะปัŒะฝะธั… ัะพะตะดะธะฝะตะฝะธะน. ะ•ัะปะธ ะฟะพะดะบะปัŽั‡ะตะฝะธะต ะฝะตัั‚ะฐะฑะธะปัŒะฝะพะต, ะฟะพะฟั€ะพะฑัƒะนั‚ะต ะทะฝะฐั‡ะตะฝะธะต ะฟะพะฝะธะถะต", - - "cut_flag": "ั€ะฐะทั€ะตัˆะธั‚ัŒ ะพะดะฝะพะฒั€ะตะผะตะฝะฝัƒัŽ ะทะฐะณั€ัƒะทะบัƒ ั‚ะพะปัŒะบะพ ะธะท ะพะดะฝะพะน ะฒะบะปะฐะดะบะธ ะทะฐ ั€ะฐะท $N -- ะพะฑัะทะฐั‚ะตะปัŒะฝะพ ะฒะบะปัŽั‡ะธั‚ัŒ ัั‚ัƒ ะพะฟั†ะธัŽ ะฒ ะพัั‚ะฐะปัŒะฝั‹ั… ะฒะบะปะฐะดะบะฐั… $N -- ั€ะฐะฑะพั‚ะฐะตั‚ ั‚ะพะปัŒะบะพ ะฒ ะฟั€ะตะดะตะปะฐั… ะพะดะฝะพะณะพ ะดะพะผะตะฝะฐ", - - "cut_az": "ะทะฐะณั€ัƒะถะฐั‚ัŒ ั„ะฐะนะปั‹ ะฒ ะฐะปั„ะฐะฒะธั‚ะฝะพะผ ะฟะพั€ัะดะบะต ะฒะผะตัั‚ะพ "ะพั‚ ะผะตะฝัŒัˆะตะณะพ ะบ ะฑะพะปัŒัˆะตะผัƒ"$N$Nัั‚ะพ ะฟะพะทะฒะพะปะธั‚ ะฟั€ะพั‰ะต ะพั‚ัะปะตะดะธั‚ัŒ ะฟั€ะพะฑะปะตะผั‹ ะฒะพ ะฒั€ะตะผั ะทะฐะณั€ัƒะทะบะธ, ะฝะพ ัะบะพั€ะพัั‚ัŒ ัะปะตะณะบะฐ ะฝะธะถะต ะฝะฐ ะพั‡ะตะฝัŒ ะฑั‹ัั‚ั€ั‹ั… ัะพะตะดะธะฝะตะฝะธัั… (ะฝะฐะฟั€ะธะผะตั€, ะฒ ะปะพะบะฐะปัŒะฝะพะน ัะตั‚ะธ)", - - "cut_nag": "ัะธัั‚ะตะผะฝะพะต ัƒะฒะตะดะพะผะปะตะฝะธะต ะฟะพ ะทะฐะฒะตั€ัˆะตะฝะธะธ ะทะฐะณั€ัƒะทะบะธ$N(ั‚ะพะปัŒะบะพ ะฟั€ะธ ะฝะตะฐะบั‚ะธะฒะฝะพะน ะฒะบะปะฐะดะบะต ะฑั€ะฐัƒะทะตั€ะฐ)", - "cut_sfx": "ะทะฒัƒะบะพะฒะพะต ัƒะฒะตะดะพะผะปะตะฝะธะต ะฟะพ ะทะฐะฒะตั€ัˆะตะฝะธะธ ะทะฐะณั€ัƒะทะบะธ$N(ั‚ะพะปัŒะบะพ ะฟั€ะธ ะฝะตะฐะบั‚ะธะฒะฝะพะน ะฒะบะปะฐะดะบะต ะฑั€ะฐัƒะทะตั€ะฐ)", - - "cut_mt": "ะธัะฟะพะปัŒะทะพะฒะฐั‚ัŒ ะผะฝะพะณะพะฟะพั‚ะพั‡ะฝะพัั‚ัŒ ะดะปั ัƒัะบะพั€ะตะฝะธั ั…ะตัˆะธั€ะพะฒะฐะฝะธั$N$NะธัะฟะพะปัŒะทัƒะตั‚ Web Worker'ั‹ ะธ ั‚ั€ะตะฑัƒะตั‚ ะฑะพะปัŒัˆะต ะฟะฐะผัั‚ะธ (ะดะพ 512 ะœะธะ‘)$N$Nัƒัะบะพั€ัะตั‚ https ะฝะฐ 30%, http - ะฒ 4,5 ั€ะฐะท\">ะผะฟ", - - "cut_wasm": "ะธัะฟะพะปัŒะทะพะฒะฐั‚ัŒ ะผะพะดัƒะปัŒ WASM ะฒะผะตัั‚ะพ ะฒัั‚ั€ะพะตะฝะฝะพะน ะฒ ะฑั€ะฐัƒะทะตั€ ั„ัƒะฝะบั†ะธะธ ั…ะตัˆะธั€ะพะฒะฐะฝะธั; ัƒัะบะพั€ัะตั‚ ะฟั€ะพั†ะตัั ะฒ ะฑั€ะฐัƒะทะตั€ะฐั… ะฝะฐ ะพัะฝะพะฒะต Chromium, ะฝะพ ัƒะฒะตะปะธั‡ะธะฒะฐะตั‚ ะฝะฐะณั€ัƒะทะบัƒ ะฝะฐ ะฟั€ะพั†ะตััะพั€. ะกั‚ะฐั€ั‹ะต ะฒะตั€ัะธะธ Chrome ัะพะดะตั€ะถะฐั‚ ะฑะฐะณะธ, ะบะพั‚ะพั€ั‹ะต ะทะฐะฟะพะปะฝััŽั‚ ะฒััŽ ะพะฟะตั€ะฐั‚ะธะฒะฝัƒัŽ ะฟะฐะผัั‚ัŒ ะธ ะบั€ะฐัˆะฐั‚ ะฑั€ะฐัƒะทะตั€, ะบะพะณะดะฐ ะฒะบะปัŽั‡ะตะฝะฐ ัั‚ะฐ ะพะฟั†ะธั\">wasm", - - "cft_text": "ั‚ะตะบัั‚ ะดะปั ะธะบะพะฝะบะธ (ะพั‡ะธัั‚ะธั‚ะต ะฟะพะปะต ะธ ะฟะตั€ะตะทะฐะณั€ัƒะทะธั‚ะต ัั‚ั€ะฐะฝะธั†ัƒ ะดะปั ะฟั€ะธะผะตะฝะตะฝะธั)", - "cft_fg": "ั†ะฒะตั‚ ั‚ะตะบัั‚ะฐ", - "cft_bg": "ั†ะฒะตั‚ ั„ะพะฝะฐ", - - "cdt_lim": "ะผะฐะบัะธะผะฐะปัŒะฝะพะต ะบะพะปะธั‡ะตัั‚ะฒะพ ั„ะฐะนะปะพะฒ ะดะปั ะฟะพะบะฐะทะฐ ะฒ ะฟะฐะฟะบะต", - "cdt_ask": "ะฒะฝะธะทัƒ ัั‚ั€ะฐะฝะธั†ั‹ ัะฟั€ะฐัˆะธะฒะฐั‚ัŒ ะพ ะดะตะนัั‚ะฒะธะธ ะฒะผะตัั‚ะพ ะฐะฒั‚ะพะผะฐั‚ะธั‡ะตัะบะพะน ะทะฐะณั€ัƒะทะบะธ ัะปะตะดัƒัŽั‰ะธั… ั„ะฐะนะปะพะฒ", - "cdt_hsort": "ัะบะพะปัŒะบะพ ะฟั€ะฐะฒะธะป ัะพั€ั‚ะธั€ะพะฒะบะธ (<code>,sorthref</code>) ะฒะบะปัŽั‡ะฐั‚ัŒ ะฒ ะฐะดั€ะตั ัั‚ั€ะฐะฝะธั†ั‹. ะ•ัะปะธ ะทะฝะฐั‡ะตะฝะธะต ั€ะฐะฒะฝะพ 0, ะฟะพ ะฝะฐะถะฐั‚ะธะธ ะฝะฐ ััั‹ะปะบะธ ะฑัƒะดัƒั‚ ะธะณะฝะพั€ะธั€ะพะฒะฐั‚ัŒัั ะฟั€ะฐะฒะธะปะฐ, ะฒะบะปัŽั‡ั‘ะฝะฝั‹ะต ะฒ ะฝะธั…", - - "tt_entree": "ะฟะพะบะฐะทะฐั‚ัŒ ะฟะฐะฝะตะปัŒ ะฝะฐะฒะธะณะฐั†ะธะธ$Nะ“ะพั€ัั‡ะฐั ะบะปะฐะฒะธัˆะฐ: B", - "tt_detree": "ัะบั€ั‹ั‚ัŒ ะฟะฐะฝะตะปัŒ ะฝะฐะฒะธะณะฐั†ะธะธ$Nะ“ะพั€ัั‡ะฐั ะบะปะฐะฒะธัˆะฐ: B", - "tt_visdir": "ะฟั€ะพะบั€ัƒั‚ะธั‚ัŒ ะดะพ ะฒั‹ะดะตะปะตะฝะฝะพะน ะฟะฐะฟะบะธ", - "tt_ftree": "ะฟะตั€ะตะบะปัŽั‡ะธั‚ัŒ ะผะตะถะดัƒ ะธะตั€ะฐั€ั…ะธะตะน ะธ ัะฟะธัะบะพะผ ั‚ะตะบัั‚ะพะฒั‹ั… ั„ะฐะนะปะพะฒ$Nะ“ะพั€ัั‡ะฐั ะบะปะฐะฒะธัˆะฐ: V", - "tt_pdock": "ะทะฐะบั€ะตะฟะธั‚ัŒ ั€ะพะดะธั‚ะตะปัŒัะบะธะต ะฟะฐะฟะบะธ ัะฒะตั€ั…ัƒ ะฟะฐะฝะตะปะธ", - "tt_dynt": "ะฐะฒั‚ะพะผะฐั‚ะธั‡ะตัะบะพะต ั€ะฐััˆะธั€ะตะฝะธะต ะฟะฐะฝะตะปะธ", - "tt_wrap": "ะฟะตั€ะตะฝะพั ัะปะพะฒ", - "tt_hover": "ั€ะฐัะบั€ั‹ะฒะฐั‚ัŒ ะพะฑั€ะตะทะฐะฝะฝั‹ะต ัั‚ั€ะพะบะธ ะฟั€ะธ ะฝะฐะฒะตะดะตะฝะธะธ$N( ะปะพะผะฐะตั‚ ัะบั€ะพะปะปะธะฝะณ, ะตัะปะธ $N  ะบัƒั€ัะพั€ ะฝะต ะฒ ะฟัƒัั‚ะพั‚ะต ัะปะตะฒะฐ )", - - "ml_pmode": "ะฒ ะบะพะฝั†ะต ะฟะฐะฟะบะธ...", - "ml_btns": "ะบะพะผะฐะฝะดั‹", - "ml_tcode": "ั‚ั€ะฐะฝัะบะพะดะธั€ะพะฒะฐั‚ัŒ", - "ml_tcode2": "ั‚ั€ะฐะฝัะบะพะด. ะฒ", - "ml_tint": "ะทะฐั‚ะตะผะฝ.", - "ml_eq": "ัะบะฒะฐะปะฐะนะทะตั€", - "ml_drc": "ะบะพะผะฟั€ะตััะพั€", - - "mt_loop": "ะฟะพะฒั‚ะพั€ัั‚ัŒ ะพะดะธะฝ ั‚ั€ะตะบ\">๐Ÿ”", - "mt_one": "ะพัั‚ะฐะฝะพะฒะธั‚ัŒ ะฟะพัะปะต ัั‚ะพะณะพ ั‚ั€ะตะบะฐ\">1๏ธโƒฃ", - "mt_shuf": "ะฟะตั€ะตะผะตัˆะฐั‚ัŒ ั‚ั€ะตะบะธ ะฒะพ ะฒัะตั… ะฟะฐะฟะบะฐั…\">๐Ÿ”€", - "mt_aplay": "ะฐะฒั‚ะพะผะฐั‚ะธั‡ะตัะบะธ ะธะณั€ะฐั‚ัŒ ั‚ั€ะตะบะธ ะฟะพ ะฝะฐะถะฐั‚ะธะธ ะฝะฐ ััั‹ะปะบะธ ั ะธั… ID$N$Nะฟั€ะธ ะพั‚ะบะปัŽั‡ะตะฝะธะธ ะฐะดั€ะตั ัะฐะนั‚ะฐ ั‚ะฐะบะถะต ะฟะตั€ะตัั‚ะฐะฝะตั‚ ะพะฑะฝะพะฒะปัั‚ัŒัั ะฒ ัะพะพั‚ะฒะตั‚ัั‚ะฒะธะธ ั ั‚ะตะบัƒั‰ะธะผ ั‚ั€ะตะบะพะผ\">aโ–ถ", - "mt_preload": "ะฟะพะดะณั€ัƒะถะฐั‚ัŒ ัะปะตะดัƒัŽั‰ะธะน ั‚ั€ะตะบ ะฟะตั€ะตะด ะบะพะฝั†ะพะผ ั‚ะตะบัƒั‰ะตะณะพ ะดะปั ะฑะตััˆะพะฒะฝะพะณะพ ะฟะตั€ะตะบะปัŽั‡ะตะฝะธั\">ะฟั€ะตะดะทะฐะณั€.", - "mt_prescan": "ะฟะตั€ะตั…ะพะดะธั‚ัŒ ะฒ ัะปะตะดัƒัŽั‰ัƒัŽ ะฟะฐะฟะบัƒ ะฟะตั€ะตะด ะพะบะพะฝั‡ะฐะฝะธะตะผ ะฟะพัะปะตะดะฝะตะณะพ ั‚ั€ะตะบะฐ$Nะฝะต ะดะฐั‘ั‚ ะฑั€ะฐัƒะทะตั€ัƒ ะฟั€ะตั€ะฒะฐั‚ัŒ ัะปะตะดัƒัŽั‰ะธะน ะฟะปะตะนะปะธัั‚\">ะฝะฐะฒ.", - "mt_fullpre": "ะฟะพะดะณั€ัƒะถะฐั‚ัŒ ัะปะตะดัƒัŽั‰ะธะน ั‚ั€ะตะบ ั†ะตะปะธะบะพะผ;$Nโœ… ะฟะพะปะตะทะฝะพ ะฟั€ะธ ะฝะตัั‚ะฐะฑะธะปัŒะฝะพะผ ะฟะพะดะบะปัŽั‡ะตะฝะธะธ,$NโŒ ะฟั€ะธ ะผะตะดะปะตะฝะฝะพะน ัะบะพั€ะพัั‚ะธ ะปัƒั‡ัˆะต ะฒั‹ะบะปัŽั‡ะธั‚ัŒ\">ั†ะตะป.", - "mt_fau": "ะดะปั ั‚ะตะปะตั„ะพะฝะพะฒ: ะฝะฐั‡ะธะฝะฐั‚ัŒ ัะปะตะดัƒัŽั‰ะธะน ั‚ั€ะตะบ ัั€ะฐะทัƒ, ะดะฐะถะต ะตัะปะธ ะพะฝ ะฝะต ัƒัะฟะตะป ะฟะพะดะณั€ัƒะทะธั‚ัŒัั ั†ะตะปะธะบะพะผ (ะผะพะถะตั‚ ัะปะพะผะฐั‚ัŒ ะพั‚ะพะฑั€ะฐะถะตะฝะธะต ั‚ะตะณะพะฒ)\">โ˜•๏ธ", - "mt_waves": "ะฒะธะทัƒะฐะปะธะทะฐั†ะธั:$Nะฟะพะบะฐะทั‹ะฒะฐั‚ัŒ ะฒะพะปะฝัƒ ะณั€ะพะผะบะพัั‚ะธ ะฝะฐ ะฟะพะปะพัะต ะฒะพัะฟั€ะพะธะทะฒะตะดะตะฝะธั\">~", - "mt_npclip": "ะฟะพะบะฐะทะฐั‚ัŒ ะบะฝะพะฟะบะธ ะบะพะฟะธั€ะพะฒะฐะฝะธั ะดะปั ั‚ะตะบัƒั‰ะตะณะพ ั‚ั€ะตะบะฐ\">/np", - "mt_m3u_c": "ะฟะพะบะฐะทะฐั‚ัŒ ะบะฝะพะฟะบะธ ะบะพะฟะธั€ะพะฒะฐะฝะธั ะดะปั ะฒั‹ะดะตะปะตะฝะฝั‹ั… ั‚ั€ะตะบะพะฒ$Nะฒ ั„ะพั€ะผะฐั‚ะต ะฟะปะตะนะปะธัั‚ะพะฒ m3u8\">๐Ÿ“ป", - "mt_octl": "ะธะฝั‚ะตะณั€ะฐั†ะธั ั ะžะก (ะฟะพะดะดะตั€ะถะบะฐ ะผะตะดะธะฐ-ะบะปะฐะฒะธัˆ ะธ ะผัƒะทั‹ะบะฐะปัŒะฝั‹ั… ะฒะธะดะถะตั‚ะพะฒ)\">ะธะฝั‚ะตะณั€.", - "mt_oseek": "ะฟะพะทะฒะพะปะธั‚ัŒ ะฟะตั€ะตะผะฐั‚ั‹ะฒะฐั‚ัŒ ั‚ั€ะตะบะธ ั‡ะตั€ะตะท ัะธัั‚ะตะผะฝั‹ะต ะฒะธะดะถะตั‚ั‹$N$Nะฒะฝะธะผะฐะฝะธะต: ะฝะฐ ะฝะตะบะพั‚ะพั€ั‹ั… ัƒัั‚ั€ะพะนัั‚ะฒะฐั… (iPhone)$Nัั‚ะพ ะทะฐะผะตะฝะธั‚ ะบะฝะพะฟะบัƒ ัะปะตะดัƒัŽั‰ะตะณะพ ั‚ั€ะตะบะฐ\">ะฟะตั€ะตะผะพั‚ะบะฐ", - "mt_oscv": "ะฟะพะบะฐะทั‹ะฒะฐั‚ัŒ ะบะฐั€ั‚ะธะฝะบะธ ะฐะปัŒะฑะพะผะพะฒ ะฒ ะฒะธะดะถะตั‚ะฐั…\">ะฐั€ั‚", - "mt_follow": "ะดะตั€ะถะฐั‚ัŒ ั„ะพะบัƒั ะฝะฐ ะธะณั€ะฐัŽั‰ะตะผ ั‚ั€ะตะบะต\">๐ŸŽฏ", - "mt_compact": "ะบะพะผะฟะฐะบั‚ะฝั‹ะน ะฟะปะตะตั€\">โŸŽ", - "mt_uncache": "ะพั‡ะธัั‚ะธั‚ัŒ ะบะตัˆ  (ะตัะปะธ ะฑั€ะฐัƒะทะตั€ ะบะตัˆะธั€ะพะฒะฐะป ะฟะพะฒั€ะตะถะดั‘ะฝะฝั‹ะน$Nั‚ั€ะตะบ ะธ ะพั‚ะบะฐะทั‹ะฒะฐะตั‚ัั ะตะณะพ ะทะฐะฟัƒัะบะฐั‚ัŒ)\">ัƒะด. ะบะตัˆ", - "mt_mloop": "ะฟะพะฒั‚ะพั€ัั‚ัŒ ั‚ั€ะตะบะธ ะฒ ะฟะฐะฟะบะต\">๐Ÿ” ั†ะธะบะป", - "mt_mnext": "ะทะฐะณั€ัƒะทะธั‚ัŒ ัะปะตะดัƒัŽั‰ัƒัŽ ะฟะฐะฟะบัƒ ะธ ะฟั€ะพะดะพะปะถะธั‚ัŒ ะฒ ะฝะตะน\">๐Ÿ“‚ ัะปะตะด.", - "mt_mstop": "ะฟั€ะธะพัั‚ะฐะฝะพะฒะธั‚ัŒ ะฒะพัะฟั€ะพะธะทะฒะตะดะตะฝะธะต\">โธ ัั‚ะพะฟ", - "mt_cflac": "ะบะพะฝะฒะตั€ั‚ะธั€ะพะฒะฐั‚ัŒ flac / wav ะฒ {0}\">flac", - "mt_caac": "ะบะพะฝะฒะตั€ั‚ะธั€ะพะฒะฐั‚ัŒ aac / m4a ะฒ {0}\">aac", - "mt_coth": "ะบะพะฝะฒะตั€ั‚ะธั€ะพะฒะฐั‚ัŒ ะฒัั‘ ะพัั‚ะฐะปัŒะฝะพะต (ะบั€ะพะผะต mp3) ะฒ {0}\">ะดั€.", - "mt_c2opus": "ะปัƒั‡ัˆะธะน ะฒะฐั€ะธะฐะฝั‚ ะดะปั ะบะพะผะฟัŒัŽั‚ะตั€ะพะฒ ะธ ัƒัั‚ั€ะพะนัั‚ะฒ ะฝะฐ Android\">opus", - "mt_c2owa": "opus-weba, ะดะปั iOS 17.5 ะธ ะฒั‹ัˆะต\">owa", - "mt_c2caf": "opus-caf, ะดะปั iOS 11-17\">caf", - "mt_c2mp3": "ะดะปั ะพั‡ะตะฝัŒ ัั‚ะฐั€ั‹ั… ัƒัั‚ั€ะพะนัั‚ะฒ\">mp3", - "mt_c2flac": "ะปัƒั‡ัˆะตะต ะบะฐั‡ะตัั‚ะฒะพ ะทะฒัƒะบะฐ, ะฝะพ ะฑะพะปัŒัˆะธะต ั„ะฐะนะปั‹\">flac", //m - "mt_c2wav": "ะฝะต ัะถะฐั‚ะพะต ะฒะพัะฟั€ะพะธะทะฒะตะดะตะฝะธะต (ะตั‰ั‘ ะฑะพะปัŒัˆะต)\">wav", //m - "mt_c2ok": "ั…ะพั€ะพัˆะธะน ะฒั‹ะฑะพั€", - "mt_c2nd": "ัั‚ะพ ะฝะต ั€ะตะบะพะผะตะฝะดะพะฒะฐะฝะฝั‹ะน ะฒะฐั€ะธะฐะฝั‚ ั„ะพั€ะผะฐั‚ะฐ ะดะปั ะฒะฐัˆะตะณะพ ัƒัั‚ั€ะพะนัั‚ะฒะฐ, ะฝะพ ัะพะนะดั‘ั‚", - "mt_c2ng": "ะฝะต ะฟะพั…ะพะถะต, ั‡ั‚ะพ ะฒะฐัˆะต ัƒัั‚ั€ะพะนัั‚ะฒะพ ะฟะพะดะดะตั€ะถะธะฒะฐะตั‚ ัั‚ะพั‚ ั„ะพั€ะผะฐั‚, ะฝะพ ะดะฐะฒะฐะนั‚ะต ะฟะพะฟั€ะพะฑัƒะตะผ ะธ ัƒะทะฝะฐะตะผ ะฝะฐะฒะตั€ะฝัะบะฐ", - "mt_xowa": "ะฒ iOS ะตัั‚ัŒ ะฑะฐะณะธ, ะฟั€ะตะฟัั‚ัั‚ะฒัƒัŽั‰ะธะต ั„ะพะฝะพะฒะพะผัƒ ะฒะพัะฟั€ะพะธะทะฒะตะดะตะฝะธัŽ ัั‚ะพะณะพ ั„ะพั€ะผะฐั‚ะฐ. ะŸะพะถะฐะปัƒะนัั‚ะฐ, ะธัะฟะพะปัŒะทัƒะนั‚ะต caf ะธะปะธ mp3", - "mt_tint": "ะฝะตะฟั€ะพะทั€ะฐั‡ะฝะพัั‚ัŒ ั„ะพะฝะฐ (0-100) ะฝะฐ ะฟะพะปะพัะต ะฒะพัะฟั€ะพะธะทะฒะตะดะตะฝะธั$N$Nะดะตะปะฐะตั‚ ะฑัƒั„ะตั€ะธะทะฐั†ะธัŽ ะผะตะฝะตะต ะพั‚ะฒะปะตะบะฐัŽั‰ะตะน", - "mt_eq": "ะฒะบะปัŽั‡ะธั‚ัŒ ัะบะฒะฐะปะฐะนะทะตั€$N$Nboost <code>0</code> = ัั‚ะฐะฝะดะฐั€ั‚ะฝะฐั ะณั€ะพะผะบะพัั‚ัŒ$N$Nwidth <code>1  </code> = ะพะฑั‹ั‡ะฝะพะต ัั‚ะตั€ะตะพ$Nwidth <code>0.5</code> = ะผะธะบัˆะธั€ะพะฒะฐะฝะธะต ะปะตะฒะพะณะพ ะธ ะฟั€ะฐะฒะพะณะพ ะบะฐะฝะฐะปะพะฒ ะฝะฐ 50%$Nwidth <code>0  </code> = ะผะพะฝะพ$N$Nboost <code>-0.8</code> ะธ width <code>10</code> = ัƒะดะฐะปะตะฝะธะต ะณะพะปะพัะฐ :^)$N$NะฒะบะปัŽั‡ั‘ะฝะฝั‹ะน ัะบะฒะฐะปะฐะนะทะตั€ ะฟะพะปะฝะพัั‚ัŒัŽ ัƒะฑะธั€ะฐะตั‚ ะทะฐะดะตั€ะถะบัƒ ะผะตะถะดัƒ ั‚ั€ะตะบะฐะผะธ, ะฟะพัั‚ะพะผัƒ ัะปะตะดัƒะตั‚ ะตะณะพ ะฒะบะปัŽั‡ะธั‚ัŒ ัะพ ะฒัะตะผะธ ะทะฝะฐั‡ะตะฝะธัะผะธ ะฝะฐ 0 (ะบั€ะพะผะต width = 1), ะตัะปะธ ะฒะฐะผ ะฝัƒะถะฝะพ ะฑะตััˆะพะฒะฝะพะต ะฒะพัะฟั€ะพะธะทะฒะตะดะตะฝะธะต", - "mt_drc": "ะฒะบะปัŽั‡ะธั‚ัŒ ะบะพะผะฟั€ะตััะพั€; ั‚ะฐะบะถะต ะฒะบะปัŽั‡ะธั‚ ัะบะฒะฐะปะฐะนะทะตั€ ะดะปั ะฑะฐะปะฐะฝัะฐ ะฒัะตะปะตะฝะฝะพะน, ั‚ะฐะบ ั‡ั‚ะพ ะฒั‹ัั‚ะฐะฒัŒั‚ะต ะฒัั‘ ะฝะฐ 0 ะบั€ะพะผะต width, ะตัะปะธ ะพะฝ ะฒะฐะผ ะฝะต ะฝัƒะถะตะฝ$N$Nะฟะพะฝะธะถะฐะตั‚ ะณั€ะพะผะบะพัั‚ัŒ ะฟั€ะธ ะฒะพะปะฝะต ะฒั‹ัˆะต ะทะฝะฐั‡ะตะฝะธั dB ะฒ tresh; ะบะฐะถะดั‹ะน dB ะฒ ratio ั€ะฐะฒะตะฝ ะพะดะฝะพะผัƒ dB ะฝะฐ ะฒั‹ั…ะพะดะต, ั‚ะฐะบ ั‡ั‚ะพ ัั‚ะฐะฝะดะฐั€ั‚ะฝั‹ะต ะทะฝะฐั‡ะตะฝะธั tresh = -24 ะธ ratio = 12 ัะดะตะปะฐัŽั‚ ั‚ะฐะบ, ั‡ั‚ะพ ะทะฒัƒะบ ะฝะธะบะพะณะดะฐ ะฝะต ะฑัƒะดะตั‚ ะณั€ะพะผั‡ะต -22 dB. ะŸั€ะธ ั‚ะฐะบะพะผ ั€ะฐัะบะปะฐะดะต ะผะพะถะฝะพ ะฟะพัั‚ะฐะฒะธั‚ัŒ boost ะฒ ัะบะฒะฐะปะฐะนะทะตั€ะต ะฝะฐ 0.8 ะธะปะธ ะดะฐะถะต 1.8 ะฟั€ะธ ะทะฝะฐั‡ะตะฝะธะธ atk = 0 ะธ ะพะณั€ะพะผะฝะพะผ rls ะฒั€ะพะดะต 90 (ั€ะฐะฑะพั‚ะฐะตั‚ ั‚ะพะปัŒะบะพ ะฒ Firefox, rls ะฝะต ะผะพะถะตั‚ ะฑั‹ั‚ัŒ ะฒั‹ัˆะต 1 ะฒ ะดั€ัƒะณะธั… ะฑั€ะฐัƒะทะตั€ะฐั…)$N$N(ะทะฐะณะปัะฝะธั‚ะต ะฒ ะฒะธะบะธะฟะตะดะธัŽ, ั‚ะฐะผ ะฒัั‘ ะพะฑัŠััะฝะตะฝะพ ะฟะพะดั€ะพะฑะฝะตะต)", - - "mb_play": "ะธะณั€ะฐั‚ัŒ", - "mm_hashplay": "ะฒะพัะฟั€ะพะธะทะฒะตัั‚ะธ ัั‚ะพั‚ ะผัƒะทั‹ะบะฐะปัŒะฝั‹ะน ั„ะฐะนะป?", - "mm_m3u": "ะฝะฐะถะผะธั‚ะต Enter/OK, ั‡ั‚ะพะฑั‹ ะธะณั€ะฐั‚ัŒ\nะฝะฐะถะผะธั‚ะต ESC/ะžั‚ะผะตะฝะฐ, ั‡ั‚ะพะฑั‹ ั€ะตะดะฐะบั‚ะธั€ะพะฒะฐั‚ัŒ", - "mp_breq": "ั‚ั€ะตะฑัƒะตั‚ัั Firefox 82+, Chrome 73+ ะธะปะธ iOS 15+", - "mm_bload": "ะทะฐะณั€ัƒะถะฐัŽ...", - "mm_bconv": "ะบะพะฝะฒะตั€ั‚ะธั€ัƒัŽ ะฒ {0}, ะฟะพะดะพะถะดะธั‚ะต...", - "mm_opusen": "ะฒะฐัˆ ะฑั€ะฐัƒะทะตั€ ะฝะต ะผะพะถะตั‚ ะฒะพัะฟั€ะพะธะทะฒะพะดะธั‚ัŒ ั„ะฐะนะปั‹ aac / m4a;\nะฒะบะปัŽั‡ะตะฝะพ ั‚ั€ะฐะฝัะบะพะดะธั€ะพะฒะฐะฝะธะต ะฒ opus", - "mm_playerr": "ะพัˆะธะฑะบะฐ ะฒะพัะฟั€ะพะธะทะฒะตะดะตะฝะธั: ", - "mm_eabrt": "ะŸะพะฟั‹ั‚ะบะฐ ะฒะพัะฟั€ะพะธะทะฒะตะดะตะฝะธั ะฑั‹ะปะฐ ะพั‚ะผะตะฝะตะฝะฐ", - "mm_enet": "ะ’ะฐัˆะต ะฟะพะดะบะปัŽั‡ะตะฝะธะต ะฝะตัั‚ะฐะฑะธะปัŒะฝะพ", - "mm_edec": "ะญั‚ะพั‚ ั„ะฐะนะป, ะฒะพะทะผะพะถะฝะพ, ะฟะพะฒั€ะตะถะดั‘ะฝ??", - "mm_esupp": "ะ’ะฐัˆ ะฑั€ะฐัƒะทะตั€ ะฝะต ั€ะฐัะฟะพะทะฝะฐั‘ั‚ ัั‚ะพั‚ ะฐัƒะดะธะพ-ั„ะพั€ะผะฐั‚", - "mm_eunk": "ะะตะพะฟะพะทะฝะฐะฝะฝะฐั ะพัˆะธะฑะบะฐ", - "mm_e404": "ะะต ัƒะดะฐะปะพััŒ ะฒะพัะฟั€ะพะธะทะฒะตัั‚ะธ ะฐัƒะดะธะพ; ะพัˆะธะฑะบะฐ 404: ะคะฐะนะป ะฝะต ะฝะฐะนะดะตะฝ.", - "mm_e403": "ะะต ัƒะดะฐะปะพััŒ ะฒะพัะฟั€ะพะธะทะฒะตัั‚ะธ ะฐัƒะดะธะพ; ะพัˆะธะฑะบะฐ 403: ะ”ะพัั‚ัƒะฟ ะทะฐะฟั€ะตั‰ั‘ะฝ.\n\nะŸะพะฟั€ะพะฑัƒะนั‚ะต ะฟะตั€ะตะทะฐะณั€ัƒะทะธั‚ัŒ ัั‚ั€ะฐะฝะธั†ัƒ, ะฒะพะทะผะพะถะฝะพ, ะฒะฐัˆะฐ ัะตััะธั ะธัั‚ะตะบะปะฐ", - "mm_e500": "ะะต ัƒะดะฐะปะพััŒ ะฒะพัะฟั€ะพะธะทะฒะตัั‚ะธ ะฐัƒะดะธะพ; ะพัˆะธะฑะบะฐ 500: ะŸั€ะพะฒะตั€ัŒั‚ะต ะปะพะณะธ ัะตั€ะฒะตั€ะฐ.", - "mm_e5xx": "ะะต ัƒะดะฐะปะพััŒ ะฒะพัะฟั€ะพะธะทะฒะตัั‚ะธ ะฐัƒะดะธะพ; ะพัˆะธะฑะบะฐ ัะตั€ะฒะตั€ะฐ ", - "mm_nof": "ะฑะพะปัŒัˆะต ะฐัƒะดะธะพ-ั„ะฐะนะปะพะฒ ะฝะต ะฝะฐะนะดะตะฝะพ", - "mm_prescan": "ะŸะพะธัะบ ะผัƒะทั‹ะบะธ ะดะปั ะฒะพัะฟั€ะพะธะทะฒะตะดะตะฝะธั ะดะฐะปัŒัˆะต...", - "mm_scank": "ะะฐะนะดะตะฝ ัะปะตะดัƒัŽั‰ะธะน ั‚ั€ะตะบ:", - "mm_uncache": "ะบะตัˆ ะพั‡ะธั‰ะตะฝ; ะฒัะต ั‚ั€ะตะบะธ ะฑัƒะดัƒั‚ ะทะฐะณั€ัƒะถะตะฝั‹ ะทะฐะฝะพะฒะพ ะฟั€ะธ ะฒะพัะฟั€ะพะธะทะฒะตะดะตะฝะธะธ", - "mm_hnf": "ัั‚ะพ ั‚ั€ะตะบ ะฑะพะปัŒัˆะต ะฝะต ััƒั‰ะตัั‚ะฒัƒะตั‚", - - "im_hnf": "ัั‚ะพ ะธะทะพะฑั€ะฐะถะตะฝะธะต ะฑะพะปัŒัˆะต ะฝะต ััƒั‰ะตัั‚ะฒัƒะตั‚", - - "f_empty": 'ัั‚ะฐ ะฟะฐะฟะบะฐ ะฟัƒัั‚ะฐ', - "f_chide": 'ัั‚ะพ ัะบั€ะพะตั‚ ัั‚ะพะปะฑะตั† ยซ{0}ยป\n\nะฒั‹ ะผะพะถะตั‚ะต ะฟะพะบะฐะทะฐั‚ัŒ ัะบั€ั‹ั‚ั‹ะต ัั‚ะพะปะฑั†ั‹ ะฒ ะฝะฐัั‚ั€ะพะนะบะฐั…', - "f_bigtxt": "ะพะฑัŠั‘ะผ ะดะฐะฝะฝะพะณะพ ั„ะฐะนะปะฐ - {0} ะœะธะ‘. ั‚ะพั‡ะฝะพ ะพั‚ะบั€ั‹ั‚ัŒ ะบะฐะบ ั‚ะตะบัั‚?", - "f_bigtxt2": "ะฟั€ะพัะผะพั‚ั€ะตั‚ัŒ ั‚ะพะปัŒะบะพ ะบะพะฝะตั† ั„ะฐะนะปะฐ? ัั‚ะพ ั‚ะฐะบะถะต ะฒะบะปัŽั‡ะธั‚ ะพะฑะฝะพะฒะปะตะฝะธะต ะฒ ั€ะตะฐะปัŒะฝะพะผ ะฒั€ะตะผะตะฝะธ, ะฟะพะบะฐะทั‹ะฒะฐั ะฝะพะฒั‹ะต ัั‚ั€ะพะบะธ ัั€ะฐะทัƒ ะฟะพัะปะต ะธั… ะดะพะฑะฐะฒะปะตะฝะธั", - "fbd_more": '
    ะฟะพะบะฐะทะฐะฝะพ {0} ะธะท {1} ั„ะฐะนะปะพะฒ; ะฟะพะบะฐะทะฐั‚ัŒ {2} ะธะปะธ ะฟะพะบะฐะทะฐั‚ัŒ ะฒัั‘
    ', - "fbd_all": '
    ะฟะพะบะฐะทะฐะฝะพ {0} ะธะท {1} ั„ะฐะนะปะพะฒ; ะฟะพะบะฐะทะฐั‚ัŒ ะฒัั‘
    ', - "f_anota": "ั‚ะพะปัŒะบะพ {0} ะธะท {1} ั„ะฐะนะปะพะฒ ะฑั‹ะปะพ ะฒั‹ะดะตะปะตะฝะพ;\nั‡ั‚ะพะฑั‹ ะฒั‹ะดะตะปะธั‚ัŒ ะฒัั‘ ะฟะฐะฟะบัƒ, ะพั‚ะผะพั‚ะฐะนั‚ะต ะดะพ ะฝะธะทะฐ", - - "f_dls": 'ััั‹ะปะบะธ ะฝะฐ ั„ะฐะนะปั‹ ะฒ ะดะฐะฝะฝะพะน ะฟะฐะฟะบะต ะฑั‹ะปะธ\nะทะฐะผะตะฝะตะฝั‹ ััั‹ะปะบะฐะผะธ ะฝะฐ ัะบะฐั‡ะธะฒะฐะฝะธะต', - - "f_partial": "ะงั‚ะพะฑั‹ ะฑะตะทะพะฟะฐัะฝะพ ัะบะฐั‡ะฐั‚ัŒ ั„ะฐะนะป, ะบะพั‚ะพั€ั‹ะน ะฒ ั‚ะตะบัƒั‰ะธะน ะผะพะผะตะฝั‚ ะทะฐะณั€ัƒะถะฐะตั‚ัั, ะฝะฐะถะผะธั‚ะต ะฝะฐ ั„ะฐะนะป ั ั‚ะฐะบะธะผ ะถะต ะฝะฐะทะฒะฐะฝะธะตะผ, ะฝะพ ะฑะตะท ั€ะฐััˆะธั€ะตะฝะธั .PARTIAL. ะŸะพะถะฐะปัƒะนัั‚ะฐ, ะฝะฐะถะผะธั‚ะต ะžั‚ะผะตะฝะฐ ะธะปะธ ESC, ั‡ั‚ะพะฑั‹ ัะดะตะปะฐั‚ัŒ ัั‚ะพ.\n\nะŸั€ะธ ะฝะฐะถะฐั‚ะธะธ OK / Enter, ะฒั‹ ัะบะฐั‡ะฐะตั‚ะต ัั‚ะพั‚ ะฒั€ะตะผะตะฝะฝั‹ะน ั„ะฐะนะป, ะบะพั‚ะพั€ั‹ะน ั ะพะณั€ะพะผะฝะพะน ะฒะตั€ะพัั‚ะฝะพัั‚ัŒัŽ ัะพะดะตั€ะถะธั‚ ะปะธัˆัŒ ะฝะตะฟะพะปะฝั‹ะต ะดะฐะฝะฝั‹ะต.", - - "ft_paste": "ะฒัั‚ะฐะฒะธั‚ัŒ {0} ั„ะฐะนะปะพะฒ$Nะ“ะพั€ัั‡ะฐั ะบะปะฐะฒะธัˆะฐ: ctrl-V", - "fr_eperm": 'ะฝะต ัƒะดะฐะปะพััŒ ะฟะตั€ะตะธะผะตะฝะพะฒะฐั‚ัŒ:\nัƒ ะฒะฐั ะฝะตั‚ ั€ะฐะทั€ะตัˆะตะฝะธั โ€œmoveโ€ ะฒ ัั‚ะพะน ะฟะฐะฟะบะต', - "fd_eperm": 'ะฝะต ัƒะดะฐะปะพััŒ ัƒะดะฐะปะธั‚ัŒ:\nัƒ ะฒะฐั ะฝะตั‚ ั€ะฐะทั€ะตัˆะตะฝะธั โ€œdeleteโ€ ะฒ ัั‚ะพะน ะฟะฐะฟะบะต', - "fc_eperm": 'ะฝะต ัƒะดะฐะปะพััŒ ะฒั‹ั€ะตะทะฐั‚ัŒ:\nัƒ ะฒะฐั ะฝะตั‚ ั€ะฐะทั€ะตัˆะตะฝะธั โ€œmoveโ€ ะฒ ัั‚ะพะน ะฟะฐะฟะบะต', - "fp_eperm": 'ะฝะต ัƒะดะฐะปะพััŒ ะฒัั‚ะฐะฒะธั‚ัŒ:\nัƒ ะฒะฐั ะฝะตั‚ ั€ะฐะทั€ะตัˆะตะฝะธั โ€œwriteโ€ ะฒ ัั‚ะพะน ะฟะฐะฟะบะต', - "fr_emore": "ะฒั‹ะดะตะปะธั‚ะต ั…ะพั‚ั ะฑั‹ ะพะดะธะฝ ั„ะฐะนะป, ั‡ั‚ะพะฑั‹ ะฟะตั€ะตะธะผะตะฝะพะฒะฐั‚ัŒ", - "fd_emore": "ะฒั‹ะดะตะปะธั‚ะต ั…ะพั‚ั ะฑั‹ ะพะดะธะฝ ั„ะฐะนะป, ั‡ั‚ะพะฑั‹ ัƒะดะฐะปะธั‚ัŒ", - "fc_emore": "ะฒั‹ะดะตะปะธั‚ะต ั…ะพั‚ั ะฑั‹ ะพะดะธะฝ ั„ะฐะนะป, ั‡ั‚ะพะฑั‹ ะฒั‹ั€ะตะทะฐั‚ัŒ", - "fcp_emore": "ะฒั‹ะดะตะปะธั‚ะต ั…ะพั‚ั ะฑั‹ ะพะดะธะฝ ั„ะฐะนะป, ั‡ั‚ะพะฑั‹ ัะบะพะฟะธั€ะพะฒะฐั‚ัŒ ะฒ ะฑัƒั„ะตั€", - - "fs_sc": "ะฟะพะดะตะปะธั‚ัŒัั ั‚ะตะบัƒั‰ะตะน ะฟะฐะฟะบะพะน", - "fs_ss": "ะฟะพะดะตะปะธั‚ัŒัั ะฒั‹ะดะตะปะตะฝะฝั‹ะผะธ ั„ะฐะนะปะฐะผะธ", - "fs_just1d": "ะฒั‹ ะฝะต ะผะพะถะตั‚ะต ะฒั‹ะฑั€ะฐั‚ัŒ ะฑะพะปัŒัˆะต ะพะดะฝะพะน ะฟะฐะฟะบะธ\nะธะปะธ ัะผะตัˆะธะฒะฐั‚ัŒ ั„ะฐะนะปั‹ ั ะฟะฐะฟะบะฐะผะธ ะฟั€ะธ ะฒั‹ะดะตะปะตะฝะธะธ", - "fs_abrt": "โŒ ะพั‚ะผะตะฝะธั‚ัŒ", - "fs_rand": "๐ŸŽฒ ัะปัƒั‡. ะธะผั", - "fs_go": "โœ… ัะพะทะดะฐั‚ัŒ ะดะพัั‚ัƒะฟ", - "fs_name": "ะธะผั", - "fs_src": "ะฟัƒั‚ัŒ", - "fs_pwd": "ะฟะฐั€ะพะปัŒ", - "fs_exp": "ัั€ะพะบ", - "fs_tmin": "ะผะธะฝ", - "fs_thrs": "ั‡ะฐัะพะฒ", - "fs_tdays": "ะดะฝะตะน", - "fs_never": "ะฒะตั‡ะฝะพ", - "fs_pname": "ะธะผั ััั‹ะปะบะธ; ะณะตะฝะตั€ะธั€ัƒะตั‚ัั ัะปัƒั‡ะฐะนะฝะพ ะตัะปะธ ะฝะต ัƒะบะฐะทะฐะฝะพ", - "fs_tsrc": "ะฟัƒั‚ัŒ ะบ ั„ะฐะนะปัƒ ะธะปะธ ะฟะฐะฟะบะต, ะบะพั‚ะพั€ั‹ะผะธ ะฝัƒะถะฝะพ ะฟะพะดะตะปะธั‚ัŒัั", - "fs_ppwd": "ะฟะฐั€ะพะปัŒ (ะฝะตะพะฑัะทะฐั‚ะตะปัŒะฝะพ)", - "fs_w8": "ัะพะทะดะฐัŽ ะดะพัั‚ัƒะฟ...", - "fs_ok": "ะฝะฐะถะผะธั‚ะต Enter/OK, ั‡ั‚ะพะฑั‹ ัะบะพะฟะธั€ะพะฒะฐั‚ัŒ\nะฝะฐะถะผะธั‚ะต ESC/ะžั‚ะผะตะฝะฐ, ั‡ั‚ะพะฑั‹ ะทะฐะบั€ั‹ั‚ัŒ", - - "frt_dec": "ะผะพะถะตั‚ ะธัะฟั€ะฐะฒะธั‚ัŒ ะฝะตะบะพั‚ะพั€ั‹ะต ัะปัƒั‡ะฐะธ ั ะฝะตะบะพั€ั€ะตะบั‚ะฝั‹ะผะธ ะธะผะตะฝะฐะผะธ ั„ะฐะนะปะพะฒ\">ะดะตะบะพะดะธั€ะพะฒะฐั‚ัŒ url", - "frt_rst": "ัะฑั€ะพัะธั‚ัŒ ะธะทะผะตะฝั‘ะฝะฝั‹ะต ะธะผะตะฝะฐ ะพะฑั€ะฐั‚ะฝะพ ะบ ะพั€ะธะณะธะฝะฐะปัŒะฝั‹ะผ\">โ†บ ัะฑั€ะพั", - "frt_abrt": "ะพั‚ะผะตะฝะธั‚ัŒ ะพะฟะตั€ะฐั†ะธัŽ ะธ ะทะฐะบั€ั‹ั‚ัŒ ัั‚ะพ ะพะบะฝะพ\">โŒ ะพั‚ะผะตะฝะฐ", - "frb_apply": "ะŸะ•ะ ะ•ะ˜ะœะ•ะะžะ’ะะขะฌ", - "fr_adv": "ะฟะตั€ะตะธะผะตะฝะพะฒะฐะฝะธะต ะผะฐััะพะฒะพะต / ะผะตั‚ะฐะดะฐะฝะฝั‹ั… / ะฟะพ ัˆะฐะฑะปะพะฝัƒ\">ัะบัะฟะตั€ั‚", - "fr_case": "ั‡ัƒะฒัั‚ะฒะธั‚ะตะปัŒะฝั‹ะน ะบ ั€ะตะณะธัั‚ั€ัƒ regex\">ะ ะตะ“ะธะกั‚ะ ", - "fr_win": "ัะพะฒะผะตัั‚ะธะผั‹ะต ั windows ะธะผะตะฝะฐ; ะทะฐะผะตะฝัะตั‚ <>:"\\|?* ัะฟะพะฝัะบะธะผะธ ะฟะพะปะฝะพัˆะธั€ะธะฝะฝั‹ะผะธ ัะธะผะฒะพะปะฐะผะธ\">win", - "fr_slash": "ะทะฐะผะตะฝัะตั‚ / ัะธะผะฒะพะปะพะผ, ะบะพั‚ะพั€ั‹ะน ะฝะต ัะพะทะดะฐั‘ั‚ ะฝะพะฒั‹ะต ะฟะฐะฟะบะธ\">ะฑะตะท /", - "fr_re": "ะฟะพะธัะบ ะฟะพ ัˆะฐะฑะปะพะฝัƒ regex, ะฟั€ะธะผะตะฝัะตะผั‹ะน ะบ ะพั€ะธะณะธะฝะฐะปัŒะฝั‹ะผ ะธะผะตะฝะฐะผ; ะณั€ัƒะฟะฟั‹ ะทะฐั…ะฒะฐั‚ะฐ ะผะพะณัƒั‚ ะฟั€ะธะผะตะฝัั‚ัŒัั ะฒ ะฟะพะปะต ั„ะพั€ะผะฐั‚ะธั€ะพะฒะฐะฝะธั ั ะฟะพะผะพั‰ัŒัŽ <code>(1)</code> ะธ <code>(2)</code> ะธ ั‚ะฐะบ ะดะฐะปะตะต", - "fr_fmt": "ะฒะดะพั…ะฝะพะฒะปะตะฝะพ foobar2000:$N<code>(title)</code> ะทะฐะผะตะฝัะตั‚ัั ะฝะฐะทะฒะฐะฝะธะตะผ ั‚ั€ะตะบะฐ,$N<code>[(artist) - ](title)</code> ะฟั€ะพะฟัƒัะบะฐะตั‚ [ัั‚ัƒ] ั‡ะฐัั‚ัŒ, ะตัะปะธ ะบะพะผะฟะพะทะธั‚ะพั€ ะฝะต ัƒะบะฐะทะฐะฝ$N<code>$lpad((tn),2,0)</code> ะดะพะฑะฐะฒะปัะตั‚ ะฒะตะดัƒั‰ะธะต ะฝัƒะปะธ ะดะพ ะดะฒัƒั… ั†ะธั„ั€", - "fr_pdel": "ัƒะดะฐะปะธั‚ัŒ", - "fr_pnew": "ัะพั…ั€ะฐะฝะธั‚ัŒ ะบะฐะบ", - "fr_pname": "ะฟั€ะตะดะพัั‚ะฐะฒัŒั‚ะต ะฝะฐะทะฒะฐะฝะธะต ะดะปั ะฝะพะฒะพะณะพ ัˆะฐะฑะปะพะฝะฐ", - "fr_aborted": "ะฟั€ะตั€ะฒะฐะฝะพ", - "fr_lold": "ัั‚ะฐั€ะพะต ะธะผั", - "fr_lnew": "ะฝะพะฒะพะต ะธะผั", - "fr_tags": "ั‚ะตะณะธ ะดะปั ะฒั‹ะดะตะปะตะฝะฝั‹ั… ั„ะฐะนะปะพะฒ (ะฝะต ั€ะตะดะฐะบั‚ะธั€ัƒะตั‚ัั, ัั‚ะพ ะดะปั ะธะฝัั‚ั€ัƒะบั†ะธะธ):", - "fr_busy": "ะฟะตั€ะตะธะผะตะฝะพะฒั‹ะฒะฐัŽ {0} ั„ะฐะนะปะพะฒ...\n\n{1}", - "fr_efail": "ะพัˆะธะฑะบะฐ ะฟะตั€ะตะธะผะตะฝะพะฒะฐะฝะธั:\n", - "fr_nchg": "{0} ะฝะพะฒั‹ั… ะธะผั‘ะฝ ะฑั‹ะปะธ ะผะพะดะธั„ะธั†ะธั€ะพะฒะฐะฝั‹ ะดะปั ัะพะพั‚ะฒะตั‚ัั‚ะฒะธั ะพะฟั†ะธัะผ win ะธ/ะธะปะธ ะฑะตะท /\n\nะฅะพั‚ะธั‚ะต ะธัะฟะพะปัŒะทะพะฒะฐั‚ัŒ ัั‚ะธ ะธะผะตะฝะฐ?", - - "fd_ok": "ัƒัะฟะตัˆะฝะพ ัƒะดะฐะปะตะฝะพ", - "fd_err": "ะพัˆะธะฑะบะฐ ัƒะดะฐะปะตะฝะธั:\n", - "fd_none": "ะฝะธั‡ะตะณะพ ะฝะต ัƒะดะฐะปะตะฝะพ; ะฒะพะทะผะพะถะฝะพ, ะฝะต ะฟะพะทะฒะพะปัะตั‚ ะบะพะฝั„ะธะณัƒั€ะฐั†ะธั ัะตั€ะฒะตั€ะฐ (xbd)?", - "fd_busy": "ัƒะดะฐะปะตะฝะพ {0} ั„ะฐะนะปะพะฒ...\n\n{1}", - "fd_warn1": "ะฃะ”ะะ›ะ˜ะขะฌ ัั‚ะธ {0} ั„ะฐะนะปะพะฒ?", - "fd_warn2": "ะ’ะฝะธะผะฐะฝะธะต! ะญั‚ะพ ะฝะตะพะฑั€ะฐั‚ะธะผั‹ะน ะฟั€ะพั†ะตัั. ะฃะดะฐะปะธั‚ัŒ?", - - "fc_ok": "ะฒั‹ั€ะตะทะฐะฝะพ {0} ั„ะฐะนะปะพะฒ", - "fc_warn": 'ะฒั‹ั€ะตะทะฐะฝะพ {0} ั„ะฐะนะปะพะฒ\n\nะฝะพ ั‚ะพะปัŒะบะพ ัั‚ะฐ ะฒะบะปะฐะดะบะฐ ะฑั€ะฐัƒะทะตั€ะฐ ะผะพะถะตั‚ ะธั… ะฒัั‚ะฐะฒะธั‚ัŒ\n(ะฟะพัะบะพะปัŒะบัƒ ะฒั‹ะดะตะปะตะฝะธะต ะพะบะฐะทะฐะปะพััŒ ะฝะฐัั‚ะพะปัŒะบะพ ะพะณั€ะพะผะฝั‹ะผ)', - - "fcc_ok": "ัะบะพะฟะธั€ะพะฒะฐะฝะพ {0} ั„ะฐะนะปะพะฒ ะฒ ะฑัƒั„ะตั€", - "fcc_warn": 'ัะบะพะฟะธั€ะพะฒะฐะฝะพ {0} ั„ะฐะนะปะพะฒ ะฒ ะฑัƒั„ะตั€\n\nะฝะพ ั‚ะพะปัŒะบะพ ัั‚ะฐ ะฒะบะปะฐะดะบะฐ ะฑั€ะฐัƒะทะตั€ะฐ ะผะพะถะตั‚ ะธั… ะฒัั‚ะฐะฒะธั‚ัŒ\n(ะฟะพัะบะพะปัŒะบัƒ ะฒั‹ะดะตะปะตะฝะธะต ะพะบะฐะทะฐะปะพััŒ ะฝะฐัั‚ะพะปัŒะบะพ ะพะณั€ะพะผะฝั‹ะผ)', - - "fp_apply": "ะธัะฟะพะปัŒะทะพะฒะฐั‚ัŒ ัั‚ะธ ะธะผะตะฝะฐ", - "fp_ecut": "ัะฝะฐั‡ะฐะปะฐ ะฒั‹ั€ะตะทะฐั‚ัŒ ะธะปะธ ัะบะพะฟะธั€ะพะฒะฐั‚ัŒ ั‚ะพะปัŒะบะพ ะฝะตะบะพั‚ะพั€ั‹ะต ั„ะฐะนะปั‹ / ะฟะฐะฟะบะธ\n\nัƒั‡ั‚ะธั‚ะต: ะฒั‹ ะผะพะถะตั‚ะต ะฒั‹ั€ะตะทะฐั‚ัŒ / ะฒัั‚ะฐะฒะปัั‚ัŒ ั„ะฐะนะปั‹ ะผะตะถะดัƒ ะฒะบะปะฐะดะบะฐะผะธ", - "fp_ename": "{0} ั„ะฐะนะปะพะฒ ะฝะตะฒะพะทะผะพะถะฝะพ ะฟะตั€ะตะฝะตัั‚ะธ ััŽะดะฐ, ะฟะพั‚ะพะผัƒ ั‡ั‚ะพ ะธั… ะธะผะตะฝะฐ ัƒะถะต ะทะฐะฝัั‚ั‹. ะ’ะฒะตะดะธั‚ะต ะธะผะตะฝะฐ ะฝะธะถะต, ั‡ั‚ะพะฑั‹ ะฟั€ะพะดะพะปะถะธั‚ัŒ, ะธะปะธ ะพัั‚ะฐะฒัŒั‚ะต ะฟะพะปั ะฟัƒัั‚ั‹ะผะธ, ั‡ั‚ะพะฑั‹ ะฟั€ะพะฟัƒัั‚ะธั‚ัŒ:", - "fcp_ename": "{0} ั„ะฐะนะปะพะฒ ะฝะตะฒะพะทะผะพะถะฝะพ ัะบะพะฟะธั€ะพะฒะฐั‚ัŒ ััŽะดะฐ, ะฟะพั‚ะพะผัƒ ั‡ั‚ะพ ะธั… ะธะผะตะฝะฐ ัƒะถะต ะทะฐะฝัั‚ั‹. ะ’ะฒะตะดะธั‚ะต ะธะผะตะฝะฐ ะฝะธะถะต, ั‡ั‚ะพะฑั‹ ะฟั€ะพะดะพะปะถะธั‚ัŒ, ะธะปะธ ะพัั‚ะฐะฒัŒั‚ะต ะฟะพะปั ะฟัƒัั‚ั‹ะผะธ, ั‡ั‚ะพะฑั‹ ะฟั€ะพะฟัƒัั‚ะธั‚ัŒ:", - "fp_emore": "ะตัั‚ัŒ ะตั‰ั‘ ะบะพะปะปะธะทะธะธ ะธะผั‘ะฝ, ะบะพั‚ะพั€ั‹ะต ั‚ั€ะตะฑัƒะตั‚ัั ะธัะฟั€ะฐะฒะธั‚ัŒ", - "fp_ok": "ัƒัะฟะตัˆะฝะพ ะฟะตั€ะตะฝะตัะตะฝะพ", - "fcp_ok": "ัƒัะฟะตัˆะฝะพ ัะบะพะฟะธั€ะพะฒะฐะฝะพ", - "fp_busy": "ะฟะตั€ะตะผะตั‰ะฐัŽ {0} ั„ะฐะนะปะพะฒ...\n\n{1}", - "fcp_busy": "ะบะพะฟะธั€ัƒัŽ {0} ั„ะฐะนะปะพะฒ...\n\n{1}", - "fp_abrt": "ะฟั€ะตั€ั‹ะฒะฐะฝะธะต...", //m - "fp_err": "ะพัˆะธะฑะบะฐ ะฟะตั€ะตะผะตั‰ะตะฝะธั:\n", - "fcp_err": "ะพัˆะธะฑะบะฐ ะบะพะฟะธั€ะพะฒะฐะฝะธั:\n", - "fp_confirm": "ะฟะตั€ะตะผะตัั‚ะธั‚ัŒ ัั‚ะธ {0} ั„ะฐะนะปะพะฒ ััŽะดะฐ?", - "fcp_confirm": "ัะบะพะฟะธั€ะพะฒะฐั‚ัŒ ัั‚ะธ {0} ั„ะฐะนะปะพะฒ ััŽะดะฐ?", - "fp_etab": 'ะพัˆะธะฑะบะฐ ั‡ั‚ะตะฝะธั ะฑัƒั„ะตั€ะฐ ะพะฑะผะตะฝะฐ ะธะท ะดั€ัƒะณะพะน ะฒะบะปะฐะดะบะธ ะฑั€ะฐัƒะทะตั€ะฐ', - "fp_name": "ะทะฐะณั€ัƒะถะฐัŽ ั„ะฐะนะป ั ะฒะฐัˆะตะณะพ ัƒัั‚ั€ะพะนัั‚ะฒะฐ. ะะฐะทะพะฒะธั‚ะต ะตะณะพ:", - "fp_both_m": '
    ะฒั‹ะฑะตั€ะธั‚ะต, ั‡ั‚ะพ ะฒัั‚ะฐะฒะธั‚ัŒ
    Enter = ะŸะตั€ะตะฝะตัั‚ะธ {0} ั„ะฐะนะปะพะฒ ะธะท ยซ{1}ยป\nESC = ะ—ะฐะณั€ัƒะทะธั‚ัŒ {2} ั„ะฐะนะปะพะฒ ั ะฒะฐัˆะตะณะพ ัƒัั‚ั€ะพะนัั‚ะฒะฐ', - "fcp_both_m": '
    ะฒั‹ะฑะตั€ะธั‚ะต, ั‡ั‚ะพ ะฒัั‚ะฐะฒะธั‚ัŒ
    Enter = ะกะบะพะฟะธั€ะพะฒะฐั‚ัŒ {0} ั„ะฐะนะปะพะฒ ะธะท ยซ{1}ยป\nESC = ะ—ะฐะณั€ัƒะทะธั‚ัŒ {2} ั„ะฐะนะปะพะฒ ั ะฒะฐัˆะตะณะพ ัƒัั‚ั€ะพะนัั‚ะฒะฐ', - "fp_both_b": 'ะŸะตั€ะตะผะตัั‚ะธั‚ัŒะ—ะฐะณั€ัƒะทะธั‚ัŒ', - "fcp_both_b": 'ะกะบะพะฟะธั€ะพะฒะฐั‚ัŒะ—ะฐะณั€ัƒะทะธั‚ัŒ', - - "mk_noname": "ะฒะฒะตะดะธั‚ะต ะธะผั ะฒ ั‚ะตะบัั‚ะพะฒะพะต ะฟะพะปะต ัะปะตะฒะฐ ะฟะตั€ะตะด ั‚ะตะผ, ะบะฐะบ ัั‚ะพ ะดะตะปะฐั‚ัŒ :p", - - "tv_load": "ะ—ะฐะณั€ัƒะถะฐัŽ ั‚ะตะบัั‚ะพะฒั‹ะน ะดะพะบัƒะผะตะฝั‚:\n\n{0}\n\n{1}% ({2} ะธะท {3} ะœะธะ‘ ะทะฐะณั€ัƒะถะตะฝะพ)", - "tv_xe1": "ะฝะต ัƒะดะฐะปะพััŒ ะทะฐะณั€ัƒะทะธั‚ัŒ ั‚ะตะบัั‚ะพะฒั‹ะน ั„ะฐะนะป:\n\nะพัˆะธะฑะบะฐ ", - "tv_xe2": "404, ั„ะฐะนะป ะฝะต ะฝะฐะนะดะตะฝ", - "tv_lst": "ัะฟะธัะพะบ ั‚ะตะบัั‚ะพะฒั‹ั… ั„ะฐะนะปะพะฒ ะฒ", - "tvt_close": "ะฒะตั€ะฝัƒั‚ัŒัั ะฒ ะพะฑะทะพั€ ะฟะฐะฟะบะธ$Nะ“ะพั€ัั‡ะฐั ะบะปะฐะฒะธัˆะฐ: M (ะธะปะธ Esc)\">โŒ ะทะฐะบั€ั‹ั‚ัŒ", - "tvt_dl": "ัะบะฐั‡ะฐั‚ัŒ ัั‚ะพั‚ ั„ะฐะนะป$Nะ“ะพั€ัั‡ะฐั ะบะปะฐะฒะธัˆะฐ: Y\">๐Ÿ’พ ัะบะฐั‡ะฐั‚ัŒ", - "tvt_prev": "ะฟะพะบะฐะทะฐั‚ัŒ ะฟั€ะตะดั‹ะดัƒั‰ะธะน ะดะพะบัƒะผะตะฝั‚$Nะ“ะพั€ัั‡ะฐั ะบะปะฐะฒะธัˆะฐ: i\">โฌ† ะฟั€ะตะด", - "tvt_next": "ะฟะพะบะฐะทะฐั‚ัŒ ัะปะตะดัƒัŽั‰ะธะน ะดะพะบัƒะผะตะฝั‚$Nะ“ะพั€ัั‡ะฐั ะบะปะฐะฒะธัˆะฐ: K\">โฌ‡ ัะปะตะด", - "tvt_sel": "ะฒั‹ะฑั€ะฐั‚ัŒ ะดะพะบัƒะผะตะฝั‚   ( ะดะปั ะฒั‹ั€ะตะทะฐะฝะธั / ะบะพะฟะธั€ะพะฒะฐะฝะธั / ัƒะดะฐะปะตะฝะธั / ... )$Nะ“ะพั€ัั‡ะฐั ะบะปะฐะฒะธัˆะฐ: S\">ะฒั‹ะด", - "tvt_edit": "ะพั‚ะบั€ั‹ั‚ัŒ ะดะพะบัƒะผะตะฝั‚ ะฒ ั‚ะตะบัั‚ะพะฒะพะผ ั€ะตะดะฐะบั‚ะพั€ะต$Nะ“ะพั€ัั‡ะฐั ะบะปะฐะฒะธัˆะฐ: E\">โœ๏ธ ะธะทะผะตะฝะธั‚ัŒ", - "tvt_tail": "ะฟั€ะพะฒะตั€ัั‚ัŒ ั„ะฐะนะป ะฝะฐ ะธะทะผะตะฝะตะฝะธั; ะฟะพะบะฐะทั‹ะฒะฐั‚ัŒ ะฝะพะฒั‹ะต ัั‚ั€ะพะบะธ ะฒ ั€ะตะฐะปัŒะฝะพะผ ะฒั€ะตะผะตะฝะธ\">๐Ÿ“ก ะพะฑะฝะพะฒะปัั‚ัŒ", - "tvt_wrap": "ะฟะตั€ะตะฝะพั ัะปะพะฒ\">โ†ต", - "tvt_atail": "ะฟั€ะธะบั€ะตะฟะธั‚ัŒ ะฒะธะด ะบ ะฝะธะทัƒ ัั‚ั€ะฐะฝะธั†ั‹\">โš“", - "tvt_ctail": "ะดะตะบะพะดะธั€ะพะฒะฐั‚ัŒ ั†ะฒะตั‚ะฐ ั‚ะตั€ะผะธะฝะฐะปะฐ (ansi escape codes)\">๐ŸŒˆ", - "tvt_ntail": "ะปะธะผะธั‚ ะฟั€ะพะบั€ัƒั‚ะบะธ (ะบะฐะบ ะผะฝะพะณะพ ะฑะฐะนั‚ ั‚ะตะบัั‚ะฐ ะดะตั€ะถะฐั‚ัŒ ะฒ ะฟะฐะผัั‚ะธ)", - - "m3u_add1": "ั‚ั€ะตะบ ะดะพะฑะฐะฒะปะตะฝ ะฒ ะฟะปะตะนะปะธัั‚ m3u", - "m3u_addn": "{0} ั‚ั€ะตะบะพะฒ ะดะพะฑะฐะฒะปะตะฝะพ ะฒ ะฟะปะตะนะปะธัั‚ m3u", - "m3u_clip": "ะฟะปะตะนะปะธัั‚ m3u ัะบะพะฟะธั€ะพะฒะฐะฝ ะฒ ะฑัƒั„ะตั€\n\nัะพะทะดะฐะนั‚ะต ั„ะฐะนะป ั ั€ะฐััˆะธั€ะตะฝะธะตะผ .m3u ะธ ะฒัั‚ะฐะฒัŒั‚ะต ั‚ะตะบัั‚ ั‚ัƒะดะฐ, ั‡ั‚ะพะฑั‹ ัะดะตะปะฐั‚ัŒ ะธะท ะฝะตะณะพ ะฟะปะตะนะปะธัั‚", - - "gt_vau": "ะฝะต ะฟะพะบะฐะทั‹ะฒะฐั‚ัŒ ะฒะธะดะตะพ, ั‚ะพะปัŒะบะพ ะฒะพัะฟั€ะพะธะทะฒะพะดะธั‚ัŒ ะฐัƒะดะธะพ\">๐ŸŽง", - "gt_msel": "ะฒะบะปัŽั‡ะธั‚ัŒ ั€ะตะถะธะผ ะฒั‹ะดะตะปะตะฝะธั; ะดะตั€ะถะธั‚ะต ctrl ะฟั€ะธ ะฝะฐะถะฐั‚ะธะธ ะดะปั ะธะฝะฒะตั€ั‚ะฐั†ะธะธ ะดะตะนัั‚ะฒะธั$N$N<em>ะบะพะณะดะฐ ะฐะบั‚ะธะฒะฝะพ: ะดะฒะฐะถะดั‹ ะบะปะธะบะฝะธั‚ะต ะฝะฐ ั„ะฐะนะปะต / ะฟะฐะฟะบะต, ั‡ั‚ะพะฑั‹ ะพั‚ะบั€ั‹ั‚ัŒ ะธั…</em>$N$Nะ“ะพั€ัั‡ะฐั ะบะปะฐะฒะธัˆะฐ: S\">ะฒั‹ะดะตะปะตะฝะธะต", - "gt_crop": "ะพะฑั€ะตะทะฐั‚ัŒ ะผะธะฝะธะฐั‚ัŽั€ั‹\">ะพะฑั€ะตะทะบะฐ", - "gt_3x": "ะผะธะฝะธะฐั‚ัŽั€ั‹ ะฒั‹ัะพะบะพะณะพ ั€ะฐะทั€ะตัˆะตะฝะธั\">3x", - "gt_zoom": "ั€ะฐะทะผะตั€", - "gt_chop": "ะดะปะธะฝะฐ ะธะผั‘ะฝ", - "gt_sort": "ัะพั€ั‚ะธั€ะพะฒะฐั‚ัŒ ะฟะพ", - "gt_name": "ะธะผะตะฝะธ", - "gt_sz": "ั€ะฐะทะผะตั€ัƒ", - "gt_ts": "ะดะฐั‚ะต", - "gt_ext": "ั‚ะธะฟัƒ", - "gt_c1": "ัƒะบะพั€ะพั‚ะธั‚ัŒ ะฝะฐะทะฒะฐะฝะธั ั„ะฐะนะปะพะฒ", - "gt_c2": "ัƒะดะปะธะฝะธั‚ัŒ ะฝะฐะทะฒะฐะฝะธั ั„ะฐะนะปะพะฒ", - - "sm_w8": "ะธั‰ะตะผ...", - "sm_prev": "ั€ะตะทัƒะปัŒั‚ะฐั‚ั‹ ะฟะพะธัะบะฐ ะฝะธะถะต - ะธะท ะฟั€ะตะดั‹ะดัƒั‰ะตะณะพ ะทะฐะฟั€ะพัะฐ:\n ", - "sl_close": "ะทะฐะบั€ั‹ั‚ัŒ ั€ะตะทัƒะปัŒั‚ะฐั‚ั‹ ะฟะพะธัะบะฐ", - "sl_hits": "ะฟะพะบะฐะท {0} ัะพะฒะฟะฐะดะตะฝะธะน", - "sl_moar": "ะทะฐะณั€ัƒะทะธั‚ัŒ ะฑะพะปัŒัˆะต", - - "s_sz": "ั€ะฐะทะผะตั€", - "s_dt": "ะดะฐั‚ะฐ", - "s_rd": "ะฟัƒั‚ัŒ", - "s_fn": "ะธะผั", - "s_ta": "ั‚ะตะณะธ", - "s_ua": "ะดะฐั‚ะฐโฌ†๏ธ", - "s_ad": "ะดั€ัƒะณะพะต", - "s_s1": "ะผะธะฝะธะผัƒะผ ะœะธะ‘", - "s_s2": "ะผะฐะบัะธะผัƒะผ ะœะธะ‘", - "s_d1": "ะผะธะฝ. iso8601", - "s_d2": "ะผะฐะบั. iso8601", - "s_u1": "ะทะฐะณั€ัƒะถะตะฝะพ ะฟะพัะปะต", - "s_u2": "ะธ/ะธะปะธ ะดะพ", - "s_r1": "ะฟัƒั‚ัŒ ัะพะดะตั€ะถะธั‚   (ั€ะฐะทะดะตะปะธั‚ัŒ ะฟั€ะพะฑะตะปะฐะผะธ)", - "s_f1": "ะธะผั ัะพะดะตั€ะถะธั‚   (ะดะปั ะธัะบะปัŽั‡ะตะฝะธั ะฟะธัะฐั‚ัŒ -nope)", - "s_t1": "ั‚ะตะณะธ ัะพะดะตั€ะถะฐั‚   (^=ะฝะฐั‡ะฐะปะพ, ะบะพะฝะตั†=$)", - "s_a1": "ัะฒะพะนัั‚ะฒะฐ ะผะตั‚ะฐะดะฐะฝะฝั‹ั…", - - "md_eshow": "ะฝะต ัƒะดะฐะปะพััŒ ะฟะพะบะฐะทะฐั‚ัŒ ", - "md_off": "[๐Ÿ“œั€ะธะดะผะธ] ะพั‚ะบะปัŽั‡ั‘ะฝ ะฒ [โš™๏ธ] -- ะดะพะบัƒะผะตะฝั‚ ัะบั€ั‹ั‚", - - "badreply": "ะžัˆะธะฑะบะฐ ะพะฑั€ะฐะฑะพั‚ะบะธ ะพั‚ะฒะตั‚ะฐ ัะตั€ะฒะตั€ะฐ", - - "xhr403": "403: ะ”ะพัั‚ัƒะฟ ะทะฐะฟั€ะตั‰ั‘ะฝ\n\nะฟะพะฟั€ะพะฑัƒะนั‚ะต ะฟะตั€ะตะทะฐะณั€ัƒะทะธั‚ัŒ ัั‚ั€ะฐะฝะธั†ัƒ, ะฒะพะทะผะพะถะฝะพ, ะฒะฐัˆะฐ ัะตััะธั ะธัั‚ะตะบะปะฐ", - "xhr0": "ะฝะตะธะทะฒะตัั‚ะฝะพ (ะฒะพะทะผะพะถะฝะพ, ะฟะพั‚ะตั€ัะฝะพ ัะพะตะดะธะฝะตะฝะธะต ั ัะตั€ะฒะตั€ะพะผ, ะปะธะฑะพ ะพะฝ ะพั‚ะบะปัŽั‡ั‘ะฝ)", - "cf_ok": "ะฟั€ะพัะธะผ ะฟั€ะพั‰ะตะฝะธั -- ัั€ะฐะฑะพั‚ะฐะปะฐ ะทะฐั‰ะธั‚ะฐ ะพั‚ DD" + wah + "oS\n\nะฒัั‘ ะดะพะปะถะฝะพ ะฒะตั€ะฝัƒั‚ัŒัั ะฒ ะฝะพั€ะผัƒ ั‡ะตั€ะตะท 30 ัะตะบ\n\nะตัะปะธ ะฝะธั‡ะตะณะพ ะฝะต ะฟั€ะพะธัั…ะพะดะธั‚ - ะฟะตั€ะตะทะฐะณั€ัƒะทะธั‚ะต ัั‚ั€ะฐะฝะธั†ัƒ", - "tl_xe1": "ะฝะต ัƒะดะฐะปะพััŒ ะฟะพะบะฐะทะฐั‚ัŒ ะฟะพะดะฟะฐะฟะบะธ:\n\nะพัˆะธะฑะบะฐ ", - "tl_xe2": "404: ะŸะฐะฟะบะฐ ะฝะต ะฝะฐะนะดะตะฝะฐ", - "fl_xe1": "ะฝะต ัƒะดะฐะปะพััŒ ะฟะพะบะฐะทะฐั‚ัŒ ั„ะฐะนะปั‹:\n\nะพัˆะธะฑะบะฐ ", - "fl_xe2": "404: ะŸะฐะฟะบะฐ ะฝะต ะฝะฐะนะดะตะฝะฐ", - "fd_xe1": "ะฝะต ัƒะดะฐะปะพััŒ ัะพะทะดะฐั‚ัŒ ะฟะพะดะฟะฐะฟะบัƒ:\n\nะพัˆะธะฑะบะฐ ", - "fd_xe2": "404: ะ ะพะดะธั‚ะตะปัŒัะบะฐั ะฟะฐะฟะบะฐ ะฝะต ะฝะฐะนะดะตะฝะฐ", - "fsm_xe1": "ะฝะต ัƒะดะฐะปะพััŒ ะพั‚ะฟั€ะฐะฒะธั‚ัŒ ัะพะพะฑั‰ะตะฝะธะต:\n\nะพัˆะธะฑะบะฐ ", - "fsm_xe2": "404: ะ ะพะดะธั‚ะตะปัŒัะบะฐั ะฟะฐะฟะบะฐ ะฝะต ะฝะฐะนะดะตะฝะฐ", - "fu_xe1": "ะฝะต ัƒะดะฐะปะพััŒ ัƒะดะฐะปะธั‚ัŒ ัะฟะธัะพะบ ั ัะตั€ะฒะตั€ะฐ:\n\nะพัˆะธะฑะบะฐ ", - "fu_xe2": "404: ะคะฐะนะป ะฝะต ะฝะฐะนะดะตะฝ??", - - "fz_tar": "ะฝะตัะถะฐั‚ั‹ะน ั„ะฐะนะป gnu-tar (linux / mac)", - "fz_pax": "ะฝะตัะถะฐั‚ั‹ะน pax-ั„ะพั€ะผะฐั‚ะธั€ะพะฒะฐะฝะฝั‹ะน tar (ะผะตะดะปะตะฝะฝะตะต)", - "fz_targz": "gnu-tar ั 3 ัƒั€ะพะฒะฝะตะผ ัะถะฐั‚ะธั gzip$N$Nะพะฑั‹ั‡ะฝะพ ัั‚ะพ ะพั‡ะตะฝัŒ ะผะตะดะปะตะฝะฝะพ,$Nะปัƒั‡ัˆะต ะธัะฟะพะปัŒะทะพะฒะฐั‚ัŒ ะฝะตัะถะฐั‚ั‹ะน tar", - "fz_tarxz": "gnu-tar ั 1 ัƒั€ะพะฒะฝะตะผ ัะถะฐั‚ะธั xz$N$Nะพะฑั‹ั‡ะฝะพ ัั‚ะพ ะพั‡ะตะฝัŒ ะผะตะดะปะตะฝะฝะพ,$Nะปัƒั‡ัˆะต ะธัะฟะพะปัŒะทะพะฒะฐั‚ัŒ ะฝะตัะถะฐั‚ั‹ะน tar", - "fz_zip8": "zip ั ะธะผะตะฝะฐะผะธ ะฟะพ utf8 (ะผะพะถะตั‚ ั€ะฐะฑะพั‚ะฐั‚ัŒ ะบั€ะธะฒะพ ะฝะฐ windows 7 ะธ ะฝะธะถะต)", - "fz_zipd": "zip ั ะธะผะตะฝะฐะผะธ ะฟะพ cp437, ะดะปั ะพั‡ะตะฝัŒ ัั‚ะฐั€ะพะณะพ ัะพั„ั‚ะฐ", - "fz_zipc": "cp437 ั ะฟั€ะตะดะฒะฐั€ะธั‚ะตะปัŒะฝั‹ะผ ะฒั‹ั‡ะธัะปะตะฝะธะตะผ crc32,$N ะดะปั MS-DOS PKZIP v2.04g (ะพะบั‚ัะฑั€ัŒ 1993)$N(ั‚ั€ะตะฑัƒะตั‚ ะฑะพะปัŒัˆะต ะฒั€ะตะผะตะฝะธ ะดะปั ะพะฑั€ะฐะฑะพั‚ะบะธ ะฟะตั€ะตะด ัะบะฐั‡ะธะฒะฐะฝะธะตะผ)", - - "un_m1": "ะฒั‹ ะผะพะถะตั‚ะต ัƒะดะฐะปะธั‚ัŒ ะฒะฐัˆะธ ะฝะตะดะฐะฒะฝะธะต ะทะฐะณั€ัƒะทะบะธ (ะธะปะธ ะพั‚ะผะตะฝะธั‚ัŒ ะฝะตะทะฐะฒะตั€ัˆั‘ะฝะฝั‹ะต) ะฝะธะถะต", - "un_upd": "ะพะฑะฝะพะฒะธั‚ัŒ", - "un_m4": "ะธะปะธ ะฟะพะดะตะปะธั‚ัŒัั ั„ะฐะนะปะฐะผะธ ัะฝะธะทัƒ:", - "un_ulist": "ะฟะพะบะฐะทะฐั‚ัŒ", - "un_ucopy": "ะบะพะฟะธั€ะพะฒะฐั‚ัŒ", - "un_flt": "ะพะฟั†ะธะพะฝะฐะปัŒะฝั‹ะน ั„ะธะปัŒั‚ั€:  ะฐะดั€ะตั ะดะพะปะถะตะฝ ัะพะดะตั€ะถะฐั‚ัŒ", - "un_fclr": "ะพั‡ะธัั‚ะธั‚ัŒ ั„ะธะปัŒั‚ั€", - "un_derr": 'ะพัˆะธะฑะบะฐ ัƒะดะฐะปะตะฝะธั:\n', - "un_f5": 'ั‡ั‚ะพ-ั‚ะพ ัะปะพะผะฐะปะพััŒ, ะฟะพะถะฐะปัƒะนัั‚ะฐ ะฟะตั€ะตะทะฐะณั€ัƒะทะธั‚ะต ัั‚ั€ะฐะฝะธั†ัƒ', - "un_uf5": "ะธะทะฒะธะฝะธั‚ะต, ะฝะพ ะฒะฐะผ ะฝัƒะถะฝะพ ะฟะตั€ะตะทะฐะณั€ัƒะทะธั‚ัŒ ัั‚ั€ะฐะฝะธั†ัƒ (F5 ะธะปะธ Ctrl+R) ะฟะตั€ะตะด ั‚ะตะผ, ะบะฐะบ ะพั‚ะผะตะฝะธั‚ัŒ ัั‚ัƒ ะทะฐะณั€ัƒะทะบัƒ", - "un_nou": 'ะฒะฝะธะผะฐะฝะธะต: ัะตั€ะฒะตั€ ัะปะธัˆะบะพะผ ะฝะฐะณั€ัƒะถะตะฝ, ั‡ั‚ะพะฑั‹ ะฟะพะบะฐะทะฐั‚ัŒ ะฝะตะทะฐะฒะตั€ัˆั‘ะฝะฝั‹ะต ะทะฐะณั€ัƒะทะบะธ; ะฝะฐะถะผะธั‚ะต ะฝะฐ ััั‹ะปะบัƒ "ะพะฑะฝะพะฒะปะตะฝะธั" ั‡ะตั€ะตะท ะฟะฐั€ัƒ ัะตะบัƒะฝะด', - "un_noc": 'ะฒะฝะธะผะฐะฝะธะต: ัƒะดะฐะปะตะฝะธะต ัƒะถะต ะทะฐะณั€ัƒะถะตะฝะฝั‹ั… ั„ะฐะนะปะพะฒ ะทะฐะฟั€ะตั‰ะตะฝะพ ะบะพะฝั„ะธะณัƒั€ะฐั†ะธะตะน ัะตั€ะฒะตั€ะฐ', - "un_max": "ะฟะพะบะฐะทะฐะฝั‹ ะฟะตั€ะฒั‹ะต 2000 ั„ะฐะนะปะพะฒ (ะธัะฟะพะปัŒะทัƒะนั‚ะต ั„ะธะปัŒั‚ั€)", - "un_avail": "{0} ะฝะตะดะฐะฒะฝะธั… ะทะฐะณั€ัƒะทะพะบ ะผะพะถะตั‚ ะฑั‹ั‚ัŒ ัƒะดะฐะปะตะฝะพ
    {1} ะฝะตะทะฐะฒะตั€ัˆั‘ะฝะฝั‹ั… ะผะพะถะตั‚ ะฑั‹ั‚ัŒ ะพั‚ะผะตะฝะตะฝะพ", - "un_m2": "ะพั‚ัะพั€ั‚ะธั€ะพะฒะฐะฝะพ ะฟะพ ะฒั€ะตะผะตะฝะธ ะทะฐะณั€ัƒะทะบะธ; ัะฝะฐั‡ะฐะปะฐ ัะฐะผั‹ะต ะฟะพัะปะตะดะฝะธะต:", - "un_no1": "ั…ะฐ, ะฟะพะฒะตั€ะธะป! ะดะพัั‚ะฐั‚ะพั‡ะฝะพ ัะฒะตะถะธั… ะทะฐะณั€ัƒะทะพะบ ะตั‰ั‘ ะฝะตั‚", - "un_no2": "ั…ะฐ, ะฟะพะฒะตั€ะธะป! ะดะพัั‚ะฐั‚ะพั‡ะฝะพ ัะฒะตะถะธั… ะทะฐะณั€ัƒะทะพะบ, ัะพะพั‚ะฒะตั‚ัั‚ะฒัƒัŽั‰ะธั… ั„ะธะปัŒั‚ั€ัƒ, ะตั‰ั‘ ะฝะตั‚", - "un_next": "ัƒะดะฐะปะธั‚ัŒ ัะปะตะดัƒัŽั‰ะธะต {0} ั„ะฐะนะปะพะฒ ะฝะธะถะต", - "un_abrt": "ะพั‚ะผะตะฝะธั‚ัŒ", - "un_del": "ัƒะดะฐะปะธั‚ัŒ", - "un_m3": "ะทะฐะณั€ัƒะถะฐัŽ ะฒะฐัˆะธ ะฝะตะดะฐะฒะฝะธะต ะทะฐะณั€ัƒะทะบะธ...", - "un_busy": "ัƒะดะฐะปััŽ {0} ั„ะฐะนะปะพะฒ...", - "un_clip": "{0} ััั‹ะปะพะบ ัะบะพะฟะธั€ะพะฒะฐะฝะพ ะฒ ะฑัƒั„ะตั€", - - "u_https1": "ะฒะฐะผ ัั‚ะพะธั‚", - "u_https2": "ะฒะบะปัŽั‡ะธั‚ัŒ https", - "u_https3": "ะดะปั ะปัƒั‡ัˆะตะน ะฟั€ะพะธะทะฒะพะดะธั‚ะตะปัŒะฝะพัั‚ะธ", - "u_ancient": 'ัƒ ะฒะฐั ะดะตะนัั‚ะฒะธั‚ะตะปัŒะฝะพ ะฐะฝั‚ะธะบะฒะฐั€ะฝั‹ะน ะฑั€ะฐัƒะทะตั€ -- ะฒะพะทะผะพะถะฝะพ, ัั‚ะพะธั‚ ะธัะฟะพะปัŒะทะพะฒะฐั‚ัŒ bup', - "u_nowork": "ั‚ั€ะตะฑัƒะตั‚ัั firefox 53+, chrome 57+ ะธะปะธ iOS 11+", - "tail_2old": "ั‚ั€ะตะฑัƒะตั‚ัั firefox 105+, chrome 71+ ะธะปะธ iOS 14.5+", - "u_nodrop": 'ะฒะฐัˆ ะฑั€ะฐัƒะทะตั€ ัะปะธัˆะบะพะผ ัั‚ะฐั€ั‹ะน ะดะปั ะทะฐะณั€ัƒะทะบะธ ั‡ะตั€ะตะท ะฟะตั€ะตั‚ะฐัะบะธะฒะฐะฝะธะต', - "u_notdir": "ัั‚ะพ ะฝะต ะฟะฐะฟะบะฐ!\n\nะฒะฐัˆ ะฑั€ะฐัƒะทะตั€ ัะปะธัˆะบะพะผ ัั‚ะฐั€ั‹ะน,\nะธัะฟะพะปัŒะทัƒะนั‚ะต ะฟะตั€ะตั‚ะฐัะบะธะฒะฐะฝะธะต", - "u_uri": "ั‡ั‚ะพะฑั‹ ะฟะตั€ะตั‚ะฐั‰ะธั‚ัŒ ะบะฐั€ั‚ะธะฝะบัƒ ะธะท ะดั€ัƒะณะธั… ะพะบะพะฝ ะฑั€ะฐัƒะทะตั€ะฐ,\nะพั‚ะฟัƒัั‚ะธั‚ะต ะตั‘ ะฝะฐ ะฑะพะปัŒัˆัƒัŽ ะบะฝะพะฟะบัƒ ะทะฐะณั€ัƒะทะบะธ", - "u_enpot": 'ะฟะตั€ะตะบะปัŽั‡ะธั‚ัŒัั ะฝะฐ ะฟั€ะพัั‚ะพะน ะธะฝั‚ะตั€ั„ะตะนั (ะผะพะถะตั‚ ัƒัะบะพั€ะธั‚ัŒ ะทะฐะณั€ัƒะทะบัƒ)', - "u_depot": 'ะฟะตั€ะตะบะปัŽั‡ะธั‚ัŒัั ะฝะฐ ะผะพะดะฝั‹ะน ะธะฝั‚ะตั€ั„ะตะนั (ะผะพะถะตั‚ ะทะฐะผะตะดะปะธั‚ัŒ ะทะฐะณั€ัƒะทะบัƒ)', - "u_gotpot": 'ะฟะตั€ะตะบะปัŽั‡ะฐัŽััŒ ะฝะฐ ะฟั€ะพัั‚ะพะน ะธะฝั‚ะตั€ั„ะตั ะดะปั ัƒัะบะพั€ะตะฝะธั ะทะฐะณั€ัƒะทะบะธ,\n\nะผะพะถะตั‚ะต ะฟะตั€ะตะบะปัŽั‡ะธั‚ัŒัั ะพะฑั€ะฐั‚ะฝะพ, ะตัะปะธ ั…ะพั‚ะธั‚ะต!', - "u_pott": "

    ั„ะฐะนะปั‹:   {0} ะทะฐะฒะตั€ัˆะตะฝะพ,   {1} ะพัˆะธะฑะพะบ,   {2} ะทะฐะณั€ัƒะถะฐัŽั‚ัั,   {3} ะฒ ะพั‡ะตั€ะตะดะธ

    ", - "u_ever": "ัั‚ะพ ัƒะฟั€ะพั‰ั‘ะฝะฝั‹ะน ะทะฐะณั€ัƒะทั‡ะธะบ; up2k ั‚ั€ะตะฑัƒะตั‚ ั…ะพั‚ั ะฑั‹
    chrome 21 // firefox 13 // edge 12 // opera 12 // safari 5.1", - "u_su2k": 'ัั‚ะพ ัƒะฟั€ะพั‰ั‘ะฝะฝั‹ะน ะทะฐะณั€ัƒะทั‡ะธะบ; up2k ะปัƒั‡ัˆะต', - "u_uput": 'ัƒะฒะตะปะธั‡ะธั‚ัŒ ัะบะพั€ะพัั‚ัŒ (ะฟั€ะพะฟัƒัะบ ะฟะพะดัั‡ั‘ั‚ะฐ ะบะพะฝั‚ั€ะพะปัŒะฝั‹ั… ััƒะผะผ)', - "u_ewrite": 'ัƒ ะฒะฐั ะฝะตั‚ ะฟั€ะฐะฒ ะฝะฐ ะทะฐะฟะธััŒ ะฒ ัั‚ัƒ ะฟะฐะฟะบัƒ', - "u_eread": 'ัƒ ะฒะฐั ะฝะตั‚ ะฟั€ะฐะฒ ะฝะฐ ั‡ั‚ะตะฝะธะต ะธะท ัั‚ะพะน ะฟะฐะฟะบะธ', - "u_enoi": 'ะฟะพะธัะบ ั„ะฐะนะปะพะฒ ะฒั‹ะบะปัŽั‡ะตะฝ ะฝะฐัั‚ั€ะพะนะบะฐะผะธ ัะตั€ะฒะตั€ะฐ', - "u_enoow": "ะฟะตั€ะตะทะฐะฟะธััŒ ะทะดะตััŒ ะฝะต ั€ะฐะฑะพั‚ะฐะตั‚; ั‚ั€ะตะฑัƒัŽั‚ัั ะฟั€ะฐะฒะฐ ะฝะฐ ัƒะดะฐะปะตะฝะธะต", - "u_badf": 'ะญั‚ะธ {0} ะธะท {1} ั„ะฐะนะปะพะฒ ะฑั‹ะปะธ ะฟั€ะพะฟัƒั‰ะตะฝั‹, ะฒะตั€ะพัั‚ะฝะพ, ะธะท-ะทะฐ ะฝะฐัั‚ั€ะพะตะบ ะดะพัั‚ัƒะฟะฐ ะฒ ั„ะฐะนะปะพะฒะพะน ัะธัั‚ะตะผะต:\n\n', - "u_blankf": 'ะญั‚ะธ {0} ะธะท {1} ั„ะฐะนะปะพะฒ ะฟัƒัั‚ั‹ะต; ะฒัั‘ ั€ะฐะฒะฝะพ ะทะฐะณั€ัƒะทะธั‚ัŒ?\n\n', - "u_applef": 'ะญั‚ะธ {0} ะธะท {1} ั„ะฐะนะปะพะฒ, ะฒะตั€ะพัั‚ะฝะพ, ะฝะตะถะตะปะฐั‚ะตะปัŒะฝั‹;\nะะฐะถะผะธั‚ะต OK/Enter, ั‡ั‚ะพะฑั‹ ะŸะ ะžะŸะฃะกะขะ˜ะขะฌ ะธั…,\nะะฐะถะผะธั‚ะต ะžั‚ะผะตะฝะฐ/ESC, ั‡ั‚ะพะฑั‹ ะฟั€ะพะธะณะฝะพั€ะธั€ะพะฒะฐั‚ัŒ ัะพะพะฑั‰ะตะฝะธะต ะธ ะ—ะะ“ะ ะฃะ—ะ˜ะขะฌ ะธั…:\n\n', - "u_just1": '\nะ’ะพะทะผะพะถะฝะพ, ะฑัƒะดะตั‚ ะปัƒั‡ัˆะต, ะตัะปะธ ะฒั‹ ะฒั‹ะฑะตั€ะตั‚ะต ั‚ะพะปัŒะบะพ ะพะดะธะฝ ั„ะฐะนะป', - "u_ff_many": "ะตัะปะธ ะฒั‹ ะธัะฟะพะปัŒะทัƒะตั‚ะต Linux / MacOS / Android, ั‚ะพะณะดะฐ ั‚ะฐะบะพะต ะบะพะปะธั‡ะตัั‚ะฒะพ ั„ะฐะนะปะพะฒ ะผะพะถะตั‚ ะบั€ะฐัˆะฝัƒั‚ัŒ Firefox!\nะฒ ั‚ะฐะบะพะผ ัะปัƒั‡ะฐะต ะฟะพะฟั€ะพะฑัƒะนั‚ะต ัะฝะพะฒะฐ (ะธะปะธ ะธัะฟะพะปัŒะทัƒะนั‚ะต Chrome).", - "u_up_life": "ะญั‚ะฐ ะทะฐะณั€ัƒะทะบะฐ ะฑัƒะดะตั‚ ัƒะดะฐะปะตะฝะฐ ั ัะตั€ะฒะตั€ะฐ\nั‡ะตั€ะตะท {0} ะฟะพัะปะต ะตั‘ ะทะฐะฒะตั€ัˆะตะฝะธั", - "u_asku": 'ะทะฐะณั€ัƒะทะธั‚ัŒ ัั‚ะธ {0} ั„ะฐะนะปะพะฒ ะฒ {1}', - "u_unpt": "ะฒั‹ ะผะพะถะตั‚ะต ะพั‚ะผะตะฝะธั‚ัŒ / ัƒะดะฐะปะธั‚ัŒ ัั‚ัƒ ะทะฐะณั€ัƒะทะบัƒ ั ะฟะพะผะพั‰ัŒัŽ ๐Ÿงฏ ัะฒะตั€ั…ัƒ ัะปะตะฒะฐ", - "u_bigtab": 'ะฑัƒะดะตั‚ ะฟะพะบะฐะทะฐะฝะพ {0} ั„ะฐะนะปะพะฒ\n\nัั‚ะพ ะผะพะถะตั‚ ะบั€ะฐัˆะฝัƒั‚ัŒ ะฑั€ะฐัƒะทะตั€, ะฒั‹ ัƒะฒะตั€ะตะฝั‹?', - "u_scan": 'ะกะบะฐะฝะธั€ัƒัŽ ั„ะฐะนะปั‹...', - "u_dirstuck": 'ัะบะฐะฝะตั€ ะฟะฐะฟะบะธ ะทะฐะฒะธั ะฟั€ะธ ะฟะพะฟั‹ั‚ะบะต ะฟะพะปัƒั‡ะธั‚ัŒ ะดะพัั‚ัƒะฟ ะบ ัะปะตะดัƒัŽั‰ะธะผ {0} ั„ะฐะนะปะฐะผ; ะฑัƒะดะตั‚ ะฟั€ะพะฟัƒั‰ะตะฝะพ:', - "u_etadone": 'ะ“ะพั‚ะพะฒะพ ({0}, {1} ั„ะฐะนะปะพะฒ)', - "u_etaprep": '(ะฟะพะดะณะพั‚ะฐะฒะปะธะฒะฐัŽ ะทะฐะณั€ัƒะทะบัƒ)', - "u_hashdone": 'ั…ะตัˆะธั€ะพะฒะฐะฝะธะต ะฒั‹ะฟะพะปะฝะตะฝะพ', - "u_hashing": 'ั…ะตัˆ', - "u_hs": 'ะฟะพะดะณะพั‚ะพะฒะบะฐ ะบ ั…ะตัˆะธั€ะพะฒะฐะฝะธัŽ...', - "u_started": "ั„ะฐะนะปั‹ ะทะฐะณั€ัƒะถะฐัŽั‚ัั; ะฟะพะดั€ะพะฑะฝะตะต ะฒ [๐Ÿš€]", - "u_dupdefer": "ะดัƒะฑะปะธะบะฐั‚; ะฑัƒะดะตั‚ ะพะฑั€ะฐะฑะพั‚ะฐะฝ ะฟะพัะปะต ะฒัะตั… ะพัั‚ะฐะปัŒะฝั‹ั… ั„ะฐะนะปะพะฒ", - "u_actx": "ะฝะฐะถะผะธั‚ะต ะฝะฐ ัั‚ะพั‚ ั‚ะตะบัั‚, ั‡ั‚ะพะฑั‹ ะฟั€ะตะดะพั‚ะฒั€ะฐั‚ะธั‚ัŒ
    ะฟะฐะดะตะฝะธะต ะฟั€ะพะธะทะฒะพะดะธั‚ะตะปัŒะฝะพัั‚ะธ ะฟั€ะธ ะฟั€ะพัะผะพั‚ั€ะต ะดั€ัƒะณะธั… ะฒะบะปะฐะดะพะบ / ะพะบะพะฝ", - "u_fixed": "ะžะบะตะน!  ะ˜ัะฟั€ะฐะฒะปะตะฝะพ ๐Ÿ‘", - "u_cuerr": "ะฝะต ัƒะดะฐะปะพััŒ ะทะฐะณั€ัƒะทะธั‚ัŒ ั„ั€ะฐะณะผะตะฝั‚ {0} ะธะท {1};\nะฒะตั€ะพัั‚ะฝะพ, ะฝะต ะบั€ะธั‚ะธั‡ะฝะพ - ะฟั€ะพะดะพะปะถะฐัŽ\n\nั„ะฐะนะป: {2}", - "u_cuerr2": "ะพั‚ะบะฐะท ะฒ ะทะฐะณั€ัƒะทะบะต (ั„ั€ะฐะณะผะตะฝั‚ {0} ะธะท {1});\nะฟะพะฟั‹ั‚ะฐัŽััŒ ะฟะพะฒั‚ะพั€ะธั‚ัŒ ะฟะพะทะถะต\n\nั„ะฐะนะป: {2}\n\nะพัˆะธะฑะบะฐ ", - "u_ehstmp": "ะฟะพะฟั‹ั‚ะฐัŽััŒ ะฟะพะฒั‚ะพั€ะธั‚ัŒ ะฟะพะทะถะต; ะฟะพะดั€ะพะฑะฝะตะต ัะฝะธะทัƒ ัะฟั€ะฐะฒะฐ", - "u_ehsfin": "ะพั‚ะบะฐะท ะฒ ะทะฐะฟั€ะพัะต ะทะฐะฒะตั€ัˆะตะฝะธั ะทะฐะณั€ัƒะทะบะธ; ะฟะพะฒั‚ะพั€ััŽ...", - "u_ehssrch": "ะพั‚ะบะฐะท ะฒ ะทะฐะฟั€ะพัะต ะฟะพะธัะบะฐ; ะฟะพะฒั‚ะพั€ััŽ...", - "u_ehsinit": "ะพั‚ะบะฐะท ะฒ ะทะฐะฟั€ะพัะต ะฝะฐั‡ะฐะปะฐ ะทะฐะณั€ัƒะทะบะธ; ะฟะพะฒั‚ะพั€ััŽ...", - "u_eneths": "ะพัˆะธะฑะบะฐ ะฟะพะดะบะปัŽั‡ะตะฝะธั ะฒะพ ะฒั€ะตะผั ะฟะพะดะณะพั‚ะพะฒะบะธ ะทะฐะณั€ัƒะทะบะธ; ะฟะพะฒั‚ะพั€ััŽ...", - "u_enethd": "ะพัˆะธะฑะบะฐ ะฟะพะดะบะปัŽั‡ะตะฝะธั ะฒะพ ะฒั€ะตะผั ะฟั€ะพะฒะตั€ะบะธ ััƒั‰ะตัั‚ะฒะพะฒะฐะฝะธั ั†ะตะปะตะฒะพะณะพ ั„ะฐะนะปะฐ; ะฟะพะฒั‚ะพั€ััŽ...", - "u_cbusy": "ะพะถะธะดะฐัŽ ะฒะพะทะฒั€ะฐั‰ะตะฝะธั ะดะพัั‚ัƒะฟะฐ ะบ ัะตั€ะฒะตั€ัƒ ะฟะพัะปะต ะพัˆะธะฑะบะธ ะฟะพะดะบะปัŽั‡ะตะฝะธั...", - "u_ehsdf": "ะฝะฐ ัะตั€ะฒะตั€ะต ะทะฐะบะพะฝั‡ะธะปะพััŒ ะผะตัั‚ะพ!\n\nะฑัƒะดัƒ ะฟั‹ั‚ะฐั‚ัŒัั ะฟะพะฒั‚ะพั€ะธั‚ัŒ, ะฝะฐ ัะปัƒั‡ะฐะน ะตัะปะธ\nะผะตัั‚ะพ ะฑัƒะดะตั‚ ะพัะฒะพะฑะพะถะดะตะฝะพ", - "u_emtleak1": "ะบะฐะถะตั‚ัั, ัƒ ะฒะฐัˆะตะณะพ ะฑั€ะฐัƒะทะตั€ะฐ ะผะพะถะตั‚ ะฑั‹ั‚ัŒ ัƒั‚ะตั‡ะบะฐ ะฟะฐะผัั‚ะธ;\nะฟะพะถะฐะปัƒะนัั‚ะฐ,", - "u_emtleak2": ' ะฟะตั€ะตะนะดะธั‚ะต ะฝะฐ https (ั€ะตะบะพะผะตะฝะดะพะฒะฐะฝะพ) ะธะปะธ ', - "u_emtleak3": ' ', - "u_emtleakc": 'ะฟะพะฟั€ะพะฑัƒะนั‚ะต ัะดะตะปะฐั‚ัŒ ั‚ะฐะบ:\n
    • ะฝะฐะถะผะธั‚ะต F5 ะดะปั ะพะฑะฝะพะฒะปะตะฝะธั ัั‚ั€ะฐะฝะธั†ั‹
    • ะทะฐั‚ะตะผ ะพั‚ะบะปัŽั‡ะธั‚ะต ะพะฟั†ะธัŽ  ะผะฟ  ะฒ  โš™๏ธ ะฝะฐัั‚ั€ะพะนะบะฐั…
    • ะธ ะฟะพะฒั‚ะพั€ะธั‚ะต ะฟะพะฟั‹ั‚ะบัƒ ะทะฐะณั€ัƒะทะบะธ
    ะžะฝะฐ ะฑัƒะดะตั‚ ั‡ัƒั‚ัŒ ะผะตะดะปะตะฝะฝะตะต, ะฝะพ ั‡ั‚ะพ ะฟะพะดะตะปะฐั‚ัŒ.\nะ˜ะทะฒะธะฝะธั‚ะต ะทะฐ ะฝะตัƒะดะพะฑัั‚ะฒะฐ!\n\nPS: ะฒ chrome v107 ัั‚ะพ ะธัะฟั€ะฐะฒะธะปะธ', - "u_emtleakf": 'ะฟะพะฟั€ะพะฑัƒะนั‚ะต ัะดะตะปะฐั‚ัŒ ั‚ะฐะบ:\n
    • ะฝะฐะถะผะธั‚ะต F5 ะดะปั ะพะฑะฝะพะฒะปะตะฝะธั ัั‚ั€ะฐะฝะธั†ั‹
    • ะทะฐั‚ะตะผ ะฒะบะปัŽั‡ะธั‚ะต ะพะฟั†ะธัŽ ๐Ÿฅ” (ะฟั€ะพัั‚ะพะน ะธะฝั‚ะตั€ั„ะตะนั) ะฒะพ ะฒะบะปะฐะดะบะต ะทะฐะณั€ัƒะทะพะบ
    • ะธ ะฟะพะฒั‚ะพั€ะธั‚ะต ะฟะพะฟั‹ั‚ะบัƒ
    \nPS: firefox ัะบะพั€ะพ ะดะพะปะถะฝั‹ ะฟะพั‡ะธะฝะธั‚ัŒ ะฒ ัั‚ะพะผ ะฐัะฟะตะบั‚ะต', - "u_s404": "ะฝะต ะฝะฐะนะดะตะฝะพ ะฝะฐ ัะตั€ะฒะตั€ะต", - "u_expl": "ะพะฑัŠััะฝะธั‚ัŒ", - "u_maxconn": "ะฒ ะฑะพะปัŒัˆะธะฝัั‚ะฒะต ะฑั€ะฐัƒะทะตั€ะพะฒ ัั‚ะพ ะฝะตะปัŒะทั ะฟะพะดะฝัั‚ัŒ ะฒั‹ัˆะต 6, ะฝะพ firefox ะฟะพะทะฒะพะปัะตั‚ ัƒะฒะตะปะธั‡ะธั‚ัŒ ะปะธะผะธั‚ ั ะฟะพะผะพั‰ัŒัŽ connections-per-server ะฒ about:config", - "u_tu": '

    ะ’ะะ˜ะœะะะ˜ะ•: ะฐะบั‚ะธะฒะตะฝ ั€ะตะถะธะผ ั‚ัƒั€ะฑะพ,  ะบะปะธะตะฝั‚ ะผะพะถะตั‚ ะธะณะฝะพั€ะธั€ะพะฒะฐั‚ัŒ ะฝะตะทะฐะฒะตั€ัˆั‘ะฝะฝั‹ะต ะทะฐะณั€ัƒะทะบะธ; ะฟะพะดั€ะพะฑะฝะตะต ะฟั€ะธ ะฝะฐะฒะตะดะตะฝะธะธ ะฝะฐ ะบะฝะพะฟะบัƒ ั‚ัƒั€ะฑะพ

    ', - "u_ts": '

    ะ’ะะ˜ะœะะะ˜ะ•: ะฐะบั‚ะธะฒะตะฝ ั€ะตะถะธะผ ั‚ัƒั€ะฑะพ,  ั€ะตะทัƒะปัŒั‚ะฐั‚ั‹ ะฟะพะธัะบะฐ ะผะพะณัƒั‚ ะฑั‹ั‚ัŒ ะฝะตะบะพั€ั€ะตะบั‚ะฝั‹ะผะธ; ะฟะพะดั€ะพะฑะฝะตะต ะฟั€ะธ ะฝะฐะฒะตะดะตะฝะธะธ ะฝะฐ ะบะฝะพะฟะบัƒ ั‚ัƒั€ะฑะพ

    ', - "u_turbo_c": "ั€ะตะถะธะผ ั‚ัƒั€ะฑะพ ะพั‚ะบะปัŽั‡ั‘ะฝ ัะตั€ะฒะตั€ะพะผ", - "u_turbo_g": "ะพั‚ะบะปัŽั‡ะฐัŽ ั‚ัƒั€ะฑะพ, ะฟะพัะบะพะปัŒะบัƒ ัƒ ะฒะฐั ะฝะตั‚ ะฟั€ะฐะฒ\nะฝะฐ ะฟั€ะพัะผะพั‚ั€ ะฟะฐะฟะพะบ ะฒ ัั‚ะพะผ ั…ั€ะฐะฝะธะปะธั‰ะต", - "u_life_cfg": 'ะฐะฒั‚ะพัƒะดะฐะปะตะฝะธะต ั‡ะตั€ะตะท ะผะธะฝ (ะธะปะธ ั‡ะฐัะพะฒ)', - "u_life_est": 'ะทะฐะณั€ัƒะทะบะฐ ะฑัƒะดะตั‚ ัƒะดะฐะปะตะฝะฐ ---', - "u_life_max": 'ัั‚ะฐ ะฟะฐะฟะบะฐ ั‚ั€ะตะฑัƒะตั‚\nะฐะฒั‚ะพัƒะดะฐะปะตะฝะธั ั„ะฐะนะปะพะฒ ั‡ะตั€ะตะท {0}', - "u_unp_ok": 'ัƒะดะฐะปะตะฝะธะต ั€ะฐะทั€ะตัˆะตะฝะพ ะดะปั {0}', - "u_unp_ng": 'ัƒะดะฐะปะตะฝะธะต ะะ• ะฑัƒะดะตั‚ ั€ะฐะทั€ะตัˆะตะฝะพ', - "ue_ro": 'ะฒะฐัˆ ะดะพัั‚ัƒะฟ ะบ ะดะฐะฝะฝะพะน ะฟะฐะฟะบะต - ั‚ะพะปัŒะบะพ ั‡ั‚ะตะฝะธะต\n\n', - "ue_nl": 'ะฝะฐ ะดะฐะฝะฝั‹ะน ะผะพะผะตะฝั‚ ะฒั‹ ะฝะต ะฐะฒั‚ะพั€ะธะทะพะฒะฐะฝั‹', - "ue_la": 'ะฒั‹ ะฐะฒั‚ะพั€ะธะทะพะฒะฐะฝั‹ ะบะฐะบ "{0}"', - "ue_sr": 'ัะตะนั‡ะฐั ะฒั‹ ะฒ ั€ะตะถะธะผะต ะฟะพะธัะบะฐ ั„ะฐะนะปะพะฒ\n\nะฟะตั€ะตะนะดะธั‚ะต ะฒ ั€ะตะถะธะผ ะทะฐะณั€ัƒะทะบะธ, ะฝะฐะถะฐะฒ ะฝะฐ ะปัƒะฟัƒ ๐Ÿ”Ž (ั€ัะดะพะผ ั ะพะณั€ะพะผะฝะพะน ะบะฝะพะฟะบะพะน ะ˜ะกะšะะขะฌ), ะธ ะฟะพะฟั€ะพะฑัƒะนั‚ะต ัะฝะพะฒะฐ\n\nะธะทะฒะธะฝะธั‚ะต', - "ue_ta": 'ะฟะพะฟั€ะพะฑัƒะนั‚ะต ะทะฐะณั€ัƒะทะธั‚ัŒ ัะฝะพะฒะฐ, ั‚ะตะฟะตั€ัŒ ะดะพะปะถะฝะพ ัั€ะฐะฑะพั‚ะฐั‚ัŒ', - "ue_ab": "ัั‚ะพั‚ ั„ะฐะนะป ัƒะถะต ะทะฐะณั€ัƒะถะฐัŽั‚ ะฒ ะดั€ัƒะณัƒัŽ ะฟะฐะฟะบัƒ, ั‚ะฐ ะทะฐะณั€ัƒะทะบะฐ ะดะพะปะถะฝะฐ ะฑั‹ั‚ัŒ ะทะฐะฒะตั€ัˆะตะฝะฐ ะฟะตั€ะตะด ั‚ะตะผ, ะบะฐะบ ะทะฐะณั€ัƒะทะธั‚ัŒ ัั‚ะพั‚ ะถะต ั„ะฐะนะป ะฒ ะดั€ัƒะณะพะต ะผะตัั‚ะพ.\n\nะ’ั‹ ะผะพะถะตั‚ะต ะพั‚ะผะตะฝะธั‚ัŒ ัะฒะพัŽ ะทะฐะณั€ัƒะทะบัƒ ั‡ะตั€ะตะท ๐Ÿงฏ ัะฒะตั€ั…ัƒ ัะปะตะฒะฐ", - "ur_1uo": "OK: ะคะฐะนะป ัƒัะฟะตัˆะฝะพ ะทะฐะณั€ัƒะถะตะฝ", - "ur_auo": "OK: ะ’ัะต {0} ั„ะฐะนะปะพะฒ ัƒัะฟะตัˆะฝะพ ะทะฐะณั€ัƒะถะตะฝั‹", - "ur_1so": "OK: ะคะฐะนะป ะฝะฐะนะดะตะฝ ะฝะฐ ัะตั€ะฒะตั€ะต", - "ur_aso": "OK: ะ’ัะต {0} ั„ะฐะนะปะพะฒ ะฝะฐะนะดะตะฝั‹ ะฝะฐ ัะตั€ะฒะตั€ะต", - "ur_1un": "ะ—ะฐะณั€ัƒะทะบะฐ ะฝะต ัƒะดะฐะปะฐััŒ, ะธะทะฒะธะฝะธั‚ะต", - "ur_aun": "ะ’ัะต {0} ะทะฐะณั€ัƒะทะพะบ ะฝะต ัƒะดะฐะปะธััŒ, ะธะทะฒะธะฝะธั‚ะต", - "ur_1sn": "ะคะฐะนะป ะะ• ะฑั‹ะป ะฝะฐะนะดะตะฝ ะฝะฐ ัะตั€ะฒะตั€ะต", - "ur_asn": "ะ’ัะต {0} ั„ะฐะนะปะพะฒ ะะ• ะฑั‹ะปะพ ะฝะฐะนะดะตะฝะพ ะฝะฐ ัะตั€ะฒะตั€ะต", - "ur_um": "ะ—ะฐะฒะตั€ัˆะตะฝะพ;\n{0} ัƒัะฟะตัˆะฝะพ,\n{1} ะพัˆะธะฑะพะบ, ะธะทะฒะธะฝะธั‚ะต", - "ur_sm": "ะ—ะฐะฒะตั€ัˆะตะฝะพ;\n{0} ั„ะฐะนะปะพะฒ ะฝะฐะนะดะตะฝะพ ะฝะฐ ัะตั€ะฒะตั€ะต,\n{1} ั„ะฐะนะปะพะฒ ะะ• ะฝะฐะนะดะตะฝะพ ะฝะฐ ัะตั€ะฒะตั€ะต", - - "lang_set": "ะฟะตั€ะตะทะฐะณั€ัƒะทะธั‚ัŒ ัั‚ั€ะฐะฝะธั†ัƒ, ั‡ั‚ะพะฑั‹ ะฟั€ะธะผะตะฝะธั‚ัŒ ะธะทะผะตะฝะตะฝะธั?", - }, - "spa": { - "tt": "Espaรฑol", - - "cols": { - "c": "acciones", - "dur": "duraciรณn", - "q": "calidad / bitrate", - "Ac": "cรณdec de audio", - "Vc": "cรณdec de vรญdeo", - "Fmt": "formato / contenedor", - "Ahash": "checksum de audio", - "Vhash": "checksum de vรญdeo", - "Res": "resoluciรณn", - "T": "tipo de archivo", - "aq": "calidad de audio / bitrate", - "vq": "calidad de vรญdeo / bitrate", - "pixfmt": "submuestreo / estructura de pรญxel", - "resw": "resoluciรณn horizontal", - "resh": "resoluciรณn vertical", - "chs": "canales de audio", - "hz": "frecuencia de muestreo" - }, - - "hks": [ - [ - "varios", - ["ESC", "cerrar varias cosas"], - - "gestor de archivos", - ["G", "alternar vista de lista / cuadrรญcula"], - ["T", "alternar miniaturas / iconos"], - ["โ‡ง A/D", "tamaรฑo de miniatura"], - ["ctrl-K", "eliminar seleccionados"], - ["ctrl-X", "cortar selecciรณn al portapapeles"], - ["ctrl-C", "copiar selecciรณn al portapapeles"], - ["ctrl-V", "pegar (mover/copiar) aquรญ"], - ["Y", "descargar seleccionados"], - ["F2", "renombrar seleccionados"], - - "selecciรณn en lista de archivos", - ["space", "alternar selecciรณn de archivo"], - ["โ†‘/โ†“", "mover cursor de selecciรณn"], - ["ctrl โ†‘/โ†“", "mover cursor y vista"], - ["โ‡ง โ†‘/โ†“", "seleccionar anterior/siguiente archivo"], - ["ctrl-A", "seleccionar todos los archivos / carpetas"] - ], [ - "navegaciรณn", - ["B", "alternar breadcrumbs / panel de navegaciรณn"], - ["I/K", "anterior/siguiente carpeta"], - ["M", "carpeta de nivel superior (o contraer actual)"], - ["V", "alternar carpetas / archivos en panel de navegaciรณn"], - ["A/D", "tamaรฑo del panel de navegaciรณn"] - ], [ - "reproductor de audio", - ["J/L", "anterior/siguiente canciรณn"], - ["U/O", "saltar 10s atrรกs/adelante"], - ["0..9", "saltar a 0%..90%"], - ["P", "reproducir/pausar (tambiรฉn inicia)"], - ["S", "seleccionar canciรณn en reproducciรณn"], - ["Y", "descargar canciรณn"] - ], [ - "visor de imรกgenes", - ["J/L, โ†/โ†’", "anterior/siguiente imagen"], - ["Home/End", "primera/รบltima imagen"], - ["F", "pantalla completa"], - ["R", "rotar en sentido horario"], - ["โ‡ง R", "rotar en sentido antihorario"], - ["S", "seleccionar imagen"], - ["Y", "descargar imagen"] - ], [ - "reproductor de vรญdeo", - ["U/O", "saltar 10s atrรกs/adelante"], - ["P/K/Space", "reproducir/pausar"], - ["C", "continuar con el siguiente"], - ["V", "bucle"], - ["M", "silenciar"], - ["[ y ]", "establecer intervalo de bucle"] - ], [ - "visor de texto", - ["I/K", "anterior/siguiente archivo"], - ["M", "cerrar archivo"], - ["E", "editar archivo"], - ["S", "seleccionar archivo (para cortar/copiar/renombrar)"] - ] - ], - - "m_ok": "Aceptar", - "m_ng": "Cancelar", - - "enable": "Activar", - "danger": "PELIGRO", - "clipped": "copiado al portapapeles", - - "ht_s1": "segundo", - "ht_s2": "segundos", - "ht_m1": "minuto", - "ht_m2": "minutos", - "ht_h1": "hora", - "ht_h2": "horas", - "ht_d1": "dรญa", - "ht_d2": "dรญas", - "ht_and": " y ", - - "goh": "panel de control", - "gop": 'hermano anterior">anterior', - "gou": 'carpeta de nivel superior">subir', - "gon": 'siguiente carpeta">siguiente', - "logout": "Cerrar sesiรณn ", - "login": "Iniciar sesiรณn", //m - "access": " acceso", - "ot_close": "cerrar submenรบ", - "ot_search": "buscar archivos por atributos, ruta / nombre, etiquetas de mรบsica, o cualquier combinaciรณn$N$N<code>foo bar</code> = debe contener ยซfooยป y ยซbarยป,$N<code>foo -bar</code> = debe contener ยซfooยป pero no ยซbarยป,$N<code>^yana .opus$</code> = empieza con ยซyanaยป y es un archivo ยซopusยป$N<code>"try unite"</code> = contiene exactamente ยซtry uniteยป$N$Nel formato de fecha es iso-8601, como$N<code>2009-12-31</code> o <code>2020-09-12 23:30:00</code>", - "ot_unpost": "dessubir: elimina tus subidas recientes, o aborta las inacabadas", - "ot_bup": "bup: uploader bรกsico, soporta hasta netscape 4.0", - "ot_mkdir": "mkdir: crear un nuevo directorio", - "ot_md": "new-md: crear un nuevo documento markdown", - "ot_msg": "msg: enviar un mensaje al registro del servidor", - "ot_mp": "opciones del reproductor multimedia", - "ot_cfg": "opciones de configuraciรณn", - "ot_u2i": "up2k: subir archivos (si tienes acceso de escritura) o cambiar a modo de bรบsqueda para ver si existen en el servidor$N$Nlas subidas se pueden reanudar, usan mรบltiples hilos y conservan la fecha de los archivos, pero consume mรกs CPU que [๐ŸŽˆ]  (el uploader bรกsico)

    ยกDurante las subidas, este icono se convierte en un indicador de progreso!", - "ot_u2w": "up2k: subir archivos con soporte para reanudaciรณn (cierra tu navegador y arrastra los mismos archivos mรกs tarde)$N$NMultihilo y conserva las fechas de los archivos, pero usa mรกs CPU que [๐ŸŽˆ]  (el uploader bรกsico)

    ยกDurante las subidas, este icono se convierte en un indicador de progreso!", - "ot_noie": "Por favor, usa Chrome / Firefox / Edge", - - "ab_mkdir": "crear directorio", - "ab_mkdoc": "nuevo documento markdown", - "ab_msg": "enviar msg al registro del servidor", - - "ay_path": "saltar a carpetas", - "ay_files": "saltar a archivos", - - "wt_ren": "renombrar elementos seleccionados$NAtajo: F2", - "wt_del": "eliminar elementos seleccionados$NAtajo: ctrl-K", - "wt_cut": "cortar elementos seleccionados <small>(luego pegar en otro lugar)</small>$NAtajo: ctrl-X", - "wt_cpy": "copiar elementos seleccionados al portapapeles$N(para pegarlos en otro lugar)$NAtajo: ctrl-C", - "wt_pst": "pegar una selecciรณn previamente cortada / copiada$NAtajo: ctrl-V", - "wt_selall": "seleccionar todos los archivos$NAtajo: ctrl-A (con un archivo con foco)", - "wt_selinv": "invertir selecciรณn", - "wt_zip1": "descargar esta carpeta como un archivo comprimido", - "wt_selzip": "descargar selecciรณn como archivo comprimido", - "wt_seldl": "descargar selecciรณn como archivos separados$NAtajo: Y", - "wt_npirc": "copiar informaciรณn de pista en formato IRC", - "wt_nptxt": "copiar informaciรณn de pista en texto plano", - "wt_m3ua": "aรฑadir a lista m3u (haz clic en ๐Ÿ“ปcopiar despuรฉs)", - "wt_m3uc": "copiar lista m3u al portapapeles", - "wt_grid": "alternar vista de cuadrรญcula / lista$NAtajo: G", - "wt_prev": "pista anterior$NAtajo: J", - "wt_play": "reproducir / pausar$NAtajo: P", - "wt_next": "siguiente pista$NAtajo: L", - - "ul_par": "subidas paralelas:", - "ut_rand": "aleatorizar nombres de archivo", - "ut_u2ts": 'copiar la fecha de รบltima modificaciรณn$Nde tu sistema de archivos al servidor">๐Ÿ“…', - "ut_ow": "sobrescribir archivos existentes en el servidor?$N๐Ÿ›ก๏ธ: nunca (generarรก un nuevo nombre de archivo en su lugar)$N๐Ÿ•’: sobrescribir si el archivo del servidor es mรกs antiguo que el tuyo$Nโ™ป๏ธ: siempre sobrescribir si los archivos son diferentes", - "ut_mt": "continuar generando hashes de otros archivos mientras se sube$N$Nquizรกs desactivar si tu CPU o HDD es un cuello de botella", - "ut_ask": 'pedir confirmaciรณn antes de iniciar la subida">๐Ÿ’ญ', - "ut_pot": "mejorar la velocidad de subida en dispositivos lentos$Nsimplificando la interfaz de usuario", - "ut_srch": "no subir, en su lugar comprobar si los archivos ya $N existen en el servidor (escanearรก todas las carpetas que puedas leer)", - "ut_par": "pausar subidas poniรฉndolo a 0$N$Naumentar si tu conexiรณn es lenta / de alta latencia$N$Nmantener en 1 en LAN o si el HDD del servidor es un cuello de botella", - "ul_btn": "arrastra archivos / carpetas
    aquรญ (o haz clic)", - "ul_btnu": "S U B I R", - "ul_btns": "B U S C A R", - - "ul_hash": "hash", - "ul_send": "envio", - "ul_done": "hecho", - "ul_idle1": "aรบn no hay subidas en cola", - "ut_etah": "velocidad media de <em>hashing</em>, y tiempo estimado para finalizar", - "ut_etau": "velocidad media de <em>subida</em> y tiempo estimado para finalizar", - "ut_etat": "velocidad media <em>total</em> y tiempo estimado para finalizar", - - "uct_ok": "completado con รฉxito", - "uct_ng": "fallido: error / rechazado / no encontrado", - "uct_done": "รฉxitos y fallos combinados", - "uct_bz": "generando hash o subiendo", - "uct_q": "inactivo, pendiente", - - "utl_name": "nombre de archivo", - "utl_ulist": "lista", - "utl_ucopy": "copiar", - "utl_links": "enlaces", - "utl_stat": "estado", - "utl_prog": "progreso", - - "utl_404": "404", - "utl_err": "ERROR", - "utl_oserr": "Error-SO", - "utl_found": "encontrado", - "utl_defer": "posponer", - "utl_yolo": "YOLO", - "utl_done": "hecho", - - "ul_flagblk": "los archivos se aรฑadieron a la cola
    sin embargo, hay un up2k ocupado en otra pestaรฑa del navegador,
    esperando a que termine primero", - "ul_btnlk": "la configuraciรณn del servidor ha bloqueado esta opciรณn en este estado", - - "udt_up": "Subir", - "udt_srch": "Buscar", - "udt_drop": "suรฉltalo aquรญ", - - "u_nav_m": "
    vale, ยฟquรฉ tienes?
    Intro = Archivos (uno o mรกs)\nESC = Una carpeta (incluyendo subcarpetas)", - "u_nav_b": "ArchivosUna carpeta", - - "cl_opts": "opciones", - "cl_themes": "tema", - "cl_langs": "idioma", - "cl_ziptype": "descarga de carpeta", - "cl_uopts": "opciones up2k", - "cl_favico": "favicon", - "cl_bigdir": "directorios grandes", - "cl_hsort": "#ordenar", - "cl_keytype": "notaciรณn musical", - "cl_hiddenc": "columnas ocultas", - "cl_hidec": "ocultar", - "cl_reset": "restablecer", - "cl_hpick": "toca en las cabeceras de columna para ocultarlas en la tabla de abajo", - "cl_hcancel": "ocultaciรณn de columna cancelada", - - "ct_grid": '็”ฐ cuadrรญcula', - "ct_ttips": 'โ—” โ—ก โ—”">โ„น๏ธ tooltips', - "ct_thumb": 'en vista de cuadrรญcula, alternar iconos o miniaturas$NAtajo: T">๐Ÿ–ผ๏ธ miniaturas', - "ct_csel": 'usa CTRL y SHIFT para seleccionar archivos en la vista de cuadrรญcula">sel', - "ct_ihop": 'al cerrar el visor de imรกgenes, desplazarse hasta el รบltimo archivo visto">gโฎฏ', - "ct_dots": 'mostrar archivos ocultos (si el servidor lo permite)">archivos ocultos', - "ct_qdel": 'al eliminar archivos, pedir confirmaciรณn solo una vez">elim. rรกpida', - "ct_dir1st": 'ordenar carpetas antes que archivos">๐Ÿ“ primero', - "ct_nsort": 'orden natural (para nombres de archivo con dรญgitos iniciales)">ord. natural', - "ct_utc": 'use UTC para todas las horas">UTC', //m - "ct_readme": 'mostrar README.md en los listados de carpetas">๐Ÿ“œ lรฉeme', - "ct_idxh": 'mostrar index.html en lugar del listado de carpetas">htm', - "ct_sbars": 'mostrar barra lateral">โŸŠ', - - "cut_umod": 'si un archivo ya existe en el servidor, actualiza la fecha de รบltima modificaciรณn del servidor para que coincida con tu archivo local (requiere permisos de escritura+eliminaciรณn)">re๐Ÿ“…', - - "cut_turbo": 'el botรณn yolo, probablemente NO quieras activarlo:$N$Nรบsalo si estabas subiendo una gran cantidad de archivos y tuviste que reiniciar por alguna razรณn, y quieres continuar la subida lo antes posible$N$Nesto reemplaza la comprobaciรณn de hash por un simple "ยฟtiene este el mismo tamaรฑo de archivo en el servidor?" asรญ que si el contenido del archivo es diferente, NO se subirรก$N$Ndeberรญas desactivar esto cuando la subida termine, y luego "subir" los mismos archivos de nuevo para que el cliente los verifique">turbo', - - "cut_datechk": 'no tiene efecto a menos que el botรณn turbo estรฉ activado$N$Nreduce el factor yolo en una pequeรฑa cantidad; comprueba si las fechas de los archivos en el servidor coinciden con las tuyas$N$Nteรณricamente deberรญa detectar la mayorรญa de las subidas inacabadas / corruptas, pero no es un sustituto de hacer una pasada de verificaciรณn con el turbo desactivado despuรฉs">verif. fecha', - - "cut_u2sz": "tamaรฑo (en MiB) de cada trozo de subida; los valores grandes vuelan mejor a travรฉs del atlรกntico. Prueba valores bajos en conexiones muy poco fiables", - - "cut_flag": "asegura que solo una pestaรฑa estรฉ subiendo a la vez $N -- otras pestaรฑas tambiรฉn deben tener esto activado $N -- solo afecta a pestaรฑas en el mismo dominio", - - "cut_az": "subir archivos en orden alfabรฉtico, en lugar de los mรกs pequeรฑos primero$N$Nel orden alfabรฉtico puede facilitar la detecciรณn visual de si algo saliรณ mal en el servidor, pero hace la subida ligeramente mรกs lenta en fibra / LAN", - - "cut_nag": "notificaciรณn del SO cuando la subida se complete$N(solo si el navegador o la pestaรฑa no estรกn activos)", - "cut_sfx": "alerta sonora cuando la subida se complete$N(solo si el navegador o la pestaรฑa no estรกn activos)", - - "cut_mt": 'usar multithreading para acelerar el hashing de archivos$N$Nesto usa web-workers y requiere$Nmรกs RAM (hasta 512 MiB extra)$N$Nhace https un 30% mรกs rรกpido, http 4.5x mรกs rรกpido">mt', - - "cut_wasm": 'usar wasm en lugar del hasher incorporado del navegador; mejora la velocidad en navegadores basados en chrome pero aumenta la carga de la CPU, y muchas versiones antiguas de chrome tienen errores que hacen que el navegador consuma toda la RAM y se bloquee si esto estรก activado">wasm', - - "cft_text": "texto del favicon (dejar en blanco y refrescar para desactivar)", - "cft_fg": "color de primer plano", - "cft_bg": "color de fondo", - - "cdt_lim": "nรบmero mรกximo de archivos a mostrar en una carpeta", - "cdt_ask": "al llegar al final,$Nen lugar de cargar mรกs archivos,$Npreguntar quรฉ hacer", - "cdt_hsort": "cuรกntas reglas de ordenaciรณn (<code>,sorthref</code>) incluir en las URLs de medios. Ponerlo a 0 tambiรฉn ignorarรก las reglas de ordenaciรณn incluidas en los enlaces de medios al hacer clic en ellos", - - "tt_entree": "mostrar panel de navegaciรณn (barra lateral con รกrbol de directorios)$NAtajo: B", - "tt_detree": "mostrar breadcrumbs$NAtajo: B", - "tt_visdir": "desplazarse a la carpeta seleccionada", - "tt_ftree": "alternar รกrbol de carpetas / archivos de texto$NAtajo: V", - "tt_pdock": "mostrar carpetas de niveles superiores en un panel acoplado en la parte superior", - "tt_dynt": "crecimiento automรกtico a medida que el รกrbol se expande", - "tt_wrap": "ajuste de lรญnea", - "tt_hover": "revelar lรญneas que se desbordan al pasar el ratรณn$N( rompe el desplazamiento a menos que el $N  cursor estรฉ en el margen izquierdo )", - - "ml_pmode": "al final de la carpeta...", - "ml_btns": "acciones", - "ml_tcode": "transcodificar", - "ml_tcode2": "transcodificar a", - "ml_tint": "tinte", - "ml_eq": "ecualizador de audio", - "ml_drc": "compresor de rango dinรกmico", - - "mt_loop": 'poner en bucle/repetir una canciรณn">๐Ÿ”', - "mt_one": 'parar despuรฉs de una canciรณn">1๏ธโƒฃ', - "mt_shuf": 'reproducir aleatoriamente las canciones en cada carpeta">๐Ÿ”€', - "mt_aplay": 'reproducir automaticamente si hay un ID de canciรณn en el enlace en el que hiciste clic para acceder al servidor$N$Ndesactivar esto tambiรฉn evitarรก que la URL de la pรกgina se actualice con IDs de canciรณn al reproducir mรบsica, para prevenir la reproducciรณn automรกtica si se pierden estos ajustes pero la URL permanece">aโ–ถ', - "mt_preload": 'empezar a cargar la siguiente canciรณn cerca del final para una reproducciรณn sin pausas">precarga', - "mt_prescan": 'ir a la siguiente carpeta antes de que la รบltima canciรณn$Ntermine, manteniendo contento al navegador$Npara que no detenga la reproducciรณn">nav', - "mt_fullpre": 'intentar precargar la canciรณn entera;$Nโœ… activar en conexiones inestables,$NโŒ desactivar probablemente en conexiones lentas">completa', - "mt_fau": 'en telรฉfonos, evitar que la mรบsica se detenga si la siguiente canciรณn no se precarga lo suficientemente rรกpido (puede causar fallos en la visualizaciรณn de etiquetas)">โ˜•๏ธ', - "mt_waves": 'barra de bรบsqueda con forma de onda:$Nmostrar la amplitud del audio en la barra de progreso">~s', - "mt_npclip": 'mostrar botones para copiar al portapapeles la canciรณn actual">/np', - "mt_m3u_c": 'mostrar botones para copiar al portapapeles las$Ncanciones seleccionadas como entradas de lista m3u8">๐Ÿ“ป', - "mt_octl": 'integraciรณn con SO (teclas multimedia / OSD)">ctl-so', - "mt_oseek": 'permitir buscar a travรฉs de la integraciรณn con el SO$N$Nnota: en algunos dispositivos (iPhones),$Nesto reemplaza el botรณn de siguiente canciรณn">bรบsqueda', - "mt_oscv": 'mostrar carรกtula del รกlbum en OSD">arte', - "mt_follow": 'mantener la pista en reproducciรณn visible en pantalla">๐ŸŽฏ', - "mt_compact": 'controles compactos">โŸŽ', - "mt_uncache": 'limpiar cachรฉ  (prueba esto si tu navegador guardรณ en cachรฉ$Nuna copia rota de una canciรณn que se niega a reproducir)">limpiar cachรฉ', - "mt_mloop": 'repetir la carpeta actual">๐Ÿ” bucle', - "mt_mnext": 'cargar la siguiente carpeta y continuar">๐Ÿ“‚ sig', - "mt_mstop": 'detener reproducciรณn">โธ parar', - "mt_cflac": 'convertir flac / wav a {0}">flac', - "mt_caac": 'convertir aac / m4a a {0}">aac', - "mt_coth": 'convertir todos los demรกs (no mp3) a {0}">oth', - "mt_c2opus": 'la mejor opciรณn para ordenadores, portรกtiles, android">opus', - "mt_c2owa": 'opus-weba, para iOS 17.5 y superior">owa', - "mt_c2caf": 'opus-caf, para iOS 11 a 17">caf', - "mt_c2mp3": 'usar en dispositivos muy antiguos">mp3', - "mt_c2flac": "la mejor calidad de sonido,$Npero descargas muy grandes\">flac", //m - "mt_c2wav": "reproducciรณn sin comprimir (aรบn mรกs grande)\">wav", //m - "mt_c2ok": "bien, buena elecciรณn", - "mt_c2nd": "ese no es el formato de salida recomendado para tu dispositivo, pero estรก bien", - "mt_c2ng": "tu dispositivo no parece soportar este formato de salida, pero intentรฉmoslo de todas formas", - "mt_xowa": "hay errores en iOS que impiden la reproducciรณn en segundo plano con este formato; por favor, usa caf o mp3 en su lugar", - "mt_tint": "nivel de fondo (0-100) en la barra de bรบsqueda$Npara hacer el buffering menos molesto", - "mt_eq": "activa el ecualizador y el control de ganancia;$N$Nganancia <code>0</code> = volumen estรกndar 100% (sin modificar)$N$Nancho <code>1  </code> = estรฉreo estรกndar (sin modificar)$Nancho <code>0.5</code> = 50% de crossfeed izq-der$Nancho <code>0  </code> = mono$N$Nganancia <code>-0.8</code> y ancho <code>10</code> = eliminaciรณn de voz :^)$N$Nactivar el ecualizador hace que los รกlbumes sin pausas sean completamente sin pausas, asรญ que dรฉjalo activado con todos los valores a cero (excepto ancho = 1) si eso te importa", - "mt_drc": "activa el compresor de rango dinรกmico (aplanador de volumen / brickwaller); tambiรฉn activarรก el EQ para equilibrar el espagueti, asรญ que pon todos los campos de EQ excepto 'ancho' a 0 si no lo quieres$N$Nbaja el volumen del audio por encima de THRESHOLD dB; por cada RATIO dB pasado THRESHOLD hay 1 dB de salida, asรญ que los valores por defecto de umbral -24 y ratio 12 significan que nunca deberรญa sonar mรกs fuerte de -22 dB y es seguro aumentar la ganancia del ecualizador a 0.8, o incluso 1.8 con ATK 0 y un RLS enorme como 90 (solo funciona en firefox; RLS es mรกx. 1 en otros navegadores)$N$N(ver wikipedia, lo explican mucho mejor)", - - "mb_play": "reproducir", - "mm_hashplay": "ยฟreproducir este archivo de audio?", - "mm_m3u": "pulsa Intro/Aceptar para Reproducir\npulsa ESC/Cancelar para Editar", - "mp_breq": "se necesita firefox 82+ o chrome 73+ o iOS 15+", - "mm_bload": "cargando...", - "mm_bconv": "convirtiendo a {0}, por favor espera...", - "mm_opusen": "tu navegador no puede reproducir archivos aac / m4a;\nse ha activado la transcodificaciรณn a opus", - "mm_playerr": "fallo de reproducciรณn: ", - "mm_eabrt": "El intento de reproducciรณn fue cancelado", - "mm_enet": "Tu conexiรณn a internet es inestable", - "mm_edec": "ยฟEste archivo estรก supuestamente corrupto?", - "mm_esupp": "Tu navegador no entiende este formato de audio", - "mm_eunk": "Error desconocido", - "mm_e404": "No se pudo reproducir el audio; error 404: Archivo no encontrado.", - "mm_e403": "No se pudo reproducir el audio; error 403: Acceso denegado.\n\nIntenta pulsar F5 para recargar, quizรกs se cerrรณ tu sesiรณn", - "mm_e500": "No se pudo reproducir el audio; error 500: Revisa los registros del servidor.", - "mm_e5xx": "No se pudo reproducir el audio; error del servidor ", - "mm_nof": "no se encuentran mรกs archivos de audio cerca", - "mm_prescan": "Buscando mรบsica para reproducir a continuaciรณn...", - "mm_scank": "Encontrada la siguiente canciรณn:", - "mm_uncache": "cachรฉ limpiada; todas las canciones se volverรกn a descargar en la prรณxima reproducciรณn", - "mm_hnf": "esa canciรณn ya no existe", - - "im_hnf": "esa imagen ya no existe", - - "f_empty": "esta carpeta estรก vacรญa", - "f_chide": "esto ocultarรก la columna ยซ{0}ยป\n\npuedes volver a mostrar las columnas en la pestaรฑa de configuraciรณn", - "f_bigtxt": "este archivo pesa {0} MiB -- ยฟrealmente verlo como texto?", - "f_bigtxt2": "ยฟver solo el final del archivo en su lugar? esto tambiรฉn activarรก el seguimiento, mostrando las lรญneas de texto reciรฉn aรฑadidas en tiempo real", - "fbd_more": '
    mostrando {0} de {1} archivos; mostrar {2} o mostrar todos
    ', - "fbd_all": '
    mostrando {0} de {1} archivos; mostrar todos
    ', - "f_anota": "solo {0} de los {1} elementos fueron seleccionados;\npara seleccionar la carpeta completa, primero desplรกzate hasta el final", - - "f_dls": "los enlaces a archivos en la carpeta actual se han\nconvertido en enlaces de descarga", - - "f_partial": "Para descargar de forma segura un archivo que se estรก subiendo actualmente, por favor haz clic en el archivo con el mismo nombre, pero sin la extensiรณn .PARTIAL. Por favor, pulsa CANCELAR o Escape para hacer esto.\n\nPulsar ACEPTAR o Intro ignorarรก esta advertencia y continuarรก descargando el archivo temporal .PARTIAL, lo que casi con toda seguridad te darรก datos corruptos.", - - "ft_paste": "pegar {0} elementos$NAtajo: ctrl-V", - "fr_eperm": "no se puede renombrar:\nno tienes permiso de โ€œmoverโ€ en esta carpeta", - "fd_eperm": "no se puede eliminar:\nno tienes permiso de โ€œeliminarโ€ en esta carpeta", - "fc_eperm": "no se puede cortar:\nno tienes permiso de โ€œmoverโ€ en esta carpeta", - "fp_eperm": "no se puede pegar:\nno tienes permiso de โ€œescribirโ€ en esta carpeta", - "fr_emore": "selecciona al menos un elemento para renombrar", - "fd_emore": "selecciona al menos un elemento para eliminar", - "fc_emore": "selecciona al menos un elemento para cortar", - "fcp_emore": "selecciona al menos un elemento para copiar al portapapeles", - - "fs_sc": "compartir la carpeta en la que estรกs", - "fs_ss": "compartir los archivos seleccionados", - "fs_just1d": "no puedes seleccionar mรกs de una carpeta,\no mezclar archivos y carpetas en una selecciรณn", - "fs_abrt": "โŒ abortar", - "fs_rand": "๐ŸŽฒ nombre aleatorio", - "fs_go": "โœ… crear enlace", - "fs_name": "nombre", - "fs_src": "origen", - "fs_pwd": "contraseรฑa", - "fs_exp": "caducidad", - "fs_tmin": "minutos", - "fs_thrs": "horas", - "fs_tdays": "dรญas", - "fs_never": "eterno", - "fs_pname": "nombre opcional del enlace; serรก aleatorio si se deja en blanco", - "fs_tsrc": "el archivo o carpeta a compartir", - "fs_ppwd": "contraseรฑa opcional", - "fs_w8": "creando enlace...", - "fs_ok": "pulsa Intro/Aceptar para Copiar al Portapapeles\npulsa ESC/Cancelar para Cerrar", - - "frt_dec": "puede arreglar algunos casos de nombres de archivo rotos\">url-decode", - "frt_rst": "restaurar los nombres de archivo modificados a los originales\">โ†บ restablecer", - "frt_abrt": "abortar y cerrar esta ventana\">โŒ cancelar", - "frb_apply": "APLICAR RENOMBRADO", - "fr_adv": "renombrado por lotes / metadatos / patrones\">avanzado", - "fr_case": "regex sensible a mayรบsculas\">mayรบs", - "fr_win": "nombres seguros para windows; reemplaza <>:"\\|?* con caracteres japoneses de ancho completo\">win", - "fr_slash": "reemplaza / con un carรกcter que no cree nuevas carpetas\">sin /", - "fr_re": "patrรณn de bรบsqueda regex para aplicar a los nombres de archivo originales; los grupos de captura se pueden referenciar en el campo de formato de abajo como <code>(1)</code> y <code>(2)</code> y asรญ sucesivamente", - "fr_fmt": "inspirado en foobar2000:$N<code>(title)</code> se reemplaza por el tรญtulo de la canciรณn,$N<code>[(artist) - ](title)</code> omite la parte [entre corchetes] si el artista estรก en blanco$N<code>$lpad((tn),2,0)</code> rellena el nรบmero de pista a 2 dรญgitos", - "fr_pdel": "eliminar", - "fr_pnew": "guardar como", - "fr_pname": "proporciona un nombre para tu nuevo preajuste", - "fr_aborted": "abortado", - "fr_lold": "nombre antiguo", - "fr_lnew": "nombre nuevo", - "fr_tags": "etiquetas para los archivos seleccionados (solo lectura, como referencia):", - "fr_busy": "renombrando {0} elementos...\n\n{1}", - "fr_efail": "fallo al renombrar:\n", - "fr_nchg": "{0} de los nuevos nombres fueron alterados debido a win y/o sin /\n\nยฟAceptar para continuar con estos nuevos nombres alterados?", - - "fd_ok": "eliminaciรณn correcta", - "fd_err": "fallo al eliminar:\n", - "fd_none": "no se eliminรณ nada; quizรกs bloqueado por la configuraciรณn del servidor (xbd)?", - "fd_busy": "eliminando {0} elementos...\n\n{1}", - "fd_warn1": "ยฟELIMINAR estos {0} elementos?", - "fd_warn2": "ยกรšltima oportunidad! No se puede deshacer. ยฟEliminar?", - - "fc_ok": "cortados {0} elementos", - "fc_warn": "cortados {0} elementos\n\npero: solo esta pestaรฑa del navegador puede pegarlos\n(dado que la selecciรณn es absolutamente masiva)", - - "fcc_ok": "copiados {0} elementos al portapapeles", - "fcc_warn": "copiados {0} elementos al portapapeles\n\npero: solo esta pestaรฑa del navegador puede pegarlos\n(dado que la selecciรณn es absolutamente masiva)", - - "fp_apply": "usar estos nombres", - "fp_ecut": "primero corta o copia algunos archivos / carpetas para pegar / mover\n\nnota: puedes cortar / pegar entre diferentes pestaรฑas del navegador", - "fp_ename": "{0} elementos no se pueden mover aquรญ porque los nombres ya existen. Dales nuevos nombres abajo para continuar, o deja el nombre en blanco para omitirlos:", - "fcp_ename": "{0} elementos no se pueden copiar aquรญ porque los nombres ya existen. Dales nuevos nombres abajo para continuar, o deja el nombre en blanco para omitirlos:", - "fp_emore": "todavรญa quedan algunas colisiones de nombres por resolver", - "fp_ok": "movimiento correcto", - "fcp_ok": "copia correcta", - "fp_busy": "moviendo {0} elementos...\n\n{1}", - "fcp_busy": "copiando {0} elementos...\n\n{1}", - "fp_abrt": "cancelando...", //m - "fp_err": "fallo al mover:\n", - "fcp_err": "fallo al copiar:\n", - "fp_confirm": "ยฟmover estos {0} elementos aquรญ?", - "fcp_confirm": "ยฟcopiar estos {0} elementos aquรญ?", - "fp_etab": "fallo al leer el portapapeles de otra pestaรฑa del navegador", - "fp_name": "subiendo un archivo desde tu dispositivo. Dale un nombre:", - "fp_both_m": "
    elige quรฉ pegar
    Intro = Mover {0} archivos desde ยซ{1}ยป\nESC = Subir {2} archivos desde tu dispositivo", - "fcp_both_m": "
    elige quรฉ pegar
    Intro = Copiar {0} archivos desde ยซ{1}ยป\nESC = Subir {2} archivos desde tu dispositivo", - "fp_both_b": "MoverSubir", - "fcp_both_b": "CopiarSubir", - - "mk_noname": "escribe un nombre en el campo de texto de la izquierda antes de hacer eso :p", - - "tv_load": "Cargando documento de texto:\n\n{0}\n\n{1}% ({2} de {3} MiB cargados)", - "tv_xe1": "no se pudo cargar el archivo de texto:\n\nerror ", - "tv_xe2": "404, archivo no encontrado", - "tv_lst": "lista de archivos de texto en", - "tvt_close": "volver a la vista de carpetas$NAtajo: M (o Esc)\">โŒ cerrar", - "tvt_dl": "descargar este archivo$NAtajo: Y\">๐Ÿ’พ descargar", - "tvt_prev": "mostrar documento anterior$NAtajo: i\">โฌ† ant", - "tvt_next": "mostrar siguiente documento$NAtajo: K\">โฌ‡ sig", - "tvt_sel": "seleccionar archivo   ( para cortar / copiar / eliminar / ... )$NAtajo: S\">sel", - "tvt_edit": "abrir archivo en editor de texto$NAtajo: E\">โœ๏ธ editar", - "tvt_tail": "monitorizar cambios en el archivo; mostrar nuevas lรญneas en tiempo real\">๐Ÿ“ก seguir", - "tvt_wrap": "ajuste de lรญnea\">โ†ต", - "tvt_atail": "bloquear el desplazamiento al final de la pรกgina\">โš“", - "tvt_ctail": "decodificar colores de terminal (cรณdigos de escape ansi)\">๐ŸŒˆ", - "tvt_ntail": "lรญmite de historial (cuรกntos bytes de texto mantener cargados)", - - "m3u_add1": "canciรณn aรฑadida a la lista m3u", - "m3u_addn": "{0} canciones aรฑadidas a la lista m3u", - "m3u_clip": "lista m3u copiada al portapapeles\n\ndebes crear un nuevo archivo de texto llamado algo.m3u y pegar la lista en ese documento; esto lo harรก reproducible", - - "gt_vau": "no mostrar vรญdeos, solo reproducir el audio\">๐ŸŽง", - "gt_msel": "activar selecciรณn de archivos; ctrl-clic en un archivo para anular$N$N<em>cuando estรก activo: doble clic en un archivo / carpeta para abrirlo</em>$N$NAtajo: S\">multiselecciรณn", - "gt_crop": "recortar miniaturas\">recortar", - "gt_3x": "miniaturas de alta resoluciรณn\">3x", - "gt_zoom": "zoom", - "gt_chop": "recortar", - "gt_sort": "ordenar por", - "gt_name": "nombre", - "gt_sz": "tamaรฑo", - "gt_ts": "fecha", - "gt_ext": "tipo", - "gt_c1": "truncar mรกs los nombres de archivo (mostrar menos)", - "gt_c2": "truncar menos los nombres de archivo (mostrar mรกs)", - - "sm_w8": "buscando...", - "sm_prev": "los resultados de bรบsqueda a continuaciรณn son de una consulta anterior:\n ", - "sl_close": "cerrar resultados de bรบsqueda", - "sl_hits": "mostrando {0} resultados", - "sl_moar": "cargar mรกs", - - "s_sz": "tamaรฑo", - "s_dt": "fecha", - "s_rd": "ruta", - "s_fn": "nombre", - "s_ta": "etiquetas", - "s_ua": "subido@", - "s_ad": "avanzado", - "s_s1": "MiB mรญnimo", - "s_s2": "MiB mรกximo", - "s_d1": "mรญn. iso8601", - "s_d2": "mรกx. iso8601", - "s_u1": "subido despuรฉs de", - "s_u2": "y/o antes de", - "s_r1": "la ruta contiene   (separado por espacios)", - "s_f1": "el nombre contiene   (negar con -no)", - "s_t1": "las etiquetas contienen   (^=inicio, fin=$)", - "s_a1": "propiedades de metadatos especรญficas", - - "md_eshow": "no se puede renderizar ", - "md_off": "[๐Ÿ“œlรฉeme] desactivado en [โš™๏ธ] -- documento oculto", - - "badreply": "Fallo al procesar la respuesta del servidor", - - "xhr403": "403: Acceso denegado\n\nintenta pulsar F5, quizรกs se cerrรณ tu sesiรณn", - "xhr0": "desconocido (probablemente se perdiรณ la conexiรณn con el servidor, o el servidor estรก desconectado)", - "cf_ok": "perdรณn por eso -- la protecciรณn DD" + wah + "oS se activรณ\n\nlas cosas deberรญan reanudarse en unos 30 segundos\n\nsi no pasa nada, pulsa F5 para recargar la pรกgina", - "tl_xe1": "no se pudieron listar las subcarpetas:\n\nerror ", - "tl_xe2": "404: Carpeta no encontrada", - "fl_xe1": "no se pudieron listar los archivos en la carpeta:\n\nerror ", - "fl_xe2": "404: Carpeta no encontrada", - "fd_xe1": "no se pudo crear la subcarpeta:\n\nerror ", - "fd_xe2": "404: Carpeta de nivel superior no encontrada", - "fsm_xe1": "no se pudo enviar el mensaje:\n\nerror ", - "fsm_xe2": "404: Carpeta de nivel superior no encontrada", - "fu_xe1": "fallo al cargar la lista de deshacer del servidor:\n\nerror ", - "fu_xe2": "404: ยฟArchivo no encontrado?", - - "fz_tar": "archivo gnu-tar sin comprimir (linux / mac)", - "fz_pax": "tar formato pax sin comprimir (mรกs lento)", - "fz_targz": "gnu-tar con compresiรณn gzip nivel 3$N$Nesto suele ser muy lento, asรญ que$Nusa tar sin comprimir en su lugar", - "fz_tarxz": "gnu-tar con compresiรณn xz nivel 1$N$Nesto suele ser muy lento, asรญ que$Nusa tar sin comprimir en su lugar", - "fz_zip8": "zip con nombres de archivo utf8 (puede dar problemas en windows 7 y anteriores)", - "fz_zipd": "zip con nombres de archivo cp437 tradicionales, para software muy antiguo", - "fz_zipc": "cp437 con crc32 calculado tempranamente,$Npara MS-DOS PKZIP v2.04g (octubre 1993)$N(tarda mรกs en procesar antes de que la descarga pueda empezar)", - - "un_m1": "puedes eliminar tus subidas recientes (o abortar las inacabadas) a continuaciรณn", - "un_upd": "actualizar", - "un_m4": "o compartir los archivos visibles a continuaciรณn:", - "un_ulist": "mostrar", - "un_ucopy": "copiar", - "un_flt": "filtro opcional:  la URL debe contener", - "un_fclr": "limpiar filtro", - "un_derr": "fallo al deshacer-eliminar:\n", - "un_f5": "algo se rompiรณ, por favor intenta actualizar o pulsa F5", - "un_uf5": "lo siento pero tienes que refrescar la pรกgina (por ejemplo pulsando F5 o CTRL-R) antes de que esta subida pueda ser abortada", - "un_nou": "aviso: servidor demasiado ocupado para mostrar subidas inacabadas; haz clic en el enlace \"actualizar\" en un momento", - "un_noc": "aviso: la opciรณn de deshacer subidas completadas no estรก activada/permitida en la configuraciรณn del servidor", - "un_max": "mostrando los primeros 2000 archivos (usa el filtro)", - "un_avail": "{0} subidas recientes se pueden eliminar
    {1} inacabadas se pueden abortar", - "un_m2": "ordenado por tiempo de subida; mรกs recientes primero:", - "un_no1": "ยกpues no! ninguna subida es suficientemente reciente", - "un_no2": "ยกpues no! ninguna subida que coincida con ese filtro es suficientemente reciente", - "un_next": "eliminar los siguientes {0} archivos a continuaciรณn", - "un_abrt": "abortar", - "un_del": "eliminar", - "un_m3": "cargando tus subidas recientes...", - "un_busy": "eliminando {0} archivos...", - "un_clip": "{0} enlaces copiados al portapapeles", - - "u_https1": "deberรญas", - "u_https2": "cambiar a https", - "u_https3": "para un mejor rendimiento", - "u_ancient": "tu navegador es impresionantemente antiguo -- quizรกs deberรญas usar bup en su lugar", - "u_nowork": "se necesita firefox 53+ o chrome 57+ o iOS 11+", - "tail_2old": "se necesita firefox 105+ o chrome 71+ o iOS 14.5+", - "u_nodrop": "tu navegador es demasiado antiguo para subir arrastrando y soltando", - "u_notdir": "ยกeso no es una carpeta!\n\ntu navegador es demasiado antiguo,\npor favor intenta arrastrar y soltar en su lugar", - "u_uri": "para arrastrar y soltar imรกgenes desde otras ventanas del navegador,\npor favor suรฉltalas sobre el gran botรณn de subida", - "u_enpot": "cambiar a UI ligera (puede mejorar la velocidad de subida)", - "u_depot": "cambiar a UI elegante (puede reducir la velocidad de subida)", - "u_gotpot": "cambiando a la UI ligera para mejorar la velocidad de subida,\n\nยกsiรฉntete libre de no estar de acuerdo y volver a cambiar!", - "u_pott": "

    archivos:   {0} finalizados,   {1} fallidos,   {2} ocupados,   {3} en cola

    ", - "u_ever": "este es el uploader bรกsico; up2k necesita al menos
    chrome 21 // firefox 13 // edge 12 // opera 12 // safari 5.1", - "u_su2k": "este es el uploader bรกsico; up2k es mejor", - "u_uput": "optimizar para velocidad (omitir checksum)", - "u_ewrite": "no tienes acceso de escritura a esta carpeta", - "u_eread": "no tienes acceso de lectura a esta carpeta", - "u_enoi": "la bรบsqueda de archivos no estรก activada en la configuraciรณn del servidor", - "u_enoow": "sobrescribir no funcionarรก aquรญ; se necesita permiso de eliminaciรณn", - "u_badf": "Estos {0} archivos (de un total de {1}) se omitieron, posiblemente debido a permisos del sistema de archivos:\n\n", - "u_blankf": "Estos {0} archivos (de un total de {1}) estรกn en blanco / vacรญos; ยฟsubirlos de todos modos?\n\n", - "u_applef": "Estos {0} archivos (de un total de {1}) probablemente no son deseables;\nPulsa Aceptar/Intro para OMITIR los siguientes archivos,\nPulsa Cancelar/ESC para NO excluir, y SUBIR esos tambiรฉn:\n\n", - "u_just1": "\nQuizรกs funcione mejor si seleccionas solo un archivo", - "u_ff_many": "si usas Linux / MacOS / Android, esta cantidad de archivos podrรญa bloquear Firefox!\nsi eso ocurre, por favor intรฉntalo de nuevo (o usa Chrome).", - "u_up_life": "Esta subida serรก eliminada del servidor\n{0} despuรฉs de que se complete", - "u_asku": "subir estos {0} archivos a {1}", - "u_unpt": "puedes deshacer / eliminar esta subida usando el ๐Ÿงฏ de arriba a la izquierda", - "u_bigtab": "a punto de mostrar {0} archivos\n\nesto podrรญa bloquear tu navegador, ยฟestรกs seguro?", - "u_scan": "Escaneando archivos...", - "u_dirstuck": "el iterador de directorios se atascรณ intentando acceder a los siguientes {0} elementos; se omitirรกn:", - "u_etadone": "Hecho ({0}, {1} archivos)", - "u_etaprep": "(preparando para subir)", - "u_hashdone": "hashing completado", - "u_hashing": "hash", - "u_hs": "negociando...", - "u_started": "los archivos se estรกn subiendo ahora; mira en [๐Ÿš€]", - "u_dupdefer": "duplicado; se procesarรก despuรฉs de todos los demรกs archivos", - "u_actx": "haz clic en este texto para evitar la pรฉrdida de
    rendimiento al cambiar a otras ventanas/pestaรฑas", - "u_fixed": "ยกOK!  Arreglado ๐Ÿ‘", - "u_cuerr": "fallo al subir el trozo {0} de {1};\nprobablemente inofensivo, continuando\n\narchivo: {2}", - "u_cuerr2": "el servidor rechazรณ la subida (trozo {0} de {1});\nse reintentarรก mรกs tarde\n\narchivo: {2}\n\nerror ", - "u_ehstmp": "se reintentarรก; mira abajo a la derecha", - "u_ehsfin": "el servidor rechazรณ la solicitud para finalizar la subida; reintentando...", - "u_ehssrch": "el servidor rechazรณ la solicitud para realizar la bรบsqueda; reintentando...", - "u_ehsinit": "el servidor rechazรณ la solicitud para iniciar la subida; reintentando...", - "u_eneths": "error de red al realizar la negociaciรณn de subida; reintentando...", - "u_enethd": "error de red al comprobar la existencia del destino; reintentando...", - "u_cbusy": "esperando a que el servidor vuelva a confiar en nosotros despuรฉs de un fallo de red...", - "u_ehsdf": "ยกel servidor se quedรณ sin espacio en disco!\n\nse seguirรก reintentando, por si alguien\nlibera suficiente espacio para continuar", - "u_emtleak1": "parece que tu navegador podrรญa tener una fuga de memoria;\npor favor", - "u_emtleak2": " cambia a https (recomendado) o ", - "u_emtleak3": " ", - "u_emtleakc": "prueba lo siguiente:\n
    • pulsa F5 para refrescar la pรกgina
    • luego desactiva el botรณn  mt  en los  โš™๏ธ ajustes
    • e intenta esa subida de nuevo
    Las subidas serรกn un poco mรกs lentas, pero bueno.\nยกPerdรณn por las molestias!\n\nPD: chrome v107 tiene una soluciรณn para esto", - "u_emtleakf": "prueba lo siguiente:\n
    • pulsa F5 para refrescar la pรกgina
    • luego activa ๐Ÿฅ” (ligera) en la interfaz de subida
    • e intenta esa subida de nuevo
    \nPD: firefox con suerte tendrรก una soluciรณn en algรบn momento", - "u_s404": "no encontrado en el servidor", - "u_expl": "explicar", - "u_maxconn": "la mayorรญa de los navegadores limitan esto a 6, pero firefox te permite aumentarlo con connections-per-server en about:config", - "u_tu": '

    AVISO: turbo activado,  el cliente puede no detectar y reanudar subidas incompletas; ver tooltip del botรณn turbo

    ', - "u_ts": '

    AVISO: turbo activado,  los resultados de bรบsqueda pueden ser incorrectos; ver tooltip del botรณn turbo

    ', - "u_turbo_c": "turbo estรก desactivado en la configuraciรณn del servidor", - "u_turbo_g": "desactivando turbo porque no tienes\nprivilegios para listar directorios en este volumen", - "u_life_cfg": 'autoeliminar despuรฉs de min (o horas)', - "u_life_est": 'la subida se eliminarรก ---', - "u_life_max": "esta carpeta impone una\nvida mรกxima de {0}", - "u_unp_ok": "se permite deshacer la subida durante {0}", - "u_unp_ng": "NO se permitirรก deshacer la subida", - "ue_ro": "tu acceso a esta carpeta es de solo lectura\n\n", - "ue_nl": "actualmente no has iniciado sesiรณn", - "ue_la": "actualmente has iniciado sesiรณn como \"{0}\"", - "ue_sr": "actualmente estรกs en modo de bรบsqueda de archivos\n\ncambia a modo de subida haciendo clic en la lupa ๐Ÿ”Ž (junto al gran botรณn BUSCAR), e intenta subir de nuevo\n\nlo siento", - "ue_ta": "intenta subir de nuevo, ahora deberรญa funcionar", - "ue_ab": "este archivo ya se estรก subiendo a otra carpeta, y esa subida debe completarse antes de que el archivo pueda ser subido a otro lugar.\n\nPuedes abortar y olvidar la subida inicial usando el ๐Ÿงฏ de arriba a la izquierda", - "ur_1uo": "OK: Archivo subido con รฉxito", - "ur_auo": "OK: Todos los {0} archivos subidos con รฉxito", - "ur_1so": "OK: Archivo encontrado en el servidor", - "ur_aso": "OK: Todos los {0} archivos encontrados en el servidor", - "ur_1un": "Subida fallida, lo siento", - "ur_aun": "Todas las {0} subidas fallaron, lo siento", - "ur_1sn": "El archivo NO se encontrรณ en el servidor", - "ur_asn": "Los {0} archivos NO se encontraron en el servidor", - "ur_um": "Finalizado;\n{0} subidas OK,\n{1} subidas fallidas, lo siento", - "ur_sm": "Finalizado;\n{0} archivos encontrados en el servidor,\n{1} archivos NO encontrados en el servidor", - - "lang_set": "ยฟrefrescar para que el cambio surta efecto?" - }, - "swe": { - "tt": "Svenska", - - "cols": { - "c": "aktion", - "dur": "lรคngd", - "q": "kvalitet / bitrate", - "Ac": "ljudkodek", - "Vc": "videokodek", - "Fmt": "format / container", - "Ahash": "ljudchecksumma", - "Vhash": "videochecksumma", - "Res": "upplรถsning", - "T": "filtyp", - "aq": "ljudkvalitet / bitrate", - "vq": "videokvalitet / bitrate", - "pixfmt": "subsampling / pixelstruktur", - "resw": "horisontell upplรถsning", - "resh": "vertikal upplรถsning", - "chs": "antal ljudkanaler", - "hz": "samplingsfrekvens" - }, - - "hks": [ - [ - "รถvrigt", - ["ESC", "stรคng diverse paneler"], - - "filhanterare", - ["G", "vรคxla mellan listvy / rutnรคt"], - ["T", "vรคxla mellan miniatyrer / ikoner"], - ["โ‡ง A/D", "miniatyrstorlek"], - ["ctrl-K", "radera urval"], - ["ctrl-X", "klipp urval till urklipp"], - ["ctrl-C", "kopiera urval till urklipp"], - ["ctrl-V", "klistra in (kopiera/flytta) hit"], - ["Y", "ladda ner urval"], - ["F2", "byt namn pรฅ urval"], - - "vรคlja filer", - ["Blanksteg", "vรคxla val av fil"], - ["โ†‘/โ†“", "flytta filvalsmarkรถr"], - ["ctrl โ†‘/โ†“", "flytta markรถr och vy"], - ["โ‡ง โ†‘/โ†“", "vรคlj fรถregรฅende/nรคsta fil"], - ["ctrl-A", "vรคlj alla filer / mappar"], - ], [ - "navigation", - ["B", "vรคxla mellan brรถdsmulor / trรคdvy"], - ["I/K", "fรถregรฅende/nรคsta mapp"], - ["M", "hoppa till รถverordnad mapp (eller kollapsa nรคrvarande)"], - ["V", "vรคxla mellan mappar / textfiler i trรคdvy"], - ["A/D", "trรคdvystorlek"], - ], [ - "ljudspelare", - ["J/L", "fรถregรฅende/nรคsta lรฅt"], - ["U/O", "hoppa 10sek bakรฅt/framรฅt"], - ["0..9", "hoppa till 0%..90%"], - ["P", "play/paus (startar รคven uppspelning)"], - ["S", "vรคlj lรฅten som spelas"], - ["Y", "ladda ner lรฅt"], - ], [ - "bildvisare", - ["J/L, โ†/โ†’", "fรถregรฅende/nรคsta bild"], - ["Hem/End", "fรถrsta/sista bilden"], - ["F", "helskรคrm"], - ["R", "rotera medsols"], - ["โ‡ง R", "rotera motsols"], - ["S", "vรคlj bild"], - ["Y", "ladda ner bild"], - ], [ - "videospelare", - ["U/O", "hoppa 10sek bakรฅt/framรฅt"], - ["P/K/Blanksteg", "play/paus"], - ["C", "fortsรคtt med nรคsta"], - ["V", "loopa"], - ["M", "stรคng av ljud"], - ["[ och ]", "stรคll in loopintervall"], - ], [ - "textfilsvisare", - ["I/K", "fรถregรฅende/nรคsta fil"], - ["M", "stรคng textfil"], - ["E", "redigera textfil"], - ["S", "vรคlj fil"], - ] - ], - - "m_ok": "OK", - "m_ng": "Avbryt", - - "enable": "Aktivera", - "danger": "VARNING", - "clipped": "kopierat till urklipp", - - "ht_s1": "sekund", - "ht_s2": "sekunder", - "ht_m1": "minut", - "ht_m2": "minuter", - "ht_h1": "timme", - "ht_h2": "timmar", - "ht_d1": "dag", - "ht_d2": "dagar", - "ht_and": " och ", - - "goh": "kontrollpanel", - "gop": 'fรถregรฅende mapp">fรถreg.', - "gou": 'รถverordnad mapp">upp', - "gon": 'nรคsta mapp">nรคsta', - "logout": "Logga ut ", - "login": "Logga in", //m - "access": "-rรคttighet", - "ot_close": "stรคng undermeny", - "ot_search": "sรถk efter filer via attribut, sรถkvรคg / namn, musiktaggar, eller nรฅgon kombination av dessa$N$N<code>foo bar</code> = mรฅste innehรฅlla bรฅde ยซfooยป och ยซbarยป,$N<code>foo -bar</code> = mรฅste innehรฅlla ยซfooยป men inte ยซbarยป,$N<code>^yana .opus$</code> = mรฅste bรถrja med ยซyanaยป och vara en ยซopusยป-fil$N<code>"try unite"</code> = mรฅste innehรฅlla exakt ยซtry uniteยป$N$Ndatumformatet รคr iso-8601, t.ex.$N<code>2009-12-31</code> eller <code>2020-09-12 23:30:00</code>", - "ot_unpost": "unpost: radera dina senaste uppladdningar, eller avbryt pรฅgรฅende sรฅdana", - "ot_bup": "bup: enkel uppladdare, stรถdjer t o m netscape 4.0", - "ot_mkdir": "mkdir: skapa en ny mapp", - "ot_md": "new-md: skapa ett nytt markdown-dokument", - "ot_msg": "msg: skicka ett meddelande till serverloggen", - "ot_mp": "mediaspelarinstรคllningar", - "ot_cfg": "konfigurationsinstรคllningar", - "ot_u2i": 'up2k: ladda upp filer (om du har skrivrรคttigheter) eller byt till sรถklรคge fรถr att se om de finns nรฅgonstans pรฅ servern$N$Nuppladdningarna รคr รฅterupptagbara, multitrรฅdade och filernas tidsstรคmpel bevaras, men den anvรคnder mer CPU รคn [๐ŸŽˆ]  (den enkla uppladdaren)

    under uppladdningens gรฅng blir denna ikon en fรถrloppsindikator!', - "ot_u2w": 'up2k: ladda upp filer med stรถd fรถr รฅterupptagning (stรคng din webblรคsare och dra in samma filer senare)$N$Nmultitrรฅdad och filernas tidsstรคmpel bevaras, men den anvรคnder mer CPU รคn [๐ŸŽˆ]  (den enkla uppladdaren)

    under uppladdningens gรฅng blir denna ikon en fรถrloppsindikator!', - "ot_noie": 'Var vรคnlig anvรคnd Chrome / Firefox / Edge', - - "ab_mkdir": "skapa mapp", - "ab_mkdoc": "nytt markdown-dokument", - "ab_msg": "skicka medd. till serverlogg", - - "ay_path": "hoppa till mappar", - "ay_files": "hoppa till filer", - - "wt_ren": "byt namn pรฅ urval$NSnabbtangent: F2", - "wt_del": "radera urval$NSnabbtangent: ctrl-K", - "wt_cut": "klipp urval<small>(fรถr att klistra in nรฅgonstans)</small>$NSnabbtangent: ctrl-X", - "wt_cpy": "kopiera urval till urklipp$N(fรถr att klistra in nรฅgonstans)$NSnabbtangent: ctrl-C", - "wt_pst": "klistra in tidigare urval$NSnabbtangent: ctrl-V", - "wt_selall": "vรคlj alla filer$NSnabbtangent: ctrl-A (nรคr en fil har fokus)", - "wt_selinv": "invertera urval", - "wt_zip1": "ladda ner denna mapp som ett arkiv", - "wt_selzip": "ladda ner urval som ett arkiv", - "wt_seldl": "ladda ner urval som separata filer$NSnabbtangent: Y", - "wt_npirc": "kopiera IRC-formatterad lรฅtinfo", - "wt_nptxt": "kopiera lรฅtinfo i klartext", - "wt_m3ua": "lรคgg till i m3u-spellista (klicka pรฅ ๐Ÿ“ปcopy senare)", - "wt_m3uc": "kopiera m3u-spellista till urklipp", - "wt_grid": "vรคxla mellan rutnรคt och listvy$NSnabbtangent: G", - "wt_prev": "fรถregรฅende lรฅt$NSnabbtangent: J", - "wt_play": "play / paus$NSnabbtangent: P", - "wt_next": "nรคsta lรฅt$NSnabbtangent: L", - - "ul_par": "samtidiga uppladdningar:", - "ut_rand": "slumpa filnamn", - "ut_u2ts": "bevara tidsstรคmpeln fรถr senaste รคndring$Nfrรฅn ditt filsystem till servern\">๐Ÿ“…", - "ut_ow": "skriv รถver existerande filer pรฅ servern?$N๐Ÿ›ก๏ธ: aldrig (skapar ett nytt filnamn istรคllet)$N๐Ÿ•’: skriv รถver om serverns fil รคr รคldre รคn din$Nโ™ป๏ธ: skriv alltid รถver om filerna skiljer sig", - "ut_mt": "fortsรคtt hasha filer under uppladdningens gรฅng$N$Nstรคng av om din CPU eller disk รคr en flaskhals", - "ut_ask": 'bekrรคfta innan uppladdningar pรฅbรถrjas">๐Ÿ’ญ', - "ut_pot": "fรถrbรคttra uppladdningshastigheten pรฅ lรฅngsamma enheter$Ngenom att fรถrenkla anvรคndargrรคnssnittet", - "ut_srch": "ladda inte upp; kolla istรคllet om filerna redan existerar pรฅ $N servern (detta kommer att skanna alla mappar med lรคsrรคttighet)", - "ut_par": "du kan pausa all uppladdning genom att sรคtta detta till 0$N$Nรถka denna om din uppkoppling รคr lรฅngsam eller har hรถg latens$N$Nsรคtt till 1 รถver lokala nรคtverk eller om serverns disk รคr en flaskhals", - "ul_btn": "slรคpp filer / mappar
    hรคr (eller klicka)", - "ul_btnu": "L A D D A U P P", - "ul_btns": "S ร– K", - - "ul_hash": "hashar", - "ul_send": "skickar", - "ul_done": "klar", - "ul_idle1": "inga uppladdningar har kรถats", - "ut_etah": "medelhastighet fรถr <em>hashning</em>, och uppskattad รฅterstรฅende tid", - "ut_etau": "medelhastighet fรถr <em>รถverfรถring</em>, och uppskattad รฅterstรฅende tid", - "ut_etat": "<em>total</em> medelhastighet, och uppskattad รฅterstรฅende tid", - - "uct_ok": "lyckade", - "uct_ng": "no-good: misslyckade / avvisade / ej funna", - "uct_done": "ok och ng kombinerat", - "uct_bz": "pรฅgรฅende", - "uct_q": "kรถade", - - "utl_name": "filnamn", - "utl_ulist": "visa", - "utl_ucopy": "kopiera", - "utl_links": "lรคnkar", - "utl_stat": "status", - "utl_prog": "fรถrlopp", - - // keep short: - "utl_404": "404", - "utl_err": "FEL", - "utl_oserr": "OS-fel", - "utl_found": "hittad", - "utl_defer": "vรคntar", - "utl_yolo": "YOLO", - "utl_done": "klar", - - "ul_flagblk": "filerna lades till i kรถn,
    men det finns en upptagen up2k i en annan webblรคsarflik,
    sรฅ vi vรคntar pรฅ den fรถrst", - "ul_btnlk": "serverkonfigurationen har lรฅst denna instรคllning", - - "udt_up": "Ladda upp", - "udt_srch": "Sรถk", - "udt_drop": "slรคpp hรคr", - - "u_nav_m": '
    jaha, vad har du dรฅ?
    Enter = Filer (en eller flera)\nESC = En mapp (inklusive undermappar)', - "u_nav_b": 'FilerEn mapp', - - "cl_opts": "vรคxlar", - "cl_themes": "tema", - "cl_langs": "sprรฅk", - "cl_ziptype": "mappnedladdning", - "cl_uopts": "up2k-instรคllningar", - "cl_favico": "favikon", - "cl_bigdir": "stora mappar", - "cl_hsort": "#sort.", - "cl_keytype": "tonartsnotering", - "cl_hiddenc": "dolda kolumner", - "cl_hidec": "dรถlj", - "cl_reset": "รฅterstรคll", - "cl_hpick": "tryck pรฅ en kolumntitel fรถr att dรถlja den i filvyn", - "cl_hcancel": "kolumndรถljning avbruten", - - "ct_grid": '็”ฐ rutnรคtet', - "ct_ttips": 'โ—” โ—ก โ—”">โ„น๏ธ tips', - "ct_thumb": 'vรคxla mellan miniatyrer och ikoner i rutnรคtsvyn$NSnabbtangent: T">๐Ÿ–ผ๏ธ miniatyrer', - "ct_csel": 'anvรคnd CTRL och SKIFT fรถr urval av filer i rutnรคtsvyn">val', - "ct_ihop": 'skrolla till den senast visade filen nรคr bildvisaren stรคngs">gโฎฏ', - "ct_dots": 'visa dolda filer (om servern tillรฅter detta)">dolda', - "ct_qdel": 'bekrรคfta endast en gรฅng nรคr filer raderas">srad', - "ct_dir1st": 'sortera mappar fรถre filer">๐Ÿ“ fรถrst', - "ct_nsort": 'naturlig sortering (fรถr filnamn med ledande siffror)">nsort', - "ct_utc": 'visa alla datum och tider i UTC">UTC', - "ct_readme": 'visa README.md i listvyn">๐Ÿ“œ lรคsmig', - "ct_idxh": 'visa index.html istรคllet fรถr listvyn">htm', - "ct_sbars": 'visa rullningslister">โŸŠ', - - "cut_umod": "om en fil redan existerar pรฅ servern, uppdatera serverns senast modifierade tidsstรคmpel till att matcha din lokala fil (krรคver skriv+radera-rรคttighet)\">re๐Ÿ“…", - - "cut_turbo": "yolo-knappen, du vill fรถrmodligen INTE aktivera denna:$N$Nanvรคnd denna om du hรถll pรฅ att ladda upp en stor mรคngd filer och var tvungen att stรคnga webblรคsaren, och du vill fortsรคtta uppladdningen sรฅ fort som mรถjligt$N$Ndetta ersรคtter hash-checken med en enkel "har denna fil samma filstorlek pรฅ servern?", sรฅ om filinnehรฅllet skiljer sig kommer den INTE att laddas upp$N$Ndu bรถr stรคnga av denna nรคr uppladdningen รคr klar och sedan "ladda upp" samma filer igen fรถr att lรฅta klienten verifiera dem\">turbo", - - "cut_datechk": "har endast effekt med turbo-vรคxeln pรฅslagen$N$Nminskar yolo-faktorn lite grann; kollar om filtidsstรคmplarna pรฅ servern matchar dina$N$Ndetta bรถr fรฅnga de flesta ofรคrdiga / korrumperade uppladdningarna, men kan inte ersรคtta ett fullstรคndigt verifieringspass med turbo avstรคngt\">date-chk", - - "cut_u2sz": "storlek (i MiB) fรถr varje uppladdnings-chunk; stora vรคrden flyger bรคttre รถver atlanten. Prova lรคgre vรคrden pรฅ mycket opรฅlitliga uppkopplingar", - - "cut_flag": "garantera att endast en flik laddar upp samtidigt $N -- andra flikar mรฅste ocksรฅ ha denna pรฅslagen -- $N pรฅverkar endast flikar pรฅ samma domรคn", - - "cut_az": "ladda upp filer i alfabetisk ordning, snarare รคn mindre filer fรถrst$N$Nalfabetisk ordning kan gรถra det enklare att se var nรฅgot har gรฅtt fel, men uppladdningen blir lite lรฅngsammare รถver fiber / lokala nรคtverk", - - "cut_nag": "skicka en systemnotifikation nรคr uppladdningar blir klara$N(endast om webblรคsaren eller fliken inte รคr fokuserade)", - "cut_sfx": "ljudnotifikation nรคr uppladdningar blir klara$N(endast om webblรคsaren eller fliken inte รคr fokuserade)", - - "cut_mt": "anvรคnd multitrรฅdning fรถr att accelerera filhashningen$N$Ndetta anvรคnder web-workers och krรคver$Nmer RAM (upp till 512 MiB extra)$N$Nuppladdningar รถver https blir 30% snabbare, รถver http 4.5x snabbare\">mt", - - "cut_wasm": "anvรคnd wasm istรคllet fรถr webblรคsarens inbyggda hashare; fรถrbรคttrar hastigheten i chrome-baserade webblรคsare men รถkar CPU-lasten, och mรฅnga รคldre versioner av chrome har buggar som fรฅr webblรคsaren att konsumera allt RAM-minne och krascha om detta รคr pรฅslaget\">wasm", - - "cft_text": "favikon-text (lรฅt stรฅ tom och uppdatera sidan fรถr att stรคnga av)", - "cft_fg": "fรถrgrundsfรคrg", - "cft_bg": "bakgrundsfรคrg", - - "cdt_lim": "hรถgsta antal filer att visa in en mapp", - "cdt_ask": "nรคr du nรฅr botten av vyn,$Nbe om en รฅtgรคrd istรคllet fรถr att ladda fler filer", - "cdt_hsort": "hur mรฅnga sorteringsregler (<code>,sorthref</code>) att inkludera i media-URL:er. Sรคtts detta till 0 kommer regler i klickade medialรคnkar รคven att ignoreras", - - "tt_entree": "visa trรคdvy$NSnabbtangent: B", - "tt_detree": "visa brรถdsmulor$NSnabbtangent: B", - "tt_visdir": "skrolla till รถppnad mapp", - "tt_ftree": "vรคxla mellan trรคdvy och textfiler$NHotkey: V", - "tt_pdock": "visa รถverordnade mappar i en panel lรคngst upp i vyn", - "tt_dynt": "vรคx vyn nรคr trรคdet expanderar", - "tt_wrap": "automatisk radbrytning", - "tt_hover": "visa รถverlรฅnga rader nรคr muspekaren hovrar รถver dem$N( skrollhjulet fungerar ej sรฅvida inte pekaren$Nstรฅr till vรคnster )", - - "ml_pmode": "vid mappens slut...", - "ml_btns": "komm.", - "ml_tcode": "konvertera", - "ml_tcode2": "konvertera till", - "ml_tint": "hy", - "ml_eq": "ljudutjรคmnare", - "ml_drc": "dynamikkompressor", - - "mt_loop": "upprepa en lรฅt\">๐Ÿ”", - "mt_one": "stoppa uppspelningen efter en lรฅt\">1๏ธโƒฃ", - "mt_shuf": "blanda lรฅtarna i varje mapp\">๐Ÿ”€", - "mt_aplay": "spela automatiskt om det finns en lรฅt-ID i lรคnkar du har klickat pรฅ fรถr att รถppna sidan$N$Nom detta รคr avstรคngt kommer sidans adress inte att bli uppdaterad med en lรฅt-ID om du spelar musik, fรถr att fรถrhindra automatisk uppspelning om dessa instรคllningar gรฅr fรถrlorade men webbadressen รฅterstรฅr\">aโ–ถ", - "mt_preload": "pรฅbรถrja nedladdning av nรคsta lรฅt i fรถrvรคg fรถr gapfri uppspelning\">ladda", - "mt_prescan": "hoppa till nรคsta mapp i fรถrvรคg sรฅ att webblรคsaren$Nfรถrblir glad och inte avbryter uppspelningen\">nav", - "mt_fullpre": "fรถrsรถk att ladda ner hela lรฅten i fรถrvรคg;$Nโœ… aktivera pรฅ opรฅlitliga uppkopplingar,$NโŒ avaktivera kanske pรฅ lรฅngsamma uppkopplingar\">full", - "mt_fau": "fรถrhindra att uppspelningen avstannar pรฅ telefoner om nรคsta lรฅt inte laddas tillrรคckligt snabbt i fรถrvรคg (kan ge upphov till buggiga musiktaggar)\">โ˜•๏ธ", - "mt_waves": "vรฅgformsreglage:$Nvisa ljudstyrkan i uppspelningsreglaget\">~s", - "mt_npclip": "visa knappar fรถr att kopiera lรฅtinfo till urklippet\">/np", - "mt_m3u_c": "visa knappar fรถr att kopiera de valda$Nlรฅtarna som en m3u8-spellista\">๐Ÿ“ป", - "mt_octl": "systemintegration (mediaknappar / skรคrmdisplay)\">os-ctl", - "mt_oseek": "tillรฅt fram- och bakรฅtspolning via systemintegrationen$N$Nobs.: pรฅ vissa enheter (iPhone)$Nersรคtter detta knappen fรถr nรคsta lรฅt\">spola", - "mt_oscv": "visa skivomslag i skรคrmdisplayen\">omslag", - "mt_follow": "skrolla vyn till den spelande lรฅten\">๐ŸŽฏ", - "mt_compact": "kompakt kontrollpanel\">โŸŽ", - "mt_uncache": "rensa cachen  (prova detta om din webblรคsare har cachat$Nen trasig kopia av en lรฅt och den vรคgrar spela upp den)\">rensa", - "mt_mloop": "upprepa den รถppna mappen\">๐Ÿ” upprepa", - "mt_mnext": "ladda nรคsta mapp och fortsรคtt\">๐Ÿ“‚ nรคsta", - "mt_mstop": "stoppa uppspelningen\">โธ stopp", - "mt_cflac": "konvertera flac / wav till {0}\">flac", - "mt_caac": "konvertera aac / m4a till {0}\">aac", - "mt_coth": "konvertera allt annat (fรถrutom mp3) till {0}\">annat", - "mt_c2opus": "bรคst val fรถr pc, laptop, android\">opus", - "mt_c2owa": "opus-weba, fรถr iOS 17.5 och senare\">owa", - "mt_c2caf": "opus-caf, fรถr iOS 11 till 17\">caf", - "mt_c2mp3": "anvรคnd detta pรฅ mycket gamla enheter\">mp3", - "mt_c2flac": "bรคst ljudkvalitet, men enorma nedladdningar\">flac", - "mt_c2wav": "okomprimerad uppspelning (รคnnu stรถrre)\">wav", - "mt_c2ok": "snyggt, bra val", - "mt_c2nd": "det รคr inte det rekommenderade formatet fรถr din enhet, men det รคr lungt", - "mt_c2ng": "din enhet verkar inte stรถdja det hรคr formatet, men vi provar รคndรฅ", - "mt_xowa": "det finns buggar i iOS som hindrar uppspelning i bakgrunden med detta format; vรคnligen anvรคnd caf eller mp3 istรคllet", - "mt_tint": "nivรฅ pรฅ bakgrundsfรคrg (0-100) pรฅ uppspelningsreglaget;$Ngรถr buffring mindre distraherande", - "mt_eq": "aktiverar utjรคmning och fรถrstรคrkning;$N$Nboost <code>0</code> = standard 100%-volym (omodifierad)$N$Nwidth <code>1  </code> = standard stereo (omodifierad)$Nwidth <code>0.5</code> = 50% vรคnster-hรถger crossfeed$Nwidth <code>0  </code> = mono$N$Nboost <code>-0.8</code> & width <code>10</code> = tar bort sรฅng :^)$N$Nnรคr utjรคmningen รคr aktiverad blir gaplรถsa album verkligen gaplรถsa, sรฅ lรฅt den stรฅ pรฅslagen med alla vรคrden satta till 0 (fรถrutom width = 1) om du bryr dig om det", - "mt_drc": "aktiverar dynamikkompressorn (volymtillplattning / brickwaller); aktiverar รคven utjรคmnaren fรถr att balansera rรถran, sรฅ sรคtt alla fรคlt i utjรคmnaren fรถrutom 'width' till 0 om du inte vill ha den$N$Nsรคnker all volym รถver THRESHOLD dB; fรถr varje RATIO dB รถver THRESHOLD blir det 1 dB av output, sรฅ standardvรคrdena tresh = -24 och ratio = 12 innebรคr att volymen aldrig bรถr bli hรถgre รคn -22 dB och det รคr sรคkert att hรถja utjรคmnarens boost till 0.8, eller t.o.m. 1.8 med ATK 0 och ett hรถgt RLS-vรคrde t.ex. 90 (fungerar endast i firefox; RLS รคr lรฅst till hรถgst 1 i andra webblรคsare)$N$N(se wikipedia fรถr en bรคttre fรถrklaring)", - - "mb_play": "play", - "mm_hashplay": "spela upp den hรคr ljudfilen?", - "mm_m3u": "tryck Enter/OK fรถr att spela\ntryck ESC/Avbryt to Edit", - "mp_breq": "firefox 82+ eller chrome 73+ eller iOS 15+ krรคvs", - "mm_bload": "laddar...", - "mm_bconv": "konverterar till {0}, vรคnligen vรคnta...", - "mm_opusen": "din webblรคsare kan inte spela upp aac- eller m4a-filer;\nkonvertering till opus รคr nu pรฅslaget", - "mm_playerr": "uppspelning misslyckades: ", - "mm_eabrt": "Uppspelningen avbrรถts", - "mm_enet": "Din uppkoppling รคr skum", - "mm_edec": "Filen รคr korrumperad??", - "mm_esupp": "Din webblรคsare fรถrstรฅr inte detta format", - "mm_eunk": "Okรคnt Fel", - "mm_e404": "Kunde inte spela upp ljudfil; fel 404: Filen hittades inte.", - "mm_e403": "Kunde inte spela upp ljudfil; fel 403: ร…tkomst nekad.\n\nProva att ladda om sidan med F5, du kanske blev utloggad", - "mm_e500": "Kunde inte spela upp ljudfil; fel 500: Kolla serverloggen.", - "mm_e5xx": "Kunde inte spela upp ljudfil; serverfel ", - "mm_nof": "hittade inga fler lรฅtar i nรคrheten", - "mm_prescan": "Letar efter fler lรฅtar...", - "mm_scank": "Hittade nรคsta lรฅt:", - "mm_uncache": "cachen rensad; alla lรฅtar kommer att laddas ner igen vid uppspelning", - "mm_hnf": "den lรฅten finns inte lรคngre", - - "im_hnf": "den bilden finns inte lรคngre", - - "f_empty": 'mappen รคr tom', - "f_chide": 'detta kommer att dรถlja kolumnen ยซ{0}ยป\n\ndu kan visa kolumner igen i instรคllningarna', - "f_bigtxt": "den hรคr filen รคr {0} MiB stor -- vill du verkligen visa den som text?", - "f_bigtxt2": "visa endast slutet pรฅ filen? detta aktiverar รคven รถvervakning, vilket visar nya rader i filen i realtid", - "fbd_more": '
    {0} av {1} filer visas; visa {2} eller visa alla
    ', - "fbd_all": '
    {0} av {1} filer visas; visa alla
    ', - "f_anota": "endast {0} av {1} objekt valdes;\nfรถr att vรคlja hela mappen, skrolla fรถrst till botten av vyn", - - "f_dls": 'fillรคnkarna i den รถppna mappen har\nbytts till nedladdningslรคnkar', - - "f_partial": "Fรถr att sรคkert ladda ner en fil som fรถr tillfรคllet laddas upp, vรคnligen klicka pรฅ filen som har samma filnamn men utan .PARTIAL-filรคndelsen. Vรคnligen tryck Avbryt eller Escape fรถr att gรถra detta.\n\nOm du bortser frรฅn denna varning och trycker OK eller Enter kommer den tillfรคlliga .PARTIAL-filen istรคllet att laddas ner, vilket รคr nรคstan garanterat att ge dig korrumperad data.", - - "ft_paste": "klistra in {0} objekt$NSnabbtangent: ctrl-V", - "fr_eperm": 'kan ej byta namn:\ndu har inte flyttrรคttighet i denna mapp', - "fd_eperm": 'kan ej radera:\ndu har inte raderingsrรคttighet i denna mapp', - "fc_eperm": 'kan ej klippa:\ndu har inte flyttrรคttighet i denna mapp', - "fp_eperm": 'kan ej klistra in:\ndu har inte skrivrรคttighet i denna mapp', - "fr_emore": "vรคlj minst en fil att byta namn pรฅ", - "fd_emore": "vรคlj minst en fil att radera", - "fc_emore": "vรคlj minst en fil att klippa", - "fcp_emore": "vรคlj minst en fil att kopiera till urklippet", - - "fs_sc": "dela den รถppna mappen", - "fs_ss": "dela de urvalda filerna", - "fs_just1d": "du kan inte vรคlja mer รคn en mapp\neller blanda filer och mappar i samma urval", - "fs_abrt": "โŒ avbryt", - "fs_rand": "๐ŸŽฒ slump.namn", - "fs_go": "โœ… skapa utdelning", - "fs_name": "namn", - "fs_src": "kรคlla", - "fs_pwd": "lรถsen", - "fs_exp": "utgรฅng", - "fs_tmin": "min", - "fs_thrs": "timmar", - "fs_tdays": "dagar", - "fs_never": "oรคndlig", - "fs_pname": "valfritt lรคnknamn; slumpas fram om detta stรฅr tomt", - "fs_tsrc": "filen eller mappen att dela", - "fs_ppwd": "valfritt lรถsenord", - "fs_w8": "skapar utdelning...", - "fs_ok": "tryck Enter/OK fรถr att kopiera lรคnken till urklipp\ntryck ESC/Avbryt fรถr att stรคnga", - - "frt_dec": "kan laga vissa typer av trasiga filnamn\">avkoda-url", - "frt_rst": "รฅterstรคll modifierade filnamn till de ursprungliga\">โ†บ รฅterstรคll", - "frt_abrt": "avbryt och stรคng denna panel\">โŒ avbryt", - "frb_apply": "BYT NAMN", - "fr_adv": "batch-, metadata- och mรถnsteromskrivning\">avancerat", - "fr_case": "skiftlรคgeskรคnsligt reguljรคrt uttryck\">skift", - "fr_win": "windows-sรคkra namn; ersรคtt <>:"\\|?* med japanska fullbreddtecken\">win", - "fr_slash": "ersรคtt / med ett tecken som inte skapar nya mappar\">ingen /", - "fr_re": "reguljรคrt sรถkuttryck att tillรคmpa pรฅ ursprungliga filnamn; grupper kan hรคnvisas till i formatfรคltet nedan via <code>(1)</code> och <code>(2)</code> osv.", - "fr_fmt": "inspirerat av foobar2000:$N<code>(title)</code> ersรคtts av lรฅttitel,$N<code>[(artist) - ](title)</code> skippar [detta] om artisten รคr tom$N<code>$lpad((tn),2,0)</code> fyller i spรฅrnumret till 2 siffror", - "fr_pdel": "ta bort", - "fr_pnew": "spara som", - "fr_pname": "ge ett nytt namn pรฅ din instรคllning", - "fr_aborted": "avbrutet", - "fr_lold": "gammalt namn", - "fr_lnew": "nytt namn", - "fr_tags": "taggar fรถr de valda filerna (skrivskyddat, endast som referens):", - "fr_busy": "byter namn pรฅ {0} objekt...\n\n{1}", - "fr_efail": "namnbyte misslyckades:\n", - "fr_nchg": "{0} av de nya namnen รคndrades p g a win och/eller ingen /\n\nร„r det okej att fortsรคtta med de nya namnen?", - - "fd_ok": "radering lyckades", - "fd_err": "radering misslyckades:\n", - "fd_none": "inget raderades; kanske blockerat av serverkonfigurationen (xbd)?", - "fd_busy": "raderar {0} objekt...\n\n{1}", - "fd_warn1": "RADERA dessa {0} objekt?", - "fd_warn2": "Sista chansen! Det finns inget sรคtt att รฅngra detta. Radera?", - - "fc_ok": "klippte {0} objekt", - "fc_warn": 'klippte {0} objekt, men:\n\nendast denna webblรคsarflik kan klistra in dem\n(eftersom urvalet รคr sรฅ enormt stort)', - - "fcc_ok": "kopierade {0} objekt till urklippet", - "fcc_warn": 'kopierade {0} objekt till urklippet, men:\n\nendast denna webblรคsarflik kan klistra in dem\n(eftersom urvalet รคr sรฅ enormt stort)', - - "fp_apply": "anvรคnd dessa namn", - "fp_ecut": "klipp eller kopiera filer / mappar fรถrst fรถr att klistra / flytta dem\n\nobs.: du kan klippa och klistra mellan webblรคsarflikar", - "fp_ename": "{0} objekt kan ej flyttas hit eftersom filnamnen redan รคr tagna. Ge dem nya namn nedan fรถr att fortsรคtta, eller lรคmna fรคltet tomt fรถr att skippa:", - "fcp_ename": "{0} objekt kan ej kopieras hit eftersom filnamnen redan รคr tagna. Ge dem nya namn nedan fรถr att fortsรคtta, eller lรคmna fรคltet tomt fรถr att skippa:", - "fp_emore": "det finns fortfarande filnamnskrockar att fixa", - "fp_ok": "flytt lyckades", - "fcp_ok": "kopiering lyckades", - "fp_busy": "flyttar {0} objekt...\n\n{1}", - "fcp_busy": "kopierar {0} objekt...\n\n{1}", - "fp_abrt": "avbryter...", - "fp_err": "flytt misslyckades:\n", - "fcp_err": "kopiering misslyckades:\n", - "fp_confirm": "flytta dessa {0} objekt hit?", - "fcp_confirm": "kopiera dessa {0} objekt hit?", - "fp_etab": 'lyckades ej lรคsa urklippet frรฅn en annan webblรคsarflik', - "fp_name": "laddar upp en fil frรฅn din enhet. Ge den ett namn:", - "fp_both_m": '
    vรคlj vad som ska klistras in
    Enter = Flytta {0} objekt frรฅn ยซ{1}ยป\nESC = Ladda upp {2} filer frรฅn din enhet', - "fcp_both_m": '
    vรคlj vad som ska klistras in
    Enter = Kopiera {0} objekt frรฅn ยซ{1}ยป\nESC = Ladda upp {2} filer frรฅn din enhet', - "fp_both_b": 'FlyttaLadda upp', - "fcp_both_b": 'KopieraLadda upp', - - "mk_noname": "skriv ett namn i fรคltet till vรคnster fรถrst :p", - - "tv_load": "Laddar textfil:\n\n{0}\n\n{1}% ({2} av {3} MiB laddat)", - "tv_xe1": "kunde ej ladda textfil:\n\nfel ", - "tv_xe2": "404, filen hittades inte", - "tv_lst": "lista av textfiler i", - "tvt_close": "รฅtervรคnd till mapp$NSnabbtangent: M (eller Esc)\">โŒ stรคng", - "tvt_dl": "ladda ner denna fil$NSnabbtangent: Y\">๐Ÿ’พ ladda ner", - "tvt_prev": "visa fรถregรฅende fil$NSnabbtangent: i\">โฌ† fรถreg.", - "tvt_next": "visa nรคsta fil$NSnabbtangent: K\">โฌ‡ nรคsta", - "tvt_sel": "vรคlj fil   ( fรถr klipp / kopiera / radera / ... )$NSnabbtangent: S\">vรคlj", - "tvt_edit": "รถppna fil i textredigerare$NSnabbtangent: E\">โœ๏ธ redigera", - "tvt_tail": "รถvervaka filen; visa nya rader i realtid\">๐Ÿ“ก รถvervaka", - "tvt_wrap": "automatisk radbrytning\">โ†ต", - "tvt_atail": "lรฅs vyn till sidans botten\">โš“", - "tvt_ctail": "avkoda terminalfรคrger (ansi-escapesekvenser)\">๐ŸŒˆ", - "tvt_ntail": "grรคns fรถr scrollback (hur mรฅnga byte ska behรฅllas laddade)", - - "m3u_add1": "lรฅt tillagd till m3u-spellista", - "m3u_addn": "{0} lรฅtar tillagda till m3u-spellista", - "m3u_clip": "m3u-spellista kopierad till urklippet\n\ndu bรถr skapa en ny textfil som heter nรฅgonting.m3u och klistra in spellistan i det dokumentet; detta gรถr den uppspelbar", - - "gt_vau": "visa inte videor, spela endast ljudet\">๐ŸŽง", - "gt_msel": "urval av filer; ctrl-klicka en fil fรถr standardbeteende$N$N<em>nรคr detta รคr aktiverat: dubbelklicka en fil / mapp fรถr att รถppna den</em>$N$NSnabbtangent: S\">urval", - "gt_crop": "centrera och beskรคr miniatyrbilder\">beskรคr", - "gt_3x": "hรถgupplรถsta miniatyrbilder\">3x", - "gt_zoom": "zoom", - "gt_chop": "klipp", - "gt_sort": "sortera efter", - "gt_name": "namn", - "gt_sz": "storlek", - "gt_ts": "datum", - "gt_ext": "typ", - "gt_c1": "fรถrkorta filnamn (visa mindre)", - "gt_c2": "fรถrlรคng filnamn (visa mer)", - - "sm_w8": "sรถker...", - "sm_prev": "sรถkresultaten nedan รคr frรฅn en tidigare sรถkning:\n ", - "sl_close": "stรคng sรถkresultaten", - "sl_hits": "visar {0} trรคffar", - "sl_moar": "ladda fler", - - "s_sz": "storlek", - "s_dt": "datum", - "s_rd": "sรถkvรคg", - "s_fn": "namn", - "s_ta": "taggar", - "s_ua": "uppl.", - "s_ad": "avanc.", - "s_s1": "minimum MiB", - "s_s2": "maximum MiB", - "s_d1": "min. iso8601", - "s_d2": "max. iso8601", - "s_u1": "uppladdad efter", - "s_u2": "och/eller fรถre", - "s_r1": "sรถkvรคgen innehรฅller   (blankstegsseparerat)", - "s_f1": "filnamnet innehรฅller   (invertera med -intedetta)", - "s_t1": "taggar innehรฅller   (^=start, slut=$)", - "s_a1": "specifika metadataegenskaper", - - "md_eshow": "kan ej visa ", - "md_off": "[๐Ÿ“œlรคsmig] avstรคngt i [โš™๏ธ] -- dokumentet รคr dolt", - - "badreply": "Kunde ej tolka svaret frรฅn servern", - - "xhr403": "403: ร…tkomst nekad\n\nProva att ladda om sidan med F5, du kanske blev utloggad", - "xhr0": "okรคnt (tappade fรถrmodligen kontakt med servern, eller sรฅ รคr den nere)", - "cf_ok": "ledsen -- DD" + wah + "oS-skyddet har aktiverats\n\nsaker bรถr fungera igen om 30 sekunder\n\nom inget hรคnder, ladda om sidan med F5", - "tl_xe1": "kunde inte visa undermappar:\n\nfel ", - "tl_xe2": "404: Mappen hittades inte", - "fl_xe1": "kunde inte visa filer i mapp:\n\nfel ", - "fl_xe2": "404: Mappen hittades inte", - "fd_xe1": "kunde inte skapa mapp:\n\nfel ", - "fd_xe2": "404: ร–verordnad mapp hittades inte", - "fsm_xe1": "kunde inte skicka meddelande:\n\ndel ", - "fsm_xe2": "404: ร–verordnad mapp hittades inte", - "fu_xe1": "kunde inte ladda unpost-listan frรฅn servern:\n\nfel ", - "fu_xe2": "404: Filen hittades inte??", - - "fz_tar": "okomprimerad tar-fil i gnu-format (linux / mac)", - "fz_pax": "okomprimerad tar-fil i pax-format (lรฅngsammare)", - "fz_targz": "gnu-tar komprimerad med gzip-nivรฅ 3$N$Ndetta รคr vanligtvis mycket lรฅngsamt,$Nanvรคnd okomprimerad tar istรคllet", - "fz_tarxz": "gnu-tar komprimerad med xz-nivรฅ 1$N$Ndetta รคr vanligtvis mycket lรฅngsamt,$Nanvรคnd okomprimerad tar istรคllet", - "fz_zip8": "zip-fil med utf8-filnman (kan vara skum i windows 7 och รคldre)", - "fz_zipd": "zip-fil med standard cp437-filnamn, fรถr riktigt gammal mjukvara", - "fz_zipc": "cp437 med crc32 utrรคknad i fรถrvรคg,$Nfรถr MS-DOS PKZIP v2.04g (oktober 1993)$N(tar lรคngre tid att behandla innan nedladdningen kan pรฅbรถrjas)", - - "un_m1": "du kan radera dina senaste uppladdningar (eller avbryta pรฅgรฅende sรฅdana) nedan", - "un_upd": "uppdatera", - "un_m4": "eller, dela filerna som syns nedan:", - "un_ulist": "visa", - "un_ucopy": "kopiera", - "un_flt": "filter:  sรถkvรคgen mรฅste innehรฅlla", - "un_fclr": "rensa filtret", - "un_derr": 'unpost-radering misslyckades:\n', - "un_f5": 'nรฅgot gick sรถnder, prova att uppdatera eller tryck pรฅ F5', - "un_uf5": "ledsen men du mรฅste uppdatera sidan (t.ex. genom att trycka pรฅ F5 eller CTRL-R) innan du kan avbryta den hรคr uppladdningen", - "un_nou": 'varning: servern รคr fรถr upptagen fรถr att visa pรฅgรฅende uppladdningar; klicka pรฅ "uppdatera" om en stund', - "un_noc": 'varning: serverkonfigurationen tillรฅter inte unpost:ning av uppladdade filer', - "un_max": "visar de fรถrsta 2000 filerna (anvรคnd filtret)", - "un_avail": "{0} av de senaste uppladdningarna kan raderas
    {1} pรฅgรฅende uppladdningar kan avbrytas", - "un_m2": "sorterat efter uppladdningstid; senast uppladdad fรถrst:", - "un_no1": "tjosan! inga uppladdningar รคr tillrรคckligt nya", - "un_no2": "tjosan! inga uppladdningar som matchar filtret รคr tillrรคckligt nya", - "un_next": "radera de {0} nรคstkommande filerna", - "un_abrt": "avbryt", - "un_del": "radera", - "un_m3": "laddar dina senaste uppladdningar...", - "un_busy": "raderar {0} filer...", - "un_clip": "{0} lรคnkar kopierade till urklippet", - - "u_https1": "du bรถr", - "u_https2": "byta till https", - "u_https3": "fรถr bรคttre prestanda", - "u_ancient": 'din webblรคsare รคr imponerande urรฅldrig -- du kanske borde anvรคnda bup istรคllet', - "u_nowork": "firefox 53+ eller chrome 57+ eller iOS 11+ krรคvs", - "tail_2old": "firefox 105+ eller chrome 71+ eller iOS 14.5+ krรคvs", - "u_nodrop": 'din webblรคsare รคr fรถr gammal fรถr dra-och-slรคpp-uppladdning', - "u_notdir": "det dรคr รคr ingen mapp!\n\ndin webblรคsare รคr fรถr gammal,\nprova dra-och-slรคpp istรคllet", - "u_uri": "slรคpp bilder frรฅn andra webblรคsarfรถnster pรฅ den stora\nuppladdningsknappen fรถr att ladda upp dem", - "u_enpot": 'byt till potatisgrรคnssnittet (kan fรถrbรคttra uppladdningshastigheten)', - "u_depot": 'byt till det snygga grรคnssnittet (kan fรถrsรคmra uppladdningshastigheten)', - "u_gotpot": 'byter till potatisgrรคnssnittet fรถr fรถrbรคttrad uppladdningshastighet,\n\nbyt gรคrna tillbaka om du vill!', - "u_pott": "

    filer:   {0} fรคrdiga,   {1} misslyckade,   {2} pรฅgรฅende,   {3} kรถade

    ", - "u_ever": "detta รคr den enkla uppladdaren; up2k krรคver minst
    chrome 21 // firefox 13 // edge 12 // opera 12 // safari 5.1", - "u_su2k": 'detta รคr den enkla uppladdaren; up2k รคr bรคttre', - "u_uput": 'optimera hastigheten (skippa checksumman)', - "u_ewrite": 'du har inte skrivrรคttighet i denna mapp', - "u_eread": 'du har inte lรคsrรคttighet i denna mapp', - "u_enoi": 'serverkonfigurationen har inte slagit pรฅ sรถkning', - "u_enoow": "du kan inte skriva รถver hรคr; raderingsrรคttighet krรคvs", - "u_badf": 'Dessa {0} filer (av totalt {1}) skippades, mรถjligtvis p.g.a. filsystemsrรคttigheter:\n\n', - "u_blankf": 'Dessa {0} filer (av totalt {1}) รคr tomma; ladda upp dem รคndรฅ?\n\n', - "u_applef": 'Dessa {0} filer (av totalt {1}) รคr fรถrmodligen oรถnskade;\nTryck OK/Enter fรถr att SKIPPA de fรถljande filerna,\nTryck Avbryt/ESC fรถr att INKLUDERA och LADDA UPP dem:\n\n', - "u_just1": '\nDet kanske fungerar om du endast vรคljer en fil', - "u_ff_many": "om du anvรคnder Linux / MacOS / Android, sรฅ kan denna mรคngd filer krascha Firefox!\nom detta hรคnder, vรคnligen fรถrsรถk igen (eller anvรคnd Chrome).", - "u_up_life": "Denna uppladdning kommer att raderas frรฅn servern om\n{0} efter att den har blivit uppladdad", - "u_asku": 'ladda upp dessa {0} filer till {1}', - "u_unpt": "du kan รฅngra / radera denna uppladdning med ๐Ÿงฏ uppe till vรคnster", - "u_bigtab": 'fรถrsรถker att visa {0} filer\n\ndetta kan krascha din webblรคsare, รคr du sรคker?', - "u_scan": 'Scannar filer...', - "u_dirstuck": 'katalogskannern fastnade nรคr den fรถrsรถkte komma รฅt de fรถljande {0} objekten; dessa kommer att skippas:', - "u_etadone": 'Klar ({0}, {1} filer)', - "u_etaprep": '(fรถrbereder uppladdning)', - "u_hashdone": 'hashning klar', - "u_hashing": 'hashar', - "u_hs": 'skakar hand...', - "u_started": "filerna laddas nu upp; se [๐Ÿš€]", - "u_dupdefer": "duplikat; kommer att behandlas efter alla andra filer", - "u_actx": "klicka hรคr fรถr att undvika prestandafรถrlust
    nรคr du byter till andra fรถnster/flikar", - "u_fixed": "Okej!  Fixat ๐Ÿ‘", - "u_cuerr": "misslyckades att ladda upp chunk {0} av {1};\nfรถrmodligen harmlรถst, fortsรคtter\n\nfil: {2}", - "u_cuerr2": "servern avvisade uppladdningen (chunk {0} av {1});\nprovar igen senare\n\nfil: {2}\n\nfel ", - "u_ehstmp": "provar igen; see nedรฅt till hรถger", - "u_ehsfin": "servern avvisade fรถrfrรฅgan att fรคrdigstรคlla uppladdningen; provar igen...", - "u_ehssrch": "servern avvisade fรถrfrรฅgan att sรถka; provar igen...", - "u_ehsinit": "servern avvisade fรถrfrรฅgan att pรฅbรถrja uppladdningen; provar igen...", - "u_eneths": "nรคtverksfel vid handskakning; provar igen...", - "u_enethd": "nรคtverksfel nรคr destinationens existens testades; provar igen...", - "u_cbusy": "vรคntar pรฅ att servern ska lita pรฅ oss igen efter nรคtverksfel...", - "u_ehsdf": "servern fick slut pรฅ diskutrymme!\n\nprovar igen, ifall nรฅgon rensar upp\ntillrรคckligt med utrymme fรถr att fortsรคtta", - "u_emtleak1": "det verkar som att din webblรคsare kanske har en minneslรคcka;\nvรคnligen", - "u_emtleak2": ' byt till https (rekommenderat) eller ', - "u_emtleak3": ' ', - "u_emtleakc": 'prova fรถljande:\n
    • tryck F5 fรถr att uppdatera sidan
    • avaktivera sedan  mt -vรคxeln i  โš™๏ธ-instรคllningarna
    • och prova att ladda upp igen
    Uppladdningar kommer att vara lite lรฅngsammare, men aja.\nBeklagar problemet!\n\nPS: chrome v107 har en buggfix fรถr detta', - "u_emtleakf": 'prova fรถljande:\n
    • tryck F5 fรถr att uppdatera sidan
    • aktivera sedan ๐Ÿฅ” (potatis) i uppladdningsgrรคnssnittet
    • och prova att ladda upp igen
    \nPS: firefox kommer fรถrhoppningsvis fรฅ en buggfix vid nรฅgot tillfรคlle', - "u_s404": "hittades ej pรฅ servern", - "u_expl": "fรถrklara", - "u_maxconn": "de flesta webblรคsare begrรคnsar detta till 6, men firefox lรฅter dig hรถja grรคnsen med connections-per-server i about:config", - "u_tu": '

    VARNING: turbo รคr aktiverat,  det รคr mรถjligt att klienten inte upptรคcker och รฅterupptar ofรคrdiga uppladdningar; se tipset fรถr turbo-vรคxeln

    ', - "u_ts": '

    VARNING: turbo รคr aktiverat,  sรถkresultat kan vara felaktiga; se tipset fรถr turbo-vรคxeln

    ', - "u_turbo_c": "serverkonfigurationen har avaktiverat turbo", - "u_turbo_g": "avaktiverar turbo eftersom du inte har rรคttigheten\natt se mappars innehรฅll i den hรคr volymen", - "u_life_cfg": 'radera automatiskt efter min (eller timmar)', - "u_life_est": 'uppladdningen kommer att raderas vid ---', - "u_life_max": 'denna mapp tvingar en\nhรถgsta livstid pรฅ {0}', - "u_unp_ok": 'unpost รคr tillรฅten fรถr {0}', - "u_unp_ng": 'unpost รคr INTE tillรฅten', - "ue_ro": 'du har endast lรคsrรคttighet till denna mapp\n\n', - "ue_nl": 'du รคr inte inloggad', - "ue_la": 'du รคr inloggad som "{0}"', - "ue_sr": 'du รคr i filsรถklรคge\n\nbyt till uppladdningslรคge genom att klicka pรฅ fรถrstoringsglaset ๐Ÿ”Ž (bredvid den stora Sร–K-knappen), och fรถrsรถk ladda upp igen\n\nledsen', - "ue_ta": 'prova att ladda upp igen nu, det bรถr fungera', - "ue_ab": "denna fil laddas redan upp till en annan mapp, och den uppladdningen mรฅste fรคrdigstรคllas innan filen kan laddas upp nรฅgon annanstans.\n\nDu kan avbryta och glรถmma bort den uppladdningen med ๐Ÿงฏ uppe till vรคnster", - "ur_1uo": "Okej: Filen laddades upp med framgรฅng", - "ur_auo": "Okej: Alla {0} filer laddades upp med framgรฅng", - "ur_1so": "Okej: Filen fanns pรฅ servern", - "ur_aso": "Okej: Alla {0} filer fanns pรฅ servern", - "ur_1un": "Uppladdningen misslyckades, ledsen", - "ur_aun": "Alla {0} uppladdningar misslyckades, ledsen", - "ur_1sn": "Filen hittades INTE pรฅ servern", - "ur_asn": "De {0} filerna hittades INTE pรฅ servern", - "ur_um": "Klar;\n{0} uppladdningar gick okej,\n{1} uppladdningar misslyckades, ledsen", - "ur_sm": "Klar;\n{0} filer hittades pรฅ servern,\n{1} filer hittades INTE pรฅ servern", - - "lang_set": "uppdatera fรถr att รคndringen ska ta effekt?", - }, - "ukr": { - "tt": "ะฃะบั€ะฐั—ะฝััŒะบะฐ", - - "cols": { - "c": "ะบะฝะพะฟะบะธ ะดั–ะน", - "dur": "ั‚ั€ะธะฒะฐะปั–ัั‚ัŒ", - "q": "ัะบั–ัั‚ัŒ / ะฑั–ั‚ั€ะตะนั‚", - "Ac": "ะฐัƒะดั–ะพ ะบะพะดะตะบ", - "Vc": "ะฒั–ะดะตะพ ะบะพะดะตะบ", - "Fmt": "ั„ะพั€ะผะฐั‚ / ะบะพะฝั‚ะตะนะฝะตั€", - "Ahash": "ะบะพะฝั‚ั€ะพะปัŒะฝะฐ ััƒะผะฐ ะฐัƒะดั–ะพ", - "Vhash": "ะบะพะฝั‚ั€ะพะปัŒะฝะฐ ััƒะผะฐ ะฒั–ะดะตะพ", - "Res": "ั€ะพะทะดั–ะปัŒะฝั–ัั‚ัŒ", - "T": "ั‚ะธะฟ ั„ะฐะนะปัƒ", - "aq": "ัะบั–ัั‚ัŒ ะฐัƒะดั–ะพ / ะฑั–ั‚ั€ะตะนั‚", - "vq": "ัะบั–ัั‚ัŒ ะฒั–ะดะตะพ / ะฑั–ั‚ั€ะตะนั‚", - "pixfmt": "ะฟั–ะดะฒะธะฑั–ั€ะบะฐ / ัั‚ั€ัƒะบั‚ัƒั€ะฐ ะฟั–ะบัะตะปั–ะฒ", - "resw": "ะณะพั€ะธะทะพะฝั‚ะฐะปัŒะฝะฐ ั€ะพะทะดั–ะปัŒะฝั–ัั‚ัŒ", - "resh": "ะฒะตั€ั‚ะธะบะฐะปัŒะฝะฐ ั€ะพะทะดั–ะปัŒะฝั–ัั‚ัŒ", - "chs": "ะฐัƒะดั–ะพ ะบะฐะฝะฐะปะธ", - "hz": "ั‡ะฐัั‚ะพั‚ะฐ ะดะธัะบั€ะตั‚ะธะทะฐั†ั–ั—" - }, - - "hks": [ - [ - "ั€ั–ะทะฝะต", - ["ESC", "ะทะฐะบั€ะธั‚ะธ ั€ั–ะทะฝั– ั€ะตั‡ั–"], - - "ั„ะฐะนะปะพะฒะธะน ะผะตะฝะตะดะถะตั€", - ["G", "ะฟะตั€ะตะผะบะฝัƒั‚ะธ ัะฟะธัะพะบ / ัั–ั‚ะบัƒ"], - ["T", "ะฟะตั€ะตะผะบะฝัƒั‚ะธ ะผั–ะฝั–ะฐั‚ัŽั€ะธ / ั–ะบะพะฝะบะธ"], - ["โ‡ง A/D", "ั€ะพะทะผั–ั€ ะผั–ะฝั–ะฐั‚ัŽั€"], - ["ctrl-K", "ะฒะธะดะฐะปะธั‚ะธ ะฒะธะฑั€ะฐะฝะต"], - ["ctrl-X", "ะฒะธั€ั–ะทะฐั‚ะธ ะดะพ ะฑัƒั„ะตั€ะฐ"], - ["ctrl-C", "ะบะพะฟั–ัŽะฒะฐั‚ะธ ะดะพ ะฑัƒั„ะตั€ะฐ"], - ["ctrl-V", "ะฒัั‚ะฐะฒะธั‚ะธ (ะฟะตั€ะตะผั–ัั‚ะธั‚ะธ/ะบะพะฟั–ัŽะฒะฐั‚ะธ) ััŽะดะธ"], - ["Y", "ะทะฐะฒะฐะฝั‚ะฐะถะธั‚ะธ ะฒะธะฑั€ะฐะฝะต"], - ["F2", "ะฟะตั€ะตะนะผะตะฝัƒะฒะฐั‚ะธ ะฒะธะฑั€ะฐะฝะต"], - - "ะฒะธะฑั–ั€ ั„ะฐะนะปั–ะฒ ัƒ ัะฟะธัะบัƒ", - ["space", "ะฟะตั€ะตะผะบะฝัƒั‚ะธ ะฒะธะฑั–ั€ ั„ะฐะนะปัƒ"], - ["โ†‘/โ†“", "ะฟะตั€ะตะผั–ัั‚ะธั‚ะธ ะบัƒั€ัะพั€ ะฒะธะฑะพั€ัƒ"], - ["ctrl โ†‘/โ†“", "ะฟะตั€ะตะผั–ัั‚ะธั‚ะธ ะบัƒั€ัะพั€ ั– ะฒั–ะบะฝะพ"], - ["โ‡ง โ†‘/โ†“", "ะฒะธะฑั€ะฐั‚ะธ ะฟะพะฟะตั€ะตะดะฝั–ะน/ะฝะฐัั‚ัƒะฟะฝะธะน ั„ะฐะนะป"], - ["ctrl-A", "ะฒะธะฑั€ะฐั‚ะธ ะฒัั– ั„ะฐะนะปะธ / ะฟะฐะฟะบะธ"], - ], [ - "ะฝะฐะฒั–ะณะฐั†ั–ั", - ["B", "ะฟะตั€ะตะผะบะฝัƒั‚ะธ ั…ะปั–ะฑะฝั– ะบั€ะธั…ั‚ะธ / ะฟะฐะฝะตะปัŒ ะฝะฐะฒั–ะณะฐั†ั–ั—"], - ["I/K", "ะฟะพะฟะตั€ะตะดะฝั/ะฝะฐัั‚ัƒะฟะฝะฐ ะฟะฐะฟะบะฐ"], - ["M", "ะฑะฐั‚ัŒะบั–ะฒััŒะบะฐ ะฟะฐะฟะบะฐ (ะฐะฑะพ ะทะณะพั€ะฝัƒั‚ะธ ะฟะพั‚ะพั‡ะฝัƒ)"], - ["V", "ะฟะตั€ะตะผะบะฝัƒั‚ะธ ะฟะฐะฟะบะธ / ั‚ะตะบัั‚ะพะฒั– ั„ะฐะนะปะธ ะฒ ะฟะฐะฝะตะปั– ะฝะฐะฒั–ะณะฐั†ั–ั—"], - ["A/D", "ั€ะพะทะผั–ั€ ะฟะฐะฝะตะปั– ะฝะฐะฒั–ะณะฐั†ั–ั—"], - ], [ - "ะฐัƒะดั–ะพ ะฟะปะตั”ั€", - ["J/L", "ะฟะพะฟะตั€ะตะดะฝั/ะฝะฐัั‚ัƒะฟะฝะฐ ะฟั–ัะฝั"], - ["U/O", "ะฟะตั€ะตะผะพั‚ะฐั‚ะธ ะฝะฐ 10ัะตะบ ะฝะฐะทะฐะด/ะฒะฟะตั€ะตะด"], - ["0..9", "ะฟะตั€ะตะนั‚ะธ ะดะพ 0%..90%"], - ["P", "ะฒั–ะดั‚ะฒะพั€ะธั‚ะธ/ะฟะฐัƒะทะฐ (ั‚ะฐะบะพะถ ะทะฐะฟัƒัะบะฐั”)"], - ["S", "ะฒะธะฑั€ะฐั‚ะธ ะฟะพั‚ะพั‡ะฝัƒ ะฟั–ัะฝัŽ"], - ["Y", "ะทะฐะฒะฐะฝั‚ะฐะถะธั‚ะธ ะฟั–ัะฝัŽ"], - ], [ - "ะฟะตั€ะตะณะปัะดะฐั‡ ะทะพะฑั€ะฐะถะตะฝัŒ", - ["J/L, โ†/โ†’", "ะฟะพะฟะตั€ะตะดะฝั”/ะฝะฐัั‚ัƒะฟะฝะต ะทะพะฑั€ะฐะถะตะฝะฝั"], - ["Home/End", "ะฟะตั€ัˆะต/ะพัั‚ะฐะฝะฝั” ะทะพะฑั€ะฐะถะตะฝะฝั"], - ["F", "ะฟะพะฒะฝะธะน ะตะบั€ะฐะฝ"], - ["R", "ะฟะพะฒะตั€ะฝัƒั‚ะธ ะทะฐ ะณะพะดะธะฝะฝะธะบะพะฒะพัŽ ัั‚ั€ั–ะปะบะพัŽ"], - ["โ‡ง R", "ะฟะพะฒะตั€ะฝัƒั‚ะธ ะฟั€ะพั‚ะธ ะณะพะดะธะฝะฝะธะบะพะฒะพั— ัั‚ั€ั–ะปะบะธ"], - ["S", "ะฒะธะฑั€ะฐั‚ะธ ะทะพะฑั€ะฐะถะตะฝะฝั"], - ["Y", "ะทะฐะฒะฐะฝั‚ะฐะถะธั‚ะธ ะทะพะฑั€ะฐะถะตะฝะฝั"], - ], [ - "ะฒั–ะดะตะพ ะฟะปะตั”ั€", - ["U/O", "ะฟะตั€ะตะผะพั‚ะฐั‚ะธ ะฝะฐ 10ัะตะบ ะฝะฐะทะฐะด/ะฒะฟะตั€ะตะด"], - ["P/K/Space", "ะฒั–ะดั‚ะฒะพั€ะธั‚ะธ/ะฟะฐัƒะทะฐ"], - ["C", "ะฟั€ะพะดะพะฒะถะธั‚ะธ ะฒั–ะดั‚ะฒะพั€ะตะฝะฝั ะฝะฐัั‚ัƒะฟะฝะพะณะพ"], - ["V", "ะฟะพะฒั‚ะพั€"], - ["M", "ะฒะธะผะบะฝัƒั‚ะธ ะทะฒัƒะบ"], - ["[ and ]", "ะฒัั‚ะฐะฝะพะฒะธั‚ะธ ั–ะฝั‚ะตั€ะฒะฐะป ะฟะพะฒั‚ะพั€ัƒ"], - ], [ - "ะฟะตั€ะตะณะปัะดะฐั‡ ั‚ะตะบัั‚ะพะฒะธั… ั„ะฐะนะปั–ะฒ", - ["I/K", "ะฟะพะฟะตั€ะตะดะฝั–ะน/ะฝะฐัั‚ัƒะฟะฝะธะน ั„ะฐะนะป"], - ["M", "ะทะฐะบั€ะธั‚ะธ ั‚ะตะบัั‚ะพะฒะธะน ั„ะฐะนะป"], - ["E", "ั€ะตะดะฐะณัƒะฒะฐั‚ะธ ั‚ะตะบัั‚ะพะฒะธะน ั„ะฐะนะป"], - ["S", "ะฒะธะฑั€ะฐั‚ะธ ั„ะฐะนะป (ะดะปั ะฒะธั€ั–ะทะฐะฝะฝั/ะบะพะฟั–ัŽะฒะฐะฝะฝั/ะฟะตั€ะตะนะผะตะฝัƒะฒะฐะฝะฝั)"], - ] - ], - - "m_ok": "ะ“ะฐั€ะฐะทะด", - "m_ng": "ะกะบะฐััƒะฒะฐั‚ะธ", - - "enable": "ะฃะฒั–ะผะบะฝัƒั‚ะธ", - "danger": "ะะ•ะ‘ะ•ะ—ะŸะ•ะšะ", - "clipped": "ัะบะพะฟั–ะนะพะฒะฐะฝะพ ะดะพ ะฑัƒั„ะตั€ะฐ ะพะฑะผั–ะฝัƒ", - - "ht_s1": "ัะตะบัƒะฝะดะฐ", - "ht_s2": "ัะตะบัƒะฝะด", - "ht_m1": "ั…ะฒะธะปะธะฝะฐ", - "ht_m2": "ั…ะฒะธะปะธะฝ", - "ht_h1": "ะณะพะดะธะฝะฐ", - "ht_h2": "ะณะพะดะธะฝ", - "ht_d1": "ะดะตะฝัŒ", - "ht_d2": "ะดะฝั–ะฒ", - "ht_and": " ั– ", - - "goh": "ะฟะฐะฝะตะปัŒ ะบะตั€ัƒะฒะฐะฝะฝั", - "gop": 'ะฟะพะฟะตั€ะตะดะฝั–ะน ััƒัั–ะด">ะฝะฐะทะฐะด', - "gou": 'ะฑะฐั‚ัŒะบั–ะฒััŒะบะฐ ะฟะฐะฟะบะฐ">ะฒะณะพั€ัƒ', - "gon": 'ะฝะฐัั‚ัƒะฟะฝะฐ ะฟะฐะฟะบะฐ">ะดะฐะปั–', - "logout": "ะ’ะธะนั‚ะธ ", - "login": "ัƒะฒั–ะนั‚ะธ", //m - "access": " ะดะพัั‚ัƒะฟ", - "ot_close": "ะทะฐะบั€ะธั‚ะธ ะฟั–ะดะผะตะฝัŽ", - "ot_search": "ะฟะพัˆัƒะบ ั„ะฐะนะปั–ะฒ ะทะฐ ะฐั‚ั€ะธะฑัƒั‚ะฐะผะธ, ัˆะปัั…ะพะผ / ั–ะผะตะฝะตะผ, ะผัƒะทะธั‡ะฝะธะผะธ ั‚ะตะณะฐะผะธ, ะฐะฑะพ ะฑัƒะดัŒ-ัะบะพัŽ ะบะพะผะฑั–ะฝะฐั†ั–ั”ัŽ$N$N<code>foo bar</code> = ะผะฐั” ะผั–ัั‚ะธั‚ะธ ยซfooยป ั– ยซbarยป,$N<code>foo -bar</code> = ะผะฐั” ะผั–ัั‚ะธั‚ะธ ยซfooยป, ะฐะปะต ะฝะต ยซbarยป,$N<code>^yana .opus$</code> = ะฟะพั‡ะธะฝะฐั‚ะธัั ะท ยซyanaยป ั– ะฑัƒั‚ะธ ั„ะฐะนะปะพะผ ยซopusยป$N<code>"try unite"</code> = ะผั–ัั‚ะธั‚ะธ ั‚ะพั‡ะฝะพ ยซtry uniteยป$N$Nั„ะพั€ะผะฐั‚ ะดะฐั‚ะธ - iso-8601, ะฝะฐะฟั€ะธะบะปะฐะด$N<code>2009-12-31</code> ะฐะฑะพ <code>2020-09-12 23:30:00</code>", - "ot_unpost": "ัะบะฐััƒะฒะฐั‚ะธ: ะฒะธะดะฐะปะธั‚ะธ ะฝะตะดะฐะฒะฝั– ะทะฐะฒะฐะฝั‚ะฐะถะตะฝะฝั ะฐะฑะพ ะฟะตั€ะตั€ะฒะฐั‚ะธ ะฝะตะทะฐะฒะตั€ัˆะตะฝั–", - "ot_bup": "bup: ะพัะฝะพะฒะฝะธะน ะทะฐะฒะฐะฝั‚ะฐะถัƒะฒะฐั‡, ะฟั–ะดั‚ั€ะธะผัƒั” ะฝะฐะฒั–ั‚ัŒ netscape 4.0", - "ot_mkdir": "mkdir: ัั‚ะฒะพั€ะธั‚ะธ ะฝะพะฒัƒ ะฟะฐะฟะบัƒ", - "ot_md": "new-md: ัั‚ะฒะพั€ะธั‚ะธ ะฝะพะฒะธะน markdown ะดะพะบัƒะผะตะฝั‚", - "ot_msg": "msg: ะฝะฐะดั–ัะปะฐั‚ะธ ะฟะพะฒั–ะดะพะผะปะตะฝะฝั ะฒ ะปะพะณ ัะตั€ะฒะตั€ะฐ", - "ot_mp": "ะฝะฐะปะฐัˆั‚ัƒะฒะฐะฝะฝั ะผะตะดั–ะฐะฟะปะตั”ั€ะฐ", - "ot_cfg": "ะฟะฐั€ะฐะผะตั‚ั€ะธ ะบะพะฝั„ั–ะณัƒั€ะฐั†ั–ั—", - "ot_u2i": 'up2k: ะทะฐะฒะฐะฝั‚ะฐะถะธั‚ะธ ั„ะฐะนะปะธ (ัะบั‰ะพ ัƒ ะฒะฐั ั” ะดะพัั‚ัƒะฟ ะดะปั ะทะฐะฟะธััƒ) ะฐะฑะพ ะฟะตั€ะตะบะปัŽั‡ะธั‚ะธัั ะฝะฐ ั€ะตะถะธะผ ะฟะพัˆัƒะบัƒ, ั‰ะพะฑ ะฟะพะฑะฐั‡ะธั‚ะธ, ั‡ะธ ั–ัะฝัƒัŽั‚ัŒ ะฒะพะฝะธ ะดะตััŒ ะฝะฐ ัะตั€ะฒะตั€ั–$N$Nะทะฐะฒะฐะฝั‚ะฐะถะตะฝะฝั ะผะพะถะฝะฐ ะฟะพะฝะพะฒะปัŽะฒะฐั‚ะธ, ะฑะฐะณะฐั‚ะพะฟะพั‚ะพะบะพะฒั–, ั– ั‡ะฐัะพะฒั– ะผั–ั‚ะบะธ ั„ะฐะนะปั–ะฒ ะทะฑะตั€ั–ะณะฐัŽั‚ัŒัั, ะฐะปะต ะฒะธะบะพั€ะธัั‚ะพะฒัƒั” ะฑั–ะปัŒัˆะต CPU ะฝั–ะถ [๐ŸŽˆ]  (ะพัะฝะพะฒะฝะธะน ะทะฐะฒะฐะฝั‚ะฐะถัƒะฒะฐั‡)

    ะฟั–ะด ั‡ะฐั ะทะฐะฒะฐะฝั‚ะฐะถะตะฝะฝั ั†ั ั–ะบะพะฝะบะฐ ัั‚ะฐั” ั–ะฝะดะธะบะฐั‚ะพั€ะพะผ ะฟั€ะพะณั€ะตััƒ!', - "ot_u2w": 'up2k: ะทะฐะฒะฐะฝั‚ะฐะถะธั‚ะธ ั„ะฐะนะปะธ ะท ะฟั–ะดั‚ั€ะธะผะบะพัŽ ะฟะพะฝะพะฒะปะตะฝะฝั (ะทะฐะบั€ะธะนั‚ะต ะฑั€ะฐัƒะทะตั€ ั– ะฟะตั€ะตั‚ัะณะฝั–ั‚ัŒ ั‚ั– ัะฐะผั– ั„ะฐะนะปะธ ะฟั–ะทะฝั–ัˆะต)$N$Nะฑะฐะณะฐั‚ะพะฟะพั‚ะพะบะพะฒั–, ั– ั‡ะฐัะพะฒั– ะผั–ั‚ะบะธ ั„ะฐะนะปั–ะฒ ะทะฑะตั€ั–ะณะฐัŽั‚ัŒัั, ะฐะปะต ะฒะธะบะพั€ะธัั‚ะพะฒัƒั” ะฑั–ะปัŒัˆะต CPU ะฝั–ะถ [๐ŸŽˆ]  (ะพัะฝะพะฒะฝะธะน ะทะฐะฒะฐะฝั‚ะฐะถัƒะฒะฐั‡)

    ะฟั–ะด ั‡ะฐั ะทะฐะฒะฐะฝั‚ะฐะถะตะฝะฝั ั†ั ั–ะบะพะฝะบะฐ ัั‚ะฐั” ั–ะฝะดะธะบะฐั‚ะพั€ะพะผ ะฟั€ะพะณั€ะตััƒ!', - "ot_noie": 'ะ‘ัƒะดัŒ ะปะฐัะบะฐ, ะฒะธะบะพั€ะธัั‚ะพะฒัƒะนั‚ะต Chrome / Firefox / Edge', - - "ab_mkdir": "ัั‚ะฒะพั€ะธั‚ะธ ะฟะฐะฟะบัƒ", - "ab_mkdoc": "ะฝะพะฒะธะน markdown ะดะพะบัƒะผะตะฝั‚", - "ab_msg": "ะฝะฐะดั–ัะปะฐั‚ะธ ะฟะพะฒั–ะดะพะผะปะตะฝะฝั ะฒ ะปะพะณ ัะตั€ะฒะตั€ะฐ", - - "ay_path": "ะฟะตั€ะตะนั‚ะธ ะดะพ ะฟะฐะฟะพะบ", - "ay_files": "ะฟะตั€ะตะนั‚ะธ ะดะพ ั„ะฐะนะปั–ะฒ", - - "wt_ren": "ะฟะตั€ะตะนะผะตะฝัƒะฒะฐั‚ะธ ะฒะธะฑั€ะฐะฝั– ะตะปะตะผะตะฝั‚ะธ$Nะ“ะฐั€ัั‡ะฐ ะบะปะฐะฒั–ัˆะฐ: F2", - "wt_del": "ะฒะธะดะฐะปะธั‚ะธ ะฒะธะฑั€ะฐะฝั– ะตะปะตะผะตะฝั‚ะธ$Nะ“ะฐั€ัั‡ะฐ ะบะปะฐะฒั–ัˆะฐ: ctrl-K", - "wt_cut": "ะฒะธั€ั–ะทะฐั‚ะธ ะฒะธะฑั€ะฐะฝั– ะตะปะตะผะตะฝั‚ะธ <small>(ะฟะพั‚ั–ะผ ะฒัั‚ะฐะฒะธั‚ะธ ะฒ ั–ะฝัˆะพะผัƒ ะผั–ัั†ั–)</small>$Nะ“ะฐั€ัั‡ะฐ ะบะปะฐะฒั–ัˆะฐ: ctrl-X", - "wt_cpy": "ะบะพะฟั–ัŽะฒะฐั‚ะธ ะฒะธะฑั€ะฐะฝั– ะตะปะตะผะตะฝั‚ะธ ะดะพ ะฑัƒั„ะตั€ะฐ$N(ั‰ะพะฑ ะฒัั‚ะฐะฒะธั‚ะธ ั—ั… ะฒ ั–ะฝัˆะพะผัƒ ะผั–ัั†ั–)$Nะ“ะฐั€ัั‡ะฐ ะบะปะฐะฒั–ัˆะฐ: ctrl-C", - "wt_pst": "ะฒัั‚ะฐะฒะธั‚ะธ ั€ะฐะฝั–ัˆะต ะฒะธั€ั–ะทะฐะฝะต / ัะบะพะฟั–ะนะพะฒะฐะฝะต$Nะ“ะฐั€ัั‡ะฐ ะบะปะฐะฒั–ัˆะฐ: ctrl-V", - "wt_selall": "ะฒะธะฑั€ะฐั‚ะธ ะฒัั– ั„ะฐะนะปะธ$Nะ“ะฐั€ัั‡ะฐ ะบะปะฐะฒั–ัˆะฐ: ctrl-A (ะบะพะปะธ ั„ะพะบัƒั ะฝะฐ ั„ะฐะนะปั–)", - "wt_selinv": "ั–ะฝะฒะตั€ั‚ัƒะฒะฐั‚ะธ ะฒะธะฑั–ั€", - "wt_zip1": "ะทะฐะฒะฐะฝั‚ะฐะถะธั‚ะธ ั†ัŽ ะฟะฐะฟะบัƒ ัะบ ะฐั€ั…ั–ะฒ", - "wt_selzip": "ะทะฐะฒะฐะฝั‚ะฐะถะธั‚ะธ ะฒะธะฑั–ั€ ัะบ ะฐั€ั…ั–ะฒ", - "wt_seldl": "ะทะฐะฒะฐะฝั‚ะฐะถะธั‚ะธ ะฒะธะฑั–ั€ ัะบ ะพะบั€ะตะผั– ั„ะฐะนะปะธ$Nะ“ะฐั€ัั‡ะฐ ะบะปะฐะฒั–ัˆะฐ: Y", - "wt_npirc": "ะบะพะฟั–ัŽะฒะฐั‚ะธ ั–ะฝั„ะพั€ะผะฐั†ั–ัŽ ั‚ั€ะตะบัƒ ัƒ ั„ะพั€ะผะฐั‚ั– irc", - "wt_nptxt": "ะบะพะฟั–ัŽะฒะฐั‚ะธ ั–ะฝั„ะพั€ะผะฐั†ั–ัŽ ั‚ั€ะตะบัƒ ัƒ ั‚ะตะบัั‚ะพะฒะพะผัƒ ั„ะพั€ะผะฐั‚ั–", - "wt_m3ua": "ะดะพะดะฐั‚ะธ ะดะพ m3u ะฟะปะตะนะปะธัั‚ัƒ (ะฟะพั‚ั–ะผ ะบะปะฐั†ะฝั–ั‚ัŒ ๐Ÿ“ปะบะพะฟั–ัŽะฒะฐั‚ะธ)", - "wt_m3uc": "ะบะพะฟั–ัŽะฒะฐั‚ะธ m3u ะฟะปะตะนะปะธัั‚ ะดะพ ะฑัƒั„ะตั€ะฐ", - "wt_grid": "ะฟะตั€ะตะผะบะฝัƒั‚ะธ ัั–ั‚ะบัƒ / ัะฟะธัะพะบ$Nะ“ะฐั€ัั‡ะฐ ะบะปะฐะฒั–ัˆะฐ: G", - "wt_prev": "ะฟะพะฟะตั€ะตะดะฝั–ะน ั‚ั€ะตะบ$Nะ“ะฐั€ัั‡ะฐ ะบะปะฐะฒั–ัˆะฐ: J", - "wt_play": "ะฒั–ะดั‚ะฒะพั€ะธั‚ะธ / ะฟะฐัƒะทะฐ$Nะ“ะฐั€ัั‡ะฐ ะบะปะฐะฒั–ัˆะฐ: P", - "wt_next": "ะฝะฐัั‚ัƒะฟะฝะธะน ั‚ั€ะตะบ$Nะ“ะฐั€ัั‡ะฐ ะบะปะฐะฒั–ัˆะฐ: L", - - "ul_par": "ะฟะฐั€ะฐะปะตะปัŒะฝั– ะทะฐะฒะฐะฝั‚ะฐะถะตะฝะฝั:", - "ut_rand": "ะฒะธะฟะฐะดะบะพะฒั– ั–ะผะตะฝะฐ ั„ะฐะนะปั–ะฒ", - "ut_u2ts": "ะบะพะฟั–ัŽะฒะฐั‚ะธ ั‡ะฐัะพะฒัƒ ะผั–ั‚ะบัƒ ะพัั‚ะฐะฝะฝัŒะพั— ะทะผั–ะฝะธ$Nะท ะฒะฐัˆะพั— ั„ะฐะนะปะพะฒะพั— ัะธัั‚ะตะผะธ ะฝะฐ ัะตั€ะฒะตั€\">๐Ÿ“…", - "ut_ow": "ะฟะตั€ะตะทะฐะฟะธัะฐั‚ะธ ั–ัะฝัƒัŽั‡ั– ั„ะฐะนะปะธ ะฝะฐ ัะตั€ะฒะตั€ั–?$N๐Ÿ›ก๏ธ: ะฝั–ะบะพะปะธ (ะทะฐะผั–ัั‚ัŒ ั†ัŒะพะณะพ ัั‚ะฒะพั€ะธั‚ัŒ ะฝะพะฒะต ั–ะผ'ั ั„ะฐะนะปัƒ)$N๐Ÿ•’: ะฟะตั€ะตะทะฐะฟะธัะฐั‚ะธ, ัะบั‰ะพ ั„ะฐะนะป ะฝะฐ ัะตั€ะฒะตั€ั– ัั‚ะฐั€ั–ัˆะธะน ะทะฐ ะฒะฐัˆ$Nโ™ป๏ธ: ะทะฐะฒะถะดะธ ะฟะตั€ะตะทะฐะฟะธััƒะฒะฐั‚ะธ, ัะบั‰ะพ ั„ะฐะนะปะธ ะฒั–ะดั€ั–ะทะฝััŽั‚ัŒัั", - "ut_mt": "ะฟั€ะพะดะพะฒะถัƒะฒะฐั‚ะธ ั…ะตัˆัƒะฒะฐะฝะฝั ั–ะฝัˆะธั… ั„ะฐะนะปั–ะฒ ะฟั–ะด ั‡ะฐั ะทะฐะฒะฐะฝั‚ะฐะถะตะฝะฝั$N$Nะผะพะถะปะธะฒะพ, ะฒะธะผะบะฝั–ั‚ัŒ, ัะบั‰ะพ ะฒะฐัˆ CPU ะฐะฑะพ HDD ั” ะฒัƒะทัŒะบะธะผ ะผั–ัั†ะตะผ", - "ut_ask": 'ะทะฐะฟะธั‚ะฐั‚ะธ ะฟั–ะดั‚ะฒะตั€ะดะถะตะฝะฝั ะฟะตั€ะตะด ะฟะพั‡ะฐั‚ะบะพะผ ะทะฐะฒะฐะฝั‚ะฐะถะตะฝะฝั">๐Ÿ’ญ', - "ut_pot": "ะฟะพะบั€ะฐั‰ะธั‚ะธ ัˆะฒะธะดะบั–ัั‚ัŒ ะทะฐะฒะฐะฝั‚ะฐะถะตะฝะฝั ะฝะฐ ะฟะพะฒั–ะปัŒะฝะธั… ะฟั€ะธัั‚ั€ะพัั…$Nั€ะพะฑะปัั‡ะธ ั–ะฝั‚ะตั€ั„ะตะนั ะผะตะฝัˆ ัะบะปะฐะดะฝะธะผ", - "ut_srch": "ะฝะต ะทะฐะฒะฐะฝั‚ะฐะถัƒะฒะฐั‚ะธ, ะฐ ะฟะตั€ะตะฒั–ั€ะธั‚ะธ, ั‡ะธ ั„ะฐะนะปะธ ะฒะถะต $N ั–ัะฝัƒัŽั‚ัŒ ะฝะฐ ัะตั€ะฒะตั€ั– (ัะบะฐะฝัƒั” ะฒัั– ะฟะฐะฟะบะธ, ัะบั– ะฒะธ ะผะพะถะตั‚ะต ั‡ะธั‚ะฐั‚ะธ)", - "ut_par": "ะฟั€ะธะทัƒะฟะธะฝะธั‚ะธ ะทะฐะฒะฐะฝั‚ะฐะถะตะฝะฝั, ะฒัั‚ะฐะฝะพะฒะธะฒัˆะธ 0$N$Nะทะฑั–ะปัŒัˆั–ั‚ัŒ, ัะบั‰ะพ ะฒะฐัˆะต ะท'ั”ะดะฝะฐะฝะฝั ะฟะพะฒั–ะปัŒะฝะต / ะฒะธัะพะบะฐ ะทะฐั‚ั€ะธะผะบะฐ$N$Nะทะฐะปะธัˆั–ั‚ัŒ 1 ะฒ ะปะพะบะฐะปัŒะฝั–ะน ะผะตั€ะตะถั– ะฐะฑะพ ัะบั‰ะพ HDD ัะตั€ะฒะตั€ะฐ ั” ะฒัƒะทัŒะบะธะผ ะผั–ัั†ะตะผ", - "ul_btn": "ะฟะตั€ะตั‚ัะณะฝั–ั‚ัŒ ั„ะฐะนะปะธ / ะฟะฐะฟะบะธ
    (ะฐะฑะพ ะบะปะฐั†ะฝั–ั‚ัŒ ััŽะดะธ)", - "ul_btnu": "ะ—ะะ’ะะะขะะ–ะ˜ะขะ˜", - "ul_btns": "ะŸ ะž ะจ ะฃ ะš", - - "ul_hash": "ั…ะตัˆ", - "ul_send": "ะฝะฐะดั–ัะปะฐั‚ะธ", - "ul_done": "ะณะพั‚ะพะฒะพ", - "ul_idle1": "ะทะฐะฒะฐะฝั‚ะฐะถะตะฝะฝั ั‰ะต ะฝะต ะฟะพัั‚ะฐะฒะปะตะฝั– ะฒ ั‡ะตั€ะณัƒ", - "ut_etah": "ัะตั€ะตะดะฝั ัˆะฒะธะดะบั–ัั‚ัŒ <em>ั…ะตัˆัƒะฒะฐะฝะฝั</em> ั– ะพั€ั–ั”ะฝั‚ะพะฒะฝะธะน ั‡ะฐั ะดะพ ะทะฐะฒะตั€ัˆะตะฝะฝั", - "ut_etau": "ัะตั€ะตะดะฝั ัˆะฒะธะดะบั–ัั‚ัŒ <em>ะทะฐะฒะฐะฝั‚ะฐะถะตะฝะฝั</em> ั– ะพั€ั–ั”ะฝั‚ะพะฒะฝะธะน ั‡ะฐั ะดะพ ะทะฐะฒะตั€ัˆะตะฝะฝั", - "ut_etat": "ัะตั€ะตะดะฝั <em>ะทะฐะณะฐะปัŒะฝะฐ</em> ัˆะฒะธะดะบั–ัั‚ัŒ ั– ะพั€ั–ั”ะฝั‚ะพะฒะฝะธะน ั‡ะฐั ะดะพ ะทะฐะฒะตั€ัˆะตะฝะฝั", - - "uct_ok": "ัƒัะฟั–ัˆะฝะพ ะทะฐะฒะตั€ัˆะตะฝะพ", - "uct_ng": "ะฝะตะฒะดะฐะปะพ: ะฟะพะผะธะปะบะฐ / ะฒั–ะดั…ะธะปะตะฝะพ / ะฝะต ะทะฝะฐะนะดะตะฝะพ", - "uct_done": "ok ั– ng ั€ะฐะทะพะผ", - "uct_bz": "ั…ะตัˆัƒะฒะฐะฝะฝั ะฐะฑะพ ะทะฐะฒะฐะฝั‚ะฐะถะตะฝะฝั", - "uct_q": "ะพั‡ั–ะบัƒั”, ะฒ ั‡ะตั€ะทั–", - - "utl_name": "ั–ะผ'ั ั„ะฐะนะปัƒ", - "utl_ulist": "ัะฟะธัะพะบ", - "utl_ucopy": "ะบะพะฟั–ัŽะฒะฐั‚ะธ", - "utl_links": "ะฟะพัะธะปะฐะฝะฝั", - "utl_stat": "ัั‚ะฐั‚ัƒั", - "utl_prog": "ะฟั€ะพะณั€ะตั", - - // keep short: - "utl_404": "404", - "utl_err": "ะŸะžะœะ˜ะ›ะšะ", - "utl_oserr": "ะฟะพะผะธะปะบะฐ ะžะก", - "utl_found": "ะทะฝะฐะนะดะตะฝะพ", - "utl_defer": "ะฒั–ะดะบะปะฐัั‚ะธ", - "utl_yolo": "YOLO", - "utl_done": "ะณะพั‚ะพะฒะพ", - - "ul_flagblk": "ั„ะฐะนะปะธ ะฑัƒะปะธ ะดะพะดะฐะฝั– ะดะพ ั‡ะตั€ะณะธ
    ะพะดะฝะฐะบ ั” ะทะฐะนะฝัั‚ะธะน up2k ะฒ ั–ะฝัˆั–ะน ะฒะบะปะฐะดั†ั– ะฑั€ะฐัƒะทะตั€ะฐ,
    ั‚ะพะผัƒ ั‡ะตะบะฐั”ะผะพ, ะฟะพะบะธ ะฒั–ะฝ ะทะฐะฒะตั€ัˆะธั‚ัŒัั ัะฟะพั‡ะฐั‚ะบัƒ", - "ul_btnlk": "ะบะพะฝั„ั–ะณัƒั€ะฐั†ั–ั ัะตั€ะฒะตั€ะฐ ะทะฐะฑะปะพะบัƒะฒะฐะปะฐ ั†ะตะน ะฟะตั€ะตะผะธะบะฐั‡ ัƒ ั†ัŒะพะผัƒ ัั‚ะฐะฝั–", - - "udt_up": "ะ—ะฐะฒะฐะฝั‚ะฐะถะตะฝะฝั", - "udt_srch": "ะŸะพัˆัƒะบ", - "udt_drop": "ะฟะตั€ะตั‚ัะณะฝั–ั‚ัŒ ััŽะดะธ", - - "u_nav_m": '
    ะณะฐั€ะฐะทะด, ั‰ะพ ัƒ ะฒะฐั ั”?
    Enter = ะคะฐะนะปะธ (ะพะดะธะฝ ะฐะฑะพ ะฑั–ะปัŒัˆะต)\nESC = ะžะดะฝะฐ ะฟะฐะฟะบะฐ (ะฒะบะปัŽั‡ะฐัŽั‡ะธ ะฟั–ะดะฟะฐะฟะบะธ)', - "u_nav_b": 'ะคะฐะนะปะธะžะดะฝะฐ ะฟะฐะฟะบะฐ', - - "cl_opts": "ะฟะตั€ะตะผะธะบะฐั‡ั–", - "cl_themes": "ั‚ะตะผะฐ", - "cl_langs": "ะผะพะฒะฐ", - "cl_ziptype": "ะทะฐะฒะฐะฝั‚ะฐะถะตะฝะฝั ะฟะฐะฟะบะธ", - "cl_uopts": "ะฟะตั€ะตะผะธะบะฐั‡ั– up2k", - "cl_favico": "favicon", - "cl_bigdir": "ะฒะตะปะธะบั– ะฟะฐะฟะบะธ", - "cl_hsort": "#ัะพั€ั‚ัƒะฒะฐะฝะฝั", - "cl_keytype": "ะฟะพะทะฝะฐั‡ะตะฝะฝั ะบะปะฐะฒั–ัˆ", - "cl_hiddenc": "ะฟั€ะธั…ะพะฒะฐะฝั– ัั‚ะพะฒะฟั†ั–", - "cl_hidec": "ะฟั€ะธั…ะพะฒะฐั‚ะธ", - "cl_reset": "ัะบะธะฝัƒั‚ะธ", - "cl_hpick": "ะฝะฐั‚ะธัะฝั–ั‚ัŒ ะฝะฐ ะทะฐะณะพะปะพะฒะบะธ ัั‚ะพะฒะฟั†ั–ะฒ, ั‰ะพะฑ ะฟั€ะธั…ะพะฒะฐั‚ะธ ั—ั… ัƒ ั‚ะฐะฑะปะธั†ั– ะฝะธะถั‡ะต", - "cl_hcancel": "ะฟั€ะธั…ะพะฒะฐะฝะฝั ัั‚ะพะฒะฟั†ั–ะฒ ัะบะฐัะพะฒะฐะฝะพ", - - "ct_grid": '็”ฐ ัั–ั‚ะบะฐ', - "ct_ttips": 'โ—” โ—ก โ—”">โ„น๏ธ ะฟั–ะดะบะฐะทะบะธ', - "ct_thumb": 'ัƒ ั€ะตะถะธะผั– ัั–ั‚ะบะธ, ะฟะตั€ะตะผะบะฝัƒั‚ะธ ั–ะบะพะฝะบะธ ะฐะฑะพ ะผั–ะฝั–ะฐั‚ัŽั€ะธ$Nะ“ะฐั€ัั‡ะฐ ะบะปะฐะฒั–ัˆะฐ: T">๐Ÿ–ผ๏ธ ะผั–ะฝั–ะฐั‚ัŽั€ะธ', - "ct_csel": 'ะฒะธะบะพั€ะธัั‚ะพะฒัƒะฒะฐั‚ะธ CTRL ั– SHIFT ะดะปั ะฒะธะฑะพั€ัƒ ั„ะฐะนะปั–ะฒ ัƒ ั€ะตะถะธะผั– ัั–ั‚ะบะธ">ะฒะธะฑั–ั€', - "ct_ihop": 'ะบะพะปะธ ะฟะตั€ะตะณะปัะดะฐั‡ ะทะพะฑั€ะฐะถะตะฝัŒ ะทะฐะบั€ะธั‚ะพ, ะฟั€ะพะบั€ัƒั‚ะธั‚ะธ ะฒะฝะธะท ะดะพ ะพัั‚ะฐะฝะฝัŒะพะณะพ ะฟะตั€ะตะณะปัะฝัƒั‚ะพะณะพ ั„ะฐะนะปัƒ">gโฎฏ', - "ct_dots": 'ะฟะพะบะฐะทะฐั‚ะธ ะฟั€ะธั…ะพะฒะฐะฝั– ั„ะฐะนะปะธ (ัะบั‰ะพ ัะตั€ะฒะตั€ ะดะพะทะฒะพะปัั”)">ะฟั€ะธั…ะพะฒะฐะฝั– ั„ะฐะนะปะธ', - "ct_qdel": 'ะฟั€ะธ ะฒะธะดะฐะปะตะฝะฝั– ั„ะฐะนะปั–ะฒ, ะทะฐะฟะธั‚ะฐั‚ะธ ะฟั–ะดั‚ะฒะตั€ะดะถะตะฝะฝั ะปะธัˆะต ะพะดะธะฝ ั€ะฐะท">ัˆะฒะธะดะบะต ะฒะธะดะฐะปะตะฝะฝั', - "ct_dir1st": 'ัะพั€ั‚ัƒะฒะฐั‚ะธ ะฟะฐะฟะบะธ ะฟะตั€ะตะด ั„ะฐะนะปะฐะผะธ">ัะฟะพั‡ะฐั‚ะบัƒ ๐Ÿ“', - "ct_nsort": 'ะฟั€ะธั€ะพะดะฝะต ัะพั€ั‚ัƒะฒะฐะฝะฝั (ะดะปั ั–ะผะตะฝ ั„ะฐะนะปั–ะฒ ะท ะฟะพั‡ะฐั‚ะบะพะฒะธะผะธ ั†ะธั„ั€ะฐะผะธ)">ะฟั€ะธั€ะพะดะฝะต ัะพั€ั‚ัƒะฒะฐะฝะฝั', - "ct_utc": 'ะฒะธะบะพั€ะธัั‚ะพะฒัƒะนั‚ะต UTC ะดะปั ะฒัั–ั… ั‡ะฐัะพะฒะธั… ะฟะพะทะฝะฐั‡ะตะฝัŒ">UTC', //m - "ct_readme": 'ะฟะพะบะฐะทะฐั‚ะธ README.md ัƒ ัะฟะธัะบะฐั… ะฟะฐะฟะพะบ">๐Ÿ“œ readme', - "ct_idxh": 'ะฟะพะบะฐะทะฐั‚ะธ index.html ะทะฐะผั–ัั‚ัŒ ัะฟะธัะบัƒ ะฟะฐะฟะบะธ">htm', - "ct_sbars": 'ะฟะพะบะฐะทะฐั‚ะธ ัะผัƒะณะธ ะฟั€ะพะบั€ัƒั‚ะบะธ">โŸŠ', - - "cut_umod": "ัะบั‰ะพ ั„ะฐะนะป ะฒะถะต ั–ัะฝัƒั” ะฝะฐ ัะตั€ะฒะตั€ั–, ะพะฝะพะฒะธั‚ะธ ั‡ะฐัะพะฒัƒ ะผั–ั‚ะบัƒ ะพัั‚ะฐะฝะฝัŒะพั— ะทะผั–ะฝะธ ัะตั€ะฒะตั€ะฐ ะฒั–ะดะฟะพะฒั–ะดะฝะพ ะดะพ ะฒะฐัˆะพะณะพ ะปะพะบะฐะปัŒะฝะพะณะพ ั„ะฐะนะปัƒ (ะฟะพั‚ั€ะตะฑัƒั” ะดะพะทะฒะพะปั–ะฒ ะฝะฐ ะทะฐะฟะธั+ะฒะธะดะฐะปะตะฝะฝั)\">re๐Ÿ“…", - - "cut_turbo": "ะบะฝะพะฟะบะฐ yolo, ะฒะธ, ะนะผะพะฒั–ั€ะฝะพ, ะะ• ั…ะพั‡ะตั‚ะต ั—ั— ะฒะผะธะบะฐั‚ะธ:$N$Nะฒะธะบะพั€ะธัั‚ะพะฒัƒะนั‚ะต ั†ะต, ัะบั‰ะพ ะฒะธ ะทะฐะฒะฐะฝั‚ะฐะถัƒะฒะฐะปะธ ะฒะตะปะธั‡ะตะทะฝัƒ ะบั–ะปัŒะบั–ัั‚ัŒ ั„ะฐะนะปั–ะฒ ั– ะทะผัƒัˆะตะฝั– ะฑัƒะปะธ ะฟะตั€ะตะทะฐะฟัƒัั‚ะธั‚ะธ ะท ัะบะพั—ััŒ ะฟั€ะธั‡ะธะฝะธ, ั– ั…ะพั‡ะตั‚ะต ะฟั€ะพะดะพะฒะถะธั‚ะธ ะทะฐะฒะฐะฝั‚ะฐะถะตะฝะฝั ัะบะฝะฐะนัˆะฒะธะดัˆะต$N$Nั†ะต ะทะฐะผั–ะฝัŽั” ะฟะตั€ะตะฒั–ั€ะบัƒ ั…ะตัˆัƒ ะฟั€ะพัั‚ะพัŽ "ั‡ะธ ะผะฐั” ั†ะตะน ั„ะฐะนะป ั‚ะพะน ัะฐะผะธะน ั€ะพะทะผั–ั€ ะฝะฐ ัะตั€ะฒะตั€ั–?", ั‚ะพะผัƒ ัะบั‰ะพ ะฒะผั–ัั‚ ั„ะฐะนะปัƒ ะฒั–ะดั€ั–ะทะฝัั”ั‚ัŒัั, ะฒั–ะฝ ะะ• ะฑัƒะดะต ะทะฐะฒะฐะฝั‚ะฐะถะตะฝะธะน$N$Nะฒะธ ะฟะพะฒะธะฝะฝั– ะฒะธะผะบะฝัƒั‚ะธ ั†ะต, ะบะพะปะธ ะทะฐะฒะฐะฝั‚ะฐะถะตะฝะฝั ะฑัƒะดะต ะทะฐะฒะตั€ัˆะตะฝะพ, ะฐ ะฟะพั‚ั–ะผ "ะทะฐะฒะฐะฝั‚ะฐะถะธั‚ะธ" ั‚ั– ัะฐะผั– ั„ะฐะนะปะธ ะทะฝะพะฒัƒ, ั‰ะพะฑ ะดะพะทะฒะพะปะธั‚ะธ ะบะปั–ั”ะฝั‚ัƒ ะฟะตั€ะตะฒั–ั€ะธั‚ะธ ั—ั…\">turbo", - - "cut_datechk": "ะฝะต ะผะฐั” ะตั„ะตะบั‚ัƒ, ัะบั‰ะพ ะบะฝะพะฟะบะฐ turbo ะฝะต ะฒะฒั–ะผะบะฝะตะฝะฐ$N$Nะทะผะตะฝัˆัƒั” yolo ั„ะฐะบั‚ะพั€ ะฝะฐ ะบั€ะธั…ั‚ัƒ; ะฟะตั€ะตะฒั–ั€ัั”, ั‡ะธ ะฒั–ะดะฟะพะฒั–ะดะฐัŽั‚ัŒ ั‡ะฐัะพะฒั– ะผั–ั‚ะบะธ ั„ะฐะนะปั–ะฒ ะฝะฐ ัะตั€ะฒะตั€ั– ะฒะฐัˆะธะผ$N$Nั‚ะตะพั€ะตั‚ะธั‡ะฝะพ, ะฟะพะฒะธะฝะฝะพ ะทะปะพะฒะธั‚ะธ ะฑั–ะปัŒัˆั–ัั‚ัŒ ะฝะตะทะฐะฒะตั€ัˆะตะฝะธั… / ะฟะพัˆะบะพะดะถะตะฝะธั… ะทะฐะฒะฐะฝั‚ะฐะถะตะฝัŒ, ะฐะปะต ะฝะต ั” ะทะฐะผั–ะฝะพัŽ ะฒะธะบะพะฝะฐะฝะฝั ะฟะตั€ะตะฒั–ั€ะบะธ ะท ะฒะธะผะบะฝะตะฝะธะผ turbo ะฟะพั‚ั–ะผ\">date-chk", - - "cut_u2sz": "ั€ะพะทะผั–ั€ (ัƒ MiB) ะบะพะถะฝะพะณะพ ั„ั€ะฐะณะผะตะฝั‚ะฐ ะทะฐะฒะฐะฝั‚ะฐะถะตะฝะฝั; ะฒะตะปะธะบั– ะทะฝะฐั‡ะตะฝะฝั ะบั€ะฐั‰ะต ะปะตั‚ัั‚ัŒ ั‡ะตั€ะตะท ะฐั‚ะปะฐะฝั‚ะธั‡ะฝะธะน ะพะบะตะฐะฝ. ะกะฟั€ะพะฑัƒะนั‚ะต ะฝะธะทัŒะบั– ะทะฝะฐั‡ะตะฝะฝั ะฝะฐ ะดัƒะถะต ะฝะตะฝะฐะดั–ะนะฝะธั… ะท'ั”ะดะฝะฐะฝะฝัั…", - - "cut_flag": "ะฟะตั€ะตะบะพะฝะฐั‚ะธัั, ั‰ะพ ะปะธัˆะต ะพะดะฝะฐ ะฒะบะปะฐะดะบะฐ ะทะฐะฒะฐะฝั‚ะฐะถัƒั” ะพะดะฝะพั‡ะฐัะฝะพ $N -- ั–ะฝัˆั– ะฒะบะปะฐะดะบะธ ั‚ะฐะบะพะถ ะฟะพะฒะธะฝะฝั– ะผะฐั‚ะธ ั†ะต ะฒะฒั–ะผะบะฝะตะฝะต $N -- ะฒะฟะปะธะฒะฐั” ะปะธัˆะต ะฝะฐ ะฒะบะปะฐะดะบะธ ะฝะฐ ั‚ะพะผัƒ ัะฐะผะพะผัƒ ะดะพะผะตะฝั–", - - "cut_az": "ะทะฐะฒะฐะฝั‚ะฐะถัƒะฒะฐั‚ะธ ั„ะฐะนะปะธ ะฒ ะฐะปั„ะฐะฒั–ั‚ะฝะพะผัƒ ะฟะพั€ัะดะบัƒ, ะฐ ะฝะต ะฒั–ะด ะฝะฐะนะผะตะฝัˆะพะณะพ ั„ะฐะนะปัƒ$N$Nะฐะปั„ะฐะฒั–ั‚ะฝะธะน ะฟะพั€ัะดะพะบ ะผะพะถะต ะฟะพะปะตะณัˆะธั‚ะธ ะพะณะปัะด, ัะบั‰ะพ ั‰ะพััŒ ะฟั–ัˆะปะพ ะฝะต ั‚ะฐะบ ะฝะฐ ัะตั€ะฒะตั€ั–, ะฐะปะต ั€ะพะฑะธั‚ัŒ ะทะฐะฒะฐะฝั‚ะฐะถะตะฝะฝั ั‚ั€ะพั…ะธ ะฟะพะฒั–ะปัŒะฝั–ัˆะธะผ ะฝะฐ fiber / LAN", - - "cut_nag": "ัะฟะพะฒั–ั‰ะตะฝะฝั ะžะก ะฟั–ัะปั ะทะฐะฒะตั€ัˆะตะฝะฝั ะทะฐะฒะฐะฝั‚ะฐะถะตะฝะฝั$N(ั‚ั–ะปัŒะบะธ ัะบั‰ะพ ะฑั€ะฐัƒะทะตั€ ะฐะฑะพ ะฒะบะปะฐะดะบะฐ ะฝะต ะฐะบั‚ะธะฒะฝั–)", - "cut_sfx": "ะทะฒัƒะบะพะฒะธะน ัะธะณะฝะฐะป ะฟั–ัะปั ะทะฐะฒะตั€ัˆะตะฝะฝั ะทะฐะฒะฐะฝั‚ะฐะถะตะฝะฝั$N(ั‚ั–ะปัŒะบะธ ัะบั‰ะพ ะฑั€ะฐัƒะทะตั€ ะฐะฑะพ ะฒะบะปะฐะดะบะฐ ะฝะต ะฐะบั‚ะธะฒะฝั–)", - - "cut_mt": "ะฒะธะบะพั€ะธัั‚ะพะฒัƒะฒะฐั‚ะธ ะฑะฐะณะฐั‚ะพะฟะพั‚ะพะบะพะฒั–ัั‚ัŒ ะดะปั ะฟั€ะธัะบะพั€ะตะฝะฝั ั…ะตัˆัƒะฒะฐะฝะฝั ั„ะฐะนะปั–ะฒ$N$Nั†ะต ะฒะธะบะพั€ะธัั‚ะพะฒัƒั” ะฒะตะฑ-ะฒะพั€ะบะตั€ะธ ั– ะฟะพั‚ั€ะตะฑัƒั”$Nะฑั–ะปัŒัˆะต ะฟะฐะผ'ัั‚ั– (ะดะพ 512 MiB ะดะพะดะฐั‚ะบะพะฒะพ)$N$Nั€ะพะฑะธั‚ัŒ https ะฝะฐ 30% ัˆะฒะธะดัˆะต, http ัƒ 4.5 ั€ะฐะทะธ ัˆะฒะธะดัˆะต\">mt", - - "cut_wasm": "ะฒะธะบะพั€ะธัั‚ะพะฒัƒะฒะฐั‚ะธ wasm ะทะฐะผั–ัั‚ัŒ ะฒะฑัƒะดะพะฒะฐะฝะพะณะพ ั…ะตัˆะตั€ะฐ ะฑั€ะฐัƒะทะตั€ะฐ; ะฟะพะบั€ะฐั‰ัƒั” ัˆะฒะธะดะบั–ัั‚ัŒ ัƒ ะฑั€ะฐัƒะทะตั€ะฐั… ะฝะฐ ะฑะฐะทั– chrome, ะฐะปะต ะทะฑั–ะปัŒัˆัƒั” ะฝะฐะฒะฐะฝั‚ะฐะถะตะฝะฝั CPU, ะฟะปัŽั ะฑะฐะณะฐั‚ะพ ัั‚ะฐั€ะธั… ะฒะตั€ัั–ะน chrome ะผะฐัŽั‚ัŒ ะฑะฐะณะธ, ัะบั– ะทะผัƒัˆัƒัŽั‚ัŒ ะฑั€ะฐัƒะทะตั€ ัะฟะพะถะธะฒะฐั‚ะธ ะฒััŽ ะฟะฐะผ'ัั‚ัŒ ั– ะฒะธะปั–ั‚ะฐั‚ะธ, ัะบั‰ะพ ั†ั ะพะฟั†ั–ั ะฒะฒั–ะผะบะฝะตะฝะฐะฐ\">wasm", - - "cft_text": "ั‚ะตะบัั‚ favicon (ะฟะพั€ะพะถะฝั–ะน ั– ะพะฝะพะฒะธั‚ะธ ะดะปั ะฒั–ะดะบะปัŽั‡ะตะฝะฝั)", - "cft_fg": "ะบะพะปั–ั€ ะฟะตั€ะตะดะฝัŒะพะณะพ ะฟะปะฐะฝัƒ", - "cft_bg": "ะบะพะปั–ั€ ั„ะพะฝัƒ", - - "cdt_lim": "ะผะฐะบัะธะผะฐะปัŒะฝะฐ ะบั–ะปัŒะบั–ัั‚ัŒ ั„ะฐะนะปั–ะฒ ะดะปั ะฟะพะบะฐะทัƒ ะฒ ะฟะฐะฟั†ั–", - "cdt_ask": "ะฟั€ะธ ะฟั€ะพะบั€ัƒั‚ั†ั– ะดะพ ะฝะธะทัƒ,$Nะทะฐะผั–ัั‚ัŒ ะทะฐะฒะฐะฝั‚ะฐะถะตะฝะฝั ะฑั–ะปัŒัˆะต ั„ะฐะนะปั–ะฒ,$Nะทะฐะฟะธั‚ะฐั‚ะธ, ั‰ะพ ั€ะพะฑะธั‚ะธ", - "cdt_hsort": "ัะบั–ะปัŒะบะธ ะฟั€ะฐะฒะธะป ัะพั€ั‚ัƒะฒะฐะฝะฝั (<code>,sorthref</code>) ะฒะบะปัŽั‡ะฐั‚ะธ ะฒ ะผะตะดั–ะฐ-URL. ะ’ัั‚ะฐะฝะพะฒะปะตะฝะฝั ั†ัŒะพะณะพ ะฒ 0 ั‚ะฐะบะพะถ ะฑัƒะดะต ั–ะณะฝะพั€ัƒะฒะฐั‚ะธ ะฟั€ะฐะฒะธะปะฐ ัะพั€ั‚ัƒะฒะฐะฝะฝั, ะฒะบะปัŽั‡ะตะฝั– ะฒ ะผะตะดั–ะฐ ะฟะพัะธะปะฐะฝะฝั ะฟั€ะธ ั—ั… ะฝะฐั‚ะธัะบะฐะฝะฝั–", - - "tt_entree": "ะฟะพะบะฐะทะฐั‚ะธ ะฟะฐะฝะตะปัŒ ะฝะฐะฒั–ะณะฐั†ั–ั— (ะฑั–ั‡ะฝะฐ ะฟะฐะฝะตะปัŒ ะดะตั€ะตะฒะฐ ะบะฐั‚ะฐะปะพะณั–ะฒ)$Nะ“ะฐั€ัั‡ะฐ ะบะปะฐะฒั–ัˆะฐ: B", - "tt_detree": "ะฟะพะบะฐะทะฐั‚ะธ ั…ะปั–ะฑะฝั– ะบั€ะธั…ั‚ะธ$Nะ“ะฐั€ัั‡ะฐ ะบะปะฐะฒั–ัˆะฐ: B", - "tt_visdir": "ะฟั€ะพะบั€ัƒั‚ะธั‚ะธ ะดะพ ะฒะธะฑั€ะฐะฝะพั— ะฟะฐะฟะบะธ", - "tt_ftree": "ะฟะตั€ะตะผะบะฝัƒั‚ะธ ะดะตั€ะตะฒะพ ะฟะฐะฟะพะบ / ั‚ะตะบัั‚ะพะฒั– ั„ะฐะนะปะธ$Nะ“ะฐั€ัั‡ะฐ ะบะปะฐะฒั–ัˆะฐ: V", - "tt_pdock": "ะฟะพะบะฐะทะฐั‚ะธ ะฑะฐั‚ัŒะบั–ะฒััŒะบั– ะฟะฐะฟะบะธ ะฒ ะทะฐะบั€ั–ะฟะปะตะฝั–ะน ะฟะฐะฝะตะปั– ะทะฒะตั€ั…ัƒ", - "tt_dynt": "ะฐะฒั‚ะพะผะฐั‚ะธั‡ะฝะพ ะทะฑั–ะปัŒัˆัƒะฒะฐั‚ะธัั ะฟั€ะธ ั€ะพะทัˆะธั€ะตะฝะฝั– ะดะตั€ะตะฒะฐ", - "tt_wrap": "ะฟะตั€ะตะฝะตัะตะฝะฝั ัะปั–ะฒ", - "tt_hover": "ะฟะพะบะฐะทัƒะฒะฐั‚ะธ ะฟะตั€ะตะฟะพะฒะฝะตะฝั– ั€ัะดะบะธ ะฟั€ะธ ะฝะฐะฒะตะดะตะฝะฝั–$N( ะฟะพั€ัƒัˆัƒั” ะฟั€ะพะบั€ัƒั‚ะบัƒ, ัะบั‰ะพ ะบัƒั€ัะพั€ $N  ะผะธัˆั– ะฝะต ะทะฝะฐั…ะพะดะธั‚ัŒัั ะฒ ะปั–ะฒะพะผัƒ ะฒั–ะดัั‚ัƒะฟั– )", - - "ml_pmode": "ะฒ ะบั–ะฝั†ั– ะฟะฐะฟะบะธ...", - "ml_btns": "ะบะพะผะฐะฝะดะธ", - "ml_tcode": "ั‚ั€ะฐะฝัะบะพะดัƒะฒะฐั‚ะธ", - "ml_tcode2": "ั‚ั€ะฐะฝัะบะพะดัƒะฒะฐั‚ะธ ะฒ", - "ml_tint": "ะฒั–ะดั‚ั–ะฝะพะบ", - "ml_eq": "ะฐัƒะดั–ะพ ะตะบะฒะฐะปะฐะนะทะตั€", - "ml_drc": "ะบะพะผะฟั€ะตัะพั€ ะดะธะฝะฐะผั–ั‡ะฝะพะณะพ ะดั–ะฐะฟะฐะทะพะฝัƒ", - - "mt_loop": "ะทะฐั†ะธะบะปะธั‚ะธ/ะฟะพะฒั‚ะพั€ะธั‚ะธ ะพะดะฝัƒ ะฟั–ัะฝัŽ\">๐Ÿ”", - "mt_one": "ะทัƒะฟะธะฝะธั‚ะธ ะฟั–ัะปั ะพะดะฝั–ั”ั— ะฟั–ัะฝั–\">1๏ธโƒฃ", - "mt_shuf": "ะฟะตั€ะตะผั–ัˆะฐั‚ะธ ะฟั–ัะฝั– ะฒ ะบะพะถะฝั–ะน ะฟะฐะฟั†ั–\">๐Ÿ”€", - "mt_aplay": "ะฐะฒั‚ะพะฒั–ะดั‚ะฒะพั€ะตะฝะฝั, ัะบั‰ะพ ั” ID ะฟั–ัะฝั– ะฒ ะฟะพัะธะปะฐะฝะฝั–, ะฟะพ ัะบะพะผัƒ ะฒะธ ะบะปะฐั†ะฝัƒะปะธ ะดะปั ะดะพัั‚ัƒะฟัƒ ะดะพ ัะตั€ะฒะตั€ะฐ$N$Nะฒั–ะดะบะปัŽั‡ะตะฝะฝั ั†ัŒะพะณะพ ั‚ะฐะบะพะถ ะทัƒะฟะธะฝะธั‚ัŒ ะพะฝะพะฒะปะตะฝะฝั URL ัั‚ะพั€ั–ะฝะบะธ ะท ID ะฟั–ัะตะฝัŒ ะฟั–ะด ั‡ะฐั ะฒั–ะดั‚ะฒะพั€ะตะฝะฝั ะผัƒะทะธะบะธ, ั‰ะพะฑ ะทะฐะฟะพะฑั–ะณั‚ะธ ะฐะฒั‚ะพะฒั–ะดั‚ะฒะพั€ะตะฝะฝัŽ, ัะบั‰ะพ ั†ั– ะฝะฐะปะฐัˆั‚ัƒะฒะฐะฝะฝั ะฒั‚ั€ะฐั‡ะตะฝั–, ะฐะปะต URL ะทะฐะปะธัˆะฐั”ั‚ัŒัั\">aโ–ถ", - "mt_preload": "ะฟะพั‡ะฐั‚ะธ ะทะฐะฒะฐะฝั‚ะฐะถะตะฝะฝั ะฝะฐัั‚ัƒะฟะฝะพั— ะฟั–ัะฝั– ะฑะปะธะถั‡ะต ะดะพ ะบั–ะฝั†ั ะดะปั ะฑะตะทะฟะตั€ะตั€ะฒะฝะพะณะพ ะฒั–ะดั‚ะฒะพั€ะตะฝะฝั\">preload", - "mt_prescan": "ะฟะตั€ะตะนั‚ะธ ะดะพ ะฝะฐัั‚ัƒะฟะฝะพั— ะฟะฐะฟะบะธ ะฟะตั€ะตะด ั‚ะธะผ, ัะบ ะพัั‚ะฐะฝะฝั ะฟั–ัะฝั$Nะทะฐะบั–ะฝั‡ะธั‚ัŒัั, ะฟั–ะดั‚ั€ะธะผัƒัŽั‡ะธ ะฒะตะฑ-ะฑั€ะฐัƒะทะตั€ ัƒ ั€ะพะฑะพั‡ะพะผัƒ ัั‚ะฐะฝั–$Nั‰ะพะฑ ะฒั–ะฝ ะฝะต ะทัƒะฟะธะฝะธะฒ ะฒั–ะดั‚ะฒะพั€ะตะฝะฝั\">nav", - "mt_fullpre": "ัะฟั€ะพะฑัƒะฒะฐั‚ะธ ะฟะพะฟะตั€ะตะดะฝัŒะพ ะทะฐะฒะฐะฝั‚ะฐะถะธั‚ะธ ะฒััŽ ะฟั–ัะฝัŽ;$Nโœ… ัƒะฒั–ะผะบะฝั–ั‚ัŒ ะฝะฐ ะฝะตะฝะฐะดั–ะนะฝะธั… ะท'ั”ะดะฝะฐะฝะฝัั…,$NโŒ ะฒะธะผะบะฝั–ั‚ัŒ ะฝะฐ ะฟะพะฒั–ะปัŒะฝะธั… ะท'ั”ะดะฝะฐะฝะฝัั…, ะนะผะพะฒั–ั€ะฝะพ\">full", - "mt_fau": "ะฝะฐ ั‚ะตะปะตั„ะพะฝะฐั…, ะทะฐะฟะพะฑั–ะณั‚ะธ ะทัƒะฟะธะฝั†ั– ะผัƒะทะธะบะธ, ัะบั‰ะพ ะฝะฐัั‚ัƒะฟะฝะฐ ะฟั–ัะฝั ะฝะต ะทะฐะฒะฐะฝั‚ะฐะถัƒั”ั‚ัŒัั ะดะพัั‚ะฐั‚ะฝัŒะพ ัˆะฒะธะดะบะพ (ะผะพะถะต ะทั€ะพะฑะธั‚ะธ ะฒั–ะดะพะฑั€ะฐะถะตะฝะฝั ั‚ะตะณั–ะฒ ะณะปัŽั‡ะฝะธะผ)\">โ˜•๏ธ", - "mt_waves": "ัะผัƒะณะฐ ั…ะฒะธะปัŒะพะฒะพั— ั„ะพั€ะผะธ:$Nะฟะพะบะฐะทะฐั‚ะธ ะฐะผะฟะปั–ั‚ัƒะดัƒ ะฐัƒะดั–ะพ ะฒ ะฟะพะฒะทัƒะฝะบัƒ\">~s", - "mt_npclip": "ะฟะพะบะฐะทะฐั‚ะธ ะบะฝะพะฟะบะธ ะดะปั ะบะพะฟั–ัŽะฒะฐะฝะฝั ะดะพ ะฑัƒั„ะตั€ะฐ ะฟะพั‚ะพั‡ะฝะพั— ะฟั–ัะฝั–, ั‰ะพ ะฒั–ะดั‚ะฒะพั€ัŽั”ั‚ัŒัั\">/np", - "mt_m3u_c": "ะฟะพะบะฐะทะฐั‚ะธ ะบะฝะพะฟะบะธ ะดะปั ะบะพะฟั–ัŽะฒะฐะฝะฝั ะดะพ ะฑัƒั„ะตั€ะฐ$Nะฒะธะฑั€ะฐะฝะธั… ะฟั–ัะตะฝัŒ ัะบ ะทะฐะฟะธัะธ ะฟะปะตะนะปะธัั‚ัƒ m3u8\">๐Ÿ“ป", - "mt_octl": "ั–ะฝั‚ะตะณั€ะฐั†ั–ั ะท ะžะก (ะผะตะดั–ะฐ ะณะฐั€ัั‡ั– ะบะปะฐะฒั–ัˆั– / osd)\">os-ctl", - "mt_oseek": "ะดะพะทะฒะพะปะธั‚ะธ ะฟะตั€ะตะผะพั‚ัƒะฒะฐะฝะฝั ั‡ะตั€ะตะท ั–ะฝั‚ะตะณั€ะฐั†ั–ัŽ ะท ะžะก$N$Nะทะฐัƒะฒะฐะถะตะฝะฝั: ะฝะฐ ะดะตัะบะธั… ะฟั€ะธัั‚ั€ะพัั… (iPhone),$Nั†ะต ะทะฐะผั–ะฝัŽั” ะบะฝะพะฟะบัƒ ะฝะฐัั‚ัƒะฟะฝะพั— ะฟั–ัะฝั–\">seek", - "mt_oscv": "ะฟะพะบะฐะทะฐั‚ะธ ะพะฑะบะปะฐะดะธะฝะบัƒ ะฐะปัŒะฑะพะผัƒ ะฒ osd\">art", - "mt_follow": "ั‚ั€ะธะผะฐั‚ะธ ั‚ั€ะตะบ, ั‰ะพ ะฒั–ะดั‚ะฒะพั€ัŽั”ั‚ัŒัั, ัƒ ะฟะพะปั– ะทะพั€ัƒ\">๐ŸŽฏ", - "mt_compact": "ะบะพะผะฟะฐะบั‚ะฝั– ะตะปะตะผะตะฝั‚ะธ ะบะตั€ัƒะฒะฐะฝะฝั\">โŸŽ", - "mt_uncache": "ะพั‡ะธัั‚ะธั‚ะธ ะบะตัˆ  (ัะฟั€ะพะฑัƒะนั‚ะต ั†ะต, ัะบั‰ะพ ะฒะฐัˆ ะฑั€ะฐัƒะทะตั€ ะทะฐะบะตัˆัƒะฒะฐะฒ$Nะฟะพัˆะบะพะดะถะตะฝัƒ ะบะพะฟั–ัŽ ะฟั–ัะฝั–, ั‚ะพะผัƒ ะฒั–ะดะผะพะฒะปัั”ั‚ัŒัั ั—ั— ะฒั–ะดั‚ะฒะพั€ัŽะฒะฐั‚ะธ)\">uncache", - "mt_mloop": "ะทะฐั†ะธะบะปะธั‚ะธ ะฒั–ะดะบั€ะธั‚ัƒ ะฟะฐะฟะบัƒ\">๐Ÿ” loop", - "mt_mnext": "ะทะฐะฒะฐะฝั‚ะฐะถะธั‚ะธ ะฝะฐัั‚ัƒะฟะฝัƒ ะฟะฐะฟะบัƒ ั– ะฟั€ะพะดะพะฒะถะธั‚ะธ\">๐Ÿ“‚ next", - "mt_mstop": "ะทัƒะฟะธะฝะธั‚ะธ ะฒั–ะดั‚ะฒะพั€ะตะฝะฝั\">โธ stop", - "mt_cflac": "ะบะพะฝะฒะตั€ั‚ัƒะฒะฐั‚ะธ flac / wav ะฒ {0}\">flac", - "mt_caac": "ะบะพะฝะฒะตั€ั‚ัƒะฒะฐั‚ะธ aac / m4a ะฒ {0}\">aac", - "mt_coth": "ะบะพะฝะฒะตั€ั‚ัƒะฒะฐั‚ะธ ะฒัั– ั–ะฝัˆั– (ะฝะต mp3) ะฒ {0}\">oth", - "mt_c2opus": "ะฝะฐะนะบั€ะฐั‰ะธะน ะฒะธะฑั–ั€ ะดะปั ั€ะพะฑะพั‡ะธั… ัั‚ะพะปั–ะฒ, ะฝะพัƒั‚ะฑัƒะบั–ะฒ, android\">opus", - "mt_c2owa": "opus-weba, ะดะปั iOS 17.5 ั– ะฝะพะฒั–ัˆะธั…\">owa", - "mt_c2caf": "opus-caf, ะดะปั iOS 11 ะดะพ 17\">caf", - "mt_c2mp3": "ะฒะธะบะพั€ะธัั‚ะพะฒัƒะนั‚ะต ั†ะต ะฝะฐ ะดัƒะถะต ัั‚ะฐั€ะธั… ะฟั€ะธัั‚ั€ะพัั…\">mp3", - "mt_c2flac": "ะฝะฐะนะบั€ะฐั‰ะฐ ัะบั–ัั‚ัŒ ะทะฒัƒะบัƒ, ะฐะปะต ะฒะตะปะธะบั– ะทะฐะฒะฐะฝั‚ะฐะถะตะฝะฝั\">flac", //m - "mt_c2wav": "ะฒั–ะดั‚ะฒะพั€ะตะฝะฝั ะฑะตะท ัั‚ะธัะฝะตะฝะฝั (ั‰ะต ะฑั–ะปัŒัˆะต)\">wav", //m - "mt_c2ok": "ะณะฐั€ะฝะพ, ั…ะพั€ะพัˆะธะน ะฒะธะฑั–ั€", - "mt_c2nd": "ั†ะต ะฝะต ั€ะตะบะพะผะตะฝะดะพะฒะฐะฝะธะน ะฒะธั…ั–ะดะฝะธะน ั„ะพั€ะผะฐั‚ ะดะปั ะฒะฐัˆะพะณะพ ะฟั€ะธัั‚ั€ะพัŽ, ะฐะปะต ั†ะต ะฝะพั€ะผะฐะปัŒะฝะพ", - "mt_c2ng": "ะฒะฐัˆ ะฟั€ะธัั‚ั€ั–ะน, ะทะดะฐั”ั‚ัŒัั, ะฝะต ะฟั–ะดั‚ั€ะธะผัƒั” ั†ะตะน ะฒะธั…ั–ะดะฝะธะน ั„ะพั€ะผะฐั‚, ะฐะปะต ะดะฐะฒะฐะนั‚ะต ะฒัะต ะพะดะฝะพ ัะฟั€ะพะฑัƒั”ะผะพ", - "mt_xowa": "ั” ะฑะฐะณะธ ะฒ iOS, ัะบั– ะทะฐะฟะพะฑั–ะณะฐัŽั‚ัŒ ั„ะพะฝะพะฒะพะผัƒ ะฒั–ะดั‚ะฒะพั€ะตะฝะฝัŽ ะท ะฒะธะบะพั€ะธัั‚ะฐะฝะฝัะผ ั†ัŒะพะณะพ ั„ะพั€ะผะฐั‚ัƒ; ะฑัƒะดัŒ ะปะฐัะบะฐ, ะฒะธะบะพั€ะธัั‚ะพะฒัƒะนั‚ะต caf ะฐะฑะพ mp3 ะทะฐะผั–ัั‚ัŒ ั†ัŒะพะณะพ", - "mt_tint": "ั€ั–ะฒะตะฝัŒ ั„ะพะฝัƒ (0-100) ะฝะฐ ัะผัƒะทั– ะฟะตั€ะตะผะพั‚ัƒะฒะฐะฝะฝั$Nั‰ะพะฑ ะทั€ะพะฑะธั‚ะธ ะฑัƒั„ะตั€ะธะทะฐั†ั–ัŽ ะผะตะฝัˆ ะฒั–ะดะฒะตั€ั‚ะฐัŽั‡ะพัŽ", - "mt_eq": "ะฒะผะธะบะฐั” ะตะบะฒะฐะปะฐะนะทะตั€ ั– ะบะพะฝั‚ั€ะพะปัŒ ะฟะพัะธะปะตะฝะฝั;$N$Nะฟะพัะธะปะตะฝะฝั <code>0</code> = ัั‚ะฐะฝะดะฐั€ั‚ะฝะฐ 100% ะณัƒั‡ะฝั–ัั‚ัŒ (ะฝะตะผะพะดะธั„ั–ะบะพะฒะฐะฝะฐ)$N$Nัˆะธั€ะธะฝะฐ <code>1  </code> = ัั‚ะฐะฝะดะฐั€ั‚ะฝะต ัั‚ะตั€ะตะพ (ะฝะตะผะพะดะธั„ั–ะบะพะฒะฐะฝะต)$Nัˆะธั€ะธะฝะฐ <code>0.5</code> = 50% ะฟะตั€ะตั…ั€ะตัะฝะต ะถะธะฒะปะตะฝะฝั ะปั–ะฒะพ-ะฟั€ะฐะฒะพ$Nัˆะธั€ะธะฝะฐ <code>0  </code> = ะผะพะฝะพ$N$Nะฟะพัะธะปะตะฝะฝั <code>-0.8</code> & ัˆะธั€ะธะฝะฐ <code>10</code> = ะฒะธะดะฐะปะตะฝะฝั ะฒะพะบะฐะปัƒ :^)$N$NะฒะบะปัŽั‡ะตะฝะฝั ะตะบะฒะฐะปะฐะนะทะตั€ะฐ ั€ะพะฑะธั‚ัŒ ะฑะตะทัˆะพะฒะฝั– ะฐะปัŒะฑะพะผะธ ะฟะพะฒะฝั–ัั‚ัŽ ะฑะตะทัˆะพะฒะฝะธะผะธ, ั‚ะพะผัƒ ะทะฐะปะธัˆะฐะนั‚ะต ะนะพะณะพ ัƒะฒั–ะผะบะฝะตะฝะธะผ ะท ัƒัั–ะผะฐ ะทะฝะฐั‡ะตะฝะฝัะผะธ ะฒ ะฝัƒะปั– (ะพะบั€ั–ะผ ัˆะธั€ะธะฝะธ = 1), ัะบั‰ะพ ะฒะฐะผ ั†ะต ะฒะฐะถะปะธะฒะพ", - "mt_drc": "ะฒะผะธะบะฐั” ะบะพะผะฟั€ะตัะพั€ ะดะธะฝะฐะผั–ั‡ะฝะพะณะพ ะดั–ะฐะฟะฐะทะพะฝัƒ (ะฒะธั€ั–ะฒะฝัŽะฒะฐั‡ ะณัƒั‡ะฝะพัั‚ั– / ั†ะตะณะปะพะฒะธะน ะฒะฐะป); ั‚ะฐะบะพะถ ัƒะฒั–ะผะบะฝะต EQ ะดะปั ะฑะฐะปะฐะฝััƒะฒะฐะฝะฝั ัะฟะฐะณะตั‚ั–, ั‚ะพะผัƒ ะฒัั‚ะฐะฝะพะฒั–ั‚ัŒ ะฒัั– ะฟะพะปั EQ ะพะบั€ั–ะผ 'width' ะฒ 0, ัะบั‰ะพ ะฒะธ ั†ัŒะพะณะพ ะฝะต ั…ะพั‡ะตั‚ะต$N$Nะทะฝะธะถัƒั” ะณัƒั‡ะฝั–ัั‚ัŒ ะฐัƒะดั–ะพ ะฒะธั‰ะต THRESHOLD ะดะ‘; ะดะปั ะบะพะถะฝะพะณะพ RATIO ะดะ‘ ะฟะพะฝะฐะด THRESHOLD ั” 1 ะดะ‘ ะฒะธั…ะพะดัƒ, ั‚ะพะผัƒ ัั‚ะฐะฝะดะฐั€ั‚ะฝั– ะทะฝะฐั‡ะตะฝะฝั tresh -24 ั– ratio 12 ะพะทะฝะฐั‡ะฐัŽั‚ัŒ, ั‰ะพ ะฒั–ะฝ ะฝั–ะบะพะปะธ ะฝะต ะฟะพะฒะธะฝะตะฝ ัั‚ะฐั‚ะธ ะณัƒั‡ะฝั–ัˆะธะผ ะทะฐ -22 ะดะ‘ ั– ะฑะตะทะฟะตั‡ะฝะพ ะทะฑั–ะปัŒัˆะธั‚ะธ ะฟะพัะธะปะตะฝะฝั ะตะบะฒะฐะปะฐะนะทะตั€ะฐ ะดะพ 0.8, ะฐะฑะพ ะฝะฐะฒั–ั‚ัŒ 1.8 ะท ATK 0 ั– ะฒะตะปะธั‡ะตะทะฝะธะผ RLS ัะบ 90 (ะฟั€ะฐั†ัŽั” ั‚ั–ะปัŒะบะธ ะฒ firefox; RLS ะผะฐะบัะธะผัƒะผ 1 ะฒ ั–ะฝัˆะธั… ะฑั€ะฐัƒะทะตั€ะฐั…)$N$N(ะดะธะฒั–ั‚ัŒัั ะฒั–ะบั–ะฟะตะดั–ัŽ, ะฒะพะฝะธ ะฟะพััะฝัŽัŽั‚ัŒ ั†ะต ะฝะฐะฑะฐะณะฐั‚ะพ ะบั€ะฐั‰ะต)", - - "mb_play": "ะฒั–ะดั‚ะฒะพั€ะธั‚ะธ", - "mm_hashplay": "ะฒั–ะดั‚ะฒะพั€ะธั‚ะธ ั†ะตะน ะฐัƒะดั–ะพ ั„ะฐะนะป?", - "mm_m3u": "ะฝะฐั‚ะธัะฝั–ั‚ัŒ Enter/ะ“ะฐั€ะฐะทะด ะดะปั ะฒั–ะดั‚ะฒะพั€ะตะฝะฝั\nะฝะฐั‚ะธัะฝั–ั‚ัŒ ESC/ะกะบะฐััƒะฒะฐั‚ะธ ะดะปั ั€ะตะดะฐะณัƒะฒะฐะฝะฝั", - "mp_breq": "ะฟะพั‚ั€ั–ะฑะตะฝ firefox 82+ ะฐะฑะพ chrome 73+ ะฐะฑะพ iOS 15+", - "mm_bload": "ะทะฐั€ะฐะท ะทะฐะฒะฐะฝั‚ะฐะถัƒั”ั‚ัŒัั...", - "mm_bconv": "ะบะพะฝะฒะตั€ั‚ัƒั”ั‚ัŒัั ะฒ {0}, ะฑัƒะดัŒ ะปะฐัะบะฐ, ะทะฐั‡ะตะบะฐะนั‚ะต...", - "mm_opusen": "ะฒะฐัˆ ะฑั€ะฐัƒะทะตั€ ะฝะต ะผะพะถะต ะฒั–ะดั‚ะฒะพั€ัŽะฒะฐั‚ะธ aac / m4a ั„ะฐะนะปะธ;\nั‚ั€ะฐะฝัะบะพะดัƒะฒะฐะฝะฝั ะฒ opus ั‚ะตะฟะตั€ ัƒะฒั–ะผะบะฝะตะฝะพ", - "mm_playerr": "ะฒั–ะดั‚ะฒะพั€ะตะฝะฝั ะฝะตะฒะดะฐะปะต: ", - "mm_eabrt": "ะกะฟั€ะพะฑะฐ ะฒั–ะดั‚ะฒะพั€ะตะฝะฝั ะฑัƒะปะฐ ัะบะฐัะพะฒะฐะฝะฐ", - "mm_enet": "ะ’ะฐัˆะต ั–ะฝั‚ะตั€ะฝะตั‚-ะท'ั”ะดะฝะฐะฝะฝั ะฝะตัั‚ะฐะฑั–ะปัŒะฝะต", - "mm_edec": "ะฆะตะน ั„ะฐะนะป ะฝั–ะฑะธั‚ะพ ะฟะพัˆะบะพะดะถะตะฝะธะน??", - "mm_esupp": "ะ’ะฐัˆ ะฑั€ะฐัƒะทะตั€ ะฝะต ั€ะพะทัƒะผั–ั” ั†ะตะน ะฐัƒะดั–ะพ ั„ะพั€ะผะฐั‚", - "mm_eunk": "ะะตะฒั–ะดะพะผะฐ ะฟะพะผะธะปะบะฐ", - "mm_e404": "ะะต ะฒะดะฐะปะพัั ะฒั–ะดั‚ะฒะพั€ะธั‚ะธ ะฐัƒะดั–ะพ; ะฟะพะผะธะปะบะฐ 404: ะคะฐะนะป ะฝะต ะทะฝะฐะนะดะตะฝะพ.", - "mm_e403": "ะะต ะฒะดะฐะปะพัั ะฒั–ะดั‚ะฒะพั€ะธั‚ะธ ะฐัƒะดั–ะพ; ะฟะพะผะธะปะบะฐ 403: ะ”ะพัั‚ัƒะฟ ะทะฐะฑะพั€ะพะฝะตะฝะพ.\n\nะกะฟั€ะพะฑัƒะนั‚ะต ะฝะฐั‚ะธัะฝัƒั‚ะธ F5 ะดะปั ะฟะตั€ะตะทะฐะฒะฐะฝั‚ะฐะถะตะฝะฝั, ะผะพะถะปะธะฒะพ, ะฒะธ ะฒะธะนัˆะปะธ ะท ัะธัั‚ะตะผะธ", - "mm_e500": "ะะต ะฒะดะฐะปะพัั ะฒั–ะดั‚ะฒะพั€ะธั‚ะธ ะฐัƒะดั–ะพ; ะฟะพะผะธะปะบะฐ 500: ะŸะตั€ะตะฒั–ั€ั‚ะต ะปะพะณะธ ัะตั€ะฒะตั€ะฐ.", - "mm_e5xx": "ะะต ะฒะดะฐะปะพัั ะฒั–ะดั‚ะฒะพั€ะธั‚ะธ ะฐัƒะดั–ะพ; ะฟะพะผะธะปะบะฐ ัะตั€ะฒะตั€ะฐ ", - "mm_nof": "ะฝะต ะทะฝะฐั…ะพะดะถัƒ ะฑั–ะปัŒัˆะต ะฐัƒะดั–ะพ ั„ะฐะนะปั–ะฒ ะฟะพะฑะปะธะทัƒ", - "mm_prescan": "ะจัƒะบะฐัŽ ะผัƒะทะธะบัƒ ะดะปั ะฝะฐัั‚ัƒะฟะฝะพะณะพ ะฒั–ะดั‚ะฒะพั€ะตะฝะฝั...", - "mm_scank": "ะ—ะฝะฐะนัˆะพะฒ ะฝะฐัั‚ัƒะฟะฝัƒ ะฟั–ัะฝัŽ:", - "mm_uncache": "ะบะตัˆ ะพั‡ะธั‰ะตะฝะพ; ะฒัั– ะฟั–ัะฝั– ะฑัƒะดัƒั‚ัŒ ะฟะตั€ะตะทะฐะฒะฐะฝั‚ะฐะถะตะฝั– ะฟั€ะธ ะฝะฐัั‚ัƒะฟะฝะพะผัƒ ะฒั–ะดั‚ะฒะพั€ะตะฝะฝั–", - "mm_hnf": "ั†ั ะฟั–ัะฝั ะฑั–ะปัŒัˆะต ะฝะต ั–ัะฝัƒั”", - - "im_hnf": "ั†ะต ะทะพะฑั€ะฐะถะตะฝะฝั ะฑั–ะปัŒัˆะต ะฝะต ั–ัะฝัƒั”", - - "f_empty": 'ั†ั ะฟะฐะฟะบะฐ ะฟะพั€ะพะถะฝั', - "f_chide": 'ั†ะต ะฟั€ะธั…ะพะฒะฐั” ัั‚ะพะฒะฟะตั†ัŒ ยซ{0}ยป\n\nะฒะธ ะผะพะถะตั‚ะต ะฟะพะบะฐะทะฐั‚ะธ ัั‚ะพะฒะฟั†ั– ะฒ ะฒะบะปะฐะดั†ั– ะฝะฐะปะฐัˆั‚ัƒะฒะฐะฝัŒ', - "f_bigtxt": "ั†ะตะน ั„ะฐะนะป ั€ะพะทะผั–ั€ะพะผ {0} MiB -- ะดั–ะนัะฝะพ ะฟะตั€ะตะณะปัะดะฐั‚ะธ ัะบ ั‚ะตะบัั‚?", - "f_bigtxt2": "ะฟะตั€ะตะณะปัะฝัƒั‚ะธ ะปะธัˆะต ะบั–ะฝะตั†ัŒ ั„ะฐะนะปัƒ ะทะฐะผั–ัั‚ัŒ ั†ัŒะพะณะพ? ั†ะต ั‚ะฐะบะพะถ ัƒะฒั–ะผะบะฝะต ะฒั–ะดัะปั–ะดะบะพะฒัƒะฒะฐะฝะฝั/tailing, ะฟะพะบะฐะทัƒัŽั‡ะธ ะฝะพะฒะพะดะพะดะฐะฝั– ั€ัะดะบะธ ั‚ะตะบัั‚ัƒ ะฒ ั€ะตะฐะปัŒะฝะพะผัƒ ั‡ะฐัั–", - "fbd_more": '
    ะฟะพะบะฐะทะฐะฝะพ {0} ะท {1} ั„ะฐะนะปั–ะฒ; ะฟะพะบะฐะทะฐั‚ะธ {2} ะฐะฑะพ ะฟะพะบะฐะทะฐั‚ะธ ะฒัั–
    ', - "fbd_all": '
    ะฟะพะบะฐะทะฐะฝะพ {0} ะท {1} ั„ะฐะนะปั–ะฒ; ะฟะพะบะฐะทะฐั‚ะธ ะฒัั–
    ', - "f_anota": "ะปะธัˆะต {0} ะท {1} ะตะปะตะผะตะฝั‚ั–ะฒ ะฑัƒะปะพ ะฒะธะฑั€ะฐะฝะพ;\nั‰ะพะฑ ะฒะธะฑั€ะฐั‚ะธ ะฒััŽ ะฟะฐะฟะบัƒ, ัะฟะพั‡ะฐั‚ะบัƒ ะฟั€ะพะบั€ัƒั‚ั–ั‚ัŒ ะดะพ ะฝะธะทัƒ", - - "f_dls": 'ะฟะพัะธะปะฐะฝะฝั ะฝะฐ ั„ะฐะนะปะธ ะฒ ะฟะพั‚ะพั‡ะฝั–ะน ะฟะฐะฟั†ั– ะฑัƒะปะธ\nะทะผั–ะฝะตะฝั– ะฝะฐ ะฟะพัะธะปะฐะฝะฝั ะดะปั ะทะฐะฒะฐะฝั‚ะฐะถะตะฝะฝั', - - "f_partial": "ะฉะพะฑ ะฑะตะทะฟะตั‡ะฝะพ ะทะฐะฒะฐะฝั‚ะฐะถะธั‚ะธ ั„ะฐะนะป, ัะบะธะน ะทะฐั€ะฐะท ะทะฐะฒะฐะฝั‚ะฐะถัƒั”ั‚ัŒัั, ะฑัƒะดัŒ ะปะฐัะบะฐ, ะบะปะฐั†ะฝั–ั‚ัŒ ะฝะฐ ั„ะฐะนะป, ัะบะธะน ะผะฐั” ั‚ะฐะบะต ัะฐะผะต ั–ะผ'ั, ะฐะปะต ะฑะตะท ั€ะพะทัˆะธั€ะตะฝะฝั .PARTIAL. ะ‘ัƒะดัŒ ะปะฐัะบะฐ, ะฝะฐั‚ะธัะฝั–ั‚ัŒ ะกะบะฐััƒะฒะฐั‚ะธ ะฐะฑะพ Escape, ั‰ะพะฑ ะทั€ะพะฑะธั‚ะธ ั†ะต.\n\nะะฐั‚ะธัะฝะตะฝะฝั ะ“ะฐั€ะฐะทะด / Enter ะฟั€ะพั–ะณะฝะพั€ัƒั” ั†ะต ะฟะพะฟะตั€ะตะดะถะตะฝะฝั ั– ะฟั€ะพะดะพะฒะถะธั‚ัŒ ะทะฐะฒะฐะฝั‚ะฐะถะตะฝะฝั .PARTIAL ั€ะพะฑะพั‡ะพะณะพ ั„ะฐะนะปัƒ ะทะฐะผั–ัั‚ัŒ ั†ัŒะพะณะพ, ั‰ะพ ะผะฐะนะถะต ะฝะฐะฟะตะฒะฝะพ ะดะฐัั‚ัŒ ะฒะฐะผ ะฟะพัˆะบะพะดะถะตะฝั– ะดะฐะฝั–.", - - "ft_paste": "ะฒัั‚ะฐะฒะธั‚ะธ {0} ะตะปะตะผะตะฝั‚ั–ะฒ$Nะ“ะฐั€ัั‡ะฐ ะบะปะฐะฒั–ัˆะฐ: ctrl-V", - "fr_eperm": 'ะฝะต ะผะพะถัƒ ะฟะตั€ะตะนะผะตะฝัƒะฒะฐั‚ะธ:\nัƒ ะฒะฐั ะฝะตะผะฐั” ะดะพะทะฒะพะปัƒ โ€œะฟะตั€ะตะผั–ั‰ะตะฝะฝัโ€œ ะฒ ั†ั–ะน ะฟะฐะฟั†ั–', - "fd_eperm": 'ะฝะต ะผะพะถัƒ ะฒะธะดะฐะปะธั‚ะธ:\nัƒ ะฒะฐั ะฝะตะผะฐั” ะดะพะทะฒะพะปัƒ โ€œะฒะธะดะฐะปะตะฝะฝัโ€œ ะฒ ั†ั–ะน ะฟะฐะฟั†ั–', - "fc_eperm": 'ะฝะต ะผะพะถัƒ ะฒะธั€ั–ะทะฐั‚ะธ:\nัƒ ะฒะฐั ะฝะตะผะฐั” ะดะพะทะฒะพะปัƒ โ€œะฟะตั€ะตะผั–ั‰ะตะฝะฝัโ€œ ะฒ ั†ั–ะน ะฟะฐะฟั†ั–', - "fp_eperm": 'ะฝะต ะผะพะถัƒ ะฒัั‚ะฐะฒะธั‚ะธ:\nัƒ ะฒะฐั ะฝะตะผะฐั” ะดะพะทะฒะพะปัƒ โ€œะทะฐะฟะธััƒโ€œ ะฒ ั†ั–ะน ะฟะฐะฟั†ั–', - "fr_emore": "ะฒะธะฑะตั€ั–ั‚ัŒ ะฟั€ะธะฝะฐะนะผะฝั– ะพะดะธะฝ ะตะปะตะผะตะฝั‚ ะดะปั ะฟะตั€ะตะนะผะตะฝัƒะฒะฐะฝะฝั", - "fd_emore": "ะฒะธะฑะตั€ั–ั‚ัŒ ะฟั€ะธะฝะฐะนะผะฝั– ะพะดะธะฝ ะตะปะตะผะตะฝั‚ ะดะปั ะฒะธะดะฐะปะตะฝะฝั", - "fc_emore": "ะฒะธะฑะตั€ั–ั‚ัŒ ะฟั€ะธะฝะฐะนะผะฝั– ะพะดะธะฝ ะตะปะตะผะตะฝั‚ ะดะปั ะฒะธั€ั–ะทะฐะฝะฝั", - "fcp_emore": "ะฒะธะฑะตั€ั–ั‚ัŒ ะฟั€ะธะฝะฐะนะผะฝั– ะพะดะธะฝ ะตะปะตะผะตะฝั‚ ะดะปั ะบะพะฟั–ัŽะฒะฐะฝะฝั ะดะพ ะฑัƒั„ะตั€ะฐ", - - "fs_sc": "ะฟะพะดั–ะปะธั‚ะธัั ะฟะฐะฟะบะพัŽ, ะฒ ัะบั–ะน ะฒะธ ะทะฝะฐั…ะพะดะธั‚ะตััŒ", - "fs_ss": "ะฟะพะดั–ะปะธั‚ะธัั ะฒะธะฑั€ะฐะฝะธะผะธ ั„ะฐะนะปะฐะผะธ", - "fs_just1d": "ะฒะธ ะฝะต ะผะพะถะตั‚ะต ะฒะธะฑั€ะฐั‚ะธ ะฑั–ะปัŒัˆะต ะพะดะฝั–ั”ั— ะฟะฐะฟะบะธ,\nะฐะฑะพ ะทะผั–ัˆัƒะฒะฐั‚ะธ ั„ะฐะนะปะธ ั– ะฟะฐะฟะบะธ ะฒ ะพะดะฝะพะผัƒ ะฒะธะฑะพั€ั–", - "fs_abrt": "โŒ ัะบะฐััƒะฒะฐั‚ะธ", - "fs_rand": "๐ŸŽฒ ะฒะธะฟะฐะดะบ.ั–ะผ'ั", - "fs_go": "โœ… ัั‚ะฒะพั€ะธั‚ะธ ัะฟั–ะปัŒะฝะธะน ะดะพัั‚ัƒะฟ", - "fs_name": "ั–ะผ'ั", - "fs_src": "ะดะถะตั€ะตะปะพ", - "fs_pwd": "ะฟะฐั€ะพะปัŒ", - "fs_exp": "ั‚ะตั€ะผั–ะฝ ะดั–ั—", - "fs_tmin": "ั…ะฒ", - "fs_thrs": "ะณะพะดะธะฝ", - "fs_tdays": "ะดะฝั–ะฒ", - "fs_never": "ะฒั–ั‡ะฝะธะน", - "fs_pname": "ะฝะตะพะฑะพะฒ'ัะทะบะพะฒะต ั–ะผ'ั ะฟะพัะธะปะฐะฝะฝั; ะฑัƒะดะต ะฒะธะฟะฐะดะบะพะฒะธะผ, ัะบั‰ะพ ะฟะพั€ะพะถะฝั”", - "fs_tsrc": "ั„ะฐะนะป ะฐะฑะพ ะฟะฐะฟะบะฐ ะดะปั ัะฟั–ะปัŒะฝะพะณะพ ะดะพัั‚ัƒะฟัƒ", - "fs_ppwd": "ะฝะตะพะฑะพะฒ'ัะทะบะพะฒะธะน ะฟะฐั€ะพะปัŒ", - "fs_w8": "ัั‚ะฒะพั€ะตะฝะฝั ัะฟั–ะปัŒะฝะพะณะพ ะดะพัั‚ัƒะฟัƒ...", - "fs_ok": "ะฝะฐั‚ะธัะฝั–ั‚ัŒ Enter/ะ“ะฐั€ะฐะทะด ะดะปั ะบะพะฟั–ัŽะฒะฐะฝะฝั ะดะพ ะฑัƒั„ะตั€ะฐ\nะฝะฐั‚ะธัะฝั–ั‚ัŒ ESC/ะกะบะฐััƒะฒะฐั‚ะธ ะดะปั ะทะฐะบั€ะธั‚ั‚ั", - - "frt_dec": "ะผะพะถะต ะฒะธะฟั€ะฐะฒะธั‚ะธ ะดะตัะบั– ะฒะธะฟะฐะดะบะธ ะฟะพัˆะบะพะดะถะตะฝะธั… ั–ะผะตะฝ ั„ะฐะนะปั–ะฒ\">url-decode", - "frt_rst": "ัะบะธะฝัƒั‚ะธ ะทะผั–ะฝะตะฝั– ั–ะผะตะฝะฐ ั„ะฐะนะปั–ะฒ ะฝะฐะทะฐะด ะดะพ ะพั€ะธะณั–ะฝะฐะปัŒะฝะธั…\">โ†บ reset", - "frt_abrt": "ะฟะตั€ะตั€ะฒะฐั‚ะธ ั– ะทะฐะบั€ะธั‚ะธ ั†ะต ะฒั–ะบะฝะพ\">โŒ cancel", - "frb_apply": "ะ—ะะกะขะžะกะฃะ’ะะขะ˜ ะŸะ•ะ ะ•ะ™ะœะ•ะะฃะ’ะะะะฏ", - "fr_adv": "ะฟะฐะบะตั‚ะฝะต / ะผะตั‚ะฐะดะฐะฝั– / ัˆะฐะฑะปะพะฝะฝะต ะฟะตั€ะตะนะผะตะฝัƒะฒะฐะฝะฝั\">ั€ะพะทัˆะธั€ะตะฝะต", - "fr_case": "ั€ะตะณัƒะปัั€ะฝะธะน ะฒะธั€ะฐะท ะท ัƒั€ะฐั…ัƒะฒะฐะฝะฝัะผ ั€ะตะณั–ัั‚ั€ัƒ\">ั€ะตะณั–ัั‚ั€", - "fr_win": "ะฑะตะทะฟะตั‡ะฝั– ะดะปั windows ั–ะผะตะฝะฐ; ะทะฐะผั–ะฝะธั‚ะธ <>:"\\|?* ะฝะฐ ัะฟะพะฝััŒะบั– ะฟะพะฒะฝะพัˆะธั€ะธะฝะฝั– ัะธะผะฒะพะปะธ\">win", - "fr_slash": "ะทะฐะผั–ะฝะธั‚ะธ / ะฝะฐ ัะธะผะฒะพะป, ัะบะธะน ะฝะต ะฟั€ะธะทะฒะพะดะธั‚ัŒ ะดะพ ัั‚ะฒะพั€ะตะฝะฝั ะฝะพะฒะธั… ะฟะฐะฟะพะบ\">ะฑะตะท /", - "fr_re": "ัˆะฐะฑะปะพะฝ ะฟะพัˆัƒะบัƒ ั€ะตะณัƒะปัั€ะฝะพะณะพ ะฒะธั€ะฐะทัƒ ะดะปั ะทะฐัั‚ะพััƒะฒะฐะฝะฝั ะดะพ ะพั€ะธะณั–ะฝะฐะปัŒะฝะธั… ั–ะผะตะฝ ั„ะฐะนะปั–ะฒ; ะณั€ัƒะฟะธ ะทะฐั…ะพะฟะปะตะฝะฝั ะผะพะถะฝะฐ ะฟะพัะธะปะฐั‚ะธัั ะฒ ะฟะพะปั– ั„ะพั€ะผะฐั‚ัƒ ะฝะธะถั‡ะต ัะบ <code>(1)</code> ั– <code>(2)</code> ั– ั‚ะฐะบ ะดะฐะปั–", - "fr_fmt": "ะฝะฐั‚ั…ะฝะตะฝะฝะธะน foobar2000:$N<code>(title)</code> ะทะฐะผั–ะฝัŽั”ั‚ัŒัั ะฝะฐะทะฒะพัŽ ะฟั–ัะฝั–,$N<code>[(artist) - ](title)</code> ะฟั€ะพะฟัƒัะบะฐั” [ั†ัŽ] ั‡ะฐัั‚ะธะฝัƒ, ัะบั‰ะพ ะฒะธะบะพะฝะฐะฒะตั†ัŒ ะฟะพั€ะพะถะฝั–ะน$N<code>$lpad((tn),2,0)</code> ะดะพะฟะพะฒะฝัŽั” ะฝะพะผะตั€ ั‚ั€ะตะบัƒ ะดะพ 2 ั†ะธั„ั€", - "fr_pdel": "ะฒะธะดะฐะปะธั‚ะธ", - "fr_pnew": "ะทะฑะตั€ะตะณั‚ะธ ัะบ", - "fr_pname": "ะฝะฐะดะฐะนั‚ะต ั–ะผ'ั ะดะปั ะฒะฐัˆะพะณะพ ะฝะพะฒะพะณะพ ะฟั€ะตัะตั‚ัƒ", - "fr_aborted": "ะฟะตั€ะตั€ะฒะฐะฝะพ", - "fr_lold": "ัั‚ะฐั€ะต ั–ะผ'ั", - "fr_lnew": "ะฝะพะฒะต ั–ะผ'ั", - "fr_tags": "ั‚ะตะณะธ ะดะปั ะฒะธะฑั€ะฐะฝะธั… ั„ะฐะนะปั–ะฒ (ั‚ั–ะปัŒะบะธ ะดะปั ั‡ะธั‚ะฐะฝะฝั, ะปะธัˆะต ะดะปั ะดะพะฒั–ะดะบะธ):", - "fr_busy": "ะฟะตั€ะตะนะผะตะฝัƒะฒะฐะฝะฝั {0} ะตะปะตะผะตะฝั‚ั–ะฒ...\n\n{1}", - "fr_efail": "ะฟะตั€ะตะนะผะตะฝัƒะฒะฐะฝะฝั ะฝะตะฒะดะฐะปะต:\n", - "fr_nchg": "{0} ะท ะฝะพะฒะธั… ั–ะผะตะฝ ะฑัƒะปะธ ะทะผั–ะฝะตะฝั– ั‡ะตั€ะตะท win ั‚ะฐ/ะฐะฑะพ no /\n\nOK ะฟั€ะพะดะพะฒะถะธั‚ะธ ะท ั†ะธะผะธ ะทะผั–ะฝะตะฝะธะผะธ ะฝะพะฒะธะผะธ ั–ะผะตะฝะฐะผะธ?", - - "fd_ok": "ะฒะธะดะฐะปะตะฝะฝั OK", - "fd_err": "ะฒะธะดะฐะปะตะฝะฝั ะฝะตะฒะดะฐะปะต:\n", - "fd_none": "ะฝั–ั‡ะพะณะพ ะฝะต ะฑัƒะปะพ ะฒะธะดะฐะปะตะฝะพ; ะผะพะถะปะธะฒะพ, ะทะฐะฑะปะพะบะพะฒะฐะฝะพ ะบะพะฝั„ั–ะณัƒั€ะฐั†ั–ั”ัŽ ัะตั€ะฒะตั€ะฐ (xbd)?", - "fd_busy": "ะฒะธะดะฐะปะตะฝะฝั {0} ะตะปะตะผะตะฝั‚ั–ะฒ...\n\n{1}", - "fd_warn1": "ะ’ะ˜ะ”ะะ›ะ˜ะขะ˜ ั†ั– {0} ะตะปะตะผะตะฝั‚ะธ?", - "fd_warn2": "ะžัั‚ะฐะฝะฝั–ะน ัˆะฐะฝั! ะะตะผะพะถะปะธะฒะพ ัะบะฐััƒะฒะฐั‚ะธ. ะ’ะธะดะฐะปะธั‚ะธ?", - - "fc_ok": "ะฒะธั€ั–ะทะฐะฝะพ {0} ะตะปะตะผะตะฝั‚ั–ะฒ", - "fc_warn": 'ะฒะธั€ั–ะทะฐะฝะพ {0} ะตะปะตะผะตะฝั‚ั–ะฒ\n\nะฐะปะต: ั‚ั–ะปัŒะบะธ ั†ั ะฒะบะปะฐะดะบะฐ ะฑั€ะฐัƒะทะตั€ะฐ ะผะพะถะต ั—ั… ะฒัั‚ะฐะฒะธั‚ะธ\n(ะพัะบั–ะปัŒะบะธ ะฒะธะฑั–ั€ ะฝะฐัั‚ั–ะปัŒะบะธ ะฒะตะปะธั‡ะตะทะฝะธะน)', - - "fcc_ok": "ัะบะพะฟั–ะนะพะฒะฐะฝะพ {0} ะตะปะตะผะตะฝั‚ั–ะฒ ะดะพ ะฑัƒั„ะตั€ะฐ", - "fcc_warn": 'ัะบะพะฟั–ะนะพะฒะฐะฝะพ {0} ะตะปะตะผะตะฝั‚ั–ะฒ ะดะพ ะฑัƒั„ะตั€ะฐ\n\nะฐะปะต: ั‚ั–ะปัŒะบะธ ั†ั ะฒะบะปะฐะดะบะฐ ะฑั€ะฐัƒะทะตั€ะฐ ะผะพะถะต ั—ั… ะฒัั‚ะฐะฒะธั‚ะธ\n(ะพัะบั–ะปัŒะบะธ ะฒะธะฑั–ั€ ะฝะฐัั‚ั–ะปัŒะบะธ ะฒะตะปะธั‡ะตะทะฝะธะน)', - - "fp_apply": "ะฒะธะบะพั€ะธัั‚ะพะฒัƒะฒะฐั‚ะธ ั†ั– ั–ะผะตะฝะฐ", - "fp_ecut": "ัะฟะพั‡ะฐั‚ะบัƒ ะฒะธั€ั–ะทะฐั‚ะธ ะฐะฑะพ ัะบะพะฟั–ัŽะฒะฐั‚ะธ ะดะตัะบั– ั„ะฐะนะปะธ / ะฟะฐะฟะบะธ ะดะปั ะฒัั‚ะฐะฒะบะธ / ะฟะตั€ะตะผั–ั‰ะตะฝะฝั\n\nะทะฐัƒะฒะฐะถะตะฝะฝั: ะฒะธ ะผะพะถะตั‚ะต ะฒะธั€ั–ะทะฐั‚ะธ / ะฒัั‚ะฐะฒะปัั‚ะธ ั‡ะตั€ะตะท ั€ั–ะทะฝั– ะฒะบะปะฐะดะบะธ ะฑั€ะฐัƒะทะตั€ะฐ", - "fp_ename": "{0} ะตะปะตะผะตะฝั‚ั–ะฒ ะฝะต ะผะพะถัƒั‚ัŒ ะฑัƒั‚ะธ ะฟะตั€ะตะผั–ั‰ะตะฝั– ััŽะดะธ, ั‚ะพะผัƒ ั‰ะพ ั–ะผะตะฝะฐ ะฒะถะต ะทะฐะนะฝัั‚ั–. ะ”ะฐะนั‚ะต ั—ะผ ะฝะพะฒั– ั–ะผะตะฝะฐ ะฝะธะถั‡ะต ะดะปั ะฟั€ะพะดะพะฒะถะตะฝะฝั, ะฐะฑะพ ะทะฐะปะธัˆั‚ะต ั–ะผ'ั ะฟะพั€ะพะถะฝั–ะผ, ั‰ะพะฑ ะฟั€ะพะฟัƒัั‚ะธั‚ะธ ั—ั…:", - "fcp_ename": "{0} ะตะปะตะผะตะฝั‚ั–ะฒ ะฝะต ะผะพะถัƒั‚ัŒ ะฑัƒั‚ะธ ัะบะพะฟั–ะนะพะฒะฐะฝั– ััŽะดะธ, ั‚ะพะผัƒ ั‰ะพ ั–ะผะตะฝะฐ ะฒะถะต ะทะฐะนะฝัั‚ั–. ะ”ะฐะนั‚ะต ั—ะผ ะฝะพะฒั– ั–ะผะตะฝะฐ ะฝะธะถั‡ะต ะดะปั ะฟั€ะพะดะพะฒะถะตะฝะฝั, ะฐะฑะพ ะทะฐะปะธัˆั‚ะต ั–ะผ'ั ะฟะพั€ะพะถะฝั–ะผ, ั‰ะพะฑ ะฟั€ะพะฟัƒัั‚ะธั‚ะธ ั—ั…:", - "fp_emore": "ั” ั‰ะต ะดะตัะบั– ะบะพะฝั„ะปั–ะบั‚ะธ ั–ะผะตะฝ ั„ะฐะนะปั–ะฒ, ัะบั– ะฟะพั‚ั€ั–ะฑะฝะพ ะฒะธะฟั€ะฐะฒะธั‚ะธ", - "fp_ok": "ะฟะตั€ะตะผั–ั‰ะตะฝะฝั OK", - "fcp_ok": "ะบะพะฟั–ัŽะฒะฐะฝะฝั OK", - "fp_busy": "ะฟะตั€ะตะผั–ั‰ะตะฝะฝั {0} ะตะปะตะผะตะฝั‚ั–ะฒ...\n\n{1}", - "fcp_busy": "ะบะพะฟั–ัŽะฒะฐะฝะฝั {0} ะตะปะตะผะตะฝั‚ั–ะฒ...\n\n{1}", - "fp_abrt": "ะฟะตั€ะตั€ะธะฒะฐะฝะฝั...", //m - "fp_err": "ะฟะตั€ะตะผั–ั‰ะตะฝะฝั ะฝะตะฒะดะฐะปะต:\n", - "fcp_err": "ะบะพะฟั–ัŽะฒะฐะฝะฝั ะฝะตะฒะดะฐะปะต:\n", - "fp_confirm": "ะฟะตั€ะตะผั–ัั‚ะธั‚ะธ ั†ั– {0} ะตะปะตะผะตะฝั‚ะธ ััŽะดะธ?", - "fcp_confirm": "ัะบะพะฟั–ัŽะฒะฐั‚ะธ ั†ั– {0} ะตะปะตะผะตะฝั‚ะธ ััŽะดะธ?", - "fp_etab": 'ะฝะต ะฒะดะฐะปะพัั ะฟั€ะพั‡ะธั‚ะฐั‚ะธ ะฑัƒั„ะตั€ ะท ั–ะฝัˆะพั— ะฒะบะปะฐะดะบะธ ะฑั€ะฐัƒะทะตั€ะฐ', - "fp_name": "ะทะฐะฒะฐะฝั‚ะฐะถะตะฝะฝั ั„ะฐะนะปัƒ ะท ะฒะฐัˆะพะณะพ ะฟั€ะธัั‚ั€ะพัŽ. ะ”ะฐะนั‚ะต ะนะพะผัƒ ั–ะผ'ั:", - "fp_both_m": '
    ะฒะธะฑะตั€ั–ั‚ัŒ, ั‰ะพ ะฒัั‚ะฐะฒะธั‚ะธ
    Enter = ะŸะตั€ะตะผั–ัั‚ะธั‚ะธ {0} ั„ะฐะนะปั–ะฒ ะท ยซ{1}ยป\nESC = ะ—ะฐะฒะฐะฝั‚ะฐะถะธั‚ะธ {2} ั„ะฐะนะปั–ะฒ ะท ะฒะฐัˆะพะณะพ ะฟั€ะธัั‚ั€ะพัŽ', - "fcp_both_m": '
    ะฒะธะฑะตั€ั–ั‚ัŒ, ั‰ะพ ะฒัั‚ะฐะฒะธั‚ะธ
    Enter = ะกะบะพะฟั–ัŽะฒะฐั‚ะธ {0} ั„ะฐะนะปั–ะฒ ะท ยซ{1}ยป\nESC = ะ—ะฐะฒะฐะฝั‚ะฐะถะธั‚ะธ {2} ั„ะฐะนะปั–ะฒ ะท ะฒะฐัˆะพะณะพ ะฟั€ะธัั‚ั€ะพัŽ', - "fp_both_b": 'ะŸะตั€ะตะผั–ัั‚ะธั‚ะธะ—ะฐะฒะฐะฝั‚ะฐะถะธั‚ะธ', - "fcp_both_b": 'ะกะบะพะฟั–ัŽะฒะฐั‚ะธะ—ะฐะฒะฐะฝั‚ะฐะถะธั‚ะธ', - - "mk_noname": "ะฒะฒะตะดั–ั‚ัŒ ั–ะผ'ั ะฒ ั‚ะตะบัั‚ะพะฒะต ะฟะพะปะต ะทะปั–ะฒะฐ ะฟะตั€ะตะด ั‚ะธะผ, ัะบ ั€ะพะฑะธั‚ะธ ั†ะต :p", - - "tv_load": "ะ—ะฐะฒะฐะฝั‚ะฐะถะตะฝะฝั ั‚ะตะบัั‚ะพะฒะพะณะพ ะดะพะบัƒะผะตะฝั‚ะฐ:\n\n{0}\n\n{1}% ({2} ะท {3} MiB ะทะฐะฒะฐะฝั‚ะฐะถะตะฝะพ)", - "tv_xe1": "ะฝะต ะฒะดะฐะปะพัั ะทะฐะฒะฐะฝั‚ะฐะถะธั‚ะธ ั‚ะตะบัั‚ะพะฒะธะน ั„ะฐะนะป:\n\nะฟะพะผะธะปะบะฐ ", - "tv_xe2": "404, ั„ะฐะนะป ะฝะต ะทะฝะฐะนะดะตะฝะพ", - "tv_lst": "ัะฟะธัะพะบ ั‚ะตะบัั‚ะพะฒะธั… ั„ะฐะนะปั–ะฒ ะฒ", - "tvt_close": "ะฟะพะฒะตั€ะฝัƒั‚ะธัั ะดะพ ะฟะตั€ะตะณะปัะดัƒ ะฟะฐะฟะบะธ$Nะ“ะฐั€ัั‡ะฐ ะบะปะฐะฒั–ัˆะฐ: M (ะฐะฑะพ Esc)\">โŒ ะทะฐะบั€ะธั‚ะธ", - "tvt_dl": "ะทะฐะฒะฐะฝั‚ะฐะถะธั‚ะธ ั†ะตะน ั„ะฐะนะป$Nะ“ะฐั€ัั‡ะฐ ะบะปะฐะฒั–ัˆะฐ: Y\">๐Ÿ’พ ะทะฐะฒะฐะฝั‚ะฐะถะธั‚ะธ", - "tvt_prev": "ะฟะพะบะฐะทะฐั‚ะธ ะฟะพะฟะตั€ะตะดะฝั–ะน ะดะพะบัƒะผะตะฝั‚$Nะ“ะฐั€ัั‡ะฐ ะบะปะฐะฒั–ัˆะฐ: i\">โฌ† ะฟะพะฟะตั€", - "tvt_next": "ะฟะพะบะฐะทะฐั‚ะธ ะฝะฐัั‚ัƒะฟะฝะธะน ะดะพะบัƒะผะตะฝั‚$Nะ“ะฐั€ัั‡ะฐ ะบะปะฐะฒั–ัˆะฐ: K\">โฌ‡ ะฝะฐัั‚", - "tvt_sel": "ะฒะธะฑั€ะฐั‚ะธ ั„ะฐะนะป   ( ะดะปั ะฒะธั€ั–ะทะฐะฝะฝั / ะบะพะฟั–ัŽะฒะฐะฝะฝั / ะฒะธะดะฐะปะตะฝะฝั / ... )$Nะ“ะฐั€ัั‡ะฐ ะบะปะฐะฒั–ัˆะฐ: S\">ะฒะธะฑั€", - "tvt_edit": "ะฒั–ะดะบั€ะธั‚ะธ ั„ะฐะนะป ะฒ ั‚ะตะบัั‚ะพะฒะพะผัƒ ั€ะตะดะฐะบั‚ะพั€ั–$Nะ“ะฐั€ัั‡ะฐ ะบะปะฐะฒั–ัˆะฐ: E\">โœ๏ธ ั€ะตะดะฐะณัƒะฒะฐั‚ะธ", - "tvt_tail": "ะผะพะฝั–ั‚ะพั€ะธั‚ะธ ั„ะฐะนะป ะฝะฐ ะทะผั–ะฝะธ; ะฟะพะบะฐะทัƒะฒะฐั‚ะธ ะฝะพะฒั– ั€ัะดะบะธ ะฒ ั€ะตะฐะปัŒะฝะพะผัƒ ั‡ะฐัั–\">๐Ÿ“ก ัะปั–ะดะบัƒะฒะฐั‚ะธ", - "tvt_wrap": "ะฟะตั€ะตะฝะตัะตะฝะฝั ัะปั–ะฒ\">โ†ต", - "tvt_atail": "ะทะฐะฑะปะพะบัƒะฒะฐั‚ะธ ะฟั€ะพะบั€ัƒั‚ะบัƒ ะดะพ ะฝะธะทัƒ ัั‚ะพั€ั–ะฝะบะธ\">โš“", - "tvt_ctail": "ะดะตะบะพะดัƒะฒะฐั‚ะธ ะบะพะปัŒะพั€ะธ ั‚ะตั€ะผั–ะฝะฐะปัƒ (ansi escape ะบะพะดะธ)\">๐ŸŒˆ", - "tvt_ntail": "ะปั–ะผั–ั‚ ั–ัั‚ะพั€ั–ั— ะฟั€ะพะบั€ัƒั‚ะบะธ (ัะบั–ะปัŒะบะธ ะฑะฐะนั‚ั–ะฒ ั‚ะตะบัั‚ัƒ ั‚ั€ะธะผะฐั‚ะธ ะทะฐะฒะฐะฝั‚ะฐะถะตะฝะธะผะธ)", - - "m3u_add1": "ะฟั–ัะฝั ะดะพะดะฐะฝะฐ ะดะพ m3u ะฟะปะตะนะปะธัั‚ัƒ", - "m3u_addn": "{0} ะฟั–ัะตะฝัŒ ะดะพะดะฐะฝะพ ะดะพ m3u ะฟะปะตะนะปะธัั‚ัƒ", - "m3u_clip": "m3u ะฟะปะตะนะปะธัั‚ ั‚ะตะฟะตั€ ัะบะพะฟั–ะนะพะฒะฐะฝะธะน ะดะพ ะฑัƒั„ะตั€ะฐ\n\nะฒะธ ะฟะพะฒะธะฝะฝั– ัั‚ะฒะพั€ะธั‚ะธ ะฝะพะฒะธะน ั‚ะตะบัั‚ะพะฒะธะน ั„ะฐะนะป ะท ะฝะฐะทะฒะพัŽ ั‰ะพััŒ.m3u ั– ะฒัั‚ะฐะฒะธั‚ะธ ะฟะปะตะนะปะธัั‚ ะฒ ั†ะตะน ะดะพะบัƒะผะตะฝั‚; ั†ะต ะทั€ะพะฑะธั‚ัŒ ะนะพะณะพ ะฒั–ะดั‚ะฒะพั€ัŽะฒะฐะฝะธะผ", - - "gt_vau": "ะฝะต ะฟะพะบะฐะทัƒะฒะฐั‚ะธ ะฒั–ะดะตะพ, ะปะธัˆะต ะฒั–ะดั‚ะฒะพั€ัŽะฒะฐั‚ะธ ะฐัƒะดั–ะพ\">๐ŸŽง", - "gt_msel": "ัƒะฒั–ะผะบะฝัƒั‚ะธ ะฒะธะฑั–ั€ ั„ะฐะนะปั–ะฒ; ctrl-ะบะปั–ะบ ะฟะพ ั„ะฐะนะปัƒ ะดะปั ะฟะตั€ะตะฒะธะทะฝะฐั‡ะตะฝะฝั$N$N<em>ะบะพะปะธ ะฐะบั‚ะธะฒะฝะธะน: ะฟะพะดะฒั–ะนะฝะธะน ะบะปั–ะบ ะฟะพ ั„ะฐะนะปัƒ / ะฟะฐะฟั†ั– ั‰ะพะฑ ะฒั–ะดะบั€ะธั‚ะธ</em>$N$Nะ“ะฐั€ัั‡ะฐ ะบะปะฐะฒั–ัˆะฐ: S\">ะผัƒะปัŒั‚ะธะฒะธะฑั–ั€", - "gt_crop": "ะพะฑั€ั–ะทะฐั‚ะธ ะผั–ะฝั–ะฐั‚ัŽั€ะธ ะฟะพ ั†ะตะฝั‚ั€ัƒ\">ะพะฑั€ั–ะทะบะฐ", - "gt_3x": "ะผั–ะฝั–ะฐั‚ัŽั€ะธ ะฒะธัะพะบะพั— ั€ะพะทะดั–ะปัŒะฝะพัั‚ั–\">3x", - "gt_zoom": "ะผะฐััˆั‚ะฐะฑ", - "gt_chop": "ะพะฑั€ั–ะทะฐั‚ะธ", - "gt_sort": "ัะพั€ั‚ัƒะฒะฐั‚ะธ ะทะฐ", - "gt_name": "ั–ะผ'ัะผ", - "gt_sz": "ั€ะพะทะผั–ั€ะพะผ", - "gt_ts": "ะดะฐั‚ะพัŽ", - "gt_ext": "ั‚ะธะฟะพะผ", - "gt_c1": "ะพะฑั€ั–ะทะฐั‚ะธ ั–ะผะตะฝะฐ ั„ะฐะนะปั–ะฒ ะฑั–ะปัŒัˆะต (ะฟะพะบะฐะทัƒะฒะฐั‚ะธ ะผะตะฝัˆะต)", - "gt_c2": "ะพะฑั€ั–ะทะฐั‚ะธ ั–ะผะตะฝะฐ ั„ะฐะนะปั–ะฒ ะผะตะฝัˆะต (ะฟะพะบะฐะทัƒะฒะฐั‚ะธ ะฑั–ะปัŒัˆะต)", - - "sm_w8": "ะฟะพัˆัƒะบ...", - "sm_prev": "ั€ะตะทัƒะปัŒั‚ะฐั‚ะธ ะฟะพัˆัƒะบัƒ ะฝะธะถั‡ะต ะท ะฟะพะฟะตั€ะตะดะฝัŒะพะณะพ ะทะฐะฟะธั‚ัƒ:\n ", - "sl_close": "ะทะฐะบั€ะธั‚ะธ ั€ะตะทัƒะปัŒั‚ะฐั‚ะธ ะฟะพัˆัƒะบัƒ", - "sl_hits": "ะฟะพะบะฐะทะฐะฝะพ {0} ั€ะตะทัƒะปัŒั‚ะฐั‚ั–ะฒ", - "sl_moar": "ะทะฐะฒะฐะฝั‚ะฐะถะธั‚ะธ ะฑั–ะปัŒัˆะต", - - "s_sz": "ั€ะพะทะผั–ั€", - "s_dt": "ะดะฐั‚ะฐ", - "s_rd": "ัˆะปัั…", - "s_fn": "ั–ะผ'ั", - "s_ta": "ั‚ะตะณะธ", - "s_ua": "up@", - "s_ad": "ั€ะพะทัˆ.", - "s_s1": "ะผั–ะฝั–ะผัƒะผ MiB", - "s_s2": "ะผะฐะบัะธะผัƒะผ MiB", - "s_d1": "ะผั–ะฝ. iso8601", - "s_d2": "ะผะฐะบั. iso8601", - "s_u1": "ะทะฐะฒะฐะฝั‚ะฐะถะตะฝะพ ะฟั–ัะปั", - "s_u2": "ั‚ะฐ/ะฐะฑะพ ะดะพ", - "s_r1": "ัˆะปัั… ะผั–ัั‚ะธั‚ัŒ   (ั€ะพะทะดั–ะปะตะฝั– ะฟั€ะพะฑั–ะปะฐะผะธ)", - "s_f1": "ั–ะผ'ั ะผั–ัั‚ะธั‚ัŒ   (ะทะฐะฟะตั€ะตั‡ะตะฝะฝั ะท -ะฝั–)", - "s_t1": "ั‚ะตะณะธ ะผั–ัั‚ัั‚ัŒ   (^=ะฟะพั‡ะฐั‚ะพะบ, ะบั–ะฝะตั†ัŒ=$)", - "s_a1": "ัะฟะตั†ะธั„ั–ั‡ะฝั– ะฒะปะฐัั‚ะธะฒะพัั‚ั– ะผะตั‚ะฐะดะฐะฝะธั…", - - "md_eshow": "ะฝะต ะผะพะถัƒ ะฒั–ะดะพะฑั€ะฐะทะธั‚ะธ ", - "md_off": "[๐Ÿ“œreadme] ะฒั–ะดะบะปัŽั‡ะตะฝะพ ะฒ [โš™๏ธ] -- ะดะพะบัƒะผะตะฝั‚ ะฟั€ะธั…ะพะฒะฐะฝะธะน", - - "badreply": "ะะต ะฒะดะฐะปะพัั ะพะฑั€ะพะฑะธั‚ะธ ะฒั–ะดะฟะพะฒั–ะดัŒ ัะตั€ะฒะตั€ะฐ", - - "xhr403": "403: ะ”ะพัั‚ัƒะฟ ะทะฐะฑะพั€ะพะฝะตะฝะพ\n\nัะฟั€ะพะฑัƒะนั‚ะต ะฝะฐั‚ะธัะฝัƒั‚ะธ F5, ะผะพะถะปะธะฒะพ ะฒะธ ะฒะธะนัˆะปะธ ะท ัะธัั‚ะตะผะธ", - "xhr0": "ะฝะตะฒั–ะดะพะผะฐ (ะนะผะพะฒั–ั€ะฝะพ ะฒั‚ั€ะฐั‡ะตะฝะพ ะท'ั”ะดะฝะฐะฝะฝั ะท ัะตั€ะฒะตั€ะพะผ, ะฐะฑะพ ัะตั€ะฒะตั€ ะพั„ะปะฐะนะฝ)", - "cf_ok": "ะฒะธะฑะฐั‡ั‚ะต ะทะฐ ั†ะต -- ะทะฐั…ะธัั‚ ะฒั–ะด DD" + wah + "oS ัะฟั€ะฐั†ัŽะฒะฐะฒ\n\nั€ะตั‡ั– ะฟะพะฒะธะฝะฝั– ะฒั–ะดะฝะพะฒะธั‚ะธัั ะฟั€ะธะฑะปะธะทะฝะพ ั‡ะตั€ะตะท 30 ัะตะบ\n\nัะบั‰ะพ ะฝั–ั‡ะพะณะพ ะฝะต ะฒั–ะดะฑัƒะฒะฐั”ั‚ัŒัั, ะฝะฐั‚ะธัะฝั–ั‚ัŒ F5 ะดะปั ะฟะตั€ะตะทะฐะฒะฐะฝั‚ะฐะถะตะฝะฝั ัั‚ะพั€ั–ะฝะบะธ", - "tl_xe1": "ะฝะต ะฒะดะฐะปะพัั ะฟะตั€ะตะปั–ั‡ะธั‚ะธ ะฟั–ะดะฟะฐะฟะบะธ:\n\nะฟะพะผะธะปะบะฐ ", - "tl_xe2": "404: ะŸะฐะฟะบะฐ ะฝะต ะทะฝะฐะนะดะตะฝะฐ", - "fl_xe1": "ะฝะต ะฒะดะฐะปะพัั ะฟะตั€ะตะปั–ั‡ะธั‚ะธ ั„ะฐะนะปะธ ะฒ ะฟะฐะฟั†ั–:\n\nะฟะพะผะธะปะบะฐ ", - "fl_xe2": "404: ะŸะฐะฟะบะฐ ะฝะต ะทะฝะฐะนะดะตะฝะฐ", - "fd_xe1": "ะฝะต ะฒะดะฐะปะพัั ัั‚ะฒะพั€ะธั‚ะธ ะฟั–ะดะฟะฐะฟะบัƒ:\n\nะฟะพะผะธะปะบะฐ ", - "fd_xe2": "404: ะ‘ะฐั‚ัŒะบั–ะฒััŒะบะฐ ะฟะฐะฟะบะฐ ะฝะต ะทะฝะฐะนะดะตะฝะฐ", - "fsm_xe1": "ะฝะต ะฒะดะฐะปะพัั ะฝะฐะดั–ัะปะฐั‚ะธ ะฟะพะฒั–ะดะพะผะปะตะฝะฝั:\n\nะฟะพะผะธะปะบะฐ ", - "fsm_xe2": "404: ะ‘ะฐั‚ัŒะบั–ะฒััŒะบะฐ ะฟะฐะฟะบะฐ ะฝะต ะทะฝะฐะนะดะตะฝะฐ", - "fu_xe1": "ะฝะต ะฒะดะฐะปะพัั ะทะฐะฒะฐะฝั‚ะฐะถะธั‚ะธ ัะฟะธัะพะบ unpost ะท ัะตั€ะฒะตั€ะฐ:\n\nะฟะพะผะธะปะบะฐ ", - "fu_xe2": "404: ะคะฐะนะป ะฝะต ะทะฝะฐะนะดะตะฝะพ??", - - "fz_tar": "ะฝะตัั‚ะธัะฝัƒั‚ะธะน gnu-tar ั„ะฐะนะป (linux / mac)", - "fz_pax": "ะฝะตัั‚ะธัะฝัƒั‚ะธะน tar ะฒ pax-ั„ะพั€ะผะฐั‚ั– (ะฟะพะฒั–ะปัŒะฝั–ัˆะต)", - "fz_targz": "gnu-tar ะทั– ัั‚ะธัะฝะตะฝะฝัะผ gzip ั€ั–ะฒะฝั 3$N$Nั†ะต ะทะฐะทะฒะธั‡ะฐะน ะดัƒะถะต ะฟะพะฒั–ะปัŒะฝะพ, ั‚ะพะผัƒ$Nะฒะธะบะพั€ะธัั‚ะพะฒัƒะนั‚ะต ะฝะตัั‚ะธัะฝัƒั‚ะธะน tar ะทะฐะผั–ัั‚ัŒ ั†ัŒะพะณะพ", - "fz_tarxz": "gnu-tar ะทั– ัั‚ะธัะฝะตะฝะฝัะผ xz ั€ั–ะฒะฝั 1$N$Nั†ะต ะทะฐะทะฒะธั‡ะฐะน ะดัƒะถะต ะฟะพะฒั–ะปัŒะฝะพ, ั‚ะพะผัƒ$Nะฒะธะบะพั€ะธัั‚ะพะฒัƒะนั‚ะต ะฝะตัั‚ะธัะฝัƒั‚ะธะน tar ะทะฐะผั–ัั‚ัŒ ั†ัŒะพะณะพ", - "fz_zip8": "zip ะท utf8 ั–ะผะตะฝะฐะผะธ ั„ะฐะนะปั–ะฒ (ะผะพะถะปะธะฒะพ ะฝะตัั‚ะฐะฑั–ะปัŒะฝะธะน ะฝะฐ windows 7 ั– ัั‚ะฐั€ั–ัˆะธั…)", - "fz_zipd": "zip ะท ั‚ั€ะฐะดะธั†ั–ะนะฝะธะผะธ cp437 ั–ะผะตะฝะฐะผะธ ั„ะฐะนะปั–ะฒ, ะดะปั ะดัƒะถะต ัั‚ะฐั€ะพะณะพ ะŸะ—", - "fz_zipc": "cp437 ะท crc32, ะพะฑั‡ะธัะปะตะฝะธะผ ะทะฐะทะดะฐะปะตะณั–ะดัŒ,$Nะดะปั MS-DOS PKZIP v2.04g (ะถะพะฒั‚ะตะฝัŒ 1993)$N(ะฟะพั‚ั€ะตะฑัƒั” ะฑั–ะปัŒัˆะต ั‡ะฐััƒ ะดะปั ะพะฑั€ะพะฑะบะธ ะฟะตั€ะตะด ะฟะพั‡ะฐั‚ะบะพะผ ะทะฐะฒะฐะฝั‚ะฐะถะตะฝะฝั)", - - "un_m1": "ะฒะธ ะผะพะถะตั‚ะต ะฒะธะดะฐะปะธั‚ะธ ะฒะฐัˆั– ะฝะตะดะฐะฒะฝั– ะทะฐะฒะฐะฝั‚ะฐะถะตะฝะฝั (ะฐะฑะพ ะฟะตั€ะตั€ะฒะฐั‚ะธ ะฝะตะทะฐะฒะตั€ัˆะตะฝั–) ะฝะธะถั‡ะต", - "un_upd": "ะพะฝะพะฒะธั‚ะธ", - "un_m4": "ะฐะฑะพ ะฟะพะดั–ะปะธั‚ะธัั ั„ะฐะนะปะฐะผะธ, ะฒะธะดะธะผะธะผะธ ะฝะธะถั‡ะต:", - "un_ulist": "ะฟะพะบะฐะทะฐั‚ะธ", - "un_ucopy": "ะบะพะฟั–ัŽะฒะฐั‚ะธ", - "un_flt": "ะฝะตะพะฑะพะฒ'ัะทะบะพะฒะธะน ั„ั–ะปัŒั‚ั€:  URL ะฟะพะฒะธะฝะตะฝ ะผั–ัั‚ะธั‚ะธ", - "un_fclr": "ะพั‡ะธัั‚ะธั‚ะธ ั„ั–ะปัŒั‚ั€", - "un_derr": 'unpost-ะฒะธะดะฐะปะตะฝะฝั ะฝะตะฒะดะฐะปะต:\n', - "un_f5": 'ั‰ะพััŒ ะทะปะฐะผะฐะปะพัั, ะฑัƒะดัŒ ะปะฐัะบะฐ, ัะฟั€ะพะฑัƒะนั‚ะต ะพะฝะพะฒะธั‚ะธ ะฐะฑะพ ะฝะฐั‚ะธัะฝั–ั‚ัŒ F5', - "un_uf5": "ะฒะธะฑะฐั‡ั‚ะต, ะฐะปะต ะฒะธ ะฟะพะฒะธะฝะฝั– ะพะฝะพะฒะธั‚ะธ ัั‚ะพั€ั–ะฝะบัƒ (ะฝะฐะฟั€ะธะบะปะฐะด, ะฝะฐั‚ะธัะฝัƒะฒัˆะธ F5 ะฐะฑะพ CTRL-R) ะฟะตั€ะตะด ั‚ะธะผ, ัะบ ั†ะต ะทะฐะฒะฐะฝั‚ะฐะถะตะฝะฝั ะผะพะถะฝะฐ ะฑัƒะดะต ะฟะตั€ะตั€ะฒะฐั‚ะธ", - "un_nou": 'ะฟะพะฟะตั€ะตะดะถะตะฝะฝั: ัะตั€ะฒะตั€ ะทะฐะฝะฐะดั‚ะพ ะทะฐะนะฝัั‚ะธะน, ั‰ะพะฑ ะฟะพะบะฐะทะฐั‚ะธ ะฝะตะทะฐะฒะตั€ัˆะตะฝั– ะทะฐะฒะฐะฝั‚ะฐะถะตะฝะฝั; ะบะปะฐั†ะฝั–ั‚ัŒ ะฟะพัะธะปะฐะฝะฝั "ะพะฝะพะฒะธั‚ะธ" ั‚ั€ะพั…ะธ ะฟั–ะทะฝั–ัˆะต', - "un_noc": 'ะฟะพะฟะตั€ะตะดะถะตะฝะฝั: unpost ะฟะพะฒะฝั–ัั‚ัŽ ะทะฐะฒะฐะฝั‚ะฐะถะตะฝะธั… ั„ะฐะนะปั–ะฒ ะฝะต ัƒะฒั–ะผะบะฝะตะฝะพ/ะดะพะทะฒะพะปะตะฝะพ ะฒ ะบะพะฝั„ั–ะณัƒั€ะฐั†ั–ั— ัะตั€ะฒะตั€ะฐ', - "un_max": "ะฟะพะบะฐะทะฐะฝะพ ะฟะตั€ัˆั– 2000 ั„ะฐะนะปั–ะฒ (ะฒะธะบะพั€ะธัั‚ะพะฒัƒะนั‚ะต ั„ั–ะปัŒั‚ั€)", - "un_avail": "{0} ะฝะตะดะฐะฒะฝั–ั… ะทะฐะฒะฐะฝั‚ะฐะถะตะฝัŒ ะผะพะถัƒั‚ัŒ ะฑัƒั‚ะธ ะฒะธะดะฐะปะตะฝั–
    {1} ะฝะตะทะฐะฒะตั€ัˆะตะฝะธั… ะผะพะถัƒั‚ัŒ ะฑัƒั‚ะธ ะฟะตั€ะตั€ะฒะฐะฝั–", - "un_m2": "ะฒั–ะดัะพั€ั‚ะพะฒะฐะฝะพ ะทะฐ ั‡ะฐัะพะผ ะทะฐะฒะฐะฝั‚ะฐะถะตะฝะฝั; ะฝะฐะนะฝะพะฒั–ัˆั– ัะฟะพั‡ะฐั‚ะบัƒ:", - "un_no1": "ั…ะฐ! ะฝะตะผะฐั” ะทะฐะฒะฐะฝั‚ะฐะถะตะฝัŒ, ะดะพัั‚ะฐั‚ะฝัŒะพ ะฝะตะดะฐะฒะฝั–ั…", - "un_no2": "ั…ะฐ! ะฝะตะผะฐั” ะทะฐะฒะฐะฝั‚ะฐะถะตะฝัŒ, ั‰ะพ ะฒั–ะดะฟะพะฒั–ะดะฐัŽั‚ัŒ ั†ัŒะพะผัƒ ั„ั–ะปัŒั‚ั€ัƒ, ะดะพัั‚ะฐั‚ะฝัŒะพ ะฝะตะดะฐะฒะฝั–ั…", - "un_next": "ะฒะธะดะฐะปะธั‚ะธ ะฝะฐัั‚ัƒะฟะฝั– {0} ั„ะฐะนะปั–ะฒ ะฝะธะถั‡ะต", - "un_abrt": "ะฟะตั€ะตั€ะฒะฐั‚ะธ", - "un_del": "ะฒะธะดะฐะปะธั‚ะธ", - "un_m3": "ะทะฐะฒะฐะฝั‚ะฐะถะตะฝะฝั ะฒะฐัˆะธั… ะฝะตะดะฐะฒะฝั–ั… ะทะฐะฒะฐะฝั‚ะฐะถะตะฝัŒ...", - "un_busy": "ะฒะธะดะฐะปะตะฝะฝั {0} ั„ะฐะนะปั–ะฒ...", - "un_clip": "{0} ะฟะพัะธะปะฐะฝัŒ ัะบะพะฟั–ะนะพะฒะฐะฝะพ ะดะพ ะฑัƒั„ะตั€ะฐ", - - "u_https1": "ะฒะฐะผ ัะปั–ะด", - "u_https2": "ะฟะตั€ะตะบะปัŽั‡ะธั‚ะธัั ะฝะฐ https", - "u_https3": "ะดะปั ะบั€ะฐั‰ะพั— ะฟั€ะพะดัƒะบั‚ะธะฒะฝะพัั‚ั–", - "u_ancient": 'ะฒะฐัˆ ะฑั€ะฐัƒะทะตั€ ะฒั€ะฐะถะฐัŽั‡ะต ัั‚ะฐั€ะธะน -- ะผะพะถะปะธะฒะพ, ะฒะฐะผ ัะปั–ะด ะฒะธะบะพั€ะธัั‚ะพะฒัƒะฒะฐั‚ะธ bup ะทะฐะผั–ัั‚ัŒ ั†ัŒะพะณะพ', - "u_nowork": "ะฟะพั‚ั€ั–ะฑะตะฝ firefox 53+ ะฐะฑะพ chrome 57+ ะฐะฑะพ iOS 11+", - "tail_2old": "ะฟะพั‚ั€ั–ะฑะตะฝ firefox 105+ ะฐะฑะพ chrome 71+ ะฐะฑะพ iOS 14.5+", - "u_nodrop": 'ะฒะฐัˆ ะฑั€ะฐัƒะทะตั€ ะทะฐะฝะฐะดั‚ะพ ัั‚ะฐั€ะธะน ะดะปั ะฟะตั€ะตั‚ัะณัƒะฒะฐะฝะฝั ะทะฐะฒะฐะฝั‚ะฐะถะตะฝัŒ', - "u_notdir": "ั†ะต ะฝะต ะฟะฐะฟะบะฐ!\n\nะฒะฐัˆ ะฑั€ะฐัƒะทะตั€ ะทะฐะฝะฐะดั‚ะพ ัั‚ะฐั€ะธะน,\nะฑัƒะดัŒ ะปะฐัะบะฐ, ัะฟั€ะพะฑัƒะนั‚ะต ะฟะตั€ะตั‚ัะณัƒะฒะฐะฝะฝั ะทะฐะผั–ัั‚ัŒ ั†ัŒะพะณะพ", - "u_uri": "ั‰ะพะฑ ะฟะตั€ะตั‚ัะณะฝัƒั‚ะธ ะทะพะฑั€ะฐะถะตะฝะฝั ะท ั–ะฝัˆะธั… ะฒั–ะบะพะฝ ะฑั€ะฐัƒะทะตั€ะฐ,\nะฑัƒะดัŒ ะปะฐัะบะฐ, ะฟะตั€ะตั‚ัะณะฝั–ั‚ัŒ ะนะพะณะพ ะฝะฐ ะฒะตะปะธะบัƒ ะบะฝะพะฟะบัƒ ะทะฐะฒะฐะฝั‚ะฐะถะตะฝะฝั", - "u_enpot": 'ะฟะตั€ะตะบะปัŽั‡ะธั‚ะธัั ะฝะฐ ะบะฐั€ั‚ะพะฟะปะธะฝะฝะธะน UI (ะผะพะถะต ะฟะพะบั€ะฐั‰ะธั‚ะธ ัˆะฒะธะดะบั–ัั‚ัŒ ะทะฐะฒะฐะฝั‚ะฐะถะตะฝะฝั)', - "u_depot": 'ะฟะตั€ะตะบะปัŽั‡ะธั‚ะธัั ะฝะฐ ะฒะธัˆัƒะบะฐะฝะธะน UI (ะผะพะถะต ะทะผะตะฝัˆะธั‚ะธ ัˆะฒะธะดะบั–ัั‚ัŒ ะทะฐะฒะฐะฝั‚ะฐะถะตะฝะฝั)', - "u_gotpot": 'ะฟะตั€ะตะบะปัŽั‡ะตะฝะฝั ะฝะฐ ะบะฐั€ั‚ะพะฟะปะธะฝะฝะธะน UI ะดะปั ะฟะพะบั€ะฐั‰ะตะฝะฝั ัˆะฒะธะดะบะพัั‚ั– ะทะฐะฒะฐะฝั‚ะฐะถะตะฝะฝั,\n\nะฝะต ัะพั€ะพะผั‚ะตัั ะฝะต ะฟะพะณะพะดะธั‚ะธัั ั– ะฟะตั€ะตะบะปัŽั‡ะธั‚ะธัั ะฝะฐะทะฐะด!', - "u_pott": "

    ั„ะฐะนะปะธ:   {0} ะทะฐะฒะตั€ัˆะตะฝะพ,   {1} ะฝะตะฒะดะฐะปะพ,   {2} ะทะฐะนะฝัั‚ะพ,   {3} ะฒ ั‡ะตั€ะทั–

    ", - "u_ever": "ั†ะต ะฑะฐะทะพะฒะธะน ะทะฐะฒะฐะฝั‚ะฐะถัƒะฒะฐั‡; up2k ะฟะพั‚ั€ะตะฑัƒั” ะฟั€ะธะฝะฐะนะผะฝั–
    chrome 21 // firefox 13 // edge 12 // opera 12 // safari 5.1", - "u_su2k": 'ั†ะต ะฑะฐะทะพะฒะธะน ะทะฐะฒะฐะฝั‚ะฐะถัƒะฒะฐั‡; up2k ะบั€ะฐั‰ะธะน', - "u_uput": 'ะพะฟั‚ะธะผั–ะทัƒะฒะฐั‚ะธ ะดะปั ัˆะฒะธะดะบะพัั‚ั– (ะฟั€ะพะฟัƒัั‚ะธั‚ะธ ะบะพะฝั‚ั€ะพะปัŒะฝัƒ ััƒะผัƒ)', - "u_ewrite": 'ัƒ ะฒะฐั ะฝะตะผะฐั” ะดะพัั‚ัƒะฟัƒ ะดะปั ะทะฐะฟะธััƒ ะฒ ั†ัŽ ะฟะฐะฟะบัƒ', - "u_eread": 'ัƒ ะฒะฐั ะฝะตะผะฐั” ะดะพัั‚ัƒะฟัƒ ะดะปั ั‡ะธั‚ะฐะฝะฝั ั†ั–ั”ั— ะฟะฐะฟะบะธ', - "u_enoi": 'ะฟะพัˆัƒะบ ั„ะฐะนะปั–ะฒ ะฝะต ัƒะฒั–ะผะบะฝะตะฝะพ ะฒ ะบะพะฝั„ั–ะณัƒั€ะฐั†ั–ั— ัะตั€ะฒะตั€ะฐ', - "u_enoow": "ะฟะตั€ะตะทะฐะฟะธั ะฝะต ะฟั€ะฐั†ัŽะฒะฐั‚ะธะผะต ั‚ัƒั‚; ะฟะพั‚ั€ั–ะฑะตะฝ ะดะพะทะฒั–ะป ะฝะฐ ะฒะธะดะฐะปะตะฝะฝั", - "u_badf": 'ะฆั– {0} ั„ะฐะนะปะธ (ะท {1} ะทะฐะณะฐะปัŒะฝะธั…) ะฑัƒะปะธ ะฟั€ะพะฟัƒั‰ะตะฝั–, ะผะพะถะปะธะฒะพ, ั‡ะตั€ะตะท ะดะพะทะฒะพะปะธ ั„ะฐะนะปะพะฒะพั— ัะธัั‚ะตะผะธ:\n\n', - "u_blankf": 'ะฆั– {0} ั„ะฐะนะปะธ (ะท {1} ะทะฐะณะฐะปัŒะฝะธั…) ะฟะพั€ะพะถะฝั–; ะฒัะต ะพะดะฝะพ ะทะฐะฒะฐะฝั‚ะฐะถะธั‚ะธ ั—ั…?\n\n', - "u_applef": 'ะฆั– {0} ั„ะฐะนะปะธ (ะท {1} ะทะฐะณะฐะปัŒะฝะธั…), ะนะผะพะฒั–ั€ะฝะพ, ะฝะตะฑะฐะถะฐะฝั–;\nะะฐั‚ะธัะฝั–ั‚ัŒ ะ“ะฐั€ะฐะทะด/Enter ั‰ะพะฑ ะŸะ ะžะŸะฃะกะขะ˜ะขะ˜ ะฝะฐัั‚ัƒะฟะฝั– ั„ะฐะนะปะธ,\nะะฐั‚ะธัะฝั–ั‚ัŒ ะกะบะฐััƒะฒะฐั‚ะธ/ESC ั‰ะพะฑ ะะ• ะฒะธะบะปัŽั‡ะฐั‚ะธ, ั– ะ—ะะ’ะะะขะะ–ะ˜ะขะ˜ ั—ั… ั‚ะฐะบะพะถ:\n\n', - "u_just1": '\nะœะพะถะปะธะฒะพ, ั†ะต ัะฟั€ะฐั†ัŽั” ะบั€ะฐั‰ะต, ัะบั‰ะพ ะฒะธ ะฒะธะฑะตั€ะตั‚ะต ะปะธัˆะต ะพะดะธะฝ ั„ะฐะนะป', - "u_ff_many": "ัะบั‰ะพ ะฒะธ ะฒะธะบะพั€ะธัั‚ะพะฒัƒั”ั‚ะต Linux / MacOS / Android, ั‚ะพ ั‚ะฐะบะฐ ะบั–ะปัŒะบั–ัั‚ัŒ ั„ะฐะนะปั–ะฒ ะผะพะถะต ะทะฐะฒั–ัะธั‚ะธ Firefox!\nัะบั‰ะพ ั†ะต ัั‚ะฐะฝะตั‚ัŒัั, ะฑัƒะดัŒ ะปะฐัะบะฐ, ัะฟั€ะพะฑัƒะนั‚ะต ะทะฝะพะฒัƒ (ะฐะฑะพ ะฒะธะบะพั€ะธัั‚ะพะฒัƒะนั‚ะต Chrome).", - "u_up_life": "ะฆะต ะทะฐะฒะฐะฝั‚ะฐะถะตะฝะฝั ะฑัƒะดะต ะฒะธะดะฐะปะตะฝะพ ะท ัะตั€ะฒะตั€ะฐ\n{0} ะฟั–ัะปั ะนะพะณะพ ะทะฐะฒะตั€ัˆะตะฝะฝั", - "u_asku": 'ะทะฐะฒะฐะฝั‚ะฐะถะธั‚ะธ ั†ั– {0} ั„ะฐะนะปั–ะฒ ะดะพ {1}', - "u_unpt": "ะฒะธ ะผะพะถะตั‚ะต ัะบะฐััƒะฒะฐั‚ะธ / ะฒะธะดะฐะปะธั‚ะธ ั†ะต ะทะฐะฒะฐะฝั‚ะฐะถะตะฝะฝั, ะฒะธะบะพั€ะธัั‚ะพะฒัƒัŽั‡ะธ ๐Ÿงฏ ะทะฒะตั€ั…ัƒ ะทะปั–ะฒะฐ", - "u_bigtab": 'ะทะฑะธั€ะฐัŽัั ะฟะพะบะฐะทะฐั‚ะธ {0} ั„ะฐะนะปั–ะฒ\n\nั†ะต ะผะพะถะต ะทะฐะฒั–ัะธั‚ะธ ะฒะฐัˆ ะฑั€ะฐัƒะทะตั€, ะฒะธ ะฒะฟะตะฒะฝะตะฝั–?', - "u_scan": 'ะกะบะฐะฝัƒะฒะฐะฝะฝั ั„ะฐะนะปั–ะฒ...', - "u_dirstuck": 'ั–ั‚ะตั€ะฐั‚ะพั€ ะบะฐั‚ะฐะปะพะณัƒ ะทะฐัั‚ั€ัะณ, ะฝะฐะผะฐะณะฐัŽั‡ะธััŒ ะพั‚ั€ะธะผะฐั‚ะธ ะดะพัั‚ัƒะฟ ะดะพ ะฝะฐัั‚ัƒะฟะฝะธั… {0} ะตะปะตะผะตะฝั‚ั–ะฒ; ะฟั€ะพะฟัƒั‰ัƒ:', - "u_etadone": 'ะ“ะพั‚ะพะฒะพ ({0}, {1} ั„ะฐะนะปั–ะฒ)', - "u_etaprep": '(ะฟั–ะดะณะพั‚ะพะฒะบะฐ ะดะพ ะทะฐะฒะฐะฝั‚ะฐะถะตะฝะฝั)', - "u_hashdone": 'ั…ะตัˆัƒะฒะฐะฝะฝั ะทะฐะฒะตั€ัˆะตะฝะพ', - "u_hashing": 'ั…ะตัˆัƒะฒะฐะฝะฝั', - "u_hs": 'ั€ัƒะบะพัั‚ะธัะบะฐะฝะฝั...', - "u_started": "ั„ะฐะนะปะธ ั‚ะตะฟะตั€ ะทะฐะฒะฐะฝั‚ะฐะถัƒัŽั‚ัŒัั; ะดะธะฒั–ั‚ัŒัั [๐Ÿš€]", - "u_dupdefer": "ะดัƒะฑะปั–ะบะฐั‚; ะฑัƒะดะต ะพะฑั€ะพะฑะปะตะฝะพ ะฟั–ัะปั ะฒัั–ั… ั–ะฝัˆะธั… ั„ะฐะนะปั–ะฒ", - "u_actx": "ะบะปะฐั†ะฝั–ั‚ัŒ ั†ะตะน ั‚ะตะบัั‚, ั‰ะพะฑ ะทะฐะฟะพะฑั–ะณั‚ะธ ะฒั‚ั€ะฐั‚ั–
    ะฟั€ะพะดัƒะบั‚ะธะฒะฝะพัั‚ั– ะฟั€ะธ ะฟะตั€ะตะบะปัŽั‡ะตะฝะฝั– ะฝะฐ ั–ะฝัˆั– ะฒั–ะบะฝะฐ/ะฒะบะปะฐะดะบะธ", - "u_fixed": "OK!  ะ’ะธะฟั€ะฐะฒะปะตะฝะพ ๐Ÿ‘", - "u_cuerr": "ะฝะต ะฒะดะฐะปะพัั ะทะฐะฒะฐะฝั‚ะฐะถะธั‚ะธ ั„ั€ะฐะณะผะตะฝั‚ {0} ะท {1};\nะนะผะพะฒั–ั€ะฝะพ, ะฝะตัˆะบั–ะดะปะธะฒะพ, ะฟั€ะพะดะพะฒะถัƒัŽ\n\nั„ะฐะนะป: {2}", - "u_cuerr2": "ัะตั€ะฒะตั€ ะฒั–ะดั…ะธะปะธะฒ ะทะฐะฒะฐะฝั‚ะฐะถะตะฝะฝั (ั„ั€ะฐะณะผะตะฝั‚ {0} ะท {1});\nัะฟั€ะพะฑัƒัŽ ะฟั–ะทะฝั–ัˆะต\n\nั„ะฐะนะป: {2}\n\nะฟะพะผะธะปะบะฐ ", - "u_ehstmp": "ัะฟั€ะพะฑัƒัŽ ะทะฝะพะฒัƒ; ะดะธะฒั–ั‚ัŒัั ะฒะฝะธะทัƒ ัะฟั€ะฐะฒะฐ", - "u_ehsfin": "ัะตั€ะฒะตั€ ะฒั–ะดั…ะธะปะธะฒ ะทะฐะฟะธั‚ ะฝะฐ ะทะฐะฒะตั€ัˆะตะฝะฝั ะทะฐะฒะฐะฝั‚ะฐะถะตะฝะฝั; ะฟะพะฒั‚ะพั€ัŽัŽ...", - "u_ehssrch": "ัะตั€ะฒะตั€ ะฒั–ะดั…ะธะปะธะฒ ะทะฐะฟะธั‚ ะฝะฐ ะฒะธะบะพะฝะฐะฝะฝั ะฟะพัˆัƒะบัƒ; ะฟะพะฒั‚ะพั€ัŽัŽ...", - "u_ehsinit": "ัะตั€ะฒะตั€ ะฒั–ะดั…ะธะปะธะฒ ะทะฐะฟะธั‚ ะฝะฐ ั–ะฝั–ั†ั–ะฐั†ั–ัŽ ะทะฐะฒะฐะฝั‚ะฐะถะตะฝะฝั; ะฟะพะฒั‚ะพั€ัŽัŽ...", - "u_eneths": "ะผะตั€ะตะถะตะฒะฐ ะฟะพะผะธะปะบะฐ ะฟั–ะด ั‡ะฐั ะฒะธะบะพะฝะฐะฝะฝั ั€ัƒะบะพัั‚ะธัะบะฐะฝะฝั ะทะฐะฒะฐะฝั‚ะฐะถะตะฝะฝั; ะฟะพะฒั‚ะพั€ัŽัŽ...", - "u_enethd": "ะผะตั€ะตะถะตะฒะฐ ะฟะพะผะธะปะบะฐ ะฟั–ะด ั‡ะฐั ั‚ะตัั‚ัƒะฒะฐะฝะฝั ั–ัะฝัƒะฒะฐะฝะฝั ั†ั–ะปั–; ะฟะพะฒั‚ะพั€ัŽัŽ...", - "u_cbusy": "ั‡ะตะบะฐั”ะผะพ, ะฟะพะบะธ ัะตั€ะฒะตั€ ะทะฝะพะฒัƒ ะฝะฐะผ ะดะพะฒั–ั€ัั‚ะธะผะต ะฟั–ัะปั ะผะตั€ะตะถะตะฒะพะณะพ ะทะฑะพัŽ...", - "u_ehsdf": "ะฝะฐ ัะตั€ะฒะตั€ั– ะทะฐะบั–ะฝั‡ะธะปะพัั ะผั–ัั†ะต ะฝะฐ ะดะธัะบัƒ!\n\nะฑัƒะดัƒ ะฟั€ะพะดะพะฒะถัƒะฒะฐั‚ะธ ัะฟั€ะพะฑะธ, ะฝะฐ ะฒะธะฟะฐะดะพะบ, ัะบั‰ะพ ั…ั‚ะพััŒ\nะทะฒั–ะปัŒะฝะธั‚ัŒ ะดะพัั‚ะฐั‚ะฝัŒะพ ะผั–ัั†ั ะดะปั ะฟั€ะพะดะพะฒะถะตะฝะฝั", - "u_emtleak1": "ัั…ะพะถะต, ะฒะฐัˆ ะฒะตะฑ-ะฑั€ะฐัƒะทะตั€ ะผะพะถะต ะผะฐั‚ะธ ะฒะธั‚ั–ะบ ะฟะฐะผ'ัั‚ั–;\nะฑัƒะดัŒ ะปะฐัะบะฐ,", - "u_emtleak2": ' ะฟะตั€ะตะบะปัŽั‡ั–ั‚ัŒัั ะฝะฐ https (ั€ะตะบะพะผะตะฝะดัƒั”ั‚ัŒัั) ะฐะฑะพ ', - "u_emtleak3": ' ', - "u_emtleakc": 'ัะฟั€ะพะฑัƒะนั‚ะต ะฝะฐัั‚ัƒะฟะฝะต:\n
    • ะฝะฐั‚ะธัะฝั–ั‚ัŒ F5 ะดะปั ะพะฝะพะฒะปะตะฝะฝั ัั‚ะพั€ั–ะฝะบะธ
    • ะฟะพั‚ั–ะผ ะฒั–ะดะบะปัŽั‡ั–ั‚ัŒ ะบะฝะพะฟะบัƒ  mt  ะฒ  โš™๏ธ ะฝะฐะปะฐัˆั‚ัƒะฒะฐะฝะฝัั…
    • ั– ัะฟั€ะพะฑัƒะนั‚ะต ั†ะต ะทะฐะฒะฐะฝั‚ะฐะถะตะฝะฝั ะทะฝะพะฒัƒ
    ะ—ะฐะฒะฐะฝั‚ะฐะถะตะฝะฝั ะฑัƒะดัƒั‚ัŒ ั‚ั€ะพั…ะธ ะฟะพะฒั–ะปัŒะฝั–ัˆะธะผะธ, ะฐะปะต ั‰ะพ ะฟะพั€ะพะฑะธัˆ.\nะ’ะธะฑะฐั‡ั‚ะต ะทะฐ ะฝะตะทั€ัƒั‡ะฝะพัั‚ั– !\n\nPS: chrome v107 ะผะฐั” ะฒะธะฟั€ะฐะฒะปะตะฝะฝั ะดะปั ั†ัŒะพะณะพ', - "u_emtleakf": 'ัะฟั€ะพะฑัƒะนั‚ะต ะฝะฐัั‚ัƒะฟะฝะต:\n
    • ะฝะฐั‚ะธัะฝั–ั‚ัŒ F5 ะดะปั ะพะฝะพะฒะปะตะฝะฝั ัั‚ะพั€ั–ะฝะบะธ
    • ะฟะพั‚ั–ะผ ัƒะฒั–ะผะบะฝั–ั‚ัŒ ๐Ÿฅ” (ะบะฐั€ั‚ะพะฟะปั) ะฒ UI ะทะฐะฒะฐะฝั‚ะฐะถะตะฝะฝั
    • ั– ัะฟั€ะพะฑัƒะนั‚ะต ั†ะต ะทะฐะฒะฐะฝั‚ะฐะถะตะฝะฝั ะทะฝะพะฒัƒ
    \nPS: firefox ัะฟะพะดั–ะฒะฐั”ะผะพัั, ะผะฐั‚ะธะผะต ะฒะธะฟั€ะฐะฒะปะตะฝะฝั ะฒ ัะบะธะนััŒ ะผะพะผะตะฝั‚', - "u_s404": "ะฝะต ะทะฝะฐะนะดะตะฝะพ ะฝะฐ ัะตั€ะฒะตั€ั–", - "u_expl": "ะฟะพััะฝะธั‚ะธ", - "u_maxconn": "ะฑั–ะปัŒัˆั–ัั‚ัŒ ะฑั€ะฐัƒะทะตั€ั–ะฒ ะพะฑะผะตะถัƒัŽั‚ัŒ ั†ะต ะดะพ 6, ะฐะปะต firefox ะดะพะทะฒะพะปัั” ะฟั–ะดะฒะธั‰ะธั‚ะธ ั†ะต ะท connections-per-server ะฒ about:config", - "u_tu": '

    ะŸะžะŸะ•ะ ะ•ะ”ะ–ะ•ะะะฏ: turbo ัƒะฒั–ะผะบะฝะตะฝะพ,  ะบะปั–ั”ะฝั‚ ะผะพะถะต ะฝะต ะฒะธัะฒะธั‚ะธ ั– ะฟะพะฝะพะฒะธั‚ะธ ะฝะตะฟะพะฒะฝั– ะทะฐะฒะฐะฝั‚ะฐะถะตะฝะฝั; ะดะธะฒั–ั‚ัŒัั ะฟั–ะดะบะฐะทะบัƒ turbo-ะบะฝะพะฟะบะธ

    ', - "u_ts": '

    ะŸะžะŸะ•ะ ะ•ะ”ะ–ะ•ะะะฏ: turbo ัƒะฒั–ะผะบะฝะตะฝะพ,  ั€ะตะทัƒะปัŒั‚ะฐั‚ะธ ะฟะพัˆัƒะบัƒ ะผะพะถัƒั‚ัŒ ะฑัƒั‚ะธ ะฝะตะฟั€ะฐะฒะธะปัŒะฝะธะผะธ; ะดะธะฒั–ั‚ัŒัั ะฟั–ะดะบะฐะทะบัƒ turbo-ะบะฝะพะฟะบะธ

    ', - "u_turbo_c": "turbo ะฒั–ะดะบะปัŽั‡ะตะฝะพ ะฒ ะบะพะฝั„ั–ะณัƒั€ะฐั†ั–ั— ัะตั€ะฒะตั€ะฐ", - "u_turbo_g": "ะฒั–ะดะบะปัŽั‡ะฐัŽ turbo, ั‚ะพะผัƒ ั‰ะพ ัƒ ะฒะฐั ะฝะตะผะฐั”\nะฟั€ะธะฒั–ะปะตั—ะฒ ะฟะตั€ะตะณะปัะดัƒ ะบะฐั‚ะฐะปะพะณั–ะฒ ะฒ ั†ัŒะพะผัƒ ั‚ะพะผั–", - "u_life_cfg": 'ะฐะฒั‚ะพะฒะธะดะฐะปะตะฝะฝั ั‡ะตั€ะตะท ั…ะฒ (ะฐะฑะพ ะณะพะดะธะฝ)', - "u_life_est": 'ะทะฐะฒะฐะฝั‚ะฐะถะตะฝะฝั ะฑัƒะดะต ะฒะธะดะฐะปะตะฝะพ ---', - "u_life_max": 'ั†ั ะฟะฐะฟะบะฐ ะทะฐะฑะตะทะฟะตั‡ัƒั”\nะผะฐะบั. ั‚ะตั€ะผั–ะฝ ะถะธั‚ั‚ั {0}', - "u_unp_ok": 'unpost ะดะพะทะฒะพะปะตะฝะพ ะดะปั {0}', - "u_unp_ng": 'unpost ะะ• ะฑัƒะดะต ะดะพะทะฒะพะปะตะฝะพ', - "ue_ro": 'ะฒะฐัˆ ะดะพัั‚ัƒะฟ ะดะพ ั†ั–ั”ั— ะฟะฐะฟะบะธ ั‚ั–ะปัŒะบะธ ะดะปั ั‡ะธั‚ะฐะฝะฝั\n\n', - "ue_nl": 'ะฒะธ ะทะฐั€ะฐะท ะฝะต ัƒะฒั–ะนัˆะปะธ ะฒ ัะธัั‚ะตะผัƒ', - "ue_la": 'ะฒะธ ะทะฐั€ะฐะท ัƒะฒั–ะนัˆะปะธ ัะบ "{0}"', - "ue_sr": 'ะฒะธ ะทะฐั€ะฐะท ะฒ ั€ะตะถะธะผั– ะฟะพัˆัƒะบัƒ ั„ะฐะนะปั–ะฒ\n\nะฟะตั€ะตะบะปัŽั‡ั–ั‚ัŒัั ะฝะฐ ั€ะตะถะธะผ ะทะฐะฒะฐะฝั‚ะฐะถะตะฝะฝั, ะบะปะฐั†ะฝัƒะฒัˆะธ ะปัƒะฟัƒ ๐Ÿ”Ž (ะฟะพั€ัƒั‡ ะท ะฒะตะปะธะบะพัŽ ะบะฝะพะฟะบะพัŽ ะŸะžะจะฃะš), ั– ัะฟั€ะพะฑัƒะนั‚ะต ะทะฐะฒะฐะฝั‚ะฐะถะธั‚ะธ ะทะฝะพะฒัƒ\n\nะฒะธะฑะฐั‡ั‚ะต', - "ue_ta": 'ัะฟั€ะพะฑัƒะนั‚ะต ะทะฐะฒะฐะฝั‚ะฐะถะธั‚ะธ ะทะฝะพะฒัƒ, ั†ะต ะฟะพะฒะธะฝะฝะพ ัะฟั€ะฐั†ัŽะฒะฐั‚ะธ ะทะฐั€ะฐะท', - "ue_ab": "ั†ะตะน ั„ะฐะนะป ะฒะถะต ะทะฐะฒะฐะฝั‚ะฐะถัƒั”ั‚ัŒัั ะฒ ั–ะฝัˆัƒ ะฟะฐะฟะบัƒ, ั– ั†ะต ะทะฐะฒะฐะฝั‚ะฐะถะตะฝะฝั ะฟะพะฒะธะฝะฝะพ ะฑัƒั‚ะธ ะทะฐะฒะตั€ัˆะตะฝะพ ะฟะตั€ะตะด ั‚ะธะผ, ัะบ ั„ะฐะนะป ะผะพะถะฝะฐ ะฑัƒะดะต ะทะฐะฒะฐะฝั‚ะฐะถะธั‚ะธ ะฒ ั–ะฝัˆะต ะผั–ัั†ะต.\n\nะ’ะธ ะผะพะถะตั‚ะต ะฟะตั€ะตั€ะฒะฐั‚ะธ ั– ะทะฐะฑัƒั‚ะธ ะฟะพั‡ะฐั‚ะบะพะฒะต ะทะฐะฒะฐะฝั‚ะฐะถะตะฝะฝั, ะฒะธะบะพั€ะธัั‚ะพะฒัƒัŽั‡ะธ ๐Ÿงฏ ะทะฒะตั€ั…ัƒ ะทะปั–ะฒะฐ", - "ur_1uo": "OK: ะคะฐะนะป ัƒัะฟั–ัˆะฝะพ ะทะฐะฒะฐะฝั‚ะฐะถะตะฝะพ", - "ur_auo": "OK: ะ’ัั– {0} ั„ะฐะนะปั–ะฒ ัƒัะฟั–ัˆะฝะพ ะทะฐะฒะฐะฝั‚ะฐะถะตะฝะพ", - "ur_1so": "OK: ะคะฐะนะป ะทะฝะฐะนะดะตะฝะพ ะฝะฐ ัะตั€ะฒะตั€ั–", - "ur_aso": "OK: ะ’ัั– {0} ั„ะฐะนะปั–ะฒ ะทะฝะฐะนะดะตะฝะพ ะฝะฐ ัะตั€ะฒะตั€ั–", - "ur_1un": "ะ—ะฐะฒะฐะฝั‚ะฐะถะตะฝะฝั ะฝะตะฒะดะฐะปะต, ะฒะธะฑะฐั‡ั‚ะต", - "ur_aun": "ะ’ัั– {0} ะทะฐะฒะฐะฝั‚ะฐะถะตะฝัŒ ะฝะตะฒะดะฐะปั–, ะฒะธะฑะฐั‡ั‚ะต", - "ur_1sn": "ะคะฐะนะป ะะ• ะทะฝะฐะนะดะตะฝะพ ะฝะฐ ัะตั€ะฒะตั€ั–", - "ur_asn": "{0} ั„ะฐะนะปั–ะฒ ะะ• ะทะฝะฐะนะดะตะฝะพ ะฝะฐ ัะตั€ะฒะตั€ั–", - "ur_um": "ะ—ะฐะฒะตั€ัˆะตะฝะพ;\n{0} ะทะฐะฒะฐะฝั‚ะฐะถะตะฝัŒ OK,\n{1} ะทะฐะฒะฐะฝั‚ะฐะถะตะฝัŒ ะฝะตะฒะดะฐะปะธั…, ะฒะธะฑะฐั‡ั‚ะต", - "ur_sm": "ะ—ะฐะฒะตั€ัˆะตะฝะพ;\n{0} ั„ะฐะนะปั–ะฒ ะทะฝะฐะนะดะตะฝะพ ะฝะฐ ัะตั€ะฒะตั€ั–,\n{1} ั„ะฐะนะปั–ะฒ ะะ• ะทะฝะฐะนะดะตะฝะพ ะฝะฐ ัะตั€ะฒะตั€ั–", - - "lang_set": "ะพะฝะพะฒะธั‚ะธ ัั‚ะพั€ั–ะฝะบัƒ, ั‰ะพะฑ ะทะผั–ะฝะธ ะฝะฐะฑัƒะปะธ ั‡ะธะฝะฝะพัั‚ั–?", - }, }; -var LANGS = ["eng", "nor", "chi", "cze", "deu", "fin", "fra", "grc", "ita", "kor", "nld", "nno", "pol", "por", "rus", "spa", "swe", "ukr"]; +var LANGN = [ + ["eng", "English"], + ["nor", "Norsk"], + ["chi", "ไธญๆ–‡"], + ["cze", "ฤŒeลกtina"], + ["deu", "Deutsch"], + ["epo", "Esperanto"], + ["fin", "Suomi"], + ["fra", "franรงais"], + ["grc", "ฮ•ฮปฮปฮทฮฝฮนฮบฮฌ"], + ["ita", "Italiano"], + ["kor", "ํ•œ๊ตญ์–ด"], + ["nld", "Nederlands"], + ["nno", "Nynorsk"], + ["pol", "Polski"], + ["por", "Portuguรชs"], + ["rus", "ะ ัƒััะบะธะน"], + ["spa", "Espaรฑol"], + ["swe", "Svenska"], + ["tur", "Tรผrkรงe"], + ["ukr", "ะฃะบั€ะฐั—ะฝััŒะบะฐ"], + ["vie", "Tiแบฟng Viแป‡t"], +]; if (window.langmod) langmod(); -for (var a = LANGS.length; a > 0;) - if (!Ls[LANGS[--a]]) - LANGS.splice(a, 1); +var L = Ls[lang] || Ls.eng, LANGS = []; +for (var a = 0; a < LANGN.length; a++) + LANGS.push(LANGN[a][0]); -var L = Ls[sread("cpp_lang", LANGS) || lang] || - Ls.eng || Ls.nor || Ls.chi; +function langtest() { + var n = LANGS.length - 1; + for (var a = 1; a < LANGS.length; a++) + import_js(SR + '/.cpr/tl/' + LANGS[a] + '.js', function () { if (!--n) langtest2(); }); +} +function langtest2() { for (var a = 0; a < LANGS.length; a++) { for (var b = a + 1; b < LANGS.length; b++) { var i1 = Object.keys(Ls[LANGS[a]]).length > Object.keys(Ls[LANGS[b]]).length ? a : b, @@ -11394,8 +717,11 @@ for (var a = 0; a < LANGS.length; a++) { } } } +} -if (!has(LANGS, lang)) + + +if (!Ls[lang]) alert('unsupported --lang "' + lang + '" specified in server args;\nplease use one of these: ' + LANGS); modal.load(); @@ -11405,7 +731,7 @@ modal.load(); ebi('ops').innerHTML = ( '--' + '๐Ÿ”Ž' + - (have_del ? '๐Ÿงฏ' : '') + + (have_del ? '๐Ÿงฏ' : '') + '๐Ÿš€' + '๐ŸŽˆ' + '๐Ÿ“‚' + @@ -11579,6 +905,7 @@ ebi('op_cfg').innerHTML = ( ' ' + L.ct_grid + '\n' + ' \n' + + ' \n' + + ' \n' + + ' \n' + + ' \n' + + ' \n' + + ' \n' + + ' \n' + + ' \n' + + ' \n' + + ' \n' + + ' \n' + + '
    \n' + + '\n' + + '
    \n' + '

    ' + L.cl_themes + '

    \n' + '
    \n' + '
    \n' + @@ -11645,6 +988,7 @@ ebi('op_cfg').innerHTML = ( ' \n' + '\n' + '

    ' + L.cl_keytype + '

    \n' + + (!MOBILE ? '
    ' : '') + '

    ' + L.cl_hiddenc + '  ' + (MOBILE ? '' + L.cl_hidec + ' / ' : '') + '' + L.cl_reset + '

    ' ); @@ -11674,6 +1018,35 @@ QS('#op_mkdir input[type="submit"]').value = L.ab_mkdir; QS('#op_new_md input[type="submit"]').value = L.ab_mkdoc; QS('#op_msg input[type="submit"]').value = L.ab_msg; +// right-click menu +ebi('rcm').innerHTML = ( + '' + L.rc_opn + '' + + '' + L.rc_ply + '' + + '' + L.rc_pla + '' + + '' + L.rc_txt + '' + + '' + L.rc_md + '' + + '
    ' + + '' + L.rc_cpl + '' + + '' + L.rc_dl + '' + + (have_zip ? + '' + L.rc_zip + '' + : '') + + '
    ' + + (has(perms, "move") ? + '' + L.rc_del + '' + + '' + L.rc_cut + '' + : '') + + '' + L.rc_cpy + '' + + (has(perms, "write") ? + '' + L.rc_pst + '' + + '
    ' + + '' + L.rc_nfo + '' + + '' + L.rc_nfi + '' + : '') + + '
    ' + + '' + L.rc_sal + '' + + '' + L.rc_sin + '' +); (function () { var ops = QSA('#ops>a'); @@ -11805,14 +1178,34 @@ var ACtx = !IPHONE && (window.AudioContext || window.webkitAudioContext), hash0 = location.hash, sloc0 = '' + location, noih = /[?&]v\b/.exec(sloc0), + fullui = /[?&]fullui\b/.exec(sloc0), + nonav = !fullui && (/[?&]nonav\b/.exec(sloc0) || window.ui_nonav), + notree = !fullui && (/[?&]notree\b/.exec(sloc0) || window.ui_notree || nonav), dbg_kbd = /[?&]dbgkbd\b/.exec(sloc0), abrt_key = "", + can_shr = false, + in_shr = false, rtt = null, + srvinf = "", ldks = [], dks = {}, dk, mp; +var x = ''; +if (!fullui) { + if (window.ui_nombar || /[?&]nombar\b/.exec(sloc0)) x += '#ops,'; + if (window.ui_noacci || /[?&]noacci\b/.exec(sloc0)) x += '#acc_info,'; + if (window.ui_nosrvi || /[?&]nosrvi\b/.exec(sloc0)) x += '#srv_info,#srv_info2,'; + if (window.ui_nocpla || /[?&]nocpla\b/.exec(sloc0)) x += '#goh,'; + if (window.ui_nolbar || /[?&]nolbar\b/.exec(sloc0)) x += '#wfp,'; + if (window.ui_noctxb || /[?&]noctxb\b/.exec(sloc0)) x += '#wtoggle,'; + if (window.ui_norepl || /[?&]norepl\b/.exec(sloc0)) x += '#repl,'; +} +if (x) + document.head.appendChild(mknod('style', '', x.slice(0, -1) + '{display:none!important}')); + + if (location.pathname.indexOf('//') === 0) hist_replace(location.pathname.replace(/^\/+/, '/')); @@ -11916,6 +1309,7 @@ var mpl = (function () { "os_ctl": bcfg_get('au_os_ctl', have_mctl) && have_mctl, 'traversals': 0, 'm3ut': '#EXTM3U\n', + 'np': [{'file': 'nothing'}, ['file']], }; bcfg_bind(r, 'one', 'au_one', false, function (v) { if (mp.au) @@ -12112,7 +1506,7 @@ var mpl = (function () { if (!r.os_ctl || !mp.au) return; - var np = get_np()[0], + var np = mpl.np[0], fns = np.file.split(' - '), artist = (np.circle && np.circle != np.artist ? np.circle + ' // ' : '') + (np.artist || (fns.length > 1 ? fns[0] : '')), title = np.title || fns.pop(), @@ -12136,10 +1530,8 @@ var mpl = (function () { } } - if (cover) { - cover = addq(cover, 'th=j'); - tags.artwork = [{ "src": cover, type: "image/jpeg" }]; - } + cover = addq(cover || mp.au.osrc, 'th=j'); + tags.artwork = [{ "src": cover, type: "image/jpeg" }]; } ebi('np_circle').textContent = np.circle || ''; @@ -12460,12 +1852,6 @@ function ft2dict(tr, skip) { } -function get_np() { - var tr = QS('#files tr.play'); - return ft2dict(tr, { 'up_ip': 1 }); -}; - - // toggle player widget var widget = (function () { var r = {}, @@ -12523,9 +1909,8 @@ var widget = (function () { ck = irc ? '06' : '', cv = irc ? '07' : '', m = ck + 'np: ', - npr = get_np(), - npk = npr[1], - np = npr[0]; + npk = mpl.np[1], + np = mpl.np[0]; for (var a = 0; a < npk.length; a++) m += (npk[a] == 'file' ? '' : npk[a]).replace(/^\./, '') + '(' + cv + np[npk[a]] + ck + ') // '; @@ -13130,7 +2515,7 @@ function mpause(e) { return true; dist *= -1; - mp.setvol(mp.vol + dist / 500); + mp.setvol(Math.round((mp.vol + dist / 500) * 100) / 100 ); vbar.draw(); ev(e); }; @@ -13224,6 +2609,9 @@ var mpui = (function () { if (mpl.prescan_evp == evp) throw "evp match"; + if (treectl.trunc) + return treectl.showmore(99999, repreload); + if (mpl.traversals++ > 4) { mpl.prescan_evp = null; toast.inf(10, L.mm_nof); @@ -13700,8 +3088,8 @@ function play(tid, is_ev, seek) { } if (tn >= mp.order.length) { - if (mpl.pb_mode == 'stop') - return; + if (treectl.trunc) + return treectl.showmore(99999, next_song); if (mpl.pb_mode == 'loop' || ebi('unsearch')) { tn = 0; @@ -13710,6 +3098,7 @@ function play(tid, is_ev, seek) { treectl.ls_cb = next_song; return tree_neigh(1); } + else return; } if (tn < 0) { @@ -13720,6 +3109,7 @@ function play(tid, is_ev, seek) { treectl.ls_cb = last_song; return tree_neigh(-1); } + else return; } tid = mp.order[tn]; @@ -13774,9 +3164,12 @@ function play(tid, is_ev, seek) { for (var a = 0, aa = trs.length; a < aa; a++) clmod(trs[a], 'play'); - var oid = 'a' + tid; - clmod(ebi(oid), 'act', 1); - clmod(ebi(oid).closest('tr'), 'play', 1); + var oid = 'a' + tid, + t_a = ebi(oid), + t_tr = t_a.closest('tr'); + + clmod(t_a, 'act', 1); + clmod(t_tr, 'play', 1); clmod(ebi('wtoggle'), 'np', mpl.clip); clmod(ebi('wtoggle'), 'm3u', mpl.m3uen); if (thegrid) @@ -13798,12 +3191,12 @@ function play(tid, is_ev, seek) { } if (!seek && !ebi('unsearch')) { - var o = ebi(oid); - o.setAttribute('id', 'thx_js'); + t_a.setAttribute('id', 'thx_js'); if (mpl.aplay) sethash(oid + getsort()); - o.setAttribute('id', oid); + t_a.setAttribute('id', oid); } + mpl.np = ft2dict(t_tr, { 'up_ip': 1 }); pbar.unwave(); if (mpl.waves) @@ -13818,7 +3211,7 @@ function play(tid, is_ev, seek) { catch (ex) { toast.err(0, esc(L.mm_playerr + basenames(ex))); } - clmod(ebi(oid), 'act'); + clmod(t_a, 'act'); mpl.t_eplay = setTimeout(next_song, 5000); } @@ -14396,7 +3789,7 @@ var fileman = (function () { hdel = !(have_del && has(perms, 'delete')), hcut = !(have_mv && has(perms, 'move')), hpst = !(have_mv && has(perms, 'write')), - hshr = !(have_shr && acct != '*' && (has(perms, 'read') || has(perms, 'write'))); + hshr = !can_shr || !get_evpath().indexOf(have_shr); if (!(enren || endel || encut || enpst)) hren = hdel = hcut = hpst = true; @@ -14507,7 +3900,7 @@ var fileman = (function () { 'perms', ]; for (var a = 0; a < perms.length; a++) - if (!has(['admin', 'move'], perms[a])) + if (!has(['admin', 'move', 'delete'], perms[a])) html.push('' + perms[a] + ''); if (has(perms, 'write')) @@ -14647,7 +4040,8 @@ var fileman = (function () { r.rename = function (e) { ev(e); - var sel = msel.getsel(); + var sel = msel.getsel(), + all = msel.all; if (!sel.length) return toast.err(3, L.fr_emore); @@ -14657,11 +4051,16 @@ var fileman = (function () { var f = [], sn = ++r.sn, base = vsplit(sel[0].vp)[0], + s2d = {}, mkeys; r.f = f; + r.n_s = 1; + r.n_d = 1; for (var a = 0; a < sel.length; a++) { + s2d[a] = all.indexOf(sel[a]); + var vp = sel[a].vp; if (vp.endsWith('/')) vp = vp.slice(0, -1); @@ -14671,9 +4070,10 @@ var fileman = (function () { return toast.err(0, esc('bug:\n' + base + '\n' + vsp[0])); var vars = ft2dict(ebi(sel[a].id).closest('tr')); - mkeys = vars[1].concat(vars[2]); + mkeys = [".n.d", ".n.s"].concat(vars[1], vars[2]); var md = vars[0]; + md[".n.s"] = md[".n.d"] = 0; for (var k in md) { if (!md.hasOwnProperty(k)) continue; @@ -14720,6 +4120,10 @@ var fileman = (function () { 'regex', 'format', 'preset', + 'num0', + 'n.d=  ', + 'n.s=', + '', '', '', '', @@ -14864,6 +4268,15 @@ var fileman = (function () { }; spresets(); + ebi('rn_n_s').oninput = function () { + r.n_s = parseInt(this.value || '1'); + ifmt.oninput(); + }; + ebi('rn_n_d').oninput = function () { + r.n_d = parseInt(this.value || '1'); + ifmt.oninput(); + }; + ire.onkeydown = ifmt.onkeydown = function (e) { var k = (e.key || e.code) + ''; @@ -14893,14 +4306,18 @@ var fileman = (function () { for (var a = 0; a < f.length; a++) { var m = re ? re.exec(f[a].ofn) : null, + d = f[a].md, ok, txt = ''; + d[".n.s"] = d["n.s"] = '' + (r.n_s + a); + d[".n.d"] = d["n.d"] = '' + (r.n_d + s2d[a]); + if (re && !m) { txt = 'regex did not match'; ok = false; } else { - var ret = fmt_ren(m, f[a].md, fmt); + var ret = fmt_ren(m, d, fmt); ok = ret[0]; txt = ret[1]; } @@ -15214,6 +4631,7 @@ var fileman = (function () { var html = [ '
    ', '', '', '   src: ' + esc(r.clip[0].replace(/[^/]+$/, '')), '
    ', @@ -15317,11 +4735,21 @@ var fileman = (function () { rn_cancel(e); okgo(); } + function rn_skip(e) { + var o = QSA('#rn_f tr.ng'); + for (var a = o.length - 1; a >= 0; a--) { + var oo = o[a].querySelector('input'); + oo.value = ''; + oo.oninput.call(oo); + } + rn_apply(); + } function rn_cancel(e) { ev(e); rui.parentNode.removeChild(rui); } ebi('rn_cancel').onclick = rn_cancel; + ebi('rn_skip').onclick = rn_skip; ebi('rn_apply').onclick = rn_apply; var first_bad = 0; @@ -15429,6 +4857,7 @@ var showfile = (function () { '.log': 'ans', '.m': 'matlab', '.moon': 'moonscript', + '.nfo': 'ans', '.patch': 'diff', '.ps1': 'powershell', '.psm1': 'powershell', @@ -15436,6 +4865,7 @@ var showfile = (function () { '.rs': 'rust', '.sh': 'bash', '.service': 'systemd', + '.txt': 'ans', '.vb': 'vbnet', '.v': 'verilog', '.vert': 'glsl', @@ -15449,7 +4879,8 @@ var showfile = (function () { var x = txt_ext + ' ans c cfg conf cpp cs css diff glsl go html ini java js json jsx kt kts latex less lisp lua makefile md nim py r rss rb ruby sass scss sql svg swift tex toml ts vhdl xml yaml zig'; x = x.split(/ +/g); for (var a = 0; a < x.length; a++) - r.map["." + x[a]] = x[a]; + if (!r.map["." + x[a]]) + r.map["." + x[a]] = x[a]; r.sname = function (srch) { return srch.split(/[?&]doc=/)[1].split('&')[0]; @@ -15779,6 +5210,33 @@ var showfile = (function () { return out.join(''); }; + r.ppj = function (e) { + ebi(e); + try { + r.ppj2(); + } + catch (ex) { + toast.err(10, '' + ex); + } + }; + r.ppj2 = function () { + var btn = ebi('dldoc'), + el = ebi('doc'), + t = el.textContent.trim(), + jo = JSON.parse(t), + jt = JSON.stringify(jo, null, t.indexOf('\n') + 1 ? 0 : 2); + el.textContent = jt; + el.innerHTML = '' + el.innerHTML + ''; + try { + el = QS('#doc>code'); + el.className = 'language-json'; + Prism.highlightElement(el); + } + catch (ex) { } + btn.setAttribute('download', ebi('docname').innerHTML); + btn.setAttribute('href', 'data:text/plain;charset=utf-8,' + encodeURIComponent(jt)); + }; + r.mktree = function () { var top = get_evpath().slice(SR.length), crumbs = linksplit(top).join('/'), @@ -15845,6 +5303,7 @@ var showfile = (function () { '\n' + @@ -15864,6 +5323,7 @@ var showfile = (function () { ebi('prevdoc').onclick = function () { tree_neigh(-1); }; ebi('nextdoc').onclick = function () { tree_neigh(1); }; ebi('seldoc').onclick = r.tglsel; + ebi('ppjdoc').onclick = r.ppj; bcfg_bind(r, 'wrap', 'wrapdoc', true, r.tglwrap); bcfg_bind(r, 'taildoc', 'taildoc', false, r.tgltail); bcfg_bind(r, 'tail2end', 'tail2end', true); @@ -16021,7 +5481,8 @@ var thegrid = (function () { function gclick(e, dbl) { var oth = ebi(this.getAttribute('ref')), - href = noq_href(this), + qhref = this.getAttribute('href'), + href = qhref.split('?')[0], fid = oth.getAttribute('id'), aplay = ebi('a' + fid), atext = ebi('t' + fid), @@ -16050,13 +5511,13 @@ var thegrid = (function () { aplay.click(); else if (is_dir && !have_sel) - treectl.reqls(href, true); + treectl.reqls(qhref, true); else if (is_txt && !has(['md', 'htm', 'html'], is_txt)) atext.click(); else if (!is_img && have_sel) - window.open(href, '_blank'); + window.open(qhref, '_blank'); else { if (!dbl) @@ -16266,23 +5727,20 @@ var thegrid = (function () { afterShow: function () { r.bbox_opts.refocus = true; }, - captions: function (g) { - var idx = -1, - h = '' + g; - - for (var a = 0; a < r.bbox.length; a++) - if (r.bbox[a].imageElement == g) - idx = a; + captions: function (g, idx) { + var h = '' + g; return '' + (idx + 1) + ' / ' + r.bbox.length + ' -- ' + + '">' + (idx + 1) + ' / ' + this.length + ' -- ' + esc(uricom_dec(h.split('/').pop())) + ''; }, - onChange: function (i) { - sethash('g' + r.bbox[i].imageElement.getAttribute('ref') + getsort()); + onChange: function (i, maxIdx) { + if (this[i].imageElement) { + sethash('g' + this[i].imageElement.getAttribute('ref') + getsort()); + } } }); - r.bbox = br[0][0]; + r.bbox = true; r.bbox_opts = br[1]; }; @@ -16541,6 +5999,7 @@ var ahotkeys = function (e) { return; var k = (e.key || e.code) + '', pos = -1, n, + sh = e.shiftKey, ae = document.activeElement, aet = ae && ae != document.body ? ae.nodeName.toLowerCase() : ''; @@ -16579,6 +6038,9 @@ var ahotkeys = function (e) { if (ebi('hkhelp')) return qsr('#hkhelp'); + if (ebi('rcm').style.display) + return rcm.hide(); + if (toast.visible) return toast.hide(); @@ -16663,7 +6125,7 @@ var ahotkeys = function (e) { if (k == '?') return hkhelp(); - if (!e.shiftKey && ctrl(e)) { + if (!sh && ctrl(e)) { var sel = window.getSelection && window.getSelection() || {}; sel = sel && !sel.isCollapsed && sel.direction != 'none'; @@ -16682,7 +6144,16 @@ var ahotkeys = function (e) { return; } - if (e.shiftKey && kl != 'a' && kl != 'd') + if (showfile.active()) { + if (!sh && kl == 's') + return showfile.tglsel() || true; + if (!sh && kl == 'e' && ebi('editdoc').style.display != 'none') + return ebi('editdoc').click() || true; + if (sh && kl == 'j') + return showfile.ppj(e) || true; + } + + if (sh && kl != 'a' && kl != 'd') return; if (/^[0-9]$/.test(k)) @@ -16731,7 +6202,7 @@ var ahotkeys = function (e) { if (k == 'F2') return fileman.rename(); - if (!treectl.hidden && (!e.shiftKey || !thegrid.en)) { + if (!treectl.hidden && (!sh || !thegrid.en)) { if (kl == 'a') return QS('#twig').click(); @@ -16739,13 +6210,6 @@ var ahotkeys = function (e) { return QS('#twobytwo').click(); } - if (showfile.active()) { - if (kl == 's') - showfile.tglsel(); - if (kl == 'e' && ebi('editdoc').style.display != 'none') - ebi('editdoc').click(); - } - if (mp && mp.au && !mp.au.paused) { if (kl == 's') return sel_song(); @@ -17033,7 +6497,8 @@ var search_ui = (function () { for (var a = 0; a < res.hits.length; a++) { var r = res.hits[a], ts = parseInt(r.ts), - sz = esc(r.sz + ''), + sz = parseInt(r.sz), + hsz = filesizefun(sz), rp = esc(uricom_dec(r.rp + '')), ext = rp.lastIndexOf('.') > 0 ? rp.split('.').pop().split('?')[0] : '%', id = 'f-' + ('00000000' + crc32(rp)).slice(-8); @@ -17046,7 +6511,8 @@ var search_ui = (function () { ext = '%'; var links = linksplit(r.rp + '', id).join('/'), - nodes = ['-
    ' + links + '
    ', sz]; + nodes = ['-
    ' + links + + '
    ' + hsz]; for (var b = 0; b < tagord.length; b++) { var k = esc(tagord[b]), @@ -17259,6 +6725,9 @@ var treectl = (function () { mentered = null, treesz = clamp(icfg_get('treesz', 16), 10, 50); + if (/[?&]dlni\b/.exec(sloc0)) + swrite('dlni', /[?&]dlni=0\b/.exec(sloc0) ? 0 : 1); + var resort = function () { ENATSORT = NATSORT && clgot(ebi('nsort'), 'on'); treectl.gentab(get_evpath(), treectl.lsc); @@ -17267,11 +6736,10 @@ var treectl = (function () { bcfg_bind(r, 'idxh', 'idxh', idxh, setidxh); bcfg_bind(r, 'dyn', 'dyntree', true, onresize); bcfg_bind(r, 'csel', 'csel', dgsel); + bcfg_bind(r, 'dlni', 'dlni', dlni, resort); bcfg_bind(r, 'dots', 'dotfiles', see_dots, function (v) { r.goto(); - var xhr = new XHR(); - xhr.open('GET', SR + '/?setck=dots=' + (v ? 'y' : ''), true); - xhr.send(); + setck('dots=' + (v ? 'y' : '')); }); bcfg_bind(r, 'utctid', 'utctid', dutc, function (v) { window.unix2ui = v ? unix2iso : unix2iso_localtime; @@ -17308,9 +6776,7 @@ var treectl = (function () { if (!v == !/\bidxh=y\b/.exec('' + document.cookie)) return; - var xhr = new XHR(); - xhr.open('GET', SR + '/?setck=idxh=' + (v ? 'y' : 'n'), true); - xhr.send(); + setck('idxh=' + (v ? 'y' : 'n')); } setidxh(r.idxh); @@ -17327,7 +6793,7 @@ var treectl = (function () { r.show = function () { r.hidden = false; if (!entreed) { - ebi('path').style.display = 'inline-block'; + ebi('path').style.display = nonav ? 'none' : 'inline-block'; return; } @@ -17339,14 +6805,16 @@ var treectl = (function () { aligngriditems(); }; - r.detree = function (e) { + r.detree = function (e, nw) { ev(e); entreed = false; - swrite('entreed', 'na'); + if (!nw) + swrite('entreed', 'na'); r.hide(); - ebi('path').style.display = ''; - } + if (!nonav) + ebi('path').style.display = ''; + }; r.hide = function () { r.hidden = true; @@ -17356,7 +6824,7 @@ var treectl = (function () { window.removeEventListener('resize', onresize); window.removeEventListener('scroll', onscroll); aligngriditems(); - } + }; function unmenter() { if (mentered) { @@ -17540,6 +7008,8 @@ var treectl = (function () { }; r.prunetree = function (res) { + if (r.dots) + return; var ptn = new RegExp(res.unlist); var els = QSA('#treeul li>a+a'); for (var a = els.length - 1; a >= 0; a--) @@ -17785,6 +7255,7 @@ var treectl = (function () { try { var res = JSON.parse(this.responseText); Object.assign(res, res.cfg); + res.cfg.k; } catch (ex) { if (r.ls_cb) { @@ -17810,12 +7281,22 @@ var treectl = (function () { if (res.files[a].tags === undefined) res.files[a].tags = {}; + sb_lg = res.sb_lg; + sb_md = res.sb_md; dnsort = res.dnsort; read_dsort(res.dsort); dcrop = res.dcrop; dth3x = res.dth3x; dk = res.dk; + dlni = res.dlni; + if (!sread('dlni')) + clmod(ebi('dlni'), 'on', treectl.dlni = dlni); + + dgrid = res.dgrid; + if (!sread('griden')) + clmod(ebi('griden'), 'on', thegrid.en = dgrid); + srvinf = res.srvinf; if (rtt !== null) srvinf += (srvinf ? ' // rtt: ' : 'rtt: ') + rtt; @@ -17824,6 +7305,11 @@ var treectl = (function () { if (o) o.innerHTML = ebi('srv_info').innerHTML = '' + srvinf + ''; + if (res.ufavico && (!favico.en || !ebi('icot').value)) { + while (qsr('head>link[rel~="icon"]')) { } + document.head.insertAdjacentHTML('beforeend', res.ufavico); + } + if (this.hpush && !showfile.active()) hist_push(this.top + (dk ? '?k=' + dk : '')); @@ -17887,7 +7373,7 @@ var treectl = (function () { fun(); } - if (window.have_shr && QS('#op_unpost.act') && (cdir.startsWith(SR + have_shr) || get_evpath().startsWith(SR + have_shr))) + if (can_shr && in_shr && QS('#op_unpost.act')) goto('unpost'); } @@ -17912,6 +7398,8 @@ var treectl = (function () { plain = [], seen = {}; + in_shr = have_shr && top.startsWith(SR + have_shr); + if (ae && /^tr$/i.exec(ae.nodeName)) if (ae = ae.querySelector('a[id]')) cid = ae.getAttribute('id'); @@ -17921,7 +7409,7 @@ var treectl = (function () { memo_dk(top, m[1]); r.lsc = res; - if (res.unlist) { + if (res.unlist && !r.dots) { var ptn = new RegExp(res.unlist); for (var a = nodes.length - 1; a >= 0; a--) if (ptn.exec(uricom_dec(nodes[a].href.split('?')[0]))) @@ -17971,7 +7459,8 @@ var treectl = (function () { var cl = /\.PARTIAL$/.exec(fname) ? ' class="fade"' : '', ln = ['' + tn.lead + '' + hname + '', tn.sz]; + top + tn.href + '" id="' + id + '">' + hname + + '' + filesizefun(tn.sz)]; for (var b = 0; b < res.taglist.length; b++) { var k = esc(res.taglist[b]), @@ -17994,6 +7483,11 @@ var treectl = (function () { html.push(''); html = html.join('\n'); set_files_html(html); + if (r.dlni) { + var o = QSA('#files a[id]'); + for (var a = 0, aa = o.length; a < aa; a++) + o[a].setAttribute('download', ''); + } if (r.trunc) { r.setlazy(plain); if (!r.ask) { @@ -18047,11 +7541,9 @@ var treectl = (function () { r.hydrate = function () { qsr('#bbsw'); + srvinf = ebi('srv_info').innerHTML.slice(6, -7); if (ls0 === null) { - var xhr = new XHR(); - xhr.open('GET', SR + '/?setck=js=y', true); - xhr.send(); - + setck('js=y'); r.ls_cb = showfile.addlinks; return r.reqls(get_evpath(), false, undefined, true); } @@ -18116,7 +7608,7 @@ var treectl = (function () { catch (ex) { } }; - r.showmore = function (n) { + r.showmore = function (n, cb) { window.removeEventListener('scroll', r.tscroll); console.log('nvis {0} -> {1}'.format(r.nvis, n)); r.nvis = n; @@ -18126,6 +7618,8 @@ var treectl = (function () { setTimeout(function () { r.gentab(get_evpath(), r.lsc); ebi('wrap').style.opacity = CLOSEST ? 'unset' : 1; + if (cb) + cb(); }, 1); }; @@ -18214,6 +7708,11 @@ var treectl = (function () { var cs = sread('entreed'), vw = window.innerWidth / parseFloat(getComputedStyle(document.body)['font-size']); + if (notree) { + cs = 'na'; + r.detree(null, 1); + } + if (cs == 'tree' || (cs != 'na' && vw >= 60)) r.entree(null, true); @@ -18299,9 +7798,10 @@ function apply_perms(res) { if (konmai < 0) { acct = 'Ted Faro'; srvinf = 'FAS Nexus // 57.3 EiB free of 127 EiB'; + res.shr_who = 'auth'; perms = res.perms = chk; have_up2k_idx = have_tags_idx = 1; - have_shr = have_mv = have_del = true; + have_mv = have_del = true; } var a = QS('#ops a[data-dest="up2k"]'); @@ -18355,6 +7855,9 @@ function apply_perms(res) { o[a].getAttribute('data-dep') != 'idx' || have_up2k_idx ) ? '' : 'none'; + if (in_shr) + ebi('opa_srch').style.display = 'none'; + var act = QS('#ops>a.act'); if (act && act.style.display === 'none') goto(); @@ -18366,6 +7869,11 @@ function apply_perms(res) { de = document.documentElement, tds = QSA('#u2conf td'); + shr_who = res.shr_who || shr_who; + can_shr = acct != '*' && (have_read || have_write) && ( + (shr_who == 'a' && has(perms, 'admin')) || + (shr_who == 'auth')); + clmod(de, "read", have_read); clmod(de, "write", have_write); clmod(de, "nread", !have_read); @@ -18383,6 +7891,8 @@ function apply_perms(res) { if (up2k) up2k.set_fsearch(); + ebi('new_mdi').innerHTML = has(perms, "delete") ? L.nmd_i1 : L.nmd_i2; + widget.setvis(); thegrid.setvis(); if (!have_read && have_write) @@ -18806,18 +8316,46 @@ var settheme = (function () { freshen(); }; - freshen(); + var m = /[?&]theme=([0-9]+)/.exec(sloc0); + if (m) + r.go(parseInt(m[1])); + else + freshen(); + return r; })(); +var setfszf = (function () { + function freshen() { + var cb = ebi('fszfmt'), + fmt = sread("fszfmt", humansize_fmts) || window.dfszf; + if (!has(humansize_fmts, fmt)) + fmt = '1'; + window.filesizefun = window['humansize_' + fmt]; + cb.onchange = onch; + if (cb.value != fmt) + cb.value = fmt; + } + function onch(e) { + ev(e); + setfmt(ebi('fszfmt').value) + } + function setfmt(fmt) { + swrite("fszfmt", fmt); + freshen(); + treectl.gentab(get_evpath(), treectl.lsc); + } + freshen(); + return setfmt; +})(); + + (function () { function freshen() { - lang = sread("cpp_lang", LANGS) || lang; - var k, cb = ebi('langs'), html = []; - for (var a = 0; a < LANGS.length; a++) { - k = LANGS[a]; - html.push(''.format(k, Ls[k].tt)); + var cb = ebi('langs'), html = []; + for (var a = 0; a < LANGN.length; a++) { + html.push(''.format(LANGN[a][0], LANGN[a][1])); } cb.innerHTML = html.join(''); cb.onchange = setlang; @@ -18826,11 +8364,10 @@ var settheme = (function () { function setlang(e) { ev(e); - var t = L.lang_set; lang = ebi('langs').value; - L = Ls[lang]; - swrite("cpp_lang", lang); + setck('cplng=' + lang); freshen(); + var t = L.tt == 'English' ? '' : Ls.eng.lang_set; modal.confirm(L.lang_set + "\n\n" + t, location.reload.bind(location), null); } @@ -19153,13 +8690,17 @@ var msel = (function () { tb = QS('#op_new_md input[name="name"]'); form.onsubmit = function (e) { + if (!has(perms, "delete") && !/\.md$/.test(tb.value)) { + ev(e); + toast.err(10, L.nmd_i2); + return false; + } if (tb.value) { if (toast.tag == L.mk_noname) toast.hide(); return true; } - ev(e); toast.err(10, L.mk_noname, L.mk_noname); return false; @@ -19246,9 +8787,14 @@ var msel = (function () { sf.textContent = 'sending...'; var xhr = new XHR(), + sel = msel.getsel(), + msg = uricom_enc(tb.value), ct = 'application/x-www-form-urlencoded;charset=UTF-8'; - xhr.msg = tb.value; + for (var a = 0; a < sel.length; a++) + msg += "&sel=" + sel[a].vp; + + xhr.msg = msg; xhr.open('POST', get_evpath(), true); xhr.responseType = 'text'; xhr.onload = xhr.onerror = cb; @@ -19256,7 +8802,7 @@ var msel = (function () { if (xhr.overrideMimeType) xhr.overrideMimeType('Content-Type', ct); - xhr.send('msg=' + uricom_enc(xhr.msg)); + xhr.send('msg=' + xhr.msg); return false; }; @@ -19412,7 +8958,7 @@ function show_md(md, name, div, url, depth) { var els = QSA('#epi a'); for (var a = 0, aa = els.length; a < aa; a++) { var href = els[a].getAttribute('href'); - if (!href.startsWith('#') || href.startsWith('#md-')) + if (!href || !href.startsWith('#') || href.startsWith('#md-')) continue; els[a].setAttribute('href', '#md-' + href.slice(1)); @@ -19921,6 +9467,189 @@ ebi('files').onclick = ebi('docul').onclick = function (e) { }; + +var rcm = (function () { + if (MOBILE) + return {enabled: false} + + var r = { + enabled: true + }; + bcfg_bind(r, 'enabled', 'ren', true); + + var menu = ebi('rcm'); + var selFile = { + elem: null, + type: null, + path: null, + id: null, + relpath: null, + no_dsel: false + }; + + function mktemp(is_dir) { + var row = mknod('tr', 'temp', + '-new-' + + '' + ); + QS("#files tbody").appendChild(row); + + function sendit(name) { + name = ('' + name).trim(); + if (!name) + return; + var data = new FormData(); + data.set("act", is_dir ? "mkdir" : "new_md"); + data.set("name", name); + + var req = new XHR(); + req.open("POST", get_evpath()); + req.onload = req.onerror = function() { + if (req.status == 405 || req.status == 500) + return toast.err(3, "a " + (is_dir ? "folder" : "file") + " with that name already exists."); + if (req.status < 200 || req.status > 399) + return toast.err(3, "couldn't create " + (is_dir ? "folder" : "file") + ":
    " + esc(req.responseText) + ''); + treectl.goto(); + }; + req.send(data); + } + + var input = ebi("tempname"); + input.onblur = function() { + sendit(input.value); + // Chrome blurs elements when calling remove for some reason + input.onblur = null; + row.remove(); + }; + input.onkeydown = function(e) { + if (e.key == "Enter") + sendit(input.value); + if (e.key == "Enter" || e.key == "Escape") { + input.onblur = null; + row.remove(); + ev(e); + } + }; + input.focus(); + } + + var opts = QSA('#rcm a'); + for (var i = 0; i < opts.length; i++) { + opts[i].onclick = function(e) { + ev(e); + switch(e.target.id.slice(1)) { + case 'opn': + var a = mknod('a'); + a.href = selFile.path; + a.target = selFile.type == "dir" ? '' : '_blank'; + a.click(); + break; + case 'ply': selFile.type == 'gf' ? thegrid.imshow(selFile.relpath) : play('f-' + selFile.id); break; + case 'pla': play('f-' + selFile.id); break; + case 'txt': location = '?doc=' + selFile.relpath; break; + case 'md': location = selFile.path + '?v'; break; + case 'cpl': cliptxt(location.protocol + '//' + location.host + selFile.path, function() {toast.ok(2, L.clipped)}); break; + case 'dl': ebi('seldl').click(); break; + case 'zip': ebi('selzip').click(); break; + case 'del': fileman.delete(); break; + case 'cut': fileman.cut(); break; + case 'cpy': fileman.cpy(); break; + case 'pst': + fileman.paste(); + fileman.clip = []; + break; + case 'nfo': mktemp(true); break; + case 'nfi': mktemp(); break; + case 'sal': + msel.evsel(null, true); + selFile.no_dsel = true; + break; + case 'sin': msel.evsel(null, 't'); break; + } + r.hide(true); + }; + } + + function show(x, y, target, isGrid) { + selFile.elem = selFile.type = selFile.path = selFile.id = selFile.relpath = null; + selFile.no_dsel = false; + if (target) { + var file = target.closest("#files tbody tr"); + if (isGrid && target.matches && target.matches('#ggrid > a')) { + var ref = ebi(target.getAttribute('ref')); + file = ref && ref.closest('#files tbody tr'); + } + if (file) { + selFile.no_dsel = clgot(file, "sel"); + clmod(file, "sel", true); + selFile.elem = file; + + selFile.path = basenames(file.children[1].firstChild.href).split('?')[0]; + selFile.relpath = selFile.path.split('/').slice(-1)[0]; + if (noq_href(file.children[1].firstChild).endsWith("/")) + selFile.type = "dir"; + else { + var lead = file.firstChild.firstChild; + selFile.id = lead.id.split('-')[1]; + selFile.type = lead.innerHTML[0] == '(' ? 'gf' : lead.id.split('-')[0]; + } + } + } + msel.selui(); + + var has_sel = msel.getsel().length; + var has_clip = fileman.clip.length; + + clmod(ebi('ropn'), 'hide', !selFile.path); + clmod(ebi('rply'), 'hide', selFile.type != 'gf' && selFile.type != 'af'); + clmod(ebi('rpla'), 'hide', selFile.type != 'gf'); + clmod(ebi('rtxt'), 'hide', !selFile.id); + clmod(ebi('rs1'), 'hide', !selFile.path); + clmod(ebi('rmd'), 'hide', !selFile.id || selFile.path.slice(-3) != '.md'); + clmod(ebi('rcpl'), 'hide', !selFile.path); + clmod(ebi('rdl'), 'hide', !has_sel); + clmod(ebi('rzip'), 'hide', !has_sel); + clmod(ebi('rs2'), 'hide', !has_sel); + clmod(ebi('rcut'), 'hide', !has_sel); + clmod(ebi('rdel'), 'hide', !has_sel); + clmod(ebi('rcpy'), 'hide', !has_sel); + clmod(ebi('rpst'), 'hide', !has_clip); + clmod(ebi('rs3'), 'hide', !has_sel || !has_clip); + + menu.style.left = x + 5 + 'px'; + menu.style.top = y + 5 + 'px'; + menu.style.display = 'block'; + menu.focus(); + } + + r.hide = function (force) { + if (!menu.style.display || (!force && menu.contains(document.activeElement))) + return; + if (selFile.elem && !selFile.no_dsel) { + clmod(selFile.elem, "sel", false); + msel.selui(); + } + selFile.elem = selFile.type = selFile.path = selFile.id = selFile.relpath = null; + selFile.no_dsel = false; + menu.style.display = ''; + } + + ebi('wrap').oncontextmenu = function(e) { + if (!r.enabled || e.shiftKey || menu.style.display) { + r.hide(true); + return true; + } + ev(e); + var gfile = thegrid.en && e.target && e.target.closest('#ggrid > a'); + show(xscroll() + e.clientX, yscroll() + e.clientY, gfile || e.target, gfile); + return false; + }; + menu.onblur = function() {setTimeout(r.hide)}; + + return r; +})(); + + function reload_mp() { if (mp && mp.au) { mpo.au = mp.au; @@ -19970,14 +9699,6 @@ function reload_browser() { ebi('path').appendChild(o); } - var oo = QSA('#files>tbody>tr>td:nth-child(3)'); - for (var a = 0, aa = oo.length; a < aa; a++) { - var sz = oo[a].textContent.replace(/ +/g, ""), - hsz = sz.replace(/\B(?=(\d{3})+(?!\d))/g, " "); - - oo[a].textContent = hsz; - } - reload_mp(); try { showsort(ftab); } catch (ex) { } makeSortable(ftab, function () { @@ -19998,3 +9719,5 @@ function reload_browser() { msel.render(); } treectl.hydrate(); + +J_BRW = 2; diff --git a/copyparty/web/idp.html b/copyparty/web/idp.html index 8a58f6be..9db4b88c 100644 --- a/copyparty/web/idp.html +++ b/copyparty/web/idp.html @@ -10,7 +10,7 @@ -{{- html_head }} +{{ html_head }} @@ -50,6 +50,10 @@ document.documentElement.className = (STG && STG.cpp_thm) || "{{ this.args.theme {%- if js %} {%- endif %} + diff --git a/copyparty/web/md.html b/copyparty/web/md.html index 429a1eff..d1a186ec 100644 --- a/copyparty/web/md.html +++ b/copyparty/web/md.html @@ -9,7 +9,7 @@ {%- if edit %} {%- endif %} -{{- html_head }} +{{ html_head }}
    @@ -22,7 +22,8 @@ editor
    tools - prettify table (ctrl-k) + beautify table (ctrl-k) + beautify json (ctrl-j) non-ascii: iterate (ctrl-u) non-ascii: markup non-ascii: whitelist @@ -160,8 +161,17 @@ try { l.light = drk? 0:1; } catch (ex) { } {%- if edit %} {%- endif %} + {%- if js %} {%- endif %} - + + diff --git a/copyparty/web/md.js b/copyparty/web/md.js index 66be69bb..9ecfca4b 100644 --- a/copyparty/web/md.js +++ b/copyparty/web/md.js @@ -1,5 +1,6 @@ "use strict"; +var J_MD = 1; var dom_toc = ebi('toc'), dom_wrap = ebi('mw'), dom_hbar = ebi('mh'), @@ -239,6 +240,12 @@ function convert_markdown(md_text, dest_dom) { var href = nodes[a].getAttribute('href'); var txt = nodes[a].innerHTML; + if (/\.[Mm][Dd]$/.test(href)) { + var o = new URL(href, location.href).origin; + if (!o || o == location.origin) + nodes[a].href = href + '?v'; + } + if (!txt) nodes[a].textContent = href; else if (href !== txt && !nodes[a].className) @@ -518,3 +525,5 @@ if (sread('hidenav') == 1) if (window.tt && tt.init) tt.init(); + +J_MD = 2; diff --git a/copyparty/web/md2.css b/copyparty/web/md2.css index ec4a7b29..6673118a 100644 --- a/copyparty/web/md2.css +++ b/copyparty/web/md2.css @@ -9,10 +9,13 @@ width: calc(100% - 56em); } #mw { - left: max(0em, calc(100% - 55em)); overflow-y: auto; position: fixed; bottom: 0; + left: 0; +} +@media (min-width: 55em) { + #mw {left:calc(100% - 55em)} } diff --git a/copyparty/web/md2.js b/copyparty/web/md2.js index 45403f99..0582b6e1 100644 --- a/copyparty/web/md2.js +++ b/copyparty/web/md2.js @@ -1,6 +1,7 @@ "use strict"; +var J_MD2 = 1; var sloc0 = '' + location, dbg_kbd = /[?&]dbgkbd\b/.exec(sloc0); @@ -334,7 +335,7 @@ window.onbeforeunload = function (e) { // save handler function save(e) { - if (e) e.preventDefault(); + ev(e); var save_btn = ebi("save"), save_cls = save_btn.className + ''; @@ -698,9 +699,42 @@ function reLastIndexOf(txt, ptn, end) { } +// json formatter +function fmt_json(e) { + ev(e); + try { + fmt_json2(); + } + catch (ex) { + return toast.err(7, 'json-format (CTRL-J) failed\n\n(hint: select the json you want to beautify/minify first)\n\n' + ex); + } +} +function fmt_json2() { + var txt = dom_src.value, + o0 = txt.lastIndexOf('\n', dom_src.selectionStart - 1), + o1 = txt.indexOf('\n', dom_src.selectionEnd); + o0 = o0 + 1 ? o0 + 1 : 0; + if (o1 < 0) o1 = txt.length; + for (var a = 0; a < 9; a++) { + if (has(['\r', '\n', ' '], txt.charAt(o0))) ++o0; + if (has(['\r', '\n', ' '], txt.charAt(o1))) --o1; + } + var jt0 = txt.slice(o0, ++o1), + jo = JSON.parse(jt0), + jt = JSON.stringify(jo, null, jt0.indexOf('\n') + 1 ? 0 : 2); + setsel({ + "pre": txt.slice(0, o0), + "sel": jt, + "post": txt.slice(o1), + "car": o0, + "cdr": o0, + }); +} + + // table formatter function fmt_table(e) { - if (e) e.preventDefault(); + ev(e); try { fmt_table2(); } @@ -857,7 +891,7 @@ function fmt_table2() { // show unicode function mark_uni(e) { - if (e) e.preventDefault(); + ev(e); dom_tbox.className = ''; var txt = dom_src.value, @@ -873,7 +907,7 @@ function mark_uni(e) { // iterate unicode function iter_uni(e) { - if (e) e.preventDefault(); + ev(e); var txt = dom_src.value, ofs = dom_src.selectionDirection == "forward" ? dom_src.selectionEnd : dom_src.selectionStart, @@ -895,7 +929,7 @@ function iter_uni(e) { // configure whitelist function cfg_uni(e) { - if (e) e.preventDefault(); + ev(e); modal.prompt("unicode whitelist", esc_uni_whitelist, function (reply) { esc_uni_whitelist = reply; @@ -923,7 +957,9 @@ var set_lno = (function () { if (i === pi) return; - var v = 'L' + dom_src.value.slice(0, i).split('\n').length; + var lns = dom_src.value.slice(0, i).split('\n'), + v = lns.length + ' : ' + lns.pop().length; + if (v != pv) lno.innerHTML = v; @@ -995,6 +1031,10 @@ var set_lno = (function () { action_stack.redo(); return false; } + if (kl == "j") { + fmt_json(e.shiftKey); + return false; + } if (kl == "k") { fmt_table(); return false; @@ -1038,14 +1078,14 @@ var set_lno = (function () { ebi('tools').onclick = function (e) { - if (e) e.preventDefault(); + ev(e); var is_open = dom_tbox.className != 'open'; dom_tbox.className = is_open ? 'open' : ''; }; ebi('help').onclick = function (e) { - if (e) e.preventDefault(); + ev(e); dom_tbox.className = ''; var dom = ebi('helpbox'); @@ -1065,6 +1105,7 @@ ebi('help').onclick = function (e) { ebi('fmt_table').onclick = fmt_table; +ebi('fmt_json').onclick = fmt_json; ebi('mark_uni').onclick = mark_uni; ebi('iter_uni').onclick = iter_uni; ebi('cfg_uni').onclick = cfg_uni; @@ -1190,3 +1231,5 @@ action_stack = (function () { _ref: ref } })(); + +J_MD2 = 2; diff --git a/copyparty/web/mde.html b/copyparty/web/mde.html index ac3377c6..47bf8d0c 100644 --- a/copyparty/web/mde.html +++ b/copyparty/web/mde.html @@ -8,7 +8,7 @@ -{{- html_head }} +{{ html_head }}
    @@ -57,5 +57,10 @@ try { l.light = drk? 0:1; } catch (ex) { } {%- if js %} {%- endif %} + diff --git a/copyparty/web/mde.js b/copyparty/web/mde.js index 058825c9..e44c9803 100644 --- a/copyparty/web/mde.js +++ b/copyparty/web/mde.js @@ -1,5 +1,6 @@ "use strict"; +var J_MDE = 1; var dom_wrap = ebi('mw'); var dom_nav = ebi('mn'); var dom_doc = ebi('m'); @@ -199,3 +200,5 @@ function save_chk() { toast.ok(2, 'save OK' + (this.ntry ? '\nattempt ' + this.ntry : '')); } + +J_MDE = 2; diff --git a/copyparty/web/msg.css b/copyparty/web/msg.css deleted file mode 100644 index ab8fa4d1..00000000 --- a/copyparty/web/msg.css +++ /dev/null @@ -1,36 +0,0 @@ -:root { - --font-main: sans-serif; - --font-serif: serif; - --font-mono: 'scp'; -} -html,body,tr,th,td,#files,a { - color: inherit; - background: none; - font-weight: inherit; - font-size: inherit; - padding: 0; - border: none; -} -html { - color: #ccc; - background: #333; - font-family: sans-serif; - font-family: var(--font-main), sans-serif; - text-shadow: 1px 1px 0px #000; - touch-action: manipulation; -} -html, body { - margin: 0; - padding: 0; -} -#box { - padding: .5em 1em; - background: #2c2c2c; -} -pre { - font-family: monospace, monospace; - font-family: var(--font-mono), monospace, monospace; -} -a { - color: #fc5; -} diff --git a/copyparty/web/msg.html b/copyparty/web/msg.html index 0b966d11..f5d3edc9 100644 --- a/copyparty/web/msg.html +++ b/copyparty/web/msg.html @@ -7,8 +7,13 @@ - -{{- html_head }} + +{{ html_head }} @@ -43,7 +48,7 @@ {%- endif %} {%- if js %} diff --git a/copyparty/web/opds.xml b/copyparty/web/opds.xml new file mode 100644 index 00000000..fb22371c --- /dev/null +++ b/copyparty/web/opds.xml @@ -0,0 +1,31 @@ + + + {%- for d in dirs %} + + {{ d.name }} + + {{ d.iso8601 }} + + {%- endfor %} + {%- for f in files %} + + {{ f.name }} + {{ f.iso8601 }} + + {%- if f.jpeg_thumb_href != None %} + + {%- endif %} + {%- if f.jpeg_thumb_href_hires != None %} + + {%- endif %} + + {%- endfor %} + \ No newline at end of file diff --git a/copyparty/web/rups.html b/copyparty/web/rups.html index fe344c12..544c1ac1 100644 --- a/copyparty/web/rups.html +++ b/copyparty/web/rups.html @@ -10,7 +10,7 @@ -{{- html_head }} +{{ html_head }} @@ -39,6 +39,11 @@ document.documentElement.className = (STG && STG.cpp_thm) || "{{ this.args.theme {%- if js %} {%- endif %} + diff --git a/copyparty/web/rups.js b/copyparty/web/rups.js index e4e8b3ce..3aa80be2 100644 --- a/copyparty/web/rups.js +++ b/copyparty/web/rups.js @@ -1,3 +1,7 @@ +"use strict"; + +var J_RUP = 1; + function render() { var html = ['']; var ups = V.ups, now = V.now; @@ -67,3 +71,5 @@ ebi('filter').onkeydown = function (e) { if (('' + e.key).endsWith('Enter')) ask(); }; + +J_RUP = 2; diff --git a/copyparty/web/shares.css b/copyparty/web/shares.css index f8dce0b9..0a69260d 100644 --- a/copyparty/web/shares.css +++ b/copyparty/web/shares.css @@ -58,6 +58,7 @@ th { #wrap th { padding: .3em .6em; text-align: left; + vertical-align: top; white-space: nowrap; } #wrap td+td+td+td+td+td+td+td { @@ -71,7 +72,10 @@ th { #wrap td:last-child { border-radius: 0 .5em .5em 0; } - +#wrap.terse td div { + height: 2.3em; + overflow-y: hidden; +} html.z { diff --git a/copyparty/web/shares.html b/copyparty/web/shares.html index de128ab1..fcb53cad 100644 --- a/copyparty/web/shares.html +++ b/copyparty/web/shares.html @@ -10,12 +10,13 @@ -{{- html_head }} +{{ html_head }} -
    +
    refresh + files control-panel axs = perms (read,write,move,delet) @@ -46,7 +47,7 @@
    - + @@ -78,6 +79,11 @@ document.documentElement.className = (STG && STG.cpp_thm) || "{{ this.args.theme {%- if js %} {%- endif %} + diff --git a/copyparty/web/shares.js b/copyparty/web/shares.js index 281de673..3e627446 100644 --- a/copyparty/web/shares.js +++ b/copyparty/web/shares.js @@ -1,3 +1,7 @@ +"use strict"; + +var J_SHR = 1; + var t = QSA('a[k]'); for (var a = 0; a < t.length; a++) t[a].onclick = rm; @@ -28,6 +32,11 @@ function cb() { location = '?shares'; } +ebi('xpnd').onclick = function (e) { + ev(e); + clmod(ebi('wrap'), 'terse', 't'); +}; + function qr(e) { ev(e); var href = this.href, @@ -76,3 +85,5 @@ function showqr(href) { for (var a = 0; a < aa; a++) btns[a].onclick = bump; })(); + +J_SHR = 2; diff --git a/copyparty/web/splash.css b/copyparty/web/splash.css index fb5d5075..832ef566 100644 --- a/copyparty/web/splash.css +++ b/copyparty/web/splash.css @@ -118,6 +118,26 @@ table { .btns>a:first-child { margin-left: 0; } +.agr br { + display: none; +} +#lo, +.agr a, +.agr form { + margin: 0 .5em 0 0; + line-height: 4em; +} +.agr form, +.agr input { + display: inline; + padding: 0; + margin: 0; +} +#lo, +.agr input { + line-height: 1em; + font-weight: normal; +} #msg { margin: 3em 0; } diff --git a/copyparty/web/splash.html b/copyparty/web/splash.html index 1b9a89be..4f95eff1 100644 --- a/copyparty/web/splash.html +++ b/copyparty/web/splash.html @@ -9,7 +9,7 @@ -{{- html_head }} +{{ html_head }} @@ -42,7 +42,7 @@ {%- for u in ups %} - + {%- endfor %}
    sizewhoipwhenagedirfile
    {{ "yes" if pw else "--" }} /{{ vp|e }} {{ pr }}{{ st }}
    {{ st }}
    {{ un|e }} {{ t0 }} {{ t1 }}
    %speedetaidledirfile
    {{ u[0] }}{{ u[1] }}{{ u[2] }}{{ u[3] }}{{ u[5]|e }}{{ u[6]|e }}
    {{ u[0] }}{{ u[1] }}{{ u[2] }}{{ u[3] }}{{ u[5]|e }}{{ u[6]|e }}
    @@ -54,7 +54,7 @@ %sentspeedetaidledirfile {%- for u in dls %} - {{ u[0] }}{{ u[1] }}{{ u[2] }}{{ u[3] }}{{ u[4] }}{{ u[5] }}{{ u[7]|e }}{{ u[8] }} + {{ u[0] }}{{ u[1] }}{{ u[2] }}{{ u[3] }}{{ u[4] }}{{ u[5] }}{{ u[7]|e }}{{ u[8] }} {%- endfor %} @@ -117,10 +117,15 @@ {%- if ahttps %} switch to https {%- endif %} +
    {%- else %} + {%- if this.uname == '*' %}

    login for more:

    + {%- else %} +

    change account:

    + {%- endif %}
    {%- if this.args.idp_login %}
    • @@ -145,25 +150,38 @@ {%- if ahttps %} switch to https {%- endif %} +
      {%- endif %}
    {%- endif %}

    other stuff:

    -
    @@ -209,10 +217,18 @@ document.documentElement.className = (STG && STG.cpp_thm) || "{{ this.args.theme +{%- if lang != "eng" %} + +{%- endif %} {%- if js %} {%- endif %} + diff --git a/copyparty/web/splash.js b/copyparty/web/splash.js index 4ab25aa5..6d8e635b 100644 --- a/copyparty/web/splash.js +++ b/copyparty/web/splash.js @@ -1,54 +1,9 @@ -// please add translations in alphabetic order, but keep "nor" and "eng" first -// (lines ending with //m are machine translations) -var Ls = { - "nor": { - "a1": "oppdater", - "b1": "halloien   (du er ikke logget inn)", - "c1": "logg ut", - "d1": "tilstand", - "d2": "vis tilstanden til alle trรฅder", - "e1": "last innst.", - "e2": "leser inn konfigurasjonsfiler pรฅ nytt$N(kontoer, volumer, volumbrytere)$Nog kartlegger alle e2ds-volumer$N$Nmerk: endringer i globale parametere$Nkrever en full restart for รฅ ta gjenge", - "f1": "du kan betrakte:", - "g1": "du kan laste opp til:", - "cc1": "brytere og sรฅnt:", - "h1": "skru av k304", - "i1": "skru pรฅ k304", - "j1": "k304 bryter tilkoplingen for hver HTTP 304. Dette hjelper mot visse mellomtjenere som kan sette seg fast / plutselig slutter รฅ laste sider, men det reduserer ogsรฅ ytelsen betydelig", - "k1": "nullstill innstillinger", - "l1": "logg inn:", - "ls3": "logg inn", - "lu4": "brukernavn", - "lp4": "passord", - "lo3": "logg ut โ€œ{0}โ€ overalt", - "lo2": "avslutter รธkten pรฅ alle nettlesere", - "m1": "velkommen tilbake,", - "n1": "404: filen finnes ikke  โ”( ยด -`)โ”Œ", - "o1": 'eller kanskje du ikke har tilgang? prรธv et passord eller gรฅ hjem', - "p1": "403: tilgang nektet  ~โ”ปโ”โ”ป", - "q1": 'prรธv et passord eller gรฅ hjem', - "r1": "gรฅ hjem", - ".s1": "kartlegg", - "t1": "handling", - "u2": "tid siden noen sist skrev til serveren$N( opplastning / navneendring / ... )$N$N17d = 17 dager$N1h23 = 1 time 23 minutter$N4m56 = 4 minuter 56 sekunder", - "v1": "koble til", - "v2": "bruk denne serveren som en lokal harddisk", - "w1": "bytt til https", - "x1": "bytt passord", - "y1": "dine delinger", - "z1": "lรฅs opp omrรฅde:", - "ta1": "du mรฅ skrive et nytt passord fรธrst", - "ta2": "gjenta for รฅ bekrefte nytt passord:", - "ta3": "fant en skrivefeil; vennligst prรธv igjen", - "aa1": "innkommende:", - "ab1": "skru av no304", - "ac1": "skru pรฅ no304", - "ad1": "no304 stopper all bruk av cache. Hvis ikke k304 var nok, prรธv denne. Vil mangedoble dataforbruk!", - "ae1": "utgรฅende:", - "af1": "vis nylig opplastede filer", - "ag1": "vis kjente IdP-brukere", - }, - "eng": { +"use strict"; + +var J_SPL = 1; + +Ls.eng = { + "splash": { "d2": "shows the state of all active threads", "e2": "reload config files (accounts/volumes/volflags),$Nand rescan all e2ds volumes$N$Nnote: any changes to global settings$Nrequire a full restart to take effect", "lo2": "ends the session on all browsers", @@ -57,762 +12,19 @@ var Ls = { "ta1": "fill in your new password first", "ta2": "repeat to confirm new password:", "ta3": "found a typo; please try again", - }, - "chi": { - "a1": "ๆ›ดๆ–ฐ", - "b1": "ไฝ ๅฅฝ   (ไฝ ๅฐšๆœช็™ปๅฝ•)", - "c1": "็™ปๅ‡บ", - "d1": "็Šถๆ€", - "d2": "ๆ˜พ็คบๆ‰€ๆœ‰ๆดปๅŠจ็บฟ็จ‹็š„็Šถๆ€", - "e1": "้‡ๆ–ฐๅŠ ่ฝฝ้…็ฝฎ", - "e2": "้‡ๆ–ฐๅŠ ่ฝฝ้…็ฝฎๆ–‡ไปถ๏ผˆ่ดฆๆˆท/ๅท/ๅทๆ ‡๏ผ‰๏ผŒ$Nๅนถ้‡ๆ–ฐๆ‰ซๆๆ‰€ๆœ‰ e2ds ๅท$N$Nๆณจๆ„๏ผšไปปไฝ•ๅ…จๅฑ€่ฎพ็ฝฎ็š„ๆ›ดๆ”น$N้ƒฝ้œ€่ฆๅฎŒๅ…จ้‡ๅฏๆ‰่ƒฝ็”Ÿๆ•ˆ", - "f1": "ไฝ ๅฏไปฅๆŸฅ็œ‹๏ผš", - "g1": "ไฝ ๅฏไปฅไธŠไผ ๅˆฐ๏ผš", - "cc1": "ๅผ€ๅ…ณ็ญ‰", - "h1": "ๅ…ณ้—ญ k304", - "i1": "ๅผ€ๅฏ k304", - "j1": "k304 ไผšๅœจๆฏไธช HTTP 304 ๆ—ถๆ–ญๅผ€่ฟžๆŽฅใ€‚่ฟ™ๆœ‰ๅŠฉไบŽ้ฟๅ…ๆŸไบ›ไปฃ็†ๆœๅŠกๅ™จๅกไฝๆˆ–็ช็„ถๅœๆญขๅŠ ่ฝฝ้กต้ข๏ผŒไฝ†ไนŸไผšๆ˜พ่‘—้™ไฝŽๆ€ง่ƒฝใ€‚", - "k1": "้‡็ฝฎ่ฎพ็ฝฎ", - "l1": "็™ปๅฝ•๏ผš", - "ls3": "็™ปๅฝ•", //m - "lu4": "็”จๆˆทๅ", //m - "lp4": "ๅฏ†็ ", //m - "lo3": "ๅœจๆ‰€ๆœ‰ๅœฐๆ–นๆณจ้”€ {0}", //m - "lo2": "่ฟ™ๅฐ†็ป“ๆŸๅœจๆ‰€ๆœ‰ๆต่งˆๅ™จไธญ็š„ไผš่ฏ", //m - "m1": "ๆฌข่ฟŽๅ›žๆฅ๏ผŒ", - "n1": "404: ๆ–‡ไปถไธๅญ˜ๅœจ  โ”( ยด -`)โ”Œ", - "o1": 'ๆˆ–่€…ไฝ ๅฏ่ƒฝๆฒกๆœ‰ๆƒ้™๏ผŸๅฐ่ฏ•่พ“ๅ…ฅๅฏ†็ ๆˆ– ๅ›žๅฎถ', - "p1": "403: ่ฎฟ้—ฎ่ขซๆ‹’็ป  ~โ”ปโ”โ”ป", - "q1": 'ๅฐ่ฏ•่พ“ๅ…ฅๅฏ†็ ๆˆ– ๅ›žๅฎถ', - "r1": "ๅ›žๅฎถ", - ".s1": "ๆ˜ ๅฐ„", - "t1": "ๆ“ไฝœ", - "u2": "่‡ชไธŠๆฌกๆœๅŠกๅ™จๅ†™ๅ…ฅ็š„ๆ—ถ้—ด$N( ไธŠไผ  / ้‡ๅ‘ฝๅ / ... )$N$N17d = 17 ๅคฉ$N1h23 = 1 ๅฐๆ—ถ 23 ๅˆ†้’Ÿ$N4m56 = 4 ๅˆ†้’Ÿ 56 ็ง’", - "v1": "่ฟžๆŽฅ", - "v2": "ๅฐ†ๆญคๆœๅŠกๅ™จ็”จไฝœๆœฌๅœฐ็กฌ็›˜", - "w1": "ๅˆ‡ๆขๅˆฐ https", - "x1": "ๆ›ดๆ”นๅฏ†็ ", - "y1": "ไฝ ็š„ๅˆ†ไบซ", - "z1": "่งฃ้”ๅŒบๅŸŸ", - "ta1": "่ฏทๅ…ˆ่พ“ๅ…ฅๆ–ฐๅฏ†็ ", - "ta2": "้‡ๅคไปฅ็กฎ่ฎคๆ–ฐๅฏ†็ ๏ผš", - "ta3": "ๅ‘็Žฐๆ‹ผๅ†™้”™่ฏฏ๏ผ›่ฏท้‡่ฏ•", - "aa1": "ๆญฃๅœจๆŽฅๆ”ถ็š„ๆ–‡ไปถ๏ผš", //m - "ab1": "ๅ…ณ้—ญ k304", - "ac1": "ๅผ€ๅฏ k304", - "ad1": "ๅฏ็”จ no304 ๅฐ†็ฆ็”จๆ‰€ๆœ‰็ผ“ๅญ˜๏ผ›ๅฆ‚ๆžœ k304 ไธๅคŸ๏ผŒๅฏไปฅๅฐ่ฏ•ๆญค้€‰้กนใ€‚่ฟ™ๅฐ†ๆถˆ่€—ๅคง้‡็š„็ฝ‘็ปœๆต้‡๏ผ", //m - "ae1": "ๆญฃๅœจไธ‹่ฝฝ๏ผš", //m - "af1": "ๆ˜พ็คบๆœ€่ฟ‘ไธŠไผ ็š„ๆ–‡ไปถ", //m - "ag1": "ๆŸฅ็œ‹ๅทฒ็Ÿฅ IdP ็”จๆˆท", //m - }, - "cze": { - "a1": "obnovit", - "b1": "ahoj cizinฤe   (nejsi pล™ihlรกลกen)", - "c1": "odhlรกsit se", - "d1": "vypsat zรกsobnรญku", - "d2": "zobrazit stav vลกech aktivnรญch vlรกken", - "e1": "znovu naฤรญst konfiguraci", - "e2": "znovu naฤรญst konfiguraฤnรญ soubory (accounts/volumes/volflags),$Na prohledat vลกechny e2ds รบloลพiลกtฤ›$N$Npoznรกmka: vลกechny zmฤ›ny globรกlnรญch nastavenรญ$Nvyลพadujรญ รบplnรฉ restartovรกnรญ, aby se projevily", - "f1": "mลฏลพeลก prochรกzet:", - "g1": "mลฏลพeลก nahrรกvat do:", - "cc1": "dalลกรญ vฤ›ci:", - "h1": "zakรกzat k304", - "i1": "povolit k304", - "j1": "povolenรญ k304 odpojรญ vaลกeho klienta pล™i kaลพdรฉm HTTP 304, coลพ mลฏลพe zabrรกnit nฤ›kterรฝm chybovรฝm proxy serverลฏm, aby se zasekly (nรกhle nenaฤรญtaly strรกnky), ale takรฉ to obecnฤ› zpomalรญ vฤ›ci", - "k1": "resetovat nastavenรญ klienta", - "l1": "pล™ihlaste se pro vรญce:", - "ls3": "pล™ihlรกsit se", //m - "lu4": "uลพivatelskรฉ jmรฉno", //m - "lp4": "heslo", //m - "lo3": "odhlรกsit โ€œ{0}โ€ vลกude", //m - "lo2": "tรญmto ukonฤรญte relaci ve vลกech prohlรญลพeฤรญch", //m - "m1": "vรญtej zpฤ›t,", - "n1": "404 nenalezeno  โ”( ยด -`)โ”Œ", - "o1": 'nebo moลพnรก nemรกลก pล™รญstup -- zkus heslo nebo jdi domลฏ', - "p1": "403 zakรกzรกno  ~โ”ปโ”โ”ป", - "q1": 'pouลพij heslo nebo jdi domลฏ', - "r1": "jdi domลฏ", - ".s1": "znovu prohledat", - "t1": "akce", - "u2": "ฤas od poslednรญho zรกpisu na server$N( upload / rename / ... )$N$N17d = 17 dnรญ$N1h23 = 1 hodina 23 minut$N4m56 = 4 minuty 56 sekund", - "v1": "pล™ipojit", - "v2": "pouลพรญt tento server jako mรญstnรญ HDD", - "w1": "pล™epnout na https", - "x1": "zmฤ›nit heslo", - "y1": "upravit sdรญlenรญ", - "z1": "odblokovat toto sdรญlenรญ:", - "ta1": "nejprve vyplลˆte svรฉ novรฉ heslo", - "ta2": "zopakujte pro potvrzenรญ novรฉho hesla:", - "ta3": "nalezen pล™eklep; zkuste to prosรญm znovu", - "aa1": "pล™รญchozรญ soubory:", - "ab1": "deaktivovat no304", - "ac1": "povolit no304", - "ad1": "povolenรญ no304 deaktivuje veลกkerรฉ mezipamฤ›ti; zkuste to, pokud k304 nestaฤilo. To ovลกem zapล™รญฤรญnรญ obrovskรฉ mnoลพstvรญ sรญลฅovรฉho provozu!", - "ae1": "aktivnรญ stahovรกnรญ:", - "af1": "zobrazit nedรกvnรฉ nahrรกvรกnรญ", - }, - "deu": { - "a1": "Neu laden", - "b1": "Tach, wie geht's?   (Du bist nicht angemeldet)", - "c1": "Abmelden", - "d1": "Zustand", - "d2": "Zeigt den Zustand aller aktiven Threads", - "e1": "Config neu laden", - "e2": "Konfigurationsdatei neu laden (Accounts/Volumes/VolFlags)$Nund scannt alle e2ds-Volumes$N$NBeachte: Jegliche ร„nderung an globalen Einstellungen$Nbenรถtigt einen Neustart zum Anwenden", - "f1": "Du kannst lesen:", - "g1": "Du kannst hochladen nach:", - "cc1": "Andere Dinge:", - "h1": "k304 deaktivieren", - "i1": "k304 aktivieren", - "j1": "k304 trennt die Clientverbindung bei jedem HTTP 304, was Bugs mit problematischen Proxies vorbeugen kann (z.B. nicht ladenden Seiten), macht Dinge aber generell langsamer", - "k1": "Client-Einstellungen zurรผcksetzen", - "l1": "Melde dich an fรผr mehr:", - "ls3": "Anmelden", //m - "lu4": "Benutzername", //m - "lp4": "Passwort", //m - "lo3": "โ€œ{0}โ€ รผberall abmelden", //m - "lo2": "Dies beendet die Sitzung in allen Browsern", //m - "m1": "Willkommen zurรผck,", - "n1": "404 Nicht gefunden  โ”( ยด -`)โ”Œ", - "o1": 'or maybe you don\'t have access -- try a password or go home', - "p1": "403 Verboten  ~โ”ปโ”โ”ป", - "q1": 'Benutze ein Passwort oder gehe zur Homepage', - "r1": "Gehe zur Homepage", - ".s1": "Neu scannen", - "t1": "Aktion", - "u2": "time since the last server write$N( upload / rename / ... )$N$N17d = 17 days$N1h23 = 1 hour 23 minutes$N4m56 = 4 minutes 56 seconds", - "v1": "Verbinden", - "v2": "Benutze diesen Server als lokale Festplatte", - "w1": "Zu HTTPS wechseln", - "x1": "Passwort รคndern", - "y1": "Shares bearbeiten", - "z1": "Share entsperren:", - "ta1": "Trage zuerst dein Passwort ein", - "ta2": "Wiederhole dein Passwort zur Bestรคtigung:", - "ta3": "Da stimmt etwas nicht; probier's nochmal", - "aa1": "Eingehende Dateien:", - "ab1": "no304 deaktivieren", - "ac1": "no304 aktivieren", - "ad1": "Das Aktivieren von no304 deaktiviert jegliche Form von Caching; probier dies, wenn k304 nicht genug war. Dies verschwendet eine grosse Menge Netzwerk-Traffic!", - "ae1": "Aktive Downloads:", - "af1": "Zeige neue Uploads", - }, - "fin": { - "a1": "pรคivitรค", - "b1": "hei sie muukalainen   (et ole kirjautunut sisรครคn)", - "c1": "kirjaudu ulos", - "d1": "tulosta pinojรคlki", - "d2": "nรคytรค kaikkien aktiivisten sรคikeiden tila", - "e1": "pรคivitรค konffit", - "e2": "lataa konfiguraatiotiedostot uudelleen (kรคyttรคjรคtilit/asemat/asemaflagit),$Nja skannaa kaikki e2ds asemat uudelleen$N$Nhuom: kaikki global-asetuksiin$Ntehdyt muutokset vaativat tรคyden$Nuudelleenkรคynnistyksen", - "f1": "voit selata nรคitรค:", - "g1": "voit ladata nรคihin:", - "cc1": "muuta:", - "h1": "poista k304 kรคytรถstรค", - "i1": "ota k304 kรคyttรถรถn", - "j1": "k304 katkaisee yhteytesi jokaisella HTTP 304:llรค, mikรค voi estรครค joitain bugisia vรคlityspalvelimia jumittumasta/lopettamasta sivujen lataamista, mutta se myรถs vรคhentรครค suorituskykyรค", - "k1": "nollaa asetukset", - "l1": "kirjaudu sisรครคn:", - "ls3": "kirjaudu sisรครคn", //m - "lu4": "kรคyttรคjรคtunnus", //m - "lp4": "salasana", //m - "lo3": "kirjaa โ€œ{0}โ€ ulos kaikkialta", //m - "lo2": "tรคmรค lopettaa istunnon kaikissa selaimissa", //m - "m1": "tervetuloa takaisin,", - "n1": "404: ei lรถytynyt mitรครคn  โ”( ยด -`)โ”Œ", - "o1": 'tai ehkรค sinulla ei vain ole kรคyttรถoikeuksia? kokeile salasanaa tai mene kotiin', - "p1": "403: pรครคsy kielletty  ~โ”ปโ”โ”ป", - "q1": 'kokeile salasanaa tai mene kotiin', - "r1": "mene kotiin", - ".s1": "uudelleenkartoita", - "t1": "toiminto", - "u2": "aika viimeisestรค palvelimen kirjoituksesta$N( lataus / uudelleennimeรคminen / tms. )$N$N17d = 17 pรคivรครค$N1h23 = 1 tunti 23 minuuttia$N4m56 = 4 minuuttia 56 sekuntia", - "v1": "yhdistรค", - "v2": "kรคytรค tรคtรค palvelinta paikallisena kiintolevynรค", - "w1": "vaihda https:รครคn", - "x1": "vaihda salasana", - "y1": "muokkaa jakoja", - "z1": "avaa tรคmรค jako:", - "ta1": "tรคytรค ensin uusi salasana", - "ta2": "toista vahvistaaksesi uuden salasanan:", - "ta3": "lรถytyi kirjoitusvirhe; yritรค uudelleen", - "aa1": "saapuvat:", - "ab1": "poista no304 kรคytรถstรค", - "ac1": "ota no304 kรคyttรถรถn", - "ad1": "no304:n lopettaa vรคlimuistin kรคytรถn kokonaan; kokeile tรคtรค jos k304 ei riittรคnyt. Tuhlaa valtavan mรครคrรคn verkkoliikennettรค!", - "ae1": "lรคhtevรคt:", - "af1": "nรคytรค viimeaikaiset lataukset", - "ag1": "nรคytรค tunnetut IdP-kรคyttรคjรคt", - }, - "fra": { - "a1": "rafraรฎchir", - "b1": "salut รฉtranger   (vous n'รชtes pas connectรฉ.)", - "c1": "dรฉconnexion", - "d1": "vidange de la pile", - "d2": "affiche l'รฉtat de tous les threads actifs", - "e1": "recharger la configuration", - "e2": "recharger le fichier de configuration (comptes/volumes/indicateurs de volume),$Net rescanner tous les volumes e2ds$N$Nnote : n'importe quel changement aux paramรจtres globaux$Nnรฉcessite un redรฉmarrage complet pour prendre effet", - "f1": "vous pouvez naviguer :", - "g1": "vous pouvez tรฉlรฉcharger sur :", - "cc1": "autres choses :", - "h1": "dรฉsactiver k304", - "i1": "activer k304", - "j1": "activer k304 va dรฉconnecter votre client sur chaque HTTP 304, ce qui peut รฉviter ร  certains proxies dรฉfectueux de rester bloquรฉs (les pages ne se chargent soudainement plus), mais cela ralentira รฉgalement les choses en gรฉnรฉral", - "k1": "rรฉinitialiser les paramรจtres du client", - "l1": "connectez-vous pour en savoir plus :", - "ls3": "se connecter", //m - "lu4": "nom d'utilisateur", //m - "lp4": "mot de passe", //m - "lo3": "dรฉconnecter โ€œ{0}โ€ partout", //m - "lo2": "cela mettra fin ร  la session sur tous les navigateurs", //m - "m1": "heureux de vous revoir,", - "n1": "404 introuvable  โ”( ยด -`)โ”Œ", - "o1": 'ou peut-รชtre que vous n\'y avez pas accรจs -- essayer un mot de passe ou aller ร  la page d\'accueil', - "p1": "403 interdit  ~โ”ปโ”โ”ป", - "q1": 'utiliser un mot de passe ou aller ร  la page d\'accueil', - "r1": "aller ร  la page d\'accueil", - ".s1": "rescanner", - "t1": "action", - "u2": "temps รฉcoulรฉ depuis la derniรจre รฉcriture sur le serveur$N(tรฉlรฉchargement/renommage/...)$N$N17j = 17 jours$N1h23 = 1 heure 23 minutes$N4m56 = 4 minutes 56 secondes", - "v1": "connecter", - "v2": "utilisez ce serveur en tant que disque dur local", - "w1": "passer ร  https", - "x1": "changer mot de passe", - "y1": "modifier les partages", - "z1": "dรฉverrouiller ce partage :", - "ta1": "entrez d'abord votre nouveau mot de passe", - "ta2": "rรฉpรฉtez pour confirmer le nouveau mot de passe :", - "ta3": "une faute de frappe a รฉtรฉ dรฉtectรฉe ; veuillez rรฉessayer.", - "aa1": "fichiers entrants :", - "ab1": "dรฉsactiver no304", - "ac1": "activer no304", - "ad1": "l'activation de no304 dรฉsactivera toute mise en cache ; essayez ceci si k304 n'รฉtait pas suffisant. Cela va gรฉnรฉrer un trafic rรฉseau considรฉrable !", - "ae1": "tรฉlรฉchargements actifs :", - "af1": "afficher les derniers tรฉlรฉchargements", - }, - "grc": { - "a1": "ฮฑฮฝฮฑฮฝฮญฯ‰ฯƒฮท", - "b1": "ฮณฮตฮนฮฑ ฯƒฮฟฯ… ฮพฮญฮฝฮต!   (ฮดฮตฮฝ ฮตฮฏฯƒฮฑฮน ฯƒฯ…ฮฝฮดฮตฮดฮตฮผฮญฮฝฮฟฯ‚)", - "c1": "ฮฑฯ€ฮฟฯƒฯฮฝฮดฮตฯƒฮท", - "d1": "ฮปฮฏฯƒฯ„ฮฑ ฮดฮนฮตฯฮณฮฑฯƒฮนฯŽฮฝ", - "d2": "ฮตฮผฯ†ฮฑฮฝฮฏฮถฮตฮน ฯ„ฮทฮฝ ฮบฮฑฯ„ฮฌฯƒฯ„ฮฑฯƒฮท ฯŒฮปฯ‰ฮฝ ฯ„ฯ‰ฮฝ ฮตฮฝฮตฯฮณฯŽฮฝ ฮดฮนฮตฯฮณฮฑฯƒฮนฯŽฮฝ", - "e1": "ฮตฯ€ฮฑฮฝฮฑฯ†ฯŒฯฯ„ฯ‰ฯƒฮท ฯ„ฮฟฯ… cfg", - "e2": "ฯ†ฮฟฯฯ„ฯŽฮฝฮตฮน ฮพฮฑฮฝฮฌ ฯ„ฮฑ ฮฑฯฯ‡ฮตฮฏฮฑ ฯฯ…ฮธฮผฮฏฯƒฮตฯ‰ฮฝ (ฮปฮฟฮณฮฑฯฮนฮฑฯƒฮผฮฟฮฏ/ฯ„ฯŒฮผฮฟฮน/volflags),$Nฮบฮฑฮน ฮบฮฌฮฝฮตฮน ฮตฯ€ฮฑฮฝฮตฮพฮญฯ„ฮฑฯƒฮท ฯŒฮปฯ‰ฮฝ ฯ„ฯ‰ฮฝ ฯ„ฯŒฮผฯ‰ฮฝ e2ds$N$Nฯƒฮทฮผฮตฮฏฯ‰ฯƒฮท: ฮฟฯ€ฮฟฮนฮฑฮดฮฎฯ€ฮฟฯ„ฮต ฮฑฮปฮปฮฑฮณฮฎ ฯƒฯ„ฮนฯ‚ ฮบฮฑฮธฮฟฮปฮนฮบฮญฯ‚ ฯฯ…ฮธฮผฮฏฯƒฮตฮนฯ‚$Nฮฑฯ€ฮฑฮนฯ„ฮตฮฏ ฯ€ฮปฮฎฯฮท ฮตฯ€ฮฑฮฝฮตฮบฮบฮฏฮฝฮทฯƒฮท ฮณฮนฮฑ ฮฝฮฑ ฮตฯ†ฮฑฯฮผฮฟฯƒฯ„ฮตฮฏ", - "f1": "ฮผฯ€ฮฟฯฮตฮฏฯ‚ ฮฝฮฑ ฯ€ฮตฯฮนฮทฮณฮทฮธฮตฮฏฯ‚:", - "g1": "ฮผฯ€ฮฟฯฮตฮฏฯ‚ ฮฝฮฑ ฮตฮบฯ„ฮตฮปฮญฯƒฮตฮนฯ‚ ฮผฮตฯ„ฮฑฯ†ฯŒฯฯ„ฯ‰ฯƒฮท ฯƒฮต:", - "cc1": "ฮฌฮปฮปฮฑ ฯ€ฯฮฌฮณฮผฮฑฯ„ฮฑ:", - "h1": "ฮฑฯ€ฮตฮฝฮตฯฮณฮฟฯ€ฮฟฮฏฯƒฮท k304", - "i1": "ฮตฮฝฮตฯฮณฮฟฯ€ฮฟฮฏฮทฯƒฮท k304", - "j1": "ฮท ฮตฮฝฮตฯฮณฮฟฯ€ฮฟฮฏฮทฯƒฮท ฯ„ฮฟฯ… k304 ฮธฮฑ ฮฑฯ€ฮฟฯƒฯ…ฮฝฮดฮญฯƒฮตฮน ฯ„ฮฟ ฯ€ฯฯŒฮณฯฮฑฮผฮผฮฑ ฯ€ฮตฮปฮฌฯ„ฮท ฯƒฮฟฯ… ฯƒฮต ฮบฮฌฮธฮต HTTP 304, ฮบฮฌฯ„ฮน ฯ€ฮฟฯ… ฮผฯ€ฮฟฯฮตฮฏ ฮฝฮฑ ฮฑฯ€ฮฟฯ„ฯฮญฯˆฮตฮน ฮบฮฌฯ€ฮฟฮนฮฑ ฯ€ฯฮฟฮฒฮปฮทฮผฮฑฯ„ฮนฮบฮฌ proxies ฮฑฯ€ฯŒ ฯ„ฮฟ ฮฝฮฑ ฮบฮฟฮปฮปฮฌฮฝฮต (ฮฝฮฑ ฮผฮทฮฝ ฯ†ฮฟฯฯ„ฯŽฮฝฮฟฯ…ฮฝ ฮพฮฑฯ†ฮฝฮนฮบฮฌ ฯƒฮตฮปฮฏฮดฮตฯ‚), ฮฑฮปฮปฮฌ ฮธฮฑ ฮบฮฌฮฝฮตฮน ฯ„ฮฑ ฯ€ฯฮฌฮณฮผฮฑฯ„ฮฑ, ฮณฮตฮฝฮนฮบฮฌ ฯ€ฮนฮฟ ฮฑฯฮณฮฌ", - "k1": "ฮตฯ€ฮฑฮฝฮฑฯ†ฮฟฯฮฌ ฯฯ…ฮธฮผฮฏฯƒฮตฯ‰ฮฝ ฯƒฯ„ฮฟ ฯ€ฯฯŒฮณฯฮฑฮผฮผฮฑ ฯ€ฮตฮปฮฌฯ„ฮท", - "l1": "ฯƒฯ…ฮฝฮดฮญฯƒฮฟฯ… ฮณฮนฮฑ ฯ€ฮตฯฮนฯƒฯƒฯŒฯ„ฮตฯฮฑ:", - "ls3": "ฯƒฯฮฝฮดฮตฯƒฮท", //m - "lu4": "ฯŒฮฝฮฟฮผฮฑ ฯ‡ฯฮฎฯƒฯ„ฮท", //m - "lp4": "ฮบฯ‰ฮดฮนฮบฯŒฯ‚ ฯ€ฯฯŒฯƒฮฒฮฑฯƒฮทฯ‚", //m - "lo3": "ฮฑฯ€ฮฟฯƒฯฮฝฮดฮตฯƒฮท ฯ„ฮฟฯ… โ€œ{0}โ€ ฮฑฯ€ฯŒ ฯ€ฮฑฮฝฯ„ฮฟฯ", //m - "lo2": "ฮฑฯ…ฯ„ฯŒ ฮธฮฑ ฯ„ฮตฯฮผฮฑฯ„ฮฏฯƒฮตฮน ฯ„ฮท ฯƒฯ…ฮฝฮตฮดฯฮฏฮฑ ฯƒฮต ฯŒฮปฮฟฯ…ฯ‚ ฯ„ฮฟฯ…ฯ‚ ฯ€ฮตฯฮนฮทฮณฮทฯ„ฮญฯ‚", //m - "m1": "ฮบฮฑฮปฯŽฯ‚ ฮฎฯฮธฮตฯ‚,", - "n1": "404 ฮดฮตฮฝ ฮฒฯฮญฮธฮทฮบฮต  โ”( ยด -`)โ”Œ", - "o1": 'ยดฮท ฮผฮฎฯ€ฯ‰ฯ‚ ฮดฮตฮฝ ฮญฯ‡ฮตฮนฯ‚ ฯ€ฯฯŒฯƒฮฒฮฑฯƒฮท -- ฮดฮฟฮบฮฏฮผฮฑฯƒฮต ฮญฮฝฮฑฮฝ ฮบฯ‰ฮดฮนฮบฯŒ ฯ€ฮฎฮณฮฑฮนฮฝฮต ฯƒฯ„ฮทฮฝ ฮฑฯฯ‡ฮนฮบฮฎ', - "p1": "403 ฮฑฯ€ฮฑฮณฮฟฯฮตฯ…ฮผฮญฮฝฮฟ  ~โ”ปโ”โ”ป", - "q1": 'ฮดฮฟฮบฮฏฮผฮฑฯƒฮต ฮญฮฝฮฑฮฝ ฮบฯ‰ฮดฮนฮบฯŒ ฯ€ฮฎฮณฮฑฮนฮฝฮต ฯƒฯ„ฮทฮฝ ฮฑฯฯ‡ฮนฮบฮฎ', - "r1": "ฯ€ฮฏฯƒฯ‰ ฯƒฯ„ฮทฮฝ ฮฑฯฯ‡ฮนฮบฮฎ", - ".s1": "ฮตฯ€ฮฑฮฝฮฌฮปฮทฯˆฮท ฯƒฮฌฯฯ‰ฯƒฮทฯ‚", - "t1": "ฮตฮฝฮญฯฮณฮตฮนฮฑ", - "u2": "ฯ‡ฯฯŒฮฝฮฟฯ‚ ฮฑฯ€ฯŒ ฯ„ฮทฮฝ ฯ„ฮตฮปฮตฯ…ฯ„ฮฑฮฏฮฑ ฮตฮณฮณฯฮฑฯ†ฮฎ ฯ„ฮฟฯ… ฮดฮนฮฑฮบฮฟฮผฮนฯƒฯ„ฮฎ$N( ฮผฮตฯ„ฮฑฯ†ฯŒฯฯ„ฯ‰ฯƒฮท / ฮผฮตฯ„ฮฟฮฝฮฟฮผฮฑฯƒฮฏฮฑ / ... )$N$N17d = 17 days$N1ฯ‰23 = 1 ฯŽฯฮฑ 23 ฮปฮตฯ€ฯ„ฮฌ$N4ฮป56 = 4 ฮปฮตฯ€ฯ„ฮฌ 56 ฮดฮตฯ…ฯ„ฮตฯฯŒฮปฮตฯ€ฯ„ฮฑ", - "v1": "ฯƒฯฮฝฮดฮตฯƒฮท", - "v2": "ฯ‡ฯฮทฯƒฮนฮผฮฟฯ€ฮฟฮฏฮทฯƒฮต ฮฑฯ…ฯ„ฯŒฮฝ ฯ„ฮฟ ฮดฮนฮฑฮบฮฟฮผฮนฯƒฯ„ฮฎ ฯƒฮฑฮฝ ฯ„ฮฟฯ€ฮนฮบฯŒ ฮดฮฏฯƒฮบฮฟ", - "w1": "ฮตฮฝฮฑฮปฮปฮฑฮณฮฎ ฯƒฮต https", - "x1": "ฮฑฮปฮปฮฑฮณฮฎ ฮบฯ‰ฮดฮนฮบฮฟฯ", - "y1": "ฮตฯ€ฮตฮพฮตฯฮณฮฑฯƒฮฏฮฑ ฮบฮฟฮนฮฝฯŒฯ‡ฯฮทฯƒฯ„ฯ‰ฮฝ ฯ†ฮฑฮบฮญฮปฯ‰ฮฝ", - "z1": "ฮพฮตฮบฮปฮตฮฏฮดฯ‰ฮผฮฑ ฮฑฯ…ฯ„ฮฟฯ ฯ„ฮฟฯ… ฮบฮฟฮนฮฝฯŒฯ‡ฯฮทฯƒฯ„ฮฟฯ… ฯ†ฮฑฮบฮญฮปฮฟฯ…:", - "ta1": "ฯƒฯ…ฮผฯ€ฮปฮฎฯฯ‰ฯƒฮต ฯ€ฯฯŽฯ„ฮฑ ฯ„ฮฟ ฮฝฮญฮฟ ฯƒฮฟฯ… ฮบฯ‰ฮดฮนฮบฯŒ", - "ta2": "ฮตฯ€ฮฑฮฝฮญฮปฮฑฮฒฮต ฮณฮนฮฑ ฮฝฮฑ ฮตฯ€ฮนฮฒฮตฮฒฮฑฮนฯŽฯƒฮตฮนฯ‚ ฯ„ฮฟ ฮฝฮญฮฟ ฮบฯ‰ฮดฮนฮบฯŒ:", - "ta3": "ฮฒฯฮญฮธฮทฮบฮต ฯ„ฯ…ฯ€ฮฟฮณฯฮฑฯ†ฮนฮบฯŒ ฮปฮฌฮธฮฟฯ‚ยท ฮดฮฟฮบฮฏฮผฮฑฯƒฮต ฮพฮฑฮฝฮฌ", - "aa1": "ฮตฮนฯƒฮตฯฯ‡ฯŒฮผฮตฮฝฮฑ ฮฑฯฯ‡ฮตฮฏฮฑ:", - "ab1": "ฮฑฯ€ฮตฮฝฮตฯฮณฮฟฯ€ฮฟฮฏฮทฯƒฮท no304", - "ac1": "ฮตฮฝฮตฯฮณฮฟฯ€ฮฟฮฏฮทฯƒฮท no304", - "ad1": "ฮท ฮตฮฝฮตฯฮณฮฟฯ€ฮฟฮฏฮทฯƒฮท ฯ„ฮฟฯ… no304 ฮธฮฑ ฮฑฯ€ฮตฮฝฮตฯฮณฮฟฯ€ฮฟฮนฮฎฯƒฮตฮน ฯŒฮปฮท ฯ„ฮทฮฝ ฯ€ฯฮฟฯƒฯ‰ฯฮนฮฝฮฎ ฮฑฯ€ฮฟฮธฮฎฮบฮตฯ…ฯƒฮทยท ฮดฮฟฮบฮฏฮผฮฑฯƒฮญ ฯ„ฮฟ ฮฑฮฝ ฯ„ฮฟ k304 ฮดฮตฮฝ ฮฎฯ„ฮฑฮฝ ฮฑฯฮบฮตฯ„ฯŒ. ฮ ฯฮฟฯƒฮฟฯ‡ฮฎ, ฮธฮฑ ฯƒฯ€ฮฑฯ„ฮฑฮปฮฎฯƒฮตฮน ฯ„ฮตฯฮฌฯƒฯ„ฮนฮฟ ฯŒฮณฮบฮฟ ฮดฮนฮบฯ„ฯ…ฮฑฮบฮฎฯ‚ ฮบฮฏฮฝฮทฯƒฮทฯ‚!", - "ae1": "ฮตฮฝฮตฯฮณฮญฯ‚ ฮผฮตฯ„ฮฑฯ†ฮฟฯฯ„ฯŽฯƒฮตฮนฯ‚:", - "af1": "ฯ€ฯฮฟฮฒฮฟฮปฮฎ ฯ€ฯฯŒฯƒฯ†ฮฑฯ„ฯ‰ฮฝ ฮผฮตฯ„ฮฑฯ†ฮฟฯฯ„ฯŽฯƒฮตฯ‰ฮฝ", - }, - "ita": { - "a1": "aggiorna", - "b1": "ciao   (non sei connesso)", - "c1": "disconnetti", - "d1": "stato", - "d2": "mostra lo stato di tutti i thread attivi", - "e1": "ricarica configurazione", - "e2": "ricarica i file di configurazione (account/volumi/flag dei volumi),\n e riesegue la scansione di tutti i volumi e2ds.\n\nNota: qualsiasi modifica alle impostazioni globali richiede un riavvio completo per avere effetto", - "f1": "puoi visualizzare:", - "g1": "puoi caricare su:", - "cc1": "altro:", - "h1": "disattiva k304", - "i1": "attiva k304", - "j1": "k304 interrompe la connessione per ogni HTTP 304. Questo aiuta contro alcuni proxy difettosi che possono bloccarsi o smettere improvvisamente di caricare pagine, ma riduce notevolmente le prestazioni", - "k1": "resetta impostazioni", - "l1": "accedi:", - "ls3": "accedi", //m - "lu4": "nome utente", //m - "lp4": "password", //m - "lo3": "disconnetti โ€œ{0}โ€ ovunque", //m - "lo2": "questo terminerร  la sessione su tutti i browser", //m - "m1": "bentornato,", - "n1": "404: file non trovato  โ”( ยด -`)โ”Œ", - "o1": "oppure forse non hai accesso? prova una password o torna alla home", - "p1": "403: accesso negato  ~โ”ปโ”โ”ป", - "q1": "prova una password o torna alla home", - "r1": "torna alla home", - ".s1": "mappa", - "t1": "azione", - "u2": "tempo dall'ultima scrittura sul server\n (caricamento / rinomina / ...)\n\n17d = 17 giorni\n1h23 = 1 ora 23 minuti\n4m56 = 4 minuti 56 secondi", - "v1": "connetti", - "v2": "usa questo server come un disco locale", - "w1": "passa a https", - "x1": "cambia password", - "y1": "le tue condivisioni", - "z1": "sblocca area:", - "ta1": "devi prima inserire una nuova password", - "ta2": "ripeti per confermare la nuova password:", - "ta3": "errore di digitazione; riprova", - "aa1": "in arrivo:", - "ab1": "disattiva no304", - "ac1": "attiva no304", - "ad1": "no304 disabilita completamente la cache. Se k304 non รจ sufficiente, prova questa opzione. Aumenterร  notevolmente il consumo di dati!", - "ae1": "in uscita:", - "af1": "mostra i file caricati di recente", - "ag1": "mostra utenti IdP conosciuti" - }, - "kor": { - "a1": "์ƒˆ๋กœ๊ณ ์นจ", - "b1": "์–ด์ด ์นœ๊ตฌ! ์ฒ˜์Œ ๋ณด๋Š” ์–ผ๊ตด์ธ๋ฐ?   (๋กœ๊ทธ์ธ๋˜์–ด ์žˆ์ง€ ์•Š์Šต๋‹ˆ๋‹ค)", - "c1": "๋กœ๊ทธ์•„์›ƒ", - "d1": "์Šคํƒ ๋คํ”„ํ•˜๊ธฐ", - "d2": "๋ชจ๋“  ํ™œ์„ฑ ์Šค๋ ˆ๋“œ์˜ ์ƒํƒœ๋ฅผ ํ‘œ์‹œํ•ฉ๋‹ˆ๋‹ค", - "e1": "์„ค์ • ๋‹ค์‹œ ๋ถˆ๋Ÿฌ์˜ค๊ธฐ", - "e2": "์„ค์ • ํŒŒ์ผ(๊ณ„์ •/๋ณผ๋ฅจ/๋ณผ๋ฅจ ํ”Œ๋ž˜๊ทธ)์„ ๋‹ค์‹œ ๋ถˆ๋Ÿฌ์˜ค๊ณ ,$N๋ชจ๋“  e2ds ๋ณผ๋ฅจ์„ ๋‹ค์‹œ ์Šค์บ”ํ•ฉ๋‹ˆ๋‹ค$N$N์ฐธ๊ณ : ์ „์—ญ ์„ค์ •์— ๋Œ€ํ•œ ๋ณ€๊ฒฝ ์‚ฌํ•ญ์€$N์ ์šฉํ•˜๋ ค๋ฉด ์ „์ฒด ์žฌ์‹œ์ž‘์ด ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค", - "f1": "ํƒ์ƒ‰ ๊ฐ€๋Šฅํ•œ ๊ณณ:", - "g1": "์—…๋กœ๋“œ ๊ฐ€๋Šฅํ•œ ๊ณณ:", - "cc1": "๊ธฐํƒ€ ํ•ญ๋ชฉ:", - "h1": "k304 ๋น„ํ™œ์„ฑํ™”", - "i1": "k304 ํ™œ์„ฑํ™”", - "j1": "k304๋ฅผ ํ™œ์„ฑํ™”ํ•˜๋ฉด ๋ชจ๋“  HTTP 304 ์‘๋‹ต ์‹œ ํด๋ผ์ด์–ธํŠธ ์—ฐ๊ฒฐ์ด ๋Š์–ด์ง‘๋‹ˆ๋‹ค. ์ด๋Š” ์ผ๋ถ€ ํ”„๋ก์‹œ๊ฐ€ ๋ฉˆ์ถ”๋Š” ํ˜„์ƒ(๊ฐ‘์ž๊ธฐ ํŽ˜์ด์ง€๊ฐ€ ๋กœ๋“œ๋˜์ง€ ์•Š์Œ)์„ ๋ฐฉ์ง€ํ•  ์ˆ˜ ์žˆ์ง€๋งŒ, ๋Œ€์‹  ์ „๋ฐ˜์ ์ธ ์†๋„๋Š” ๋А๋ ค์ง‘๋‹ˆ๋‹ค.", - "k1": "ํด๋ผ์ด์–ธํŠธ ์„ค์ • ์ดˆ๊ธฐํ™”", - "l1": "๋กœ๊ทธ์ธํ•˜๊ธฐ:", - "ls3": "๋กœ๊ทธ์ธ", //m - "lu4": "์‚ฌ์šฉ์ž ์ด๋ฆ„", //m - "lp4": "๋น„๋ฐ€๋ฒˆํ˜ธ", //m - "lo3": "{0}์„(๋ฅผ) ๋ชจ๋“  ๊ณณ์—์„œ ๋กœ๊ทธ์•„์›ƒ", //m - "lo2": "์ด ์ž‘์—…์€ ๋ชจ๋“  ๋ธŒ๋ผ์šฐ์ €์—์„œ ์„ธ์…˜์„ ์ข…๋ฃŒํ•ฉ๋‹ˆ๋‹ค", //m - "m1": "๋˜ ์˜ค์…จ๋„ค์š”,", - "n1": "404 ์ฐพ์„ ์ˆ˜ ์—†์Œ  โ”( ยด -`)โ”Œ", - "o1": "๋˜๋Š” ์ ‘๊ทผ ๊ถŒํ•œ์ด ์—†์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋น„๋ฐ€๋ฒˆํ˜ธ๋ฅผ ์ž…๋ ฅํ•˜๊ฑฐ๋‚˜ ํ™ˆ์œผ๋กœ ์ด๋™ํ•˜์„ธ์š”", - "p1": "403 ์ ‘๊ทผ ๊ธˆ์ง€  ~โ”ปโ”โ”ป", - "q1": "๋น„๋ฐ€๋ฒˆํ˜ธ๋ฅผ ์ž…๋ ฅํ•˜๊ฑฐ๋‚˜ ํ™ˆ์œผ๋กœ ์ด๋™ํ•˜์„ธ์š”", - "r1": "ํ™ˆ์œผ๋กœ ์ด๋™", - ".s1": "๋‹ค์‹œ ์Šค์บ”", - "t1": "์ž‘์—…", - "u2": "์„œ๋ฒ„์— ๋งˆ์ง€๋ง‰์œผ๋กœ ์“ฐ๊ธฐ ์ž‘์—…์„ ํ•œ ํ›„ ๊ฒฝ๊ณผ๋œ ์‹œ๊ฐ„$N(์—…๋กœ๋“œ / ์ด๋ฆ„ ๋ณ€๊ฒฝ / ๋“ฑ๋“ฑ...)$N$N17d = 17์ผ$N1h23 = 1์‹œ๊ฐ„ 23๋ถ„$N4m56 = 4๋ถ„ 56์ดˆ", - "v1": "์—ฐ๊ฒฐ", - "v2": "์ด ์„œ๋ฒ„๋ฅผ ๋กœ์ปฌ ํ•˜๋“œ๋””์Šคํฌ์ฒ˜๋Ÿผ ์‚ฌ์šฉํ•˜๊ธฐ", - "w1": "HTTPS๋กœ ์ „ํ™˜", - "x1": "๋น„๋ฐ€๋ฒˆํ˜ธ ๋ณ€๊ฒฝ", - "y1": "๊ณต์œ  ์„ค์ •", - "z1": "์ด ๊ณต์œ  ์ž ๊ธˆํ•ด์ œ:", - "ta1": "์ƒˆ ๋น„๋ฐ€๋ฒˆํ˜ธ๋ฅผ ๋จผ์ € ์ž…๋ ฅํ•˜์„ธ์š”", - "ta2": "์ƒˆ ๋น„๋ฐ€๋ฒˆํ˜ธ ํ™•์ธ์„ ์œ„ํ•ด ๋‹ค์‹œ ์ž…๋ ฅํ•˜์„ธ์š”:", - "ta3": "์˜คํƒ€๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค. ๋‹ค์‹œ ์‹œ๋„ํ•ด์ฃผ์„ธ์š”", - "aa1": "์ˆ˜์‹  ์ค‘์ธ ํŒŒ์ผ:", - "ab1": "no304 ๋น„ํ™œ์„ฑํ™”", - "ac1": "no304 ํ™œ์„ฑํ™”", - "ad1": "no304๋ฅผ ํ™œ์„ฑํ™”ํ•˜๋ฉด ๋ชจ๋“  ์บ์‹ฑ์ด ๋น„ํ™œ์„ฑํ™”๋ฉ๋‹ˆ๋‹ค. k304๋กœ ์ถฉ๋ถ„ํ•˜์ง€ ์•Š์€ ๊ฒฝ์šฐ ์‹œ๋„ํ•ด๋ณด์„ธ์š”. ๋„คํŠธ์›Œํฌ ํŠธ๋ž˜ํ”ฝ์ด ๋Œ€๋Ÿ‰์œผ๋กœ ๋‚ญ๋น„๋ฉ๋‹ˆ๋‹ค!", - "ae1": "ํ™œ์„ฑ ๋‹ค์šด๋กœ๋“œ:", - "af1": "์ตœ๊ทผ ์—…๋กœ๋“œ ๋ณด๊ธฐ", - "ag1": "IdP ์บ์‹œ ๋ณด๊ธฐ" - }, - "nld": { - "a1": "Update", - "b1": "Hallo, hoe gaat het met jou?   (Je bent niet ingelogd)", - "c1": "Uitloggen", - "d1": "Voorwaarde", - "d2": "Toont de status van alle actieve threads", - "e1": "Configuratie opnieuw laden.", - "e2": "Leest configuratiebestanden opnieuw in$N(accounts, volumes, volumeschakelaars)$Nen brengt alle e2ds-volumes in kaart$N$Nopmerking: veranderingen in globale parameters$Nvereist een volledige herstart van de server", - "f1": "Je kan het volgende lezen:", - "g1": "Je kan naar het volgende uploaden:", - "cc1": "Schakelaars en dergelijke:", - "h1": "k304 uitschakelen", - "i1": "k304 inschakelen", - "j1": "k304 verbreekt de verbinding voor elke HTTP 304. Dit helpt tegen bepaalde proxy servers die kunnen vastlopen/plotseling stoppen met het laden van pagina's, maar het vermindert ook de prestaties aanzienlijk", - "k1": "Instellingen resetten", - "l1": "Inloggen:", - "ls3": "inloggen", //m - "lu4": "gebruikersnaam", //m - "lp4": "wachtwoord", //m - "lo3": "โ€œ{0}โ€ overal afmelden", //m - "lo2": "dit zal de sessie in alle browsers beรซindigen", //m - "m1": "Welkom terug,", - "n1": "404: bestand bestaat niet  โ”( ยด -`)โ”Œ", - "o1": 'of misschien heb je geen toegang? probeer een wachtwoord of ga naar startscherm', - "p1": "403: toegang geweigerd  ~โ”ปโ”โ”ป", - "q1": 'Probeer een wachtwoord of ga naar startscherm', - "r1": "Ga naar startscherm", - ".s1": "Kaart", - "t1": "Actie", - "u2": "Tijd sinds iemand voor het laatst naar de server schreef$N( upload / naamswijziging / ... )$N$N17d = 17 dagen$N1h23 = 1 uur 23 minuten$N4m56 = 4 minuten 56 secondes", - "v1": "Verbinden", - "v2": "Gebruik deze server als een lokale harde schijf", - "w1": "Overschakelen naar https", - "x1": "Wachtwoord wijzigen", - "y1": "Jou gedeelde items", - "z1": "Ontgrendel gebied:", - "ta1": "Je moet eerst een nieuw wachtwoord invoeren", - "ta2": "Herhaal om nieuw wachtwoord te bevestigen:", - "ta3": "Typefout gevonden; probeer het opnieuw", - "aa1": "Inkomend:", - "ab1": "Schakel nr. 304 uit", - "ac1": "Schakel nr. 304 in", - "ad1": "Nr. 304 stopt al het cachegebruik. Als k304 niet voldoende was, probeer dan deze. Vermenigvuldigt het dataverbruik.!", - "ae1": "Uitgaand:", - "af1": "Recent geรผploade bestanden weergeven", - "ag1": "Bekende IdP-gebruikers weergeven", - }, - "nno": { - "a1": "oppdatรฉr", - "b1": "heisann   (du er ikkje logga inn)", - "c1": "logg ut", - "d1": "tilstand", - "d2": "vis tilstanden รฅt alle trรฅdar", - "e1": "last innst.", - "e2": "les inn konfigurasjonsfiler pรฅ nytt$N(kontoer, volum, volumbrytarar)$Nog kartlegg alle e2ds-volum$N$Nmerk: endringer i globale parametrar$Nkrev ein full restart for รฅ gjelde", - "f1": "du kan sjรฅ pรฅ:", - "g1": "du kan laste opp รฅt:", - "cc1": "brytarar og slikt:", - "h1": "skru av k304", - "i1": "skru pรฅ k304", - "j1": "k304 bryt tilkoplinga for kvar HTTP 304. Dette hjelp mot visse mellomtjenarar som kan sette seg fast / plutselig sluttar รฅ laste sider, men det sett รณg ytinga ned betydelig", - "k1": "nullstill innstillinger", - "l1": "logg inn:", - "ls3": "logg inn", - "lu4": "brukarnamn", - "lp4": "passord", - "lo3": "logg ut โ€œ{0}โ€ overalt", - "lo2": "avslutt รธkta pรฅ alle nettlesarar", - "m1": "velkomen attende,", - "n1": "404: filen finnast ikkje  โ”( ยด -`)โ”Œ", - "o1": 'eller kanskje du ikkje har hรธve? prรธv eit passord eller gรฅ heim', - "p1": "403: tilgang nektet  ~โ”ปโ”โ”ป", - "q1": 'prรธv eit passord eller gรฅ heim', - "r1": "gรฅ heim", - ".s1": "kartlegg", - "t1": "handling", - "u2": "tid sidan nokon sist skreiv รฅt serveren$N( opplastning / namnendring / ... )$N$N17d = 17 dagar$N1h23 = 1 time 23 minutt$N4m56 = 4 minutt 56 sekund", - "v1": "kople รฅt", - "v2": "bruk denne serveren som ein lokal harddisk", - "w1": "bytt รฅt https", - "x1": "bytt passord", - "y1": "dine delinger", - "z1": "lรฅs opp omrรฅde:", - "ta1": "du mรฅ skrive eit nytt passord fรธrst", - "ta2": "gjenta for รฅ stadfeste nytt passord:", - "ta3": "fant ein skrivefeil; vennligst prรธv igjen", - "aa1": "innkommande:", - "ab1": "skru av no304", - "ac1": "skru pรฅ no304", - "ad1": "no304 stoppar all bruk av cache. Hvis ikkje k304 var nok, prรธv denne. Vil mangedoble dataforbruk!", - "ae1": "utgรฅende:", - "af1": "vis nylig opplasta filer", - "ag1": "vis kjente IdP-brukarar", - }, - "pol": { - "a1": "odล›wieลผ", - "b1": "witaj, nieznajomy   (nie jesteล› zalogowany)", - "c1": "wyloguj siฤ™", - "d1": "zrzut stosu", - "d2": "pokazuje status wszystkich aktywnych wฤ…tkรณw", - "e1": "przeล‚aduj konfiguracjฤ™", - "e2": "przeล‚aduj pliki konfiguracyjne (konta/wolumeny/flagi wolumenรณw),$Ni przeskanuje wszystkie wolumeny e2ds$N$Nnotka: zmiany konfiguracji globalnej$Nwymagajฤ… peล‚nego uruchomienia ponownie serwera, aby zaczฤ™ล‚y obowiฤ…zywaฤ‡", - "f1": "moลผesz przeglฤ…daฤ‡:", - "g1": "moลผesz przesyล‚aฤ‡ do:", - "cc1": "inne:", - "h1": "wyล‚ฤ…cz k304", - "i1": "wล‚ฤ…cz k304", - "j1": "wล‚ฤ…czenie k304 bฤ™dzie odล‚ฤ…czaล‚o klienta przy kaลผdorazowym otrzymaniu kodu HTTP 304, co moลผe zapobiec wieszaniu siฤ™ wadliwych proxy, ale spowolni ogรณlne dziaล‚anie", - "k1": "zresetuj ustawienia klienta", - "l1": "zaloguj siฤ™ po wiฤ™cej:", - "ls3": "zaloguj siฤ™", //m - "lu4": "nazwa uลผytkownika", //m - "lp4": "hasล‚o", //m - "lo3": "wyloguj โ€œ{0}โ€ wszฤ™dzie", //m - "lo2": "spowoduje to zakoล„czenie sesji we wszystkich przeglฤ…darkach", //m - "m1": "Witaj,", - "n1": "404 nie znaleziono  โ”( ยด -`)โ”Œ", - "o1": 'lub moลผesz nie mieฤ‡ dostฤ™pu -- sprรณbuj wprowadziฤ‡ hasล‚o lub przejdลบ do strony gล‚รณwnej', - "p1": "403 odmowa dostฤ™pu  ~โ”ปโ”โ”ป", - "q1": 'uลผyj hasล‚a lub przejdลบ do strony gล‚รณwnej', - "r1": "idลบ do strony gล‚รณwnej", - ".s1": "przeskanuj ponownie", - "t1": "akcje", - "u2": "czas od ostatniej interakcji z serwerem$N( przesyล‚ania / zmiany nazwy / ... )$N$N17d = 17 dni$N1h23 = 1 godzina 23 minuty$N4m56 = 4 minuty 56 sekund", - "v1": "poล‚ฤ…cz", - "v2": "uลผywaj tego serwera jako dysku lokalnego", - "w1": "przejdลบ na HTTPS", - "x1": "zmieล„ hasล‚o", - "y1": "edytuj udostฤ™pnione", - "z1": "odblokuj udostฤ™pnienie:", - "ta1": "najpierw wprowadลบ nowe hasล‚o", - "ta2": "powtรณrz hasล‚o dla potwierdzenia:", - "ta3": "znaleziono literรณwkฤ™, sprรณbuj ponownie", - "aa1": "pliki przychodzฤ…ce:", - "ab1": "wyล‚ฤ…cz no304", - "ac1": "wล‚ฤ…cz no304", - "ad1": "wล‚ฤ…czenie no304 wyล‚ฤ…czy przechowywanie jakiejkolwiek pamiฤ™ci podrฤ™cznej. Zmarnuje to olbrzymiฤ… iloล›ฤ‡ ruchu sieciowego!", - "ae1": "trwajฤ…ce pobierania:", - "af1": "pokaลผ ostatnio przesล‚ane pliki", - "ag1": "pokaลผ znanych uลผytkownikรณw IdP", - }, - "por": { - "a1": "atualizar", - "b1": "olรก   (vocรช nรฃo estรก logado)", - "c1": "encerrar sessรฃo", - "d1": "despejar o estado da pilha", - "d2": "mostra o estado de todos os threads ativos", - "e1": "recarregar configuraรงรฃo", - "e2": "recarregar arquivos de configuraรงรฃo (contas/volumes/indicadores de volume),$N e reescanear todos os volumes e2ds$N$Nnota: qualquer alteraรงรฃo na configuraรงรฃo global$N requer uma reinicializaรงรฃo completa para ter efeito", - "f1": "vocรช pode navegar:", - "g1": "vocรช pode fazer upload para:", - "cc1": "outras coisas:", - "h1": "desativar k304", - "i1": "ativar k304", - "j1": "ativar k304 irรก desconectar seu cliente em cada HTTP 304, o que pode evitar que alguns proxies com erros fiquem presos (parando de carregar pรกginas de repente), mas tambรฉm irรก desacelerar as coisas em geral", - "k1": "redefinir config. de cliente", - "l1": "faรงa login para mais:", - "ls3": "fazer login", - "lu4": "nome de usuรกrio", - "lp4": "senha", - "lo3": "encerrar sessรฃo de \"{0}\" em todos os lugares", - "lo2": "isso irรก encerrar a sessรฃo em todos os navegadores", - "m1": "bem-vindo de volta,", - "n1": "404 nรฃo encontrado  โ”( ยด -`)โ”Œ", - "o1": "ou talvez vocรช nรฃo tenha acesso? -- tente com uma senha ou volte para o inรญcio", - "p1": "403 proibido  ~โ”ปโ”โ”ป", - "q1": "use uma senha ou volte para o inรญcio", - "r1": "ir para o inรญcio", - ".s1": "reescanear", - "t1": "aรงรฃo", - "u2": "tempo desde a รบltima gravaรงรฃo no servidor$N( upload / renomear / ... )$N$N17d = 17 dias$N1h23 = 1 hora 23 minutos$N4m56 = 4 minutos 56 segundos", - "v1": "conectar", - "v2": "usar este servidor como um disco rรญgido local", - "w1": "mudar para https", - "x1": "mudar senha", - "y1": "editar recursos compartilhados", - "z1": "desbloquear este recurso compartilhado:", - "ta1": "primeiro digite sua nova senha", - "ta2": "repita para confirmar a nova senha:", - "ta3": "hรก um erro; por favor, tente novamente", - "aa1": "arquivos de entrada:", - "ab1": "desativar no304", - "ac1": "ativar no304", - "ad1": "ativar no304 irรก desabilitar todo o armazenamento em cache; tente isso se k304 nรฃo for suficiente. Isso irรก desperdiรงar uma grande quantidade de trรกfego de rede!", - "ae1": "downloads ativos:", - "af1": "mostrar uploads recentes", - "ag1": "mostrar usuรกrios IdP conhecidos" - }, - "spa": { - "a1": "actualizar", - "b1": "hola   (no has iniciado sesiรณn)", - "c1": "cerrar sesiรณn", - "d1": "volcar estado de la pila", - "d2": "muestra el estado de todos los hilos activos", - "e1": "recargar configuraciรณn", - "e2": "recargar archivos de configuraciรณn (cuentas/volรบmenes/indicadores de vol.),$Ny reescanear todos los volรบmenes e2ds$N$Nnota: cualquier cambio en la configuraciรณn global$Nrequiere un reinicio completo para surtir efecto", - "f1": "puedes explorar:", - "g1": "puedes subir a:", - "cc1": "otras cosas:", - "h1": "desactivar k304", - "i1": "activar k304", - "j1": "activar k304 desconectarรก tu cliente en cada HTTP 304, lo que puede evitar que algunos proxies con errores se atasquen (dejando de cargar pรกginas de repente), pero tambiรฉn ralentizarรก las cosas en general", - "k1": "restablecer config. de cliente", - "l1": "inicia sesiรณn para mรกs:", - "ls3": "iniciar sesiรณn", //m - "lu4": "nombre de usuario", //m - "lp4": "contraseรฑa", //m - "lo3": "cerrar sesiรณn de โ€œ{0}โ€ en todas partes", //m - "lo2": "esto finalizarรก la sesiรณn en todos los navegadores", //m - "m1": "bienvenido de nuevo,", - "n1": "404 no encontrado  โ”( ยด -`)โ”Œ", - "o1": 'ยฟo quizรกs no tienes acceso? -- prueba con una contraseรฑa o vuelve al inicio', - "p1": "403 prohibido  ~โ”ปโ”โ”ป", - "q1": 'usa una contraseรฑa o vuelve al inicio', - "r1": "ir al inicio", - ".s1": "reescanear", - "t1": "acciรณn", - "u2": "tiempo desde la รบltima escritura en el servidor$N( subida / renombrar / ... )$N$N17d = 17 dรญas$N1h23 = 1 hora 23 minutos$N4m56 = 4 minutos 56 segundos", - "v1": "conectar", - "v2": "usar este servidor como un disco duro local", - "w1": "cambiar a https", - "x1": "cambiar contraseรฑa", - "y1": "editar recursos compartidos", - "z1": "desbloquear este recurso compartido:", - "ta1": "primero escribe tu nueva contraseรฑa", - "ta2": "repite para confirmar la nueva contraseรฑa:", - "ta3": "hay un error; por favor, intรฉntalo de nuevo", - "aa1": "archivos entrantes:", - "ab1": "desactivar no304", - "ac1": "activar no304", - "ad1": "activar no304 desactivarรก todo el almacenamiento en cachรฉ; prueba esto si k304 no fue suficiente. ยกEsto desperdiciarรก una gran cantidad de trรกfico de red!", - "ae1": "descargas activas:", - "af1": "mostrar subidas recientes", - "ag1": "mostrar usuarios IdP conocidos" - }, - "swe": { - "a1": "uppdatera", - "b1": "tjena frรคmling   (du รคr inte inloggad)", - "c1": "logga ut", - "d1": "dumpa stacken", - "d2": "visar tillstรฅndet pรฅ alla aktiva trรฅdar", - "e1": "ladda om konfig.", - "e2": "ladda om konfigurationsfiler (konton/volymer/volflaggor),$Noch skanna om alla e2ds-volymer$N$Nobs.: รคndrade globala instรคllningar$Nkrรคver en fullstรคndig omstart", - "f1": "du kan blรคddra:", - "g1": "du kan ladda upp till:", - "cc1": "annat:", - "h1": "avaktivera k304", - "i1": "aktivera k304", - "j1": "med k304 aktiverad kommer klienten att koppla bort sig vid varje HTTP 304-fel, vilket kan hindra vissa buggiga proxyservrar frรฅn att fastna (sidor slutar ladda), men saker kommer ocksรฅ att bli lรฅngsammare i allmรคnhet", - "k1": "รฅterstรคll klientinstรคllningar", - "l1": "logga in fรถr att se mer:", - "ls3": "logga in", //m - "lu4": "anvรคndarnamn", //m - "lp4": "lรถsenord", //m - "lo3": "logga ut โ€œ{0}โ€ รถverallt", //m - "lo2": "avsluta sessionen i alla webblรคsare", //m - "m1": "vรคlkommen tillbaka,", - "n1": "404 hittades inte  โ”( ยด -`)โ”Œ", - "o1": 'eller sรฅ har du kanske inte tillgรฅng -- prova ett lรถsenord eller รฅk hem', - "p1": "403 nekat  ~โ”ปโ”โ”ป", - "q1": 'anvรคnd ett lรถsenord eller รฅk hem', - "r1": "รฅk hem", - ".s1": "skanna om", - "t1": "รฅtgรคrd", - "u2": "tid sedan senaste serverskrivning$N( uppladdning / namnbyte / ... )$N$N17d = 17 dagar$N1h23 = 1 timme 23 minuter$N4m56 = 4 minuter 56 sekunder", - "v1": "koppla upp", - "v2": "anvรคnd denna server som en lokal disk", - "w1": "byt till https", - "x1": "byt lรถsenord", - "y1": "redigera utdelningar", - "z1": "lรฅs upp denna utdelning:", - "ta1": "fyll i ditt nya lรถsenord", - "ta2": "upprepa det nya lรถsenordet:", - "ta3": "det blev fel; vรคnligen fรถrsรถk igen", - "aa1": "inkommande filer:", - "ab1": "avaktivera no304", - "ac1": "aktivera no304", - "ad1": "detta stรคnger av all cachning; prova detta om k304 inte rรคckte till. Detta kommer att slรถsa enorma mรคngder nรคtverkstrafik!", - "ae1": "aktiva nedladdningar:", - "af1": "visa senaste uppladdningar", - "ag1": "visa idp-cache" - }, - "ukr": { - "a1": "ะพะฝะพะฒะธั‚ะธ", - "b1": "ะฟั€ะธะฒั–ั‚ะธะบ, ะฝะตะทะฝะฐะนะพะผั†ัŽ   (ะฒะธ ะฝะต ะฐะฒั‚ะพั€ะธะทะพะฒะฐะฝั–)", - "c1": "ะฒะธะนั‚ะธ", - "d1": "ั‚ั€ะฐััƒะฒะฐะฝะฝั ัั‚ะตะบะฐ", - "d2": "ะฟะพะบะฐะทัƒั” ัั‚ะฐะฝ ัƒัั–ั… ะฐะบั‚ะธะฒะฝะธั… ะฟะพั‚ะพะบั–ะฒ", - "e1": "ะฟะตั€ะตะทะฐะฒะฐะฝั‚ะฐะถะธั‚ะธ ะบะพะฝั„ั–ะณ", - "e2": "ะฟะตั€ะตะทะฐะฒะฐะฝั‚ะฐะถะธั‚ะธ ั„ะฐะนะปะธ ะบะพะฝั„ั–ะณัƒั€ะฐั†ั–ั— (ะพะฑะปั–ะบะพะฒั– ะทะฐะฟะธัะธ/ั‚ะพะผะธ/ะฟั€ะฐะฟะพั€ั†ั–),$Nั‚ะฐ ะฟะตั€ะตัะบะฐะฝัƒะฒะฐั‚ะธ ะฒัั– ั‚ะพะผะธ e2ds$N$Nัƒะฒะฐะณะฐ: ะฑัƒะดัŒ-ัะบั– ะทะผั–ะฝะธ ะณะปะพะฑะฐะปัŒะฝะธั… ะฝะฐะปะฐัˆั‚ัƒะฒะฐะฝัŒ$NะฒะธะผะฐะณะฐัŽั‚ัŒ ะฟะพะฒะฝะพะณะพ ะฟะตั€ะตะทะฐะฟัƒัะบัƒ", - "f1": "ะฒะธ ะผะพะถะตั‚ะต ะฑะฐั‡ะธั‚ะธ:", - "g1": "ะฒะธ ะผะพะถะตั‚ะต ะทะฐะฒะฐะฝั‚ะฐะถัƒะฒะฐั‚ะธ ั„ะฐะนะปะธ ะฒ:", - "cc1": "ะฒััะบะฐ ะฒััั‡ะธะฝะฐ:", - "h1": "ะฒะธะผะบะฝัƒั‚ะธ k304", - "i1": "ัƒะฒั–ะผะบะฝัƒั‚ะธ k304", - "j1": "ัƒะฒั–ะผะบะฝะตะฝะฝั k304 ะฑัƒะดะต ะฒั–ะดะบะปัŽั‡ะฐั‚ะธ ะฒะฐัˆ ะบะปั–ั”ะฝั‚ ะฟั€ะธ ะบะพะถะฝะพะผัƒ HTTP 304, ั‰ะพ ะผะพะถะต ะทะฐะฟะพะฑั–ะณั‚ะธ ะทะฐะฒะธัะฐะฝะฝัŽ ะดะตัะบะธั… ะณะปัŽั‡ะฝะธั… ะฟั€ะพะบัั– (ั€ะฐะฟั‚ะพะฒะพ ะฟะตั€ะตัั‚ะฐัŽั‚ัŒ ะทะฐะฒะฐะฝั‚ะฐะถัƒะฒะฐั‚ะธ ัั‚ะพั€ั–ะฝะบะธ), ะฐะปะต ั†ะต ั‚ะฐะบะพะถ ะทั€ะพะฑะธั‚ัŒ ัƒัะต ะฟะพะฒั–ะปัŒะฝั–ัˆะธะผ ะทะฐะณะฐะปะพะผ", - "k1": "ัะบะธะฝัƒั‚ะธ ะฝะฐะปะฐัˆั‚ัƒะฒะฐะฝะฝั ะบะปั–ั”ะฝั‚ะฐ", - "l1": "ะฐะฒั‚ะพั€ะธะทัƒะนั‚ะตััŒ ะดะปั ั–ะฝัˆะธั… ะพะฟั†ั–ะน:", - "ls3": "ัƒะฒั–ะนั‚ะธ", //m - "lu4": "ั–ะผ'ั ะบะพั€ะธัั‚ัƒะฒะฐั‡ะฐ", //m - "lp4": "ะฟะฐั€ะพะปัŒ", //m - "lo3": "ะฒะธะนั‚ะธ ะท ะพะฑะปั–ะบะพะฒะพะณะพ ะทะฐะฟะธััƒ โ€œ{0}โ€ ะฒััŽะดะธ", //m - "lo2": "ั†ะต ะทะฐะฒะตั€ัˆะธั‚ัŒ ัะตะฐะฝั ัƒ ะฒัั–ั… ะฑั€ะฐัƒะทะตั€ะฐั…", //m - "m1": "ะท ะฟะพะฒะตั€ะฝะตะฝะฝัะผ,", - "n1": "404 ะฝะต ะทะฝะฐะนะดะตะฝะพ  โ”( ยด -`)โ”Œ", - "o1": 'ะฐะฑะพ ัƒ ะฒะฐั ะฝะตะผะฐั” ะดะพัั‚ัƒะฟัƒ -- ัะฟั€ะพะฑัƒะนั‚ะต ะฐะฒั‚ะพั€ะธะทัƒะฒะฐั‚ะธัั ะฐะฑะพ ะฟะพะฒะตั€ะฝัƒั‚ะธัั ะฝะฐ ะณะพะปะพะฒะฝัƒ', - "p1": "403 ะดะพัั‚ัƒะฟ ะทะฐะฑะพั€ะพะฝะตะฝะธะน  ~โ”ปโ”โ”ป", - "q1": 'ะฐะฒั‚ะพั€ะธะทัƒะนั‚ะตััŒ ะฐะฑะพ ะฟะพะฒะตั€ะฝั–ั‚ัŒัั ะฝะฐ ะณะพะปะพะฒะฝัƒ', - "r1": "ะฟะพะฒะตั€ะฝัƒั‚ะธัั ะฝะฐ ะณะพะปะพะฒะฝัƒ", - ".s1": "ะฟะตั€ะตัะบะฐะฝัƒะฒะฐั‚ะธ", - "t1": "ะดั–ั", - "u2": "ั‡ะฐั ะท ะพัั‚ะฐะฝะฝัŒะพะณะพ ะทะฐะฟะธััƒ ัะตั€ะฒะตั€ะฐ$N( ะทะฐะฒะฐะฝั‚ะฐะถะตะฝะฝั / ะฟะตั€ะตะนะผะตะฝัƒะฒะฐะฝะฝั / ... )$N$N17d = 17 ะดะฝั–ะฒ$N1h23 = 1 ะณะพะดะธะฝะฐ 23 ั…ะฒะธะปะธะฝะธ$N4m56 = 4 ั…ะฒะธะปะธะฝะธ 56 ัะตะบัƒะฝะด", - "v1": "ะฟั–ะดะบะปัŽั‡ะธั‚ะธ", - "v2": "ะฒะธะบะพั€ะธัั‚ะพะฒัƒะฒะฐั‚ะธ ั†ะตะน ัะตั€ะฒะตั€ ัะบ ะปะพะบะฐะปัŒะฝะธะน HDD", - "w1": "ะฟะตั€ะตะนั‚ะธ ะฝะฐ https", - "x1": "ะทะผั–ะฝะธั‚ะธ ะฟะฐั€ะพะปัŒ", - "y1": "ะบะตั€ัƒะฒะฐะฝะฝั ะดะพัั‚ัƒะฟะพะผ", - "z1": "ั€ะพะทะฑะปะพะบัƒะฒะฐั‚ะธ:", - "ta1": "ัะฟะพั‡ะฐั‚ะบัƒ ะทะฐะฟะพะฒะฝั–ั‚ัŒ ะฒะฐัˆ ะฝะพะฒะธะน ะฟะฐั€ะพะปัŒ", - "ta2": "ะฟะพะฒั‚ะพั€ั–ั‚ัŒ ะดะปั ะฟั–ะดั‚ะฒะตั€ะดะถะตะฝะฝั ะฝะพะฒะพะณะพ ะฟะฐั€ะพะปั:", - "ta3": "ะพะฟะธัะบะฐ; ัะฟั€ะพะฑัƒะนั‚ะต ะทะฝะพะฒัƒ", - "aa1": "ะฒั…ั–ะดะฝั– ั„ะฐะนะปะธ:", - "ab1": "ะฒะธะผะบะฝัƒั‚ะธ no304", - "ac1": "ัƒะฒั–ะผะบะฝัƒั‚ะธ no304", - "ad1": "ัƒะฒั–ะผะบะฝะตะฝะฝั no304 ะฒะธะผะบะฝะต ะฒัะต ะบะตัˆัƒะฒะฐะฝะฝั; ัะฟั€ะพะฑัƒะนั‚ะต ั†ะต, ัะบั‰ะพ k304 ะฑัƒะปะพ ะฝะตะดะพัั‚ะฐั‚ะฝัŒะพ. ะฆะต ะฒะธั‚ั€ะฐั‚ะธั‚ัŒ ะฒะตะปะธั‡ะตะทะฝัƒ ะบั–ะปัŒะบั–ัั‚ัŒ ะผะตั€ะตะถะตะฒะพะณะพ ั‚ั€ะฐั„ั–ะบัƒ!", - "ae1": "ะฐะบั‚ะธะฒะฝั– ะทะฐะฒะฐะฝั‚ะฐะถะตะฝะฝั:", - "af1": "ะฟะพะบะฐะทะฐั‚ะธ ะฝะตั‰ะพะดะฐะฒะฝั– ะทะฐะฒะฐะฝั‚ะฐะถะตะฝะฝั", - "ag1": "ะฟะพะบะฐะทะฐั‚ะธ ะฒั–ะดะพะผะธั… IdP-ะบะพั€ะธัั‚ัƒะฒะฐั‡ั–ะฒ" - }, - "rus": { - "a1": "ะพะฑะฝะพะฒะธั‚ัŒ", - "b1": "ะฟั€ะธะฒะตั‚ะธะบ, ะฝะตะทะฝะฐะบะพะผะตั†   (ะฒั‹ ะฝะต ะฐะฒั‚ะพั€ะธะทะพะฒะฐะฝั‹)", - "c1": "ะฒั‹ะนั‚ะธ", - "d1": "ั‚ั€ะฐััะธั€ะพะฒะบะฐ ัั‚ะตะบะฐ", - "d2": "ะฟะพะบะฐะทั‹ะฒะฐะตั‚ ัะพัั‚ะพัะฝะธะต ะฒัะตั… ะฐะบั‚ะธะฒะฝั‹ั… ะฟะพั‚ะพะบะพะฒ", - "e1": "ะฟะตั€ะตะทะฐะณั€ัƒะทะธั‚ัŒ ะบะพะฝั„ะธะณ", - "e2": "ะฟะตั€ะตะทะฐะณั€ัƒะทะธั‚ัŒ ั„ะฐะนะปั‹ ะบะพะฝั„ะธะณะฐ (ะฐะบะบะฐัƒะฝั‚ั‹/ั…ั€ะฐะฝะธะปะธั‰ะฐ/ั„ะปะฐะณะธ),$Nะธ ะฟะตั€ะตัะบะฐะฝะธั€ะพะฒะฐั‚ัŒ ะฒัะต ั…ั€ะฐะฝะธะปะธั‰ะฐ ั ั„ะปะฐะณะพะผ e2ds$N$Nะฒะฝะธะผะฐะฝะธะต: ะธะทะผะตะฝะตะฝะธั ะณะปะพะฑะฐะปัŒะฝั‹ั… ะฝะฐัั‚ั€ะพะตะบ$Nั‚ั€ะตะฑัƒัŽั‚ ะฟะพะปะฝะพะณะพ ะฟะตั€ะตะทะฐะฟัƒัะบะฐ ัะตั€ะฒะตั€ะฐ", - "f1": "ะฒั‹ ะผะพะถะตั‚ะต ะฒะธะดะตั‚ัŒ:", - "g1": "ะฒั‹ ะผะพะถะตั‚ะต ะทะฐะณั€ัƒะถะฐั‚ัŒ ั„ะฐะนะปั‹ ะฒ:", - "cc1": "ะฒััะบะฐั ะฒััั‡ะธะฝะฐ:", - "h1": "ะพั‚ะบะปัŽั‡ะธั‚ัŒ k304", - "i1": "ะฒะบะปัŽั‡ะธั‚ัŒ k304", - "j1": "ะฒะบะปัŽั‡ั‘ะฝะฝั‹ะน k304 ะฑัƒะดะตั‚ ะพั‚ะบะปัŽั‡ะฐั‚ัŒ ะฒะฐั ะฟั€ะธ ะฟะพะปัƒั‡ะตะฝะธะธ HTTP 304, ั‡ั‚ะพ ะผะพะถะตั‚ ะฟะพะผะพั‡ัŒ ะฟั€ะธ ั€ะฐะฑะพั‚ะต ั ะฝะตะบะพั‚ะพั€ั‹ะผะธ ะณะปัŽั‡ะฝั‹ะผะธ ะฟั€ะพะบัะธ (ะฟะตั€ะตัั‚ะฐัŽั‚ ะทะฐะณั€ัƒะถะฐั‚ัŒัั ัั‚ั€ะฐะฝะธั†ั‹), ะฝะพ ัั‚ะพ ั‚ะฐะบะถะต ัะดะตะปะฐะตั‚ ั€ะฐะฑะพั‚ัƒ ะบะปะธะตะฝั‚ะฐ ะผะตะดะปะตะฝะฝะตะต", - "k1": "ัะฑั€ะพัะธั‚ัŒ ะปะพะบะฐะปัŒะฝั‹ะต ะฝะฐัั‚ั€ะพะนะบะธ", - "l1": "ะฐะฒั‚ะพั€ะธะทัƒะนั‚ะตััŒ ะดะปั ะดั€ัƒะณะธั… ะพะฟั†ะธะน:", - "ls3": "ะฒะพะนั‚ะธ", //m - "lu4": "ะธะผั ะฟะพะปัŒะทะพะฒะฐั‚ะตะปั", //m - "lp4": "ะฟะฐั€ะพะปัŒ", //m - "lo3": "ะฒั‹ะนั‚ะธ ะธะท โ€œ{0}โ€ ะฒะตะทะดะต", //m - "lo2": "ัั‚ะพ ะทะฐะฒะตั€ัˆะธั‚ ัะตะฐะฝั ะฒะพ ะฒัะตั… ะฑั€ะฐัƒะทะตั€ะฐั…", //m - "m1": "ั ะฒะพะทะฒั€ะฐั‰ะตะฝะธะตะผ,", - "n1": "404 ะฝะต ะฝะฐะนะดะตะฝะพ  โ”( ยด -`)โ”Œ", - "o1": 'ะธะปะธ ัƒ ะฒะฐั ะฝะตั‚ ะดะพัั‚ัƒะฟะฐ -- ะฟะพะฟั€ะพะฑัƒะนั‚ะต ะฐะฒั‚ะพั€ะธะทะพะฒะฐั‚ัŒัั ะธะปะธ ะฒะตั€ะฝัƒั‚ัŒัั ะฝะฐ ะณะปะฐะฒะฝัƒัŽ', - "p1": "403 ะดะพัั‚ัƒะฟ ะทะฐะฟั€ะตั‰ั‘ะฝ  ~โ”ปโ”โ”ป", - "q1": 'ะฐะฒั‚ะพั€ะธะทัƒะนั‚ะตััŒ ะธะปะธ ะฒะตั€ะฝะธั‚ะตััŒ ะฝะฐ ะณะปะฐะฒะฝัƒัŽ', - "r1": "ะฒะตั€ะฝัƒั‚ัŒัั ะฝะฐ ะณะปะฐะฒะฝัƒัŽ", - ".s1": "ะฟะตั€ะตัะบะฐะฝะธั€ะพะฒะฐั‚ัŒ", - "t1": "ะดะตะนัั‚ะฒะธั", - "u2": "ะฒั€ะตะผั ั ะฟะพัะปะตะดะฝะตะน ะทะฐะฟะธัะธ ะฝะฐ ัะตั€ะฒะตั€$N( ะทะฐะณั€ัƒะทะบะฐ / ะฟะตั€ะตะธะผะตะฝะพะฒะฐะฝะธะต / ... )$N$N17d = 17 ะดะฝะตะน$N1h23 = 1 ั‡ะฐั 23 ะผะธะฝัƒั‚$N4m56 = 4 ะผะธะฝัƒั‚ 56 ัะตะบัƒะฝะด", - "v1": "ะฟะพะดะบะปัŽั‡ะธั‚ัŒ", - "v2": "ะธัะฟะพะปัŒะทะพะฒะฐั‚ัŒ ัะตั€ะฒะตั€ ะบะฐะบ ะปะพะบะฐะปัŒะฝั‹ะน ะดะธัะบ", - "w1": "ะฟะตั€ะตะนั‚ะธ ะฝะฐ https", - "x1": "ะฟะพะผะตะฝัั‚ัŒ ะฟะฐั€ะพะปัŒ", - "y1": "ัƒะฟั€ะฐะฒะปะตะฝะธะต ะดะพัั‚ัƒะฟะพะผ", - "z1": "ั€ะฐะทะฑะปะพะบะธั€ะพะฒะฐั‚ัŒ:", - "ta1": "ัะฝะฐั‡ะฐะปะฐ ะฒะฒะตะดะธั‚ะต ัะฒะพะน ะฝะพะฒั‹ะน ะฟะฐั€ะพะปัŒ", - "ta2": "ะฟะพะฒั‚ะพั€ะธั‚ะต ะฝะพะฒั‹ะน ะฟะฐั€ะพะปัŒ:", - "ta3": "ะพะฟะตั‡ะฐั‚ะบะฐ; ะฟะพะฟั€ะพะฑัƒะนั‚ะต ัะฝะพะฒะฐ", - "aa1": "ะฒั…ะพะดัั‰ะธะต ั„ะฐะนะปั‹:", - "ab1": "ะพั‚ะบะปัŽั‡ะธั‚ัŒ no304", - "ac1": "ะฒะบะปัŽั‡ะธั‚ัŒ no304", - "ad1": "ะฒะบะปัŽั‡ั‘ะฝะฝั‹ะน no304 ะฟะพะปะฝะพัั‚ัŒัŽ ะพั‚ะบะปัŽั‡ะธั‚ ั…ะตัˆะธั€ะพะฒะฐะฝะธะต; ะธัะฟะพะปัŒะทัƒะนั‚ะต, ะตัะปะธ k304 ะฝะต ะฟะพะผะพะณ. ะกะธะปัŒะฝะพ ัƒะฒะตะปะธั‡ะธั‚ ะพะฑัŠั‘ะผ ั‚ั€ะฐั„ะธะบะฐ!", - "ae1": "ะฐะบั‚ะธะฒะฝั‹ะต ัะบะฐั‡ะธะฒะฐะฝะธั:", - "af1": "ะฟะพะบะฐะทะฐั‚ัŒ ะฝะตะดะฐะฒะฝะธะต ะทะฐะณั€ัƒะทะบะธ", - "ag1": "ะฟะพะบะฐะทะฐั‚ัŒ ะธะทะฒะตัั‚ะฝั‹ั… IdP-ะฟะพะปัŒะทะพะฒะฐั‚ะตะปะตะน", - }, + "nop": "ERROR: Password cannot be blank", + "nou": "ERROR: Username and/or password cannot be blank", + } }; if (window.langmod) langmod(); -var d = Ls[sread("cpp_lang", Object.keys(Ls)) || lang] || - Ls.eng || Ls.nor || Ls.chi; +var d = (Ls[lang] || Ls.eng).splash; +if (Ls.eng && d !== Ls.eng.splash) + for (var k in Ls.eng.splash) + if (d[k] === undefined) + d[k] = Ls.eng.splash[k]; d.wb = d.w; @@ -893,8 +105,25 @@ if (/\&re=/.test('' + location)) ebi('x').onclick = function (e) { ev(e); if (!pwi.value) - return redo(d.ta1); + return ebi('lm').innerHTML = d.ta1; modal.prompt(d.ta2, "y", mok, null, stars); }; })(); + +if (ebi('lf')) + ebi('lf').onsubmit = function() { + var un = ebi('lu'); + if (ebi('lp').value && (!un || un.value)) + return true; + ebi('lm').innerHTML = un ? d.nou : d.nop; + return false; + }; + +if (ebi('lp')) + ebi('lp').oninput = function() { + ebi('lm').innerHTML = this.value.length <= 64 ? + '' : 'ERROR: Password too long (max=64)'; + }; + +J_SPL = 2; diff --git a/copyparty/web/svcs.html b/copyparty/web/svcs.html index f63e670f..98348981 100644 --- a/copyparty/web/svcs.html +++ b/copyparty/web/svcs.html @@ -10,7 +10,7 @@ -{{- html_head }} +{{ html_head }} @@ -64,7 +64,7 @@
  • old version of rclone? replace all = with   (space)
  • -

    if you want to use the native WebDAV client in windows instead (slow and buggy), first run webdav-cfg.bat to remove the 47 MiB filesize limit (also fixes latency and password login), then connect:

    +

    if you want to use the native WebDAV client in windows instead (slow and buggy), first run webdav-cfg.bat to remove the 47 MiB filesize limit (also fixes latency and password login), then connect:

                     {%- if un %}
                     net use w: http{{ s }}://{{ ep }}/{{ rvp }}{% if accs %} {{ pw }} /user:{{ b_un }}{% endif %}
    @@ -362,6 +362,11 @@ document.documentElement.className = (STG && STG.cpp_thm) || "{{ args.theme }}";
     {%- if js %}
     
     {%- endif %}
    +
     
     
     
    diff --git a/copyparty/web/svcs.js b/copyparty/web/svcs.js
    index 0b0f6b91..e34ed949 100644
    --- a/copyparty/web/svcs.js
    +++ b/copyparty/web/svcs.js
    @@ -1,3 +1,7 @@
    +"use strict";
    +
    +var J_SVC = 1;
    +
     var oa = QSA('pre');
     for (var a = 0; a < oa.length; a++) {
         var html = oa[a].innerHTML,
    @@ -104,3 +108,5 @@ ebi('qr').onclick = function () {
         var txt = esc(url) + '';
         modal.alert(txt);
     };
    +
    +J_SVC = 2;
    diff --git a/copyparty/web/tl/chi.js b/copyparty/web/tl/chi.js
    new file mode 100644
    index 00000000..fdaca92e
    --- /dev/null
    +++ b/copyparty/web/tl/chi.js
    @@ -0,0 +1,710 @@
    +
    +// ไปฅ //m ็ป“ๅฐพ็š„่กŒๆ˜ฏๆœช็ป้ชŒ่ฏ็š„ๆœบๅ™จ็ฟป่ฏ‘
    +
    +Ls.chi = {
    +	"tt": "ไธญๆ–‡",
    +
    +	"cols": {
    +		"c": "ๆ“ไฝœๆŒ‰้’ฎ",
    +		"dur": "ๆŒ็ปญๆ—ถ้—ด",
    +		"q": "่ดจ้‡ / ๆฏ”็‰น็އ",
    +		"Ac": "้Ÿณ้ข‘็ผ–็ ",
    +		"Vc": "่ง†้ข‘็ผ–็ ",
    +		"Fmt": "ๆ ผๅผ / ๅฎนๅ™จ",
    +		"Ahash": "้Ÿณ้ข‘ๆ ก้ชŒๅ’Œ",
    +		"Vhash": "่ง†้ข‘ๆ ก้ชŒๅ’Œ",
    +		"Res": "ๅˆ†่พจ็އ",
    +		"T": "ๆ–‡ไปถ็ฑปๅž‹",
    +		"aq": "้Ÿณ้ข‘่ดจ้‡ / ๆฏ”็‰น็އ",
    +		"vq": "่ง†้ข‘่ดจ้‡ / ๆฏ”็‰น็އ",
    +		"pixfmt": "ๅญ้‡‡ๆ ท / ๅƒ็ด ็ป“ๆž„",
    +		"resw": "ๆฐดๅนณๅˆ†่พจ็އ",
    +		"resh": "ๅž‚็›ดๅˆ†่พจ็އ",
    +		"chs": "้Ÿณ้ข‘้ข‘้“",
    +		"hz": "้‡‡ๆ ท็އ",
    +	},
    +
    +	"hks": [
    +		[
    +			"misc",
    +			["ESC", "ๅ…ณ้—ญๅ„็ง็ช—ๅฃ"],
    +
    +			"file-manager",
    +			["G", "ๅˆ‡ๆขๅˆ—่กจ / ็ฝ‘ๆ ผ่ง†ๅ›พ"],
    +			["T", "ๅˆ‡ๆข็ผฉ็•ฅๅ›พ / ๅ›พๆ ‡"],
    +			["โ‡ง A/D", "็ผฉ็•ฅๅ›พๅคงๅฐ"],
    +			["ctrl-K", "ๅˆ ้™ค้€‰ไธญ้กน"],
    +			["ctrl-X", "ๅ‰ชๅˆ‡้€‰ไธญ้กน"],
    +			["ctrl-C", "ๅคๅˆถ้€‰ไธญ้กน"], //m
    +			["ctrl-V", "็ฒ˜่ดดๅˆฐๆ–‡ไปถๅคน"],
    +			["Y", "ไธ‹่ฝฝ้€‰ไธญ้กน"],
    +			["F2", "้‡ๅ‘ฝๅ้€‰ไธญ้กน"],
    +
    +			"file-list-sel",
    +			["space", "ๅˆ‡ๆขๆ–‡ไปถ้€‰ๆ‹ฉ"],
    +			["โ†‘/โ†“", "็งปๅŠจ้€‰ๆ‹ฉๅ…‰ๆ ‡"],
    +			["ctrl โ†‘/โ†“", "็งปๅŠจๅ…‰ๆ ‡ๅ’Œ่ง†ๅ›พ"],
    +			["โ‡ง โ†‘/โ†“", "้€‰ๆ‹ฉไธŠไธ€ไธช/ไธ‹ไธ€ไธชๆ–‡ไปถ"],
    +			["ctrl-A", "้€‰ๆ‹ฉๆ‰€ๆœ‰ๆ–‡ไปถ / ๆ–‡ไปถๅคน"]
    +		], [
    +			"navigation",
    +			["B", "ๅˆ‡ๆข้ขๅŒ…ๅฑ‘ๅฏผ่ˆช / ๅฏผ่ˆช็ช—ๆ ผ"],
    +			["I/K", "ๅ‰ไธ€ไธช/ไธ‹ไธ€ไธชๆ–‡ไปถๅคน"],
    +			["M", "็ˆถๆ–‡ไปถๅคน๏ผˆๆˆ–ๆŠ˜ๅ ๅฝ“ๅ‰ๆ–‡ไปถๅคน๏ผ‰"],
    +			["V", "ๅˆ‡ๆขๅฏผ่ˆช็ช—ๆ ผไธญ็š„ๆ–‡ไปถๅคน / ๆ–‡ๆœฌๆ–‡ไปถ"],
    +			["A/D", "ๅฏผ่ˆช็ช—ๆ ผๅคงๅฐ"]
    +		], [
    +			"audio-player",
    +			["J/L", "ไธŠไธ€้ฆ–/ไธ‹ไธ€้ฆ–ๆญŒๆ›ฒ"],
    +			["U/O", "่ทณ่ฟ‡10็ง’ๅ‘ๅ‰/ๅ‘ๅŽ"],
    +			["0..9", "่ทณ่ฝฌๅˆฐ0%..90%"],
    +			["P",  "ๆ’ญๆ”พ/ๆš‚ๅœ๏ผˆไนŸๅฏไปฅๅฏๅŠจ๏ผ‰"],
    +			["S", "้€‰ๆ‹ฉๆญฃๅœจๆ’ญๆ”พ็š„ๆญŒๆ›ฒ"], //m
    +			["Y", "ไธ‹่ฝฝๆญŒๆ›ฒ"]
    +		], [
    +			"image-viewer",
    +			["J/L, โ†/โ†’", "ไธŠไธ€ๅผ /ไธ‹ไธ€ๅผ ๅ›พ็‰‡"],
    +			["Home/End", "็ฌฌไธ€ๅผ /ๆœ€ๅŽไธ€ๅผ ๅ›พ็‰‡"],
    +			["F", "ๅ…จๅฑ"],
    +			["R", "้กบๆ—ถ้’ˆๆ—‹่ฝฌ"],
    +			["โ‡ง R", "้€†ๆ—ถ้’ˆๆ—‹่ฝฌ"],
    +			["S", "้€‰ๆ‹ฉๅ›พ็‰‡"], //m
    +			["Y", "ไธ‹่ฝฝๅ›พ็‰‡"]
    +		], [
    +			"video-player",
    +			["U/O", "่ทณ่ฟ‡10็ง’ๅ‘ๅ‰/ๅ‘ๅŽ"],
    +			["P/K/Space", "ๆ’ญๆ”พ/ๆš‚ๅœ"],
    +			["C", "็ปง็ปญๆ’ญๆ”พไธ‹ไธ€ๆฎต"],
    +			["V", "ๅพช็Žฏ"],
    +			["M", "้™้Ÿณ"],
    +			["[ and ]", "่ฎพ็ฝฎๅพช็ŽฏๅŒบ้—ด"]
    +		], [
    +			"textfile-viewer",
    +			["I/K", "ๅ‰ไธ€ไธช/ไธ‹ไธ€ไธชๆ–‡ไปถ"],
    +			["M", "ๅ…ณ้—ญๆ–‡ๆœฌๆ–‡ไปถ"],
    +			["E", "็ผ–่พ‘ๆ–‡ๆœฌๆ–‡ไปถ"],
    +			["S", "้€‰ๆ‹ฉๆ–‡ไปถ๏ผˆ็”จไบŽๅ‰ชๅˆ‡/้‡ๅ‘ฝๅ๏ผ‰"],
    +			["Y", "ไธ‹่ฝฝๆ–‡ๆœฌๆ–‡ไปถ"], //m
    +			["โ‡ง J", "็พŽๅŒ–json"], //m
    +		]
    +	],
    +
    +	"m_ok": "็กฎๅฎš",
    +	"m_ng": "ๅ–ๆถˆ",
    +
    +	"enable": "ๅฏ็”จ",
    +	"danger": "ๅฑ้™ฉ",
    +	"clipped": "ๅทฒๅคๅˆถๅˆฐๅ‰ช่ดดๆฟ",
    +
    +	"ht_s1": "็ง’",
    +	"ht_s2": "็ง’",
    +	"ht_m1": "ๅˆ†",
    +	"ht_m2": "ๅˆ†",
    +	"ht_h1": "ๆ—ถ",
    +	"ht_h2": "ๆ—ถ",
    +	"ht_d1": "ๅคฉ",
    +	"ht_d2": "ๅคฉ",
    +	"ht_and": " ๅ’Œ ",
    +
    +	"goh": "ๆŽงๅˆถ้ขๆฟ",
    +	"gop": 'ๅ‰ไธ€้กน">pre',
    +	"gou": '้กถ้ƒจ">up',
    +	"gon": 'ไธ‹ไธ€้กน">next',
    +	"logout": " ็™ปๅ‡บ",
    +	"login": "็™ปๅฝ•", //m
    +	"access": " ่ฎฟ้—ฎ",
    +	"ot_close": "ๅ…ณ้—ญๅญ่œๅ•",
    +	"ot_search": "ๆŒ‰ๅฑžๆ€งใ€่ทฏๅพ„/ๅ็งฐใ€้Ÿณไนๆ ‡็ญพๆˆ–ไธŠ่ฟฐๅ†…ๅฎน็š„ไปปๆ„็ป„ๅˆๆœ็ดขๆ–‡ไปถ$N$N<code>foo bar</code> = ๅฟ…้กปๅŒ…ๅซ ยซfooยป ๅ’Œ ยซbarยป,$N<code>foo -bar</code> = ๅŒ…ๅซ ยซfooยป ่€ŒไธๅŒ…ๅซ ยซbarยป,$N<code>^yana .opus$</code> = ไปฅ ยซyamaยป ไธบๅผ€ๅคด็š„ ยซopusยป ๆ–‡ไปถ$N<code>"try unite"</code> = ๆญฃๅฅฝๅŒ…ๅซ ยซtry uniteยป$N$Nๆ—ถ้—ดๆ ผๅผไธบ iso-8601, ๆฏ”ๅฆ‚:$N<code>2009-12-31</code> or <code>2020-09-12 23:30:00</code>",
    +	"ot_unpost": "ๅ–ๆถˆๅ‘ๅธƒ๏ผšๅˆ ้™คๆœ€่ฟ‘ไธŠไผ ็š„ๅ†…ๅฎน๏ผŒๆˆ–ไธญๆญขๆœชๅฎŒๆˆ็š„ๅ†…ๅฎน",
    +	"ot_bup": "bup๏ผšๅŸบ็ก€ไธŠไผ ๅ™จ๏ผŒ็”š่‡ณๆ”ฏๆŒ Netscape 4.0",
    +	"ot_mkdir": "mkdir๏ผšๅˆ›ๅปบๆ–ฐ็›ฎๅฝ•",
    +	"ot_md": "new-file๏ผšๅˆ›ๅปบๆ–ฐ็š„ๆ–‡ๆœฌๆ–‡ไปถ", //m
    +	"ot_msg": "msg๏ผšๅ‘ๆœๅŠกๅ™จๆ—ฅๅฟ—ๅ‘้€ๆถˆๆฏ",
    +	"ot_mp": "ๅช’ไฝ“ๆ’ญๆ”พๅ™จ้€‰้กน",
    +	"ot_cfg": "้…็ฝฎ้€‰้กน",
    +	"ot_u2i": 'up2k๏ผšไธŠไผ ๆ–‡ไปถ๏ผˆๅฆ‚ๆžœไฝ ๆœ‰ๅ†™ๅ…ฅๆƒ้™๏ผ‰๏ผŒๆˆ–ๅˆ‡ๆขๅˆฐๆœ็ดขๆจกๅผไปฅๆŸฅ็œ‹ๆ–‡ไปถๆ˜ฏๅฆๅญ˜ๅœจไบŽๆœๅŠกๅ™จไธŠ,$N$NไธŠไผ ๆ˜ฏๅฏๆขๅค็š„๏ผŒๅคš็บฟ็จ‹็š„๏ผŒไฟ็•™ๆ–‡ไปถๆ—ถ้—ดๆˆณ๏ผŒไฝ†ๆฏ” [๐ŸŽˆ] ๏ผˆๅŸบ็ก€ไธŠไผ ๅ™จ๏ผ‰ๅ ็”จ ๆ›ดๅคš็š„CPU

    ไธŠไผ ่ฟ‡็จ‹ไธญ๏ผŒๆญคๅ›พๆ ‡ไผšๅ˜ๆˆ่ฟ›ๅบฆๆŒ‡็คบๅ™จ๏ผ', + "ot_u2w": 'up2k๏ผšๅธฆๆœ‰ๆขๅคๆ”ฏๆŒ็š„ๆ–‡ไปถไธŠไผ ๏ผˆๅ…ณ้—ญๆต่งˆๅ™จๅŽ๏ผŒ้‡ๆ–ฐไธŠไผ ็›ธๅŒๆ–‡ไปถ๏ผ‰$N$Nๅคš็บฟ็จ‹็š„๏ผŒๆ–‡ไปถๆ—ถ้—ดๆˆณๅพ—ไปฅไฟ็•™๏ผŒไฝ†ๆฏ” [๐ŸŽˆ]  ๏ผˆๅŸบ็ก€ไธŠไผ ๅ™จ๏ผ‰ไฝฟ็”จๆ›ดๅคšCPU

    ไธŠไผ ่ฟ‡็จ‹ไธญ๏ผŒ่ฟ™ไธชๅ›พๆ ‡ไผšๅ˜ๆˆ่ฟ›ๅบฆๆŒ‡็คบๅ™จ๏ผ', + "ot_noie": '่ฏทไฝฟ็”จ Chrome / Firefox / Edge', + + "ab_mkdir": "ๅˆ›ๅปบ็›ฎๅฝ•", + "ab_mkdoc": "ๆ–ฐๅปบๆ–‡ๆœฌๆ–‡ไปถ", //m + "ab_msg": "ๅ‘้€ๆถˆๆฏๅˆฐๆœๅŠกๅ™จๆ—ฅๅฟ—", + + "ay_path": "่ทณ่ฝฌๅˆฐๆ–‡ไปถๅคน", + "ay_files": "่ทณ่ฝฌๅˆฐๆ–‡ไปถ", + + "wt_ren": "้‡ๅ‘ฝๅ้€‰ไธญ็š„้กน็›ฎ$Nๅฟซๆท้”ฎ: F2", + "wt_del": "ๅˆ ้™ค้€‰ไธญ็š„้กน็›ฎ$Nๅฟซๆท้”ฎ: ctrl-K", + "wt_cut": "ๅ‰ชๅˆ‡้€‰ไธญ็š„้กน็›ฎ<small>๏ผˆ็„ถๅŽ็ฒ˜่ดดๅˆฐๅ…ถไป–ๅœฐๆ–น๏ผ‰</small>$Nๅฟซๆท้”ฎ: ctrl-X", + "wt_cpy": "ๅฐ†้€‰ไธญ็š„้กน็›ฎๅคๅˆถๅˆฐๅ‰ช่ดดๆฟ<small>๏ผˆ็„ถๅŽ็ฒ˜่ดดๅˆฐๅ…ถไป–ๅœฐๆ–น๏ผ‰</small>$Nๅฟซๆท้”ฎ: ctrl-C", //m + "wt_pst": "็ฒ˜่ดดไน‹ๅ‰ๅ‰ชๅˆ‡/ๅคๅˆถ็š„้€‰ๆ‹ฉ$Nๅฟซๆท้”ฎ: ctrl-V", + "wt_selall": "้€‰ๆ‹ฉๆ‰€ๆœ‰ๆ–‡ไปถ$Nๅฟซๆท้”ฎ: ctrl-A๏ผˆๅฝ“ๆ–‡ไปถ่ขซ่š็„ฆๆ—ถ๏ผ‰", + "wt_selinv": "ๅ่ฝฌ้€‰ๆ‹ฉ", + "wt_zip1": "ๅฐ†ๆญคๆ–‡ไปถๅคนไธ‹่ฝฝไธบๅฝ’ๆกฃๆ–‡ไปถ", //m + "wt_selzip": "ๅฐ†้€‰ๆ‹ฉไธ‹่ฝฝไธบๅฝ’ๆกฃๆ–‡ไปถ", + "wt_seldl": "ๅฐ†้€‰ๆ‹ฉไธ‹่ฝฝไธบๅ•็‹ฌ็š„ๆ–‡ไปถ$Nๅฟซๆท้”ฎ: Y", + "wt_npirc": "ๅคๅˆถ IRC ๆ ผๅผ็š„ๆ›ฒ็›ฎไฟกๆฏ", + "wt_nptxt": "ๅคๅˆถ็บฏๆ–‡ๆœฌๆ ผๅผ็š„ๆ›ฒ็›ฎไฟกๆฏ", + "wt_m3ua": "ๆทปๅŠ ๅˆฐ m3u ๆ’ญๆ”พๅˆ—่กจ๏ผˆ็จๅŽ็‚นๅ‡ป ๐Ÿ“ปcopy๏ผ‰", //m + "wt_m3uc": "ๅคๅˆถ m3u ๆ’ญๆ”พๅˆ—่กจๅˆฐๅ‰ช่ดดๆฟ", //m + "wt_grid": "ๅˆ‡ๆข็ฝ‘ๆ ผ/ๅˆ—่กจ่ง†ๅ›พ$Nๅฟซๆท้”ฎ: G", + "wt_prev": "ไธŠไธ€ๆ›ฒ$Nๅฟซๆท้”ฎ: J", + "wt_play": "ๆ’ญๆ”พ/ๆš‚ๅœ$Nๅฟซๆท้”ฎ: P", + "wt_next": "ไธ‹ไธ€ๆ›ฒ$Nๅฟซๆท้”ฎ: L", + + "ul_par": "ๅนถ่กŒไธŠไผ ๏ผš", + "ut_rand": "้šๆœบๅŒ–ๆ–‡ไปถๅ", + "ut_u2ts": "ๅฐ†ๆœ€ๅŽไฟฎๆ”น็š„ๆ—ถ้—ดๆˆณ$NไปŽไฝ ็š„ๆ–‡ไปถ็ณป็ปŸๅคๅˆถๅˆฐๆœๅŠกๅ™จ\">๐Ÿ“…", + "ut_ow": "่ฆ†็›–ๆœๅŠกๅ™จไธŠ็š„็Žฐๆœ‰ๆ–‡ไปถ๏ผŸ$N๐Ÿ›ก๏ธ: ไปŽไธ๏ผˆไผš็”Ÿๆˆไธ€ไธชๆ–ฐๆ–‡ไปถๅ๏ผ‰$N๐Ÿ•’: ๆœๅŠกๅ™จๆ–‡ไปถ่พƒๆ—งๅˆ™่ฆ†็›–$Nโ™ป๏ธ: ๅฆ‚ๆžœๆ–‡ไปถๅ†…ๅฎนไธๅŒๅˆ™ๆ€ปๆ˜ฏ่ฆ†็›–$Nโญ๏ธ: ๆ— ๆกไปถ่ทณ่ฟ‡ๆ‰€ๆœ‰ๅทฒๅญ˜ๅœจ็š„ๆ–‡ไปถ", //m + "ut_mt": "ๅœจไธŠไผ ๆ—ถ็ปง็ปญๅ“ˆๅธŒๅ…ถไป–ๆ–‡ไปถ$N$Nๅฆ‚ๆžœไฝ ็š„ CPU ๆˆ–็กฌ็›˜ๆ˜ฏ็“ถ้ขˆ๏ผŒๅฏ่ƒฝ้œ€่ฆ็ฆ็”จ", + "ut_ask": 'ไธŠไผ ๅผ€ๅง‹ๅ‰่ฏข้—ฎ็กฎ่ฎค">๐Ÿ’ญ', + "ut_pot": "้€š่ฟ‡็ฎ€ๅŒ– UI ๆฅ$Nๆ้ซ˜ๆ…ข่ฎพๅค‡ไธŠ็š„ไธŠไผ ้€Ÿๅบฆ", + "ut_srch": "ๅฎž้™…ไธไธŠไผ ๏ผŒ่€Œๆ˜ฏๆฃ€ๆŸฅๆ–‡ไปถๆ˜ฏๅฆ$Nๅทฒ็ปๅญ˜ๅœจไบŽๆœๅŠกๅ™จไธŠ๏ผˆๅฐ†ๆ‰ซๆไฝ ๅฏไปฅ่ฏปๅ–็š„ๆ‰€ๆœ‰ๆ–‡ไปถๅคน๏ผ‰", + "ut_par": "้€š่ฟ‡ๅฐ†ๅ…ถ่ฎพ็ฝฎไธบ 0 ๆฅๆš‚ๅœไธŠไผ $N$Nๅฆ‚ๆžœไฝ ็š„่ฟžๆŽฅๅพˆๆ…ข/ๅปถ่ฟŸ้ซ˜๏ผŒ$N$N่ฏทๅขžๅŠ ๅœจๅฑ€ๅŸŸ็ฝ‘ๆˆ–ๆœๅŠกๅ™จ็กฌ็›˜ๆ˜ฏ็“ถ้ขˆๆ—ถไฟๆŒไธบ 1", + "ul_btn": "ๅฐ†ๆ–‡ไปถ/ๆ–‡ไปถๅคนๆ‹–ๆ”พๅˆฐ่ฟ™้‡Œ๏ผˆๆˆ–็‚นๅ‡ปๆˆ‘๏ผ‰", + "ul_btnu": "ไธŠ ไผ ", + "ul_btns": "ๆœ ็ดข", + + "ul_hash": "ๅ“ˆๅธŒ", + "ul_send": "ๅ‘้€", + "ul_done": "ๅฎŒๆˆ", + "ul_idle1": "ๆฒกๆœ‰ๆŽ’้˜Ÿ็š„ไธŠไผ ไปปๅŠก", + "ut_etah": "ๅนณๅ‡ <em>hashing</em> ้€Ÿๅบฆๅ’Œไผฐ่ฎกๅฎŒๆˆๆ—ถ้—ด", + "ut_etau": "ๅนณๅ‡ <em>ไธŠไผ </em> ้€Ÿๅบฆๅ’Œไผฐ่ฎกๅฎŒๆˆๆ—ถ้—ด", + "ut_etat": "ๅนณๅ‡ <em>ๆ€ป</em> ้€Ÿๅบฆๅ’Œไผฐ่ฎกๅฎŒๆˆๆ—ถ้—ด", + + "uct_ok": "ๆˆๅŠŸๅฎŒๆˆ", + "uct_ng": "ๅคฑ่ดฅ/ๆ‹’็ป/ๆœชๆ‰พๅˆฐ", + "uct_done": "ๆˆๅŠŸๅ’Œๅคฑ่ดฅ็š„็ป„ๅˆ", + "uct_bz": "ๆญฃๅœจๅ“ˆๅธŒๆˆ–ไธŠไผ ", + "uct_q": "็ฉบ้—ฒ๏ผŒๅพ…ๅค„็†", + + "utl_name": "ๆ–‡ไปถๅ", + "utl_ulist": "ๅˆ—่กจ", + "utl_ucopy": "ๅคๅˆถ", + "utl_links": "้“พๆŽฅ", + "utl_stat": "็Šถๆ€", + "utl_prog": "่ฟ›ๅบฆ", + + // ไฟๆŒ็ฎ€็Ÿญ: + "utl_404": "404", + "utl_err": "้”™่ฏฏ", + "utl_oserr": "OS้”™่ฏฏ", + "utl_found": "ๅทฒๆ‰พๅˆฐ", + "utl_defer": "ๅปถๆœŸ", + "utl_yolo": "ๅŠ ้€Ÿ", + "utl_done": "ๅฎŒๆˆ", + + "ul_flagblk": "ๆ–‡ไปถๅทฒๆทปๅŠ ๅˆฐ้˜Ÿๅˆ—
    ไฝ†ๅฆไธ€ไธชๆต่งˆๅ™จๆ ‡็ญพไธญๆœ‰ไธ€ไธช็นๅฟ™็š„ up2k๏ผŒ
    ๅ› ๆญค็ญ‰ๅพ…ๅฎƒๅฎŒๆˆ", + "ul_btnlk": "ๆœๅŠกๅ™จ้…็ฝฎๅทฒๅฐ†ๆญคๅผ€ๅ…ณ้”ๅฎšๅˆฐๆญค็Šถๆ€", + + "udt_up": "ไธŠไผ ", + "udt_srch": "ๆœ็ดข", + "udt_drop": "ๅฐ†ๆ–‡ไปถๆ‹–ๆ”พๅˆฐ่ฟ™้‡Œ", + + "u_nav_m": '
    ๅฅฝ็š„๏ผŒไฝ ๆœ‰ไป€ไนˆ๏ผŸ
    Enter = ๆ–‡ไปถ๏ผˆไธ€ไธชๆˆ–ๅคšไธช๏ผ‰\nESC = ไธ€ไธชๆ–‡ไปถๅคน๏ผˆๅŒ…ๆ‹ฌๅญๆ–‡ไปถๅคน๏ผ‰', + "u_nav_b": 'ๆ–‡ไปถไธ€ไธชๆ–‡ไปถๅคน', + + "cl_opts": "ๅผ€ๅ…ณ้€‰้กน", + "cl_hfsz": "ๆ–‡ไปถๅคงๅฐ", //m + "cl_themes": "ไธป้ข˜", + "cl_langs": "่ฏญ่จ€", + "cl_ziptype": "ๆ–‡ไปถๅคนไธ‹่ฝฝ", + "cl_uopts": "up2k ๅผ€ๅ…ณ", + "cl_favico": "็ฝ‘็ซ™ๅ›พๆ ‡", + "cl_bigdir": "ๆœ€ๅคง็›ฎๅฝ•ๆ•ฐ", + "cl_hsort": "#sort", //m + "cl_keytype": "้”ฎไฝ็ฌฆๅท", + "cl_hiddenc": "้š่—ๅˆ—", + "cl_hidec": "้š่—", + "cl_reset": "้‡็ฝฎ", + "cl_hpick": "็‚นๅ‡ปๅˆ—ๆ ‡้ข˜ไปฅๅœจไธ‹่กจไธญ้š่—", + "cl_hcancel": "ๅˆ—้š่—ๅทฒๅ–ๆถˆ", + "cl_rcm": "ๅณ้”ฎ่œๅ•", //m + + "ct_grid": '็ฝ‘ๆ ผ่ง†ๅ›พ', + "ct_ttips": 'โ—” โ—ก โ—”">โ„น๏ธ ๅทฅๅ…ทๆ็คบ', + "ct_thumb": 'ๅœจ็ฝ‘ๆ ผ่ง†ๅ›พไธญ๏ผŒๅˆ‡ๆขๅ›พๆ ‡ๆˆ–็ผฉ็•ฅๅ›พ$Nๅฟซๆท้”ฎ: T">๐Ÿ–ผ๏ธ ็ผฉ็•ฅๅ›พ', + "ct_csel": 'ๅœจ็ฝ‘ๆ ผ่ง†ๅ›พไธญไฝฟ็”จ CTRL ๅ’Œ SHIFT ่ฟ›่กŒๆ–‡ไปถ้€‰ๆ‹ฉ">CTRL', + "ct_dl": '็‚นๅ‡ปๆ–‡ไปถๆ—ถๅผบๅˆถไธ‹่ฝฝ๏ผˆไธๅ†…่”ๆ˜พ็คบ๏ผ‰">dl', //m + "ct_ihop": 'ๅฝ“ๅ›พๅƒๆŸฅ็œ‹ๅ™จๅ…ณ้—ญๆ—ถ๏ผŒๆปšๅŠจๅˆฐๆœ€ๅŽๆŸฅ็œ‹็š„ๆ–‡ไปถ">ๆปšๅŠจ', + "ct_dots": 'ๆ˜พ็คบ้š่—ๆ–‡ไปถ๏ผˆๅฆ‚ๆžœๆœๅŠกๅ™จๅ…่ฎธ๏ผ‰">้š่—ๆ–‡ไปถ', + "ct_qdel": 'ๅˆ ้™คๆ–‡ไปถๆ—ถ๏ผŒๅช้œ€็กฎ่ฎคไธ€ๆฌก">ๅฟซๅˆ ', //m + "ct_dir1st": 'ๅœจๆ–‡ไปถไน‹ๅ‰ๆŽ’ๅบๆ–‡ไปถๅคน">๐Ÿ“ ๆŽ’ๅบ', + "ct_nsort": 'ๆญฃ็กฎๆŽ’ๅบไปฅๆ•ฐๅญ—ๅผ€ๅคด็š„ๆ–‡ไปถๅ">ๆ•ฐๅญ—ๆŽ’ๅบ', //m + "ct_utc": 'ๆ‰€ๆœ‰ๆ—ถ้—ด่ฏทไฝฟ็”จUTC">UTC', //m + "ct_readme": 'ๅœจๆ–‡ไปถๅคนๅˆ—่กจไธญๆ˜พ็คบ README.md">๐Ÿ“œ readme', + "ct_idxh": 'ๆ˜พ็คบ index.html ไปฃๆ›ฟๆ–‡ไปถๅคนๅˆ—่กจ">htm', + "ct_sbars": 'ๆ˜พ็คบๆปšๅŠจๆก">โŸŠ', + + "cut_umod": "ๅฆ‚ๆžœๆ–‡ไปถๅทฒๅญ˜ๅœจไบŽๆœๅŠกๅ™จไธŠ๏ผŒๅฐ†ๆœๅŠกๅ™จ็š„ๆœ€ๅŽไฟฎๆ”นๆ—ถ้—ดๆˆณๆ›ดๆ–ฐไธบไธŽไฝ ็š„ๆœฌๅœฐๆ–‡ไปถๅŒน้…๏ผˆ้œ€่ฆๅ†™ๅ…ฅๅ’Œๅˆ ้™คๆƒ้™๏ผ‰\">re๐Ÿ“…", + + "cut_turbo": "YOLO ๆŒ‰้’ฎ๏ผŒไฝ ๅฏ่ƒฝไธๆƒณๅฏ็”จ่ฟ™ไธช๏ผš$N$Nๅฆ‚ๆžœไฝ ไธŠไผ ไบ†ๅคง้‡ๆ–‡ไปถๅนถไธ”็”ฑไบŽๆŸไบ›ๅŽŸๅ› ้œ€่ฆ้‡ๆ–ฐๅฏๅŠจ๏ผŒ$Nๅนถไธ”ๆƒณ่ฆๅฐฝๅฟซ็ปง็ปญไธŠไผ ๏ผŒไฝฟ็”จๆญค้€‰้กน$N$N่ฟ™ไผš็”จ็ฎ€ๅ•็š„ "ๆœๅŠกๅ™จไธŠ็š„ๆ–‡ไปถๅคงๅฐๆ˜ฏๅฆ็›ธๅŒ๏ผŸ" ๆ›ฟไปฃๅ“ˆๅธŒๆฃ€ๆŸฅ๏ผŒ$Nๅ› ๆญคๅฆ‚ๆžœๆ–‡ไปถๅ†…ๅฎนไธๅŒ๏ผŒๅฎƒๅฐ†ไธไผš่ขซไธŠไผ $N$NไธŠไผ ๅฎŒๆˆๅŽ๏ผŒไฝ ๅบ”่ฏฅๅ…ณ้—ญๆญค้€‰้กน๏ผŒ$N็„ถๅŽ้‡ๆ–ฐ"ไธŠไผ "็›ธๅŒ็š„ๆ–‡ไปถไปฅ่ฎฉๅฎขๆˆท็ซฏ้ชŒ่ฏๅฎƒไปฌ\">ๅŠ ้€Ÿ", + + "cut_datechk": "้™ค้žๅฏ็”จใ€ŒๅŠ ้€Ÿใ€ๆŒ‰้’ฎ๏ผŒๅฆๅˆ™ๆฒกๆœ‰ๆ•ˆๆžœ$N$N็•ฅๅพฎๅ‡ๅฐ‘ YOLO ๅ› ็ด ๏ผ›ๆฃ€ๆŸฅๆœๅŠกๅ™จไธŠ็š„ๆ–‡ไปถๆ—ถ้—ดๆˆณๆ˜ฏๅฆไธŽไฝ ็š„ไธ€่‡ด$N$N็†่ฎบไธŠ ๅบ”่ฏฅ่ƒฝๆ•ๆ‰ๅˆฐๅคงๅคšๆ•ฐๆœชๅฎŒๆˆ/ๆŸๅ็š„ไธŠไผ ๏ผŒ$Nไฝ†ไธ่ƒฝๆ›ฟไปฃไน‹ๅŽ็ฆ็”จใ€ŒๅŠ ้€Ÿใ€่ฟ›่กŒ็š„้ชŒ่ฏ\">ๆ—ฅๆœŸๆฃ€ๆŸฅ", + + "cut_u2sz": "ๆฏไธชไธŠไผ ๅ—็š„ๅคงๅฐ๏ผˆไปฅ MiB ไธบๅ•ไฝ๏ผ‰๏ผ›่พƒๅคง็š„ๅ€ผ่ทจๅคง่ฅฟๆด‹ไผ ่พ“ๆ•ˆๆžœๆ›ดๅฅฝใ€‚ๅœจ้žๅธธไธๅฏ้ ็š„่ฟžๆŽฅไธŠๅฐ่ฏ•่พƒๅฐ็š„ๅ€ผ", + + "cut_flag": "็กฎไฟไธ€ๆฌกๅชๆœ‰ไธ€ไธชๆ ‡็ญพ้กตๅœจไธŠไผ $N -- ๅ…ถไป–ๆ ‡็ญพ้กตไนŸๅฟ…้กปๅฏ็”จๆญค้€‰้กน$N -- ไป…ๅฝฑๅ“ๅŒไธ€ๅŸŸๅไธ‹็š„ๆ ‡็ญพ้กต", + + "cut_az": "ๆŒ‰ๅญ—ๆฏ้กบๅบไธŠไผ ๆ–‡ไปถ๏ผŒ่€Œไธๆ˜ฏๆŒ‰ๆœ€ๅฐๆ–‡ไปถไผ˜ๅ…ˆ$N$NๆŒ‰ๅญ—ๆฏ้กบๅบๅฏไปฅๆ›ดๅฎนๆ˜“ๅœฐๆŸฅ็œ‹ๆœๅŠกๅ™จไธŠๆ˜ฏๅฆๅ‡บ็Žฐไบ†้—ฎ้ข˜๏ผŒไฝ†ๅœจๅ…‰็บค/ๅฑ€ๅŸŸ็ฝ‘ไธŠไผ ็จๅพฎๆ…ขไธ€ไบ›", + + "cut_nag": "ไธŠไผ ๅฎŒๆˆๆ—ถ็š„ๆ“ไฝœ็ณป็ปŸ้€š็Ÿฅ$N๏ผˆไป…ๅฝ“ๆต่งˆๅ™จๆˆ–ๆ ‡็ญพ้กตไธๆดป่ทƒๆ—ถ๏ผ‰", + "cut_sfx": "ไธŠไผ ๅฎŒๆˆๆ—ถ็š„ๅฃฐ้Ÿณ่ญฆๆŠฅ$N๏ผˆไป…ๅฝ“ๆต่งˆๅ™จๆˆ–ๆ ‡็ญพ้กตไธๆดป่ทƒๆ—ถ๏ผ‰", + + "cut_mt": "ไฝฟ็”จๅคš็บฟ็จ‹ๅŠ ้€Ÿๆ–‡ไปถๅ“ˆๅธŒ$N$N่ฟ™ไฝฟ็”จ Web Worker ๅนถไธ”้œ€่ฆๆ›ดๅคšๅ†…ๅญ˜๏ผˆ้ขๅค–ๆœ€ๅคš 512 MiB๏ผ‰$N$N่ฟ™ไฝฟๅพ— https ๅฟซ 30%๏ผŒhttp ๅฟซ 4.5 ๅ€\">mt", + + "cut_wasm": "ไฝฟ็”จๅŸบไบŽ WASM ็š„ๅ“ˆๅธŒ่ฎก็ฎ—ๅ™จไปฃๆ›ฟๆต่งˆๅ™จๅ†…็ฝฎ็š„ๅ“ˆๅธŒๅŠŸ่ƒฝ๏ผ›่ฟ™ๅฏไปฅๆๅ‡ๅœจๅŸบไบŽ Chrome ็š„ๆต่งˆๅ™จไธŠ็š„้€Ÿๅบฆ๏ผŒไฝ†ไผšๅขžๅŠ  CPU ไฝฟ็”จ็އ๏ผŒ่€Œไธ”่ฎธๅคšๆ—ง็‰ˆๆœฌ็š„ Chrome ๅญ˜ๅœจๆผๆดž๏ผŒๅฏ็”จๆญคๅŠŸ่ƒฝไผšๅฏผ่‡ดๆต่งˆๅ™จๅ ็”จๆ‰€ๆœ‰ๅ†…ๅญ˜ๅนถๅดฉๆบƒใ€‚\">wasm", //m + + "cft_text": "็ฝ‘็ซ™ๅ›พๆ ‡ๆ–‡ๆœฌ๏ผˆไธบ็ฉบๅนถๅˆทๆ–ฐไปฅ็ฆ็”จ๏ผ‰", + "cft_fg": "ๅ‰ๆ™ฏ่‰ฒ", + "cft_bg": "่ƒŒๆ™ฏ่‰ฒ", + + "cdt_lim": "ๆ–‡ไปถๅคนไธญๆ˜พ็คบ็š„ๆœ€ๅคงๆ–‡ไปถๆ•ฐ", + "cdt_ask": "ๆปšๅŠจๅˆฐๅบ•้ƒจๆ—ถ๏ผŒ$NไธไผšๅŠ ่ฝฝๆ›ดๅคšๆ–‡ไปถ๏ผŒ$N่€Œๆ˜ฏ่ฏข้—ฎไฝ ่ฏฅๆ€Žไนˆๅš", + "cdt_hsort": "ๅŒ…ๅซๅœจๅช’ไฝ“ URL ไธญ็š„ๆŽ’ๅบ่ง„ๅˆ™ (<code>,sorthref</code>) ๆ•ฐ้‡ใ€‚ๅฐ†ๅ…ถ่ฎพ็ฝฎไธบ 0 ๆ—ถ๏ผŒ็‚นๅ‡ปๅช’ไฝ“้“พๆŽฅๆ—ถไนŸไผšๅฟฝ็•ฅๆŽ’ๅบ่ง„ๅˆ™ใ€‚", //m + "cdt_ren": "ๅฏ็”จ่‡ชๅฎšไน‰ๅณ้”ฎ่œๅ•๏ผŒๆŒ‰ไฝ shift ้”ฎๅนถๅณ้”ฎๅ•ๅ‡ปไปๅฏ่ฎฟ้—ฎๅธธ่ง„่œๅ•", //m + + "tt_entree": "ๆ˜พ็คบๅฏผ่ˆช้ขๆฟ๏ผˆ็›ฎๅฝ•ๆ ‘ไพง่พนๆ ๏ผ‰$Nๅฟซๆท้”ฎ: B", + "tt_detree": "ๆ˜พ็คบ้ขๅŒ…ๅฑ‘ๅฏผ่ˆช$Nๅฟซๆท้”ฎ: B", + "tt_visdir": "ๆปšๅŠจๅˆฐ้€‰ๅฎš็š„ๆ–‡ไปถๅคน", + "tt_ftree": "ๅˆ‡ๆขๆ–‡ไปถๅคนๆ ‘ / ๆ–‡ๆœฌๆ–‡ไปถ$Nๅฟซๆท้”ฎ: V", + "tt_pdock": "ๅœจ้กถ้ƒจ็š„ๅœ้ ็ช—ๆ ผไธญๆ˜พ็คบ็ˆถๆ–‡ไปถๅคน", + "tt_dynt": "้š็€ๆ ‘็š„ๅฑ•ๅผ€่‡ชๅŠจๅขž้•ฟ", + "tt_wrap": "่‡ชๅŠจๆข่กŒ", + "tt_hover": "ๆ‚ฌๅœๆ—ถๆ˜พ็คบๆบขๅ‡บ็š„่กŒ$N๏ผˆๅฝ“้ผ ๆ ‡ๅ…‰ๆ ‡ๅœจๅทฆไพง่พนๆ ไธญๆ—ถ๏ผŒๆปšๅŠจๅฏ่ƒฝไผšไธญๆ–ญ๏ผ‰", + + "ml_pmode": "ๅœจๆ–‡ไปถๅคนๆœซๅฐพๆ—ถ...", + "ml_btns": "ๅ‘ฝไปค", + "ml_tcode": "่ฝฌ็ ", + "ml_tcode2": "่ฝฌๆขไธบ", //m + "ml_tint": "้€ๆ˜Žๅบฆ", + "ml_eq": "้Ÿณ้ข‘ๅ‡่กกๅ™จ", + "ml_drc": "ๅŠจๆ€่Œƒๅ›ดๅŽ‹็ผฉๅ™จ", + + "mt_loop": "ๅพช็Žฏๆ’ญๆ”พๅฝ“ๅ‰็š„ๆญŒๆ›ฒ\">๐Ÿ”", //m + "mt_one": "ๅชๆ’ญๆ”พไธ€้ฆ–ๆญŒๅŽๅœๆญข\">1๏ธโƒฃ", //m + "mt_shuf": "ๅœจๆฏไธชๆ–‡ไปถๅคนไธญ้šๆœบๆ’ญๆ”พๆญŒๆ›ฒ\">๐Ÿ”€", + "mt_aplay": "ๅฆ‚ๆžœ้“พๆŽฅไธญๆœ‰ๆญŒๆ›ฒ ID๏ผŒๅˆ™่‡ชๅŠจๆ’ญๆ”พ,็ฆ็”จๆญค้€‰้กนๅฐ†ๅœๆญขๅœจๆ’ญๆ”พ้Ÿณไนๆ—ถๆ›ดๆ–ฐ้กต้ข URL ไธญ็š„ๆญŒๆ›ฒ ID๏ผŒไปฅ้˜ฒๆญขๅœจ่ฎพ็ฝฎไธขๅคฑไฝ† URL ไฟ็•™ๆ—ถ่‡ชๅŠจๆ’ญๆ”พ\">่‡ชๅŠจๆ’ญๆ”พโ–ถ", + "mt_preload": "ๅœจๆญŒๆ›ฒๅฟซ็ป“ๆŸๆ—ถๅผ€ๅง‹ๅŠ ่ฝฝไธ‹ไธ€้ฆ–ๆญŒ๏ผŒไปฅๅฎž็Žฐๆ— ็ผๆ’ญๆ”พ\">้ข„ๅŠ ่ฝฝ", + "mt_prescan": "ๅœจๆœ€ๅŽไธ€้ฆ–ๆญŒ็ป“ๆŸไน‹ๅ‰ๅˆ‡ๆขๅˆฐไธ‹ไธ€ไธชๆ–‡ไปถๅคน$NไฟๆŒ็ฝ‘้กตๆต่งˆๅ™จๆดป่ทƒ$Nไปฅๅ…ๅœๆญขๆ’ญๆ”พ\">่‡ชๅŠจๅˆ‡ๆข", + "mt_fullpre": "ๅฐ่ฏ•้ข„ๅŠ ่ฝฝๆ•ด้ฆ–ๆญŒ๏ผ›$Nโœ… ๅœจ ไธๅฏ้  ่ฟžๆŽฅไธŠๅฏ็”จ๏ผŒ$NโŒ ๅฏ่ƒฝๅœจๆ…ข้€Ÿ่ฟžๆŽฅไธŠ็ฆ็”จ\">ๅŠ ่ฝฝๆ•ด้ฆ–ๆญŒ", + "mt_fau": "ๅœจๆ‰‹ๆœบไธŠ๏ผŒๅฆ‚ๆžœไธ‹ไธ€้ฆ–ๆญŒๆœช่ƒฝๅฟซ้€Ÿ้ข„ๅŠ ่ฝฝ๏ผŒ้˜ฒๆญข้Ÿณไนๅœๆญข๏ผˆๅฏ่ƒฝๅฏผ่‡ดๆ ‡็ญพๆ˜พ็คบๅผ‚ๅธธ๏ผ‰\">โ˜•๏ธ", + "mt_waves": "ๆณขๅฝข่ฟ›ๅบฆๆก๏ผš$Nๆ˜พ็คบ้Ÿณ้ข‘ๅน…ๅบฆ\">่ฟ›ๅบฆๆก", + "mt_npclip": "ๆ˜พ็คบๅฝ“ๅ‰ๆ’ญๆ”พๆญŒๆ›ฒ็š„ๅ‰ช่ดดๆฟๆŒ‰้’ฎ\">โ™ชๅ‰ชๅˆ‡ๆฟ", + "mt_m3u_c": "ๆ˜พ็คบๆŒ‰้’ฎไปฅๅฐ†ๆ‰€้€‰ๆญŒๆ›ฒ$Nๅคๅˆถไธบ m3u8 ๆ’ญๆ”พๅˆ—่กจๆก็›ฎ\">๐Ÿ“ป", //m + "mt_octl": "ๆ“ไฝœ็ณป็ปŸ้›†ๆˆ๏ผˆๅช’ไฝ“ๅฟซๆท้”ฎ / OSD๏ผ‰\">OSD", + "mt_oseek": "ๅ…่ฎธ้€š่ฟ‡ๆ“ไฝœ็ณป็ปŸ้›†ๆˆ่ฟ›่กŒ่ทณ่ฝฌ$N$Nๆณจๆ„๏ผšๅœจๆŸไบ›่ฎพๅค‡๏ผˆๅฆ‚ iPhone๏ผ‰ไธŠ๏ผŒ$N่ฟ™ๅฐ†ๆ›ฟไปฃไธ‹ไธ€้ฆ–ๆญŒๆŒ‰้’ฎ\">seek", + "mt_oscv": "ๅœจ OSD ไธญๆ˜พ็คบไธ“่พ‘ๅฐ้ข\">ๅฐ้ข", + "mt_follow": "ไฟๆŒๆญฃๅœจๆ’ญๆ”พ็š„ๆ›ฒ็›ฎๆปšๅŠจๅˆฐ่ง†ๅ›พไธญ\">๐ŸŽฏ", + "mt_compact": "็ดงๅ‡‘็š„ๆŽงๅˆถๆŒ‰้’ฎ\">โŸŽ", + "mt_uncache": "ๆธ…้™ค็ผ“ๅญ˜ $N๏ผˆๅฆ‚ๆžœไฝ ็š„ๆต่งˆๅ™จ็ผ“ๅญ˜ไบ†ไธ€ไธชๆŸๅ็š„ๆญŒๆ›ฒๅ‰ฏๆœฌ่€Œๆ‹’็ปๆ’ญๆ”พ๏ผŒ่ฏทๅฐ่ฏ•ๆญคๆ“ไฝœ๏ผ‰\">uncache", + "mt_mloop": "ๅพช็Žฏๆ‰“ๅผ€็š„ๆ–‡ไปถๅคน\">๐Ÿ” ๅพช็Žฏ", + "mt_mnext": "ๅŠ ่ฝฝไธ‹ไธ€ไธชๆ–‡ไปถๅคนๅนถ็ปง็ปญ\">๐Ÿ“‚ ไธ‹ไธ€้ฆ–", + "mt_mstop": "ๅœๆญขๆ’ญๆ”พ\">โธ ๅœๆญข", //m + "mt_cflac": "ๅฐ† flac / wav ่ฝฌๆขไธบ {0}\">flac", + "mt_caac": "ๅฐ† aac / m4a ่ฝฌๆขไธบ {0}\">aac", + "mt_coth": "ๅฐ†ๆ‰€ๆœ‰ๅ…ถไป–๏ผˆไธๆ˜ฏ mp3๏ผ‰่ฝฌๆขไธบ {0}\">oth", + "mt_c2opus": "้€‚ๅˆๆกŒ้ข็”ต่„‘ใ€็ฌ”่ฎฐๆœฌ็”ต่„‘ๅ’Œๅฎ‰ๅ“่ฎพๅค‡็š„ๆœ€ไฝณ้€‰ๆ‹ฉ\">opus", //m + "mt_c2owa": "opus-weba๏ผˆ้€‚็”จไบŽ iOS 17.5 ๅŠๆ›ดๆ–ฐ็‰ˆๆœฌ๏ผ‰\">owa", //m + "mt_c2caf": "opus-caf๏ผˆ้€‚็”จไบŽ iOS 11 ๅˆฐ iOS 17๏ผ‰\">caf", //m + "mt_c2mp3": "้€‚็”จไบŽ้žๅธธๆ—ง็š„่ฎพๅค‡\">mp3", //m + "mt_c2flac": "ๆœ€ไฝณ้Ÿณ่ดจ๏ผŒไฝ†ไธ‹่ฝฝ้‡ๅพˆๅคง\">flac", //m + "mt_c2wav": "ๆ— ๅŽ‹็ผฉๆ’ญๆ”พ๏ผˆๆ›ดๅ ็ฉบ้—ด๏ผ‰\">wav", //m + "mt_c2ok": "ไธ้”™็š„้€‰ๆ‹ฉ๏ผ", //m + "mt_c2nd": "่ฟ™ไธๆ˜ฏๆ‚จ็š„่ฎพๅค‡ๆŽจ่็š„่พ“ๅ‡บๆ ผๅผ๏ผŒไฝ†ๅบ”่ฏฅๆฒก้—ฎ้ข˜ใ€‚", //m + "mt_c2ng": "ๆ‚จ็š„่ฎพๅค‡ไผผไนŽไธๆ”ฏๆŒๆญค่พ“ๅ‡บๆ ผๅผ๏ผŒไธ่ฟ‡ๆˆ‘ไปฌ่ฟ˜ๆ˜ฏ่ฏ•่ฏ•็œ‹ๅงใ€‚", //m + "mt_xowa": "iOS ็ณป็ปŸไปๅญ˜ๅœจๆ— ๆณ•ๅŽๅฐๆ’ญๆ”พ owa ้Ÿณไน็š„้”™่ฏฏ๏ผŒ่ฏทๆ”น็”จ caf ๆˆ– mp3 ๆ ผๅผใ€‚", //m + "mt_tint": "ๅœจ่ฟ›ๅบฆๆกไธŠ่ฎพ็ฝฎ่ƒŒๆ™ฏ็บงๅˆซ๏ผˆ0-100๏ผ‰", + "mt_eq": "ๅฏ็”จๅ‡่กกๅ™จๅ’Œๅขž็›ŠๆŽงๅˆถ๏ผ›$N$Nboost <code>0</code> = ๆ ‡ๅ‡† 100% ้Ÿณ้‡๏ผˆ้ป˜่ฎค๏ผ‰$N$Nwidth <code>1  </code> = ๆ ‡ๅ‡†็ซ‹ไฝ“ๅฃฐ๏ผˆ้ป˜่ฎค๏ผ‰$Nwidth <code>0.5</code> = 50% ๅทฆๅณไบคๅ‰ๅ้ฆˆ$Nwidth <code>0  </code> = ๅ•ๅฃฐ้“$N$Nboost <code>-0.8</code> & width <code>10</code> = ไบบๅฃฐ็งป้™ค )$N$Nๅฏ็”จๅ‡่กกๅ™จไฝฟๆ— ็ผไธ“่พ‘ๅฎŒๅ…จๆ— ็ผ๏ผŒๆ‰€ไปฅๅฆ‚ๆžœไฝ ๅœจไนŽ่ฟ™ไธ€็‚น๏ผŒ่ฏทไฟๆŒๅฏ็”จ๏ผŒๆ‰€ๆœ‰ๅ€ผ่ฎพไธบ้›ถ๏ผˆ้™คไบ†ๅฎฝๅบฆ = 1๏ผ‰", + "mt_drc": "ๅฏ็”จๅŠจๆ€่Œƒๅ›ดๅŽ‹็ผฉๅ™จ๏ผˆ้Ÿณ้‡ๅนณๆป‘ๅ™จ / ้™ๅน…ๅ™จ๏ผ‰๏ผ›่ฟ˜ไผšๅฏ็”จๅ‡่กกๅ™จไปฅๅนณ่กก้Ÿณ้ข‘๏ผŒๅ› ๆญคๅฆ‚ๆžœไฝ ไธๆƒณ่ฆๅฎƒ๏ผŒ่ฏทๅฐ†ๅ‡่กกๅ™จๅญ—ๆฎต้™คไบ† 'ๅฎฝๅบฆ' ๅค–็š„ๆ‰€ๆœ‰ๅญ—ๆฎต่ฎพ็ฝฎไธบ 0$N$N้™ไฝŽ THRESHOLD dB ไปฅไธŠ็š„้Ÿณ้ข‘็š„้Ÿณ้‡๏ผ›ๆฏ่ถ…่ฟ‡ THRESHOLD dB ็š„ RATIO ไผšๆœ‰ 1 dB ่พ“ๅ‡บ๏ผŒๆ‰€ไปฅ้ป˜่ฎคๅ€ผ tresh -24 ๅ’Œ ratio 12 ๆ„ๅ‘ณ็€ๅฎƒ็š„้Ÿณ้‡ไธๅบ”่ถ…่ฟ‡ -22 dB๏ผŒๅฏไปฅๅฎ‰ๅ…จๅœฐๅฐ†ๅ‡่กกๅ™จๅขž็›Šๆ้ซ˜ๅˆฐ 0.8๏ผŒ็”š่‡ณๅœจ ATK 0 ๅ’Œ RLS ๅฆ‚ 90 ็š„ๆƒ…ๅ†ตไธ‹ๆ้ซ˜ๅˆฐ 1.8๏ผˆไป…ๅœจ Firefox ไธญๆœ‰ๆ•ˆ๏ผ›ๅ…ถไป–ๆต่งˆๅ™จไธญ RLS ๆœ€ๅคงไธบ 1๏ผ‰$N$N๏ผˆ่ง็ปดๅŸบ็™พ็ง‘๏ผŒไป–ไปฌ่งฃ้‡Šๅพ—ๆ›ดๅฅฝ๏ผ‰", + + "mb_play": "ๆ’ญๆ”พ", + "mm_hashplay": "ๆ’ญๆ”พ่ฟ™ไธช้Ÿณ้ข‘ๆ–‡ไปถ๏ผŸ", + "mm_m3u": "ๆŒ‰ Enter/็กฎๅฎš ๆ’ญๆ”พ\nๆŒ‰ ESC/ๅ–ๆถˆ ็ผ–่พ‘", //m + "mp_breq": "้œ€่ฆ Firefox 82+ ๆˆ– Chrome 73+ ๆˆ– iOS 15+", + "mm_bload": "ๆญฃๅœจๅŠ ่ฝฝ...", + "mm_bconv": "ๆญฃๅœจ่ฝฌๆขไธบ {0}๏ผŒ่ฏท็จ็ญ‰...", + "mm_opusen": "ไฝ ็š„ๆต่งˆๅ™จๆ— ๆณ•ๆ’ญๆ”พ aac / m4a ๆ–‡ไปถ๏ผ›\n็Žฐๅœจๅฏ็”จ่ฝฌ็ ไธบ opus", + "mm_playerr": "ๆ’ญๆ”พๅคฑ่ดฅ๏ผš", + "mm_eabrt": "ๆ’ญๆ”พๅฐ่ฏ•ๅทฒๅ–ๆถˆ", + "mm_enet": "ไฝ ็š„ไบ’่”็ฝ‘่ฟžๆŽฅๆœ‰้—ฎ้ข˜", + "mm_edec": "่ฟ™ไธชๆ–‡ไปถๅฏ่ƒฝๅทฒๆŸๅ๏ผŸ๏ผŸ", + "mm_esupp": "ไฝ ็š„ๆต่งˆๅ™จไธๆ”ฏๆŒ่ฟ™ไธช้Ÿณ้ข‘ๆ ผๅผ", + "mm_eunk": "ๆœช็Ÿฅ้”™่ฏฏ", + "mm_e404": "ๆ— ๆณ•ๆ’ญๆ”พ้Ÿณ้ข‘๏ผ›้”™่ฏฏ 404๏ผšๆ–‡ไปถๆœชๆ‰พๅˆฐใ€‚", + "mm_e403": "ๆ— ๆณ•ๆ’ญๆ”พ้Ÿณ้ข‘๏ผ›้”™่ฏฏ 403๏ผš่ฎฟ้—ฎ่ขซๆ‹’็ปใ€‚\n\nๅฐ่ฏ•ๆŒ‰ F5 ้‡ๆ–ฐๅŠ ่ฝฝ๏ผŒไนŸ่ฎธไฝ ๅทฒ่ขซๆณจ้”€", + "mm_e500": "ๆ— ๆณ•ๆ’ญๆ”พ้Ÿณ้ข‘๏ผ›้”™่ฏฏ 500๏ผšๆฃ€ๆŸฅๆœๅŠกๅ™จๆ—ฅๅฟ—ใ€‚", //m + "mm_e5xx": "ๆ— ๆณ•ๆ’ญๆ”พ้Ÿณ้ข‘๏ผ›ๆœๅŠกๅ™จ้”™่ฏฏ", + "mm_nof": "้™„่ฟ‘ๆ‰พไธๅˆฐๆ›ดๅคš้Ÿณ้ข‘ๆ–‡ไปถ", + "mm_prescan": "ๆญฃๅœจๅฏปๆ‰พไธ‹ไธ€้ฆ–้Ÿณไน...", + "mm_scank": "ๆ‰พๅˆฐไธ‹ไธ€้ฆ–ๆญŒ๏ผš", + "mm_uncache": "็ผ“ๅญ˜ๅทฒๆธ…้™ค๏ผ›ๆ‰€ๆœ‰ๆญŒๆ›ฒๅฐ†ๅœจไธ‹ๆฌกๆ’ญๆ”พๆ—ถ้‡ๆ–ฐไธ‹่ฝฝ", + "mm_hnf": "้‚ฃ้ฆ–ๆญŒไธๅ†ๅญ˜ๅœจ", + + "im_hnf": "้‚ฃๅผ ๅ›พ็‰‡ไธๅ†ๅญ˜ๅœจ", + + "f_empty": '่ฏฅๆ–‡ไปถๅคนไธบ็ฉบ', + "f_chide": '้š่—ๅˆ— ยซ{0}ยป\n\nไฝ ๅฏไปฅๅœจ่ฎพ็ฝฎ้€‰้กนๅกไธญ้‡ๆ–ฐๆ˜พ็คบๅˆ—', + "f_bigtxt": "่ฟ™ไธชๆ–‡ไปถๅคงๅฐไธบ {0} MiB -- ็œŸ็š„ไปฅๆ–‡ๆœฌๅฝขๅผๆŸฅ็œ‹๏ผŸ", + "f_bigtxt2": " ไฝ ๆƒณๆŸฅ็œ‹ๆ–‡ไปถ็š„็ป“ๅฐพ้ƒจๅˆ†ๅ—๏ผŸ่ฟ™ไนŸๅฐ†ๅฏ็”จๅฎžๆ—ถ่ทŸ่ธชๅŠŸ่ƒฝ๏ผŒ่ƒฝๅคŸๅฎžๆ—ถๆ˜พ็คบๆ–ฐๆทปๅŠ ็š„ๆ–‡ๆœฌ่กŒใ€‚", //m + "fbd_more": '
    ๆ˜พ็คบ {0} ไธชๆ–‡ไปถไธญ็š„ {1} ไธช๏ผ›ๆ˜พ็คบ {2} ๆˆ– ๆ˜พ็คบๅ…จ้ƒจ
    ', + "fbd_all": '
    ๆ˜พ็คบ {0} ไธชๆ–‡ไปถไธญ็š„ {1} ไธช๏ผ›ๆ˜พ็คบๅ…จ้ƒจ
    ', + "f_anota": "ไป…้€‰ๆ‹ฉไบ† {0} ไธช้กน็›ฎ๏ผŒๅ…ฑ {1} ไธช๏ผ›\n่ฆ้€‰ๆ‹ฉๆ•ดไธชๆ–‡ไปถๅคน๏ผŒ่ฏทๅ…ˆๆปšๅŠจๅˆฐๅบ•้ƒจ", //m + + "f_dls": 'ๅฝ“ๅ‰ๆ–‡ไปถๅคนไธญ็š„ๆ–‡ไปถ้“พๆŽฅๅทฒ\nๆ›ดๆ”นไธบไธ‹่ฝฝ้“พๆŽฅ', + + "f_partial": "่ฆๅฎ‰ๅ…จไธ‹่ฝฝๆญฃๅœจไธŠไผ ็š„ๆ–‡ไปถ๏ผŒ่ฏท็‚นๅ‡ปๆฒกๆœ‰ .PARTIAL ๆ–‡ไปถๆ‰ฉๅฑ•ๅ็š„ๅŒๅๆ–‡ไปถใ€‚่ฏทๆŒ‰ๅ–ๆถˆๆˆ– Escape ๆ‰ง่กŒๆญคๆ“ไฝœใ€‚\n\nๆŒ‰ ็กฎๅฎš / Enter ๅฐ†ๅฟฝ็•ฅๆญค่ญฆๅ‘Šๅนถ็ปง็ปญไธ‹่ฝฝ .PARTIAL ไธดๆ—ถๆ–‡ไปถ๏ผŒ่ฟ™ๅ‡ ไนŽ่‚ฏๅฎšไผšๅฏผ่‡ดๆ•ฐๆฎๆŸๅใ€‚", + + "ft_paste": "็ฒ˜่ดด {0} ้กน$Nๅฟซๆท้”ฎ: ctrl-V", + "fr_eperm": 'ๆ— ๆณ•้‡ๅ‘ฝๅ๏ผš\nไฝ ๅœจๆญคๆ–‡ไปถๅคนไธญๆฒกๆœ‰ โ€œ็งปๅŠจโ€ ๆƒ้™', + "fd_eperm": 'ๆ— ๆณ•ๅˆ ้™ค๏ผš\nไฝ ๅœจๆญคๆ–‡ไปถๅคนไธญๆฒกๆœ‰ โ€œๅˆ ้™คโ€ ๆƒ้™', + "fc_eperm": 'ๆ— ๆณ•ๅ‰ชๅˆ‡๏ผš\nไฝ ๅœจๆญคๆ–‡ไปถๅคนไธญๆฒกๆœ‰ โ€œ็งปๅŠจโ€ ๆƒ้™', + "fp_eperm": 'ๆ— ๆณ•็ฒ˜่ดด๏ผš\nไฝ ๅœจๆญคๆ–‡ไปถๅคนไธญๆฒกๆœ‰ โ€œๅ†™ๅ…ฅโ€ ๆƒ้™', + "fr_emore": "้€‰ๆ‹ฉ่‡ณๅฐ‘ไธ€ไธช้กน็›ฎไปฅ้‡ๅ‘ฝๅ", + "fd_emore": "้€‰ๆ‹ฉ่‡ณๅฐ‘ไธ€ไธช้กน็›ฎไปฅๅˆ ้™ค", + "fc_emore": "้€‰ๆ‹ฉ่‡ณๅฐ‘ไธ€ไธช้กน็›ฎไปฅๅ‰ชๅˆ‡", + "fcp_emore": "้€‰ๆ‹ฉ่‡ณๅฐ‘ไธ€ไธช่ฆๅคๅˆถๅˆฐๅ‰ช่ดดๆฟ็š„้กน็›ฎ", //m + + "fs_sc": "ๅˆ†ไบซไฝ ๆ‰€ๅœจ็š„ๆ–‡ไปถๅคน", + "fs_ss": "ๅˆ†ไบซ้€‰ๅฎš็š„ๆ–‡ไปถ", + "fs_just1d": "ไฝ ไธ่ƒฝๅŒๆ—ถ้€‰ๆ‹ฉๅคšไธชๆ–‡ไปถๅคน๏ผŒไนŸไธ่ƒฝๅŒๆ—ถ้€‰ๆ‹ฉๆ–‡ไปถๅคนๅ’Œๆ–‡ไปถ", + "fs_abrt": "โŒ ๅ–ๆถˆ", + "fs_rand": "๐ŸŽฒ ้šๆœบๅ็งฐ", + "fs_go": "โœ… ๅˆ›ๅปบๅˆ†ไบซ", + "fs_name": "ๅ็งฐ", + "fs_src": "ๆบ", + "fs_pwd": "ๅฏ†็ ", + "fs_exp": "่ฟ‡ๆœŸ", + "fs_tmin": "ๅˆ†", + "fs_thrs": "ๆ—ถ", + "fs_tdays": "ๅคฉ", + "fs_never": "ๆฐธไน…", + "fs_pname": "้“พๆŽฅๅ็งฐๅฏ้€‰๏ผ›ๅฆ‚ๆžœไธบ็ฉบๅˆ™้šๆœบ", + "fs_tsrc": "ๅ…ฑไบซ็š„ๆ–‡ไปถๆˆ–ๆ–‡ไปถๅคน", + "fs_ppwd": "ๅฏ†็ ๅฏ้€‰", + "fs_w8": "ๆญฃๅœจๅˆ›ๅปบๆ–‡ไปถๅ…ฑไบซ...", + "fs_ok": "ๆŒ‰ Enter/็กฎๅฎš ๅคๅˆถๅˆฐๅ‰ช่ดดๆฟ\nๆŒ‰ ESC/ๅ–ๆถˆ ๅ…ณ้—ญ", + + "frt_dec": "ๅฏ่ƒฝไฟฎๅคไธ€ไบ›ๆŸๅ็š„ๆ–‡ไปถๅ\">url-decode", + "frt_rst": "ๅฐ†ไฟฎๆ”นๅŽ็š„ๆ–‡ไปถๅ้‡็ฝฎไธบๅŽŸๅง‹ๆ–‡ไปถๅ\">โ†บ ้‡็ฝฎ", + "frt_abrt": "ไธญๆญขๅนถๅ…ณ้—ญๆญค็ช—ๅฃ\">โŒ ๅ–ๆถˆ", + "frb_apply": "ๅบ”็”จ้‡ๅ‘ฝๅ", + "fr_adv": "ๆ‰น้‡ / ๅ…ƒๆ•ฐๆฎ / ๆจกๅผ้‡ๅ‘ฝๅ\">้ซ˜็บง", + "fr_case": "ๅŒบๅˆ†ๅคงๅฐๅ†™็š„ๆญฃๅˆ™่กจ่พพๅผ\">case", + "fr_win": "Windows ๅฎ‰ๅ…จๅ็งฐ๏ผ›ๅฐ† <>:"\\|?* ๆ›ฟๆขไธบๆ—ฅๆ–‡ๅ…จ่ง’ๅญ—็ฌฆ\">win", + "fr_slash": "ๅฐ† / ๆ›ฟๆขไธบไธไผšๅฏผ่‡ดๆ–ฐๆ–‡ไปถๅคนๅˆ›ๅปบ็š„ๅญ—็ฌฆ\">ไธไฝฟ็”จ /", + "fr_re": "ๆญฃๅˆ™่กจ่พพๅผๆœ็ดขๆจกๅผๅบ”็”จไบŽๅŽŸๅง‹ๆ–‡ไปถๅ๏ผ›$Nๅฏไปฅๅœจไธ‹้ข็š„ๆ ผๅผๅญ—ๆฎตไธญๅผ•็”จๆ•่Žท็ป„๏ผŒๅฆ‚<code>(1)</code>ๅ’Œ<code>(2)</code>็ญ‰็ญ‰ใ€‚", + "fr_fmt": "ๅ—ๅˆฐ foobar2000 ็š„ๅฏๅ‘๏ผš$N<code>(title)</code> ่ขซๆญŒๆ›ฒๅ็งฐๆ›ฟๆข,$N<code>[(artist) - ](title)</code> ไป…ๅฝ“ๆญŒๆ›ฒ่‰บๆœฏๅฎถไธไธบ็ฉบๆ—ถๆ‰ๅŒ…ๅซ<code>[ๆญค]</code>้ƒจๅˆ†$N<code>$lpad((tn),2,0)</code> ๅฐ†ๆ›ฒ็›ฎ็ผ–ๅทๅกซๅ……ไธบ 2 ไฝๆ•ฐๅญ—", + "fr_pdel": "ๅˆ ้™ค", + "fr_pnew": "ๅฆๅญ˜ไธบ", + "fr_pname": "ไธบไฝ ็š„ๆ–ฐ้ข„่ฎพๆไพ›ไธ€ไธชๅ็งฐ", + "fr_aborted": "ๅทฒไธญๆญข", + "fr_lold": "ๆ—งๅ็งฐ", + "fr_lnew": "ๆ–ฐๅ็งฐ", + "fr_tags": "้€‰ๅฎšๆ–‡ไปถ็š„ๆ ‡็ญพ๏ผˆๅช่ฏป๏ผŒไป…ไพ›ๅ‚่€ƒ๏ผ‰๏ผš", + "fr_busy": "ๆญฃๅœจ้‡ๅ‘ฝๅ {0} ้กน...\n\n{1}", + "fr_efail": "้‡ๅ‘ฝๅๅคฑ่ดฅ๏ผš\n", + "fr_nchg": "{0} ไธชๆ–ฐๅ็งฐ็”ฑไบŽ win ๅ’Œ/ๆˆ– ไธไฝฟ็”จ / ่ขซๆ›ดๆ”น\n\n็กฎๅฎš็ปง็ปญไฝฟ็”จ่ฟ™ไบ›ๆ›ดๆ”น็š„ๆ–ฐๅ็งฐ๏ผŸ", + + "fd_ok": "ๅˆ ้™คๆˆๅŠŸ", + "fd_err": "ๅˆ ้™คๅคฑ่ดฅ๏ผš\n", + "fd_none": "ๆฒกๆœ‰ๆ–‡ไปถ่ขซๅˆ ้™ค๏ผ›ๅฏ่ƒฝ่ขซๆœๅŠกๅ™จ้…็ฝฎ๏ผˆxbd๏ผ‰้˜ปๆญข๏ผŸ", + "fd_busy": "ๆญฃๅœจๅˆ ้™ค {0} ้กน...\n\n{1}", + "fd_warn1": "ๅˆ ้™ค่ฟ™ {0} ้กน๏ผŸ", + "fd_warn2": "ๆœ€ๅŽๆœบไผš๏ผ ๆ— ๆณ•ๆ’ค้”€ใ€‚ๅˆ ้™ค๏ผŸ", + + "fc_ok": "ๅ‰ชๅˆ‡ {0} ้กน", + "fc_warn": 'ๅ‰ชๅˆ‡ {0} ้กน\n\nไฝ†๏ผšๅชๆœ‰ ่ฟ™ไธช ๆต่งˆๅ™จๆ ‡็ญพ้กตๅฏไปฅ็ฒ˜่ดดๅฎƒไปฌ\n๏ผˆๅ› ไธบ้€‰ๆ‹ฉ้žๅธธๅบžๅคง๏ผ‰', + + "fcc_ok": "ๅทฒๅฐ† {0} ้กนๅคๅˆถๅˆฐๅ‰ช่ดดๆฟ", //m + "fcc_warn": 'ๅทฒๅฐ† {0} ้กนๅคๅˆถๅˆฐๅ‰ช่ดดๆฟ\n\nไฝ†๏ผšๅชๆœ‰ ่ฟ™ไธช ๆต่งˆๅ™จๆ ‡็ญพ้กตๅฏไปฅ็ฒ˜่ดดๅฎƒไปฌ\n๏ผˆๅ› ไธบ้€‰ๆ‹ฉ้žๅธธๅบžๅคง๏ผ‰', //m + + "fp_apply": "็กฎ่ฎคๅนถ็ซ‹ๅณ็ฒ˜่ดด", //m + "fp_skip": "่ทณ่ฟ‡ๅ†ฒ็ช", //m + "fp_ecut": "้ฆ–ๅ…ˆๅ‰ชๅˆ‡ๆˆ–ๅคๅˆถไธ€ไบ›ๆ–‡ไปถ/ๆ–‡ไปถๅคนไปฅ็ฒ˜่ดด/็งปๅŠจ\n\nๆณจๆ„๏ผšไฝ ๅฏไปฅๅœจไธๅŒ็š„ๆต่งˆๅ™จๆ ‡็ญพ้กตไน‹้—ดๅ‰ชๅˆ‡/็ฒ˜่ดด", //m + "fp_ename": "{0} ้กนไธ่ƒฝ็งปๅŠจๅˆฐ่ฟ™้‡Œ๏ผŒๅ› ไธบๅ็งฐๅทฒ่ขซๅ ็”จใ€‚่ฏทๅœจไธ‹ๆ–น่พ“ๅ…ฅๆ–ฐๅ็งฐไปฅ็ปง็ปญ๏ผŒๆˆ–ๅฐ†ๅ็งฐ็•™็ฉบ๏ผˆโ€œ่ทณ่ฟ‡ๅ†ฒ็ชโ€๏ผ‰ไปฅ่ทณ่ฟ‡่ฟ™ไบ›้กน๏ผš", //m + "fcp_ename": "{0} ้กนไธ่ƒฝๅคๅˆถๅˆฐ่ฟ™้‡Œ๏ผŒๅ› ไธบๅ็งฐๅทฒ่ขซๅ ็”จใ€‚่ฏทๅœจไธ‹ๆ–น่พ“ๅ…ฅๆ–ฐๅ็งฐไปฅ็ปง็ปญ๏ผŒๆˆ–ๅฐ†ๅ็งฐ็•™็ฉบ๏ผˆโ€œ่ทณ่ฟ‡ๅ†ฒ็ชโ€๏ผ‰ไปฅ่ทณ่ฟ‡่ฟ™ไบ›้กน๏ผš", //m + "fp_emore": "่ฟ˜ๆœ‰ไธ€ไบ›ๆ–‡ไปถๅๅ†ฒ็ช้œ€่ฆ่งฃๅ†ณ", //m + "fp_ok": "็งปๅŠจๆˆๅŠŸ", + "fcp_ok": "ๅคๅˆถๆˆๅŠŸ", //m + "fp_busy": "ๆญฃๅœจ็งปๅŠจ {0} ้กน...\n\n{1}", + "fcp_busy": "ๆญฃๅœจๅคๅˆถ {0} ้กน...\n\n{1}", //m + "fp_abrt": "ๆญฃๅœจไธญๆญข...", //m + "fp_err": "็งปๅŠจๅคฑ่ดฅ๏ผš\n", + "fcp_err": "ๅคๅˆถๅคฑ่ดฅ๏ผš\n", //m + "fp_confirm": "ๅฐ†่ฟ™ไบ› {0} ้กน็งปๅŠจๅˆฐ่ฟ™้‡Œ๏ผŸ", + "fcp_confirm": "ๅฐ†่ฟ™ไบ› {0} ้กนๅคๅˆถๅˆฐ่ฟ™้‡Œ๏ผŸ", //m + "fp_etab": 'ๆ— ๆณ•ไปŽๅ…ถไป–ๆต่งˆๅ™จๆ ‡็ญพ้กต่ฏปๅ–ๅ‰ช่ดดๆฟ', + "fp_name": "ไปŽไฝ ็š„่ฎพๅค‡ไธŠไผ ไธ€ไธชๆ–‡ไปถใ€‚็ป™ๅฎƒไธ€ไธชๅๅญ—๏ผš", + "fp_both_m": '
    ้€‰ๆ‹ฉ็ฒ˜่ดดๅ†…ๅฎน
    Enter = ไปŽ ยซ{1}ยป ็งปๅŠจ {0} ไธชๆ–‡ไปถ\nESC = ไปŽไฝ ็š„่ฎพๅค‡ไธŠไผ  {2} ไธชๆ–‡ไปถ', + "fcp_both_m": '
    ้€‰ๆ‹ฉ็ฒ˜่ดดๅ†…ๅฎน
    Enter = ไปŽ ยซ{1}ยป ๅคๅˆถ {0} ไธชๆ–‡ไปถ\nESC = ไปŽไฝ ็š„่ฎพๅค‡ไธŠไผ  {2} ไธชๆ–‡ไปถ', //m + "fp_both_b": '็งปๅŠจไธŠไผ ', + "fcp_both_b": 'ๅคๅˆถไธŠไผ ', //m + + "mk_noname": "ๅœจๅทฆไพงๆ–‡ๆœฌๆก†ไธญ่พ“ๅ…ฅๅ็งฐ๏ผŒ็„ถๅŽๅ†ๆ‰ง่กŒๆญคๆ“ไฝœ :p", + "nmd_i1": "่ฟ˜ๅฏไปฅๆทปๅŠ ้œ€่ฆ็š„ๆ–‡ไปถๆ‰ฉๅฑ•ๅ๏ผŒไพ‹ๅฆ‚ .md", //m + "nmd_i2": "็”ฑไบŽๆฒกๆœ‰ๅˆ ้™คๆƒ้™๏ผŒไฝ ๅช่ƒฝๅˆ›ๅปบ .md ๆ–‡ไปถ", //m + + "tv_load": "ๅŠ ่ฝฝๆ–‡ๆœฌๆ–‡ไปถ๏ผš\n\n{0}\n\n{1}% ({2} ็š„ {3} MiB ๅทฒๅŠ ่ฝฝ)", + "tv_xe1": "ๆ— ๆณ•ๅŠ ่ฝฝๆ–‡ๆœฌๆ–‡ไปถ๏ผš\n\n้”™่ฏฏ ", + "tv_xe2": "404๏ผŒๆ–‡ไปถๆœชๆ‰พๅˆฐ", + "tv_lst": "ๆ–‡ๆœฌๆ–‡ไปถๅˆ—่กจ", + "tvt_close": "่ฟ”ๅ›žๅˆฐๆ–‡ไปถๅคน่ง†ๅ›พ$Nๅฟซๆท้”ฎ: M๏ผˆๆˆ– Esc๏ผ‰\">โŒ ๅ…ณ้—ญ", + "tvt_dl": "ไธ‹่ฝฝๆญคๆ–‡ไปถ$Nๅฟซๆท้”ฎ: Y\">๐Ÿ’พ ไธ‹่ฝฝ", + "tvt_prev": "ๆ˜พ็คบไธŠไธ€ไธชๆ–‡ๆกฃ$Nๅฟซๆท้”ฎ: i\">โฌ† ไธŠไธ€ไธช", + "tvt_next": "ๆ˜พ็คบไธ‹ไธ€ไธชๆ–‡ๆกฃ$Nๅฟซๆท้”ฎ: K\">โฌ‡ ไธ‹ไธ€ไธช", + "tvt_sel": "้€‰ๆ‹ฉๆ–‡ไปถ ๏ผˆ็”จไบŽๅ‰ชๅˆ‡/ๅˆ ้™ค/...๏ผ‰$Nๅฟซๆท้”ฎ: S\">้€‰ๆ‹ฉ", + "tvt_j": "็พŽๅŒ–json$Nๅฟซๆท้”ฎ: shift-J\">j", //m + "tvt_edit": "ๅœจๆ–‡ๆœฌ็ผ–่พ‘ๅ™จไธญๆ‰“ๅผ€ๆ–‡ไปถ$Nๅฟซๆท้”ฎ: E\">โœ๏ธ ็ผ–่พ‘", + "tvt_tail": "็›‘่ง†ๆ–‡ไปถๆ›ดๆ”น๏ผŒๅนถๅฎžๆ—ถๆ˜พ็คบๆ–ฐๅขž็š„่กŒ\">๐Ÿ“ก ่ทŸ่ธช", //m + "tvt_wrap": "่‡ชๅŠจๆข่กŒ\">โ†ต", //m + "tvt_atail": "้”ๅฎšๅˆฐๅบ•้ƒจ๏ผŒๆ˜พ็คบๆœ€ๆ–ฐๅ†…ๅฎน\">โš“", //m + "tvt_ctail": "่งฃๆž็ปˆ็ซฏ้ขœ่‰ฒ๏ผˆANSI ่ฝฌไน‰็ ๏ผ‰\">๐ŸŒˆ", //m + "tvt_ntail": "ๆปšๅŠจๅކๅฒไธŠ้™๏ผˆไฟ็•™ๅคšๅฐ‘ๅญ—่Š‚็š„ๆ–‡ๆœฌ๏ผ‰", //m + + "m3u_add1": "ๆญŒๆ›ฒๅทฒๆทปๅŠ ๅˆฐ m3u ๆ’ญๆ”พๅˆ—่กจ", //m + "m3u_addn": "ๅทฒๆทปๅŠ  {0} ้ฆ–ๆญŒๆ›ฒๅˆฐ m3u ๆ’ญๆ”พๅˆ—่กจ", //m + "m3u_clip": "m3u ๆ’ญๆ”พๅˆ—่กจๅทฒๅคๅˆถๅˆฐๅ‰ช่ดดๆฟ\n\n่ฏทๅˆ›ๅปบไธ€ไธชไปฅ .m3u ็ป“ๅฐพ็š„ๆ–‡ๆœฌๆ–‡ไปถ๏ผŒ\nๅนถๅฐ†ๆ’ญๆ”พๅˆ—่กจ็ฒ˜่ดดๅˆฐ่ฏฅๆ–‡ไปถไธญ๏ผ›\n่ฟ™ๆ ทๅฐฑๅฏไปฅๆ’ญๆ”พไบ†", //m + + "gt_vau": "ไธๆ˜พ็คบ่ง†้ข‘๏ผŒไป…ๆ’ญๆ”พ้Ÿณ้ข‘\">๐ŸŽง", + "gt_msel": "ๅฏ็”จๆ–‡ไปถ้€‰ๆ‹ฉ๏ผ›ๆŒ‰ไฝ ctrl ้”ฎ็‚นๅ‡ปๆ–‡ไปถไปฅ่ฆ†็›–$N$N<em>ๅฝ“ๅฏ็”จๆ—ถ๏ผšๅŒๅ‡ปๆ–‡ไปถ/ๆ–‡ไปถๅคนไปฅๆ‰“ๅผ€ๅฎƒ</em>$N$Nๅฟซๆท้”ฎ๏ผšS\">ๅคš้€‰", + "gt_crop": "ไธญๅฟƒ่ฃๅ‰ช็ผฉ็•ฅๅ›พ\">่ฃๅ‰ช", + "gt_3x": "้ซ˜ๅˆ†่พจ็އ็ผฉ็•ฅๅ›พ\">3x", + "gt_zoom": "็ผฉๆ”พ", + "gt_chop": "ๅ‰ช่ฃ", + "gt_sort": "ๆŽ’ๅบไพๆฎ", + "gt_name": "ๅ็งฐ", + "gt_sz": "ๅคงๅฐ", + "gt_ts": "ๆ—ฅๆœŸ", + "gt_ext": "็ฑปๅž‹", + "gt_c1": "ๆˆชๆ–ญๆ–‡ไปถๅๆ›ดๅคš๏ผˆๆ˜พ็คบๆ›ดๅฐ‘๏ผ‰", + "gt_c2": "ๆˆชๆ–ญๆ–‡ไปถๅๆ›ดๅฐ‘๏ผˆๆ˜พ็คบๆ›ดๅคš๏ผ‰", + + "sm_w8": "ๆญฃๅœจๆœ็ดข...", + "sm_prev": "ไธŠๆฌกๆŸฅ่ฏข็š„ๆœ็ดข็ป“ๆžœ๏ผš\n ", + "sl_close": "ๅ…ณ้—ญๆœ็ดข็ป“ๆžœ", + "sl_hits": "ๆ˜พ็คบ {0} ไธช็ป“ๆžœ", + "sl_moar": "ๅŠ ่ฝฝๆ›ดๅคš", + + "s_sz": "ๅคงๅฐ", + "s_dt": "ๆ—ฅๆœŸ", + "s_rd": "่ทฏๅพ„", + "s_fn": "ๅ็งฐ", + "s_ta": "ๆ ‡็ญพ", + "s_ua": "ไธŠไผ ไบŽ", + "s_ad": "้ซ˜็บง", + "s_s1": "ๆœ€ๅฐ MiB", + "s_s2": "ๆœ€ๅคง MiB", + "s_d1": "ๆœ€ๆ—ฉ iso8601", + "s_d2": "ๆœ€ๆ™š iso8601", + "s_u1": "ไธŠไผ ๅŽ", + "s_u2": "ๅ’Œ/ๆˆ–ไน‹ๅ‰", + "s_r1": "่ทฏๅพ„ๅŒ…ๅซ  ๏ผˆ็ฉบๆ ผๅˆ†้š”๏ผ‰", + "s_f1": "ๅ็งฐๅŒ…ๅซ  ๏ผˆ็”จ -nope ๅฆๅฎš๏ผ‰", + "s_t1": "ๆ ‡็ญพๅŒ…ๅซ  ๏ผˆ^=ๅผ€ๅคด๏ผŒ$=็ป“ๅฐพ๏ผ‰", + "s_a1": "็‰นๅฎšๅ…ƒๆ•ฐๆฎๅฑžๆ€ง", + + "md_eshow": "ๆ— ๆณ•ๆธฒๆŸ“ ", + "md_off": "[๐Ÿ“œreadme] ๅœจ [โš™๏ธ] ไธญ็ฆ็”จ -- ๆ–‡ๆกฃ้š่—", + + "badreply": "่งฃๆžๆœๅŠกๅ™จๅ›žๅคๅคฑ่ดฅ", + + "xhr403": "403: ่ฎฟ้—ฎ่ขซๆ‹’็ป\n\nๅฐ่ฏ•ๆŒ‰ F5 ๅฏ่ƒฝไผš้‡ๆ–ฐ็™ปๅฝ•", + "xhr0": "ๆœช็Ÿฅ๏ผˆๅฏ่ƒฝไธขๅคฑ่ฟžๆŽฅๅˆฐๆœๅŠกๅ™จ๏ผŒๆˆ–ๆœๅŠกๅ™จ็ฆป็บฟ๏ผ‰", + "cf_ok": "ๆŠฑๆญ‰ -- DD" + wah + "oS ไฟๆŠคๅฏๅŠจ\n\nไบ‹ๆƒ…ๅบ”่ฏฅๅœจๅคง็บฆ 30 ็ง’ๅŽๆขๅค\n\nๅฆ‚ๆžœๆฒกๆœ‰ไปปไฝ•ๅ˜ๅŒ–๏ผŒๆŒ‰ F5 ้‡ๆ–ฐๅŠ ่ฝฝ้กต้ข", + "tl_xe1": "ๆ— ๆณ•ๅˆ—ๅ‡บๅญๆ–‡ไปถๅคน๏ผš\n\n้”™่ฏฏ ", + "tl_xe2": "404: ๆ–‡ไปถๅคนๆœชๆ‰พๅˆฐ", + "fl_xe1": "ๆ— ๆณ•ๅˆ—ๅ‡บๆ–‡ไปถๅคนไธญ็š„ๆ–‡ไปถ๏ผš\n\n้”™่ฏฏ ", + "fl_xe2": "404: ๆ–‡ไปถๅคนๆœชๆ‰พๅˆฐ", + "fd_xe1": "ๆ— ๆณ•ๅˆ›ๅปบๅญๆ–‡ไปถๅคน๏ผš\n\n้”™่ฏฏ ", + "fd_xe2": "404: ็ˆถๆ–‡ไปถๅคนๆœชๆ‰พๅˆฐ", + "fsm_xe1": "ๆ— ๆณ•ๅ‘้€ๆถˆๆฏ๏ผš\n\n้”™่ฏฏ ", + "fsm_xe2": "404: ็ˆถๆ–‡ไปถๅคนๆœชๆ‰พๅˆฐ", + "fu_xe1": "ๆ— ๆณ•ไปŽๆœๅŠกๅ™จๅŠ ่ฝฝๆœชๅ‘ๅธƒๅˆ—่กจ๏ผš\n\n้”™่ฏฏ ", + "fu_xe2": "404: ๆ–‡ไปถๆœชๆ‰พๅˆฐ??", + + "fz_tar": "ๆœชๅŽ‹็ผฉ็š„ gnu-tar ๆ–‡ไปถ๏ผˆlinux / mac๏ผ‰", + "fz_pax": "ๆœชๅŽ‹็ผฉ็š„ pax ๆ ผๅผ tar๏ผˆ่พƒๆ…ข๏ผ‰", + "fz_targz": "gnu-tar ๅธฆ gzip ็บงๅˆซ 3 ๅŽ‹็ผฉ$N$N้€šๅธธ้žๅธธๆ…ข๏ผŒๆ‰€ไปฅ$Nๅปบ่ฎฎไฝฟ็”จๆœชๅŽ‹็ผฉ็š„ tar", + "fz_tarxz": "gnu-tar ๅธฆ xz ็บงๅˆซ 1 ๅŽ‹็ผฉ$N$N้€šๅธธ้žๅธธๆ…ข๏ผŒๆ‰€ไปฅ$Nๅปบ่ฎฎไฝฟ็”จๆœชๅŽ‹็ผฉ็š„ tar", + "fz_zip8": "zip ๅธฆ utf8 ๆ–‡ไปถๅ๏ผˆๅœจ windows 7 ๅŠๆ›ดๆ—ฉ็‰ˆๆœฌไธŠๅฏ่ƒฝไผšๅ‡บ็Žฐ้—ฎ้ข˜๏ผ‰", + "fz_zipd": "zip ๅธฆไผ ็ปŸ cp437 ๆ–‡ไปถๅ๏ผŒ้€‚็”จไบŽ้žๅธธๆ—ง็š„่ฝฏไปถ", + "fz_zipc": "cp437 ๅธฆ crc32 ๆๅ‰่ฎก็ฎ—๏ผŒ$N้€‚็”จไบŽ MS-DOS PKZIP v2.04g๏ผˆ1993 ๅนด 10 ๆœˆ๏ผ‰$N๏ผˆๅค„็†ๆ—ถ้—ด่พƒ้•ฟ๏ผŒๅœจไธ‹่ฝฝๅผ€ๅง‹ไน‹ๅ‰๏ผ‰", + + "un_m1": "ไฝ ๅฏไปฅๅˆ ้™คไธ‹้ข็š„่ฟ‘ๆœŸไธŠไผ ๏ผˆๆˆ–ไธญๆญขๆœชๅฎŒๆˆ็š„ไธŠไผ ๏ผ‰", + "un_upd": "ๅˆทๆ–ฐ", + "un_m4": "ๆˆ–ๅˆ†ไบซไธ‹้ขๅฏ่ง็š„ๆ–‡ไปถ๏ผš", + "un_ulist": "ๆ˜พ็คบ", + "un_ucopy": "ๅคๅˆถ", + "un_flt": "ๅฏ้€‰่ฟ‡ๆปคๅ™จ๏ผš  URL ๅฟ…้กปๅŒ…ๅซ", + "un_fclr": "ๆธ…้™ค่ฟ‡ๆปคๅ™จ", + "un_derr": 'ๆœชๅ‘ๅธƒๅˆ ้™คๅคฑ่ดฅ๏ผš\n', + "un_f5": 'ๅ‡บ็Žฐ้—ฎ้ข˜๏ผŒ่ฏทๅฐ่ฏ•ๅˆทๆ–ฐๆˆ–ๆŒ‰ F5', + "un_uf5": "ๆŠฑๆญ‰๏ผŒไฝ ๅฟ…้กปๅˆทๆ–ฐ้กต้ข๏ผˆไพ‹ๅฆ‚๏ผŒๆŒ‰ F5 ๆˆ– CTRL-R๏ผ‰๏ผŒ็„ถๅŽๆ‰่ƒฝไธญๆญขๆญคไธŠไผ ", + "un_nou": '่ญฆๅ‘Š๏ผš ๆœๅŠกๅ™จๅคชๅฟ™๏ผŒๆ— ๆณ•ๆ˜พ็คบๆœชๅฎŒๆˆ็š„ไธŠไผ ๏ผ›็จๅŽ็‚นๅ‡ปโ€œๅˆทๆ–ฐโ€้“พๆŽฅ', + "un_noc": '่ญฆๅ‘Š๏ผš ๆœๅŠกๅ™จ้…็ฝฎไธญๆœชๅฏ็”จ/ๅ…่ฎธๅฎŒๅ…จไธŠไผ ๆ–‡ไปถ็š„ๅ–ๆถˆๅ‘ๅธƒ', + "un_max": "ๆ˜พ็คบๅ‰ 2000 ไธชๆ–‡ไปถ๏ผˆไฝฟ็”จ่ฟ‡ๆปคๅ™จ๏ผ‰", + "un_avail": "{0} ไธช่ฟ‘ๆœŸไธŠไผ ๅฏไปฅ่ขซๅˆ ้™ค
    {1} ไธชๆœชๅฎŒๆˆ็š„ไธŠไผ ๅฏไปฅ่ขซไธญๆญข", + "un_m2": "ๆŒ‰ไธŠไผ ๆ—ถ้—ดๆŽ’ๅบ๏ผ›ๆœ€ๆ–ฐ็š„ๅœจๅ‰๏ผš", + "un_no1": "ๅ“Žๅ‘€๏ผๆฒกๆœ‰่ถณๅคŸๆ–ฐ็š„ไธŠไผ ", + "un_no2": "ๅ“Žๅ‘€๏ผๆฒกๆœ‰็ฌฆๅˆ่ฏฅ่ฟ‡ๆปคๅ™จ็š„่ถณๅคŸๆ–ฐ็š„ไธŠไผ ", + "un_next": "ๅˆ ้™คไธ‹้ข็š„ไธ‹ไธ€ไธช {0} ไธชๆ–‡ไปถ", + "un_abrt": "ไธญๆญข", + "un_del": "ๅˆ ้™ค", + "un_m3": "ๆญฃๅœจๅŠ ่ฝฝไฝ ็š„่ฟ‘ๆœŸไธŠไผ ...", + "un_busy": "ๆญฃๅœจๅˆ ้™ค {0} ไธชๆ–‡ไปถ...", + "un_clip": "{0} ไธช้“พๆŽฅๅทฒๅคๅˆถๅˆฐๅ‰ช่ดดๆฟ", + + "u_https1": "ไฝ ๅบ”่ฏฅ", + "u_https2": "ๅˆ‡ๆขๅˆฐ https", + "u_https3": "ไปฅ่Žทๅพ—ๆ›ดๅฅฝ็š„ๆ€ง่ƒฝ", + "u_ancient": 'ไฝ ็š„ๆต่งˆๅ™จ้žๅธธๅค่€ -- ไนŸ่ฎธไฝ ๅบ”่ฏฅ ๆ”น็”จ bup', + "u_nowork": "้œ€่ฆ Firefox 53+ ๆˆ– Chrome 57+ ๆˆ– iOS 11+", + "tail_2old": "้œ€่ฆ Firefox 105+ ๆˆ– Chrome 71+ ๆˆ– iOS 14.5+", + "u_nodrop": 'ๆต่งˆๅ™จ็‰ˆๆœฌไฝŽ๏ผŒไธๆ”ฏๆŒ้€š่ฟ‡ๆ‹–ๅŠจๆ–‡ไปถๅˆฐ็ช—ๅฃๆฅไธŠไผ ๆ–‡ไปถ', + "u_notdir": "ไธๆ˜ฏๆ–‡ไปถๅคน๏ผ\n\nๆ‚จ็š„ๆต่งˆๅ™จๅคชๆ—ง๏ผ›\n่ฏทๅฐ่ฏ•ๅฐ†ๆ–‡ไปถๅคนๆ‹–ๅ…ฅ็ช—ๅฃ", + "u_uri": "่ฆไปŽๅ…ถไป–ๆต่งˆๅ™จ็ช—ๅฃๆ‹–ๆ”พๅ›พ็‰‡๏ผŒ\n่ฏทๅฐ†ๅ…ถๆ‹–ๆ”พๅˆฐๅคง็š„ไธŠไผ ๆŒ‰้’ฎไธŠ", + "u_enpot": 'ๅˆ‡ๆขๅˆฐ ็ฎ€็บฆ UI๏ผˆๅฏ่ƒฝๆ้ซ˜ไธŠไผ ้€Ÿๅบฆ๏ผ‰', + "u_depot": 'ๅˆ‡ๆขๅˆฐ ็ฒพ็พŽ UI๏ผˆๅฏ่ƒฝ้™ไฝŽไธŠไผ ้€Ÿๅบฆ๏ผ‰', + "u_gotpot": 'ๅˆ‡ๆขๅˆฐ็ฎ€ๅŒ–UIไปฅๆ้ซ˜ไธŠไผ ้€Ÿๅบฆ๏ผŒ\n\n้šๆ—ถๅฏไปฅไธๅŒๆ„ๅนถๅˆ‡ๆขๅ›žๅŽป๏ผ', + "u_pott": "

    ไธชๆ–‡ไปถ๏ผš   {0} ๅทฒๅฎŒๆˆ๏ผŒ   {1} ๅคฑ่ดฅ๏ผŒ   {2} ๆญฃๅœจๅค„็†๏ผŒ   {3} ๆŽ’้˜Ÿไธญ

    ", + "u_ever": "่ฟ™ๆ˜ฏๅŸบๆœฌ็š„ไธŠไผ ๅทฅๅ…ท๏ผ› up2k ้œ€่ฆ่‡ณๅฐ‘
    chrome 21 // firefox 13 // edge 12 // opera 12 // safari 5.1", + "u_su2k": '่ฟ™ๆ˜ฏๅŸบๆœฌ็š„ไธŠไผ ๅทฅๅ…ท๏ผ›up2k ๆ›ดๅฅฝ', + "u_uput": 'ๆ้ซ˜้€Ÿๅบฆ๏ผˆ่ทณ่ฟ‡ๆ ก้ชŒๅ’Œ๏ผ‰', + "u_ewrite": 'ไฝ ๅฏน่ฟ™ไธชๆ–‡ไปถๅคนๆฒกๆœ‰ๅ†™ๅ…ฅๆƒ้™', + "u_eread": 'ไฝ ๅฏน่ฟ™ไธชๆ–‡ไปถๅคนๆฒกๆœ‰่ฏปๅ–ๆƒ้™', + "u_enoi": 'ๆ–‡ไปถๆœ็ดขๅœจๆœๅŠกๅ™จ้…็ฝฎไธญๆœชๅฏ็”จ', + "u_enoow": "ๆ— ๆณ•่ฆ†็›–ๆญคๅค„็š„ๆ–‡ไปถ๏ผ›้œ€่ฆๅˆ ้™คๆƒ้™", //m + "u_badf": '่ฟ™ไบ› {0} ไธชๆ–‡ไปถ๏ผˆๅ…ฑ {1} ไธช๏ผ‰่ขซ่ทณ่ฟ‡๏ผŒๅฏ่ƒฝๆ˜ฏ็”ฑไบŽๆ–‡ไปถ็ณป็ปŸๆƒ้™๏ผš\n\n', + "u_blankf": '่ฟ™ไบ› {0} ไธชๆ–‡ไปถ๏ผˆๅ…ฑ {1} ไธช๏ผ‰ๆ˜ฏ็ฉบ็™ฝ็š„๏ผ›ๆ˜ฏๅฆไป็„ถไธŠไผ ๏ผŸ\n\n', + "u_applef": "่ฟ™ไบ› {0} ไธชๆ–‡ไปถ๏ผˆๅ…ฑ {1} ไธช๏ผ‰ๅฏ่ƒฝๆ˜ฏไธ้œ€่ฆ็š„๏ผ›\nๆŒ‰ ็กฎๅฎš/Enter ่ทณ่ฟ‡ไปฅไธ‹ๆ–‡ไปถ๏ผŒ\nๆŒ‰ ๅ–ๆถˆ/ESC ๅ–ๆถˆๆŽ’้™ค๏ผŒๅนถไธŠไผ ่ฟ™ไบ›ๆ–‡ไปถ๏ผš\n\n", //m + "u_just1": '\nไนŸ่ฎธๅฆ‚ๆžœไฝ ๅช้€‰ๆ‹ฉไธ€ไธชๆ–‡ไปถไผšๆ›ดๅฅฝ', + "u_ff_many": "ๅฆ‚ๆžœไฝ ไฝฟ็”จ็š„ๆ˜ฏ Linux / MacOS / Android๏ผŒ ้‚ฃไนˆ่ฟ™ไธชๆ–‡ไปถๆ•ฐ้‡ ๅฏ่ƒฝ ๅดฉๆบƒ Firefox!\nๅฆ‚ๆžœๅ‘็”Ÿ่ฟ™็งๆƒ…ๅ†ต๏ผŒ่ฏทๅ†่ฏ•ไธ€ๆฌก๏ผˆๆˆ–ไฝฟ็”จ Chrome๏ผ‰ใ€‚", + "u_up_life": "ๆญคไธŠไผ ๅฐ†ๅœจ {0} ๅŽไปŽๆœๅŠกๅ™จๅˆ ้™ค", + "u_asku": 'ๅฐ†่ฟ™ไบ› {0} ไธชๆ–‡ไปถไธŠไผ ๅˆฐ {1}', + "u_unpt": "ไฝ ๅฏไปฅไฝฟ็”จๅทฆไธŠ่ง’็š„ ๐Ÿงฏ ๆ’ค้”€/ๅˆ ้™คๆญคไธŠไผ ", + "u_bigtab": 'ๅฐ†ๆ˜พ็คบ {0} ไธชๆ–‡ไปถ,ๅฏ่ƒฝไผšๅฏผ่‡ดๆ‚จ็š„ๆต่งˆๅ™จๅดฉๆบƒใ€‚ๆ‚จ็กฎๅฎšๅ—๏ผŸ', + "u_scan": 'ๆญฃๅœจๆ‰ซๆๆ–‡ไปถ...', + "u_dirstuck": 'ๆ‚จ็š„ๆต่งˆๅ™จๆ— ๆณ•่ฎฟ้—ฎไปฅไธ‹ {0} ไธชๆ–‡ไปถ/ๆ–‡ไปถๅคน๏ผŒๅฎƒไปฌๅฐ†่ขซ่ทณ่ฟ‡๏ผš', + "u_etadone": 'ๅฎŒๆˆ ({0}, {1} ไธชๆ–‡ไปถ)', + "u_etaprep": '(ๅ‡†ๅค‡ไธŠไผ )', + "u_hashdone": 'ๅ“ˆๅธŒๅฎŒๆˆ', + "u_hashing": 'ๅ“ˆๅธŒ', + "u_hs": 'ๆญฃๅœจ็ญ‰ๅพ…ๆœๅŠกๅ™จ...', + "u_started": "ๆ–‡ไปถ็ŽฐๅœจๆญฃๅœจไธŠไผ  ๐Ÿš€", //m + "u_dupdefer": "่ฟ™ๆ˜ฏไธ€ไธช้‡ๅคๆ–‡ไปถใ€‚ๅฎƒๅฐ†ๅœจๆ‰€ๆœ‰ๅ…ถไป–ๆ–‡ไปถไธŠไผ ๅŽ่ฟ›่กŒๅค„็†", + "u_actx": "ๅ•ๅ‡ปๆญคๆ–‡ๆœฌไปฅ้˜ฒๆญขๅˆ‡ๆขๅˆฐๅ…ถไป–็ช—ๅฃ/้€‰้กนๅกๆ—ถๆ€ง่ƒฝไธ‹้™", + "u_fixed": "ๅฅฝ๏ผ ๅทฒไฟฎๅค ๐Ÿ‘", + "u_cuerr": "ไธŠไผ ๅ— {0} ็š„ {1} ๅคฑ่ดฅ๏ผ›\nๅฏ่ƒฝๆ— ๅฎณ๏ผŒ็ปง็ปญไธญ\n\nๆ–‡ไปถ๏ผš{2}", + "u_cuerr2": "ๆœๅŠกๅ™จๆ‹’็ปไธŠไผ ๏ผˆๅ— {0} ็š„ {1}๏ผ‰๏ผ›\n็จๅŽ้‡่ฏ•\n\nๆ–‡ไปถ๏ผš{2}\n\n้”™่ฏฏ ", + "u_ehstmp": "ๅฐ†้‡่ฏ•๏ผ›่งๅณไธ‹่ง’", + "u_ehsfin": "ๆœๅŠกๅ™จๆ‹’็ปไบ†ๆœ€็ปˆไธŠไผ ่ฏทๆฑ‚๏ผ›ๆญฃๅœจ้‡่ฏ•...", + "u_ehssrch": "ๆœๅŠกๅ™จๆ‹’็ปไบ†ๆœ็ดข่ฏทๆฑ‚๏ผ›ๆญฃๅœจ้‡่ฏ•...", + "u_ehsinit": "ๆœๅŠกๅ™จๆ‹’็ปไบ†ๅฏๅŠจไธŠไผ ่ฏทๆฑ‚๏ผ›ๆญฃๅœจ้‡่ฏ•...", + "u_eneths": "่ฟ›่กŒไธŠไผ ๆกๆ‰‹ๆ—ถ็š„็ฝ‘็ปœ้”™่ฏฏ๏ผ›ๆญฃๅœจ้‡่ฏ•...", + "u_enethd": "ๆต‹่ฏ•็›ฎๆ ‡ๅญ˜ๅœจๆ—ถ็š„็ฝ‘็ปœ้”™่ฏฏ๏ผ›ๆญฃๅœจ้‡่ฏ•...", + "u_cbusy": "็ญ‰ๅพ…ๆœๅŠกๅ™จๅœจ็ฝ‘็ปœๆ•…้šœๅŽๅ†ๆฌกไฟกไปปๆˆ‘ไปฌ...", + "u_ehsdf": "ๆœๅŠกๅ™จ็ฃ็›˜็ฉบ้—ดไธ่ถณ๏ผ\n\nๅฐ†็ปง็ปญ้‡่ฏ•๏ผŒไปฅ้˜ฒๆœ‰ไบบ\n้‡Šๆ”พ่ถณๅคŸ็š„็ฉบ้—ดไปฅ็ปง็ปญ", + "u_emtleak1": "็œ‹่ตทๆฅไฝ ็š„็ฝ‘้กตๆต่งˆๅ™จๅฏ่ƒฝๆœ‰ๅ†…ๅญ˜ๆณ„ๆผ๏ผ›\n่ฏท", + "u_emtleak2": ' ๅˆ‡ๆขๅˆฐ https๏ผˆๆŽจ่๏ผ‰ ๆˆ– ', + "u_emtleak3": ' ', + "u_emtleakc": 'ๅฐ่ฏ•ไปฅไธ‹ๆ“ไฝœ๏ผš\n
    • ๆŒ‰ F5 ๅˆทๆ–ฐ้กต้ข
    • ็„ถๅŽๅœจ โš™๏ธ ่ฎพ็ฝฎ ไธญ็ฆ็”จ mt ๆŒ‰้’ฎ
    • ็„ถๅŽๅ†ๆฌกๅฐ่ฏ•ไธŠไผ 
    ไธŠไผ ไผš็จๅพฎๆ…ขไธ€ไบ›๏ผŒไธ่ฟ‡ๆฒกๅ…ณ็ณปใ€‚\nๆŠฑๆญ‰ๅธฆๆฅ้บป็ƒฆ๏ผ\n\nPS๏ผšchrome v107 ๅทฒไฟฎๅคๆญค้—ฎ้ข˜', + "u_emtleakf": 'ๅฐ่ฏ•ไปฅไธ‹ๆ“ไฝœ๏ผš\n
    • ๆŒ‰ F5 ๅˆทๆ–ฐ้กต้ข
    • ็„ถๅŽๅœจไธŠไผ  UI ไธญๅฏ็”จ ๐Ÿฅ”๏ผˆๅœŸ่ฑ†๏ผ‰
    • ็„ถๅŽๅ†ๆฌกๅฐ่ฏ•ไธŠไผ 
    \nPS: firefox ๅธŒๆœ›ไผšๅœจๆŸไธชๆ—ถ็‚นไฟฎๅคๆญค้—ฎ้ข˜', + "u_s404": "ๅœจๆœๅŠกๅ™จไธŠๆœชๆ‰พๅˆฐ", + "u_expl": "่งฃ้‡Š", + "u_maxconn": "ๅคงๅคšๆ•ฐๆต่งˆๅ™จ้™ๅˆถไธบ 6๏ผŒไฝ† Firefox ๅ…่ฎธไฝ ้€š่ฟ‡ connections-per-server ๅœจ about:config ไธญๆ้ซ˜้™ๅˆถ", + "u_tu": '

    ่ญฆๅ‘Š๏ผšๅฏ็”จไบ† turbo๏ผŒ ๅฎขๆˆท็ซฏๅฏ่ƒฝๆ— ๆณ•ๆฃ€ๆต‹ๅ’ŒๆขๅคไธๅฎŒๆ•ด็š„ไธŠไผ ๏ผ›ๆŸฅ็œ‹ turbo ๆŒ‰้’ฎๅทฅๅ…ทๆ็คบ

    ', + "u_ts": '

    ่ญฆๅ‘Š๏ผšๅฏ็”จไบ† turbo๏ผŒ ๆœ็ดข็ป“ๆžœๅฏ่ƒฝไธๆญฃ็กฎ๏ผ›ๆŸฅ็œ‹ turbo ๆŒ‰้’ฎๅทฅๅ…ทๆ็คบ

    ', + "u_turbo_c": "ๆœๅŠกๅ™จ้…็ฝฎไธญ็ฆ็”จไบ† turbo", + "u_turbo_g": "็ฆ็”จ turbo๏ผŒๅ› ไธบไฝ ๅœจๆญคๅทไธญๆฒกๆœ‰\n็›ฎๅฝ•ๅˆ—่กจๆƒ้™", + "u_life_cfg": '่‡ชๅŠจๅˆ ้™คๆ—ถ้—ดไธบ ๅˆ†้’Ÿ๏ผˆๆˆ– ๅฐๆ—ถ๏ผ‰', + "u_life_est": 'ไธŠไผ ๅฐ†ๅœจ --- ๅˆ ้™ค', + "u_life_max": 'ๆญคๆ–‡ไปถๅคนๅผบๅˆถๆ‰ง่กŒ\nๆœ€ๅคงๅฏฟๅ‘ฝไธบ {0}', + "u_unp_ok": 'ๅ…่ฎธๅ–ๆถˆๅ‘ๅธƒ {0}', + "u_unp_ng": 'ๅ–ๆถˆๅ‘ๅธƒๅฐ†ไธ่ขซๅ…่ฎธ', + "ue_ro": 'ไฝ ๅฏน่ฟ™ไธชๆ–‡ไปถๅคน็š„่ฎฟ้—ฎๆ˜ฏๅช่ฏป็š„\n\n', + "ue_nl": 'ไฝ ๅฝ“ๅ‰ๆœช็™ปๅฝ•', + "ue_la": 'ไฝ ๅฝ“ๅ‰ไปฅ "{0}" ็™ปๅฝ•', + "ue_sr": 'ไฝ ๅฝ“ๅ‰ๅค„ไบŽๆ–‡ไปถๆœ็ดขๆจกๅผ\n\n้€š่ฟ‡็‚นๅ‡ปๅคงๆœ็ดขๆŒ‰้’ฎๆ—่พน็š„ๆ”พๅคง้•œ ๐Ÿ”Ž ๅˆ‡ๆขๅˆฐไธŠไผ ๆจกๅผ๏ผŒ็„ถๅŽ้‡่ฏ•ไธŠไผ \n\nๆŠฑๆญ‰', + "ue_ta": 'ๅฐ่ฏ•ๅ†ๆฌกไธŠไผ ๏ผŒ็Žฐๅœจๅบ”่ฏฅ่ƒฝๆญฃๅธธๅทฅไฝœ', + "ue_ab": "่ฟ™ไปฝๆ–‡ไปถๆญฃๅœจไธŠไผ ๅˆฐๅฆไธ€ไธชๆ–‡ไปถๅคน๏ผŒๅฟ…้กปๅฎŒๆˆ่ฏฅไธŠไผ ๅŽ๏ผŒๆ‰่ƒฝๅฐ†ๆ–‡ไปถไธŠไผ ๅˆฐๅ…ถไป–ไฝ็ฝฎใ€‚\n\nๆ‚จๅฏไปฅ้€š่ฟ‡ๅทฆไธŠ่ง’็š„๐Ÿงฏไธญๆญขๅนถๅฟ˜่ฎฐ่ฏฅไธŠไผ ใ€‚", //m + "ur_1uo": "ๆˆๅŠŸ๏ผšๆ–‡ไปถไธŠไผ ๆˆๅŠŸ", + "ur_auo": "ๆˆๅŠŸ๏ผšๆ‰€ๆœ‰ {0} ไธชๆ–‡ไปถไธŠไผ ๆˆๅŠŸ", + "ur_1so": "ๆˆๅŠŸ๏ผšๆ–‡ไปถๅœจๆœๅŠกๅ™จไธŠๆ‰พๅˆฐ", + "ur_aso": "ๆˆๅŠŸ๏ผšๆ‰€ๆœ‰ {0} ไธชๆ–‡ไปถๅœจๆœๅŠกๅ™จไธŠๆ‰พๅˆฐ", + "ur_1un": "ไธŠไผ ๅคฑ่ดฅ๏ผŒๆŠฑๆญ‰", + "ur_aun": "ๆ‰€ๆœ‰ {0} ไธชไธŠไผ ๅคฑ่ดฅ๏ผŒๆŠฑๆญ‰", + "ur_1sn": "ๆ–‡ไปถๆœชๅœจๆœๅŠกๅ™จไธŠๆ‰พๅˆฐ", + "ur_asn": "่ฟ™ไบ› {0} ไธชๆ–‡ไปถๆœชๅœจๆœๅŠกๅ™จไธŠๆ‰พๅˆฐ", + "ur_um": "ๅฎŒๆˆ๏ผ›\n{0} ไธชไธŠไผ ๆˆๅŠŸ๏ผŒ\n{1} ไธชไธŠไผ ๅคฑ่ดฅ๏ผŒๆŠฑๆญ‰", + "ur_sm": "ๅฎŒๆˆ๏ผ›\n{0} ไธชๆ–‡ไปถๅœจๆœๅŠกๅ™จไธŠๆ‰พๅˆฐ๏ผŒ\n{1} ไธชๆ–‡ไปถๆœชๅœจๆœๅŠกๅ™จไธŠๆ‰พๅˆฐ", + + "rc_opn": "ๆ‰“ๅผ€", //m + "rc_ply": "ๆ’ญๆ”พ", //m + "rc_pla": "ไฝœไธบ้Ÿณ้ข‘ๆ’ญๆ”พ", //m + "rc_txt": "ๅœจๆ–‡ไปถๆŸฅ็œ‹ๅ™จไธญๆ‰“ๅผ€", //m + "rc_md": "ๅœจๆ–‡ๆœฌ็ผ–่พ‘ๅ™จไธญๆ‰“ๅผ€", //m + "rc_dl": "ไธ‹่ฝฝ", //m + "rc_zip": "ไธ‹่ฝฝไธบๅŽ‹็ผฉๅŒ…", //m + "rc_del": "ๅˆ ้™ค", //m + "rc_cut": "ๅ‰ชๅˆ‡", //m + "rc_cpy": "ๅคๅˆถ", //m + "rc_pst": "็ฒ˜่ดด", //m + "rc_nfo": "ๆ–ฐๅปบๆ–‡ไปถๅคน", //m + "rc_nfi": "ๆ–ฐๅปบๆ–‡ไปถ", //m + "rc_sal": "ๅ…จ้€‰", //m + "rc_sin": "ๅ้€‰", //m + + "lang_set": "ๅˆทๆ–ฐไปฅไฝฟๆ›ดๆ”น็”Ÿๆ•ˆ๏ผŸ", + + "splash": { + "a1": "ๆ›ดๆ–ฐ", + "b1": "ไฝ ๅฅฝ   (ไฝ ๅฐšๆœช็™ปๅฝ•)", + "c1": "็™ปๅ‡บ", + "d1": "็Šถๆ€", + "d2": "ๆ˜พ็คบๆ‰€ๆœ‰ๆดปๅŠจ็บฟ็จ‹็š„็Šถๆ€", + "e1": "้‡ๆ–ฐๅŠ ่ฝฝ้…็ฝฎ", + "e2": "้‡ๆ–ฐๅŠ ่ฝฝ้…็ฝฎๆ–‡ไปถ๏ผˆ่ดฆๆˆท/ๅท/ๅทๆ ‡๏ผ‰๏ผŒ$Nๅนถ้‡ๆ–ฐๆ‰ซๆๆ‰€ๆœ‰ e2ds ๅท$N$Nๆณจๆ„๏ผšไปปไฝ•ๅ…จๅฑ€่ฎพ็ฝฎ็š„ๆ›ดๆ”น$N้ƒฝ้œ€่ฆๅฎŒๅ…จ้‡ๅฏๆ‰่ƒฝ็”Ÿๆ•ˆ", + "f1": "ไฝ ๅฏไปฅๆŸฅ็œ‹๏ผš", + "g1": "ไฝ ๅฏไปฅไธŠไผ ๅˆฐ๏ผš", + "cc1": "ๅผ€ๅ…ณ็ญ‰", + "h1": "ๅ…ณ้—ญ k304", + "i1": "ๅผ€ๅฏ k304", + "j1": "k304 ไผšๅœจๆฏไธช HTTP 304 ๆ—ถๆ–ญๅผ€่ฟžๆŽฅใ€‚่ฟ™ๆœ‰ๅŠฉไบŽ้ฟๅ…ๆŸไบ›ไปฃ็†ๆœๅŠกๅ™จๅกไฝๆˆ–็ช็„ถๅœๆญขๅŠ ่ฝฝ้กต้ข๏ผŒไฝ†ไนŸไผšๆ˜พ่‘—้™ไฝŽๆ€ง่ƒฝใ€‚", + "k1": "้‡็ฝฎ่ฎพ็ฝฎ", + "l1": "็™ปๅฝ•๏ผš", + "ls3": "็™ปๅฝ•", //m + "lu4": "็”จๆˆทๅ", //m + "lp4": "ๅฏ†็ ", //m + "lo3": "ๅœจๆ‰€ๆœ‰ๅœฐๆ–นๆณจ้”€ {0}", //m + "lo2": "่ฟ™ๅฐ†็ป“ๆŸๅœจๆ‰€ๆœ‰ๆต่งˆๅ™จไธญ็š„ไผš่ฏ", //m + "m1": "ๆฌข่ฟŽๅ›žๆฅ๏ผŒ", + "n1": "404: ๆ–‡ไปถไธๅญ˜ๅœจ  โ”( ยด -`)โ”Œ", + "o1": 'ๆˆ–่€…ไฝ ๅฏ่ƒฝๆฒกๆœ‰ๆƒ้™๏ผŸๅฐ่ฏ•่พ“ๅ…ฅๅฏ†็ ๆˆ– ๅ›žๅฎถ', + "p1": "403: ่ฎฟ้—ฎ่ขซๆ‹’็ป  ~โ”ปโ”โ”ป", + "q1": 'ๅฐ่ฏ•่พ“ๅ…ฅๅฏ†็ ๆˆ– ๅ›žๅฎถ', + "r1": "ๅ›žๅฎถ", + ".s1": "ๆ˜ ๅฐ„", + "t1": "ๆ“ไฝœ", + "u2": "่‡ชไธŠๆฌกๆœๅŠกๅ™จๅ†™ๅ…ฅ็š„ๆ—ถ้—ด$N( ไธŠไผ  / ้‡ๅ‘ฝๅ / ... )$N$N17d = 17 ๅคฉ$N1h23 = 1 ๅฐๆ—ถ 23 ๅˆ†้’Ÿ$N4m56 = 4 ๅˆ†้’Ÿ 56 ็ง’", + "v1": "่ฟžๆŽฅ", + "v2": "ๅฐ†ๆญคๆœๅŠกๅ™จ็”จไฝœๆœฌๅœฐ็กฌ็›˜", + "w1": "ๅˆ‡ๆขๅˆฐ https", + "x1": "ๆ›ดๆ”นๅฏ†็ ", + "y1": "ไฝ ็š„ๅˆ†ไบซ", + "z1": "่งฃ้”ๅŒบๅŸŸ", + "ta1": "่ฏทๅ…ˆ่พ“ๅ…ฅๆ–ฐๅฏ†็ ", + "ta2": "้‡ๅคไปฅ็กฎ่ฎคๆ–ฐๅฏ†็ ๏ผš", + "ta3": "ๅ‘็Žฐๆ‹ผๅ†™้”™่ฏฏ๏ผ›่ฏท้‡่ฏ•", + "nop": "้”™่ฏฏ๏ผšๅฏ†็ ไธ่ƒฝไธบ็ฉบ", //m + "nou": "้”™่ฏฏ๏ผš็”จๆˆทๅๅ’Œ/ๆˆ–ๅฏ†็ ไธ่ƒฝไธบ็ฉบ", //m + "aa1": "ๆญฃๅœจๆŽฅๆ”ถ็š„ๆ–‡ไปถ๏ผš", //m + "ab1": "ๅ…ณ้—ญ k304", + "ac1": "ๅผ€ๅฏ k304", + "ad1": "ๅฏ็”จ no304 ๅฐ†็ฆ็”จๆ‰€ๆœ‰็ผ“ๅญ˜๏ผ›ๅฆ‚ๆžœ k304 ไธๅคŸ๏ผŒๅฏไปฅๅฐ่ฏ•ๆญค้€‰้กนใ€‚่ฟ™ๅฐ†ๆถˆ่€—ๅคง้‡็š„็ฝ‘็ปœๆต้‡๏ผ", //m + "ae1": "ๆญฃๅœจไธ‹่ฝฝ๏ผš", //m + "af1": "ๆ˜พ็คบๆœ€่ฟ‘ไธŠไผ ็š„ๆ–‡ไปถ", //m + "ag1": "ๆŸฅ็œ‹ๅทฒ็Ÿฅ IdP ็”จๆˆท", //m + } +}; diff --git a/copyparty/web/tl/cze.js b/copyparty/web/tl/cze.js new file mode 100644 index 00000000..66fcd850 --- /dev/null +++ b/copyparty/web/tl/cze.js @@ -0,0 +1,714 @@ + +// ล˜รกdky konฤรญcรญ na //m jsou neovฤ›ล™enรฉ strojovรฉ pล™eklady + +Ls.cze = { + "tt": "ฤŒeลกtina", + + "cols": { + "c": "tlaฤรญtka akcรญ", + "dur": "doba trvรกnรญ", + "q": "kvalita / bitrate", + "Ac": "audio kodek", + "Vc": "video kodek", + "Fmt": "formรกt / kontejner", + "Ahash": "kontrolnรญ souฤet audia", + "Vhash": "kontrolnรญ souฤet videa", + "Res": "rozliลกenรญ", + "T": "typ souboru", + "aq": "kvalita zvuku / bitrate", + "vq": "kvalita videa / bitrate", + "pixfmt": "podvzorkovรกnรญ / struktura pixelลฏ", + "resw": "horizontรกlnรญ rozliลกenรญ", + "resh": "vertikรกlnรญ rozliลกenรญ", + "chs": "audio kanรกly", + "hz": "vzorkovacรญ frekvence", + }, + + "hks": [ + [ + "rลฏznรฉ", + ["ESC", "zavล™รญt rลฏznรฉ vฤ›ci"], + + "sprรกvce souborลฏ", + ["G", "pล™epnout seznam / zobrazenรญ mล™รญลพky"], + ["T", "pล™epnout nรกhledy / ikony"], + ["โ‡ง A/D", "velikost nรกhledลฏ"], + ["ctrl-K", "smazat vybranรฉ"], + ["ctrl-X", "vyjmout vรฝbฤ›r do schrรกnky"], + ["ctrl-C", "kopรญrovat vรฝbฤ›r do schrรกnky"], + ["ctrl-V", "vloลพit (pล™esunout/kopรญrovat) zde"], + ["Y", "stรกhnout vybranรฉ"], + ["F2", "pล™ejmenovat vybranรฉ"], + + "vรฝbฤ›r souborลฏ", + ["space", "pล™epnout vรฝbฤ›r souboru"], + ["โ†‘/โ†“", "posunout kurzor vรฝbฤ›ru"], + ["ctrl โ†‘/โ†“", "posunout kurzor a zobrazenรญ"], + ["โ‡ง โ†‘/โ†“", "vybrat pล™edchozรญ/nรกsledujรญcรญ soubor"], + ["ctrl-A", "vybrat vลกechny soubory / sloลพky"], + ], [ + "navigace", + ["B", "pล™epnout drobeฤkovou navigaci / navigaฤnรญ panel"], + ["I/K", "pล™edchozรญ/nรกsledujรญcรญ sloลพka"], + ["M", "nadล™azenรก sloลพka (nebo sbalit aktuรกlnรญ)"], + ["V", "pล™epnout sloลพky / textovรฉ soubory v navigaฤnรญm panelu"], + ["A/D", "velikost navigaฤnรญho panelu"], + ], [ + "audio pล™ehrรกvaฤ", + ["J/L", "pล™edchozรญ/nรกsledujรญcรญ skladba"], + ["U/O", "pล™eskoฤit 10 sekund zpฤ›t/vpล™ed"], + ["0..9", "pล™ejรญt na 0%..90%"], + ["P", "pล™ehrรกt/pozastavit (takรฉ spustit)"], + ["S", "vybrat pล™ehrรกvanou skladbu"], + ["Y", "stรกhnout skladbu"], + ], [ + "prohlรญลพeฤ obrรกzkลฏ", + ["J/L, โ†/โ†’", "pล™edchozรญ/nรกsledujรญcรญ obrรกzek"], + ["Home/End", "prvnรญ/poslednรญ obrรกzek"], + ["F", "celรก obrazovka"], + ["R", "otoฤit po smฤ›ru hodinovรฝch ruฤiฤek"], + ["โ‡ง R", "otoฤit proti smฤ›ru hodinovรฝch ruฤiฤek"], + ["S", "vybrat obrรกzek"], + ["Y", "stรกhnout obrรกzek"], + ], [ + "video pล™ehrรกvaฤ", + ["U/O", "pล™eskoฤit 10 sekund zpฤ›t/vpล™ed"], + ["P/K/Space", "pล™ehrรกt/pozastavit"], + ["C", "pokraฤovat pล™ehrรกvรกnรญm nรกsledujรญcรญ"], + ["V", "smyฤka"], + ["M", "ztlumit"], + ["[ and ]", "nastavit interval smyฤky"], + ], [ + "prohlรญลพeฤ textovรฝch souborลฏ", + ["I/K", "pล™edchozรญ/nรกsledujรญcรญ soubor"], + ["M", "zavล™รญt textovรฝ soubor"], + ["E", "upravit textovรฝ soubor"], + ["S", "vybrat soubor (pro vyjmutรญ/kopรญrovรกnรญ/pล™ejmenovรกnรญ)"], + ["Y", "stรกhnout textovรฝ soubor"], //m + ["โ‡ง J", "zkrรกลกlit json"], //m + ] + ], + + "m_ok": "OK", + "m_ng": "Zruลกit", + + "enable": "Povolit", + "danger": "NEBEZPEฤŒร", + "clipped": "zkopรญrovรกno do schrรกnky", + + "ht_s1": "sekunda", + "ht_s2": "sekundy", + "ht_s5": "sekund", + "ht_m1": "minuta", + "ht_m2": "minuty", + "ht_m5": "minut", + "ht_h1": "hodina", + "ht_h2": "hodiny", + "ht_h5": "hodin", + "ht_d1": "den", + "ht_d2": "dny", + "ht_d5": "dnรญ", + "ht_and": " a ", + + "goh": "ovlรกdacรญ panel", + "gop": 'pล™edchozรญ sourozenec">pล™edchozรญ', + "gou": 'nadล™azenรก sloลพka">nahoru', + "gon": 'nรกsledujรญcรญ sloลพka">nรกsledujรญcรญ', + "logout": "Odhlรกsit ", + "login": "Pล™ihlรกsit se", //m + "access": " pล™รญstup", + "ot_close": "zavล™รญt podnabรญdku", + "ot_search": "hledat soubory podle atributลฏ, cesty / nรกzvu, hudebnรญch tagลฏ nebo jejich kombinace$N$N<code>foo bar</code> = musรญ obsahovat jak ยซfooยป tak ยซbarยป,$N<code>foo -bar</code> = musรญ obsahovat ยซfooยป ale ne ยซbarยป,$N<code>^yana .opus$</code> = zaฤรญnรก na ยซyanaยป a je to ยซopusยป soubor$N<code>"try unite"</code> = obsahuje pล™esnฤ› ยซtry uniteยป$N$Nformรกt data je iso-8601, jako$N<code>2009-12-31</code> nebo <code>2020-09-12 23:30:00</code>", + "ot_unpost": "unpost: smazat vaลกe nedรกvnรฉ nahrรกnรญ nebo zruลกit nedokonฤenรฉ", + "ot_bup": "bup: zรกkladnรญ nahrรกvaฤ, podporuje i netscape 4.0", + "ot_mkdir": "mkdir: vytvoล™it novรฝ adresรกล™", + "ot_md": "new-file: vytvoล™it novรฝ textovรฝ soubor", //m + "ot_msg": "msg: poslat zprรกvu do logu serveru", + "ot_mp": "moลพnosti pล™ehrรกvaฤe mรฉdiรญ", + "ot_cfg": "moลพnosti konfigurace", + "ot_u2i": 'up2k: nahrรกt soubory (pokud mรกte oprรกvnฤ›nรญ k zรกpisu) nebo pล™epnout do vyhledรกvacรญho reลพimu a podรญvat se, zda existujรญ nฤ›kde na serveru$N$Nnahrรกvรกnรญ je obnovitelnรฉ, vรญcevlรกknovรฉ a ฤasovรฉ znaฤky souborลฏ jsou zachovรกny, ale pouลพรญvรก vรญce CPU neลพ [๐ŸŽˆ]  (zรกkladnรญ nahrรกvaฤ)

    bฤ›hem nahrรกvรกnรญ se tato ikona stรกvรก indikรกtorem prลฏbฤ›hu!', + "ot_u2w": 'up2k: nahrรกt soubory s podporou obnovenรญ (zavล™ete prohlรญลพeฤ a stejnรฉ soubory pล™etรกhnฤ›te pozdฤ›ji)$N$Nvรญcevlรกknovรฉ a ฤasovรฉ znaฤky souborลฏ jsou zachovรกny, ale pouลพรญvรก vรญce CPU neลพ [๐ŸŽˆ]  (zรกkladnรญ nahrรกvaฤ)

    bฤ›hem nahrรกvรกnรญ se tato ikona stรกvรก indikรกtorem prลฏbฤ›hu!', + "ot_noie": 'Prosรญm pouลพijte Chrome / Firefox / Edge', + + "ab_mkdir": "vytvoล™it adresรกล™", + "ab_mkdoc": "novรฝ textovรฝ soubor", //m + "ab_msg": "poslat zprรกvu do logu serveru", + + "ay_path": "pล™ejรญt na sloลพky", + "ay_files": "pล™ejรญt na soubory", + + "wt_ren": "pล™ejmenovat vybranรฉ poloลพky$NKlรกvesovรก zkratka: F2", + "wt_del": "smazat vybranรฉ poloลพky$NKlรกvesovรก zkratka: ctrl-K", + "wt_cut": "vyjmout vybranรฉ poloลพky <small>(pak je vloลพit nฤ›kam jinam)</small>$NKlรกvesovรก zkratka: ctrl-X", + "wt_cpy": "kopรญrovat vybranรฉ poloลพky do schrรกnky$N(pro vloลพenรญ nฤ›kam jinam)$NKlรกvesovรก zkratka: ctrl-C", + "wt_pst": "vloลพit dล™รญve vyjmutรฝ / zkopรญrovanรฝ vรฝbฤ›r$NKlรกvesovรก zkratka: ctrl-V", + "wt_selall": "vybrat vลกechny soubory$NKlรกvesovรก zkratka: ctrl-A (kdyลพ je zamฤ›ล™en soubor)", + "wt_selinv": "invertovat vรฝbฤ›r", + "wt_zip1": "stรกhnout tuto sloลพku jako archiv", + "wt_selzip": "stรกhnout vรฝbฤ›r jako archiv", + "wt_seldl": "stรกhnout vรฝbฤ›r jako samostatnรฉ soubory$NKlรกvesovรก zkratka: Y", + "wt_npirc": "kopรญrovat informace o stopฤ› ve formรกtu irc", + "wt_nptxt": "kopรญrovat informace o stopฤ› v prostรฉm textu", + "wt_m3ua": "pล™idat do m3u playlistu (kliknฤ›te pozdฤ›ji na ๐Ÿ“ปkopรญrovat)", + "wt_m3uc": "kopรญrovat m3u playlist do schrรกnky", + "wt_grid": "pล™epnout zobrazenรญ mล™รญลพky / seznamu$NKlรกvesovรก zkratka: G", + "wt_prev": "pล™edchozรญ stopa$NKlรกvesovรก zkratka: J", + "wt_play": "pล™ehrรกt / pozastavit$NKlรกvesovรก zkratka: P", + "wt_next": "nรกsledujรญcรญ stopa$NKlรกvesovรก zkratka: L", + + "ul_par": "paralelnรญ nahrรกvรกnรญ:", + "ut_rand": "nรกhodnรฉ nรกzvy souborลฏ", + "ut_u2ts": "kopรญrovat ฤasovou znaฤku poslednรญ zmฤ›ny$Nz vaลกeho souborovรฉho systรฉmu na server\">๐Ÿ“…", + "ut_ow": "pล™epsat existujรญcรญ soubory na serveru?$N๐Ÿ›ก๏ธ: nikdy (mรญsto toho vytvoล™รญ novรฝ nรกzev souboru)$N๐Ÿ•’: pล™epsat pokud je soubor na serveru starลกรญ neลพ vรกลก$Nโ™ป๏ธ: vลพdy pล™epsat pokud se soubory liลกรญ$Nโญ๏ธ: bezpodmรญneฤnฤ› pล™eskoฤit vลกechny existujรญcรญ soubory", //m + "ut_mt": "pokraฤovat v hashovรกnรญ ostatnรญch souborลฏ bฤ›hem nahrรกvรกnรญ$N$Nmoลพnรก zakรกzat pokud je vaลกe CPU nebo HDD bottleneckem", + "ut_ask": 'poลพรกdat o potvrzenรญ pล™ed zahรกjenรญm nahrรกvรกnรญ">๐Ÿ’ญ', + "ut_pot": "zlepลกit rychlost nahrรกvรกnรญ na pomalรฝch zaล™รญzenรญch$Nzjednoduลกenรญm UI", + "ut_srch": "skuteฤnฤ› nenahrรกvat, mรญsto toho zkontrolovat zda soubory jiลพ $N existujรญ na serveru (prohledรก vลกechny sloลพky kterรฉ mลฏลพete ฤรญst)", + "ut_par": "pozastavit nahrรกvรกnรญ nastavenรญm na 0$N$Nzvรฝลกit pokud je vaลกe pล™ipojenรญ pomalรฉ / vysokรก latence$N$Nponechat na 1 v LAN nebo pokud je HDD serveru bottleneckem", + "ul_btn": "pล™etรกhnฤ›te soubory / sloลพky
    sem (nebo sem kliknฤ›te)", + "ul_btnu": "N A H R ร T", + "ul_btns": "H L E D A T", + + "ul_hash": "hash", + "ul_send": "odeslat", + "ul_done": "hotovo", + "ul_idle1": "zatรญm nejsou zaล™azena ลพรกdnรก nahrรกvรกnรญ", + "ut_etah": "prลฏmฤ›rnรก rychlost <em>hashovรกnรญ</em> a odhadovanรฝ ฤas do dokonฤenรญ", + "ut_etau": "prลฏmฤ›rnรก rychlost <em>nahrรกvรกnรญ</em> a odhadovanรฝ ฤas do dokonฤenรญ", + "ut_etat": "prลฏmฤ›rnรก <em>celkovรก</em> rychlost a odhadovanรฝ ฤas do dokonฤenรญ", + + "uct_ok": "รบspฤ›ลกnฤ› dokonฤeno", + "uct_ng": "nedobrรฉ: selhalo / odmรญtnuto / nenalezeno", + "uct_done": "celkem", + "uct_bz": "hashovรกnรญ nebo nahrรกvรกnรญ", + "uct_q": "neฤinnรฉ, ฤekajรญcรญ", + + "utl_name": "nรกzev souboru", + "utl_ulist": "seznam", + "utl_ucopy": "kopรญrovat", + "utl_links": "odkazy", + "utl_stat": "stav", + "utl_prog": "prลฏbฤ›h", + + // keep short: + "utl_404": "404", + "utl_err": "CHYBA", + "utl_oserr": "chyba OS", + "utl_found": "nalezeno", + "utl_defer": "odloลพit", + "utl_yolo": "YOLO", + "utl_done": "hotovo", + + "ul_flagblk": "soubory byly pล™idรกny do fronty
    nicmรฉnฤ› v jinรฉ kartฤ› prohlรญลพeฤe bฤ›ลพรญ up2k,
    takลพe ฤekรกme aลพ skonฤรญ", + "ul_btnlk": "konfigurace serveru uzamkla tento pล™epรญnaฤ v tomto stavu", + + "udt_up": "Nahrรกvรกnรญ", + "udt_srch": "Hledรกnรญ", + "udt_drop": "pล™etรกhnฤ›te to sem", + + "u_nav_m": '
    jasnaฤka, co mรกte?
    Enter = Soubory (jeden nebo vรญce)\nESC = Jednu sloลพku (vฤetnฤ› podsloลพek)', + "u_nav_b": 'SouboryJedna sloลพka', + + "cl_opts": "pล™epรญnaฤe", + "cl_hfsz": "velikost souboru", //m + "cl_themes": "tรฉma", + "cl_langs": "jazyk", + "cl_ziptype": "stahovรกnรญ sloลพky", + "cl_uopts": "up2k pล™epรญnaฤe", + "cl_favico": "favicon", + "cl_bigdir": "velkรฉ adresรกล™e", + "cl_hsort": "#ล™azenรญ", + "cl_keytype": "notace klรกves", + "cl_hiddenc": "skrytรฉ sloupce", + "cl_hidec": "skrรฝt", + "cl_reset": "resetovat", + "cl_hpick": "klepnฤ›te na zรกhlavรญ sloupcลฏ pro skrytรญ v tabulce nรญลพe", + "cl_hcancel": "skrรฝvรกnรญ sloupcลฏ zruลกeno", + "cl_rcm": "kontextovรก nabรญdka", //m + + "ct_grid": '็”ฐ mล™รญลพka', + "ct_ttips": 'โ—” โ—ก โ—”">โ„น๏ธ nรกpovฤ›dy', + "ct_thumb": 'v zobrazenรญ mล™รญลพky pล™epnout ikony nebo nรกhledy$NKlรกvesovรก zkratka: T">๐Ÿ–ผ๏ธ nรกhledy', + "ct_csel": 'pouลพรญt CTRL a SHIFT pro vรฝbฤ›r souborลฏ v zobrazenรญ mล™รญลพky">vรฝbฤ›r', + "ct_dl": 'vynutit staลพenรญ (nezobrazovat inline) pล™i kliknutรญ na soubor">dl', //m + "ct_ihop": 'kdyลพ se zavล™e prohlรญลพeฤ obrรกzkลฏ, posunout dolลฏ k naposledy zobrazenรฉmu souboru">gโฎฏ', + "ct_dots": 'zobrazit skrytรฉ soubory (pokud to server povoluje)">dotfiles', + "ct_qdel": 'pล™i mazรกnรญ souborลฏ poลพรกdat o potvrzenรญ jen jednou">rychlรฉ mazรกnรญ', + "ct_dir1st": 'ล™adit sloลพky pล™ed soubory">๐Ÿ“ prvnรญ', + "ct_nsort": 'pล™irozenรฉ ล™azenรญ (pro nรกzvy souborลฏ s รบvodnรญmi ฤรญslicemi)">pล™irozenรฉ ล™azenรญ', + "ct_utc": 'zobrazit vลกechny ฤasy v UTC">UTC', + "ct_readme": 'zobrazit README.md v seznamech sloลพek">๐Ÿ“œ readme', + "ct_idxh": 'zobrazit index.html mรญsto seznamu sloลพky">htm', + "ct_sbars": 'zobrazit posuvnรญky">โŸŠ', + + "cut_umod": "pokud soubor na serveru jiลพ existuje, aktualizovat ฤasovou znaฤku poslednรญho zmฤ›ny serveru tak, aby odpovรญdala vaลกemu lokรกlnรญmu souboru (vyลพaduje oprรกvnฤ›nรญ k zรกpisu+mazรกnรญ)\">re๐Ÿ“…", + + "cut_turbo": "yolo tlaฤรญtko, pravdฤ›podobnฤ› to NECHCETE povolit:$N$Npouลพijte to pokud jste nahrรกvali obrovskรฉ mnoลพstvรญ souborลฏ a museli jste restartovat z nฤ›jakรฉho dลฏvodu a chcete pokraฤovat v nahrรกvรกnรญ ASAP$N$Ntoto nahradรญ hash-kontrolu jednoduchรฝm "mรก to stejnou velikost souboru na serveru?" takลพe pokud se obsah souborลฏ liลกรญ, NEBUDE nahrรกn$N$Nmฤ›li byste to vypnout kdyลพ nahrรกvรกnรญ skonฤรญ a pak znovu "nahrรกt" stejnรฉ soubory aby je klient ovฤ›ล™il\">turbo", + + "cut_datechk": "nemรก ลพรกdnรฝ efekt pokud nenรญ povoleno turbo tlaฤรญtko$N$Nsniลพuje yolo faktor o trochu; kontroluje zda ฤasovรฉ znaฤky souborลฏ na serveru odpovรญdajรญ vaลกim$N$Nmฤ›l by teoreticky zachytit vฤ›tลกinu nedokonฤenรฝch / poลกkozenรฝch nahrรกvรกnรญ, ale nenรญ nรกhradou za ovฤ›ล™ovacรญ prลฏchod s turbem vypnutรฝm potรฉ\">kontrola data", + + "cut_u2sz": "velikost (v MiB) kaลพdรฉho kusu nahrรกvรกnรญ; velkรฉ hodnoty lรฉpe lรฉtajรญ pล™es atlantik. Zkuste nรญzkรฉ hodnoty na velmi nespolehlivรฝch pล™ipojenรญch", + + "cut_flag": "zajistit aby nahrรกvala jen jedna karta najednou $N -- ostatnรญ karty to musรญ mรญt takรฉ povoleno $N -- ovlivลˆuje jen karty na stejnรฉ domรฉnฤ›", + + "cut_az": "nahrรกvat soubory v abecednรญm poล™adรญ, spรญลกe neลพ nejmenลกรญ-soubor-prvnรญ$N$Nabecednรญ poล™adรญ mลฏลพe usnadnit kontrolu zda se nฤ›co pokazilo na serveru, ale ฤinรญ nahrรกvรกnรญ mรญrnฤ› pomalejลกรญ na optice / LAN", + + "cut_nag": "notifikace OS kdyลพ nahrรกvรกnรญ skonฤรญ$N(jen pokud prohlรญลพeฤ nebo karta nenรญ aktivnรญ)", + "cut_sfx": "zvukovรฉ upozornฤ›nรญ kdyลพ nahrรกvรกnรญ skonฤรญ$N(jen pokud prohlรญลพeฤ nebo karta nenรญ aktivnรญ)", + + "cut_mt": "pouลพรญt vรญcevlรกknovรฉ zpracovรกnรญ pro zrychlenรญ hashovรกnรญ souborลฏ$N$Ntoto pouลพรญvรก web-workers a vyลพaduje$Nvรญce RAM (aลพ 512 MiB navรญc)$N$Ndฤ›lรก https o 30% rychlejลกรญ a http 4,5x rychlejลกรญ\">mt", + + "cut_wasm": "pouลพijte wasm mรญsto vestavฤ›nรฉho hashovรกnรญ prohlรญลพeฤe; zlepลกuje rychlost na prohlรญลพeฤรญch zaloลพenรฝch na chrome ale zvyลกuje zรกtฤ›ลพ CPU, mnoho starลกรญch verzรญ chrome mรก chyby kterรฉ zpลฏsobujรญ ลพe prohlรญลพeฤ spotล™ebuje veลกkerou RAM a spadne pokud je toto povoleno\">wasm", + + "cft_text": "text favicon (prรกzdnรฉ a obnovte pro zakรกzรกnรญ)", + "cft_fg": "barva popล™edรญ", + "cft_bg": "barva pozadรญ", + + "cdt_lim": "maximรกlnรญ poฤet souborลฏ k zobrazenรญ ve sloลพce", + "cdt_ask": "pล™i posunovรกnรญ na konec,$Nmรญsto naฤรญtรกnรญ vรญce souborลฏ,$N se zeptat co dฤ›lat", + "cdt_hsort": "kolik pravidel ล™azenรญ (<code>,sorthref</code>) zahrnout do media-URL. Nastavenรญ na 0 bude takรฉ ignorovat pravidla ล™azenรญ zahrnutรก v media odkazech pล™i kliknutรญ na nฤ›", + "cdt_ren": "povolit vlastnรญ kontextovou nabรญdku, bฤ›ลพnou nabรญdku lze otevล™รญt podrลพenรญm klรกvesy shift a kliknutรญm pravรฝm tlaฤรญtkem", //m + + "tt_entree": "zobrazit navigaฤnรญ panel (postrannรญ strom adresรกล™ลฏ)$NKlรกvesovรก zkratka: B", + "tt_detree": "zobrazit drobeฤkovou navigaci$NKlรกvesovรก zkratka: B", + "tt_visdir": "posunout k vybranรฉ sloลพce", + "tt_ftree": "pล™epnout strom sloลพek / textovรฉ soubory$NKlรกvesovรก zkratka: V", + "tt_pdock": "zobrazit nadล™azenรฉ sloลพky v ukotvenรฉm panelu nahoล™e", + "tt_dynt": "automaticky rozrลฏstat jak se strom rozลกiล™uje", + "tt_wrap": "zalomenรญ ล™รกdkลฏ", + "tt_hover": "odhalit pล™etรฉkajรญcรญ ล™รกdky pล™i najetรญ$N( ruลกรญ posun pokud kurzor myลกi $N  nenรญ v levรฉm okraji )", + + "ml_pmode": "na konci sloลพky...", + "ml_btns": "pล™รญkazy", + "ml_tcode": "transkรณdovat", + "ml_tcode2": "transkรณdovat na", + "ml_tint": "odstรญn", + "ml_eq": "audio ekvalizรฉr", + "ml_drc": "kompresor dynamickรฉho rozsahu", + + "mt_loop": "smyฤka/opakovat jednu skladbu\">๐Ÿ”", + "mt_one": "zastavit po jednรฉ skladbฤ›\">1๏ธโƒฃ", + "mt_shuf": "zamรญchat skladby v kaลพdรฉ sloลพce\">๐Ÿ”€", + "mt_aplay": "automatickรฉ pล™ehrรกvรกnรญ pokud je ID skladby v odkazu kterรฝm jste pล™iลกli na server$N$Nzakรกzรกnรญ toho takรฉ zastavรญ aktualizaci URL strรกnky s ID skladby pล™i pล™ehrรกvรกnรญ hudby, aby se zabrรกnilo automatickรฉmu pล™ehrรกvรกnรญ pokud se tato nastavenรญ ztratรญ ale URL zลฏstane\">aโ–ถ", + "mt_preload": "zaฤรญt naฤรญtat nรกsledujรญcรญ skladbu pล™ed koncem pro plynulรฉ pล™ehrรกvรกnรญ\">pล™ednahrรกnรญ", + "mt_prescan": "pล™ejรญt do nรกsledujรญcรญ sloลพky pล™ed tรญm neลพ$Nskonฤรญ poslednรญ skladba, aby byl webprohlรญลพeฤ$Nspokojen aby nezastavil pล™ehrรกvรกnรญ\">nav", + "mt_fullpre": "zkusit pล™ednahrรกt celou skladbu;$Nโœ… povolit na nespolehlivรฝch pล™ipojenรญch,$NโŒ zakรกzat na pomalรฝch pล™ipojenรญch pravdฤ›podobnฤ›\">รบplnรฉ", + "mt_fau": "na telefonech zabrรกnit zastavenรญ hudby, pokud se dalลกรญ pรญseลˆ nenahraje dostateฤnฤ› rychle (mลฏลพe zpลฏsobit chybnรฉ zobrazenรญ tagลฏ)\">โ˜•๏ธ", + "mt_waves": "vlnovรฝ posuvnรญk:$Nzobrazit amplitudu zvuku v posuvnรญku\">~s", + "mt_npclip": "zobrazit tlaฤรญtka pro kopรญrovรกnรญ aktuรกlnฤ› pล™ehrรกvanรฉ pรญsnฤ› do schrรกnky\">/np", + "mt_m3u_c": "zobrazit tlaฤรญtka pro kopรญrovรกnรญ$Nvybranรฝch pรญsnรญ jako poloลพky m3u8 playlistu\">๐Ÿ“ป", + "mt_octl": "integrace s OS (mediรกlnรญ klรกvesy / osd)\">os-ctl", + "mt_oseek": "povolit posunovรกnรญ pล™es integraci s OS$N$Npoznรกmka: na nฤ›kterรฝch zaล™รญzenรญch (iPhone),$Nto nahradรญ tlaฤรญtko dalลกรญ pรญsnฤ›\">seek", + "mt_oscv": "zobrazit obal alba v osd\">art", + "mt_follow": "udrลพet pล™ehrรกvanou stopu v zobrazenรญ\">๐ŸŽฏ", + "mt_compact": "kompaktnรญ ovlรกdรกnรญ\">โŸŽ", + "mt_uncache": "vymazat cache  (zkuste to, pokud vรกลก prohlรญลพeฤ uloลพil$Nporuลกenou kopii pรญsnฤ› a odmรญtรก ji pล™ehrรกt)\">uncache", + "mt_mloop": "opakovat otevล™enou sloลพku\">๐Ÿ” loop", + "mt_mnext": "naฤรญst dalลกรญ sloลพku a pokraฤovat\">๐Ÿ“‚ next", + "mt_mstop": "zastavit pล™ehrรกvรกnรญ\">โธ stop", + "mt_cflac": "pล™evรฉst flac / wav na {0}\">flac", + "mt_caac": "pล™evรฉst aac / m4a na {0}\">aac", + "mt_coth": "pล™evรฉst vลกechny ostatnรญ (ne mp3) na {0}\">oth", + "mt_c2opus": "nejlepลกรญ volba pro desktopy, laptopy, android\">opus", + "mt_c2owa": "opus-weba, pro iOS 17.5 a novฤ›jลกรญ\">owa", + "mt_c2caf": "opus-caf, pro iOS 11 aลพ 17\">caf", + "mt_c2mp3": "pouลพijte na velmi starรฝch zaล™รญzenรญch\">mp3", + "mt_c2flac": "nejlepลกรญ kvalita zvuku, ale obrovskรฉ stahovรกnรญ\">flac", + "mt_c2wav": "nekomprimovanรฉ pล™ehrรกvรกnรญ (jeลกtฤ› vฤ›tลกรญ)\">wav", + "mt_c2ok": "vรฝbornฤ›, dobrรก volba", + "mt_c2nd": "to nenรญ doporuฤenรฝ vรฝstupnรญ formรกt pro vaลกe zaล™รญzenรญ, ale v poล™รกdku", + "mt_c2ng": "vaลกe zaล™รญzenรญ, zdรก se, nepodporuje tento vรฝstupnรญ formรกt, ale zkusรญme to", + "mt_xowa": "v iOS jsou chyby brรกnรญcรญ pล™ehrรกvรกnรญ na pozadรญ s tรญmto formรกtem; pouลพijte prosรญm caf nebo mp3", + "mt_tint": "รบroveลˆ pozadรญ (0-100) na posuvnรญku$Nabyste uฤinili uklรกdรกnรญ do vyrovnรกvacรญ pamฤ›ti mรฉnฤ› ruลกivรฝm", + "mt_eq": "povoluje ekvalizรฉr a ovlรกdรกnรญ zisku;$N$Nboost <code>0</code> = standardnรญ 100% hlasitost (nezmฤ›nฤ›no)$N$Nwidth <code>1  </code> = standardnรญ stereo (nezmฤ›nฤ›no)$Nwidth <code>0.5</code> = 50% levรฝ-pravรฝ crossfeed$Nwidth <code>0  </code> = mono$N$Nboost <code>-0.8</code> & width <code>10</code> = odstranฤ›nรญ vokรกlลฏ :^)$N$Npovolenรญ ekvalizรฉru ฤinรญ alba bez mezer zcela bez mezer, takลพe to nechte zapnutรฉ se vลกemi hodnotami na nule (kromฤ› width = 1), pokud vรกm na tom zรกleลพรญ", + "mt_drc": "povoluje kompresor dynamickรฉho rozsahu (vyrovnรกvaฤ hlasitosti / brickwaller); takรฉ povolรญ EQ pro vyvรกลพenรญ ลกpaget, takลพe nastavte vลกechna EQ pole kromฤ› 'width' na 0, pokud to nechcete$N$Nsniลพuje hlasitost zvuku nad THRESHOLD dB; pro kaลพdรฝ RATIO dB za THRESHOLD je 1 dB vรฝstupu, takลพe vรฝchozรญ hodnoty tresh -24 a ratio 12 znamenajรญ, ลพe by nikdy nemฤ›lo bรฝt hlasitฤ›jลกรญ neลพ -22 dB a je bezpeฤnรฉ zvรฝลกit boost ekvalizรฉru na 0.8, nebo dokonce 1.8 s ATK 0 a obrovskรฝm RLS jako 90 (funguje pouze ve firefoxu; RLS je max 1 v jinรฝch prohlรญลพeฤรญch)$N$N(viz wikipedia, vysvฤ›tlujรญ to mnohem lรฉpe)", + + "mb_play": "pล™ehrรกt", + "mm_hashplay": "pล™ehrรกt tento audio soubor?", + "mm_m3u": "stisknฤ›te Enter/OK pro Pล™ehrรกnรญ\nstisknฤ›te ESC/Zruลกit pro รšpravu", + "mp_breq": "potล™ebujete firefox 82+ nebo chrome 73+ nebo iOS 15+", + "mm_bload": "nynรญ se naฤรญtรก...", + "mm_bconv": "pล™evรกdรญ se na {0}, ฤekejte prosรญm...", + "mm_opusen": "vรกลก prohlรญลพeฤ nemลฏลพe pล™ehrรกt aac / m4a soubory;\ntranscoding na opus je nynรญ povolen", + "mm_playerr": "pล™ehrรกvรกnรญ selhalo: ", + "mm_eabrt": "Pokus o pล™ehrรกvรกnรญ byl zruลกen", + "mm_enet": "Vaลกe internetovรฉ pล™ipojenรญ je nestabilnรญ", + "mm_edec": "Tento soubor je รบdajnฤ› poลกkozenรฝ??", + "mm_esupp": "Vรกลก prohlรญลพeฤ nerozumรญ tomuto audio formรกtu", + "mm_eunk": "Neznรกmรก chyba", + "mm_e404": "Nelze pล™ehrรกt audio; chyba 404: Soubor nenalezen.", + "mm_e403": "Nelze pล™ehrรกt audio; chyba 403: Pล™รญstup odepล™en.\n\nZkuste stisknout F5 pro obnovenรญ, moลพnรก jste se odhlรกsili", + "mm_e500": "Nelze pล™ehrรกt audio; chyba 500: Zkontrolujte logy serveru.", + "mm_e5xx": "Nelze pล™ehrรกt audio; chyba serveru ", + "mm_nof": "ลพรกdnรฉ dalลกรญ audio soubory v okolรญ nenalezeny", + "mm_prescan": "Hledรกm hudbu k dalลกรญmu pล™ehrรกnรญ...", + "mm_scank": "Dalลกรญ pรญseลˆ nalezena:", + "mm_uncache": "cache vymazรกna; vลกechny pรญsnฤ› se znovu stรกhnou pล™i dalลกรญm pล™ehrรกvรกnรญ", + "mm_hnf": "tato pรญseลˆ jiลพ neexistuje", + + "im_hnf": "tento obrรกzek jiลพ neexistuje", + + "f_empty": 'tato sloลพka je prรกzdnรก', + "f_chide": 'toto skryje sloupec ยซ{0}ยป\n\nmลฏลพete odkrรฝt sloupce v zรกloลพce nastavenรญ', + "f_bigtxt": "tento soubor mรก {0} MiB -- opravdu zobrazit jako text?", + "f_bigtxt2": "zobrazit pouze konec souboru? to takรฉ povolรญ sledovรกnรญ/tailing, zobrazรญ novฤ› pล™idanรฉ ล™รกdky textu v reรกlnรฉm ฤase", + "fbd_more": '
    zobrazuji {0} z {1} souborลฏ; zobraz {2} nebo zobraz vลกechny
    ', + "fbd_all": '
    zobrazuji {0} z {1} souborลฏ; zobraz vลกechny
    ', + "f_anota": "pouze {0} z {1} poloลพek bylo vybrรกno;\npro vรฝbฤ›r celรฉ sloลพky nejprve pล™ejdฤ›te na konec", + + "f_dls": 'odkazy na soubory v aktuรกlnรญ sloลพce byly\nzmฤ›nฤ›ny na odkazy ke staลพenรญ', + + "f_partial": "Pro bezpeฤnรฉ staลพenรญ souboru, kterรฝ se aktuรกlnฤ› nahrรกvรก, kliknฤ›te prosรญm na soubor se stejnรฝm nรกzvem, ale bez pล™รญpony .PARTIAL. Stisknฤ›te prosรญm Zruลกit nebo Escape.\n\nStisknutรญm OK / Enter ignorujete toto varovรกnรญ a pokraฤujete ve stahovรกnรญ .PARTIAL doฤasnรฉho souboru, coลพ tรฉmฤ›ล™ jistฤ› vyรบstรญ jako poลกkozenรก data.", + + "ft_paste": "vloลพit {0} poloลพek$NKlรกvesovรก zkratka: ctrl-V", + "fr_eperm": 'nelze pล™ejmenovat:\nnemรกte oprรกvnฤ›nรญ โ€œpล™esunoutโ€ v tรฉto sloลพce', + "fd_eperm": 'nelze smazat:\nnemรกte oprรกvnฤ›nรญ โ€œsmazatโ€ v tรฉto sloลพce', + "fc_eperm": 'nelze vyjmout:\nnemรกte oprรกvnฤ›nรญ โ€œpล™esunoutโ€ v tรฉto sloลพce', + "fp_eperm": 'nelze vloลพit:\nnemรกte oprรกvnฤ›nรญ โ€œzapisovatโ€ v tรฉto sloลพce', + "fr_emore": "vyberte alespoลˆ jednu poloลพku k pล™ejmenovรกnรญ", + "fd_emore": "vyberte alespoลˆ jednu poloลพku ke smazรกnรญ", + "fc_emore": "vyberte alespoลˆ jednu poloลพku k vyjmutรญ", + "fcp_emore": "vyberte alespoลˆ jednu poloลพku k zkopรญrovรกnรญ do schrรกnky", + + "fs_sc": "sdรญlet sloลพku, ve kterรฉ se nachรกzรญte", + "fs_ss": "sdรญlet vybranรฉ soubory", + "fs_just1d": "nelze vybrat vรญce neลพ jednu sloลพku,\nnebo mรญchat soubory a sloลพky v jednom vรฝbฤ›ru", + "fs_abrt": "โŒ zruลกit", + "fs_rand": "๐ŸŽฒ nรกhodnรฝ.nรกzev", + "fs_go": "โœ… vytvoล™it sdรญlenรญ", + "fs_name": "nรกzev", + "fs_src": "zdroj", + "fs_pwd": "heslo", + "fs_exp": "vyprลกenรญ", + "fs_tmin": "min", + "fs_thrs": "hodin", + "fs_tdays": "dnรญ", + "fs_never": "navลพdy", + "fs_pname": "volitelnรฝ nรกzev odkazu; bude nรกhodnรฝ, pokud je prรกzdnรฝ", + "fs_tsrc": "soubor nebo sloลพka ke sdรญlenรญ", + "fs_ppwd": "volitelnรฉ heslo", + "fs_w8": "vytvรกล™enรญ sdรญlenรญ...", + "fs_ok": "stisknฤ›te Enter/OK pro zkopรญrovรกnรญ do schrรกnky\nstisknฤ›te ESC/Zruลกit pro zavล™enรญ", + + "frt_dec": "mลฏลพe opravit nฤ›kterรฉ pล™รญpady poruลกenรฝch nรกzvลฏ souborลฏ\">url-decode", + "frt_rst": "resetovat zmฤ›nฤ›nรฉ nรกzvy souborลฏ zpฤ›t na pลฏvodnรญ\">โ†บ reset", + "frt_abrt": "zruลกit a zavล™รญt toto okno\">โŒ cancel", + "frb_apply": "Pล˜EJMENOVAT", + "fr_adv": "dรกvkovรฉ / metadata / pล™ejmenovรกnรญ podle vzoru\">pokroฤilรฉ", + "fr_case": "regex citlivรฝ na velikost pรญsmen\">velikost", + "fr_win": "nรกzvy bezpeฤnรฉ pro windows; nahradit <>:"\\|?* japonskรฝmi plnoลกรญล™kovรฝmi znaky\">win", + "fr_slash": "nahradit / znakem kterรฝ nezpลฏsobรญ vytvoล™enรญ novรฝch sloลพek\">ลพรกdnรฉ /", + "fr_re": "vzor regex hledรกnรญ k aplikaci na pลฏvodnรญ nรกzvy souborลฏ; zachycenรฉ skupiny mohou bรฝt odkazovรกny v poli formรกtu nรญลพe jako <code>(1)</code> a <code>(2)</code> atd.", + "fr_fmt": "inspirovรกno foobar2000:$N<code>(title)</code> je nahrazeno nรกzvem skladby,$N<code>[(artist) - ](title)</code> pล™eskoฤรญ [tuto] ฤรกst pokud je umฤ›lec prรกzdnรฝ$N<code>$lpad((tn),2,0)</code> doplnรญ ฤรญslo stopy na 2 ฤรญslice", + "fr_pdel": "smazat", + "fr_pnew": "uloลพit jako", + "fr_pname": "zadejte nรกzev pro vaลกe novรฉ pล™ednastavenรญ", + "fr_aborted": "zruลกeno", + "fr_lold": "starรฝ nรกzev", + "fr_lnew": "novรฝ nรกzev", + "fr_tags": "tagy pro vybranรฉ soubory (pouze pro ฤtenรญ, jen pro referenci):", + "fr_busy": "pล™ejmenovรกvรกm {0} poloลพek...\n\n{1}", + "fr_efail": "pล™ejmenovรกnรญ selhalo:\n", + "fr_nchg": "{0} z novรฝch nรกzvลฏ bylo zmฤ›nฤ›no kvลฏli win a/nebo ลพรกdnรฉ /\n\nPokraฤovat s tฤ›mito zmฤ›nฤ›nรฝmi novรฝmi nรกzvy?", + + "fd_ok": "mazรกnรญ OK", + "fd_err": "mazรกnรญ selhalo:\n", + "fd_none": "nic nebylo smazรกno; moลพnรก blokovรกno konfiguracรญ serveru (xbd)?", + "fd_busy": "maลพu {0} poloลพek...\n\n{1}", + "fd_warn1": "SMAZAT tฤ›chto {0} poloลพek?", + "fd_warn2": "Poslednรญ ลกance! Nelze vrรกtit zpฤ›t. Smazat?", + + "fc_ok": "vyjmout {0} poloลพek", + "fc_warn": 'vyjmout {0} poloลพek\n\nale: pouze tato karta prohlรญลพeฤe je mลฏลพe vloลพit\n(protoลพe vรฝbฤ›r je tak absolutnฤ› masivnรญ)', + + "fcc_ok": "zkopรญrovรกno {0} poloลพek do schrรกnky", + "fcc_warn": 'zkopรญrovรกno {0} poloลพek do schrรกnky\n\nale: pouze tato karta prohlรญลพeฤe je mลฏลพe vloลพit\n(protoลพe vรฝbฤ›r je tak absolutnฤ› masivnรญ)', + + "fp_apply": "pouลพรญt tyto nรกzvy", + "fp_skip": "pล™eskoฤit konflikty", //m + "fp_ecut": "nejprve vyjmฤ›te nebo zkopรญrujte nฤ›jakรฉ soubory / sloลพky k vloลพenรญ / pล™esunutรญ\n\npoznรกmka: mลฏลพete vyjmout / vloลพit pล™es rลฏznรฉ karty prohlรญลพeฤe", + "fp_ename": "{0} poloลพek sem nelze pล™esunout protoลพe nรกzvy jsou jiลพ obsazenรฉ. Dejte jim novรฉ nรกzvy nรญลพe pro pokraฤovรกnรญ, nebo nรกzev nechte prรกzdnรฝ (\"pล™eskoฤit konflikty\") pro pล™eskoฤenรญ:", //m + "fcp_ename": "{0} poloลพek sem nelze zkopรญrovat protoลพe nรกzvy jsou jiลพ obsazenรฉ. Dejte jim novรฉ nรกzvy nรญลพe pro pokraฤovรกnรญ, nebo nรกzev nechte prรกzdnรฝ (\"pล™eskoฤit konflikty\") pro pล™eskoฤenรญ:", //m + "fp_emore": "stรกle jsou nฤ›kterรฉ kolize nรกzvลฏ souborลฏ k opravฤ›", + "fp_ok": "pล™esun OK", + "fcp_ok": "kopรญrovรกnรญ OK", + "fp_busy": "pล™esouvรกm {0} poloลพek...\n\n{1}", + "fcp_busy": "kopรญruji {0} poloลพek...\n\n{1}", + "fp_abrt": "pล™eruลกuji...", //m + "fp_err": "pล™esun selhal:\n", + "fcp_err": "kopรญrovรกnรญ selhalo:\n", + "fp_confirm": "pล™esunout tฤ›chto {0} poloลพek sem?", + "fcp_confirm": "zkopรญrovat tฤ›chto {0} poloลพek sem?", + "fp_etab": 'selhalo ฤtenรญ schrรกnky z jinรฉ karty prohlรญลพeฤe', + "fp_name": "nahrรกvรกnรญ souboru z vaลกeho zaล™รญzenรญ. Dejte mu nรกzev:", + "fp_both_m": '
    vyberte co vloลพit
    Enter = Pล™esunout {0} souborลฏ z ยซ{1}ยป\nESC = Nahrรกt {2} souborลฏ z vaลกeho zaล™รญzenรญ', + "fcp_both_m": '
    vyberte co vloลพit
    Enter = Kopรญrovat {0} souborลฏ z ยซ{1}ยป\nESC = Nahrรกt {2} souborลฏ z vaลกeho zaล™รญzenรญ', + "fp_both_b": 'Pล™esunoutNahrรกt', + "fcp_both_b": 'KopรญrovatNahrรกt', + + "mk_noname": "napiลกte nรกzev do textovรฉho pole vlevo pล™edtรญm neลพ to udฤ›lรกte :p", + "nmd_i1": "mลฏลพeลก takรฉ pล™idat pล™รญponu souboru, napล™รญklad .md", //m + "nmd_i2": "mลฏลพeลก vytvรกล™et pouze .md soubory, protoลพe nemรกลก oprรกvnฤ›nรญ mazat", //m + + "tv_load": "Naฤรญtรกnรญ textovรฉho dokumentu:\n\n{0}\n\n{1}% ({2} z {3} MiB naฤteno)", + "tv_xe1": "nelze naฤรญst textovรฝ soubor:\n\nchyba ", + "tv_xe2": "404, soubor nenalezen", + "tv_lst": "seznam textovรฝch souborลฏ v", + "tvt_close": "nรกvrat do zobrazenรญ sloลพky$NKlรกvesovรก zkratka: M (nebo Esc)\">โŒ zavล™รญt", + "tvt_dl": "stรกhnout tento soubor$NKlรกvesovรก zkratka: Y\">๐Ÿ’พ stรกhnout", + "tvt_prev": "zobrazit pล™edchozรญ dokument$NKlรกvesovรก zkratka: i\">โฌ† pล™edchozรญ", + "tvt_next": "zobrazit nรกsledujรญcรญ dokument$NKlรกvesovรก zkratka: K\">โฌ‡ dalลกรญ", + "tvt_sel": "vybrat soubor   ( pro vyjmutรญ / kopรญrovรกnรญ / mazรกnรญ / ... )$NKlรกvesovรก zkratka: S\">vรฝbฤ›r", + "tvt_j": "zkrรกลกlit json$NKlรกvesovรก zkratka: shift-J\">j", //m + "tvt_edit": "otevล™รญt soubor v textovรฉm editoru$NKlรกvesovรก zkratka: E\">โœ๏ธ upravit", + "tvt_tail": "sledovat soubor pro zmฤ›ny; zobrazit novรฉ ล™รกdky v reรกlnรฉm ฤase\">๐Ÿ“ก sledovat", + "tvt_wrap": "zalamovรกnรญ slov\">โ†ต", + "tvt_atail": "zamknout posun na konec strรกnky\">โš“", + "tvt_ctail": "dekรณdovat barvy terminรกlu (ansi escape kรณdy)\">๐ŸŒˆ", + "tvt_ntail": "limit zpฤ›tnรฉho posouvรกnรญ (kolik bajtลฏ textu ponechat naฤtenรฝch)", + + "m3u_add1": "skladba pล™idรกna do m3u playlistu", + "m3u_addn": "{0} skladeb pล™idรกno do m3u playlistu", + "m3u_clip": "m3u playlist nynรญ zkopรญrovรกn do schrรกnky\n\nmฤ›li byste vytvoล™it novรฝ textovรฝ soubor pojmenovanรฝ nฤ›co.m3u a vloลพit playlist do tohoto dokumentu; toto ho uฤinรญ pล™ehratelnรฝm", + + "gt_vau": "nezobrazovat videa, jen pล™ehrรกt zvuk\">๐ŸŽง", + "gt_msel": "povolit vรฝbฤ›r souborลฏ; ctrl-klik na soubor pro pล™epsรกnรญ$N$N<em>kdyลพ aktivnรญ: dvojklik na soubor / sloลพku pro otevล™enรญ</em>$N$NKlรกvesovรก zkratka: S\">vรฝbฤ›r vรญce", + "gt_crop": "oล™ez nรกhledลฏ na stล™ed\">oล™ez", + "gt_3x": "nรกhledy s vysokรฝm rozliลกenรญm\">3x", + "gt_zoom": "zoom", + "gt_chop": "rozdฤ›lit", + "gt_sort": "ล™adit podle", + "gt_name": "nรกzev", + "gt_sz": "velikost", + "gt_ts": "datum", + "gt_ext": "typ", + "gt_c1": "vรญce zkrรกtit nรกzvy souborลฏ (zobrazit mรฉnฤ›)", + "gt_c2": "mรฉnฤ› zkrรกtit nรกzvy souborลฏ (zobrazit vรญce)", + + "sm_w8": "hledรกm...", + "sm_prev": "vรฝsledky hledรกnรญ nรญลพe jsou z pล™edchozรญho dotazu:\n ", + "sl_close": "zavล™รญt vรฝsledky hledรกnรญ", + "sl_hits": "zobrazuji {0} zรกsahลฏ", + "sl_moar": "naฤรญst vรญce", + + "s_sz": "velikost", + "s_dt": "datum", + "s_rd": "cesta", + "s_fn": "nรกzev", + "s_ta": "tagy", + "s_ua": "nahrรกno@", + "s_ad": "pokroฤilรฉ", + "s_s1": "minimum MiB", + "s_s2": "maximum MiB", + "s_d1": "min. iso8601", + "s_d2": "max. iso8601", + "s_u1": "nahrรกno po", + "s_u2": "a/nebo pล™ed", + "s_r1": "cesta obsahuje   (oddฤ›lenรฉ mezerami)", + "s_f1": "nรกzev obsahuje   (negace s -ne)", + "s_t1": "tagy obsahujรญ   (^=zaฤรกtek, konec=$)", + "s_a1": "specifickรฉ vlastnosti metadat", + + "md_eshow": "nelze vykreslit ", + "md_off": "[๐Ÿ“œreadme] zakรกzรกno v [โš™๏ธ] -- dokument skryt", + + "badreply": "Selhalo parsovรกnรญ odpovฤ›di ze serveru", + + "xhr403": "403: Pล™รญstup odepล™en\n\nzkuste stisknout F5, moลพnรก jste se odhlรกsili", + "xhr0": "neznรกmรฝ (pravdฤ›podobnฤ› ztraceno spojenรญ se serverem, nebo server je offline)", + "cf_ok": "omlouvรกme se za to -- DD" + wah + "oS ochrana se aktivovala\n\nvฤ›ci by se mฤ›ly obnovit asi za 30 sekund\n\npokud se nic nestane, stisknฤ›te F5 pro obnovenรญ strรกnky", + "tl_xe1": "nelze vypsat podsloลพky:\n\nchyba ", + "tl_xe2": "404: Sloลพka nenalezena", + "fl_xe1": "nelze vypsat soubory ve sloลพce:\n\nchyba ", + "fl_xe2": "404: Sloลพka nenalezena", + "fd_xe1": "nelze vytvoล™it podsloลพku:\n\nchyba ", + "fd_xe2": "404: Nadล™azenรก sloลพka nenalezena", + "fsm_xe1": "nelze odeslat zprรกvu:\n\nchyba ", + "fsm_xe2": "404: Nadล™azenรก sloลพka nenalezena", + "fu_xe1": "selhalo naฤtenรญ unpost seznamu ze serveru:\n\nchyba ", + "fu_xe2": "404: Soubor nenalezen??", + + "fz_tar": "nekomprimovanรฝ gnu-tar soubor (linux / mac)", + "fz_pax": "nekomprimovanรฝ tar formรกtu pax (pomalejลกรญ)", + "fz_targz": "gnu-tar s gzip kompresรญ รบrovnฤ› 3$N$Nto je obvykle velmi pomalรฉ, takลพe$Npouลพijte mรญsto toho nekomprimovanรฝ tar", + "fz_tarxz": "gnu-tar s xz kompresรญ รบrovnฤ› 1$N$Nto je obvykle velmi pomalรฉ, takลพe$Npouลพijte mรญsto toho nekomprimovanรฝ tar", + "fz_zip8": "zip s utf8 nรกzvy souborลฏ (moลพnรก problematickรฉ na windows 7 a starลกรญch)", + "fz_zipd": "zip s tradiฤnรญmi cp437 nรกzvy souborลฏ, pro opravdu starรฝ software", + "fz_zipc": "cp437 s crc32 vypoฤรญtanรฝm brzy,$Npro MS-DOS PKZIP v2.04g (ล™รญjen 1993)$N(trvรก dรฉle zpracovat pล™ed zaฤรกtkem stahovรกnรญ)", + + "un_m1": "mลฏลพete smazat vaลกe nedรกvnรฉ nahrรกnรญ (nebo zruลกit nedokonฤenรฉ) nรญลพe", + "un_upd": "obnovit", + "un_m4": "nebo sdรญlet soubory viditelnรฉ nรญลพe:", + "un_ulist": "zobrazit", + "un_ucopy": "kopรญrovat", + "un_flt": "volitelnรฝ filtr:  URL musรญ obsahovat", + "un_fclr": "vymazat filtr", + "un_derr": 'unpost-delete selhalo:\n', + "un_f5": 'nฤ›co se pokazilo, zkuste prosรญm obnovit, nebo stisknฤ›te F5', + "un_uf5": "omlouvรกme se ale musรญte obnovit strรกnku (napล™รญklad stisknutรญm F5 nebo CTRL-R) pล™edtรญm neลพ toto nahrรกvรกnรญ mลฏลพe bรฝt zruลกeno", + "un_nou": 'varovรกnรญ: server je pล™รญliลก zaneprรกzdnฤ›n pro zobrazenรญ nedokonฤenรฝch nahrรกvรกnรญ; za chvรญli kliknฤ›te na odkaz "obnovit"', + "un_noc": 'varovรกnรญ: unpost plnฤ› nahranรฝch souborลฏ nenรญ povoleno/dovoleno v konfiguraci serveru', + "un_max": "zobrazuji prvnรญch 2000 souborลฏ (pouลพijte filtr)", + "un_avail": "{0} nedรกvnรฝch nahrรกvรกnรญ mลฏลพe bรฝt smazรกno
    {1} nedokonฤenรฝch mลฏลพe bรฝt zruลกeno", + "un_m2": "ล™azeno podle ฤasu nahrรกvรกnรญ; nejnovฤ›jลกรญ prvnรญ:", + "un_no1": "poฤkej! ลพรกdnรก nahrรกvรกnรญ nejsou dostateฤnฤ› nedรกvnรก", + "un_no2": "poฤkej! ลพรกdnรก nahrรกvรกnรญ odpovรญdajรญcรญ tomuto filtru nejsou dostateฤnฤ› nedรกvnรก", + "un_next": "smazat dalลกรญch {0} souborลฏ nรญลพe", + "un_abrt": "zruลกit", + "un_del": "smazat", + "un_m3": "naฤรญtรกm vaลกe nedรกvnรฉ nahrรกnรญ...", + "un_busy": "maลพu {0} souborลฏ...", + "un_clip": "{0} odkazลฏ zkopรญrovรกno do schrรกnky", + + "u_https1": "mฤ›li byste", + "u_https2": "pล™ejรญt na https", + "u_https3": "pro lepลกรญ vรฝkon", + "u_ancient": "vรกลก prohlรญลพeฤ je รบctyhodnฤ› starรฝ -- moลพnรก byste mฤ›li pouลพรญt bup", + "u_nowork": "vyลพadovรกn firefox 53+ nebo chrome 57+ nebo iOS 11+", + "tail_2old": "vyลพadovรกn firefox 105+ nebo chrome 71+ nebo iOS 14.5+", + "u_nodrop": "vรกลก prohlรญลพeฤ je pล™รญliลก starรฝ pro nahrรกvรกnรญ pล™etaลพenรญm (drag-and-drop)", + "u_notdir": "toto nenรญ sloลพka!\n\nvรกลก prohlรญลพeฤ je pล™รญliลก starรฝ,\nzkuste prosรญm soubory pล™etรกhnout", + "u_uri": "pro pล™etaลพenรญ obrรกzkลฏ z jinรฝch oken prohlรญลพeฤe,\nje prosรญm pล™etรกhnฤ›te na velkรฉ tlaฤรญtko pro nahrรกvรกnรญ", + "u_enpot": "pล™epnout na potato UI (mลฏลพe zrychlit nahrรกvรกnรญ)", + "u_depot": "pล™epnout na fancy UI (mลฏลพe zpomalit nahrรกvรกnรญ)", + "u_gotpot": "pล™epรญnรกm na potato UI pro zrychlenรญ nahrรกvรกnรญ,\n\npokud nesouhlasรญte, klidnฤ› jej pล™epnฤ›te zpฤ›t!", + "u_pott": "

    soubory:   {0} dokonฤeno,   {1} selhalo,   {2} nahrรกvรก se,   {3} ve frontฤ›

    ", + "u_ever": "toto je zรกkladnรญ nahrรกvรกnรญ; up2k vyลพaduje alespoลˆ
    chrome 21 // firefox 13 // edge 12 // opera 12 // safari 5.1", + "u_su2k": "toto je zรกkladnรญ nahrรกvรกnรญ; up2k je lepลกรญ", + "u_uput": "optimalizovat pro rychlost (pล™eskoฤit kontrolnรญ souฤet)", + "u_ewrite": "nemรกte oprรกvnฤ›nรญ k zรกpisu do tรฉto sloลพky", + "u_eread": "nemรกte oprรกvnฤ›nรญ ke ฤtenรญ tรฉto sloลพky", + "u_enoi": "vyhledรกvรกnรญ souborลฏ nenรญ povoleno v konfiguraci serveru", + "u_enoow": "pล™epsรกnรญ zde nebude fungovat; je vyลพadovรกno oprรกvnฤ›nรญ k mazรกnรญ", + "u_badf": "Tฤ›chto {0} souborลฏ (z celkem {1}) bylo pล™eskoฤeno, pravdฤ›podobnฤ› kvลฏli oprรกvnฤ›nรญm v souborovรฉm systรฉmu:\n\n", + "u_blankf": "Tฤ›chto {0} souborลฏ (z celkem {1}) je prรกzdnรฝch; pล™esto je nahrรกt?\n\n", + "u_applef": "Tฤ›chto {0} souborลฏ (z celkem {1}) je pravdฤ›podobnฤ› neลพรกdoucรญch;\nStisknฤ›te OK/Enter pro Pล˜ESKOฤŒENร nรกsledujรญcรญch souborลฏ,\nStisknฤ›te Zruลกit/ESC pro Zahrnutรญ a NAHRรNร i tฤ›chto souborลฏ:\n\n", + "u_just1": "\nMoลพnรก to bude fungovat lรฉpe, kdyลพ vyberete pouze jeden soubor", + "u_ff_many": "pokud pouลพรญvรกte Linux / MacOS / Android, takovรฉ mnoลพstvรญ souborลฏ mลฏลพe shodit Firefox!\npokud se to stane, zkuste to prosรญm znovu (nebo pouลพijte Chrome).", + "u_up_life": "Tento upload bude smazรกn ze serveru\n{0} po jeho dokonฤenรญ", + "u_asku": "Nahrรกt {0} souborลฏ do {1}", + "u_unpt": "toto nahrรกvรกnรญ mลฏลพete vrรกtit zpฤ›t / smazat pomocรญ ๐Ÿงฏ vlevo nahoล™e", + "u_bigtab": "chystรกm se zobrazit {0} souborลฏ\n\nto mลฏลพe shodit vรกลก prohlรญลพeฤ, jste si jisti?", + "u_scan": "Skenuji soubory...", + "u_dirstuck": "prochรกzenรญ adresรกล™e se zaseklo pล™i pokusu o pล™รญstup k nรกsledujรญcรญm {0} poloลพkรกm; budou pล™eskoฤeny:", + "u_etadone": "Hotovo ({0}, {1} souborลฏ)", + "u_etaprep": "(pล™รญprava na nahrรกvรกnรญ)", + "u_hashdone": "hashovรกnรญ dokonฤeno", + "u_hashing": "hashovรกnรญ", + "u_hs": "navazuji spojenรญ...", + "u_started": "soubory se nynรญ nahrรกvajรญ; viz [๐Ÿš€]", + "u_dupdefer": "duplikรกt; bude zpracovรกn po vลกech ostatnรญch souborech", + "u_actx": "kliknฤ›te na tento text, abyste zabrรกnili ztrรกtฤ›
    vรฝkonu pล™i pล™epรญnรกnรญ do jinรฝch oken/zรกloลพek", + "u_fixed": "OK!  Opraveno ๐Ÿ‘", + "u_cuerr": "nepodaล™ilo se nahrรกt ฤรกst {0} z {1};\npatrnฤ› neลกkodnรฉ, pokraฤuji\n\nsoubor: {2}", + "u_cuerr2": "server odmรญtl nahrรกnรญ (ฤรกst {0} z {1});\nzopakuji pozdฤ›ji\n\nsoubor: {2}\n\nchyba ", + "u_ehstmp": "zopakuji pokus; viz vpravo dole", + "u_ehsfin": "server odmรญtl poลพadavek na dokonฤenรญ nahrรกvรกnรญ; opakuji pokus...", + "u_ehssrch": "server odmรญtl poลพadavek na vyhledรกvรกnรญ; opakuji pokus...", + "u_ehsinit": "server odmรญtl poลพadavek na zahรกjenรญ nahrรกvรกnรญ; opakuji pokus...", + "u_eneths": "sรญลฅovรก chyba pล™i navazovรกnรญ spojenรญ pro nahrรกvรกnรญ; opakuji pokus...", + "u_enethd": "sรญลฅovรก chyba pล™i ovฤ›ล™ovรกnรญ existence cรญle; opakuji pokus...", + "u_cbusy": "ฤekรกm, aลพ nรกm server po sรญลฅovรฉm problรฉmu zaฤne znovu dลฏvฤ›ล™ovat...", + "u_ehsdf": "na serveru doลกlo mรญsto na disku!\n\nbudu to zkouลกet dรกl, pro pล™รญpad, ลพe nฤ›kdo\nuvolnรญ dostatek mรญsta pro pokraฤovรกnรญ", + "u_emtleak1": "vypadรก to, ลพe vรกลก webovรฝ prohlรญลพeฤ mลฏลพe mรญt รบnik pamฤ›ti (memory leak);\nprosรญm", + "u_emtleak2": " pล™ejdฤ›te na https (doporuฤeno) nebo ", + "u_emtleak3": " ", + "u_emtleakc": "zkuste nรกsledujรญcรญ:\n
    • stisknฤ›te F5 pro obnovenรญ strรกnky
    • potรฉ vypnฤ›te tlaฤรญtko  mt  v  โš™๏ธ nastavenรญ
    • a zkuste nahrรกvรกnรญ znovu
    Nahrรกvรกnรญ bude o nฤ›co pomalejลกรญ, ale co se dรก dฤ›lat.\nOmlouvรกme se za potรญลพe!\n\nPS: chrome v107 obsahuje opravu pro tento problรฉm", + "u_emtleakf": "zkuste nรกsledujรญcรญ:\n
    • stisknฤ›te F5 pro obnovenรญ strรกnky
    • potรฉ zapnฤ›te ๐Ÿฅ” (potato) v rozhranรญ nahrรกvรกnรญ
    • a zkuste nahrรกvรกnรญ znovu
    \nPS: firefox snad bude mรญt opravu v nฤ›kterรฉ z pล™รญลกtรญch verzรญ", + "u_s404": "nenalezeno na serveru", + "u_expl": "vysvฤ›tlit", + "u_maxconn": "vฤ›tลกina prohlรญลพeฤลฏ omezuje poฤet na 6, ale firefox umoลพลˆuje toto navรฝลกit pomocรญ connections-per-server v about:config", + "u_tu": "

    VAROVรNร: turbo zapnuto,  klient nemusรญ detekovat a obnovit nedokonฤenรฉ nahrรกvรกnรญ; viz nรกpovฤ›du u tlaฤรญtka turbo

    ", + "u_ts": "

    VAROVรNร: turbo zapnuto,  vรฝsledky vyhledรกvรกnรญ mohou bรฝt nesprรกvnรฉ; viz nรกpovฤ›du u tlaฤรญtka turbo

    ", + "u_turbo_c": "turbo je vypnuto v konfiguraci serveru", + "u_turbo_g": "vypรญnรกm turbo, protoลพe nemรกte oprรกvnฤ›nรญ\nk vรฝpisu adresรกล™ลฏ na tomto svazku", + "u_life_cfg": 'automatickรฉ smazรกnรญ po min (nebo hodinรกch)', + "u_life_est": 'nahrรกnรญ bude smazรกno ---', + "u_life_max": 'tato sloลพka vynucuje\nmax. ลพivotnost {0}', + "u_unp_ok": 'unpost je povoleno pro {0}', + "u_unp_ng": 'unpost NEBUDE povoleno', + "ue_ro": 'vรกลก pล™รญstup k tรฉto sloลพce je pouze pro ฤtenรญ\n\n', + "ue_nl": 'momentรกlnฤ› nejste pล™ihlรกลกeni', + "ue_la": 'momentรกlnฤ› jste pล™ihlรกลกeni jako "{0}"', + "ue_sr": 'momentรกlnฤ› jste v reลพimu vyhledรกvรกnรญ souborลฏ\n\npล™epnฤ›te do reลพimu nahrรกvรกnรญ kliknutรญm na lupu ๐Ÿ”Ž (vedle velkรฉho tlaฤรญtka HLEDAT) a zkuste nahrรกvรกnรญ znovu\n\nomlouvรกme se', + "ue_ta": 'zkuste nahrรกvรกnรญ znovu, nynรญ by to mฤ›lo fungovat', + "ue_ab": "tento soubor se jiลพ nahrรกvรก do jinรฉ sloลพky a toto nahrรกvรกnรญ musรญ bรฝt dokonฤeno pล™edtรญm, neลพ mลฏลพe bรฝt soubor nahrรกn jinam.\n\nMลฏลพete zruลกit a zapomenout na pลฏvodnรญ nahrรกvรกnรญ pomocรญ levรฉho hornรญho ๐Ÿงฏ", + "ur_1uo": "OK: Soubor รบspฤ›ลกnฤ› nahrรกn", + "ur_auo": "OK: Vลกech {0} souborลฏ รบspฤ›ลกnฤ› nahrรกno", + "ur_1so": "OK: Soubor nalezen na serveru", + "ur_aso": "OK: Vลกech {0} souborลฏ nalezeno na serveru", + "ur_1un": "Nahrรกnรญ selhalo, omlouvรกme se", + "ur_aun": "Vลกech {0} nahrรกnรญ selhalo, omlouvรกme se", + "ur_1sn": "Soubor NEBYL nalezen na serveru", + "ur_asn": "{0} souborลฏ NEBYLO nalezeno na serveru", + "ur_um": "Dokonฤeno;\n{0} nahrรกnรญ OK,\n{1} nahrรกnรญ selhalo, omlouvรกme se", + "ur_sm": "Dokonฤeno;\n{0} souborลฏ nalezeno na serveru,\n{1} souborลฏ NENALEZENO na serveru", + + "rc_opn": "otevล™รญt", //m + "rc_ply": "pล™ehrรกt", //m + "rc_pla": "pล™ehrรกt jako zvuk", //m + "rc_txt": "otevล™รญt v prohlรญลพeฤi souborลฏ", //m + "rc_md": "otevล™รญt v textovรฉm editoru", //m + "rc_dl": "stรกhnout", //m + "rc_zip": "stรกhnout jako archiv", //m + "rc_del": "smazat", //m + "rc_cut": "vyjmout", //m + "rc_cpy": "kopรญrovat", //m + "rc_pst": "vloลพit", //m + "rc_nfo": "novรก sloลพka", //m + "rc_nfi": "novรฝ soubor", //m + "rc_sal": "vybrat vลกe", //m + "rc_sin": "invertovat vรฝbฤ›r", //m + + "lang_set": "obnovit strรกnku, aby se zmฤ›na projevila?", + + "splash": { + "a1": "obnovit", + "b1": "ahoj cizinฤe   (nejsi pล™ihlรกลกen)", + "c1": "odhlรกsit se", + "d1": "vypsat zรกsobnรญku", + "d2": "zobrazit stav vลกech aktivnรญch vlรกken", + "e1": "znovu naฤรญst konfiguraci", + "e2": "znovu naฤรญst konfiguraฤnรญ soubory (accounts/volumes/volflags),$Na prohledat vลกechny e2ds รบloลพiลกtฤ›$N$Npoznรกmka: vลกechny zmฤ›ny globรกlnรญch nastavenรญ$Nvyลพadujรญ รบplnรฉ restartovรกnรญ, aby se projevily", + "f1": "mลฏลพeลก prochรกzet:", + "g1": "mลฏลพeลก nahrรกvat do:", + "cc1": "dalลกรญ vฤ›ci:", + "h1": "zakรกzat k304", + "i1": "povolit k304", + "j1": "povolenรญ k304 odpojรญ vaลกeho klienta pล™i kaลพdรฉm HTTP 304, coลพ mลฏลพe zabrรกnit nฤ›kterรฝm chybovรฝm proxy serverลฏm, aby se zasekly (nรกhle nenaฤรญtaly strรกnky), ale takรฉ to obecnฤ› zpomalรญ vฤ›ci", + "k1": "resetovat nastavenรญ klienta", + "l1": "pล™ihlaste se pro vรญce:", + "ls3": "pล™ihlรกsit se", //m + "lu4": "uลพivatelskรฉ jmรฉno", //m + "lp4": "heslo", //m + "lo3": "odhlรกsit โ€œ{0}โ€ vลกude", //m + "lo2": "tรญmto ukonฤรญte relaci ve vลกech prohlรญลพeฤรญch", //m + "m1": "vรญtej zpฤ›t,", + "n1": "404 nenalezeno  โ”( ยด -`)โ”Œ", + "o1": 'nebo moลพnรก nemรกลก pล™รญstup -- zkus heslo nebo jdi domลฏ', + "p1": "403 zakรกzรกno  ~โ”ปโ”โ”ป", + "q1": 'pouลพij heslo nebo jdi domลฏ', + "r1": "jdi domลฏ", + ".s1": "znovu prohledat", + "t1": "akce", + "u2": "ฤas od poslednรญho zรกpisu na server$N( upload / rename / ... )$N$N17d = 17 dnรญ$N1h23 = 1 hodina 23 minut$N4m56 = 4 minuty 56 sekund", + "v1": "pล™ipojit", + "v2": "pouลพรญt tento server jako mรญstnรญ HDD", + "w1": "pล™epnout na https", + "x1": "zmฤ›nit heslo", + "y1": "upravit sdรญlenรญ", + "z1": "odblokovat toto sdรญlenรญ:", + "ta1": "nejprve vyplลˆte svรฉ novรฉ heslo", + "ta2": "zopakujte pro potvrzenรญ novรฉho hesla:", + "ta3": "nalezen pล™eklep; zkuste to prosรญm znovu", + "nop": "CHYBA: Heslo nesmรญ bรฝt prรกzdnรฉ", //m + "nou": "CHYBA: Uลพivatelskรฉ jmรฉno a/nebo heslo nesmรญ bรฝt prรกzdnรฉ", //m + "aa1": "pล™รญchozรญ soubory:", + "ab1": "deaktivovat no304", + "ac1": "povolit no304", + "ad1": "povolenรญ no304 deaktivuje veลกkerรฉ mezipamฤ›ti; zkuste to, pokud k304 nestaฤilo. To ovลกem zapล™รญฤรญnรญ obrovskรฉ mnoลพstvรญ sรญลฅovรฉho provozu!", + "ae1": "aktivnรญ stahovรกnรญ:", + "af1": "zobrazit nedรกvnรฉ nahrรกvรกnรญ", + "ag1": "zobrazit znรกmรฉ uลพivatele IdP", //m + } +}; diff --git a/copyparty/web/tl/deu.js b/copyparty/web/tl/deu.js new file mode 100644 index 00000000..d2db7787 --- /dev/null +++ b/copyparty/web/tl/deu.js @@ -0,0 +1,710 @@ + +// Zeilen, die mit //m enden, sind nicht verifizierte maschinelle รœbersetzungen + +Ls.deu = { + "tt": "Deutsch", + + "cols": { + "c": "Aktionen", + "dur": "Dauer", + "q": "Qualitรคt / Bitrate", + "Ac": "Audiocodec", + "Vc": "Videocodec", + "Fmt": "Format / Container", + "Ahash": "Audio Checksumme", + "Vhash": "Video Checksumme", + "Res": "Auflรถsung", + "T": "Dateityp", + "aq": "Audioqualitรคt / Bitrate", + "vq": "Videoqualitรคt / Bitrate", + "pixfmt": "Subsampling / Pixelstruktur", + "resw": "horizontale Auflรถsung", + "resh": "vertikale Auflรถsung", + "chs": "Audiokanรคle", + "hz": "Abtastrate", + }, + + "hks": [ + [ + "misc", + ["ESC", "Dinge schliessen"], + + "file-manager", + ["G", "zwischen Liste und Gitter wechseln"], + ["T", "zwischen Vorschaubildern und Symbolen wechseln"], + ["โ‡ง A/D", "Vorschaubildergrรถsse รคndern"], + ["STRG-K", "Auswahl lรถschen"], + ["STRG-X", "Auswahl ausschneiden"], + ["STRG-C", "Auswahl in Zwischenablage kopieren"], + ["STRG-V", "Zwischenablage hier einfรผgen"], + ["Y", "Auswahl herunterladen"], + ["F2", "Auswahl umbenennen"], + + "file-list-sel", + ["LEER", "Dateiauswahl aktivieren"], + ["โ†‘/โ†“", "Cursor verschieben"], + ["STRG โ†‘/โ†“", "Cursor und Bildschirm verschieben"], + ["โ‡ง โ†‘/โ†“", "Vorherige / nรคchste Datei auswรคhlen"], + ["STRG-A", "Alle Dateien / Ordner auswรคhlen"], + ], [ + "navigation", + ["B", "Zwischen Brotkrumen und Navpane wechseln"], + ["I/K", "vorheriger / nรคchster Ordner"], + ["M", "รผbergeordneter Ordner (oder Vorherigen einklappen)"], + ["V", "Zwischen Textdateien und Navpane wechseln"], + ["A/D", "Grรถsse der Navpane รคndern"], + ], [ + "audio-player", + ["J/L", "Vorheriger / nรคchster Song"], + ["U/O", "10 Sek. vor- / zurรผckspringen"], + ["0..9", "zu 0%..90% springen"], + ["P", "Wiedergabe / Pause"], + ["S", "aktuell abgespielten Song auswรคhlen"], + ["Y", "Song herunterladen"], + ], [ + "image-viewer", + ["J/L, โ†/โ†’", "vorheriges / nรคchstes Bild"], + ["Pos1/Ende", "erstes / letztes Bild"], + ["F", "Vollbild"], + ["R", "im Uhrzeigersinn drehen"], + ["โ‡ง R", "gegen den Uhrzeigensinn drehen"], + ["S", "Bild auswรคhlen"], + ["Y", "Bild herunterladen"], + ], [ + "video-player", + ["U/O", "10 Sek. vor- / zurรผckspringen"], + ["P/K/LEER", "Wiedergabe / Pause"], + ["C", "continue playing next"], + ["V", "Wiederholungs-Wiedergabe (Loop)"], + ["M", "Stummschalten"], + ["[ und ]", "Loop-Interval einstellen"], + ], [ + "textfile-viewer", + ["I/K", "vorherige / nรคchste Datei"], + ["M", "Textdatei schliessen"], + ["E", "Textdatei bearbeiten"], + ["S", "Textdatei auswรคhlen (fรผr Ausschneiden / Kopieren / Umbenennen)"], + ["Y", "Textdatei herunterladen"], + ["โ‡ง J", "json verschรถnern"], + ] + ], + + "m_ok": "OK", + "m_ng": "Abbrechen", + + "enable": "Aktivieren", + "danger": "ACHTUNG", + "clipped": "in Zwischenablage kopiert", + + "ht_s1": "Sekunde", + "ht_s2": "Sekunden", + "ht_m1": "Minute", + "ht_m2": "Minuten", + "ht_h1": "Stunde", + "ht_h2": "Stunden", + "ht_d1": "Tag", + "ht_d2": "Tage", + "ht_and": " und ", + + "goh": "Einstellungen", + "gop": 'zum vorherigen Ordner springen">vorh.', + "gou": 'zum รผbergeordneter Ordner springen">hoch', + "gon": 'zum nรคchsten Ordner springen">nรคchst.', + "logout": "Abmelden ", + "login": "Anmelden", + "access": " Zugriff", + "ot_close": "Submenu schliessen", + "ot_search": "Dateien nach Attributen, Pfad/Name, Musiktags oder beliebiger Kombination suchen$N$N<code>foo bar</code> = muss ยซfooยป und ยซbarยป enthalten,$N<code>foo -bar</code> = muss ยซfooยป aber nicht ยซbarยป enthalten,$N<code>^yana .opus$</code> = beginnt mit ยซyanaยป und ist ยซopusยป-Datei$N<code>"try unite"</code> = genau ยซtry uniteยป enthalten$N$NDatumsformat ist iso-8601, z.B.$N<code>2009-12-31</code> oder <code>2020-09-12 23:30:00</code>", + "ot_unpost": "unpost: lรถsche deine letzten Uploads oder breche unvollstรคndige ab", + "ot_bup": "bup: Basic Uploader, unterstรผtzt sogar Neuheiten wie Netscape 4.0", + "ot_mkdir": "mkdir: neuen Ordner erstellen", + "ot_md": "new-file: neue Textdatei erstellen", + "ot_msg": "msg: eine Nachricht an das Server-Log schicken", + "ot_mp": "Media Player-Optionen", + "ot_cfg": "Konfigurationsoptionen", + "ot_u2i": 'up2k: Dateien hochladen (wenn du Schreibrechte hast) oder in den Suchmodus wechseln, um zu prรผfen, ob sie bereits auf dem Server existieren$N$NUploads sind fortsetzbar, multithreaded und behalten Dateizeitstempel, verbrauchen aber mehr CPU als [๐ŸŽˆ]  (der einfache Uploader)

    wรคhrend Uploads wird dieses Symbol zu einem Fortschrittsanzeiger!', + "ot_u2w": 'up2k: Dateien mit Wiederaufnahme-Unterstรผtzung hochladen (Browser schlieรŸen und spรคter dieselben Dateien erneut hochladen)$N$Nmultithreaded, behรคlt Dateizeitstempel, verbraucht aber mehr CPU als [๐ŸŽˆ]  (der einfache Uploader)

    wรคhrend Uploads wird dieses Symbol zu einem Fortschrittsanzeiger!', + "ot_noie": 'Bitte benutze Chrome / Firefox / Edge', + + "ab_mkdir": "Ordner erstellen", + "ab_mkdoc": "Textdatei erstellen", + "ab_msg": "Nachricht an Server Log senden", + + "ay_path": "zu Ordnern springen", + "ay_files": "zu Dateien springen", + + "wt_ren": "ausgewรคhlte Elemente umbenennen$NHotkey: F2", + "wt_del": "ausgewรคhlte Elemente lรถschen$NHotkey: STRG-K", + "wt_cut": "ausgewรคhlte Elemente ausschneiden <small>(um sie dann irgendwo anders einzufรผgen)</small>$NHotkey: STRG-X", + "wt_cpy": "ausgewรคhlte Elemente in Zwischenablage kopieren$N(um sie dann irgendwo anders einzufรผgen)$NHotkey: ctrl-C", + "wt_pst": "zuvor ausgeschnittenen / kopierte Elemente einfรผgen$NHotkey: STRG-V", + "wt_selall": "alle Dateien auswรคhlen$NHotkey: STRG-A (wenn Datei fokusiert)", + "wt_selinv": "Auswahl invertieren", + "wt_zip1": "Diesen Ordner als Archiv herunterladen", + "wt_selzip": "Auswahl als Archiv herunterladen", + "wt_seldl": "Auswahl als separate Dateien herunterladen$NHotkey: Y", + "wt_npirc": "kopiere Titelinfo als IRC-formattierten Text", + "wt_nptxt": "kopiere Titelinfo als Text", + "wt_m3ua": "Zu M3U-Wiedergabeliste hinzufรผgen (wรคhle spรคter ๐Ÿ“ปcopy)", + "wt_m3uc": "M3U-Wiedergabeliste in Zwischenablage kopieren", + "wt_grid": "Zwischen Gitter und Liste wechseln$NHotkey: G", + "wt_prev": "Vorheriger Titel$NHotkey: J", + "wt_play": "Wiedergabe / Pause$NHotkey: P", + "wt_next": "Nรคchster Titel$NHotkey: L", + + "ul_par": "Parallele Uploads:", + "ut_rand": "Zufรคllige Dateinamen", + "ut_u2ts": "Zuletzt geรคndert-Zeitstempel von$Ndeinem Dateisystem auf den Server รผbertragen\">๐Ÿ“…", + "ut_ow": "Existierende Dateien auf dem Server รผberschreiben?$N๐Ÿ›ก๏ธ: Nie (generiert einen neuen Dateinamen)$N๐Ÿ•’: รœberschreiben, wenn Server-Datei รคlter ist als meine$Nโ™ป๏ธ: รœberschreiben, wenn der Dateiinhalt anders ist$Nโญ๏ธ: Vorhandene Dateien immer รผberspringen", + "ut_mt": "Andere Dateien wรคhrend des Uploads hashen$N$Nsolltest du deaktivieren, falls deine CPU oder Festplatte zum Flaschenhals werden kรถnnte", + "ut_ask": 'Vor dem Upload nach Bestรคtigung fragen">๐Ÿ’ญ', + "ut_pot": "Verbessert Upload-Geschwindigkeit$Nindem das UI weniger komplex gemacht wird", + "ut_srch": "nicht wirklich hochladen, stattdessen prรผfen ob Datei bereits auf dem Server existiert (scannt alle Ordner, die du lesen kannst)", + "ut_par": "setze auf 0 zum Pausieren$N$Nerhรถhe, wenn deine Verbindung langsam / instabil ist$N$lass auf 1 im LAN oder wenn die Festplatte auf dem Server ein Flaschenhals ist", + "ul_btn": "Dateien / Ordner hier
    ablegen (oder klick mich)", + "ul_btnu": "U P L O A D", + "ul_btns": "S U C H E N", + + "ul_hash": "hash", + "ul_send": "senden", + "ul_done": "fertig", + "ul_idle1": "keine Uploads in der Warteschlange", + "ut_etah": "durchschnittl. <em>hashing</em> Geschw. & gesch. Restzeit", + "ut_etau": "durchschnittl. <em>upload</em> Geschw. & gesch. Restzeit", + "ut_etat": "durchschnittl. <em>total</em> Geschw. & gesch. Restzeit", + + "uct_ok": "Erfolgreich abgeschlossen", + "uct_ng": "no-good: fehlgeschlagen / abgelehnt / nicht gefunden", + "uct_done": "ok and ng zusammen", + "uct_bz": "wird gehasht oder hochgeladen", + "uct_q": "ausstehend", + + "utl_name": "Dateiname", + "utl_ulist": "Liste", + "utl_ucopy": "kopieren", + "utl_links": "Links", + "utl_stat": "Status", + "utl_prog": "Fortschritt", + + // keep short: + "utl_404": "404", + "utl_err": "Fehler", + "utl_oserr": "OS-Fehler", + "utl_found": "gefunden", + "utl_defer": "zurรผckstellen", + "utl_yolo": "YOLO", + "utl_done": "fertig", + + "ul_flagblk": "Die Dateien wurden zur Warteschlange hinzugefรผgt
    jedoch ist up2k gerade in einem anderen Browsertab aktiv.
    Ich warte, bis der Upload abgeschlossen ist.", + "ul_btnlk": "Die Serverkonfiguration hat diese Einstellung gesperrt", + + "udt_up": "Upload", + "udt_srch": "Suchen", + "udt_drop": "hier ablegen", + + "u_nav_m": '
    okay, was gibts??
    Eingabe = Dateien (1 oder mehr)\nESC = 1 Ordner (inkl. Unterordner)', + "u_nav_b": 'Dateien1 Ordner', + + "cl_opts": "Schalter", + "cl_hfsz": "DateigrรถรŸe", + "cl_themes": "Themes", + "cl_langs": "Sprache", + "cl_ziptype": "Ordner Download", + "cl_uopts": "up2k Schalter", + "cl_favico": "Favicon", + "cl_bigdir": "grosse Ordner", + "cl_hsort": "#sort", + "cl_keytype": "Schlรผsselnotation", + "cl_hiddenc": "Spalten verstecken", + "cl_hidec": "verstecken", + "cl_reset": "zurรผcksetzen", + "cl_hpick": "zum Verstecken, tippe auf Spaltenรผberschriften in der Tabelle unten", + "cl_hcancel": "Spaltenbearbeitung abgebrochen", + "cl_rcm": "Rechtsklick-Menรผ", + + "ct_grid": '็”ฐ Das Raster™', + "ct_ttips": 'โ—” โ—ก โ—”">โ„น๏ธ Tooltips', + "ct_thumb": 'In Raster-Ansicht, zwischen Icons und Vorschau wechseln$NHotkey: T">๐Ÿ–ผ๏ธ Vorschaubilder', + "ct_csel": 'Benutze STRG und UMSCHALT fรผr Dateiauswahl in Raster-Ansicht">sel', + "ct_dl": 'Beim Klick auf Dateien sie immer herunterladen (nicht einbetten)">dl', + "ct_ihop": 'Wenn die Bildanzeige geschlossen ist, scrolle runter zu den zuletzt angesehenen Dateien">gโฎฏ', + "ct_dots": 'Verstecke Dateien anzeigen (wenn durch den Server erlaubt)">dotfiles', + "ct_qdel": 'Nur einmal fragen, wenn mehrere Dateien gelรถscht werden">qdel', + "ct_dir1st": 'Ordner vor Dateien sortieren">๐Ÿ“ zuerst', + "ct_nsort": 'Natรผrliche Sortierung (fรผr Dateinamen mit fรผhrenden Ziffern)">nsort', + "ct_utc": 'Fรผr alle Zeitangaben UTC verwenden">UTC', + "ct_readme": 'README.md in Dateiliste anzeigen">๐Ÿ“œ readme', + "ct_idxh": 'index.html anstelle von Dateiliste anzeigen">htm', + "ct_sbars": 'Scrollbars zeigen">โŸŠ', + + "cut_umod": "Sollte die Datei bereits auf dem Server existieren, den 'Zuletzt geรคndert'-Zeitstempel an deine lokale Datei anpassen (benรถtigt Lese- und Lรถschrechte)\">re๐Ÿ“…", + + "cut_turbo": "der YOLO-Knopf, den du wahrscheinlich NICHT aktivieren willst:$N$NBenutze ihn, falls du ne Menge Zeug hochladen wolltest und aus irgendeinem Grund neustarten musstest und du so schnell wie mรถglich weitermachen willst.$N$Ndies ersetzt den Hash-Check mit einem einfachen "Ist die Datei auf dem Server gleich gross?", wenn die Datei also anderen Inhalt hat, wird sie NICHT nochmal hochgeladen!$N$NDu solltest dieses Feature ausschalten, sobald der Upload fertig ist und dann die gleichen Dateien nochmal "hochladen", damit der Client sie verifizieren kann.\">turbo", + + "cut_datechk": "Funktioniert nur in kombination mit dem Turbo-Knopf$N$NReduziert den YOLO-Faktor ein bisschen; prรผft, ob der Zeitstempel deiner Datei mit dem auf dem Server รผbereinstimmt$N$Nsollte theoretisch die meisten unfertigen / korrupten Uploads erwischen, ist aber nicht zu gebrauchen, um einen Prรผfdurchgang nach einem Turbo-Upload zu machen\">date-chk", + + "cut_u2sz": "Grรถsse (in MiB) fรผr jeden Upload-Chunk; mit grossen Werten fliegen die Bits besser รผber den Atlantik. Versuche kleine Werte, wenn du eine schlechte Verbindung hast (z.B. du benutzt mobile Daten in Deutschland)", + + "cut_flag": "Stelle sicher, dass nur ein Tab auf einmal Dateien hochlรคdt$N -- andere Tabs mรผssen diese Funktion auch aktiviert haben $N -- funktioniert nur bei Tabs mit der gleichen Domรคne", + + "cut_az": "Lรคdt Dateien in alphabetischer Reihenfolge hoch, anstatt nach Dateigrรถsse$N$NAlphabethische Reihenfolge kann es einfacher machen, Server-Fehler mit naktem Auge zu erkennen, macht aber Uploads รผber Glassfaser / LAN etwas langsamer", + + "cut_nag": "Benachrichtigung รผber das Betriebssystem abgeben, wenn Upload fertig ist$N(nur wenn Browser oder Tab nicht im Vordergrund ist)", + "cut_sfx": "Spielt ein Ton ab, wenn Upload fertig ist$N(nur wenn Browser oder Tab nicht im Vordergrund ist)", + + "cut_mt": "Multithreading benutzen um Datei-Hashing zu beschleunigen$N$NDies nutzt Web-Workers und benรถtigt$Nmehr RAM (bis zu 512 MiB extra)$N$Nbeschleunigt HTTPS 30% schneller, HTTP um 4.5x\">mt", + + "cut_wasm": "benutzt WASM anstelle des Browser-eigenen Hashers; verbessert Geschwindigkeit auf Chromium-basierten Browsern, erhรถht aber die CPU-Auslastung. Viele รคltere Versionen von Chrome haben Memory-Leaks, die den gesamten RAM verbrauchen und dann crashen, wenn diese Funktion aktiviert ist.\">wasm", + + "cft_text": "Favicon Text (leer lassen und neuladen zum Deaktivieren)", + "cft_fg": "Vordergrundfarbe", + "cft_bg": "Hintergrundfarbe", + + "cdt_lim": "max. Anz. Dateien, die in einem Ordner gezeigt werden sollen", + "cdt_ask": "beim Runterscrollen nach $NAktion fragen statt mehr,$NDateien zu laden", + "cdt_hsort": "Menge an Sortierregeln (<code>,sorthref</code>) in Media-URLs enthalten sein sollen. Ein Wert von 0 sorgt dafรผr, dass Sortierregeln in Media-URLs ignoriert werden", + "cdt_ren": "spezielles Rechtsklick-Menรผ aktivieren, das Browser-Menรผ ist weiterhin mit Shift + Rechtsklick erreichbar", + + "tt_entree": "Navpane anzeigen (Ordnerbaum Sidebar)$NHotkey: B", + "tt_detree": "Breadcrumbs anzeigen$NHotkey: B", + "tt_visdir": "zu ausgewรคhltem Ordner scrollen", + "tt_ftree": "zw. Ordnerbaum / Textdateien wechseln$NHotkey: V", + "tt_pdock": "รผbergeordnete Ordner in einem angedockten Fenster oben anzeigen", + "tt_dynt": "autom. wachsen wenn Baum wรคchst", + "tt_wrap": "Zeilenumbruch", + "tt_hover": "Beim Hovern รผberlange Zeilen anzeigen$N(Scrollen funktioniert nicht ausser $N  Cursor ist im linken Gutter)", + + "ml_pmode": "am Ende des Ordners...", + "ml_btns": "cmds", + "ml_tcode": "transcodieren", + "ml_tcode2": "transcodieren zu", + "ml_tint": "fรคrben", + "ml_eq": "Audio Equalizer", + "ml_drc": "Dynamic Range Compressor", + + "mt_loop": "Song wiederholen\">๐Ÿ”", + "mt_one": "Wiedergabe nach diesem Song beenden\">1๏ธโƒฃ", + "mt_shuf": "Zufรคllige Wiedergabe im Ordner\">๐Ÿ”€", + "mt_aplay": "automatisch abspielen, wenn der Link, mit dem du auf den Server zugreifst, eine Titel-ID enthรคlt$N$NDeaktivieren verhindert auch, dass die Seiten-URL bei Musikwiedergabe mit Titel-IDs aktualisiert wird, um Autoplay zu verhindern, falls diese Einstellungen verloren gehen, die URL aber bestehen bleibt\">aโ–ถ", + "mt_preload": "nรคchsten Titel gegen Ende vorladen fรผr nahtlose Wiedergabe\">Vorladen", + "mt_prescan": "vor Ende des letzten Titels zum nรคchsten Ordner wechseln,$Ndamit der Browser die$NWiedergabe nicht stoppt\">Navigation", + "mt_fullpre": "versuchen, den gesamten Titel vorzuladen;$Nโœ… bei unzuverlรคssiger Verbindung aktivieren,$NโŒ bei langsamer Verbindung deaktivieren\">vollständig", + "mt_fau": "auf Handys verhindern, dass Musik stoppt, wenn der nรคchste Titel nicht schnell genug vorlรคdt (kann zu fehlerhafter Tag-Anzeige fรผhren)\">โ˜•๏ธ", + "mt_waves": "Wellenform-Suchleiste:$NAudio-Amplitude in der Leiste anzeigen\">~s", + "mt_npclip": "Buttons zum Kopieren des aktuellen Titels anzeigen\">/np", + "mt_m3u_c": "Buttons zum Kopieren der$Nausgewรคhlten Titel als m3u8-Wiedergabeliste anzeigen\">๐Ÿ“ป", + "mt_octl": "OS-Integration (Media-Hotkeys/OSD)\">os-ctl", + "mt_oseek": "Suchen via OS-Integration erlauben$N$NHinweis: auf einigen Gerรคten (iPhones)$Nersetzt dies den nรคchsten-Titel-Button\">Suchen", + "mt_oscv": "Albumcover in OSD anzeigen\">Cover", + "mt_follow": "den spielenden Titel im Blick behalten\">๐ŸŽฏ", + "mt_compact": "kompakte Steuerelemente\">โŸŽ", + "mt_uncache": "Cache leeren  (probier das, wenn dein Browser$Neine defekte Kopie eines Titels zwischenspeichert und sich weigert, ihn abzuspielen)\">Cache leeren", + "mt_mloop": "offenen Ordner wiederholen\">๐Ÿ” Schleife", + "mt_mnext": "nรคchsten Ordner laden und fortfahren\">๐Ÿ“‚ nรคchster", + "mt_mstop": "Wiedergabe beenden\">โธ Stop", + "mt_cflac": "FLAC / WAV zu {0} konvertierebn\">flac", + "mt_caac": "AAC / M4A zu {0} konvertieren\">aac", + "mt_coth": "Convertiere alle Dateien (die nicht MP3 sind) zu {0}\">oth", + "mt_c2opus": "Beste Wahl fรผr Desktops, Laptops, Android\">opus", + "mt_c2owa": "opus-weba, fรผr iOS 17.5 und neuer\">owa", + "mt_c2caf": "opus-caf, fรผr iOS 11 bis 17\">caf", + "mt_c2mp3": "benutze dieses Format fรผr รคltere Gerรคte\">mp3", + "mt_c2flac": "beste Klangqualitรคt, aber riesige Downloads\">flac", + "mt_c2wav": "unkomprimierte Wiedergabe (noch grรถรŸer)\">wav", + "mt_c2ok": "Gute Wahl, Chef!", + "mt_c2nd": "Das ist nicht das empfohlene Ausgabeformat fรผr dein Gerรคt, aber passt schon", + "mt_c2ng": "Dein Gerรคt scheint dieses Ausgabeformat nicht zu unterstรผtzen, aber lass trotzdem mal probieren", + "mt_xowa": "Es gibt Bugs in iOS, die die Hintergrund-Wiedergabe mit diesem Format verhindern; bitte nutze caf oder mp3 stattdessen", + "mt_tint": "Hintergrundlevel (0-100) auf der Seekbar$Num Buffern weniger ablenkend zu machen", + "mt_eq": "Aktiviert Equalizer und Lautstรคrkeregelung;$N$Nboost <code>0</code> = Standard 100% Lautstรคrke (unverรคndert)$N$Nwidth <code>1  </code> = Standard Stereo (unverรคndert)$Nwidth <code>0.5</code> = 50% Links-Rechts-Crossfeed$Nwidth <code>0  </code> = Mono$N$Nboost <code>-0.8</code> & width <code>10</code> = Gesangsentfernung :^)$N$NDer Equalizer macht nahtlose Alben vollstรคndig nahtlos, also lass' ihn mit allen Werten auf Null (auรŸer width = 1) aktiviert, wenn dir das wichtig ist", + "mt_drc": "Aktiviert den Dynamic Range Compressor (Lautstรคrkeglรคttung/-begrenzung); aktiviert auch den Equalizer zum Ausgleich, setze alle EQ-Felder auรŸer 'width' auf 0, wenn du das nicht willst$N$Nsenkt die Lautstรคrke von Audio รผber SCHWELLENWERT dB; fรผr jedes VERHร„LTNIS dB รผber SCHWELLENWERT gibt es 1 dB Ausgabe, also bedeuten Standardwerte von tresh -24 und ratio 12, dass es nie lauter als -22 dB werden sollte und der Equalizer-Boost sicher auf 0.8 oder sogar 1.8 mit ATK 0 und einem groรŸen RLS wie 90 erhรถht werden kann (funktioniert nur in Firefox; in anderen Browsern ist RLS max. 1)$N$N(siehe Wikipedia, dort wird es viel besser erklรคrt)", + + "mb_play": "Abspielen", + "mm_hashplay": "Diese Audiodatei abspielen?", + "mm_m3u": "Drรผcke Eingabe/OK zum Abspielen\nDrรผcke ESC/Abbrechen zum Bearbeiten", + "mp_breq": "Benรถtigt Firefox 82+ oder Chrome 73+ oder iOS 15+", + "mm_bload": "Lรคdt...", + "mm_bconv": "Konvertiere zu {0}, bitte warte...", + "mm_opusen": "Dein Browser kann AAC- / M4A-Dateien nicht abspielen;\nUmwandlung zu Opus ist jetzt aktiv", + "mm_playerr": "Wiedergabefehler: ", + "mm_eabrt": "Der Wiedergabeversuch wurde abgebrochen", + "mm_enet": "Dein Internet lรคuft auf Edge, wa?", + "mm_edec": "Die Datei scheint beschรคdigt zu sein??", + "mm_esupp": "Dein Browser versteht dieses Audioformat nicht", + "mm_eunk": "Unbekannter Fehler", + "mm_e404": "Konnte Datei nicht abspielen; Fehler 404: Datei nicht gefunden.", + "mm_e403": "Konnte Datei nicht abspielen; Fehler 403: Zugriff verweigert.\n\nDrรผcke F5 zum Neuladen, vielleicht wurdest du abgemeldet", + "mm_e500": "Konnte Datei nicht abspielen; Fehler 500: Prรผfe die Serverlogs.", + "mm_e5xx": "Konnte Datei nicht abspielen; Server Fehler ", + "mm_nof": "finde keine weiteren Audiodateien in der Nรคhe", + "mm_prescan": "Suche nach Musik zum Abspielen...", + "mm_scank": "Nรคchster Song gefunden:", + "mm_uncache": "Cache geleert; Alle Songs werden beim nรคchsten Abspielversuch neu heruntergeladen", + "mm_hnf": "dieser Song existiert nicht mehr", + + "im_hnf": "dieses Bild existiert nicht mehr", + + "f_empty": 'Dieser Ordner ist leer', + "f_chide": 'Dies blendet die Spalte ยซ{0}ยป aus\n\nDu kannst Spalten in den Einstellungen wieder einblenden.', + "f_bigtxt": "Diese Datei ist {0} MiB gross -- Sicher, dass du sie als Text anzeigen willst?", + "f_bigtxt2": "Mรถchtest du stattdessen nur das Ende der Datei anzeigen? Das aktiviert ausserdem die Folgen- und Verfolgen-Funktion, welche neu hinzugefรผgte Textzeilen in Echtzeit anzeigt", + "fbd_more": '
    zeige {0} von {1} Dateien; {2} anzeigen oder alle anzeigen
    ', + "fbd_all": '
    zeige {0} von {1} Dateien; alle anzeigen
    ', + "f_anota": "nur {0} der {1} Elemente wurden ausgewรคhlt;\num den gesamten Ordner auszuwรคhlen, zuerst nach unten scrollen", + + "f_dls": 'die Dateilinks im aktuellen Ordner wurden\nin Downloadlinks geรคndert', + + "f_partial": "Um eine Datei sicher herunterzuladen, die gerade hochgeladen wird, klicke bitte die Datei mit dem gleichen Namen, aber ohne die .PARTIAL-Endung. Bitte drรผcke Abbrechen oder Escape, um dies zu tun.\n\nWenn du auf OK / Eingabe drรผckst, ignorierst du diese Warnung und lรคdst die .PARTIAL-Datei herunter, die ziemlich sicher beschรคdigte Daten enthรคlt.", + + "ft_paste": "{0} Elemente einfรผgen$NHotkey: STRG-V", + "fr_eperm": 'Umbenennen fehlgeschlagen:\nDir fehlt die "Verschieben"-Berechtigung in diesem Ordner', + "fd_eperm": 'Lรถschen fehlgeschlagen:\nDir fehlt die "Lรถschen"-Berechtigung in diesem Ordner', + "fc_eperm": 'Ausschneiden fehlgeschlagen:\nDir fehlt die "Verschieben"-Berechtigung in diesem Ordner', + "fp_eperm": 'Einfรผgen fehlgeschlagen:\nDir fehlt die "Schreiben"-Berechtigung in diesem Ordner', + "fr_emore": "Wรคhle mindestens ein Element zum Umbenennen aus", + "fd_emore": "Wรคhle mindestens ein Element zum Lรถschen aus", + "fc_emore": "Wรคhle mindestens ein Element zum Ausschneiden aus", + "fcp_emore": "Wรคhle mindestens ein Element aus, um es in die Zwischenablage zu kopieren", + + "fs_sc": "Teile diesen Ordner", + "fs_ss": "Teile die ausgewรคhlten Dateien", + "fs_just1d": "Du kannst nicht mehrere Ordner auswรคhlen \noder Dateien und Ordner in der Auswahl mischen.", + "fs_abrt": "โŒ Abbrechen", + "fs_rand": "๐ŸŽฒ Zufallsname", + "fs_go": "โœ… Share erstellen", + "fs_name": "Name", + "fs_src": "Quelle", + "fs_pwd": "Passwort", + "fs_exp": "Ablauf", + "fs_tmin": "Minuten", + "fs_thrs": "Stunden", + "fs_tdays": "Tage", + "fs_never": "nie", + "fs_pname": "optionaler Linkname; zufรคllig wenn leer", + "fs_tsrc": "zu teilende Datei oder Ordner", + "fs_ppwd": "optionales Passwort", + "fs_w8": "erstelle Share...", + "fs_ok": "drรผcke Eingabe/OK fรผr Zwischenablage\ndrรผcke ESC/Abbrechen zum Schliessen", + + "frt_dec": "Kann Fรคlle von beschรคdigten Dateien beheben\">url-decode", + "frt_rst": "Geรคnderte Dateinamen auf Orginale zurรผcksetzen\">โ†บ zurรผcksetzen", + "frt_abrt": "Abbrechen und dieses Fenster schliessen\">โŒ abbrechen", + "frb_apply": "รœBERNEHMEN", + "fr_adv": "Stapel-/Metadaten-/Musterumbenennung\">erweitert", + "fr_case": "GroรŸ-/Kleinschreibung beachten (Regex)\">GroรŸschreibung", + "fr_win": "Windows-kompatible Namen; ersetzt <>:"\\|?* durch japanische Fullwidth-Zeichen\">win", + "fr_slash": "Ersetzt / durch ein Zeichen, das keine neuen Ordner erstellt\">no /", + "fr_re": "Regex-Suchmuster fรผr Originaldateinamen; Erfassungsgruppen kรถnnen im Formatfeld unten als <code>(1)</code> und <code>(2)</code> usw. referenziert werden", + "fr_fmt": "inspiriert von foobar2000:$N<code>(title)</code> wird durch Songtitel ersetzt,$N<code>[(artist) - ](title)</code> รผberspringt [diesen] Teil falls Interpret leer$N<code>$lpad((tn),2,0)</code> fรผllt die Titelnummer auf 2 Ziffern auf", + "fr_pdel": "Lรถschen", + "fr_pnew": "Speichern als", + "fr_pname": "Gib der Vorlage einen Namen", + "fr_aborted": "Abgebrochen", + "fr_lold": "Alter Name", + "fr_lnew": "Neuer Name", + "fr_tags": "Tags fรผr die ausgewรคhlten Dateien (liest nur, als Referenz):", + "fr_busy": "Benenne {0} Elemente um...\n\n{1}", + "fr_efail": "Umbenennen fehlgeschlagen:\n", + "fr_nchg": "{0} der neuen Namen wurden angepasst durch win und/oder no /\n\nMรถchtest du mit diesen geรคnderten Namen fortfahren?", + + "fd_ok": "Lรถschen OK", + "fd_err": "Lรถschen fehlgeschlagen:\n", + "fd_none": "Nichts wรผrde gelรถscht; vielleicht durch die Serverkonfiguration blockiert (xbd)?", + "fd_busy": "Lรถsche {0} Elemente...\n\n{1}", + "fd_warn1": "Diese {0} Elemente Lร–SCHEN?", + "fd_warn2": "Ich frage das letzte Mal! Was weg ist, ist weg. Keine Chance, das rรผckgรคngig zu machen. Lรถschen?", + + "fc_ok": "{0} Elemente ausgeschnitten", + "fc_warn": '{0} Elemente in die Zwischenablage kopiert\n\nAber: nur dieses Browsertab kann sie einfรผgen\n(da deine Auswahl so abartig riesig war)', + + "fcc_ok": "{0} Elemente in die Zwischenablage kopiert", + "fcc_warn": '{0} Elemente in die Zwischenablage kopiert\n\nAber: nur dieses Browsertab kann sie einfรผgen\n(da deine Auswahl so abartig riesig war)', + + "fp_apply": "Diese Namen verwenden", + "fp_skip": "Konflikte รผberspringen", + "fp_ecut": "Kopiere erst ein paar Dateien / Ordner, um sie einzufรผgen\n\nTipp: Ausschneiden und Kopieren funktioniert รผber Browsertabs hinweg", + "fp_ename": '{0} Elemente konnten nicht verschoben werden, weil bereits andere Dateien mit diesen Namen existieren. Gib ihnen unten neue Namen um fortzufahren, oder lass das Feld leer um sie zu รผberspringen ("Konflikte รผberspringen" macht das automatisch):', + "fcp_ename": '{0} Elemente konnten nicht kopiert werden, weil bereits andere Dateien mit diesen Namen existieren. Gib ihnen unten neue Namen um fortzufahren, oder lass das Feld leer um sie zu รผberspringen ("Konflikte รผberspringen" macht das automatisch):', + "fp_emore": "Es gibt noch ein paar Dateinamen, die geรคndert werden mรผssen", + "fp_ok": "Verschieben OK", + "fcp_ok": "Kopieren OK", + "fp_busy": "Verschiebe {0} Elemente...\n\n{1}", + "fcp_busy": "Kopiere {0} Elemente...\n\n{1}", + "fp_abrt": "wird abgebrochen...", + "fp_err": "Verschieben fehlgeschlagen:\n", + "fcp_err": "Kopieren fehlgeschlagen:\n", + "fp_confirm": "Diese {0} Elemente hierher verschieben?", + "fcp_confirm": "Diese {0} Elemente hierher kopieren?", + "fp_etab": 'Konnte die Zwischenablage nicht vom anderen Browsertab lesen', + "fp_name": "Lade Datei von deinem Gerรคt hoch. Gib ihr einen Namen:", + "fp_both_m": '
    Wรคhle, was eingefรผgt werden soll
    Eingabe = {0} Dateien von ยซ{1}ยป verschieben\nESC = {2} Dateien von deinem Gerรคt hochladen', + "fcp_both_m": '
    Wรคhle, was eingefรผgt werden soll
    Eingabe = {0} Dateien von ยซ{1}ยป kopieren\nESC = {2} Dateien von deinem Gerรคt hochladen', + "fp_both_b": 'VerschiebenHochladen', + "fcp_both_b": 'KopierenHochladen', + + "mk_noname": "Tipp' mal vorher lieber einen Namen in das Textfeld links, bevor du das machst :p", + "nmd_i1": "Fรผge auch die Dateiendung hinzu, z.B. .md", + "nmd_i2": "Du kannst nur .md-Dateien erstellen, da dir Lรถsch-Rechte fehlen", + + "tv_load": "Textdatei wird geladen:\n\n{0}\n\n{1}% ({2} von {3} MiB geladen)", + "tv_xe1": "Konnte Textdatei nicht laden:\n\nFehler ", + "tv_xe2": "404, Datei nicht gefunden", + "tv_lst": "Liste der Textdateien in", + "tvt_close": "Zu Ordneransicht zurรผck$NHotkey: M (oder Esc)\">โŒ Schliessen", + "tvt_dl": "Diese Datei herunterladen$NHotkey: Y\">๐Ÿ’พ Herunterladen", + "tvt_prev": "Vorheriges Dokument zeigen$NHotkey: i\">โฌ† vorh.", + "tvt_next": "Nรคchstes Dokument zeigen$NHotkey: K\">โฌ‡ nรคchst.", + "tvt_sel": "Wรคhlt diese Datei aus   ( zum Ausschneiden / Kopieren / Lรถschen / ... )$NHotkey: S\">ausw.", + "tvt_j": "json verschรถnern$NHotkey: shift-J\">j", + "tvt_edit": "Datei im Texteditor zum Bearbeiten รถffnen$NHotkey: E\">โœ๏ธ bearb.", + "tvt_tail": "Datei auf Verรคnderungen รผberwachen; Neue Zeilen werden in Echtzeit angezeigt\">๐Ÿ“ก folgen", + "tvt_wrap": "Zeilenumbruch\">โ†ต", + "tvt_atail": "Automatisch nach unten scrollen\">โš“", + "tvt_ctail": "Terminal-Farben dekodieren (ANSI Escape Codes)\">๐ŸŒˆ", + "tvt_ntail": "Scrollback limitieren (Menge an Bytes an Text, die geladen bleiben sollen)", + + "m3u_add1": "Song wurde zur M3U-Playlist hinzugefรผgt", + "m3u_addn": "{0} Songs zur M3U-Playlist hinzugefรผgt", + "m3u_clip": "M3U-Playlist in die Zwischenablage kopiert\n\nDu solltest eine neue Datei mit dem Namen something.m3u erstellen und die Playlist da rein kopieren; damit wird die Playlist abspielbar", + + "gt_vau": "nur Ton abspielen, kein Video zeigen\">๐ŸŽง", + "gt_msel": "Dateiauswahl aktivieren; STRG-klicke eine Datei zum รผberschreiben$N$N<em>wenn aktiv: Datei / Ordner doppelklicken zum ร–ffnen</em>$N$NHotkey: S\">multiselect", + "gt_crop": "Vorschaubilder mittig zuschneiden\">crop", + "gt_3x": "hochauflรถsende Vorschaubilder\">3x", + "gt_zoom": "zoom", + "gt_chop": "kรผrzen", + "gt_sort": "sortieren nach", + "gt_name": "Name", + "gt_sz": "Grรถsse", + "gt_ts": "Datum", + "gt_ext": "Typ", + "gt_c1": "Dateinamen mehr kรผrzen (weniger zeigen)", + "gt_c2": "Dateinamen weniger kรผrzen (mehr zeigen)", + + "sm_w8": "Suche ...", + "sm_prev": "Die Suchresultate gehรถren zu einer vorherigen Suchanfrage:\n ", + "sl_close": "Suchresultate schliessen", + "sl_hits": "Zeige {0} Treffer", + "sl_moar": "Mehr laden", + + "s_sz": "Grรถsse", + "s_dt": "Datum", + "s_rd": "Pfad", + "s_fn": "Name", + "s_ta": "Tags", + "s_ua": "up@", + "s_ad": "adv.", + "s_s1": "minimum MiB", + "s_s2": "maximum MiB", + "s_d1": "min. iso8601", + "s_d2": "max. iso8601", + "s_u1": "hochgeladen nach", + "s_u2": "und/oder vor", + "s_r1": "Pfad enthรคlt   (Leerzeichen-separiert)", + "s_f1": "Name enthรคlt   (negieren mit -nope)", + "s_t1": "Tags enthรคlt   (^=start, end=$)", + "s_a1": "spezifische Metadaten-Eigenschaften", + + "md_eshow": "Kann nicht rendern ", + "md_off": "[๐Ÿ“œreadme] deaktiviert in [โš™๏ธ] -- Dokument versteckt", + + "badreply": "Hab die Antwort vom Server nicht verstanden. (badreply)", + + "xhr403": "403: Zugriff verweigert\n\nVersuche, F5 zu drรผcken. Vielleicht wurdest du abgemeldet.", + "xhr0": "Unbekannt (wahrschenlich Verbindung zum Server verloren oder der Server ist offline)", + "cf_ok": "Sorry dafรผr -- Der DD" + wah + "oS-Schutz hat angeschlagen.\n\nEs sollte in etwa 30 Sekunden weitergehen.\n\nFalls nichts passiert, drรผck' F5, um die Seite neuzuladen", + "tl_xe1": "Konnte Unterordner nicht auflisten:\n\nFehler ", + "tl_xe2": "404: Ordner nicht gefunden", + "fl_xe1": "Konnte Dateien in Ordner nicht auflisten:\n\nFehler ", + "fl_xe2": "404: Ordner nicht gefunden", + "fd_xe1": "Konnte Unterordner nicht erstellen:\n\nFehler ", + "fd_xe2": "404: รœbergeordneter Ordner nicht gefunden", + "fsm_xe1": "Konnte Nachricht nicht senden:\n\nFehler ", + "fsm_xe2": "404: รœbergeordneter Ordner nicht gefunden", + "fu_xe1": "Konnte unpost-Liste nicht laden:\n\nFehler ", + "fu_xe2": "404: Datei nicht gefunden??", + + "fz_tar": "Unkomprimierte GNU TAR-Datei (Linux / Mac)", + "fz_pax": "Unkomprimierte pax-Format TAR-Datei (langsamer)", + "fz_targz": "GNU-TAR mit gzip Level 3 Kompression$N$Nรผblicherweise recht langsam,$Nbenutze stattdessen ein unkomprimiertes TAR", + "fz_tarxz": "GNU-TAR mit xz level 1 Kompression$N$Nรผblicherweise recht langsam,$Nbenutze stattdessen ein unkomprimiertes TAR", + "fz_zip8": "ZIP mit UTF8-Dateinamen (kรถnnte kaputt gehen auf Windows 7 oder รคlter)", + "fz_zipd": "ZIP mit traditionellen CP437-Dateinamen, fรผr richtig alte Software", + "fz_zipc": "CP437 mit frรผh berechnetem CRC32,$Nfรผr MS-DOS PKZIP v2.04g (Oktober 1993)$N(braucht lรคnger zum Verarbeiten, bevor der Download starten kann)", + + "un_m1": "Unten kannst du deine neusten Uploads lรถschen (oder unvollstรคndige abbrechen)", + "un_upd": "Neu laden", + "un_m4": "Oder die unten sichtbaren Dateien teilen:", + "un_ulist": "Anzeigen", + "un_ucopy": "Kopieren", + "un_flt": "Optionale Filter:  URL muss enthalten", + "un_fclr": "Filter lรถschen", + "un_derr": 'unpost-delete fehlgeschlagen:\n', + "un_f5": 'Etwas ist kaputt gegangen, versuche die Seite neuzuladen (drรผcke dazu F5)', + "un_uf5": "Sorry, aber du musst die Seite neuladen (z.B. in dem du F5 oder STRG-R drรผckst) bevor zu diesen Upload abbrechen kannst", + "un_nou": 'Warnung: Der Server ist grade zu beschรคftigt, um unvollstรคndige Uploads anzuzeigen; Drรผcke den "Neu laden"-Link in ein paar Sekunden', + "un_noc": 'Warnung: unpost von vollstรคndig hochgeladenen Dateien ist รผber die Serverkonfiguration gesperrt', + "un_max": "Zeige die ersten 2000 Dateien (benutze Filter, um die gewรผnschten Dateien zu finden)", + "un_avail": "{0} zuletzt hochgeladene Dateien kรถnnen gelรถscht werden
    {1} Unvollstรคndige kรถnnen abgebrochen werden", + "un_m2": "Sortiert nach Upload-Zeitpunkt; neuste zuerst:", + "un_no1": "Hoppala! Es gibt keine ausreichend aktuellen Uploads.", + "un_no2": "Pech gehabt! Kein Upload, der zu dem Filter passen wรผrde, ist neu genug", + "un_next": "Lรถsche die nรคchsten {0} Dateien", + "un_abrt": "Abbrechen", + "un_del": "Lรถschen", + "un_m3": "Deine letzten Uploads werden geladen ...", + "un_busy": "Lรถsche {0} Dateien ...", + "un_clip": "{0} Links in die Zwischenablage kopiert", + + "u_https1": "fรผr bessere Performance solltest du", + "u_https2": "auf HTTPS wechseln", + "u_https3": " ", + "u_ancient": 'Dein Browser ist verdammt antik -- vielleicht solltest du stattdessen bup benutzen', + "u_nowork": "Benรถtigt Firefox 53+ oder Chrome 57+ oder iOS 11+", + "tail_2old": "Benรถtigt Firefox 105+ oder Chrome 71+ oder iOS 14.5+", + "u_nodrop": 'Dein Browser ist zu alt fรผr Drag-and-Drop Uploads', + "u_notdir": "Das ist kein Ordner!\n\nDein Browser ist zu alt,\nversuch stattdessen dragdrop", + "u_uri": "Um Bilder per Drag-and-Drop aus anderen Browserfenstern hochzuladen,\nlass' sie bitte รผber dem grossen Upload-Button fallen", + "u_enpot": 'Zu Potato UI wechseln (kann Upload-Geschw. verbessern)', + "u_depot": 'Zu fancy UI wechseln (kann Upload-Geschw. verschlechtern)', + "u_gotpot": 'Wechsle zu Potato UI fรผr verbesserte Upload-Geschwindigkeit,\n\nwenn du anderer Meinung bist, kannst du gerne zurรผck wechseln', + "u_pott": "

    Dateien:   {0} fertig,   {1} fehlgeschlagen,   {2} in Bearbeitung,   {3} ausstehend

    ", + "u_ever": "Dies ist der Basic Uploader; up2k benรถtigt mind.
    Chrome 21 // Firefox 13 // Edge 12 // Opera 12 // Safari 5.1", + "u_su2k": 'Dies ist der Basic Uploader; up2k ist besser', + "u_uput": 'Fรผr Geschwindigkeit optimieren (Checksum รผberspringen)', + "u_ewrite": 'Du hast kein Schreibzugriff auf diesen Ordner', + "u_eread": 'Du hast kein Lesezugriff auf diesen Ordner', + "u_enoi": 'file-search ist in der Serverkonfiguration nicht aktiviert', + "u_enoow": "รœberschreiben wird hier nicht funktionieren; benรถtige Lรถsch-Berechtigung", + "u_badf": 'Diese {0} Dateien (von insgesammt {1}) wurden รผbersprungen, wahrscheinlich wegen Dateisystem-Berechtigungen:\n\n', + "u_blankf": 'Diese {0} Dateien (von insgesammt {1}) sind leer; trotzdem hochladen?\n\n', + "u_applef": 'Diese {0} Dateien (von insgesammt {1}) sind mรถglicherweise unerwรผnscht;\nOK/Eingabe drรผcken, um die folgenden Dateien zu รผberspringen.\nDrรผcke Abbrechen/ESC um sie NICHT zu รผberspringen und diese AUCH HOCHZULADEN:\n\n', + "u_just1": '\nFunktioniert vielleicht besser, wenn du nur eine Datei auswรคhlst', + "u_ff_many": "Falls du Linux / MacOS / Android benutzt, kรถnnte Firefox mit dieser Menge an Dateien crashen!\nFalls das passiert, probier nochmal (oder benutz Chrome).", + "u_up_life": "Dieser Upload wird vom Server gelรถscht\n{0} nachdem er abgeschlossen ist", + "u_asku": 'Diese {0} Dateien nach {1} hochladen', + "u_unpt": "Du kannst diesen Upload rรผckgรคngig machen mit dem ๐Ÿงฏ oben-links", + "u_bigtab": 'Versuche {0} Dateien anzuzeigen.\n\nDas kรถnnte dein Browser crashen, bist du dir wirklich sicher?', + "u_scan": 'Scanne Dateien...', + "u_dirstuck": 'Ordner-Iterator blieb hรคngen beim Versuch, diese {0} Eintrรคge zu lesen; รผberspringe:', + "u_etadone": 'Fertig ({0}, {1} Dateien)', + "u_etaprep": '(Upload wird vorbereitet)', + "u_hashdone": 'Hashing vollstรคndig', + "u_hashing": 'Hash', + "u_hs": 'Wir schรผtteln uns die Hรคnde ("handshaking")...', + "u_started": "Dateien werden hochgeladen; siehe [๐Ÿš€]", + "u_dupdefer": "Duplikat; wird nach allen anderen Dateien verarbeitet", + "u_actx": "Klicke diesen Text um Performance-
    Einbusen zu Vermeiden beim Wechsel auf andere Fenster/Tabs", + "u_fixed": "OK!  Habs repariert ๐Ÿ‘", + "u_cuerr": "failed to upload chunk {0} of {1};\nprobably harmless, continuing\n\nfile: {2}", + "u_cuerr2": "server rejected upload (chunk {0} of {1});\nwill retry later\n\nfile: {2}\n\nerror ", + "u_ehstmp": "versuche nochmal; siehe unten-rechts", + "u_ehsfin": "Der Server hat die Anfrage zum Abschluss des Uploads abgelehnt; versuche nochmal...", + "u_ehssrch": "Der Server hat die Anfrage zur Suche abgelehnt; versuche nochmal...", + "u_ehsinit": "Der Server hat die Anfrage zum Start des Uploads abgelehnt; versuche nochmal...", + "u_eneths": "Netzwerkfehler beim Upload-Handshake; versuche nochmal...", + "u_enethd": "Netzwerkfehler beim Testen der Existenz des Ziels; versuche nochmal...", + "u_cbusy": "Der Server mag uns grade nicht mehr nach einem Netzwerkglitch, warte einen Moment...", + "u_ehsdf": "Server hat kein Speicherplatz mehr!\n\nwerde es erneut versuchen, falls jemand\ngenug Platz schafft um fortzufahren", + "u_emtleak1": "scheint, als ob dein Browser ein Memory Leak hรคtte;\nbitte", + "u_emtleak2": ' wechsle auf HTTPS (empfohlen) oder ', + "u_emtleak3": ' ', + "u_emtleakc": 'versuche folgendes:\n
    • drรผcke F5 um die Seite neu zu laden
    • deaktivere dann den  mt  Button in den  โš™๏ธ Einstellungen
    • und versuche den Upload nochmal.
    Uploads werden etwas langsamer sein, aber man kann ja nicht alles haben.\nSorry fรผr die Umstรคnde !\n\nPS: Chrome v107 hat ein Bugfix dafรผr', + "u_emtleakf": 'versuche folgendes:\n
    • drรผcke F5 um die Seite neu zu laden
    • aktivere dann ๐Ÿฅ” (potato) im Upload UI
    • und versuche den Upload nochmal
    \nPS: Firefox hat hoffentlich irgendwann ein Bugfix', + "u_s404": "nicht auf dem Server gefunden", + "u_expl": "erklรคren", + "u_maxconn": "die meisten Browser limitieren dies auf 6, aber Firefox lรคsst mehr zu unter connections-per-server in about:config", + "u_tu": '

    WARNUNG: Turbo aktiviert,  Client kรถnnte unvollstรคndige Uploads verpassen und nicht wiederholen; siehe Turbo-Button Tooltip

    ', + "u_ts": '

    WARNUNG: Turbo aktiviert,  Suchresultate kรถnnen inkorrekt sein; siehe Turbo-Button Tooltip

    ', + "u_turbo_c": "Turbo deaktiviert in der Serverkonfiguration", + "u_turbo_g": "Turbo deaktiviert, da du keine Listen-Berechtigung\nauf diesem Volume hast", + "u_life_cfg": 'Autodelete nach min (or h)', + "u_life_est": 'Upload wird gelรถscht ---', + "u_life_max": 'Dieser Ordner erzwingt eine\nmax Lebensdauer von {0}', + "u_unp_ok": 'unpost ist erlaubt fรผr {0}', + "u_unp_ng": 'unpost wird NICHT erlaubt', + "ue_ro": 'Du hast nur Lese-Zugriff auf diesen Ordner\n\n', + "ue_nl": 'Du bist nicht angemeldet', + "ue_la": 'Du bist angemeldet als "{0}"', + "ue_sr": 'Du bist derzeit im Suchmodus\n\nWechsle zum Upload-Modus indem du auf die Lupe ๐Ÿ”Ž klickst (neben dem grossen SUCHEN Button), und versuche den Upload nochmal.\n\nSorry', + "ue_ta": 'Versuche den Upload nochmal, sollte jetzt klappen', + "ue_ab": "Diese Datei wird gerade in einem anderen Ordner hochgeladen, dieser Upload muss zuerst abgeschlossen werden, bevor die Datei woanders hochgeladen werden kann.\n\nDu kannst den Upload abbrechen und vergessen mit dem ๐Ÿงฏ oben-links", + "ur_1uo": "OK: Datei erfolgreich hochgeladen", + "ur_auo": "OK: Alle {0} Dateien erfolgreich hochgeladen", + "ur_1so": "OK: Datei auf dem Server gefunden", + "ur_aso": "OK: Alle {0} Dateien auf dem Server gefunden", + "ur_1un": "Upload fehlgeschlagen, sorry", + "ur_aun": "Alle {0} Uploads fehlgeschlagen, sorry", + "ur_1sn": "Datei wurde NICHT auf dem Server gefunden", + "ur_asn": "Die {0} Dateien wurden NICHT auf dem Server gefunden", + "ur_um": "Fertig;\n{0} Uploads OK,\n{1} Uploads fehlgeschlagen, sorry", + "ur_sm": "Fertig;\n{0} Uploads gefunden auf dem Server,\n{1} Dateien NICHT gefunden auf dem Server", + + "rc_opn": "รถffnen", + "rc_ply": "abspielen", + "rc_pla": "als Audio abspielen", + "rc_txt": "als Text รถffnen", + "rc_md": "im Texteditor รถffnen", + "rc_dl": "herunterladen", + "rc_zip": "als Archiv herunterladen", + "rc_del": "lรถschen", + "rc_cut": "ausschneiden", + "rc_cpy": "kopieren", + "rc_pst": "einfรผgen", + "rc_nfo": "neuer Ordner", + "rc_nfi": "neue Datei", + "rc_sal": "alles auswรคhlen", + "rc_sin": "auswahl umkehren", + + "lang_set": "Neuladen um ร„nderungen anzuwenden?", + + "splash": { + "a1": "Neu laden", + "b1": "Tach, wie geht's?   (Du bist nicht angemeldet)", + "c1": "Abmelden", + "d1": "Zustand", + "d2": "Zeigt den Zustand aller aktiven Threads", + "e1": "Config neu laden", + "e2": "Konfigurationsdatei neu laden (Accounts/Volumes/VolFlags)$Nund scannt alle e2ds-Volumes$N$NBeachte: Jegliche ร„nderung an globalen Einstellungen$Nbenรถtigt einen Neustart zum Anwenden", + "f1": "Du kannst lesen:", + "g1": "Du kannst hochladen nach:", + "cc1": "Andere Dinge:", + "h1": "k304 deaktivieren", + "i1": "k304 aktivieren", + "j1": "k304 trennt die Clientverbindung bei jedem HTTP 304, was Bugs mit problematischen Proxies vorbeugen kann (z.B. nicht ladenden Seiten), macht Dinge aber generell langsamer", + "k1": "Client-Einstellungen zurรผcksetzen", + "l1": "Melde dich an fรผr mehr:", + "ls3": "Anmelden", + "lu4": "Benutzername", + "lp4": "Passwort", + "lo3": "โ€œ{0}โ€ รผberall abmelden", + "lo2": "Das beendet die Sitzung in allen Browsern", + "m1": "Willkommen zurรผck,", + "n1": "404 Nicht gefunden  โ”( ยด -`)โ”Œ", + "o1": 'or maybe you don\'t have access -- try a password or go home', + "p1": "403 Verboten  ~โ”ปโ”โ”ป", + "q1": 'Benutze ein Passwort oder gehe zur Homepage', + "r1": "Gehe zur Homepage", + ".s1": "Neu scannen", + "t1": "Aktion", + "u2": "time since the last server write$N( upload / rename / ... )$N$N17d = 17 days$N1h23 = 1 hour 23 minutes$N4m56 = 4 minutes 56 seconds", + "v1": "Verbinden", + "v2": "Benutze diesen Server als lokale Festplatte", + "w1": "Zu HTTPS wechseln", + "x1": "Passwort รคndern", + "y1": "Shares bearbeiten", + "z1": "Share entsperren:", + "ta1": "Trage zuerst dein Passwort ein", + "ta2": "Wiederhole dein Passwort zur Bestรคtigung:", + "ta3": "Da stimmt etwas nicht; probier's nochmal", + "nop": "FEHLER: Passwort darf nicht leer sein", + "nou": "FEHLER: Benutzername und/oder Passwort dรผrfen nicht leer sein", + "aa1": "Eingehende Dateien:", + "ab1": "no304 deaktivieren", + "ac1": "no304 aktivieren", + "ad1": "Das Aktivieren von no304 deaktiviert jegliche Form von Caching; probier dies, wenn k304 nicht genug war. Dies verschwendet eine grosse Menge Netzwerk-Traffic!", + "ae1": "Aktive Downloads:", + "af1": "Zeige neue Uploads", + "ag1": "Bekannte IdP-Benutzer anzeigen", //m + } +}; diff --git a/copyparty/web/tl/epo.js b/copyparty/web/tl/epo.js new file mode 100644 index 00000000..5e02196b --- /dev/null +++ b/copyparty/web/tl/epo.js @@ -0,0 +1,710 @@ + +// Linioj, finiฤantaj per "//m", estas nekontrolitaj maลinaj tradukoj + +Ls.epo = { + "tt": "Esperanto", + + "cols": { + "c": "ago-butonoj", + "dur": "daลญro", + "q": "kvalito / bitrapido", + "Ac": "sonkodeko", + "Vc": "videokodeko", + "Fmt": "formato / ujo", + "Ahash": "kontrolsumo de aลญdio", + "Vhash": "kontrolsumo de video", + "Res": "distingivo", + "T": "dosiertipo", + "aq": "kvalito / bitrapido de aลญdio", + "vq": "kvalito / bitrapido de video", + "pixfmt": "specimenado / strukturo de bilderoj", + "resw": "horizontala distingivo", + "resh": "vertikala distingivo", + "chs": "nombro de aลญdio-kanaloj", + "hz": "sonpecrapido", + }, + + "hks": [ + [ + "misc", + ["ESK", "malfermi variajn aferojn"], + + "file-manager", + ["G", "baskuli inter lista kaj krada vido"], + ["T", "baskuli montradon de bildetoj"], + ["โ‡ง A/D", "grandeco de bildetoj"], + ["stir-K", "forigi elektitajn"], + ["stir-X", "eltondi elektaฤตon al tondujo"], + ["stir-C", "kopii elektaฤตon al tondujo"], + ["stir-V", "alglui (movi/kopii) ฤ‰i tien"], + ["Y", "elลuti elektitajn"], + ["F2", "alinomi elektitajn"], + + "file-list-sel", + ["spacoklavo", "baskuli elektadon de dosieroj"], + ["โ†‘/โ†“", "movi elektado-kursoron"], + ["stir โ†‘/โ†“", "movi kursoron kaj vidujon"], + ["โ‡ง โ†‘/โ†“", "elekti (mal)sekvan dosieron"], + ["stir-A", "elekti ฤ‰iujn dosier(uj)ojn"], + ], [ + "navigation", + ["B", "baskuli inter paฤnivela kaj arbovida navigo"], + ["I/K", "(mal-)sekva dosierujo"], + ["M", "parent folder (or unexpand current)"], + ["V", "baskuli inter montrado de dosierujoj aลญ tekst-dosieroj en toggle folders / textfiles en arbovida navig-panelo"], + ["A/D", "grandeco de arbovida navig-panelo"], + ], [ + "audio-player", + ["J/L", "(mal-)sekva kanto"], + ["U/O", "iri 10 sekundoj (mal)antaลญen"], + ["0..9", "iri al 0%..90%"], + ["P", "ludi/paลญzigi (ankaลญ komencas)"], + ["S", "elekti ludantan kanton"], + ["Y", "elลuti kanton"], + ], [ + "image-viewer", + ["J/L, โ†/โ†’", "(mal)sekva bildo"], + ["Home/End", "unua/lasta bildo"], + ["F", "plenekrana vido"], + ["R", "turni dekstrumen"], + ["โ‡ง R", "turni maldekstrumen"], + ["S", "elekti bildon"], + ["Y", "elลuti bildon"], + ], [ + "video-player", + ["U/O", "iri 10 sekundoj (mal)antaลญen"], + ["P/K/Spaco", "ludi/paลญzigi"], + ["C", "??continue playing next"], + ["V", "cikla ludado"], + ["M", "silentigi"], + ["[ and ]", "agordi intervalon de cikla ludado"], + ], [ + "textfile-viewer", + ["I/K", "(mal)sekva dosiero"], + ["M", "fermi dosieron"], + ["E", "redakti dosieron"], + ["S", "elekti dosieron (por eltondado/kopiado/alinomado)"], + ["Y", "elลuti tekstodosieron"], //m + ["โ‡ง J", "beligi json"], //m + ] + ], + + "m_ok": "OK", + "m_ng": "Rezigni", + + "enable": "ลœalti", + "danger": "DANฤœERO", + "clipped": "kopiita al tondujo", + + "ht_s1": "sekundo", + "ht_s2": "sekundoj", + "ht_m1": "minuto", + "ht_m2": "minutoj", + "ht_h1": "horo", + "ht_h2": "horoj", + "ht_d1": "tago", + "ht_d2": "tagoj", + "ht_and": " kaj ", + + "goh": "stirpanelo", + "gop": 'malsekva dosierujo">malsekva', + "gou": 'supra dosierujo">supren', + "gon": 'sekva dosierujo">sekva', + "logout": "Adiaลญi kiel ", + "login": "Ensaluti", + "access": " atingo", + "ot_close": "fermi submenuon", + "ot_search": "serฤ‰i dosierojn per atributoj, indiko / nomo, etikedoj de muziko aลญ ฤ‰iu kombinaฤตo de tiuj parametroj$N$N<code>foo bar</code> = devas enhavi ambaลญ ยซfooยป kaj ยซbarยป,$N<code>foo -bar</code> = devas enhavi ยซfooยป, sed ne ยซbarยป,$N<code>^yana .opus$</code> = komenci per ยซyanaยป kaj esti dosieron de formato ยซopusยป$N<code>"try unite"</code> = enhavi precipe ยซtry uniteยป$N$Nformato de datoj estas iso-8601, ekzemple$N<code>2009-12-31</code> aลญ <code>2020-09-12 23:30:00</code>", + "ot_unpost": "unpost: forigi viaj plej lastaj alลutoj, aลญ ฤ‰esigi nefinigitajn", + "ot_bup": "bup: fundamenta alลutilo, funkias eฤ‰ kun netscape 4.0", + "ot_mkdir": "mkdir: krei novan dosierujon", + "ot_md": "new-file: krei novan tekstodosieron", //m + "ot_msg": "msg: sendi mesaฤon al servila protokolo", + "ot_mp": "agordoj de medialudilo", + "ot_cfg": "aliaj agordoj", + "ot_u2i": 'up2k: alลuti dosierojn (se vi havas skribo-atingon) aลญ ลalti ลerc-reฤimon por determini, ฤ‰u dosieroj jam ekzistas ie ฤ‰e la servilo$N$Nalลutoj estas daลญrigeblaj, plurfadenaj, kaj prezervas tempindikojn, sed ฤi estas pli procesor-intensa ol [๐ŸŽˆ]  (la fundamenta alลutilo)

    dum alลutado, ฤ‰i tiu simbolo iฤas plenumindikilo!', + "ot_u2w": 'up2k: alลuti dosierojn kun subteno de daลญrigeblo (fermu vian retumilon kaj demetu la samajn dosierojn poste)$N$Nalลutoj estas daลญrigeblaj, plurfadenaj, kaj prezervas tempindikojn, sed ฤi estas pli procesor-intensa ol [๐ŸŽˆ]  (la fundamenta alลutilo)

    dum alลutado, ฤ‰i tiu simbolo iฤas plenumindikilo!', + "ot_noie": 'Bonvolu uzi retumilojn Chrome / Firefox / Edge', + + "ab_mkdir": "krei dosierujon", + "ab_mkdoc": "krei tekstodosieron", //m + "ab_msg": "sendi mesaฤon al protokolo", + + "ay_path": "iri al dosierujoj", + "ay_files": "iri al dosieroj", + + "wt_ren": "alinomi elektitajn aฤตojn$NFulmoklavo: F2", + "wt_del": "forigi elektitajn aฤตojn$NFulmoklavo: stir-K", + "wt_cut": "eltondi elektitajn aฤตojn <small>(do alglui ien aliloke)</small>$NFulmoklavo: stir-X", + "wt_cpy": "kopii elektitajn aฤตojn al tondujo$N(por alglui ien aliloke)$NFulmoklavo: stir-C", + "wt_pst": "alglui antaลญe eltonditajn / kopiitajn aฤตojn$NFulmoklavo: stir-V", + "wt_selall": "elekti ฤ‰iujn dosierojn$NFulmoklavo: stir-A (se dosiero estas elektita)", + "wt_selinv": "inversigi elektaฤตon", + "wt_zip1": "elลuti dosierujon kiel arkivo", + "wt_selzip": "elลuti elektaฤตon kiel arkivo", + "wt_seldl": "elลuti elektaฤตon kiel apartaj dosieroj$NFulmoklavo: Y", + "wt_npirc": "kopii IRC-formatan muzikaฤต-informon", + "wt_nptxt": "kopii tekstan muzikaฤต-informon", + "wt_m3ua": "aldoni al m3u-ludliston (klaku butonon ๐Ÿ“ปcopy poste)", + "wt_m3uc": "kopii m3u-ludliston al tondujo", + "wt_grid": "baskuli kradan / listan vidon$NFulmoklavo: G", + "wt_prev": "malsekva muzikaฤตo$NFulmoklavo: J", + "wt_play": "ludi / paลญzigi$NFulmoklavo: P", + "wt_next": "sekva muzikaฤตo$NFulmoklavo: L", + + "ul_par": "paralelaj alลutoj:", + "ut_rand": "hazardigi dosiernomojn", + "ut_u2ts": "kopii la tempon de lasta modifo$Nel via dosiersistemo al la servilo\">๐Ÿ“…", + "ut_ow": "ฤ‰u anstataลญigi dosierojn ฤ‰e la servilo?$N๐Ÿ›ก๏ธ: neniam (dosiero estos alลutita kun nova dosiernomo)$N๐Ÿ•’: anstataลญigi, se servila dosiero estas pli malnova ol via$Nโ™ป๏ธ: ฤ‰iam anstataลญigi, se dosieroj estas malsamaj$Nโญ๏ธ: senkondiฤ‰e preterlasi ฤ‰iujn ekzistantajn dosierojn", //m + "ut_mt": "daลญri kalkuladon de kontrolsumoj por aliaj dosieroj dum alลutado$N$Nmalลaltinda, se via procesoro aลญ disko ne estas sufiฤ‰e rapidaj", + "ut_ask": 'peti konfirmon antaลญ komenco de alลutado">๐Ÿ’ญ', + "ut_pot": "plirapidigi alลutadon por malrapidaj komputiloj$Nper malkomplikado de fasado", + "ut_srch": "ne alลuti ion ajn, nur kontroli, ke la dosieroj $N jam ekzistas ฤ‰e la servilo (ฤ‰iuj dosierujoj, kiuj vi povas legi, estos skanitaj)", + "ut_par": "paลญzi alลutadon per agordado kiel 0$N$Npligrandigi, se via konekto estas malrapida aลญ malfruema$N$Nagordi kiel 1, se la loka reto aลญ servila disko ne estas sufiฤ‰e rapidaj", + "ul_btn": "demeti dosier(uj)ojn
    ฤ‰i tien (aลญ alklaki ฤ‰i tien)", + "ul_btnu": "A L ลœ U T I", + "ul_btns": "S E R ฤˆ I", + + "ul_hash": "k-sumado", + "ul_send": "sendado", + "ul_done": "finita", + "ul_idle1": "neniuj alลutoj envicigitaj", + "ut_etah": "meza rapido de <em>kontrolsumado</em>, kaj pritaksita tempo ฤis la fino", + "ut_etau": "meza rapido de <em>alลutado</em>, kaj pritaksita tempo ฤis la fino", + "ut_etat": "meza <em>tuta</em> rapido, kaj pritaksita tempo ฤis la fino", + + "uct_ok": "sukcese plenumita", + "uct_ng": "malbona: malsukceso / malakcepto / ne trovita (no good)", + "uct_done": "ambaลญ ok kaj ng", + "uct_bz": "kontrolsumado aลญ alลutado (busy)", + "uct_q": "envicigita (queue)", + + "utl_name": "dosiernomo", + "utl_ulist": "listigi", + "utl_ucopy": "kopii", + "utl_links": "ligilojn", + "utl_stat": "stato", + "utl_prog": "progreso", + + // keep short: + "utl_404": "404", + "utl_err": "ERARO", + "utl_oserr": "OS-eraro", + "utl_found": "trovita", + "utl_defer": "postigita", + "utl_yolo": "rapidega", + "utl_done": "finita", + + "ul_flagblk": "la dosieroj estis aldonita al la vico,
    sed alia langeto de retumilo jam alลutas dosierojn per up2k,
    do tiu alลutado devas finiฤi unue", + "ul_btnlk": "la agordado de servilo ne permesas ลanฤi tiun agordon", + + "udt_up": "Alลuti", + "udt_srch": "Serฤ‰i", + "udt_drop": "demetu ฤ‰i tien", + + "u_nav_m": '
    do, kion vi havas ฤ‰i tie?
    Enter = Dosierojn (unu al multaj)\nESK = Unu dosierujon (eble kun subdosierujoj)', + "u_nav_b": 'DosierojnUnu dosierujo', + + "cl_opts": "ลaltiloj", + "cl_hfsz": "dosiergrando", + "cl_themes": "etoso", + "cl_langs": "lingvo", + "cl_ziptype": "elลutado de dosieroj", + "cl_uopts": "agordoj de up2k", + "cl_favico": "retpaฤsimbolo", + "cl_bigdir": "grandaj ujoj", + "cl_hsort": "#ordigo", + "cl_keytype": "skemo de fulmoklavoj", + "cl_hiddenc": "kaลitaj kolumnoj", + "cl_hidec": "kaลi", + "cl_reset": "restarigi", + "cl_hpick": "alklaki la kapojn de kolumnoj por kasi en la suban tabelon", + "cl_hcancel": "kaลado de kolumno nuligita", + "cl_rcm": "dekstra-klaka menuo", //m + + "ct_grid": '็”ฐ krado', + "ct_ttips": 'โ—” โ—ก โ—”">โ„น๏ธ ลpruchelpiloj', + "ct_thumb": 'dum krado-vido, baskuli montradon de simboloj aลญ bildetoj$NFulmoklavo: T">๐Ÿ–ผ๏ธ bildetoj', + "ct_csel": 'uzi STIR kaj MAJ por elekti dosierojn en krado-vido">elekto', + "ct_dl": 'devigi elลuton (ne montri enkadre) kiam dosiero estas alklakita">dl', //m + "ct_ihop": 'montri la lastan viditan bildo-dosieron post fermado de bildo-vidilo">gโฎฏ', + "ct_dots": 'montri kaลitajn dosierojn (se servilo permesas)">kaลitaj', + "ct_qdel": 'peti konfirmon nur unufoje antaลญ forigado">rapid-forig.', + "ct_dir1st": 'ordigi dosierujojn antaลญ dosieroj">๐Ÿ“ unue', + "ct_nsort": 'numera ordigo de dosiernomoj (ekz. <code>2</code> antaลญ <code>11</code>)">โ„–.ord', + "ct_utc": 'montri ฤ‰iuj datoj kaj tempoj per UTC">UTC', + "ct_readme": 'montri enhavon de README.md en listaฤตo de dosieroj">๐Ÿ“œ readme', + "ct_idxh": 'montri paฤon index.html anstataลญ listaฤตo de dosieroj">htm', + "ct_sbars": 'montri rulumskalojn">โŸŠ', + + "cut_umod": "se dosiero jam ekzistas en la servilo, ลanฤi la tempon de lasta modifo laลญ via dosiero (bezonas permesojn write+delete)\">re๐Ÿ“…igi", + + "cut_turbo": "rapidigi alลutojn KOSTE DE TUTA KONTROLADO:$N$Nuzinda, se vi alลutis grandegajn dosierojn, devis haltigi la alลutadon, kaj nun volas daลญrigi ฤin rapidege$N$Nse ฤ‰i tiu agordo estas ลaltita, anstataลญ kontrolsumado, la servilo nur kontrolas, ฤ‰u la grando de via kaj servila dosieroj estas samaj, kaj ne realลutas dosierojn kun samaj grandoj$N$Npost ฤ‰io finiฤis, vi devus malลalti ฤ‰i tiun agordon, do provi "alลuti" la tiuj samaj dosieroj โ€” la kontrolsumado rekomencos kaj ne realลutos ion ajn, se la alลutado vere sukcesis\">rapidega", + + "cut_datechk": "efektas nur se "rapidega" alลutado estas ลaltita$N$Nete plibonigas fidindon de kontrolado, per kontrolado de modifo-tempoj aldone al grandoj$N$Nteorie estas sufiฤ‰e por detekti nefinigitajn aลญ difektitajn alลutojn, sed ne estas kompleta alternativo por sen-"rapidega" kontrolado\">dato-kontrolo", + + "cut_u2sz": "grando (en MiBoj) de ฤ‰iu alลutanta ero; grandaj valoroj estas pli bonaj por longdistancaj konektoj, malgrandajn por malalt-kvalitaj konektoj", + + "cut_flag": "certigi, ke nur unu langeto alลutas samttempe $N -- aliaj langetoj devas ankaลญ ลalti ฤ‰i tiun agordon $N -- nur funkcias por langetoj de sama domajno", + + "cut_az": "alลuti dosierojn en alfabeta ordigo anstataลญ "plej malgrandaj unue"$N$Nalfabeta ordo igas pli simple vidi, ke okazis eraroj en la servilo, sed estas pli malrapida sur tre rapidaj konektoj (ekz. en la loka reto aลญ per fibrooptiko)", + + "cut_nag": "sciigi per operaciumo je fino de alลutado$N(nur se ฤ‰i tiu langeto de retumilo ne estas aktiva)", + "cut_sfx": "sciigi per sono je fino de alลutado$N(nur se ฤ‰i tiu langeto de retumilo ne estas aktiva)", + + "cut_mt": "kontrolsumi dosierojn pli rapide per multaj fadenoj$N$Nuzas teknologio Web Worker, bezonas pli da labormemoro (maksimume 512 MiB)$N$Nplirapidigas https je 30%, http je 4.5x\">mf", + + "cut_wasm": "uzi WASM-modulon anstataลญ kontrolsumilaj funkcioj de retumilo; plirapidigas kontrolsumadon sur Chrome-bazitaj retumiloj, sed ankaลญ pli procesor-intensa; malnovaj versioj de Chrome havas difektojn, kiuj misuzas la tutan labormemoron kaj kraลas la retumilon, se ฤ‰i tiu agordo estas ลaltita\">wasm", + + "cft_text": "teksto de retpaฤsimbolo (blankigu kaj reลargu la paฤon por malลalti)", + "cft_fg": "teksta koloro", + "cft_bg": "fona koloro", + + "cdt_lim": "maks. nombro de dosieroj por montri en dosierujo", + "cdt_ask": "je malsupro de paฤo, peti por ago$Nanstataลญ ลarฤi pli da dosieroj", + "cdt_hsort": "kiom da ordigo-reguloj (<code>,sorthref</code>) inkludi en adreso de la paฤo. Se agordita kiel 0, reguloj, inkluditaj en la adreso, estos ignoritaj", + "cdt_ren": "ebligi propran dekstra-klakan menuon, la normala menuo restas alirebla per shift + dekstra klako", //m + + "tt_entree": "montri arbovidan navig-panelon$NFulmoklavo: B", + "tt_detree": "montri paฤnivelan navig-panelon$NFulmoklavo: B", + "tt_visdir": "rulumi al elektita dosierujo", + "tt_ftree": "baskuli dosieruj-arban aลญ teksto-dosieran vidon$NFulmoklavo: V", + "tt_pdock": "fiksi patrajn dosierojn sur supro de panelo", + "tt_dynt": "aลญtomate pligrandigi panelon", + "tt_wrap": "linifaldo", + "tt_hover": "montri kompletajn nomojn sur musumo$N( paneas rulumadon, se la kursoro de muso $N  ne estas en la maldekstra malplenaฤตo )", + + "ml_pmode": "je la fino de dosierujo...", + "ml_btns": "komandoj", + "ml_tcode": "transkodi", + "ml_tcode2": "transkodi al", + "ml_tint": "kolorado", + "ml_eq": "ekvalizilo", + "ml_drc": "kompresoro", + + "mt_loop": "ripeti unu kanton\">๐Ÿ”", + "mt_one": "haltigi post unu kanto\">1๏ธโƒฃ", + "mt_shuf": "ludi ฤ‰iu dosierujo en hazarda ordo\">๐Ÿ”€", + "mt_aplay": "ludi aลญtomate, se ligilo enhavas identigilon de kanto$N$Nmalลaltado de ฤ‰i tiu agordo ankaลญ malลaltas ฤisdatigadon de paฤ-adreso, por ke ludado ne rekomenciฤas, se la paฤo estos poste malfermita sen aliaj agordoj\">aโ–ถ", + "mt_preload": "komenci ลargadon de sekva kanto antaลญ la fino de la nuna, por kontinua ludado\">antaลญลarg.", + "mt_prescan": "eniri la sekvan dosierujon antaลญ la fino de la lasta kanto, $Npor ke la retumilo ne interrompis la ludadon\">nav", + "mt_fullpre": "antaลญลargi la tutan kanton;$Nโœ… ลalti por malaltkvalitaj konektoj,$NโŒ eble malลalti por malrapidaj konektoj\">full", + "mt_fau": "por poลtelefonoj: komenci sekvan kanton, eฤ‰ se ฤi ne estis tute ลargita (povas difektigi la montradon de muzikaฤต-etikedoj)\">โ˜•๏ธ", + "mt_waves": "bildigo:$Nmontri amplitudon de ludanta kanto en ludadbreto\">~", + "mt_npclip": "montri butonojn por kopiado de ludanta kanto\">/np", + "mt_m3u_c": "montri butonojn por kopiado de elektitaj kantoj kiel m3u8-ludlisto\">๐Ÿ“ป", + "mt_octl": "integrado kun operaciumo (medio-klavoj kaj montriloj)\">integr.", + "mt_oseek": "movi tra kanto per operaciumaj stiriloj$N$Nnoto: en iuj komputiloj (iPhone),$N ฤ‰i tiu agordo anstataลญigas la butonon de sekva kanto\">movado", + "mt_oscv": "montri album-bildojn en montriloj\">bildo", + "mt_follow": "rulumi la pagon, por ke la ludanta kanto restas videbla\">๐ŸŽฏ", + "mt_compact": "kompaktaj ruliloj\">โŸŽ", + "mt_uncache": "malplenigi kaลmemoron  (uzinda, se via retumilo kaลmemoris$Ndifektitan kopion de kanto, kaj ne povas ludi ฤin)\">๐Ÿ—‘๏ธ kaลmem.", + "mt_mloop": "ripeti la nunan dosierujon\">๐Ÿ” ripeti", + "mt_mnext": "ลargi la sekvan dosierujon kaj daลญrigi\">๐Ÿ“‚ sekva", + "mt_mstop": "haltigi ludadon\">โธ haltigi", + "mt_cflac": "konverti el flac / wav al {0}\">flac", + "mt_caac": "konverti el aac / m4a al {0}\">aac", + "mt_coth": "konverti aliajn (krom mp3) al {0}\">aliaj", + "mt_c2opus": "pli bona elekto por propraj komputiloj kaj Android\">opus", + "mt_c2owa": "opus-weba, por iOS 17.5 kaj pli novaj\">owa", + "mt_c2caf": "opus-caf, por iOS 11-17\">caf", + "mt_c2mp3": "por tre malnovaj iloj\">mp3", + "mt_c2flac": "plej bona sonkvalito, sed grandegaj elลutoj\">flac", + "mt_c2wav": "sendensigita ludado (pli bonaj elลutoj)\">wav", + "mt_c2ok": "bona elekto", + "mt_c2nd": "ฤ‰i tiu formato ne estas rekomendita por via aparato, sed ฤi ankaลญ funkcios", + "mt_c2ng": "via aparato ลajne ne subtenas ฤ‰i tiun formaton, sed ni provu uzi ฤin malgraลญe", + "mt_xowa": "estas difektoj en iOS, kiuj preventas fonan ludadon per ฤ‰i tiu formato; bonvolu uzi caf aลญ mp3 anstataลญe", + "mt_tint": "travideblo (0-100) de ludadbreto$Nvi povas ลanฤi ฤin, se ฤi aspektas tro distre dum ลargado", + "mt_eq": "ลaltas ekvalizilon kaj stirilon de plifortigado;$N$Nboost (plifortigado) <code>0</code> = senmodifa 100%a laลญteco$N$Nwidth (larฤo) <code>1  </code> = senmodifa dukanala sono$Nwidth (larฤo) <code>0.5</code> = 50% miksado inter maldekstra kaj dekstra kanaloj$Nwidth (larฤo) <code>0  </code> = unukanala sono$N$Nboost <code>-0.8</code> & width <code>10</code> = senvokigo :^)$N$Nลaltita ekvalizilo ankaลญ forigas paลญzojn inter muzikaฤตoj en senpaลญzaj albumoj, agordi ฤ‰ion kiel 0 (sed 'width' kiel 1), se vi volas nur tion", + "mt_drc": "ลaltas kompresoron de dinamiko (glatigas laลญtecon de muzikaฤตoj); ankaลญ ลaltas ekvalizilon, do agordu ฤ‰ion (sed 'width') kiel 0, se vi ne volas ฤin; $N$Nplimalgrandigas laลญtecon de aลญdio super sojlo-valoro ('tresh') da dB; ฤ‰iu proporcio-valoro ('ratio') da dB post 'tresh' 1 dB estos eligita, do implicitaj valoroj (tresh = -24, ratio = 12) faras, ke laลญteco neniam pli grandas ol -22 dB; tiel estas sendanฤera agordi 'boost'on kiel 0.8 aลญ eฤ‰ 1.8 dum ATK = 0 kaj grandega RLS, kiel 90 (funkcias nur en Firefox, RLS estas maksimume 1 en aliaj retumiloj)$N$N(rigardu vikipedion, ฤi klariฤas pli bone)", + + "mb_play": "ludi", + "mm_hashplay": "ludi ฤ‰i tiun aลญdiodosieron?", + "mm_m3u": "premu Enter/OK por ludado \npremu ESK/Rezigni por redaktado", + "mp_breq": "bezonas Firefox 82+, Chrome 73+ aลญ iOS 15+", + "mm_bload": "ลargado...", + "mm_bconv": "konvertado al formato {0}, bonvolu atendi...", + "mm_opusen": "via retumilo ne povas ludi dosierojn de formatoj aac / m4a;\ntranskodado al opus estas ลaltigita", + "mm_playerr": "ludado malsukcesis: ", + "mm_eabrt": "Klopodo de ludado estis nuligita", + "mm_enet": "Via retkonekto estas nestabila", + "mm_edec": "ฤˆi tiu dosiero estas ลajne difektita??", + "mm_esupp": "Via retumilo ne komprenas ฤ‰i tiun aลญdio-formaton", + "mm_eunk": "Nekonata eraro", + "mm_e404": "Ne povas ludi aลญdiaฤตon; eraro 404: Dosiero ne trovita.", + "mm_e403": "Ne povas ludi aลญdiaฤตon; eraro 403: Atingo malpermesita.\n\nKlopodu reลargi paฤon per klavo F5, eble via seanco senvalidiฤis", + "mm_e500": "Ne povas ludi aลญdiaฤตon; eraro 500: Rigardu la protokolojn de servilo.", + "mm_e5xx": "Ne povas ludi aลญdiaฤตon; servila eraro ", + "mm_nof": "neniuj aลญdio-dosieroj trovitaj proksime", + "mm_prescan": "Serฤ‰ado por sekva aลญdiaฤตo...", + "mm_scank": "Sekva muzikaฤตo trovita:", + "mm_uncache": "kaลmemoro malplenigita; ฤ‰iuj muzikaฤตoj estos reelลutitaj dum sekva ludado", + "mm_hnf": "ฤ‰i tiu muzikaฤตo ne ekzistas plu", + + "im_hnf": "ฤ‰i tiu bildo ne ekzistas plu", + + "f_empty": 'ฤ‰i tiu dosierujo estas malplena', + "f_chide": 'ฤ‰i tiu ago kaลos kolumnon ยซ{0}ยป\n\nvi povas malkaลi kolumnojn en agordoj', + "f_bigtxt": "ฤ‰i tiu dosiero estas {0}-MiB-granda -- ฤ‰u vere malfermi kiel teksto?", + "f_bigtxt2": "ฤ‰u malfermi nur la finon de dosiero? ฤ‰i tiu reฤimo ankaลญ ลaltos tujan ฤisdatigon, novaj linioj estos tuj montritaj", + "fbd_more": '
    {0} de {1} dosieroj montrataj; montri {2} aลญ montri ฤ‰iujn
    ', + "fbd_all": '
    {0} de {1} dosieroj montrataj; montri ฤ‰iujn
    ', + "f_anota": "nur {0} de {1} eroj estis elektita;\nrulumi al la malsupro por elekti la tutan dosierujon", + + "f_dls": 'la ligiloj de dosieroj en ฤ‰i tiu dosierujo estis\nanstataลญigitaj per elลuto-ligiloj', + + "f_partial": "Por sendifekta elลuto de nune-alลutata dosiero, elektu dosieron kun sama nomo, sed sen etendaฤตo .PARTIAL. Bonvolu uzi la butonon \"Rezigni\" aลญ klavon ESK por fari tion.\n\nSe vi uzas OK / Enter, la provizora dosiero .PARTIAL estos elลutita, kiu tre probable enhavas nekompletajn datumojn.", + + "ft_paste": "alglui {0} erojn$NFulmoklavo: stir-V", + "fr_eperm": 'ne povas alinomi:\nvi ne havas permeson โ€œmoveโ€ en ฤ‰i tiu dosierujo', + "fd_eperm": 'ne povas forigi:\nvi ne havas permeson โ€œdeleteโ€ en ฤ‰i tiu dosierujo', + "fc_eperm": 'ne povas eltondi:\nvi ne havas permeson โ€œmoveโ€ en ฤ‰i tiu dosierujo', + "fp_eperm": 'ne povas alglui:\nvi ne havas permeson โ€œwriteโ€ en ฤ‰i tiu dosierujo', + "fr_emore": "elekti almenaลญ unu aฤตon por alinomi", + "fd_emore": "elekti almenaลญ unu aฤตon por forigi", + "fc_emore": "elekti almenaลญ unu aฤตon por eltondi", + "fcp_emore": "elekti almenaลญ unu aฤตon por kopii al tondujo", + + "fs_sc": "kunhavigi la aktualan dosierujon", + "fs_ss": "kunhavigi la elektitajn dosierojn", + "fs_just1d": "vi ne povas elekti pli ol unu dosierujon\naลญ miksi dosierojn kaj dosierujojn en elektaฤตo", + "fs_abrt": "โŒ ฤ‰esigi", + "fs_rand": "๐ŸŽฒ haz. nomo", + "fs_go": "โœ… krei komunaฤตon", + "fs_name": "nomo", + "fs_src": "indiko", + "fs_pwd": "pasvorto", + "fs_exp": "tempolimo", + "fs_tmin": "min", + "fs_thrs": "horoj", + "fs_tdays": "tagoj", + "fs_never": "eterna", + "fs_pname": "nomo de ligilo; estos hazarde kreita, se malplena", + "fs_tsrc": "dosier(uj)o por kunhavigi", + "fs_ppwd": "pasvorto (nedeviga)", + "fs_w8": "kreado de komunaฤตo...", + "fs_ok": "premu Enter/OK por kopii al tondujo\npremu ESK/Rezigni por fermi", + + "frt_dec": "povas ripari difektitajn dosiernomojn\">url-malkodo", + "frt_rst": "reagordi modifitajn dosiernomojn al originalaj\">โ†บ malfari", + "frt_abrt": "ฤ‰esigi operacion kaj fermi ฤ‰i tiun fenestron\">โŒ rezigni", + "frb_apply": "ALINOMI", + "fr_adv": "amasa / metadatuma / ลablona alinomado\">altnivela", + "fr_case": "uskleciva regula esprimo\">uskleco", + "fr_win": "Windows-taลญgaj nomoj; signoj <>:"\\|?* estos anstataลญigitaj per japanaj duobla-larฤaj signoj\">win", + "fr_slash": "anstataลญigi /n per signo, kiu ne devigas kreadon de novaj dosierujoj\">sen /", + "fr_re": "ลablono de regula esprimo, kiu estos aplikita al originalaj dosiernomoj; kaptogrupoj povas esti referencita en formatkampo, ekz. <code>(1)</code>, <code>(2)</code> k.t.p.", + "fr_fmt": "inspirita de foobar2000:$N<code>(title)</code> anstataลญigitas per nomo de muzikaฤตo,$N<code>[(artist) - ](title)</code> preterpasas [ฤ‰i tiun] parton, se artisto ne estas specifita$N<code>$lpad((tn),2,0)</code> aldonas nulojn en trakonombro ฤis 2 ciferoj", + "fr_pdel": "forigi", + "fr_pnew": "konservi kiel", + "fr_pname": "nomu vian novan ลablonon", + "fr_aborted": "ฤ‰esigita", + "fr_lold": "malnova nomo", + "fr_lnew": "nova nomo", + "fr_tags": "etikedoj por elektitaj dosieroj (ne redakteblas, nur por referenco):", + "fr_busy": "alinomado de {0} aฤตoj...\n\n{1}", + "fr_efail": "alinomado malsukcesis:\n", + "fr_nchg": "{0} da novaj nomoj estis modifita pro reguloj win kaj/aลญ sen /\n\nฤˆu daลญrigi kun modifitaj nomoj?", + + "fd_ok": "forigado sukcesis", + "fd_err": "forigado malsukcesis:\n", + "fd_none": "nenio estis forigita; eble servila eraro malpermesis ฤin (xbd)?", + "fd_busy": "forigado de {0} aฤตoj...\n\n{1}", + "fd_warn1": "ฤ‰u FORIGI ฤ‰i tiujn {0} aฤตojn?", + "fd_warn2": "Averto! ฤˆi tiu ago ne malfareblas. ฤˆu forigi?", + + "fc_ok": "{0} aฤตoj eltonditaj", + "fc_warn": '{0} aฤตoj eltonditaj\n\nnur ฤ‰i tiu langeto de retumilo povas alglui ilin\n(pro la grando de elektaฤตo)', + + "fcc_ok": "{0} aฤตoj kopiitaj al tondujo", + "fcc_warn": '{0} aฤตoj kopiitaj al tondujo\n\nnur ฤ‰i tiu langeto de retumilo povas alglui ilin\n(pro la grando de elektaฤตo)', + + "fp_apply": "uzi ฤ‰i tiujn nomojn", + "fp_skip": "preterpasi konfliktojn", //m + "fp_ecut": "unue eltondi aลญ kopii dosier(uj)ojn, do alglui ฤin poste\n\nnoto: tondujo ankaลญ funkcias inter aliaj langetoj de retumilo", + "fp_ename": "{0} aฤตoj ne povas esti movitaj, ฤ‰ar iliaj nomoj estas jam uzataj. Alinomi ilin sube aลญ lasi la nomokampojn malplenaj (\"preterpasi konfliktojn\") por preterpasi:", //m + "fcp_ename": "{0} aฤตoj ne povas esti kopiitaj, ฤ‰ar iliaj nomoj estas jam uzataj. Alinomi ilin sube aลญ lasi la nomokampojn malplenaj (\"preterpasi konfliktojn\") por preterpasi:", //m + "fp_emore": "ankoraลญ restas koincidoj de dosiernomoj, kiuj bezonas solvon", + "fp_ok": "movado sukcesis", + "fcp_ok": "kopiado sukcesis", + "fp_busy": "movado de {0} aฤตoj...\n\n{1}", + "fcp_busy": "kopiado {0} aฤตoj...\n\n{1}", + "fp_abrt": "ฤ‰esigado...", + "fp_err": "movado malsukcesis:\n", + "fcp_err": "kopiado malsukcesis:\n", + "fp_confirm": "ฤ‰u movi tiujn {0} aฤตojn ฤ‰i tien?", + "fcp_confirm": "ฤ‰u kopii tiujn {0} aฤตojn ฤ‰i tien?", + "fp_etab": 'eraro dum legado de tondujo el alia langeto de retumilo', + "fp_name": "alลutado de dosiero el via aparato. Nomi ฤin:", + "fp_both_m": '
    elektu, kion alglui
    Enter = Movi {0} dosierojn al ยซ{1}ยป\nESK = Alลuti {2} dosierojn el via aparato', + "fcp_both_m": '
    elektu, kion alglui
    Enter = Kopii {0} dosierojn al ยซ{1}ยป\nESK = Alลuti {2} dosierojn el via aparato', + "fp_both_b": 'MoviAlลuti', + "fcp_both_b": 'KopiiAlลuti', + + "mk_noname": "tajpu nomon en tekstokampo maldekstre antaลญ vi faras ฤ‰i tion :p", + "nmd_i1": "vi povas aldoni la deziratan sufikson, ekzemple .md", //m + "nmd_i2": "vi povas krei nur .md-dosierojn ฤ‰ar vi ne havas forigan permeson", //m + + "tv_load": "ลœargado de teksto-dokumento:\n\n{0}\n\n{1}% ({2} da {3} MiB ลargita)", + "tv_xe1": "ne povas ลargi teksto-dosieron:\n\neraro ", + "tv_xe2": "404, dosiero ne trovita", + "tv_lst": "listo de teksto-dosieroj en", + "tvt_close": "reveni al vido de dosierujo$NFulmoklavo: M (aลญ Esk)\">โŒ fermi", + "tvt_dl": "elลuti ฤ‰i tiun dosieron$NFulmoklavo: Y\">๐Ÿ’พ elลuti", + "tvt_prev": "montri malsekvan dokumenton$NFulmoklavo: i\">โฌ† malsekva", + "tvt_next": "montri sekvan dokumenton$NFulmoklavo: K\">โฌ‡ sekva", + "tvt_sel": "elekti dosieron   ( por eltondado / kopiado / forigado / ... )$NFulmoklavo: S\">elekti", + "tvt_j": "beligi json$NFulmoklavo: shift-J\">j", //m + "tvt_edit": "malfermi dosieron en teksto-redaktilo$NFulmoklavo: E\">โœ๏ธ redakti", + "tvt_tail": "observi ลanฤojn en dosiero; novaj linioj estos tuje montritaj\">๐Ÿ“ก gvati", + "tvt_wrap": "linifaldo\">โ†ต", + "tvt_atail": "alpingli rulumadon al malsupro de paฤo\">โš“", + "tvt_ctail": "malkodi ANSI-kodojn de terminal-koloroj\">๐ŸŒˆ", + "tvt_ntail": "limo de rulumado (kiom da bajtoj de teksto konservi en memoro)", + + "m3u_add1": "muzikaฤตo aldonita al m3u-ludlisto", + "m3u_addn": "{0} muzikaฤตoj aldonitaj al m3u-ludlisto", + "m3u_clip": "m3u-ludlisto kopiita al tondujo\n\nvi devus krei tekst-dosieron kun etendaฤตo .m3u kaj alglui la tekston en ฤi por krei uzeblan ludliston", + + "gt_vau": "ne montri videojn, nur ludi muzikaฤตojn\">๐ŸŽง", + "gt_msel": "ลalti elektado-reฤimon; stir-klaki dosieron por ne-elekta ago$N$N<em>kiam ลaltita: duoblaklako por malfermi dosier(uj)on</em>$N$NFulmoklavo: S\">elektado", + "gt_crop": "stuci bildetojn\">stuci", + "gt_3x": "alt-kvalitaj bildetoj\">3x", + "gt_zoom": "grando", + "gt_chop": "nomlongo", + "gt_sort": "ordigi per", + "gt_name": "nomo", + "gt_sz": "grando", + "gt_ts": "dato", + "gt_ext": "tipo", + "gt_c1": "pli mallongaj dosiernomoj", + "gt_c2": "pli longaj dosiernomoj", + + "sm_w8": "serฤ‰ado...", + "sm_prev": "serฤ‰rezultoj sube venas al la lasta informpeto:\n ", + "sl_close": "fermi serฤ‰rezultojn", + "sl_hits": "montrado de {0} kongruaฤตoj", + "sl_moar": "ลargi pli", + + "s_sz": "grando", + "s_dt": "dato", + "s_rd": "vojo", + "s_fn": "nomo", + "s_ta": "etikedoj", + "s_ua": "alลut๐Ÿ“…", + "s_ad": "aliaj", + "s_s1": "minimuma MiB", + "s_s2": "maksimuma MiB", + "s_d1": "min. iso8601", + "s_d2": "maks. iso8601", + "s_u1": "alลutita post", + "s_u2": "kaj/aลญ antaลญ", + "s_r1": "vojo enhavas   (apartigi per spacoj)", + "s_f1": "nomo enhavas   (negacii per minuso)", + "s_t1": "etikedoj enhavas   (^=komenco, fino=$)", + "s_a1": "ecoj de metadatumoj", + + "md_eshow": "ne povas montri ", + "md_off": "[๐Ÿ“œreadme] malลaltita en [โš™๏ธ] -- dokumento kaลita", + + "badreply": "Eraro dum legado de respondo al servilo", + + "xhr403": "403: Atingo malpermesita\n\nklopodu reลargi paฤon per klavo F5, eble via seanco senvalidiฤis", + "xhr0": "nekonata (eble konekto al servilo estis perdita, aลญ servilo ne funkcias)", + "cf_ok": "pardonon -- DD" + wah + "oS-protekto aktiviฤis\n\nฤ‰io devus esti bona 30 sekundoj post\n\nse nenio okazas, reลargi per klavo F5", + "tl_xe1": "ne povas listigi subdosierujojn:\n\neraro ", + "tl_xe2": "404: Dosierujo ne trovita", + "fl_xe1": "ne povas listigi dosierojn en dosierujo:\n\neraro ", + "fl_xe2": "404: Dosierujo ne trovita", + "fd_xe1": "ne povas krei subdosierujon:\n\neraro ", + "fd_xe2": "404: Patra dosierujo ne trovita", + "fsm_xe1": "ne povas sendi mesaฤon:\n\neraro ", + "fsm_xe2": "404: Patra dosierujo ne trovita", + "fu_xe1": "ne povas ลargi malsend-liston el servilo:\n\neraro ", + "fu_xe2": "404: Dosiero ne trovita??", + + "fz_tar": "nedensigita dosiero GNU TAR (linux / mac)", + "fz_pax": "nedensigita PAX-formata dosiero TAR (malpli rapide)", + "fz_targz": "GNU TAR, densigita per 3a nivelo de GZip$N$Nkutime tre malrapida, do$Nuzu nedensigitan TARon anstataลญe", + "fz_tarxz": "GNU TAR, densigita per 1a nivelo de XZ$N$Nkutime tre malrapida, do$Nuzu nedensigitan TARon anstataลญe", + "fz_zip8": "Zip kun dosiernomoj laลญ UTF-8 (eble difektiฤis je Windows 7 kaj pli malnovaj)", + "fz_zipd": "Zip kun dosiernomoj laลญ CP437, por tre malnovaj programoj (esperantaj diakritaฤตoj ne funkcios)", + "fz_zipc": "Zip, cp437, CRC-kontrolsumoj prekalkulitaj,$Npor MS-DOS PKZIP v2.04g (oktobro 1993)$N(bezonas pli da tempo antaลญ komenco de elลuto)", + + "un_m1": "vi povas forigi viajn lastajn alลutojn (aลญ ฤ‰esigi nefinigitajn) sube", + "un_upd": "reลargi", + "un_m4": "aลญ kunhavigi la dosierojn sube:", + "un_ulist": "montri", + "un_ucopy": "kopii", + "un_flt": "nedeviga filtrilo:  URL devas enhavi", + "un_fclr": "vakigi filtrilon", + "un_derr": 'malalลutado malsukcesis:\n', + "un_f5": 'io difektiฤis, bonvolu reลargi aลญ uzi klavon F5', + "un_uf5": "pardonu, sed vi devas reลargi la paฤon (F5 aลญ Stir+R) antaลญ ฤ‰esigi ฤ‰i tiun alลuton", + "un_nou": 'averto: servilo estas tro okupara por montri nefinigitajn alลutojn; klaku la butonon "reลargi" post kelkaj sekundoj', + "un_noc": 'averto: malalลutado de tute alลutitaj dosieroj estas malpermesita laลญ agordoj de servilo', + "un_max": "unuaj 2000 dosieroj montritaj (uzi filtrilon por vidi aliajn)", + "un_avail": "{0} lastaj alลutoj forigeblas
    {1} nefinigitajn ฤ‰esigeblas", + "un_m2": "ordigita per alลuto-tempo, plej lastaj unue:", + "un_no1": "neniuj sufiฤ‰e lastaj alลutoj", + "un_no2": "neniuj sufiฤ‰e lastaj alลutoj, kongruaj laลญ filtrilo", + "un_next": "forigi la sekvajn {0} dosierojn sube", + "un_abrt": "ฤ‰esigi", + "un_del": "forigi", + "un_m3": "ลargado de viaj lastaj alลutoj...", + "un_busy": "forigado de {0} dosieroj...", + "un_clip": "{0} ligiloj kopiitaj al tondujo", + + "u_https1": "vi devas", + "u_https2": "ลalti HTTPS-protokolon", + "u_https3": "por pli bona rendimento", + "u_ancient": 'via retumilo estas vere antikva -- eble vi devus uzi alลutilon bup anstataลญe', + "u_nowork": "Firefox 53+ aลญ Chrome 57+ aลญ iOS 11+ necesas", + "tail_2old": "Firefox 105+ aลญ Chrome 71+ aลญ iOS 14.5+ necesas", + "u_nodrop": 'via retumilo estas tro malnova por ลova-kaj-demeta alลutado', + "u_notdir": "tio ne estas dosierujo!\n\nvia retumilo estas tro malnova,\nbonvolu ลovu kaj demetu anstataลญe", + "u_uri": "por ลovi-kaj-demeti bildon de aliaj fenestroj de retumiloj,\nbonvolu demeti ฤin sur la grandan alลut-butonon", + "u_enpot": 'uzi simplan fasadon (povas plirapidigi alลutojn)', + "u_depot": 'uzi elegantan fasadon (povas plimalrapidigi alลutojn)', + "u_gotpot": 'ลaltado de simpla fasado por pli rapidaj alลutoj,\n\nvi povas malลalti ฤin, se ฤi ne plaฤ‰as al vi!', + "u_pott": "

    dosieroj:   {0} finitaj,   {1} eraroj,   {2} alลutataj,   {3} envicigitaj

    ", + "u_ever": "ฤ‰i tiu estas fundamenta alลutilo; up2k postulas almenaลญ retumilojn
    Chrome 21 // Firefox 13 // Edge 12 // Opera 12 // Safari 5.1", + "u_su2k": 'ฤ‰i tiu estas fundamenta alลutilo; up2k estas pli bona', + "u_uput": 'optimumigi por rapideco (ne kalkuli kontrolsumojn)', + "u_ewrite": 'vi ne havas permeson skribi en ฤ‰i tiun dosierujon', + "u_eread": 'vi ne havas permeson legi ฤ‰i tiun dosierujon', + "u_enoi": 'serฤ‰ado de dosieroj estas malลaltita en servilaj agordoj', + "u_enoow": "anstataลญigo ne funkcios ฤ‰i tie; forigo-permeso necesas", + "u_badf": 'ฤˆi tiuj {0} de {1} dosieroj estis preterpasitaj, eble pro permesoj de dosiersistemo:\n\n', + "u_blankf": 'ฤˆi tiuj {0} de {1} dosieroj estas blankaj; ฤ‰u alลuti malgraลญ tio?\n\n', + "u_applef": 'ฤˆi tiuj {0} de {1} dosieroj estas eble nedezirataj;\nPremu OK/Enter por PRETERPASI ilin,\nPremu Rezigni/ESK por ignori ฤ‰i tiun mesaฤon kaj ALลœUTI ilin:\n\n', + "u_just1": '\nEble ฤi funkcios pli bone, se vi elektas nur unu dosieron', + "u_ff_many": "se vi uzas operaciumojn Linux / MacOS / Android, ฤ‰i tiu kvanto de dosieroj povas kraลi retumilon Firefox!\nse ฤ‰i tio okazos, klopodu denove (aลญ uzu Chrome-on).", + "u_up_life": "ฤˆi tiu alลuto estos forigita de servilo\n{0} post kompletado", + "u_asku": 'alลuti ฤ‰i tiujn {0} dosierojn al {1}', + "u_unpt": "vi povas malalลuti / forigi ฤ‰i tiun alลuton per ๐Ÿงฏ supre-maldesktre", + "u_bigtab": '{0} dosieroj montrotaj\n\nฤ‰i tiu povas kraลi vian retumilon, ฤ‰u daลญrigi?', + "u_scan": 'Skanado de dosieroj...', + "u_dirstuck": 'skanilo haltis dum atingado de sekvaj {0} dosieroj; ili estos preterpasitaj:', + "u_etadone": 'Finita ({0}, {1} dosieroj)', + "u_etaprep": '(preparado por alลutado)', + "u_hashdone": 'kontrolsumita', + "u_hashing": 'k-sumado', + "u_hs": 'kvitanco...', + "u_started": "la dosieroj estas alลutataj; rigardu [๐Ÿš€]", + "u_dupdefer": "duplikatoj; estos traktita post ฤ‰iuj aliaj dosieroj", + "u_actx": "alklaku ฤ‰i tiun tekston por eviti malrapidigon
    dum uzado de aliaj fenestroj/langetoj", + "u_fixed": "Bone!  Riparita ๐Ÿ‘", + "u_cuerr": "alลutado de ero {0} de {1} malsukcesis;\neble malgravas, alลutado daลญrigas\n\ndosiero: {2}", + "u_cuerr2": "servilo rifuzis alลutadon (ero {0} de {1});\nprovos denove poste\n\ndosiero: {2}\n\neraro ", + "u_ehstmp": "reprovos poste; rigardu sube-dekstre", + "u_ehsfin": "servilo rifuzis peton por finigi alลutadon; reprovado...", + "u_ehssrch": "servilo rifuzis peton por ลerco; reprovado...", + "u_ehsinit": "servilo rifuzis peton por komenco de alลutado; reprovado...", + "u_eneths": "reta eraro dum alลutada kvitanco; reprovado...", + "u_enethd": "reta eraro dum kontrolo de ekzistado de cela dosiero; reprovado...", + "u_cbusy": "atendado, por ke la servilo estas atingebla post reta eraro...", + "u_ehsdf": "servilo ne havas sufiฤ‰e da diskospaco!\n\nla alลutado reprovos daลญre, okaze de iu liberigas\nsufiฤ‰e da diskospaco", + "u_emtleak1": "ลajnas, ke via retumilo likas memoron; \nbonvolu", + "u_emtleak2": ' uzi protokolon HTTPS (rekomendita) aลญ ', + "u_emtleak3": ' ', + "u_emtleakc": 'provu fari tiel:\n
    • reลargu la paฤon per klavo F5
    • , do malลalti la butonon  mt  en la  โš™๏ธ agordoj
    • kaj reprovu alลuton
    Alลuto estos pli malrapida, sed nenio fareblas.\nPardonon por la ฤenaฤตo!\n\nPS: chrome v107 korektis ฤ‰i tion', + "u_emtleakf": 'provu fari tiel:\n
    • reลargu la paฤon per klavo F5
    • , do malลalti la butonon  mt  en la  โš™๏ธ agordoj
    • kaj reprovu alลuton
    \nPS: firefox espereble korektos ฤ‰i tion baldaลญ', + "u_s404": "ne trovita ฤ‰e la servilo", + "u_expl": "klarigi", + "u_maxconn": "plimulto da retumiloj ne permesas uzi pli ol 6, sed Firefox havas agordon connections-per-server en about:config, per kiu la limo ลanฤeblas", + "u_tu": '

    AVERTO: rapidega reฤimo ลaltita,  kliento povas ne detekti kaj daลญrigi nefinigitajn alลutojn; rigardu la ลpruchelpilon de rapidega-butono

    ', + "u_ts": '

    AVERTO: rapidega reฤimo ลaltita,  serฤ‰rezultoj povas esti eraraj; rigardu la ลpruchelpilon de rapidega-butono

    ', + "u_turbo_c": "rapidega reฤimo estas malpermesita laลญ servilaj agordoj", + "u_turbo_g": "rapidega reฤimo estas malpermesita, ฤ‰ar vi\nne rajtas listigi dosierujojn en ฤ‰i tiu datumportilo", + "u_life_cfg": 'aลญtoforigado post minutoj (aลญ horoj)', + "u_life_est": 'alลuto estos forigita je ---', + "u_life_max": 'ฤ‰i tiu dosierujo postulas \naลญtoforigadon de dosieroj post {0}', + "u_unp_ok": 'malalลuto permesitas por {0}', + "u_unp_ng": 'malalลuto NE estos permesita', + "ue_ro": 'via atingo de ฤ‰i tiu dosierujo estas nur-lega\n\n', + "ue_nl": 'vi ne estas ensalutita', + "ue_la": 'vi estas ensalutita kiel "{0}"', + "ue_sr": 'vi estas en serฤ‰o-reฤimo nun\n\nลanฤi al alลuto-reฤimo per lupeo-simbolo ๐Ÿ”Ž (apude de la grandega SERฤˆO-butono), kaj provu alลuti denove\n\npardonon', + "ue_ta": 'provu alลuti denove, ฤi devus funkcii nun', + "ue_ab": "ฤ‰i tiu dosiero estas jam alลutata en alian dosierujon, tiu alลutado devas esti finigita antaลญ alลutado de la sama dosiero en alian lokon.\n\nVi povas ฤ‰esigi la nunan alลutadon per butonon ๐Ÿงฏ supre-maldekstre", + "ur_1uo": "OK: Dosiero sukcese alลutita", + "ur_auo": "OK: ฤˆiuj {0} dosieroj sukcese alลutitaj", + "ur_1so": "OK: Dosiero trovita ฤ‰e la servilo", + "ur_aso": "OK: ฤˆiuj {0} dosieroj trovitaj ฤ‰e la serviloj", + "ur_1un": "Alลutado malsukcesis, pardonon", + "ur_aun": "ฤˆiuj {0} alลutadoj malsukcesis, pardonon", + "ur_1sn": "Dosiero estis NE trovita ฤ‰e la servilo", + "ur_asn": "La {0} dosieroj estis NE trovitaj ฤ‰e la servilo", + "ur_um": "Finita;\n{0} alลutoj sukcesis,\n{1} alลutoj malsukcesis, pardonon", + "ur_sm": "Finita;\n{0} dosieroj trovitaj ฤ‰e la servilo,\n{1} dosieroj NE trovitaj ฤ‰e la servilo", + + "rc_opn": "malfermi", //m + "rc_ply": "Ludi", //m + "rc_pla": "Ludi kiel sonon", //m + "rc_txt": "malfermi en dosiera vidilo", //m + "rc_md": "malfermi en tekstredaktilo", //m + "rc_dl": "elลuti", //m + "rc_zip": "elลuti kiel arkivon", //m + "rc_del": "forigi", //m + "rc_cut": "eltondi", //m + "rc_cpy": "kopii", //m + "rc_pst": "alglui", //m + "rc_nfo": "nova dosierujo", //m + "rc_nfi": "nova dosiero", //m + "rc_sal": "elekti ฤ‰ion", //m + "rc_sin": "inversigi elekton", //m + + "lang_set": "ฤ‰u reลargi paฤon por efektivigi lingvo-ลanฤon?", + + "splash": { + "a1": "reลargi", + "b1": "sal, nekonatulo   (vi ne estas ensalutita)", + "c1": "elsaluti", + "d1": "montru stakon", + "d2": "montras la staton de ฤ‰iuj aktivaj fadenoj", + "e1": "reลargi CFGon", + "e2": "reลargas la agordo-dosierojn (kontoj/portiloj/portilo-flagoj),$Nkaj reskanas ฤ‰iuj portiloj de ed2s$N$Nnoto: ฤ‰iuj ลanฤoj de ฤeneralaj agordoj postulas$Npostulas tutan restartigon por efektiviฤi", + "f1": "vi povas vidi:", + "g1": "vi povas alลuti al:", + "cc1": "aliaฤตoj:", + "h1": "malลalti k304-on", + "i1": "ลalti k304-on", + "j1": "k304 malkonektas vian klienton je ฤ‰iu HTTP-eraro 304; tio povas eviti paraliziฤon dum uzado de difektitaj retperantoj (paฤoj subite ne ลargiฤas), sed ฤi ankaลญ plimalrapidigas ฤ‰ion", + "k1": "rekomenci agordojn de kliento", + "l1": "ensaluti por pli da opcioj:", + "ls3": "ensaluti", + "lu4": "uzantnomo", + "lp4": "pasvorto", + "lo3": "ensaluti kiel โ€œ{0}โ€ ฤ‰ie", + "lo2": "ฤ‰i tiu finigos seancon en ฤ‰iuj retumiloj", + "m1": "bonvenon denove,", + "n1": "404 ne trovita  โ”( ยด -`)โ”Œ", + "o1": 'aลญ eble vi ne havas rajton -- provu uzi pasvorton aลญ iri hejmen', + "p1": "403 ne permesita  ~โ”ปโ”โ”ป", + "q1": 'uzu pasvorton aลญ iru hejmen', + "r1": "hejmen", + ".s1": "reskani", + "t1": "ago", + "u2": "tempo post lasta skribo (alลuto / alinomado / ...) je servilo$N( upload / rename / ... )$N$N17d = 17 tagoj$N1h23 = 1 horo 23 minutoj$N4m56 = 4 minutoj 56 sekundoj", + "v1": "konekti", + "v2": "uzi ฤ‰i tiun servilon kiel loka disko", + "w1": "uzi HTTPS-protokolon", + "x1": "ลanฤi pasvorton", + "y1": "redakti komunaฤตojn", + "z1": "malลlosi ฤ‰i tiun komunaฤตon:", + "ta1": "entajpu novan pasvorton unue", + "ta2": "retajpu por konfirmi:", + "ta3": "tajpo-eraro; bonvolu provu denove", + "nop": "ERARO: Pasvorto ne povas esti malplena", //m + "nou": "ERARO: Uzantnomo kaj/aลญ pasvorto ne povas esti malplena", //m + "aa1": "aktivaj alลutoj:", + "ab1": "malลalti no304-on", + "ac1": "ลalti no304-on", + "ad1": "no304 malลaltas ฤ‰iun kaลmemoradon; provu ฤ‰i tion, se k304 ne riparis la difektojn. ฤˆi tiu agordo malลparas multon da datumtrafiko!", + "ae1": "aktivaj elลutoj:", + "af1": "montri lastajn alลutojn", + "ag1": "montri kaลmemoron de idp", + } +}; diff --git a/copyparty/web/tl/fin.js b/copyparty/web/tl/fin.js new file mode 100644 index 00000000..d227726c --- /dev/null +++ b/copyparty/web/tl/fin.js @@ -0,0 +1,710 @@ + +// Rivut, jotka pรครคttyvรคt //m, ovat varmentamattomia konekรครคnnรถksiรค + +Ls.fin = { + "tt": "Suomi", + + "cols": { + "c": "toimintopainikkeet", + "dur": "kesto", + "q": "laatu / bittinopeus", + "Ac": "รครคnikoodekki", + "Vc": "videokoodekki", + "Fmt": "formaatti / sรคiliรถ", + "Ahash": "รครคnen tarkistussumma", + "Vhash": "videon tarkistussumma", + "Res": "resoluutio", + "T": "tiedostotyyppi", + "aq": "รครคnenlaatu / bittinopeus", + "vq": "kuvalaatu / bittinopeus", + "pixfmt": "alinรคytteistys / pikselirakenne", + "resw": "horisontaalinen resoluutio", + "resh": "vertikaalinen resoluutio", + "chs": "รครคnikanavat", + "hz": "nรคytteenottotaajuus", + }, + + "hks": [ + [ + "misc", + ["ESC", "sulje asioita"], + + "file-manager", + ["G", "vaihda lista/kuvanรคkymรครคn"], + ["T", "vaihda pienoiskuviin/kuvakkeisiin"], + ["โ‡ง A/D", "pienoiskuvien koko"], + ["ctrl-K", "poista valitut"], + ["ctrl-X", "siirrรค valitut leikepรถydรคlle"], + ["ctrl-C", "kopioi valitut leikepรถydรคlle"], + ["ctrl-V", "siirrรค tai kopioi tรคhรคn"], + ["Y", "lataa valitut"], + ["F2", "uudelleennimeรค valitut"], + + "file-list-sel", + ["space", "vaihda tiedostonvalintatilaan"], + ["โ†‘/โ†“", "siirrรค valintaosoitinta"], + ["ctrl โ†‘/โ†“", "siirrรค osoitinta ja nรคkymรครค"], + ["โ‡ง โ†‘/โ†“", "valitse edellinen/seuraava tiedosto"], + ["ctrl-A", "valitse kaikki tiedostot / hakemistot"], + ], [ + "navigation", + ["B", "nรคytรค linkkipolku"], + ["I/K", "siirry edelliseen/seuraavaan hakemistoon"], + ["M", "siirry ylรคhakemistoon/supista nykyinen hakemisto"], + ["V", "nรคytรค hakemistot/tekstitiedostot navigointipaneelissa"], + ["A/D", "navigointipaneelin koko"], + ], [ + "audio-player", + ["J/L", "edellinen/seuraava kappale"], + ["U/O", "kelaa 10s taaksepรคin/eteenpรคin"], + ["0..9", "siirry 0%..90%"], + ["P", "toista/pysรคytรค kappale"], + ["S", "valitse toistossa oleva kappale"], + ["Y", "lataa kappale"], + ], [ + "image-viewer", + ["J/L, โ†/โ†’", "edellinen/seuraava kuva"], + ["Home/End", "ensimmรคinen/viimeinen kuva"], + ["F", "siirry koko nรคytรถn tilaan"], + ["R", "kierrรค myรถtรคpรคivรครคn"], + ["โ‡ง R", "kierrรค vastapรคivรครคn"], + ["S", "valitse kuva"], + ["Y", "lataa kuva"], + ], [ + "video-player", + ["U/O", "kelaa 10s taaksepรคin/eteenpรคin"], + ["P/K/Space", "toista/pysรคytรค video"], + ["C", "jatka toistoa seuraavaan videoon"], + ["V", "toista uudelleen"], + ["M", "vaimenna"], + ["[ ja ]", "aseta videon uudelleentoistovรคli"], + ], [ + "textfile-viewer", + ["I/K", "edellinen/seuraava tiedosto"], + ["M", "sulje tekstitiedosto"], + ["E", "muokkaa tekstitiedostoa"], + ["S", "valitse tiedosto (leikkausta/kopiointia/uudelleennimeรคmistรค varten)"], + ["Y", "lataa tekstitiedosto"], //m + ["โ‡ง J", "kaunista json"], //m + ] + ], + + "m_ok": "OK", + "m_ng": "Peruuta", + + "enable": "Aktivoi", + "danger": "HUOMIO!", + "clipped": "kopioitu leikepรถydรคlle", + + "ht_s1": "sekunti", + "ht_s2": "sekuntia", + "ht_m1": "minuutti", + "ht_m2": "minuuttia", + "ht_h1": "tunti", + "ht_h2": "tuntia", + "ht_d1": "pรคivรค", + "ht_d2": "pรคivรครค", + "ht_and": " ja ", + + "goh": "hallintapaneeli", + "gop": 'viereinen hakemisto">edell', + "gou": 'ylempi hakemisto">ylรถs', + "gon": 'seuraava hakemisto">seur', + "logout": "Kirjaudu ulos ", + "login": "Kirjaudu sisรครคn", //m + "access": " -oikeudet", + "ot_close": "sulje alavalikko", + "ot_search": "etsi tiedostoja ominaisuuksien, tiedostopolun tai -nimen, musiikkitรคgien tai nรคiden yhdistelmรคn perusteella$N$N<code>foo bar</code> = tรคytyy sisรคltรครค sekรค ยซfooยป ettรค ยซbarยป,$N<code>foo -bar</code> = tรคytyy sisรคltรครค ยซfooยป mutta ei ยซbarยป,$N<code>^yana .opus$</code> = alkaa ยซyanaยป ja on ยซopusยป-tiedosto$N<code>"try unite"</code> = sisรคltรครค tรคsmรคlleen ยซtry uniteยป$N$Npรคivรคmรครคrรคn muoto on iso-8601, kuten$N<code>2009-12-31</code> tai <code>2020-09-12 23:30:00</code>", + "ot_unpost": "unpost: poista viimeaikaiset tai keskeytรค keskenerรคiset lataukset", + "ot_bup": "bup: tiedostojen 'perus'lรคhetysohjelma, tukee jopa netscape 4.0", + "ot_mkdir": "mkdir: luo uusi hakemisto", + "ot_md": "new-file: luo uusi tekstitiedosto", //m + "ot_msg": "msg: lรคhetรค viesti palvelinlokiin", + "ot_mp": "mediasoittimen asetukset", + "ot_cfg": "asetukset", + "ot_u2i": 'up2k: lรคhetรค tiedostoja (vaatii write-oikeudet) tai vaihda hakutilaan nรคhdรคksesi, ovatko tiedostot jo olemassa jossain pรคin palvelinta$N$Nlatauksia voi jatkaa, ne ovat monisรคikeistettyjรค, ja tiedostojen aikaleimat sรคilytetรครคn; nuijii prosessoria enemmรคn kuin [๐ŸŽˆ]  (peruslatausohjelma)

    tiedostojen lรคhetyksen aikana tรคmรค kuvake muuttuu kertoo lรคhetyksen edistymisestilanteen!', + "ot_u2w": 'up2k: lรคhetรค tiedostoja jatkamistoiminnolla (voit sulkea selaimen ja vetรครค samat tiedostot selainikkunaan myรถhemmin)$N$monisรคikeistetty, ja tiedostojen aikaleimat sรคilyvรคt; nuijii prosessoria enemmรคn kuin [๐ŸŽˆ]  (peruslatausohjelma)

    tiedostojen lรคhetyksen aikana tรคmรค kuvake muuttuu kertoo lรคhetyksen edistymisestilanteen!', + "ot_noie": 'Suosittelemme kรคyttรคmรครคn uudempaa selainta.', + + "ab_mkdir": "luo hakemisto", + "ab_mkdoc": "luo tekstitiedosto", //m + "ab_msg": "lรคhetรค viesti palvelinlokiin", + + "ay_path": "siirry hakemistoihin", + "ay_files": "siirry tiedostoihin", + + "wt_ren": "uudelleennimeรค valitut kohteet$NPikanรคppรคin: F2", + "wt_del": "poista valitut kohteet$NPikanรคppรคin: ctrl-K", + "wt_cut": "siirrรค valitut kohteet leikepรถydรคlle <small>(siirtรครคksesi ne muualle)</small>$NPikanรคppรคin: ctrl-X", + "wt_cpy": "kopioi valitut kohteet leikepรถydรคlle$N(liittรครคksesi ne muualle)$NPikanรคppรคin: ctrl-C", + "wt_pst": "liitรค aiemmin leikatut / kopioidut valinnat$NPikanรคppรคin: ctrl-V", + "wt_selall": "valitse kaikki tiedostot$NPikanรคppรคin: ctrl-A (kun tiedosto on kohdistettu)", + "wt_selinv": "valitse vastakkaiset tiedostot", + "wt_zip1": "lataa tรคmรค hakemisto pakattuna", + "wt_selzip": "lataa valitut kohteet pakattuna", + "wt_seldl": "lataa valitut kohteet paketoimatta$NPikanรคppรคin: Y", + "wt_npirc": "kopioi kappaletiedot IRC-muotoilulla", + "wt_nptxt": "kopioi kappaletiedot ilman muotoilua", + "wt_m3ua": "lisรครค m3u-soittolistaan (klikkaa ๐Ÿ“ปkopioi myรถhemmin)", + "wt_m3uc": "kopioi m3u-soittolista leikepรถydรคlle", + "wt_grid": "vaihda kuva- ja listanรคkymรคn vรคlillรค$NPikanรคppรคin: G", + "wt_prev": "edellinen kappale$NPikanรคppรคin: J", + "wt_play": "toista / pysรคytรค$NPikanรคppรคin: P", + "wt_next": "seuraava kappale$NPikanรคppรคin: L", + + "ul_par": "rinnakkaislatausten lkm:", + "ut_rand": "satunnaisgeneroidut tiedostonimet", + "ut_u2ts": "kopioi viimeksi muokattu aikaleima$Ntiedostojรคrjestelmรคstรคsi palvelimelle\">๐Ÿ“…", + "ut_ow": "korvaa olemassa olevat tiedostot palvelimella?$N๐Ÿ›ก๏ธ: ei koskaan (luo sen sijaan uuden tiedostonimen)$N๐Ÿ•’: korvaa jos palvelintiedosto on vanhempi kuin omasi$Nโ™ป๏ธ: korvaa aina jos tiedostot ovat erilaisia$Nโญ๏ธ: ohita kaikki olemassa olevat tiedostot ehdottomasti", //m + "ut_mt": "jatka muiden tiedostojen tiivisteiden laskemista latauksen aikana$N$Nkannattanee poistaa kรคytรถstรค, mikรคli prosessori tai kovalevy on vanhempaa mallia", + "ut_ask": 'kysy vahvistusta ennen latauksen aloittamista">๐Ÿ’ญ', + "ut_pot": "paranna latausnopeutta hitailla laitteilla$Nvรคhentรคmรคllรค kรคyttรถliittymรคn monimutkaisuutta", + "ut_srch": "lataamisen sijaan tarkista, ovatko tiedostot jo $N olemassa palvelimella (kรคy lรคpi kaikki hakemistot, joihin sinulla on read-oikeudet)", + "ut_par": "keskeytรค lataukset asettamalla se nollaan$N$Nnosta, jos yhteytesi on hidas tai viive on suuri$N$Npidรค se 1:ssรค lรคhiverkossa tai jos palvelimen kovalevy on pullonkaula", + "ul_btn": "vedรค tiedostoja / hakemistoja tรคhรคn
    (tai klikkaa minua)", + "ul_btnu": "L ร„ H E T ร„", + "ul_btns": "E T S I", + + "ul_hash": "tiiviste", + "ul_send": "lรคhetรค", + "ul_done": "valmis", + "ul_idle1": "ei latauksia jonossa", + "ut_etah": "keskimรครคrรคinen <em>tiivisteiden lasku</em>nopeus ja arvioitu aika valmistumiseen", + "ut_etau": "keskimรครคrรคinen <em>lataus</em>nopeus ja arvioitu aika valmistumiseen", + "ut_etat": "keskimรครคrรคinen <em>kokonais</em>nopeus ja arvioitu aika valmistumiseen", + + "uct_ok": "onnistui", + "uct_ng": "ei-hyvรค: epรคonnistui / hylรคtty / ei lรถydy", + "uct_done": "ok ja ng yhdistettynรค", + "uct_bz": "laskee tiivisteitรค tai lataa", + "uct_q": "tyhjรคkรคynnillรค, odottaa", + + "utl_name": "tiedostonimi", + "utl_ulist": "lista", + "utl_ucopy": "kopioi", + "utl_links": "linkit", + "utl_stat": "tila", + "utl_prog": "edistyminen", + + // keep short: + "utl_404": "404", + "utl_err": "VIRHE", + "utl_oserr": "Kรคyttรถjรคrjestelmรคvirhe", + "utl_found": "lรถytyi", + "utl_defer": "lykkรครค", + "utl_yolo": "YOLO", + "utl_done": "valmis", + + "ul_flagblk": "tiedostot lisรคttiin jonoon
    mutta toisen selainvรคlilehden up2k on kiireinen,
    joten odotetaan sen valmistumista ensin", + "ul_btnlk": "palvelinkonfiguraatio on lukinnut tรคmรคn kytkimen tรคhรคn tilaan", + + "udt_up": "Lataa", + "udt_srch": "Etsi", + "udt_drop": "pudota se tรคhรคn", + + "u_nav_m": '
    selvรค, mitรคs sulla on?
    Enter = Tiedostoja (yksi tai useampi)\nESC = Yksi hakemisto (mukaan lukien alihakemistot)', + "u_nav_b": 'TiedostojaYksi hakemisto', + + "cl_opts": "asetukset", + "cl_hfsz": "tiedostokoko", //m + "cl_themes": "teema", + "cl_langs": "kieli", + "cl_ziptype": "hakemiston pakkaustyyppi", + "cl_uopts": "up2k-kytkimet", + "cl_favico": "favicon", + "cl_bigdir": "suuret hakemistot", + "cl_hsort": "#sort", + "cl_keytype": "sรคvellajin notaatiotyyppi", + "cl_hiddenc": "piilotetut sarakkeet", + "cl_hidec": "piilota", + "cl_reset": "palauta", + "cl_hpick": "napauta sarakeotsikoita piilottaaksesi alla olevassa taulukossa", + "cl_hcancel": "sarakkeiden piilotus peruttu", + "cl_rcm": "hiiren oikean painikkeen valikko", //m + + "ct_grid": '็”ฐ kuvanรคkymรค', + "ct_ttips": 'โ—” โ—ก โ—”">โ„น๏ธ vihjelaatikot', + "ct_thumb": 'valitse kuvakkeiden / pienoiskuvien vรคlillรค kuvanรคkymรคssรค $NPikanรคppรคin: T">๐Ÿ–ผ๏ธ pienoiskuvat', + "ct_csel": 'kรคytรค CTRL ja SHIFT tiedostojen valintaan kuvanรคkymรคssรค">valitse', + "ct_dl": 'pakota lataus (รคlรค nรคytรค upotettuna), kun tiedostoa napsautetaan">dl', //m + "ct_ihop": 'kun kuvakatselin suljetaan, vieritรค alas viimeksi katsottuun tiedostoon">gโฎฏ', + "ct_dots": 'nรคytรค piilotetut tiedostot (jos palvelin sallii)">piilotiedostot', + "ct_qdel": 'kysy vahvistusta vain kerran tiedostoja poistaessa">qdel', + "ct_dir1st": 'lajittele hakemistot ennen tiedostoja">๐Ÿ“ ensin', + "ct_nsort": 'luonnollinen lajittelu (tiedostonimille jotka ovat numeroalkuisia)">nsort', + "ct_utc": 'nรคytรค kaikki aikaleimat UTC-ajassa">UTC', + "ct_readme": 'nรคytรค README.md hakemistolistauksissa">๐Ÿ“œ readme', + "ct_idxh": 'nรคytรค index.html hakemistolistan sijasta">htm', + "ct_sbars": 'nรคytรค vierityspalkit">โŸŠ', + + "cut_umod": "jos tiedosto on jo olemassa palvelimella, pรคivitรค palvelimen viimeksi muokattu aikaleima vastaamaan paikallista tiedostoasi (vaatii write- ja delete-oikeudet)\">re๐Ÿ“…", + + "cut_turbo": "yolo-painike -- et todennรคkรถisesti halua ottaa tรคtรค kรคyttรถรถn:$N$Nkรคytรค tรคtรค jos latasit valtavan mรครคrรคn tiedostoja ja jouduit kรคynnistรคmรครคn uudelleen jostain syystรค, ja haluat jatkaa latausta vรคlittรถmรคsti$N$Ntรคmรค korvaa tiivistetarkistuksen yksinkertaisella "onko tรคllรค sama tiedostokoko palvelimella?" joten jos tiedoston sisรคltรถ on erilainen sitรค EI ladata$N$Nsinun pitรคisi poistaa tรคmรค kรคytรถstรค kun lataus on valmis, ja sitten "ladata" samat tiedostot uudelleen antaaksesi selaimesi varmistaa ne\">turbo", + + "cut_datechk": "ei vaikutusta ellei turbo-painike ole kรคytรถssรค$N$Nvรคhentรครค yolo-tekijรครค hieman; tarkistaa vastaavatko tiedostojen aikaleimat palvelimella omia$N$Npitรคisi teoriassa napata useimmat keskenerรคiset / vioittuneet lataukset, mutta ei ole korvike varmistuskierrokselle turbo poistettuna kรคytรถstรค jรคlkeenpรคin\">pรคivรคysvarmistin", + + "cut_u2sz": "kunkin lรคhetyspalan koko (MiB:ssรค); suuret arvot lentรคvรคt paremmin atlantin yli. kokeile pieniรค arvoja erittรคin heikoilla yhteyksillรค", + + "cut_flag": "varmista ettรค vain yksi vรคlilehti lataa kerrallaan $N -- muissa vรคlilehdissรค tรคytyy olla tรคmรค kรคytรถssรค myรถs $N -- vaikuttaa vain saman verkkotunnuksen vรคlilehtiin", + + "cut_az": "lรคhetรค tiedostot aakkosjรคrjestyksessรค, eikรค pienin-tiedosto-ensiksi$N$Naakkosjรคrjestys voi tehdรค helpommaksi silmรคillรค jos jokin meni vikaan palvelimella, mutta se tekee latauksesta hieman hitaamman kuitu- ja lรคhiverkossa", + + "cut_nag": "kรคyttรถjรคrjestelmรคilmoitus kun lataus valmistuu$N(vain jos selain tai vรคlilehti ei ole aktiivinen)", + "cut_sfx": "รครคnivaroitus kun lataus valmistuu$N(vain jos selain tai vรคlilehti ei ole aktiivinen)", + + "cut_mt": "monisรคikeistรค tiedostojen tiivistysarvojen laskeminen$N$Ntรคmรค kรคyttรครค web-workereitรค ja vaatii$Nenemmรคn RAM-muistia (jopa 512 MiB ekstraa)$N$Ntekee https:n 30% nopeammaksi, http:n 4.5x nopeammaksi\">mt", + + "cut_wasm": "kรคytรค wasm:ia selaimen sisรครคnrakennetun tiivistรคjรคn sijaan; parantaa nopeutta chrome-pohjaisissa selaimissa mutta lisรครค prosessorikuormaa, ja monissa vanhemmissa chrome-versioissa on bugeja jotka saavat selaimen kuluttamaan kaiken RAM-muistin ja kaatumaan jos tรคmรค on kรคytรถssรค\">wasm", + + "cft_text": "favicon-teksti (tyhjennรค ja pรคivitรค poistaaksesi kรคytรถstรค)", + "cft_fg": "edustavรคri", + "cft_bg": "taustavรคri", + + "cdt_lim": "tiedostojen enimmรคismรครคrรค nรคytettรคvรคksi hakemistossa", + "cdt_ask": "sivun lopussa, sen sijaan ettรค lataa $Nautomaattisesti lisรครค tiedostoja, kysy mitรค tehdรค", + "cdt_hsort": "kuinka monta lajittelusรครคntรถรค (<code>,sorthref</code>) sisรคllyttรครค media-URL:eihin. Tรคmรคn asettaminen nollaan jรคttรครค myรถs huomioimatta media-linkeissรค sisรคllytetyt lajittelusรครคnnรถt kun napsautat niitรค", + "cdt_ren": "ota kรคyttรถรถn mukautettu valikko, tavallinen valikko on kรคytettรคvissรค painamalla shift ja napsauttamalla oikealla", //m + + "tt_entree": "nรคytรค navigointipaneeli$NPikanรคppรคin: B", + "tt_detree": "nรคytรค linkkipolku$NPikanรคppรคin: B", + "tt_visdir": "nรคytรค valittu hakemisto", + "tt_ftree": "vaihda linkkipolku- / tekstitiedostonรคkymรครคn$NPikanรคppรคin: V", + "tt_pdock": "nรคytรค ylรคhakemistot telakoitussa paneelissa ylhรครคllรค", + "tt_dynt": "kasvata automaattisesti hakemistosyvyyden kasvaessa", + "tt_wrap": "rivitys", + "tt_hover": "paljasta ylivuotavat rivit leijutettaessa$N( rikkoo vierityksen ellei hiiri $N  ole vasemmassa marginaalissa )", + + "ml_pmode": "hakemiston lopussa...", + "ml_btns": "komennot", + "ml_tcode": "muunna nรคmรค", + "ml_tcode2": "tรคhรคn muotoon", + "ml_tint": "sรคvy", + "ml_eq": "taajuuskorjain", + "ml_drc": "dynaaminen alueen kompressori", + + "mt_loop": "toista samaa kappaletta\">๐Ÿ”", + "mt_one": "lopeta yhden toiston jรคlkeen\">1๏ธโƒฃ", + "mt_shuf": "aktivoi satunnaistoisto\">๐Ÿ”€", + "mt_aplay": "automaattitoisto jos linkissรค jolla pรครคsit palvelimelle oli kappale-ID$N$Ntรคmรคn poistaminen kรคytรถstรค pysรคyttรครค myรถs sivun URL:n pรคivittรคmisen kappale-ID:lla musiikkia toistettaessa, estรครคksesi automaattitoiston jos nรคmรค asetukset menetetรครคn mutta URL sรคilyy\">aโ–ถ", + "mt_preload": "aloita seuraavan kappaleen lataaminen lรคhellรค loppua, mahdollistaen saumattoman toiston\">esilataus", + "mt_prescan": "siirry seuraavaan hakemistoon ennen viimeisen kappaleen$Nloppumista, pitรคen verkkoselaimen tyytyvรคisenรค$Njotta se ei pysรคytรค toistoa\">nav", + "mt_fullpre": "yritรค esiladata koko kappale;$Nโœ… ota kรคyttรถรถn heikoilla yhteyksillรค,$NโŒ poista kรคytรถstรค hitailla yhteyksillรค\">esi+", + "mt_fau": "puhelimissa: estรค musiikin pysรคhtyminen jos seuraava kappale ei esilataudu tarpeeksi nopeasti (voi aiheuttaa ongelmia kappaletietojen nรคyttรคmisessรค)\">โ˜•๏ธ", + "mt_waves": "aaltomuoto-hakupalkki:$Nnรคytรค รครคnenvahvuus selaimessa\">~s", + "mt_npclip": "nรคytรค painikkeet parhaillaan soivan kappaleen leikepรถydรคlle kopioimiseen\">/np", + "mt_m3u_c": "nรคytรค painikkeet valittujen$Nkappaleiden kopioimiseen m3u8-soittolistana leikepรถydรคlle\">๐Ÿ“ป", + "mt_octl": "kรคyttรถjรคrjestelmรคintegraatio (medianรคppรคimet / osd)\">os-ctl", + "mt_oseek": "salli haku kรคyttรถjรคrjestelmรคintegraation kautta$N$Nhuom: joissakin laitteissa (iPhonet),$Ntรคmรค korvaa 'seuraava kappale' -painikkeen\">kelaus", + "mt_oscv": "nรคytรค albumin kansi osd:ssรค\">kansikuvat", + "mt_follow": "pidรค soiva kappale nรคkyvissรค\">๐ŸŽฏ", + "mt_compact": "kompaktit sรครคtimet\">โŸŽ", + "mt_uncache": "tyhjennรค vรคlimuisti  (kokeile tรคtรค jos selaimesi vรคlimuistissa on$Nrikkinรคinen kopio kappaleesta)\">uncache", + "mt_mloop": "toista avoinna olevaa hakemistoa loputtomasti\">๐Ÿ” alkuun", + "mt_mnext": "lataa seuraava hakemisto ja jatka\">๐Ÿ“‚ seuraava", + "mt_mstop": "pysรคytรค toisto\">โธ pysรคytรค", + "mt_cflac": "muunna flac / wav {0}-muotoon\">flac", + "mt_caac": "muunna aac / m4a {0}-muotoon\">aac", + "mt_coth": "muunna kaikki muut paitsi mp3 {0}-muotoon\">muut", + "mt_c2opus": "paras valinta pรถytรคkoneille, kannettaville, androidille\">opus", + "mt_c2owa": "opus-weba, iOS 17.5:lle ja uudemmille\">owa", + "mt_c2caf": "opus-caf, iOS 11:lle - 17:lle\">caf", + "mt_c2mp3": "kรคytรค tรคtรค erittรคin vanhoissa laitteissa\">mp3", + "mt_c2flac": "paras รครคnenlaatu, mutta isot lataukset\">flac", //m + "mt_c2wav": "pakkaamaton toisto (vielรค suurempi tiedosto)\">wav", //m + "mt_c2ok": "hienoa, hyvรค valinta", + "mt_c2nd": "tuo ei ole suositeltu formaatti laitteellesi, mutta tee miten lystรครคt", + "mt_c2ng": "laitteesi ei nรคytรค tukevan tรคtรค formaattia, mutta yritetรครคn nyt silti", + "mt_xowa": "iOS:ssรค on bugeja jotka estรคvรคt taustatoiston tรคllรค formaatilla; kรคytรค caf:ia tai mp3:a sen sijaan", + "mt_tint": "taustan taso (0-100) liukupalkissa$Ntehden puskuroinnista vรคhemmรคn hรคiritsevรคn", + "mt_eq": "aktivoi taajuuskorjaimen ja vahvistussรครคtimen;$N$Nvahvistus <code>0</code> = normaali 100% รครคnenvoimakkuus (muokkaamaton)$N$Nleveys <code>1  </code> = normaali stereo (muokkaamaton)$Nleveys <code>0.5</code> = 50% vasen-oikea ristisyรถttรถ$Nleveys <code>0  </code> = mono$N$Nvahvistus <code>-0.8</code> & leveys <code>10</code> = laulun poisto :^)$N$Nequalizerin kรคyttรถรถnotto tekee saumattomista albumeista tรคysin saumattomia, joten jรคtรค se pรครคlle kaikilla arvoilla nollassa (paitsi leveys = 1) jos vรคlitรคt siitรค", + "mt_drc": "aktivoi dynaamisen alueen kompressorin; ottaa myรถs kรคyttรถรถn taajuuskorjaimen tasapainottamaan spagettia, joten aseta kaikki EQ-kentรคt paitsi 'leveys' nollaan jos et halua sitรค$N$Nalentaa รครคnenvoimakkuutta KYNNYS dB:n ylรคpuolella; jokaisesta SUHDE dB:stรค KYNNYKSEN yli tulee 1 dB ulos, joten oletusarvot kynnys -24 ja suhde 12 tarkoittaa ettei sen pitรคisi koskaan tulla kovempaa kuin -22 dB ja on turvallista nostaa equalizerin vahvistus 0.8:aan, tai jopa 1.8:aan ATK 0:lla ja valtavalla RLS:llรค kuten 90 (toimii vain firefoxissa; RLS on max 1 muissa selaimissa)$N$N(katso wikipedia, he selittรคvรคt sen paljon paremmin)", + + "mb_play": "toista", + "mm_hashplay": "soita tรคmรค รครคnitiedosto?", + "mm_m3u": "paina Enter/OK Toistaaksesi\npaina ESC/Peruuta Muokataksesi", + "mp_breq": "tarvitset firefox 82+ tai chrome 73+ tai iOS 15+", + "mm_bload": "ladataan...", + "mm_bconv": "muunnetaan muotoon {0}, odota...", + "mm_opusen": "selaimesi ei voi toistaa aac / m4a -tiedostoja;\ntranskoodaus opukseen on nyt kรคytรถssรค", + "mm_playerr": "toisto epรคonnistui: ", + "mm_eabrt": "Toistoyritys peruttiin", + "mm_enet": "Internet-yhteytesi on epรคvakaa", + "mm_edec": "Tรคmรค tiedosto on vรคitetysti vioittunut??", + "mm_esupp": "Selaimesi ei ymmรคrrรค tรคtรค รครคnimuotoa", + "mm_eunk": "Tuntematon virhe", + "mm_e404": "Kappaletta ei voitu toistaa; virhe 404: Tiedostoa ei lรถydy.", + "mm_e403": "Kappaletta ei voitu toistaa; virhe 403: Pรครคsy kielletty.\n\nKokeile painaa F5 pรคivittรครคksesi, ehkรค kirjauduit ulos", + "mm_e500": "Kappaletta ei voitu toistaa; virhe 500: Tarkista palvelinlokit.", + "mm_e5xx": "Kappaletta ei voitu toistaa; palvelinvirhe ", + "mm_nof": "ei lรถydy enempรครค รครคnitiedostoja lรคhistรถltรค", + "mm_prescan": "Etsitรครคn musiikkia toistettavaksi seuraavaksi...", + "mm_scank": "Lรถytyi seuraava kappale:", + "mm_uncache": "vรคlimuisti tyhjennetty; kaikki kappaleet ladataan uudelleen seuraavalla toistolla", + "mm_hnf": "tuota kappaletta ei enรครค ole olemassa", + + "im_hnf": "tuota kuvaa ei enรครค ole olemassa", + + "f_empty": 'tรคmรค hakemisto on tyhjรค', + "f_chide": 'tรคmรค piilottaa sarakkeen ยซ{0}ยป\n\nvoit palauttaa sarakkeet asetuksista', + "f_bigtxt": "tรคmรค tiedosto on {0} Mt kokoinen -- nรคytetรครคnkรถ silti tekstinรค?", + "f_bigtxt2": "nรคytetรครคnkรถ vain tiedoston loppu? tรคmรค myรถs mahdollistaa seuraamisen/tailing, nรคyttรคen uudet tekstirivit reaaliaikaisesti", + "fbd_more": '
    nรคytetรครคn {0} / {1} tiedostoa; nรคytรค {2} tai nรคytรค kaikki
    ', + "fbd_all": '
    nรคytetรครคn {0} / {1} tiedostoa; nรคytรค kaikki
    ', + "f_anota": "vain {0} / {1} kohdetta valittiin;\nvalitaksesi koko hakemiston, vieritรค ensin loppuun", + + "f_dls": 'nykyisen hakemiston tiedostolinkit on\nvaihdettu latauslinkeiksi', + + "f_partial": "Ladataksesi turvallisesti tiedoston joka on parhaillaan latautumassa, klikkaa tiedostoa jolla on sama nimi mutta ilman .PARTIAL pรครคtettรค. Paina PERUUTA tai Escape tehdรคksesi tรคmรคn.\n\nOK / Enter painaminen sivuuttaa tรคmรคn varoituksen ja jatkaa .PARTIAL vรคliaikaistiedoston lataamista, mikรค todennรคkรถisesti antaa sinulle vioittunutta dataa.", + + "ft_paste": "liitรค {0} kohdetta$NPikanรคppรคin: ctrl-V", + "fr_eperm": 'ei voida nimetรค uudelleen:\nsinulla ei ole โ€œmoveโ€-oikeutta tรคssรค hakemistossa', + "fd_eperm": 'ei voida poistaa:\nsinulla ei ole โ€œdeleteโ€ oikeutta tรคssรค hakemistossa', + "fc_eperm": 'ei voida leikata:\nsinulla ei ole โ€œmoveโ€ oikeutta tรคssรค hakemistossa', + "fp_eperm": 'ei voida liittรครค:\nsinulla ei ole โ€œwriteโ€ oikeutta tรคssรค hakemistossa', + "fr_emore": "valitse vรคhintรครคn yksi kohde uudelleennimettรคvรคksi", + "fd_emore": "valitse vรคhintรครคn yksi kohde poistettavaksi", + "fc_emore": "valitse vรคhintรครคn yksi kohde leikattavaksi", + "fcp_emore": "valitse vรคhintรครคn yksi kohde kopioitavaksi leikepรถydรคlle", + + "fs_sc": "jaa hakemisto jossa olet", + "fs_ss": "jaa valitut tiedostot", + "fs_just1d": "et voi valita useampaa kuin yhtรค,\ntai sekoittaa tiedostoja ja hakemistoja yhdessรค valinnassa", + "fs_abrt": "โŒ keskeytรค", + "fs_rand": "๐ŸŽฒ joku.nimi", + "fs_go": "โœ… luo share", + "fs_name": "nimi", + "fs_src": "lรคhde", + "fs_pwd": "salasana", + "fs_exp": "vanheneminen", + "fs_tmin": "min", + "fs_thrs": "tuntia", + "fs_tdays": "pรคivรครค", + "fs_never": "ikuinen", + "fs_pname": "valinnainen linkin nimi; on satunnainen jos tyhjรค", + "fs_tsrc": "jaettava tiedosto tai hakemisto", + "fs_ppwd": "valinnainen salasana", + "fs_w8": "luodaan sharea...", + "fs_ok": "paina Enter/OK lisรคtรคksesi leikepรถydรคlle\npaina ESC/Peruuta sulkeaksesi", + + "frt_dec": "saattaa korjata joitakin rikkinรคisiรค tiedostonimiรค\">url-decode", + "frt_rst": "palauta muokatut tiedostonimet takaisin alkuperรคisiksi\">โ†บ palauta", + "frt_abrt": "keskeytรค ja sulje tรคmรค ikkuna\">โŒ peruuta", + "frb_apply": "UUDELLEENNIMEร„", + "fr_adv": "erรค / liitรคnnรคistiedot / kaava uudelleennimeรคminen\">lisรคasetukset", + "fr_case": "isot ja pienet kirjaimet erottava regex\">kirjainkoko", + "fr_win": "windows-yhteensopivat nimet; korvaa <>:"\\|?* japanilaisilla leveillรค merkeillรค\">win", + "fr_slash": "korvaa / merkillรค joka ei aiheuta uusien hakemistoiden luomista\">ei /", + "fr_re": "regex hakukuvio jota kรคytetรครคn alkuperรคisiin tiedostonimiin; kaappausryhmiin voi viitata alla olevassa muotoilukentรคssรค kuten <code>(1)</code> ja <code>(2)</code> ja niin edelleen", + "fr_fmt": "foobar2000 innoittama:$N<code>(title)</code> korvataan kappaleen nimellรค,$N<code>[(artist) - ](title)</code> sivuuttaa [tรคmรคn] osan jos artisti on tyhjรค$N<code>$lpad((tn),2,0)</code> ", + "fr_pdel": "poista", + "fr_pnew": "tallenna nimellรค", + "fr_pname": "anna nimi uudelle esiasetuksellesi", + "fr_aborted": "keskeytetty", + "fr_lold": "vanha nimi", + "fr_lnew": "uusi nimi", + "fr_tags": "valittujen tiedostojen tagit (vain luku, viitetarkoituksiin):", + "fr_busy": "nimetรครคn uudelleen {0} kohdetta...\n\n{1}", + "fr_efail": "uudelleennimeรคminen epรคonnistui:\n", + "fr_nchg": "{0} uusista nimistรค muutettiin win ja/tai ei / vuoksi\n\nJatketaanko nรคillรค muutetuilla uusilla nimillรค?", + + "fd_ok": "poisto OK", + "fd_err": "poisto epรคonnistui:\n", + "fd_none": "mitรครคn ei poistettu; ehkรค palvelimen asetukset estivรคt (xbd)?", + "fd_busy": "poistetaan {0} kohdetta...\n\n{1}", + "fd_warn1": "POISTA nรคmรค {0} kohdetta?", + "fd_warn2": "Viimeinen varoitus! Haluatko varmasti poistaa?", + + "fc_ok": "siirettiin {0} kohdetta leikepรถydรคlle", + "fc_warn": 'siirettiin {0} kohdetta leikepรถydรคlle\n\nmutta: vain tรคmรค selain-vรคlilehti voi liittรครค ne\n(koska valinta on niin valtavan suuri)', + + "fcc_ok": "kopioitiin {0} kohdetta leikepรถydรคlle", + "fcc_warn": 'kopioitiin {0} kohdetta leikepรถydรคlle\n\nmutta: vain tรคmรค selain-vรคlilehti voi liittรครค ne\n(koska valinta on niin valtavan suuri)', + + "fp_apply": "kรคytรค nรคitรค nimiรค", + "fp_skip": "ohita ristiriidat", //m + "fp_ecut": "leikkaa tai kopioi ensin joitakin tiedostoja / hakemistoja liitettรคvรคksi / siirrettรคvรคksi\n\nhuom: voit leikata / liittรครค eri selain-vรคlilehtien vรคlillรค", + "fp_ename": "{0} kohdetta ei voida siirtรครค tรคnne koska nimet ovat jo kรคytรถssรค. Anna niille uudet nimet alla jatkaaksesi, tai tyhjennรค nimi (\"ohita ristiriidat\") ohittaaksesi ne:", //m + "fcp_ename": "{0} kohdetta ei voida kopioida tรคnne koska nimet ovat jo kรคytรถssรค. Anna niille uudet nimet alla jatkaaksesi, tai tyhjennรค nimi (\"ohita ristiriidat\") ohittaaksesi ne:", //m + "fp_emore": "tiedostonimien tรถrmรคyksiรค on vielรค korjaamatta", + "fp_ok": "siirto OK", + "fcp_ok": "kopiointi OK", + "fp_busy": "siirretรครคn {0} kohdetta...\n\n{1}", + "fcp_busy": "kopioidaan {0} kohdetta...\n\n{1}", + "fp_abrt": "keskeytetรครคn...", //m + "fp_err": "siirto epรคonnistui:\n", + "fcp_err": "kopiointi epรคonnistui:\n", + "fp_confirm": "siirrรค nรคmรค {0} kohdetta tรคnne?", + "fcp_confirm": "kopioi nรคmรค {0} kohdetta tรคnne?", + "fp_etab": 'leikepรถydรคn lukeminen toisesta selain-vรคlilehdestรค epรคonnistui', + "fp_name": "ladataan tiedostoa laitteeltasi. Anna sille nimi:", + "fp_both_m": '
    valitse mitรค liittรครค
    Enter = Siirrรค {0} tiedostoa kohteesta ยซ{1}ยป\nESC = Lataa {2} tiedostoa laitteeltasi', + "fcp_both_m": '
    valitse mitรค liittรครค
    Enter = Kopioi {0} tiedostoa kohteesta ยซ{1}ยป\nESC = Lataa {2} tiedostoa laitteeltasi', + "fp_both_b": 'SiirrรคLรคhetรค', + "fcp_both_b": 'KopioiLรคhetรค', + + "mk_noname": "kirjoita nimi vasemmalla olevaan tekstikenttรครคn ennen kuin teet tuon :p", + "nmd_i1": "voit myรถs lisรคtรค haluamasi tiedostopรครคtteen, esimerkiksi .md", //m + "nmd_i2": "voit luoda vain .md-tiedostoja, koska sinulla ei ole poistolupaa", //m + + "tv_load": "Ladataan tekstidokumenttia:\n\n{0}\n\n{1}% ({2} / {3} Mt ladattu)", + "tv_xe1": "tekstitiedoston lataaminen epรคonnistui:\n\nvirhe ", + "tv_xe2": "404, tiedostoa ei lรถydy", + "tv_lst": "tekstitiedostojen lista hakemistossa", + "tvt_close": "palaa hakemistonรคkymรครคn$NPikanรคppรคin: M (tai Esc)\">โŒ sulje", + "tvt_dl": "lataa tรคmรค tiedosto$NPikanรคppรคin: Y\">๐Ÿ’พ lataa", + "tvt_prev": "nรคytรค edellinen dokumentti$NPikanรคppรคin: i\">โฌ† edell", + "tvt_next": "nรคytรค seuraava dokumentti$NPikanรคppรคin: K\">โฌ‡ seur", + "tvt_sel": "valitse tiedosto   ( leikkausta / kopiointia / poistoa / ... varten )$NPikanรคppรคin: S\">val", + "tvt_j": "kaunista json$NPikanรคppรคin: shift-J\">j", //m + "tvt_edit": "avaa tiedosto tekstieditorissa$NPikanรคppรคin: E\">โœ๏ธ muokkaa", + "tvt_tail": "seuraa tiedoston muutoksia; nรคytรค uudet rivit reaaliaikaisesti\">๐Ÿ“ก seuraa", + "tvt_wrap": "rivitys\">โ†ต", + "tvt_atail": "lukitse vieritys sivun alaosaan\">โš“", + "tvt_ctail": "dekoodaa terminaalin vรคrit (ansi escape koodit)\">๐ŸŒˆ", + "tvt_ntail": "vieritysbufferin raja (kuinka monta tavua tekstiรค pidetรครคn ladattuna)", + + "m3u_add1": "kappale lisรคtty m3u soittolistaan", + "m3u_addn": "{0} kappaletta lisรคtty m3u soittolistaan", + "m3u_clip": "m3u soittolista nyt kopioitu leikepรถydรคlle\n\nsinun tulisi luoda uusi tekstitiedosto nimeltรค jotain.m3u ja liittรครค soittolista siihen dokumenttiin; tรคmรค tekee siitรค soitettavan", + + "gt_vau": "รคlรค nรคytรค videoita, toista vain รครคni\">๐ŸŽง", + "gt_msel": "aktivoi tiedostonvalintatila; ctrl-klikkaa ohittaaksesi valitsemisen vรคliaikaisesti$N$N<em>tuplaklikkaa tiedostoa / hakemistoa avataksesi sen</em>$N$NPikanรคppรคin: S\">valitsin", + "gt_crop": "rajaa pienoiskuvat keskeltรค\">rajaa", + "gt_3x": "korkearesoluutioiset pienoiskuvat\">3x", + "gt_zoom": "zoomaa", + "gt_chop": "pilko", + "gt_sort": "jรคrjestรค", + "gt_name": "nimi", + "gt_sz": "koko", + "gt_ts": "pรคivรคys", + "gt_ext": "tyyppi", + "gt_c1": "rajaa tiedostonimiรค enemmรคn (nรคytรค vรคhemmรคn)", + "gt_c2": "rajaa tiedostonimiรค vรคhemmรคn (nรคytรค enemmรคn)", + + "sm_w8": "haetaan...", + "sm_prev": "alla olevat hakutulokset ovat edellisestรค hausta:\n ", + "sl_close": "sulje hakutulokset", + "sl_hits": "nรคytetรครคn {0} osumaa", + "sl_moar": "lataa lisรครค", + + "s_sz": "koko", + "s_dt": "pรคivรคys", + "s_rd": "polku", + "s_fn": "nimi", + "s_ta": "tagit", + "s_ua": "ylรถs@", + "s_ad": "edist.", + "s_s1": "minimi Mt", + "s_s2": "maksimi Mt", + "s_d1": "min. iso8601", + "s_d2": "maks. iso8601", + "s_u1": "ladattu jรคlkeen", + "s_u2": "ja/tai ennen", + "s_r1": "polku sisรคltรครค   (vรคlilyรถnnillรค erotetuttuina)", + "s_f1": "nimi sisรคltรครค   (negatoi kรคyttรคmรคllรค -nope)", + "s_t1": "tagit sisรคltรครค   (^=alku, loppu=$)", + "s_a1": "tietyt metadatan ominaisuudet", + + "md_eshow": "ei voida renderoida ", + "md_off": "[๐Ÿ“œreadme] poistettu kรคytรถstรค [โš™๏ธ] -- dokumentti piilotettu", + + "badreply": "Palvelimen vastauksen jรคsentรคminen epรคonnistui.", + + "xhr403": "403: Pรครคsy kielletty\n\nkokeile painaa F5, ehkรค sinut kirjattiin ulos", + "xhr0": "tuntematon (todennรคkรถisesti yhteys palvelimeen katosi, tai palvelin on pois pรครคltรค)", + "cf_ok": "sori siitรค -- DD" + wah + "oS suojaus aktivoitui\n\nasioiden pitรคisi jatkua noin 30 sekunnissa\n\njos mitรครคn ei tapahdu, paina F5 ladataksesi sivun uudelleen", + "tl_xe1": "alihakemistojen listaaminen epรคonnistui:\n\nvirhe ", + "tl_xe2": "404: hakemistoa ei lรถydy", + "fl_xe1": "hakemiston tiedostojen listaaminen epรคonnistui:\n\nvirhe ", + "fl_xe2": "404: hakemistoa ei lรถydy", + "fd_xe1": "alihakemiston luominen epรคonnistui:\n\nvirhe ", + "fd_xe2": "404: Ylรคhakemistoa ei lรถydy", + "fsm_xe1": "viestin lรคhettรคminen epรคonnistui:\n\nvirhe ", + "fsm_xe2": "404: Ylรคhakemistoa ei lรถydy", + "fu_xe1": "unpost-listan lataaminen palvelimelta epรคonnistui:\n\nvirhe ", + "fu_xe2": "404: Tiedostoa ei lรถydy??", + + "fz_tar": "pakkaamaton gnu-tar tiedosto (linux / mac)", + "fz_pax": "pakkaamaton pax-formaatin tar (hitaampi)", + "fz_targz": "gnu-tar gzip tason 3 pakkauksella$N$Nyleensรค hyvin hidas, $Nkรคytรค pakkamatonta tar:ia tรคmรคn sijasta", + "fz_tarxz": "gnu-tar xz tason 1 pakkauksella$N$Nyleensรค hyvin hidas, $Nkรคytรค pakkamatonta tar:ia tรคmรคn sijasta", + "fz_zip8": "zip utf8-tiedostonimillรค (suattaapi olla epรคvakaa windows 7:ssa ja vanhemmissa)", + "fz_zipd": "zip perinteisillรค cp437 tiedostonimillรค esihistoriallisille ohjelmistoille", + "fz_zipc": "cp437, jossa crc32 laskettu aikaisin,$NMS-DOS PKZIP v2.04g:lle (lokakuu 1993)$N(kestรครค kauemmin kรคsitellรค ennen latauksen alkua)", + + "un_m1": "voit poistaa tuoreet tai keskeyttรครค keskenerรคiset latauksesi alta", + "un_upd": "pรคivitรค", + "un_m4": "tai jakaa alla nรคkyvรคt tiedostot:", + "un_ulist": "nรคytรค", + "un_ucopy": "kopioi", + "un_flt": "valinnainen suodatin:  URL:n tรคytyy sisรคltรครค", + "un_fclr": "tyhjennรค suodatin", + "un_derr": 'unpost-poisto epรคonnistui:\n', + "un_f5": 'jotain hajosi, kokeile pรคivitystรค tai paina F5', + "un_uf5": "pahoittelen mutta sinun tรคytyy pรคivittรครค sivu (esimerkiksi painamalla F5 tai CTRL-R) ennen kuin tรคmรค lataus voidaan keskeyttรครค", + "un_nou": 'huom! palvelin liian kiireinen nรคyttรครคkseen keskenerรคiset lataukset; klikkaa "pรคivitรค" linkkiรค hetken kuluttua', + "un_noc": 'huom! tรคysin ladattujen tiedostojen unpost ei ole kรคytรถssรค/sallittu palvelimen asetuksissa', + "un_max": "nรคytetรครคn ensimmรคiset 2000 tiedostoa (kรคytรค suodatinta)", + "un_avail": "{0} viimeaikaista latausta voidaan poistaa
    {1} keskenerรคistรค voidaan keskeyttรครค", + "un_m2": "jรคrjestetty latausajan mukaan; viimeisimmรคt ensin:", + "un_no1": "hupsis! yksikรครคn lataus ei ole riittรคvรคn tuore", + "un_no2": "hupsis! yksikรครคn tuota suodatinta vastaava lataus ei ole riittรคvรคn tuore", + "un_next": "poista seuraavat {0} tiedostoa alla", + "un_abrt": "keskeytรค", + "un_del": "poista", + "un_m3": "ladataan viimeaikana lรคhettรคmiรคsi tiedostoja...", + "un_busy": "poistetaan {0} tiedostoa...", + "un_clip": "{0} linkkiรค kopioitu leikepรถydรคlle", + + "u_https1": "sinun kannattaisi", + "u_https2": "vaihtaa https:รครคn", + "u_https3": "paremman suorituskyvyn vuoksi", + "u_ancient": 'selaimesi on ns. vaikuttavan ikivanha -- kannattais varmaan kรคyttรครค bup:ia tรคn sijaan', + "u_nowork": "tarvitaan firefox 53+ tai chrome 57+ tai iOS 11+", + "tail_2old": "tarvitaan firefox 105+ tai chrome 71+ tai iOS 14.5+", + "u_nodrop": 'selaimesi on liian vanha vedรค-ja-pudota lataamiseen', + "u_notdir": "tuo ei ole hakemisto!\n\nselaimesi on liian vanha,\nkokeile sen sijaan 'vedรค-pudota'-tekniikkaa.", + "u_uri": "'vedรค-pudottaaksesi' kuvia muista selainikkunoista,\npudota se isoon latausnapppiin", + "u_enpot": 'vaihda peruna UI:hin (voi parantaa latausnopeutta)', + "u_depot": 'vaihda ylelliseen UI:hin (voi vรคhentรครค latausnopeutta)', + "u_gotpot": 'vaihdetaan peruna UI:hin paremman latausnopeuden vuoksi,\n\ntee miten lystรครคt, jos ei kelpaa!', + "u_pott": "

    tiedostot:   {0} valmis,   {1} epรคonnistui,   {2} kiireinen,   {3} jonossa

    ", + "u_ever": "tรคmรค on peruslatain; up2k tarvitsee vรคhintรครคn
    chrome 21 // firefox 13 // edge 12 // opera 12 // safari 5.1", + "u_su2k": 'peruslatain; up2k on parempi', + "u_uput": 'optimoi latausnopeus (รคlรค laske tarkistussummia)', + "u_ewrite": 'sinulla ei ole move-oikeutta tรคhรคn hakemistoon', + "u_eread": 'sinulla ei ole read-oikeutta tรคhรคn hakemistoon', + "u_enoi": 'tiedostohaku ei ole kรคytรถssรค palvelimen asetuksissa', + "u_enoow": "ylikirjoitus ei toimi tรครคllรค; tarvitaan โ€œDeleteโ€-oikeus", + "u_badf": 'Nรคmรค {0} tiedostoa ({1} yhteensรค) ohitettiin, mahdollisesti tiedostojรคrjestelmรคn oikeuksien vuoksi:\n\n', + "u_blankf": 'Nรคmรค {0} tiedostoa ({1} yhteensรค) ovat tyhjiรค; ladataanko ne silti?\n\n', + "u_applef": 'Nรคmรค {0} tiedostoa ({1} yhteensรค) ovat todennรคkรถisesti ei-toivottuja;\nPaina OK/Enter OHITTAAKSESI seuraavat tiedostot,\nPaina Peruuta/ESC jos ET halua sulkea pois, ja LATAA nekin:\n\n', + "u_just1": '\nEhkรค toimii paremmin jos valitset vain yhden tiedoston', + "u_ff_many": "jos kรคytรคt Linux / MacOS / Android, niin tรคmรค mรครคrรค tiedostoja saattaa kaataa Firefoxin!\njos niin kรคy, kokeile uudelleen (tai kรคytรค Chromea).", + "u_up_life": "Tรคmรค lataus poistetaan palvelimelta\n{0} sen valmistumisen jรคlkeen", + "u_asku": 'lataa nรคmรค {0} tiedostoa kohteeseen {1}', + "u_unpt": "voit perua / poistaa tรคmรคn latauksen kรคyttรคmรคllรค vasemmalla ylhรครคllรค olevaa ๐Ÿงฏ", + "u_bigtab": 'nรคytetรครคn {0} tiedostoa\n\ntรคmรค voi kaataa selaimesi, oletko varma?', + "u_scan": 'Skannataan tiedostoja...', + "u_dirstuck": 'hakemistoiteraattori jumittui yrittรคessรครคn kรคyttรครค seuraavia {0} kohdetta; ohitetaan:', + "u_etadone": 'Valmis ({0}, {1} tiedostoa)', + "u_etaprep": '(valmistellaan latausta)', + "u_hashdone": 'hajautus valmis', + "u_hashing": 'hajautus', + "u_hs": 'kรคtellรครคn...', + "u_started": "tiedostoja ladataan nyt; tsekkaa [๐Ÿš€]", + "u_dupdefer": "duplikaatti; kรคsitellรครคn kaikkien muiden tiedostojen jรคlkeen", + "u_actx": "klikkaa tรคtรค tekstiรค estรครคksesi suorituskyvyn
    heikkenemisen vaihtaessasi muihin ikkunoihin/vรคlilehtiin", + "u_fixed": "OK!  Hommat hoidossa ๐Ÿ‘", + "u_cuerr": "chunk {0} / {1} lataus epรคonnistui;\ntuskin haittaa, jatketaan\n\ntiedosto: {2}", + "u_cuerr2": "palvelin hylkรคsi latauksen (chunk {0} / {1});\nyritetรครคn myรถhemmin uudelleen\n\ntiedosto: {2}\n\nvirhe ", + "u_ehstmp": "yritetรครคn uudelleen; katso oikealta alhaalta", + "u_ehsfin": "palvelin hylkรคsi pyynnรถn viimeistellรค lataus; yritetรครคn uudelleen...", + "u_ehssrch": "palvelin hylkรคsi pyynnรถn suorittaa haku; yritetรครคn uudelleen...", + "u_ehsinit": "palvelin hylkรคsi pyynnรถn aloittaa lataus; yritetรครคn uudelleen...", + "u_eneths": "verkkovirhe latauksen kรคttelyssรค; yritetรครคn uudelleen...", + "u_enethd": "verkkovirhe kohteen olemassaolon testauksessa; yritetรครคn uudelleen...", + "u_cbusy": "odotetaan palvelimen luottavan meihin taas verkko-ongelman jรคlkeen...", + "u_ehsdf": "palvelimen levytila loppui!\n\nyritetรครคn jatkuvasti, siinรค tapauksessa ettรค joku\nvapauttaa tarpeeksi tilaa jatkamiseen", + "u_emtleak1": "nรคyttรครค siltรค ettรค selaimessasi saattaa olla muistivuoto;\nole hyvรค ja", + "u_emtleak2": ' vaihda https:รครคn (suositeltu) tai ', + "u_emtleak3": ' ', + "u_emtleakc": 'kokeile seuraavaa:\n
    • paina F5 pรคivittรครคksesi sivun
    • sitten poista kรคytรถstรค  mt  nappi  โš™๏ธ asetuksissa
    • ja kokeile latausta uudelleen
    Lataukset ovat hieman hitaampia, minkรคs teet.\nSori siitรค!\n\nPS: chrome v107 sisรคltรครค bugfixin tรคtรค varten', + "u_emtleakf": 'kokeile seuraavaa:\n
    • paina F5 pรคivittรครคksesi sivun
    • sitten ota kรคyttรถรถn ๐Ÿฅ” (peruna) lataus UI:ssa
    • ja kokeile latausta uudelleen
    \nPS: firefox toivottavasti saa kerรคttyรค itsensรค kasaan jossain vaiheessa', + "u_s404": "ei lรถydy palvelimelta", + "u_expl": "selitรค", + "u_maxconn": "useimmat selaimet rajoittavat tรคmรคn 6:een, mutta firefox antaa nostaa sitรค connections-per-server asetuksella about:config:issa", + "u_tu": '

    VAROITUS: turbo pรครคllรค,  asiakasohjelma ei vรคlttรคmรคttรค huomaa jatkaa keskenerรคisiรค latauksia; katso turbo-napin vihje

    ', + "u_ts": '

    VAROITUS: turbo pรครคllรค,  hakutulokset voivat olla vรครคriรค; katso turbo-napin vihje

    ', + "u_turbo_c": "turbo on poistettu kรคytรถstรค palvelimen asetuksissa", + "u_turbo_g": "poistetaan turbo kรคytรถstรค koska sinulla ei ole\nhakemistolistausoikeuksia tรคssรค asemassa", + "u_life_cfg": 'automaattinen poisto min kuluttua (tai tuntia)', + "u_life_est": 'lataus poistetaan ---', + "u_life_max": 'tรคmรค hakemisto pakottaa\nmaksimi elinajan {0}', + "u_unp_ok": 'unpost on sallittu {0}', + "u_unp_ng": 'unpost EI ole sallittu', + "ue_ro": 'sinulla on vain read-oikeus tรคhรคn hakemistoon\n\n', + "ue_nl": 'et ole tรคllรค hetkellรค kirjautunut sisรครคn', + "ue_la": 'olet tรคllรค hetkellรค kirjautunut sisรครคn nimellรค "{0}"', + "ue_sr": 'olet tรคllรค hetkellรค tiedostohaku-tilassa\n\nvaihda lataus-tilaan klikkaamalla suurennuslasia ๐Ÿ”Ž (suuren HAKU napin vieressรค), ja yritรค latausta uudelleen\n\npahoittelen', + "ue_ta": 'yritรค latausta uudelleen, sen pitรคisi toimia nyt', + "ue_ab": "tรคtรค tiedostoa ladataan jo toiseen hakemistoon, ja se lataus tรคytyy suorittaa loppuun ennen kuin tiedostoa voidaan ladata muualle.\n\nVoit keskeyttรครค ja unohtaa alkuperรคisen latauksen kรคyttรคmรคllรค vasemmalla ylhรครคllรค olevaa ๐Ÿงฏ", + "ur_1uo": "OK: Tiedosto ladattu onnistuneesti", + "ur_auo": "OK: Kaikki {0} tiedostoa ladattu onnistuneesti", + "ur_1so": "OK: Tiedosto lรถytyi palvelimelta", + "ur_aso": "OK: Kaikki {0} tiedostoa lรถytyi palvelimelta", + "ur_1un": "Lataus epรคonnistui, pahoittelen", + "ur_aun": "Kaikki {0} latausta epรคonnistui, pahoittelen", + "ur_1sn": "Tiedostoa EI lรถytynyt palvelimelta", + "ur_asn": "{0} tiedostoa EI lรถytynyt palvelimelta", + "ur_um": "Valmis;\n{0} latausta OK,\n{1} latausta epรคonnistui, pahoittelen", + "ur_sm": "Valmis;\n{0} tiedostoa lรถytyi palvelimelta,\n{1} tiedostoa EI lรถytynyt palvelimelta", + + "rc_opn": "avaa", //m + "rc_ply": "toista", //m + "rc_pla": "toista รครคnenรค", //m + "rc_txt": "avaa tiedostoselaimessa", //m + "rc_md": "avaa tekstieditorissa", //m + "rc_dl": "Lataa", //m + "rc_zip": "Lataa arkistona", //m + "rc_del": "poista", //m + "rc_cut": "Leikkaa", //m + "rc_cpy": "kopioi", //m + "rc_pst": "Liitรค", //m + "rc_nfo": "uusi kansio", //m + "rc_nfi": "uusi tiedosto", //m + "rc_sal": "valitse kaikki", //m + "rc_sin": "kรครคnnรค valinta", //m + + "lang_set": "ladataanko sivu uudestaan kielen vaihtamiseksi?", + + "splash": { + "a1": "pรคivitรค", + "b1": "hei sie muukalainen   (et ole kirjautunut sisรครคn)", + "c1": "kirjaudu ulos", + "d1": "tulosta pinojรคlki", + "d2": "nรคytรค kaikkien aktiivisten sรคikeiden tila", + "e1": "pรคivitรค konffit", + "e2": "lataa konfiguraatiotiedostot uudelleen (kรคyttรคjรคtilit/asemat/asemaflagit),$Nja skannaa kaikki e2ds asemat uudelleen$N$Nhuom: kaikki global-asetuksiin$Ntehdyt muutokset vaativat tรคyden$Nuudelleenkรคynnistyksen", + "f1": "voit selata nรคitรค:", + "g1": "voit ladata nรคihin:", + "cc1": "muuta:", + "h1": "poista k304 kรคytรถstรค", + "i1": "ota k304 kรคyttรถรถn", + "j1": "k304 katkaisee yhteytesi jokaisella HTTP 304:llรค, mikรค voi estรครค joitain bugisia vรคlityspalvelimia jumittumasta/lopettamasta sivujen lataamista, mutta se myรถs vรคhentรครค suorituskykyรค", + "k1": "nollaa asetukset", + "l1": "kirjaudu sisรครคn:", + "ls3": "kirjaudu sisรครคn", //m + "lu4": "kรคyttรคjรคtunnus", //m + "lp4": "salasana", //m + "lo3": "kirjaa โ€œ{0}โ€ ulos kaikkialta", //m + "lo2": "tรคmรค lopettaa istunnon kaikissa selaimissa", //m + "m1": "tervetuloa takaisin,", + "n1": "404: ei lรถytynyt mitรครคn  โ”( ยด -`)โ”Œ", + "o1": 'tai ehkรค sinulla ei vain ole kรคyttรถoikeuksia? kokeile salasanaa tai mene kotiin', + "p1": "403: pรครคsy kielletty  ~โ”ปโ”โ”ป", + "q1": 'kokeile salasanaa tai mene kotiin', + "r1": "mene kotiin", + ".s1": "uudelleenkartoita", + "t1": "toiminto", + "u2": "aika viimeisestรค palvelimen kirjoituksesta$N( lataus / uudelleennimeรคminen / tms. )$N$N17d = 17 pรคivรครค$N1h23 = 1 tunti 23 minuuttia$N4m56 = 4 minuuttia 56 sekuntia", + "v1": "yhdistรค", + "v2": "kรคytรค tรคtรค palvelinta paikallisena kiintolevynรค", + "w1": "vaihda https:รครคn", + "x1": "vaihda salasana", + "y1": "muokkaa jakoja", + "z1": "avaa tรคmรค jako:", + "ta1": "tรคytรค ensin uusi salasana", + "ta2": "toista vahvistaaksesi uuden salasanan:", + "ta3": "lรถytyi kirjoitusvirhe; yritรค uudelleen", + "nop": "VIRHE: Salasana ei voi olla tyhjรค", //m + "nou": "VIRHE: Kรคyttรคjรคnimi ja/tai salasana ei voi olla tyhjรค", //m + "aa1": "saapuvat:", + "ab1": "poista no304 kรคytรถstรค", + "ac1": "ota no304 kรคyttรถรถn", + "ad1": "no304:n lopettaa vรคlimuistin kรคytรถn kokonaan; kokeile tรคtรค jos k304 ei riittรคnyt. Tuhlaa valtavan mรครคrรคn verkkoliikennettรค!", + "ae1": "lรคhtevรคt:", + "af1": "nรคytรค viimeaikaiset lataukset", + "ag1": "nรคytรค tunnetut IdP-kรคyttรคjรคt", + } +}; diff --git a/copyparty/web/tl/fra.js b/copyparty/web/tl/fra.js new file mode 100644 index 00000000..b1ae2814 --- /dev/null +++ b/copyparty/web/tl/fra.js @@ -0,0 +1,710 @@ + +// Les lignes se terminant par //m sont des traductions automatiques non vรฉrifiรฉes + +Ls.fra = { + "tt": "franรงais", + + "cols": { + "c": "bouton d'action", + "dur": "durรฉe", + "q": "qualitรฉ / dรฉbit binaire", + "Ac": "codec audio", + "Vc": "codec vidรฉo", + "Fmt": "format / conteneur", + "Ahash": "somme de contrรดle audio", + "Vhash": "somme de contrรดle vidรฉo", + "Res": "rรฉsolution", + "T": "type de fichier", + "aq": "qualitรฉ audio / dรฉbit binaire", + "vq": "qualitรฉ vidรฉo / dรฉbit binaire", + "pixfmt": "sous-รฉchantillonnage / structure de pixel", + "resw": "rรฉsolution horizontale", + "resh": "rรฉsolution verticale", + "chs": "canaux audio", + "hz": "frรฉquence", + }, + + "hks": [ + [ + "misc", + ["ร‰chap", "ferme divers menus"], + + "gestionaire de fichiers", + ["G", "activer vue en liste / vue en grille"], + ["T", "activer les miniatures / icรดnes"], + ["โ‡ง A/D", "taille des miniatures"], + ["ctrl-K", "suprimer la sรฉlection"], + ["ctrl-X", "couper la sรฉlection au presse-papier"], + ["ctrl-C", "copier la sรฉlection au presse-papier"], + ["ctrl-V", "coller (dรฉplacer/copier) ici"], + ["Y", "tรฉlรฉcharger la sรฉlection"], + ["F2", "renomer la sรฉlection"], + + "file-list-sel", + ["Espace", "activer la sรฉlection de fichiers"], + ["โ†‘/โ†“", "dรฉplacer le selecteur"], + ["ctrl โ†‘/โ†“", "dรฉplacer le curseur et la zone d'affichage"], + ["โ‡ง โ†‘/โ†“", "sรฉlectioner le fichier prรฉcรฉdent/suivant"], + ["ctrl-A", "sรฉlectionner tout les fichiers / dossiers"], + ], [ + "navigation", + ["B", "basculer la vue en fil d'Ariane / panneau de navigation"], + ["I/K", "dossier prรฉcรฉdent/suivant"], + ["M", "dossier parent (ou rรฉduire le dossier actuel)"], + ["V", "activer les dossiers / fichiers texte dans le volet de navigation"], + ["A/D", "taille du volet de navigation"], + ], [ + "lecteur-audio", + ["J/L", "chanson prรฉcรฉdente/suivante"], + ["U/O", "sauter 10s en arriรจre/avant"], + ["0..9", "sauter ร  0%..90%"], + ["P", "lecture/pause (dรฉmarre รฉgalement la lecture)"], + ["S", "sรฉlectionner la chanson en cours"], + ["Y", "tรฉlรฉcharger le morceau"], + ], [ + "visionneuse d'image", + ["J/L, โ†/โ†’", "image prรฉcรฉdente/suivante"], + ["Dรฉbut/Fin, โญฆ/Fin", "premiรจre/derniรจre image"], + ["F", "plein รฉcran"], + ["R", "rotation horaire"], + ["โ‡ง R", "rotation antihoraire"], + ["S", "sรฉlectionner l'image"], + ["Y", "tรฉlรฉcharger l'image"], + ], [ + "lecteur vidรฉo", + ["U/O", "sauter 10s en arriรจre/avant"], + ["P/K/Espace", "lecture/pause"], + ["C", "continuer de lire la suivante"], + ["V", "lire en boucle"], + ["M", "couper le son"], + ["[ and ]", "dรฉfinir l'intervalle de boucle"], + ], [ + "visionneuse de texte", + ["I/K", "fichier prรฉcรฉdent/suivant"], + ["M", "fermer le fichier texte"], + ["E", "modifier le fichier texte"], + ["S", "sรฉlectioner le fichier (pour le couper/copier/renommer)"], + ["Y", "tรฉlรฉcharger le fichier texte"], //m + ["โ‡ง J", "embellir json"], //m + ] + ], + + "m_ok": "OK", + "m_ng": "Annuler", + + "enable": "Activer", + "danger": "DANGER", + "clipped": "copiรฉ dans le presse-papier", + + "ht_s1": "seconde", + "ht_s2": "secondes", + "ht_m1": "minute", + "ht_m2": "minutes", + "ht_h1": "heure", + "ht_h2": "heures", + "ht_d1": "jour", + "ht_d2": "jours", + "ht_and": " et ", + + "goh": "panneau-de-commande", + "gop": 'รฉlรฉment "frรจre" prรฉcรฉdent">prรฉcรฉdent', + "gou": 'dossier parent">haut', + "gon": 'dossier suivant">suivant', + "logout": "Dรฉconnexion ", + "login": "Se connecter", //m + "access": " accรจs", + "ot_close": "fermer le sous-menu", + "ot_search": "chercher des fichiers par leurs attributs, chemin / nom, tag musicaux, ou nimporte quelle combinaison de ces options$N$N<code>foo bar</code> = doit contenir ร  la fois ยซfooยป et ยซbarยป,$N<code>foo -bar</code> = doit contenir ยซfooยป mais pas ยซbarยป,$N<code>^yana .opus$</code> = commence par ยซyanaยป et est un fichier ยซopusยป$N<code>"try unite"</code> = contient exactement ยซtry uniteยป$N$Nle format de date est iso-8601, comme$N<code>2009-12-31</code> ou <code>2020-09-12 23:30:00</code>", + "ot_unpost": "unpost: supprimer vos tรฉlรฉchargements rรฉcents, ou annuler ceux en cours", + "ot_bup": "bup: tรฉlรฉverseur de base, prend mรชme en charge netscape 4.0", + "ot_mkdir": "mkdir: crรฉer un nouveau rรฉpertoire", + "ot_md": "new-file: crรฉer un nouveau fichier texte", //m + "ot_msg": "msg: envoyer un message au journal du serveur", + "ot_mp": "options du lecteur multimedia", + "ot_cfg": "options de configuration", + "ot_u2i": 'up2k : tรฉlรฉverser des fichiers (si vous avez un accรจs en รฉcriture) ou basculer en mode recherche pour voir s\'ils existent quelque part sur le serveur$N$Nles tรฉlรฉversements peuvent รชtre repris, ils sont multithreadรฉ, et les horodatages des fichiers sont prรฉservรฉs, mais cela utilise plus de CPU que [๐ŸŽˆ]  (le tรฉlรฉverseur de base)

    pendant les tรฉlรฉversements, cette icรดne devient un indicateur de progression!', + "ot_u2w": 'up2k : tรฉlรฉverser des fichiers avec prise en charge de la reprise (fermez votre navigateur et dรฉposez les mรชmes fichiers plus tard)$N$multithreadรฉ, et les horodatages des fichiers sont prรฉservรฉs, mais cela utilise plus de CPU que [๐ŸŽˆ]  (le tรฉlรฉverseur de base)

    pendant les tรฉlรฉversements, cette icรดne devient un indicateur de progression!', + "ot_noie": 'Utilisez Chrome / Firefox / Edge', + + "ab_mkdir": "crรฉer un nouveau rรฉpertoire", + "ab_mkdoc": "nouveau fichier texte", //m + "ab_msg": "envoyer un message au journal du serveur", + + "ay_path": "passer aux dossiers", + "ay_files": "passer aux fichiers", + + "wt_ren": "renommer les รฉlรฉments sรฉlectionnรฉs$NHotkey: F2", + "wt_del": "supprimer les รฉlรฉments sรฉlectionnรฉs$NHotkey: ctrl-K", + "wt_cut": "couper les รฉlรฉments sรฉlectionnรฉs <small>(puis coller ailleurs)</small>$NHotkey: ctrl-X", + "wt_cpy": "copier les รฉlรฉments sรฉlectionnรฉs dans le presse-papiers$N(pour les coller ailleurs)$NHotkey: ctrl-C", + "wt_pst": "coller une sรฉlection prรฉcรฉdemment coupรฉe / copiรฉe$NHotkey: ctrl-V", + "wt_selall": "sรฉlectionner tous les fichiers$NHotkey: ctrl-A (lorsque le fichier est sรฉlectionnรฉ)", + "wt_selinv": "inverser la sรฉlection", + "wt_zip1": "tรฉlรฉcharger ce dossier en tant qu'archive", + "wt_selzip": "tรฉlรฉcharger la sรฉlection en tant qu'archive", + "wt_seldl": "tรฉlรฉcharger la sรฉlection en tant que fichiers sรฉparรฉs$NHotkey: Y", + "wt_npirc": "copier les informations de la musique au format irc", + "wt_nptxt": "copier les informations de la musique en texte brut", + "wt_m3ua": "ajouter ร  la playlist m3u (cliquez sur ๐Ÿ“ปcopier plus tard)", + "wt_m3uc": "copier la playlist m3u dans le presse-papiers", + "wt_grid": "basculer entre la vue en grille / liste$NHotkey: G", + "wt_prev": "musique prรฉcรฉdente$NHotkey: J", + "wt_play": "lecture / pause$NHotkey: P", + "wt_next": "musique suivante$NHotkey: L", + + "ul_par": "tรฉlรฉversements parallรจles:", + "ut_rand": "attribution de noms de fichiers alรฉatoires", + "ut_u2ts": "copier l'horodatage de derniรจre modification$Nde votre systรจme de fichiers vers le serveur\">๐Ÿ“…", + "ut_ow": "รฉcraser les fichiers existants sur le serveur?$N๐Ÿ›ก๏ธ: jamais (gรฉnรฉrera un nouveau nom de fichier ร  la place)$N๐Ÿ•’: รฉcraser si le fichier sur le serveur est plus ancien que le vรดtre$Nโ™ป๏ธ: toujours รฉcraser si les fichiers sont diffรฉrents$Nโญ๏ธ: ignorer systรฉmatiquement tous les fichiers existants", //m + "ut_mt": "continuer ร  calculer la somme de contrรดle d'autres fichiers pendant le tรฉlรฉversement$N$Npeut-รชtre dรฉsactiver si votre CPU ou HDD est la cause de perte de performances", + "ut_ask": 'demander confirmation avant le dรฉbut du tรฉlรฉversement">๐Ÿ’ญ', + "ut_pot": "amรฉliorer la vitesse de tรฉlรฉversement sur les appareils lents$Nen simplifiant l'interface utilisateur", + "ut_srch": "ne pas rรฉellement tรฉlรฉverser, mais vรฉrifier si les fichiers existent dรฉjร $N sur le serveur (scannera tous les dossiers que vous pouvez lire)", + "ut_par": "mettre en pause les tรฉlรฉversements en le rรฉglant sur 0$N$Naugmenter si votre connexion est lente / ร  forte latence$N$Nle garder ร  1 sur le LAN ou si le HDD du serveur est un goulot d'รฉtranglement", + "ul_btn": "dรฉposer des fichiers / dossiers
    ici (ou cliquez sur moi)", + "ul_btnu": "T ร‰ L ร‰ V E R S E R", + "ul_btns": "C H E R C H E R", + + "ul_hash": "somme de contrรดle", + "ul_send": "envoyer", + "ul_done": "terminรฉ", + "ul_idle1": "aucun tรฉlรฉversement n'est encore dans la file d'attente", + "ut_etah": "moyenne <em>hashing</em> vitesse, et temps estimรฉ jusqu'ร  la fin", + "ut_etau": "moyenne <em>upload</em> vitesse et temps estimรฉ jusqu'ร  la fin", + "ut_etat": "moyenne <em>total</em> vitesse et temps estimรฉ jusqu'ร  la fin", + + "uct_ok": "terminรฉ avec succรจs", + "uct_ng": "non rรฉussi : รฉchouรฉ / rejetรฉ / non trouvรฉ", + "uct_done": "terminรฉs et รฉchouรฉ combinรฉs", + "uct_bz": "hachage ou tรฉlรฉversement", + "uct_q": "inactif, en attente", + + "utl_name": "nom de fichier", + "utl_ulist": "liste", + "utl_ucopy": "copie", + "utl_links": "liens", + "utl_stat": "รฉtat", + "utl_prog": "progrรจs", + + // keep short: + "utl_404": "404", + "utl_err": "ERREUR", + "utl_oserr": "OS-ERREUR", + "utl_found": "trouvรฉ", + "utl_defer": "รฉtat", + "utl_yolo": "YOLO", + "utl_done": "terminรฉ", + + "ul_flagblk": "les fichiers ont รฉtรฉ ajoutรฉs ร  la file d'attente
    cependant, il y a un processus up2k actif dans un autre onglet du navigateur,
    en attente qu'il finisse d'abord", + "ul_btnlk": "la configuration du serveur a verrouillรฉ cette options dans cet รฉtat", + + "udt_up": "Tรฉlรฉverser", + "udt_srch": "Chercher", + "udt_drop": "dรฉposer ici", + + "u_nav_m": '
    aight, ques-que tu ร  ?
    Enter = Fichiers (un ou plus)\nESC = Un dossier (sous-dossiers inclus)', + "u_nav_b": 'FichiersUn dossier', + + "cl_opts": "options", + "cl_hfsz": "taille du fichier", //m + "cl_themes": "thรจme", + "cl_langs": "langue", + "cl_ziptype": "tรฉlรฉchargement de dossier", + "cl_uopts": "up2k", + "cl_favico": "favicon", + "cl_bigdir": "gros dossiers", + "cl_hsort": "#sort", + "cl_keytype": "notation des touches", + "cl_hiddenc": "colonnes masquรฉes", + "cl_hidec": "masquer", + "cl_reset": "rรฉinitialiser", + "cl_hpick": "cliquez sur les en-tรชtes de colonnes pour les masquer dans le tableau ci-dessous", + "cl_hcancel": "masquage des colonnes annulรฉ", + "cl_rcm": "menu contextuel", //m + + "ct_grid": '็”ฐ grille', + "ct_ttips": 'โ—” โ—ก โ—”">โ„น๏ธ infobulles', + "ct_thumb": 'vue en grille, activer les icรดnes ou les miniatures$NHotkey: T">๐Ÿ–ผ๏ธ minia', + "ct_csel": 'utiliser CTRL et MAJ pour selectioner des fichiers en vue en grille">sel', + "ct_dl": 'forcer le tรฉlรฉchargement (ne pas afficher en ligne) lorsquโ€™un fichier est cliquรฉ">dl', //m + "ct_ihop": 'quand le visionneuse d\'image est fermรฉ, faire defiller vers le bas jusqu\'au dernier fichier">gโฎฏ', + "ct_dots": 'voir les fichiers cachรฉ (si le serveur le permet)">dotfiles', + "ct_qdel": 'ne demander qu\'une confirmation lors de la suppression de fichiers>qdel', + "ct_dir1st": 'trier les dossiers avant les fichiers">๐Ÿ“ first', + "ct_nsort": 'triage par numรฉrotation (pour les nom de fichiers qui sont numรฉrotรฉs)">nsort', + "ct_utc": 'voir tout les horodatage en format UTC">UTC', + "ct_readme": 'voir le fichier README.md dans le listage des dossiers">๐Ÿ“œ readme', + "ct_idxh": 'voir une version html (index.html) au-lieu du listage des dossiers normal">htm', + "ct_sbars": 'montrer la barre de defilement">โŸŠ', + + "cut_umod": "si un fichier existe dรฉjร  sur le server, mettre ร  jour l'horodatage de derniรจre modification du serveur pour qu'il corresponde ร  votre fichier local (nรฉcessite des autorisations d'รฉcriture et de suppression)\">re๐Ÿ“…", + + "cut_turbo": "le bouton yolo, vous ne voulez probablement PAS activer ceci:$N$Nutilisez ceci si vous tรฉlรฉchargez une grande quantitรฉ de fichiers et que vous devez redรฉmarrer pour une raison quelconque, et que vous souhaitez continuer le tรฉlรฉchargement dรจs que possible$N$Ncela remplace la vรฉrification de hachage par une simple "est-ce que cela a la mรชme taille de fichier sur le serveur?" donc si le contenu du fichier est diffรฉrent, il ne sera PAS tรฉlรฉchargรฉ$N$Nvous devriez dรฉsactiver cela lorsque le tรฉlรฉchargement est terminรฉ, puis "tรฉlรฉcharger" les mรชmes fichiers ร  nouveau pour laisser le client les vรฉrifier\">turbo", + + "cut_datechk": "n'a aucun effet ร  moins que le bouton turbo ne soit activรฉ$N$Nrรฉduit le facteur yolo d'un tout petit peu ; vรฉrifie si les horodatages des fichiers sur le serveur correspondent aux vรดtres$N$Ndevrait thรฉoriquement attraper la plupart des tรฉlรฉchargements inachevรฉs / corrompus, mais n'est pas un substitut ร  un passage de vรฉrification avec turbo dรฉsactivรฉ par la suite\">date-chk", + + "cut_u2sz": "taille (en MiB) de chaque morceau de tรฉlรฉversement; des grosse valeurs vont mieux passer si la distance entre le serveur et vous est trรฉs grande. Si vous avez une connection trรฉs instable, essayer de plus petites valeurs", + + "cut_flag": "s'assurer qu'un seul onglet est entrain de mettre un fichier en ligne a la fois $N -- les autres onglets doivent avoir cette option activรฉ aussi $N -- affecte seulement les onglets qui sont sur le mรชme domaine", + + "cut_az": "mettre en ligne les fichiers dans l'ordre alphabรฉtique, plutรดt que le plus petit fichier en premier$N$Nl'ordre alphabรฉtique peut rendre la lecture plus douce sur pour les yeux si quelque chose s'est mal passรฉ sur le serveur, mais cela rend le tรฉlรฉversement lรฉgรจrement plus lent sur fibre / LAN", + + "cut_nag": "recevoir une notification via l'OS quand un tรฉlรฉversement finit$N(seulement si le navigateur ou l'onglet n'est pas actif)", + "cut_sfx": "alerte audible quand le tรฉlรฉversement finit$N(seulement si le navigateur ou l'onglet n'est pas actif)", + + "cut_mt": "utiliser le calcul de somme de contrรดle multithreadรฉ pour accelerer le processus$N$Ncela utilise des web-workers et nรฉcessite$Nplus de RAM (jusqu'ร  512 MiB supplรฉmentaires)$N$NCela rend https 30% plus rapide, http 4.5x plus rapide\">mt", + + "cut_wasm": "utiliser wasm au lieu du hachage intรฉgrรฉ du navigateur; amรฉliore la vitesse sur les navigateurs basรฉs sur chrome mais augmente la charge CPU, et de nombreuses anciennes versions de chrome ont des bugs qui font que le navigateur consomme toute la RAM et plante si cela est activรฉ\">wasm", + + "cft_text": "text favicon (laisser vide et rafraรฎchir pour dรฉsactiver)", + "cft_fg": "couleur de premier plan", + "cft_bg": "couleur d'arriรจre-plan", + + "cdt_lim": "nombre maximum de fichiers ร  afficher dans un dossier", + "cdt_ask": "lorsque vous faites dรฉfiler vers le bas,$Nau lieu de charger plus de fichiers,$Ndemander quoi faire", + "cdt_hsort": "combien de rรจgles de tri (<code>,sorthref</code>) ร  inclure dans les media-URLs. Dรฉfinir cette valeur ร  0 ignorera รฉgalement les rรจgles de tri incluses dans les liens mรฉdia lorsque vous cliquez dessus.", + "cdt_ren": "activer le menu contextuel personnalisรฉ, le menu normal reste accessible avec shift + clic droit", //m + + "tt_entree": "afficher le panneau de navigation (arborescence des dossiers)$NHotkey: B", + "tt_detree": "afficher le fil dโ€™Ariane$NHotkey: B", + "tt_visdir": "faire dรฉfiler jusqu'au dossier sรฉlectionnรฉ", + "tt_ftree": "basculer l'arborescence des dossiers / fichiers texte$NHotkey: V", + "tt_pdock": "afficher les dossiers parents dans un panneau ancrรฉ en haut", + "tt_dynt": "croissance automatique ร  mesure que l'arborescence s'รฉtend", + "tt_wrap": "retour ร  la ligne", + "tt_hover": "rรฉvรฉler les lignes dรฉbordantes au survol$N( interrompt le dรฉfilement ร  moins que le curseur de la souris ne soit dans la gouttiรจre gauche )", + + "ml_pmode": "ร  la fin du dossierโ€ฆ", + "ml_btns": "cmds", + "ml_tcode": "transcoder", + "ml_tcode2": "transcoder vers", + "ml_tint": "teinte", + "ml_eq": "รฉgaliseur audio", + "ml_drc": "compresseur de plage dynamique", + + "mt_loop": "rรฉpรฉter en boucle une musique\">๐Ÿ”", + "mt_one": "stopper aprรจs une musique\">1๏ธโƒฃ", + "mt_shuf": "mรฉlanger les musiques dans chaque dossiers\">๐Ÿ”€", + "mt_aplay": "jouer automatiquement si le lien utilisรฉ pour accรฉder au serveur a un song-ID $N$N, dรฉsactiver cela arrรชtera รฉgalement la mise ร  jour de l'URL de la page avec les song-IDs lors de la lecture de la musique, pour รฉviter la lecture automatique si ces paramรจtres sont perdus mais que l'URL reste\">aโ–ถ", + "mt_preload": "commencer ร  charger la prochaine chanson prรจs de la fin pour une lecture sans interruption\">preload", + "mt_prescan": "explorer le dossier suivant avant la derniรจre musique$Nne finisse, pour garder le navigateur content$Npour qu'il n'arrรชte pas la lecture\">nav", + "mt_fullpre": "essayer de prรฉ-charger la musique entiรจre;$Nโœ… activer en cas de connection instable,$NโŒ dรฉsactiver en revanche sur une connection lente va probablement รชtre mieux\">full", + "mt_fau": "sur tรฉlรฉphone, empรชche la musique de s'arrรชter de jouer si la prochaine n'est pas prรฉ-chargรฉe assez rapidement (peut rendre l'affichage des tags buggรฉ)\">โ˜•๏ธ", + "mt_waves": "barre de progression en spectrograme:$Nmontrer l'amplitude audio dans la miniature\">~s", + "mt_npclip": "montrer les boutons pour copier le morceau en cours de lecture\">/np", + "mt_m3u_c": "montrer les boutons pour copier les$morceaux sรฉlectionnรฉes en tant qu'entrรฉes de playlist m3u8\">๐Ÿ“ป", + "mt_octl": "intรฉgration os (touches de raccourci multimรฉdia / osd)\">os-ctl", + "mt_oseek": "permettre la recherche via l'intรฉgration os$N$Nremarque : sur certains appareils (iPhones),$Ncela remplace le bouton de la chanson suivante\">seek", + "mt_oscv": "montrer la couverture de l'album dans l'osd\">art", + "mt_follow": "garder la piste en cours dรฉfilรฉe dans la vue\">๐ŸŽฏ", + "mt_compact": "contrรดles compacts\">โŸŽ", + "mt_uncache": "effacer le cache  (essayez ceci si votre navigateur a mis en cache$Nun copie dรฉfectueuse d'une chanson, ce qui empรชche sa lecture)\">uncache", + "mt_mloop": "lire en boucle le dossier ouvert\">๐Ÿ” loop", + "mt_mnext": "charger le dossier suivant et continuer\">๐Ÿ“‚ next", + "mt_mstop": "arrรชter la lecture\">โธ stop", + "mt_cflac": "convertir flac / wav en {0}\">flac", + "mt_caac": "convertir aac / m4a en {0}\">aac", + "mt_coth": "convertir tout les autres (pas mp3) en {0}\">oth", + "mt_c2opus": "meilleur choix pour PC fixe, PC portable, android\">opus", + "mt_c2owa": "opus-weba, pour iOS 17.5 et supรฉrieur\">owa", + "mt_c2caf": "opus-caf, pour iOS 11 ร  17\">caf", + "mt_c2mp3": "utilisez ceci sur des appareils trรจs anciens\">mp3", + "mt_c2flac": "meilleure qualitรฉ sonore, mais tรฉlรฉchargements รฉnormes\">flac", + "mt_c2wav": "lecture non compressรฉe (encore plus gros)\">wav", + "mt_c2ok": "bien, bon choix", + "mt_c2nd": "ce n'est pas le format de sortie recommandรฉ pour votre appareil, mais รงa devrait aller", + "mt_c2ng": "votre appareil ne semble pas prendre en charge ce format de sortie, mais essayons quand mรชme", + "mt_xowa": "il y a des bugs dans iOS qui empeche d'avoir une lecture en ariere plan en utilisant ce format; utilisez caf ou mp3 ร  la place", + "mt_tint": "niveau dโ€™arriรจre-plan (0โ€“100) de la barre de progression$Npour rendre la mise en mรฉmoire tampon moins gรชnante", + "mt_eq": "active l'รฉgaliseur et le contrรดle de gain;$N$Nboost <code>0</code> = volume standard 100% (non modifiรฉ)$N$Nwidth <code>1  </code> = stรฉrรฉo standard (non modifiรฉ)$Nwidth <code>0.5</code> = 50% de crossfeed gauche-droite$Nwidth <code>0  </code> = mono$N$Nboost <code>-0.8</code> & width <code>10</code> = suppression vocale :^)$N$Nl'activation de l'รฉgaliseur rend les albums gapless entiรจrement gapless, alors laissez-le activรฉ avec toutes les valeurs ร  zรฉro (sauf largeur = 1) si vous vous en souciez", + "mt_drc": "active le compresseur de plage dynamique (aplanisseur de volume / brickwaller); activera รฉgalement l'EQ pour รฉquilibrer les choses, donc dรฉfinissez tous les champs EQ sauf 'width' sur 0 si vous ne le voulez pas$N$Ndiminue le volume de l'audio au-dessus de THRESHOLD dB; pour chaque RATIO dB au-delร  de THRESHOLD, il y a 1 dB de sortie, donc des valeurs par dรฉfaut de tresh -24 et ratio 12 signifient qu'il ne devrait jamais รชtre plus fort que -22 dB et qu'il est sรปr d'augmenter le boost de l'รฉgaliseur ร  0.8, ou mรชme 1.8 avec ATK 0 et un รฉnorme RLS comme 90 (ne fonctionne que dans firefox; RLS est max 1 dans les autres navigateurs)$N$N(voir wikipedia, ils expliquent cela beaucoup mieux)", + + "mb_play": "lecture", + "mm_hashplay": "lire ce fichier audio ?", + "mm_m3u": "appuyez sur Entrรฉe/OK pour lire\nappuyez sur ร‰chap/Annuler pour modifier", + "mp_breq": "nรฉcessite firefox 82+ ou chrome 73+ ou iOS 15+", + "mm_bload": "chargement en coursโ€ฆ", + "mm_bconv": "conversion en {0}, veuillez patienterโ€ฆ", + "mm_opusen": "votre navigateur ne peut pas lire les fichiers aac / m4a ;\nle transcodage en opus est maintenant activรฉ", + "mm_playerr": "รฉchec de la lecture : ", + "mm_eabrt": "La tentative de lecture a รฉtรฉ annulรฉe", + "mm_enet": "Votre connexion internet est instable ou inexistante", + "mm_edec": "Ce fichier est supposรฉment corrompu??", + "mm_esupp": "Votre navigateur ne comprend pas ce format audio", + "mm_eunk": "Erreur inconnue", + "mm_e404": "Impossible de lire l'audio ; erreur 404 : fichier introuvable.", + "mm_e403": "Impossible de lire l'audio ; erreur 403 : accรจs refusรฉ.\n\nEssayez d'appuyer sur F5 pour recharger, peut-รชtre que vous avez รฉtรฉ dรฉconnectรฉ", + "mm_e500": "Impossible de lire l'audio ; erreur 500 : vรฉrifiez les journaux du serveur.", + "mm_e5xx": "Impossible de lire l'audio ; erreur serveur ", + "mm_nof": "Pas d'autres fichiers audio trouvรฉs par ici", + "mm_prescan": "En recherche d'une autre musique ร  lireโ€ฆ", + "mm_scank": "Prochaine musique trouvรฉe :", + "mm_uncache": "cache vidรฉ ; toutes les chansons seront retรฉlรฉchargรฉes lors de la prochaine lecture", + "mm_hnf": "cette chanson n'existe plus", + + "im_hnf": "cette image n'existe plus", + + "f_empty": 'ce dossier est vide', + "f_chide": 'ceci va cacher les colonnes ยซ{0}ยป\n\ntu peut les rรฉafficher dans les options', + "f_bigtxt": "ce fichier fait {0} MiB -- tu veut vraiment le voir en tant que texte ?", + "f_bigtxt2": "voir seulement la fin du fichier ร  la place ? ceci activera aussi le suivi en temps rรฉel, affichant les nouvelles lignes de texte au fur et ร  mesure", + "fbd_more": '
    showing {0} of {1} files; show {2} or show all
    ', + "fbd_all": '
    showing {0} of {1} files; show all
    ', + "f_anota": "seulement {0} des {1} elements sont selectionรฉ;\npour selectioner le dossier entier, fait dรฉfiler jusqu'au fond", + + "f_dls": 'le lien de fichier dans le rรฉpertoire actuel\nร  รฉtรฉ changรฉ en lien de tรฉlรฉchargement', + + "f_partial": "Pour tรฉlรฉcharger de faรงon sรฉcurisรฉe un fichier qui est entrain de se faire tรฉlรฉverser, cliquez sur le fichier qui a le mรชme nom, mais sans l'extension de fichier .PARTIAL. Choisissez ANNULER ou appuiez sur la touche ร‰chap pour faire cela.\n\nAppuyer sur OK / Entrรฉe ignorera cet avertissement et continuera ร  tรฉlรฉcharger le fichier temporaire .PARTIAL ร  la place, ce qui donnera presque certainement des donnรฉes corrompues.", + + "ft_paste": "coller {0} รฉlรฉments$NHotkey: ctrl-V", + "fr_eperm": 'impossible de renommer:\n vous n\'avez pas la permission โ€œmoveโ€ dans ce dossier', + "fd_eperm": 'impossible de supprimer:\nvous n\'avez pas la permission โ€œdeleteโ€ dans ce dossier', + "fc_eperm": 'impossible de couper:\nvous n\'avez pas la permission โ€œmoveโ€ dans ce dossier', + "fp_eperm": 'impossible de coller:\nvous n\'avez pas la permission โ€œwriteโ€ dans ce dossier', + "fr_emore": "sรฉlectionnez au moins un รฉlรฉment ร  renommer", + "fd_emore": "sรฉlectionnez au moins un รฉlรฉment ร  supprimer", + "fc_emore": "sรฉlectionnez au moins un รฉlรฉment ร  couper", + "fcp_emore": "sรฉlectionnez au moins un รฉlรฉment ร  copier dans le presse-papiers", + + "fs_sc": "partager le dossier dans lequel vous vous trouvez", + "fs_ss": "partager les fichiers sรฉlectionnรฉs", + "fs_just1d": "vous ne pouvez pas sรฉlectionner plus d'un dossier,\nou mรฉlanger des fichiers et des dossiers dans une seule sรฉlection", + "fs_abrt": "โŒ abandonner", + "fs_rand": "๐ŸŽฒ nom.aleatoire", + "fs_go": "โœ… crรฉer partage", + "fs_name": "nom", + "fs_src": "source", + "fs_pwd": "mdp", + "fs_exp": "expiration", + "fs_tmin": "min", + "fs_thrs": "heures", + "fs_tdays": "jours", + "fs_never": "รฉternel", + "fs_pname": "nom de lien optionnel ; sera alรฉatoire si vide", + "fs_tsrc": "le fichier ou le dossier ร  partager", + "fs_ppwd": "mot de passe optionnel", + "fs_w8": "crรฉation du partageโ€ฆ", + "fs_ok": "appuyez sur Entrรฉe/OK pour le Presse-papiers\nappuyez sur ร‰chap/Annuler pour fermer", + + "frt_dec": "peut potentiellement rรฉparer certaines instances de noms de fichiers cassรฉs\">url-decode", + "frt_rst": "rรฉinitialiser les noms de fichiers modifiรฉs ร  leurs originaux\">โ†บ reset", + "frt_abrt": "abandonner et fermer cette fenรชtre\">โŒ cancel", + "frb_apply": "APPLIQUER RENOMMER", + "fr_adv": "renommage par lot / mรฉtadonnรฉes / motif\">advanced", + "fr_case": "regex sensible ร  la casse\">case", + "fr_win": "noms windows-safe; remplacer <>:"\\|?* par des caractรจres japonais en pleine largeur\">win", + "fr_slash": "remplacer / par un caractรจre qui ne provoque pas la crรฉation de nouveaux dossiers\">no /", + "fr_re": "modรจle de recherche regex ร  appliquer aux noms de fichiers originaux ; les groupes capturรฉs peuvent รชtre rรฉfรฉrencรฉs dans le champ de format ci-dessous comme <code>(1)</code> et <code>(2)</code> et ainsi de suite", + "fr_fmt": "inspirรฉ par foobar2000 : $N<code>(title)</code> est remplacรฉ par le titre de la chanson, $N<code>[(artist) - ](title)</code> saute [cette] partie si l'artiste est vide, $N<code>$lpad((tn),2,0)</code> remplit le numรฉro de piste ร  2 chiffres", + "fr_pdel": "supprimer", + "fr_pnew": "enregistrer sous", + "fr_pname": "donnez un nom pour le nouveau preset", + "fr_aborted": "abandonnรฉ", + "fr_lold": "ancien nom", + "fr_lnew": "nouveau nom", + "fr_tags": "tags pour les fichier selectionรฉ (lecture-seule, juste pour rรฉfรฉrence):", + "fr_busy": "renomage de {0} itemsโ€ฆ\n\n{1}", + "fr_efail": "renomage a รฉchouรฉ:\n", + "fr_nchg": "{0} des nouveaux noms ont รฉtรฉ modifiรฉs en raison de win et/ou no /\n\nOK pour continuer avec ces nouveaux noms modifiรฉs ?", + + "fd_ok": "suppression rรฉussie", + "fd_err": "impossible de supprimer:\n", + "fd_none": "rien n'a รฉtรฉ supprimรฉ ; peut-รชtre bloquรฉ par la configuration du serveur (xbd) ?", + "fd_busy": "suppression de {0} รฉlรฉmentsโ€ฆ\n\n{1}", + "fd_warn1": "SUPPRIMER ces {0} รฉlรฉments ?", + "fd_warn2": "Derniรจre chance ! Impossible de revenir en arriรจre. Supprimer ?", + + "fc_ok": "couper {0} รฉlรฉments", + "fc_warn": 'couper {0} รฉlรฉments\n\nmais : seul cet onglets peut les coller\n(puisque la sรฉlection est si absolument massive)', + + "fcc_ok": "copiรฉ {0} รฉlรฉments dans le presse-papiers", + "fcc_warn": 'copiรฉ {0} รฉlรฉments dans le presse-papiers\n\nmais : seul cet onglet peut les coller\n(puisque la sรฉlection est si absolument massive)', + + "fp_apply": "utiliser ces noms", + "fp_skip": "ignorer les conflits", //m + "fp_ecut": "en premier, coupez ou copiez quelques fichiers / dossiers ร  coller / dรฉplacer\n\nnote: vous pouvez couper / coller a travers different onglets", + "fp_ename": "{0} รฉlรฉments ne peuvent pas รชtre dรฉplacรฉs ici parce que leurs noms sont dรฉjร  pris. Donnez-leur un nouveau nom ci-dessous pour continuer, ou laissez le nom vide (\"ignorer les conflits\") pour les sauter :", //m + "fcp_ename": "{0} รฉlรฉments ne peuvent pas รชtre copiรฉs ici parce que les noms sont dรฉjร  pris. Donnez-leur un nouveau nom ci-dessous pour continuer, ou laissez le nom vide (\"ignorer les conflits\") pour les sauter :", //m + "fp_emore": "il reste encore des collisions de noms de fichiers ร  corriger", + "fp_ok": "dรฉplacement OK", + "fcp_ok": "copie OK", + "fp_busy": "dรฉplacement de {0} รฉlรฉmentsโ€ฆ\n\n{1}", + "fcp_busy": "copie de {0} รฉlรฉmentsโ€ฆ\n\n{1}", + "fp_abrt": "abandon en cours...", //m + "fp_err": "deplacement รฉchouรฉ:\n", + "fcp_err": "copie รฉchouรฉe:\n", + "fp_confirm": "dรฉplacer ces {0} รฉlรฉments ici ?", + "fcp_confirm": "copier ces {0} รฉlรฉments ici ?", + "fp_etab": 'lecture du presse-papier venant d\'un autre onglet รฉchouรฉ', + "fp_name": "tรฉlรฉversement d'un fichier de votre apareil. Donnez lui un nom:", + "fp_both_m": '
    choisisez ce qu\'il faut coller
    Entrer = Dรฉplacer {0} fichiers de ยซ{1}ยป\nESC = Tรฉlรฉverser {2} fichiers de votre appareil', + "fcp_both_m": '
    choisissez ce qu\'il faut coller
    Entrer = Copier {0} fichiers de ยซ{1}ยป\nESC = Tรฉlรฉverser {2} fichiers de votre appareil', + "fp_both_b": 'DรฉplacerTรฉlรฉverser', + "fcp_both_b": 'CopierTรฉlรฉverser', + + "mk_noname": "entrez un nom dans le champ de texte ร  gauche avant de faire รงa :p", + "nmd_i1": "ajoutez aussi lโ€™extension souhaitรฉe, par exemple .md", //m + "nmd_i2": "vous ne pouvez crรฉer que des fichiers .md car vous nโ€™avez pas la permission dโ€™effacer", //m + + "tv_load": "Chargement du document texte:\n\n{0}\n\n{1}% ({2} de {3} MiB chargรฉs)", + "tv_xe1": "impossible de charger le fichier texte:\n\nerreur", + "tv_xe2": "404, fichier introuvable", + "tv_lst": "liste des fichiers texte dans", + "tvt_close": "retour a la vue de dossier$NHotkey: M (ou ร‰chap)\">โŒ fermer", + "tvt_dl": "tรฉlรฉcharger ce fichier$NHotkey: Y\">๐Ÿ’พ tรฉlรฉcharger", + "tvt_prev": "montrer le document prรฉcรฉdent$NHotkey: i\">โฌ† prรฉcรฉdent", + "tvt_next": "montrer le document suivant$NHotkey: K\">โฌ‡ suivant", + "tvt_sel": "sรฉlectionner le fichier   ( pour couper / copier / supprimer / โ€ฆ )$NHotkey: S\">sel", + "tvt_j": "embellir json$NHotkey: shift-J\">j", //m + "tvt_edit": "ouvrir le fichier dans l'รฉditeur de texte$NHotkey: E\">โœ๏ธ modifier", + "tvt_tail": "surveiller le fichier pour les changements; montrer les nouvelles lignes en temps rรฉel\">๐Ÿ“ก suivre", + "tvt_wrap": "retour ร  la ligne\">โ†ต", + "tvt_atail": "ancrer le dรฉfilement au fond de la page\">โš“", + "tvt_ctail": "dรฉcoder les couleurs du terminal (ansi escape codes)\">๐ŸŒˆ", + "tvt_ntail": "limite de dรฉfilement en arriรจre (combien d'octets de texte ร  garder chargรฉ)", + + "m3u_add1": "musique ajoutรฉe ร  la playlist m3u", + "m3u_addn": "{0} musiques ajoutรฉes ร  la playlist m3u", + "m3u_clip": "la playlist m3u est maintenant copiรฉe dans le presse-papier\n\nvous devriez crรฉer un nouveau fichier texte nommรฉ par exemple playlist.m3u et coller la playlist dans ce fichier ; cela la rendra lisible en tant que playlist", + + "gt_vau": "ne pas voir les vidรฉos, juste jouer l'audio\">๐ŸŽง", + "gt_msel": "activer la sรฉlรฉction de fichiers ; ctrl-clic sur un fichier pour override รฉcraser$N$Nquand actif : double-cliquer sur un fichier / dossier pour l'ouvrir$N$NHotkey: S\">multisรฉlรฉction", + "gt_crop": "rogner les miniatures au centre\">rogner", + "gt_3x": "miniatures haute rรฉsolution\">3x", + "gt_zoom": "zoomer", + "gt_chop": "rogner", + "gt_sort": "trier par", + "gt_name": "nom", + "gt_sz": "taille", + "gt_ts": "date", + "gt_ext": "type", + "gt_c1": "tronquer les noms de fichiers (montrer moins)", + "gt_c2": "tronquer les noms de fichiers (montrer plus)", + + "sm_w8": "rechercheโ€ฆ", + "sm_prev": "les rรฉsultats de recherche ci-dessous proviennent d'une requรชte prรฉcรฉdente:\n ", + "sl_close": "fermer les rรฉsultats de recherche", + "sl_hits": "affichage de {0} rรฉsultats", + "sl_moar": "chercher plus", + + "s_sz": "taille", + "s_dt": "date", + "s_rd": "chemin", + "s_fn": "nom", + "s_ta": "tags", + "s_ua": "up@", + "s_ad": "adv.", + "s_s1": "minimum MiB", + "s_s2": "maximum MiB", + "s_d1": "min. iso8601", + "s_d2": "max. iso8601", + "s_u1": "tรฉlรฉverser aprรจs", + "s_u2": "et/ou avant", + "s_r1": "le chemin contient   (sรฉparรฉ par des espaces)", + "s_f1": "le nom contient   (nรฉgation avec -nope)", + "s_t1": "les tags contiennent   (^=dรฉbut, fin=$)", + "s_a1": "propriรฉtรฉs de mรฉtadonnรฉes spรฉcifiques", + + "md_eshow": "impossible d'afficher le rendu ", + "md_off": "[๐Ÿ“œreadme] disabled in [โš™๏ธ] -- document cachรฉ", + + "badreply": "ร‰chec de l'analyse de la rรฉponse du serveur", + + "xhr403": "403: Accรจs refusรฉ\n\nessayez d'appuyer sur F5, peut-รชtre que vous avez รฉtรฉ dรฉconnectรฉ", + "xhr0": "inconnu (vous avez probablement perdu la connexion au serveur, ou le serveur est hors ligne)", + "cf_ok": "dรฉsolรฉ pour cela -- la protection DD" + wah + "oS a รฉtรฉ dรฉclenchรฉ\n\nles choses devraient reprendre dans environ 30 secondes\n\nsi rien ne se passe, appuyez sur F5 pour recharger la page", + "tl_xe1": "impossible de lister les sous-dossiers:\n\nerreur ", + "tl_xe2": "404: Dossier introuvable", + "fl_xe1": "impossible de lister les fichiers dans le dossier:\n\nerreur ", + "fl_xe2": "404: Dossier introuvable", + "fd_xe1": "impossible de crรฉer le sous-dossier:\n\nerreur ", + "fd_xe2": "404: Dossier parent introuvable", + "fsm_xe1": "impossible d'envoyer le message:\n\nerreur ", + "fsm_xe2": "404: Dossier parent introuvable", + "fu_xe1": "รฉchec du chargement de la liste des unpost du serveur:\n\nerreur ", + "fu_xe2": "404: Fichier introuvable??", + + "fz_tar": "fichier gnu-tar non compressรฉ (linux / mac)", + "fz_pax": "tar au format pax non compressรฉ (plus lent)", + "fz_targz": "gnu-tar avec compression gzip niveau 3$N$Ncela est gรฉnรฉralement trรจs lent, donc$Nutilisez plutรดt tar non compressรฉ", + "fz_tarxz": "gnu-tar avec compression xz niveau 1$N$Ncela est gรฉnรฉralement trรจs lent, donc$Nutilisez plutรดt tar non compressรฉ", + "fz_zip8": "zip avec noms de fichiers utf8 (peut รชtre instable sur windows 7 et versions antรฉrieures)", + "fz_zipd": "zip avec noms de fichiers cp437 traditionnels, pour les trรจs anciens logiciels", + "fz_zipc": "cp437 avec crc32 calculรฉ tรดt,$Nfor MS-DOS PKZIP v2.04g (octobre 1993)$N(prend plus de temps ร  charger avant que le tรฉlรฉchargement ne commence)", + + "un_m1": "vous pouvez supprimer vos tรฉlรฉchargements rรฉcents (ou annuler ceux en cours) ci-dessous", + "un_upd": "rafraรฎchir", + "un_m4": "ou partager les fichiers visibles ci-dessous:", + "un_ulist": "montrer", + "un_ucopy": "copier", + "un_flt": "filtre optionnel:  l'URL doit contenir", + "un_fclr": "effacer le filtre", + "un_derr": 'รฉchec de l\'unpost-delete:\n', + "un_f5": 'quelque chose a cassรฉ, veuillez essayer de rafraรฎchir ou d\'appuyer sur F5', + "un_uf5": "dรฉsolรฉ mais vous devez rafraรฎchir la page (par exemple en appuyant sur F5 ou CTRL-R) avant que ce tรฉlรฉchargement puisse รชtre annulรฉ", + "un_nou": 'warning: serveur trop occupรฉ pour afficher les tรฉlรฉversements non finis; cliquez sur le lien "rafraรฎchir" dans un instant', + "un_noc": 'warning: unpost des fichiers entiรจrement tรฉlรฉchargรฉs n\'est pas activรฉ/permis dans la configuration du serveur', + "un_max": "affichage des 2000 premiers fichiers (utilisez le filtre)", + "un_avail": "{0} tรฉlรฉchargements rรฉcents peuvent รชtre supprimรฉs
    {1} ceux en cours peuvent รชtre annulรฉs", + "un_m2": "triรฉs par date de tรฉlรฉchargement; les plus rรฉcents en premier:", + "un_no1": "sike! aucun tรฉlรฉchargement n'est suffisamment rรฉcent", + "un_no2": "sike! aucun tรฉlรฉchargement correspondant ร  ce filtre n'est suffisamment rรฉcent", + "un_next": "supprimer les {0} fichiers suivants ci-dessous", + "un_abrt": "abandonner", + "un_del": "supprimer", + "un_m3": "chargement de vos tรฉlรฉchargements rรฉcentsโ€ฆ", + "un_busy": "suppression de {0} fichiersโ€ฆ", + "un_clip": "{0} liens copiรฉs dans le presse-papiers", + + "u_https1": "vous devriez", + "u_https2": "passer ร  https", + "u_https3": "pour de meilleure performances", + "u_ancient": 'votre navigateur est impressionnamment ancien -- vous devriez peut-รชtre utiliser bup ร  la place', + "u_nowork": "nรฉcessite firefox 53+ ou chrome 57+ ou iOS 11+", + "tail_2old": "nรฉcessite firefox 105+ ou chrome 71+ ou iOS 14.5+", + "u_nodrop": 'votre navigateur est trop ancien pour le tรฉlรฉversement par glisser-dรฉposer', + "u_notdir": "ce n'est pas un dossier!\n\nvotre navigateur est trop ancien,\nveuillez essayer le glisser-dรฉposer ร  la place", + "u_uri": "pour glisser-dรฉposer des images depuis d'autres fenรชtres de navigateur,\nveuillez les dรฉposer sur le gros bouton de tรฉlรฉversement", + "u_enpot": 'passer ร  l\'interface utilisateur potato (peut amรฉliorer la vitesse de tรฉlรฉversement)', + "u_depot": 'passer ร  l\'interface utilisateur fancy (peut rรฉduire la vitesse de tรฉlรฉversement)', + "u_gotpot": 'passage ร  l\'interface utilisateur potato pour une vitesse de tรฉlรฉversement amรฉliorรฉe,\n\nn\'hรฉsitez pas ร  revenir en arriรจre si รงa ne vous plaรฎt pas !', + "u_pott": "

    fichiers:   {0} fini,   {1} รฉchouรฉ,   {2} en cours,   {3} en attente

    ", + "u_ever": "ceci est le tรฉlรฉverseur de base ; up2k nรฉcessite au moins chrome 21 // firefox 13 // edge 12 // opera 12 // safari 5.1", + "u_su2k": 'ceci est le tรฉlรฉverseur de base; up2k est meilleur', + "u_uput": 'optimiser pour la vitesse (ignorer la somme de contrรดle)', + "u_ewrite": 'vous n\'avez pas accรจs en รฉcriture ร  ce dossier', + "u_eread": 'vous n\'avez pas accรจs en lecture ร  ce dossier', + "u_enoi": 'la recherche de fichiers n\'est pas activรฉe dans la configuration du serveur', + "u_enoow": "l'รฉcrasage ne fonctionnera pas ici; besoin de permissions de suppression", + "u_badf": 'Ces {0} fichiers (sur {1} au total) ont รฉtรฉ ignorรฉs, probablement en raison de permissions systรจme de fichiers:\n\n', + "u_blankf": 'Ces {0} fichiers (sur {1} au total) sont vides; les tรฉlรฉverser quand mรชme ?\n\n', + "u_applef": 'Ces {0} fichiers (sur {1} au total) sont probablement indรฉsirables;\nAppuyez sur OK/Enter pour IGNORER les fichiers suivants,\nAppuyez sur Annuler/ร‰chap pour NE PAS exclure, et Tร‰Lร‰VERSER ceux-ci รฉgalement:\n\n', + "u_just1": '\nPeut-รชtre que cela fonctionne mieux si vous sรฉlectionnez juste un fichier', + "u_ff_many": "si vous utilisez Linux / MacOS / Android, alors ce nombre de fichiers peut faire planter Firefox!\nSi cela se produit, veuillez rรฉessayer (ou utiliser Chrome).", + "u_up_life": "Ce tรฉlรฉversement va รชtre supprimรฉ du serveur\n{0} aprรจs son achรจvement", + "u_asku": 'tรฉlรฉverser ces {0} fichiers vers {1}', + "u_unpt": "vous pouvez dรฉfaire / supprimer ce tรฉlรฉversement en utilisant le ๐Ÿงฏ en haut ร  gauche", + "u_bigtab": 'sur le point d\'afficher {0} fichiers\n\ncela peut faire planter votre navigateur, รชtes-vous sรปr ?', + "u_scan": 'Analyse des fichiersโ€ฆ', + "u_dirstuck": 'l\'itรฉrateur de rรฉpertoire est bloquรฉ en essayant d\'accรฉder aux {0} รฉlรฉments suivants ; il sera ignorรฉ :', + "u_etadone": 'Terminรฉ ({0}, {1} fichiers)', + "u_etaprep": '(prรฉparation au tรฉlรฉversement)', + "u_hashdone": 'calcul de la somme de contrรดle terminรฉ', + "u_hashing": 'calcul de la somme de contrรดle', + "u_hs": 'รฉtablissement d\'une liaisonโ€ฆ', + "u_started": "les fichiers sont maintenant en cours de tรฉlรฉversement ; voir [๐Ÿš€]", + "u_dupdefer": "dupliquรฉ ; sera traitรฉ aprรจs tous les autres fichiers", + "u_actx": "cliquez sur ce texte pour รฉviter la perte de
    performance lors du passage ร  d'autres fenรชtres/onglets", + "u_fixed": "OK!  Rรฉsolu ๐Ÿ‘", + "u_cuerr": "echec du tรฉlรฉversement du morceau {0} de {1};\nprobablement inoffensif, poursuite\n\nfichier : {2}", + "u_cuerr2": "le serveur a rejetรฉ le tรฉlรฉversement (morceau {0} de {1});\nrรฉessaiera plus tard\n\nfichier : {2}\n\nerreur ", + "u_ehstmp": "rรฉessaiera ; voir en bas ร  droite", + "u_ehsfin": "le serveur a rejetรฉ la demande de finalisation du tรฉlรฉversement ; nouvelle tentativeโ€ฆ", + "u_ehssrch": "le serveur a rejetรฉ la demande d'effectuer une recherche ; nouvelle tentativeโ€ฆ", + "u_ehsinit": "le serveur a rejetรฉ la demande d'initier le tรฉlรฉversement ; nouvelle tentativeโ€ฆ", + "u_eneths": "erreur rรฉseau lors de l'exรฉcution de l'initialisation du tรฉlรฉversement ; nouvelle tentativeโ€ฆ", + "u_enethd": "erreur rรฉseau lors du test de l'existence de la cible ; nouvelle tentativeโ€ฆ", + "u_cbusy": "attente que le serveur nous fasse ร  nouveau confiance aprรจs un problรจme rรฉseauโ€ฆ", + "u_ehsdf": "le serveur est ร  court d'espace disque !\n\nil va continuer de rรฉessayer, au cas oรน quelqu'un\nlibรฉrerait suffisamment d'espace pour continuer", + "u_emtleak1": "il semble que votre navigateur web ait une fuite de mรฉmoire ;\nveuillez", + "u_emtleak2": ' passer ร  https (recommandรฉ) ou ', + "u_emtleak3": ' ', + "u_emtleakc": 'essayez la solution suivante:\n
    • appuyez sur F5 pour rafraรฎchir la page
    • ensuite dรฉsactivez le bouton  mt  dans les  โš™๏ธ paramรจtres
    • et rรฉessayez ce tรฉlรฉversement
    Les tรฉlรฉversements seront un peu plus lents, mais tant pis.\nDรฉsolรฉ pour le dรฉrangement !\n\nPS : chrome v107 a un correctif pour cela', + "u_emtleakf": 'essayez la solution suivante:\n
    • appuyez sur F5 pour rafraรฎchir la page
    • ensuite activez ๐Ÿฅ” (pomme de terre) dans l\'interface de tรฉlรฉversement
    • et rรฉessayez ce tรฉlรฉversement
    \nPS : firefox aura probablement un correctif ร  un moment donnรฉ', + "u_s404": "pas trouvรฉ sur le serveur", + "u_expl": "expliquer", + "u_maxconn": "la plupart des navigateur limite ceci ร  6, mais firefox vous permet de l'augmenter avec connections-per-server dans about:config", + "u_tu": '

    WARNING: turbo enclenchรฉ,  le client peut ne pas dรฉtecter et reprendre les tรฉlรฉversements incomplets ; voir l\'info-bulle du bouton turbo

    ', + "u_ts": '

    WARNING: turbo enclenchรฉ,  les rรฉsultats de recherche peuvent รชtre incorrects ; voir l\'info-bulle du bouton turbo

    ', + "u_turbo_c": "turbo est dรฉsactivรฉ dans la configuration du serveur", + "u_turbo_g": "dรฉsactivation de turbo car vous n'avez pas de\nprivilรจges de listing de rรฉpertoires dans ce volume", + "u_life_cfg": 'suppression automatique aprรจs min (ou heures)', + "u_life_est": 'le tรฉlรฉversement sera supprimรฉ ---', + "u_life_max": 'ce dossier impose une\ndurรฉe de vie maximale de {0}', + "u_unp_ok": 'unpost est autorisรฉ pour {0}', + "u_unp_ng": 'unpost ne sera PAS autorisรฉ', + "ue_ro": 'votre accรจs ร  ce dossier est en lecture seule\n\n', + "ue_nl": 'vous n\'รชtes actuellement pas connectรฉ', + "ue_la": 'vous รชtes actuellement connectรฉ en tant que "{0}"', + "ue_sr": 'vous รชtes actuellement en mode recherche de fichiers\n\nchangez en mode tรฉlรฉversement en cliquant sur la loupe ๐Ÿ”Ž (ร  cรดtรฉ du grand bouton RECHERCHER), et essayez de tรฉlรฉverser ร  nouveau\n\ndรฉsolรฉ', + "ue_ta": 'essayez de tรฉlรฉverser ร  nouveau, cela devrait fonctionner maintenant', + "ue_ab": "ce fichier a dรฉjร  รฉtรฉ tรฉlรฉversรฉ dans un autre dossier, et ce tรฉlรฉversement doit รชtre terminรฉ avant que le fichier puisse รชtre tรฉlรฉversรฉ ailleurs.\n\nVous pouvez annuler et oublier le tรฉlรฉversement initial en utilisant le bouton ๐Ÿงฏ en haut ร  gauche.", + "ur_1uo": "OK: Fichier tรฉlรฉversรฉ avec succรจs", + "ur_auo": "OK: Tous les {0} fichiers tรฉlรฉversรฉs avec succรจs", + "ur_1so": "OK: Fichier trouvรฉ sur le serveur", + "ur_aso": "OK: Tous les {0} fichiers trouvรฉs sur le serveur", + "ur_1un": "ร‰chec du tรฉlรฉversement, dรฉsolรฉ", + "ur_aun": "Tous les {0} tรฉlรฉversements ont รฉchouรฉ, dรฉsolรฉ", + "ur_1sn": "Fichier NON trouvรฉ sur le serveur", + "ur_asn": "Les {0} fichiers n'ont PAS ร‰Tร‰ trouvรฉs sur le serveur", + "ur_um": "Terminรฉ;\n{0} tรฉlรฉversements OK,\n{1} tรฉlรฉversements รฉchouรฉs, dรฉsolรฉ", + "ur_sm": "Terminรฉ;\n{0} fichiers trouvรฉs sur le serveur,\n{1} fichiers NON trouvรฉs sur le serveur", + + "rc_opn": "ouvrir", //m + "rc_ply": "Lire", //m + "rc_pla": "Lire comme audio", //m + "rc_txt": "ouvrir dans le visionneur de fichiers", //m + "rc_md": "ouvrir dans lโ€™รฉditeur de texte", //m + "rc_dl": "tรฉlรฉcharger", //m + "rc_zip": "tรฉlรฉcharger comme archive", //m + "rc_del": "supprimer", //m + "rc_cut": "couper", //m + "rc_cpy": "copier", //m + "rc_pst": "coller", //m + "rc_nfo": "nouveau dossier", //m + "rc_nfi": "nouveau fichier", //m + "rc_sal": "tout sรฉlectionner", //m + "rc_sin": "inverser la sรฉlection", //m + + "lang_set": "rafraรฎchir pour que les changements prennent effet ?", + + "splash": { + "a1": "rafraรฎchir", + "b1": "salut รฉtranger   (vous n'รชtes pas connectรฉ.)", + "c1": "dรฉconnexion", + "d1": "vidange de la pile", + "d2": "affiche l'รฉtat de tous les threads actifs", + "e1": "recharger la configuration", + "e2": "recharger le fichier de configuration (comptes/volumes/indicateurs de volume),$Net rescanner tous les volumes e2ds$N$Nnote : n'importe quel changement aux paramรจtres globaux$Nnรฉcessite un redรฉmarrage complet pour prendre effet", + "f1": "vous pouvez naviguer :", + "g1": "vous pouvez tรฉlรฉcharger sur :", + "cc1": "autres choses :", + "h1": "dรฉsactiver k304", + "i1": "activer k304", + "j1": "activer k304 va dรฉconnecter votre client sur chaque HTTP 304, ce qui peut รฉviter ร  certains proxies dรฉfectueux de rester bloquรฉs (les pages ne se chargent soudainement plus), mais cela ralentira รฉgalement les choses en gรฉnรฉral", + "k1": "rรฉinitialiser les paramรจtres du client", + "l1": "connectez-vous pour en savoir plus :", + "ls3": "se connecter", //m + "lu4": "nom d'utilisateur", //m + "lp4": "mot de passe", //m + "lo3": "dรฉconnecter โ€œ{0}โ€ partout", //m + "lo2": "cela mettra fin ร  la session sur tous les navigateurs", //m + "m1": "heureux de vous revoir,", + "n1": "404 introuvable  โ”( ยด -`)โ”Œ", + "o1": 'ou peut-รชtre que vous n\'y avez pas accรจs -- essayer un mot de passe ou aller ร  la page d\'accueil', + "p1": "403 interdit  ~โ”ปโ”โ”ป", + "q1": 'utiliser un mot de passe ou aller ร  la page d\'accueil', + "r1": "aller ร  la page d\'accueil", + ".s1": "rescanner", + "t1": "action", + "u2": "temps รฉcoulรฉ depuis la derniรจre รฉcriture sur le serveur$N(tรฉlรฉchargement/renommage/...)$N$N17j = 17 jours$N1h23 = 1 heure 23 minutes$N4m56 = 4 minutes 56 secondes", + "v1": "connecter", + "v2": "utilisez ce serveur en tant que disque dur local", + "w1": "passer ร  https", + "x1": "changer mot de passe", + "y1": "modifier les partages", + "z1": "dรฉverrouiller ce partage :", + "ta1": "entrez d'abord votre nouveau mot de passe", + "ta2": "rรฉpรฉtez pour confirmer le nouveau mot de passe :", + "ta3": "une faute de frappe a รฉtรฉ dรฉtectรฉe ; veuillez rรฉessayer.", + "nop": "ERREUR : Le mot de passe ne peut pas รชtre vide", //m + "nou": "ERREUR : Le nom dโ€™utilisateur et/ou le mot de passe ne peut pas รชtre vide", //m + "aa1": "fichiers entrants :", + "ab1": "dรฉsactiver no304", + "ac1": "activer no304", + "ad1": "l'activation de no304 dรฉsactivera toute mise en cache ; essayez ceci si k304 n'รฉtait pas suffisant. Cela va gรฉnรฉrer un trafic rรฉseau considรฉrable !", + "ae1": "tรฉlรฉchargements actifs :", + "af1": "afficher les derniers tรฉlรฉchargements", + "ag1": "afficher les utilisateurs IdP connus", //m + } +}; diff --git a/copyparty/web/tl/grc.js b/copyparty/web/tl/grc.js new file mode 100644 index 00000000..48552fee --- /dev/null +++ b/copyparty/web/tl/grc.js @@ -0,0 +1,710 @@ + +// ฮŸฮน ฮณฯฮฑฮผฮผฮญฯ‚ ฯ€ฮฟฯ… ฯ„ฮตฮปฮตฮนฯŽฮฝฮฟฯ…ฮฝ ฮผฮต //m ฮตฮฏฮฝฮฑฮน ฮผฮท ฮตฯ€ฮฑฮปฮทฮธฮตฯ…ฮผฮญฮฝฮตฯ‚ ฮผฮทฯ‡ฮฑฮฝฮนฮบฮญฯ‚ ฮผฮตฯ„ฮฑฯ†ฯฮฌฯƒฮตฮนฯ‚ + +Ls.grc = { + "tt": "ฮ•ฮปฮปฮทฮฝฮนฮบฮฌ", + + "cols": { + "c": "ฮบฮฟฯ…ฮผฯ€ฮนฮฌ ฮตฮฝฮตฯฮณฮตฮนฯŽฮฝ", + "dur": "ฮดฮนฮฌฯฮบฮตฮนฮฑ", + "q": "ฯ€ฮฟฮนฯŒฯ„ฮทฯ„ฮฑ / bitrate", + "Ac": "ฮบฯ‰ฮดฮนฮบฮฟฯ€ฮฟฮนฮทฯ„ฮฎฯ‚ ฮฎฯ‡ฮฟฯ…", + "Vc": "ฮบฯ‰ฮดฮนฮบฮฟฯ€ฮฟฮนฮทฯ„ฮฎฯ‚ ฮฒฮฏฮฝฯ„ฮตฮฟ", + "Fmt": "ฮผฮฟฯฯ†ฮฎ / container", + "Ahash": "checksum ฮฎฯ‡ฮฟฯ…", + "Vhash": "checksum ฮฒฮฏฮฝฯ„ฮตฮฟ", + "Res": "ฮฑฮฝฮฌฮปฯ…ฯƒฮท", + "T": "ฯ„ฯฯ€ฮฟฯ‚ ฮฑฯฯ‡ฮตฮฏฮฟฯ…", + "aq": "ฯ€ฮฟฮนฯŒฯ„ฮทฯ„ฮฑ ฮฎฯ‡ฮฟฯ… / bitrate", + "vq": "ฯ€ฮฟฮนฯŒฯ„ฮทฯ„ฮฑ ฮฒฮฏฮฝฯ„ฮตฮฟ / bitrate", + "pixfmt": "subsampling / ฮดฮฟฮผฮฎ ฮตฮนฮบฮฟฮฝฮฟฯƒฯ„ฮฟฮนฯ‡ฮตฮฏฯ‰ฮฝ", + "resw": "ฮฟฯฮนฮถฯŒฮฝฯ„ฮนฮฑ ฮฑฮฝฮฌฮปฯ…ฯƒฮท", + "resh": "ฮบฮฌฮธฮตฯ„ฮท ฮฑฮฝฮฌฮปฯ…ฯƒฮท", + "chs": "ฮบฮฑฮฝฮฌฮปฮนฮฑ ฮฎฯ‡ฮฟฯ…", + "hz": "ฯƒฯ…ฯ‡ฮฝฯŒฯ„ฮทฯ„ฮฑ ฮดฮตฮนฮณฮผฮฑฯ„ฮฟฮปฮทฯˆฮฏฮฑฯ‚", + }, + + "hks": [ + [ + "ฮดฮนฮฌฯ†ฮฟฯฮฑ", + ["ESC", "ฮบฮปฮตฮฏฯƒฮนฮผฮฟ ฮดฮนฮฑฯ†ฯŒฯฯ‰ฮฝ ฮปฮตฮนฯ„ฮฟฯ…ฯฮณฮนฯŽฮฝ"], + + "ฮดฮนฮฑฯ‡ฮตฮนฯฮนฯƒฯ„ฮฎฯ‚ ฮฑฯฯ‡ฮตฮฏฯ‰ฮฝ", + ["G", "ฮตฮฝฮฑฮปฮปฮฑฮณฮฎ ฮปฮฏฯƒฯ„ฮฑฯ‚ / ฯ€ฮปฮญฮณฮผฮฑฯ„ฮฟฯ‚"], + ["T", "ฮตฮฝฮฑฮปฮปฮฑฮณฮฎ ฮผฮนฮบฯฮฟฮณฯฮฑฯ†ฮนฯŽฮฝ / ฮตฮนฮบฮฟฮฝฮนฮดฮฏฯ‰ฮฝ"], + ["โ‡ง A/D", "ฮผฮญฮณฮตฮธฮฟฯ‚ ฮผฮนฮบฯฮฟฮณฯฮฑฯ†ฮนฯŽฮฝ"], + ["ctrl-K", "ฮดฮนฮฑฮณฯฮฑฯ†ฮฎ ฮตฯ€ฮนฮปฮตฮณฮผฮญฮฝฯ‰ฮฝ"], + ["ctrl-X", "ฮฑฯ€ฮฟฮบฮฟฯ€ฮฎ ฮตฯ€ฮนฮปฮฟฮณฮฎฯ‚ ฯƒฯ„ฮฟ ฯ€ฯฯŒฯ‡ฮตฮนฯฮฟ"], + ["ctrl-C", "ฮฑฮฝฯ„ฮนฮณฯฮฑฯ†ฮฎ ฮตฯ€ฮนฮปฮฟฮณฮฎฯ‚ ฯƒฯ„ฮฟ ฯ€ฯฯŒฯ‡ฮตฮนฯฮฟ"], + ["ctrl-V", "ฮตฯ€ฮนฮบฯŒฮปฮปฮทฯƒฮท (ฮผฮตฯ„ฮฑฮบฮฏฮฝฮทฯƒฮท/ฮฑฮฝฯ„ฮนฮณฯฮฑฯ†ฮฎ) ฮตฮดฯŽ"], + ["Y", "ฮปฮฎฯˆฮท ฮตฯ€ฮนฮปฮตฮณฮผฮญฮฝฯ‰ฮฝ"], + ["F2", "ฮผฮตฯ„ฮฟฮฝฮฟฮผฮฑฯƒฮฏฮฑ ฮตฯ€ฮนฮปฮตฮณฮผฮญฮฝฯ‰ฮฝ"], + + "ฮปฮฏฯƒฯ„ฮฑ ฮฑฯฯ‡ฮตฮฏฯ‰ฮฝ", + ["space", "ฮตฮฝฮฑฮปฮปฮฑฮณฮฎ ฮตฯ€ฮนฮปฮฟฮณฮฎฯ‚ ฮฑฯฯ‡ฮตฮฏฮฟฯ…"], + ["โ†‘/โ†“", "ฮผฮตฯ„ฮฑฮบฮฏฮฝฮทฯƒฮท ฮดฮตฮฏฮบฯ„ฮท ฮตฯ€ฮนฮปฮฟฮณฮฎฯ‚"], + ["ctrl โ†‘/โ†“", "ฮผฮตฯ„ฮฑฮบฮฏฮฝฮทฯƒฮท ฮดฮตฮฏฮบฯ„ฮท ฮบฮฑฮน ฯ€ฯฮฟฮฒฮฟฮปฮฎฯ‚"], + ["โ‡ง โ†‘/โ†“", "ฮตฯ€ฮนฮปฮฟฮณฮฎ ฯ€ฯฮฟฮทฮณฮฟฯฮผฮตฮฝฮฟฯ…/ฮตฯ€ฯŒฮผฮตฮฝฮฟฯ… ฮฑฯฯ‡ฮตฮฏฮฟฯ…"], + ["ctrl-A", "ฮตฯ€ฮนฮปฮฟฮณฮฎ ฯŒฮปฯ‰ฮฝ ฯ„ฯ‰ฮฝ ฮฑฯฯ‡ฮตฮฏฯ‰ฮฝ / ฯ†ฮฑฮบฮญฮปฯ‰ฮฝ"] + ], [ + "ฯ€ฮปฮฟฮฎฮณฮทฯƒฮท", + ["B", "ฮตฮฝฮฑฮปฮปฮฑฮณฮฎ ฯƒฮต ฮบฮฑฯฯ„ฮญฮปฮตฯ‚ ฮดฮนฮฑฮดฯฮฟฮผฯŽฮฝ / ฮดฮญฮฝฯ„ฯฮฟ ฮดฮนฮฑฮดฯฮฟฮผฯŽฮฝ"], + ["I/K", "ฯ€ฯฮฟฮทฮณฮฟฯฮผฮตฮฝฮฟฯ‚/ฮตฯ€ฯŒฮผฮตฮฝฮฟฯ‚ ฯ†ฮฌฮบฮตฮปฮฟฯ‚"], + ["M", "ฮณฮฟฮฝฮนฮบฯŒฯ‚ ฯ†ฮฌฮบฮตฮปฮฟฯ‚ (ฮฎ ฯƒฮผฮฏฮบฯฯ…ฮฝฯƒฮท ฯ„ฯฮญฯ‡ฮฟฮฝฯ„ฮฟฯ‚)"], + ["V", "ฮตฮฝฮฑฮปฮปฮฑฮณฮฎ ฯ†ฮฑฮบฮญฮปฯ‰ฮฝ / ฮดฮญฮฝฯ„ฯฮฟ ฮฑฯฯ‡ฮตฮฏฯ‰ฮฝ ฮบฮตฮนฮผฮญฮฝฮฟฯ…"], + ["A/D", "ฮผฮญฮณฮตฮธฮฟฯ‚ ฯ€ฮฏฮฝฮฑฮบฮฑ ฯ€ฮปฮฟฮฎฮณฮทฯƒฮทฯ‚"] + ], [ + "ฮผฮฟฯ…ฯƒฮนฮบฮฎ", + ["J/L", "ฯ€ฯฮฟฮทฮณฮฟฯฮผฮตฮฝฮฟ/ฮตฯ€ฯŒฮผฮตฮฝฮฟ ฯ„ฯฮฑฮณฮฟฯฮดฮน"], + ["U/O", "ฮผฮตฯ„ฮฌฮฒฮฑฯƒฮท 10ฮดฮตฯ…ฯ„ ฯ€ฮฏฯƒฯ‰/ฮผฯ€ฯฮฟฯƒฯ„ฮฌ"], + ["0..9", "ฮผฮตฯ„ฮฌฮฒฮฑฯƒฮท ฯƒฯ„ฮฟ 0%..90%"], + ["P", "ฮฑฮฝฮฑฯ€ฮฑฯฮฑฮณฯ‰ฮณฮฎ/ฯ€ฮฑฯฯƒฮท (ฮพฮตฮบฮนฮฝฮฌฮตฮน ฮบฮนฯŒฮปฮฑฯ‚)"], + ["S", "ฮตฯ€ฮนฮปฮฟฮณฮฎ ฮฑฮฝฮฑฯ€ฮฑฯฮฑฮณฯŒฮผฮตฮฝฮฟฯ… ฯ„ฯฮฑฮณฮฟฯ…ฮดฮนฮฟฯ"], + ["Y", "ฮปฮฎฯˆฮท ฯ„ฯฮฑฮณฮฟฯ…ฮดฮนฮฟฯ"] + ], [ + "ฮตฮนฮบฯŒฮฝฮตฯ‚", + ["J/L, โ†/โ†’", "ฯ€ฯฮฟฮทฮณฮฟฯฮผฮตฮฝฮท/ฮตฯ€ฯŒฮผฮตฮฝฮท ฮตฮนฮบฯŒฮฝฮฑ"], + ["Home/End", "ฯ€ฯฯŽฯ„ฮท/ฯ„ฮตฮปฮตฯ…ฯ„ฮฑฮฏฮฑ ฮตฮนฮบฯŒฮฝฮฑ"], + ["F", "ฯ€ฮปฮฎฯฮทฯ‚ ฮฟฮธฯŒฮฝฮท"], + ["R", "ฯ€ฮตฯฮนฯƒฯ„ฯฮฟฯ†ฮฎ ฮดฮตฮพฮนฯŒฯƒฯ„ฯฮฟฯ†ฮฑ"], + ["โ‡ง R", "ฯ€ฮตฯฮนฯƒฯ„ฯฮฟฯ†ฮฎ ฮฑฯฮนฯƒฯ„ฮตฯฯŒฯƒฯ„ฯฮฟฯ†ฮฑ"], + ["S", "ฮตฯ€ฮนฮปฮฟฮณฮฎ ฮตฮนฮบฯŒฮฝฮฑฯ‚"], + ["Y", "ฮปฮฎฯˆฮท ฮตฮนฮบฯŒฮฝฮฑฯ‚"] + ], [ + "ฮฒฮฏฮฝฯ„ฮตฮฟ", + ["U/O", "ฮผฮตฯ„ฮฌฮฒฮฑฯƒฮท 10ฮดฮตฯ…ฯ„ ฯ€ฮฏฯƒฯ‰/ฮผฯ€ฯฮฟฯƒฯ„ฮฌ"], + ["P/K/Space", "ฮฑฮฝฮฑฯ€ฮฑฯฮฑฮณฯ‰ฮณฮฎ/ฯ€ฮฑฯฯƒฮท"], + ["C", "ฯƒฯ…ฮฝฮญฯ‡ฮตฮนฮฑ ฯƒฯ„ฮฟ ฮตฯ€ฯŒฮผฮตฮฝฮฟ"], + ["V", "ฮตฯ€ฮฑฮฝฮฌฮปฮทฯˆฮท"], + ["M", "ฯƒฮฏฮณฮฑฯƒฮท"], + ["[ ฮบฮฑฮน ]", "ฮฟฯฮนฯƒฮผฯŒฯ‚ ฮดฮนฮฑฯƒฯ„ฮฎฮผฮฑฯ„ฮฟฯ‚ ฮตฯ€ฮฑฮฝฮฌฮปฮทฯˆฮทฯ‚"] + ], [ + "ฮฑฯฯ‡ฮตฮฏฮฑ ฮบฮตฮนฮผฮญฮฝฮฟฯ…", + ["I/K", "ฯ€ฯฮฟฮทฮณฮฟฯฮผฮตฮฝฮฟ/ฮตฯ€ฯŒฮผฮตฮฝฮฟ ฮฑฯฯ‡ฮตฮฏฮฟ"], + ["M", "ฮบฮปฮตฮฏฯƒฮนฮผฮฟ ฮฑฯฯ‡ฮตฮฏฮฟฯ…"], + ["E", "ฮตฯ€ฮตฮพฮตฯฮณฮฑฯƒฮฏฮฑ ฮฑฯฯ‡ฮตฮฏฮฟฯ…"], + ["S", "ฮตฯ€ฮนฮปฮฟฮณฮฎ ฮฑฯฯ‡ฮตฮฏฮฟฯ… (ฮณฮนฮฑ ฮฑฯ€ฮฟฮบฮฟฯ€ฮฎ/ฮฑฮฝฯ„ฮนฮณฯฮฑฯ†ฮฎ/ฮผฮตฯ„ฮฟฮฝฮฟฮผฮฑฯƒฮฏฮฑ)"], + ["Y", "ฮปฮฎฯˆฮท ฮฑฯฯ‡ฮตฮฏฮฟฯ… ฮบฮตฮนฮผฮญฮฝฮฟฯ…"], //m + ["โ‡ง J", "ฮฟฮผฮฟฯฯ†ฮฟฯ€ฮฟฮฏฮทฯƒฮท json"], //m + ] + ], + + "m_ok": "ฮ•ฮฝฯ„ฮฌฮพฮตฮน", + "m_ng": "ฮ†ฮบฯ…ฯฮฟ", + + "enable": "ฮ•ฮฝฮตฯฮณฮฟฯ€ฮฟฮฏฮทฯƒฮท", + "danger": "ฮšฮ™ฮฮ”ฮฅฮฮŸฮฃ", + "clipped": "ฮฑฮฝฯ„ฮนฮณฯฮฌฯ†ฮทฮบฮต ฯƒฯ„ฮฟ ฯ€ฯฯŒฯ‡ฮตฮนฯฮฟ", + + "ht_s1": "ฮดฮตฯ…ฯ„ฮตฯฯŒฮปฮตฯ€ฯ„ฮฟ", + "ht_s2": "ฮดฮตฯ…ฯ„ฮตฯฯŒฮปฮตฯ€ฯ„ฮฑ", + "ht_m1": "ฮปฮตฯ€ฯ„ฯŒ", + "ht_m2": "ฮปฮตฯ€ฯ„ฮฌ", + "ht_h1": "ฯŽฯฮฑ", + "ht_h2": "ฯŽฯฮตฯ‚", + "ht_d1": "ฮผฮญฯฮฑ", + "ht_d2": "ฮผฮญฯฮตฯ‚", + "ht_and": " ฮบฮฑฮน ", + + "goh": "ฯ€ฮฏฮฝฮฑฮบฮฑฯ‚ ฮตฮปฮญฮณฯ‡ฮฟฯ…", + "gop": 'ฯ€ฯฮฟฮทฮณฮฟฯฮผฮตฮฝฮฟฯ‚ ฯ†ฮฌฮบฮตฮปฮฟฯ‚ ฯƒฯ„ฮฟ ฮฏฮดฮนฮฟ ฮตฯ€ฮฏฯ€ฮตฮดฮฟ">ฯ€ฯฮฟฮทฮณฮฟฯฮผฮตฮฝฮฟ', + "gou": 'ฮณฮฟฮฝฮนฮบฯŒฯ‚ ฯ†ฮฌฮบฮตฮปฮฟฯ‚">ฯ€ฮฌฮฝฯ‰', + "gon": 'ฮตฯ€ฯŒฮผฮตฮฝฮฟฯ‚ ฯ†ฮฌฮบฮตฮปฮฟฯ‚">ฮตฯ€ฯŒฮผฮตฮฝฮฟ', + "logout": "ฮ‘ฯ€ฮฟฯƒฯฮฝฮดฮตฯƒฮท ", + "login": "ฮฃฯฮฝฮดฮตฯƒฮท", //m + "access": " ฯ€ฯฯŒฯƒฮฒฮฑฯƒฮท", + "ot_close": "ฮบฮปฮตฮฏฯƒฮนฮผฮฟ ฯ…ฯ€ฮฟฮผฮตฮฝฮฟฯ", + "ot_search": "ฮฑฮฝฮฑฮถฮฎฯ„ฮทฯƒฮท ฮฑฯฯ‡ฮตฮฏฯ‰ฮฝ ฮผฮต ฮฒฮฌฯƒฮท ฯ‡ฮฑฯฮฑฮบฯ„ฮทฯฮนฯƒฯ„ฮนฮบฮฌ, ฮดฮนฮฑฮดฯฮฟฮผฮฎ / ฯŒฮฝฮฟฮผฮฑ, ฮผฮฟฯ…ฯƒฮนฮบฮฌ tags ฮฎ ฮฟฯ€ฮฟฮนฮฟฮฝฮดฮฎฯ€ฮฟฯ„ฮต ฯƒฯ…ฮฝฮดฯ…ฮฑฯƒฮผฯŒ$N$N<code>foo bar</code> = ฯ€ฯฮญฯ€ฮตฮน ฮฝฮฑ ฯ€ฮตฯฮนฮญฯ‡ฮตฮน ฮบฮฑฮน ฯ„ฮฑ ยซfooยป ฮบฮฑฮน ยซbarยป,$N<code>foo -bar</code> = ฯ€ฯฮญฯ€ฮตฮน ฮฝฮฑ ฯ€ฮตฯฮนฮญฯ‡ฮตฮน ฯ„ฮฟ ยซfooยป ฮฑฮปฮปฮฌ ฯŒฯ‡ฮน ฯ„ฮฟ ยซbarยป,$N<code>^yana .opus$</code> = ฮฝฮฑ ฮพฮตฮบฮนฮฝฮฌ ฮผฮต ยซyanaยป ฮบฮฑฮน ฮฝฮฑ ฮตฮฏฮฝฮฑฮน ฮฑฯฯ‡ฮตฮฏฮฟ ยซopusยป$N<code>"try unite"</code> = ฮฝฮฑ ฯ€ฮตฯฮนฮญฯ‡ฮตฮน ฮฑฮบฯฮนฮฒฯŽฯ‚ ยซtry uniteยป$N$Nฮท ฮผฮฟฯฯ†ฮฎ ฮทฮผฮตฯฮฟฮผฮทฮฝฮฏฮฑฯ‚ ฮตฮฏฮฝฮฑฮน iso-8601, ฯŒฯ€ฯ‰ฯ‚$N<code>2009-12-31</code> ฮฎ <code>2020-09-12 23:30:00</code>", + "ot_unpost": "unpost: ฮดฮนฮฑฮณฯฮฑฯ†ฮฎ ฯ€ฯฯŒฯƒฯ†ฮฑฯ„ฯ‰ฮฝ ฮผฮตฯ„ฮฑฯ†ฮฟฯฯ„ฯŽฯƒฮตฯ‰ฮฝ ฮฎ ฮฑฮบฯฯฯ‰ฯƒฮท ฮฑฮฝฮฟฮปฮฟฮบฮปฮฎฯฯ‰ฯ„ฯ‰ฮฝ", + "ot_bup": "bup: ฮฒฮฑฯƒฮนฮบฯŒฯ‚ uploader, ฯ…ฯ€ฮฟฯƒฯ„ฮทฯฮฏฮถฮตฮน ฮผฮญฯ‡ฯฮน ฮบฮฑฮน netscape 4.0", + "ot_mkdir": "mkdir: ฮดฮทฮผฮนฮฟฯ…ฯฮณฮฏฮฑ ฮฝฮญฮฟฯ… ฯ†ฮฑฮบฮญฮปฮฟฯ…", + "ot_md": "new-file: ฮดฮทฮผฮนฮฟฯ…ฯฮณฮฏฮฑ ฮฝฮญฮฟฯ… ฮฑฯฯ‡ฮตฮฏฮฟฯ… ฮบฮตฮนฮผฮญฮฝฮฟฯ…", //m + "ot_msg": "msg: ฮฑฯ€ฮฟฯƒฯ„ฮฟฮปฮฎ ฮผฮทฮฝฯฮผฮฑฯ„ฮฟฯ‚ ฯƒฯ„ฮฟ server log", + "ot_mp": "ฮตฯ€ฮนฮปฮฟฮณฮญฯ‚ media player", + "ot_cfg": "ฮตฯ€ฮนฮปฮฟฮณฮญฯ‚ ฯฯ…ฮธฮผฮฏฯƒฮตฯ‰ฮฝ", + "ot_u2i": 'up2k: ฮฑฮฝฮญฮฒฮฑฯƒฮต ฮฑฯฯ‡ฮตฮฏฮฑ (ฮฑฮฝ ฮญฯ‡ฮตฮนฯ‚ ฮดฮนฮบฮฑฮฏฯ‰ฮผฮฑ ฮตฮณฮณฯฮฑฯ†ฮฎฯ‚) ฮฎ ฮตฮฝฮตฯฮณฮฟฯ€ฮฟฮฏฮทฯƒฮต ฯ„ฮท ฮปฮตฮนฯ„ฮฟฯ…ฯฮณฮฏฮฑ ฮฑฮฝฮฑฮถฮฎฯ„ฮทฯƒฮทฯ‚ ฮณฮนฮฑ ฮฝฮฑ ฮดฮตฮนฯ‚ ฮฑฮฝ ฯ…ฯ€ฮฌฯฯ‡ฮฟฯ…ฮฝ ฮฎฮดฮท ฯƒฯ„ฮฟ server$N$Nฮฟฮน ฮผฮตฯ„ฮฑฯ†ฮฟฯฯ„ฯŽฯƒฮตฮนฯ‚ ฯƒฯ…ฮฝฮตฯ‡ฮฏฮถฮฟฮฝฯ„ฮฑฮน ฮฑฮฝ ฮดฮนฮฑฮบฮฟฯ€ฮฟฯฮฝ, ฮตฮฏฮฝฮฑฮน ฯ€ฮฟฮปฯ…ฮฝฮทฮผฮฑฯ„ฮนฮบฮญฯ‚ ฮบฮฑฮน ฮดฮนฮฑฯ„ฮทฯฮฟฯฮฝ ฯ„ฮนฯ‚ ฯ‡ฯฮฟฮฝฮฟฯƒฯ†ฯฮฑฮณฮฏฮดฮตฯ‚, ฮฑฮปฮปฮฌ ฮบฮฑฯ„ฮฑฮฝฮฑฮปฯŽฮฝฮฟฯ…ฮฝ ฯ€ฮตฯฮนฯƒฯƒฯŒฯ„ฮตฯฮฟ CPU ฮฑฯ€ฯŒ ฯ„ฮฟฮฝ [๐ŸŽˆ]  (ฮฒฮฑฯƒฮนฮบฯŒฯ‚ uploader)

    ฮบฮฑฯ„ฮฌ ฯ„ฮท ฮดฮนฮฌฯฮบฮตฮนฮฑ ฯ„ฮทฯ‚ ฮผฮตฯ„ฮฑฯ†ฯŒฯฯ„ฯ‰ฯƒฮทฯ‚, ฮฑฯ…ฯ„ฯŒ ฯ„ฮฟ ฮตฮนฮบฮฟฮฝฮฏฮดฮนฮฟ ฮดฮตฮฏฯ‡ฮฝฮตฮน ฯ„ฮทฮฝ ฯ€ฯฯŒฮฟฮดฯŒ ฯ„ฮทฯ‚!', + "ot_u2w": 'up2k: ฮฑฮฝฮญฮฒฮฑฯƒฮต ฮฑฯฯ‡ฮตฮฏฮฑ ฮผฮต ฯ…ฯ€ฮฟฯƒฯ„ฮฎฯฮนฮพฮท ฯƒฯ…ฮฝฮญฯ‡ฮนฯƒฮทฯ‚ (ฮบฮปฮตฮฏฯƒฮต ฯ„ฮฟฮฝ browser ฮบฮฑฮน ฯฮฏฮพฮต ฯ„ฮฑ ฮฏฮดฮนฮฑ ฮฑฯฯ‡ฮตฮฏฮฑ ฮพฮฑฮฝฮฌ ฮผฮตฯ„ฮฌ)$N$Nฯ€ฮฟฮปฯ…ฮฝฮทฮผฮฑฯ„ฮนฮบฯŒ, ฮดฮนฮฑฯ„ฮทฯฮตฮฏ ฯ„ฮนฯ‚ ฯ‡ฯฮฟฮฝฮฟฯƒฯ†ฯฮฑฮณฮฏฮดฮตฯ‚, ฮฑฮปฮปฮฌ ฮบฮฑฯ„ฮฑฮฝฮฑฮปฯŽฮฝฮตฮน ฯ€ฮตฯฮนฯƒฯƒฯŒฯ„ฮตฯฮฟ CPU ฮฑฯ€ฯŒ ฯ„ฮฟฮฝ [๐ŸŽˆ]  (ฮฒฮฑฯƒฮนฮบฯŒฯ‚ uploader)

    ฮบฮฑฯ„ฮฌ ฯ„ฮท ฮดฮนฮฌฯฮบฮตฮนฮฑ ฯ„ฮทฯ‚ ฮผฮตฯ„ฮฑฯ†ฯŒฯฯ„ฯ‰ฯƒฮทฯ‚, ฮฑฯ…ฯ„ฯŒ ฯ„ฮฟ ฮตฮนฮบฮฟฮฝฮฏฮดฮนฮฟ ฮดฮตฮฏฯ‡ฮฝฮตฮน ฯ„ฮทฮฝ ฯ€ฯฯŒฮฟฮดฯŒ ฯ„ฮทฯ‚!', + "ot_noie": 'ฮงฯฮทฯƒฮนฮผฮฟฯ€ฮฟฮฏฮทฯƒฮต Chrome / Firefox / Edge', + + "ab_mkdir": "ฮดฮทฮผฮนฮฟฯ…ฯฮณฮฏฮฑ ฯ†ฮฑฮบฮญฮปฮฟฯ…", + "ab_mkdoc": "ฮฝฮญฮฟ ฮฑฯฯ‡ฮตฮฏฮฟ ฮบฮตฮนฮผฮญฮฝฮฟฯ…", //m + "ab_msg": "ฯƒฯ„ฮตฮฏฮปฮต ฮผฮฎฮฝฯ…ฮผฮฑ ฯƒฯ„ฮฟ server log", + + "ay_path": "ฯ€ฮฎฮณฮฑฮนฮฝฮต ฯƒฮต ฯ†ฮฑฮบฮญฮปฮฟฯ…ฯ‚", + "ay_files": "ฯ€ฮฎฮณฮฑฮนฮฝฮต ฯƒฮต ฮฑฯฯ‡ฮตฮฏฮฑ", + + "wt_ren": "ฮผฮตฯ„ฮฟฮฝฮฟฮผฮฑฯƒฮฏฮฑ ฮตฯ€ฮนฮปฮตฮณฮผฮญฮฝฯ‰ฮฝ$Nฮฃฯ…ฮฝฯ„ฯŒฮผฮตฯ…ฯƒฮท: F2", + "wt_del": "ฮดฮนฮฑฮณฯฮฑฯ†ฮฎ ฮตฯ€ฮนฮปฮตฮณฮผฮญฮฝฯ‰ฮฝ$Nฮฃฯ…ฮฝฯ„ฯŒฮผฮตฯ…ฯƒฮท: ctrl-K", + "wt_cut": "ฮฑฯ€ฮฟฮบฮฟฯ€ฮฎ ฮตฯ€ฮนฮปฮตฮณฮผฮญฮฝฯ‰ฮฝ <small>(ฮบฮฑฮน ฮตฯ€ฮนฮบฯŒฮปฮปฮทฯƒฮท ฮฑฮปฮปฮฟฯ)</small>$Nฮฃฯ…ฮฝฯ„ฯŒฮผฮตฯ…ฯƒฮท: ctrl-X", + "wt_cpy": "ฮฑฮฝฯ„ฮนฮณฯฮฑฯ†ฮฎ ฮตฯ€ฮนฮปฮตฮณฮผฮญฮฝฯ‰ฮฝ ฯƒฯ„ฮฟ ฯ€ฯฯŒฯ‡ฮตฮนฯฮฟ$N(ฮณฮนฮฑ ฮตฯ€ฮนฮบฯŒฮปฮปฮทฯƒฮท ฮฑฮปฮปฮฟฯ)$Nฮฃฯ…ฮฝฯ„ฯŒฮผฮตฯ…ฯƒฮท: ctrl-C", + "wt_pst": "ฮตฯ€ฮนฮบฯŒฮปฮปฮทฯƒฮท ฮฑฯ€ฮฟฮบฮฟฮผฮผฮญฮฝฯ‰ฮฝ / ฮฑฮฝฯ„ฮตฮณฯฮฑฮผฮผฮญฮฝฯ‰ฮฝ$Nฮฃฯ…ฮฝฯ„ฯŒฮผฮตฯ…ฯƒฮท: ctrl-V", + "wt_selall": "ฮตฯ€ฮนฮปฮฟฮณฮฎ ฯŒฮปฯ‰ฮฝ$Nฮฃฯ…ฮฝฯ„ฯŒฮผฮตฯ…ฯƒฮท: ctrl-A (ฮผฮต ฯ„ฮฟ ฮฑฯฯ‡ฮตฮฏฮฟ ฮตฯ€ฮนฮปฮตฮณฮผฮญฮฝฮฟ)", + "wt_selinv": "ฮฑฮฝฯ„ฮนฯƒฯ„ฯฮฟฯ†ฮฎ ฮตฯ€ฮนฮปฮฟฮณฮฎฯ‚", + "wt_zip1": "ฮบฮฑฯ„ฮญฮฒฮฑฯƒฮผฮฑ ฯ†ฮฑฮบฮญฮปฮฟฯ… ฯ‰ฯ‚ ฯƒฯ…ฮผฯ€ฮนฮตฯƒฮผฮญฮฝฮฟ ฮฑฯฯ‡ฮตฮฏฮฟ", + "wt_selzip": "ฮบฮฑฯ„ฮญฮฒฮฑฯƒฮผฮฑ ฮตฯ€ฮนฮปฮฟฮณฮฎฯ‚ ฯ‰ฯ‚ ฯƒฯ…ฮผฯ€ฮนฮตฯƒฮผฮญฮฝฮฟ ฮฑฯฯ‡ฮตฮฏฮฟ", + "wt_seldl": "ฮบฮฑฯ„ฮญฮฒฮฑฯƒฮผฮฑ ฮตฯ€ฮนฮปฮฟฮณฮฎฯ‚ ฯ‰ฯ‚ ฮผฮตฮผฮฟฮฝฯ‰ฮผฮญฮฝฮฑ ฮฑฯฯ‡ฮตฮฏฮฑ$Nฮฃฯ…ฮฝฯ„ฯŒฮผฮตฯ…ฯƒฮท: Y", + "wt_npirc": "ฮฑฮฝฯ„ฮนฮณฯฮฑฯ†ฮฎ ฯ€ฮปฮทฯฮฟฯ†ฮฟฯฮนฯŽฮฝ ฯ„ฯฮฑฮณฮฟฯ…ฮดฮนฮฟฯ ฯƒฮต ฮผฮฟฯฯ†ฮฎ irc", + "wt_nptxt": "ฮฑฮฝฯ„ฮนฮณฯฮฑฯ†ฮฎ ฯ€ฮปฮทฯฮฟฯ†ฮฟฯฮนฯŽฮฝ ฯ„ฯฮฑฮณฮฟฯ…ฮดฮนฮฟฯ ฯ‰ฯ‚ ฮบฮตฮฏฮผฮตฮฝฮฟ", + "wt_m3ua": "ฯ€ฯฮฟฯƒฮธฮฎฮบฮท ฯƒฮต m3u ฮปฮฏฯƒฯ„ฮฑ ฮฑฮฝฮฑฯ€ฮฑฯฮฑฮณฯ‰ฮณฮฎฯ‚ (ฮผฮตฯ„ฮฌ ฯ€ฮฌฯ„ฮทฯƒฮต ๐Ÿ“ปฮฑฮฝฯ„ฮนฮณฯฮฑฯ†ฮฎ)", + "wt_m3uc": "ฮฑฮฝฯ„ฮนฮณฯฮฑฯ†ฮฎ m3u ฮปฮฏฯƒฯ„ฮฑฯ‚ ฮฑฮฝฮฑฯ€ฮฑฯฮฑฮณฯ‰ฮณฮฎฯ‚ ฯƒฯ„ฮฟ ฯ€ฯฯŒฯ‡ฮตฮนฯฮฟ", + "wt_grid": "ฮตฮฝฮฑฮปฮปฮฑฮณฮฎ ฯ€ฮปฮญฮณฮผฮฑฯ„ฮฟฯ‚ / ฮปฮฏฯƒฯ„ฮฑฯ‚$Nฮฃฯ…ฮฝฯ„ฯŒฮผฮตฯ…ฯƒฮท: G", + "wt_prev": "ฯ€ฯฮฟฮทฮณฮฟฯฮผฮตฮฝฮฟ ฮบฮฟฮผฮผฮฌฯ„ฮน$Nฮฃฯ…ฮฝฯ„ฯŒฮผฮตฯ…ฯƒฮท: J", + "wt_play": "ฮฑฮฝฮฑฯ€ฮฑฯฮฑฮณฯ‰ฮณฮฎ / ฯ€ฮฑฯฯƒฮท$Nฮฃฯ…ฮฝฯ„ฯŒฮผฮตฯ…ฯƒฮท: P", + "wt_next": "ฮตฯ€ฯŒฮผฮตฮฝฮฟ ฮบฮฟฮผฮผฮฌฯ„ฮน$Nฮฃฯ…ฮฝฯ„ฯŒฮผฮตฯ…ฯƒฮท: L", + + "ul_par": "ฯ€ฮฑฯฮฌฮปฮปฮทฮปฮตฯ‚ ฮผฮตฯ„ฮฑฯ†ฮฟฯฯ„ฯŽฯƒฮตฮนฯ‚:", + "ut_rand": "ฯ„ฯ…ฯ‡ฮฑฮนฮฟฯ€ฮฟฮฏฮทฯƒฮท ฮฟฮฝฮฟฮผฮฌฯ„ฯ‰ฮฝ ฮฑฯฯ‡ฮตฮฏฯ‰ฮฝ", + "ut_u2ts": "ฮฑฮฝฯ„ฮนฮณฯฮฑฯ†ฮฎ ฯ„ฮทฯ‚ ฯ„ฮตฮปฮตฯ…ฯ„ฮฑฮฏฮฑฯ‚ ฯ„ฯฮฟฯ€ฮฟฯ€ฮฟฮนฮทฮผฮญฮฝฮทฯ‚ ฯ‡ฯฮฟฮฝฮฟฯƒฯ†ฯฮฑฮณฮฏฮดฮฑฯ‚ ฮฑฮปฮปฮฑฮณฮฎฯ‚$Nฮฑฯ€ฯŒ ฯ„ฮฟ ฯƒฯฯƒฯ„ฮทฮผฮฌ ฯƒฮฟฯ… ฯƒฯ„ฮฟฮฝ server\">๐Ÿ“…", + "ut_ow": "ฮฑฮฝฯ„ฮนฮบฮฑฯ„ฮฌฯƒฯ„ฮฑฯƒฮท ฯƒฮต ฮฎฮดฮท ฯ…ฯ€ฮฌฯฯ‡ฮฟฮฝฯ„ฮฑ ฮฑฯฯ‡ฮตฮฏฮฑ ฯ„ฮฟฯ… server?$N๐Ÿ›ก๏ธ: ฯ€ฮฟฯ„ฮญ (ฮธฮฑ ฮดฮทฮผฮนฮฟฯ…ฯฮณฮทฮธฮตฮฏ ฮฝฮญฮฟ ฯŒฮฝฮฟฮผฮฑ)$N๐Ÿ•’: ฮฑฮฝ ฯ„ฮฟ ฮฑฯฯ‡ฮตฮฏฮฟ ฯ„ฮฟฯ… server ฮตฮฏฮฝฮฑฮน ฯ€ฮฑฮปฮฑฮนฯŒฯ„ฮตฯฮฟ$Nโ™ป๏ธ: ฯ€ฮฌฮฝฯ„ฮฑ ฮฝฮฑ ฮฑฮฝฯ„ฮนฮบฮฑฮธฮฏฯƒฯ„ฮฑฮฝฯ„ฮฑฮน ฮฑฮฝ ฮดฮนฮฑฯ†ฮญฯฮฟฯ…ฮฝ$Nโญ๏ธ: ฯ€ฮฑฯฮฌฮปฮตฮนฯˆฮท ฯŒฮปฯ‰ฮฝ ฯ„ฯ‰ฮฝ ฯ…ฯ€ฮฑฯฯ‡ฯŒฮฝฯ„ฯ‰ฮฝ ฮฑฯฯ‡ฮตฮฏฯ‰ฮฝ ฯ‡ฯ‰ฯฮฏฯ‚ ฯŒฯฮฟฯ…ฯ‚", //m + "ut_mt": "ฯƒฯ…ฮฝฮญฯ‡ฮนฯƒฮท ฯ…ฯ€ฮฟฮปฮฟฮณฮนฯƒฮผฮฟฯ hash ฮณฮนฮฑ ฮฌฮปฮปฮฑ ฮฑฯฯ‡ฮตฮฏฮฑ ฮบฮฑฯ„ฮฌ ฯ„ฮท ฮผฮตฯ„ฮฑฯ†ฯŒฯฯ„ฯ‰ฯƒฮท$N$Nฮฑฯ€ฮตฮฝฮตฯฮณฮฟฯ€ฮฟฮฏฮทฯƒฮญ ฯ„ฮฟ ฮฑฮฝ ฮท CPU ฮฎ ฮฟ ฮดฮฏฯƒฮบฮฟฯ‚ ฯƒฮฟฯ… ฮถฮฟฯฮฏฮถฮฟฮฝฯ„ฮฑฮน", + "ut_ask": 'ฮตฯ€ฮนฮฒฮตฮฒฮฑฮฏฯ‰ฯƒฮท ฯ€ฯฮนฮฝ ฮพฮตฮบฮนฮฝฮฎฯƒฮตฮน ฮท ฮผฮตฯ„ฮฑฯ†ฯŒฯฯ„ฯ‰ฯƒฮท">๐Ÿ’ญ', + "ut_pot": "ฮฒฮตฮปฯ„ฮฏฯ‰ฯƒฮท ฯ„ฮฑฯ‡ฯฯ„ฮทฯ„ฮฑฯ‚ ฮผฮตฯ„ฮฑฯ†ฯŒฯฯ„ฯ‰ฯƒฮทฯ‚ ฯƒฮต ฮฑฯฮณฮญฯ‚ ฯƒฯ…ฯƒฮบฮตฯ…ฮญฯ‚$Nฮผฮต ฮฑฯ€ฮปฮฟฯ€ฮฟฮฏฮทฯƒฮท ฯ„ฮฟฯ… UI", + "ut_srch": "ฮผฮทฮฝ ฮฑฮฝฮตฮฒฮฌฮถฮตฮนฯ‚, ฮญฮปฮตฮณฮพฮต ฮฑฮฝ ฯ„ฮฑ ฮฑฯฯ‡ฮตฮฏฮฑ$Nฯ…ฯ€ฮฌฯฯ‡ฮฟฯ…ฮฝ ฮฎฮดฮท ฯƒฯ„ฮฟฮฝ server (ฯˆฮฌฯ‡ฮฝฮตฮน ฯƒฮต ฯŒฮปฮฟฯ…ฯ‚ ฯ„ฮฟฯ…ฯ‚ ฯ†ฮฑฮบฮญฮปฮฟฯ…ฯ‚ ฯ€ฮฟฯ… ฮญฯ‡ฮตฮนฯ‚ ฯ€ฯฯŒฯƒฮฒฮฑฯƒฮท)", + "ut_par": "ฮบฮฌฮฝฮต ฯ€ฮฑฯฯƒฮท ฯƒฯ„ฮนฯ‚ ฮผฮตฯ„ฮฑฯ†ฮฟฯฯ„ฯŽฯƒฮตฮนฯ‚ ฮฒฮฌฮถฮฟฮฝฯ„ฮฌฯ‚ ฯ„ฮฟ 0$N$Nฮฑฯฮพฮทฯƒฮต ฯ„ฮฟ ฮฑฮฝ ฮญฯ‡ฮตฮนฯ‚ ฮฑฯฮณฮฎ/ฮผฮตฮณฮฌฮปฮท ฮบฮฑฮธฯ…ฯƒฯ„ฮญฯฮทฯƒฮท ฯƒฯฮฝฮดฮตฯƒฮทฯ‚$N$Nฮบฯฮฌฯ„ฮฑ ฯ„ฮฟ 1 ฯƒฮต LAN ฮฎ ฮฑฮฝ ฮฟ server ฮญฯ‡ฮตฮน ฮฑฯฮณฯŒ ฮดฮฏฯƒฮบฮฟ", + "ul_btn": "ฯฮฏฮพฮต ฮฑฯฯ‡ฮตฮฏฮฑ / ฯ†ฮฑฮบฮญฮปฮฟฯ…ฯ‚
    ฮตฮดฯŽ (ฮฎ ฮบฮฌฮฝฮต ฮบฮปฮนฮบ ฯƒฮต ฮผฮญฮฝฮฑ)", + "ul_btnu": "ฮœ ฮ• ฮค ฮ‘ ฮฆ ฮŸ ฮก ฮค ฮฉ ฮฃ ฮ—", + "ul_btns": "ฮ‘ ฮ ฮ‘ ฮ– ฮ— ฮค ฮ— ฮฃ ฮ—", + + "ul_hash": "ฯ…ฯ€ฮฟฮปฮฟฮณฮนฯƒฮผฯŒฯ‚ hash", + "ul_send": "ฮฑฯ€ฮฟฯƒฯ„ฮฟฮปฮฎ", + "ul_done": "ฮฟฮปฮฟฮบฮปฮทฯฯŽฮธฮทฮบฮต", + "ul_idle1": "ฮบฮฑฮผฮฏฮฑ ฮผฮตฯ„ฮฑฯ†ฯŒฯฯ„ฯ‰ฯƒฮท ฯƒฯ„ฮทฮฝ ฮฟฯ…ฯฮฌ ฮณฮนฮฑ ฯ„ฮทฮฝ ฯŽฯฮฑ", + "ut_etah": "ฮผฮญฯƒฮท ฯ„ฮฑฯ‡ฯฯ„ฮทฯ„ฮฑ <em>ฯ…ฯ€ฮฟฮปฮฟฮณฮนฯƒฮผฮฟฯ hash</em> ฮบฮฑฮน ฮตฮบฯ„ฮฏฮผฮทฯƒฮท ฯ‡ฯฯŒฮฝฮฟฯ… ฮผฮญฯ‡ฯฮน ฯ„ฮทฮฝ ฮฟฮปฮฟฮบฮปฮฎฯฯ‰ฯƒฮท", + "ut_etau": "ฮผฮญฯƒฮท ฯ„ฮฑฯ‡ฯฯ„ฮทฯ„ฮฑ <em>ฮผฮตฯ„ฮฑฯ†ฯŒฯฯ„ฯ‰ฯƒฮทฯ‚</em> ฮบฮฑฮน ฮตฮบฯ„ฮฏฮผฮทฯƒฮท ฯ‡ฯฯŒฮฝฮฟฯ… ฮผฮญฯ‡ฯฮน ฯ„ฮทฮฝ ฮฟฮปฮฟฮบฮปฮฎฯฯ‰ฯƒฮท", + "ut_etat": "ฮผฮญฯƒฮท <em>ฯƒฯ…ฮฝฮฟฮปฮนฮบฮฎ</em> ฯ„ฮฑฯ‡ฯฯ„ฮทฯ„ฮฑ ฮบฮฑฮน ฮตฮบฯ„ฮฏฮผฮทฯƒฮท ฯ‡ฯฯŒฮฝฮฟฯ… ฮผฮญฯ‡ฯฮน ฯ„ฮทฮฝ ฮฟฮปฮฟฮบฮปฮฎฯฯ‰ฯƒฮท", + + "uct_ok": "ฮฟฮปฮฟฮบฮปฮทฯฯŽฮธฮทฮบฮต ฮตฯ€ฮนฯ„ฯ…ฯ‡ฯŽฯ‚", + "uct_ng": "no-good: ฮฑฯ€ฮญฯ„ฯ…ฯ‡ฮต / ฮฑฯ€ฮฟฯฯฮฏฯ†ฮธฮทฮบฮต / ฮดฮตฮฝ ฮฒฯฮญฮธฮทฮบฮต", + "uct_done": "ฮฟฮปฮฟฮบฮปฮทฯฯ‰ฮผฮญฮฝฮฑ ฮบฮฑฮน ฮฑฯ€ฮฟฯ„ฯ…ฯ‡ฮทฮผฮญฮฝฮฑ", + "uct_bz": "ฮบฮฌฮฝฮตฮน hash ฮฎ ฮผฮตฯ„ฮฑฯ†ฮฟฯฯ„ฯŽฮฝฮตฮน", + "uct_q": "ฯƒฮต ฮฑฮฝฮฑฮผฮฟฮฝฮฎ, ฮตฮบฮบฯฮตฮผฮตฮฏ", + + "utl_name": "ฯŒฮฝฮฟฮผฮฑ ฮฑฯฯ‡ฮตฮฏฮฟฯ…", + "utl_ulist": "ฮปฮฏฯƒฯ„ฮฑ", + "utl_ucopy": "ฮฑฮฝฯ„ฮนฮณฯฮฑฯ†ฮฎ", + "utl_links": "ฯƒฯฮฝฮดฮตฯƒฮผฮฟฮน", + "utl_stat": "ฮบฮฑฯ„ฮฌฯƒฯ„ฮฑฯƒฮท", + "utl_prog": "ฯ€ฯฯŒฮฟฮดฮฟฯ‚", + + // keep short: + "utl_404": "404", + "utl_err": "ฮฃฮฆฮ‘ฮ›ฮœฮ‘", + "utl_oserr": "ฮฃฮฆ-ฮ›ฮ•", + "utl_found": "ฮฒฯฮญฮธฮทฮบฮต", + "utl_defer": "ฮฑฮฝฮฑฮฒฮฟฮปฮฎ", + "utl_yolo": "YOLO", + "utl_done": "ฮญฮณฮนฮฝฮต", + + "ul_flagblk": "ฯ„ฮฑ ฮฑฯฯ‡ฮตฮฏฮฑ ฯ€ฯฮฟฯƒฯ„ฮญฮธฮทฮบฮฑฮฝ ฯƒฯ„ฮทฮฝ ฮฟฯ…ฯฮฌ
    ฮฑฮปฮปฮฌ ฯ…ฯ€ฮฌฯฯ‡ฮตฮน ฮฌฮปฮปฮท ฮตฮฝฮตฯฮณฮฎ ฮผฮตฯ„ฮฑฯ†ฯŒฯฯ„ฯ‰ฯƒฮท ฯƒฮต ฮฌฮปฮปฮท ฮบฮฑฯฯ„ฮญฮปฮฑ,
    ฮฟฯ€ฯŒฯ„ฮต ฯ€ฮตฯฮฏฮผฮตฮฝฮต ฮฝฮฑ ฯ„ฮตฮปฮตฮนฯŽฯƒฮตฮน ฮฑฯ…ฯ„ฯŒ ฯ€ฯฯŽฯ„ฮฑ", + "ul_btnlk": "ฮฟ ฮดฮนฮฑฮบฮฟฮผฮนฯƒฯ„ฮฎฯ‚ ฮญฯ‡ฮตฮน ฮบฮปฮตฮนฮดฯŽฯƒฮตฮน ฮฑฯ…ฯ„ฮฎฮฝ ฯ„ฮทฮฝ ฮตฯ€ฮนฮปฮฟฮณฮฎ ฯƒฮต ฮฑฯ…ฯ„ฮฎฮฝ ฯ„ฮทฮฝ ฮบฮฑฯ„ฮฌฯƒฯ„ฮฑฯƒฮท", + + "udt_up": "ฮœฮตฯ„ฮฑฯ†ฯŒฯฯ„ฯ‰ฯƒฮท", + "udt_srch": "ฮ‘ฮฝฮฑฮถฮฎฯ„ฮทฯƒฮท", + "udt_drop": "ฯฮฏฮพ' ฯ„ฮฟ ฮตฮดฯŽ", + + "u_nav_m": '
    ฮฟฮบ, ฯ„ฮน ฮญฯ‡ฮฟฯ…ฮผฮต ฮตฮดฯŽ;
    Enter = ฮ‘ฯฯ‡ฮตฮฏฮฑ (ฮญฮฝฮฑ ฮฎ ฯ€ฮตฯฮนฯƒฯƒฯŒฯ„ฮตฯฮฑ)\nESC = ฮˆฮฝฮฑฯ‚ ฯ†ฮฌฮบฮตฮปฮฟฯ‚ (ฮผฮฑฮถฮฏ ฮผฮต ฯ…ฯ€ฮฟฯ†ฮฑฮบฮญฮปฮฟฯ…ฯ‚)', + "u_nav_b": 'ฮ‘ฯฯ‡ฮตฮฏฮฑฮˆฮฝฮฑฯ‚ ฯ†ฮฌฮบฮตฮปฮฟฯ‚', + + "cl_opts": "ฮดฮนฮฑฮบฯŒฯ€ฯ„ฮตฯ‚", + "cl_hfsz": "ฮผฮญฮณฮตฮธฮฟฯ‚ ฮฑฯฯ‡ฮตฮฏฮฟฯ…", //m + "cl_themes": "ฮธฮญฮผฮฑ", + "cl_langs": "ฮณฮปฯŽฯƒฯƒฮฑ", + "cl_ziptype": "ฮปฮฎฯˆฮท ฯ†ฮฑฮบฮญฮปฮฟฯ…", + "cl_uopts": "ฮดฮนฮฑฮบฯŒฯ€ฯ„ฮตฯ‚ ฮผฮตฯ„ฮฑฯ†ฯŒฯฯ„ฯ‰ฯƒฮทฯ‚", + "cl_favico": "favicon", + "cl_bigdir": "ฮผฮตฮณฮฌฮปฮฟฮน ฯ†ฮฌฮบฮตฮปฮฟฮน", + "cl_hsort": "#ฯ„ฮฑฮพฮนฮฝฯŒฮผฮทฯƒฮท", + "cl_keytype": "ฯƒฮทฮผฮตฮฏฯ‰ฯƒฮท ฯ€ฮปฮฎฮบฯ„ฯฯ‰ฮฝ", + "cl_hiddenc": "ฮบฯฯ…ฯ†ฮญฯ‚ ฯƒฯ„ฮฎฮปฮตฯ‚", + "cl_hidec": "ฮบฯฯฯˆฮต", + "cl_reset": "ฮตฯ€ฮฑฮฝฮตฮบฮบฮฏฮฝฮทฯƒฮท", + "cl_hpick": "ฯ€ฮฌฯ„ฮทฯƒฮต ฯƒฯ„ฮนฯ‚ ฮบฮตฯ†ฮฑฮปฮฏฮดฮตฯ‚ ฯƒฯ„ฮทฮปฯŽฮฝ ฮณฮนฮฑ ฮฝฮฑ ฯ„ฮนฯ‚ ฮบฯฯฯˆฮตฮนฯ‚ ฯƒฯ„ฮฟฮฝ ฯ€ฮฏฮฝฮฑฮบฮฑ ฯ€ฮฑฯฮฑฮบฮฌฯ„ฯ‰", + "cl_hcancel": "ฮท ฮฑฯ€ฯŒฮบฯฯ…ฯˆฮท ฯƒฯ„ฮทฮปฯŽฮฝ ฮฑฮบฯ…ฯฯŽฮธฮทฮบฮต", + "cl_rcm": "ฮผฮตฮฝฮฟฯ ฮดฮตฮพฮนฮฟฯ ฮบฮปฮนฮบ", //m + + "ct_grid": '็”ฐ ฯ„ฮฟ ฯ€ฮปฮญฮณฮผฮฑ', + "ct_ttips": 'โ—” โ—ก โ—”">โ„น๏ธ ฯƒฯ…ฮผฮฒฮฟฯ…ฮปฮญฯ‚ ฮตฯฮณฮฑฮปฮตฮฏฯ‰ฮฝ', + "ct_thumb": 'ฯƒฮต ฯ€ฯฮฟฮฒฮฟฮปฮฎ ฯ€ฮปฮญฮณฮผฮฑฯ„ฮฟฯ‚, ฮตฮฝฮฑฮปฮปฮฑฮณฮฎ ฮตฮนฮบฮฟฮฝฮนฮดฮฏฯ‰ฮฝ ฮฎ ฮผฮนฮบฯฮฟฮณฯฮฑฯ†ฮนฯŽฮฝ$Nฮ ฮปฮฎฮบฯ„ฯฮฟ ฯƒฯ…ฮฝฯ„ฯŒฮผฮตฯ…ฯƒฮทฯ‚: T">๐Ÿ–ผ๏ธ ฮผฮนฮบฯฮฟฮณฯฮฑฯ†ฮฏฮตฯ‚', + "ct_csel": 'ฯ‡ฯฮทฯƒฮนฮผฮฟฯ€ฮฟฮฏฮทฯƒฮต CTRL ฮบฮฑฮน SHIFT ฮณฮนฮฑ ฮตฯ€ฮนฮปฮฟฮณฮฎ ฮฑฯฯ‡ฮตฮฏฯ‰ฮฝ ฯƒฮต ฯ€ฯฮฟฮฒฮฟฮปฮฎ ฯ€ฮปฮญฮณฮผฮฑฯ„ฮฟฯ‚">ฮตฯ€ฮนฮปฮฟฮณฮฎ', + "ct_dl": 'ฮตฮพฮฑฮฝฮฑฮณฮบฮฑฯƒฮผฯŒฯ‚ ฮปฮฎฯˆฮทฯ‚ (ฮฝฮฑ ฮผฮทฮฝ ฮตฮผฯ†ฮฑฮฝฮฏฮถฮตฯ„ฮฑฮน ฮตฮฝฯƒฯ‰ฮผฮฑฯ„ฯ‰ฮผฮญฮฝฮฑ) ฯŒฯ„ฮฑฮฝ ฮณฮฏฮฝฮตฯ„ฮฑฮน ฮบฮปฮนฮบ ฯƒฮต ฮญฮฝฮฑ ฮฑฯฯ‡ฮตฮฏฮฟ">dl', //m + "ct_ihop": 'ฯŒฯ„ฮฑฮฝ ฮท ฯ€ฯฮฟฮฒฮฟฮปฮฎ ฮตฮนฮบฯŒฮฝฯ‰ฮฝ ฮบฮปฮตฮฏฮฝฮตฮน, ฮบฮฌฮฝฮต scroll ฯƒฯ„ฮฟ ฯ„ฮตฮปฮตฯ…ฯ„ฮฑฮฏฮฟ ฯ€ฯฮฟฮฒฮฑฮปฮปฯŒฮผฮตฮฝฮฟ ฮฑฯฯ‡ฮตฮฏฮฟ">gโฎฏ', + "ct_dots": 'ฮตฮผฯ†ฮฌฮฝฮนฯƒฮท ฮบฯฯ…ฯ†ฯŽฮฝ ฮฑฯฯ‡ฮตฮฏฯ‰ฮฝ (ฮฑฮฝ ฯ„ฮฟ ฮตฯ€ฮนฯ„ฯฮญฯ€ฮตฮน ฮฟ server)">dotfiles', + "ct_qdel": 'ฯŒฯ„ฮฑฮฝ ฮดฮนฮฑฮณฯฮฌฯ†ฮตฮนฯ‚ ฮฑฯฯ‡ฮตฮฏฮฑ, ฮถฮฎฯ„ฮฑ ฮตฯ€ฮนฮฒฮตฮฒฮฑฮฏฯ‰ฯƒฮท ฮผฯŒฮฝฮฟ ฮผฮฏฮฑ ฯ†ฮฟฯฮฌ">ฮณฯฮฎฮณฮฟฯฮท ฮดฮนฮฑฮณฯฮฑฯ†ฮฎ', + "ct_dir1st": 'ฯ„ฮฑฮพฮนฮฝฯŒฮผฮทฯƒฮท ฯ†ฮฑฮบฮญฮปฯ‰ฮฝ ฯ€ฯฮนฮฝ ฮฑฯ€ฯŒ ฯ„ฮฑ ฮฑฯฯ‡ฮตฮฏฮฑ">๐Ÿ“ ฯ€ฯฯŽฯ„ฮฑ', + "ct_nsort": 'ฯ†ฯ…ฯƒฮนฮบฮฎ ฯ„ฮฑฮพฮนฮฝฯŒฮผฮทฯƒฮท (ฮณฮนฮฑ ฮฟฮฝฯŒฮผฮฑฯ„ฮฑ ฮฑฯฯ‡ฮตฮฏฯ‰ฮฝ ฮผฮต ฮฑฯฮนฮธฮผฮฟฯฯ‚ ฯƒฯ„ฮทฮฝ ฮฑฯฯ‡ฮฎ)">ฯ†ฯ…ฯƒฮนฮบฮฎ ฯ„ฮฑฮพฮนฮฝฯŒฮผฮทฯƒฮท', + "ct_utc": 'ฮตฮผฯ†ฮฌฮฝฮนฯƒฮท ฯŒฮปฯ‰ฮฝ ฯ„ฯ‰ฮฝ ฮทฮผฮตฯฮฟฮผฮทฮฝฮนฯŽฮฝ ฯƒฮต UTC">UTC', + "ct_readme": 'ฮตฮผฯ†ฮฌฮฝฮนฯƒฮท README.md ฯƒฯ„ฮนฯ‚ ฮปฮฏฯƒฯ„ฮตฯ‚ ฯ†ฮฑฮบฮญฮปฯ‰ฮฝ">๐Ÿ“œ ฯ€ฮปฮทฯฮฟฯ†ฮฟฯฮฏฮตฯ‚', + "ct_idxh": 'ฮตฮผฯ†ฮฌฮฝฮนฯƒฮท index.html ฮฑฮฝฯ„ฮฏ ฮณฮนฮฑ ฮปฮฏฯƒฯ„ฮฑ ฯ†ฮฑฮบฮญฮปฯ‰ฮฝ">html', + "ct_sbars": 'ฮตฮผฯ†ฮฌฮฝฮนฯƒฮท ฮผฯ€ฮฑฯฯŽฮฝ ฮบฯฮปฮนฯƒฮทฯ‚">โŸŠ', + + "cut_umod": "ฮฑฮฝ ฯ„ฮฟ ฮฑฯฯ‡ฮตฮฏฮฟ ฯ…ฯ€ฮฌฯฯ‡ฮตฮน ฮฎฮดฮท ฯƒฯ„ฮฟฮฝ server, ฮตฮฝฮทฮผฮญฯฯ‰ฯƒฮญ ฯ„ฮฟ ฮผฮต ฯ„ฮทฮฝ ฯ„ฮตฮปฮตฯ…ฯ„ฮฑฮฏฮฑ ฯ‡ฯฮฟฮฝฮฟฯƒฯ†ฯฮฑฮณฮฏฮดฮฑ ฯ„ฯฮฟฯ€ฮฟฯ€ฮฟฮฏฮทฯƒฮทฯ‚ ฮณฮนฮฑ ฮฝฮฑ ฯ„ฮฑฮนฯฮนฮฌฮถฮตฮน ฮผฮต ฯ„ฮฟ ฯ„ฮฟฯ€ฮนฮบฯŒ ฮฑฯฯ‡ฮตฮฏฮฟ (ฮฑฯ€ฮฑฮนฯ„ฮตฮฏ ฮดฮนฮบฮฑฮนฯŽฮผฮฑฯ„ฮฑ ฮตฮณฮณฯฮฑฯ†ฮฎฯ‚+ฮดฮนฮฑฮณฯฮฑฯ†ฮฎฯ‚)\">re๐Ÿ“…", + + "cut_turbo": "ฯ„ฮฟ ฮบฮฟฯ…ฮผฯ€ฮฏ yolo, ฯ€ฮนฮธฮฑฮฝฯŒฮฝ ฮฝฮฑ ฮœฮ—ฮ ฮ˜ฮ•ฮ›ฮ•ฮ™ฮฃ ฮฝฮฑ ฯ„ฮฟ ฮตฮฝฮตฯฮณฮฟฯ€ฮฟฮนฮฎฯƒฮตฮนฯ‚:$N$Nฯ‡ฯฮทฯƒฮนฮผฮฟฯ€ฮฟฮฏฮทฯƒฮญ ฯ„ฮฟ ฮฑฮฝ ฮผฮตฯ„ฮฑฯ†ฮฟฯฯ„ฯŽฮฝฮตฮนฯ‚ ฯ€ฮฟฮปฮปฮฌ ฮฑฯฯ‡ฮตฮฏฮฑ ฮบฮฑฮน ฯ‡ฯฮตฮนฮฌฯƒฯ„ฮทฮบฮต ฮฝฮฑ ฮพฮฑฮฝฮฑฯฯ‡ฮฏฯƒฮตฮนฯ‚, ฮบฮฑฮน ฮธฮตฯ‚ ฮฝฮฑ ฯƒฯ…ฮฝฮตฯ‡ฮฏฯƒฮตฮนฯ‚ ฯ„ฮท ฮผฮตฯ„ฮฑฯ†ฯŒฯ„ฯฯ‰ฯƒฮท ฯŒฯƒฮฟ ฯ„ฮฟ ฮดฯ…ฮฝฮฑฯ„ฯŒฮฝ ฯ€ฮนฮฟ ฮณฯฮฎฮณฮฟฯฮฑ$N$Nฮฑฮฝฯ„ฮนฮบฮฑฮธฮนฯƒฯ„ฮฌ ฯ„ฮฟฮฝ ฮญฮปฮตฮณฯ‡ฮฟ hash ฮผฮต ฮฑฯ€ฮปฯŒ "ฮญฯ‡ฮตฮน ฯ„ฮฟ ฮฏฮดฮนฮฟ ฮผฮญฮณฮตฮธฮฟฯ‚ ฮฑฯฯ‡ฮตฮฏฮฟฯ… ฯƒฯ„ฮฟฮฝ server?" ฮฟฯ€ฯŒฯ„ฮต ฮฑฮฝ ฯ„ฮฟ ฯ€ฮตฯฮนฮตฯ‡ฯŒฮผฮตฮฝฮฟ ฮตฮฏฮฝฮฑฮน ฮดฮนฮฑฯ†ฮฟฯฮตฯ„ฮนฮบฯŒ, ฮ”ฮ•ฮ ฮธฮฑ ฮฑฮฝฮญฮฒฮตฮน$N$Nฯ€ฯฮญฯ€ฮตฮน ฮฝฮฑ ฯ„ฮฟ ฮบฮปฮตฮฏฯƒฮตฮนฯ‚ ฯŒฯ„ฮฑฮฝ ฯ„ฮตฮปฮตฮนฯŽฯƒฮตฮน ฮท ฮผฮตฯ„ฮฑฯ†ฯŒฯฯ„ฯ‰ฯƒฮท ฮบฮฑฮน ฮผฮตฯ„ฮฌ ฮฝฮฑ "ฮผฮตฯ„ฮฑฯ†ฮฟฯฯ„ฯŽฯƒฮตฮนฯ‚" ฯ€ฮฌฮปฮน ฯ„ฮฑ ฮฏฮดฮนฮฑ ฮฑฯฯ‡ฮตฮฏฮฑ ฮณฮนฮฑ ฮฝฮฑ ฯ„ฮฑ ฮตฯ€ฮนฮฒฮตฮฒฮฑฮนฯŽฯƒฮตฮน ฯ„ฮฟ ฯ„ฮฟฯ€ฮนฮบฯŒ ฯƒฮฟฯ… ฯ€ฯฯŒฮณฯฮฑฮผฮผฮฑ\">turbo", + + "cut_datechk": "ฮดฮตฮฝ ฮตฯ€ฮทฯฮตฮฌฮถฮตฮน ฯ„ฮฏฯ€ฮฟฯ„ฮฑ ฮตฮบฯ„ฯŒฯ‚ ฮฑฮฝ ฯ„ฮฟ turbo ฮตฮฏฮฝฮฑฮน ฮตฮฝฮตฯฮณฮฟฯ€ฮฟฮนฮทฮผฮญฮฝฮฟ$N$NฮผฮตฮนฯŽฮฝฮตฮน ฮปฮฏฮณฮฟ ฯ„ฮฟฮฝ ฯ€ฮฑฯฮฌฮณฮฟฮฝฯ„ฮฑ yolo; ฮตฮปฮญฮณฯ‡ฮตฮน ฮฑฮฝ ฮฟฮน ฯ‡ฯฮฟฮฝฮฟฯƒฯ†ฯฮฑฮณฮฏฮดฮตฯ‚ ฯƒฯ„ฮฟ ฮดฮนฮฑฮบฮฟฮผฮนฯƒฯ„ฮฎ ฯ„ฮฑฮนฯฮนฮฌฮถฮฟฯ…ฮฝ ฮผฮต ฯ„ฮฑ ฮดฮนฮบฮฌ ฯƒฮฟฯ…$N$Nฯ€ฮนฮฌฮฝฮตฮน ฮธฮตฯ‰ฯฮทฯ„ฮนฮบฮฌ ฯ„ฮนฯ‚ ฯ€ฮตฯฮนฯƒฯƒฯŒฯ„ฮตฯฮตฯ‚ ฮผฮนฯƒฮฟฯ„ฮตฮปฮตฮนฯ‰ฮผฮญฮฝฮตฯ‚/ฮบฮฑฯ„ฮตฯƒฯ„ฯฮฑฮผฮผฮญฮฝฮตฯ‚ ฮผฮตฯ„ฮฑฯ†ฮฟฯฯ„ฯŽฯƒฮตฮนฯ‚, ฮฑฮปฮปฮฌ ฮดฮตฮฝ ฮฑฮฝฯ„ฮนฮบฮฑฮธฮนฯƒฯ„ฮฌ ฯ„ฮฟฮฝ ฮญฮปฮตฮณฯ‡ฮฟ ฮผฮต ฯ„ฮฟ turbo ฮฑฯ€ฮตฮฝฮตฯฮณฮฟฯ€ฮฟฮนฮทฮผฮญฮฝฮฟ ฮผฮตฯ„ฮญฯ€ฮตฮนฯ„ฮฑ\">ฮญฮปฮตฮณฯ‡ฮฟฯ‚ ฮทฮผฮตฯฮฟฮผฮทฮฝฮฏฮฑฯ‚", + + "cut_u2sz": "ฮผฮญฮณฮตฮธฮฟฯ‚ (ฯƒฮต MiB) ฮบฮฌฮธฮต ฮบฮฟฮผฮผฮฑฯ„ฮนฮฟฯ ฮผฮตฯ„ฮฑฯ†ฯŒฯฯ„ฯ‰ฯƒฮทฯ‚; ฮผฮตฮณฮฌฮปฮตฯ‚ ฯ„ฮนฮผฮญฯ‚ ฮปฮตฮนฯ„ฮฟฯ…ฯฮณฮฟฯฮฝ ฮบฮฑฮปฯฯ„ฮตฯฮฑ ฯƒฮต ฮผฮตฮณฮฑฮปฯฯ„ฮตฯฮตฯ‚ ฮฑฯ€ฮฟฯƒฯ„ฮฌฯƒฮตฮนฯ‚ ฮดฮนฮฑฮบฮฟฮผฮนฯƒฯ„ฮฎ-ฯ€ฮตฮปฮฌฯ„ฮท. ฮ”ฮฟฮบฮฏฮผฮฑฯƒฮต ฮผฮนฮบฯฮญฯ‚ ฯ„ฮนฮผฮญฯ‚ ฯƒฮต ฯ€ฮฟฮปฯ ฮฌฯƒฯ„ฮฑฯ„ฮตฯ‚ ฯƒฯ…ฮฝฮดฮญฯƒฮตฮนฯ‚", + + "cut_flag": "ฮตฮพฮฑฯƒฯ†ฮฑฮปฮฏฮถฮตฮน ฯŒฯ„ฮน ฮผฯŒฮฝฮฟ ฮผฮฏฮฑ ฮบฮฑฯฯ„ฮญฮปฮฑ ฮผฮตฯ„ฮฑฯ†ฮฟฯฯ„ฯŽฮฝฮตฮน ฮบฮฌฮธฮต ฯ†ฮฟฯฮฌ $N -- ฮฟฮน ฮฌฮปฮปฮตฯ‚ ฮบฮฑฯฯ„ฮญฮปฮตฯ‚ ฯ€ฯฮญฯ€ฮตฮน ฮฝฮฑ ฯ„ฮฟ ฮญฯ‡ฮฟฯ…ฮฝ ฮบฮน ฮฑฯ…ฯ„ฮญฯ‚ ฮตฮฝฮตฯฮณฯŒ $N -- ฮตฯ€ฮทฯฮตฮฌฮถฮตฮน ฮผฯŒฮฝฮฟ ฯ„ฮนฯ‚ ฮบฮฑฯฯ„ฮญฮปฮตฯ‚ ฯ€ฮฟฯ… ฮฒฯฮฏฯƒฮบฮฟฮฝฯ„ฮฑฮน ฯƒฯ„ฮฟ ฮฏฮดฮนฮฟ ฮดฮนฮตฯฮธฯ…ฮฝฯƒฮท", + + "cut_az": "ฮผฮตฯ„ฮฑฯ†ฯŒฯฯ„ฯ‰ฯƒฮต ฯ„ฮฑ ฮฑฯฯ‡ฮตฮฏฮฑ ฮฑฮปฯ†ฮฑฮฒฮทฯ„ฮนฮบฮฌ, ฮฑฮฝฯ„ฮฏ ฮณฮนฮฑ ฯ„ฮฟ ฮผฮนฮบฯฯŒฯ„ฮตฯฮฟ ฮฑฯฯ‡ฮตฮฏฮฟ, ฯ€ฯฯŽฯ„ฮฑ$N$Nฮท ฮฑฮปฯ†ฮฑฮฒฮทฯ„ฮนฮบฮฎ ฯƒฮตฮนฯฮฌ ฮฒฮฟฮทฮธฮฌ ฮฝฮฑ ฮบฮฑฯ„ฮฑฮปฮฌฮฒฮตฮนฯ‚ ฮฑฮฝ ฮบฮฌฯ„ฮน ฯ‡ฮฌฮปฮฑฯƒฮต ฯƒฯ„ฮฟ ฮดฮนฮฑฮบฮฟฮผฮนฯƒฯ„ฮฎ ฮฑฮปฮปฮฌ ฮบฮฌฮฝฮตฮน ฯ„ฮฟ ฮฑฮฝฮญฮฒฮฑฯƒฮผฮฑ ฮปฮฏฮณฮฟ ฯ€ฮนฮฟ ฮฑฯฮณฯŒ ฯƒฮต fiber / LAN", + + "cut_nag": "ฮตฮนฮดฮฟฯ€ฮฟฮฏฮทฯƒฮท ฮปฮตฮนฯ„ฮฟฯ…ฯฮณฮนฮบฮฟฯ ฯƒฯ…ฯƒฯ„ฮฎฮผฮฑฯ„ฮฟฯ‚ ฯŒฯ„ฮฑฮฝ ฯ„ฮตฮปฮตฮนฯŽฯƒฮตฮน ฮท ฮผฮตฯ„ฮฑฯ†ฯŒฯฯ„ฯ‰ฯƒฮท$N(ฮผฯŒฮฝฮฟ ฮฑฮฝ ฮฟ browser ฮฎ ฮท ฮบฮฑฯฯ„ฮญฮปฮฑ ฮดฮตฮฝ ฮตฮฏฮฝฮฑฮน ฮตฮฝฮตฯฮณฮฌ)", + "cut_sfx": "ฮทฯ‡ฮทฯ„ฮนฮบฮฎ ฮตฮนฮดฮฟฯ€ฮฟฮฏฮทฯƒฮท ฯŒฯ„ฮฑฮฝ ฯ„ฮตฮปฮตฮนฯŽฯƒฮตฮน ฮท ฮผฮตฯ„ฮฑฯ†ฯŒฯฯ„ฯ‰ฯƒฮท$N(ฮผฯŒฮฝฮฟ ฮฑฮฝ ฮฟ browser ฮฎ ฮท ฮบฮฑฯฯ„ฮญฮปฮฑ ฮดฮตฮฝ ฮตฮฏฮฝฮฑฮน ฮตฮฝฮตฯฮณฮฌ)", + + "cut_mt": "ฯ‡ฯฮทฯƒฮนฮผฮฟฯ€ฮฟฮฏฮทฯƒฮต multithreading ฮณฮนฮฑ ฮฝฮฑ ฮตฯ€ฮนฯ„ฮฑฯ‡ฯฮฝฮตฮนฯ‚ ฯ„ฮฟ hashing ฯ„ฯ‰ฮฝ ฮฑฯฯ‡ฮตฮฏฯ‰ฮฝ$N$Nฯ‡ฯฮทฯƒฮนฮผฮฟฯ€ฮฟฮนฮตฮฏ web-workers ฮบฮฑฮน ฯ‡ฯฮตฮนฮฌฮถฮตฯ„ฮฑฮน$Nฯ€ฮตฯฮนฯƒฯƒฯŒฯ„ฮตฯฮท RAM (ฮผฮญฯ‡ฯฮน 512 MiB ฮตฯ€ฮนฯ€ฮปฮญฮฟฮฝ)$N$Nฮบฮฌฮฝฮตฮน ฯ„ฮฟ https 30% ฯ€ฮนฮฟ ฮณฯฮฎฮณฮฟฯฮฟ, ฯ„ฮฟ http 4.5x ฯ€ฮนฮฟ ฮณฯฮฎฮณฮฟฯฮฟ\">mt", + + "cut_wasm": "ฯ‡ฯฮทฯƒฮนฮผฮฟฯ€ฮฟฮฏฮทฯƒฮต wasm ฮฑฮฝฯ„ฮฏ ฮณฮนฮฑ ฯ„ฮฟฮฝ ฮตฮฝฯƒฯ‰ฮผฮฑฯ„ฯ‰ฮผฮญฮฝฮฟ hasher ฯ„ฮฟฯ… browser; ฮฒฮตฮปฯ„ฮนฯŽฮฝฮตฮน ฯ„ฮทฮฝ ฯ„ฮฑฯ‡ฯฯ„ฮทฯ„ฮฑ ฯƒฮต chrome-based browsers ฮฑฮปฮปฮฌ ฮฑฯ…ฮพฮฌฮฝฮตฮน ฯ„ฮฟ ฯ†ฮฟฯฯ„ฮฏฮฟ ฯ„ฮทฯ‚ CPU, ฮบฮฑฮน ฯ€ฮฑฮปฮนฮญฯ‚ ฮตฮบฮดฯŒฯƒฮตฮนฯ‚ chrome ฮญฯ‡ฮฟฯ…ฮฝ bugs ฯ€ฮฟฯ… ฮบฮฌฮฝฮฟฯ…ฮฝ ฯ„ฮฟ browser ฮฝฮฑ ฯ„ฯฯŽฮตฮน ฯŒฮปฮท ฯ„ฮท RAM ฮบฮฑฮน ฮฝฮฑ ฮบฯฮฑฯƒฮฌฯฮตฮน ฮฑฮฝ ฮตฮฝฮตฯฮณฮฟฯ€ฮฟฮนฮทฮธฮตฮฏ\">wasm", + + "cft_text": "ฮบฮตฮฏฮผฮตฮฝฮฟ favicon (ฮบฮตฮฝฯŒ ฮบฮฑฮน ฮฑฮฝฮฑฮฝฮญฯ‰ฯƒฮท ฮณฮนฮฑ ฮฑฯ€ฮตฮฝฮตฯฮณฮฟฯ€ฮฟฮฏฮทฯƒฮท)", + "cft_fg": "ฯ‡ฯฯŽฮผฮฑ ฯ€ฯฮฟฯƒฮบฮทฮฝฮฏฮฟฯ…", + "cft_bg": "ฯ‡ฯฯŽฮผฮฑ ฯ€ฮฑฯฮฑฯƒฮบฮทฮฝฮฏฮฟฯ…", + + "cdt_lim": "ฮผฮญฮณฮนฯƒฯ„ฮฟฯ‚ ฮฑฯฮนฮธฮผฯŒฯ‚ ฮฑฯฯ‡ฮตฮฏฯ‰ฮฝ ฯ€ฯฮฟฯ‚ ฮตฮผฯ†ฮฌฮฝฮนฯƒฮท ฯƒฮต ฮญฮฝฮฑ ฯ†ฮฌฮบฮตฮปฮฟ", + "cdt_ask": "ฯŒฯ„ฮฑฮฝ ฯ†ฯ„ฮฌฮฝฮตฮนฯ‚ ฯƒฯ„ฮฟ ฯ„ฮญฮปฮฟฯ‚,$Nฮฑฮฝฯ„ฮฏ ฮฝฮฑ ฯ†ฮฟฯฯ„ฯŽฯƒฮตฮน ฯ€ฮตฯฮนฯƒฯƒฯŒฯ„ฮตฯฮฑ ฮฑฯฯ‡ฮตฮฏฮฑ,$Nฯฯ‰ฯ„ฮฌ ฯ„ฮน ฮฝฮฑ ฮบฮฌฮฝฮตฮน", + "cdt_hsort": "ฯ€ฯŒฯƒฮฟฯ…ฯ‚ ฮบฮฑฮฝฯŒฮฝฮตฯ‚ ฯ„ฮฑฮพฮนฮฝฯŒฮผฮทฯƒฮทฯ‚ (<code>,sorthref</code>) ฮฝฮฑ ฯƒฯ…ฮผฯ€ฮตฯฮนฮปฮฌฮฒฮตฮน ฯƒฮต URLs ฯ€ฮฟฮปฯ…ฮผฮญฯƒฯ‰ฮฝ. ฮ‘ฮฝ ฯ„ฮฟ ฮฒฮฌฮปฮตฮนฯ‚ 0 ฮฑฮณฮฝฮฟฮตฮฏ ฮบฮฑฮน ฮบฮฑฮฝฯŒฮฝฮตฯ‚ ฯ„ฮฑฮพฮนฮฝฯŒฮผฮทฯƒฮทฯ‚ ฯƒฯ„ฮฟฯ…ฯ‚ ฯƒฯ…ฮฝฮดฮญฯƒฮผฮฟฯ…ฯ‚ ฯ€ฮฟฮปฯ…ฮผฮญฯƒฯ‰ฮฝ", + "cdt_ren": "ฮตฮฝฮตฯฮณฮฟฯ€ฮฟฮฏฮทฯƒฮท ฯ€ฯฮฟฯƒฮฑฯฮผฮฟฯƒฮผฮญฮฝฮฟฯ… ฮผฮตฮฝฮฟฯ ฮดฮตฮพฮนฮฟฯ ฮบฮปฮนฮบ, ฯ„ฮฟ ฮบฮฑฮฝฮฟฮฝฮนฮบฯŒ ฮผฮตฮฝฮฟฯ ฮตฮฏฮฝฮฑฮน ฯ€ฯฮฟฯƒฮฒฮฌฯƒฮนฮผฮฟ ฮผฮต shift + ฮดฮตฮพฮฏ ฮบฮปฮนฮบ", //m + + "tt_entree": "ฮตฮผฯ†ฮฌฮฝฮนฯƒฮท navpane (ฮดฮญฮฝฯ„ฯฮฟ ฮดฮนฮฑฮดฯฮฟฮผฯŽฮฝ)$Nฮ ฮปฮฎฮบฯ„ฯฮฟ ฯƒฯ…ฮฝฯ„ฯŒฮผฮตฯ…ฯƒฮทฯ‚: B", + "tt_detree": "ฮตฮผฯ†ฮฌฮฝฮนฯƒฮท breadcrumbs (ฮบฮฑฯฯ„ฮญฮปฮตฯ‚ ฮดฮนฮฑฮดฯฮฟฮผฯŽฮฝ)$Nฮ ฮปฮฎฮบฯ„ฯฮฟ ฯƒฯ…ฮฝฯ„ฯŒฮผฮตฯ…ฯƒฮทฯ‚: B", + "tt_visdir": "ฮบฯฮปฮนฯƒฮท ฯƒฯ„ฮฟฮฝ ฮตฯ€ฮนฮปฮตฮณฮผฮญฮฝฮฟ ฯ†ฮฌฮบฮตฮปฮฟ", + "tt_ftree": "ฮตฮฝฮฑฮปฮปฮฑฮณฮฎ ฮดฮญฮฝฯ„ฯฮฟฯ… ฮดฮนฮฑฮดฯฮฟฮผฯŽฮฝ / ฮฑฯฯ‡ฮตฮฏฯ‰ฮฝ ฮบฮตฮนฮผฮญฮฝฮฟฯ…$Nฮ ฮปฮฎฮบฯ„ฯฮฟ ฯƒฯ…ฮฝฯ„ฯŒฮผฮตฯ…ฯƒฮทฯ‚: V", + "tt_pdock": "ฮตฮผฯ†ฮฌฮฝฮนฯƒฮท ฮณฮฟฮฝฮนฮบฯŽฮฝ ฯ†ฮฑฮบฮญฮปฯ‰ฮฝ ฯƒฮต ฯƒฯ„ฮฑฮธฮตฯฮฎ ฮผฯ€ฮฌฯฮฑ ฮตฯ€ฮฌฮฝฯ‰", + "tt_dynt": "ฮฑฯ…ฯ„ฯŒฮผฮฑฯ„ฮท ฮตฯ€ฮญฮบฯ„ฮฑฯƒฮท ฮบฮฑฮธฯŽฯ‚ ฮตฯ€ฮตฮบฯ„ฮตฮฏฮฝฮตฯ„ฮฑฮน ฯ„ฮฟ ฮดฮญฮฝฯ„ฯฮฟ ฮดฮนฮฑฮดฯฮฟฮผฯŽฮฝ", + "tt_wrap": "ฮฑฮฝฮฑฮดฮฏฯ€ฮปฯ‰ฯƒฮท ฮปฮญฮพฮตฯ‰ฮฝ", + "tt_hover": "ฮฑฯ€ฮฟฮบฮฌฮปฯ…ฯˆฮท ฯ„ฯ‰ฮฝ ฮณฯฮฑฮผฮผฯŽฮฝ ฯ€ฮฟฯ… ฮพฮตฯ€ฮตฯฮฝฮฟฯฮฝ ฯ„ฮฟ ฯ€ฮปฮฌฯ„ฮฟฯ‚ ฮผฮต ฯ„ฮฟ ฯ€ฮฟฮฝฯ„ฮฏฮบฮน ฯ€ฮฌฮฝฯ‰ ฯ„ฮฟฯ…ฯ‚$N( ฯƒฯ€ฮฌฮตฮน ฯ„ฮฟ scroll ฮตฮบฯ„ฯŒฯ‚ ฮฑฮฝ ฯ„ฮฟ ฯ€ฮฟฮฝฯ„ฮฏฮบฮน $N  ฮตฮฏฮฝฮฑฮน ฯƒฯ„ฮทฮฝ ฮฑฯฮนฯƒฯ„ฮตฯฮฎ ฯƒฯ„ฮฎฮปฮท )", + + "ml_pmode": "ฯƒฯ„ฮฟ ฯ„ฮญฮปฮฟฯ‚ ฯ„ฮฟฯ… ฯ†ฮฑฮบฮญฮปฮฟฯ…...", + "ml_btns": "ฮตฮฝฯ„ฮฟฮปฮญฯ‚", + "ml_tcode": "ฮผฮตฯ„ฮฑฮบฯ‰ฮดฮนฮบฮฟฯ€ฮฟฮฏฮทฯƒฮท", + "ml_tcode2": "ฮผฮตฯ„ฮฑฮบฯ‰ฮดฮนฮบฮฟฯ€ฮฟฮฏฮทฯƒฮท ฯƒฮต", + "ml_tint": "ฯ†ฮฏฮปฯ„ฯฮฟ ฯ‡ฯฯŽฮผฮฑฯ„ฮฟฯ‚", + "ml_eq": "ฮนฯƒฮฟฯƒฯ„ฮฑฮธฮผฮนฯƒฯ„ฮฎฯ‚ ฮฎฯ‡ฮฟฯ…", + "ml_drc": "ฯƒฯ…ฮผฯ€ฮนฮตฯƒฯ„ฮฎฯ‚ ฮดฯ…ฮฝฮฑฮผฮนฮบฮฎฯ‚ ฮตฮผฮฒฮญฮปฮตฮนฮฑฯ‚", + + "mt_loop": "ฮตฯ€ฮฑฮฝฮฌฮปฮทฯˆฮท ฮตฮฝฯŒฯ‚ ฯ„ฯฮฑฮณฮฟฯ…ฮดฮนฮฟฯ\">๐Ÿ”", + "mt_one": "ฯƒฯ„ฮฑฮผฮฌฯ„ฮฑ ฮผฮตฯ„ฮฌ ฮฑฯ€ฯŒ ฮญฮฝฮฑ ฯ„ฯฮฑฮณฮฟฯฮดฮน\">1๏ธโƒฃ", + "mt_shuf": "ฯ„ฯ…ฯ‡ฮฑฮฏฮฑ ฯƒฮตฮนฯฮฌ ฯ„ฯฮฑฮณฮฟฯ…ฮดฮนฯŽฮฝ ฯƒฮต ฮบฮฌฮธฮต ฯ†ฮฌฮบฮตฮปฮฟ\">๐Ÿ”€", + "mt_aplay": "ฮฑฯ…ฯ„ฯŒฮผฮฑฯ„ฮท ฮฑฮฝฮฑฯ€ฮฑฯฮฑฮณฯ‰ฮณฮฎ ฮฑฮฝ ฯ…ฯ€ฮฌฯฯ‡ฮตฮน song-ID ฯƒฯ„ฮท ฮดฮนฮตฯฮธฯ…ฮฝฯƒฮท ฯ€ฮฟฯ… ฮผฯ€ฮฎฮบฮตฯ‚ ฯƒฯ„ฮฟ ฮดฮนฮฑฮบฮฟฮผฮนฯƒฯ„ฮฎ$N$Nฮท ฮฑฯ€ฮตฮฝฮตฯฮณฮฟฯ€ฮฟฮฏฮทฯƒฮท ฮฑฯ…ฯ„ฮฟฯ, ฯƒฯ„ฮฑฮผฮฑฯ„ฮฌ ฯ„ฮฟ URL ฮฑฯ€ฯŒ ฯ„ฮฟ ฮฝฮฑ ฮตฮฝฮทฮผฮตฯฯŽฮฝฮตฯ„ฮฑฮน ฮผฮต ฯ„ฮฑ song-ID ฮตฮฝฯŽ ฯ€ฮฑฮฏฮถฮตฮน ฮท ฮผฮฟฯ…ฯƒฮนฮบฮฎ ฮณฮนฮฑ ฮฝฮฑ ฮฑฯ€ฮฟฯ„ฯฮฑฯ€ฮตฮฏ ฮท ฮฑฯ…ฯ„ฯŒฮผฮฑฯ„ฮท ฮฑฮฝฮฑฯ€ฮฑฯฮฑฮณฯ‰ฮณฮฎ ฮฑฮฝ ฯ‡ฮฑฮธฮฟฯฮฝ ฮฑฯ…ฯ„ฮญฯ‚ ฮฟฮน ฯฯ…ฮธฮผฮฏฯƒฮตฮนฯ‚ ฮฑฮปฮปฮฌ ฯ„ฮฟ URL ฯ€ฮฑฯฮฑฮผฮตฮฏฮฝฮตฮน ฯ„ฮฟ ฮฏฮดฮนฮฟ\">aโ–ถ", + "mt_preload": "ฮพฮตฮบฮฏฮฝฮฑ ฯ„ฮท ฯ†ฯŒฯฯ„ฯ‰ฯƒฮท ฯ„ฮฟฯ… ฮตฯ€ฯŒฮผฮตฮฝฮฟฯ… ฯ„ฯฮฑฮณฮฟฯ…ฮดฮนฮฟฯ ฮบฮฟฮฝฯ„ฮฌ ฯƒฯ„ฮฟ ฯ„ฮญฮปฮฟฯ‚ ฮณฮนฮฑ ฯƒฯ…ฮฝฮตฯ‡ฯŒฮผฮตฮฝฮท ฮฑฮบฯฯŒฮฑฯƒฮท\">ฯ€ฯฮฟฯ†ฯŒฯฯ„ฯ‰ฯƒฮท", + "mt_prescan": "ฯ€ฮฎฮณฮฑฮนฮฝฮต ฯƒฯ„ฮฟฮฝ ฮตฯ€ฯŒฮผฮตฮฝฮฟ ฯ†ฮฌฮบฮตฮปฮฟ ฯ€ฯฮนฮฝ ฯ„ฮตฮปฮตฮนฯŽฯƒฮตฮน ฯ„ฮฟ ฯ„ฮตฮปฮตฯ…ฯ„ฮฑฮฏฮฟ ฯ„ฯฮฑฮณฮฟฯฮดฮน$Nฮณฮนฮฑ ฮฝฮฑ ฮผฮท ฯƒฯ„ฮฑฮผฮฑฯ„ฮฎฯƒฮตฮน ฯ„ฮฟ ฯ€ฯฯŒฮณฯฮฑฮผฮผฮฑ ฯ€ฮตฯฮนฮฎฮณฮทฯƒฮทฯ‚ ฮฝฮฑ ฯ€ฮฑฮฏฮถฮตฮน ฮผฮฟฯ…ฯƒฮนฮบฮฎ\">nav", + "mt_fullpre": "ฯ€ฯฮฟฯƒฯ€ฮฌฮธฮทฯƒฮต ฮฝฮฑ ฯ€ฯฮฟฯ†ฮฟฯฯ„ฯŽฯƒฮตฮนฯ‚ ฮฟฮปฯŒฮบฮปฮทฯฮฟ ฯ„ฮฟ ฯ„ฯฮฑฮณฮฟฯฮดฮน;$Nโœ… ฮตฮฝฮตฯฮณฯŒ ฯƒฮต ฮฑฮฝฮฑฮพฮนฯŒฯ€ฮนฯƒฯ„ฮตฯ‚ ฯƒฯ…ฮฝฮดฮญฯƒฮตฮนฯ‚,$NโŒ ฯ€ฮนฮธฮฑฮฝฯŒฯ„ฮฑฯ„ฮฑ ฮฑฯ€ฮตฮฝฮตฯฮณฮฟฯ€ฮฟฮนฮทฮผฮญฮฝฮฟ ฯƒฮต ฮฑฯฮณฮญฯ‚ ฯƒฯ…ฮฝฮดฮญฯƒฮตฮนฯ‚\">ฯ€ฮปฮฎฯฮตฯ‚", + "mt_fau": "ฯƒฮต ฮบฮนฮฝฮทฯ„ฮฌ, ฯ€ฯฯŒฮปฮฑฮฒฮต ฮฝฮฑ ฮผฮทฮฝ ฯƒฯ„ฮฑฮผฮฑฯ„ฮฎฯƒฮตฮน ฮท ฮผฮฟฯ…ฯƒฮนฮบฮฎ ฮฑฮฝ ฯ„ฮฟ ฮตฯ€ฯŒฮผฮตฮฝฮฟ ฯ„ฯฮฑฮณฮฟฯฮดฮน ฮดฮตฮฝ ฯ€ฯฮฟฯ†ฮฟฯฯ„ฯŽฮธฮทฮบฮต ฮณฯฮฎฮณฮฟฯฮฑ (ฮผฯ€ฮฟฯฮตฮฏ ฮฝฮฑ ฯ€ฯฮฟฮบฮฑฮปฮญฯƒฮตฮน ฯ€ฯฯŒฮฒฮปฮทฮผฮฑ ฯƒฯ„ฮทฮฝ ฮตฮผฯ†ฮฌฮฝฮนฯƒฮท ฯ„ฯ‰ฮฝ ฮตฯ„ฮนฮบฮตฯ„ฯŽฮฝ)\">โ˜•๏ธ", + "mt_waves": "ฮณฯฮฑฮผฮผฮฎ ฮฑฮฝฮฑฮถฮฎฯ„ฮทฯƒฮทฯ‚ ฮบฯ…ฮผฮฑฯ„ฮฟฮผฮฟฯฯ†ฮฎฯ‚:$Nฮตฮผฯ†ฮฌฮฝฮนฯƒฮท ฮญฮฝฯ„ฮฑฯƒฮทฯ‚ ฮฎฯ‡ฮฟฯ… ฯƒฯ„ฮทฮฝ ฮผฯ€ฮฌฯฮฑ ฮฑฮฝฮฑฮถฮฎฯ„ฮทฯƒฮทฯ‚\">~s", + "mt_npclip": "ฮตฮผฯ†ฮฌฮฝฮนฯƒฮต ฮบฮฟฯ…ฮผฯ€ฮนฮฌ ฮณฮนฮฑ ฮฑฮฝฯ„ฮนฮณฯฮฑฯ†ฮฎ ฯ„ฮฟฯ… ฯ„ฯฮญฯ‡ฮฟฮฝฯ„ฮฟฯ‚ ฯ„ฯฮฑฮณฮฟฯ…ฮดฮนฮฟฯ\">/np", + "mt_m3u_c": "ฮตฮผฯ†ฮฌฮฝฮนฯƒฮต ฮบฮฟฯ…ฮผฯ€ฮนฮฌ ฮณฮนฮฑ ฮฑฮฝฯ„ฮนฮณฯฮฑฯ†ฮฎ ฯ„ฯ‰ฮฝ$Nฮตฯ€ฮนฮปฮตฮณฮผฮญฮฝฯ‰ฮฝ ฯ„ฯฮฑฮณฮฟฯ…ฮดฮนฯŽฮฝ ฯ‰ฯ‚ ฮบฮฑฯ„ฮฑฯ‡ฯ‰ฯฮฎฯƒฮตฮนฯ‚ ฮปฮฏฯƒฯ„ฮฑฯ‚ m3u8\">๐Ÿ“ป", + "mt_octl": "ฮตฮฝฯƒฯ‰ฮผฮฌฯ„ฯ‰ฯƒฮท ฯƒฯ„ฮฟ ฮปฮตฮนฯ„ฮฟฯ…ฯฮณฮนฮบฯŒ ฯƒฯฯƒฯ„ฮทฮผฮฑ (ฯƒฮทฮฝฯ„ฮฟฮผฮตฯฯƒฮตฮนฯ‚ ฯ€ฮปฮฎฮบฯ„ฯฯ‰ฮฝ ฯ€ฮฟฮปฯ…ฮผฮญฯƒฯ‰ฮฝ / osd)\">ฮญฮปฮตฮณฯ‡ฮฟฯ‚-OS", + "mt_oseek": "ฮตฯ€ฮนฯ„ฯฮญฯ€ฮตฮน ฯ„ฮทฮฝ ฮฑฮฝฮฑฮถฮฎฯ„ฮทฯƒฮท ฮผฮญฯƒฯ‰ ฮตฮฝฯƒฯ‰ฮผฮฌฯ„ฯ‰ฯƒฮทฯ‚ ฯ„ฮฟฯ… ฮปฮตฮนฯ„ฮฟฯ…ฯฮณฮนฮบฮฟฯ ฯƒฯ…ฯƒฯ„ฮฎฮผฮฑฯ„ฮฟฯ‚$N$Nฯƒฮทฮผฮตฮฏฯ‰ฯƒฮท: ฯƒฮต ฮผฮตฯฮนฮบฮญฯ‚ ฯƒฯ…ฯƒฮบฮตฯ…ฮญฯ‚ (iPhones),$Nฮฑฮฝฯ„ฮนฮบฮฑฮธฮนฯƒฯ„ฮฌ ฯ„ฮฟ ฮบฮฟฯ…ฮผฯ€ฮฏ ฮตฯ€ฯŒฮผฮตฮฝฮฟฯ… ฯ„ฯฮฑฮณฮฟฯ…ฮดฮนฮฟฯ\">ฮฑฮฝฮฑฮถฮฎฯ„ฮทฯƒฮท", + "mt_oscv": "ฮตฮผฯ†ฮฌฮฝฮนฯƒฮท ฮตฮพฯ‰ฯ†ฯฮปฮปฮฟฯ… ฮฌฮปฮผฯ€ฮฟฯ…ฮผ ฯƒฮต osd\">ฮตฮพฯŽฯ†ฯ…ฮปฮปฮฟ", + "mt_follow": "ฮบฯฮฑฯ„ฮฌ ฯ„ฮฟ ฯ„ฯฮญฯ‡ฮฟฮฝ ฮบฮฟฮผฮผฮฌฯ„ฮน ฮฟฯฮฑฯ„ฯŒ ฮบฮฑฯ„ฮฌ ฯ„ฮทฮฝ ฮบฯฮปฮนฯƒฮท\">๐ŸŽฏ", + "mt_compact": "ฯƒฯ…ฮผฯ€ฮฑฮณฮฎ ฮบฮฟฯ…ฮผฯ€ฮนฮฌ ฮตฮปฮญฮณฯ‡ฮฟฯ…\">โŸŽ", + "mt_uncache": "ฮบฮฑฮธฮฌฯฮนฯƒฮต ฯ„ฮทฮฝ ฯ€ฯฮฟฯƒฯ‰ฯฮนฮฝฮฎ ฮผฮฝฮฎฮผฮท  (ฮดฮฟฮบฮฏฮผฮฑฯƒฮต ฮฑฯ…ฯ„ฯŒ ฮฑฮฝ ฮฟ browser ฮญฯ‡ฮตฮน ฮฑฯ€ฮฟฮธฮทฮบฮตฯฯƒฮตฮน$Nฯ‡ฮฑฮปฮฑฯƒฮผฮญฮฝฮฟ ฮฑฮฝฯ„ฮฏฮณฯฮฑฯ†ฮฟ ฯ„ฯฮฑฮณฮฟฯ…ฮดฮนฮฟฯ ฮบฮฑฮน ฮฑฯฮฝฮตฮฏฯ„ฮฑฮน ฮฝฮฑ ฯ€ฮฑฮฏฮพฮตฮน)\">ฮตฮบฮบฮฑฮธฮฌฯฮนฯƒฮท", + "mt_mloop": "ฯ„ฯ…ฯ‡ฮฑฮฏฮฑ ฮฑฮฝฮฑฯ€ฮฑฯฮฑฮณฯ‰ฮณฮฎ ฯƒฯ„ฮฟฮฝ ฮฑฮฝฮฟฮนฮบฯ„ฯŒ ฯ†ฮฌฮบฮตฮปฮฟ\">๐Ÿ” ฯ„ฯ…ฯ‡ฮฑฮฏฮฑ ฮฑฮฝฮฑฯ€ฮฑฯฮฑฮณฯ‰ฮณฮฎ", + "mt_mnext": "ฯ†ฯŒฯฯ„ฯ‰ฯƒฮท ฮตฯ€ฯŒฮผฮตฮฝฮฟฯ… ฯ†ฮฑฮบฮญฮปฮฟฯ… ฮบฮฑฮน ฯƒฯ…ฮฝฮญฯ‡ฮนฯƒฮท\">๐Ÿ“‚ ฮตฯ€ฯŒฮผฮตฮฝฮฟ", + "mt_mstop": "ฯƒฯ„ฮฑฮผฮฌฯ„ฮทฯƒฮต ฯ„ฮทฮฝ ฮฑฮฝฮฑฯ€ฮฑฯฮฑฮณฯ‰ฮณฮฎ\">โธ ฯƒฯ„ฮฑฮผฮฌฯ„ฮทฮผฮฑ", + "mt_cflac": "ฮผฮตฯ„ฮฑฯ„ฯฮฟฯ€ฮฎ flac / wav ฯƒฮต {0}\">flac", + "mt_caac": "ฮผฮตฯ„ฮฑฯ„ฯฮฟฯ€ฮฎ aac / m4a ฯƒฮต {0}\">aac", + "mt_coth": "ฮผฮตฯ„ฮฑฯ„ฯฮฟฯ€ฮฎ ฯŒฮปฯ‰ฮฝ ฯ„ฯ‰ฮฝ ฮฌฮปฮปฯ‰ฮฝ (ฮตฮบฯ„ฯŒฯ‚ ฯ„ฯ‰ฮฝ mp3) ฯƒฮต {0}\">ฮฌฮปฮปฮฟ", + "mt_c2opus": "ฮบฮฑฮปฯฯ„ฮตฯฮท ฮตฯ€ฮนฮปฮฟฮณฮฎ ฮณฮนฮฑ desktop, laptop, android\">opus", + "mt_c2owa": "opus-weba, ฮณฮนฮฑ iOS 17.5 ฮบฮฑฮน ฮฝฮตฯŒฯ„ฮตฯฮฑ\">owa", + "mt_c2caf": "opus-caf, ฮณฮนฮฑ iOS 11 ฮญฯ‰ฯ‚ 17\">caf", + "mt_c2mp3": "ฯ‡ฯฮทฯƒฮนฮผฮฟฯ€ฮฟฮฏฮทฯƒฮต ฮฑฯ…ฯ„ฯŒ ฯƒฮต ฯ€ฮฟฮปฯ ฯ€ฮฑฮปฮนฮญฯ‚ ฯƒฯ…ฯƒฮบฮตฯ…ฮญฯ‚\">mp3", + "mt_c2flac": "ฮฒฮญฮปฯ„ฮนฯƒฯ„ฮท ฯ€ฮฟฮนฯŒฯ„ฮทฯ„ฮฑ ฮฎฯ‡ฮฟฯ… ฮฑฮปฮปฮฌ ฯ„ฮตฯฮฌฯƒฯ„ฮนฮฟ ฮฑฯฯ‡ฮตฮฏฮฟ ฮณฮนฮฑ ฮผฮตฯ„ฮฑฯ†ฯŒฯฯ„ฯ‰ฯƒฮท\">flac", + "mt_c2wav": "ฮฑฯƒฯ…ฮผฯ€ฮฏฮตฯƒฯ„ฮท ฮฑฮฝฮฑฯ€ฮฑฯฮฑฮณฯ‰ฮณฮฎ (ฮฑฮบฯŒฮผฮฑ ฮผฮตฮณฮฑฮปฯฯ„ฮตฯฮฟ ฮฑฯฯ‡ฮตฮฏฮฟ)\">wav", + "mt_c2ok": "ฮผฮนฮฑ ฯ‡ฮฑฯฮฌ, ฯƒฮฟฯ†ฮฎ ฮตฯ€ฮนฮปฮฟฮณฮฎ", + "mt_c2nd": "ฮดฮตฮฝ ฮตฮฏฮฝฮฑฮน ฮท ฯ€ฯฮฟฯ„ฮตฮนฮฝฯŒฮผฮตฮฝฮท ฮผฮฟฯฯ†ฮฎ ฮตฮพฯŒฮดฮฟฯ… ฮณฮนฮฑ ฯ„ฮท ฯƒฯ…ฯƒฮบฮตฯ…ฮฎ ฯƒฮฟฯ…, ฮฑฮปฮปฮฌ ฮฑฯ…ฯ„ฯŒ ฮตฮฏฮฝฮฑฮน ok", + "mt_c2ng": "ฮท ฯƒฯ…ฯƒฮบฮตฯ…ฮฎ ฯƒฮฟฯ… ฯ†ฮฑฮฏฮฝฮตฯ„ฮฑฮน ฮฝฮฑ ฮผฮทฮฝ ฯ…ฯ€ฮฟฯƒฯ„ฮทฯฮฏฮถฮตฮน ฮฑฯ…ฯ„ฮฎฮฝ ฯ„ฮท ฮผฮฟฯฯ†ฮฎ ฮตฮพฯŒฮดฮฟฯ…, ฮฑฮปฮปฮฌ ฮฑฯ‚ ฯ„ฮฟ ฮดฮฟฮบฮนฮผฮฌฯƒฮฟฯ…ฮผฮต ฮฟฯฯ„ฯ‰ฯ‚ ฮฎ ฮฌฮปฮปฯ‰ฯ‚", + "mt_xowa": "ฯ…ฯ€ฮฌฯฯ‡ฮฟฯ…ฮฝ bugs ฯƒฮต iOS ฯ€ฮฟฯ… ฮตฮผฯ€ฮฟฮดฮฏฮถฮฟฯ…ฮฝ ฯ„ฮทฮฝ ฮฑฮฝฮฑฯ€ฮฑฯฮฑฮณฯ‰ฮณฮฎ ฯƒฯ„ฮฟ ฯ€ฮฑฯฮฑฯƒฮบฮฎฮฝฮนฮฟ ฮผฮต ฮฑฯ…ฯ„ฮฎฮฝ ฯ„ฮท ฮผฮฟฯฯ†ฮฎยท ฯ‡ฯฮทฯƒฮนฮผฮฟฯ€ฮฟฮฏฮทฯƒฮต caf ฮฎ mp3 ฮฑฮฝฯ„โ€™ ฮฑฯ…ฯ„ฮฟฯ", + "mt_tint": "ฮตฯ€ฮฏฯ€ฮตฮดฮฟ ฯ†ฯŒฮฝฯ„ฮฟฯ… (0-100) ฯƒฯ„ฮทฮฝ ฮผฯ€ฮฌฯฮฑ ฮฑฮฝฮฑฮถฮฎฯ„ฮทฯƒฮทฯ‚$Nฮณฮนฮฑ ฮฝฮฑ ฮบฮฌฮฝฮตฮนฯ‚ ฯ„ฮฟ buffering ฮปฮนฮณฯŒฯ„ฮตฯฮฟ ฮตฮฝฮฟฯ‡ฮปฮทฯ„ฮนฮบฯŒ", + "mt_eq": "ฮตฮฝฮตฯฮณฮฟฯ€ฮฟฮนฮตฮฏ ฯ„ฮฟฮฝ ฮนฯƒฮฟฯƒฯ„ฮฑฮธฮผฮนฯƒฯ„ฮฎ ฮบฮฑฮน ฯ„ฮฟฮฝ ฮญฮปฮตฮณฯ‡ฮฟ ฮตฮฝฮฏฯƒฯ‡ฯ…ฯƒฮทฯ‚;$N$Nฮตฮฝฮฏฯƒฯ‡ฯ…ฯƒฮท <code>0</code> = ฯƒฯ„ฮฌฮฝฯ„ฮฑฯ 100% ฮญฮฝฯ„ฮฑฯƒฮท (ฮฑฯ€ฮฑฯฮฌฮปฮปฮฑฯ‡ฯ„ฮท)$N$Nฮตฯฯฮฟฯ‚ <code>1  </code> = ฯƒฯ„ฮฌฮฝฯ„ฮฑฯ ฯƒฯ„ฮตฯฮตฮฟฯ†ฯ‰ฮฝฮนฮบฯŒ (ฮฑฯ€ฮฑฯฮฌฮปฮปฮฑฯ‡ฯ„ฮฟ)$Nฮตฯฯฮฟฯ‚ <code>0.5</code> = 50% ฮฑฯฮนฯƒฯ„ฮตฯฮฌ-ฮดฮตฮพฮนฮฌ ฮผฮฏฮพฮท ฮฎฯ‡ฮฟฯ…$Nฮตฯฯฮฟฯ‚ <code>0  </code> = ฮผฮฟฮฝฮฟฯ†ฯ‰ฮฝฮนฮบฯŒ$N$Nฮตฮฝฮฏฯƒฯ‡ฯ…ฯƒฮท <code>-0.8</code> & ฮตฯฯฮฟฯ‚ <code>10</code> = ฮฑฯ†ฮฑฮฏฯฮตฯƒฮท ฯ†ฯ‰ฮฝฮฎฯ‚ :^)$N$Nฮท ฮตฮฝฮตฯฮณฮฟฯ€ฮฟฮฏฮทฯƒฮท ฯ„ฮฟฯ… ฮนฯƒฮฟฯƒฯ„ฮฑฮธฮผฮนฯƒฯ„ฮฎ ฮบฮฌฮฝฮตฮน ฯ„ฮฑ ฮฌฮปฮผฯ€ฮฟฯ…ฮผ ฯ‡ฯ‰ฯฮฏฯ‚ ฮบฮตฮฝฮฌ, ฮฝฮฑ ฯ€ฮฑฮฏฮถฮฟฯ…ฮฝ ฯ‡ฯ‰ฯฮฏฯ‚ ฮบฮฑฮธฯŒฮปฮฟฯ… ฮบฮตฮฝฮฌ, ฮฟฯ€ฯŒฯ„ฮต ฮฌฯ†ฮทฯƒฮญ ฯ„ฮฟ ฮตฮฝฮตฯฮณฯŒ ฮผฮต ฯŒฮปฮตฯ‚ ฯ„ฮนฯ‚ ฯ„ฮนฮผฮญฯ‚ ฯƒฯ„ฮฟ ฮผฮทฮดฮญฮฝ (ฮตฮบฯ„ฯŒฯ‚ ฮฑฯ€ฯŒ ฮตฯฯฮฟฯ‚ = 1) ฮฑฮฝ ฯƒฮต ฮฝฮฟฮนฮฌฮถฮตฮน", + "mt_drc": "ฮตฮฝฮตฯฮณฮฟฯ€ฮฟฮนฮตฮฏ ฯ„ฮฟฮฝ ฯƒฯ…ฮผฯ€ฮนฮตฯƒฯ„ฮฎ ฮดฯ…ฮฝฮฑฮผฮนฮบฮฎฯ‚ ฮตฮผฮฒฮญฮปฮตฮนฮฑฯ‚ (ฮตฮพฮฟฮผฮฌฮปฯ…ฮฝฯƒฮท ฮญฮฝฯ„ฮฑฯƒฮทฯ‚ / ฮฑฮบฯฮฑฮฏฮฑ ฯƒฯ…ฮผฯ€ฮฏฮตฯƒฮท ฮญฮฝฯ„ฮฑฯƒฮทฯ‚); ฮธฮฑ ฮตฮฝฮตฯฮณฮฟฯ€ฮฟฮนฮฎฯƒฮตฮน ฮบฮฑฮน ฯ„ฮฟฮฝ ฮนฯƒฮฟฯƒฯ„ฮฑฮธฮผฮนฯƒฯ„ฮฎ ฮณฮนฮฑ ฮฝฮฑ ฮนฯƒฮฟฯฯฮฟฯ€ฮฎฯƒฮตฮน ฯ„ฮฟฮฝ ฮฎฯ‡ฮฟ, ฮฟฯ€ฯŒฯ„ฮต ฮฒฮฌฮปฮต ฯŒฮปฮฑ ฯ„ฮฑ ฯ€ฮตฮดฮฏฮฑ ฮนฯƒฮฟฯƒฯ„ฮฑฮธฮผฮนฯƒฯ„ฮฎ ฮตฮบฯ„ฯŒฯ‚ ฮฑฯ€ฯŒ ฯ„ฮฟ 'ฮตฯฯฮฟฯ‚' ฯƒฯ„ฮฟ 0 ฮฑฮฝ ฮดฮตฮฝ ฯ„ฮฟ ฮธฮตฯ‚$N$Nฯ‡ฮฑฮผฮทฮปฯŽฮฝฮตฮน ฯ„ฮทฮฝ ฮญฮฝฯ„ฮฑฯƒฮท ฯ„ฮฟฯ… ฮฎฯ‡ฮฟฯ… ฯ€ฮฌฮฝฯ‰ ฮฑฯ€ฯŒ ฯ„ฮฟ ฯŒฯฮนฮฟ (THRESHOLD) dB; ฮณฮนฮฑ ฮบฮฌฮธฮต RATIO dB ฯ€ฮญฯฮฑ ฮฑฯ€ฯŒ ฯ„ฮฟ ฯŒฯฮนฮฟ ฯ…ฯ€ฮฌฯฯ‡ฮตฮน 1 dB ฮตฮพฯŒฮดฮฟฯ…, ฮฟฯ€ฯŒฯ„ฮต ฮฟฮน ฯ€ฯฮฟฮตฯ€ฮนฮปฮตฮณฮผฮญฮฝฮตฯ‚ ฯ„ฮนฮผฮญฯ‚ ฯŒฯฮนฮฟ -24 ฮบฮฑฮน 'ฮปฯŒฮณฮฟฯ‚' 12 ฯƒฮทฮผฮฑฮฏฮฝฮฟฯ…ฮฝ ฯŒฯ„ฮน ฮดฮตฮฝ ฮธฮฑ ฮพฮตฯ€ฮตฯฮฌฯƒฮตฮน ฯ€ฮฟฯ„ฮญ ฯ„ฮฑ -22 dB ฮบฮฑฮน ฮตฮฏฮฝฮฑฮน ฮฑฯƒฯ†ฮฑฮปฮญฯ‚ ฮฝฮฑ ฮฑฯ…ฮพฮฎฯƒฮตฮนฯ‚ ฯ„ฮทฮฝ ฮตฮฝฮฏฯƒฯ‡ฯ…ฯƒฮท ฮนฯƒฮฟฯƒฯ„ฮฑฮธฮผฮนฯƒฯ„ฮฎ ฯƒฮต 0.8, ฮฎ ฮบฮฑฮน 1.8 ฮผฮต ATK 0 ฮบฮฑฮน ฮผฮตฮณฮฌฮปฮฟ RLS ฯŒฯ€ฯ‰ฯ‚ 90 (ฮดฮฟฯ…ฮปฮตฯฮตฮน ฮผฯŒฮฝฮฟ ฯƒฮต firefoxยท ฯ„ฮฟ RLS ฮตฮฏฮฝฮฑฮน max 1 ฯƒฮต ฮฌฮปฮปฮฟฯ…ฯ‚ browsers)$N$N(ฮดฮตฯ‚ wikipedia, ฯ„ฮฟ ฮตฮพฮทฮณฮฟฯฮฝ ฮบฮฑฮปฯฯ„ฮตฯฮฑ)", + + "mb_play": "ฯ€ฮฑฮฏฮพฮต", + "mm_hashplay": "ฮฝฮฑ ฯ€ฮฑฮฏฮพฯ‰ ฮฑฯ…ฯ„ฯŒ ฯ„ฮฟ ฮฑฯฯ‡ฮตฮฏฮฟ ฮฎฯ‡ฮฟฯ…;", + "mm_m3u": "ฯ€ฮฌฯ„ฮฑ Enter/ฮ•ฮฝฯ„ฮฌฮพฮตฮน ฮณฮนฮฑ ฮ‘ฮฝฮฑฯ€ฮฑฯฮฑฮณฯ‰ฮณฮฎ\nฯ€ฮฌฯ„ฮฑ ESC/ฮ†ฮบฯ…ฯฮฟ ฮณฮนฮฑ ฮ•ฯ€ฮตฮพฮตฯฮณฮฑฯƒฮฏฮฑ", + "mp_breq": "ฯ‡ฯฮตฮนฮฌฮถฮตฯ„ฮฑฮน firefox 82+ ฮฎ chrome 73+ ฮฎ iOS 15+", + "mm_bload": "ฯ†ฮฟฯฯ„ฯŽฮฝฮตฮน...", + "mm_bconv": "ฮผฮตฯ„ฮฑฯ„ฯฮฟฯ€ฮฎ ฯƒฮต {0}, ฯ€ฮตฯฮฏฮผฮตฮฝฮต...", + "mm_opusen": "ฮฟ browser ฯƒฮฟฯ… ฮดฮตฮฝ ฯ€ฮฑฮฏฮถฮตฮน ฮฑฯฯ‡ฮตฮฏฮฑ aac / m4a;\nฮท ฮผฮตฯ„ฮฑฯ„ฯฮฟฯ€ฮฎ ฯƒฮต opus ฮตฮฏฮฝฮฑฮน ฯ„ฯŽฯฮฑ ฮตฮฝฮตฯฮณฮฎ", + "mm_playerr": "ฮท ฮฑฮฝฮฑฯ€ฮฑฯฮฑฮณฯ‰ฮณฮฎ, ฮฑฯ€ฮญฯ„ฯ…ฯ‡ฮต: ", + "mm_eabrt": "ฮ— ฯ€ฯฮฟฯƒฯ€ฮฌฮธฮตฮนฮฑ ฮฑฮฝฮฑฯ€ฮฑฯฮฑฮณฯ‰ฮณฮฎฯ‚ ฮฑฮบฯ…ฯฯŽฮธฮทฮบฮต", + "mm_enet": "ฮ— ฯƒฯฮฝฮดฮตฯƒฮท ฯ„ฮฟฯ… ฮฏฮฝฯ„ฮตฯฮฝฮญฯ„ ฯƒฮฟฯ… ฮตฮฏฮฝฮฑฮน ฯ‡ฮฌฮปฮนฮฑ", + "mm_edec": "ฮคฮฟ ฮฑฯฯ‡ฮตฮฏฮฟ ฮฑฯ…ฯ„ฯŒ ฮตฮฏฮฝฮฑฮน ฮผฮฌฮปฮปฮฟฮฝ ฮบฮฑฯ„ฮตฯƒฯ„ฯฮฑฮผฮผฮญฮฝฮฟ;;", + "mm_esupp": "ฮŸ browser ฯƒฮฟฯ… ฮดฮตฮฝ ฮบฮฑฯ„ฮฑฮปฮฑฮฒฮฑฮฏฮฝฮตฮน ฮฑฯ…ฯ„ฮฎ ฯ„ฮท ฮผฮฟฯฯ†ฮฎ ฮฎฯ‡ฮฟฯ…", + "mm_eunk": "ฮ†ฮณฮฝฯ‰ฯƒฯ„ฮฟ ฯƒฯ†ฮฌฮปฮผฮฑ", + "mm_e404": "ฮ‘ฮดฯฮฝฮฑฯ„ฮท ฮท ฮฑฮฝฮฑฯ€ฮฑฯฮฑฮณฯ‰ฮณฮฎ ฮฎฯ‡ฮฟฯ…; ฯƒฯ†ฮฌฮปฮผฮฑ 404: ฮคฮฟ ฮฑฯฯ‡ฮตฮฏฮฟ ฮดฮตฮฝ ฮฒฯฮญฮธฮทฮบฮต.", + "mm_e403": "ฮ‘ฮดฯฮฝฮฑฯ„ฮท ฮท ฮฑฮฝฮฑฯ€ฮฑฯฮฑฮณฯ‰ฮณฮฎ ฮฎฯ‡ฮฟฯ…; ฯƒฯ†ฮฌฮปฮผฮฑ 403: ฮ†ฯฮฝฮทฯƒฮท ฯ€ฯฯŒฯƒฮฒฮฑฯƒฮทฯ‚.\n\nฮ”ฮฟฮบฮฏฮผฮฑฯƒฮต F5 ฮณฮนฮฑ ฮตฯ€ฮฑฮฝฮฑฯ†ฯŒฯฯ„ฯ‰ฯƒฮท, ฮฏฯƒฯ‰ฯ‚ ฮฝฮฑ ฮญฯ‡ฮตฮนฯ‚ ฮฑฯ€ฮฟฯƒฯ…ฮฝฮดฮตฮธฮตฮฏ", + "mm_e500": "ฮ‘ฮดฯฮฝฮฑฯ„ฮท ฮท ฮฑฮฝฮฑฯ€ฮฑฯฮฑฮณฯ‰ฮณฮฎ ฮฎฯ‡ฮฟฯ…; ฯƒฯ†ฮฌฮปฮผฮฑ 500: ฮˆฮปฮตฮณฮพฮต ฯ„ฮฑ logs ฯ„ฮฟฯ… ฮดฮนฮฑฮบฮฟฮผฮนฯƒฯ„ฮฎ.", + "mm_e5xx": "ฮ‘ฮดฯฮฝฮฑฯ„ฮท ฮท ฮฑฮฝฮฑฯ€ฮฑฯฮฑฮณฯ‰ฮณฮฎ ฮฎฯ‡ฮฟฯ…; ฯƒฯ†ฮฌฮปฮผฮฑ ฮดฮนฮฑฮบฮฟฮผฮนฯƒฯ„ฮฎ", + "mm_nof": "ฮดฮตฮฝ ฮฒฯฮญฮธฮทฮบฮฑฮฝ ฮฌฮปฮปฮฑ ฮฑฯฯ‡ฮตฮฏฮฑ ฮฎฯ‡ฮฟฯ… ฯ„ฯฮนฮณฯฯฯ‰", + "mm_prescan": "ฮ‘ฮฝฮฑฮถฮฎฯ„ฮทฯƒฮท ฮผฮฟฯ…ฯƒฮนฮบฮฎฯ‚ ฮณฮนฮฑ ฮตฯ€ฯŒฮผฮตฮฝฮฟ ฯ„ฯฮฑฮณฮฟฯฮดฮน...", + "mm_scank": "ฮ’ฯฮญฮธฮทฮบฮต ฯ„ฮฟ ฮตฯ€ฯŒฮผฮตฮฝฮฟ ฯ„ฯฮฑฮณฮฟฯฮดฮน:", + "mm_uncache": "ฮบฯฯ…ฯ†ฮฎ ฮผฮฝฮฎฮผฮท ฮบฮฑฮธฮฑฯฮฏฯƒฯ„ฮทฮบฮตยท ฯŒฮปฮฑ ฯ„ฮฑ ฯ„ฯฮฑฮณฮฟฯฮดฮนฮฑ ฮธฮฑ ฮพฮฑฮฝฮฑฮบฮฑฯ„ฮตฮฒฮฟฯฮฝ ฯƒฯ„ฮทฮฝ ฮตฯ€ฯŒฮผฮตฮฝฮท ฮฑฮฝฮฑฯ€ฮฑฯฮฑฮณฯ‰ฮณฮฎ", + "mm_hnf": "ฯ„ฮฟ ฯ„ฯฮฑฮณฮฟฯฮดฮน ฮฑฯ…ฯ„ฯŒ ฯ€ฮปฮญฮฟฮฝ ฮดฮตฮฝ ฯ…ฯ€ฮฌฯฯ‡ฮตฮน", + + "im_hnf": "ฮท ฮตฮนฮบฯŒฮฝฮฑ ฮฑฯ…ฯ„ฮฎ ฯ€ฮปฮญฮฟฮฝ ฮดฮตฮฝ ฯ…ฯ€ฮฌฯฯ‡ฮตฮน", + + "f_empty": "ฮฑฯ…ฯ„ฯŒฯ‚ ฮฟ ฯ†ฮฌฮบฮตฮปฮฟฯ‚ ฮตฮฏฮฝฮฑฮน ฮฌฮดฮตฮนฮฟฯ‚", + "f_chide": "ฮฑฯ…ฯ„ฯŒ ฮธฮฑ ฮบฯฯฯˆฮตฮน ฯ„ฮท ฯƒฯ„ฮฎฮปฮท ยซ{0}ยป\n\nฮผฯ€ฮฟฯฮตฮฏฯ‚ ฮฝฮฑ ฮตฮผฯ†ฮฑฮฝฮฏฯƒฮตฮนฯ‚ ฯ„ฮนฯ‚ ฯƒฯ„ฮฎฮปฮตฯ‚ ฮฑฯ€ฯŒ ฯ„ฮนฯ‚ ฯฯ…ฮธฮผฮฏฯƒฮตฮนฯ‚", + "f_bigtxt": "ฮฑฯ…ฯ„ฯŒ ฯ„ฮฟ ฮฑฯฯ‡ฮตฮฏฮฟ ฮตฮฏฮฝฮฑฮน {0} MiB ฯƒฮต ฮผฮญฮณฮตฮธฮฟฯ‚ โ€” ฯƒฮฏฮณฮฟฯ…ฯฮฑ ฮธฮญฮปฮตฮนฯ‚ ฮฝฮฑ ฯ„ฮฟ ฮดฮตฮนฯ‚ ฯ‰ฯ‚ ฮบฮตฮฏฮผฮตฮฝฮฟ;", + "f_bigtxt2": "ฮฝฮฑ ฮดฮตฮนฯ‚ ฮผฯŒฮฝฮฟ ฯ„ฮฟ ฯ„ฮญฮปฮฟฯ‚ ฯ„ฮฟฯ… ฮฑฯฯ‡ฮตฮฏฮฟฯ… ฮฑฮฝฯ„ฮฏ ฮณฮนฮฑ ฯŒฮปฮฟ; ฮฑฯ…ฯ„ฯŒ ฮตฮฝฮตฯฮณฮฟฯ€ฮฟฮนฮตฮฏ ฮบฮฑฮน ฯ„ฮฟ following/tailing, ฯ€ฮฟฯ… ฮดฮตฮฏฯ‡ฮฝฮตฮน ฮฝฮญฮตฯ‚ ฮณฯฮฑฮผฮผฮญฯ‚ ฯ€ฮฟฯ… ฯ€ฯฮฟฯƒฯ„ฮฏฮธฮตฮฝฯ„ฮฑฮน ฮถฯ‰ฮฝฯ„ฮฑฮฝฮฌ", + "fbd_more": '
    ฮตฮผฯ†ฮฑฮฝฮฏฮถฮฟฮฝฯ„ฮฑฮน {0} ฮฑฯ€ฯŒ {1} ฮฑฯฯ‡ฮตฮฏฮฑ; ฮดฮตฮฏฮพฮต {2} ฮฎ ฮดฮตฮฏฮพฮต ฯ„ฮฑ ฯŒฮปฮฑ
    ', + "fbd_all": '
    ฮตฮผฯ†ฮฑฮฝฮฏฮถฮฟฮฝฯ„ฮฑฮน {0} ฮฑฯ€ฯŒ {1} ฮฑฯฯ‡ฮตฮฏฮฑ; ฮดฮตฮฏฮพฮต ฯŒฮปฮฑ
    ', + "f_anota": "ฮผฯŒฮฝฮฟ {0} ฮฑฯ€ฯŒ ฯ„ฮฑ {1} ฮฑฮฝฯ„ฮนฮบฮตฮฏฮผฮตฮฝฮฑ ฮตฯ€ฮนฮปฮญฯ‡ฮธฮทฮบฮฑฮฝ;\nฮณฮนฮฑ ฮฝฮฑ ฮตฯ€ฮนฮปฮญฮพฮตฮนฯ‚ ฮฟฮปฯŒฮบฮปฮทฯฮฟ ฯ„ฮฟ ฯ†ฮฌฮบฮตฮปฮฟ, ฮบฯฮปฮทฯƒฮต ฯ€ฯฯŽฯ„ฮฑ ฮผฮญฯ‡ฯฮน ฮบฮฌฯ„ฯ‰", + + "f_dls": 'ฮฟฮน ฯƒฯฮฝฮดฮตฯƒฮผฮฟฮน ฮฑฯฯ‡ฮตฮฏฯ‰ฮฝ ฯƒฯ„ฮฟฮฝ ฯ„ฯฮญฯ‡ฮฟฮฝฯ„ฮฑ ฯ†ฮฌฮบฮตฮปฮฟ ฮญฯ‡ฮฟฯ…ฮฝ\nฮผฮตฯ„ฮฑฯ„ฯฮฑฯ€ฮตฮฏ ฯƒฮต ฯƒฯ…ฮฝฮดฮญฯƒฮผฮฟฯ…ฯ‚ ฮปฮฎฯˆฮทฯ‚', + + "f_partial": "ฮ“ฮนฮฑ ฮฝฮฑ ฮบฮฑฯ„ฮตฮฒฮฌฯƒฮตฮนฯ‚ ฮผฮต ฮฑฯƒฯ†ฮฌฮปฮตฮนฮฑ ฮญฮฝฮฑ ฮฑฯฯ‡ฮตฮฏฮฟ ฯ€ฮฟฯ… ฮฑฮฝฮตฮฒฮฑฮฏฮฝฮตฮน, ฮบฮปฮฏฮบฮฑฯฮต ฯ„ฮฟ ฮฑฯฯ‡ฮตฮฏฮฟ ฮผฮต ฯ„ฮฟ ฮฏฮดฮนฮฟ ฯŒฮฝฮฟฮผฮฑ, ฮฑฮปฮปฮฌ ฯ‡ฯ‰ฯฮฏฯ‚ ฯ„ฮทฮฝ ฮบฮฑฯ„ฮฌฮปฮทฮพฮท .PARTIAL. ฮ ฮฌฯ„ฮฑ ฮ†ฮบฯ…ฯฮฟ ฮฎ Escape ฮณฮนฮฑ ฮฝฮฑ ฯƒฯ„ฮฑฮผฮฑฯ„ฮฎฯƒฮตฮนฯ‚.\n\nฮ ฮฌฯ„ฮฑ ฮ•ฮฝฯ„ฮฌฮพฮตฮน / Enter ฮฑฮฝ ฮฑฮณฮฝฮฟฮตฮฏฯ‚ ฯ„ฮทฮฝ ฯ€ฯฮฟฮตฮนฮดฮฟฯ€ฮฟฮฏฮทฯƒฮท ฮบฮฑฮน ฮบฮฑฯ„ฮญฮฒฮฑฯƒฮต ฯ„ฮฟ .PARTIAL ฮฑฯฯ‡ฮตฮฏฮฟ, ฯ€ฮฟฯ… ฯƒฯ‡ฮตฮดฯŒฮฝ ฯƒฮฏฮณฮฟฯ…ฯฮฑ ฮธฮฑ ฮตฮฏฮฝฮฑฮน ฮบฮฑฯ„ฮตฯƒฯ„ฯฮฑฮผฮผฮญฮฝฮฟ.", + + "ft_paste": "ฮตฯ€ฮนฮบฯŒฮปฮปฮทฯƒฮต {0} ฮฑฮฝฯ„ฮนฮบฮตฮฏฮผฮตฮฝฮฑ$Nฮ ฮปฮฎฮบฯ„ฯฮฟ ฯƒฯ…ฮฝฯ„ฯŒฮผฮตฯ…ฯƒฮทฯ‚: ctrl-V", + "fr_eperm": 'ฮดฮตฮฝ ฮผฯ€ฮฟฯฮตฮฏ ฮฝฮฑ ฮผฮตฯ„ฮฟฮฝฮฟฮผฮฑฯƒฯ„ฮตฮฏ:\nฮดฮตฮฝ ฮญฯ‡ฮตฮนฯ‚ ฮดฮนฮบฮฑฮฏฯ‰ฮผฮฑ โ€œฮผฮตฯ„ฮฑฮบฮฏฮฝฮทฯƒฮทฯ‚โ€ ฯƒฮต ฮฑฯ…ฯ„ฯŒฮฝ ฯ„ฮฟ ฯ†ฮฌฮบฮตฮปฮฟ', + "fd_eperm": 'ฮดฮตฮฝ ฮผฯ€ฮฟฯฮตฮฏ ฮฝฮฑ ฮดฮนฮฑฮณฯฮฑฯ†ฮตฮฏ:\nฮดฮตฮฝ ฮญฯ‡ฮตฮนฯ‚ ฮดฮนฮบฮฑฮฏฯ‰ฮผฮฑ โ€œฮดฮนฮฑฮณฯฮฑฯ†ฮฎฯ‚โ€ ฯƒฮต ฮฑฯ…ฯ„ฯŒฮฝ ฯ„ฮฟ ฯ†ฮฌฮบฮตฮปฮฟ', + "fc_eperm": 'ฮดฮตฮฝ ฮผฯ€ฮฟฯฮตฮฏ ฮฝฮฑ ฮบฮฟฯ€ฮตฮฏ:\nฮดฮตฮฝ ฮญฯ‡ฮตฮนฯ‚ ฮดฮนฮบฮฑฮฏฯ‰ฮผฮฑ โ€œฮผฮตฯ„ฮฑฮบฮฏฮฝฮทฯƒฮทฯ‚โ€ ฯƒฮต ฮฑฯ…ฯ„ฯŒฮฝ ฯ„ฮฟ ฯ†ฮฌฮบฮตฮปฮฟ', + "fp_eperm": 'ฮดฮตฮฝ ฮผฯ€ฮฟฯฮตฮฏ ฮฝฮฑ ฮตฯ€ฮนฮบฮฟฮปฮปฮทฮธฮตฮฏ:\nฮดฮตฮฝ ฮญฯ‡ฮตฮนฯ‚ ฮดฮนฮบฮฑฮฏฯ‰ฮผฮฑ โ€œฮตฮณฮณฯฮฑฯ†ฮฎฯ‚โ€ ฯƒฮต ฮฑฯ…ฯ„ฯŒฮฝ ฯ„ฮฟ ฯ†ฮฌฮบฮตฮปฮฟ', + "fr_emore": "ฮตฯ€ฮฏฮปฮตฮพฮต ฯ„ฮฟฯ…ฮปฮฌฯ‡ฮนฯƒฯ„ฮฟฮฝ ฮญฮฝฮฑ ฮฑฮฝฯ„ฮนฮบฮตฮฏฮผฮตฮฝฮฟ ฮณฮนฮฑ ฮผฮตฯ„ฮฟฮฝฮฟฮผฮฑฯƒฮฏฮฑ", + "fd_emore": "ฮตฯ€ฮฏฮปฮตฮพฮต ฯ„ฮฟฯ…ฮปฮฌฯ‡ฮนฯƒฯ„ฮฟฮฝ ฮญฮฝฮฑ ฮฑฮฝฯ„ฮนฮบฮตฮฏฮผฮตฮฝฮฟ ฮณฮนฮฑ ฮดฮนฮฑฮณฯฮฑฯ†ฮฎ", + "fc_emore": "ฮตฯ€ฮฏฮปฮตฮพฮต ฯ„ฮฟฯ…ฮปฮฌฯ‡ฮนฯƒฯ„ฮฟฮฝ ฮญฮฝฮฑ ฮฑฮฝฯ„ฮนฮบฮตฮฏฮผฮตฮฝฮฟ ฮณฮนฮฑ ฮฑฯ€ฮฟฮบฮฟฯ€ฮฎ", + "fcp_emore": "ฮตฯ€ฮฏฮปฮตฮพฮต ฯ„ฮฟฯ…ฮปฮฌฯ‡ฮนฯƒฯ„ฮฟฮฝ ฮญฮฝฮฑ ฮฑฮฝฯ„ฮนฮบฮตฮฏฮผฮตฮฝฮฟ ฮณฮนฮฑ ฮฑฮฝฯ„ฮนฮณฯฮฑฯ†ฮฎ ฯƒฯ„ฮฟ ฯ€ฯฯŒฯ‡ฮตฮนฯฮฟ", + + "fs_sc": "ฮผฮฟฮนฯฮฌฯƒฮฟฯ… ฯ„ฮฟ ฯ†ฮฌฮบฮตฮปฮฟ ฯ€ฮฟฯ… ฮฒฯฮฏฯƒฮบฮตฯƒฮฑฮน", + "fs_ss": "ฮผฮฟฮนฯฮฌฯƒฮฟฯ… ฯ„ฮฑ ฮตฯ€ฮนฮปฮตฮณฮผฮญฮฝฮฑ ฮฑฯฯ‡ฮตฮฏฮฑ", + "fs_just1d": "ฮดฮตฮฝ ฮผฯ€ฮฟฯฮตฮฏฯ‚ ฮฝฮฑ ฮตฯ€ฮนฮปฮญฮพฮตฮนฯ‚ ฯ€ฮตฯฮนฯƒฯƒฯŒฯ„ฮตฯฮฟฯ…ฯ‚ ฮฑฯ€ฯŒ ฮญฮฝฮฑฮฝ ฯ†ฮฑฮบฮญฮปฮฟฯ…ฯ‚,\nฮฎ ฮฝฮฑ ฮฑฮฝฮฑฮผฮตฮฏฮพฮตฮนฯ‚ ฮฑฯฯ‡ฮตฮฏฮฑ ฮบฮฑฮน ฯ†ฮฑฮบฮญฮปฮฟฯ…ฯ‚ ฯƒฯ„ฮทฮฝ ฮฏฮดฮนฮฑ ฮตฯ€ฮนฮปฮฟฮณฮฎ", + "fs_abrt": "โŒ ฮฑฮบฯฯฯ‰ฯƒฮท", + "fs_rand": "๐ŸŽฒ ฯ„ฯ…ฯ‡ฮฑฮฏฮฟ ฯŒฮฝฮฟฮผฮฑ", + "fs_go": "โœ… ฮดฮทฮผฮนฮฟฯฯฮณฮทฯƒฮต ฮบฮฟฮนฮฝฮฎ ฯ‡ฯฮฎฯƒฮท", + "fs_name": "ฯŒฮฝฮฟฮผฮฑ", + "fs_src": "ฯ€ฮทฮณฮฎ", + "fs_pwd": "ฮบฯ‰ฮดฮนฮบฯŒฯ‚", + "fs_exp": "ฮปฮฎฮพฮท", + "fs_tmin": "ฮปฮตฯ€ฯ„ฮฌ", + "fs_thrs": "ฯŽฯฮตฯ‚", + "fs_tdays": "ฮทฮผฮญฯฮตฯ‚", + "fs_never": "ฮฑฮนฯŽฮฝฮนฮฟ", + "fs_pname": "ฯ€ฯฮฟฮฑฮนฯฮตฯ„ฮนฮบฯŒ ฯŒฮฝฮฟฮผฮฑ ฯƒฯ…ฮฝฮดฮญฯƒฮผฮฟฯ…; ฮฑฮฝ ฮตฮฏฮฝฮฑฮน ฮบฮตฮฝฯŒ, ฮธฮฑ ฮตฮฏฮฝฮฑฮน ฯ„ฯ…ฯ‡ฮฑฮฏฮฟ", + "fs_tsrc": "ฯ„ฮฟ ฮฑฯฯ‡ฮตฮฏฮฟ ฮฎ ฮฟ ฯ†ฮฌฮบฮตฮปฮฟฯ‚ ฯ€ฯฮฟฯ‚ ฮบฮฟฮนฮฝฮฎ ฯ‡ฯฮฎฯƒฮท", + "fs_ppwd": "ฯ€ฯฮฟฮฑฮนฯฮตฯ„ฮนฮบฯŒฯ‚ ฮบฯ‰ฮดฮนฮบฯŒฯ‚", + "fs_w8": "ฮดฮทฮผฮนฮฟฯ…ฯฮณฮฏฮฑ ฮบฮฟฮนฮฝฮฎฯ‚ ฯ‡ฯฮฎฯƒฮทฯ‚...", + "fs_ok": "ฯ€ฮฌฯ„ฮฑ Enter/ฮ•ฮฝฯ„ฮฌฮพฮตฮน ฮณฮนฮฑ ฮ ฯฯŒฯ‡ฮตฮนฯฮฟ\nฯ€ฮฌฯ„ฮฑ ESC/ฮ†ฮบฯ…ฯฮฟ ฮณฮนฮฑ ฮšฮปฮตฮฏฯƒฮนฮผฮฟ", + + "frt_dec": "ฮผฯ€ฮฟฯฮตฮฏ ฮฝฮฑ ฮดฮนฮฟฯฮธฯŽฯƒฮตฮน ฮผฮตฯฮนฮบฮญฯ‚ ฯ€ฮตฯฮนฯ€ฯ„ฯŽฯƒฮตฮนฯ‚ ฮบฮฑฯ„ฮตฯƒฯ„ฯฮฑฮผฮผฮญฮฝฯ‰ฮฝ ฮฟฮฝฮฟฮผฮฌฯ„ฯ‰ฮฝ ฮฑฯฯ‡ฮตฮฏฯ‰ฮฝ\">ฮฑฯ€ฮฟฮบฯ‰ฮดฮนฮบฮฟฯ€ฮฟฮฏฮทฯƒฮท url", + "frt_rst": "ฮตฯ€ฮฑฮฝฮญฯ†ฮตฯฮต ฯ„ฮฑ ฮฟฮฝฯŒฮผฮฑฯ„ฮฑ ฮฑฯฯ‡ฮตฮฏฯ‰ฮฝ ฯƒฯ„ฮฑ ฮฑฯฯ‡ฮนฮบฮฌ ฯ„ฮฟฯ…ฯ‚\">โ†บ ฮตฯ€ฮฑฮฝฮฑฯ†ฮฟฯฮฌ", + "frt_abrt": "ฮฑฮบฯฯฯ‰ฯƒฮต ฮบฮฑฮน ฮบฮปฮตฮฏฯƒฮต ฮฑฯ…ฯ„ฯŒ ฯ„ฮฟ ฯ€ฮฑฯฮฌฮธฯ…ฯฮฟ\">โŒ ฮฑฮบฯฯฯ‰ฯƒฮท", + "frb_apply": "ฮ•ฮฆฮ‘ฮกฮœฮŸฮ“ฮ— ฮœฮ•ฮคฮŸฮฮŸฮœฮ‘ฮฃฮ™ฮ‘ฮฃ", + "fr_adv": "ฮผฮฑฮถฮนฮบฮฎ / ฮผฮตฯ„ฮฑฮดฮตฮดฮฟฮผฮญฮฝฮฑ / ฮผฮตฯ„ฮฟฮฝฮฟฮผฮฑฯƒฮฏฮฑ ฮผฮต ฯ€ฯฯŒฯ„ฯ…ฯ€ฮฑ\">ฯ€ฯฮฟฯ‡ฯ‰ฯฮทฮผฮญฮฝฮท", + "fr_case": "regex ฮผฮต ฮดฮนฮฌฮบฯฮนฯƒฮท ฯ€ฮตฮถฯŽฮฝ/ฮบฮตฯ†ฮฑฮปฮฑฮฏฯ‰ฮฝ\">case", + "fr_win": "ฮฑฯƒฯ†ฮฑฮปฮฎ ฮฟฮฝฯŒฮผฮฑฯ„ฮฑ ฮณฮนฮฑ windows; ฮฑฮฝฯ„ฮนฮบฮฑฮธฮนฯƒฯ„ฮฌ <>:"\\|?* ฮผฮต ฮนฮฑฯ€ฯ‰ฮฝฮนฮบฮฟฯฯ‚ ฯ‡ฮฑฯฮฑฮบฯ„ฮฎฯฮตฯ‚ ฯ€ฮปฮฎฯฮฟฯ…ฯ‚ ฯ€ฮปฮฌฯ„ฮฟฯ…ฯ‚\">win", + "fr_slash": "ฮฑฮฝฯ„ฮนฮบฮฑฮธฮฏฯƒฯ„ฮฑฯ„ฮฑฮน / ฮผฮต ฯ‡ฮฑฯฮฑฮบฯ„ฮฎฯฮฑ ฯ€ฮฟฯ… ฮดฮตฮฝ ฮดฮทฮผฮนฮฟฯ…ฯฮณฮตฮฏ ฮฝฮญฮฟฯ…ฯ‚ ฯ†ฮฑฮบฮญฮปฮฟฯ…ฯ‚\">ฯŒฯ‡ฮน /", + "fr_re": "ฮผฮฟฯ„ฮฏฮฒฮฑ ฮฑฮฝฮฑฮถฮฎฯ„ฮทฯƒฮทฯ‚ (regex) ฮณฮนฮฑ ฮฑฮฝฮฑฮถฮฎฯ„ฮทฯƒฮท ฯƒฯ„ฮฑ ฮฑฯฯ‡ฮนฮบฮฌ ฮฟฮฝฯŒฮผฮฑฯ„ฮฑ; ฯ„ฮฑ ฮบฮฑฯ„ฮฑฮณฯฮฑฯ†ฯŒฮผฮตฮฝฮฑ groups ฮผฯ€ฮฟฯฮฟฯฮฝ ฮฝฮฑ ฯ‡ฯฮทฯƒฮนฮผฮฟฯ€ฮฟฮนฮทฮธฮฟฯฮฝ ฯƒฯ„ฮฟ ฯ€ฮตฮดฮฏฮฟ ฮผฮฟฯฯ†ฮฟฯ€ฮฟฮฏฮทฯƒฮทฯ‚ ฯ€ฮฑฯฮฑฮบฮฌฯ„ฯ‰ ฯŒฯ€ฯ‰ฯ‚ <code>(1)</code> ฮบฮฑฮน <code>(2)</code> ฮบฮฑฮน ฮฟฯฯ„ฯ‰ ฮบฮฑฮธฮตฮพฮฎฯ‚", + "fr_fmt": "ฮตฮผฯ€ฮฝฮตฯ…ฯƒฮผฮญฮฝฮฟ ฮฑฯ€ฯŒ foobar2000:$N<code>(title)</code> ฮฑฮฝฯ„ฮนฮบฮฑฮธฮฏฯƒฯ„ฮฑฯ„ฮฑฮน ฮฑฯ€ฯŒ ฯ„ฮฏฯ„ฮปฮฟ ฯ„ฯฮฑฮณฮฟฯ…ฮดฮนฮฟฯ,$N<code>[(artist) - ](title)</code> ฯ€ฮฑฯฮฑฮปฮตฮฏฯ€ฮตฮน ฯ„ฮฟ [this] ฮฑฮฝ ฯ„ฮฟ artist ฮตฮฏฮฝฮฑฮน ฮบฮตฮฝฯŒ$N<code>$lpad((tn),2,0)</code> ฮณฮตฮผฮฏฮถฮตฮน ฯ„ฮฟฮฝ ฮฑฯฮนฮธฮผฯŒ ฮบฮฟฮผฮผฮฑฯ„ฮนฮฟฯ ฯƒฮต 2 ฯˆฮทฯ†ฮฏฮฑ", + "fr_pdel": "ฮดฮนฮฑฮณฯฮฑฯ†ฮฎ", + "fr_pnew": "ฮฑฯ€ฮฟฮธฮฎฮบฮตฯ…ฯƒฮท ฯ‰ฯ‚", + "fr_pname": "ฮดฯŽฯƒฮต ฯŒฮฝฮฟฮผฮฑ ฮณฮนฮฑ ฯ„ฮท ฮฝฮญฮฑ ฯ€ฯฮฟฮตฯ€ฮนฮปฮฟฮณฮฎ", + "fr_aborted": "ฮฑฮบฯ…ฯฯŽฮธฮทฮบฮต", + "fr_lold": "ฯ€ฮฑฮปฮนฯŒ ฯŒฮฝฮฟฮผฮฑ", + "fr_lnew": "ฮฝฮญฮฟ ฯŒฮฝฮฟฮผฮฑ", + "fr_tags": "ฮตฯ„ฮนฮบฮญฯ„ฮตฯ‚ ฮณฮนฮฑ ฯ„ฮฑ ฮตฯ€ฮนฮปฮตฮณฮผฮญฮฝฮฑ ฮฑฯฯ‡ฮตฮฏฮฑ (ฮผฯŒฮฝฮฟ ฮณฮนฮฑ ฮฑฮฝฮฌฮณฮฝฯ‰ฯƒฮท):", + "fr_busy": "ฮผฮตฯ„ฮฟฮฝฮฟฮผฮฑฯƒฮฏฮฑ {0} ฮฑฮฝฯ„ฮนฮบฮตฮนฮผฮญฮฝฯ‰ฮฝ...\n\n{1}", + "fr_efail": "ฮฑฯ€ฮฟฯ„ฯ…ฯ‡ฮฏฮฑ ฮผฮตฯ„ฮฟฮฝฮฟฮผฮฑฯƒฮฏฮฑฯ‚:\n", + "fr_nchg": "{0} ฮฑฯ€ฯŒ ฯ„ฮฑ ฮฝฮญฮฑ ฮฟฮฝฯŒฮผฮฑฯ„ฮฑ ฮฌฮปฮปฮฑฮพฮฑฮฝ ฮปฯŒฮณฯ‰ win ฮบฮฑฮน/ฮฎ ฯŒฯ‡ฮน /\n\nฮ•ฮฏฮฝฮฑฮน ฮŸฮš ฮฝฮฑ ฯƒฯ…ฮฝฮตฯ‡ฮฏฯƒฮฟฯ…ฮผฮต ฮผฮต ฮฑฯ…ฯ„ฮฌ ฯ„ฮฑ ฮฟฮฝฯŒฮผฮฑฯ„ฮฑ;", + + "fd_ok": "ฮดฮนฮฑฮณฯฮฑฯ†ฮฎ OK", + "fd_err": "ฮฑฯ€ฮฟฯ„ฯ…ฯ‡ฮฏฮฑ ฮดฮนฮฑฮณฯฮฑฯ†ฮฎฯ‚:\n", + "fd_none": "ฮดฮตฮฝ ฮดฮนฮฑฮณฯฮฌฯ†ฮทฮบฮต ฯ„ฮฏฯ€ฮฟฯ„ฮฑ; ฮฏฯƒฯ‰ฯ‚ ฮผฯ€ฮปฮฟฮบฮฑฯฮนฯƒฮผฮญฮฝฮฟ ฮฑฯ€ฯŒ ฯ„ฮนฯ‚ ฯฯ…ฮธฮผฮฏฯƒฮตฮนฯ‚ ฯ„ฮฟฯ… ฮดฮนฮฑฮบฮฟฮผฮนฯƒฯ„ฮฎ (xbd);", + "fd_busy": "ฮดฮนฮฑฮณฯฮฑฯ†ฮฎ {0} ฮฑฮฝฯ„ฮนฮบฮตฮนฮผฮญฮฝฯ‰ฮฝ...\n\n{1}", + "fd_warn1": "ฮ”ฮ™ฮ‘ฮ“ฮกฮ‘ฮฆฮ— ฮฑฯ…ฯ„ฯŽฮฝ ฯ„ฯ‰ฮฝ {0} ฮฑฮฝฯ„ฮนฮบฮตฮนฮผฮญฮฝฯ‰ฮฝ;", + "fd_warn2": "ฮคฮตฮปฮตฯ…ฯ„ฮฑฮฏฮฑ ฮตฯ…ฮบฮฑฮนฯฮฏฮฑ! ฮ”ฮตฮฝ ฯ…ฯ€ฮฌฯฯ‡ฮตฮน ฮฑฮฝฮฑฮฏฯฮตฯƒฮท. ฮ”ฮนฮฑฮณฯฮฑฯ†ฮฎ;", + + "fc_ok": "ฮฑฯ€ฮฟฮบฮฟฯ€ฮฎ {0} ฮฑฮฝฯ„ฮนฮบฮตฮนฮผฮญฮฝฯ‰ฮฝ", + "fc_warn": 'ฮฑฯ€ฮฟฮบฮฟฯ€ฮฎ {0} ฮฑฮฝฯ„ฮนฮบฮตฮนฮผฮญฮฝฯ‰ฮฝ\n\nฮฑฮปฮปฮฌ: ฮผฯŒฮฝฮฟ ฮฑฯ…ฯ„ฮฎ ฮท ฮบฮฑฯฯ„ฮญฮปฮฑ browser ฮผฯ€ฮฟฯฮตฮฏ ฮฝฮฑ ฯ„ฮฑ ฮตฯ€ฮนฮบฮฟฮปฮปฮฎฯƒฮตฮน\n(ฮปฯŒฮณฯ‰ ฯ€ฮฟฮปฯ ฮผฮตฮณฮฌฮปฮทฯ‚ ฮตฯ€ฮนฮปฮฟฮณฮฎฯ‚)', + + "fcc_ok": "ฮฑฮฝฯ„ฮนฮณฯฮฌฯ†ฮทฮบฮฑฮฝ {0} ฮฑฮฝฯ„ฮนฮบฮตฮฏฮผฮตฮฝฮฑ ฯƒฯ„ฮฟ ฯ€ฯฯŒฯ‡ฮตฮนฯฮฟ", + "fcc_warn": "ฮฑฮฝฯ„ฮนฮณฯฮฌฯ†ฮทฮบฮฑฮฝ {0} ฮฑฮฝฯ„ฮนฮบฮตฮฏฮผฮตฮฝฮฑ ฯƒฯ„ฮฟ ฯ€ฯฯŒฯ‡ฮตฮนฯฮฟ\n\nฮฑฮปฮปฮฌ: ฮผฯŒฮฝฮฟ ฮฑฯ…ฯ„ฮฎ ฮท ฮบฮฑฯฯ„ฮญฮปฮฑ browser ฮผฯ€ฮฟฯฮตฮฏ ฮฝฮฑ ฯ„ฮฑ ฮตฯ€ฮนฮบฮฟฮปฮปฮฎฯƒฮตฮน\n(ฮปฯŒฮณฯ‰ ฯ€ฮฟฮปฯ ฮผฮตฮณฮฌฮปฮทฯ‚ ฮตฯ€ฮนฮปฮฟฮณฮฎฯ‚)", + + "fp_apply": "ฯ‡ฯฮทฯƒฮนฮผฮฟฯ€ฮฟฮฏฮทฯƒฮต ฮฑฯ…ฯ„ฮฌ ฯ„ฮฑ ฮฟฮฝฯŒฮผฮฑฯ„ฮฑ", + "fp_skip": "ฮฑฮณฮฝฯŒฮทฯƒฮต ฯƒฯ…ฮณฮบฯฮฟฯฯƒฮตฮนฯ‚", //m + "fp_ecut": "ฯ€ฯฯŽฯ„ฮฑ ฮบฮฌฮฝฮต ฮฑฯ€ฮฟฮบฮฟฯ€ฮฎ ฮฎ ฮฑฮฝฯ„ฮนฮณฯฮฑฯ†ฮฎ ฮบฮฌฯ€ฮฟฮนฯ‰ฮฝ ฮฑฯฯ‡ฮตฮฏฯ‰ฮฝ / ฯ†ฮฑฮบฮญฮปฯ‰ฮฝ ฮณฮนฮฑ ฮตฯ€ฮนฮบฯŒฮปฮปฮทฯƒฮท / ฮผฮตฯ„ฮฑฮบฮฏฮฝฮทฯƒฮท\n\nฯƒฮทฮผฮตฮฏฯ‰ฯƒฮท: ฮผฯ€ฮฟฯฮตฮฏฯ‚ ฮฝฮฑ ฮฑฯ€ฮฟฮบฯŒฯ€ฯ„ฮตฮนฯ‚ / ฮตฯ€ฮนฮบฮฟฮปฮปฮฌฯ‚ ฮฑฮฝฮฌฮผฮตฯƒฮฑ ฯƒฮต ฮดฮนฮฑฯ†ฮฟฯฮตฯ„ฮนฮบฮญฯ‚ ฮบฮฑฯฯ„ฮญฮปฮตฯ‚ browser", + "fp_ename": "ฯ„ฮฑ {0} ฮฑฮฝฯ„ฮนฮบฮตฮฏฮผฮตฮฝฮฑ ฮดฮตฮฝ ฮผฯ€ฮฟฯฮฟฯฮฝ ฮฝฮฑ ฮผฮตฯ„ฮฑฮบฮนฮฝฮทฮธฮฟฯฮฝ ฮตฮดฯŽ ฮณฮนฮฑฯ„ฮฏ ฯ„ฮฑ ฮฟฮฝฯŒฮผฮฑฯ„ฮฑ ฯ…ฯ€ฮฌฯฯ‡ฮฟฯ…ฮฝ ฮฎฮดฮท. ฮ”ฯŽฯƒฮต ฮฝฮญฮฑ ฮฟฮฝฯŒฮผฮฑฯ„ฮฑ ฯ€ฮฑฯฮฑฮบฮฌฯ„ฯ‰ ฮณฮนฮฑ ฮฝฮฑ ฯƒฯ…ฮฝฮตฯ‡ฮฏฯƒฮตฮนฯ‚, ฮฎ ฮฌฯ†ฮทฯƒฮต ฮบฮตฮฝฯŒ (\"ฮฑฮณฮฝฯŒฮทฯƒฮต ฯƒฯ…ฮณฮบฯฮฟฯฯƒฮตฮนฯ‚\") ฮณฮนฮฑ ฮฝฮฑ ฯ„ฮฑ ฮฑฮณฮฝฮฟฮฎฯƒฮตฮนฯ‚:", //m + "fcp_ename": "ฯ„ฮฑ {0} ฮฑฮฝฯ„ฮนฮบฮตฮฏฮผฮตฮฝฮฑ ฮดฮตฮฝ ฮผฯ€ฮฟฯฮฟฯฮฝ ฮฝฮฑ ฮฑฮฝฯ„ฮนฮณฯฮฑฯ†ฮฟฯฮฝ ฮตฮดฯŽ ฮณฮนฮฑฯ„ฮฏ ฯ„ฮฑ ฮฟฮฝฯŒฮผฮฑฯ„ฮฑ ฯ…ฯ€ฮฌฯฯ‡ฮฟฯ…ฮฝ ฮฎฮดฮท. ฮ”ฯŽฯƒฮต ฮฝฮญฮฑ ฮฟฮฝฯŒฮผฮฑฯ„ฮฑ ฯ€ฮฑฯฮฑฮบฮฌฯ„ฯ‰ ฮณฮนฮฑ ฮฝฮฑ ฯƒฯ…ฮฝฮตฯ‡ฮฏฯƒฮตฮนฯ‚, ฮฎ ฮฌฯ†ฮทฯƒฮต ฮบฮตฮฝฯŒ (\"ฮฑฮณฮฝฯŒฮทฯƒฮต ฯƒฯ…ฮณฮบฯฮฟฯฯƒฮตฮนฯ‚\") ฮณฮนฮฑ ฮฝฮฑ ฯ„ฮฑ ฮฑฮณฮฝฮฟฮฎฯƒฮตฮนฯ‚:", //m + "fp_emore": "ฯ…ฯ€ฮฌฯฯ‡ฮฟฯ…ฮฝ ฮฑฮบฯŒฮผฮฑ ฯƒฯ…ฮณฮบฯฮฟฯฯƒฮตฮนฯ‚ ฮฟฮฝฮฟฮผฮฌฯ„ฯ‰ฮฝ ฯ€ฮฟฯ… ฯ€ฯฮญฯ€ฮตฮน ฮฝฮฑ ฮดฮนฮฟฯฮธฯ‰ฮธฮฟฯฮฝ", + "fp_ok": "ฮผฮตฯ„ฮฑฮบฮฏฮฝฮทฯƒฮท OK", + "fcp_ok": "ฮฑฮฝฯ„ฮนฮณฯฮฑฯ†ฮฎ OK", + "fp_busy": "ฮผฮตฯ„ฮฑฮบฮฏฮฝฮทฯƒฮท {0} ฮฑฮฝฯ„ฮนฮบฮตฮนฮผฮญฮฝฯ‰ฮฝ...\n\n{1}", + "fcp_busy": "ฮฑฮฝฯ„ฮนฮณฯฮฑฯ†ฮฎ {0} ฮฑฮฝฯ„ฮนฮบฮตฮนฮผฮญฮฝฯ‰ฮฝ...\n\n{1}", + "fp_abrt": "ฮณฮฏฮฝฮตฯ„ฮฑฮน ฮฑฮบฯฯฯ‰ฯƒฮท...", //m + "fp_err": "ฮฑฯ€ฮฟฯ„ฯ…ฯ‡ฮฏฮฑ ฮผฮตฯ„ฮฑฮบฮฏฮฝฮทฯƒฮทฯ‚:\n", + "fcp_err": "ฮฑฯ€ฮฟฯ„ฯ…ฯ‡ฮฏฮฑ ฮฑฮฝฯ„ฮนฮณฯฮฑฯ†ฮฎฯ‚:\n", + "fp_confirm": "ฮฝฮฑ ฮผฮตฯ„ฮฑฮบฮนฮฝฮทฮธฮฟฯฮฝ ฮฑฯ…ฯ„ฮฌ ฯ„ฮฑ {0} ฮฑฮฝฯ„ฮนฮบฮตฮฏฮผฮตฮฝฮฑ ฮตฮดฯŽ;", + "fcp_confirm": "ฮฝฮฑ ฮฑฮฝฯ„ฮนฮณฯฮฑฯ†ฮฟฯฮฝ ฮฑฯ…ฯ„ฮฌ ฯ„ฮฑ {0} ฮฑฮฝฯ„ฮนฮบฮตฮฏฮผฮตฮฝฮฑ ฮตฮดฯŽ;", + "fp_etab": "ฮฑฯ€ฮฟฯ„ฯ…ฯ‡ฮฏฮฑ ฮฑฮฝฮฌฮณฮฝฯ‰ฯƒฮทฯ‚ ฯ€ฯฯŒฯ‡ฮตฮนฯฮฟฯ… ฮฑฯ€ฯŒ ฮฌฮปฮปฮท ฮบฮฑฯฯ„ฮญฮปฮฑ browser", + "fp_name": "ฮผฮตฯ„ฮฑฯ†ฯŒฯฯ„ฯ‰ฯƒฮท ฮฑฯฯ‡ฮตฮฏฮฟฯ… ฮฑฯ€ฯŒ ฯ„ฮท ฯƒฯ…ฯƒฮบฮตฯ…ฮฎ ฯƒฮฟฯ…. ฮ”ฯŽฯƒฮต ฯ„ฮฟฯ… ฯŒฮฝฮฟฮผฮฑ:", + "fp_both_m": '
    ฮดฮนฮฌฮปฮตฮพฮต ฯ„ฮน ฮธฮฑ ฮตฯ€ฮนฮบฮฟฮปฮปฮฎฯƒฮตฮนฯ‚
    Enter = ฮœฮตฯ„ฮฑฮบฮฏฮฝฮทฯƒฮท {0} ฮฑฯฯ‡ฮตฮฏฯ‰ฮฝ ฮฑฯ€ฯŒ ยซ{1}ยป\nESC = ฮœฮตฯ„ฮฑฯ†ฯŒฯฯ„ฯ‰ฯƒฮท {2} ฮฑฯฯ‡ฮตฮฏฯ‰ฮฝ ฮฑฯ€ฯŒ ฯ„ฮท ฯƒฯ…ฯƒฮบฮตฯ…ฮฎ ฯƒฮฟฯ…', + "fcp_both_m": '
    ฮดฮนฮฌฮปฮตฮพฮต ฯ„ฮน ฮธฮฑ ฮตฯ€ฮนฮบฮฟฮปฮปฮฎฯƒฮตฮนฯ‚
    Enter = ฮ‘ฮฝฯ„ฮนฮณฯฮฑฯ†ฮฎ {0} ฮฑฯฯ‡ฮตฮฏฯ‰ฮฝ ฮฑฯ€ฯŒ ยซ{1}ยป\nESC = ฮœฮตฯ„ฮฑฯ†ฯŒฯฯ„ฯ‰ฯƒฮท {2} ฮฑฯฯ‡ฮตฮฏฯ‰ฮฝ ฮฑฯ€ฯŒ ฯ„ฮท ฯƒฯ…ฯƒฮบฮตฯ…ฮฎ ฯƒฮฟฯ…', + "fp_both_b": 'ฮœฮตฯ„ฮฑฮบฮฏฮฝฮทฯƒฮทฮœฮตฯ„ฮฑฯ†ฯŒฯฯ„ฯ‰ฯƒฮท', + "fcp_both_b": 'ฮ‘ฮฝฯ„ฮนฮณฯฮฑฯ†ฮฎฮœฮตฯ„ฮฑฯ†ฯŒฯฯ„ฯ‰ฯƒฮท', + + "mk_noname": "ฮณฯฮฌฯˆฮต ฮญฮฝฮฑ ฯŒฮฝฮฟฮผฮฑ ฯƒฯ„ฮฟ ฯ€ฮตฮดฮฏฮฟ ฮบฮตฮนฮผฮญฮฝฮฟฯ… ฮฑฯฮนฯƒฯ„ฮตฯฮฌ ฯ€ฯฮนฮฝ ฯ„ฮฟ ฮบฮฌฮฝฮตฮนฯ‚ :p", + "nmd_i1": "ฮผฯ€ฮฟฯฮตฮฏฯ„ฮต ฮตฯ€ฮฏฯƒฮทฯ‚ ฮฝฮฑ ฯ€ฯฮฟฯƒฮธฮญฯƒฮตฯ„ฮต ฯ„ฮทฮฝ ฮบฮฑฯ„ฮฌฮปฮทฮพฮท ฯ€ฮฟฯ… ฮธฮญฮปฮตฯ„ฮต, ฯŒฯ€ฯ‰ฯ‚ .md", //m + "nmd_i2": "ฮผฯ€ฮฟฯฮตฮฏฯ„ฮต ฮฝฮฑ ฮดฮทฮผฮนฮฟฯ…ฯฮณฮฎฯƒฮตฯ„ฮต ฮผฯŒฮฝฮฟ ฮฑฯฯ‡ฮตฮฏฮฑ .md ฮตฯ€ฮตฮนฮดฮฎ ฮดฮตฮฝ ฮญฯ‡ฮตฯ„ฮต ฮดฮนฮบฮฑฮฏฯ‰ฮผฮฑ ฮดฮนฮฑฮณฯฮฑฯ†ฮฎฯ‚", //m + + "tv_load": "ฮฆฯŒฯฯ„ฯ‰ฯƒฮท ฮฑฯฯ‡ฮตฮฏฮฟฯ… ฮบฮตฮนฮผฮญฮฝฮฟฯ…:\n\n{0}\n\n{1}% ({2} ฮฑฯ€ฯŒ {3} MiB ฯ†ฮฟฯฯ„ฯ‰ฮผฮญฮฝฮฑ)", + "tv_xe1": "ฮฑฮดฯ…ฮฝฮฑฮผฮฏฮฑ ฯ†ฯŒฯฯ„ฯ‰ฯƒฮทฯ‚ ฮฑฯฯ‡ฮตฮฏฮฟฯ… ฮบฮตฮนฮผฮญฮฝฮฟฯ…:\n\nฯƒฯ†ฮฌฮปฮผฮฑ ", + "tv_xe2": "404, ฮฑฯฯ‡ฮตฮฏฮฟ ฮดฮตฮฝ ฮฒฯฮญฮธฮทฮบฮต", + "tv_lst": "ฮปฮฏฯƒฯ„ฮฑ ฮฑฯฯ‡ฮตฮฏฯ‰ฮฝ ฮบฮตฮนฮผฮญฮฝฮฟฯ… ฯƒฮต", + "tvt_close": "ฮตฯ€ฮนฯƒฯ„ฯฮฟฯ†ฮฎ ฯƒฯ„ฮทฮฝ ฯ€ฯฮฟฮฒฮฟฮปฮฎ ฯ†ฮฑฮบฮญฮปฮฟฯ…$Nฮฃฯ…ฮฝฯ„ฯŒฮผฮตฯ…ฯƒฮท: M (ฮฎ Esc)\">โŒ ฮบฮปฮตฮฏฯƒฮนฮผฮฟ", + "tvt_dl": "ฮบฮฑฯ„ฮญฮฒฮฑฯƒฮต ฮฑฯ…ฯ„ฯŒ ฯ„ฮฟ ฮฑฯฯ‡ฮตฮฏฮฟ$Nฮฃฯ…ฮฝฯ„ฯŒฮผฮตฯ…ฯƒฮท: Y\">๐Ÿ’พ ฮปฮฎฯˆฮท", + "tvt_prev": "ฯ€ฯฮฟฮฒฮฟฮปฮฎ ฯ€ฯฮฟฮทฮณฮฟฯฮผฮตฮฝฮฟฯ… ฮตฮณฮณฯฮฌฯ†ฮฟฯ…$Nฮฃฯ…ฮฝฯ„ฯŒฮผฮตฯ…ฯƒฮท: i\">โฌ† ฯ€ฯฮฟฮทฮณฮฟฯฮผฮตฮฝฮฟ", + "tvt_next": "ฯ€ฯฮฟฮฒฮฟฮปฮฎ ฮตฯ€ฯŒฮผฮตฮฝฮฟฯ… ฮตฮณฮณฯฮฌฯ†ฮฟฯ…$Nฮฃฯ…ฮฝฯ„ฯŒฮผฮตฯ…ฯƒฮท: K\">โฌ‡ ฮตฯ€ฯŒฮผฮตฮฝฮฟ", + "tvt_sel": "ฮตฯ€ฮญฮปฮตฮพฮต ฮฑฯฯ‡ฮตฮฏฮฟ   (ฮณฮนฮฑ ฮฑฯ€ฮฟฮบฮฟฯ€ฮฎ / ฮฑฮฝฯ„ฮนฮณฯฮฑฯ†ฮฎ / ฮดฮนฮฑฮณฯฮฑฯ†ฮฎ / ...)$Nฮฃฯ…ฮฝฯ„ฯŒฮผฮตฯ…ฯƒฮท: S\">ฮตฯ€ฮนฮปฮฟฮณฮฎ", + "tvt_j": "ฮฟฮผฮฟฯฯ†ฮฟฯ€ฮฟฮฏฮทฯƒฮท json$Nฮฃฯ…ฮฝฯ„ฯŒฮผฮตฯ…ฯƒฮท: shift-J\">j", //m + "tvt_edit": "ฮฌฮฝฮฟฮนฮณฮผฮฑ ฮฑฯฯ‡ฮตฮฏฮฟฯ… ฯƒฯ„ฮฟฮฝ ฮตฯ€ฮตฮพฮตฯฮณฮฑฯƒฯ„ฮฎ ฮบฮตฮนฮผฮญฮฝฮฟฯ…$Nฮฃฯ…ฮฝฯ„ฯŒฮผฮตฯ…ฯƒฮท: E\">โœ๏ธ ฮตฯ€ฮตฮพฮตฯฮณฮฑฯƒฮฏฮฑ", + "tvt_tail": "ฯ€ฮฑฯฮฑฮบฮฟฮปฮฟฯฮธฮทฯƒฮท ฮฑฯฯ‡ฮตฮฏฮฟฯ… ฮณฮนฮฑ ฮฑฮปฮปฮฑฮณฮญฯ‚; ฮตฮผฯ†ฮฌฮฝฮนฯƒฮท ฮฝฮญฯ‰ฮฝ ฮณฯฮฑฮผฮผฯŽฮฝ ฯƒฮต ฯ€ฯฮฑฮณฮผฮฑฯ„ฮนฮบฯŒ ฯ‡ฯฯŒฮฝฮฟ\">๐Ÿ“ก ฯ€ฮฑฯฮฑฮบฮฟฮปฮฟฯฮธฮทฯƒฮท", + "tvt_wrap": "ฮฑฮฝฮฑฮดฮฏฯ€ฮปฯ‰ฯƒฮท ฮปฮญฮพฮตฯ‰ฮฝ\">โ†ต", + "tvt_atail": "ฮบฮปฮตฮฏฮดฯ‰ฮผฮฑ ฮบฯฮปฮนฯƒฮทฯ‚ ฯƒฯ„ฮฟ ฮบฮฌฯ„ฯ‰ ฮผฮญฯฮฟฯ‚\">โš“", + "tvt_ctail": "ฮฑฯ€ฮฟฮบฯ‰ฮดฮนฮบฮฟฯ€ฮฟฮฏฮทฯƒฮท ฯ‡ฯฯ‰ฮผฮฌฯ„ฯ‰ฮฝ ฯ„ฮตฯฮผฮฑฯ„ฮนฮบฮฟฯ (ansi escape codes)\">๐ŸŒˆ", + "tvt_ntail": "ฯŒฯฮนฮฟ ฮบฯฮปฮนฯƒฮทฯ‚ (ฯ€ฯŒฯƒฮฑ bytes ฮบฮตฮนฮผฮญฮฝฮฟฯ… ฮฝฮฑ ฮบฯฮฑฯ„ฮฟฯฮฝฯ„ฮฑฮน ฯ†ฮฟฯฯ„ฯ‰ฮผฮญฮฝฮฑ)", + + "m3u_add1": "ฯ„ฮฟ ฯ„ฯฮฑฮณฮฟฯฮดฮน ฯ€ฯฮฟฯƒฯ„ฮญฮธฮทฮบฮต ฯƒฯ„ฮท ฮปฮฏฯƒฯ„ฮฑ m3u", + "m3u_addn": "ฯ€ฯฮฟฯƒฯ„ฮญฮธฮทฮบฮฑฮฝ {0} ฯ„ฯฮฑฮณฮฟฯฮดฮนฮฑ ฯƒฯ„ฮท ฮปฮฏฯƒฯ„ฮฑ m3u", + "m3u_clip": "ฮท ฮปฮฏฯƒฯ„ฮฑ m3u ฮฑฮฝฯ„ฮนฮณฯฮฌฯ†ฮทฮบฮต ฯƒฯ„ฮฟ ฯ€ฯฯŒฯ‡ฮตฮนฯฮฟ\n\nฯ€ฯฮญฯ€ฮตฮน ฮฝฮฑ ฯ†ฯ„ฮนฮฌฮพฮตฮนฯ‚ ฮญฮฝฮฑ ฮฝฮญฮฟ ฮฑฯฯ‡ฮตฮฏฮฟ ฮบฮตฮนฮผฮญฮฝฮฟฯ… ฮผฮต ฯŒฮฝฮฟฮผฮฑ ฮท_ฮปฮฏฯƒฯ„ฮฑ_ฮผฮฟฯ….m3u ฮบฮฑฮน ฮฝฮฑ ฮตฯ€ฮนฮบฮฟฮปฮปฮฎฯƒฮตฮนฯ‚ ฯ„ฮท ฮปฮฏฯƒฯ„ฮฑ ฮผฮญฯƒฮฑยท ฮฑฯ…ฯ„ฯŒ ฮธฮฑ ฯ„ฮฟ ฮบฮฑฯ„ฮฑฯƒฯ„ฮฎฯƒฮตฮน ฮฑฮฝฮฑฯ€ฮฑฯฮฌฮพฮนฮผฮฟ", + + "gt_vau": "ฮผฮทฮฝ ฮดฮตฮฏฯ‡ฮฝฮตฮนฯ‚ ฯ„ฮฟ ฮฒฮฏฮฝฯ„ฮตฮฟ, ฯ€ฮฑฮฏฮพฮต ฮผฯŒฮฝฮฟ ฯ„ฮฟฮฝ ฮฎฯ‡ฮฟ\">๐ŸŽง", + "gt_msel": "ฮตฮฝฮตฯฮณฮฟฯ€ฮฟฮฏฮทฯƒฮท ฮตฯ€ฮนฮปฮฟฮณฮฎฯ‚ ฮฑฯฯ‡ฮตฮฏฯ‰ฮฝ; ctrl-ฮบฮปฮนฮบ ฯƒฮต ฮฑฯฯ‡ฮตฮฏฮฟ ฮณฮนฮฑ ฯ€ฮฑฯฮฌฮบฮฑฮผฯˆฮท$N$N<em>ฯŒฯ„ฮฑฮฝ ฮตฮฏฮฝฮฑฮน ฮตฮฝฮตฯฮณฯŒ: ฮดฮนฯ€ฮปฯŒ ฮบฮปฮนฮบ ฯƒฮต ฮฑฯฯ‡ฮตฮฏฮฟ / ฯ†ฮฌฮบฮตฮปฮฟ ฯ„ฮฟ ฮฑฮฝฮฟฮฏฮณฮตฮน</em>$N$Nฮฃฯ…ฮฝฯ„ฯŒฮผฮตฯ…ฯƒฮท: S\">ฯ€ฮฟฮปฮปฮฑฯ€ฮปฮฎ ฮตฯ€ฮนฮปฮฟฮณฮฎ", + "gt_crop": "ฮบฮตฮฝฯ„ฯฮฑฯฮนฯƒฮผฮญฮฝฮท ฯ€ฮตฯฮนฮบฮฟฯ€ฮฎ ฮผฮนฮบฯฮฟฮณฯฮฑฯ†ฮนฯŽฮฝ\">ฯ€ฮตฯฮนฮบฮฟฯ€ฮฎ", + "gt_3x": "ฮผฮนฮบฯฮฟฮณฯฮฑฯ†ฮฏฮตฯ‚ ฯ…ฯˆฮทฮปฮฎฯ‚ ฮฑฮฝฮฌฮปฯ…ฯƒฮทฯ‚\">3x", + "gt_zoom": "ฮถฮฟฯ…ฮผ", + "gt_chop": "ฮบฯŒฯˆฮต", + "gt_sort": "ฯ„ฮฑฮพฮนฮฝฯŒฮผฮทฯƒฮท ฮบฮฑฯ„ฮฌ", + "gt_name": "ฯŒฮฝฮฟฮผฮฑ", + "gt_sz": "ฮผฮญฮณฮตฮธฮฟฯ‚", + "gt_ts": "ฮทฮผฮตฯฮฟฮผฮทฮฝฮฏฮฑ", + "gt_ext": "ฯ„ฯฯ€ฮฟฯ‚", + "gt_c1": "ฮผฮตฮณฮฑฮปฯฯ„ฮตฯฮท ฯ€ฮตฯฮนฮบฮฟฯ€ฮฎ ฮฟฮฝฮฟฮผฮฌฯ„ฯ‰ฮฝ ฮฑฯฯ‡ฮตฮฏฯ‰ฮฝ (ฮดฮตฮฏฮพฮต ฮปฮนฮณฯŒฯ„ฮตฯฮฑ)", + "gt_c2": "ฮผฮนฮบฯฯŒฯ„ฮตฯฮท ฯ€ฮตฯฮนฮบฮฟฯ€ฮฎ ฮฟฮฝฮฟฮผฮฌฯ„ฯ‰ฮฝ ฮฑฯฯ‡ฮตฮฏฯ‰ฮฝ (ฮดฮตฮฏฮพฮต ฯ€ฮตฯฮนฯƒฯƒฯŒฯ„ฮตฯฮฑ)", + + "sm_w8": "ฮฑฮฝฮฑฮถฮฎฯ„ฮทฯƒฮท...", + "sm_prev": "ฯ„ฮฑ ฯ€ฮฑฯฮฑฮบฮฌฯ„ฯ‰ ฮฑฯ€ฮฟฯ„ฮตฮปฮญฯƒฮผฮฑฯ„ฮฑ ฮฑฮฝฮฑฮถฮฎฯ„ฮทฯƒฮทฯ‚ ฯ€ฯฮฟฮญฯฯ‡ฮฟฮฝฯ„ฮฑฮน ฮฑฯ€ฯŒ ฯ€ฯฮฟฮทฮณฮฟฯฮผฮตฮฝฮท ฮฑฮฝฮฑฮถฮฎฯ„ฮทฯƒฮท:\n ", + "sl_close": "ฮบฮปฮตฮฏฯƒฮนฮผฮฟ ฮฑฯ€ฮฟฯ„ฮตฮปฮตฯƒฮผฮฌฯ„ฯ‰ฮฝ ฮฑฮฝฮฑฮถฮฎฯ„ฮทฯƒฮทฯ‚", + "sl_hits": "ฮตฮผฯ†ฮฑฮฝฮฏฮถฮฟฮฝฯ„ฮฑฮน {0} ฮฑฯ€ฮฟฯ„ฮตฮปฮญฯƒฮผฮฑฯ„ฮฑ", + "sl_moar": "ฯ†ฯŒฯฯ„ฯ‰ฯƒฮต ฯ€ฮตฯฮนฯƒฯƒฯŒฯ„ฮตฯฮฑ", + + "s_sz": "ฮผฮญฮณฮตฮธฮฟฯ‚", + "s_dt": "ฮทฮผฮตฯฮฟฮผฮทฮฝฮฏฮฑ", + "s_rd": "ฮผฮฟฮฝฮฟฯ€ฮฌฯ„ฮน", + "s_fn": "ฯŒฮฝฮฟฮผฮฑ", + "s_ta": "ฮตฯ„ฮนฮบฮญฯ„ฮตฯ‚", + "s_ua": "ฮฑฮฝฮญฮฒฮทฮบฮต@", + "s_ad": "ฯ€ฯฮฟฯ‡ฯ‰ฯ.", + "s_s1": "ฮตฮปฮฌฯ‡ฮนฯƒฯ„ฮฟ ฯƒฮต MiB", + "s_s2": "ฮผฮญฮณฮนฯƒฯ„ฮฟ ฯƒฮต MiB", + "s_d1": "ฮตฮปฮฌฯ‡ฮนฯƒฯ„ฮฟ iso8601", + "s_d2": "ฮผฮญฮณฮนฯƒฯ„ฮฟ iso8601", + "s_u1": "ฮผฮตฯ„ฮฑฯ†ฮฟฯฯ„ฯŽฮธฮทฮบฮต ฮฑฯฮณฯŒฯ„ฮตฯฮฑ", + "s_u2": "ฮบฮฑฮน/ฮฎ ฯ€ฯฮนฮฝ", + "s_r1": "ฯ„ฮฟ ฮผฮฟฮฝฮฟฯ€ฮฌฯ„ฮน ฯ€ฮตฯฮนฮญฯ‡ฮตฮน   (ฯ‡ฯ‰ฯฮนฯƒฮผฮญฮฝฮฑ ฮผฮต ฮบฮตฮฝฯŒ)", + "s_f1": "ฯ„ฮฟ ฯŒฮฝฮฟฮผฮฑ ฯ€ฮตฯฮนฮญฯ‡ฮตฮน   (ฮฌฯฮฝฮทฯƒฮท ฮผฮต -nope)", + "s_t1": "ฮฟฮน ฮตฯ„ฮนฮบฮญฯ„ฮตฯ‚ ฯ€ฮตฯฮนฮญฯ‡ฮฟฯ…ฮฝ   (^=ฮฑฯฯ‡ฮฎ, ฯ„ฮญฮปฮฟฯ‚=$)", + "s_a1": "ฯƒฯ…ฮณฮบฮตฮบฯฮนฮผฮญฮฝฮตฯ‚ ฮนฮดฮนฯŒฯ„ฮทฯ„ฮตฯ‚ ฮผฮตฯ„ฮฑฮดฮตฮดฮฟฮผฮญฮฝฯ‰ฮฝ", + + "md_eshow": "ฮดฮตฮฝ ฮผฯ€ฮฟฯฮตฮฏ ฮฝฮฑ ฮตฮผฯ†ฮฑฮฝฮนฯƒฯ„ฮตฮฏ ", + "md_off": "[๐Ÿ“œreadme] ฮฑฯ€ฮตฮฝฮตฯฮณฮฟฯ€ฮฟฮนฮทฮผฮญฮฝฮฟ ฯƒฯ„ฮฟ [โš™๏ธ] -- ฮบฯฯ…ฮผฮผฮญฮฝฮฟ ฮญฮณฮณฯฮฑฯ†ฮฟ", + + "badreply": "ฮ‘ฯ€ฮฟฯ„ฯ…ฯ‡ฮฏฮฑ ฮฑฮฝฮฌฮปฯ…ฯƒฮทฯ‚ ฮฑฯ€ฮฌฮฝฯ„ฮทฯƒฮทฯ‚ ฮฑฯ€ฯŒ ฯ„ฮฟ ฮดฮนฮฑฮบฮฟฮผฮนฯƒฯ„ฮฎ", + + "xhr403": "403: ฮ ฯฯŒฯƒฮฒฮฑฯƒฮท ฮฑฯฮฝฮฎฮธฮทฮบฮต\n\nฮดฮฟฮบฮฏฮผฮฑฯƒฮต ฯ„ฮฟ F5, ฮฏฯƒฯ‰ฯ‚ ฮฑฯ€ฮฟฯƒฯ…ฮฝฮดฮญฮธฮทฮบฮตฯ‚", + "xhr0": "ฮฌฮณฮฝฯ‰ฯƒฯ„ฮฟ (ฯ€ฮนฮธฮฑฮฝฯŒฮฝ ฮฑฯ€ฮฟฯƒฯฮฝฮดฮตฯƒฮท ฮฑฯ€ฯŒ ฯ„ฮฟ ฮดฮนฮฑฮบฮฟฮผฮนฯƒฯ„ฮฎ ฮฎ ฮฟ ฮดฮนฮฑฮบฮฟฮผฮนฯƒฯ„ฮฎฯ‚ ฮตฮฏฮฝฮฑฮน ฮตฮบฯ„ฯŒฯ‚ ฯƒฯฮฝฮดฮตฯƒฮทฯ‚)", + "cf_ok": "ฯƒฯ…ฮณฮณฮฝฯŽฮผฮท ฮณฮน' ฮฑฯ…ฯ„ฯŒ -- ฮท ฯ€ฯฮฟฯƒฯ„ฮฑฯƒฮฏฮฑ DD" + wah + "oS ฮตฮฝฮตฯฮณฮฟฯ€ฮฟฮนฮฎฮธฮทฮบฮต\n\nฮฟฮน ฮดฮนฮฑฮดฮนฮบฮฑฯƒฮฏฮตฯ‚ ฮธฮฑ ฯƒฯ…ฮฝฮตฯ‡ฮนฯƒฯ„ฮฟฯฮฝ ฯƒฮต ฯ€ฮตฯฮฏฯ€ฮฟฯ… 30 ฮดฮตฯ…ฯ„ฮตฯฯŒฮปฮตฯ€ฯ„ฮฑ\n\nฮฑฮฝ ฮดฮตฮฝ ฮณฮฏฮฝฮตฮน ฯ„ฮฏฯ€ฮฟฯ„ฮฑ, ฯ€ฮฌฯ„ฮฑ F5 ฮณฮนฮฑ ฮตฯ€ฮฑฮฝฮฑฯ†ฯŒฯฯ„ฯ‰ฯƒฮท", + "tl_xe1": "ฮฑฮดฯฮฝฮฑฯ„ฮท ฮท ฮปฮฏฯƒฯ„ฮฑ ฯ…ฯ€ฮฟฯ†ฮฑฮบฮญฮปฯ‰ฮฝ:\n\nฯƒฯ†ฮฌฮปฮผฮฑ ", + "tl_xe2": "404: ฮŸ ฯ†ฮฌฮบฮตฮปฮฟฯ‚ ฮดฮตฮฝ ฮฒฯฮญฮธฮทฮบฮต", + "fl_xe1": "ฮฑฮดฯฮฝฮฑฯ„ฮท ฮท ฮปฮฏฯƒฯ„ฮฑ ฮฑฯฯ‡ฮตฮฏฯ‰ฮฝ ฯƒฮต ฯ†ฮฌฮบฮตฮปฮฟ:\n\nฯƒฯ†ฮฌฮปฮผฮฑ ", + "fl_xe2": "404: ฮŸ ฯ†ฮฌฮบฮตฮปฮฟฯ‚ ฮดฮตฮฝ ฮฒฯฮญฮธฮทฮบฮต", + "fd_xe1": "ฮฑฮดฯฮฝฮฑฯ„ฮท ฮท ฮดฮทฮผฮนฮฟฯ…ฯฮณฮฏฮฑ ฯ…ฯ€ฮฟฯ†ฮฑฮบฮญฮปฮฟฯ…:\n\nฯƒฯ†ฮฌฮปฮผฮฑ ", + "fd_xe2": "404: ฮŸ ฮณฮฟฮฝฮนฮบฯŒฯ‚ ฯ†ฮฌฮบฮตฮปฮฟฯ‚ ฮดฮตฮฝ ฮฒฯฮญฮธฮทฮบฮต", + "fsm_xe1": "ฮฑฮดฯฮฝฮฑฯ„ฮท ฮท ฮฑฯ€ฮฟฯƒฯ„ฮฟฮปฮฎ ฮผฮทฮฝฯฮผฮฑฯ„ฮฟฯ‚:\n\nฯƒฯ†ฮฌฮปฮผฮฑ ", + "fsm_xe2": "404: ฮŸ ฮณฮฟฮฝฮนฮบฯŒฯ‚ ฯ†ฮฌฮบฮตฮปฮฟฯ‚ ฮดฮตฮฝ ฮฒฯฮญฮธฮทฮบฮต", + "fu_xe1": "ฮฑฯ€ฮฟฯ„ฯ…ฯ‡ฮฏฮฑ ฯ†ฯŒฯฯ„ฯ‰ฯƒฮทฯ‚ ฮปฮฏฯƒฯ„ฮฑฯ‚ unpost ฮฑฯ€ฯŒ ฯ„ฮฟ ฮดฮนฮฑฮบฮฟฮผฮนฯƒฯ„ฮฎ:\n\nฯƒฯ†ฮฌฮปฮผฮฑ ", + "fu_xe2": "404: ฮคฮฟ ฮฑฯฯ‡ฮตฮฏฮฟ ฮดฮตฮฝ ฮฒฯฮญฮธฮทฮบฮต??", + + "fz_tar": "ฮผฮท ฯƒฯ…ฮผฯ€ฮนฮตฯƒฮผฮญฮฝฮฟ ฮฑฯฯ‡ฮตฮฏฮฟ gnu-tar (linux / mac)", + "fz_pax": "ฮผฮท ฯƒฯ…ฮผฯ€ฮนฮตฯƒฮผฮญฮฝฮฟ pax-format tar (ฯ€ฮนฮฟ ฮฑฯฮณฯŒ)", + "fz_targz": "gnu-tar ฮผฮต ฯƒฯ…ฮผฯ€ฮฏฮตฯƒฮท gzip ฮตฯ€ฮฏฯ€ฮตฮดฮฟ 3$N$Nฯƒฯ…ฮฝฮฎฮธฯ‰ฯ‚ ฯ€ฮฟฮปฯ ฮฑฯฮณฯŒ, ฮฟฯ€ฯŒฯ„ฮต$Nฯ‡ฯฮทฯƒฮนฮผฮฟฯ€ฮฟฮฏฮทฯƒฮต ฮบฮฑฮปฯฯ„ฮตฯฮฑ ฮผฮท ฯƒฯ…ฮผฯ€ฮนฮตฯƒฮผฮญฮฝฮฟ tar", + "fz_tarxz": "gnu-tar ฮผฮต ฯƒฯ…ฮผฯ€ฮฏฮตฯƒฮท xz ฮตฯ€ฮฏฯ€ฮตฮดฮฟ 1$N$Nฯƒฯ…ฮฝฮฎฮธฯ‰ฯ‚ ฯ€ฮฟฮปฯ ฮฑฯฮณฯŒ, ฮฟฯ€ฯŒฯ„ฮต$Nฯ‡ฯฮทฯƒฮนฮผฮฟฯ€ฮฟฮฏฮทฯƒฮต ฮบฮฑฮปฯฯ„ฮตฯฮฑ ฮผฮท ฯƒฯ…ฮผฯ€ฮนฮตฯƒฮผฮญฮฝฮฟ tar", + "fz_zip8": "zip ฮผฮต ฮฟฮฝฯŒฮผฮฑฯ„ฮฑ ฮฑฯฯ‡ฮตฮฏฯ‰ฮฝ utf8 (ฮฏฯƒฯ‰ฯ‚ ฮฝฮฑ ฮบฮฟฮปฮปฮฌฮตฮน ฯƒฮต windows 7 ฮบฮฑฮน ฯ€ฮฑฮปฮนฯŒฯ„ฮตฯฮฑ)", + "fz_zipd": "zip ฮผฮต ฯ€ฮฑฯฮฑฮดฮฟฯƒฮนฮฑฮบฮฌ ฮฟฮฝฯŒฮผฮฑฯ„ฮฑ cp437, ฮณฮนฮฑ ฯ€ฮฟฮปฯ ฯ€ฮฑฮปฮนฯŒ ฮปฮฟฮณฮนฯƒฮผฮนฮบฯŒ", + "fz_zipc": "cp437 ฮผฮต crc32 ฯ…ฯ€ฮฟฮปฮฟฮณฮนฯƒฮผฮญฮฝฮฟ ฮฝฯ‰ฯฮฏฯ„ฮตฯฮฑ,$Nฮณฮนฮฑ MS-DOS PKZIP v2.04g (ฮฟฮบฯ„ฯŽฮฒฯฮนฮฟฯ‚ 1993)$N(ฯ€ฮฑฮฏฯฮฝฮตฮน ฯ€ฮฑฯฮฑฯ€ฮฌฮฝฯ‰ ฯ‡ฯฯŒฮฝฮฟ ฯ€ฯฮนฮฝ ฮพฮตฮบฮนฮฝฮฎฯƒฮตฮน ฮท ฮผฮตฯ„ฮฑฯ†ฯŒฯฯ„ฯ‰ฯƒฮท)", + + "un_m1": "ฮผฯ€ฮฟฯฮตฮฏฯ‚ ฮฝฮฑ ฮดฮนฮฑฮณฯฮฌฯˆฮตฮนฯ‚ ฯ„ฮฑ ฯ€ฯฯŒฯƒฯ†ฮฑฯ„ฮฑ ฮฑฯฯ‡ฮตฮฏฮฑ ฯ€ฮฟฯ… ฮผฮตฯ„ฮฑฯ†ฯŒฯฯ„ฯ‰ฯƒฮตฯ‚ (ฮฎ ฮฝฮฑ ฮฑฮบฯ…ฯฯŽฯƒฮตฮนฯ‚ ฯ„ฮฑ ฮผฮนฯƒฮฟฯ„ฮตฮปฮตฮนฯ‰ฮผฮญฮฝฮฑ) ฯ€ฮฑฯฮฑฮบฮฌฯ„ฯ‰", + "un_upd": "ฮฑฮฝฮฑฮฝฮญฯ‰ฯƒฮท", + "un_m4": "ฮฎ ฮผฮฟฮนฯฮฌฯƒฮฟฯ… ฯ„ฮฑ ฮฑฯฯ‡ฮตฮฏฮฑ ฯ€ฮฟฯ… ฮฒฮปฮญฯ€ฮตฮนฯ‚ ฯ€ฮฑฯฮฑฮบฮฌฯ„ฯ‰:", + "un_ulist": "ฮตฮผฯ†ฮฌฮฝฮนฯƒฮท", + "un_ucopy": "ฮฑฮฝฯ„ฮนฮณฯฮฑฯ†ฮฎ", + "un_flt": "ฯ€ฯฮฟฮฑฮนฯฮตฯ„ฮนฮบฯŒ ฯ†ฮฏฮปฯ„ฯฮฟ:  ฮท ฮดฮนฮตฯฮธฯ…ฮฝฯƒฮท ฯ€ฯฮญฯ€ฮตฮน ฮฝฮฑ ฯ€ฮตฯฮนฮญฯ‡ฮตฮน", + "un_fclr": "ฮบฮฑฮธฮฑฯฮนฯƒฮผฯŒฯ‚ ฯ†ฮฏฮปฯ„ฯฮฟฯ…", + "un_derr": "ฮฑฯ€ฮฟฯ„ฯ…ฯ‡ฮฏฮฑ ฮดฮนฮฑฮณฯฮฑฯ†ฮฎฯ‚ unpost:\n", + "un_f5": "ฮบฮฌฯ„ฮน ฯ‡ฮฌฮปฮฑฯƒฮต, ฮดฮฟฮบฮฏฮผฮฑฯƒฮต ฯ„ฮทฮฝ ฮฑฮฝฮฑฮฝฮญฯ‰ฯƒฮท ฮฎ ฯ€ฮฌฯ„ฮฑ F5", + "un_uf5": "ฯƒฯ…ฮณฮณฮฝฯŽฮผฮท ฮฑฮปฮปฮฌ ฯ€ฯฮญฯ€ฮตฮน ฮฝฮฑ ฮฑฮฝฮฑฮฝฮตฯŽฯƒฮตฮนฯ‚ ฯ„ฮท ฯƒฮตฮปฮฏฮดฮฑ (ฯ€ฯ‡ ฮผฮต F5 ฮฎ CTRL-R) ฯ€ฯฮนฮฝ ฮฑฮบฯ…ฯฯŽฯƒฮตฮนฯ‚ ฮฑฯ…ฯ„ฮฎฮฝ ฯ„ฮทฮฝ ฮฑฯ€ฮฟฯƒฯ„ฮฟฮปฮฎ", + "un_nou": "ฯ€ฯฮฟฯƒฮฟฯ‡ฮฎ: ฮฟ ฮดฮนฮฑฮบฮฟฮผฮนฯƒฯ„ฮฎฯ‚ ฮตฮฏฮฝฮฑฮน ฯ€ฮฟฮปฯ ฯ†ฮฟฯฯ„ฯ‰ฮผฮญฮฝฮฟฯ‚ ฮณฮนฮฑ ฮฝฮฑ ฮดฮตฮฏฮพฮตฮน ฮผฮนฯƒฮฟฯ„ฮตฮปฮตฮนฯ‰ฮผฮญฮฝฮตฯ‚ ฮฑฯ€ฮฟฯƒฯ„ฮฟฮปฮญฯ‚ยท ฯ€ฮฌฯ„ฮฑ ฯ„ฮทฮฝ ฮฑฮฝฮฑฮฝฮญฯ‰ฯƒฮท, ฯƒฮต ฮปฮฏฮณฮฟ", + "un_noc": "ฯ€ฯฮฟฯƒฮฟฯ‡ฮฎ: ฯ„ฮฟ unpost ฯ„ฯ‰ฮฝ ฮฟฮปฮฟฮบฮปฮทฯฯ‰ฮผฮญฮฝฯ‰ฮฝ ฮฑฯฯ‡ฮตฮฏฯ‰ฮฝ ฮดฮตฮฝ ฮตฯ€ฮนฯ„ฯฮญฯ€ฮตฯ„ฮฑฮน ฮฑฯ€ฯŒ ฯ„ฮท ฯฯฮธฮผฮนฯƒฮท ฯ„ฮฟฯ… ฮดฮนฮฑฮบฮฟฮผฮนฯƒฯ„ฮฎ", + "un_max": "ฮตฮผฯ†ฮฑฮฝฮฏฮถฮฟฮฝฯ„ฮฑฮน ฯ„ฮฑ ฯ€ฯฯŽฯ„ฮฑ 2000 ฮฑฯฯ‡ฮตฮฏฮฑ (ฯ‡ฯฮทฯƒฮนฮผฮฟฯ€ฮฟฮฏฮทฯƒฮต ฯ†ฮฏฮปฯ„ฯฮฟ)", + "un_avail": "ฮผฯ€ฮฟฯฮตฮฏฯ‚ ฮฝฮฑ ฮดฮนฮฑฮณฯฮฌฯˆฮตฮนฯ‚ {0} ฯ€ฯฯŒฯƒฯ†ฮฑฯ„ฮฑ ฮฑฯฯ‡ฮตฮฏฮฑ
    ฮผฯ€ฮฟฯฮตฮฏฯ‚ ฮฝฮฑ ฮฑฮบฯ…ฯฯŽฯƒฮตฮนฯ‚ {1} ฮผฮนฯƒฮฟฯ„ฮตฮปฮตฮนฯ‰ฮผฮญฮฝฮตฯ‚ ฮฑฯ€ฮฟฯƒฯ„ฮฟฮปฮญฯ‚", + "un_m2": "ฯ„ฮฑฮพฮนฮฝฮฟฮผฮทฮผฮญฮฝฮฑ ฮบฮฑฯ„ฮฌ ฯ‡ฯฯŒฮฝฮฟ ฮผฮตฯ„ฮฑฯ†ฯŒฯฯ„ฯ‰ฯƒฮทฯ‚; ฯ„ฮฑ ฯ€ฮนฮฟ ฯ€ฯฯŒฯƒฯ†ฮฑฯ„ฮฑ ฯ€ฯฯŽฯ„ฮฑ:", + "un_no1": "ฮฌฮบฯ…ฯฮฟ! ฮบฮฑฮผฮฏฮฑ ฮผฮตฯ„ฮฑฯ†ฯŒฯฯ„ฯ‰ฯƒฮท ฮดฮตฮฝ ฮตฮฏฮฝฮฑฮน ฮฑฯฮบฮตฯ„ฮฌ ฯ€ฯฯŒฯƒฯ†ฮฑฯ„ฮท", + "un_no2": "ฮฌฮบฯ…ฯฮฟ! ฮบฮฑฮผฮฏฮฑ ฮผฮตฯ„ฮฑฯ†ฯŒฯฯ„ฯ‰ฯƒฮท ฮผฮต ฮฑฯ…ฯ„ฯŒ ฯ„ฮฟ ฯ†ฮฏฮปฯ„ฯฮฟ ฮดฮตฮฝ ฮตฮฏฮฝฮฑฮน ฮฑฯฮบฮตฯ„ฮฌ ฯ€ฯฯŒฯƒฯ†ฮฑฯ„ฮท", + "un_next": "ฮดฮนฮฌฮณฯฮฑฯˆฮต ฯ„ฮฑ ฮตฯ€ฯŒฮผฮตฮฝฮฑ {0} ฮฑฯฯ‡ฮตฮฏฮฑ ฯ€ฮฑฯฮฑฮบฮฌฯ„ฯ‰", + "un_abrt": "ฮฌฮบฯ…ฯฮฟ", + "un_del": "ฮดฮนฮฑฮณฯฮฑฯ†ฮฎ", + "un_m3": "ฯ†ฮฟฯฯ„ฯŽฮฝฯ‰ ฯ„ฮนฯ‚ ฯ€ฯฯŒฯƒฯ†ฮฑฯ„ฮตฯ‚ ฮผฮตฯ„ฮฑฯ†ฮฟฯฯ„ฯŽฯƒฮตฮนฯ‚ ฯƒฮฟฯ…...", + "un_busy": "ฮดฮนฮฑฮณฯฮฌฯ†ฯ‰ {0} ฮฑฯฯ‡ฮตฮฏฮฑ...", + "un_clip": "ฮฑฮฝฯ„ฮนฮณฯฮฌฯ†ฮทฮบฮฑฮฝ {0} ฯƒฯฮฝฮดฮตฯƒฮผฮฟฮน ฯƒฯ„ฮฟ ฯ€ฯฯŒฯ‡ฮตฮนฯฮฟ", + + "u_https1": "ฯ€ฯฮญฯ€ฮตฮน", + "u_https2": "ฮผฮตฯ„ฮฌฮฒฮฑฯƒฮท ฯƒฮต https", + "u_https3": "ฮณฮนฮฑ ฮบฮฑฮปฯฯ„ฮตฯฮท ฮฑฯ€ฯŒฮดฮฟฯƒฮท", + "u_ancient": 'ฮฟ browser ฯƒฮฟฯ… ฮตฮฏฮฝฮฑฮน ฮตฮฝฯ„ฯ…ฯ€ฯ‰ฯƒฮนฮฑฮบฮฌ ฮฑฯ€ฮฑฯฯ‡ฮฑฮนฯ‰ฮผฮญฮฝฮฟฯ‚ โ€” ฮฏฯƒฯ‰ฯ‚ ฮฝฮฑ ฯ‡ฯฮทฯƒฮนฮผฮฟฯ€ฮฟฮนฮฎฯƒฮตฮนฯ‚ ฯ„ฮฟ bup ฮฑฮฝฯ„ฮฏ ฮณฮน\' ฮฑฯ…ฯ„ฯŒ', + "u_nowork": "ฯ‡ฯฮตฮนฮฌฮถฮตฯ„ฮฑฮน firefox 53+ ฮฎ chrome 57+ ฮฎ iOS 11+", + "tail_2old": "ฯ‡ฯฮตฮนฮฌฮถฮตฯ„ฮฑฮน firefox 105+ ฮฎ chrome 71+ ฮฎ iOS 14.5+", + "u_nodrop": "ฮฟ browser ฯƒฮฟฯ… ฮตฮฏฮฝฮฑฮน ฯ€ฮฟฮปฯ ฯ€ฮฑฮปฮนฯŒฯ‚ ฮณฮนฮฑ drag&drop ฮผฮตฯ„ฮฑฯ†ฮฟฯฯ„ฯŽฯƒฮตฮนฯ‚", + "u_notdir": "ฮฑฯ…ฯ„ฯŒฯ‚ ฮดฮตฮฝ ฮตฮฏฮฝฮฑฮน ฯ†ฮฌฮบฮตฮปฮฟฯ‚!\n\nฮฟ browser ฯƒฮฟฯ… ฮตฮฏฮฝฮฑฮน ฯ€ฮฟฮปฯ ฯ€ฮฑฮปฮนฯŒฯ‚,\nฮดฮฟฮบฮฏฮผฮฑฯƒฮต drag&drop ฮฑฮฝฯ„' ฮฑฯ…ฯ„ฮฟฯ", + "u_uri": "ฮณฮนฮฑ ฮฝฮฑ ฮบฮฌฮฝฮตฮนฯ‚ drag&drop ฮตฮนฮบฯŒฮฝฯ‰ฮฝ ฮฑฯ€ฯŒ ฮฌฮปฮปฮฑ ฯ€ฮฑฯฮฌฮธฯ…ฯฮฑ browser,\nฯฮฏฮพ' ฯ„ฮตฯ‚ ฯ€ฮฌฮฝฯ‰ ฯƒฯ„ฮฟ ฮผฮตฮณฮฌฮปฮฟ ฮบฮฟฯ…ฮผฯ€ฮฏ ฮผฮตฯ„ฮฑฯ†ฯŒฯฯ„ฯ‰ฯƒฮทฯ‚", + "u_enpot": 'ฮฌฮปฮปฮฑฮพฮต ฯƒฯ„ฮฟ potato UI (ฮฏฯƒฯ‰ฯ‚ ฮฑฮฝฮตฮฒฮฌฮถฮตฮน ฯ€ฮนฮฟ ฮณฯฮฎฮณฮฟฯฮฑ)', + "u_depot": 'ฮฌฮปฮปฮฑฮพฮต ฯƒฯ„ฮฟ fancy UI (ฮฏฯƒฯ‰ฯ‚ ฮฑฮฝฮตฮฒฮฌฮถฮตฮน ฯ€ฮนฮฟ ฮฑฯฮณฮฌ)', + "u_gotpot": "ฮฑฮปฮปฮฌฮถฯ‰ ฯƒฯ„ฮฟ potato UI ฮณฮนฮฑ ฯ€ฮนฮฟ ฮณฯฮฎฮณฮฟฯฮท ฮผฮตฯ„ฮฑฯ†ฯŒฯฯ„ฯ‰ฯƒฮท,\n\nฮผฯ€ฮฟฯฮตฮฏฯ‚ ฮฝฮฑ ฯ„ฮฟ ฮฑฮปฮปฮฌฮพฮตฮนฯ‚ ฯ€ฮฌฮปฮน ฮฑฮฝ ฮธฮตฯ‚!", + "u_pott": "

    ฮฑฯฯ‡ฮตฮฏฮฑ:   {0} ฮฟฮปฮฟฮบฮปฮทฯฯ‰ฮผฮญฮฝฮฑ,   {1} ฮฑฯ€ฮฟฯ„ฯ…ฯ‡ฮทฮผฮญฮฝฮฑ,   {2} ฯƒฮต ฮตฮพฮญฮปฮนฮพฮท,   {3} ฯƒฮต ฮฟฯ…ฯฮฌ

    ", + "u_ever": "ฮฑฯ…ฯ„ฯŒฯ‚ ฮตฮฏฮฝฮฑฮน ฮฟ ฮฒฮฑฯƒฮนฮบฯŒฯ‚ uploader; ฯ„ฮฟ up2k ฮธฮญฮปฮตฮน ฯ„ฮฟฯ…ฮปฮฌฯ‡ฮนฯƒฯ„ฮฟฮฝ
    chrome 21 // firefox 13 // edge 12 // opera 12 // safari 5.1", + "u_su2k": 'ฮฑฯ…ฯ„ฯŒฯ‚ ฮตฮฏฮฝฮฑฮน ฮฟ ฮฒฮฑฯƒฮนฮบฯŒฯ‚ uploader; ฯ„ฮฟ up2k ฮตฮฏฮฝฮฑฮน ฮบฮฑฮปฯฯ„ฮตฯฮฟ', + "u_uput": "ฮฒฮตฮปฯ„ฮนฯƒฯ„ฮฟฯ€ฮฟฮฏฮทฯƒฮท ฮณฮนฮฑ ฯ„ฮฑฯ‡ฯฯ„ฮทฯ„ฮฑ (ฯ€ฮฑฯฮฌฮปฮตฮนฯˆฮท ฮตฮปฮญฮณฯ‡ฮฟฯ… ฮฑฮบฮตฯฮฑฮนฯŒฯ„ฮทฯ„ฮฑฯ‚)", + "u_ewrite": "ฮดฮตฮฝ ฮญฯ‡ฮตฮนฯ‚ ฮดฮนฮบฮฑฮฏฯ‰ฮผฮฑ ฮตฮณฮณฯฮฑฯ†ฮฎฯ‚ ฯƒฮต ฮฑฯ…ฯ„ฯŒฮฝ ฯ„ฮฟฮฝ ฯ†ฮฌฮบฮตฮปฮฟ", + "u_eread": "ฮดฮตฮฝ ฮญฯ‡ฮตฮนฯ‚ ฮดฮนฮบฮฑฮฏฯ‰ฮผฮฑ ฮฑฮฝฮฌฮณฮฝฯ‰ฯƒฮทฯ‚ ฯƒฮต ฮฑฯ…ฯ„ฯŒฮฝ ฯ„ฮฟฮฝ ฯ†ฮฌฮบฮตฮปฮฟ", + "u_enoi": "ฮท ฮฑฮฝฮฑฮถฮฎฯ„ฮทฯƒฮท ฮฑฯฯ‡ฮตฮฏฯ‰ฮฝ ฮดฮตฮฝ ฮตฮฏฮฝฮฑฮน ฮตฮฝฮตฯฮณฮฟฯ€ฮฟฮนฮทฮผฮญฮฝฮท ฯƒฯ„ฮฟ ฮฑฯฯ‡ฮตฮฏฮฟ ฯฯ…ฮธฮผฮฏฯƒฮตฯ‰ฮฝ ฯ„ฮฟฯ… ฮดฮนฮฑฮบฮฟฮผฮนฯƒฯ„ฮฎ", + "u_enoow": "ฮดฮตฮฝ ฮผฯ€ฮฟฯฮตฮฏฯ‚ ฮฝฮฑ ฮบฮฌฮฝฮตฮนฯ‚ ฮฑฮฝฯ„ฮนฮบฮฑฯ„ฮฌฯƒฯ„ฮฑฯƒฮท ฮตฮดฯŽยท ฯ‡ฯฮตฮนฮฌฮถฮตฯ„ฮฑฮน ฮดฮนฮบฮฑฮฏฯ‰ฮผฮฑ ฮ”ฮนฮฑฮณฯฮฑฯ†ฮฎฯ‚", + "u_badf": "ฮ‘ฯ…ฯ„ฮฌ ฯ„ฮฑ {0} ฮฑฯฯ‡ฮตฮฏฮฑ (ฮฑฯ€ฯŒ {1} ฯƒฯ…ฮฝฮฟฮปฮนฮบฮฌ) ฯ€ฮฑฯฮฑฮปฮตฮฏฯ†ฮธฮทฮบฮฑฮฝ, ฯ€ฮนฮธฮฑฮฝฯŽฯ‚ ฮปฯŒฮณฯ‰ ฮดฮนฮบฮฑฮนฯ‰ฮผฮฌฯ„ฯ‰ฮฝ ฯƒฯ…ฯƒฯ„ฮฎฮผฮฑฯ„ฮฟฯ‚ ฮฑฯฯ‡ฮตฮฏฯ‰ฮฝ:\n\n", + "u_blankf": "ฮ‘ฯ…ฯ„ฮฌ ฯ„ฮฑ {0} ฮฑฯฯ‡ฮตฮฏฮฑ (ฮฑฯ€ฯŒ {1} ฯƒฯ…ฮฝฮฟฮปฮนฮบฮฌ) ฮตฮฏฮฝฮฑฮน ฮฌฮดฮตฮนฮฑ / ฮบฮตฮฝฮฌยท ฮฝฮฑ ฯ„ฮฑ ฮผฮตฯ„ฮฑฯ†ฮฟฯฯ„ฯŽฯƒฯ‰ ฮญฯ„ฯƒฮน ฮบฮน ฮฑฮปฮปฮนฯŽฯ‚;\n\n", + "u_applef": "ฮ‘ฯ…ฯ„ฮฌ ฯ„ฮฑ {0} ฮฑฯฯ‡ฮตฮฏฮฑ (ฮฑฯ€ฯŒ {1} ฯƒฯ…ฮฝฮฟฮปฮนฮบฮฌ) ฯ€ฮนฮธฮฑฮฝฯŽฯ‚ ฮดฮตฮฝ ฮตฮฏฮฝฮฑฮน ฮตฯ€ฮนฮธฯ…ฮผฮทฯ„ฮฌ;\nฮ ฮฌฯ„ฮฑ ฮ•ฮฝฯ„ฮฌฮพฮตฮน/Enter ฮณฮนฮฑ ฮฮ‘ ฮ‘ฮ“ฮฮŸฮ—ฮ˜ฮŸฮฅฮ ฯ„ฮฑ ฯ€ฮฑฯฮฑฮบฮฌฯ„ฯ‰ ฮฑฯฯ‡ฮตฮฏฮฑ,\nฮ ฮฌฯ„ฮฑ ฮ†ฮบฯ…ฯฮฟ/ESC ฮณฮนฮฑ ฮฮ‘ ฮœฮ—ฮ ฮ‘ฮ ฮŸฮšฮ›ฮ•ฮ™ฮฃฮคฮŸฮฅฮ ฮบฮฑฮน ฮฝฮฑ ฮœฮ•ฮคฮ‘ฮฆฮŸฮกฮคฮฉฮ˜ฮŸฮŽฮ ฮบฮน ฮฑฯ…ฯ„ฮฌ:\n\n", + "u_just1": "\nฮŠฯƒฯ‰ฯ‚ ฮดฮฟฯ…ฮปฮญฯˆฮตฮน ฮบฮฑฮปฯฯ„ฮตฯฮฑ ฮฑฮฝ ฮตฯ€ฮนฮปฮญฮพฮตฮนฯ‚ ฮผฯŒฮฝฮฟ ฮญฮฝฮฑ ฮฑฯฯ‡ฮตฮฏฮฟ", + "u_ff_many": "ฮฑฮฝ ฯ‡ฯฮทฯƒฮนฮผฮฟฯ€ฮฟฮนฮตฮฏฯ‚ Linux / MacOS / Android, ฯ„ฯŒฯ„ฮต ฯ„ฯŒฯƒฮฑ ฮฑฯฯ‡ฮตฮฏฮฑ ฮผฯ€ฮฟฯฮตฮฏ ฮฝฮฑ ฮบฮฑฯ„ฮฌฯฯฮตฯ…ฯƒฮท ฯ„ฮฟฯ… Firefox!\nฮฑฮฝ ฮณฮฏฮฝฮตฮน ฮฑฯ…ฯ„ฯŒ, ฮดฮฟฮบฮฏฮผฮฑฯƒฮต ฮพฮฑฮฝฮฌ (ฮฎ ฯ‡ฯฮทฯƒฮนฮผฮฟฯ€ฮฟฮฏฮทฯƒฮต ฯ„ฮฟฮฝ Chrome).", + "u_up_life": "ฮ‘ฯ…ฯ„ฮฎ ฮท ฮผฮตฯ„ฮฑฯ†ฯŒฯฯ„ฯ‰ฯƒฮท ฮธฮฑ ฮดฮนฮฑฮณฯฮฑฯ†ฮตฮฏ ฮฑฯ€ฯŒ ฯ„ฮฟ ฮดฮนฮฑฮบฮฟฮผฮนฯƒฯ„ฮฎ\n{0} ฮผฮตฯ„ฮฌ ฯ„ฮทฮฝ ฮฟฮปฮฟฮบฮปฮฎฯฯ‰ฯƒฮฎ ฯ„ฮทฯ‚", + "u_asku": "ฮผฮตฯ„ฮฑฯ†ฯŒฯฯ„ฯ‰ฯƒฮท ฮฑฯ…ฯ„ฯŽฮฝ ฯ„ฯ‰ฮฝ {0} ฮฑฯฯ‡ฮตฮฏฯ‰ฮฝ ฯƒฯ„ฮฟ {1}", + "u_unpt": "ฮผฯ€ฮฟฯฮตฮฏฯ‚ ฮฝฮฑ ฮฑฮฝฮฑฮนฯฮญฯƒฮตฮนฯ‚ / ฮดฮนฮฑฮณฯฮฌฯˆฮตฮนฯ‚ ฮฑฯ…ฯ„ฮฎฮฝ ฯ„ฮท ฮผฮตฯ„ฮฑฯ†ฯŒฯฯ„ฯ‰ฯƒฮท ฯ‡ฯฮทฯƒฮนฮผฮฟฯ€ฮฟฮนฯŽฮฝฯ„ฮฑฯ‚ ฯ„ฮฟ ๐Ÿงฏ, ฯ€ฮฌฮฝฯ‰ ฮฑฯฮนฯƒฯ„ฮตฯฮฌ", + "u_bigtab": "ฮธฮฑ ฮตฮผฯ†ฮฑฮฝฮนฯƒฯ„ฮฟฯฮฝ {0} ฮฑฯฯ‡ฮตฮฏฮฑ\n\nฮฑฯ…ฯ„ฯŒ ฮผฯ€ฮฟฯฮตฮฏ ฮฝฮฑ ฮบฮฌฮฝฮตฮน ฯ„ฮฟฮฝ browser ฯƒฮฟฯ… ฮฝฮฑ ฮบฮฟฮปฮปฮฎฯƒฮตฮน, ฮตฮฏฯƒฮฑฮน ฯƒฮฏฮณฮฟฯ…ฯฮฟฯ‚;", + "u_scan": "ฮฃฮฌฯฯ‰ฯƒฮท ฮฑฯฯ‡ฮตฮฏฯ‰ฮฝ...", + "u_dirstuck": "ฮฟ ฮตฯ€ฮตฮพฮตฯฮณฮฑฯƒฯ„ฮฎฯ‚ ฯ†ฮฑฮบฮญฮปฯ‰ฮฝ ฮบฯŒฮปฮปฮทฯƒฮต ฯ€ฯฮฟฯƒฯ€ฮฑฮธฯŽฮฝฯ„ฮฑฯ‚ ฮฝฮฑ ฯ€ฯฮฟฯƒฯ€ฮตฮปฮฌฯƒฮตฮน ฯ„ฮฑ ฮตฮพฮฎฯ‚ {0} ฮฑฮฝฯ„ฮนฮบฮตฮฏฮผฮตฮฝฮฑยท ฮธฮฑ ฯ„ฮฑ ฯ€ฮฑฯฮฑฮปฮตฮฏฯˆฮตฮน:", + "u_etadone": "ฮŸฮปฮฟฮบฮปฮทฯฯŽฮธฮทฮบฮต ({0}, {1} ฮฑฯฯ‡ฮตฮฏฮฑ)", + "u_etaprep": "(ฯ€ฯฮฟฮตฯ„ฮฟฮนฮผฮฑฯƒฮฏฮฑ ฮณฮนฮฑ ฮผฮตฯ„ฮฑฯ†ฯŒฯฯ„ฯ‰ฯƒฮท)", + "u_hashdone": "ฯ„ฮฟ hashing ฮฟฮปฮฟฮบฮปฮทฯฯŽฮธฮทฮบฮต", + "u_hashing": "ฯ…ฯ€ฮฟฮปฮฟฮณฮนฯƒฮผฯŒฯ‚ hash", + "u_hs": "handshaking...", + "u_started": "ฯ„ฮฑ ฮฑฯฯ‡ฮตฮฏฮฑ ฮฑฮฝฮตฮฒฮฑฮฏฮฝฮฟฯ…ฮฝ ฯ„ฯŽฯฮฑยท ฮดฮตฯ‚ ฯ„ฮฑ ฯƒฯ„ฮฟ [๐Ÿš€]", + "u_dupdefer": "ฮดฮนฯ€ฮปฯŒฯ„ฯ…ฯ€ฮฟ; ฮธฮฑ ฮตฯ€ฮตฮพฮตฯฮณฮฑฯƒฯ„ฮตฮฏ ฮผฮตฯ„ฮฌ ฮฑฯ€ฯŒ ฯŒฮปฮฑ ฯ„ฮฑ ฮฌฮปฮปฮฑ ฮฑฯฯ‡ฮตฮฏฮฑ", + "u_actx": "ฯ€ฮฌฯ„ฮฑ ฮฑฯ…ฯ„ฯŒ ฯ„ฮฟ ฮบฮตฮฏฮผฮตฮฝฮฟ ฮณฮนฮฑ ฮฝฮฑ ฮผฮทฮฝ ฯ‡ฮฌฯƒฮตฮนฯ‚
    ฮฑฯ€ฯŒฮดฮฟฯƒฮท ฯŒฯ„ฮฑฮฝ ฮฑฮปฮปฮฌฮถฮตฮนฯ‚ ฯ€ฮฑฯฮฌฮธฯ…ฯฮฑ/ฮบฮฑฯฯ„ฮญฮปฮตฯ‚", + "u_fixed": "ฮŸฮš!  ฮคฮฟ ฮดฮนฯŒฯฮธฯ‰ฯƒฮฑ ๐Ÿ‘", + "u_cuerr": "ฮฑฯ€ฮฟฯ„ฯ…ฯ‡ฮฏฮฑ ฮผฮตฯ„ฮฑฯ†ฯŒฯฯ„ฯ‰ฯƒฮทฯ‚ ฯ„ฮผฮฎฮผฮฑฯ„ฮฟฯ‚ฯ‚ {0} ฮฑฯ€ฯŒ {1};\nฯ€ฮนฮธฮฑฮฝฯŽฯ‚ ฮฑฮบฮฏฮฝฮดฯ…ฮฝฮฟ, ฯƒฯ…ฮฝฮตฯ‡ฮฏฮถฯ‰\n\nฮฑฯฯ‡ฮตฮฏฮฟ: {2}", + "u_cuerr2": "ฮฟ ฮดฮนฮฑฮบฮฟฮผฮนฯƒฯ„ฮฎฯ‚ ฮฑฯ€ฮญฯฯฮนฯˆฮต ฯ„ฮท ฮผฮตฯ„ฮฑฯ†ฯŒฯฯ„ฯ‰ฯƒฮท (ฯ„ฮผฮฎฮผฮฑ {0} ฮฑฯ€ฯŒ {1});\nฮธฮฑ ฮพฮฑฮฝฮฑฮดฮฟฮบฮนฮผฮฌฯƒฮตฮน ฮฑฯฮณฯŒฯ„ฮตฯฮฑ\n\nฮฑฯฯ‡ฮตฮฏฮฟ: {2}\n\nฯƒฯ†ฮฌฮปฮผฮฑ ", + "u_ehstmp": "ฮธฮฑ ฮพฮฑฮฝฮฑฮดฮฟฮบฮนฮผฮฌฯƒฮตฮน; ฮดฮตฯ‚ ฮบฮฌฯ„ฯ‰ ฮดฮตฮพฮนฮฌ", + "u_ehsfin": "ฮฟ ฮดฮนฮฑฮบฮฟฮผฮนฯƒฯ„ฮฎฯ‚ ฮฑฯ€ฮญฯฯฮนฯˆฮต ฯ„ฮฟ ฮฑฮฏฯ„ฮทฮผฮฑ ฮฟฮปฮฟฮบฮปฮฎฯฯ‰ฯƒฮทฯ‚ ฯ„ฮทฯ‚ ฮผฮตฯ„ฮฑฯ†ฯŒฯฯ„ฯ‰ฯƒฮทฯ‚; ฮพฮฑฮฝฮฑฮดฮฟฮบฮนฮผฮฌฮถฮตฮน...", + "u_ehssrch": "ฮฟ ฮดฮนฮฑฮบฮฟฮผฮนฯƒฯ„ฮฎฯ‚ ฮฑฯ€ฮญฯฯฮนฯˆฮต ฯ„ฮฟ ฮฑฮฏฯ„ฮทฮผฮฑ ฮฑฮฝฮฑฮถฮฎฯ„ฮทฯƒฮทฯ‚; ฮพฮฑฮฝฮฑฮดฮฟฮบฮนฮผฮฌฮถฮตฮน...", + "u_ehsinit": "ฮฟ ฮดฮนฮฑฮบฮฟฮผฮนฯƒฯ„ฮฎฯ‚ ฮฑฯ€ฮญฯฯฮนฯˆฮต ฯ„ฮฟ ฮฑฮฏฯ„ฮทฮผฮฑ ฮณฮนฮฑ ฮตฮบฮบฮฏฮฝฮทฯƒฮท ฮผฮตฯ„ฮฑฯ†ฯŒฯฯ„ฯ‰ฯƒฮทฯ‚; ฮพฮฑฮฝฮฑฮดฮฟฮบฮนฮผฮฌฮถฮตฮน...", + "u_eneths": "ฯƒฯ†ฮฌฮปฮผฮฑ ฮดฮนฮบฯ„ฯฮฟฯ… ฮบฮฑฯ„ฮฌ ฯ„ฮฟ handshake ฮผฮตฯ„ฮฑฯ†ฯŒฯฯ„ฯ‰ฯƒฮทฯ‚; ฮพฮฑฮฝฮฑฮดฮฟฮบฮนฮผฮฌฮถฮตฮน...", + "u_enethd": "ฯƒฯ†ฮฌฮปฮผฮฑ ฮดฮนฮบฯ„ฯฮฟฯ… ฮบฮฑฯ„ฮฌ ฯ„ฮฟฮฝ ฮญฮปฮตฮณฯ‡ฮฟ ฯฯ€ฮฑฯฮพฮทฯ‚ ฯƒฯ„ฯŒฯ‡ฮฟฯ…; ฮพฮฑฮฝฮฑฮดฮฟฮบฮนฮผฮฌฮถฮตฮน...", + "u_cbusy": "ฮฟ ฮดฮนฮฑฮบฮฟฮผฮนฯƒฯ„ฮฎฯ‚ ฯ€ฮตฯฮนฮผฮญฮฝฮตฮน ฮฝฮฑ ฮผฮฑฯ‚ ฮตฮผฯ€ฮนฯƒฯ„ฮตฯ…ฯ„ฮตฮฏ ฮพฮฑฮฝฮฌ ฮผฮตฯ„ฮฌ ฮฑฯ€ฯŒ ฯ€ฯฯŒฮฒฮปฮทฮผฮฑ ฮดฮนฮบฯ„ฯฮฟฯ…...", + "u_ehsdf": "ฮฟ ฮดฮนฮฑฮบฮฟฮผฮนฯƒฯ„ฮฎฯ‚ ฮญฮผฮตฮนฮฝฮต ฮฑฯ€ฯŒ ฯ‡ฯŽฯฮฟ ฯƒฯ„ฮฟ ฮดฮฏฯƒฮบฮฟ!\n\nฮธฮฑ ฯƒฯ…ฮฝฮตฯ‡ฮฏฯƒฮตฮน ฮฝฮฑ ฮพฮฑฮฝฮฑฮดฮฟฮบฮนฮผฮฌฮถฮตฮน,\nฯƒฮต ฯ€ฮตฯฮฏฯ€ฯ„ฯ‰ฯƒฮท ฯ€ฮฟฯ… ฮบฮฌฯ€ฮฟฮนฮฟฯ‚\nฮตฮปฮตฯ…ฮธฮตฯฯŽฯƒฮตฮน ฮฑฯฮบฮตฯ„ฯŒ ฯ‡ฯŽฯฮฟ ฮณฮนฮฑ ฯƒฯ…ฮฝฮญฯ‡ฮตฮนฮฑ", + "u_emtleak1": "ฯ†ฮฑฮฏฮฝฮตฯ„ฮฑฮน ฯ€ฯ‰ฯ‚ ฮฟ browser ฯƒฮฟฯ… ฮญฯ‡ฮตฮน ฮดฮนฮฑฯฯฮฟฮฎ ฮผฮฝฮฎฮผฮทฯ‚;\nฯ€ฮฑฯฮฑฮบฮฑฮปฯŽ", + "u_emtleak2": ' ฮฑฮปฮปฮฑฮณฮฎ ฯƒฮต https (ฯƒฯ…ฮฝฮนฯƒฯ„ฮฌฯ„ฮฑฮน) ฮฎ ', + "u_emtleak3": ' ', + "u_emtleakc": 'ฮดฮฟฮบฮฏฮผฮฑฯƒฮต ฯ„ฮฑ ฮตฮพฮฎฯ‚:\n
    • ฯ€ฮฌฯ„ฮฑ F5 ฮณฮนฮฑ ฮฑฮฝฮฑฮฝฮญฯ‰ฯƒฮท ฯƒฮตฮปฮฏฮดฮฑฯ‚
    • ฮผฮตฯ„ฮฌ ฮฑฯ€ฮตฮฝฮตฯฮณฮฟฯ€ฮฟฮฏฮทฯƒฮต ฯ„ฮฟ  mt  ฮบฮฟฯ…ฮผฯ€ฮฏ ฯƒฯ„ฮนฯ‚  โš™๏ธ ฯฯ…ฮธฮผฮฏฯƒฮตฮนฯ‚
    • ฮบฮฑฮน ฮดฮฟฮบฮฏฮผฮฑฯƒฮต ฮพฮฑฮฝฮฌ ฯ„ฮท ฮผฮตฯ„ฮฑฯ†ฯŒฯฯ„ฯ‰ฯƒฮท
    ฮŸฮน ฮผฮตฯ„ฮฑฯ†ฮฟฯฯ„ฯŽฯƒฮนฮตฯ‚ ฮธฮฑ ฮตฮฏฮฝฮฑฮน ฮปฮฏฮณฮฟ ฯ€ฮนฮฟ ฮฑฯฮณฮญฯ‚, ฮฑฮปฮปฮฌ ok.\nฮฃฯ…ฮณฮณฮฝฯŽฮผฮท ฮณฮนฮฑ ฯ„ฮทฮฝ ฯ„ฮฑฮปฮฑฮนฯ€ฯ‰ฯฮฏฮฑ!\n\nPS: ฯ„ฮฟ chrome v107 ฮญฯ‡ฮตฮน ฮดฮนฯŒฯฮธฯ‰ฯƒฮท ฮณฮน\' ฮฑฯ…ฯ„ฯŒ', + "u_emtleakf": 'ฮดฮฟฮบฮฏฮผฮฑฯƒฮต ฯ„ฮฑ ฮตฮพฮฎฯ‚:\n
    • ฯ€ฮฌฯ„ฮฑ F5 ฮณฮนฮฑ ฮฑฮฝฮฑฮฝฮญฯ‰ฯƒฮท ฯƒฮตฮปฮฏฮดฮฑฯ‚
    • ฮผฮตฯ„ฮฌ ฮฌฮฝฮฟฮนฮพฮต ฯ„ฮฟ ๐Ÿฅ” (potato) ฯƒฯ„ฮฟ UI ฮผฮตฯ„ฮฑฯ†ฯŒฯฯ„ฯ‰ฯƒฮทฯ‚
    • ฮบฮฑฮน ฮดฮฟฮบฮฏฮผฮฑฯƒฮต ฮพฮฑฮฝฮฌ ฯ„ฮท ฮผฮตฯ„ฮฑฯ†ฯŒฯฯ„ฯ‰ฯƒฮท
    \nPS: ฮฟ firefox ฮตฮปฯ€ฮฏฮถฮตฮน ฮฝฮฑ ฯ†ฯ„ฮนฮฌฮพฮตฮน ฮฑฯ…ฯ„ฯŒ ฯ„ฮฟ bug ฮบฮฌฯ€ฮฟฮนฮฑ ฯƒฯ„ฮนฮณฮผฮฎ', + "u_s404": "ฮดฮตฮฝ ฮฒฯฮญฮธฮทฮบฮต ฯƒฯ„ฮฟ ฮดฮนฮฑฮบฮฟฮผฮนฯƒฯ„ฮฎ", + "u_expl": "ฮตฯ€ฮตฮพฮฎฮณฮทฯƒฮท", + "u_maxconn": "ฮฟฮน ฯ€ฮตฯฮนฯƒฯƒฯŒฯ„ฮตฯฮฟฮน browser ฯ„ฮฟ ฯ€ฮตฯฮนฮฟฯฮฏฮถฮฟฯ…ฮฝ ฯƒฯ„ฮฑ 6, ฮฑฮปฮปฮฌ ฮฟ firefox ฯƒฮฟฯ… ฮตฯ€ฮนฯ„ฯฮญฯ€ฮตฮน ฮฝฮฑ ฯ„ฮฟ ฮฑฯ…ฮพฮฎฯƒฮตฮนฯ‚ ฮผฮต connections-per-server ฯƒฯ„ฮฟ about:config", + "u_tu": '

    ฮ ฮกฮŸฮ•ฮ™ฮ”ฮŸฮ ฮŸฮ™ฮ—ฮฃฮ—: ฯ„ฮฟ turbo ฮตฮฏฮฝฮฑฮน ฮตฮฝฮตฯฮณฮฟฯ€ฮฟฮนฮทฮผฮญฮฝฮฟ,  ฯ„ฮฟ ฯ€ฯฯŒฮณฯฮฑฮผฮผฮฑ ฯ€ฮตฮปฮฌฯ„ฮท ฮฏฯƒฯ‰ฯ‚ ฮฝฮฑ ฮผฮทฮฝ ฮฑฮฝฮนฯ‡ฮฝฮตฯฯƒฮตฮน ฮบฮฑฮน ฮฝฮฑ ฮผฮทฮฝ ฮพฮฑฮฝฮฑฮตฮบฮบฮนฮฝฮฎฯƒฮตฮน ฮผฮนฯƒฮฟฯ„ฮตฮปฮตฮนฯ‰ฮผฮญฮฝฮตฯ‚ ฮผฮตฯ„ฮฑฯ†ฮฟฯฯ„ฯŽฯƒฮตฮนฯ‚; ฮดฮตฯ‚ ฯ„ฮฑ tooltip ฯ„ฮฟฯ… ฮบฮฟฯ…ฮผฯ€ฮนฮฟฯ turbo

    ', + "u_ts": '

    ฮ ฮกฮŸฮ•ฮ™ฮ”ฮŸฮ ฮŸฮ™ฮ—ฮฃฮ—: ฯ„ฮฟ turbo ฮตฮฏฮฝฮฑฮน ฮตฮฝฮตฯฮณฮฟฯ€ฮฟฮนฮทฮผฮญฮฝฮฟ,  ฯ„ฮฑ ฮฑฯ€ฮฟฯ„ฮตฮปฮญฯƒฮผฮฑฯ„ฮฑ ฮฑฮฝฮฑฮถฮฎฯ„ฮทฯƒฮทฯ‚ ฮผฯ€ฮฟฯฮตฮฏ ฮฝฮฑ ฮตฮฏฮฝฮฑฮน ฮปฮฌฮธฮฟฯ‚; ฮดฮตฯ‚ ฯ„ฮฑ tooltip ฯ„ฮฟฯ… ฮบฮฟฯ…ฮผฯ€ฮนฮฟฯ turbo

    ', + "u_turbo_c": "ฯ„ฮฟ turbo ฮตฮฏฮฝฮฑฮน ฮฑฯ€ฮตฮฝฮตฯฮณฮฟฯ€ฮฟฮนฮทฮผฮญฮฝฮฟ ฯƒฯ„ฮฟ ฮฑฯฯ‡ฮตฮฏฮฟ ฯฯ…ฮธฮผฮฏฯƒฮตฯ‰ฮฝ ฯ„ฮฟฯ… ฮดฮนฮฑฮบฮฟฮผฮนฯƒฯ„ฮฎ", + "u_turbo_g": "ฮฑฯ€ฮตฮฝฮตฯฮณฮฟฯ€ฮฟฮนฯŽ ฯ„ฮฟ turbo ฮตฯ€ฮตฮนฮดฮฎ ฮดฮตฮฝ ฮญฯ‡ฮตฮนฯ‚ ฮดฮนฮบฮฑฮฏฯ‰ฮผฮฑ\nฮณฮนฮฑ ฯ„ฮท ฮปฮฏฯƒฯ„ฮฑ ฯ†ฮฑฮบฮญฮปฯ‰ฮฝ ฯƒฮต ฮฑฯ…ฯ„ฯŒฮฝ ฯ„ฮฟฮฝ ฯ„ฯŒฮผฮฟ", + "u_life_cfg": 'ฮฑฯ…ฯ„ฯŒฮผฮฑฯ„ฮท ฮดฮนฮฑฮณฯฮฑฯ†ฮฎ ฮผฮตฯ„ฮฌ ฮฑฯ€ฯŒ ฮปฮตฯ€ฯ„ฮฌ (ฮฎ ฯŽฯฮตฯ‚)', + "u_life_est": 'ฮท ฮผฮตฯ„ฮฑฯ†ฯŒฯฯ„ฯ‰ฯƒฮท ฮธฮฑ ฮดฮนฮฑฮณฯฮฑฯ†ฮตฮฏ ---', + "u_life_max": 'ฮฑฯ…ฯ„ฯŒฯ‚ ฮฟ ฯ†ฮฌฮบฮตฮปฮฟฯ‚ ฮตฯ€ฮนฮฒฮฌฮปฮปฮตฮน\nฮผฮญฮณฮนฯƒฯ„ฮท ฮดฮนฮฌฯฮบฮตฮนฮฑ ฮถฯ‰ฮฎฯ‚ {0}', + "u_unp_ok": "ฮตฯ€ฮนฯ„ฯฮญฯ€ฮตฯ„ฮฑฮน ฯ„ฮฟ unpost ฮณฮนฮฑ {0}", + "u_unp_ng": "ฮดฮตฮฝ ฮตฯ€ฮนฯ„ฯฮญฯ€ฮตฯ„ฮฑฮน ฯ„ฮฟ unpost", + "ue_ro": "ฮญฯ‡ฮตฮนฯ‚ ฮผฯŒฮฝฮฟ ฮดฮนฮบฮฑฮฏฯ‰ฮผฮฑ ฮฑฮฝฮฌฮณฮฝฯ‰ฯƒฮทฯ‚ ฯƒฮต ฮฑฯ…ฯ„ฯŒฮฝ ฯ„ฮฟ ฯ†ฮฌฮบฮตฮปฮฟ\n\n", + "ue_nl": "ฮดฮตฮฝ ฮตฮฏฯƒฮฑฮน ฯƒฯ…ฮฝฮดฮตฮดฮตฮผฮญฮฝฮฟฯ‚ ฯ„ฯŽฯฮฑ", + "ue_la": 'ฮตฮฏฯƒฮฑฮน ฯƒฯ…ฮฝฮดฮตฮดฮตฮผฮญฮฝฮฟฯ‚ ฯ‰ฯ‚ "{0}"', + "ue_sr": "ฮตฮฏฯƒฮฑฮน ฯƒฮต ฮปฮตฮนฯ„ฮฟฯ…ฯฮณฮฏฮฑ ฮฑฮฝฮฑฮถฮฎฯ„ฮทฯƒฮทฯ‚ ฮฑฯฯ‡ฮตฮฏฯ‰ฮฝ\n\nฯ€ฮฎฮณฮฑฮนฮฝฮต ฯƒฮต ฮปฮตฮนฯ„ฮฟฯ…ฯฮณฮฏฮฑ ฮผฮตฯ„ฮฑฯ†ฯŒฯฯ„ฯ‰ฯƒฮทฯ‚ ฯ€ฮฑฯ„ฯŽฮฝฯ„ฮฑฯ‚ ฯ„ฮฟ ๐Ÿ”Ž (ฮดฮฏฯ€ฮปฮฑ ฯƒฯ„ฮฟ ฮผฮตฮณฮฌฮปฮฟ ฮบฮฟฯ…ฮผฯ€ฮฏ ฮ‘ฮฮ‘ฮ–ฮ—ฮคฮ—ฮฃฮ—ฮฃ) ฮบฮฑฮน ฮดฮฟฮบฮฏฮผฮฑฯƒฮต ฯ€ฮฌฮปฮน\n\nฯƒฯ…ฮณฮณฮฝฯŽฮผฮท", + "ue_ta": "ฮดฮฟฮบฮฏฮผฮฑฯƒฮต ฮฝฮฑ ฮผฮตฯ„ฮฑฯ†ฮฟฯฯ„ฯŽฯƒฮตฮนฯ‚ ฮตฮบ ฮฝฮญฮฟฯ…, ฮธฮฑ ฯ€ฯฮญฯ€ฮตฮน ฮฝฮฑ ฮดฮฟฯ…ฮปฮญฯˆฮตฮน ฯ„ฯŽฯฮฑ", + "ue_ab": "ฮฑฯ…ฯ„ฯŒ ฯ„ฮฟ ฮฑฯฯ‡ฮตฮฏฮฟ ฮฑฮฝฮตฮฒฮฑฮฏฮฝฮตฮน ฯƒฮต ฮฌฮปฮปฮฟ ฯ†ฮฌฮบฮตฮปฮฟ ฮบฮฑฮน ฮท ฮผฮตฯ„ฮฑฯ†ฯŒฯฯ„ฯ‰ฯƒฮท ฯ€ฯฮญฯ€ฮตฮน ฮฝฮฑ ฮฟฮปฮฟฮบฮปฮทฯฯ‰ฮธฮตฮฏ ฯ€ฯฮนฮฝ ฮฑฮฝฮญฮฒฮตฮน ฮฑฮปฮปฮฟฯ.\n\nฮœฯ€ฮฟฯฮตฮฏฯ‚ ฮฝฮฑ ฮฑฮบฯ…ฯฯŽฯƒฮตฮนฯ‚ ฮบฮฑฮน ฮฝฮฑ ฮพฮตฯ‡ฮฌฯƒฮตฮนฯ‚ ฯ„ฮทฮฝ ฮฑฯฯ‡ฮนฮบฮฎ ฮผฮตฯ„ฮฑฯ†ฯŒฯฯ„ฯ‰ฯƒฮท ฮผฮต ฯ„ฮฟ ฮบฮฟฯ…ฮผฯ€ฮฏ ๐Ÿงฏ ฯ€ฮฌฮฝฯ‰ ฮฑฯฮนฯƒฯ„ฮตฯฮฌ", + "ur_1uo": "ฮŸฮš: ฮคฮฟ ฮฑฯฯ‡ฮตฮฏฮฟ ฮฑฮฝฮญฮฒฮทฮบฮต ฮตฯ€ฮนฯ„ฯ…ฯ‡ฯŽฯ‚", + "ur_auo": "ฮŸฮš: ฮšฮฑฮน ฯ„ฮฑ {0} ฮฑฯฯ‡ฮตฮฏฮฑ ฮฑฮฝฮญฮฒฮทฮบฮฑฮฝ ฮตฯ€ฮนฯ„ฯ…ฯ‡ฯŽฯ‚", + "ur_1so": "ฮŸฮš: ฮคฮฟ ฮฑฯฯ‡ฮตฮฏฮฟ ฮฒฯฮญฮธฮทฮบฮต ฯƒฯ„ฮฟ ฮดฮนฮฑฮบฮฟฮผฮนฯƒฯ„ฮฎ", + "ur_aso": "ฮŸฮš: ฮšฮฑฮน ฯ„ฮฑ {0} ฮฑฯฯ‡ฮตฮฏฮฑ ฮฒฯฮญฮธฮทฮบฮฑฮฝ ฯƒฯ„ฮฟ ฮดฮนฮฑฮบฮฟฮผฮนฯƒฯ„ฮฎ", + "ur_1un": "ฮ— ฮผฮตฯ„ฮฑฯ†ฯŒฯฯ„ฯ‰ฯƒฮท ฮฑฯ€ฮญฯ„ฯ…ฯ‡ฮต, ฯƒฯ…ฮณฮณฮฝฯŽฮผฮท", + "ur_aun": "ฮšฮฑฮน ฮฟฮน {0} ฮผฮตฯ„ฮฑฯ†ฮฟฯฯ„ฯŽฯƒฮตฮนฯ‚ ฮฑฯ€ฮญฯ„ฯ…ฯ‡ฮฑฮฝ, ฯƒฯ…ฮณฮณฮฝฯŽฮผฮท", + "ur_1sn": "ฮคฮฟ ฮฑฯฯ‡ฮตฮฏฮฟ ฮ”ฮ•ฮ ฮฒฯฮญฮธฮทฮบฮต ฯƒฯ„ฮฟ ฮดฮนฮฑฮบฮฟฮผฮนฯƒฯ„ฮฎ", + "ur_asn": "ฮคฮฑ {0} ฮฑฯฯ‡ฮตฮฏฮฑ ฮ”ฮ•ฮ ฮฒฯฮญฮธฮทฮบฮฑฮฝ ฯƒฯ„ฮฟ ฮดฮนฮฑฮบฮฟฮผฮนฯƒฯ„ฮฎ", + "ur_um": "ฮŸฮปฮฟฮบฮปฮทฯฯŽฮธฮทฮบฮต;\n{0} ฮผฮตฯ„ฮฑฯ†ฮฟฯฯ„ฯŽฯƒฮตฮนฯ‚ ฮตฮฏฮฝฮฑฮน OK,\n{1} ฮผฮตฯ„ฮฑฯ†ฮฟฯฯ„ฯŽฯƒฮตฮนฯ‚ ฮฑฯ€ฮญฯ„ฯ…ฯ‡ฮฑฮฝ, ฯƒฯ…ฮณฮณฮฝฯŽฮผฮท", + "ur_sm": "ฮŸฮปฮฟฮบฮปฮทฯฯŽฮธฮทฮบฮต;\n{0} ฮฑฯฯ‡ฮตฮฏฮฑ ฮฒฯฮญฮธฮทฮบฮฑฮฝ ฯƒฯ„ฮฟ ฮดฮนฮฑฮบฮฟฮผฮนฯƒฯ„ฮฎ,\n{1} ฮฑฯฯ‡ฮตฮฏฮฑ ฮ”ฮ•ฮ ฮฒฯฮญฮธฮทฮบฮฑฮฝ ฯƒฯ„ฮฟ ฮดฮนฮฑฮบฮฟฮผฮนฯƒฯ„ฮฎ", + + "rc_opn": "ฮฌฮฝฮฟฮนฮณฮผฮฑ", //m + "rc_ply": "ฮฑฮฝฮฑฯ€ฮฑฯฮฑฮณฯ‰ฮณฮฎ", //m + "rc_pla": "ฮฑฮฝฮฑฯ€ฮฑฯฮฑฮณฯ‰ฮณฮฎ ฯ‰ฯ‚ ฮฎฯ‡ฮฟฯ‚", //m + "rc_txt": "ฮฌฮฝฮฟฮนฮณฮผฮฑ ฯƒฯ„ฮฟฮฝ ฯ€ฯฮฟฮฒฮฟฮปฮญฮฑ ฮฑฯฯ‡ฮตฮฏฯ‰ฮฝ", //m + "rc_md": "ฮฌฮฝฮฟฮนฮณฮผฮฑ ฯƒฯ„ฮฟฮฝ ฮตฯ€ฮตฮพฮตฯฮณฮฑฯƒฯ„ฮฎ ฮบฮตฮนฮผฮญฮฝฮฟฯ…", //m + "rc_dl": "ฮปฮฎฯˆฮท", //m + "rc_zip": "ฮปฮฎฯˆฮท ฯ‰ฯ‚ ฮฑฯฯ‡ฮตฮฏฮฟ", //m + "rc_del": "ฮดฮนฮฑฮณฯฮฑฯ†ฮฎ", //m + "rc_cut": "ฮฑฯ€ฮฟฮบฮฟฯ€ฮฎ", //m + "rc_cpy": "ฮฑฮฝฯ„ฮนฮณฯฮฑฯ†ฮฎ", //m + "rc_pst": "ฮตฯ€ฮนฮบฯŒฮปฮปฮทฯƒฮท", //m + "rc_nfo": "ฮฝฮญฮฟฯ‚ ฯ†ฮฌฮบฮตฮปฮฟฯ‚", //m + "rc_nfi": "ฮฝฮญฮฟ ฮฑฯฯ‡ฮตฮฏฮฟ", //m + "rc_sal": "ฮตฯ€ฮนฮปฮฟฮณฮฎ ฯŒฮปฯ‰ฮฝ", //m + "rc_sin": "ฮฑฮฝฯ„ฮนฯƒฯ„ฯฮฟฯ†ฮฎ ฮตฯ€ฮนฮปฮฟฮณฮฎฯ‚", //m + + "lang_set": "ฮฑฮฝฮฑฮฝฮญฯ‰ฯƒฮท ฯƒฮตฮปฮฏฮดฮฑฯ‚ ฮณฮนฮฑ ฮตฯ†ฮฑฯฮผฮฟฮณฮฎ ฯ„ฮทฯ‚ ฮฑฮปฮปฮฑฮณฮฎฯ‚;", + + "splash": { + "a1": "ฮฑฮฝฮฑฮฝฮญฯ‰ฯƒฮท", + "b1": "ฮณฮตฮนฮฑ ฯƒฮฟฯ… ฮพฮญฮฝฮต!   (ฮดฮตฮฝ ฮตฮฏฯƒฮฑฮน ฯƒฯ…ฮฝฮดฮตฮดฮตฮผฮญฮฝฮฟฯ‚)", + "c1": "ฮฑฯ€ฮฟฯƒฯฮฝฮดฮตฯƒฮท", + "d1": "ฮปฮฏฯƒฯ„ฮฑ ฮดฮนฮตฯฮณฮฑฯƒฮนฯŽฮฝ", + "d2": "ฮตฮผฯ†ฮฑฮฝฮฏฮถฮตฮน ฯ„ฮทฮฝ ฮบฮฑฯ„ฮฌฯƒฯ„ฮฑฯƒฮท ฯŒฮปฯ‰ฮฝ ฯ„ฯ‰ฮฝ ฮตฮฝฮตฯฮณฯŽฮฝ ฮดฮนฮตฯฮณฮฑฯƒฮนฯŽฮฝ", + "e1": "ฮตฯ€ฮฑฮฝฮฑฯ†ฯŒฯฯ„ฯ‰ฯƒฮท ฯ„ฮฟฯ… cfg", + "e2": "ฯ†ฮฟฯฯ„ฯŽฮฝฮตฮน ฮพฮฑฮฝฮฌ ฯ„ฮฑ ฮฑฯฯ‡ฮตฮฏฮฑ ฯฯ…ฮธฮผฮฏฯƒฮตฯ‰ฮฝ (ฮปฮฟฮณฮฑฯฮนฮฑฯƒฮผฮฟฮฏ/ฯ„ฯŒฮผฮฟฮน/volflags),$Nฮบฮฑฮน ฮบฮฌฮฝฮตฮน ฮตฯ€ฮฑฮฝฮตฮพฮญฯ„ฮฑฯƒฮท ฯŒฮปฯ‰ฮฝ ฯ„ฯ‰ฮฝ ฯ„ฯŒฮผฯ‰ฮฝ e2ds$N$Nฯƒฮทฮผฮตฮฏฯ‰ฯƒฮท: ฮฟฯ€ฮฟฮนฮฑฮดฮฎฯ€ฮฟฯ„ฮต ฮฑฮปฮปฮฑฮณฮฎ ฯƒฯ„ฮนฯ‚ ฮบฮฑฮธฮฟฮปฮนฮบฮญฯ‚ ฯฯ…ฮธฮผฮฏฯƒฮตฮนฯ‚$Nฮฑฯ€ฮฑฮนฯ„ฮตฮฏ ฯ€ฮปฮฎฯฮท ฮตฯ€ฮฑฮฝฮตฮบฮบฮฏฮฝฮทฯƒฮท ฮณฮนฮฑ ฮฝฮฑ ฮตฯ†ฮฑฯฮผฮฟฯƒฯ„ฮตฮฏ", + "f1": "ฮผฯ€ฮฟฯฮตฮฏฯ‚ ฮฝฮฑ ฯ€ฮตฯฮนฮทฮณฮทฮธฮตฮฏฯ‚:", + "g1": "ฮผฯ€ฮฟฯฮตฮฏฯ‚ ฮฝฮฑ ฮตฮบฯ„ฮตฮปฮญฯƒฮตฮนฯ‚ ฮผฮตฯ„ฮฑฯ†ฯŒฯฯ„ฯ‰ฯƒฮท ฯƒฮต:", + "cc1": "ฮฌฮปฮปฮฑ ฯ€ฯฮฌฮณฮผฮฑฯ„ฮฑ:", + "h1": "ฮฑฯ€ฮตฮฝฮตฯฮณฮฟฯ€ฮฟฮฏฯƒฮท k304", + "i1": "ฮตฮฝฮตฯฮณฮฟฯ€ฮฟฮฏฮทฯƒฮท k304", + "j1": "ฮท ฮตฮฝฮตฯฮณฮฟฯ€ฮฟฮฏฮทฯƒฮท ฯ„ฮฟฯ… k304 ฮธฮฑ ฮฑฯ€ฮฟฯƒฯ…ฮฝฮดฮญฯƒฮตฮน ฯ„ฮฟ ฯ€ฯฯŒฮณฯฮฑฮผฮผฮฑ ฯ€ฮตฮปฮฌฯ„ฮท ฯƒฮฟฯ… ฯƒฮต ฮบฮฌฮธฮต HTTP 304, ฮบฮฌฯ„ฮน ฯ€ฮฟฯ… ฮผฯ€ฮฟฯฮตฮฏ ฮฝฮฑ ฮฑฯ€ฮฟฯ„ฯฮญฯˆฮตฮน ฮบฮฌฯ€ฮฟฮนฮฑ ฯ€ฯฮฟฮฒฮปฮทฮผฮฑฯ„ฮนฮบฮฌ proxies ฮฑฯ€ฯŒ ฯ„ฮฟ ฮฝฮฑ ฮบฮฟฮปฮปฮฌฮฝฮต (ฮฝฮฑ ฮผฮทฮฝ ฯ†ฮฟฯฯ„ฯŽฮฝฮฟฯ…ฮฝ ฮพฮฑฯ†ฮฝฮนฮบฮฌ ฯƒฮตฮปฮฏฮดฮตฯ‚), ฮฑฮปฮปฮฌ ฮธฮฑ ฮบฮฌฮฝฮตฮน ฯ„ฮฑ ฯ€ฯฮฌฮณฮผฮฑฯ„ฮฑ, ฮณฮตฮฝฮนฮบฮฌ ฯ€ฮนฮฟ ฮฑฯฮณฮฌ", + "k1": "ฮตฯ€ฮฑฮฝฮฑฯ†ฮฟฯฮฌ ฯฯ…ฮธฮผฮฏฯƒฮตฯ‰ฮฝ ฯƒฯ„ฮฟ ฯ€ฯฯŒฮณฯฮฑฮผฮผฮฑ ฯ€ฮตฮปฮฌฯ„ฮท", + "l1": "ฯƒฯ…ฮฝฮดฮญฯƒฮฟฯ… ฮณฮนฮฑ ฯ€ฮตฯฮนฯƒฯƒฯŒฯ„ฮตฯฮฑ:", + "ls3": "ฯƒฯฮฝฮดฮตฯƒฮท", //m + "lu4": "ฯŒฮฝฮฟฮผฮฑ ฯ‡ฯฮฎฯƒฯ„ฮท", //m + "lp4": "ฮบฯ‰ฮดฮนฮบฯŒฯ‚ ฯ€ฯฯŒฯƒฮฒฮฑฯƒฮทฯ‚", //m + "lo3": "ฮฑฯ€ฮฟฯƒฯฮฝฮดฮตฯƒฮท ฯ„ฮฟฯ… โ€œ{0}โ€ ฮฑฯ€ฯŒ ฯ€ฮฑฮฝฯ„ฮฟฯ", //m + "lo2": "ฮฑฯ…ฯ„ฯŒ ฮธฮฑ ฯ„ฮตฯฮผฮฑฯ„ฮฏฯƒฮตฮน ฯ„ฮท ฯƒฯ…ฮฝฮตฮดฯฮฏฮฑ ฯƒฮต ฯŒฮปฮฟฯ…ฯ‚ ฯ„ฮฟฯ…ฯ‚ ฯ€ฮตฯฮนฮทฮณฮทฯ„ฮญฯ‚", //m + "m1": "ฮบฮฑฮปฯŽฯ‚ ฮฎฯฮธฮตฯ‚,", + "n1": "404 ฮดฮตฮฝ ฮฒฯฮญฮธฮทฮบฮต  โ”( ยด -`)โ”Œ", + "o1": 'ยดฮท ฮผฮฎฯ€ฯ‰ฯ‚ ฮดฮตฮฝ ฮญฯ‡ฮตฮนฯ‚ ฯ€ฯฯŒฯƒฮฒฮฑฯƒฮท -- ฮดฮฟฮบฮฏฮผฮฑฯƒฮต ฮญฮฝฮฑฮฝ ฮบฯ‰ฮดฮนฮบฯŒ ฯ€ฮฎฮณฮฑฮนฮฝฮต ฯƒฯ„ฮทฮฝ ฮฑฯฯ‡ฮนฮบฮฎ', + "p1": "403 ฮฑฯ€ฮฑฮณฮฟฯฮตฯ…ฮผฮญฮฝฮฟ  ~โ”ปโ”โ”ป", + "q1": 'ฮดฮฟฮบฮฏฮผฮฑฯƒฮต ฮญฮฝฮฑฮฝ ฮบฯ‰ฮดฮนฮบฯŒ ฯ€ฮฎฮณฮฑฮนฮฝฮต ฯƒฯ„ฮทฮฝ ฮฑฯฯ‡ฮนฮบฮฎ', + "r1": "ฯ€ฮฏฯƒฯ‰ ฯƒฯ„ฮทฮฝ ฮฑฯฯ‡ฮนฮบฮฎ", + ".s1": "ฮตฯ€ฮฑฮฝฮฌฮปฮทฯˆฮท ฯƒฮฌฯฯ‰ฯƒฮทฯ‚", + "t1": "ฮตฮฝฮญฯฮณฮตฮนฮฑ", + "u2": "ฯ‡ฯฯŒฮฝฮฟฯ‚ ฮฑฯ€ฯŒ ฯ„ฮทฮฝ ฯ„ฮตฮปฮตฯ…ฯ„ฮฑฮฏฮฑ ฮตฮณฮณฯฮฑฯ†ฮฎ ฯ„ฮฟฯ… ฮดฮนฮฑฮบฮฟฮผฮนฯƒฯ„ฮฎ$N( ฮผฮตฯ„ฮฑฯ†ฯŒฯฯ„ฯ‰ฯƒฮท / ฮผฮตฯ„ฮฟฮฝฮฟฮผฮฑฯƒฮฏฮฑ / ... )$N$N17d = 17 days$N1ฯ‰23 = 1 ฯŽฯฮฑ 23 ฮปฮตฯ€ฯ„ฮฌ$N4ฮป56 = 4 ฮปฮตฯ€ฯ„ฮฌ 56 ฮดฮตฯ…ฯ„ฮตฯฯŒฮปฮตฯ€ฯ„ฮฑ", + "v1": "ฯƒฯฮฝฮดฮตฯƒฮท", + "v2": "ฯ‡ฯฮทฯƒฮนฮผฮฟฯ€ฮฟฮฏฮทฯƒฮต ฮฑฯ…ฯ„ฯŒฮฝ ฯ„ฮฟ ฮดฮนฮฑฮบฮฟฮผฮนฯƒฯ„ฮฎ ฯƒฮฑฮฝ ฯ„ฮฟฯ€ฮนฮบฯŒ ฮดฮฏฯƒฮบฮฟ", + "w1": "ฮตฮฝฮฑฮปฮปฮฑฮณฮฎ ฯƒฮต https", + "x1": "ฮฑฮปฮปฮฑฮณฮฎ ฮบฯ‰ฮดฮนฮบฮฟฯ", + "y1": "ฮตฯ€ฮตฮพฮตฯฮณฮฑฯƒฮฏฮฑ ฮบฮฟฮนฮฝฯŒฯ‡ฯฮทฯƒฯ„ฯ‰ฮฝ ฯ†ฮฑฮบฮญฮปฯ‰ฮฝ", + "z1": "ฮพฮตฮบฮปฮตฮฏฮดฯ‰ฮผฮฑ ฮฑฯ…ฯ„ฮฟฯ ฯ„ฮฟฯ… ฮบฮฟฮนฮฝฯŒฯ‡ฯฮทฯƒฯ„ฮฟฯ… ฯ†ฮฑฮบฮญฮปฮฟฯ…:", + "ta1": "ฯƒฯ…ฮผฯ€ฮปฮฎฯฯ‰ฯƒฮต ฯ€ฯฯŽฯ„ฮฑ ฯ„ฮฟ ฮฝฮญฮฟ ฯƒฮฟฯ… ฮบฯ‰ฮดฮนฮบฯŒ", + "ta2": "ฮตฯ€ฮฑฮฝฮญฮปฮฑฮฒฮต ฮณฮนฮฑ ฮฝฮฑ ฮตฯ€ฮนฮฒฮตฮฒฮฑฮนฯŽฯƒฮตฮนฯ‚ ฯ„ฮฟ ฮฝฮญฮฟ ฮบฯ‰ฮดฮนฮบฯŒ:", + "ta3": "ฮฒฯฮญฮธฮทฮบฮต ฯ„ฯ…ฯ€ฮฟฮณฯฮฑฯ†ฮนฮบฯŒ ฮปฮฌฮธฮฟฯ‚ยท ฮดฮฟฮบฮฏฮผฮฑฯƒฮต ฮพฮฑฮฝฮฌ", + "nop": "ฮฃฮฆฮ‘ฮ›ฮœฮ‘: ฮŸ ฮบฯ‰ฮดฮนฮบฯŒฯ‚ ฯ€ฯฯŒฯƒฮฒฮฑฯƒฮทฯ‚ ฮดฮตฮฝ ฮผฯ€ฮฟฯฮตฮฏ ฮฝฮฑ ฮตฮฏฮฝฮฑฮน ฮบฮตฮฝฯŒฯ‚", //m + "nou": "ฮฃฮฆฮ‘ฮ›ฮœฮ‘: ฮคฮฟ ฯŒฮฝฮฟฮผฮฑ ฯ‡ฯฮฎฯƒฯ„ฮท ฮบฮฑฮน/ฮฎ ฮฟ ฮบฯ‰ฮดฮนฮบฯŒฯ‚ ฯ€ฯฯŒฯƒฮฒฮฑฯƒฮทฯ‚ ฮดฮตฮฝ ฮผฯ€ฮฟฯฮตฮฏ ฮฝฮฑ ฮตฮฏฮฝฮฑฮน ฮบฮตฮฝฯŒ", //m + "aa1": "ฮตฮนฯƒฮตฯฯ‡ฯŒฮผฮตฮฝฮฑ ฮฑฯฯ‡ฮตฮฏฮฑ:", + "ab1": "ฮฑฯ€ฮตฮฝฮตฯฮณฮฟฯ€ฮฟฮฏฮทฯƒฮท no304", + "ac1": "ฮตฮฝฮตฯฮณฮฟฯ€ฮฟฮฏฮทฯƒฮท no304", + "ad1": "ฮท ฮตฮฝฮตฯฮณฮฟฯ€ฮฟฮฏฮทฯƒฮท ฯ„ฮฟฯ… no304 ฮธฮฑ ฮฑฯ€ฮตฮฝฮตฯฮณฮฟฯ€ฮฟฮนฮฎฯƒฮตฮน ฯŒฮปฮท ฯ„ฮทฮฝ ฯ€ฯฮฟฯƒฯ‰ฯฮนฮฝฮฎ ฮฑฯ€ฮฟฮธฮฎฮบฮตฯ…ฯƒฮทยท ฮดฮฟฮบฮฏฮผฮฑฯƒฮญ ฯ„ฮฟ ฮฑฮฝ ฯ„ฮฟ k304 ฮดฮตฮฝ ฮฎฯ„ฮฑฮฝ ฮฑฯฮบฮตฯ„ฯŒ. ฮ ฯฮฟฯƒฮฟฯ‡ฮฎ, ฮธฮฑ ฯƒฯ€ฮฑฯ„ฮฑฮปฮฎฯƒฮตฮน ฯ„ฮตฯฮฌฯƒฯ„ฮนฮฟ ฯŒฮณฮบฮฟ ฮดฮนฮบฯ„ฯ…ฮฑฮบฮฎฯ‚ ฮบฮฏฮฝฮทฯƒฮทฯ‚!", + "ae1": "ฮตฮฝฮตฯฮณฮญฯ‚ ฮผฮตฯ„ฮฑฯ†ฮฟฯฯ„ฯŽฯƒฮตฮนฯ‚:", + "af1": "ฯ€ฯฮฟฮฒฮฟฮปฮฎ ฯ€ฯฯŒฯƒฯ†ฮฑฯ„ฯ‰ฮฝ ฮผฮตฯ„ฮฑฯ†ฮฟฯฯ„ฯŽฯƒฮตฯ‰ฮฝ", + "ag1": "ฮตฮผฯ†ฮฌฮฝฮนฯƒฮท ฮณฮฝฯ‰ฯƒฯ„ฯŽฮฝ ฯ‡ฯฮทฯƒฯ„ฯŽฮฝ IdP", //m + } +}; diff --git a/copyparty/web/tl/ita.js b/copyparty/web/tl/ita.js new file mode 100644 index 00000000..6ee5b0ea --- /dev/null +++ b/copyparty/web/tl/ita.js @@ -0,0 +1,710 @@ + +// Le righe che terminano con //m sono traduzioni automatiche non verificate + +Ls.ita = { + "tt": "Italiano", + + "cols": { + "c": "pulsanti azione", + "dur": "durata", + "q": "qualitร  / bitrate", + "Ac": "codec audio", + "Vc": "codec video", + "Fmt": "formato / container", + "Ahash": "checksum audio", + "Vhash": "checksum video", + "Res": "risoluzione", + "T": "tipo file", + "aq": "qualitร  audio / bitrate", + "vq": "qualitร  video / bitrate", + "pixfmt": "subsampling / struttura pixel", + "resw": "risoluzione orizzontale", + "resh": "risoluzione verticale", + "chs": "canali audio", + "hz": "frequenza di campionamento", + }, + + "hks": [ + [ + "varie", + ["ESC", "chiudi vari elementi"], + + "file-manager", + ["G", "alterna vista lista / griglia"], + ["T", "alterna miniature / icone"], + ["โ‡ง A/D", "dimensione miniature"], + ["ctrl-K", "elimina selezionati"], + ["ctrl-X", "taglia selezione negli appunti"], + ["ctrl-C", "copia selezione negli appunti"], + ["ctrl-V", "incolla (sposta/copia) qui"], + ["Y", "scarica selezionati"], + ["F2", "rinomina selezionati"], + + "file-list-sel", + ["spazio", "alterna selezione file"], + ["โ†‘/โ†“", "sposta cursore selezione"], + ["ctrl โ†‘/โ†“", "sposta cursore e viewport"], + ["โ‡ง โ†‘/โ†“", "seleziona file prec/succ"], + ["ctrl-A", "seleziona tutti i file / cartelle"], + ], [ + "navigation", + ["B", "alterna breadcrumb / pannello nav"], + ["I/K", "cartella prec/succ"], + ["M", "cartella genitore (o comprimi corrente)"], + ["V", "alterna cartelle / file di testo nel pannello nav"], + ["A/D", "dimensione pannello nav"], + ], [ + "audio-player", + ["J/L", "brano prec/succ"], + ["U/O", "salta 10sec indietro/avanti"], + ["0..9", "salta a 0%..90%"], + ["P", "play/pausa (avvia anche)"], + ["S", "seleziona brano in riproduzione"], + ["Y", "scarica brano"], + ], [ + "image-viewer", + ["J/L, โ†/โ†’", "immagine prec/succ"], + ["Home/End", "prima/ultima immagine"], + ["F", "schermo intero"], + ["R", "ruota in senso orario"], + ["โ‡ง R", "ruota in senso antiorario"], + ["S", "seleziona immagine"], + ["Y", "scarica immagine"], + ], [ + "video.player", + ["U/O", "salta 10sec indietro/avanti"], + ["P/K/Spazio", "play/pausa"], + ["C", "continua riproduzione successivo"], + ["V", "loop"], + ["M", "muto"], + ["[ e ]", "imposta intervallo loop"], + ], [ + "textfile-viewer", + ["I/K", "file prec/succ"], + ["M", "chiudi file di testo"], + ["E", "modifica file di testo"], + ["S", "seleziona file (per taglia/copia/rinomina)"], + ["Y", "scarica il file di testo"], //m + ["โ‡ง J", "abbellire json"], //m + ] + ], + + "m_ok": "OK", + "m_ng": "Annulla", + + "enable": "Abilita", + "danger": "PERICOLO", + "clipped": "copiato negli appunti", + + "ht_s1": "secondo", + "ht_s2": "secondi", + "ht_m1": "minuto", + "ht_m2": "minuti", + "ht_h1": "ora", + "ht_h2": "ore", + "ht_d1": "giorno", + "ht_d2": "giorni", + "ht_and": " e ", + + "goh": "control-panel", + "gop": 'cartella sorella precedente">prec', + "gou": 'cartella genitore">su', + "gon": 'prossima cartella">succ', + "logout": "Logout ", + "login": "Accedi", //m + "access": " accesso", + "ot_close": "chiudi sottomenu", + "ot_search": "cerca file per attributi, percorso / nome, tag musicali, o qualsiasi combinazione di questi$N$N<code>foo bar</code> = deve contenere sia ยซfooยป che ยซbarยป,$N<code>foo -bar</code> = deve contenere ยซfooยป ma non ยซbarยป,$N<code>^yana .opus$</code> = inizia con ยซyanaยป ed รจ un file ยซopusยป$N<code>"try unite"</code> = contiene esattamente ยซtry uniteยป$N$Nil formato data รจ iso-8601, come$N<code>2009-12-31</code> o <code>2020-09-12 23:30:00</code>", + "ot_unpost": "unpost: elimina i tuoi caricamenti recenti, o interrompi quelli non completati", + "ot_bup": "bup: uploader di base, supporta anche netscape 4.0", + "ot_mkdir": "mkdir: crea una nuova directory", + "ot_md": "new-file: crea un nuovo file di testo", //m + "ot_msg": "msg: invia un messaggio al log del server", + "ot_mp": "opzioni lettore multimediale", + "ot_cfg": "opzioni di configurazione", + "ot_u2i": 'up2k: carica file (se hai accesso in scrittura) o attiva la modalitร  ricerca per vedere se esistono giร  da qualche parte sul server$N$NI caricamenti sono ripristinabili, multithreaded, e i timestamp dei file vengono preservati, ma usa piรน CPU di [๐ŸŽˆ]  (l\'uploader di base)

    durante i caricamenti, questa icona diventa un indicatore di progresso!', + "ot_u2w": 'up2k: carica file con supporto per il ripristino (chiudi il browser e trascina gli stessi file piรน tardi)$N$NMultithreaded, e i timestamp dei file vengono preservati, ma usa piรน CPU di [๐ŸŽˆ]  (l\'uploader di base)

    durante i caricamenti, questa icona diventa un indicatore di progresso!', + "ot_noie": 'Perfavore usa Chrome / Firefox / Edge', + + "ab_mkdir": "crea directory", + "ab_mkdoc": "nuovo file di testo", //m + "ab_msg": "invia msg al log srv", + + "ay_path": "salta alle cartelle", + "ay_files": "salta ai file", + + "wt_ren": "rinomina elementi selezionati$NTasto rapido: F2", + "wt_del": "elimina elementi selezionati$NTasto rapido: ctrl-K", + "wt_cut": "taglia elementi selezionati <small>(poi incolla altrove)</small>$NTasto rapido: ctrl-X", + "wt_cpy": "copia elementi selezionati negli appunti$N(per incollarli altrove)$NTasto rapido: ctrl-C", + "wt_pst": "incolla una selezione precedentemente tagliata / copiata$NTasto rapido: ctrl-V", + "wt_selall": "seleziona tutti i file$NTasto rapido: ctrl-A (quando il file รจ focalizzato)", + "wt_selinv": "inverti selezione", + "wt_zip1": "scarica questa cartella come archivio", + "wt_selzip": "scarica selezione come archivio", + "wt_seldl": "scarica selezione come file separati$NTasto rapido: Y", + "wt_npirc": "copia info traccia formato irc", + "wt_nptxt": "copia info traccia testo semplice", + "wt_m3ua": "aggiungi alla playlist m3u (clicca ๐Ÿ“ปcopia dopo)", + "wt_m3uc": "copia playlist m3u negli appunti", + "wt_grid": "alterna vista griglia / lista$NTasto rapido: G", + "wt_prev": "traccia precedente$NTasto rapido: J", + "wt_play": "play / pausa$NTasto rapido: P", + "wt_next": "traccia successiva$NTasto rapido: L", + + "ul_par": "caricamenti paralleli:", + "ut_rand": "randomizza nomi file", + "ut_u2ts": "copia il timestamp di ultima modifica$Ndal tuo filesystem al server\">๐Ÿ“…", + "ut_ow": "sovrascrivere file esistenti sul server?$N๐Ÿ›ก๏ธ: mai (genererร  un nuovo nome file)$N๐Ÿ•’: sovrascrivi se il file del server รจ piรน vecchio del tuo$Nโ™ป๏ธ: sovrascrivi sempre se i file sono diversi$Nโญ๏ธ: ignora sempre tutti i file esistenti", //m + "ut_mt": "continua l'hashing di altri file durante il caricamento$N$NProva a disabilitare se la tua CPU o HDD รจ un collo di bottiglia", + "ut_ask": 'chiedi conferma prima che inizi il caricamento">๐Ÿ’ญ', + "ut_pot": "migliora la velocitร  di caricamento su dispositivi lenti$Nrendendo l'interfaccia meno complessa", + "ut_srch": "non caricare realmente, invece controlla se i file esistono giร  $N sul server (scansionerร  tutte le cartelle che puoi leggere)", + "ut_par": "metti in pausa i caricamenti impostandolo a 0$N$NAumenta se la tua connessione รจ lenta / alta latenza$N$NMantienilo a 1 su LAN o se l'HDD del server รจ un collo di bottiglia", + "ul_btn": "trascina file / cartelle
    qui (o cliccami)", + "ul_btnu": "C A R I C A", + "ul_btns": "C E R C A", + + "ul_hash": "hash", + "ul_send": "invia", + "ul_done": "fatto", + "ul_idle1": "nessun caricamento ancora in coda", + "ut_etah": "velocitร  media di <em>hashing</em>, e tempo stimato al completamento", + "ut_etau": "velocitร  media di <em>caricamento</em> e tempo stimato al completamento", + "ut_etat": "velocitร  <em>totale</em> media e tempo stimato al completamento", + + "uct_ok": "completato con successo", + "uct_ng": "non-valido: fallito / rifiutato / non-trovato", + "uct_done": "ok e ng combinati", + "uct_bz": "hashing o caricamento", + "uct_q": "inattivo, in attesa", + + "utl_name": "nome file", + "utl_ulist": "lista", + "utl_ucopy": "copia", + "utl_links": "link", + "utl_stat": "stato", + "utl_prog": "progresso", + + // keep short: + "utl_404": "404", + "utl_err": "ERRORE", + "utl_oserr": "Errore-SO", + "utl_found": "trovato", + "utl_defer": "rinvia", + "utl_yolo": "YOLO", + "utl_done": "finito", + + "ul_flagblk": "i file sono stati aggiunti alla coda
    tuttavia c'รจ un up2k occupato in un'altra scheda del browser,
    quindi aspetto che quello finisca prima", + "ul_btnlk": "la configurazione del server ha bloccato questo interruttore in questo stato", + + "udt_up": "Carica", + "udt_srch": "Cerca", + "udt_drop": "lascialo qui", + + "u_nav_m": '
    ok, cosa hai?
    Invio = File (uno o piรน)\nESC = Una cartella (incluse sottocartelle)', + "u_nav_b": 'FileUna cartella', + + "cl_opts": "opzioni", + "cl_hfsz": "dimensione file", //m + "cl_themes": "tema", + "cl_langs": "lingua", + "cl_ziptype": "download cartella", + "cl_uopts": "opzioni up2k", + "cl_favico": "favicon", + "cl_bigdir": "cartelle grandi", + "cl_hsort": "#ordinamento", + "cl_keytype": "notazione tasti", + "cl_hiddenc": "colonne nascoste", + "cl_hidec": "nascondi", + "cl_reset": "reset", + "cl_hpick": "tocca le intestazioni delle colonne per nascondere nella tabella sottostante", + "cl_hcancel": "nascondere colonne annullato", + "cl_rcm": "menu contestuale", //m + + "ct_grid": '็”ฐ griglia', + "ct_ttips": 'โ—” โ—ก โ—”">โ„น๏ธ tooltip', + "ct_thumb": 'nella vista griglia, alterna icone o miniature$NTasto rapido: T">๐Ÿ–ผ๏ธ miniature', + "ct_csel": 'usa CTRL e SHIFT per la selezione file nella vista griglia">sel', + "ct_dl": 'forza il download (non visualizzare inline) quando si clicca su un file">dl', //m + "ct_ihop": 'quando il visualizzatore immagini รจ chiuso, scorri fino all\'ultimo file visualizzato">gโฎฏ', + "ct_dots": 'mostra file nascosti (se il server lo permette)">dotfile', + "ct_qdel": 'quando elimini file, chiedi conferma solo una volta">qdel', + "ct_dir1st": 'ordina cartelle prima dei file">๐Ÿ“ prima', + "ct_nsort": 'ordinamento naturale (per nomi file con cifre iniziali)">nsort', + "ct_utc": 'mostra tutte le date/ore in UTC">UTC', + "ct_readme": 'mostra README.md negli elenchi cartelle">๐Ÿ“œ readme', + "ct_idxh": 'mostra index.html invece dell\'elenco cartelle">htm', + "ct_sbars": 'mostra barre di scorrimento">โŸŠ', + + "cut_umod": "se un file esiste giร  sul server, aggiorna il timestamp di ultima modifica del server per farlo coincidere con il tuo file locale (richiede permessi di scrittura+eliminazione)\">re๐Ÿ“…", + + "cut_turbo": "il pulsante yolo, probabilmente NON lo vuoi abilitare:$N$NUsalo se stavi caricando una grande quantitร  di file e hai dovuto riavviare per qualche motivo, e vuoi continuare il caricamento il prima possibile$N$NQuesto sostituisce il controllo hash con un semplice "questo ha la stessa dimensione file sul server?" quindi se il contenuto del file รจ diverso NON verrร  caricato$N$NDovresti spegnere questo quando il caricamento รจ finito, e poi "caricare" di nuovo gli stessi file per far verificare al client\">turbo", + + "cut_datechk": "non ha effetto a meno che il pulsante turbo sia abilitato$N$NRiduce il fattore yolo di una piccola quantitร ; controlla se i timestamp dei file sul server corrispondono ai tuoi$N$NDovrebbe teoricamente catturare la maggior parte dei caricamenti non finiti / corrotti, ma non รจ un sostituto per fare un passaggio di verifica con turbo disabilitato dopo\">date-chk", + + "cut_u2sz": "dimensione (in MiB) di ogni chunk di caricamento; valori grandi volano meglio attraverso l'atlantico. Prova valori bassi su connessioni molto inaffidabili", + + "cut_flag": "assicura che solo una scheda stia caricando alla volta $N -- anche le altre schede devono avere questo abilitato $N -- influisce solo sulle schede dello stesso dominio", + + "cut_az": "carica file in ordine alfabetico, invece che dal file piรน piccolo prima$N$NL'ordine alfabetico puรฒ rendere piรน facile controllare a occhio se qualcosa รจ andato storto sul server, ma rende il caricamento leggermente piรน lento su fibra / LAN", + + "cut_nag": "notifica SO quando il caricamento si completa$N(solo se il browser o la scheda non รจ attiva)", + "cut_sfx": "allarme sonoro quando il caricamento si completa$N(solo se il browser o la scheda non รจ attiva)", + + "cut_mt": "usa multithreading per accelerare l'hashing dei file$N$NQuesto usa web-worker e richiede$Npiรน RAM (fino a 512 MiB extra)$N$NRende https 30% piรน veloce, http 4.5x piรน veloce\">mt", + + "cut_wasm": "usa wasm invece dell'hasher integrato del browser; migliora la velocitร  sui browser basati su chrome ma aumenta il carico CPU, e molte versioni vecchie di chrome hanno bug che fanno consumare tutta la RAM al browser e crashare se questo รจ abilitato\">wasm", + + "cft_text": "testo favicon (vuoto e aggiorna per disabilitare)", + "cft_fg": "colore primo piano", + "cft_bg": "colore sfondo", + + "cdt_lim": "numero massimo di file da mostrare in una cartella", + "cdt_ask": "quando scorri verso il fondo,$Ninvece di caricare piรน file,$Nchiedi cosa fare", + "cdt_hsort": "quante regole di ordinamento (<code>,sorthref</code>) includere negli URL multimediali. Impostandolo a 0 ignorerร  anche le regole di ordinamento incluse nei link multimediali quando li clicchi", + "cdt_ren": "abilita il menu contestuale personalizzato, il menu normale รจ accessibile con shift + clic destro", //m + + "tt_entree": "mostra pannello nav (barra laterale albero directory)$NTasto rapido: B", + "tt_detree": "mostra breadcrumb$NTasto rapido: B", + "tt_visdir": "scorri alla cartella selezionata", + "tt_ftree": "alterna albero cartelle / file di testo$NTasto rapido: V", + "tt_pdock": "mostra cartelle genitore in un pannello ancorato in alto", + "tt_dynt": "crescita automatica mentre l'albero si espande", + "tt_wrap": "a capo parola", + "tt_hover": "rivela righe che traboccano al passaggio del mouse$N( interrompe lo scorrimento a meno che il cursore $N  del mouse non sia nella grondaia sinistra )", + + "ml_pmode": "alla fine della cartella...", + "ml_btns": "comandi", + "ml_tcode": "transcodifica", + "ml_tcode2": "transcodifica in", + "ml_tint": "tinta", + "ml_eq": "equalizzatore audio", + "ml_drc": "compressore gamma dinamica", + + "mt_loop": "loop/ripeti una canzone\">๐Ÿ”", + "mt_one": "fermati dopo una canzone\">1๏ธโƒฃ", + "mt_shuf": "mescola le canzoni in ogni cartella\">๐Ÿ”€", + "mt_aplay": "autoplay se c'รจ un song-ID nel link che hai cliccato per accedere al server$N$NDisabilitando questo fermerร  anche l'aggiornamento dell'URL della pagina con song-ID quando riproduci musica, per prevenire autoplay se queste impostazioni vengono perse ma l'URL rimane\">aโ–ถ", + "mt_preload": "inizia a caricare la prossima canzone verso la fine per riproduzione senza interruzioni\">preload", + "mt_prescan": "vai alla prossima cartella prima che finisca l'ultima canzone$Nmantenendo felice il browser web$Ncosรฌ non si ferma la riproduzione\">nav", + "mt_fullpre": "prova a precaricare l'intera canzone;$Nโœ… abilita su connessioni inaffidabili,$NโŒ disabilita su connessioni lente probabilmente\">full", + "mt_fau": "sui telefoni, previeni che la musica si fermi se la prossima canzone non si precarica abbastanza velocemente (puรฒ rendere glitchy la visualizzazione dei tag)\">โ˜•๏ธ", + "mt_waves": "barra di ricerca forma d'onda:$Nmostra ampiezza audio nello scrubber\">~s", + "mt_npclip": "mostra pulsanti per copiare negli appunti la canzone attualmente in riproduzione\">/np", + "mt_m3u_c": "mostra pulsanti per copiare negli appunti le$Ncanzoni selezionate come voci playlist m3u8\">๐Ÿ“ป", + "mt_octl": "integrazione so (tasti multimediali / osd)\">os-ctl", + "mt_oseek": "permetti ricerca attraverso integrazione so$N$Nnota: su alcuni dispositivi (iPhone),$Nquesto sostituisce il pulsante canzone successiva\">seek", + "mt_oscv": "mostra copertina album in osd\">art", + "mt_follow": "mantieni la traccia in riproduzione scorrevole nella vista\">๐ŸŽฏ", + "mt_compact": "controlli compatti\">โŸŽ", + "mt_uncache": "pulisci cache  (prova ad attivare se il tuo browser ha messo in cache$Nuna copia rotta di una canzone e si rifiuta di riprodurla)\">uncache", + "mt_mloop": "loop della cartella aperta\">๐Ÿ” loop", + "mt_mnext": "carica la prossima cartella e continua\">๐Ÿ“‚ succ", + "mt_mstop": "ferma riproduzione\">โธ stop", + "mt_cflac": "converti flac / wav in {0}\">flac", + "mt_caac": "converti aac / m4a in {0}\">aac", + "mt_coth": "converti tutti gli altri (non mp3) in {0}\">oth", + "mt_c2opus": "scelta migliore per desktop, laptop, android\">opus", + "mt_c2owa": "opus-weba, per iOS 17.5 e piรน recenti\">owa", + "mt_c2caf": "opus-caf, per iOS 11 fino a 17\">caf", + "mt_c2mp3": "usa questo su dispositivi molto vecchi\">mp3", + "mt_c2flac": "qualitร  audio migliore, ma download pesanti\">flac", //m + "mt_c2wav": "riproduzione non compressa (ancora piรน grande)\">wav", //m + "mt_c2ok": "bene, buona scelta", + "mt_c2nd": "quello non รจ il formato di output raccomandato per il tuo dispositivo, ma va bene", + "mt_c2ng": "il tuo dispositivo non sembra supportare questo formato di output, ma proviamo comunque", + "mt_xowa": "ci sono bug in iOS che prevengono la riproduzione in background usando questo formato; usa caf o mp3 invece", + "mt_tint": "livello sfondo (0-100) sulla barra di ricerca$Nper rendere il buffering meno distraente", + "mt_eq": "abilita l'equalizzatore e controllo guadagno;$N$Nboost <code>0</code> = volume standard 100% (non modificato)$N$Nwidth <code>1  </code> = stereo standard (non modificato)$Nwidth <code>0.5</code> = 50% crossfeed sinistra-destra$Nwidth <code>0  </code> = mono$N$Nboost <code>-0.8</code> & width <code>10</code> = rimozione vocale :^)$N$Nabilitando l'equalizzatore rende gli album senza interruzioni completamente senza interruzioni, quindi lascialo acceso con tutti i valori a zero (eccetto width = 1) se ti importa di quello", + "mt_drc": "abilita il compressore gamma dinamica (appiattitore volume / brickwaller); abiliterร  anche EQ per bilanciare gli spaghetti, quindi imposta tutti i campi EQ eccetto 'width' a 0 se non lo vuoi$N$NAbbassa il volume dell'audio sopra THRESHOLD dB; per ogni RATIO dB oltre THRESHOLD c'รจ 1 dB di output, quindi i valori di default di tresh -24 e ratio 12 significa che non dovrebbe mai diventare piรน forte di -22 dB ed รจ sicuro aumentare il boost equalizzatore a 0.8, o anche 1.8 con ATK 0 e un RLS enorme come 90 (funziona solo in firefox; RLS รจ max 1 in altri browser)$N$N(vedi wikipedia, lo spiegano molto meglio)", + + "mb_play": "riproduci", + "mm_hashplay": "riprodurre questo file audio?", + "mm_m3u": "premi Invio/OK per Riprodurre\npremi ESC/Annulla per Modificare", + "mp_breq": "serve firefox 82+ o chrome 73+ o iOS 15+", + "mm_bload": "ora caricando...", + "mm_bconv": "convertendo in {0}, attendi...", + "mm_opusen": "il tuo browser non puรฒ riprodurre file aac / m4a;\ntranscodifica in opus ora abilitata", + "mm_playerr": "riproduzione fallita: ", + "mm_eabrt": "Il tentativo di riproduzione รจ stato cancellato", + "mm_enet": "La tua connessione internet รจ instabile", + "mm_edec": "Questo file รจ presumibilmente corrotto??", + "mm_esupp": "Il tuo browser non capisce questo formato audio", + "mm_eunk": "Errore Sconosciuto", + "mm_e404": "Non รจ stato possibile riprodurre audio; errore 404: File non trovato.", + "mm_e403": "Non รจ stato possibile riprodurre audio; errore 403: Accesso negato.\n\nProva a premere F5 per ricaricare, forse sei stato disconnesso", + "mm_e500": "Non รจ stato possibile riprodurre audio; errore 500: Controlla i log del server.", + "mm_e5xx": "Non รจ stato possibile riprodurre audio; errore server ", + "mm_nof": "non trovo altri file audio nelle vicinanze", + "mm_prescan": "Cercando musica da riprodurre dopo...", + "mm_scank": "Trovata la prossima canzone:", + "mm_uncache": "cache pulita; tutte le canzoni si riscaricheranno alla prossima riproduzione", + "mm_hnf": "quella canzone non esiste piรน", + + "im_hnf": "quell'immagine non esiste piรน", + + "f_empty": 'questa cartella รจ vuota', + "f_chide": 'questo nasconderร  la colonna ยซ{0}ยป\n\npuoi mostrare le colonne nella scheda impostazioni', + "f_bigtxt": "questo file รจ {0} MiB grande -- visualizzare davvero come testo?", + "f_bigtxt2": "visualizzare solo la fine del file invece? questo abiliterร  anche following/tailing, mostrando righe di testo appena aggiunte in tempo reale", + "fbd_more": '
    mostrando {0} di {1} file; mostra {2} o mostra tutti
    ', + "fbd_all": '
    mostrando {0} di {1} file; mostra tutti
    ', + "f_anota": "solo {0} dei {1} elementi sono stati selezionati;\nper selezionare l'intera cartella, prima scorri fino in fondo", + + "f_dls": 'i link dei file nella cartella corrente sono stati\ncambiati in link di download', + + "f_partial": "Per scaricare in sicurezza un file che รจ attualmente in fase di caricamento, clicca il file che ha lo stesso nome, ma senza l'estensione .PARTIAL. Premi ANNULLA o Escape per farlo.\n\nPremendo OK / Invio ignorerai questo avviso e continuerai a scaricare il file .PARTIAL scratch, che quasi sicuramente ti darร  dati corrotti.", + + "ft_paste": "incolla {0} elementi$NTasto rapido: ctrl-V", + "fr_eperm": 'impossibile rinominare:\nnon hai il permesso โ€œspostaโ€ in questa cartella', + "fd_eperm": 'impossibile eliminare:\nnon hai il permesso โ€œeliminaโ€ in questa cartella', + "fc_eperm": 'impossibile tagliare:\nnon hai il permesso โ€œspostaโ€ in questa cartella', + "fp_eperm": 'impossibile incollare:\nnon hai il permesso โ€œscriviโ€ in questa cartella', + "fr_emore": "seleziona almeno un elemento da rinominare", + "fd_emore": "seleziona almeno un elemento da eliminare", + "fc_emore": "seleziona almeno un elemento da tagliare", + "fcp_emore": "seleziona almeno un elemento da copiare negli appunti", + + "fs_sc": "condividi la cartella in cui ti trovi", + "fs_ss": "condividi i file selezionati", + "fs_just1d": "non puoi selezionare piรน di una cartella,\no mescolare file e cartelle in una selezione", + "fs_abrt": "โŒ interrompi", + "fs_rand": "๐ŸŽฒ nome.casuale", + "fs_go": "โœ… crea condivisione", + "fs_name": "nome", + "fs_src": "sorgente", + "fs_pwd": "password", + "fs_exp": "scadenza", + "fs_tmin": "min", + "fs_thrs": "ore", + "fs_tdays": "giorni", + "fs_never": "eterno", + "fs_pname": "nome link opzionale; sarร  casuale se vuoto", + "fs_tsrc": "il file o cartella da condividere", + "fs_ppwd": "password opzionale", + "fs_w8": "creando condivisione...", + "fs_ok": "premi Invio/OK per Appunti\npremi ESC/Annulla per Chiudere", + + "frt_dec": "puรฒ risolvere alcuni casi di nomi file corrotti\">url-decode", + "frt_rst": "ripristina nomi file modificati a quelli originali\">โ†บ reset", + "frt_abrt": "interrompi e chiudi questa finestra\">โŒ annulla", + "frb_apply": "APPLICA RINOMINA", + "fr_adv": "rinomina batch / metadata / pattern\">avanzato", + "fr_case": "regex case-sensitive\">maiusc", + "fr_win": "nomi sicuri per windows; sostituisce <>:"\\|?* con caratteri giapponesi fullwidth\">win", + "fr_slash": "sostituisce / con un carattere che non causa la creazione di nuove cartelle\">no /", + "fr_re": "pattern di ricerca regex da applicare ai nomi file originali; i gruppi di cattura possono essere referenziati nel campo formato sottostante come <code>(1)</code> e <code>(2)</code> e cosรฌ via", + "fr_fmt": "ispirato da foobar2000:$N<code>(title)</code> รจ sostituito dal titolo della canzone,$N<code>[(artist) - ](title)</code> salta [questa] parte se artista รจ vuoto$N<code>$lpad((tn),2,0)</code> aggiunge padding al numero traccia a 2 cifre", + "fr_pdel": "elimina", + "fr_pnew": "salva come", + "fr_pname": "fornisci un nome per il tuo nuovo preset", + "fr_aborted": "interrotto", + "fr_lold": "nome vecchio", + "fr_lnew": "nome nuovo", + "fr_tags": "tag per i file selezionati (sola lettura, solo per riferimento):", + "fr_busy": "rinominando {0} elementi...\n\n{1}", + "fr_efail": "rinomina fallita:\n", + "fr_nchg": "{0} dei nuovi nomi sono stati alterati a causa di win e/o no /\n\nOK per continuare con questi nuovi nomi alterati?", + + "fd_ok": "eliminazione OK", + "fd_err": "eliminazione fallita:\n", + "fd_none": "niente รจ stato eliminato; forse bloccato dalla configurazione server (xbd)?", + "fd_busy": "eliminando {0} elementi...\n\n{1}", + "fd_warn1": "ELIMINARE questi {0} elementi?", + "fd_warn2": "Ultima possibilitร ! Nessun modo per annullare. Eliminare?", + + "fc_ok": "tagliati {0} elementi", + "fc_warn": 'tagliati {0} elementi\n\nma: solo questa scheda-browser puรฒ incollarli\n(dato che la selezione รจ cosรฌ assolutamente massiva)', + + "fcc_ok": "copiati {0} elementi negli appunti", + "fcc_warn": 'copiati {0} elementi negli appunti\n\nma: solo questa scheda-browser puรฒ incollarli\n(dato che la selezione รจ cosรฌ assolutamente massiva)', + + "fp_apply": "usa questi nomi", + "fp_skip": "salta conflitti", //m + "fp_ecut": "prima taglia o copia alcuni file / cartelle da incollare / spostare\n\nnota: puoi tagliare / incollare attraverso diverse schede del browser", + "fp_ename": "{0} elementi non possono essere spostati qui perchรฉ i nomi sono giร  presi. Dai loro nuovi nomi qui sotto per continuare, o lascia vuoto il nome (\"salta conflitti\") per saltarli:", //m + "fcp_ename": "{0} elementi non possono essere copiati qui perchรฉ i nomi sono giร  presi. Dai loro nuovi nomi qui sotto per continuare, o lascia vuoto il nome (\"salta conflitti\") per saltarli:", //m + "fp_emore": "ci sono ancora alcune collisioni di nomi file rimaste da risolvere", + "fp_ok": "spostamento OK", + "fcp_ok": "copia OK", + "fp_busy": "spostando {0} elementi...\n\n{1}", + "fcp_busy": "copiando {0} elementi...\n\n{1}", + "fp_abrt": "annullamento in corso...", //m + "fp_err": "spostamento fallito:\n", + "fcp_err": "copia fallita:\n", + "fp_confirm": "spostare questi {0} elementi qui?", + "fcp_confirm": "copiare questi {0} elementi qui?", + "fp_etab": 'fallito leggere appunti da altra scheda browser', + "fp_name": "caricando un file dal tuo dispositivo. Dagli un nome:", + "fp_both_m": '
    scegli cosa incollare
    Invio = Sposta {0} file da ยซ{1}ยป\nESC = Carica {2} file dal tuo dispositivo', + "fcp_both_m": '
    scegli cosa incollare
    Invio = Copia {0} file da ยซ{1}ยป\nESC = Carica {2} file dal tuo dispositivo', + "fp_both_b": 'SpostaCarica', + "fcp_both_b": 'CopiaCarica', + + "mk_noname": "scrivi un nome nel campo di testo a sinistra prima di farlo :p", + "nmd_i1": "puoi anche aggiungere lโ€™estensione che vuoi, per esempio .md", //m + "nmd_i2": "puoi creare solo file .md perchรฉ non hai il permesso di eliminare", //m + + "tv_load": "Caricando documento di testo:\n\n{0}\n\n{1}% ({2} di {3} MiB caricati)", + "tv_xe1": "impossibile caricare file di testo:\n\nerrore ", + "tv_xe2": "404, file non trovato", + "tv_lst": "lista di file di testo in", + "tvt_close": "torna alla vista cartella$NTasto rapido: M (o Esc)\">โŒ chiudi", + "tvt_dl": "scarica questo file$NTasto rapido: Y\">๐Ÿ’พ scarica", + "tvt_prev": "mostra documento precedente$NTasto rapido: i\">โฌ† prec", + "tvt_next": "mostra documento successivo$NTasto rapido: K\">โฌ‡ succ", + "tvt_sel": "seleziona file   ( per taglia / copia / elimina / ... )$NTasto rapido: S\">sel", + "tvt_j": "abbellire json$NTasto rapido: shift-J\">j", //m + "tvt_edit": "apri file nell'editor di testo$NTasto rapido: E\">โœ๏ธ modifica", + "tvt_tail": "monitora file per cambiamenti; mostra nuove righe in tempo reale\">๐Ÿ“ก segui", + "tvt_wrap": "a capo parola\">โ†ต", + "tvt_atail": "blocca scorrimento in fondo alla pagina\">โš“", + "tvt_ctail": "decodifica colori terminale (codici escape ansi)\">๐ŸŒˆ", + "tvt_ntail": "limite scrollback (quanti byte di testo mantenere caricati)", + + "m3u_add1": "canzone aggiunta alla playlist m3u", + "m3u_addn": "{0} canzoni aggiunte alla playlist m3u", + "m3u_clip": "playlist m3u ora copiata negli appunti\n\ndovresti creare un nuovo file di testo chiamato qualcosa.m3u e incollare la playlist in quel documento; questo la renderร  riproducibile", + + "gt_vau": "non mostrare video, riproduci solo l'audio\">๐ŸŽง", + "gt_msel": "abilita selezione file; ctrl-click un file per sovrascrivere$N$N<em>quando attivo: doppio-click un file / cartella per aprirlo</em>$N$NTasto rapido: S\">multiselezione", + "gt_crop": "ritaglia miniature al centro\">ritaglia", + "gt_3x": "miniature hi-res\">3x", + "gt_zoom": "zoom", + "gt_chop": "taglia", + "gt_sort": "ordina per", + "gt_name": "nome", + "gt_sz": "dimensione", + "gt_ts": "data", + "gt_ext": "tipo", + "gt_c1": "tronca nomi file di piรน (mostra meno)", + "gt_c2": "tronca nomi file di meno (mostra di piรน)", + + "sm_w8": "cercando...", + "sm_prev": "i risultati di ricerca qui sotto sono da una query precedente:\n ", + "sl_close": "chiudi risultati ricerca", + "sl_hits": "mostrando {0} risultati", + "sl_moar": "carica altro", + + "s_sz": "dimensione", + "s_dt": "data", + "s_rd": "percorso", + "s_fn": "nome", + "s_ta": "tag", + "s_ua": "car@", + "s_ad": "avanz.", + "s_s1": "MiB minimo", + "s_s2": "MiB massimo", + "s_d1": "iso8601 min.", + "s_d2": "iso8601 max.", + "s_u1": "caricato dopo", + "s_u2": "e/o prima", + "s_r1": "percorso contiene   (separato da spazi)", + "s_f1": "nome contiene   (nega con -nope)", + "s_t1": "tag contiene   (^=inizio, fine=$)", + "s_a1": "proprietร  metadata specifiche", + + "md_eshow": "impossibile renderizzare ", + "md_off": "[๐Ÿ“œreadme] disabilitato in [โš™๏ธ] -- documento nascosto", + + "badreply": "Fallito nel parsare risposta dal server", + + "xhr403": "403: Accesso negato\n\nprova a premere F5, forse sei stato disconnesso", + "xhr0": "sconosciuto (probabilmente persa connessione al server, o server offline)", + "cf_ok": "scusa per quello -- la protezione DD" + wah + "oS รจ entrata in azione\n\nle cose dovrebbero riprendere in circa 30 sec\n\nse non succede niente, premi F5 per ricaricare la pagina", + "tl_xe1": "impossibile elencare sottocartelle:\n\nerrore ", + "tl_xe2": "404: Cartella non trovata", + "fl_xe1": "impossibile elencare file nella cartella:\n\nerrore ", + "fl_xe2": "404: Cartella non trovata", + "fd_xe1": "impossibile creare sottocartella:\n\nerrore ", + "fd_xe2": "404: Cartella genitore non trovata", + "fsm_xe1": "impossibile inviare messaggio:\n\nerrore ", + "fsm_xe2": "404: Cartella genitore non trovata", + "fu_xe1": "fcaricamento fallito per la lista unpost dal server:\n\nerrore ", + "fu_xe2": "404: File non trovato??", + + "fz_tar": "file gnu-tar non compresso (linux / mac)", + "fz_pax": "tar formato pax non compresso (piรน lento)", + "fz_targz": "gnu-tar con compressione gzip livello 3$N$NSolitamente รจ molto lento, quindi$Nusa tar non compresso", + "fz_tarxz": "gnu-tar con compressione xz livello 1$N$NQuesto รจ solitamente molto lento, quindi$Nusa tar non compresso", + "fz_zip8": "zip con nomi file utf8 (forse instabile su windows 7 e precedenti)", + "fz_zipd": "zip con nomi file cp437 tradizionali, per software molto vecchio", + "fz_zipc": "cp437 con crc32 calcolato presto,$Nper MS-DOS PKZIP v2.04g (ottobre 1993)$N(ci vuole piรน tempo per elaborare prima che possa iniziare il download)", + + "un_m1": "puoi eliminare i tuoi caricamenti recenti (o interrompere quelli non finiti) qui sotto", + "un_upd": "aggiorna", + "un_m4": "o condividi i file visibili qui sotto:", + "un_ulist": "mostra", + "un_ucopy": "copia", + "un_flt": "filtro opzionale:  URL deve contenere", + "un_fclr": "resetta filtro", + "un_derr": 'unpost-delete fallito:\n', + "un_f5": 'qualcosa si รจ rotto, prova un aggiornamento o premi F5', + "un_uf5": "scusa ma devi aggiornare la pagina (per esempio premendo F5 o CTRL-R) prima che questo caricamento possa essere interrotto", + "un_nou": 'avviso: server troppo occupato per mostrare caricamenti non finiti; clicca il link "aggiorna" tra un po\'', + "un_noc": 'avviso: unpost di file completamente caricati non รจ abilitato/permesso nella configurazione server', + "un_max": "mostrando primi 2000 file (usa il filtro)", + "un_avail": "{0} caricamenti recenti possono essere eliminati
    {1} non finiti possono essere interrotti", + "un_m2": "ordinati per tempo di caricamento; piรน recenti prima:", + "un_no1": "scherzo! nessun caricamento รจ abbastanza recente", + "un_no2": "scherzo! nessun caricamento che corrisponde a quel filtro รจ abbastanza recente", + "un_next": "elimina i prossimi {0} file qui sotto", + "un_abrt": "interrompi", + "un_del": "elimina", + "un_m3": "caricando i tuoi caricamenti recenti...", + "un_busy": "eliminando {0} file...", + "un_clip": "{0} link copiati negli appunti", + + "u_https1": "dovresti", + "u_https2": "passare a https", + "u_https3": "per prestazioni migliori", + "u_ancient": 'il tuo browser รจ incredibilmente antico -- forse dovresti usare bup invece', + "u_nowork": "serve firefox 53+ o chrome 57+ o iOS 11+", + "tail_2old": "serve firefox 105+ o chrome 71+ o iOS 14.5+", + "u_nodrop": 'il tuo browser รจ troppo vecchio per il caricamento drag-and-drop', + "u_notdir": "quella non รจ una cartella!\n\nil tuo browser รจ troppo vecchio,\nprova dragdrop invece", + "u_uri": "per trascinare immagini da altre finestre del browser,\nrilasciale sul pulsante upload grande", + "u_enpot": 'passa alla UI patata (puรฒ migliorare velocitร  upload)', + "u_depot": 'passa alla UI elegante (puรฒ ridurre velocitร  upload)', + "u_gotpot": 'passando alla UI patata per migliorare velocitร  upload,\n\nsentiti libero di non essere d\'accordo e tornare indietro!', + "u_pott": "

    file:   {0} finiti,   {1} falliti,   {2} occupati,   {3} in coda

    ", + "u_ever": "questo รจ l'uploader di base; up2k necessita almeno
    chrome 21 // firefox 13 // edge 12 // opera 12 // safari 5.1", + "u_su2k": 'questo รจ l\'uploader di base; up2k รจ migliore', + "u_uput": 'velocizza (salta checksum)', + "u_ewrite": 'non hai accesso in scrittura a questa cartella', + "u_eread": 'non hai accesso in lettura a questa cartella', + "u_enoi": 'file-search non รจ abilitato nella configurazione server', + "u_enoow": "non puoi sovrascrivere qui; serve permesso Elimina", + "u_badf": 'Questi {0} file (di {1} totali) sono stati saltati, probabilmente a causa di permessi filesystem:\n\n', + "u_blankf": 'Questi {0} file (di {1} totali) sono vuoti; caricarli comunque?\n\n', + "u_applef": 'Questi {0} file (di {1} totali) sono probabilmente indesiderabili;\nPremi OK/Invio per SALTARE i seguenti file,\nPremi Annulla/ESC per NON escludere, e CARICARE anche quelli:\n\n', + "u_just1": '\nForse funziona meglio se selezioni solo un file', + "u_ff_many": "se stai usando Linux / MacOS / Android, allora questa quantitร  di file potrebbe far crashare Firefox!\nse succede, riprova (o usa Chrome).", + "u_up_life": "Questo caricamento sarร  eliminato dal server\n{0} dopo che si completa", + "u_asku": 'caricare questi {0} file in {1}', + "u_unpt": "puoi annullare / eliminare questo caricamento usando ๐Ÿงฏ in alto a sinistra", + "u_bigtab": 'sto per mostrare {0} file\n\nquesto potrebbe far crashare il tuo browser, sei sicuro?', + "u_scan": 'Scansionando file...', + "u_dirstuck": 'iteratore directory si รจ bloccato tentando di accedere ai seguenti {0} elementi; salterรฒ:', + "u_etadone": 'Fatto ({0}, {1} file)', + "u_etaprep": '(preparando per caricare)', + "u_hashdone": 'hashing completato', + "u_hashing": 'hash', + "u_hs": 'handshaking...', + "u_started": "i file ora sono in caricamento; vedi [๐Ÿš€]", + "u_dupdefer": "duplicato; sarร  processato dopo tutti gli altri file", + "u_actx": "clicca questo testo per prevenire perdita di
    prestazioni quando cambi ad altre finestre/schede", + "u_fixed": "OK!  Risolto ๐Ÿ‘", + "u_cuerr": "caricamento fallito del chunk {0} di {1};\nprobabilmente innocuo, continuo\n\nfile: {2}", + "u_cuerr2": "il server ha rifiutato il caricamento (chunk {0} di {1});\nriproverรฒ piรน tardi\n\nfile: {2}\n\nerrore ", + "u_ehstmp": "riproverรฒ; vedi in basso a destra", + "u_ehsfin": "il server ha rifiutato la richiesta di finalizzare caricamento; riprovando...", + "u_ehssrch": "il server ha rifiutato la richiesta di eseguire ricerca; riprovando...", + "u_ehsinit": "il server ha rifiutato la richiesta di iniziare caricamento; riprovando...", + "u_eneths": "errore di rete durante handshake per upload; riprovando...", + "u_enethd": "errore di rete durante test esistenza target; riprovando...", + "u_cbusy": "aspettando che il server si fidi di noi di nuovo dopo un problema di rete...", + "u_ehsdf": "il server ha finito lo spazio su disco!\n\ncontinuerรฒ a riprovare, nel caso qualcuno\nliberi abbastanza spazio per continuare", + "u_emtleak1": "sembra che il tuo browser possa avere un memory leak;\nper favore", + "u_emtleak2": ' passa a https (raccomandato) o ', + "u_emtleak3": ' ', + "u_emtleakc": 'prova quanto segue:\n
    • premi F5 per aggiornare la pagina
    • poi disabilita il pulsante  mt  nelle  โš™๏ธ impostazioni
    • e riprova quel caricamento
    I caricamenti saranno un po\' piรน lenti, ma pazienza.\nScusa per il disturbo !\n\nPS: chrome v107 ha un bugfix per questo', + "u_emtleakf": 'prova quanto segue:\n
    • premi F5 per aggiornare la pagina
    • poi abilita ๐Ÿฅ” (patata) nell\'UI caricamento
    • e riprova quel caricamento
    \nPS: firefox avrร  sperabilmente un bugfix ad un certo punto', + "u_s404": "non trovato sul server", + "u_expl": "spiega", + "u_maxconn": "la maggior parte dei browser limita questo a 6, ma firefox ti permette di alzarlo con connections-per-server in about:config", + "u_tu": '

    AVVISO: turbo abilitato,  client potrebbe non rilevare e riprendere caricamenti incompleti; vedi tooltip pulsante turbo

    ', + "u_ts": '

    AVVISO: turbo abilitato,  risultati ricerca possono essere incorretti; vedi tooltip pulsante turbo

    ', + "u_turbo_c": "turbo รจ disabilitato nella configurazione server", + "u_turbo_g": "disabilitando turbo perchรฉ non hai\nprivilegi di elenco directory all'interno di questo volume", + "u_life_cfg": 'auto-elimina dopo min (o ore)', + "u_life_est": 'caricamento sarร  eliminato ---', + "u_life_max": 'questa cartella impone una\nvita massima di {0}', + "u_unp_ok": 'unpost รจ permesso per {0}', + "u_unp_ng": 'unpost NON sarร  permesso', + "ue_ro": 'il tuo accesso a questa cartella รจ solo-Lettura\n\n', + "ue_nl": 'attualmente non sei loggato', + "ue_la": 'attualmente sei loggato come "{0}"', + "ue_sr": 'attualmente sei in modalitร  file-search\n\npassa alla modalitร  upload cliccando la lente d\'ingrandimento ๐Ÿ”Ž (accanto al grande pulsante CERCA), e prova a caricare di nuovo\n\nscusa', + "ue_ta": 'prova a caricare di nuovo, dovrebbe funzionare ora', + "ue_ab": "questo file รจ giร  in caricamento in un'altra cartella, e quel caricamento deve essere completato prima che il file possa essere caricato altrove.\n\nPuoi interrompere e dimenticare il caricamento iniziale usando l'๐Ÿงฏ in alto a sinistra", + "ur_1uo": "OK: File caricato con successo", + "ur_auo": "OK: Tutti i {0} file caricati con successo", + "ur_1so": "OK: File trovato sul server", + "ur_aso": "OK: Tutti i {0} file trovati sul server", + "ur_1un": "Caricamento fallito, scusa", + "ur_aun": "Tutti i {0} caricamenti falliti, scusa", + "ur_1sn": "File NON trovato sul server", + "ur_asn": "I {0} file NON sono stati trovati sul server", + "ur_um": "Finito;\n{0} caricamenti OK,\n{1} caricamenti falliti, scusa", + "ur_sm": "Finito;\n{0} file trovati sul server,\n{1} file NON trovati sul server", + + "rc_opn": "apri", //m + "rc_ply": "riproduci", //m + "rc_pla": "riproduci come audio", //m + "rc_txt": "apri nel visualizzatore di file", //m + "rc_md": "apri nellโ€™editor di testo", //m + "rc_dl": "scarica", //m + "rc_zip": "scarica come archivio", //m + "rc_del": "elimina", //m + "rc_cut": "taglia", //m + "rc_cpy": "copia", //m + "rc_pst": "incolla", //m + "rc_nfo": "nuova cartella", //m + "rc_nfi": "nuovo file", //m + "rc_sal": "seleziona tutto", //m + "rc_sin": "inverti selezione", //m + + "lang_set": "aggiornare per rendere effettivo il cambiamento?", + + "splash": { + "a1": "aggiorna", + "b1": "ciao   (non sei connesso)", + "c1": "disconnetti", + "d1": "stato", + "d2": "mostra lo stato di tutti i thread attivi", + "e1": "ricarica configurazione", + "e2": "ricarica i file di configurazione (account/volumi/flag dei volumi),\n e riesegue la scansione di tutti i volumi e2ds.\n\nNota: qualsiasi modifica alle impostazioni globali richiede un riavvio completo per avere effetto", + "f1": "puoi visualizzare:", + "g1": "puoi caricare su:", + "cc1": "altro:", + "h1": "disattiva k304", + "i1": "attiva k304", + "j1": "k304 interrompe la connessione per ogni HTTP 304. Questo aiuta contro alcuni proxy difettosi che possono bloccarsi o smettere improvvisamente di caricare pagine, ma riduce notevolmente le prestazioni", + "k1": "resetta impostazioni", + "l1": "accedi:", + "ls3": "accedi", //m + "lu4": "nome utente", //m + "lp4": "password", //m + "lo3": "disconnetti โ€œ{0}โ€ ovunque", //m + "lo2": "questo terminerร  la sessione su tutti i browser", //m + "m1": "bentornato,", + "n1": "404: file non trovato  โ”( ยด -`)โ”Œ", + "o1": "oppure forse non hai accesso? prova una password o torna alla home", + "p1": "403: accesso negato  ~โ”ปโ”โ”ป", + "q1": "prova una password o torna alla home", + "r1": "torna alla home", + ".s1": "mappa", + "t1": "azione", + "u2": "tempo dall'ultima scrittura sul server\n (caricamento / rinomina / ...)\n\n17d = 17 giorni\n1h23 = 1 ora 23 minuti\n4m56 = 4 minuti 56 secondi", + "v1": "connetti", + "v2": "usa questo server come un disco locale", + "w1": "passa a https", + "x1": "cambia password", + "y1": "le tue condivisioni", + "z1": "sblocca area:", + "ta1": "devi prima inserire una nuova password", + "ta2": "ripeti per confermare la nuova password:", + "ta3": "errore di digitazione; riprova", + "nop": "ERRORE: La password non puรฒ essere vuota", //m + "nou": "ERRORE: Il nome utente e/o la password non possono essere vuoti", //m + "aa1": "in arrivo:", + "ab1": "disattiva no304", + "ac1": "attiva no304", + "ad1": "no304 disabilita completamente la cache. Se k304 non รจ sufficiente, prova questa opzione. Aumenterร  notevolmente il consumo di dati!", + "ae1": "in uscita:", + "af1": "mostra i file caricati di recente", + "ag1": "mostra utenti IdP conosciuti", + } +}; diff --git a/copyparty/web/tl/kor.js b/copyparty/web/tl/kor.js new file mode 100644 index 00000000..cf23b915 --- /dev/null +++ b/copyparty/web/tl/kor.js @@ -0,0 +1,710 @@ + +// //m์œผ๋กœ ๋๋‚˜๋Š” ์ค„์€ ๊ฒ€์ฆ๋˜์ง€ ์•Š์€ ๊ธฐ๊ณ„ ๋ฒˆ์—ญ์ž…๋‹ˆ๋‹ค + +Ls.kor = { + "tt": "ํ•œ๊ตญ์–ด", + + "cols": { + "c": "์ž‘์—… ๋ฒ„ํŠผ", + "dur": "๊ธธ์ด", + "q": "ํ’ˆ์งˆ/๋น„ํŠธ๋ ˆ์ดํŠธ", + "Ac": "์˜ค๋””์˜ค ์ฝ”๋ฑ", + "Vc": "๋น„๋””์˜ค ์ฝ”๋ฑ", + "Fmt": "ํ˜•์‹/์ปจํ…Œ์ด๋„ˆ", + "Ahash": "์˜ค๋””์˜ค ์ฒดํฌ์„ฌ", + "Vhash": "๋น„๋””์˜ค ์ฒดํฌ์„ฌ", + "Res": "ํ•ด์ƒ๋„", + "T": "ํŒŒ์ผ ์œ ํ˜•", + "aq": "์˜ค๋””์˜ค ํ’ˆ์งˆ/๋น„ํŠธ๋ ˆ์ดํŠธ", + "vq": "๋น„๋””์˜ค ํ’ˆ์งˆ/๋น„ํŠธ๋ ˆ์ดํŠธ", + "pixfmt": "์„œ๋ธŒ์ƒ˜ํ”Œ๋ง/ํ”ฝ์…€ ๊ตฌ์กฐ", + "resw": "๊ฐ€๋กœ ํ•ด์ƒ๋„", + "resh": "์„ธ๋กœ ํ•ด์ƒ๋„", + "chs": "์˜ค๋””์˜ค ์ฑ„๋„", + "hz": "์ƒ˜ํ”Œ๋ ˆ์ดํŠธ", + }, + + "hks": [ + [ + "๊ธฐํƒ€", + ["ESC", "๋‹ค์–‘ํ•œ ์ฐฝ ๋‹ซ๊ธฐ"], + + "ํŒŒ์ผ ๊ด€๋ฆฌ์ž", + ["G", "๋ชฉ๋ก/๊ทธ๋ฆฌ๋“œ ๋ณด๊ธฐ ์ „ํ™˜"], + ["T", "์ธ๋„ค์ผ/์•„์ด์ฝ˜ ์ „ํ™˜"], + ["โ‡ง A/D", "์ธ๋„ค์ผ ์ด๋ฏธ์ง€ ํฌ๊ธฐ"], + ["ctrl-K", "์„ ํƒ ํ•ญ๋ชฉ ์‚ญ์ œ"], + ["ctrl-X", "์„ ํƒ ํ•ญ๋ชฉ ์ž˜๋ผ๋‚ด๊ธฐ"], + ["ctrl-C", "์„ ํƒ ํ•ญ๋ชฉ ๋ณต์‚ฌ"], + ["ctrl-V", "์—ฌ๊ธฐ์— ๋ถ™์—ฌ๋„ฃ๊ธฐ (์ด๋™/๋ณต์‚ฌ)"], + ["Y", "์„ ํƒ ํ•ญ๋ชฉ ๋‹ค์šด๋กœ๋“œ"], + ["F2", "์„ ํƒ ํ•ญ๋ชฉ ์ด๋ฆ„ ๋ฐ”๊พธ๊ธฐ"], + + "ํŒŒ์ผ ๋ชฉ๋ก ์„ ํƒ", + ["space", "ํŒŒ์ผ ์„ ํƒ/ํ•ด์ œ"], + ["โ†‘/โ†“", "์„ ํƒ ์ปค์„œ ์ด๋™"], + ["ctrl โ†‘/โ†“", "์ปค์„œ์™€ ๋ทฐํฌํŠธ ๋™์‹œ ์ด๋™"], + ["โ‡ง โ†‘/โ†“", "์ด์ „/๋‹ค์Œ ํŒŒ์ผ ์„ ํƒ"], + ["ctrl-A", "๋ชจ๋“  ํŒŒ์ผ/ํด๋” ์„ ํƒ"], + ], [ + "ํƒ์ƒ‰", + ["B", "๋ธŒ๋ ˆ๋“œํฌ๋Ÿผ/ํƒ์ƒ‰์ฐฝ ์ „ํ™˜"], + ["I/K", "์ด์ „/๋‹ค์Œ ํด๋”"], + ["M", "์ƒ์œ„ ํด๋” (๋˜๋Š” ํ˜„์žฌ ํ•ญ๋ชฉ ๋‹ซ๊ธฐ)"], + ["V", "ํƒ์ƒ‰์ฐฝ์— ํด๋”/ํ…์ŠคํŠธ ํŒŒ์ผ ํ‘œ์‹œ ์ „ํ™˜"], + ["A/D", "ํƒ์ƒ‰์ฐฝ ํฌ๊ธฐ"], + ], [ + "์˜ค๋””์˜ค ํ”Œ๋ ˆ์ด์–ด", + ["J/L", "์ด์ „/๋‹ค์Œ ๊ณก"], + ["U/O", "10์ดˆ ๋’ค๋กœ/์•ž์œผ๋กœ ๊ฑด๋„ˆ๋›ฐ๊ธฐ"], + ["0..9", "0%..90% ์ง€์ ์œผ๋กœ ์ด๋™"], + ["P", "์žฌ์ƒ/์ผ์‹œ์ •์ง€ (์‹œ์ž‘ ํฌํ•จ)"], + ["S", "์žฌ์ƒ ์ค‘์ธ ๊ณก ์„ ํƒ"], + ["Y", "๊ณก ๋‹ค์šด๋กœ๋“œ"], + ], [ + "์ด๋ฏธ์ง€ ๋ทฐ์–ด", + ["J/L, โ†/โ†’", "์ด์ „/๋‹ค์Œ ์ด๋ฏธ์ง€"], + ["Home/End", "์ฒซ/๋งˆ์ง€๋ง‰ ์ด๋ฏธ์ง€"], + ["F", "์ „์ฒด ํ™”๋ฉด"], + ["R", "์‹œ๊ณ„ ๋ฐฉํ–ฅ์œผ๋กœ ํšŒ์ „"], + ["โ‡ง R", "๋ฐ˜์‹œ๊ณ„ ๋ฐฉํ–ฅ์œผ๋กœ ํšŒ์ „"], + ["S", "์ด๋ฏธ์ง€ ์„ ํƒ"], + ["Y", "์ด๋ฏธ์ง€ ๋‹ค์šด๋กœ๋“œ"], + ], [ + "๋น„๋””์˜ค ํ”Œ๋ ˆ์ด์–ด", + ["U/O", "10์ดˆ ๋’ค๋กœ/์•ž์œผ๋กœ ๊ฑด๋„ˆ๋›ฐ๊ธฐ"], + ["P/K/Space", "์žฌ์ƒ/์ผ์‹œ์ •์ง€"], + ["C", "๋‹ค์Œ ํŒŒ์ผ ๊ณ„์† ์žฌ์ƒ"], + ["V", "๋ฐ˜๋ณต"], + ["M", "์Œ์†Œ๊ฑฐ"], + ["[ ์™€ ]", "๋ฐ˜๋ณต ๊ตฌ๊ฐ„ ์„ค์ •"], + ], [ + "ํ…์ŠคํŠธ ํŒŒ์ผ ๋ทฐ์–ด", + ["I/K", "์ด์ „/๋‹ค์Œ ํŒŒ์ผ"], + ["M", "ํ…์ŠคํŠธ ํŒŒ์ผ ๋‹ซ๊ธฐ"], + ["E", "ํ…์ŠคํŠธ ํŒŒ์ผ ํŽธ์ง‘"], + ["S", "ํŒŒ์ผ ์„ ํƒ (์ž˜๋ผ๋‚ด๊ธฐ/๋ณต์‚ฌ/์ด๋ฆ„ ๋ฐ”๊พธ๊ธฐ์šฉ)"], + ["Y", "ํ…์ŠคํŠธ ํŒŒ์ผ ๋‹ค์šด๋กœ๋“œ"], //m + ["โ‡ง J", "json ๋ฏธํ™”"], //m + ] + ], + + "m_ok": "ํ™•์ธ", + "m_ng": "์ทจ์†Œ", + + "enable": "ํ™œ์„ฑํ™”", + "danger": "์œ„ํ—˜", + "clipped": "ํด๋ฆฝ๋ณด๋“œ์— ๋ณต์‚ฌ๋˜์—ˆ์Šต๋‹ˆ๋‹ค", + + "ht_s1": "์ดˆ", + "ht_s2": "์ดˆ", + "ht_m1": "๋ถ„", + "ht_m2": "๋ถ„", + "ht_h1": "์‹œ๊ฐ„", + "ht_h2": "์‹œ๊ฐ„", + "ht_d1": "์ผ", + "ht_d2": "์ผ", + "ht_and": " ", + + "goh": "์ œ์–ดํŒ", + "gop": '์ด์ „ ํ˜•์ œ ํด๋”">์ด์ „', + "gou": '์ƒ์œ„ ํด๋”">์œ„๋กœ', + "gon": '๋‹ค์Œ ํด๋”">๋‹ค์Œ', + "logout": "๋กœ๊ทธ์•„์›ƒ ", + "login": "๋กœ๊ทธ์ธ", //m + "access": " ์•ก์„ธ์Šค", + "ot_close": "ํ•˜์œ„ ๋ฉ”๋‰ด ๋‹ซ๊ธฐ", + "ot_search": "์†์„ฑ, ๊ฒฝ๋กœ/์ด๋ฆ„, ์Œ์•… ํƒœ๊ทธ ๋˜๋Š” ์ด๋“ค์˜ ์กฐํ•ฉ์œผ๋กœ ํŒŒ์ผ์„ ๊ฒ€์ƒ‰ํ•ฉ๋‹ˆ๋‹ค.$N$N<code>foo bar</code> = ยซfooยป์™€ ยซbarยป๋ฅผ ๋ชจ๋‘ ํฌํ•จํ•ด์•ผ ํ•จ,$N<code>foo -bar</code> = ยซfooยป๋Š” ํฌํ•จํ•˜์ง€๋งŒ ยซbarยป๋Š” ํฌํ•จํ•˜์ง€ ์•Š์•„์•ผ ํ•จ,$N<code>^yana .opus$</code> = ยซyanaยป๋กœ ์‹œ์ž‘ํ•˜๊ณ  ยซopusยป ํŒŒ์ผ์ด์–ด์•ผ ํ•จ$N<code>"try unite"</code> = ์ •ํ™•ํžˆ ยซtry uniteยป๋ฅผ ํฌํ•จํ•ด์•ผ ํ•จ$N$N๋‚ ์งœ ํ˜•์‹์€ ISO-8601์ž…๋‹ˆ๋‹ค. ์˜ˆ:$N<code>2009-12-31</code> ๋˜๋Š” <code>2020-09-12 23:30:00</code>", + "ot_unpost": "์ฃผ์›Œ๋‹ด๊ธฐ: ์ตœ๊ทผ ์—…๋กœ๋“œํ•œ ํ•ญ๋ชฉ์„ ์‚ญ์ œํ•˜๊ฑฐ๋‚˜ ๋ฏธ์™„๋ฃŒ๋œ ์—…๋กœ๋“œ๋ฅผ ์ค‘๋‹จํ•ฉ๋‹ˆ๋‹ค", + "ot_bup": "bup: ๊ธฐ๋ณธ ์—…๋กœ๋”. ๋„ท์Šค์ผ€์ดํ”„ 4.0๋„ ์ง€์›ํ•ฉ๋‹ˆ๋‹ค", + "ot_mkdir": "mkdir: ์ƒˆ ๋””๋ ‰ํ„ฐ๋ฆฌ๋ฅผ ๋งŒ๋“ญ๋‹ˆ๋‹ค", + "ot_md": "new-file: ์ƒˆ ํ…์ŠคํŠธ ํŒŒ์ผ์„ ๋งŒ๋“ญ๋‹ˆ๋‹ค", //m + "ot_msg": "msg: ์„œ๋ฒ„ ๋กœ๊ทธ์— ๋ฉ”์‹œ์ง€๋ฅผ ๋ณด๋ƒ…๋‹ˆ๋‹ค", + "ot_mp": "๋ฏธ๋””์–ด ํ”Œ๋ ˆ์ด์–ด ์˜ต์…˜", + "ot_cfg": "๊ตฌ์„ฑ ์˜ต์…˜", + "ot_u2i": 'up2k: (์“ฐ๊ธฐ ๊ถŒํ•œ์ด ์žˆ๋Š” ๊ฒฝ์šฐ) ํŒŒ์ผ์„ ์—…๋กœ๋“œํ•˜๊ฑฐ๋‚˜, ๊ฒ€์ƒ‰ ๋ชจ๋“œ๋กœ ์ „ํ™˜ํ•˜์—ฌ ์„œ๋ฒ„ ์–ด๋”˜๊ฐ€์— ํŒŒ์ผ์ด ์žˆ๋Š”์ง€ ํ™•์ธํ•ฉ๋‹ˆ๋‹ค.$N$N์—…๋กœ๋“œ๋Š” ์žฌ๊ฐœ ๊ฐ€๋Šฅํ•˜๊ณ , ๋ฉ€ํ‹ฐ์Šค๋ ˆ๋“œ๋กœ ์ž‘๋™ํ•˜๋ฉฐ, ํŒŒ์ผ ํƒ€์ž„์Šคํƒฌํ”„๊ฐ€ ๋ณด์กด๋˜์ง€๋งŒ, [๐ŸŽˆ] (๊ธฐ๋ณธ ์—…๋กœ๋”)๋ณด๋‹ค CPU๋ฅผ ๋” ๋งŽ์ด ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.

    ์—…๋กœ๋“œ ์ค‘์—๋Š” ์ด ์•„์ด์ฝ˜์ด ์ง„ํ–‰๋ฅ  ํ‘œ์‹œ์ฐฝ์ด ๋ฉ๋‹ˆ๋‹ค!', + "ot_u2w": 'up2k: ์ด์–ด์˜ฌ๋ฆฌ๊ธฐ ๊ธฐ๋Šฅ์„ ์ง€์›ํ•˜๋Š” ํŒŒ์ผ ์—…๋กœ๋”์ž…๋‹ˆ๋‹ค (๋ธŒ๋ผ์šฐ์ €๋ฅผ ๋‹ซ์•˜๋‹ค๊ฐ€ ๋‚˜์ค‘์— ๋™์ผํ•œ ํŒŒ์ผ์„ ๋Œ์–ด๋‹ค ๋†“์œผ์„ธ์š”).$N$N๋ฉ€ํ‹ฐ์Šค๋ ˆ๋“œ๋กœ ์ž‘๋™ํ•˜๋ฉฐ, ํŒŒ์ผ ํƒ€์ž„์Šคํƒฌํ”„๊ฐ€ ๋ณด์กด๋˜์ง€๋งŒ, [๐ŸŽˆ] (๊ธฐ๋ณธ ์—…๋กœ๋”)๋ณด๋‹ค CPU๋ฅผ ๋” ๋งŽ์ด ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.

    ์—…๋กœ๋“œ ์ค‘์—๋Š” ์ด ์•„์ด์ฝ˜์ด ์ง„ํ–‰๋ฅ  ํ‘œ์‹œ์ฐฝ์ด ๋ฉ๋‹ˆ๋‹ค!', + "ot_noie": 'Chrome / Firefox / Edge๋ฅผ ์‚ฌ์šฉํ•ด์ฃผ์„ธ์š”', + + "ab_mkdir": "๋””๋ ‰ํ„ฐ๋ฆฌ ๋งŒ๋“ค๊ธฐ", + "ab_mkdoc": "์ƒˆ ํ…์ŠคํŠธ ํŒŒ์ผ", //m + "ab_msg": "์„œ๋ฒ„ ๋กœ๊ทธ์— ๋ฉ”์‹œ์ง€ ๋ณด๋‚ด๊ธฐ", + + "ay_path": "ํด๋”๋กœ ๊ฑด๋„ˆ๋›ฐ๊ธฐ", + "ay_files": "ํŒŒ์ผ๋กœ ๊ฑด๋„ˆ๋›ฐ๊ธฐ", + + "wt_ren": "์„ ํƒํ•œ ํ•ญ๋ชฉ ์ด๋ฆ„ ๋ฐ”๊พธ๊ธฐ$N๋‹จ์ถ•ํ‚ค: F2", + "wt_del": "์„ ํƒํ•œ ํ•ญ๋ชฉ ์‚ญ์ œ$N๋‹จ์ถ•ํ‚ค: ctrl-K", + "wt_cut": "์„ ํƒํ•œ ํ•ญ๋ชฉ ์ž˜๋ผ๋‚ด๊ธฐ <small>(๋‹ค๋ฅธ ๊ณณ์— ๋ถ™์—ฌ๋„ฃ๊ธฐ์šฉ)</small>$N๋‹จ์ถ•ํ‚ค: ctrl-X", + "wt_cpy": "์„ ํƒํ•œ ํ•ญ๋ชฉ ํด๋ฆฝ๋ณด๋“œ์— ๋ณต์‚ฌ$N(๋‹ค๋ฅธ ๊ณณ์— ๋ถ™์—ฌ๋„ฃ๊ธฐ์šฉ)$N๋‹จ์ถ•ํ‚ค: ctrl-C", + "wt_pst": "์ด์ „์— ์ž˜๋ผ๋‚ด๊ฑฐ๋‚˜ ๋ณต์‚ฌํ•œ ํ•ญ๋ชฉ ๋ถ™์—ฌ๋„ฃ๊ธฐ$N๋‹จ์ถ•ํ‚ค: ctrl-V", + "wt_selall": "๋ชจ๋“  ํŒŒ์ผ ์„ ํƒ$N๋‹จ์ถ•ํ‚ค: ctrl-A (ํŒŒ์ผ์— ํฌ์ปค์Šค๋œ ๊ฒฝ์šฐ)", + "wt_selinv": "์„ ํƒ ๋ฐ˜์ „", + "wt_zip1": "์ด ํด๋”๋ฅผ ์••์ถ• ํŒŒ์ผ๋กœ ๋‹ค์šด๋กœ๋“œ", + "wt_selzip": "์„ ํƒ ํ•ญ๋ชฉ์„ ์••์ถ• ํŒŒ์ผ๋กœ ๋‹ค์šด๋กœ๋“œ", + "wt_seldl": "์„ ํƒ ํ•ญ๋ชฉ์„ ๊ฐœ๋ณ„ ํŒŒ์ผ๋กœ ๋‹ค์šด๋กœ๋“œ$N๋‹จ์ถ•ํ‚ค: Y", + "wt_npirc": "IRC ํ˜•์‹ ํŠธ๋ž™ ์ •๋ณด ๋ณต์‚ฌ", + "wt_nptxt": "์ผ๋ฐ˜ ํ…์ŠคํŠธ ํŠธ๋ž™ ์ •๋ณด ๋ณต์‚ฌ", + "wt_m3ua": "m3u ์žฌ์ƒ ๋ชฉ๋ก์— ์ถ”๊ฐ€ (๋‚˜์ค‘์— ๐Ÿ“ป๋ณต์‚ฌ ํด๋ฆญ)", + "wt_m3uc": "m3u ์žฌ์ƒ ๋ชฉ๋ก์„ ํด๋ฆฝ๋ณด๋“œ์— ๋ณต์‚ฌ", + "wt_grid": "๊ทธ๋ฆฌ๋“œ/๋ชฉ๋ก ๋ณด๊ธฐ ์ „ํ™˜$N๋‹จ์ถ•ํ‚ค: G", + "wt_prev": "์ด์ „ ํŠธ๋ž™$N๋‹จ์ถ•ํ‚ค: J", + "wt_play": "์žฌ์ƒ/์ผ์‹œ์ •์ง€$N๋‹จ์ถ•ํ‚ค: P", + "wt_next": "๋‹ค์Œ ํŠธ๋ž™$N๋‹จ์ถ•ํ‚ค: L", + + "ul_par": "๋™์‹œ ์—…๋กœ๋“œ:", + "ut_rand": "ํŒŒ์ผ๋ช… ๋ฌด์ž‘์œ„๋กœ ๋งŒ๋“ค๊ธฐ", + "ut_u2ts": "์‚ฌ์šฉ์ž ํŒŒ์ผ ์‹œ์Šคํ…œ์˜ ๋งˆ์ง€๋ง‰ ์ˆ˜์ • ํƒ€์ž„์Šคํƒฌํ”„๋ฅผ$N์„œ๋ฒ„์— ๋ณต์‚ฌ\">๐Ÿ“…", + "ut_ow": "์„œ๋ฒ„์— ์žˆ๋Š” ๊ธฐ์กด ํŒŒ์ผ์„ ๋ฎ์–ด์“ธ๊นŒ์š”?$N๐Ÿ›ก๏ธ: ์•ˆ ํ•จ (๋Œ€์‹  ์ƒˆ ํŒŒ์ผ ์ด๋ฆ„ ์ƒ์„ฑ)$N๐Ÿ•’: ์„œ๋ฒ„ ํŒŒ์ผ์ด ๋” ์˜ค๋ž˜๋œ ๊ฒฝ์šฐ ๋ฎ์–ด์“ฐ๊ธฐ$Nโ™ป๏ธ: ํŒŒ์ผ์ด ๋‹ค๋ฅด๋ฉด ํ•ญ์ƒ ๋ฎ์–ด์“ฐ๊ธฐ$Nโญ๏ธ: ๊ธฐ์กด ํŒŒ์ผ์„ ๋ชจ๋‘ ๋ฌด์กฐ๊ฑด ๊ฑด๋„ˆ๋œ€", //m + "ut_mt": "์—…๋กœ๋“œ ์ค‘ ๋‹ค๋ฅธ ํŒŒ์ผ ํ•ด์‹ฑ ๊ณ„์†ํ•˜๊ธฐ$N$NCPU ๋˜๋Š” HDD๊ฐ€ ๋ณ‘๋ชฉ ํ˜„์ƒ์„ ์ผ์œผํ‚ค๋Š” ๊ฒฝ์šฐ ๋น„ํ™œ์„ฑํ™”ํ•˜์„ธ์š”", + "ut_ask": '์—…๋กœ๋“œ ์‹œ์ž‘ ์ „ ํ™•์ธ ์š”์ฒญ">๐Ÿ’ญ', + "ut_pot": "๋А๋ฆฐ ๊ธฐ๊ธฐ์—์„œ UI๋ฅผ ๋‹จ์ˆœํ™”ํ•˜์—ฌ$N์—…๋กœ๋“œ ์†๋„ ํ–ฅ์ƒ", + "ut_srch": "์‹ค์ œ๋กœ ์—…๋กœ๋“œํ•˜๋Š” ๋Œ€์‹ , ํŒŒ์ผ์ด ์ด๋ฏธ ์„œ๋ฒ„์— ์žˆ๋Š”์ง€ ํ™•์ธํ•ฉ๋‹ˆ๋‹ค$N(์ฝ์„ ์ˆ˜ ์žˆ๋Š” ๋ชจ๋“  ํด๋”๋ฅผ ์Šค์บ”ํ•ฉ๋‹ˆ๋‹ค)", + "ut_par": "0์œผ๋กœ ์„ค์ •ํ•˜์—ฌ ์—…๋กœ๋“œ ์ผ์‹œ์ •์ง€$N$N์—ฐ๊ฒฐ์ด ๋А๋ฆฌ๊ฑฐ๋‚˜ ์ง€์—ฐ ์‹œ๊ฐ„์ด ๊ธธ๋ฉด ๋Š˜๋ฆฌ์„ธ์š”$N$NLAN ํ™˜๊ฒฝ์ด๊ฑฐ๋‚˜ ์„œ๋ฒ„ HDD๊ฐ€ ๋ณ‘๋ชฉ ํ˜„์ƒ์„ ์ผ์œผํ‚ค๋ฉด 1๋กœ ์œ ์ง€ํ•˜์„ธ์š”", + "ul_btn": "ํŒŒ์ผ/ํด๋”๋ฅผ ์—ฌ๊ธฐ์—
    ๋Œ์–ด๋‹ค ๋†“๊ฑฐ๋‚˜ ํด๋ฆญํ•˜์„ธ์š”", + "ul_btnu": "์—… ๋กœ ๋“œ", + "ul_btns": "๊ฒ€ ์ƒ‰", + + "ul_hash": "ํ•ด์‹ฑ", + "ul_send": "์ „์†ก", + "ul_done": "์™„๋ฃŒ", + "ul_idle1": "๋Œ€๊ธฐ ์ค‘์ธ ์—…๋กœ๋“œ๊ฐ€ ์—†์Šต๋‹ˆ๋‹ค", + "ut_etah": "ํ‰๊ท  <em>ํ•ด์‹ฑ</em> ์†๋„ ๋ฐ ์˜ˆ์ƒ ์™„๋ฃŒ ์‹œ๊ฐ„", + "ut_etau": "ํ‰๊ท  <em>์—…๋กœ๋“œ</em> ์†๋„ ๋ฐ ์˜ˆ์ƒ ์™„๋ฃŒ ์‹œ๊ฐ„", + "ut_etat": "ํ‰๊ท  <em>์ด</em> ์†๋„ ๋ฐ ์˜ˆ์ƒ ์™„๋ฃŒ ์‹œ๊ฐ„", + + "uct_ok": "์„ฑ๊ณต์ ์œผ๋กœ ์™„๋ฃŒ๋จ", + "uct_ng": "๋ฌธ์ œ ๋ฐœ์ƒ: ์‹คํŒจ/๊ฑฐ๋ถ€/์ฐพ์„ ์ˆ˜ ์—†์Œ", + "uct_done": "์™„๋ฃŒ๋จ (์„ฑ๊ณต ๋ฐ ๋ฌธ์ œ ๋ฐœ์ƒ ํฌํ•จ)", + "uct_bz": "ํ•ด์‹ฑ ๋˜๋Š” ์—…๋กœ๋“œ ์ค‘", + "uct_q": "๋Œ€๊ธฐ ์ค‘, ๋ณด๋ฅ˜ ์ค‘", + + "utl_name": "ํŒŒ์ผ๋ช…", + "utl_ulist": "๋ชฉ๋ก", + "utl_ucopy": "๋ณต์‚ฌ", + "utl_links": "๋งํฌ", + "utl_stat": "์ƒํƒœ", + "utl_prog": "์ง„ํ–‰๋ฅ ", + + // keep short: + "utl_404": "404", + "utl_err": "์˜ค๋ฅ˜", + "utl_oserr": "OS ์˜ค๋ฅ˜", + "utl_found": "์ฐพ์Œ", + "utl_defer": "๋ณด๋ฅ˜", + "utl_yolo": "YOLO", + "utl_done": "์™„๋ฃŒ", + + "ul_flagblk": "ํŒŒ์ผ์ด ๋Œ€๊ธฐ์—ด์— ์ถ”๊ฐ€๋˜์—ˆ์Šต๋‹ˆ๋‹ค.
    ํ•˜์ง€๋งŒ ๋‹ค๋ฅธ ๋ธŒ๋ผ์šฐ์ € ํƒญ์—์„œ up2k๊ฐ€ ์‹คํ–‰ ์ค‘์ด๋ฏ€๋กœ,
    ํ•ด๋‹น ์ž‘์—…์ด ๋๋‚  ๋•Œ๊นŒ์ง€ ๊ธฐ๋‹ค๋ฆฝ๋‹ˆ๋‹ค.", + "ul_btnlk": "์„œ๋ฒ„ ๊ตฌ์„ฑ์—์„œ ์ด ์Šค์œ„์น˜๋ฅผ ํ˜„์žฌ ์ƒํƒœ๋กœ ์ž ๊ฐ”์Šต๋‹ˆ๋‹ค.", + + "udt_up": "์—…๋กœ๋“œ", + "udt_srch": "๊ฒ€์ƒ‰", + "udt_drop": "์—ฌ๊ธฐ์— ๋†“์œผ์„ธ์š”", + + "u_nav_m": '
    ์ž, ๊ฐ–๊ณ  ์žˆ๋Š” ๊ฒŒ ๋ฌด์—‡์ธ๊ฐ€?
    Enter = ํŒŒ์ผ (ํ•˜๋‚˜ ์ด์ƒ)\nESC = ํด๋” ํ•˜๋‚˜ (ํ•˜์œ„ ํด๋” ํฌํ•จ)', + "u_nav_b": 'ํŒŒ์ผํด๋” ํ•˜๋‚˜', + + "cl_opts": "์Šค์œ„์น˜", + "cl_hfsz": "ํŒŒ์ผ ํฌ๊ธฐ", //m + "cl_themes": "ํ…Œ๋งˆ", + "cl_langs": "์–ธ์–ด", + "cl_ziptype": "ํด๋” ๋‹ค์šด๋กœ๋“œ", + "cl_uopts": "up2k ์Šค์œ„์น˜", + "cl_favico": "ํŒŒ๋น„์ฝ˜", + "cl_bigdir": "ํฐ ๋””๋ ‰ํ„ฐ๋ฆฌ", + "cl_hsort": "#sort", + "cl_keytype": "์กฐ์„ฑ ํ‘œ๊ธฐ๋ฒ•", + "cl_hiddenc": "์ˆจ๊ฒจ์ง„ ์—ด", + "cl_hidec": "์ˆจ๊ธฐ๊ธฐ", + "cl_reset": "์ดˆ๊ธฐํ™”", + "cl_hpick": "์•„๋ž˜ ํ…Œ์ด๋ธ”์—์„œ ์ˆจ๊ธฐ๊ณ  ์‹ถ์€ ์—ด์˜ ํ—ค๋”๋ฅผ ํƒญํ•˜์„ธ์š”", + "cl_hcancel": "์—ด ์ˆจ๊ธฐ๊ธฐ๊ฐ€ ์ค‘๋‹จ๋˜์—ˆ์Šต๋‹ˆ๋‹ค", + "cl_rcm": "์šฐํด๋ฆญ ๋ฉ”๋‰ด", //m + + "ct_grid": "็”ฐ ๊ทธ๋ฆฌ๋“œ", + "ct_ttips": 'โ—” โ—ก โ—”">โ„น๏ธ ๋„์›€๋ง', + "ct_thumb": '๊ทธ๋ฆฌ๋“œ ๋ณด๊ธฐ์—์„œ ์•„์ด์ฝ˜ ๋˜๋Š” ๋ฏธ๋ฆฌ๋ณด๊ธฐ ์ด๋ฏธ์ง€ ์ „ํ™˜$N๋‹จ์ถ•ํ‚ค: T">๐Ÿ–ผ๏ธ ๋ฏธ๋ฆฌ๋ณด๊ธฐ', + "ct_csel": '๊ทธ๋ฆฌ๋“œ ๋ณด๊ธฐ์—์„œ CTRL๊ณผ SHIFT๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ํŒŒ์ผ ์„ ํƒ">์„ ํƒ', + "ct_dl": 'ํŒŒ์ผ์„ ํด๋ฆญํ•˜๋ฉด ๋‹ค์šด๋กœ๋“œ๋ฅผ ๊ฐ•์ œ๋กœ ์ˆ˜ํ–‰ (์ธ๋ผ์ธ์œผ๋กœ ํ‘œ์‹œํ•˜์ง€ ์•Š์Œ)">dl', //m + "ct_ihop": '์ด๋ฏธ์ง€ ๋ทฐ์–ด๋ฅผ ๋‹ซ์œผ๋ฉด ๋งˆ์ง€๋ง‰์œผ๋กœ ๋ณธ ํŒŒ์ผ๋กœ ์Šคํฌ๋กค">gโฎฏ', + "ct_dots": '์ˆจ๊น€ ํŒŒ์ผ ํ‘œ์‹œ (์„œ๋ฒ„๊ฐ€ ํ—ˆ์šฉํ•˜๋Š” ๊ฒฝ์šฐ)">์ˆจ๊น€ํŒŒ์ผ', + "ct_qdel": 'ํŒŒ์ผ ์‚ญ์ œ ์‹œ ํ•œ ๋ฒˆ๋งŒ ํ™•์ธ ์š”์ฒญ">๋น ๋ฅธ์‚ญ์ œ', + "ct_dir1st": 'ํด๋”๋ฅผ ํŒŒ์ผ๋ณด๋‹ค ๋จผ์ € ์ •๋ ฌ">๐Ÿ“ ๋จผ์ €', + "ct_nsort": '์ž์—ฐ์–ด ์ •๋ ฌ (ํŒŒ์ผ๋ช…์˜ ์ˆซ์ž๋ฅผ ์ธ์‹)">์ž์—ฐ์–ด์ •๋ ฌ', + "ct_utc": '๋ชจ๋“  ๋‚ ์งœ/์‹œ๊ฐ„์„ UTC๋กœ ํ‘œ์‹œ">UTC', + "ct_readme": 'ํด๋” ๋ชฉ๋ก์— README.md ํ‘œ์‹œ">๐Ÿ“œ readme', + "ct_idxh": 'ํด๋” ๋ชฉ๋ก ๋Œ€์‹  index.html ํ‘œ์‹œ">htm', + "ct_sbars": '์Šคํฌ๋กค๋ฐ” ํ‘œ์‹œ">โŸŠ', + + "cut_umod": 'ํŒŒ์ผ์ด ์„œ๋ฒ„์— ์ด๋ฏธ ์žˆ๋Š” ๊ฒฝ์šฐ, ์„œ๋ฒ„์˜ ๋งˆ์ง€๋ง‰ ์ˆ˜์ • ํƒ€์ž„์Šคํƒฌํ”„๋ฅผ ๋กœ์ปฌ ํŒŒ์ผ๊ณผ ์ผ์น˜ํ•˜๋„๋ก ์—…๋ฐ์ดํŠธํ•ฉ๋‹ˆ๋‹ค (์“ฐ๊ธฐ+์‚ญ์ œ ๊ถŒํ•œ ํ•„์š”).\">re๐Ÿ“…', + + "cut_turbo": 'YOLO ๋ฒ„ํŠผ. ์•„๋งˆ ํ™œ์„ฑํ™”ํ•˜๊ณ  ์‹ถ์ง€ ์•Š์œผ์‹ค ๊ฒ๋‹ˆ๋‹ค.$N$N๋Œ€๋Ÿ‰์˜ ํŒŒ์ผ์„ ์—…๋กœ๋“œํ•˜๋‹ค๊ฐ€ ์–ด๋–ค ์ด์œ ๋กœ ์žฌ์‹œ์ž‘ํ•ด์•ผ ํ•  ๋•Œ, ์ตœ๋Œ€ํ•œ ๋นจ๋ฆฌ ์—…๋กœ๋“œ๋ฅผ ๊ณ„์†ํ•˜๊ณ  ์‹ถ์„ ๋•Œ ์‚ฌ์šฉํ•˜์„ธ์š”.$N$N์ด ์˜ต์…˜์€ ํ•ด์‹œ ํ™•์ธ์„ ๋‹จ์ˆœํžˆ "์„œ๋ฒ„์— ๋™์ผํ•œ ํŒŒ์ผ ํฌ๊ธฐ๋ฅผ ๊ฐ€์ง„ ํŒŒ์ผ์ด ์žˆ๋Š”๊ฐ€?"๋กœ ๋Œ€์ฒดํ•˜๋ฏ€๋กœ, ํŒŒ์ผ ๋‚ด์šฉ๋งŒ ๋‹ค๋ฅผ ๊ฒฝ์šฐ ์—…๋กœ๋“œ๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.$N$N์—…๋กœ๋“œ๊ฐ€ ๋๋‚˜๋ฉด ์ด ์˜ต์…˜์„ ๋„๊ณ , ๋™์ผํ•œ ํŒŒ์ผ์„ ๋‹ค์‹œ \"์—…๋กœ๋“œ\"ํ•˜์—ฌ ํด๋ผ์ด์–ธํŠธ๊ฐ€ ๊ฒ€์ฆํ•˜๋„๋ก ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.\">turbo', + + "cut_datechk": 'ํ„ฐ๋ณด ๋ฒ„ํŠผ์ด ํ™œ์„ฑํ™”๋˜์–ด ์žˆ์ง€ ์•Š์œผ๋ฉด ํšจ๊ณผ๊ฐ€ ์—†์Šต๋‹ˆ๋‹ค.$N$NYOLO์˜ ์œ„ํ—˜์„ฑ์„ ์•ฝ๊ฐ„ ์ค„์—ฌ์ค๋‹ˆ๋‹ค. ์„œ๋ฒ„์˜ ํŒŒ์ผ ํƒ€์ž„์Šคํƒฌํ”„๊ฐ€ ์‚ฌ์šฉ์ž์˜ ๊ฒƒ๊ณผ ์ผ์น˜ํ•˜๋Š”์ง€ ํ™•์ธํ•ฉ๋‹ˆ๋‹ค.$N$N์ด๋ก ์ ์œผ๋กœ๋Š” ๋Œ€๋ถ€๋ถ„์˜ ๋ฏธ์™„๋ฃŒ/์†์ƒ๋œ ์—…๋กœ๋“œ๋ฅผ ์žก์•„๋‚ด์ง€๋งŒ, ํ„ฐ๋ณด๋ฅผ ๋น„ํ™œ์„ฑํ™”ํ•˜๊ณ  ๊ฒ€์ฆ ๊ณผ์ •์„ ๊ฑฐ์น˜๋Š” ๊ฒƒ์„ ๋Œ€์ฒดํ•  ์ˆ˜๋Š” ์—†์Šต๋‹ˆ๋‹ค.\">๋‚ ์งœํ™•์ธ', + + "cut_u2sz": "๊ฐ ์—…๋กœ๋“œ ์ฒญํฌ์˜ ํฌ๊ธฐ (MiB)์ž…๋‹ˆ๋‹ค. ํฐ ๊ฐ’์€ ํƒœํ‰์–‘์„ ๊ฑด๋„ˆ๋Š” ๋ฐ ๋” ์œ ๋ฆฌํ•ฉ๋‹ˆ๋‹ค. ๋งค์šฐ ๋ถˆ์•ˆ์ •ํ•œ ์—ฐ๊ฒฐ์—์„œ๋Š” ๋‚ฎ์€ ๊ฐ’์„ ์‹œ๋„ํ•ด๋ณด์„ธ์š”.", + + "cut_flag": 'ํ•œ ๋ฒˆ์— ํ•˜๋‚˜์˜ ํƒญ๋งŒ ์—…๋กœ๋“œํ•˜๋„๋ก ๋ณด์žฅํ•ฉ๋‹ˆ๋‹ค.$N-- ๋‹ค๋ฅธ ํƒญ๋„ ์ด ์˜ต์…˜์„ ํ™œ์„ฑํ™”ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.$N-- ๋™์ผํ•œ ๋„๋ฉ”์ธ์˜ ํƒญ์—๋งŒ ์˜ํ–ฅ์„ ๋ฏธ์นฉ๋‹ˆ๋‹ค.', + + "cut_az": '๊ฐ€์žฅ ์ž‘์€ ํŒŒ์ผ ์šฐ์„ ์ด ์•„๋‹Œ ์•ŒํŒŒ๋ฒณ ์ˆœ์„œ๋กœ ํŒŒ์ผ์„ ์—…๋กœ๋“œํ•ฉ๋‹ˆ๋‹ค.$N$N์•ŒํŒŒ๋ฒณ ์ˆœ์„œ๋Š” ์„œ๋ฒ„์—์„œ ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ–ˆ๋Š”์ง€ ๋ˆˆ์œผ๋กœ ํ™•์ธํ•˜๊ธฐ ์‰ฝ๊ฒŒ ํ•ด์ฃผ์ง€๋งŒ, ๊ด‘๋žœ/LAN ํ™˜๊ฒฝ์—์„œ๋Š” ์—…๋กœ๋“œ ์†๋„๊ฐ€ ์•ฝ๊ฐ„ ๋А๋ ค์ง‘๋‹ˆ๋‹ค.', + + "cut_nag": '์—…๋กœ๋“œ ์™„๋ฃŒ ์‹œ OS ์•Œ๋ฆผ$N(๋ธŒ๋ผ์šฐ์ €๋‚˜ ํƒญ์ด ํ™œ์„ฑํ™”๋˜์ง€ ์•Š์€ ๊ฒฝ์šฐ์—๋งŒ)', + "cut_sfx": '์—…๋กœ๋“œ ์™„๋ฃŒ ์‹œ ์†Œ๋ฆฌ ์•Œ๋ฆผ$N(๋ธŒ๋ผ์šฐ์ €๋‚˜ ํƒญ์ด ํ™œ์„ฑํ™”๋˜์ง€ ์•Š์€ ๊ฒฝ์šฐ์—๋งŒ)', + + "cut_mt": '๋ฉ€ํ‹ฐ์Šค๋ ˆ๋”ฉ์„ ์‚ฌ์šฉํ•˜์—ฌ ํŒŒ์ผ ํ•ด์‹ฑ ์†๋„๋ฅผ ๋†’์ž…๋‹ˆ๋‹ค.$N$N์ด ๊ธฐ๋Šฅ์€ ์›น ์›Œ์ปค๋ฅผ ์‚ฌ์šฉํ•˜๋ฉฐ$N๋” ๋งŽ์€ RAM์ด ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค (์ถ”๊ฐ€์ ์œผ๋กœ ์ตœ๋Œ€ 512 MiB).$N$Nhttps๋Š” 30% ๋” ๋น ๋ฅด๊ฒŒ, http๋Š” 4.5๋ฐฐ ๋” ๋น ๋ฅด๊ฒŒ ๋งŒ๋“ญ๋‹ˆ๋‹ค.\">mt', + + "cut_wasm": '๋ธŒ๋ผ์šฐ์ € ๋‚ด์žฅ ํ•ด์…” ๋Œ€์‹  wasm์„ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. ํฌ๋กฌ ๊ธฐ๋ฐ˜ ๋ธŒ๋ผ์šฐ์ €์—์„œ ์†๋„๋ฅผ ํ–ฅ์ƒ์‹œํ‚ค์ง€๋งŒ CPU ๋ถ€ํ•˜๋ฅผ ์ฆ๊ฐ€์‹œํ‚ค๋ฉฐ, ๋งŽ์€ ๊ตฌ๋ฒ„์ „ ํฌ๋กฌ์—๋Š” ์ด ๊ธฐ๋Šฅ์„ ํ™œ์„ฑํ™”ํ•˜๋ฉด ๋ชจ๋“  RAM์„ ์†Œ๋ชจํ•˜๊ณ  ์ถฉ๋Œํ•˜๋Š” ๋ฒ„๊ทธ๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค.\">wasm', + + "cft_text": "ํŒŒ๋น„์ฝ˜ ํ…์ŠคํŠธ (๋น„์›Œ๋‘๊ณ  ์ƒˆ๋กœ๊ณ ์นจํ•˜๋ฉด ๋น„ํ™œ์„ฑํ™”๋จ)", + "cft_fg": "์ „๊ฒฝ์ƒ‰", + "cft_bg": "๋ฐฐ๊ฒฝ์ƒ‰", + + "cdt_lim": "ํด๋”์— ํ‘œ์‹œํ•  ์ตœ๋Œ€ ํŒŒ์ผ ์ˆ˜", + "cdt_ask": "๋งจ ์•„๋ž˜๋กœ ์Šคํฌ๋กคํ•  ๋•Œ$N๋” ๋งŽ์€ ํŒŒ์ผ์„ ๋ถˆ๋Ÿฌ์˜ค๋Š” ๋Œ€์‹ $N๋ฌด์—‡์„ ํ• ์ง€ ๋ฌป๊ธฐ", + "cdt_hsort": "๋ฏธ๋””์–ด URL์— ํฌํ•จํ•  ์ •๋ ฌ ๊ทœ์น™ (<code>,sorthref</code>)์˜ ์ˆ˜. 0์œผ๋กœ ์„ค์ •ํ•˜๋ฉด ๋ฏธ๋””์–ด ๋งํฌ๋ฅผ ํด๋ฆญํ•  ๋•Œ ํฌํ•จ๋œ ์ •๋ ฌ ๊ทœ์น™๋„ ๋ฌด์‹œ๋ฉ๋‹ˆ๋‹ค.", + "cdt_ren": "์‚ฌ์šฉ์ž ์ง€์ • ์šฐํด๋ฆญ ๋ฉ”๋‰ด๋ฅผ ํ™œ์„ฑํ™”ํ•ฉ๋‹ˆ๋‹ค. shift ํ‚ค๋ฅผ ๋ˆ„๋ฅธ ์ฑ„ ์šฐํด๋ฆญํ•˜๋ฉด ๊ธฐ๋ณธ ๋ฉ”๋‰ด๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค", //m + + "tt_entree": "ํƒ์ƒ‰ ์ฐฝ (๋””๋ ‰ํ„ฐ๋ฆฌ ํŠธ๋ฆฌ ์‚ฌ์ด๋“œ๋ฐ”) ํ‘œ์‹œ$N๋‹จ์ถ•ํ‚ค: B", + "tt_detree": "์ด๋™ ๊ฒฝ๋กœ ํ‘œ์‹œ$N๋‹จ์ถ•ํ‚ค: B", + "tt_visdir": "์„ ํƒํ•œ ํด๋”๋กœ ์Šคํฌ๋กคํ•˜๊ธฐ", + "tt_ftree": "ํด๋” ํŠธ๋ฆฌ/ํ…์ŠคํŠธ ํŒŒ์ผ ์ „ํ™˜$N๋‹จ์ถ•ํ‚ค: V", + "tt_pdock": "์ƒ์œ„ ํด๋”๋ฅผ ์ƒ๋‹จ์— ๊ณ ์ •๋œ ์ฐฝ์— ํ‘œ์‹œ", + "tt_dynt": "ํŠธ๋ฆฌ๊ฐ€ ํ™•์žฅ๋  ๋•Œ ์ž๋™์œผ๋กœ ๋„ˆ๋น„ ์ฆ๊ฐ€", + "tt_wrap": "์ž๋™ ์ค„ ๋ฐ”๊ฟˆ", + "tt_hover": "๋งˆ์šฐ์Šค๋ฅผ ์˜ฌ๋ฆฌ๋ฉด ๋„˜์–ด๊ฐ€๋Š” ์ค„ ํ‘œ์‹œ$N(๋งˆ์šฐ์Šค ์ปค์„œ๊ฐ€ ์™ผ์ชฝ ์—ฌ๋ฐฑ์—$N  ์žˆ์ง€ ์•Š์œผ๋ฉด ์Šคํฌ๋กค์ด ๊นจ์ง)", + + "ml_pmode": "ํด๋” ๋์—์„œ...", + "ml_btns": "๋ช…๋ น", + "ml_tcode": "ํŠธ๋žœ์Šค์ฝ”๋”ฉ", + "ml_tcode2": "๋‹ค์Œ์œผ๋กœ ํŠธ๋žœ์Šค์ฝ”๋”ฉ", + "ml_tint": "ํ‹ดํŠธ", + "ml_eq": "์˜ค๋””์˜ค ์ดํ€„๋ผ์ด์ €", + "ml_drc": "๋‹ค์ด๋‚ด๋ฏน ๋ ˆ์ธ์ง€ ์••์ถ•๊ธฐ", + + "mt_loop": "ํ•œ ๊ณก ๋ฐ˜๋ณต ์žฌ์ƒ\">๐Ÿ”", + "mt_one": "ํ•œ ๊ณก ์žฌ์ƒ ํ›„ ์ค‘์ง€\">1๏ธโƒฃ", + "mt_shuf": "๊ฐ ํด๋”์˜ ๊ณก์„ ๋ฌด์ž‘์œ„ ์žฌ์ƒ\">๐Ÿ”€", + "mt_aplay": "์„œ๋ฒ„์— ์ ‘์†ํ•œ ๋งํฌ์— ๊ณก ID๊ฐ€ ์žˆ์œผ๋ฉด ์ž๋™ ์žฌ์ƒ$N$N์ด๊ฒƒ์„ ๋น„ํ™œ์„ฑํ™”ํ•˜๋ฉด ์Œ์•… ์žฌ์ƒ ์‹œ ํŽ˜์ด์ง€ URL์ด ๊ณก ID๋กœ ์—…๋ฐ์ดํŠธ๋˜์ง€ ์•Š์•„, ์ด ์„ค์ •์ด ์†์‹ค๋˜๊ณ  URL์ด ๋‚จ์•„์žˆ์„ ๊ฒฝ์šฐ ์ž๋™ ์žฌ์ƒ๋˜๋Š” ๊ฒƒ์„ ๋ฐฉ์ง€ํ•ฉ๋‹ˆ๋‹ค.\">aโ–ถ", + "mt_preload": "๋Š๊น€ ์—†๋Š” ์žฌ์ƒ์„ ์œ„ํ•ด ๋‹ค์Œ ๊ณก์„ ๋ฏธ๋ฆฌ ๋ถˆ๋Ÿฌ์˜ค๊ธฐ ์‹œ์ž‘\">๋ฏธ๋ฆฌ๋กœ๋“œ", + "mt_prescan": "๋งˆ์ง€๋ง‰ ๊ณก์ด ๋๋‚˜๊ธฐ ์ „์— ๋‹ค์Œ ํด๋”๋กœ ์ด๋™ํ•˜์—ฌ$N์›น๋ธŒ๋ผ์šฐ์ €๊ฐ€ ์žฌ์ƒ์„ ๋ฉˆ์ถ”์ง€ ์•Š๋„๋ก ํ•ฉ๋‹ˆ๋‹ค.\">ํƒ์ƒ‰", + "mt_fullpre": "์ „์ฒด ๊ณก์„ ๋ฏธ๋ฆฌ ๋ถˆ๋Ÿฌ์˜ค๊ธฐ ์‹œ๋„;$Nโœ… ๋ถˆ์•ˆ์ •ํ•œ ์—ฐ๊ฒฐ์—์„œ ํ™œ์„ฑํ™”,$NโŒ ๋А๋ฆฐ ์—ฐ๊ฒฐ์—์„œ๋Š” ์•„๋งˆ๋„ ๋น„ํ™œ์„ฑํ™”\">์ „์ฒด", + "mt_fau": "ํฐ์—์„œ ๋‹ค์Œ ๊ณก์ด ์ถฉ๋ถ„ํžˆ ๋นจ๋ฆฌ ๋ฏธ๋ฆฌ ๋ถˆ๋Ÿฌ์˜ค์ง€ ์•Š์•„ ์Œ์•…์ด ๋ฉˆ์ถ”๋Š” ๊ฒƒ์„ ๋ฐฉ์ง€ํ•ฉ๋‹ˆ๋‹ค (ํƒœ๊ทธ ํ‘œ์‹œ๊ฐ€ ๋ถˆ์•ˆ์ •ํ•ด์งˆ ์ˆ˜ ์žˆ์Œ).\">โ˜•๏ธ", + "mt_waves": "ํŒŒํ˜• ํƒ์ƒ‰ ๋ฐ”:$Nํƒ์ƒ‰ ๋ฐ”์— ์˜ค๋””์˜ค ์ง„ํญ ํ‘œ์‹œ\">~s", + "mt_npclip": "ํ˜„์žฌ ์žฌ์ƒ ์ค‘์ธ ๊ณก์„ ํด๋ฆฝ๋ณด๋“œ์— ๋ณต์‚ฌํ•˜๋Š” ๋ฒ„ํŠผ ํ‘œ์‹œ\">/np", + "mt_m3u_c": "์„ ํƒํ•œ ๊ณก์„ m3u8 ์žฌ์ƒ ๋ชฉ๋ก ํ•ญ๋ชฉ์œผ๋กœ$Nํด๋ฆฝ๋ณด๋“œ์— ๋ณต์‚ฌํ•˜๋Š” ๋ฒ„ํŠผ ํ‘œ์‹œ\">๐Ÿ“ป", + "mt_octl": "OS ํ†ตํ•ฉ (๋ฏธ๋””์–ด ๋‹จ์ถ•ํ‚ค/OSD)\">os-ctl", + "mt_oseek": "OS ํ†ตํ•ฉ์„ ํ†ตํ•ด ํƒ์ƒ‰ ํ—ˆ์šฉ$N$N์ฐธ๊ณ : ์ผ๋ถ€ ๊ธฐ๊ธฐ (iPhone)์—์„œ๋Š”$N์ด๊ฒƒ์ด ๋‹ค์Œ ๊ณก ๋ฒ„ํŠผ์„ ๋Œ€์ฒดํ•ฉ๋‹ˆ๋‹ค.\">ํƒ์ƒ‰", + "mt_oscv": "OSD์— ์•จ๋ฒ” ์ปค๋ฒ„ ํ‘œ์‹œ\">์•„ํŠธ", + "mt_follow": "์žฌ์ƒ ์ค‘์ธ ํŠธ๋ž™์ด ๋ณด์ด๋„๋ก ์Šคํฌ๋กค ์œ ์ง€\">๐ŸŽฏ", + "mt_compact": "์ปดํŒฉํŠธ ์ปจํŠธ๋กค\">โŸŽ", + "mt_uncache": "์บ์‹œ ์ง€์šฐ๊ธฐ (๋ธŒ๋ผ์šฐ์ €๊ฐ€ ๊ณก์˜ ๊นจ์ง„ ์‚ฌ๋ณธ์„ ์บ์‹œํ•˜์—ฌ$N์žฌ์ƒ์ด ์•ˆ๋˜๋Š” ๊ฒฝ์šฐ ์‹œ๋„ํ•ด๋ณด์„ธ์š”)\">์บ์‹œ์‚ญ์ œ", + "mt_mloop": "์—ด๋ฆฐ ํด๋” ๋ฐ˜๋ณต\">๐Ÿ” ๋ฐ˜๋ณต", + "mt_mnext": "๋‹ค์Œ ํด๋” ๋ถˆ๋Ÿฌ์˜ค๊ณ  ๊ณ„์†\">๐Ÿ“‚ ๋‹ค์Œ", + "mt_mstop": "์žฌ์ƒ ์ค‘์ง€\">โธ ์ค‘์ง€", + "mt_cflac": "flac/wav๋ฅผ {0}๋กœ ๋ณ€ํ™˜\">flac", + "mt_caac": "aac/m4a๋ฅผ {0}๋กœ ๋ณ€ํ™˜\">aac", + "mt_coth": "๋‹ค๋ฅธ ๋ชจ๋“  ๊ฒƒ (mp3 ์ œ์™ธ)์„ {0}๋กœ ๋ณ€ํ™˜\">๊ธฐํƒ€", + "mt_c2opus": "๋ฐ์Šคํฌํ†ฑ, ๋…ธํŠธ๋ถ, ์•ˆ๋“œ๋กœ์ด๋“œ ํ™˜๊ฒฝ์— ์ตœ์ \">opus", + "mt_c2owa": "iOS 17.5 ์ด์ƒ์šฉ opus-weba\">owa", + "mt_c2caf": "iOS 11๋ถ€ํ„ฐ 17๊นŒ์ง€์šฉ opus-caf\">caf", + "mt_c2mp3": "๋งค์šฐ ์˜ค๋ž˜๋œ ๊ธฐ๊ธฐ์—์„œ ์‚ฌ์šฉ\">mp3", + "mt_c2flac": "์ตœ๊ณ  ์Œ์งˆ์ด์ง€๋งŒ ๋‹ค์šด๋กœ๋“œ ์šฉ๋Ÿ‰์ด ํผ\">flac", + "mt_c2wav": "๋น„์••์ถ• ์žฌ์ƒ (๋” ํผ)\">wav", + "mt_c2ok": "๋„ค, ์ข‹์€ ์„ ํƒ์ž…๋‹ˆ๋‹ค", + "mt_c2nd": "๊ธฐ๊ธฐ์— ๊ถŒ์žฅ๋˜๋Š” ์ถœ๋ ฅ ํ˜•์‹์ด ์•„๋‹ˆ์ง€๋งŒ ๊ดœ์ฐฎ์Šต๋‹ˆ๋‹ค", + "mt_c2ng": "๊ธฐ๊ธฐ๊ฐ€ ์ด ์ถœ๋ ฅ ํ˜•์‹์„ ์ง€์›ํ•˜์ง€ ์•Š๋Š” ๊ฒƒ ๊ฐ™์ง€๋งŒ, ์‹œ๋„ํ•ด ๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค", + "mt_xowa": "iOS์—์„œ ์ด ํ˜•์‹์˜ ๋ฐฑ๊ทธ๋ผ์šด๋“œ ์žฌ์ƒ์ด ์•ˆ๋˜๋Š” ๋ฒ„๊ทธ๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค. ๋Œ€์‹  caf๋‚˜ mp3๋ฅผ ์‚ฌ์šฉํ•ด์ฃผ์„ธ์š”.", + "mt_tint": "ํƒ์ƒ‰ ๋ฐ”์˜ ๋ฐฐ๊ฒฝ ๋ ˆ๋ฒจ (0-100)$N๋ฒ„ํผ๋ง์ด ๋œ ๋ˆˆ์‹œ๋ฆฌ๊ฒŒ ๋งŒ๋“ฆ", + "mt_eq": "์ดํ€„๋ผ์ด์ € ๋ฐ ๊ฒŒ์ธ ์ œ์–ด ํ™œ์„ฑํ™”;$N$Nboost <code>0</code> = ํ‘œ์ค€ 100% ๋ณผ๋ฅจ (์ˆ˜์ • ์—†์Œ)$N$Nwidth <code>1  </code> = ํ‘œ์ค€ ์Šคํ…Œ๋ ˆ์˜ค (์ˆ˜์ • ์—†์Œ)$Nwidth <code>0.5</code> = 50% ์ขŒ์šฐ ํฌ๋กœ์Šคํ”ผ๋“œ$Nwidth <code>0  </code> = ๋ชจ๋…ธ$N$Nboost <code>-0.8</code> & width <code>10</code> = ๋ณด์ปฌ ์ œ๊ฑฐ :^)$N$N์ดํ€„๋ผ์ด์ €๋ฅผ ํ™œ์„ฑํ™”ํ•˜๋ฉด ๋Š๊น€ ์—†๋Š” ์•จ๋ฒ”์ด ์˜จ์ „ํžˆ ๋Š๊น€ ์—†์ด ์žฌ์ƒ๋˜๋ฏ€๋กœ, ๊ทธ ์ ์ด ์ค‘์š”ํ•˜๋‹ค๋ฉด ๋ชจ๋“  ๊ฐ’์„ 0์œผ๋กœ ๋‘๊ณ  (width=1 ์ œ์™ธ) ์ผœ๋‘์„ธ์š”.", + "mt_drc": "๋‹ค์ด๋‚ด๋ฏน ๋ ˆ์ธ์ง€ ์ปดํ”„๋ ˆ์„œ(๋ณผ๋ฅจ ํ‰ํƒ„ํ™”/๋ฒฝ๋Œํ™”)๋ฅผ ํ™œ์„ฑํ™”ํ•ฉ๋‹ˆ๋‹ค. ์ŠคํŒŒ๊ฒŒํ‹ฐ์˜ ๊ท ํ˜•์„ ๋งž์ถ”๊ธฐ ์œ„ํ•ด EQ๋„ ํ™œ์„ฑํ™”๋˜๋ฏ€๋กœ, ์›ํ•˜์ง€ ์•Š์œผ๋ฉด 'width'๋ฅผ ์ œ์™ธํ•œ ๋ชจ๋“  EQ ํ•„๋“œ๋ฅผ 0์œผ๋กœ ์„ค์ •ํ•˜์„ธ์š”.$N$NTHRESHOLD dB ์ด์ƒ์˜ ์˜ค๋””์˜ค ๋ณผ๋ฅจ์„ ๋‚ฎ์ถฅ๋‹ˆ๋‹ค. THRESHOLD๋ฅผ ์ดˆ๊ณผํ•˜๋Š” ๋ชจ๋“  RATIO dB์— ๋Œ€ํ•ด 1dB์˜ ์ถœ๋ ฅ์ด ์žˆ์œผ๋ฏ€๋กœ, ๊ธฐ๋ณธ๊ฐ’์ธ tresh -24 ๋ฐ ratio 12๋Š” ๋ณผ๋ฅจ์ด -22dB๋ณด๋‹ค ์ปค์ง€์ง€ ์•Š์Œ์„ ์˜๋ฏธํ•˜๋ฉฐ, ์ดํ€„๋ผ์ด์ € ๋ถ€์ŠคํŠธ๋ฅผ 0.8 ๋˜๋Š” ATK 0๊ณผ ํฐ RLS (์˜ˆ: 90)๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ 1.8๊นŒ์ง€ ์•ˆ์ „ํ•˜๊ฒŒ ๋†’์ผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค (firefox์—์„œ๋งŒ ์ž‘๋™, ๋‹ค๋ฅธ ๋ธŒ๋ผ์šฐ์ €์—์„œ๋Š” RLS ์ตœ๋Œ€ 1).$N$N(์œ„ํ‚ค๋ฐฑ๊ณผ๋ฅผ ์ฐธ์กฐํ•˜์„ธ์š”, ํ›จ์”ฌ ๋” ์ž˜ ์„ค๋ช…๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค)", + + "mb_play": "์žฌ์ƒ", + "mm_hashplay": "์ด ์˜ค๋””์˜ค ํŒŒ์ผ์„ ์žฌ์ƒํ• ๊นŒ์š”?", + "mm_m3u": "Enter/ํ™•์ธ์„ ๋ˆŒ๋Ÿฌ ์žฌ์ƒ\nESC/์ทจ์†Œ๋ฅผ ๋ˆŒ๋Ÿฌ ํŽธ์ง‘", + "mp_breq": "Firefox 82+, Chrome 73+ ๋˜๋Š” iOS 15+ ํ•„์š”", + "mm_bload": "๋ถˆ๋Ÿฌ์˜ค๋Š” ์ค‘...", + "mm_bconv": "{0}(์œผ)๋กœ ๋ณ€ํ™˜ ์ค‘, ์ž ์‹œ๋งŒ ๊ธฐ๋‹ค๋ ค์ฃผ์„ธ์š”...", + "mm_opusen": "๋ธŒ๋ผ์šฐ์ €๊ฐ€ aac/m4a ํŒŒ์ผ์„ ์žฌ์ƒํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค.\nopus๋กœ์˜ ํŠธ๋žœ์Šค์ฝ”๋”ฉ์ด ํ™œ์„ฑํ™”๋˜์—ˆ์Šต๋‹ˆ๋‹ค.", + "mm_playerr": "์žฌ์ƒ ์‹คํŒจ: ", + "mm_eabrt": "์žฌ์ƒ ์‹œ๋„๊ฐ€ ์ทจ์†Œ๋˜์—ˆ์Šต๋‹ˆ๋‹ค", + "mm_enet": "์ธํ„ฐ๋„ท ์—ฐ๊ฒฐ์ด ๋ถˆ์•ˆ์ •ํ•ฉ๋‹ˆ๋‹ค", + "mm_edec": "์ด ํŒŒ์ผ์ด ์†์ƒ๋œ ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค??", + "mm_esupp": "๋ธŒ๋ผ์šฐ์ €๊ฐ€ ์ด ์˜ค๋””์˜ค ํ˜•์‹์„ ์ดํ•ดํ•˜์ง€ ๋ชปํ•ฉ๋‹ˆ๋‹ค", + "mm_eunk": "์•Œ ์ˆ˜ ์—†๋Š” ์˜ค๋ฅ˜", + "mm_e404": "์˜ค๋””์˜ค๋ฅผ ์žฌ์ƒํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค; ์˜ค๋ฅ˜ 404: ํŒŒ์ผ์„ ์ฐพ์„ ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค.", + "mm_e403": "์˜ค๋””์˜ค๋ฅผ ์žฌ์ƒํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค; ์˜ค๋ฅ˜ 403: ์ ‘๊ทผ์ด ๊ฑฐ๋ถ€๋˜์—ˆ์Šต๋‹ˆ๋‹ค.\n\nF5๋ฅผ ๋ˆŒ๋Ÿฌ ์ƒˆ๋กœ๊ณ ์นจ ํ•ด๋ณด์„ธ์š”, ๋กœ๊ทธ์•„์›ƒ๋˜์—ˆ์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค", + "mm_e500": "์˜ค๋””์˜ค๋ฅผ ์žฌ์ƒํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค; ์˜ค๋ฅ˜ 500: ์„œ๋ฒ„ ๋กœ๊ทธ๋ฅผ ํ™•์ธํ•˜์„ธ์š”.", + "mm_e5xx": "์˜ค๋””์˜ค๋ฅผ ์žฌ์ƒํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค; ์„œ๋ฒ„ ์˜ค๋ฅ˜ ", + "mm_nof": "์ฃผ๋ณ€์—์„œ ๋” ์ด์ƒ ์˜ค๋””์˜ค ํŒŒ์ผ์„ ์ฐพ์„ ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค", + "mm_prescan": "๋‹ค์Œ์— ์žฌ์ƒํ•  ์Œ์•…์„ ์ฐพ๋Š” ์ค‘...", + "mm_scank": "๋‹ค์Œ ๊ณก์„ ์ฐพ์•˜์Šต๋‹ˆ๋‹ค:", + "mm_uncache": "์บ์‹œ๊ฐ€ ์ง€์›Œ์กŒ์Šต๋‹ˆ๋‹ค. ๋ชจ๋“  ๊ณก์€ ๋‹ค์Œ ์žฌ์ƒ ์‹œ ๋‹ค์‹œ ๋‹ค์šด๋กœ๋“œ๋ฉ๋‹ˆ๋‹ค.", + "mm_hnf": "๊ทธ ๊ณก์ด ๋” ์ด์ƒ ์กด์žฌํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค", + + "im_hnf": "๊ทธ ์ด๋ฏธ์ง€๊ฐ€ ๋” ์ด์ƒ ์กด์žฌํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค", + + "f_empty": '์ด ํด๋”๋Š” ๋น„์–ด ์žˆ์Šต๋‹ˆ๋‹ค', + "f_chide": 'ยซ{0}ยป ์—ด์„ ์ˆจ๊น๋‹ˆ๋‹ค.\n\n์„ค์ • ํƒญ์—์„œ ์—ด์„ ๋‹ค์‹œ ํ‘œ์‹œํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.', + "f_bigtxt": "์ด ํŒŒ์ผ์€ {0} MiB์ž…๋‹ˆ๋‹ค -- ์ •๋ง ํ…์ŠคํŠธ๋กœ ๋ณด์‹œ๊ฒ ์Šต๋‹ˆ๊นŒ?", + "f_bigtxt2": "๋Œ€์‹  ํŒŒ์ผ์˜ ๋๋ถ€๋ถ„๋งŒ ๋ณด์‹œ๊ฒ ์Šต๋‹ˆ๊นŒ? ์ด๋ ‡๊ฒŒ ํ•˜๋ฉด ์‹ค์‹œ๊ฐ„์œผ๋กœ ์ƒˆ๋กœ ์ถ”๊ฐ€๋˜๋Š” ํ…์ŠคํŠธ ์ค„์„ ๋ณด์—ฌ์ฃผ๋Š” ํŒ”๋กœ์ž‰/ํ…Œ์ผ๋ง ๊ธฐ๋Šฅ๋„ ํ™œ์„ฑํ™”๋ฉ๋‹ˆ๋‹ค.", + "fbd_more": '
    {1}๊ฐœ ํŒŒ์ผ ์ค‘ {0}๊ฐœ ํ‘œ์‹œ ์ค‘; {2}๊ฐœ ๋” ๋ณด๊ธฐ ๋˜๋Š” ๋ชจ๋‘ ๋ณด๊ธฐ
    ', + "fbd_all": '
    {1}๊ฐœ ํŒŒ์ผ ์ค‘ {0}๊ฐœ ํ‘œ์‹œ ์ค‘; ๋ชจ๋‘ ๋ณด๊ธฐ
    ', + "f_anota": "{1}๊ฐœ ํ•ญ๋ชฉ ์ค‘ {0}๊ฐœ๋งŒ ์„ ํƒ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.\n์ „์ฒด ํด๋”๋ฅผ ์„ ํƒํ•˜๋ ค๋ฉด ๋จผ์ € ๋งจ ์•„๋ž˜๋กœ ์Šคํฌ๋กคํ•˜์„ธ์š”.", + + "f_dls": 'ํ˜„์žฌ ํด๋”์˜ ํŒŒ์ผ ๋งํฌ๊ฐ€\n๋‹ค์šด๋กœ๋“œ ๋งํฌ๋กœ ๋ณ€๊ฒฝ๋˜์—ˆ์Šต๋‹ˆ๋‹ค', + + "f_partial": "ํ˜„์žฌ ์—…๋กœ๋“œ ์ค‘์ธ ํŒŒ์ผ์„ ์•ˆ์ „ํ•˜๊ฒŒ ๋‹ค์šด๋กœ๋“œํ•˜๋ ค๋ฉด, ํŒŒ์ผ ์ด๋ฆ„์ด ๊ฐ™์ง€๋งŒ .PARTIAL ํ™•์žฅ์ž๊ฐ€ ์—†๋Š” ํŒŒ์ผ์„ ํด๋ฆญํ•˜์„ธ์š”. ์ด ๊ฒฝ๊ณ ๋ฅผ ๋ฌด์‹œํ•˜๋ ค๋ฉด \"์ทจ์†Œ\" ๋˜๋Š” ESC๋ฅผ ๋ˆ„๋ฅด์„ธ์š”.\n\n\"ํ™•์ธ\"/Enter๋ฅผ ๋ˆ„๋ฅด๋ฉด ์ด ๊ฒฝ๊ณ ๋ฅผ ๋ฌด์‹œํ•˜๊ณ  .PARTIAL ์ž„์‹œ ํŒŒ์ผ์„ ๊ณ„์† ๋‹ค์šด๋กœ๋“œํ•˜๋ฉฐ, ์ด ๊ฒฝ์šฐ ๊ฑฐ์˜ ํ™•์‹คํžˆ ์†์ƒ๋œ ๋ฐ์ดํ„ฐ๋ฅผ ๋ฐ›๊ฒŒ ๋ฉ๋‹ˆ๋‹ค.", + + "ft_paste": "{0}๊ฐœ ํ•ญ๋ชฉ ๋ถ™์—ฌ๋„ฃ๊ธฐ$N๋‹จ์ถ•ํ‚ค: ctrl-V", + "fr_eperm": "์ด๋ฆ„์„ ๋ฐ”๊ฟ€ ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค:\n์ด ํด๋”์— \"์ด๋™\" ๊ถŒํ•œ์ด ์—†์Šต๋‹ˆ๋‹ค", + "fd_eperm": "์‚ญ์ œํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค:\n์ด ํด๋”์— \"์‚ญ์ œ\" ๊ถŒํ•œ์ด ์—†์Šต๋‹ˆ๋‹ค", + "fc_eperm": "์ž˜๋ผ๋‚ผ ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค:\n์ด ํด๋”์— \"์ด๋™\" ๊ถŒํ•œ์ด ์—†์Šต๋‹ˆ๋‹ค", + "fp_eperm": "๋ถ™์—ฌ๋„ฃ์„ ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค\n์ด ํด๋”์— \"์“ฐ๊ธฐ\" ๊ถŒํ•œ์ด ์—†์Šต๋‹ˆ๋‹ค", + "fr_emore": "์ด๋ฆ„์„ ๋ฐ”๊ฟ€ ํ•ญ๋ชฉ์„ ํ•˜๋‚˜ ์ด์ƒ ์„ ํƒํ•˜์„ธ์š”", + "fd_emore": "์‚ญ์ œํ•  ํ•ญ๋ชฉ์„ ํ•˜๋‚˜ ์ด์ƒ ์„ ํƒํ•˜์„ธ์š”", + "fc_emore": "์ž˜๋ผ๋‚ผ ํ•ญ๋ชฉ์„ ํ•˜๋‚˜ ์ด์ƒ ์„ ํƒํ•˜์„ธ์š”", + "fcp_emore": "ํด๋ฆฝ๋ณด๋“œ์— ๋ณต์‚ฌํ•  ํ•ญ๋ชฉ์„ ํ•˜๋‚˜ ์ด์ƒ ์„ ํƒํ•˜์„ธ์š”", + + "fs_sc": "ํ˜„์žฌ ํด๋” ๊ณต์œ ", + "fs_ss": "์„ ํƒํ•œ ํŒŒ์ผ ๊ณต์œ ", + "fs_just1d": "ํ•˜๋‚˜ ์ด์ƒ์˜ ํด๋”๋ฅผ ์„ ํƒํ•˜๊ฑฐ๋‚˜,\nํŒŒ์ผ๊ณผ ํด๋”๋ฅผ ํ•œ ๋ฒˆ์— ์„ž์–ด ์„ ํƒํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค", + "fs_abrt": "โŒ ์ค‘๋‹จ", + "fs_rand": "๐ŸŽฒ ๋ฌด์ž‘์œ„ ์ด๋ฆ„", + "fs_go": "โœ… ๊ณต์œ  ์ƒ์„ฑ", + "fs_name": "์ด๋ฆ„", + "fs_src": "์†Œ์Šค", + "fs_pwd": "๋น„๋ฐ€๋ฒˆํ˜ธ", + "fs_exp": "๋งŒ๋ฃŒ", + "fs_tmin": "๋ถ„", + "fs_thrs": "์‹œ๊ฐ„", + "fs_tdays": "์ผ", + "fs_never": "์˜์›", + "fs_pname": "์„ ํƒ์  ๋งํฌ ์ด๋ฆ„; ๋น„์›Œ๋‘๋ฉด ๋ฌด์ž‘์œ„๋กœ ์ƒ์„ฑ", + "fs_tsrc": "๊ณต์œ ํ•  ํŒŒ์ผ ๋˜๋Š” ํด๋”", + "fs_ppwd": "๋น„๋ฐ€๋ฒˆํ˜ธ (์„ ํƒ์‚ฌํ•ญ)", + "fs_w8": "๊ณต์œ  ์ƒ์„ฑ ์ค‘...", + "fs_ok": "Enter/OK๋ฅผ ๋ˆŒ๋Ÿฌ ํด๋ฆฝ๋ณด๋“œ์— ๋ณต์‚ฌ\nESC/Cancel๋ฅผ ๋ˆŒ๋Ÿฌ ๋‹ซ๊ธฐ", + + "frt_dec": "๊นจ์ง„ ํŒŒ์ผ ์ด๋ฆ„์˜ ์ผ๋ถ€ ๊ฒฝ์šฐ๋ฅผ ์ˆ˜์ •ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค\">url-๋””์ฝ”๋“œ", + "frt_rst": "์ˆ˜์ •๋œ ํŒŒ์ผ ์ด๋ฆ„์„ ์›๋ž˜๋Œ€๋กœ ๋˜๋Œ๋ฆฝ๋‹ˆ๋‹ค\">โ†บ ์ดˆ๊ธฐํ™”", + "frt_abrt": "์ด ์ฐฝ์„ ์ค‘๋‹จํ•˜๊ณ  ๋‹ซ์Šต๋‹ˆ๋‹ค\">โŒ ์ทจ์†Œ", + "frb_apply": "์ด๋ฆ„ ๋ฐ”๊พธ๊ธฐ ์ ์šฉ", + "fr_adv": "๋ฐฐ์น˜/๋ฉ”ํƒ€๋ฐ์ดํ„ฐ/ํŒจํ„ด ์ด๋ฆ„ ๋ฐ”๊พธ๊ธฐ\">๊ณ ๊ธ‰", + "fr_case": "๋Œ€์†Œ๋ฌธ์ž ๊ตฌ๋ถ„ ์ •๊ทœ์‹\">๋Œ€์†Œ๋ฌธ์ž", + "fr_win": "Windows ์•ˆ์ „ ์ด๋ฆ„; <>:"\\|?*๋ฅผ ์ผ๋ณธ์–ด ์ „๊ฐ ๋ฌธ์ž๋กœ ๋ฐ”๊ฟ‰๋‹ˆ๋‹ค\">win", + "fr_slash": "/๋ฅผ ์ƒˆ ํด๋”๋ฅผ ๋งŒ๋“ค์ง€ ์•Š๋Š” ๋ฌธ์ž๋กœ ๋ฐ”๊ฟ‰๋‹ˆ๋‹ค\">/ ์—†์Œ", + "fr_re": "์›๋ณธ ํŒŒ์ผ ์ด๋ฆ„์— ์ ์šฉํ•  ์ •๊ทœ์‹ ๊ฒ€์ƒ‰ ํŒจํ„ด; ์บก์ฒ˜๋ง ๊ทธ๋ฃน์€ ์•„๋ž˜ ํ˜•์‹ ํ•„๋“œ์—์„œ <code>(1)</code>, <code>(2)</code> ๋“ฑ์œผ๋กœ ์ฐธ์กฐํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค", + "fr_fmt": "foobar2000์—์„œ ์˜๊ฐ์„ ๋ฐ›์Œ:$N<code>(title)</code>์€(๋Š”) ๊ณก ์ œ๋ชฉ์œผ๋กœ ๋Œ€์ฒด๋จ,$N<code>[(artist) - ](title)</code>์€(๋Š”) ์•„ํ‹ฐ์ŠคํŠธ๊ฐ€ ๋น„์–ด ์žˆ์œผ๋ฉด [์ด] ๋ถ€๋ถ„์„ ๊ฑด๋„ˆ๋œ€$N<code>$lpad((tn),2,0)</code>์€(๋Š”) ํŠธ๋ž™ ๋ฒˆํ˜ธ๋ฅผ 2์ž๋ฆฌ๋กœ ์ฑ„์›€", + "fr_pdel": "์‚ญ์ œ", + "fr_pnew": "๋‹ค๋ฅธ ์ด๋ฆ„์œผ๋กœ ์ €์žฅ", + "fr_pname": "์ƒˆ ํ”„๋ฆฌ์…‹์˜ ์ด๋ฆ„์„ ์ž…๋ ฅํ•˜์„ธ์š”", + "fr_aborted": "์ค‘๋‹จ๋จ", + "fr_lold": "์ด์ „ ์ด๋ฆ„", + "fr_lnew": "์ƒˆ ์ด๋ฆ„", + "fr_tags": "์„ ํƒํ•œ ํŒŒ์ผ์˜ ํƒœ๊ทธ (์ฝ๊ธฐ ์ „์šฉ, ์ฐธ์กฐ์šฉ):", + "fr_busy": "{0}๊ฐœ ํ•ญ๋ชฉ ์ด๋ฆ„ ๋ฐ”๊พธ๋Š” ์ค‘...\n\n{1}", + "fr_efail": "์ด๋ฆ„ ๋ฐ”๊พธ๊ธฐ ์‹คํŒจ:\n", + "fr_nchg": "win ๋ฐ/๋˜๋Š” / ์—†์Œ์œผ๋กœ ์ธํ•ด ์ƒˆ ์ด๋ฆ„ ์ค‘ {0}๊ฐœ๊ฐ€ ๋ณ€๊ฒฝ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.\n\n์ด ๋ณ€๊ฒฝ๋œ ์ƒˆ ์ด๋ฆ„์œผ๋กœ ๊ณ„์†ํ•˜์‹œ๊ฒ ์Šต๋‹ˆ๊นŒ?", + + "fd_ok": "์‚ญ์ œ ํ™•์ธ", + "fd_err": "์‚ญ์ œ ์‹คํŒจ:\n", + "fd_none": "์•„๋ฌด๊ฒƒ๋„ ์‚ญ์ œ๋˜์ง€ ์•Š์•˜์Šต๋‹ˆ๋‹ค. ์„œ๋ฒ„ ๊ตฌ์„ฑ (xbd)์— ์˜ํ•ด ์ฐจ๋‹จ๋˜์—ˆ์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.", + "fd_busy": "์‚ญ์ œ ์ค‘ {0}๊ฐœ ํ•ญ๋ชฉ...\n\n{1}", + "fd_warn1": "์ด {0}๊ฐœ ํ•ญ๋ชฉ์„ ์‚ญ์ œํ•˜์‹œ๊ฒ ์Šต๋‹ˆ๊นŒ?", + "fd_warn2": "๋งˆ์ง€๋ง‰ ๊ธฐํšŒ์ž…๋‹ˆ๋‹ค! ๋˜๋Œ๋ฆด ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค. ์‚ญ์ œํ•˜์‹œ๊ฒ ์Šต๋‹ˆ๊นŒ?", + + "fc_ok": "{0}๊ฐœ ํ•ญ๋ชฉ ์ž˜๋ผ๋‚ด๊ธฐ ์™„๋ฃŒ", + "fc_warn": "{0}๊ฐœ ํ•ญ๋ชฉ ์ž˜๋ผ๋‚ด๊ธฐ ์™„๋ฃŒ\n\nํ•˜์ง€๋งŒ: ์„ ํƒ ํ•ญ๋ชฉ์ด ๋„ˆ๋ฌด ์ปค์„œ ์ด ๋ธŒ๋ผ์šฐ์ € ํƒญ์—์„œ๋งŒ ๋ถ™์—ฌ๋„ฃ์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค", + + "fcc_ok": "{0}๊ฐœ ํ•ญ๋ชฉ์„ ํด๋ฆฝ๋ณด๋“œ์— ๋ณต์‚ฌํ–ˆ์Šต๋‹ˆ๋‹ค", + "fcc_warn": "{0}๊ฐœ ํ•ญ๋ชฉ์„ ํด๋ฆฝ๋ณด๋“œ์— ๋ณต์‚ฌํ–ˆ์Šต๋‹ˆ๋‹ค\n\nํ•˜์ง€๋งŒ: ์„ ํƒ ํ•ญ๋ชฉ์ด ๋„ˆ๋ฌด ์ปค์„œ ์ด ๋ธŒ๋ผ์šฐ์ € ํƒญ์—์„œ๋งŒ ๋ถ™์—ฌ๋„ฃ์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค", + + "fp_apply": "์ด ์ด๋ฆ„ ์‚ฌ์šฉ", + "fp_skip": "์ถฉ๋Œ ๊ฑด๋„ˆ๋›ฐ๊ธฐ", //m + "fp_ecut": "๋ถ™์—ฌ๋„ฃ๊ฑฐ๋‚˜ ์ด๋™ํ•˜๋ ค๋ฉด ๋จผ์ € ํŒŒ์ผ/ํด๋”๋ฅผ ์ž˜๋ผ๋‚ด๊ฑฐ๋‚˜ ๋ณต์‚ฌํ•˜์„ธ์š”\n\n์ฐธ๊ณ : ๋‹ค๋ฅธ ๋ธŒ๋ผ์šฐ์ € ํƒญ ๊ฐ„์— ์ž˜๋ผ๋‚ด๊ธฐ/๋ถ™์—ฌ๋„ฃ๊ธฐ๋ฅผ ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค", + "fp_ename": "์ด๋ฆ„์ด ์ด๋ฏธ ์‚ฌ์šฉ ์ค‘์ด๋ฏ€๋กœ {0}๊ฐœ ํ•ญ๋ชฉ์„ ์—ฌ๊ธฐ๋กœ ์ด๋™ํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค. ๊ณ„์†ํ•˜๋ ค๋ฉด ์•„๋ž˜์— ์ƒˆ ์ด๋ฆ„์„ ์ง€์ •ํ•˜๊ฑฐ๋‚˜, ์ด๋ฆ„์„ ๋น„์›Œ๋‘๋ฉด (\"์ถฉ๋Œ ๊ฑด๋„ˆ๋›ฐ๊ธฐ\") ๊ฑด๋„ˆ๋œ๋‹ˆ๋‹ค:", //m + "fcp_ename": "์ด๋ฆ„์ด ์ด๋ฏธ ์‚ฌ์šฉ ์ค‘์ด๋ฏ€๋กœ {0}๊ฐœ ํ•ญ๋ชฉ์„ ์—ฌ๊ธฐ๋กœ ๋ณต์‚ฌํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค. ๊ณ„์†ํ•˜๋ ค๋ฉด ์•„๋ž˜์— ์ƒˆ ์ด๋ฆ„์„ ์ง€์ •ํ•˜๊ฑฐ๋‚˜, ์ด๋ฆ„์„ ๋น„์›Œ๋‘๋ฉด (\"์ถฉ๋Œ ๊ฑด๋„ˆ๋›ฐ๊ธฐ\") ๊ฑด๋„ˆ๋œ๋‹ˆ๋‹ค:", //m + "fp_emore": "์•„์ง ํ•ด๊ฒฐํ•ด์•ผ ํ•  ํŒŒ์ผ ์ด๋ฆ„ ์ถฉ๋Œ์ด ๋‚จ์•„ ์žˆ์Šต๋‹ˆ๋‹ค", + "fp_ok": "์ด๋™ ์™„๋ฃŒ", + "fcp_ok": "๋ณต์‚ฌ ์™„๋ฃŒ", + "fp_busy": "{0}๊ฐœ ํ•ญ๋ชฉ ์ด๋™ ์ค‘...\n\n{1}", + "fcp_busy": "{0}๊ฐœ ํ•ญ๋ชฉ ๋ณต์‚ฌ ์ค‘...\n\n{1}", + "fp_abrt": "์ทจ์†Œ ์ค‘...", + "fp_err": "์ด๋™ ์‹คํŒจ:\n", + "fcp_err": "๋ณต์‚ฌ ์‹คํŒจ:\n", + "fp_confirm": "์ด {0}๊ฐœ ํ•ญ๋ชฉ์„ ์—ฌ๊ธฐ๋กœ ์ด๋™ํ•˜์‹œ๊ฒ ์Šต๋‹ˆ๊นŒ?", + "fcp_confirm": "์ด {0}๊ฐœ ํ•ญ๋ชฉ์„ ์—ฌ๊ธฐ๋กœ ๋ณต์‚ฌํ•˜์‹œ๊ฒ ์Šต๋‹ˆ๊นŒ?", + "fp_etab": '๋‹ค๋ฅธ ๋ธŒ๋ผ์šฐ์ € ํƒญ์—์„œ ํด๋ฆฝ๋ณด๋“œ๋ฅผ ์ฝ์ง€ ๋ชปํ–ˆ์Šต๋‹ˆ๋‹ค', + "fp_name": "๊ธฐ๊ธฐ์—์„œ ํŒŒ์ผ์„ ์—…๋กœ๋“œํ•ฉ๋‹ˆ๋‹ค. ์ด๋ฆ„์„ ์ง€์ •ํ•˜์„ธ์š”:", + "fp_both_m": '
    ๋ถ™์—ฌ๋„ฃ์„ ํ•ญ๋ชฉ ์„ ํƒ
    Enter = ยซ{1}ยป์—์„œ ํŒŒ์ผ {0}๊ฐœ ์ด๋™\nESC = ๊ธฐ๊ธฐ์—์„œ ํŒŒ์ผ {2}๊ฐœ ์—…๋กœ๋“œ', + "fcp_both_m": '
    ๋ถ™์—ฌ๋„ฃ์„ ํ•ญ๋ชฉ ์„ ํƒ
    Enter = ยซ{1}ยป์—์„œ ํŒŒ์ผ {0}๊ฐœ ๋ณต์‚ฌ\nESC = ๊ธฐ๊ธฐ์—์„œ ํŒŒ์ผ {2}๊ฐœ ์—…๋กœ๋“œ', + "fp_both_b": '์ด๋™์—…๋กœ๋“œ', + "fcp_both_b": '๋ณต์‚ฌ์—…๋กœ๋“œ', + + "mk_noname": "์™ผ์ชฝ ํ…์ŠคํŠธ ํ•„๋“œ์— ์ด๋ฆ„์„ ๋จผ์ € ์ž…๋ ฅํ•ด์ฃผ์„ธ์š” :p", + "nmd_i1": "์›ํ•˜๋Š” ํŒŒ์ผ ํ™•์žฅ์ž๋ฅผ ์ถ”๊ฐ€ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์˜ˆ: .md", //m + "nmd_i2": "์‚ญ์ œ ๊ถŒํ•œ์ด ์—†์–ด์„œ .md ํŒŒ์ผ๋งŒ ๋งŒ๋“ค ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค", //m + + "tv_load": "ํ…์ŠคํŠธ ๋ฌธ์„œ ๋ถˆ๋Ÿฌ์˜ค๋Š” ์ค‘:\n\n{0}\n\n{1}% ({3} MiB ์ค‘ {2} MiB ๋กœ๋“œ๋จ)", + "tv_xe1": "ํ…์ŠคํŠธ ํŒŒ์ผ์„ ๋ถˆ๋Ÿฌ์˜ฌ ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค:\n\n์˜ค๋ฅ˜ ", + "tv_xe2": "404, ํŒŒ์ผ์„ ์ฐพ์„ ์ˆ˜ ์—†์Œ", + "tv_lst": "ํ…์ŠคํŠธ ํŒŒ์ผ ๋ชฉ๋ก", + "tvt_close": "ํด๋” ๋ณด๊ธฐ๋กœ ๋Œ์•„๊ฐ€๊ธฐ$N๋‹จ์ถ•ํ‚ค: M (๋˜๋Š” Esc)\">โŒ ๋‹ซ๊ธฐ", + "tvt_dl": "์ด ํŒŒ์ผ ๋‹ค์šด๋กœ๋“œ$N๋‹จ์ถ•ํ‚ค: Y\">๐Ÿ’พ ๋‹ค์šด๋กœ๋“œ", + "tvt_prev": "์ด์ „ ๋ฌธ์„œ ๋ณด๊ธฐ$N๋‹จ์ถ•ํ‚ค: i\">โฌ† ์ด์ „", + "tvt_next": "๋‹ค์Œ ๋ฌธ์„œ ๋ณด๊ธฐ$N๋‹จ์ถ•ํ‚ค: K\">โฌ‡ ๋‹ค์Œ", + "tvt_sel": "ํŒŒ์ผ ์„ ํƒ   (์ž˜๋ผ๋‚ด๊ธฐ/๋ณต์‚ฌ/์‚ญ์ œ/...์šฉ)$N๋‹จ์ถ•ํ‚ค: S\">์„ ํƒ", + "tvt_j": "json ๋ฏธํ™”$N๋‹จ์ถ•ํ‚ค: shift-J\">j", //m + "tvt_edit": "ํ…์ŠคํŠธ ํŽธ์ง‘๊ธฐ์—์„œ ํŒŒ์ผ ์—ด๊ธฐ$N๋‹จ์ถ•ํ‚ค: E\">โœ๏ธ ํŽธ์ง‘", + "tvt_tail": "ํŒŒ์ผ ๋ณ€๊ฒฝ ์‚ฌํ•ญ ๋ชจ๋‹ˆํ„ฐ๋ง; ์‹ค์‹œ๊ฐ„์œผ๋กœ ์ƒˆ ์ค„ ํ‘œ์‹œ\">๐Ÿ“ก ํŒ”๋กœ์šฐ", + "tvt_wrap": "์ž๋™ ์ค„ ๋ฐ”๊ฟˆ\">โ†ต", + "tvt_atail": "ํŽ˜์ด์ง€ ํ•˜๋‹จ์œผ๋กœ ์Šคํฌ๋กค ๊ณ ์ •\">โš“", + "tvt_ctail": "ํ„ฐ๋ฏธ๋„ ์ƒ‰์ƒ ๋””์ฝ”๋”ฉ (ANSI ์ด์Šค์ผ€์ดํ”„ ์ฝ”๋“œ)\">๐ŸŒˆ", + "tvt_ntail": "์Šคํฌ๋กค๋ฐฑ ์ œํ•œ (๋ถˆ๋Ÿฌ์˜จ ์ƒํƒœ๋กœ ์œ ์ง€ํ•  ํ…์ŠคํŠธ ๋ฐ”์ดํŠธ ์ˆ˜)", + + "m3u_add1": "m3u ์žฌ์ƒ ๋ชฉ๋ก์— ๊ณก์ด ์ถ”๊ฐ€๋˜์—ˆ์Šต๋‹ˆ๋‹ค", + "m3u_addn": "{0}๊ฐœ์˜ ๊ณก์ด m3u ์žฌ์ƒ ๋ชฉ๋ก์— ์ถ”๊ฐ€๋˜์—ˆ์Šต๋‹ˆ๋‹ค", + "m3u_clip": "m3u ์žฌ์ƒ ๋ชฉ๋ก์ด ํด๋ฆฝ๋ณด๋“œ์— ๋ณต์‚ฌ๋˜์—ˆ์Šต๋‹ˆ๋‹ค\n\n something.m3u์™€ ๊ฐ™์€ ์ด๋ฆ„์˜ ์ƒˆ ํ…์ŠคํŠธ ํŒŒ์ผ์„ ๋งŒ๋“ค๊ณ  ๊ทธ ๋ฌธ์„œ์— ์žฌ์ƒ ๋ชฉ๋ก์„ ๋ถ™์—ฌ๋„ฃ์œผ๋ฉด ์žฌ์ƒํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.", + + "gt_vau": "๋น„๋””์˜ค๋ฅผ ํ‘œ์‹œํ•˜์ง€ ์•Š๊ณ  ์˜ค๋””์˜ค๋งŒ ์žฌ์ƒ\">๐ŸŽง", + "gt_msel": "ํŒŒ์ผ ์„ ํƒ ํ™œ์„ฑํ™”; ctrl-ํด๋ฆญํ•˜์—ฌ ํŒŒ์ผ ์žฌ์ •์˜$N$N<em>ํ™œ์„ฑ ์‹œ: ํŒŒ์ผ/ํด๋”๋ฅผ ๋‘ ๋ฒˆ ํด๋ฆญํ•˜์—ฌ ์—ด๊ธฐ</em>$N$N๋‹จ์ถ•ํ‚ค: S\">๋‹ค์ค‘์„ ํƒ", + "gt_crop": "์ธ๋„ค์ผ ์ค‘์•™ ์ž๋ฅด๊ธฐ\">์ž๋ฅด๊ธฐ", + "gt_3x": "๊ณ ํ•ด์ƒ๋„ ์ธ๋„ค์ผ\">3x", + "gt_zoom": "ํ™•๋Œ€/์ถ•์†Œ", + "gt_chop": "์ž๋ฅด๊ธฐ", + "gt_sort": "์ •๋ ฌ ๊ธฐ์ค€", + "gt_name": "์ด๋ฆ„", + "gt_sz": "ํฌ๊ธฐ", + "gt_ts": "๋‚ ์งœ", + "gt_ext": "์œ ํ˜•", + "gt_c1": "ํŒŒ์ผ๋ช… ๋” ๋งŽ์ด ์ƒ๋žตํ•˜๊ธฐ (๋” ์ ๊ฒŒ ํ‘œ์‹œ)", + "gt_c2": "ํŒŒ์ผ๋ช… ๋œ ์ƒ๋žตํ•˜๊ธฐ (๋” ๋งŽ์ด ํ‘œ์‹œ)", + + "sm_w8": "๊ฒ€์ƒ‰ ์ค‘...", + "sm_prev": "์•„๋ž˜ ๊ฒ€์ƒ‰ ๊ฒฐ๊ณผ๋Š” ์ด์ „ ๊ฒ€์ƒ‰์–ด์— ๋Œ€ํ•œ ๊ฒฐ๊ณผ์ž…๋‹ˆ๋‹ค:\nย  ", + "sl_close": "๊ฒ€์ƒ‰ ๊ฒฐ๊ณผ ๋‹ซ๊ธฐ", + "sl_hits": "{0}๊ฐœ ๊ฒฐ๊ณผ ํ‘œ์‹œ ์ค‘", + "sl_moar": "๋” ๋ถˆ๋Ÿฌ์˜ค๊ธฐ", + + "s_sz": "ํฌ๊ธฐ", + "s_dt": "๋‚ ์งœ", + "s_rd": "๊ฒฝ๋กœ", + "s_fn": "์ด๋ฆ„", + "s_ta": "ํƒœ๊ทธ", + "s_ua": "์—…๋กœ๋“œ ์‹œ์ ", + "s_ad": "๊ณ ๊ธ‰", + "s_s1": "์ตœ์†Œ MiB", + "s_s2": "์ตœ๋Œ€ MiB", + "s_d1": "์ตœ์†Œ ISO-8601", + "s_d2": "์ตœ๋Œ€ ISO-8601", + "s_u1": "์ดํ›„", + "s_u2": "์ด์ „", + "s_r1": "๊ฒฝ๋กœ์— ํฌํ•จ   (๊ณต๋ฐฑ์œผ๋กœ ๊ตฌ๋ถ„)", + "s_f1": "์ด๋ฆ„์— ํฌํ•จ   (-๋กœ ์ œ์™ธ)", + "s_t1": "ํƒœ๊ทธ์— ํฌํ•จ   (^=์‹œ์ž‘, ๋=$)", + "s_a1": "ํŠน์ • ๋ฉ”ํƒ€๋ฐ์ดํ„ฐ ์†์„ฑ", + + "md_eshow": "๋ Œ๋”๋งํ•  ์ˆ˜ ์—†์Œ ", + "md_off": "[๐Ÿ“œreadme]๊ฐ€ [โš™๏ธ]์—์„œ ๋น„ํ™œ์„ฑํ™”๋จ -- ๋ฌธ์„œ ์ˆจ๊น€", + + "badreply": "์„œ๋ฒ„๋กœ๋ถ€ํ„ฐ์˜ ์‘๋‹ต์„ ๊ตฌ๋ฌธ ๋ถ„์„ํ•˜์ง€ ๋ชปํ–ˆ์Šต๋‹ˆ๋‹ค", + + "xhr403": "403: ์ ‘๊ทผ ๊ฑฐ๋ถ€๋จ\n\nF5๋ฅผ ๋ˆŒ๋Ÿฌ๋ณด์„ธ์š”, ๋กœ๊ทธ์•„์›ƒ๋˜์—ˆ์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค", + "xhr0": "์•Œ ์ˆ˜ ์—†์Œ (์„œ๋ฒ„์™€์˜ ์—ฐ๊ฒฐ์ด ๋Š๊ฒผ๊ฑฐ๋‚˜ ์„œ๋ฒ„๊ฐ€ ์˜คํ”„๋ผ์ธ์ผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค)", + "cf_ok": "์ฃ„์†กํ•ฉ๋‹ˆ๋‹ค -- DD" + wah + "oS ๋ณดํ˜ธ ๊ธฐ๋Šฅ์ด ์ž‘๋™ํ–ˆ์Šต๋‹ˆ๋‹ค\n\n์•ฝ 30์ดˆ ํ›„์— ๋‹ค์‹œ ์ •์ƒ์ ์œผ๋กœ ์ž‘๋™ํ•  ๊ฒƒ์ž…๋‹ˆ๋‹ค\n\n์•„๋ฌด ์ผ๋„ ์ผ์–ด๋‚˜์ง€ ์•Š์œผ๋ฉด F5๋ฅผ ๋ˆŒ๋Ÿฌ ํŽ˜์ด์ง€๋ฅผ ์ƒˆ๋กœ๊ณ ์นจํ•˜์„ธ์š”", + "tl_xe1": "ํ•˜์œ„ ํด๋”๋ฅผ ๋‚˜์—ดํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค:\n\n์˜ค๋ฅ˜ ", + "tl_xe2": "404: ํด๋”๋ฅผ ์ฐพ์„ ์ˆ˜ ์—†์Œ", + "fl_xe1": "ํด๋”์˜ ํŒŒ์ผ์„ ๋‚˜์—ดํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค:\n\n์˜ค๋ฅ˜ ", + "fl_xe2": "404: ํด๋”๋ฅผ ์ฐพ์„ ์ˆ˜ ์—†์Œ", + "fd_xe1": "ํ•˜์œ„ ํด๋”๋ฅผ ๋งŒ๋“ค ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค:\n\n์˜ค๋ฅ˜ ", + "fd_xe2": "404: ์ƒ์œ„ ํด๋”๋ฅผ ์ฐพ์„ ์ˆ˜ ์—†์Œ", + "fsm_xe1": "๋ฉ”์‹œ์ง€๋ฅผ ๋ณด๋‚ผ ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค:\n\n์˜ค๋ฅ˜ ", + "fsm_xe2": "404: ์ƒ์œ„ ํด๋”๋ฅผ ์ฐพ์„ ์ˆ˜ ์—†์Œ", + "fu_xe1": "์„œ๋ฒ„์—์„œ ์ฃผ์›Œ๋‹ด๊ธฐ ๋ชฉ๋ก์„ ๋ถˆ๋Ÿฌ์˜ค์ง€ ๋ชปํ–ˆ์Šต๋‹ˆ๋‹ค:\n\n์˜ค๋ฅ˜ ", + "fu_xe2": "404: ํŒŒ์ผ์„ ์ฐพ์„ ์ˆ˜ ์—†์Œ??", + + "fz_tar": "์••์ถ•๋˜์ง€ ์•Š์€ gnu-tar ํŒŒ์ผ (linux / mac)", + "fz_pax": "์••์ถ•๋˜์ง€ ์•Š์€ pax ํ˜•์‹ tar (๋А๋ฆผ)", + "fz_targz": "gzip ๋ ˆ๋ฒจ 3 ์••์ถ•์ด ์ ์šฉ๋œ gnu-tar$N$N์ด๊ฒƒ์€ ๋ณดํ†ต ๋งค์šฐ ๋А๋ฆฌ๋ฏ€๋กœ$N์••์ถ•๋˜์ง€ ์•Š์€ tar๋ฅผ ๋Œ€์‹  ์‚ฌ์šฉํ•˜์„ธ์š”", + "fz_tarxz": "xz ๋ ˆ๋ฒจ 1 ์••์ถ•์ด ์ ์šฉ๋œ gnu-tar$N$N์ด๊ฒƒ์€ ๋ณดํ†ต ๋งค์šฐ ๋А๋ฆฌ๋ฏ€๋กœ$N์••์ถ•๋˜์ง€ ์•Š์€ tar๋ฅผ ๋Œ€์‹  ์‚ฌ์šฉํ•˜์„ธ์š”", + "fz_zip8": "utf8 ํŒŒ์ผ ์ด๋ฆ„์ด ํฌํ•จ๋œ zip (windows 7 ๋ฐ ์ด์ „ ๋ฒ„์ „์—์„œ ๋ฌธ์ œ๊ฐ€ ์žˆ์„ ์ˆ˜ ์žˆ์Œ)", + "fz_zipd": "์ •๋ง ์˜ค๋ž˜๋œ ์†Œํ”„ํŠธ์›จ์–ด๋ฅผ ์œ„ํ•œ ์ „ํ†ต์ ์ธ cp437 ํŒŒ์ผ ์ด๋ฆ„์ด ํฌํ•จ๋œ zip", + "fz_zipc": "MS-DOS PKZIP v2.04g (1993๋…„ 10์›”)์šฉ์œผ๋กœ$Ncrc32๊ฐ€ ๋ฏธ๋ฆฌ ๊ณ„์‚ฐ๋œ cp437$N(๋‹ค์šด๋กœ๋“œ ์‹œ์ž‘ ์ „ ์ฒ˜๋ฆฌ ์‹œ๊ฐ„์ด ๋” ๊ฑธ๋ฆผ)", + + "un_m1": "์•„๋ž˜์—์„œ ์ตœ๊ทผ ์—…๋กœ๋“œ๋ฅผ ์‚ญ์ œํ•˜๊ฑฐ๋‚˜ ๋ฏธ์™„๋ฃŒ๋œ ์—…๋กœ๋“œ๋ฅผ ์ค‘๋‹จํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค", + "un_upd": "์ƒˆ๋กœ๊ณ ์นจ", + "un_m4": "๋˜๋Š” ์•„๋ž˜์— ๋ณด์ด๋Š” ํŒŒ์ผ์„ ๊ณต์œ ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค:", + "un_ulist": "๋ณด๊ธฐ", + "un_ucopy": "๋ณต์‚ฌ", + "un_flt": "์„ ํƒ์  ํ•„ํ„ฐ:  URL์— ํฌํ•จ๋˜์–ด์•ผ ํ•จ", + "un_fclr": "ํ•„ํ„ฐ ์ง€์šฐ๊ธฐ", + "un_derr": '์ฃผ์›Œ๋‹ด๊ธฐ-์‚ญ์ œ ์‹คํŒจ:\n', + "un_f5": '๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ–ˆ์Šต๋‹ˆ๋‹ค, ์ƒˆ๋กœ๊ณ ์นจํ•˜๊ฑฐ๋‚˜ F5๋ฅผ ๋ˆŒ๋Ÿฌ๋ณด์„ธ์š”', + "un_uf5": "์ฃ„์†กํ•˜์ง€๋งŒ, ์ด ์—…๋กœ๋“œ๋ฅผ ์ค‘๋‹จํ•˜๊ธฐ ์ „์— ํŽ˜์ด์ง€๋ฅผ ์ƒˆ๋กœ๊ณ ์นจํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค (์˜ˆ: F5 ๋˜๋Š” CTRL-R ๋ˆ„๋ฅด๊ธฐ).", + "un_nou": '๊ฒฝ๊ณ : ์„œ๋ฒ„๊ฐ€ ๋„ˆ๋ฌด ๋ฐ”๋น ์„œ ๋ฏธ์™„๋ฃŒ ์—…๋กœ๋“œ๋ฅผ ํ‘œ์‹œํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค; ์ž ์‹œ ํ›„ "์ƒˆ๋กœ๊ณ ์นจ" ๋งํฌ๋ฅผ ํด๋ฆญํ•˜์„ธ์š”', + "un_noc": '๊ฒฝ๊ณ : ์™„์ „ํžˆ ์—…๋กœ๋“œ๋œ ํŒŒ์ผ์˜ ์ฃผ์›Œ๋‹ด๊ธฐ๊ฐ€ ์„œ๋ฒ„ ๊ตฌ์„ฑ์—์„œ ํ™œ์„ฑํ™”/ํ—ˆ์šฉ๋˜์ง€ ์•Š์•˜์Šต๋‹ˆ๋‹ค', + "un_max": "์ฒ˜์Œ 2000๊ฐœ ํŒŒ์ผ์„ ํ‘œ์‹œํ•ฉ๋‹ˆ๋‹ค (ํ•„ํ„ฐ๋ฅผ ์‚ฌ์šฉํ•˜์„ธ์š”)", + "un_avail": "{0}๊ฐœ์˜ ์ตœ๊ทผ ์—…๋กœ๋“œ๋ฅผ ์‚ญ์ œํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค
    {1}๊ฐœ์˜ ๋ฏธ์™„๋ฃŒ ์—…๋กœ๋“œ๋ฅผ ์ค‘๋‹จํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค", + "un_m2": "์—…๋กœ๋“œ ์‹œ๊ฐ„์ˆœ์œผ๋กœ ์ •๋ ฌ๋จ. ๊ฐ€์žฅ ์ตœ๊ทผ ํ•ญ๋ชฉ์ด ๋จผ์ € ํ‘œ์‹œ:", + "un_no1": "์•„์‰ฝ๋‹ค! ์ถฉ๋ถ„ํžˆ ์ตœ๊ทผ์ธ ์—…๋กœ๋“œ๊ฐ€ ์—†์Šต๋‹ˆ๋‹ค.", + "un_no2": "์•„์‰ฝ๋‹ค! ํ•ด๋‹น ํ•„ํ„ฐ์™€ ์ผ์น˜ํ•˜๋Š” ์ตœ๊ทผ ์—…๋กœ๋“œ๊ฐ€ ์—†์Šต๋‹ˆ๋‹ค.", + "un_next": "์•„๋ž˜์˜ ๋‹ค์Œ {0}๊ฐœ ํŒŒ์ผ ์‚ญ์ œ", + "un_abrt": "์ค‘๋‹จ", + "un_del": "์‚ญ์ œ", + "un_m3": "์ตœ๊ทผ ์—…๋กœ๋“œ ๋กœ๋“œ ์ค‘...", + "un_busy": "{0}๊ฐœ ํŒŒ์ผ ์‚ญ์ œ ์ค‘...", + "un_clip": "{0}๊ฐœ์˜ ๋งํฌ๊ฐ€ ํด๋ฆฝ๋ณด๋“œ์— ๋ณต์‚ฌ๋˜์—ˆ์Šต๋‹ˆ๋‹ค", + + "u_https1": "๋” ๋‚˜์€ ์„ฑ๋Šฅ์„ ์œ„ํ•ด", + "u_https2": "https๋กœ ์ „ํ™˜", + "u_https3": "ํ•˜๋Š” ๊ฒƒ์ด ์ข‹์Šต๋‹ˆ๋‹ค", + "u_ancient": '๋ธŒ๋ผ์šฐ์ €๊ฐ€ ์ •๋ง ์˜ค๋ž˜๋˜์—ˆ๋„ค์š” -- ์•„๋งˆ๋„ bup์„ ๋Œ€์‹  ์‚ฌ์šฉํ•ด์•ผ ํ•  ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค', + "u_nowork": "Firefox 53+, Chrome 57+ ๋˜๋Š” iOS 11+๊ฐ€ ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค", + "tail_2old": "Firefox 105+, Chrome 71+ ๋˜๋Š” iOS 14.5+๊ฐ€ ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค", + "u_nodrop": '๋ธŒ๋ผ์šฐ์ €๊ฐ€ ๋„ˆ๋ฌด ์˜ค๋ž˜๋˜์–ด ๋“œ๋ž˜๊ทธ ์•ค ๋“œ๋กญ ์—…๋กœ๋“œ๋ฅผ ์ง€์›ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค', + "u_notdir": 'ํด๋”๊ฐ€ ์•„๋‹™๋‹ˆ๋‹ค!\n\n๋ธŒ๋ผ์šฐ์ €๊ฐ€ ๋„ˆ๋ฌด ์˜ค๋ž˜๋˜์—ˆ์Šต๋‹ˆ๋‹ค,\n๋Œ€์‹  ๋“œ๋ž˜๊ทธ๋“œ๋กญ์„ ์‹œ๋„ํ•ด๋ณด์„ธ์š”', + "u_uri": '๋‹ค๋ฅธ ๋ธŒ๋ผ์šฐ์ € ์ฐฝ์—์„œ ์ด๋ฏธ์ง€๋ฅผ ๋“œ๋ž˜๊ทธ๋“œ๋กญํ•˜๋ ค๋ฉด,\nํฐ ์—…๋กœ๋“œ ๋ฒ„ํŠผ ์œ„๋กœ ๋–จ์–ด๋œจ๋ ค์ฃผ์„ธ์š”', + "u_enpot": '๋‹จ์ˆœ UI๋กœ ์ „ํ™˜ (์—…๋กœ๋“œ ์†๋„๊ฐ€ ํ–ฅ์ƒ๋  ์ˆ˜ ์žˆ์Œ)', + "u_depot": 'ํ™”๋ คํ•œ UI๋กœ ์ „ํ™˜ (์—…๋กœ๋“œ ์†๋„๊ฐ€ ๊ฐ์†Œํ•  ์ˆ˜ ์žˆ์Œ)', + "u_gotpot": '์—…๋กœ๋“œ ์†๋„ ํ–ฅ์ƒ์„ ์œ„ํ•ด ๋‹จ์ˆœ UI๋กœ ์ „ํ™˜ํ•ฉ๋‹ˆ๋‹ค,\n\n์–ธ์ œ๋“ ์ง€ ๋‹ค์‹œ ์ „ํ™˜ํ•˜์…”๋„ ์ข‹์Šต๋‹ˆ๋‹ค!', + "u_pott": "

    ํŒŒ์ผ:   {0} ์™„๋ฃŒ,   {1} ์‹คํŒจ,   {2} ์ฒ˜๋ฆฌ ์ค‘,   {3} ๋Œ€๊ธฐ ์ค‘

    ", + "u_ever": "์ด๊ฒƒ์€ ๊ธฐ๋ณธ ์—…๋กœ๋”์ž…๋‹ˆ๋‹ค. up2k๋Š” ์ตœ์†Œํ•œ ๋‹ค์Œ ๋ฒ„์ „์ด ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค:
    Chrome 21 // Firefox 13 // Edge 12 // Opera 12 // Safari 5.1", + "u_su2k": '์ด๊ฒƒ์€ ๊ธฐ๋ณธ ์—…๋กœ๋”์ž…๋‹ˆ๋‹ค. up2k๊ฐ€ ๋” ์ข‹์Šต๋‹ˆ๋‹ค', + "u_uput": '์†๋„ ์ตœ์ ํ™” (์ฒดํฌ์„ฌ ๊ฑด๋„ˆ๋›ฐ๊ธฐ)', + "u_ewrite": '์ด ํด๋”์— ์“ฐ๊ธฐ ๊ถŒํ•œ์ด ์—†์Šต๋‹ˆ๋‹ค', + "u_eread": '์ด ํด๋”์— ์ฝ๊ธฐ ๊ถŒํ•œ์ด ์—†์Šต๋‹ˆ๋‹ค', + "u_enoi": 'ํŒŒ์ผ ๊ฒ€์ƒ‰์ด ์„œ๋ฒ„ ๊ตฌ์„ฑ์—์„œ ํ™œ์„ฑํ™”๋˜์ง€ ์•Š์•˜์Šต๋‹ˆ๋‹ค', + "u_enoow": '์—ฌ๊ธฐ์„œ๋Š” ๋ฎ์–ด์“ฐ๊ธฐ๊ฐ€ ์ž‘๋™ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ์‚ญ์ œ ๊ถŒํ•œ์ด ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค', + "u_badf": '์ด {1}๊ฐœ ์ค‘ ๋‹ค์Œ {0}๊ฐœ์˜ ํŒŒ์ผ์€ ํŒŒ์ผ ์‹œ์Šคํ…œ ๊ถŒํ•œ ๋ฌธ์ œ ๋“ฑ์œผ๋กœ ๊ฑด๋„ˆ๋›ฐ์—ˆ์Šต๋‹ˆ๋‹ค:\n\n', + "u_blankf": '์ด {1}๊ฐœ ์ค‘ ๋‹ค์Œ {0}๊ฐœ์˜ ํŒŒ์ผ์€ ๋น„์–ด์žˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋ž˜๋„ ์—…๋กœ๋“œํ•˜์‹œ๊ฒ ์Šต๋‹ˆ๊นŒ?\n\n', + "u_applef": '์ด {1}๊ฐœ ์ค‘ ๋‹ค์Œ {0}๊ฐœ์˜ ํŒŒ์ผ์€ ์•„๋งˆ๋„ ๋ถˆํ•„์š”ํ•œ ํŒŒ์ผ์ผ ๊ฒƒ์ž…๋‹ˆ๋‹ค.\n๋‹ค์Œ ํŒŒ์ผ์„ ๊ฑด๋„ˆ๋›ฐ๋ ค๋ฉด ํ™•์ธ/Enter๋ฅผ ๋ˆ„๋ฅด์„ธ์š”,\nํ•ด๋‹น ํŒŒ์ผ๋„ ์—…๋กœ๋“œํ•˜๋ ค๋ฉด ์ทจ์†Œ/ESC๋ฅผ ๋ˆ„๋ฅด์„ธ์š”:\n\n', + "u_just1": '\nํŒŒ์ผ์„ ํ•˜๋‚˜๋งŒ ์„ ํƒํ•˜๋ฉด ๋” ์ž˜ ์ž‘๋™ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค', + "u_ff_many": '๋ฆฌ๋ˆ…์Šค/macOS/์•ˆ๋“œ๋กœ์ด๋“œ๋ฅผ ์‚ฌ์šฉ ์ค‘์ด๋ผ๋ฉด, ์ด ์ •๋„์˜ ํŒŒ์ผ ์ˆ˜๋Š” Firefox๋ฅผ ์ถฉ๋Œ์‹œํ‚ฌ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค!\n๋งŒ์•ฝ ๊ทธ๋Ÿฐ ์ผ์ด ๋ฐœ์ƒํ•˜๋ฉด ๋‹ค์‹œ ์‹œ๋„ํ•˜๊ฑฐ๋‚˜ Chrome์„ ์‚ฌ์šฉํ•ด์ฃผ์„ธ์š”.', + "u_up_life": '์ด ์—…๋กœ๋“œ๋Š” ์™„๋ฃŒ ํ›„ {0} ๋’ค์—\n์„œ๋ฒ„์—์„œ ์‚ญ์ œ๋ฉ๋‹ˆ๋‹ค', + "u_asku": '์ด {0}๊ฐœ์˜ ํŒŒ์ผ์„ {1}(์œผ)๋กœ ์—…๋กœ๋“œํ•˜์‹œ๊ฒ ์Šต๋‹ˆ๊นŒ?', + "u_unpt": '์™ผ์ชฝ ์ƒ๋‹จ์˜ ๐Ÿงฏ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ด ์—…๋กœ๋“œ๋ฅผ ์ทจ์†Œ/์‚ญ์ œํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค', + "u_bigtab": '{0}๊ฐœ์˜ ํŒŒ์ผ์„ ํ‘œ์‹œํ•˜๋ ค๊ณ  ํ•ฉ๋‹ˆ๋‹ค\n\n๋ธŒ๋ผ์šฐ์ €๊ฐ€ ์ถฉ๋Œํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค, ๊ณ„์† ์ง„ํ–‰ํ•ฉ๋‹ˆ๊นŒ?', + "u_scan": 'ํŒŒ์ผ ์Šค์บ” ์ค‘...', + "u_dirstuck": '๋””๋ ‰ํ„ฐ๋ฆฌ ๋ฐ˜๋ณต์ž๊ฐ€ ๋‹ค์Œ {0}๊ฐœ ํ•ญ๋ชฉ์— ์ ‘๊ทผํ•˜๋Š” ๋ฐ ์‹คํŒจํ•˜์—ฌ ๊ฑด๋„ˆ๋œ๋‹ˆ๋‹ค:', + "u_etadone": '์™„๋ฃŒ ({0}, {1}๊ฐœ ํŒŒ์ผ)', + "u_etaprep": '(์—…๋กœ๋“œ ์ค€๋น„ ์ค‘)', + "u_hashdone": 'ํ•ด์‹ฑ ์™„๋ฃŒ', + "u_hashing": 'ํ•ด์‹œ', + "u_hs": 'ํ•ธ๋“œ์…ฐ์ดํ‚น ์ค‘...', + "u_started": 'ํŒŒ์ผ์ด ํ˜„์žฌ ์—…๋กœ๋“œ ์ค‘์ž…๋‹ˆ๋‹ค. [๐Ÿš€] ์ฐธ์กฐ', + "u_dupdefer": '์ค‘๋ณต๋จ. ๋‹ค๋ฅธ ๋ชจ๋“  ํŒŒ์ผ ์ฒ˜๋ฆฌ ํ›„ ์ฒ˜๋ฆฌ๋ฉ๋‹ˆ๋‹ค', + "u_actx": "๋‹ค๋ฅธ ์ฐฝ/ํƒญ์œผ๋กœ ์ „ํ™˜ ์‹œ ์„ฑ๋Šฅ ์ €ํ•˜๋ฅผ
    ๋ฐฉ์ง€ํ•˜๋ ค๋ฉด ์ด ํ…์ŠคํŠธ๋ฅผ ํด๋ฆญํ•˜์„ธ์š”", + "u_fixed": "OK!  ํ•ด๊ฒฐ๋์Šต๋‹ˆ๋‹ค ๐Ÿ‘", + "u_cuerr": "{1} ์ค‘ ์ฒญํฌ {0} ์—…๋กœ๋“œ ์‹คํŒจ;\n์•„๋งˆ ๋ฌธ์ œ ์—†์„ ๊ฒ๋‹ˆ๋‹ค. ๊ณ„์† ์ง„ํ–‰ํ•ฉ๋‹ˆ๋‹ค\n\nํŒŒ์ผ: {2}", + "u_cuerr2": "์„œ๋ฒ„๊ฐ€ ์—…๋กœ๋“œ๋ฅผ ๊ฑฐ๋ถ€ํ–ˆ์Šต๋‹ˆ๋‹ค (์ฒญํฌ {0}/{1});\n๋‚˜์ค‘์— ๋‹ค์‹œ ์‹œ๋„ํ•ฉ๋‹ˆ๋‹ค\n\nํŒŒ์ผ: {2}\n\n์˜ค๋ฅ˜ ", + "u_ehstmp": "๋‹ค์‹œ ์‹œ๋„ํ•ฉ๋‹ˆ๋‹ค; ์˜ค๋ฅธ์ชฝ ํ•˜๋‹จ ์ฐธ์กฐ", + "u_ehsfin": "์„œ๋ฒ„๊ฐ€ ์—…๋กœ๋“œ ์™„๋ฃŒ ์š”์ฒญ์„ ๊ฑฐ๋ถ€ํ–ˆ์Šต๋‹ˆ๋‹ค. ์žฌ์‹œ๋„ ์ค‘...", + "u_ehssrch": "์„œ๋ฒ„๊ฐ€ ๊ฒ€์ƒ‰ ์ˆ˜ํ–‰ ์š”์ฒญ์„ ๊ฑฐ๋ถ€ํ–ˆ์Šต๋‹ˆ๋‹ค. ์žฌ์‹œ๋„ ์ค‘...", + "u_ehsinit": "์„œ๋ฒ„๊ฐ€ ์—…๋กœ๋“œ ์‹œ์ž‘ ์š”์ฒญ์„ ๊ฑฐ๋ถ€ํ–ˆ์Šต๋‹ˆ๋‹ค. ์žฌ์‹œ๋„ ์ค‘...", + "u_eneths": "์—…๋กœ๋“œ ํ•ธ๋“œ์…ฐ์ดํฌ ์ค‘ ๋„คํŠธ์›Œํฌ ์˜ค๋ฅ˜ ๋ฐœ์ƒ. ์žฌ์‹œ๋„ ์ค‘...", + "u_enethd": "๋Œ€์ƒ ์กด์žฌ ์—ฌ๋ถ€ ํ…Œ์ŠคํŠธ ์ค‘ ๋„คํŠธ์›Œํฌ ์˜ค๋ฅ˜ ๋ฐœ์ƒ; ์žฌ์‹œ๋„ ์ค‘...", + "u_cbusy": '๋„คํŠธ์›Œํฌ ๋ฌธ์ œ ํ›„ ์„œ๋ฒ„๊ฐ€ ๋‹ค์‹œ ์šฐ๋ฆฌ๋ฅผ ์‹ ๋ขฐํ•  ๋•Œ๊นŒ์ง€ ๊ธฐ๋‹ค๋ฆฌ๋Š” ์ค‘...', + "u_ehsdf": '์„œ๋ฒ„ ๋””์Šคํฌ ๊ณต๊ฐ„์ด ๋ถ€์กฑํ•ฉ๋‹ˆ๋‹ค!\n\n๋ˆ„๊ตฐ๊ฐ€ ๊ณ„์†ํ•  ์ˆ˜ ์žˆ์„ ๋งŒํผ์˜ ๊ณต๊ฐ„์„\n๋น„์›Œ์ค„ ๊ฒฝ์šฐ๋ฅผ ๋Œ€๋น„ํ•ด ๊ณ„์† ์žฌ์‹œ๋„ํ•ฉ๋‹ˆ๋‹ค', + "u_emtleak1": "์›น ๋ธŒ๋ผ์šฐ์ €์— ๋ฉ”๋ชจ๋ฆฌ ๋ˆ„์ˆ˜๊ฐ€ ์žˆ๋Š” ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค.\n", + "u_emtleak2": ' https๋กœ ์ „ํ™˜ (๊ถŒ์žฅ)ํ•˜๊ฑฐ๋‚˜ ', + "u_emtleak3": ' ', + "u_emtleakc": '๋‹ค์Œ์„ ์‹œ๋„ํ•ด๋ณด์„ธ์š”:\n
    • F5๋ฅผ ๋ˆŒ๋Ÿฌ ํŽ˜์ด์ง€๋ฅผ ์ƒˆ๋กœ๊ณ ์นจํ•˜์„ธ์š”
    • ๊ทธ๋Ÿฐ ๋‹ค์Œ โš™๏ธ ์„ค์ •์—์„œ  mt  ๋ฒ„ํŠผ์„ ๋น„ํ™œ์„ฑํ™”ํ•˜์„ธ์š”
    • ๊ทธ๋ฆฌ๊ณ  ๋‹ค์‹œ ๊ทธ ์—…๋กœ๋“œ๋ฅผ ์‹œ๋„ํ•ด๋ณด์„ธ์š”
    ์—…๋กœ๋“œ๊ฐ€ ์กฐ๊ธˆ ๋А๋ ค์ง€๊ฒ ์ง€๋งŒ, ์–ด์ฉ” ์ˆ˜ ์—†์ฃ .\n๋ถˆํŽธ์„ ๋“œ๋ ค ์ฃ„์†กํ•ฉ๋‹ˆ๋‹ค!\n\nPS: ์ด ๋ฒ„๊ทธ๋Š” Chrome v107์—์„œ ์ˆ˜์ •๋˜์—ˆ์Šต๋‹ˆ๋‹ค.', + "u_emtleakf": '๋‹ค์Œ์„ ์‹œ๋„ํ•ด๋ณด์„ธ์š”:\n
    • F5๋ฅผ ๋ˆŒ๋Ÿฌ ํŽ˜์ด์ง€๋ฅผ ์ƒˆ๋กœ๊ณ ์นจํ•˜์„ธ์š”
    • ๊ทธ๋Ÿฐ ๋‹ค์Œ ์—…๋กœ๋“œ UI์—์„œ ๐Ÿฅ”(๋‹จ์ˆœ UI)๋ฅผ ํ™œ์„ฑํ™”ํ•˜์„ธ์š”
    • ๊ทธ๋ฆฌ๊ณ  ๋‹ค์‹œ ๊ทธ ์—…๋กœ๋“œ๋ฅผ ์‹œ๋„ํ•ด๋ณด์„ธ์š”
    \nPS: Firefox์—์„œ ์–ธ์  ๊ฐ€ ์ด ๋ฒ„๊ทธ๊ฐ€ ์ˆ˜์ •๋  ๊ฑฐ๋ผ ๋ฏฟ์Šต๋‹ˆ๋‹ค.', + "u_s404": '์„œ๋ฒ„์—์„œ ์ฐพ์„ ์ˆ˜ ์—†์Œ', + "u_expl": '์„ค๋ช…', + "u_maxconn": "๋Œ€๋ถ€๋ถ„์˜ ๋ธŒ๋ผ์šฐ์ €๋Š” ์ด๋ฅผ 6์œผ๋กœ ์ œํ•œํ•˜์ง€๋งŒ, Firefox์—์„œ๋Š” about:config์—์„œ connections-per-server ์„ค์ •๊ฐ’์œผ๋กœ ๋†’์ผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.", + "u_tu": '

    ๊ฒฝ๊ณ : ํ„ฐ๋ณด๊ฐ€ ํ™œ์„ฑํ™”๋˜์–ด ํด๋ผ์ด์–ธํŠธ๊ฐ€ ๋ถˆ์™„์ „ํ•œ ์—…๋กœ๋“œ๋ฅผ ๊ฐ์ง€ํ•˜๊ณ  ์žฌ๊ฐœํ•˜์ง€ ๋ชปํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ํ„ฐ๋ณด ๋ฒ„ํŠผ์˜ ํˆดํŒ์„ ์ฐธ์กฐํ•˜์„ธ์š”

    ', + "u_ts": '

    ๊ฒฝ๊ณ : ํ„ฐ๋ณด๊ฐ€ ํ™œ์„ฑํ™”๋˜์–ด ๊ฒ€์ƒ‰ ๊ฒฐ๊ณผ๊ฐ€ ๋ถ€์ •ํ™•ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ํ„ฐ๋ณด ๋ฒ„ํŠผ์˜ ํˆดํŒ์„ ์ฐธ์กฐํ•˜์„ธ์š”

    ', + "u_turbo_c": "ํ„ฐ๋ณด๊ฐ€ ์„œ๋ฒ„ ๊ตฌ์„ฑ์—์„œ ๋น„ํ™œ์„ฑํ™”๋˜์—ˆ์Šต๋‹ˆ๋‹ค", + "u_turbo_g": '์ด ๋ณผ๋ฅจ ๋‚ด์—์„œ ๋””๋ ‰ํ„ฐ๋ฆฌ ๋ชฉ๋ก ๊ถŒํ•œ์ด ์—†์œผ๋ฏ€๋กœ\nํ„ฐ๋ณด๋ฅผ ๋น„ํ™œ์„ฑํ™”ํ•ฉ๋‹ˆ๋‹ค', + "u_life_cfg": '์ž๋™ ์‚ญ์ œ ์‹œ๊ฐ„ ๋ถ„ (๋˜๋Š” ์‹œ๊ฐ„)', + "u_life_est": '์—…๋กœ๋“œ๊ฐ€ ---์— ์‚ญ์ œ๋ฉ๋‹ˆ๋‹ค', + "u_life_max": '์ด ํด๋”๋Š” ์ตœ๋Œ€ ์ˆ˜๋ช…์„\n{0}(์œผ)๋กœ ๊ฐ•์ œํ•ฉ๋‹ˆ๋‹ค', + "u_unp_ok": '์ฃผ์›Œ๋‹ด๊ธฐ๋Š” {0} ๋™์•ˆ ํ—ˆ์šฉ๋ฉ๋‹ˆ๋‹ค', + "u_unp_ng": '์ฃผ์›Œ๋‹ด๊ธฐ๋Š” ํ—ˆ์šฉ๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค', + "ue_ro": '์ด ํด๋”์— ๋Œ€ํ•œ ์ ‘๊ทผ์€ ์ฝ๊ธฐ ์ „์šฉ์ž…๋‹ˆ๋‹ค\n\n', + "ue_nl": 'ํ˜„์žฌ ๋กœ๊ทธ์ธ๋˜์–ด ์žˆ์ง€ ์•Š์Šต๋‹ˆ๋‹ค', + "ue_la": 'ํ˜„์žฌ \'{0}\'(์œผ)๋กœ ๋กœ๊ทธ์ธ๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค', + "ue_sr": 'ํ˜„์žฌ ํŒŒ์ผ ๊ฒ€์ƒ‰ ๋ชจ๋“œ์ž…๋‹ˆ๋‹ค\n\nํฐ "๊ฒ€์ƒ‰" ๋ฒ„ํŠผ ์˜†์˜ ๋‹๋ณด๊ธฐ ๐Ÿ”Ž๋ฅผ ํด๋ฆญํ•˜์—ฌ ์—…๋กœ๋“œ ๋ชจ๋“œ๋กœ ์ „ํ™˜ํ•œ ํ›„ ๋‹ค์‹œ ์—…๋กœ๋“œํ•ด๋ณด์„ธ์š”\n\n์ฃ„์†กํ•ฉ๋‹ˆ๋‹ค', + "ue_ta": '๋‹ค์‹œ ์—…๋กœ๋“œํ•ด๋ณด์„ธ์š”, ์ด์ œ ์ž‘๋™ํ•  ๊ฒ๋‹ˆ๋‹ค', + "ue_ab": '์ด ํŒŒ์ผ์€ ์ด๋ฏธ ๋‹ค๋ฅธ ํด๋”๋กœ ์—…๋กœ๋“œ ์ค‘์ด๋ฉฐ, ํŒŒ์ผ์ด ๋‹ค๋ฅธ ๊ณณ์— ์—…๋กœ๋“œ๋˜๊ธฐ ์ „์— ํ•ด๋‹น ์—…๋กœ๋“œ๊ฐ€ ์™„๋ฃŒ๋˜์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.\n\n์™ผ์ชฝ ์ƒ๋‹จ์˜ ๐Ÿงฏ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ดˆ๊ธฐ ์—…๋กœ๋“œ๋ฅผ ์ค‘๋‹จํ•˜๊ณ  ์žŠ์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.', + "ur_1uo": "OK: ํŒŒ์ผ์ด ์„ฑ๊ณต์ ์œผ๋กœ ์—…๋กœ๋“œ๋˜์—ˆ์Šต๋‹ˆ๋‹ค", + "ur_auo": "OK: ๋ชจ๋“  {0}๊ฐœ์˜ ํŒŒ์ผ์ด ์„ฑ๊ณต์ ์œผ๋กœ ์—…๋กœ๋“œ๋˜์—ˆ์Šต๋‹ˆ๋‹ค", + "ur_1so": "OK: ์„œ๋ฒ„์—์„œ ํŒŒ์ผ์„ ์ฐพ์•˜์Šต๋‹ˆ๋‹ค", + "ur_aso": "OK: ์„œ๋ฒ„์—์„œ ๋ชจ๋“  {0}๊ฐœ์˜ ํŒŒ์ผ์„ ์ฐพ์•˜์Šต๋‹ˆ๋‹ค", + "ur_1un": "์—…๋กœ๋“œ์— ์‹คํŒจํ–ˆ์Šต๋‹ˆ๋‹ค, ์ฃ„์†ก", + "ur_aun": "๋ชจ๋“  {0}๊ฐœ์˜ ์—…๋กœ๋“œ์— ์‹คํŒจํ–ˆ์Šต๋‹ˆ๋‹ค, ์ฃ„์†ก", + "ur_1sn": "์„œ๋ฒ„์—์„œ ํŒŒ์ผ์„ ์ฐพ์ง€ ๋ชปํ–ˆ์Šต๋‹ˆ๋‹ค", + "ur_asn": "์„œ๋ฒ„์—์„œ {0}๊ฐœ์˜ ํŒŒ์ผ์„ ์ฐพ์ง€ ๋ชปํ–ˆ์Šต๋‹ˆ๋‹ค", + "ur_um": "์™„๋ฃŒ;\n{0}๊ฐœ ์—…๋กœ๋“œ ์„ฑ๊ณต,\n{1}๊ฐœ ์—…๋กœ๋“œ ์‹คํŒจ, ์ฃ„์†ก", + "ur_sm": "์™„๋ฃŒ;\n์„œ๋ฒ„์—์„œ {0}๊ฐœ ํŒŒ์ผ ์ฐพ์Œ,\n์„œ๋ฒ„์—์„œ {1}๊ฐœ ํŒŒ์ผ ์ฐพ์ง€ ๋ชปํ•จ", + + "rc_opn": "์—ด๊ธฐ", //m + "rc_ply": "์žฌ์ƒ", //m + "rc_pla": "์˜ค๋””์˜ค๋กœ ์žฌ์ƒ", //m + "rc_txt": "ํŒŒ์ผ ๋ทฐ์–ด์—์„œ ์—ด๊ธฐ", //m + "rc_md": "ํ…์ŠคํŠธ ํŽธ์ง‘๊ธฐ์—์„œ ์—ด๊ธฐ", //m + "rc_dl": "๋‹ค์šด๋กœ๋“œ", //m + "rc_zip": "์••์ถ• ํŒŒ์ผ๋กœ ๋‹ค์šด๋กœ๋“œ", //m + "rc_del": "์‚ญ์ œ", //m + "rc_cut": "์ž˜๋ผ๋‚ด๊ธฐ", //m + "rc_cpy": "๋ณต์‚ฌ", //m + "rc_pst": "๋ถ™์—ฌ๋„ฃ๊ธฐ", //m + "rc_nfo": "์ƒˆ ํด๋”", //m + "rc_nfi": "์ƒˆ ํŒŒ์ผ", //m + "rc_sal": "๋ชจ๋‘ ์„ ํƒ", //m + "rc_sin": "์„ ํƒ ๋ฐ˜์ „", //m + + "lang_set": '๋ณ€๊ฒฝ ์‚ฌํ•ญ์„ ์ ์šฉํ•˜๊ธฐ ์œ„ํ•ด ์ƒˆ๋กœ๊ณ ์นจํ•˜์‹œ๊ฒ ์Šต๋‹ˆ๊นŒ?', + + "splash": { + "a1": "์ƒˆ๋กœ๊ณ ์นจ", + "b1": "์–ด์ด ์นœ๊ตฌ! ์ฒ˜์Œ ๋ณด๋Š” ์–ผ๊ตด์ธ๋ฐ?   (๋กœ๊ทธ์ธ๋˜์–ด ์žˆ์ง€ ์•Š์Šต๋‹ˆ๋‹ค)", + "c1": "๋กœ๊ทธ์•„์›ƒ", + "d1": "์Šคํƒ ๋คํ”„ํ•˜๊ธฐ", + "d2": "๋ชจ๋“  ํ™œ์„ฑ ์Šค๋ ˆ๋“œ์˜ ์ƒํƒœ๋ฅผ ํ‘œ์‹œํ•ฉ๋‹ˆ๋‹ค", + "e1": "์„ค์ • ๋‹ค์‹œ ๋ถˆ๋Ÿฌ์˜ค๊ธฐ", + "e2": "์„ค์ • ํŒŒ์ผ(๊ณ„์ •/๋ณผ๋ฅจ/๋ณผ๋ฅจ ํ”Œ๋ž˜๊ทธ)์„ ๋‹ค์‹œ ๋ถˆ๋Ÿฌ์˜ค๊ณ ,$N๋ชจ๋“  e2ds ๋ณผ๋ฅจ์„ ๋‹ค์‹œ ์Šค์บ”ํ•ฉ๋‹ˆ๋‹ค$N$N์ฐธ๊ณ : ์ „์—ญ ์„ค์ •์— ๋Œ€ํ•œ ๋ณ€๊ฒฝ ์‚ฌํ•ญ์€$N์ ์šฉํ•˜๋ ค๋ฉด ์ „์ฒด ์žฌ์‹œ์ž‘์ด ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค", + "f1": "ํƒ์ƒ‰ ๊ฐ€๋Šฅํ•œ ๊ณณ:", + "g1": "์—…๋กœ๋“œ ๊ฐ€๋Šฅํ•œ ๊ณณ:", + "cc1": "๊ธฐํƒ€ ํ•ญ๋ชฉ:", + "h1": "k304 ๋น„ํ™œ์„ฑํ™”", + "i1": "k304 ํ™œ์„ฑํ™”", + "j1": "k304๋ฅผ ํ™œ์„ฑํ™”ํ•˜๋ฉด ๋ชจ๋“  HTTP 304 ์‘๋‹ต ์‹œ ํด๋ผ์ด์–ธํŠธ ์—ฐ๊ฒฐ์ด ๋Š์–ด์ง‘๋‹ˆ๋‹ค. ์ด๋Š” ์ผ๋ถ€ ํ”„๋ก์‹œ๊ฐ€ ๋ฉˆ์ถ”๋Š” ํ˜„์ƒ(๊ฐ‘์ž๊ธฐ ํŽ˜์ด์ง€๊ฐ€ ๋กœ๋“œ๋˜์ง€ ์•Š์Œ)์„ ๋ฐฉ์ง€ํ•  ์ˆ˜ ์žˆ์ง€๋งŒ, ๋Œ€์‹  ์ „๋ฐ˜์ ์ธ ์†๋„๋Š” ๋А๋ ค์ง‘๋‹ˆ๋‹ค.", + "k1": "ํด๋ผ์ด์–ธํŠธ ์„ค์ • ์ดˆ๊ธฐํ™”", + "l1": "๋กœ๊ทธ์ธํ•˜๊ธฐ:", + "ls3": "๋กœ๊ทธ์ธ", //m + "lu4": "์‚ฌ์šฉ์ž ์ด๋ฆ„", //m + "lp4": "๋น„๋ฐ€๋ฒˆํ˜ธ", //m + "lo3": "{0}์„(๋ฅผ) ๋ชจ๋“  ๊ณณ์—์„œ ๋กœ๊ทธ์•„์›ƒ", //m + "lo2": "์ด ์ž‘์—…์€ ๋ชจ๋“  ๋ธŒ๋ผ์šฐ์ €์—์„œ ์„ธ์…˜์„ ์ข…๋ฃŒํ•ฉ๋‹ˆ๋‹ค", //m + "m1": "๋˜ ์˜ค์…จ๋„ค์š”,", + "n1": "404 ์ฐพ์„ ์ˆ˜ ์—†์Œ  โ”( ยด -`)โ”Œ", + "o1": "๋˜๋Š” ์ ‘๊ทผ ๊ถŒํ•œ์ด ์—†์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋น„๋ฐ€๋ฒˆํ˜ธ๋ฅผ ์ž…๋ ฅํ•˜๊ฑฐ๋‚˜ ํ™ˆ์œผ๋กœ ์ด๋™ํ•˜์„ธ์š”", + "p1": "403 ์ ‘๊ทผ ๊ธˆ์ง€  ~โ”ปโ”โ”ป", + "q1": "๋น„๋ฐ€๋ฒˆํ˜ธ๋ฅผ ์ž…๋ ฅํ•˜๊ฑฐ๋‚˜ ํ™ˆ์œผ๋กœ ์ด๋™ํ•˜์„ธ์š”", + "r1": "ํ™ˆ์œผ๋กœ ์ด๋™", + ".s1": "๋‹ค์‹œ ์Šค์บ”", + "t1": "์ž‘์—…", + "u2": "์„œ๋ฒ„์— ๋งˆ์ง€๋ง‰์œผ๋กœ ์“ฐ๊ธฐ ์ž‘์—…์„ ํ•œ ํ›„ ๊ฒฝ๊ณผ๋œ ์‹œ๊ฐ„$N(์—…๋กœ๋“œ / ์ด๋ฆ„ ๋ณ€๊ฒฝ / ๋“ฑ๋“ฑ...)$N$N17d = 17์ผ$N1h23 = 1์‹œ๊ฐ„ 23๋ถ„$N4m56 = 4๋ถ„ 56์ดˆ", + "v1": "์—ฐ๊ฒฐ", + "v2": "์ด ์„œ๋ฒ„๋ฅผ ๋กœ์ปฌ ํ•˜๋“œ๋””์Šคํฌ์ฒ˜๋Ÿผ ์‚ฌ์šฉํ•˜๊ธฐ", + "w1": "HTTPS๋กœ ์ „ํ™˜", + "x1": "๋น„๋ฐ€๋ฒˆํ˜ธ ๋ณ€๊ฒฝ", + "y1": "๊ณต์œ  ์„ค์ •", + "z1": "์ด ๊ณต์œ  ์ž ๊ธˆํ•ด์ œ:", + "ta1": "์ƒˆ ๋น„๋ฐ€๋ฒˆํ˜ธ๋ฅผ ๋จผ์ € ์ž…๋ ฅํ•˜์„ธ์š”", + "ta2": "์ƒˆ ๋น„๋ฐ€๋ฒˆํ˜ธ ํ™•์ธ์„ ์œ„ํ•ด ๋‹ค์‹œ ์ž…๋ ฅํ•˜์„ธ์š”:", + "ta3": "์˜คํƒ€๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค. ๋‹ค์‹œ ์‹œ๋„ํ•ด์ฃผ์„ธ์š”", + "nop": "์˜ค๋ฅ˜: ๋น„๋ฐ€๋ฒˆํ˜ธ๋ฅผ ๋น„์›Œ ๋‘˜ ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค", //m + "nou": "์˜ค๋ฅ˜: ์‚ฌ์šฉ์ž ์ด๋ฆ„ ๋ฐ/๋˜๋Š” ๋น„๋ฐ€๋ฒˆํ˜ธ๋ฅผ ๋น„์›Œ ๋‘˜ ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค", //m + "aa1": "์ˆ˜์‹  ์ค‘์ธ ํŒŒ์ผ:", + "ab1": "no304 ๋น„ํ™œ์„ฑํ™”", + "ac1": "no304 ํ™œ์„ฑํ™”", + "ad1": "no304๋ฅผ ํ™œ์„ฑํ™”ํ•˜๋ฉด ๋ชจ๋“  ์บ์‹ฑ์ด ๋น„ํ™œ์„ฑํ™”๋ฉ๋‹ˆ๋‹ค. k304๋กœ ์ถฉ๋ถ„ํ•˜์ง€ ์•Š์€ ๊ฒฝ์šฐ ์‹œ๋„ํ•ด๋ณด์„ธ์š”. ๋„คํŠธ์›Œํฌ ํŠธ๋ž˜ํ”ฝ์ด ๋Œ€๋Ÿ‰์œผ๋กœ ๋‚ญ๋น„๋ฉ๋‹ˆ๋‹ค!", + "ae1": "ํ™œ์„ฑ ๋‹ค์šด๋กœ๋“œ:", + "af1": "์ตœ๊ทผ ์—…๋กœ๋“œ ๋ณด๊ธฐ", + "ag1": "IdP ์บ์‹œ ๋ณด๊ธฐ", + } +}; diff --git a/copyparty/web/tl/nld.js b/copyparty/web/tl/nld.js new file mode 100644 index 00000000..69381214 --- /dev/null +++ b/copyparty/web/tl/nld.js @@ -0,0 +1,710 @@ + +// Regels die eindigen op //m zijn niet-geverifieerde machinale vertalingen + +Ls.nld = { + "tt": "Nederlands", + + "cols": { + "c": "Action knoppen", + "dur": "Duratie", + "q": "Kwaliteit / bitrate", + "Ac": "Audio codec", + "Vc": "Video codec", + "Fmt": "Formaat / container", + "Ahash": "Audio checksum", + "Vhash": "Video checksum", + "Res": "Resolution", + "T": "Bestandstype", + "aq": "Audio kwaliteit / bitrate", + "vq": "Video kwaliteit / bitrate", + "pixfmt": "Subsampling / pixel structure", + "resw": "Horizontale resolutie", + "resh": "Verticale resolutie", + "chs": "Audiokanalen", + "hz": "Samplefrequentie", + }, + + "hks": [ + [ + "diversen", + ["ESC", "Sluit verschillende dingen"], + + "bestand beheer", + ["G", "Verwissel tussen list / grid weergave"], + ["T", "Verwissel tussen miniaturen / iconen"], + ["โ‡ง A/D", "Thumbnail formaat"], + ["ctrl-K", "Verwijder geselecteerde"], + ["ctrl-X", "Knip selectie naar klembord"], + ["ctrl-C", "Kopieer selectie naar klembord"], + ["ctrl-V", "Hier plakken (verplaatsen/kopieรซren)"], + ["Y", "Download geselecteerde"], + ["F2", "Hernoem geselecteerde"], + + "bestand-lijst-selectie", + ["space", "wissel bestand selectie"], + ["โ†‘/โ†“", "verplaats selectie cursor"], + ["ctrl โ†‘/โ†“", "verplaats cursor en scherm"], + ["โ‡ง โ†‘/โ†“", "select vorige/volgende bestand"], + ["ctrl-A", "selecteer alle bestanden / mappen"], + ], [ + "navigatie", + ["B", "verwissel breadcrumbs / navpane"], + ["I/K", "Vorige/volgende map"], + ["M", "Bovenliggende map (of huidige uitvouwen)"], + ["V", "Berwissel map / tekstbestand in navpane"], + ["A/D", "Navpane formaat"], + ], [ + "muziek-speler", + ["J/L", "Vorige/volgende song"], + ["U/O", "Skip 10sec terug/vooruit"], + ["0..9", "Spring naar 0%..90%"], + ["P", "Speel/pauzeer (start ook)"], + ["S", "Selecteer afspelende song"], + ["Y", "Download song"], + ], [ + "afbeelding viewer", + ["J/L, โ†/โ†’", "Vorige/volgende afbeelding"], + ["Home/End", "Eerste/laatste afbeelding"], + ["F", "Volledig scherm"], + ["R", "Draai rechtsom"], + ["โ‡ง R", "Draai linksom"], + ["S", "Selecteer afbeelding"], + ["Y", "Download afbeelding"], + ], [ + "video-speler", + ["U/O", "Skip 10sec terug/vooruit"], + ["P/K/Space", "Speel/pauze"], + ["C", "Verder met volgende"], + ["V", "herhaal"], + ["M", "stil"], + ["[ and ]", "zet herhaal interval"], + ], [ + "tekstbestand-viewer", + ["I/K", "vorige/volgende bestand"], + ["M", "sluit tekst bestand"], + ["E", "bewerk tekst bestand"], + ["S", "selecteer bestand (voor knip/kopie/hernoem)"], + ["Y", "tekst bestand downloaden"], //m + ["โ‡ง J", "json verfraaien"], //m + ] + ], + + "m_ok": "OK", + "m_ng": "Annuleren", + + "enable": "Inschakelen", + "danger": "GEVAARLIJK", + "clipped": "Gekopieรซrd naar klembord", + + "ht_s1": "seconde", + "ht_s2": "secondes", + "ht_m1": "minuut", + "ht_m2": "minuten", + "ht_h1": "uur", + "ht_h2": "uur", + "ht_d1": "dag", + "ht_d2": "dagen", + "ht_and": " en ", + + "goh": "Beheer-paneel", + "gop": 'Vorige map">Vorige', + "gou": 'Bovenligende map">Omhoog', + "gon": 'Volgende map">Volgende', + "logout": "Uitloggen ", + "login": "Inloggen", //m + "access": " Toegang", + "ot_close": "Sluit onder-menu", + "ot_search": "Zoek voor bestanden bij attributes, pad / naam, muziek tags, of elk andere combinatie tussen$N$N<code>foo bar</code> = moet beide ยซfooยป en ยซbarยป bevatten,$N<code>foo -bar</code> = moet ยซfooยป bevatten maar geen ยซbarยป,$N<code>^yana .opus$</code> = start met ยซyanaยป en moet een ยซopusยป bestand zijn$N<code>"try unite"</code> = moet precies ยซtry uniteยป bevatten$N$Nde datum formaat is iso-8601, zoals$N<code>2009-12-31</code> of <code>2020-09-12 23:30:00</code>", + "ot_unpost": "unpost: verwijder je recente uploads, of onvoltooide uploads afbreken", + "ot_bup": "bup: Basisuploader, supports zelfs netscape 4.0", + "ot_mkdir": "mkdir: Maak een nieuwe map", + "ot_md": "new-file: Maak een nieuw tekstbestand", //m + "ot_msg": "msg: Verstuur een bericht naar de server logs", + "ot_mp": "Media speler opties", + "ot_cfg": "Configuratie opties", + "ot_u2i": 'up2k: upload bestanden (als je schrijf toegang hebt) of verwissel naar zoek-mode om te zien of ze ergens bestaan op de server$N$Nuploads zijn hervatbaar, multithreaded, en bestandstijdstempels blijven behouden, maar het gebruikt meer CPU dan [๐ŸŽˆ]  (de basic uploader)

    tijdens het uploaden, dit icoon word dan een progress indicatie!', + "ot_u2w": 'up2k: upload bestanden met hervattings ondersteuning (sluit je webbrowser en selecteer dezelfde bestand later opnieuw)$N$Nmultithreaded, en bestandstijdstempels blijven behouden, maar het gebruikt meer CPU dan [๐ŸŽˆ]  (de basic uploader)

    tijdens het uploaden, dit icoon word dan een progress indicatie!', + "ot_noie": 'Gebruik alstublieft Chrome / Firefox / Edge', + + "ab_mkdir": "maak map", + "ab_mkdoc": "nieuw tekstbestand", //m + "ab_msg": "verstuur msg naar srv log", + + "ay_path": "skip naar mappen", + "ay_files": "skip naar bestanden", + + "wt_ren": "Hernoem geselecteerde items$NHotkey: F2", + "wt_del": "Berwijder geselecteerde items$NHotkey: ctrl-K", + "wt_cut": "Knip geselecteerde items <small>(en plak het ergens anders)</small>$NHotkey: ctrl-X", + "wt_cpy": "Kopieer geselecteerde items naar klembord$N(om te plakken ergens anders)$NHotkey: ctrl-C", + "wt_pst": "Plak eeen laatst geknipte / gekopieรซrde selectie$NHotkey: ctrl-V", + "wt_selall": "Selecteer alle bestanden$NHotkey: ctrl-A (wanneer bestand gefocused is)", + "wt_selinv": "Selectie omkeren", + "wt_zip1": "Download deze map als archief", + "wt_selzip": "Download selectie als archief", + "wt_seldl": "Download selectie als losse bestanden$NHotkey: Y", + "wt_npirc": "Kopieer irc-geformarteerde track info", + "wt_nptxt": "Kopieer platte tekst track info", + "wt_m3ua": "Aan m3u afspeellijst toevoegen (klik ๐Ÿ“ปkopieer later)", + "wt_m3uc": "Kopieer m3u playlist naar klembord", + "wt_grid": "Verwissel grid / lijst weergave$NHotkey: G", + "wt_prev": "Vorig nummer$NHotkey: J", + "wt_play": "Afspelen / pauzeer$NHotkey: P", + "wt_next": "Volgend nummer$NHotkey: L", + + "ul_par": "Parallel uploads:", + "ut_rand": "Willekeurige bestandsnaam", + "ut_u2ts": "Kopieer de laatste-gewijzigde tijdstamp$Nvan je bestandsysteem naar de server\">๐Ÿ“…", + "ut_ow": "Overschrijf bestaande bestanden op de server?$N๐Ÿ›ก๏ธ: nooit (zal in plaats daarvan een nieuwe bestandsnaam genereren)$N๐Ÿ•’: overschrijven als de server-bestand ouder is dan het geรผploade bestand$Nโ™ป๏ธ: altijd overschrijven als de bestanden verschillend zijn$Nโญ๏ธ: alle bestaande bestanden onvoorwaardelijk overslaan", //m + "ut_mt": "Ga door met hashen van andere bestanden tijdens het uploaden$N$Moet je misschien uitschakelen als je CPU of HDD het niet aan kan", + "ut_ask": 'Vraag voor bevestiging voordat het uploaden start">๐Ÿ’ญ', + "ut_pot": "Verbeter de uploadsnelheid voor langzame apparaten$Ndoor de interface minder complex te maken", + "ut_srch": "Niet uploaden, maar check of de bestanden als op de server bestaan$N (checkt alle mappen die waar jij toegang op hebt)", + "ut_par": "Pauzeer bij zetten het op 0$N$Nverhoog als je verbinding traag is$N$Nhou het op 1 als je netwerk of server HDD het niet aankan", + "ul_btn": "Drop bestanden / mappen
    hier (of klik mij)", + "ul_btnu": "U P L O A D", + "ul_btns": "Z O E K E N", + + "ul_hash": "Hashing", + "ul_send": "Versturen", + "ul_done": "Klaar", + "ul_idle1": "Geen uploads in wachtrij", + "ut_etah": "Gemiddelde <em>hashing</em> snelheid en geschatte tijd tot de voltooiing", + "ut_etau": "Gemiddelde <em>verzend</em> snelheid en geschatte tijd tot voltooiing", + "ut_etat": "Gemiddelde <em>totale</em> snelheid en geschatte tijd tot voltooiing", + + "uct_ok": "Succesvol afgerond", + "uct_ng": "Niet goed: gefaald / geweigerd / niet gevonden", + "uct_done": "ok en ng gecombineerd", + "uct_bz": "Hashing van uploads", + "uct_q": "Inactief, in afwachting", + + "utl_name": "Bestandsnaam", + "utl_ulist": "Lijst", + "utl_ucopy": "Kopieer", + "utl_links": "Links", + "utl_stat": "Status", + "utl_prog": "Vooruitgang", + + // keep short: + "utl_404": "404", + "utl_err": "FOUT", + "utl_oserr": "OS-FOUT", + "utl_found": "gevonden", + "utl_defer": "Uitgesteld", + "utl_yolo": "YOLO", + "utl_done": "klaar", + + "ul_flagblk": "De bestanden zijn toegevoegd aan de wachtrij
    maar er is een drukke up2k bezig in een andere tabblad,
    wachten totdat die eerst klaar is", + "ul_btnlk": "De server configuratie heeft deze schakelaar versleuteld in deze staat", + + "udt_up": "Upload", + "udt_srch": "Zoeken", + "udt_drop": "Laat hier los", + + "u_nav_m": '
    Hey, wat heb jij daar?
    Enter = Bestanden (een of meer)\nESC = Een map (inclusief submappen)', + "u_nav_b": 'BestandenEen map', + + "cl_opts": "Switches", + "cl_hfsz": "Bestandsgrootte", //m + "cl_themes": "Thema", + "cl_langs": "Taal", + "cl_ziptype": "Download map als", + "cl_uopts": "up2k switches", + "cl_favico": "Favicon", + "cl_bigdir": "Item limiet in map", + "cl_hsort": "#sorteer", + "cl_keytype": "Key notaties", + "cl_hiddenc": "Verborgen kolomen", + "cl_hidec": "Verborgen", + "cl_reset": "Reset", + "cl_hpick": "Tik op de kolomkoppen om ze in de onderstaande tabel te verbergen", + "cl_hcancel": "Kolumn verbergen geannuleerd", + "cl_rcm": "Rechtermuisknopmenu", //m + + "ct_grid": '็”ฐ grid', + "ct_ttips": 'โ—” โ—ก โ—”">โ„น๏ธ tooltips', + "ct_thumb": 'In grid-overzicht, wissel tussen iconen of thumbnails$NHotkey: T">๐Ÿ–ผ๏ธ thumbs', + "ct_csel": 'Gebruik CTRL en SHIFT voor de bestand selectie in grid-overzicht>sel', + "ct_dl": 'download afdwingen (niet inline weergeven) wanneer op een bestand wordt geklikt">dl', //m + "ct_ihop": 'Als je afbeeldingviewer afsluit, scroll omlaag naar de laatst bekeken bestand">gโฎฏ', + "ct_dots": 'Laat verborgen bestanden zien (als de server dat toestaat)">dotfiles', + "ct_qdel": 'Waneeer je een bestand verwijderd, vraag eenmalig om bevestiging">qdel', + "ct_dir1st": 'Sorteer mappen eerst en dan de bestanden">๐Ÿ“ first', + "ct_nsort": 'Natural sort (voor bestandsnamen dat beginnen met getallen)">nsort', + "ct_readme": 'Laat README.md in mappen lijst zien">๐Ÿ“œ readme', + "ct_utc": 'Toon alle datums en tijden in UTC">UTC', + "ct_idxh": 'Laat index.html zien in plaats van de map overzicht">htm', + "ct_sbars": 'Laat scrollbars zien">โŸŠ', + + "cut_umod": "Als een bestand al bestaat op de server, update de 'gewijzigd' waarde op het bestand wat op de server staat met het bestand wat je geupload hebt (vereist schrijf+verwijder rechten)\">re๐Ÿ“…", + + "cut_turbo": "De yolo knop, die wil jij waarschijnlijk NIET actief wilt hebben:$N$Ngebruik dit als je heel veel bestanden gaat uploaden EN je moest het herstarten voor een reden en je wilt doorgaan met uploaden ASAP$N$Ndit vervangt de hash-check met een simpele "heeft dit dezelfde bestands groote op de server?", zo als de bestands inhoud verschillend is, dan worden ze NIET geupload$N$NJe zou deze optie weer uit moeten zetten als de upload klaar is en dan "upload" de zelfde bestanden opnieuw uploaden zo de client het kan verifieren\">turbo", + + "cut_datechk": "Heeft geen effect tenzij de turbo knop actief is$N$Nverminder de yolo factor (een klein beetje); controlleert of de bestand tijdstamp op de server hetzelfde is met het geuploade bestand$N$Ndit zou in theorie de meest onvoltooide/onvoledige uploads, maar dit is geen vervaning voor de verificatie-check met de turbo knop uitgeschakeld daarna\">date-chk", + + "cut_u2sz": "Grote (in MiB) voor elk geuploade stuk; grote waardes vliegen beter over de Atlantische Oceaan. Probeer lage waardes op zeer onstabiele verbindingen", + + "cut_flag": "Alleen een tabblad kan bestanden uploaden $N -- andere tabbladen moeten deze optie ook actief hebben $N -- dit heeft alleen effect op de tabbladen die op hetzelfde domain zijn", + + "cut_az": "Bestanden uploaden in alfabetische volgorde, in plaats van kleinste bestanden eerst$N$Nalfabetische volgorde kan het makkelijker maken om te zien of er wat fout is gegaan op de server, dit maakt het uploaden ietsjes trager op fiber / LAN", + + "cut_nag": "Systeem notificatie weergeven als een upload voltooid is$N(alleen als de browser of tabblad niet actief is)", + "cut_sfx": "Geluid waarschuwing afspelen als een upload voltooid is$N(alleen als de browser of tabblad niet actief is)", + + "cut_mt": "Gebruik multithreading om bestands-hashing te versnellen$N$Ndit gebruikt web-workers en vereist$Nmeer geheugen (tot wel 512 MiB extra)$N$Nmaakt https 30% sneller en http 4.5x sneller\">mt", + + "cut_wasm": "Gebruik wasm in plaats van de webbrowser ingebouwde hasher; verbetert de snelheid op chrome-gebaseerde webbrowsers maar verhoogd CPU gebruik, veel oude versie van chrome hebben een bug dat een geheugen lek heeft, dat kan alle geheugen in gebruik nemen en crashen als dit actief is\">wasm", + + "cft_text": "Favicon tekst (laat leeg en vernieuw om uit te schakelen)", + "cft_fg": "Voorgrondkleur", + "cft_bg": "Achtergrondkleur", + + "cdt_lim": "Max aantal bestanden laten zien in een map", + "cdt_ask": "Als helemaal naar beneden gescrolld bent,$Nin plaats van meer inladen,$Nvraag wat het moet doen", + "cdt_hsort": "Hoeveel sorteerregels (<code>,sorthref</code>) moeten er in media-URL's worden opgenomen? Als je dit op 0 instelt, worden de sorteerregels in medialinks ook genegeerd wanneer erop geklikt word.", + "cdt_ren": "Aangepast rechtermuisknopmenu inschakelen, het normale menu blijft beschikbaar met shift + rechtermuisknop", //m + + "tt_entree": "Laat navpane zien (directoryboom zijbalk)$NHotkey: B", + "tt_detree": "Laat breadcrumbs zien$NHotkey: B", + "tt_visdir": "Scroll naar geselecteerde map", + "tt_ftree": "Verwissel tussen directoryboom / tekst bestanden$NHotkey: V", + "tt_pdock": "Laat bovenliggende mappen zien in een vastgezet deelvenster bovenaan", + "tt_dynt": "Automatisch groeien naarmate de directoryboom zich uitbreidt", + "tt_wrap": "Automatische terugloop", + "tt_hover": "Laat overlopenden lijnen zien bij zweven$N(stopt het scrollen tenzij de muis in de linker gedeelte van het scherm is)", + + "ml_pmode": "Aan het einde van de map...", + "ml_btns": "Cmds", + "ml_tcode": "Transcode", + "ml_tcode2": "Transcode naar", + "ml_tint": "Tint", + "ml_eq": "Audio-equalizer", + "ml_drc": "Dynamisch bereikcompressor", + + "mt_loop": "Loop/herhaal een nummer\">๐Ÿ”", + "mt_one": "Stop na een nummer\">1๏ธโƒฃ", + "mt_shuf": "Shuffle alle muziek in alle mappen\">๐Ÿ”€", + "mt_aplay": "Autoplay als er een song-ID staat in de link waarop je hebt geklikt om naar de server te gaan$N$NAls u dit uitschakelt, wordt de pagina-URL ook niet meer bijgewerkt met nummer-ID's tijdens het afspelen van muziek. Dit voorkomt automatisch afspelen als deze instellingen verloren gaan, maar de URL behouden blijft.\">aโ–ถ", + "mt_preload": "Begin het laden van de volgende nummer vlak voordat de huidige nummer het einde bereikt voor gapless playback\">preload", + "mt_prescan": "Ga naar de volgende map voordat de laatste nummer eindigd$NMaakt de webbrower blij$NZo het afspelen van muziek niet gestopt word\">nav", + "mt_fullpre": "Probeer het hele nummer vooraf te laden;$Nโœ… activeer dit op onstabiele verbindingen,$NโŒ zet uit als je waarschijnlijk een trage verbinding hebt\">full", + "mt_fau": "Op telefoons, voorkom muziek van stoppen als de volgende nummer niet snel genoeg voorgeladen is (kan de weergave van tags glitchy maken)\">โ˜•๏ธ", + "mt_waves": "Waveform zoekbar:$NToon audio-amplitude in de zoekbar\">~s", + "mt_npclip": "Knoppen tonen voor het clipboarden van het nummer dat op dat moment wordt afgespeeld\">/np", + "mt_m3u_c": "Knoppen tonen om de geselecteerde nummers als m3u8-afspeellijstitems te clipboarden\">๐Ÿ“ป", + "mt_octl": "OS-integratie (media hotkeys / osd)\">os-ctl", + "mt_oseek": "Zoeken via os-integratie mogelijk maken$N$NNotitie: op sommige toestellen (iPhones) dit vervcangt de volgende-nummer knop\">seek", + "mt_oscv": "Albumhoes weergeven in osd\">art", + "mt_follow": "Het afgespeelde nummer in beeld houden\">๐ŸŽฏ", + "mt_compact": "Compacte bedieningselementen\">โŸŽ", + "mt_uncache": "Cache wissen  (Probeer dit als uw browser een kapotte kopie van een nummer heeft gecached, waardoor het niet afgespeeld kan worden)\">uncache", + "mt_mloop": "De open map herhalen\">๐Ÿ” loop", + "mt_mnext": "Laad de volgende map en ga verder\">๐Ÿ“‚ next", + "mt_mstop": "Stoppen met afspelen\">โธ stop", + "mt_cflac": "flac / wav omzetten naar {0}\">flac", + "mt_caac": "aac / m4a omzetten naar {0}\">aac", + "mt_coth": "Alle andere bestanden (geen mp3) converteren naar {0}\">oth", + "mt_c2opus": "Beste keuze voor computers, laptops, android\">opus", + "mt_c2owa": "opus-weba, voor iOS 17.5 en nieuwer\">owa", + "mt_c2caf": "opus-caf, voor iOS 11 tot en met iOS 17\">caf", + "mt_c2mp3": "Gebruik dit hele oude toestellen\">mp3", + "mt_c2flac": "Beste geluidskwaliteit, maar grote downloads\">flac", //m + "mt_c2wav": "Ongemprimeerde weergave (nog groter)\">wav", //m + "mt_c2ok": "Mooi, goede keuze", + "mt_c2nd": "Dat is niet het aanbevolen uitvoerformaat voor uw apparaat, maar dat is prima", + "mt_c2ng": "Uw apparaat lijkt dit uitvoerformaat niet te ondersteunen, maar we gaan het toch proberen", + "mt_xowa": "iOS bevat bugs waardoor dit formaat niet op de achtergrond kan worden afgespeeld; gebruik in plaats daarvan caf of mp3.", + "mt_tint": "Achtergrond helderheid (0-100) op de zoekbalk om bufferen minder storend te maken", + "mt_eq": "Schakelt de equalizer en gain-control in;$N$Nboost <code>0</code> = standaard 100% volume (ongeweijzigd)$N$Nwidth <code>1  </code> = standaard stereo (ongeweijzigd)$Nwidth <code>0.5</code> = 50% links-rechts crossfeed$Nwidth <code>0  </code> = mono$N$Nboost <code>-0.8</code> & width <code>10</code> = stemverwijdering :^)$N$NDoor de equalizer in te schakelen, worden gapless albums volledig gapless. Laat hem dus aanstaan met alle waarden op nul (behalve width = 1) als je dat belangrijk vindt.", + "mt_drc": "Schakelt de dynamic range compressor in (volume flattener / brickwaller); schakelt ook EQ in om de spaghetti te balanceren, dus zet alle EQ velden behalve โ€˜widthโ€™ op 0 als je dat niet wilt.$N$Nverlaagt het volume van audio boven THRESHOLD dB; voor elke RATIO dB voorbij THRESHOLD is er 1 dB output, dus standaardwaarden van tresh -24 en ratio 12 betekenen dat het nooit luider dan -22 dB zou moeten worden en het is veilig om de equalizer boost te verhogen tot 0.8, of zelfs 1.8 met ATK 0 en een enorme RLS zoals 90 (werkt alleen in firefox; RLS is max 1 in andere browsers)$N$N(zie wikipedia, die legt het veel beter uit)", + + "mb_play": "Afspelen", + "mm_hashplay": "Deze audio bestand afspelen?", + "mm_m3u": "Druk op Enter/OK om af te spelen\nDruk op ESC/Annuleren om te bewerken", + "mp_breq": "Heeft firefox 82+ of chrome 73+ of iOS 15+", + "mm_bload": "Aan het laden...", + "mm_bconv": "Opmzetten naar {0}, even geduld...", + "mm_opusen": "Uw browser kan geen aac / m4a-bestanden afspelen;\ntranscodering naar opus is nu ingeschakeld", + "mm_playerr": "Afspelen mislukt: ", + "mm_eabrt": "De afspeelpoging is geannuleerd", + "mm_enet": "Je internetverbinding is onstabiel", + "mm_edec": "Dit bestand is vermoedelijk beschadigd??", + "mm_esupp": "Uw browser begrijpt deze audio-formaat niet", + "mm_eunk": "Onbekende fout", + "mm_e404": "Kan audio niet afspelen; fout 404: Bestand niet gevonden..", + "mm_e403": "Kan audio niet afspelen; fout 403: Toegang geweigerd.\n\nProbeer op F5 te drukken om opnieuw te laden, misschien ben je uitgelogd", + "mm_e500": "Kan geen audio afspelen; fout 500: Controleer serverlogs.", + "mm_e5xx": "Kan geen audio afspelen; serverfout ", + "mm_nof": "Geen audiobestanden meer vinden in de buurt", + "mm_prescan": "Op zoek naar muziek om als volgende te spelen...", + "mm_scank": "Het volgende nummer gevonden:", + "mm_uncache": "Cache gewist; alle nummers worden opnieuw gedownload bij de volgende keer afspelen", + "mm_hnf": "Dat liedje bestaat niet meer", + + "im_hnf": "Deze afbeelding bestaat niet meer", + + "f_empty": 'Deze map is leeg', + "f_chide": 'Dit verbergt kolom ยซ{0}ยป\n\nje kunt kolommen verbergen op de instellingen tabblad', + "f_bigtxt": "Dit bestand is {0} MiB groot -- echt bekijken als tekst?", + "f_bigtxt2": "Wilt u alleen het einde van het bestand bekijken? Dit maakt ook volgen/tailen mogelijk, waarbij nieuw toegevoegde tekstregels in realtime worden weergegeven.", + "fbd_more": '
    {0} van de {1} bestanden weergegeven; Toon {2} of Laat alles zien
    ', + "fbd_all": '
    {0} van de {1} bestanden weergegeven; Laat alles zien
    ', + "f_anota": "Alleen {0} van de {1} items zijn geselecteerd;\nom de volledige map te selecteren, scrol je eerst naar beneden", + + "f_dls": 'de bestandslinks in de huidige map zijn veranderd in downloadlinks', + + "f_partial": "Om een bestand dat momenteel wordt geรผpload veilig te downloaden, klikt u op het bestand met dezelfde bestandsnaam, maar zonder de bestandsextensie .PARTIAL. Druk op Annuleren of Escape om dit te doen.\n\nAls u op OK / Enter drukt, wordt deze waarschuwing genegeerd en gaat u verder met het downloaden van het gedeeltelijke .PARTIAL scratchbestand, waardoor u vrijwel zeker beschadigde gegevens krijgt.", + + "ft_paste": "plakken {0} items$NHotkey: ctrl-V", + "fr_eperm": 'kan de naam niet wijzigen:\nje hebt geen โ€œmoveโ€ rechten in deze map', + "fd_eperm": 'kan niet verwijderen:\nje hebt geen โ€œdeleteโ€ rechten in deze map', + "fc_eperm": 'kan niet knippen:\nje hebt geen โ€œmoveโ€ rechten in deze map', + "fp_eperm": 'kan niet plakken:\nje hebt geen โ€œschrijfโ€ rechten in deze map', + "fr_emore": "selecteer ten minste รฉรฉn item om te hernoemen", + "fd_emore": "selecteer minstens รฉรฉn item om te verwijderen", + "fc_emore": "selecteer ten minste รฉรฉn item om te knippen", + "fcp_emore": "selecteer ten minste รฉรฉn item om naar het klembord te kopiรซren", + + "fs_sc": "Deel de map waarin je je bevindt", + "fs_ss": "De geselecteerde bestand(en) delen", + "fs_just1d": "U kunt niet meer dan รฉรฉn map selecteren\nof mix bestanden en mappen in รฉรฉn selectie", + "fs_abrt": "โŒ Afbreken", + "fs_rand": "๐ŸŽฒ rand.naam", + "fs_go": "โœ… Maak share", + "fs_name": "Naam", + "fs_src": "Bron", + "fs_pwd": "Wachtwoord", + "fs_exp": "Verloopt", + "fs_tmin": "min", + "fs_thrs": "uur", + "fs_tdays": "dag(en)", + "fs_never": "eeuwig", + "fs_pname": "Optionele linknaam; is willekeurig als deze leeg is", + "fs_tsrc": "Het bestand of de map die u wilt delen", + "fs_ppwd": "Optioneel wachtwoord", + "fs_w8": "Delen...", + "fs_ok": "Druk op Enter/OK naar klembord te zetten\Druk op ESC/Annuleren om te sluiten", + + "frt_dec": "Kan sommige gevallen van gebroken bestandsnamen oplossen\">url-decode", + "frt_rst": "Gewijzigde bestandsnamen terugzetten naar de oorspronkelijke namen\">โ†บ reset", + "frt_abrt": "Afbreken en dit venster sluiten\">โŒ Annuleren", + "frb_apply": "HERNOEMEN TOEPASSEN", + "fr_adv": "Batch / metadata / patroon hernoemen\">Geavanceerd", + "fr_case": "Hoofdlettergevoelige regex\">case", + "fr_win": "Windows-veilige namen; vervangen <>:"\\|?* met japanse tekens over de volledige breedte\">win", + "fr_slash": "Vervang / met een teken waardoor er geen nieuwe mappen worden gemaakt\">geen /", + "fr_re": "Regex zoekpatroon om toe te passen op originele bestandsnamen; naar capturing groups kan worden verwezen in het onderstaande opmaakveld zoals <code>(1)</code> en <code>(2)</code> enzovoort", + "fr_fmt": "Geรฏnspireerd door foobar2000 :$N<code>(titel)</code> wordt vervangen door de titel van het nummer,$N<code>[(artiest) - ](titel)</code> sla [dit] gedeelte over als artiest leeg is$N<code>$lpad((tn),2,0)</code> vult tracknummer op tot 2 cijfers (0X)", + "fr_pdel": "Verwijderen", + "fr_pnew": "Opslaan als", + "fr_pname": "Geef een naam op voor je nieuwe preset", + "fr_aborted": "Afgebroken", + "fr_lold": "Oude naam", + "fr_lnew": "Nieuwe naam", + "fr_tags": "Tags voor de geselecteerde bestanden (alleen-lezen, alleen ter referentie):", + "fr_busy": "Hernoemen van {0} items...\n\n{1}", + "fr_efail": "Hernoemen mislukt:\n", + "fr_nchg": "{0} van de nieuwe namen zijn gewijzigd als gevolg van win en/of geen /\n\nOK om door te gaan met deze gewijzigde nieuwe namen?", + + "fd_ok": "Verwijderen OK", + "fd_err": "Verwijderen mislukt:\n", + "fd_none": "Er is niets verwijderd; misschien geblokkeerd door serverconfiguratie (xbd)?", + "fd_busy": "{0} items verwijderen...\n\n{1}", + "fd_warn1": "VERWIJDER deze {0} items?", + "fd_warn2": "LAATSTE KANS! Geen manier om ongedaan te maken. Verwijderen?", + + "fc_ok": "Knip {0} items", + "fc_warn": 'Knip {0} items\n\nmaar: alleen deze browser-tabblad kan weer plakken\n(omdat de selectie zo enorm is)', + + "fcc_ok": "{0} items naar klembord gekopieerd", + "fcc_warn": '{0} items naar klembord gekopieerd\n\maar: alleen deze browser-tabblad kan weer plakken\n(omdat de selectie zo enorm is)', + + "fp_apply": "Gebruik deze namen", + "fp_skip": "Conflicten overslaan", //m + "fp_ecut": "Knip of kopieer eerst enkele bestanden/mappen om te verplaatsen/plakken\n\nnotitie: je kunt knippen/plakken in verschillende browsertabbladen", + "fp_ename": "{0} items kunnen hier niet worden verplaatst omdat de namen al in gebruik zijn. Geef ze hieronder een nieuwe naam om verder te gaan, of verwijder de naam (\"conflicten overslaan\") om ze over te slaan:", //m + "fcp_ename": "{0} items kunnen hier niet worden gekopieerd omdat de namen al in gebruik zijn. Geef ze hieronder een nieuwe naam om verder te gaan, of verwijder de naam (\"conflicten overslaan\") om ze over te slaan:", //m + "fp_emore": "Er zijn nog enkele bestandsnaambotsingen die moeten worden opgelost", + "fp_ok": "Verplaatsen OK", + "fcp_ok": "Kopiรซren OK", + "fp_busy": "{0} items verplaatsen...\n\n{1}", + "fcp_busy": "{0} items kopiรซren...\n\n{1}", + "fp_abrt": "afbreken...", //m + "fp_err": "Verplaatsen mislukt:\n", + "fcp_err": "Kopieรซren mislukt:\n", + "fp_confirm": "Verplaats deze {0} items hierheen?", + "fcp_confirm": "Kopieer deze {0} items hier?", + "fp_etab": 'Kan klembord van ander browsertabblad niet lezen', + "fp_name": "Een bestand uploaden vanaf uw apparaat. Geef het een naam:", + "fp_both_m": '
    Kies wat je wilt plakken
    Enter = Verplaatsen {0} bestanden van ยซ{1}ยป\nESC = Upload {2} bestanden van je apparaat', + "fcp_both_m": '
    Kies wat je wilt plakken
    Enter = Kopieer {0} bestanden van ยซ{1}ยป\nESC = Upload {2} bestanden van je apparaat', + "fp_both_b": 'VerplaatsUpload', + "fcp_both_b": 'KopieerUpload', + + "mk_noname": "Voer een naam in het tekstveld aan de linkerkant voordat je verder gaat :p", + "nmd_i1": "Voeg ook de gewenste extensie toe, bijvoorbeeld .md", //m + "nmd_i2": "Je kunt alleen .md-bestanden maken omdat je geen verwijderrechten hebt", //m + + "tv_load": "Tekstdocument laden:\n\n{0}\n\n{1}% ({2} van de {3} MiB geladen)", + "tv_xe1": "Kon tekstbestand niet laden:\n\nfout ", + "tv_xe2": "404, bestand niet gevonden", + "tv_lst": "Lijst met tekstbestanden in", + "tvt_close": "Terugkeren naar mapweergave$NHotkey: M (of Esc)\">โŒ Sluiten", + "tvt_dl": "Download dit bestand$NHotkey: Y\">๐Ÿ’พ download", + "tvt_prev": "Vorig document tonen$NHotkey: i\">โฌ† prev", + "tvt_next": "Volgende document tonen$NHotkey: K\">โฌ‡ next", + "tvt_sel": "Selecteer bestand   ( voor knip / verplaats / verwijder / ... )$NHotkey: S\">sel", + "tvt_j": "json verfraaien$NHotkey: shift-J\">j", //m + "tvt_edit": "Bestand openen in teksteditor$NHotkey: E\">โœ๏ธ bewerk", + "tvt_tail": "Bestand controleren op wijzigingen; nieuwe regels in realtime weergeven\">๐Ÿ“ก volgen", + "tvt_wrap": "Automatische terugloop\">โ†ต", + "tvt_atail": "Vergrendelen scroll naar onderkant van pagina\">โš“", + "tvt_ctail": "Kleuren van terminals decoderen (ansi escape codes)\">๐ŸŒˆ", + "tvt_ntail": "Terugrollimiet (hoeveel tekst geladen moeten blijven)", + + "m3u_add1": "Nummer toegevoegd aan m3u afspeellijst", + "m3u_addn": "{0} nummers toegevoegd aan m3u-afspeellijst", + "m3u_clip": "m3u-afspeellijst nu gekopieerd naar klembord\n\nje moet een nieuw tekstbestand maken met de naam iets.m3u en de afspeellijst in dat document plakken; dit maakt het afspeelbaar", + + "gt_vau": "Laat geen video's zien, speel alleen de audio af\">๐ŸŽง", + "gt_msel": "Schakel bestandsselectie in; ctrl-klik op een bestand om te openen$N$N<em>indien actief: dubbelklik op een bestand / map om het te openen</em>$N$NHotkey: S\">multiselect", + "gt_crop": "Gecentreerde miniaturen\">crop", + "gt_3x": "Hi-res miniaturen\">3x", + "gt_zoom": "Zoom", + "gt_chop": "Verkorten", + "gt_sort": "Sorteer bij", + "gt_name": "naam", + "gt_sz": "grootte", + "gt_ts": "datum", + "gt_ext": "type", + "gt_c1": "Bestandsnamen meer inkorten (minder tonen)", + "gt_c2": "Bestandsnamen minder inkorten (meer tonen)", + + "sm_w8": "Zoeken...", + "sm_prev": "Onderstaande zoekresultaten zijn afkomstig van een eerdere zoekopdracht:\n ", + "sl_close": "Zoekresultaten sluiten", + "sl_hits": "Toont {0} treffers", + "sl_moar": "Laad meer", + + "s_sz": "grootte", + "s_dt": "datum", + "s_rd": "pad", + "s_fn": "naam", + "s_ta": "tags", + "s_ua": "op@", + "s_ad": "adv.", + "s_s1": "Minimaal MiB", + "s_s2": "Maximaal MiB", + "s_d1": "Min. iso8601", + "s_d2": "Max. iso8601", + "s_u1": "Uploaded na", + "s_u2": "en/of voor", + "s_r1": "Pad bevad   (spatie-gescheiden)", + "s_f1": "Naam bevat   (ontkennen met -nope)", + "s_t1": "Tags bevat   (^=start, einde=$)", + "s_a1": "Specifieke metadata-eigenschappen", + + "md_eshow": "Kan niet weergeven ", + "md_off": "[๐Ÿ“œreadme] uitgeschakeld in [โš™๏ธ] -- document verborgen", + + "badreply": "Mislukt om antwoord van server te parsen", + + "xhr403": "403: Toegang geweigerd\n\nprobeer F5 in te drukken, misschien ben je uitgelogd", + "xhr0": "Onbekend (waarschijnlijk verbinding met server verloren of server is offline)", + "cf_ok": "Sorry daarvoor -- DD" + wah + "OS-bescherming ingeschakeld\n\nalles zou binnen ongeveer 30 seconden moeten hervatten\n\nals er niets gebeurt, druk dan op F5 om de pagina opnieuw te laden", + "tl_xe1": "Kon submappen niet weergeven:\n\nfout ", + "tl_xe2": "404: Map niet gevonden", + "fl_xe1": "Kon bestanden in map niet weergeven:\n\nfout ", + "fl_xe2": "404: Map niet gevonden", + "fd_xe1": "Kon submap niet aanmaken:\n\nfout ", + "fd_xe2": "404: Bovenliggende map niet gevonden", + "fsm_xe1": "Kon bericht niet verzenden:\n\nfout ", + "fsm_xe2": "404: Bovenliggende map niet gevonden", + "fu_xe1": "Mislukt om unpost lijst van server te laden:\n\nfout ", + "fu_xe2": "404: Bestand niet gevonden??", + + "fz_tar": "gnu-tar bestand uitpakken (linux / mac)", + "fz_pax": "pax-formaat tar uitpakken (trager)", + "fz_targz": "gnu-tar met gzip niveau 3 compressie$N$Ndit is meestal erg langzaam, dus gebruik in plaats daarvan ongecomprimeerde tar", + "fz_tarxz": "gnu-tar met xz-niveau 1 compressie$N$Ndit is meestal erg langzaam, dus gebruik in plaats daarvan ongecomprimeerde tar", + "fz_zip8": "Zip met utf8 bestandsnamen (misschien onhandig op windows 7 en ouder)", + "fz_zipd": "Zip met traditionele cp437-bestandsnamen, voor echt oude software", + "fz_zipc": "cp437 met crc32 vroeg berekend$Nvoor MS-DOS PKZIP v2.04g (oktober 1993)$N(het duurt langer voordat het downloaden kan beginnen)", + + "un_m1": "Hieronder kunt u uw recente uploads verwijderen (of onvoltooide uploads afbreken)", + "un_upd": "Vernieuwen", + "un_m4": "of deel de bestanden die hieronder zichtbaar zijn:", + "un_ulist": "Toon", + "un_ucopy": "Kopieer", + "un_flt": "Optionele filter:  URL moet het volgende bevatten", + "un_fclr": "Reset filter", + "un_derr": 'unpost-verwijderen mislukt:\n', + "un_f5": 'Er is iets kapot, probeer te verversen of druk op F5', + "un_uf5": "Sorry, maar u moet de pagina vernieuwen (bijvoorbeeld door op F5 of CTRL-R te drukken) voordat deze upload kan worden afgebroken.", + "un_nou": 'Waarschuwing: server te druk om onvoltooide uploads weer te geven; klik straks op de "refresh" link', + "un_noc": 'Waarschuwing: unpost van volledig geรผploade bestanden is niet ingeschakeld/toegestaan in de serverconfiguratie', + "un_max": "Toont de eerste 2000 bestanden (gebruik de filter)", + "un_avail": "{0} recente uploads kunnen worden verwijderd
    {1} onvoltooide kunnen worden afgebroken", + "un_m2": "Gesorteerd op uploadtijd; meest recente eerst:", + "un_no1": "sike! geen enkele upload is recent genoeg", + "un_no2": "sike! geen uploads die aan dat filter voldoen zijn voldoende recent", + "un_next": "Verwijder de volgende {0} bestanden", + "un_abrt": "Afbreken", + "un_del": "Verwijderen", + "un_m3": "Je recente uploads laden...", + "un_busy": "Verwijderen van {0} bestanden...", + "un_clip": "{0} links gekopieerd naar klembord", + + "u_https1": "Je moet", + "u_https2": "overschakelen naar https", + "u_https3": "voor betere prestaties", + "u_ancient": 'Je browser is indrukwekkend oud -- misschien moet je in plaats daarvan bup gebruiken', + "u_nowork": "Je moet firefox 53+ of chrome 57+ of iOS 11+ hebben", + "tail_2old": "Je moet firefox 105+ of chrome 71+ of iOS 14.5+ hebben", + "u_nodrop": 'Je browser is te oud voor uploaden via slepen en neerzetten', + "u_notdir": "Dat is geen map!\n\nuw browser is te oud,\nprobeer in plaats daarvan sleep en neerzetten", + "u_uri": "Om afbeeldingen te slepen vanuit andere browser tabblad,\nplaats deze dan op de grote uploadknop", + "u_enpot": 'Overschakelen naar potato UI (kan uploadsnelheid verbeteren)', + "u_depot": 'Overschakelen naar fancy UI (kan uploadsnelheid verminderen)', + "u_gotpot": 'Overschakelen naar de potato UI voor verbeterde uploadsnelheid,\n\nVoel je vrij om het er niet mee eens te zijn en schakel terug!', + "u_pott": "

    Bestanden:   {0} klaar,   {1} mislukt,   {2} bezig,   {3} in de wachtrij

    ", + "u_ever": "Dit is de basis uploader; up2k heeft minstens het volgende nodig
    chrome 21 // firefox 13 // edge 12 // opera 12 // safari 5.1", + "u_su2k": 'Dit is de basis uploader; up2k is beter', + "u_uput": 'Optimaliseren voor snelheid (checksum overslaan)', + "u_ewrite": 'Je hebt geen schrijftoegang tot deze map', + "u_eread": 'Je hebt geen leestoegang tot deze map', + "u_enoi": 'Zoeken naar bestanden is niet ingeschakeld in de serverconfiguratie', + "u_enoow": "Overschrijven zal hier niet werken; je heb verwijder toestemming nodig", + "u_badf": 'Deze {0} bestanden (van {1} totaal) zijn overgeslagen, mogelijk door bestandssysteemmachtigingen:\n\n', + "u_blankf": 'Deze {0} bestanden (van {1} totaal) zijn leeg; alsnog uploaden?\n\n', + "u_applef": 'Deze {0} bestanden (van {1} totaal) zijn waarschijnlijk ongewenst;\nKlik op OK/Enter om de volgende bestanden over te slaan,\Klik op Annuleren/ESC niet uit te sluiten en deze ook te uploaden:\n\n', + "u_just1": '\nMisschien werkt het beter als je slechts รฉรฉn bestand selecteert', + "u_ff_many": "Als je Linux / MacOS / Android, gebruikt dan kan deze hoeveelheid bestanden Firefox crashen!\nals dat gebeurt, probeer het dan opnieuw (of gebruik Chrome).", + "u_up_life": "Deze upload wordt verwijderd van de server\n{0} nadat het is voltooid", + "u_asku": 'Upload deze {0} bestanden naar {1}', + "u_unpt": "Je kunt deze upload ongedaan maken / verwijderen met de linkerbovenhoek ๐Ÿงฏ", + "u_bigtab": 'We staan op het punt om {0} bestanden te tonen\n\nDit kan uw browser laten crashen, weet je het zeker??', + "u_scan": 'Bestanden scannen...', + "u_dirstuck": 'Directory iterator liep vast bij het benaderen van het volgende {0} items; zal het volgende overslaan:', + "u_etadone": 'Klaar ({0}, {1} bestanden)', + "u_etaprep": '(klaarmaken om te uploaden)', + "u_hashdone": 'hashing klaar', + "u_hashing": 'Hash', + "u_hs": 'Hallo zeggen...', + "u_started": "De bestanden worden nu geรผpload; zie [๐Ÿš€]", + "u_dupdefer": "Duplicaat; wordt verwerkt na alle andere bestanden", + "u_actx": "klik op deze tekst om prestatieverlies
    bij het overschakelen naar andere vensters/tabbladen te voorkomen", + "u_fixed": "OK!  Fixed it ๐Ÿ‘", + "u_cuerr": "Mislukt bij het uploaden van stuk {0} van {1};\nwaarschijnlijk ongevaarlijk, doorgaan\n\nbestand: {2}", + "u_cuerr2": "Upload door server geweigerd (stuk {0} van {1});\nzal later opnieuw proberen\n\nbestand: {2}\n\nfout ", + "u_ehstmp": "Zal opnieuw proberen; zie rechtsonder", + "u_ehsfin": "Server heeft het verzoek om de upload te finaliseren afgewezen; opnieuw proberen...", + "u_ehssrch": "Server heeft de zoekaanvraag afgewezen; opnieuw proberen...", + "u_ehsinit": "Server heeft het verzoek om het uploaden te starten afgewezen; opnieuw proberen...", + "u_eneths": "Netwerkfout tijdens het uitvoeren van de uploadhanddruk; opnieuw proberen...", + "u_enethd": "Netwerkfout tijdens het testen van het bestaan van het doel; opnieuw proberen...", + "u_cbusy": "Wachten tot de server ons weer vertrouwt na een netwerkstoring...", + "u_ehsdf": "Server heeft geen schijfruimte meer!\n\nzal blijven proberen, voor het geval iemand genoeg ruimte vrijmaakt om door te gaan", + "u_emtleak1": "Het lijkt erop dat uw webbrowser een geheugenlek heeft;\nprobeer", + "u_emtleak2": ' over te schakel over naar https (aanbevolen) of ', + "u_emtleak3": ' ', + "u_emtleakc": 'Probeer het volgende:\n
    • druk op F5 om de pagina te verversen
    • dan schakel de  mt  uit, deze knop staat in  โš™๏ธ instellingen
    • en probeer de upload opnieuw
    Uploaden zal wat langzamer gaan, maar ja.\nSorry voor de problemen!\n\nPS: chrome v107 heeft een bugfix voor dit', + "u_emtleakf": '{robeer het volgende:\n
    • druk op F5 om de pagina te verversen
    • dan activeer ๐Ÿฅ” (aardappel) in de upload scherm
    • en probeer de upload opnieuw
    \nPS: firefox heeft mogelijk een fix op een gegeven moment', + "u_s404": "Niet gevonden op server", + "u_expl": "Leg uit", + "u_maxconn": "De meeste browsers beperken dit tot 6, maar firefox laat je dit verhogen met network.http.max-persistent-connections-per-server in about:config", + "u_tu": '

    WAARSCHUWING: turbo ingeschakeld,  webbrowser detecteert en hervat onvolledige uploads mogelijk niet; zie de tooltip van de turboknop

    ', + "u_ts": '

    WAARSCHUWING: turbo ingeschakeld,  zoekresultaten kunnen onjuist zijn; zie turbo-knop tooltip

    ', + "u_turbo_c": "Turbo is uitgeschakeld in serverconfiguratie", + "u_turbo_g": "Turbo uitgeschakeld, je geen recht om mappen in deze volume te tonen", + "u_life_cfg": 'Automatisch verwijderen na minuten (of uur)', + "u_life_est": 'Upload wordt verwijderd ---', + "u_life_max": 'Deze map dwingt een\nmaximale levensduur van {0} af', + "u_unp_ok": 'unpost is toegestaan voor {0}', + "u_unp_ng": 'unpost zijn NIET toegestaan', + "ue_ro": 'Je toegang tot deze map is alleen-lezen\n\n', + "ue_nl": 'Je bent momenteel niet ingelogd', + "ue_la": 'Je bent momenteel aangemeld als "{0}"', + "ue_sr": 'U bevindt zich momenteel in de bestandszoekmodus\n\nschakel over naar uploadmodus door op het vergrootglas te klikken ๐Ÿ”Ž (naast de grote ZOEK-knop), en probeer opnieuw te uploaden\n\nsorry', + "ue_ta": 'Probeer opnieuw te uploaden, het zou nu moeten werken', + "ue_ab": "Dit bestand wordt al geรผpload naar een andere map en die upload moet worden voltooid voordat het bestand naar een andere map kan worden geรผpload.\n\nU kunt de eerste upload afbreken en laten vergeten met de linkerbovenhoek ๐Ÿงฏ", + "ur_1uo": "OK: Bestand succesvol geรผpload", + "ur_auo": "OK: Alle {0} bestanden succesvol geรผpload", + "ur_1so": "OK: Bestand gevonden op server", + "ur_aso": "OK: Alle {0} bestanden gevonden op server", + "ur_1un": "Uploaden mislukt, sorry", + "ur_aun": "Alle {0} uploads mislukt, sorry", + "ur_1sn": "Bestand NIET gevonden op server", + "ur_asn": "De {0} bestanden zijn NIET gevonden op de server", + "ur_um": "Voltooid;\n{0} upload(s) OK,\n{1} upload(s) mislukt, sorry", + "ur_sm": "Voltooid;\n{0} bestand(en) gevonden op de server,\n{1} bestand(en) NIET gevonden op de server", + + "rc_opn": "Openen", //m + "rc_ply": "Afspelen", //m + "rc_pla": "Afspelen als audio", //m + "rc_txt": "Openen in bestandsviewer", //m + "rc_md": "Openen in teksteditor", //m + "rc_dl": "Downloaden", //m + "rc_zip": "Downloaden als archief", //m + "rc_del": "Verwijderen", //m + "rc_cut": "Knippen", //m + "rc_cpy": "Kopiรซren", //m + "rc_pst": "Plakken", //m + "rc_nfo": "Nieuwe map", //m + "rc_nfi": "Nieuw bestand", //m + "rc_sal": "Alles selecteren", //m + "rc_sin": "Selectie omkeren", //m + + "lang_set": "Vernieuw de pagina om de wijziging door te voeren?", + + "splash": { + "a1": "Update", + "b1": "Hallo, hoe gaat het met jou?   (Je bent niet ingelogd)", + "c1": "Uitloggen", + "d1": "Voorwaarde", + "d2": "Toont de status van alle actieve threads", + "e1": "Configuratie opnieuw laden.", + "e2": "Leest configuratiebestanden opnieuw in$N(accounts, volumes, volumeschakelaars)$Nen brengt alle e2ds-volumes in kaart$N$Nopmerking: veranderingen in globale parameters$Nvereist een volledige herstart van de server", + "f1": "Je kan het volgende lezen:", + "g1": "Je kan naar het volgende uploaden:", + "cc1": "Schakelaars en dergelijke:", + "h1": "k304 uitschakelen", + "i1": "k304 inschakelen", + "j1": "k304 verbreekt de verbinding voor elke HTTP 304. Dit helpt tegen bepaalde proxy servers die kunnen vastlopen/plotseling stoppen met het laden van pagina's, maar het vermindert ook de prestaties aanzienlijk", + "k1": "Instellingen resetten", + "l1": "Inloggen:", + "ls3": "inloggen", //m + "lu4": "gebruikersnaam", //m + "lp4": "wachtwoord", //m + "lo3": "โ€œ{0}โ€ overal afmelden", //m + "lo2": "dit zal de sessie in alle browsers beรซindigen", //m + "m1": "Welkom terug,", + "n1": "404: bestand bestaat niet  โ”( ยด -`)โ”Œ", + "o1": 'of misschien heb je geen toegang? probeer een wachtwoord of ga naar startscherm', + "p1": "403: toegang geweigerd  ~โ”ปโ”โ”ป", + "q1": 'Probeer een wachtwoord of ga naar startscherm', + "r1": "Ga naar startscherm", + ".s1": "Kaart", + "t1": "Actie", + "u2": "Tijd sinds iemand voor het laatst naar de server schreef$N( upload / naamswijziging / ... )$N$N17d = 17 dagen$N1h23 = 1 uur 23 minuten$N4m56 = 4 minuten 56 secondes", + "v1": "Verbinden", + "v2": "Gebruik deze server als een lokale harde schijf", + "w1": "Overschakelen naar https", + "x1": "Wachtwoord wijzigen", + "y1": "Jou gedeelde items", + "z1": "Ontgrendel gebied:", + "ta1": "Je moet eerst een nieuw wachtwoord invoeren", + "ta2": "Herhaal om nieuw wachtwoord te bevestigen:", + "ta3": "Typefout gevonden; probeer het opnieuw", + "nop": "FOUT: Wachtwoord mag niet leeg zijn", //m + "nou": "FOUT: Gebruikersnaam en/of wachtwoord mag niet leeg zijn", //m + "aa1": "Inkomend:", + "ab1": "Schakel nr. 304 uit", + "ac1": "Schakel nr. 304 in", + "ad1": "Nr. 304 stopt al het cachegebruik. Als k304 niet voldoende was, probeer dan deze. Vermenigvuldigt het dataverbruik.!", + "ae1": "Uitgaand:", + "af1": "Recent geรผploade bestanden weergeven", + "ag1": "Bekende IdP-gebruikers weergeven", + } +}; diff --git a/copyparty/web/tl/nno.js b/copyparty/web/tl/nno.js new file mode 100644 index 00000000..7d99ddfa --- /dev/null +++ b/copyparty/web/tl/nno.js @@ -0,0 +1,707 @@ +Ls.nno = { + "tt": "Nynorsk", + + "cols": { + "c": "handlingsknappar", + "dur": "varigheit", + "q": "kvalitet / bitrate", + "Ac": "lydformat", + "Vc": "videoformat", + "Fmt": "format / innpakning", + "Ahash": "lydkontrollsum", + "Vhash": "videokontrollsum", + "Res": "opplรธysing", + "T": "filtype", + "aq": "lydkvalitet / bitrate", + "vq": "videokvalitet / bitrate", + "pixfmt": "fargekoding / detaljnivรฅ", + "resw": "horisontal opplรธysing", + "resh": "vertikal opplรธysing", + "chs": "lydkanaler", + "hz": "lydopplรธsing", + }, + + "hks": [ + [ + "ymse", + ["ESC", "lukk saker og ting"], + + "filbehandlar", + ["G", "listevisning eller ikon"], + ["T", "miniatyrbilder pรฅ/av"], + ["โ‡ง A/D", "ikonstorleik"], + ["ctrl-K", "slett valde"], + ["ctrl-X", "klipp ut valde"], + ["ctrl-C", "kopiรฉr รฅt utklippstavle"], + ["ctrl-V", "lim inn (flytt/kopiรฉr)"], + ["Y", "last ned valde"], + ["F2", "endre namn pรฅ valde"], + + "filmarkering", + ["space", "markรฉr fil"], + ["โ†‘/โ†“", "flytt markรธr"], + ["ctrl โ†‘/โ†“", "flytt markรธr og scroll"], + ["โ‡ง โ†‘/โ†“", "velg forr./neste fil"], + ["ctrl-A", "velg alle filer / mapper"], + ], [ + "navigering", + ["B", "mappehierarki eller filsti"], + ["I/K", "forr./neste mappe"], + ["M", "eitt nivรฅ opp (eller lukk)"], + ["V", "vis mapper eller tekstfiler"], + ["A/D", "panelstorleik"], + ], [ + "musikkspelar", + ["J/L", "forr./neste song"], + ["U/O", "hopp 10sek bak/fram"], + ["0..9", "hopp รฅt 0%..90%"], + ["P", "pause, eller start / fortsett"], + ["S", "marker spelande song"], + ["Y", "last ned song"], + ], [ + "bildevisar", + ["J/L, โ†/โ†’", "forr./neste bilde"], + ["Home/End", "fรธrste/siste bilde"], + ["F", "fullskjermvisning"], + ["R", "rotรฉr รฅt hรธyre"], + ["โ‡ง R", "rotรฉr รฅt venstre"], + ["S", "markรฉr bilde"], + ["Y", "last ned bilde"], + ], [ + "videospelar", + ["U/O", "hopp 10sek bak/fram"], + ["P/K/Space", "pause / fortsett"], + ["C", "fortsett รฅt neste fil"], + ["V", "gjenta avspeling"], + ["M", "lyd av/pรฅ"], + ["[ og ]", "gjentaksintervall"], + ], [ + "dokumentvisar", + ["I/K", "forr./neste fil"], + ["M", "lukk tekstdokument"], + ["E", "redigรฉr tekstdokument"], + ["S", "markรฉr fil (for F2/ctrl-x/...)"], + ["Y", "last ned tekstfil"], + ["โ‡ง J", "formattรฉr json"], + ] + ], + + "m_ok": "OK", + "m_ng": "Avbryt", + + "enable": "Aktiv", + "danger": "VARSKU", + "clipped": "kopiert รฅt utklippstavla", + + "ht_s1": "sekund", + "ht_s2": "sekund", + "ht_m1": "minutt", + "ht_m2": "minutt", + "ht_h1": "time", + "ht_h2": "timar", + "ht_d1": "dag", + "ht_d2": "dagar", + "ht_and": " og ", + + "goh": "kontrollpanel", + "gop": 'navigรฉr รฅt mappa fรธr den her">forr.', + "gou": 'navigรฉr eitt nivรฅ opp">opp', + "gon": 'navigรฉr รฅt mappa etter den her">neste', + "logout": "Logg ut ", + "login": "Logg inn", + "access": " รฅtgang", + "ot_close": "lukk reiskap", + "ot_search": "sรธk etter filer ved รฅ angje filnamn, mappenamn, tid, storleik, eller metadata som songtittel / artist / osv.$N$N<code>foo bar</code> = inneheld bรฅe ยซfooยป og ยซbarยป,$N<code>foo -bar</code> = innehold ยซfooยป men ikkje ยซbarยป,$N<code>^yana .opus$</code> = startar med ยซyanaยป, filtype ยซopusยป$N<code>"try unite"</code> = ยซtry uniteยป eksakt$N$Ndatoformat er iso-8601, sรฅ f.eks.$N<code>2009-12-31</code> eller <code>2020-09-12 23:30:00</code>", + "ot_unpost": "unpost: slett filer som du nyleg har lastet opp; ยซangre-knappenยป", + "ot_bup": "bup: tradisjonell / primitiv filopplasting,$N$Nfungerar i om lag samtlege nettlesarar", + "ot_mkdir": "mkdir: lag ei ny mappe", + "ot_md": "new-file: lag ein ny tekstfil", + "ot_msg": "msg: send ein beskjed รฅt serverloggen", + "ot_mp": "musikkspelarinstillinger", + "ot_cfg": "andre innstillinger", + "ot_u2i": 'up2k: last opp filer (viss du har skriveรฅtgang) eller bytt รฅt sรธkemodus for รฅ sjekke om filene finnast ein eller annan plass pรฅ serveren$N$Nopplastinger kan startast opp att etter avbrot, skjer stykkevis for potensielt hรธgare ytelse, og ivaretek datostempling -- men bruker litt meir prosessorkraft enn [๐ŸŽˆ]  (den primitive opplastaren "bup")

    mens opplastinger fรธregรฅr sรฅ visast framdrifta her oppe!', + "ot_u2w": 'up2k: filopplasting med stรธtte for รฅ starte opp att avbrotne opplastinger -- steng ned nettlesaren og drage dei same filene inn i nettlesaren igjen for รฅ plukke opp att der du slapp$N$Nopplastinger skjer stykkevis for potensielt hรธgare ytelse, og ivaretek datostempling -- men bruker litt meir prosessorkraft enn [๐ŸŽˆ]  (den primitive opplastaren "bup")

    mens opplastinger fรธregรฅr sรฅ visast framdrifta her oppe!', + "ot_noie": 'Fungerer mye betre i Chrome / Firefox / Edge', + + "ab_mkdir": "lag mappe", + "ab_mkdoc": "ny tekstfil", + "ab_msg": "send melding", + + "ay_path": "gรฅ videre รฅt mapper", + "ay_files": "gรฅ videre รฅt filer", + + "wt_ren": "gje nye namn รฅt dei valde filene$NSnarvei: F2", + "wt_del": "slett dei valde filene$NSnarvei: ctrl-K", + "wt_cut": "klipp ut dei valde filene <small>(for รฅ lime inn ein annan plass)</small>$NSnarvei: ctrl-X", + "wt_cpy": "kopiรฉr dei valde filene รฅt utklippstavla$N(for รฅ lime inn ein annan plass)$NSnarvei: ctrl-C", + "wt_pst": "lim inn filer (som tidligare blei klipt ut / kopiert ein annan plass)$NSnarvei: ctrl-V", + "wt_selall": "velg alle filer$NSnarvei: ctrl-A (mens fokus er pรฅ ei fil)", + "wt_selinv": "invertรฉr utval", + "wt_zip1": "last ned denne mappa som eit arkiv", + "wt_selzip": "last ned dei valde filene som eit arkiv", + "wt_seldl": "last ned dei valde filene$NSnarvei: Y", + "wt_npirc": "kopiรฉr songinfo (irc-formatert)", + "wt_nptxt": "kopiรฉr songinfo", + "wt_m3ua": "legg song รฅt i m3u-speleliste$N(husk รฅ klikk pรฅ ๐Ÿ“ปcopy senere)", + "wt_m3uc": "kopiรฉr m3u-spelelista รฅt utklippstavla", + "wt_grid": "bytt mellom ikon og listevising$NSnarvei: G", + "wt_prev": "fรธrre song$NSnarvei: J", + "wt_play": "play / pause$NSnarvei: P", + "wt_next": "neste song$NSnarvei: L", + + "ul_par": "samtidige handl.:", + "ut_rand": "finn opp nye tilfeldige filnamn", + "ut_u2ts": "gje fila pรฅ serveren same$Ntidsstempel som lokalt hos deg\">๐Ÿ“…", + "ut_ow": "overskrive eksisterande filer pรฅ serveren?$N๐Ÿ›ก๏ธ: aldri (finn pรฅ eit nytt filnamn i staden for)$N๐Ÿ•’: overskriv viss fila รฅt serveren er eldre$Nโ™ป๏ธ: alltid, gitt at innhaldet er annleis$Nโญ๏ธ: hopp over alle eksisterande filer", + "ut_mt": "fortsett รฅ synfare kรธa mens opplasting fรธregรฅr$N$Nskru denne av dersom du har ein$Ntreig prosessor eller harddisk", + "ut_ask": 'bekreft filutvalg fรธr opplasting startar">๐Ÿ’ญ', + "ut_pot": "forbetre ytinga pรฅ treige einheiter ved รฅ$Nforenkle brukergrensesnittet", + "ut_srch": "gjer eit sรธk i staden for รฅ laste opp --$Nleitar gjennom alle mappane du har lov รฅt รฅ sjรฅ", + "ut_par": "sett รฅt 0 for รฅ midlertidig stoppe opplasting$N$Nhรธge verdier (4 eller 8) kan gje betre yting,$Nspesielt pรฅ treige internettlinjer$N$Nbรธr ikkje vere hรธgare enn 1 pรฅ LAN$Neller viss serveren sin harddisk er treig", + "ul_btn": "slepp filer / mapper
    her (eller klikk meg)", + "ul_btnu": "L A S T   O P P", + "ul_btns": "F I L S ร˜ K", + + "ul_hash": "synfar", + "ul_send": " send", + "ul_done": "total", + "ul_idle1": "ingen handlinger i kรธen", + "ut_etah": "snitthastigheit for <em>synfaring</em> samt gjenstรฅande tid", + "ut_etau": "snitthastigheit for <em>opplasting</em> samt gjenstรฅande tid", + "ut_etat": "<em>total</em> snitthastigheit og gjenstรฅande tid", + + "uct_ok": "fullfรธrt uten problem", + "uct_ng": "fullfรธrt under tvil (duplikat, ikkje funne, ...)", + "uct_done": "fullfรธrt (enten <em>ok</em> eller <em>ng</em>)", + "uct_bz": "aktive handlinger (synfaring / opplasting)", + "uct_q": "kรธa", + + "utl_name": "filnamn", + "utl_ulist": "vis", + "utl_ucopy": "kopiรฉr", + "utl_links": "lenker", + "utl_stat": "status", + "utl_prog": "fremdrift", + + // mรฅ vere korte: + "utl_404": "404", + "utl_err": "FEIL!", + "utl_oserr": "OS-feil", + "utl_found": "funnet", + "utl_defer": "seinare", + "utl_yolo": "YOLO", + "utl_done": "ferdig", + + "ul_flagblk": "filene har blitt lagd i kรธa
    men det er ein anna nettlesarfane som held pรฅ med synfaring eller opplasting akkurat no,
    sรฅ venter รฅt den er ferdig fรธrst", + "ul_btnlk": "brytaren har blitt lรฅst รฅt denne tilstanden i serverens konfigurasjon", + + "udt_up": "Last opp", + "udt_srch": "Sรธk", + "udt_drop": "Slepp filene her", + + "u_nav_m": '
    kva har du?
    Enter = Filer (รฉin eller fleire)\nESC = ร‰i mappe (inkludert undermapper)', + "u_nav_b": 'Filerร‰i mappe', + + "cl_opts": "brytarar", + "cl_hfsz": "filstorleik", + "cl_themes": "utsjรฅnad", + "cl_langs": "sprรฅk", + "cl_ziptype": "nedlasting av mapper", + "cl_uopts": "up2k-brytarar", + "cl_favico": "favicon", + "cl_bigdir": "store mapper", + "cl_hsort": "#sort", + "cl_keytype": "notasjon for musikalsk dur", + "cl_hiddenc": "skjulte kolonner", + "cl_hidec": "skjul", + "cl_reset": "nullstill", + "cl_hpick": "klikk pรฅ overskrifta รฅt kolonnene du รธnskjer รฅ skjule i tabellen nedanfor", + "cl_hcancel": "kolonne-skjuling avbrote", + "cl_rcm": "hรธgreklikkmeny", + + "ct_grid": '็”ฐ ikon', + "ct_ttips": 'vis hjelpetekst ved รฅ holde musa over ting">โ„น๏ธ tips', + "ct_thumb": 'vis miniatyrbilder i staden for ikon$NSnarvei: T">๐Ÿ–ผ๏ธ bilder', + "ct_csel": 'bruk tastane CTRL og SHIFT for markering av filer i ikonvising">merk', + "ct_dl": 'last ned filer (ikkje vis i nettleseren)">dl', + "ct_ihop": 'bla ned รฅt sist viste bilde nรฅr bildevisaren lukkast">gโฎฏ', + "ct_dots": 'vis skjulte filer (gitt at serveren tillรจt det)">.synlig', + "ct_qdel": 'sletteknappen spรธr berre รฉin gong om stadfesting">hurtig๐Ÿ—‘๏ธ', + "ct_dir1st": 'sortรฉr slik at mapper kjem framanfor filer">๐Ÿ“ fรธrst', + "ct_nsort": 'naturlig sortering (skjรธnar tal i filnamn)">nsort', + "ct_utc": 'bruk UTC for alle klokkeslett">UTC', + "ct_readme": 'vis README.md nedanfor filene">๐Ÿ“œ readme', + "ct_idxh": 'vis index.html i staden for filliste">htm', + "ct_sbars": 'vis rullgardiner / skrollefelt">โŸŠ', + + "cut_umod": 'i tilfelle ei fil du lastar opp alt finnast pรฅ serveren, sรฅ skal tidsstempelet รฅt serveren oppdaterast slik at det stemmer overeins med din lokale fil (krev rettigheitene write+delete)">re๐Ÿ“…', + + "cut_turbo": "forenkla synfaring ved opplasting; bรธr etter alt รฅ dรธme ikkje skruast pรฅ:$N$Nnyttig dersom du var midt i ei svรฆr opplasting som mรฅtte startast pรฅ nytt av ein eller annan grunn, og du vil komme i gang igjen sรฅ raskt som i det heile mulig.$N$Nnรฅr denne er skrudd pรฅ sรฅ forenklast synfaringa kraftig; i staden for รฅ utfรธre ein trygg sjekk pรฅ om filene finnast pรฅ serveren i god stand, sรฅ sjekkast det kun om filstorleiken stemmer. Sรฅ dersom ein korrupt fil vere pรฅ serveren allerede, pรฅ same plass, med same storleik og namn, sรฅ blir det ikkje oppdaga.$N$Ndet anbefalast รฅ kun benytte denne funksjonen for รฅ komme seg raskt gjennom sjรธlve opplastinga, for sรฅ รฅ skru den av, og รฅt slutt "laste opp" dei same filene รฉin gong รฅt -- slik at integriteten kan verifiserast\">turbo", + + "cut_datechk": "har ingen effekt dersom turbo er skrudd av$N$Ngjer turbo bittelitt tryggare ved รฅ sjekke datostemplinga pรฅ filene (i tillegg รฅt filstorleik)$N$Nburde oppdage og gjenoppta dei fleste ufullstendige opplastinger, men er ikkje ein fullverdig erstatning for รฅ deaktivere turbo og gjere ein skikkeleg sjekk\">date-chk", + + "cut_u2sz": "storleik i megabyte for kvart bruddstykke for opplasting. Store verdiar flyg betre over atlanteren. Smรฅ verdiar kan vere betre pรฅ flettande ustabile samband", + + "cut_flag": "samkรธyrer nettlesarfaner slik at berre รฉin $N kan holde pรฅ med synfaring / opplasting $N -- andre faner mรฅ รณg ha denne skrudd pรฅ $N -- fungerar kun innanom same domene", + + "cut_az": "last opp filer i alfabetisk rekkefรธlge, i staden for minste-fil-fรธrst$N$Nalfabetisk kan gjere det lettare รฅ anslรฅ om alt gjekk bra, men er bittelitt treigare pรฅ fiber / LAN", + + "cut_nag": "meldingsvarsel nรฅr opplasting er ferdig$N(kun om nettlesarfana ikkje er synlig)", + "cut_sfx": "lydvarsel nรฅr opplasting er ferdig$N(kun om nettlesarfanen ikkje er synlig)", + + "cut_mt": "raskere synfaring ved รฅ bruke heile CPU'en$N$Ndenne funksjonen nytter web-workers$Nog krev meir RAM (opptil 512 MiB ekstra)$N$Ngjer https 30% raskare, http 4.5x raskare\">mt", + + "cut_wasm": "bruk wasm i staden for nettlesaren sin sha512-funksjon; gjev betre yting pรฅ chrome-baserte nettlesarar, men brukar meir CPU, og eldre versjoner av chrome toler det ikkje (et opp all RAM og krรฆsjer)\">wasm", + + "cft_text": "ikontekst (blank ut og last siden pรฅ nytt for รฅ deaktivere)", + "cft_fg": "farge", + "cft_bg": "bakgrunnsfarge", + + "cdt_lim": "maks mengd filer รฅ vise per mappe", + "cdt_ask": "vis knappar for รฅ laste fleire filer nederst pรฅ sida i staden for รฅ gradvis laste meir av mappea nรฅr man scroller ned", + "cdt_hsort": "antall sorteringsreglar (<code>,sorthref</code>) som skal inkluderast nรฅr media-URL'ar genererast. Dersom denne er 0 sรฅ vil sorteringsreglar i URL'ar korkje bli generert eller lest", + "cdt_ren": "slรฅ pรฅ tilpassa hรธgreklikkmeny (den vanlege menyen er tilgjengeleg med shift + hรธgreklikk)", + + "tt_entree": "bytt รฅt mappehierarki$NSnarvei: B", + "tt_detree": "bytt รฅt tradisjonell stivising$NSnarvei: B", + "tt_visdir": "bla ned รฅt den รฅpne mappa", + "tt_ftree": "bytt mellom filstruktur og tekstfiler$NSnarvei: V", + "tt_pdock": "vis dei overordna mappane i eit panel", + "tt_dynt": "รธk bredda pรฅ panelet ettersom treet utvider seg", + "tt_wrap": "linjebryting", + "tt_hover": "vis heile mappenamnet nรฅr musepeikaren treff mappa$N( gjer diverre at scrollhjulet fusker dersom musepeikaren ikkje finn seg i grรธfta )", + + "ml_pmode": "ved enden av mappa", + "ml_btns": "knapper", + "ml_tcode": "konvertering", + "ml_tcode2": "konvertรฉr til", + "ml_tint": "tint", + "ml_eq": "audio equalizer (tonejustering)", + "ml_drc": "compressor (volumutjevning)", + + "mt_loop": "spel den same songen om og om igjen\">๐Ÿ”", + "mt_one": "spel kun รฉin song\">1๏ธโƒฃ", + "mt_shuf": "songane i kvar mappe$Nspelast i tilfeldig rekkefรธlge\">๐Ÿ”€", + "mt_aplay": "prรธv รฅ starte avspeling viss linken du trykte pรฅ for รฅ รฅpne nettsida inneheld ein song-ID$N$Nviss denne deaktiverast sรฅ vil heller ikkje nettside-URL'en bli oppdatert med song-ID'er nรฅr musikk spelast, i tilfelle innstillingane skulle gรฅ tapt og nettsida lastast pรฅ ny\">aโ–ถ", + "mt_preload": "hent ned litt av neste song i forkant,$Nslik at pausa i overgangen blir mindre\">forsyn", + "mt_prescan": "ved behov, bla รฅt neste mappe$Nslik at nettlesaren lar oss$Nfortsetja รฅ spele musikk\">bla", + "mt_fullpre": "hent ned heile neste song, ikkje berre litt:$Nโœ… skru pรฅ viss nettet ditt er ustabilt,$NโŒ skru av viss nettet ditt er treigt\">full", + "mt_fau": "for telefoner: forhindre at avspeling stoppar viss nettet er for treigt รฅt รฅ laste neste song i tide. Viss pรฅskrudd kan det forรฅrsake at songinfo ikkje visast korrekt i OS'et\">โ˜•๏ธ", + "mt_waves": "waveform seekbar:$Nvis volumkurve i avspelingsfeltet\">~s", + "mt_npclip": "vis knappar for รฅ kopiere info om songen du hรธyrer pรฅ\">/np", + "mt_m3u_c": "vis knapper for รฅ kopiere dei valde$Nsongene som innslag i ei m3u8-speleliste\">๐Ÿ“ป", + "mt_octl": "integrering med operativsystemet (fjernkontroll, infoskjerm)\">os-ctl", + "mt_oseek": "gje lรธyve รฅt spoling med fjernkontroll$N$Nmerk: pรฅ nokon eininger (iPhones) sรฅ vil$Ndette erstatte knappen for neste song\">spoling", + "mt_oscv": "vis albumcover pรฅ infoskjermen\">bilde", + "mt_follow": "bla slik at songen som spelast alltid er synleg\">๐ŸŽฏ", + "mt_compact": "tettpakka spelarpanel\">โŸŽ", + "mt_uncache": "prรธv denne viss ein song ikkje spelar riktig\">oppfrisk", + "mt_mloop": "repetรฉr heile mappa\">๐Ÿ” gjenta", + "mt_mnext": "hopp รฅt neste mappe og fortsett\">๐Ÿ“‚ neste", + "mt_mstop": "stopp avspeling\">โธ stopp", + "mt_cflac": "konvertรฉr flac / wav-filer รฅt {0}\">flac", + "mt_caac": "konvertรฉr aac / m4a-filer รฅt to {0}\">aac", + "mt_coth": "konvertรฉr alt anna (men ikkje mp3) รฅt {0}\">andre", + "mt_c2opus": "det beste valget for alle PCar og Android\">opus", + "mt_c2owa": "opus-weba, for iOS 17.5 og nyare\">owa", + "mt_c2caf": "opus-caf, for iOS 11 รฅt og med 17\">caf", + "mt_c2mp3": "bra valg for steinalder-utstyr (slรฅr aldri feil)\">mp3", + "mt_c2flac": "gir best lydkvalitet, men et nettet ditt\">flac", + "mt_c2wav": "heilt rรฅ lydstrรธm (bruker enda meir data enn flac)\">wav", + "mt_c2ok": "bra valg!", + "mt_c2nd": "ikkje det fรธretrekte valget for din einheit, men funker sikkert greit", + "mt_c2ng": "ser verkelig ikkje ut som enheiten din taklar dette formatet... men ok, vi prรธver", + "mt_xowa": "iOS har fortsatt problem med avspeling av owa-musikk i bakgrunnen. Bruk caf eller mp3 i staden for", + "mt_tint": "nivรฅ av bakgrunnsfarge pรฅ sรธkestripa (0-100),$Ngjer oppdateringer mindre distraherande", + "mt_eq": "aktivรฉr tonekontroll og forsterker;$N$Nboost <code>0</code> = normal volumskala$N$Nwidth <code>1  </code> = normal stereo$Nwidth <code>0.5</code> = 50% blanding venstre-hรธgre$Nwidth <code>0  </code> = mono$N$Nboost <code>-0.8</code> & width <code>10</code> = instrumental :^)$N$Nreduserer รณg daudtid mellom songfiler", + "mt_drc": "aktivรฉr volum-utjevning (dynamic range compressor); vil รณg aktivere tonejustering, sรฅ sett alle EQ-feltene bortsett frรฅ 'width' รฅt 0 viss du ikkje vil ha nokon EQ$N$Nfilteret vil dempe volumet pรฅ alt som er hรธgare enn TRESH dB; for kvar RATIO dB over grensa er det 1dB som treff hรธgtalarane, sรฅ standardverdiane tresh -24 og ratio 12 skal bety at volumet ikkje gjeng hรธgare enn -22 dB, slik at ein trygt kan รธke boost-verdien i equalizeren รฅt rundt 0.8, eller 1.8 kombinert med ATK 0 og RLS 90 (berre mulig i firefox; andre nettlesarar tek ikkje hรธgare RLS enn 1)$N$Nwikipedia forklarar dette mykje betre forresten", + + "mb_play": "lytt", + "mm_hashplay": "spel denne songen?", + "mm_m3u": "trykk Enter/OK for รฅ spele\ntrykk ESC/Avbryt for รฅ redigere", + "mp_breq": "krev firefox 82+, chrome 73+, eller iOS 15+", + "mm_bload": "lastar inn...", + "mm_bconv": "konverterer รฅt {0}, vent litt...", + "mm_opusen": "nettlesaren din skjรธnar ikkje aac / m4a;\nkonvertering รฅt opus er no aktivert", + "mm_playerr": "avspeling feilet: ", + "mm_eabrt": "Avspelingsforespรธrselen blei avbroten", + "mm_enet": "Nettet ditt er ustabilt", + "mm_edec": "Noko er galt med musikkfila", + "mm_esupp": "Nettleseren din skjรธnar ikkje filtypen", + "mm_eunk": "Ukjent feil", + "mm_e404": "Avspeling feilet: Fil ikkje funnet.", + "mm_e403": "Avspeling feilet: Hรธve nekta.\n\nKanskje du blei logget ut?\nPrรธv รฅ trykk F5 for รฅ laste sida pรฅ nytt.", + "mm_e500": "Avspeling feilet: Rusk i maskineriet, sjekk serverloggen.", + "mm_e5xx": "Avspeling feilet: ", + "mm_nof": "finn ikkje flere songer i nรฆrheita", + "mm_prescan": "Leitar etter neste song...", + "mm_scank": "Fann neste song:", + "mm_uncache": "alle songer vil lastast pรฅ nytt ved neste avspeling", + "mm_hnf": "songen finnast ikkje lenger", + + "im_hnf": "bildet finnast ikkje lenger", + + "f_empty": 'denne mappa er tom', + "f_chide": 'dette vil skjule kolonna ยซ{0}ยป\n\nfana for "andre innstillinger" let deg vise kolonna igjen', + "f_bigtxt": "denne fila er heeile {0} MiB -- vis som tekst?", + "f_bigtxt2": "vil du sjรฅ bunnen av filen i staden for? du vil da รณg sjรฅ nye linjer som blir lagd รฅt pรฅ slutten av filen i sanntid", + "fbd_more": '
    visar {0} av {1} filer; vis {2} eller vis alle
    ', + "fbd_all": '
    visar {0} av {1} filer; vis alle
    ', + "f_anota": "kun {0} av totalt {1} element blei markert;\nfor รฅ velje alt mรฅ du bla รฅt bunnen av mappa fรธrst", + + "f_dls": 'lenkane i denne mappa er no\nomgjort รฅt nedlastingsknappar', + + "f_partial": "For รฅ laste ned ei fil som enda ikkje er ferdig opplasta, klikk pรฅ filen som har same filnamn som denne, men uten .PARTIAL pรฅ slutten. Da vil serveren passe pรฅ at nedlastinga gรฅr bra. Derfor anbefalast det sterkt รฅ trykkje AVBRYT eller Escape-tasten.\n\nViss du verkelig รธnskjer รฅ laste ned denne .PARTIAL-filen pรฅ ein ukontrollert mรฅte, trykk OK / Enter for รฅ ignorere denne advarselen. Slik vil du hรธgst sannsynleg motta korrupt data.", + + "ft_paste": "Lim inn {0} filer$NSnarvei: ctrl-V", + "fr_eperm": 'kan ikkje endre namn:\ndu har ikkje hรธve รฅt โ€œmoveโ€ i denne mappa', + "fd_eperm": 'kan ikkje slette:\ndu har ikkje hรธve รฅt โ€œdeleteโ€ i denne mappa', + "fc_eperm": 'kan ikkje klippe ut:\ndu har ikkje hรธve รฅt โ€œmoveโ€ i denne mappa', + "fp_eperm": 'kan ikkje lime inn:\ndu har ikkje hรธve รฅt โ€œwriteโ€ i denne mappa', + "fr_emore": "vel minst รฉi fil som skal fรฅ nytt namn", + "fd_emore": "vel minst รฉi fil som skal slettast", + "fc_emore": "vel minst รฉi fil som skal klippast ut", + "fcp_emore": "vel minst รฉi fil som skal kopierast รฅt utklippstavla", + + "fs_sc": "del mappa du er i no", + "fs_ss": "del dei valde filene", + "fs_just1d": "du kan ikkje markere flere mapper samtidig,\neller kombinere mapper og filer", + "fs_abrt": "โŒ avbryt", + "fs_rand": "๐ŸŽฒ tilfeldig namn", + "fs_go": "โœ… opprett deling", + "fs_name": "namn", + "fs_src": "kjelde", + "fs_pwd": "passord", + "fs_exp": "varigheit", + "fs_tmin": "min", + "fs_thrs": "timar", + "fs_tdays": "dagar", + "fs_never": "for evig", + "fs_pname": "valfri namn (blir litt tilfeldig ellers)", + "fs_tsrc": "fil/mappe som skal delast", + "fs_ppwd": "valfri passord", + "fs_w8": "opprettar deling...", + "fs_ok": "trykk Enter/OK for รฅ kopiere lenka (for CTRL-V)\ntrykk ESC/Avbryt for รฅ kun bekrefta", + + "frt_dec": "kan korrigere visse รธdelagte filnamn\">url-decode", + "frt_rst": "nullstillar endringar (tilbake รฅt dei originale filnamna)\">โ†บ reset", + "frt_abrt": "avbryt og lukk dette vindauget\">โŒ avbryt", + "frb_apply": "IVERKSETT", + "fr_adv": "automasjon basert pรฅ metadata
    og / eller mรธnster (regulรฆre uttrykk)\">avansert", + "fr_case": "versalfรธlsomme uttrykk\">Aa", + "fr_win": "bytt ut bokstavane <>:"\\|?* med$Ntilsvarande som windows ikkje fรฅr panikk av\">win", + "fr_slash": "bytt ut bokstaven / slik at den ikkje forรฅrsakar at nye mapper opprettes\">ikke /", + "fr_re": "regex-mรธnster som kรธyrast pรฅ kvart filnamn. Grupper kan leses ut i format-feltet nedanfor, f.eks. <code>(1)</code> og <code>(2)</code> osv.", + "fr_fmt": "inspirert av foobar2000:$N<code>(title)</code> byttast ut med songtittel,$N<code>[(artist) - ](title)</code> dropper [dette] viss artist er blank$N<code>$lpad((tn),2,0)</code> visar songnr. med 2 siffer", + "fr_pdel": "slett", + "fr_pnew": "lagre som", + "fr_pname": "gje innstillingane dine eit namn", + "fr_aborted": "avbrote", + "fr_lold": "gamalt namn", + "fr_lnew": "nytt namn", + "fr_tags": "metadata for dei valde filene (kun for referanse):", + "fr_busy": "endrar namn pรฅ {0} filer...\n\n{1}", + "fr_efail": "endring av namn feila:\n", + "fr_nchg": "{0} av namna blei justert pga. win og/eller ikkje /\n\nvil du fortsetja med dei nye namna som blei valde?", + + "fd_ok": "sletting OK", + "fd_err": "sletting feila:\n", + "fd_none": "ingenting blei sletta; kanskje avvist av serverkonfigurasjon (xbd)?", + "fd_busy": "slettar {0} filer...\n\n{1}", + "fd_warn1": "SLETT disse {0} filene?", + "fd_warn2": "Siste sjanse! Dette kan ikkje angrast. Slett?", + + "fc_ok": "klipte ut {0} filer", + "fc_warn": 'klipte ut {0} filer\n\nmen: kun denne nettlesarfana har muligheit รฅt รฅ lime dei inn ein annan plass, siden antallet filer er helt hinsides', + + "fcc_ok": "kopierte {0} filer รฅt utklippstavla", + "fcc_warn": 'kopierte {0} filer รฅt utklippstavla\n\nmen: kun denne nettlesarfana har muligheit รฅt รฅ lime dei inn ein annan plass, sidan antallet filer er heilt pรฅ hi sida', + + "fp_apply": "bekreft og lim inn no", + "fp_skip": "berre ledige", + "fp_ecut": "du mรฅ klippe ut eller kopiere nokre filer / mapper fรธrst\n\nmerk: du kan gjerne jobbe pรฅ kryss av nettlesarfaner; klippe ut i รฉi fane, lime inn i ei anna", + "fp_ename": "{0} filer kan ikkje flyttast รฅt mรฅlmappa fordi det allereie finnast filer med same namn. Gi dei nye namn nedanfor, eller gje dei eit blankt namn (\"berre ledige\") for รฅ hoppe over dei:", + "fcp_ename": "{0} filer kan ikkje kopierast รฅt mรฅlmappa fordi det allereie finnast filer med same namn. Gi dei nye namn nedanfor, eller gje dei eit blankt namn (\"berre ledige\") for รฅ hoppe over dei:", + "fp_emore": "det er fortsatt fleire namn som mรฅ endrast", + "fp_ok": "flytting OK", + "fcp_ok": "kopiering OK", + "fp_busy": "flyttar {0} filer...\n\n{1}", + "fcp_busy": "kopierar {0} filer...\n\n{1}", + "fp_abrt": "avbryt...", + "fp_err": "flytting feila:\n", + "fcp_err": "kopiering feila:\n", + "fp_confirm": "flytt disse {0} filene hit?", + "fcp_confirm": "kopiรฉr disse {0} filene hit?", + "fp_etab": 'kunne ikkje lese lista med filer frรฅ den andre nettlesarfana', + "fp_name": "Lastar opp รฉi fil frรฅ einheita di. Velg filnamn:", + "fp_both_m": '
    kva skal limast inn her?
    Enter = Flytt {0} filer frรฅ ยซ{1}ยป\nESC = Last opp {2} filer frรฅ einheita din', + "fcp_both_m": '
    kva skal limes inn her?
    Enter = Kopiรฉr {0} filer frรฅ ยซ{1}ยป\nESC = Last opp {2} filer frรฅ einheita din', + "fp_both_b": 'FlyttLast opp', + "fcp_both_b": 'KopiรฉrLast opp', + + "mk_noname": "skriv inn eit namn i tekstboksa รฅt venstre fรธrst :p", + "nmd_i1": "leggja ogsรฅ til filendinga du vil, til dรธmes .md", //m + "nmd_i2": "du kan berre laga .md-filer fordi du ikkje har delete-tilgang", //m + + "tv_load": "Lastar inn tekstfil:\n\n{0}\n\n{1}% ({2} av {3} MiB lasta ned)", + "tv_xe1": "kunne ikkje laste tekstfil:\n\nfeil ", + "tv_xe2": "404, Fil ikkje funne", + "tv_lst": "tekstfiler i mappa", + "tvt_close": "gรฅ tilbake รฅt mappa$NSnarvei: M (eller Esc)\">โŒ lukk", + "tvt_dl": "last ned denne fila$NSnarvei: Y\">๐Ÿ’พ last ned", + "tvt_prev": "vis fรธrre dokument$NSnarvei: i\">โฌ† forr.", + "tvt_next": "vis neste dokument$NSnarvei: K\">โฌ‡ neste", + "tvt_sel": "markรฉr fila   ( for utklipp / sletting / ... )$NSnarvei: S\">merk", + "tvt_j": "formattรฉr json$NSnarvei: shift-J\">j", + "tvt_edit": "redigรฉr fila$NSnarvei: E\">โœ๏ธ endre", + "tvt_tail": "overvak fila for endringar og vis nye linjer i sanntid\">๐Ÿ“ก fรธlg", + "tvt_wrap": "tekstbryting\">โ†ต", + "tvt_atail": "hald dei nyaste linjene synlege (lรฅs รฅt botnen av sida)\">โš“", + "tvt_ctail": "skjรธn og vis terminalfargar (ansi-sekvensar)\">๐ŸŒˆ", + "tvt_ntail": "maksgrense for antal bokstavar som skal visast i vindauget", + + "m3u_add1": "songen blei lagd รฅt i m3u-spelelista", + "m3u_addn": "{0} songer blei lagde รฅt i m3u-spelelista", + "m3u_clip": "m3u-spelelista blei kopiert รฅt utklippstavla\n\nneste steg er รฅ oppretta eit tekstdokument med filnamn som sluttar pรฅ .m3u og lime inn spelelista der", + + "gt_vau": "ikkje vis videofiler, berre spel lyden\">๐ŸŽง", + "gt_msel": "markรฉr filer i staden for รฅ รฅpne dei; ctrl-klikk filer for รฅ overstyre$N$N<em>nรฅr aktiv: dobbelklikk ei fil / mappe for รฅ รฅpne</em>$N$NSnarvei: S\">markering", + "gt_crop": "skjer ikona slik at dei passar betre\">โœ‚", + "gt_3x": "hรธgare opplรธysing pรฅ ikon\">3x", + "gt_zoom": "zoom", + "gt_chop": "trim", + "gt_sort": "sortรฉr", + "gt_name": "namn", + "gt_sz": "stรธrr.", + "gt_ts": "dato", + "gt_ext": "type", + "gt_c1": "redusรฉr makslengde pรฅ filnamn", + "gt_c2": "auk makslengde pรฅ filnamn", + + "sm_w8": "sรธker...", + "sm_prev": "sรธkeresultata er frรฅ eit tidlegare sรธk:\n ", + "sl_close": "lukk sรธkeresultat", + "sl_hits": "visar {0} treff", + "sl_moar": "hent fleire", + + "s_sz": "stรธrr.", + "s_dt": "dato", + "s_rd": "sti", + "s_fn": "namn", + "s_ta": "meta", + "s_ua": "up@", + "s_ad": "avns.", + "s_s1": "stรธrre enn โ†“ MiB", + "s_s2": "mindre enn โ†“ MiB", + "s_d1": "nyare enn <dato>", + "s_d2": "eldre enn", + "s_u1": "lasta opp etter", + "s_u2": "og/eller fรธr", + "s_r1": "mappaamn inneheld", + "s_f1": "filnamn inneheld", + "s_t1": "song-info inneheld", + "s_a1": "konkrete eigenskapar", + + "md_eshow": "visar forenkla ", + "md_off": "[๐Ÿ“œreadme] er skrudd av i [โš™๏ธ] -- dokument skjult", + + "badreply": "Ugyldig svar frรฅ serveren", + + "xhr403": "403: Hรธve nekta\n\nkanskje du blei logga ut? prรธv รฅ trykk F5", + "xhr0": "ukjend (enten nettverksproblem eller serverkrรฆsj)", + "cf_ok": "om orsak -- liten tilfeldig kontroll, alt OK\n\nting skal fortsetja om ca. 30 sekund\n\nviss ikkje noko skjer, trykk F5 for รฅ laste sida pรฅ nytt", + "tl_xe1": "kunne ikkje hente undermapper:\n\nfeil ", + "tl_xe2": "404: Mappa finnast ikkje", + "fl_xe1": "kunne ikkje hente filer i mappa:\n\nfeil ", + "fl_xe2": "404: Mappa finnast ikkje", + "fd_xe1": "kan ikkje opprette ny mappe:\n\nfeil ", + "fd_xe2": "404: Den overordna mappa finnast ikkje", + "fsm_xe1": "kunne ikkje sende melding:\n\nfeil ", + "fsm_xe2": "404: Den overordna mappa finnast ikkje", + "fu_xe1": "kunne ikkje hente lista med nyleg opplastede filer frรฅ serveren:\n\nfeil ", + "fu_xe2": "404: Fila finnast ikkje??", + + "fz_tar": "ukomprimert gnu-tar arkiv, for linux og mac", + "fz_pax": "ukomprimert pax-tar arkiv, litt treigare", + "fz_targz": "gnu-tar pakket med gzip (nivรฅ 3)$N$NNB: denne er veldig treig;$Nukomprimert tar er betre", + "fz_tarxz": "gnu-tar pakket med xz (nivรฅ 1)$N$NNB: denne er veldig treig;$Nukomprimert tar er betre", + "fz_zip8": "zip med filnamn i utf8 (noko problematisk pรฅ windows 7 og eldre)", + "fz_zipd": "zip med filnamn i cp437, for hรธggamle maskiner", + "fz_zipc": "cp437 med tidlig crc32,$Nfor MS-DOS PKZIP v2.04g (oktober 1993)$N(รธker behandlingstid pรฅ server)", + + "un_m1": "nedanfor kan du angre / slette filer som du nyleg har lastet opp, eller avbryte ufullstendige opplastinger", + "un_upd": "oppdater", + "un_m4": "eller viss du vil dele nedlastings-lenkene:", + "un_ulist": "vis", + "un_ucopy": "kopiรฉr", + "un_flt": "valgfritt filter:  filnamn / filsti mรฅ inneholde", + "un_fclr": "nullstill filter", + "un_derr": 'unpost-sletting feilet:\n', + "un_f5": 'noko gjekk galt, prรธv รฅ oppdatere lista eller trykk F5', + "un_uf5": "om orsak, men du mรฅ laste sida pรฅ nytt (f.eks. ved รฅ trykkje F5 eller CTRL-R) fรธr denne opplastinga kan avbrytast", + "un_nou": 'advarsel: kan ikkje vise ufullstendige opplastingar akkurat no; klikk pรฅ oppdater-lenka om litt', + "un_noc": 'advarsel: angring av fullfรธrte opplastingar er deaktivert i serverkonfigurasjonen', + "un_max": "visar dei fรธrste 2000 filene (bruk filteret for รฅ snevre inn)", + "un_avail": "{0} nyleg opplasta filer kan slettast
    {1} ufullstendige opplastingar kan avbrytast", + "un_m2": "sortert etter opplastingstid; nyaste fรธrst:", + "un_no1": "men nei, her var det jaggu ikkje noko som slettast kan", + "un_no2": "men nei, her var det jaggu ingenting som passa overens med filteret", + "un_next": "slett dei neste {0} filene nedanfor", + "un_abrt": "avbryt", + "un_del": "slett", + "un_m3": "hentar lista med nyleg opplasta filer...", + "un_busy": "slettar {0} filer...", + "un_clip": "{0} lenkar kopiert รฅt utklippstavla", + + "u_https1": "du burde", + "u_https2": "bytte รฅt https", + "u_https3": "for hรธgare hastigheit", + "u_ancient": 'nettlesaren din er prehistorisk -- mulig du burde bruke bup i staden for', + "u_nowork": "krev firefox 53+, chrome 57+, eller iOS 11+", + "tail_2old": "krev firefox 105+, chrome 71+, eller iOS 14.5+", + "u_nodrop": 'nettlesaren din er for gamal รฅt รฅ laste opp filer ved รฅ drage dei inn i vindauget', + "u_notdir": "mottok ikkje mappa!\n\nnettlesaren din er for gamal,\nprรธv รฅ drage mappa inn i vindauget i staden for", + "u_uri": "for รฅ laste opp bilder frรฅ andre nettlesarvindauge,\nslipp bildet rett pรฅ den store last-opp-knappen", + "u_enpot": 'bytt รฅt enkelt UI (gir sannsynleg raskere opplasting)', + "u_depot": 'bytt รฅt snรฆsent UI (gir sannsynleg treigare opplasting)', + "u_gotpot": 'bytta รฅt eit enklare UI for รฅ laste opp raskere,\n\ndu kan gjerne bytte tilbake altsรฅ!', + "u_pott": "

    filer:   {0} ferdig,   {1} feilet,   {2} behandlast,   {3} i kรธ

    ", + "u_ever": "dette er den primitive opplastaren; up2k krev minst:
    chrome 21 // firefox 13 // edge 12 // opera 12 // safari 5.1", + "u_su2k": 'dette er den primitive opplastaren; up2k er betre', + "u_uput": 'litt raskare (uten sha512)', + "u_ewrite": 'du har ikkje hรธve til รฅ skrive i denne mappa', + "u_eread": 'du har ikkje hรธve til รฅ lese i denne mappa', + "u_enoi": 'filsรธk er deaktivert i serverkonfigurasjonen', + "u_enoow": "kan ikkje overskrive filer her (Delete-rettigheiten er nรธdvendig)", + "u_badf": 'Disse {0} filene (av totalt {1}) kan ikkje leses, kanskje pga rettigheitsproblem i filsystemet pรฅ datamaskinen din:\n\n', + "u_blankf": 'Disse {0} filene (av totalt {1}) er blanke / uten innhald; รธnskjer du รฅ laste dei opp uansett?\n\n', + "u_applef": 'Disse {0} filene (av totalt {1}) er antakeleg uรธnska;\nTrykk OK/Enter for รฅ HOPPE OVER disse filene,\nTrykk Avbryt/ESC for รฅ LASTE OPP disse filene รณg:\n\n', + "u_just1": '\nFunkar kanskje betre viss du berre tar รฉi fil om gangen', + "u_ff_many": 'Viss du bruker Linux / MacOS / Android, sรฅ kan dette antalet filer
    kanskje krรฆsje Firefox! Viss det skjer, sรฅ prรธv igjen (eller bruk Chrome).', + "u_up_life": "Filene slettast frรฅ serveren {0}\netter at opplastingen er fullfรธrt", + "u_asku": 'Laste opp disse {0} filene รฅt {1}', + "u_unpt": "Du kan angre / slette opplastinga med ๐Ÿงฏ oppe รฅt venstre", + "u_bigtab": 'Vil no vise {0} filer...\n\nDette kan krรฆsje nettlesaren din. Fortsette?', + "u_scan": 'Les mappane...', + "u_dirstuck": 'Nettleseren din fekk ikkje hรธve รฅt รฅ lese fรธlgande {0} filer/mapper, sรฅ dei blir hoppa over:', + "u_etadone": 'Ferdig ({0}, {1} filer)', + "u_etaprep": '(forberedar opplasting)', + "u_hashdone": 'synfaring ferdig', + "u_hashing": 'les', + "u_hs": 'serveren tenkjer...', + "u_started": "filene blir no lasta opp ๐Ÿš€", + "u_dupdefer": "duplikat; vil bli hรฅndtert รฅt slutt", + "u_actx": "klikk her for รฅ forhindre tap av
    yting ved bytte รฅt andre vindauge/faner", + "u_fixed": "OK!  Lรธyste seg ๐Ÿ‘", + "u_cuerr": "kunne ikkje laste opp del {0} av {1};\nsikkert greit, fortsetjar\n\nfil: {2}", + "u_cuerr2": "server nekta opplastinga (del {0} av {1});\nprรธver igjen senere\n\nfil: {2}\n\nerror ", + "u_ehstmp": "prรธver igjen; se mld nederst", + "u_ehsfin": "server nekta forespรธrselen om รฅ ferdigstille filen; prรธver igjen...", + "u_ehssrch": "server nekta forespรธrselen om รฅ utfรธre sรธk; prรธver igjen...", + "u_ehsinit": "server nekta forespรธrselen om รฅ begynne ei ny opplasting; prรธver igjen...", + "u_eneths": "eit problem med nettverket gjorde at avtale om opplasting ikkje kunne inngรฅs; prรธver igjen...", + "u_enethd": "eit problem med nettverket gjorde at filsjekk ikkje kunne utfรธrast; prรธver igjen...", + "u_cbusy": "ventar pรฅ klarering frรฅ server etter eit lite nettverksglipp...", + "u_ehsdf": "serveren er full!\n\nprรธver igjen regelmessig,\ni tilfelle nokon ryddar litt...", + "u_emtleak1": "uff, det er mulig at nettlesaren din har ei minnelekkasje...\nForeslรฅr", + "u_emtleak2": ' helst at du byttar รฅt https, eller ', + "u_emtleak3": ' at du ', + "u_emtleakc": 'prรธver fรธlgande:\n
    • trykk F5 for รฅ laste sida pรฅ nytt
    • sรฅ skru av  mt  brytaren under  โš™๏ธ innstillinger
    • og prรธv den same opplastinga igjen
    Opplasting vil gรฅ litt treigare, men det fรฅr sรฅ vere.\nBeklager bryderiet!\n\nPS: feilen skal vere fikset i chrome v107', + "u_emtleakf": 'prรธver fรธlgende:\n
    • trykk F5 for รฅ laste sida pรฅ nytt
    • sรฅ skru pรฅ ๐Ÿฅ” ("enkelt UI") i opplastaren
    • og prรธv den same opplastingen igjen
    \nPS: Firefox fiksar forhรฅpentligvis feilen ein eller annen gong', + "u_s404": "ikkje funne pรฅ serveren", + "u_expl": "forklar", + "u_maxconn": "dei fleste nettlesarar tillet ikkje meir enn 6, men firefox lar deg รธke grensen med connections-per-server i about:config", + "u_tu": '

    ADVARSEL: turbo er pรฅ,  avbrotne opplastingar vil muligens ikkje oppdagast og gjenopptakast; hald musepeikaren over turbo-knappen for meir info

    ', + "u_ts": '

    ADVARSEL: turbo er pรฅ,  sรธkeresultat kan vere feil; hold musepeikaren over turbo-knappen for meir info

    ', + "u_turbo_c": "turbo er deaktivert i serverkonfigurasjonen", + "u_turbo_g": 'turbo blei deaktivert fordi du ikkje har\nhรธve รฅt รฅ sjรฅ mappeinnhold i dette volumet', + "u_life_cfg": 'slett opplasting etter min (eller timar)', + "u_life_est": 'opplastingen slettast ---', + "u_life_max": 'denne mappa tillet ikkje รฅ \noppbevare filer i meir enn {0}', + "u_unp_ok": 'opplasting kan angrast i {0}', + "u_unp_ng": 'opplasting kan IKKE angrast', + "ue_ro": 'du har ikkje hรธve รฅt skriving i denne mappa\n\n', + "ue_nl": 'du er ikkje logga inn', + "ue_la": 'du er logga inn som "{0}"', + "ue_sr": 'du er i filsรธk-modus\n\nbytt รฅt opplasting ved รฅ klikke pรฅ forstรธrringsglaset ๐Ÿ”Ž (ved siden av den store FILSร˜K-knappen) og prรธv igjen\n\nsorry', + "ue_ta": 'prรธv รฅ last opp igjen, det burde fungere no', + "ue_ab": "den same filen er under opplasting รฅt ei anna mappe, og den mรฅ fullfรธrast der fรธr fila kan lastast opp andre plassar.\n\nDu kan avbryte og glรธyme den pรฅbegynte opplastinga ved hjelp av ๐Ÿงฏ oppe รฅt venstre", + "ur_1uo": "OK: Fila blei lastet opp", + "ur_auo": "OK: Alle {0} filene blei lastet opp", + "ur_1so": "OK: Fila blei funne pรฅ serveren", + "ur_aso": "OK: Alle {0} filene blei funne pรฅ serveren", + "ur_1un": "Opplasting feila!", + "ur_aun": "Alle {0} opplastingene gjekk feil!", + "ur_1sn": "Fila finnast IKKE pรฅ serveren", + "ur_asn": "Fann INGEN av dei {0} filene pรฅ serveren", + "ur_um": "Ferdig;\n{0} opplastingar gjekk bra,\n{1} opplastingar gjekk feil", + "ur_sm": "Ferdig;\n{0} filer blei funne,\n{1} filer finnast IKKJE pรฅ serveren", + + "rc_opn": "opne", + "rc_ply": "spel av", + "rc_pla": "spel av som lyd", + "rc_txt": "opne i filvisar", + "rc_md": "opne i tekstredigerar", + "rc_dl": "Last ned", + "rc_zip": "Last ned som arkiv", + "rc_del": "slett", + "rc_cut": "klipp ut", + "rc_cpy": "kopier", + "rc_pst": "Lim inn", + "rc_nfo": "ny mappe", + "rc_nfi": "ny fil", + "rc_sal": "vel alle", + "rc_sin": "inverter val", + + "lang_set": "passar det รฅ laste sida pรฅ nytt?", + + "splash": { + "a1": "oppdatรฉr", + "b1": "heisann   (du er ikkje logga inn)", + "c1": "logg ut", + "d1": "tilstand", + "d2": "vis tilstanden รฅt alle trรฅdar", + "e1": "last innst.", + "e2": "les inn konfigurasjonsfiler pรฅ nytt$N(kontoer, volum, volumbrytarar)$Nog kartlegg alle e2ds-volum$N$Nmerk: endringer i globale parametrar$Nkrev ein full restart for รฅ gjelde", + "f1": "du kan sjรฅ pรฅ:", + "g1": "du kan laste opp รฅt:", + "cc1": "brytarar og slikt:", + "h1": "skru av k304", + "i1": "skru pรฅ k304", + "j1": "k304 bryt tilkoplinga for kvar HTTP 304. Dette hjelp mot visse mellomtjenarar som kan sette seg fast / plutselig sluttar รฅ laste sider, men det sett รณg ytinga ned betydelig", + "k1": "nullstill innstillinger", + "l1": "logg inn:", + "ls3": "logg inn", + "lu4": "brukarnamn", + "lp4": "passord", + "lo3": "logg ut โ€œ{0}โ€ overalt", + "lo2": "avslutt รธkta pรฅ alle nettlesarar", + "m1": "velkomen attende,", + "n1": "404: filen finnast ikkje  โ”( ยด -`)โ”Œ", + "o1": 'eller kanskje du ikkje har hรธve? prรธv eit passord eller gรฅ heim', + "p1": "403: tilgang nektet  ~โ”ปโ”โ”ป", + "q1": 'prรธv eit passord eller gรฅ heim', + "r1": "gรฅ heim", + ".s1": "kartlegg", + "t1": "handling", + "u2": "tid sidan nokon sist skreiv รฅt serveren$N( opplastning / namnendring / ... )$N$N17d = 17 dagar$N1h23 = 1 time 23 minutt$N4m56 = 4 minutt 56 sekund", + "v1": "kople รฅt", + "v2": "bruk denne serveren som ein lokal harddisk", + "w1": "bytt รฅt https", + "x1": "bytt passord", + "y1": "dine delinger", + "z1": "lรฅs opp omrรฅde:", + "ta1": "du mรฅ skrive eit nytt passord fรธrst", + "ta2": "gjenta for รฅ stadfeste nytt passord:", + "ta3": "fant ein skrivefeil; vennligst prรธv igjen", + "nop": "FEIL: Passord kan ikkje vere tomt", + "nou": "FEIL: Brukarnamn og passord mรฅ fyllast ut", + "aa1": "innkommande:", + "ab1": "skru av no304", + "ac1": "skru pรฅ no304", + "ad1": "no304 stoppar all bruk av cache. Hvis ikkje k304 var nok, prรธv denne. Vil mangedoble dataforbruk!", + "ae1": "utgรฅende:", + "af1": "vis nylig opplasta filer", + "ag1": "vis kjente IdP-brukarar", + } +}; diff --git a/copyparty/web/tl/nor.js b/copyparty/web/tl/nor.js new file mode 100644 index 00000000..8e357726 --- /dev/null +++ b/copyparty/web/tl/nor.js @@ -0,0 +1,707 @@ +Ls.nor = { + "tt": "Norsk", + + "cols": { + "c": "handlingsknapper", + "dur": "varighet", + "q": "kvalitet / bitrate", + "Ac": "lyd-format", + "Vc": "video-format", + "Fmt": "format / innpakning", + "Ahash": "lyd-kontrollsum", + "Vhash": "video-kontrollsum", + "Res": "opplรธsning", + "T": "filtype", + "aq": "lydkvalitet / bitrate", + "vq": "videokvalitet / bitrate", + "pixfmt": "fargekoding / detaljenivรฅ", + "resw": "horisontal opplรธsning", + "resh": "vertikal opplรธsning", + "chs": "lydkanaler", + "hz": "lyd-opplรธsning", + }, + + "hks": [ + [ + "ymse", + ["ESC", "lukk saker og ting"], + + "filbehandler", + ["G", "listevisning eller ikoner"], + ["T", "miniatyrbilder pรฅ/av"], + ["โ‡ง A/D", "ikonstรธrrelse"], + ["ctrl-K", "slett valgte"], + ["ctrl-X", "klipp ut valgte"], + ["ctrl-C", "kopiรฉr til utklippstavle"], + ["ctrl-V", "lim inn (flytt/kopiรฉr)"], + ["Y", "last ned valgte"], + ["F2", "endre navn pรฅ valgte"], + + "filmarkering", + ["space", "marker fil"], + ["โ†‘/โ†“", "flytt markรธr"], + ["ctrl โ†‘/โ†“", "flytt markรธr og scroll"], + ["โ‡ง โ†‘/โ†“", "velg forr./neste fil"], + ["ctrl-A", "velg alle filer / mapper"], + ], [ + "navigering", + ["B", "mappehierarki eller filsti"], + ["I/K", "forr./neste mappe"], + ["M", "ett nivรฅ opp (eller lukk)"], + ["V", "vis mapper eller tekstfiler"], + ["A/D", "panelstรธrrelse"], + ], [ + "musikkspiller", + ["J/L", "forr./neste sang"], + ["U/O", "hopp 10sek bak/frem"], + ["0..9", "hopp til 0%..90%"], + ["P", "pause, eller start / fortsett"], + ["S", "marker spillende sang"], + ["Y", "last ned sang"], + ], [ + "bildeviser", + ["J/L, โ†/โ†’", "forr./neste bilde"], + ["Home/End", "fรธrste/siste bilde"], + ["F", "fullskjermvisning"], + ["R", "rotere mot hรธyre"], + ["โ‡ง R", "rotere mot venstre"], + ["S", "marker bilde"], + ["Y", "last ned bilde"], + ], [ + "videospiller", + ["U/O", "hopp 10sek bak/frem"], + ["P/K/Space", "pause / fortsett"], + ["C", "fortsett til neste fil"], + ["V", "gjenta avspilling"], + ["M", "lyd av/pรฅ"], + ["[ og ]", "gjentaksintervall"], + ], [ + "dokumentviser", + ["I/K", "forr./neste fil"], + ["M", "lukk tekstdokument"], + ["E", "rediger tekstdokument"], + ["S", "marker fil (for F2/ctrl-x/...)"], + ["Y", "last ned tekstfil"], + ["โ‡ง J", "formattรฉr json"], + ] + ], + + "m_ok": "OK", + "m_ng": "Avbryt", + + "enable": "Aktiv", + "danger": "VARSKU", + "clipped": "kopiert til utklippstavlen", + + "ht_s1": "sekund", + "ht_s2": "sekunder", + "ht_m1": "minutt", + "ht_m2": "minutter", + "ht_h1": "time", + "ht_h2": "timer", + "ht_d1": "dag", + "ht_d2": "dager", + "ht_and": " og ", + + "goh": "kontrollpanel", + "gop": 'naviger til mappen fรธr denne">forr.', + "gou": 'naviger ett nivรฅ opp">opp', + "gon": 'naviger til mappen etter denne">neste', + "logout": "Logg ut ", + "login": "Logg inn", + "access": " tilgang", + "ot_close": "lukk verktรธy", + "ot_search": "sรธk etter filer ved รฅ angi filnavn, mappenavn, tid, stรธrrelse, eller metadata som sangtittel / artist / osv.$N$N<code>foo bar</code> = inneholder bรฅde ยซfooยป og ยซbarยป,$N<code>foo -bar</code> = inneholder ยซfooยป men ikke ยซbarยป,$N<code>^yana .opus$</code> = starter med ยซyanaยป, filtype ยซopusยป$N<code>"try unite"</code> = ยซtry uniteยป eksakt$N$Ndatoformat er iso-8601, sรฅ f.eks.$N<code>2009-12-31</code> eller <code>2020-09-12 23:30:00</code>", + "ot_unpost": "unpost: slett filer som du nylig har lastet opp; ยซangre-knappenยป", + "ot_bup": "bup: tradisjonell / primitiv filopplastning,$N$Nfungerer i omtrent samtlige nettlesere", + "ot_mkdir": "mkdir: lag en ny mappe", + "ot_md": "new-file: lag en ny tekstfil", + "ot_msg": "msg: send en beskjed til serverloggen", + "ot_mp": "musikkspiller-instillinger", + "ot_cfg": "andre innstillinger", + "ot_u2i": 'up2k: last opp filer (hvis du har skrivetilgang) eller bytt til sรธkemodus for รฅ sjekke om filene finnes et-eller-annet sted pรฅ serveren$N$Nopplastninger kan gjenopptas etter avbrudd, skjer stykkevis for potensielt hรธyere ytelse, og ivaretar datostempling -- men bruker litt mer prosessorkraft enn [๐ŸŽˆ]  (den primitive opplasteren "bup")

    mens opplastninger foregรฅr sรฅ vises fremdriften her oppe!', + "ot_u2w": 'up2k: filopplastning med stรธtte for รฅ gjenoppta avbrutte opplastninger -- steng ned nettleseren og dra de samme filene inn i nettleseren igjen for รฅ plukke opp igjen der du slapp$N$Nopplastninger skjer stykkevis for potensielt hรธyere ytelse, og ivaretar datostempling -- men bruker litt mer prosessorkraft enn [๐ŸŽˆ]  (den primitive opplasteren "bup")

    mens opplastninger foregรฅr sรฅ vises fremdriften her oppe!', + "ot_noie": 'Fungerer mye bedre i Chrome / Firefox / Edge', + + "ab_mkdir": "lag mappe", + "ab_mkdoc": "ny tekstfil", + "ab_msg": "send melding", + + "ay_path": "gรฅ videre til mapper", + "ay_files": "gรฅ videre til filer", + + "wt_ren": "gi nye navn til de valgte filene$NSnarvei: F2", + "wt_del": "slett de valgte filene$NSnarvei: ctrl-K", + "wt_cut": "klipp ut de valgte filene <small>(for รฅ lime inn et annet sted)</small>$NSnarvei: ctrl-X", + "wt_cpy": "kopiรฉr de valgte filene til utklippstavlen$N(for รฅ lime inn et annet sted)$NSnarvei: ctrl-C", + "wt_pst": "lim inn filer (som tidligere ble klippet ut / kopiert et annet sted)$NSnarvei: ctrl-V", + "wt_selall": "velg alle filer$NSnarvei: ctrl-A (mens fokus er pรฅ en fil)", + "wt_selinv": "inverter utvalg", + "wt_zip1": "last ned denne mappen som et arkiv", + "wt_selzip": "last ned de valgte filene som et arkiv", + "wt_seldl": "last ned de valgte filene$NSnarvei: Y", + "wt_npirc": "kopiรฉr sang-info (irc-formatert)", + "wt_nptxt": "kopiรฉr sang-info", + "wt_m3ua": "legg til sang i m3u-spilleliste$N(husk รฅ klikke pรฅ ๐Ÿ“ปcopy senere)", + "wt_m3uc": "kopiรฉr m3u-spillelisten til utklippstavlen", + "wt_grid": "bytt mellom ikoner og listevisning$NSnarvei: G", + "wt_prev": "forrige sang$NSnarvei: J", + "wt_play": "play / pause$NSnarvei: P", + "wt_next": "neste sang$NSnarvei: L", + + "ul_par": "samtidige handl.:", + "ut_rand": "finn opp nye tilfeldige filnavn", + "ut_u2ts": "gi filen pรฅ serveren samme$Ntidsstempel som lokalt hos deg\">๐Ÿ“…", + "ut_ow": "overskrive eksisterende filer pรฅ serveren?$N๐Ÿ›ก๏ธ: aldri (finner pรฅ et nytt filnavn istedenfor)$N๐Ÿ•’: overskriv hvis serverens fil er eldre$Nโ™ป๏ธ: alltid, gitt at innholdet er forskjellig$Nโญ๏ธ: hopp over alle eksisterende filer", + "ut_mt": "fortsett รฅ befare kรธen mens opplastning foregรฅr$N$Nskru denne av dersom du har en$Ntreg prosessor eller harddisk", + "ut_ask": 'bekreft filutvalg fรธr opplastning starter">๐Ÿ’ญ', + "ut_pot": "forbedre ytelsen pรฅ trege enheter ved รฅ$Nforenkle brukergrensesnittet", + "ut_srch": "utfรธr sรธk istedenfor รฅ laste opp --$Nleter igjennom alle mappene du har lov til รฅ se", + "ut_par": "sett til 0 for รฅ midlertidig stanse opplastning$N$Nhรธye verdier (4 eller 8) kan gi bedre ytelse,$Nspesielt pรฅ trege internettlinjer$N$Nbรธr ikke vรฆre hรธyere enn 1 pรฅ LAN$Neller hvis serveren sin harddisk er treg", + "ul_btn": "slipp filer / mapper
    her (eller klikk meg)", + "ul_btnu": "L A S T   O P P", + "ul_btns": "F I L S ร˜ K", + + "ul_hash": "befar", + "ul_send": " send", + "ul_done": "total", + "ul_idle1": "ingen handlinger i kรธen", + "ut_etah": "snitthastighet for <em>befaring</em> samt gjenstรฅende tid", + "ut_etau": "snitthastighet for <em>opplastning</em> samt gjenstรฅende tid", + "ut_etat": "<em>total</em> snitthastighet og gjenstรฅende tid", + + "uct_ok": "fullfรธrt uten problemer", + "uct_ng": "fullfรธrt under tvil (duplikat, ikke funnet, ...)", + "uct_done": "fullfรธrt (enten <em>ok</em> eller <em>ng</em>)", + "uct_bz": "aktive handlinger (befaring / opplastning)", + "uct_q": "kรธen", + + "utl_name": "filnavn", + "utl_ulist": "vis", + "utl_ucopy": "kopiรฉr", + "utl_links": "lenker", + "utl_stat": "status", + "utl_prog": "fremdrift", + + // mรฅ vรฆre korte: + "utl_404": "404", + "utl_err": "FEIL!", + "utl_oserr": "OS-feil", + "utl_found": "funnet", + "utl_defer": "senere", + "utl_yolo": "YOLO", + "utl_done": "ferdig", + + "ul_flagblk": "filene har blitt lagt i kรธen
    men det er en annen nettleserfane som holder pรฅ med befaring eller opplastning akkurat nรฅ,
    sรฅ venter til den er ferdig fรธrst", + "ul_btnlk": "bryteren har blitt lรฅst til denne tilstanden i serverens konfigurasjon", + + "udt_up": "Last opp", + "udt_srch": "Sรธk", + "udt_drop": "Slipp filene her", + + "u_nav_m": '
    hva har du?
    Enter = Filer (รฉn eller flere)\nESC = ร‰n mappe (inkludert undermapper)', + "u_nav_b": 'Filerร‰n mappe', + + "cl_opts": "brytere", + "cl_hfsz": "filstรธrrelse", + "cl_themes": "utseende", + "cl_langs": "sprรฅk", + "cl_ziptype": "nedlastning av mapper", + "cl_uopts": "up2k-brytere", + "cl_favico": "favicon", + "cl_bigdir": "store mapper", + "cl_hsort": "#sort", + "cl_keytype": "notasjon for musikalsk dur", + "cl_hiddenc": "skjulte kolonner", + "cl_hidec": "skjul", + "cl_reset": "nullstill", + "cl_hpick": "klikk pรฅ overskriften til kolonnene du รธnsker รฅ skjule i tabellen nedenfor", + "cl_hcancel": "kolonne-skjuling avbrutt", + "cl_rcm": "hรธyreklikkmeny", + + "ct_grid": '็”ฐ ikoner', + "ct_ttips": 'vis hjelpetekst ved รฅ holde musen over ting">โ„น๏ธ tips', + "ct_thumb": 'vis miniatyrbilder istedenfor ikoner$NSnarvei: T">๐Ÿ–ผ๏ธ bilder', + "ct_csel": 'bruk tastene CTRL og SHIFT for markering av filer i ikonvisning">merk', + "ct_dl": 'last ned filer (ikke vis i nettleseren)">dl', + "ct_ihop": 'bla ned til sist viste bilde nรฅr bildeviseren lukkes">gโฎฏ', + "ct_dots": 'vis skjulte filer (gitt at serveren tillater det)">.synlig', + "ct_qdel": 'sletteknappen spรธr bare รฉn gang om bekreftelse">hurtig๐Ÿ—‘๏ธ', + "ct_dir1st": 'sorter slik at mapper kommer foran filer">๐Ÿ“ fรธrst', + "ct_nsort": 'naturlig sortering (forstรฅr tall i filnavn)">nsort', + "ct_utc": 'bruk UTC for alle klokkeslett">UTC', + "ct_readme": 'vis README.md nedenfor filene">๐Ÿ“œ readme', + "ct_idxh": 'vis index.html istedenfor fil-liste">htm', + "ct_sbars": 'vis rullgardiner / skrollefelt">โŸŠ', + + "cut_umod": 'i tilfelle en fil du laster opp allerede finnes pรฅ serveren, sรฅ skal serverens tidsstempel oppdateres slik at det stemmer overens med din lokale fil (krever rettighetene write+delete)">re๐Ÿ“…', + + "cut_turbo": "forenklet befaring ved opplastning; bรธr sannsynlig ikke skrus pรฅ:$N$Nnyttig dersom du var midt i en svรฆr opplastning som mรฅtte restartes av en eller annen grunn, og du vil komme igang igjen sรฅ raskt som overhodet mulig.$N$Nnรฅr denne er skrudd pรฅ sรฅ forenkles befaringen kraftig; istedenfor รฅ utfรธre en trygg sjekk pรฅ om filene finnes pรฅ serveren i god stand, sรฅ sjekkes kun om filstรธrrelsen stemmer. Sรฅ dersom en korrupt fil skulle befinne seg pรฅ serveren allerede, pรฅ samme sted med samme stรธrrelse og navn, sรฅ blir det ikke oppdaget.$N$Ndet anbefales รฅ kun benytte denne funksjonen for รฅ komme seg raskt igjennom selve opplastningen, for sรฅ รฅ skru den av, og til slutt "laste opp" de samme filene รฉn gang til -- slik at integriteten kan verifiseres\">turbo", + + "cut_datechk": "har ingen effekt dersom turbo er avslรฅtt$N$Ngjรธr turbo bittelitt tryggere ved รฅ sjekke datostemplingen pรฅ filene (i tillegg til filstรธrrelse)$N$Nburde oppdage og gjenoppta de fleste ufullstendige opplastninger, men er ikke en fullverdig erstatning for รฅ deaktivere turbo og gjรธre en skikkelig sjekk\">date-chk", + + "cut_u2sz": "stรธrrelse i megabyte for hvert bruddstykke for opplastning. Store verdier flyr bedre over atlanteren. Smรฅ verdier kan vรฆre bedre pรฅ sรฆrdeles ustabile forbindelser", + + "cut_flag": "samkjรธrer nettleserfaner slik at bare รฉn $N kan holde pรฅ med befaring / opplastning $N -- andre faner mรฅ ogsรฅ ha denne skrudd pรฅ $N -- fungerer kun innenfor samme domene", + + "cut_az": "last opp filer i alfabetisk rekkefรธlge, istedenfor minste-fil-fรธrst$N$Nalfabetisk kan gjรธre det lettere รฅ anslรฅ om alt gikk bra, men er bittelitt tregere pรฅ fiber / LAN", + + "cut_nag": "meldingsvarsel nรฅr opplastning er ferdig$N(kun om nettleserfanen ikke er synlig)", + "cut_sfx": "lydvarsel nรฅr opplastning er ferdig$N(kun om nettleserfanen ikke er synlig)", + + "cut_mt": "raskere befaring ved รฅ bruke hele CPU'en$N$Ndenne funksjonen anvender web-workers$Nog krever mer RAM (opptil 512 MiB ekstra)$N$Ngjรธr https 30% raskere, http 4.5x raskere\">mt", + + "cut_wasm": "bruk wasm istedenfor nettleserens sha512-funksjon; gir bedre ytelse pรฅ chrome-baserte nettlesere, men bruker mere CPU, og eldre versjoner av chrome tรฅler det ikke (spiser opp all RAM og krasjer)\">wasm", + + "cft_text": "ikontekst (blank ut og last siden pรฅ nytt for รฅ deaktivere)", + "cft_fg": "farge", + "cft_bg": "bakgrunnsfarge", + + "cdt_lim": "maks antall filer รฅ vise per mappe", + "cdt_ask": "vis knapper for รฅ laste flere filer nederst pรฅ siden istedenfor รฅ gradvis laste mer av mappen nรฅr man scroller ned", + "cdt_hsort": "antall sorterings-regler (<code>,sorthref</code>) som skal inkluderes nรฅr media-URL'er genereres. Hvis denne er 0 sรฅ vil sorterings-regler i URL'er hverken bli generert eller lest", + "cdt_ren": "bruk egendefinert hรธyreklikkmeny (den vanlige menyen er tilgjengelig med shift + hรธyreklikk)", + + "tt_entree": "bytt til mappehierarki$NSnarvei: B", + "tt_detree": "bytt til tradisjonell sti-visning$NSnarvei: B", + "tt_visdir": "bla ned til den รฅpne mappen", + "tt_ftree": "bytt mellom filstruktur og tekstfiler$NSnarvei: V", + "tt_pdock": "vis de overordnede mappene i et panel", + "tt_dynt": "รธk bredden pรฅ panelet ettersom treet utvider seg", + "tt_wrap": "linjebryting", + "tt_hover": "vis hele mappenavnet nรฅr musepekeren treffer mappen$N( gjรธr dessverre at scrollhjulet fusker dersom musepekeren ikke befinner seg i grรธfta )", + + "ml_pmode": "ved enden av mappen", + "ml_btns": "knapper", + "ml_tcode": "konvertering", + "ml_tcode2": "konverter til", + "ml_tint": "tint", + "ml_eq": "audio equalizer (tonejustering)", + "ml_drc": "compressor (volum-utjevning)", + + "mt_loop": "spill den samme sangen om og om igjen\">๐Ÿ”", + "mt_one": "spill kun รฉn sang\">1๏ธโƒฃ", + "mt_shuf": "sangene i hver mappe$Nspilles i tilfeldig rekkefรธlge\">๐Ÿ”€", + "mt_aplay": "forsรธk รฅ starte avspilling hvis linken du klikket pรฅ for รฅ รฅpne nettsiden inneholder en sang-ID$N$Nhvis denne deaktiveres sรฅ vil heller ikke nettside-URL'en bli oppdatert med sang-ID'er nรฅr musikk spilles, i tilfelle innstillingene skulle gรฅ tapt og nettsiden lastes pรฅ ny\">aโ–ถ", + "mt_preload": "hent ned litt av neste sang i forkant,$Nslik at pausen i overgangen blir mindre\">forles", + "mt_prescan": "ved behov, bla til neste mappe$Nslik at nettleseren lar oss$Nfortsette รฅ spille musikk\">bla", + "mt_fullpre": "hent ned hele neste sang, ikke bare litt:$Nโœ… skru pรฅ hvis nettet ditt er ustabilt,$NโŒ skru av hvis nettet ditt er tregt\">full", + "mt_fau": "for telefoner: forhindre at avspilling stopper hvis nettet er for tregt til รฅ laste neste sang i tide. Hvis pรฅskrudd, kan forรฅrsake at sang-info ikke vises korrekt i OS'et\">โ˜•๏ธ", + "mt_waves": "waveform seekbar:$Nvis volumkurve i avspillingsfeltet\">~s", + "mt_npclip": "vis knapper for รฅ kopiere info om sangen du hรธrer pรฅ\">/np", + "mt_m3u_c": "vis knapper for รฅ kopiere de valgte$Nsangene som innslag i en m3u8 spilleliste\">๐Ÿ“ป", + "mt_octl": "integrering med operativsystemet (fjernkontroll, info-skjerm)\">os-ctl", + "mt_oseek": "tillat spoling med fjernkontroll$N$Nmerk: pรฅ noen enheter (iPhones) sรฅ vil$Ndette erstatte knappen for neste sang\">spoling", + "mt_oscv": "vis album-cover pรฅ infoskjermen\">bilde", + "mt_follow": "bla slik at sangen som spilles alltid er synlig\">๐ŸŽฏ", + "mt_compact": "tettpakket avspillerpanel\">โŸŽ", + "mt_uncache": "prรธv denne hvis en sang ikke spiller riktig\">oppfrisk", + "mt_mloop": "repeter hele mappen\">๐Ÿ” gjenta", + "mt_mnext": "hopp til neste mappe og fortsett\">๐Ÿ“‚ neste", + "mt_mstop": "stopp avspilling\">โธ stopp", + "mt_cflac": "konverter flac / wav-filer til {0}\">flac", + "mt_caac": "konverter aac / m4a-filer til to {0}\">aac", + "mt_coth": "konverter alt annet (men ikke mp3) til {0}\">andre", + "mt_c2opus": "det beste valget for alle PCer og Android\">opus", + "mt_c2owa": "opus-weba, for iOS 17.5 og nyere\">owa", + "mt_c2caf": "opus-caf, for iOS 11 tilogmed 17\">caf", + "mt_c2mp3": "bra valg for steinalder-utstyr (slรฅr aldri feil)\">mp3", + "mt_c2flac": "gir best lydkvalitet, men eter nettet ditt\">flac", + "mt_c2wav": "helt rรฅ lydstrรธm (bruker enda mere data enn flac)\">wav", + "mt_c2ok": "bra valg!", + "mt_c2nd": "ikke det foretrukne valget for din enhet, men funker sikkert greit", + "mt_c2ng": "ser virkelig ikke ut som enheten din takler dette formatet... men ok, vi prรธver", + "mt_xowa": "iOS har fortsatt problemer med avspilling av owa-musikk i bakgrunnen. Bruk caf eller mp3 istedenfor", + "mt_tint": "nivรฅ av bakgrunnsfarge pรฅ sรธkestripa (0-100),$Ngjรธr oppdateringer mindre distraherende", + "mt_eq": "aktiver tonekontroll og forsterker;$N$Nboost <code>0</code> = normal volumskala$N$Nwidth <code>1  </code> = normal stereo$Nwidth <code>0.5</code> = 50% blanding venstre-hรธyre$Nwidth <code>0  </code> = mono$N$Nboost <code>-0.8</code> & width <code>10</code> = instrumental :^)$N$Nreduserer ogsรฅ dรธdtid imellom sangfiler", + "mt_drc": "aktiver volum-utjevning (dynamic range compressor); vil ogsรฅ aktivere tonejustering, sรฅ sett alle EQ-feltene bortsett fra 'width' til 0 hvis du ikke vil ha noe EQ$N$Nfilteret vil dempe volumet pรฅ alt som er hรธyere enn TRESH dB; for hver RATIO dB over grensen er det 1dB som treffer hรธyttalerne, sรฅ standardverdiene tresh -24 og ratio 12 skal bety at volumet ikke gรฅr hรธyere enn -22 dB, slik at man trygt kan รธke boost-verdien i equalizer'n til rundt 0.8, eller 1.8 kombinert med ATK 0 og RLS 90 (bare mulig i firefox; andre nettlesere tar ikke hรธyere RLS enn 1)$N$Nwikipedia forklarer dette mye bedre forresten", + + "mb_play": "lytt", + "mm_hashplay": "spill denne sangen?", + "mm_m3u": "trykk Enter/OK for รฅ spille\ntrykk ESC/Avbryt for รฅ redigere", + "mp_breq": "krever firefox 82+, chrome 73+, eller iOS 15+", + "mm_bload": "laster inn...", + "mm_bconv": "konverterer til {0}, vent litt...", + "mm_opusen": "nettleseren din forstรฅr ikke aac / m4a;\nkonvertering til opus er nรฅ aktivert", + "mm_playerr": "avspilling feilet: ", + "mm_eabrt": "Avspillingsforespรธrselen ble avbrutt", + "mm_enet": "Nettet ditt er ustabilt", + "mm_edec": "Noe er galt med musikkfilen", + "mm_esupp": "Nettleseren din forstรฅr ikke filtypen", + "mm_eunk": "Ukjent feil", + "mm_e404": "Avspilling feilet: Fil ikke funnet.", + "mm_e403": "Avspilling feilet: Tilgang nektet.\n\nKanskje du ble logget ut?\nPrรธv รฅ trykk F5 for รฅ laste siden pรฅ nytt.", + "mm_e500": "Avspilling feilet: Rusk i maskineriet, sjekk serverloggen.", + "mm_e5xx": "Avspilling feilet: ", + "mm_nof": "finner ikke flere sanger i nรฆrheten", + "mm_prescan": "Leter etter neste sang...", + "mm_scank": "Fant neste sang:", + "mm_uncache": "alle sanger vil lastes pรฅ nytt ved neste avspilling", + "mm_hnf": "sangen finnes ikke lenger", + + "im_hnf": "bildet finnes ikke lenger", + + "f_empty": 'denne mappen er tom', + "f_chide": 'dette vil skjule kolonnen ยซ{0}ยป\n\nfanen for "andre innstillinger" lar deg vise kolonnen igjen', + "f_bigtxt": "denne filen er hele {0} MiB -- vis som tekst?", + "f_bigtxt2": "vil du se bunnen av filen istedenfor? du vil da ogsรฅ se nye linjer som blir lagt til pรฅ slutten av filen i sanntid", + "fbd_more": '
    viser {0} av {1} filer; vis {2} eller vis alle
    ', + "fbd_all": '
    viser {0} av {1} filer; vis alle
    ', + "f_anota": "kun {0} av totalt {1} elementer ble markert;\nfor รฅ velge alt mรฅ du bla til bunnen av mappen fรธrst", + + "f_dls": 'linkene i denne mappen er nรฅ\nomgjort til nedlastningsknapper', + + "f_partial": "For รฅ laste ned en fil som enda ikke er ferdig opplastet, klikk pรฅ filen som har samme filnavn som denne, men uten .PARTIAL pรฅ slutten. Da vil serveren passe pรฅ at nedlastning gรฅr bra. Derfor anbefales det sterkt รฅ trykke AVBRYT eller Escape-tasten.\n\nHvis du virkelig รธnsker รฅ laste ned denne .PARTIAL-filen pรฅ en ukontrollert mรฅte, trykk OK / Enter for รฅ ignorere denne advarselen. Slik vil du hรธyst sannsynlig motta korrupt data.", + + "ft_paste": "Lim inn {0} filer$NSnarvei: ctrl-V", + "fr_eperm": 'kan ikke endre navn:\ndu har ikke โ€œmoveโ€-rettigheten i denne mappen', + "fd_eperm": 'kan ikke slette:\ndu har ikke โ€œdeleteโ€-rettigheten i denne mappen', + "fc_eperm": 'kan ikke klippe ut:\ndu har ikke โ€œmoveโ€-rettigheten i denne mappen', + "fp_eperm": 'kan ikke lime inn:\ndu har ikke โ€œwriteโ€-rettigheten i denne mappen', + "fr_emore": "velg minst รฉn fil som skal fรฅ nytt navn", + "fd_emore": "velg minst รฉn fil som skal slettes", + "fc_emore": "velg minst รฉn fil som skal klippes ut", + "fcp_emore": "velg minst รฉn fil som skal kopieres til utklippstavlen", + + "fs_sc": "del mappen du er i nรฅ", + "fs_ss": "del de valgte filene", + "fs_just1d": "du kan ikke markere flere mapper samtidig,\neller kombinere mapper og filer", + "fs_abrt": "โŒ avbryt", + "fs_rand": "๐ŸŽฒ tilfeldig navn", + "fs_go": "โœ… opprett deling", + "fs_name": "navn", + "fs_src": "kilde", + "fs_pwd": "passord", + "fs_exp": "varighet", + "fs_tmin": "min", + "fs_thrs": "timer", + "fs_tdays": "dager", + "fs_never": "for evig", + "fs_pname": "frivillig navn (blir noe tilfeldig ellers)", + "fs_tsrc": "fil/mappe som skal deles", + "fs_ppwd": "frivillig passord", + "fs_w8": "oppretter deling...", + "fs_ok": "trykk Enter/OK for รฅ kopiere linken (for CTRL-V)\ntrykk ESC/Avbryt for รฅ bare bekrefte", + + "frt_dec": "kan korrigere visse รธdelagte filnavn\">url-decode", + "frt_rst": "nullstiller endringer (tilbake til de originale filnavnene)\">โ†บ reset", + "frt_abrt": "avbryt og lukk dette vinduet\">โŒ avbryt", + "frb_apply": "IVERKSETT", + "fr_adv": "automasjon basert pรฅ metadata
    og / eller mรธnster (regulรฆre uttrykk)\">avansert", + "fr_case": "versalfรธlsomme uttrykk\">Aa", + "fr_win": "bytt ut bokstavene <>:"\\|?* med$Ntilsvarende som windows ikke fรฅr panikk av\">win", + "fr_slash": "bytt ut bokstaven / slik at den ikke forรฅrsaker at nye mapper opprettes\">ikke /", + "fr_re": "regex-mรธnster som kjรธres pรฅ hvert filnavn. Grupper kan leses ut i format-feltet nedenfor, f.eks. <code>(1)</code> og <code>(2)</code> osv.", + "fr_fmt": "inspirert av foobar2000:$N<code>(title)</code> byttes ut med sangtittel,$N<code>[(artist) - ](title)</code> dropper [dette] hvis artist er blank$N<code>$lpad((tn),2,0)</code> viser sangnr. med 2 siffer", + "fr_pdel": "slett", + "fr_pnew": "lagre som", + "fr_pname": "gi innstillingene dine et navn", + "fr_aborted": "avbrutt", + "fr_lold": "gammelt navn", + "fr_lnew": "nytt navn", + "fr_tags": "metadata for de valgte filene (kun for referanse):", + "fr_busy": "endrer navn pรฅ {0} filer...\n\n{1}", + "fr_efail": "endring av navn feilet:\n", + "fr_nchg": "{0} av navnene ble justert pga. win og/eller ikke /\n\nvil du fortsette med de nye navnene som ble valgt?", + + "fd_ok": "sletting OK", + "fd_err": "sletting feilet:\n", + "fd_none": "ingenting ble slettet; kanskje avvist av serverkonfigurasjon (xbd)?", + "fd_busy": "sletter {0} filer...\n\n{1}", + "fd_warn1": "SLETT disse {0} filene?", + "fd_warn2": "Siste sjanse! Dette kan ikke angres. Slett?", + + "fc_ok": "klippet ut {0} filer", + "fc_warn": 'klippet ut {0} filer\n\nmen: kun denne nettleserfanen har mulighet til รฅ lime dem inn et annet sted, siden antallet filer er helt hinsides', + + "fcc_ok": "kopierte {0} filer til utklippstavlen", + "fcc_warn": 'kopierte {0} filer til utklippstavlen\n\nmen: kun denne nettleserfanen har mulighet til รฅ lime dem inn et annet sted, siden antallet filer er helt hinsides', + + "fp_apply": "bekreft og lim inn nรฅ", + "fp_skip": "kun ledige", + "fp_ecut": "du mรฅ klippe ut eller kopiere noen filer / mapper fรธrst\n\nmerk: du kan gjerne jobbe pรฅ kryss av nettleserfaner; klippe ut i รฉn fane, lime inn i en annen", + "fp_ename": "{0} filer kan ikke flyttes til mรฅlmappen fordi det allerede finnes filer med samme navn. Gi dem nye navn nedenfor, eller gi dem et blankt navn (\"kun ledige\") for รฅ hoppe over dem:", + "fcp_ename": "{0} filer kan ikke kopieres til mรฅlmappen fordi det allerede finnes filer med samme navn. Gi dem nye navn nedenfor, eller gi dem et blankt navn (\"kun ledige\") for รฅ hoppe over dem:", + "fp_emore": "det er fortsatt flere navn som mรฅ endres", + "fp_ok": "flytting OK", + "fcp_ok": "kopiering OK", + "fp_busy": "flytter {0} filer...\n\n{1}", + "fcp_busy": "kopierer {0} filer...\n\n{1}", + "fp_abrt": "avbryter...", + "fp_err": "flytting feilet:\n", + "fcp_err": "kopiering feilet:\n", + "fp_confirm": "flytt disse {0} filene hit?", + "fcp_confirm": "kopiรฉr disse {0} filene hit?", + "fp_etab": 'kunne ikke lese listen med filer ifra den andre nettleserfanen', + "fp_name": "Laster opp รฉn fil fra enheten din. Velg filnavn:", + "fp_both_m": '
    hva skal limes inn her?
    Enter = Flytt {0} filer fra ยซ{1}ยป\nESC = Last opp {2} filer fra enheten din', + "fcp_both_m": '
    hva skal limes inn her?
    Enter = Kopiรฉr {0} filer fra ยซ{1}ยป\nESC = Last opp {2} filer fra enheten din', + "fp_both_b": 'FlyttLast opp', + "fcp_both_b": 'KopiรฉrLast opp', + + "mk_noname": "skriv inn et navn i tekstboksen til venstre fรธrst :p", + "nmd_i1": "legg ogsรฅ til รธnsket filtype, for eksempel .md", //m + "nmd_i2": "du kan bare lage .md-filer fordi du ikke har delete-tilgang", //m + + "tv_load": "Laster inn tekstfil:\n\n{0}\n\n{1}% ({2} av {3} MiB lastet ned)", + "tv_xe1": "kunne ikke laste tekstfil:\n\nfeil ", + "tv_xe2": "404, Fil ikke funnet", + "tv_lst": "tekstfiler i mappen", + "tvt_close": "gรฅ tilbake til mappen$NSnarvei: M (eller Esc)\">โŒ lukk", + "tvt_dl": "last ned denne filen$NSnarvei: Y\">๐Ÿ’พ last ned", + "tvt_prev": "vis forrige dokument$NSnarvei: i\">โฌ† forr.", + "tvt_next": "vis neste dokument$NSnarvei: K\">โฌ‡ neste", + "tvt_sel": "markรฉr filen   ( for utklipp / sletting / ... )$NSnarvei: S\">merk", + "tvt_j": "formattรฉr json$NSnarvei: shift-J\">j", + "tvt_edit": "redigรฉr filen$NSnarvei: E\">โœ๏ธ endre", + "tvt_tail": "overvรฅk filen for endringer og vis nye linjer i sanntid\">๐Ÿ“ก fรธlg", + "tvt_wrap": "tekstbryting\">โ†ต", + "tvt_atail": "hold de nyeste linjene synlig (lรฅs til bunnen av siden)\">โš“", + "tvt_ctail": "forstรฅ og vis terminalfarger (ansi-sekvenser)\">๐ŸŒˆ", + "tvt_ntail": "maks-grense for antall bokstaver som skal vises i vinduet", + + "m3u_add1": "sangen ble lagt til i m3u-spillelisten", + "m3u_addn": "{0} sanger ble lagt til i m3u-spillelisten", + "m3u_clip": "m3u-spillelisten ble kopiert til utklippstavlen\n\nneste steg er รฅ opprette et tekstdokument med filnavn som slutter pรฅ .m3u og lime inn spillelisten der", + + "gt_vau": "ikke vis videofiler, bare spill lyden\">๐ŸŽง", + "gt_msel": "markรฉr filer istedenfor รฅ รฅpne dem; ctrl-klikk filer for รฅ overstyre$N$N<em>nรฅr aktiv: dobbelklikk en fil / mappe for รฅ รฅpne</em>$N$NSnarvei: S\">markering", + "gt_crop": "beskjรฆr ikonene sรฅ de passer bedre\">โœ‚", + "gt_3x": "hรธyere opplรธsning pรฅ ikoner\">3x", + "gt_zoom": "zoom", + "gt_chop": "trim", + "gt_sort": "sorter", + "gt_name": "navn", + "gt_sz": "stรธrr.", + "gt_ts": "dato", + "gt_ext": "type", + "gt_c1": "reduser maks-lengde pรฅ filnavn", + "gt_c2": "รธk maks-lengde pรฅ filnavn", + + "sm_w8": "sรธker...", + "sm_prev": "sรธkeresultatene er fra et tidligere sรธk:\n ", + "sl_close": "lukk sรธkeresultater", + "sl_hits": "viser {0} treff", + "sl_moar": "hent flere", + + "s_sz": "stรธrr.", + "s_dt": "dato", + "s_rd": "sti", + "s_fn": "navn", + "s_ta": "meta", + "s_ua": "up@", + "s_ad": "avns.", + "s_s1": "stรธrre enn โ†“ MiB", + "s_s2": "mindre enn โ†“ MiB", + "s_d1": "nyere enn <dato>", + "s_d2": "eldre enn", + "s_u1": "lastet opp etter", + "s_u2": "og/eller fรธr", + "s_r1": "mappenavn inneholder", + "s_f1": "filnavn inneholder", + "s_t1": "sang-info inneholder", + "s_a1": "konkrete egenskaper", + + "md_eshow": "viser forenklet ", + "md_off": "[๐Ÿ“œreadme] er avskrudd i [โš™๏ธ] -- dokument skjult", + + "badreply": "Ugyldig svar ifra serveren", + + "xhr403": "403: Tilgang nektet\n\nkanskje du ble logget ut? prรธv รฅ trykk F5", + "xhr0": "ukjent (enten nettverksproblemer eller serverkrasj)", + "cf_ok": "beklager -- liten tilfeldig kontroll, alt OK\n\nting skal fortsette om ca. 30 sekunder\n\nhvis ikkeno skjer, trykk F5 for รฅ laste siden pรฅ nytt", + "tl_xe1": "kunne ikke hente undermapper:\n\nfeil ", + "tl_xe2": "404: Mappen finnes ikke", + "fl_xe1": "kunne ikke hente filer i mappen:\n\nfeil ", + "fl_xe2": "404: Mappen finnes ikke", + "fd_xe1": "kan ikke opprette ny mappe:\n\nfeil ", + "fd_xe2": "404: Den overordnede mappen finnes ikke", + "fsm_xe1": "kunne ikke sende melding:\n\nfeil ", + "fsm_xe2": "404: Den overordnede mappen finnes ikke", + "fu_xe1": "kunne ikke hente listen med nylig opplastede filer ifra serveren:\n\nfeil ", + "fu_xe2": "404: Filen finnes ikke??", + + "fz_tar": "ukomprimert gnu-tar arkiv, for linux og mac", + "fz_pax": "ukomprimert pax-tar arkiv, litt tregere", + "fz_targz": "gnu-tar pakket med gzip (nivรฅ 3)$N$NNB: denne er veldig treg;$Nukomprimert tar er bedre", + "fz_tarxz": "gnu-tar pakket med xz (nivรฅ 1)$N$NNB: denne er veldig treg;$Nukomprimert tar er bedre", + "fz_zip8": "zip med filnavn i utf8 (noe problematisk pรฅ windows 7 og eldre)", + "fz_zipd": "zip med filnavn i cp437, for hรธggamle maskiner", + "fz_zipc": "cp437 med tidlig crc32,$Nfor MS-DOS PKZIP v2.04g (oktober 1993)$N(รธker behandlingstid pรฅ server)", + + "un_m1": "nedenfor kan du angre / slette filer som du nylig har lastet opp, eller avbryte ufullstendige opplastninger", + "un_upd": "oppdater", + "un_m4": "eller hvis du vil dele nedlastnings-lenkene:", + "un_ulist": "vis", + "un_ucopy": "kopiรฉr", + "un_flt": "valgfritt filter:  filnavn / filsti mรฅ inneholde", + "un_fclr": "nullstill filter", + "un_derr": 'unpost-sletting feilet:\n', + "un_f5": 'noe gikk galt, prรธv รฅ oppdatere listen eller trykk F5', + "un_uf5": "beklager, men du mรฅ laste siden pรฅ nytt (f.eks. ved รฅ trykke F5 eller CTRL-R) fรธr denne opplastningen kan avbrytes", + "un_nou": 'advarsel: kan ikke vise ufullstendige opplastninger akkurat nรฅ; klikk pรฅ oppdater-linken om litt', + "un_noc": 'advarsel: angring av fullfรธrte opplastninger er deaktivert i serverkonfigurasjonen', + "un_max": "viser de fรธrste 2000 filene (bruk filteret for รฅ innsnevre)", + "un_avail": "{0} nylig opplastede filer kan slettes
    {1} ufullstendige opplastninger kan avbrytes", + "un_m2": "sortert etter opplastningstid; nyeste fรธrst:", + "un_no1": "men nei, her var det jaggu ikkeno som slettes kan", + "un_no2": "men nei, her var det jaggu ingenting som passet overens med filteret", + "un_next": "slett de neste {0} filene nedenfor", + "un_abrt": "avbryt", + "un_del": "slett", + "un_m3": "henter listen med nylig opplastede filer...", + "un_busy": "sletter {0} filer...", + "un_clip": "{0} lenker kopiert til utklippstavlen", + + "u_https1": "du burde", + "u_https2": "bytte til https", + "u_https3": "for hรธyere hastighet", + "u_ancient": 'nettleseren din er prehistorisk -- mulig du burde bruke bup istedenfor', + "u_nowork": "krever firefox 53+, chrome 57+, eller iOS 11+", + "tail_2old": "krever firefox 105+, chrome 71+, eller iOS 14.5+", + "u_nodrop": 'nettleseren din er for gammel til รฅ laste opp filer ved รฅ dra dem inn i vinduet', + "u_notdir": "mottok ikke mappen!\n\nnettleseren din er for gammel,\nprรธv รฅ dra mappen inn i vinduet istedenfor", + "u_uri": "for รฅ laste opp bilder ifra andre nettleservinduer,\nslipp bildet rett pรฅ den store last-opp-knappen", + "u_enpot": 'bytt til enkelt UI (gir sannsynlig raskere opplastning)', + "u_depot": 'bytt til snรฆsent UI (gir sannsynlig tregere opplastning)', + "u_gotpot": 'byttet til et enklere UI for รฅ laste opp raskere,\n\ndu kan gjerne bytte tilbake altsรฅ!', + "u_pott": "

    filer:   {0} ferdig,   {1} feilet,   {2} behandles,   {3} i kรธ

    ", + "u_ever": "dette er den primitive opplasteren; up2k krever minst:
    chrome 21 // firefox 13 // edge 12 // opera 12 // safari 5.1", + "u_su2k": 'dette er den primitive opplasteren; up2k er bedre', + "u_uput": 'litt raskere (uten sha512)', + "u_ewrite": 'du har ikke skrivetilgang i denne mappen', + "u_eread": 'du har ikke lesetilgang i denne mappen', + "u_enoi": 'filsรธk er deaktivert i serverkonfigurasjonen', + "u_enoow": "kan ikke overskrive filer her (Delete-rettigheten er nรธdvendig)", + "u_badf": 'Disse {0} filene (av totalt {1}) kan ikke leses, kanskje pga rettighetsproblemer i filsystemet pรฅ datamaskinen din:\n\n', + "u_blankf": 'Disse {0} filene (av totalt {1}) er blanke / uten innhold; รธnsker du รฅ laste dem opp uansett?\n\n', + "u_applef": 'Disse {0} filene (av totalt {1}) er antagelig uรธnskede;\nTrykk OK/Enter for รฅ HOPPE OVER disse filene,\nTrykk Avbryt/ESC for รฅ LASTE OPP disse filene ogsรฅ:\n\n', + "u_just1": '\nFunker kanskje bedre hvis du bare tar รฉn fil om gangen', + "u_ff_many": 'Hvis du bruker Linux / MacOS / Android, sรฅ kan dette antallet filer
    kanskje krasje Firefox! Hvis det skjer, sรฅ prรธv igjen (eller bruk Chrome).', + "u_up_life": "Filene slettes fra serveren {0}\netter at opplastningen er fullfรธrt", + "u_asku": 'Laste opp disse {0} filene til {1}', + "u_unpt": "Du kan angre / slette opplastningen med ๐Ÿงฏ oppe til venstre", + "u_bigtab": 'Vil nรฅ vise {0} filer...\n\nDette kan krasje nettleseren din. Fortsette?', + "u_scan": 'Leser mappene...', + "u_dirstuck": 'Nettleseren din fikk ikke tilgang til รฅ lese fรธlgende {0} filer/mapper, sรฅ de blir hoppet over:', + "u_etadone": 'Ferdig ({0}, {1} filer)', + "u_etaprep": '(forbereder opplastning)', + "u_hashdone": 'befaring ferdig', + "u_hashing": 'les', + "u_hs": 'serveren tenker...', + "u_started": "filene blir nรฅ lastet opp ๐Ÿš€", + "u_dupdefer": "duplikat; vil bli hรฅndtert til slutt", + "u_actx": "klikk her for รฅ forhindre tap av
    ytelse ved bytte til andre vinduer/faner", + "u_fixed": "OK!  Lรธste seg ๐Ÿ‘", + "u_cuerr": "kunne ikke laste opp del {0} av {1};\nsikkert greit, fortsetter\n\nfil: {2}", + "u_cuerr2": "server nektet opplastningen (del {0} av {1});\nprรธver igjen senere\n\nfil: {2}\n\nerror ", + "u_ehstmp": "prรธver igjen; se mld nederst", + "u_ehsfin": "server nektet forespรธrselen om รฅ ferdigstille filen; prรธver igjen...", + "u_ehssrch": "server nektet forespรธrselen om รฅ utfรธre sรธk; prรธver igjen...", + "u_ehsinit": "server nektet forespรธrselen om รฅ begynne en ny opplastning; prรธver igjen...", + "u_eneths": "et problem med nettverket gjorde at avtale om opplastning ikke kunne inngรฅs; prรธver igjen...", + "u_enethd": "et problem med nettverket gjorde at filsjekk ikke kunne utfรธres; prรธver igjen...", + "u_cbusy": "venter pรฅ klarering ifra server etter et lite nettverksglipp...", + "u_ehsdf": "serveren er full!\n\nprรธver igjen regelmessig,\ni tilfelle noen rydder litt...", + "u_emtleak1": "uff, det er mulig at nettleseren din har en minnelekkasje...\nForeslรฅr", + "u_emtleak2": ' helst at du bytter til https, eller ', + "u_emtleak3": ' at du ', + "u_emtleakc": 'prรธver fรธlgende:\n
    • trykk F5 for รฅ laste siden pรฅ nytt
    • sรฅ skru av  mt  bryteren under  โš™๏ธ innstillinger
    • og forsรธk den samme opplastningen igjen
    Opplastning vil gรฅ litt tregere, men det fรฅr sรฅ vรฆre.\nBeklager bryderiet !\n\nPS: feilen skal vรฆre fikset i chrome v107', + "u_emtleakf": 'prรธver fรธlgende:\n
    • trykk F5 for รฅ laste siden pรฅ nytt
    • sรฅ skru pรฅ ๐Ÿฅ” ("enkelt UI") i opplasteren
    • og forsรธk den samme opplastningen igjen
    \nPS: Firefox fikser forhรฅpentligvis feilen en eller annen gang', + "u_s404": "ikke funnet pรฅ serveren", + "u_expl": "forklar", + "u_maxconn": "de fleste nettlesere tillater ikke mer enn 6, men firefox lar deg รธke grensen med connections-per-server i about:config", + "u_tu": '

    ADVARSEL: turbo er pรฅ,  avbrutte opplastninger vil muligens ikke oppdages og gjenopptas; hold musepekeren over turbo-knappen for mer info

    ', + "u_ts": '

    ADVARSEL: turbo er pรฅ,  sรธkeresultater kan vรฆre feil; hold musepekeren over turbo-knappen for mer info

    ', + "u_turbo_c": "turbo er deaktivert i serverkonfigurasjonen", + "u_turbo_g": 'turbo ble deaktivert fordi du ikke har\ntilgang til รฅ se mappeinnhold i dette volumet', + "u_life_cfg": 'slett opplastning etter min (eller timer)', + "u_life_est": 'opplastningen slettes ---', + "u_life_max": 'denne mappen tillater ikke รฅ \noppbevare filer i mer enn {0}', + "u_unp_ok": 'opplastning kan angres i {0}', + "u_unp_ng": 'opplastning kan IKKE angres', + "ue_ro": 'du har ikke skrivetilgang i denne mappen\n\n', + "ue_nl": 'du er ikke logget inn', + "ue_la": 'du er logget inn som "{0}"', + "ue_sr": 'du er i filsรธk-modus\n\nbytt til opplastning ved รฅ klikke pรฅ forstรธrrelsesglasset ๐Ÿ”Ž (ved siden av den store FILSร˜K-knappen) og prรธv igjen\n\nsorry', + "ue_ta": 'prรธv รฅ laste opp igjen, det burde funke nรฅ', + "ue_ab": "den samme filen er allerede under opplastning til en annen mappe, og den mรฅ fullfรธres der fรธr filen kan lastes opp andre steder.\n\nDu kan avbryte og glemme den pรฅbegynte opplastningen ved hjelp av ๐Ÿงฏ oppe til venstre", + "ur_1uo": "OK: Filen ble lastet opp", + "ur_auo": "OK: Alle {0} filene ble lastet opp", + "ur_1so": "OK: Filen ble funnet pรฅ serveren", + "ur_aso": "OK: Alle {0} filene ble funnet pรฅ serveren", + "ur_1un": "Opplastning feilet!", + "ur_aun": "Alle {0} opplastningene gikk feil!", + "ur_1sn": "Filen finnes IKKE pรฅ serveren", + "ur_asn": "Fant INGEN av de {0} filene pรฅ serveren", + "ur_um": "Ferdig;\n{0} opplastninger gikk bra,\n{1} opplastninger gikk feil", + "ur_sm": "Ferdig;\n{0} filer ble funnet,\n{1} filer finnes IKKE pรฅ serveren", + + "rc_opn": "รฅpne", + "rc_ply": "spill av", + "rc_pla": "spill av som lyd", + "rc_txt": "รฅpne i filviser", + "rc_md": "รฅpne i teksteditor", + "rc_dl": "Last ned", + "rc_zip": "Last ned som arkiv", + "rc_del": "slett", + "rc_cut": "klipp ut", + "rc_cpy": "kopier", + "rc_pst": "Lim inn", + "rc_nfo": "ny mappe", + "rc_nfi": "ny fil", + "rc_sal": "velg alle", + "rc_sin": "inverter utvalg", + + "lang_set": "passer det รฅ laste siden pรฅ nytt?", + + "splash": { + "a1": "oppdater", + "b1": "halloien   (du er ikke logget inn)", + "c1": "logg ut", + "d1": "tilstand", + "d2": "vis tilstanden til alle trรฅder", + "e1": "last innst.", + "e2": "leser inn konfigurasjonsfiler pรฅ nytt$N(kontoer, volumer, volumbrytere)$Nog kartlegger alle e2ds-volumer$N$Nmerk: endringer i globale parametere$Nkrever en full restart for รฅ ta gjenge", + "f1": "du kan betrakte:", + "g1": "du kan laste opp til:", + "cc1": "brytere og sรฅnt:", + "h1": "skru av k304", + "i1": "skru pรฅ k304", + "j1": "k304 bryter tilkoplingen for hver HTTP 304. Dette hjelper mot visse mellomtjenere som kan sette seg fast / plutselig slutter รฅ laste sider, men det reduserer ogsรฅ ytelsen betydelig", + "k1": "nullstill innstillinger", + "l1": "logg inn:", + "ls3": "logg inn", + "lu4": "brukernavn", + "lp4": "passord", + "lo3": "logg ut โ€œ{0}โ€ overalt", + "lo2": "avslutter รธkten pรฅ alle nettlesere", + "m1": "velkommen tilbake,", + "n1": "404: filen finnes ikke  โ”( ยด -`)โ”Œ", + "o1": 'eller kanskje du ikke har tilgang? prรธv et passord eller gรฅ hjem', + "p1": "403: tilgang nektet  ~โ”ปโ”โ”ป", + "q1": 'prรธv et passord eller gรฅ hjem', + "r1": "gรฅ hjem", + ".s1": "kartlegg", + "t1": "handling", + "u2": "tid siden noen sist skrev til serveren$N( opplastning / navneendring / ... )$N$N17d = 17 dager$N1h23 = 1 time 23 minutter$N4m56 = 4 minuter 56 sekunder", + "v1": "koble til", + "v2": "bruk denne serveren som en lokal harddisk", + "w1": "bytt til https", + "x1": "bytt passord", + "y1": "dine delinger", + "z1": "lรฅs opp omrรฅde:", + "ta1": "du mรฅ skrive et nytt passord fรธrst", + "ta2": "gjenta for รฅ bekrefte nytt passord:", + "ta3": "fant en skrivefeil; vennligst prรธv igjen", + "nop": "FEIL: Passord kan ikke vรฆre blankt", + "nou": "FEIL: Bรฅde brukernavn og passord mรฅ angis", + "aa1": "innkommende:", + "ab1": "skru av no304", + "ac1": "skru pรฅ no304", + "ad1": "no304 stopper all bruk av cache. Hvis ikke k304 var nok, prรธv denne. Vil mangedoble dataforbruk!", + "ae1": "utgรฅende:", + "af1": "vis nylig opplastede filer", + "ag1": "vis kjente IdP-brukere", + } +}; diff --git a/copyparty/web/tl/pol.js b/copyparty/web/tl/pol.js new file mode 100644 index 00000000..397990f9 --- /dev/null +++ b/copyparty/web/tl/pol.js @@ -0,0 +1,713 @@ + +// Wiersze koล„czฤ…ce siฤ™ na //m to niezweryfikowane tล‚umaczenia maszynowe + +Ls.pol = { + "tt": "Polski", + + "cols": { + "c": "przyciski akcji", + "dur": "czas trwania", + "q": "jakoล›ฤ‡ / bitrate", + "Ac": "kodek audio", + "Vc": "kodek wideo", + "Fmt": "format / kontener", + "Ahash": "suma kontrolna audio", + "Vhash": "suma kontrolna wideo", + "Res": "rozdzielczoล›ฤ‡", + "T": "rodzaj pliku", + "aq": "jakoล›ฤ‡ / bitrate audio", + "vq": "jakoล›ฤ‡ / bitrate wideo", + "pixfmt": "podprรณbkowanie / struktura pikseli", + "resw": "rozdzielczoล›ฤ‡ pozioma", + "resh": "rozdzielczoล›ฤ‡ pionowa", + "chs": "kanaล‚y audio", + "hz": "czฤ™stotliwoล›ฤ‡ prรณbkowania", + }, + + "hks": [ + [ + "misc", + ["ESC", "zamknij rรณลผne rzeczy"], + + "file-manager", + ["G", "przeล‚ฤ…cz widok lista / siatka"], + ["T", "przeล‚ฤ…cz miniaturki / ikony"], + ["โ‡ง A/D", "wielkoล›ฤ‡ miniaturki"], + ["ctrl-K", "usuล„ zaznaczone"], + ["ctrl-X", "wytnij zaznaczone do schowka"], + ["ctrl-C", "skopiuj zaznaczone do schowka"], + ["ctrl-V", "wklej (przenieล›/skopiuj) tutaj"], + ["Y", "pobierz zaznaczone"], + ["F2", "zmieล„ nazwฤ™ zaznaczonych"], + + "file-list-sel", + ["spacja", "przeล‚ฤ…cz zaznaczanie plikรณw"], + ["โ†‘/โ†“", "przenieล› kursor zaznaczenia"], + ["ctrl โ†‘/โ†“", "przenieล› kursor i widok"], + ["โ‡ง โ†‘/โ†“", "wybierz poprzedni/nastฤ™pny plik"], + ["ctrl-A", "wybierz wszystkie pliki/foldery"], + ], [ + "navigation", + ["B", "przeล‚ฤ…cz ล›cieลผkฤ™ nawigacyjnฤ… / panel nawigacyjny"], + ["I/K", "poprzedni/nastฤ™pny folder"], + ["M", "folder nadrzฤ™dny (lub zwiล„ aktualny)"], + ["V", "przeล‚ฤ…cz foldery / pliki tekstowe w panelu nawigacyjnym"], + ["A/D", "rozmiar panelu nawigacyjnego"], + ], [ + "audio-player", + ["J/L", "poprzedni/nastฤ™pny utwรณr"], + ["U/O", "przejdลบ 10 sek. do tyล‚u/przodu"], + ["0..9", "przeskocz do 0%..90%"], + ["P", "odtwรณrz/pauza (rรณwnieลผ rozpoczyna)"], + ["S", "wybierz odtwarzany utwรณr"], + ["Y", "pobierz utwรณr"], + ], [ + "image-viewer", + ["J/L, โ†/โ†’", "poprzednie/nastฤ™pne zdjฤ™cie"], + ["Home/End", "pierwsze/ostatnie zdjฤ™cie"], + ["F", "peล‚ny ekran"], + ["R", "obrรณฤ‡ zgodnie ze wskaz. zegara"], + ["โ‡ง R", "obrรณฤ‡ przeciwnie do ruchu wskaz. zegara"], + ["S", "wybierz zdjฤ™cie"], + ["Y", "pobierz zdjฤ™cie"], + ], [ + "video-player", + ["U/O", "przejdลบ 10 sek. do tyล‚u/przodu"], + ["P/K/Spacja", "odtwรณrz/pauza"], + ["C", "odtwarzaj nastฤ™pne po zakoล„czeniu"], + ["V", "odtwarzaj w pฤ™tli"], + ["M", "wycisz"], + ["[ i ]", "ustaw opรณลบnienie pฤ™tli"], + ], [ + "textfile-viewer", + ["I/K", "poprzedni/nastฤ™pny plik"], + ["M", "zamknij plik"], + ["E", "edytuj plik"], + ["S", "wybierz plik (do wyciฤ™cia/skopiowania/zmiany nazwy)"], + ["Y", "pobierz plik tekstowy"], //m + ["โ‡ง J", "upiฤ™ksz json"], //m + ] + ], + + "m_ok": "OK", + "m_ng": "Anuluj", + + "enable": "Wล‚ฤ…cz", + "danger": "NIEBEZPIECZEลƒSTWO", + "clipped": "skopiowano do schowka", + + "ht_s1": "sekunda", + "ht_s2": "sekundy", + "ht_s5": "sekund", + "ht_m1": "minuta", + "ht_m2": "minuty", + "ht_m5": "minut", + "ht_h1": "godzina", + "ht_h2": "godziny", + "ht_h5": "godzin", + "ht_d1": "dzieล„", + "ht_d2": "dni", + "ht_and": " i ", + + "goh": "panel sterowania", + "gop": 'poprzedni plik/folder">poprzedni', + "gou": 'nadrzฤ™dny folder">w gรณrฤ™', + "gon": 'nastฤ™pny folder">nastฤ™pny', + "logout": "Wyloguj ", + "login": "Zaloguj siฤ™", //m + "access": " dostฤ™p", + "ot_close": "zamknij pod-menu", + "ot_search": "szukaj plikรณw po atrybutach, ล›cieลผce / nazwie, tagach muzyki, bฤ…dลบ dowolnej ich kombinacji$N$N<code>foo bar</code> = musi zawieraฤ‡ ยซfooยป oraz ยซbarยป,$N<code>foo -bar</code> = musi zawieraฤ‡ ยซfooยป, lecz nie ยซbarยป,$N<code>^yana .opus$</code> = musi zaczynaฤ‡ siฤ™ od ยซyanaยป i byฤ‡ plikiem ยซopusยป$N<code>"try unite"</code> = zawieraฤ‡ dokล‚adnie ยซtry uniteยป$N$Nformatem daty jest iso-8601, czyli$N<code>2009-12-31</code> lub <code>2020-09-12 23:30:00</code>", + "ot_unpost": "unpost: usuล„ ostatnio przesล‚ane pliki lub przerwij przesyล‚anie", + "ot_bup": "bup: podstawowe przesyล‚anie danych, wspiera nawet netscape 4.0", + "ot_mkdir": "mkdir: tworzy nowy folder", + "ot_md": "new-file: tworzy nowy plik tekstowy", //m + "ot_msg": "msg: wysyล‚a wiadomoล›ฤ‡ do loga serwera", + "ot_mp": "opcje odtwarzacza multimediรณw", + "ot_cfg": "opcje konfiguracji", + "ot_u2i": 'up2k: przesyล‚a pliki (jeลผeli masz dostฤ™p do zapisu) lub uruchomia tryb wyszukiwania, aby sprawdziฤ‡ czy juลผ istniejฤ… na serwerze$N$Nprzesyล‚anie moลผna wznowiฤ‡, jest wielowฤ…tkowe i znaczniki czasu sฤ… zachowywane, lecz zuลผywa wiฤ™cej procesora niลผ [๐ŸŽˆ]  (podstawowe przesyล‚anie)

    podczas przesyล‚ania ta ikona zamienia siฤ™ w wskaลบnik postฤ™pu!', + "ot_u2w": 'up2k: przesyล‚a pliki z moลผliwoล›ciฤ… wznowienia (moลผna zamknฤ…ฤ‡ przeglฤ…darkฤ™ i dokoล„czyฤ‡ przesyล‚anie plikรณw pรณลบniej)$N$Njest wielowฤ…tkowy i zachowuje znaczniki czasu plikรณw, lecz zuลผywa wiฤ™cej procesora od [๐ŸŽˆ]  (podstawowego przesyล‚ania)

    podczas przesyล‚ania ta ikona zamienia siฤ™ w wskaลบnik postฤ™pu!', + "ot_noie": 'Uลผyj przeglฤ…darki Chrome / Firefox / Edge', + + "ab_mkdir": "stwรณrz folder", + "ab_mkdoc": "nowy plik tekstowy", //m + "ab_msg": "wyล›lij wiad. do logรณw serwera", + + "ay_path": "przejdลบ do folderรณw", + "ay_files": "przejdลบ do plikรณw", + + "wt_ren": "zmieล„ nazwฤ™ zaznaczonych elementรณw$NSkrรณt: F2", + "wt_del": "usuล„ zaznaczone elementy$NSkrรณt: ctrl-K", + "wt_cut": "wytnij zaznaczone elementy <small>(aby wkleiฤ‡ gdzie indziej)</small>$NSkrรณt: ctrl-X", + "wt_cpy": "skopiuj zaznaczone pliki do schowka$N(aby wkleiฤ‡ gdzie indziej)$NSkrรณt: ctrl-C", + "wt_pst": "wklej wczeล›niej wyciฤ™te/skopiowane zaznaczenie$NSkrรณt: ctrl-V", + "wt_selall": "zaznacz wszystko$NHotkey: ctrl-A (when file focused)", + "wt_selinv": "odwrรณฤ‡ zaznaczenie", + "wt_zip1": "pobierz folder jako archiwum", + "wt_selzip": "pobierz zaznaczone jako archiwum", + "wt_seldl": "pobierz zaznaczenie jako oddzielne pliki$NSkrรณt: Y", + "wt_npirc": "skopiuj informacje o utworze w formacie irc", + "wt_nptxt": "skopiuj informacje o utworze jako zwykล‚y tekst", + "wt_m3ua": "dodaj to playlisty m3u (kliknij ๐Ÿ“ปcopy kliknij)", + "wt_m3uc": "skopiuj playlistฤ™ m3u do schowka", + "wt_grid": "przeล‚ฤ…cz widok siatki / listy$NSkrรณt: G", + "wt_prev": "poprzeni utwรณr$NSkrรณt: J", + "wt_play": "odtwรณrz / pauza$NSkrรณt: P", + "wt_next": "nastฤ™pny utwรณr$NSkrรณt: L", + + "ul_par": "przesyล‚ane rรณwnolegle:", + "ut_rand": "losuj nazwy plikรณw", + "ut_u2ts": "kopiuj znacznik ostatniej modyfikacji$Nz twojego systemu plikรณw na serwer\">๐Ÿ“…", + "ut_ow": "nadpisywaฤ‡ istniejฤ…ce pliki na serwerzฤ™?$N๐Ÿ›ก๏ธ: nigdy (wygeneruje nowฤ… nazwฤ™)$N๐Ÿ•’: nadpisz jeล›li pliki na serwerze sฤ… starsze niลผ przesyล‚ane$Nโ™ป๏ธ: zawsze nadpisuj jeล›li zawartoล›ฤ‡ plikรณw siฤ™ rรณลผni$Nโญ๏ธ: bezwarunkowo pomiล„ wszystkie istniejฤ…ce pliki", //m + "ut_mt": "hashuj inne pliki podczas przesyล‚ania$N$Nmoลผna wyล‚ฤ…czyฤ‡ w przypadku wystฤ…pienia wฤ…skiego gardล‚a na CPU lub HDD", + "ut_ask": 'pytaj o potwierdzenie rozpoczฤ™cia przesyล‚ania">๐Ÿ’ญ', + "ut_pot": "przyspiesz przesyล‚anie na sล‚abszych urzฤ…dzeniach,$Nupraszczajฤ…c interfejs", + "ut_srch": "nie przesyล‚aj plikรณw, jedynie sprawdลบ czy istniejฤ…$Njuลผ na serwerze (przeskanuje wszystkie foldery dostฤ™pne do odczytu)", + "ut_par": "zatrzymuje przesyล‚anie jeล›li wynosi 0$N$Nzwiฤ™ksz w przypadku jeล›li twoja sieฤ‡ jest wolna / ma duลผe opรณลบnienia$N$Nustaw wartoล›ฤ‡ 1 w sieci lokalnej lub w przypadku wolnego dysku serwerowego", + "ul_btn": "upuล›ฤ‡ pliki / foldery
    tutaj (lub kliknij mnie)", + "ul_btnu": "P R Z E ลš L I J", + "ul_btns": "S Z U K A J", + + "ul_hash": "hashowanie", + "ul_send": "przesyล‚anie", + "ul_done": "gotowe", + "ul_idle1": "nic siฤ™ jeszcze nie przesyล‚a", + "ut_etah": "ล›rednia prฤ™dkoล›ฤ‡ <em>hashowania</em> i przewidywany czas do koล„ca", + "ut_etau": "ล›rednia prฤ™dkoล›ฤ‡ <em>przesyล‚ania</em> i przewidywany czas do koล„ca", + "ut_etat": "ล›rednia prฤ™dkoล›ฤ‡ <em>ogรณlna</em> i przewidywany czas do koล„ca", + + "uct_ok": "zakoล„czone pomyล›lnie", + "uct_ng": "zakoล„czono niepowodzeniem (odrzucono, nie znaleziono, itp.)", + "uct_done": "zakoล„czono z bล‚ฤ™dami", + "uct_bz": "w trakcie (oblicznie sumy kontrolnej, przesyล‚anie)", + "uct_q": "oczekujฤ…ce", + + "utl_name": "nazwa pliku", + "utl_ulist": "lista", + "utl_ucopy": "kopia", + "utl_links": "linki", + "utl_stat": "status", + "utl_prog": "postฤ™p", + + // keep short: + "utl_404": "404", + "utl_err": "Bลฤ„D", + "utl_oserr": "bล‚ฤ…d OS", + "utl_found": "znaleziono", + "utl_defer": "opรณลบnij", + "utl_yolo": "YOLO", + "utl_done": "gotowe", + + "ul_flagblk": "pliki zostaล‚y zakolejkowane,
    lecz przesyล‚anie up2k juลผ trwa (w innej zakล‚adce),
    oczekujฤ™ na zakoล„czenie", + "ul_btnlk": "przeล‚ฤ…cznik zablokowany przez konfiguracjฤ™ serwera", + + "udt_up": "Przeล›lij", + "udt_srch": "Szukaj", + "udt_drop": "upuล›ฤ‡ tutaj", + + "u_nav_m": '
    co my tu mamy?
    Enter = Pliki (jeden lub wiecej)\nESC = Jeden folder (wล‚ฤ…cznie z podfolderami)', + "u_nav_b": 'PlikiJeden folder', + + "cl_opts": "przeล‚ฤ…czniki", + "cl_hfsz": "rozmiar pliku", //m + "cl_themes": "motyw", + "cl_langs": "jฤ™zyk", + "cl_ziptype": "pobieranie folderรณw", + "cl_uopts": "przeล‚ฤ…czniki przesyล‚ania (up2k)", + "cl_favico": "favicon (ikona w przeglฤ…darce)", + "cl_bigdir": "duลผe foldery", + "cl_hsort": "#sortowanie", + "cl_keytype": "notacja klucza", // not sure + "cl_hiddenc": "ukryte kolumny", + "cl_hidec": "ukryj", + "cl_reset": "zresetuj", + "cl_hpick": "kliknij nagล‚รณwki kolumn, aby ukryฤ‡ je w tabeli niลผej", + "cl_hcancel": "ukrywanie kolumn przerwane", + "cl_rcm": "menu kontekstowe", //m + + "ct_grid": '็”ฐ siatka', + "ct_ttips": 'โ—” โ—ก โ—”">โ„น๏ธ podpowiedzi', + "ct_thumb": 'w widoku siatki, przeล‚ฤ…cz ikony i miniaturki$NSkrรณt: T">๐Ÿ–ผ๏ธ miniaturki', + "ct_csel": 'uลผyj CTRL i SHIFT do wybierania plikรณw w widoku siatki">wybierz', + "ct_dl": 'wymuล› pobieranie (nie wyล›wietlaj inline) po klikniฤ™ciu pliku">dl', //m + "ct_ihop": 'przejdลบ do ostatniego pliku po zamkniฤ™ciu przeglฤ…darki obrazรณw">gโฎฏ', + "ct_dots": 'pokaลผ ukryte pliki (jeล›li pozwala serwer)">ukryte', + "ct_qdel": 'pytaj o potwierdzenie przy usuwaniu tylko raz">pyt. us.', + "ct_dir1st": 'pokazuj foldery na poczฤ…tku">๐Ÿ“ najpierw', + "ct_nsort": 'naturalne sortowanie (dla numerowanych plikรณw)">nsort', + "ct_utc": 'pokaลผ wszystkie daty/czas w UTC">UTC', + "ct_readme": 'pokazuj README.md w folderach">๐Ÿ“œ readme', + "ct_idxh": 'pokazuj plik index.html zamiast zawartoล›ci folderu">htm', + "ct_sbars": 'pokazuj paski przewijania">โŸŠ', + + "cut_umod": "uaktualnij znacznik ostatniej modyfikacji pliku, tak aby pasowaล‚ do pliku lokalnego jeลผeli plik juลผ istnieje na serwerze (wymaga dostฤ™pu zapisu i usuwania)\">๐Ÿ“… ponownie", + + "cut_turbo": "przycisk โ€žraz siฤ™ ลผyjeโ€, raczej NIE POWINIENEลš tego wล‚ฤ…czaฤ‡:$N$Nuลผywaj jeล›li przesyล‚ano ogromnฤ… liczbฤ™ plikรณw i z jakiegoล› powodu musisz przesล‚aฤ‡ pliki ponownie, kontynuujฤ…c jak najszybciej$N$Nzamienia sprawdzanie sumy kontrolnej plikรณw prostym "czy ten plik jest tego samego rozmiaru jak ten na serwerze?" wiฤ™c jeล›li pliki rรณลผniฤ… siฤ™ zawartoล›ciฤ…, ale sฤ… tego samego rozmiaru, NIE ZOSTANฤ„ przesล‚ane ponownie$N$Nta opcja powinna zostaฤ‡ wyล‚ฤ…czona po zakoล„czeniu przesyล‚ania, i potem "przesล‚aฤ‡" te same pliki ponownie w celu weryfikacji\">turbo", + + "cut_datechk": "przy wyล‚ฤ…czonym przycisku turbo nic nie robi$N$Nleciutko zmniejsza czynnik โ€žraz siฤ™ ลผyjeโ€; dodatkowo sprawdza czy znaczniki modyfikacji pliku przesyล‚anego zgadzajฤ… siฤ™ z serwerem$N$Nteorytycznie powinno zล‚apaฤ‡ to wiฤ™kszoล›ฤ‡ niedokoล„czonych / uszkodzonych plikรณw, lecz nie jest zamiennikiem wykonania ponownego sprawdzenia bez wล‚ฤ…czonego trybu turbo\">spr-daty", + + "cut_u2sz": "rozmiar (w MiB) kaลผdego kawaล‚ka do przesล‚ania; wiฤ™ksze wartoล›ci szybciej latajฤ… po Atlantyku. Mniejsze wartoล›ci dziaล‚ajฤ… lepiej na bardzo niestabilnych poล‚ฤ…czeniach (neostrada?)", + + "cut_flag": "zapewnia, ลผe tylko jedna karta przesyล‚a dane w danym momencie$N -- opcja musi byฤ‡ wล‚ฤ…czona na innych kartach $N - dotyczy tylko kart w tej samej domenie", + + "cut_az": "przesyล‚a pliki w kolejnoล›ci alfabetycznej, zamiast rozpoczฤ…ฤ‡ od najmniejszego pliku$N$Nkolejnoล›ฤ‡ alfabetyczna moลผe uล‚atwiฤ‡ oszacowanie, co mogล‚o pรณjล›ฤ‡ nie tak na serwerze, lecz lekko spowalnia przesyล‚anie po ล›wiatล‚owodzie lub w sieci lokalnej", + + "cut_nag": "powiadomienie systemowe po zakoล„czeniu przesyล‚ania$N(tylko jeล›li przeglฤ…darka lub karta nie jest aktywna)", + "cut_sfx": "sygnaล‚ dลบwiฤ™kowy po zakoล„czeniu przesyล‚ania$N(tylko jeล›li przeklฤ…darka lub karta nie jest aktywna)", + + "cut_mt": "uลผywaj wielowฤ…tkowoล›ci, aby przyspieszyฤ‡ obliczanie sumy kontrolnej plikรณw$N$Nuลผywa web workerรณw i wymaga$Nwiฤ™cej pamiฤ™ci RAM (do 512 MiB)$N$Nprzyspiesza https o 30% i http 4,5-krotnie\">ww", + + "cut_wasm": "uลผywaj WASM zamiast wbudowanego hashera przeglฤ…darki; zwiฤ™ksza prฤ™dkoล›ฤ‡ na Chrome'o-pochodnych przeglฤ…darkach, zwiฤ™kszajฤ…c zuลผycie procesora, ponadto wiele starszych wersji Chrome'a zawiera bล‚ฤ™dy powodujฤ…ce zeลผarcie caล‚ej pamiฤ™ci RAM komputera i przymusowe zamkniฤ™cie przeglฤ…darki jeลผeli ta opcja jest wล‚ฤ…czona\">wasm", + + "cft_text": "tekst favicon (aby wyล‚ฤ…czyฤ‡, usuล„ zawartoล›ฤ‡ i przeล‚aduj stronฤ™)", + "cft_fg": "kolor tekstu", + "cft_bg": "kolor tล‚a", + + "cdt_lim": "maksymalna liczba plikรณw do pokazania na raz w folderze", + "cdt_ask": "przy przewijaniu w dรณล‚,$Nzapytaj co robiฤ‡,$Nzamiast wczytywaฤ‡ kolejne pliki", + "cdt_hsort": "ile zasad sortowania (<code>,sorthref</code>) zawieraฤ‡ w generowanych linkach multimediรณw. Wartoล›ฤ‡ 0 sprawi, ลผe zasady sortowania zawarte w linkach multimediรณw przy otwarciu rรณwnieลผ bฤ™dฤ… ignorowane", + "cdt_ren": "wล‚ฤ…cz niestandardowe menu kontekstowe, standardowe menu jest dostฤ™pne po wciล›niฤ™ciu shift i klikniฤ™ciu prawym przyciskiem", //m + + "tt_entree": "pokaลผ panel nawigacyjny (panel boczny z drzewem folderรณw)$NSkrรณt: B", + "tt_detree": "pokaลผ ล›lad nawigacyjny$NSkrรณt: B", + "tt_visdir": "przewiล„ do wybranego folderu", + "tt_ftree": "przeล‚ฤ…cz drzewo folderรณw / pliki tekstowe$NSkrรณt: V", + "tt_pdock": "pokaลผ foldery nadrzฤ™dne w przypiฤ™tym u gรณry panelu", + "tt_dynt": "rozszerzaj panel wraz z drzewem", + "tt_wrap": "zawijaj tekst", + "tt_hover": "pokazuj za dล‚ugie linie po najechaniu kursorem$N( psuje przewijanie gdy $N  kursor nie jest w lewym marginesie )", + + "ml_pmode": "na koล„cu folderu...", + "ml_btns": "komendy", + "ml_tcode": "transkoduj", + "ml_tcode2": "transkoduj do", + "ml_tint": "odcieล„", + "ml_eq": "korektor dลบwiฤ™ku (equalizer)", + "ml_drc": "kompresor zasiฤ™gu dynamiki", + + "mt_loop": "pฤ™tla/powtarzaj jeden utwรณr\">๐Ÿ”", + "mt_one": "zatrzymaj po jednym utworze\">1๏ธโƒฃ", + "mt_shuf": "odtwarzaj losowo w kaลผdym folderze\">๐Ÿ”€", + "mt_aplay": "autoodtwarzanie po klikniฤ™ciu linku do tego serwera, zawierajฤ…cego identyfikator utworu$N$Nwyล‚ฤ…czenie tej opcji zapobiegnie aktualizowaniu adresu strony podczas odtwarzania muzyki, aby zapobiec autoodtwarzaniu przy utracie ustawieล„\">aโ–ถ", + "mt_preload": "rozpocznij ล‚adowanie kolejnego utworu blisko koล„ca aktualnego w celu uzyskania odtwarzania bez przerw\">preload", + "mt_prescan": "przechodzi do nastฤ™pnego folderu przed zakoล„czeniem ostatniego utworu,$Naby udobruchaฤ‡ przeglฤ…darkฤ™,$Nลผeby nie zatrzymaล‚a odtwarzania\">naw", + "mt_fullpre": "prรณbuj zbuforowaฤ‡ caล‚y utwรณr;$Nโœ… wล‚ฤ…cz na niestabilnych poล‚ฤ…czeniach,$NโŒ wyล‚ฤ…cz na wolnych poล‚ฤ…czeniach\">peล‚nebuf", + "mt_fau": "nie zatrzymuj muzyki jeล›li nastฤ™pna piosenka bฤ™dzie siฤ™ zbyt wolno buforowaฤ‡ na telefonach (moลผe sprawiฤ‡, ลผe tagi bฤ™dฤ… siฤ™ niepoprawnie wyล›wietlaฤ‡)\">โ˜•๏ธ", + "mt_waves": "falisty pasek:$Npokazuj amplitudฤ™ dลบwiฤ™ku w pasku utworu\">~s", + "mt_npclip": "pokaลผ przyciski kopiowania aktualnie odtwarzanego utworu\">/np", + "mt_m3u_c": "pokaลผ przyciski kopiowania$Nwybranych piosenek jako playlista m3u8\">๐Ÿ“ป", + "mt_octl": "integracja z systemem operacyjnym (przyciski multimedialne / informacje o utworze)\">os-int", + "mt_oseek": "zezwรณl na przewijanie utworu poprzez integracjฤ™ z systemem$N$Nuwaga: na niektรณrych urzฤ…dzeniach (iPhone'y),$Nzamienia przycisk nastฤ™pnej piosenki\">seek", + "mt_oscv": "pokaลผ okล‚adkฤ™ albumu w widoku systemu\">okล‚adka", + "mt_follow": "podฤ…ลผaj za odtwarzanym utworem przewijajฤ…c widok\">๐ŸŽฏ", + "mt_compact": "kompaktowe sterowanie\">โŸŽ", + "mt_uncache": "wyczyล›ฤ‡ pamiฤ™ฤ‡ podrฤ™cznฤ…  (sprรณbuj jeล›li przeglฤ…darka$Nzachowaล‚a zepsutฤ… kopiฤ™ utworu, przez co nie odtwarza siฤ™ ona)\">uncache", + "mt_mloop": "odtwarzaj utwory w folderze w pฤ™tli\">๐Ÿ” loop", + "mt_mnext": "wczytaj nastฤ™pny folder i kontynuuj\">๐Ÿ“‚ next", + "mt_mstop": "zatrzymaj odtwarzanie\">โธ stop", + "mt_cflac": "przekonwertuj format flac / wav na {0}\">flac", + "mt_caac": "przekonwertuj format aac / m4a na {0}\">aac", + "mt_coth": "przekonwertuj wszystkie inne formaty (nie bฤ™dฤ…ce mp3) na {0}\">oth", + "mt_c2opus": "najlepszy wybรณr dla komputerรณw, laptopรณw i urzฤ…dzeล„ z androidem\">opus", + "mt_c2owa": "opus-weba, dla iOS 17.5 i nowszych\">owa", + "mt_c2caf": "opus-caf, dla iOS 11 do 17\">caf", + "mt_c2mp3": "uลผywaj na bardzo starych urzฤ…dzeniach\">mp3", + "mt_c2flac": "najlepsza jakoล›ฤ‡ dลบwiฤ™ku, ale ogromne pliki do pobrania\">flac", //m + "mt_c2wav": "nieskompresowane odtwarzanie (jeszcze wiฤ™ksze)\">wav", //m + "mt_c2ok": "cudownie, dobry wybรณr", + "mt_c2nd": "ten format nie jest rekomendowany dla twojego urzฤ…dzenia, ale nadal jest w porzฤ…dku", + "mt_c2ng": "wyglฤ…da na to, ลผe to urzฤ…dzenie nie wspiera tego formatu, lecz sprรณbujmy i tak", + "mt_xowa": "iOS zawiera bล‚ฤ™dy uniemoลผliwiajฤ…ce odtwarzanie w tle uลผywajฤ…c tego formatu; wybierz caf lub mp3", + "mt_tint": "jasnoล›ฤ‡ tล‚a (0-100) paska,$Naby zmniejszyฤ‡ widocznoล›ฤ‡ buforowania", + "mt_eq": "wล‚ฤ…cza korektor dลบwiฤ™ku (equalizer) i kontrolฤ™ wzmocnienia dลบwiฤ™ku;$N$Nboost <code>0</code> = standardowa gล‚oล›noล›ฤ‡ 100% (niezmodyfikowana)$N$Nwidth <code>1  </code> = standardowe stereo (niezmodyfikowane)$Nwidth <code>0.5</code> = 50% crossfeed lewo-prawo$Nwidth <code>0  </code> = mono$N$Nboost <code>-0.8</code> & width <code>10</code> = usuwanie wokalu :^)$N$Nwล‚ฤ…czenie korektora sprawia, ลผe albumy bezprzerwowe sฤ… w peล‚ni bez przerw, wiฤ™c jeล›li jest to dla ciebie waลผne, zostaw wszystko na 0 (poza width = 1)", + "mt_drc": "wล‚ฤ…cza kompresor zakresu dynamiki (normalizacja gล‚oล›noล›ci); wล‚ฤ…cza rรณwnieลผ korektor w celu zbalansowania tego spaghetti, wiฤ™c ustaw wszystkie opcje korektora, oprรณcz 'width',na 0, jeล›li go nie chcesz$N$Nobniลผa gล‚oล›noล›ฤ‡ audio nad THRESHOLD (prรณg) dB; dla kaลผdego RATIO (wspรณล‚czynnika) dB, bฤ™dฤ…cego ponad THRESHOLDem jest 1 dB wyjล›cia, wiฤ™c domyล›lne wartoล›ci progu -24 i wspรณล‚czynnika 12 znaczฤ…, ลผe nigdy nie powinno byฤ‡ gล‚oล›niej niลผ -22 dB i bezpieczne jest zwiฤ™kszenie wzmocnienia korektora do 0.8, lub nawet 1.8 z ATK 0 i ogromnym RLS, jak 90 (dziaล‚a tylko na firefoxie, inne przeglฤ…darki majฤ… limit RLS 1)$N$N(na wikipedii tล‚umaczฤ… to duลผo lepiej)", + + "mb_play": "odtwรณrz", + "mm_hashplay": "odtworzyฤ‡ ten plik audio?", + "mm_m3u": "naciล›nij Enter/OK, aby odtworzyฤ‡\nnaciล›nij ESC/Anuluj, aby edytowaฤ‡", + "mp_breq": "wymagany jest Firefox 82+, Chrome 73+ lub iOS 15+", + "mm_bload": "wczytywanie...", + "mm_bconv": "konwertowanie do {0}, proszฤ™ czekaฤ‡...", + "mm_opusen": "ta przeglฤ…darka nie moลผe odtwarzaฤ‡ plikรณw aac / m4a;\ntranskodowanie do formatu opus wล‚ฤ…czone", + "mm_playerr": "odtwarzanie nie powiodล‚o siฤ™: ", + "mm_eabrt": "Odtwarzanie zostaล‚o przerwane", + "mm_enet": "Poล‚ฤ…czenie z internetem jest sล‚abe", + "mm_edec": "Ten plik wydaje siฤ™ uszkodzony??", + "mm_esupp": "Twoja przeglฤ…darka nie rozumie tego formatu audio", + "mm_eunk": "Nieznany bล‚ฤ…d", + "mm_e404": "Nie moลผna odtworzyฤ‡; bล‚ฤ…d 404: Nie znaleziono pliku.", + "mm_e403": "Nie moลผna odtworzyฤ‡; bล‚ฤ…d 403: Odmowa dostฤ™pu.\n\nSprรณbuj przeล‚adowaฤ‡ stronฤ™ (F5), moลผe ciฤ™ wylogowaล‚o", + "mm_e500": "Nie moลผna odtworzyฤ‡; bล‚ฤ…d 500: Sprawdลบ logi serwera.", + "mm_e5xx": "Nie moลผna odtworzyฤ‡; bล‚ฤ…d serwera", + "mm_nof": "nie znaleziono wiฤ™cej plikรณw audio", + "mm_prescan": "Szukanie kolejnego utworu...", + "mm_scank": "Znaleziono nastฤ™pnฤ… piosenkฤ™:", + "mm_uncache": "wyczyszczono pamiฤ™ฤ‡ podrฤ™cznฤ…; wszystkie utwory zostanฤ… pobrane ponownie przy nastฤ™pnym odtworzeniu", + "mm_hnf": "ten utwรณr juลผ nie istnieje", + + "im_hnf": "ten obraz juลผ nie istnieje", + + "f_empty": 'ten folder jest pusty', + "f_chide": 'schowa kolumnฤ™ ยซ{0}ยป\n\nkolumny moลผna ponownie pokazaฤ‡ w zakล‚adce ustwaieล„', + "f_bigtxt": "ten plik waลผy {0} MiB -- na pewno pokazaฤ‡ jako tekst?", + "f_bigtxt2": "odczytaฤ‡ jedynie koniec pliku? wล‚ฤ…czy rรณwnieลผ ล›ledzenie, pokazujฤ…c nowo-dodane linie tekstu w czasie rzeczywistym", + "fbd_more": '
    pokazujฤ™ {0} z {1} plikรณw; pokaลผ {2} lub pokaลผ wszystko
    ', + "fbd_all": '
    pokazujฤ™ {0} z {1} files; pokaลผ wszystko
    ', + "f_anota": "{0} z {1} elementรณw zostaล‚o wybranych;\naby pokazaฤ‡ caล‚y folder, zjedลบ na dรณล‚", + + "f_dls": 'linki do plikรณw w aktualnym folderze\nzostaล‚y zmienione w linki pobierania', + + "f_partial": "Aby bezpiecznie pobraฤ‡ plik, ktรณry aktualnie jest przesyล‚any, wybierz plik o tej samej nazwie, lecz bez rozszerzenia .PARTIAL. ลปeby to zrobiฤ‡, naciล›nij ANULUJ lub klawisz ESC.\n\nWciล›niฤ™cie OK / Enter zignoruje to ostrzeลผenie i pobierze plik tymczasowy .PARTIAL, ktรณry prawie z pewnoล›ciฤ… bฤ™dzie zepsuty", + + "ft_paste": "wklej {0} elementรณw$NSkrรณt: ctrl-V", + "fr_eperm": 'nie moลผna zmieniฤ‡ nazwy:\nnie posiadasz uprawnienia โ€žmoveโ€ w tym folderze', + "fd_eperm": 'nie moลผna usunฤ…ฤ‡:\nnie posiadasz uprawnienia โ€ždeleteโ€ w tym folderze', + "fc_eperm": 'nie moลผna wyciฤ…ฤ‡:\nnie posiadasz uprawnienia โ€žmoveโ€ w tym folderze', + "fp_eperm": 'nie moลผna wkleiฤ‡:\nnie posiadasz uprawnienia โ€žwriteโ€ w tym folderze', + "fr_emore": "wybierz przynajmniej jeden element do zmiany nazwy", + "fd_emore": "wybierz przynajmniej jeden element do usuniฤ™cia", + "fc_emore": "wybierz przynajmniej jeden element do wyciฤ™cia", + "fcp_emore": "wybierz przynajmniej jeden element do skopiowania", + + "fs_sc": "udostฤ™pnij ten folder", + "fs_ss": "udostฤ™pnij zaznaczone pliki", + "fs_just1d": "nie moลผna wybraฤ‡ wiฤ™cej niลผ jednego folderu,\nani mieszaฤ‡ plikรณw i folderรณw w jednym zaznaczeniu", + "fs_abrt": "โŒ przerwij", + "fs_rand": "๐ŸŽฒ losuj nazwฤ™", + "fs_go": "โœ… stwรณrz udostฤ™pnienie", + "fs_name": "nazwa", + "fs_src": "ลบrรณdล‚o", + "fs_pwd": "hasล‚o", + "fs_exp": "wygaล›niฤ™cie", + "fs_tmin": "min", + "fs_thrs": "godz.", + "fs_tdays": "dni", + "fs_never": "na zawsze", + "fs_pname": "opcjonalna nazwa linku; zostanie wylosowana jeล›li pusta", + "fs_tsrc": "plik lub folder do udostฤ™pnienia", + "fs_ppwd": "hasล‚o (opcjonalnie)", + "fs_w8": "udostฤ™pnianie...", + "fs_ok": "naciล›nij Enter/OK, aby skopiowaฤ‡ do schowka\nnaciล›nij ESC/Anuluj, aby zamknฤ…ฤ‡", + + "frt_dec": "moลผe naprawiฤ‡ niektรณre zepsute nazwy plikรณw\">dekoduj-url", + "frt_rst": "zresetuj zmodyfikowane nazwy plikรณw do oryginalnych\">โ†บ zresetuj", + "frt_abrt": "przerwij i zamknij to okno\">โŒ anuluj", + "frb_apply": "ZASTOSUJ ZMIANฤ˜ NAZWY", + "fr_adv": "zmiana nazwy hurtowa / metadanych / wzorcem\">zaawansowane", + "fr_case": "rozrรณลผnianie wielkoล›ci liter w regex\">wlit", + "fr_win": "nazwy bezpieczne dla systemu Windows; zamienia symbole <>:"\\|?* na japoล„skie odpowiedniki\">win", + "fr_slash": "zamienia / symbolem, ktรณry nie tworzy nowych folderรณw\">brak /", + "fr_re": "wzorzec wyszukiwania regex stosowany do oryginalnych nazw plikรณw; do grup przechwytywania moลผna siฤ™ odwoล‚aฤ‡ w polu formatu poniลผej, np. <code>(1)</code> i <code>(2)</code> itd.", + "fr_fmt": "inspirowane programem foobar2000:$N<code>(title)</code> zostaje zamienione na tytuล‚ utworu,$N<code>[(artist) - ](title)</code> pomija [tฤ…] czฤ™ล›ฤ‡ jeล›li pole artysty jest puste$N<code>$lpad((tn),2,0)</code> wyrรณwnuje numer utworu do 2 cyfr (np. 01, 06, 09, 16)", + "fr_pdel": "usuล„", + "fr_pnew": "zapisz jako", + "fr_pname": "podaj nazwฤ™ nowego szablonu", + "fr_aborted": "anulowano", + "fr_lold": "poprzednia nazwa", + "fr_lnew": "nowa nazwa", + "fr_tags": "znaczniki dla wybranych plikรณw (tylko do odczytu, w celach informacyjnych):", + "fr_busy": "zmienianie nazwy {0} plikรณw...\n\n{1}", + "fr_efail": "zmiana nazwy zakoล„czona niepowodzeniem:\n", + "fr_nchg": "{0} nowych nazw zostaล‚o zmienionych przez opcje win i/lub brak /\n\nKontynuowaฤ‡ ze zmienionymi nazwami?", + + "fd_ok": "usuniฤ™to", + "fd_err": "usuwanie zakoล„czone niepowodzeniem:\n", + "fd_none": "nie usuniฤ™to nic; usuniฤ™cie mogล‚o zostaฤ‡ zablokowane przez konfiguracjฤ™ serwera (xbd)?", + "fd_busy": "usuwanie {0} elementรณw...\n\n{1}", + "fd_warn1": "USUNฤ„ฤ† {0} elementรณw?", + "fd_warn2": "OSTATNIA SZANSA! Tej operacji nie da siฤ™ cofnฤ…ฤ‡. Usunฤ…ฤ‡?", + + "fc_ok": "wyciฤ™to {0} elementรณw", + "fc_warn": 'wyciฤ™to {0} elementรณw,\n\nlecz moลผna je wkleiฤ‡ tylko w tej karcie\n(ze wzglฤ™du na ogromnฤ… iloล›ฤ‡ wybranych elementรณw)', + + "fcc_ok": "skopiowano {0} elementรณw do schowka", + "fcc_warn": 'skopiowano {0} elementรณw,\n\nlecz moลผna je wkleiฤ‡ tylko w tej karcie\n(ze wzglฤ™du na ogromnฤ… iloล›ฤ‡ wybranych elementรณw)', + + "fp_apply": "zastosuj te nazwy", + "fp_skip": "pomiล„ konflikty", //m + "fp_ecut": "najpierw wytnij lub skopiuj pliki / foldery, aby je wkleiฤ‡ / przenieล›ฤ‡\n\nuwaga: moลผna wycinaฤ‡ / wklejaฤ‡ pomiฤ™dzy rรณลผnymi kartami przeglฤ…darki", + "fp_ename": "Nie udaล‚o siฤ™ przenieล›ฤ‡ {0} elementรณw, gdyลผ ich nazwy juลผ istniejฤ… w tym folderze. Nadaj im nowe nazwy poniลผej, bฤ…dลบ zostaw pole nazwy puste (\"pomiล„ konflikty\"), aby je pominฤ…ฤ‡:", //m + "fcp_ename": "Nie udaล‚o siฤ™ przekopiowaฤ‡ {0} elementรณw, gdyลผ ich nazwy juลผ istniejฤ… w tym folderze. Nadaj im nowe nazwy poniลผej, bฤ…dลบ zostaw pole nazwy puste (\"pomiล„ konflikty\"), aby je pominฤ…ฤ‡:", //m + "fp_emore": "pozostaล‚o jeszcze kilka kolizji nazw plikรณw do poprawy", + "fp_ok": "przeniesiono", + "fcp_ok": "przekopiowano", + "fp_busy": "przenoszenie {0} elementรณw...\n\n{1}", + "fcp_busy": "kopiowanie {0} elementรณw...\n\n{1}", + "fp_abrt": "przerywanie...", //m + "fp_err": "nie udaล‚o siฤ™ przenieล›ฤ‡:\n", + "fcp_err": "nie udaล‚o siฤ™ skopiowaฤ‡:\n", + "fp_confirm": "przenieล›ฤ‡ tutaj {0} elementy(รณw)?", + "fcp_confirm": "skopiowaฤ‡ tutaj {0} elementy(รณw)?", + "fp_etab": 'nie udaล‚o siฤ™ odczytaฤ‡ schowka z innej karty przeglฤ…darki', + "fp_name": "przesyล‚anie pliku z twojego urzฤ…dzenia. Nadaj nazwฤ™:", + "fp_both_m": '
    wybierz metodฤ™ wklejenia
    Enter = Przenieล› {0} pliki(รณw) z ยซ{1}ยป\nESC = Przeล›lij {2} pliki(รณw) z twojego urzฤ…dzenia', + "fcp_both_m": '
    wybierz metodฤ™ wklejenia
    Enter = Skopiuj {0} pliki(รณw) z ยซ{1}ยป\nESC = Przeล›lij {2} pliki(รณw) z twojego urzฤ…dzenia', + "fp_both_b": 'Przenieล›Przeล›lij', + "fcp_both_b": 'KopiujPrzeล›lij', + + "mk_noname": "wpisz nazwฤ™ do pola po lewej zanim to zrobisz :p", + "nmd_i1": "moลผesz teลผ dodaฤ‡ wybrane rozszerzenie, np. .md", //m + "nmd_i2": "moลผesz tworzyฤ‡ tylko pliki .md, poniewaลผ nie masz uprawnieล„ do usuwania", //m + + "tv_load": "Wczytywanie pliku tekstowego:\n\n{0}\n\n{1}% (wczytano {2} z {3} MiB)", + "tv_xe1": "nie udaล‚o siฤ™ wczytaฤ‡ pliku:\n\nbล‚ฤ…d ", + "tv_xe2": "404, nie znaleziono pliku", + "tv_lst": "lista plikรณw tekstowych w", + "tvt_close": "powrรณฤ‡ do widoku folderรณw$NSkrรณt: M (lub Esc)\">โŒ zamknij", + "tvt_dl": "pobierz ten plik$NHotkey: Y\">๐Ÿ’พ pobierz", + "tvt_prev": "pokaลผ poprzedni dokument$NSkrรณt: i\">โฌ† poprzedni", + "tvt_next": "pokaลผ nastฤ™pny dokument$NSkrรณt: K\">โฌ‡ nastฤ™pny", + "tvt_sel": "wybierz plik   ( do wyciฤ™cia / skopiowania / usuniฤ™cia / itp. )$NSkrรณt: S\">wyb", + "tvt_j": "upiฤ™ksz json$NSkrรณt: shift-J\">j", //m + "tvt_edit": "otwรณrz plik w edytorze tekstu$NSkrรณt: E\">โœ๏ธ edytuj", + "tvt_tail": "ล›ledลบ zmiany w pliku; pokazuj nowe linie w czasie rzeczywistym\">๐Ÿ“ก ล›ledลบ", + "tvt_wrap": "zawijaj tekst\">โ†ต", + "tvt_atail": "utrzymuj widok na dole strony\">โš“", + "tvt_ctail": "dekoduj kolory terminala (sekwencje sterujฤ…ce ANSI)\">๐ŸŒˆ", + "tvt_ntail": "limit przewijania (ile bajtรณw tekstu przechowywaฤ‡ w pamiฤ™ci)", + + "m3u_add1": "dodano utwรณr do playlisty m3u", + "m3u_addn": "dodano {0} utwory(รณw) do playlisty m3u", + "m3u_clip": "skopiowano playlistฤ™ m3u do schowka\n\nutwรณrz", + + "gt_vau": "nie pokazuj obrazu, odtwarzaj tylko dลบwiฤ™k\">๐ŸŽง", + "gt_msel": "wybierz pliki; kliknij plik z wciล›niฤ™tym klawiszem CTRL, aby zastฤ…piฤ‡$N$N<em>gdy tryb jest aktywny, kliknij dwukrotnie na plik / folder, ลผeby go otworzyฤ‡</em>$N$NSkrรณt: S\">wybierz wiele", + "gt_crop": "kadruj miniaturki do ล›rodka\">kadruj", + "gt_3x": "miniaturki w wysokiej rozdzielczoล›ci\">3x", + "gt_zoom": "przybliลผ", + "gt_chop": "przytnij", + "gt_sort": "sortuj wedล‚ug", + "gt_name": "nazwa", + "gt_sz": "rozmiar", + "gt_ts": "data", + "gt_ext": "typ", + "gt_c1": "przycinaj wiฤ™kszฤ… czฤ™ล›ฤ‡ nazw plikรณw (pokazuj mniej)", + "gt_c2": "przycinaj mniejszฤ… czฤ™ล›ฤ‡ nazw plikรณw (pokazuj wiฤ™cej)", + + "sm_w8": "wyszukiwanie...", + "sm_prev": "wyniki wyszukiwania poniลผej pochodzฤ… z poprzedniego zapytania:\n ", + "sl_close": "zamknij wyniki wyszukiwania", + "sl_hits": "pokazujฤ™ {0} wyniki(รณw)", + "sl_moar": "pokaลผ wiฤ™cej", + + "s_sz": "rozmiar", + "s_dt": "data", + "s_rd": "ล›cieลผka", + "s_fn": "nazwa", + "s_ta": "znaczniki", + "s_ua": "data przesล‚ania", + "s_ad": "zaawansowane", + "s_s1": "min. rozmiar (MiB)", + "s_s2": "maks. rozmiar (MiB)", + "s_d1": "min. data iso8601", + "s_d2": "maks. data iso8601", + "s_u1": "przesล‚ane po", + "s_u2": "i/lub przed", + "s_r1": "ล›cieลผka zawiera   (oddzielone spacjฤ…)", + "s_f1": "nazwa zawiera   (odwrรณฤ‡ za pomocฤ… -nope)", + "s_t1": "znaczniki zawierajฤ…   (^=start, koniec=$)", + "s_a1": "dokล‚adne wล‚aล›ciwoล›ci metadanych", + + "md_eshow": "nie moลผna wyล›wietliฤ‡ ", + "md_off": "[๐Ÿ“œreadme] wyล‚ฤ…czone w [โš™๏ธ] -- dokument ukryty", + + "badreply": "Nie udaล‚o siฤ™ przeanalizowaฤ‡ odpowiedzi serwera", + + "xhr403": "403: Odmowa dostฤ™pu.\n\nSprรณbuj przeล‚adowaฤ‡ stronฤ™ (F5), moลผliwe, ลผe ciฤ™ wylogowano", + "xhr0": "nieznany (byฤ‡ moลผe utracono poล‚ฤ…czenie z serwerem, lub jest on nieaktywny)", + "cf_ok": "przepraszamy, wล‚ฤ…czyล‚a siฤ™ ochrona przed DD" + wah + "oS\n\nwszystko powinno wrรณciฤ‡ do normy za okoล‚o 30 sekund\n\njeล›li nic siฤ™ nie zmieni, naciล›nij klawisz F5, aby przeล‚adowaฤ‡ stronฤ™", + "tl_xe1": "nie moลผna wyล›wietliฤ‡ podfolderรณw:\n\nbล‚ฤ…d ", + "tl_xe2": "404: Nie znaleziono folderu", + "fl_xe1": "nie moลผna wyล›wietliฤ‡ plikรณw w folderze:\n\nbล‚ฤ…d ", + "fl_xe2": "404: Nie znaleziono folderu", + "fd_xe1": "nie moลผna stworzyฤ‡ podfolderu:\n\nbล‚ฤ…d ", + "fd_xe2": "404: Nie znaleziono folderu nadrzฤ™dnego", + "fsm_xe1": "nie moลผna wysล‚aฤ‡ wiadomoล›ci:\n\nbล‚ฤ…d ", + "fsm_xe2": "404: Nie znaleziono folderu nadrzฤ™dnego", + "fu_xe1": "nie udaล‚o siฤ™ wczytaฤ‡ listy unpost z serwera:\n\nbล‚ฤ…d ", + "fu_xe2": "404: Nie znaleziono pliku??", + + "fz_tar": "nieskompresowane archiwum gnu-tar (linux / mac)", + "fz_pax": "nieskompresowane archiwum tar w formacie pax (wolniejsze)", + "fz_targz": "gnu-tar z kompresjฤ… gzip poziomu 3.,$N$Nzazwyczaj bardzo wolne, uลผywaj nieskompresowanego tar", + "fz_tarxz": "gnu-tar z kompresjฤ… xz poziomu 3.$N$Nzazwyczaj bardzo wolne, uลผywaj nieksompresowanego tar", + "fz_zip8": "zip z nazwami plikรณw UTF-8 (moลผe dziaล‚aฤ‡ nieprawidล‚owo na systemie Windows 7 i starszych)", + "fz_zipd": "zip z nazwami plikรณw cp437, dobre dla bardzo starego oprogramowania", + "fz_zipc": "cp437 z CRC32 obliczonym wczeล›niej,$Ndla MS-DOS PKZIP v2.04g (paลบdziernik 1993)$N(przetwarzanie do pobrania trwa dล‚uลผej)", + + "un_m1": "moลผna usunฤ…ฤ‡ ostatnio przesล‚ane pliki (lub przerwaฤ‡ trwajฤ…ce) poniลผej", + "un_upd": "odล›wieลผ", + "un_m4": "lub udostฤ™pnij pliki widoczne poniลผej:", + "un_ulist": "pokaลผ", + "un_ucopy": "kopiuj", + "un_flt": "filtruj (opcjonalnie):  URL musi zawieraฤ‡", + "un_fclr": "wyczyล›ฤ‡ kryteria filtrowania", + "un_derr": 'nie udaล‚o siฤ™ usunฤ…ฤ‡ unpost:\n', + "un_f5": 'coล› poszล‚o nie tak, sprรณbuj odล›wieลผyฤ‡ lub wciล›nij F5', + "un_uf5": "przed przerwaniem przesyล‚ania trzeba odล›wieลผyฤ‡ stronฤ™ (za pomocฤ… CTRL-R lub F5)", + "un_nou": 'ostrzeลผenie: serwer jest aktualnie zbyt obciฤ…ลผony, ลผeby pokazaฤ‡ niedokoล„czone przesล‚ania; kliknij link "odล›wieลผ" za chwilฤ™', + "un_noc": 'ostrzeลผenie: unpost w peล‚ni przesล‚anych plikรณw jest wyล‚ฤ…czone/zabronione w konfiguracji serwera', + "un_max": "pokazujฤ™ pierwsze 2000 plikรณw (uลผyj filtrowania)", + "un_avail": "{0} ostatnio przesล‚anych elementรณw moลผe zostaฤ‡ usuniฤ™te
    {1} niedokoล„czonych moลผna przerwaฤ‡", + "un_m2": "przesortowano po czasie przesล‚ania; najnowsze elementy pierwsze: ", + "un_no1": "cholibka! ลผaden przesล‚any element nie jest wystarczajฤ…co niedawny", + "un_no2": "cholibka! ลผaden przesล‚any element pasujฤ…cy do filtra nie jest wystarczajฤ…co niedawny", + "un_next": "usuล„ nastฤ™pne {0} pliki(รณw) poniลผej", + "un_abrt": "przerwij", + "un_del": "usuล„", + "un_m3": "wczytywanie ostatnio przesล‚anych elementรณw...", + "un_busy": "usuwanie {0} plikรณw...", + "un_clip": "skopiowano {0} linkรณw do schowka", + + "u_https1": "powinieneล› przejล›ฤ‡", + "u_https2": "na HTTPS w celu", + "u_https3": "uzyskania lepszej wydajnoล›ci", + "u_ancient": 'twoja przeglฤ…darka jest niezwykle zabytkowa -- powinieneล› zamiast tego uลผyฤ‡ bup', + "u_nowork": "wymaga Firefox 53+, Chrome 57+ lub iOS 11+", + "tail_2old": "wymaga Firefox 105+, Chrome 71+ lub iOS 14.5+", + "u_nodrop": 'ta przeglฤ…darka jest za stara, nie wspiera przesyล‚ania "przeciฤ…gnij i upuล›ฤ‡"', + "u_notdir": "to nie jest folder!\n\nta przeglฤ…darka jest za stara\nsprรณbuj przeciฤ…gnฤ…ฤ‡ i upuล›ciฤ‡", + "u_uri": "aby przeciฤ…gnฤ…ฤ‡ i upuล›ciฤ‡ obrazy z innych okien przeglฤ…darki,\nupuล›ฤ‡ je na duลผy przycisk przesyล‚ania", + "u_enpot": 'przeล‚ฤ…cz na lekki interfejs (moลผe zwiฤ™kszyฤ‡ prฤ™dkoล›ฤ‡ przesyล‚ania)', + "u_depot": 'przeล‚ฤ…cz na ล‚adny interfejs (moลผe zmniejszyฤ‡ prฤ™dkoล›c przesyล‚ania)', + "u_gotpot": 'przeล‚ฤ…czanie na lekki interfejs w celu poprawy prฤ™dkoล›ci przesyล‚ania,\n\nzawsze moลผna przeล‚ฤ…czyฤ‡ siฤ™ na ล‚adny interfejs!', + "u_pott": "

    pliki:   {0} ukoล„czonych,   {1} nie powiodล‚o siฤ™,   {2} w trakcie,   {3} oczekujฤ…cych

    ", + "u_ever": "podstawowe przesyล‚anie; up2k wymaga minimalnie przeglฤ…darek:
    Chrome 21 // Firefox 13 // Edge 12 // Opera 12 // Safari 5.1", + "u_su2k": 'podstawowe przesyล‚anie; up2k jest lepszy', + "u_uput": 'optymalizuj dla prฤ™dkoล›ci (pomijajฤ…c spr. sum kontrolnych)', + "u_ewrite": 'nie masz dostฤ™pu do zapisu (write) w tym folderze', + "u_eread": 'nie masz dostฤ™pu do odczytu (read) tego folderu', + "u_enoi": 'wyszukiwanie plikรณw jest wyล‚ฤ…czone w konfiguracji serwera', + "u_enoow": "nadpisanie nie zadziaล‚a, wymagany dostฤ™p do usuwania (delete)", + "u_badf": '{0} (z {1}) plikรณw zostaล‚o pominiฤ™tych, prawdopodobnie przez opcje dostฤ™pu systemu plikรณw:\n\n', + "u_blankf": '{0} (z {1}) plikรณw jest pustych; przesล‚aฤ‡ mimo to?\n\n', + "u_applef": '{0} (z {1}) plikรณw moลผe byฤ‡ niepoลผฤ…dane;\nNaciล›nij OK/Enter, aby pominฤ…ฤ‡ je (wypisane poniลผej);\nNaciล›nij Anuluj/ESC, by je przesล‚aฤ‡ mimo to:\n\n', + "u_just1": '\nTa funkcja moลผe dziaล‚aฤ‡ lepiej z wybranym jednym plikiem', + "u_ff_many": "na systemach Linux / MacOS / Android, ta iloล›c plikรณw moลผe spowodowaฤ‡ przymusowe zamkniฤ™cie przeglฤ…darki Firefox\nw takim przypadku, sprรณbuj ponownie (lub uลผyj Chrome'a).", + "u_up_life": "Ten przesyล‚any plik zostanie usuniฤ™ty z serwera\n{0} po zakoล„czeniu przesyล‚ania", + "u_asku": 'przeล›lij {0} pliki(รณw) do {1}', + "u_unpt": "moลผna cofnฤ…ฤ‡ / usunฤ…ฤ‡ ten przesล‚any plik za pomocฤ… ๐Ÿงฏ w lewym gรณrnym rogu", + "u_bigtab": 'zaraz pokaลผฤ™ {0} plikรณw\n\nta operacja moลผe zawiesiฤ‡ twojฤ… przeglฤ…darkฤ™, na pewno kontynuowaฤ‡?', + "u_scan": 'Skanowanie plikรณw...', + "u_dirstuck": 'iterator katalogรณw utknฤ…ล‚ podczas prรณby dostฤ™pu poniลผszych {0} elementรณw, pominiฤ™to:', + "u_etadone": 'Ukoล„czono ({0}, {1} plikรณw)', + "u_etaprep": '(przygotowywanie do przesล‚ania)', + "u_hashdone": 'obliczono sumฤ™ kontrolnฤ…', + "u_hashing": 'obliczanie sumy kontrolnej', + "u_hs": 'nawiฤ…zywanie poล‚ฤ…czenia...', + "u_started": "rozpoczฤ™to przesyล‚anie; zobacz w [๐Ÿš€]", + "u_dupdefer": "duplikat; zostanie przetworzony na koล„cu", + "u_actx": "kliknij ten napis, aby zapobiec spadkowi
    wydajnoล›ci po zmianie aktywnego okna/karty przeglฤ…darki", + "u_fixed": "OK!  Naprawiono ๐Ÿ‘", + "u_cuerr": "nie udaล‚o siฤ™ przesล‚aฤ‡ fragmentu {0} z {1};\nprawdopodobnie niegroลบne, kontynuowanie\n\nplik: {2}", + "u_cuerr2": "serwer odrzuciล‚ przesyล‚anie (kawaล‚ek {0} z {1});\nsprรณbujฤ™ ponownie pรณลบniej\n\nplik: {2}\n\nbล‚ฤ…d ", + "u_ehstmp": "sprรณbujฤ™ ponownie; wiฤ™cej informacji w prawym dolnym rogu", + "u_ehsfin": "serwer odrzuciล‚ proล›bฤ™ o zakoล„czenie przesyล‚ania; prรณbujฤ™ ponownie...", + "u_ehssrch": "serwer odrzuciล‚ proล›bฤ™ o wykonanie wyszukania; prรณbujฤ™ ponownie...", + "u_ehsinit": "serwer odrzuciล‚ proล›bฤ™ o rozpoczฤ™cie przesyล‚ania; prรณbujฤ™ ponownie...", + "u_eneths": "bล‚ฤ…d sieci podczas negocjacji warunkรณw przesyล‚ania; prรณbujฤ™ ponownie...", + "u_enethd": "bล‚ฤ…d sieci podczas sprawdzania istnienia celu; prรณbujฤ™ ponownie...", + "u_cbusy": "oczekiwanie na ponowne zaufanie serwera po bล‚ฤ™dzie sieci...", + "u_ehsdf": "brak miejsca na dysku serwera!\n\nprรณby bฤ™dฤ… ponawiane na wypadek\nzwolnienia wystarczajฤ…co duลผo miejsca aby kontynuowaฤ‡", + "u_emtleak1": "wyglฤ…da na to, ลผe twoja przeglฤ…darka moลผe mieฤ‡ wyciek pamiฤ™ci;\n", + "u_emtleak2": ' przejdลบ na HTTPS (zalecane) lub ', + "u_emtleak3": ' ', + "u_emtleakc": 'sprรณbuj:\n
    • wciล›nij F5, aby odล›wieลผyฤ‡ stronฤ™
    • wyล‚ฤ…cz przycisk  ww  w menu โš™๏ธ ustawienia
    • i sprรณbuj przesล‚aฤ‡ ponownie
    Prฤ™dkoล›ฤ‡ przesyล‚ania bฤ™dzie niลผsza, ale cรณลผ zrobisz.\nPrzepraszamy za problemu!\n\nPS: Chrome v107 ma poprawkฤ™ tego bล‚ฤ™du.', + "u_emtleakf": 'sprรณbuj:\n
    • wciล›nij F5, aby odล›wieลผyฤ‡ stronฤ™
    • wล‚ฤ…cz tryb ๐Ÿฅ” (lekkiego interfejsu) w interfejsie przesyล‚ania
    • i sprรณbuj przesล‚aฤ‡ ponownie
    \nPS: Firefox moลผe kiedyล› mieฤ‡ poprawkฤ™ย tego bล‚ฤ™du', + "u_s404": "nie znaleziono na serwerze", + "u_expl": "wytล‚umacz", + "u_maxconn": "wiฤ™kszoล›ฤ‡ przeglฤ…darek ogranicza to do 6, ale Firefox pozwala zwiฤ™kszyฤ‡ tฤ… wartoล›ฤ‡, ustawiajฤ…c connections-per-server w about:config", + "u_tu": '

    UWAGA: tryb turbo wล‚ฤ…czony,  klient moลผe nie wykryฤ‡ i nie kontynuowaฤ‡ niedokoล„czonych przesล‚aล„; patrz wskazรณwka przycisku turbo

    ', + "u_ts": '

    UWAGA: tryb turbo wล‚ฤ…czony,  wyniki wyszukiwania mogฤ… byฤ‡ niepoprawne; patrz wskazรณwka przycisku turbo

    ', + "u_turbo_c": "tryb turbo jest wyล‚ฤ…czony w konfiguracji serwera", + "u_turbo_g": "wyล‚ฤ…czanie trybu turbo, nie posiadasz dostฤ™pu\ndo listy katalogu w tym wolumenie", + "u_life_cfg": 'autousuwanie po min (lub godz.)', + "u_life_est": 'przesล‚any plik zostanie usuniฤ™ty ---', + "u_life_max": 'ten folder wymaga\nmaks. czasu do usuniฤ™cia rรณwnego {0}', + "u_unp_ok": 'unpost jest dozwolony przez {0}', + "u_unp_ng": 'unpost NIE jest dozwolony', + "ue_ro": 'dostฤ™p tylko-do-odczytu\n\n', + "ue_nl": 'nie jesteล› zalogowany', + "ue_la": 'zalogowano jako "{0}"', + "ue_sr": 'jesteล› w trybie wyszukiwania\n\nprzeล‚ฤ…cz siฤ™ na tryb przesyล‚ania, klikajฤ…c lupฤ™ ๐Ÿ”Ž (obok przycisku Szukaj), i sprรณbuj ponownie', + "ue_ta": 'sprรณbuj przesล‚aฤ‡ ponownie, wszystko powinno byฤ‡ w porzฤ…dku', + "ue_ab": "ten plik juลผ jest przesyล‚any do innego folderu, przesyล‚anie musi siฤ™ zakoล„czyฤ‡, zanim bฤ™dzie mรณgล‚ byฤ‡ on przesล‚any gdzie indziej.\n\nMoลผna przerwaฤ‡ pierwsze przesyล‚anie za pomocฤ… ๐Ÿงฏ w lewym gรณrnym rogu", + "ur_1uo": "OK: Plik przesล‚any pomyล›lnie", + "ur_auo": "OK: Wszystkie ({0}) pliki zostaล‚y przesล‚ane pomyล›lnie", + "ur_1so": "OK: Znaleziono plik na serwerze", + "ur_aso": "OK: Znaleziono wszystkie ({0}) pliki na serwerze", + "ur_1un": "Przesyล‚anie nie powiodล‚o siฤ™", + "ur_aun": "Wszystkie ({0}) przesล‚ania nie powiodล‚y siฤ™", + "ur_1sn": "NIE znaleziono pliku na serwerze", + "ur_asn": "NIE znaleziono {0} plikรณw na serwerze", + "ur_um": "Zakoล„czono;\n{0} przesล‚aล„ OK,\n{1} przesล‚aล„ nie powiodล‚o siฤ™", + "ur_sm": "Zakoล„czono;\nznaleziono {0} pliki(รณw),\nnie znaleziono {1} pliki(รณw) na serwerze", + + "rc_opn": "otwรณrz", //m + "rc_ply": "odtwรณrz", //m + "rc_pla": "odtwรณrz jako dลบwiฤ™k", //m + "rc_txt": "otwรณrz w przeglฤ…darce plikรณw", //m + "rc_md": "otwรณrz w edytorze tekstu", //m + "rc_dl": "pobierz", //m + "rc_zip": "pobierz jako archiwum", //m + "rc_del": "usuล„", //m + "rc_cut": "wytnij", //m + "rc_cpy": "kopiuj", //m + "rc_pst": "wklej", //m + "rc_nfo": "nowy folder", //m + "rc_nfi": "nowy plik", //m + "rc_sal": "zaznacz wszystko", //m + "rc_sin": "odwrรณฤ‡ zaznaczenie", //m + + "lang_set": "odล›wieลผ stronฤ™ (F5), aby zastosowaฤ‡ zmianฤ™.", + + "splash": { + "a1": "odล›wieลผ", + "b1": "witaj, nieznajomy   (nie jesteล› zalogowany)", + "c1": "wyloguj siฤ™", + "d1": "zrzut stosu", + "d2": "pokazuje status wszystkich aktywnych wฤ…tkรณw", + "e1": "przeล‚aduj konfiguracjฤ™", + "e2": "przeล‚aduj pliki konfiguracyjne (konta/wolumeny/flagi wolumenรณw),$Ni przeskanuje wszystkie wolumeny e2ds$N$Nnotka: zmiany konfiguracji globalnej$Nwymagajฤ… peล‚nego uruchomienia ponownie serwera, aby zaczฤ™ล‚y obowiฤ…zywaฤ‡", + "f1": "moลผesz przeglฤ…daฤ‡:", + "g1": "moลผesz przesyล‚aฤ‡ do:", + "cc1": "inne:", + "h1": "wyล‚ฤ…cz k304", + "i1": "wล‚ฤ…cz k304", + "j1": "wล‚ฤ…czenie k304 bฤ™dzie odล‚ฤ…czaล‚o klienta przy kaลผdorazowym otrzymaniu kodu HTTP 304, co moลผe zapobiec wieszaniu siฤ™ wadliwych proxy, ale spowolni ogรณlne dziaล‚anie", + "k1": "zresetuj ustawienia klienta", + "l1": "zaloguj siฤ™ po wiฤ™cej:", + "ls3": "zaloguj siฤ™", //m + "lu4": "nazwa uลผytkownika", //m + "lp4": "hasล‚o", //m + "lo3": "wyloguj โ€œ{0}โ€ wszฤ™dzie", //m + "lo2": "spowoduje to zakoล„czenie sesji we wszystkich przeglฤ…darkach", //m + "m1": "Witaj,", + "n1": "404 nie znaleziono  โ”( ยด -`)โ”Œ", + "o1": 'lub moลผesz nie mieฤ‡ dostฤ™pu -- sprรณbuj wprowadziฤ‡ hasล‚o lub przejdลบ do strony gล‚รณwnej', + "p1": "403 odmowa dostฤ™pu  ~โ”ปโ”โ”ป", + "q1": 'uลผyj hasล‚a lub przejdลบ do strony gล‚รณwnej', + "r1": "idลบ do strony gล‚รณwnej", + ".s1": "przeskanuj ponownie", + "t1": "akcje", + "u2": "czas od ostatniej interakcji z serwerem$N( przesyล‚ania / zmiany nazwy / ... )$N$N17d = 17 dni$N1h23 = 1 godzina 23 minuty$N4m56 = 4 minuty 56 sekund", + "v1": "poล‚ฤ…cz", + "v2": "uลผywaj tego serwera jako dysku lokalnego", + "w1": "przejdลบ na HTTPS", + "x1": "zmieล„ hasล‚o", + "y1": "edytuj udostฤ™pnione", + "z1": "odblokuj udostฤ™pnienie:", + "ta1": "najpierw wprowadลบ nowe hasล‚o", + "ta2": "powtรณrz hasล‚o dla potwierdzenia:", + "ta3": "znaleziono literรณwkฤ™, sprรณbuj ponownie", + "nop": "Bลฤ„D: Hasล‚o nie moลผe byฤ‡ puste", //m + "nou": "Bลฤ„D: Nazwa uลผytkownika i/lub hasล‚o nie moลผe byฤ‡ puste", //m + "aa1": "pliki przychodzฤ…ce:", + "ab1": "wyล‚ฤ…cz no304", + "ac1": "wล‚ฤ…cz no304", + "ad1": "wล‚ฤ…czenie no304 wyล‚ฤ…czy przechowywanie jakiejkolwiek pamiฤ™ci podrฤ™cznej. Zmarnuje to olbrzymiฤ… iloล›ฤ‡ ruchu sieciowego!", + "ae1": "trwajฤ…ce pobierania:", + "af1": "pokaลผ ostatnio przesล‚ane pliki", + "ag1": "pokaลผ znanych uลผytkownikรณw IdP", + } +}; diff --git a/copyparty/web/tl/por.js b/copyparty/web/tl/por.js new file mode 100644 index 00000000..0ba3ee6c --- /dev/null +++ b/copyparty/web/tl/por.js @@ -0,0 +1,710 @@ + +// Linhas que terminam com //m sรฃo traduรงรตes automรกticas nรฃo verificadas + +Ls.por = { + "tt": "Portuguรชs", + + "cols": { + "c": "botรตes de aรงรฃo", + "dur": "duraรงรฃo", + "q": "qualidade / bitrate", + "Ac": "codec de รกudio", + "Vc": "codec de vรญdeo", + "Fmt": "formato / contรชiner", + "Ahash": "checksum de รกudio", + "Vhash": "checksum de vรญdeo", + "Res": "resoluรงรฃo", + "T": "tipo de arquivo", + "aq": "qualidade / bitrate de รกudio", + "vq": "qualidade / bitrate de vรญdeo", + "pixfmt": "subamostragem / estrutura de pixel", + "resw": "resoluรงรฃo horizontal", + "resh": "resoluรงรฃo vertical", + "chs": "canais de รกudio", + "hz": "taxa de amostragem", + }, + + "hks": [ + [ + "diversos", + ["ESC", "fechar vรกrias coisas"], + + "gerenciador de arquivos", + ["G", "alternar entre visualizaรงรฃo de lista / grade"], + ["T", "alternar entre miniaturas / รญcones"], + ["โ‡ง A/D", "tamanho da miniatura"], + ["ctrl-K", "excluir selecionados"], + ["ctrl-X", "recortar seleรงรฃo para a รกrea de transferรชncia"], + ["ctrl-C", "copiar seleรงรฃo para a รกrea de transferรชncia"], + ["ctrl-V", "colar (mover/copiar) aqui"], + ["Y", "baixar selecionado"], + ["F2", "renomear selecionado"], + + "seleรงรฃo de lista de arquivos", + ["espaรงo", "alternar seleรงรฃo de arquivo"], + ["โ†‘/โ†“", "mover cursor de seleรงรฃo"], + ["ctrl โ†‘/โ†“", "mover cursor e visualizaรงรฃo"], + ["โ‡ง โ†‘/โ†“", "selecionar arquivo anterior/prรณximo"], + ["ctrl-A", "selecionar todos os arquivos / pastas"], + ], [ + "navegaรงรฃo", + ["B", "alternar entre breadcrumbs / painel de navegaรงรฃo"], + ["I/K", "pasta anterior/prรณxima"], + ["M", "pasta pai (ou desexpandir a atual)"], + ["V", "alternar entre pastas / arquivos de texto no painel de navegaรงรฃo"], + ["A/D", "tamanho do painel de navegaรงรฃo"], + ], [ + "reprodutor de รกudio", + ["J/L", "mรบsica anterior/prรณxima"], + ["U/O", "pular 10 segundos para trรกs/frente"], + ["0..9", "pular para 0%..90%"], + ["P", "reproduzir/pausar (tambรฉm inicia)"], + ["S", "selecionar a mรบsica que estรก tocando"], + ["Y", "baixar mรบsica"], + ], [ + "visualizador de imagens", + ["J/L, โ†/โ†’", "imagem anterior/prรณxima"], + ["Home/End", "primeira/รบltima imagem"], + ["F", "tela cheia"], + ["R", "girar no sentido horรกrio"], + ["โ‡ง R", "girar no sentido anti-horรกrio"], + ["S", "selecionar imagem"], + ["Y", "baixar imagem"], + ], [ + "reprodutor de vรญdeo", + ["U/O", "pular 10 segundos para trรกs/frente"], + ["P/K/Espaรงo", "reproduzir/pausar"], + ["C", "continuar reproduzindo o prรณximo"], + ["V", "loop"], + ["M", "mudo"], + ["[ e ]", "definir intervalo de loop"], + ], [ + "visualizador de arquivos de texto", + ["I/K", "arquivo anterior/prรณximo"], + ["M", "fechar arquivo de texto"], + ["E", "editar arquivo de texto"], + ["S", "selecionar arquivo (para recortar/copiar/renomear)"], + ["Y", "baixar arquivo de texto"], //m + ["โ‡ง J", "embelezar json"], //m + ] + ], + + "m_ok": "OK", + "m_ng": "Cancelar", + + "enable": "Ativar", + "danger": "PERIGO", + "clipped": "copiado para a รกrea de transferรชncia", + + "ht_s1": "segundo", + "ht_s2": "segundos", + "ht_m1": "minuto", + "ht_m2": "minutos", + "ht_h1": "hora", + "ht_h2": "horas", + "ht_d1": "dia", + "ht_d2": "dias", + "ht_and": " e ", + + "goh": "painel de controle", + "gop": 'pai anterior">anterior', + "gou": 'pasta pai">acima', + "gon": 'prรณxima pasta">prรณximo', + "logout": "Sair ", + "login": "Fazer login", + "access": " acesso", + "ot_close": "fechar submenu", + "ot_search": "procurar arquivos por atributos, caminho / nome, tags de mรบsica ou qualquer combinaรงรฃo deles$N$N<code>foo bar</code> = deve conter ambos ยซfooยป e ยซbarยป,$N<code>foo -bar</code> = deve conter ยซfooยป mas nรฃo ยซbarยป,$N<code>^yana .opus$</code> = comeรงar com ยซyanaยป e ser um arquivo ยซopusยป$N<code>"try unite"</code> = conter exatamente ยซtry uniteยป$N$No formato de data รฉ iso-8601, como$N<code>2009-12-31</code> ou <code>2020-09-12 23:30:00</code>", + "ot_unpost": "despublicar: excluir seus uploads recentes, ou abortar os que nรฃo foram concluรญdos", + "ot_bup": "bup: uploader bรกsico, atรฉ suporta netscape 4.0", + "ot_mkdir": "mkdir: criar um novo diretรณrio", + "ot_md": "new-file: criar um novo ficheiro de texto", //m + "ot_msg": "msg: enviar uma mensagem para o log do servidor", + "ot_mp": "opรงรตes do reprodutor de mรญdia", + "ot_cfg": "opรงรตes de configuraรงรฃo", + "ot_u2i": 'up2k: fazer upload de arquivos (se vocรช tiver acesso de escrita) ou alternar para o modo de busca para ver se eles jรก existem em algum lugar no servidor$N$Nuploads sรฃo reiniciรกveis, multithread, e os carimbos de data/hora dos arquivos sรฃo preservados, mas usa mais CPU que [๐ŸŽˆ]  (o uploader bรกsico)

    durante os uploads, este รญcone se torna um indicador de progresso!', + "ot_u2w": 'up2k: fazer upload de arquivos com suporte a retomada (feche seu navegador e solte os mesmos arquivos mais tarde)$N$Nmultithread, e os carimbos de data/hora dos arquivos sรฃo preservados, mas usa mais CPU que [๐ŸŽˆ]  (o uploader bรกsico)

    durante os uploads, este รญcone se torna um indicador de progresso!', + "ot_noie": 'Por favor, use Chrome / Firefox / Edge', + + "ab_mkdir": "criar diretรณrio", + "ab_mkdoc": "novo ficheiro de texto", //m + "ab_msg": "enviar msg para o log do srv", + + "ay_path": "pular para pastas", + "ay_files": "pular para arquivos", + + "wt_ren": "renomear itens selecionados$NHotkey: F2", + "wt_del": "excluir itens selecionados$NHotkey: ctrl-K", + "wt_cut": "recortar itens selecionados <small>(depois colar em outro lugar)</small>$NHotkey: ctrl-X", + "wt_cpy": "copiar itens selecionados para a รกrea de transferรชncia$N(para colรก-los em outro lugar)$NHotkey: ctrl-C", + "wt_pst": "colar uma seleรงรฃo previamente recortada / copiada$NHotkey: ctrl-V", + "wt_selall": "selecionar todos os arquivos$NHotkey: ctrl-A (quando o arquivo estiver em foco)", + "wt_selinv": "inverter seleรงรฃo", + "wt_zip1": "baixar esta pasta como um arquivo compactado", + "wt_selzip": "baixar seleรงรฃo como um arquivo compactado", + "wt_seldl": "baixar seleรงรฃo como arquivos separados$NHotkey: Y", + "wt_npirc": "copiar informaรงรตes da faixa em formato irc", + "wt_nptxt": "copiar informaรงรตes da faixa em texto simples", + "wt_m3ua": "adicionar ร  playlist m3u (clique em ๐Ÿ“ปcopiar depois)", + "wt_m3uc": "copiar playlist m3u para a รกrea de transferรชncia", + "wt_grid": "alternar entre visualizaรงรฃo de grade / lista$NHotkey: G", + "wt_prev": "faixa anterior$NHotkey: J", + "wt_play": "reproduzir / pausar$NHotkey: P", + "wt_next": "prรณxima faixa$NHotkey: L", + + "ul_par": "uploads paralelos:", + "ut_rand": "randomizar nomes de arquivos", + "ut_u2ts": "copiar o carimbo de data/hora de รบltima modificaรงรฃo$Ndo seu sistema de arquivos para o servidor\">๐Ÿ“…", + "ut_ow": "substituir arquivos existentes no servidor?$N๐Ÿ›ก๏ธ: nunca (irรก gerar um novo nome de arquivo em vez disso)$N๐Ÿ•’: substituir se o arquivo no servidor for mais antigo que o seu$Nโ™ป๏ธ: sempre substituir se os arquivos forem diferentes$Nโญ๏ธ: ignorar incondicionalmente todos os arquivos existentes", //m + "ut_mt": "continuar a fazer o hash de outros arquivos enquanto faz upload$N$Ntalvez desativar se sua CPU ou HDD for um gargalo", + "ut_ask": 'pedir confirmaรงรฃo antes do upload comeรงar">๐Ÿ’ญ', + "ut_pot": "melhorar a velocidade de upload em dispositivos lentos$Ntornando a UI menos complexa", + "ut_srch": "nรฃo fazer upload, em vez disso verificar se os arquivos jรก$N existem no servidor (irรก escanear todas as pastas que vocรช pode ler)", + "ut_par": "pausar uploads definindo para 0$N$naumentar se sua conexรฃo for lenta / alta latรชncia$N$nmanter em 1 em LAN ou se o HDD do servidor for um gargalo", + "ul_btn": "soltar arquivos / pastas
    aqui (ou clique em mim)", + "ul_btnu": "U P L O A D", + "ul_btns": "B U S C A R", + + "ul_hash": "hash", + "ul_send": "enviar", + "ul_done": "feito", + "ul_idle1": "nenhum upload estรก na fila ainda", + "ut_etah": "velocidade mรฉdia de <em>hash</em>, e tempo estimado atรฉ o fim", + "ut_etau": "velocidade mรฉdia de <em>upload</em> e tempo estimado atรฉ o fim", + "ut_etat": "velocidade mรฉdia <em>total</em> e tempo estimado atรฉ o fim", + + "uct_ok": "concluรญdo com sucesso", + "uct_ng": "ruim: falhou / rejeitado / nรฃo encontrado", + "uct_done": "ok e ruim combinados", + "uct_bz": "fazendo hash ou upload", + "uct_q": "ocioso, pendente", + + "utl_name": "nome do arquivo", + "utl_ulist": "lista", + "utl_ucopy": "copiar", + "utl_links": "links", + "utl_stat": "status", + "utl_prog": "progresso", + + // mantenha curto: + "utl_404": "404", + "utl_err": "ERRO", + "utl_oserr": "Erro-SO", + "utl_found": "encontrado", + "utl_defer": "adiar", + "utl_yolo": "YOLO", + "utl_done": "feito", + + "ul_flagblk": "os arquivos foram adicionados ร  fila
    no entanto, hรก um up2k ocupado em outra aba do navegador,
    entรฃo esperando que ele termine primeiro", + "ul_btnlk": "a configuraรงรฃo do servidor bloqueou este interruptor neste estado", + + "udt_up": "Upload", + "udt_srch": "Buscar", + "udt_drop": "solte aqui", + + "u_nav_m": '
    certo, o que vocรช tem?
    Enter = Arquivos (um ou mais)\nESC = Uma pasta (incluindo subpastas)', + "u_nav_b": 'ArquivosUma pasta', + + "cl_opts": "interruptores", + "cl_hfsz": "tamanho do arquivo", //m + "cl_themes": "tema", + "cl_langs": "idioma", + "cl_ziptype": "download de pasta", + "cl_uopts": "interruptores up2k", + "cl_favico": "favicon", + "cl_bigdir": "grandes dirs", + "cl_hsort": "#sort", + "cl_keytype": "notaรงรฃo de tecla", + "cl_hiddenc": "colunas ocultas", + "cl_hidec": "ocultar", + "cl_reset": "resetar", + "cl_hpick": "toque nos cabeรงalhos das colunas para ocultรก-los na tabela abaixo", + "cl_hcancel": "ocultar coluna abortado", + "cl_rcm": "menu de clique direito", //m + + "ct_grid": '็”ฐ a grade', + "ct_ttips": 'โ—” โ—ก โ—”">โ„น๏ธ dicas de ferramentas', + "ct_thumb": 'na visualizaรงรฃo de grade, alternar entre รญcones ou miniaturas$NHotkey: T">๐Ÿ–ผ๏ธ miniaturas', + "ct_csel": 'usar CTRL e SHIFT para seleรงรฃo de arquivo na visualizaรงรฃo de grade">sel', + "ct_dl": 'forรงar download (nรฃo exibir inline) ao clicar em um arquivo">dl', //m + "ct_ihop": 'quando o visualizador de imagens for fechado, rolar para o รบltimo arquivo visualizado">gโฎฏ', + "ct_dots": 'mostrar arquivos ocultos (se o servidor permitir)">dotfiles', + "ct_qdel": 'ao excluir arquivos, pedir confirmaรงรฃo apenas uma vez">qdel', + "ct_dir1st": 'ordenar pastas antes de arquivos">๐Ÿ“ primeiro', + "ct_nsort": 'ordem natural (para nomes de arquivos com dรญgitos iniciais)">nsort', + "ct_utc": 'mostrar todas as datas/horas em UTC">UTC', + "ct_readme": 'mostrar README.md nas listas de pastas">๐Ÿ“œ readme', + "ct_idxh": 'mostrar index.html em vez de lista de pastas">htm', + "ct_sbars": 'mostrar barras de rolagem">โŸŠ', + + "cut_umod": "se um arquivo jรก existe no servidor, atualizar o carimbo de data/hora de รบltima modificaรงรฃo do servidor para corresponder ao seu arquivo local (requer permissรตes de escrita+exclusรฃo)\">re๐Ÿ“…", + + "cut_turbo": "o botรฃo yolo, vocรช provavelmente NรƒO quer habilitar isso:$N$Nuse isto se vocรช estava fazendo upload de uma enorme quantidade de arquivos e teve que reiniciar por algum motivo, e quer continuar o upload o mais rรกpido possรญvel$N$Nisto substitui a verificaรงรฃo de hash por uma simples "este arquivo tem o mesmo tamanho no servidor?" entรฃo se o conteรบdo do arquivo for diferente ele NรƒO serรก enviado$N$Nvocรช deve desativar isso quando o upload estiver concluรญdo, e entรฃo "enviar" os mesmos arquivos novamente para permitir que o cliente os verifique\">turbo", + + "cut_datechk": "nรฃo tem efeito a menos que o botรฃo turbo esteja ativado$N$Nreduz o fator yolo por uma pequena quantidade; verifica se os carimbos de data/hora dos arquivos no servidor correspondem aos seus$N$ndeve teoricamente pegar a maioria dos uploads incompletos / corrompidos, mas nรฃo รฉ um substituto para fazer uma verificaรงรฃo com o turbo desativado depois\">date-chk", + + "cut_u2sz": "tamanho (em MiB) de cada bloco de upload; valores grandes voam melhor pelo atlรขntico. Tente valores baixos em conexรตes muito nรฃo confiรกveis", + + "cut_flag": "garantir que apenas uma aba esteja fazendo upload por vez $N -- outras abas devem ter isso ativado tambรฉm $N -- sรณ afeta abas no mesmo domรญnio", + + "cut_az": "enviar arquivos em ordem alfabรฉtica, em vez de o menor primeiro$N$na ordem alfabรฉtica pode tornar mais fรกcil de verificar se algo deu errado no servidor, mas torna o upload um pouco mais lento em fibra / LAN", + + "cut_nag": "notificaรงรฃo do SO quando o upload for concluรญdo$N(somente se o navegador ou aba nรฃo estiver ativo)", + "cut_sfx": "alerta audรญvel quando o upload for concluรญdo$N(somente se o navegador ou aba nรฃo estiver ativo)", + + "cut_mt": "usar multithreading para acelerar o hash de arquivos$N$nisto usa web-workers e requer$Nmais RAM (atรฉ 512 MiB extras)$N$ntorna https 30% mais rรกpido, http 4.5x mais rรกpido\">mt", + + "cut_wasm": "usar wasm em vez do hasher embutido do navegador; melhora a velocidade em navegadores baseados em chrome mas aumenta a carga da CPU, e muitas versรตes antigas do chrome tรชm bugs que fazem o navegador consumir toda a RAM e travar se isso for ativado\">wasm", + + "cft_text": "texto do favicon (deixe em branco e atualize para desativar)", + "cft_fg": "cor do primeiro plano", + "cft_bg": "cor do fundo", + + "cdt_lim": "nรบmero mรกximo de arquivos para mostrar em uma pasta", + "cdt_ask": "ao rolar para o final,$nem vez de carregar mais arquivos,$nperguntar o que fazer", + "cdt_hsort": "quantas regras de ordenaรงรฃo (<code>,sorthref</code>) incluir em URLs de mรญdia. Definir isso para 0 tambรฉm ignorarรก as regras de ordenaรงรฃo incluรญdas em links de mรญdia quando vocรช clicar neles", + "cdt_ren": "ativar menu de clique direito personalizado, o menu normal permanece acessรญvel com shift + clique direito", //m + + "tt_entree": "mostrar painel de navegaรงรฃo (รกrvore de diretรณrios)$NHotkey: B", + "tt_detree": "mostrar breadcrumbs$NHotkey: B", + "tt_visdir": "rolar para a pasta selecionada", + "tt_ftree": "alternar entre รกrvore de pastas / arquivos de texto$NHotkey: V", + "tt_pdock": "mostrar pastas pai em um painel acoplado no topo", + "tt_dynt": "crescer automaticamente ร  medida que a รกrvore se expande", + "tt_wrap": "quebra de linha", + "tt_hover": "revelar linhas transbordando ao passar o mouse$N( quebra a rolagem a menos que o cursor do mouse $N  esteja na margem esquerda )", + + "ml_pmode": "ao final da pasta...", + "ml_btns": "comandos", + "ml_tcode": "transcodificar", + "ml_tcode2": "transcodificar para", + "ml_tint": "matiz", + "ml_eq": "equalizador de รกudio", + "ml_drc": "compressor de faixa dinรขmica", + + "mt_loop": "loop/repetir uma mรบsica\">๐Ÿ”", + "mt_one": "parar depois de uma mรบsica\">1๏ธโƒฃ", + "mt_shuf": "embaralhar as mรบsicas em cada pasta\">๐Ÿ”€", + "mt_aplay": "reproduzir automaticamente se houver um ID de mรบsica no link que vocรช clicou para acessar o servidor$N$ndesativar isso tambรฉm impedirรก que a URL da pรกgina seja atualizada com IDs de mรบsica ao tocar mรบsica, para evitar a reproduรงรฃo automรกtica se essas configuraรงรตes forem perdidas mas a URL permanecer\">aโ–ถ", + "mt_preload": "comeรงar a carregar a prรณxima mรบsica perto do final para uma reproduรงรฃo sem interrupรงรตes\">preload", + "mt_prescan": "ir para a prรณxima pasta antes que a รบltima mรบsica$Ntermine, mantendo o navegador feliz$Npara que ele nรฃo pare a reproduรงรฃo\">nav", + "mt_fullpre": "tentar prรฉ-carregar a mรบsica inteira;$Nโœ… ativar em conexรตes nรฃo confiรกveis,$NโŒ desativar em conexรตes lentas provavelmente\">full", + "mt_fau": "em telefones, evitar que a mรบsica pare se a prรณxima mรบsica nรฃo prรฉ-carregar rรกpido o suficiente (pode fazer as tags aparecerem com falhas)\">โ˜•๏ธ", + "mt_waves": "barra de busca de forma de onda:$Nmostrar amplitude de รกudio no scrubber\">~s", + "mt_npclip": "mostrar botรตes para copiar a mรบsica que estรก tocando para a รกrea de transferรชncia\">/np", + "mt_m3u_c": "mostrar botรตes para copiar as$Nmรบsicas selecionadas como entradas de playlist m3u8 para a รกrea de transferรชncia\">๐Ÿ“ป", + "mt_octl": "integraรงรฃo com o SO (atalhos de mรญdia / osd)\">os-ctl", + "mt_oseek": "permitir busca atravรฉs da integraรงรฃo com o SO$N$nnota: em alguns dispositivos (iPhones),$nisto substitui o botรฃo de prรณxima mรบsica\">seek", + "mt_oscv": "mostrar capa do รกlbum no osd\">art", + "mt_follow": "manter a faixa que estรก tocando rolando ร  vista\">๐ŸŽฏ", + "mt_compact": "controles compactos\">โŸŽ", + "mt_uncache": "limpar cache  (tente isso se seu navegador armazenou em cache$Numa cรณpia quebrada de uma mรบsica e se recusa a tocar)\">uncache", + "mt_mloop": "loop na pasta aberta\">๐Ÿ” loop", + "mt_mnext": "carregar a prรณxima pasta e continuar\">๐Ÿ“‚ prรณximo", + "mt_mstop": "parar reproduรงรฃo\">โธ parar", + "mt_cflac": "converter flac / wav para {0}\">flac", + "mt_caac": "converter aac / m4a para {0}\">aac", + "mt_coth": "converter todos os outros (nรฃo mp3) para {0}\">oth", + "mt_c2opus": "melhor escolha para desktops, laptops, android\">opus", + "mt_c2owa": "opus-weba, para iOS 17.5 e mais recentes\">owa", + "mt_c2caf": "opus-caf, para iOS 11 a 17\">caf", + "mt_c2mp3": "use isso em dispositivos muito antigos\">mp3", + "mt_c2flac": "melhor qualidade de som, mas downloads enormes\">flac", + "mt_c2wav": "reproduรงรฃo nรฃo comprimida (ainda maior)\">wav", + "mt_c2ok": "legal, boa escolha", + "mt_c2nd": "esse nรฃo รฉ o formato de saรญda recomendado para o seu dispositivo, mas tudo bem", + "mt_c2ng": "seu dispositivo nรฃo parece suportar este formato de saรญda, mas vamos tentar mesmo assim", + "mt_xowa": "existem bugs no iOS que impedem a reproduรงรฃo em segundo plano usando este formato; por favor, use caf ou mp3 em vez disso", + "mt_tint": "nรญvel de fundo (0-100) na barra de busca$Npara tornar o buffer menos distrativo", + "mt_eq": "ativa o equalizador e o controle de ganho;$N$nimpulsรฃo <code>0</code> = volume padrรฃo de 100% (nรฃo modificado)$N$nlargura <code>1  </code> = estรฉreo padrรฃo (nรฃo modificado)$nlargura <code>0.5</code> = 50% de crossfeed esquerda-direita$nlargura <code>0  </code> = mono$N$nimpulsรฃo <code>-0.8</code> & largura <code>10</code> = remoรงรฃo de vocal :^)$N$natvar o equalizador torna os รกlbuns sem interrupรงรตes totalmente sem interrupรงรตes, entรฃo deixe-o ligado com todos os valores em zero (exceto largura = 1) se vocรช se importa com isso", + "mt_drc": "ativa o compressor de faixa dinรขmica (nivelador de volume / brickwaller); tambรฉm ativarรก o EQ para equilibrar o spaghetti, entรฃo defina todos os campos EQ exceto 'width' para 0 se vocรช nรฃo quiser$N$nabaixa o volume do รกudio acima do THRESHOLD dB; para cada RATIO dB apรณs o THRESHOLD hรก 1 dB de saรญda, entรฃo os valores padrรฃo de tresh -24 e ratio 12 significam que nunca deve ficar mais alto que -22 dB e รฉ seguro aumentar o impulso do equalizador para 0.8, ou atรฉ 1.8 com ATK 0 e um enorme RLS como 90 (sรณ funciona no firefox; RLS รฉ no mรกximo 1 em outros navegadores)$N$n(veja a wikipedia, eles explicam muito melhor)", + + "mb_play": "reproduzir", + "mm_hashplay": "reproduzir este arquivo de รกudio?", + "mm_m3u": "pressione Enter/OK para Reproduzir\npressione ESC/Cancelar para Editar", + "mp_breq": "precisa do firefox 82+ ou chrome 73+ ou iOS 15+", + "mm_bload": "carregando...", + "mm_bconv": "convertendo para {0}, por favor, espere...", + "mm_opusen": "seu navegador nรฃo pode reproduzir arquivos aac / m4a;\na transcodificaรงรฃo para opus agora estรก ativada", + "mm_playerr": "reproduรงรฃo falhou: ", + "mm_eabrt": "A tentativa de reproduรงรฃo foi cancelada", + "mm_enet": "Sua conexรฃo de internet estรก instรกvel", + "mm_edec": "Este arquivo estรก supostamente corrompido??", + "mm_esupp": "Seu navegador nรฃo entende este formato de รกudio", + "mm_eunk": "Erro Desconhecido", + "mm_e404": "Nรฃo foi possรญvel reproduzir รกudio; erro 404: Arquivo nรฃo encontrado.", + "mm_e403": "Nรฃo foi possรญvel reproduzir รกudio; erro 403: Acesso negado.\n\nTente pressionar F5 para recarregar, talvez vocรช tenha saรญdo da conta", + "mm_e500": "Nรฃo foi possรญvel reproduzir รกudio; erro 500: Verifique os logs do servidor.", + "mm_e5xx": "Nรฃo foi possรญvel reproduzir รกudio; erro do servidor ", + "mm_nof": "nรฃo encontrando mais arquivos de รกudio por perto", + "mm_prescan": "Procurando mรบsica para tocar a seguir...", + "mm_scank": "Encontrei a prรณxima mรบsica:", + "mm_uncache": "cache limpo; todas as mรบsicas serรฃo baixadas novamente na prรณxima reproduรงรฃo", + "mm_hnf": "essa mรบsica nรฃo existe mais", + + "im_hnf": "essa imagem nรฃo existe mais", + + "f_empty": 'esta pasta estรก vazia', + "f_chide": 'isso irรก ocultar a coluna ยซ{0}ยป\n\nvocรช pode reexibir as colunas na aba de configuraรงรตes', + "f_bigtxt": "este arquivo tem {0} MiB de tamanho -- realmente ver como texto?", + "f_bigtxt2": "ver apenas o final do arquivo em vez disso? isso tambรฉm ativarรก o acompanhamento/tailing, mostrando linhas de texto recรฉm-adicionadas em tempo real", + "fbd_more": '
    mostrando {0} de {1} arquivos; mostrar {2} ou mostrar todos
    ', + "fbd_all": '
    mostrando {0} de {1} arquivos; mostrar todos
    ', + "f_anota": "apenas {0} dos {1} itens foram selecionados;\npara selecionar a pasta inteira, primeiro role para o final", + + "f_dls": 'os links de arquivo na pasta atual foram\nalterados para links de download', + + "f_partial": "Para baixar com seguranรงa um arquivo que estรก sendo enviado, por favor, clique no arquivo que tem o mesmo nome, mas sem a extensรฃo .PARTIAL. Por favor, pressione CANCELAR ou Escape para fazer isso.\n\nPressionar OK / Enter irรก ignorar este aviso e continuar baixando o arquivo temporรกrio .PARTIAL, o que quase certamente lhe darรก dados corrompidos.", + + "ft_paste": "colar {0} itens$NHotkey: ctrl-V", + "fr_eperm": 'nรฃo รฉ possรญvel renomear:\nvocรช nรฃo tem permissรฃo de โ€œmoverโ€ nesta pasta', + "fd_eperm": 'nรฃo รฉ possรญvel excluir:\nvocรช nรฃo tem permissรฃo de โ€œexcluirโ€ nesta pasta', + "fc_eperm": 'nรฃo รฉ possรญvel recortar:\nvocรช nรฃo tem permissรฃo de โ€œmoverโ€ nesta pasta', + "fp_eperm": 'nรฃo รฉ possรญvel colar:\nvocรช nรฃo tem permissรฃo de โ€œescreverโ€ nesta pasta', + "fr_emore": "selecione pelo menos um item para renomear", + "fd_emore": "selecione pelo menos um item para excluir", + "fc_emore": "selecione pelo menos um item para recortar", + "fcp_emore": "selecione pelo menos um item para copiar para a รกrea de transferรชncia", + + "fs_sc": "compartilhar a pasta em que vocรช estรก", + "fs_ss": "compartilhar os arquivos selecionados", + "fs_just1d": "vocรช nรฃo pode selecionar mais de uma pasta,\nou misturar arquivos e pastas em uma seleรงรฃo", + "fs_abrt": "โŒ abortar", + "fs_rand": "๐ŸŽฒ nome aleatรณrio", + "fs_go": "โœ… criar compartilhamento", + "fs_name": "nome", + "fs_src": "fonte", + "fs_pwd": "senha", + "fs_exp": "expira", + "fs_tmin": "min", + "fs_thrs": "horas", + "fs_tdays": "dias", + "fs_never": "eterno", + "fs_pname": "nome do link opcional; serรก aleatรณrio se em branco", + "fs_tsrc": "o arquivo ou pasta a ser compartilhado", + "fs_ppwd": "senha opcional", + "fs_w8": "criando compartilhamento...", + "fs_ok": "pressione Enter/OK para Copiar para a รrea de Transferรชncia\npressione ESC/Cancelar para Fechar", + + "frt_dec": "pode consertar alguns casos de nomes de arquivos quebrados\">url-decode", + "frt_rst": "resetar nomes de arquivos modificados de volta para os originais\">โ†บ resetar", + "frt_abrt": "abortar e fechar esta janela\">โŒ cancelar", + "frb_apply": "APLICAR RENOMEAร‡รƒO", + "fr_adv": "renomeaรงรฃo em lote / metadados / padrรฃo\">avanรงado", + "fr_case": "regex sensรญvel a maiรบsculas e minรบsculas\">case", + "fr_win": "nomes seguros para windows; substituir <>:"\\|?* por caracteres japoneses de largura total\">win", + "fr_slash": "substituir / por um caractere que nรฃo cause a criaรงรฃo de novas pastas\">no /", + "fr_re": "padrรฃo de busca regex para aplicar aos nomes de arquivos originais; grupos de captura podem ser referenciados no campo de formato abaixo como <code>(1)</code> e <code>(2)</code> e assim por diante", + "fr_fmt": "inspirado por foobar2000:$N<code>(tรญtulo)</code> รฉ substituรญdo pelo tรญtulo da mรบsica,$N<code>[(artista) - ](tรญtulo)</code> pula esta parte se o artista estiver em branco$N<code>$lpad((tn),2,0)</code> preenche o nรบmero da faixa com 2 dรญgitos", + "fr_pdel": "excluir", + "fr_pnew": "salvar como", + "fr_pname": "forneรงa um nome para seu novo preset", + "fr_aborted": "abortado", + "fr_lold": "nome antigo", + "fr_lnew": "novo nome", + "fr_tags": "tags para os arquivos selecionados (somente leitura, apenas para referรชncia):", + "fr_busy": "renomeando {0} itens...\n\n{1}", + "fr_efail": "renomeaรงรฃo falhou:\n", + "fr_nchg": "{0} dos novos nomes foram alterados devido a win e/ou no /\n\nOK para continuar com estes novos nomes alterados?", + + "fd_ok": "exclusรฃo OK", + "fd_err": "exclusรฃo falhou:\n", + "fd_none": "nada foi excluรญdo; talvez bloqueado pela configuraรงรฃo do servidor (xbd)?", + "fd_busy": "excluindo {0} itens...\n\n{1}", + "fd_warn1": "EXCLUIR estes {0} itens?", + "fd_warn2": "รšltima chance! Nรฃo hรก como desfazer. Excluir?", + + "fc_ok": "recortar {0} itens", + "fc_warn": 'recortar {0} itens\n\nmas: apenas esta aba do navegador pode colรก-los\n(jรก que a seleรงรฃo รฉ tรฃo absolutamente massiva)', + + "fcc_ok": "copiado {0} itens para a รกrea de transferรชncia", + "fcc_warn": 'copiado {0} itens para a รกrea de transferรชncia\n\nmas: apenas esta aba do navegador pode colรก-los\n(jรก que a seleรงรฃo รฉ tรฃo absolutamente massiva)', + + "fp_apply": "usar estes nomes", + "fp_skip": "pular conflitos", //m + "fp_ecut": "primeiro recorte ou copie alguns arquivos / pastas para colar / mover\n\nnota: vocรช pode recortar / colar entre abas diferentes do navegador", + "fp_ename": "{0} itens nรฃo podem ser movidos para cรก porque os nomes jรก estรฃo em uso. Dรช a eles novos nomes abaixo para continuar, ou deixe o nome em branco (\"pular conflitos\") para pular:", //m + "fcp_ename": "{0} itens nรฃo podem ser copiados para cรก porque os nomes jรก estรฃo em uso. Dรช a eles novos nomes abaixo para continuar, ou deixe o nome em branco (\"pular conflitos\") para pular:", //m + "fp_emore": "ainda hรก algumas colisรตes de nome de arquivo para consertar", + "fp_ok": "movimento OK", + "fcp_ok": "cรณpia OK", + "fp_busy": "movendo {0} itens...\n\n{1}", + "fcp_busy": "copiando {0} itens...\n\n{1}", + "fp_abrt": "abortando...", + "fp_err": "movimento falhou:\n", + "fcp_err": "cรณpia falhou:\n", + "fp_confirm": "mover estes {0} itens para cรก?", + "fcp_confirm": "copiar estes {0} itens para cรก?", + "fp_etab": 'falha ao ler a รกrea de transferรชncia de outra aba do navegador', + "fp_name": "enviando um arquivo do seu dispositivo. Dรช-lhe um nome:", + "fp_both_m": '
    escolha o que colar
    Enter = Mover {0} arquivos de ยซ{1}ยป\nESC = Enviar {2} arquivos do seu dispositivo', + "fcp_both_m": '
    escolha o que colar
    Enter = Copiar {0} arquivos de ยซ{1}ยป\nESC = Enviar {2} arquivos do seu dispositivo', + "fp_both_b": 'MoverEnviar', + "fcp_both_b": 'CopiarEnviar', + + "mk_noname": "digite um nome no campo de texto ร  esquerda antes de fazer isso :p", + "nmd_i1": "tambรฉm pode adicionar a extensรฃo desejada, por exemplo .md", //m + "nmd_i2": "sรณ pode criar ficheiros .md porque nรฃo tem permissรฃo para apagar", //m + + "tv_load": "Carregando documento de texto:\n\n{0}\n\n{1}% ({2} de {3} MiB carregados)", + "tv_xe1": "nรฃo foi possรญvel carregar o arquivo de texto:\n\nerro ", + "tv_xe2": "404, arquivo nรฃo encontrado", + "tv_lst": "lista de arquivos de texto em", + "tvt_close": "voltar para a visualizaรงรฃo da pasta$NHotkey: M (ou Esc)\">โŒ fechar", + "tvt_dl": "baixar este arquivo$NHotkey: Y\">๐Ÿ’พ baixar", + "tvt_prev": "mostrar documento anterior$NHotkey: i\">โฌ† anterior", + "tvt_next": "mostrar prรณximo documento$NHotkey: K\">โฌ‡ prรณximo", + "tvt_sel": "selecionar arquivo   ( para recortar / copiar / excluir / ... )$NHotkey: S\">sel", + "tvt_j": "embelezar json$NHotkey: shift-J\">j", //m + "tvt_edit": "abrir arquivo no editor de texto$NHotkey: E\">โœ๏ธ editar", + "tvt_tail": "monitorar arquivo para alteraรงรตes; mostrar novas linhas em tempo real\">๐Ÿ“ก seguir", + "tvt_wrap": "quebra de linha\">โ†ต", + "tvt_atail": "fixar rolagem no final da pรกgina\">โš“", + "tvt_ctail": "decodificar cores do terminal (cรณdigos de escape ansi)\">๐ŸŒˆ", + "tvt_ntail": "limite de rolagem para trรกs (quantos bytes de texto manter carregados)", + + "m3u_add1": "mรบsica adicionada ร  playlist m3u", + "m3u_addn": "{0} mรบsicas adicionadas ร  playlist m3u", + "m3u_clip": "playlist m3u agora copiada para a รกrea de transferรชncia\n\nvocรช deve criar um novo arquivo de texto chamado something.m3u e colar a playlist nesse documento; isso a tornarรก reproduzรญvel", + + "gt_vau": "nรฃo mostrar vรญdeos, apenas tocar o รกudio\">๐ŸŽง", + "gt_msel": "ativar seleรงรฃo de arquivo; ctrl-clique em um arquivo para substituir$N$n<em>quando ativo: clique duas vezes em um arquivo / pasta para abri-lo&>t;/em>$N$nHotkey: S\">multisseleรงรฃo", + "gt_crop": "cortar miniaturas ao centro\">cortar", + "gt_3x": "miniaturas de alta resoluรงรฃo\">3x", + "gt_zoom": "zoom", + "gt_chop": "picar", + "gt_sort": "ordenar por", + "gt_name": "nome", + "gt_sz": "tamanho", + "gt_ts": "data", + "gt_ext": "tipo", + "gt_c1": "truncar nomes de arquivos mais (mostrar menos)", + "gt_c2": "truncar nomes de arquivos menos (mostrar mais)", + + "sm_w8": "buscando...", + "sm_prev": "os resultados da busca abaixo sรฃo de uma consulta anterior:\n ", + "sl_close": "fechar resultados da busca", + "sl_hits": "mostrando {0} resultados", + "sl_moar": "carregar mais", + + "s_sz": "tamanho", + "s_dt": "data", + "s_rd": "caminho", + "s_fn": "nome", + "s_ta": "tags", + "s_ua": "up@", + "s_ad": "adv.", + "s_s1": "MiB mรญnimo", + "s_s2": "MiB mรกximo", + "s_d1": "iso8601 min.", + "s_d2": "iso8601 max.", + "s_u1": "enviado depois de", + "s_u2": "e/ou antes de", + "s_r1": "caminho contรฉm   (separado por espaรงo)", + "s_f1": "nome contรฉm   (negar com -nope)", + "s_t1": "tags contรฉm   (^=inรญcio, fim=$)", + "s_a1": "propriedades de metadados especรญficas", + + "md_eshow": "nรฃo รฉ possรญvel renderizar ", + "md_off": "[๐Ÿ“œreadme] desativado em [โš™๏ธ] -- documento oculto", + + "badreply": "Falha ao analisar a resposta do servidor", + + "xhr403": "403: Acesso negado\n\ntente pressionar F5, talvez vocรช tenha saรญdo da conta", + "xhr0": "desconhecido (provavelmente perdeu a conexรฃo com o servidor, ou o servidor estรก offline)", + "cf_ok": "desculpe por isso -- a proteรงรฃo DD" + "oS foi ativada\n\nas coisas devem ser retomadas em cerca de 30 segundos\n\nse nada acontecer, pressione F5 para recarregar a pรกgina", + "tl_xe1": "nรฃo foi possรญvel listar as subpastas:\n\nerro ", + "tl_xe2": "404: Pasta nรฃo encontrada", + "fl_xe1": "nรฃo foi possรญvel listar os arquivos na pasta:\n\nerro ", + "fl_xe2": "404: Pasta nรฃo encontrada", + "fd_xe1": "nรฃo foi possรญvel criar a subpasta:\n\nerro ", + "fd_xe2": "404: Pasta pai nรฃo encontrada", + "fsm_xe1": "nรฃo foi possรญvel enviar a mensagem:\n\nerro ", + "fsm_xe2": "404: Pasta pai nรฃo encontrada", + "fu_xe1": "falha ao carregar a lista de despublicaรงรฃo do servidor:\n\nerro ", + "fu_xe2": "404: Arquivo nรฃo encontrado??", + + "fz_tar": "arquivo gnu-tar nรฃo comprimido (linux / mac)", + "fz_pax": "tar de formato pax nรฃo comprimido (mais lento)", + "fz_targz": "gnu-tar com compressรฃo gzip nรญvel 3$N$nisto รฉ geralmente muito lento, entรฃo$nuse tar nรฃo comprimido em vez disso", + "fz_tarxz": "gnu-tar com compressรฃo xz nรญvel 1$N$nisto รฉ geralmente muito lento, entรฃo$nuse tar nรฃo comprimido em vez disso", + "fz_zip8": "zip com nomes de arquivos utf8 (pode ser instรกvel no windows 7 e mais antigos)", + "fz_zipd": "zip com nomes de arquivos cp437 tradicionais, para software realmente antigo", + "fz_zipc": "cp437 com crc32 calculado antecipadamente,$npara MS-DOS PKZIP v2.04g (outubro de 1993)$n(leva mais tempo para processar antes que o download possa comeรงar)", + + "un_m1": "vocรช pode excluir seus uploads recentes (ou abortar os que nรฃo foram concluรญdos) abaixo", + "un_upd": "atualizar", + "un_m4": "ou compartilhar os arquivos visรญveis abaixo:", + "un_ulist": "mostrar", + "un_ucopy": "copiar", + "un_flt": "filtro opcional:  a URL deve conter", + "un_fclr": "limpar filtro", + "un_derr": 'a exclusรฃo da despublicaรงรฃo falhou:\n', + "un_f5": 'algo quebrou, por favor, tente uma atualizaรงรฃo ou pressione F5', + "un_uf5": "desculpe, mas vocรช tem que atualizar a pรกgina (por exemplo, pressionando F5 ou CTRL-R) antes que este upload possa ser abortado", + "un_nou": "aviso: o servidor estรก muito ocupado para mostrar uploads incompletos; clique no link \"atualizar\" em um momento", + "un_noc": "aviso: a despublicaรงรฃo de arquivos totalmente enviados nรฃo estรก ativada/permitida na configuraรงรฃo do servidor", + "un_max": "mostrando os primeiros 2000 arquivos (use o filtro)", + "un_avail": "{0} uploads recentes podem ser excluรญdos
    {1} incompletos podem ser abortados", + "un_m2": "ordenado por tempo de upload; o mais recente primeiro:", + "un_no1": "sike! nenhum upload รฉ suficientemente recente", + "un_no2": "sike! nenhum upload que corresponda a esse filtro รฉ suficientemente recente", + "un_next": "excluir os prรณximos {0} arquivos abaixo", + "un_abrt": "abortar", + "un_del": "excluir", + "un_m3": "carregando seus uploads recentes...", + "un_busy": "excluindo {0} arquivos...", + "un_clip": "{0} links copiados para a รกrea de transferรชncia", + + "u_https1": "vocรช deveria", + "u_https2": "mudar para https", + "u_https3": "para um melhor desempenho", + "u_ancient": 'seu navegador รฉ impressionantemente antigo -- talvez vocรช devesse usar o bup em vez disso', + "u_nowork": "precisa do firefox 53+ ou chrome 57+ ou iOS 11+", + "tail_2old": "precisa do firefox 105+ ou chrome 71+ ou iOS 14.5+", + "u_nodrop": 'seu navegador รฉ muito antigo para upload de arrastar e soltar', + "u_notdir": "isso nรฃo รฉ uma pasta!\n\nseu navegador รฉ muito antigo,\npor favor, tente arrastar e soltar em vez disso", + "u_uri": "para arrastar e soltar imagens de outras janelas do navegador,\npor favor, solte-as no grande botรฃo de upload", + "u_enpot": 'mudar para UI batata (pode melhorar a velocidade de upload)', + "u_depot": 'mudar para UI chique (pode reduzir a velocidade de upload)', + "u_gotpot": 'mudando para a UI batata para uma velocidade de upload melhorada,\n\nsinta-se ร  vontade para discordar e voltar!', + "u_pott": "

    arquivos:   {0} concluรญdos,   {1} falhados,   {2} ocupados,   {3} na fila

    ", + "u_ever": "este รฉ o uploader bรกsico; up2k precisa de pelo menos
    chrome 21 // firefox 13 // edge 12 // opera 12 // safari 5.1", + "u_su2k": 'este รฉ o uploader bรกsico; up2k รฉ melhor', + "u_uput": 'otimizar para velocidade (pular checksum)', + "u_ewrite": 'vocรช nรฃo tem acesso de escrita a esta pasta', + "u_eread": 'vocรช nรฃo tem acesso de leitura a esta pasta', + "u_enoi": 'a busca de arquivos nรฃo estรก ativada na configuraรงรฃo do servidor', + "u_enoow": "substituir nรฃo funcionarรก aqui; precisa de permissรฃo de Excluir", + "u_badf": 'Estes {0} arquivos (de um total de {1}) foram ignorados, possivelmente devido a permissรตes do sistema de arquivos:\n\n', + "u_blankf": 'Estes {0} arquivos (de um total de {1}) estรฃo em branco / vazios; enviรก-los de qualquer maneira?\n\n', + "u_applef": 'Estes {0} arquivos (de um total de {1}) sรฃo provavelmente indesejรกveis;\nPressione OK/Enter para PULAR os seguintes arquivos,\nPressione Cancelar/ESC para NรƒO excluir, e ENVIAR esses tambรฉm:\n\n', + "u_just1": '\nTalvez funcione melhor se vocรช selecionar apenas um arquivo', + "u_ff_many": "se vocรช estiver usando Linux / MacOS / Android, entรฃo essa quantidade de arquivos pode travar o Firefox!\nse isso acontecer, por favor, tente novamente (ou use o Chrome).", + "u_up_life": "Este upload serรก excluรญdo do servidor\n{0} apรณs ser concluรญdo", + "u_asku": 'enviar estes {0} arquivos para {1}', + "u_unpt": "vocรช pode desfazer / excluir este upload usando o ๐Ÿงฏ no canto superior esquerdo", + "u_bigtab": 'prestes a mostrar {0} arquivos\n\nisto pode travar seu navegador, tem certeza?', + "u_scan": 'Escaneando arquivos...', + "u_dirstuck": 'o iterador de diretรณrio travou ao tentar acessar os seguintes {0} itens; irรก pular:', + "u_etadone": 'Concluรญdo ({0}, {1} arquivos)', + "u_etaprep": '(preparando para enviar)', + "u_hashdone": 'hash concluรญdo', + "u_hashing": 'hash', + "u_hs": 'handshaking...', + "u_started": "os arquivos estรฃo sendo enviados agora; veja [๐Ÿš€]", + "u_dupdefer": "duplicado; serรก processado apรณs todos os outros arquivos", + "u_actx": "clique neste texto para evitar perda de
    desempenho ao mudar para outras janelas/abas", + "u_fixed": "OK!  Consertado ๐Ÿ‘", + "u_cuerr": "falha ao enviar o bloco {0} de {1};\nprovavelmente inofensivo, continuando\n\narquivo: {2}", + "u_cuerr2": "o servidor rejeitou o upload (bloco {0} de {1});\ntentarรก novamente mais tarde\n\narquivo: {2}\n\nerro ", + "u_ehstmp": "tentarรก novamente; veja no canto inferior direito", + "u_ehsfin": "o servidor rejeitou a solicitaรงรฃo para finalizar o upload; tentando novamente...", + "u_ehssrch": "o servidor rejeitou a solicitaรงรฃo para realizar a busca; tentando novamente...", + "u_ehsinit": "o servidor rejeitou a solicitaรงรฃo para iniciar o upload; tentando novamente...", + "u_eneths": "erro de rede ao realizar o handshake de upload; tentando novamente...", + "u_enethd": "erro de rede ao testar a existรชncia do alvo; tentando novamente...", + "u_cbusy": "esperando o servidor confiar em nรณs novamente apรณs uma falha de rede...", + "u_ehsdf": "o servidor ficou sem espaรงo em disco!\n\ncontinuarรก tentando novamente, caso alguรฉm\nlibere espaรงo suficiente para continuar", + "u_emtleak1": "parece que seu navegador pode ter um vazamento de memรณria;\npor favor,", + "u_emtleak2": ' mude para https (recomendado) ou ', + "u_emtleak3": ' ', + "u_emtleakc": 'tente o seguinte:\n
    • pressione F5 para atualizar a pรกgina
    • depois desative o botรฃo  mt  nas  โš™๏ธ configuraรงรตes
    • e tente o upload novamente
    Os uploads serรฃo um pouco mais lentos, mas tudo bem.\nDesculpe pelo problema !\n\nPS: chrome v107 tem uma correรงรฃo de bug para isso', + "u_emtleakf": 'tente o seguinte:\n
    • pressione F5 para atualizar a pรกgina
    • depois ative ๐Ÿฅ” (batata) na UI de upload
    • e tente o upload novamente
    \nPS: o firefox esperanรงosamente terรก uma correรงรฃo de bug em algum momento', + "u_s404": "nรฃo encontrado no servidor", + "u_expl": "explicar", + "u_maxconn": "a maioria dos navegadores limita isso a 6, mas o firefox permite que vocรช aumente com connections-per-server em about:config", + "u_tu": '

    AVISO: turbo ativado,  o cliente pode nรฃo detectar e retomar uploads incompletos; veja a dica de ferramenta do botรฃo turbo

    ', + "u_ts": '

    AVISO: turbo ativado,  os resultados da busca podem estar incorretos; veja a dica de ferramenta do botรฃo turbo

    ', + "u_turbo_c": "o turbo estรก desativado na configuraรงรฃo do servidor", + "u_turbo_g": "desativando o turbo porque vocรช nรฃo tem\n privilรฉgios de listagem de diretรณrio neste volume", + "u_life_cfg": 'excluir automaticamente depois de min (ou horas)', + "u_life_est": 'o upload serรก excluรญdo ---', + "u_life_max": 'esta pasta impรตe um\n tempo de vida mรกximo de {0}', + "u_unp_ok": 'a despublicaรงรฃo รฉ permitida para {0}', + "u_unp_ng": 'a despublicaรงรฃo NรƒO serรก permitida', + "ue_ro": 'seu acesso a esta pasta รฉ Somente Leitura\n\n', + "ue_nl": 'vocรช nรฃo estรก logado no momento', + "ue_la": 'vocรช estรก logado no momento como "{0}"', + "ue_sr": 'vocรช estรก no modo de busca de arquivos no momento\n\nmude para o modo de upload clicando na lupa ๐Ÿ”Ž (ao lado do grande botรฃo BUSCAR), e tente enviar novamente\n\ndesculpe', + "ue_ta": 'tente enviar novamente, deve funcionar agora', + "ue_ab": "este arquivo jรก estรก sendo enviado para outra pasta, e esse upload deve ser concluรญdo antes que o arquivo possa ser enviado para outro lugar.\n\nVocรช pode abortar e esquecer o upload inicial usando o ๐Ÿงฏ no canto superior esquerdo", + "ur_1uo": "OK: Arquivo enviado com sucesso", + "ur_auo": "OK: Todos os {0} arquivos enviados com sucesso", + "ur_1so": "OK: Arquivo encontrado no servidor", + "ur_aso": "OK: Todos os {0} arquivos encontrados no servidor", + "ur_1un": "O upload falhou, desculpe", + "ur_aun": "Todos os {0} uploads falharam, desculpe", + "ur_1sn": "O arquivo NรƒO foi encontrado no servidor", + "ur_asn": "Os {0} arquivos NรƒO foram encontrados no servidor", + "ur_um": "Concluรญdo;\n{0} uploads OK,\n{1} uploads falharam, desculpe", + "ur_sm": "Concluรญdo;\n{0} arquivos encontrados no servidor,\n{1} arquivos NรƒO encontrados no servidor", + + "rc_opn": "abrir", //m + "rc_ply": "reproduzir", //m + "rc_pla": "reproduzir como รกudio", //m + "rc_txt": "abrir no visualizador de arquivos", //m + "rc_md": "abrir no editor de texto", //m + "rc_dl": "baixar", //m + "rc_zip": "baixar como arquivo", //m + "rc_del": "excluir", //m + "rc_cut": "recortar", //m + "rc_cpy": "copiar", //m + "rc_pst": "colar", //m + "rc_nfo": "nova pasta", //m + "rc_nfi": "novo arquivo", //m + "rc_sal": "selecionar tudo", //m + "rc_sin": "inverter seleรงรฃo", //m + + "lang_set": "atualizar para a mudanรงa ter efeito?", + + "splash": { + "a1": "atualizar", + "b1": "olรก   (vocรช nรฃo estรก logado)", + "c1": "encerrar sessรฃo", + "d1": "despejar o estado da pilha", + "d2": "mostra o estado de todos os threads ativos", + "e1": "recarregar configuraรงรฃo", + "e2": "recarregar arquivos de configuraรงรฃo (contas/volumes/indicadores de volume),$N e reescanear todos os volumes e2ds$N$Nnota: qualquer alteraรงรฃo na configuraรงรฃo global$N requer uma reinicializaรงรฃo completa para ter efeito", + "f1": "vocรช pode navegar:", + "g1": "vocรช pode fazer upload para:", + "cc1": "outras coisas:", + "h1": "desativar k304", + "i1": "ativar k304", + "j1": "ativar k304 irรก desconectar seu cliente em cada HTTP 304, o que pode evitar que alguns proxies com erros fiquem presos (parando de carregar pรกginas de repente), mas tambรฉm irรก desacelerar as coisas em geral", + "k1": "redefinir config. de cliente", + "l1": "faรงa login para mais:", + "ls3": "fazer login", + "lu4": "nome de usuรกrio", + "lp4": "senha", + "lo3": "encerrar sessรฃo de \"{0}\" em todos os lugares", + "lo2": "isso irรก encerrar a sessรฃo em todos os navegadores", + "m1": "bem-vindo de volta,", + "n1": "404 nรฃo encontrado  โ”( ยด -`)โ”Œ", + "o1": "ou talvez vocรช nรฃo tenha acesso? -- tente com uma senha ou volte para o inรญcio", + "p1": "403 proibido  ~โ”ปโ”โ”ป", + "q1": "use uma senha ou volte para o inรญcio", + "r1": "ir para o inรญcio", + ".s1": "reescanear", + "t1": "aรงรฃo", + "u2": "tempo desde a รบltima gravaรงรฃo no servidor$N( upload / renomear / ... )$N$N17d = 17 dias$N1h23 = 1 hora 23 minutos$N4m56 = 4 minutos 56 segundos", + "v1": "conectar", + "v2": "usar este servidor como um disco rรญgido local", + "w1": "mudar para https", + "x1": "mudar senha", + "y1": "editar recursos compartilhados", + "z1": "desbloquear este recurso compartilhado:", + "ta1": "primeiro digite sua nova senha", + "ta2": "repita para confirmar a nova senha:", + "ta3": "hรก um erro; por favor, tente novamente", + "nop": "ERRO: A senha nรฃo pode estar em branco", //m + "nou": "ERRO: O nome de usuรกrio e/ou a senha nรฃo podem estar em branco", //m + "aa1": "arquivos de entrada:", + "ab1": "desativar no304", + "ac1": "ativar no304", + "ad1": "ativar no304 irรก desabilitar todo o armazenamento em cache; tente isso se k304 nรฃo for suficiente. Isso irรก desperdiรงar uma grande quantidade de trรกfego de rede!", + "ae1": "downloads ativos:", + "af1": "mostrar uploads recentes", + "ag1": "mostrar usuรกrios IdP conhecidos", + } +}; diff --git a/copyparty/web/tl/rus.js b/copyparty/web/tl/rus.js new file mode 100644 index 00000000..5a7bcc65 --- /dev/null +++ b/copyparty/web/tl/rus.js @@ -0,0 +1,710 @@ + +// ะกั‚ั€ะพะบะธ, ะพะบะฐะฝั‡ะธะฒะฐัŽั‰ะธะตัั ะฝะฐ //m, ัะฒะปััŽั‚ัั ะฝะตะฟั€ะพะฒะตั€ะตะฝะฝั‹ะผะธ ะผะฐัˆะธะฝะฝั‹ะผะธ ะฟะตั€ะตะฒะพะดะฐะผะธ + +Ls.rus = { + "tt": "ะ ัƒััะบะธะน", + + "cols": { + "c": "ะบะฝะพะฟะบะธ ะดะตะนัั‚ะฒะธะน", + "dur": "ะดะปะธั‚ะตะปัŒะฝะพัั‚ัŒ", + "q": "ะบะฐั‡ะตัั‚ะฒะพ / ะฑะธั‚ั€ะตะนั‚", + "Ac": "ะฐัƒะดะธะพ ะบะพะดะตะบ", + "Vc": "ะฒะธะดะตะพ ะบะพะดะตะบ", + "Fmt": "ั„ะพั€ะผะฐั‚ / ะบะพะฝั‚ะตะนะฝะตั€", + "Ahash": "ะบะพะฝั‚ั€ะพะปัŒะฝะฐั ััƒะผะผะฐ ะฐัƒะดะธะพ", + "Vhash": "ะบะพะฝั‚ั€ะพะปัŒะฝะฐั ััƒะผะผะฐ ะฒะธะดะตะพ", + "Res": "ั€ะฐะทั€ะตัˆะตะฝะธะต", + "T": "ั‚ะธะฟ ั„ะฐะนะปะฐ", + "aq": "ะบะฐั‡ะตัั‚ะฒะพ ะฐัƒะดะธะพ / ะฑะธั‚ั€ะตะนั‚", + "vq": "ะบะฐั‡ะตัั‚ะฒะพ ะฒะธะดะตะพ / ะฑะธั‚ั€ะตะนั‚", + "pixfmt": "ัะฐะฑัะตะผะฟะปะธะฝะณ / ะฟะธะบัะตะปัŒะฝั‹ะน ั„ะพั€ะผะฐั‚", + "resw": "ะณะพั€ะธะทะพะฝั‚ะฐะปัŒะฝะพะต ั€ะฐะทั€ะตัˆะตะฝะธะต", + "resh": "ะฒะตั€ั‚ะธะบะฐะปัŒะฝะพะต ั€ะฐะทั€ะตัˆะตะฝะธะต", + "chs": "ะฐัƒะดะธะพ ะบะฐะฝะฐะปั‹", + "hz": "ั‡ะฐัั‚ะพั‚ะฐ ะดะธัะบั€ะตั‚ะธะทะฐั†ะธะธ", + }, + + "hks": [ + [ + "ั€ะฐะทะฝะพะต", + ["ESC", "ะทะฐะบั€ั‹ั‚ัŒ ะฒััะบะธะต ัˆั‚ัƒะบะธ"], + + "ั„ะฐะนะปะพะฒั‹ะน ะผะตะฝะตะดะถะตั€", + ["G", "ะฟะตั€ะตะบะปัŽั‡ะธั‚ัŒัั ะผะตะถะดัƒ ัะฟะธัะบะพะผ / ะฟะปะธั‚ะบะพะน"], + ["T", "ะฟะตั€ะตะบะปัŽั‡ะธั‚ัŒัั ะผะตะถะดัƒ ะผะธะฝะธะฐั‚ัŽั€ะฐะผะธ / ะธะบะพะฝะบะฐะผะธ"], + ["โ‡ง A/D", "ั€ะฐะทะผะตั€ ะผะธะฝะธะฐั‚ัŽั€ั‹"], + ["ctrl-K", "ัƒะดะฐะปะธั‚ัŒ ะฒั‹ะดะตะปะตะฝะฝะพะต"], + ["ctrl-X", "ะฒั‹ั€ะตะทะฐั‚ัŒ ะฒั‹ะดะตะปะตะฝะฝะพะต ะฒ ะฑัƒั„ะตั€"], + ["ctrl-C", "ะบะพะฟะธั€ะพะฒะฐั‚ัŒ ะฒั‹ะดะตะปะตะฝะฝะพะต ะฒ ะฑัƒั„ะตั€"], + ["ctrl-V", "ะฒัั‚ะฐะฒะธั‚ัŒ (ะฟะตั€ะตะผะตัั‚ะธั‚ัŒ/ะบะพะฟะธั€ะพะฒะฐั‚ัŒ) ััŽะดะฐ"], + ["Y", "ัะบะฐั‡ะฐั‚ัŒ ะฒั‹ะดะตะปะตะฝะฝะพะต"], + ["F2", "ะฟะตั€ะตะธะผะตะฝะพะฒะฐั‚ัŒ ะฒั‹ะดะตะปะตะฝะฝะพะต"], + + "ะฒั‹ะดะตะปะตะฝะธะต ั„ะฐะนะปะพะฒ", + ["ะฟั€ะพะฑะตะป", "ะฒั‹ะดะตะปะธั‚ัŒ/ัะฝัั‚ัŒ ะฒั‹ะดะตะปะตะฝะธะต ั ั‚ะตะบัƒั‰ะตะณะพ ั„ะฐะนะปะฐ"], + ["โ†‘/โ†“", "ะดะฒะธะณะฐั‚ัŒ ะบัƒั€ัะพั€"], + ["ctrl โ†‘/โ†“", "ะดะฒะธะณะฐั‚ัŒ ะบัƒั€ัะพั€ ะธ ัะบั€ะพะปะปะธั‚ัŒ"], + ["โ‡ง โ†‘/โ†“", "ะฒั‹ะดะตะปะธั‚ัŒ ะฟั€ะตะดั‹ะดัƒั‰ะธะน/ัะปะตะดัƒัŽั‰ะธะน ั„ะฐะนะป"], + ["ctrl-A", "ะฒั‹ะดะตะปะธั‚ัŒ ะฒัะต ั„ะฐะนะปั‹ ะธ ะฟะฐะฟะบะธ"], + ], [ + "ะฝะฐะฒะธะณะฐั†ะธั", + ["B", "ะฟะพะบะฐะทะฐั‚ัŒ/ัะบั€ั‹ั‚ัŒ ะฟะฐะฝะตะปัŒ ะฝะฐะฒะธะณะฐั†ะธะธ"], + ["I/K", "ะฟั€ะตะดั‹ะดัƒั‰ะฐั/ัะปะตะดัƒัŽั‰ะฐั ะฟะฐะฟะบะฐ"], + ["M", "ะฟะตั€ะตะนั‚ะธ ะฝะฐ ัƒั€ะพะฒะตะฝัŒ ะฒั‹ัˆะต (ะธะปะธ ัะฒะตั€ะฝัƒั‚ัŒ ั‚ะตะบัƒั‰ัƒัŽ ะฟะฐะฟะบัƒ)"], + ["V", "ะฟะตั€ะตะบะปัŽั‡ะธั‚ัŒัั ะผะตะถะดัƒ ะฟะฐะฟะบะฐะผะธ / ั‚ะตะบัั‚ะพะฒั‹ะผะธ ั„ะฐะนะปะฐะผะธ ะฒ ะฟะฐะฝะตะปะธ ะฝะฐะฒะธะณะฐั†ะธะธ"], + ["A/D", "ัƒะผะตะฝัŒัˆะธั‚ัŒ/ัƒะฒะตะปะธั‡ะธั‚ัŒ ะฟะฐะฝะตะปัŒ ะฝะฐะฒะธะณะฐั†ะธะธ"], + ], [ + "ะฐัƒะดะธะพะฟะปะตะตั€", + ["J/L", "ะฟั€ะตะดั‹ะดัƒั‰ะธะน/ัะปะตะดัƒัŽั‰ะธะน ั‚ั€ะตะบ"], + ["U/O", "ะฟะตั€ะตะผะพั‚ะฐั‚ัŒ ะฝะฐ 10 ัะตะบัƒะฝะด ะฝะฐะทะฐะด/ะฒะฟะตั€ั‘ะด"], + ["0..9", "ะฟะตั€ะตะผะพั‚ะฐั‚ัŒ ะฝะฐ 0%..90%"], + ["P", "ะธะณั€ะฐั‚ัŒ/ะฟะฐัƒะทะฐ (ะธะปะธ ะฟะพะดะณั€ัƒะทะธั‚ัŒ ั‚ั€ะตะบ)"], + ["S", "ะฒั‹ะดะตะปะธั‚ัŒ ั‚ะตะบัƒั‰ะธะน ั‚ั€ะตะบ"], + ["Y", "ัะบะฐั‡ะฐั‚ัŒ ั‚ั€ะตะบ"], + ], [ + "ะฟั€ะพัะผะพั‚ั€ั‰ะธะบ ะธะทะพะฑั€ะฐะถะตะฝะธะน", + ["J/L, โ†/โ†’", "ะฟั€ะตะดั‹ะดัƒั‰ะตะต/ัะปะตะดัƒัŽั‰ะตะต ะธะทะพะฑั€ะฐะถะตะฝะธะต"], + ["Home/End", "ะฟะตั€ะฒะพะต/ะฟะพัะปะตะดะฝะตะต ะธะทะพะฑั€ะฐะถะตะฝะธะต"], + ["F", "ั€ะฐะทะฒะตั€ะฝัƒั‚ัŒ ะฝะฐ ะฟะพะปะฝั‹ะน ัะบั€ะฐะฝ"], + ["R", "ะฟะพะฒะตั€ะฝัƒั‚ัŒ ะฟะพ ั‡ะฐัะพะฒะพะน ัั‚ั€ะตะปะบะต"], + ["โ‡ง R", "ะฟะพะฒะตั€ะฝัƒั‚ัŒ ะฟั€ะพั‚ะธะฒ ั‡ะฐัะพะฒะพะน ัั‚ั€ะตะปะบะธ"], + ["S", "ะฒั‹ะดะตะปะธั‚ัŒ ะธะทะพะฑั€ะฐะถะตะฝะธะต"], + ["Y", "ัะบะฐั‡ะฐั‚ัŒ ะธะทะพะฑั€ะฐะถะตะฝะธะต"], + ], [ + "ะฒะธะดะตะพะฟะปะตะตั€", + ["U/O", "ะฟะตั€ะตะผะพั‚ะฐั‚ัŒ ะฝะฐ 10 ัะตะบัƒะฝะด ะฝะฐะทะฐะด/ะฒะฟะตั€ั‘ะด"], + ["P/K/Space", "ะธะณั€ะฐั‚ัŒ/ะฟะฐัƒะทะฐ"], + ["C", "ะฟั€ะพะดะพะปะถะธั‚ัŒ ะฟั€ะพะธะณั€ั‹ะฒะฐั‚ัŒ ัะปะตะดัƒัŽั‰ะตะต"], + ["V", "ะฟะพะฒั‚ะพั€"], + ["M", "ะฒั‹ะบะปัŽั‡ะธั‚ัŒ ะทะฒัƒะบ"], + ["[ and ]", "ะทะฐะดะฐั‚ัŒ ะธะฝั‚ะตั€ะฒะฐะป ะฟะพะฒั‚ะพั€ะฐ"], + ], [ + "ะฟั€ะพัะผะพั‚ั€ั‰ะธะบ ั‚ะตะบัั‚ะพะฒั‹ั… ั„ะฐะนะปะพะฒ", + ["I/K", "ะฟั€ะตะดั‹ะดัƒั‰ะธะน/ัะปะตะดัƒัŽั‰ะธะน ั„ะฐะนะป"], + ["M", "ะทะฐะบั€ั‹ั‚ัŒ ั„ะฐะนะป"], + ["E", "ะพั‚ั€ะตะดะฐะบั‚ะธั€ะพะฒะฐั‚ัŒ ั„ะฐะนะป"], + ["S", "ะฒั‹ะดะตะปะธั‚ัŒ ั„ะฐะนะป"], + ["Y", "ัะบะฐั‡ะฐั‚ัŒ ั‚ะตะบัั‚ะพะฒั‹ะน ั„ะฐะนะป"], //m + ["โ‡ง J", "ะฟั€ะธัƒะบั€ะฐัะธั‚ัŒ json"], //m + ] + ], + + "m_ok": "OK", + "m_ng": "ะžั‚ะผะตะฝะฐ", + + "enable": "ะ’ะบะปัŽั‡ะธั‚ัŒ", + "danger": "ะ’ะะ˜ะœะะะ˜ะ•", + "clipped": "ัะบะพะฟะธั€ะพะฒะฐะฝะพ ะฒ ะฑัƒั„ะตั€ ะพะฑะผะตะฝะฐ", + + "ht_s1": "ัะตะบัƒะฝะดะฐ", + "ht_s2": "ัะตะบัƒะฝะดั‹", + "ht_m1": "ะผะธะฝัƒั‚ะฐ", + "ht_m2": "ะผะธะฝัƒั‚ั‹", + "ht_h1": "ั‡ะฐั", + "ht_h2": "ั‡ะฐัั‹", + "ht_d1": "ะดะตะฝัŒ", + "ht_d2": "ะดะฝะธ", + "ht_and": " ะธ ", + + "goh": "ะฟะฐะฝะตะปัŒ ัƒะฟั€ะฐะฒะปะตะฝะธั", + "gop": 'ะฟั€ะตะดั‹ะดัƒั‰ะฐั ะฟะฐะฟะบะฐ">ะฟั€ะตะด', + "gou": 'ั€ะพะดะธั‚ะตะปัŒัะบะฐั ะฟะฐะฟะบะฐ">ะฒะฒะตั€ั…', + "gon": 'ัะปะตะดัƒัŽั‰ะฐั ะฟะฐะฟะบะฐ">ัะปะตะด', + "logout": "ะ’ั‹ะนั‚ะธ ", + "login": "ะ’ะพะนั‚ะธ", //m + "access": " ะดะพัั‚ัƒะฟ", + "ot_close": "ะทะฐะบั€ั‹ั‚ัŒ ะฟะพะดะผะตะฝัŽ", + "ot_search": "ะธัะบะฐั‚ัŒ ั„ะฐะนะปั‹ ะฟะพ ะฐั‚ั€ะธะฑัƒั‚ะฐะผ, ะฟัƒั‚ะธ / ะธะผะตะฝะธ, ะผัƒะทั‹ะบะฐะปัŒะฝั‹ะผ ั‚ะตะณะฐะผ ะธะปะธ ะปัŽะฑะพะน ะดั€ัƒะณะพะน ะบะพะผะฑะธะฝะฐั†ะธะธ ะธะท ัะปะตะดัƒัŽั‰ะธั… ะบะพะฝัั‚ั€ัƒะบั†ะธะน$N$N<code>foo bar</code> = ะพะฑัะทะฐะฝะพ ัะพะดะตั€ะถะฐั‚ัŒ ยซfooยป ะ˜ ยซbarยป,$N<code>foo -bar</code> = ะพะฑัะทะฐะฝะพ ัะพะดะตั€ะถะฐั‚ัŒ ยซfooยป, ะฝะพ ะฝะต ยซbarยป,$N<code>^yana .opus$</code> = ะฝะฐั‡ะธะฝะฐะตั‚ัั ั ยซyanaยป ะธ ะธะผะตะตั‚ ั€ะฐััˆะธั€ะตะฝะธะต ยซopusยป$N<code>"try unite"</code> = ัะพะดะตั€ะถะธั‚ ะธะผะตะฝะฝะพ ยซtry uniteยป$N$Nั„ะพั€ะผะฐั‚ ะฒั€ะตะผะตะฝะธ ะทะฐะดะฐั‘ั‚ัั ะฟะพ ัั‚ะฐะฝะดะฐั€ั‚ัƒ iso-8601, ะฝะฐะฟั€ะธะผะตั€$N<code>2009-12-31</code> ะธะปะธ <code>2020-09-12 23:30:00</code>", + "ot_unpost": "unpost: ัƒะดะฐะปะธั‚ัŒ ะฒะฐัˆะธ ะฝะตะดะฐะฒะฝะธะต ะทะฐะณั€ัƒะทะบะธ ะธ ะพั‚ะผะตะฝะธั‚ัŒ ะฝะตะทะฐะฒะตั€ัˆั‘ะฝะฝั‹ะต", + "ot_bup": "bup: ะปะตะณะบะพะฒะตัะฝั‹ะน ะทะฐะณั€ัƒะทั‡ะธะบ ั„ะฐะนะปะพะฒ, ะฟะพะดะดะตั€ะถะธะฒะฐะตั‚ ะดะฐะถะต netscape 4.0", + "ot_mkdir": "mkdir: ัะพะทะดะฐั‚ัŒ ะฝะพะฒัƒัŽ ะฟะฐะฟะบัƒ", + "ot_md": "new-file: ัะพะทะดะฐั‚ัŒ ะฝะพะฒั‹ะน ั‚ะตะบัั‚ะพะฒั‹ะน ั„ะฐะนะป", //m + "ot_msg": "msg: ะพั‚ะฟั€ะฐะฒะธั‚ัŒ ัะพะพะฑั‰ะตะฝะธะต ะฒ ะปะพะณ ัะตั€ะฒะตั€ะฐ", + "ot_mp": "ะฝะฐัั‚ั€ะพะนะบะฐ ะผะตะดะธะฐะฟะปะตะตั€ะฐ", + "ot_cfg": "ะพัั‚ะฐะปัŒะฝั‹ะต ะฝะฐัั‚ั€ะพะนะบะธ", + "ot_u2i": 'up2k: ะทะฐะณั€ัƒะทะธั‚ัŒ ั„ะฐะนะปั‹ (ะตัะปะธ ะธะผะตะตั‚ัั ะดะพัั‚ัƒะฟ ะบ ะทะฐะฟะธัะธ) ะธะปะธ ะฟะตั€ะตะบะปัŽั‡ะธั‚ัŒัั ะฒ ั€ะตะถะธะผ ะฟะพะธัะบะฐ$N$Nะทะฐะณั€ัƒะทะบะธ ัะฒะปััŽั‚ัั ะฒะพะทะพะฑะฝะพะฒะปัะตะผั‹ะผะธ ะธ ะผะฝะพะณะพะฟะพั‚ะพั‡ะฝั‹ะผะธ, ะฐ ะดะฐั‚ั‹ ะธะทะผะตะฝะตะฝะธั ั„ะฐะนะปะพะฒ ัะพั…ั€ะฐะฝััŽั‚ัั ะฒ ะฟั€ะพั†ะตััะต, ะฝะพ ัั‚ะพั‚ ะผะตั‚ะพะด ะธัะฟะพะปัŒะทัƒะตั‚ ะฑะพะปัŒัˆะต ั€ะตััƒั€ัะพะฒ ะฟั€ะพั†ะตััะพั€ะฐ, ั‡ะตะผ [๐ŸŽˆ]  (ะปะตะณะบะพะฒะตัะฝั‹ะน ะทะฐะณั€ัƒะทั‡ะธะบ)

    ะฒะพ ะฒั€ะตะผั ะทะฐะณั€ัƒะทะบะธ ัั‚ะฐ ะธะบะพะฝะบะฐ ะฟั€ะตะฒั€ะฐั‰ะฐะตั‚ัั ะฒ ะธะฝะดะธะบะฐั‚ะพั€!', + "ot_u2w": 'up2k: ะทะฐะณั€ัƒะทะธั‚ัŒ ั„ะฐะนะปั‹ ั ะฟะพะดะดะตั€ะถะบะพะน ะฒะพะทะพะฑะฝะพะฒะปะตะฝะธั (ะทะฐะบะธะฝัŒั‚ะต ั‚ะต ะถะต ั„ะฐะนะปั‹ ะฟะพัะปะต ะฟะตั€ะตะทะฐะฟัƒัะบะฐ ะฑั€ะฐัƒะทะตั€ะฐ)$N$Nะฟะพะดะดะตั€ะถะธะฒะฐะตั‚ัั ะผะฝะพะณะพะฟะพั‚ะพั‡ะฝะพัั‚ัŒ, ะดะฐั‚ั‹ ะธะทะผะตะฝะตะฝะธั ั„ะฐะนะปะพะฒ ัะพั…ั€ะฐะฝััŽั‚ัั ะฒ ะฟั€ะพั†ะตััะต, ะฝะพ ัั‚ะพั‚ ะผะตั‚ะพะด ะธัะฟะพะปัŒะทัƒะตั‚ ะฑะพะปัŒัˆะต ั€ะตััƒั€ัะพะฒ ะฟั€ะพั†ะตััะพั€ะฐ, ั‡ะตะผ [๐ŸŽˆ]  (ะปะตะณะบะพะฒะตัะฝั‹ะน ะทะฐะณั€ัƒะทั‡ะธะบ)

    ะฒะพ ะฒั€ะตะผั ะทะฐะณั€ัƒะทะบะธ ัั‚ะฐ ะธะบะพะฝะบะฐ ะฟั€ะตะฒั€ะฐั‰ะฐะตั‚ัั ะฒ ะธะฝะดะธะบะฐั‚ะพั€!', + "ot_noie": 'ะŸะพะถะฐะปัƒะนัั‚ะฐ, ะธัะฟะพะปัŒะทัƒะนั‚ะต Chrome / Firefox / Edge', + + "ab_mkdir": "ัะพะทะดะฐั‚ัŒ ะฟะฐะฟะบัƒ", + "ab_mkdoc": "ัะพะทะดะฐั‚ัŒ ั‚ะตะบัั‚ะพะฒั‹ะน ั„ะฐะนะป", //m + "ab_msg": "ะพั‚ะฟั€ะฐะฒะธั‚ัŒ ัะพะพะฑั‰ะตะฝะธะต ะฒ ะปะพะณ ัะตั€ะฒะตั€ะฐ", + + "ay_path": "ะฟะตั€ะตะนั‚ะธ ะบ ะฟะฐะฟะบะฐะผ", + "ay_files": "ะฟะตั€ะตะนั‚ะธ ะบ ั„ะฐะนะปะฐะผ", + + "wt_ren": "ะฟะตั€ะตะธะผะตะฝะพะฒะฐั‚ัŒ ะฒั‹ะดะตะปะตะฝะฝั‹ะต ั„ะฐะนะปั‹$Nะ“ะพั€ัั‡ะฐั ะบะปะฐะฒะธัˆะฐ: F2", + "wt_del": "ัƒะดะฐะปะธั‚ัŒ ะฒั‹ะดะตะปะตะฝะฝั‹ะต ั„ะฐะนะปั‹$Nะ“ะพั€ัั‡ะฐั ะบะปะฐะฒะธัˆะฐ: ctrl-K", + "wt_cut": "ะฒั‹ั€ะตะทะฐั‚ัŒ ะฒั‹ะดะตะปะตะฝะฝั‹ะต ั„ะฐะนะปั‹ <small>(ะทะฐั‚ะตะผ ะฒัั‚ะฐะฒะธั‚ัŒ ะบัƒะดะฐ-ั‚ะพ ะฒ ะดั€ัƒะณะพะต ะผะตัั‚ะพ)</small>$Nะ“ะพั€ัั‡ะฐั ะบะปะฐะฒะธัˆะฐ: ctrl-X", + "wt_cpy": "ะบะพะฟะธั€ะพะฒะฐั‚ัŒ ะฒั‹ะดะตะปะตะฝะฝั‹ะต ั„ะฐะนะปั‹ ะฒ ะฑัƒั„ะตั€$N(ั‡ั‚ะพะฑั‹ ะฒัั‚ะฐะฒะธั‚ัŒ ะธั… ะบัƒะดะฐ-ั‚ะพ ะตั‰ั‘)$Nะ“ะพั€ัั‡ะฐั ะบะปะฐะฒะธัˆะฐ: ctrl-C", + "wt_pst": "ะฒัั‚ะฐะฒะธั‚ัŒ ั€ะฐะฝะตะต ะฒั‹ั€ะตะทะฐะฝะฝั‹ะน / ัะบะพะฟะธั€ะพะฒะฐะฝะฝั‹ะน ั„ะฐะนะป$Nะ“ะพั€ัั‡ะฐั ะบะปะฐะฒะธัˆะฐ: ctrl-V", + "wt_selall": "ะฒั‹ะดะตะปะธั‚ัŒ ะฒัะต ั„ะฐะนะปั‹$Nะ“ะพั€ัั‡ะฐั ะบะปะฐะฒะธัˆะฐ: ctrl-A (ะบะพะณะดะฐ ะฒั‹ะดะตะปะตะฝ ั…ะพั‚ั ะฑั‹ ะพะดะธะฝ ั„ะฐะนะป)", + "wt_selinv": "ะธะฝะฒะตั€ั‚ะธั€ะพะฒะฐั‚ัŒ ะฒั‹ะดะตะปะตะฝะธะต", + "wt_zip1": "ัะบะฐั‡ะฐั‚ัŒ ัั‚ัƒ ะฟะฐะฟะบัƒ ะบะฐะบ ะฐั€ั…ะธะฒ", + "wt_selzip": "ัะบะฐั‡ะฐั‚ัŒ ะฒั‹ะดะตะปะตะฝะฝั‹ะต ั„ะฐะนะปั‹ ะบะฐะบ ะฐั€ั…ะธะฒ", + "wt_seldl": "ัะบะฐั‡ะฐั‚ัŒ ะฒั‹ะดะตะปะตะฝะฝั‹ะต ั„ะฐะนะปั‹ ะฟะพ-ะพั‚ะดะตะปัŒะฝะพัั‚ะธ$Nะ“ะพั€ัั‡ะฐั ะบะปะฐะฒะธัˆะฐ: Y", + "wt_npirc": "ะบะพะฟะธั€ะพะฒะฐั‚ัŒ ะธะฝั„ะพั€ะผะฐั†ะธัŽ ะพ ั‚ั€ะตะบะต ะฒ ั„ะพั€ะผะฐั‚ะต irc", + "wt_nptxt": "ะบะพะฟะธั€ะพะฒะฐั‚ัŒ ะธะฝั„ะพั€ะผะฐั†ะธัŽ ะพ ั‚ั€ะตะบะต ะพะฑั‹ั‡ะฝั‹ะผ ั‚ะตะบัั‚ะพะผ", + "wt_m3ua": "ะดะพะฑะฐะฒะธั‚ัŒ ะฒ ะฟะปะตะนะปะธัั‚ m3u (ะฝะฐะถะผะธั‚ะต ๐Ÿ“ปะบะพะฟ. ะฒ ะบะพะฝั†ะต)", + "wt_m3uc": "ะบะพะฟะธั€ะพะฒะฐั‚ัŒ ะฟะปะตะนะปะธัั‚ m3u ะฒ ะฑัƒั„ะตั€ ะพะฑะผะตะฝะฐ", + "wt_grid": "ะฟะตั€ะตะบะปัŽั‡ะธั‚ัŒ ะผะตะถะดัƒ ัะตั‚ะบะพะน / ัะฟะธัะบะพะผ$Nะ“ะพั€ัั‡ะฐั ะบะปะฐะฒะธัˆะฐ: G", + "wt_prev": "ะฟั€ะตะดั‹ะดัƒั‰ะธะน ั‚ั€ะตะบ$Nะ“ะพั€ัั‡ะฐั ะบะปะฐะฒะธัˆะฐ: J", + "wt_play": "ะธะณั€ะฐั‚ัŒ / ะฟะฐัƒะทะฐ$Nะ“ะพั€ัั‡ะฐั ะบะปะฐะฒะธัˆะฐ: P", + "wt_next": "ัะปะตะดัƒัŽั‰ะธะน ั‚ั€ะตะบ$Nะ“ะพั€ัั‡ะฐั ะบะปะฐะฒะธัˆะฐ: L", + + "ul_par": "ะฟะฐั€ะฐะปะปะตะปัŒะฝั‹ะต ะทะฐะณั€ัƒะทะบะธ:", + "ut_rand": "ัะปัƒั‡ะฐะนะฝั‹ะต ะธะผะตะฝะฐ ั„ะฐะนะปะพะฒ", + "ut_u2ts": "ะบะพะฟะธั€ะพะฒะฐั‚ัŒ ะฒั€ะตะผั ะฟะพัะปะตะดะฝะตะณะพ ะธะทะผะตะฝะตะฝะธั$Nะธะท ะฒะฐัˆะตะน ั„ะฐะนะปะพะฒะพะน ัะธัั‚ะตะผั‹ ะฝะฐ ัะตั€ะฒะตั€\">๐Ÿ“…", + "ut_ow": "ะฟะตั€ะตะทะฐะฟะธัั‹ะฒะฐั‚ัŒ ััƒั‰ะตัั‚ะฒัƒัŽั‰ะธะต ั„ะฐะนะปั‹ ะฝะฐ ัะตั€ะฒะตั€ะต?$N๐Ÿ›ก๏ธ: ะฝะตั‚ (ะดะปั ะฟะพะฒั‚ะพั€ััŽั‰ะธั…ัั ั„ะฐะนะปะพะฒ ะฑัƒะดัƒั‚ ัะพะทะดะฐะฒะฐั‚ัŒัั ะฝะพะฒั‹ะต ะธะผะตะฝะฐ)$N๐Ÿ•’: ะฟะตั€ะตะทะฐะฟะธัะฐั‚ัŒ ั„ะฐะนะปั‹ ั ะดะฐั‚ะพะน ะธะทะผะตะฝะตะฝะธั ัั‚ะฐั€ะตะต, ั‡ะตะผ ัƒ ะทะฐะณั€ัƒะถะฐะตะผั‹ั…$Nโ™ป๏ธ: ะฒัะตะณะดะฐ ะฟะตั€ะตะทะฐะฟะธัั‹ะฒะฐั‚ัŒ (ะตัะปะธ ั„ะฐะนะปั‹ ั€ะฐะทะปะธั‡ะฐัŽั‚ัั ะฟะพ ัะพะดะตั€ะถะฐะฝะธัŽ)$Nโญ๏ธ: ะฑะตะทัƒัะปะพะฒะฝะพ ะฟั€ะพะฟัƒัะบะฐั‚ัŒ ะฒัะต ััƒั‰ะตัั‚ะฒัƒัŽั‰ะธะต ั„ะฐะนะปั‹", //m + "ut_mt": "ะฟั€ะพะดะพะปะถะฐั‚ัŒ ั…ะตัˆะธั€ะพะฒะฐั‚ัŒ ะดั€ัƒะณะธะต ั„ะฐะนะปั‹ ะฒะพ ะฒั€ะตะผั ะทะฐะณั€ัƒะทะบะธ$N$Nะตัั‚ัŒ ัะผั‹ัะป ะพั‚ะบะปัŽั‡ะธั‚ัŒ ะฟั€ะธ ะผะตะดะปะตะฝะฝะพะผ ะดะธัะบะต ะธะปะธ ะฟั€ะพั†ะตััะพั€ะต", + "ut_ask": 'ั‚ั€ะตะฑะพะฒะฐั‚ัŒ ะฟะพะดั‚ะฒะตั€ะถะดะตะฝะธั ะฟะตั€ะตะด ะฝะฐั‡ะฐะปะพะผ ะทะฐะณั€ัƒะทะบะธ">๐Ÿ’ญ', + "ut_pot": "ัƒะปัƒั‡ัˆะธั‚ัŒ ัะบะพั€ะพัั‚ัŒ ะทะฐะณั€ัƒะทะบะธ ะฝะฐ ัะปะฐะฑั‹ั… ัƒัั‚ั€ะพะนัั‚ะฒะฐ$Nั ะฟะพะผะพั‰ัŒัŽ ัƒะฟั€ะพั‰ะตะฝะธั ะธะฝั‚ะตั€ั„ะตะนัะฐ", + "ut_srch": "ะฝะต ะทะฐะณั€ัƒะถะฐั‚ัŒ, ะฐ ะฟั€ะพะฒะตั€ัั‚ัŒ, ััƒั‰ะตัั‚ะฒัƒัŽั‚ ะปะธ ะดะฐะฝะฝั‹ะต ั„ะฐะนะปั‹ $N ะฝะฐ ัะตั€ะฒะตั€ะต (ะฟั€ะพะฒะตั€ะบะฐ ะฒัะตั… ะดะพัั‚ัƒะฟะฝั‹ั… ะฒะฐะผ ะฟะฐะฟะพะบ)", + "ut_par": "ะฟั€ะธ 0 ะทะฐะณั€ัƒะทะบะฐ ะฒัั‚ะฐะฝะตั‚ ะฝะฐ ะฟะฐัƒะทัƒ$N$Nัะปะตะดัƒะตั‚ ะฟะพะฒั‹ัะธั‚ัŒ, ะตัะปะธ ะฒะฐัˆะต ะฟะพะดะบะปัŽั‡ะตะฝะธะต ะผะตะดะปะตะฝะฝะพะต$N$Nะพัั‚ะฐะฒัŒั‚ะต 1, ะตัะปะธ ะธัะฟะพะปัŒะทัƒะตั‚ัั ะปะพะบะฐะปัŒะฝะฐั ัะตั‚ัŒ ะธะปะธ ะดะธัะบ ัะตั€ะฒะตั€ะฐ ะผะตะดะปะตะฝะฝั‹ะน", + "ul_btn": "ะพั‚ะฟัƒัั‚ะธั‚ะต ั„ะฐะนะปั‹ / ะฟะฐะฟะบะธ
    ะทะดะตััŒ (ะธะปะธ ะฝะฐะถะผะธั‚ะต)", + "ul_btnu": "ะ— ะ ะ“ ะ  ะฃ ะ— ะ˜ ะข ะฌ", + "ul_btns": "ะ˜ ะก ะš ะ ะข ะฌ", + + "ul_hash": "ั…ะตัˆ", + "ul_send": "ะพั‚ะฟั€ะฐะฒะบะฐ", + "ul_done": "ะณะพั‚ะพะฒะพ", + "ul_idle1": "ะฝะตั‚ ะทะฐะณั€ัƒะทะพะบ ะฒ ะพั‡ะตั€ะตะดะธ", + "ut_etah": "ัั€ะตะดะฝัั ัะบะพั€ะพัั‚ัŒ <em>ั…ะตัˆะธั€ะพะฒะฐะฝะธั</em> ะธ ะฟั€ะธะผะตั€ะฝะพะต ะฒั€ะตะผั ะดะพ ะทะฐะฒะตั€ัˆะตะฝะธั", + "ut_etau": "ัั€ะตะดะฝัั ัะบะพั€ะพัั‚ัŒ <em>ะทะฐะณั€ัƒะทะบะธ</em> ะธ ะฟั€ะธะผะตั€ะฝะพะต ะฒั€ะตะผั ะดะพ ะทะฐะฒะตั€ัˆะตะฝะธั", + "ut_etat": "ัั€ะตะดะฝัั <em>ะพะฑั‰ะฐั</em> ัะบะพั€ะพัั‚ัŒ ะธ ะฟั€ะธะผะตั€ะฝะพะต ะฒั€ะตะผั ะดะพ ะทะฐะฒะตั€ัˆะตะฝะธั", + + "uct_ok": "ัƒัะฟะตัˆะฝะพ ะทะฐะฒะตั€ัˆะตะฝั‹", + "uct_ng": "ะพัˆะธะฑะบะธ / ะพั‚ะบะฐะทั‹ / ะฝะต ะฝะฐะนะดะตะฝั‹", + "uct_done": "ะณะพั‚ะพะฒะพ (ok ะธ ng ะฒะผะตัั‚ะต)", + "uct_bz": "ั…ะตัˆะธั€ัƒัŽั‚ัั ะธะปะธ ะทะฐะณั€ัƒะถะฐัŽั‚ัั", + "uct_q": "ะฒ ะพั‡ะตั€ะตะดะธ", + + "utl_name": "ะธะผั ั„ะฐะนะปะฐ", + "utl_ulist": "ัะฟะธัะพะบ", + "utl_ucopy": "ะบะพะฟะธั€ะพะฒะฐั‚ัŒ", + "utl_links": "ััั‹ะปะบะธ", + "utl_stat": "ัั‚ะฐั‚ัƒั", + "utl_prog": "ะฟั€ะพะณั€ะตัั", + + // keep short: + "utl_404": "404", + "utl_err": "ะžะจะ˜ะ‘ะšะ", + "utl_oserr": "ะพัˆะธะฑะบะฐ ะžะก", + "utl_found": "ะฝะฐะนะดะตะฝะพ", + "utl_defer": "ะพั‚ะปะพะถะธั‚ัŒ", + "utl_yolo": "ั‚ัƒั€ะฑะพ", + "utl_done": "ะณะพั‚ะพะฒะพ", + + "ul_flagblk": "ั„ะฐะนะปั‹ ะฑั‹ะปะธ ะดะพะฑะฐะฒะปะตะฝั‹ ะฒ ะพั‡ะตั€ะตะดัŒ,
    ะพะดะฝะฐะบะพ ะฒ ะดั€ัƒะณะพะน ะฒะบะปะฐะดะบะต ัƒะถะต ะตัั‚ัŒ ะฐะบั‚ะธะฒะฝะฐั ะทะฐะณั€ัƒะทะบะฐ ั‡ะตั€ะตะท up2k,
    ะฟะพัั‚ะพะผัƒ ะพะถะธะดะฐะตะผ ะตั‘ ะทะฐะฒะตั€ัˆะตะฝะธั", + "ul_btnlk": "ะฝะฐัั‚ั€ะพะนะบะธ ัะตั€ะฒะตั€ะฐ ะทะฐะฟั€ะตั‰ะฐัŽั‚ ะธะทะผะตะฝะตะฝะธะต ัะพัั‚ะพัะฝะธั ัั‚ะพะน ะพะฟั†ะธะธ", + + "udt_up": "ะ—ะฐะณั€ัƒะทะธั‚ัŒ", + "udt_srch": "ะŸะพะธัะบ", + "udt_drop": "ะพั‚ะฟัƒัั‚ะธั‚ะต ะทะดะตััŒ", + + "u_nav_m": '
    ะปะฐะดั‹, ั‡ั‚ะพ ั‚ะฐะผ ัƒ ะฒะฐั?
    Enter = ะคะฐะนะปั‹ (ะพะดะธะฝ ะธะปะธ ะฑะพะปัŒัˆะต)\nESC = ะžะดะฝะฐ ะฟะฐะฟะบะฐ (ั ัƒั‡ั‘ั‚ะพะผ ะฟะพะดะฟะฐะฟะพะบ)', + "u_nav_b": 'ะคะฐะนะปั‹ะžะดะฝะฐ ะฟะฐะฟะบะฐ', + + "cl_opts": "ะฟะตั€ะตะบะปัŽั‡ะฐั‚ะตะปะธ", + "cl_hfsz": "ั€ะฐะทะผะตั€ ั„ะฐะนะปะฐ", //m + "cl_themes": "ั‚ะตะผะฐ", + "cl_langs": "ัะทั‹ะบ", + "cl_ziptype": "ะฐั€ั…ะธะฒะฐั†ะธั ะฟะฐะฟะพะบ", + "cl_uopts": "ะพะฟั†ะธะธ up2k", + "cl_favico": "ะธะบะพะฝะบะฐ", + "cl_bigdir": "ะฑะพะป. ะฟะฐะฟะบะธ", + "cl_hsort": "#ัะพั€ั‚.", + "cl_keytype": "ัั…ะตะผะฐ ะณะพั€ัั‡ะธั… ะบะปะฐะฒะธัˆ", + "cl_hiddenc": "ัะบั€ั‹ั‚ั‹ะต ัั‚ะพะปะฑั†ั‹", + "cl_hidec": "ัะบั€ั‹ั‚ัŒ", + "cl_reset": "ัะฑั€ะพัะธั‚ัŒ", + "cl_hpick": "ะฝะฐะถะผะธั‚ะต ะฝะฐ ะทะฐะณะพะปะพะฒะบะธ ัั‚ะพะปะฑั†ะพะฒ, ั‡ั‚ะพะฑั‹ ัะบั€ั‹ั‚ัŒ ะธั… ะฒ ั‚ะฐะฑะปะธั†ะต ะฝะธะถะต", + "cl_hcancel": "ัะบั€ั‹ั‚ะธะต ัั‚ะพะปะฑั†ะฐ ะพั‚ะผะตะฝะตะฝะพ", + "cl_rcm": "ะบะพะฝั‚ะตะบัั‚ะฝะพะต ะผะตะฝัŽ", //m + + "ct_grid": '็”ฐ ัะตั‚ะบะฐ', + "ct_ttips": 'โ—” โ—ก โ—”">โ„น๏ธ ะฟะพะดัะบะฐะทะบะธ', + "ct_thumb": 'ะฟะตั€ะตะบะปัŽั‡ะตะฝะธะต ะผะตะถะดัƒ ะธะบะพะฝะบะฐะผะธ ะธ ะผะธะฝะธะฐั‚ัŽั€ะฐะผะธ ะฒ ั€ะตะถะธะผะต ัะตั‚ะบะธ$Nะ“ะพั€ัั‡ะฐั ะบะปะฐะฒะธัˆะฐ: T">๐Ÿ–ผ๏ธ ะผะธะฝะธะฐั‚.', + "ct_csel": 'ะดะตั€ะถะธั‚ะต CTRL ะธะปะธ SHIFT ะดะปั ะฒั‹ะดะตะปะตะฝะธั ั„ะฐะนะปะพะฒ ะฒ ั€ะตะถะธะผะต ัะตั‚ะบะธ">ะฒั‹ะฑะพั€', + "ct_dl": 'ะฟั€ะธะฝัƒะดะธั‚ะตะปัŒะฝะฐั ะทะฐะณั€ัƒะทะบะฐ (ะฝะต ะฟะพะบะฐะทั‹ะฒะฐั‚ัŒ ะฒัั‚ั€ะพะตะฝะฝะพ) ะฟั€ะธ ั‰ะตะปั‡ะบะต ะฟะพ ั„ะฐะนะปัƒ">dl', //m + "ct_ihop": 'ะฟะพะบะฐะทั‹ะฒะฐั‚ัŒ ะฟะพัะปะตะดะฝะธะน ะพั‚ะบั€ั‹ั‚ั‹ะน ั„ะฐะนะป ะฟะพัะปะต ะทะฐะบั€ั‹ั‚ะธั ะฟั€ะพัะผะพั‚ั€ั‰ะธะบะฐ ะธะทะพะฑั€ะฐะถะตะฝะธะน">gโฎฏ', + "ct_dots": 'ะฟะพะบะฐะทั‹ะฒะฐั‚ัŒ ัะบั€ั‹ั‚ั‹ะต ั„ะฐะนะปั‹ (ะตัะปะธ ะตัั‚ัŒ ะดะพัั‚ัƒะฟ)">ัะบั€ั‹ั‚.', + "ct_qdel": 'ัะฟั€ะฐัˆะธะฒะฐั‚ัŒ ะฟะพะดั‚ะฒะตั€ะถะดะตะฝะธะต ั‚ะพะปัŒะบะพ ะพะดะธะฝ ั€ะฐะท ะฟะตั€ะตะด ัƒะดะฐะปะตะฝะธะตะผ ั„ะฐะนะปะพะฒ">ะฑั‹ัั‚ั€. ัƒะดะฐะป.', + "ct_dir1st": 'ั€ะฐะทะผะตัั‚ะธั‚ัŒ ะฟะฐะฟะบะธ ะฝะฐะด ั„ะฐะนะปะฐะผะธ">๐Ÿ“ ัะฒะตั€ั…ัƒ', + "ct_nsort": 'ัะพั€ั‚ะธั€ะพะฒะบะฐ ะฟะพ ั‡ะธัะปะฐะผ$N(ะฝะฐะฟั€ะธะผะตั€, ั„ะฐะนะป ั >code<2>/code< ะฒ ะฝะฐั‡ะฐะปะต ะฝะฐะทะฒะฐะฝะธั ะธะดั‘ั‚ ะฟะตั€ะตะด >code<11>/code<)">ะฝะฐั‚. ัะพั€ั‚.', + "ct_utc": 'ะธัะฟะพะปัŒะทัƒะนั‚ะต UTC ะดะปั ะฒัะตั… ะฒั€ะตะผะตะฝะฝั‹ั… ะผะตั‚ะพะบ">UTC', //m + "ct_readme": 'ะฟะพะบะฐะทั‹ะฒะฐั‚ัŒ ัะพะดะตั€ะถะธะผะพะต README.md ะฒ ะพะฟะธัะฐะฝะธะธ ะฟะฐะฟะบะธ">๐Ÿ“œ ั€ะธะดะผะธ', + "ct_idxh": 'ะฟะพะบะฐะทั‹ะฒะฐั‚ัŒ ัั‚ั€ะฐะฝะธั†ัƒ index.html ะฒ ั‚ะตะบัƒั‰ะตะน ะฟะฐะฟะบะต ะฒะผะตัั‚ะพ ะธะฝั‚ะตั€ั„ะตะนัะฐ">htm', + "ct_sbars": 'ะฟะพะบะฐะทั‹ะฒะฐั‚ัŒ ะฟะพะปะพัั‹ ะฟั€ะพะบั€ัƒั‚ะบะธ">โŸŠ', + + "cut_umod": "ะตัะปะธ ั„ะฐะนะป ัƒะถะต ััƒั‰ะตัั‚ะฒัƒะตั‚ ะฝะฐ ัะตั€ะฒะตั€ะต, ะพะฑะฝะพะฒะธั‚ัŒ ะฒั€ะตะผั ะฟะพัะปะตะดะฝะตะณะพ ะธะทะผะตะฝะตะฝะธั ะฝะฐ ัะตั€ะฒะตั€ะต ะฒ ัะพะพั‚ะฒะตั‚ัั‚ะฒะธะธ ั ะปะพะบะฐะปัŒะฝั‹ะผ ั„ะฐะนะปะพะผ (ั‚ั€ะตะฑัƒัŽั‚ัั ะฟั€ะฐะฒะฐ write+delete)\">ะฟะตั€ะตะฝะพั ๐Ÿ“…", + + "cut_turbo": "ะธัะฟะพะปัŒะทัƒะนั‚ะต ัั‚ัƒ ั„ัƒะฝะบั†ะธัŽ ะก ะžะกะขะžะ ะžะ–ะะžะกะขะฌะฎ:$N$Nะฟั€ะธะณะพะดะธั‚ัั ะฒ ัะปัƒั‡ะฐะต, ะตัะปะธ ะฑั‹ะปะฐ ะฟั€ะตั€ะฒะฐะฝะฐ ะทะฐะณั€ัƒะทะบะฐ ะฑะพะปัŒัˆะพะณะพ ะบะพะปะธั‡ะตัั‚ะฒะฐ ั„ะฐะนะปะพะฒ, ะธ ะฒั‹ ั…ะพั‚ะธั‚ะต ะฒะพะทะพะฑะฝะพะฒะธั‚ัŒ ะตั‘ ะบะฐะบ ะผะพะถะฝะพ ะฑั‹ัั‚ั€ะตะต$N$Nะฟั€ะพะฒะตั€ะบะฐ ั„ะฐะนะปะพะฒ ะฟะพ ั…ะตัˆัƒ ะทะฐะผะตะฝัะตั‚ัั ะฝะฐ ะฟั€ะพัั‚ะพะน ะฐะปะณะพั€ะธั‚ะผ: "ะตัะปะธ ั€ะฐะทะผะตั€ ั„ะฐะนะปะฐ ะพั‚ะปะธั‡ะฐะตั‚ัั - ั‚ะพะณะดะฐ ะทะฐะณั€ัƒะทะธั‚ัŒ", ะฝะพ ัะพะดะตั€ะถะฐะฝะธะต ั„ะฐะนะปะพะฒ ะฝะต ัั€ะฐะฒะฝะธะฒะฐะตั‚ัั$N$Nัะปะตะดัƒะตั‚ ะพั‚ะบะปัŽั‡ะธั‚ัŒ ัั‚ัƒ ั„ัƒะฝะบั†ะธัŽ ะฟะพัะปะต ะพะบะพะฝั‡ะฐะฝะธั ะทะฐะณั€ัƒะทะบะธ, ะฐ ะทะฐั‚ะตะผ "ะทะฐะณั€ัƒะทะธั‚ัŒ" ั‚ะต ะถะต ั„ะฐะนะปั‹ ะทะฐะฝะพะฒะพ, ั‡ั‚ะพะฑั‹ ะฒะฐะปะธะดะธั€ะพะฒะฐั‚ัŒ ะธั…\">ั‚ัƒั€ะฑะพ", + + "cut_datechk": "ั€ะฐะฑะพั‚ะฐะตั‚ ั‚ะพะปัŒะบะพ ะฟั€ะธ ะฒะบะปัŽั‡ั‘ะฝะฝะพะน ะบะฝะพะฟะบะต "ั‚ัƒั€ะฑะพ"$N$Nั‡ัƒั‚ัŒ-ั‡ัƒั‚ัŒ ะฟะพะฒั‹ัˆะฐะตั‚ ะฝะฐะดั‘ะถะฝะพัั‚ัŒ ั‚ัƒั€ะฑะพ-ะทะฐะณั€ัƒะทะพะบ ั ะฟะพะผะพั‰ัŒัŽ ัะฒะตั€ะบะธ ะดะฐั‚ ะธะทะผะตะฝะตะฝะธะน ะผะตะถะดัƒ ั„ะฐะนะปะฐะผะธ ะฝะฐ ัะตั€ะฒะตั€ะต ะธ ะฒะฐัˆะธะผะธ$N$Nะฒ ั‚ะตะพั€ะธะธ ะดะพัั‚ะฐั‚ะพั‡ะฝะพ ะดะปั ะฟั€ะพะฒะตั€ะบะธ ะฑะพะปัŒัˆะธะฝัั‚ะฒะฐ ะฝะตะทะฐะฒะตั€ัˆั‘ะฝะฝั‹ั… / ะฟะพะฒั€ะตะถะดั‘ะฝะฝั‹ั… ะทะฐะณั€ัƒะทะพะบ, ะฝะพ ะฝะต ัะฒะปัะตั‚ัั ะฐะปัŒั‚ะตั€ะฝะฐั‚ะธะฒะพะน ะฒะฐะปะธะดะฐั†ะธะธ ั„ะฐะนะปะพะฒ ะฟะพัะปะต ั‚ัƒั€ะฑะพ-ะทะฐะณั€ัƒะทะบะธ\">ะฟั€ะพะฒะตั€. ะดะฐั‚", + + "cut_u2sz": "ั€ะฐะทะผะตั€ (ะฒ ะœะธะ‘) ะบะฐะถะดะพะน ะทะฐะณั€ัƒะถะฐะตะผะพะน ั‡ะฐัั‚ะธ; ะฑะพะปัŒัˆะธะต ะทะฝะฐั‡ะตะฝะธั ะฟะพะบะฐะทั‹ะฒะฐัŽั‚ ะปัƒั‡ัˆะธะต ั€ะตะทัƒะปัŒั‚ะฐั‚ั‹ ะดะปั ะดะฐะปัŒะฝะธั… ัะพะตะดะธะฝะตะฝะธะน. ะ•ัะปะธ ะฟะพะดะบะปัŽั‡ะตะฝะธะต ะฝะตัั‚ะฐะฑะธะปัŒะฝะพะต, ะฟะพะฟั€ะพะฑัƒะนั‚ะต ะทะฝะฐั‡ะตะฝะธะต ะฟะพะฝะธะถะต", + + "cut_flag": "ั€ะฐะทั€ะตัˆะธั‚ัŒ ะพะดะฝะพะฒั€ะตะผะตะฝะฝัƒัŽ ะทะฐะณั€ัƒะทะบัƒ ั‚ะพะปัŒะบะพ ะธะท ะพะดะฝะพะน ะฒะบะปะฐะดะบะธ ะทะฐ ั€ะฐะท $N -- ะพะฑัะทะฐั‚ะตะปัŒะฝะพ ะฒะบะปัŽั‡ะธั‚ัŒ ัั‚ัƒ ะพะฟั†ะธัŽ ะฒ ะพัั‚ะฐะปัŒะฝั‹ั… ะฒะบะปะฐะดะบะฐั… $N -- ั€ะฐะฑะพั‚ะฐะตั‚ ั‚ะพะปัŒะบะพ ะฒ ะฟั€ะตะดะตะปะฐั… ะพะดะฝะพะณะพ ะดะพะผะตะฝะฐ", + + "cut_az": "ะทะฐะณั€ัƒะถะฐั‚ัŒ ั„ะฐะนะปั‹ ะฒ ะฐะปั„ะฐะฒะธั‚ะฝะพะผ ะฟะพั€ัะดะบะต ะฒะผะตัั‚ะพ "ะพั‚ ะผะตะฝัŒัˆะตะณะพ ะบ ะฑะพะปัŒัˆะตะผัƒ"$N$Nัั‚ะพ ะฟะพะทะฒะพะปะธั‚ ะฟั€ะพั‰ะต ะพั‚ัะปะตะดะธั‚ัŒ ะฟั€ะพะฑะปะตะผั‹ ะฒะพ ะฒั€ะตะผั ะทะฐะณั€ัƒะทะบะธ, ะฝะพ ัะบะพั€ะพัั‚ัŒ ัะปะตะณะบะฐ ะฝะธะถะต ะฝะฐ ะพั‡ะตะฝัŒ ะฑั‹ัั‚ั€ั‹ั… ัะพะตะดะธะฝะตะฝะธัั… (ะฝะฐะฟั€ะธะผะตั€, ะฒ ะปะพะบะฐะปัŒะฝะพะน ัะตั‚ะธ)", + + "cut_nag": "ัะธัั‚ะตะผะฝะพะต ัƒะฒะตะดะพะผะปะตะฝะธะต ะฟะพ ะทะฐะฒะตั€ัˆะตะฝะธะธ ะทะฐะณั€ัƒะทะบะธ$N(ั‚ะพะปัŒะบะพ ะฟั€ะธ ะฝะตะฐะบั‚ะธะฒะฝะพะน ะฒะบะปะฐะดะบะต ะฑั€ะฐัƒะทะตั€ะฐ)", + "cut_sfx": "ะทะฒัƒะบะพะฒะพะต ัƒะฒะตะดะพะผะปะตะฝะธะต ะฟะพ ะทะฐะฒะตั€ัˆะตะฝะธะธ ะทะฐะณั€ัƒะทะบะธ$N(ั‚ะพะปัŒะบะพ ะฟั€ะธ ะฝะตะฐะบั‚ะธะฒะฝะพะน ะฒะบะปะฐะดะบะต ะฑั€ะฐัƒะทะตั€ะฐ)", + + "cut_mt": "ะธัะฟะพะปัŒะทะพะฒะฐั‚ัŒ ะผะฝะพะณะพะฟะพั‚ะพั‡ะฝะพัั‚ัŒ ะดะปั ัƒัะบะพั€ะตะฝะธั ั…ะตัˆะธั€ะพะฒะฐะฝะธั$N$NะธัะฟะพะปัŒะทัƒะตั‚ Web Worker'ั‹ ะธ ั‚ั€ะตะฑัƒะตั‚ ะฑะพะปัŒัˆะต ะฟะฐะผัั‚ะธ (ะดะพ 512 ะœะธะ‘)$N$Nัƒัะบะพั€ัะตั‚ https ะฝะฐ 30%, http - ะฒ 4,5 ั€ะฐะท\">ะผะฟ", + + "cut_wasm": "ะธัะฟะพะปัŒะทะพะฒะฐั‚ัŒ ะผะพะดัƒะปัŒ WASM ะฒะผะตัั‚ะพ ะฒัั‚ั€ะพะตะฝะฝะพะน ะฒ ะฑั€ะฐัƒะทะตั€ ั„ัƒะฝะบั†ะธะธ ั…ะตัˆะธั€ะพะฒะฐะฝะธั; ัƒัะบะพั€ัะตั‚ ะฟั€ะพั†ะตัั ะฒ ะฑั€ะฐัƒะทะตั€ะฐั… ะฝะฐ ะพัะฝะพะฒะต Chromium, ะฝะพ ัƒะฒะตะปะธั‡ะธะฒะฐะตั‚ ะฝะฐะณั€ัƒะทะบัƒ ะฝะฐ ะฟั€ะพั†ะตััะพั€. ะกั‚ะฐั€ั‹ะต ะฒะตั€ัะธะธ Chrome ัะพะดะตั€ะถะฐั‚ ะฑะฐะณะธ, ะบะพั‚ะพั€ั‹ะต ะทะฐะฟะพะปะฝััŽั‚ ะฒััŽ ะพะฟะตั€ะฐั‚ะธะฒะฝัƒัŽ ะฟะฐะผัั‚ัŒ ะธ ะบั€ะฐัˆะฐั‚ ะฑั€ะฐัƒะทะตั€, ะบะพะณะดะฐ ะฒะบะปัŽั‡ะตะฝะฐ ัั‚ะฐ ะพะฟั†ะธั\">wasm", + + "cft_text": "ั‚ะตะบัั‚ ะดะปั ะธะบะพะฝะบะธ (ะพั‡ะธัั‚ะธั‚ะต ะฟะพะปะต ะธ ะฟะตั€ะตะทะฐะณั€ัƒะทะธั‚ะต ัั‚ั€ะฐะฝะธั†ัƒ ะดะปั ะฟั€ะธะผะตะฝะตะฝะธั)", + "cft_fg": "ั†ะฒะตั‚ ั‚ะตะบัั‚ะฐ", + "cft_bg": "ั†ะฒะตั‚ ั„ะพะฝะฐ", + + "cdt_lim": "ะผะฐะบัะธะผะฐะปัŒะฝะพะต ะบะพะปะธั‡ะตัั‚ะฒะพ ั„ะฐะนะปะพะฒ ะดะปั ะฟะพะบะฐะทะฐ ะฒ ะฟะฐะฟะบะต", + "cdt_ask": "ะฒะฝะธะทัƒ ัั‚ั€ะฐะฝะธั†ั‹ ัะฟั€ะฐัˆะธะฒะฐั‚ัŒ ะพ ะดะตะนัั‚ะฒะธะธ ะฒะผะตัั‚ะพ ะฐะฒั‚ะพะผะฐั‚ะธั‡ะตัะบะพะน ะทะฐะณั€ัƒะทะบะธ ัะปะตะดัƒัŽั‰ะธั… ั„ะฐะนะปะพะฒ", + "cdt_hsort": "ัะบะพะปัŒะบะพ ะฟั€ะฐะฒะธะป ัะพั€ั‚ะธั€ะพะฒะบะธ (<code>,sorthref</code>) ะฒะบะปัŽั‡ะฐั‚ัŒ ะฒ ะฐะดั€ะตั ัั‚ั€ะฐะฝะธั†ั‹. ะ•ัะปะธ ะทะฝะฐั‡ะตะฝะธะต ั€ะฐะฒะฝะพ 0, ะฟะพ ะฝะฐะถะฐั‚ะธะธ ะฝะฐ ััั‹ะปะบะธ ะฑัƒะดัƒั‚ ะธะณะฝะพั€ะธั€ะพะฒะฐั‚ัŒัั ะฟั€ะฐะฒะธะปะฐ, ะฒะบะปัŽั‡ั‘ะฝะฝั‹ะต ะฒ ะฝะธั…", + "cdt_ren": "ะฒะบะปัŽั‡ะธั‚ัŒ ะฝะฐัั‚ั€ะฐะธะฒะฐะตะผะพะต ะบะพะฝั‚ะตะบัั‚ะฝะพะต ะผะตะฝัŽ, ะพะฑั‹ั‡ะฝะพะต ะผะตะฝัŽ ะดะพัั‚ัƒะฟะฝะพ ะฟั€ะธ ะฝะฐะถะฐั‚ะธะธ shift ะธ ะฟั€ะฐะฒะพะน ะบะฝะพะฟะบะธ ะผั‹ัˆะธ", //m + + "tt_entree": "ะฟะพะบะฐะทะฐั‚ัŒ ะฟะฐะฝะตะปัŒ ะฝะฐะฒะธะณะฐั†ะธะธ$Nะ“ะพั€ัั‡ะฐั ะบะปะฐะฒะธัˆะฐ: B", + "tt_detree": "ัะบั€ั‹ั‚ัŒ ะฟะฐะฝะตะปัŒ ะฝะฐะฒะธะณะฐั†ะธะธ$Nะ“ะพั€ัั‡ะฐั ะบะปะฐะฒะธัˆะฐ: B", + "tt_visdir": "ะฟั€ะพะบั€ัƒั‚ะธั‚ัŒ ะดะพ ะฒั‹ะดะตะปะตะฝะฝะพะน ะฟะฐะฟะบะธ", + "tt_ftree": "ะฟะตั€ะตะบะปัŽั‡ะธั‚ัŒ ะผะตะถะดัƒ ะธะตั€ะฐั€ั…ะธะตะน ะธ ัะฟะธัะบะพะผ ั‚ะตะบัั‚ะพะฒั‹ั… ั„ะฐะนะปะพะฒ$Nะ“ะพั€ัั‡ะฐั ะบะปะฐะฒะธัˆะฐ: V", + "tt_pdock": "ะทะฐะบั€ะตะฟะธั‚ัŒ ั€ะพะดะธั‚ะตะปัŒัะบะธะต ะฟะฐะฟะบะธ ัะฒะตั€ั…ัƒ ะฟะฐะฝะตะปะธ", + "tt_dynt": "ะฐะฒั‚ะพะผะฐั‚ะธั‡ะตัะบะพะต ั€ะฐััˆะธั€ะตะฝะธะต ะฟะฐะฝะตะปะธ", + "tt_wrap": "ะฟะตั€ะตะฝะพั ัะปะพะฒ", + "tt_hover": "ั€ะฐัะบั€ั‹ะฒะฐั‚ัŒ ะพะฑั€ะตะทะฐะฝะฝั‹ะต ัั‚ั€ะพะบะธ ะฟั€ะธ ะฝะฐะฒะตะดะตะฝะธะธ$N( ะปะพะผะฐะตั‚ ัะบั€ะพะปะปะธะฝะณ, ะตัะปะธ $N  ะบัƒั€ัะพั€ ะฝะต ะฒ ะฟัƒัั‚ะพั‚ะต ัะปะตะฒะฐ )", + + "ml_pmode": "ะฒ ะบะพะฝั†ะต ะฟะฐะฟะบะธ...", + "ml_btns": "ะบะพะผะฐะฝะดั‹", + "ml_tcode": "ั‚ั€ะฐะฝัะบะพะดะธั€ะพะฒะฐั‚ัŒ", + "ml_tcode2": "ั‚ั€ะฐะฝัะบะพะด. ะฒ", + "ml_tint": "ะทะฐั‚ะตะผะฝ.", + "ml_eq": "ัะบะฒะฐะปะฐะนะทะตั€", + "ml_drc": "ะบะพะผะฟั€ะตััะพั€", + + "mt_loop": "ะฟะพะฒั‚ะพั€ัั‚ัŒ ะพะดะธะฝ ั‚ั€ะตะบ\">๐Ÿ”", + "mt_one": "ะพัั‚ะฐะฝะพะฒะธั‚ัŒ ะฟะพัะปะต ัั‚ะพะณะพ ั‚ั€ะตะบะฐ\">1๏ธโƒฃ", + "mt_shuf": "ะฟะตั€ะตะผะตัˆะฐั‚ัŒ ั‚ั€ะตะบะธ ะฒะพ ะฒัะตั… ะฟะฐะฟะบะฐั…\">๐Ÿ”€", + "mt_aplay": "ะฐะฒั‚ะพะผะฐั‚ะธั‡ะตัะบะธ ะธะณั€ะฐั‚ัŒ ั‚ั€ะตะบะธ ะฟะพ ะฝะฐะถะฐั‚ะธะธ ะฝะฐ ััั‹ะปะบะธ ั ะธั… ID$N$Nะฟั€ะธ ะพั‚ะบะปัŽั‡ะตะฝะธะธ ะฐะดั€ะตั ัะฐะนั‚ะฐ ั‚ะฐะบะถะต ะฟะตั€ะตัั‚ะฐะฝะตั‚ ะพะฑะฝะพะฒะปัั‚ัŒัั ะฒ ัะพะพั‚ะฒะตั‚ัั‚ะฒะธะธ ั ั‚ะตะบัƒั‰ะธะผ ั‚ั€ะตะบะพะผ\">aโ–ถ", + "mt_preload": "ะฟะพะดะณั€ัƒะถะฐั‚ัŒ ัะปะตะดัƒัŽั‰ะธะน ั‚ั€ะตะบ ะฟะตั€ะตะด ะบะพะฝั†ะพะผ ั‚ะตะบัƒั‰ะตะณะพ ะดะปั ะฑะตััˆะพะฒะฝะพะณะพ ะฟะตั€ะตะบะปัŽั‡ะตะฝะธั\">ะฟั€ะตะดะทะฐะณั€.", + "mt_prescan": "ะฟะตั€ะตั…ะพะดะธั‚ัŒ ะฒ ัะปะตะดัƒัŽั‰ัƒัŽ ะฟะฐะฟะบัƒ ะฟะตั€ะตะด ะพะบะพะฝั‡ะฐะฝะธะตะผ ะฟะพัะปะตะดะฝะตะณะพ ั‚ั€ะตะบะฐ$Nะฝะต ะดะฐั‘ั‚ ะฑั€ะฐัƒะทะตั€ัƒ ะฟั€ะตั€ะฒะฐั‚ัŒ ัะปะตะดัƒัŽั‰ะธะน ะฟะปะตะนะปะธัั‚\">ะฝะฐะฒ.", + "mt_fullpre": "ะฟะพะดะณั€ัƒะถะฐั‚ัŒ ัะปะตะดัƒัŽั‰ะธะน ั‚ั€ะตะบ ั†ะตะปะธะบะพะผ;$Nโœ… ะฟะพะปะตะทะฝะพ ะฟั€ะธ ะฝะตัั‚ะฐะฑะธะปัŒะฝะพะผ ะฟะพะดะบะปัŽั‡ะตะฝะธะธ,$NโŒ ะฟั€ะธ ะผะตะดะปะตะฝะฝะพะน ัะบะพั€ะพัั‚ะธ ะปัƒั‡ัˆะต ะฒั‹ะบะปัŽั‡ะธั‚ัŒ\">ั†ะตะป.", + "mt_fau": "ะดะปั ั‚ะตะปะตั„ะพะฝะพะฒ: ะฝะฐั‡ะธะฝะฐั‚ัŒ ัะปะตะดัƒัŽั‰ะธะน ั‚ั€ะตะบ ัั€ะฐะทัƒ, ะดะฐะถะต ะตัะปะธ ะพะฝ ะฝะต ัƒัะฟะตะป ะฟะพะดะณั€ัƒะทะธั‚ัŒัั ั†ะตะปะธะบะพะผ (ะผะพะถะตั‚ ัะปะพะผะฐั‚ัŒ ะพั‚ะพะฑั€ะฐะถะตะฝะธะต ั‚ะตะณะพะฒ)\">โ˜•๏ธ", + "mt_waves": "ะฒะธะทัƒะฐะปะธะทะฐั†ะธั:$Nะฟะพะบะฐะทั‹ะฒะฐั‚ัŒ ะฒะพะปะฝัƒ ะณั€ะพะผะบะพัั‚ะธ ะฝะฐ ะฟะพะปะพัะต ะฒะพัะฟั€ะพะธะทะฒะตะดะตะฝะธั\">~", + "mt_npclip": "ะฟะพะบะฐะทะฐั‚ัŒ ะบะฝะพะฟะบะธ ะบะพะฟะธั€ะพะฒะฐะฝะธั ะดะปั ั‚ะตะบัƒั‰ะตะณะพ ั‚ั€ะตะบะฐ\">/np", + "mt_m3u_c": "ะฟะพะบะฐะทะฐั‚ัŒ ะบะฝะพะฟะบะธ ะบะพะฟะธั€ะพะฒะฐะฝะธั ะดะปั ะฒั‹ะดะตะปะตะฝะฝั‹ั… ั‚ั€ะตะบะพะฒ$Nะฒ ั„ะพั€ะผะฐั‚ะต ะฟะปะตะนะปะธัั‚ะพะฒ m3u8\">๐Ÿ“ป", + "mt_octl": "ะธะฝั‚ะตะณั€ะฐั†ะธั ั ะžะก (ะฟะพะดะดะตั€ะถะบะฐ ะผะตะดะธะฐ-ะบะปะฐะฒะธัˆ ะธ ะผัƒะทั‹ะบะฐะปัŒะฝั‹ั… ะฒะธะดะถะตั‚ะพะฒ)\">ะธะฝั‚ะตะณั€.", + "mt_oseek": "ะฟะพะทะฒะพะปะธั‚ัŒ ะฟะตั€ะตะผะฐั‚ั‹ะฒะฐั‚ัŒ ั‚ั€ะตะบะธ ั‡ะตั€ะตะท ัะธัั‚ะตะผะฝั‹ะต ะฒะธะดะถะตั‚ั‹$N$Nะฒะฝะธะผะฐะฝะธะต: ะฝะฐ ะฝะตะบะพั‚ะพั€ั‹ั… ัƒัั‚ั€ะพะนัั‚ะฒะฐั… (iPhone)$Nัั‚ะพ ะทะฐะผะตะฝะธั‚ ะบะฝะพะฟะบัƒ ัะปะตะดัƒัŽั‰ะตะณะพ ั‚ั€ะตะบะฐ\">ะฟะตั€ะตะผะพั‚ะบะฐ", + "mt_oscv": "ะฟะพะบะฐะทั‹ะฒะฐั‚ัŒ ะบะฐั€ั‚ะธะฝะบะธ ะฐะปัŒะฑะพะผะพะฒ ะฒ ะฒะธะดะถะตั‚ะฐั…\">ะฐั€ั‚", + "mt_follow": "ะดะตั€ะถะฐั‚ัŒ ั„ะพะบัƒั ะฝะฐ ะธะณั€ะฐัŽั‰ะตะผ ั‚ั€ะตะบะต\">๐ŸŽฏ", + "mt_compact": "ะบะพะผะฟะฐะบั‚ะฝั‹ะน ะฟะปะตะตั€\">โŸŽ", + "mt_uncache": "ะพั‡ะธัั‚ะธั‚ัŒ ะบะตัˆ  (ะตัะปะธ ะฑั€ะฐัƒะทะตั€ ะบะตัˆะธั€ะพะฒะฐะป ะฟะพะฒั€ะตะถะดั‘ะฝะฝั‹ะน$Nั‚ั€ะตะบ ะธ ะพั‚ะบะฐะทั‹ะฒะฐะตั‚ัั ะตะณะพ ะทะฐะฟัƒัะบะฐั‚ัŒ)\">ัƒะด. ะบะตัˆ", + "mt_mloop": "ะฟะพะฒั‚ะพั€ัั‚ัŒ ั‚ั€ะตะบะธ ะฒ ะฟะฐะฟะบะต\">๐Ÿ” ั†ะธะบะป", + "mt_mnext": "ะทะฐะณั€ัƒะทะธั‚ัŒ ัะปะตะดัƒัŽั‰ัƒัŽ ะฟะฐะฟะบัƒ ะธ ะฟั€ะพะดะพะปะถะธั‚ัŒ ะฒ ะฝะตะน\">๐Ÿ“‚ ัะปะตะด.", + "mt_mstop": "ะฟั€ะธะพัั‚ะฐะฝะพะฒะธั‚ัŒ ะฒะพัะฟั€ะพะธะทะฒะตะดะตะฝะธะต\">โธ ัั‚ะพะฟ", + "mt_cflac": "ะบะพะฝะฒะตั€ั‚ะธั€ะพะฒะฐั‚ัŒ flac / wav ะฒ {0}\">flac", + "mt_caac": "ะบะพะฝะฒะตั€ั‚ะธั€ะพะฒะฐั‚ัŒ aac / m4a ะฒ {0}\">aac", + "mt_coth": "ะบะพะฝะฒะตั€ั‚ะธั€ะพะฒะฐั‚ัŒ ะฒัั‘ ะพัั‚ะฐะปัŒะฝะพะต (ะบั€ะพะผะต mp3) ะฒ {0}\">ะดั€.", + "mt_c2opus": "ะปัƒั‡ัˆะธะน ะฒะฐั€ะธะฐะฝั‚ ะดะปั ะบะพะผะฟัŒัŽั‚ะตั€ะพะฒ ะธ ัƒัั‚ั€ะพะนัั‚ะฒ ะฝะฐ Android\">opus", + "mt_c2owa": "opus-weba, ะดะปั iOS 17.5 ะธ ะฒั‹ัˆะต\">owa", + "mt_c2caf": "opus-caf, ะดะปั iOS 11-17\">caf", + "mt_c2mp3": "ะดะปั ะพั‡ะตะฝัŒ ัั‚ะฐั€ั‹ั… ัƒัั‚ั€ะพะนัั‚ะฒ\">mp3", + "mt_c2flac": "ะปัƒั‡ัˆะตะต ะบะฐั‡ะตัั‚ะฒะพ ะทะฒัƒะบะฐ, ะฝะพ ะฑะพะปัŒัˆะธะต ั„ะฐะนะปั‹\">flac", //m + "mt_c2wav": "ะฝะต ัะถะฐั‚ะพะต ะฒะพัะฟั€ะพะธะทะฒะตะดะตะฝะธะต (ะตั‰ั‘ ะฑะพะปัŒัˆะต)\">wav", //m + "mt_c2ok": "ั…ะพั€ะพัˆะธะน ะฒั‹ะฑะพั€", + "mt_c2nd": "ัั‚ะพ ะฝะต ั€ะตะบะพะผะตะฝะดะพะฒะฐะฝะฝั‹ะน ะฒะฐั€ะธะฐะฝั‚ ั„ะพั€ะผะฐั‚ะฐ ะดะปั ะฒะฐัˆะตะณะพ ัƒัั‚ั€ะพะนัั‚ะฒะฐ, ะฝะพ ัะพะนะดั‘ั‚", + "mt_c2ng": "ะฝะต ะฟะพั…ะพะถะต, ั‡ั‚ะพ ะฒะฐัˆะต ัƒัั‚ั€ะพะนัั‚ะฒะพ ะฟะพะดะดะตั€ะถะธะฒะฐะตั‚ ัั‚ะพั‚ ั„ะพั€ะผะฐั‚, ะฝะพ ะดะฐะฒะฐะนั‚ะต ะฟะพะฟั€ะพะฑัƒะตะผ ะธ ัƒะทะฝะฐะตะผ ะฝะฐะฒะตั€ะฝัะบะฐ", + "mt_xowa": "ะฒ iOS ะตัั‚ัŒ ะฑะฐะณะธ, ะฟั€ะตะฟัั‚ัั‚ะฒัƒัŽั‰ะธะต ั„ะพะฝะพะฒะพะผัƒ ะฒะพัะฟั€ะพะธะทะฒะตะดะตะฝะธัŽ ัั‚ะพะณะพ ั„ะพั€ะผะฐั‚ะฐ. ะŸะพะถะฐะปัƒะนัั‚ะฐ, ะธัะฟะพะปัŒะทัƒะนั‚ะต caf ะธะปะธ mp3", + "mt_tint": "ะฝะตะฟั€ะพะทั€ะฐั‡ะฝะพัั‚ัŒ ั„ะพะฝะฐ (0-100) ะฝะฐ ะฟะพะปะพัะต ะฒะพัะฟั€ะพะธะทะฒะตะดะตะฝะธั$N$Nะดะตะปะฐะตั‚ ะฑัƒั„ะตั€ะธะทะฐั†ะธัŽ ะผะตะฝะตะต ะพั‚ะฒะปะตะบะฐัŽั‰ะตะน", + "mt_eq": "ะฒะบะปัŽั‡ะธั‚ัŒ ัะบะฒะฐะปะฐะนะทะตั€$N$Nboost <code>0</code> = ัั‚ะฐะฝะดะฐั€ั‚ะฝะฐั ะณั€ะพะผะบะพัั‚ัŒ$N$Nwidth <code>1  </code> = ะพะฑั‹ั‡ะฝะพะต ัั‚ะตั€ะตะพ$Nwidth <code>0.5</code> = ะผะธะบัˆะธั€ะพะฒะฐะฝะธะต ะปะตะฒะพะณะพ ะธ ะฟั€ะฐะฒะพะณะพ ะบะฐะฝะฐะปะพะฒ ะฝะฐ 50%$Nwidth <code>0  </code> = ะผะพะฝะพ$N$Nboost <code>-0.8</code> ะธ width <code>10</code> = ัƒะดะฐะปะตะฝะธะต ะณะพะปะพัะฐ :^)$N$NะฒะบะปัŽั‡ั‘ะฝะฝั‹ะน ัะบะฒะฐะปะฐะนะทะตั€ ะฟะพะปะฝะพัั‚ัŒัŽ ัƒะฑะธั€ะฐะตั‚ ะทะฐะดะตั€ะถะบัƒ ะผะตะถะดัƒ ั‚ั€ะตะบะฐะผะธ, ะฟะพัั‚ะพะผัƒ ัะปะตะดัƒะตั‚ ะตะณะพ ะฒะบะปัŽั‡ะธั‚ัŒ ัะพ ะฒัะตะผะธ ะทะฝะฐั‡ะตะฝะธัะผะธ ะฝะฐ 0 (ะบั€ะพะผะต width = 1), ะตัะปะธ ะฒะฐะผ ะฝัƒะถะฝะพ ะฑะตััˆะพะฒะฝะพะต ะฒะพัะฟั€ะพะธะทะฒะตะดะตะฝะธะต", + "mt_drc": "ะฒะบะปัŽั‡ะธั‚ัŒ ะบะพะผะฟั€ะตััะพั€; ั‚ะฐะบะถะต ะฒะบะปัŽั‡ะธั‚ ัะบะฒะฐะปะฐะนะทะตั€ ะดะปั ะฑะฐะปะฐะฝัะฐ ะฒัะตะปะตะฝะฝะพะน, ั‚ะฐะบ ั‡ั‚ะพ ะฒั‹ัั‚ะฐะฒัŒั‚ะต ะฒัั‘ ะฝะฐ 0 ะบั€ะพะผะต width, ะตัะปะธ ะพะฝ ะฒะฐะผ ะฝะต ะฝัƒะถะตะฝ$N$Nะฟะพะฝะธะถะฐะตั‚ ะณั€ะพะผะบะพัั‚ัŒ ะฟั€ะธ ะฒะพะปะฝะต ะฒั‹ัˆะต ะทะฝะฐั‡ะตะฝะธั dB ะฒ tresh; ะบะฐะถะดั‹ะน dB ะฒ ratio ั€ะฐะฒะตะฝ ะพะดะฝะพะผัƒ dB ะฝะฐ ะฒั‹ั…ะพะดะต, ั‚ะฐะบ ั‡ั‚ะพ ัั‚ะฐะฝะดะฐั€ั‚ะฝั‹ะต ะทะฝะฐั‡ะตะฝะธั tresh = -24 ะธ ratio = 12 ัะดะตะปะฐัŽั‚ ั‚ะฐะบ, ั‡ั‚ะพ ะทะฒัƒะบ ะฝะธะบะพะณะดะฐ ะฝะต ะฑัƒะดะตั‚ ะณั€ะพะผั‡ะต -22 dB. ะŸั€ะธ ั‚ะฐะบะพะผ ั€ะฐัะบะปะฐะดะต ะผะพะถะฝะพ ะฟะพัั‚ะฐะฒะธั‚ัŒ boost ะฒ ัะบะฒะฐะปะฐะนะทะตั€ะต ะฝะฐ 0.8 ะธะปะธ ะดะฐะถะต 1.8 ะฟั€ะธ ะทะฝะฐั‡ะตะฝะธะธ atk = 0 ะธ ะพะณั€ะพะผะฝะพะผ rls ะฒั€ะพะดะต 90 (ั€ะฐะฑะพั‚ะฐะตั‚ ั‚ะพะปัŒะบะพ ะฒ Firefox, rls ะฝะต ะผะพะถะตั‚ ะฑั‹ั‚ัŒ ะฒั‹ัˆะต 1 ะฒ ะดั€ัƒะณะธั… ะฑั€ะฐัƒะทะตั€ะฐั…)$N$N(ะทะฐะณะปัะฝะธั‚ะต ะฒ ะฒะธะบะธะฟะตะดะธัŽ, ั‚ะฐะผ ะฒัั‘ ะพะฑัŠััะฝะตะฝะพ ะฟะพะดั€ะพะฑะฝะตะต)", + + "mb_play": "ะธะณั€ะฐั‚ัŒ", + "mm_hashplay": "ะฒะพัะฟั€ะพะธะทะฒะตัั‚ะธ ัั‚ะพั‚ ะผัƒะทั‹ะบะฐะปัŒะฝั‹ะน ั„ะฐะนะป?", + "mm_m3u": "ะฝะฐะถะผะธั‚ะต Enter/OK, ั‡ั‚ะพะฑั‹ ะธะณั€ะฐั‚ัŒ\nะฝะฐะถะผะธั‚ะต ESC/ะžั‚ะผะตะฝะฐ, ั‡ั‚ะพะฑั‹ ั€ะตะดะฐะบั‚ะธั€ะพะฒะฐั‚ัŒ", + "mp_breq": "ั‚ั€ะตะฑัƒะตั‚ัั Firefox 82+, Chrome 73+ ะธะปะธ iOS 15+", + "mm_bload": "ะทะฐะณั€ัƒะถะฐัŽ...", + "mm_bconv": "ะบะพะฝะฒะตั€ั‚ะธั€ัƒัŽ ะฒ {0}, ะฟะพะดะพะถะดะธั‚ะต...", + "mm_opusen": "ะฒะฐัˆ ะฑั€ะฐัƒะทะตั€ ะฝะต ะผะพะถะตั‚ ะฒะพัะฟั€ะพะธะทะฒะพะดะธั‚ัŒ ั„ะฐะนะปั‹ aac / m4a;\nะฒะบะปัŽั‡ะตะฝะพ ั‚ั€ะฐะฝัะบะพะดะธั€ะพะฒะฐะฝะธะต ะฒ opus", + "mm_playerr": "ะพัˆะธะฑะบะฐ ะฒะพัะฟั€ะพะธะทะฒะตะดะตะฝะธั: ", + "mm_eabrt": "ะŸะพะฟั‹ั‚ะบะฐ ะฒะพัะฟั€ะพะธะทะฒะตะดะตะฝะธั ะฑั‹ะปะฐ ะพั‚ะผะตะฝะตะฝะฐ", + "mm_enet": "ะ’ะฐัˆะต ะฟะพะดะบะปัŽั‡ะตะฝะธะต ะฝะตัั‚ะฐะฑะธะปัŒะฝะพ", + "mm_edec": "ะญั‚ะพั‚ ั„ะฐะนะป, ะฒะพะทะผะพะถะฝะพ, ะฟะพะฒั€ะตะถะดั‘ะฝ??", + "mm_esupp": "ะ’ะฐัˆ ะฑั€ะฐัƒะทะตั€ ะฝะต ั€ะฐัะฟะพะทะฝะฐั‘ั‚ ัั‚ะพั‚ ะฐัƒะดะธะพ-ั„ะพั€ะผะฐั‚", + "mm_eunk": "ะะตะพะฟะพะทะฝะฐะฝะฝะฐั ะพัˆะธะฑะบะฐ", + "mm_e404": "ะะต ัƒะดะฐะปะพััŒ ะฒะพัะฟั€ะพะธะทะฒะตัั‚ะธ ะฐัƒะดะธะพ; ะพัˆะธะฑะบะฐ 404: ะคะฐะนะป ะฝะต ะฝะฐะนะดะตะฝ.", + "mm_e403": "ะะต ัƒะดะฐะปะพััŒ ะฒะพัะฟั€ะพะธะทะฒะตัั‚ะธ ะฐัƒะดะธะพ; ะพัˆะธะฑะบะฐ 403: ะ”ะพัั‚ัƒะฟ ะทะฐะฟั€ะตั‰ั‘ะฝ.\n\nะŸะพะฟั€ะพะฑัƒะนั‚ะต ะฟะตั€ะตะทะฐะณั€ัƒะทะธั‚ัŒ ัั‚ั€ะฐะฝะธั†ัƒ, ะฒะพะทะผะพะถะฝะพ, ะฒะฐัˆะฐ ัะตััะธั ะธัั‚ะตะบะปะฐ", + "mm_e500": "ะะต ัƒะดะฐะปะพััŒ ะฒะพัะฟั€ะพะธะทะฒะตัั‚ะธ ะฐัƒะดะธะพ; ะพัˆะธะฑะบะฐ 500: ะŸั€ะพะฒะตั€ัŒั‚ะต ะปะพะณะธ ัะตั€ะฒะตั€ะฐ.", + "mm_e5xx": "ะะต ัƒะดะฐะปะพััŒ ะฒะพัะฟั€ะพะธะทะฒะตัั‚ะธ ะฐัƒะดะธะพ; ะพัˆะธะฑะบะฐ ัะตั€ะฒะตั€ะฐ ", + "mm_nof": "ะฑะพะปัŒัˆะต ะฐัƒะดะธะพ-ั„ะฐะนะปะพะฒ ะฝะต ะฝะฐะนะดะตะฝะพ", + "mm_prescan": "ะŸะพะธัะบ ะผัƒะทั‹ะบะธ ะดะปั ะฒะพัะฟั€ะพะธะทะฒะตะดะตะฝะธั ะดะฐะปัŒัˆะต...", + "mm_scank": "ะะฐะนะดะตะฝ ัะปะตะดัƒัŽั‰ะธะน ั‚ั€ะตะบ:", + "mm_uncache": "ะบะตัˆ ะพั‡ะธั‰ะตะฝ; ะฒัะต ั‚ั€ะตะบะธ ะฑัƒะดัƒั‚ ะทะฐะณั€ัƒะถะตะฝั‹ ะทะฐะฝะพะฒะพ ะฟั€ะธ ะฒะพัะฟั€ะพะธะทะฒะตะดะตะฝะธะธ", + "mm_hnf": "ัั‚ะพ ั‚ั€ะตะบ ะฑะพะปัŒัˆะต ะฝะต ััƒั‰ะตัั‚ะฒัƒะตั‚", + + "im_hnf": "ัั‚ะพ ะธะทะพะฑั€ะฐะถะตะฝะธะต ะฑะพะปัŒัˆะต ะฝะต ััƒั‰ะตัั‚ะฒัƒะตั‚", + + "f_empty": 'ัั‚ะฐ ะฟะฐะฟะบะฐ ะฟัƒัั‚ะฐ', + "f_chide": 'ัั‚ะพ ัะบั€ะพะตั‚ ัั‚ะพะปะฑะตั† ยซ{0}ยป\n\nะฒั‹ ะผะพะถะตั‚ะต ะฟะพะบะฐะทะฐั‚ัŒ ัะบั€ั‹ั‚ั‹ะต ัั‚ะพะปะฑั†ั‹ ะฒ ะฝะฐัั‚ั€ะพะนะบะฐั…', + "f_bigtxt": "ะพะฑัŠั‘ะผ ะดะฐะฝะฝะพะณะพ ั„ะฐะนะปะฐ - {0} ะœะธะ‘. ั‚ะพั‡ะฝะพ ะพั‚ะบั€ั‹ั‚ัŒ ะบะฐะบ ั‚ะตะบัั‚?", + "f_bigtxt2": "ะฟั€ะพัะผะพั‚ั€ะตั‚ัŒ ั‚ะพะปัŒะบะพ ะบะพะฝะตั† ั„ะฐะนะปะฐ? ัั‚ะพ ั‚ะฐะบะถะต ะฒะบะปัŽั‡ะธั‚ ะพะฑะฝะพะฒะปะตะฝะธะต ะฒ ั€ะตะฐะปัŒะฝะพะผ ะฒั€ะตะผะตะฝะธ, ะฟะพะบะฐะทั‹ะฒะฐั ะฝะพะฒั‹ะต ัั‚ั€ะพะบะธ ัั€ะฐะทัƒ ะฟะพัะปะต ะธั… ะดะพะฑะฐะฒะปะตะฝะธั", + "fbd_more": '
    ะฟะพะบะฐะทะฐะฝะพ {0} ะธะท {1} ั„ะฐะนะปะพะฒ; ะฟะพะบะฐะทะฐั‚ัŒ {2} ะธะปะธ ะฟะพะบะฐะทะฐั‚ัŒ ะฒัั‘
    ', + "fbd_all": '
    ะฟะพะบะฐะทะฐะฝะพ {0} ะธะท {1} ั„ะฐะนะปะพะฒ; ะฟะพะบะฐะทะฐั‚ัŒ ะฒัั‘
    ', + "f_anota": "ั‚ะพะปัŒะบะพ {0} ะธะท {1} ั„ะฐะนะปะพะฒ ะฑั‹ะปะพ ะฒั‹ะดะตะปะตะฝะพ;\nั‡ั‚ะพะฑั‹ ะฒั‹ะดะตะปะธั‚ัŒ ะฒัั‘ ะฟะฐะฟะบัƒ, ะพั‚ะผะพั‚ะฐะนั‚ะต ะดะพ ะฝะธะทะฐ", + + "f_dls": 'ััั‹ะปะบะธ ะฝะฐ ั„ะฐะนะปั‹ ะฒ ะดะฐะฝะฝะพะน ะฟะฐะฟะบะต ะฑั‹ะปะธ\nะทะฐะผะตะฝะตะฝั‹ ััั‹ะปะบะฐะผะธ ะฝะฐ ัะบะฐั‡ะธะฒะฐะฝะธะต', + + "f_partial": "ะงั‚ะพะฑั‹ ะฑะตะทะพะฟะฐัะฝะพ ัะบะฐั‡ะฐั‚ัŒ ั„ะฐะนะป, ะบะพั‚ะพั€ั‹ะน ะฒ ั‚ะตะบัƒั‰ะธะน ะผะพะผะตะฝั‚ ะทะฐะณั€ัƒะถะฐะตั‚ัั, ะฝะฐะถะผะธั‚ะต ะฝะฐ ั„ะฐะนะป ั ั‚ะฐะบะธะผ ะถะต ะฝะฐะทะฒะฐะฝะธะตะผ, ะฝะพ ะฑะตะท ั€ะฐััˆะธั€ะตะฝะธั .PARTIAL. ะŸะพะถะฐะปัƒะนัั‚ะฐ, ะฝะฐะถะผะธั‚ะต ะžั‚ะผะตะฝะฐ ะธะปะธ ESC, ั‡ั‚ะพะฑั‹ ัะดะตะปะฐั‚ัŒ ัั‚ะพ.\n\nะŸั€ะธ ะฝะฐะถะฐั‚ะธะธ OK / Enter, ะฒั‹ ัะบะฐั‡ะฐะตั‚ะต ัั‚ะพั‚ ะฒั€ะตะผะตะฝะฝั‹ะน ั„ะฐะนะป, ะบะพั‚ะพั€ั‹ะน ั ะพะณั€ะพะผะฝะพะน ะฒะตั€ะพัั‚ะฝะพัั‚ัŒัŽ ัะพะดะตั€ะถะธั‚ ะปะธัˆัŒ ะฝะตะฟะพะปะฝั‹ะต ะดะฐะฝะฝั‹ะต.", + + "ft_paste": "ะฒัั‚ะฐะฒะธั‚ัŒ {0} ั„ะฐะนะปะพะฒ$Nะ“ะพั€ัั‡ะฐั ะบะปะฐะฒะธัˆะฐ: ctrl-V", + "fr_eperm": 'ะฝะต ัƒะดะฐะปะพััŒ ะฟะตั€ะตะธะผะตะฝะพะฒะฐั‚ัŒ:\nัƒ ะฒะฐั ะฝะตั‚ ั€ะฐะทั€ะตัˆะตะฝะธั โ€œmoveโ€ ะฒ ัั‚ะพะน ะฟะฐะฟะบะต', + "fd_eperm": 'ะฝะต ัƒะดะฐะปะพััŒ ัƒะดะฐะปะธั‚ัŒ:\nัƒ ะฒะฐั ะฝะตั‚ ั€ะฐะทั€ะตัˆะตะฝะธั โ€œdeleteโ€ ะฒ ัั‚ะพะน ะฟะฐะฟะบะต', + "fc_eperm": 'ะฝะต ัƒะดะฐะปะพััŒ ะฒั‹ั€ะตะทะฐั‚ัŒ:\nัƒ ะฒะฐั ะฝะตั‚ ั€ะฐะทั€ะตัˆะตะฝะธั โ€œmoveโ€ ะฒ ัั‚ะพะน ะฟะฐะฟะบะต', + "fp_eperm": 'ะฝะต ัƒะดะฐะปะพััŒ ะฒัั‚ะฐะฒะธั‚ัŒ:\nัƒ ะฒะฐั ะฝะตั‚ ั€ะฐะทั€ะตัˆะตะฝะธั โ€œwriteโ€ ะฒ ัั‚ะพะน ะฟะฐะฟะบะต', + "fr_emore": "ะฒั‹ะดะตะปะธั‚ะต ั…ะพั‚ั ะฑั‹ ะพะดะธะฝ ั„ะฐะนะป, ั‡ั‚ะพะฑั‹ ะฟะตั€ะตะธะผะตะฝะพะฒะฐั‚ัŒ", + "fd_emore": "ะฒั‹ะดะตะปะธั‚ะต ั…ะพั‚ั ะฑั‹ ะพะดะธะฝ ั„ะฐะนะป, ั‡ั‚ะพะฑั‹ ัƒะดะฐะปะธั‚ัŒ", + "fc_emore": "ะฒั‹ะดะตะปะธั‚ะต ั…ะพั‚ั ะฑั‹ ะพะดะธะฝ ั„ะฐะนะป, ั‡ั‚ะพะฑั‹ ะฒั‹ั€ะตะทะฐั‚ัŒ", + "fcp_emore": "ะฒั‹ะดะตะปะธั‚ะต ั…ะพั‚ั ะฑั‹ ะพะดะธะฝ ั„ะฐะนะป, ั‡ั‚ะพะฑั‹ ัะบะพะฟะธั€ะพะฒะฐั‚ัŒ ะฒ ะฑัƒั„ะตั€", + + "fs_sc": "ะฟะพะดะตะปะธั‚ัŒัั ั‚ะตะบัƒั‰ะตะน ะฟะฐะฟะบะพะน", + "fs_ss": "ะฟะพะดะตะปะธั‚ัŒัั ะฒั‹ะดะตะปะตะฝะฝั‹ะผะธ ั„ะฐะนะปะฐะผะธ", + "fs_just1d": "ะฒั‹ ะฝะต ะผะพะถะตั‚ะต ะฒั‹ะฑั€ะฐั‚ัŒ ะฑะพะปัŒัˆะต ะพะดะฝะพะน ะฟะฐะฟะบะธ\nะธะปะธ ัะผะตัˆะธะฒะฐั‚ัŒ ั„ะฐะนะปั‹ ั ะฟะฐะฟะบะฐะผะธ ะฟั€ะธ ะฒั‹ะดะตะปะตะฝะธะธ", + "fs_abrt": "โŒ ะพั‚ะผะตะฝะธั‚ัŒ", + "fs_rand": "๐ŸŽฒ ัะปัƒั‡. ะธะผั", + "fs_go": "โœ… ัะพะทะดะฐั‚ัŒ ะดะพัั‚ัƒะฟ", + "fs_name": "ะธะผั", + "fs_src": "ะฟัƒั‚ัŒ", + "fs_pwd": "ะฟะฐั€ะพะปัŒ", + "fs_exp": "ัั€ะพะบ", + "fs_tmin": "ะผะธะฝ", + "fs_thrs": "ั‡ะฐัะพะฒ", + "fs_tdays": "ะดะฝะตะน", + "fs_never": "ะฒะตั‡ะฝะพ", + "fs_pname": "ะธะผั ััั‹ะปะบะธ; ะณะตะฝะตั€ะธั€ัƒะตั‚ัั ัะปัƒั‡ะฐะนะฝะพ ะตัะปะธ ะฝะต ัƒะบะฐะทะฐะฝะพ", + "fs_tsrc": "ะฟัƒั‚ัŒ ะบ ั„ะฐะนะปัƒ ะธะปะธ ะฟะฐะฟะบะต, ะบะพั‚ะพั€ั‹ะผะธ ะฝัƒะถะฝะพ ะฟะพะดะตะปะธั‚ัŒัั", + "fs_ppwd": "ะฟะฐั€ะพะปัŒ (ะฝะตะพะฑัะทะฐั‚ะตะปัŒะฝะพ)", + "fs_w8": "ัะพะทะดะฐัŽ ะดะพัั‚ัƒะฟ...", + "fs_ok": "ะฝะฐะถะผะธั‚ะต Enter/OK, ั‡ั‚ะพะฑั‹ ัะบะพะฟะธั€ะพะฒะฐั‚ัŒ\nะฝะฐะถะผะธั‚ะต ESC/ะžั‚ะผะตะฝะฐ, ั‡ั‚ะพะฑั‹ ะทะฐะบั€ั‹ั‚ัŒ", + + "frt_dec": "ะผะพะถะตั‚ ะธัะฟั€ะฐะฒะธั‚ัŒ ะฝะตะบะพั‚ะพั€ั‹ะต ัะปัƒั‡ะฐะธ ั ะฝะตะบะพั€ั€ะตะบั‚ะฝั‹ะผะธ ะธะผะตะฝะฐะผะธ ั„ะฐะนะปะพะฒ\">ะดะตะบะพะดะธั€ะพะฒะฐั‚ัŒ url", + "frt_rst": "ัะฑั€ะพัะธั‚ัŒ ะธะทะผะตะฝั‘ะฝะฝั‹ะต ะธะผะตะฝะฐ ะพะฑั€ะฐั‚ะฝะพ ะบ ะพั€ะธะณะธะฝะฐะปัŒะฝั‹ะผ\">โ†บ ัะฑั€ะพั", + "frt_abrt": "ะพั‚ะผะตะฝะธั‚ัŒ ะพะฟะตั€ะฐั†ะธัŽ ะธ ะทะฐะบั€ั‹ั‚ัŒ ัั‚ะพ ะพะบะฝะพ\">โŒ ะพั‚ะผะตะฝะฐ", + "frb_apply": "ะŸะ•ะ ะ•ะ˜ะœะ•ะะžะ’ะะขะฌ", + "fr_adv": "ะฟะตั€ะตะธะผะตะฝะพะฒะฐะฝะธะต ะผะฐััะพะฒะพะต / ะผะตั‚ะฐะดะฐะฝะฝั‹ั… / ะฟะพ ัˆะฐะฑะปะพะฝัƒ\">ัะบัะฟะตั€ั‚", + "fr_case": "ั‡ัƒะฒัั‚ะฒะธั‚ะตะปัŒะฝั‹ะน ะบ ั€ะตะณะธัั‚ั€ัƒ regex\">ะ ะตะ“ะธะกั‚ะ ", + "fr_win": "ัะพะฒะผะตัั‚ะธะผั‹ะต ั windows ะธะผะตะฝะฐ; ะทะฐะผะตะฝัะตั‚ <>:"\\|?* ัะฟะพะฝัะบะธะผะธ ะฟะพะปะฝะพัˆะธั€ะธะฝะฝั‹ะผะธ ัะธะผะฒะพะปะฐะผะธ\">win", + "fr_slash": "ะทะฐะผะตะฝัะตั‚ / ัะธะผะฒะพะปะพะผ, ะบะพั‚ะพั€ั‹ะน ะฝะต ัะพะทะดะฐั‘ั‚ ะฝะพะฒั‹ะต ะฟะฐะฟะบะธ\">ะฑะตะท /", + "fr_re": "ะฟะพะธัะบ ะฟะพ ัˆะฐะฑะปะพะฝัƒ regex, ะฟั€ะธะผะตะฝัะตะผั‹ะน ะบ ะพั€ะธะณะธะฝะฐะปัŒะฝั‹ะผ ะธะผะตะฝะฐะผ; ะณั€ัƒะฟะฟั‹ ะทะฐั…ะฒะฐั‚ะฐ ะผะพะณัƒั‚ ะฟั€ะธะผะตะฝัั‚ัŒัั ะฒ ะฟะพะปะต ั„ะพั€ะผะฐั‚ะธั€ะพะฒะฐะฝะธั ั ะฟะพะผะพั‰ัŒัŽ <code>(1)</code> ะธ <code>(2)</code> ะธ ั‚ะฐะบ ะดะฐะปะตะต", + "fr_fmt": "ะฒะดะพั…ะฝะพะฒะปะตะฝะพ foobar2000:$N<code>(title)</code> ะทะฐะผะตะฝัะตั‚ัั ะฝะฐะทะฒะฐะฝะธะตะผ ั‚ั€ะตะบะฐ,$N<code>[(artist) - ](title)</code> ะฟั€ะพะฟัƒัะบะฐะตั‚ [ัั‚ัƒ] ั‡ะฐัั‚ัŒ, ะตัะปะธ ะบะพะผะฟะพะทะธั‚ะพั€ ะฝะต ัƒะบะฐะทะฐะฝ$N<code>$lpad((tn),2,0)</code> ะดะพะฑะฐะฒะปัะตั‚ ะฒะตะดัƒั‰ะธะต ะฝัƒะปะธ ะดะพ ะดะฒัƒั… ั†ะธั„ั€", + "fr_pdel": "ัƒะดะฐะปะธั‚ัŒ", + "fr_pnew": "ัะพั…ั€ะฐะฝะธั‚ัŒ ะบะฐะบ", + "fr_pname": "ะฟั€ะตะดะพัั‚ะฐะฒัŒั‚ะต ะฝะฐะทะฒะฐะฝะธะต ะดะปั ะฝะพะฒะพะณะพ ัˆะฐะฑะปะพะฝะฐ", + "fr_aborted": "ะฟั€ะตั€ะฒะฐะฝะพ", + "fr_lold": "ัั‚ะฐั€ะพะต ะธะผั", + "fr_lnew": "ะฝะพะฒะพะต ะธะผั", + "fr_tags": "ั‚ะตะณะธ ะดะปั ะฒั‹ะดะตะปะตะฝะฝั‹ั… ั„ะฐะนะปะพะฒ (ะฝะต ั€ะตะดะฐะบั‚ะธั€ัƒะตั‚ัั, ัั‚ะพ ะดะปั ะธะฝัั‚ั€ัƒะบั†ะธะธ):", + "fr_busy": "ะฟะตั€ะตะธะผะตะฝะพะฒั‹ะฒะฐัŽ {0} ั„ะฐะนะปะพะฒ...\n\n{1}", + "fr_efail": "ะพัˆะธะฑะบะฐ ะฟะตั€ะตะธะผะตะฝะพะฒะฐะฝะธั:\n", + "fr_nchg": "{0} ะฝะพะฒั‹ั… ะธะผั‘ะฝ ะฑั‹ะปะธ ะผะพะดะธั„ะธั†ะธั€ะพะฒะฐะฝั‹ ะดะปั ัะพะพั‚ะฒะตั‚ัั‚ะฒะธั ะพะฟั†ะธัะผ win ะธ/ะธะปะธ ะฑะตะท /\n\nะฅะพั‚ะธั‚ะต ะธัะฟะพะปัŒะทะพะฒะฐั‚ัŒ ัั‚ะธ ะธะผะตะฝะฐ?", + + "fd_ok": "ัƒัะฟะตัˆะฝะพ ัƒะดะฐะปะตะฝะพ", + "fd_err": "ะพัˆะธะฑะบะฐ ัƒะดะฐะปะตะฝะธั:\n", + "fd_none": "ะฝะธั‡ะตะณะพ ะฝะต ัƒะดะฐะปะตะฝะพ; ะฒะพะทะผะพะถะฝะพ, ะฝะต ะฟะพะทะฒะพะปัะตั‚ ะบะพะฝั„ะธะณัƒั€ะฐั†ะธั ัะตั€ะฒะตั€ะฐ (xbd)?", + "fd_busy": "ัƒะดะฐะปะตะฝะพ {0} ั„ะฐะนะปะพะฒ...\n\n{1}", + "fd_warn1": "ะฃะ”ะะ›ะ˜ะขะฌ ัั‚ะธ {0} ั„ะฐะนะปะพะฒ?", + "fd_warn2": "ะ’ะฝะธะผะฐะฝะธะต! ะญั‚ะพ ะฝะตะพะฑั€ะฐั‚ะธะผั‹ะน ะฟั€ะพั†ะตัั. ะฃะดะฐะปะธั‚ัŒ?", + + "fc_ok": "ะฒั‹ั€ะตะทะฐะฝะพ {0} ั„ะฐะนะปะพะฒ", + "fc_warn": 'ะฒั‹ั€ะตะทะฐะฝะพ {0} ั„ะฐะนะปะพะฒ\n\nะฝะพ ั‚ะพะปัŒะบะพ ัั‚ะฐ ะฒะบะปะฐะดะบะฐ ะฑั€ะฐัƒะทะตั€ะฐ ะผะพะถะตั‚ ะธั… ะฒัั‚ะฐะฒะธั‚ัŒ\n(ะฟะพัะบะพะปัŒะบัƒ ะฒั‹ะดะตะปะตะฝะธะต ะพะบะฐะทะฐะปะพััŒ ะฝะฐัั‚ะพะปัŒะบะพ ะพะณั€ะพะผะฝั‹ะผ)', + + "fcc_ok": "ัะบะพะฟะธั€ะพะฒะฐะฝะพ {0} ั„ะฐะนะปะพะฒ ะฒ ะฑัƒั„ะตั€", + "fcc_warn": 'ัะบะพะฟะธั€ะพะฒะฐะฝะพ {0} ั„ะฐะนะปะพะฒ ะฒ ะฑัƒั„ะตั€\n\nะฝะพ ั‚ะพะปัŒะบะพ ัั‚ะฐ ะฒะบะปะฐะดะบะฐ ะฑั€ะฐัƒะทะตั€ะฐ ะผะพะถะตั‚ ะธั… ะฒัั‚ะฐะฒะธั‚ัŒ\n(ะฟะพัะบะพะปัŒะบัƒ ะฒั‹ะดะตะปะตะฝะธะต ะพะบะฐะทะฐะปะพััŒ ะฝะฐัั‚ะพะปัŒะบะพ ะพะณั€ะพะผะฝั‹ะผ)', + + "fp_apply": "ะธัะฟะพะปัŒะทะพะฒะฐั‚ัŒ ัั‚ะธ ะธะผะตะฝะฐ", + "fp_skip": "ะฟั€ะพะฟัƒัั‚ะธั‚ัŒ ะบะพะฝั„ะปะธะบั‚ั‹", //m + "fp_ecut": "ัะฝะฐั‡ะฐะปะฐ ะฒั‹ั€ะตะทะฐั‚ัŒ ะธะปะธ ัะบะพะฟะธั€ะพะฒะฐั‚ัŒ ั‚ะพะปัŒะบะพ ะฝะตะบะพั‚ะพั€ั‹ะต ั„ะฐะนะปั‹ / ะฟะฐะฟะบะธ\n\nัƒั‡ั‚ะธั‚ะต: ะฒั‹ ะผะพะถะตั‚ะต ะฒั‹ั€ะตะทะฐั‚ัŒ / ะฒัั‚ะฐะฒะปัั‚ัŒ ั„ะฐะนะปั‹ ะผะตะถะดัƒ ะฒะบะปะฐะดะบะฐะผะธ", + "fp_ename": "{0} ั„ะฐะนะปะพะฒ ะฝะตะฒะพะทะผะพะถะฝะพ ะฟะตั€ะตะฝะตัั‚ะธ ััŽะดะฐ, ะฟะพั‚ะพะผัƒ ั‡ั‚ะพ ะธั… ะธะผะตะฝะฐ ัƒะถะต ะทะฐะฝัั‚ั‹. ะ’ะฒะตะดะธั‚ะต ะธะผะตะฝะฐ ะฝะธะถะต, ั‡ั‚ะพะฑั‹ ะฟั€ะพะดะพะปะถะธั‚ัŒ, ะธะปะธ ะพัั‚ะฐะฒัŒั‚ะต ะฟะพะปั ะฟัƒัั‚ั‹ะผะธ (\"ะฟั€ะพะฟัƒัั‚ะธั‚ัŒ ะบะพะฝั„ะปะธะบั‚ั‹\"), ั‡ั‚ะพะฑั‹ ะฟั€ะพะฟัƒัั‚ะธั‚ัŒ:", //m + "fcp_ename": "{0} ั„ะฐะนะปะพะฒ ะฝะตะฒะพะทะผะพะถะฝะพ ัะบะพะฟะธั€ะพะฒะฐั‚ัŒ ััŽะดะฐ, ะฟะพั‚ะพะผัƒ ั‡ั‚ะพ ะธั… ะธะผะตะฝะฐ ัƒะถะต ะทะฐะฝัั‚ั‹. ะ’ะฒะตะดะธั‚ะต ะธะผะตะฝะฐ ะฝะธะถะต, ั‡ั‚ะพะฑั‹ ะฟั€ะพะดะพะปะถะธั‚ัŒ, ะธะปะธ ะพัั‚ะฐะฒัŒั‚ะต ะฟะพะปั ะฟัƒัั‚ั‹ะผะธ (\"ะฟั€ะพะฟัƒัั‚ะธั‚ัŒ ะบะพะฝั„ะปะธะบั‚ั‹\"), ั‡ั‚ะพะฑั‹ ะฟั€ะพะฟัƒัั‚ะธั‚ัŒ:", //m + "fp_emore": "ะตัั‚ัŒ ะตั‰ั‘ ะบะพะปะปะธะทะธะธ ะธะผั‘ะฝ, ะบะพั‚ะพั€ั‹ะต ั‚ั€ะตะฑัƒะตั‚ัั ะธัะฟั€ะฐะฒะธั‚ัŒ", + "fp_ok": "ัƒัะฟะตัˆะฝะพ ะฟะตั€ะตะฝะตัะตะฝะพ", + "fcp_ok": "ัƒัะฟะตัˆะฝะพ ัะบะพะฟะธั€ะพะฒะฐะฝะพ", + "fp_busy": "ะฟะตั€ะตะผะตั‰ะฐัŽ {0} ั„ะฐะนะปะพะฒ...\n\n{1}", + "fcp_busy": "ะบะพะฟะธั€ัƒัŽ {0} ั„ะฐะนะปะพะฒ...\n\n{1}", + "fp_abrt": "ะฟั€ะตั€ั‹ะฒะฐะฝะธะต...", //m + "fp_err": "ะพัˆะธะฑะบะฐ ะฟะตั€ะตะผะตั‰ะตะฝะธั:\n", + "fcp_err": "ะพัˆะธะฑะบะฐ ะบะพะฟะธั€ะพะฒะฐะฝะธั:\n", + "fp_confirm": "ะฟะตั€ะตะผะตัั‚ะธั‚ัŒ ัั‚ะธ {0} ั„ะฐะนะปะพะฒ ััŽะดะฐ?", + "fcp_confirm": "ัะบะพะฟะธั€ะพะฒะฐั‚ัŒ ัั‚ะธ {0} ั„ะฐะนะปะพะฒ ััŽะดะฐ?", + "fp_etab": 'ะพัˆะธะฑะบะฐ ั‡ั‚ะตะฝะธั ะฑัƒั„ะตั€ะฐ ะพะฑะผะตะฝะฐ ะธะท ะดั€ัƒะณะพะน ะฒะบะปะฐะดะบะธ ะฑั€ะฐัƒะทะตั€ะฐ', + "fp_name": "ะทะฐะณั€ัƒะถะฐัŽ ั„ะฐะนะป ั ะฒะฐัˆะตะณะพ ัƒัั‚ั€ะพะนัั‚ะฒะฐ. ะะฐะทะพะฒะธั‚ะต ะตะณะพ:", + "fp_both_m": '
    ะฒั‹ะฑะตั€ะธั‚ะต, ั‡ั‚ะพ ะฒัั‚ะฐะฒะธั‚ัŒ
    Enter = ะŸะตั€ะตะฝะตัั‚ะธ {0} ั„ะฐะนะปะพะฒ ะธะท ยซ{1}ยป\nESC = ะ—ะฐะณั€ัƒะทะธั‚ัŒ {2} ั„ะฐะนะปะพะฒ ั ะฒะฐัˆะตะณะพ ัƒัั‚ั€ะพะนัั‚ะฒะฐ', + "fcp_both_m": '
    ะฒั‹ะฑะตั€ะธั‚ะต, ั‡ั‚ะพ ะฒัั‚ะฐะฒะธั‚ัŒ
    Enter = ะกะบะพะฟะธั€ะพะฒะฐั‚ัŒ {0} ั„ะฐะนะปะพะฒ ะธะท ยซ{1}ยป\nESC = ะ—ะฐะณั€ัƒะทะธั‚ัŒ {2} ั„ะฐะนะปะพะฒ ั ะฒะฐัˆะตะณะพ ัƒัั‚ั€ะพะนัั‚ะฒะฐ', + "fp_both_b": 'ะŸะตั€ะตะผะตัั‚ะธั‚ัŒะ—ะฐะณั€ัƒะทะธั‚ัŒ', + "fcp_both_b": 'ะกะบะพะฟะธั€ะพะฒะฐั‚ัŒะ—ะฐะณั€ัƒะทะธั‚ัŒ', + + "mk_noname": "ะฒะฒะตะดะธั‚ะต ะธะผั ะฒ ั‚ะตะบัั‚ะพะฒะพะต ะฟะพะปะต ัะปะตะฒะฐ ะฟะตั€ะตะด ั‚ะตะผ, ะบะฐะบ ัั‚ะพ ะดะตะปะฐั‚ัŒ :p", + "nmd_i1": "ะฒั‹ ั‚ะฐะบะถะต ะผะพะถะตั‚ะต ัƒะบะฐะทะฐั‚ัŒ ะฝัƒะถะฝะพะต ั€ะฐััˆะธั€ะตะฝะธะต, ะฝะฐะฟั€ะธะผะตั€ .md", //m + "nmd_i2": "ะฒั‹ ะผะพะถะตั‚ะต ัะพะทะดะฐะฒะฐั‚ัŒ ั‚ะพะปัŒะบะพ ั„ะฐะนะปั‹ .md, ั‚ะฐะบ ะบะฐะบ ัƒ ะฒะฐั ะฝะตั‚ ั€ะฐะทั€ะตัˆะตะฝะธั ะฝะฐ ัƒะดะฐะปะตะฝะธะต", //m + + "tv_load": "ะ—ะฐะณั€ัƒะถะฐัŽ ั‚ะตะบัั‚ะพะฒั‹ะน ะดะพะบัƒะผะตะฝั‚:\n\n{0}\n\n{1}% ({2} ะธะท {3} ะœะธะ‘ ะทะฐะณั€ัƒะถะตะฝะพ)", + "tv_xe1": "ะฝะต ัƒะดะฐะปะพััŒ ะทะฐะณั€ัƒะทะธั‚ัŒ ั‚ะตะบัั‚ะพะฒั‹ะน ั„ะฐะนะป:\n\nะพัˆะธะฑะบะฐ ", + "tv_xe2": "404, ั„ะฐะนะป ะฝะต ะฝะฐะนะดะตะฝ", + "tv_lst": "ัะฟะธัะพะบ ั‚ะตะบัั‚ะพะฒั‹ั… ั„ะฐะนะปะพะฒ ะฒ", + "tvt_close": "ะฒะตั€ะฝัƒั‚ัŒัั ะฒ ะพะฑะทะพั€ ะฟะฐะฟะบะธ$Nะ“ะพั€ัั‡ะฐั ะบะปะฐะฒะธัˆะฐ: M (ะธะปะธ Esc)\">โŒ ะทะฐะบั€ั‹ั‚ัŒ", + "tvt_dl": "ัะบะฐั‡ะฐั‚ัŒ ัั‚ะพั‚ ั„ะฐะนะป$Nะ“ะพั€ัั‡ะฐั ะบะปะฐะฒะธัˆะฐ: Y\">๐Ÿ’พ ัะบะฐั‡ะฐั‚ัŒ", + "tvt_prev": "ะฟะพะบะฐะทะฐั‚ัŒ ะฟั€ะตะดั‹ะดัƒั‰ะธะน ะดะพะบัƒะผะตะฝั‚$Nะ“ะพั€ัั‡ะฐั ะบะปะฐะฒะธัˆะฐ: i\">โฌ† ะฟั€ะตะด", + "tvt_next": "ะฟะพะบะฐะทะฐั‚ัŒ ัะปะตะดัƒัŽั‰ะธะน ะดะพะบัƒะผะตะฝั‚$Nะ“ะพั€ัั‡ะฐั ะบะปะฐะฒะธัˆะฐ: K\">โฌ‡ ัะปะตะด", + "tvt_sel": "ะฒั‹ะฑั€ะฐั‚ัŒ ะดะพะบัƒะผะตะฝั‚   ( ะดะปั ะฒั‹ั€ะตะทะฐะฝะธั / ะบะพะฟะธั€ะพะฒะฐะฝะธั / ัƒะดะฐะปะตะฝะธั / ... )$Nะ“ะพั€ัั‡ะฐั ะบะปะฐะฒะธัˆะฐ: S\">ะฒั‹ะด", + "tvt_j": "ะฟั€ะธัƒะบั€ะฐัะธั‚ัŒ json$Nะ“ะพั€ัั‡ะฐั ะบะปะฐะฒะธัˆะฐ: shift-J\">j", //m + "tvt_edit": "ะพั‚ะบั€ั‹ั‚ัŒ ะดะพะบัƒะผะตะฝั‚ ะฒ ั‚ะตะบัั‚ะพะฒะพะผ ั€ะตะดะฐะบั‚ะพั€ะต$Nะ“ะพั€ัั‡ะฐั ะบะปะฐะฒะธัˆะฐ: E\">โœ๏ธ ะธะทะผะตะฝะธั‚ัŒ", + "tvt_tail": "ะฟั€ะพะฒะตั€ัั‚ัŒ ั„ะฐะนะป ะฝะฐ ะธะทะผะตะฝะตะฝะธั; ะฟะพะบะฐะทั‹ะฒะฐั‚ัŒ ะฝะพะฒั‹ะต ัั‚ั€ะพะบะธ ะฒ ั€ะตะฐะปัŒะฝะพะผ ะฒั€ะตะผะตะฝะธ\">๐Ÿ“ก ะพะฑะฝะพะฒะปัั‚ัŒ", + "tvt_wrap": "ะฟะตั€ะตะฝะพั ัะปะพะฒ\">โ†ต", + "tvt_atail": "ะฟั€ะธะบั€ะตะฟะธั‚ัŒ ะฒะธะด ะบ ะฝะธะทัƒ ัั‚ั€ะฐะฝะธั†ั‹\">โš“", + "tvt_ctail": "ะดะตะบะพะดะธั€ะพะฒะฐั‚ัŒ ั†ะฒะตั‚ะฐ ั‚ะตั€ะผะธะฝะฐะปะฐ (ansi escape codes)\">๐ŸŒˆ", + "tvt_ntail": "ะปะธะผะธั‚ ะฟั€ะพะบั€ัƒั‚ะบะธ (ะบะฐะบ ะผะฝะพะณะพ ะฑะฐะนั‚ ั‚ะตะบัั‚ะฐ ะดะตั€ะถะฐั‚ัŒ ะฒ ะฟะฐะผัั‚ะธ)", + + "m3u_add1": "ั‚ั€ะตะบ ะดะพะฑะฐะฒะปะตะฝ ะฒ ะฟะปะตะนะปะธัั‚ m3u", + "m3u_addn": "{0} ั‚ั€ะตะบะพะฒ ะดะพะฑะฐะฒะปะตะฝะพ ะฒ ะฟะปะตะนะปะธัั‚ m3u", + "m3u_clip": "ะฟะปะตะนะปะธัั‚ m3u ัะบะพะฟะธั€ะพะฒะฐะฝ ะฒ ะฑัƒั„ะตั€\n\nัะพะทะดะฐะนั‚ะต ั„ะฐะนะป ั ั€ะฐััˆะธั€ะตะฝะธะตะผ .m3u ะธ ะฒัั‚ะฐะฒัŒั‚ะต ั‚ะตะบัั‚ ั‚ัƒะดะฐ, ั‡ั‚ะพะฑั‹ ัะดะตะปะฐั‚ัŒ ะธะท ะฝะตะณะพ ะฟะปะตะนะปะธัั‚", + + "gt_vau": "ะฝะต ะฟะพะบะฐะทั‹ะฒะฐั‚ัŒ ะฒะธะดะตะพ, ั‚ะพะปัŒะบะพ ะฒะพัะฟั€ะพะธะทะฒะพะดะธั‚ัŒ ะฐัƒะดะธะพ\">๐ŸŽง", + "gt_msel": "ะฒะบะปัŽั‡ะธั‚ัŒ ั€ะตะถะธะผ ะฒั‹ะดะตะปะตะฝะธั; ะดะตั€ะถะธั‚ะต ctrl ะฟั€ะธ ะฝะฐะถะฐั‚ะธะธ ะดะปั ะธะฝะฒะตั€ั‚ะฐั†ะธะธ ะดะตะนัั‚ะฒะธั$N$N<em>ะบะพะณะดะฐ ะฐะบั‚ะธะฒะฝะพ: ะดะฒะฐะถะดั‹ ะบะปะธะบะฝะธั‚ะต ะฝะฐ ั„ะฐะนะปะต / ะฟะฐะฟะบะต, ั‡ั‚ะพะฑั‹ ะพั‚ะบั€ั‹ั‚ัŒ ะธั…</em>$N$Nะ“ะพั€ัั‡ะฐั ะบะปะฐะฒะธัˆะฐ: S\">ะฒั‹ะดะตะปะตะฝะธะต", + "gt_crop": "ะพะฑั€ะตะทะฐั‚ัŒ ะผะธะฝะธะฐั‚ัŽั€ั‹\">ะพะฑั€ะตะทะบะฐ", + "gt_3x": "ะผะธะฝะธะฐั‚ัŽั€ั‹ ะฒั‹ัะพะบะพะณะพ ั€ะฐะทั€ะตัˆะตะฝะธั\">3x", + "gt_zoom": "ั€ะฐะทะผะตั€", + "gt_chop": "ะดะปะธะฝะฐ ะธะผั‘ะฝ", + "gt_sort": "ัะพั€ั‚ะธั€ะพะฒะฐั‚ัŒ ะฟะพ", + "gt_name": "ะธะผะตะฝะธ", + "gt_sz": "ั€ะฐะทะผะตั€ัƒ", + "gt_ts": "ะดะฐั‚ะต", + "gt_ext": "ั‚ะธะฟัƒ", + "gt_c1": "ัƒะบะพั€ะพั‚ะธั‚ัŒ ะฝะฐะทะฒะฐะฝะธั ั„ะฐะนะปะพะฒ", + "gt_c2": "ัƒะดะปะธะฝะธั‚ัŒ ะฝะฐะทะฒะฐะฝะธั ั„ะฐะนะปะพะฒ", + + "sm_w8": "ะธั‰ะตะผ...", + "sm_prev": "ั€ะตะทัƒะปัŒั‚ะฐั‚ั‹ ะฟะพะธัะบะฐ ะฝะธะถะต - ะธะท ะฟั€ะตะดั‹ะดัƒั‰ะตะณะพ ะทะฐะฟั€ะพัะฐ:\n ", + "sl_close": "ะทะฐะบั€ั‹ั‚ัŒ ั€ะตะทัƒะปัŒั‚ะฐั‚ั‹ ะฟะพะธัะบะฐ", + "sl_hits": "ะฟะพะบะฐะท {0} ัะพะฒะฟะฐะดะตะฝะธะน", + "sl_moar": "ะทะฐะณั€ัƒะทะธั‚ัŒ ะฑะพะปัŒัˆะต", + + "s_sz": "ั€ะฐะทะผะตั€", + "s_dt": "ะดะฐั‚ะฐ", + "s_rd": "ะฟัƒั‚ัŒ", + "s_fn": "ะธะผั", + "s_ta": "ั‚ะตะณะธ", + "s_ua": "ะดะฐั‚ะฐโฌ†๏ธ", + "s_ad": "ะดั€ัƒะณะพะต", + "s_s1": "ะผะธะฝะธะผัƒะผ ะœะธะ‘", + "s_s2": "ะผะฐะบัะธะผัƒะผ ะœะธะ‘", + "s_d1": "ะผะธะฝ. iso8601", + "s_d2": "ะผะฐะบั. iso8601", + "s_u1": "ะทะฐะณั€ัƒะถะตะฝะพ ะฟะพัะปะต", + "s_u2": "ะธ/ะธะปะธ ะดะพ", + "s_r1": "ะฟัƒั‚ัŒ ัะพะดะตั€ะถะธั‚   (ั€ะฐะทะดะตะปะธั‚ัŒ ะฟั€ะพะฑะตะปะฐะผะธ)", + "s_f1": "ะธะผั ัะพะดะตั€ะถะธั‚   (ะดะปั ะธัะบะปัŽั‡ะตะฝะธั ะฟะธัะฐั‚ัŒ -nope)", + "s_t1": "ั‚ะตะณะธ ัะพะดะตั€ะถะฐั‚   (^=ะฝะฐั‡ะฐะปะพ, ะบะพะฝะตั†=$)", + "s_a1": "ัะฒะพะนัั‚ะฒะฐ ะผะตั‚ะฐะดะฐะฝะฝั‹ั…", + + "md_eshow": "ะฝะต ัƒะดะฐะปะพััŒ ะฟะพะบะฐะทะฐั‚ัŒ ", + "md_off": "[๐Ÿ“œั€ะธะดะผะธ] ะพั‚ะบะปัŽั‡ั‘ะฝ ะฒ [โš™๏ธ] -- ะดะพะบัƒะผะตะฝั‚ ัะบั€ั‹ั‚", + + "badreply": "ะžัˆะธะฑะบะฐ ะพะฑั€ะฐะฑะพั‚ะบะธ ะพั‚ะฒะตั‚ะฐ ัะตั€ะฒะตั€ะฐ", + + "xhr403": "403: ะ”ะพัั‚ัƒะฟ ะทะฐะฟั€ะตั‰ั‘ะฝ\n\nะฟะพะฟั€ะพะฑัƒะนั‚ะต ะฟะตั€ะตะทะฐะณั€ัƒะทะธั‚ัŒ ัั‚ั€ะฐะฝะธั†ัƒ, ะฒะพะทะผะพะถะฝะพ, ะฒะฐัˆะฐ ัะตััะธั ะธัั‚ะตะบะปะฐ", + "xhr0": "ะฝะตะธะทะฒะตัั‚ะฝะพ (ะฒะพะทะผะพะถะฝะพ, ะฟะพั‚ะตั€ัะฝะพ ัะพะตะดะธะฝะตะฝะธะต ั ัะตั€ะฒะตั€ะพะผ, ะปะธะฑะพ ะพะฝ ะพั‚ะบะปัŽั‡ั‘ะฝ)", + "cf_ok": "ะฟั€ะพัะธะผ ะฟั€ะพั‰ะตะฝะธั -- ัั€ะฐะฑะพั‚ะฐะปะฐ ะทะฐั‰ะธั‚ะฐ ะพั‚ DD" + wah + "oS\n\nะฒัั‘ ะดะพะปะถะฝะพ ะฒะตั€ะฝัƒั‚ัŒัั ะฒ ะฝะพั€ะผัƒ ั‡ะตั€ะตะท 30 ัะตะบ\n\nะตัะปะธ ะฝะธั‡ะตะณะพ ะฝะต ะฟั€ะพะธัั…ะพะดะธั‚ - ะฟะตั€ะตะทะฐะณั€ัƒะทะธั‚ะต ัั‚ั€ะฐะฝะธั†ัƒ", + "tl_xe1": "ะฝะต ัƒะดะฐะปะพััŒ ะฟะพะบะฐะทะฐั‚ัŒ ะฟะพะดะฟะฐะฟะบะธ:\n\nะพัˆะธะฑะบะฐ ", + "tl_xe2": "404: ะŸะฐะฟะบะฐ ะฝะต ะฝะฐะนะดะตะฝะฐ", + "fl_xe1": "ะฝะต ัƒะดะฐะปะพััŒ ะฟะพะบะฐะทะฐั‚ัŒ ั„ะฐะนะปั‹:\n\nะพัˆะธะฑะบะฐ ", + "fl_xe2": "404: ะŸะฐะฟะบะฐ ะฝะต ะฝะฐะนะดะตะฝะฐ", + "fd_xe1": "ะฝะต ัƒะดะฐะปะพััŒ ัะพะทะดะฐั‚ัŒ ะฟะพะดะฟะฐะฟะบัƒ:\n\nะพัˆะธะฑะบะฐ ", + "fd_xe2": "404: ะ ะพะดะธั‚ะตะปัŒัะบะฐั ะฟะฐะฟะบะฐ ะฝะต ะฝะฐะนะดะตะฝะฐ", + "fsm_xe1": "ะฝะต ัƒะดะฐะปะพััŒ ะพั‚ะฟั€ะฐะฒะธั‚ัŒ ัะพะพะฑั‰ะตะฝะธะต:\n\nะพัˆะธะฑะบะฐ ", + "fsm_xe2": "404: ะ ะพะดะธั‚ะตะปัŒัะบะฐั ะฟะฐะฟะบะฐ ะฝะต ะฝะฐะนะดะตะฝะฐ", + "fu_xe1": "ะฝะต ัƒะดะฐะปะพััŒ ัƒะดะฐะปะธั‚ัŒ ัะฟะธัะพะบ ั ัะตั€ะฒะตั€ะฐ:\n\nะพัˆะธะฑะบะฐ ", + "fu_xe2": "404: ะคะฐะนะป ะฝะต ะฝะฐะนะดะตะฝ??", + + "fz_tar": "ะฝะตัะถะฐั‚ั‹ะน ั„ะฐะนะป gnu-tar (linux / mac)", + "fz_pax": "ะฝะตัะถะฐั‚ั‹ะน pax-ั„ะพั€ะผะฐั‚ะธั€ะพะฒะฐะฝะฝั‹ะน tar (ะผะตะดะปะตะฝะฝะตะต)", + "fz_targz": "gnu-tar ั 3 ัƒั€ะพะฒะฝะตะผ ัะถะฐั‚ะธั gzip$N$Nะพะฑั‹ั‡ะฝะพ ัั‚ะพ ะพั‡ะตะฝัŒ ะผะตะดะปะตะฝะฝะพ,$Nะปัƒั‡ัˆะต ะธัะฟะพะปัŒะทะพะฒะฐั‚ัŒ ะฝะตัะถะฐั‚ั‹ะน tar", + "fz_tarxz": "gnu-tar ั 1 ัƒั€ะพะฒะฝะตะผ ัะถะฐั‚ะธั xz$N$Nะพะฑั‹ั‡ะฝะพ ัั‚ะพ ะพั‡ะตะฝัŒ ะผะตะดะปะตะฝะฝะพ,$Nะปัƒั‡ัˆะต ะธัะฟะพะปัŒะทะพะฒะฐั‚ัŒ ะฝะตัะถะฐั‚ั‹ะน tar", + "fz_zip8": "zip ั ะธะผะตะฝะฐะผะธ ะฟะพ utf8 (ะผะพะถะตั‚ ั€ะฐะฑะพั‚ะฐั‚ัŒ ะบั€ะธะฒะพ ะฝะฐ windows 7 ะธ ะฝะธะถะต)", + "fz_zipd": "zip ั ะธะผะตะฝะฐะผะธ ะฟะพ cp437, ะดะปั ะพั‡ะตะฝัŒ ัั‚ะฐั€ะพะณะพ ัะพั„ั‚ะฐ", + "fz_zipc": "cp437 ั ะฟั€ะตะดะฒะฐั€ะธั‚ะตะปัŒะฝั‹ะผ ะฒั‹ั‡ะธัะปะตะฝะธะตะผ crc32,$N ะดะปั MS-DOS PKZIP v2.04g (ะพะบั‚ัะฑั€ัŒ 1993)$N(ั‚ั€ะตะฑัƒะตั‚ ะฑะพะปัŒัˆะต ะฒั€ะตะผะตะฝะธ ะดะปั ะพะฑั€ะฐะฑะพั‚ะบะธ ะฟะตั€ะตะด ัะบะฐั‡ะธะฒะฐะฝะธะตะผ)", + + "un_m1": "ะฒั‹ ะผะพะถะตั‚ะต ัƒะดะฐะปะธั‚ัŒ ะฒะฐัˆะธ ะฝะตะดะฐะฒะฝะธะต ะทะฐะณั€ัƒะทะบะธ (ะธะปะธ ะพั‚ะผะตะฝะธั‚ัŒ ะฝะตะทะฐะฒะตั€ัˆั‘ะฝะฝั‹ะต) ะฝะธะถะต", + "un_upd": "ะพะฑะฝะพะฒะธั‚ัŒ", + "un_m4": "ะธะปะธ ะฟะพะดะตะปะธั‚ัŒัั ั„ะฐะนะปะฐะผะธ ัะฝะธะทัƒ:", + "un_ulist": "ะฟะพะบะฐะทะฐั‚ัŒ", + "un_ucopy": "ะบะพะฟะธั€ะพะฒะฐั‚ัŒ", + "un_flt": "ะพะฟั†ะธะพะฝะฐะปัŒะฝั‹ะน ั„ะธะปัŒั‚ั€:  ะฐะดั€ะตั ะดะพะปะถะตะฝ ัะพะดะตั€ะถะฐั‚ัŒ", + "un_fclr": "ะพั‡ะธัั‚ะธั‚ัŒ ั„ะธะปัŒั‚ั€", + "un_derr": 'ะพัˆะธะฑะบะฐ ัƒะดะฐะปะตะฝะธั:\n', + "un_f5": 'ั‡ั‚ะพ-ั‚ะพ ัะปะพะผะฐะปะพััŒ, ะฟะพะถะฐะปัƒะนัั‚ะฐ ะฟะตั€ะตะทะฐะณั€ัƒะทะธั‚ะต ัั‚ั€ะฐะฝะธั†ัƒ', + "un_uf5": "ะธะทะฒะธะฝะธั‚ะต, ะฝะพ ะฒะฐะผ ะฝัƒะถะฝะพ ะฟะตั€ะตะทะฐะณั€ัƒะทะธั‚ัŒ ัั‚ั€ะฐะฝะธั†ัƒ (F5 ะธะปะธ Ctrl+R) ะฟะตั€ะตะด ั‚ะตะผ, ะบะฐะบ ะพั‚ะผะตะฝะธั‚ัŒ ัั‚ัƒ ะทะฐะณั€ัƒะทะบัƒ", + "un_nou": 'ะฒะฝะธะผะฐะฝะธะต: ัะตั€ะฒะตั€ ัะปะธัˆะบะพะผ ะฝะฐะณั€ัƒะถะตะฝ, ั‡ั‚ะพะฑั‹ ะฟะพะบะฐะทะฐั‚ัŒ ะฝะตะทะฐะฒะตั€ัˆั‘ะฝะฝั‹ะต ะทะฐะณั€ัƒะทะบะธ; ะฝะฐะถะผะธั‚ะต ะฝะฐ ััั‹ะปะบัƒ "ะพะฑะฝะพะฒะปะตะฝะธั" ั‡ะตั€ะตะท ะฟะฐั€ัƒ ัะตะบัƒะฝะด', + "un_noc": 'ะฒะฝะธะผะฐะฝะธะต: ัƒะดะฐะปะตะฝะธะต ัƒะถะต ะทะฐะณั€ัƒะถะตะฝะฝั‹ั… ั„ะฐะนะปะพะฒ ะทะฐะฟั€ะตั‰ะตะฝะพ ะบะพะฝั„ะธะณัƒั€ะฐั†ะธะตะน ัะตั€ะฒะตั€ะฐ', + "un_max": "ะฟะพะบะฐะทะฐะฝั‹ ะฟะตั€ะฒั‹ะต 2000 ั„ะฐะนะปะพะฒ (ะธัะฟะพะปัŒะทัƒะนั‚ะต ั„ะธะปัŒั‚ั€)", + "un_avail": "{0} ะฝะตะดะฐะฒะฝะธั… ะทะฐะณั€ัƒะทะพะบ ะผะพะถะตั‚ ะฑั‹ั‚ัŒ ัƒะดะฐะปะตะฝะพ
    {1} ะฝะตะทะฐะฒะตั€ัˆั‘ะฝะฝั‹ั… ะผะพะถะตั‚ ะฑั‹ั‚ัŒ ะพั‚ะผะตะฝะตะฝะพ", + "un_m2": "ะพั‚ัะพั€ั‚ะธั€ะพะฒะฐะฝะพ ะฟะพ ะฒั€ะตะผะตะฝะธ ะทะฐะณั€ัƒะทะบะธ; ัะฝะฐั‡ะฐะปะฐ ัะฐะผั‹ะต ะฟะพัะปะตะดะฝะธะต:", + "un_no1": "ั…ะฐ, ะฟะพะฒะตั€ะธะป! ะดะพัั‚ะฐั‚ะพั‡ะฝะพ ัะฒะตะถะธั… ะทะฐะณั€ัƒะทะพะบ ะตั‰ั‘ ะฝะตั‚", + "un_no2": "ั…ะฐ, ะฟะพะฒะตั€ะธะป! ะดะพัั‚ะฐั‚ะพั‡ะฝะพ ัะฒะตะถะธั… ะทะฐะณั€ัƒะทะพะบ, ัะพะพั‚ะฒะตั‚ัั‚ะฒัƒัŽั‰ะธั… ั„ะธะปัŒั‚ั€ัƒ, ะตั‰ั‘ ะฝะตั‚", + "un_next": "ัƒะดะฐะปะธั‚ัŒ ัะปะตะดัƒัŽั‰ะธะต {0} ั„ะฐะนะปะพะฒ ะฝะธะถะต", + "un_abrt": "ะพั‚ะผะตะฝะธั‚ัŒ", + "un_del": "ัƒะดะฐะปะธั‚ัŒ", + "un_m3": "ะทะฐะณั€ัƒะถะฐัŽ ะฒะฐัˆะธ ะฝะตะดะฐะฒะฝะธะต ะทะฐะณั€ัƒะทะบะธ...", + "un_busy": "ัƒะดะฐะปััŽ {0} ั„ะฐะนะปะพะฒ...", + "un_clip": "{0} ััั‹ะปะพะบ ัะบะพะฟะธั€ะพะฒะฐะฝะพ ะฒ ะฑัƒั„ะตั€", + + "u_https1": "ะฒะฐะผ ัั‚ะพะธั‚", + "u_https2": "ะฒะบะปัŽั‡ะธั‚ัŒ https", + "u_https3": "ะดะปั ะปัƒั‡ัˆะตะน ะฟั€ะพะธะทะฒะพะดะธั‚ะตะปัŒะฝะพัั‚ะธ", + "u_ancient": 'ัƒ ะฒะฐั ะดะตะนัั‚ะฒะธั‚ะตะปัŒะฝะพ ะฐะฝั‚ะธะบะฒะฐั€ะฝั‹ะน ะฑั€ะฐัƒะทะตั€ -- ะฒะพะทะผะพะถะฝะพ, ัั‚ะพะธั‚ ะธัะฟะพะปัŒะทะพะฒะฐั‚ัŒ bup', + "u_nowork": "ั‚ั€ะตะฑัƒะตั‚ัั firefox 53+, chrome 57+ ะธะปะธ iOS 11+", + "tail_2old": "ั‚ั€ะตะฑัƒะตั‚ัั firefox 105+, chrome 71+ ะธะปะธ iOS 14.5+", + "u_nodrop": 'ะฒะฐัˆ ะฑั€ะฐัƒะทะตั€ ัะปะธัˆะบะพะผ ัั‚ะฐั€ั‹ะน ะดะปั ะทะฐะณั€ัƒะทะบะธ ั‡ะตั€ะตะท ะฟะตั€ะตั‚ะฐัะบะธะฒะฐะฝะธะต', + "u_notdir": "ัั‚ะพ ะฝะต ะฟะฐะฟะบะฐ!\n\nะฒะฐัˆ ะฑั€ะฐัƒะทะตั€ ัะปะธัˆะบะพะผ ัั‚ะฐั€ั‹ะน,\nะธัะฟะพะปัŒะทัƒะนั‚ะต ะฟะตั€ะตั‚ะฐัะบะธะฒะฐะฝะธะต", + "u_uri": "ั‡ั‚ะพะฑั‹ ะฟะตั€ะตั‚ะฐั‰ะธั‚ัŒ ะบะฐั€ั‚ะธะฝะบัƒ ะธะท ะดั€ัƒะณะธั… ะพะบะพะฝ ะฑั€ะฐัƒะทะตั€ะฐ,\nะพั‚ะฟัƒัั‚ะธั‚ะต ะตั‘ ะฝะฐ ะฑะพะปัŒัˆัƒัŽ ะบะฝะพะฟะบัƒ ะทะฐะณั€ัƒะทะบะธ", + "u_enpot": 'ะฟะตั€ะตะบะปัŽั‡ะธั‚ัŒัั ะฝะฐ ะฟั€ะพัั‚ะพะน ะธะฝั‚ะตั€ั„ะตะนั (ะผะพะถะตั‚ ัƒัะบะพั€ะธั‚ัŒ ะทะฐะณั€ัƒะทะบัƒ)', + "u_depot": 'ะฟะตั€ะตะบะปัŽั‡ะธั‚ัŒัั ะฝะฐ ะผะพะดะฝั‹ะน ะธะฝั‚ะตั€ั„ะตะนั (ะผะพะถะตั‚ ะทะฐะผะตะดะปะธั‚ัŒ ะทะฐะณั€ัƒะทะบัƒ)', + "u_gotpot": 'ะฟะตั€ะตะบะปัŽั‡ะฐัŽััŒ ะฝะฐ ะฟั€ะพัั‚ะพะน ะธะฝั‚ะตั€ั„ะตั ะดะปั ัƒัะบะพั€ะตะฝะธั ะทะฐะณั€ัƒะทะบะธ,\n\nะผะพะถะตั‚ะต ะฟะตั€ะตะบะปัŽั‡ะธั‚ัŒัั ะพะฑั€ะฐั‚ะฝะพ, ะตัะปะธ ั…ะพั‚ะธั‚ะต!', + "u_pott": "

    ั„ะฐะนะปั‹:   {0} ะทะฐะฒะตั€ัˆะตะฝะพ,   {1} ะพัˆะธะฑะพะบ,   {2} ะทะฐะณั€ัƒะถะฐัŽั‚ัั,   {3} ะฒ ะพั‡ะตั€ะตะดะธ

    ", + "u_ever": "ัั‚ะพ ัƒะฟั€ะพั‰ั‘ะฝะฝั‹ะน ะทะฐะณั€ัƒะทั‡ะธะบ; up2k ั‚ั€ะตะฑัƒะตั‚ ั…ะพั‚ั ะฑั‹
    chrome 21 // firefox 13 // edge 12 // opera 12 // safari 5.1", + "u_su2k": 'ัั‚ะพ ัƒะฟั€ะพั‰ั‘ะฝะฝั‹ะน ะทะฐะณั€ัƒะทั‡ะธะบ; up2k ะปัƒั‡ัˆะต', + "u_uput": 'ัƒะฒะตะปะธั‡ะธั‚ัŒ ัะบะพั€ะพัั‚ัŒ (ะฟั€ะพะฟัƒัะบ ะฟะพะดัั‡ั‘ั‚ะฐ ะบะพะฝั‚ั€ะพะปัŒะฝั‹ั… ััƒะผะผ)', + "u_ewrite": 'ัƒ ะฒะฐั ะฝะตั‚ ะฟั€ะฐะฒ ะฝะฐ ะทะฐะฟะธััŒ ะฒ ัั‚ัƒ ะฟะฐะฟะบัƒ', + "u_eread": 'ัƒ ะฒะฐั ะฝะตั‚ ะฟั€ะฐะฒ ะฝะฐ ั‡ั‚ะตะฝะธะต ะธะท ัั‚ะพะน ะฟะฐะฟะบะธ', + "u_enoi": 'ะฟะพะธัะบ ั„ะฐะนะปะพะฒ ะฒั‹ะบะปัŽั‡ะตะฝ ะฝะฐัั‚ั€ะพะนะบะฐะผะธ ัะตั€ะฒะตั€ะฐ', + "u_enoow": "ะฟะตั€ะตะทะฐะฟะธััŒ ะทะดะตััŒ ะฝะต ั€ะฐะฑะพั‚ะฐะตั‚; ั‚ั€ะตะฑัƒัŽั‚ัั ะฟั€ะฐะฒะฐ ะฝะฐ ัƒะดะฐะปะตะฝะธะต", + "u_badf": 'ะญั‚ะธ {0} ะธะท {1} ั„ะฐะนะปะพะฒ ะฑั‹ะปะธ ะฟั€ะพะฟัƒั‰ะตะฝั‹, ะฒะตั€ะพัั‚ะฝะพ, ะธะท-ะทะฐ ะฝะฐัั‚ั€ะพะตะบ ะดะพัั‚ัƒะฟะฐ ะฒ ั„ะฐะนะปะพะฒะพะน ัะธัั‚ะตะผะต:\n\n', + "u_blankf": 'ะญั‚ะธ {0} ะธะท {1} ั„ะฐะนะปะพะฒ ะฟัƒัั‚ั‹ะต; ะฒัั‘ ั€ะฐะฒะฝะพ ะทะฐะณั€ัƒะทะธั‚ัŒ?\n\n', + "u_applef": 'ะญั‚ะธ {0} ะธะท {1} ั„ะฐะนะปะพะฒ, ะฒะตั€ะพัั‚ะฝะพ, ะฝะตะถะตะปะฐั‚ะตะปัŒะฝั‹;\nะะฐะถะผะธั‚ะต OK/Enter, ั‡ั‚ะพะฑั‹ ะŸะ ะžะŸะฃะกะขะ˜ะขะฌ ะธั…,\nะะฐะถะผะธั‚ะต ะžั‚ะผะตะฝะฐ/ESC, ั‡ั‚ะพะฑั‹ ะฟั€ะพะธะณะฝะพั€ะธั€ะพะฒะฐั‚ัŒ ัะพะพะฑั‰ะตะฝะธะต ะธ ะ—ะะ“ะ ะฃะ—ะ˜ะขะฌ ะธั…:\n\n', + "u_just1": '\nะ’ะพะทะผะพะถะฝะพ, ะฑัƒะดะตั‚ ะปัƒั‡ัˆะต, ะตัะปะธ ะฒั‹ ะฒั‹ะฑะตั€ะตั‚ะต ั‚ะพะปัŒะบะพ ะพะดะธะฝ ั„ะฐะนะป', + "u_ff_many": "ะตัะปะธ ะฒั‹ ะธัะฟะพะปัŒะทัƒะตั‚ะต Linux / MacOS / Android, ั‚ะพะณะดะฐ ั‚ะฐะบะพะต ะบะพะปะธั‡ะตัั‚ะฒะพ ั„ะฐะนะปะพะฒ ะผะพะถะตั‚ ะบั€ะฐัˆะฝัƒั‚ัŒ Firefox!\nะฒ ั‚ะฐะบะพะผ ัะปัƒั‡ะฐะต ะฟะพะฟั€ะพะฑัƒะนั‚ะต ัะฝะพะฒะฐ (ะธะปะธ ะธัะฟะพะปัŒะทัƒะนั‚ะต Chrome).", + "u_up_life": "ะญั‚ะฐ ะทะฐะณั€ัƒะทะบะฐ ะฑัƒะดะตั‚ ัƒะดะฐะปะตะฝะฐ ั ัะตั€ะฒะตั€ะฐ\nั‡ะตั€ะตะท {0} ะฟะพัะปะต ะตั‘ ะทะฐะฒะตั€ัˆะตะฝะธั", + "u_asku": 'ะทะฐะณั€ัƒะทะธั‚ัŒ ัั‚ะธ {0} ั„ะฐะนะปะพะฒ ะฒ {1}', + "u_unpt": "ะฒั‹ ะผะพะถะตั‚ะต ะพั‚ะผะตะฝะธั‚ัŒ / ัƒะดะฐะปะธั‚ัŒ ัั‚ัƒ ะทะฐะณั€ัƒะทะบัƒ ั ะฟะพะผะพั‰ัŒัŽ ๐Ÿงฏ ัะฒะตั€ั…ัƒ ัะปะตะฒะฐ", + "u_bigtab": 'ะฑัƒะดะตั‚ ะฟะพะบะฐะทะฐะฝะพ {0} ั„ะฐะนะปะพะฒ\n\nัั‚ะพ ะผะพะถะตั‚ ะบั€ะฐัˆะฝัƒั‚ัŒ ะฑั€ะฐัƒะทะตั€, ะฒั‹ ัƒะฒะตั€ะตะฝั‹?', + "u_scan": 'ะกะบะฐะฝะธั€ัƒัŽ ั„ะฐะนะปั‹...', + "u_dirstuck": 'ัะบะฐะฝะตั€ ะฟะฐะฟะบะธ ะทะฐะฒะธั ะฟั€ะธ ะฟะพะฟั‹ั‚ะบะต ะฟะพะปัƒั‡ะธั‚ัŒ ะดะพัั‚ัƒะฟ ะบ ัะปะตะดัƒัŽั‰ะธะผ {0} ั„ะฐะนะปะฐะผ; ะฑัƒะดะตั‚ ะฟั€ะพะฟัƒั‰ะตะฝะพ:', + "u_etadone": 'ะ“ะพั‚ะพะฒะพ ({0}, {1} ั„ะฐะนะปะพะฒ)', + "u_etaprep": '(ะฟะพะดะณะพั‚ะฐะฒะปะธะฒะฐัŽ ะทะฐะณั€ัƒะทะบัƒ)', + "u_hashdone": 'ั…ะตัˆะธั€ะพะฒะฐะฝะธะต ะฒั‹ะฟะพะปะฝะตะฝะพ', + "u_hashing": 'ั…ะตัˆ', + "u_hs": 'ะฟะพะดะณะพั‚ะพะฒะบะฐ ะบ ั…ะตัˆะธั€ะพะฒะฐะฝะธัŽ...', + "u_started": "ั„ะฐะนะปั‹ ะทะฐะณั€ัƒะถะฐัŽั‚ัั; ะฟะพะดั€ะพะฑะฝะตะต ะฒ [๐Ÿš€]", + "u_dupdefer": "ะดัƒะฑะปะธะบะฐั‚; ะฑัƒะดะตั‚ ะพะฑั€ะฐะฑะพั‚ะฐะฝ ะฟะพัะปะต ะฒัะตั… ะพัั‚ะฐะปัŒะฝั‹ั… ั„ะฐะนะปะพะฒ", + "u_actx": "ะฝะฐะถะผะธั‚ะต ะฝะฐ ัั‚ะพั‚ ั‚ะตะบัั‚, ั‡ั‚ะพะฑั‹ ะฟั€ะตะดะพั‚ะฒั€ะฐั‚ะธั‚ัŒ
    ะฟะฐะดะตะฝะธะต ะฟั€ะพะธะทะฒะพะดะธั‚ะตะปัŒะฝะพัั‚ะธ ะฟั€ะธ ะฟั€ะพัะผะพั‚ั€ะต ะดั€ัƒะณะธั… ะฒะบะปะฐะดะพะบ / ะพะบะพะฝ", + "u_fixed": "ะžะบะตะน!  ะ˜ัะฟั€ะฐะฒะปะตะฝะพ ๐Ÿ‘", + "u_cuerr": "ะฝะต ัƒะดะฐะปะพััŒ ะทะฐะณั€ัƒะทะธั‚ัŒ ั„ั€ะฐะณะผะตะฝั‚ {0} ะธะท {1};\nะฒะตั€ะพัั‚ะฝะพ, ะฝะต ะบั€ะธั‚ะธั‡ะฝะพ - ะฟั€ะพะดะพะปะถะฐัŽ\n\nั„ะฐะนะป: {2}", + "u_cuerr2": "ะพั‚ะบะฐะท ะฒ ะทะฐะณั€ัƒะทะบะต (ั„ั€ะฐะณะผะตะฝั‚ {0} ะธะท {1});\nะฟะพะฟั‹ั‚ะฐัŽััŒ ะฟะพะฒั‚ะพั€ะธั‚ัŒ ะฟะพะทะถะต\n\nั„ะฐะนะป: {2}\n\nะพัˆะธะฑะบะฐ ", + "u_ehstmp": "ะฟะพะฟั‹ั‚ะฐัŽััŒ ะฟะพะฒั‚ะพั€ะธั‚ัŒ ะฟะพะทะถะต; ะฟะพะดั€ะพะฑะฝะตะต ัะฝะธะทัƒ ัะฟั€ะฐะฒะฐ", + "u_ehsfin": "ะพั‚ะบะฐะท ะฒ ะทะฐะฟั€ะพัะต ะทะฐะฒะตั€ัˆะตะฝะธั ะทะฐะณั€ัƒะทะบะธ; ะฟะพะฒั‚ะพั€ััŽ...", + "u_ehssrch": "ะพั‚ะบะฐะท ะฒ ะทะฐะฟั€ะพัะต ะฟะพะธัะบะฐ; ะฟะพะฒั‚ะพั€ััŽ...", + "u_ehsinit": "ะพั‚ะบะฐะท ะฒ ะทะฐะฟั€ะพัะต ะฝะฐั‡ะฐะปะฐ ะทะฐะณั€ัƒะทะบะธ; ะฟะพะฒั‚ะพั€ััŽ...", + "u_eneths": "ะพัˆะธะฑะบะฐ ะฟะพะดะบะปัŽั‡ะตะฝะธั ะฒะพ ะฒั€ะตะผั ะฟะพะดะณะพั‚ะพะฒะบะธ ะทะฐะณั€ัƒะทะบะธ; ะฟะพะฒั‚ะพั€ััŽ...", + "u_enethd": "ะพัˆะธะฑะบะฐ ะฟะพะดะบะปัŽั‡ะตะฝะธั ะฒะพ ะฒั€ะตะผั ะฟั€ะพะฒะตั€ะบะธ ััƒั‰ะตัั‚ะฒะพะฒะฐะฝะธั ั†ะตะปะตะฒะพะณะพ ั„ะฐะนะปะฐ; ะฟะพะฒั‚ะพั€ััŽ...", + "u_cbusy": "ะพะถะธะดะฐัŽ ะฒะพะทะฒั€ะฐั‰ะตะฝะธั ะดะพัั‚ัƒะฟะฐ ะบ ัะตั€ะฒะตั€ัƒ ะฟะพัะปะต ะพัˆะธะฑะบะธ ะฟะพะดะบะปัŽั‡ะตะฝะธั...", + "u_ehsdf": "ะฝะฐ ัะตั€ะฒะตั€ะต ะทะฐะบะพะฝั‡ะธะปะพััŒ ะผะตัั‚ะพ!\n\nะฑัƒะดัƒ ะฟั‹ั‚ะฐั‚ัŒัั ะฟะพะฒั‚ะพั€ะธั‚ัŒ, ะฝะฐ ัะปัƒั‡ะฐะน ะตัะปะธ\nะผะตัั‚ะพ ะฑัƒะดะตั‚ ะพัะฒะพะฑะพะถะดะตะฝะพ", + "u_emtleak1": "ะบะฐะถะตั‚ัั, ัƒ ะฒะฐัˆะตะณะพ ะฑั€ะฐัƒะทะตั€ะฐ ะผะพะถะตั‚ ะฑั‹ั‚ัŒ ัƒั‚ะตั‡ะบะฐ ะฟะฐะผัั‚ะธ;\nะฟะพะถะฐะปัƒะนัั‚ะฐ,", + "u_emtleak2": ' ะฟะตั€ะตะนะดะธั‚ะต ะฝะฐ https (ั€ะตะบะพะผะตะฝะดะพะฒะฐะฝะพ) ะธะปะธ ', + "u_emtleak3": ' ', + "u_emtleakc": 'ะฟะพะฟั€ะพะฑัƒะนั‚ะต ัะดะตะปะฐั‚ัŒ ั‚ะฐะบ:\n
    • ะฝะฐะถะผะธั‚ะต F5 ะดะปั ะพะฑะฝะพะฒะปะตะฝะธั ัั‚ั€ะฐะฝะธั†ั‹
    • ะทะฐั‚ะตะผ ะพั‚ะบะปัŽั‡ะธั‚ะต ะพะฟั†ะธัŽ  ะผะฟ  ะฒ  โš™๏ธ ะฝะฐัั‚ั€ะพะนะบะฐั…
    • ะธ ะฟะพะฒั‚ะพั€ะธั‚ะต ะฟะพะฟั‹ั‚ะบัƒ ะทะฐะณั€ัƒะทะบะธ
    ะžะฝะฐ ะฑัƒะดะตั‚ ั‡ัƒั‚ัŒ ะผะตะดะปะตะฝะฝะตะต, ะฝะพ ั‡ั‚ะพ ะฟะพะดะตะปะฐั‚ัŒ.\nะ˜ะทะฒะธะฝะธั‚ะต ะทะฐ ะฝะตัƒะดะพะฑัั‚ะฒะฐ!\n\nPS: ะฒ chrome v107 ัั‚ะพ ะธัะฟั€ะฐะฒะธะปะธ', + "u_emtleakf": 'ะฟะพะฟั€ะพะฑัƒะนั‚ะต ัะดะตะปะฐั‚ัŒ ั‚ะฐะบ:\n
    • ะฝะฐะถะผะธั‚ะต F5 ะดะปั ะพะฑะฝะพะฒะปะตะฝะธั ัั‚ั€ะฐะฝะธั†ั‹
    • ะทะฐั‚ะตะผ ะฒะบะปัŽั‡ะธั‚ะต ะพะฟั†ะธัŽ ๐Ÿฅ” (ะฟั€ะพัั‚ะพะน ะธะฝั‚ะตั€ั„ะตะนั) ะฒะพ ะฒะบะปะฐะดะบะต ะทะฐะณั€ัƒะทะพะบ
    • ะธ ะฟะพะฒั‚ะพั€ะธั‚ะต ะฟะพะฟั‹ั‚ะบัƒ
    \nPS: firefox ัะบะพั€ะพ ะดะพะปะถะฝั‹ ะฟะพั‡ะธะฝะธั‚ัŒ ะฒ ัั‚ะพะผ ะฐัะฟะตะบั‚ะต', + "u_s404": "ะฝะต ะฝะฐะนะดะตะฝะพ ะฝะฐ ัะตั€ะฒะตั€ะต", + "u_expl": "ะพะฑัŠััะฝะธั‚ัŒ", + "u_maxconn": "ะฒ ะฑะพะปัŒัˆะธะฝัั‚ะฒะต ะฑั€ะฐัƒะทะตั€ะพะฒ ัั‚ะพ ะฝะตะปัŒะทั ะฟะพะดะฝัั‚ัŒ ะฒั‹ัˆะต 6, ะฝะพ firefox ะฟะพะทะฒะพะปัะตั‚ ัƒะฒะตะปะธั‡ะธั‚ัŒ ะปะธะผะธั‚ ั ะฟะพะผะพั‰ัŒัŽ connections-per-server ะฒ about:config", + "u_tu": '

    ะ’ะะ˜ะœะะะ˜ะ•: ะฐะบั‚ะธะฒะตะฝ ั€ะตะถะธะผ ั‚ัƒั€ะฑะพ,  ะบะปะธะตะฝั‚ ะผะพะถะตั‚ ะธะณะฝะพั€ะธั€ะพะฒะฐั‚ัŒ ะฝะตะทะฐะฒะตั€ัˆั‘ะฝะฝั‹ะต ะทะฐะณั€ัƒะทะบะธ; ะฟะพะดั€ะพะฑะฝะตะต ะฟั€ะธ ะฝะฐะฒะตะดะตะฝะธะธ ะฝะฐ ะบะฝะพะฟะบัƒ ั‚ัƒั€ะฑะพ

    ', + "u_ts": '

    ะ’ะะ˜ะœะะะ˜ะ•: ะฐะบั‚ะธะฒะตะฝ ั€ะตะถะธะผ ั‚ัƒั€ะฑะพ,  ั€ะตะทัƒะปัŒั‚ะฐั‚ั‹ ะฟะพะธัะบะฐ ะผะพะณัƒั‚ ะฑั‹ั‚ัŒ ะฝะตะบะพั€ั€ะตะบั‚ะฝั‹ะผะธ; ะฟะพะดั€ะพะฑะฝะตะต ะฟั€ะธ ะฝะฐะฒะตะดะตะฝะธะธ ะฝะฐ ะบะฝะพะฟะบัƒ ั‚ัƒั€ะฑะพ

    ', + "u_turbo_c": "ั€ะตะถะธะผ ั‚ัƒั€ะฑะพ ะพั‚ะบะปัŽั‡ั‘ะฝ ัะตั€ะฒะตั€ะพะผ", + "u_turbo_g": "ะพั‚ะบะปัŽั‡ะฐัŽ ั‚ัƒั€ะฑะพ, ะฟะพัะบะพะปัŒะบัƒ ัƒ ะฒะฐั ะฝะตั‚ ะฟั€ะฐะฒ\nะฝะฐ ะฟั€ะพัะผะพั‚ั€ ะฟะฐะฟะพะบ ะฒ ัั‚ะพะผ ั…ั€ะฐะฝะธะปะธั‰ะต", + "u_life_cfg": 'ะฐะฒั‚ะพัƒะดะฐะปะตะฝะธะต ั‡ะตั€ะตะท ะผะธะฝ (ะธะปะธ ั‡ะฐัะพะฒ)', + "u_life_est": 'ะทะฐะณั€ัƒะทะบะฐ ะฑัƒะดะตั‚ ัƒะดะฐะปะตะฝะฐ ---', + "u_life_max": 'ัั‚ะฐ ะฟะฐะฟะบะฐ ั‚ั€ะตะฑัƒะตั‚\nะฐะฒั‚ะพัƒะดะฐะปะตะฝะธั ั„ะฐะนะปะพะฒ ั‡ะตั€ะตะท {0}', + "u_unp_ok": 'ัƒะดะฐะปะตะฝะธะต ั€ะฐะทั€ะตัˆะตะฝะพ ะดะปั {0}', + "u_unp_ng": 'ัƒะดะฐะปะตะฝะธะต ะะ• ะฑัƒะดะตั‚ ั€ะฐะทั€ะตัˆะตะฝะพ', + "ue_ro": 'ะฒะฐัˆ ะดะพัั‚ัƒะฟ ะบ ะดะฐะฝะฝะพะน ะฟะฐะฟะบะต - ั‚ะพะปัŒะบะพ ั‡ั‚ะตะฝะธะต\n\n', + "ue_nl": 'ะฝะฐ ะดะฐะฝะฝั‹ะน ะผะพะผะตะฝั‚ ะฒั‹ ะฝะต ะฐะฒั‚ะพั€ะธะทะพะฒะฐะฝั‹', + "ue_la": 'ะฒั‹ ะฐะฒั‚ะพั€ะธะทะพะฒะฐะฝั‹ ะบะฐะบ "{0}"', + "ue_sr": 'ัะตะนั‡ะฐั ะฒั‹ ะฒ ั€ะตะถะธะผะต ะฟะพะธัะบะฐ ั„ะฐะนะปะพะฒ\n\nะฟะตั€ะตะนะดะธั‚ะต ะฒ ั€ะตะถะธะผ ะทะฐะณั€ัƒะทะบะธ, ะฝะฐะถะฐะฒ ะฝะฐ ะปัƒะฟัƒ ๐Ÿ”Ž (ั€ัะดะพะผ ั ะพะณั€ะพะผะฝะพะน ะบะฝะพะฟะบะพะน ะ˜ะกะšะะขะฌ), ะธ ะฟะพะฟั€ะพะฑัƒะนั‚ะต ัะฝะพะฒะฐ\n\nะธะทะฒะธะฝะธั‚ะต', + "ue_ta": 'ะฟะพะฟั€ะพะฑัƒะนั‚ะต ะทะฐะณั€ัƒะทะธั‚ัŒ ัะฝะพะฒะฐ, ั‚ะตะฟะตั€ัŒ ะดะพะปะถะฝะพ ัั€ะฐะฑะพั‚ะฐั‚ัŒ', + "ue_ab": "ัั‚ะพั‚ ั„ะฐะนะป ัƒะถะต ะทะฐะณั€ัƒะถะฐัŽั‚ ะฒ ะดั€ัƒะณัƒัŽ ะฟะฐะฟะบัƒ, ั‚ะฐ ะทะฐะณั€ัƒะทะบะฐ ะดะพะปะถะฝะฐ ะฑั‹ั‚ัŒ ะทะฐะฒะตั€ัˆะตะฝะฐ ะฟะตั€ะตะด ั‚ะตะผ, ะบะฐะบ ะทะฐะณั€ัƒะทะธั‚ัŒ ัั‚ะพั‚ ะถะต ั„ะฐะนะป ะฒ ะดั€ัƒะณะพะต ะผะตัั‚ะพ.\n\nะ’ั‹ ะผะพะถะตั‚ะต ะพั‚ะผะตะฝะธั‚ัŒ ัะฒะพัŽ ะทะฐะณั€ัƒะทะบัƒ ั‡ะตั€ะตะท ๐Ÿงฏ ัะฒะตั€ั…ัƒ ัะปะตะฒะฐ", + "ur_1uo": "OK: ะคะฐะนะป ัƒัะฟะตัˆะฝะพ ะทะฐะณั€ัƒะถะตะฝ", + "ur_auo": "OK: ะ’ัะต {0} ั„ะฐะนะปะพะฒ ัƒัะฟะตัˆะฝะพ ะทะฐะณั€ัƒะถะตะฝั‹", + "ur_1so": "OK: ะคะฐะนะป ะฝะฐะนะดะตะฝ ะฝะฐ ัะตั€ะฒะตั€ะต", + "ur_aso": "OK: ะ’ัะต {0} ั„ะฐะนะปะพะฒ ะฝะฐะนะดะตะฝั‹ ะฝะฐ ัะตั€ะฒะตั€ะต", + "ur_1un": "ะ—ะฐะณั€ัƒะทะบะฐ ะฝะต ัƒะดะฐะปะฐััŒ, ะธะทะฒะธะฝะธั‚ะต", + "ur_aun": "ะ’ัะต {0} ะทะฐะณั€ัƒะทะพะบ ะฝะต ัƒะดะฐะปะธััŒ, ะธะทะฒะธะฝะธั‚ะต", + "ur_1sn": "ะคะฐะนะป ะะ• ะฑั‹ะป ะฝะฐะนะดะตะฝ ะฝะฐ ัะตั€ะฒะตั€ะต", + "ur_asn": "ะ’ัะต {0} ั„ะฐะนะปะพะฒ ะะ• ะฑั‹ะปะพ ะฝะฐะนะดะตะฝะพ ะฝะฐ ัะตั€ะฒะตั€ะต", + "ur_um": "ะ—ะฐะฒะตั€ัˆะตะฝะพ;\n{0} ัƒัะฟะตัˆะฝะพ,\n{1} ะพัˆะธะฑะพะบ, ะธะทะฒะธะฝะธั‚ะต", + "ur_sm": "ะ—ะฐะฒะตั€ัˆะตะฝะพ;\n{0} ั„ะฐะนะปะพะฒ ะฝะฐะนะดะตะฝะพ ะฝะฐ ัะตั€ะฒะตั€ะต,\n{1} ั„ะฐะนะปะพะฒ ะะ• ะฝะฐะนะดะตะฝะพ ะฝะฐ ัะตั€ะฒะตั€ะต", + + "rc_opn": "ะพั‚ะบั€ั‹ั‚ัŒ", //m + "rc_ply": "ะฒะพัะฟั€ะพะธะทะฒะตัั‚ะธ", //m + "rc_pla": "ะฒะพัะฟั€ะพะธะทะฒะตัั‚ะธ ะบะฐะบ ะฐัƒะดะธะพ", //m + "rc_txt": "ะพั‚ะบั€ั‹ั‚ัŒ ะฒ ะฟั€ะพัะผะพั‚ั€ั‰ะธะบะต ั„ะฐะนะปะพะฒ", //m + "rc_md": "ะพั‚ะบั€ั‹ั‚ัŒ ะฒ ั‚ะตะบัั‚ะพะฒะพะผ ั€ะตะดะฐะบั‚ะพั€ะต", //m + "rc_dl": "ัะบะฐั‡ะฐั‚ัŒ", //m + "rc_zip": "ัะบะฐั‡ะฐั‚ัŒ ะบะฐะบ ะฐั€ั…ะธะฒ", //m + "rc_del": "ัƒะดะฐะปะธั‚ัŒ", //m + "rc_cut": "ะฒั‹ั€ะตะทะฐั‚ัŒ", //m + "rc_cpy": "ะบะพะฟะธั€ะพะฒะฐั‚ัŒ", //m + "rc_pst": "ะฒัั‚ะฐะฒะธั‚ัŒ", //m + "rc_nfo": "ะฝะพะฒะฐั ะฟะฐะฟะบะฐ", //m + "rc_nfi": "ะฝะพะฒั‹ะน ั„ะฐะนะป", //m + "rc_sal": "ะฒั‹ะฑั€ะฐั‚ัŒ ะฒัั‘", //m + "rc_sin": "ะธะฝะฒะตั€ั‚ะธั€ะพะฒะฐั‚ัŒ ะฒั‹ะดะตะปะตะฝะธะต", //m + + "lang_set": "ะฟะตั€ะตะทะฐะณั€ัƒะทะธั‚ัŒ ัั‚ั€ะฐะฝะธั†ัƒ, ั‡ั‚ะพะฑั‹ ะฟั€ะธะผะตะฝะธั‚ัŒ ะธะทะผะตะฝะตะฝะธั?", + + "splash": { + "a1": "ะพะฑะฝะพะฒะธั‚ัŒ", + "b1": "ะฟั€ะธะฒะตั‚ะธะบ, ะฝะตะทะฝะฐะบะพะผะตั†   (ะฒั‹ ะฝะต ะฐะฒั‚ะพั€ะธะทะพะฒะฐะฝั‹)", + "c1": "ะฒั‹ะนั‚ะธ", + "d1": "ั‚ั€ะฐััะธั€ะพะฒะบะฐ ัั‚ะตะบะฐ", + "d2": "ะฟะพะบะฐะทั‹ะฒะฐะตั‚ ัะพัั‚ะพัะฝะธะต ะฒัะตั… ะฐะบั‚ะธะฒะฝั‹ั… ะฟะพั‚ะพะบะพะฒ", + "e1": "ะฟะตั€ะตะทะฐะณั€ัƒะทะธั‚ัŒ ะบะพะฝั„ะธะณ", + "e2": "ะฟะตั€ะตะทะฐะณั€ัƒะทะธั‚ัŒ ั„ะฐะนะปั‹ ะบะพะฝั„ะธะณะฐ (ะฐะบะบะฐัƒะฝั‚ั‹/ั…ั€ะฐะฝะธะปะธั‰ะฐ/ั„ะปะฐะณะธ),$Nะธ ะฟะตั€ะตัะบะฐะฝะธั€ะพะฒะฐั‚ัŒ ะฒัะต ั…ั€ะฐะฝะธะปะธั‰ะฐ ั ั„ะปะฐะณะพะผ e2ds$N$Nะฒะฝะธะผะฐะฝะธะต: ะธะทะผะตะฝะตะฝะธั ะณะปะพะฑะฐะปัŒะฝั‹ั… ะฝะฐัั‚ั€ะพะตะบ$Nั‚ั€ะตะฑัƒัŽั‚ ะฟะพะปะฝะพะณะพ ะฟะตั€ะตะทะฐะฟัƒัะบะฐ ัะตั€ะฒะตั€ะฐ", + "f1": "ะฒั‹ ะผะพะถะตั‚ะต ะฒะธะดะตั‚ัŒ:", + "g1": "ะฒั‹ ะผะพะถะตั‚ะต ะทะฐะณั€ัƒะถะฐั‚ัŒ ั„ะฐะนะปั‹ ะฒ:", + "cc1": "ะฒััะบะฐั ะฒััั‡ะธะฝะฐ:", + "h1": "ะพั‚ะบะปัŽั‡ะธั‚ัŒ k304", + "i1": "ะฒะบะปัŽั‡ะธั‚ัŒ k304", + "j1": "ะฒะบะปัŽั‡ั‘ะฝะฝั‹ะน k304 ะฑัƒะดะตั‚ ะพั‚ะบะปัŽั‡ะฐั‚ัŒ ะฒะฐั ะฟั€ะธ ะฟะพะปัƒั‡ะตะฝะธะธ HTTP 304, ั‡ั‚ะพ ะผะพะถะตั‚ ะฟะพะผะพั‡ัŒ ะฟั€ะธ ั€ะฐะฑะพั‚ะต ั ะฝะตะบะพั‚ะพั€ั‹ะผะธ ะณะปัŽั‡ะฝั‹ะผะธ ะฟั€ะพะบัะธ (ะฟะตั€ะตัั‚ะฐัŽั‚ ะทะฐะณั€ัƒะถะฐั‚ัŒัั ัั‚ั€ะฐะฝะธั†ั‹), ะฝะพ ัั‚ะพ ั‚ะฐะบะถะต ัะดะตะปะฐะตั‚ ั€ะฐะฑะพั‚ัƒ ะบะปะธะตะฝั‚ะฐ ะผะตะดะปะตะฝะฝะตะต", + "k1": "ัะฑั€ะพัะธั‚ัŒ ะปะพะบะฐะปัŒะฝั‹ะต ะฝะฐัั‚ั€ะพะนะบะธ", + "l1": "ะฐะฒั‚ะพั€ะธะทัƒะนั‚ะตััŒ ะดะปั ะดั€ัƒะณะธั… ะพะฟั†ะธะน:", + "ls3": "ะฒะพะนั‚ะธ", //m + "lu4": "ะธะผั ะฟะพะปัŒะทะพะฒะฐั‚ะตะปั", //m + "lp4": "ะฟะฐั€ะพะปัŒ", //m + "lo3": "ะฒั‹ะนั‚ะธ ะธะท โ€œ{0}โ€ ะฒะตะทะดะต", //m + "lo2": "ัั‚ะพ ะทะฐะฒะตั€ัˆะธั‚ ัะตะฐะฝั ะฒะพ ะฒัะตั… ะฑั€ะฐัƒะทะตั€ะฐั…", //m + "m1": "ั ะฒะพะทะฒั€ะฐั‰ะตะฝะธะตะผ,", + "n1": "404 ะฝะต ะฝะฐะนะดะตะฝะพ  โ”( ยด -`)โ”Œ", + "o1": 'ะธะปะธ ัƒ ะฒะฐั ะฝะตั‚ ะดะพัั‚ัƒะฟะฐ -- ะฟะพะฟั€ะพะฑัƒะนั‚ะต ะฐะฒั‚ะพั€ะธะทะพะฒะฐั‚ัŒัั ะธะปะธ ะฒะตั€ะฝัƒั‚ัŒัั ะฝะฐ ะณะปะฐะฒะฝัƒัŽ', + "p1": "403 ะดะพัั‚ัƒะฟ ะทะฐะฟั€ะตั‰ั‘ะฝ  ~โ”ปโ”โ”ป", + "q1": 'ะฐะฒั‚ะพั€ะธะทัƒะนั‚ะตััŒ ะธะปะธ ะฒะตั€ะฝะธั‚ะตััŒ ะฝะฐ ะณะปะฐะฒะฝัƒัŽ', + "r1": "ะฒะตั€ะฝัƒั‚ัŒัั ะฝะฐ ะณะปะฐะฒะฝัƒัŽ", + ".s1": "ะฟะตั€ะตัะบะฐะฝะธั€ะพะฒะฐั‚ัŒ", + "t1": "ะดะตะนัั‚ะฒะธั", + "u2": "ะฒั€ะตะผั ั ะฟะพัะปะตะดะฝะตะน ะทะฐะฟะธัะธ ะฝะฐ ัะตั€ะฒะตั€$N( ะทะฐะณั€ัƒะทะบะฐ / ะฟะตั€ะตะธะผะตะฝะพะฒะฐะฝะธะต / ... )$N$N17d = 17 ะดะฝะตะน$N1h23 = 1 ั‡ะฐั 23 ะผะธะฝัƒั‚$N4m56 = 4 ะผะธะฝัƒั‚ 56 ัะตะบัƒะฝะด", + "v1": "ะฟะพะดะบะปัŽั‡ะธั‚ัŒ", + "v2": "ะธัะฟะพะปัŒะทะพะฒะฐั‚ัŒ ัะตั€ะฒะตั€ ะบะฐะบ ะปะพะบะฐะปัŒะฝั‹ะน ะดะธัะบ", + "w1": "ะฟะตั€ะตะนั‚ะธ ะฝะฐ https", + "x1": "ะฟะพะผะตะฝัั‚ัŒ ะฟะฐั€ะพะปัŒ", + "y1": "ัƒะฟั€ะฐะฒะปะตะฝะธะต ะดะพัั‚ัƒะฟะพะผ", + "z1": "ั€ะฐะทะฑะปะพะบะธั€ะพะฒะฐั‚ัŒ:", + "ta1": "ัะฝะฐั‡ะฐะปะฐ ะฒะฒะตะดะธั‚ะต ัะฒะพะน ะฝะพะฒั‹ะน ะฟะฐั€ะพะปัŒ", + "ta2": "ะฟะพะฒั‚ะพั€ะธั‚ะต ะฝะพะฒั‹ะน ะฟะฐั€ะพะปัŒ:", + "ta3": "ะพะฟะตั‡ะฐั‚ะบะฐ; ะฟะพะฟั€ะพะฑัƒะนั‚ะต ัะฝะพะฒะฐ", + "nop": "ะžะจะ˜ะ‘ะšะ: ะŸะฐั€ะพะปัŒ ะฝะต ะผะพะถะตั‚ ะฑั‹ั‚ัŒ ะฟัƒัั‚ั‹ะผ", //m + "nou": "ะžะจะ˜ะ‘ะšะ: ะ˜ะผั ะฟะพะปัŒะทะพะฒะฐั‚ะตะปั ะธ/ะธะปะธ ะฟะฐั€ะพะปัŒ ะฝะต ะผะพะณัƒั‚ ะฑั‹ั‚ัŒ ะฟัƒัั‚ั‹ะผะธ", //m + "aa1": "ะฒั…ะพะดัั‰ะธะต ั„ะฐะนะปั‹:", + "ab1": "ะพั‚ะบะปัŽั‡ะธั‚ัŒ no304", + "ac1": "ะฒะบะปัŽั‡ะธั‚ัŒ no304", + "ad1": "ะฒะบะปัŽั‡ั‘ะฝะฝั‹ะน no304 ะฟะพะปะฝะพัั‚ัŒัŽ ะพั‚ะบะปัŽั‡ะธั‚ ั…ะตัˆะธั€ะพะฒะฐะฝะธะต; ะธัะฟะพะปัŒะทัƒะนั‚ะต, ะตัะปะธ k304 ะฝะต ะฟะพะผะพะณ. ะกะธะปัŒะฝะพ ัƒะฒะตะปะธั‡ะธั‚ ะพะฑัŠั‘ะผ ั‚ั€ะฐั„ะธะบะฐ!", + "ae1": "ะฐะบั‚ะธะฒะฝั‹ะต ัะบะฐั‡ะธะฒะฐะฝะธั:", + "af1": "ะฟะพะบะฐะทะฐั‚ัŒ ะฝะตะดะฐะฒะฝะธะต ะทะฐะณั€ัƒะทะบะธ", + "ag1": "ะฟะพะบะฐะทะฐั‚ัŒ ะธะทะฒะตัั‚ะฝั‹ั… IdP-ะฟะพะปัŒะทะพะฒะฐั‚ะตะปะตะน", + } +}; diff --git a/copyparty/web/tl/spa.js b/copyparty/web/tl/spa.js new file mode 100644 index 00000000..d6303cc9 --- /dev/null +++ b/copyparty/web/tl/spa.js @@ -0,0 +1,709 @@ + +// Las lรญneas que terminan con //m son traducciones automรกticas no verificadas + +Ls.spa = { + "tt": "Espaรฑol", + + "cols": { + "c": "acciones", + "dur": "duraciรณn", + "q": "calidad / bitrate", + "Ac": "cรณdec de audio", + "Vc": "cรณdec de vรญdeo", + "Fmt": "formato / contenedor", + "Ahash": "checksum de audio", + "Vhash": "checksum de vรญdeo", + "Res": "resoluciรณn", + "T": "tipo de archivo", + "aq": "calidad de audio / bitrate", + "vq": "calidad de vรญdeo / bitrate", + "pixfmt": "submuestreo / estructura de pรญxel", + "resw": "resoluciรณn horizontal", + "resh": "resoluciรณn vertical", + "chs": "canales de audio", + "hz": "frecuencia de muestreo", + }, + + "hks": [ + [ + "varios", + ["ESC", "cerrar varias cosas"], + + "gestor de archivos", + ["G", "alternar vista de lista / cuadrรญcula"], + ["T", "alternar miniaturas / iconos"], + ["โ‡ง A/D", "tamaรฑo de miniatura"], + ["ctrl-K", "eliminar seleccionados"], + ["ctrl-X", "cortar selecciรณn al portapapeles"], + ["ctrl-C", "copiar selecciรณn al portapapeles"], + ["ctrl-V", "pegar (mover/copiar) aquรญ"], + ["Y", "descargar seleccionados"], + ["F2", "renombrar seleccionados"], + + "selecciรณn en lista de archivos", + ["space", "alternar selecciรณn de archivo"], + ["โ†‘/โ†“", "mover cursor de selecciรณn"], + ["ctrl โ†‘/โ†“", "mover cursor y vista"], + ["โ‡ง โ†‘/โ†“", "seleccionar anterior/siguiente archivo"], + ["ctrl-A", "seleccionar todos los archivos / carpetas"] + ], [ + "navegaciรณn", + ["B", "alternar breadcrumbs / panel de navegaciรณn"], + ["I/K", "anterior/siguiente carpeta"], + ["M", "carpeta de nivel superior (o contraer actual)"], + ["V", "alternar carpetas / archivos en panel de navegaciรณn"], + ["A/D", "tamaรฑo del panel de navegaciรณn"] + ], [ + "reproductor de audio", + ["J/L", "anterior/siguiente canciรณn"], + ["U/O", "saltar 10s atrรกs/adelante"], + ["0..9", "saltar a 0%..90%"], + ["P", "reproducir/pausar (tambiรฉn inicia)"], + ["S", "seleccionar canciรณn en reproducciรณn"], + ["Y", "descargar canciรณn"] + ], [ + "visor de imรกgenes", + ["J/L, โ†/โ†’", "anterior/siguiente imagen"], + ["Home/End", "primera/รบltima imagen"], + ["F", "pantalla completa"], + ["R", "rotar en sentido horario"], + ["โ‡ง R", "rotar en sentido antihorario"], + ["S", "seleccionar imagen"], + ["Y", "descargar imagen"] + ], [ + "reproductor de vรญdeo", + ["U/O", "saltar 10s atrรกs/adelante"], + ["P/K/Space", "reproducir/pausar"], + ["C", "continuar con el siguiente"], + ["V", "bucle"], + ["M", "silenciar"], + ["[ y ]", "establecer intervalo de bucle"] + ], [ + "visor de texto", + ["I/K", "anterior/siguiente archivo"], + ["M", "cerrar archivo"], + ["E", "editar archivo"], + ["S", "seleccionar archivo (para cortar/copiar/renombrar)"], + ["Y", "descargar archivo de texto"], //m + ["โ‡ง J", "embellecer json"], //m + ] + ], + + "m_ok": "Aceptar", + "m_ng": "Cancelar", + + "enable": "Activar", + "danger": "PELIGRO", + "clipped": "copiado al portapapeles", + + "ht_s1": "segundo", + "ht_s2": "segundos", + "ht_m1": "minuto", + "ht_m2": "minutos", + "ht_h1": "hora", + "ht_h2": "horas", + "ht_d1": "dรญa", + "ht_d2": "dรญas", + "ht_and": " y ", + + "goh": "panel de control", + "gop": 'hermano anterior">anterior', + "gou": 'carpeta de nivel superior">subir', + "gon": 'siguiente carpeta">siguiente', + "logout": "Cerrar sesiรณn ", + "login": "Iniciar sesiรณn", //m + "access": " acceso", + "ot_close": "cerrar submenรบ", + "ot_search": "buscar archivos por atributos, ruta / nombre, etiquetas de mรบsica, o cualquier combinaciรณn$N$N<code>foo bar</code> = debe contener ยซfooยป y ยซbarยป,$N<code>foo -bar</code> = debe contener ยซfooยป pero no ยซbarยป,$N<code>^yana .opus$</code> = empieza con ยซyanaยป y es un archivo ยซopusยป$N<code>"try unite"</code> = contiene exactamente ยซtry uniteยป$N$Nel formato de fecha es iso-8601, como$N<code>2009-12-31</code> o <code>2020-09-12 23:30:00</code>", + "ot_unpost": "dessubir: elimina tus subidas recientes, o aborta las inacabadas", + "ot_bup": "bup: uploader bรกsico, soporta hasta netscape 4.0", + "ot_mkdir": "mkdir: crear un nuevo directorio", + "ot_md": "new-file: crear un nuevo archivo de texto", //m + "ot_msg": "msg: enviar un mensaje al registro del servidor", + "ot_mp": "opciones del reproductor multimedia", + "ot_cfg": "opciones de configuraciรณn", + "ot_u2i": "up2k: subir archivos (si tienes acceso de escritura) o cambiar a modo de bรบsqueda para ver si existen en el servidor$N$Nlas subidas se pueden reanudar, usan mรบltiples hilos y conservan la fecha de los archivos, pero consume mรกs CPU que [๐ŸŽˆ]  (el uploader bรกsico)

    ยกDurante las subidas, este icono se convierte en un indicador de progreso!", + "ot_u2w": "up2k: subir archivos con soporte para reanudaciรณn (cierra tu navegador y arrastra los mismos archivos mรกs tarde)$N$NMultihilo y conserva las fechas de los archivos, pero usa mรกs CPU que [๐ŸŽˆ]  (el uploader bรกsico)

    ยกDurante las subidas, este icono se convierte en un indicador de progreso!", + "ot_noie": "Por favor, usa Chrome / Firefox / Edge", + + "ab_mkdir": "crear directorio", + "ab_mkdoc": "nuevo archivo de texto", //m + "ab_msg": "enviar msg al registro del servidor", + + "ay_path": "saltar a carpetas", + "ay_files": "saltar a archivos", + + "wt_ren": "renombrar elementos seleccionados$NAtajo: F2", + "wt_del": "eliminar elementos seleccionados$NAtajo: ctrl-K", + "wt_cut": "cortar elementos seleccionados <small>(luego pegar en otro lugar)</small>$NAtajo: ctrl-X", + "wt_cpy": "copiar elementos seleccionados al portapapeles$N(para pegarlos en otro lugar)$NAtajo: ctrl-C", + "wt_pst": "pegar una selecciรณn previamente cortada / copiada$NAtajo: ctrl-V", + "wt_selall": "seleccionar todos los archivos$NAtajo: ctrl-A (con un archivo con foco)", + "wt_selinv": "invertir selecciรณn", + "wt_zip1": "descargar esta carpeta como un archivo comprimido", + "wt_selzip": "descargar selecciรณn como archivo comprimido", + "wt_seldl": "descargar selecciรณn como archivos separados$NAtajo: Y", + "wt_npirc": "copiar informaciรณn de pista en formato IRC", + "wt_nptxt": "copiar informaciรณn de pista en texto plano", + "wt_m3ua": "aรฑadir a lista m3u (haz clic en ๐Ÿ“ปcopiar despuรฉs)", + "wt_m3uc": "copiar lista m3u al portapapeles", + "wt_grid": "alternar vista de cuadrรญcula / lista$NAtajo: G", + "wt_prev": "pista anterior$NAtajo: J", + "wt_play": "reproducir / pausar$NAtajo: P", + "wt_next": "siguiente pista$NAtajo: L", + + "ul_par": "subidas paralelas:", + "ut_rand": "aleatorizar nombres de archivo", + "ut_u2ts": 'copiar la fecha de รบltima modificaciรณn$Nde tu sistema de archivos al servidor">๐Ÿ“…', + "ut_ow": "sobrescribir archivos existentes en el servidor?$N๐Ÿ›ก๏ธ: nunca (generarรก un nuevo nombre de archivo en su lugar)$N๐Ÿ•’: sobrescribir si el archivo del servidor es mรกs antiguo que el tuyo$Nโ™ป๏ธ: siempre sobrescribir si los archivos son diferentes$Nโญ๏ธ: omitir incondicionalmente todos los archivos existentes", //m + "ut_mt": "continuar generando hashes de otros archivos mientras se sube$N$Nquizรกs desactivar si tu CPU o HDD es un cuello de botella", + "ut_ask": 'pedir confirmaciรณn antes de iniciar la subida">๐Ÿ’ญ', + "ut_pot": "mejorar la velocidad de subida en dispositivos lentos$Nsimplificando la interfaz de usuario", + "ut_srch": "no subir, en su lugar comprobar si los archivos ya $N existen en el servidor (escanearรก todas las carpetas que puedas leer)", + "ut_par": "pausar subidas poniรฉndolo a 0$N$Naumentar si tu conexiรณn es lenta / de alta latencia$N$Nmantener en 1 en LAN o si el HDD del servidor es un cuello de botella", + "ul_btn": "arrastra archivos / carpetas
    aquรญ (o haz clic)", + "ul_btnu": "S U B I R", + "ul_btns": "B U S C A R", + + "ul_hash": "hash", + "ul_send": "envio", + "ul_done": "hecho", + "ul_idle1": "aรบn no hay subidas en cola", + "ut_etah": "velocidad media de <em>hashing</em>, y tiempo estimado para finalizar", + "ut_etau": "velocidad media de <em>subida</em> y tiempo estimado para finalizar", + "ut_etat": "velocidad media <em>total</em> y tiempo estimado para finalizar", + + "uct_ok": "completado con รฉxito", + "uct_ng": "fallido: error / rechazado / no encontrado", + "uct_done": "รฉxitos y fallos combinados", + "uct_bz": "generando hash o subiendo", + "uct_q": "inactivo, pendiente", + + "utl_name": "nombre de archivo", + "utl_ulist": "lista", + "utl_ucopy": "copiar", + "utl_links": "enlaces", + "utl_stat": "estado", + "utl_prog": "progreso", + + "utl_404": "404", + "utl_err": "ERROR", + "utl_oserr": "Error-SO", + "utl_found": "encontrado", + "utl_defer": "posponer", + "utl_yolo": "YOLO", + "utl_done": "hecho", + + "ul_flagblk": "los archivos se aรฑadieron a la cola
    sin embargo, hay un up2k ocupado en otra pestaรฑa del navegador,
    esperando a que termine primero", + "ul_btnlk": "la configuraciรณn del servidor ha bloqueado esta opciรณn en este estado", + + "udt_up": "Subir", + "udt_srch": "Buscar", + "udt_drop": "suรฉltalo aquรญ", + + "u_nav_m": "
    vale, ยฟquรฉ tienes?
    Intro = Archivos (uno o mรกs)\nESC = Una carpeta (incluyendo subcarpetas)", + "u_nav_b": "ArchivosUna carpeta", + + "cl_opts": "opciones", + "cl_hfsz": "tamaรฑo del archivo", //m + "cl_themes": "tema", + "cl_langs": "idioma", + "cl_ziptype": "descarga de carpeta", + "cl_uopts": "opciones up2k", + "cl_favico": "favicon", + "cl_bigdir": "directorios grandes", + "cl_hsort": "#ordenar", + "cl_keytype": "notaciรณn musical", + "cl_hiddenc": "columnas ocultas", + "cl_hidec": "ocultar", + "cl_reset": "restablecer", + "cl_hpick": "toca en las cabeceras de columna para ocultarlas en la tabla de abajo", + "cl_hcancel": "ocultaciรณn de columna cancelada", + "cl_rcm": "menรบ contextual", //m + + "ct_grid": '็”ฐ cuadrรญcula', + "ct_ttips": 'โ—” โ—ก โ—”">โ„น๏ธ tooltips', + "ct_thumb": 'en vista de cuadrรญcula, alternar iconos o miniaturas$NAtajo: T">๐Ÿ–ผ๏ธ miniaturas', + "ct_csel": 'usa CTRL y SHIFT para seleccionar archivos en la vista de cuadrรญcula">sel', + "ct_dl": 'forzar descarga (no mostrar en lรญnea) al hacer clic en un archivo">dl', //m + "ct_ihop": 'al cerrar el visor de imรกgenes, desplazarse hasta el รบltimo archivo visto">gโฎฏ', + "ct_dots": 'mostrar archivos ocultos (si el servidor lo permite)">archivos ocultos', + "ct_qdel": 'al eliminar archivos, pedir confirmaciรณn solo una vez">elim. rรกpida', + "ct_dir1st": 'ordenar carpetas antes que archivos">๐Ÿ“ primero', + "ct_nsort": 'orden natural (para nombres de archivo con dรญgitos iniciales)">ord. natural', + "ct_utc": 'use UTC para todas las horas">UTC', //m + "ct_readme": 'mostrar README.md en los listados de carpetas">๐Ÿ“œ lรฉeme', + "ct_idxh": 'mostrar index.html en lugar del listado de carpetas">htm', + "ct_sbars": 'mostrar barra lateral">โŸŠ', + + "cut_umod": 'si un archivo ya existe en el servidor, actualiza la fecha de รบltima modificaciรณn del servidor para que coincida con tu archivo local (requiere permisos de escritura+eliminaciรณn)">re๐Ÿ“…', + + "cut_turbo": 'el botรณn yolo, probablemente NO quieras activarlo:$N$Nรบsalo si estabas subiendo una gran cantidad de archivos y tuviste que reiniciar por alguna razรณn, y quieres continuar la subida lo antes posible$N$Nesto reemplaza la comprobaciรณn de hash por un simple "ยฟtiene este el mismo tamaรฑo de archivo en el servidor?" asรญ que si el contenido del archivo es diferente, NO se subirรก$N$Ndeberรญas desactivar esto cuando la subida termine, y luego "subir" los mismos archivos de nuevo para que el cliente los verifique">turbo', + + "cut_datechk": 'no tiene efecto a menos que el botรณn turbo estรฉ activado$N$Nreduce el factor yolo en una pequeรฑa cantidad; comprueba si las fechas de los archivos en el servidor coinciden con las tuyas$N$Nteรณricamente deberรญa detectar la mayorรญa de las subidas inacabadas / corruptas, pero no es un sustituto de hacer una pasada de verificaciรณn con el turbo desactivado despuรฉs">verif. fecha', + + "cut_u2sz": "tamaรฑo (en MiB) de cada trozo de subida; los valores grandes vuelan mejor a travรฉs del atlรกntico. Prueba valores bajos en conexiones muy poco fiables", + + "cut_flag": "asegura que solo una pestaรฑa estรฉ subiendo a la vez $N -- otras pestaรฑas tambiรฉn deben tener esto activado $N -- solo afecta a pestaรฑas en el mismo dominio", + + "cut_az": "subir archivos en orden alfabรฉtico, en lugar de los mรกs pequeรฑos primero$N$Nel orden alfabรฉtico puede facilitar la detecciรณn visual de si algo saliรณ mal en el servidor, pero hace la subida ligeramente mรกs lenta en fibra / LAN", + + "cut_nag": "notificaciรณn del SO cuando la subida se complete$N(solo si el navegador o la pestaรฑa no estรกn activos)", + "cut_sfx": "alerta sonora cuando la subida se complete$N(solo si el navegador o la pestaรฑa no estรกn activos)", + + "cut_mt": 'usar multithreading para acelerar el hashing de archivos$N$Nesto usa web-workers y requiere$Nmรกs RAM (hasta 512 MiB extra)$N$Nhace https un 30% mรกs rรกpido, http 4.5x mรกs rรกpido">mt', + + "cut_wasm": 'usar wasm en lugar del hasher incorporado del navegador; mejora la velocidad en navegadores basados en chrome pero aumenta la carga de la CPU, y muchas versiones antiguas de chrome tienen errores que hacen que el navegador consuma toda la RAM y se bloquee si esto estรก activado">wasm', + + "cft_text": "texto del favicon (dejar en blanco y refrescar para desactivar)", + "cft_fg": "color de primer plano", + "cft_bg": "color de fondo", + + "cdt_lim": "nรบmero mรกximo de archivos a mostrar en una carpeta", + "cdt_ask": "al llegar al final,$Nen lugar de cargar mรกs archivos,$Npreguntar quรฉ hacer", + "cdt_hsort": "cuรกntas reglas de ordenaciรณn (<code>,sorthref</code>) incluir en las URLs de medios. Ponerlo a 0 tambiรฉn ignorarรก las reglas de ordenaciรณn incluidas en los enlaces de medios al hacer clic en ellos", + "cdt_ren": "habilitar menรบ contextual personalizado, el menรบ normal sigue siendo accesible con shift + clic derecho", //m + + "tt_entree": "mostrar panel de navegaciรณn (barra lateral con รกrbol de directorios)$NAtajo: B", + "tt_detree": "mostrar breadcrumbs$NAtajo: B", + "tt_visdir": "desplazarse a la carpeta seleccionada", + "tt_ftree": "alternar รกrbol de carpetas / archivos de texto$NAtajo: V", + "tt_pdock": "mostrar carpetas de niveles superiores en un panel acoplado en la parte superior", + "tt_dynt": "crecimiento automรกtico a medida que el รกrbol se expande", + "tt_wrap": "ajuste de lรญnea", + "tt_hover": "revelar lรญneas que se desbordan al pasar el ratรณn$N( rompe el desplazamiento a menos que el $N  cursor estรฉ en el margen izquierdo )", + + "ml_pmode": "al final de la carpeta...", + "ml_btns": "acciones", + "ml_tcode": "transcodificar", + "ml_tcode2": "transcodificar a", + "ml_tint": "tinte", + "ml_eq": "ecualizador de audio", + "ml_drc": "compresor de rango dinรกmico", + + "mt_loop": 'poner en bucle/repetir una canciรณn">๐Ÿ”', + "mt_one": 'parar despuรฉs de una canciรณn">1๏ธโƒฃ', + "mt_shuf": 'reproducir aleatoriamente las canciones en cada carpeta">๐Ÿ”€', + "mt_aplay": 'reproducir automaticamente si hay un ID de canciรณn en el enlace en el que hiciste clic para acceder al servidor$N$Ndesactivar esto tambiรฉn evitarรก que la URL de la pรกgina se actualice con IDs de canciรณn al reproducir mรบsica, para prevenir la reproducciรณn automรกtica si se pierden estos ajustes pero la URL permanece">aโ–ถ', + "mt_preload": 'empezar a cargar la siguiente canciรณn cerca del final para una reproducciรณn sin pausas">precarga', + "mt_prescan": 'ir a la siguiente carpeta antes de que la รบltima canciรณn$Ntermine, manteniendo contento al navegador$Npara que no detenga la reproducciรณn">nav', + "mt_fullpre": 'intentar precargar la canciรณn entera;$Nโœ… activar en conexiones inestables,$NโŒ desactivar probablemente en conexiones lentas">completa', + "mt_fau": 'en telรฉfonos, evitar que la mรบsica se detenga si la siguiente canciรณn no se precarga lo suficientemente rรกpido (puede causar fallos en la visualizaciรณn de etiquetas)">โ˜•๏ธ', + "mt_waves": 'barra de bรบsqueda con forma de onda:$Nmostrar la amplitud del audio en la barra de progreso">~s', + "mt_npclip": 'mostrar botones para copiar al portapapeles la canciรณn actual">/np', + "mt_m3u_c": 'mostrar botones para copiar al portapapeles las$Ncanciones seleccionadas como entradas de lista m3u8">๐Ÿ“ป', + "mt_octl": 'integraciรณn con SO (teclas multimedia / OSD)">ctl-so', + "mt_oseek": 'permitir buscar a travรฉs de la integraciรณn con el SO$N$Nnota: en algunos dispositivos (iPhones),$Nesto reemplaza el botรณn de siguiente canciรณn">bรบsqueda', + "mt_oscv": 'mostrar carรกtula del รกlbum en OSD">arte', + "mt_follow": 'mantener la pista en reproducciรณn visible en pantalla">๐ŸŽฏ', + "mt_compact": 'controles compactos">โŸŽ', + "mt_uncache": 'limpiar cachรฉ  (prueba esto si tu navegador guardรณ en cachรฉ$Nuna copia rota de una canciรณn que se niega a reproducir)">limpiar cachรฉ', + "mt_mloop": 'repetir la carpeta actual">๐Ÿ” bucle', + "mt_mnext": 'cargar la siguiente carpeta y continuar">๐Ÿ“‚ sig', + "mt_mstop": 'detener reproducciรณn">โธ parar', + "mt_cflac": 'convertir flac / wav a {0}">flac', + "mt_caac": 'convertir aac / m4a a {0}">aac', + "mt_coth": 'convertir todos los demรกs (no mp3) a {0}">oth', + "mt_c2opus": 'la mejor opciรณn para ordenadores, portรกtiles, android">opus', + "mt_c2owa": 'opus-weba, para iOS 17.5 y superior">owa', + "mt_c2caf": 'opus-caf, para iOS 11 a 17">caf', + "mt_c2mp3": 'usar en dispositivos muy antiguos">mp3', + "mt_c2flac": "la mejor calidad de sonido,$Npero descargas muy grandes\">flac", //m + "mt_c2wav": "reproducciรณn sin comprimir (aรบn mรกs grande)\">wav", //m + "mt_c2ok": "bien, buena elecciรณn", + "mt_c2nd": "ese no es el formato de salida recomendado para tu dispositivo, pero estรก bien", + "mt_c2ng": "tu dispositivo no parece soportar este formato de salida, pero intentรฉmoslo de todas formas", + "mt_xowa": "hay errores en iOS que impiden la reproducciรณn en segundo plano con este formato; por favor, usa caf o mp3 en su lugar", + "mt_tint": "nivel de fondo (0-100) en la barra de bรบsqueda$Npara hacer el buffering menos molesto", + "mt_eq": "activa el ecualizador y el control de ganancia;$N$Nganancia <code>0</code> = volumen estรกndar 100% (sin modificar)$N$Nancho <code>1  </code> = estรฉreo estรกndar (sin modificar)$Nancho <code>0.5</code> = 50% de crossfeed izq-der$Nancho <code>0  </code> = mono$N$Nganancia <code>-0.8</code> y ancho <code>10</code> = eliminaciรณn de voz :^)$N$Nactivar el ecualizador hace que los รกlbumes sin pausas sean completamente sin pausas, asรญ que dรฉjalo activado con todos los valores a cero (excepto ancho = 1) si eso te importa", + "mt_drc": "activa el compresor de rango dinรกmico (aplanador de volumen / brickwaller); tambiรฉn activarรก el EQ para equilibrar el espagueti, asรญ que pon todos los campos de EQ excepto 'ancho' a 0 si no lo quieres$N$Nbaja el volumen del audio por encima de THRESHOLD dB; por cada RATIO dB pasado THRESHOLD hay 1 dB de salida, asรญ que los valores por defecto de umbral -24 y ratio 12 significan que nunca deberรญa sonar mรกs fuerte de -22 dB y es seguro aumentar la ganancia del ecualizador a 0.8, o incluso 1.8 con ATK 0 y un RLS enorme como 90 (solo funciona en firefox; RLS es mรกx. 1 en otros navegadores)$N$N(ver wikipedia, lo explican mucho mejor)", + + "mb_play": "reproducir", + "mm_hashplay": "ยฟreproducir este archivo de audio?", + "mm_m3u": "pulsa Intro/Aceptar para Reproducir\npulsa ESC/Cancelar para Editar", + "mp_breq": "se necesita firefox 82+ o chrome 73+ o iOS 15+", + "mm_bload": "cargando...", + "mm_bconv": "convirtiendo a {0}, por favor espera...", + "mm_opusen": "tu navegador no puede reproducir archivos aac / m4a;\nse ha activado la transcodificaciรณn a opus", + "mm_playerr": "fallo de reproducciรณn: ", + "mm_eabrt": "El intento de reproducciรณn fue cancelado", + "mm_enet": "Tu conexiรณn a internet es inestable", + "mm_edec": "ยฟEste archivo estรก supuestamente corrupto?", + "mm_esupp": "Tu navegador no entiende este formato de audio", + "mm_eunk": "Error desconocido", + "mm_e404": "No se pudo reproducir el audio; error 404: Archivo no encontrado.", + "mm_e403": "No se pudo reproducir el audio; error 403: Acceso denegado.\n\nIntenta pulsar F5 para recargar, quizรกs se cerrรณ tu sesiรณn", + "mm_e500": "No se pudo reproducir el audio; error 500: Revisa los registros del servidor.", + "mm_e5xx": "No se pudo reproducir el audio; error del servidor ", + "mm_nof": "no se encuentran mรกs archivos de audio cerca", + "mm_prescan": "Buscando mรบsica para reproducir a continuaciรณn...", + "mm_scank": "Encontrada la siguiente canciรณn:", + "mm_uncache": "cachรฉ limpiada; todas las canciones se volverรกn a descargar en la prรณxima reproducciรณn", + "mm_hnf": "esa canciรณn ya no existe", + + "im_hnf": "esa imagen ya no existe", + + "f_empty": "esta carpeta estรก vacรญa", + "f_chide": "esto ocultarรก la columna ยซ{0}ยป\n\npuedes volver a mostrar las columnas en la pestaรฑa de configuraciรณn", + "f_bigtxt": "este archivo pesa {0} MiB -- ยฟrealmente verlo como texto?", + "f_bigtxt2": "ยฟver solo el final del archivo en su lugar? esto tambiรฉn activarรก el seguimiento, mostrando las lรญneas de texto reciรฉn aรฑadidas en tiempo real", + "fbd_more": '
    mostrando {0} de {1} archivos; mostrar {2} o mostrar todos
    ', + "fbd_all": '
    mostrando {0} de {1} archivos; mostrar todos
    ', + "f_anota": "solo {0} de los {1} elementos fueron seleccionados;\npara seleccionar la carpeta completa, primero desplรกzate hasta el final", + + "f_dls": "los enlaces a archivos en la carpeta actual se han\nconvertido en enlaces de descarga", + + "f_partial": "Para descargar de forma segura un archivo que se estรก subiendo actualmente, por favor haz clic en el archivo con el mismo nombre, pero sin la extensiรณn .PARTIAL. Por favor, pulsa CANCELAR o Escape para hacer esto.\n\nPulsar ACEPTAR o Intro ignorarรก esta advertencia y continuarรก descargando el archivo temporal .PARTIAL, lo que casi con toda seguridad te darรก datos corruptos.", + + "ft_paste": "pegar {0} elementos$NAtajo: ctrl-V", + "fr_eperm": "no se puede renombrar:\nno tienes permiso de โ€œmoverโ€ en esta carpeta", + "fd_eperm": "no se puede eliminar:\nno tienes permiso de โ€œeliminarโ€ en esta carpeta", + "fc_eperm": "no se puede cortar:\nno tienes permiso de โ€œmoverโ€ en esta carpeta", + "fp_eperm": "no se puede pegar:\nno tienes permiso de โ€œescribirโ€ en esta carpeta", + "fr_emore": "selecciona al menos un elemento para renombrar", + "fd_emore": "selecciona al menos un elemento para eliminar", + "fc_emore": "selecciona al menos un elemento para cortar", + "fcp_emore": "selecciona al menos un elemento para copiar al portapapeles", + + "fs_sc": "compartir la carpeta en la que estรกs", + "fs_ss": "compartir los archivos seleccionados", + "fs_just1d": "no puedes seleccionar mรกs de una carpeta,\no mezclar archivos y carpetas en una selecciรณn", + "fs_abrt": "โŒ abortar", + "fs_rand": "๐ŸŽฒ nombre aleatorio", + "fs_go": "โœ… crear enlace", + "fs_name": "nombre", + "fs_src": "origen", + "fs_pwd": "contraseรฑa", + "fs_exp": "caducidad", + "fs_tmin": "minutos", + "fs_thrs": "horas", + "fs_tdays": "dรญas", + "fs_never": "eterno", + "fs_pname": "nombre opcional del enlace; serรก aleatorio si se deja en blanco", + "fs_tsrc": "el archivo o carpeta a compartir", + "fs_ppwd": "contraseรฑa opcional", + "fs_w8": "creando enlace...", + "fs_ok": "pulsa Intro/Aceptar para Copiar al Portapapeles\npulsa ESC/Cancelar para Cerrar", + + "frt_dec": "puede arreglar algunos casos de nombres de archivo rotos\">url-decode", + "frt_rst": "restaurar los nombres de archivo modificados a los originales\">โ†บ restablecer", + "frt_abrt": "abortar y cerrar esta ventana\">โŒ cancelar", + "frb_apply": "APLICAR RENOMBRADO", + "fr_adv": "renombrado por lotes / metadatos / patrones\">avanzado", + "fr_case": "regex sensible a mayรบsculas\">mayรบs", + "fr_win": "nombres seguros para windows; reemplaza <>:"\\|?* con caracteres japoneses de ancho completo\">win", + "fr_slash": "reemplaza / con un carรกcter que no cree nuevas carpetas\">sin /", + "fr_re": "patrรณn de bรบsqueda regex para aplicar a los nombres de archivo originales; los grupos de captura se pueden referenciar en el campo de formato de abajo como <code>(1)</code> y <code>(2)</code> y asรญ sucesivamente", + "fr_fmt": "inspirado en foobar2000:$N<code>(title)</code> se reemplaza por el tรญtulo de la canciรณn,$N<code>[(artist) - ](title)</code> omite la parte [entre corchetes] si el artista estรก en blanco$N<code>$lpad((tn),2,0)</code> rellena el nรบmero de pista a 2 dรญgitos", + "fr_pdel": "eliminar", + "fr_pnew": "guardar como", + "fr_pname": "proporciona un nombre para tu nuevo preajuste", + "fr_aborted": "abortado", + "fr_lold": "nombre antiguo", + "fr_lnew": "nombre nuevo", + "fr_tags": "etiquetas para los archivos seleccionados (solo lectura, como referencia):", + "fr_busy": "renombrando {0} elementos...\n\n{1}", + "fr_efail": "fallo al renombrar:\n", + "fr_nchg": "{0} de los nuevos nombres fueron alterados debido a win y/o sin /\n\nยฟAceptar para continuar con estos nuevos nombres alterados?", + + "fd_ok": "eliminaciรณn correcta", + "fd_err": "fallo al eliminar:\n", + "fd_none": "no se eliminรณ nada; quizรกs bloqueado por la configuraciรณn del servidor (xbd)?", + "fd_busy": "eliminando {0} elementos...\n\n{1}", + "fd_warn1": "ยฟELIMINAR estos {0} elementos?", + "fd_warn2": "ยกรšltima oportunidad! No se puede deshacer. ยฟEliminar?", + + "fc_ok": "cortados {0} elementos", + "fc_warn": "cortados {0} elementos\n\npero: solo esta pestaรฑa del navegador puede pegarlos\n(dado que la selecciรณn es absolutamente masiva)", + + "fcc_ok": "copiados {0} elementos al portapapeles", + "fcc_warn": "copiados {0} elementos al portapapeles\n\npero: solo esta pestaรฑa del navegador puede pegarlos\n(dado que la selecciรณn es absolutamente masiva)", + + "fp_apply": "usar estos nombres", + "fp_skip": "omitir conflictos", //m + "fp_ecut": "primero corta o copia algunos archivos / carpetas para pegar / mover\n\nnota: puedes cortar / pegar entre diferentes pestaรฑas del navegador", + "fp_ename": "{0} elementos no se pueden mover aquรญ porque los nombres ya existen. Dales nuevos nombres abajo para continuar, o deja el nombre en blanco (\"omitir conflictos\") para omitirlos:", //m + "fcp_ename": "{0} elementos no se pueden copiar aquรญ porque los nombres ya existen. Dales nuevos nombres abajo para continuar, o deja el nombre en blanco (\"omitir conflictos\") para omitirlos:", //m + "fp_emore": "todavรญa quedan algunas colisiones de nombres por resolver", + "fp_ok": "movimiento correcto", + "fcp_ok": "copia correcta", + "fp_busy": "moviendo {0} elementos...\n\n{1}", + "fcp_busy": "copiando {0} elementos...\n\n{1}", + "fp_abrt": "cancelando...", //m + "fp_err": "fallo al mover:\n", + "fcp_err": "fallo al copiar:\n", + "fp_confirm": "ยฟmover estos {0} elementos aquรญ?", + "fcp_confirm": "ยฟcopiar estos {0} elementos aquรญ?", + "fp_etab": "fallo al leer el portapapeles de otra pestaรฑa del navegador", + "fp_name": "subiendo un archivo desde tu dispositivo. Dale un nombre:", + "fp_both_m": "
    elige quรฉ pegar
    Intro = Mover {0} archivos desde ยซ{1}ยป\nESC = Subir {2} archivos desde tu dispositivo", + "fcp_both_m": "
    elige quรฉ pegar
    Intro = Copiar {0} archivos desde ยซ{1}ยป\nESC = Subir {2} archivos desde tu dispositivo", + "fp_both_b": "MoverSubir", + "fcp_both_b": "CopiarSubir", + + "mk_noname": "escribe un nombre en el campo de texto de la izquierda antes de hacer eso :p", + "nmd_i1": "tambiรฉn puedes aรฑadir la extensiรณn que quieras, por ejemplo .md", //m + "nmd_i2": "solo puedes crear archivos .md porque no tienes permiso para borrar", //m + + "tv_load": "Cargando documento de texto:\n\n{0}\n\n{1}% ({2} de {3} MiB cargados)", + "tv_xe1": "no se pudo cargar el archivo de texto:\n\nerror ", + "tv_xe2": "404, archivo no encontrado", + "tv_lst": "lista de archivos de texto en", + "tvt_close": "volver a la vista de carpetas$NAtajo: M (o Esc)\">โŒ cerrar", + "tvt_dl": "descargar este archivo$NAtajo: Y\">๐Ÿ’พ descargar", + "tvt_prev": "mostrar documento anterior$NAtajo: i\">โฌ† ant", + "tvt_next": "mostrar siguiente documento$NAtajo: K\">โฌ‡ sig", + "tvt_sel": "seleccionar archivo   ( para cortar / copiar / eliminar / ... )$NAtajo: S\">sel", + "tvt_j": "embellecer json$NAtajo: shift-J\">j", //m + "tvt_edit": "abrir archivo en editor de texto$NAtajo: E\">โœ๏ธ editar", + "tvt_tail": "monitorizar cambios en el archivo; mostrar nuevas lรญneas en tiempo real\">๐Ÿ“ก seguir", + "tvt_wrap": "ajuste de lรญnea\">โ†ต", + "tvt_atail": "bloquear el desplazamiento al final de la pรกgina\">โš“", + "tvt_ctail": "decodificar colores de terminal (cรณdigos de escape ansi)\">๐ŸŒˆ", + "tvt_ntail": "lรญmite de historial (cuรกntos bytes de texto mantener cargados)", + + "m3u_add1": "canciรณn aรฑadida a la lista m3u", + "m3u_addn": "{0} canciones aรฑadidas a la lista m3u", + "m3u_clip": "lista m3u copiada al portapapeles\n\ndebes crear un nuevo archivo de texto llamado algo.m3u y pegar la lista en ese documento; esto lo harรก reproducible", + + "gt_vau": "no mostrar vรญdeos, solo reproducir el audio\">๐ŸŽง", + "gt_msel": "activar selecciรณn de archivos; ctrl-clic en un archivo para anular$N$N<em>cuando estรก activo: doble clic en un archivo / carpeta para abrirlo</em>$N$NAtajo: S\">multiselecciรณn", + "gt_crop": "recortar miniaturas\">recortar", + "gt_3x": "miniaturas de alta resoluciรณn\">3x", + "gt_zoom": "zoom", + "gt_chop": "recortar", + "gt_sort": "ordenar por", + "gt_name": "nombre", + "gt_sz": "tamaรฑo", + "gt_ts": "fecha", + "gt_ext": "tipo", + "gt_c1": "truncar mรกs los nombres de archivo (mostrar menos)", + "gt_c2": "truncar menos los nombres de archivo (mostrar mรกs)", + + "sm_w8": "buscando...", + "sm_prev": "los resultados de bรบsqueda a continuaciรณn son de una consulta anterior:\n ", + "sl_close": "cerrar resultados de bรบsqueda", + "sl_hits": "mostrando {0} resultados", + "sl_moar": "cargar mรกs", + + "s_sz": "tamaรฑo", + "s_dt": "fecha", + "s_rd": "ruta", + "s_fn": "nombre", + "s_ta": "etiquetas", + "s_ua": "subido@", + "s_ad": "avanzado", + "s_s1": "MiB mรญnimo", + "s_s2": "MiB mรกximo", + "s_d1": "mรญn. iso8601", + "s_d2": "mรกx. iso8601", + "s_u1": "subido despuรฉs de", + "s_u2": "y/o antes de", + "s_r1": "la ruta contiene   (separado por espacios)", + "s_f1": "el nombre contiene   (negar con -no)", + "s_t1": "las etiquetas contienen   (^=inicio, fin=$)", + "s_a1": "propiedades de metadatos especรญficas", + + "md_eshow": "no se puede renderizar ", + "md_off": "[๐Ÿ“œlรฉeme] desactivado en [โš™๏ธ] -- documento oculto", + + "badreply": "Fallo al procesar la respuesta del servidor", + + "xhr403": "403: Acceso denegado\n\nintenta pulsar F5, quizรกs se cerrรณ tu sesiรณn", + "xhr0": "desconocido (probablemente se perdiรณ la conexiรณn con el servidor, o el servidor estรก desconectado)", + "cf_ok": "perdรณn por eso -- la protecciรณn DD" + wah + "oS se activรณ\n\nlas cosas deberรญan reanudarse en unos 30 segundos\n\nsi no pasa nada, pulsa F5 para recargar la pรกgina", + "tl_xe1": "no se pudieron listar las subcarpetas:\n\nerror ", + "tl_xe2": "404: Carpeta no encontrada", + "fl_xe1": "no se pudieron listar los archivos en la carpeta:\n\nerror ", + "fl_xe2": "404: Carpeta no encontrada", + "fd_xe1": "no se pudo crear la subcarpeta:\n\nerror ", + "fd_xe2": "404: Carpeta de nivel superior no encontrada", + "fsm_xe1": "no se pudo enviar el mensaje:\n\nerror ", + "fsm_xe2": "404: Carpeta de nivel superior no encontrada", + "fu_xe1": "fallo al cargar la lista de deshacer del servidor:\n\nerror ", + "fu_xe2": "404: ยฟArchivo no encontrado?", + + "fz_tar": "archivo gnu-tar sin comprimir (linux / mac)", + "fz_pax": "tar formato pax sin comprimir (mรกs lento)", + "fz_targz": "gnu-tar con compresiรณn gzip nivel 3$N$Nesto suele ser muy lento, asรญ que$Nusa tar sin comprimir en su lugar", + "fz_tarxz": "gnu-tar con compresiรณn xz nivel 1$N$Nesto suele ser muy lento, asรญ que$Nusa tar sin comprimir en su lugar", + "fz_zip8": "zip con nombres de archivo utf8 (puede dar problemas en windows 7 y anteriores)", + "fz_zipd": "zip con nombres de archivo cp437 tradicionales, para software muy antiguo", + "fz_zipc": "cp437 con crc32 calculado tempranamente,$Npara MS-DOS PKZIP v2.04g (octubre 1993)$N(tarda mรกs en procesar antes de que la descarga pueda empezar)", + + "un_m1": "puedes eliminar tus subidas recientes (o abortar las inacabadas) a continuaciรณn", + "un_upd": "actualizar", + "un_m4": "o compartir los archivos visibles a continuaciรณn:", + "un_ulist": "mostrar", + "un_ucopy": "copiar", + "un_flt": "filtro opcional:  la URL debe contener", + "un_fclr": "limpiar filtro", + "un_derr": "fallo al deshacer-eliminar:\n", + "un_f5": "algo se rompiรณ, por favor intenta actualizar o pulsa F5", + "un_uf5": "lo siento pero tienes que refrescar la pรกgina (por ejemplo pulsando F5 o CTRL-R) antes de que esta subida pueda ser abortada", + "un_nou": "aviso: servidor demasiado ocupado para mostrar subidas inacabadas; haz clic en el enlace \"actualizar\" en un momento", + "un_noc": "aviso: la opciรณn de deshacer subidas completadas no estรก activada/permitida en la configuraciรณn del servidor", + "un_max": "mostrando los primeros 2000 archivos (usa el filtro)", + "un_avail": "{0} subidas recientes se pueden eliminar
    {1} inacabadas se pueden abortar", + "un_m2": "ordenado por tiempo de subida; mรกs recientes primero:", + "un_no1": "ยกpues no! ninguna subida es suficientemente reciente", + "un_no2": "ยกpues no! ninguna subida que coincida con ese filtro es suficientemente reciente", + "un_next": "eliminar los siguientes {0} archivos a continuaciรณn", + "un_abrt": "abortar", + "un_del": "eliminar", + "un_m3": "cargando tus subidas recientes...", + "un_busy": "eliminando {0} archivos...", + "un_clip": "{0} enlaces copiados al portapapeles", + + "u_https1": "deberรญas", + "u_https2": "cambiar a https", + "u_https3": "para un mejor rendimiento", + "u_ancient": "tu navegador es impresionantemente antiguo -- quizรกs deberรญas usar bup en su lugar", + "u_nowork": "se necesita firefox 53+ o chrome 57+ o iOS 11+", + "tail_2old": "se necesita firefox 105+ o chrome 71+ o iOS 14.5+", + "u_nodrop": "tu navegador es demasiado antiguo para subir arrastrando y soltando", + "u_notdir": "ยกeso no es una carpeta!\n\ntu navegador es demasiado antiguo,\npor favor intenta arrastrar y soltar en su lugar", + "u_uri": "para arrastrar y soltar imรกgenes desde otras ventanas del navegador,\npor favor suรฉltalas sobre el gran botรณn de subida", + "u_enpot": "cambiar a UI ligera (puede mejorar la velocidad de subida)", + "u_depot": "cambiar a UI elegante (puede reducir la velocidad de subida)", + "u_gotpot": "cambiando a la UI ligera para mejorar la velocidad de subida,\n\nยกsiรฉntete libre de no estar de acuerdo y volver a cambiar!", + "u_pott": "

    archivos:   {0} finalizados,   {1} fallidos,   {2} ocupados,   {3} en cola

    ", + "u_ever": "este es el uploader bรกsico; up2k necesita al menos
    chrome 21 // firefox 13 // edge 12 // opera 12 // safari 5.1", + "u_su2k": "este es el uploader bรกsico; up2k es mejor", + "u_uput": "optimizar para velocidad (omitir checksum)", + "u_ewrite": "no tienes acceso de escritura a esta carpeta", + "u_eread": "no tienes acceso de lectura a esta carpeta", + "u_enoi": "la bรบsqueda de archivos no estรก activada en la configuraciรณn del servidor", + "u_enoow": "sobrescribir no funcionarรก aquรญ; se necesita permiso de eliminaciรณn", + "u_badf": "Estos {0} archivos (de un total de {1}) se omitieron, posiblemente debido a permisos del sistema de archivos:\n\n", + "u_blankf": "Estos {0} archivos (de un total de {1}) estรกn en blanco / vacรญos; ยฟsubirlos de todos modos?\n\n", + "u_applef": "Estos {0} archivos (de un total de {1}) probablemente no son deseables;\nPulsa Aceptar/Intro para OMITIR los siguientes archivos,\nPulsa Cancelar/ESC para NO excluir, y SUBIR esos tambiรฉn:\n\n", + "u_just1": "\nQuizรกs funcione mejor si seleccionas solo un archivo", + "u_ff_many": "si usas Linux / MacOS / Android, esta cantidad de archivos podrรญa bloquear Firefox!\nsi eso ocurre, por favor intรฉntalo de nuevo (o usa Chrome).", + "u_up_life": "Esta subida serรก eliminada del servidor\n{0} despuรฉs de que se complete", + "u_asku": "subir estos {0} archivos a {1}", + "u_unpt": "puedes deshacer / eliminar esta subida usando el ๐Ÿงฏ de arriba a la izquierda", + "u_bigtab": "a punto de mostrar {0} archivos\n\nesto podrรญa bloquear tu navegador, ยฟestรกs seguro?", + "u_scan": "Escaneando archivos...", + "u_dirstuck": "el iterador de directorios se atascรณ intentando acceder a los siguientes {0} elementos; se omitirรกn:", + "u_etadone": "Hecho ({0}, {1} archivos)", + "u_etaprep": "(preparando para subir)", + "u_hashdone": "hashing completado", + "u_hashing": "hash", + "u_hs": "negociando...", + "u_started": "los archivos se estรกn subiendo ahora; mira en [๐Ÿš€]", + "u_dupdefer": "duplicado; se procesarรก despuรฉs de todos los demรกs archivos", + "u_actx": "haz clic en este texto para evitar la pรฉrdida de
    rendimiento al cambiar a otras ventanas/pestaรฑas", + "u_fixed": "ยกOK!  Arreglado ๐Ÿ‘", + "u_cuerr": "fallo al subir el trozo {0} de {1};\nprobablemente inofensivo, continuando\n\narchivo: {2}", + "u_cuerr2": "el servidor rechazรณ la subida (trozo {0} de {1});\nse reintentarรก mรกs tarde\n\narchivo: {2}\n\nerror ", + "u_ehstmp": "se reintentarรก; mira abajo a la derecha", + "u_ehsfin": "el servidor rechazรณ la solicitud para finalizar la subida; reintentando...", + "u_ehssrch": "el servidor rechazรณ la solicitud para realizar la bรบsqueda; reintentando...", + "u_ehsinit": "el servidor rechazรณ la solicitud para iniciar la subida; reintentando...", + "u_eneths": "error de red al realizar la negociaciรณn de subida; reintentando...", + "u_enethd": "error de red al comprobar la existencia del destino; reintentando...", + "u_cbusy": "esperando a que el servidor vuelva a confiar en nosotros despuรฉs de un fallo de red...", + "u_ehsdf": "ยกel servidor se quedรณ sin espacio en disco!\n\nse seguirรก reintentando, por si alguien\nlibera suficiente espacio para continuar", + "u_emtleak1": "parece que tu navegador podrรญa tener una fuga de memoria;\npor favor", + "u_emtleak2": " cambia a https (recomendado) o ", + "u_emtleak3": " ", + "u_emtleakc": "prueba lo siguiente:\n
    • pulsa F5 para refrescar la pรกgina
    • luego desactiva el botรณn  mt  en los  โš™๏ธ ajustes
    • e intenta esa subida de nuevo
    Las subidas serรกn un poco mรกs lentas, pero bueno.\nยกPerdรณn por las molestias!\n\nPD: chrome v107 tiene una soluciรณn para esto", + "u_emtleakf": "prueba lo siguiente:\n
    • pulsa F5 para refrescar la pรกgina
    • luego activa ๐Ÿฅ” (ligera) en la interfaz de subida
    • e intenta esa subida de nuevo
    \nPD: firefox con suerte tendrรก una soluciรณn en algรบn momento", + "u_s404": "no encontrado en el servidor", + "u_expl": "explicar", + "u_maxconn": "la mayorรญa de los navegadores limitan esto a 6, pero firefox te permite aumentarlo con connections-per-server en about:config", + "u_tu": '

    AVISO: turbo activado,  el cliente puede no detectar y reanudar subidas incompletas; ver tooltip del botรณn turbo

    ', + "u_ts": '

    AVISO: turbo activado,  los resultados de bรบsqueda pueden ser incorrectos; ver tooltip del botรณn turbo

    ', + "u_turbo_c": "turbo estรก desactivado en la configuraciรณn del servidor", + "u_turbo_g": "desactivando turbo porque no tienes\nprivilegios para listar directorios en este volumen", + "u_life_cfg": 'autoeliminar despuรฉs de min (o horas)', + "u_life_est": 'la subida se eliminarรก ---', + "u_life_max": "esta carpeta impone una\nvida mรกxima de {0}", + "u_unp_ok": "se permite deshacer la subida durante {0}", + "u_unp_ng": "NO se permitirรก deshacer la subida", + "ue_ro": "tu acceso a esta carpeta es de solo lectura\n\n", + "ue_nl": "actualmente no has iniciado sesiรณn", + "ue_la": "actualmente has iniciado sesiรณn como \"{0}\"", + "ue_sr": "actualmente estรกs en modo de bรบsqueda de archivos\n\ncambia a modo de subida haciendo clic en la lupa ๐Ÿ”Ž (junto al gran botรณn BUSCAR), e intenta subir de nuevo\n\nlo siento", + "ue_ta": "intenta subir de nuevo, ahora deberรญa funcionar", + "ue_ab": "este archivo ya se estรก subiendo a otra carpeta, y esa subida debe completarse antes de que el archivo pueda ser subido a otro lugar.\n\nPuedes abortar y olvidar la subida inicial usando el ๐Ÿงฏ de arriba a la izquierda", + "ur_1uo": "OK: Archivo subido con รฉxito", + "ur_auo": "OK: Todos los {0} archivos subidos con รฉxito", + "ur_1so": "OK: Archivo encontrado en el servidor", + "ur_aso": "OK: Todos los {0} archivos encontrados en el servidor", + "ur_1un": "Subida fallida, lo siento", + "ur_aun": "Todas las {0} subidas fallaron, lo siento", + "ur_1sn": "El archivo NO se encontrรณ en el servidor", + "ur_asn": "Los {0} archivos NO se encontraron en el servidor", + "ur_um": "Finalizado;\n{0} subidas OK,\n{1} subidas fallidas, lo siento", + "ur_sm": "Finalizado;\n{0} archivos encontrados en el servidor,\n{1} archivos NO encontrados en el servidor", + + "rc_opn": "abrir", //m + "rc_ply": "reproducir", //m + "rc_pla": "reproducir como audio", //m + "rc_txt": "abrir en el visor de archivos", //m + "rc_md": "abrir en el editor de texto", //m + "rc_dl": "descargar", //m + "rc_zip": "descargar como archivo", //m + "rc_del": "eliminar", //m + "rc_cut": "cortar", //m + "rc_cpy": "copiar", //m + "rc_pst": "pegar", //m + "rc_nfo": "nueva carpeta", //m + "rc_nfi": "nuevo archivo", //m + "rc_sal": "seleccionar todo", //m + "rc_sin": "invertir selecciรณn", //m + + "lang_set": "ยฟrefrescar para que el cambio surta efecto?", + + "splash": { + "a1": "actualizar", + "b1": "hola   (no has iniciado sesiรณn)", + "c1": "cerrar sesiรณn", + "d1": "volcar estado de la pila", + "d2": "muestra el estado de todos los hilos activos", + "e1": "recargar configuraciรณn", + "e2": "recargar archivos de configuraciรณn (cuentas/volรบmenes/indicadores de vol.),$Ny reescanear todos los volรบmenes e2ds$N$Nnota: cualquier cambio en la configuraciรณn global$Nrequiere un reinicio completo para surtir efecto", + "f1": "puedes explorar:", + "g1": "puedes subir a:", + "cc1": "otras cosas:", + "h1": "desactivar k304", + "i1": "activar k304", + "j1": "activar k304 desconectarรก tu cliente en cada HTTP 304, lo que puede evitar que algunos proxies con errores se atasquen (dejando de cargar pรกginas de repente), pero tambiรฉn ralentizarรก las cosas en general", + "k1": "restablecer config. de cliente", + "l1": "inicia sesiรณn para mรกs:", + "ls3": "iniciar sesiรณn", //m + "lu4": "nombre de usuario", //m + "lp4": "contraseรฑa", //m + "lo3": "cerrar sesiรณn de โ€œ{0}โ€ en todas partes", //m + "lo2": "esto finalizarรก la sesiรณn en todos los navegadores", //m + "m1": "bienvenido de nuevo,", + "n1": "404 no encontrado  โ”( ยด -`)โ”Œ", + "o1": 'ยฟo quizรกs no tienes acceso? -- prueba con una contraseรฑa o vuelve al inicio', + "p1": "403 prohibido  ~โ”ปโ”โ”ป", + "q1": 'usa una contraseรฑa o vuelve al inicio', + "r1": "ir al inicio", + ".s1": "reescanear", + "t1": "acciรณn", + "u2": "tiempo desde la รบltima escritura en el servidor$N( subida / renombrar / ... )$N$N17d = 17 dรญas$N1h23 = 1 hora 23 minutos$N4m56 = 4 minutos 56 segundos", + "v1": "conectar", + "v2": "usar este servidor como un disco duro local", + "w1": "cambiar a https", + "x1": "cambiar contraseรฑa", + "y1": "editar recursos compartidos", + "z1": "desbloquear este recurso compartido:", + "ta1": "primero escribe tu nueva contraseรฑa", + "ta2": "repite para confirmar la nueva contraseรฑa:", + "ta3": "hay un error; por favor, intรฉntalo de nuevo", + "nop": "ERROR: La contraseรฑa no puede estar vacรญa", //m + "nou": "ERROR: El nombre de usuario y/o la contraseรฑa no pueden estar vacรญos", //m + "aa1": "archivos entrantes:", + "ab1": "desactivar no304", + "ac1": "activar no304", + "ad1": "activar no304 desactivarรก todo el almacenamiento en cachรฉ; prueba esto si k304 no fue suficiente. ยกEsto desperdiciarรก una gran cantidad de trรกfico de red!", + "ae1": "descargas activas:", + "af1": "mostrar subidas recientes", + "ag1": "mostrar usuarios IdP conocidos", + } +}; diff --git a/copyparty/web/tl/swe.js b/copyparty/web/tl/swe.js new file mode 100644 index 00000000..599fd5d7 --- /dev/null +++ b/copyparty/web/tl/swe.js @@ -0,0 +1,710 @@ + +// Rader som slutar med //m รคr overifierade maskinรถversรคttningar + +Ls.swe = { + "tt": "Svenska", + + "cols": { + "c": "aktion", + "dur": "lรคngd", + "q": "kvalitet / bitrate", + "Ac": "ljudkodek", + "Vc": "videokodek", + "Fmt": "format / container", + "Ahash": "ljudchecksumma", + "Vhash": "videochecksumma", + "Res": "upplรถsning", + "T": "filtyp", + "aq": "ljudkvalitet / bitrate", + "vq": "videokvalitet / bitrate", + "pixfmt": "subsampling / pixelstruktur", + "resw": "horisontell upplรถsning", + "resh": "vertikal upplรถsning", + "chs": "antal ljudkanaler", + "hz": "samplingsfrekvens", + }, + + "hks": [ + [ + "รถvrigt", + ["ESC", "stรคng diverse paneler"], + + "filhanterare", + ["G", "vรคxla mellan listvy / rutnรคt"], + ["T", "vรคxla mellan miniatyrer / ikoner"], + ["โ‡ง A/D", "miniatyrstorlek"], + ["ctrl-K", "radera urval"], + ["ctrl-X", "klipp urval till urklipp"], + ["ctrl-C", "kopiera urval till urklipp"], + ["ctrl-V", "klistra in (kopiera/flytta) hit"], + ["Y", "ladda ner urval"], + ["F2", "byt namn pรฅ urval"], + + "vรคlja filer", + ["Blanksteg", "vรคxla val av fil"], + ["โ†‘/โ†“", "flytta filvalsmarkรถr"], + ["ctrl โ†‘/โ†“", "flytta markรถr och vy"], + ["โ‡ง โ†‘/โ†“", "vรคlj fรถregรฅende/nรคsta fil"], + ["ctrl-A", "vรคlj alla filer / mappar"], + ], [ + "navigation", + ["B", "vรคxla mellan brรถdsmulor / trรคdvy"], + ["I/K", "fรถregรฅende/nรคsta mapp"], + ["M", "hoppa till รถverordnad mapp (eller kollapsa nรคrvarande)"], + ["V", "vรคxla mellan mappar / textfiler i trรคdvy"], + ["A/D", "trรคdvystorlek"], + ], [ + "ljudspelare", + ["J/L", "fรถregรฅende/nรคsta lรฅt"], + ["U/O", "hoppa 10sek bakรฅt/framรฅt"], + ["0..9", "hoppa till 0%..90%"], + ["P", "play/paus (startar รคven uppspelning)"], + ["S", "vรคlj lรฅten som spelas"], + ["Y", "ladda ner lรฅt"], + ], [ + "bildvisare", + ["J/L, โ†/โ†’", "fรถregรฅende/nรคsta bild"], + ["Hem/End", "fรถrsta/sista bilden"], + ["F", "helskรคrm"], + ["R", "rotera medsols"], + ["โ‡ง R", "rotera motsols"], + ["S", "vรคlj bild"], + ["Y", "ladda ner bild"], + ], [ + "videospelare", + ["U/O", "hoppa 10sek bakรฅt/framรฅt"], + ["P/K/Blanksteg", "play/paus"], + ["C", "fortsรคtt med nรคsta"], + ["V", "loopa"], + ["M", "stรคng av ljud"], + ["[ och ]", "stรคll in loopintervall"], + ], [ + "textfilsvisare", + ["I/K", "fรถregรฅende/nรคsta fil"], + ["M", "stรคng textfil"], + ["E", "redigera textfil"], + ["S", "vรคlj fil"], + ["Y", "ladda ner textfil"], //m + ["โ‡ง J", "fรถrskรถna json"], //m + ] + ], + + "m_ok": "OK", + "m_ng": "Avbryt", + + "enable": "Aktivera", + "danger": "VARNING", + "clipped": "kopierat till urklipp", + + "ht_s1": "sekund", + "ht_s2": "sekunder", + "ht_m1": "minut", + "ht_m2": "minuter", + "ht_h1": "timme", + "ht_h2": "timmar", + "ht_d1": "dag", + "ht_d2": "dagar", + "ht_and": " och ", + + "goh": "kontrollpanel", + "gop": 'fรถregรฅende mapp">fรถreg.', + "gou": 'รถverordnad mapp">upp', + "gon": 'nรคsta mapp">nรคsta', + "logout": "Logga ut ", + "login": "Logga in", //m + "access": "-rรคttighet", + "ot_close": "stรคng undermeny", + "ot_search": "sรถk efter filer via attribut, sรถkvรคg / namn, musiktaggar, eller nรฅgon kombination av dessa$N$N<code>foo bar</code> = mรฅste innehรฅlla bรฅde ยซfooยป och ยซbarยป,$N<code>foo -bar</code> = mรฅste innehรฅlla ยซfooยป men inte ยซbarยป,$N<code>^yana .opus$</code> = mรฅste bรถrja med ยซyanaยป och vara en ยซopusยป-fil$N<code>"try unite"</code> = mรฅste innehรฅlla exakt ยซtry uniteยป$N$Ndatumformatet รคr iso-8601, t.ex.$N<code>2009-12-31</code> eller <code>2020-09-12 23:30:00</code>", + "ot_unpost": "unpost: radera dina senaste uppladdningar, eller avbryt pรฅgรฅende sรฅdana", + "ot_bup": "bup: enkel uppladdare, stรถdjer t o m netscape 4.0", + "ot_mkdir": "mkdir: skapa en ny mapp", + "ot_md": "new-file: skapa en ny textfil", + "ot_msg": "msg: skicka ett meddelande till serverloggen", + "ot_mp": "mediaspelarinstรคllningar", + "ot_cfg": "konfigurationsinstรคllningar", + "ot_u2i": 'up2k: ladda upp filer (om du har skrivrรคttigheter) eller byt till sรถklรคge fรถr att se om de finns nรฅgonstans pรฅ servern$N$Nuppladdningarna รคr รฅterupptagbara, multitrรฅdade och filernas tidsstรคmpel bevaras, men den anvรคnder mer CPU รคn [๐ŸŽˆ]  (den enkla uppladdaren)

    under uppladdningens gรฅng blir denna ikon en fรถrloppsindikator!', + "ot_u2w": 'up2k: ladda upp filer med stรถd fรถr รฅterupptagning (stรคng din webblรคsare och dra in samma filer senare)$N$Nmultitrรฅdad och filernas tidsstรคmpel bevaras, men den anvรคnder mer CPU รคn [๐ŸŽˆ]  (den enkla uppladdaren)

    under uppladdningens gรฅng blir denna ikon en fรถrloppsindikator!', + "ot_noie": 'Var vรคnlig anvรคnd Chrome / Firefox / Edge', + + "ab_mkdir": "skapa mapp", + "ab_mkdoc": "ny textfil", + "ab_msg": "skicka medd. till serverlogg", + + "ay_path": "hoppa till mappar", + "ay_files": "hoppa till filer", + + "wt_ren": "byt namn pรฅ urval$NSnabbtangent: F2", + "wt_del": "radera urval$NSnabbtangent: ctrl-K", + "wt_cut": "klipp urval<small>(fรถr att klistra in nรฅgonstans)</small>$NSnabbtangent: ctrl-X", + "wt_cpy": "kopiera urval till urklipp$N(fรถr att klistra in nรฅgonstans)$NSnabbtangent: ctrl-C", + "wt_pst": "klistra in tidigare urval$NSnabbtangent: ctrl-V", + "wt_selall": "vรคlj alla filer$NSnabbtangent: ctrl-A (nรคr en fil har fokus)", + "wt_selinv": "invertera urval", + "wt_zip1": "ladda ner denna mapp som ett arkiv", + "wt_selzip": "ladda ner urval som ett arkiv", + "wt_seldl": "ladda ner urval som separata filer$NSnabbtangent: Y", + "wt_npirc": "kopiera IRC-formatterad lรฅtinfo", + "wt_nptxt": "kopiera lรฅtinfo i klartext", + "wt_m3ua": "lรคgg till i m3u-spellista (klicka pรฅ ๐Ÿ“ปcopy senare)", + "wt_m3uc": "kopiera m3u-spellista till urklipp", + "wt_grid": "vรคxla mellan rutnรคt och listvy$NSnabbtangent: G", + "wt_prev": "fรถregรฅende lรฅt$NSnabbtangent: J", + "wt_play": "play / paus$NSnabbtangent: P", + "wt_next": "nรคsta lรฅt$NSnabbtangent: L", + + "ul_par": "samtidiga uppladdningar:", + "ut_rand": "slumpa filnamn", + "ut_u2ts": "bevara tidsstรคmpeln fรถr senaste รคndring$Nfrรฅn ditt filsystem till servern\">๐Ÿ“…", + "ut_ow": "skriv รถver existerande filer pรฅ servern?$N๐Ÿ›ก๏ธ: aldrig (skapar ett nytt filnamn istรคllet)$N๐Ÿ•’: skriv รถver om serverns fil รคr รคldre รคn din$Nโ™ป๏ธ: skriv alltid รถver om filerna skiljer sig$Nโญ๏ธ: hoppa ovillkorligen รถver alla befintliga filer", //m + "ut_mt": "fortsรคtt hasha filer under uppladdningens gรฅng$N$Nstรคng av om din CPU eller disk รคr en flaskhals", + "ut_ask": 'bekrรคfta innan uppladdningar pรฅbรถrjas">๐Ÿ’ญ', + "ut_pot": "fรถrbรคttra uppladdningshastigheten pรฅ lรฅngsamma enheter$Ngenom att fรถrenkla anvรคndargrรคnssnittet", + "ut_srch": "ladda inte upp; kolla istรคllet om filerna redan existerar pรฅ $N servern (detta kommer att skanna alla mappar med lรคsrรคttighet)", + "ut_par": "du kan pausa all uppladdning genom att sรคtta detta till 0$N$Nรถka denna om din uppkoppling รคr lรฅngsam eller har hรถg latens$N$Nsรคtt till 1 รถver lokala nรคtverk eller om serverns disk รคr en flaskhals", + "ul_btn": "slรคpp filer / mappar
    hรคr (eller klicka)", + "ul_btnu": "L A D D A U P P", + "ul_btns": "S ร– K", + + "ul_hash": "hashar", + "ul_send": "skickar", + "ul_done": "klar", + "ul_idle1": "inga uppladdningar har kรถats", + "ut_etah": "medelhastighet fรถr <em>hashning</em>, och uppskattad รฅterstรฅende tid", + "ut_etau": "medelhastighet fรถr <em>รถverfรถring</em>, och uppskattad รฅterstรฅende tid", + "ut_etat": "<em>total</em> medelhastighet, och uppskattad รฅterstรฅende tid", + + "uct_ok": "lyckade", + "uct_ng": "no-good: misslyckade / avvisade / ej funna", + "uct_done": "ok och ng kombinerat", + "uct_bz": "pรฅgรฅende", + "uct_q": "kรถade", + + "utl_name": "filnamn", + "utl_ulist": "visa", + "utl_ucopy": "kopiera", + "utl_links": "lรคnkar", + "utl_stat": "status", + "utl_prog": "fรถrlopp", + + // keep short: + "utl_404": "404", + "utl_err": "FEL", + "utl_oserr": "OS-fel", + "utl_found": "hittad", + "utl_defer": "vรคntar", + "utl_yolo": "YOLO", + "utl_done": "klar", + + "ul_flagblk": "filerna lades till i kรถn,
    men det finns en upptagen up2k i en annan webblรคsarflik,
    sรฅ vi vรคntar pรฅ den fรถrst", + "ul_btnlk": "serverkonfigurationen har lรฅst denna instรคllning", + + "udt_up": "Ladda upp", + "udt_srch": "Sรถk", + "udt_drop": "slรคpp hรคr", + + "u_nav_m": '
    jaha, vad har du dรฅ?
    Enter = Filer (en eller flera)\nESC = En mapp (inklusive undermappar)', + "u_nav_b": 'FilerEn mapp', + + "cl_opts": "vรคxlar", + "cl_hfsz": "filstorlek", //m + "cl_themes": "tema", + "cl_langs": "sprรฅk", + "cl_ziptype": "mappnedladdning", + "cl_uopts": "up2k-instรคllningar", + "cl_favico": "favikon", + "cl_bigdir": "stora mappar", + "cl_hsort": "#sort.", + "cl_keytype": "tonartsnotering", + "cl_hiddenc": "dolda kolumner", + "cl_hidec": "dรถlj", + "cl_reset": "รฅterstรคll", + "cl_hpick": "tryck pรฅ en kolumntitel fรถr att dรถlja den i filvyn", + "cl_hcancel": "kolumndรถljning avbruten", + "cl_rcm": "hรถgerklicksmeny", //m + + "ct_grid": '็”ฐ rutnรคtet', + "ct_ttips": 'โ—” โ—ก โ—”">โ„น๏ธ tips', + "ct_thumb": 'vรคxla mellan miniatyrer och ikoner i rutnรคtsvyn$NSnabbtangent: T">๐Ÿ–ผ๏ธ miniatyrer', + "ct_csel": 'anvรคnd CTRL och SKIFT fรถr urval av filer i rutnรคtsvyn">val', + "ct_dl": 'tvinga nedladdning (visa inte inline) nรคr en fil klickas">dl', //m + "ct_ihop": 'skrolla till den senast visade filen nรคr bildvisaren stรคngs">gโฎฏ', + "ct_dots": 'visa dolda filer (om servern tillรฅter detta)">dolda', + "ct_qdel": 'bekrรคfta endast en gรฅng nรคr filer raderas">srad', + "ct_dir1st": 'sortera mappar fรถre filer">๐Ÿ“ fรถrst', + "ct_nsort": 'naturlig sortering (fรถr filnamn med ledande siffror)">nsort', + "ct_utc": 'visa alla datum och tider i UTC">UTC', + "ct_readme": 'visa README.md i listvyn">๐Ÿ“œ lรคsmig', + "ct_idxh": 'visa index.html istรคllet fรถr listvyn">htm', + "ct_sbars": 'visa rullningslister">โŸŠ', + + "cut_umod": "om en fil redan existerar pรฅ servern, uppdatera serverns senast modifierade tidsstรคmpel till att matcha din lokala fil (krรคver skriv+radera-rรคttighet)\">re๐Ÿ“…", + + "cut_turbo": "yolo-knappen, du vill fรถrmodligen INTE aktivera denna:$N$Nanvรคnd denna om du hรถll pรฅ att ladda upp en stor mรคngd filer och var tvungen att stรคnga webblรคsaren, och du vill fortsรคtta uppladdningen sรฅ fort som mรถjligt$N$Ndetta ersรคtter hash-checken med en enkel "har denna fil samma filstorlek pรฅ servern?", sรฅ om filinnehรฅllet skiljer sig kommer den INTE att laddas upp$N$Ndu bรถr stรคnga av denna nรคr uppladdningen รคr klar och sedan "ladda upp" samma filer igen fรถr att lรฅta klienten verifiera dem\">turbo", + + "cut_datechk": "har endast effekt med turbo-vรคxeln pรฅslagen$N$Nminskar yolo-faktorn lite grann; kollar om filtidsstรคmplarna pรฅ servern matchar dina$N$Ndetta bรถr fรฅnga de flesta ofรคrdiga / korrumperade uppladdningarna, men kan inte ersรคtta ett fullstรคndigt verifieringspass med turbo avstรคngt\">date-chk", + + "cut_u2sz": "storlek (i MiB) fรถr varje uppladdnings-chunk; stora vรคrden flyger bรคttre รถver atlanten. Prova lรคgre vรคrden pรฅ mycket opรฅlitliga uppkopplingar", + + "cut_flag": "garantera att endast en flik laddar upp samtidigt $N -- andra flikar mรฅste ocksรฅ ha denna pรฅslagen -- $N pรฅverkar endast flikar pรฅ samma domรคn", + + "cut_az": "ladda upp filer i alfabetisk ordning, snarare รคn mindre filer fรถrst$N$Nalfabetisk ordning kan gรถra det enklare att se var nรฅgot har gรฅtt fel, men uppladdningen blir lite lรฅngsammare รถver fiber / lokala nรคtverk", + + "cut_nag": "skicka en systemnotifikation nรคr uppladdningar blir klara$N(endast om webblรคsaren eller fliken inte รคr fokuserade)", + "cut_sfx": "ljudnotifikation nรคr uppladdningar blir klara$N(endast om webblรคsaren eller fliken inte รคr fokuserade)", + + "cut_mt": "anvรคnd multitrรฅdning fรถr att accelerera filhashningen$N$Ndetta anvรคnder web-workers och krรคver$Nmer RAM (upp till 512 MiB extra)$N$Nuppladdningar รถver https blir 30% snabbare, รถver http 4.5x snabbare\">mt", + + "cut_wasm": "anvรคnd wasm istรคllet fรถr webblรคsarens inbyggda hashare; fรถrbรคttrar hastigheten i chrome-baserade webblรคsare men รถkar CPU-lasten, och mรฅnga รคldre versioner av chrome har buggar som fรฅr webblรคsaren att konsumera allt RAM-minne och krascha om detta รคr pรฅslaget\">wasm", + + "cft_text": "favikon-text (lรฅt stรฅ tom och uppdatera sidan fรถr att stรคnga av)", + "cft_fg": "fรถrgrundsfรคrg", + "cft_bg": "bakgrundsfรคrg", + + "cdt_lim": "hรถgsta antal filer att visa in en mapp", + "cdt_ask": "nรคr du nรฅr botten av vyn,$Nbe om en รฅtgรคrd istรคllet fรถr att ladda fler filer", + "cdt_hsort": "hur mรฅnga sorteringsregler (<code>,sorthref</code>) att inkludera i media-URL:er. Sรคtts detta till 0 kommer regler i klickade medialรคnkar รคven att ignoreras", + "cdt_ren": "aktivera anpassad hรถgerklicksmeny, den vanliga menyn รคr tillgรคnglig med shift + hรถgerklick", //m + + "tt_entree": "visa trรคdvy$NSnabbtangent: B", + "tt_detree": "visa brรถdsmulor$NSnabbtangent: B", + "tt_visdir": "skrolla till รถppnad mapp", + "tt_ftree": "vรคxla mellan trรคdvy och textfiler$NHotkey: V", + "tt_pdock": "visa รถverordnade mappar i en panel lรคngst upp i vyn", + "tt_dynt": "vรคx vyn nรคr trรคdet expanderar", + "tt_wrap": "automatisk radbrytning", + "tt_hover": "visa รถverlรฅnga rader nรคr muspekaren hovrar รถver dem$N( skrollhjulet fungerar ej sรฅvida inte pekaren$Nstรฅr till vรคnster )", + + "ml_pmode": "vid mappens slut...", + "ml_btns": "komm.", + "ml_tcode": "konvertera", + "ml_tcode2": "konvertera till", + "ml_tint": "hy", + "ml_eq": "ljudutjรคmnare", + "ml_drc": "dynamikkompressor", + + "mt_loop": "upprepa en lรฅt\">๐Ÿ”", + "mt_one": "stoppa uppspelningen efter en lรฅt\">1๏ธโƒฃ", + "mt_shuf": "blanda lรฅtarna i varje mapp\">๐Ÿ”€", + "mt_aplay": "spela automatiskt om det finns en lรฅt-ID i lรคnkar du har klickat pรฅ fรถr att รถppna sidan$N$Nom detta รคr avstรคngt kommer sidans adress inte att bli uppdaterad med en lรฅt-ID om du spelar musik, fรถr att fรถrhindra automatisk uppspelning om dessa instรคllningar gรฅr fรถrlorade men webbadressen รฅterstรฅr\">aโ–ถ", + "mt_preload": "pรฅbรถrja nedladdning av nรคsta lรฅt i fรถrvรคg fรถr gapfri uppspelning\">ladda", + "mt_prescan": "hoppa till nรคsta mapp i fรถrvรคg sรฅ att webblรคsaren$Nfรถrblir glad och inte avbryter uppspelningen\">nav", + "mt_fullpre": "fรถrsรถk att ladda ner hela lรฅten i fรถrvรคg;$Nโœ… aktivera pรฅ opรฅlitliga uppkopplingar,$NโŒ avaktivera kanske pรฅ lรฅngsamma uppkopplingar\">full", + "mt_fau": "fรถrhindra att uppspelningen avstannar pรฅ telefoner om nรคsta lรฅt inte laddas tillrรคckligt snabbt i fรถrvรคg (kan ge upphov till buggiga musiktaggar)\">โ˜•๏ธ", + "mt_waves": "vรฅgformsreglage:$Nvisa ljudstyrkan i uppspelningsreglaget\">~s", + "mt_npclip": "visa knappar fรถr att kopiera lรฅtinfo till urklippet\">/np", + "mt_m3u_c": "visa knappar fรถr att kopiera de valda$Nlรฅtarna som en m3u8-spellista\">๐Ÿ“ป", + "mt_octl": "systemintegration (mediaknappar / skรคrmdisplay)\">os-ctl", + "mt_oseek": "tillรฅt fram- och bakรฅtspolning via systemintegrationen$N$Nobs.: pรฅ vissa enheter (iPhone)$Nersรคtter detta knappen fรถr nรคsta lรฅt\">spola", + "mt_oscv": "visa skivomslag i skรคrmdisplayen\">omslag", + "mt_follow": "skrolla vyn till den spelande lรฅten\">๐ŸŽฏ", + "mt_compact": "kompakt kontrollpanel\">โŸŽ", + "mt_uncache": "rensa cachen  (prova detta om din webblรคsare har cachat$Nen trasig kopia av en lรฅt och den vรคgrar spela upp den)\">rensa", + "mt_mloop": "upprepa den รถppna mappen\">๐Ÿ” upprepa", + "mt_mnext": "ladda nรคsta mapp och fortsรคtt\">๐Ÿ“‚ nรคsta", + "mt_mstop": "stoppa uppspelningen\">โธ stopp", + "mt_cflac": "konvertera flac / wav till {0}\">flac", + "mt_caac": "konvertera aac / m4a till {0}\">aac", + "mt_coth": "konvertera allt annat (fรถrutom mp3) till {0}\">annat", + "mt_c2opus": "bรคst val fรถr pc, laptop, android\">opus", + "mt_c2owa": "opus-weba, fรถr iOS 17.5 och senare\">owa", + "mt_c2caf": "opus-caf, fรถr iOS 11 till 17\">caf", + "mt_c2mp3": "anvรคnd detta pรฅ mycket gamla enheter\">mp3", + "mt_c2flac": "bรคst ljudkvalitet, men enorma nedladdningar\">flac", + "mt_c2wav": "okomprimerad uppspelning (รคnnu stรถrre)\">wav", + "mt_c2ok": "snyggt, bra val", + "mt_c2nd": "det รคr inte det rekommenderade formatet fรถr din enhet, men det รคr lungt", + "mt_c2ng": "din enhet verkar inte stรถdja det hรคr formatet, men vi provar รคndรฅ", + "mt_xowa": "det finns buggar i iOS som hindrar uppspelning i bakgrunden med detta format; vรคnligen anvรคnd caf eller mp3 istรคllet", + "mt_tint": "nivรฅ pรฅ bakgrundsfรคrg (0-100) pรฅ uppspelningsreglaget;$Ngรถr buffring mindre distraherande", + "mt_eq": "aktiverar utjรคmning och fรถrstรคrkning;$N$Nboost <code>0</code> = standard 100%-volym (omodifierad)$N$Nwidth <code>1  </code> = standard stereo (omodifierad)$Nwidth <code>0.5</code> = 50% vรคnster-hรถger crossfeed$Nwidth <code>0  </code> = mono$N$Nboost <code>-0.8</code> & width <code>10</code> = tar bort sรฅng :^)$N$Nnรคr utjรคmningen รคr aktiverad blir gaplรถsa album verkligen gaplรถsa, sรฅ lรฅt den stรฅ pรฅslagen med alla vรคrden satta till 0 (fรถrutom width = 1) om du bryr dig om det", + "mt_drc": "aktiverar dynamikkompressorn (volymtillplattning / brickwaller); aktiverar รคven utjรคmnaren fรถr att balansera rรถran, sรฅ sรคtt alla fรคlt i utjรคmnaren fรถrutom 'width' till 0 om du inte vill ha den$N$Nsรคnker all volym รถver THRESHOLD dB; fรถr varje RATIO dB รถver THRESHOLD blir det 1 dB av output, sรฅ standardvรคrdena tresh = -24 och ratio = 12 innebรคr att volymen aldrig bรถr bli hรถgre รคn -22 dB och det รคr sรคkert att hรถja utjรคmnarens boost till 0.8, eller t.o.m. 1.8 med ATK 0 och ett hรถgt RLS-vรคrde t.ex. 90 (fungerar endast i firefox; RLS รคr lรฅst till hรถgst 1 i andra webblรคsare)$N$N(se wikipedia fรถr en bรคttre fรถrklaring)", + + "mb_play": "play", + "mm_hashplay": "spela upp den hรคr ljudfilen?", + "mm_m3u": "tryck Enter/OK fรถr att spela\ntryck ESC/Avbryt to Edit", + "mp_breq": "firefox 82+ eller chrome 73+ eller iOS 15+ krรคvs", + "mm_bload": "laddar...", + "mm_bconv": "konverterar till {0}, vรคnligen vรคnta...", + "mm_opusen": "din webblรคsare kan inte spela upp aac- eller m4a-filer;\nkonvertering till opus รคr nu pรฅslaget", + "mm_playerr": "uppspelning misslyckades: ", + "mm_eabrt": "Uppspelningen avbrรถts", + "mm_enet": "Din uppkoppling รคr skum", + "mm_edec": "Filen รคr korrumperad??", + "mm_esupp": "Din webblรคsare fรถrstรฅr inte detta format", + "mm_eunk": "Okรคnt Fel", + "mm_e404": "Kunde inte spela upp ljudfil; fel 404: Filen hittades inte.", + "mm_e403": "Kunde inte spela upp ljudfil; fel 403: ร…tkomst nekad.\n\nProva att ladda om sidan med F5, du kanske blev utloggad", + "mm_e500": "Kunde inte spela upp ljudfil; fel 500: Kolla serverloggen.", + "mm_e5xx": "Kunde inte spela upp ljudfil; serverfel ", + "mm_nof": "hittade inga fler lรฅtar i nรคrheten", + "mm_prescan": "Letar efter fler lรฅtar...", + "mm_scank": "Hittade nรคsta lรฅt:", + "mm_uncache": "cachen rensad; alla lรฅtar kommer att laddas ner igen vid uppspelning", + "mm_hnf": "den lรฅten finns inte lรคngre", + + "im_hnf": "den bilden finns inte lรคngre", + + "f_empty": 'mappen รคr tom', + "f_chide": 'detta kommer att dรถlja kolumnen ยซ{0}ยป\n\ndu kan visa kolumner igen i instรคllningarna', + "f_bigtxt": "den hรคr filen รคr {0} MiB stor -- vill du verkligen visa den som text?", + "f_bigtxt2": "visa endast slutet pรฅ filen? detta aktiverar รคven รถvervakning, vilket visar nya rader i filen i realtid", + "fbd_more": '
    {0} av {1} filer visas; visa {2} eller visa alla
    ', + "fbd_all": '
    {0} av {1} filer visas; visa alla
    ', + "f_anota": "endast {0} av {1} objekt valdes;\nfรถr att vรคlja hela mappen, skrolla fรถrst till botten av vyn", + + "f_dls": 'fillรคnkarna i den รถppna mappen har\nbytts till nedladdningslรคnkar', + + "f_partial": "Fรถr att sรคkert ladda ner en fil som fรถr tillfรคllet laddas upp, vรคnligen klicka pรฅ filen som har samma filnamn men utan .PARTIAL-filรคndelsen. Vรคnligen tryck Avbryt eller Escape fรถr att gรถra detta.\n\nOm du bortser frรฅn denna varning och trycker OK eller Enter kommer den tillfรคlliga .PARTIAL-filen istรคllet att laddas ner, vilket รคr nรคstan garanterat att ge dig korrumperad data.", + + "ft_paste": "klistra in {0} objekt$NSnabbtangent: ctrl-V", + "fr_eperm": 'kan ej byta namn:\ndu har inte flyttrรคttighet i denna mapp', + "fd_eperm": 'kan ej radera:\ndu har inte raderingsrรคttighet i denna mapp', + "fc_eperm": 'kan ej klippa:\ndu har inte flyttrรคttighet i denna mapp', + "fp_eperm": 'kan ej klistra in:\ndu har inte skrivrรคttighet i denna mapp', + "fr_emore": "vรคlj minst en fil att byta namn pรฅ", + "fd_emore": "vรคlj minst en fil att radera", + "fc_emore": "vรคlj minst en fil att klippa", + "fcp_emore": "vรคlj minst en fil att kopiera till urklippet", + + "fs_sc": "dela den รถppna mappen", + "fs_ss": "dela de urvalda filerna", + "fs_just1d": "du kan inte vรคlja mer รคn en mapp\neller blanda filer och mappar i samma urval", + "fs_abrt": "โŒ avbryt", + "fs_rand": "๐ŸŽฒ slump.namn", + "fs_go": "โœ… skapa utdelning", + "fs_name": "namn", + "fs_src": "kรคlla", + "fs_pwd": "lรถsen", + "fs_exp": "utgรฅng", + "fs_tmin": "min", + "fs_thrs": "timmar", + "fs_tdays": "dagar", + "fs_never": "oรคndlig", + "fs_pname": "valfritt lรคnknamn; slumpas fram om detta stรฅr tomt", + "fs_tsrc": "filen eller mappen att dela", + "fs_ppwd": "valfritt lรถsenord", + "fs_w8": "skapar utdelning...", + "fs_ok": "tryck Enter/OK fรถr att kopiera lรคnken till urklipp\ntryck ESC/Avbryt fรถr att stรคnga", + + "frt_dec": "kan laga vissa typer av trasiga filnamn\">avkoda-url", + "frt_rst": "รฅterstรคll modifierade filnamn till de ursprungliga\">โ†บ รฅterstรคll", + "frt_abrt": "avbryt och stรคng denna panel\">โŒ avbryt", + "frb_apply": "BYT NAMN", + "fr_adv": "batch-, metadata- och mรถnsteromskrivning\">avancerat", + "fr_case": "skiftlรคgeskรคnsligt reguljรคrt uttryck\">skift", + "fr_win": "windows-sรคkra namn; ersรคtt <>:"\\|?* med japanska fullbreddtecken\">win", + "fr_slash": "ersรคtt / med ett tecken som inte skapar nya mappar\">ingen /", + "fr_re": "reguljรคrt sรถkuttryck att tillรคmpa pรฅ ursprungliga filnamn; grupper kan hรคnvisas till i formatfรคltet nedan via <code>(1)</code> och <code>(2)</code> osv.", + "fr_fmt": "inspirerat av foobar2000:$N<code>(title)</code> ersรคtts av lรฅttitel,$N<code>[(artist) - ](title)</code> skippar [detta] om artisten รคr tom$N<code>$lpad((tn),2,0)</code> fyller i spรฅrnumret till 2 siffror", + "fr_pdel": "ta bort", + "fr_pnew": "spara som", + "fr_pname": "ge ett nytt namn pรฅ din instรคllning", + "fr_aborted": "avbrutet", + "fr_lold": "gammalt namn", + "fr_lnew": "nytt namn", + "fr_tags": "taggar fรถr de valda filerna (skrivskyddat, endast som referens):", + "fr_busy": "byter namn pรฅ {0} objekt...\n\n{1}", + "fr_efail": "namnbyte misslyckades:\n", + "fr_nchg": "{0} av de nya namnen รคndrades p g a win och/eller ingen /\n\nร„r det okej att fortsรคtta med de nya namnen?", + + "fd_ok": "radering lyckades", + "fd_err": "radering misslyckades:\n", + "fd_none": "inget raderades; kanske blockerat av serverkonfigurationen (xbd)?", + "fd_busy": "raderar {0} objekt...\n\n{1}", + "fd_warn1": "RADERA dessa {0} objekt?", + "fd_warn2": "Sista chansen! Det finns inget sรคtt att รฅngra detta. Radera?", + + "fc_ok": "klippte {0} objekt", + "fc_warn": 'klippte {0} objekt, men:\n\nendast denna webblรคsarflik kan klistra in dem\n(eftersom urvalet รคr sรฅ enormt stort)', + + "fcc_ok": "kopierade {0} objekt till urklippet", + "fcc_warn": 'kopierade {0} objekt till urklippet, men:\n\nendast denna webblรคsarflik kan klistra in dem\n(eftersom urvalet รคr sรฅ enormt stort)', + + "fp_apply": "anvรคnd dessa namn", + "fp_skip": "skippa upptagna", //m + "fp_ecut": "klipp eller kopiera filer / mappar fรถrst fรถr att klistra / flytta dem\n\nobs.: du kan klippa och klistra mellan webblรคsarflikar", + "fp_ename": "{0} objekt kan ej flyttas hit eftersom filnamnen redan รคr tagna. Ge dem nya namn nedan fรถr att fortsรคtta, eller lรคmna fรคltet tomt (\"skippa upptagna\") fรถr att skippa:", //m + "fcp_ename": "{0} objekt kan ej kopieras hit eftersom filnamnen redan รคr tagna. Ge dem nya namn nedan fรถr att fortsรคtta, eller lรคmna fรคltet tomt (\"skippa upptagna\") fรถr att skippa:", //m + "fp_emore": "det finns fortfarande filnamnskrockar att fixa", + "fp_ok": "flytt lyckades", + "fcp_ok": "kopiering lyckades", + "fp_busy": "flyttar {0} objekt...\n\n{1}", + "fcp_busy": "kopierar {0} objekt...\n\n{1}", + "fp_abrt": "avbryter...", + "fp_err": "flytt misslyckades:\n", + "fcp_err": "kopiering misslyckades:\n", + "fp_confirm": "flytta dessa {0} objekt hit?", + "fcp_confirm": "kopiera dessa {0} objekt hit?", + "fp_etab": 'lyckades ej lรคsa urklippet frรฅn en annan webblรคsarflik', + "fp_name": "laddar upp en fil frรฅn din enhet. Ge den ett namn:", + "fp_both_m": '
    vรคlj vad som ska klistras in
    Enter = Flytta {0} objekt frรฅn ยซ{1}ยป\nESC = Ladda upp {2} filer frรฅn din enhet', + "fcp_both_m": '
    vรคlj vad som ska klistras in
    Enter = Kopiera {0} objekt frรฅn ยซ{1}ยป\nESC = Ladda upp {2} filer frรฅn din enhet', + "fp_both_b": 'FlyttaLadda upp', + "fcp_both_b": 'KopieraLadda upp', + + "mk_noname": "skriv ett namn i fรคltet till vรคnster fรถrst :p", + "nmd_i1": "lรคgg ocksรฅ till filรคndelsen du vill ha, till exempel .md", //m + "nmd_i2": "du kan bara skapa .md-filer eftersom du inte har borttagningsbehรถrighet", //m + + "tv_load": "Laddar textfil:\n\n{0}\n\n{1}% ({2} av {3} MiB laddat)", + "tv_xe1": "kunde ej ladda textfil:\n\nfel ", + "tv_xe2": "404, filen hittades inte", + "tv_lst": "lista av textfiler i", + "tvt_close": "รฅtervรคnd till mapp$NSnabbtangent: M (eller Esc)\">โŒ stรคng", + "tvt_dl": "ladda ner denna fil$NSnabbtangent: Y\">๐Ÿ’พ ladda ner", + "tvt_prev": "visa fรถregรฅende fil$NSnabbtangent: i\">โฌ† fรถreg.", + "tvt_next": "visa nรคsta fil$NSnabbtangent: K\">โฌ‡ nรคsta", + "tvt_sel": "vรคlj fil   ( fรถr klipp / kopiera / radera / ... )$NSnabbtangent: S\">vรคlj", + "tvt_j": "fรถrskรถna json$NSnabbtangent: shift-J\">j", //m + "tvt_edit": "รถppna fil i textredigerare$NSnabbtangent: E\">โœ๏ธ redigera", + "tvt_tail": "รถvervaka filen; visa nya rader i realtid\">๐Ÿ“ก รถvervaka", + "tvt_wrap": "automatisk radbrytning\">โ†ต", + "tvt_atail": "lรฅs vyn till sidans botten\">โš“", + "tvt_ctail": "avkoda terminalfรคrger (ansi-escapesekvenser)\">๐ŸŒˆ", + "tvt_ntail": "grรคns fรถr scrollback (hur mรฅnga byte ska behรฅllas laddade)", + + "m3u_add1": "lรฅt tillagd till m3u-spellista", + "m3u_addn": "{0} lรฅtar tillagda till m3u-spellista", + "m3u_clip": "m3u-spellista kopierad till urklippet\n\ndu bรถr skapa en ny textfil som heter nรฅgonting.m3u och klistra in spellistan i det dokumentet; detta gรถr den uppspelbar", + + "gt_vau": "visa inte videor, spela endast ljudet\">๐ŸŽง", + "gt_msel": "urval av filer; ctrl-klicka en fil fรถr standardbeteende$N$N<em>nรคr detta รคr aktiverat: dubbelklicka en fil / mapp fรถr att รถppna den</em>$N$NSnabbtangent: S\">urval", + "gt_crop": "centrera och beskรคr miniatyrbilder\">beskรคr", + "gt_3x": "hรถgupplรถsta miniatyrbilder\">3x", + "gt_zoom": "zoom", + "gt_chop": "klipp", + "gt_sort": "sortera efter", + "gt_name": "namn", + "gt_sz": "storlek", + "gt_ts": "datum", + "gt_ext": "typ", + "gt_c1": "fรถrkorta filnamn (visa mindre)", + "gt_c2": "fรถrlรคng filnamn (visa mer)", + + "sm_w8": "sรถker...", + "sm_prev": "sรถkresultaten nedan รคr frรฅn en tidigare sรถkning:\n ", + "sl_close": "stรคng sรถkresultaten", + "sl_hits": "visar {0} trรคffar", + "sl_moar": "ladda fler", + + "s_sz": "storlek", + "s_dt": "datum", + "s_rd": "sรถkvรคg", + "s_fn": "namn", + "s_ta": "taggar", + "s_ua": "uppl.", + "s_ad": "avanc.", + "s_s1": "minimum MiB", + "s_s2": "maximum MiB", + "s_d1": "min. iso8601", + "s_d2": "max. iso8601", + "s_u1": "uppladdad efter", + "s_u2": "och/eller fรถre", + "s_r1": "sรถkvรคgen innehรฅller   (blankstegsseparerat)", + "s_f1": "filnamnet innehรฅller   (invertera med -intedetta)", + "s_t1": "taggar innehรฅller   (^=start, slut=$)", + "s_a1": "specifika metadataegenskaper", + + "md_eshow": "kan ej visa ", + "md_off": "[๐Ÿ“œlรคsmig] avstรคngt i [โš™๏ธ] -- dokumentet รคr dolt", + + "badreply": "Kunde ej tolka svaret frรฅn servern", + + "xhr403": "403: ร…tkomst nekad\n\nProva att ladda om sidan med F5, du kanske blev utloggad", + "xhr0": "okรคnt (tappade fรถrmodligen kontakt med servern, eller sรฅ รคr den nere)", + "cf_ok": "ledsen -- DD" + wah + "oS-skyddet har aktiverats\n\nsaker bรถr fungera igen om 30 sekunder\n\nom inget hรคnder, ladda om sidan med F5", + "tl_xe1": "kunde inte visa undermappar:\n\nfel ", + "tl_xe2": "404: Mappen hittades inte", + "fl_xe1": "kunde inte visa filer i mapp:\n\nfel ", + "fl_xe2": "404: Mappen hittades inte", + "fd_xe1": "kunde inte skapa mapp:\n\nfel ", + "fd_xe2": "404: ร–verordnad mapp hittades inte", + "fsm_xe1": "kunde inte skicka meddelande:\n\ndel ", + "fsm_xe2": "404: ร–verordnad mapp hittades inte", + "fu_xe1": "kunde inte ladda unpost-listan frรฅn servern:\n\nfel ", + "fu_xe2": "404: Filen hittades inte??", + + "fz_tar": "okomprimerad tar-fil i gnu-format (linux / mac)", + "fz_pax": "okomprimerad tar-fil i pax-format (lรฅngsammare)", + "fz_targz": "gnu-tar komprimerad med gzip-nivรฅ 3$N$Ndetta รคr vanligtvis mycket lรฅngsamt,$Nanvรคnd okomprimerad tar istรคllet", + "fz_tarxz": "gnu-tar komprimerad med xz-nivรฅ 1$N$Ndetta รคr vanligtvis mycket lรฅngsamt,$Nanvรคnd okomprimerad tar istรคllet", + "fz_zip8": "zip-fil med utf8-filnman (kan vara skum i windows 7 och รคldre)", + "fz_zipd": "zip-fil med standard cp437-filnamn, fรถr riktigt gammal mjukvara", + "fz_zipc": "cp437 med crc32 utrรคknad i fรถrvรคg,$Nfรถr MS-DOS PKZIP v2.04g (oktober 1993)$N(tar lรคngre tid att behandla innan nedladdningen kan pรฅbรถrjas)", + + "un_m1": "du kan radera dina senaste uppladdningar (eller avbryta pรฅgรฅende sรฅdana) nedan", + "un_upd": "uppdatera", + "un_m4": "eller, dela filerna som syns nedan:", + "un_ulist": "visa", + "un_ucopy": "kopiera", + "un_flt": "filter:  sรถkvรคgen mรฅste innehรฅlla", + "un_fclr": "rensa filtret", + "un_derr": 'unpost-radering misslyckades:\n', + "un_f5": 'nรฅgot gick sรถnder, prova att uppdatera eller tryck pรฅ F5', + "un_uf5": "ledsen men du mรฅste uppdatera sidan (t.ex. genom att trycka pรฅ F5 eller CTRL-R) innan du kan avbryta den hรคr uppladdningen", + "un_nou": 'varning: servern รคr fรถr upptagen fรถr att visa pรฅgรฅende uppladdningar; klicka pรฅ "uppdatera" om en stund', + "un_noc": 'varning: serverkonfigurationen tillรฅter inte unpost:ning av uppladdade filer', + "un_max": "visar de fรถrsta 2000 filerna (anvรคnd filtret)", + "un_avail": "{0} av de senaste uppladdningarna kan raderas
    {1} pรฅgรฅende uppladdningar kan avbrytas", + "un_m2": "sorterat efter uppladdningstid; senast uppladdad fรถrst:", + "un_no1": "tjosan! inga uppladdningar รคr tillrรคckligt nya", + "un_no2": "tjosan! inga uppladdningar som matchar filtret รคr tillrรคckligt nya", + "un_next": "radera de {0} nรคstkommande filerna", + "un_abrt": "avbryt", + "un_del": "radera", + "un_m3": "laddar dina senaste uppladdningar...", + "un_busy": "raderar {0} filer...", + "un_clip": "{0} lรคnkar kopierade till urklippet", + + "u_https1": "du bรถr", + "u_https2": "byta till https", + "u_https3": "fรถr bรคttre prestanda", + "u_ancient": 'din webblรคsare รคr imponerande urรฅldrig -- du kanske borde anvรคnda bup istรคllet', + "u_nowork": "firefox 53+ eller chrome 57+ eller iOS 11+ krรคvs", + "tail_2old": "firefox 105+ eller chrome 71+ eller iOS 14.5+ krรคvs", + "u_nodrop": 'din webblรคsare รคr fรถr gammal fรถr dra-och-slรคpp-uppladdning', + "u_notdir": "det dรคr รคr ingen mapp!\n\ndin webblรคsare รคr fรถr gammal,\nprova dra-och-slรคpp istรคllet", + "u_uri": "slรคpp bilder frรฅn andra webblรคsarfรถnster pรฅ den stora\nuppladdningsknappen fรถr att ladda upp dem", + "u_enpot": 'byt till potatisgrรคnssnittet (kan fรถrbรคttra uppladdningshastigheten)', + "u_depot": 'byt till det snygga grรคnssnittet (kan fรถrsรคmra uppladdningshastigheten)', + "u_gotpot": 'byter till potatisgrรคnssnittet fรถr fรถrbรคttrad uppladdningshastighet,\n\nbyt gรคrna tillbaka om du vill!', + "u_pott": "

    filer:   {0} fรคrdiga,   {1} misslyckade,   {2} pรฅgรฅende,   {3} kรถade

    ", + "u_ever": "detta รคr den enkla uppladdaren; up2k krรคver minst
    chrome 21 // firefox 13 // edge 12 // opera 12 // safari 5.1", + "u_su2k": 'detta รคr den enkla uppladdaren; up2k รคr bรคttre', + "u_uput": 'optimera hastigheten (skippa checksumman)', + "u_ewrite": 'du har inte skrivrรคttighet i denna mapp', + "u_eread": 'du har inte lรคsrรคttighet i denna mapp', + "u_enoi": 'serverkonfigurationen har inte slagit pรฅ sรถkning', + "u_enoow": "du kan inte skriva รถver hรคr; raderingsrรคttighet krรคvs", + "u_badf": 'Dessa {0} filer (av totalt {1}) skippades, mรถjligtvis p.g.a. filsystemsrรคttigheter:\n\n', + "u_blankf": 'Dessa {0} filer (av totalt {1}) รคr tomma; ladda upp dem รคndรฅ?\n\n', + "u_applef": 'Dessa {0} filer (av totalt {1}) รคr fรถrmodligen oรถnskade;\nTryck OK/Enter fรถr att SKIPPA de fรถljande filerna,\nTryck Avbryt/ESC fรถr att INKLUDERA och LADDA UPP dem:\n\n', + "u_just1": '\nDet kanske fungerar om du endast vรคljer en fil', + "u_ff_many": "om du anvรคnder Linux / MacOS / Android, sรฅ kan denna mรคngd filer krascha Firefox!\nom detta hรคnder, vรคnligen fรถrsรถk igen (eller anvรคnd Chrome).", + "u_up_life": "Denna uppladdning kommer att raderas frรฅn servern om\n{0} efter att den har blivit uppladdad", + "u_asku": 'ladda upp dessa {0} filer till {1}', + "u_unpt": "du kan รฅngra / radera denna uppladdning med ๐Ÿงฏ uppe till vรคnster", + "u_bigtab": 'fรถrsรถker att visa {0} filer\n\ndetta kan krascha din webblรคsare, รคr du sรคker?', + "u_scan": 'Scannar filer...', + "u_dirstuck": 'katalogskannern fastnade nรคr den fรถrsรถkte komma รฅt de fรถljande {0} objekten; dessa kommer att skippas:', + "u_etadone": 'Klar ({0}, {1} filer)', + "u_etaprep": '(fรถrbereder uppladdning)', + "u_hashdone": 'hashning klar', + "u_hashing": 'hashar', + "u_hs": 'skakar hand...', + "u_started": "filerna laddas nu upp; se [๐Ÿš€]", + "u_dupdefer": "duplikat; kommer att behandlas efter alla andra filer", + "u_actx": "klicka hรคr fรถr att undvika prestandafรถrlust
    nรคr du byter till andra fรถnster/flikar", + "u_fixed": "Okej!  Fixat ๐Ÿ‘", + "u_cuerr": "misslyckades att ladda upp chunk {0} av {1};\nfรถrmodligen harmlรถst, fortsรคtter\n\nfil: {2}", + "u_cuerr2": "servern avvisade uppladdningen (chunk {0} av {1});\nprovar igen senare\n\nfil: {2}\n\nfel ", + "u_ehstmp": "provar igen; see nedรฅt till hรถger", + "u_ehsfin": "servern avvisade fรถrfrรฅgan att fรคrdigstรคlla uppladdningen; provar igen...", + "u_ehssrch": "servern avvisade fรถrfrรฅgan att sรถka; provar igen...", + "u_ehsinit": "servern avvisade fรถrfrรฅgan att pรฅbรถrja uppladdningen; provar igen...", + "u_eneths": "nรคtverksfel vid handskakning; provar igen...", + "u_enethd": "nรคtverksfel nรคr destinationens existens testades; provar igen...", + "u_cbusy": "vรคntar pรฅ att servern ska lita pรฅ oss igen efter nรคtverksfel...", + "u_ehsdf": "servern fick slut pรฅ diskutrymme!\n\nprovar igen, ifall nรฅgon rensar upp\ntillrรคckligt med utrymme fรถr att fortsรคtta", + "u_emtleak1": "det verkar som att din webblรคsare kanske har en minneslรคcka;\nvรคnligen", + "u_emtleak2": ' byt till https (rekommenderat) eller ', + "u_emtleak3": ' ', + "u_emtleakc": 'prova fรถljande:\n
    • tryck F5 fรถr att uppdatera sidan
    • avaktivera sedan  mt -vรคxeln i  โš™๏ธ-instรคllningarna
    • och prova att ladda upp igen
    Uppladdningar kommer att vara lite lรฅngsammare, men aja.\nBeklagar problemet!\n\nPS: chrome v107 har en buggfix fรถr detta', + "u_emtleakf": 'prova fรถljande:\n
    • tryck F5 fรถr att uppdatera sidan
    • aktivera sedan ๐Ÿฅ” (potatis) i uppladdningsgrรคnssnittet
    • och prova att ladda upp igen
    \nPS: firefox kommer fรถrhoppningsvis fรฅ en buggfix vid nรฅgot tillfรคlle', + "u_s404": "hittades ej pรฅ servern", + "u_expl": "fรถrklara", + "u_maxconn": "de flesta webblรคsare begrรคnsar detta till 6, men firefox lรฅter dig hรถja grรคnsen med connections-per-server i about:config", + "u_tu": '

    VARNING: turbo รคr aktiverat,  det รคr mรถjligt att klienten inte upptรคcker och รฅterupptar ofรคrdiga uppladdningar; se tipset fรถr turbo-vรคxeln

    ', + "u_ts": '

    VARNING: turbo รคr aktiverat,  sรถkresultat kan vara felaktiga; se tipset fรถr turbo-vรคxeln

    ', + "u_turbo_c": "serverkonfigurationen har avaktiverat turbo", + "u_turbo_g": "avaktiverar turbo eftersom du inte har rรคttigheten\natt se mappars innehรฅll i den hรคr volymen", + "u_life_cfg": 'radera automatiskt efter min (eller timmar)', + "u_life_est": 'uppladdningen kommer att raderas vid ---', + "u_life_max": 'denna mapp tvingar en\nhรถgsta livstid pรฅ {0}', + "u_unp_ok": 'unpost รคr tillรฅten fรถr {0}', + "u_unp_ng": 'unpost รคr INTE tillรฅten', + "ue_ro": 'du har endast lรคsrรคttighet till denna mapp\n\n', + "ue_nl": 'du รคr inte inloggad', + "ue_la": 'du รคr inloggad som "{0}"', + "ue_sr": 'du รคr i filsรถklรคge\n\nbyt till uppladdningslรคge genom att klicka pรฅ fรถrstoringsglaset ๐Ÿ”Ž (bredvid den stora Sร–K-knappen), och fรถrsรถk ladda upp igen\n\nledsen', + "ue_ta": 'prova att ladda upp igen nu, det bรถr fungera', + "ue_ab": "denna fil laddas redan upp till en annan mapp, och den uppladdningen mรฅste fรคrdigstรคllas innan filen kan laddas upp nรฅgon annanstans.\n\nDu kan avbryta och glรถmma bort den uppladdningen med ๐Ÿงฏ uppe till vรคnster", + "ur_1uo": "Okej: Filen laddades upp med framgรฅng", + "ur_auo": "Okej: Alla {0} filer laddades upp med framgรฅng", + "ur_1so": "Okej: Filen fanns pรฅ servern", + "ur_aso": "Okej: Alla {0} filer fanns pรฅ servern", + "ur_1un": "Uppladdningen misslyckades, ledsen", + "ur_aun": "Alla {0} uppladdningar misslyckades, ledsen", + "ur_1sn": "Filen hittades INTE pรฅ servern", + "ur_asn": "De {0} filerna hittades INTE pรฅ servern", + "ur_um": "Klar;\n{0} uppladdningar gick okej,\n{1} uppladdningar misslyckades, ledsen", + "ur_sm": "Klar;\n{0} filer hittades pรฅ servern,\n{1} filer hittades INTE pรฅ servern", + + "rc_opn": "รถppna", //m + "rc_ply": "spela upp", //m + "rc_pla": "spela upp som ljud", //m + "rc_txt": "รถppna i filvisare", //m + "rc_md": "รถppna i textredigerare", //m + "rc_dl": "Ladda ner", //m + "rc_zip": "Ladda ner som arkiv", //m + "rc_del": "radera", //m + "rc_cut": "klipp ut", //m + "rc_cpy": "kopiera", //m + "rc_pst": "klistra in", //m + "rc_nfo": "ny mapp", //m + "rc_nfi": "ny fil", //m + "rc_sal": "markera alla", //m + "rc_sin": "invertera markering", //m + + "lang_set": "uppdatera fรถr att รคndringen ska ta effekt?", + + "splash": { + "a1": "uppdatera", + "b1": "tjena frรคmling   (du รคr inte inloggad)", + "c1": "logga ut", + "d1": "dumpa stacken", + "d2": "visar tillstรฅndet pรฅ alla aktiva trรฅdar", + "e1": "ladda om konfig.", + "e2": "ladda om konfigurationsfiler (konton/volymer/volflaggor),$Noch skanna om alla e2ds-volymer$N$Nobs.: รคndrade globala instรคllningar$Nkrรคver en fullstรคndig omstart", + "f1": "du kan blรคddra:", + "g1": "du kan ladda upp till:", + "cc1": "annat:", + "h1": "avaktivera k304", + "i1": "aktivera k304", + "j1": "med k304 aktiverad kommer klienten att koppla bort sig vid varje HTTP 304-fel, vilket kan hindra vissa buggiga proxyservrar frรฅn att fastna (sidor slutar ladda), men saker kommer ocksรฅ att bli lรฅngsammare i allmรคnhet", + "k1": "รฅterstรคll klientinstรคllningar", + "l1": "logga in fรถr att se mer:", + "ls3": "logga in", //m + "lu4": "anvรคndarnamn", //m + "lp4": "lรถsenord", //m + "lo3": "logga ut โ€œ{0}โ€ รถverallt", //m + "lo2": "avsluta sessionen i alla webblรคsare", //m + "m1": "vรคlkommen tillbaka,", + "n1": "404 hittades inte  โ”( ยด -`)โ”Œ", + "o1": 'eller sรฅ har du kanske inte tillgรฅng -- prova ett lรถsenord eller รฅk hem', + "p1": "403 nekat  ~โ”ปโ”โ”ป", + "q1": 'anvรคnd ett lรถsenord eller รฅk hem', + "r1": "รฅk hem", + ".s1": "skanna om", + "t1": "รฅtgรคrd", + "u2": "tid sedan senaste serverskrivning$N( uppladdning / namnbyte / ... )$N$N17d = 17 dagar$N1h23 = 1 timme 23 minuter$N4m56 = 4 minuter 56 sekunder", + "v1": "koppla upp", + "v2": "anvรคnd denna server som en lokal disk", + "w1": "byt till https", + "x1": "byt lรถsenord", + "y1": "redigera utdelningar", + "z1": "lรฅs upp denna utdelning:", + "ta1": "fyll i ditt nya lรถsenord", + "ta2": "upprepa det nya lรถsenordet:", + "ta3": "det blev fel; vรคnligen fรถrsรถk igen", + "nop": "FEL: Lรถsenordet fรฅr inte vara tomt", //m + "nou": "FEL: Anvรคndarnamn och/eller lรถsenord fรฅr inte vara tomt", //m + "aa1": "inkommande filer:", + "ab1": "avaktivera no304", + "ac1": "aktivera no304", + "ad1": "detta stรคnger av all cachning; prova detta om k304 inte rรคckte till. Detta kommer att slรถsa enorma mรคngder nรคtverkstrafik!", + "ae1": "aktiva nedladdningar:", + "af1": "visa senaste uppladdningar", + "ag1": "visa idp-cache", + } +}; diff --git a/copyparty/web/tl/tur.js b/copyparty/web/tl/tur.js new file mode 100644 index 00000000..fe0cf435 --- /dev/null +++ b/copyparty/web/tl/tur.js @@ -0,0 +1,705 @@ + +// "//m" ile biten satฤฑrlar doฤŸrulanmamฤฑลŸ makine รงevirileridir + +Ls.tur = { + "tt": "Tรผrkรงe", + + "cols": { + "c": "iลŸlem butonlarฤฑ", + "dur": "sรผre", + "q": "kalite / bitrate", + "Ac": "ses kodlamasฤฑ", + "Vc": "video kodlamasฤฑ", + "Fmt": "format / yapฤฑ", + "Ahash": "ses denetim toplamฤฑ", + "Vhash": "video denetim toplamฤฑ", + "Res": "รงรถzรผnรผrlรผk", + "T": "dosya tรผrรผ", + "aq": "ses kalitesi / bitrate", + "vq": "video kalitesi / bitrate", + "pixfmt": "subsampling / pixel yapฤฑsฤฑ", + "resw": "yatay รงรถzรผnรผrlรผk", + "resh": "dikey รงรถzรผnรผrlรผk", + "chs": "ses kanallarฤฑ", + "hz": "รถrnekleme hฤฑzฤฑ", + }, + + "hks": [ + [ + "diฤŸer", + ["ESC", "kapat"], + + "dosya yรถnetimi", + ["G", "liste / ฤฑzgara gรถrรผnรผmรผ arasฤฑnda geรงiลŸ yap"], + ["T", "kรผรงรผk resimler / simgeler arasฤฑnda geรงiลŸ yap"], + ["โ‡ง A/D", "kรผรงรผk resim boyutu"], + ["ctrl-K", "seรงileni sil"], + ["ctrl-X", "seรงimi panoya kes"], + ["ctrl-C", "seรงimi panoya kopyala"], + ["ctrl-V", "buraya yapฤฑลŸtฤฑr (taลŸฤฑ/kopyala)"], + ["Y", "seรงileni indir"], + ["F2", "seรงileni yeniden adlandฤฑr"], + + "dosya yรถnetimi seรงimleri", + ["boลŸluk", "seรงimi deฤŸiลŸtir"], + ["โ†‘/โ†“", "seรงim imlecini hareket ettir"], + ["ctrl โ†‘/โ†“", "imleci ve gรถrรผnรผmรผ hareket ettir"], + ["โ‡ง โ†‘/โ†“", "รถnceki/sonraki dosyayฤฑ seรง"], + ["ctrl-A", "tรผm dosyalarฤฑ / klasรถrleri seรง"], + ], [ + "navigasyon", + ["B", "iรงerik haritasฤฑ / navigasyon paneli arasฤฑnda geรงiลŸ yap"], + ["I/K", "รถnceki/sonraki klasรถr"], + ["M", "รผst klasรถr (veya mevcut olanฤฑ daralt)"], + ["V", "navigasyon panelinde klasรถrler / metin dosyalarฤฑ arasฤฑnda geรงiลŸ yap"], + ["A/D", "navigasyon paneli boyutu"], + ], [ + "ses oynatฤฑcฤฑ", + ["J/L", "รถnceki/sonraki ลŸarkฤฑ"], + ["U/O", "10sn geri/ileri atla"], + ["0..9", "%0..%90 atla"], + ["P", "oynat/duraklat (aynฤฑ zamanda oynatฤฑcฤฑyฤฑ aรง)"], + ["S", "ลŸarkฤฑyฤฑ seรง"], + ["Y", "ลŸarkฤฑyฤฑ indir"], + ], [ + "resim gรถrรผntรผleyici", + ["J/L, โ†/โ†’", "รถnceki/sonraki resim"], + ["Home/End", "ilk/son resim"], + ["F", "tam ekran"], + ["R", "saฤŸa dรถndรผr"], + ["โ‡ง R", "sola dรถndรผr"], + ["S", "resmi seรง"], + ["Y", "resmi indir"], + ], [ + "video oynatฤฑcฤฑ", + ["U/O", "10sn geri/ileri atla"], + ["P/K/Space", "oynat/duraklat"], + ["C", "sฤฑradakinden devam et"], + ["V", "dรถngรผ"], + ["M", "sessiz"], + ["[ ve ]", "dรถngรผ aralฤฑฤŸฤฑnฤฑ ayarla"], + ], [ + "metin dosyasฤฑ gรถrรผntรผleyici", + ["I/K", "รถnceki/sonraki dosya"], + ["M", "metin dosyasฤฑnฤฑ kapat"], + ["E", "metin dosyasฤฑnฤฑ dรผzenle"], + ["S", "dosyayฤฑ seรง (kes/kopyala/yeniden adlandฤฑr)"], + ["Y", "metin dosyasฤฑnฤฑ indir"], //m + ["โ‡ง J", "json gรผzelleลŸtir"], //m + ] + ], + + "m_ok": "Tamam", + "m_ng": "ฤฐptal", + + "enable": "EtkinleลŸtir", + "danger": "TEHLฤฐKE", + "clipped": "panoya kopyalandฤฑ", + + "ht_s1": "saniye", + "ht_s2": "saniye", + "ht_m1": "dakika", + "ht_m2": "dakika", + "ht_h1": "saat", + "ht_h2": "saat", + "ht_d1": "gรผn", + "ht_d2": "gรผn", + "ht_and": " ve ", + + "goh": "kontrol paneli", + "gop": 'รถnceki kardeลŸ">รถnceki', + "gou": 'รผst klasรถr">รผst', + "gon": 'sonraki klasรถr">sonraki', + "logout": "ร‡ฤฑkฤฑลŸ ", + "login": "GiriลŸ", + "access": " eriลŸim", + "ot_close": "alt menรผyรผ kapat", + "ot_search": "dosyalarฤฑ รถzniteliklere, yol / ad, mรผzik etiketlerine veya bunlarฤฑn herhangi bir kombinasyonuna gรถre arayฤฑn$N$N<code>foo bar</code> = hem ยซfooยป hem de ยซbarยป iรงermelidir,$N<code>foo -bar</code> = ยซfooยป iรงermeli ancak ยซbarยป iรงermemelidir,$N<code>^yana .opus$</code> = ยซyanaยป ile baลŸlamalฤฑ ve bir ยซopusยป dosyasฤฑ olmalฤฑdฤฑr$N<code>"try unite"</code> = tam olarak ยซtry uniteยป iรงermelidir$N$N tarih formatฤฑ iso-8601'dir, gibi$N<code>2009-12-31</code> veya <code>2020-09-12 23:30:00</code>", + "ot_unpost": "unpost: son yรผklemelerinizi silin veya tamamlanmamฤฑลŸ olanlarฤฑ iptal edin", + "ot_bup": "bup: temel yรผkleyici, hatta netscape 4.0'ฤฑ destekler", + "ot_mkdir": "mkdir: yeni bir dizin oluลŸtur", + "ot_md": "new-file: yeni bir metin dosyasฤฑ oluลŸtur", //m + "ot_msg": "msg: sunucu gรผnlรผฤŸรผne bir mesaj gรถnder", + "ot_mp": "medya oynatฤฑcฤฑ seรงenekleri", + "ot_cfg": "konfigรผrasyon seรงenekleri", + "ot_u2i": 'up2k: dosyalarฤฑ yรผkle (yazma eriลŸiminiz varsa) veya sunucuda bir yerde var olup olmadฤฑklarฤฑnฤฑ gรถrmek iรงin arama moduna geรงiลŸ yap$N$Nyรผklemeler devam ettirilebilir, รงok iลŸ parรงacฤฑklฤฑ ve dosya zaman damgalarฤฑ korunur, ancak [๐ŸŽˆ]  (temel yรผkleyici) ile karลŸฤฑlaลŸtฤฑrฤฑldฤฑฤŸฤฑnda daha fazla CPU kullanฤฑr

    yรผkleme sฤฑrasฤฑnda, bu simge bir ilerleme gรถstergesi haline gelir!', + "ot_u2w": 'up2k: devam desteฤŸi ile dosyalarฤฑ yรผkle (tarayฤฑcฤฑnฤฑzฤฑ kapatฤฑn ve daha sonra aynฤฑ dosyalarฤฑ bฤฑrakฤฑn)$N$Nรงok iลŸ parรงacฤฑklฤฑ ve dosya zaman damgalarฤฑ korunur, ancak [๐ŸŽˆ]  (temel yรผkleyici) ile karลŸฤฑlaลŸtฤฑrฤฑldฤฑฤŸฤฑnda daha fazla CPU kullanฤฑr

    yรผkleme sฤฑrasฤฑnda, bu simge bir ilerleme gรถstergesi haline gelir!', + "ot_noie": 'Lรผtfen Chrome / Firefox / Edge kullanฤฑn', + + "ab_mkdir": "dizin oluลŸtur", + "ab_mkdoc": "yeni metin dosyasฤฑ", //m + "ab_msg": "sunucu gรผnlรผฤŸรผne mesaj gรถnder", + + "ay_path": "klasรถrlere atla", + "ay_files": "dosyalara atla", + + "wt_ren": "seรงilenleri yeniden adlandฤฑr$NKฤฑsa yol: F2", + "wt_del": "Seรงilen รถgeleri sil$Kฤฑsa yol: ctrl-K", + "wt_cut": "seรงilen รถgeleri kes <small></small>$NKฤฑsa yol: ctrl-X", + "wt_cpy": "seรงilen รถgeleri panoya kopyala$N$NKฤฑsa yol: ctrl-C", + "wt_pst": "daha รถnce kesilmiลŸ / kopyalanmฤฑลŸ bir seรงimi yapฤฑลŸtฤฑr$NKฤฑsa yol: ctrl-V", + "wt_selall": "tรผm dosyalarฤฑ seรง$NKฤฑsa yol: ctrl-A (dosya odaklandฤฑฤŸฤฑnda)", + "wt_selinv": "seรงimi tersine รงevir", + "wt_zip1": "seรงilenleri sฤฑkฤฑลŸtฤฑrฤฑlmฤฑลŸ bir arลŸiv olarak indir", + "wt_selzip": "seรงimi arลŸiv olarak indir", + "wt_seldl": "seรงimi ayrฤฑ dosyalar olarak indir$NHotkey: Y", + "wt_npirc": "irc biรงiminde parรงa bilgilerini kopyala", + "wt_nptxt": "dรผz metin parรงa bilgilerini kopyala", + "wt_m3ua": "m3u รงalma listesine ekle (daha sonra ๐Ÿ“ปkopyalaya tฤฑklayฤฑn)", + "wt_m3uc": "m3u รงalma listesini panoya kopyala", + "wt_grid": "ฤฑzgara / liste gรถrรผnรผmรผnรผ deฤŸiลŸtir$NHotkey: G", + "wt_prev": "รถnceki parรงa$NHotkey: J", + "wt_play": "oynat / duraklat$NHotkey: P", + "wt_next": "sonraki parรงa$NHotkey: L", + + "ul_par": "paralel yรผklemeler:", + "ut_rand": "dosya adlarฤฑnฤฑ rastgeleleลŸtir", + "ut_u2ts": "kendi dosyalarฤฑnฤฑzdan sunucuya$Nzaman damgasฤฑnฤฑ kopyala\">๐Ÿ“…", + "ut_ow": "sunucudaki mevcut dosyalarฤฑ รผzerine yazmak mฤฑ?$N๐Ÿ›ก๏ธ: asla (yerine yeni bir dosya adฤฑ oluลŸturur)$N๐Ÿ•’: sunucu dosyasฤฑ sizinkinden daha eskiyse รผzerine yaz$Nโ™ป๏ธ: dosyalar farklฤฑysa her zaman รผzerine yaz$Nโญ๏ธ: mevcut tรผm dosyalarฤฑ koลŸulsuz atla", //m + "ut_mt": "yรผkleme yaparken diฤŸer dosyalarฤฑn hash'lenmesini durdur$N$kรถtรผ bir CPU veya HDD'ye sahipseniz kullanabilirsiniz.", + "ut_ask": 'yรผklemeye baลŸlamadan รถnce doฤŸrulama mesajฤฑ gรถster">๐Ÿ’ญ', + "ut_pot": "arayรผzรผ daha az karmaลŸฤฑk hale getirerek$Nyรผkleme hฤฑzฤฑnฤฑ yavaลŸ cihazlarda artฤฑr", + "ut_srch": "gerรงekten yรผkleme yapma, bunun yerine dosyalarฤฑn $N sunucuda var olup olmadฤฑฤŸฤฑnฤฑ kontrol et (okuma izniniz olan tรผm klasรถrleri tarar)", + "ut_par": "0'a ayarlayarak yรผklemeleri durdur$N$NbaฤŸlantฤฑnฤฑz yavaลŸsa deฤŸeri artฤฑrฤฑn$N$NLAN'daysanฤฑz veya sunucu HDD'si darboฤŸaz yapฤฑyorsa 1'de tutun", + "ul_btn": "dosyalarฤฑ / klasรถrleri
    buraya sรผrรผkleyin (veya bana tฤฑklayฤฑn)", + "ul_btnu": "Y รœ K L E", + "ul_btns": "A R A", + + "ul_hash": "hash", + "ul_send": "gรถnder", + "ul_done": "tamamlandฤฑ", + "ul_idle1": "henรผz bekleyen yรผkleme yok", + "ut_etah": "ortalama <em>hash</em> hฤฑzฤฑ ve bitiลŸe kadar tahmini sรผre", + "ut_etau": "ortalama <em>yรผkleme</em> hฤฑzฤฑ ve bitiลŸe kadar tahmini sรผre", + "ut_etat": "ortalama <em>toplam</em> hฤฑzฤฑ ve bitiลŸe kadar tahmini sรผre", + + "uct_ok": "baลŸarฤฑyla tamamlandฤฑ", + "uct_ng": "baลŸarฤฑsฤฑz: baลŸarฤฑsฤฑz / reddedildi / bulunamadฤฑ", + "uct_done": "hem baลŸarฤฑlฤฑ hem de baลŸarฤฑsฤฑz", + "uct_bz": "hash'liyor veya yรผklรผyor", + "uct_q": "beklemede, gรถnderiliyor", + + "utl_name": "dosya adฤฑ", + "utl_ulist": "liste", + "utl_ucopy": "kopyala", + "utl_links": "baฤŸlantฤฑlar", + "utl_stat": "durum", + "utl_prog": "ilerleme", + + // kฤฑsa tutun: + "utl_404": "404", + "utl_err": "HATA", + "utl_oserr": "OS-hatasฤฑ", + "utl_found": "bulundu", + "utl_defer": "ertele", + "utl_yolo": "YOLO", + "utl_done": "tamamlandฤฑ", + + "ul_flagblk": "dosyalar sฤฑraya alฤฑndฤฑ
    ancak baลŸka bir tarayฤฑcฤฑ sekmesinde meลŸgul bir up2k var,
    bu nedenle รถnce onun bitmesini bekliyor", + "ul_btnlk": "sunucu yapฤฑlandฤฑrmasฤฑ bu anahtarฤฑ bu duruma kilitledi", + + "udt_up": "Yรผkle", + "udt_srch": "Ara", + "udt_drop": "buraya bฤฑrakฤฑn", + + "u_nav_m": '
    Pekรขlรข, bakalฤฑm neyin varmnฤฑลŸ?
    Enter = Dosyalar (bir veya birden fazla)\nESC = Bir klasรถr (alt klasรถrler dahil)', + "u_nav_b": 'DosyalarTek klasรถr', + + "cl_opts": "aรง / kapat", + "cl_hfsz": "dosya boyutu", //m + "cl_themes": "tema", + "cl_langs": "dil", + "cl_ziptype": "klasรถr indirme", + "cl_uopts": "up2k aรง / kapat", + "cl_favico": "favicon", + "cl_bigdir": "big dirs", + "cl_hsort": "#sort", + "cl_keytype": "anahtar notasyonu", + "cl_hiddenc": "gizli sรผtunlar", + "cl_hidec": "gizle", + "cl_reset": "sฤฑfฤฑrla", + "cl_hpick": "aลŸaฤŸฤฑdaki tabloda gizlemek iรงin sรผtun baลŸlฤฑklarฤฑna dokunun", + "cl_hcancel": "sรผtun gizleme iptal edildi", + "cl_rcm": "saฤŸ tฤฑk menรผsรผ", //m + + "ct_grid": '็”ฐ ฤฑzgara', + "ct_ttips": 'โ—” โ—ก โ—”">โ„น๏ธ ipuรงlarฤฑ', + "ct_thumb": 'ฤฑzgara gรถrรผnรผmรผnde, simgeler ve kรผรงรผk resimler arasฤฑnda geรงiลŸ yapฤฑn$NKฤฑsayol: T">๐Ÿ–ผ๏ธ kรผรงรผk resimler', + "ct_csel": 'ฤฑzgara gรถrรผnรผmรผnde dosya seรงimi iรงin CTRL ve SHIFT tuลŸlarฤฑnฤฑ kullanฤฑn">seรง', + "ct_dl": 'dosyaya tฤฑklandฤฑฤŸฤฑnda indirmeyi zorla (satฤฑr iรงinde gรถrรผntรผleme)">dl', //m + "ct_ihop": 'resim gรถrรผntรผleyici kapatฤฑldฤฑฤŸฤฑnda, en son gรถrรผntรผlenen dosyaya kaydฤฑrฤฑn">gโฎฏ', + "ct_dots": 'gizli dosyalarฤฑ gรถster (sunucu izin veriyorsa)">nokta dosyalarฤฑ', + "ct_qdel": 'dosyalarฤฑ silerken yalnฤฑz bir kez onay isteyin">qdel', + "ct_dir1st": 'sฤฑralamada klasรถrleri dosyalardan รถnceye koy">ilk ๐Ÿ“', + "ct_nsort": 'doฤŸal sฤฑralama (baลŸฤฑnda sayฤฑ bulunan isimler iรงin)">dsort', + "ct_utc": 'tรผm zaman damgalarฤฑnฤฑ UTC diliminde gรถster">UTC', + "ct_readme": 'README.md\'yi klasรถr listelemelerinde gรถster">๐Ÿ“œ readme', + "ct_idxh": 'index.html\'i klasรถr listelemeleri yerine gรถster">htm', + "ct_sbars": 'kaydฤฑrma รงubuklarฤฑnฤฑ gรถster">โŸŠ', + + "cut_umod": "eฤŸer bir dosya sunucuda mevcutsa sunucudaki dosyanฤฑn son-deฤŸiลŸtirilme zaman damgasฤฑnฤฑ yereldekiyle deฤŸiลŸtir (yazma+silme izinlerini gerektirir)\">re๐Ÿ“…", + + "cut_turbo": "yolo butonu, bunu muhtemelen etkinleลŸtirmek itemezsiniz:$N$Nyalnฤฑzca aynฤฑ anda รงok fazla sayฤฑda dosya yรผklerken harhangi bir sebepten yรผklemeyi durdurup anฤฑnda yeniden baลŸlatmanฤฑz gerekirse kullanฤฑn$N$Nbu, hash fonksiyonunu basit bir ile deฤŸiลŸtirir"sunucudaki boyutu da aynฤฑ mฤฑ?" dosya iรงerikleri farklฤฑysa yรผkleme devam ETMEYECEKTฤฐR!$N$Nyรผkleme tamamlandฤฑฤŸฤฑnda bu ayarฤฑ kapatฤฑn ve sonra aynฤฑ dosyalarฤฑ yeniden "yรผklemeyi" deneyin ki sunucu bu dosyalarฤฑ doฤŸrulayabilsin\">turbo", + + "cut_datechk": "turbo modu aรงฤฑksa hiรงbir etkisi yoktur$N$Nyolo faktรถrรผnรผ az bir miktar dรผลŸรผrรผr; sunucudaki dosya zaman damgalarฤฑnฤฑn sizinkiyle eลŸleลŸip eลŸleลŸmediฤŸini kontrol eder$N$Nteorik olarak tamamlanmamฤฑลŸ / bozuk yรผklemelerin รงoฤŸunu yakalamasฤฑ gerekir ancak turbo devre dฤฑลŸฤฑ bฤฑrakฤฑldฤฑktan sonra yapฤฑlan doฤŸrulama geรงiลŸinin yerini tutamaz\">date-chk", + + "cut_u2sz": "her yรผkleme parรงasฤฑnฤฑn boyutu (MiB cinsinden); bรผyรผk deฤŸerler Atlantik boyunca daha iyi iletilir. ร‡ok gรผvenilmez baฤŸlantฤฑlarda dรผลŸรผk deฤŸerler deneyin", + + "cut_flag": "aynฤฑ anda sadece bir sekmenin yรผkleme yapabilmesini saฤŸlayฤฑn $N -- diฤŸer sekmelerde de bu ayar aรงฤฑk olmalฤฑdฤฑr $N -- sadece aynฤฑ alan adฤฑ altฤฑndaki sekmeleri etkiler", + + "cut_az": "dosyalarฤฑ en kรผรงรผฤŸรผnden baลŸlamak yerine alfabetik sฤฑrayla yรผkleyin$N$Nalefabetik sฤฑralama, sunucuda bir ลŸeylerin yanlฤฑลŸ gidip gitmediฤŸini gรถzlemlemenizi daha kolay hale getirebilir ancak fiber / LAN รผzerinde yรผklemeyi biraz yavaลŸlatฤฑr", + + "cut_nag": "yรผkleme tamamlandฤฑฤŸฤฑnda iลŸletim sistemi bildirimi$N(sadece tarayฤฑcฤฑ veya serkme aktif deฤŸilse)", + "cut_sfx": "yรผkleme tamamlandฤฑฤŸฤฑnda sesli bildirim$N(sadece tarayฤฑcฤฑ veya serkme aktif deฤŸilse)", + + "cut_mt": "dosya hash'lemesini hฤฑzlandฤฑrmak iรงin รงoklu izlekleri kullan$N$Nbu ayar web iลŸlerini kullanฤฑr ve daha fazla$Nmore RAM (fazladan 512 MiB'a kadar) kullanฤฑr$N$https baฤŸlantฤฑsฤฑnฤฑ %30, http'yi ise 4.5 kat hฤฑzlandฤฑrฤฑr\">mt", + + "cut_wasm": "tarayฤฑcฤฑnฤฑn varsayฤฑlan hash fonksiyonu yerine WASM'ฤฑ kullan; Chrome tabanlฤฑ tarayฤฑcฤฑlarda performansla birlikte CPU kullanฤฑmฤฑnฤฑ artฤฑrฤฑr, ayrฤฑca Chrome'un birรงok eski sรผrรผmรผnde bu ayar etkinleลŸtiฤŸinde tarayฤฑcฤฑnฤฑn tรผm RAM'i yemesine ve รงรถkmesine sebep olan hatalar bulunur\">wasm", + + "cft_text": "favicon yazฤฑsฤฑ (devre dฤฑลŸฤฑ bฤฑrakmak iรงin boลŸ bฤฑrakฤฑp yenileyin)", + "cft_fg": "รถn plan rengi", + "cft_bg": "arka plan rengi", + + "cdt_lim": "bir klasรถrde gรถsterilecek maksimum dosya sayฤฑsฤฑ", + "cdt_ask": "aลŸaฤŸฤฑ kaydฤฑrฤฑrken,$Ndaha fazla dosya yรผklemek yerine,$Nne yapฤฑlacaฤŸฤฑnฤฑ sor", + "cdt_hsort": "medya-URL'lerinde dahil edilecek sฤฑralama kurallarฤฑnฤฑn sayฤฑsฤฑ (<code>,sorthref</code>). Bunu 0 olarak ayarlamak, tฤฑklanฤฑrken medya baฤŸlantฤฑlarฤฑna dahil edilen sฤฑralama kurallarฤฑnฤฑ da yok sayacaktฤฑr", + "cdt_ren": "รถzel saฤŸ tฤฑk menรผsรผnรผ etkinleลŸtir, normal menรผ shift + saฤŸ tฤฑk ile eriลŸilebilir", //m + + "tt_entree": "navigasyon panosunu gรถster (yan dizin panosu)$NHotkey: B", + "tt_detree": "iรงerik haritasฤฑnฤฑ gรถster$Kฤฑsayol: B", + "tt_visdir": "seรงili klasรถre kaydฤฑr", + "tt_ftree": "klasรถr aฤŸacฤฑnฤฑ / metin dosyalarฤฑnฤฑ aรง/kapat$Kฤฑsayol: V", + "tt_pdock": "รผstteki bir pencerede รผst klasรถrleri gรถster", + "tt_dynt": "aฤŸaรง geniลŸledikรงe otomatik bรผyรผt", + "tt_wrap": "kelime sarma", + "tt_hover": "fare ile รผzerine gelindiฤŸinde taลŸan satฤฑrlarฤฑ gรถster$N( fare imleci sol kenarda deฤŸilse kaydฤฑrmayฤฑ bozar )", + + "ml_pmode": "klasรถr sonunda...", + "ml_btns": "komutlar", + "ml_tcode": "dรถnรผลŸtรผr", + "ml_tcode2": "dรถnรผลŸtรผr", + "ml_tint": "tonlama", + "ml_eq": "ses eลŸitleyici", + "ml_drc": "dinamik aralฤฑk sฤฑkฤฑลŸtฤฑrฤฑcฤฑ", + + "mt_loop": "bir ลŸarkฤฑyฤฑ dรถngรผye al / tekrar et\">๐Ÿ”", + "mt_one": "bir ลŸarkฤฑdan sonra dur\">1๏ธโƒฃ", + "mt_shuf": "klasรถrlerdeki ลŸarkฤฑlarฤฑ karฤฑลŸtฤฑr\">๐Ÿ”€", + "mt_aplay": "sunucuya eriลŸmek iรงin kullandฤฑฤŸฤฑn baฤŸlantฤฑda geรงerli bir ลŸarkฤฑ varsa otomatik oynat$N$Nbunu etkisiz kฤฑlmak aynฤฑ zamanda mรผzik oynatฤฑldฤฑฤŸฤฑnda sayfa URL'nin deฤŸiลŸmesini de engeller\">aโ–ถ", + "mt_preload": "aralฤฑksฤฑz oynatma iรงin sฤฑradaki ลŸarkฤฑyฤฑ รถnceden yรผklemeye baลŸla\">รถn yรผkleme", + "mt_prescan": "son ลŸarkฤฑ bitmeden รถnce bir sonraki klasรถre git$Nweb tarayฤฑcฤฑsฤฑnฤฑ mutlu tutar$Nbu nedenle oynatmayฤฑ durdurmaz\">nav", + "mt_fullpre": "tรผm ลŸarkฤฑyฤฑ รถn yรผklemeye รงalฤฑลŸ;$Nโœ… gรผvenilmez baฤŸlantฤฑlarda etkinleลŸtir,$NโŒ yavaลŸ baฤŸlantฤฑlarda devre dฤฑลŸฤฑ bฤฑrak\">full", + "mt_fau": "telefonlarda, bir sonraki ลŸarkฤฑ yeterince hฤฑzlฤฑ รถn yรผklenmezse mรผziฤŸin durmasฤฑnฤฑ รถnle (etiketlerin bozuk gรถrรผnmesine neden olabilir)\">โ˜•๏ธ", + "mt_waves": "dalga formu kaydฤฑrฤฑcฤฑ:$Nses genliฤŸini kaydฤฑrฤฑcฤฑda gรถster\">~s", + "mt_npclip": "ลŸu anda รงalan ลŸarkฤฑyฤฑ kopyalamak iรงin dรผฤŸmeleri gรถster\">/np", + "mt_m3u_c": "seรงilen ลŸarkฤฑlarฤฑ m3u8 รงalma listesi giriลŸleri olarak kopyalamak iรงin dรผฤŸmeleri gรถster\">๐Ÿ“ป", + "mt_octl": "os entegrasyonu (medya kฤฑsayollarฤฑ / osd)\">os-ctl", + "mt_oseek": "OS entegrasyonuyla ลŸarkฤฑ ilerletmeye izin ver$N$Nnot: bazฤฑ cihazlarda (iPhone'lar)$Nbu, sฤฑradaki ลŸarkฤฑ dรผฤŸmesini deฤŸiลŸtirir\">ilerletme", + "mt_oscv": "ekranda albรผm kapaklarฤฑnฤฑ gรถster\">gรถrsel", + "mt_follow": "oynatฤฑlan mรผzik ibaresini gรถrรผnรผmde tut\">๐ŸŽฏ", + "mt_compact": "kompakt kontroller\">โŸŽ", + "mt_uncache": "รถnbelleฤŸi temizle  (bunu, tarayฤฑcฤฑnฤฑzฤฑn bozuk bir ลŸarkฤฑ kopyasฤฑnฤฑ รถnbelleฤŸe almasฤฑ nedeniyle รงalmayฤฑ reddettiฤŸinde deneyin)\">รถnbelleฤŸi temizle", + "mt_mloop": "aรงฤฑk klasรถrรผ dรถngรผye al\">๐Ÿ” dรถngรผ", + "mt_mnext": "bir sonraki klasรถrรผ yรผkle ve devam et\">๐Ÿ“‚ sonraki", + "mt_mstop": "oynatmayฤฑ durdur\">โธ durdur", + "mt_cflac": "flac / wav'ฤฑ {0}'a dรถnรผลŸtรผr\">flac", + "mt_caac": "aac / m4a'yฤฑ {0}'a dรถnรผลŸtรผr\">aac", + "mt_coth": "diฤŸer tรผm formatlarฤฑ (mp3 hariรง) {0}'a dรถnรผลŸtรผr\">oth", + "mt_c2opus": "masaรผstรผ, dizรผstรผ bilgisayarlar, android iรงin en iyi seรงim\">opus", + "mt_c2owa": "opus-weba, iOS 17.5 ve รผzeri iรงin\">owa", + "mt_c2caf": "opus-caf, iOS 11 ile 17 arasฤฑnda iรงin\">caf", + "mt_c2mp3": "รงok eski cihazlarda bunu kullanฤฑn\">mp3", + "mt_c2flac": "en iyi ses kalitesi, ancak bรผyรผk indirmeler\">flac", + "mt_c2wav": "sฤฑkฤฑลŸtฤฑrฤฑlmamฤฑลŸ oynatma (daha da bรผyรผk)\">wav", + "mt_c2ok": "gรผzel, iyi seรงim", + "mt_c2nd": "bu, cihazฤฑnฤฑz iรงin รถnerilen รงฤฑkฤฑลŸ formatฤฑ deฤŸil, ama sorun deฤŸil", + "mt_c2ng": "cihazฤฑnฤฑz bu รงฤฑkฤฑลŸ formatฤฑnฤฑ desteklemiyor gibi gรถrรผnรผyor, ama yine de deneyelim", + "mt_xowa": "iOS'ta bu formatta arka plan oynatฤฑmฤฑnฤฑ engelleyen hatalar var; lรผtfen bunun yerine caf veya mp3 kullanฤฑn", + "mt_tint": "seekbar'da arka plan seviyesi (0-100)$รถn belleฤŸin daha az dikkat daฤŸฤฑtฤฑcฤฑ olmasฤฑnฤฑ saฤŸlar", + "mt_eq": "ekolayzer ve kazanรง kontrolรผnรผ aktifleลŸtirir;$N$Nboost <code>0</code> = standart %100 ses (varsayฤฑlan)$N$NgeniลŸlik <code>1  </code> = standart รงift kanal (varsayฤฑlan)$NgeniลŸlik <code>0.5</code> = %50 sol-saฤŸ crossfeed$NgeniลŸlik <code>0  </code> = mono$N$NartฤฑลŸ <code>-0.8</code> & artฤฑลŸ <code>10</code> = vokal kaldฤฑrma :^)$N$Nekolayzeri aktifleลŸtirmek, aralฤฑksฤฑz albรผmleri gerรงekten aralฤฑksฤฑz yapar, bu yรผzden tรผm deฤŸerleri 0'da bฤฑrakฤฑn (width = 1 hariรง) tabii bunu umursuyorsnaฤฑz", + "mt_drc": "dinamik aralฤฑk sฤฑkฤฑลŸtฤฑrฤฑcฤฑyฤฑ (ses dรผzleลŸtiriciyi) aktifleลŸtirir; spagettiyi dengelemek iรงin aynฤฑ zamanda EQ'yu da aรงar, bunun olmasฤฑnฤฑ istemiyorsanฤฑz EQ'daki 'geniลŸlik' hariรง tรผm alanlarฤฑ 0 yapฤฑn$N$Nsฤฑnฤฑr dB'inin รผstรผndeki tรผm sesleri kฤฑsar; sฤฑnฤฑrฤฑ geรงen her 1 dB iรงin ancak 1 dB ses verilir, yani varsayฤฑlan eลŸik -24 ve oran 12 deฤŸerleri sesin -22 dB'den yรผkseฤŸe รงฤฑkmayacaฤŸฤฑnฤฑ ve EQ artฤฑลŸฤฑnฤฑn 0,8'e, hatta ATK 0 ve hayvan gibi RLS (รถrneฤŸin 90, bu sadece Firefox'ta รงalฤฑลŸฤฑr; diฤŸer tarayฤฑcฤฑlarda RLS en fazla 1'dir) gibi deฤŸerlerle 1.,8'e kadar gรผvenle รงฤฑkabileceฤŸini gรถsteriyor$N$N(git vikipediye bak, orada daha iyi aรงฤฑklanฤฑyor)", + + "mb_play": "oynat", + "mm_hashplay": "bu ses dosyasฤฑ oynatฤฑlsฤฑn mฤฑ?", + "mm_m3u": "Oynatmak iรงin Enter/Tamam tuลŸuna basฤฑn\nDรผzenlemek iรงin ESC/ฤฐptal tuลŸuna basฤฑn", + "mp_breq": "firefox 82+ veya chrome 73+ veya iOS 15+ gerektirir", + "mm_bload": "ลŸu anda yรผkleniyor...", + "mm_bconv": "{0} formatฤฑna dรถnรผลŸtรผrรผlรผyor, lรผtfen bekleyin...", + "mm_opusen": "tarayฤฑcฤฑnฤฑz aac / m4a dosyalarฤฑnฤฑ oynatamฤฑyor;\nopus'a dรถnรผลŸtรผrme etkinleลŸtirildi", + "mm_playerr": "oynatma hatasฤฑ: ", + "mm_eabrt": "Oynatma denemesi iptal edildi", + "mm_enet": "ฤฐnternet baฤŸlantฤฑnฤฑzda bir bokluk var", + "mm_edec": "Bu dosya muhtemelen bozuk!", + "mm_esupp": "Tarayฤฑcฤฑnฤฑz salak, bu ses formatฤฑnฤฑ anlamฤฑyor", + "mm_eunk": "Bilinmeyen Hata", + "mm_e404": "Ses oynatฤฑlamadฤฑ; hata 404: Dosya bulunamadฤฑ.", + "mm_e403": "Ses oynatฤฑlamadฤฑ; hata 403: EriลŸim reddedildi.\n\nYeniden yรผklemek iรงin F5 tuลŸuna basฤฑn, oturumunuz kapanmฤฑลŸ olabilir.", + "mm_e500": "Ses oynatฤฑlamadฤฑ; hata 500: Sunucu gรผnlรผklerini kontrol edin.", + "mm_e5xx": "Ses oynatฤฑlamadฤฑ; sunucu hatasฤฑ ", + "mm_nof": "yakฤฑnlarda baลŸka ses dosyasฤฑ bulunamadฤฑ", + "mm_prescan": "Sonraki ลŸarkฤฑ aranฤฑyor...", + "mm_scank": "Sonraki ลŸarkฤฑ bulundu:", + "mm_uncache": "รถnbellek temizlendi; tรผm ลŸarkฤฑlar bir sonraki รงalฤฑnmada yeniden indirilecek", + "mm_hnf": "bu ลŸarkฤฑ artฤฑk mevcut deฤŸil", + + "im_hnf": "bu resim artฤฑk mevcut deฤŸil", + + "f_empty": 'bu klasรถr boลŸ', + "f_chide": 'bu, ยซ{0}ยป sรผtununu gizleyecektir\n\nsรผtunlarฤฑ ayarlar sekmesinden yeniden aรงabilirsiniz', + "f_bigtxt": "bu dosya {0} MiB boyutunda -- Cidden saf yazฤฑ olarak mฤฑ gรถrรผntรผlemek istiyo'n?", + "f_bigtxt2": "dosyanฤฑn sadece sonunu gรถrรผntรผlemek ister misin? bu, takip etme/sonlandฤฑrma iลŸlemini de etkinleลŸtirecek ve gerรงek zamanlฤฑ olarak yeni eklenen metin satฤฑrlarฤฑnฤฑ gรถsterecektir.", + "fbd_more": '
    {1} dosyadan {0} tanesi gรถsteriliyor; {2} tanesini ya da tรผmรผnรผ gรถster
    ', + "fbd_all": '
    {1} dosyadan {0} tanesi gรถsteriliyor; tรผmรผnรผ gรถster
    ', + "f_anota": "{1} dosyadan sadece {0} tanesi seรงildi;\nTรผm klasรถrรผ seรงmek iรงin รถnce en alta kaydฤฑrฤฑn.", + + "f_dls": 'bu klasรถrdeki dosya linkleri\nindirme linklerine dรถnรผลŸtรผrรผldรผ', + + "f_partial": "Mevcutta yรผklenen bir dosyayฤฑ gรผvenli bir ลŸekilde indirmek iรงin lรผtfen aynฤฑ adlฤฑ ama .PARTIAL uzantฤฑsฤฑna sahip olmayan dosyaya tฤฑklayฤฑn. Lรผtfen bunu yapmak iรงin ฤฐPTAL veya Esc tuลŸuna basฤฑn.\n\nTamam / Enter tuลŸuna basmak, bu uyarฤฑyฤฑ yok sayacak ve bunun yerine .PARTIAL geรงici dosyasฤฑnฤฑ indirmeye devam edecektir ki bu da elinize bozuk veriler sunacaktฤฑr.", + + "ft_paste": "{0} รถgeyi yapฤฑลŸtฤฑr$Kฤฑsayol: ctrl-V", + "fr_eperm": 'yeniden adlandฤฑrฤฑlamฤฑyor:\nbu klasรถrรผ โ€œtaลŸฤฑmaโ€ izniniz yok', + "fd_eperm": 'silinemiyor:\nbu klasรถrde โ€œsilmeโ€ izniniz yok', + "fc_eperm": 'kesilemiyor:\nbu klasรถrde โ€œtaลŸฤฑmaโ€œ izniniz yok', + "fp_eperm": 'yapฤฑลŸtฤฑrฤฑlamฤฑyor:\nbu klasรถrde โ€œyazmaโ€œ izniniz yok', + "fr_emore": "yeniden adlandฤฑrmak iรงin en az bir รถge seรงin", + "fd_emore": "silmek iรงin en az bir รถge seรงin", + "fc_emore": "kesmek iรงin en az bir รถge seรงin", + "fcp_emore": "panoya kopyalamak iรงin en az bir รถge seรงin", + + "fs_sc": "bulunduฤŸunuz klasรถrรผ paylaลŸฤฑn", + "fs_ss": "seรงilen dosyalarฤฑ paylaลŸฤฑn", + "fs_just1d": "birden fazla klasรถr seรงemezsiniz\nveya bir seรงimde dosyalarฤฑ ve klasรถrleri karฤฑลŸtฤฑramazsฤฑnฤฑz", + "fs_abrt": "โŒ iptal", + "fs_rand": "๐ŸŽฒ rastgele.ad", + "fs_go": "โœ… paylaลŸฤฑmฤฑ oluลŸtur", + "fs_name": "isim", + "fs_src": "kaynak", + "fs_pwd": "ลŸifre", + "fs_exp": "son kullanma", + "fs_tmin": "dakika", + "fs_thrs": "saat", + "fs_tdays": "gรผn", + "fs_never": "sonsuz", + "fs_pname": "isteฤŸe baฤŸlฤฑ baฤŸlantฤฑ adฤฑ; boลŸsa rastgele olacaktฤฑr", + "fs_tsrc": "paylaลŸฤฑlacak dosya veya klasรถr", + "fs_ppwd": "isteฤŸe baฤŸlฤฑ ลŸifre", + "fs_w8": "paylaลŸฤฑm oluลŸturuluyor...", + "fs_ok": "panoya kopyalamak iรงin Enter/Tamam tuลŸuna basฤฑn\nkapatmak iรงin ESC/ฤฐptal tuลŸuna basฤฑn", + + "frt_dec": "bazฤฑ bozuk dosya adlarฤฑnฤฑ dรผzeltebilir\">url-decode", + "frt_rst": "deฤŸiลŸtirilen dosya adlarฤฑnฤฑ orijinal haline dรถndรผr\">โ†บ sฤฑfฤฑrla", + "frt_abrt": "iptal et ve bu pencereyi kapat\">โŒ iptal", + "frb_apply": "YENฤฐ ADI UYGULA", + "fr_adv": "toplu / meta veri / desen yeniden adlandฤฑrma\">geliลŸmiลŸ", + "fr_case": "bรผyรผk/kรผรงรผk harf duyarlฤฑ regex\">bรผyรผk/kรผรงรผk harf", + "fr_win": "windows'a uygun adlar; <>:"\\|?* karakterlerini Japonca tam geniลŸlik karakterleriyle deฤŸiลŸtir\">win", + "fr_slash": "/ karakterini yeni klasรถrlerin oluลŸturulmasฤฑna neden olmayan bir karakterle deฤŸiลŸtir\">/ yok", + "fr_re": "orijinal dosya adlarฤฑna uygulanacak regex arama deseni; yakalama gruplarฤฑ aลŸaฤŸฤฑdaki format alanฤฑnda <code>(1)</code> ve <code>(2)</code> gibi belirtilebilir", + "fr_fmt": "foobar2000'den esinlenilmiลŸtir:$N<code>(title)</code> ลŸarkฤฑ baลŸlฤฑฤŸฤฑyla deฤŸiลŸtirilir,$N<code>[(artist) - ](title)</code> sanatรงฤฑ boลŸsa [bu] kฤฑsmฤฑ atlar$N<code>$lpad((tn),2,0)</code> parรงa numarasฤฑnฤฑ 2 basamaฤŸa doldurur", + "fr_pdel": "sil", + "fr_pnew": "farklฤฑ kaydet", + "fr_pname": "yeni ayarฤฑnฤฑzฤฑ adlandฤฑrฤฑn", + "fr_aborted": "iptal edildi", + "fr_lold": "eski ad", + "fr_lnew": "yeni ad", + "fr_tags": "seรงilen dosyalar iรงin etiketler (salt okunur, sadece referans iรงin):", + "fr_busy": "{0} รถฤŸe yeniden adlandฤฑrฤฑlฤฑyor...\n\n{1}", + "fr_efail": "yeniden adlandฤฑrma baลŸarฤฑsฤฑz:\n", + "fr_nchg": "{0} yeni adlardan bazฤฑlarฤฑ win ve/veya / yok nedeniyle deฤŸiลŸtirildi\n\nBu deฤŸiลŸtirilmiลŸ yeni adlarla devam etmek iรงin Tamam'a basฤฑn.", + + "fd_ok": "silme tamam", + "fd_err": "silme baลŸarฤฑsฤฑz:\n", + "fd_none": "hiรงbir ลŸey silinmedi; belki sunucu yapฤฑlandฤฑrmasฤฑ (xbd) tarafฤฑndan engellenmiลŸtir?", + "fd_busy": "{0} รถฤŸe siliniyor...\n\n{1}", + "fd_warn1": "Bu {0} รถge silinsin mi?", + "fd_warn2": "Son ลŸans! Geri alma imkanฤฑn yok. Silinsin mi?", + + "fc_ok": "{0} รถge kesildi", + "fc_warn": '{0} รถge kesildi\n\namma velakin: sadece bu tarayฤฑcฤฑ penceresine yapฤฑลŸtฤฑrฤฑlabilirler\n(รงรผnkรผ seรงiminin boyutu hayvan gibi)', + + "fcc_ok": "{0} รถge panoya kopyalandฤฑ", + "fcc_warn": '{0} รถge panoya kopyalandฤฑ\n\namma velakin: sadece bu tarayฤฑcฤฑ penceresine yapฤฑลŸtฤฑrฤฑlabilirler\n(รงรผnkรผ seรงiminin boyutu hayvan gibi)', + + "fp_apply": "bu adlarฤฑ kullan", + "fp_skip": "รงakฤฑลŸmalarฤฑ atla", //m + "fp_ecut": "รถnce bazฤฑ dosyalarฤฑ / klasรถrleri kes veya kopyala, sonra yapฤฑลŸtฤฑr / taลŸฤฑ\n\nnot: farklฤฑ tarayฤฑcฤฑ sekmeleri arasฤฑnda kes / yapฤฑลŸtฤฑr yapabilirsiniz", + "fp_ename": "{0} รถฤŸe buraya taลŸฤฑnamaz รงรผnkรผ adlar zaten alฤฑnmฤฑลŸ. Devam etmek iรงin aลŸaฤŸฤฑda yeni adlar verin veya atlamak iรงin adlarฤฑ boลŸ bฤฑrakฤฑn (\"รงakฤฑลŸmalarฤฑ atla\"):", //m + "fcp_ename": "{0} รถฤŸe buraya kopyalanamaz รงรผnkรผ adlar zaten alฤฑnmฤฑลŸ. Devam etmek iรงin aลŸaฤŸฤฑda yeni adlar verin veya atlamak iรงin adlarฤฑ boลŸ bฤฑrakฤฑn (\"รงakฤฑลŸmalarฤฑ atla\"):", //m + "fp_emore": "hรขlรข dรผzeltilmesi gereken bazฤฑ dosya adฤฑ รงakฤฑลŸmalarฤฑ var", + "fp_ok": "taลŸฤฑma tamam", + "fcp_ok": "kopyalama tamam", + "fp_busy": "{0} รถฤŸe taลŸฤฑnฤฑyor...\n\n{1}", + "fcp_busy": "{0} รถฤŸe kopyalanฤฑyor...\n\n{1}", + "fp_abrt": "ฤฐptal ediliyor...", + "fp_err": "taลŸฤฑma baลŸarฤฑsฤฑz:\n", + "fcp_err": "kopyalama baลŸarฤฑsฤฑz:\n", + "fp_confirm": "bu {0} รถฤŸeyi buraya taลŸฤฑmak istiyor musunuz?", + "fcp_confirm": "bu {0} รถฤŸeyi buraya kopyalamak istiyor musunuz?", + "fp_etab": 'diฤŸer tarayฤฑcฤฑ sekmesinden pano okunamadฤฑ', + "fp_name": "cihazฤฑnฤฑzdan bir dosya yรผklรผyorsunuz. Bir ad verin:", + "fp_both_m": '
    yapฤฑลŸtฤฑrฤฑlacak ลŸeyi seรงin
    Enter = ยซ{1}ยป iรงinden {0} dosyayฤฑ taลŸฤฑ\nESC = cihazฤฑnฤฑzdan {2} dosyayฤฑ yรผkle', + "fcp_both_m": '
    yapฤฑลŸtฤฑrฤฑlacak ลŸeyi seรงin
    Enter = ยซ{1}ยป iรงinden {0} dosyayฤฑ kopyala\nESC = cihazฤฑnฤฑzdan {2} dosyayฤฑ yรผkle', + "fp_both_b": 'TaลŸฤฑYรผkle', + "fcp_both_b": 'KopyalaYรผkle', + + "mk_noname": "bunu yapmadan รถnce soldaki boลŸluฤŸa bir ลŸeyler yazsana :p", + "nmd_i1": "ayrฤฑca istediฤŸin dosya uzantฤฑsฤฑnฤฑ ekleyebilirsin, รถrneฤŸin .md", //m + "nmd_i2": "silme iznin olmadฤฑฤŸฤฑ iรงin yalnฤฑzca .md dosyalarฤฑ oluลŸturabilirsin", //m + + "tv_load": "Metin belgesi yรผkleniyor:\n\n{0}\n\n{1}% ({2} of {3} MiB yรผklendi)", + "tv_xe1": "metin dosyasฤฑ yรผklenemedi:\n\nhata ", + "tv_xe2": "404, dosya bulunamadฤฑ", + "tv_lst": "metin dosyalarฤฑnฤฑn listesi", + "tvt_close": "klasรถr gรถrรผnรผmรผne dรถn$NKฤฑsayol: M (veya Esc)\">โŒ kapat", + "tvt_dl": "bu dosyayฤฑ indir$NKฤฑsayol: Y\">๐Ÿ’พ indir", + "tvt_prev": "รถnceki belgeyi gรถster$NKฤฑsayol: i\">โฌ† รถnceki", + "tvt_next": "sonraki belgeyi gรถster$NKฤฑsayol: K\">โฌ‡ sonraki", + "tvt_sel": "dosyayฤฑ seรง$NKฤฑsayol: S\">seรง", + "tvt_j": "json gรผzelleลŸtir$NKฤฑsayol: shift-J\">j", //m + "tvt_edit": "dosyayฤฑ metin dรผzenleyicisinde aรง$NKฤฑsayol: E\">โœ๏ธ dรผzenle", + "tvt_tail": "dosyalardaki deฤŸiลŸiklikleri izle; yeni satฤฑrlarฤฑ gerรงek zamanlฤฑ gรถster\">๐Ÿ“ก takip", + "tvt_wrap": "kelime sarma\">โ†ต", + "tvt_atail": "sayfanฤฑn altฤฑna sabitle\">โš“", + "tvt_ctail": "terminal renklerini รงรถz (ansi kaรงฤฑลŸ kodlarฤฑ)\">๐ŸŒˆ", + "tvt_ntail": "รถnbellek limiti (kaรง byte yรผklenmiลŸ metin tutulacaฤŸฤฑ)", + + "m3u_add1": "ลŸarkฤฑ m3u รงalma listesine eklendi", + "m3u_addn": "{0} ลŸarkฤฑ m3u รงalma listesine eklendi", + "m3u_clip": "m3u รงalma listesi ลŸimdi panoya kopyalandฤฑ\n\nyeni bir metin dosyasฤฑ oluลŸturmalฤฑ ve adฤฑnฤฑ dosya.m3u koymalฤฑsฤฑnฤฑz ve รงalma listesini o belgeye yapฤฑลŸtฤฑrmalฤฑsฤฑnฤฑz; bu sayede oynatฤฑlabilir hale gelecektir", + + "gt_vau": "videolarฤฑ gรถsterme, sadece sesi oynat\">๐ŸŽง", + "gt_msel": "dosya seรงimlerini etkinleลŸtir; bir dosyayฤฑ geรงersiz kฤฑlmak iรงin ctrl-tฤฑkla$N$N<em>etkin olduฤŸunda: bir dosyayฤฑ / klasรถrรผ aรงmak iรงin รงift tฤฑkla</em>$N$NKฤฑsayol: S\">รงoklu seรงim", + "gt_crop": "kรผรงรผltรผlmรผลŸ รถnizlemeleri ortala\">kฤฑrp", + "gt_3x": "yรผksek รงรถzรผnรผrlรผklรผ รถnizlemeler\">3x", + "gt_zoom": "yakฤฑnlaลŸtฤฑr", + "gt_chop": "kes", + "gt_sort": "sฤฑrala", + "gt_name": "isim", + "gt_sz": "boyut", + "gt_ts": "tarih", + "gt_ext": "tip", + "gt_c1": "dosya adlarฤฑnฤฑ daha fazla kฤฑsalt (daha az gรถster)", + "gt_c2": "dosya adlarฤฑnฤฑ daha az kฤฑsalt (daha fazla gรถster)", + + "sm_w8": "aranฤฑyor...", + "sm_prev": "aลŸaฤŸฤฑdaki arama sonuรงlarฤฑ รถnceki bir sorgudan alฤฑnmฤฑลŸtฤฑr:\n ", + "sl_close": "arama sonuรงlarฤฑnฤฑ kapat", + "sl_hits": "gรถsterilen {0} sonuรง", + "sl_moar": "daha fazla yรผkle", + + "s_sz": "boyut", + "s_dt": "tarih", + "s_rd": "yol", + "s_fn": "isim", + "s_ta": "etiketler", + "s_ua": "yรผkleme@", + "s_ad": "gel.", + "s_s1": "en az MiB", + "s_s2": "en fazla MiB", + "s_d1": "en az iso8601", + "s_d2": "en fazla. iso8601", + "s_u1": "yรผklendi", + "s_u2": "veya รถnce", + "s_r1": "dosya yolu   iรงerir; (boลŸlukla ayrฤฑlmฤฑลŸ)", + "s_f1": "isim   iรงerir; (-nope kullan)", + "s_t1": "etiketler   iรงerir; (^=baลŸ, son=$)", + "s_a1": "รถzel metadata รถzellikleri", + + "md_eshow": "gรถrรผntรผlenemiyor: ", + "md_off": "[๐Ÿ“œbeni-oku], [โš™๏ธ] iรงinde kapalฤฑdฤฑr -- belge gizli", + + "badreply": "Sunucudan gelen yanฤฑt รงรถzรผmlenemedi", + + "xhr403": "403: EriลŸim reddedildi\n\nF5'e basmayฤฑ deneyin, oturumunuz kapanmฤฑลŸ olabilir", + "xhr0": "bilinmiyor (muhtemelen sunucuya baฤŸlantฤฑ kaybedildi veya sunucu รงevrimdฤฑลŸฤฑ)", + "cf_ok": "pardon yahu -- DD" + wah + "oS korumasฤฑ ลŸey etti\n\n30 saniyeye dรผzelmiลŸ olurum\n\nbi' halt olmazsa f5'e basarak sayfayฤฑ yenile", + "tl_xe1": "alt klasรถrler listelenemiyor:\n\nhata ", + "tl_xe2": "404: klasรถr bulunamadฤฑ", + "fl_xe1": "dosyalar listelenemiyor:\n\nhata ", + "fl_xe2": "404: klasรถr bulunamadฤฑ", + "fd_xe1": "alt klasรถr oluลŸturulamadฤฑ:\n\nhata ", + "fd_xe2": "404: รœst klasรถr bulunamadฤฑ", + "fsm_xe1": "mesaj gรถnderilemedi:\n\nhata ", + "fsm_xe2": "404: รœst klasรถr bulunamadฤฑ", + "fu_xe1": "sunucudan unpost(?) listesini yรผklemek baลŸarฤฑsฤฑz oldu:\n\nhata ", + "fu_xe2": "404: Dosya bulunamadฤฑ!!", + + "fz_tar": "sฤฑkฤฑลŸtฤฑrฤฑlmamฤฑลŸ gnu-tar dosyasฤฑ (linux / mac)", + "fz_pax": "sฤฑkฤฑลŸtฤฑrฤฑlmamฤฑลŸ pax-format tar (daha yavaลŸ)", + "fz_targz": "gnu-tar ile gzip seviye 3 sฤฑkฤฑลŸtฤฑrma$N$Nbu genellikle รงok yavaลŸtฤฑr, bu yรผzden$NsฤฑkฤฑลŸtฤฑrฤฑlmamฤฑลŸ tar kullanฤฑn", + "fz_tarxz": "gnu-tar ile xz seviye 1 sฤฑkฤฑลŸtฤฑrma$N$Nbu genellikle รงok yavaลŸtฤฑr, bu yรผzden$NsฤฑkฤฑลŸtฤฑrฤฑlmamฤฑลŸ tar kullanฤฑn", + "fz_zip8": "utf8 dosya adlarฤฑ ile zip (windows 7 ve daha eski sรผrรผmlerde sorunlu olabilir)", + "fz_zipd": "gerรงekten eski yazฤฑlฤฑmlar iรงin geleneksel cp437 dosya adlarฤฑ ile zip", + "fz_zipc": "erken hesaplanan crc32 ile cp437,$NMS-DOS PKZIP v2.04g (ekim 1993) iรงin$N(indirmenin baลŸlamasฤฑndan รถnce iลŸlenmesi daha uzun sรผrer)", + + "un_m1": "aลŸaฤŸฤฑdan son yรผklemelerinizi (veya tamamlanmamฤฑลŸ olanlarฤฑ) silebilirsiniz", + "un_upd": "yenile", + "un_m4": "veya aลŸaฤŸฤฑda gรถrรผnen dosyalarฤฑ paylaลŸฤฑn:", + "un_ulist": "gรถster", + "un_ucopy": "kopyala", + "un_flt": "isteฤŸe baฤŸlฤฑ filtre:  URL ลŸunu iรงermelidir:", + "un_fclr": "filtreyi temizle", + "un_derr": 'unpost-delete failed:\n', + "un_f5": 'bir ลŸeyler bozuldu, lรผtfen yenilemeyi deneyin veya F5 tuลŸuna basฤฑn', + "un_uf5": "รผzgรผnรผm ama bu yรผkleme iptal edilmeden รถnce sayfayฤฑ yenilemeniz gerekiyor (F5 veya CTRL-R tuลŸlarฤฑna basarak)", + "un_nou": 'uyarฤฑ: sunucu tamamlanmamฤฑลŸ yรผklemeleri gรถstermek iรงin รงok meลŸgul; birazdan "yenile" baฤŸlantฤฑsฤฑna tฤฑklayฤฑn', + "un_noc": 'uyarฤฑ: tamamen yรผklenmiลŸ dosyalarฤฑn unpost edilmesi sunucu yapฤฑlandฤฑrmasฤฑnda etkinleลŸtirilmemiลŸtir/izin verilmemiลŸtir', + "un_max": "ilk 2000 dosya gรถsteriliyor (filtreyi kullan)", + "un_avail": "son yรผklemelerin {0} tanesi silinebilir
    tamamlanmayanlarฤฑn {1} tanesi iptal edilebilir", + "un_m2": "yรผkleme zamanฤฑna gรถre sฤฑralandฤฑ; en son รถnce:", + "un_no1": "Hayda! yeterince gรผncel yรผkleme yok", + "un_no2": "Hayda! o filtreye uyan yeterince gรผncel yรผkleme yok", + "un_next": "aลŸaฤŸฤฑdaki {0} dosyayฤฑ sil", + "un_abrt": "iptal", + "un_del": "sil", + "un_m3": "son yรผklemelerinizi hazฤฑrlanฤฑyor...", + "un_busy": "{0} dosya siliniyor...", + "un_clip": "{0} baฤŸlantฤฑ panoya kopyalandฤฑ", + + "u_https1": "daha iyi performans", + "u_https2": "iรงin https'i", + "u_https3": "kullanฤฑn", + "u_ancient": 'tarayฤฑcฤฑnฤฑz resmen fosilleลŸmiลŸ -- belki de bup kullanmalฤฑsฤฑnฤฑz', + "u_nowork": "firefox 53+ veya chrome 57+ veya iOS 11+ gerekiyor", + "tail_2old": "firefox 105+ veya chrome 71+ veya iOS 14.5+ gerekiyor", + "u_nodrop": 'tarayฤฑcฤฑnฤฑz sรผrรผkleyip bฤฑrakmak iรงin รงok eski', + "u_notdir": "bu bir klasรถr deฤŸil!\n\ntarayฤฑcฤฑnฤฑz รงok eski,\nlรผtfen bunun yerine sรผrรผkleyip bฤฑrakmayฤฑ deneyin", + "u_uri": "baลŸka tarayฤฑcฤฑ pencerelerinden sรผrรผkle-bฤฑrak ile yรผkleme yapmak iรงin,\nlรผtfen bรผyรผk yรผkleme dรผฤŸmesinin รผstรผne bฤฑrakฤฑn", + "u_enpot": 'Patates arayรผze geรงiลŸ yap (yรผkleme hฤฑzฤฑnฤฑ artฤฑrabilir)', + "u_depot": 'Havalฤฑ arayรผze geรงiลŸ yap (yรผkleme hฤฑzฤฑnฤฑ azaltabilir)', + "u_gotpot": 'yรผkleme hฤฑzฤฑnฤฑ artฤฑrmak iรงin patates arayรผzรผne geรงiliyor,\n\nkatฤฑlmฤฑyorsanฤฑz geri dรถnmekte รถzgรผrsรผnรผz!', + "u_pott": "

    dosyalar:   {0} tamamlandฤฑ,   {1} baลŸarฤฑsฤฑz,   {2} meลŸgul,   {3} sฤฑrada bekliyor

    ", + "u_ever": "bu temel yรผkleyici; up2k en az
    chrome 21 // firefox 13 // edge 12 // opera 12 // safari 5.1 gerektirir", + "u_su2k": 'bu temel yรผkleyici; up2k daha iyidir', + "u_uput": 'hฤฑz iรงin optimize et (kontrol toplamฤฑnฤฑ atla)', + "u_ewrite": 'bu klasรถre yazma izniniz yok', + "u_eread": 'bu klasรถrรผ okuma izniniz yok', + "u_enoi": 'dosya arama sunucu yapฤฑlandฤฑrmasฤฑnda etkin deฤŸil', + "u_enoow": "รผstรผne yazma burada รงalฤฑลŸmayacak; Silme izni gerekiyor", + "u_badf": 'Bu {0} dosya (toplam {1} arasฤฑnda) atlandฤฑ, muhtemelen dosya sistemi izinleri nedeniyle:\n\n', + "u_blankf": 'Bu {0} dosya (toplam {1} arasฤฑnda) boลŸ / boลŸ; yine de yรผklemek ister misiniz?\n\n', + "u_applef": 'Bu {0} dosya (toplam {1} arasฤฑnda) muhtemelen istenmiyor;\nAลŸaฤŸฤฑdaki dosyalarฤฑ ATLAMAK iรงin TAMAM/Enter tuลŸuna basฤฑn,\nyรผklemek iรงin ฤฐptal/ESC tuลŸuna basฤฑn\n\n', + "u_just1": '\nBelki sadece bir dosya seรงerseniz daha iyi รงalฤฑลŸฤฑr', + "u_ff_many": "eฤŸer Linux / MacOS / Android kullanฤฑyorsanฤฑz bu kadar รงok dosya yรผklemenin Firefox'u รงรถkertme ihtimali var!\nEฤŸer รงรถkerse lรผtfen tekrar deneyin (veya Chrome kullanฤฑn).", + "u_up_life": "Bu yรผkleme, tamamlandฤฑktan {0} sรผre sonra sunucudan silinecek\n", + "u_asku": 'bu {0} dosya {1} iรงerisine yรผkleniyor', + "u_unpt": "bu yรผklemeyi sol รผstteki ๐Ÿงฏ ile geri alabilir / silebilirsiniz", + "u_bigtab": '{0} dosya gรถrรผntรผlenmek รผzere\n\nBu kadar fazlasฤฑ tarayฤฑcฤฑnฤฑzฤฑ รงรถkertebilir, emin misiniz?', + "u_scan": 'Dsyalar tarฤฑyor...', + "u_dirstuck": 'dizin yineleyicisi aลŸaฤŸฤฑdaki {0} รถฤŸeye eriลŸmeye รงalฤฑลŸฤฑrken takฤฑldฤฑ; atlanacak:', + "u_etadone": 'Tamamlandฤฑ ({0}, {1} dosya)', + "u_etaprep": '(yรผklemeye hazฤฑrlanฤฑyor)', + "u_hashdone": 'hash\'leme tamamlandฤฑ', + "u_hashing": 'hash\'leniyor', + "u_hs": 'el sฤฑkฤฑlฤฑyor...', + "u_started": "dosyalar ลŸu anda yรผkleniyor; [๐Ÿš€]'i gรถr", + "u_dupdefer": "baลŸka bir dosyanฤฑn kopyasฤฑ; diฤŸer tรผm dosyalardan sonra iลŸlenecek", + "u_actx": "diฤŸer pencereler/sekmeler arasฤฑnda geรงiลŸ yaparken
    performansฤฑn dรผลŸmemesi iรงin bu yazฤฑya tฤฑklayฤฑn", + "u_fixed": "Timam!  Hallettim ๐Ÿ‘", + "u_cuerr": "parรงa {0} / {1} yรผklenemedi;\nmuhtemelen zararsฤฑz, devam ediliyor\n\ndosya: {2}", + "u_cuerr2": "sunucu yรผklemeyi reddetti (parรงa {0} / {1});\nsonra tekrar denenecek\n\ndosya: {2}\n\nhata ", + "u_ehstmp": "tekrar denenecek; saฤŸ alt kรถลŸeye mak", + "u_ehsfin": "sunucu yรผklemeyi tamamlama isteฤŸini reddetti; tekrar deniyor...", + "u_ehssrch": "sunucu arama yapma isteฤŸini reddetti; tekrar deniyor...", + "u_ehsinit": "sunucu yรผklemeyi baลŸlatma isteฤŸini reddetti; tekrar deniyor...", + "u_eneths": "yรผkleme el sฤฑkฤฑลŸmasฤฑ sฤฑrasฤฑnda aฤŸ hatasฤฑ; tekrar deniyor...", + "u_enethd": "hedef varlฤฑฤŸฤฑnฤฑ test ederken aฤŸ hatasฤฑ; tekrar deniyor...", + "u_cbusy": "aฤŸ kesintisinden sonra sunucunun bize tekrar gรผvenmesini bekliyoruz...", + "u_ehsdf": "sunucuda disk alanฤฑ kalmadฤฑ!\n\ndevam edebilmek iรงin birinin\nyeterli alan aรงmasฤฑnฤฑ bekleyeceฤŸiz", + "u_emtleak1": "gรถrรผnรผลŸe gรถre web tarayฤฑcฤฑnฤฑzda bir bellek sฤฑzฤฑntฤฑsฤฑ var;\nlรผtfen", + "u_emtleak2": ' https\'ye geรงin (รถnerilir) veya ', + "u_emtleak3": ' ', + "u_emtleakc": 'sฤฑrayla ลŸunlarฤฑ deneyin:\n
    • sayfayฤฑ yenilemek iรงin F5\'e basฤฑn
    • sonra  mt  dรผฤŸmesini  โš™๏ธ ayarlar menรผsรผnde devre dฤฑลŸฤฑ bฤฑrakฤฑn
    • ve o yรผklemeyi tekrar deneyin
    Yรผklemeler biraz daha yavaลŸ olacaktฤฑr, ama salla gitsin.\nSorun iรงin รถzรผr dileriz!\n\nDipnot: chrome v107 iรงin bir hata dรผzeltmesi', + "u_emtleakf": 'ลŸunlarฤฑ deneyin:\n
    • sayfayฤฑ yenilemek iรงin F5\'e basฤฑn
    • sonra yรผkleme arayรผzรผnde ๐Ÿฅ” (patates) seรงeneฤŸini etkinleลŸtirin
    • ve yรผklemeyi tekrar deneyin
    \nDipnot: firefox iรงin muhtemel bir hata dรผzeltmesi', + "u_s404": "sunucuda bulunamadฤฑ", + "u_expl": "aรงฤฑklama", + "u_maxconn": "รงoฤŸu tarayฤฑcฤฑ bunu 6 ile sฤฑnฤฑrlar, ancak firefox bunu about:config iรงinde connections-per-server ile artฤฑrmanฤฑza izin verir", + "u_tu": '

    UYARI: turbo etkin,  istemci tamamlanmamฤฑลŸ yรผklemeleri algฤฑlayamayabilir ve devam ettiremeyebilir; turbo dรผฤŸmesinden ipuรงlarฤฑna bakabilirsiniz

    ', + "u_ts": '

    UYARI: turbo etkin,  arama sonuรงlarฤฑ yanlฤฑลŸ olabilir; turbo dรผฤŸmesi ipuรงlarฤฑna bakฤฑn

    ', + "u_turbo_c": "turbo sunucu yapฤฑlandฤฑrmasฤฑnda devre dฤฑลŸฤฑ bฤฑrakฤฑldฤฑ", + "u_turbo_g": "turbo devre dฤฑลŸฤฑ bฤฑrakฤฑlฤฑyor รงรผnkรผ bu alanda\ndizin listeleme ayrฤฑcalฤฑklarฤฑnฤฑz yok", + "u_life_cfg": 'yรผklemeleri dk (veya saat) sonra otomatik olarak sil', + "u_life_est": 'yรผkleme --- sonra silinecek', + "u_life_max": 'bu klasรถr bir\nmaksimum รถmรผr {0} uygular', + "u_unp_ok": 'unpost {0} iรงin izin verildi', + "u_unp_ng": 'unpost izin verilmeyecek', + "ue_ro": 'bu klasรถre eriลŸiminiz Salt Okuma\n\n', + "ue_nl": 'ลŸu anda oturum aรงmamฤฑลŸsฤฑnฤฑz', + "ue_la": 'ลŸu anda "{0}" olarak oturum aรงmฤฑลŸsฤฑnฤฑz', + "ue_sr": 'ลŸu anda dosya arama modundasฤฑnฤฑz\n\nbรผyรผteรง simgesine tฤฑklayarak yรผkleme moduna geรงin ๐Ÿ”Ž (bรผyรผk ARAMA dรผฤŸmesinin yanฤฑndaki) ve tekrar yรผklemeyi deneyin\n\nyeter be', + "ue_ta": 'tekrar yรผklemeyi deneyin, artฤฑk รงalฤฑลŸsana be', + "ue_ab": "bu dosya zaten baลŸka bir klasรถre yรผkleniyor ve o yรผkleme tamamlanmadan dosya baลŸka bir yere yรผklenemez.\n\nฤฐlk yรผklemeyi iptal edip unutmak iรงin sol รผstteki ๐Ÿงฏ simgesini kullanabilirsiniz.", + "ur_1uo": "OK: Dosya baลŸarฤฑyla yรผklendi", + "ur_auo": "OK: {0} dosyanฤฑn tamamฤฑ baลŸarฤฑyla yรผklendi", + "ur_1so": "OK: Dosya sunucuda bulundu", + "ur_aso": "OK: {0} dosyanฤฑn tamamฤฑ sunucuda bulundu", + "ur_1un": "Yรผkleme baลŸarฤฑsฤฑz oldu, รผzgรผnรผm", + "ur_aun": "{0} yรผklemenin tamamฤฑ baลŸarฤฑsฤฑz oldu, รผzgรผnรผm", + "ur_1sn": "Dosya sunucuda bulunamadฤฑ", + "ur_asn": "{0} dosyas sunucuda bulunamadฤฑ", + "ur_um": "Tamamlandฤฑ;\n{0} yรผkleme baลŸarฤฑlฤฑ,\n{1} yรผkleme baลŸarฤฑsฤฑz oldu, รผzgรผnรผm", + "ur_sm": "Tamamlandฤฑ;\n{0} dosya sunucuda bulundu,\n{1} dosya sunucuda bulunamadฤฑ", + + "rc_opn": "aรง", //m + "rc_ply": "oynat", //m + "rc_pla": "ses olarak oynat", //m + "rc_txt": "dosya gรถrรผntรผleyicide aรง", //m + "rc_md": "metin dรผzenleyicide aรง", //m + "rc_dl": "iฬ‡ndir", //m + "rc_zip": "arลŸiv olarak indir", //m + "rc_del": "sil", //m + "rc_cut": "kes", //m + "rc_cpy": "kopyala", //m + "rc_pst": "yapฤฑลŸtฤฑr", //m + "rc_nfo": "yeni klasรถr", //m + "rc_nfi": "yeni dosya", //m + "rc_sal": "tรผmรผnรผ seรง", //m + "rc_sin": "seรงimi tersine รงevir", //m + + "lang_set": "DeฤŸiลŸikliklerin etki gรถstermesi iรงin sayfa yenilensin mi?", + + "splash": { + "a1": "yenile", + "b1": "N'aber aga   (giriลŸ yapmamฤฑลŸsฤฑn)", + "c1": "รงฤฑkฤฑลŸ yap", + "d1": "yฤฑฤŸฤฑnฤฑ yolla", + "d2": "tรผm aktif iลŸ parรงacฤฑklarฤฑnฤฑn durumunu gรถsterir", + "e1": "cfg'yi yenile", + "e2": "yapฤฑlandฤฑrma dosyalarฤฑnฤฑ yenile (hesaplar/hacimler/hacim bayraklarฤฑ),$Nve tรผm e2ds hacimlerini yeniden tarayฤฑn$N$Nnot: global ayarlardaki herhangi bir deฤŸiลŸiklik$Netkili hale gelmesi iรงin tam bir yeniden baลŸlatma gerektirir", + "f1": "gรถz atabilirsiniz:", + "g1": "yรผkleyebilirsiniz:", + "cc1": "diฤŸer ลŸeyler:", + "h1": "k304'รผ devre dฤฑลŸฤฑ bฤฑrak", + "i1": "k304'รผ etkinleลŸtir", + "j1": "k304'รผ etkinleลŸtirmek, her HTTP 304'te istemcinizin baฤŸlantฤฑsฤฑnฤฑ keser, bu da bazฤฑ hatalฤฑ proxy'lerin takฤฑlmasฤฑnฤฑ รถnleyebilir (sayfalarฤฑn birdenbire yรผklenmesinin durmasฤฑ gibi); ama bu, aynฤฑ zamanda genel olarak iลŸleyiลŸi yavaลŸlatฤฑr", + "k1": "istemci ayarlarฤฑnฤฑ sฤฑfฤฑrla", + "l1": "daha fazlasฤฑ iรงin giriลŸ yap:", + "m1": "hoลŸ geldin,", + "n1": "404 bulunamadฤฑ  โ”( ยด -`)โ”Œ", + "o1": 'ya da eriลŸim iznin yok -- bir ลŸifre dene veya ana sayfaya dรถn', + "p1": "403 yasaklandฤฑ  ~โ”ปโ”โ”ป", + "q1": 'bir ลŸifre kullan veya ana sayfaya dรถn', + "r1": "ana sayfaya dรถn", + ".s1": "yeniden tara", + "t1": "iลŸlem", + "u2": "son sunucu yazma zamanฤฑ$N( yรผkleme / yeniden adlandฤฑrma / ... )$N$N17d = 17 gรผn$N1h23 = 1 saat 23 dakika$N4m56 = 4 dakika 56 saniye", + "v1": "baฤŸlan", + "v2": "bu sunucuyu yerel HDD olarak kullan", + "w1": "https'ye geรง", + "x1": "ลŸifreyi deฤŸiลŸtir", + "y1": "paylaลŸฤฑlanlarฤฑ dรผzenle", + "z1": "gizli paylaลŸฤฑmฤฑn kilidini aรง:", + "ta1": "ilk รถnce yeni ลŸifreyi doldur", + "ta2": "yeni ลŸifreyi onaylamak iรงin tekrar girin:", + "ta3": "bir yazฤฑm hatasฤฑ bulundu; lรผtfen tekrar deneyin", + "nop": "HATA: Parola boลŸ olamaz", //m + "nou": "HATA: Kullanฤฑcฤฑ adฤฑ ve/veya parola boลŸ olamaz", //m + "aa1": "gelen dosyalar:", + "ab1": "no304'รผ devre dฤฑลŸฤฑ bฤฑrak", + "ac1": "no304'รผ etkinleลŸtir", + "ad1": "no304'รผ etkinleลŸtirmek, tรผm รถnbelleฤŸi devre dฤฑลŸฤฑ bฤฑrakฤฑr; bunu k304 yeterli olmadฤฑysa deneyin. Bu, bรผyรผk miktarda aฤŸ trafiฤŸi israf edecektir!", + "ae1": "aktif indirmeler:", + "af1": "son yรผklemeleri gรถster", + "ag1": "bilinen IdP kullanฤฑcฤฑlarฤฑnฤฑ gรถster", //m + } +}; diff --git a/copyparty/web/tl/ukr.js b/copyparty/web/tl/ukr.js new file mode 100644 index 00000000..1b1b7bd2 --- /dev/null +++ b/copyparty/web/tl/ukr.js @@ -0,0 +1,710 @@ + +// ะ ัะดะบะธ, ั‰ะพ ะทะฐะบั–ะฝั‡ัƒัŽั‚ัŒัั ะฝะฐ //m, ั” ะฝะตะฟะตั€ะตะฒั–ั€ะตะฝะธะผะธ ะผะฐัˆะธะฝะฝะธะผะธ ะฟะตั€ะตะบะปะฐะดะฐะผะธ + +Ls.ukr = { + "tt": "ะฃะบั€ะฐั—ะฝััŒะบะฐ", + + "cols": { + "c": "ะบะฝะพะฟะบะธ ะดั–ะน", + "dur": "ั‚ั€ะธะฒะฐะปั–ัั‚ัŒ", + "q": "ัะบั–ัั‚ัŒ / ะฑั–ั‚ั€ะตะนั‚", + "Ac": "ะฐัƒะดั–ะพ ะบะพะดะตะบ", + "Vc": "ะฒั–ะดะตะพ ะบะพะดะตะบ", + "Fmt": "ั„ะพั€ะผะฐั‚ / ะบะพะฝั‚ะตะนะฝะตั€", + "Ahash": "ะบะพะฝั‚ั€ะพะปัŒะฝะฐ ััƒะผะฐ ะฐัƒะดั–ะพ", + "Vhash": "ะบะพะฝั‚ั€ะพะปัŒะฝะฐ ััƒะผะฐ ะฒั–ะดะตะพ", + "Res": "ั€ะพะทะดั–ะปัŒะฝั–ัั‚ัŒ", + "T": "ั‚ะธะฟ ั„ะฐะนะปัƒ", + "aq": "ัะบั–ัั‚ัŒ ะฐัƒะดั–ะพ / ะฑั–ั‚ั€ะตะนั‚", + "vq": "ัะบั–ัั‚ัŒ ะฒั–ะดะตะพ / ะฑั–ั‚ั€ะตะนั‚", + "pixfmt": "ะฟั–ะดะฒะธะฑั–ั€ะบะฐ / ัั‚ั€ัƒะบั‚ัƒั€ะฐ ะฟั–ะบัะตะปั–ะฒ", + "resw": "ะณะพั€ะธะทะพะฝั‚ะฐะปัŒะฝะฐ ั€ะพะทะดั–ะปัŒะฝั–ัั‚ัŒ", + "resh": "ะฒะตั€ั‚ะธะบะฐะปัŒะฝะฐ ั€ะพะทะดั–ะปัŒะฝั–ัั‚ัŒ", + "chs": "ะฐัƒะดั–ะพ ะบะฐะฝะฐะปะธ", + "hz": "ั‡ะฐัั‚ะพั‚ะฐ ะดะธัะบั€ะตั‚ะธะทะฐั†ั–ั—", + }, + + "hks": [ + [ + "ั€ั–ะทะฝะต", + ["ESC", "ะทะฐะบั€ะธั‚ะธ ั€ั–ะทะฝั– ั€ะตั‡ั–"], + + "ั„ะฐะนะปะพะฒะธะน ะผะตะฝะตะดะถะตั€", + ["G", "ะฟะตั€ะตะผะบะฝัƒั‚ะธ ัะฟะธัะพะบ / ัั–ั‚ะบัƒ"], + ["T", "ะฟะตั€ะตะผะบะฝัƒั‚ะธ ะผั–ะฝั–ะฐั‚ัŽั€ะธ / ั–ะบะพะฝะบะธ"], + ["โ‡ง A/D", "ั€ะพะทะผั–ั€ ะผั–ะฝั–ะฐั‚ัŽั€"], + ["ctrl-K", "ะฒะธะดะฐะปะธั‚ะธ ะฒะธะฑั€ะฐะฝะต"], + ["ctrl-X", "ะฒะธั€ั–ะทะฐั‚ะธ ะดะพ ะฑัƒั„ะตั€ะฐ"], + ["ctrl-C", "ะบะพะฟั–ัŽะฒะฐั‚ะธ ะดะพ ะฑัƒั„ะตั€ะฐ"], + ["ctrl-V", "ะฒัั‚ะฐะฒะธั‚ะธ (ะฟะตั€ะตะผั–ัั‚ะธั‚ะธ/ะบะพะฟั–ัŽะฒะฐั‚ะธ) ััŽะดะธ"], + ["Y", "ะทะฐะฒะฐะฝั‚ะฐะถะธั‚ะธ ะฒะธะฑั€ะฐะฝะต"], + ["F2", "ะฟะตั€ะตะนะผะตะฝัƒะฒะฐั‚ะธ ะฒะธะฑั€ะฐะฝะต"], + + "ะฒะธะฑั–ั€ ั„ะฐะนะปั–ะฒ ัƒ ัะฟะธัะบัƒ", + ["space", "ะฟะตั€ะตะผะบะฝัƒั‚ะธ ะฒะธะฑั–ั€ ั„ะฐะนะปัƒ"], + ["โ†‘/โ†“", "ะฟะตั€ะตะผั–ัั‚ะธั‚ะธ ะบัƒั€ัะพั€ ะฒะธะฑะพั€ัƒ"], + ["ctrl โ†‘/โ†“", "ะฟะตั€ะตะผั–ัั‚ะธั‚ะธ ะบัƒั€ัะพั€ ั– ะฒั–ะบะฝะพ"], + ["โ‡ง โ†‘/โ†“", "ะฒะธะฑั€ะฐั‚ะธ ะฟะพะฟะตั€ะตะดะฝั–ะน/ะฝะฐัั‚ัƒะฟะฝะธะน ั„ะฐะนะป"], + ["ctrl-A", "ะฒะธะฑั€ะฐั‚ะธ ะฒัั– ั„ะฐะนะปะธ / ะฟะฐะฟะบะธ"], + ], [ + "ะฝะฐะฒั–ะณะฐั†ั–ั", + ["B", "ะฟะตั€ะตะผะบะฝัƒั‚ะธ ั…ะปั–ะฑะฝั– ะบั€ะธั…ั‚ะธ / ะฟะฐะฝะตะปัŒ ะฝะฐะฒั–ะณะฐั†ั–ั—"], + ["I/K", "ะฟะพะฟะตั€ะตะดะฝั/ะฝะฐัั‚ัƒะฟะฝะฐ ะฟะฐะฟะบะฐ"], + ["M", "ะฑะฐั‚ัŒะบั–ะฒััŒะบะฐ ะฟะฐะฟะบะฐ (ะฐะฑะพ ะทะณะพั€ะฝัƒั‚ะธ ะฟะพั‚ะพั‡ะฝัƒ)"], + ["V", "ะฟะตั€ะตะผะบะฝัƒั‚ะธ ะฟะฐะฟะบะธ / ั‚ะตะบัั‚ะพะฒั– ั„ะฐะนะปะธ ะฒ ะฟะฐะฝะตะปั– ะฝะฐะฒั–ะณะฐั†ั–ั—"], + ["A/D", "ั€ะพะทะผั–ั€ ะฟะฐะฝะตะปั– ะฝะฐะฒั–ะณะฐั†ั–ั—"], + ], [ + "ะฐัƒะดั–ะพ ะฟะปะตั”ั€", + ["J/L", "ะฟะพะฟะตั€ะตะดะฝั/ะฝะฐัั‚ัƒะฟะฝะฐ ะฟั–ัะฝั"], + ["U/O", "ะฟะตั€ะตะผะพั‚ะฐั‚ะธ ะฝะฐ 10ัะตะบ ะฝะฐะทะฐะด/ะฒะฟะตั€ะตะด"], + ["0..9", "ะฟะตั€ะตะนั‚ะธ ะดะพ 0%..90%"], + ["P", "ะฒั–ะดั‚ะฒะพั€ะธั‚ะธ/ะฟะฐัƒะทะฐ (ั‚ะฐะบะพะถ ะทะฐะฟัƒัะบะฐั”)"], + ["S", "ะฒะธะฑั€ะฐั‚ะธ ะฟะพั‚ะพั‡ะฝัƒ ะฟั–ัะฝัŽ"], + ["Y", "ะทะฐะฒะฐะฝั‚ะฐะถะธั‚ะธ ะฟั–ัะฝัŽ"], + ], [ + "ะฟะตั€ะตะณะปัะดะฐั‡ ะทะพะฑั€ะฐะถะตะฝัŒ", + ["J/L, โ†/โ†’", "ะฟะพะฟะตั€ะตะดะฝั”/ะฝะฐัั‚ัƒะฟะฝะต ะทะพะฑั€ะฐะถะตะฝะฝั"], + ["Home/End", "ะฟะตั€ัˆะต/ะพัั‚ะฐะฝะฝั” ะทะพะฑั€ะฐะถะตะฝะฝั"], + ["F", "ะฟะพะฒะฝะธะน ะตะบั€ะฐะฝ"], + ["R", "ะฟะพะฒะตั€ะฝัƒั‚ะธ ะทะฐ ะณะพะดะธะฝะฝะธะบะพะฒะพัŽ ัั‚ั€ั–ะปะบะพัŽ"], + ["โ‡ง R", "ะฟะพะฒะตั€ะฝัƒั‚ะธ ะฟั€ะพั‚ะธ ะณะพะดะธะฝะฝะธะบะพะฒะพั— ัั‚ั€ั–ะปะบะธ"], + ["S", "ะฒะธะฑั€ะฐั‚ะธ ะทะพะฑั€ะฐะถะตะฝะฝั"], + ["Y", "ะทะฐะฒะฐะฝั‚ะฐะถะธั‚ะธ ะทะพะฑั€ะฐะถะตะฝะฝั"], + ], [ + "ะฒั–ะดะตะพ ะฟะปะตั”ั€", + ["U/O", "ะฟะตั€ะตะผะพั‚ะฐั‚ะธ ะฝะฐ 10ัะตะบ ะฝะฐะทะฐะด/ะฒะฟะตั€ะตะด"], + ["P/K/Space", "ะฒั–ะดั‚ะฒะพั€ะธั‚ะธ/ะฟะฐัƒะทะฐ"], + ["C", "ะฟั€ะพะดะพะฒะถะธั‚ะธ ะฒั–ะดั‚ะฒะพั€ะตะฝะฝั ะฝะฐัั‚ัƒะฟะฝะพะณะพ"], + ["V", "ะฟะพะฒั‚ะพั€"], + ["M", "ะฒะธะผะบะฝัƒั‚ะธ ะทะฒัƒะบ"], + ["[ and ]", "ะฒัั‚ะฐะฝะพะฒะธั‚ะธ ั–ะฝั‚ะตั€ะฒะฐะป ะฟะพะฒั‚ะพั€ัƒ"], + ], [ + "ะฟะตั€ะตะณะปัะดะฐั‡ ั‚ะตะบัั‚ะพะฒะธั… ั„ะฐะนะปั–ะฒ", + ["I/K", "ะฟะพะฟะตั€ะตะดะฝั–ะน/ะฝะฐัั‚ัƒะฟะฝะธะน ั„ะฐะนะป"], + ["M", "ะทะฐะบั€ะธั‚ะธ ั‚ะตะบัั‚ะพะฒะธะน ั„ะฐะนะป"], + ["E", "ั€ะตะดะฐะณัƒะฒะฐั‚ะธ ั‚ะตะบัั‚ะพะฒะธะน ั„ะฐะนะป"], + ["S", "ะฒะธะฑั€ะฐั‚ะธ ั„ะฐะนะป (ะดะปั ะฒะธั€ั–ะทะฐะฝะฝั/ะบะพะฟั–ัŽะฒะฐะฝะฝั/ะฟะตั€ะตะนะผะตะฝัƒะฒะฐะฝะฝั)"], + ["Y", "ะทะฐะฒะฐะฝั‚ะฐะถะธั‚ะธ ั‚ะตะบัั‚ะพะฒะธะน ั„ะฐะนะป"], //m + ["โ‡ง J", "ะฟั€ะธะบั€ะฐัะธั‚ะธ json"], //m + ] + ], + + "m_ok": "ะ“ะฐั€ะฐะทะด", + "m_ng": "ะกะบะฐััƒะฒะฐั‚ะธ", + + "enable": "ะฃะฒั–ะผะบะฝัƒั‚ะธ", + "danger": "ะะ•ะ‘ะ•ะ—ะŸะ•ะšะ", + "clipped": "ัะบะพะฟั–ะนะพะฒะฐะฝะพ ะดะพ ะฑัƒั„ะตั€ะฐ ะพะฑะผั–ะฝัƒ", + + "ht_s1": "ัะตะบัƒะฝะดะฐ", + "ht_s2": "ัะตะบัƒะฝะด", + "ht_m1": "ั…ะฒะธะปะธะฝะฐ", + "ht_m2": "ั…ะฒะธะปะธะฝ", + "ht_h1": "ะณะพะดะธะฝะฐ", + "ht_h2": "ะณะพะดะธะฝ", + "ht_d1": "ะดะตะฝัŒ", + "ht_d2": "ะดะฝั–ะฒ", + "ht_and": " ั– ", + + "goh": "ะฟะฐะฝะตะปัŒ ะบะตั€ัƒะฒะฐะฝะฝั", + "gop": 'ะฟะพะฟะตั€ะตะดะฝั–ะน ััƒัั–ะด">ะฝะฐะทะฐะด', + "gou": 'ะฑะฐั‚ัŒะบั–ะฒััŒะบะฐ ะฟะฐะฟะบะฐ">ะฒะณะพั€ัƒ', + "gon": 'ะฝะฐัั‚ัƒะฟะฝะฐ ะฟะฐะฟะบะฐ">ะดะฐะปั–', + "logout": "ะ’ะธะนั‚ะธ ", + "login": "ัƒะฒั–ะนั‚ะธ", //m + "access": " ะดะพัั‚ัƒะฟ", + "ot_close": "ะทะฐะบั€ะธั‚ะธ ะฟั–ะดะผะตะฝัŽ", + "ot_search": "ะฟะพัˆัƒะบ ั„ะฐะนะปั–ะฒ ะทะฐ ะฐั‚ั€ะธะฑัƒั‚ะฐะผะธ, ัˆะปัั…ะพะผ / ั–ะผะตะฝะตะผ, ะผัƒะทะธั‡ะฝะธะผะธ ั‚ะตะณะฐะผะธ, ะฐะฑะพ ะฑัƒะดัŒ-ัะบะพัŽ ะบะพะผะฑั–ะฝะฐั†ั–ั”ัŽ$N$N<code>foo bar</code> = ะผะฐั” ะผั–ัั‚ะธั‚ะธ ยซfooยป ั– ยซbarยป,$N<code>foo -bar</code> = ะผะฐั” ะผั–ัั‚ะธั‚ะธ ยซfooยป, ะฐะปะต ะฝะต ยซbarยป,$N<code>^yana .opus$</code> = ะฟะพั‡ะธะฝะฐั‚ะธัั ะท ยซyanaยป ั– ะฑัƒั‚ะธ ั„ะฐะนะปะพะผ ยซopusยป$N<code>"try unite"</code> = ะผั–ัั‚ะธั‚ะธ ั‚ะพั‡ะฝะพ ยซtry uniteยป$N$Nั„ะพั€ะผะฐั‚ ะดะฐั‚ะธ - iso-8601, ะฝะฐะฟั€ะธะบะปะฐะด$N<code>2009-12-31</code> ะฐะฑะพ <code>2020-09-12 23:30:00</code>", + "ot_unpost": "ัะบะฐััƒะฒะฐั‚ะธ: ะฒะธะดะฐะปะธั‚ะธ ะฝะตะดะฐะฒะฝั– ะทะฐะฒะฐะฝั‚ะฐะถะตะฝะฝั ะฐะฑะพ ะฟะตั€ะตั€ะฒะฐั‚ะธ ะฝะตะทะฐะฒะตั€ัˆะตะฝั–", + "ot_bup": "bup: ะพัะฝะพะฒะฝะธะน ะทะฐะฒะฐะฝั‚ะฐะถัƒะฒะฐั‡, ะฟั–ะดั‚ั€ะธะผัƒั” ะฝะฐะฒั–ั‚ัŒ netscape 4.0", + "ot_mkdir": "mkdir: ัั‚ะฒะพั€ะธั‚ะธ ะฝะพะฒัƒ ะฟะฐะฟะบัƒ", + "ot_md": "new-file: ัั‚ะฒะพั€ะธั‚ะธ ะฝะพะฒะธะน ั‚ะตะบัั‚ะพะฒะธะน ั„ะฐะนะป", //m + "ot_msg": "msg: ะฝะฐะดั–ัะปะฐั‚ะธ ะฟะพะฒั–ะดะพะผะปะตะฝะฝั ะฒ ะปะพะณ ัะตั€ะฒะตั€ะฐ", + "ot_mp": "ะฝะฐะปะฐัˆั‚ัƒะฒะฐะฝะฝั ะผะตะดั–ะฐะฟะปะตั”ั€ะฐ", + "ot_cfg": "ะฟะฐั€ะฐะผะตั‚ั€ะธ ะบะพะฝั„ั–ะณัƒั€ะฐั†ั–ั—", + "ot_u2i": 'up2k: ะทะฐะฒะฐะฝั‚ะฐะถะธั‚ะธ ั„ะฐะนะปะธ (ัะบั‰ะพ ัƒ ะฒะฐั ั” ะดะพัั‚ัƒะฟ ะดะปั ะทะฐะฟะธััƒ) ะฐะฑะพ ะฟะตั€ะตะบะปัŽั‡ะธั‚ะธัั ะฝะฐ ั€ะตะถะธะผ ะฟะพัˆัƒะบัƒ, ั‰ะพะฑ ะฟะพะฑะฐั‡ะธั‚ะธ, ั‡ะธ ั–ัะฝัƒัŽั‚ัŒ ะฒะพะฝะธ ะดะตััŒ ะฝะฐ ัะตั€ะฒะตั€ั–$N$Nะทะฐะฒะฐะฝั‚ะฐะถะตะฝะฝั ะผะพะถะฝะฐ ะฟะพะฝะพะฒะปัŽะฒะฐั‚ะธ, ะฑะฐะณะฐั‚ะพะฟะพั‚ะพะบะพะฒั–, ั– ั‡ะฐัะพะฒั– ะผั–ั‚ะบะธ ั„ะฐะนะปั–ะฒ ะทะฑะตั€ั–ะณะฐัŽั‚ัŒัั, ะฐะปะต ะฒะธะบะพั€ะธัั‚ะพะฒัƒั” ะฑั–ะปัŒัˆะต CPU ะฝั–ะถ [๐ŸŽˆ]  (ะพัะฝะพะฒะฝะธะน ะทะฐะฒะฐะฝั‚ะฐะถัƒะฒะฐั‡)

    ะฟั–ะด ั‡ะฐั ะทะฐะฒะฐะฝั‚ะฐะถะตะฝะฝั ั†ั ั–ะบะพะฝะบะฐ ัั‚ะฐั” ั–ะฝะดะธะบะฐั‚ะพั€ะพะผ ะฟั€ะพะณั€ะตััƒ!', + "ot_u2w": 'up2k: ะทะฐะฒะฐะฝั‚ะฐะถะธั‚ะธ ั„ะฐะนะปะธ ะท ะฟั–ะดั‚ั€ะธะผะบะพัŽ ะฟะพะฝะพะฒะปะตะฝะฝั (ะทะฐะบั€ะธะนั‚ะต ะฑั€ะฐัƒะทะตั€ ั– ะฟะตั€ะตั‚ัะณะฝั–ั‚ัŒ ั‚ั– ัะฐะผั– ั„ะฐะนะปะธ ะฟั–ะทะฝั–ัˆะต)$N$Nะฑะฐะณะฐั‚ะพะฟะพั‚ะพะบะพะฒั–, ั– ั‡ะฐัะพะฒั– ะผั–ั‚ะบะธ ั„ะฐะนะปั–ะฒ ะทะฑะตั€ั–ะณะฐัŽั‚ัŒัั, ะฐะปะต ะฒะธะบะพั€ะธัั‚ะพะฒัƒั” ะฑั–ะปัŒัˆะต CPU ะฝั–ะถ [๐ŸŽˆ]  (ะพัะฝะพะฒะฝะธะน ะทะฐะฒะฐะฝั‚ะฐะถัƒะฒะฐั‡)

    ะฟั–ะด ั‡ะฐั ะทะฐะฒะฐะฝั‚ะฐะถะตะฝะฝั ั†ั ั–ะบะพะฝะบะฐ ัั‚ะฐั” ั–ะฝะดะธะบะฐั‚ะพั€ะพะผ ะฟั€ะพะณั€ะตััƒ!', + "ot_noie": 'ะ‘ัƒะดัŒ ะปะฐัะบะฐ, ะฒะธะบะพั€ะธัั‚ะพะฒัƒะนั‚ะต Chrome / Firefox / Edge', + + "ab_mkdir": "ัั‚ะฒะพั€ะธั‚ะธ ะฟะฐะฟะบัƒ", + "ab_mkdoc": "ะฝะพะฒะธะน ั‚ะตะบัั‚ะพะฒะธะน ั„ะฐะนะป", //m + "ab_msg": "ะฝะฐะดั–ัะปะฐั‚ะธ ะฟะพะฒั–ะดะพะผะปะตะฝะฝั ะฒ ะปะพะณ ัะตั€ะฒะตั€ะฐ", + + "ay_path": "ะฟะตั€ะตะนั‚ะธ ะดะพ ะฟะฐะฟะพะบ", + "ay_files": "ะฟะตั€ะตะนั‚ะธ ะดะพ ั„ะฐะนะปั–ะฒ", + + "wt_ren": "ะฟะตั€ะตะนะผะตะฝัƒะฒะฐั‚ะธ ะฒะธะฑั€ะฐะฝั– ะตะปะตะผะตะฝั‚ะธ$Nะ“ะฐั€ัั‡ะฐ ะบะปะฐะฒั–ัˆะฐ: F2", + "wt_del": "ะฒะธะดะฐะปะธั‚ะธ ะฒะธะฑั€ะฐะฝั– ะตะปะตะผะตะฝั‚ะธ$Nะ“ะฐั€ัั‡ะฐ ะบะปะฐะฒั–ัˆะฐ: ctrl-K", + "wt_cut": "ะฒะธั€ั–ะทะฐั‚ะธ ะฒะธะฑั€ะฐะฝั– ะตะปะตะผะตะฝั‚ะธ <small>(ะฟะพั‚ั–ะผ ะฒัั‚ะฐะฒะธั‚ะธ ะฒ ั–ะฝัˆะพะผัƒ ะผั–ัั†ั–)</small>$Nะ“ะฐั€ัั‡ะฐ ะบะปะฐะฒั–ัˆะฐ: ctrl-X", + "wt_cpy": "ะบะพะฟั–ัŽะฒะฐั‚ะธ ะฒะธะฑั€ะฐะฝั– ะตะปะตะผะตะฝั‚ะธ ะดะพ ะฑัƒั„ะตั€ะฐ$N(ั‰ะพะฑ ะฒัั‚ะฐะฒะธั‚ะธ ั—ั… ะฒ ั–ะฝัˆะพะผัƒ ะผั–ัั†ั–)$Nะ“ะฐั€ัั‡ะฐ ะบะปะฐะฒั–ัˆะฐ: ctrl-C", + "wt_pst": "ะฒัั‚ะฐะฒะธั‚ะธ ั€ะฐะฝั–ัˆะต ะฒะธั€ั–ะทะฐะฝะต / ัะบะพะฟั–ะนะพะฒะฐะฝะต$Nะ“ะฐั€ัั‡ะฐ ะบะปะฐะฒั–ัˆะฐ: ctrl-V", + "wt_selall": "ะฒะธะฑั€ะฐั‚ะธ ะฒัั– ั„ะฐะนะปะธ$Nะ“ะฐั€ัั‡ะฐ ะบะปะฐะฒั–ัˆะฐ: ctrl-A (ะบะพะปะธ ั„ะพะบัƒั ะฝะฐ ั„ะฐะนะปั–)", + "wt_selinv": "ั–ะฝะฒะตั€ั‚ัƒะฒะฐั‚ะธ ะฒะธะฑั–ั€", + "wt_zip1": "ะทะฐะฒะฐะฝั‚ะฐะถะธั‚ะธ ั†ัŽ ะฟะฐะฟะบัƒ ัะบ ะฐั€ั…ั–ะฒ", + "wt_selzip": "ะทะฐะฒะฐะฝั‚ะฐะถะธั‚ะธ ะฒะธะฑั–ั€ ัะบ ะฐั€ั…ั–ะฒ", + "wt_seldl": "ะทะฐะฒะฐะฝั‚ะฐะถะธั‚ะธ ะฒะธะฑั–ั€ ัะบ ะพะบั€ะตะผั– ั„ะฐะนะปะธ$Nะ“ะฐั€ัั‡ะฐ ะบะปะฐะฒั–ัˆะฐ: Y", + "wt_npirc": "ะบะพะฟั–ัŽะฒะฐั‚ะธ ั–ะฝั„ะพั€ะผะฐั†ั–ัŽ ั‚ั€ะตะบัƒ ัƒ ั„ะพั€ะผะฐั‚ั– irc", + "wt_nptxt": "ะบะพะฟั–ัŽะฒะฐั‚ะธ ั–ะฝั„ะพั€ะผะฐั†ั–ัŽ ั‚ั€ะตะบัƒ ัƒ ั‚ะตะบัั‚ะพะฒะพะผัƒ ั„ะพั€ะผะฐั‚ั–", + "wt_m3ua": "ะดะพะดะฐั‚ะธ ะดะพ m3u ะฟะปะตะนะปะธัั‚ัƒ (ะฟะพั‚ั–ะผ ะบะปะฐั†ะฝั–ั‚ัŒ ๐Ÿ“ปะบะพะฟั–ัŽะฒะฐั‚ะธ)", + "wt_m3uc": "ะบะพะฟั–ัŽะฒะฐั‚ะธ m3u ะฟะปะตะนะปะธัั‚ ะดะพ ะฑัƒั„ะตั€ะฐ", + "wt_grid": "ะฟะตั€ะตะผะบะฝัƒั‚ะธ ัั–ั‚ะบัƒ / ัะฟะธัะพะบ$Nะ“ะฐั€ัั‡ะฐ ะบะปะฐะฒั–ัˆะฐ: G", + "wt_prev": "ะฟะพะฟะตั€ะตะดะฝั–ะน ั‚ั€ะตะบ$Nะ“ะฐั€ัั‡ะฐ ะบะปะฐะฒั–ัˆะฐ: J", + "wt_play": "ะฒั–ะดั‚ะฒะพั€ะธั‚ะธ / ะฟะฐัƒะทะฐ$Nะ“ะฐั€ัั‡ะฐ ะบะปะฐะฒั–ัˆะฐ: P", + "wt_next": "ะฝะฐัั‚ัƒะฟะฝะธะน ั‚ั€ะตะบ$Nะ“ะฐั€ัั‡ะฐ ะบะปะฐะฒั–ัˆะฐ: L", + + "ul_par": "ะฟะฐั€ะฐะปะตะปัŒะฝั– ะทะฐะฒะฐะฝั‚ะฐะถะตะฝะฝั:", + "ut_rand": "ะฒะธะฟะฐะดะบะพะฒั– ั–ะผะตะฝะฐ ั„ะฐะนะปั–ะฒ", + "ut_u2ts": "ะบะพะฟั–ัŽะฒะฐั‚ะธ ั‡ะฐัะพะฒัƒ ะผั–ั‚ะบัƒ ะพัั‚ะฐะฝะฝัŒะพั— ะทะผั–ะฝะธ$Nะท ะฒะฐัˆะพั— ั„ะฐะนะปะพะฒะพั— ัะธัั‚ะตะผะธ ะฝะฐ ัะตั€ะฒะตั€\">๐Ÿ“…", + "ut_ow": "ะฟะตั€ะตะทะฐะฟะธัะฐั‚ะธ ั–ัะฝัƒัŽั‡ั– ั„ะฐะนะปะธ ะฝะฐ ัะตั€ะฒะตั€ั–?$N๐Ÿ›ก๏ธ: ะฝั–ะบะพะปะธ (ะทะฐะผั–ัั‚ัŒ ั†ัŒะพะณะพ ัั‚ะฒะพั€ะธั‚ัŒ ะฝะพะฒะต ั–ะผ'ั ั„ะฐะนะปัƒ)$N๐Ÿ•’: ะฟะตั€ะตะทะฐะฟะธัะฐั‚ะธ, ัะบั‰ะพ ั„ะฐะนะป ะฝะฐ ัะตั€ะฒะตั€ั– ัั‚ะฐั€ั–ัˆะธะน ะทะฐ ะฒะฐัˆ$Nโ™ป๏ธ: ะทะฐะฒะถะดะธ ะฟะตั€ะตะทะฐะฟะธััƒะฒะฐั‚ะธ, ัะบั‰ะพ ั„ะฐะนะปะธ ะฒั–ะดั€ั–ะทะฝััŽั‚ัŒัั$Nโญ๏ธ: ะฑะตะทัƒะผะพะฒะฝะพ ะฟั€ะพะฟัƒัะบะฐั‚ะธ ะฒัั– ะฝะฐัะฒะฝั– ั„ะฐะนะปะธ", //m + "ut_mt": "ะฟั€ะพะดะพะฒะถัƒะฒะฐั‚ะธ ั…ะตัˆัƒะฒะฐะฝะฝั ั–ะฝัˆะธั… ั„ะฐะนะปั–ะฒ ะฟั–ะด ั‡ะฐั ะทะฐะฒะฐะฝั‚ะฐะถะตะฝะฝั$N$Nะผะพะถะปะธะฒะพ, ะฒะธะผะบะฝั–ั‚ัŒ, ัะบั‰ะพ ะฒะฐัˆ CPU ะฐะฑะพ HDD ั” ะฒัƒะทัŒะบะธะผ ะผั–ัั†ะตะผ", + "ut_ask": 'ะทะฐะฟะธั‚ะฐั‚ะธ ะฟั–ะดั‚ะฒะตั€ะดะถะตะฝะฝั ะฟะตั€ะตะด ะฟะพั‡ะฐั‚ะบะพะผ ะทะฐะฒะฐะฝั‚ะฐะถะตะฝะฝั">๐Ÿ’ญ', + "ut_pot": "ะฟะพะบั€ะฐั‰ะธั‚ะธ ัˆะฒะธะดะบั–ัั‚ัŒ ะทะฐะฒะฐะฝั‚ะฐะถะตะฝะฝั ะฝะฐ ะฟะพะฒั–ะปัŒะฝะธั… ะฟั€ะธัั‚ั€ะพัั…$Nั€ะพะฑะปัั‡ะธ ั–ะฝั‚ะตั€ั„ะตะนั ะผะตะฝัˆ ัะบะปะฐะดะฝะธะผ", + "ut_srch": "ะฝะต ะทะฐะฒะฐะฝั‚ะฐะถัƒะฒะฐั‚ะธ, ะฐ ะฟะตั€ะตะฒั–ั€ะธั‚ะธ, ั‡ะธ ั„ะฐะนะปะธ ะฒะถะต $N ั–ัะฝัƒัŽั‚ัŒ ะฝะฐ ัะตั€ะฒะตั€ั– (ัะบะฐะฝัƒั” ะฒัั– ะฟะฐะฟะบะธ, ัะบั– ะฒะธ ะผะพะถะตั‚ะต ั‡ะธั‚ะฐั‚ะธ)", + "ut_par": "ะฟั€ะธะทัƒะฟะธะฝะธั‚ะธ ะทะฐะฒะฐะฝั‚ะฐะถะตะฝะฝั, ะฒัั‚ะฐะฝะพะฒะธะฒัˆะธ 0$N$Nะทะฑั–ะปัŒัˆั–ั‚ัŒ, ัะบั‰ะพ ะฒะฐัˆะต ะท'ั”ะดะฝะฐะฝะฝั ะฟะพะฒั–ะปัŒะฝะต / ะฒะธัะพะบะฐ ะทะฐั‚ั€ะธะผะบะฐ$N$Nะทะฐะปะธัˆั–ั‚ัŒ 1 ะฒ ะปะพะบะฐะปัŒะฝั–ะน ะผะตั€ะตะถั– ะฐะฑะพ ัะบั‰ะพ HDD ัะตั€ะฒะตั€ะฐ ั” ะฒัƒะทัŒะบะธะผ ะผั–ัั†ะตะผ", + "ul_btn": "ะฟะตั€ะตั‚ัะณะฝั–ั‚ัŒ ั„ะฐะนะปะธ / ะฟะฐะฟะบะธ
    (ะฐะฑะพ ะบะปะฐั†ะฝั–ั‚ัŒ ััŽะดะธ)", + "ul_btnu": "ะ—ะะ’ะะะขะะ–ะ˜ะขะ˜", + "ul_btns": "ะŸ ะž ะจ ะฃ ะš", + + "ul_hash": "ั…ะตัˆ", + "ul_send": "ะฝะฐะดั–ัะปะฐั‚ะธ", + "ul_done": "ะณะพั‚ะพะฒะพ", + "ul_idle1": "ะทะฐะฒะฐะฝั‚ะฐะถะตะฝะฝั ั‰ะต ะฝะต ะฟะพัั‚ะฐะฒะปะตะฝั– ะฒ ั‡ะตั€ะณัƒ", + "ut_etah": "ัะตั€ะตะดะฝั ัˆะฒะธะดะบั–ัั‚ัŒ <em>ั…ะตัˆัƒะฒะฐะฝะฝั</em> ั– ะพั€ั–ั”ะฝั‚ะพะฒะฝะธะน ั‡ะฐั ะดะพ ะทะฐะฒะตั€ัˆะตะฝะฝั", + "ut_etau": "ัะตั€ะตะดะฝั ัˆะฒะธะดะบั–ัั‚ัŒ <em>ะทะฐะฒะฐะฝั‚ะฐะถะตะฝะฝั</em> ั– ะพั€ั–ั”ะฝั‚ะพะฒะฝะธะน ั‡ะฐั ะดะพ ะทะฐะฒะตั€ัˆะตะฝะฝั", + "ut_etat": "ัะตั€ะตะดะฝั <em>ะทะฐะณะฐะปัŒะฝะฐ</em> ัˆะฒะธะดะบั–ัั‚ัŒ ั– ะพั€ั–ั”ะฝั‚ะพะฒะฝะธะน ั‡ะฐั ะดะพ ะทะฐะฒะตั€ัˆะตะฝะฝั", + + "uct_ok": "ัƒัะฟั–ัˆะฝะพ ะทะฐะฒะตั€ัˆะตะฝะพ", + "uct_ng": "ะฝะตะฒะดะฐะปะพ: ะฟะพะผะธะปะบะฐ / ะฒั–ะดั…ะธะปะตะฝะพ / ะฝะต ะทะฝะฐะนะดะตะฝะพ", + "uct_done": "ok ั– ng ั€ะฐะทะพะผ", + "uct_bz": "ั…ะตัˆัƒะฒะฐะฝะฝั ะฐะฑะพ ะทะฐะฒะฐะฝั‚ะฐะถะตะฝะฝั", + "uct_q": "ะพั‡ั–ะบัƒั”, ะฒ ั‡ะตั€ะทั–", + + "utl_name": "ั–ะผ'ั ั„ะฐะนะปัƒ", + "utl_ulist": "ัะฟะธัะพะบ", + "utl_ucopy": "ะบะพะฟั–ัŽะฒะฐั‚ะธ", + "utl_links": "ะฟะพัะธะปะฐะฝะฝั", + "utl_stat": "ัั‚ะฐั‚ัƒั", + "utl_prog": "ะฟั€ะพะณั€ะตั", + + // keep short: + "utl_404": "404", + "utl_err": "ะŸะžะœะ˜ะ›ะšะ", + "utl_oserr": "ะฟะพะผะธะปะบะฐ ะžะก", + "utl_found": "ะทะฝะฐะนะดะตะฝะพ", + "utl_defer": "ะฒั–ะดะบะปะฐัั‚ะธ", + "utl_yolo": "YOLO", + "utl_done": "ะณะพั‚ะพะฒะพ", + + "ul_flagblk": "ั„ะฐะนะปะธ ะฑัƒะปะธ ะดะพะดะฐะฝั– ะดะพ ั‡ะตั€ะณะธ
    ะพะดะฝะฐะบ ั” ะทะฐะนะฝัั‚ะธะน up2k ะฒ ั–ะฝัˆั–ะน ะฒะบะปะฐะดั†ั– ะฑั€ะฐัƒะทะตั€ะฐ,
    ั‚ะพะผัƒ ั‡ะตะบะฐั”ะผะพ, ะฟะพะบะธ ะฒั–ะฝ ะทะฐะฒะตั€ัˆะธั‚ัŒัั ัะฟะพั‡ะฐั‚ะบัƒ", + "ul_btnlk": "ะบะพะฝั„ั–ะณัƒั€ะฐั†ั–ั ัะตั€ะฒะตั€ะฐ ะทะฐะฑะปะพะบัƒะฒะฐะปะฐ ั†ะตะน ะฟะตั€ะตะผะธะบะฐั‡ ัƒ ั†ัŒะพะผัƒ ัั‚ะฐะฝั–", + + "udt_up": "ะ—ะฐะฒะฐะฝั‚ะฐะถะตะฝะฝั", + "udt_srch": "ะŸะพัˆัƒะบ", + "udt_drop": "ะฟะตั€ะตั‚ัะณะฝั–ั‚ัŒ ััŽะดะธ", + + "u_nav_m": '
    ะณะฐั€ะฐะทะด, ั‰ะพ ัƒ ะฒะฐั ั”?
    Enter = ะคะฐะนะปะธ (ะพะดะธะฝ ะฐะฑะพ ะฑั–ะปัŒัˆะต)\nESC = ะžะดะฝะฐ ะฟะฐะฟะบะฐ (ะฒะบะปัŽั‡ะฐัŽั‡ะธ ะฟั–ะดะฟะฐะฟะบะธ)', + "u_nav_b": 'ะคะฐะนะปะธะžะดะฝะฐ ะฟะฐะฟะบะฐ', + + "cl_opts": "ะฟะตั€ะตะผะธะบะฐั‡ั–", + "cl_hfsz": "ั€ะพะทะผั–ั€ ั„ะฐะนะปัƒ", //m + "cl_themes": "ั‚ะตะผะฐ", + "cl_langs": "ะผะพะฒะฐ", + "cl_ziptype": "ะทะฐะฒะฐะฝั‚ะฐะถะตะฝะฝั ะฟะฐะฟะบะธ", + "cl_uopts": "ะฟะตั€ะตะผะธะบะฐั‡ั– up2k", + "cl_favico": "favicon", + "cl_bigdir": "ะฒะตะปะธะบั– ะฟะฐะฟะบะธ", + "cl_hsort": "#ัะพั€ั‚ัƒะฒะฐะฝะฝั", + "cl_keytype": "ะฟะพะทะฝะฐั‡ะตะฝะฝั ะบะปะฐะฒั–ัˆ", + "cl_hiddenc": "ะฟั€ะธั…ะพะฒะฐะฝั– ัั‚ะพะฒะฟั†ั–", + "cl_hidec": "ะฟั€ะธั…ะพะฒะฐั‚ะธ", + "cl_reset": "ัะบะธะฝัƒั‚ะธ", + "cl_hpick": "ะฝะฐั‚ะธัะฝั–ั‚ัŒ ะฝะฐ ะทะฐะณะพะปะพะฒะบะธ ัั‚ะพะฒะฟั†ั–ะฒ, ั‰ะพะฑ ะฟั€ะธั…ะพะฒะฐั‚ะธ ั—ั… ัƒ ั‚ะฐะฑะปะธั†ั– ะฝะธะถั‡ะต", + "cl_hcancel": "ะฟั€ะธั…ะพะฒะฐะฝะฝั ัั‚ะพะฒะฟั†ั–ะฒ ัะบะฐัะพะฒะฐะฝะพ", + "cl_rcm": "ะบะพะฝั‚ะตะบัั‚ะฝะต ะผะตะฝัŽ", //m + + "ct_grid": '็”ฐ ัั–ั‚ะบะฐ', + "ct_ttips": 'โ—” โ—ก โ—”">โ„น๏ธ ะฟั–ะดะบะฐะทะบะธ', + "ct_thumb": 'ัƒ ั€ะตะถะธะผั– ัั–ั‚ะบะธ, ะฟะตั€ะตะผะบะฝัƒั‚ะธ ั–ะบะพะฝะบะธ ะฐะฑะพ ะผั–ะฝั–ะฐั‚ัŽั€ะธ$Nะ“ะฐั€ัั‡ะฐ ะบะปะฐะฒั–ัˆะฐ: T">๐Ÿ–ผ๏ธ ะผั–ะฝั–ะฐั‚ัŽั€ะธ', + "ct_csel": 'ะฒะธะบะพั€ะธัั‚ะพะฒัƒะฒะฐั‚ะธ CTRL ั– SHIFT ะดะปั ะฒะธะฑะพั€ัƒ ั„ะฐะนะปั–ะฒ ัƒ ั€ะตะถะธะผั– ัั–ั‚ะบะธ">ะฒะธะฑั–ั€', + "ct_dl": 'ะฟั€ะธะผัƒัะพะฒะต ะทะฐะฒะฐะฝั‚ะฐะถะตะฝะฝั (ะฝะต ะฟะพะบะฐะทัƒะฒะฐั‚ะธ ะฒะฑัƒะดะพะฒะฐะฝะพ) ะฟั–ะด ั‡ะฐั ะฝะฐั‚ะธัะบะฐะฝะฝั ะฝะฐ ั„ะฐะนะป">dl', //m + "ct_ihop": 'ะบะพะปะธ ะฟะตั€ะตะณะปัะดะฐั‡ ะทะพะฑั€ะฐะถะตะฝัŒ ะทะฐะบั€ะธั‚ะพ, ะฟั€ะพะบั€ัƒั‚ะธั‚ะธ ะฒะฝะธะท ะดะพ ะพัั‚ะฐะฝะฝัŒะพะณะพ ะฟะตั€ะตะณะปัะฝัƒั‚ะพะณะพ ั„ะฐะนะปัƒ">gโฎฏ', + "ct_dots": 'ะฟะพะบะฐะทะฐั‚ะธ ะฟั€ะธั…ะพะฒะฐะฝั– ั„ะฐะนะปะธ (ัะบั‰ะพ ัะตั€ะฒะตั€ ะดะพะทะฒะพะปัั”)">ะฟั€ะธั…ะพะฒะฐะฝั– ั„ะฐะนะปะธ', + "ct_qdel": 'ะฟั€ะธ ะฒะธะดะฐะปะตะฝะฝั– ั„ะฐะนะปั–ะฒ, ะทะฐะฟะธั‚ะฐั‚ะธ ะฟั–ะดั‚ะฒะตั€ะดะถะตะฝะฝั ะปะธัˆะต ะพะดะธะฝ ั€ะฐะท">ัˆะฒะธะดะบะต ะฒะธะดะฐะปะตะฝะฝั', + "ct_dir1st": 'ัะพั€ั‚ัƒะฒะฐั‚ะธ ะฟะฐะฟะบะธ ะฟะตั€ะตะด ั„ะฐะนะปะฐะผะธ">ัะฟะพั‡ะฐั‚ะบัƒ ๐Ÿ“', + "ct_nsort": 'ะฟั€ะธั€ะพะดะฝะต ัะพั€ั‚ัƒะฒะฐะฝะฝั (ะดะปั ั–ะผะตะฝ ั„ะฐะนะปั–ะฒ ะท ะฟะพั‡ะฐั‚ะบะพะฒะธะผะธ ั†ะธั„ั€ะฐะผะธ)">ะฟั€ะธั€ะพะดะฝะต ัะพั€ั‚ัƒะฒะฐะฝะฝั', + "ct_utc": 'ะฒะธะบะพั€ะธัั‚ะพะฒัƒะนั‚ะต UTC ะดะปั ะฒัั–ั… ั‡ะฐัะพะฒะธั… ะฟะพะทะฝะฐั‡ะตะฝัŒ">UTC', //m + "ct_readme": 'ะฟะพะบะฐะทะฐั‚ะธ README.md ัƒ ัะฟะธัะบะฐั… ะฟะฐะฟะพะบ">๐Ÿ“œ readme', + "ct_idxh": 'ะฟะพะบะฐะทะฐั‚ะธ index.html ะทะฐะผั–ัั‚ัŒ ัะฟะธัะบัƒ ะฟะฐะฟะบะธ">htm', + "ct_sbars": 'ะฟะพะบะฐะทะฐั‚ะธ ัะผัƒะณะธ ะฟั€ะพะบั€ัƒั‚ะบะธ">โŸŠ', + + "cut_umod": "ัะบั‰ะพ ั„ะฐะนะป ะฒะถะต ั–ัะฝัƒั” ะฝะฐ ัะตั€ะฒะตั€ั–, ะพะฝะพะฒะธั‚ะธ ั‡ะฐัะพะฒัƒ ะผั–ั‚ะบัƒ ะพัั‚ะฐะฝะฝัŒะพั— ะทะผั–ะฝะธ ัะตั€ะฒะตั€ะฐ ะฒั–ะดะฟะพะฒั–ะดะฝะพ ะดะพ ะฒะฐัˆะพะณะพ ะปะพะบะฐะปัŒะฝะพะณะพ ั„ะฐะนะปัƒ (ะฟะพั‚ั€ะตะฑัƒั” ะดะพะทะฒะพะปั–ะฒ ะฝะฐ ะทะฐะฟะธั+ะฒะธะดะฐะปะตะฝะฝั)\">re๐Ÿ“…", + + "cut_turbo": "ะบะฝะพะฟะบะฐ yolo, ะฒะธ, ะนะผะพะฒั–ั€ะฝะพ, ะะ• ั…ะพั‡ะตั‚ะต ั—ั— ะฒะผะธะบะฐั‚ะธ:$N$Nะฒะธะบะพั€ะธัั‚ะพะฒัƒะนั‚ะต ั†ะต, ัะบั‰ะพ ะฒะธ ะทะฐะฒะฐะฝั‚ะฐะถัƒะฒะฐะปะธ ะฒะตะปะธั‡ะตะทะฝัƒ ะบั–ะปัŒะบั–ัั‚ัŒ ั„ะฐะนะปั–ะฒ ั– ะทะผัƒัˆะตะฝั– ะฑัƒะปะธ ะฟะตั€ะตะทะฐะฟัƒัั‚ะธั‚ะธ ะท ัะบะพั—ััŒ ะฟั€ะธั‡ะธะฝะธ, ั– ั…ะพั‡ะตั‚ะต ะฟั€ะพะดะพะฒะถะธั‚ะธ ะทะฐะฒะฐะฝั‚ะฐะถะตะฝะฝั ัะบะฝะฐะนัˆะฒะธะดัˆะต$N$Nั†ะต ะทะฐะผั–ะฝัŽั” ะฟะตั€ะตะฒั–ั€ะบัƒ ั…ะตัˆัƒ ะฟั€ะพัั‚ะพัŽ "ั‡ะธ ะผะฐั” ั†ะตะน ั„ะฐะนะป ั‚ะพะน ัะฐะผะธะน ั€ะพะทะผั–ั€ ะฝะฐ ัะตั€ะฒะตั€ั–?", ั‚ะพะผัƒ ัะบั‰ะพ ะฒะผั–ัั‚ ั„ะฐะนะปัƒ ะฒั–ะดั€ั–ะทะฝัั”ั‚ัŒัั, ะฒั–ะฝ ะะ• ะฑัƒะดะต ะทะฐะฒะฐะฝั‚ะฐะถะตะฝะธะน$N$Nะฒะธ ะฟะพะฒะธะฝะฝั– ะฒะธะผะบะฝัƒั‚ะธ ั†ะต, ะบะพะปะธ ะทะฐะฒะฐะฝั‚ะฐะถะตะฝะฝั ะฑัƒะดะต ะทะฐะฒะตั€ัˆะตะฝะพ, ะฐ ะฟะพั‚ั–ะผ "ะทะฐะฒะฐะฝั‚ะฐะถะธั‚ะธ" ั‚ั– ัะฐะผั– ั„ะฐะนะปะธ ะทะฝะพะฒัƒ, ั‰ะพะฑ ะดะพะทะฒะพะปะธั‚ะธ ะบะปั–ั”ะฝั‚ัƒ ะฟะตั€ะตะฒั–ั€ะธั‚ะธ ั—ั…\">turbo", + + "cut_datechk": "ะฝะต ะผะฐั” ะตั„ะตะบั‚ัƒ, ัะบั‰ะพ ะบะฝะพะฟะบะฐ turbo ะฝะต ะฒะฒั–ะผะบะฝะตะฝะฐ$N$Nะทะผะตะฝัˆัƒั” yolo ั„ะฐะบั‚ะพั€ ะฝะฐ ะบั€ะธั…ั‚ัƒ; ะฟะตั€ะตะฒั–ั€ัั”, ั‡ะธ ะฒั–ะดะฟะพะฒั–ะดะฐัŽั‚ัŒ ั‡ะฐัะพะฒั– ะผั–ั‚ะบะธ ั„ะฐะนะปั–ะฒ ะฝะฐ ัะตั€ะฒะตั€ั– ะฒะฐัˆะธะผ$N$Nั‚ะตะพั€ะตั‚ะธั‡ะฝะพ, ะฟะพะฒะธะฝะฝะพ ะทะปะพะฒะธั‚ะธ ะฑั–ะปัŒัˆั–ัั‚ัŒ ะฝะตะทะฐะฒะตั€ัˆะตะฝะธั… / ะฟะพัˆะบะพะดะถะตะฝะธั… ะทะฐะฒะฐะฝั‚ะฐะถะตะฝัŒ, ะฐะปะต ะฝะต ั” ะทะฐะผั–ะฝะพัŽ ะฒะธะบะพะฝะฐะฝะฝั ะฟะตั€ะตะฒั–ั€ะบะธ ะท ะฒะธะผะบะฝะตะฝะธะผ turbo ะฟะพั‚ั–ะผ\">date-chk", + + "cut_u2sz": "ั€ะพะทะผั–ั€ (ัƒ MiB) ะบะพะถะฝะพะณะพ ั„ั€ะฐะณะผะตะฝั‚ะฐ ะทะฐะฒะฐะฝั‚ะฐะถะตะฝะฝั; ะฒะตะปะธะบั– ะทะฝะฐั‡ะตะฝะฝั ะบั€ะฐั‰ะต ะปะตั‚ัั‚ัŒ ั‡ะตั€ะตะท ะฐั‚ะปะฐะฝั‚ะธั‡ะฝะธะน ะพะบะตะฐะฝ. ะกะฟั€ะพะฑัƒะนั‚ะต ะฝะธะทัŒะบั– ะทะฝะฐั‡ะตะฝะฝั ะฝะฐ ะดัƒะถะต ะฝะตะฝะฐะดั–ะนะฝะธั… ะท'ั”ะดะฝะฐะฝะฝัั…", + + "cut_flag": "ะฟะตั€ะตะบะพะฝะฐั‚ะธัั, ั‰ะพ ะปะธัˆะต ะพะดะฝะฐ ะฒะบะปะฐะดะบะฐ ะทะฐะฒะฐะฝั‚ะฐะถัƒั” ะพะดะฝะพั‡ะฐัะฝะพ $N -- ั–ะฝัˆั– ะฒะบะปะฐะดะบะธ ั‚ะฐะบะพะถ ะฟะพะฒะธะฝะฝั– ะผะฐั‚ะธ ั†ะต ะฒะฒั–ะผะบะฝะตะฝะต $N -- ะฒะฟะปะธะฒะฐั” ะปะธัˆะต ะฝะฐ ะฒะบะปะฐะดะบะธ ะฝะฐ ั‚ะพะผัƒ ัะฐะผะพะผัƒ ะดะพะผะตะฝั–", + + "cut_az": "ะทะฐะฒะฐะฝั‚ะฐะถัƒะฒะฐั‚ะธ ั„ะฐะนะปะธ ะฒ ะฐะปั„ะฐะฒั–ั‚ะฝะพะผัƒ ะฟะพั€ัะดะบัƒ, ะฐ ะฝะต ะฒั–ะด ะฝะฐะนะผะตะฝัˆะพะณะพ ั„ะฐะนะปัƒ$N$Nะฐะปั„ะฐะฒั–ั‚ะฝะธะน ะฟะพั€ัะดะพะบ ะผะพะถะต ะฟะพะปะตะณัˆะธั‚ะธ ะพะณะปัะด, ัะบั‰ะพ ั‰ะพััŒ ะฟั–ัˆะปะพ ะฝะต ั‚ะฐะบ ะฝะฐ ัะตั€ะฒะตั€ั–, ะฐะปะต ั€ะพะฑะธั‚ัŒ ะทะฐะฒะฐะฝั‚ะฐะถะตะฝะฝั ั‚ั€ะพั…ะธ ะฟะพะฒั–ะปัŒะฝั–ัˆะธะผ ะฝะฐ fiber / LAN", + + "cut_nag": "ัะฟะพะฒั–ั‰ะตะฝะฝั ะžะก ะฟั–ัะปั ะทะฐะฒะตั€ัˆะตะฝะฝั ะทะฐะฒะฐะฝั‚ะฐะถะตะฝะฝั$N(ั‚ั–ะปัŒะบะธ ัะบั‰ะพ ะฑั€ะฐัƒะทะตั€ ะฐะฑะพ ะฒะบะปะฐะดะบะฐ ะฝะต ะฐะบั‚ะธะฒะฝั–)", + "cut_sfx": "ะทะฒัƒะบะพะฒะธะน ัะธะณะฝะฐะป ะฟั–ัะปั ะทะฐะฒะตั€ัˆะตะฝะฝั ะทะฐะฒะฐะฝั‚ะฐะถะตะฝะฝั$N(ั‚ั–ะปัŒะบะธ ัะบั‰ะพ ะฑั€ะฐัƒะทะตั€ ะฐะฑะพ ะฒะบะปะฐะดะบะฐ ะฝะต ะฐะบั‚ะธะฒะฝั–)", + + "cut_mt": "ะฒะธะบะพั€ะธัั‚ะพะฒัƒะฒะฐั‚ะธ ะฑะฐะณะฐั‚ะพะฟะพั‚ะพะบะพะฒั–ัั‚ัŒ ะดะปั ะฟั€ะธัะบะพั€ะตะฝะฝั ั…ะตัˆัƒะฒะฐะฝะฝั ั„ะฐะนะปั–ะฒ$N$Nั†ะต ะฒะธะบะพั€ะธัั‚ะพะฒัƒั” ะฒะตะฑ-ะฒะพั€ะบะตั€ะธ ั– ะฟะพั‚ั€ะตะฑัƒั”$Nะฑั–ะปัŒัˆะต ะฟะฐะผ'ัั‚ั– (ะดะพ 512 MiB ะดะพะดะฐั‚ะบะพะฒะพ)$N$Nั€ะพะฑะธั‚ัŒ https ะฝะฐ 30% ัˆะฒะธะดัˆะต, http ัƒ 4.5 ั€ะฐะทะธ ัˆะฒะธะดัˆะต\">mt", + + "cut_wasm": "ะฒะธะบะพั€ะธัั‚ะพะฒัƒะฒะฐั‚ะธ wasm ะทะฐะผั–ัั‚ัŒ ะฒะฑัƒะดะพะฒะฐะฝะพะณะพ ั…ะตัˆะตั€ะฐ ะฑั€ะฐัƒะทะตั€ะฐ; ะฟะพะบั€ะฐั‰ัƒั” ัˆะฒะธะดะบั–ัั‚ัŒ ัƒ ะฑั€ะฐัƒะทะตั€ะฐั… ะฝะฐ ะฑะฐะทั– chrome, ะฐะปะต ะทะฑั–ะปัŒัˆัƒั” ะฝะฐะฒะฐะฝั‚ะฐะถะตะฝะฝั CPU, ะฟะปัŽั ะฑะฐะณะฐั‚ะพ ัั‚ะฐั€ะธั… ะฒะตั€ัั–ะน chrome ะผะฐัŽั‚ัŒ ะฑะฐะณะธ, ัะบั– ะทะผัƒัˆัƒัŽั‚ัŒ ะฑั€ะฐัƒะทะตั€ ัะฟะพะถะธะฒะฐั‚ะธ ะฒััŽ ะฟะฐะผ'ัั‚ัŒ ั– ะฒะธะปั–ั‚ะฐั‚ะธ, ัะบั‰ะพ ั†ั ะพะฟั†ั–ั ะฒะฒั–ะผะบะฝะตะฝะฐะฐ\">wasm", + + "cft_text": "ั‚ะตะบัั‚ favicon (ะฟะพั€ะพะถะฝั–ะน ั– ะพะฝะพะฒะธั‚ะธ ะดะปั ะฒั–ะดะบะปัŽั‡ะตะฝะฝั)", + "cft_fg": "ะบะพะปั–ั€ ะฟะตั€ะตะดะฝัŒะพะณะพ ะฟะปะฐะฝัƒ", + "cft_bg": "ะบะพะปั–ั€ ั„ะพะฝัƒ", + + "cdt_lim": "ะผะฐะบัะธะผะฐะปัŒะฝะฐ ะบั–ะปัŒะบั–ัั‚ัŒ ั„ะฐะนะปั–ะฒ ะดะปั ะฟะพะบะฐะทัƒ ะฒ ะฟะฐะฟั†ั–", + "cdt_ask": "ะฟั€ะธ ะฟั€ะพะบั€ัƒั‚ั†ั– ะดะพ ะฝะธะทัƒ,$Nะทะฐะผั–ัั‚ัŒ ะทะฐะฒะฐะฝั‚ะฐะถะตะฝะฝั ะฑั–ะปัŒัˆะต ั„ะฐะนะปั–ะฒ,$Nะทะฐะฟะธั‚ะฐั‚ะธ, ั‰ะพ ั€ะพะฑะธั‚ะธ", + "cdt_hsort": "ัะบั–ะปัŒะบะธ ะฟั€ะฐะฒะธะป ัะพั€ั‚ัƒะฒะฐะฝะฝั (<code>,sorthref</code>) ะฒะบะปัŽั‡ะฐั‚ะธ ะฒ ะผะตะดั–ะฐ-URL. ะ’ัั‚ะฐะฝะพะฒะปะตะฝะฝั ั†ัŒะพะณะพ ะฒ 0 ั‚ะฐะบะพะถ ะฑัƒะดะต ั–ะณะฝะพั€ัƒะฒะฐั‚ะธ ะฟั€ะฐะฒะธะปะฐ ัะพั€ั‚ัƒะฒะฐะฝะฝั, ะฒะบะปัŽั‡ะตะฝั– ะฒ ะผะตะดั–ะฐ ะฟะพัะธะปะฐะฝะฝั ะฟั€ะธ ั—ั… ะฝะฐั‚ะธัะบะฐะฝะฝั–", + "cdt_ren": "ัƒะฒั–ะผะบะฝัƒั‚ะธ ะบะพั€ะธัั‚ัƒะฒะฐั†ัŒะบะต ะบะพะฝั‚ะตะบัั‚ะฝะต ะผะตะฝัŽ, ะทะฒะธั‡ะฐะนะฝะต ะผะตะฝัŽ ะดะพัั‚ัƒะฟะฝะต ะฟั€ะธ ะฝะฐั‚ะธัะบะฐะฝะฝั– shift ั– ะฟั€ะฐะฒะพั— ะบะฝะพะฟะบะธ ะผะธัˆั–", //m + + "tt_entree": "ะฟะพะบะฐะทะฐั‚ะธ ะฟะฐะฝะตะปัŒ ะฝะฐะฒั–ะณะฐั†ั–ั— (ะฑั–ั‡ะฝะฐ ะฟะฐะฝะตะปัŒ ะดะตั€ะตะฒะฐ ะบะฐั‚ะฐะปะพะณั–ะฒ)$Nะ“ะฐั€ัั‡ะฐ ะบะปะฐะฒั–ัˆะฐ: B", + "tt_detree": "ะฟะพะบะฐะทะฐั‚ะธ ั…ะปั–ะฑะฝั– ะบั€ะธั…ั‚ะธ$Nะ“ะฐั€ัั‡ะฐ ะบะปะฐะฒั–ัˆะฐ: B", + "tt_visdir": "ะฟั€ะพะบั€ัƒั‚ะธั‚ะธ ะดะพ ะฒะธะฑั€ะฐะฝะพั— ะฟะฐะฟะบะธ", + "tt_ftree": "ะฟะตั€ะตะผะบะฝัƒั‚ะธ ะดะตั€ะตะฒะพ ะฟะฐะฟะพะบ / ั‚ะตะบัั‚ะพะฒั– ั„ะฐะนะปะธ$Nะ“ะฐั€ัั‡ะฐ ะบะปะฐะฒั–ัˆะฐ: V", + "tt_pdock": "ะฟะพะบะฐะทะฐั‚ะธ ะฑะฐั‚ัŒะบั–ะฒััŒะบั– ะฟะฐะฟะบะธ ะฒ ะทะฐะบั€ั–ะฟะปะตะฝั–ะน ะฟะฐะฝะตะปั– ะทะฒะตั€ั…ัƒ", + "tt_dynt": "ะฐะฒั‚ะพะผะฐั‚ะธั‡ะฝะพ ะทะฑั–ะปัŒัˆัƒะฒะฐั‚ะธัั ะฟั€ะธ ั€ะพะทัˆะธั€ะตะฝะฝั– ะดะตั€ะตะฒะฐ", + "tt_wrap": "ะฟะตั€ะตะฝะตัะตะฝะฝั ัะปั–ะฒ", + "tt_hover": "ะฟะพะบะฐะทัƒะฒะฐั‚ะธ ะฟะตั€ะตะฟะพะฒะฝะตะฝั– ั€ัะดะบะธ ะฟั€ะธ ะฝะฐะฒะตะดะตะฝะฝั–$N( ะฟะพั€ัƒัˆัƒั” ะฟั€ะพะบั€ัƒั‚ะบัƒ, ัะบั‰ะพ ะบัƒั€ัะพั€ $N  ะผะธัˆั– ะฝะต ะทะฝะฐั…ะพะดะธั‚ัŒัั ะฒ ะปั–ะฒะพะผัƒ ะฒั–ะดัั‚ัƒะฟั– )", + + "ml_pmode": "ะฒ ะบั–ะฝั†ั– ะฟะฐะฟะบะธ...", + "ml_btns": "ะบะพะผะฐะฝะดะธ", + "ml_tcode": "ั‚ั€ะฐะฝัะบะพะดัƒะฒะฐั‚ะธ", + "ml_tcode2": "ั‚ั€ะฐะฝัะบะพะดัƒะฒะฐั‚ะธ ะฒ", + "ml_tint": "ะฒั–ะดั‚ั–ะฝะพะบ", + "ml_eq": "ะฐัƒะดั–ะพ ะตะบะฒะฐะปะฐะนะทะตั€", + "ml_drc": "ะบะพะผะฟั€ะตัะพั€ ะดะธะฝะฐะผั–ั‡ะฝะพะณะพ ะดั–ะฐะฟะฐะทะพะฝัƒ", + + "mt_loop": "ะทะฐั†ะธะบะปะธั‚ะธ/ะฟะพะฒั‚ะพั€ะธั‚ะธ ะพะดะฝัƒ ะฟั–ัะฝัŽ\">๐Ÿ”", + "mt_one": "ะทัƒะฟะธะฝะธั‚ะธ ะฟั–ัะปั ะพะดะฝั–ั”ั— ะฟั–ัะฝั–\">1๏ธโƒฃ", + "mt_shuf": "ะฟะตั€ะตะผั–ัˆะฐั‚ะธ ะฟั–ัะฝั– ะฒ ะบะพะถะฝั–ะน ะฟะฐะฟั†ั–\">๐Ÿ”€", + "mt_aplay": "ะฐะฒั‚ะพะฒั–ะดั‚ะฒะพั€ะตะฝะฝั, ัะบั‰ะพ ั” ID ะฟั–ัะฝั– ะฒ ะฟะพัะธะปะฐะฝะฝั–, ะฟะพ ัะบะพะผัƒ ะฒะธ ะบะปะฐั†ะฝัƒะปะธ ะดะปั ะดะพัั‚ัƒะฟัƒ ะดะพ ัะตั€ะฒะตั€ะฐ$N$Nะฒั–ะดะบะปัŽั‡ะตะฝะฝั ั†ัŒะพะณะพ ั‚ะฐะบะพะถ ะทัƒะฟะธะฝะธั‚ัŒ ะพะฝะพะฒะปะตะฝะฝั URL ัั‚ะพั€ั–ะฝะบะธ ะท ID ะฟั–ัะตะฝัŒ ะฟั–ะด ั‡ะฐั ะฒั–ะดั‚ะฒะพั€ะตะฝะฝั ะผัƒะทะธะบะธ, ั‰ะพะฑ ะทะฐะฟะพะฑั–ะณั‚ะธ ะฐะฒั‚ะพะฒั–ะดั‚ะฒะพั€ะตะฝะฝัŽ, ัะบั‰ะพ ั†ั– ะฝะฐะปะฐัˆั‚ัƒะฒะฐะฝะฝั ะฒั‚ั€ะฐั‡ะตะฝั–, ะฐะปะต URL ะทะฐะปะธัˆะฐั”ั‚ัŒัั\">aโ–ถ", + "mt_preload": "ะฟะพั‡ะฐั‚ะธ ะทะฐะฒะฐะฝั‚ะฐะถะตะฝะฝั ะฝะฐัั‚ัƒะฟะฝะพั— ะฟั–ัะฝั– ะฑะปะธะถั‡ะต ะดะพ ะบั–ะฝั†ั ะดะปั ะฑะตะทะฟะตั€ะตั€ะฒะฝะพะณะพ ะฒั–ะดั‚ะฒะพั€ะตะฝะฝั\">preload", + "mt_prescan": "ะฟะตั€ะตะนั‚ะธ ะดะพ ะฝะฐัั‚ัƒะฟะฝะพั— ะฟะฐะฟะบะธ ะฟะตั€ะตะด ั‚ะธะผ, ัะบ ะพัั‚ะฐะฝะฝั ะฟั–ัะฝั$Nะทะฐะบั–ะฝั‡ะธั‚ัŒัั, ะฟั–ะดั‚ั€ะธะผัƒัŽั‡ะธ ะฒะตะฑ-ะฑั€ะฐัƒะทะตั€ ัƒ ั€ะพะฑะพั‡ะพะผัƒ ัั‚ะฐะฝั–$Nั‰ะพะฑ ะฒั–ะฝ ะฝะต ะทัƒะฟะธะฝะธะฒ ะฒั–ะดั‚ะฒะพั€ะตะฝะฝั\">nav", + "mt_fullpre": "ัะฟั€ะพะฑัƒะฒะฐั‚ะธ ะฟะพะฟะตั€ะตะดะฝัŒะพ ะทะฐะฒะฐะฝั‚ะฐะถะธั‚ะธ ะฒััŽ ะฟั–ัะฝัŽ;$Nโœ… ัƒะฒั–ะผะบะฝั–ั‚ัŒ ะฝะฐ ะฝะตะฝะฐะดั–ะนะฝะธั… ะท'ั”ะดะฝะฐะฝะฝัั…,$NโŒ ะฒะธะผะบะฝั–ั‚ัŒ ะฝะฐ ะฟะพะฒั–ะปัŒะฝะธั… ะท'ั”ะดะฝะฐะฝะฝัั…, ะนะผะพะฒั–ั€ะฝะพ\">full", + "mt_fau": "ะฝะฐ ั‚ะตะปะตั„ะพะฝะฐั…, ะทะฐะฟะพะฑั–ะณั‚ะธ ะทัƒะฟะธะฝั†ั– ะผัƒะทะธะบะธ, ัะบั‰ะพ ะฝะฐัั‚ัƒะฟะฝะฐ ะฟั–ัะฝั ะฝะต ะทะฐะฒะฐะฝั‚ะฐะถัƒั”ั‚ัŒัั ะดะพัั‚ะฐั‚ะฝัŒะพ ัˆะฒะธะดะบะพ (ะผะพะถะต ะทั€ะพะฑะธั‚ะธ ะฒั–ะดะพะฑั€ะฐะถะตะฝะฝั ั‚ะตะณั–ะฒ ะณะปัŽั‡ะฝะธะผ)\">โ˜•๏ธ", + "mt_waves": "ัะผัƒะณะฐ ั…ะฒะธะปัŒะพะฒะพั— ั„ะพั€ะผะธ:$Nะฟะพะบะฐะทะฐั‚ะธ ะฐะผะฟะปั–ั‚ัƒะดัƒ ะฐัƒะดั–ะพ ะฒ ะฟะพะฒะทัƒะฝะบัƒ\">~s", + "mt_npclip": "ะฟะพะบะฐะทะฐั‚ะธ ะบะฝะพะฟะบะธ ะดะปั ะบะพะฟั–ัŽะฒะฐะฝะฝั ะดะพ ะฑัƒั„ะตั€ะฐ ะฟะพั‚ะพั‡ะฝะพั— ะฟั–ัะฝั–, ั‰ะพ ะฒั–ะดั‚ะฒะพั€ัŽั”ั‚ัŒัั\">/np", + "mt_m3u_c": "ะฟะพะบะฐะทะฐั‚ะธ ะบะฝะพะฟะบะธ ะดะปั ะบะพะฟั–ัŽะฒะฐะฝะฝั ะดะพ ะฑัƒั„ะตั€ะฐ$Nะฒะธะฑั€ะฐะฝะธั… ะฟั–ัะตะฝัŒ ัะบ ะทะฐะฟะธัะธ ะฟะปะตะนะปะธัั‚ัƒ m3u8\">๐Ÿ“ป", + "mt_octl": "ั–ะฝั‚ะตะณั€ะฐั†ั–ั ะท ะžะก (ะผะตะดั–ะฐ ะณะฐั€ัั‡ั– ะบะปะฐะฒั–ัˆั– / osd)\">os-ctl", + "mt_oseek": "ะดะพะทะฒะพะปะธั‚ะธ ะฟะตั€ะตะผะพั‚ัƒะฒะฐะฝะฝั ั‡ะตั€ะตะท ั–ะฝั‚ะตะณั€ะฐั†ั–ัŽ ะท ะžะก$N$Nะทะฐัƒะฒะฐะถะตะฝะฝั: ะฝะฐ ะดะตัะบะธั… ะฟั€ะธัั‚ั€ะพัั… (iPhone),$Nั†ะต ะทะฐะผั–ะฝัŽั” ะบะฝะพะฟะบัƒ ะฝะฐัั‚ัƒะฟะฝะพั— ะฟั–ัะฝั–\">seek", + "mt_oscv": "ะฟะพะบะฐะทะฐั‚ะธ ะพะฑะบะปะฐะดะธะฝะบัƒ ะฐะปัŒะฑะพะผัƒ ะฒ osd\">art", + "mt_follow": "ั‚ั€ะธะผะฐั‚ะธ ั‚ั€ะตะบ, ั‰ะพ ะฒั–ะดั‚ะฒะพั€ัŽั”ั‚ัŒัั, ัƒ ะฟะพะปั– ะทะพั€ัƒ\">๐ŸŽฏ", + "mt_compact": "ะบะพะผะฟะฐะบั‚ะฝั– ะตะปะตะผะตะฝั‚ะธ ะบะตั€ัƒะฒะฐะฝะฝั\">โŸŽ", + "mt_uncache": "ะพั‡ะธัั‚ะธั‚ะธ ะบะตัˆ  (ัะฟั€ะพะฑัƒะนั‚ะต ั†ะต, ัะบั‰ะพ ะฒะฐัˆ ะฑั€ะฐัƒะทะตั€ ะทะฐะบะตัˆัƒะฒะฐะฒ$Nะฟะพัˆะบะพะดะถะตะฝัƒ ะบะพะฟั–ัŽ ะฟั–ัะฝั–, ั‚ะพะผัƒ ะฒั–ะดะผะพะฒะปัั”ั‚ัŒัั ั—ั— ะฒั–ะดั‚ะฒะพั€ัŽะฒะฐั‚ะธ)\">uncache", + "mt_mloop": "ะทะฐั†ะธะบะปะธั‚ะธ ะฒั–ะดะบั€ะธั‚ัƒ ะฟะฐะฟะบัƒ\">๐Ÿ” loop", + "mt_mnext": "ะทะฐะฒะฐะฝั‚ะฐะถะธั‚ะธ ะฝะฐัั‚ัƒะฟะฝัƒ ะฟะฐะฟะบัƒ ั– ะฟั€ะพะดะพะฒะถะธั‚ะธ\">๐Ÿ“‚ next", + "mt_mstop": "ะทัƒะฟะธะฝะธั‚ะธ ะฒั–ะดั‚ะฒะพั€ะตะฝะฝั\">โธ stop", + "mt_cflac": "ะบะพะฝะฒะตั€ั‚ัƒะฒะฐั‚ะธ flac / wav ะฒ {0}\">flac", + "mt_caac": "ะบะพะฝะฒะตั€ั‚ัƒะฒะฐั‚ะธ aac / m4a ะฒ {0}\">aac", + "mt_coth": "ะบะพะฝะฒะตั€ั‚ัƒะฒะฐั‚ะธ ะฒัั– ั–ะฝัˆั– (ะฝะต mp3) ะฒ {0}\">oth", + "mt_c2opus": "ะฝะฐะนะบั€ะฐั‰ะธะน ะฒะธะฑั–ั€ ะดะปั ั€ะพะฑะพั‡ะธั… ัั‚ะพะปั–ะฒ, ะฝะพัƒั‚ะฑัƒะบั–ะฒ, android\">opus", + "mt_c2owa": "opus-weba, ะดะปั iOS 17.5 ั– ะฝะพะฒั–ัˆะธั…\">owa", + "mt_c2caf": "opus-caf, ะดะปั iOS 11 ะดะพ 17\">caf", + "mt_c2mp3": "ะฒะธะบะพั€ะธัั‚ะพะฒัƒะนั‚ะต ั†ะต ะฝะฐ ะดัƒะถะต ัั‚ะฐั€ะธั… ะฟั€ะธัั‚ั€ะพัั…\">mp3", + "mt_c2flac": "ะฝะฐะนะบั€ะฐั‰ะฐ ัะบั–ัั‚ัŒ ะทะฒัƒะบัƒ, ะฐะปะต ะฒะตะปะธะบั– ะทะฐะฒะฐะฝั‚ะฐะถะตะฝะฝั\">flac", //m + "mt_c2wav": "ะฒั–ะดั‚ะฒะพั€ะตะฝะฝั ะฑะตะท ัั‚ะธัะฝะตะฝะฝั (ั‰ะต ะฑั–ะปัŒัˆะต)\">wav", //m + "mt_c2ok": "ะณะฐั€ะฝะพ, ั…ะพั€ะพัˆะธะน ะฒะธะฑั–ั€", + "mt_c2nd": "ั†ะต ะฝะต ั€ะตะบะพะผะตะฝะดะพะฒะฐะฝะธะน ะฒะธั…ั–ะดะฝะธะน ั„ะพั€ะผะฐั‚ ะดะปั ะฒะฐัˆะพะณะพ ะฟั€ะธัั‚ั€ะพัŽ, ะฐะปะต ั†ะต ะฝะพั€ะผะฐะปัŒะฝะพ", + "mt_c2ng": "ะฒะฐัˆ ะฟั€ะธัั‚ั€ั–ะน, ะทะดะฐั”ั‚ัŒัั, ะฝะต ะฟั–ะดั‚ั€ะธะผัƒั” ั†ะตะน ะฒะธั…ั–ะดะฝะธะน ั„ะพั€ะผะฐั‚, ะฐะปะต ะดะฐะฒะฐะนั‚ะต ะฒัะต ะพะดะฝะพ ัะฟั€ะพะฑัƒั”ะผะพ", + "mt_xowa": "ั” ะฑะฐะณะธ ะฒ iOS, ัะบั– ะทะฐะฟะพะฑั–ะณะฐัŽั‚ัŒ ั„ะพะฝะพะฒะพะผัƒ ะฒั–ะดั‚ะฒะพั€ะตะฝะฝัŽ ะท ะฒะธะบะพั€ะธัั‚ะฐะฝะฝัะผ ั†ัŒะพะณะพ ั„ะพั€ะผะฐั‚ัƒ; ะฑัƒะดัŒ ะปะฐัะบะฐ, ะฒะธะบะพั€ะธัั‚ะพะฒัƒะนั‚ะต caf ะฐะฑะพ mp3 ะทะฐะผั–ัั‚ัŒ ั†ัŒะพะณะพ", + "mt_tint": "ั€ั–ะฒะตะฝัŒ ั„ะพะฝัƒ (0-100) ะฝะฐ ัะผัƒะทั– ะฟะตั€ะตะผะพั‚ัƒะฒะฐะฝะฝั$Nั‰ะพะฑ ะทั€ะพะฑะธั‚ะธ ะฑัƒั„ะตั€ะธะทะฐั†ั–ัŽ ะผะตะฝัˆ ะฒั–ะดะฒะตั€ั‚ะฐัŽั‡ะพัŽ", + "mt_eq": "ะฒะผะธะบะฐั” ะตะบะฒะฐะปะฐะนะทะตั€ ั– ะบะพะฝั‚ั€ะพะปัŒ ะฟะพัะธะปะตะฝะฝั;$N$Nะฟะพัะธะปะตะฝะฝั <code>0</code> = ัั‚ะฐะฝะดะฐั€ั‚ะฝะฐ 100% ะณัƒั‡ะฝั–ัั‚ัŒ (ะฝะตะผะพะดะธั„ั–ะบะพะฒะฐะฝะฐ)$N$Nัˆะธั€ะธะฝะฐ <code>1  </code> = ัั‚ะฐะฝะดะฐั€ั‚ะฝะต ัั‚ะตั€ะตะพ (ะฝะตะผะพะดะธั„ั–ะบะพะฒะฐะฝะต)$Nัˆะธั€ะธะฝะฐ <code>0.5</code> = 50% ะฟะตั€ะตั…ั€ะตัะฝะต ะถะธะฒะปะตะฝะฝั ะปั–ะฒะพ-ะฟั€ะฐะฒะพ$Nัˆะธั€ะธะฝะฐ <code>0  </code> = ะผะพะฝะพ$N$Nะฟะพัะธะปะตะฝะฝั <code>-0.8</code> & ัˆะธั€ะธะฝะฐ <code>10</code> = ะฒะธะดะฐะปะตะฝะฝั ะฒะพะบะฐะปัƒ :^)$N$NะฒะบะปัŽั‡ะตะฝะฝั ะตะบะฒะฐะปะฐะนะทะตั€ะฐ ั€ะพะฑะธั‚ัŒ ะฑะตะทัˆะพะฒะฝั– ะฐะปัŒะฑะพะผะธ ะฟะพะฒะฝั–ัั‚ัŽ ะฑะตะทัˆะพะฒะฝะธะผะธ, ั‚ะพะผัƒ ะทะฐะปะธัˆะฐะนั‚ะต ะนะพะณะพ ัƒะฒั–ะผะบะฝะตะฝะธะผ ะท ัƒัั–ะผะฐ ะทะฝะฐั‡ะตะฝะฝัะผะธ ะฒ ะฝัƒะปั– (ะพะบั€ั–ะผ ัˆะธั€ะธะฝะธ = 1), ัะบั‰ะพ ะฒะฐะผ ั†ะต ะฒะฐะถะปะธะฒะพ", + "mt_drc": "ะฒะผะธะบะฐั” ะบะพะผะฟั€ะตัะพั€ ะดะธะฝะฐะผั–ั‡ะฝะพะณะพ ะดั–ะฐะฟะฐะทะพะฝัƒ (ะฒะธั€ั–ะฒะฝัŽะฒะฐั‡ ะณัƒั‡ะฝะพัั‚ั– / ั†ะตะณะปะพะฒะธะน ะฒะฐะป); ั‚ะฐะบะพะถ ัƒะฒั–ะผะบะฝะต EQ ะดะปั ะฑะฐะปะฐะฝััƒะฒะฐะฝะฝั ัะฟะฐะณะตั‚ั–, ั‚ะพะผัƒ ะฒัั‚ะฐะฝะพะฒั–ั‚ัŒ ะฒัั– ะฟะพะปั EQ ะพะบั€ั–ะผ 'width' ะฒ 0, ัะบั‰ะพ ะฒะธ ั†ัŒะพะณะพ ะฝะต ั…ะพั‡ะตั‚ะต$N$Nะทะฝะธะถัƒั” ะณัƒั‡ะฝั–ัั‚ัŒ ะฐัƒะดั–ะพ ะฒะธั‰ะต THRESHOLD ะดะ‘; ะดะปั ะบะพะถะฝะพะณะพ RATIO ะดะ‘ ะฟะพะฝะฐะด THRESHOLD ั” 1 ะดะ‘ ะฒะธั…ะพะดัƒ, ั‚ะพะผัƒ ัั‚ะฐะฝะดะฐั€ั‚ะฝั– ะทะฝะฐั‡ะตะฝะฝั tresh -24 ั– ratio 12 ะพะทะฝะฐั‡ะฐัŽั‚ัŒ, ั‰ะพ ะฒั–ะฝ ะฝั–ะบะพะปะธ ะฝะต ะฟะพะฒะธะฝะตะฝ ัั‚ะฐั‚ะธ ะณัƒั‡ะฝั–ัˆะธะผ ะทะฐ -22 ะดะ‘ ั– ะฑะตะทะฟะตั‡ะฝะพ ะทะฑั–ะปัŒัˆะธั‚ะธ ะฟะพัะธะปะตะฝะฝั ะตะบะฒะฐะปะฐะนะทะตั€ะฐ ะดะพ 0.8, ะฐะฑะพ ะฝะฐะฒั–ั‚ัŒ 1.8 ะท ATK 0 ั– ะฒะตะปะธั‡ะตะทะฝะธะผ RLS ัะบ 90 (ะฟั€ะฐั†ัŽั” ั‚ั–ะปัŒะบะธ ะฒ firefox; RLS ะผะฐะบัะธะผัƒะผ 1 ะฒ ั–ะฝัˆะธั… ะฑั€ะฐัƒะทะตั€ะฐั…)$N$N(ะดะธะฒั–ั‚ัŒัั ะฒั–ะบั–ะฟะตะดั–ัŽ, ะฒะพะฝะธ ะฟะพััะฝัŽัŽั‚ัŒ ั†ะต ะฝะฐะฑะฐะณะฐั‚ะพ ะบั€ะฐั‰ะต)", + + "mb_play": "ะฒั–ะดั‚ะฒะพั€ะธั‚ะธ", + "mm_hashplay": "ะฒั–ะดั‚ะฒะพั€ะธั‚ะธ ั†ะตะน ะฐัƒะดั–ะพ ั„ะฐะนะป?", + "mm_m3u": "ะฝะฐั‚ะธัะฝั–ั‚ัŒ Enter/ะ“ะฐั€ะฐะทะด ะดะปั ะฒั–ะดั‚ะฒะพั€ะตะฝะฝั\nะฝะฐั‚ะธัะฝั–ั‚ัŒ ESC/ะกะบะฐััƒะฒะฐั‚ะธ ะดะปั ั€ะตะดะฐะณัƒะฒะฐะฝะฝั", + "mp_breq": "ะฟะพั‚ั€ั–ะฑะตะฝ firefox 82+ ะฐะฑะพ chrome 73+ ะฐะฑะพ iOS 15+", + "mm_bload": "ะทะฐั€ะฐะท ะทะฐะฒะฐะฝั‚ะฐะถัƒั”ั‚ัŒัั...", + "mm_bconv": "ะบะพะฝะฒะตั€ั‚ัƒั”ั‚ัŒัั ะฒ {0}, ะฑัƒะดัŒ ะปะฐัะบะฐ, ะทะฐั‡ะตะบะฐะนั‚ะต...", + "mm_opusen": "ะฒะฐัˆ ะฑั€ะฐัƒะทะตั€ ะฝะต ะผะพะถะต ะฒั–ะดั‚ะฒะพั€ัŽะฒะฐั‚ะธ aac / m4a ั„ะฐะนะปะธ;\nั‚ั€ะฐะฝัะบะพะดัƒะฒะฐะฝะฝั ะฒ opus ั‚ะตะฟะตั€ ัƒะฒั–ะผะบะฝะตะฝะพ", + "mm_playerr": "ะฒั–ะดั‚ะฒะพั€ะตะฝะฝั ะฝะตะฒะดะฐะปะต: ", + "mm_eabrt": "ะกะฟั€ะพะฑะฐ ะฒั–ะดั‚ะฒะพั€ะตะฝะฝั ะฑัƒะปะฐ ัะบะฐัะพะฒะฐะฝะฐ", + "mm_enet": "ะ’ะฐัˆะต ั–ะฝั‚ะตั€ะฝะตั‚-ะท'ั”ะดะฝะฐะฝะฝั ะฝะตัั‚ะฐะฑั–ะปัŒะฝะต", + "mm_edec": "ะฆะตะน ั„ะฐะนะป ะฝั–ะฑะธั‚ะพ ะฟะพัˆะบะพะดะถะตะฝะธะน??", + "mm_esupp": "ะ’ะฐัˆ ะฑั€ะฐัƒะทะตั€ ะฝะต ั€ะพะทัƒะผั–ั” ั†ะตะน ะฐัƒะดั–ะพ ั„ะพั€ะผะฐั‚", + "mm_eunk": "ะะตะฒั–ะดะพะผะฐ ะฟะพะผะธะปะบะฐ", + "mm_e404": "ะะต ะฒะดะฐะปะพัั ะฒั–ะดั‚ะฒะพั€ะธั‚ะธ ะฐัƒะดั–ะพ; ะฟะพะผะธะปะบะฐ 404: ะคะฐะนะป ะฝะต ะทะฝะฐะนะดะตะฝะพ.", + "mm_e403": "ะะต ะฒะดะฐะปะพัั ะฒั–ะดั‚ะฒะพั€ะธั‚ะธ ะฐัƒะดั–ะพ; ะฟะพะผะธะปะบะฐ 403: ะ”ะพัั‚ัƒะฟ ะทะฐะฑะพั€ะพะฝะตะฝะพ.\n\nะกะฟั€ะพะฑัƒะนั‚ะต ะฝะฐั‚ะธัะฝัƒั‚ะธ F5 ะดะปั ะฟะตั€ะตะทะฐะฒะฐะฝั‚ะฐะถะตะฝะฝั, ะผะพะถะปะธะฒะพ, ะฒะธ ะฒะธะนัˆะปะธ ะท ัะธัั‚ะตะผะธ", + "mm_e500": "ะะต ะฒะดะฐะปะพัั ะฒั–ะดั‚ะฒะพั€ะธั‚ะธ ะฐัƒะดั–ะพ; ะฟะพะผะธะปะบะฐ 500: ะŸะตั€ะตะฒั–ั€ั‚ะต ะปะพะณะธ ัะตั€ะฒะตั€ะฐ.", + "mm_e5xx": "ะะต ะฒะดะฐะปะพัั ะฒั–ะดั‚ะฒะพั€ะธั‚ะธ ะฐัƒะดั–ะพ; ะฟะพะผะธะปะบะฐ ัะตั€ะฒะตั€ะฐ ", + "mm_nof": "ะฝะต ะทะฝะฐั…ะพะดะถัƒ ะฑั–ะปัŒัˆะต ะฐัƒะดั–ะพ ั„ะฐะนะปั–ะฒ ะฟะพะฑะปะธะทัƒ", + "mm_prescan": "ะจัƒะบะฐัŽ ะผัƒะทะธะบัƒ ะดะปั ะฝะฐัั‚ัƒะฟะฝะพะณะพ ะฒั–ะดั‚ะฒะพั€ะตะฝะฝั...", + "mm_scank": "ะ—ะฝะฐะนัˆะพะฒ ะฝะฐัั‚ัƒะฟะฝัƒ ะฟั–ัะฝัŽ:", + "mm_uncache": "ะบะตัˆ ะพั‡ะธั‰ะตะฝะพ; ะฒัั– ะฟั–ัะฝั– ะฑัƒะดัƒั‚ัŒ ะฟะตั€ะตะทะฐะฒะฐะฝั‚ะฐะถะตะฝั– ะฟั€ะธ ะฝะฐัั‚ัƒะฟะฝะพะผัƒ ะฒั–ะดั‚ะฒะพั€ะตะฝะฝั–", + "mm_hnf": "ั†ั ะฟั–ัะฝั ะฑั–ะปัŒัˆะต ะฝะต ั–ัะฝัƒั”", + + "im_hnf": "ั†ะต ะทะพะฑั€ะฐะถะตะฝะฝั ะฑั–ะปัŒัˆะต ะฝะต ั–ัะฝัƒั”", + + "f_empty": 'ั†ั ะฟะฐะฟะบะฐ ะฟะพั€ะพะถะฝั', + "f_chide": 'ั†ะต ะฟั€ะธั…ะพะฒะฐั” ัั‚ะพะฒะฟะตั†ัŒ ยซ{0}ยป\n\nะฒะธ ะผะพะถะตั‚ะต ะฟะพะบะฐะทะฐั‚ะธ ัั‚ะพะฒะฟั†ั– ะฒ ะฒะบะปะฐะดั†ั– ะฝะฐะปะฐัˆั‚ัƒะฒะฐะฝัŒ', + "f_bigtxt": "ั†ะตะน ั„ะฐะนะป ั€ะพะทะผั–ั€ะพะผ {0} MiB -- ะดั–ะนัะฝะพ ะฟะตั€ะตะณะปัะดะฐั‚ะธ ัะบ ั‚ะตะบัั‚?", + "f_bigtxt2": "ะฟะตั€ะตะณะปัะฝัƒั‚ะธ ะปะธัˆะต ะบั–ะฝะตั†ัŒ ั„ะฐะนะปัƒ ะทะฐะผั–ัั‚ัŒ ั†ัŒะพะณะพ? ั†ะต ั‚ะฐะบะพะถ ัƒะฒั–ะผะบะฝะต ะฒั–ะดัะปั–ะดะบะพะฒัƒะฒะฐะฝะฝั/tailing, ะฟะพะบะฐะทัƒัŽั‡ะธ ะฝะพะฒะพะดะพะดะฐะฝั– ั€ัะดะบะธ ั‚ะตะบัั‚ัƒ ะฒ ั€ะตะฐะปัŒะฝะพะผัƒ ั‡ะฐัั–", + "fbd_more": '
    ะฟะพะบะฐะทะฐะฝะพ {0} ะท {1} ั„ะฐะนะปั–ะฒ; ะฟะพะบะฐะทะฐั‚ะธ {2} ะฐะฑะพ ะฟะพะบะฐะทะฐั‚ะธ ะฒัั–
    ', + "fbd_all": '
    ะฟะพะบะฐะทะฐะฝะพ {0} ะท {1} ั„ะฐะนะปั–ะฒ; ะฟะพะบะฐะทะฐั‚ะธ ะฒัั–
    ', + "f_anota": "ะปะธัˆะต {0} ะท {1} ะตะปะตะผะตะฝั‚ั–ะฒ ะฑัƒะปะพ ะฒะธะฑั€ะฐะฝะพ;\nั‰ะพะฑ ะฒะธะฑั€ะฐั‚ะธ ะฒััŽ ะฟะฐะฟะบัƒ, ัะฟะพั‡ะฐั‚ะบัƒ ะฟั€ะพะบั€ัƒั‚ั–ั‚ัŒ ะดะพ ะฝะธะทัƒ", + + "f_dls": 'ะฟะพัะธะปะฐะฝะฝั ะฝะฐ ั„ะฐะนะปะธ ะฒ ะฟะพั‚ะพั‡ะฝั–ะน ะฟะฐะฟั†ั– ะฑัƒะปะธ\nะทะผั–ะฝะตะฝั– ะฝะฐ ะฟะพัะธะปะฐะฝะฝั ะดะปั ะทะฐะฒะฐะฝั‚ะฐะถะตะฝะฝั', + + "f_partial": "ะฉะพะฑ ะฑะตะทะฟะตั‡ะฝะพ ะทะฐะฒะฐะฝั‚ะฐะถะธั‚ะธ ั„ะฐะนะป, ัะบะธะน ะทะฐั€ะฐะท ะทะฐะฒะฐะฝั‚ะฐะถัƒั”ั‚ัŒัั, ะฑัƒะดัŒ ะปะฐัะบะฐ, ะบะปะฐั†ะฝั–ั‚ัŒ ะฝะฐ ั„ะฐะนะป, ัะบะธะน ะผะฐั” ั‚ะฐะบะต ัะฐะผะต ั–ะผ'ั, ะฐะปะต ะฑะตะท ั€ะพะทัˆะธั€ะตะฝะฝั .PARTIAL. ะ‘ัƒะดัŒ ะปะฐัะบะฐ, ะฝะฐั‚ะธัะฝั–ั‚ัŒ ะกะบะฐััƒะฒะฐั‚ะธ ะฐะฑะพ Escape, ั‰ะพะฑ ะทั€ะพะฑะธั‚ะธ ั†ะต.\n\nะะฐั‚ะธัะฝะตะฝะฝั ะ“ะฐั€ะฐะทะด / Enter ะฟั€ะพั–ะณะฝะพั€ัƒั” ั†ะต ะฟะพะฟะตั€ะตะดะถะตะฝะฝั ั– ะฟั€ะพะดะพะฒะถะธั‚ัŒ ะทะฐะฒะฐะฝั‚ะฐะถะตะฝะฝั .PARTIAL ั€ะพะฑะพั‡ะพะณะพ ั„ะฐะนะปัƒ ะทะฐะผั–ัั‚ัŒ ั†ัŒะพะณะพ, ั‰ะพ ะผะฐะนะถะต ะฝะฐะฟะตะฒะฝะพ ะดะฐัั‚ัŒ ะฒะฐะผ ะฟะพัˆะบะพะดะถะตะฝั– ะดะฐะฝั–.", + + "ft_paste": "ะฒัั‚ะฐะฒะธั‚ะธ {0} ะตะปะตะผะตะฝั‚ั–ะฒ$Nะ“ะฐั€ัั‡ะฐ ะบะปะฐะฒั–ัˆะฐ: ctrl-V", + "fr_eperm": 'ะฝะต ะผะพะถัƒ ะฟะตั€ะตะนะผะตะฝัƒะฒะฐั‚ะธ:\nัƒ ะฒะฐั ะฝะตะผะฐั” ะดะพะทะฒะพะปัƒ โ€œะฟะตั€ะตะผั–ั‰ะตะฝะฝัโ€œ ะฒ ั†ั–ะน ะฟะฐะฟั†ั–', + "fd_eperm": 'ะฝะต ะผะพะถัƒ ะฒะธะดะฐะปะธั‚ะธ:\nัƒ ะฒะฐั ะฝะตะผะฐั” ะดะพะทะฒะพะปัƒ โ€œะฒะธะดะฐะปะตะฝะฝัโ€œ ะฒ ั†ั–ะน ะฟะฐะฟั†ั–', + "fc_eperm": 'ะฝะต ะผะพะถัƒ ะฒะธั€ั–ะทะฐั‚ะธ:\nัƒ ะฒะฐั ะฝะตะผะฐั” ะดะพะทะฒะพะปัƒ โ€œะฟะตั€ะตะผั–ั‰ะตะฝะฝัโ€œ ะฒ ั†ั–ะน ะฟะฐะฟั†ั–', + "fp_eperm": 'ะฝะต ะผะพะถัƒ ะฒัั‚ะฐะฒะธั‚ะธ:\nัƒ ะฒะฐั ะฝะตะผะฐั” ะดะพะทะฒะพะปัƒ โ€œะทะฐะฟะธััƒโ€œ ะฒ ั†ั–ะน ะฟะฐะฟั†ั–', + "fr_emore": "ะฒะธะฑะตั€ั–ั‚ัŒ ะฟั€ะธะฝะฐะนะผะฝั– ะพะดะธะฝ ะตะปะตะผะตะฝั‚ ะดะปั ะฟะตั€ะตะนะผะตะฝัƒะฒะฐะฝะฝั", + "fd_emore": "ะฒะธะฑะตั€ั–ั‚ัŒ ะฟั€ะธะฝะฐะนะผะฝั– ะพะดะธะฝ ะตะปะตะผะตะฝั‚ ะดะปั ะฒะธะดะฐะปะตะฝะฝั", + "fc_emore": "ะฒะธะฑะตั€ั–ั‚ัŒ ะฟั€ะธะฝะฐะนะผะฝั– ะพะดะธะฝ ะตะปะตะผะตะฝั‚ ะดะปั ะฒะธั€ั–ะทะฐะฝะฝั", + "fcp_emore": "ะฒะธะฑะตั€ั–ั‚ัŒ ะฟั€ะธะฝะฐะนะผะฝั– ะพะดะธะฝ ะตะปะตะผะตะฝั‚ ะดะปั ะบะพะฟั–ัŽะฒะฐะฝะฝั ะดะพ ะฑัƒั„ะตั€ะฐ", + + "fs_sc": "ะฟะพะดั–ะปะธั‚ะธัั ะฟะฐะฟะบะพัŽ, ะฒ ัะบั–ะน ะฒะธ ะทะฝะฐั…ะพะดะธั‚ะตััŒ", + "fs_ss": "ะฟะพะดั–ะปะธั‚ะธัั ะฒะธะฑั€ะฐะฝะธะผะธ ั„ะฐะนะปะฐะผะธ", + "fs_just1d": "ะฒะธ ะฝะต ะผะพะถะตั‚ะต ะฒะธะฑั€ะฐั‚ะธ ะฑั–ะปัŒัˆะต ะพะดะฝั–ั”ั— ะฟะฐะฟะบะธ,\nะฐะฑะพ ะทะผั–ัˆัƒะฒะฐั‚ะธ ั„ะฐะนะปะธ ั– ะฟะฐะฟะบะธ ะฒ ะพะดะฝะพะผัƒ ะฒะธะฑะพั€ั–", + "fs_abrt": "โŒ ัะบะฐััƒะฒะฐั‚ะธ", + "fs_rand": "๐ŸŽฒ ะฒะธะฟะฐะดะบ.ั–ะผ'ั", + "fs_go": "โœ… ัั‚ะฒะพั€ะธั‚ะธ ัะฟั–ะปัŒะฝะธะน ะดะพัั‚ัƒะฟ", + "fs_name": "ั–ะผ'ั", + "fs_src": "ะดะถะตั€ะตะปะพ", + "fs_pwd": "ะฟะฐั€ะพะปัŒ", + "fs_exp": "ั‚ะตั€ะผั–ะฝ ะดั–ั—", + "fs_tmin": "ั…ะฒ", + "fs_thrs": "ะณะพะดะธะฝ", + "fs_tdays": "ะดะฝั–ะฒ", + "fs_never": "ะฒั–ั‡ะฝะธะน", + "fs_pname": "ะฝะตะพะฑะพะฒ'ัะทะบะพะฒะต ั–ะผ'ั ะฟะพัะธะปะฐะฝะฝั; ะฑัƒะดะต ะฒะธะฟะฐะดะบะพะฒะธะผ, ัะบั‰ะพ ะฟะพั€ะพะถะฝั”", + "fs_tsrc": "ั„ะฐะนะป ะฐะฑะพ ะฟะฐะฟะบะฐ ะดะปั ัะฟั–ะปัŒะฝะพะณะพ ะดะพัั‚ัƒะฟัƒ", + "fs_ppwd": "ะฝะตะพะฑะพะฒ'ัะทะบะพะฒะธะน ะฟะฐั€ะพะปัŒ", + "fs_w8": "ัั‚ะฒะพั€ะตะฝะฝั ัะฟั–ะปัŒะฝะพะณะพ ะดะพัั‚ัƒะฟัƒ...", + "fs_ok": "ะฝะฐั‚ะธัะฝั–ั‚ัŒ Enter/ะ“ะฐั€ะฐะทะด ะดะปั ะบะพะฟั–ัŽะฒะฐะฝะฝั ะดะพ ะฑัƒั„ะตั€ะฐ\nะฝะฐั‚ะธัะฝั–ั‚ัŒ ESC/ะกะบะฐััƒะฒะฐั‚ะธ ะดะปั ะทะฐะบั€ะธั‚ั‚ั", + + "frt_dec": "ะผะพะถะต ะฒะธะฟั€ะฐะฒะธั‚ะธ ะดะตัะบั– ะฒะธะฟะฐะดะบะธ ะฟะพัˆะบะพะดะถะตะฝะธั… ั–ะผะตะฝ ั„ะฐะนะปั–ะฒ\">url-decode", + "frt_rst": "ัะบะธะฝัƒั‚ะธ ะทะผั–ะฝะตะฝั– ั–ะผะตะฝะฐ ั„ะฐะนะปั–ะฒ ะฝะฐะทะฐะด ะดะพ ะพั€ะธะณั–ะฝะฐะปัŒะฝะธั…\">โ†บ reset", + "frt_abrt": "ะฟะตั€ะตั€ะฒะฐั‚ะธ ั– ะทะฐะบั€ะธั‚ะธ ั†ะต ะฒั–ะบะฝะพ\">โŒ cancel", + "frb_apply": "ะ—ะะกะขะžะกะฃะ’ะะขะ˜ ะŸะ•ะ ะ•ะ™ะœะ•ะะฃะ’ะะะะฏ", + "fr_adv": "ะฟะฐะบะตั‚ะฝะต / ะผะตั‚ะฐะดะฐะฝั– / ัˆะฐะฑะปะพะฝะฝะต ะฟะตั€ะตะนะผะตะฝัƒะฒะฐะฝะฝั\">ั€ะพะทัˆะธั€ะตะฝะต", + "fr_case": "ั€ะตะณัƒะปัั€ะฝะธะน ะฒะธั€ะฐะท ะท ัƒั€ะฐั…ัƒะฒะฐะฝะฝัะผ ั€ะตะณั–ัั‚ั€ัƒ\">ั€ะตะณั–ัั‚ั€", + "fr_win": "ะฑะตะทะฟะตั‡ะฝั– ะดะปั windows ั–ะผะตะฝะฐ; ะทะฐะผั–ะฝะธั‚ะธ <>:"\\|?* ะฝะฐ ัะฟะพะฝััŒะบั– ะฟะพะฒะฝะพัˆะธั€ะธะฝะฝั– ัะธะผะฒะพะปะธ\">win", + "fr_slash": "ะทะฐะผั–ะฝะธั‚ะธ / ะฝะฐ ัะธะผะฒะพะป, ัะบะธะน ะฝะต ะฟั€ะธะทะฒะพะดะธั‚ัŒ ะดะพ ัั‚ะฒะพั€ะตะฝะฝั ะฝะพะฒะธั… ะฟะฐะฟะพะบ\">ะฑะตะท /", + "fr_re": "ัˆะฐะฑะปะพะฝ ะฟะพัˆัƒะบัƒ ั€ะตะณัƒะปัั€ะฝะพะณะพ ะฒะธั€ะฐะทัƒ ะดะปั ะทะฐัั‚ะพััƒะฒะฐะฝะฝั ะดะพ ะพั€ะธะณั–ะฝะฐะปัŒะฝะธั… ั–ะผะตะฝ ั„ะฐะนะปั–ะฒ; ะณั€ัƒะฟะธ ะทะฐั…ะพะฟะปะตะฝะฝั ะผะพะถะฝะฐ ะฟะพัะธะปะฐั‚ะธัั ะฒ ะฟะพะปั– ั„ะพั€ะผะฐั‚ัƒ ะฝะธะถั‡ะต ัะบ <code>(1)</code> ั– <code>(2)</code> ั– ั‚ะฐะบ ะดะฐะปั–", + "fr_fmt": "ะฝะฐั‚ั…ะฝะตะฝะฝะธะน foobar2000:$N<code>(title)</code> ะทะฐะผั–ะฝัŽั”ั‚ัŒัั ะฝะฐะทะฒะพัŽ ะฟั–ัะฝั–,$N<code>[(artist) - ](title)</code> ะฟั€ะพะฟัƒัะบะฐั” [ั†ัŽ] ั‡ะฐัั‚ะธะฝัƒ, ัะบั‰ะพ ะฒะธะบะพะฝะฐะฒะตั†ัŒ ะฟะพั€ะพะถะฝั–ะน$N<code>$lpad((tn),2,0)</code> ะดะพะฟะพะฒะฝัŽั” ะฝะพะผะตั€ ั‚ั€ะตะบัƒ ะดะพ 2 ั†ะธั„ั€", + "fr_pdel": "ะฒะธะดะฐะปะธั‚ะธ", + "fr_pnew": "ะทะฑะตั€ะตะณั‚ะธ ัะบ", + "fr_pname": "ะฝะฐะดะฐะนั‚ะต ั–ะผ'ั ะดะปั ะฒะฐัˆะพะณะพ ะฝะพะฒะพะณะพ ะฟั€ะตัะตั‚ัƒ", + "fr_aborted": "ะฟะตั€ะตั€ะฒะฐะฝะพ", + "fr_lold": "ัั‚ะฐั€ะต ั–ะผ'ั", + "fr_lnew": "ะฝะพะฒะต ั–ะผ'ั", + "fr_tags": "ั‚ะตะณะธ ะดะปั ะฒะธะฑั€ะฐะฝะธั… ั„ะฐะนะปั–ะฒ (ั‚ั–ะปัŒะบะธ ะดะปั ั‡ะธั‚ะฐะฝะฝั, ะปะธัˆะต ะดะปั ะดะพะฒั–ะดะบะธ):", + "fr_busy": "ะฟะตั€ะตะนะผะตะฝัƒะฒะฐะฝะฝั {0} ะตะปะตะผะตะฝั‚ั–ะฒ...\n\n{1}", + "fr_efail": "ะฟะตั€ะตะนะผะตะฝัƒะฒะฐะฝะฝั ะฝะตะฒะดะฐะปะต:\n", + "fr_nchg": "{0} ะท ะฝะพะฒะธั… ั–ะผะตะฝ ะฑัƒะปะธ ะทะผั–ะฝะตะฝั– ั‡ะตั€ะตะท win ั‚ะฐ/ะฐะฑะพ no /\n\nOK ะฟั€ะพะดะพะฒะถะธั‚ะธ ะท ั†ะธะผะธ ะทะผั–ะฝะตะฝะธะผะธ ะฝะพะฒะธะผะธ ั–ะผะตะฝะฐะผะธ?", + + "fd_ok": "ะฒะธะดะฐะปะตะฝะฝั OK", + "fd_err": "ะฒะธะดะฐะปะตะฝะฝั ะฝะตะฒะดะฐะปะต:\n", + "fd_none": "ะฝั–ั‡ะพะณะพ ะฝะต ะฑัƒะปะพ ะฒะธะดะฐะปะตะฝะพ; ะผะพะถะปะธะฒะพ, ะทะฐะฑะปะพะบะพะฒะฐะฝะพ ะบะพะฝั„ั–ะณัƒั€ะฐั†ั–ั”ัŽ ัะตั€ะฒะตั€ะฐ (xbd)?", + "fd_busy": "ะฒะธะดะฐะปะตะฝะฝั {0} ะตะปะตะผะตะฝั‚ั–ะฒ...\n\n{1}", + "fd_warn1": "ะ’ะ˜ะ”ะะ›ะ˜ะขะ˜ ั†ั– {0} ะตะปะตะผะตะฝั‚ะธ?", + "fd_warn2": "ะžัั‚ะฐะฝะฝั–ะน ัˆะฐะฝั! ะะตะผะพะถะปะธะฒะพ ัะบะฐััƒะฒะฐั‚ะธ. ะ’ะธะดะฐะปะธั‚ะธ?", + + "fc_ok": "ะฒะธั€ั–ะทะฐะฝะพ {0} ะตะปะตะผะตะฝั‚ั–ะฒ", + "fc_warn": 'ะฒะธั€ั–ะทะฐะฝะพ {0} ะตะปะตะผะตะฝั‚ั–ะฒ\n\nะฐะปะต: ั‚ั–ะปัŒะบะธ ั†ั ะฒะบะปะฐะดะบะฐ ะฑั€ะฐัƒะทะตั€ะฐ ะผะพะถะต ั—ั… ะฒัั‚ะฐะฒะธั‚ะธ\n(ะพัะบั–ะปัŒะบะธ ะฒะธะฑั–ั€ ะฝะฐัั‚ั–ะปัŒะบะธ ะฒะตะปะธั‡ะตะทะฝะธะน)', + + "fcc_ok": "ัะบะพะฟั–ะนะพะฒะฐะฝะพ {0} ะตะปะตะผะตะฝั‚ั–ะฒ ะดะพ ะฑัƒั„ะตั€ะฐ", + "fcc_warn": 'ัะบะพะฟั–ะนะพะฒะฐะฝะพ {0} ะตะปะตะผะตะฝั‚ั–ะฒ ะดะพ ะฑัƒั„ะตั€ะฐ\n\nะฐะปะต: ั‚ั–ะปัŒะบะธ ั†ั ะฒะบะปะฐะดะบะฐ ะฑั€ะฐัƒะทะตั€ะฐ ะผะพะถะต ั—ั… ะฒัั‚ะฐะฒะธั‚ะธ\n(ะพัะบั–ะปัŒะบะธ ะฒะธะฑั–ั€ ะฝะฐัั‚ั–ะปัŒะบะธ ะฒะตะปะธั‡ะตะทะฝะธะน)', + + "fp_apply": "ะฒะธะบะพั€ะธัั‚ะพะฒัƒะฒะฐั‚ะธ ั†ั– ั–ะผะตะฝะฐ", + "fp_skip": "ะฟั€ะพะฟัƒัั‚ะธั‚ะธ ะบะพะฝั„ะปั–ะบั‚ะธ", //m + "fp_ecut": "ัะฟะพั‡ะฐั‚ะบัƒ ะฒะธั€ั–ะทะฐั‚ะธ ะฐะฑะพ ัะบะพะฟั–ัŽะฒะฐั‚ะธ ะดะตัะบั– ั„ะฐะนะปะธ / ะฟะฐะฟะบะธ ะดะปั ะฒัั‚ะฐะฒะบะธ / ะฟะตั€ะตะผั–ั‰ะตะฝะฝั\n\nะทะฐัƒะฒะฐะถะตะฝะฝั: ะฒะธ ะผะพะถะตั‚ะต ะฒะธั€ั–ะทะฐั‚ะธ / ะฒัั‚ะฐะฒะปัั‚ะธ ั‡ะตั€ะตะท ั€ั–ะทะฝั– ะฒะบะปะฐะดะบะธ ะฑั€ะฐัƒะทะตั€ะฐ", + "fp_ename": "{0} ะตะปะตะผะตะฝั‚ั–ะฒ ะฝะต ะผะพะถัƒั‚ัŒ ะฑัƒั‚ะธ ะฟะตั€ะตะผั–ั‰ะตะฝั– ััŽะดะธ, ั‚ะพะผัƒ ั‰ะพ ั–ะผะตะฝะฐ ะฒะถะต ะทะฐะนะฝัั‚ั–. ะ”ะฐะนั‚ะต ั—ะผ ะฝะพะฒั– ั–ะผะตะฝะฐ ะฝะธะถั‡ะต ะดะปั ะฟั€ะพะดะพะฒะถะตะฝะฝั, ะฐะฑะพ ะทะฐะปะธัˆั‚ะต ั–ะผ'ั ะฟะพั€ะพะถะฝั–ะผ (\"ะฟั€ะพะฟัƒัั‚ะธั‚ะธ ะบะพะฝั„ะปั–ะบั‚ะธ\"), ั‰ะพะฑ ะฟั€ะพะฟัƒัั‚ะธั‚ะธ ั—ั…:", //m + "fcp_ename": "{0} ะตะปะตะผะตะฝั‚ั–ะฒ ะฝะต ะผะพะถัƒั‚ัŒ ะฑัƒั‚ะธ ัะบะพะฟั–ะนะพะฒะฐะฝั– ััŽะดะธ, ั‚ะพะผัƒ ั‰ะพ ั–ะผะตะฝะฐ ะฒะถะต ะทะฐะนะฝัั‚ั–. ะ”ะฐะนั‚ะต ั—ะผ ะฝะพะฒั– ั–ะผะตะฝะฐ ะฝะธะถั‡ะต ะดะปั ะฟั€ะพะดะพะฒะถะตะฝะฝั, ะฐะฑะพ ะทะฐะปะธัˆั‚ะต ั–ะผ'ั ะฟะพั€ะพะถะฝั–ะผ (\"ะฟั€ะพะฟัƒัั‚ะธั‚ะธ ะบะพะฝั„ะปั–ะบั‚ะธ\"), ั‰ะพะฑ ะฟั€ะพะฟัƒัั‚ะธั‚ะธ ั—ั…:", //m + "fp_emore": "ั” ั‰ะต ะดะตัะบั– ะบะพะฝั„ะปั–ะบั‚ะธ ั–ะผะตะฝ ั„ะฐะนะปั–ะฒ, ัะบั– ะฟะพั‚ั€ั–ะฑะฝะพ ะฒะธะฟั€ะฐะฒะธั‚ะธ", + "fp_ok": "ะฟะตั€ะตะผั–ั‰ะตะฝะฝั OK", + "fcp_ok": "ะบะพะฟั–ัŽะฒะฐะฝะฝั OK", + "fp_busy": "ะฟะตั€ะตะผั–ั‰ะตะฝะฝั {0} ะตะปะตะผะตะฝั‚ั–ะฒ...\n\n{1}", + "fcp_busy": "ะบะพะฟั–ัŽะฒะฐะฝะฝั {0} ะตะปะตะผะตะฝั‚ั–ะฒ...\n\n{1}", + "fp_abrt": "ะฟะตั€ะตั€ะธะฒะฐะฝะฝั...", //m + "fp_err": "ะฟะตั€ะตะผั–ั‰ะตะฝะฝั ะฝะตะฒะดะฐะปะต:\n", + "fcp_err": "ะบะพะฟั–ัŽะฒะฐะฝะฝั ะฝะตะฒะดะฐะปะต:\n", + "fp_confirm": "ะฟะตั€ะตะผั–ัั‚ะธั‚ะธ ั†ั– {0} ะตะปะตะผะตะฝั‚ะธ ััŽะดะธ?", + "fcp_confirm": "ัะบะพะฟั–ัŽะฒะฐั‚ะธ ั†ั– {0} ะตะปะตะผะตะฝั‚ะธ ััŽะดะธ?", + "fp_etab": 'ะฝะต ะฒะดะฐะปะพัั ะฟั€ะพั‡ะธั‚ะฐั‚ะธ ะฑัƒั„ะตั€ ะท ั–ะฝัˆะพั— ะฒะบะปะฐะดะบะธ ะฑั€ะฐัƒะทะตั€ะฐ', + "fp_name": "ะทะฐะฒะฐะฝั‚ะฐะถะตะฝะฝั ั„ะฐะนะปัƒ ะท ะฒะฐัˆะพะณะพ ะฟั€ะธัั‚ั€ะพัŽ. ะ”ะฐะนั‚ะต ะนะพะผัƒ ั–ะผ'ั:", + "fp_both_m": '
    ะฒะธะฑะตั€ั–ั‚ัŒ, ั‰ะพ ะฒัั‚ะฐะฒะธั‚ะธ
    Enter = ะŸะตั€ะตะผั–ัั‚ะธั‚ะธ {0} ั„ะฐะนะปั–ะฒ ะท ยซ{1}ยป\nESC = ะ—ะฐะฒะฐะฝั‚ะฐะถะธั‚ะธ {2} ั„ะฐะนะปั–ะฒ ะท ะฒะฐัˆะพะณะพ ะฟั€ะธัั‚ั€ะพัŽ', + "fcp_both_m": '
    ะฒะธะฑะตั€ั–ั‚ัŒ, ั‰ะพ ะฒัั‚ะฐะฒะธั‚ะธ
    Enter = ะกะบะพะฟั–ัŽะฒะฐั‚ะธ {0} ั„ะฐะนะปั–ะฒ ะท ยซ{1}ยป\nESC = ะ—ะฐะฒะฐะฝั‚ะฐะถะธั‚ะธ {2} ั„ะฐะนะปั–ะฒ ะท ะฒะฐัˆะพะณะพ ะฟั€ะธัั‚ั€ะพัŽ', + "fp_both_b": 'ะŸะตั€ะตะผั–ัั‚ะธั‚ะธะ—ะฐะฒะฐะฝั‚ะฐะถะธั‚ะธ', + "fcp_both_b": 'ะกะบะพะฟั–ัŽะฒะฐั‚ะธะ—ะฐะฒะฐะฝั‚ะฐะถะธั‚ะธ', + + "mk_noname": "ะฒะฒะตะดั–ั‚ัŒ ั–ะผ'ั ะฒ ั‚ะตะบัั‚ะพะฒะต ะฟะพะปะต ะทะปั–ะฒะฐ ะฟะตั€ะตะด ั‚ะธะผ, ัะบ ั€ะพะฑะธั‚ะธ ั†ะต :p", + "nmd_i1": "ะฒะธ ั‚ะฐะบะพะถ ะผะพะถะตั‚ะต ะดะพะดะฐั‚ะธ ะฟะพั‚ั€ั–ะฑะฝะต ั€ะพะทัˆะธั€ะตะฝะฝั, ะฝะฐะฟั€ะธะบะปะฐะด .md", //m + "nmd_i2": "ะฒะธ ะผะพะถะตั‚ะต ัั‚ะฒะพั€ัŽะฒะฐั‚ะธ ั‚ั–ะปัŒะบะธ ั„ะฐะนะปะธ .md, ะพัะบั–ะปัŒะบะธ ะฝะต ะผะฐั”ั‚ะต ะดะพะทะฒะพะปัƒ ะฝะฐ ะฒะธะดะฐะปะตะฝะฝั", //m + + "tv_load": "ะ—ะฐะฒะฐะฝั‚ะฐะถะตะฝะฝั ั‚ะตะบัั‚ะพะฒะพะณะพ ะดะพะบัƒะผะตะฝั‚ะฐ:\n\n{0}\n\n{1}% ({2} ะท {3} MiB ะทะฐะฒะฐะฝั‚ะฐะถะตะฝะพ)", + "tv_xe1": "ะฝะต ะฒะดะฐะปะพัั ะทะฐะฒะฐะฝั‚ะฐะถะธั‚ะธ ั‚ะตะบัั‚ะพะฒะธะน ั„ะฐะนะป:\n\nะฟะพะผะธะปะบะฐ ", + "tv_xe2": "404, ั„ะฐะนะป ะฝะต ะทะฝะฐะนะดะตะฝะพ", + "tv_lst": "ัะฟะธัะพะบ ั‚ะตะบัั‚ะพะฒะธั… ั„ะฐะนะปั–ะฒ ะฒ", + "tvt_close": "ะฟะพะฒะตั€ะฝัƒั‚ะธัั ะดะพ ะฟะตั€ะตะณะปัะดัƒ ะฟะฐะฟะบะธ$Nะ“ะฐั€ัั‡ะฐ ะบะปะฐะฒั–ัˆะฐ: M (ะฐะฑะพ Esc)\">โŒ ะทะฐะบั€ะธั‚ะธ", + "tvt_dl": "ะทะฐะฒะฐะฝั‚ะฐะถะธั‚ะธ ั†ะตะน ั„ะฐะนะป$Nะ“ะฐั€ัั‡ะฐ ะบะปะฐะฒั–ัˆะฐ: Y\">๐Ÿ’พ ะทะฐะฒะฐะฝั‚ะฐะถะธั‚ะธ", + "tvt_prev": "ะฟะพะบะฐะทะฐั‚ะธ ะฟะพะฟะตั€ะตะดะฝั–ะน ะดะพะบัƒะผะตะฝั‚$Nะ“ะฐั€ัั‡ะฐ ะบะปะฐะฒั–ัˆะฐ: i\">โฌ† ะฟะพะฟะตั€", + "tvt_next": "ะฟะพะบะฐะทะฐั‚ะธ ะฝะฐัั‚ัƒะฟะฝะธะน ะดะพะบัƒะผะตะฝั‚$Nะ“ะฐั€ัั‡ะฐ ะบะปะฐะฒั–ัˆะฐ: K\">โฌ‡ ะฝะฐัั‚", + "tvt_sel": "ะฒะธะฑั€ะฐั‚ะธ ั„ะฐะนะป   ( ะดะปั ะฒะธั€ั–ะทะฐะฝะฝั / ะบะพะฟั–ัŽะฒะฐะฝะฝั / ะฒะธะดะฐะปะตะฝะฝั / ... )$Nะ“ะฐั€ัั‡ะฐ ะบะปะฐะฒั–ัˆะฐ: S\">ะฒะธะฑั€", + "tvt_j": "ะฟั€ะธะบั€ะฐัะธั‚ะธ json$Nะ“ะฐั€ัั‡ะฐ ะบะปะฐะฒั–ัˆะฐ: shift-J\">j", //m + "tvt_edit": "ะฒั–ะดะบั€ะธั‚ะธ ั„ะฐะนะป ะฒ ั‚ะตะบัั‚ะพะฒะพะผัƒ ั€ะตะดะฐะบั‚ะพั€ั–$Nะ“ะฐั€ัั‡ะฐ ะบะปะฐะฒั–ัˆะฐ: E\">โœ๏ธ ั€ะตะดะฐะณัƒะฒะฐั‚ะธ", + "tvt_tail": "ะผะพะฝั–ั‚ะพั€ะธั‚ะธ ั„ะฐะนะป ะฝะฐ ะทะผั–ะฝะธ; ะฟะพะบะฐะทัƒะฒะฐั‚ะธ ะฝะพะฒั– ั€ัะดะบะธ ะฒ ั€ะตะฐะปัŒะฝะพะผัƒ ั‡ะฐัั–\">๐Ÿ“ก ัะปั–ะดะบัƒะฒะฐั‚ะธ", + "tvt_wrap": "ะฟะตั€ะตะฝะตัะตะฝะฝั ัะปั–ะฒ\">โ†ต", + "tvt_atail": "ะทะฐะฑะปะพะบัƒะฒะฐั‚ะธ ะฟั€ะพะบั€ัƒั‚ะบัƒ ะดะพ ะฝะธะทัƒ ัั‚ะพั€ั–ะฝะบะธ\">โš“", + "tvt_ctail": "ะดะตะบะพะดัƒะฒะฐั‚ะธ ะบะพะปัŒะพั€ะธ ั‚ะตั€ะผั–ะฝะฐะปัƒ (ansi escape ะบะพะดะธ)\">๐ŸŒˆ", + "tvt_ntail": "ะปั–ะผั–ั‚ ั–ัั‚ะพั€ั–ั— ะฟั€ะพะบั€ัƒั‚ะบะธ (ัะบั–ะปัŒะบะธ ะฑะฐะนั‚ั–ะฒ ั‚ะตะบัั‚ัƒ ั‚ั€ะธะผะฐั‚ะธ ะทะฐะฒะฐะฝั‚ะฐะถะตะฝะธะผะธ)", + + "m3u_add1": "ะฟั–ัะฝั ะดะพะดะฐะฝะฐ ะดะพ m3u ะฟะปะตะนะปะธัั‚ัƒ", + "m3u_addn": "{0} ะฟั–ัะตะฝัŒ ะดะพะดะฐะฝะพ ะดะพ m3u ะฟะปะตะนะปะธัั‚ัƒ", + "m3u_clip": "m3u ะฟะปะตะนะปะธัั‚ ั‚ะตะฟะตั€ ัะบะพะฟั–ะนะพะฒะฐะฝะธะน ะดะพ ะฑัƒั„ะตั€ะฐ\n\nะฒะธ ะฟะพะฒะธะฝะฝั– ัั‚ะฒะพั€ะธั‚ะธ ะฝะพะฒะธะน ั‚ะตะบัั‚ะพะฒะธะน ั„ะฐะนะป ะท ะฝะฐะทะฒะพัŽ ั‰ะพััŒ.m3u ั– ะฒัั‚ะฐะฒะธั‚ะธ ะฟะปะตะนะปะธัั‚ ะฒ ั†ะตะน ะดะพะบัƒะผะตะฝั‚; ั†ะต ะทั€ะพะฑะธั‚ัŒ ะนะพะณะพ ะฒั–ะดั‚ะฒะพั€ัŽะฒะฐะฝะธะผ", + + "gt_vau": "ะฝะต ะฟะพะบะฐะทัƒะฒะฐั‚ะธ ะฒั–ะดะตะพ, ะปะธัˆะต ะฒั–ะดั‚ะฒะพั€ัŽะฒะฐั‚ะธ ะฐัƒะดั–ะพ\">๐ŸŽง", + "gt_msel": "ัƒะฒั–ะผะบะฝัƒั‚ะธ ะฒะธะฑั–ั€ ั„ะฐะนะปั–ะฒ; ctrl-ะบะปั–ะบ ะฟะพ ั„ะฐะนะปัƒ ะดะปั ะฟะตั€ะตะฒะธะทะฝะฐั‡ะตะฝะฝั$N$N<em>ะบะพะปะธ ะฐะบั‚ะธะฒะฝะธะน: ะฟะพะดะฒั–ะนะฝะธะน ะบะปั–ะบ ะฟะพ ั„ะฐะนะปัƒ / ะฟะฐะฟั†ั– ั‰ะพะฑ ะฒั–ะดะบั€ะธั‚ะธ</em>$N$Nะ“ะฐั€ัั‡ะฐ ะบะปะฐะฒั–ัˆะฐ: S\">ะผัƒะปัŒั‚ะธะฒะธะฑั–ั€", + "gt_crop": "ะพะฑั€ั–ะทะฐั‚ะธ ะผั–ะฝั–ะฐั‚ัŽั€ะธ ะฟะพ ั†ะตะฝั‚ั€ัƒ\">ะพะฑั€ั–ะทะบะฐ", + "gt_3x": "ะผั–ะฝั–ะฐั‚ัŽั€ะธ ะฒะธัะพะบะพั— ั€ะพะทะดั–ะปัŒะฝะพัั‚ั–\">3x", + "gt_zoom": "ะผะฐััˆั‚ะฐะฑ", + "gt_chop": "ะพะฑั€ั–ะทะฐั‚ะธ", + "gt_sort": "ัะพั€ั‚ัƒะฒะฐั‚ะธ ะทะฐ", + "gt_name": "ั–ะผ'ัะผ", + "gt_sz": "ั€ะพะทะผั–ั€ะพะผ", + "gt_ts": "ะดะฐั‚ะพัŽ", + "gt_ext": "ั‚ะธะฟะพะผ", + "gt_c1": "ะพะฑั€ั–ะทะฐั‚ะธ ั–ะผะตะฝะฐ ั„ะฐะนะปั–ะฒ ะฑั–ะปัŒัˆะต (ะฟะพะบะฐะทัƒะฒะฐั‚ะธ ะผะตะฝัˆะต)", + "gt_c2": "ะพะฑั€ั–ะทะฐั‚ะธ ั–ะผะตะฝะฐ ั„ะฐะนะปั–ะฒ ะผะตะฝัˆะต (ะฟะพะบะฐะทัƒะฒะฐั‚ะธ ะฑั–ะปัŒัˆะต)", + + "sm_w8": "ะฟะพัˆัƒะบ...", + "sm_prev": "ั€ะตะทัƒะปัŒั‚ะฐั‚ะธ ะฟะพัˆัƒะบัƒ ะฝะธะถั‡ะต ะท ะฟะพะฟะตั€ะตะดะฝัŒะพะณะพ ะทะฐะฟะธั‚ัƒ:\n ", + "sl_close": "ะทะฐะบั€ะธั‚ะธ ั€ะตะทัƒะปัŒั‚ะฐั‚ะธ ะฟะพัˆัƒะบัƒ", + "sl_hits": "ะฟะพะบะฐะทะฐะฝะพ {0} ั€ะตะทัƒะปัŒั‚ะฐั‚ั–ะฒ", + "sl_moar": "ะทะฐะฒะฐะฝั‚ะฐะถะธั‚ะธ ะฑั–ะปัŒัˆะต", + + "s_sz": "ั€ะพะทะผั–ั€", + "s_dt": "ะดะฐั‚ะฐ", + "s_rd": "ัˆะปัั…", + "s_fn": "ั–ะผ'ั", + "s_ta": "ั‚ะตะณะธ", + "s_ua": "up@", + "s_ad": "ั€ะพะทัˆ.", + "s_s1": "ะผั–ะฝั–ะผัƒะผ MiB", + "s_s2": "ะผะฐะบัะธะผัƒะผ MiB", + "s_d1": "ะผั–ะฝ. iso8601", + "s_d2": "ะผะฐะบั. iso8601", + "s_u1": "ะทะฐะฒะฐะฝั‚ะฐะถะตะฝะพ ะฟั–ัะปั", + "s_u2": "ั‚ะฐ/ะฐะฑะพ ะดะพ", + "s_r1": "ัˆะปัั… ะผั–ัั‚ะธั‚ัŒ   (ั€ะพะทะดั–ะปะตะฝั– ะฟั€ะพะฑั–ะปะฐะผะธ)", + "s_f1": "ั–ะผ'ั ะผั–ัั‚ะธั‚ัŒ   (ะทะฐะฟะตั€ะตั‡ะตะฝะฝั ะท -ะฝั–)", + "s_t1": "ั‚ะตะณะธ ะผั–ัั‚ัั‚ัŒ   (^=ะฟะพั‡ะฐั‚ะพะบ, ะบั–ะฝะตั†ัŒ=$)", + "s_a1": "ัะฟะตั†ะธั„ั–ั‡ะฝั– ะฒะปะฐัั‚ะธะฒะพัั‚ั– ะผะตั‚ะฐะดะฐะฝะธั…", + + "md_eshow": "ะฝะต ะผะพะถัƒ ะฒั–ะดะพะฑั€ะฐะทะธั‚ะธ ", + "md_off": "[๐Ÿ“œreadme] ะฒั–ะดะบะปัŽั‡ะตะฝะพ ะฒ [โš™๏ธ] -- ะดะพะบัƒะผะตะฝั‚ ะฟั€ะธั…ะพะฒะฐะฝะธะน", + + "badreply": "ะะต ะฒะดะฐะปะพัั ะพะฑั€ะพะฑะธั‚ะธ ะฒั–ะดะฟะพะฒั–ะดัŒ ัะตั€ะฒะตั€ะฐ", + + "xhr403": "403: ะ”ะพัั‚ัƒะฟ ะทะฐะฑะพั€ะพะฝะตะฝะพ\n\nัะฟั€ะพะฑัƒะนั‚ะต ะฝะฐั‚ะธัะฝัƒั‚ะธ F5, ะผะพะถะปะธะฒะพ ะฒะธ ะฒะธะนัˆะปะธ ะท ัะธัั‚ะตะผะธ", + "xhr0": "ะฝะตะฒั–ะดะพะผะฐ (ะนะผะพะฒั–ั€ะฝะพ ะฒั‚ั€ะฐั‡ะตะฝะพ ะท'ั”ะดะฝะฐะฝะฝั ะท ัะตั€ะฒะตั€ะพะผ, ะฐะฑะพ ัะตั€ะฒะตั€ ะพั„ะปะฐะนะฝ)", + "cf_ok": "ะฒะธะฑะฐั‡ั‚ะต ะทะฐ ั†ะต -- ะทะฐั…ะธัั‚ ะฒั–ะด DD" + wah + "oS ัะฟั€ะฐั†ัŽะฒะฐะฒ\n\nั€ะตั‡ั– ะฟะพะฒะธะฝะฝั– ะฒั–ะดะฝะพะฒะธั‚ะธัั ะฟั€ะธะฑะปะธะทะฝะพ ั‡ะตั€ะตะท 30 ัะตะบ\n\nัะบั‰ะพ ะฝั–ั‡ะพะณะพ ะฝะต ะฒั–ะดะฑัƒะฒะฐั”ั‚ัŒัั, ะฝะฐั‚ะธัะฝั–ั‚ัŒ F5 ะดะปั ะฟะตั€ะตะทะฐะฒะฐะฝั‚ะฐะถะตะฝะฝั ัั‚ะพั€ั–ะฝะบะธ", + "tl_xe1": "ะฝะต ะฒะดะฐะปะพัั ะฟะตั€ะตะปั–ั‡ะธั‚ะธ ะฟั–ะดะฟะฐะฟะบะธ:\n\nะฟะพะผะธะปะบะฐ ", + "tl_xe2": "404: ะŸะฐะฟะบะฐ ะฝะต ะทะฝะฐะนะดะตะฝะฐ", + "fl_xe1": "ะฝะต ะฒะดะฐะปะพัั ะฟะตั€ะตะปั–ั‡ะธั‚ะธ ั„ะฐะนะปะธ ะฒ ะฟะฐะฟั†ั–:\n\nะฟะพะผะธะปะบะฐ ", + "fl_xe2": "404: ะŸะฐะฟะบะฐ ะฝะต ะทะฝะฐะนะดะตะฝะฐ", + "fd_xe1": "ะฝะต ะฒะดะฐะปะพัั ัั‚ะฒะพั€ะธั‚ะธ ะฟั–ะดะฟะฐะฟะบัƒ:\n\nะฟะพะผะธะปะบะฐ ", + "fd_xe2": "404: ะ‘ะฐั‚ัŒะบั–ะฒััŒะบะฐ ะฟะฐะฟะบะฐ ะฝะต ะทะฝะฐะนะดะตะฝะฐ", + "fsm_xe1": "ะฝะต ะฒะดะฐะปะพัั ะฝะฐะดั–ัะปะฐั‚ะธ ะฟะพะฒั–ะดะพะผะปะตะฝะฝั:\n\nะฟะพะผะธะปะบะฐ ", + "fsm_xe2": "404: ะ‘ะฐั‚ัŒะบั–ะฒััŒะบะฐ ะฟะฐะฟะบะฐ ะฝะต ะทะฝะฐะนะดะตะฝะฐ", + "fu_xe1": "ะฝะต ะฒะดะฐะปะพัั ะทะฐะฒะฐะฝั‚ะฐะถะธั‚ะธ ัะฟะธัะพะบ unpost ะท ัะตั€ะฒะตั€ะฐ:\n\nะฟะพะผะธะปะบะฐ ", + "fu_xe2": "404: ะคะฐะนะป ะฝะต ะทะฝะฐะนะดะตะฝะพ??", + + "fz_tar": "ะฝะตัั‚ะธัะฝัƒั‚ะธะน gnu-tar ั„ะฐะนะป (linux / mac)", + "fz_pax": "ะฝะตัั‚ะธัะฝัƒั‚ะธะน tar ะฒ pax-ั„ะพั€ะผะฐั‚ั– (ะฟะพะฒั–ะปัŒะฝั–ัˆะต)", + "fz_targz": "gnu-tar ะทั– ัั‚ะธัะฝะตะฝะฝัะผ gzip ั€ั–ะฒะฝั 3$N$Nั†ะต ะทะฐะทะฒะธั‡ะฐะน ะดัƒะถะต ะฟะพะฒั–ะปัŒะฝะพ, ั‚ะพะผัƒ$Nะฒะธะบะพั€ะธัั‚ะพะฒัƒะนั‚ะต ะฝะตัั‚ะธัะฝัƒั‚ะธะน tar ะทะฐะผั–ัั‚ัŒ ั†ัŒะพะณะพ", + "fz_tarxz": "gnu-tar ะทั– ัั‚ะธัะฝะตะฝะฝัะผ xz ั€ั–ะฒะฝั 1$N$Nั†ะต ะทะฐะทะฒะธั‡ะฐะน ะดัƒะถะต ะฟะพะฒั–ะปัŒะฝะพ, ั‚ะพะผัƒ$Nะฒะธะบะพั€ะธัั‚ะพะฒัƒะนั‚ะต ะฝะตัั‚ะธัะฝัƒั‚ะธะน tar ะทะฐะผั–ัั‚ัŒ ั†ัŒะพะณะพ", + "fz_zip8": "zip ะท utf8 ั–ะผะตะฝะฐะผะธ ั„ะฐะนะปั–ะฒ (ะผะพะถะปะธะฒะพ ะฝะตัั‚ะฐะฑั–ะปัŒะฝะธะน ะฝะฐ windows 7 ั– ัั‚ะฐั€ั–ัˆะธั…)", + "fz_zipd": "zip ะท ั‚ั€ะฐะดะธั†ั–ะนะฝะธะผะธ cp437 ั–ะผะตะฝะฐะผะธ ั„ะฐะนะปั–ะฒ, ะดะปั ะดัƒะถะต ัั‚ะฐั€ะพะณะพ ะŸะ—", + "fz_zipc": "cp437 ะท crc32, ะพะฑั‡ะธัะปะตะฝะธะผ ะทะฐะทะดะฐะปะตะณั–ะดัŒ,$Nะดะปั MS-DOS PKZIP v2.04g (ะถะพะฒั‚ะตะฝัŒ 1993)$N(ะฟะพั‚ั€ะตะฑัƒั” ะฑั–ะปัŒัˆะต ั‡ะฐััƒ ะดะปั ะพะฑั€ะพะฑะบะธ ะฟะตั€ะตะด ะฟะพั‡ะฐั‚ะบะพะผ ะทะฐะฒะฐะฝั‚ะฐะถะตะฝะฝั)", + + "un_m1": "ะฒะธ ะผะพะถะตั‚ะต ะฒะธะดะฐะปะธั‚ะธ ะฒะฐัˆั– ะฝะตะดะฐะฒะฝั– ะทะฐะฒะฐะฝั‚ะฐะถะตะฝะฝั (ะฐะฑะพ ะฟะตั€ะตั€ะฒะฐั‚ะธ ะฝะตะทะฐะฒะตั€ัˆะตะฝั–) ะฝะธะถั‡ะต", + "un_upd": "ะพะฝะพะฒะธั‚ะธ", + "un_m4": "ะฐะฑะพ ะฟะพะดั–ะปะธั‚ะธัั ั„ะฐะนะปะฐะผะธ, ะฒะธะดะธะผะธะผะธ ะฝะธะถั‡ะต:", + "un_ulist": "ะฟะพะบะฐะทะฐั‚ะธ", + "un_ucopy": "ะบะพะฟั–ัŽะฒะฐั‚ะธ", + "un_flt": "ะฝะตะพะฑะพะฒ'ัะทะบะพะฒะธะน ั„ั–ะปัŒั‚ั€:  URL ะฟะพะฒะธะฝะตะฝ ะผั–ัั‚ะธั‚ะธ", + "un_fclr": "ะพั‡ะธัั‚ะธั‚ะธ ั„ั–ะปัŒั‚ั€", + "un_derr": 'unpost-ะฒะธะดะฐะปะตะฝะฝั ะฝะตะฒะดะฐะปะต:\n', + "un_f5": 'ั‰ะพััŒ ะทะปะฐะผะฐะปะพัั, ะฑัƒะดัŒ ะปะฐัะบะฐ, ัะฟั€ะพะฑัƒะนั‚ะต ะพะฝะพะฒะธั‚ะธ ะฐะฑะพ ะฝะฐั‚ะธัะฝั–ั‚ัŒ F5', + "un_uf5": "ะฒะธะฑะฐั‡ั‚ะต, ะฐะปะต ะฒะธ ะฟะพะฒะธะฝะฝั– ะพะฝะพะฒะธั‚ะธ ัั‚ะพั€ั–ะฝะบัƒ (ะฝะฐะฟั€ะธะบะปะฐะด, ะฝะฐั‚ะธัะฝัƒะฒัˆะธ F5 ะฐะฑะพ CTRL-R) ะฟะตั€ะตะด ั‚ะธะผ, ัะบ ั†ะต ะทะฐะฒะฐะฝั‚ะฐะถะตะฝะฝั ะผะพะถะฝะฐ ะฑัƒะดะต ะฟะตั€ะตั€ะฒะฐั‚ะธ", + "un_nou": 'ะฟะพะฟะตั€ะตะดะถะตะฝะฝั: ัะตั€ะฒะตั€ ะทะฐะฝะฐะดั‚ะพ ะทะฐะนะฝัั‚ะธะน, ั‰ะพะฑ ะฟะพะบะฐะทะฐั‚ะธ ะฝะตะทะฐะฒะตั€ัˆะตะฝั– ะทะฐะฒะฐะฝั‚ะฐะถะตะฝะฝั; ะบะปะฐั†ะฝั–ั‚ัŒ ะฟะพัะธะปะฐะฝะฝั "ะพะฝะพะฒะธั‚ะธ" ั‚ั€ะพั…ะธ ะฟั–ะทะฝั–ัˆะต', + "un_noc": 'ะฟะพะฟะตั€ะตะดะถะตะฝะฝั: unpost ะฟะพะฒะฝั–ัั‚ัŽ ะทะฐะฒะฐะฝั‚ะฐะถะตะฝะธั… ั„ะฐะนะปั–ะฒ ะฝะต ัƒะฒั–ะผะบะฝะตะฝะพ/ะดะพะทะฒะพะปะตะฝะพ ะฒ ะบะพะฝั„ั–ะณัƒั€ะฐั†ั–ั— ัะตั€ะฒะตั€ะฐ', + "un_max": "ะฟะพะบะฐะทะฐะฝะพ ะฟะตั€ัˆั– 2000 ั„ะฐะนะปั–ะฒ (ะฒะธะบะพั€ะธัั‚ะพะฒัƒะนั‚ะต ั„ั–ะปัŒั‚ั€)", + "un_avail": "{0} ะฝะตะดะฐะฒะฝั–ั… ะทะฐะฒะฐะฝั‚ะฐะถะตะฝัŒ ะผะพะถัƒั‚ัŒ ะฑัƒั‚ะธ ะฒะธะดะฐะปะตะฝั–
    {1} ะฝะตะทะฐะฒะตั€ัˆะตะฝะธั… ะผะพะถัƒั‚ัŒ ะฑัƒั‚ะธ ะฟะตั€ะตั€ะฒะฐะฝั–", + "un_m2": "ะฒั–ะดัะพั€ั‚ะพะฒะฐะฝะพ ะทะฐ ั‡ะฐัะพะผ ะทะฐะฒะฐะฝั‚ะฐะถะตะฝะฝั; ะฝะฐะนะฝะพะฒั–ัˆั– ัะฟะพั‡ะฐั‚ะบัƒ:", + "un_no1": "ั…ะฐ! ะฝะตะผะฐั” ะทะฐะฒะฐะฝั‚ะฐะถะตะฝัŒ, ะดะพัั‚ะฐั‚ะฝัŒะพ ะฝะตะดะฐะฒะฝั–ั…", + "un_no2": "ั…ะฐ! ะฝะตะผะฐั” ะทะฐะฒะฐะฝั‚ะฐะถะตะฝัŒ, ั‰ะพ ะฒั–ะดะฟะพะฒั–ะดะฐัŽั‚ัŒ ั†ัŒะพะผัƒ ั„ั–ะปัŒั‚ั€ัƒ, ะดะพัั‚ะฐั‚ะฝัŒะพ ะฝะตะดะฐะฒะฝั–ั…", + "un_next": "ะฒะธะดะฐะปะธั‚ะธ ะฝะฐัั‚ัƒะฟะฝั– {0} ั„ะฐะนะปั–ะฒ ะฝะธะถั‡ะต", + "un_abrt": "ะฟะตั€ะตั€ะฒะฐั‚ะธ", + "un_del": "ะฒะธะดะฐะปะธั‚ะธ", + "un_m3": "ะทะฐะฒะฐะฝั‚ะฐะถะตะฝะฝั ะฒะฐัˆะธั… ะฝะตะดะฐะฒะฝั–ั… ะทะฐะฒะฐะฝั‚ะฐะถะตะฝัŒ...", + "un_busy": "ะฒะธะดะฐะปะตะฝะฝั {0} ั„ะฐะนะปั–ะฒ...", + "un_clip": "{0} ะฟะพัะธะปะฐะฝัŒ ัะบะพะฟั–ะนะพะฒะฐะฝะพ ะดะพ ะฑัƒั„ะตั€ะฐ", + + "u_https1": "ะฒะฐะผ ัะปั–ะด", + "u_https2": "ะฟะตั€ะตะบะปัŽั‡ะธั‚ะธัั ะฝะฐ https", + "u_https3": "ะดะปั ะบั€ะฐั‰ะพั— ะฟั€ะพะดัƒะบั‚ะธะฒะฝะพัั‚ั–", + "u_ancient": 'ะฒะฐัˆ ะฑั€ะฐัƒะทะตั€ ะฒั€ะฐะถะฐัŽั‡ะต ัั‚ะฐั€ะธะน -- ะผะพะถะปะธะฒะพ, ะฒะฐะผ ัะปั–ะด ะฒะธะบะพั€ะธัั‚ะพะฒัƒะฒะฐั‚ะธ bup ะทะฐะผั–ัั‚ัŒ ั†ัŒะพะณะพ', + "u_nowork": "ะฟะพั‚ั€ั–ะฑะตะฝ firefox 53+ ะฐะฑะพ chrome 57+ ะฐะฑะพ iOS 11+", + "tail_2old": "ะฟะพั‚ั€ั–ะฑะตะฝ firefox 105+ ะฐะฑะพ chrome 71+ ะฐะฑะพ iOS 14.5+", + "u_nodrop": 'ะฒะฐัˆ ะฑั€ะฐัƒะทะตั€ ะทะฐะฝะฐะดั‚ะพ ัั‚ะฐั€ะธะน ะดะปั ะฟะตั€ะตั‚ัะณัƒะฒะฐะฝะฝั ะทะฐะฒะฐะฝั‚ะฐะถะตะฝัŒ', + "u_notdir": "ั†ะต ะฝะต ะฟะฐะฟะบะฐ!\n\nะฒะฐัˆ ะฑั€ะฐัƒะทะตั€ ะทะฐะฝะฐะดั‚ะพ ัั‚ะฐั€ะธะน,\nะฑัƒะดัŒ ะปะฐัะบะฐ, ัะฟั€ะพะฑัƒะนั‚ะต ะฟะตั€ะตั‚ัะณัƒะฒะฐะฝะฝั ะทะฐะผั–ัั‚ัŒ ั†ัŒะพะณะพ", + "u_uri": "ั‰ะพะฑ ะฟะตั€ะตั‚ัะณะฝัƒั‚ะธ ะทะพะฑั€ะฐะถะตะฝะฝั ะท ั–ะฝัˆะธั… ะฒั–ะบะพะฝ ะฑั€ะฐัƒะทะตั€ะฐ,\nะฑัƒะดัŒ ะปะฐัะบะฐ, ะฟะตั€ะตั‚ัะณะฝั–ั‚ัŒ ะนะพะณะพ ะฝะฐ ะฒะตะปะธะบัƒ ะบะฝะพะฟะบัƒ ะทะฐะฒะฐะฝั‚ะฐะถะตะฝะฝั", + "u_enpot": 'ะฟะตั€ะตะบะปัŽั‡ะธั‚ะธัั ะฝะฐ ะบะฐั€ั‚ะพะฟะปะธะฝะฝะธะน UI (ะผะพะถะต ะฟะพะบั€ะฐั‰ะธั‚ะธ ัˆะฒะธะดะบั–ัั‚ัŒ ะทะฐะฒะฐะฝั‚ะฐะถะตะฝะฝั)', + "u_depot": 'ะฟะตั€ะตะบะปัŽั‡ะธั‚ะธัั ะฝะฐ ะฒะธัˆัƒะบะฐะฝะธะน UI (ะผะพะถะต ะทะผะตะฝัˆะธั‚ะธ ัˆะฒะธะดะบั–ัั‚ัŒ ะทะฐะฒะฐะฝั‚ะฐะถะตะฝะฝั)', + "u_gotpot": 'ะฟะตั€ะตะบะปัŽั‡ะตะฝะฝั ะฝะฐ ะบะฐั€ั‚ะพะฟะปะธะฝะฝะธะน UI ะดะปั ะฟะพะบั€ะฐั‰ะตะฝะฝั ัˆะฒะธะดะบะพัั‚ั– ะทะฐะฒะฐะฝั‚ะฐะถะตะฝะฝั,\n\nะฝะต ัะพั€ะพะผั‚ะตัั ะฝะต ะฟะพะณะพะดะธั‚ะธัั ั– ะฟะตั€ะตะบะปัŽั‡ะธั‚ะธัั ะฝะฐะทะฐะด!', + "u_pott": "

    ั„ะฐะนะปะธ:   {0} ะทะฐะฒะตั€ัˆะตะฝะพ,   {1} ะฝะตะฒะดะฐะปะพ,   {2} ะทะฐะนะฝัั‚ะพ,   {3} ะฒ ั‡ะตั€ะทั–

    ", + "u_ever": "ั†ะต ะฑะฐะทะพะฒะธะน ะทะฐะฒะฐะฝั‚ะฐะถัƒะฒะฐั‡; up2k ะฟะพั‚ั€ะตะฑัƒั” ะฟั€ะธะฝะฐะนะผะฝั–
    chrome 21 // firefox 13 // edge 12 // opera 12 // safari 5.1", + "u_su2k": 'ั†ะต ะฑะฐะทะพะฒะธะน ะทะฐะฒะฐะฝั‚ะฐะถัƒะฒะฐั‡; up2k ะบั€ะฐั‰ะธะน', + "u_uput": 'ะพะฟั‚ะธะผั–ะทัƒะฒะฐั‚ะธ ะดะปั ัˆะฒะธะดะบะพัั‚ั– (ะฟั€ะพะฟัƒัั‚ะธั‚ะธ ะบะพะฝั‚ั€ะพะปัŒะฝัƒ ััƒะผัƒ)', + "u_ewrite": 'ัƒ ะฒะฐั ะฝะตะผะฐั” ะดะพัั‚ัƒะฟัƒ ะดะปั ะทะฐะฟะธััƒ ะฒ ั†ัŽ ะฟะฐะฟะบัƒ', + "u_eread": 'ัƒ ะฒะฐั ะฝะตะผะฐั” ะดะพัั‚ัƒะฟัƒ ะดะปั ั‡ะธั‚ะฐะฝะฝั ั†ั–ั”ั— ะฟะฐะฟะบะธ', + "u_enoi": 'ะฟะพัˆัƒะบ ั„ะฐะนะปั–ะฒ ะฝะต ัƒะฒั–ะผะบะฝะตะฝะพ ะฒ ะบะพะฝั„ั–ะณัƒั€ะฐั†ั–ั— ัะตั€ะฒะตั€ะฐ', + "u_enoow": "ะฟะตั€ะตะทะฐะฟะธั ะฝะต ะฟั€ะฐั†ัŽะฒะฐั‚ะธะผะต ั‚ัƒั‚; ะฟะพั‚ั€ั–ะฑะตะฝ ะดะพะทะฒั–ะป ะฝะฐ ะฒะธะดะฐะปะตะฝะฝั", + "u_badf": 'ะฆั– {0} ั„ะฐะนะปะธ (ะท {1} ะทะฐะณะฐะปัŒะฝะธั…) ะฑัƒะปะธ ะฟั€ะพะฟัƒั‰ะตะฝั–, ะผะพะถะปะธะฒะพ, ั‡ะตั€ะตะท ะดะพะทะฒะพะปะธ ั„ะฐะนะปะพะฒะพั— ัะธัั‚ะตะผะธ:\n\n', + "u_blankf": 'ะฆั– {0} ั„ะฐะนะปะธ (ะท {1} ะทะฐะณะฐะปัŒะฝะธั…) ะฟะพั€ะพะถะฝั–; ะฒัะต ะพะดะฝะพ ะทะฐะฒะฐะฝั‚ะฐะถะธั‚ะธ ั—ั…?\n\n', + "u_applef": 'ะฆั– {0} ั„ะฐะนะปะธ (ะท {1} ะทะฐะณะฐะปัŒะฝะธั…), ะนะผะพะฒั–ั€ะฝะพ, ะฝะตะฑะฐะถะฐะฝั–;\nะะฐั‚ะธัะฝั–ั‚ัŒ ะ“ะฐั€ะฐะทะด/Enter ั‰ะพะฑ ะŸะ ะžะŸะฃะกะขะ˜ะขะ˜ ะฝะฐัั‚ัƒะฟะฝั– ั„ะฐะนะปะธ,\nะะฐั‚ะธัะฝั–ั‚ัŒ ะกะบะฐััƒะฒะฐั‚ะธ/ESC ั‰ะพะฑ ะะ• ะฒะธะบะปัŽั‡ะฐั‚ะธ, ั– ะ—ะะ’ะะะขะะ–ะ˜ะขะ˜ ั—ั… ั‚ะฐะบะพะถ:\n\n', + "u_just1": '\nะœะพะถะปะธะฒะพ, ั†ะต ัะฟั€ะฐั†ัŽั” ะบั€ะฐั‰ะต, ัะบั‰ะพ ะฒะธ ะฒะธะฑะตั€ะตั‚ะต ะปะธัˆะต ะพะดะธะฝ ั„ะฐะนะป', + "u_ff_many": "ัะบั‰ะพ ะฒะธ ะฒะธะบะพั€ะธัั‚ะพะฒัƒั”ั‚ะต Linux / MacOS / Android, ั‚ะพ ั‚ะฐะบะฐ ะบั–ะปัŒะบั–ัั‚ัŒ ั„ะฐะนะปั–ะฒ ะผะพะถะต ะทะฐะฒั–ัะธั‚ะธ Firefox!\nัะบั‰ะพ ั†ะต ัั‚ะฐะฝะตั‚ัŒัั, ะฑัƒะดัŒ ะปะฐัะบะฐ, ัะฟั€ะพะฑัƒะนั‚ะต ะทะฝะพะฒัƒ (ะฐะฑะพ ะฒะธะบะพั€ะธัั‚ะพะฒัƒะนั‚ะต Chrome).", + "u_up_life": "ะฆะต ะทะฐะฒะฐะฝั‚ะฐะถะตะฝะฝั ะฑัƒะดะต ะฒะธะดะฐะปะตะฝะพ ะท ัะตั€ะฒะตั€ะฐ\n{0} ะฟั–ัะปั ะนะพะณะพ ะทะฐะฒะตั€ัˆะตะฝะฝั", + "u_asku": 'ะทะฐะฒะฐะฝั‚ะฐะถะธั‚ะธ ั†ั– {0} ั„ะฐะนะปั–ะฒ ะดะพ {1}', + "u_unpt": "ะฒะธ ะผะพะถะตั‚ะต ัะบะฐััƒะฒะฐั‚ะธ / ะฒะธะดะฐะปะธั‚ะธ ั†ะต ะทะฐะฒะฐะฝั‚ะฐะถะตะฝะฝั, ะฒะธะบะพั€ะธัั‚ะพะฒัƒัŽั‡ะธ ๐Ÿงฏ ะทะฒะตั€ั…ัƒ ะทะปั–ะฒะฐ", + "u_bigtab": 'ะทะฑะธั€ะฐัŽัั ะฟะพะบะฐะทะฐั‚ะธ {0} ั„ะฐะนะปั–ะฒ\n\nั†ะต ะผะพะถะต ะทะฐะฒั–ัะธั‚ะธ ะฒะฐัˆ ะฑั€ะฐัƒะทะตั€, ะฒะธ ะฒะฟะตะฒะฝะตะฝั–?', + "u_scan": 'ะกะบะฐะฝัƒะฒะฐะฝะฝั ั„ะฐะนะปั–ะฒ...', + "u_dirstuck": 'ั–ั‚ะตั€ะฐั‚ะพั€ ะบะฐั‚ะฐะปะพะณัƒ ะทะฐัั‚ั€ัะณ, ะฝะฐะผะฐะณะฐัŽั‡ะธััŒ ะพั‚ั€ะธะผะฐั‚ะธ ะดะพัั‚ัƒะฟ ะดะพ ะฝะฐัั‚ัƒะฟะฝะธั… {0} ะตะปะตะผะตะฝั‚ั–ะฒ; ะฟั€ะพะฟัƒั‰ัƒ:', + "u_etadone": 'ะ“ะพั‚ะพะฒะพ ({0}, {1} ั„ะฐะนะปั–ะฒ)', + "u_etaprep": '(ะฟั–ะดะณะพั‚ะพะฒะบะฐ ะดะพ ะทะฐะฒะฐะฝั‚ะฐะถะตะฝะฝั)', + "u_hashdone": 'ั…ะตัˆัƒะฒะฐะฝะฝั ะทะฐะฒะตั€ัˆะตะฝะพ', + "u_hashing": 'ั…ะตัˆัƒะฒะฐะฝะฝั', + "u_hs": 'ั€ัƒะบะพัั‚ะธัะบะฐะฝะฝั...', + "u_started": "ั„ะฐะนะปะธ ั‚ะตะฟะตั€ ะทะฐะฒะฐะฝั‚ะฐะถัƒัŽั‚ัŒัั; ะดะธะฒั–ั‚ัŒัั [๐Ÿš€]", + "u_dupdefer": "ะดัƒะฑะปั–ะบะฐั‚; ะฑัƒะดะต ะพะฑั€ะพะฑะปะตะฝะพ ะฟั–ัะปั ะฒัั–ั… ั–ะฝัˆะธั… ั„ะฐะนะปั–ะฒ", + "u_actx": "ะบะปะฐั†ะฝั–ั‚ัŒ ั†ะตะน ั‚ะตะบัั‚, ั‰ะพะฑ ะทะฐะฟะพะฑั–ะณั‚ะธ ะฒั‚ั€ะฐั‚ั–
    ะฟั€ะพะดัƒะบั‚ะธะฒะฝะพัั‚ั– ะฟั€ะธ ะฟะตั€ะตะบะปัŽั‡ะตะฝะฝั– ะฝะฐ ั–ะฝัˆั– ะฒั–ะบะฝะฐ/ะฒะบะปะฐะดะบะธ", + "u_fixed": "OK!  ะ’ะธะฟั€ะฐะฒะปะตะฝะพ ๐Ÿ‘", + "u_cuerr": "ะฝะต ะฒะดะฐะปะพัั ะทะฐะฒะฐะฝั‚ะฐะถะธั‚ะธ ั„ั€ะฐะณะผะตะฝั‚ {0} ะท {1};\nะนะผะพะฒั–ั€ะฝะพ, ะฝะตัˆะบั–ะดะปะธะฒะพ, ะฟั€ะพะดะพะฒะถัƒัŽ\n\nั„ะฐะนะป: {2}", + "u_cuerr2": "ัะตั€ะฒะตั€ ะฒั–ะดั…ะธะปะธะฒ ะทะฐะฒะฐะฝั‚ะฐะถะตะฝะฝั (ั„ั€ะฐะณะผะตะฝั‚ {0} ะท {1});\nัะฟั€ะพะฑัƒัŽ ะฟั–ะทะฝั–ัˆะต\n\nั„ะฐะนะป: {2}\n\nะฟะพะผะธะปะบะฐ ", + "u_ehstmp": "ัะฟั€ะพะฑัƒัŽ ะทะฝะพะฒัƒ; ะดะธะฒั–ั‚ัŒัั ะฒะฝะธะทัƒ ัะฟั€ะฐะฒะฐ", + "u_ehsfin": "ัะตั€ะฒะตั€ ะฒั–ะดั…ะธะปะธะฒ ะทะฐะฟะธั‚ ะฝะฐ ะทะฐะฒะตั€ัˆะตะฝะฝั ะทะฐะฒะฐะฝั‚ะฐะถะตะฝะฝั; ะฟะพะฒั‚ะพั€ัŽัŽ...", + "u_ehssrch": "ัะตั€ะฒะตั€ ะฒั–ะดั…ะธะปะธะฒ ะทะฐะฟะธั‚ ะฝะฐ ะฒะธะบะพะฝะฐะฝะฝั ะฟะพัˆัƒะบัƒ; ะฟะพะฒั‚ะพั€ัŽัŽ...", + "u_ehsinit": "ัะตั€ะฒะตั€ ะฒั–ะดั…ะธะปะธะฒ ะทะฐะฟะธั‚ ะฝะฐ ั–ะฝั–ั†ั–ะฐั†ั–ัŽ ะทะฐะฒะฐะฝั‚ะฐะถะตะฝะฝั; ะฟะพะฒั‚ะพั€ัŽัŽ...", + "u_eneths": "ะผะตั€ะตะถะตะฒะฐ ะฟะพะผะธะปะบะฐ ะฟั–ะด ั‡ะฐั ะฒะธะบะพะฝะฐะฝะฝั ั€ัƒะบะพัั‚ะธัะบะฐะฝะฝั ะทะฐะฒะฐะฝั‚ะฐะถะตะฝะฝั; ะฟะพะฒั‚ะพั€ัŽัŽ...", + "u_enethd": "ะผะตั€ะตะถะตะฒะฐ ะฟะพะผะธะปะบะฐ ะฟั–ะด ั‡ะฐั ั‚ะตัั‚ัƒะฒะฐะฝะฝั ั–ัะฝัƒะฒะฐะฝะฝั ั†ั–ะปั–; ะฟะพะฒั‚ะพั€ัŽัŽ...", + "u_cbusy": "ั‡ะตะบะฐั”ะผะพ, ะฟะพะบะธ ัะตั€ะฒะตั€ ะทะฝะพะฒัƒ ะฝะฐะผ ะดะพะฒั–ั€ัั‚ะธะผะต ะฟั–ัะปั ะผะตั€ะตะถะตะฒะพะณะพ ะทะฑะพัŽ...", + "u_ehsdf": "ะฝะฐ ัะตั€ะฒะตั€ั– ะทะฐะบั–ะฝั‡ะธะปะพัั ะผั–ัั†ะต ะฝะฐ ะดะธัะบัƒ!\n\nะฑัƒะดัƒ ะฟั€ะพะดะพะฒะถัƒะฒะฐั‚ะธ ัะฟั€ะพะฑะธ, ะฝะฐ ะฒะธะฟะฐะดะพะบ, ัะบั‰ะพ ั…ั‚ะพััŒ\nะทะฒั–ะปัŒะฝะธั‚ัŒ ะดะพัั‚ะฐั‚ะฝัŒะพ ะผั–ัั†ั ะดะปั ะฟั€ะพะดะพะฒะถะตะฝะฝั", + "u_emtleak1": "ัั…ะพะถะต, ะฒะฐัˆ ะฒะตะฑ-ะฑั€ะฐัƒะทะตั€ ะผะพะถะต ะผะฐั‚ะธ ะฒะธั‚ั–ะบ ะฟะฐะผ'ัั‚ั–;\nะฑัƒะดัŒ ะปะฐัะบะฐ,", + "u_emtleak2": ' ะฟะตั€ะตะบะปัŽั‡ั–ั‚ัŒัั ะฝะฐ https (ั€ะตะบะพะผะตะฝะดัƒั”ั‚ัŒัั) ะฐะฑะพ ', + "u_emtleak3": ' ', + "u_emtleakc": 'ัะฟั€ะพะฑัƒะนั‚ะต ะฝะฐัั‚ัƒะฟะฝะต:\n
    • ะฝะฐั‚ะธัะฝั–ั‚ัŒ F5 ะดะปั ะพะฝะพะฒะปะตะฝะฝั ัั‚ะพั€ั–ะฝะบะธ
    • ะฟะพั‚ั–ะผ ะฒั–ะดะบะปัŽั‡ั–ั‚ัŒ ะบะฝะพะฟะบัƒ  mt  ะฒ  โš™๏ธ ะฝะฐะปะฐัˆั‚ัƒะฒะฐะฝะฝัั…
    • ั– ัะฟั€ะพะฑัƒะนั‚ะต ั†ะต ะทะฐะฒะฐะฝั‚ะฐะถะตะฝะฝั ะทะฝะพะฒัƒ
    ะ—ะฐะฒะฐะฝั‚ะฐะถะตะฝะฝั ะฑัƒะดัƒั‚ัŒ ั‚ั€ะพั…ะธ ะฟะพะฒั–ะปัŒะฝั–ัˆะธะผะธ, ะฐะปะต ั‰ะพ ะฟะพั€ะพะฑะธัˆ.\nะ’ะธะฑะฐั‡ั‚ะต ะทะฐ ะฝะตะทั€ัƒั‡ะฝะพัั‚ั– !\n\nPS: chrome v107 ะผะฐั” ะฒะธะฟั€ะฐะฒะปะตะฝะฝั ะดะปั ั†ัŒะพะณะพ', + "u_emtleakf": 'ัะฟั€ะพะฑัƒะนั‚ะต ะฝะฐัั‚ัƒะฟะฝะต:\n
    • ะฝะฐั‚ะธัะฝั–ั‚ัŒ F5 ะดะปั ะพะฝะพะฒะปะตะฝะฝั ัั‚ะพั€ั–ะฝะบะธ
    • ะฟะพั‚ั–ะผ ัƒะฒั–ะผะบะฝั–ั‚ัŒ ๐Ÿฅ” (ะบะฐั€ั‚ะพะฟะปั) ะฒ UI ะทะฐะฒะฐะฝั‚ะฐะถะตะฝะฝั
    • ั– ัะฟั€ะพะฑัƒะนั‚ะต ั†ะต ะทะฐะฒะฐะฝั‚ะฐะถะตะฝะฝั ะทะฝะพะฒัƒ
    \nPS: firefox ัะฟะพะดั–ะฒะฐั”ะผะพัั, ะผะฐั‚ะธะผะต ะฒะธะฟั€ะฐะฒะปะตะฝะฝั ะฒ ัะบะธะนััŒ ะผะพะผะตะฝั‚', + "u_s404": "ะฝะต ะทะฝะฐะนะดะตะฝะพ ะฝะฐ ัะตั€ะฒะตั€ั–", + "u_expl": "ะฟะพััะฝะธั‚ะธ", + "u_maxconn": "ะฑั–ะปัŒัˆั–ัั‚ัŒ ะฑั€ะฐัƒะทะตั€ั–ะฒ ะพะฑะผะตะถัƒัŽั‚ัŒ ั†ะต ะดะพ 6, ะฐะปะต firefox ะดะพะทะฒะพะปัั” ะฟั–ะดะฒะธั‰ะธั‚ะธ ั†ะต ะท connections-per-server ะฒ about:config", + "u_tu": '

    ะŸะžะŸะ•ะ ะ•ะ”ะ–ะ•ะะะฏ: turbo ัƒะฒั–ะผะบะฝะตะฝะพ,  ะบะปั–ั”ะฝั‚ ะผะพะถะต ะฝะต ะฒะธัะฒะธั‚ะธ ั– ะฟะพะฝะพะฒะธั‚ะธ ะฝะตะฟะพะฒะฝั– ะทะฐะฒะฐะฝั‚ะฐะถะตะฝะฝั; ะดะธะฒั–ั‚ัŒัั ะฟั–ะดะบะฐะทะบัƒ turbo-ะบะฝะพะฟะบะธ

    ', + "u_ts": '

    ะŸะžะŸะ•ะ ะ•ะ”ะ–ะ•ะะะฏ: turbo ัƒะฒั–ะผะบะฝะตะฝะพ,  ั€ะตะทัƒะปัŒั‚ะฐั‚ะธ ะฟะพัˆัƒะบัƒ ะผะพะถัƒั‚ัŒ ะฑัƒั‚ะธ ะฝะตะฟั€ะฐะฒะธะปัŒะฝะธะผะธ; ะดะธะฒั–ั‚ัŒัั ะฟั–ะดะบะฐะทะบัƒ turbo-ะบะฝะพะฟะบะธ

    ', + "u_turbo_c": "turbo ะฒั–ะดะบะปัŽั‡ะตะฝะพ ะฒ ะบะพะฝั„ั–ะณัƒั€ะฐั†ั–ั— ัะตั€ะฒะตั€ะฐ", + "u_turbo_g": "ะฒั–ะดะบะปัŽั‡ะฐัŽ turbo, ั‚ะพะผัƒ ั‰ะพ ัƒ ะฒะฐั ะฝะตะผะฐั”\nะฟั€ะธะฒั–ะปะตั—ะฒ ะฟะตั€ะตะณะปัะดัƒ ะบะฐั‚ะฐะปะพะณั–ะฒ ะฒ ั†ัŒะพะผัƒ ั‚ะพะผั–", + "u_life_cfg": 'ะฐะฒั‚ะพะฒะธะดะฐะปะตะฝะฝั ั‡ะตั€ะตะท ั…ะฒ (ะฐะฑะพ ะณะพะดะธะฝ)', + "u_life_est": 'ะทะฐะฒะฐะฝั‚ะฐะถะตะฝะฝั ะฑัƒะดะต ะฒะธะดะฐะปะตะฝะพ ---', + "u_life_max": 'ั†ั ะฟะฐะฟะบะฐ ะทะฐะฑะตะทะฟะตั‡ัƒั”\nะผะฐะบั. ั‚ะตั€ะผั–ะฝ ะถะธั‚ั‚ั {0}', + "u_unp_ok": 'unpost ะดะพะทะฒะพะปะตะฝะพ ะดะปั {0}', + "u_unp_ng": 'unpost ะะ• ะฑัƒะดะต ะดะพะทะฒะพะปะตะฝะพ', + "ue_ro": 'ะฒะฐัˆ ะดะพัั‚ัƒะฟ ะดะพ ั†ั–ั”ั— ะฟะฐะฟะบะธ ั‚ั–ะปัŒะบะธ ะดะปั ั‡ะธั‚ะฐะฝะฝั\n\n', + "ue_nl": 'ะฒะธ ะทะฐั€ะฐะท ะฝะต ัƒะฒั–ะนัˆะปะธ ะฒ ัะธัั‚ะตะผัƒ', + "ue_la": 'ะฒะธ ะทะฐั€ะฐะท ัƒะฒั–ะนัˆะปะธ ัะบ "{0}"', + "ue_sr": 'ะฒะธ ะทะฐั€ะฐะท ะฒ ั€ะตะถะธะผั– ะฟะพัˆัƒะบัƒ ั„ะฐะนะปั–ะฒ\n\nะฟะตั€ะตะบะปัŽั‡ั–ั‚ัŒัั ะฝะฐ ั€ะตะถะธะผ ะทะฐะฒะฐะฝั‚ะฐะถะตะฝะฝั, ะบะปะฐั†ะฝัƒะฒัˆะธ ะปัƒะฟัƒ ๐Ÿ”Ž (ะฟะพั€ัƒั‡ ะท ะฒะตะปะธะบะพัŽ ะบะฝะพะฟะบะพัŽ ะŸะžะจะฃะš), ั– ัะฟั€ะพะฑัƒะนั‚ะต ะทะฐะฒะฐะฝั‚ะฐะถะธั‚ะธ ะทะฝะพะฒัƒ\n\nะฒะธะฑะฐั‡ั‚ะต', + "ue_ta": 'ัะฟั€ะพะฑัƒะนั‚ะต ะทะฐะฒะฐะฝั‚ะฐะถะธั‚ะธ ะทะฝะพะฒัƒ, ั†ะต ะฟะพะฒะธะฝะฝะพ ัะฟั€ะฐั†ัŽะฒะฐั‚ะธ ะทะฐั€ะฐะท', + "ue_ab": "ั†ะตะน ั„ะฐะนะป ะฒะถะต ะทะฐะฒะฐะฝั‚ะฐะถัƒั”ั‚ัŒัั ะฒ ั–ะฝัˆัƒ ะฟะฐะฟะบัƒ, ั– ั†ะต ะทะฐะฒะฐะฝั‚ะฐะถะตะฝะฝั ะฟะพะฒะธะฝะฝะพ ะฑัƒั‚ะธ ะทะฐะฒะตั€ัˆะตะฝะพ ะฟะตั€ะตะด ั‚ะธะผ, ัะบ ั„ะฐะนะป ะผะพะถะฝะฐ ะฑัƒะดะต ะทะฐะฒะฐะฝั‚ะฐะถะธั‚ะธ ะฒ ั–ะฝัˆะต ะผั–ัั†ะต.\n\nะ’ะธ ะผะพะถะตั‚ะต ะฟะตั€ะตั€ะฒะฐั‚ะธ ั– ะทะฐะฑัƒั‚ะธ ะฟะพั‡ะฐั‚ะบะพะฒะต ะทะฐะฒะฐะฝั‚ะฐะถะตะฝะฝั, ะฒะธะบะพั€ะธัั‚ะพะฒัƒัŽั‡ะธ ๐Ÿงฏ ะทะฒะตั€ั…ัƒ ะทะปั–ะฒะฐ", + "ur_1uo": "OK: ะคะฐะนะป ัƒัะฟั–ัˆะฝะพ ะทะฐะฒะฐะฝั‚ะฐะถะตะฝะพ", + "ur_auo": "OK: ะ’ัั– {0} ั„ะฐะนะปั–ะฒ ัƒัะฟั–ัˆะฝะพ ะทะฐะฒะฐะฝั‚ะฐะถะตะฝะพ", + "ur_1so": "OK: ะคะฐะนะป ะทะฝะฐะนะดะตะฝะพ ะฝะฐ ัะตั€ะฒะตั€ั–", + "ur_aso": "OK: ะ’ัั– {0} ั„ะฐะนะปั–ะฒ ะทะฝะฐะนะดะตะฝะพ ะฝะฐ ัะตั€ะฒะตั€ั–", + "ur_1un": "ะ—ะฐะฒะฐะฝั‚ะฐะถะตะฝะฝั ะฝะตะฒะดะฐะปะต, ะฒะธะฑะฐั‡ั‚ะต", + "ur_aun": "ะ’ัั– {0} ะทะฐะฒะฐะฝั‚ะฐะถะตะฝัŒ ะฝะตะฒะดะฐะปั–, ะฒะธะฑะฐั‡ั‚ะต", + "ur_1sn": "ะคะฐะนะป ะะ• ะทะฝะฐะนะดะตะฝะพ ะฝะฐ ัะตั€ะฒะตั€ั–", + "ur_asn": "{0} ั„ะฐะนะปั–ะฒ ะะ• ะทะฝะฐะนะดะตะฝะพ ะฝะฐ ัะตั€ะฒะตั€ั–", + "ur_um": "ะ—ะฐะฒะตั€ัˆะตะฝะพ;\n{0} ะทะฐะฒะฐะฝั‚ะฐะถะตะฝัŒ OK,\n{1} ะทะฐะฒะฐะฝั‚ะฐะถะตะฝัŒ ะฝะตะฒะดะฐะปะธั…, ะฒะธะฑะฐั‡ั‚ะต", + "ur_sm": "ะ—ะฐะฒะตั€ัˆะตะฝะพ;\n{0} ั„ะฐะนะปั–ะฒ ะทะฝะฐะนะดะตะฝะพ ะฝะฐ ัะตั€ะฒะตั€ั–,\n{1} ั„ะฐะนะปั–ะฒ ะะ• ะทะฝะฐะนะดะตะฝะพ ะฝะฐ ัะตั€ะฒะตั€ั–", + + "rc_opn": "ะฒั–ะดะบั€ะธั‚ะธ", //m + "rc_ply": "ะฒั–ะดั‚ะฒะพั€ะธั‚ะธ", //m + "rc_pla": "ะฒั–ะดั‚ะฒะพั€ะธั‚ะธ ัะบ ะฐัƒะดั–ะพ", //m + "rc_txt": "ะฒั–ะดะบั€ะธั‚ะธ ัƒ ะฟะตั€ะตะณะปัะดะฐั‡ั– ั„ะฐะนะปั–ะฒ", //m + "rc_md": "ะฒั–ะดะบั€ะธั‚ะธ ะฒ ั‚ะตะบัั‚ะพะฒะพะผัƒ ั€ะตะดะฐะบั‚ะพั€ั–", //m + "rc_dl": "ะทะฐะฒะฐะฝั‚ะฐะถะธั‚ะธ", //m + "rc_zip": "ะทะฐะฒะฐะฝั‚ะฐะถะธั‚ะธ ัะบ ะฐั€ั…ั–ะฒ", //m + "rc_del": "ะฒะธะดะฐะปะธั‚ะธ", //m + "rc_cut": "ะฒะธั€ั–ะทะฐั‚ะธ", //m + "rc_cpy": "ะบะพะฟั–ัŽะฒะฐั‚ะธ", //m + "rc_pst": "ะฒัั‚ะฐะฒะธั‚ะธ", //m + "rc_nfo": "ะฝะพะฒะฐ ะฟะฐะฟะบะฐ", //m + "rc_nfi": "ะฝะพะฒะธะน ั„ะฐะนะป", //m + "rc_sal": "ะฒะธะฑั€ะฐั‚ะธ ะฒัะต", //m + "rc_sin": "ั–ะฝะฒะตั€ั‚ัƒะฒะฐั‚ะธ ะฒะธะฑั–ั€", //m + + "lang_set": "ะพะฝะพะฒะธั‚ะธ ัั‚ะพั€ั–ะฝะบัƒ, ั‰ะพะฑ ะทะผั–ะฝะธ ะฝะฐะฑัƒะปะธ ั‡ะธะฝะฝะพัั‚ั–?", + + "splash": { + "a1": "ะพะฝะพะฒะธั‚ะธ", + "b1": "ะฟั€ะธะฒั–ั‚ะธะบ, ะฝะตะทะฝะฐะนะพะผั†ัŽ   (ะฒะธ ะฝะต ะฐะฒั‚ะพั€ะธะทะพะฒะฐะฝั–)", + "c1": "ะฒะธะนั‚ะธ", + "d1": "ั‚ั€ะฐััƒะฒะฐะฝะฝั ัั‚ะตะบะฐ", + "d2": "ะฟะพะบะฐะทัƒั” ัั‚ะฐะฝ ัƒัั–ั… ะฐะบั‚ะธะฒะฝะธั… ะฟะพั‚ะพะบั–ะฒ", + "e1": "ะฟะตั€ะตะทะฐะฒะฐะฝั‚ะฐะถะธั‚ะธ ะบะพะฝั„ั–ะณ", + "e2": "ะฟะตั€ะตะทะฐะฒะฐะฝั‚ะฐะถะธั‚ะธ ั„ะฐะนะปะธ ะบะพะฝั„ั–ะณัƒั€ะฐั†ั–ั— (ะพะฑะปั–ะบะพะฒั– ะทะฐะฟะธัะธ/ั‚ะพะผะธ/ะฟั€ะฐะฟะพั€ั†ั–),$Nั‚ะฐ ะฟะตั€ะตัะบะฐะฝัƒะฒะฐั‚ะธ ะฒัั– ั‚ะพะผะธ e2ds$N$Nัƒะฒะฐะณะฐ: ะฑัƒะดัŒ-ัะบั– ะทะผั–ะฝะธ ะณะปะพะฑะฐะปัŒะฝะธั… ะฝะฐะปะฐัˆั‚ัƒะฒะฐะฝัŒ$NะฒะธะผะฐะณะฐัŽั‚ัŒ ะฟะพะฒะฝะพะณะพ ะฟะตั€ะตะทะฐะฟัƒัะบัƒ", + "f1": "ะฒะธ ะผะพะถะตั‚ะต ะฑะฐั‡ะธั‚ะธ:", + "g1": "ะฒะธ ะผะพะถะตั‚ะต ะทะฐะฒะฐะฝั‚ะฐะถัƒะฒะฐั‚ะธ ั„ะฐะนะปะธ ะฒ:", + "cc1": "ะฒััะบะฐ ะฒััั‡ะธะฝะฐ:", + "h1": "ะฒะธะผะบะฝัƒั‚ะธ k304", + "i1": "ัƒะฒั–ะผะบะฝัƒั‚ะธ k304", + "j1": "ัƒะฒั–ะผะบะฝะตะฝะฝั k304 ะฑัƒะดะต ะฒั–ะดะบะปัŽั‡ะฐั‚ะธ ะฒะฐัˆ ะบะปั–ั”ะฝั‚ ะฟั€ะธ ะบะพะถะฝะพะผัƒ HTTP 304, ั‰ะพ ะผะพะถะต ะทะฐะฟะพะฑั–ะณั‚ะธ ะทะฐะฒะธัะฐะฝะฝัŽ ะดะตัะบะธั… ะณะปัŽั‡ะฝะธั… ะฟั€ะพะบัั– (ั€ะฐะฟั‚ะพะฒะพ ะฟะตั€ะตัั‚ะฐัŽั‚ัŒ ะทะฐะฒะฐะฝั‚ะฐะถัƒะฒะฐั‚ะธ ัั‚ะพั€ั–ะฝะบะธ), ะฐะปะต ั†ะต ั‚ะฐะบะพะถ ะทั€ะพะฑะธั‚ัŒ ัƒัะต ะฟะพะฒั–ะปัŒะฝั–ัˆะธะผ ะทะฐะณะฐะปะพะผ", + "k1": "ัะบะธะฝัƒั‚ะธ ะฝะฐะปะฐัˆั‚ัƒะฒะฐะฝะฝั ะบะปั–ั”ะฝั‚ะฐ", + "l1": "ะฐะฒั‚ะพั€ะธะทัƒะนั‚ะตััŒ ะดะปั ั–ะฝัˆะธั… ะพะฟั†ั–ะน:", + "ls3": "ัƒะฒั–ะนั‚ะธ", //m + "lu4": "ั–ะผ'ั ะบะพั€ะธัั‚ัƒะฒะฐั‡ะฐ", //m + "lp4": "ะฟะฐั€ะพะปัŒ", //m + "lo3": "ะฒะธะนั‚ะธ ะท ะพะฑะปั–ะบะพะฒะพะณะพ ะทะฐะฟะธััƒ โ€œ{0}โ€ ะฒััŽะดะธ", //m + "lo2": "ั†ะต ะทะฐะฒะตั€ัˆะธั‚ัŒ ัะตะฐะฝั ัƒ ะฒัั–ั… ะฑั€ะฐัƒะทะตั€ะฐั…", //m + "m1": "ะท ะฟะพะฒะตั€ะฝะตะฝะฝัะผ,", + "n1": "404 ะฝะต ะทะฝะฐะนะดะตะฝะพ  โ”( ยด -`)โ”Œ", + "o1": 'ะฐะฑะพ ัƒ ะฒะฐั ะฝะตะผะฐั” ะดะพัั‚ัƒะฟัƒ -- ัะฟั€ะพะฑัƒะนั‚ะต ะฐะฒั‚ะพั€ะธะทัƒะฒะฐั‚ะธัั ะฐะฑะพ ะฟะพะฒะตั€ะฝัƒั‚ะธัั ะฝะฐ ะณะพะปะพะฒะฝัƒ', + "p1": "403 ะดะพัั‚ัƒะฟ ะทะฐะฑะพั€ะพะฝะตะฝะธะน  ~โ”ปโ”โ”ป", + "q1": 'ะฐะฒั‚ะพั€ะธะทัƒะนั‚ะตััŒ ะฐะฑะพ ะฟะพะฒะตั€ะฝั–ั‚ัŒัั ะฝะฐ ะณะพะปะพะฒะฝัƒ', + "r1": "ะฟะพะฒะตั€ะฝัƒั‚ะธัั ะฝะฐ ะณะพะปะพะฒะฝัƒ", + ".s1": "ะฟะตั€ะตัะบะฐะฝัƒะฒะฐั‚ะธ", + "t1": "ะดั–ั", + "u2": "ั‡ะฐั ะท ะพัั‚ะฐะฝะฝัŒะพะณะพ ะทะฐะฟะธััƒ ัะตั€ะฒะตั€ะฐ$N( ะทะฐะฒะฐะฝั‚ะฐะถะตะฝะฝั / ะฟะตั€ะตะนะผะตะฝัƒะฒะฐะฝะฝั / ... )$N$N17d = 17 ะดะฝั–ะฒ$N1h23 = 1 ะณะพะดะธะฝะฐ 23 ั…ะฒะธะปะธะฝะธ$N4m56 = 4 ั…ะฒะธะปะธะฝะธ 56 ัะตะบัƒะฝะด", + "v1": "ะฟั–ะดะบะปัŽั‡ะธั‚ะธ", + "v2": "ะฒะธะบะพั€ะธัั‚ะพะฒัƒะฒะฐั‚ะธ ั†ะตะน ัะตั€ะฒะตั€ ัะบ ะปะพะบะฐะปัŒะฝะธะน HDD", + "w1": "ะฟะตั€ะตะนั‚ะธ ะฝะฐ https", + "x1": "ะทะผั–ะฝะธั‚ะธ ะฟะฐั€ะพะปัŒ", + "y1": "ะบะตั€ัƒะฒะฐะฝะฝั ะดะพัั‚ัƒะฟะพะผ", + "z1": "ั€ะพะทะฑะปะพะบัƒะฒะฐั‚ะธ:", + "ta1": "ัะฟะพั‡ะฐั‚ะบัƒ ะทะฐะฟะพะฒะฝั–ั‚ัŒ ะฒะฐัˆ ะฝะพะฒะธะน ะฟะฐั€ะพะปัŒ", + "ta2": "ะฟะพะฒั‚ะพั€ั–ั‚ัŒ ะดะปั ะฟั–ะดั‚ะฒะตั€ะดะถะตะฝะฝั ะฝะพะฒะพะณะพ ะฟะฐั€ะพะปั:", + "ta3": "ะพะฟะธัะบะฐ; ัะฟั€ะพะฑัƒะนั‚ะต ะทะฝะพะฒัƒ", + "nop": "ะŸะžะœะ˜ะ›ะšะ: ะŸะฐั€ะพะปัŒ ะฝะต ะผะพะถะต ะฑัƒั‚ะธ ะฟะพั€ะพะถะฝั–ะผ", //m + "nou": "ะŸะžะœะ˜ะ›ะšะ: ะ†ะผโ€™ั ะบะพั€ะธัั‚ัƒะฒะฐั‡ะฐ ั‚ะฐ/ะฐะฑะพ ะฟะฐั€ะพะปัŒ ะฝะต ะผะพะถัƒั‚ัŒ ะฑัƒั‚ะธ ะฟะพั€ะพะถะฝั–ะผะธ", //m + "aa1": "ะฒั…ั–ะดะฝั– ั„ะฐะนะปะธ:", + "ab1": "ะฒะธะผะบะฝัƒั‚ะธ no304", + "ac1": "ัƒะฒั–ะผะบะฝัƒั‚ะธ no304", + "ad1": "ัƒะฒั–ะผะบะฝะตะฝะฝั no304 ะฒะธะผะบะฝะต ะฒัะต ะบะตัˆัƒะฒะฐะฝะฝั; ัะฟั€ะพะฑัƒะนั‚ะต ั†ะต, ัะบั‰ะพ k304 ะฑัƒะปะพ ะฝะตะดะพัั‚ะฐั‚ะฝัŒะพ. ะฆะต ะฒะธั‚ั€ะฐั‚ะธั‚ัŒ ะฒะตะปะธั‡ะตะทะฝัƒ ะบั–ะปัŒะบั–ัั‚ัŒ ะผะตั€ะตะถะตะฒะพะณะพ ั‚ั€ะฐั„ั–ะบัƒ!", + "ae1": "ะฐะบั‚ะธะฒะฝั– ะทะฐะฒะฐะฝั‚ะฐะถะตะฝะฝั:", + "af1": "ะฟะพะบะฐะทะฐั‚ะธ ะฝะตั‰ะพะดะฐะฒะฝั– ะทะฐะฒะฐะฝั‚ะฐะถะตะฝะฝั", + "ag1": "ะฟะพะบะฐะทะฐั‚ะธ ะฒั–ะดะพะผะธั… IdP-ะบะพั€ะธัั‚ัƒะฒะฐั‡ั–ะฒ", + } +}; diff --git a/copyparty/web/tl/vie.js b/copyparty/web/tl/vie.js new file mode 100644 index 00000000..948f14bb --- /dev/null +++ b/copyparty/web/tl/vie.js @@ -0,0 +1,749 @@ +Ls.vie = { + "tt": "Tiแบฟng Viแป‡t", + + "cols": { + "c": "nรบt hร nh ฤ‘แป™ng", + "dur": "thแปi lฦฐแปฃng", + "q": "chแบฅt lฦฐแปฃng / bitrate", + "Ac": "codec รขm thanh", + "Vc": "codec video", + "Fmt": "ฤ‘แป‹nh dแบกng / container", + "Ahash": "checksum รขm thanh", + "Vhash": "checksum video", + "Res": "ฤ‘แป™ phรขn giแบฃi", + "T": "loแบกi tแป‡p", + "aq": "chแบฅt lฦฐแปฃng รขm thanh / bitrate", + "vq": "chแบฅt lฦฐแปฃng video / bitrate", + "pixfmt": "subsampling / pixel structure", + "resw": "ฤ‘แป™ phรขn giแบฃi ngang", + "resh": "ฤ‘แป™ phรขn giแบฃi dแปc", + "chs": "kรชnh รขm thanh", + "hz": "tแป‘c ฤ‘แป™ lแบฅy mแบซu", + }, + + "hks": [ + [ + "misc", + ["ESC", "ฤ‘รณng nhiแปu mแปฅc"], + + "file-manager", + ["G", "chuyแปƒn ฤ‘แป•i chแบฟ ฤ‘แป™ xem danh sรกch / lฦฐแป›i"], + ["T", "chuyแปƒn ฤ‘แป•i แบฃnh thu nhแป / biแปƒu tฦฐแปฃng"], + ["โ‡ง A/D", "kรญch thฦฐแป›c แบฃnh thu nhแป"], + ["ctrl-K", "xoรก mแปฅc ฤ‘รฃ chแปn"], + ["ctrl-X", "cแบฏt mแปฅc ฤ‘รฃ chแปn vร o bแบฃng nhแป› tแบกm"], + ["ctrl-C", "sao chรฉp mแปฅc ฤ‘รฃ chแปn vร o bแบฃng nhแป› tแบกm"], + ["ctrl-V", "dรกn (di chuyแปƒn/sao chรฉp) tแบกi ฤ‘รขy"], + ["Y", "tแบฃi xuแป‘ng mแปฅc ฤ‘รฃ chแปn"], + ["F2", "ฤ‘แป•i tรชn mแปฅc ฤ‘รฃ chแปn"], + + "file-list-sel", + ["space", "chuyแปƒn ฤ‘แป•i chแปn tแป‡p"], + ["โ†‘/โ†“", "di chuyแปƒn con trแป chแปn"], + ["ctrl โ†‘/โ†“", "di chuyแปƒn con trแป vร  khung nhรฌn"], + ["โ‡ง โ†‘/โ†“", "chแปn tแป‡p trฦฐแป›c / sau"], + ["ctrl-A", "chแปn tแบฅt cแบฃ tแป‡p / thฦฐ mแปฅc"], + ], [ + "navigation", + ["B", "chuyแปƒn ฤ‘แป•i ฤ‘ฦฐแปng dแบซn / thanh ฤ‘iแปu hฦฐแป›ng"], + ["I/K", "thฦฐ mแปฅc trฦฐแป›c / sau"], + ["M", "thฦฐ mแปฅc cha (hoแบทc thu gแปn hiแป‡n tแบกi)"], + ["V", "chuyแปƒn ฤ‘แป•i thฦฐ mแปฅc / tแป‡p vฤƒn bแบฃn trong thanh ฤ‘iแปu hฦฐแป›ng"], + ["A/D", "kรญch thฦฐแป›c thanh ฤ‘iแปu hฦฐแป›ng"], + ], [ + "audio-player", + ["J/L", "bร i trฦฐแป›c / sau"], + ["U/O", "lรนi / tiแบฟn 10 giรขy"], + ["0..9", "nhแบฃy ฤ‘แบฟn 0%..90%"], + ["P", "phรกt/tแบกm dแปซng (cลฉng khแปŸi ฤ‘แป™ng)"], + ["S", "chแปn bร i ฤ‘ang phรกt"], + ["Y", "tแบฃi xuแป‘ng bร i hรกt"], + ], [ + "image-viewer", + ["J/L, โ†/โ†’", "แบฃnh trฦฐแป›c / sau"], + ["Home/End", "แบฃnh ฤ‘แบงu / cuแป‘i"], + ["F", "toร n mร n hรฌnh"], + ["R", "xoay theo chiแปu kim ฤ‘แป“ng hแป“"], + ["โ‡ง R", "xoay ngฦฐแปฃc chiแปu kim ฤ‘แป“ng hแป“"], + ["S", "chแปn แบฃnh"], + ["Y", "tแบฃi xuแป‘ng แบฃnh"], + ], [ + "video-player", + ["U/O", "lรนi / tiแบฟn 10 giรขy"], + ["P/K/Space", "phรกt/tแบกm dแปซng"], + ["C", "tiแบฟp tแปฅc phรกt bร i tiแบฟp theo"], + ["V", "vรฒng lแบทp"], + ["M", "tแบฏt tiแบฟng"], + ["[ and ]", "ฤ‘แบทt khoแบฃng lแบทp"], + ], [ + "textfile-viewer", + ["I/K", "tแป‡p trฦฐแป›c / sau"], + ["M", "ฤ‘รณng tแป‡p vฤƒn bแบฃn"], + ["E", "chแป‰nh sแปญa tแป‡p vฤƒn bแบฃn"], + ["S", "chแปn tแป‡p (ฤ‘แปƒ cแบฏt/sao chรฉp/ฤ‘แป•i tรชn)"], + ] + ], + + "m_ok": "OK", + "m_ng": "Hแปงy", + + "enable": "Bแบญt", + "danger": "NGUY HIแป‚M", + "clipped": "ฤ‘รฃ sao chรฉp vร o bแบฃng nhแป› tแบกm", + + "ht_s1": "giรขy", + "ht_s2": "giรขy", + "ht_m1": "phรบt", + "ht_m2": "phรบt", + "ht_h1": "giแป", + "ht_h2": "giแป", + "ht_d1": "ngร y", + "ht_d2": "ngร y", + "ht_and": " vร  ", + + "goh": "bแบฃng ฤ‘iแปu khiแปƒn", + "gop": 'thฦฐ mแปฅc trฦฐแป›c">trฦฐแป›c', + "gou": 'thฦฐ mแปฅc cha">lรชn', + "gon": 'thฦฐ mแปฅc sau">tiแบฟp', + "logout": "ฤฤƒng xuแบฅt ", + "login": "ฤฤƒng nhแบญp", + "access": "quyแปn truy cแบญp", + "ot_close": "ฤ‘รณng menu con", + + "ot_search": "tรฌm kiแบฟm cรกc tแป‡p theo thuแป™c tรญnh, ฤ‘ฦฐแปng dแบซn / tรชn, tag nhแบกc hoแบทc bแบฅt kแปณ sแปฑ kแบฟt hแปฃp nร o cแปงa chรบng$N$N<code>foo bar</code> = phแบฃi chแปฉa cแบฃ ยซfooยป vร  ยซbarยป,$N<code>foo -bar</code> = phแบฃi chแปฉa ยซfooยป nhฦฐng khรดng chแปฉa ยซbarยป,$N<code>^yana .opus$</code> = bแบฏt ฤ‘แบงu bแบฑng ยซyanaยป vร  lร  tแป‡p ยซopusยป$N<code>"try unite"</code> = chแปฉa chรญnh xรกc ยซtry uniteยป$N$Nฤ‘แป‹nh dแบกng ngร y lร  iso-8601, nhฦฐ$N<code>2009-12-31</code> hoแบทc <code>2020-09-12 23:30:00</code>", + + + "ot_unpost": "unpost: xoรก cรกc tแป‡p ฤ‘รฃ tแบฃi lรชn gแบงn ฤ‘รขy hoแบทc huแปท nhแปฏng tแป‡p ฤ‘ang tแบฃi dแปŸ", + "ot_bup": "bup: trรฌnh tแบฃi lรชn cฦก bแบฃn, hแป— trแปฃ cแบฃ Netscape 4.0", + "ot_mkdir": "mkdir: tแบกo thฦฐ mแปฅc mแป›i", + "ot_md": "new-file: tแบกo tแป‡p vฤƒn bแบฃn mแป›i", + "ot_msg": "msg: gแปญi tin nhแบฏn ฤ‘แบฟn nhแบญt kรฝ mรกy chแปง", + "ot_mp": "tuแปณ chแปn trรฌnh phรกt phฦฐฦกng tiแป‡n", + "ot_cfg": "tuแปณ chแปn cแบฅu hรฌnh", + "ot_u2i": 'up2k: tแบฃi tแป‡p lรชn (nแบฟu bแบกn cรณ quyแปn ghi) hoแบทc chuyแปƒn sang chแบฟ ฤ‘แป™ tรฌm kiแบฟm ฤ‘แปƒ xem chรบng cรณ tแป“n tแบกi แปŸ ฤ‘รขu ฤ‘รณ trรชn mรกy chแปง khรดng$N$Ntแบฃi lรชn cรณ thแบฟ tiแบฟp tแปฅc nแบฟu bแป‹ giรกn ฤ‘oแบกn, chแบกy ฤ‘a luแป“ng vร  giแปฏ nguyรชn dแบฅu thแปi gian tแป‡p, nhฦฐng tiรชu tแป‘n nhiแปu CPU hฦกn [๐ŸŽˆ]  (trรฌnh tแบฃi lรชn cฦก bแบฃn)

    trong quรก trรฌnh tแบฃi, biแปƒu tฦฐแปฃng nร y sแบฝ trแปŸ thร nh chแป‰ thแป‹ tiแบฟn trรฌnh!', + "ot_u2w": 'up2k: tแบฃi tแป‡p lรชn vแป›i hแป— trแปฃ tiแบฟp tแปฅc (ฤ‘รณng trรฌnh duyแป‡t vร  thแบฃ lแบกi tแป‡p ฤ‘รณ lรชn sau)$N$Nchแบกy ฤ‘a luแป“ng vร  giแปฏ nguyรชn dแบฅu thแปi gian tแป‡p, nhฦฐng tiรชu tแป‘n nhiแปu CPU hฦกn [๐ŸŽˆ]  (trรฌnh tแบฃi lรชn cฦก bแบฃn)

    trong quรก trรฌnh tแบฃi, biแปƒu tฦฐแปฃng nร y sแบฝ trแปŸ thร nh chแป‰ thแป‹ tiแบฟn trรฌnh!', + "ot_noie": 'Vui lรฒng sแปญ dแปฅng Chrome / Firefox / Edge', + + "ab_mkdir": "tแบกo thฦฐ mแปฅc", + "ab_mkdoc": "tแบกo tแป‡p vฤƒn bแบฃn", + "ab_msg": "gแปญi tin nhแบฏn ฤ‘แบฟn nhแบญt kรฝ mรกy chแปง", + + "ay_path": "bแป qua ฤ‘แบฟn thฦฐ mแปฅc", + "ay_files": "bแป qua ฤ‘แบฟn tแป‡p", + + "wt_ren": "ฤ‘แป•i tรชn cรกc mแปฅc ฤ‘รฃ chแปn$NPhรญm tแบฏt: F2", + "wt_del": "xรณa cรกc mแปฅc ฤ‘รฃ chแปn$NPhรญm tแบฏt: ctrl-K", + "wt_cut": "cแบฏt cรกc mแปฅc ฤ‘รฃ chแปn <small>(sau ฤ‘รณ dรกn แปŸ nฦกi khรกc)</small>$NPhรญm tแบฏt: ctrl-X", + "wt_cpy": "sao chรฉp cรกc mแปฅc ฤ‘รฃ chแปn vร o bแบฃng nhแป› tแบกm$N(ฤ‘แปƒ dรกn แปŸ nฦกi khรกc)$NPhรญm tแบฏt: ctrl-C", + "wt_pst": "dรกn mแป™t lแปฑa chแปn ฤ‘รฃ cแบฏt / sao chรฉp trฦฐแป›c ฤ‘รณ$NPhรญm tแบฏt: ctrl-V", + "wt_selall": "chแปn tแบฅt cแบฃ cรกc tแป‡p$NPhรญm tแบฏt: ctrl-A (khi tแป‡p ฤ‘ฦฐแปฃc chแปn)", + "wt_selinv": "ฤ‘แบฃo ngฦฐแปฃc lแปฑa chแปn", + "wt_zip1": "tแบฃi thฦฐ mแปฅc nร y dฦฐแป›i ฤ‘แป‹nh dแบกng nรฉn", + "wt_selzip": "tแบฃi lแปฑa chแปn dฦฐแป›i ฤ‘แป‹nh dแบกng nรฉn", + "wt_seldl": "tแบฃi lแปฑa chแปn dฦฐแป›i dแบกng cรกc tแป‡p riรชng biแป‡t$NPhรญm tแบฏt: Y", + "wt_npirc": "sao chรฉp thรดng tin bแบฃn nhแบกc theo ฤ‘แป‹nh dแบกng irc", + "wt_nptxt": "sao chรฉp thรดng tin bแบฃn nhแบกc dฦฐแป›i dแบกng vฤƒn bแบฃn thuแบงn tรบy", + "wt_m3ua": "thรชm vร o danh sรกch phรกt m3u (bแบฅm ๐Ÿ“ปcopy sau)", + "wt_m3uc": "sao chรฉp danh sรกch phรกt m3u vร o bแบฃng nhแป› tแบกm", + "wt_grid": "chuyแปƒn ฤ‘แป•i chแบฟ ฤ‘แป™ xem danh sรกch / lฦฐแป›i $NPhรญm tแบฏt: G", + "wt_prev": "bร i trฦฐแป›c$NPhรญm tแบฏt: J", + "wt_play": "phรกt / tแบกm dแปซng$NPhรญm tแบฏt: P", + "wt_next": "bร i sau$NPhรญm tแบฏt: L", + + "ul_par": "tแบฃi lรชn song song:", + "ut_rand": "ngแบซu nhiรชn hoรก tรชn tแป‡p", + "ut_u2ts": "sao chรฉp dแบฅu thแปi gian chแป‰nh sแปญa cuแป‘i$Ntแปซ hแป‡ thแป‘ng tแป‡p cแปงa bแบกn lรชn mรกy chแปง\">๐Ÿ“…", + "ut_ow": "ghi ฤ‘รจ cรกc tแป‡p ฤ‘รฃ cรณ trรชn mรกy chแปง?$N๐Ÿ›ก๏ธ: khรดng bao giแป (sแบฝ tแบกo tรชn tแป‡p mแป›i)$N๐Ÿ•’: ghi ฤ‘รจ nแบฟu tแป‡p trรชn mรกy chแปง cลฉ hฦกn$Nโ™ป๏ธ: luรดn ghi ฤ‘รจ nแบฟu hai tแป‡p khรกc nhau$Nโญ๏ธ: bแป qua vรด ฤ‘iแปu kiแป‡n tแบฅt cแบฃ cรกc tแป‡p hiแป‡n cรณ", //m + "ut_mt": "tiแบฟp tแปฅc hash cรกc tแป‡p khรกc trong khi tแบฃi lรชn$N$NCรณ thแปƒ tแบฏt nแบฟu CPU hoแบทc HDD cแปงa bแบกn bแป‹ nghแบฝn", + "ut_ask": 'yรชu cแบงu xรกc nhแบญn trฦฐแป›c khi bแบฏt ฤ‘แบงu tแบฃi lรชn">๐Ÿ’ญ', + "ut_pot": "cแบฃi thiแป‡n tแป‘c ฤ‘แป™ tแบฃi lรชn trรชn cรกc thiแบฟt bแป‹ chแบญm$Nbแบฑng cรกch ฤ‘ฦกn giแบฃn hoรก giao diแป‡n ngฦฐแปi dรนng", + "ut_srch": "khรดng tแบฃi lรชn, chแป‰ kiแปƒm tra xem tแป‡p$Nฤ‘รฃ tแป“n tแบกi trรชn mรกy chแปง hay chฦฐa (sแบฝ quรฉt toร n bแป™ thฦฐ mแปฅc bแบกn cรณ quyแปn ฤ‘แปc)", + "ut_par": "tแบกm dแปซng tแบฃi lรชn bแบฑng cรกch ฤ‘แบทt thร nh 0$N$NTฤƒng lรชn nแบฟu kแบฟt nแป‘i chแบญm hoแบทc ฤ‘แป™ trแป… cao$N$NGiแปฏ แปŸ mแปฉc 1 khi dรนng LAN hoแบทc nแบฟu แป• cแปฉng mรกy chแปง bแป‹ nghแบฝn", + "ul_btn": "thแบฃ tแป‡p / thฦฐ mแปฅc
    แปŸ ฤ‘รขy (hoแบทc nhแบฅn vร o tรดi)", + "ul_btnu": "T แบข I L รŠ N", + "ul_btns": "T รŒ M K I แบพ M", + + "ul_hash": "hash", + "ul_send": "gแปญi", + "ul_done": "hoร n tแบฅt", + "ul_idle1": "chฦฐa cรณ mแปฅc nร o trong hร ng chแป tแบฃi lรชn", + "ut_etah": "tแป‘c ฤ‘แป™ <em>hash</em> trung bรฌnh vร  thแปi gian dแปฑ kiแบฟn ฤ‘แปƒ hoร n tแบฅt", + "ut_etau": "tแป‘c ฤ‘แป™ <em>tแบฃi lรชn</em> trung bรฌnh vร  thแปi gian dแปฑ kiแบฟn ฤ‘แปƒ hoร n tแบฅt", + "ut_etat": "tแป‘c ฤ‘แป™ <em>tแป•ng</em> trung bรฌnh vร  thแปi gian dแปฑ kiแบฟn ฤ‘แปƒ hoร n tแบฅt", + + "uct_ok": "hoร n tแบฅt thร nh cรดng", + "uct_ng": "khรดng hแปฃp lแป‡: lแป—i / bแป‹ tแปซ chแป‘i / khรดng tรฌm thแบฅy", + "uct_done": "ฤ‘รฃ xแปญ lรฝ: gแป“m cแบฃ thร nh cรดng vร  khรดng hแปฃp lแป‡", + "uct_bz": "ฤ‘ang hash hoแบทc tแบฃi lรชn", + "uct_q": "nhร n rแป—i, ฤ‘ang chแป", + + "utl_name": "tรชn tแป‡p", + "utl_ulist": "danh sรกch", + "utl_ucopy": "sao chรฉp", + "utl_links": "ฤ‘ฦฐแปng dแบซn", + "utl_stat": "trแบกng thรกi", + "utl_prog": "tiแบฟn trรฌnh", + + // keep short: + + // phแบงn up2k + "utl_404": "404", + "utl_err": "Lแป–I", + "utl_oserr": "Lแป—i hแป‡ thแป‘ng", + "utl_found": "tรฌm thแบฅy", + "utl_defer": "hoรฃn", + "utl_yolo": "YOLO", + "utl_done": "hoร n tแบฅt", + + "ul_flagblk": "tแป‡p ฤ‘รฃ ฤ‘ฦฐแปฃc thรชm vร o hร ng chแป
    tuy vแบญy ฤ‘ang cรณ mแป™t tiแบฟn trรฌnh up2k ฤ‘ang chแบกy แปŸ mแป™t tab khรกc
    vui lรฒng ฤ‘แปฃi cho ฤ‘แบฟn khi tiแบฟn trรฌnh ฤ‘รณ hoร n tแบฅt hoแบทc bแป‹ hแปงy", + "ul_btnlk": "cร i ฤ‘แบทt cแปงa mรกy chแปง ฤ‘รฃ khรณa tรนy chแปn แปŸ trแบกng thรกi nร y", + + + "udt_up": "Tแบฃi lรชn", + "udt_srch": "Tรฌm kiแบฟm", + "udt_drop": "thแบฃ vร o ฤ‘รขy", + + + + "u_nav_m": '
    chแปn phฦฐฦกng thแปฉc tแบฃi lรชn
    Enter = Tแป‡p (mแป™t hoแบทc nhiแปu)\nESC = Mแป™t thฦฐ mแปฅc (kรจm thฦฐ mแปฅc con)', + "u_nav_b": 'Tแป‡pMแป™t thฦฐ mแปฅc', + + // settings / config: + "cl_opts": "tuแปณ chแปn", + "cl_hfsz": "kรญch thฦฐแป›c tแป‡p", + "cl_themes": "giao diแป‡n", + "cl_langs": "ngรดn ngแปฏ", + "cl_ziptype": "ฤ‘แป‹nh dแบกng nรฉn", + "cl_uopts": "tuแปณ chแปn up2k", + "cl_favico": "favicon", + "cl_bigdir": "thฦฐ mแปฅc lแป›n", + "cl_hsort": "#sแบฏp xแบฟp", + "cl_keytype": "ghi chรบ bร n phรญm", + "cl_hiddenc": "cแป™t ฤ‘รฃ แบฉn", + "cl_hidec": "แบฉn", + "cl_reset": "ฤ‘แบทt lแบกi", + "cl_hpick": "chแบกm vร o tiรชu ฤ‘แป cแป™t ฤ‘แปƒ แบฉn trong bแบฃng bรชn dฦฐแป›i", + "cl_hcancel": "ฤ‘รฃ hแปงy viแป‡c แบฉn cแป™t", + "cl_rcm": "menu chuแป™t phแบฃi", //m + + // settings / tuแปณ chแปn + "ct_grid": '็”ฐ chแบฟ ฤ‘แป™ lฦฐแป›i', + "ct_ttips": 'เผผ โ—•_โ—• เผฝ">โ„น๏ธ tooltips', + "ct_thumb": 'แปŸ chแบฟ ฤ‘แป™ lฦฐแป›i, chuyแปƒn biแปƒu tฦฐแปฃng hoแบทc hรฌnh thu nhแป$NPhรญm tแบฏt: T">๐Ÿ–ผ๏ธ แบฃnh thu nhแป', + "ct_csel": 'dรนng CTRL vร  SHIFT ฤ‘แปƒ chแปn tแป‡p trong chแบฟ ฤ‘แป™ lฦฐแป›i">sel', + "ct_dl": 'cฦฐแปกng chแบฟ tแบฃi xuแป‘ng (khรดng hiแป‡n thแป‹ trong dรฒng) khi nhแบฅp vร o tแป‡p">dl', + "ct_ihop": 'khi ฤ‘รณng trรฌnh xem แบฃnh, cuแป™n xuแป‘ng tแป‡p ฤ‘รฃ xem gแบงn nhแบฅt">gโฎฏ', + "ct_dots": 'hiแปƒn thแป‹ tแป‡p แบฉn (nแบฟu mรกy chแปง cho phรฉp)">dotfiles', + "ct_qdel": 'khi xรณa tแป‡p, chแป‰ hแปi xรกc nhแบญn mแป™t lแบงn">qdel', + "ct_dir1st": 'sแบฏp xแบฟp thฦฐ mแปฅc trฦฐแป›c tแป‡p">๐Ÿ“ first', + "ct_nsort": 'sแบฏp xแบฟp tแปฑ nhiรชn (cho tรชn tแป‡p cรณ sแป‘ แปŸ ฤ‘แบงu)">nsort', + "ct_utc": 'hiแปƒn thแป‹ mแปi thแปi gian theo UTC">UTC', + "ct_readme": 'hiแปƒn thแป‹ README.md trong danh sรกch thฦฐ mแปฅc">๐Ÿ“œ readme', + "ct_idxh": 'hiแปƒn thแป‹ index.html thay cho danh sรกch thฦฐ mแปฅc">htm', + "ct_sbars": 'hiแปƒn thแป‹ thanh cuแป™n">โŸŠ', + + // tuแปณ chแปn up2k + "cut_umod": "nแบฟu tแป‡p ฤ‘รฃ tแป“n tแบกi trรชn mรกy chแปง, cแบญp nhแบญt dแบฅu thแปi gian chแป‰nh sแปญa cuแป‘i cแปงa mรกy chแปง cho khแป›p vแป›i tแป‡p cแปฅc bแป™ cแปงa bแบกn (yรชu cแบงu quyแปn ghi vร  xรณa)\">re๐Ÿ“…", + + "cut_turbo": "nรบt YOLO, bแบกn gแบงn nhฦฐ KHร”NG nรชn bแบญt tuแปณ chแปn nร y:$N$Ndรนng khi bแบกn ฤ‘ang tแบฃi lรชn mแป™t lฦฐแปฃng tแป‡p rแบฅt lแป›n vร  phแบฃi khแปŸi ฤ‘แป™ng lแบกi vรฌ lรฝ do nร o ฤ‘รณ, vร  muแป‘n tiแบฟp tแปฅc tแบฃi cร ng sแป›m sร ng tแป‘t$N$Ntuแปณ chแปn nร y thay thแบฟ kiแปƒm tra hash bแบฑng kiแปƒm tra "kรญch thฦฐแป›c tแป‡p แปŸ trรชn mรกy chแปง cรณ giแป‘ng nhau khรดng" nรชn nแบฟu nแป™i dung tแป‡p khรกc nhau thรฌ sแบฝ KHร”NG ฤ‘ฦฐแปฃc tแบฃi lรชn$N$Nbแบกn nรชn tแบฏt tuแปณ chแปn nร y sau khi tแบฃi lรชn xong, vร  "tแบฃi lรชn" lแบกi cรกc tแป‡p ฤ‘รณ ฤ‘แปƒ xรกc minh\">turbo", + + "cut_datechk": "khรดng cรณ tรกc dแปฅng trแปซ khi nรบt turbo ฤ‘ฦฐแปฃc bแบญt$N$Ngiแบฃm mแปฉc ฤ‘แป™ yolo mแป™t chรบt; kiแปƒm tra xem dแบฅu thแปi gian tแป‡p trรชn mรกy chแปง cรณ khแป›p vแป›i cแปงa bแบกn khรดng$N$Nnรชn vแป lรฝ thuyแบฟt cรณ thแปƒ phรกt hiแป‡n phแบงn lแป›n tแป‡p chฦฐa xong hoแบทc bแป‹ lแป—i, nhฦฐng khรดng thแปƒ thay thแบฟ cho viแป‡c chแบกy xรกc minh sau khi tแบฏt turbo\">date-chk", + + "cut_u2sz": "kรญch thฦฐแป›c (tรญnh theo MiB) cแปงa mแป—i khแป‘i tแบฃi lรชn; dรนng kรญch thฦฐแป›c khแป‘i lแป›n khi truyแปn แปŸ khoแบฃng cรกch lแปฅc ฤ‘แป‹a. Hรฃy thแปญ giรก trแป‹ nhแป hฦกn vแป›i kแบฟt nแป‘i khรดng แป•n ฤ‘แป‹nh", + + "cut_flag": "ฤ‘แบฃm bแบฃo chแป‰ mแป™t tab ฤ‘ฦฐแปฃc tแบฃi lรชn tแบกi mแป™t thแปi ฤ‘iแปƒm $N -- tab khรกc cลฉng cแบงn bแบญt tรนy chแปn nร y $N -- tรกc dแปฅng trong cรกc tab cรนng tรชn miแปn", + + "cut_az": "tแบฃi tแป‡p theo thแปฉ tแปฑ bแบฃng chแปฏ cรกi thay vรฌ tแป‡p nhแป trฦฐแป›c$N$Ntแบฃi lรชn theo thแปฉ tแปฑ bแบฃng chแปฏ cรกi giรบp dแป… quan sรกt nแบฟu cรณ vแบฅn ฤ‘แป trรชn mรกy chแปง, nhฦฐng lร m tแป‘c ฤ‘แป™ tแบฃi chแบญm hฦกn trรชn mแบกng cรกp quang hoแบทc LAN", + + "cut_nag": "thรดng bรกo cแปงa hแป‡ ฤ‘iแปu hร nh khi tแบฃi lรชn hoร n tแบฅt$N(chแป‰ khi trรฌnh duyแป‡t hoแบทc tab khรดng hoแบกt ฤ‘แป™ng)", + "cut_sfx": "รขm bรกo khi tแบฃi lรชn hoร n tแบฅt$N(chแป‰ khi trรฌnh duyแป‡t hoแบทc tab khรดng hoแบกt ฤ‘แป™ng)", + + "cut_mt": "dรนng ฤ‘a luแป“ng ฤ‘แปƒ tฤƒng tแป‘c hash tแป‡p$N$dรนng web workers vร  cแบงn $nhiแปu RAM hฦกn (tแป‘i ฤ‘a thรชm 512 MiB)$N$lร m cho https nhanh hฦกn 30%, http nhanh hฦกn 4.5 lแบงn\">mt", + + "cut_wasm": "dรนng wasm thay vรฌ bแป™ hash tรญch hแปฃp cแปงa trรฌnh duyแป‡t; nhanh hฦกn trรชn trรฌnh duyแป‡t chromium nhฦฐng lร m tฤƒng tแบฃi CPU, vร  nhiแปu bแบฃn chrome cลฉ cรณ lแป—i khiแบฟn trรฌnh duyแป‡t dรนng hแบฟt RAM vร  treo nแบฟu bแบญt tuแปณ chแปn nร y\">wasm", + + // favicon + "cft_text": "chuแป—i favicon (ฤ‘แปƒ trแป‘ng vร  lร m mแป›i trang ฤ‘แปƒ tแบฏt)", + "cft_fg": "mร u chแปฏ", + "cft_bg": "mร u nแปn", + + // big dirs + "cdt_lim": "sแป‘ tแป‡p tแป‘i ฤ‘a hiแปƒn thแป‹ trong thฦฐ mแปฅc", + "cdt_ask": "khi cuแป™n xuแป‘ng cuแป‘i,$Nthay vรฌ tแบฃi thรชm tแป‡p,$Nhแปi ngฦฐแปi dรนng muแป‘n lร m gรฌ", + "cdt_hsort": "sแป‘ lฦฐแปฃng luแบญt sแบฏp xแบฟp(<code>,sorthref</code>) ฤ‘ฦฐแปฃc ฤ‘ฦฐa vร o URL media. ฤแบทt bแบฑng 0 cลฉng sแบฝ bแป qua cรกc quy tแบฏc sแบฏp xแบฟp trong liรชn kแบฟt media khi nhแบฅp vร o chรบng", + "cdt_ren": "bแบญt menu chuแป™t phแบฃi tรนy chแป‰nh, menu mแบทc ฤ‘แป‹nh vแบซn truy cแบญp ฤ‘ฦฐแปฃc bแบฑng shift + chuแป™t phแบฃi", //m + + "tt_entree": "hiแปƒn thแป‹ thanh ฤ‘iแปu hฦฐแป›ng (cรขy thฦฐ mแปฅc)$NPhรญm tแบฏt: B", + "tt_detree": "hiแปƒn thแป‹ ฤ‘ฦฐแปng dแบซn$NPhรญm tแบฏt: B", + "tt_visdir": "cuแป™n ฤ‘แบฟn thฦฐ mแปฅc ฤ‘รฃ chแปn", + "tt_ftree": "chuyแปƒn ฤ‘แป•i cรขy thฦฐ mแปฅc / tแป‡p vฤƒn bแบฃn$NPhรญm tแบฏt: V", + "tt_pdock": "hiแปƒn thแป‹ thฦฐ mแปฅc cha trong thanh ghim trรชn cรนng", + "tt_dynt": "tแปฑ mแปŸ rแป™ng khi cรขy mแปŸ rแป™ng", + "tt_wrap": "ngแบฏt dรฒng", + "tt_hover": "hiแป‡n thแป‹ dรฒng trร n khi rรช chuแป™t$N( khรดng cuแป™n ฤ‘ฦฐแปฃc nแบฟu $N  con trแป chuแป™t nแบฑm ngoร i cแป™t trรกi )", + + "ml_pmode": "แปŸ cuแป‘i thฦฐ mแปฅc...", + "ml_btns": "lแป‡nh", + "ml_tcode": "mรฃ hoรก lแบกi", + // chแบฏc lร  phแบงn nhแบกc + "ml_tcode2": "mรฃ hoรก lแบกi thร nh", + "ml_tint": "tรด mร u", + "ml_eq": "bแป™ cรขn bแบฑng รขm thanh", + "ml_drc": "bแป™ nรฉn dแบฃi ฤ‘แป™ng", + + // nhแบกc + + "mt_loop": "lแบทp lแบกi mแป™t bร i\">๐Ÿ”", + "mt_one": "dแปซng sau mแป™t bร i\">1๏ธโƒฃ", + "mt_shuf": "trแป™n cรกc bร i trong thฦฐ mแปฅcr\">๐Ÿ”€", + "mt_aplay": "tแปฑ ฤ‘แป™ng phรกt nแบฟu cรณ ID bร i trong link bแบกn nhแบฅp ฤ‘แปƒ truy cแบญp mรกy chแปง$N$Ntแบฏt tuแปณ chแปn sแบฝ ngฤƒn URL cแปงa trang cแบญp nhแบญt theo ID bร i khi phรกt nhแบกc, trรกnh tแปฑ ฤ‘แป™ng phรกt nแบฟu cร i ฤ‘แบทt mแบฅt nhฦฐng URL cรฒn\">aโ–ถ", + "mt_preload": "bแบฏt ฤ‘แบงu tแบฃi bร i hรกt tiแบฟp theo khi gแบงn hแบฟt bร i ฤ‘แปƒ phรกt liแปn mแบกch\">preload", + "mt_prescan": "chuyแปƒn ฤ‘แบฟn thฦฐ mแปฅc tiแบฟp theo trฦฐแป›c khi bร i cuแป‘i cรนng $Nkแบฟt thรบc, giรบp giแปฏ trรฌnh duyแป‡t hoแบกt ฤ‘แป™ng $N vร  khรดng dแปซng phรกt nhแบกc\">nav", + "mt_fullpre": "cแป‘ gแบฏng tแบฃi trฦฐแป›c toร n bแป™ bร i;$Nโœ… bแบญt vแป›i kแบฟt nแป‘i khรดng แป•n ฤ‘แป‹nh,$NโŒ tแบฏt vแป›i kแบฟt nแป‘i chแบญm\">full", + "mt_fau": "trรชn ฤ‘iแป‡n thoแบกi, ngฤƒn nhแบกc dแปซng nแบฟu bร i tiแบฟp theo tแบฃi chแบญm (cรณ thแปƒ gรขy lแป—i hiแปƒn thแป‹ tag nhแบกc)\">โ˜•๏ธ", + "mt_waves": "thanh tiแบฟn trรฌnh bร i hรกt dแบกng sรณng:$Nhiแปƒn thแป‹ biรชn ฤ‘แป™ รขm thanh trong thanh tiแบฟn trรฌnh\">~s", + "mt_npclip": "hiแปƒn thแป‹ nรบt ฤ‘แปƒ sao chรฉp bร i ฤ‘ang phรกt\">/np", + "mt_m3u_c": "hiแปƒn thแป‹ nรบt ฤ‘แปƒ sao chรฉp $Nnhแปฏng bร i ฤ‘รฃ chแปn dฦฐแป›i dแบกng danh sรกch phรกt m3u8\">๐Ÿ“ป", + "mt_octl": "tรญch hแปฃp hแป‡ ฤ‘iแปu hร nh (phรญm tแบฏt media / OSD)\">os-ctl", + "mt_oseek": "cho phรฉp tรฌm kiแบฟm qua tรญch hแปฃp hแป‡ ฤ‘iแปu hร nh$N$Nlฦฐu รฝ: trรชn mแป™t sแป‘ thiแบฟt bแป‹ (iphone), $Nthao tรกc nร y sแบฝ thay thแบฟ nรบt bร i hรกt tiแบฟp theo\">seek", + "mt_oscv": "hiแปƒn thแป‹ bร i album trรชn OSD\">art", + "mt_follow": "giแปฏ bร i ฤ‘ang phรกt trong tแบงm nhรฌn\">๐ŸŽฏ", + "mt_compact": "giao diแป‡n ฤ‘iแปu khiแปƒn thu gแปn\">โŸŽ", + "mt_uncache": "xoรก bแป™ nhแป› ฤ‘แป‡m  (thแปญ nแบฟu trรฌnh duyแป‡t lฦฐu trแปฏ ฤ‘แป‡m $Nmแป™t bแบฃn nhแบกc bแป‹ lแป—i vร  khรดng thแปƒ phรกt)\">uncache", + "mt_mloop": "lแบทp trong thฦฐ mแปฅc ฤ‘ang mแปŸ\">๐Ÿ” loop", + "mt_mnext": "tแบฃi thฦฐ mแปฅc tiแบฟp theo vร  tiแบฟp tแปฅc\">๐Ÿ“‚ next", + "mt_mstop": "dแปซng phรกt\">โธ stop", + "mt_cflac": "chuyแปƒn flac / wav sang {0}\">flac", + "mt_caac": "chuyแปƒn aac / m4a sang {0}\">aac", + "mt_coth": "chuyแปƒn mแปi loแบกi khรกc (trแปซ mp3) thร nh {0}\">oth", + "mt_c2opus": "lแปฑa chแปn tแป‘t nhแบฅt cho mรกy tรญnh, laptop, android\">opus", + "mt_c2owa": "opus-weba, cho iOS 17.5 trแปŸ lรชn\">owa", + "mt_c2caf": "opus-caf, cho iOS 11 ฤ‘แบฟn 17\">caf", + "mt_c2mp3": "dรนng trรชn thiแบฟt bแป‹ cลฉ\">mp3", + "mt_c2flac": "chแบฅt lฦฐแปฃng รขm thanh tแป‘t nhแบฅt, nhฦฐng tแป‡p tแบฃi xuแป‘ng lแป›n\">flac", + "mt_c2wav": "phรกt khรดng nรฉn (tแป‡p cรฒn lแป›n hฦกn nแปฏa)\">wav", + "mt_c2ok": "lแปฑa chแปn hแปฃp lรฝ", + "mt_c2nd": "khรดng phแบฃi ฤ‘แป‹nh dแบกng khuyแบฟn nghแป‹ cho thiแบฟt bแป‹, nhฦฐng hรฃy thแปญ nแบฟu bแบกn muแป‘n", + "mt_c2ng": "thiแบฟt bแป‹ dฦฐแปng nhฦฐ khรดng hแป— trแปฃ ฤ‘แป‹nh dแบกng nร y, nhฦฐng hรฃy thแปญ nแบฟu bแบกn muแป‘n", + "mt_xowa": "cรณ mแป™t vร i lแป—i trรชn iOS ngฤƒn phรกt nแปn vแป›i ฤ‘แป‹nh dแบกng nร y; vui lรฒng dรนng caf hoแบทc mp3", + "mt_tint": "mแปฉc nแปn (0-100) trรชn thanh tiแบฟn trรฌnh", + + "mt_eq": "bแบญt bแป™ cรขn bแบฑng รขm thanh vร  bแป™ tฤƒng รญch;$N$Nboost <code>0  </code> = รขm lฦฐแปฃng chuแบฉn 100% (khรดng chแป‰nh)$N$Nwidth <code>1  </code> = stereo chuแบฉn (khรดng chแป‰nh)$Nwidth <code>0.5</code> = 50% pha trรกi-phแบฃi$Nwidth <code>0  </code> = mono$N$Nboost <code>-0.8</code> & width <code>10</code> = loแบกi bแป lแปi hรกt :^)$N$Nbแบญt EQ giรบp cho album ฤ‘ฦฐแปฃc phรกt liแปn mแบกch khรดng ngแบฏt quรฃng, nรชn giแปฏ cรกc giรก trแป‹ bแบฑng 0 (trแปซ width = 1) nแบฟu bแบกn khรดng muแป‘n thay ฤ‘แป•i รขm thanh gแป‘c", + + "mt_drc": "bแบญt bแป™ nรฉn dแบฃi ฤ‘แป™ng (lร m phแบณng รขm lฦฐแปฃng / brickwaller); cลฉng bแบญt EQ ฤ‘แปƒ cรขn bแบฑng, nรชn ฤ‘แบทt tแบฅt cแบฃ EQ trแปซ 'width' = 0 nแบฟu khรดng muแป‘n$N$Ngiแบฃm รขm thanh trรชn THRESHOLD dB; vแป›i mแป—i RATIO dB vฦฐแปฃt THRESHOLD thรฌ cรณ 1 dB ฤ‘แบงu ra, vรญ dแปฅ tresh -24 vร  ratio 12 => รขm lฦฐแปฃng khรดng vฦฐแปฃt -22 dB, cรณ thแปƒ tฤƒng EQ boost lรชn 0.8 hoแบทc 1.8 vแป›i ATK 0 vร  RLS lแป›n 90 (chแป‰ Firefox; RLS max 1 trรชn browser khรกc)$N$NXem Wikipedia ฤ‘แปƒ hiแปƒu chi tiแบฟt hฦกn", + + "mb_play": "phรกt", + "mm_hashplay": "phรกt bแบฃn nhแบกc nร y?", + "mm_m3u": "bแบฅm Enter/OK ฤ‘แปƒ phรกt\nbแบฅm ESC/Cancel ฤ‘แปƒ chแป‰nh sแปญa", + "mp_breq": "cแบงn firefox 82+ hoแบทc chrome 73+ hoแบทc iOS 15+", + "mm_bload": "ฤ‘ang tแบฃi...", + "mm_bconv": "ฤ‘ang chuyแปƒn ฤ‘แป•i sang {0}, vui lรฒng chแป...", + "mm_opusen": "trรฌnh duyแป‡t khรดng hแป— trแปฃ tแป‡p aac / m4a;\nchuyแปƒn sang ฤ‘แป‹nh dแบกng opus hiแป‡n ฤ‘รฃ ฤ‘ฦฐแปฃc bแบญt", + "mm_playerr": "phรกt lแป—i: ", + "mm_eabrt": "Viแป‡c phรกt nhแบกc ฤ‘รฃ bแป‹ huแปท", + "mm_enet": "Kแบฟt nแป‘i Internet khรดng แป•n ฤ‘แป‹nh", + "mm_edec": "Tแป‡p nร y dฦฐแปng nhฦฐ ฤ‘รฃ bแป‹ hแปng??", + "mm_esupp": "Trรฌnh duyแป‡t cแปงa bแบกn khรดng nhแบญn dแบกng ฤ‘ฦฐแปฃc ฤ‘แป‹nh dแบกng tแป‡p nร y.", + "mm_eunk": "Lแป—i khรดng xรกc ฤ‘แป‹nh", + "mm_e404": "Khรดng thแปƒ phรกt รขm thanh; lแป—i 404: Khรดng tรฌm thแบฅy tแป‡p.", + "mm_e403": "Khรดng thแปƒ phรกt รขm thanh; lแป—i 403: Tแปซ chแป‘i truy cแบญp.\n\nThแปญ nhแบฅn F5 ฤ‘แปƒ tแบฃi lแบกi, cรณ thแปƒ bแบกn ฤ‘รฃ ฤ‘ฤƒng xuแบฅt", + "mm_e500": "Khรดng thแปƒ phรกt รขm thanh; lแป—i 500: Kiแปƒm tra nhแบญt kรฝ mรกy chแปง.", + "mm_e5xx": "Khรดng thแปƒ phรกt รขm thanh; lแป—i mรกy chแปง ", + "mm_nof": "khรดng tรฌm thแบฅy thรชm tแป‡p รขm thanh nร o gแบงn ฤ‘รณ", + "mm_prescan": "ฤang tรฌm bร i nhแบกc tiแบฟp theo ฤ‘แปƒ phรกt...", + "mm_scank": "ฤรฃ tรฌm thแบฅy bร i nhแบกc tiแบฟp theo:", + "mm_uncache": "ฤ‘รฃ xoรก bแป™ nhแป› ฤ‘แป‡m; tแบฅt cแบฃ bร i nhแบกc sแบฝ ฤ‘ฦฐแปฃc tแบฃi lแบกi khi phรกt tiแบฟp", + "mm_hnf": "bร i nhแบกc nร y khรดng cรฒn tแป“n tแบกi nแปฏa", + "im_hnf": "hรฌnh แบฃnh nร y khรดng cรฒn tแป“n tแบกi nแปฏa", + + "f_empty": 'thฦฐ mแปฅc nร y trแป‘ng', + "f_chide": 'แบฉn cแป™t ยซ{0}ยป\n\bแบกn cรณ thแบฟ hiแป‡n lแบกi nรณ trong tuแปณ chแปn cแบฅu hรฌnh', + "f_bigtxt": "tแป‡p nร y nแบทng {0} MiB -- xรกc nhแบญn xem dฦฐแป›i dแบกng vฤƒn bแบฃn?", + "f_bigtxt2": "chแป‰ xem phแบงn cuแป‘i cแปงa tแป‡p? ฤ‘iแปu nร y cลฉng sแบฝ bแบญt theo dรตi, hiแปƒn thแป‹ cรกc dรฒng vฤƒn bแบฃn mแป›i ฤ‘ฦฐแปฃc thรชm vร o theo thแปi gian thแปฑc", + "fbd_more": '
    hiแป‡n {0} cแปงa {1} tแป‡p; hiแป‡n {2} hoแบทc hiแป‡n tแบฅt cแบฃ
    ', + "fbd_all": '
    ฤ‘ang hiแป‡n {0} cแปงa {1} tแป‡p; hiแป‡n tแบฅt cแบฃ
    ', + "f_anota": "chแป‰ {0} trong {1} tแป‡p ฤ‘ฦฐแปฃc chแปn;\nฤ‘แปƒ chแปn toร n bแป™ thฦฐ mแปฅc, trฦฐแป›c tiรชn hรฃy kรฉo xuแป‘ng cuแป‘i", + + "f_dls": 'nhแปฏng ฤ‘ฦฐแปng dแบซn ฤ‘แบฟn tแป‡p trong thฦฐ mแปฅc nร y\nฤ‘รฃ ฤ‘ฦฐแปฃc chuyแปƒn thร nh ฤ‘ฦฐแปng dแบซn tแบฃi trแปฑc tiแบฟp', + + "f_partial": "ฤแปƒ tแบฃi an toร n mแป™t tแป‡p ฤ‘ang ฤ‘ฦฐแปฃc tแบฃi lรชn, hรฃy bแบฅm vร o tแป‡p cรณ cรนng tรชn nhฦฐng *khรดng* cรณ phแบงn mแปŸ rแป™ng .PARTIAL. Hรฃy nhแบฅn CANCEL hoแบทc Escape ฤ‘แปƒ thแปฑc hiแป‡n.\n\nNแบฟu nhแบฅn OK / Enter, cแบฃnh bรกo sแบฝ bแป‹ bแป qua vร  bแบกn sแบฝ tแบฃi tแป‡p tแบกm .PARTIAL thay vร o ฤ‘รณ, gแบงn nhฦฐ chแบฏc chแบฏn dแบซn ฤ‘แบฟn dแปฏ liแป‡u bแป‹ hแปng.", + + "ft_paste": "dรกn {0} mแปฅc$NPhรญm tแบฏt: ctrl-V", + "fr_eperm": "khรดng thแปƒ ฤ‘แป•i tรชn:\nbแบกn khรดng cรณ quyแปn โ€œmoveโ€ trong thฦฐ mแปฅc nร y", + "fd_eperm": "khรดng thแปƒ xรณa:\nbแบกn khรดng cรณ quyแปn โ€œdeleteโ€ trong thฦฐ mแปฅc nร y", + "fc_eperm": "khรดng thแปƒ cแบฏt:\nbแบกn khรดng cรณ quyแปn โ€œmoveโ€ trong thฦฐ mแปฅc nร y", + "fp_eperm": "khรดng thแปƒ dรกn:\nbแบกn khรดng cรณ quyแปn โ€œwriteโ€ trong thฦฐ mแปฅc nร y", + "fr_emore": "hรฃy chแปn รญt nhแบฅt mแป™t mแปฅc ฤ‘แปƒ ฤ‘แป•i tรชn", + "fd_emore": "hรฃy chแปn รญt nhแบฅt mแป™t mแปฅc ฤ‘แปƒ xรณa", + "fc_emore": "hรฃy chแปn รญt nhแบฅt mแป™t mแปฅc ฤ‘แปƒ cแบฏt", + "fcp_emore": "hรฃy chแปn รญt nhแบฅt mแป™t mแปฅc ฤ‘แปƒ sao chรฉp vร o bแบฃng nhแป› tแบกm", + + + "fs_sc": "chia sแบป thฦฐ mแปฅc hiแป‡n tแบกi", + "fs_ss": "chia sแบป cรกc tแป‡p ฤ‘รฃ chแปn", + "fs_just1d": "bแบกn khรดng thแปƒ chแปn nhiแปu hฦกn mแป™t thฦฐ mแปฅc,\nhoแบทc trแป™n tแป‡p vร  thฦฐ mแปฅc trong cรนng mแป™t lแปฑa chแปn", + "fs_abrt": "โŒ hแปงy", + "fs_rand": "๐ŸŽฒ tรชn ngแบซu nhiรชn", + "fs_go": "โœ… tแบกo liรชn kแบฟt chia sแบป", + "fs_name": "tรชn", + "fs_src": "nguแป“n", + "fs_pwd": "mแบญt khแบฉu", + "fs_exp": "hแบฟt hแบกn", + "fs_tmin": "phรบt", + "fs_thrs": "giแป", + "fs_tdays": "ngร y", + "fs_never": "vฤฉnh viแป…n", + "fs_pname": "tรชn liรชn kแบฟt tรนy chแปn; sแบฝ dรนng tรชn ngแบซu nhiรชn nแบฟu ฤ‘แปƒ trแป‘ng", + "fs_tsrc": "tแป‡p hoแบทc thฦฐ mแปฅc cแบงn chia sแบป", + "fs_ppwd": "mแบญt khแบฉu tรนy chแปn", + "fs_w8": "ฤ‘ang tแบกo liรชn kแบฟt chia sแบป...", + "fs_ok": "nhแบฅn Enter/OK ฤ‘แปƒ chรฉp vร o bแบฃng nhแป› tแบกm\nnhแบฅn ESC/Cancel ฤ‘แปƒ ฤ‘รณng", + + "frt_dec": "cรณ thแปƒ sแปญa mแป™t sแป‘ trฦฐแปng hแปฃp tรชn tแป‡p bแป‹ lแป—i\">url-decode", + "frt_rst": "khรดi phแปฅc tรชn gแป‘c\">โ†บ reset", + "frt_abrt": "hแปงy vร  ฤ‘รณng cแปญa sแป• nร y\">โŒ cancel", + "frb_apply": "รP DแปคNG ฤแป”I TรŠN", + "fr_adv": "ฤ‘แป•i tรชn theo lรด / metadata / pattern\">advanced", + "fr_case": "regex phรขn biแป‡t hoa thฦฐแปng\">case", + "fr_win": "tรชn tฦฐฦกng thรญch Windows; thay <>:"\\|?* bแบฑng kรฝ tแปฑ fullwidth tiแบฟng Nhแบญt\">win", + "fr_slash": "thay / bแบฑng kรฝ tแปฑ khรกc ฤ‘แปƒ trรกnh tแบกo thฦฐ mแปฅc mแป›i\">no /", + "fr_re": "regex รกp dแปฅng lรชn tรชn gแป‘c; cรกc nhรณm bแบฏt cรณ thแปƒ ฤ‘ฦฐแปฃc tham chiแบฟu trong trฦฐแปng ฤ‘แป‹nh dแบกng bรชn dฦฐแป›i nhฦฐ <code>(1)</code>, <code>(2)</code> ...", + "fr_fmt": "lแบฅy cแบฃm hแปฉng tแปซ foobar2000:$N<code>(title)</code> ฤ‘ฦฐแปฃc thay bแบฑng tรชn bร i hรกt,$N<code>[(artist) - ](title)</code> bแป qua phแบงn trong ngoแบทc nแบฟu artist trแป‘ng,$N<code>$lpad((tn),2,0)</code> thรชm sแป‘ 0 ฤ‘แปƒ tracknumber ฤ‘แปง 2 chแปฏ sแป‘", + "fr_pdel": "xรณa", + "fr_pnew": "lฦฐu dฦฐแป›i tรชn mแป›i", + "fr_pname": "nhแบญp tรชn cho preset mแป›i", + "fr_aborted": "ฤ‘รฃ hแปงy", + "fr_lold": "tรชn cลฉ", + "fr_lnew": "tรชn mแป›i", + "fr_tags": "tag cแปงa cรกc tแป‡p ฤ‘รฃ chแปn (chแป‰ xem, khรดng chแป‰nh sแปญa):", + "fr_busy": "ฤ‘ang ฤ‘แป•i tรชn {0} mแปฅc...\n\n{1}", + "fr_efail": "ฤ‘แป•i tรชn thแบฅt bแบกi:\n", + "fr_nchg": "{0} tรชn mแป›i ฤ‘รฃ bแป‹ chแป‰nh sแปญa do win vร /hoแบทc no /\n\nTiแบฟp tแปฅc vแป›i cรกc tรชn ฤ‘รฃ chแป‰nh sแปญa?", + + + "fd_ok": "hoร n tแบฅt xoรก", + "fd_err": "xoรก gแบทp lแป—i:\n", + "fd_none": "khรดng xรณa ฤ‘ฦฐแปฃc mแปฅc nร o; cรณ thแปƒ bแป‹ chแบทn bแปŸi cแบฅu hรฌnh mรกy chแปง (xbd)?", + "fd_busy": "ฤ‘ang xรณa {0} mแปฅc...\n\n{1}", + "fd_warn1": "Xร“A {0} mแปฅc nร y?", + "fd_warn2": "Cแบฃnh bรกo cuแป‘i! Khรดng thแปƒ hoร n tรกc. Xรณa?", + + "fc_ok": "ฤ‘รฃ cแบฏt {0} mแปฅc", + "fc_warn": "ฤ‘รฃ cแบฏt {0} mแปฅc\n\nnhฦฐng: chแป‰ tab trรฌnh duyแป‡t nร y cรณ thแปƒ dรกn\n(vรฌ lแปฑa chแปn quรก lแป›n)", + + "fcc_ok": "ฤ‘รฃ sao chรฉp {0} mแปฅc vร o bแบฃng nhแป› tแบกm", + "fcc_warn": "ฤ‘รฃ sao chรฉp {0} mแปฅc vร o bแบฃng nhแป› tแบกm\n\nnhฦฐng: chแป‰ tab trรฌnh duyแป‡t nร y cรณ thแปƒ dรกn\n(vรฌ lแปฑa chแปn quรก lแป›n)", + + "fp_apply": "dรนng cรกc tรชn nร y", + "fp_skip": "bแป qua xung ฤ‘แป™t", //m + "fp_ecut": "hรฃy cแบฏt hoแบทc sao chรฉp mแป™t sแป‘ tแป‡p / thฦฐ mแปฅc trฦฐแป›c khi dรกn / di chuyแปƒn\n\nlฦฐu รฝ: bแบกn cรณ thแปƒ cแบฏt / dรกn giแปฏa cรกc tab trรฌnh duyแป‡t khรกc nhau", + "fp_ename": "{0} mแปฅc khรดng thแปƒ ฤ‘ฦฐแปฃc di chuyแปƒn vร o ฤ‘รขy vรฌ tรชn ฤ‘รฃ tแป“n tแบกi. Hรฃy ฤ‘แบทt tรชn mแป›i bรชn dฦฐแป›i ฤ‘แปƒ tiแบฟp tแปฅc, hoแบทc ฤ‘แปƒ trแป‘ng (\"bแป qua xung ฤ‘แป™t\") ฤ‘แปƒ bแป qua:", //m + "fcp_ename": "{0} mแปฅc khรดng thแปƒ ฤ‘ฦฐแปฃc sao chรฉp vร o ฤ‘รขy vรฌ tรชn ฤ‘รฃ tแป“n tแบกi. Hรฃy ฤ‘แบทt tรชn mแป›i bรชn dฦฐแป›i ฤ‘แปƒ tiแบฟp tแปฅc, hoแบทc ฤ‘แปƒ trแป‘ng (\"bแป qua xung ฤ‘แป™t\") ฤ‘แปƒ bแป qua:", //m + "fp_emore": "vแบซn cรฒn xung ฤ‘แป™t tรชn tแป‡p cแบงn xแปญ lรฝ", + "fp_ok": "di chuyแปƒn OK", + "fcp_ok": "sao chรฉp OK", + "fp_busy": "ฤ‘ang di chuyแปƒn {0} mแปฅc...\n\n{1}", + "fcp_busy": "ฤ‘ang sao chรฉp {0} mแปฅc...\n\n{1}", + "fp_abrt": "ฤ‘ang hแปงy...", + "fp_err": "di chuyแปƒn thแบฅt bแบกi:\n", + "fcp_err": "sao chรฉp thแบฅt bแบกi:\n", + "fp_confirm": "di chuyแปƒn {0} mแปฅc nร y vร o ฤ‘รขy?", + "fcp_confirm": "sao chรฉp {0} mแปฅc nร y vร o ฤ‘รขy?", + "fp_etab": "khรดng ฤ‘แปc ฤ‘ฦฐแปฃc bแบฃng nhแป› tแบกm tแปซ tab trรฌnh duyแป‡t khรกc", + "fp_name": "ฤ‘ang tแบฃi lรชn tแป‡p tแปซ thiแบฟt bแป‹. Hรฃy ฤ‘แบทt tรชn cho tแป‡p:", + "fp_both_m": "
    chแปn thao tรกc ฤ‘แปƒ dรกn
    Enter = Di chuyแปƒn {0} tแป‡p tแปซ ยซ{1}ยป\nESC = Tแบฃi lรชn {2} tแป‡p tแปซ thiแบฟt bแป‹", + "fcp_both_m": "
    chแปn thao tรกc ฤ‘แปƒ dรกn
    Enter = Sao chรฉp {0} tแป‡p tแปซ ยซ{1}ยป\nESC = Tแบฃi lรชn {2} tแป‡p tแปซ thiแบฟt bแป‹", + "fp_both_b": "Di chuyแปƒnTแบฃi lรชn", + "fcp_both_b": "Sao chรฉpTแบฃi lรชn", + + "mk_noname": "hรฃy nhแบญp tรชn vร o รด bรชn trรกi trฦฐแป›c khi thแปฑc hiแป‡n :p", + "nmd_i1": "hรฃy thรชm cแบฃ phแบงn mแปŸ rแป™ng tแป‡p bแบกn muแป‘n, vรญ dแปฅ .md", + "nmd_i2": "bแบกn chแป‰ cรณ thแปƒ tแบกo tแป‡p .md vรฌ bแบกn khรดng cรณ quyแปn xรณa", + + + "tv_load": "ฤang tแบฃi tร i liแป‡u vฤƒn bแบฃn:\n\n{0}\n\n{1}% ({2} / {3} MiB)", + "tv_xe1": "khรดng thแปƒ tแบฃi tแป‡p vฤƒn bแบฃn:\n\nlแป—i ", + "tv_xe2": "404, khรดng tรฌm thแบฅy tแป‡p", + "tv_lst": "danh sรกch cรกc tแป‡p vฤƒn bแบฃn trong", + "tvt_close": "quay lแบกi chแบฟ ฤ‘แป™ xem thฦฐ mแปฅc$NPhรญm tแบฏt: M (hoแบทc Esc)\">โŒ close", + "tvt_dl": "tแบฃi xuแป‘ng tแป‡p nร y$NPhรญm tแบฏt: Y\">๐Ÿ’พ download", + "tvt_prev": "hiแปƒn thแป‹ tร i liแป‡u trฦฐแป›c ฤ‘รณ$NPhรญm tแบฏt: I\">โฌ† prev", + "tvt_next": "hiแปƒn thแป‹ tร i liแป‡u kแบฟ tiแบฟp$NPhรญm tแบฏt: K\">โฌ‡ next", + "tvt_sel": "chแปn tแป‡p   (ฤ‘แปƒ cแบฏt / sao chรฉp / xรณa / ...)$NPhรญm tแบฏt: S\">sel", + "tvt_j": "chuแบฉn hรณa json$NPhรญm tแบฏt: shift-J\">j", + "tvt_edit": "mแปŸ tแป‡p trong trรฌnh soแบกn thแบฃo vฤƒn bแบฃn$NPhรญm tแบฏt: E\">โœ๏ธ edit", + "tvt_tail": "theo dรตi thay ฤ‘แป•i cแปงa tแป‡p; hiแปƒn thแป‹ dรฒng mแป›i theo thแปi gian thแปฑc\">๐Ÿ“ก follow", + "tvt_wrap": "ngแบฏt dรฒng\">โ†ต", + "tvt_atail": "khรณa cuแป™n แปŸ cuแป‘i trang\">โš“", + "tvt_ctail": "giแบฃi mรฃ mร u terminal (ansi escape codes)\">๐ŸŒˆ", + "tvt_ntail": "giแป›i hแบกn scrollback (sแป‘ byte vฤƒn bแบฃn ฤ‘ฦฐแปฃc giแปฏ trong bแป™ nhแป›)", + + + + + "m3u_add1": "ฤ‘รฃ thรชm 1 bร i vร o danh sรกch phรกt m3u", + "m3u_addn": "ฤ‘รฃ thรชm {0} bร i vร o danh sรกch phรกt m3u", + "m3u_clip": "danh sรกch phรกt m3u ฤ‘รฃ ฤ‘ฦฐแปฃc chรฉp vร o bแบฃng nhแป› tแบกm\n\nbแบกn nรชn tแบกo mแป™t tแป‡p vฤƒn bแบฃn mแป›i tรชn bแบฅt kแปณ.m3u rแป“i dรกn nแป™i dung danh sรกch phรกt vร o ฤ‘รณ ฤ‘แปƒ cรณ thแปƒ phรกt ฤ‘ฦฐแปฃc", + + "gt_vau": "khรดng hiแป‡n video, chแป‰ phรกt รขm thanh\">๐ŸŽง", + "gt_msel": "bแบญt chแปn nhiแปu; ctrl-click ฤ‘แปƒ ghi ฤ‘รจ$N$N<em>khi bแบญt: nhแบฅn ฤ‘รบp ฤ‘แปƒ mแปŸ tแป‡p / thฦฐ mแปฅc</em>$N$NPhรญm tแบฏt: S\">multiselect", + "gt_crop": "cแบฏt chรญnh giแปฏa แบฃnh\">crop", + + "gt_3x": "แบฃnh ฤ‘แป™ nรฉt cao\">3x", + "gt_zoom": "zoom", + "gt_chop": "chop", + "gt_sort": "sแบฏp xแบฟp theo", + "gt_name": "tรชn", + "gt_sz": "dung lฦฐแปฃng", + "gt_ts": "ngร y", + "gt_ext": "loแบกi", + "gt_c1": "rรบt ngแบฏn tรชn tแป‡p hฦกn (hiแป‡n รญt hฦกn)", + "gt_c2": "rรบt ngแบฏn tรชn tแป‡p รญt hฦกn (hiแป‡n nhiแปu hฦกn)", + + "sm_w8": "ฤ‘ang tรฌm...", + "sm_prev": "kแบฟt quแบฃ bรชn dฦฐแป›i lร  tแปซ lแบงn tรฌm trฦฐแป›c:\n ", + "sl_close": "ฤ‘รณng kแบฟt quแบฃ tรฌm kiแบฟm", + "sl_hits": "hiแปƒn thแป‹ {0} kแบฟt quแบฃ", + "sl_moar": "tแบฃi thรชm", + + "s_sz": "dung lฦฐแปฃng", + "s_dt": "ngร y", + "s_rd": "ฤ‘ฦฐแปng dแบซn", + "s_fn": "tรชn", + "s_ta": "tag", + "s_ua": "up@", + "s_ad": "nรขng cao", + "s_s1": "tแป‘i thiแปƒu MiB", + "s_s2": "tแป‘i ฤ‘a MiB", + "s_d1": "ngร y tแป‘i thiแปƒu (iso8601)", + "s_d2": "ngร y tแป‘i ฤ‘a (iso8601)", + "s_u1": "tแบฃi lรชn sau", + "s_u2": "vร /hoแบทc trฦฐแป›c", + "s_r1": "ฤ‘ฦฐแปng dแบซn chแปฉa   (cรกch nhau bแบฑng dแบฅu cรกch)", + "s_f1": "tรชn chแปฉa   (thรชm -nope ฤ‘แปƒ phแปง ฤ‘แป‹nh)", + "s_t1": "tag chแปฉa   (^=bแบฏt ฤ‘แบงu, kแบฟt thรบc=$)", + "s_a1": "thuแป™c tรญnh metadata cแปฅ thแปƒ", + + + "md_eshow": "khรดng thแปƒ tแบฃi", + "md_off": "[๐Ÿ“œreadme] ฤ‘รฃ tแบฏt trong [โš™๏ธ] -- tร i liแป‡u bแป‹ แบฉn", + + "badreply": "Khรดng thแปƒ phรขn tรญch phแบฃn hแป“i tแปซ mรกy chแปง", + + "xhr403": "403: Access denied\n\nhรฃy thแปญ nhแบฅn F5, cรณ thแปƒ bแบกn ฤ‘รฃ bแป‹ ฤ‘ฤƒng xuแบฅt", + "xhr0": "khรดng rรต (cรณ thแปƒ mแบฅt kแบฟt nแป‘i vแป›i mรกy chแปง hoแบทc mรกy chแปง ฤ‘ang offline)", + "cf_ok": "rแบฅt tiแบฟc, lแป›p bแบฃo vแป‡ DD" + wah + "oS ฤ‘รฃ kรญch hoแบกt\n\nmแปi thแปฉ sแบฝ tiแบฟp tแปฅc sau khoแบฃng 30 giรขy\n\nnแบฟu khรดng cรณ gรฌ xแบฃy ra, hรฃy nhแบฅn F5 ฤ‘แปƒ tแบฃi lแบกi trang", + "tl_xe1": "khรดng thแปƒ liแป‡t kรช thฦฐ mแปฅc con:\n\nlแป—i ", + "tl_xe2": "404: Khรดng tรฌm thแบฅy thฦฐ mแปฅc", + "fl_xe1": "khรดng thแปƒ liแป‡t kรช tแป‡p trong thฦฐ mแปฅc:\n\nlแป—i ", + "fl_xe2": "404: Khรดng tรฌm thแบฅy thฦฐ mแปฅc", + "fd_xe1": "khรดng thแปƒ tแบกo thฦฐ mแปฅc con:\n\nlแป—i ", + "fd_xe2": "404: Khรดng tรฌm thแบฅy thฦฐ mแปฅc cha", + "fsm_xe1": "khรดng thแปƒ gแปญi tin nhแบฏn:\n\nlแป—i ", + "fsm_xe2": "404: Khรดng tรฌm thแบฅy thฦฐ mแปฅc cha", + "fu_xe1": "khรดng tแบฃi ฤ‘ฦฐแปฃc danh sรกch unpost tแปซ mรกy chแปง:\n\nlแป—i ", + "fu_xe2": "404: Khรดng tรฌm thแบฅy tแป‡p??", + + "fz_tar": "file gnu-tar khรดng nรฉn (linux / mac)", + "fz_pax": "file tar ฤ‘แป‹nh dแบกng pax khรดng nรฉn (chแบญm hฦกn)", + "fz_targz": "gnu-tar vแป›i nรฉn gzip mแปฉc 3$N$Nthฦฐแปng rแบฅt chแบญm nรชn$Nhรฃy dรนng tar khรดng nรฉn", + "fz_tarxz": "gnu-tar vแป›i nรฉn xz mแปฉc 1$N$Nthฦฐแปng rแบฅt chแบญm nรชn$Nhรฃy dรนng tar khรดng nรฉn", + "fz_zip8": "zip vแป›i tรชn tแป‡p utf8 (cรณ thแปƒ lแป—i trรชn windows 7 vร  cลฉ hฦกn)", + "fz_zipd": "zip vแป›i tรชn tแป‡p cp437 truyแปn thแป‘ng, dร nh cho phแบงn mแปm rแบฅt cลฉ", + "fz_zipc": "cp437 vแป›i crc32 tรญnh sแป›m,$Ndร nh cho MS-DOS PKZIP v2.04g (thรกng 10/1993)$N(mแบฅt thแปi gian xแปญ lรฝ lรขu hฦกn trฦฐแป›c khi tแบฃi xuแป‘ng bแบฏt ฤ‘แบงu)", + + "un_m1": "bแบกn cรณ thแปƒ xรณa cรกc lแบงn upload gแบงn ฤ‘รขy (hoแบทc hแปงy nhแปฏng mแปฅc chฦฐa hoร n tแบฅt) bรชn dฦฐแป›i", + "un_upd": "lร m mแป›i", + "un_m4": "hoแบทc chia sแบป cรกc tแป‡p hiแปƒn thแป‹ bรชn dฦฐแป›i:", + "un_ulist": "hiแป‡n", + "un_ucopy": "chรฉp", + "un_flt": "bแป™ lแปc tรนy chแปn:  ฤ‘ฦฐแปng dแบซn phแบฃi chแปฉa", + "un_fclr": "xรณa bแป™ lแปc", + "un_derr": "xรณa unpost thแบฅt bแบกi:\n", + "un_f5": "cรณ gรฌ ฤ‘รณ lแป—i rแป“i, hรฃy thแปญ tแบฃi lแบกi trang hoแบทc nhแบฅn F5", + "un_uf5": "xin lแป—i nhฦฐng bแบกn cแบงn tแบฃi lแบกi trang (vรญ dแปฅ nhแบฅn F5 hoแบทc CTRL-R) trฦฐแป›c khi cรณ thแปƒ hแปงy upload nร y", + "un_nou": "cแบฃnh bรกo: mรกy chแปง ฤ‘ang bแบญn nรชn khรดng thแปƒ hiแปƒn thแป‹ cรกc upload chฦฐa hoร n tแบฅt; hรฃy bแบฅm โ€œlร m mแป›iโ€ sau mแป™t lรบc", + "un_noc": "cแบฃnh bรกo: unpost cho cรกc tแป‡p ฤ‘รฃ upload xong khรดng ฤ‘ฦฐแปฃc bแบญt hoแบทc khรดng ฤ‘ฦฐแปฃc phรฉp trong cแบฅu hรฌnh mรกy chแปง", + "un_max": "ฤ‘ang hiแปƒn thแป‹ 2000 tแป‡p ฤ‘แบงu tiรชn (hรฃy dรนng bแป™ lแปc)", + "un_avail": "cรณ thแปƒ xรณa {0} tแบฃi lรชn gแบงn ฤ‘รขy
    {1} mแปฅc chฦฐa hoร n tแบฅt cรณ thแปƒ hแปงy", + "un_m2": "sแบฏp xแบฟp theo thแปi gian tแบฃi lรชn; mแป›i nhแบฅt แปŸ trรชn:", + "un_no1": "khรดng cรณ tแบฃi lรชn nร o ฤ‘แปง mแป›i", + "un_no2": "khรดng cรณ tแบฃi lรชn nร o ฤ‘แปง mแป›i khแป›p vแป›i bแป™ lแปc ฤ‘รณ", + "un_next": "xรณa {0} tแป‡p kแบฟ bรชn dฦฐแป›i", + "un_abrt": "hแปงy", + "un_del": "xรณa", + "un_m3": "ฤ‘ang tแบฃi danh sรกch tแบฃi lรชn gแบงn ฤ‘รขy...", + "un_busy": "ฤ‘ang xรณa {0} tแป‡p...", + "un_clip": "{0} liรชn kแบฟt ฤ‘รฃ chรฉp vร o bแบฃng nhแป› tแบกm", + + + "u_https1": "bแบกn nรชn", + "u_https2": "chuyแปƒn sang https", + "u_https3": "ฤ‘แปƒ cรณ hiแป‡u suแบฅt tแป‘t hฦกn", + + "u_ancient": "trรฌnh duyแป‡t cแปงa bแบกn quรก cลฉ; bแบกn cรณ thแปƒ dรนng bup thay thแบฟ", + "u_nowork": "cแบงn Firefox 53+, Chrome 57+ hoแบทc iOS 11+", + "tail_2old": "cแบงn Firefox 105+, Chrome 71+ hoแบทc iOS 14.5+", + "u_nodrop": "trรฌnh duyแป‡t cแปงa bแบกn quรก cลฉ ฤ‘แปƒ dรนng kรฉo thแบฃ khi tแบฃi lรชn", + "u_notdir": "ฤ‘รขy khรดng phแบฃi thฦฐ mแปฅc\n\ntrรฌnh duyแป‡t cแปงa bแบกn quรก cลฉ,\nvui lรฒng thแปญ dรนng dragdrop", + + "u_uri": "ฤ‘แปƒ kรฉo thแบฃ แบฃnh tแปซ cแปญa sแป• trรฌnh duyแป‡t khรกc,\nvui lรฒng thแบฃ lรชn nรบt tแบฃi lรชn lแป›n", + + "u_enpot": "chuyแปƒn sang giao diแป‡n ฤ‘ฦกn giแบฃn (cรณ thแปƒ tฤƒng tแป‘c ฤ‘แป™ tแบฃi lรชn)", + "u_depot": "chuyแปƒn sang giao diแป‡n ฤ‘แบงy ฤ‘แปง (cรณ thแปƒ giแบฃm tแป‘c ฤ‘แป™ tแบฃi lรชn)", + "u_gotpot": "ฤ‘ang chuyแปƒn sang giao diแป‡n ฤ‘ฦกn giแบฃn ฤ‘แปƒ cแบฃi thiแป‡n tแป‘c ฤ‘แป™ tแบฃi lรชn\n\nbแบกn cรณ thแปƒ ฤ‘แป•i lแบกi bแบฅt kแปณ lรบc nร o", + + "u_pott": "

    tแป‡p:   {0} hoร n tแบฅt,   {1} lแป—i,   {2} ฤ‘ang chแบกy,   {3} chแป

    ", + + "u_ever": "ฤ‘รขy lร  trรฌnh tแบฃi lรชn cฦก bแบฃn; up2k yรชu cแบงu
    Chrome 21 // Firefox 13 // Edge 12 // Opera 12 // Safari 5.1 trแปŸ lรชn", + "u_su2k": "ฤ‘รขy lร  trรฌnh tแบฃi lรชn cฦก bแบฃn; up2k tแป‘t hฦกn", + + "u_uput": "tแป‘i ฦฐu tแป‘c ฤ‘แป™ (bแป qua checksum)", + "u_ewrite": "bแบกn khรดng cรณ quyแปn ghi vร o thฦฐ mแปฅc nร y", + "u_eread": "bแบกn khรดng cรณ quyแปn ฤ‘แปc thฦฐ mแปฅc nร y", + "u_enoi": "tรฌm kiแบฟm tแป‡p chฦฐa ฤ‘ฦฐแปฃc bแบญt trong cแบฅu hรฌnh mรกy chแปง", + "u_enoow": "ghi ฤ‘รจ khรดng khแบฃ dแปฅng; cแบงn quyแปn Xรณa", + + "u_badf": "ฤรฃ bแป qua {0} tแป‡p (trong tแป•ng {1}) cรณ thแปƒ do quyแปn hแป‡ thแป‘ng tแป‡p:\n\n", + "u_blankf": "{0} tแป‡p (trong tแป•ng {1}) trแป‘ng; vแบซn tแบฃi lรชn?\n\n", + "u_applef": "{0} tแป‡p (trong tแป•ng {1}) cรณ thแปƒ khรดng cแบงn thiแบฟt;\nNhแบฅn OK/Enter ฤ‘แปƒ BแปŽ QUA,\nNhแบฅn Cancel/ESC ฤ‘แปƒ giแปฏ lแบกi vร  tแบฃi lรชn:\n\n", + + "u_just1": "\nCรณ thแปƒ sแบฝ hoแบกt ฤ‘แป™ng tแป‘t hฦกn nแบฟu bแบกn chแป‰ chแปn mแป™t tแป‡p", + "u_ff_many": "nแบฟu bแบกn dรนng Linux / macOS / Android thรฌ sแป‘ lฦฐแปฃng tแป‡p nร y cรณ thแปƒ lร m Firefox crash\nnแบฟu xแบฃy ra, vui lรฒng thแปญ lแบกi hoแบทc dรนng Chrome", + + "u_up_life": "Tแป‡p tแบฃi lรชn sแบฝ bแป‹ xรณa khแปi mรกy chแปง\n{0} sau khi hoร n tแบฅt", + "u_asku": "tแบฃi {0} tแป‡p nร y lรชn {1}", + "u_unpt": "bแบกn cรณ thแปƒ hoร n tรกc hoแบทc xรณa lแบงn tแบฃi lรชn nร y bแบฑng biแปƒu tฦฐแปฃng แปŸ gรณc trรชn bรชn trรกi ๐Ÿงฏ", + + "u_bigtab": "sแบฏp hiแปƒn thแป‹ {0} tแป‡p\n\nviแป‡c nร y cรณ thแปƒ lร m trรฌnh duyแป‡t treo, bแบกn cรณ chแบฏc khรดng?", + "u_scan": "ฤang quรฉt tแป‡p...", + "u_dirstuck": "bแป™ lแบทp thฦฐ mแปฅc bแป‹ treo khi truy cแบญp {0} mแปฅc sau; sแบฝ bแป qua:", + "u_etadone": "Hoร n tแบฅt ({0}, {1} tแป‡p)", + "u_etaprep": "(ฤ‘ang chuแบฉn bแป‹ tแบฃi lรชn)", + "u_hashdone": "hash hoร n tแบฅt", + "u_hashing": "hash", + "u_hs": "ฤ‘ang bแบฏt tay...", + "u_started": "tแป‡p ฤ‘ang ฤ‘ฦฐแปฃc tแบฃi lรชn; xem biแปƒu tฦฐแปฃng [๐Ÿš€]", + "u_dupdefer": "bแป‹ trรนng; sแบฝ xแปญ lรฝ sau khi hoร n tแบฅt cรกc tแป‡p khรกc", + + "u_actx": "nhแบฅn vร o dรฒng nร y ฤ‘แปƒ trรกnh giแบฃm hiแป‡u suแบฅt khi chuyแปƒn cแปญa sแป• hoแบทc tab", + "u_fixed": "OK;  ฤ‘รฃ sแปญa ๐Ÿ‘", + + "u_cuerr": "khรดng tแบฃi ฤ‘ฦฐแปฃc phแบงn {0}/{1};\ncรณ thแปƒ khรดng nghiรชm trแปng, tiแบฟp tแปฅc\n\ntแป‡p: {2}", + "u_cuerr2": "mรกy chแปง tแปซ chแป‘i phแบงn tแบฃi {0}/{1};\nsแบฝ thแปญ lแบกi sau\n\ntแป‡p: {2}\n\nlแป—i ", + "u_ehstmp": "sแบฝ thแปญ lแบกi; xem gรณc dฦฐแป›i bรชn phแบฃi", + "u_ehsfin": "mรกy chแปง tแปซ chแป‘i yรชu cแบงu hoร n tแบฅt tแบฃi lรชn; ฤ‘ang thแปญ lแบกi...", + "u_ehssrch": "mรกy chแปง tแปซ chแป‘i yรชu cแบงu tรฌm kiแบฟm; ฤ‘ang thแปญ lแบกi...", + "u_ehsinit": "mรกy chแปง tแปซ chแป‘i yรชu cแบงu bแบฏt ฤ‘แบงu tแบฃi lรชn; ฤ‘ang thแปญ lแบกi...", + "u_eneths": "lแป—i mแบกng khi thแปฑc hiแป‡n bแบฏt tay; ฤ‘ang thแปญ lแบกi...", + "u_enethd": "lแป—i mแบกng khi kiแปƒm tra tแป“n tแบกi mแปฅc tiรชu; ฤ‘ang thแปญ lแบกi...", + "u_cbusy": "chแป mรกy chแปง cho phรฉp tiแบฟp tแปฅc sau sแปฑ cแป‘ mแบกng...", + "u_ehsdf": "mรกy chแปง hแบฟt dung lฦฐแปฃng!\n\nsแบฝ tiแบฟp tแปฅc thแปญ trong trฦฐแปng hแปฃp cรณ ai ฤ‘รณ giแบฃi phรณng dung lฦฐแปฃng", + + "u_emtleak1": "cรณ dแบฅu hiแป‡u cho thแบฅy trรฌnh duyแป‡t cรณ thแปƒ bแป‹ rรฒ rแป‰ bแป™ nhแป›;\nvui lรฒng", + "u_emtleak2": " chuyแปƒn sang https (khuyแบฟn nghแป‹) hoแบทc ", + "u_emtleak3": " ", + "u_emtleakc": "thแปญ cรกch sau:\n
    • nhแบฅn F5 ฤ‘แปƒ tแบฃi lแบกi trang
    • sau ฤ‘รณ tแบฏt nรบt  mt  trong  โš™๏ธ cร i ฤ‘แบทt
    • vร  thแปญ tแบฃi lแบกi
    Tแป‘c ฤ‘แป™ cรณ thแปƒ chแบญm hฦกn mแป™t chรบt\nXin lแป—i vรฌ sแปฑ bแบฅt tiแป‡n\n\nPS: chrome v107 ฤ‘รฃ cรณ bแบฃn sแปญa", + "u_emtleakf": "thแปญ cรกch sau:\n
    • nhแบฅn F5 ฤ‘แปƒ tแบฃi lแบกi trang
    • sau ฤ‘รณ bแบญt ๐Ÿฅ” (potato) trong giao diแป‡n tแบฃi lรชn
    • vร  thแปญ lแบกi
    \nPS: firefox hy vแปng sแบฝ cรณ bแบฃn sแปญa", + + "u_s404": "khรดng tรฌm thแบฅy trรชn mรกy chแปง", + "u_expl": "giแบฃi thรญch", + "u_maxconn": "ฤ‘a sแป‘ trรฌnh duyแป‡t giแป›i hแบกn giรก trแป‹ nร y แปŸ mแปฉc 6, nhฦฐng Firefox cho phรฉp tฤƒng bแบฑng connections-per-server trong about:config", + + "u_tu": "

    CแบขNH BรO: turbo ฤ‘ang bแบญt  client cรณ thแปƒ khรดng nhแบญn diแป‡n vร  tiแบฟp tแปฅc tแบฃi lแบกi tแป‡p chฦฐa hoร n tแบฅt; xem tooltip nรบt turbo

    ", + "u_ts": "

    CแบขNH BรO: turbo ฤ‘ang bแบญt  kแบฟt quแบฃ tรฌm kiแบฟm cรณ thแปƒ khรดng chรญnh xรกc; xem tooltip nรบt turbo

    ", + + "u_turbo_c": "turbo bแป‹ tแบฏt trong cแบฅu hรฌnh mรกy chแปง", + "u_turbo_g": "ฤ‘ang tแบฏt turbo vรฌ bแบกn khรดng cรณ quyแปn liแป‡t kรช thฦฐ mแปฅc trong phรขn vรนng nร y", + + "u_life_cfg": "tแปฑ xรณa sau phรบt (hoแบทc giแป)", + "u_life_est": "tแป‡p sแบฝ bแป‹ xรณa ---", + "u_life_max": "thฦฐ mแปฅc nร y รกp dแปฅng\nthแปi gian tแป“n tแบกi tแป‘i ฤ‘a {0}", + + "u_unp_ok": "cho phรฉp unpost trong {0}", + "u_unp_ng": "khรดng cho phรฉp unpost", + + "ue_ro": "bแบกn chแป‰ cรณ quyแปn ฤ‘แปc thฦฐ mแปฅc nร y\n\n", + "ue_nl": "bแบกn chฦฐa ฤ‘ฤƒng nhแบญp", + "ue_la": "bแบกn ฤ‘ang ฤ‘ฤƒng nhแบญp vแป›i tร i khoแบฃn \"{0}\"", + "ue_sr": "bแบกn ฤ‘ang แปŸ chแบฟ ฤ‘แป™ tรฌm kiแบฟm tแป‡p\n\nhรฃy chuyแปƒn sang chแบฟ ฤ‘แป™ tแบฃi lรชn bแบฑng cรกch nhแบฅn biแปƒu tฦฐแปฃng kรญnh lรบp ๐Ÿ”Ž (bรชn cแบกnh nรบt SEARCH), rแป“i thแปญ lแบกi\n\nxin lแป—i", + "ue_ta": "hรฃy thแปญ tแบฃi lรชn lแบกi; giแป cรณ thแปƒ ฤ‘ฦฐแปฃc", + "ue_ab": "tแป‡p nร y ฤ‘ang ฤ‘ฦฐแปฃc tแบฃi lรชn แปŸ thฦฐ mแปฅc khรกc vร  cแบงn hoร n tแบฅt trฦฐแป›c khi cรณ thแปƒ tแบฃi lรชn nฦกi khรกc.\n\nBแบกn cรณ thแปƒ hแปงy vร  quรชn tiแบฟn trรฌnh ban ฤ‘แบงu bแบฑng biแปƒu tฦฐแปฃng แปŸ gรณc trรชn bรชn trรกi ๐Ÿงฏ", + + "ur_1uo": "OK: tแป‡p ฤ‘รฃ tแบฃi lรชn thร nh cรดng", + "ur_auo": "OK: toร n bแป™ {0} tแป‡p ฤ‘รฃ tแบฃi lรชn thร nh cรดng", + "ur_1so": "OK: ฤ‘รฃ tรฌm thแบฅy tแป‡p trรชn mรกy chแปง", + "ur_aso": "OK: ฤ‘รฃ tรฌm thแบฅy toร n bแป™ {0} tแป‡p trรชn mรกy chแปง", + + "ur_1un": "Tแบฃi lรชn thแบฅt bแบกi", + "ur_aun": "{0} lแบงn tแบฃi lรชn ฤ‘แปu thแบฅt bแบกi", + + "ur_1sn": "KHร”NG tรฌm thแบฅy tแป‡p trรชn mรกy chแปง", + "ur_asn": "{0} tแป‡p KHร”NG tรฌm thแบฅy trรชn mรกy chแปง", + + "ur_um": "Hoร n tแบฅt\n{0} tแบฃi lรชn thร nh cรดng,\n{1} tแบฃi lรชn thแบฅt bแบกi", + "ur_sm": "Hoร n tแบฅt\n{0} tแป‡p tรฌm thแบฅy trรชn mรกy chแปง,\n{1} tแป‡p KHร”NG tรฌm thแบฅy", + + "rc_opn": "mแปŸ", //m + "rc_ply": "phรกt", //m + "rc_pla": "phรกt dฦฐแป›i dแบกng รขm thanh", //m + "rc_txt": "mแปŸ trong trรฌnh xem tแป‡p", //m + "rc_md": "mแปŸ trong trรฌnh soแบกn thแบฃo vฤƒn bแบฃn", //m + "rc_dl": "tแบฃi xuแป‘ng", //m + "rc_zip": "tแบฃi xuแป‘ng dฦฐแป›i dแบกng gรณi nรฉn", //m + "rc_del": "xรณa", //m + "rc_cut": "cแบฏt", //m + "rc_cpy": "sao chรฉp", //m + "rc_pst": "dรกn", //m + "rc_nfo": "thฦฐ mแปฅc mแป›i", //m + "rc_nfi": "tแป‡p mแป›i", //m + "rc_sal": "chแปn tแบฅt cแบฃ", //m + "rc_sin": "ฤ‘แบฃo ngฦฐแปฃc lแปฑa chแปn", //m + + "lang_set": "tแบฃi lแบกi trang ฤ‘แปƒ รกp dแปฅng thay ฤ‘แป•i ngรดn ngแปฏ", + + "splash": { + "a1": "tแบฃi lแบกi", + "b1": "xin chร o khรกch   (bแบกn chฦฐa ฤ‘ฤƒng nhแบญp)", + "c1": "ฤ‘ฤƒng xuแบฅt", + "d1": "ghi lแบกi ngฤƒn xแบฟp", + "d2": "hiแปƒn thแป‹ trแบกng thรกi cแปงa tแบฅt cแบฃ cรกc luแป“ng ฤ‘ang hoแบกt ฤ‘แป™ng", + "e1": "tแบฃi lแบกi cแบฅu hรฌnh", + "e2": "tแบฃi lแบกi cรกc tแป‡p cแบฅu hรฌnh (tร i khoแบฃn/แป• ฤ‘ฤฉa/cแป แป• ฤ‘ฤฉa),$Nvร  quรฉt lแบกi tแบฅt cแบฃ cรกc แป• ฤ‘ฤฉa e2ds$N$Nchรบ รฝ: bแบฅt kแปณ thay ฤ‘แป•i nร o ฤ‘แป‘i vแป›i cร i ฤ‘แบทt toร n cแปฅc$Ncแบงn khแปŸi ฤ‘แป™ng lแบกi hoร n toร n ฤ‘แปƒ cรณ hiแป‡u lแปฑc", + "f1": "bแบกn cรณ thแปƒ duyแป‡t:", + "g1": "bแบกn cรณ thแปƒ tแบฃi lรชn:", + "cc1": "thแปฉ khรกc:", + "h1": "vรด hiแป‡u hoรก k304", + "i1": "bแบญt k304", + "j1": "bแบญt k304 sแบฝ ngแบฏt kแบฟt nแป‘i client cแปงa bแบกn trรชn mแป—i HTTP 304, tรนy chแปn nร y cรณ thแปƒ ngฤƒn mแป™t sแป‘ proxy bแป‹ lแป—i kแบนt (ฤ‘แป™t ngแป™t khรดng tแบฃi ฤ‘ฦฐแปฃc trang), nhฦฐng nรณ cลฉng sแบฝ lร m mแปi thแปฉ chแบญm hฦกn", + "k1": "ฤ‘แบทt lแบกi cร i ฤ‘แบทt client", + "l1": "ฤ‘ฤƒng nhแบญp ฤ‘แปƒ cรณ thรชm:", + "m1": "chร o mแปซng trแปŸ lแบกi,", + "n1": "404 khรดng tรฌm thแบฅy  โ”( ยด -`)โ”Œ", + "o1": 'hoแบทc cรณ thแปƒ bแบกn khรดng cรณ quyแปn truy cแบญp -- thแปญ mแบญt khแบฉu hoแบทc vแป trang chแปง', + "p1": "403 bแป‹ cแบฅm  ~โ”ปโ”โ”ป", + "q1": 'sแปญ dแปฅng mแบญt khแบฉu hoแบทc vแป trang chแปง', + "r1": "vแป trang chแปง", + ".s1": "quรฉt lแบกi", + "t1": "hร nh ฤ‘แป™ng", + "u2": "thแปi gian kแปƒ tแปซ lแบงn ghi mรกy chแปง cuแป‘i cรนng$N( tแบฃi lรชn / ฤ‘แป•i tรชn / ... )$N$N17d = 17 ngร y$N1h23 = 1 giแป 23 phรบt$N4m56 = 4 phรบt 56 giรขy", + "v1": "kแบฟt nแป‘i", + "v2": "sแปญ dแปฅng mรกy chแปง nร y nhฦฐ mแป™t แป• cแปฉng cแปฅc bแป™", + "w1": "chuyแปƒn sang https", + "x1": "ฤ‘แป•i mแบญt khแบฉu", + "y1": "chแป‰nh sแปญa chia sแบป", + "z1": "mแปŸ khรณa chia sแบป nร y:", + "ta1": "ฤ‘iแปn mแบญt khแบฉu mแป›i:", + "ta2": "nhแบญp lแบกi mแบญt khแบฉu mแป›i:", + "ta3": "mแบญt khแบฉu khรดng khแป›p, xin hรฃy thแปญ lแบกi", + "nop": "Lแป–I: Mแบญt khแบฉu khรดng ฤ‘ฦฐแปฃc ฤ‘แปƒ trแป‘ng", //m + "nou": "Lแป–I: Tรชn ngฦฐแปi dรนng vร /hoแบทc mแบญt khแบฉu khรดng ฤ‘ฦฐแปฃc ฤ‘แปƒ trแป‘ng", //m + "aa1": "tแป‡p ฤ‘แบฟn", + "ab1": "vรด hiแป‡u hรณa no304", + "ac1": "bแบญt no304", + "ad1": "bแบญt no304 sแบฝ vรด hiแป‡u hรณa tแบฅt cแบฃ bแป™ nhแป› ฤ‘แป‡m; hรฃy thแปญ tรนy chแปn nร y nแบฟu k304 khรดng ฤ‘แปง. Tรนy chแปn nร y sแบฝ lร m lรฃng phรญ mแป™t lฦฐแปฃng lแป›n lฦฐu lฦฐแปฃng mแบกng!", + "ae1": "tแบฃi xuแป‘ng ฤ‘ang hoแบกt ฤ‘แป™ng:", + "af1": "hiแปƒn thแป‹ cรกc tแป‡p ฤ‘รฃ tแบฃi lรชn gแบงn ฤ‘รขy", + "ag1": "hiแปƒn thแป‹ ngฦฐแปi dรนng IdP ฤ‘รฃ biแบฟt", //m + } +}; diff --git a/copyparty/web/up2k.js b/copyparty/web/up2k.js index a52dd172..1a9f3d67 100644 --- a/copyparty/web/up2k.js +++ b/copyparty/web/up2k.js @@ -1,5 +1,6 @@ "use strict"; +var J_U2K = 1; (function () { var x = sread('nosubtle'); @@ -900,19 +901,19 @@ function up2k_init(subtle) { bcfg_bind(uc, 'upnag', 'upnag', false, set_upnag); bcfg_bind(uc, 'upsfx', 'upsfx', false, set_upsfx); - uc.ow = parseInt(sread('u2ow', ['0', '1', '2']) || u2ow); - uc.owt = ['๐Ÿ›ก๏ธ', '๐Ÿ•’', 'โ™ป๏ธ']; + uc.ow = parseInt(sread('u2ow', ['0', '1', '2', '3']) || u2ow); + uc.owt = ['๐Ÿ›ก๏ธ', '๐Ÿ•’', 'โ™ป๏ธ', 'โญ๏ธ']; function set_ow() { QS('label[for="u2ow"]').innerHTML = uc.owt[uc.ow]; ebi('u2ow').checked = true; //cosmetic } ebi('u2ow').onclick = function (e) { ev(e); - if (++uc.ow > 2) + if (++uc.ow > 3) uc.ow = 0; swrite('u2ow', uc.ow); set_ow(); - if (uc.ow && !has(perms, 'delete')) + if (uc.ow && uc.ow !== 3 && !has(perms, 'delete')) toast.warn(10, L.u_enoow, 'noow'); else if (toast.tag == 'noow') toast.hide(); @@ -1803,7 +1804,7 @@ function up2k_init(subtle) { while (true) { var now = Date.now(), blocktime = now - r.tact, - was_busy = st.is_busy, + was_busy = !!st.is_busy, is_busy = !!( // gzip take the wheel st.car < st.files.length || st.busy.hash.length || @@ -1999,6 +2000,18 @@ function up2k_init(subtle) { if (pvis.act == 'bz') pvis.changecard('bz'); + + var n = st.files.length - 1, + f = n >= 0 && st.files[n]; + if (f && !f.srch) { + var xhr = new XHR(), + ct = 'application/x-www-form-urlencoded;charset=UTF-8'; + xhr.open('POST', f.purl, true); + xhr.setRequestHeader('Content-Type', ct); + if (xhr.overrideMimeType) + xhr.overrideMimeType('Content-Type', ct); + xhr.send('msg=upload-queue-empty;' + uricom_enc(f.name)); + } } function chill(t) { @@ -2259,11 +2272,17 @@ function up2k_init(subtle) { busy = {}, nbusy = 0, init = 0, + ninit = 0, hashtab = {}, mem = (MOBILE ? 128 : 256) * 1024 * 1024; if (!hws_ok) - init = setTimeout(function() { + init = setInterval(function() { + if (ninit < hws_ok) { + ninit = hws_ok; + return toast.inf(10, 'initializing webworkers ({0}/{1})'.format(hws_ok, hws.length), "iwwt"); + } + clearInterval(init); hws_ng = true; toast.warn(30, 'webworkers failed to start\n\nwill be a bit slower due to\nhashing on main-thread'); apop(st.busy.hash, t); @@ -2313,12 +2332,17 @@ function up2k_init(subtle) { } function onmsg(d) { + if (hws_ng) + return; + d = d.data; var k = d[0]; if (k == "pong") if (++hws_ok == hws.length) { - clearTimeout(init); + clearInterval(init); + if (toast.tag == 'iwwt') + toast.hide(); go_next(); } @@ -2671,8 +2695,6 @@ function up2k_init(subtle) { f2f(spd1, 2), !isNum(spd2) ? '--' : f2f(spd2, 2))); pvis.move(t.n, 'ok'); - if (!pvis.ctr.bz && !pvis.ctr.q) - uptoast(); } else { if (t.t_uploaded) @@ -2706,9 +2728,10 @@ function up2k_init(subtle) { var err_pend = rsp.indexOf('partial upload exists at a different') + 1, err_srcb = rsp.indexOf('source file busy; please try again') + 1, err_plug = rsp.indexOf('upload blocked by x') + 1, - err_dupe = rsp.indexOf('upload rejected, file already exists') + 1; + err_dupe = rsp.indexOf('upload rejected, file already exists') + 1, + err_exists = rsp.indexOf('upload rejected, a file with that name already exists') + 1; - if (err_pend || err_srcb || err_plug || err_dupe) { + if (err_pend || err_srcb || err_plug || err_dupe || err_exists) { err = rsp; ofs = err.indexOf('\n/'); if (ofs !== -1) { @@ -2772,6 +2795,8 @@ function up2k_init(subtle) { req.replace = 'mt'; if (uc.ow == 2) req.replace = true; + if (uc.ow == 3) + req.replace = 'skip'; } xhr.open('POST', t.purl, true); @@ -3427,6 +3452,8 @@ if (QS('#op_up2k.act')) goto_up2k(); apply_perms({ "perms": perms, "frand": frand, "u2ts": u2ts }); +if (ls0) + fileman.render(); (function () { @@ -3438,3 +3465,5 @@ apply_perms({ "perms": perms, "frand": frand, "u2ts": u2ts }); } catch (ex) { } })(); + +J_U2K = 2; diff --git a/copyparty/web/util.js b/copyparty/web/util.js index 7bcc60ad..226d2358 100644 --- a/copyparty/web/util.js +++ b/copyparty/web/util.js @@ -1,5 +1,7 @@ "use strict"; +var J_UTL = 1; + if (!window.console || !console.log) window.console = { "log": function (msg) { } @@ -296,6 +298,10 @@ function ignex(all) { window.onerror = vis_exh; +if (!window.Ls || !window.langmod) + var Ls = {}; + + function noop() { } @@ -590,6 +596,19 @@ function yscroll() { } return 0; } +function xscroll() { + if (document.documentElement.scrollLeft) { + return (window.xscroll = function () { + return document.documentElement.scrollLeft; + })(); + } + if (window.pageXOffset) { + return (window.xscroll = function () { + return window.pageXOffset; + })(); + } + return 0; +} function showsort(tab) { @@ -960,15 +979,95 @@ function f2f(val, nd) { } +var HSZ_U = ['B', 'KB', 'MB', 'GB', 'TB', 'PB']; function humansize(b, terse) { - var i = 0, u = ['B', 'KB', 'MB', 'GB', 'TB', 'PB']; - while (b >= 1000 && i < u.length - 1) { - b /= 1024; - i += 1; - } + var i = 0; + while (b >= 1000 && i < 5) { b /= 1024; i += 1; } return (f2f(b, b >= 100 ? 0 : b >= 10 ? 1 : 2) + - ' ' + (terse ? u[i].charAt(0) : u[i])); + ' ' + (terse ? HSZ_U[i].charAt(0) : HSZ_U[i])); } +function humansize_su(b) { + var i = 0; + while (b >= 1000 && i < 5) { b /= 1024; i += 1; } + return [b, HSZ_U[i]]; +} +function humansize_0(b) { + return '' + b; +} +function humansize_1(b) { + return ('' + b).replace(/\B(?=(\d{3})+(?!\d))/g, " "); +} +function humansize_2g(b) { + var z = humansize_su(b), u = z[1].charAt(0); b = z[0]; + return [f2f(b, b >= 100 ? 0 : b >= 10 ? 1 : 2) + ' ' + u, u]; +} +function humansize_3g(b) { + var z = humansize_su(b), u = z[1].charAt(0); b = z[0]; + return [f2f(b, b >= 10 ? 0 : 1) + ' ' + u, u]; +} +function humansize_4g(b) { + var z = humansize_su(b), u = z[1]; b = z[0]; + return [parseFloat(b.toFixed(b >= 100 ? 0 : b >= 10 ? 1 : 2)) + ' ' + u, u.charAt(0)]; +} +function humansize_5g(b) { + var z = humansize_su(b), u = z[1]; b = z[0]; + return [parseFloat(b.toFixed(b >= 10 ? 0 : 1)) + ' ' + u, u.charAt(0)]; +} +function humansize_2(b) { + return humansize_2g(b)[0]; +} +function humansize_3(b) { + return humansize_3g(b)[0]; +} +function humansize_4(b) { + return humansize_4g(b)[0]; +} +function humansize_5(b) { + return humansize_5g(b)[0]; +} +function humansize_2c(b) { + var v = humansize_2g(b); + return '' + v[0] + ''; +} +function humansize_3c(b) { + var v = humansize_3g(b); + return '' + v[0] + ''; +} +function humansize_4c(b) { + var v = humansize_4g(b); + return '' + v[0] + ''; +} +function humansize_5c(b) { + var v = humansize_5g(b); + return '' + v[0] + ''; +} +function humansize_fuzzy(b) { + if (b <= 0) return "yes"; + if (b <= 80) return "hullkort"; + if (b <= 368640) return "5ยผ DD"; + if (b <= 1474560) return "save icon"; + if (b <= 2880000) return "3ยฝ Extended"; + if (b <= 13107200) return "C90 Tape"; + if (b <= 21000000) return "Floptical"; + if (b <= 33554432) return "MPMan F10"; + if (b <= 50000000) return "creditcardCD"; + if (b <= 100663296) return "Zipdisk"; + if (b <= 170000000) return "MD"; + if (b <= 220200960) return "8cm CD"; + if (b <= 737280000) return "CD-R"; + if (b <= 900000000) return "UMD"; + if (b <= 1300000000) return "GD-ROM"; + if (b <= 4700000000) return "DVD"; + if (b <= 9400000000) return "DVD-DL"; + if (b <= 25025000000) return "BluRei"; + if (b <= 50050000000) return "BD-DL"; + return "LTO"; +} +var humansize_fmts = ['0', '1', '2', '2c', '3', '3c', '4', '4c', '5', '5c', 'fuzzy']; +window.filesizefun = (function () { + var v = sread('fszfmt', humansize_fmts); + return window['humansize_' + (v || window.dfszf)] || humansize_1; +})(); function humantime(v) { @@ -1227,6 +1326,11 @@ function scfg_bind(obj, oname, cname, defval, cb) { return v; } +function setck(v) { + var xhr = new XHR(); + xhr.open('GET', SR + '/?setck=' + v, true); + xhr.send(); +} window.unix2ui = (function () { var v = sread('utctid'); @@ -1398,7 +1502,7 @@ var tt = (function () { var r = { "tt": mknod("div", 'tt'), "th": mknod("div", 'tth'), - "en": true, + "en": !window.notooltips, "el": null, "skip": false, "lvis": 0 @@ -1759,7 +1863,13 @@ var modal = (function () { document.removeEventListener('selectionchange', onselch); document.removeEventListener('focus', onfocus); document.removeEventListener('keydown', onkey); - o.parentNode.removeChild(o); + try { + o.parentNode.removeChild(o); + } + catch (ex) { + if (r.busy) + alert('WARNING: you have a browser-extension which is causing problems'); + } r.busy = false; setTimeout(next, 50); }; @@ -2181,6 +2291,19 @@ function bchrome() { } bchrome(); +var XC_CMSG = { + 502: "bad gateway (server offline)", + 503: "server offline", + 504: "gateway timeout (server busy)", + 529: "gateway timeout (server busy)", + 520: "unknown error from server", + 521: "server offline", + 523: "server offline", + 522: "proxy timeout (server busy)", + 524: "proxy timeout (server busy)", + 598: "proxy timeout (server busy)", + 599: "proxy timeout (server busy)", +}; var cf_cha_t = 0; function xhrchk(xhr, prefix, e404, lvl, tag) { if (xhr.status < 400 && xhr.status >= 200) @@ -2223,5 +2346,10 @@ function xhrchk(xhr, prefix, e404, lvl, tag) { document.body.appendChild(fr); } + if (XC_CMSG[xhr.status] && (errtxt.indexOf(' padoru padoru + + + +โ–€โ–€โ–€โ–€โ–€โ–€โ–€โ–€โ–€โ–€โ–€โ–€โ–€โ–€โ–€โ–€โ–€โ–€โ–€โ–€โ–€โ–€โ–€โ–€โ–€โ–€โ–€โ–€โ–€โ–€โ–€โ–€โ–€โ–€โ–€โ–€โ–€โ–€โ–€โ–€โ–€โ–€โ–€โ–€โ–€โ–€โ–€โ–€โ–€โ–€โ–€โ–€โ–€โ–€ +# 2025-0923-2247 `v1.19.14` Voile, the Magic Library + +## ๐Ÿงช new features + +* #779 add [OPDS](https://opds.io/) support (thx @Scotsguy!) 6dbd9901 + * copyparty can now serve books for [KOReader](https://koreader.rocks/) + * [the mandatory soundtrack](https://www.youtube.com/watch?v=F8Aex6tzH-s) +* #786 add Turkish translation (thx @NandeMD!) 549fe33f +* #808 support reading config-files in UTF8-BOM 5e4ff90b +* make more http-errors return a friendly errortext rather than the scary wall of html 9d066414 + +## ๐Ÿฉน bugfixes + +* #842 could not navpane into webroot if webroot is unmapped 0941fd4e +* upload-resume becomes funky when the OS/network is overloaded to the point where it starts dropping connections left and right -- the issue was reported on discord and I don't have a good way to reproduce it, but these changes may help and/or fix it: + * b136a5b0 panic and drop chunk reservations if client or connection glitches out + * 38df223b also drop reservations if subchunk logic hits an edgecase + +## ๐Ÿ”ง other changes + +* [versus.md](https://github.com/9001/copyparty/blob/hovudstraum/docs/versus.md) tweaks: + * #840 tooltips in the table headers (thx @guano!) e9ca36fa + * #839 sftpgo updates (thx @augustanational!) a053a663 + +## ๐ŸŒ  fun facts + +* this release is identical to v1.19.13 except [the pypi package isn't messed up](https://github.com/9001/copyparty/issues/847) ๐Ÿ‘‰๐Ÿ˜Ž๐Ÿ‘‰ + * as if the 13 wasn't foreshadowing enough + + + +โ–€โ–€โ–€โ–€โ–€โ–€โ–€โ–€โ–€โ–€โ–€โ–€โ–€โ–€โ–€โ–€โ–€โ–€โ–€โ–€โ–€โ–€โ–€โ–€โ–€โ–€โ–€โ–€โ–€โ–€โ–€โ–€โ–€โ–€โ–€โ–€โ–€โ–€โ–€โ–€โ–€โ–€โ–€โ–€โ–€โ–€โ–€โ–€โ–€โ–€โ–€โ–€โ–€โ–€ +# 2025-0921-2211 `v1.19.12` conlangparty + +## ๐Ÿงช new features + +* #787 add Esperanto translation (thx @slashdevslashurandom!) 15d3c2fb +* #802 timezone can be specified for the rotf upload rule (thx @Lehmustus!) 1460fe97 + +## ๐Ÿฉน bugfixes + +* #837 sharing an entire HDD on Windows ([v1.19.9](https://github.com/9001/copyparty/releases/tag/v1.19.9) regression) 6a244320 + * sharing your whole [ใ€Dใƒ‰ใƒฉใ‚คใƒ–ใ€‘](https://www.youtube.com/watch?v=BFfYrxm2t58) is once again possible + * TLNote: `Dใƒ‰ใƒฉใ‚คใƒ–` means "D:\ drive" + * if you can't upgrade, a workaround is global-option `casechk: n` +* `/?ls` on an unmapped root didn't give a sensible response; now it should be okay except it won't have a `cfg` field 8f6194fe + +## ๐Ÿ”ง other changes + +* #836 hide the unpost tab in folders where user has no write-access ca872c40 +* #835 fix webdep buildscript to avoid an edgecase on some platforms (thx @25huizengek1!) 260da2f4 + +## ๐ŸŒ  fun facts + +* the esperanto translation was the final straw; `copyparty-sfx.py` is now 1 MiB large + * `copyparty-en.py` is still a comfy 759 KiB + + + +โ–€โ–€โ–€โ–€โ–€โ–€โ–€โ–€โ–€โ–€โ–€โ–€โ–€โ–€โ–€โ–€โ–€โ–€โ–€โ–€โ–€โ–€โ–€โ–€โ–€โ–€โ–€โ–€โ–€โ–€โ–€โ–€โ–€โ–€โ–€โ–€โ–€โ–€โ–€โ–€โ–€โ–€โ–€โ–€โ–€โ–€โ–€โ–€โ–€โ–€โ–€โ–€โ–€โ–€ +# 2025-0920-1011 `v1.19.11` ftp fix + +## ๐Ÿฉน bugfixes + +* #827 ftp on servers with unmapped root broke in v1.19.9 280815f1 + + + +โ–€โ–€โ–€โ–€โ–€โ–€โ–€โ–€โ–€โ–€โ–€โ–€โ–€โ–€โ–€โ–€โ–€โ–€โ–€โ–€โ–€โ–€โ–€โ–€โ–€โ–€โ–€โ–€โ–€โ–€โ–€โ–€โ–€โ–€โ–€โ–€โ–€โ–€โ–€โ–€โ–€โ–€โ–€โ–€โ–€โ–€โ–€โ–€โ–€โ–€โ–€โ–€โ–€โ–€ +# 2025-0919-2244 `v1.19.10` ramdisk kinshi + +## ๐Ÿงช new features + +* prevent uploading into ramdisks by default 59a01221 538a205c + * safeguard against misconfigured docker containers, where certain parts of the vfs has not been mapped to actual storage, for example `/w/music` is but `/w/` itself isn't + * can be disabled with `wram` (global-option and/or volflag), mainly for ephemeral servers +* #799 nixos: groups can be specified (thx @AnyTimeTraveler!) ee5f3190 +* the logspam from the filesystem indexer can be reduced/disabled 478f1c76 + * new options `scan-st-r`, `scan-pr-r`, `scan-pr-s` + +## ๐Ÿฉน bugfixes + +* #809 medialinks (`#af-badf00d`) would fail on the very first pageload from a new browser 5996a58b +* #806 instructions for running on iOS was bad (thx @GhelloZ!) 35326a6f + +## ๐Ÿ”ง other changes + +* copyparty32.exe is now english-only, to save space 669b1075 +* version info on startup indicates free-threading or not 65591528 +* docs: explain the `daw` option better a043d7cf + + + +โ–€โ–€โ–€โ–€โ–€โ–€โ–€โ–€โ–€โ–€โ–€โ–€โ–€โ–€โ–€โ–€โ–€โ–€โ–€โ–€โ–€โ–€โ–€โ–€โ–€โ–€โ–€โ–€โ–€โ–€โ–€โ–€โ–€โ–€โ–€โ–€โ–€โ–€โ–€โ–€โ–€โ–€โ–€โ–€โ–€โ–€โ–€โ–€โ–€โ–€โ–€โ–€โ–€โ–€ +# 2025-0915-0019 `v1.19.9` case-sensitivity, give or take + +## ๐Ÿงช new features + +* #781 case-sensitive behavior is now simulated on Windows/Macos/Fat32/NTFS 8b66874b + * avoids some of the scary issues associated with case-insensitive filesystems + * unfortunately this is expensive and may be **noticeably slower in large folders;** disable the safeguard with `casechk: n` if you know you don't need it +* #789 case-insensitive search for unicode filenames/paths (thx @km-clay!) e2aa8fc1 ecd18adc + * default-disabled because it is somewhat expensive; enable with global-option `srch-icase` +* [CB-1](https://codeberg.org/9001/copyparty/issues/1) add `--qr-stdout` and `--qr-stderr` to show qr-code even with `-q` d7887f3d + +## ๐Ÿฉน bugfixes + +* #775 the basic-uploader didn't accept empty files 25749b4b +* opt-out from index.html with `?v` did not work as documented 3d09bec1 +* Windows: dedup could get rejected by the filesystem if the origin file had a timestamp from the cambrian era e09f3c9e +* webdav would incorrectly return an error for Depth:0 on an unmapped root 3a2381ff +* markdown-editor would waste another http roundtrip on certain documents 14b7e514 +* `--help` didn't render if terminal was non-UTF8 3f454927 + +## ๐Ÿ”ง other changes + +* #788 fixed a hotkey typo in the imageviewer (thx @tkroo!) 5c1a43c7 +* #778 improved polish translation (thx @daimond113!) 52438bcc +* #798 debian: fixed an issue in the systemd script (thx @Beethoven-n, and congrats on commit number 4000!) dfd9e007 +* media-tag `conductor` is no longer mapped to `circle` (album-artist) 9c9e4057 +* "download-selection-as-zip" now produces a better filename, `sel-FOLDERNAME.zip` instead of `FIRSTFILE.zip` 8f587627 +* detect and warn if IdP volumes are misconfigured in a particular way 83bd1974 + +## ๐ŸŒ  fun facts + +* the themesong of this release is [KO3 - Give it up?](https://www.youtube.com/watch?v=8w_na7HAppU) because that's what the car mechanic got to enjoy when i forgot to unplug the flashdrive before handing in the shitbox for service + + + +โ–€โ–€โ–€โ–€โ–€โ–€โ–€โ–€โ–€โ–€โ–€โ–€โ–€โ–€โ–€โ–€โ–€โ–€โ–€โ–€โ–€โ–€โ–€โ–€โ–€โ–€โ–€โ–€โ–€โ–€โ–€โ–€โ–€โ–€โ–€โ–€โ–€โ–€โ–€โ–€โ–€โ–€โ–€โ–€โ–€โ–€โ–€โ–€โ–€โ–€โ–€โ–€โ–€โ–€ +# 2025-0907-2300 `v1.19.8` SECURITY: fix single-file shares + +## โš ๏ธ ATTN: this release fixes [CVE-2025-58753](https://github.com/9001/copyparty/security/advisories/GHSA-pxvw-4w88-6x95), an issue with shares + +* when a share is created for just one or more files inside a folder, it was possible to access the other files inside that folder by guessing the filenames +* it was not possible to descend into subdirectories in this manner; only the sibling files were accessible +* NOTE: this does NOT affect filekeys; this is specifically regarding the `shr` global-option + +## recent important news + +* [v1.19.8 (2025-09-07)](https://github.com/9001/copyparty/releases/tag/v1.19.8) fixed [CVE-2025-58753](https://github.com/9001/copyparty/security/advisories/GHSA-pxvw-4w88-6x95) (a missing permission-check inside single-file shares) +* [v1.15.0 (2024-09-08)](https://github.com/9001/copyparty/releases/tag/v1.15.0) changed upload deduplication to be default-disabled +* [v1.14.3 (2024-08-30)](https://github.com/9001/copyparty/releases/tag/v1.14.3) fixed a bug that was introduced in v1.13.8 (2024-08-13); this bug could lead to **data loss** -- see the v1.14.3 release-notes for details + +## ๐Ÿงช new features + +* #761 IdP: option to replace the login/logout links and buttons with redirects into an IdP UI 09f22993 +* #726 disk-usage and server-version can be selectively hidden according to user permissions 19a4c453 +* option `--shr-who` / volflag `shr_who` decides who is able to create a share of that volume edafa158 +* #751 nixos: add globalExtraConfig to specify repeatable config parameters (thx @xvrqt!) 09e3018b +* some very small speedups (mainly u2c and ancient python versions) 74821a38 +* #759 #393 total folder size now decreases when files inside are deleted 96b109b0 + * would previously require a reindex to get back on track + +## ๐Ÿฉน bugfixes + +* fix [GHSA-pxvw-4w88-6x95](https://github.com/9001/copyparty/security/advisories/GHSA-pxvw-4w88-6x95) by fencing fileshares to just the shared files e0a92ba7 +* #397 prevent hinting at valid passwords, even if they cannot be used to authenticate with 7a4ee4db +* #747 disable some features if `/tmp` must be used for runtime config e6755aa8 + * the config-folder will now also be created with chmod 700 (accessible by owner only) +* #733 #298 fix hotkeys on non-qwerty keyboard layouts (dvorak etc.) e798a9a5 +* #539 ftp-server: support clients which never does a CWD b0496311 +* ignore the plaintext session-cookie on https; fixes some confusing behavior when switching from https to http c71128fd +* `og-ua` would prevent clients matching the pattern from accessing fullsize files +* `og-ua` was only possible to set globally; the `og_ua` volflag was ignored 422f8f62 +* uds / unix-domain-sockets got wrong permissions when `rm-sck` was used e270fe60 +* #727 macos: support running from config-files 230a1462 +* #539 avoid issues if someone uploads a file with a last-modified timestamp from year -9999999999999 eeb7738b +* using the spacebar to pause a video was jank on chrome bfcb6eac +* block the next-song hotkey while a folder is loading f7e08ed0 +* #748 fix rare js-panic when an action is aborted aaeec11f +* #738 bubbleparty: use /bin/bash (thx @ckastner!) 0469b5a2 + +## ๐Ÿ”ง other changes + +* partyfuse: nice speedup by caching `readdir` too 06d2654b +* partyfuse: explain usage with usernames 1cdb3880 +* connect-page: better examples when usernames enabled 3bdef75e +* docker: fix image annotations ab562382 + +## ๐ŸŒ  fun facts + +* konami's biggest legacy lives on f0caf881 bd6d1f96 + + + +โ–€โ–€โ–€โ–€โ–€โ–€โ–€โ–€โ–€โ–€โ–€โ–€โ–€โ–€โ–€โ–€โ–€โ–€โ–€โ–€โ–€โ–€โ–€โ–€โ–€โ–€โ–€โ–€โ–€โ–€โ–€โ–€โ–€โ–€โ–€โ–€โ–€โ–€โ–€โ–€โ–€โ–€โ–€โ–€โ–€โ–€โ–€โ–€โ–€โ–€โ–€โ–€โ–€โ–€ +# 2025-0828-2014 `v1.19.7` chdir + +## ๐Ÿงช new features + +* new option `chdir` to change the PWD (process working-directory) before volumes are mapped 14555d58 + +## ๐Ÿฉน bugfixes + +* fix using empty folders as statefile storage ([v1.19.6](https://github.com/9001/copyparty/releases/tag/v1.19.6) made this a bit too strict) 0d96786e +* holding I/K to scroll through folders quickly now works better 914686ec + +## ๐Ÿ”ง other changes + +* #717 docker: fix the image repo metadata (thx @EmilyxFox!) 6f087117 +* docker: change `$HOME` to `/state` 01cf20a0 d1f75229 + * and use the new `chdir` option to preserve old config-file semantics 14555d58 + * helps avoid statefiles accidentally landing in `/w` as a consequence of misconfiguration + +## ๐ŸŒ  fun facts + +* this release was made at [RevSpace NL](https://a.ocv.me/pub/g/nerd-stuff/PXL_20250828_202820075.jpg?cache) + + + โ–€โ–€โ–€โ–€โ–€โ–€โ–€โ–€โ–€โ–€โ–€โ–€โ–€โ–€โ–€โ–€โ–€โ–€โ–€โ–€โ–€โ–€โ–€โ–€โ–€โ–€โ–€โ–€โ–€โ–€โ–€โ–€โ–€โ–€โ–€โ–€โ–€โ–€โ–€โ–€โ–€โ–€โ–€โ–€โ–€โ–€โ–€โ–€โ–€โ–€โ–€โ–€โ–€โ–€ # 2025-0827-2038 `v1.19.6` auth-precedence diff --git a/docs/copyparty.d/more-users/david.conf b/docs/copyparty.d/more-users/david.conf new file mode 100644 index 00000000..53a6723e --- /dev/null +++ b/docs/copyparty.d/more-users/david.conf @@ -0,0 +1,8 @@ +[accounts] + david: letmein + +[groups] + friends: david + +# the "friends" group was already created in ../some.conf, +# so we are just adding david into it diff --git a/docs/copyparty.d/more-users/james.conf b/docs/copyparty.d/more-users/james.conf new file mode 100644 index 00000000..7d389514 --- /dev/null +++ b/docs/copyparty.d/more-users/james.conf @@ -0,0 +1,8 @@ +[accounts] + james: metooplease + +[groups] + friends: james + +# the "friends" group was already created in ../some.conf, +# so we are just adding james into it diff --git a/docs/copyparty.d/some.conf b/docs/copyparty.d/some.conf index b43e1bfe..c85cdf93 100644 --- a/docs/copyparty.d/some.conf +++ b/docs/copyparty.d/some.conf @@ -6,7 +6,7 @@ # first declare the accounts just once: [accounts] usr1: passw0rd - usr2: letmein + usr2: touhou [global] i: 127.0.0.1 # listen on 127.0.0.1 only, @@ -31,3 +31,21 @@ # # because another.conf sets the read/write permissions before it # includes sibling.conf which adds the move permission + +# ---------------------------------------------------------------------- + +# we can also create a group here; +[groups] + friends: usr1, usr2 + +# and a volume which the group "friends" can read/write; +[/friends] + /srv/pub/friends + accs: + rw: @friends + +# then we include all the config-files in the folder "more-users", +# which can define more users, and maybe even add them to the "friends" group +# (spoiler: the users "usr1", "usr2", "david", and "james" will have access) + +% more-users/ diff --git a/docs/devnotes.md b/docs/devnotes.md index 5100471a..652b0d33 100644 --- a/docs/devnotes.md +++ b/docs/devnotes.md @@ -15,6 +15,7 @@ * [general](#general) * [event hooks](#event-hooks) - on writing your own [hooks](../README.md#event-hooks) * [hook effects](#hook-effects) - hooks can cause intentional side-effects + * [hook import](#hook-import) - the `I` flag runs the hook inside copyparty * [assumptions](#assumptions) * [mdns](#mdns) * [sfx repack](#sfx-repack) - reduce the size of an sfx by removing features @@ -154,7 +155,11 @@ there is a static salt for all passwords; * method `uPOST` = url-encoded post * `FILE` = conventional HTTP file upload entry (rfc1867 et al, filename in `Content-Disposition`) -authenticate using header `Cookie: cppwd=foo` or url param `&pw=foo` +clients can authenticate in the following ways; the first of these which is not blank will be used: +* url-param `&pw=foo` -- can be disabled with `--pw-urlp=A` (or renamed, if provided value is lowercase) +* then, header `PW: foo` -- can be disabled with `--pw-hdr=A` (or renamed, if provided value is lowercase) +* then, basic-auth -- can be disabled with `--no-bauth` +* then, depending on protocol, header `Cookie: cppwd=foo` on plaintext http, or header `Cookie: cppws=foo` on https ## read @@ -165,6 +170,7 @@ authenticate using header `Cookie: cppwd=foo` or url param `&pw=foo` | GET | `?ls&dots` | list files/folders at URL as JSON, including dotfiles | | GET | `?ls=t` | list files/folders at URL as plaintext | | GET | `?ls=v` | list files/folders at URL, terminal-formatted | +| GET | `?opds` | list files/folders at URL as opds feed, for e-readers | | GET | `?lt` | in listings, use symlink timestamps rather than targets | | GET | `?b` | list files/folders at URL as simplified HTML | | GET | `?tree=.` | list one level of subdirectories inside URL | @@ -198,6 +204,8 @@ authenticate using header `Cookie: cppwd=foo` or url param `&pw=foo` | GET | `?th` | get image/video at URL as thumbnail | | GET | `?th=opus` | convert audio file to 128kbps opus | | GET | `?th=caf` | ...in the iOS-proprietary container | +| GET | `?zls` | get listing of filepaths in zip file at URL | +| GET | `?zget=path` | get specific file from inside a zip file at URL | | method | body | result | |--|--|--| @@ -222,11 +230,13 @@ authenticate using header `Cookie: cppwd=foo` or url param `&pw=foo` | PUT | `?ck=md5` | (binary data) | return md5 instead of sha512 | | PUT | `?gz` | (binary data) | compress with gzip and write into file at URL | | PUT | `?xz` | (binary data) | compress with xz and write into file at URL | +| PUT | `?apnd` | (binary data) | append to existing file | | mPOST | | `f=FILE` | upload `FILE` into the folder at URL | | mPOST | `?j` | `f=FILE` | ...and reply with json | | mPOST | `?ck` | `f=FILE` | ...and disable checksum gen (faster) | | mPOST | `?ck=md5` | `f=FILE` | ...and return md5 instead of sha512 | | mPOST | `?replace` | `f=FILE` | ...and overwrite existing files | +| mPOST | `?apnd` | `f=FILE` | ...and append to existing files | | mPOST | `?media` | `f=FILE` | ...and return medialink (not hotlink) | | mPOST | | `act=mkdir`, `name=foo` | create directory `foo` at URL | | POST | `?delete` | | delete URL recursively | @@ -245,6 +255,7 @@ upload modifiers: | `Accept: json` | `want=json` | return upload info as json; same as `?j` | | `Rand: 4` | `rand=4` | generate random filename with 4 characters | | `Life: 30` | `life=30` | delete file after 30 seconds | +| `Replace: 1` | `replace` | overwrite file if exists | | `CK: no` | `ck` | disable serverside checksum (maybe faster) | | `CK: md5` | `ck=md5` | return md5 checksum instead of sha512 | | `CK: sha1` | `ck=sha1` | return sha1 checksum | @@ -253,7 +264,9 @@ upload modifiers: | `CK: b2s` | `ck=b2s` | return blake2s checksum | * `life` only has an effect if the volume has a lifetime, and the volume lifetime must be greater than the file's - +* `replace` upload-modifier: + * the header `replace: 1` works for both PUT and multipart-post + * the url-param `replace` only works for multipart-post * server behavior of `msg` can be reconfigured with `--urlform` ## admin @@ -306,6 +319,14 @@ a subset of effect types are available for a subset of hook types, to trigger indexing of files `/foo/1.txt` and `/foo/bar/2.txt`, a hook can `print(json.dumps({"idx":{"vp":["/foo/1.txt","/foo/bar/2.txt"]}}))` (and replace "idx" with "del" to delete instead) * note: paths starting with `/` are absolute URLs, but you can also do `../3.txt` relative to the destination folder of each uploaded file +## hook import + +the `I` flag runs the hook inside copyparty, which can be very useful and dangerous: + +* around 140x faster because it doesn't need to launch a new subprocess +* the hook can intentionally (or accidentally) mess with copyparty's internals + * very easy to crash things if not careful + # assumptions @@ -352,15 +373,24 @@ pip install jinja2 strip_hints # MANDATORY pip install argon2-cffi # password hashing pip install pyzmq # send 0mq from hooks pip install mutagen # audio metadata +pip install paramiko # sftp server pip install pyftpdlib # ftp server pip install partftpy # tftp server pip install impacket # smb server -- disable Windows Defender if you REALLY need this on windows pip install Pillow pillow-heif # thumbnails pip install pyvips # faster thumbnails -pip install psutil # better cleanup of stuck metadata parsers on windows +pip install psutil # better cleanup of stuck metadata parsers on windows pip install black==21.12b0 click==8.0.2 bandit pylint flake8 isort mypy # vscode tooling ``` +* on archlinux you can do this: + * `sudo pacman -Sy --needed python-{pip,isort,jinja,argon2-cffi,pyzmq,mutagen,paramiko,pyftpdlib,pillow}` + * then, as user: `python3 -m pip install --user --break-system-packages -U strip_hints black==21.12b0 click==8.0.2` + * for building docker images: `sudo pacman -Sy --needed qemu-user-static{,-binfmt} podman{,-docker} jq` + +* and if you want to run the python 2.7 tests: + * `git clone https://github.com/pyenv/pyenv .pyenv ; cd .pyenv/bin ; env PYTHON_CONFIGURE_OPTS='--enable-optimizations' PYTHON_CFLAGS='-march=native -mtune=native -std=c17' ./pyenv install 2.7.18 -v ; ln -s $HOME/.pyenv/versions/2.7.18/bin/python2 $HOME/bin/` + ## just the sfx @@ -392,6 +422,7 @@ if you are unable to use `build`, you can use the old setuptools approach instea ```bash python3 setup.py install --user setuptools wheel jinja2 python3 setup.py build +python3 setup.py bdist_wheel # you now have a wheel which you can install. or extract and repackage: python3 setup.py install --skip-build --prefix=/usr --root=$HOME/pe/copyparty ``` diff --git a/docs/examples/docker/idp/copyparty.conf b/docs/examples/docker/idp/copyparty.conf index 3e842f02..40ccfba7 100644 --- a/docs/examples/docker/idp/copyparty.conf +++ b/docs/examples/docker/idp/copyparty.conf @@ -50,7 +50,7 @@ [/] # create a volume at "/" (the webroot), which will /w # share /w (the docker data volume) accs: - rw: * # everyone gets read-access, but + r: * # everyone gets read-access, but rwmda: @su # the group "su" gets read-write-move-delete-admin diff --git a/docs/lics.txt b/docs/lics.txt index 6f403418..11b90a69 100644 --- a/docs/lics.txt +++ b/docs/lics.txt @@ -6,15 +6,15 @@ L: MIT https://github.com/pallets/jinja/ C: 2007 Pallets -L: BSD 3-Clause +L: BSD-3-Clause https://github.com/pallets/markupsafe/ C: 2010 Pallets -L: BSD 3-Clause +L: BSD-3-Clause https://github.com/paulc/dnslib/ C: 2010-2017 Paul Chakravarti -L: BSD 2-Clause +L: BSD-2-Clause https://github.com/pydron/ifaddr/ C: 2014 Stefan C. Mueller @@ -36,6 +36,10 @@ https://github.com/ahupp/python-magic/ C: 2001-2014 Adam Hupp L: MIT +https://github.com/fusepy/fusepy +C: 2012 Giorgos Verigakis +L: ISC + --- client-side --- software --- https://github.com/Daninet/hash-wasm/ @@ -50,6 +54,10 @@ https://github.com/feimosi/baguetteBox.js/ C: 2017 Marek Grzybek L: MIT +https://github.com/cure53/DOMPurify/ +C: 2025 Cure53 / Mario Heiderich +L: Apache-2.0 or MPL-2.0 + https://github.com/markedjs/marked/ C: 2018+, MarkedJS C: 2011-2018, Christopher Jeffrey (https://github.com/chjj/) @@ -68,8 +76,8 @@ L: MIT https://github.com/adobe-fonts/source-code-pro/ C: 2010-2019 Adobe -L: SIL OFL 1.1 +L: OFL-1.1 https://github.com/FortAwesome/Font-Awesome/ C: 2022 Fonticons, Inc. -L: SIL OFL 1.1 +L: OFL-1.1 diff --git a/docs/notes.sh b/docs/notes.sh index 9152d4ac..cfb5bbf1 100644 --- a/docs/notes.sh +++ b/docs/notes.sh @@ -339,3 +339,6 @@ mk && t0="$(date)" && for n in {1..40}; do date -s "$(date '+ 1 day')"; systemd- # number of megabytes downloaded since some date awk ` or similar + +| url-param | volflag | what it hides | +| --------- | ------- | ------------- | +| [nombar](https://a.ocv.me/pub/demo/?nombar) | ui_nombar | the menu-bar at the top | +| [noacci](https://a.ocv.me/pub/demo/?noacci) | ui_noacci | permissions-list and logout-button | +| [nosrvi](https://a.ocv.me/pub/demo/?nosrvi) | ui_nosrvi | server-info (name, disk usage) | +| [notree](https://a.ocv.me/pub/demo/?notree) | ui_notree | the navpane sidebar | +| [nonav](https://a.ocv.me/pub/demo/?nonav) | ui_nonav | `notree` + breadcrumbs | +| [nocpla](https://a.ocv.me/pub/demo/?nocpla) | ui_nocpla | link to controlpanel | +| [nolbar](https://a.ocv.me/pub/demo/?nolbar) | ui_nolbar | `nocpla` + "prev/up/next" | +| [noctxb](https://a.ocv.me/pub/demo/?noctxb) | ui_noctxb | tray-toggle / context-buttons | +| [norepl](https://a.ocv.me/pub/demo/?norepl) | ui_norepl | the `ฯ€` repl button | + +can be combined; https://a.ocv.me/pub/demo/?nombar&noacci&nosrvi&nonav&nolbar&noctxb&norepl + +all options can be overruled with url-param `fullui`; https://a.ocv.me/pub/demo/?fullui + + # custom fonts to change the fonts in the web-UI, first save the following text (the default font-config) to a new css file, for example named `customfonts.css` in your webroot: @@ -64,26 +85,18 @@ if you give it the value `@ASDF` it will try to open a file named ASDF and send if the value starts with `%` it will assume a jinja2 template and expand it; the template has access to the `HttpCli` object through a property named `this` as well as everything in `j2a` and the stuff added by `self.j2s`; see [browser.html](https://github.com/9001/copyparty/blob/hovudstraum/copyparty/web/browser.html) for inspiration or look under the hood in [httpcli.py](https://github.com/9001/copyparty/blob/hovudstraum/copyparty/httpcli.py) +there is also `--html-head-s` and volflag `html_head_s` to add a plain static bit of text, possibly in addition to `--html-head` + # translations -add your own translations by using the english or norwegian one from `browser.js` as a template +add your own translations by using [tl.js](https://github.com/9001/copyparty/blob/hovudstraum/scripts/tl.js) as a base, and add a new file in [copyparty/web/tl](https://github.com/9001/copyparty/tree/hovudstraum/copyparty/web/tl) when you're happy with it > โš  Please do not contribute translations to [RTL (Right-to-Left) languages](https://en.wikipedia.org/wiki/Right-to-left_script) for now; the javascript is [not ready](https://github.com/9001/copyparty/blob/hovudstraum/docs/rice/rtl.patch) to deal with it -the easy way is to open up and modify `browser.js` in your own installation; depending on how you installed copyparty it might be named `browser.js.gz` instead, in which case just decompress it, restart copyparty, and start editing it anyways - you will be delighted to see inline html in the translation strings; to help prevent syntax errors, there is [a very jank linux script](https://github.com/9001/copyparty/blob/hovudstraum/scripts/tlcheck.sh) which is slightly better than nothing -- just beware the false-positives, so even if it complains it's not necessarily wrong/bad -if you're running `copyparty-sfx.py` then you'll find it at `/tmp/pe-copyparty.1000/copyparty/web` (on linux) or `%TEMP%\pe-copyparty\copyparty\web` (on windows) -* make sure to keep backups of your work religiously! since that location is volatile af - - -## translations (docker-friendly) - -if editing `browser.js` is inconvenient in your setup, for example if you're running in docker, then you can instead do this: -* if you have python, go to the `scripts` folder and run `./tl.py fra Franรงais` to generate a `tl.js` which is perfect for translating to French, using the three-letter language code `fra` - * if you do not have python, you can also just grab `tl.js` from the scripts folder, but I'll probably forget to keep that up to date... and then you'll have to find/replace all `"eng"` and `Ls.eng` to your three-letter language code +to see your translation taking shape in the copyparty ui as you work on it: * put your `tl.js` inside a folder that is being shared by your copyparty, preferably the webroot * run copyparty with the argument `--html-head=''` * if you placed `tl.js` in the webroot then you're all good, but if you put it somewhere else then change `/tl.js` accordingly @@ -95,6 +108,4 @@ if editing `browser.js` is inconvenient in your setup, for example if you're run you can now edit `tl.js` and press CTRL-SHIFT-R in the browser to see your changes take effect as you go -if you want to contribute your translation back to the project (please do!) then you'll want to... -* grab all of the text inside your `var tl_cpanel = {` and add it to the translations inside `copyparty/web/splash.js` in the repo -* and the text inside your `var tl_browser = {` and add that to the translations inside `copyparty/web/browser.js` in the repo +if you want to contribute your translation back to the project (please do!) then grab most of the text inside your `tl.js` , starting from the line that starts with `Ls.` and put it into a new file inside [the translations folder](https://github.com/9001/copyparty/tree/hovudstraum/copyparty/web/tl) diff --git a/docs/synology-dsm.md b/docs/synology-dsm.md index b9388b53..60e6adcf 100644 --- a/docs/synology-dsm.md +++ b/docs/synology-dsm.md @@ -40,6 +40,7 @@ open the Package Center and install `Text Editor` (by Synology Inc.) to create a rss, daw, ver # some other nice-to-have features #dedup # you may want this, or maybe not hist: /cfg/hist # don't pollute the shared-folder + unlist: ^@eaDir # hide the synology "@eaDir" folders name: synology # shows in the browser, can be anything [accounts] @@ -49,10 +50,6 @@ open the Package Center and install `Text Editor` (by Synology Inc.) to create a /w # the "/w" docker-volume (the shared-folder) accs: A: ed # give Admin to username ed - -# hide the synology system files by creating a hidden volume -[/@eaDir] - /w/@eaDir ``` if you ever change the copyparty config file, then [restart the container](https://ocv.me/copyparty/doc/pics/dsm71-02.png) to make the changes take effect diff --git a/docs/versus.md b/docs/versus.md index 685aa14b..3e520425 100644 --- a/docs/versus.md +++ b/docs/versus.md @@ -85,19 +85,34 @@ currently up to date with [awesome-selfhosted](https://github.com/awesome-selfho the table headers in the matrixes below are the different softwares, with a quick review of each software in the next section the softwares, -* `a` = [copyparty](https://github.com/9001/copyparty) -* `b` = [hfs2](https://github.com/rejetto/hfs2/) ๐Ÿ”ฅ -* `c` = [hfs3](https://rejetto.com/hfs/) -* `d` = [nextcloud](https://github.com/nextcloud/server) -* `e` = [seafile](https://github.com/haiwen/seafile) -* `f` = [rclone](https://github.com/rclone/rclone), specifically `rclone serve webdav .` -* `g` = [dufs](https://github.com/sigoden/dufs) -* `h` = [chibisafe](https://github.com/chibisafe/chibisafe) -* `i` = [kodbox](https://github.com/kalcaddle/kodbox) -* `j` = [filebrowser](https://github.com/filebrowser/filebrowser) -* `k` = [filegator](https://github.com/filegator/filegator) -* `l` = [sftpgo](https://github.com/drakkan/sftpgo) -* `m` = [arozos](https://github.com/tobychui/arozos) + +[a]: https://github.com/9001/copyparty "copyparty" +[b]: https://github.com/rejetto/hfs2/ "hfs2" +[c]: https://rejetto.com/hfs/ "hfs3" +[d]: https://github.com/nextcloud/server "nextcloud" +[e]: https://github.com/haiwen/seafile "seafile" +[f]: https://github.com/rclone/rclone "rclone" +[g]: https://github.com/sigoden/dufs "dufs" +[h]: https://github.com/chibisafe/chibisafe "chibisafe" +[i]: https://github.com/kalcaddle/kodbox "kodbox" +[j]: https://github.com/filebrowser/filebrowser "filebrowser" +[k]: https://github.com/filegator/filegator "filegator" +[l]: https://github.com/drakkan/sftpgo "sftpgo" +[m]: https://github.com/tobychui/arozos "arozos" + +* `a` = [copyparty][a] +* `b` = [hfs2][b] ๐Ÿ”ฅ +* `c` = [hfs3][c] +* `d` = [nextcloud][d] +* `e` = [seafile][e] +* `f` = [rclone][f], specifically `rclone serve webdav .` +* `g` = [dufs][g] +* `h` = [chibisafe][h] +* `i` = [kodbox][i] +* `j` = [filebrowser][j] +* `k` = [filegator][k] +* `l` = [sftpgo][l] +* `m` = [arozos][m] some softwares not in the matrixes, * [updog](#updog) @@ -119,19 +134,21 @@ symbol legend, ## general -| feature / software | a | b | c | d | e | f | g | h | i | j | k | l | m | +| feature / software |[a]|[b]|[c]|[d]|[e]|[f]|[g]|[h]|[i]|[j]|[k]|[l]|[m]| | ----------------------- | - | - | - | - | - | - | - | - | - | - | - | - | - | | intuitive UX | | โ•ฑ | โ–ˆ | โ–ˆ | โ–ˆ | | โ–ˆ | โ–ˆ | โ–ˆ | โ–ˆ | โ–ˆ | โ–ˆ | โ–ˆ | | config GUI | | โ–ˆ | โ–ˆ | โ–ˆ | โ–ˆ | | | โ–ˆ | โ–ˆ | โ–ˆ | | โ–ˆ | โ–ˆ | | good documentation | | | โ–ˆ | โ–ˆ | โ–ˆ | โ–ˆ | โ–ˆ | | | โ–ˆ | โ–ˆ | โ•ฑ | โ•ฑ | | runs on iOS | โ•ฑ | | | | | โ•ฑ | | | | | | | | -| runs on Android | โ–ˆ | | โ–ˆ | | | โ–ˆ | | | | | | | | +| runs on Android | โ–ˆ | | โ–ˆ | | | โ–ˆ | | | | | | โ–ˆ | | | runs on WinXP | โ–ˆ | โ–ˆ | | | | โ–ˆ | | | | | | | | | runs on Windows | โ–ˆ | โ–ˆ | โ–ˆ | โ–ˆ | โ–ˆ | โ–ˆ | โ–ˆ | โ•ฑ | โ–ˆ | โ–ˆ | โ–ˆ | โ–ˆ | โ•ฑ | | runs on Linux | โ–ˆ | โ•ฑ | โ–ˆ | โ–ˆ | โ–ˆ | โ–ˆ | โ–ˆ | โ–ˆ | โ–ˆ | โ–ˆ | โ–ˆ | โ–ˆ | โ–ˆ | | runs on Macos | โ–ˆ | | โ–ˆ | โ–ˆ | โ–ˆ | โ–ˆ | โ–ˆ | โ–ˆ | โ–ˆ | โ–ˆ | โ–ˆ | โ–ˆ | | | runs on FreeBSD | โ–ˆ | | โ–ˆ | โ€ข | โ–ˆ | โ–ˆ | โ–ˆ | โ€ข | โ–ˆ | โ–ˆ | | โ–ˆ | | | runs on Risc-V | โ–ˆ | | | โ–ˆ | โ–ˆ | โ–ˆ | | โ€ข | | โ–ˆ | | | | +| runs on SGI IRIX | โ–ˆ | | | โ€ข | | | | | | | | | | +| runs on aarch64-BE | โ–ˆ | | | โ€ข | | โ€ข | | | | โ€ข | | โ€ข | | | portable binary | โ–ˆ | โ–ˆ | โ–ˆ | | | โ–ˆ | โ–ˆ | | | โ–ˆ | | โ–ˆ | โ–ˆ | | zero setup, just go | โ–ˆ | โ–ˆ | โ–ˆ | | | โ•ฑ | โ–ˆ | | | โ–ˆ | | โ•ฑ | โ–ˆ | | android app | โ•ฑ | | | โ–ˆ | โ–ˆ | | | | | | | | | @@ -143,10 +160,14 @@ symbol legend, * runs on iOS / iPads using [a-Shell](https://holzschu.github.io/a-Shell_iOS/) (pretty good) or [iSH](https://ish.app/) (very slow) but cannot run in the background and is not able to share all of your phone storage (just a separate dedicated folder) * [android app](https://f-droid.org/en/packages/me.ocv.partyup/) is for uploading only * no iOS app but has [shortcuts](https://github.com/9001/copyparty#ios-shortcuts) for easy uploading + * validated on aarch64-BE by [ร˜l Telecom](http://ol-tele.com/) during eth0:2025; [photo1](https://a.ocv.me/pub/g/nerd-stuff/cpp/servers/aallwinner.jpg?cache) and [diploma](https://a.ocv.me/pub/g/nerd-stuff/cpp/servers/be-ready.png?cache) + * validated on [SGI IRIX](https://en.wikipedia.org/wiki/IRIX) ([an O2](https://en.wikipedia.org/wiki/SGI_O2)) by [ร˜l Telecom](http://ol-tele.com/) during 39c3; [photo1](https://a.ocv.me/pub/g/nerd-stuff/cpp/servers/sgi-o2.jpg?cache) and [screenshot](https://a.ocv.me/pub/g/nerd-stuff/cpp/servers/sgi-o2.png?cache) * `b`/hfs2 runs on linux through wine * `f`/rclone must be started with the command `rclone serve webdav .` or similar * `h`/chibisafe has undocumented windows support -* `i`/sftpgo must be launched with a command +* `l`/sftpgo: + * Must be launched with a command + * On Termux, just run `pkg in sftpgo` * `m`/arozos has partial windows support @@ -154,7 +175,7 @@ symbol legend, *the thing that copyparty is actually kinda good at* -| feature / software | a | b | c | d | e | f | g | h | i | j | k | l | m | +| feature / software |[a]|[b]|[c]|[d]|[e]|[f]|[g]|[h]|[i]|[j]|[k]|[l]|[m]| | ----------------------- | - | - | - | - | - | - | - | - | - | - | - | - | - | | download folder as zip | โ–ˆ | โ–ˆ | โ–ˆ | โ–ˆ | โ•ฑ | | โ–ˆ | | โ–ˆ | โ–ˆ | โ•ฑ | โ–ˆ | โ•ฑ | | download folder as tar | โ–ˆ | | | | | | | | | | | | | @@ -218,14 +239,14 @@ symbol legend, ## protocols and client support -| feature / software | a | b | c | d | e | f | g | h | i | j | k | l | m | +| feature / software |[a]|[b]|[c]|[d]|[e]|[f]|[g]|[h]|[i]|[j]|[k]|[l]|[m]| | ----------------------- | - | - | - | - | - | - | - | - | - | - | - | - | - | | serve https | โ–ˆ | | โ–ˆ | โ–ˆ | โ–ˆ | โ–ˆ | โ–ˆ | โ–ˆ | โ–ˆ | โ–ˆ | โ–ˆ | โ–ˆ | โ–ˆ | | serve webdav | โ–ˆ | | | โ–ˆ | โ–ˆ | โ–ˆ | โ–ˆ | | โ–ˆ | | | โ–ˆ | โ–ˆ | | serve ftp (tcp) | โ–ˆ | | | | | โ–ˆ | | | | | | โ–ˆ | โ–ˆ | | serve ftps (tls) | โ–ˆ | | | | | โ–ˆ | | | | | | โ–ˆ | | | serve tftp (udp) | โ–ˆ | | | | | | | | | | | | | -| serve sftp (ssh) | | | | | | โ–ˆ | | | | | | โ–ˆ | โ–ˆ | +| serve sftp (ssh) | โ–ˆ | | | | | โ–ˆ | | | | | | โ–ˆ | โ–ˆ | | serve smb/cifs | โ•ฑ | | | | | โ–ˆ | | | | | | | | | serve dlna | | | | | | โ–ˆ | | | | | | | | | listen on unix-socket | โ–ˆ | | | โ–ˆ | โ–ˆ | | โ–ˆ | โ–ˆ | โ–ˆ | โ–ˆ | โ–ˆ | โ–ˆ | | @@ -249,7 +270,7 @@ symbol legend, ## server configuration -| feature / software | a | b | c | d | e | f | g | h | i | j | k | l | m | +| feature / software |[a]|[b]|[c]|[d]|[e]|[f]|[g]|[h]|[i]|[j]|[k]|[l]|[m]| | ----------------------- | - | - | - | - | - | - | - | - | - | - | - | - | - | | config from cmd args | โ–ˆ | | โ–ˆ | | | โ–ˆ | โ–ˆ | | | โ–ˆ | | โ•ฑ | โ•ฑ | | config files | โ–ˆ | โ–ˆ | โ–ˆ | โ•ฑ | โ•ฑ | โ–ˆ | | โ–ˆ | | โ–ˆ | โ€ข | โ•ฑ | โ•ฑ | @@ -262,7 +283,7 @@ symbol legend, * `folder-rproxy` = reverse-proxying without dedicating an entire (sub)domain, using a subfolder instead * `l`/sftpgo: - * config: users must be added through gui / api calls + * config: user can be added by cmd command in [Portable mode](https://docs.sftpgo.com/2.6/cli/#portable-mode); if not in Portable mode users must be added through gui / api calls * `m`/arozos: * configuration is primarily through GUI * reverse-proxy is not guaranteed to see the correct client IP @@ -270,7 +291,7 @@ symbol legend, ## server capabilities -| feature / software | a | b | c | d | e | f | g | h | i | j | k | l | m | +| feature / software |[a]|[b]|[c]|[d]|[e]|[f]|[g]|[h]|[i]|[j]|[k]|[l]|[m]| | ----------------------- | - | - | - | - | - | - | - | - | - | - | - | - | - | | accounts | โ–ˆ | โ–ˆ | โ–ˆ | โ–ˆ | โ–ˆ | โ–ˆ | โ–ˆ | โ–ˆ | โ–ˆ | โ–ˆ | โ–ˆ | โ–ˆ | โ–ˆ | | per-account chroot | | | | | | | | | | | | โ–ˆ | | @@ -280,7 +301,7 @@ symbol legend, | per-volume permissions | โ–ˆ | โ–ˆ | โ–ˆ | โ–ˆ | โ–ˆ | โ–ˆ | โ–ˆ | | โ–ˆ | โ–ˆ | โ•ฑ | โ–ˆ | โ–ˆ | | per-folder permissions | โ•ฑ | | โ–ˆ | โ–ˆ | โ–ˆ | | โ–ˆ | | โ–ˆ | โ–ˆ | โ•ฑ | โ–ˆ | โ–ˆ | | per-file permissions | | | โ–ˆ | โ–ˆ | โ–ˆ | | โ–ˆ | | โ–ˆ | | | | โ–ˆ | -| per-file passwords | โ–ˆ | | | โ–ˆ | โ–ˆ | | โ–ˆ | | โ–ˆ | | | | โ–ˆ | +| per-file passwords | โ–ˆ | | | โ–ˆ | โ–ˆ | | โ–ˆ | | โ–ˆ | | | โ–ˆ | โ–ˆ | | unmap subfolders | โ–ˆ | | โ–ˆ | | | | โ–ˆ | | | โ–ˆ | โ•ฑ | โ€ข | | | index.html blocks list | โ•ฑ | | | | | | โ–ˆ | | | โ€ข | | | | | write-only folders | โ–ˆ | | โ–ˆ | | โ–ˆ | | | | | | โ–ˆ | โ–ˆ | | @@ -337,23 +358,23 @@ symbol legend, ## client features -| feature / software | a | b | c | d | e | f | g | h | i | j | k | l | m | +| feature / software |[a]|[b]|[c]|[d]|[e]|[f]|[g]|[h]|[i]|[j]|[k]|[l]|[m]| | ---------------------- | - | - | - | - | - | - | - | - | - | - | - | - | - | | single-page app | โ–ˆ | | โ–ˆ | โ–ˆ | โ–ˆ | | | โ–ˆ | โ–ˆ | โ–ˆ | โ–ˆ | | โ–ˆ | | themes | โ–ˆ | โ–ˆ | โ–ˆ | โ–ˆ | | | | | โ–ˆ | | | | | | directory tree nav | โ–ˆ | โ•ฑ | | | โ–ˆ | | | | โ–ˆ | | โ•ฑ | | | -| multi-column sorting | โ–ˆ | | | | | | | | | | | | | +| multi-column sorting | โ–ˆ | | | | | | | | | | | โ–ˆ | | | thumbnails | โ–ˆ | | / | โ•ฑ | โ•ฑ | | | โ–ˆ | โ–ˆ | โ•ฑ | | | โ–ˆ | | โ”— image thumbnails | โ–ˆ | | / | โ–ˆ | โ–ˆ | | | โ–ˆ | โ–ˆ | โ–ˆ | | | โ–ˆ | | โ”— video thumbnails | โ–ˆ | | | โ–ˆ | โ–ˆ | | | | โ–ˆ | | | | โ–ˆ | | โ”— audio spectrograms | โ–ˆ | | | | | | | | | | | | | -| audio player | โ–ˆ | | โ•ฑ | โ–ˆ | โ–ˆ | | | | โ–ˆ | โ•ฑ | | | โ–ˆ | +| audio player | โ–ˆ | | โ•ฑ | โ–ˆ | โ–ˆ | | | | โ–ˆ | โ•ฑ | | โ•ฑ | โ–ˆ | | โ”— gapless playback | โ–ˆ | | | | | | | | โ€ข | | | | | | โ”— audio equalizer | โ–ˆ | | | | | | | | | | | | | | โ”— waveform seekbar | โ–ˆ | | | | | | | | | | | | | | โ”— OS integration | โ–ˆ | | โ–ˆ | | | | | | | | | | | | โ”— transcode to lossy | โ–ˆ | | | | | | | | | | | | | -| video player | โ–ˆ | | โ–ˆ | โ–ˆ | โ–ˆ | | | | โ–ˆ | โ–ˆ | | | โ–ˆ | +| video player | โ–ˆ | | โ–ˆ | โ–ˆ | โ–ˆ | | | | โ–ˆ | โ–ˆ | | โ•ฑ | โ–ˆ | | โ”— video transcoding | | | / | | | | | | โ–ˆ | | | | | | audio BPM detector | โ–ˆ | | | | | | | | | | | | | | audio key detector | โ–ˆ | | | | | | | | | | | | | @@ -366,16 +387,16 @@ symbol legend, | find local file | โ–ˆ | | | | | | | | | | | | | | undo recent uploads | โ–ˆ | | | | | | | | | | | | | | create directories | โ–ˆ | | โ–ˆ | โ–ˆ | โ–ˆ | โ•ฑ | โ–ˆ | โ–ˆ | โ–ˆ | โ–ˆ | โ–ˆ | โ–ˆ | โ–ˆ | -| image viewer | โ–ˆ | | โ–ˆ | โ–ˆ | โ–ˆ | | | | โ–ˆ | โ–ˆ | โ–ˆ | | โ–ˆ | +| image viewer | โ–ˆ | | โ–ˆ | โ–ˆ | โ–ˆ | | | | โ–ˆ | โ–ˆ | โ–ˆ | โ–ˆ | โ–ˆ | | markdown viewer | โ–ˆ | | / | | โ–ˆ | | | | โ–ˆ | โ•ฑ | โ•ฑ | | โ–ˆ | -| markdown editor | โ–ˆ | | | | โ–ˆ | | | | โ–ˆ | โ•ฑ | โ•ฑ | | โ–ˆ | +| markdown editor | โ–ˆ | | | | โ–ˆ | | | | โ–ˆ | โ•ฑ | โ•ฑ | โ•ฑ | โ–ˆ | | readme.md in listing | โ–ˆ | | / | โ–ˆ | | | | | | | | | | | rename files | โ–ˆ | โ–ˆ | โ–ˆ | โ–ˆ | โ–ˆ | โ•ฑ | โ–ˆ | | โ–ˆ | โ–ˆ | โ–ˆ | โ–ˆ | โ–ˆ | | batch rename | โ–ˆ | | | | | | | | โ–ˆ | | | | | | cut / paste files | โ–ˆ | โ–ˆ | โ–ˆ | โ–ˆ | โ–ˆ | | | | โ–ˆ | | | | โ–ˆ | -| move files | โ–ˆ | โ–ˆ | โ–ˆ | โ–ˆ | โ–ˆ | | โ–ˆ | | โ–ˆ | โ–ˆ | โ–ˆ | | โ–ˆ | +| move files | โ–ˆ | โ–ˆ | โ–ˆ | โ–ˆ | โ–ˆ | | โ–ˆ | | โ–ˆ | โ–ˆ | โ–ˆ | โ–ˆ | โ–ˆ | | delete files | โ–ˆ | โ–ˆ | โ–ˆ | โ–ˆ | โ–ˆ | โ•ฑ | โ–ˆ | โ–ˆ | โ–ˆ | โ–ˆ | โ–ˆ | โ–ˆ | โ–ˆ | -| copy files | | | / | | โ–ˆ | | | | โ–ˆ | โ–ˆ | โ–ˆ | | โ–ˆ | +| copy files | | | / | | โ–ˆ | | | | โ–ˆ | โ–ˆ | โ–ˆ | โ–ˆ | โ–ˆ | * `single-page app` = multitasking; possible to continue navigating while uploading * `audio player ยป os-integration` = use the [lockscreen](https://user-images.githubusercontent.com/241032/142711926-0700be6c-3e31-47b3-9928-53722221f722.png) or [media hotkeys](https://user-images.githubusercontent.com/241032/215347492-b4250797-6c90-4e09-9a4c-721edf2fb15c.png) to play/pause, prev/next song @@ -389,11 +410,14 @@ symbol legend, * audio playback does not continue into next song * plaintext viewer/editor * `k`/filegator directory tree is a modal window +* `l`/sftpgo remarks: + * audio/video playback does not continue into next song/video + * plaintext viewer/editor ## integration -| feature / software | a | b | c | d | e | f | g | h | i | j | k | l | m | +| feature / software |[a]|[b]|[c]|[d]|[e]|[f]|[g]|[h]|[i]|[j]|[k]|[l]|[m]| | ----------------------- | - | - | - | - | - | - | - | - | - | - | - | - | - | | OS alert on upload | โ•ฑ | | | | | | | | | โ•ฑ | | โ•ฑ | | | discord | โ•ฑ | | | | | | | | | โ•ฑ | | โ•ฑ | | @@ -614,16 +638,13 @@ symbol legend, * โš ๏ธ across the atlantic, copyparty is 2.5x faster * ๐Ÿ”ต sftp uploads are resumable * โš ๏ธ web UI is very minimal + a bit slow - * โš ๏ธ no thumbnails / image viewer / audio player - * โš ๏ธ basic file manager (no cut/paste/move) + * โš ๏ธ no thumbnails * โš ๏ธ no filesystem indexing / search -* โš ๏ธ doesn't run on phones, tablets * โš ๏ธ no zeroconf (mdns/ssdp) * โš ๏ธ impractical directory URLs * โš ๏ธ AGPL licensed * ๐Ÿ”ต uploading small files is fast; `340` files per sec (copyparty does `670`/sec) -* ๐Ÿ”ต ftp, ftps, webdav -* โœ… sftp server +* ๐Ÿ”ต sftp, ftp, ftps, webdav * โœ… settings gui * โœ… acme (automatic tls certs) * ๐Ÿ’พ relies on caddy/certbot/acme.sh @@ -649,7 +670,6 @@ symbol legend, * โš ๏ธ not self-contained (pulls from jsdelivr) * โš ๏ธ has an audio player, but supports less filetypes * โš ๏ธ limited support for configuring real-ip detection -* โœ… sftp server * โœ… settings gui * โœ… good-looking gui * โœ… an IDE, msoffice viewer, rich host integration, much more diff --git a/flake.nix b/flake.nix index 336642ee..d797ca9c 100644 --- a/flake.nix +++ b/flake.nix @@ -12,7 +12,8 @@ }: { nixosModules.default = ./contrib/nixos/modules/copyparty.nix; - overlays.default = import ./contrib/package/nix/overlay.nix; + overlays.default = final: prev: + (import ./contrib/package/nix/overlay.nix final prev) // { copypartyFlake = self; }; } // flake-utils.lib.eachDefaultSystem ( system: @@ -22,26 +23,26 @@ config = { allowAliases = false; }; - overlays = [ self.overlays.default ]; + overlays = [ + self.overlays.default + ]; }; in { # check that copyparty builds with all optionals turned on - checks.copyparty-full = self.packages.${system}.copyparty.override { - withHashedPasswords = true; - withCertgen = true; - withThumbnails = true; - withFastThumbnails = true; - withMediaProcessing = true; - withBasicAudioMetadata = true; - withZeroMQ = true; - withFTPS = true; - withSMB = true; + checks = { + inherit (pkgs) + copyparty-full + copyparty-unstable-full + ; }; packages = { inherit (pkgs) copyparty + copyparty-full + copyparty-unstable + copyparty-unstable-full ; default = self.packages.${system}.copyparty; }; diff --git a/pyproject.toml b/pyproject.toml index a48e6579..be92cb02 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -2,7 +2,7 @@ name = "copyparty" description = """ Portable file server with accelerated resumable uploads, \ - deduplication, WebDAV, FTP, zeroconf, media indexer, \ + deduplication, WebDAV, SFTP, FTP, zeroconf, media indexer, \ video thumbnails, audio transcoding, and write-only folders""" readme = "README.md" authors = [{ name = "ed", email = "copyparty@ocv.me" }] @@ -47,6 +47,7 @@ classifiers = [ [project.optional-dependencies] all = [ "argon2-cffi", + "paramiko", "partftpy>=0.4.0", "Pillow", "pyftpdlib", @@ -56,6 +57,7 @@ all = [ thumbnails = ["Pillow"] thumbnails2 = ["pyvips"] audiotags = ["mutagen"] +sftp = ["paramiko"] ftpd = ["pyftpdlib"] ftps = ["pyftpdlib", "pyopenssl"] tftpd = ["partftpy>=0.4.0"] @@ -93,7 +95,11 @@ copyparty = [ "web/*.js", "web/*.css", "web/*.html", - "web/a/*.bat", + "web/*.xml", + "web/tl/*.js", + "web/tl/*.gz", + "web/a/*.txt", + "web/a/*.gz", "web/deps/*.gz", "web/deps/*.woff*", ] diff --git a/scripts/deps-docker/Dockerfile b/scripts/deps-docker/Dockerfile index 874fd5c4..6ea7966e 100644 --- a/scripts/deps-docker/Dockerfile +++ b/scripts/deps-docker/Dockerfile @@ -3,7 +3,7 @@ WORKDIR /z ENV ver_asmcrypto=c72492f4a66e17a0e5dd8ad7874de354f3ccdaa5 \ ver_hashwasm=4.12.0 \ ver_marked=4.3.0 \ - ver_dompf=3.2.6 \ + ver_dompf=3.3.1 \ ver_mde=2.18.0 \ ver_codemirror=5.65.18 \ ver_fontawesome=5.13.0 \ @@ -41,25 +41,25 @@ RUN mkdir -p /z/dist/no-pk \ && (mkdir hash-wasm \ && cd hash-wasm \ && unzip ../hash-wasm.zip) \ - && (tar -xf asmcrypto.tgz \ + && (tar --no-same-owner -xf asmcrypto.tgz \ && cd asmcrypto.js-$ver_asmcrypto \ && npm install ) \ - && (tar -xf marked.tgz \ + && (tar --no-same-owner -xf marked.tgz \ && cd marked-$ver_marked \ && npm install \ && npm i grunt uglify-js -g ) \ - && (tar -xf codemirror.tgz \ + && (tar --no-same-owner -xf codemirror.tgz \ && cd codemirror5-$ver_codemirror \ && npm install ) \ - && (tar -xf mde.tgz \ + && (tar --no-same-owner -xf mde.tgz \ && cd easy-markdown-editor* \ && npm install \ && npm i gulp-cli -g ) \ - && tar -xf dompurify.tgz \ - && tar -xf prism.tgz \ - && tar -xf fusepy.tgz \ + && tar --no-same-owner -xf dompurify.tgz \ + && tar --no-same-owner -xf prism.tgz \ + && tar --no-same-owner -xf fusepy.tgz \ && unzip fontawesome.zip \ - && tar -xf zopfli.tgz + && tar --no-same-owner -xf zopfli.tgz COPY busy-mp3.sh /z/ @@ -68,7 +68,7 @@ RUN /z/busy-mp3.sh \ # build fonttools (which needs zopfli) -RUN tar -xf zopfli.tgz \ +RUN tar --no-same-owner -xf zopfli.tgz \ && cd zopfli* \ && cmake \ -DCMAKE_INSTALL_PREFIX=/usr \ diff --git a/scripts/docker/Dockerfile.ac b/scripts/docker/Dockerfile.ac index 54d6fef1..47e8fcca 100644 --- a/scripts/docker/Dockerfile.ac +++ b/scripts/docker/Dockerfile.ac @@ -9,7 +9,8 @@ ENV XDG_CONFIG_HOME=/cfg RUN apk --no-cache add !pyc \ tzdata wget mimalloc2 mimalloc2-insecure \ - py3-jinja2 py3-argon2-cffi py3-pyzmq py3-openssl py3-pillow \ + py3-jinja2 py3-argon2-cffi py3-pyzmq \ + py3-openssl py3-paramiko py3-pillow \ ffmpeg COPY i/dist/copyparty-sfx.py innvikler.sh ./ diff --git a/scripts/docker/Dockerfile.dj b/scripts/docker/Dockerfile.dj index b377537b..4177e815 100644 --- a/scripts/docker/Dockerfile.dj +++ b/scripts/docker/Dockerfile.dj @@ -12,13 +12,14 @@ COPY i/bin/mtag/audio-bpm.py /mtag/ COPY i/bin/mtag/audio-key.py /mtag/ RUN apk add -U !pyc \ tzdata wget mimalloc2 mimalloc2-insecure \ - py3-jinja2 py3-argon2-cffi py3-pyzmq py3-openssl py3-pillow \ + py3-jinja2 py3-argon2-cffi py3-pyzmq \ + py3-openssl py3-paramiko py3-pillow \ py3-pip py3-cffi \ ffmpeg \ py3-magic \ vips-jxl vips-heif vips-poppler vips-magick \ py3-numpy fftw libsndfile \ - vamp-sdk vamp-sdk-libs \ + vamp-sdk vamp-sdk-libs keyfinder-cli \ libraw py3-numpy cython \ && apk add -t .bd \ bash wget gcc g++ make cmake patchelf \ diff --git a/scripts/docker/Dockerfile.im b/scripts/docker/Dockerfile.im index f4f8124d..db94aba8 100644 --- a/scripts/docker/Dockerfile.im +++ b/scripts/docker/Dockerfile.im @@ -9,7 +9,8 @@ ENV XDG_CONFIG_HOME=/cfg RUN apk --no-cache add !pyc \ tzdata wget mimalloc2 mimalloc2-insecure \ - py3-jinja2 py3-argon2-cffi py3-openssl py3-pillow py3-mutagen + py3-jinja2 py3-argon2-cffi \ + py3-openssl py3-paramiko py3-pillow py3-mutagen COPY i/dist/copyparty-sfx.py innvikler.sh ./ ADD base ./base diff --git a/scripts/docker/Dockerfile.iv b/scripts/docker/Dockerfile.iv index 6155b327..79346a81 100644 --- a/scripts/docker/Dockerfile.iv +++ b/scripts/docker/Dockerfile.iv @@ -9,7 +9,8 @@ ENV XDG_CONFIG_HOME=/cfg RUN apk add -U !pyc \ tzdata wget mimalloc2 mimalloc2-insecure \ - py3-jinja2 py3-argon2-cffi py3-pyzmq py3-openssl py3-pillow \ + py3-jinja2 py3-argon2-cffi py3-pyzmq \ + py3-openssl py3-paramiko py3-pillow \ py3-pip py3-cffi \ ffmpeg \ py3-magic \ diff --git a/scripts/docker/README.md b/scripts/docker/README.md index e7ca2a7b..7f4222f7 100644 --- a/scripts/docker/README.md +++ b/scripts/docker/README.md @@ -33,10 +33,11 @@ i'm not very familiar with containers, so let me know if this section could be b the container has the same default config as the sfx and the pypi module, meaning it will listen on port 3923 and share the "current folder" (`/w` inside the container) as read-write for anyone -the recommended way to configure copyparty inside a container is to mount a folder which has one or more [config files](https://github.com/9001/copyparty/blob/hovudstraum/docs/example.conf) inside; `-v /your/config/folder:/cfg` +the recommended way to configure copyparty inside a container is to mount a folder which has one or more [config files](https://github.com/9001/copyparty/blob/hovudstraum/docs/examples/docker/basic-docker-compose/copyparty.conf) inside; `-v /your/config/folder:/cfg` * but you can also provide arguments to the docker command if you prefer that * config files must be named `something.conf` to get picked up +* there are [more extensive config examples](https://github.com/9001/copyparty/blob/hovudstraum/docs/example.conf) but those are not made for docker so the paths are wrong (`/home/ed/Music` should be `/w/something` and so on) also see [docker-specific recommendations](#docker-specific-recommendations) diff --git a/scripts/docker/innvikler.sh b/scripts/docker/innvikler.sh index 75b3ca3d..e79ffde1 100644 --- a/scripts/docker/innvikler.sh +++ b/scripts/docker/innvikler.sh @@ -1,6 +1,19 @@ #!/bin/ash set -ex +tmv() { + touch -r "$1" t + mv t "$1" +} +iawk() { + awk "$1" <"$2" >t + tmv "$2" +} +ised() { + sed -r "$1" <"$2" >t + tmv "$2" +} + # use zlib-ng if available f=/z/base/zlib_ng-0.5.1-cp312-cp312-linux_$(cat /etc/apk/arch).whl [ "$1" != min ] && [ -e $f ] && { @@ -38,8 +51,13 @@ rm -rf \ /tmp/pe-* /z/copyparty-sfx.py \ ensurepip pydoc_data turtle.py turtledemo lib2to3 +cd /usr/lib/python3.*/site-packages/copyparty/ +rm stolen/surrogateescape.py +iawk '/^[^ ]/{s=0}/^if not VENDORED:/{s=1}!s' qrkode.py +iawk '/^[^ ]/{s=0}/^ DNS_VND = False/{s=1;print" raise"}!s' mdns.py + # speedhack -sed -ri 's/os.environ.get\("PRTY_NO_IMPRESO"\)/"1"/' /usr/lib/python3.*/site-packages/copyparty/util.py +ised 's/os.environ.get\("PRTY_NO_IMPRESO"\)/"1"/' util.py # drop bytecode find / -xdev -name __pycache__ -print0 | xargs -0 rm -rf @@ -52,6 +70,12 @@ find -name __pycache__ | grep -E 'ty/web/|/pycpar' | tr '\n' '\0' | xargs -0 rm -rf + + + + +smoketest() { + # two-for-one: # 1) smoketest copyparty even starts # 2) build any bytecode we missed @@ -88,5 +112,95 @@ kill $pid; wait $pid # output from -e2d rm -rf .hist /cfg/copyparty +} + +smoketest + + + + + +[ "$1" == min ] && { + # shrink amd64 from 45.5 to 33.2 MiB + + # libstdc++ is pulled in by libmpdec++ in libmpdec; keep libmpdec.so + cd /usr/lib ; rm -rf \ + libmpdec++.so* \ + libncurses* \ + libpanelw* \ + libreadline* \ + libstdc++.so* \ + -- + + cd /usr/lib/python3.*/lib-dynload/ ; rm -rf \ + *audioop.* \ + _asyncio.* \ + _ctypes_test.* \ + _curses* \ + _test* \ + _xx* \ + ossaudio.* \ + readline.* \ + xx* \ + -- + + # keep http/client for u2c + cd /usr/lib/python3.*/ ; rm -rf \ + site-packages/*.dist-info \ + aifc.py \ + asyncio \ + bdb.py \ + cgi.py \ + config-3.*/Makefile \ + ctypes/macholib \ + dbm \ + difflib.py \ + doctest.py \ + email/_header_value_parser.py \ + html \ + http/cookiejar.* \ + http/server.* \ + imaplib.py \ + importlib/resources \ + mailbox.py \ + nntplib.py \ + pickletools.py \ + pydoc.py \ + smtplib.py \ + statistics.py \ + tomllib \ + unittest \ + urllib/request.* \ + venv \ + wsgiref \ + xml/dom \ + xml/sax \ + xmlrpc \ + -- + + set +x + find -iname '*.pyc' | + grep -viE 'tftpy' | + while IFS= read -r x; do + y="$(printf '%s\n' "$x" | sed -r 's`/__pycache__/([^/]+)\.cpython-312\.pyc$`/\1.py`')" + [ -e "$y" ] || continue + [ "$y" = "$x" ] && continue + rm "$y" + mv "$x" "${y}c" + done + find -iname __pycache__ -print0 | xargs -0 rm -rf -- + rm -rf /a + set -x + + smoketest + + # printf '%s\n' 'FROM localhost/copyparty-min-amd64' 'COPY a /' 'RUN /bin/ash /a' >Dockerfile + # podman rmi localhost/m2 ; podman build --squash-all -t m2 . && podman images && podman run --rm -it localhost/m2 --exit=idx && podman images +} + + + + + # goodbye exec rm innvikler.sh diff --git a/scripts/docker/make.sh b/scripts/docker/make.sh index 13a4a4bb..3535fffa 100755 --- a/scripts/docker/make.sh +++ b/scripts/docker/make.sh @@ -18,6 +18,13 @@ ngs=( dj-{ppc64le,s390x,arm} ) +err= +for x in awk jq podman python3 tar wget ; do + command -v $x >/dev/null && continue + err=1; echo ERROR: missing dependency: $x +done +[ $err ] && exit 1 + for v in "$@"; do [ "$v" = clean ] && clean=1 [ "$v" = hclean ] && hclean=1 @@ -41,7 +48,7 @@ done filt= [ $clean ] && filt='//{print$$3}' -[ $hclean ] && filt='/localhost\/copyparty-|^.*localhost\/alpine-/{print$3}' +[ $hclean ] && filt='/localhost\/(copyparty|alpine)-/{print$3}' [ $purge ] && filt='NR>1{print$3}' [ $filt ] && { [ $purge ] && { @@ -56,7 +63,7 @@ filt= for a in $sarchs; do # arm/v6 podman pull --arch=$a alpine:latest done - + podman images --format "{{.ID}} {{.History}}" | awk '/library\/alpine/{print$1}' | while read id; do @@ -78,6 +85,11 @@ filt= wget https://github.com/9001/copyparty/releases/latest/download/copyparty-sfx.py -O $fp } + # enable arm32 crossbuild from aarch64 (macbook or whatever) + [ $(uname -m) = aarch64 ] && [ ! -e /proc/sys/fs/binfmt_misc/qemu-arm ] && + echo ":qemu-arm:M:0:\x7f\x45\x4c\x46\x01\x01\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x28\x00:\xff\xff\xff\xff\xff\xff\xff\x00\xff\xff\xff\xff\xff\xff\xff\xff\xfe\xff\xff\xff:/usr/bin/qemu-arm-static:F" | + sudo tee >/dev/null /proc/sys/fs/binfmt_misc/register + # kill abandoned builders ps aux | awk '/bin\/qemu-[^-]+-static/{print$2}' | xargs -r kill -9 diff --git a/scripts/genhelp.sh b/scripts/genhelp.sh new file mode 100755 index 00000000..e9d8412e --- /dev/null +++ b/scripts/genhelp.sh @@ -0,0 +1,50 @@ +#!/bin/bash +set -e + +command -v gfind >/dev/null && +command -v gsed >/dev/null && +command -v gsort >/dev/null && { + sed() { gsed "$@"; } +} + +[ -e make-sfx.sh ] || cd scripts +[ -e make-sfx.sh ] && [ -e deps-docker ] || { + echo cd into the scripts folder first + exit 1 +} + +cd ../dist + +kwds='-bind -accounts -auth -auth-ord -flags -handlers -hooks -idp -urlform -exp -ls -dbd -chmod -pwhash -zm' + +html() { + for a in '' $kwds; do + echo "html$a" >&2 + COLUMNS=140 ./copyparty-sfx.py --ansi --help$a 2>/dev/null + printf '\n\n\n%0139d\n\n' + done | aha -b --no-xml | sed -r ' + s/color:black/color:#222/g; + s/color:dimgray\b/color:#606060/g; + s/color:red\b/color:#c75b79/g; + s/color:lime\b/color:#b8e346/g; + s/color:yellow\b/color:#ffa402/g; + s/color:#3333[Ff]{2}\b/color:#02a2ff/g; + s/color:fuchsia\b/color:#f65be3/g; + s/color:aqua\b/color:#3da698/g; + s/color:white\b/color:#fff/g; + s/style="filter:[^;]+/style="/g; + ' | + HLPTXT=CAT python3 ../scripts/help2html.py +} + +txt() { + (for a in '' $kwds; do + echo "txt$a" >&2 + COLUMNS=9001 ./copyparty-sfx.py --help$a 2>/dev/null + printf '\n\n\n%0255d\n\n\n' + done;printf '\n\n\n') | + HLPTXT=CAT ../scripts/help2txt.sh +} + +html +txt diff --git a/scripts/genlic.py b/scripts/genlic.py index 19e64827..781f3c76 100755 --- a/scripts/genlic.py +++ b/scripts/genlic.py @@ -16,6 +16,8 @@ lics = [ "MIT License", "BSD 2-Clause License", "BSD 3-Clause License", + "ISC License", + "Apache License v2.0", "SIL Open Font License v1.1", ] diff --git a/scripts/help2html.py b/scripts/help2html.py index 4803632b..2ddb88be 100755 --- a/scripts/help2html.py +++ b/scripts/help2html.py @@ -1,5 +1,6 @@ #!/usr/bin/env python3 +import os import re import socket import subprocess as sp @@ -21,6 +22,9 @@ def readclip(): "xclip -selection CLIPBOARD -o", "pbpaste", ] + if os.getenv("HLPTXT") == "CAT": + cmds = ["cat"] + for cmd in cmds: try: return sp.check_output(cmd.split()).decode("utf-8") @@ -33,7 +37,12 @@ def cnv(src): hostname = str(socket.gethostname()).split(".")[0] yield '' - yield '' + yield '' skip_sfx = False in_sfx = 0 in_salt = 0 @@ -44,7 +53,7 @@ def cnv(src): while True: ln = next(src) - if ""): ln = "
    " + ln
                 yield ln
    @@ -53,12 +62,14 @@ def cnv(src):
         for ln in src:
             ln = ln.rstrip()
             t = ln
    -        if re.search(r"^]+>copyparty v[0-9]", ln):
    +        if re.search(r"^<(font|span)[^>]+>copyparty v[0-9]", ln):
                 in_sfx = 3
             if in_sfx:
                 in_sfx -= 1
                 if not skip_sfx:
                     yield ln
    +            elif not in_sfx:
    +                yield ""
                 continue
             if '">uuid:' in ln:
                 ln = re.sub(r">uuid:[0-9a-f-]{36}<", ">autogenerated<", ln)
    @@ -98,6 +109,15 @@ def cnv(src):
                 ln = re.sub(r">[0-9]{1,2}\.[0-9]<", ">dynamic<", ln)
                 if t != ln:
                     in_th_ram_max = 0
    +        m = re.search(r"^# (.* help page)(.*)", ln)
    +        if m:
    +            zs1, zs2 = m.groups()
    +            zs3 = zs1.replace(" ", "-")
    +            ln = '

    # %s%s

    ' % (zs3, zs3, zs1, zs2) + m = re.search(r"^ (-{1,2})([^ ,]+)(.*)", ln) + if m: + zs1, zs2, zs3 = m.groups() + ln = ' %s%s%s' % (zs2, zs2, zs1, zs2, zs3) ln = ln.replace(">/home/ed/", ">~/") if ln.startswith("0" * 20): diff --git a/scripts/help2txt.sh b/scripts/help2txt.sh index a046bda3..27aa1216 100755 --- a/scripts/help2txt.sh +++ b/scripts/help2txt.sh @@ -1,7 +1,13 @@ #!/bin/bash set -e -( xsel -ob | sed -r ' +command -v gfind >/dev/null && +command -v gsed >/dev/null && +command -v gsort >/dev/null && { + head() { ghead "$@"; } +} + +( ( HLPTXT=CAT && cat || xsel -ob ) | sed -r ' s`/home/ed/`~/`; s/uuid:[0-9a-f-]{36}/autogenerated/; s/(-salt SALT.*default: )[0-9a-zA-Z/+]{24}\)/\124-character-autogenerated)/; diff --git a/scripts/lics/4.r13 b/scripts/lics/4.r13 index f94a34c6..be7f1c38 100644 --- a/scripts/lics/4.r13 +++ b/scripts/lics/4.r13 @@ -1,39 +1,3 @@ -CERNZOYR +Crezvffvba gb hfr, pbcl, zbqvsl, naq/be qvfgevohgr guvf fbsgjner sbe nal checbfr jvgu be jvgubhg srr vf urerol tenagrq, cebivqrq gung gur nobir pbclevtug abgvpr naq guvf crezvffvba abgvpr nccrne va nyy pbcvrf. -Gur tbnyf bs gur Bcra Sbag Yvprafr (BSY) ner gb fgvzhyngr jbeyqjvqr qrirybczrag bs pbyynobengvir sbag cebwrpgf, gb fhccbeg gur sbag perngvba rssbegf bs npnqrzvp naq yvathvfgvp pbzzhavgvrf, naq gb cebivqr n serr naq bcra senzrjbex va juvpu sbagf znl or funerq naq vzcebirq va cnegarefuvc jvgu bguref. - -Gur BSY nyybjf gur yvprafrq sbagf gb or hfrq, fghqvrq, zbqvsvrq naq erqvfgevohgrq serryl nf ybat nf gurl ner abg fbyq ol gurzfryirf. Gur sbagf, vapyhqvat nal qrevingvir jbexf, pna or ohaqyrq, rzorqqrq, erqvfgevohgrq naq/be fbyq jvgu nal fbsgjner cebivqrq gung nal erfreirq anzrf ner abg hfrq ol qrevingvir jbexf. Gur sbagf naq qrevingvirf, ubjrire, pnaabg or eryrnfrq haqre nal bgure glcr bs yvprafr. Gur erdhverzrag sbe sbagf gb erznva haqre guvf yvprafr qbrf abg nccyl gb nal qbphzrag perngrq hfvat gur sbagf be gurve qrevingvirf. - -QRSVAVGVBAF - -"Sbag Fbsgjner" ersref gb gur frg bs svyrf eryrnfrq ol gur Pbclevtug Ubyqre(f) haqre guvf yvprafr naq pyrneyl znexrq nf fhpu. Guvf znl vapyhqr fbhepr svyrf, ohvyq fpevcgf naq qbphzragngvba. - -"Erfreirq Sbag Anzr" ersref gb nal anzrf fcrpvsvrq nf fhpu nsgre gur pbclevtug fgngrzrag(f). - -"Bevtvany Irefvba" ersref gb gur pbyyrpgvba bs Sbag Fbsgjner pbzcbaragf nf qvfgevohgrq ol gur Pbclevtug Ubyqre(f). - -"Zbqvsvrq Irefvba" ersref gb nal qrevingvir znqr ol nqqvat gb, qryrgvat, be fhofgvghgvat - va cneg be va jubyr - nal bs gur pbzcbaragf bs gur Bevtvany Irefvba, ol punatvat sbezngf be ol cbegvat gur Sbag Fbsgjner gb n arj raivebazrag. - -"Nhgube" ersref gb nal qrfvtare, ratvarre, cebtenzzre, grpuavpny jevgre be bgure crefba jub pbagevohgrq gb gur Sbag Fbsgjner. - -CREZVFFVBA & PBAQVGVBAF - -Crezvffvba vf urerol tenagrq, serr bs punetr, gb nal crefba bognvavat n pbcl bs gur Sbag Fbsgjner, gb hfr, fghql, pbcl, zretr, rzorq, zbqvsl, erqvfgevohgr, naq fryy zbqvsvrq naq hazbqvsvrq pbcvrf bs gur Sbag Fbsgjner, fhowrpg gb gur sbyybjvat pbaqvgvbaf: - -1) Arvgure gur Sbag Fbsgjner abe nal bs vgf vaqvivqhny pbzcbaragf, va Bevtvany be Zbqvsvrq Irefvbaf, znl or fbyq ol vgfrys. - -2) Bevtvany be Zbqvsvrq Irefvbaf bs gur Sbag Fbsgjner znl or ohaqyrq, erqvfgevohgrq naq/be fbyq jvgu nal fbsgjner, cebivqrq gung rnpu pbcl pbagnvaf gur nobir pbclevtug abgvpr naq guvf yvprafr. Gurfr pna or vapyhqrq rvgure nf fgnaq-nybar grkg svyrf, uhzna-ernqnoyr urnqref be va gur nccebcevngr znpuvar-ernqnoyr zrgnqngn svryqf jvguva grkg be ovanel svyrf nf ybat nf gubfr svryqf pna or rnfvyl ivrjrq ol gur hfre. - -3) Ab Zbqvsvrq Irefvba bs gur Sbag Fbsgjner znl hfr gur Erfreirq Sbag Anzr(f) hayrff rkcyvpvg jevggra crezvffvba vf tenagrq ol gur pbeerfcbaqvat Pbclevtug Ubyqre. Guvf erfgevpgvba bayl nccyvrf gb gur cevznel sbag anzr nf cerfragrq gb gur hfref. - -4) Gur anzr(f) bs gur Pbclevtug Ubyqre(f) be gur Nhgube(f) bs gur Sbag Fbsgjner funyy abg or hfrq gb cebzbgr, raqbefr be nqiregvfr nal Zbqvsvrq Irefvba, rkprcg gb npxabjyrqtr gur pbagevohgvba(f) bs gur Pbclevtug Ubyqre(f) naq gur Nhgube(f) be jvgu gurve rkcyvpvg jevggra crezvffvba. - -5) Gur Sbag Fbsgjner, zbqvsvrq be hazbqvsvrq, va cneg be va jubyr, zhfg or qvfgevohgrq ragveryl haqre guvf yvprafr, naq zhfg abg or qvfgevohgrq haqre nal bgure yvprafr. Gur erdhverzrag sbe sbagf gb erznva haqre guvf yvprafr qbrf abg nccyl gb nal qbphzrag perngrq hfvat gur Sbag Fbsgjner. - -GREZVANGVBA - -Guvf yvprafr orpbzrf ahyy naq ibvq vs nal bs gur nobir pbaqvgvbaf ner abg zrg. - -QVFPYNVZRE - -GUR SBAG FBSGJNER VF CEBIVQRQ "NF VF", JVGUBHG JNEENAGL BS NAL XVAQ, RKCERFF BE VZCYVRQ, VAPYHQVAT OHG ABG YVZVGRQ GB NAL JNEENAGVRF BS ZREPUNAGNOVYVGL, SVGARFF SBE N CNEGVPHYNE CHECBFR NAQ ABAVASEVATRZRAG BS PBCLEVTUG, CNGRAG, GENQRZNEX, BE BGURE EVTUG. VA AB RIRAG FUNYY GUR PBCLEVTUG UBYQRE OR YVNOYR SBE NAL PYNVZ, QNZNTRF BE BGURE YVNOVYVGL, VAPYHQVAT NAL TRARENY, FCRPVNY, VAQVERPG, VAPVQRAGNY, BE PBAFRDHRAGVNY QNZNTRF, JURGURE VA NA NPGVBA BS PBAGENPG, GBEG BE BGUREJVFR, NEVFVAT SEBZ, BHG BS GUR HFR BE VANOVYVGL GB HFR GUR SBAG FBSGJNER BE SEBZ BGURE QRNYVATF VA GUR SBAG FBSGJNER. \ No newline at end of file +GUR FBSGJNER VF CEBIVQRQ "NF VF" NAQ VFP QVFPYNVZF NYY JNEENAGVRF JVGU ERTNEQ GB GUVF FBSGJNER VAPYHQVAT NYY VZCYVRQ JNEENAGVRF BS ZREPUNAGNOVYVGL NAQ SVGARFF. VA AB RIRAG FUNYY VFP OR YVNOYR SBE NAL FCRPVNY, QVERPG, VAQVERPG, BE PBAFRDHRAGVNY QNZNTRF BE NAL QNZNTRF JUNGFBRIRE ERFHYGVAT SEBZ YBFF BS HFR, QNGN BE CEBSVGF, JURGURE VA NA NPGVBA BS PBAGENPG, ARTYVTRAPR BE BGURE GBEGVBHF NPGVBA, NEVFVAT BHG BS BE VA PBAARPGVBA JVGU GUR HFR BE CRESBEZNAPR BS GUVF FBSGJNER. \ No newline at end of file diff --git a/scripts/lics/5.r13 b/scripts/lics/5.r13 new file mode 100644 index 00000000..6ba410c7 --- /dev/null +++ b/scripts/lics/5.r13 @@ -0,0 +1,53 @@ +Ncnpur Yvprafr +Irefvba 2.0, Wnahnel 2004 +uggc://jjj.ncnpur.bet/yvprafrf/ + +GREZF NAQ PBAQVGVBAF SBE HFR, ERCEBQHPGVBA, NAQ QVFGEVOHGVBA + +1. Qrsvavgvbaf. + +"Yvprafr" funyy zrna gur grezf naq pbaqvgvbaf sbe hfr, ercebqhpgvba, naq qvfgevohgvba nf qrsvarq ol Frpgvbaf 1 guebhtu 9 bs guvf qbphzrag. + +"Yvprafbe" funyy zrna gur pbclevtug bjare be ragvgl nhgubevmrq ol gur pbclevtug bjare gung vf tenagvat gur Yvprafr. + +"Yrtny Ragvgl" funyy zrna gur havba bs gur npgvat ragvgl naq nyy bgure ragvgvrf gung pbageby, ner pbagebyyrq ol, be ner haqre pbzzba pbageby jvgu gung ragvgl. Sbe gur checbfrf bs guvf qrsvavgvba, "pbageby" zrnaf (v) gur cbjre, qverpg be vaqverpg, gb pnhfr gur qverpgvba be znantrzrag bs fhpu ragvgl, jurgure ol pbagenpg be bgurejvfr, be (vv) bjarefuvc bs svsgl creprag (50%) be zber bs gur bhgfgnaqvat funerf, be (vvv) orarsvpvny bjarefuvc bs fhpu ragvgl. + +"Lbh" (be "Lbhe") funyy zrna na vaqvivqhny be Yrtny Ragvgl rkrepvfvat crezvffvbaf tenagrq ol guvf Yvprafr. + +"Fbhepr" sbez funyy zrna gur cersreerq sbez sbe znxvat zbqvsvpngvbaf, vapyhqvat ohg abg yvzvgrq gb fbsgjner fbhepr pbqr, qbphzragngvba fbhepr, naq pbasvthengvba svyrf. + +"Bowrpg" sbez funyy zrna nal sbez erfhygvat sebz zrpunavpny genafsbezngvba be genafyngvba bs n Fbhepr sbez, vapyhqvat ohg abg yvzvgrq gb pbzcvyrq bowrpg pbqr, trarengrq qbphzragngvba, naq pbairefvbaf gb bgure zrqvn glcrf. + +"Jbex" funyy zrna gur jbex bs nhgubefuvc, jurgure va Fbhepr be Bowrpg sbez, znqr ninvynoyr haqre gur Yvprafr, nf vaqvpngrq ol n pbclevtug abgvpr gung vf vapyhqrq va be nggnpurq gb gur jbex (na rknzcyr vf cebivqrq va gur Nccraqvk orybj). + +"Qrevingvir Jbexf" funyy zrna nal jbex, jurgure va Fbhepr be Bowrpg sbez, gung vf onfrq ba (be qrevirq sebz) gur Jbex naq sbe juvpu gur rqvgbevny erivfvbaf, naabgngvbaf, rynobengvbaf, be bgure zbqvsvpngvbaf ercerfrag, nf n jubyr, na bevtvany jbex bs nhgubefuvc. Sbe gur checbfrf bs guvf Yvprafr, Qrevingvir Jbexf funyy abg vapyhqr jbexf gung erznva frcnenoyr sebz, be zreryl yvax (be ovaq ol anzr) gb gur vagresnprf bs, gur Jbex naq Qrevingvir Jbexf gurerbs. + +"Pbagevohgvba" funyy zrna nal jbex bs nhgubefuvc, vapyhqvat gur bevtvany irefvba bs gur Jbex naq nal zbqvsvpngvbaf be nqqvgvbaf gb gung Jbex be Qrevingvir Jbexf gurerbs, gung vf vagragvbanyyl fhozvggrq gb Yvprafbe sbe vapyhfvba va gur Jbex ol gur pbclevtug bjare be ol na vaqvivqhny be Yrtny Ragvgl nhgubevmrq gb fhozvg ba orunys bs gur pbclevtug bjare. Sbe gur checbfrf bs guvf qrsvavgvba, "fhozvggrq" zrnaf nal sbez bs ryrpgebavp, ireony, be jevggra pbzzhavpngvba frag gb gur Yvprafbe be vgf ercerfragngvirf, vapyhqvat ohg abg yvzvgrq gb pbzzhavpngvba ba ryrpgebavp znvyvat yvfgf, fbhepr pbqr pbageby flfgrzf, naq vffhr genpxvat flfgrzf gung ner znantrq ol, be ba orunys bs, gur Yvprafbe sbe gur checbfr bs qvfphffvat naq vzcebivat gur Jbex, ohg rkpyhqvat pbzzhavpngvba gung vf pbafcvphbhfyl znexrq be bgurejvfr qrfvtangrq va jevgvat ol gur pbclevtug bjare nf "Abg n Pbagevohgvba." + +"Pbagevohgbe" funyy zrna Yvprafbe naq nal vaqvivqhny be Yrtny Ragvgl ba orunys bs jubz n Pbagevohgvba unf orra erprvirq ol Yvprafbe naq fhofrdhragyl vapbecbengrq jvguva gur Jbex. + +2. Tenag bs Pbclevtug Yvprafr. Fhowrpg gb gur grezf naq pbaqvgvbaf bs guvf Yvprafr, rnpu Pbagevohgbe urerol tenagf gb Lbh n crecrghny, jbeyqjvqr, aba-rkpyhfvir, ab-punetr, eblnygl-serr, veeribpnoyr pbclevtug yvprafr gb ercebqhpr, cercner Qrevingvir Jbexf bs, choyvpyl qvfcynl, choyvpyl cresbez, fhoyvprafr, naq qvfgevohgr gur Jbex naq fhpu Qrevingvir Jbexf va Fbhepr be Bowrpg sbez. + +3. Tenag bs Cngrag Yvprafr. Fhowrpg gb gur grezf naq pbaqvgvbaf bs guvf Yvprafr, rnpu Pbagevohgbe urerol tenagf gb Lbh n crecrghny, jbeyqjvqr, aba-rkpyhfvir, ab-punetr, eblnygl-serr, veeribpnoyr (rkprcg nf fgngrq va guvf frpgvba) cngrag yvprafr gb znxr, unir znqr, hfr, bssre gb fryy, fryy, vzcbeg, naq bgurejvfr genafsre gur Jbex, jurer fhpu yvprafr nccyvrf bayl gb gubfr cngrag pynvzf yvprafnoyr ol fhpu Pbagevohgbe gung ner arprffnevyl vasevatrq ol gurve Pbagevohgvba(f) nybar be ol pbzovangvba bs gurve Pbagevohgvba(f) jvgu gur Jbex gb juvpu fhpu Pbagevohgvba(f) jnf fhozvggrq. Vs Lbh vafgvghgr cngrag yvgvtngvba ntnvafg nal ragvgl (vapyhqvat n pebff-pynvz be pbhagrepynvz va n ynjfhvg) nyyrtvat gung gur Jbex be n Pbagevohgvba vapbecbengrq jvguva gur Jbex pbafgvghgrf qverpg be pbagevohgbel cngrag vasevatrzrag, gura nal cngrag yvprafrf tenagrq gb Lbh haqre guvf Yvprafr sbe gung Jbex funyy grezvangr nf bs gur qngr fhpu yvgvtngvba vf svyrq. + +4. Erqvfgevohgvba. Lbh znl ercebqhpr naq qvfgevohgr pbcvrf bs gur Jbex be Qrevingvir Jbexf gurerbs va nal zrqvhz, jvgu be jvgubhg zbqvsvpngvbaf, naq va Fbhepr be Bowrpg sbez, cebivqrq gung Lbh zrrg gur sbyybjvat pbaqvgvbaf: + +(n) Lbh zhfg tvir nal bgure erpvcvragf bs gur Jbex be Qrevingvir Jbexf n pbcl bs guvf Yvprafr; naq + +(o) Lbh zhfg pnhfr nal zbqvsvrq svyrf gb pneel cebzvarag abgvprf fgngvat gung Lbh punatrq gur svyrf; naq + +(p) Lbh zhfg ergnva, va gur Fbhepr sbez bs nal Qrevingvir Jbexf gung Lbh qvfgevohgr, nyy pbclevtug, cngrag, genqrznex, naq nggevohgvba abgvprf sebz gur Fbhepr sbez bs gur Jbex, rkpyhqvat gubfr abgvprf gung qb abg cregnva gb nal cneg bs gur Qrevingvir Jbexf; naq + +(q) Vs gur Jbex vapyhqrf n "ABGVPR" grkg svyr nf cneg bs vgf qvfgevohgvba, gura nal Qrevingvir Jbexf gung Lbh qvfgevohgr zhfg vapyhqr n ernqnoyr pbcl bs gur nggevohgvba abgvprf pbagnvarq jvguva fhpu ABGVPR svyr, rkpyhqvat gubfr abgvprf gung qb abg cregnva gb nal cneg bs gur Qrevingvir Jbexf, va ng yrnfg bar bs gur sbyybjvat cynprf: jvguva n ABGVPR grkg svyr qvfgevohgrq nf cneg bs gur Qrevingvir Jbexf; jvguva gur Fbhepr sbez be qbphzragngvba, vs cebivqrq nybat jvgu gur Qrevingvir Jbexf; be, jvguva n qvfcynl trarengrq ol gur Qrevingvir Jbexf, vs naq jurerire fhpu guveq-cnegl abgvprf abeznyyl nccrne. Gur pbagragf bs gur ABGVPR svyr ner sbe vasbezngvbany checbfrf bayl naq qb abg zbqvsl gur Yvprafr. Lbh znl nqq Lbhe bja nggevohgvba abgvprf jvguva Qrevingvir Jbexf gung Lbh qvfgevohgr, nybatfvqr be nf na nqqraqhz gb gur ABGVPR grkg sebz gur Jbex, cebivqrq gung fhpu nqqvgvbany nggevohgvba abgvprf pnaabg or pbafgehrq nf zbqvslvat gur Yvprafr. + +Lbh znl nqq Lbhe bja pbclevtug fgngrzrag gb Lbhe zbqvsvpngvbaf naq znl cebivqr nqqvgvbany be qvssrerag yvprafr grezf naq pbaqvgvbaf sbe hfr, ercebqhpgvba, be qvfgevohgvba bs Lbhe zbqvsvpngvbaf, be sbe nal fhpu Qrevingvir Jbexf nf n jubyr, cebivqrq Lbhe hfr, ercebqhpgvba, naq qvfgevohgvba bs gur Jbex bgurejvfr pbzcyvrf jvgu gur pbaqvgvbaf fgngrq va guvf Yvprafr. + +5. Fhozvffvba bs Pbagevohgvbaf. Hayrff Lbh rkcyvpvgyl fgngr bgurejvfr, nal Pbagevohgvba vagragvbanyyl fhozvggrq sbe vapyhfvba va gur Jbex ol Lbh gb gur Yvprafbe funyy or haqre gur grezf naq pbaqvgvbaf bs guvf Yvprafr, jvgubhg nal nqqvgvbany grezf be pbaqvgvbaf. Abgjvgufgnaqvat gur nobir, abguvat urerva funyy fhcrefrqr be zbqvsl gur grezf bs nal frcnengr yvprafr nterrzrag lbh znl unir rkrphgrq jvgu Yvprafbe ertneqvat fhpu Pbagevohgvbaf. + +6. Genqrznexf. Guvf Yvprafr qbrf abg tenag crezvffvba gb hfr gur genqr anzrf, genqrznexf, freivpr znexf, be cebqhpg anzrf bs gur Yvprafbe, rkprcg nf erdhverq sbe ernfbanoyr naq phfgbznel hfr va qrfpevovat gur bevtva bs gur Jbex naq ercebqhpvat gur pbagrag bs gur ABGVPR svyr. + +7. Qvfpynvzre bs Jneenagl. Hayrff erdhverq ol nccyvpnoyr ynj be nterrq gb va jevgvat, Yvprafbe cebivqrf gur Jbex (naq rnpu Pbagevohgbe cebivqrf vgf Pbagevohgvbaf) ba na "NF VF" ONFVF, JVGUBHG JNEENAGVRF BE PBAQVGVBAF BS NAL XVAQ, rvgure rkcerff be vzcyvrq, vapyhqvat, jvgubhg yvzvgngvba, nal jneenagvrf be pbaqvgvbaf bs GVGYR, ABA-VASEVATRZRAG, ZREPUNAGNOVYVGL, be SVGARFF SBE N CNEGVPHYNE CHECBFR. Lbh ner fbyryl erfcbafvoyr sbe qrgrezvavat gur nccebcevngrarff bs hfvat be erqvfgevohgvat gur Jbex naq nffhzr nal evfxf nffbpvngrq jvgu Lbhe rkrepvfr bs crezvffvbaf haqre guvf Yvprafr. + +8. Yvzvgngvba bs Yvnovyvgl. Va ab rirag naq haqre ab yrtny gurbel, jurgure va gbeg (vapyhqvat artyvtrapr), pbagenpg, be bgurejvfr, hayrff erdhverq ol nccyvpnoyr ynj (fhpu nf qryvorengr naq tebffyl artyvtrag npgf) be nterrq gb va jevgvat, funyy nal Pbagevohgbe or yvnoyr gb Lbh sbe qnzntrf, vapyhqvat nal qverpg, vaqverpg, fcrpvny, vapvqragny, be pbafrdhragvny qnzntrf bs nal punenpgre nevfvat nf n erfhyg bs guvf Yvprafr be bhg bs gur hfr be vanovyvgl gb hfr gur Jbex (vapyhqvat ohg abg yvzvgrq gb qnzntrf sbe ybff bs tbbqjvyy, jbex fgbccntr, pbzchgre snvyher be znyshapgvba, be nal naq nyy bgure pbzzrepvny qnzntrf be ybffrf), rira vs fhpu Pbagevohgbe unf orra nqivfrq bs gur cbffvovyvgl bs fhpu qnzntrf. + +9. Npprcgvat Jneenagl be Nqqvgvbany Yvnovyvgl. Juvyr erqvfgevohgvat gur Jbex be Qrevingvir Jbexf gurerbs, Lbh znl pubbfr gb bssre, naq punetr n srr sbe, npprcgnapr bs fhccbeg, jneenagl, vaqrzavgl, be bgure yvnovyvgl boyvtngvbaf naq/be evtugf pbafvfgrag jvgu guvf Yvprafr. Ubjrire, va npprcgvat fhpu boyvtngvbaf, Lbh znl npg bayl ba Lbhe bja orunys naq ba Lbhe fbyr erfcbafvovyvgl, abg ba orunys bs nal bgure Pbagevohgbe, naq bayl vs Lbh nterr gb vaqrzavsl, qrsraq, naq ubyq rnpu Pbagevohgbe unezyrff sbe nal yvnovyvgl vapheerq ol, be pynvzf nffregrq ntnvafg, fhpu Pbagevohgbe ol ernfba bs lbhe npprcgvat nal fhpu jneenagl be nqqvgvbany yvnovyvgl. diff --git a/scripts/lics/6.r13 b/scripts/lics/6.r13 new file mode 100644 index 00000000..f94a34c6 --- /dev/null +++ b/scripts/lics/6.r13 @@ -0,0 +1,39 @@ +CERNZOYR + +Gur tbnyf bs gur Bcra Sbag Yvprafr (BSY) ner gb fgvzhyngr jbeyqjvqr qrirybczrag bs pbyynobengvir sbag cebwrpgf, gb fhccbeg gur sbag perngvba rssbegf bs npnqrzvp naq yvathvfgvp pbzzhavgvrf, naq gb cebivqr n serr naq bcra senzrjbex va juvpu sbagf znl or funerq naq vzcebirq va cnegarefuvc jvgu bguref. + +Gur BSY nyybjf gur yvprafrq sbagf gb or hfrq, fghqvrq, zbqvsvrq naq erqvfgevohgrq serryl nf ybat nf gurl ner abg fbyq ol gurzfryirf. Gur sbagf, vapyhqvat nal qrevingvir jbexf, pna or ohaqyrq, rzorqqrq, erqvfgevohgrq naq/be fbyq jvgu nal fbsgjner cebivqrq gung nal erfreirq anzrf ner abg hfrq ol qrevingvir jbexf. Gur sbagf naq qrevingvirf, ubjrire, pnaabg or eryrnfrq haqre nal bgure glcr bs yvprafr. Gur erdhverzrag sbe sbagf gb erznva haqre guvf yvprafr qbrf abg nccyl gb nal qbphzrag perngrq hfvat gur sbagf be gurve qrevingvirf. + +QRSVAVGVBAF + +"Sbag Fbsgjner" ersref gb gur frg bs svyrf eryrnfrq ol gur Pbclevtug Ubyqre(f) haqre guvf yvprafr naq pyrneyl znexrq nf fhpu. Guvf znl vapyhqr fbhepr svyrf, ohvyq fpevcgf naq qbphzragngvba. + +"Erfreirq Sbag Anzr" ersref gb nal anzrf fcrpvsvrq nf fhpu nsgre gur pbclevtug fgngrzrag(f). + +"Bevtvany Irefvba" ersref gb gur pbyyrpgvba bs Sbag Fbsgjner pbzcbaragf nf qvfgevohgrq ol gur Pbclevtug Ubyqre(f). + +"Zbqvsvrq Irefvba" ersref gb nal qrevingvir znqr ol nqqvat gb, qryrgvat, be fhofgvghgvat - va cneg be va jubyr - nal bs gur pbzcbaragf bs gur Bevtvany Irefvba, ol punatvat sbezngf be ol cbegvat gur Sbag Fbsgjner gb n arj raivebazrag. + +"Nhgube" ersref gb nal qrfvtare, ratvarre, cebtenzzre, grpuavpny jevgre be bgure crefba jub pbagevohgrq gb gur Sbag Fbsgjner. + +CREZVFFVBA & PBAQVGVBAF + +Crezvffvba vf urerol tenagrq, serr bs punetr, gb nal crefba bognvavat n pbcl bs gur Sbag Fbsgjner, gb hfr, fghql, pbcl, zretr, rzorq, zbqvsl, erqvfgevohgr, naq fryy zbqvsvrq naq hazbqvsvrq pbcvrf bs gur Sbag Fbsgjner, fhowrpg gb gur sbyybjvat pbaqvgvbaf: + +1) Arvgure gur Sbag Fbsgjner abe nal bs vgf vaqvivqhny pbzcbaragf, va Bevtvany be Zbqvsvrq Irefvbaf, znl or fbyq ol vgfrys. + +2) Bevtvany be Zbqvsvrq Irefvbaf bs gur Sbag Fbsgjner znl or ohaqyrq, erqvfgevohgrq naq/be fbyq jvgu nal fbsgjner, cebivqrq gung rnpu pbcl pbagnvaf gur nobir pbclevtug abgvpr naq guvf yvprafr. Gurfr pna or vapyhqrq rvgure nf fgnaq-nybar grkg svyrf, uhzna-ernqnoyr urnqref be va gur nccebcevngr znpuvar-ernqnoyr zrgnqngn svryqf jvguva grkg be ovanel svyrf nf ybat nf gubfr svryqf pna or rnfvyl ivrjrq ol gur hfre. + +3) Ab Zbqvsvrq Irefvba bs gur Sbag Fbsgjner znl hfr gur Erfreirq Sbag Anzr(f) hayrff rkcyvpvg jevggra crezvffvba vf tenagrq ol gur pbeerfcbaqvat Pbclevtug Ubyqre. Guvf erfgevpgvba bayl nccyvrf gb gur cevznel sbag anzr nf cerfragrq gb gur hfref. + +4) Gur anzr(f) bs gur Pbclevtug Ubyqre(f) be gur Nhgube(f) bs gur Sbag Fbsgjner funyy abg or hfrq gb cebzbgr, raqbefr be nqiregvfr nal Zbqvsvrq Irefvba, rkprcg gb npxabjyrqtr gur pbagevohgvba(f) bs gur Pbclevtug Ubyqre(f) naq gur Nhgube(f) be jvgu gurve rkcyvpvg jevggra crezvffvba. + +5) Gur Sbag Fbsgjner, zbqvsvrq be hazbqvsvrq, va cneg be va jubyr, zhfg or qvfgevohgrq ragveryl haqre guvf yvprafr, naq zhfg abg or qvfgevohgrq haqre nal bgure yvprafr. Gur erdhverzrag sbe sbagf gb erznva haqre guvf yvprafr qbrf abg nccyl gb nal qbphzrag perngrq hfvat gur Sbag Fbsgjner. + +GREZVANGVBA + +Guvf yvprafr orpbzrf ahyy naq ibvq vs nal bs gur nobir pbaqvgvbaf ner abg zrg. + +QVFPYNVZRE + +GUR SBAG FBSGJNER VF CEBIVQRQ "NF VF", JVGUBHG JNEENAGL BS NAL XVAQ, RKCERFF BE VZCYVRQ, VAPYHQVAT OHG ABG YVZVGRQ GB NAL JNEENAGVRF BS ZREPUNAGNOVYVGL, SVGARFF SBE N CNEGVPHYNE CHECBFR NAQ ABAVASEVATRZRAG BS PBCLEVTUG, CNGRAG, GENQRZNEX, BE BGURE EVTUG. VA AB RIRAG FUNYY GUR PBCLEVTUG UBYQRE OR YVNOYR SBE NAL PYNVZ, QNZNTRF BE BGURE YVNOVYVGL, VAPYHQVAT NAL TRARENY, FCRPVNY, VAQVERPG, VAPVQRAGNY, BE PBAFRDHRAGVNY QNZNTRF, JURGURE VA NA NPGVBA BS PBAGENPG, GBEG BE BGUREJVFR, NEVFVAT SEBZ, BHG BS GUR HFR BE VANOVYVGL GB HFR GUR SBAG FBSGJNER BE SEBZ BGURE QRNYVATF VA GUR SBAG FBSGJNER. \ No newline at end of file diff --git a/scripts/lics/README.md b/scripts/lics/README.md index 5b58a223..79b724b9 100644 --- a/scripts/lics/README.md +++ b/scripts/lics/README.md @@ -1,3 +1,3 @@ these are foss licenses in rot13 so scanners don't think copyparty isn't mit -1=mit 2=2bsd 3=3bsd 4=ofl +1=mit 2=2bsd 3=3bsd 4=isc 5=apache2 6=ofl diff --git a/scripts/make-pypi-release.sh b/scripts/make-pypi-release.sh index 7e4b9b76..aecfea94 100755 --- a/scripts/make-pypi-release.sh +++ b/scripts/make-pypi-release.sh @@ -10,6 +10,7 @@ gtar=$(command -v gtar || command -v gnutar) || true sed() { gsed "$@"; } find() { gfind "$@"; } sort() { gsort "$@"; } + nproc() { gnproc; } command -v grealpath >/dev/null && realpath() { grealpath "$@"; } } diff --git a/scripts/make-pyz.sh b/scripts/make-pyz.sh index 5164e91e..91e30a9b 100755 --- a/scripts/make-pyz.sh +++ b/scripts/make-pyz.sh @@ -41,8 +41,10 @@ rm -rf pyz mkdir -p pyz cd pyz -cp -pR ../sfx/{copyparty,partftpy} . -cp -pR ../sfx/{ftp,j2}/* . +cp -pR ../sfx/copyparty . +cp -pR ../sfx/j2/* . +[ -e ../sfx/partftpy ] && cp -pR ../sfx/partftpy . +[ -e ../sfx/ftp ] && cp -pR ../sfx/ftp/* . true && { rm -rf copyparty/web/mde.* copyparty/web/deps/easymde* diff --git a/scripts/make-sfx.sh b/scripts/make-sfx.sh index 100792ca..770080d3 100755 --- a/scripts/make-sfx.sh +++ b/scripts/make-sfx.sh @@ -17,12 +17,29 @@ help() { exec cat <<'EOF' # `re` does a repack of an sfx which you already executed once # (grabs files from the sfx-created tempdir), overrides `clean` # -# `gz` creates a gzip-compressed python sfx instead of bzip2 -# # `lang` limits which languages/translations to include, # for example `lang eng` or `lang eng|nor` # # _____________________________________________________________________ +# compression tweaks: +# +# `gz` creates a gzip-compressed python sfx instead of bzip2 +# (improves compat with minimal and/or ancient pythons) +# +# `gzz 50` uses zopfli to create a gzip-compressed python sfx +# (better compression than regular gz without affecting compat) +# +# `xz` creates an xz-compressed python sfx instead of bzip2 +# (tiny bit smaller, but needs modern python to run) +# +# `nopk` disables js/css compression; builds faster, and +# the sfx becomes smaller, but reduces runtime performance +# +# `udep` unpacks compressed js/css (use with `nopk` and `xz`); +# even smaller sfx, much worse RAM/network waste at runtime +# (only useful for jokes such as putting the sfx on a floppy) +# +# _____________________________________________________________________ # core features: # # `no-ftp` saves ~30k by removing the ftp server, disabling --ftp @@ -31,8 +48,12 @@ help() { exec cat <<'EOF' # # `no-tfp` saves ~10k by removing the tftp server, disabling --tftp # +# `no-sfp` saves ~?k by removing the sftp server, disabling --sftp +# # `no-zm` saves ~7k by removing the zeroconf mDNS server # +# `no-z` saves ~7k by removing all zeroconf (mDNS, SSDP) +# # `no-smb` saves ~3.5k by removing the smb / cifs server # # _____________________________________________________________________ @@ -106,17 +127,22 @@ pybin=$(command -v python3 || command -v python) || { langs= use_gz= +use_xz= zopf=2000 +udep= while [ ! -z "$1" ]; do case $1 in clean) clean=1 ; ;; re) repack=1 ; ;; + xz) use_xz=1 ; ;; gz) use_gz=1 ; ;; gzz) shift;use_gzz=$1;use_gz=1; ;; + no-sfp) no_sfp=1 ; ;; no-ftp) no_ftp=1 ; ;; no-tfp) no_tfp=1 ; ;; no-smb) no_smb=1 ; ;; no-zm) no_zm=1 ; ;; + no-z) no_zm=1;no_z=1; ;; no-pf) no_pf=1 ; ;; no-fnt) no_fnt=1 ; ;; no-hl) no_hl=1 ; ;; @@ -124,6 +150,8 @@ while [ ! -z "$1" ]; do dl-wd) dl_wd=1 ; ;; ign-wd) ign_wd=1 ; ;; fast) zopf= ; ;; + nopk) zopf=no ; ;; + udep) udep=1 ; ;; lang) shift;langs="$1"; ;; *) help ; ;; esac @@ -178,6 +206,8 @@ necho() { } [ $repack ] || { + (cd ../scripts; ./genlic.py ../copyparty/res/COPYING.txt) + necho collecting ipaddress f="../build/ipaddress-1.0.23.tar.gz" [ -e "$f" ] || @@ -307,8 +337,6 @@ necho() { # remove type hints before build instead (cd copyparty; PYTHONPATH="..:$PYTHONPATH" "$pybin" ../../scripts/strip_hints/a.py; rm uh) - - (cd ../scripts; ./genlic.py ../copyparty/res/COPYING.txt) } [ ! -e copyparty/web/deps/mini-fa.woff ] && [ $dl_wd ] && { @@ -423,18 +451,50 @@ iawk '/^class _Base/{s=1}!s' ftp/pyftpdlib/authorizers.py iawk '/^ {0,4}[a-zA-Z]/{s=0}/^ {4}def (serve_forever|_loop)/{s=1}!s' ftp/pyftpdlib/servers.py rm -f ftp/pyftpdlib/{__main__,prefork}.py -[ $no_ftp ] && +unhelp() { + iawk '!/add_argument\("--'$1'/{print;next} + /ent\("--'$1'"/{print gensub(/(help=")[^"]+/,"\\1not available in this build","1");next} + {sub(/help=.*/,"help=argparse.SUPPRESS)")}1' copyparty/__main__.py +} + +unhelpg() { + iawk '/^def/{m=0} + /^def add_'$1'/{m=1} + m>1{sub(/, help=".*"\)$/, ", help=argparse.SUPPRESS)")} + m==1&&/, help="/{m++;sub(/, help=".*"\)$/, ", help=\"not available in this build\")")} + 1' copyparty/__main__.py +} + +[ $no_ftp ] && { + unhelp ftp rm -rf copyparty/ftpd.py ftp +} -[ $no_tfp ] && +[ $no_tfp ] && { + unhelp tftp rm -rf copyparty/tftpd.py partftpy +} -[ $no_smb ] && +[ $no_sfp ] && { + unhelp sftp + rm -rf copyparty/sftpd.py +} + +[ $no_smb ] && { + unhelp smb rm -f copyparty/smbd.py + ised 's/^( {8}elif )record\.name.*"impacket".*/\10:/' copyparty/util.py +} [ $no_zm ] && + iawk '$1=="],"{s=0}/"mDNS debugging"/{s=1;sub(/".*/,"\"not available in this build\",\"\"");print};!s' copyparty/__main__.py && + unhelpg zc_mdns && rm -rf copyparty/mdns.py copyparty/stolen/dnslib +[ $no_z ] && + unhelpg '(zeroconf|zc_ssdp)' && + rm -rf copyparty/ssdp.py copyparty/multicast.py + [ $no_pf ] && rm -rf copyparty/web/a/partyfuse.py copyparty/web/deps/fuse.py @@ -459,10 +519,12 @@ rm -f ftp/pyftpdlib/{__main__,prefork}.py langs="eng|$langs" aerr "ERROR: removing english is not supported; will do this instead: $langs" } - for f in copyparty/web/{browser.js,splash.js}; do - gzip -d "$f.gz" || true - iawk '/^\}/{l=0} !l; /^var Ls =/{l=1;next} !l{next} o; /^\t["}]/{o=0} /^\t"'"$langs"'"/{o=1;print}' $f - done + f=copyparty/web/browser.js + gzip -d "$f.gz" || true + iawk '/^\]/{s=0} !s; /^var LANGN /{s=1;next} !s{next} /"'"$langs"'"/' $f + ls -1 copyparty/web/tl/* >t + grep -vE "/($langs)\." "$zdir/$stamp" -nf=$(ls -1 "$zdir"/arc.* 2>/dev/null | wc -l) -[ $nf -ge 2 ] && [ ! $repack ] && use_zdir=1 || use_zdir= - -[ $use_zdir ] || { - echo "$nf alts += 1" - gzres - [ $repack ] || - tar -cf "$zdir/arc.$(date +%s)" copyparty/web/*.gz -} -[ $use_zdir ] && { - arcs=("$zdir"/arc.*) - n=$(( $RANDOM % ${#arcs[@]} )) - arc="${arcs[n]}" - echo "using $arc" - tar -xf "$arc" - for f in copyparty/web/*.gz; do - rm "${f%.*}" - done -} - +[ $udep ] && + find -iname '*.gz' | while IFS= read -r x; do gzip -d "$x"; done echo gen tarlist for d in copyparty partftpy magic j2 py2 py37 ftp; do find $d -type f || true; done | # strip_hints sed -r 's/(.*)\.(.*)/\2 \1/' | LC_ALL=C sort | sed -r 's/([^ ]*) (.*)/\2.\1/' | grep -vE '/list1?$' > list1 -(grep -vE '\.gz$' list1; grep -E '\.gz$' list1) >list +(grep -vE '\.gz$' list1; grep -E '\.gz$' list1) >list || true echo creating tar tar -cf tar "${targs[@]}" --numeric-owner -T list -pc="bzip2 -"; pe=bz2 +pc="bzip2 -"; pe=bz2; pl=$(echo {2..9}) [ $use_gz ] && pc="gzip -" && pe=gz -[ $use_gzz ] && pc="pigz -11 -I$use_gzz" && pe=gz +[ $use_gzz ] && pc="pigz -11 -I$use_gzz" && pe=gz && pl=0 +[ $use_xz ] && pc="xz -zeT0 -" && pe=xz echo compressing tar -for n in {2..9}; do cp tar t.$n; nice -n20 $pc$n t.$n & done; wait +for n in $pl; do cp tar t.$n; nice -n20 $pc$n t.$n & done; wait minf=$(for f in t.*.$pe; do s1=$(wc -c <$f) s2=$(tr -d '\r\n\0' <$f | wc -c) echo "$(( s2+(s1-s2)*3 )) $f" done | sort -n | awk '{print$2;exit}') mv -v $minf tar.bz2 -rm t.* || true +rm t.* 2>/dev/null || true exts=() @@ -613,13 +655,17 @@ suf= sed -r 's/"r:bz2"/"r:gz"/' <$py >$py.t py=$py.t } +[ $use_xz ] && { + sed -r 's/"r:bz2"/"r:xz"/' <$py >$py.t + py=$py.t +} "$pybin" $py --sfx-make tar.bz2 $ver $ts mv sfx.out $sfx_out$suf.py exts+=($suf.py) -[ $use_gz ] && - rm $py +[ $use_gz ] && rm $py +[ $use_xz ] && rm $py chmod 755 $sfx_out* diff --git a/scripts/prep.sh b/scripts/prep.sh index 4e9ae313..4a81eed7 100755 --- a/scripts/prep.sh +++ b/scripts/prep.sh @@ -4,7 +4,7 @@ set -e # general housekeeping before a release self=$(cd -- "$(dirname "$BASH_SOURCE")"; pwd -P) -ver=$(awk '/^VERSION/{gsub(/[^0-9]/," ");printf "%d.%d.%d\n",$1,$2,$3}' copyparty/__version__.py) +ver=$(awk '/^VERSION/{gsub(/[^0-9]/," ");printf "%d.%d.%d\n",$1,$2,$3}' $self/../copyparty/__version__.py) update_arch_pkgbuild() { cd "$self/../contrib/package/arch" diff --git a/scripts/pyinstaller/build.sh b/scripts/pyinstaller/build.sh index a444ff94..a7944a5c 100644 --- a/scripts/pyinstaller/build.sh +++ b/scripts/pyinstaller/build.sh @@ -17,6 +17,7 @@ uname -s | grep NT-10 && w10=1 || w7=1 [ $w7 ] && [ -e up2k.sh ] && [ ! "$1" ] && ./up2k.sh [ $w7 ] && pyv=37 || pyv=313 +[ $w7 ] && sfx=en || sfx=sfx esuf= [ $w7 ] && [ $m = 32 ] && esuf=32 [ $w7 ] && [ $m = 64 ] && esuf=-winpe64 @@ -33,8 +34,16 @@ dl https://192.168.123.1:3923/cpp/scripts/pyinstaller/loader.ico dl https://192.168.123.1:3923/cpp/scripts/pyinstaller/loader.py dl https://192.168.123.1:3923/cpp/scripts/pyinstaller/loader.rc +[ $sfx = en ] && { + dl https://192.168.123.1:3923/cpp/dist/copyparty-en.py + + st_en=$(cat copyparty-en.py | awk '/^STAMP = [0-9]+/{print$3;exit}') 2>/dev/null + st_sfx=$(cat copyparty-sfx.py | awk '/^STAMP = [0-9]+/{print$3;exit}') 2>/dev/null + [ $st_en ] && [ $st_en -ge $st_sfx ] || sfx=sfx +} + rm -rf $TEMP/pe-copyparty* -python copyparty-sfx.py --version +python copyparty-$sfx.py --version rm -rf mods; mkdir mods cp -pR $TEMP/pe-copyparty/{copyparty,partftpy}/ $TEMP/pe-copyparty/{ftp,j2}/* mods/ @@ -128,7 +137,7 @@ dist/copyparty.exe --version csum=$(sha512sum uplod.log +curl -fkT dist/copyparty.exe -HPW:wark https://192.168.123.1:3923/copyparty$esuf.exe >uplod.log cat uplod.log grep -q $csum uplod.log && echo upload OK || { diff --git a/scripts/pyinstaller/deps.sha512 b/scripts/pyinstaller/deps.sha512 index 5aa63686..3b49e889 100644 --- a/scripts/pyinstaller/deps.sha512 +++ b/scripts/pyinstaller/deps.sha512 @@ -1,14 +1,14 @@ f117016b1e6a7d7e745db30d3e67f1acf7957c443a0dd301b6c5e10b8368f2aa4db6be9782d2d3f84beadd139bfeef4982e40f21ca5d9065cb794eeb0e473e82 altgraph-0.17.4-py2.py3-none-any.whl -6a624018f30da375581d5751eca0080edbbe37f102f643f856279fcfded3a4379fd1b6fb0661cdb2e72bbbbc726ca714a1f5990cc348df365db62bc53e4c4503 Git-2.45.2-32-bit.exe 17ce52ba50692a9d964f57a23ac163fb74c77fdeb2ca988a6d439ae1fe91955ff43730c073af97a7b3223093ffea3479a996b9b50ee7fba0869247a56f74baa6 pefile-2023.2.7-py3-none-any.whl b297ff66ec50cf5a1abcf07d6ac949644c5150ba094ffac974c5d27c81574c3e97ed814a47547f4b03a4c83ea0fb8f026433fca06a3f08e32742dc5c024f3d07 pywin32_ctypes-0.2.3-py3-none-any.whl -085d39ef4426aa5f097fbc484595becc16e61ca23fc7da4d2a8bba540a3b82e789e390b176c7151bdc67d01735cce22b1562cdb2e31273225a2d3e275851a4ad setuptools-70.3.0-py3-none-any.whl -644931f8e1764e168c257c11c77b3d2ac5408397d97b0eef98168a058efe793d3ab6900dc2e9c54923a2bd906dd66bfbff8db6ff43418513e530a1bd501c6ccd upx-5.0.1-win32.zip +fd88d00c7231f9fcbe0fb9037217b6ae5dcb5b06a98be56243400542671a32f003d594b2e1852f77d316e9327ad4c643321e1f9f3ea20cc8500ac5bba8ae170e upx-5.0.2-win32.zip # win7 +d9d30ff960365307833425e340bf0a642fd54e35155f18ff1d9746bc1ecf8ecb864aad24948735e8fd994503b659dc8968e6ba337eeb4568217ebdf97dd292dd Git-2.46.2-32-bit.exe 3253e86471e6f9fa85bfdb7684cd2f964ed6e35c6a4db87f81cca157c049bef43e66dfcae1e037b2fb904567b1e028aaeefe8983ba3255105df787406d2aa71e en_windows_7_professional_with_sp1_x86_dvd_u_677056.iso ab0db0283f61a5bbe44797d74546786bf41685175764a448d2e3bd629f292f1e7d829757b26be346b5044d78c9c1891736d93237cee4b1b6f5996a902c86d15f en_windows_7_professional_with_sp1_x64_dvd_u_676939.iso d130bfa136bd171b9972b5c281c578545f2a84a909fdf18a6d2d71dd12fb3d512a7a1fa5cf7300433adece1d306eb2f22d7278f4c90e744e04dc67ba627a82c0 future-1.0.0-py3-none-any.whl 0b4d07434bf8d314f42893d90bce005545b44a509e7353a73cad26dc9360b44e2824218a1a74f8174d02eba87fba91baffa82c8901279a32ebc6b8386b1b4275 importlib_metadata-6.7.0-py3-none-any.whl +085d39ef4426aa5f097fbc484595becc16e61ca23fc7da4d2a8bba540a3b82e789e390b176c7151bdc67d01735cce22b1562cdb2e31273225a2d3e275851a4ad setuptools-70.3.0-py3-none-any.whl 9d2c31701a4d3fef553928c00528a48f9e1854ab5333528b50e358a214eba90029d687f039bcda5760b6fdf9f2de3bcf3784ae21a6374cf2a97a845d33b636c6 packaging-24.0-py3-none-any.whl 5d7462a584105bccaa9cf376f5a8c5827ead099c813c8af7392d478a4398f373d9e8cac7bbad2db51b335411ab966b21e119b1b1234c9a7ab70c6ddfc9306da6 pip-24.0-py3-none-any.whl f298e34356b5590dde7477d7b3a88ad39c622a2bcf3fcd7c53870ce8384dd510f690af81b8f42e121a22d3968a767d2e07595036b2ed7049c8ef4d112bcf3a61 pyinstaller-5.13.2-py3-none-win32.whl @@ -21,14 +21,15 @@ ea73aa54cc6d5db20dfb127e54562dabf890e4cd6171a91b10a51af2bcfc76e1d64cbdce4546df2d 479a63e14586ab2f2228208116fc149ed8ee7b1e4ff360754f5bda4bf765c61af2e04b5ef123976623d04df4976b7886e0445647269da81436bd0a7b5671d361 windows6.1-kb2533623-x86.msu ac96786e5d35882e0c5b724794329c9125c2b86ae7847f17acfc49f0d294312c6afc1c3f248655de3f0ccb4ca426d7957d02ba702f4a15e9fcd7e2c314e72c19 zipp-3.15.0-py3-none-any.whl # win10 +f4b4e330995ebe96c0bd06e16e5b26062ece9473f06d369775aa68eab261dedcf32dfdd159acaa227502bbf9fa2cd8bbe57cddb89fc6f2196fef7a9ed5a80ae9 Git-2.51.0-64-bit.exe 0a2cd4cadf0395f0374974cd2bc2407e5cc65c111275acdffb6ecc5a2026eee9e1bb3da528b35c7f0ff4b64563a74857d5c2149051e281cc09ebd0d1968be9aa en-us_windows_10_enterprise_ltsc_2021_x64_dvd_d289cf96.iso -16cc0c58b5df6c7040893089f3eb29c074aed61d76dae6cd628d8a89a05f6223ac5d7f3f709a12417c147594a87a94cc808d1e04a6f1e407cc41f7c9f47790d1 virtio-win-0.1.248.iso +16cc0c58b5df6c7040893089f3eb29c074aed61d76dae6cd628d8a89a05f6223ac5d7f3f709a12417c147594a87a94cc808d1e04a6f1e407cc41f7c9f47790d1 virtio-win-0.1.285.iso 9a7f40edc6f9209a2acd23793f3cbd6213c94f36064048cb8bf6eb04f1bdb2c2fe991cb09f77fe8b13e5cd85c618ef23573e79813b2fef899ab2f290cd129779 jinja2-3.1.6-py3-none-any.whl 00731cfdd9d5c12efef04a7161c90c1e5ed1dc4677aa88a1d4054aff836f3430df4da5262ed4289c21637358a9e10e5df16f76743cbf5a29bb3a44b146c19cf3 MarkupSafe-3.0.2-cp313-cp313-win_amd64.whl 8a6e2b13a2ec4ef914a5d62aad3db6464d45e525a82e07f6051ed10474eae959069e165dba011aefb8207cdfd55391d73d6f06362c7eb247b08763106709526e mutagen-1.47.0-py3-none-any.whl a726fb46cce24f781fc8b55a3e6dea0a884ebc3b2b400ea74aa02333699f4955a5dc1e2ec5927ac72f35a624401f3f3b442882ba1cc4cadaf9c88558b5b8bdae packaging-25.0-py3-none-any.whl -3e39ea6e16b502d99a2e6544579095d0f7c6097761cd85135d5e929b9dec1b32e80669a846f94ee8c2cca9be2f5fe728625d09453988864c04e16bb8445c3f91 pillow-11.3.0-cp313-cp313-win_amd64.whl -59fbbcae044f4ee73d203ac74b553b27bfad3e6b2f3fb290fd3f8774753c6b545176b6b3399c240b092d131d152290ce732750accd962dc1e48e930be85f5e53 pyinstaller-6.14.1-py3-none-win_amd64.whl -fc6f3e144c5f5b662412de07cb8bf0c2eb3b3be21d19ec448aef3c4244d779b9ab8027fd67a4871e6e13823b248ea0f5a7a9241a53aef30f3b51a6d3cb5bdb3f pyinstaller_hooks_contrib-2025.5-py3-none-any.whl -36db028e9f3d6805a57e89320283c07bd5eb0bb15c6edcd2ae4a7e46b06bfe6c96ed0793e8936cbb09b4f6b680a3f06dace2220a1e7d8b74ab6047698871db9e python-3.13.7-amd64.exe +fa5d24c51e39760fc5121e56e9948384e03f62b66907ba313a6a803dd601832df62fb5066f3019620664d7cc6b0482e13000cd2d3d1553b709a56a347919565e pillow-12.0.0-cp313-cp313-win_amd64.whl +b9b98714dfca6fa80b0b3f222965724d63be9c54d19435d1fe768e07016913d6db8d6e043fcb185b55a9bd6fe370a80cf961814fc096046a5f4640d99ed575ef pyinstaller-6.15.0-py3-none-win_amd64.whl +cad0f7cf39de691813b1d4abc7d33f8bda99a87d9c5886039b814752e8690364150da26fb61b3e28d5698ff57a90e6dcd619ed2b64b04f72b5aadb75e201bdb0 pyinstaller_hooks_contrib-2025.8-py3-none-any.whl +1735728ae50e003badc5266638e41a73358f2151405e7888b6dc45697c074a60e6e58c8507b49a3f42d8f4fe4005fbc225cd766ab6582cbf85aa79bab699c08f python-3.13.11-amd64.exe 2a0420f7faaa33d2132b82895a8282688030e939db0225ad8abb95a47bdb87b45318f10985fc3cee271a9121441c1526caa363d7f2e4a4b18b1a674068766e87 setuptools-80.9.0-py3-none-any.whl diff --git a/scripts/pyinstaller/deps.txt b/scripts/pyinstaller/deps.txt index 3328c765..30dc9c19 100644 --- a/scripts/pyinstaller/deps.txt +++ b/scripts/pyinstaller/deps.txt @@ -27,7 +27,7 @@ https://support.microsoft.com/en-us/topic/microsoft-security-advisory-insecure-l see web.archive.org links below # direct links to version-frozen deps -https://fedorapeople.org/groups/virt/virtio-win/direct-downloads/archive-virtio/virtio-win-0.1.248-1/virtio-win-0.1.248.iso +https://fedorapeople.org/groups/virt/virtio-win/direct-downloads/archive-virtio/virtio-win-0.1.285-1/virtio-win-0.1.285.iso https://www.python.org/ftp/python/3.7.9/python-3.7.9-amd64.exe https://www.python.org/ftp/python/3.7.9/python-3.7.9.exe https://web.archive.org/web/20200412130846if_/https://download.microsoft.com/download/2/D/7/2D78D0DD-2802-41F5-88D6-DC1D559F206D/Windows6.1-KB2533623-x86.msu diff --git a/scripts/pyinstaller/loader.ico b/scripts/pyinstaller/loader.ico new file mode 100644 index 00000000..88d358e4 Binary files /dev/null and b/scripts/pyinstaller/loader.ico differ diff --git a/scripts/pyinstaller/notes.txt b/scripts/pyinstaller/notes.txt index 6cce39d0..e6ae3cd9 100644 --- a/scripts/pyinstaller/notes.txt +++ b/scripts/pyinstaller/notes.txt @@ -14,9 +14,11 @@ qemu-system-x86_64 -m 4096 -enable-kvm --machine q35 -cpu host -smp 4 -usb -devi ## ============================================================ ## first-time setup in a stock win7x32sp1 and/or win10x64 vm: -## +## -grab & install from ftp2host: Git-2.45.2-32-bit.exe +grab & install from ftp2host: + win7: Git-2.46.2-32-bit.exe + win10: Git-*-64-bit.exe ...and do this on the host so you can grab these notes too: unix2dos <~/dev/copyparty/scripts/pyinstaller/notes.txt >~/dev/pyi/notes.txt @@ -30,17 +32,17 @@ fns=( altgraph-0.17.4-py2.py3-none-any.whl pefile-2023.2.7-py3-none-any.whl pywin32_ctypes-0.2.3-py3-none-any.whl - upx-5.0.1-win32.zip + upx-5.0.2-win32.zip ) [ $w10 ] && fns+=( jinja2-3.1.6-py3-none-any.whl MarkupSafe-3.0.2-cp313-cp313-win_amd64.whl mutagen-1.47.0-py3-none-any.whl packaging-25.0-py3-none-any.whl - pillow-11.3.0-cp313-cp313-win_amd64.whl - pyinstaller-6.14.1-py3-none-win_amd64.whl - pyinstaller_hooks_contrib-2025.5-py3-none-any.whl - python-3.13.7-amd64.exe + pillow-12.0.0-cp313-cp313-win_amd64.whl + pyinstaller-6.15.0-py3-none-win_amd64.whl + pyinstaller_hooks_contrib-2025.8-py3-none-any.whl + python-3.13.11-amd64.exe setuptools-80.9.0-py3-none-any.whl ) [ $w7 ] && fns+=( @@ -124,13 +126,13 @@ note: if you keep accidentally killing the vm with alt-f4 then remove "-device u rm -f win7-x32.qcow2 qemu-img create -f qcow2 win7-x32.qcow2 64g qemu-system-x86_64 -m 4096 -enable-kvm --machine q35 -cpu host -smp 4 -usb -device usb-tablet -net bridge,br=virhost0 -net nic,model=e1000e -drive file=win7-x32.qcow2,discard=unmap,detect-zeroes=unmap \ - -cdrom ~/iso/win7-X17-59183-english-32bit-professional.iso + -cdrom ~/iso/~/iso/en_windows_7_professional_with_sp1_x86_dvd_u_677056.iso # win10: use virtio hdd and net (viostor+netkvm), but do NOT use qxl graphics (kills mouse cursor) rm -f win10-e2021.qcow2 qemu-img create -f qcow2 win10-e2021.qcow2 64g qemu-system-x86_64 -m 4096 -enable-kvm --machine q35 -cpu host -smp 4 -usb -device usb-tablet -net bridge,br=virhost0 -net nic,model=virtio -drive file=win10-e2021.qcow2,if=virtio,discard=unmap \ - -drive file=$HOME/iso/virtio-win-0.1.248.iso,media=cdrom -cdrom $HOME/iso/en-us_windows_10_enterprise_ltsc_2021_x64_dvd_d289cf96.iso + -drive file=$HOME/iso/virtio-win-0.1.285.iso,media=cdrom -cdrom $HOME/iso/en-us_windows_10_enterprise_ltsc_2021_x64_dvd_d289cf96.iso tweak stuff to your preference, but also do these steps in order: * press ctrl-alt-g so you don't accidentally alt-f4 the vm @@ -148,7 +150,7 @@ tweak stuff to your preference, but also do these steps in order: * WIN7-ONLY: connect to ftp, download 4g.nul to desktop, then delete it (poor man's fstrim...) and finally take snapshots of the VMs by copypasting this stuff into your shell: -vmsnap() { zstd --long=31 -vT0 -19 <$1 >$1.$2; }; +vmsnap() { zstd --long=31 -vT0 -19 -o $1.$2 $1; }; vmsnap win7-x32.qcow2 snap1 vmsnap win10-e2021.qcow2 snap1 diff --git a/scripts/pyinstaller/up2k.ico b/scripts/pyinstaller/up2k.ico new file mode 100644 index 00000000..adf90cb3 Binary files /dev/null and b/scripts/pyinstaller/up2k.ico differ diff --git a/scripts/rls.sh b/scripts/rls.sh index d18f12f2..048c6d14 100755 --- a/scripts/rls.sh +++ b/scripts/rls.sh @@ -1,9 +1,13 @@ #!/bin/bash set -e -# if specified, keep the following sfx flags last: gz gzz fast - -parallel=1 +# usage: ./scripts/rls.sh 1.9.11 gzz 50 # create full release +# usage: ./scripts/rls.sh sfx gzz 10 # just create sfx.py + en.py + helptext +# +# if specified, keep the following sfx-args last: gz gzz xz nopk udep fast +# +# WARNING: when creating full release, will DELETE all of ../dist/, +# and all docker-images matching 'localhost/(copyparty|alpine)-' [ -e make-sfx.sh ] || cd scripts [ -e make-sfx.sh ] && [ -e deps-docker ] || { @@ -11,26 +15,24 @@ parallel=1 exit 1 } -v=$1 +v=$1; shift +[ "$v" = sfx ] && + rls= || rls=1 -[ "$v" = sfx ] || { +[ $rls ] && { printf '%s\n' "$v" | grep -qE '^[0-9\.]+$' || exit 1 grep -E "(${v//./, })" ../copyparty/__version__.py || exit 1 - git push all + ./make-sfx.sh nopk gz + ../dist/copyparty-sfx.py --version >/dev/null + git tag v$v - git push all --tags - rm -rf ../dist - ./make-pypi-release.sh u - (cd .. && python3 ./setup.py clean2) - ./make-tgz-release.sh $v } -rm -f ../dist/copyparty-sfx* -shift +rm -rf /tmp/pe-copyparty* ../sfx ../dist/copyparty-sfx* ./make-sfx.sh "$@" ../dist/copyparty-sfx.py --version >/dev/null mv ../dist/copyparty-{sfx,int}.py @@ -38,15 +40,49 @@ mv ../dist/copyparty-{sfx,int}.py while [ "$1" ]; do case "$1" in gz*) break;; + xz) break;; + nopk) break;; + udep) break;; fast) break;; esac shift done ./make-pyz.sh +mv ../dist/copyparty{,-int}.pyz ./make-sfx.sh re lang eng "$@" mv ../dist/copyparty-{sfx,en}.py + +rm -rf /tmp/pe-copyparty* ../sfx +../dist/copyparty-en.py --version >/dev/null 2>&1 + +./make-sfx.sh re no-smb "$@" +./make-pyz.sh +mv ../dist/copyparty{,-en}.pyz +mv ../dist/copyparty{-int,}.pyz mv ../dist/copyparty-{int,sfx}.py +./genhelp.sh + +[ $rls ] || exit 0 # ---------------------------------------------------- + +./prep.sh +git add ../contrib/package/arch/PKGBUILD ../contrib/package/makedeb-mpr/PKGBUILD ../contrib/package/nix/copyparty/pin.json +git commit -m "update pkgs to $v" +git log | head + +( cd docker + #./make.sh purge + ./make.sh hclean + ./make.sh hclean + ./make.sh hclean pull img push +) + +git push +git push --all +git push --tags +git push all +git push all --all +git push all --tags # git tag -d v$v; git push --delete origin v$v diff --git a/scripts/sfx.ls b/scripts/sfx.ls index a7c8e774..28158d94 100644 --- a/scripts/sfx.ls +++ b/scripts/sfx.ls @@ -25,10 +25,12 @@ copyparty/metrics.py, copyparty/mtag.py, copyparty/multicast.py, copyparty/pwhash.py, +copyparty/qrkode.py, copyparty/res, copyparty/res/__init__.py, copyparty/res/COPYING.txt, copyparty/res/insecure.pem, +copyparty/sftpd.py, copyparty/smbd.py, copyparty/ssdp.py, copyparty/star.py, @@ -65,7 +67,7 @@ copyparty/web/a, copyparty/web/a/__init__.py, copyparty/web/a/partyfuse.py, copyparty/web/a/u2c.py, -copyparty/web/a/webdav-cfg.bat, +copyparty/web/a/webdav-cfg.txt, copyparty/web/baguettebox.js, copyparty/web/browser.css, copyparty/web/browser.html, @@ -98,8 +100,8 @@ copyparty/web/md2.js, copyparty/web/mde.css, copyparty/web/mde.html, copyparty/web/mde.js, -copyparty/web/msg.css, copyparty/web/msg.html, +copyparty/web/opds.xml, copyparty/web/rups.css, copyparty/web/rups.html, copyparty/web/rups.js, @@ -111,6 +113,27 @@ copyparty/web/splash.html, copyparty/web/splash.js, copyparty/web/svcs.html, copyparty/web/svcs.js, +copyparty/web/tl, +copyparty/web/tl/chi.js, +copyparty/web/tl/cze.js, +copyparty/web/tl/deu.js, +copyparty/web/tl/epo.js, +copyparty/web/tl/fin.js, +copyparty/web/tl/fra.js, +copyparty/web/tl/grc.js, +copyparty/web/tl/ita.js, +copyparty/web/tl/kor.js, +copyparty/web/tl/nld.js, +copyparty/web/tl/nno.js, +copyparty/web/tl/nor.js, +copyparty/web/tl/pol.js, +copyparty/web/tl/por.js, +copyparty/web/tl/rus.js, +copyparty/web/tl/spa.js, +copyparty/web/tl/swe.js, +copyparty/web/tl/tur.js, +copyparty/web/tl/ukr.js, +copyparty/web/tl/vie.js, copyparty/web/ui.css, copyparty/web/up2k.js, copyparty/web/util.js, diff --git a/scripts/sfx.py b/scripts/sfx.py index f1a4682f..c4157d0e 100644 --- a/scripts/sfx.py +++ b/scripts/sfx.py @@ -439,6 +439,8 @@ def run_s(ld): def main(): + if "--versionb" in sys.argv: + return print(VER) sysver = str(sys.version).replace("\n", "\n" + " " * 18) pktime = time.strftime("%Y-%m-%d, %H:%M:%S", time.gmtime(STAMP)) msg() diff --git a/scripts/test/smoketest.py b/scripts/test/smoketest.py index 7dbc3dad..a498b144 100644 --- a/scripts/test/smoketest.py +++ b/scripts/test/smoketest.py @@ -102,6 +102,7 @@ def tc1(vflags): "-p4321", "-e2dsa", "-e2tsr", + "--wram", "--ban-403=no", "--dbd=yolo", "--no-mutagen", diff --git a/scripts/tl.js b/scripts/tl.js index 4d4fcaba..4b51e975 100644 --- a/scripts/tl.js +++ b/scripts/tl.js @@ -1,47 +1,693 @@ "use strict"; -// NOTE: please use tabs for indenting, not spaces :-) -// NOTE: since you are using the tl.js straight from the repo, you'll -// need to find/replace all "eng" with your own three-letter name +// the three-letter name of the language you're translating to; +// please adjust this (and the "Ls.hmn" further down) +var my_lang = "hmn"; -// the three-letter name of the language you're translating to -var my_lang = "eng"; -// and because we don't know these yet... -var SR='', wah=''; - -// this function is automatically called when the page is loaded: +//////////////////////////////////////////////////////////////////////// +// please ignore the next 5 lines: +var Ls={}, SR='', wah=''; function langmod() { - - // which page is the javascript currently running on? - // look for some well-known elements to figure it out: - - if (QS("h1#cc") && QS("a#k")) { - // we are running in the control-panel - Ls[my_lang] = tl_cpanel[my_lang]; - } - else if (ebi("op_cfg")) { - // we are running in the filebrowser - Ls[my_lang] = tl_browser[my_lang]; - - // inform the settings tab that a new lang is available - LANGS.push(my_lang); - } + if (window.LANGN) + LANGN.push([my_lang, Ls[my_lang].tt]); } //////////////////////////////////////////////////////////////////////// +// alright, // below this point is where the actual translation happens; // here is the pairs of "text-identifier": "text-to-translate" - - -//////////////////////////////////////////////////////////////////////// -// translation of splash.js (the control-panel); +// +// the three-letter language-code "hmn" and language-name "Hymmnos" +// is used as an example; please replace these with your language +// // you do not need to translate the TLNotes, those are just for you :-) +// +// when you are happy with this translation and want to submit it, +// copy the text below into a new file in the translations folder; +// https://github.com/9001/copyparty/tree/hovudstraum/copyparty/web/tl -var tl_cpanel = { - "eng": { + +Ls.hmn = { + "tt": "Hymmnos", + + "cols": { + "c": "action buttons", + "dur": "duration", + "q": "quality / bitrate", + "Ac": "audio codec", + "Vc": "video codec", + "Fmt": "format / container", + "Ahash": "audio checksum", + "Vhash": "video checksum", + "Res": "resolution", + "T": "filetype", + "aq": "audio quality / bitrate", + "vq": "video quality / bitrate", + "pixfmt": "subsampling / pixel structure", + "resw": "horizontal resolution", + "resh": "vertical resolution", + "chs": "audio channels", + "hz": "sample rate", + }, + + "hks": [ + [ + "misc", + ["ESC", "close various things"], + + "file-manager", + ["G", "toggle list / grid view"], + ["T", "toggle thumbnails / icons"], + ["โ‡ง A/D", "thumbnail size"], + ["ctrl-K", "delete selected"], + ["ctrl-X", "cut selection to clipboard"], + ["ctrl-C", "copy selection to clipboard"], + ["ctrl-V", "paste (move/copy) here"], + ["Y", "download selected"], + ["F2", "rename selected"], + + "file-list-sel", + ["space", "toggle file selection"], + ["โ†‘/โ†“", "move selection cursor"], + ["ctrl โ†‘/โ†“", "move cursor and viewport"], + ["โ‡ง โ†‘/โ†“", "select prev/next file"], + ["ctrl-A", "select all files / folders"], + ], [ + "navigation", + ["B", "toggle breadcrumbs / navpane"], + ["I/K", "prev/next folder"], + ["M", "parent folder (or unexpand current)"], + ["V", "toggle folders / textfiles in navpane"], + ["A/D", "navpane size"], + ], [ + "audio-player", + ["J/L", "prev/next song"], + ["U/O", "skip 10sec back/fwd"], + ["0..9", "jump to 0%..90%"], + ["P", "play/pause (also initiates)"], + ["S", "select playing song"], + ["Y", "download song"], + ], [ + "image-viewer", + ["J/L, โ†/โ†’", "prev/next pic"], + ["Home/End", "first/last pic"], + ["F", "fullscreen"], + ["R", "rotate clockwise"], + ["โ‡ง R", "rotate ccw"], + ["S", "select pic"], + ["Y", "download pic"], + ], [ + "video-player", + ["U/O", "skip 10sec back/fwd"], + ["P/K/Space", "play/pause"], + ["C", "continue playing next"], + ["V", "loop"], + ["M", "mute"], + ["[ and ]", "set loop interval"], + ], [ + "textfile-viewer", + ["I/K", "prev/next file"], + ["M", "close textfile"], + ["E", "edit textfile"], + ["S", "select file (for cut/copy/rename)"], + ["Y", "download textfile"], + ["โ‡ง J", "beautify json"], + ] + ], + + "m_ok": "OK", + "m_ng": "Cancel", + + "enable": "Enable", + "danger": "DANGER", + "clipped": "copied to clipboard", + + "ht_s1": "second", + "ht_s2": "seconds", + "ht_m1": "minute", + "ht_m2": "minutes", + "ht_h1": "hour", + "ht_h2": "hours", + "ht_d1": "day", + "ht_d2": "days", + "ht_and": " and ", + + "goh": "control-panel", + "gop": 'previous sibling">prev', + "gou": 'parent folder">up', + "gon": 'next folder">next', + "logout": "Logout ", + "login": "Login", + "access": " access", + "ot_close": "close submenu", + "ot_search": "search for files by attributes, path / name, music tags, or any combination of those$N$N<code>foo bar</code> = must contain both ยซfooยป and ยซbarยป,$N<code>foo -bar</code> = must contain ยซfooยป but not ยซbarยป,$N<code>^yana .opus$</code> = start with ยซyanaยป and be an ยซopusยป file$N<code>"try unite"</code> = contain exactly ยซtry uniteยป$N$Nthe date format is iso-8601, like$N<code>2009-12-31</code> or <code>2020-09-12 23:30:00</code>", + "ot_unpost": "unpost: delete your recent uploads, or abort unfinished ones", + "ot_bup": "bup: basic uploader, even supports netscape 4.0", + "ot_mkdir": "mkdir: create a new directory", + "ot_md": "new-file: create a new textfile", + "ot_msg": "msg: send a message to the server log", + "ot_mp": "media player options", + "ot_cfg": "configuration options", + "ot_u2i": 'up2k: upload files (if you have write-access) or toggle into the search-mode to see if they exist somewhere on the server$N$Nuploads are resumable, multithreaded, and file timestamps are preserved, but it uses more CPU than [๐ŸŽˆ]  (the basic uploader)

    during uploads, this icon becomes a progress indicator!', + "ot_u2w": 'up2k: upload files with resume support (close your browser and drop the same files in later)$N$Nmultithreaded, and file timestamps are preserved, but it uses more CPU than [๐ŸŽˆ]  (the basic uploader)

    during uploads, this icon becomes a progress indicator!', + "ot_noie": 'Please use Chrome / Firefox / Edge', + + "ab_mkdir": "make directory", + "ab_mkdoc": "new textfile", + "ab_msg": "send msg to srv log", + + "ay_path": "skip to folders", + "ay_files": "skip to files", + + "wt_ren": "rename selected items$NHotkey: F2", + "wt_del": "delete selected items$NHotkey: ctrl-K", + "wt_cut": "cut selected items <small>(then paste somewhere else)</small>$NHotkey: ctrl-X", + "wt_cpy": "copy selected items to clipboard$N(to paste them somewhere else)$NHotkey: ctrl-C", + "wt_pst": "paste a previously cut / copied selection$NHotkey: ctrl-V", + "wt_selall": "select all files$NHotkey: ctrl-A (when file focused)", + "wt_selinv": "invert selection", + "wt_zip1": "download this folder as archive", + "wt_selzip": "download selection as archive", + "wt_seldl": "download selection as separate files$NHotkey: Y", + "wt_npirc": "copy irc-formatted track info", + "wt_nptxt": "copy plaintext track info", + "wt_m3ua": "add to m3u playlist (click ๐Ÿ“ปcopy later)", + "wt_m3uc": "copy m3u playlist to clipboard", + "wt_grid": "toggle grid / list view$NHotkey: G", + "wt_prev": "previous track$NHotkey: J", + "wt_play": "play / pause$NHotkey: P", + "wt_next": "next track$NHotkey: L", + + "ul_par": "parallel uploads:", + "ut_rand": "randomize filenames", + "ut_u2ts": "copy the last-modified timestamp$Nfrom your filesystem to the server\">๐Ÿ“…", + "ut_ow": "overwrite existing files on the server?$N๐Ÿ›ก๏ธ: never (will generate a new filename instead)$N๐Ÿ•’: overwrite if server-file is older than yours$Nโ™ป๏ธ: always overwrite if the files are different$Nโญ๏ธ: unconditionally skip all existing files", + "ut_mt": "continue hashing other files while uploading$N$Nmaybe disable if your CPU or HDD is a bottleneck", + "ut_ask": 'ask for confirmation before upload starts">๐Ÿ’ญ', + "ut_pot": "improve upload speed on slow devices$Nby making the UI less complex", + "ut_srch": "don't actually upload, instead check if the files already $N exist on the server (will scan all folders you can read)", + "ut_par": "pause uploads by setting it to 0$N$Nincrease if your connection is slow / high latency$N$Nkeep it 1 on LAN or if the server HDD is a bottleneck", + "ul_btn": "drop files / folders
    here (or click me)", + "ul_btnu": "U P L O A D", + "ul_btns": "S E A R C H", + + "ul_hash": "hash", + "ul_send": "send", + "ul_done": "done", + "ul_idle1": "no uploads are queued yet", + "ut_etah": "average <em>hashing</em> speed, and estimated time until finish", + "ut_etau": "average <em>upload</em> speed and estimated time until finish", + "ut_etat": "average <em>total</em> speed and estimated time until finish", + + "uct_ok": "completed successfully", + "uct_ng": "no-good: failed / rejected / not-found", + "uct_done": "ok and ng combined", + "uct_bz": "hashing or uploading", + "uct_q": "idle, pending", + + "utl_name": "filename", + "utl_ulist": "list", + "utl_ucopy": "copy", + "utl_links": "links", + "utl_stat": "status", + "utl_prog": "progress", + + // keep short: + "utl_404": "404", + "utl_err": "ERROR", + "utl_oserr": "OS-error", + "utl_found": "found", + "utl_defer": "defer", + "utl_yolo": "YOLO", + "utl_done": "done", + + "ul_flagblk": "the files were added to the queue
    however there is a busy up2k in another browser tab,
    so waiting for that to finish first", + "ul_btnlk": "the server configuration has locked this switch into this state", + + "udt_up": "Upload", + "udt_srch": "Search", + "udt_drop": "drop it here", + + "u_nav_m": '
    aight, what do you have?
    Enter = Files (one or more)\nESC = One folder (including subfolders)', + "u_nav_b": 'FilesOne folder', + + "cl_opts": "switches", + "cl_hfsz": "filesize", + "cl_themes": "theme", + "cl_langs": "language", + "cl_ziptype": "folder download", + "cl_uopts": "up2k switches", + "cl_favico": "favicon", + "cl_bigdir": "big dirs", + "cl_hsort": "#sort", + "cl_keytype": "key notation", + "cl_hiddenc": "hidden columns", + "cl_hidec": "hide", + "cl_reset": "reset", + "cl_hpick": "tap on column headers to hide in the table below", + "cl_hcancel": "column hiding aborted", + "cl_rcm": "right-click menu", + + "ct_grid": '็”ฐ the grid', + "ct_ttips": 'โ—” โ—ก โ—”">โ„น๏ธ tooltips', + "ct_thumb": 'in grid-view, toggle icons or thumbnails$NHotkey: T">๐Ÿ–ผ๏ธ thumbs', + "ct_csel": 'use CTRL and SHIFT for file selection in grid-view">sel', + "ct_dl": 'force download (don\'t display inline) when a file is clicked">dl', + "ct_ihop": 'when the image viewer is closed, scroll down to the last viewed file">gโฎฏ', + "ct_dots": 'show hidden files (if server permits)">dotfiles', + "ct_qdel": 'when deleting files, only ask for confirmation once">qdel', + "ct_dir1st": 'sort folders before files">๐Ÿ“ first', + "ct_nsort": 'natural sort (for filenames with leading digits)">nsort', + "ct_utc": 'show all datetimes in UTC">UTC', + "ct_readme": 'show README.md in folder listings">๐Ÿ“œ readme', + "ct_idxh": 'show index.html instead of folder listing">htm', + "ct_sbars": 'show scrollbars">โŸŠ', + + "cut_umod": "if a file already exists on the server, update the server's last-modified timestamp to match your local file (requires write+delete permissions)\">re๐Ÿ“…", + + "cut_turbo": "the yolo button, you probably DO NOT want to enable this:$N$Nuse this if you were uploading a huge amount of files and had to restart for some reason, and want to continue the upload ASAP$N$Nthis replaces the hash-check with a simple "does this have the same filesize on the server?" so if the file contents are different it will NOT be uploaded$N$Nyou should turn this off when the upload is done, and then "upload" the same files again to let the client verify them\">turbo", + + "cut_datechk": "has no effect unless the turbo button is enabled$N$Nreduces the yolo factor by a tiny amount; checks whether the file timestamps on the server matches yours$N$Nshould theoretically catch most unfinished / corrupted uploads, but is not a substitute for doing a verification pass with turbo disabled afterwards\">date-chk", + + "cut_u2sz": "size (in MiB) of each upload chunk; big values fly better across the atlantic. Try low values on very unreliable connections", + + "cut_flag": "ensure only one tab is uploading at a time $N -- other tabs must have this enabled too $N -- only affects tabs on the same domain", + + "cut_az": "upload files in alphabetical order, rather than smallest-file-first$N$Nalphabetical order can make it easier to eyeball if something went wrong on the server, but it makes uploading slightly slower on fiber / LAN", + + "cut_nag": "OS notification when upload completes$N(only if the browser or tab is not active)", + "cut_sfx": "audible alert when upload completes$N(only if the browser or tab is not active)", + + "cut_mt": "use multithreading to accelerate file hashing$N$Nthis uses web-workers and requires$Nmore RAM (up to 512 MiB extra)$N$Nmakes https 30% faster, http 4.5x faster\">mt", + + "cut_wasm": "use wasm instead of the browser's built-in hasher; improves speed on chrome-based browsers but increases CPU load, and many older versions of chrome have bugs which makes the browser consume all RAM and crash if this is enabled\">wasm", + + "cft_text": "favicon text (blank and refresh to disable)", + "cft_fg": "foreground color", + "cft_bg": "background color", + + "cdt_lim": "max number of files to show in a folder", + "cdt_ask": "when scrolling to the bottom,$Ninstead of loading more files,$Nask what to do", + "cdt_hsort": "how many sorting rules (<code>,sorthref</code>) to include in media-URLs. Setting this to 0 will also ignore sorting-rules included in media links when clicking them", + "cdt_ren": "enable custom right-click menu, you can still access the regular menu by pressing the shift key and right-clicking", + + "tt_entree": "show navpane (directory tree sidebar)$NHotkey: B", + "tt_detree": "show breadcrumbs$NHotkey: B", + "tt_visdir": "scroll to selected folder", + "tt_ftree": "toggle folder-tree / textfiles$NHotkey: V", + "tt_pdock": "show parent folders in a docked pane at the top", + "tt_dynt": "autogrow as tree expands", + "tt_wrap": "word wrap", + "tt_hover": "reveal overflowing lines on hover$N( breaks scrolling unless mouse $N  cursor is in the left gutter )", + + "ml_pmode": "at end of folder...", + "ml_btns": "cmds", + "ml_tcode": "transcode", + "ml_tcode2": "transcode to", + "ml_tint": "tint", + "ml_eq": "audio equalizer", + "ml_drc": "dynamic range compressor", + + "mt_loop": "loop/repeat one song\">๐Ÿ”", + "mt_one": "stop after one song\">1๏ธโƒฃ", + "mt_shuf": "shuffle the songs in each folder\">๐Ÿ”€", + "mt_aplay": "autoplay if there is a song-ID in the link you clicked to access the server$N$Ndisabling this will also stop the page URL from being updated with song-IDs when playing music, to prevent autoplay if these settings are lost but the URL remains\">aโ–ถ", + "mt_preload": "start loading the next song near the end for gapless playback\">preload", + "mt_prescan": "go to the next folder before the last song$Nends, keeping the webbrowser happy$Nso it doesn't stop the playback\">nav", + "mt_fullpre": "try to preload the entire song;$Nโœ… enable on unreliable connections,$NโŒ disable on slow connections probably\">full", + "mt_fau": "on phones, prevent music from stopping if the next song doesn't preload fast enough (can make tags display glitchy)\">โ˜•๏ธ", + "mt_waves": "waveform seekbar:$Nshow audio amplitude in the scrubber\">~s", + "mt_npclip": "show buttons for clipboarding the currently playing song\">/np", + "mt_m3u_c": "show buttons for clipboarding the$Nselected songs as m3u8 playlist entries\">๐Ÿ“ป", + "mt_octl": "os integration (media hotkeys / osd)\">os-ctl", + "mt_oseek": "allow seeking through os integration$N$Nnote: on some devices (iPhones),$Nthis replaces the next-song button\">seek", + "mt_oscv": "show album cover in osd\">art", + "mt_follow": "keep the playing track scrolled into view\">๐ŸŽฏ", + "mt_compact": "compact controls\">โŸŽ", + "mt_uncache": "clear cache  (try this if your browser cached$Na broken copy of a song so it refuses to play)\">uncache", + "mt_mloop": "loop the open folder\">๐Ÿ” loop", + "mt_mnext": "load the next folder and continue\">๐Ÿ“‚ next", + "mt_mstop": "stop playback\">โธ stop", + "mt_cflac": "convert flac / wav to {0}\">flac", + "mt_caac": "convert aac / m4a to {0}\">aac", + "mt_coth": "convert all others (not mp3) to {0}\">oth", + "mt_c2opus": "best choice for desktops, laptops, android\">opus", + "mt_c2owa": "opus-weba, for iOS 17.5 and newer\">owa", + "mt_c2caf": "opus-caf, for iOS 11 through 17\">caf", + "mt_c2mp3": "use this on very old devices\">mp3", + "mt_c2flac": "best sound quality, but huge downloads\">flac", + "mt_c2wav": "uncompressed playback (even bigger)\">wav", + "mt_c2ok": "nice, good choice", + "mt_c2nd": "that's not the recommended output format for your device, but that's fine", + "mt_c2ng": "your device does not seem to support this output format, but let's try anyways", + "mt_xowa": "there are bugs in iOS preventing background playback using this format; please use caf or mp3 instead", + "mt_tint": "background level (0-100) on the seekbar$Nto make buffering less distracting", + "mt_eq": "enables the equalizer and gain control;$N$Nboost <code>0</code> = standard 100% volume (unmodified)$N$Nwidth <code>1  </code> = standard stereo (unmodified)$Nwidth <code>0.5</code> = 50% left-right crossfeed$Nwidth <code>0  </code> = mono$N$Nboost <code>-0.8</code> & width <code>10</code> = vocal removal :^)$N$Nenabling the equalizer makes gapless albums fully gapless, so leave it on with all the values at zero (except width = 1) if you care about that", + "mt_drc": "enables the dynamic range compressor (volume flattener / brickwaller); will also enable EQ to balance the spaghetti, so set all EQ fields except for 'width' to 0 if you don't want it$N$Nlowers the volume of audio above THRESHOLD dB; for every RATIO dB past THRESHOLD there is 1 dB of output, so default values of tresh -24 and ratio 12 means it should never get louder than -22 dB and it is safe to increase the equalizer boost to 0.8, or even 1.8 with ATK 0 and a huge RLS like 90 (only works in firefox; RLS is max 1 in other browsers)$N$N(see wikipedia, they explain it much better)", + + "mb_play": "play", + "mm_hashplay": "play this audio file?", + "mm_m3u": "press Enter/OK to Play\npress ESC/Cancel to Edit", + "mp_breq": "need firefox 82+ or chrome 73+ or iOS 15+", + "mm_bload": "now loading...", + "mm_bconv": "converting to {0}, please wait...", + "mm_opusen": "your browser cannot play aac / m4a files;\ntranscoding to opus is now enabled", + "mm_playerr": "playback failed: ", + "mm_eabrt": "The playback attempt was cancelled", + "mm_enet": "Your internet connection is wonky", + "mm_edec": "This file is supposedly corrupted??", + "mm_esupp": "Your browser does not understand this audio format", + "mm_eunk": "Unknown Errol", + "mm_e404": "Could not play audio; error 404: File not found.", + "mm_e403": "Could not play audio; error 403: Access denied.\n\nTry pressing F5 to reload, maybe you got logged out", + "mm_e500": "Could not play audio; error 500: Check server logs.", + "mm_e5xx": "Could not play audio; server error ", + "mm_nof": "not finding any more audio files nearby", + "mm_prescan": "Looking for music to play next...", + "mm_scank": "Found the next song:", + "mm_uncache": "cache cleared; all songs will redownload on next playback", + "mm_hnf": "that song no longer exists", + + "im_hnf": "that image no longer exists", + + "f_empty": 'this folder is empty', + "f_chide": 'this will hide the column ยซ{0}ยป\n\nyou can unhide columns in the settings tab', + "f_bigtxt": "this file is {0} MiB large -- really view as text?", + "f_bigtxt2": "view just the end of the file instead? this will also enable following/tailing, showing newly added lines of text in real time", + "fbd_more": '
    showing {0} of {1} files; show {2} or show all
    ', + "fbd_all": '
    showing {0} of {1} files; show all
    ', + "f_anota": "only {0} of the {1} items were selected;\nto select the full folder, first scroll to the bottom", + + "f_dls": 'the file links in the current folder have\nbeen changed into download links', + + "f_partial": "To safely download a file which is currently being uploaded, please click the file which has the same filename, but without the .PARTIAL file extension. Please press CANCEL or Escape to do this.\n\nPressing OK / Enter will ignore this warning and continue downloading the .PARTIAL scratchfile instead, which will almost definitely give you corrupted data.", + + "ft_paste": "paste {0} items$NHotkey: ctrl-V", + "fr_eperm": 'cannot rename:\nyou do not have โ€œmoveโ€ permission in this folder', + "fd_eperm": 'cannot delete:\nyou do not have โ€œdeleteโ€ permission in this folder', + "fc_eperm": 'cannot cut:\nyou do not have โ€œmoveโ€ permission in this folder', + "fp_eperm": 'cannot paste:\nyou do not have โ€œwriteโ€ permission in this folder', + "fr_emore": "select at least one item to rename", + "fd_emore": "select at least one item to delete", + "fc_emore": "select at least one item to cut", + "fcp_emore": "select at least one item to copy to clipboard", + + "fs_sc": "share the folder you're in", + "fs_ss": "share the selected files", + "fs_just1d": "you cannot select more than one folder,\nor mix files and folders in one selection", + "fs_abrt": "โŒ abort", + "fs_rand": "๐ŸŽฒ rand.name", + "fs_go": "โœ… create share", + "fs_name": "name", + "fs_src": "source", + "fs_pwd": "passwd", + "fs_exp": "expiry", + "fs_tmin": "min", + "fs_thrs": "hours", + "fs_tdays": "days", + "fs_never": "eternal", + "fs_pname": "optional link name; will be random if blank", + "fs_tsrc": "the file or folder to share", + "fs_ppwd": "optional password", + "fs_w8": "creating share...", + "fs_ok": "press Enter/OK to Clipboard\npress ESC/Cancel to Close", + + "frt_dec": "may fix some cases of broken filenames\">url-decode", + "frt_rst": "reset modified filenames back to the original ones\">โ†บ reset", + "frt_abrt": "abort and close this window\">โŒ cancel", + "frb_apply": "APPLY RENAME", + "fr_adv": "batch / metadata / pattern renaming\">advanced", + "fr_case": "case-sensitive regex\">case", + "fr_win": "windows-safe names; replace <>:"\\|?* with japanese fullwidth characters\">win", + "fr_slash": "replace / with a character that doesn't cause new folders to be created\">no /", + "fr_re": "regex search pattern to apply to original filenames; capturing groups can be referenced in the format field below like <code>(1)</code> and <code>(2)</code> and so on", + "fr_fmt": "inspired by foobar2000:$N<code>(title)</code> is replaced by song title,$N<code>[(artist) - ](title)</code> skips [this] part if artist is blank$N<code>$lpad((tn),2,0)</code> pads tracknumber to 2 digits", + "fr_pdel": "delete", + "fr_pnew": "save as", + "fr_pname": "provide a name for your new preset", + "fr_aborted": "aborted", + "fr_lold": "old name", + "fr_lnew": "new name", + "fr_tags": "tags for the selected files (read-only, just for reference):", + "fr_busy": "renaming {0} items...\n\n{1}", + "fr_efail": "rename failed:\n", + "fr_nchg": "{0} of the new names were altered due to win and/or no /\n\nOK to continue with these altered new names?", + + "fd_ok": "delete OK", + "fd_err": "delete failed:\n", + "fd_none": "nothing was deleted; maybe blocked by server config (xbd)?", + "fd_busy": "deleting {0} items...\n\n{1}", + "fd_warn1": "DELETE these {0} items?", + "fd_warn2": "Last chance! No way to undo. Delete?", + + "fc_ok": "cut {0} items", + "fc_warn": 'cut {0} items\n\nbut: only this browser-tab can paste them\n(since the selection is so absolutely massive)', + + "fcc_ok": "copied {0} items to clipboard", + "fcc_warn": 'copied {0} items to clipboard\n\nbut: only this browser-tab can paste them\n(since the selection is so absolutely massive)', + + "fp_apply": "use these names", + "fp_skip": "skip conflicts", // TLNote: "skip existing names" (filenames taken in target folder) + "fp_ecut": "first cut or copy some files / folders to paste / move\n\nnote: you can cut / paste across different browser tabs", + "fp_ename": "{0} items cannot be moved here because the names are already taken. Give them new names below to continue, or blank the name (\"skip conflicts\") to skip them:", + "fcp_ename": "{0} items cannot be copied here because the names are already taken. Give them new names below to continue, or blank the name (\"skip conflicts\") to skip them:", + "fp_emore": "there are still some filename collisions left to fix", + "fp_ok": "move OK", + "fcp_ok": "copy OK", + "fp_busy": "moving {0} items...\n\n{1}", + "fcp_busy": "copying {0} items...\n\n{1}", + "fp_abrt": "aborting...", + "fp_err": "move failed:\n", + "fcp_err": "copy failed:\n", + "fp_confirm": "move these {0} items here?", + "fcp_confirm": "copy these {0} items here?", + "fp_etab": 'failed to read clipboard from other browser tab', + "fp_name": "uploading a file from your device. Give it a name:", + "fp_both_m": '
    choose what to paste
    Enter = Move {0} files from ยซ{1}ยป\nESC = Upload {2} files from your device', + "fcp_both_m": '
    choose what to paste
    Enter = Copy {0} files from ยซ{1}ยป\nESC = Upload {2} files from your device', + "fp_both_b": 'MoveUpload', + "fcp_both_b": 'CopyUpload', + + "mk_noname": "type a name into the text field on the left before you do that :p", + "nmd_i1": "also add the file extension you want, for example .md", + "nmd_i2": "you can only create .md files because you don't have the delete-permission", + + "tv_load": "Loading text document:\n\n{0}\n\n{1}% ({2} of {3} MiB loaded)", + "tv_xe1": "could not load textfile:\n\nerror ", + "tv_xe2": "404, file not found", + "tv_lst": "list of textfiles in", + "tvt_close": "return to folder view$NHotkey: M (or Esc)\">โŒ close", + "tvt_dl": "download this file$NHotkey: Y\">๐Ÿ’พ download", + "tvt_prev": "show previous document$NHotkey: i\">โฌ† prev", + "tvt_next": "show next document$NHotkey: K\">โฌ‡ next", + "tvt_sel": "select file   ( for cut / copy / delete / ... )$NHotkey: S\">sel", + "tvt_j": "beautify json$NHotkey: shift-J\">j", + "tvt_edit": "open file in text editor$NHotkey: E\">โœ๏ธ edit", + "tvt_tail": "monitor file for changes; show new lines in real time\">๐Ÿ“ก follow", + "tvt_wrap": "word-wrap\">โ†ต", + "tvt_atail": "lock scroll to bottom of page\">โš“", + "tvt_ctail": "decode terminal colors (ansi escape codes)\">๐ŸŒˆ", + "tvt_ntail": "scrollback limit (how many bytes of text to keep loaded)", + + "m3u_add1": "song added to m3u playlist", + "m3u_addn": "{0} songs added to m3u playlist", + "m3u_clip": "m3u playlist now copied to clipboard\n\nyou should create a new textfile named something.m3u and paste the playlist in that document; this will make it playable", + + "gt_vau": "don't show videos, just play the audio\">๐ŸŽง", + "gt_msel": "enable file selection; ctrl-click a file to override$N$N<em>when active: doubleclick a file / folder to open it</em>$N$NHotkey: S\">multiselect", + "gt_crop": "center-crop thumbnails\">crop", + "gt_3x": "hi-res thumbnails\">3x", + "gt_zoom": "zoom", + "gt_chop": "chop", + "gt_sort": "sort by", + "gt_name": "name", + "gt_sz": "size", + "gt_ts": "date", + "gt_ext": "type", + "gt_c1": "truncate filenames more (show less)", + "gt_c2": "truncate filenames less (show more)", + + "sm_w8": "searching...", + "sm_prev": "search results below are from a previous query:\n ", + "sl_close": "close search results", + "sl_hits": "showing {0} hits", + "sl_moar": "load more", + + "s_sz": "size", + "s_dt": "date", + "s_rd": "path", + "s_fn": "name", + "s_ta": "tags", + "s_ua": "up@", + "s_ad": "adv.", + "s_s1": "minimum MiB", + "s_s2": "maximum MiB", + "s_d1": "min. iso8601", + "s_d2": "max. iso8601", + "s_u1": "uploaded after", + "s_u2": "and/or before", + "s_r1": "path contains   (space-separated)", + "s_f1": "name contains   (negate with -nope)", + "s_t1": "tags contains   (^=start, end=$)", + "s_a1": "specific metadata properties", + + "md_eshow": "cannot render ", + "md_off": "[๐Ÿ“œreadme] disabled in [โš™๏ธ] -- document hidden", + + "badreply": "Failed to parse reply from server", + + "xhr403": "403: Access denied\n\ntry pressing F5, maybe you got logged out", + "xhr0": "unknown (probably lost connection to server, or server is offline)", + "cf_ok": "sorry about that -- DD" + wah + "oS protection kicked in\n\nthings should resume in about 30 sec\n\nif nothing happens, hit F5 to reload the page", + "tl_xe1": "could not list subfolders:\n\nerror ", + "tl_xe2": "404: Folder not found", + "fl_xe1": "could not list files in folder:\n\nerror ", + "fl_xe2": "404: Folder not found", + "fd_xe1": "could not create subfolder:\n\nerror ", + "fd_xe2": "404: Parent folder not found", + "fsm_xe1": "could not send message:\n\nerror ", + "fsm_xe2": "404: Parent folder not found", + "fu_xe1": "failed to load unpost list from server:\n\nerror ", + "fu_xe2": "404: File not found??", + + "fz_tar": "uncompressed gnu-tar file (linux / mac)", + "fz_pax": "uncompressed pax-format tar (slower)", + "fz_targz": "gnu-tar with gzip level 3 compression$N$Nthis is usually very slow, so$Nuse uncompressed tar instead", + "fz_tarxz": "gnu-tar with xz level 1 compression$N$Nthis is usually very slow, so$Nuse uncompressed tar instead", + "fz_zip8": "zip with utf8 filenames (maybe wonky on windows 7 and older)", + "fz_zipd": "zip with traditional cp437 filenames, for really old software", + "fz_zipc": "cp437 with crc32 computed early,$Nfor MS-DOS PKZIP v2.04g (october 1993)$N(takes longer to process before download can start)", + + "un_m1": "you can delete your recent uploads (or abort unfinished ones) below", + "un_upd": "refresh", + "un_m4": "or share the files visible below:", + "un_ulist": "show", + "un_ucopy": "copy", + "un_flt": "optional filter:  URL must contain", + "un_fclr": "clear filter", + "un_derr": 'unpost-delete failed:\n', + "un_f5": 'something broke, please try a refresh or hit F5', + "un_uf5": "sorry but you have to refresh the page (for example by pressing F5 or CTRL-R) before this upload can be aborted", + "un_nou": 'warning: server too busy to show unfinished uploads; click the "refresh" link in a bit', + "un_noc": 'warning: unpost of fully uploaded files is not enabled/permitted in server config', + "un_max": "showing first 2000 files (use the filter)", + "un_avail": "{0} recent uploads can be deleted
    {1} unfinished ones can be aborted", + "un_m2": "sorted by upload time; most recent first:", + "un_no1": "sike! no uploads are sufficiently recent", + "un_no2": "sike! no uploads matching that filter are sufficiently recent", + "un_next": "delete the next {0} files below", + "un_abrt": "abort", + "un_del": "delete", + "un_m3": "loading your recent uploads...", + "un_busy": "deleting {0} files...", + "un_clip": "{0} links copied to clipboard", + + "u_https1": "you should", + "u_https2": "switch to https", + "u_https3": "for better performance", + "u_ancient": 'your browser is impressively ancient -- maybe you should use bup instead', + "u_nowork": "need firefox 53+ or chrome 57+ or iOS 11+", + "tail_2old": "need firefox 105+ or chrome 71+ or iOS 14.5+", + "u_nodrop": 'your browser is too old for drag-and-drop uploading', + "u_notdir": "that's not a folder!\n\nyour browser is too old,\nplease try dragdrop instead", + "u_uri": "to dragdrop images from other browser windows,\nplease drop it onto the big upload button", + "u_enpot": 'switch to potato UI (may improve upload speed)', + "u_depot": 'switch to fancy UI (may reduce upload speed)', + "u_gotpot": 'switching to the potato UI for improved upload speed,\n\nfeel free to disagree and switch back!', + "u_pott": "

    files:   {0} finished,   {1} failed,   {2} busy,   {3} queued

    ", + "u_ever": "this is the basic uploader; up2k needs at least
    chrome 21 // firefox 13 // edge 12 // opera 12 // safari 5.1", + "u_su2k": 'this is the basic uploader; up2k is better', + "u_uput": 'optimize for speed (skip checksum)', + "u_ewrite": 'you do not have write-access to this folder', + "u_eread": 'you do not have read-access to this folder', + "u_enoi": 'file-search is not enabled in server config', + "u_enoow": "overwrite will not work here; need Delete-permission", + "u_badf": 'These {0} files (of {1} total) were skipped, possibly due to filesystem permissions:\n\n', + "u_blankf": 'These {0} files (of {1} total) are blank / empty; upload them anyways?\n\n', + "u_applef": 'These {0} files (of {1} total) are probably undesirable;\nPress OK/Enter to SKIP the following files,\nPress Cancel/ESC to NOT exclude, and UPLOAD those as well:\n\n', + "u_just1": '\nMaybe it works better if you select just one file', + "u_ff_many": "if you're using Linux / MacOS / Android, then this amount of files may crash Firefox!\nif that happens, please try again (or use Chrome).", + "u_up_life": "This upload will be deleted from the server\n{0} after it completes", + "u_asku": 'upload these {0} files to {1}', + "u_unpt": "you can undo / delete this upload using the top-left ๐Ÿงฏ", + "u_bigtab": 'about to show {0} files\n\nthis may crash your browser, are you sure?', + "u_scan": 'Scanning files...', + "u_dirstuck": 'directory iterator got stuck trying to access the following {0} items; will skip:', + "u_etadone": 'Done ({0}, {1} files)', + "u_etaprep": '(preparing to upload)', + "u_hashdone": 'hashing done', + "u_hashing": 'hash', + "u_hs": 'handshaking...', + "u_started": "the files are now being uploaded; see [๐Ÿš€]", + "u_dupdefer": "duplicate; will be processed after all other files", + "u_actx": "click this text to prevent loss of
    performance when switching to other windows/tabs", + "u_fixed": "OK!  Fixed it ๐Ÿ‘", + "u_cuerr": "failed to upload chunk {0} of {1};\nprobably harmless, continuing\n\nfile: {2}", + "u_cuerr2": "server rejected upload (chunk {0} of {1});\nwill retry later\n\nfile: {2}\n\nerror ", + "u_ehstmp": "will retry; see bottom-right", + "u_ehsfin": "server rejected the request to finalize upload; retrying...", + "u_ehssrch": "server rejected the request to perform search; retrying...", + "u_ehsinit": "server rejected the request to initiate upload; retrying...", + "u_eneths": "network error while performing upload handshake; retrying...", + "u_enethd": "network error while testing target existence; retrying...", + "u_cbusy": "waiting for server to trust us again after a network glitch...", + "u_ehsdf": "server ran out of disk space!\n\nwill keep retrying, in case someone\nfrees up enough space to continue", + "u_emtleak1": "it looks like your webbrowser may have a memory leak;\nplease", + "u_emtleak2": ' switch to https (recommended) or ', + "u_emtleak3": ' ', + "u_emtleakc": 'try the following:\n
    • hit F5 to refresh the page
    • then disable the  mt  button in the  โš™๏ธ settings
    • and try that upload again
    Uploads will be a bit slower, but oh well.\nSorry for the trouble !\n\nPS: chrome v107 has a bugfix for this', + "u_emtleakf": 'try the following:\n
    • hit F5 to refresh the page
    • then enable ๐Ÿฅ” (potato) in the upload UI
    • and try that upload again
    \nPS: firefox will hopefully have a bugfix at some point', + "u_s404": "not found on server", + "u_expl": "explain", + "u_maxconn": "most browsers limit this to 6, but firefox lets you raise it with connections-per-server in about:config", + "u_tu": '

    WARNING: turbo enabled,  client may not detect and resume incomplete uploads; see turbo-button tooltip

    ', + "u_ts": '

    WARNING: turbo enabled,  search results can be incorrect; see turbo-button tooltip

    ', + "u_turbo_c": "turbo is disabled in server config", + "u_turbo_g": "disabling turbo because you don't have\ndirectory listing privileges within this volume", + "u_life_cfg": 'autodelete after min (or hours)', + "u_life_est": 'upload will be deleted ---', + "u_life_max": 'this folder enforces a\nmax lifetime of {0}', + "u_unp_ok": 'unpost is allowed for {0}', + "u_unp_ng": 'unpost will NOT be allowed', + "ue_ro": 'your access to this folder is Read-Only\n\n', + "ue_nl": 'you are currently not logged in', + "ue_la": 'you are currently logged in as "{0}"', + "ue_sr": 'you are currently in file-search mode\n\nswitch to upload-mode by clicking the magnifying glass ๐Ÿ”Ž (next to the big SEARCH button), and try uploading again\n\nsorry', + "ue_ta": 'try uploading again, it should work now', + "ue_ab": "this file is already being uploaded into another folder, and that upload must be completed before the file can be uploaded elsewhere.\n\nYou can abort and forget the initial upload using the top-left ๐Ÿงฏ", + "ur_1uo": "OK: File uploaded successfully", + "ur_auo": "OK: All {0} files uploaded successfully", + "ur_1so": "OK: File found on server", + "ur_aso": "OK: All {0} files found on server", + "ur_1un": "Upload failed, sorry", + "ur_aun": "All {0} uploads failed, sorry", + "ur_1sn": "File was NOT found on server", + "ur_asn": "The {0} files were NOT found on server", + "ur_um": "Finished;\n{0} uploads OK,\n{1} uploads failed, sorry", + "ur_sm": "Finished;\n{0} files found on server,\n{1} files NOT found on server", + + "rc_opn": "Open", + "rc_ply": "Play", + "rc_pla": "Play as audio", + "rc_txt": "Open in file viewer", + "rc_md": "Open in markdown editor", + "rc_dl": "Download", + "rc_zip": "Download as archive", + "rc_del": "Delete", + "rc_cut": "Cut", + "rc_cpy": "Copy", + "rc_pst": "Paste", + "rc_nfo": "New folder", + "rc_nfi": "New file", + "rc_sal": "Select all", + "rc_sin": "Invert selection", + + "lang_set": "refresh to make the change take effect?", + + "splash": { "a1": "refresh", "b1": "howdy stranger   (you're not logged in)", "c1": "logout", @@ -75,650 +721,14 @@ var tl_cpanel = { "ta1": "fill in your new password first", "ta2": "repeat to confirm new password:", "ta3": "found a typo; please try again", + "nop": "ERROR: Password cannot be blank", + "nou": "ERROR: Username and/or password cannot be blank", "aa1": "incoming files:", "ab1": "disable no304", "ac1": "enable no304", "ad1": "enabling no304 will disable all caching; try this if k304 wasn't enough. This will waste a huge amount of network traffic!", "ae1": "active downloads:", - "af1": "show recent uploads", - "ag1": "view idp cache", - }, + "af1": "show recent uploads", + "ag1": "view idp cache", // TLNote: is a link to a page where IdP users can be managed + } }; - - -//////////////////////////////////////////////////////////////////////// -// translation of browser.js (the filebrowser): - -var tl_browser = { - "eng": { - "tt": "English", - - - "cols": { - "c": "action buttons", - "dur": "duration", - "q": "quality / bitrate", - "Ac": "audio codec", - "Vc": "video codec", - "Fmt": "format / container", - "Ahash": "audio checksum", - "Vhash": "video checksum", - "Res": "resolution", - "T": "filetype", - "aq": "audio quality / bitrate", - "vq": "video quality / bitrate", - "pixfmt": "subsampling / pixel structure", - "resw": "horizontal resolution", - "resh": "vertical resolution", - "chs": "audio channels", - "hz": "sample rate" - }, - - "hks": [ - [ - "misc", - ["ESC", "close various things"], - - "file-manager", - ["G", "toggle list / grid view"], - ["T", "toggle thumbnails / icons"], - ["โ‡ง A/D", "thumbnail size"], - ["ctrl-K", "delete selected"], - ["ctrl-X", "cut selection to clipboard"], - ["ctrl-C", "copy selection to clipboard"], - ["ctrl-V", "paste (move/copy) here"], - ["Y", "download selected"], - ["F2", "rename selected"], - - "file-list-sel", - ["space", "toggle file selection"], - ["โ†‘/โ†“", "move selection cursor"], - ["ctrl โ†‘/โ†“", "move cursor and viewport"], - ["โ‡ง โ†‘/โ†“", "select prev/next file"], - ["ctrl-A", "select all files / folders"], - ], [ - "navigation", - ["B", "toggle breadcrumbs / navpane"], - ["I/K", "prev/next folder"], - ["M", "parent folder (or unexpand current)"], - ["V", "toggle folders / textfiles in navpane"], - ["A/D", "navpane size"], - ], [ - "audio-player", - ["J/L", "prev/next song"], - ["U/O", "skip 10sec back/fwd"], - ["0..9", "jump to 0%..90%"], - ["P", "play/pause (also initiates)"], - ["S", "select playing song"], - ["Y", "download song"], - ], [ - "image-viewer", - ["J/L, โ†/โ†’", "prev/next pic"], - ["Home/End", "first/last pic"], - ["F", "fullscreen"], - ["R", "rotate clockwise"], - ["โ‡ง R", "rotate ccw"], - ["S", "select pic"], - ["Y", "download pic"], - ], [ - "video-player", - ["U/O", "skip 10sec back/fwd"], - ["P/K/Space", "play/pause"], - ["C", "continue playing next"], - ["V", "loop"], - ["M", "mute"], - ["[ and ]", "set loop interval"], - ], [ - "textfile-viewer", - ["I/K", "prev/next file"], - ["M", "close textfile"], - ["E", "edit textfile"], - ["S", "select file (for cut/copy/rename)"], - ] - ], - - "m_ok": "OK", - "m_ng": "Cancel", - - "enable": "Enable", - "danger": "DANGER", - "clipped": "copied to clipboard", - - "ht_s1": "second", - "ht_s2": "seconds", - "ht_m1": "minute", - "ht_m2": "minutes", - "ht_h1": "hour", - "ht_h2": "hours", - "ht_d1": "day", - "ht_d2": "days", - "ht_and": " and ", - - "goh": "control-panel", - "gop": 'previous sibling">prev', - "gou": 'parent folder">up', - "gon": 'next folder">next', - "logout": "Logout ", - "access": " access", - "ot_close": "close submenu", - "ot_search": "search for files by attributes, path / name, music tags, or any combination of those$N$N<code>foo bar</code> = must contain both ยซfooยป and ยซbarยป,$N<code>foo -bar</code> = must contain ยซfooยป but not ยซbarยป,$N<code>^yana .opus$</code> = start with ยซyanaยป and be an ยซopusยป file$N<code>"try unite"</code> = contain exactly ยซtry uniteยป$N$Nthe date format is iso-8601, like$N<code>2009-12-31</code> or <code>2020-09-12 23:30:00</code>", - "ot_unpost": "unpost: delete your recent uploads, or abort unfinished ones", - "ot_bup": "bup: basic uploader, even supports netscape 4.0", - "ot_mkdir": "mkdir: create a new directory", - "ot_md": "new-md: create a new markdown document", - "ot_msg": "msg: send a message to the server log", - "ot_mp": "media player options", - "ot_cfg": "configuration options", - "ot_u2i": 'up2k: upload files (if you have write-access) or toggle into the search-mode to see if they exist somewhere on the server$N$Nuploads are resumable, multithreaded, and file timestamps are preserved, but it uses more CPU than [๐ŸŽˆ]  (the basic uploader)

    during uploads, this icon becomes a progress indicator!', - "ot_u2w": 'up2k: upload files with resume support (close your browser and drop the same files in later)$N$Nmultithreaded, and file timestamps are preserved, but it uses more CPU than [๐ŸŽˆ]  (the basic uploader)

    during uploads, this icon becomes a progress indicator!', - "ot_noie": 'Please use Chrome / Firefox / Edge', - - "ab_mkdir": "make directory", - "ab_mkdoc": "new markdown doc", - "ab_msg": "send msg to srv log", - - "ay_path": "skip to folders", - "ay_files": "skip to files", - - "wt_ren": "rename selected items$NHotkey: F2", - "wt_del": "delete selected items$NHotkey: ctrl-K", - "wt_cut": "cut selected items <small>(then paste somewhere else)</small>$NHotkey: ctrl-X", - "wt_cpy": "copy selected items to clipboard$N(to paste them somewhere else)$NHotkey: ctrl-C", - "wt_pst": "paste a previously cut / copied selection$NHotkey: ctrl-V", - "wt_selall": "select all files$NHotkey: ctrl-A (when file focused)", - "wt_selinv": "invert selection", - "wt_zip1": "download this folder as archive", - "wt_selzip": "download selection as archive", - "wt_seldl": "download selection as separate files$NHotkey: Y", - "wt_npirc": "copy irc-formatted track info", - "wt_nptxt": "copy plaintext track info", - "wt_m3ua": "add to m3u playlist (click ๐Ÿ“ปcopy later)", - "wt_m3uc": "copy m3u playlist to clipboard", - "wt_grid": "toggle grid / list view$NHotkey: G", - "wt_prev": "previous track$NHotkey: J", - "wt_play": "play / pause$NHotkey: P", - "wt_next": "next track$NHotkey: L", - - "ul_par": "parallel uploads:", - "ut_rand": "randomize filenames", - "ut_u2ts": "copy the last-modified timestamp$Nfrom your filesystem to the server\">๐Ÿ“…", - "ut_ow": "overwrite existing files on the server?$N๐Ÿ›ก๏ธ: never (will generate a new filename instead)$N๐Ÿ•’: overwrite if server-file is older than yours$Nโ™ป๏ธ: always overwrite if the files are different", - "ut_mt": "continue hashing other files while uploading$N$Nmaybe disable if your CPU or HDD is a bottleneck", - "ut_ask": 'ask for confirmation before upload starts">๐Ÿ’ญ', - "ut_pot": "improve upload speed on slow devices$Nby making the UI less complex", - "ut_srch": "don't actually upload, instead check if the files already $N exist on the server (will scan all folders you can read)", - "ut_par": "pause uploads by setting it to 0$N$Nincrease if your connection is slow / high latency$N$Nkeep it 1 on LAN or if the server HDD is a bottleneck", - "ul_btn": "drop files / folders
    here (or click me)", - "ul_btnu": "U P L O A D", - "ul_btns": "S E A R C H", - - "ul_hash": "hash", - "ul_send": "send", - "ul_done": "done", - "ul_idle1": "no uploads are queued yet", - "ut_etah": "average <em>hashing</em> speed, and estimated time until finish", - "ut_etau": "average <em>upload</em> speed and estimated time until finish", - "ut_etat": "average <em>total</em> speed and estimated time until finish", - - "uct_ok": "completed successfully", - "uct_ng": "no-good: failed / rejected / not-found", - "uct_done": "ok and ng combined", - "uct_bz": "hashing or uploading", - "uct_q": "idle, pending", - - "utl_name": "filename", - "utl_ulist": "list", - "utl_ucopy": "copy", - "utl_links": "links", - "utl_stat": "status", - "utl_prog": "progress", - - // keep short: - "utl_404": "404", - "utl_err": "ERROR", - "utl_oserr": "OS-error", - "utl_found": "found", - "utl_defer": "defer", - "utl_yolo": "YOLO", - "utl_done": "done", - - "ul_flagblk": "the files were added to the queue
    however there is a busy up2k in another browser tab,
    so waiting for that to finish first", - "ul_btnlk": "the server configuration has locked this switch into this state", - - "udt_up": "Upload", - "udt_srch": "Search", - "udt_drop": "drop it here", - - "u_nav_m": '
    aight, what do you have?
    Enter = Files (one or more)\nESC = One folder (including subfolders)', - "u_nav_b": 'FilesOne folder', - - "cl_opts": "switches", - "cl_themes": "theme", - "cl_langs": "language", - "cl_ziptype": "folder download", - "cl_uopts": "up2k switches", - "cl_favico": "favicon", - "cl_bigdir": "big dirs", - "cl_hsort": "#sort", - "cl_keytype": "key notation", - "cl_hiddenc": "hidden columns", - "cl_hidec": "hide", - "cl_reset": "reset", - "cl_hpick": "tap on column headers to hide in the table below", - "cl_hcancel": "column hiding aborted", - - "ct_grid": '็”ฐ the grid', - "ct_ttips": 'โ—” โ—ก โ—”">โ„น๏ธ tooltips', - "ct_thumb": 'in grid-view, toggle icons or thumbnails$NHotkey: T">๐Ÿ–ผ๏ธ thumbs', - "ct_csel": 'use CTRL and SHIFT for file selection in grid-view">sel', - "ct_ihop": 'when the image viewer is closed, scroll down to the last viewed file">gโฎฏ', - "ct_dots": 'show hidden files (if server permits)">dotfiles', - "ct_qdel": 'when deleting files, only ask for confirmation once">qdel', - "ct_dir1st": 'sort folders before files">๐Ÿ“ first', - "ct_nsort": 'natural sort (for filenames with leading digits)">nsort', - "ct_utc": 'show all datetimes in UTC">UTC', - "ct_readme": 'show README.md in folder listings">๐Ÿ“œ readme', - "ct_idxh": 'show index.html instead of folder listing">htm', - "ct_sbars": 'show scrollbars">โŸŠ', - - "cut_umod": "if a file already exists on the server, update the server's last-modified timestamp to match your local file (requires write+delete permissions)\">re๐Ÿ“…", - - "cut_turbo": "the yolo button, you probably DO NOT want to enable this:$N$Nuse this if you were uploading a huge amount of files and had to restart for some reason, and want to continue the upload ASAP$N$Nthis replaces the hash-check with a simple "does this have the same filesize on the server?" so if the file contents are different it will NOT be uploaded$N$Nyou should turn this off when the upload is done, and then "upload" the same files again to let the client verify them\">turbo", - - "cut_datechk": "has no effect unless the turbo button is enabled$N$Nreduces the yolo factor by a tiny amount; checks whether the file timestamps on the server matches yours$N$Nshould theoretically catch most unfinished / corrupted uploads, but is not a substitute for doing a verification pass with turbo disabled afterwards\">date-chk", - - "cut_u2sz": "size (in MiB) of each upload chunk; big values fly better across the atlantic. Try low values on very unreliable connections", - - "cut_flag": "ensure only one tab is uploading at a time $N -- other tabs must have this enabled too $N -- only affects tabs on the same domain", - - "cut_az": "upload files in alphabetical order, rather than smallest-file-first$N$Nalphabetical order can make it easier to eyeball if something went wrong on the server, but it makes uploading slightly slower on fiber / LAN", - - "cut_nag": "OS notification when upload completes$N(only if the browser or tab is not active)", - "cut_sfx": "audible alert when upload completes$N(only if the browser or tab is not active)", - - "cut_mt": "use multithreading to accelerate file hashing$N$Nthis uses web-workers and requires$Nmore RAM (up to 512 MiB extra)$N$Nmakes https 30% faster, http 4.5x faster\">mt", - - "cut_wasm": "use wasm instead of the browser's built-in hasher; improves speed on chrome-based browsers but increases CPU load, and many older versions of chrome have bugs which makes the browser consume all RAM and crash if this is enabled\">wasm", - - "cft_text": "favicon text (blank and refresh to disable)", - "cft_fg": "foreground color", - "cft_bg": "background color", - - "cdt_lim": "max number of files to show in a folder", - "cdt_ask": "when scrolling to the bottom,$Ninstead of loading more files,$Nask what to do", - "cdt_hsort": "how many sorting rules (<code>,sorthref</code>) to include in media-URLs. Setting this to 0 will also ignore sorting-rules included in media links when clicking them", - - "tt_entree": "show navpane (directory tree sidebar)$NHotkey: B", - "tt_detree": "show breadcrumbs$NHotkey: B", - "tt_visdir": "scroll to selected folder", - "tt_ftree": "toggle folder-tree / textfiles$NHotkey: V", - "tt_pdock": "show parent folders in a docked pane at the top", - "tt_dynt": "autogrow as tree expands", - "tt_wrap": "word wrap", - "tt_hover": "reveal overflowing lines on hover$N( breaks scrolling unless mouse $N  cursor is in the left gutter )", - - "ml_pmode": "at end of folder...", - "ml_btns": "cmds", - "ml_tcode": "transcode", - "ml_tcode2": "transcode to", - "ml_tint": "tint", - "ml_eq": "audio equalizer", - "ml_drc": "dynamic range compressor", - - "mt_loop": "loop/repeat one song\">๐Ÿ”", - "mt_one": "stop after one song\">1๏ธโƒฃ", - "mt_shuf": "shuffle the songs in each folder\">๐Ÿ”€", - "mt_aplay": "autoplay if there is a song-ID in the link you clicked to access the server$N$Ndisabling this will also stop the page URL from being updated with song-IDs when playing music, to prevent autoplay if these settings are lost but the URL remains\">aโ–ถ", - "mt_preload": "start loading the next song near the end for gapless playback\">preload", - "mt_prescan": "go to the next folder before the last song$Nends, keeping the webbrowser happy$Nso it doesn't stop the playback\">nav", - "mt_fullpre": "try to preload the entire song;$Nโœ… enable on unreliable connections,$NโŒ disable on slow connections probably\">full", - "mt_fau": "on phones, prevent music from stopping if the next song doesn't preload fast enough (can make tags display glitchy)\">โ˜•๏ธ", - "mt_waves": "waveform seekbar:$Nshow audio amplitude in the scrubber\">~s", - "mt_npclip": "show buttons for clipboarding the currently playing song\">/np", - "mt_m3u_c": "show buttons for clipboarding the$Nselected songs as m3u8 playlist entries\">๐Ÿ“ป", - "mt_octl": "os integration (media hotkeys / osd)\">os-ctl", - "mt_oseek": "allow seeking through os integration$N$Nnote: on some devices (iPhones),$Nthis replaces the next-song button\">seek", - "mt_oscv": "show album cover in osd\">art", - "mt_follow": "keep the playing track scrolled into view\">๐ŸŽฏ", - "mt_compact": "compact controls\">โŸŽ", - "mt_uncache": "clear cache  (try this if your browser cached$Na broken copy of a song so it refuses to play)\">uncache", - "mt_mloop": "loop the open folder\">๐Ÿ” loop", - "mt_mnext": "load the next folder and continue\">๐Ÿ“‚ next", - "mt_mstop": "stop playback\">โธ stop", - "mt_cflac": "convert flac / wav to opus\">flac", - "mt_caac": "convert aac / m4a to opus\">aac", - "mt_coth": "convert all others (not mp3) to opus\">oth", - "mt_c2opus": "best choice for desktops, laptops, android\">opus", - "mt_c2owa": "opus-weba, for iOS 17.5 and newer\">owa", - "mt_c2caf": "opus-caf, for iOS 11 through 17\">caf", - "mt_c2mp3": "use this on very old devices\">mp3", - "mt_c2flac": "best sound quality, but huge downloads\">flac", - "mt_c2wav": "uncompressed playback (even bigger)\">wav", - "mt_c2ok": "nice, good choice", - "mt_c2nd": "that's not the recommended output format for your device, but that's fine", - "mt_c2ng": "your device does not seem to support this output format, but let's try anyways", - "mt_xowa": "there are bugs in iOS preventing background playback using this format; please use caf or mp3 instead", - "mt_tint": "background level (0-100) on the seekbar$Nto make buffering less distracting", - "mt_eq": "enables the equalizer and gain control;$N$Nboost <code>0</code> = standard 100% volume (unmodified)$N$Nwidth <code>1  </code> = standard stereo (unmodified)$Nwidth <code>0.5</code> = 50% left-right crossfeed$Nwidth <code>0  </code> = mono$N$Nboost <code>-0.8</code> & width <code>10</code> = vocal removal :^)$N$Nenabling the equalizer makes gapless albums fully gapless, so leave it on with all the values at zero (except width = 1) if you care about that", - "mt_drc": "enables the dynamic range compressor (volume flattener / brickwaller); will also enable EQ to balance the spaghetti, so set all EQ fields except for 'width' to 0 if you don't want it$N$Nlowers the volume of audio above THRESHOLD dB; for every RATIO dB past THRESHOLD there is 1 dB of output, so default values of tresh -24 and ratio 12 means it should never get louder than -22 dB and it is safe to increase the equalizer boost to 0.8, or even 1.8 with ATK 0 and a huge RLS like 90 (only works in firefox; RLS is max 1 in other browsers)$N$N(see wikipedia, they explain it much better)", - - "mb_play": "play", - "mm_hashplay": "play this audio file?", - "mm_m3u": "press Enter/OK to Play\npress ESC/Cancel to Edit", - "mp_breq": "need firefox 82+ or chrome 73+ or iOS 15+", - "mm_bload": "now loading...", - "mm_bconv": "converting to {0}, please wait...", - "mm_opusen": "your browser cannot play aac / m4a files;\ntranscoding to opus is now enabled", - "mm_playerr": "playback failed: ", - "mm_eabrt": "The playback attempt was cancelled", - "mm_enet": "Your internet connection is wonky", - "mm_edec": "This file is supposedly corrupted??", - "mm_esupp": "Your browser does not understand this audio format", - "mm_eunk": "Unknown Errol", - "mm_e404": "Could not play audio; error 404: File not found.", - "mm_e403": "Could not play audio; error 403: Access denied.\n\nTry pressing F5 to reload, maybe you got logged out", - "mm_e500": "Could not play audio; error 500: Check server logs.", - "mm_e5xx": "Could not play audio; server error ", - "mm_nof": "not finding any more audio files nearby", - "mm_prescan": "Looking for music to play next...", - "mm_scank": "Found the next song:", - "mm_uncache": "cache cleared; all songs will redownload on next playback", - "mm_hnf": "that song no longer exists", - - "im_hnf": "that image no longer exists", - - "f_empty": 'this folder is empty', - "f_chide": 'this will hide the column ยซ{0}ยป\n\nyou can unhide columns in the settings tab', - "f_bigtxt": "this file is {0} MiB large -- really view as text?", - "f_bigtxt2": "view just the end of the file instead? this will also enable following/tailing, showing newly added lines of text in real time", - "fbd_more": '
    showing {0} of {1} files; show {2} or show all
    ', - "fbd_all": '
    showing {0} of {1} files; show all
    ', - "f_anota": "only {0} of the {1} items were selected;\nto select the full folder, first scroll to the bottom", - - "f_dls": 'the file links in the current folder have\nbeen changed into download links', - - "f_partial": "To safely download a file which is currently being uploaded, please click the file which has the same filename, but without the .PARTIAL file extension. Please press CANCEL or Escape to do this.\n\nPressing OK / Enter will ignore this warning and continue downloading the .PARTIAL scratchfile instead, which will almost definitely give you corrupted data.", - - "ft_paste": "paste {0} items$NHotkey: ctrl-V", - "fr_eperm": 'cannot rename:\nyou do not have โ€œmoveโ€ permission in this folder', - "fd_eperm": 'cannot delete:\nyou do not have โ€œdeleteโ€ permission in this folder', - "fc_eperm": 'cannot cut:\nyou do not have โ€œmoveโ€ permission in this folder', - "fp_eperm": 'cannot paste:\nyou do not have โ€œwriteโ€ permission in this folder', - "fr_emore": "select at least one item to rename", - "fd_emore": "select at least one item to delete", - "fc_emore": "select at least one item to cut", - "fcp_emore": "select at least one item to copy to clipboard", - - "fs_sc": "share the folder you're in", - "fs_ss": "share the selected files", - "fs_just1d": "you cannot select more than one folder,\nor mix files and folders in one selection", - "fs_abrt": "โŒ abort", - "fs_rand": "๐ŸŽฒ rand.name", - "fs_go": "โœ… create share", - "fs_name": "name", - "fs_src": "source", - "fs_pwd": "passwd", - "fs_exp": "expiry", - "fs_tmin": "min", - "fs_thrs": "hours", - "fs_tdays": "days", - "fs_never": "eternal", - "fs_pname": "optional link name; will be random if blank", - "fs_tsrc": "the file or folder to share", - "fs_ppwd": "optional password", - "fs_w8": "creating share...", - "fs_ok": "press Enter/OK to Clipboard\npress ESC/Cancel to Close", - - "frt_dec": "may fix some cases of broken filenames\">url-decode", - "frt_rst": "reset modified filenames back to the original ones\">โ†บ reset", - "frt_abrt": "abort and close this window\">โŒ cancel", - "frb_apply": "APPLY RENAME", - "fr_adv": "batch / metadata / pattern renaming\">advanced", - "fr_case": "case-sensitive regex\">case", - "fr_win": "windows-safe names; replace <>:"\\|?* with japanese fullwidth characters\">win", - "fr_slash": "replace / with a character that doesn't cause new folders to be created\">no /", - "fr_re": "regex search pattern to apply to original filenames; capturing groups can be referenced in the format field below like <code>(1)</code> and <code>(2)</code> and so on", - "fr_fmt": "inspired by foobar2000:$N<code>(title)</code> is replaced by song title,$N<code>[(artist) - ](title)</code> skips [this] part if artist is blank$N<code>$lpad((tn),2,0)</code> pads tracknumber to 2 digits", - "fr_pdel": "delete", - "fr_pnew": "save as", - "fr_pname": "provide a name for your new preset", - "fr_aborted": "aborted", - "fr_lold": "old name", - "fr_lnew": "new name", - "fr_tags": "tags for the selected files (read-only, just for reference):", - "fr_busy": "renaming {0} items...\n\n{1}", - "fr_efail": "rename failed:\n", - "fr_nchg": "{0} of the new names were altered due to win and/or no /\n\nOK to continue with these altered new names?", - - "fd_ok": "delete OK", - "fd_err": "delete failed:\n", - "fd_none": "nothing was deleted; maybe blocked by server config (xbd)?", - "fd_busy": "deleting {0} items...\n\n{1}", - "fd_warn1": "DELETE these {0} items?", - "fd_warn2": "Last chance! No way to undo. Delete?", - - "fc_ok": "cut {0} items", - "fc_warn": 'cut {0} items\n\nbut: only this browser-tab can paste them\n(since the selection is so absolutely massive)', - - "fcc_ok": "copied {0} items to clipboard", - "fcc_warn": 'copied {0} items to clipboard\n\nbut: only this browser-tab can paste them\n(since the selection is so absolutely massive)', - - "fp_apply": "use these names", - "fp_ecut": "first cut or copy some files / folders to paste / move\n\nnote: you can cut / paste across different browser tabs", - "fp_ename": "{0} items cannot be moved here because the names are already taken. Give them new names below to continue, or blank the name to skip them:", - "fcp_ename": "{0} items cannot be copied here because the names are already taken. Give them new names below to continue, or blank the name to skip them:", - "fp_emore": "there are still some filename collisions left to fix", - "fp_ok": "move OK", - "fcp_ok": "copy OK", - "fp_busy": "moving {0} items...\n\n{1}", - "fcp_busy": "copying {0} items...\n\n{1}", - "fp_err": "move failed:\n", - "fcp_err": "copy failed:\n", - "fp_confirm": "move these {0} items here?", - "fcp_confirm": "copy these {0} items here?", - "fp_etab": 'failed to read clipboard from other browser tab', - "fp_name": "uploading a file from your device. Give it a name:", - "fp_both_m": '
    choose what to paste
    Enter = Move {0} files from ยซ{1}ยป\nESC = Upload {2} files from your device', - "fcp_both_m": '
    choose what to paste
    Enter = Copy {0} files from ยซ{1}ยป\nESC = Upload {2} files from your device', - "fp_both_b": 'MoveUpload', - "fcp_both_b": 'CopyUpload', - - "mk_noname": "type a name into the text field on the left before you do that :p", - - "tv_load": "Loading text document:\n\n{0}\n\n{1}% ({2} of {3} MiB loaded)", - "tv_xe1": "could not load textfile:\n\nerror ", - "tv_xe2": "404, file not found", - "tv_lst": "list of textfiles in", - "tvt_close": "return to folder view$NHotkey: M (or Esc)\">โŒ close", - "tvt_dl": "download this file$NHotkey: Y\">๐Ÿ’พ download", - "tvt_prev": "show previous document$NHotkey: i\">โฌ† prev", - "tvt_next": "show next document$NHotkey: K\">โฌ‡ next", - "tvt_sel": "select file   ( for cut / copy / delete / ... )$NHotkey: S\">sel", - "tvt_edit": "open file in text editor$NHotkey: E\">โœ๏ธ edit", - "tvt_tail": "monitor file for changes; show new lines in real time\">๐Ÿ“ก follow", - "tvt_wrap": "word-wrap\">โ†ต", - "tvt_atail": "lock scroll to bottom of page\">โš“", - "tvt_ctail": "decode terminal colors (ansi escape codes)\">๐ŸŒˆ", - "tvt_ntail": "scrollback limit (how many bytes of text to keep loaded)", - - "m3u_add1": "song added to m3u playlist", - "m3u_addn": "{0} songs added to m3u playlist", - "m3u_clip": "m3u playlist now copied to clipboard\n\nyou should create a new textfile named something.m3u and paste the playlist in that document; this will make it playable", - - "gt_vau": "don't show videos, just play the audio\">๐ŸŽง", - "gt_msel": "enable file selection; ctrl-click a file to override$N$N<em>when active: doubleclick a file / folder to open it</em>$N$NHotkey: S\">multiselect", - "gt_crop": "center-crop thumbnails\">crop", - "gt_3x": "hi-res thumbnails\">3x", - "gt_zoom": "zoom", - "gt_chop": "chop", - "gt_sort": "sort by", - "gt_name": "name", - "gt_sz": "size", - "gt_ts": "date", - "gt_ext": "type", - "gt_c1": "truncate filenames more (show less)", - "gt_c2": "truncate filenames less (show more)", - - "sm_w8": "searching...", - "sm_prev": "search results below are from a previous query:\n ", - "sl_close": "close search results", - "sl_hits": "showing {0} hits", - "sl_moar": "load more", - - "s_sz": "size", - "s_dt": "date", - "s_rd": "path", - "s_fn": "name", - "s_ta": "tags", - "s_ua": "up@", - "s_ad": "adv.", - "s_s1": "minimum MiB", - "s_s2": "maximum MiB", - "s_d1": "min. iso8601", - "s_d2": "max. iso8601", - "s_u1": "uploaded after", - "s_u2": "and/or before", - "s_r1": "path contains   (space-separated)", - "s_f1": "name contains   (negate with -nope)", - "s_t1": "tags contains   (^=start, end=$)", - "s_a1": "specific metadata properties", - - "md_eshow": "cannot render ", - "md_off": "[๐Ÿ“œreadme] disabled in [โš™๏ธ] -- document hidden", - - "badreply": "Failed to parse reply from server", - - "xhr403": "403: Access denied\n\ntry pressing F5, maybe you got logged out", - "xhr0": "unknown (probably lost connection to server, or server is offline)", - "cf_ok": "sorry about that -- DD" + wah + "oS protection kicked in\n\nthings should resume in about 30 sec\n\nif nothing happens, hit F5 to reload the page", - "tl_xe1": "could not list subfolders:\n\nerror ", - "tl_xe2": "404: Folder not found", - "fl_xe1": "could not list files in folder:\n\nerror ", - "fl_xe2": "404: Folder not found", - "fd_xe1": "could not create subfolder:\n\nerror ", - "fd_xe2": "404: Parent folder not found", - "fsm_xe1": "could not send message:\n\nerror ", - "fsm_xe2": "404: Parent folder not found", - "fu_xe1": "failed to load unpost list from server:\n\nerror ", - "fu_xe2": "404: File not found??", - - "fz_tar": "uncompressed gnu-tar file (linux / mac)", - "fz_pax": "uncompressed pax-format tar (slower)", - "fz_targz": "gnu-tar with gzip level 3 compression$N$Nthis is usually very slow, so$Nuse uncompressed tar instead", - "fz_tarxz": "gnu-tar with xz level 1 compression$N$Nthis is usually very slow, so$Nuse uncompressed tar instead", - "fz_zip8": "zip with utf8 filenames (maybe wonky on windows 7 and older)", - "fz_zipd": "zip with traditional cp437 filenames, for really old software", - "fz_zipc": "cp437 with crc32 computed early,$Nfor MS-DOS PKZIP v2.04g (october 1993)$N(takes longer to process before download can start)", - - "un_m1": "you can delete your recent uploads (or abort unfinished ones) below", - "un_upd": "refresh", - "un_m4": "or share the files visible below:", - "un_ulist": "show", - "un_ucopy": "copy", - "un_flt": "optional filter:  URL must contain", - "un_fclr": "clear filter", - "un_derr": 'unpost-delete failed:\n', - "un_f5": 'something broke, please try a refresh or hit F5', - "un_uf5": "sorry but you have to refresh the page (for example by pressing F5 or CTRL-R) before this upload can be aborted", - "un_nou": 'warning: server too busy to show unfinished uploads; click the "refresh" link in a bit', - "un_noc": 'warning: unpost of fully uploaded files is not enabled/permitted in server config', - "un_max": "showing first 2000 files (use the filter)", - "un_avail": "{0} recent uploads can be deleted
    {1} unfinished ones can be aborted", - "un_m2": "sorted by upload time; most recent first:", - "un_no1": "sike! no uploads are sufficiently recent", - "un_no2": "sike! no uploads matching that filter are sufficiently recent", - "un_next": "delete the next {0} files below", - "un_abrt": "abort", - "un_del": "delete", - "un_m3": "loading your recent uploads...", - "un_busy": "deleting {0} files...", - "un_clip": "{0} links copied to clipboard", - - "u_https1": "you should", - "u_https2": "switch to https", - "u_https3": "for better performance", - "u_ancient": 'your browser is impressively ancient -- maybe you should use bup instead', - "u_nowork": "need firefox 53+ or chrome 57+ or iOS 11+", - "tail_2old": "need firefox 105+ or chrome 71+ or iOS 14.5+", - "u_nodrop": 'your browser is too old for drag-and-drop uploading', - "u_notdir": "that's not a folder!\n\nyour browser is too old,\nplease try dragdrop instead", - "u_uri": "to dragdrop images from other browser windows,\nplease drop it onto the big upload button", - "u_enpot": 'switch to potato UI (may improve upload speed)', - "u_depot": 'switch to fancy UI (may reduce upload speed)', - "u_gotpot": 'switching to the potato UI for improved upload speed,\n\nfeel free to disagree and switch back!', - "u_pott": "

    files:   {0} finished,   {1} failed,   {2} busy,   {3} queued

    ", - "u_ever": "this is the basic uploader; up2k needs at least
    chrome 21 // firefox 13 // edge 12 // opera 12 // safari 5.1", - "u_su2k": 'this is the basic uploader; up2k is better', - "u_uput": 'optimize for speed (skip checksum)', - "u_ewrite": 'you do not have write-access to this folder', - "u_eread": 'you do not have read-access to this folder', - "u_enoi": 'file-search is not enabled in server config', - "u_enoow": "overwrite will not work here; need Delete-permission", - "u_badf": 'These {0} files (of {1} total) were skipped, possibly due to filesystem permissions:\n\n', - "u_blankf": 'These {0} files (of {1} total) are blank / empty; upload them anyways?\n\n', - "u_applef": 'These {0} files (of {1} total) are probably undesirable;\nPress OK/Enter to SKIP the following files,\nPress Cancel/ESC to NOT exclude, and UPLOAD those as well:\n\n', - "u_just1": '\nMaybe it works better if you select just one file', - "u_ff_many": "if you're using Linux / MacOS / Android, then this amount of files may crash Firefox!\nif that happens, please try again (or use Chrome).", - "u_up_life": "This upload will be deleted from the server\n{0} after it completes", - "u_asku": 'upload these {0} files to {1}', - "u_unpt": "you can undo / delete this upload using the top-left ๐Ÿงฏ", - "u_bigtab": 'about to show {0} files\n\nthis may crash your browser, are you sure?', - "u_scan": 'Scanning files...', - "u_dirstuck": 'directory iterator got stuck trying to access the following {0} items; will skip:', - "u_etadone": 'Done ({0}, {1} files)', - "u_etaprep": '(preparing to upload)', - "u_hashdone": 'hashing done', - "u_hashing": 'hash', - "u_hs": 'handshaking...', - "u_started": "the files are now being uploaded; see [๐Ÿš€]", - "u_dupdefer": "duplicate; will be processed after all other files", - "u_actx": "click this text to prevent loss of
    performance when switching to other windows/tabs", - "u_fixed": "OK!  Fixed it ๐Ÿ‘", - "u_cuerr": "failed to upload chunk {0} of {1};\nprobably harmless, continuing\n\nfile: {2}", - "u_cuerr2": "server rejected upload (chunk {0} of {1});\nwill retry later\n\nfile: {2}\n\nerror ", - "u_ehstmp": "will retry; see bottom-right", - "u_ehsfin": "server rejected the request to finalize upload; retrying...", - "u_ehssrch": "server rejected the request to perform search; retrying...", - "u_ehsinit": "server rejected the request to initiate upload; retrying...", - "u_eneths": "network error while performing upload handshake; retrying...", - "u_enethd": "network error while testing target existence; retrying...", - "u_cbusy": "waiting for server to trust us again after a network glitch...", - "u_ehsdf": "server ran out of disk space!\n\nwill keep retrying, in case someone\nfrees up enough space to continue", - "u_emtleak1": "it looks like your webbrowser may have a memory leak;\nplease", - "u_emtleak2": ' switch to https (recommended) or ', - "u_emtleak3": ' ', - "u_emtleakc": 'try the following:\n
    • hit F5 to refresh the page
    • then disable the  mt  button in the  โš™๏ธ settings
    • and try that upload again
    Uploads will be a bit slower, but oh well.\nSorry for the trouble !\n\nPS: chrome v107 has a bugfix for this', - "u_emtleakf": 'try the following:\n
    • hit F5 to refresh the page
    • then enable ๐Ÿฅ” (potato) in the upload UI
    • and try that upload again
    \nPS: firefox will hopefully have a bugfix at some point', - "u_s404": "not found on server", - "u_expl": "explain", - "u_maxconn": "most browsers limit this to 6, but firefox lets you raise it with connections-per-server in about:config", - "u_tu": '

    WARNING: turbo enabled,  client may not detect and resume incomplete uploads; see turbo-button tooltip

    ', - "u_ts": '

    WARNING: turbo enabled,  search results can be incorrect; see turbo-button tooltip

    ', - "u_turbo_c": "turbo is disabled in server config", - "u_turbo_g": "disabling turbo because you don't have\ndirectory listing privileges within this volume", - "u_life_cfg": 'autodelete after min (or hours)', - "u_life_est": 'upload will be deleted ---', - "u_life_max": 'this folder enforces a\nmax lifetime of {0}', - "u_unp_ok": 'unpost is allowed for {0}', - "u_unp_ng": 'unpost will NOT be allowed', - "ue_ro": 'your access to this folder is Read-Only\n\n', - "ue_nl": 'you are currently not logged in', - "ue_la": 'you are currently logged in as "{0}"', - "ue_sr": 'you are currently in file-search mode\n\nswitch to upload-mode by clicking the magnifying glass ๐Ÿ”Ž (next to the big SEARCH button), and try uploading again\n\nsorry', - "ue_ta": 'try uploading again, it should work now', - "ue_ab": "this file is already being uploaded into another folder, and that upload must be completed before the file can be uploaded elsewhere.\n\nYou can abort and forget the initial upload using the top-left ๐Ÿงฏ", - "ur_1uo": "OK: File uploaded successfully", - "ur_auo": "OK: All {0} files uploaded successfully", - "ur_1so": "OK: File found on server", - "ur_aso": "OK: All {0} files found on server", - "ur_1un": "Upload failed, sorry", - "ur_aun": "All {0} uploads failed, sorry", - "ur_1sn": "File was NOT found on server", - "ur_asn": "The {0} files were NOT found on server", - "ur_um": "Finished;\n{0} uploads OK,\n{1} uploads failed, sorry", - "ur_sm": "Finished;\n{0} files found on server,\n{1} files NOT found on server", - - "lang_set": "refresh to make the change take effect?", - }, -}; - diff --git a/scripts/tl.py b/scripts/tl.py index df19b710..39893445 100755 --- a/scripts/tl.py +++ b/scripts/tl.py @@ -30,53 +30,48 @@ after editing tl.js, reload your webbrowser by pressing ctrl-shift-r def generate_javascript(lang3, native_name, tl_browser): - note = "// NOTE: please use tabs for indenting, not spaces :-)" - if lang3 == "eng": - note += """\n -// NOTE: since you are using the tl.js straight from the repo, you'll -// need to find/replace all "eng" with your own three-letter name""" + note1 = "" + note2 = "" + if lang3 == "hmn": + note1 = ';\n// please adjust this (and the "Ls.hmn" further down)' + note2 = """ +// the three-letter language-code "hmn" and language-name "Hymmnos" +// is used as an example; please replace these with your language +//""" return f""""use strict"; -{note} -// the three-letter name of the language you're translating to +// the three-letter name of the language you're translating to{note1} var my_lang = "{lang3}"; -// and because we don't know these yet... -var SR='', wah=''; -// this function is automatically called when the page is loaded: +//////////////////////////////////////////////////////////////////////// +// please ignore the next 5 lines: +var Ls={{}}, SR='', wah=''; function langmod() {{ - - // which page is the javascript currently running on? - // look for some well-known elements to figure it out: - - if (QS("h1#cc") && QS("a#k")) {{ - // we are running in the control-panel - Ls[my_lang] = tl_cpanel[my_lang]; - }} - else if (ebi("op_cfg")) {{ - // we are running in the filebrowser - Ls[my_lang] = tl_browser[my_lang]; - - // inform the settings tab that a new lang is available - LANGS.push(my_lang); - }} + if (window.LANGN) + LANGN.push([my_lang, Ls[my_lang].tt]); }} //////////////////////////////////////////////////////////////////////// +// alright, // below this point is where the actual translation happens; // here is the pairs of "text-identifier": "text-to-translate" - - -//////////////////////////////////////////////////////////////////////// -// translation of splash.js (the control-panel); +//{note2} // you do not need to translate the TLNotes, those are just for you :-) +// +// when you are happy with this translation and want to submit it, +// copy the text below into a new file in the translations folder; +// https://github.com/9001/copyparty/tree/hovudstraum/copyparty/web/tl -var tl_cpanel = {{ - "{lang3}": {{ + +Ls.{lang3} = {{ + "tt": "{native_name}", +{tl_browser} + + "splash": {{ "a1": "refresh", "b1": "howdy stranger   (you're not logged in)", "c1": "logout", @@ -110,26 +105,17 @@ var tl_cpanel = {{ "ta1": "fill in your new password first", "ta2": "repeat to confirm new password:", "ta3": "found a typo; please try again", + "nop": "ERROR: Password cannot be blank", + "nou": "ERROR: Username and/or password cannot be blank", "aa1": "incoming files:", "ab1": "disable no304", "ac1": "enable no304", "ad1": "enabling no304 will disable all caching; try this if k304 wasn't enough. This will waste a huge amount of network traffic!", "ae1": "active downloads:", - "af1": "show recent uploads", - }}, + "af1": "show recent uploads", + "ag1": "view idp cache", // TLNote: is a link to a page where IdP users can be managed + }} }}; - - -//////////////////////////////////////////////////////////////////////// -// translation of browser.js (the filebrowser): - -var tl_browser = {{ - "{lang3}": {{ - "tt": "{native_name}", - - {tl_browser} -}}; - """ @@ -158,7 +144,8 @@ def main(): browserjs = f.read().decode("utf-8") _, browserjs = browserjs.split('\n\t\t"tt": "English",\n', 1) - browserjs, _ = browserjs.split('\n\t"nor": {', 1) + browserjs, _ = browserjs.split("\n}", 1) + browserjs = browserjs.replace("\n\t", "\n") try: lang3 = sys.argv[1] diff --git a/scripts/tl/1.sh b/scripts/tl/1.sh new file mode 100644 index 00000000..9c1aac6a --- /dev/null +++ b/scripts/tl/1.sh @@ -0,0 +1,3 @@ +# place new key cl_rcm below cl_hcancel, and cdt_ren below cdt_hsort, and so on +# (existing keys (ut_ow) are NOT updated; todo) +gawk t; mv t $lang.js; done diff --git a/scripts/tl/1.txt b/scripts/tl/1.txt new file mode 100644 index 00000000..94d98c68 --- /dev/null +++ b/scripts/tl/1.txt @@ -0,0 +1,15 @@ +var chi = { + "ut_ow": "aa", //m + "cl_rcm": "aa", //m + "cdt_ren": "aa", //m + "rc_opn": "aa", //m + "rc_ply": "aa", //m +} + +var cze = { + "ut_ow": "aa", //m + "cl_rcm": "aa", //m + "cdt_ren": "aa", //m + "rc_opn": "aa", //m + "rc_ply": "aa", //m +} diff --git a/scripts/tlcheck.sh b/scripts/tlcheck.sh index 736c4bd5..6bd81c09 100755 --- a/scripts/tlcheck.sh +++ b/scripts/tlcheck.sh @@ -1,13 +1,15 @@ #!/bin/bash set -e -# usage: ./scripts/tlcheck.sh eng chi copyparty/web/browser.js +[ -f "$1" ] && [ -f "$2" ] && [ $# = 2 ] || { + echo usage: ./scripts/tlcheck.sh scripts/tl.js copyparty/web/tl/nor.js + exit 1 +} -awk <"$3" -v lang1=\"$1\": -v lang2=\"$2\": ' - /^\t\}/{fa=0;fb=0} +cat "$1" "$2" | awk ' + /^\}/{fa=0;fb=0} + /^Ls\./{if(nln++){fb=1}else{fa=1}} !/":/{next} - $0~lang1{fa=1} - $0~lang2{fb=1} fa{a[ia++]=$0} fb{b[ib++]=$0} END{for (i=0;i=0.4.0", "Pillow", "pyftpdlib", "pyopenssl", "pyzmq"], + "all": ["argon2-cffi", "paramiko", "partftpy>=0.4.0", "Pillow", "pyftpdlib", "pyopenssl", "pyzmq"], "thumbnails": ["Pillow"], "thumbnails2": ["pyvips"], "audiotags": ["mutagen"], + "sftp": ["paramiko"], "ftpd": ["pyftpdlib"], "ftps": ["pyftpdlib", "pyopenssl"], "tftpd": ["partftpy>=0.4.0"], diff --git a/tests/res/idp/3.conf b/tests/res/idp/3.conf index 8e1fd8f8..b8d86a11 100644 --- a/tests/res/idp/3.conf +++ b/tests/res/idp/3.conf @@ -6,11 +6,11 @@ idp-h-grp: x-idp-group [/vu/${u}] - / + /u${u} accs: r: ${u} [/vg/${g}] - /b + /g${g} accs: r: @${g} diff --git a/tests/test_hooks.py b/tests/test_hooks.py index 63a525df..6b366023 100644 --- a/tests/test_hooks.py +++ b/tests/test_hooks.py @@ -78,6 +78,41 @@ class TestHooks(tu.TC): h, b = self.curl(url_dl) self.assertEqual(b, "ok %s\n" % (url_up)) + def test2(self): + hooktxt = "import sys\nopen('h%d','wb').close()\nsys.exit(%d)\n" + for hooktype in ("xbu", "xau"): + for upfun in (self.put, self.bup): + self.reset() + for n in [0, 1, 100]: + with open("h%d.py" % (n,), "wb") as f: + f.write((hooktxt % (n, n)).encode("utf-8")) + vcfg = [ + "012:012:A:c,H=c,h0.py:c,H=c,h1.py:c,H=c,h100.py", + "021:021:A:c,H=c,h0.py:c,H=c,h100.py:c,H=c,h1.py", + "120:120:A:c,H=c,h1.py:c,H=c,h100.py:c,H=c,h0.py", + "30:30:A:c,H=c,enoent.py:c,H=c,h100.py", # not-exist + ] + vcfg = [x.replace("H", hooktype) for x in vcfg] + self.args = Cfg(v=vcfg, a=["o:o"], e2d=True) + self.asrv = AuthSrv(self.args, self.log) + self.cinit() + scenarios = ( + ("012", False, True, True, False), + ("021", True, True, False, True), + ("120", False, False, True, False), + ("30", False, False, False, False), + ) + for (vp, ok, h0, h1, h2) in scenarios: + for zs in ("h0", "h1", "h100"): + if os.path.exists(zs): + os.unlink(zs) + vp = "%s/f" % (vp,) + h, b = upfun(vp) + self.assertEqual(ok, os.path.exists(vp)) + self.assertEqual(h0, os.path.exists("h0")) + self.assertEqual(h1, os.path.exists("h1")) + self.assertEqual(h2, os.path.exists("h100")) + def makehook(self, hs): with open("h.py", "wb") as f: f.write(hs.encode("utf-8")) diff --git a/tests/test_idp.py b/tests/test_idp.py index 21d46758..3378d3b1 100644 --- a/tests/test_idp.py +++ b/tests/test_idp.py @@ -121,6 +121,8 @@ class TestVFS(unittest.TestCase): self.assertNodes(au.vfs.nodes["vg"], ["iga"]) self.assertApEq(au.vfs.nodes["vu"].realpath, "") self.assertApEq(au.vfs.nodes["vg"].realpath, "") + self.assertApEq(au.vfs.nodes["vu"].nodes["iua"].realpath, "/uiua") + self.assertApEq(au.vfs.nodes["vg"].nodes["iga"].realpath, "/giga") self.assertAxs(au.vfs.axs, []) self.assertAxsAt(au, "vu/iua", [["iua"]]) # same as: self.assertAxs(self.nav(au, "vu/iua").axs, [["iua"]]) diff --git a/tests/test_vfs.py b/tests/test_vfs.py index 35c2cd10..bd7432b7 100644 --- a/tests/test_vfs.py +++ b/tests/test_vfs.py @@ -57,8 +57,10 @@ class TestVFS(unittest.TestCase): t2 = list(sorted(lst)) self.assertEqual(t1, t2) - def test(self): - td = os.path.join(self.td, "vfs") + def wipe_vfs(self, td): + os.chdir("..") + if os.path.exists(td): + shutil.rmtree(td) os.mkdir(td) os.chdir(td) @@ -72,7 +74,12 @@ class TestVFS(unittest.TestCase): with open(fn, "w") as f: f.write(fn) + def test(self): + td = os.path.join(self.td, "vfs") + self.wipe_vfs(td) + # defaults + self.wipe_vfs(td) vfs = AuthSrv(Cfg(), self.log).vfs self.assertEqual(vfs.nodes, {}) self.assertEqual(vfs.vpath, "") @@ -81,6 +88,7 @@ class TestVFS(unittest.TestCase): self.assertAxs(vfs.axs.uwrite, ["*"]) # single read-only rootfs (relative path) + self.wipe_vfs(td) vfs = AuthSrv(Cfg(v=["a/ab/::r"]), self.log).vfs self.assertEqual(vfs.nodes, {}) self.assertEqual(vfs.vpath, "") @@ -89,6 +97,7 @@ class TestVFS(unittest.TestCase): self.assertAxs(vfs.axs.uwrite, []) # single read-only rootfs (absolute path) + self.wipe_vfs(td) vfs = AuthSrv(Cfg(v=[td + "//a/ac/../aa//::r"]), self.log).vfs self.assertEqual(vfs.nodes, {}) self.assertEqual(vfs.vpath, "") @@ -97,6 +106,7 @@ class TestVFS(unittest.TestCase): self.assertAxs(vfs.axs.uwrite, []) # read-only rootfs with write-only subdirectory (read-write for k) + self.wipe_vfs(td) vfs = AuthSrv( Cfg(a=["k:k"], v=[".::r:rw,k", "a/ac/acb:a/ac/acb:w:rw,k"]), self.log, @@ -161,6 +171,7 @@ class TestVFS(unittest.TestCase): self.assertEqual(list(virt), []) # admin-only rootfs with all-read-only subfolder + self.wipe_vfs(td) vfs = AuthSrv( Cfg(a=["k:k"], v=[".::rw,k", "a:a:r"]), self.log, @@ -176,15 +187,16 @@ class TestVFS(unittest.TestCase): self.assertEqual(n.realpath, os.path.join(td, "a")) self.assertAxs(n.axs.uread, ["*", "k"]) self.assertAxs(n.axs.uwrite, []) - perm_na = (False, False, False, False, False, False, False, False) - perm_rw = (True, True, False, False, False, False, False, False) - perm_ro = (True, False, False, False, False, False, False, False) + perm_na = (False, False, False, False, False, False, False, False, False) + perm_rw = (True, True, False, False, False, False, False, False, False) + perm_ro = (True, False, False, False, False, False, False, False, False) self.assertEqual(vfs.can_access("/", "*"), perm_na) self.assertEqual(vfs.can_access("/", "k"), perm_rw) self.assertEqual(vfs.can_access("/a", "*"), perm_ro) self.assertEqual(vfs.can_access("/a", "k"), perm_ro) # breadth-first construction + self.wipe_vfs(td) vfs = AuthSrv( Cfg( v=[ @@ -207,6 +219,7 @@ class TestVFS(unittest.TestCase): self.undot(vfs, "./.././foo/..", "") # shadowing + self.wipe_vfs(td) vfs = AuthSrv(Cfg(v=[".::r", "b:a/ac:r"]), self.log).vfs fsp, r1, v1 = self.ls(vfs, "", "*") @@ -244,6 +257,7 @@ class TestVFS(unittest.TestCase): ).encode("utf-8") ) + self.wipe_vfs(td) au = AuthSrv(Cfg(c=[cfg_path]), self.log) self.assertEqual(au.acct["a"], "123") self.assertEqual(au.acct["asd"], "fgh:jkl") diff --git a/tests/util.py b/tests/util.py index 6acc4a42..931d98f0 100644 --- a/tests/util.py +++ b/tests/util.py @@ -17,7 +17,7 @@ from argparse import Namespace import jinja2 -from copyparty.__init__ import MACOS, WINDOWS, E +from copyparty.__init__ import ANYWIN, MACOS, WINDOWS, E J2_ENV = jinja2.Environment(loader=jinja2.BaseLoader) # type: ignore J2_FILES = J2_ENV.from_string("{{ files|join('\n') }}\nJ2EOT") @@ -143,10 +143,10 @@ class Cfg(Namespace): def __init__(self, a=None, v=None, c=None, **ka0): ka = {} - ex = "allow_flac allow_wav chpw cookie_lax daw dav_auth dav_mac dav_rt e2d e2ds e2dsa e2t e2ts e2tsr e2v e2vu e2vp early_ban ed emp exp force_js getmod grid gsel hardlink hardlink_only ih ihead localtime log_badxml magic md_no_br nid nih no_acode no_athumb no_bauth no_clone no_cp no_dav no_db_ip no_del no_dirsz no_dupe no_fnugg no_lifetime no_logues no_mv no_pipe no_poll no_readme no_robots no_sb_md no_sb_lg no_scandir no_tail no_tarcmp no_thumb no_vthumb no_u2abrt no_zip nrand nsort nw og og_no_head og_s_title ohead q rand re_dirsz reflink rmagic rss smb srch_dbg srch_excl stats uqe usernames vague_403 vc ver wo_up_readme write_uplog xdev xlink xvol zipmaxu zs" + ex = "allow_flac allow_wav chpw cookie_lax daw dav_auth dav_mac dav_rt dlni e2d e2ds e2dsa e2t e2ts e2tsr e2v e2vu e2vp early_ban ed emp exp force_js getmod grid gsel hardlink hardlink_only http_no_tcp ih ihead localtime log_badxml magic md_no_br nid nih no_acode no_athumb no_bauth no_clone no_cp no_dav no_db_ip no_del no_dirsz no_dupe no_dupe_m no_fnugg no_lifetime no_logues no_mv no_pipe no_poll no_readme no_robots no_sb_md no_sb_lg no_scandir no_tail no_tarcmp no_thumb no_vthumb no_u2abrt no_zip no_zls nrand nsort nw og og_no_head og_s_title ohead opds q rand re_dirsz reflink rm_partial rmagic rss smb srch_dbg srch_excl srch_icase stats ui_noacci ui_nocpla ui_noctxb ui_nolbar ui_nombar ui_nonav ui_notree ui_norepl ui_nosrvi uqe usernames vague_403 vc ver wo_up_readme write_uplog xdev xlink xvol zipmaxu zs" ka.update(**{k: False for k in ex.split()}) - ex = "dav_inf dedup dotpart dotsrch hook_v no_dhash no_fastboot no_fpool no_htp no_rescan no_sendfile no_ses no_snap no_up_list no_voldump re_dhash see_dots plain_ip" + ex = "dav_inf dedup dotpart dotsrch hook_v no_dhash no_fastboot no_fpool no_htp no_rescan no_sendfile no_ses no_snap no_up_list no_voldump wram re_dhash see_dots plain_ip" ka.update(**{k: True for k in ex.split()}) ex = "ah_cli ah_gen css_browser dbpath hist ipu js_browser js_other mime mimes no_forget no_hash no_idx nonsus_urls og_tpl og_ua ua_nodoc ua_nozip" @@ -155,19 +155,19 @@ class Cfg(Namespace): ex = "gid uid" ka.update(**{k: -1 for k in ex.split()}) - ex = "hash_mt hsortn qdel safe_dedup srch_time tail_fd tail_rate th_spec_p u2abort u2j u2sz unp_who" + ex = "hash_mt hsortn qdel safe_dedup scan_pr_r scan_pr_s scan_st_r srch_time tail_fd tail_rate th_spec_p u2abort u2j u2sz unp_who" ka.update(**{k: 1 for k in ex.split()}) - ex = "ac_convt au_vol dl_list du_iwho mtab_age reg_cap s_thead s_tbody tail_tmax tail_who th_convt ups_who ver_iwho zip_who" + ex = "ac_convt au_vol dl_list du_iwho mtab_age reg_cap s_thead s_tbody tail_tmax tail_who th_convt th_qv ups_who ver_iwho zip_who" ka.update(**{k: 9 for k in ex.split()}) ex = "ctl_re db_act forget_ip idp_cookie idp_store k304 loris no304 nosubtle qr_pin qr_wait re_maxage rproxy rsp_jtr rsp_slp s_wr_slp snap_wri theme themes turbo u2ow zipmaxn zipmaxs" ka.update(**{k: 0 for k in ex.split()}) - ex = "ah_alg bname chdir chmod_f chpw_db doctitle df exit favico ipa html_head idp_login idp_logout lg_sba lg_sbf log_fk md_sba md_sbf name og_desc og_site og_th og_title og_title_a og_title_v og_title_i shr tcolor textfiles txt_eol unlist vname xff_src zipmaxt R RS SR" + ex = "ah_alg bname chdir chmod_f chpw_db doctitle df epilogues exit favico ipa ipar html_head html_head_d html_head_s idp_login idp_logout lg_sba lg_sbf log_date log_fk md_sba md_sbf name og_desc og_site og_th og_title og_title_a og_title_v og_title_i opds_exts preadmes prologues readmes shr tcolor textfiles txt_eol ufavico ufavico_h unlist vname xff_src zipmaxt R RS SR" ka.update(**{k: "" for k in ex.split()}) - ex = "ban_403 ban_404 ban_422 ban_pw ban_pwc ban_url spinner" + ex = "apnd_who ban_403 ban_404 ban_422 ban_pw ban_pwc ban_url dont_ban cachectl http_vary rss_fmt_d rss_fmt_t spinner" ka.update(**{k: "no" for k in ex.split()}) ex = "ext_th grp idp_h_usr idp_hm_usr ipr on403 on404 qr_file xac xad xar xau xban xbc xbd xbr xbu xiu xm" @@ -185,6 +185,7 @@ class Cfg(Namespace): E=E, auth_ord="idp,ipu", bup_ck="sha512", + casechk="a" if ANYWIN or MACOS else "n", chmod_d="755", cookie_cmax=8192, cookie_nmax=50, @@ -192,6 +193,7 @@ class Cfg(Namespace): du_who="all", dk_salt="b" * 16, fk_salt="a" * 16, + fsnt="lin", grp_all="acct", idp_gsep=re.compile("[|:;+,]"), iobuf=256 * 1024, @@ -204,10 +206,15 @@ class Cfg(Namespace): mtp=[], put_ck="sha512", put_name="put-{now.6f}-{cip}.bin", + pw_hdr="pw", + pw_urlp="pw", mv_retry="0/0", rm_retry="0/0", + rotf_tz="UTC", + rss_sort="m", s_rd_sz=256 * 1024, s_wr_sz=256 * 1024, + shr_who="auth", sort="href", srch_hits=99999, SRS="/", @@ -220,6 +227,7 @@ class Cfg(Namespace): th_x3="n", u2sort="s", u2ts="c", + ui_filesz="1", unpost=600, ver_who="all", warksalt="hunter2", @@ -349,6 +357,7 @@ class VHttpConn(object): self.ico = Ico(args) self.ipr = None self.ipa_nm = None + self.ipar_nm = None self.lf_url = None self.log_func = log self.log_src = "a"