mirror of
https://github.com/9001/copyparty.git
synced 2026-06-21 05:32:25 -06:00
Merge d80f3b76c5 into d33d11321f
This commit is contained in:
commit
7abca5cc61
1
.gitignore
vendored
1
.gitignore
vendored
|
|
@ -18,6 +18,7 @@ copyparty.egg-info/
|
||||||
|
|
||||||
# ide
|
# ide
|
||||||
*.sublime-workspace
|
*.sublime-workspace
|
||||||
|
/.vs
|
||||||
|
|
||||||
# winmerge
|
# winmerge
|
||||||
*.bak
|
*.bak
|
||||||
|
|
|
||||||
34
README.md
34
README.md
|
|
@ -664,11 +664,15 @@ the main tabs in the ui
|
||||||
* `[🔎]` [search](#searching) by size, date, path/name, mp3-tags ...
|
* `[🔎]` [search](#searching) by size, date, path/name, mp3-tags ...
|
||||||
* `[🧯]` [unpost](#unpost): undo/delete accidental uploads
|
* `[🧯]` [unpost](#unpost): undo/delete accidental uploads
|
||||||
* `[🚀]` and `[🎈]` are the [uploaders](#uploading)
|
* `[🚀]` and `[🎈]` are the [uploaders](#uploading)
|
||||||
|
* `[📟]` send-msg: either to server-log or into textfiles if `--urlform save`
|
||||||
|
* `[⚙️]` client config options
|
||||||
|
|
||||||
|
|
||||||
|
## quick actions (+)
|
||||||
|
|
||||||
* `[📂]` mkdir: create directories
|
* `[📂]` mkdir: create directories
|
||||||
* `[📝]` new-file: create a new textfile
|
* `[📝]` new-file: create a new textfile
|
||||||
* `[📟]` send-msg: either to server-log or into textfiles if `--urlform save`
|
* `[🚀]` upload: quick way to pick files for upload
|
||||||
* `[🎺]` audio-player config options
|
|
||||||
* `[⚙️]` general client config options
|
|
||||||
|
|
||||||
|
|
||||||
## hotkeys
|
## hotkeys
|
||||||
|
|
@ -682,7 +686,7 @@ the browser has the following hotkeys (always qwerty)
|
||||||
* `G` toggle list / [grid view](#thumbnails) -- same as `田` bottom-right
|
* `G` toggle list / [grid view](#thumbnails) -- same as `田` bottom-right
|
||||||
* `T` toggle thumbnails / icons
|
* `T` toggle thumbnails / icons
|
||||||
* `ESC` close various things
|
* `ESC` close various things
|
||||||
* `ctrl-K` delete selected files/folders
|
* `ctrl-K/Del` delete selected files/folders
|
||||||
* `ctrl-X` cut selected files/folders
|
* `ctrl-X` cut selected files/folders
|
||||||
* `ctrl-C` copy selected files/folders to clipboard
|
* `ctrl-C` copy selected files/folders to clipboard
|
||||||
* `ctrl-V` paste (move/copy)
|
* `ctrl-V` paste (move/copy)
|
||||||
|
|
@ -737,9 +741,9 @@ the browser has the following hotkeys (always qwerty)
|
||||||
|
|
||||||
## navpane
|
## navpane
|
||||||
|
|
||||||
switching between breadcrumbs or navpane
|
opening the navpane
|
||||||
|
|
||||||
click the `🌲` or pressing the `B` hotkey to toggle between breadcrumbs path (default), or a navpane (tree-browser sidebar thing)
|
clicking the `≡` or pressing the `B` hotkey toggles the navpane (tree-browser sidebar thing)
|
||||||
|
|
||||||
* `[+]` and `[-]` (or hotkeys `A`/`D`) adjust the size
|
* `[+]` and `[-]` (or hotkeys `A`/`D`) adjust the size
|
||||||
* `[🎯]` jumps to the currently open folder
|
* `[🎯]` jumps to the currently open folder
|
||||||
|
|
@ -752,7 +756,7 @@ click the `🌲` or pressing the `B` hotkey to toggle between breadcrumbs path (
|
||||||
|
|
||||||
## thumbnails
|
## thumbnails
|
||||||
|
|
||||||
press `g` or `田` to toggle grid-view instead of the file listing and `t` toggles icons / thumbnails
|
press `g` or use the view mode buttons in the top left to toggle grid-view instead of the file listing and `t` toggles icons / thumbnails
|
||||||
* can be made default globally with `--grid` or per-volume with volflag `grid`
|
* can be made default globally with `--grid` or per-volume with volflag `grid`
|
||||||
* enable by adding `?imgs` to a link, or disable with `?imgs=0`
|
* enable by adding `?imgs` to a link, or disable with `?imgs=0`
|
||||||
|
|
||||||
|
|
@ -916,9 +920,7 @@ dropping files into the browser also lets you see if they exist on the server
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
when you drag/drop files into the browser, you will see two dropzones: `Upload` and `Search`
|
toggle the `[🔎]` switch in the upload options to search for files instead of uploading
|
||||||
|
|
||||||
> on a phone? toggle the `[🔎]` switch green before tapping the big yellow Search button to select your files
|
|
||||||
|
|
||||||
the files will be hashed on the client-side, and each hash is sent to the server, which checks if that file exists somewhere
|
the files will be hashed on the client-side, and each hash is sent to the server, which checks if that file exists somewhere
|
||||||
|
|
||||||
|
|
@ -988,6 +990,8 @@ file selection: click somewhere on the line (not the link itself), then:
|
||||||
|
|
||||||
you can copy/move files across browser tabs (cut/copy in one tab, paste in another)
|
you can copy/move files across browser tabs (cut/copy in one tab, paste in another)
|
||||||
|
|
||||||
|
you can drag/drop selected files into other folders
|
||||||
|
|
||||||
|
|
||||||
## shares
|
## shares
|
||||||
|
|
||||||
|
|
@ -1164,7 +1168,7 @@ some highlights:
|
||||||
|
|
||||||
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)
|
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)
|
||||||
|
|
||||||
open the `[🎺]` media-player-settings tab to configure it,
|
open the `[⚙]` configuration options and go to the `[🎵]` media player section to configure it,
|
||||||
* "switches":
|
* "switches":
|
||||||
* `[🔁]` repeats one single song forever
|
* `[🔁]` repeats one single song forever
|
||||||
* `[🔀]` shuffles the files inside each folder
|
* `[🔀]` shuffles the files inside each folder
|
||||||
|
|
@ -1216,7 +1220,7 @@ you can use foobar2000, deadbeef, just about any standalone player should work -
|
||||||
|
|
||||||
alternatively, you can create the playlist using copyparty itself:
|
alternatively, you can create the playlist using copyparty itself:
|
||||||
|
|
||||||
* open the `[🎺]` media-player-settings tab and enable the `[📻]` create-playlist feature -- this adds two new buttons in the bottom-right tray, `[📻add]` and `[📻copy]` which appear when you listen to music, or when you select a few audiofiles
|
* open the `[⚙]` configuration options, go to the `[🎵]` media player section and enable the `[📻]` create-playlist feature -- this adds two new buttons in the bottom-right tray, `[📻add]` and `[📻copy]` which appear when you listen to music, or when you select a few audiofiles
|
||||||
|
|
||||||
* click the `📻add` button while a song is playing (or when you've selected some songs) and they'll be added to "the list" (you can't see it yet)
|
* click the `📻add` button while a song is playing (or when you've selected some songs) and they'll be added to "the list" (you can't see it yet)
|
||||||
|
|
||||||
|
|
@ -1305,6 +1309,12 @@ see [./srv/expand/](./srv/expand/) for usage and examples
|
||||||
|
|
||||||
search by size, date, path/name, mp3-tags, ...
|
search by size, date, path/name, mp3-tags, ...
|
||||||
|
|
||||||
|
by default, the `[🔍]` search button shows the folder search bar.
|
||||||
|
|
||||||
|
search for files within a folder and optionally its subfolders.
|
||||||
|
|
||||||
|
for extended search options, use the dropdown arrow to open the full search UI
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
when started with `-e2dsa` copyparty will scan/index all your files. This avoids duplicates on upload, and also makes the volumes searchable through the web-ui:
|
when started with `-e2dsa` copyparty will scan/index all your files. This avoids duplicates on upload, and also makes the volumes searchable through the web-ui:
|
||||||
|
|
|
||||||
|
|
@ -82,15 +82,15 @@
|
||||||
};
|
};
|
||||||
|
|
||||||
// ...and then the trick! near the end of loadgrid,
|
// ...and then the trick! near the end of loadgrid,
|
||||||
// thegrid.bagit is called to initialize the baguettebox
|
// msel.bagit is called to initialize the baguettebox
|
||||||
// (image/video gallery); this is the perfect function to
|
// (image/video gallery); this is the perfect function to
|
||||||
// "hook" (hijack) so we can run our code :^)
|
// "hook" (hijack) so we can run our code :^)
|
||||||
|
|
||||||
// need to grab a backup of the original function first,
|
// need to grab a backup of the original function first,
|
||||||
var orig_func = thegrid.bagit;
|
var orig_func = msel.bagit;
|
||||||
|
|
||||||
// and then replace it with our own:
|
// and then replace it with our own:
|
||||||
thegrid.bagit = function (isrc) {
|
msel.bagit = function (isrc) {
|
||||||
|
|
||||||
if (isrc !== '#ggrid')
|
if (isrc !== '#ggrid')
|
||||||
// we only want to modify the grid, so
|
// we only want to modify the grid, so
|
||||||
|
|
@ -104,7 +104,7 @@
|
||||||
// filenames, so schedule another run:
|
// filenames, so schedule another run:
|
||||||
setTimeout(graft_thumbs, 1);
|
setTimeout(graft_thumbs, 1);
|
||||||
|
|
||||||
// and finally, call the original thegrid.bagit function
|
// and finally, call the original msel.bagit function
|
||||||
return orig_func(isrc);
|
return orig_func(isrc);
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -18,7 +18,7 @@
|
||||||
|
|
||||||
#ops, #tree, #path, #wfp, /* main tabs and navigators (tree/breadcrumbs) */
|
#ops, #tree, #path, #wfp, /* main tabs and navigators (tree/breadcrumbs) */
|
||||||
|
|
||||||
#u2conf tr:first-child>td[rowspan]:not(#u2btn_cw), /* most of the config options */
|
#u2conf tr:first-child>td[rowspan], /* most of the config options */
|
||||||
|
|
||||||
#srch_dz, #srch_zd, /* the filesearch dropzone */
|
#srch_dz, #srch_zd, /* the filesearch dropzone */
|
||||||
|
|
||||||
|
|
@ -30,16 +30,12 @@
|
||||||
|
|
||||||
/* add some margins because now it's weird */
|
/* add some margins because now it's weird */
|
||||||
.opview {margin-top: 2.5em}
|
.opview {margin-top: 2.5em}
|
||||||
#op_up2k {margin-top: 6em}
|
|
||||||
|
|
||||||
/* and embiggen the upload button */
|
/* and embiggen the upload button */
|
||||||
#u2conf #u2btn, #u2btn {padding:1.5em 0}
|
#u2conf #u2btn, #u2btn {padding:1.5em 0}
|
||||||
|
|
||||||
/* adjust the button area a bit */
|
/* adjust the button area a bit */
|
||||||
#u2conf.w, #u2conf.ww {width: 35em !important; margin: 5em auto}
|
#u2conf.w {width: 35em !important; margin: 5em auto}
|
||||||
|
|
||||||
/* a */
|
|
||||||
#op_up2k {min-height: 0}
|
|
||||||
|
|
||||||
</style>
|
</style>
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -39,20 +39,6 @@ var u2min = `
|
||||||
display: none !important;
|
display: none !important;
|
||||||
}
|
}
|
||||||
#u2conf {margin:5em auto 0 auto !important}
|
#u2conf {margin:5em auto 0 auto !important}
|
||||||
#u2conf.ww {width:70em}
|
|
||||||
#u2conf.w {width:50em}
|
|
||||||
#u2conf.w .c,
|
|
||||||
#u2conf.w #u2btn_cw {text-align:left}
|
|
||||||
#u2conf.w #u2btn_cw {width:70%}
|
|
||||||
#u2etaw {margin:3em auto}
|
|
||||||
#u2etaw.w {
|
|
||||||
text-align: center;
|
|
||||||
margin: -3.5em auto 5em auto;
|
|
||||||
}
|
|
||||||
#u2etaw.w #u2etas {margin-right:-37em}
|
|
||||||
#u2etaw.w #u2etas.o {margin-top:-2.2em}
|
|
||||||
#u2etaw.ww {margin:-1em auto}
|
|
||||||
#u2etaw.ww #u2etas {padding-left:4em}
|
|
||||||
#u2etas {
|
#u2etas {
|
||||||
background: none !important;
|
background: none !important;
|
||||||
border: none !important;
|
border: none !important;
|
||||||
|
|
|
||||||
|
|
@ -119,7 +119,7 @@ body.untz {
|
||||||
if (--uofs >= 0) {
|
if (--uofs >= 0) {
|
||||||
document.body.style.marginLeft = hrand() * uofs + 'px';
|
document.body.style.marginLeft = hrand() * uofs + 'px';
|
||||||
ebi('tree').style.marginLeft = hrand() * uofs + 'px';
|
ebi('tree').style.marginLeft = hrand() * uofs + 'px';
|
||||||
for (var a of QSA('#ops>a, #path>a, #pctl>a'))
|
for (var a of QSA('#ops>a, #path>a, .pctl>a'))
|
||||||
a.style.transform = 'translate(' + hrand() * uofs * 1 + 'px, ' + hrand() * uofs * 0.7 + 'px) rotate(' + Math.random() * uofs * 0.7 + 'deg)'
|
a.style.transform = 'translate(' + hrand() * uofs * 1 + 'px, ' + hrand() * uofs * 0.7 + 'px) rotate(' + Math.random() * uofs * 0.7 + 'deg)'
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -73,6 +73,8 @@ web/browser.js
|
||||||
web/browser2.html
|
web/browser2.html
|
||||||
web/cf.html
|
web/cf.html
|
||||||
web/copyparty.gif
|
web/copyparty.gif
|
||||||
|
web/copyparty.png
|
||||||
|
web/copyparty.svg
|
||||||
web/deps/busy.mp3
|
web/deps/busy.mp3
|
||||||
web/deps/easymde.css
|
web/deps/easymde.css
|
||||||
web/deps/easymde.js
|
web/deps/easymde.js
|
||||||
|
|
@ -80,6 +82,7 @@ web/deps/marked.js
|
||||||
web/deps/mfusepy.py
|
web/deps/mfusepy.py
|
||||||
web/deps/mini-fa.css
|
web/deps/mini-fa.css
|
||||||
web/deps/mini-fa.woff
|
web/deps/mini-fa.woff
|
||||||
|
web/deps/orbitron.woff2
|
||||||
web/deps/prism.css
|
web/deps/prism.css
|
||||||
web/deps/prism.js
|
web/deps/prism.js
|
||||||
web/deps/prismd.css
|
web/deps/prismd.css
|
||||||
|
|
@ -88,6 +91,7 @@ web/deps/sha512.ac.js
|
||||||
web/deps/sha512.hw.js
|
web/deps/sha512.hw.js
|
||||||
web/idp.html
|
web/idp.html
|
||||||
web/iiam.gif
|
web/iiam.gif
|
||||||
|
web/manifest.json
|
||||||
web/md.css
|
web/md.css
|
||||||
web/md.html
|
web/md.html
|
||||||
web/md.js
|
web/md.js
|
||||||
|
|
@ -109,6 +113,7 @@ web/splash.html
|
||||||
web/splash.js
|
web/splash.js
|
||||||
web/svcs.html
|
web/svcs.html
|
||||||
web/svcs.js
|
web/svcs.js
|
||||||
|
web/sw.js
|
||||||
web/tl/chi.js
|
web/tl/chi.js
|
||||||
web/tl/cze.js
|
web/tl/cze.js
|
||||||
web/tl/deu.js
|
web/tl/deu.js
|
||||||
|
|
|
||||||
|
|
@ -1931,12 +1931,12 @@ def add_og(ap):
|
||||||
|
|
||||||
|
|
||||||
def add_ui(ap, retry: int):
|
def add_ui(ap, retry: int):
|
||||||
THEMES = 10
|
THEMES = 12
|
||||||
ap2 = ap.add_argument_group("ui options")
|
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("--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("--no-gsel", action="store_true", help="ctrl-click in gridview will open-in-new-tab instead of select-file (volflag=-gsel)")
|
||||||
ap2.add_argument("--localtime", action="store_true", help="default to local timezone instead of UTC")
|
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, 6, 6c, 7, 7c, fuzzy (see UI)")
|
ap2.add_argument("--ui-filesz", metavar="FMT", type=u, default="6", help="default filesize format; one of these: 0, 1, 2, 2c, 3, 3c, 4, 4c, 5, 5c, 6, 6c, 7, 7c, fuzzy (see UI)")
|
||||||
ap2.add_argument("--gauto", metavar="PERCENT", type=int, default=0, help="switch to gridview if more than \033[33mPERCENT\033[0m of files are pics/vids; 0=disabled")
|
ap2.add_argument("--gauto", metavar="PERCENT", type=int, default=0, help="switch to gridview if more than \033[33mPERCENT\033[0m of files are pics/vids; 0=disabled")
|
||||||
ap2.add_argument("--rcm", metavar="TXT", default="yy", help="rightclick-menu; two yes/no options: 1st y/n is enable-custom-menu, 2nd y/n is enable-double")
|
ap2.add_argument("--rcm", metavar="TXT", default="yy", help="rightclick-menu; two yes/no options: 1st y/n is enable-custom-menu, 2nd y/n is enable-double")
|
||||||
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("--lang", metavar="LANG", type=u, default="eng", help="language, for example \033[32meng\033[0m / \033[32mnor\033[0m / ...")
|
||||||
|
|
@ -1997,6 +1997,7 @@ def add_ui(ap, retry: int):
|
||||||
ap2.add_argument("--ui-noctxb", action="store_true", help="hide context-buttons in the UI (volflag=ui_noctxb)")
|
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("--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)
|
ap2.add_argument("--have-unlistc", action="store_true", help=argparse.SUPPRESS)
|
||||||
|
ap2.add_argument("--gsel", action="store_true", default=True, help=argparse.SUPPRESS)
|
||||||
|
|
||||||
|
|
||||||
def add_debug(ap):
|
def add_debug(ap):
|
||||||
|
|
|
||||||
|
|
@ -5292,7 +5292,7 @@ class HttpCli(object):
|
||||||
# chrome cannot handle more than ~2000 unique SVGs
|
# chrome cannot handle more than ~2000 unique SVGs
|
||||||
# so url-param "raster" returns a png/webp instead
|
# so url-param "raster" returns a png/webp instead
|
||||||
# (useragent-sniffing kinshi due to caching proxies)
|
# (useragent-sniffing kinshi due to caching proxies)
|
||||||
mime, ico = self.conn.hsrv.ico.get(txt, not small, "raster" in self.uparam)
|
mime, ico = self.conn.hsrv.ico.get(txt, not small, "raster" in self.uparam, self.uparam.get('a'))
|
||||||
|
|
||||||
lm = formatdate(self.E.t0)
|
lm = formatdate(self.E.t0)
|
||||||
self.reply(ico, mime=mime, headers={"Last-Modified": lm})
|
self.reply(ico, mime=mime, headers={"Last-Modified": lm})
|
||||||
|
|
@ -6653,7 +6653,7 @@ class HttpCli(object):
|
||||||
{
|
{
|
||||||
"lead": "",
|
"lead": "",
|
||||||
"href": "%s/" % (x,),
|
"href": "%s/" % (x,),
|
||||||
"ext": "---",
|
"ext": "",
|
||||||
"sz": 0,
|
"sz": 0,
|
||||||
"ts": 0,
|
"ts": 0,
|
||||||
"tags": e_d,
|
"tags": e_d,
|
||||||
|
|
@ -6862,7 +6862,7 @@ class HttpCli(object):
|
||||||
pass
|
pass
|
||||||
|
|
||||||
if is_dir:
|
if is_dir:
|
||||||
return self.tx_svg("folder")
|
return self.reply(b"(no thumbnail)")
|
||||||
|
|
||||||
thp = None
|
thp = None
|
||||||
if self.thumbcli and not nothumb:
|
if self.thumbcli and not nothumb:
|
||||||
|
|
@ -6882,7 +6882,7 @@ class HttpCli(object):
|
||||||
elif th_fmt in ACODE2_FMT:
|
elif th_fmt in ACODE2_FMT:
|
||||||
raise Pebkac(415)
|
raise Pebkac(415)
|
||||||
|
|
||||||
return self.tx_ico(rem)
|
return self.reply(b"(no thumbnail)")
|
||||||
|
|
||||||
elif self.can_write and th_fmt is not None:
|
elif self.can_write and th_fmt is not None:
|
||||||
return self.tx_svg("upload\nonly")
|
return self.tx_svg("upload\nonly")
|
||||||
|
|
@ -6986,6 +6986,9 @@ class HttpCli(object):
|
||||||
self.log("#wow #whoa")
|
self.log("#wow #whoa")
|
||||||
|
|
||||||
zi = vn.flags["du_iwho"]
|
zi = vn.flags["du_iwho"]
|
||||||
|
h1 = ""
|
||||||
|
h2 = ""
|
||||||
|
space_used_percent = 0
|
||||||
if zi and (
|
if zi and (
|
||||||
zi == 9
|
zi == 9
|
||||||
or (zi == 7 and self.uname != "*")
|
or (zi == 7 and self.uname != "*")
|
||||||
|
|
@ -7013,6 +7016,8 @@ class HttpCli(object):
|
||||||
h1 = humansize(free or 0)
|
h1 = humansize(free or 0)
|
||||||
h2 = humansize(total)
|
h2 = humansize(total)
|
||||||
srv_info.append("{} free of {}".format(h1, h2))
|
srv_info.append("{} free of {}".format(h1, h2))
|
||||||
|
if(total > 0):
|
||||||
|
space_used_percent = (total - (free or 0)) / total * 100
|
||||||
elif zs:
|
elif zs:
|
||||||
self.log("diskfree(%r): %s" % (abspath, zs), 3)
|
self.log("diskfree(%r): %s" % (abspath, zs), 3)
|
||||||
|
|
||||||
|
|
@ -7063,6 +7068,9 @@ class HttpCli(object):
|
||||||
"files": [],
|
"files": [],
|
||||||
"taglist": [],
|
"taglist": [],
|
||||||
"srvinf": srv_infot,
|
"srvinf": srv_infot,
|
||||||
|
"space_used_percent": space_used_percent,
|
||||||
|
"space_free": h1,
|
||||||
|
"space_total": h2,
|
||||||
"acct": self.uname,
|
"acct": self.uname,
|
||||||
"perms": perms,
|
"perms": perms,
|
||||||
"cfg": vn.js_ls,
|
"cfg": vn.js_ls,
|
||||||
|
|
@ -7086,6 +7094,11 @@ class HttpCli(object):
|
||||||
"url_suf": url_suf,
|
"url_suf": url_suf,
|
||||||
"title": html_escape("%s %s" % (self.args.bname, self.vpath), crlf=True),
|
"title": html_escape("%s %s" % (self.args.bname, self.vpath), crlf=True),
|
||||||
"srv_info": srv_infot,
|
"srv_info": srv_infot,
|
||||||
|
"srv_name": "" if self.args.nih else self.args.name,
|
||||||
|
"srv_url": self.args.name_url if self.args.name_url else "/",
|
||||||
|
"space_used_percent": space_used_percent,
|
||||||
|
"space_free": h1,
|
||||||
|
"space_total": h2,
|
||||||
"dtheme": self.args.theme,
|
"dtheme": self.args.theme,
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -7231,12 +7244,12 @@ class HttpCli(object):
|
||||||
margin = "DIR"
|
margin = "DIR"
|
||||||
elif add_dk:
|
elif add_dk:
|
||||||
zs = absreal(fspath)
|
zs = absreal(fspath)
|
||||||
margin = '<a href="%s?k=%s&zip=crc" rel="nofollow">zip</a>' % (
|
margin = '<a href="%s?k=%s&zip=crc" rel="nofollow" class="dir">zip</a>' % (
|
||||||
quotep(href),
|
quotep(href),
|
||||||
self.gen_fk(2, self.args.dk_salt, zs, 0, 0)[:add_dk],
|
self.gen_fk(2, self.args.dk_salt, zs, 0, 0)[:add_dk],
|
||||||
)
|
)
|
||||||
else:
|
else:
|
||||||
margin = '<a href="%s?zip=crc" rel="nofollow">zip</a>' % (
|
margin = '<a href="%s?zip=crc" rel="nofollow" class="dir">zip</a>' % (
|
||||||
quotep(href),
|
quotep(href),
|
||||||
)
|
)
|
||||||
elif fn in hist:
|
elif fn in hist:
|
||||||
|
|
@ -7260,7 +7273,7 @@ class HttpCli(object):
|
||||||
)
|
)
|
||||||
|
|
||||||
if is_dir:
|
if is_dir:
|
||||||
ext = "---"
|
ext = ""
|
||||||
elif "." in fn:
|
elif "." in fn:
|
||||||
ext = ptn_hr.sub("@", fn.rsplit(".", 1)[1])
|
ext = ptn_hr.sub("@", fn.rsplit(".", 1)[1])
|
||||||
if len(ext) > 16:
|
if len(ext) > 16:
|
||||||
|
|
|
||||||
|
|
@ -11,31 +11,32 @@ from .th_srv import HAVE_PIL, HAVE_PILF
|
||||||
from .util import BytesIO, html_escape # type: ignore
|
from .util import BytesIO, html_escape # type: ignore
|
||||||
|
|
||||||
|
|
||||||
|
RE_CSS_COLOR = re.compile(r"[^a-zA-Z0-9#()%.,/-]")
|
||||||
|
|
||||||
|
|
||||||
class Ico(object):
|
class Ico(object):
|
||||||
def __init__(self, args: argparse.Namespace) -> None:
|
def __init__(self, args: argparse.Namespace) -> None:
|
||||||
self.args = args
|
self.args = args
|
||||||
|
|
||||||
def get(self, ext: str, as_thumb: bool, chrome: bool) -> tuple[str, bytes]:
|
def get(self, ext: str, as_thumb: bool, png: bool, accent: str) -> tuple[str, bytes]:
|
||||||
"""placeholder to make thumbnails not break"""
|
"""placeholder to make thumbnails not break"""
|
||||||
|
|
||||||
bext = ext.encode("ascii", "replace")
|
bext = ext.encode("ascii", "replace")
|
||||||
ext = bext.decode("utf-8")
|
ext = bext.decode("utf-8")
|
||||||
zb = hashlib.sha1(bext).digest()[2:4]
|
|
||||||
if PY2:
|
|
||||||
zb = [ord(x) for x in zb] # type: ignore
|
|
||||||
|
|
||||||
c1 = colorsys.hsv_to_rgb(zb[0] / 256.0, 1, 0.3)
|
|
||||||
c2 = colorsys.hsv_to_rgb(zb[0] / 256.0, 0.8 if HAVE_PILF else 1, 1)
|
|
||||||
ci = [int(x * 255) for x in list(c1) + list(c2)]
|
|
||||||
c = "".join(["%02x" % (x,) for x in ci])
|
|
||||||
|
|
||||||
w = 100
|
w = 100
|
||||||
h = 30
|
h = 30
|
||||||
if as_thumb:
|
if as_thumb:
|
||||||
sw, sh = self.args.th_size.split("x")
|
sw, sh = self.args.th_size.split("x")
|
||||||
h = int(100.0 / (float(sw) / float(sh)))
|
h = int(100.0 / (float(sw) / float(sh)))
|
||||||
|
|
||||||
if chrome:
|
if accent:
|
||||||
|
accent = RE_CSS_COLOR.sub("", accent)
|
||||||
|
|
||||||
|
# obsolete. 2000+ svgs slows chrome down massively, but no crash.
|
||||||
|
# further, unique svgs are only used for non-standard thumbnails,
|
||||||
|
# so it's unrealistic to see that many in use
|
||||||
|
if png & 0:
|
||||||
# cannot handle more than ~2000 unique SVGs
|
# cannot handle more than ~2000 unique SVGs
|
||||||
if HAVE_PILF:
|
if HAVE_PILF:
|
||||||
# pillow 10.1 made this the default font;
|
# pillow 10.1 made this the default font;
|
||||||
|
|
@ -48,11 +49,11 @@ class Ico(object):
|
||||||
|
|
||||||
h = int(128.0 * h / w)
|
h = int(128.0 * h / w)
|
||||||
w = 128
|
w = 128
|
||||||
img = Image.new("RGB", (w, h), "#" + c[:6])
|
img = Image.new("RGBA", (w, h), "#00000000")
|
||||||
pb = ImageDraw.Draw(img)
|
pb = ImageDraw.Draw(img)
|
||||||
_, _, tw, th = pb.textbbox((0, 0), ext2, font_size=16)
|
_, _, tw, th = pb.textbbox((0, 0), ext2, font_size=16)
|
||||||
xy = (int((w - tw) / 2), int((h - th) / 2))
|
xy = (int((w - tw) / 2), int((h - th) / 2))
|
||||||
pb.text(xy, ext2, fill="#" + c[6:], font_size=16)
|
pb.text(xy, ext2, fill=accent, font_size=16)
|
||||||
|
|
||||||
img = img.resize((w * 2, h * 2), Image.NEAREST)
|
img = img.resize((w * 2, h * 2), Image.NEAREST)
|
||||||
|
|
||||||
|
|
@ -69,7 +70,7 @@ class Ico(object):
|
||||||
|
|
||||||
h = int(64.0 * h / w)
|
h = int(64.0 * h / w)
|
||||||
w = 64
|
w = 64
|
||||||
img = Image.new("RGB", (w, h), "#" + c[:6])
|
img = Image.new("RGBA", (w, h), "#00000000")
|
||||||
pb = ImageDraw.Draw(img)
|
pb = ImageDraw.Draw(img)
|
||||||
try:
|
try:
|
||||||
_, _, tw, th = pb.textbbox((0, 0), ext)
|
_, _, tw, th = pb.textbbox((0, 0), ext)
|
||||||
|
|
@ -79,7 +80,7 @@ class Ico(object):
|
||||||
tw += len(ext)
|
tw += len(ext)
|
||||||
cw = tw // len(ext)
|
cw = tw // len(ext)
|
||||||
x = ((w - tw) // 2) - (cw * 2) // 3
|
x = ((w - tw) // 2) - (cw * 2) // 3
|
||||||
fill = "#" + c[6:]
|
fill = accent
|
||||||
for ch in ext:
|
for ch in ext:
|
||||||
pb.text((x, (h - th) // 2), " %s " % (ch,), fill=fill)
|
pb.text((x, (h - th) // 2), " %s " % (ch,), fill=fill)
|
||||||
x += cw
|
x += cw
|
||||||
|
|
@ -93,9 +94,9 @@ class Ico(object):
|
||||||
svg = """\
|
svg = """\
|
||||||
<?xml version="1.0" encoding="UTF-8"?>
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
<svg version="1.1" viewBox="0 0 100 {}" xmlns="http://www.w3.org/2000/svg"><g>
|
<svg version="1.1" viewBox="0 0 100 {}" xmlns="http://www.w3.org/2000/svg"><g>
|
||||||
<rect width="100%" height="100%" fill="#{}" />
|
<rect width="100%" height="100%" fill="#0000" />
|
||||||
<text x="50%" y="{}" dominant-baseline="middle" text-anchor="middle" xml:space="preserve"
|
<text x="50%" y="{}" dominant-baseline="middle" text-anchor="middle" xml:space="preserve"
|
||||||
fill="#{}" font-family="monospace" font-size="14px" style="letter-spacing:.5px">{}</text>
|
fill="{}" font-family="monospace" font-size="14px" style="letter-spacing:.5px">{}</text>
|
||||||
</g></svg>
|
</g></svg>
|
||||||
"""
|
"""
|
||||||
|
|
||||||
|
|
@ -109,6 +110,6 @@ class Ico(object):
|
||||||
else:
|
else:
|
||||||
y = "50%"
|
y = "50%"
|
||||||
|
|
||||||
svg = svg.format(h, c[:6], y, c[6:], txt)
|
svg = svg.format(h, y, accent or '#000', txt)
|
||||||
|
|
||||||
return "image/svg+xml", svg.encode("utf-8")
|
return "image/svg+xml", svg.encode("utf-8")
|
||||||
|
|
|
||||||
|
|
@ -457,7 +457,10 @@ if ANYWIN:
|
||||||
IMPLICATIONS.extend([["z", "zm4"]])
|
IMPLICATIONS.extend([["z", "zm4"]])
|
||||||
|
|
||||||
|
|
||||||
UNPLICATIONS = [["no_dav", "daw"]]
|
UNPLICATIONS = [
|
||||||
|
["no_dav", "daw"],
|
||||||
|
["no_gsel", "gsel"],
|
||||||
|
]
|
||||||
|
|
||||||
|
|
||||||
DAV_ALLPROP_L = [
|
DAV_ALLPROP_L = [
|
||||||
|
|
|
||||||
|
|
@ -28,7 +28,7 @@ window.baguetteBox = (function () {
|
||||||
onChange: null,
|
onChange: null,
|
||||||
readDirRtl: false,
|
readDirRtl: false,
|
||||||
},
|
},
|
||||||
overlay, slider, btnPrev, btnNext, btnHelp, btnAnim, btnRotL, btnRotR, btnSel, btnFull, btnZoom, btnVmode, btnReadDir, btnClose,
|
overlay, slider, btnPrev, btnNext, btnHelp, btnAnim, btnRotL, btnRotR, btnSel, btnFull, btnZoom, btnPixelated, btnVmode, btnReadDir, btnClose,
|
||||||
currentGallery = [],
|
currentGallery = [],
|
||||||
currentIndex = 0,
|
currentIndex = 0,
|
||||||
isOverlayVisible = false,
|
isOverlayVisible = false,
|
||||||
|
|
@ -37,8 +37,8 @@ window.baguetteBox = (function () {
|
||||||
scrollCSS = ['', ''],
|
scrollCSS = ['', ''],
|
||||||
scrollTimer = 0,
|
scrollTimer = 0,
|
||||||
re_i = APPLE ?
|
re_i = APPLE ?
|
||||||
/^[^?]+\.(a?png|avif|bmp|gif|hei[cf]s?|jfif|jpe?g|jxl|svg|tiff?|webp)(\?|$)/i :
|
/^[^?]+\.(a?png|avif|bmp|gif|hei[cf]s?|jfif|jpe?g|jxl|svg|ico|tiff?|webp)(\?|$)/i :
|
||||||
/^[^?]+\.(a?png|avif|bmp|gif|jfif|jpe?g|jxl|svg|tiff?|webp)(\?|$)/i,
|
/^[^?]+\.(a?png|avif|bmp|gif|jfif|jpe?g|jxl|svg|ico|tiff?|webp)(\?|$)/i,
|
||||||
re_v = /^[^?]+\.(webm|mkv|mp4|m4v|mov)(\?|$)/i,
|
re_v = /^[^?]+\.(webm|mkv|mp4|m4v|mov)(\?|$)/i,
|
||||||
re_cbz = /^[^?]+\.(cbz)(\?|$)/i,
|
re_cbz = /^[^?]+\.(cbz)(\?|$)/i,
|
||||||
anims = ['slideIn', 'fadeIn', 'none'],
|
anims = ['slideIn', 'fadeIn', 'none'],
|
||||||
|
|
@ -303,21 +303,22 @@ window.baguetteBox = (function () {
|
||||||
if (!overlay) {
|
if (!overlay) {
|
||||||
var ctr = mknod('div');
|
var ctr = mknod('div');
|
||||||
ctr.innerHTML = (
|
ctr.innerHTML = (
|
||||||
'<div id="bbox-overlay" role="dialog">' +
|
'<div id="bbox-overlay" class="normalrcm" role="dialog">' +
|
||||||
'<div id="bbox-slider"></div>' +
|
'<div id="bbox-slider"></div>' +
|
||||||
'<button id="bbox-prev" class="bbox-btn" type="button" aria-label="Previous"><</button>' +
|
'<div id="bbox-prev"><a class="btn" aria-label="Previous">◀</a></div>' +
|
||||||
'<button id="bbox-next" class="bbox-btn" type="button" aria-label="Next">></button>' +
|
'<div id="bbox-next"><a class="btn" aria-label="Next">▶</a></div>' +
|
||||||
'<div id="bbox-btns">' +
|
'<div id="bbox-btns">' +
|
||||||
'<button id="bbox-help" type="button">?</button>' +
|
'<a id="bbox-close" class="btn" aria-label="Close"><span class="x">×</span></a>' +
|
||||||
'<button id="bbox-anim" type="button" tt="a">-</button>' +
|
'<a id="bbox-vmode" class="btn" tt="a"></a>' +
|
||||||
'<button id="bbox-readdir" type="button" tt="a">ltr</button>' +
|
'<a id="bbox-full" class="btn" tt="full-screen">⛶</a>' +
|
||||||
'<button id="bbox-rotl" type="button">↶</button>' +
|
'<a id="bbzoom" class="tgl btn" tt="zoom/stretch smaller images to fill screen">↕</a>' +
|
||||||
'<button id="bbox-rotr" type="button">↷</button>' +
|
'<a id="bbpixelated" class="tgl btn" tt="pixelated rendering (good for pixel art)">👾</a>' +
|
||||||
'<button id="bbox-tsel" type="button">sel</button>' +
|
'<a id="bbox-tsel" class="tgl btn">☑️sel</a>' +
|
||||||
'<button id="bbox-full" type="button" tt="full-screen">⛶</button>' +
|
'<a id="bbox-rotr" class="btn">↷</a>' +
|
||||||
'<button id="bbzoom" type="button" tt="zoom/stretch">z</button>' +
|
'<a id="bbox-rotl" class="btn">↶</a>' +
|
||||||
'<button id="bbox-vmode" type="button" tt="a"></button>' +
|
'<a id="bbox-readdir" class="btn" tt="a">ltr</a>' +
|
||||||
'<button id="bbox-close" type="button" aria-label="Close">X</button>' +
|
'<a id="bbox-anim" class="btn" tt="a">-</a>' +
|
||||||
|
'<a id="bbox-help" class="btn">?</a>' +
|
||||||
'</div></div>'
|
'</div></div>'
|
||||||
);
|
);
|
||||||
overlay = ctr.firstChild;
|
overlay = ctr.firstChild;
|
||||||
|
|
@ -335,11 +336,14 @@ window.baguetteBox = (function () {
|
||||||
btnSel = ebi('bbox-tsel');
|
btnSel = ebi('bbox-tsel');
|
||||||
btnFull = ebi('bbox-full');
|
btnFull = ebi('bbox-full');
|
||||||
btnZoom = ebi('bbzoom');
|
btnZoom = ebi('bbzoom');
|
||||||
|
btnPixelated = ebi('bbpixelated');
|
||||||
btnVmode = ebi('bbox-vmode');
|
btnVmode = ebi('bbox-vmode');
|
||||||
btnClose = ebi('bbox-close');
|
btnClose = ebi('bbox-close');
|
||||||
|
|
||||||
bcfg_bind(options, 'bbzoom', 'bbzoom', false, setzoom);
|
bcfg_bind(options, 'bbzoom', 'bbzoom', false, setzoom);
|
||||||
setzoom();
|
setzoom();
|
||||||
|
bcfg_bind(options, 'bbpixelated', 'bbpixelated', false, setpixelated);
|
||||||
|
setpixelated();
|
||||||
}
|
}
|
||||||
|
|
||||||
function halp() {
|
function halp() {
|
||||||
|
|
@ -356,6 +360,7 @@ window.baguetteBox = (function () {
|
||||||
['R', 'rotate (shift=ccw)'],
|
['R', 'rotate (shift=ccw)'],
|
||||||
['F', 'toggle fullscreen'],
|
['F', 'toggle fullscreen'],
|
||||||
['Z', 'toggle zoom/stretch'],
|
['Z', 'toggle zoom/stretch'],
|
||||||
|
['X', 'toggle pixelated rendering'],
|
||||||
['S', 'toggle file selection'],
|
['S', 'toggle file selection'],
|
||||||
['space, P, K', 'video: play / pause'],
|
['space, P, K', 'video: play / pause'],
|
||||||
['U', 'video: seek 10sec back'],
|
['U', 'video: seek 10sec back'],
|
||||||
|
|
@ -440,6 +445,8 @@ window.baguetteBox = (function () {
|
||||||
tglfull();
|
tglfull();
|
||||||
else if (kl == "z")
|
else if (kl == "z")
|
||||||
btnZoom.click();
|
btnZoom.click();
|
||||||
|
else if (kl == "x")
|
||||||
|
btnPixelated.click();
|
||||||
else if (kl == "s")
|
else if (kl == "s")
|
||||||
tglsel();
|
tglsel();
|
||||||
else if (kl == "r")
|
else if (kl == "r")
|
||||||
|
|
@ -553,6 +560,12 @@ window.baguetteBox = (function () {
|
||||||
btnState(btnZoom, sel);
|
btnState(btnZoom, sel);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function setpixelated() {
|
||||||
|
var sel = clgot(btnPixelated, 'on')
|
||||||
|
clmod(ebi('bbox-overlay'), 'pixelated', sel);
|
||||||
|
btnState(btnPixelated, sel);
|
||||||
|
}
|
||||||
|
|
||||||
function tglsel() {
|
function tglsel() {
|
||||||
var o = findfile()[3];
|
var o = findfile()[3];
|
||||||
clmod(o.closest('tr'), 'sel', 't');
|
clmod(o.closest('tr'), 'sel', 't');
|
||||||
|
|
@ -576,18 +589,14 @@ window.baguetteBox = (function () {
|
||||||
if (vsplit(files[a].vp)[1] == name)
|
if (vsplit(files[a].vp)[1] == name)
|
||||||
sel = true;
|
sel = true;
|
||||||
|
|
||||||
ebi('bbox-overlay').style.background = sel ?
|
clmod(ebi('bbox-overlay'), 'sel', sel);
|
||||||
'rgba(153,34,85,0.7)' : '';
|
|
||||||
|
|
||||||
img.style.borderRadius = sel ? '1em' : '';
|
img.style.borderRadius = sel ? '1em' : '';
|
||||||
btnState(btnSel, sel);
|
btnState(btnSel, sel);
|
||||||
}
|
}
|
||||||
|
|
||||||
function btnState(btn, sel) {
|
function btnState(btn, sel) {
|
||||||
btn.style.color = sel ? '#fff' : '';
|
clmod(btn, 'on', sel);
|
||||||
btn.style.background = sel ? '#d48' : '';
|
|
||||||
btn.style.textShadow = sel ? '1px 1px 0 #b38' : '';
|
|
||||||
btn.style.boxShadow = sel ? '.15em .15em 0 #502' : '';
|
|
||||||
}
|
}
|
||||||
|
|
||||||
function keyUpHandler(e) {
|
function keyUpHandler(e) {
|
||||||
|
|
@ -729,10 +738,12 @@ window.baguetteBox = (function () {
|
||||||
if (options.buttons === 'auto' && ('ontouchstart' in window || currentGallery.length === 1))
|
if (options.buttons === 'auto' && ('ontouchstart' in window || currentGallery.length === 1))
|
||||||
options.buttons = false;
|
options.buttons = false;
|
||||||
|
|
||||||
btnPrev.style.display = btnNext.style.display = (options.buttons ? '' : 'none');
|
QS('#bbox-next .btn').style.display = QS('#bbox-prev .btn').style.display = (options.buttons ? '' : 'none');
|
||||||
}
|
}
|
||||||
|
|
||||||
function showOverlay(chosenImageIndex) {
|
function showOverlay(chosenImageIndex) {
|
||||||
|
clmod(ebi('wrap'), 'waiting', true);
|
||||||
|
|
||||||
if (options.noScrollbars) {
|
if (options.noScrollbars) {
|
||||||
var a = document.documentElement.style.overflowY,
|
var a = document.documentElement.style.overflowY,
|
||||||
b = document.body.style.overflowY;
|
b = document.body.style.overflowY;
|
||||||
|
|
@ -756,6 +767,7 @@ window.baguetteBox = (function () {
|
||||||
loadImage(currentIndex, function () {
|
loadImage(currentIndex, function () {
|
||||||
preloadNext(currentIndex);
|
preloadNext(currentIndex);
|
||||||
preloadPrev(currentIndex);
|
preloadPrev(currentIndex);
|
||||||
|
clmod(ebi('wrap'), 'waiting', false);
|
||||||
});
|
});
|
||||||
|
|
||||||
show_buttons(0);
|
show_buttons(0);
|
||||||
|
|
@ -784,7 +796,6 @@ window.baguetteBox = (function () {
|
||||||
function hideOverlay(e, dtor) {
|
function hideOverlay(e, dtor) {
|
||||||
ev(e);
|
ev(e);
|
||||||
playvid(false);
|
playvid(false);
|
||||||
removeFromCache('#files');
|
|
||||||
if (options.noScrollbars) {
|
if (options.noScrollbars) {
|
||||||
document.documentElement.style.overflowY = scrollCSS[0];
|
document.documentElement.style.overflowY = scrollCSS[0];
|
||||||
document.body.style.overflowY = scrollCSS[1];
|
document.body.style.overflowY = scrollCSS[1];
|
||||||
|
|
@ -1233,9 +1244,7 @@ window.baguetteBox = (function () {
|
||||||
}
|
}
|
||||||
|
|
||||||
function show_buttons(v) {
|
function show_buttons(v) {
|
||||||
clmod(ebi('bbox-btns'), 'off', v);
|
clmod(ebi('bbox-overlay'), 'immersive', v);
|
||||||
clmod(btnPrev, 'off', v);
|
|
||||||
clmod(btnNext, 'off', v);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
function bounceAnimation(direction) {
|
function bounceAnimation(direction) {
|
||||||
|
|
@ -1297,11 +1306,11 @@ window.baguetteBox = (function () {
|
||||||
x = e.clientX - rc.left,
|
x = e.clientX - rc.left,
|
||||||
fx = x / (rc.right - rc.left);
|
fx = x / (rc.right - rc.left);
|
||||||
|
|
||||||
if (fx < 0.3)
|
// if (fx < 0.3)
|
||||||
return showLeftImage();
|
// return showLeftImage();
|
||||||
|
|
||||||
if (fx > 0.7)
|
// if (fx > 0.7)
|
||||||
return showRightImage();
|
// return showRightImage();
|
||||||
|
|
||||||
show_buttons('t');
|
show_buttons('t');
|
||||||
|
|
||||||
|
|
@ -1367,4 +1376,18 @@ window.baguetteBox = (function () {
|
||||||
};
|
};
|
||||||
})();
|
})();
|
||||||
|
|
||||||
|
|
||||||
|
function init(){
|
||||||
|
if(msel != undefined && msel.bbox != true){
|
||||||
|
console.log('bbox load')
|
||||||
|
msel.bagit();
|
||||||
|
}
|
||||||
|
else{
|
||||||
|
setTimeout(init, 100)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
console.log('wait for file list init');
|
||||||
|
init();
|
||||||
|
|
||||||
J_BBX = 2;
|
J_BBX = 2;
|
||||||
|
|
|
||||||
File diff suppressed because it is too large
Load diff
|
|
@ -7,6 +7,7 @@
|
||||||
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
||||||
<meta name="viewport" content="width=device-width, initial-scale=0.8, minimum-scale=0.6">
|
<meta name="viewport" content="width=device-width, initial-scale=0.8, minimum-scale=0.6">
|
||||||
<meta name="theme-color" content="#{{ tcolor }}">
|
<meta name="theme-color" content="#{{ tcolor }}">
|
||||||
|
<link rel="manifest" href="{{ r }}/.cpr/w/manifest.json?_={{ ts }}" />
|
||||||
<link rel="stylesheet" media="screen" href="{{ r }}/.cpr/w/ui.css?_={{ ts }}">
|
<link rel="stylesheet" media="screen" href="{{ r }}/.cpr/w/ui.css?_={{ ts }}">
|
||||||
<link rel="stylesheet" media="screen" href="{{ r }}/.cpr/w/browser.css?_={{ ts }}">
|
<link rel="stylesheet" media="screen" href="{{ r }}/.cpr/w/browser.css?_={{ ts }}">
|
||||||
{{ html_head }}
|
{{ html_head }}
|
||||||
|
|
@ -16,121 +17,276 @@
|
||||||
</head>
|
</head>
|
||||||
|
|
||||||
<body>
|
<body>
|
||||||
<div id="ops"></div>
|
<a href="#" id="treeToggleBtn" class="tgl btn normalrcm"></a>
|
||||||
|
|
||||||
<div id="op_search" class="opview">
|
<div id="tree" class="sbar">
|
||||||
{%- if have_tags_idx %}
|
<div id="treesuperh">
|
||||||
<div id="srch_form" class="tags opbox"></div>
|
<a href="{{ srv_url }}" id="srv_name"><span id="favico_onpage"></span>{{ srv_name }}</a>
|
||||||
{%- else %}
|
<div id="treeh"></div>
|
||||||
<div id="srch_form" class="opbox"></div>
|
</div>
|
||||||
{%- endif %}
|
<ul class="ntree" id="treepar"></ul>
|
||||||
<div id="srch_q"></div>
|
<ul id="docul"></ul>
|
||||||
|
<ul class="ntree" id="treeul"></ul>
|
||||||
|
<div id="thx_ff"> </div>
|
||||||
|
|
||||||
|
<div id="tree_footer">
|
||||||
|
<div id="rtt_latency"></div>
|
||||||
|
|
||||||
|
<div id="spaceFree">{{ space_free }} free of {{ space_total }}</div>
|
||||||
|
|
||||||
|
<div id="spaceTotal_bar">
|
||||||
|
<div id="spaceUsed_bar" style="width: {{ space_used_percent }}%;"></div>
|
||||||
|
<div id="spaceMax"></div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div id="op_player" class="opview opbox opwide"></div>
|
<div id="reszbar"></div>
|
||||||
|
|
||||||
|
<div id="wrap">
|
||||||
|
|
||||||
<div id="op_bup" class="opview opbox {% if not ls0 %}act{% endif %}">
|
<div id="pathBar" class="normalrcm">
|
||||||
<div id="u2err"></div>
|
<h2 id="wfp" class="shifted">
|
||||||
<form method="post" enctype="multipart/form-data" accept-charset="utf-8" action="{{ url_suf }}">
|
<a href="#" id="gop" class="btn"></a>
|
||||||
<input type="hidden" name="act" value="bput" />
|
<a href="#" id="gon" class="btn"></a>
|
||||||
<input type="file" name="f" multiple /><br />
|
<a href="#" id="gou" class="btn"></a>
|
||||||
<input type="submit" value="start upload">
|
</h2>
|
||||||
</form>
|
<h1 id="path">
|
||||||
<a id="bbsw" href="?b=u" rel="nofollow"><br />switch to basic browser</a>
|
{%- for n in vpnodes %}
|
||||||
</div>
|
<a href="{{ r }}/{{ n[0] }}">{{ n[1] }}</a>
|
||||||
|
|
||||||
<div id="op_mkdir" class="opview opbox {% if not ls0 %}act{% endif %}">
|
|
||||||
<form method="post" enctype="multipart/form-data" accept-charset="utf-8" action="{{ url_suf }}">
|
|
||||||
<input type="hidden" name="act" value="mkdir" />
|
|
||||||
📂<input type="text" name="name" class="i" placeholder="awesome mix vol.1">
|
|
||||||
<input type="submit" value="make directory">
|
|
||||||
</form>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div id="op_new_md" class="opview opbox">
|
|
||||||
<form method="post" enctype="multipart/form-data" accept-charset="utf-8" action="{{ url_suf }}">
|
|
||||||
<input type="hidden" name="act" value="new_md" />
|
|
||||||
📝<input type="text" name="name" class="i" placeholder="weekend-plans">
|
|
||||||
<input type="submit" value="new file">
|
|
||||||
</form>
|
|
||||||
<span id="new_mdi"></span>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div id="op_msg" class="opview opbox {% if not ls0 %}act{% endif %}">
|
|
||||||
<form method="post" enctype="application/x-www-form-urlencoded" accept-charset="utf-8" action="{{ url_suf }}">
|
|
||||||
📟<input type="text" name="msg" class="i" placeholder="lorem ipsum dolor sit amet">
|
|
||||||
<input type="submit" value="send msg to srv log">
|
|
||||||
</form>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div id="op_unpost" class="opview opbox"></div>
|
|
||||||
|
|
||||||
<div id="op_up2k" class="opview"></div>
|
|
||||||
|
|
||||||
<div id="op_cfg" class="opview opbox opwide"></div>
|
|
||||||
|
|
||||||
<h1 id="path">
|
|
||||||
<a href="#" id="entree">🌲</a>
|
|
||||||
{%- for n in vpnodes %}
|
|
||||||
<a href="{{ r }}/{{ n[0] }}">{{ n[1] }}</a>
|
|
||||||
{%- endfor %}
|
|
||||||
</h1>
|
|
||||||
|
|
||||||
<div id="tree"></div>
|
|
||||||
|
|
||||||
<div id="wrap">
|
|
||||||
|
|
||||||
{%- if doc %}
|
|
||||||
<div id="bdoc"><pre>{{ doc|e }}</pre></div>
|
|
||||||
{%- else %}
|
|
||||||
<div id="bdoc"></div>
|
|
||||||
{%- endif %}
|
|
||||||
|
|
||||||
<div id="pro" class="logue">{{ "" if sb_lg else logues[0] }}</div>
|
|
||||||
|
|
||||||
<table id="files">
|
|
||||||
<thead>
|
|
||||||
<tr>
|
|
||||||
<th name="lead"><span>c</span></th>
|
|
||||||
<th name="href"><span>File Name</span></th>
|
|
||||||
<th name="sz" sort="int"><span>Size</span></th>
|
|
||||||
{%- for k in taglist %}
|
|
||||||
{%- if k.startswith('.') %}
|
|
||||||
<th name="tags/{{ k }}" sort="int"><span>{{ k[1:] }}</span></th>
|
|
||||||
{%- else %}
|
|
||||||
<th name="tags/{{ k }}"><span>{{ k[0]|upper }}{{ k[1:] }}</span></th>
|
|
||||||
{%- endif %}
|
|
||||||
{%- endfor %}
|
{%- endfor %}
|
||||||
<th name="ext"><span>T</span></th>
|
</h1>
|
||||||
<th name="ts"><span>Date</span></th>
|
|
||||||
</tr>
|
|
||||||
</thead>
|
|
||||||
<tbody>
|
|
||||||
|
|
||||||
{%- for f in files %}
|
<div id="actionsArea">
|
||||||
<tr><td>{{ f.lead }}</td><td><a href="{{ f.href }}">{{ f.name|e }}</a></td><td>{{ f.sz }}</td>
|
<div id="ops">
|
||||||
{%- if f.tags is defined %}
|
<a href="#" class="disabled" id="opa_srch" data-perm="read" data-dep="idx" data-dest="search">🔎</a>
|
||||||
{%- for k in taglist %}<td>{{ f.tags[k]|e }}</td>{%- endfor %}
|
<a href="#" class="disabled" id="opa_del" data-perm="write" data-dest="unpost">🧯</a>
|
||||||
{%- endif %}<td>{{ f.ext }}</td><td>{{ f.dt }}</td></tr>
|
<a href="#" class="disabled" id="opa_up" data-dest="up2k">🚀</a>
|
||||||
{%- endfor %}
|
<a href="#" class="disabled" id="opa_bup" data-perm="write" data-dest="bup">🎈</a>
|
||||||
|
<a href="#" class="disabled" id="opa_mkd" data-perm="write" data-dest="mkdir"><p class="overlay_plus">+</p>📂</a>
|
||||||
|
<a href="#" class="disabled" id="opa_msg" data-dest="msg">📟</a>
|
||||||
|
<a href="#" class="disabled" id="opa_cfg" data-dest="cfg">⚙️</a>
|
||||||
|
<a href="#" id="opa_acc" data-dest="acc">
|
||||||
|
<label for="acc_cbopen" id="acc_pfp" class="pfp">👤</label>
|
||||||
|
</a>
|
||||||
|
</div>
|
||||||
|
|
||||||
</tbody>
|
<input type="checkbox" id="acc_cbopen" style="display: none;" />
|
||||||
</table>
|
<span id="op_acc" class="opview popup under">
|
||||||
|
<a id="acc_button" class="tgl btn on" href="{{ r }}/?h">
|
||||||
|
<p id="acc_name">Login</p>
|
||||||
|
</a>
|
||||||
|
<div id="accessType" style="display: block;">{{ srv_info }}</div>
|
||||||
|
<a href="{{ r }}/?h" id="goh" style="display: block;">control-panel</a>
|
||||||
|
<form id="flogout" style="display: block;" method="post" enctype="multipart/form-data">
|
||||||
|
<input type="hidden" name="act" value="logout" />
|
||||||
|
<input id="blogout" type="submit" />
|
||||||
|
</form>
|
||||||
|
</span>
|
||||||
|
<div id="opdesc"></div>
|
||||||
|
|
||||||
<div id="epi" class="logue">{{ "" if sb_lg else logues[1] }}</div>
|
<div id="srchfolder_div">
|
||||||
|
<input id="folder_search" type="text" />
|
||||||
|
<span id="srch_quickopts" class="popup under">
|
||||||
|
<input type="checkbox" id="srch_recursivec" checked="true">
|
||||||
|
<label for="srch_recursivec" id="srch_recursivelbl" tabindex="0"></label>
|
||||||
|
</span>
|
||||||
|
<div id="qs_btns">
|
||||||
|
<a id="moresearch"><span>▼</span></a>
|
||||||
|
<a id="closesearch"><span class="x">×</span></a>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
<h2 id="wfp"><a href="{{ r }}/?h" id="goh">control-panel</a></h2>
|
|
||||||
|
|
||||||
<a href="#" id="repl">π</a>
|
<div id="op_search" class="opview">
|
||||||
|
{%- if have_tags_idx %}
|
||||||
|
<div id="srch_form" class="tags opbox"></div>
|
||||||
|
{%- else %}
|
||||||
|
<div id="srch_form" class="opbox"></div>
|
||||||
|
{%- endif %}
|
||||||
|
<div id="srch_q"></div>
|
||||||
|
</div>
|
||||||
|
|
||||||
</div>
|
<div id="op_player" class="opview opbox opwide"></div>
|
||||||
|
|
||||||
<div id="srv_info"><span>{{ srv_info }}</span></div>
|
<div id="op_bup" class="opview opbox {% if not ls0 %}act{% endif %}">
|
||||||
|
<form method="post" enctype="multipart/form-data" accept-charset="utf-8" action="{{ url_suf }}">
|
||||||
|
<input type="hidden" name="act" value="bput" />
|
||||||
|
<input id="bup_btn" type="file" name="f" multiple /><br />
|
||||||
|
<input type="submit" value="start upload">
|
||||||
|
</form>
|
||||||
|
<a id="bbsw" href="?b=u" rel="nofollow"><br />switch to basic browser</a>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div id="op_mkdir" class="opview opbox {% if not ls0 %}act{% endif %}">
|
||||||
|
<form method="post" enctype="multipart/form-data" accept-charset="utf-8" action="{{ url_suf }}">
|
||||||
|
<input type="hidden" name="act" value="mkdir" />
|
||||||
|
📂<input type="text" name="name" class="i" placeholder="awesome mix vol.1">
|
||||||
|
<input type="submit" value="make directory">
|
||||||
|
</form>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div id="op_new_md" class="opview opbox">
|
||||||
|
<form method="post" enctype="multipart/form-data" accept-charset="utf-8" action="{{ url_suf }}">
|
||||||
|
<input type="hidden" name="act" value="new_md" />
|
||||||
|
📝<input type="text" name="name" class="i" placeholder="weekend-plans">
|
||||||
|
<input type="submit" value="new file">
|
||||||
|
</form>
|
||||||
|
<span id="new_mdi"></span>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div id="op_msg" class="opview opbox {% if not ls0 %}act{% endif %}">
|
||||||
|
<form method="post" enctype="application/x-www-form-urlencoded" accept-charset="utf-8" action="{{ url_suf }}">
|
||||||
|
📟<input type="text" name="msg" class="i" placeholder="lorem ipsum dolor sit amet">
|
||||||
|
<input type="submit" value="send msg to srv log">
|
||||||
|
</form>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div id="op_unpost" class="opview opbox"></div>
|
||||||
|
|
||||||
|
<div id="op_cfg" class="opview opbox opwide"></div>
|
||||||
|
|
||||||
|
|
||||||
|
{%- if doc %}
|
||||||
|
<div id="bdoc"><pre>{{ doc|e }}</pre></div>
|
||||||
|
{%- else %}
|
||||||
|
<div id="bdoc"></div>
|
||||||
|
{%- endif %}
|
||||||
|
|
||||||
|
<div id="pro" class="logue">{{ "" if sb_lg else logues[0] }}</div>
|
||||||
|
|
||||||
|
<div id="cfg" class="modal">
|
||||||
|
<a id="s_outside" class="closepane"></a>
|
||||||
|
<div id="s_content" class="modalcontent">
|
||||||
|
<a id="h_cfg" class="modalheader" href="#h_cfg"></a>
|
||||||
|
<div id="s_hor" class="modalsplit">
|
||||||
|
<div id="s_nav" class="splitsub"></div>
|
||||||
|
<div class="divider"></div>
|
||||||
|
<div id="s_list" class="opview splitsub"></div>
|
||||||
|
</div>
|
||||||
|
<a id="reloc_cfg" class="btn winbtn"><span>▼</span></a>
|
||||||
|
<a id="cl_cfg" class="close btn"><span class="x">×</span></a>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div id="up2k" class="modal">
|
||||||
|
<a id="up_outside" class="closepane"></a>
|
||||||
|
<div id="up_content" class="modalcontent">
|
||||||
|
<a id="h_up2k" class="modalheader" href="#h_up2k">🚀 Upload</a>
|
||||||
|
<div id="up_hor" class="modalsplit">
|
||||||
|
<div id="op_up2k" class="opview splitsub"></div>
|
||||||
|
<div class="divider"></div>
|
||||||
|
<div id="up_info" class="splitsub"></div>
|
||||||
|
</div>
|
||||||
|
<a id="reloc_up" class="btn winbtn"><span>▼</span></a>
|
||||||
|
<a id="cl_up" class="close btn"><span class="x">×</span></a>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div id="music" class="modal">
|
||||||
|
<div id="mu_outer">
|
||||||
|
<div id="mu_inner">
|
||||||
|
<a id="h_music" class="modalheader" href="#">💿 Music Player</a>
|
||||||
|
|
||||||
|
<a id="mu_th">
|
||||||
|
<svg class="thumb" width="100%" height="100%" version="1.1">
|
||||||
|
<use href="#file-icon"/>
|
||||||
|
</svg>
|
||||||
|
<span class="th_ext"></span>
|
||||||
|
<img onload="th_onload(this)"/>
|
||||||
|
</a>
|
||||||
|
<span id="mu_tn"></span>
|
||||||
|
<span id="mu_deets"></span>
|
||||||
|
<div id="mu_pbb"></div>
|
||||||
|
<div id="mu_pbc" class="pctl"></div>
|
||||||
|
<div id="mu_toggles"></div>
|
||||||
|
<div id="mu_vol"></div>
|
||||||
|
|
||||||
|
<a id="cfg_mu" class="btn winbtn" href="#h_mp">⚙️</a>
|
||||||
|
<a id="cl_mu" class="close btn"><span class="x">×</span></a>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<!-- define symbol in hidden svg document -->
|
||||||
|
<svg style="display: none" version="1.1">
|
||||||
|
<defs>
|
||||||
|
<symbol id="folder-icon" viewBox="0 0 24 24">
|
||||||
|
<path fill-rule="evenodd" clip-rule="evenodd" d="M3 7C3 5.89543 3.89543 5 5 5L8.67157 5C9.20201 5 9.71071 5.21071 10.0858 5.58579L10.9142 6.41421C11.2893 6.78929 11.798 7 12.3284 7H19C20.1046 7 21 7.89543 21 9V17C21 18.1046 20.1046 19 19 19H5C3.89543 19 3 18.1046 3 17V7Z"
|
||||||
|
style="fill:#07c; fill:var(--a);" />
|
||||||
|
</symbol>
|
||||||
|
<symbol id="file-icon" viewBox="0 0 48 48">
|
||||||
|
<path fill="currentColor"
|
||||||
|
opacity=".7"
|
||||||
|
d="m 28.22643,4.6905246 0.0063,9.1096644 a 1.6331061,1.6331061 43.698111 0 0 1.649296,1.632007 l 9.339558,-0.09259 z" />
|
||||||
|
<path class="a"
|
||||||
|
d="M39.5,15.5h-9a2,2,0,0,1-2-2v-9h-18a2,2,0,0,0-2,2v35a2,2,0,0,0,2,2h27a2,2,0,0,0,2-2Z"
|
||||||
|
id="path1"
|
||||||
|
style="stroke:#07c; stroke:var(--a);"
|
||||||
|
stroke-width="1" fill="none" stroke-linecap="round" stroke-linejoin="round" />
|
||||||
|
<line class="a"
|
||||||
|
x1="28.5"
|
||||||
|
y1="4.5"
|
||||||
|
x2="39.5"
|
||||||
|
y2="15.5"
|
||||||
|
style="stroke:#07c; stroke:var(--a);"
|
||||||
|
stroke-width="1" fill="none" stroke-linecap="round" stroke-linejoin="round" />
|
||||||
|
</symbol>
|
||||||
|
</defs>
|
||||||
|
</svg>
|
||||||
|
|
||||||
|
<div id="wtc" class="ghead"></div>
|
||||||
|
<table id="files">
|
||||||
|
<thead>
|
||||||
|
<tr>
|
||||||
|
<th name="lead"><span>!</span></th>
|
||||||
|
<th name="href"><span>File Name</span></th>
|
||||||
|
<th name="sz" sort="int"><span>Size</span></th>
|
||||||
|
{%- for k in taglist %}
|
||||||
|
{%- if k.startswith('.') %}
|
||||||
|
<th name="tags/{{ k }}" sort="int"><span>{{ k[1:] }}</span></th>
|
||||||
|
{%- else %}
|
||||||
|
<th name="tags/{{ k }}"><span>{{ k[0]|upper }}{{ k[1:] }}</span></th>
|
||||||
|
{%- endif %}
|
||||||
|
{%- endfor %}
|
||||||
|
<th name="ext"><span>Ext</span></th>
|
||||||
|
<th name="ts"><span>Date</span></th>
|
||||||
|
</tr>
|
||||||
|
</thead>
|
||||||
|
<tbody>
|
||||||
|
|
||||||
|
{%- for f in files %}
|
||||||
|
<tr>
|
||||||
|
<td>{{ f.lead }}</td>
|
||||||
|
<td><a href="{{ f.href }}" class="flink">{{ f.name|e }}</a></td>
|
||||||
|
<td>{{ f.sz }}</td>
|
||||||
|
{%- if f.tags is defined %}
|
||||||
|
{%- for k in taglist %}
|
||||||
|
<td>{{ f.tags[k]|e }}</td>{%- endfor %}
|
||||||
|
{%- endif %}
|
||||||
|
<td>{{ f.ext }}</td>
|
||||||
|
<td>{{ f.dt }}</td>
|
||||||
|
</tr>
|
||||||
|
{%- endfor %}
|
||||||
|
|
||||||
|
</tbody>
|
||||||
|
</table>
|
||||||
|
|
||||||
|
<div id="epi" class="logue">{{ "" if sb_lg else logues[1] }}</div>
|
||||||
|
|
||||||
|
<a href="#" id="repl">π</a>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div id="srv_info" style="display: none;"><span>{{ srv_info }}</span></div>
|
||||||
|
|
||||||
<div id="widget"></div>
|
<div id="widget"></div>
|
||||||
|
|
||||||
<div id="rcm" tabindex="0"></div>
|
<div id="rcm" tabindex="0"></div>
|
||||||
|
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
var SR = "{{ r }}",
|
var SR = "{{ r }}",
|
||||||
CGV1 = {{ cgv1 }},
|
CGV1 = {{ cgv1 }},
|
||||||
|
|
@ -150,18 +306,18 @@
|
||||||
{%- if lang != "eng" %}
|
{%- if lang != "eng" %}
|
||||||
<script src="{{ r }}/.cpr/w/tl/{{ lang }}.js?_={{ ts }}"></script>
|
<script src="{{ r }}/.cpr/w/tl/{{ lang }}.js?_={{ ts }}"></script>
|
||||||
{%- endif %}
|
{%- endif %}
|
||||||
<script src="{{ r }}/.cpr/w/baguettebox.js?_={{ ts }}"></script>
|
|
||||||
<script src="{{ r }}/.cpr/w/browser.js?_={{ ts }}"></script>
|
<script src="{{ r }}/.cpr/w/browser.js?_={{ ts }}"></script>
|
||||||
<script src="{{ r }}/.cpr/w/up2k.js?_={{ ts }}"></script>
|
<!-- <script src="{{ r }}/.cpr/w/baguettebox.js?_={{ ts }}"></script>
|
||||||
|
<script src="{{ r }}/.cpr/w/up2k.js?_={{ ts }}"></script> -->
|
||||||
{%- if js %}
|
{%- if js %}
|
||||||
<script src="{{ js }}_={{ ts }}"></script>
|
<script src="{{ js }}_={{ ts }}"></script>
|
||||||
{%- endif %}
|
{%- endif %}
|
||||||
<script>
|
<script>
|
||||||
Date.now();function jsldp(a,b){2!=window[a]&&alert("FATAL ERROR: cannot load "+b+".js due to unreliable network or broken reverse-proxy; try CTRL-SHIFT-R")}
|
Date.now(); function jsldp(a, b) { 2 != window[a] && alert("FATAL ERROR: cannot load " + b + ".js due to unreliable network or broken reverse-proxy; try CTRL-SHIFT-R") }
|
||||||
jsldp("J_UTL","util");
|
jsldp("J_UTL", "util");
|
||||||
jsldp("J_BBX","baguettebox");
|
jsldp("J_BRW", "browser");
|
||||||
jsldp("J_BRW","browser");
|
// jsldp("J_BBX", "baguettebox");
|
||||||
jsldp("J_U2K","up2k");
|
// jsldp("J_U2K", "up2k");
|
||||||
</script>
|
</script>
|
||||||
</body>
|
</body>
|
||||||
</html>
|
</html>
|
||||||
|
|
|
||||||
File diff suppressed because it is too large
Load diff
BIN
copyparty/web/copyparty.png
Normal file
BIN
copyparty/web/copyparty.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 1.5 KiB |
1
copyparty/web/copyparty.svg
Normal file
1
copyparty/web/copyparty.svg
Normal file
|
|
@ -0,0 +1 @@
|
||||||
|
<svg xmlns="http://www.w3.org/2000/svg" width="256mm" height="256mm" viewBox="0 0 256 256"><defs><linearGradient id="a" x1="4.859" x2="4.859" y1="14.819" y2="212.404" gradientTransform="matrix(1.21265 0 0 .57836 2.307 33.663)" gradientUnits="userSpaceOnUse"><stop offset="0" stop-color="#fc5" style="stop-color:#ffd34d;stop-opacity:1"/><stop offset=".2" stop-color="#fc0" style="stop-color:#ffc500;stop-opacity:1"/><stop offset="1" stop-color="#f80"/></linearGradient></defs><rect width="251.387" height="183.488" x="2.307" y="28.025" fill="#333" rx="11.784" ry="11.482" style="stroke:#acacac;stroke-width:3.39476;stroke-dasharray:none;stroke-opacity:1"/><rect width="239.603" height="114.276" x="8.199" y="42.233" fill="url(#a)" rx="7.856" ry="7.772" style="fill:url(#a);stroke-width:.837468"/><rect width="153.189" height="51.063" x="51.406" y="81.923" fill="#333" rx="25.531" ry="25.531" style="stroke-width:.981978"/><circle cx="76.937" cy="107.454" r="15.712" fill="#ccc" style="fill:#acacac;fill-opacity:1;stroke-width:.981978"/><circle cx="179.063" cy="107.454" r="15.712" fill="#ccc" style="fill:#acacac;fill-opacity:1;stroke-width:.981978"/><path fill="#737373" d="m34.712 211.512 9.82-33.864c1.964-5.53 4.91-6.912 10.802-6.912h147.39c5.892 0 6.78 1.383 8.744 6.912l9.82 33.864z" style="fill:#acacac;fill-opacity:1;stroke-width:.823811"/></svg>
|
||||||
|
After Width: | Height: | Size: 1.3 KiB |
|
|
@ -8,6 +8,7 @@
|
||||||
<meta name="viewport" content="width=device-width, initial-scale=0.8">
|
<meta name="viewport" content="width=device-width, initial-scale=0.8">
|
||||||
<meta name="robots" content="noindex, nofollow">
|
<meta name="robots" content="noindex, nofollow">
|
||||||
<meta name="theme-color" content="#{{ tcolor }}">
|
<meta name="theme-color" content="#{{ tcolor }}">
|
||||||
|
<link rel="manifest" href="{{ r }}/.cpr/w/manifest.json?_={{ ts }}" />
|
||||||
<link rel="stylesheet" media="screen" href="{{ r }}/.cpr/w/shares.css?_={{ ts }}">
|
<link rel="stylesheet" media="screen" href="{{ r }}/.cpr/w/shares.css?_={{ ts }}">
|
||||||
<link rel="stylesheet" media="screen" href="{{ r }}/.cpr/w/ui.css?_={{ ts }}">
|
<link rel="stylesheet" media="screen" href="{{ r }}/.cpr/w/ui.css?_={{ ts }}">
|
||||||
{{ html_head }}
|
{{ html_head }}
|
||||||
|
|
|
||||||
33
copyparty/web/manifest.json
Normal file
33
copyparty/web/manifest.json
Normal file
|
|
@ -0,0 +1,33 @@
|
||||||
|
{
|
||||||
|
"short_name": "copyparty",
|
||||||
|
"name": "copyparty",
|
||||||
|
"description": "the all in one file server",
|
||||||
|
"icons": [
|
||||||
|
{
|
||||||
|
"src": "/.cpr/copyparty.svg",
|
||||||
|
"sizes": "512x512",
|
||||||
|
"type": "image/svg+xml"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"start_url": "/?utm_medium=PWA&utm_source=launcher",
|
||||||
|
"display": "minimal-ui",
|
||||||
|
"orientation": "any",
|
||||||
|
"theme_color": "#222",
|
||||||
|
"background_color": "#222",
|
||||||
|
"share_target": {
|
||||||
|
"action": "/?utm_medium=PWA&utm_source=share-target&share-target",
|
||||||
|
"method": "POST",
|
||||||
|
"enctype": "multipart/form-data",
|
||||||
|
"params": {
|
||||||
|
"title": "share",
|
||||||
|
"text": "upload",
|
||||||
|
"url": "/",
|
||||||
|
"files": [
|
||||||
|
{
|
||||||
|
"name": "files",
|
||||||
|
"accept": ["*/*"]
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -140,17 +140,18 @@ blink {
|
||||||
margin-bottom: 6em;
|
margin-bottom: 6em;
|
||||||
}
|
}
|
||||||
#mn {
|
#mn {
|
||||||
padding: 1.3em 0 .7em 1em;
|
padding: .8em 0 .2em 1em;
|
||||||
border-bottom: 1px solid #ccc;
|
border-bottom: 1px solid #ccc;
|
||||||
background: #eee;
|
background: #eee;
|
||||||
z-index: 10;
|
z-index: 10;
|
||||||
width: calc(100% - 1em);
|
width: calc(100% - 1em);
|
||||||
}
|
}
|
||||||
#mn a {
|
#mn a {
|
||||||
|
display: inline-block;
|
||||||
color: #444;
|
color: #444;
|
||||||
background: none;
|
background: none;
|
||||||
margin: 0 0 0 -.2em;
|
margin: 0 0 0 -.2em;
|
||||||
padding: .3em 0 .3em .4em;
|
padding: .5em .4em .5em 0;
|
||||||
text-decoration: none;
|
text-decoration: none;
|
||||||
border: none;
|
border: none;
|
||||||
/* ie: */
|
/* ie: */
|
||||||
|
|
@ -320,7 +321,7 @@ blink {
|
||||||
}
|
}
|
||||||
html.z #toc,
|
html.z #toc,
|
||||||
html.z #mw {
|
html.z #mw {
|
||||||
scrollbar-color: #b80 #282828;
|
scrollbar-color: rgba(203, 203, 203, 0.634) #282828;
|
||||||
}
|
}
|
||||||
html.z #toc::-webkit-scrollbar-track {
|
html.z #toc::-webkit-scrollbar-track {
|
||||||
background: #282828;
|
background: #282828;
|
||||||
|
|
|
||||||
|
|
@ -7,6 +7,7 @@
|
||||||
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
||||||
<meta name="viewport" content="width=device-width, initial-scale=0.7">
|
<meta name="viewport" content="width=device-width, initial-scale=0.7">
|
||||||
<meta name="theme-color" content="#{{ tcolor }}">
|
<meta name="theme-color" content="#{{ tcolor }}">
|
||||||
|
<link rel="manifest" href="{{ r }}/.cpr/w/manifest.json?_={{ ts }}" />
|
||||||
<link rel="stylesheet" href="{{ r }}/.cpr/w/ui.css?_={{ ts }}">
|
<link rel="stylesheet" href="{{ r }}/.cpr/w/ui.css?_={{ ts }}">
|
||||||
<link rel="stylesheet" href="{{ r }}/.cpr/w/md.css?_={{ ts }}">
|
<link rel="stylesheet" href="{{ r }}/.cpr/w/md.css?_={{ ts }}">
|
||||||
{%- if edit %}
|
{%- if edit %}
|
||||||
|
|
|
||||||
|
|
@ -41,7 +41,7 @@ var dbg = function () { };
|
||||||
link += parts[a] + (a < aa ? '/' : '');
|
link += parts[a] + (a < aa ? '/' : '');
|
||||||
o = mknod('a');
|
o = mknod('a');
|
||||||
o.setAttribute('href', link);
|
o.setAttribute('href', link);
|
||||||
o.textContent = uricom_dec(parts[a].split('?')[0]) || 'top';
|
o.textContent = uricom_dec(parts[a].split('?')[0]) || '🏠';
|
||||||
dom_nav.appendChild(o);
|
dom_nav.appendChild(o);
|
||||||
}
|
}
|
||||||
})();
|
})();
|
||||||
|
|
|
||||||
|
|
@ -9,6 +9,9 @@ html .editor-toolbar.disabled-for-preview>button:not(.no-disable) { opacity: .35
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
:root {
|
||||||
|
background: none;
|
||||||
|
}
|
||||||
html {
|
html {
|
||||||
line-height: 1.5em;
|
line-height: 1.5em;
|
||||||
}
|
}
|
||||||
|
|
@ -39,12 +42,13 @@ html, body {
|
||||||
|
|
||||||
#mn {
|
#mn {
|
||||||
font-weight: normal;
|
font-weight: normal;
|
||||||
margin: 1.3em 0 .7em 1em;
|
margin: .8em 0 .2em 1em;
|
||||||
}
|
}
|
||||||
#mn a {
|
#mn a {
|
||||||
|
display: inline-block;
|
||||||
color: #444;
|
color: #444;
|
||||||
margin: 0 0 0 -.2em;
|
margin: 0 0 0 -.2em;
|
||||||
padding: 0 0 0 .4em;
|
padding: .5em .4em .5em 0;
|
||||||
text-decoration: none;
|
text-decoration: none;
|
||||||
/* ie: */
|
/* ie: */
|
||||||
border-bottom: .1em solid #777\9;
|
border-bottom: .1em solid #777\9;
|
||||||
|
|
|
||||||
|
|
@ -7,6 +7,7 @@
|
||||||
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
||||||
<meta name="viewport" content="width=device-width, initial-scale=0.7">
|
<meta name="viewport" content="width=device-width, initial-scale=0.7">
|
||||||
<meta name="theme-color" content="#{{ tcolor }}">
|
<meta name="theme-color" content="#{{ tcolor }}">
|
||||||
|
<link rel="manifest" href="{{ r }}/.cpr/w/manifest.json?_={{ ts }}" />
|
||||||
<link rel="stylesheet" href="{{ r }}/.cpr/w/ui.css?_={{ ts }}">
|
<link rel="stylesheet" href="{{ r }}/.cpr/w/ui.css?_={{ ts }}">
|
||||||
<link rel="stylesheet" href="{{ r }}/.cpr/w/mde.css?_={{ ts }}">
|
<link rel="stylesheet" href="{{ r }}/.cpr/w/mde.css?_={{ ts }}">
|
||||||
<link rel="stylesheet" href="{{ r }}/.cpr/w/deps/mini-fa.css?_={{ ts }}">
|
<link rel="stylesheet" href="{{ r }}/.cpr/w/deps/mini-fa.css?_={{ ts }}">
|
||||||
|
|
|
||||||
|
|
@ -9,7 +9,7 @@ var dom_md = ebi('mt');
|
||||||
(function () {
|
(function () {
|
||||||
var n = location + '';
|
var n = location + '';
|
||||||
n = (n.slice(n.indexOf('//') + 2).split('?')[0] + '?v').split('/');
|
n = (n.slice(n.indexOf('//') + 2).split('?')[0] + '?v').split('/');
|
||||||
n[0] = 'top';
|
n[0] = '🏠';
|
||||||
var loc = [];
|
var loc = [];
|
||||||
var nav = [];
|
var nav = [];
|
||||||
for (var a = 0; a < n.length; a++) {
|
for (var a = 0; a < n.length; a++) {
|
||||||
|
|
|
||||||
|
|
@ -7,6 +7,7 @@
|
||||||
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
||||||
<meta name="viewport" content="width=device-width, initial-scale=0.8">
|
<meta name="viewport" content="width=device-width, initial-scale=0.8">
|
||||||
<meta name="theme-color" content="#{{ tcolor }}">
|
<meta name="theme-color" content="#{{ tcolor }}">
|
||||||
|
<link rel="manifest" href="{{ r }}/.cpr/w/manifest.json?_={{ ts }}" />
|
||||||
<style>:root{--font-main:sans-serif;--font-mono:monospace}
|
<style>:root{--font-main:sans-serif;--font-mono:monospace}
|
||||||
html,body,a{margin:0;padding:0;border:none;color:#ccc;background:none;font-family:sans-serif;font-family:var(--font-main),sans-serif}
|
html,body,a{margin:0;padding:0;border:none;color:#ccc;background:none;font-family:sans-serif;font-family:var(--font-main),sans-serif}
|
||||||
pre{font-family:monospace,monospace;font-family:var(--font-mono),monospace}
|
pre{font-family:monospace,monospace;font-family:var(--font-mono),monospace}
|
||||||
|
|
|
||||||
|
|
@ -8,6 +8,7 @@
|
||||||
<meta name="viewport" content="width=device-width, initial-scale=0.8">
|
<meta name="viewport" content="width=device-width, initial-scale=0.8">
|
||||||
<meta name="robots" content="noindex, nofollow">
|
<meta name="robots" content="noindex, nofollow">
|
||||||
<meta name="theme-color" content="#{{ tcolor }}">
|
<meta name="theme-color" content="#{{ tcolor }}">
|
||||||
|
<link rel="manifest" href="{{ r }}/.cpr/w/manifest.json?_={{ ts }}" />
|
||||||
<link rel="stylesheet" media="screen" href="{{ r }}/.cpr/w/rups.css?_={{ ts }}">
|
<link rel="stylesheet" media="screen" href="{{ r }}/.cpr/w/rups.css?_={{ ts }}">
|
||||||
<link rel="stylesheet" media="screen" href="{{ r }}/.cpr/w/ui.css?_={{ ts }}">
|
<link rel="stylesheet" media="screen" href="{{ r }}/.cpr/w/ui.css?_={{ ts }}">
|
||||||
{{ html_head }}
|
{{ html_head }}
|
||||||
|
|
|
||||||
|
|
@ -61,7 +61,7 @@ th {
|
||||||
vertical-align: top;
|
vertical-align: top;
|
||||||
white-space: nowrap;
|
white-space: nowrap;
|
||||||
}
|
}
|
||||||
#wrap td+td+td+td+td+td+td+td {
|
#wrap td+td+td+td+td+td+td+td+td {
|
||||||
font-family: var(--font-mono), monospace, monospace;
|
font-family: var(--font-mono), monospace, monospace;
|
||||||
}
|
}
|
||||||
#wrap th:first-child,
|
#wrap th:first-child,
|
||||||
|
|
|
||||||
|
|
@ -8,6 +8,7 @@
|
||||||
<meta name="viewport" content="width=device-width, initial-scale=0.8">
|
<meta name="viewport" content="width=device-width, initial-scale=0.8">
|
||||||
<meta name="robots" content="noindex, nofollow">
|
<meta name="robots" content="noindex, nofollow">
|
||||||
<meta name="theme-color" content="#{{ tcolor }}">
|
<meta name="theme-color" content="#{{ tcolor }}">
|
||||||
|
<link rel="manifest" href="{{ r }}/.cpr/w/manifest.json?_={{ ts }}" />
|
||||||
<link rel="stylesheet" media="screen" href="{{ r }}/.cpr/w/shares.css?_={{ ts }}">
|
<link rel="stylesheet" media="screen" href="{{ r }}/.cpr/w/shares.css?_={{ ts }}">
|
||||||
<link rel="stylesheet" media="screen" href="{{ r }}/.cpr/w/ui.css?_={{ ts }}">
|
<link rel="stylesheet" media="screen" href="{{ r }}/.cpr/w/ui.css?_={{ ts }}">
|
||||||
{{ html_head }}
|
{{ html_head }}
|
||||||
|
|
|
||||||
|
|
@ -5,60 +5,157 @@ html {
|
||||||
font-family: var(--font-main), sans-serif;
|
font-family: var(--font-main), sans-serif;
|
||||||
touch-action: manipulation;
|
touch-action: manipulation;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#homebtn {
|
||||||
|
font-size: x-large;
|
||||||
|
top: 1em;
|
||||||
|
left: 1em;
|
||||||
|
margin: 0 0 .3em 0;
|
||||||
|
padding: .4em .5em;
|
||||||
|
border-radius: .3em;
|
||||||
|
background: var(--bg-u2);
|
||||||
|
border-left: var(--bg-u5) solid 1px;
|
||||||
|
border-top: var(--bg-u5) solid 1px;
|
||||||
|
border-right: var(--bg-u5) solid 1px;
|
||||||
|
border-bottom: 2px solid rgb(7, 130, 212);
|
||||||
|
position: fixed;
|
||||||
|
z-index: 10;
|
||||||
|
box-shadow: 0 0 1em color-mix(in oklab, var(--bg-max) 60%, transparent 40%);
|
||||||
|
}
|
||||||
|
#homebtn:hover, #homebtn:focus-visible {
|
||||||
|
background: var(--bg-u5);
|
||||||
|
}
|
||||||
|
|
||||||
|
#outer {
|
||||||
|
top: 0;
|
||||||
|
left: 0;
|
||||||
|
bottom: 0;
|
||||||
|
right: 0;
|
||||||
|
position: absolute;
|
||||||
|
display: flex;
|
||||||
|
flex-direction: column;
|
||||||
|
height: 100%;
|
||||||
|
width: 100%;
|
||||||
|
}
|
||||||
|
#middle {
|
||||||
|
display: flex;
|
||||||
|
margin: auto;
|
||||||
|
justify-content: center;
|
||||||
|
}
|
||||||
#wrap {
|
#wrap {
|
||||||
max-width: 40em;
|
position: relative;
|
||||||
margin: 2em auto;
|
max-width: 80vw;
|
||||||
padding: 0 1em 3em 1em;
|
margin: 1.5em 2em;
|
||||||
|
margin-bottom: 3em;
|
||||||
|
padding: 1.5em;
|
||||||
|
padding-bottom: 0em;
|
||||||
line-height: 1.3em;
|
line-height: 1.3em;
|
||||||
|
background: #282827;
|
||||||
|
border-radius: .5em;
|
||||||
|
border: var(--bg-u5) solid 1px;
|
||||||
|
box-shadow: 0 0 2em color-mix(in oklab, var(--bg-max) 60%, transparent 40%);
|
||||||
|
}
|
||||||
|
html.y #wrap {
|
||||||
|
background: color-mix(in oklab, var(--a-gray) 18%, var(--bg-max));
|
||||||
}
|
}
|
||||||
#wrap.w {
|
#wrap.w {
|
||||||
max-width: 96%;
|
max-width: 96%;
|
||||||
}
|
}
|
||||||
h1 {
|
h1 {
|
||||||
border-bottom: 1px solid #ccc;
|
margin: 1.5em 0 .4em 0;
|
||||||
margin: 2em 0 .4em 0;
|
|
||||||
padding: 0;
|
padding: 0;
|
||||||
line-height: 1em;
|
line-height: 1em;
|
||||||
|
font-size: x-large;
|
||||||
font-weight: normal;
|
font-weight: normal;
|
||||||
}
|
}
|
||||||
|
#top_L {
|
||||||
|
display: flex;
|
||||||
|
}
|
||||||
|
#l {
|
||||||
|
margin-top: 0;
|
||||||
|
text-align: center;
|
||||||
|
}
|
||||||
|
#login {
|
||||||
|
border: var(--bg-u5) solid 1px;
|
||||||
|
border-radius: .3em;
|
||||||
|
padding: 1em;
|
||||||
|
margin: 2em auto 0 auto;
|
||||||
|
max-width: 25em;
|
||||||
|
}
|
||||||
li {
|
li {
|
||||||
margin: 1em 0;
|
margin: 1em 0;
|
||||||
}
|
}
|
||||||
|
p {
|
||||||
|
margin: 0 .2em;
|
||||||
|
}
|
||||||
#lo,
|
#lo,
|
||||||
a {
|
a {
|
||||||
color: #047;
|
color: #fff;
|
||||||
background: #fff;
|
background: rgba(5, 92, 184, 0.69);
|
||||||
text-decoration: none;
|
text-decoration: none;
|
||||||
white-space: nowrap;
|
white-space: nowrap;
|
||||||
border-bottom: 1px solid #8ab;
|
border-bottom: 2px solid rgb(3, 50, 112);
|
||||||
border-radius: .2em;
|
border-radius: .2em;
|
||||||
padding: .2em .6em;
|
padding: .2em .6em;
|
||||||
margin: 0 .3em;
|
margin: 0 .3em;
|
||||||
}
|
}
|
||||||
|
#lo {
|
||||||
|
padding: 0 .6em;
|
||||||
|
line-height: 1.8em;
|
||||||
|
border-width: 0 0 2px 0;
|
||||||
|
max-height: 30px;
|
||||||
|
}
|
||||||
|
#lo:hover, #lo:focus-visible,
|
||||||
|
a:hover, a:focus-visible {
|
||||||
|
background: rgb(10, 134, 206);
|
||||||
|
}
|
||||||
td a {
|
td a {
|
||||||
margin: 0;
|
margin: 0;
|
||||||
}
|
}
|
||||||
#wb,
|
#wb,
|
||||||
#w {
|
#w {
|
||||||
color: #fff;
|
color: #fff;
|
||||||
background: #940;
|
background: rgba(50, 158, 4, 0.69);
|
||||||
border-color: #b70;
|
border-color: rgb(20, 90, 3);
|
||||||
|
}
|
||||||
|
#wb:hover, #wb:focus-visible,
|
||||||
|
#w:hover, #w:focus-visible {
|
||||||
|
background: rgb(93, 180, 12);
|
||||||
}
|
}
|
||||||
.af,
|
.af,
|
||||||
.logout {
|
.logout {
|
||||||
float: right;
|
float: right;
|
||||||
margin: -.2em 0 0 .8em;
|
margin: -.2em 0 0 .8em;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#a {
|
||||||
|
background: transparent;
|
||||||
|
border: var(--bg-u5) solid 1px;
|
||||||
|
font-weight: bold;
|
||||||
|
padding: .2em .5em;
|
||||||
|
}
|
||||||
|
#a:hover, #a:focus-visible {
|
||||||
|
background: var(--bg-u5);
|
||||||
|
}
|
||||||
|
html.y #a {
|
||||||
|
color: #222;
|
||||||
|
}
|
||||||
#lo,
|
#lo,
|
||||||
.logout,
|
.logout,
|
||||||
a.r {
|
a.r {
|
||||||
color: #c04;
|
background: rgba(230, 3, 3, 0.61);
|
||||||
border-color: #c7a;
|
border-color: rgb(178, 5, 66);
|
||||||
}
|
}
|
||||||
a.g {
|
#lo:hover, #lo:focus-visible,
|
||||||
color: #0a0;
|
.logout:hover, .logout:focus-visible,
|
||||||
border-color: #3a0;
|
a.r:hover, a.r:focus-visible {
|
||||||
box-shadow: 0 .3em 1em #4c0;
|
background: rgb(209, 4, 4);
|
||||||
|
}
|
||||||
|
#a.g {
|
||||||
|
background: rgb(254, 207, 20);
|
||||||
|
border-color: rgb(224, 177, 7);
|
||||||
|
box-shadow: 0 .3em 1em rgba(240, 149, 3, 0.584);
|
||||||
|
color: #000;
|
||||||
}
|
}
|
||||||
#repl,
|
#repl,
|
||||||
#pb a {
|
#pb a {
|
||||||
|
|
@ -69,23 +166,27 @@ a.g {
|
||||||
}
|
}
|
||||||
#repl {
|
#repl {
|
||||||
position: fixed;
|
position: fixed;
|
||||||
bottom: .25em;
|
bottom: .5em;
|
||||||
left: .2em;
|
left: .5em;
|
||||||
}
|
}
|
||||||
#pb {
|
#pb {
|
||||||
opacity: .5;
|
opacity: .5;
|
||||||
position: fixed;
|
position: fixed;
|
||||||
bottom: .25em;
|
white-space: nowrap;
|
||||||
right: .3em;
|
bottom: .5em;
|
||||||
|
right: .5em;
|
||||||
}
|
}
|
||||||
#pb span {
|
#pb span {
|
||||||
opacity: .6;
|
opacity: .6;
|
||||||
|
pointer-events: none;
|
||||||
}
|
}
|
||||||
#pb a {
|
#pb a {
|
||||||
margin: 0;
|
margin: 0;
|
||||||
}
|
}
|
||||||
table {
|
table {
|
||||||
border-collapse: collapse;
|
overflow-x: auto;
|
||||||
|
display: block;
|
||||||
|
overflow-y: hidden;
|
||||||
}
|
}
|
||||||
.vols td,
|
.vols td,
|
||||||
.vols th {
|
.vols th {
|
||||||
|
|
@ -121,11 +222,11 @@ table {
|
||||||
.agr br {
|
.agr br {
|
||||||
display: none;
|
display: none;
|
||||||
}
|
}
|
||||||
#lo,
|
|
||||||
.agr a,
|
.agr a,
|
||||||
.agr form {
|
.agr form {
|
||||||
margin: 0 .5em 0 0;
|
margin: 0 .5em 0 0;
|
||||||
line-height: 4em;
|
line-height: 1.3em;
|
||||||
|
display: inline-block;
|
||||||
}
|
}
|
||||||
.agr form,
|
.agr form,
|
||||||
.agr input {
|
.agr input {
|
||||||
|
|
@ -133,7 +234,6 @@ table {
|
||||||
padding: 0;
|
padding: 0;
|
||||||
margin: 0;
|
margin: 0;
|
||||||
}
|
}
|
||||||
#lo,
|
|
||||||
.agr input {
|
.agr input {
|
||||||
line-height: 1em;
|
line-height: 1em;
|
||||||
font-weight: normal;
|
font-weight: normal;
|
||||||
|
|
@ -199,61 +299,63 @@ html.z {
|
||||||
html.z h1 {
|
html.z h1 {
|
||||||
border-color: #777;
|
border-color: #777;
|
||||||
}
|
}
|
||||||
html.z #lo,
|
|
||||||
html.z a {
|
|
||||||
color: #fff;
|
|
||||||
background: #057;
|
|
||||||
border-color: #37a;
|
|
||||||
}
|
|
||||||
html.z .logout,
|
|
||||||
html.z #lo,
|
|
||||||
html.z a.r {
|
|
||||||
background: #804;
|
|
||||||
border-color: #c28;
|
|
||||||
}
|
|
||||||
html.z a.g {
|
|
||||||
background: #470;
|
|
||||||
border-color: #af4;
|
|
||||||
box-shadow: 0 .3em 1em #7d0;
|
|
||||||
}
|
|
||||||
form {
|
form {
|
||||||
line-height: 2.5em;
|
line-height: 2.5em;
|
||||||
|
display: flex;
|
||||||
|
flex-direction: column;
|
||||||
|
margin: auto;
|
||||||
}
|
}
|
||||||
#x,
|
|
||||||
input {
|
input {
|
||||||
color: #a50;
|
margin: 1em 0 0 0;
|
||||||
background: #fff;
|
background: #ccc;
|
||||||
border: 1px solid #a50;
|
background: var(--transparent);
|
||||||
|
padding: .5em;
|
||||||
|
border-color: rgb(72, 182, 255);
|
||||||
border-radius: .3em;
|
border-radius: .3em;
|
||||||
padding: .25em .6em;
|
|
||||||
margin: 0 .3em 0 0;
|
|
||||||
font-size: 1em;
|
|
||||||
}
|
}
|
||||||
input::placeholder {
|
input::placeholder {
|
||||||
font-size: 1.2em;
|
font-size: 1.2em;
|
||||||
font-style: italic;
|
|
||||||
letter-spacing: .04em;
|
letter-spacing: .04em;
|
||||||
opacity: 0.64;
|
opacity: 0.64;
|
||||||
color: #930;
|
color: #000;
|
||||||
}
|
}
|
||||||
#x,
|
input:autofill {
|
||||||
html.z input {
|
box-shadow: 0 0 0 40px #1f3b67 inset;
|
||||||
color: #fff;
|
}
|
||||||
background: #626;
|
html.y input:autofill {
|
||||||
border-color: #c2c;
|
box-shadow: 0 0 0 40px #a2c9e6 inset;
|
||||||
}
|
}
|
||||||
html.z input::placeholder {
|
html.z input::placeholder {
|
||||||
color: #fff;
|
color: #fff;
|
||||||
}
|
}
|
||||||
|
#x,
|
||||||
|
input[type=submit] {
|
||||||
|
color: #fff;
|
||||||
|
background: rgb(39, 130, 204);
|
||||||
|
border-color: rgb(72, 182, 255);
|
||||||
|
border-radius: .3em;
|
||||||
|
padding: .4em .6em;
|
||||||
|
font-size: 1em;
|
||||||
|
}
|
||||||
|
#x:hover, #x:focus-visible,
|
||||||
|
input[type=submit]:hover, input[type=submit]:focus-visible {
|
||||||
|
background: linear-gradient(-10deg, rgb(10, 77, 145), rgb(39, 130, 204));
|
||||||
|
}
|
||||||
html.z .num {
|
html.z .num {
|
||||||
border-color: #777;
|
border-color: #777;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
html.bz {
|
|
||||||
color: #bbd;
|
|
||||||
background: #11121d;
|
|
||||||
}
|
|
||||||
html.bz .vols img {
|
html.bz .vols img {
|
||||||
filter: sepia(0.8) hue-rotate(180deg);
|
filter: sepia(0.8) hue-rotate(180deg);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@media (max-width: 55em){
|
||||||
|
#homebtn {
|
||||||
|
position: initial;
|
||||||
|
display: inline-block;
|
||||||
|
}
|
||||||
|
#login {
|
||||||
|
margin-top: .7em;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
|
||||||
|
|
@ -7,202 +7,208 @@
|
||||||
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
||||||
<meta name="viewport" content="width=device-width, initial-scale=0.8">
|
<meta name="viewport" content="width=device-width, initial-scale=0.8">
|
||||||
<meta name="theme-color" content="#{{ tcolor }}">
|
<meta name="theme-color" content="#{{ tcolor }}">
|
||||||
|
<link rel="manifest" href="{{ r }}/.cpr/w/manifest.json?_={{ ts }}" />
|
||||||
<link rel="stylesheet" media="screen" href="{{ r }}/.cpr/w/splash.css?_={{ ts }}">
|
<link rel="stylesheet" media="screen" href="{{ r }}/.cpr/w/splash.css?_={{ ts }}">
|
||||||
<link rel="stylesheet" media="screen" href="{{ r }}/.cpr/w/ui.css?_={{ ts }}">
|
<link rel="stylesheet" media="screen" href="{{ r }}/.cpr/w/ui.css?_={{ ts }}">
|
||||||
{{ html_head }}
|
{{ html_head }}
|
||||||
</head>
|
</head>
|
||||||
|
|
||||||
<body>
|
<body>
|
||||||
<div id="wrap">
|
<div id="outer">
|
||||||
{%- if not in_shr %}
|
<div id="middle">
|
||||||
<a id="a" href="{{ r }}/?h{{ re }}" class="af">refresh</a>
|
<div id="wrap">
|
||||||
<a id="v" href="{{ r }}/?hc" class="af">connect</a>
|
<a id="homebtn" href="/">🏠</a>
|
||||||
|
|
||||||
{%- if this.uname == '*' %}
|
{%- if not in_shr %}
|
||||||
<p id="b">howdy stranger <small>(you're not logged in)</small></p>
|
<a id="a" href="{{ r }}/?h{{ re }}" class="af" tt="toggle auto-refresh">↻</a>
|
||||||
{%- else %}
|
<a id="v" href="{{ r }}/?hc" class="af">Connect</a>
|
||||||
{%- if this.args.idp_logout %}
|
|
||||||
<a id="c" href="{{ this.args.idp_logout }}" class="logout">logout</a>
|
|
||||||
{%- else %}
|
|
||||||
<a id="c" href="{{ r }}/?pw=x" class="logout">logout</a>
|
|
||||||
{%- endif %}
|
|
||||||
<p><span id="m">welcome back,</span> <strong id="un">{{ this.uname|e }}</strong></p>
|
|
||||||
{%- endif %}
|
|
||||||
{%- endif %}
|
|
||||||
|
|
||||||
{%- if msg %}
|
{%- if this.uname == '*' %}
|
||||||
<div id="msg">
|
<p id="b">howdy stranger <small>(you're not logged in)</small></p>
|
||||||
{{ msg }}
|
{%- else %}
|
||||||
</div>
|
{%- if this.args.idp_logout %}
|
||||||
{%- endif %}
|
<a id="c" href="{{ this.args.idp_logout }}" class="logout">Logout</a>
|
||||||
|
{%- else %}
|
||||||
{%- if ups %}
|
<a id="c" href="{{ r }}/?pw=x" class="logout">Logout</a>
|
||||||
<h1 id="aa">incoming files:</h1>
|
{%- endif %}
|
||||||
<table class="vols">
|
<p><span id="m">welcome back,</span> <strong id="un">{{ this.uname|e }}</strong></p>
|
||||||
<thead><tr><th>%</th><th>speed</th><th>eta</th><th>idle</th><th>dir</th><th>file</th></tr></thead>
|
|
||||||
<tbody>
|
|
||||||
{%- for u in ups %}
|
|
||||||
<tr><td>{{ u[0] }}</td><td>{{ u[1] }}</td><td>{{ u[2] }}</td><td>{{ u[3] }}</td><td><a href="{{ r }}{{ u[4] }}">{{ u[5]|e }}</a></td><td>{{ u[6]|e }}</td></tr>
|
|
||||||
{%- endfor %}
|
|
||||||
</tbody>
|
|
||||||
</table>
|
|
||||||
{%- endif %}
|
|
||||||
|
|
||||||
{%- if dls %}
|
|
||||||
<h1 id="ae">active downloads:</h1>
|
|
||||||
<table class="vols">
|
|
||||||
<thead><tr><th>%</th><th>sent</th><th>speed</th><th>eta</th><th>idle</th><th></th><th>dir</th><th>file</th></tr></thead>
|
|
||||||
<tbody>
|
|
||||||
{%- for u in dls %}
|
|
||||||
<tr><td>{{ u[0] }}</td><td>{{ u[1] }}</td><td>{{ u[2] }}</td><td>{{ u[3] }}</td><td>{{ u[4] }}</td><td>{{ u[5] }}</td><td><a href="{{ r }}{{ u[6] }}">{{ u[7]|e }}</a></td><td>{{ u[8] }}</td></tr>
|
|
||||||
{%- endfor %}
|
|
||||||
</tbody>
|
|
||||||
</table>
|
|
||||||
{%- endif %}
|
|
||||||
|
|
||||||
{%- if avol %}
|
|
||||||
<h1>admin panel:</h1>
|
|
||||||
<table><tr><td> <!-- hehehe -->
|
|
||||||
<table class="num">
|
|
||||||
<tr><td>scanning</td><td>{{ scanning }}</td></tr>
|
|
||||||
<tr><td>hash-q</td><td>{{ hashq }}</td></tr>
|
|
||||||
<tr><td>tag-q</td><td>{{ tagq }}</td></tr>
|
|
||||||
<tr><td>mtp-q</td><td>{{ mtpq }}</td></tr>
|
|
||||||
<tr><td>db-act</td><td id="u">{{ dbwt }}</td></tr>
|
|
||||||
</table>
|
|
||||||
</td><td>
|
|
||||||
<table class="vols">
|
|
||||||
<thead><tr><th>vol</th><th id="t">action</th><th>status</th></tr></thead>
|
|
||||||
<tbody>
|
|
||||||
{%- for mp in avol %}
|
|
||||||
{%- if mp in vstate and vstate[mp] %}
|
|
||||||
<tr><td><a href="{{ r }}{{ mp }}{{ url_suf }}">{{ mp }}</a></td><td><a class="s" href="{{ r }}{{ mp }}?scan">rescan</a></td><td>{{ vstate[mp] }}</td></tr>
|
|
||||||
{%- endif %}
|
{%- endif %}
|
||||||
|
{%- endif %}
|
||||||
|
|
||||||
|
<div id="login">
|
||||||
|
{%- if in_shr %}
|
||||||
|
<h1 id="z">Unlock this share</h1>
|
||||||
|
<div>
|
||||||
|
<form id="lf" method="post" enctype="multipart/form-data" action="{{ r }}/{{ qvpath }}">
|
||||||
|
<input type="hidden" id="la" name="act" value="login" />
|
||||||
|
<input type="password" id="lp" name="cppwd" placeholder="Password" />
|
||||||
|
<input type="hidden" name="uhash" id="uhash" value="x" />
|
||||||
|
<input type="submit" id="ls" value="Unlock" />
|
||||||
|
{%- if ahttps %}
|
||||||
|
<a id="w" href="{{ ahttps }}">Switch to https</a>
|
||||||
|
{%- endif %}
|
||||||
|
<div id="lm"></div>
|
||||||
|
</form>
|
||||||
|
</div>
|
||||||
|
{%- else %}
|
||||||
|
{%- if this.uname == '*' %}
|
||||||
|
<h1 id="l">Login for more</h1>
|
||||||
|
{%- else %}
|
||||||
|
<h1 id="l">Change account</h1>
|
||||||
|
{%- endif %}
|
||||||
|
<div>
|
||||||
|
{%- if this.args.idp_login %}
|
||||||
|
<ul><li>
|
||||||
|
<a href="{{ this.args.idp_login | replace("{dst}",r+"/"+qvpath) }}">{{ this.args.idp_login_t }}</a>
|
||||||
|
{%- if this.args.ao_have_pw %}or alternatively{%- endif %}
|
||||||
|
</li></ul>
|
||||||
|
{%- endif %}
|
||||||
|
{%- if this.args.ao_have_pw %}
|
||||||
|
<form id="lf" method="post" enctype="multipart/form-data" action="{{ r }}/{{ qvpath }}">
|
||||||
|
<input type="hidden" id="la" name="act" value="login" />
|
||||||
|
{%- if this.args.usernames %}
|
||||||
|
<input type="text" id="lu" name="uname" placeholder="Username" size="12" />
|
||||||
|
<input type="password" id="lp" name="cppwd" placeholder="Password" size="12" />
|
||||||
|
{%- else %}
|
||||||
|
<input type="password" id="lp" name="cppwd" placeholder="Password" />
|
||||||
|
{%- endif %}
|
||||||
|
<input type="hidden" name="uhash" id="uhash" value="x" />
|
||||||
|
<input type="submit" id="ls" value="Login" />
|
||||||
|
{%- if chpw %}
|
||||||
|
<a id="x" href="#">Change password</a>
|
||||||
|
{%- endif %}
|
||||||
|
<div id="lm"></div>
|
||||||
|
</form>
|
||||||
|
{%- endif %}
|
||||||
|
</div>
|
||||||
|
{%- endif %}
|
||||||
|
</div>
|
||||||
|
|
||||||
|
{%- if msg %}
|
||||||
|
<div id="msg">
|
||||||
|
{{ msg }}
|
||||||
|
</div>
|
||||||
|
{%- endif %}
|
||||||
|
|
||||||
|
{%- if ups %}
|
||||||
|
<h1 id="aa">Incoming files</h1>
|
||||||
|
<table class="vols">
|
||||||
|
<thead><tr><th>%</th><th>Speed</th><th>Eta</th><th>Idle</th><th>Dir</th><th>File</th></tr></thead>
|
||||||
|
<tbody>
|
||||||
|
{%- for u in ups %}
|
||||||
|
<tr><td>{{ u[0] }}</td><td>{{ u[1] }}</td><td>{{ u[2] }}</td><td>{{ u[3] }}</td><td><a href="{{ r }}{{ u[4] }}">{{ u[5]|e }}</a></td><td>{{ u[6]|e }}</td></tr>
|
||||||
|
{%- endfor %}
|
||||||
|
</tbody>
|
||||||
|
</table>
|
||||||
|
{%- endif %}
|
||||||
|
|
||||||
|
{%- if dls %}
|
||||||
|
<h1 id="ae">Active downloads</h1>
|
||||||
|
<table class="vols">
|
||||||
|
<thead><tr><th>%</th><th>Sent</th><th>Speed</th><th>Eta</th><th>Idle</th><th></th><th>Dir</th><th>File</th></tr></thead>
|
||||||
|
<tbody>
|
||||||
|
{%- for u in dls %}
|
||||||
|
<tr><td>{{ u[0] }}</td><td>{{ u[1] }}</td><td>{{ u[2] }}</td><td>{{ u[3] }}</td><td>{{ u[4] }}</td><td>{{ u[5] }}</td><td><a href="{{ r }}{{ u[6] }}">{{ u[7]|e }}</a></td><td>{{ u[8] }}</td></tr>
|
||||||
|
{%- endfor %}
|
||||||
|
</tbody>
|
||||||
|
</table>
|
||||||
|
{%- endif %}
|
||||||
|
|
||||||
|
{%- if avol %}
|
||||||
|
<h1>Admin panel</h1>
|
||||||
|
<table><tr><td> <!-- hehehe -->
|
||||||
|
<table class="num">
|
||||||
|
<tr><td>scanning</td><td>{{ scanning }}</td></tr>
|
||||||
|
<tr><td>hash-q</td><td>{{ hashq }}</td></tr>
|
||||||
|
<tr><td>tag-q</td><td>{{ tagq }}</td></tr>
|
||||||
|
<tr><td>mtp-q</td><td>{{ mtpq }}</td></tr>
|
||||||
|
<tr><td>db-act</td><td id="u">{{ dbwt }}</td></tr>
|
||||||
|
</table>
|
||||||
|
</td><td>
|
||||||
|
<table class="vols">
|
||||||
|
<thead><tr><th>vol</th><th id="t">action</th><th>status</th></tr></thead>
|
||||||
|
<tbody>
|
||||||
|
{%- for mp in avol %}
|
||||||
|
{%- if mp in vstate and vstate[mp] %}
|
||||||
|
<tr><td><a href="{{ r }}{{ mp }}{{ url_suf }}">{{ mp }}</a></td><td><a class="s" href="{{ r }}{{ mp }}?scan">rescan</a></td><td>{{ vstate[mp] }}</td></tr>
|
||||||
|
{%- endif %}
|
||||||
|
{%- endfor %}
|
||||||
|
</tbody>
|
||||||
|
</table>
|
||||||
|
</td></tr></table>
|
||||||
|
<div class="btns">
|
||||||
|
<a id="d" href="{{ r }}/?stack">Dump stack</a>
|
||||||
|
<a id="e" href="{{ r }}/?reload=cfg">Reload cfg</a>
|
||||||
|
</div>
|
||||||
|
{%- endif %}
|
||||||
|
|
||||||
|
{%- if rvol %}
|
||||||
|
<h1 id="f">You can browse</h1>
|
||||||
|
<ul>
|
||||||
|
{%- for mp in rvol %}
|
||||||
|
<li><a href="{{ r }}{{ mp }}{{ url_suf }}">{{ mp }}</a></li>
|
||||||
{%- endfor %}
|
{%- endfor %}
|
||||||
</tbody>
|
</ul>
|
||||||
</table>
|
|
||||||
</td></tr></table>
|
|
||||||
<div class="btns">
|
|
||||||
<a id="d" href="{{ r }}/?stack">dump stack</a>
|
|
||||||
<a id="e" href="{{ r }}/?reload=cfg">reload cfg</a>
|
|
||||||
</div>
|
|
||||||
{%- endif %}
|
|
||||||
|
|
||||||
{%- if rvol %}
|
|
||||||
<h1 id="f">you can browse:</h1>
|
|
||||||
<ul>
|
|
||||||
{%- for mp in rvol %}
|
|
||||||
<li><a href="{{ r }}{{ mp }}{{ url_suf }}">{{ mp }}</a></li>
|
|
||||||
{%- endfor %}
|
|
||||||
</ul>
|
|
||||||
{%- endif %}
|
|
||||||
|
|
||||||
{%- if wvol %}
|
|
||||||
<h1 id="g">you can upload to:</h1>
|
|
||||||
<ul>
|
|
||||||
{%- for mp in wvol %}
|
|
||||||
<li><a href="{{ r }}{{ mp }}{{ url_suf }}">{{ mp }}</a></li>
|
|
||||||
{%- endfor %}
|
|
||||||
</ul>
|
|
||||||
{%- endif %}
|
|
||||||
|
|
||||||
{%- if in_shr %}
|
|
||||||
<h1 id="z">unlock this share:</h1>
|
|
||||||
<div>
|
|
||||||
<form id="lf" method="post" enctype="multipart/form-data" action="{{ r }}/{{ qvpath }}">
|
|
||||||
<input type="hidden" id="la" name="act" value="login" />
|
|
||||||
<input type="password" id="lp" name="cppwd" placeholder=" password" />
|
|
||||||
<input type="hidden" name="uhash" id="uhash" value="x" />
|
|
||||||
<input type="submit" id="ls" value="Unlock" />
|
|
||||||
{%- if ahttps %}
|
|
||||||
<a id="w" href="{{ ahttps }}">switch to https</a>
|
|
||||||
{%- endif %}
|
{%- endif %}
|
||||||
<div id="lm"></div>
|
|
||||||
</form>
|
{%- if wvol %}
|
||||||
</div>
|
<h1 id="g">You can upload to</h1>
|
||||||
{%- else %}
|
<ul>
|
||||||
{%- if this.uname == '*' %}
|
{%- for mp in wvol %}
|
||||||
<h1 id="l">login for more:</h1>
|
<li><a href="{{ r }}{{ mp }}{{ url_suf }}">{{ mp }}</a></li>
|
||||||
{%- else %}
|
{%- endfor %}
|
||||||
<h1 id="l">change account:</h1>
|
</ul>
|
||||||
{%- endif %}
|
|
||||||
<div>
|
|
||||||
{%- if this.args.idp_login %}
|
|
||||||
<ul><li>
|
|
||||||
<a href="{{ this.args.idp_login | replace("{dst}",r+"/"+qvpath) }}">{{ this.args.idp_login_t }}</a>
|
|
||||||
{%- if this.args.ao_have_pw %}or alternatively:{%- endif %}
|
|
||||||
</li></ul>
|
|
||||||
{%- endif %}
|
|
||||||
{%- if this.args.ao_have_pw %}
|
|
||||||
<form id="lf" method="post" enctype="multipart/form-data" action="{{ r }}/{{ qvpath }}">
|
|
||||||
<input type="hidden" id="la" name="act" value="login" />
|
|
||||||
{%- if this.args.usernames %}
|
|
||||||
<input type="text" id="lu" name="uname" placeholder=" username" size="12" />
|
|
||||||
<input type="password" id="lp" name="cppwd" placeholder=" password" size="12" />
|
|
||||||
{%- else %}
|
|
||||||
<input type="password" id="lp" name="cppwd" placeholder=" password" />
|
|
||||||
{%- endif %}
|
{%- endif %}
|
||||||
<input type="hidden" name="uhash" id="uhash" value="x" />
|
|
||||||
<input type="submit" id="ls" value="login" />
|
<h1 id="cc">Other stuff</h1>
|
||||||
{%- if chpw %}
|
<div class="agr">
|
||||||
<a id="x" href="#">change password</a>
|
{%- if ahttps %}
|
||||||
{%- endif %}
|
<a id="wb" href="{{ ahttps }}">Switch to https</a><br />
|
||||||
{%- if ahttps %}
|
{%- endif %}
|
||||||
<a id="w" href="{{ ahttps }}">switch to https</a>
|
|
||||||
{%- endif %}
|
<a id="af" href="{{ r }}/?ru">Show recent uploads</a><br />
|
||||||
<div id="lm"></div>
|
|
||||||
</form>
|
{%- if this.uname != '*' and this.args.shr %}
|
||||||
{%- endif %}
|
<a id="y" href="{{ r }}/?shares">Edit shares</a><br />
|
||||||
|
{%- endif %}
|
||||||
|
|
||||||
|
{%- if this.uname in this.args.idp_adm_set %}
|
||||||
|
<a id="ag" href="{{ r }}/?idp">View idp cache</a><br />
|
||||||
|
{%- endif %}
|
||||||
|
|
||||||
|
<a id="k" href="{{ r }}/?reset" class="r" onclick="localStorage.clear();return true">Reset client settings</a><br />
|
||||||
|
|
||||||
|
{%- if this.uname != '*' and not in_shr %}
|
||||||
|
<form method="post" enctype="multipart/form-data">
|
||||||
|
<input type="hidden" name="act" value="logout" />
|
||||||
|
<input type="submit" id="lo" value="Logout “{{ this.uname|e }}” everywhere" />
|
||||||
|
</form>
|
||||||
|
{%- endif %}
|
||||||
|
</div>
|
||||||
|
<ul>
|
||||||
|
{%- if k304 or k304vis %}
|
||||||
|
{%- if k304 %}
|
||||||
|
<li><a id="h" href="{{ r }}/?cc&setck=k304=n">disable k304</a> (currently enabled)
|
||||||
|
{%- else %}
|
||||||
|
<li><a id="i" href="{{ r }}/?cc&setck=k304=y" class="r">enable k304</a> (currently disabled)
|
||||||
|
{%- endif %}
|
||||||
|
<blockquote id="j">enabling k304 will disconnect your client on every HTTP 304, which can prevent some buggy proxies from getting stuck (suddenly not loading pages), <em>but</em> it will also make things slower in general</blockquote></li>
|
||||||
|
{%- endif %}
|
||||||
|
|
||||||
|
{%- if no304 or no304vis %}
|
||||||
|
{%- if no304 %}
|
||||||
|
<li><a id="ab" href="{{ r }}/?cc&setck=no304=n">disable no304</a> (currently enabled)
|
||||||
|
{%- else %}
|
||||||
|
<li><a id="ac" href="{{ r }}/?cc&setck=no304=y" class="r">enable no304</a> (currently disabled)
|
||||||
|
{%- endif %}
|
||||||
|
<blockquote id="ad">enabling no304 will disable all caching; try this if k304 wasn't enough. This will waste a huge amount of network traffic!</blockquote></li>
|
||||||
|
{%- endif %}
|
||||||
|
</ul>
|
||||||
|
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
{%- endif %}
|
|
||||||
|
|
||||||
<h1 id="cc">other stuff:</h1>
|
|
||||||
<div class="agr">
|
|
||||||
{%- if ahttps %}
|
|
||||||
<a id="wb" href="{{ ahttps }}">switch to https</a><br />
|
|
||||||
{%- endif %}
|
|
||||||
|
|
||||||
<a id="af" href="{{ r }}/?ru">show recent uploads</a><br />
|
|
||||||
|
|
||||||
{%- if this.uname != '*' and this.args.shr %}
|
|
||||||
<a id="y" href="{{ r }}/?shares">edit shares</a><br />
|
|
||||||
{%- endif %}
|
|
||||||
|
|
||||||
{%- if this.uname in this.args.idp_adm_set %}
|
|
||||||
<a id="ag" href="{{ r }}/?idp">view idp cache</a><br />
|
|
||||||
{%- endif %}
|
|
||||||
|
|
||||||
<a id="k" href="{{ r }}/?reset" class="r" onclick="localStorage.clear();return true">reset client settings</a><br />
|
|
||||||
|
|
||||||
{%- if this.uname != '*' and not in_shr %}
|
|
||||||
<form method="post" enctype="multipart/form-data">
|
|
||||||
<input type="hidden" name="act" value="logout" />
|
|
||||||
<input type="submit" id="lo" value="logout “{{ this.uname|e }}” everywhere" />
|
|
||||||
</form>
|
|
||||||
{%- endif %}
|
|
||||||
</div>
|
|
||||||
<ul>
|
|
||||||
{%- if k304 or k304vis %}
|
|
||||||
{%- if k304 %}
|
|
||||||
<li><a id="h" href="{{ r }}/?cc&setck=k304=n">disable k304</a> (currently enabled)
|
|
||||||
{%- else %}
|
|
||||||
<li><a id="i" href="{{ r }}/?cc&setck=k304=y" class="r">enable k304</a> (currently disabled)
|
|
||||||
{%- endif %}
|
|
||||||
<blockquote id="j">enabling k304 will disconnect your client on every HTTP 304, which can prevent some buggy proxies from getting stuck (suddenly not loading pages), <em>but</em> it will also make things slower in general</blockquote></li>
|
|
||||||
{%- endif %}
|
|
||||||
|
|
||||||
{%- if no304 or no304vis %}
|
|
||||||
{%- if no304 %}
|
|
||||||
<li><a id="ab" href="{{ r }}/?cc&setck=no304=n">disable no304</a> (currently enabled)
|
|
||||||
{%- else %}
|
|
||||||
<li><a id="ac" href="{{ r }}/?cc&setck=no304=y" class="r">enable no304</a> (currently disabled)
|
|
||||||
{%- endif %}
|
|
||||||
<blockquote id="ad">enabling no304 will disable all caching; try this if k304 wasn't enough. This will waste a huge amount of network traffic!</blockquote></li>
|
|
||||||
{%- endif %}
|
|
||||||
</ul>
|
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
<a href="#" id="repl">π</a>
|
<a href="#" id="repl" style="opacity: .4;">π</a>
|
||||||
{%- if not this.args.nb %}
|
{%- if not this.args.nb %}
|
||||||
<span id="pb"><span>powered by</span> <a href="{{ this.args.pb_url }}">copyparty {{ver}}</a></span>
|
<span id="pb"><span>powered by</span> <a href="{{ this.args.pb_url }}">copyparty {{ver}}</a></span>
|
||||||
{%- endif %}
|
{%- endif %}
|
||||||
|
|
|
||||||
|
|
@ -7,6 +7,7 @@
|
||||||
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
||||||
<meta name="viewport" content="width=device-width, initial-scale=0.8">
|
<meta name="viewport" content="width=device-width, initial-scale=0.8">
|
||||||
<meta name="theme-color" content="#{{ tcolor }}">
|
<meta name="theme-color" content="#{{ tcolor }}">
|
||||||
|
<link rel="manifest" href="{{ r }}/.cpr/w/manifest.json?_={{ ts }}" />
|
||||||
<link rel="stylesheet" media="screen" href="{{ r }}/.cpr/w/splash.css?_={{ ts }}">
|
<link rel="stylesheet" media="screen" href="{{ r }}/.cpr/w/splash.css?_={{ ts }}">
|
||||||
<link rel="stylesheet" media="screen" href="{{ r }}/.cpr/w/ui.css?_={{ ts }}">
|
<link rel="stylesheet" media="screen" href="{{ r }}/.cpr/w/ui.css?_={{ ts }}">
|
||||||
<style>ul{padding-left:1.3em}li{margin:.4em 0}.txa{float:right;margin:0 0 0 1em}</style>
|
<style>ul{padding-left:1.3em}li{margin:.4em 0}.txa{float:right;margin:0 0 0 1em}</style>
|
||||||
|
|
@ -14,6 +15,8 @@
|
||||||
</head>
|
</head>
|
||||||
|
|
||||||
<body>
|
<body>
|
||||||
|
<a id="homebtn" href="/?h">⬅️</a>
|
||||||
|
|
||||||
<div id="wrap" class="w">
|
<div id="wrap" class="w">
|
||||||
<div class="cn">
|
<div class="cn">
|
||||||
<p class="btns"><a href="/{{ rvp }}">browse files</a> // <a href="{{ r }}/?h">control panel</a></p>
|
<p class="btns"><a href="/{{ rvp }}">browse files</a> // <a href="{{ r }}/?h">control panel</a></p>
|
||||||
|
|
|
||||||
26
copyparty/web/sw.js
Normal file
26
copyparty/web/sw.js
Normal file
|
|
@ -0,0 +1,26 @@
|
||||||
|
// service worker. required for PWAs
|
||||||
|
// https://www.digitalapplied.com/blog/progressive-web-apps-2026-pwa-performance-guide
|
||||||
|
// Register service worker on page load
|
||||||
|
if ('serviceWorker' in navigator) {
|
||||||
|
self.addEventListener("fetch", (event) => {
|
||||||
|
// Regular requests not related to Web Share Target.
|
||||||
|
if (event.request.method !== "POST" || !event.request.action.has("share-target")) {
|
||||||
|
event.respondWith(fetch(event.request));
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Requests related to Web Share Target.
|
||||||
|
event.respondWith(
|
||||||
|
(async () => {
|
||||||
|
const formData = await event.request.formData();
|
||||||
|
const files = formData.get("files") || "";
|
||||||
|
const responseUrl = '/'; // (ToDo: remember last upload dir)
|
||||||
|
// ToDo: keep file references in clipboard
|
||||||
|
// -> upload on paste
|
||||||
|
event.respondWith(fetch(event.request));
|
||||||
|
alert(files);
|
||||||
|
return;
|
||||||
|
})(),
|
||||||
|
);
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
@ -5,7 +5,7 @@ Ls.chi = {
|
||||||
"tt": "中文",
|
"tt": "中文",
|
||||||
|
|
||||||
"cols": {
|
"cols": {
|
||||||
"c": "操作按钮",
|
"!": "操作按钮",
|
||||||
"dur": "时长",
|
"dur": "时长",
|
||||||
"q": "质量 / 比特率",
|
"q": "质量 / 比特率",
|
||||||
"Ac": "音频编码",
|
"Ac": "音频编码",
|
||||||
|
|
@ -14,7 +14,7 @@ Ls.chi = {
|
||||||
"Ahash": "音频校验和",
|
"Ahash": "音频校验和",
|
||||||
"Vhash": "视频校验和",
|
"Vhash": "视频校验和",
|
||||||
"Res": "分辨率",
|
"Res": "分辨率",
|
||||||
"T": "文件类型",
|
"Ext": "文件类型",
|
||||||
"aq": "音频质量 / 比特率",
|
"aq": "音频质量 / 比特率",
|
||||||
"vq": "视频质量 / 比特率",
|
"vq": "视频质量 / 比特率",
|
||||||
"pixfmt": "子采样 / 像素结构",
|
"pixfmt": "子采样 / 像素结构",
|
||||||
|
|
@ -33,7 +33,7 @@ Ls.chi = {
|
||||||
["G", "切换列表 / 网格视图"],
|
["G", "切换列表 / 网格视图"],
|
||||||
["T", "切换缩略图 / 图标"],
|
["T", "切换缩略图 / 图标"],
|
||||||
["⇧ A/D", "缩略图大小"],
|
["⇧ A/D", "缩略图大小"],
|
||||||
["ctrl-K", "删除选中项"],
|
["ctrl-K/Del", "删除选中项"],
|
||||||
["ctrl-X", "剪切选中项到剪贴板"],
|
["ctrl-X", "剪切选中项到剪贴板"],
|
||||||
["ctrl-C", "复制选中项到剪贴板"],
|
["ctrl-C", "复制选中项到剪贴板"],
|
||||||
["ctrl-V", "粘贴(移动/复制)到此处"],
|
["ctrl-V", "粘贴(移动/复制)到此处"],
|
||||||
|
|
@ -107,9 +107,9 @@ Ls.chi = {
|
||||||
"ht_and": "又 ",
|
"ht_and": "又 ",
|
||||||
|
|
||||||
"goh": "控制面板",
|
"goh": "控制面板",
|
||||||
"gop": '上一个同级文件夹">前',
|
"gop": '上一个同级文件夹',
|
||||||
"gou": '上一级文件夹">上',
|
"gou": '上一级文件夹',
|
||||||
"gon": '下一个文件夹">后',
|
"gon": '下一个文件夹',
|
||||||
"logout": "登出 ",
|
"logout": "登出 ",
|
||||||
"login": "登录",
|
"login": "登录",
|
||||||
"access": " 权限",
|
"access": " 权限",
|
||||||
|
|
@ -157,7 +157,7 @@ Ls.chi = {
|
||||||
"ut_u2ts": "将最后修改的时间戳$N从你的文件系统复制到服务器\">📅",
|
"ut_u2ts": "将最后修改的时间戳$N从你的文件系统复制到服务器\">📅",
|
||||||
"ut_ow": "覆盖服务器上的现有文件?$N🛡️:不要覆盖(会生成新文件名)$N🕒:如果服务器文件较旧则覆盖$N♻️:只要文件内容不同就覆盖$N⏭️:无条件跳过所有已有文件",
|
"ut_ow": "覆盖服务器上的现有文件?$N🛡️:不要覆盖(会生成新文件名)$N🕒:如果服务器文件较旧则覆盖$N♻️:只要文件内容不同就覆盖$N⏭️:无条件跳过所有已有文件",
|
||||||
"ut_mt": "在上传时继续哈希其他文件$N$N如果你的 CPU 或硬盘是瓶颈,可能需要禁用",
|
"ut_mt": "在上传时继续哈希其他文件$N$N如果你的 CPU 或硬盘是瓶颈,可能需要禁用",
|
||||||
"ut_ask": '上传开始前询问确认">💭',
|
"ut_ask": '上传开始前询问确认',
|
||||||
"ut_pot": "通过简化界面来$N提高慢设备上的上传速度",
|
"ut_pot": "通过简化界面来$N提高慢设备上的上传速度",
|
||||||
"ut_srch": "不会真的上传,而是检查文件是否$N已经存在于服务器上(将扫描你可以读取的所有文件夹)",
|
"ut_srch": "不会真的上传,而是检查文件是否$N已经存在于服务器上(将扫描你可以读取的所有文件夹)",
|
||||||
"ut_par": "设置为 0 可暂停上传$N$N如果你的网络很慢/延迟很高,请增加该值$N$N在局域网内/瓶颈在服务器硬盘时,请保持该值为 1",
|
"ut_par": "设置为 0 可暂停上传$N$N如果你的网络很慢/延迟很高,请增加该值$N$N在局域网内/瓶颈在服务器硬盘时,请保持该值为 1",
|
||||||
|
|
@ -225,7 +225,7 @@ Ls.chi = {
|
||||||
|
|
||||||
"ct_grid": '田 网格',
|
"ct_grid": '田 网格',
|
||||||
"ct_ttips": '◔ ◡ ◔">ℹ️ 提示',
|
"ct_ttips": '◔ ◡ ◔">ℹ️ 提示',
|
||||||
"ct_thumb": '在网格视图中,切换图标或缩略图$N快捷键: T">🖼️ 缩略',
|
"ct_thumb": '切换图标或缩略图$N快捷键: T">🖼️ 缩略',
|
||||||
"ct_csel": '在网格视图中,允许使用 CTRL 和 SHIFT 进行文件选择">选择',
|
"ct_csel": '在网格视图中,允许使用 CTRL 和 SHIFT 进行文件选择">选择',
|
||||||
"ct_dsel": '在网格视图中,允许拖动选择">拖选',
|
"ct_dsel": '在网格视图中,允许拖动选择">拖选',
|
||||||
"ct_dl": '点击文件时强制下载(不要就地显示)">下载',
|
"ct_dl": '点击文件时强制下载(不要就地显示)">下载',
|
||||||
|
|
@ -288,9 +288,9 @@ Ls.chi = {
|
||||||
"ml_drc": "动态范围压缩器",
|
"ml_drc": "动态范围压缩器",
|
||||||
"ml_ss": "无声段自动快进",
|
"ml_ss": "无声段自动快进",
|
||||||
|
|
||||||
"mt_loop": "单曲循环\">🔁",
|
"mt_loop": "单曲循环",
|
||||||
"mt_one": "播完一首歌曲后停止\">1️⃣",
|
"mt_one": "播完一首歌曲后停止\">1️⃣",
|
||||||
"mt_shuf": "随机播放各文件夹中的歌曲\">🔀",
|
"mt_shuf": "随机播放各文件夹中的歌曲",
|
||||||
"mt_aplay": "如果链接中有歌曲 ID,则自动播放$N$N禁用此选项将不再在播放音乐时更新页面 URL 中的歌曲 ID,以防止设置丢失但 URL 保留时又自动播放起来\">自▶",
|
"mt_aplay": "如果链接中有歌曲 ID,则自动播放$N$N禁用此选项将不再在播放音乐时更新页面 URL 中的歌曲 ID,以防止设置丢失但 URL 保留时又自动播放起来\">自▶",
|
||||||
"mt_preload": "在歌曲快结束时开始加载下一首歌,以实现无缝播放\">预载",
|
"mt_preload": "在歌曲快结束时开始加载下一首歌,以实现无缝播放\">预载",
|
||||||
"mt_prescan": "在最后一首歌结束之前自动跳转到下一个文件夹$N以防止浏览器换页时停止播放\">预扫",
|
"mt_prescan": "在最后一首歌结束之前自动跳转到下一个文件夹$N以防止浏览器换页时停止播放\">预扫",
|
||||||
|
|
@ -305,7 +305,7 @@ Ls.chi = {
|
||||||
"mt_follow": "切换歌曲时,将正在播放的曲目滚动到视野内\">🎯",
|
"mt_follow": "切换歌曲时,将正在播放的曲目滚动到视野内\">🎯",
|
||||||
"mt_compact": "紧凑的控制按钮\">⟎",
|
"mt_compact": "紧凑的控制按钮\">⟎",
|
||||||
"mt_uncache": "清除缓存 $N(如果你的浏览器因缓存歌曲损坏而无法播放,请尝试此操作)\">清缓",
|
"mt_uncache": "清除缓存 $N(如果你的浏览器因缓存歌曲损坏而无法播放,请尝试此操作)\">清缓",
|
||||||
"mt_mloop": "循环播放当前播放中的文件夹\">🔁 循环",
|
"mt_mloop": "循环播放当前播放中的文件夹",
|
||||||
"mt_mnext": "加载下一个文件夹并继续播放\">📂 继续",
|
"mt_mnext": "加载下一个文件夹并继续播放\">📂 继续",
|
||||||
"mt_mstop": "停止播放\">⏸ 停止",
|
"mt_mstop": "停止播放\">⏸ 停止",
|
||||||
"mt_cflac": "将 flac / wav 转换为 {0}\">flac",
|
"mt_cflac": "将 flac / wav 转换为 {0}\">flac",
|
||||||
|
|
|
||||||
|
|
@ -5,7 +5,7 @@ Ls.cze = {
|
||||||
"tt": "Čeština",
|
"tt": "Čeština",
|
||||||
|
|
||||||
"cols": {
|
"cols": {
|
||||||
"c": "tlačítka akcí",
|
"!": "tlačítka akcí",
|
||||||
"dur": "doba trvání",
|
"dur": "doba trvání",
|
||||||
"q": "kvalita / bitrate",
|
"q": "kvalita / bitrate",
|
||||||
"Ac": "audio kodek",
|
"Ac": "audio kodek",
|
||||||
|
|
@ -14,7 +14,7 @@ Ls.cze = {
|
||||||
"Ahash": "kontrolní součet audia",
|
"Ahash": "kontrolní součet audia",
|
||||||
"Vhash": "kontrolní součet videa",
|
"Vhash": "kontrolní součet videa",
|
||||||
"Res": "rozlišení",
|
"Res": "rozlišení",
|
||||||
"T": "typ souboru",
|
"Ext": "typ souboru",
|
||||||
"aq": "kvalita zvuku / bitrate",
|
"aq": "kvalita zvuku / bitrate",
|
||||||
"vq": "kvalita videa / bitrate",
|
"vq": "kvalita videa / bitrate",
|
||||||
"pixfmt": "podvzorkování / struktura pixelů",
|
"pixfmt": "podvzorkování / struktura pixelů",
|
||||||
|
|
@ -33,7 +33,7 @@ Ls.cze = {
|
||||||
["G", "přepnout seznam / zobrazení mřížky"],
|
["G", "přepnout seznam / zobrazení mřížky"],
|
||||||
["T", "přepnout náhledy / ikony"],
|
["T", "přepnout náhledy / ikony"],
|
||||||
["⇧ A/D", "velikost náhledů"],
|
["⇧ A/D", "velikost náhledů"],
|
||||||
["ctrl-K", "smazat vybrané"],
|
["ctrl-K/Del", "smazat vybrané"],
|
||||||
["ctrl-X", "vyjmout výběr do schránky"],
|
["ctrl-X", "vyjmout výběr do schránky"],
|
||||||
["ctrl-C", "kopírovat 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"],
|
["ctrl-V", "vložit (přesunout/kopírovat) zde"],
|
||||||
|
|
@ -111,9 +111,9 @@ Ls.cze = {
|
||||||
"ht_and": " a ",
|
"ht_and": " a ",
|
||||||
|
|
||||||
"goh": "ovládací panel",
|
"goh": "ovládací panel",
|
||||||
"gop": 'předchozí sourozenec">předchozí',
|
"gop": 'předchozí sourozenec',
|
||||||
"gou": 'nadřazená složka">nahoru',
|
"gou": 'nadřazená složka',
|
||||||
"gon": 'následující složka">následující',
|
"gon": 'následující složka',
|
||||||
"logout": "Odhlásit ",
|
"logout": "Odhlásit ",
|
||||||
"login": "Přihlásit se", //m
|
"login": "Přihlásit se", //m
|
||||||
"access": " přístup",
|
"access": " přístup",
|
||||||
|
|
@ -161,7 +161,7 @@ Ls.cze = {
|
||||||
"ut_u2ts": "kopírovat časovou značku poslední změny$Nz vašeho souborového systému na server\">📅",
|
"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_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_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_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_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_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",
|
"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",
|
||||||
|
|
@ -229,7 +229,7 @@ Ls.cze = {
|
||||||
|
|
||||||
"ct_grid": '田 mřížka',
|
"ct_grid": '田 mřížka',
|
||||||
"ct_ttips": '◔ ◡ ◔">ℹ️ nápovědy',
|
"ct_ttips": '◔ ◡ ◔">ℹ️ nápovědy',
|
||||||
"ct_thumb": 'v zobrazení mřížky přepnout ikony nebo náhledy$NKlávesová zkratka: T">🖼️ náhledy',
|
"ct_thumb": '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_csel": 'použít CTRL a SHIFT pro výběr souborů v zobrazení mřížky">výběr',
|
||||||
"ct_dsel": 'použít tažený výběr v zobrazení mřížky">tažení', //m
|
"ct_dsel": 'použít tažený výběr v zobrazení mřížky">tažení', //m
|
||||||
"ct_dl": 'vynutit stažení (nezobrazovat inline) při kliknutí na soubor">dl', //m
|
"ct_dl": 'vynutit stažení (nezobrazovat inline) při kliknutí na soubor">dl', //m
|
||||||
|
|
@ -292,9 +292,9 @@ Ls.cze = {
|
||||||
"ml_drc": "kompresor dynamického rozsahu",
|
"ml_drc": "kompresor dynamického rozsahu",
|
||||||
"ml_ss": "přeskočit ticho", //m
|
"ml_ss": "přeskočit ticho", //m
|
||||||
|
|
||||||
"mt_loop": "smyčka/opakovat jednu skladbu\">🔁",
|
"mt_loop": "smyčka/opakovat jednu skladbu",
|
||||||
"mt_one": "zastavit po jedné skladbě\">1️⃣",
|
"mt_one": "zastavit po jedné skladbě\">1️⃣",
|
||||||
"mt_shuf": "zamíchat skladby v každé složce\">🔀",
|
"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_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_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_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",
|
||||||
|
|
@ -309,7 +309,7 @@ Ls.cze = {
|
||||||
"mt_follow": "udržet přehrávanou stopu v zobrazení\">🎯",
|
"mt_follow": "udržet přehrávanou stopu v zobrazení\">🎯",
|
||||||
"mt_compact": "kompaktní ovládání\">⟎",
|
"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_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_mloop": "opakovat otevřenou složku",
|
||||||
"mt_mnext": "načíst další složku a pokračovat\">📂 next",
|
"mt_mnext": "načíst další složku a pokračovat\">📂 next",
|
||||||
"mt_mstop": "zastavit přehrávání\">⏸ stop",
|
"mt_mstop": "zastavit přehrávání\">⏸ stop",
|
||||||
"mt_cflac": "převést flac / wav na {0}\">flac",
|
"mt_cflac": "převést flac / wav na {0}\">flac",
|
||||||
|
|
|
||||||
|
|
@ -5,7 +5,7 @@ Ls.deu = {
|
||||||
"tt": "Deutsch",
|
"tt": "Deutsch",
|
||||||
|
|
||||||
"cols": {
|
"cols": {
|
||||||
"c": "Aktionen",
|
"!": "Aktionen",
|
||||||
"dur": "Dauer",
|
"dur": "Dauer",
|
||||||
"q": "Qualität / Bitrate",
|
"q": "Qualität / Bitrate",
|
||||||
"Ac": "Audiocodec",
|
"Ac": "Audiocodec",
|
||||||
|
|
@ -14,7 +14,7 @@ Ls.deu = {
|
||||||
"Ahash": "Audio Checksumme",
|
"Ahash": "Audio Checksumme",
|
||||||
"Vhash": "Video Checksumme",
|
"Vhash": "Video Checksumme",
|
||||||
"Res": "Auflösung",
|
"Res": "Auflösung",
|
||||||
"T": "Dateityp",
|
"Ext": "Dateityp",
|
||||||
"aq": "Audioqualität / Bitrate",
|
"aq": "Audioqualität / Bitrate",
|
||||||
"vq": "Videoqualität / Bitrate",
|
"vq": "Videoqualität / Bitrate",
|
||||||
"pixfmt": "Subsampling / Pixelstruktur",
|
"pixfmt": "Subsampling / Pixelstruktur",
|
||||||
|
|
@ -107,9 +107,9 @@ Ls.deu = {
|
||||||
"ht_and": " und ",
|
"ht_and": " und ",
|
||||||
|
|
||||||
"goh": "Einstellungen",
|
"goh": "Einstellungen",
|
||||||
"gop": 'zum vorherigen Ordner springen">vorh.',
|
"gop": 'zum vorherigen Ordner springen',
|
||||||
"gou": 'zum übergeordneter Ordner springen">hoch',
|
"gou": 'zum übergeordneter Ordner springen',
|
||||||
"gon": 'zum nächsten Ordner springen">nächst.',
|
"gon": 'zum nächsten Ordner springen',
|
||||||
"logout": "Abmelden ",
|
"logout": "Abmelden ",
|
||||||
"login": "Anmelden",
|
"login": "Anmelden",
|
||||||
"access": " Zugriff",
|
"access": " Zugriff",
|
||||||
|
|
@ -157,7 +157,7 @@ Ls.deu = {
|
||||||
"ut_u2ts": "Zuletzt geändert-Zeitstempel von$Ndeinem Dateisystem auf den Server übertragen\">📅",
|
"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_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_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_ask": 'Vor dem Upload nach Bestätigung fragen',
|
||||||
"ut_pot": "Verbessert Upload-Geschwindigkeit$Nindem das UI weniger komplex gemacht wird",
|
"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_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",
|
"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",
|
||||||
|
|
@ -225,7 +225,7 @@ Ls.deu = {
|
||||||
|
|
||||||
"ct_grid": '田 Das Raster™',
|
"ct_grid": '田 Das Raster™',
|
||||||
"ct_ttips": '◔ ◡ ◔">ℹ️ Tooltips',
|
"ct_ttips": '◔ ◡ ◔">ℹ️ Tooltips',
|
||||||
"ct_thumb": 'In Raster-Ansicht, zwischen Icons und Vorschau wechseln$NHotkey: T">🖼️ Vorschaubilder',
|
"ct_thumb": 'Zwischen Icons und Vorschau wechseln$NHotkey: T">🖼️ Vorschaubilder',
|
||||||
"ct_csel": 'Benutze STRG und UMSCHALT für Dateiauswahl in Raster-Ansicht">sel',
|
"ct_csel": 'Benutze STRG und UMSCHALT für Dateiauswahl in Raster-Ansicht">sel',
|
||||||
"ct_dsel": 'Ziehauswahl in Raster-Ansicht verwenden">ziehen', //m
|
"ct_dsel": 'Ziehauswahl in Raster-Ansicht verwenden">ziehen', //m
|
||||||
"ct_dl": 'Beim Klick auf Dateien sie immer herunterladen (nicht einbetten)">dl',
|
"ct_dl": 'Beim Klick auf Dateien sie immer herunterladen (nicht einbetten)">dl',
|
||||||
|
|
@ -288,9 +288,9 @@ Ls.deu = {
|
||||||
"ml_drc": "Dynamic Range Compressor",
|
"ml_drc": "Dynamic Range Compressor",
|
||||||
"ml_ss": "Stille Überspringen", //m
|
"ml_ss": "Stille Überspringen", //m
|
||||||
|
|
||||||
"mt_loop": "Song wiederholen\">🔁",
|
"mt_loop": "Song wiederholen",
|
||||||
"mt_one": "Wiedergabe nach diesem Song beenden\">1️⃣",
|
"mt_one": "Wiedergabe nach diesem Song beenden\">1️⃣",
|
||||||
"mt_shuf": "Zufällige Wiedergabe im Ordner\">🔀",
|
"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_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_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_prescan": "vor Ende des letzten Titels zum nächsten Ordner wechseln,$Ndamit der Browser die$NWiedergabe nicht stoppt\">Navigation",
|
||||||
|
|
@ -305,7 +305,7 @@ Ls.deu = {
|
||||||
"mt_follow": "den spielenden Titel im Blick behalten\">🎯",
|
"mt_follow": "den spielenden Titel im Blick behalten\">🎯",
|
||||||
"mt_compact": "kompakte Steuerelemente\">⟎",
|
"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_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_mloop": "offenen Ordner wiederholen",
|
||||||
"mt_mnext": "nächsten Ordner laden und fortfahren\">📂 nächster",
|
"mt_mnext": "nächsten Ordner laden und fortfahren\">📂 nächster",
|
||||||
"mt_mstop": "Wiedergabe beenden\">⏸ Stop",
|
"mt_mstop": "Wiedergabe beenden\">⏸ Stop",
|
||||||
"mt_cflac": "FLAC / WAV zu {0} konvertierebn\">flac",
|
"mt_cflac": "FLAC / WAV zu {0} konvertierebn\">flac",
|
||||||
|
|
|
||||||
|
|
@ -5,7 +5,7 @@ Ls.epo = {
|
||||||
"tt": "Esperanto",
|
"tt": "Esperanto",
|
||||||
|
|
||||||
"cols": {
|
"cols": {
|
||||||
"c": "ago-butonoj",
|
"!": "ago-butonoj",
|
||||||
"dur": "daŭro",
|
"dur": "daŭro",
|
||||||
"q": "kvalito / bitrapido",
|
"q": "kvalito / bitrapido",
|
||||||
"Ac": "sonkodeko",
|
"Ac": "sonkodeko",
|
||||||
|
|
@ -14,7 +14,7 @@ Ls.epo = {
|
||||||
"Ahash": "kontrolsumo de aŭdio",
|
"Ahash": "kontrolsumo de aŭdio",
|
||||||
"Vhash": "kontrolsumo de video",
|
"Vhash": "kontrolsumo de video",
|
||||||
"Res": "distingivo",
|
"Res": "distingivo",
|
||||||
"T": "dosiertipo",
|
"Ext": "dosiertipo",
|
||||||
"aq": "kvalito / bitrapido de aŭdio",
|
"aq": "kvalito / bitrapido de aŭdio",
|
||||||
"vq": "kvalito / bitrapido de video",
|
"vq": "kvalito / bitrapido de video",
|
||||||
"pixfmt": "specimenado / strukturo de bilderoj",
|
"pixfmt": "specimenado / strukturo de bilderoj",
|
||||||
|
|
@ -107,9 +107,9 @@ Ls.epo = {
|
||||||
"ht_and": " kaj ",
|
"ht_and": " kaj ",
|
||||||
|
|
||||||
"goh": "stirpanelo",
|
"goh": "stirpanelo",
|
||||||
"gop": 'malsekva dosierujo">malsekva',
|
"gop": 'malsekva dosierujo',
|
||||||
"gou": 'supra dosierujo">supren',
|
"gou": 'supra dosierujo',
|
||||||
"gon": 'sekva dosierujo">sekva',
|
"gon": 'sekva dosierujo',
|
||||||
"logout": "Adiaŭi kiel ",
|
"logout": "Adiaŭi kiel ",
|
||||||
"login": "Ensaluti",
|
"login": "Ensaluti",
|
||||||
"access": " atingo",
|
"access": " atingo",
|
||||||
|
|
@ -157,7 +157,7 @@ Ls.epo = {
|
||||||
"ut_u2ts": "kopii la tempon de lasta modifo$Nel via dosiersistemo al la servilo\">📅",
|
"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",
|
"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",
|
||||||
"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_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_ask": 'peti konfirmon antaŭ komenco de alŝutado',
|
||||||
"ut_pot": "plirapidigi alŝutadon por malrapidaj komputiloj$Nper malkomplikado de fasado",
|
"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_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",
|
"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",
|
||||||
|
|
@ -225,7 +225,7 @@ Ls.epo = {
|
||||||
|
|
||||||
"ct_grid": '田 krado',
|
"ct_grid": '田 krado',
|
||||||
"ct_ttips": '◔ ◡ ◔">ℹ️ ŝpruchelpiloj',
|
"ct_ttips": '◔ ◡ ◔">ℹ️ ŝpruchelpiloj',
|
||||||
"ct_thumb": 'dum krado-vido, baskuli montradon de simboloj aŭ bildetoj$NFulmoklavo: T">🖼️ bildetoj',
|
"ct_thumb": 'baskuli montradon de simboloj aŭ bildetoj$NFulmoklavo: T">🖼️ bildetoj',
|
||||||
"ct_csel": 'uzi STIR kaj MAJ por elekti dosierojn en krado-vido">elekto',
|
"ct_csel": 'uzi STIR kaj MAJ por elekti dosierojn en krado-vido">elekto',
|
||||||
"ct_dsel": 'uzi tren-elekton en krado-vido">treni',
|
"ct_dsel": 'uzi tren-elekton en krado-vido">treni',
|
||||||
"ct_dl": 'devigi elŝuton (ne montri enkadre), kiam dosiero estas alklakita">elŝuti',
|
"ct_dl": 'devigi elŝuton (ne montri enkadre), kiam dosiero estas alklakita">elŝuti',
|
||||||
|
|
@ -288,9 +288,9 @@ Ls.epo = {
|
||||||
"ml_drc": "kompresoro",
|
"ml_drc": "kompresoro",
|
||||||
"ml_ss": "preterpasi silenton",
|
"ml_ss": "preterpasi silenton",
|
||||||
|
|
||||||
"mt_loop": "ripeti unu kanton\">🔁",
|
"mt_loop": "ripeti unu kanton",
|
||||||
"mt_one": "haltigi post unu kanto\">1️⃣",
|
"mt_one": "haltigi post unu kanto\">1️⃣",
|
||||||
"mt_shuf": "ludi ĉiu dosierujo en hazarda ordo\">🔀",
|
"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_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_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_prescan": "eniri la sekvan dosierujon antaŭ la fino de la lasta kanto, $Npor ke la retumilo ne interrompis la ludadon\">nav",
|
||||||
|
|
@ -305,7 +305,7 @@ Ls.epo = {
|
||||||
"mt_follow": "rulumi la pagon, por ke la ludanta kanto restas videbla\">🎯",
|
"mt_follow": "rulumi la pagon, por ke la ludanta kanto restas videbla\">🎯",
|
||||||
"mt_compact": "kompaktaj ruliloj\">⟎",
|
"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_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_mloop": "ripeti la nunan dosierujon",
|
||||||
"mt_mnext": "ŝargi la sekvan dosierujon kaj daŭrigi\">📂 sekva",
|
"mt_mnext": "ŝargi la sekvan dosierujon kaj daŭrigi\">📂 sekva",
|
||||||
"mt_mstop": "haltigi ludadon\">⏸ haltigi",
|
"mt_mstop": "haltigi ludadon\">⏸ haltigi",
|
||||||
"mt_cflac": "konverti el flac / wav al {0}\">flac",
|
"mt_cflac": "konverti el flac / wav al {0}\">flac",
|
||||||
|
|
|
||||||
|
|
@ -5,7 +5,7 @@ Ls.fin = {
|
||||||
"tt": "Suomi",
|
"tt": "Suomi",
|
||||||
|
|
||||||
"cols": {
|
"cols": {
|
||||||
"c": "toimintopainikkeet",
|
"!": "toimintopainikkeet",
|
||||||
"dur": "kesto",
|
"dur": "kesto",
|
||||||
"q": "laatu / bittinopeus",
|
"q": "laatu / bittinopeus",
|
||||||
"Ac": "äänikoodekki",
|
"Ac": "äänikoodekki",
|
||||||
|
|
@ -14,7 +14,7 @@ Ls.fin = {
|
||||||
"Ahash": "äänen tarkistussumma",
|
"Ahash": "äänen tarkistussumma",
|
||||||
"Vhash": "videon tarkistussumma",
|
"Vhash": "videon tarkistussumma",
|
||||||
"Res": "resoluutio",
|
"Res": "resoluutio",
|
||||||
"T": "tiedostotyyppi",
|
"Ext": "tiedostotyyppi",
|
||||||
"aq": "äänenlaatu / bittinopeus",
|
"aq": "äänenlaatu / bittinopeus",
|
||||||
"vq": "kuvalaatu / bittinopeus",
|
"vq": "kuvalaatu / bittinopeus",
|
||||||
"pixfmt": "alinäytteistys / pikselirakenne",
|
"pixfmt": "alinäytteistys / pikselirakenne",
|
||||||
|
|
@ -33,7 +33,7 @@ Ls.fin = {
|
||||||
["G", "vaihda lista/kuvanäkymään"],
|
["G", "vaihda lista/kuvanäkymään"],
|
||||||
["T", "vaihda pienoiskuviin/kuvakkeisiin"],
|
["T", "vaihda pienoiskuviin/kuvakkeisiin"],
|
||||||
["⇧ A/D", "pienoiskuvien koko"],
|
["⇧ A/D", "pienoiskuvien koko"],
|
||||||
["ctrl-K", "poista valitut"],
|
["ctrl-K/Del", "poista valitut"],
|
||||||
["ctrl-X", "siirrä valitut leikepöydälle"],
|
["ctrl-X", "siirrä valitut leikepöydälle"],
|
||||||
["ctrl-C", "kopioi valitut leikepöydälle"],
|
["ctrl-C", "kopioi valitut leikepöydälle"],
|
||||||
["ctrl-V", "siirrä tai kopioi tähän"],
|
["ctrl-V", "siirrä tai kopioi tähän"],
|
||||||
|
|
@ -107,9 +107,9 @@ Ls.fin = {
|
||||||
"ht_and": " ja ",
|
"ht_and": " ja ",
|
||||||
|
|
||||||
"goh": "hallintapaneeli",
|
"goh": "hallintapaneeli",
|
||||||
"gop": 'viereinen hakemisto">edell',
|
"gop": 'viereinen hakemisto',
|
||||||
"gou": 'ylempi hakemisto">ylös',
|
"gou": 'ylempi hakemisto',
|
||||||
"gon": 'seuraava hakemisto">seur',
|
"gon": 'seuraava hakemisto',
|
||||||
"logout": "Kirjaudu ulos ",
|
"logout": "Kirjaudu ulos ",
|
||||||
"login": "Kirjaudu sisään",
|
"login": "Kirjaudu sisään",
|
||||||
"access": " -oikeudet",
|
"access": " -oikeudet",
|
||||||
|
|
@ -157,7 +157,7 @@ Ls.fin = {
|
||||||
"ut_u2ts": "kopioi viimeksi muokattu aikaleima$Ntiedostojärjestelmästäsi palvelimelle\">📅",
|
"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",
|
"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",
|
||||||
"ut_mt": "jatka muiden tiedostojen tiivisteiden laskemista latauksen aikana$N$Nkannattanee poistaa käytöstä, mikäli prosessori tai kovalevy on vanhempaa mallia",
|
"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_ask": 'kysy vahvistusta ennen latauksen aloittamista',
|
||||||
"ut_pot": "paranna latausnopeutta hitailla laitteilla$Nvähentämällä käyttöliittymän monimutkaisuutta",
|
"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_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",
|
"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",
|
||||||
|
|
@ -225,7 +225,7 @@ Ls.fin = {
|
||||||
|
|
||||||
"ct_grid": '田 kuvanäkymä',
|
"ct_grid": '田 kuvanäkymä',
|
||||||
"ct_ttips": '◔ ◡ ◔">ℹ️ vihjelaatikot',
|
"ct_ttips": '◔ ◡ ◔">ℹ️ vihjelaatikot',
|
||||||
"ct_thumb": 'valitse kuvakkeiden / pienoiskuvien välillä kuvanäkymässä $NPikanäppäin: T">🖼️ pienoiskuvat',
|
"ct_thumb": 'valitse kuvakkeiden / pienoiskuvien välillä $NPikanäppäin: T">🖼️ pienoiskuvat',
|
||||||
"ct_csel": 'käytä CTRL ja SHIFT tiedostojen valintaan kuvanäkymässä">valitse',
|
"ct_csel": 'käytä CTRL ja SHIFT tiedostojen valintaan kuvanäkymässä">valitse',
|
||||||
"ct_dsel": 'käytä aluevalintaa tiedostojen valintaan kuvanäkymässä">aluevalinta',
|
"ct_dsel": 'käytä aluevalintaa tiedostojen valintaan kuvanäkymässä">aluevalinta',
|
||||||
"ct_dl": 'pakota lataus (älä näytä upotettuna), kun tiedostoa klikataan">dl',
|
"ct_dl": 'pakota lataus (älä näytä upotettuna), kun tiedostoa klikataan">dl',
|
||||||
|
|
@ -288,9 +288,9 @@ Ls.fin = {
|
||||||
"ml_drc": "dynaaminen alueen kompressori",
|
"ml_drc": "dynaaminen alueen kompressori",
|
||||||
"ml_ss": "ohita hiljaiset kohdat",
|
"ml_ss": "ohita hiljaiset kohdat",
|
||||||
|
|
||||||
"mt_loop": "toista samaa kappaletta\">🔁",
|
"mt_loop": "toista samaa kappaletta",
|
||||||
"mt_one": "lopeta yhden toiston jälkeen\">1️⃣",
|
"mt_one": "lopeta yhden toiston jälkeen\">1️⃣",
|
||||||
"mt_shuf": "aktivoi satunnaistoisto\">🔀",
|
"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_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_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_prescan": "siirry seuraavaan hakemistoon ennen viimeisen kappaleen$Nloppumista, pitäen verkkoselaimen tyytyväisenä$Njotta se ei pysäytä toistoa\">nav",
|
||||||
|
|
@ -305,7 +305,7 @@ Ls.fin = {
|
||||||
"mt_follow": "pidä soiva kappale näkyvissä\">🎯",
|
"mt_follow": "pidä soiva kappale näkyvissä\">🎯",
|
||||||
"mt_compact": "kompaktit säätimet\">⟎",
|
"mt_compact": "kompaktit säätimet\">⟎",
|
||||||
"mt_uncache": "tyhjennä välimuisti (kokeile tätä jos selaimesi välimuistissa on$Nrikkinäinen kopio kappaleesta)\">uncache",
|
"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_mloop": "toista avoinna olevaa hakemistoa loputtomasti",
|
||||||
"mt_mnext": "lataa seuraava hakemisto ja jatka\">📂 seuraava",
|
"mt_mnext": "lataa seuraava hakemisto ja jatka\">📂 seuraava",
|
||||||
"mt_mstop": "pysäytä toisto\">⏸ pysäytä",
|
"mt_mstop": "pysäytä toisto\">⏸ pysäytä",
|
||||||
"mt_cflac": "muunna flac / wav {0}-muotoon\">flac",
|
"mt_cflac": "muunna flac / wav {0}-muotoon\">flac",
|
||||||
|
|
|
||||||
|
|
@ -5,7 +5,7 @@ Ls.fra = {
|
||||||
"tt": "français",
|
"tt": "français",
|
||||||
|
|
||||||
"cols": {
|
"cols": {
|
||||||
"c": "bouton d'action",
|
"!": "bouton d'action",
|
||||||
"dur": "durée",
|
"dur": "durée",
|
||||||
"q": "qualité / débit binaire",
|
"q": "qualité / débit binaire",
|
||||||
"Ac": "codec audio",
|
"Ac": "codec audio",
|
||||||
|
|
@ -14,7 +14,7 @@ Ls.fra = {
|
||||||
"Ahash": "somme de contrôle audio",
|
"Ahash": "somme de contrôle audio",
|
||||||
"Vhash": "somme de contrôle vidéo",
|
"Vhash": "somme de contrôle vidéo",
|
||||||
"Res": "résolution",
|
"Res": "résolution",
|
||||||
"T": "type de fichier",
|
"Ext": "type de fichier",
|
||||||
"aq": "qualité audio / débit binaire",
|
"aq": "qualité audio / débit binaire",
|
||||||
"vq": "qualité vidéo / débit binaire",
|
"vq": "qualité vidéo / débit binaire",
|
||||||
"pixfmt": "sous-échantillonnage / structure de pixel",
|
"pixfmt": "sous-échantillonnage / structure de pixel",
|
||||||
|
|
@ -33,7 +33,7 @@ Ls.fra = {
|
||||||
["G", "activer vue en liste / vue en grille"],
|
["G", "activer vue en liste / vue en grille"],
|
||||||
["T", "activer les miniatures / icônes"],
|
["T", "activer les miniatures / icônes"],
|
||||||
["⇧ A/D", "taille des miniatures"],
|
["⇧ A/D", "taille des miniatures"],
|
||||||
["ctrl-K", "suprimer la sélection"],
|
["ctrl-K/Del", "suprimer la sélection"],
|
||||||
["ctrl-X", "couper la sélection au presse-papier"],
|
["ctrl-X", "couper la sélection au presse-papier"],
|
||||||
["ctrl-C", "copier la sélection au presse-papier"],
|
["ctrl-C", "copier la sélection au presse-papier"],
|
||||||
["ctrl-V", "coller (déplacer/copier) ici"],
|
["ctrl-V", "coller (déplacer/copier) ici"],
|
||||||
|
|
@ -107,9 +107,9 @@ Ls.fra = {
|
||||||
"ht_and": " et ",
|
"ht_and": " et ",
|
||||||
|
|
||||||
"goh": "panneau-de-commande",
|
"goh": "panneau-de-commande",
|
||||||
"gop": 'élément "frère" précédent">précédent',
|
"gop": 'élément "frère" précédent',
|
||||||
"gou": 'dossier parent">haut',
|
"gou": 'dossier parent',
|
||||||
"gon": 'dossier suivant">suivant',
|
"gon": 'dossier suivant',
|
||||||
"logout": "Déconnexion ",
|
"logout": "Déconnexion ",
|
||||||
"login": "Se connecter", //m
|
"login": "Se connecter", //m
|
||||||
"access": " accès",
|
"access": " accès",
|
||||||
|
|
@ -157,7 +157,7 @@ Ls.fra = {
|
||||||
"ut_u2ts": "copier l'horodatage de dernière modification$Nde votre système de fichiers vers le serveur\">📅",
|
"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_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_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_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_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_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",
|
"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",
|
||||||
|
|
@ -225,7 +225,7 @@ Ls.fra = {
|
||||||
|
|
||||||
"ct_grid": '田 grille',
|
"ct_grid": '田 grille',
|
||||||
"ct_ttips": '◔ ◡ ◔">ℹ️ infobulles',
|
"ct_ttips": '◔ ◡ ◔">ℹ️ infobulles',
|
||||||
"ct_thumb": 'vue en grille, activer les icônes ou les miniatures$NHotkey: T">🖼️ minia',
|
"ct_thumb": '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_csel": 'utiliser CTRL et MAJ pour selectioner des fichiers en vue en grille">sel',
|
||||||
"ct_dsel": 'utiliser la sélection par glisser en vue en grille">glisser', //m
|
"ct_dsel": 'utiliser la sélection par glisser en vue en grille">glisser', //m
|
||||||
"ct_dl": 'forcer le téléchargement (ne pas afficher en ligne) lorsqu’un fichier est cliqué">dl', //m
|
"ct_dl": 'forcer le téléchargement (ne pas afficher en ligne) lorsqu’un fichier est cliqué">dl', //m
|
||||||
|
|
@ -288,9 +288,9 @@ Ls.fra = {
|
||||||
"ml_drc": "compresseur de plage dynamique",
|
"ml_drc": "compresseur de plage dynamique",
|
||||||
"ml_ss": "ignorer les silences", //m
|
"ml_ss": "ignorer les silences", //m
|
||||||
|
|
||||||
"mt_loop": "répéter en boucle une musique\">🔁",
|
"mt_loop": "répéter en boucle une musique",
|
||||||
"mt_one": "stopper après une musique\">1️⃣",
|
"mt_one": "stopper après une musique\">1️⃣",
|
||||||
"mt_shuf": "mélanger les musiques dans chaque dossiers\">🔀",
|
"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_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_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_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",
|
||||||
|
|
@ -305,7 +305,7 @@ Ls.fra = {
|
||||||
"mt_follow": "garder la piste en cours défilée dans la vue\">🎯",
|
"mt_follow": "garder la piste en cours défilée dans la vue\">🎯",
|
||||||
"mt_compact": "contrôles compacts\">⟎",
|
"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_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_mloop": "lire en boucle le dossier ouvert",
|
||||||
"mt_mnext": "charger le dossier suivant et continuer\">📂 next",
|
"mt_mnext": "charger le dossier suivant et continuer\">📂 next",
|
||||||
"mt_mstop": "arrêter la lecture\">⏸ stop",
|
"mt_mstop": "arrêter la lecture\">⏸ stop",
|
||||||
"mt_cflac": "convertir flac / wav en {0}\">flac",
|
"mt_cflac": "convertir flac / wav en {0}\">flac",
|
||||||
|
|
|
||||||
|
|
@ -5,7 +5,7 @@ Ls.grc = {
|
||||||
"tt": "Ελληνικά",
|
"tt": "Ελληνικά",
|
||||||
|
|
||||||
"cols": {
|
"cols": {
|
||||||
"c": "κουμπιά ενεργειών",
|
"!": "κουμπιά ενεργειών",
|
||||||
"dur": "διάρκεια",
|
"dur": "διάρκεια",
|
||||||
"q": "ποιότητα / bitrate",
|
"q": "ποιότητα / bitrate",
|
||||||
"Ac": "κωδικοποιητής ήχου",
|
"Ac": "κωδικοποιητής ήχου",
|
||||||
|
|
@ -14,7 +14,7 @@ Ls.grc = {
|
||||||
"Ahash": "checksum ήχου",
|
"Ahash": "checksum ήχου",
|
||||||
"Vhash": "checksum βίντεο",
|
"Vhash": "checksum βίντεο",
|
||||||
"Res": "ανάλυση",
|
"Res": "ανάλυση",
|
||||||
"T": "τύπος αρχείου",
|
"Ext": "τύπος αρχείου",
|
||||||
"aq": "ποιότητα ήχου / bitrate",
|
"aq": "ποιότητα ήχου / bitrate",
|
||||||
"vq": "ποιότητα βίντεο / bitrate",
|
"vq": "ποιότητα βίντεο / bitrate",
|
||||||
"pixfmt": "subsampling / δομή εικονοστοιχείων",
|
"pixfmt": "subsampling / δομή εικονοστοιχείων",
|
||||||
|
|
@ -33,7 +33,7 @@ Ls.grc = {
|
||||||
["G", "εναλλαγή λίστας / πλέγματος"],
|
["G", "εναλλαγή λίστας / πλέγματος"],
|
||||||
["T", "εναλλαγή μικρογραφιών / εικονιδίων"],
|
["T", "εναλλαγή μικρογραφιών / εικονιδίων"],
|
||||||
["⇧ A/D", "μέγεθος μικρογραφιών"],
|
["⇧ A/D", "μέγεθος μικρογραφιών"],
|
||||||
["ctrl-K", "διαγραφή επιλεγμένων"],
|
["ctrl-K/Del", "διαγραφή επιλεγμένων"],
|
||||||
["ctrl-X", "αποκοπή επιλογής στο πρόχειρο"],
|
["ctrl-X", "αποκοπή επιλογής στο πρόχειρο"],
|
||||||
["ctrl-C", "αντιγραφή επιλογής στο πρόχειρο"],
|
["ctrl-C", "αντιγραφή επιλογής στο πρόχειρο"],
|
||||||
["ctrl-V", "επικόλληση (μετακίνηση/αντιγραφή) εδώ"],
|
["ctrl-V", "επικόλληση (μετακίνηση/αντιγραφή) εδώ"],
|
||||||
|
|
@ -107,9 +107,9 @@ Ls.grc = {
|
||||||
"ht_and": " και ",
|
"ht_and": " και ",
|
||||||
|
|
||||||
"goh": "πίνακας ελέγχου",
|
"goh": "πίνακας ελέγχου",
|
||||||
"gop": 'προηγούμενος φάκελος στο ίδιο επίπεδο">προηγούμενο',
|
"gop": 'προηγούμενος φάκελος στο ίδιο επίπεδο',
|
||||||
"gou": 'γονικός φάκελος">πάνω',
|
"gou": 'γονικός φάκελος',
|
||||||
"gon": 'επόμενος φάκελος">επόμενο',
|
"gon": 'επόμενος φάκελος',
|
||||||
"logout": "Αποσύνδεση ",
|
"logout": "Αποσύνδεση ",
|
||||||
"login": "Σύνδεση", //m
|
"login": "Σύνδεση", //m
|
||||||
"access": " πρόσβαση",
|
"access": " πρόσβαση",
|
||||||
|
|
@ -157,7 +157,7 @@ Ls.grc = {
|
||||||
"ut_u2ts": "αντιγραφή της τελευταίας τροποποιημένης χρονοσφραγίδας αλλαγής$Nαπό το σύστημά σου στον server\">📅",
|
"ut_u2ts": "αντιγραφή της τελευταίας τροποποιημένης χρονοσφραγίδας αλλαγής$Nαπό το σύστημά σου στον server\">📅",
|
||||||
"ut_ow": "αντικατάσταση σε ήδη υπάρχοντα αρχεία του server?$N🛡️: ποτέ (θα δημιουργηθεί νέο όνομα)$N🕒: αν το αρχείο του server είναι παλαιότερο$N♻️: πάντα να αντικαθίστανται αν διαφέρουν$N⏭️: παράλειψη όλων των υπαρχόντων αρχείων χωρίς όρους", //m
|
"ut_ow": "αντικατάσταση σε ήδη υπάρχοντα αρχεία του server?$N🛡️: ποτέ (θα δημιουργηθεί νέο όνομα)$N🕒: αν το αρχείο του server είναι παλαιότερο$N♻️: πάντα να αντικαθίστανται αν διαφέρουν$N⏭️: παράλειψη όλων των υπαρχόντων αρχείων χωρίς όρους", //m
|
||||||
"ut_mt": "συνέχιση υπολογισμού hash για άλλα αρχεία κατά τη μεταφόρτωση$N$Nαπενεργοποίησέ το αν η CPU ή ο δίσκος σου ζορίζονται",
|
"ut_mt": "συνέχιση υπολογισμού hash για άλλα αρχεία κατά τη μεταφόρτωση$N$Nαπενεργοποίησέ το αν η CPU ή ο δίσκος σου ζορίζονται",
|
||||||
"ut_ask": 'επιβεβαίωση πριν ξεκινήσει η μεταφόρτωση">💭',
|
"ut_ask": 'επιβεβαίωση πριν ξεκινήσει η μεταφόρτωση',
|
||||||
"ut_pot": "βελτίωση ταχύτητας μεταφόρτωσης σε αργές συσκευές$Nμε απλοποίηση του UI",
|
"ut_pot": "βελτίωση ταχύτητας μεταφόρτωσης σε αργές συσκευές$Nμε απλοποίηση του UI",
|
||||||
"ut_srch": "μην ανεβάζεις, έλεγξε αν τα αρχεία$Nυπάρχουν ήδη στον server (ψάχνει σε όλους τους φακέλους που έχεις πρόσβαση)",
|
"ut_srch": "μην ανεβάζεις, έλεγξε αν τα αρχεία$Nυπάρχουν ήδη στον server (ψάχνει σε όλους τους φακέλους που έχεις πρόσβαση)",
|
||||||
"ut_par": "κάνε παύση στις μεταφορτώσεις βάζοντάς το 0$N$Nαύξησε το αν έχεις αργή/μεγάλη καθυστέρηση σύνδεσης$N$Nκράτα το 1 σε LAN ή αν ο server έχει αργό δίσκο",
|
"ut_par": "κάνε παύση στις μεταφορτώσεις βάζοντάς το 0$N$Nαύξησε το αν έχεις αργή/μεγάλη καθυστέρηση σύνδεσης$N$Nκράτα το 1 σε LAN ή αν ο server έχει αργό δίσκο",
|
||||||
|
|
@ -225,7 +225,7 @@ Ls.grc = {
|
||||||
|
|
||||||
"ct_grid": '田 το πλέγμα',
|
"ct_grid": '田 το πλέγμα',
|
||||||
"ct_ttips": '◔ ◡ ◔">ℹ️ συμβουλές εργαλείων',
|
"ct_ttips": '◔ ◡ ◔">ℹ️ συμβουλές εργαλείων',
|
||||||
"ct_thumb": 'σε προβολή πλέγματος, εναλλαγή εικονιδίων ή μικρογραφιών$NΠλήκτρο συντόμευσης: T">🖼️ μικρογραφίες',
|
"ct_thumb": 'εναλλαγή εικονιδίων ή μικρογραφιών$NΠλήκτρο συντόμευσης: T">🖼️ μικρογραφίες',
|
||||||
"ct_csel": 'χρησιμοποίησε CTRL και SHIFT για επιλογή αρχείων σε προβολή πλέγματος">επιλογή',
|
"ct_csel": 'χρησιμοποίησε CTRL και SHIFT για επιλογή αρχείων σε προβολή πλέγματος">επιλογή',
|
||||||
"ct_dsel": 'χρησιμοποίησε επιλογή με σύρσιμο σε προβολή πλέγματος">σύρσιμο', //m
|
"ct_dsel": 'χρησιμοποίησε επιλογή με σύρσιμο σε προβολή πλέγματος">σύρσιμο', //m
|
||||||
"ct_dl": 'εξαναγκασμός λήψης (να μην εμφανίζεται ενσωματωμένα) όταν γίνεται κλικ σε ένα αρχείο">dl', //m
|
"ct_dl": 'εξαναγκασμός λήψης (να μην εμφανίζεται ενσωματωμένα) όταν γίνεται κλικ σε ένα αρχείο">dl', //m
|
||||||
|
|
@ -288,9 +288,9 @@ Ls.grc = {
|
||||||
"ml_drc": "συμπιεστής δυναμικής εμβέλειας",
|
"ml_drc": "συμπιεστής δυναμικής εμβέλειας",
|
||||||
"ml_ss": "παράβλεψη σιωπής", //m
|
"ml_ss": "παράβλεψη σιωπής", //m
|
||||||
|
|
||||||
"mt_loop": "επανάληψη ενός τραγουδιού\">🔁",
|
"mt_loop": "επανάληψη ενός τραγουδιού",
|
||||||
"mt_one": "σταμάτα μετά από ένα τραγούδι\">1️⃣",
|
"mt_one": "σταμάτα μετά από ένα τραγούδι\">1️⃣",
|
||||||
"mt_shuf": "τυχαία σειρά τραγουδιών σε κάθε φάκελο\">🔀",
|
"mt_shuf": "τυχαία σειρά τραγουδιών σε κάθε φάκελο",
|
||||||
"mt_aplay": "αυτόματη αναπαραγωγή αν υπάρχει song-ID στη διεύθυνση που μπήκες στο διακομιστή$N$Nη απενεργοποίηση αυτού, σταματά το URL από το να ενημερώνεται με τα song-ID ενώ παίζει η μουσική για να αποτραπεί η αυτόματη αναπαραγωγή αν χαθούν αυτές οι ρυθμίσεις αλλά το URL παραμείνει το ίδιο\">a▶",
|
"mt_aplay": "αυτόματη αναπαραγωγή αν υπάρχει song-ID στη διεύθυνση που μπήκες στο διακομιστή$N$Nη απενεργοποίηση αυτού, σταματά το URL από το να ενημερώνεται με τα song-ID ενώ παίζει η μουσική για να αποτραπεί η αυτόματη αναπαραγωγή αν χαθούν αυτές οι ρυθμίσεις αλλά το URL παραμείνει το ίδιο\">a▶",
|
||||||
"mt_preload": "ξεκίνα τη φόρτωση του επόμενου τραγουδιού κοντά στο τέλος για συνεχόμενη ακρόαση\">προφόρτωση",
|
"mt_preload": "ξεκίνα τη φόρτωση του επόμενου τραγουδιού κοντά στο τέλος για συνεχόμενη ακρόαση\">προφόρτωση",
|
||||||
"mt_prescan": "πήγαινε στον επόμενο φάκελο πριν τελειώσει το τελευταίο τραγούδι$Nγια να μη σταματήσει το πρόγραμμα περιήγησης να παίζει μουσική\">nav",
|
"mt_prescan": "πήγαινε στον επόμενο φάκελο πριν τελειώσει το τελευταίο τραγούδι$Nγια να μη σταματήσει το πρόγραμμα περιήγησης να παίζει μουσική\">nav",
|
||||||
|
|
@ -305,7 +305,7 @@ Ls.grc = {
|
||||||
"mt_follow": "κρατά το τρέχον κομμάτι ορατό κατά την κύλιση\">🎯",
|
"mt_follow": "κρατά το τρέχον κομμάτι ορατό κατά την κύλιση\">🎯",
|
||||||
"mt_compact": "συμπαγή κουμπιά ελέγχου\">⟎",
|
"mt_compact": "συμπαγή κουμπιά ελέγχου\">⟎",
|
||||||
"mt_uncache": "καθάρισε την προσωρινή μνήμη (δοκίμασε αυτό αν ο browser έχει αποθηκεύσει$Nχαλασμένο αντίγραφο τραγουδιού και αρνείται να παίξει)\">εκκαθάριση",
|
"mt_uncache": "καθάρισε την προσωρινή μνήμη (δοκίμασε αυτό αν ο browser έχει αποθηκεύσει$Nχαλασμένο αντίγραφο τραγουδιού και αρνείται να παίξει)\">εκκαθάριση",
|
||||||
"mt_mloop": "τυχαία αναπαραγωγή στον ανοικτό φάκελο\">🔁 τυχαία αναπαραγωγή",
|
"mt_mloop": "τυχαία αναπαραγωγή στον ανοικτό φάκελο",
|
||||||
"mt_mnext": "φόρτωση επόμενου φακέλου και συνέχιση\">📂 επόμενο",
|
"mt_mnext": "φόρτωση επόμενου φακέλου και συνέχιση\">📂 επόμενο",
|
||||||
"mt_mstop": "σταμάτησε την αναπαραγωγή\">⏸ σταμάτημα",
|
"mt_mstop": "σταμάτησε την αναπαραγωγή\">⏸ σταμάτημα",
|
||||||
"mt_cflac": "μετατροπή flac / wav σε {0}\">flac",
|
"mt_cflac": "μετατροπή flac / wav σε {0}\">flac",
|
||||||
|
|
|
||||||
|
|
@ -2,7 +2,7 @@ Ls.hun = {
|
||||||
"tt": 'Magyar',
|
"tt": 'Magyar',
|
||||||
|
|
||||||
"cols": {
|
"cols": {
|
||||||
"c": 'műveletek',
|
"!": 'műveletek',
|
||||||
"dur": 'hossz',
|
"dur": 'hossz',
|
||||||
"q": 'minőség / bitrate',
|
"q": 'minőség / bitrate',
|
||||||
"Ac": 'audió kodek',
|
"Ac": 'audió kodek',
|
||||||
|
|
@ -11,7 +11,7 @@ Ls.hun = {
|
||||||
"Ahash": 'audió hash',
|
"Ahash": 'audió hash',
|
||||||
"Vhash": 'videó hash',
|
"Vhash": 'videó hash',
|
||||||
"Res": 'felbontás',
|
"Res": 'felbontás',
|
||||||
"T": 'típus',
|
"Ext": 'típus',
|
||||||
"aq": 'audió minőség / bitrate',
|
"aq": 'audió minőség / bitrate',
|
||||||
"vq": 'videó minőség / bitrate',
|
"vq": 'videó minőség / bitrate',
|
||||||
"pixfmt": 'színkódolás / pixel',
|
"pixfmt": 'színkódolás / pixel',
|
||||||
|
|
@ -30,7 +30,7 @@ Ls.hun = {
|
||||||
['G', 'lista / rács nézet'],
|
['G', 'lista / rács nézet'],
|
||||||
['T', 'ikon / indexkép váltás'],
|
['T', 'ikon / indexkép váltás'],
|
||||||
['⇧ A/D', 'méret módosítása'],
|
['⇧ A/D', 'méret módosítása'],
|
||||||
['ctrl-K', 'kijelöltek törlése'],
|
['ctrl-K/Del', 'kijelöltek törlése'],
|
||||||
['ctrl-X', 'kivágás vágólapra'],
|
['ctrl-X', 'kivágás vágólapra'],
|
||||||
['ctrl-C', 'másolás vágólapra'],
|
['ctrl-C', 'másolás vágólapra'],
|
||||||
['ctrl-V', 'beillesztés ide'],
|
['ctrl-V', 'beillesztés ide'],
|
||||||
|
|
@ -109,9 +109,9 @@ Ls.hun = {
|
||||||
"ht_and": ' és ',
|
"ht_and": ' és ',
|
||||||
|
|
||||||
"goh": 'irányítópult',
|
"goh": 'irányítópult',
|
||||||
"gop": 'előző mappába">előző',
|
"gop": 'előző mappába',
|
||||||
"gou": 'szülőmappa">fel',
|
"gou": 'szülőmappa',
|
||||||
"gon": 'következő mappába">következő',
|
"gon": 'következő mappába',
|
||||||
"logout": 'Kilépés ',
|
"logout": 'Kilépés ',
|
||||||
"login": 'Belépés',
|
"login": 'Belépés',
|
||||||
"access": ' hozzáférés',
|
"access": ' hozzáférés',
|
||||||
|
|
@ -159,7 +159,7 @@ Ls.hun = {
|
||||||
"ut_u2ts": 'helyi dátumok$Nátvitele a szerverre">📅',
|
"ut_u2ts": 'helyi dátumok$Nátvitele a szerverre">📅',
|
||||||
"ut_ow": 'felülírás?$N🛡️: soha (új nevet ad)$N🕒: csak ha a tiéd újabb$N♻️: mindig, ha más a tartalom$N⏭️: létezőket kihagy',
|
"ut_ow": 'felülírás?$N🛡️: soha (új nevet ad)$N🕒: csak ha a tiéd újabb$N♻️: mindig, ha más a tartalom$N⏭️: létezőket kihagy',
|
||||||
"ut_mt": 'háttérben hashelés feltöltés alatt$N$Nkapcsold ki, ha fagy a géped',
|
"ut_mt": 'háttérben hashelés feltöltés alatt$N$Nkapcsold ki, ha fagy a géped',
|
||||||
"ut_ask": 'megerősítés feltöltés előtt">💭',
|
"ut_ask": 'megerősítés feltöltés előtt',
|
||||||
"ut_pot": 'feltöltés gyorsítása (egyszerűbb UI)',
|
"ut_pot": 'feltöltés gyorsítása (egyszerűbb UI)',
|
||||||
"ut_srch": 'csak létezés ellenőrzése$N(nem tölt fel semmit)',
|
"ut_srch": 'csak létezés ellenőrzése$N(nem tölt fel semmit)',
|
||||||
"ut_par": '0 = szünet$N$Nnöveld, ha lassú a net$N$NHDD limit vagy LAN esetén hagyd 1-en',
|
"ut_par": '0 = szünet$N$Nnöveld, ha lassú a net$N$NHDD limit vagy LAN esetén hagyd 1-en',
|
||||||
|
|
@ -226,7 +226,7 @@ Ls.hun = {
|
||||||
|
|
||||||
"ct_grid": '田 rács nézet',
|
"ct_grid": '田 rács nézet',
|
||||||
"ct_ttips": '◔ ◡ ◔">ℹ️ segítő szövegek',
|
"ct_ttips": '◔ ◡ ◔">ℹ️ segítő szövegek',
|
||||||
"ct_thumb": 'rács nézetben ikonok/indexképek váltása$Ngyorsbillentyű: T">🖼️ képek',
|
"ct_thumb": 'ikonok/indexképek váltása$Ngyorsbillentyű: T">🖼️ képek',
|
||||||
"ct_csel": 'kijelölés CTRL és SHIFT gombokkal rács nézetben">kijelölés',
|
"ct_csel": 'kijelölés CTRL és SHIFT gombokkal rács nézetben">kijelölés',
|
||||||
"ct_dsel": 'kijelölés egérhúzással rács nézetben">húzás',
|
"ct_dsel": 'kijelölés egérhúzással rács nézetben">húzás',
|
||||||
"ct_dl": 'azonnali letöltés (beágyazás helyett)">letöltés',
|
"ct_dl": 'azonnali letöltés (beágyazás helyett)">letöltés',
|
||||||
|
|
@ -289,9 +289,9 @@ Ls.hun = {
|
||||||
"ml_drc": 'dinamikatartomány-tömörítő',
|
"ml_drc": 'dinamikatartomány-tömörítő',
|
||||||
"ml_ss": 'csönd átugrása',
|
"ml_ss": 'csönd átugrása',
|
||||||
|
|
||||||
"mt_loop": 'egy szám ismétlése">🔁',
|
"mt_loop": 'egy szám ismétlése',
|
||||||
"mt_one": 'leállás egy szám után">1️⃣',
|
"mt_one": 'leállás egy szám után">1️⃣',
|
||||||
"mt_shuf": 'véletlenszerű lejátszás mappánként">🔀',
|
"mt_shuf": 'véletlenszerű lejátszás mappánként',
|
||||||
"mt_aplay": 'automatikus kezdés a link alapján$N$Nha kikapcsolod, a linkek sem fognak szám-azonosítót tartalmazni">a▶',
|
"mt_aplay": 'automatikus kezdés a link alapján$N$Nha kikapcsolod, a linkek sem fognak szám-azonosítót tartalmazni">a▶',
|
||||||
"mt_preload": 'következő szám betöltése a végén (gapless)">preload',
|
"mt_preload": 'következő szám betöltése a végén (gapless)">preload',
|
||||||
"mt_prescan": 'mappaváltás az utolsó szám vége előtt, hogy a böngésző ne álljon le">nav',
|
"mt_prescan": 'mappaváltás az utolsó szám vége előtt, hogy a böngésző ne álljon le">nav',
|
||||||
|
|
@ -306,7 +306,7 @@ Ls.hun = {
|
||||||
"mt_follow": 'fókuszban tartja az aktuális számot">🎯',
|
"mt_follow": 'fókuszban tartja az aktuális számot">🎯',
|
||||||
"mt_compact": 'kompakt vezérlők">⟎',
|
"mt_compact": 'kompakt vezérlők">⟎',
|
||||||
"mt_uncache": 'gyorsítótár ürítése (próbáld ezt, ha a böngésző hibás fájlt mentett el és nem játssza le)">uncache',
|
"mt_uncache": 'gyorsítótár ürítése (próbáld ezt, ha a böngésző hibás fájlt mentett el és nem játssza le)">uncache',
|
||||||
"mt_mloop": 'mappa ismétlése">🔁 ismétlés',
|
"mt_mloop": 'mappa ismétlése',
|
||||||
"mt_mnext": 'következő mappa betöltése és folytatás">📂 tovább',
|
"mt_mnext": 'következő mappa betöltése és folytatás">📂 tovább',
|
||||||
"mt_mstop": 'stop">⏸ stop',
|
"mt_mstop": 'stop">⏸ stop',
|
||||||
"mt_cflac": 'flac / wav konvertálása ide: {0}">flac',
|
"mt_cflac": 'flac / wav konvertálása ide: {0}">flac',
|
||||||
|
|
|
||||||
|
|
@ -5,7 +5,7 @@ Ls.ita = {
|
||||||
"tt": "Italiano",
|
"tt": "Italiano",
|
||||||
|
|
||||||
"cols": {
|
"cols": {
|
||||||
"c": "pulsanti azione",
|
"!": "pulsanti azione",
|
||||||
"dur": "durata",
|
"dur": "durata",
|
||||||
"q": "qualità / bitrate",
|
"q": "qualità / bitrate",
|
||||||
"Ac": "codec audio",
|
"Ac": "codec audio",
|
||||||
|
|
@ -14,7 +14,7 @@ Ls.ita = {
|
||||||
"Ahash": "checksum audio",
|
"Ahash": "checksum audio",
|
||||||
"Vhash": "checksum video",
|
"Vhash": "checksum video",
|
||||||
"Res": "risoluzione",
|
"Res": "risoluzione",
|
||||||
"T": "tipo file",
|
"Ext": "tipo file",
|
||||||
"aq": "qualità audio / bitrate",
|
"aq": "qualità audio / bitrate",
|
||||||
"vq": "qualità video / bitrate",
|
"vq": "qualità video / bitrate",
|
||||||
"pixfmt": "subsampling / struttura pixel",
|
"pixfmt": "subsampling / struttura pixel",
|
||||||
|
|
@ -33,7 +33,7 @@ Ls.ita = {
|
||||||
["G", "alterna vista lista / griglia"],
|
["G", "alterna vista lista / griglia"],
|
||||||
["T", "alterna miniature / icone"],
|
["T", "alterna miniature / icone"],
|
||||||
["⇧ A/D", "dimensione miniature"],
|
["⇧ A/D", "dimensione miniature"],
|
||||||
["ctrl-K", "elimina selezionati"],
|
["ctrl-K/Del", "elimina selezionati"],
|
||||||
["ctrl-X", "taglia selezione negli appunti"],
|
["ctrl-X", "taglia selezione negli appunti"],
|
||||||
["ctrl-C", "copia selezione negli appunti"],
|
["ctrl-C", "copia selezione negli appunti"],
|
||||||
["ctrl-V", "incolla (sposta/copia) qui"],
|
["ctrl-V", "incolla (sposta/copia) qui"],
|
||||||
|
|
@ -107,9 +107,9 @@ Ls.ita = {
|
||||||
"ht_and": " e ",
|
"ht_and": " e ",
|
||||||
|
|
||||||
"goh": "control-panel",
|
"goh": "control-panel",
|
||||||
"gop": 'cartella sorella precedente">prec',
|
"gop": 'cartella sorella precedente',
|
||||||
"gou": 'cartella genitore">su',
|
"gou": 'cartella genitore',
|
||||||
"gon": 'prossima cartella">succ',
|
"gon": 'prossima cartella',
|
||||||
"logout": "Logout ",
|
"logout": "Logout ",
|
||||||
"login": "Accedi", //m
|
"login": "Accedi", //m
|
||||||
"access": " accesso",
|
"access": " accesso",
|
||||||
|
|
@ -157,7 +157,7 @@ Ls.ita = {
|
||||||
"ut_u2ts": "copia il timestamp di ultima modifica$Ndal tuo filesystem al server\">📅",
|
"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_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_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_ask": 'chiedi conferma prima che inizi il caricamento',
|
||||||
"ut_pot": "migliora la velocità di caricamento su dispositivi lenti$Nrendendo l'interfaccia meno complessa",
|
"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_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",
|
"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",
|
||||||
|
|
@ -225,7 +225,7 @@ Ls.ita = {
|
||||||
|
|
||||||
"ct_grid": '田 griglia',
|
"ct_grid": '田 griglia',
|
||||||
"ct_ttips": '◔ ◡ ◔">ℹ️ tooltip',
|
"ct_ttips": '◔ ◡ ◔">ℹ️ tooltip',
|
||||||
"ct_thumb": 'nella vista griglia, alterna icone o miniature$NTasto rapido: T">🖼️ miniature',
|
"ct_thumb": 'alterna icone o miniature$NTasto rapido: T">🖼️ miniature',
|
||||||
"ct_csel": 'usa CTRL e SHIFT per la selezione file nella vista griglia">sel',
|
"ct_csel": 'usa CTRL e SHIFT per la selezione file nella vista griglia">sel',
|
||||||
"ct_dsel": 'usa la selezione tramite trascinamento nella vista griglia">trascina', //m
|
"ct_dsel": 'usa la selezione tramite trascinamento nella vista griglia">trascina', //m
|
||||||
"ct_dl": 'forza il download (non visualizzare inline) quando si clicca su un file">dl', //m
|
"ct_dl": 'forza il download (non visualizzare inline) quando si clicca su un file">dl', //m
|
||||||
|
|
@ -288,9 +288,9 @@ Ls.ita = {
|
||||||
"ml_drc": "compressore gamma dinamica",
|
"ml_drc": "compressore gamma dinamica",
|
||||||
"ml_ss": "salta i silenzi", //m
|
"ml_ss": "salta i silenzi", //m
|
||||||
|
|
||||||
"mt_loop": "loop/ripeti una canzone\">🔁",
|
"mt_loop": "loop/ripeti una canzone",
|
||||||
"mt_one": "fermati dopo una canzone\">1️⃣",
|
"mt_one": "fermati dopo una canzone\">1️⃣",
|
||||||
"mt_shuf": "mescola le canzoni in ogni cartella\">🔀",
|
"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_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_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_prescan": "vai alla prossima cartella prima che finisca l'ultima canzone$Nmantenendo felice il browser web$Ncosì non si ferma la riproduzione\">nav",
|
||||||
|
|
@ -305,7 +305,7 @@ Ls.ita = {
|
||||||
"mt_follow": "mantieni la traccia in riproduzione scorrevole nella vista\">🎯",
|
"mt_follow": "mantieni la traccia in riproduzione scorrevole nella vista\">🎯",
|
||||||
"mt_compact": "controlli compatti\">⟎",
|
"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_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_mloop": "loop della cartella aperta",
|
||||||
"mt_mnext": "carica la prossima cartella e continua\">📂 succ",
|
"mt_mnext": "carica la prossima cartella e continua\">📂 succ",
|
||||||
"mt_mstop": "ferma riproduzione\">⏸ stop",
|
"mt_mstop": "ferma riproduzione\">⏸ stop",
|
||||||
"mt_cflac": "converti flac / wav in {0}\">flac",
|
"mt_cflac": "converti flac / wav in {0}\">flac",
|
||||||
|
|
|
||||||
|
|
@ -5,7 +5,7 @@ Ls.jpn = {
|
||||||
"tt": "日本語",
|
"tt": "日本語",
|
||||||
|
|
||||||
"cols": {
|
"cols": {
|
||||||
"c": "アクションボタン",
|
"!": "アクションボタン",
|
||||||
"dur": "間隔",
|
"dur": "間隔",
|
||||||
"q": "品質 / ビットレート",
|
"q": "品質 / ビットレート",
|
||||||
"Ac": "オーディオコーデック",
|
"Ac": "オーディオコーデック",
|
||||||
|
|
@ -14,7 +14,7 @@ Ls.jpn = {
|
||||||
"Ahash": "オーディオチェックサム",
|
"Ahash": "オーディオチェックサム",
|
||||||
"Vhash": "ビデオチェックサム",
|
"Vhash": "ビデオチェックサム",
|
||||||
"Res": "解像度",
|
"Res": "解像度",
|
||||||
"T": "ファイル形式",
|
"Ext": "ファイル形式",
|
||||||
"aq": "オーディオ 品質 / ビットレート",
|
"aq": "オーディオ 品質 / ビットレート",
|
||||||
"vq": "ビデオ 品質 / ビットレート",
|
"vq": "ビデオ 品質 / ビットレート",
|
||||||
"pixfmt": "サブサンプリング / ピクセル構造",
|
"pixfmt": "サブサンプリング / ピクセル構造",
|
||||||
|
|
@ -33,7 +33,7 @@ Ls.jpn = {
|
||||||
["G", "リスト / グリッド表示を切り替える"],
|
["G", "リスト / グリッド表示を切り替える"],
|
||||||
["T", "サムネイル / アイコンを切り替える"],
|
["T", "サムネイル / アイコンを切り替える"],
|
||||||
["⇧ A/D", "サムネイルサイズ"],
|
["⇧ A/D", "サムネイルサイズ"],
|
||||||
["ctrl-K", "選択した項目を削除"],
|
["ctrl-K/Del", "選択した項目を削除"],
|
||||||
["ctrl-X", "選択範囲をクリップボードに切り取る"],
|
["ctrl-X", "選択範囲をクリップボードに切り取る"],
|
||||||
["ctrl-C", "選択範囲をクリップボードにコピー"],
|
["ctrl-C", "選択範囲をクリップボードにコピー"],
|
||||||
["ctrl-V", "ここに貼り付け(移動/コピー)"],
|
["ctrl-V", "ここに貼り付け(移動/コピー)"],
|
||||||
|
|
@ -107,9 +107,9 @@ Ls.jpn = {
|
||||||
"ht_and": " と ",
|
"ht_and": " と ",
|
||||||
|
|
||||||
"goh": "コントロールパネル",
|
"goh": "コントロールパネル",
|
||||||
"gop": '前のフォルダ">prev',
|
"gop": '前のフォルダ',
|
||||||
"gou": '親フォルダ">up',
|
"gou": '親フォルダ',
|
||||||
"gon": '次のフォルダ">next',
|
"gon": '次のフォルダ',
|
||||||
"logout": "ログアウト ",
|
"logout": "ログアウト ",
|
||||||
"login": "ログイン",
|
"login": "ログイン",
|
||||||
"access": " アクセス",
|
"access": " アクセス",
|
||||||
|
|
@ -157,7 +157,7 @@ Ls.jpn = {
|
||||||
"ut_u2ts": "最終更新日時のタイムスタンプ$Nファイルシステムからサーバーへコピーする\">📅",
|
"ut_u2ts": "最終更新日時のタイムスタンプ$Nファイルシステムからサーバーへコピーする\">📅",
|
||||||
"ut_ow": "サーバー上の既存のファイルを上書きする?$N🛡️: しない(代わりに新しいファイル名を生成する)$N🕒: サーバーのファイルが古い場合は上書きする$N♻️: ファイルが異なる場合は常に上書きする$N⏭️: 既存のファイルをすべて無条件にスキップする",
|
"ut_ow": "サーバー上の既存のファイルを上書きする?$N🛡️: しない(代わりに新しいファイル名を生成する)$N🕒: サーバーのファイルが古い場合は上書きする$N♻️: ファイルが異なる場合は常に上書きする$N⏭️: 既存のファイルをすべて無条件にスキップする",
|
||||||
"ut_mt": "アップロード中に他のファイルのハッシュを継続する$N$NCPUやHDDがボトルネックになっている場合は無効にしてください",
|
"ut_mt": "アップロード中に他のファイルのハッシュを継続する$N$NCPUやHDDがボトルネックになっている場合は無効にしてください",
|
||||||
"ut_ask": 'aアップロードを開始する前に確認を求める">💭',
|
"ut_ask": 'aアップロードを開始する前に確認を求める',
|
||||||
"ut_pot": "UIをシンプルにすることで$N低速デバイスでのアップロード速度を向上させる",
|
"ut_pot": "UIをシンプルにすることで$N低速デバイスでのアップロード速度を向上させる",
|
||||||
"ut_srch": "実際にはアップロードせず、代わりにファイルが既にアップロードされているかどうかを確認 $N すでにサーバー上に存在(読み取り可能なすべてのフォルダをスキャン)",
|
"ut_srch": "実際にはアップロードせず、代わりにファイルが既にアップロードされているかどうかを確認 $N すでにサーバー上に存在(読み取り可能なすべてのフォルダをスキャン)",
|
||||||
"ut_par": "0に設定するとアップロードを一時停止$N$N接続が遅い / 遅延が大きい場合は増やす$N$NLANやサーバーのHDDがボトルネックになっている場合は1にする",
|
"ut_par": "0に設定するとアップロードを一時停止$N$N接続が遅い / 遅延が大きい場合は増やす$N$NLANやサーバーのHDDがボトルネックになっている場合は1にする",
|
||||||
|
|
@ -225,7 +225,7 @@ Ls.jpn = {
|
||||||
|
|
||||||
"ct_grid": '田 グリッド',
|
"ct_grid": '田 グリッド',
|
||||||
"ct_ttips": '◔ ◡ ◔">ℹ️ ツールチップ',
|
"ct_ttips": '◔ ◡ ◔">ℹ️ ツールチップ',
|
||||||
"ct_thumb": 'グリッドビューではアイコンまたはサムネイルを切り替える$Nホットキー: T">🖼️ サムネイル',
|
"ct_thumb": 'アイコンまたはサムネイルを切り替える$Nホットキー: T">🖼️ サムネイル',
|
||||||
"ct_csel": 'グリッドビューでファイルを選択するにはCtrlとShiftを使用する。">選択',
|
"ct_csel": 'グリッドビューでファイルを選択するにはCtrlとShiftを使用する。">選択',
|
||||||
"ct_dsel": 'グリッドビューでドラッグ選択を使用する。">ドラッグ', //m
|
"ct_dsel": 'グリッドビューでドラッグ選択を使用する。">ドラッグ', //m
|
||||||
"ct_dl": 'ファイルをクリックしたときに強制的にダウンロードする(インラインで表示しない)">dl',
|
"ct_dl": 'ファイルをクリックしたときに強制的にダウンロードする(インラインで表示しない)">dl',
|
||||||
|
|
@ -288,9 +288,9 @@ Ls.jpn = {
|
||||||
"ml_drc": "ダイナミックレンジコンプレッサー",
|
"ml_drc": "ダイナミックレンジコンプレッサー",
|
||||||
"ml_ss": "無音をスキップ", //m
|
"ml_ss": "無音をスキップ", //m
|
||||||
|
|
||||||
"mt_loop": "1曲をループ/リピート再生\">🔁",
|
"mt_loop": "1曲をループ/リピート再生",
|
||||||
"mt_one": "1曲で止める\">1️⃣",
|
"mt_one": "1曲で止める\">1️⃣",
|
||||||
"mt_shuf": "各フォルダ内の曲をシャッフルする\">🔀",
|
"mt_shuf": "各フォルダ内の曲をシャッフルする",
|
||||||
"mt_aplay": "サーバーにアクセスするためにクリックしたリンクに曲IDがある場合は自動再生されます$N$Nこれを無効にすると、音楽を再生するときにページのURLが曲IDで更新されなくなります。これにより設定が失われてもURLが残っている場合の自動再生が防止されます。\">a▶",
|
"mt_aplay": "サーバーにアクセスするためにクリックしたリンクに曲IDがある場合は自動再生されます$N$Nこれを無効にすると、音楽を再生するときにページのURLが曲IDで更新されなくなります。これにより設定が失われてもURLが残っている場合の自動再生が防止されます。\">a▶",
|
||||||
"mt_preload": "ギャップレス再生のために曲の終わり近くに次の曲の読み込みを開始する\">preload",
|
"mt_preload": "ギャップレス再生のために曲の終わり近くに次の曲の読み込みを開始する\">preload",
|
||||||
"mt_prescan": "最後の曲が終了する前に次のフォルダへ移動し$Nウェブブラウザが$N再生を停止しないようにする\">nav",
|
"mt_prescan": "最後の曲が終了する前に次のフォルダへ移動し$Nウェブブラウザが$N再生を停止しないようにする\">nav",
|
||||||
|
|
@ -305,7 +305,7 @@ Ls.jpn = {
|
||||||
"mt_follow": "再生中の曲をスクロールして表示したままにする\">🎯",
|
"mt_follow": "再生中の曲をスクロールして表示したままにする\">🎯",
|
||||||
"mt_compact": "コントローラーを小さく\">⟎",
|
"mt_compact": "コントローラーを小さく\">⟎",
|
||||||
"mt_uncache": "キャッシュクリア (ブラウザが破損した曲のコピーをキャッシュしているために$N再生できない場合はこれを試してください)\">uncache",
|
"mt_uncache": "キャッシュクリア (ブラウザが破損した曲のコピーをキャッシュしているために$N再生できない場合はこれを試してください)\">uncache",
|
||||||
"mt_mloop": "開いているフォルダをループ\">🔁 ループ",
|
"mt_mloop": "開いているフォルダをループ",
|
||||||
"mt_mnext": "次のフォルダを読み込んで続行\">📂 次",
|
"mt_mnext": "次のフォルダを読み込んで続行\">📂 次",
|
||||||
"mt_mstop": "再生を停止\">⏸ 停止",
|
"mt_mstop": "再生を停止\">⏸ 停止",
|
||||||
"mt_cflac": "flac / wavを{0}に変換\">flac",
|
"mt_cflac": "flac / wavを{0}に変換\">flac",
|
||||||
|
|
|
||||||
|
|
@ -5,7 +5,7 @@ Ls.kor = {
|
||||||
"tt": "한국어",
|
"tt": "한국어",
|
||||||
|
|
||||||
"cols": {
|
"cols": {
|
||||||
"c": "작업 버튼",
|
"!": "작업 버튼",
|
||||||
"dur": "길이",
|
"dur": "길이",
|
||||||
"q": "품질/비트레이트",
|
"q": "품질/비트레이트",
|
||||||
"Ac": "오디오 코덱",
|
"Ac": "오디오 코덱",
|
||||||
|
|
@ -14,7 +14,7 @@ Ls.kor = {
|
||||||
"Ahash": "오디오 체크섬",
|
"Ahash": "오디오 체크섬",
|
||||||
"Vhash": "비디오 체크섬",
|
"Vhash": "비디오 체크섬",
|
||||||
"Res": "해상도",
|
"Res": "해상도",
|
||||||
"T": "파일 유형",
|
"Ext": "파일 유형",
|
||||||
"aq": "오디오 품질/비트레이트",
|
"aq": "오디오 품질/비트레이트",
|
||||||
"vq": "비디오 품질/비트레이트",
|
"vq": "비디오 품질/비트레이트",
|
||||||
"pixfmt": "서브샘플링/픽셀 구조",
|
"pixfmt": "서브샘플링/픽셀 구조",
|
||||||
|
|
@ -33,7 +33,7 @@ Ls.kor = {
|
||||||
["G", "목록/그리드 보기 전환"],
|
["G", "목록/그리드 보기 전환"],
|
||||||
["T", "썸네일/아이콘 전환"],
|
["T", "썸네일/아이콘 전환"],
|
||||||
["⇧ A/D", "썸네일 이미지 크기"],
|
["⇧ A/D", "썸네일 이미지 크기"],
|
||||||
["ctrl-K", "선택 항목 삭제"],
|
["ctrl-K/Del", "선택 항목 삭제"],
|
||||||
["ctrl-X", "선택 항목 잘라내기"],
|
["ctrl-X", "선택 항목 잘라내기"],
|
||||||
["ctrl-C", "선택 항목 복사"],
|
["ctrl-C", "선택 항목 복사"],
|
||||||
["ctrl-V", "여기에 붙여넣기 (이동/복사)"],
|
["ctrl-V", "여기에 붙여넣기 (이동/복사)"],
|
||||||
|
|
@ -107,9 +107,9 @@ Ls.kor = {
|
||||||
"ht_and": " ",
|
"ht_and": " ",
|
||||||
|
|
||||||
"goh": "제어판",
|
"goh": "제어판",
|
||||||
"gop": '이전 형제 폴더">이전',
|
"gop": '이전 형제 폴더',
|
||||||
"gou": '상위 폴더">위로',
|
"gou": '상위 폴더',
|
||||||
"gon": '다음 폴더">다음',
|
"gon": '다음 폴더',
|
||||||
"logout": "로그아웃 ",
|
"logout": "로그아웃 ",
|
||||||
"login": "로그인", //m
|
"login": "로그인", //m
|
||||||
"access": " 액세스",
|
"access": " 액세스",
|
||||||
|
|
@ -157,7 +157,7 @@ Ls.kor = {
|
||||||
"ut_u2ts": "사용자 파일 시스템의 마지막 수정 타임스탬프를$N서버에 복사\">📅",
|
"ut_u2ts": "사용자 파일 시스템의 마지막 수정 타임스탬프를$N서버에 복사\">📅",
|
||||||
"ut_ow": "서버에 있는 기존 파일을 덮어쓸까요?$N🛡️: 안 함 (대신 새 파일 이름 생성)$N🕒: 서버 파일이 더 오래된 경우 덮어쓰기$N♻️: 파일이 다르면 항상 덮어쓰기$N⏭️: 기존 파일을 모두 무조건 건너뜀", //m
|
"ut_ow": "서버에 있는 기존 파일을 덮어쓸까요?$N🛡️: 안 함 (대신 새 파일 이름 생성)$N🕒: 서버 파일이 더 오래된 경우 덮어쓰기$N♻️: 파일이 다르면 항상 덮어쓰기$N⏭️: 기존 파일을 모두 무조건 건너뜀", //m
|
||||||
"ut_mt": "업로드 중 다른 파일 해싱 계속하기$N$NCPU 또는 HDD가 병목 현상을 일으키는 경우 비활성화하세요",
|
"ut_mt": "업로드 중 다른 파일 해싱 계속하기$N$NCPU 또는 HDD가 병목 현상을 일으키는 경우 비활성화하세요",
|
||||||
"ut_ask": '업로드 시작 전 확인 요청">💭',
|
"ut_ask": '업로드 시작 전 확인 요청',
|
||||||
"ut_pot": "느린 기기에서 UI를 단순화하여$N업로드 속도 향상",
|
"ut_pot": "느린 기기에서 UI를 단순화하여$N업로드 속도 향상",
|
||||||
"ut_srch": "실제로 업로드하는 대신, 파일이 이미 서버에 있는지 확인합니다$N(읽을 수 있는 모든 폴더를 스캔합니다)",
|
"ut_srch": "실제로 업로드하는 대신, 파일이 이미 서버에 있는지 확인합니다$N(읽을 수 있는 모든 폴더를 스캔합니다)",
|
||||||
"ut_par": "0으로 설정하여 업로드 일시정지$N$N연결이 느리거나 지연 시간이 길면 늘리세요$N$NLAN 환경이거나 서버 HDD가 병목 현상을 일으키면 1로 유지하세요",
|
"ut_par": "0으로 설정하여 업로드 일시정지$N$N연결이 느리거나 지연 시간이 길면 늘리세요$N$NLAN 환경이거나 서버 HDD가 병목 현상을 일으키면 1로 유지하세요",
|
||||||
|
|
@ -225,7 +225,7 @@ Ls.kor = {
|
||||||
|
|
||||||
"ct_grid": "田 그리드",
|
"ct_grid": "田 그리드",
|
||||||
"ct_ttips": '◔ ◡ ◔">ℹ️ 도움말',
|
"ct_ttips": '◔ ◡ ◔">ℹ️ 도움말',
|
||||||
"ct_thumb": '그리드 보기에서 아이콘 또는 미리보기 이미지 전환$N단축키: T">🖼️ 미리보기',
|
"ct_thumb": '아이콘 또는 미리보기 이미지 전환$N단축키: T">🖼️ 미리보기',
|
||||||
"ct_csel": '그리드 보기에서 CTRL과 SHIFT를 사용하여 파일 선택">선택',
|
"ct_csel": '그리드 보기에서 CTRL과 SHIFT를 사용하여 파일 선택">선택',
|
||||||
"ct_dsel": '그리드 보기에서 드래그 선택 사용">드래그', //m
|
"ct_dsel": '그리드 보기에서 드래그 선택 사용">드래그', //m
|
||||||
"ct_dl": '파일을 클릭하면 다운로드를 강제로 수행 (인라인으로 표시하지 않음)">dl', //m
|
"ct_dl": '파일을 클릭하면 다운로드를 강제로 수행 (인라인으로 표시하지 않음)">dl', //m
|
||||||
|
|
@ -288,9 +288,9 @@ Ls.kor = {
|
||||||
"ml_drc": "다이내믹 레인지 압축기",
|
"ml_drc": "다이내믹 레인지 압축기",
|
||||||
"ml_ss": "무음 건너뛰기", //m
|
"ml_ss": "무음 건너뛰기", //m
|
||||||
|
|
||||||
"mt_loop": "한 곡 반복 재생\">🔁",
|
"mt_loop": "한 곡 반복 재생",
|
||||||
"mt_one": "한 곡 재생 후 중지\">1️⃣",
|
"mt_one": "한 곡 재생 후 중지\">1️⃣",
|
||||||
"mt_shuf": "각 폴더의 곡을 무작위 재생\">🔀",
|
"mt_shuf": "각 폴더의 곡을 무작위 재생",
|
||||||
"mt_aplay": "서버에 접속한 링크에 곡 ID가 있으면 자동 재생$N$N이것을 비활성화하면 음악 재생 시 페이지 URL이 곡 ID로 업데이트되지 않아, 이 설정이 손실되고 URL이 남아있을 경우 자동 재생되는 것을 방지합니다.\">a▶",
|
"mt_aplay": "서버에 접속한 링크에 곡 ID가 있으면 자동 재생$N$N이것을 비활성화하면 음악 재생 시 페이지 URL이 곡 ID로 업데이트되지 않아, 이 설정이 손실되고 URL이 남아있을 경우 자동 재생되는 것을 방지합니다.\">a▶",
|
||||||
"mt_preload": "끊김 없는 재생을 위해 다음 곡을 미리 불러오기 시작\">미리로드",
|
"mt_preload": "끊김 없는 재생을 위해 다음 곡을 미리 불러오기 시작\">미리로드",
|
||||||
"mt_prescan": "마지막 곡이 끝나기 전에 다음 폴더로 이동하여$N웹브라우저가 재생을 멈추지 않도록 합니다.\">탐색",
|
"mt_prescan": "마지막 곡이 끝나기 전에 다음 폴더로 이동하여$N웹브라우저가 재생을 멈추지 않도록 합니다.\">탐색",
|
||||||
|
|
@ -305,7 +305,7 @@ Ls.kor = {
|
||||||
"mt_follow": "재생 중인 트랙이 보이도록 스크롤 유지\">🎯",
|
"mt_follow": "재생 중인 트랙이 보이도록 스크롤 유지\">🎯",
|
||||||
"mt_compact": "컴팩트 컨트롤\">⟎",
|
"mt_compact": "컴팩트 컨트롤\">⟎",
|
||||||
"mt_uncache": "캐시 지우기 (브라우저가 곡의 깨진 사본을 캐시하여$N재생이 안되는 경우 시도해보세요)\">캐시삭제",
|
"mt_uncache": "캐시 지우기 (브라우저가 곡의 깨진 사본을 캐시하여$N재생이 안되는 경우 시도해보세요)\">캐시삭제",
|
||||||
"mt_mloop": "열린 폴더 반복\">🔁 반복",
|
"mt_mloop": "열린 폴더 반복",
|
||||||
"mt_mnext": "다음 폴더 불러오고 계속\">📂 다음",
|
"mt_mnext": "다음 폴더 불러오고 계속\">📂 다음",
|
||||||
"mt_mstop": "재생 중지\">⏸ 중지",
|
"mt_mstop": "재생 중지\">⏸ 중지",
|
||||||
"mt_cflac": "flac/wav를 {0}로 변환\">flac",
|
"mt_cflac": "flac/wav를 {0}로 변환\">flac",
|
||||||
|
|
|
||||||
|
|
@ -5,7 +5,7 @@ Ls.nld = {
|
||||||
"tt": "Nederlands",
|
"tt": "Nederlands",
|
||||||
|
|
||||||
"cols": {
|
"cols": {
|
||||||
"c": "Action knoppen",
|
"!": "Action knoppen",
|
||||||
"dur": "Duratie",
|
"dur": "Duratie",
|
||||||
"q": "Kwaliteit / bitrate",
|
"q": "Kwaliteit / bitrate",
|
||||||
"Ac": "Audio codec",
|
"Ac": "Audio codec",
|
||||||
|
|
@ -14,7 +14,7 @@ Ls.nld = {
|
||||||
"Ahash": "Audio checksum",
|
"Ahash": "Audio checksum",
|
||||||
"Vhash": "Video checksum",
|
"Vhash": "Video checksum",
|
||||||
"Res": "Resolution",
|
"Res": "Resolution",
|
||||||
"T": "Bestandstype",
|
"Ext": "Bestandstype",
|
||||||
"aq": "Audio kwaliteit / bitrate",
|
"aq": "Audio kwaliteit / bitrate",
|
||||||
"vq": "Video kwaliteit / bitrate",
|
"vq": "Video kwaliteit / bitrate",
|
||||||
"pixfmt": "Subsampling / pixel structure",
|
"pixfmt": "Subsampling / pixel structure",
|
||||||
|
|
@ -33,7 +33,7 @@ Ls.nld = {
|
||||||
["G", "Verwissel tussen list / grid weergave"],
|
["G", "Verwissel tussen list / grid weergave"],
|
||||||
["T", "Verwissel tussen miniaturen / iconen"],
|
["T", "Verwissel tussen miniaturen / iconen"],
|
||||||
["⇧ A/D", "Thumbnail formaat"],
|
["⇧ A/D", "Thumbnail formaat"],
|
||||||
["ctrl-K", "Verwijder geselecteerde"],
|
["ctrl-K/Del", "Verwijder geselecteerde"],
|
||||||
["ctrl-X", "Knip selectie naar klembord"],
|
["ctrl-X", "Knip selectie naar klembord"],
|
||||||
["ctrl-C", "Kopieer selectie naar klembord"],
|
["ctrl-C", "Kopieer selectie naar klembord"],
|
||||||
["ctrl-V", "Hier plakken (verplaatsen/kopieëren)"],
|
["ctrl-V", "Hier plakken (verplaatsen/kopieëren)"],
|
||||||
|
|
@ -107,9 +107,9 @@ Ls.nld = {
|
||||||
"ht_and": " en ",
|
"ht_and": " en ",
|
||||||
|
|
||||||
"goh": "Beheer-paneel",
|
"goh": "Beheer-paneel",
|
||||||
"gop": 'Vorige map">Vorige',
|
"gop": 'Vorige map',
|
||||||
"gou": 'Bovenligende map">Omhoog',
|
"gou": 'Bovenligende map',
|
||||||
"gon": 'Volgende map">Volgende',
|
"gon": 'Volgende map',
|
||||||
"logout": "Uitloggen ",
|
"logout": "Uitloggen ",
|
||||||
"login": "Inloggen", //m
|
"login": "Inloggen", //m
|
||||||
"access": " Toegang",
|
"access": " Toegang",
|
||||||
|
|
@ -157,7 +157,7 @@ Ls.nld = {
|
||||||
"ut_u2ts": "Kopieer de laatste-gewijzigde tijdstamp$Nvan je bestandsysteem naar de server\">📅",
|
"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_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_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_ask": 'Vraag voor bevestiging voordat het uploaden start',
|
||||||
"ut_pot": "Verbeter de uploadsnelheid voor langzame apparaten$Ndoor de interface minder complex te maken",
|
"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_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",
|
"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",
|
||||||
|
|
@ -225,7 +225,7 @@ Ls.nld = {
|
||||||
|
|
||||||
"ct_grid": '田 grid',
|
"ct_grid": '田 grid',
|
||||||
"ct_ttips": '◔ ◡ ◔">ℹ️ tooltips',
|
"ct_ttips": '◔ ◡ ◔">ℹ️ tooltips',
|
||||||
"ct_thumb": 'In grid-overzicht, wissel tussen iconen of thumbnails$NHotkey: T">🖼️ thumbs',
|
"ct_thumb": 'wissel tussen iconen of thumbnails$NHotkey: T">🖼️ thumbs',
|
||||||
"ct_csel": 'Gebruik CTRL en SHIFT voor de bestand selectie in grid-overzicht>sel',
|
"ct_csel": 'Gebruik CTRL en SHIFT voor de bestand selectie in grid-overzicht>sel',
|
||||||
"ct_dsel": 'Gebruik slepen om te selecteren in grid-overzicht>slepen', //m
|
"ct_dsel": 'Gebruik slepen om te selecteren in grid-overzicht>slepen', //m
|
||||||
"ct_dl": 'download afdwingen (niet inline weergeven) wanneer op een bestand wordt geklikt">dl', //m
|
"ct_dl": 'download afdwingen (niet inline weergeven) wanneer op een bestand wordt geklikt">dl', //m
|
||||||
|
|
@ -288,9 +288,9 @@ Ls.nld = {
|
||||||
"ml_drc": "Dynamisch bereikcompressor",
|
"ml_drc": "Dynamisch bereikcompressor",
|
||||||
"ml_ss": "Stiltes overslaan", //m
|
"ml_ss": "Stiltes overslaan", //m
|
||||||
|
|
||||||
"mt_loop": "Loop/herhaal een nummer\">🔁",
|
"mt_loop": "Loop/herhaal een nummer",
|
||||||
"mt_one": "Stop na een nummer\">1️⃣",
|
"mt_one": "Stop na een nummer\">1️⃣",
|
||||||
"mt_shuf": "Shuffle alle muziek in alle mappen\">🔀",
|
"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_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_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_prescan": "Ga naar de volgende map voordat de laatste nummer eindigd$NMaakt de webbrower blij$NZo het afspelen van muziek niet gestopt word\">nav",
|
||||||
|
|
@ -305,7 +305,7 @@ Ls.nld = {
|
||||||
"mt_follow": "Het afgespeelde nummer in beeld houden\">🎯",
|
"mt_follow": "Het afgespeelde nummer in beeld houden\">🎯",
|
||||||
"mt_compact": "Compacte bedieningselementen\">⟎",
|
"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_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_mloop": "De open map herhalen",
|
||||||
"mt_mnext": "Laad de volgende map en ga verder\">📂 next",
|
"mt_mnext": "Laad de volgende map en ga verder\">📂 next",
|
||||||
"mt_mstop": "Stoppen met afspelen\">⏸ stop",
|
"mt_mstop": "Stoppen met afspelen\">⏸ stop",
|
||||||
"mt_cflac": "flac / wav omzetten naar {0}\">flac",
|
"mt_cflac": "flac / wav omzetten naar {0}\">flac",
|
||||||
|
|
|
||||||
|
|
@ -2,7 +2,7 @@ Ls.nno = {
|
||||||
"tt": "Nynorsk",
|
"tt": "Nynorsk",
|
||||||
|
|
||||||
"cols": {
|
"cols": {
|
||||||
"c": "handlingsknappar",
|
"!": "handlingsknappar",
|
||||||
"dur": "varigheit",
|
"dur": "varigheit",
|
||||||
"q": "kvalitet / bitrate",
|
"q": "kvalitet / bitrate",
|
||||||
"Ac": "lydformat",
|
"Ac": "lydformat",
|
||||||
|
|
@ -11,7 +11,7 @@ Ls.nno = {
|
||||||
"Ahash": "lydkontrollsum",
|
"Ahash": "lydkontrollsum",
|
||||||
"Vhash": "videokontrollsum",
|
"Vhash": "videokontrollsum",
|
||||||
"Res": "oppløysing",
|
"Res": "oppløysing",
|
||||||
"T": "filtype",
|
"Ext": "filtype",
|
||||||
"aq": "lydkvalitet / bitrate",
|
"aq": "lydkvalitet / bitrate",
|
||||||
"vq": "videokvalitet / bitrate",
|
"vq": "videokvalitet / bitrate",
|
||||||
"pixfmt": "fargekoding / detaljnivå",
|
"pixfmt": "fargekoding / detaljnivå",
|
||||||
|
|
@ -30,7 +30,7 @@ Ls.nno = {
|
||||||
["G", "listevisning eller ikon"],
|
["G", "listevisning eller ikon"],
|
||||||
["T", "miniatyrbilder på/av"],
|
["T", "miniatyrbilder på/av"],
|
||||||
["⇧ A/D", "ikonstorleik"],
|
["⇧ A/D", "ikonstorleik"],
|
||||||
["ctrl-K", "slett valde"],
|
["ctrl-K/Del", "slett valde"],
|
||||||
["ctrl-X", "klipp ut valde"],
|
["ctrl-X", "klipp ut valde"],
|
||||||
["ctrl-C", "kopiér åt utklippstavle"],
|
["ctrl-C", "kopiér åt utklippstavle"],
|
||||||
["ctrl-V", "lim inn (flytt/kopiér)"],
|
["ctrl-V", "lim inn (flytt/kopiér)"],
|
||||||
|
|
@ -104,9 +104,9 @@ Ls.nno = {
|
||||||
"ht_and": " og ",
|
"ht_and": " og ",
|
||||||
|
|
||||||
"goh": "kontrollpanel",
|
"goh": "kontrollpanel",
|
||||||
"gop": 'navigér åt mappa før den her">forr.',
|
"gop": 'navigér åt mappa før den her',
|
||||||
"gou": 'navigér eitt nivå opp">opp',
|
"gou": 'navigér eitt nivå opp',
|
||||||
"gon": 'navigér åt mappa etter den her">neste',
|
"gon": 'navigér åt mappa etter den her',
|
||||||
"logout": "Logg ut ",
|
"logout": "Logg ut ",
|
||||||
"login": "Logg inn",
|
"login": "Logg inn",
|
||||||
"access": " åtgang",
|
"access": " åtgang",
|
||||||
|
|
@ -154,7 +154,7 @@ Ls.nno = {
|
||||||
"ut_u2ts": "gje fila på serveren same$Ntidsstempel som lokalt hos deg\">📅",
|
"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_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_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_ask": 'bekreft filutvalg før opplasting startar',
|
||||||
"ut_pot": "forbetre ytinga på treige einheiter ved å$Nforenkle brukergrensesnittet",
|
"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_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",
|
"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",
|
||||||
|
|
@ -285,9 +285,9 @@ Ls.nno = {
|
||||||
"ml_drc": "compressor (volumutjevning)",
|
"ml_drc": "compressor (volumutjevning)",
|
||||||
"ml_ss": "spol forbi stillheit",
|
"ml_ss": "spol forbi stillheit",
|
||||||
|
|
||||||
"mt_loop": "spel den same songen om og om igjen\">🔁",
|
"mt_loop": "spel den same songen om og om igjen",
|
||||||
"mt_one": "spel kun éin song\">1️⃣",
|
"mt_one": "spel kun éin song\">1️⃣",
|
||||||
"mt_shuf": "songane i kvar mappe$Nspelast i tilfeldig rekkefølge\">🔀",
|
"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_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_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_prescan": "ved behov, bla åt neste mappe$Nslik at nettlesaren lar oss$Nfortsetja å spele musikk\">bla",
|
||||||
|
|
@ -302,7 +302,7 @@ Ls.nno = {
|
||||||
"mt_follow": "bla slik at songen som spelast alltid er synleg\">🎯",
|
"mt_follow": "bla slik at songen som spelast alltid er synleg\">🎯",
|
||||||
"mt_compact": "tettpakka spelarpanel\">⟎",
|
"mt_compact": "tettpakka spelarpanel\">⟎",
|
||||||
"mt_uncache": "prøv denne viss ein song ikkje spelar riktig\">oppfrisk",
|
"mt_uncache": "prøv denne viss ein song ikkje spelar riktig\">oppfrisk",
|
||||||
"mt_mloop": "repetér heile mappa\">🔁 gjenta",
|
"mt_mloop": "repetér heile mappa",
|
||||||
"mt_mnext": "hopp åt neste mappe og fortsett\">📂 neste",
|
"mt_mnext": "hopp åt neste mappe og fortsett\">📂 neste",
|
||||||
"mt_mstop": "stopp avspeling\">⏸ stopp",
|
"mt_mstop": "stopp avspeling\">⏸ stopp",
|
||||||
"mt_cflac": "konvertér flac / wav-filer åt {0}\">flac",
|
"mt_cflac": "konvertér flac / wav-filer åt {0}\">flac",
|
||||||
|
|
|
||||||
|
|
@ -2,7 +2,7 @@ Ls.nor = {
|
||||||
"tt": "Norsk",
|
"tt": "Norsk",
|
||||||
|
|
||||||
"cols": {
|
"cols": {
|
||||||
"c": "handlingsknapper",
|
"!": "handlingsknapper",
|
||||||
"dur": "varighet",
|
"dur": "varighet",
|
||||||
"q": "kvalitet / bitrate",
|
"q": "kvalitet / bitrate",
|
||||||
"Ac": "lyd-format",
|
"Ac": "lyd-format",
|
||||||
|
|
@ -11,7 +11,7 @@ Ls.nor = {
|
||||||
"Ahash": "lyd-kontrollsum",
|
"Ahash": "lyd-kontrollsum",
|
||||||
"Vhash": "video-kontrollsum",
|
"Vhash": "video-kontrollsum",
|
||||||
"Res": "oppløsning",
|
"Res": "oppløsning",
|
||||||
"T": "filtype",
|
"Ext": "filtype",
|
||||||
"aq": "lydkvalitet / bitrate",
|
"aq": "lydkvalitet / bitrate",
|
||||||
"vq": "videokvalitet / bitrate",
|
"vq": "videokvalitet / bitrate",
|
||||||
"pixfmt": "fargekoding / detaljenivå",
|
"pixfmt": "fargekoding / detaljenivå",
|
||||||
|
|
@ -30,7 +30,7 @@ Ls.nor = {
|
||||||
["G", "listevisning eller ikoner"],
|
["G", "listevisning eller ikoner"],
|
||||||
["T", "miniatyrbilder på/av"],
|
["T", "miniatyrbilder på/av"],
|
||||||
["⇧ A/D", "ikonstørrelse"],
|
["⇧ A/D", "ikonstørrelse"],
|
||||||
["ctrl-K", "slett valgte"],
|
["ctrl-K/Del", "slett valgte"],
|
||||||
["ctrl-X", "klipp ut valgte"],
|
["ctrl-X", "klipp ut valgte"],
|
||||||
["ctrl-C", "kopiér til utklippstavle"],
|
["ctrl-C", "kopiér til utklippstavle"],
|
||||||
["ctrl-V", "lim inn (flytt/kopiér)"],
|
["ctrl-V", "lim inn (flytt/kopiér)"],
|
||||||
|
|
@ -104,9 +104,9 @@ Ls.nor = {
|
||||||
"ht_and": " og ",
|
"ht_and": " og ",
|
||||||
|
|
||||||
"goh": "kontrollpanel",
|
"goh": "kontrollpanel",
|
||||||
"gop": 'naviger til mappen før denne">forr.',
|
"gop": 'naviger til mappen før denne',
|
||||||
"gou": 'naviger ett nivå opp">opp',
|
"gou": 'naviger ett nivå opp',
|
||||||
"gon": 'naviger til mappen etter denne">neste',
|
"gon": 'naviger til mappen etter denne',
|
||||||
"logout": "Logg ut ",
|
"logout": "Logg ut ",
|
||||||
"login": "Logg inn",
|
"login": "Logg inn",
|
||||||
"access": " tilgang",
|
"access": " tilgang",
|
||||||
|
|
@ -154,7 +154,7 @@ Ls.nor = {
|
||||||
"ut_u2ts": "gi filen på serveren samme$Ntidsstempel som lokalt hos deg\">📅",
|
"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_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_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_ask": 'bekreft filutvalg før opplastning starter',
|
||||||
"ut_pot": "forbedre ytelsen på trege enheter ved å$Nforenkle brukergrensesnittet",
|
"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_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",
|
"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",
|
||||||
|
|
@ -222,7 +222,7 @@ Ls.nor = {
|
||||||
|
|
||||||
"ct_grid": '田 ikoner',
|
"ct_grid": '田 ikoner',
|
||||||
"ct_ttips": 'vis hjelpetekst ved å holde musen over ting">ℹ️ tips',
|
"ct_ttips": 'vis hjelpetekst ved å holde musen over ting">ℹ️ tips',
|
||||||
"ct_thumb": 'vis miniatyrbilder istedenfor ikoner$NSnarvei: T">🖼️ bilder',
|
"ct_thumb": 'vis miniatyrbilder isteden for ikoner$NSnarvei: T">🖼️ bilder',
|
||||||
"ct_csel": 'bruk tastene CTRL og SHIFT for markering av filer i ikonvisning">merk',
|
"ct_csel": 'bruk tastene CTRL og SHIFT for markering av filer i ikonvisning">merk',
|
||||||
"ct_dsel": 'marker filer med klikk-og-dra i ikonvisning">dsel',
|
"ct_dsel": 'marker filer med klikk-og-dra i ikonvisning">dsel',
|
||||||
"ct_dl": 'last ned filer (ikke vis i nettleseren)">dl',
|
"ct_dl": 'last ned filer (ikke vis i nettleseren)">dl',
|
||||||
|
|
@ -285,9 +285,9 @@ Ls.nor = {
|
||||||
"ml_drc": "compressor (volum-utjevning)",
|
"ml_drc": "compressor (volum-utjevning)",
|
||||||
"ml_ss": "spol forbi stillhet",
|
"ml_ss": "spol forbi stillhet",
|
||||||
|
|
||||||
"mt_loop": "spill den samme sangen om og om igjen\">🔁",
|
"mt_loop": "spill den samme sangen om og om igjen",
|
||||||
"mt_one": "spill kun én sang\">1️⃣",
|
"mt_one": "spill kun én sang\">1️⃣",
|
||||||
"mt_shuf": "sangene i hver mappe$Nspilles i tilfeldig rekkefølge\">🔀",
|
"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_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_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_prescan": "ved behov, bla til neste mappe$Nslik at nettleseren lar oss$Nfortsette å spille musikk\">bla",
|
||||||
|
|
@ -302,7 +302,7 @@ Ls.nor = {
|
||||||
"mt_follow": "bla slik at sangen som spilles alltid er synlig\">🎯",
|
"mt_follow": "bla slik at sangen som spilles alltid er synlig\">🎯",
|
||||||
"mt_compact": "tettpakket avspillerpanel\">⟎",
|
"mt_compact": "tettpakket avspillerpanel\">⟎",
|
||||||
"mt_uncache": "prøv denne hvis en sang ikke spiller riktig\">oppfrisk",
|
"mt_uncache": "prøv denne hvis en sang ikke spiller riktig\">oppfrisk",
|
||||||
"mt_mloop": "repeter hele mappen\">🔁 gjenta",
|
"mt_mloop": "repeter hele mappen",
|
||||||
"mt_mnext": "hopp til neste mappe og fortsett\">📂 neste",
|
"mt_mnext": "hopp til neste mappe og fortsett\">📂 neste",
|
||||||
"mt_mstop": "stopp avspilling\">⏸ stopp",
|
"mt_mstop": "stopp avspilling\">⏸ stopp",
|
||||||
"mt_cflac": "konverter flac / wav-filer til {0}\">flac",
|
"mt_cflac": "konverter flac / wav-filer til {0}\">flac",
|
||||||
|
|
|
||||||
|
|
@ -5,7 +5,7 @@ Ls.pol = {
|
||||||
"tt": "Polski",
|
"tt": "Polski",
|
||||||
|
|
||||||
"cols": {
|
"cols": {
|
||||||
"c": "przyciski akcji",
|
"!": "przyciski akcji",
|
||||||
"dur": "czas trwania",
|
"dur": "czas trwania",
|
||||||
"q": "jakość / bitrate",
|
"q": "jakość / bitrate",
|
||||||
"Ac": "kodek audio",
|
"Ac": "kodek audio",
|
||||||
|
|
@ -14,7 +14,7 @@ Ls.pol = {
|
||||||
"Ahash": "suma kontrolna audio",
|
"Ahash": "suma kontrolna audio",
|
||||||
"Vhash": "suma kontrolna wideo",
|
"Vhash": "suma kontrolna wideo",
|
||||||
"Res": "rozdzielczość",
|
"Res": "rozdzielczość",
|
||||||
"T": "rodzaj pliku",
|
"Ext": "rodzaj pliku",
|
||||||
"aq": "jakość / bitrate audio",
|
"aq": "jakość / bitrate audio",
|
||||||
"vq": "jakość / bitrate wideo",
|
"vq": "jakość / bitrate wideo",
|
||||||
"pixfmt": "podpróbkowanie / struktura pikseli",
|
"pixfmt": "podpróbkowanie / struktura pikseli",
|
||||||
|
|
@ -33,7 +33,7 @@ Ls.pol = {
|
||||||
["G", "przełącz widok lista / siatka"],
|
["G", "przełącz widok lista / siatka"],
|
||||||
["T", "przełącz miniaturki / ikony"],
|
["T", "przełącz miniaturki / ikony"],
|
||||||
["⇧ A/D", "wielkość miniaturki"],
|
["⇧ A/D", "wielkość miniaturki"],
|
||||||
["ctrl-K", "usuń zaznaczone"],
|
["ctrl-K/Del", "usuń zaznaczone"],
|
||||||
["ctrl-X", "wytnij zaznaczone do schowka"],
|
["ctrl-X", "wytnij zaznaczone do schowka"],
|
||||||
["ctrl-C", "skopiuj zaznaczone do schowka"],
|
["ctrl-C", "skopiuj zaznaczone do schowka"],
|
||||||
["ctrl-V", "wklej (przenieś/skopiuj) tutaj"],
|
["ctrl-V", "wklej (przenieś/skopiuj) tutaj"],
|
||||||
|
|
@ -110,9 +110,9 @@ Ls.pol = {
|
||||||
"ht_and": " i ",
|
"ht_and": " i ",
|
||||||
|
|
||||||
"goh": "panel sterowania",
|
"goh": "panel sterowania",
|
||||||
"gop": 'poprzedni plik/folder">poprzedni',
|
"gop": 'poprzedni plik/folder',
|
||||||
"gou": 'nadrzędny folder">w górę',
|
"gou": 'nadrzędny folder',
|
||||||
"gon": 'następny folder">następny',
|
"gon": 'następny folder',
|
||||||
"logout": "Wyloguj ",
|
"logout": "Wyloguj ",
|
||||||
"login": "Zaloguj się", //m
|
"login": "Zaloguj się", //m
|
||||||
"access": " dostęp",
|
"access": " dostęp",
|
||||||
|
|
@ -160,7 +160,7 @@ Ls.pol = {
|
||||||
"ut_u2ts": "kopiuj znacznik ostatniej modyfikacji$Nz twojego systemu plików na serwer\">📅",
|
"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_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_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_ask": 'pytaj o potwierdzenie rozpoczęcia przesyłania',
|
||||||
"ut_pot": "przyspiesz przesyłanie na słabszych urządzeniach,$Nupraszczając interfejs",
|
"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_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",
|
"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",
|
||||||
|
|
@ -228,7 +228,7 @@ Ls.pol = {
|
||||||
|
|
||||||
"ct_grid": '田 siatka',
|
"ct_grid": '田 siatka',
|
||||||
"ct_ttips": '◔ ◡ ◔">ℹ️ podpowiedzi',
|
"ct_ttips": '◔ ◡ ◔">ℹ️ podpowiedzi',
|
||||||
"ct_thumb": 'w widoku siatki, przełącz ikony i miniaturki$NSkrót: T">🖼️ miniaturki',
|
"ct_thumb": '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_csel": 'użyj CTRL i SHIFT do wybierania plików w widoku siatki">wybierz',
|
||||||
"ct_dsel": 'użyj zaznaczania przez przeciąganie w widoku siatki">przeciągnij', //m
|
"ct_dsel": 'użyj zaznaczania przez przeciąganie w widoku siatki">przeciągnij', //m
|
||||||
"ct_dl": 'wymuś pobieranie (nie wyświetlaj inline) po kliknięciu pliku">dl', //m
|
"ct_dl": 'wymuś pobieranie (nie wyświetlaj inline) po kliknięciu pliku">dl', //m
|
||||||
|
|
@ -291,9 +291,9 @@ Ls.pol = {
|
||||||
"ml_drc": "kompresor zasięgu dynamiki",
|
"ml_drc": "kompresor zasięgu dynamiki",
|
||||||
"ml_ss": "pomijaj ciszę", //m
|
"ml_ss": "pomijaj ciszę", //m
|
||||||
|
|
||||||
"mt_loop": "pętla/powtarzaj jeden utwór\">🔁",
|
"mt_loop": "pętla/powtarzaj jeden utwór",
|
||||||
"mt_one": "zatrzymaj po jednym utworze\">1️⃣",
|
"mt_one": "zatrzymaj po jednym utworze\">1️⃣",
|
||||||
"mt_shuf": "odtwarzaj losowo w każdym folderze\">🔀",
|
"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_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_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_prescan": "przechodzi do następnego folderu przed zakończeniem ostatniego utworu,$Naby udobruchać przeglądarkę,$Nżeby nie zatrzymała odtwarzania\">naw",
|
||||||
|
|
@ -308,7 +308,7 @@ Ls.pol = {
|
||||||
"mt_follow": "podążaj za odtwarzanym utworem przewijając widok\">🎯",
|
"mt_follow": "podążaj za odtwarzanym utworem przewijając widok\">🎯",
|
||||||
"mt_compact": "kompaktowe sterowanie\">⟎",
|
"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_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_mloop": "odtwarzaj utwory w folderze w pętli",
|
||||||
"mt_mnext": "wczytaj następny folder i kontynuuj\">📂 next",
|
"mt_mnext": "wczytaj następny folder i kontynuuj\">📂 next",
|
||||||
"mt_mstop": "zatrzymaj odtwarzanie\">⏸ stop",
|
"mt_mstop": "zatrzymaj odtwarzanie\">⏸ stop",
|
||||||
"mt_cflac": "przekonwertuj format flac / wav na {0}\">flac",
|
"mt_cflac": "przekonwertuj format flac / wav na {0}\">flac",
|
||||||
|
|
|
||||||
|
|
@ -5,7 +5,7 @@ Ls.por = {
|
||||||
"tt": "Português",
|
"tt": "Português",
|
||||||
|
|
||||||
"cols": {
|
"cols": {
|
||||||
"c": "botões de ação",
|
"!": "botões de ação",
|
||||||
"dur": "duração",
|
"dur": "duração",
|
||||||
"q": "qualidade / bitrate",
|
"q": "qualidade / bitrate",
|
||||||
"Ac": "codec de áudio",
|
"Ac": "codec de áudio",
|
||||||
|
|
@ -14,7 +14,7 @@ Ls.por = {
|
||||||
"Ahash": "checksum de áudio",
|
"Ahash": "checksum de áudio",
|
||||||
"Vhash": "checksum de vídeo",
|
"Vhash": "checksum de vídeo",
|
||||||
"Res": "resolução",
|
"Res": "resolução",
|
||||||
"T": "tipo de arquivo",
|
"Ext": "tipo de arquivo",
|
||||||
"aq": "qualidade / bitrate de áudio",
|
"aq": "qualidade / bitrate de áudio",
|
||||||
"vq": "qualidade / bitrate de vídeo",
|
"vq": "qualidade / bitrate de vídeo",
|
||||||
"pixfmt": "subamostragem / estrutura de pixel",
|
"pixfmt": "subamostragem / estrutura de pixel",
|
||||||
|
|
@ -33,7 +33,7 @@ Ls.por = {
|
||||||
["G", "alternar entre visualização de lista / grade"],
|
["G", "alternar entre visualização de lista / grade"],
|
||||||
["T", "alternar entre miniaturas / ícones"],
|
["T", "alternar entre miniaturas / ícones"],
|
||||||
["⇧ A/D", "tamanho da miniatura"],
|
["⇧ A/D", "tamanho da miniatura"],
|
||||||
["ctrl-K", "excluir selecionados"],
|
["ctrl-K/Del", "excluir selecionados"],
|
||||||
["ctrl-X", "recortar seleção para a área de transferência"],
|
["ctrl-X", "recortar seleção para a área de transferência"],
|
||||||
["ctrl-C", "copiar 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"],
|
["ctrl-V", "colar (mover/copiar) aqui"],
|
||||||
|
|
@ -107,9 +107,9 @@ Ls.por = {
|
||||||
"ht_and": " e ",
|
"ht_and": " e ",
|
||||||
|
|
||||||
"goh": "painel de controle",
|
"goh": "painel de controle",
|
||||||
"gop": 'pai anterior">anterior',
|
"gop": 'pai anterior',
|
||||||
"gou": 'pasta pai">acima',
|
"gou": 'pasta pai',
|
||||||
"gon": 'próxima pasta">próximo',
|
"gon": 'próxima pasta',
|
||||||
"logout": "Sair ",
|
"logout": "Sair ",
|
||||||
"login": "Fazer login",
|
"login": "Fazer login",
|
||||||
"access": " acesso",
|
"access": " acesso",
|
||||||
|
|
@ -157,7 +157,7 @@ Ls.por = {
|
||||||
"ut_u2ts": "copiar o carimbo de data/hora de última modificação$Ndo seu sistema de arquivos para o servidor\">📅",
|
"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",
|
"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",
|
||||||
"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_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_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_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_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",
|
"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",
|
||||||
|
|
@ -225,7 +225,7 @@ Ls.por = {
|
||||||
|
|
||||||
"ct_grid": '田 a grade',
|
"ct_grid": '田 a grade',
|
||||||
"ct_ttips": '◔ ◡ ◔">ℹ️ dicas de ferramentas',
|
"ct_ttips": '◔ ◡ ◔">ℹ️ dicas de ferramentas',
|
||||||
"ct_thumb": 'na visualização de grade, alternar entre ícones ou miniaturas$NHotkey: T">🖼️ miniaturas',
|
"ct_thumb": '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_csel": 'usar CTRL e SHIFT para seleção de arquivo na visualização de grade">sel',
|
||||||
"ct_dsel": 'usar seleção por arrasto na visualização de grade">arrastar',
|
"ct_dsel": 'usar seleção por arrasto na visualização de grade">arrastar',
|
||||||
"ct_dl": 'forçar download (não exibir na página) ao clicar em um arquivo">dl',
|
"ct_dl": 'forçar download (não exibir na página) ao clicar em um arquivo">dl',
|
||||||
|
|
@ -288,9 +288,9 @@ Ls.por = {
|
||||||
"ml_drc": "compressor de faixa dinâmica",
|
"ml_drc": "compressor de faixa dinâmica",
|
||||||
"ml_ss": "ignorar silêncio", //m
|
"ml_ss": "ignorar silêncio", //m
|
||||||
|
|
||||||
"mt_loop": "loop/repetir uma música\">🔁",
|
"mt_loop": "loop/repetir uma música",
|
||||||
"mt_one": "parar depois de uma música\">1️⃣",
|
"mt_one": "parar depois de uma música\">1️⃣",
|
||||||
"mt_shuf": "embaralhar as músicas em cada pasta\">🔀",
|
"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_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_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_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",
|
||||||
|
|
@ -305,7 +305,7 @@ Ls.por = {
|
||||||
"mt_follow": "manter a faixa que está tocando rolando à vista\">🎯",
|
"mt_follow": "manter a faixa que está tocando rolando à vista\">🎯",
|
||||||
"mt_compact": "controles compactos\">⟎",
|
"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_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_mloop": "loop na pasta aberta",
|
||||||
"mt_mnext": "carregar a próxima pasta e continuar\">📂 próximo",
|
"mt_mnext": "carregar a próxima pasta e continuar\">📂 próximo",
|
||||||
"mt_mstop": "parar reprodução\">⏸ parar",
|
"mt_mstop": "parar reprodução\">⏸ parar",
|
||||||
"mt_cflac": "converter flac / wav para {0}\">flac",
|
"mt_cflac": "converter flac / wav para {0}\">flac",
|
||||||
|
|
|
||||||
|
|
@ -5,7 +5,7 @@ Ls.rus = {
|
||||||
"tt": "Русский",
|
"tt": "Русский",
|
||||||
|
|
||||||
"cols": {
|
"cols": {
|
||||||
"c": "кнопки действий",
|
"!": "кнопки действий",
|
||||||
"dur": "длительность",
|
"dur": "длительность",
|
||||||
"q": "качество / битрейт",
|
"q": "качество / битрейт",
|
||||||
"Ac": "аудио кодек",
|
"Ac": "аудио кодек",
|
||||||
|
|
@ -14,7 +14,7 @@ Ls.rus = {
|
||||||
"Ahash": "контрольная сумма аудио",
|
"Ahash": "контрольная сумма аудио",
|
||||||
"Vhash": "контрольная сумма видео",
|
"Vhash": "контрольная сумма видео",
|
||||||
"Res": "разрешение",
|
"Res": "разрешение",
|
||||||
"T": "тип файла",
|
"Ext": "тип файла",
|
||||||
"aq": "качество аудио / битрейт",
|
"aq": "качество аудио / битрейт",
|
||||||
"vq": "качество видео / битрейт",
|
"vq": "качество видео / битрейт",
|
||||||
"pixfmt": "сабсемплинг / пиксельный формат",
|
"pixfmt": "сабсемплинг / пиксельный формат",
|
||||||
|
|
@ -33,7 +33,7 @@ Ls.rus = {
|
||||||
["G", "переключиться между списком / плиткой"],
|
["G", "переключиться между списком / плиткой"],
|
||||||
["T", "переключиться между миниатюрами / иконками"],
|
["T", "переключиться между миниатюрами / иконками"],
|
||||||
["⇧ A/D", "размер миниатюры"],
|
["⇧ A/D", "размер миниатюры"],
|
||||||
["ctrl-K", "удалить выделенное"],
|
["ctrl-K/Del", "удалить выделенное"],
|
||||||
["ctrl-X", "вырезать выделенное в буфер"],
|
["ctrl-X", "вырезать выделенное в буфер"],
|
||||||
["ctrl-C", "копировать выделенное в буфер"],
|
["ctrl-C", "копировать выделенное в буфер"],
|
||||||
["ctrl-V", "вставить (переместить/копировать) сюда"],
|
["ctrl-V", "вставить (переместить/копировать) сюда"],
|
||||||
|
|
@ -107,9 +107,9 @@ Ls.rus = {
|
||||||
"ht_and": " и ",
|
"ht_and": " и ",
|
||||||
|
|
||||||
"goh": "панель управления",
|
"goh": "панель управления",
|
||||||
"gop": 'предыдущая папка">пред',
|
"gop": 'предыдущая папка',
|
||||||
"gou": 'родительская папка">вверх',
|
"gou": 'родительская папка',
|
||||||
"gon": 'следующая папка">след',
|
"gon": 'следующая папка',
|
||||||
"logout": "Выйти ",
|
"logout": "Выйти ",
|
||||||
"login": "Войти", //m
|
"login": "Войти", //m
|
||||||
"access": " доступ",
|
"access": " доступ",
|
||||||
|
|
@ -157,7 +157,7 @@ Ls.rus = {
|
||||||
"ut_u2ts": "копировать время последнего изменения$Nиз вашей файловой системы на сервер\">📅",
|
"ut_u2ts": "копировать время последнего изменения$Nиз вашей файловой системы на сервер\">📅",
|
||||||
"ut_ow": "перезаписывать существующие файлы на сервере?$N🛡️: нет (для повторяющихся файлов будут создаваться новые имена)$N🕒: перезаписать файлы с датой изменения старее, чем у загружаемых$N♻️: всегда перезаписывать (если файлы различаются по содержанию)$N⏭️: безусловно пропускать все существующие файлы", //m
|
"ut_ow": "перезаписывать существующие файлы на сервере?$N🛡️: нет (для повторяющихся файлов будут создаваться новые имена)$N🕒: перезаписать файлы с датой изменения старее, чем у загружаемых$N♻️: всегда перезаписывать (если файлы различаются по содержанию)$N⏭️: безусловно пропускать все существующие файлы", //m
|
||||||
"ut_mt": "продолжать хешировать другие файлы во время загрузки$N$Nесть смысл отключить при медленном диске или процессоре",
|
"ut_mt": "продолжать хешировать другие файлы во время загрузки$N$Nесть смысл отключить при медленном диске или процессоре",
|
||||||
"ut_ask": 'требовать подтверждения перед началом загрузки">💭',
|
"ut_ask": 'требовать подтверждения перед началом загрузки',
|
||||||
"ut_pot": "улучшить скорость загрузки на слабых устройства$Nс помощью упрощения интерфейса",
|
"ut_pot": "улучшить скорость загрузки на слабых устройства$Nс помощью упрощения интерфейса",
|
||||||
"ut_srch": "не загружать, а проверять, существуют ли данные файлы $N на сервере (проверка всех доступных вам папок)",
|
"ut_srch": "не загружать, а проверять, существуют ли данные файлы $N на сервере (проверка всех доступных вам папок)",
|
||||||
"ut_par": "при 0 загрузка встанет на паузу$N$Nследует повысить, если ваше подключение медленное$N$Nоставьте 1, если используется локальная сеть или диск сервера медленный",
|
"ut_par": "при 0 загрузка встанет на паузу$N$Nследует повысить, если ваше подключение медленное$N$Nоставьте 1, если используется локальная сеть или диск сервера медленный",
|
||||||
|
|
@ -225,7 +225,7 @@ Ls.rus = {
|
||||||
|
|
||||||
"ct_grid": '田 сетка',
|
"ct_grid": '田 сетка',
|
||||||
"ct_ttips": '◔ ◡ ◔">ℹ️ подсказки',
|
"ct_ttips": '◔ ◡ ◔">ℹ️ подсказки',
|
||||||
"ct_thumb": 'переключение между иконками и миниатюрами в режиме сетки$NГорячая клавиша: T">🖼️ миниат.',
|
"ct_thumb": 'переключение между иконками и миниатюрами$NГорячая клавиша: T">🖼️ миниат.',
|
||||||
"ct_csel": 'держите CTRL или SHIFT для выделения файлов в режиме сетки">выбор',
|
"ct_csel": 'держите CTRL или SHIFT для выделения файлов в режиме сетки">выбор',
|
||||||
"ct_dsel": 'использовать выделение перетаскиванием в режиме сетки">перетащить', //m
|
"ct_dsel": 'использовать выделение перетаскиванием в режиме сетки">перетащить', //m
|
||||||
"ct_dl": 'принудительная загрузка (не показывать встроенно) при щелчке по файлу">dl', //m
|
"ct_dl": 'принудительная загрузка (не показывать встроенно) при щелчке по файлу">dl', //m
|
||||||
|
|
@ -288,9 +288,9 @@ Ls.rus = {
|
||||||
"ml_drc": "компрессор",
|
"ml_drc": "компрессор",
|
||||||
"ml_ss": "пропускать тишину", //m
|
"ml_ss": "пропускать тишину", //m
|
||||||
|
|
||||||
"mt_loop": "повторять один трек\">🔁",
|
"mt_loop": "повторять один трек",
|
||||||
"mt_one": "остановить после этого трека\">1️⃣",
|
"mt_one": "остановить после этого трека\">1️⃣",
|
||||||
"mt_shuf": "перемешать треки во всех папках\">🔀",
|
"mt_shuf": "перемешать треки во всех папках",
|
||||||
"mt_aplay": "автоматически играть треки по нажатии на ссылки с их ID$N$Nпри отключении адрес сайта также перестанет обновляться в соответствии с текущим треком\">a▶",
|
"mt_aplay": "автоматически играть треки по нажатии на ссылки с их ID$N$Nпри отключении адрес сайта также перестанет обновляться в соответствии с текущим треком\">a▶",
|
||||||
"mt_preload": "подгружать следующий трек перед концом текущего для бесшовного переключения\">предзагр.",
|
"mt_preload": "подгружать следующий трек перед концом текущего для бесшовного переключения\">предзагр.",
|
||||||
"mt_prescan": "переходить в следующую папку перед окончанием последнего трека$Nне даёт браузеру прервать следующий плейлист\">нав.",
|
"mt_prescan": "переходить в следующую папку перед окончанием последнего трека$Nне даёт браузеру прервать следующий плейлист\">нав.",
|
||||||
|
|
@ -305,7 +305,7 @@ Ls.rus = {
|
||||||
"mt_follow": "держать фокус на играющем треке\">🎯",
|
"mt_follow": "держать фокус на играющем треке\">🎯",
|
||||||
"mt_compact": "компактный плеер\">⟎",
|
"mt_compact": "компактный плеер\">⟎",
|
||||||
"mt_uncache": "очистить кеш (если браузер кешировал повреждённый$Nтрек и отказывается его запускать)\">уд. кеш",
|
"mt_uncache": "очистить кеш (если браузер кешировал повреждённый$Nтрек и отказывается его запускать)\">уд. кеш",
|
||||||
"mt_mloop": "повторять треки в папке\">🔁 цикл",
|
"mt_mloop": "повторять треки в папке",
|
||||||
"mt_mnext": "загрузить следующую папку и продолжить в ней\">📂 след.",
|
"mt_mnext": "загрузить следующую папку и продолжить в ней\">📂 след.",
|
||||||
"mt_mstop": "приостановить воспроизведение\">⏸ стоп",
|
"mt_mstop": "приостановить воспроизведение\">⏸ стоп",
|
||||||
"mt_cflac": "конвертировать flac / wav в {0}\">flac",
|
"mt_cflac": "конвертировать flac / wav в {0}\">flac",
|
||||||
|
|
|
||||||
|
|
@ -5,7 +5,7 @@ Ls.spa = {
|
||||||
"tt": "Español",
|
"tt": "Español",
|
||||||
|
|
||||||
"cols": {
|
"cols": {
|
||||||
"c": "acciones",
|
"!": "acciones",
|
||||||
"dur": "duración",
|
"dur": "duración",
|
||||||
"q": "calidad / bitrate",
|
"q": "calidad / bitrate",
|
||||||
"Ac": "códec de audio",
|
"Ac": "códec de audio",
|
||||||
|
|
@ -14,7 +14,7 @@ Ls.spa = {
|
||||||
"Ahash": "checksum de audio",
|
"Ahash": "checksum de audio",
|
||||||
"Vhash": "checksum de vídeo",
|
"Vhash": "checksum de vídeo",
|
||||||
"Res": "resolución",
|
"Res": "resolución",
|
||||||
"T": "tipo de archivo",
|
"Ext": "tipo de archivo",
|
||||||
"aq": "calidad de audio / bitrate",
|
"aq": "calidad de audio / bitrate",
|
||||||
"vq": "calidad de vídeo / bitrate",
|
"vq": "calidad de vídeo / bitrate",
|
||||||
"pixfmt": "submuestreo / estructura de píxel",
|
"pixfmt": "submuestreo / estructura de píxel",
|
||||||
|
|
@ -33,7 +33,7 @@ Ls.spa = {
|
||||||
["G", "alternar vista de lista / cuadrícula"],
|
["G", "alternar vista de lista / cuadrícula"],
|
||||||
["T", "alternar miniaturas / iconos"],
|
["T", "alternar miniaturas / iconos"],
|
||||||
["⇧ A/D", "tamaño de miniatura"],
|
["⇧ A/D", "tamaño de miniatura"],
|
||||||
["ctrl-K", "eliminar seleccionados"],
|
["ctrl-K/Del", "eliminar seleccionados"],
|
||||||
["ctrl-X", "cortar selección al portapapeles"],
|
["ctrl-X", "cortar selección al portapapeles"],
|
||||||
["ctrl-C", "copiar selección al portapapeles"],
|
["ctrl-C", "copiar selección al portapapeles"],
|
||||||
["ctrl-V", "pegar (mover/copiar) aquí"],
|
["ctrl-V", "pegar (mover/copiar) aquí"],
|
||||||
|
|
@ -107,9 +107,9 @@ Ls.spa = {
|
||||||
"ht_and": " y ",
|
"ht_and": " y ",
|
||||||
|
|
||||||
"goh": "panel de control",
|
"goh": "panel de control",
|
||||||
"gop": 'hermano anterior">anterior',
|
"gop": 'hermano anterior',
|
||||||
"gou": 'carpeta de nivel superior">subir',
|
"gou": 'carpeta de nivel superior',
|
||||||
"gon": 'siguiente carpeta">siguiente',
|
"gon": 'siguiente carpeta',
|
||||||
"logout": "Cerrar sesión ",
|
"logout": "Cerrar sesión ",
|
||||||
"login": "Iniciar sesión", //m
|
"login": "Iniciar sesión", //m
|
||||||
"access": " acceso",
|
"access": " acceso",
|
||||||
|
|
@ -157,7 +157,7 @@ Ls.spa = {
|
||||||
"ut_u2ts": 'copiar la fecha de última modificación$Nde tu sistema de archivos al servidor">📅',
|
"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_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_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_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_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_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",
|
"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",
|
||||||
|
|
@ -224,7 +224,7 @@ Ls.spa = {
|
||||||
|
|
||||||
"ct_grid": '田 cuadrícula',
|
"ct_grid": '田 cuadrícula',
|
||||||
"ct_ttips": '◔ ◡ ◔">ℹ️ tooltips',
|
"ct_ttips": '◔ ◡ ◔">ℹ️ tooltips',
|
||||||
"ct_thumb": 'en vista de cuadrícula, alternar iconos o miniaturas$NAtajo: T">🖼️ miniaturas',
|
"ct_thumb": 'alternar iconos o miniaturas$NAtajo: T">🖼️ miniaturas',
|
||||||
"ct_csel": 'usa CTRL y SHIFT para seleccionar archivos en la vista de cuadrícula">sel',
|
"ct_csel": 'usa CTRL y SHIFT para seleccionar archivos en la vista de cuadrícula">sel',
|
||||||
"ct_dsel": 'usa la selección por arrastre en la vista de cuadrícula">arrastrar', //m
|
"ct_dsel": 'usa la selección por arrastre en la vista de cuadrícula">arrastrar', //m
|
||||||
"ct_dl": 'forzar descarga (no mostrar en línea) al hacer clic en un archivo">dl', //m
|
"ct_dl": 'forzar descarga (no mostrar en línea) al hacer clic en un archivo">dl', //m
|
||||||
|
|
@ -287,9 +287,9 @@ Ls.spa = {
|
||||||
"ml_drc": "compresor de rango dinámico",
|
"ml_drc": "compresor de rango dinámico",
|
||||||
"ml_ss": "saltar silencios", //m
|
"ml_ss": "saltar silencios", //m
|
||||||
|
|
||||||
"mt_loop": 'poner en bucle/repetir una canción">🔁',
|
"mt_loop": 'poner en bucle/repetir una canción',
|
||||||
"mt_one": 'parar después de una canción">1️⃣',
|
"mt_one": 'parar después de una canción">1️⃣',
|
||||||
"mt_shuf": 'reproducir aleatoriamente las canciones en cada carpeta">🔀',
|
"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_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_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_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',
|
||||||
|
|
@ -304,7 +304,7 @@ Ls.spa = {
|
||||||
"mt_follow": 'mantener la pista en reproducción visible en pantalla">🎯',
|
"mt_follow": 'mantener la pista en reproducción visible en pantalla">🎯',
|
||||||
"mt_compact": 'controles compactos">⟎',
|
"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_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_mloop": 'repetir la carpeta actual',
|
||||||
"mt_mnext": 'cargar la siguiente carpeta y continuar">📂 sig',
|
"mt_mnext": 'cargar la siguiente carpeta y continuar">📂 sig',
|
||||||
"mt_mstop": 'detener reproducción">⏸ parar',
|
"mt_mstop": 'detener reproducción">⏸ parar',
|
||||||
"mt_cflac": 'convertir flac / wav a {0}">flac',
|
"mt_cflac": 'convertir flac / wav a {0}">flac',
|
||||||
|
|
|
||||||
|
|
@ -5,7 +5,7 @@ Ls.swe = {
|
||||||
"tt": "Svenska",
|
"tt": "Svenska",
|
||||||
|
|
||||||
"cols": {
|
"cols": {
|
||||||
"c": "aktion",
|
"!": "aktion",
|
||||||
"dur": "längd",
|
"dur": "längd",
|
||||||
"q": "kvalitet / bitrate",
|
"q": "kvalitet / bitrate",
|
||||||
"Ac": "ljudkodek",
|
"Ac": "ljudkodek",
|
||||||
|
|
@ -14,7 +14,7 @@ Ls.swe = {
|
||||||
"Ahash": "ljudchecksumma",
|
"Ahash": "ljudchecksumma",
|
||||||
"Vhash": "videochecksumma",
|
"Vhash": "videochecksumma",
|
||||||
"Res": "upplösning",
|
"Res": "upplösning",
|
||||||
"T": "filtyp",
|
"Ext": "filtyp",
|
||||||
"aq": "ljudkvalitet / bitrate",
|
"aq": "ljudkvalitet / bitrate",
|
||||||
"vq": "videokvalitet / bitrate",
|
"vq": "videokvalitet / bitrate",
|
||||||
"pixfmt": "subsampling / pixelstruktur",
|
"pixfmt": "subsampling / pixelstruktur",
|
||||||
|
|
@ -33,7 +33,7 @@ Ls.swe = {
|
||||||
["G", "växla mellan listvy / rutnät"],
|
["G", "växla mellan listvy / rutnät"],
|
||||||
["T", "växla mellan miniatyrer / ikoner"],
|
["T", "växla mellan miniatyrer / ikoner"],
|
||||||
["⇧ A/D", "miniatyrstorlek"],
|
["⇧ A/D", "miniatyrstorlek"],
|
||||||
["ctrl-K", "radera urval"],
|
["ctrl-K/Del", "radera urval"],
|
||||||
["ctrl-X", "klipp urval till urklipp"],
|
["ctrl-X", "klipp urval till urklipp"],
|
||||||
["ctrl-C", "kopiera urval till urklipp"],
|
["ctrl-C", "kopiera urval till urklipp"],
|
||||||
["ctrl-V", "klistra in (kopiera/flytta) hit"],
|
["ctrl-V", "klistra in (kopiera/flytta) hit"],
|
||||||
|
|
@ -107,9 +107,9 @@ Ls.swe = {
|
||||||
"ht_and": " och ",
|
"ht_and": " och ",
|
||||||
|
|
||||||
"goh": "kontrollpanel",
|
"goh": "kontrollpanel",
|
||||||
"gop": 'föregående mapp">föreg.',
|
"gop": 'föregående mapp',
|
||||||
"gou": 'överordnad mapp">upp',
|
"gou": 'överordnad mapp',
|
||||||
"gon": 'nästa mapp">nästa',
|
"gon": 'nästa mapp',
|
||||||
"logout": "Logga ut ",
|
"logout": "Logga ut ",
|
||||||
"login": "Logga in", //m
|
"login": "Logga in", //m
|
||||||
"access": "-rättighet",
|
"access": "-rättighet",
|
||||||
|
|
@ -157,7 +157,7 @@ Ls.swe = {
|
||||||
"ut_u2ts": "bevara tidsstämpeln för senaste ändring$Nfrån ditt filsystem till servern\">📅",
|
"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_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_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_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_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_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",
|
"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",
|
||||||
|
|
@ -225,7 +225,7 @@ Ls.swe = {
|
||||||
|
|
||||||
"ct_grid": '田 rutnätet',
|
"ct_grid": '田 rutnätet',
|
||||||
"ct_ttips": '◔ ◡ ◔">ℹ️ tips',
|
"ct_ttips": '◔ ◡ ◔">ℹ️ tips',
|
||||||
"ct_thumb": 'växla mellan miniatyrer och ikoner i rutnätsvyn$NSnabbtangent: T">🖼️ miniatyrer',
|
"ct_thumb": 'växla mellan miniatyrer och ikoner$NSnabbtangent: T">🖼️ miniatyrer',
|
||||||
"ct_csel": 'använd CTRL och SKIFT för urval av filer i rutnätsvyn">val',
|
"ct_csel": 'använd CTRL och SKIFT för urval av filer i rutnätsvyn">val',
|
||||||
"ct_dsel": 'använd dra-urval i rutnätsvyn">dra', //m
|
"ct_dsel": 'använd dra-urval i rutnätsvyn">dra', //m
|
||||||
"ct_dl": 'tvinga nedladdning (visa inte inline) när en fil klickas">dl', //m
|
"ct_dl": 'tvinga nedladdning (visa inte inline) när en fil klickas">dl', //m
|
||||||
|
|
@ -288,9 +288,9 @@ Ls.swe = {
|
||||||
"ml_drc": "dynamikkompressor",
|
"ml_drc": "dynamikkompressor",
|
||||||
"ml_ss": "hoppa över tystnad", //m
|
"ml_ss": "hoppa över tystnad", //m
|
||||||
|
|
||||||
"mt_loop": "upprepa en låt\">🔁",
|
"mt_loop": "upprepa en låt",
|
||||||
"mt_one": "stoppa uppspelningen efter en låt\">1️⃣",
|
"mt_one": "stoppa uppspelningen efter en låt\">1️⃣",
|
||||||
"mt_shuf": "blanda låtarna i varje mapp\">🔀",
|
"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_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_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_prescan": "hoppa till nästa mapp i förväg så att webbläsaren$Nförblir glad och inte avbryter uppspelningen\">nav",
|
||||||
|
|
@ -305,7 +305,7 @@ Ls.swe = {
|
||||||
"mt_follow": "skrolla vyn till den spelande låten\">🎯",
|
"mt_follow": "skrolla vyn till den spelande låten\">🎯",
|
||||||
"mt_compact": "kompakt kontrollpanel\">⟎",
|
"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_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_mloop": "upprepa den öppna mappen",
|
||||||
"mt_mnext": "ladda nästa mapp och fortsätt\">📂 nästa",
|
"mt_mnext": "ladda nästa mapp och fortsätt\">📂 nästa",
|
||||||
"mt_mstop": "stoppa uppspelningen\">⏸ stopp",
|
"mt_mstop": "stoppa uppspelningen\">⏸ stopp",
|
||||||
"mt_cflac": "konvertera flac / wav till {0}\">flac",
|
"mt_cflac": "konvertera flac / wav till {0}\">flac",
|
||||||
|
|
|
||||||
|
|
@ -5,7 +5,7 @@ Ls.tur = {
|
||||||
"tt": "Türkçe",
|
"tt": "Türkçe",
|
||||||
|
|
||||||
"cols": {
|
"cols": {
|
||||||
"c": "işlem butonları",
|
"!": "işlem butonları",
|
||||||
"dur": "süre",
|
"dur": "süre",
|
||||||
"q": "kalite / bitrate",
|
"q": "kalite / bitrate",
|
||||||
"Ac": "ses kodlaması",
|
"Ac": "ses kodlaması",
|
||||||
|
|
@ -14,7 +14,7 @@ Ls.tur = {
|
||||||
"Ahash": "ses denetim toplamı",
|
"Ahash": "ses denetim toplamı",
|
||||||
"Vhash": "video denetim toplamı",
|
"Vhash": "video denetim toplamı",
|
||||||
"Res": "çözünürlük",
|
"Res": "çözünürlük",
|
||||||
"T": "dosya türü",
|
"Ext": "dosya türü",
|
||||||
"aq": "ses kalitesi / bitrate",
|
"aq": "ses kalitesi / bitrate",
|
||||||
"vq": "video kalitesi / bitrate",
|
"vq": "video kalitesi / bitrate",
|
||||||
"pixfmt": "subsampling / pixel yapısı",
|
"pixfmt": "subsampling / pixel yapısı",
|
||||||
|
|
@ -33,7 +33,7 @@ Ls.tur = {
|
||||||
["G", "liste / ızgara görünümü arasında geçiş yap"],
|
["G", "liste / ızgara görünümü arasında geçiş yap"],
|
||||||
["T", "küçük resimler / simgeler arasında geçiş yap"],
|
["T", "küçük resimler / simgeler arasında geçiş yap"],
|
||||||
["⇧ A/D", "küçük resim boyutu"],
|
["⇧ A/D", "küçük resim boyutu"],
|
||||||
["ctrl-K", "seçileni sil"],
|
["ctrl-K/Del", "seçileni sil"],
|
||||||
["ctrl-X", "seçimi panoya kes"],
|
["ctrl-X", "seçimi panoya kes"],
|
||||||
["ctrl-C", "seçimi panoya kopyala"],
|
["ctrl-C", "seçimi panoya kopyala"],
|
||||||
["ctrl-V", "buraya yapıştır (taşı/kopyala)"],
|
["ctrl-V", "buraya yapıştır (taşı/kopyala)"],
|
||||||
|
|
@ -107,9 +107,9 @@ Ls.tur = {
|
||||||
"ht_and": " ve ",
|
"ht_and": " ve ",
|
||||||
|
|
||||||
"goh": "kontrol paneli",
|
"goh": "kontrol paneli",
|
||||||
"gop": 'önceki kardeş">önceki',
|
"gop": 'önceki kardeş',
|
||||||
"gou": 'üst klasör">üst',
|
"gou": 'üst klasör',
|
||||||
"gon": 'sonraki klasör">sonraki',
|
"gon": 'sonraki klasör',
|
||||||
"logout": "Çıkış ",
|
"logout": "Çıkış ",
|
||||||
"login": "Giriş",
|
"login": "Giriş",
|
||||||
"access": " erişim",
|
"access": " erişim",
|
||||||
|
|
@ -157,7 +157,7 @@ Ls.tur = {
|
||||||
"ut_u2ts": "kendi dosyalarınızdan sunucuya$Nzaman damgasını kopyala\">📅",
|
"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_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_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_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_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_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",
|
"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",
|
||||||
|
|
@ -225,7 +225,7 @@ Ls.tur = {
|
||||||
|
|
||||||
"ct_grid": '田 ızgara',
|
"ct_grid": '田 ızgara',
|
||||||
"ct_ttips": '◔ ◡ ◔">ℹ️ ipuçları',
|
"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_thumb": '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_csel": 'ızgara görünümünde dosya seçimi için CTRL ve SHIFT tuşlarını kullanın">seç',
|
||||||
"ct_dsel": 'ızgara görünümünde sürükleyerek seçimi kullanın">sürükle', //m
|
"ct_dsel": 'ızgara görünümünde sürükleyerek seçimi kullanın">sürükle', //m
|
||||||
"ct_dl": 'dosyaya tıklandığında indirmeyi zorla (satır içinde görüntüleme)">dl', //m
|
"ct_dl": 'dosyaya tıklandığında indirmeyi zorla (satır içinde görüntüleme)">dl', //m
|
||||||
|
|
@ -288,9 +288,9 @@ Ls.tur = {
|
||||||
"ml_drc": "dinamik aralık sıkıştırıcı",
|
"ml_drc": "dinamik aralık sıkıştırıcı",
|
||||||
"ml_ss": "sessizliği atla", //m
|
"ml_ss": "sessizliği atla", //m
|
||||||
|
|
||||||
"mt_loop": "bir şarkıyı döngüye al / tekrar et\">🔁",
|
"mt_loop": "bir şarkıyı döngüye al / tekrar et",
|
||||||
"mt_one": "bir şarkıdan sonra dur\">1️⃣",
|
"mt_one": "bir şarkıdan sonra dur\">1️⃣",
|
||||||
"mt_shuf": "klasörlerdeki şarkıları karıştır\">🔀",
|
"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_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_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_prescan": "son şarkı bitmeden önce bir sonraki klasöre git$Nweb tarayıcısını mutlu tutar$Nbu nedenle oynatmayı durdurmaz\">nav",
|
||||||
|
|
@ -305,7 +305,7 @@ Ls.tur = {
|
||||||
"mt_follow": "oynatılan müzik ibaresini görünümde tut\">🎯",
|
"mt_follow": "oynatılan müzik ibaresini görünümde tut\">🎯",
|
||||||
"mt_compact": "kompakt kontroller\">⟎",
|
"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_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_mloop": "açık klasörü döngüye al",
|
||||||
"mt_mnext": "bir sonraki klasörü yükle ve devam et\">📂 sonraki",
|
"mt_mnext": "bir sonraki klasörü yükle ve devam et\">📂 sonraki",
|
||||||
"mt_mstop": "oynatmayı durdur\">⏸ durdur",
|
"mt_mstop": "oynatmayı durdur\">⏸ durdur",
|
||||||
"mt_cflac": "flac / wav'ı {0}'a dönüştür\">flac",
|
"mt_cflac": "flac / wav'ı {0}'a dönüştür\">flac",
|
||||||
|
|
|
||||||
|
|
@ -5,7 +5,7 @@ Ls.ukr = {
|
||||||
"tt": "Українська",
|
"tt": "Українська",
|
||||||
|
|
||||||
"cols": {
|
"cols": {
|
||||||
"c": "кнопки дій",
|
"!": "кнопки дій",
|
||||||
"dur": "тривалість",
|
"dur": "тривалість",
|
||||||
"q": "якість / бітрейт",
|
"q": "якість / бітрейт",
|
||||||
"Ac": "аудіо кодек",
|
"Ac": "аудіо кодек",
|
||||||
|
|
@ -14,7 +14,7 @@ Ls.ukr = {
|
||||||
"Ahash": "контрольна сума аудіо",
|
"Ahash": "контрольна сума аудіо",
|
||||||
"Vhash": "контрольна сума відео",
|
"Vhash": "контрольна сума відео",
|
||||||
"Res": "роздільність",
|
"Res": "роздільність",
|
||||||
"T": "тип файлу",
|
"Ext": "тип файлу",
|
||||||
"aq": "якість аудіо / бітрейт",
|
"aq": "якість аудіо / бітрейт",
|
||||||
"vq": "якість відео / бітрейт",
|
"vq": "якість відео / бітрейт",
|
||||||
"pixfmt": "підвибірка / структура пікселів",
|
"pixfmt": "підвибірка / структура пікселів",
|
||||||
|
|
@ -33,7 +33,7 @@ Ls.ukr = {
|
||||||
["G", "перемкнути список / сітку"],
|
["G", "перемкнути список / сітку"],
|
||||||
["T", "перемкнути мініатюри / іконки"],
|
["T", "перемкнути мініатюри / іконки"],
|
||||||
["⇧ A/D", "розмір мініатюр"],
|
["⇧ A/D", "розмір мініатюр"],
|
||||||
["ctrl-K", "видалити вибране"],
|
["ctrl-K/Del", "видалити вибране"],
|
||||||
["ctrl-X", "вирізати до буфера"],
|
["ctrl-X", "вирізати до буфера"],
|
||||||
["ctrl-C", "копіювати до буфера"],
|
["ctrl-C", "копіювати до буфера"],
|
||||||
["ctrl-V", "вставити (перемістити/копіювати) сюди"],
|
["ctrl-V", "вставити (перемістити/копіювати) сюди"],
|
||||||
|
|
@ -107,9 +107,9 @@ Ls.ukr = {
|
||||||
"ht_and": " і ",
|
"ht_and": " і ",
|
||||||
|
|
||||||
"goh": "панель керування",
|
"goh": "панель керування",
|
||||||
"gop": 'попередній сусід">назад',
|
"gop": 'попередній сусід',
|
||||||
"gou": 'батьківська папка">вгору',
|
"gou": 'батьківська папка',
|
||||||
"gon": 'наступна папка">далі',
|
"gon": 'наступна папка',
|
||||||
"logout": "Вийти ",
|
"logout": "Вийти ",
|
||||||
"login": "увійти", //m
|
"login": "увійти", //m
|
||||||
"access": " доступ",
|
"access": " доступ",
|
||||||
|
|
@ -157,7 +157,7 @@ Ls.ukr = {
|
||||||
"ut_u2ts": "копіювати часову мітку останньої зміни$Nз вашої файлової системи на сервер\">📅",
|
"ut_u2ts": "копіювати часову мітку останньої зміни$Nз вашої файлової системи на сервер\">📅",
|
||||||
"ut_ow": "перезаписати існуючі файли на сервері?$N🛡️: ніколи (замість цього створить нове ім'я файлу)$N🕒: перезаписати, якщо файл на сервері старіший за ваш$N♻️: завжди перезаписувати, якщо файли відрізняються$N⏭️: безумовно пропускати всі наявні файли", //m
|
"ut_ow": "перезаписати існуючі файли на сервері?$N🛡️: ніколи (замість цього створить нове ім'я файлу)$N🕒: перезаписати, якщо файл на сервері старіший за ваш$N♻️: завжди перезаписувати, якщо файли відрізняються$N⏭️: безумовно пропускати всі наявні файли", //m
|
||||||
"ut_mt": "продовжувати хешування інших файлів під час завантаження$N$Nможливо, вимкніть, якщо ваш CPU або HDD є вузьким місцем",
|
"ut_mt": "продовжувати хешування інших файлів під час завантаження$N$Nможливо, вимкніть, якщо ваш CPU або HDD є вузьким місцем",
|
||||||
"ut_ask": 'запитати підтвердження перед початком завантаження">💭',
|
"ut_ask": 'запитати підтвердження перед початком завантаження',
|
||||||
"ut_pot": "покращити швидкість завантаження на повільних пристроях$Nроблячи інтерфейс менш складним",
|
"ut_pot": "покращити швидкість завантаження на повільних пристроях$Nроблячи інтерфейс менш складним",
|
||||||
"ut_srch": "не завантажувати, а перевірити, чи файли вже $N існують на сервері (сканує всі папки, які ви можете читати)",
|
"ut_srch": "не завантажувати, а перевірити, чи файли вже $N існують на сервері (сканує всі папки, які ви можете читати)",
|
||||||
"ut_par": "призупинити завантаження, встановивши 0$N$Nзбільшіть, якщо ваше з'єднання повільне / висока затримка$N$Nзалишіть 1 в локальній мережі або якщо HDD сервера є вузьким місцем",
|
"ut_par": "призупинити завантаження, встановивши 0$N$Nзбільшіть, якщо ваше з'єднання повільне / висока затримка$N$Nзалишіть 1 в локальній мережі або якщо HDD сервера є вузьким місцем",
|
||||||
|
|
@ -225,7 +225,7 @@ Ls.ukr = {
|
||||||
|
|
||||||
"ct_grid": '田 сітка',
|
"ct_grid": '田 сітка',
|
||||||
"ct_ttips": '◔ ◡ ◔">ℹ️ підказки',
|
"ct_ttips": '◔ ◡ ◔">ℹ️ підказки',
|
||||||
"ct_thumb": 'у режимі сітки, перемкнути іконки або мініатюри$NГаряча клавіша: T">🖼️ мініатюри',
|
"ct_thumb": 'перемкнути іконки або мініатюри$NГаряча клавіша: T">🖼️ мініатюри',
|
||||||
"ct_csel": 'використовувати CTRL і SHIFT для вибору файлів у режимі сітки">вибір',
|
"ct_csel": 'використовувати CTRL і SHIFT для вибору файлів у режимі сітки">вибір',
|
||||||
"ct_dsel": 'використовувати вибір перетягуванням у режимі сітки">перетягнути', //m
|
"ct_dsel": 'використовувати вибір перетягуванням у режимі сітки">перетягнути', //m
|
||||||
"ct_dl": 'примусове завантаження (не показувати вбудовано) під час натискання на файл">dl', //m
|
"ct_dl": 'примусове завантаження (не показувати вбудовано) під час натискання на файл">dl', //m
|
||||||
|
|
@ -288,9 +288,9 @@ Ls.ukr = {
|
||||||
"ml_drc": "компресор динамічного діапазону",
|
"ml_drc": "компресор динамічного діапазону",
|
||||||
"ml_ss": "пропускати тишу", //m
|
"ml_ss": "пропускати тишу", //m
|
||||||
|
|
||||||
"mt_loop": "зациклити/повторити одну пісню\">🔁",
|
"mt_loop": "зациклити/повторити одну пісню",
|
||||||
"mt_one": "зупинити після однієї пісні\">1️⃣",
|
"mt_one": "зупинити після однієї пісні\">1️⃣",
|
||||||
"mt_shuf": "перемішати пісні в кожній папці\">🔀",
|
"mt_shuf": "перемішати пісні в кожній папці",
|
||||||
"mt_aplay": "автовідтворення, якщо є ID пісні в посиланні, по якому ви клацнули для доступу до сервера$N$Nвідключення цього також зупинить оновлення URL сторінки з ID пісень під час відтворення музики, щоб запобігти автовідтворенню, якщо ці налаштування втрачені, але URL залишається\">a▶",
|
"mt_aplay": "автовідтворення, якщо є ID пісні в посиланні, по якому ви клацнули для доступу до сервера$N$Nвідключення цього також зупинить оновлення URL сторінки з ID пісень під час відтворення музики, щоб запобігти автовідтворенню, якщо ці налаштування втрачені, але URL залишається\">a▶",
|
||||||
"mt_preload": "почати завантаження наступної пісні ближче до кінця для безперервного відтворення\">preload",
|
"mt_preload": "почати завантаження наступної пісні ближче до кінця для безперервного відтворення\">preload",
|
||||||
"mt_prescan": "перейти до наступної папки перед тим, як остання пісня$Nзакінчиться, підтримуючи веб-браузер у робочому стані$Nщоб він не зупинив відтворення\">nav",
|
"mt_prescan": "перейти до наступної папки перед тим, як остання пісня$Nзакінчиться, підтримуючи веб-браузер у робочому стані$Nщоб він не зупинив відтворення\">nav",
|
||||||
|
|
@ -305,7 +305,7 @@ Ls.ukr = {
|
||||||
"mt_follow": "тримати трек, що відтворюється, у полі зору\">🎯",
|
"mt_follow": "тримати трек, що відтворюється, у полі зору\">🎯",
|
||||||
"mt_compact": "компактні елементи керування\">⟎",
|
"mt_compact": "компактні елементи керування\">⟎",
|
||||||
"mt_uncache": "очистити кеш (спробуйте це, якщо ваш браузер закешував$Nпошкоджену копію пісні, тому відмовляється її відтворювати)\">uncache",
|
"mt_uncache": "очистити кеш (спробуйте це, якщо ваш браузер закешував$Nпошкоджену копію пісні, тому відмовляється її відтворювати)\">uncache",
|
||||||
"mt_mloop": "зациклити відкриту папку\">🔁 loop",
|
"mt_mloop": "зациклити відкриту папку",
|
||||||
"mt_mnext": "завантажити наступну папку і продовжити\">📂 next",
|
"mt_mnext": "завантажити наступну папку і продовжити\">📂 next",
|
||||||
"mt_mstop": "зупинити відтворення\">⏸ stop",
|
"mt_mstop": "зупинити відтворення\">⏸ stop",
|
||||||
"mt_cflac": "конвертувати flac / wav в {0}\">flac",
|
"mt_cflac": "конвертувати flac / wav в {0}\">flac",
|
||||||
|
|
|
||||||
|
|
@ -2,7 +2,7 @@ Ls.vie = {
|
||||||
"tt": "Tiếng Việt",
|
"tt": "Tiếng Việt",
|
||||||
|
|
||||||
"cols": {
|
"cols": {
|
||||||
"c": "nút hành động",
|
"!": "nút hành động",
|
||||||
"dur": "thời lượng",
|
"dur": "thời lượng",
|
||||||
"q": "chất lượng / bitrate",
|
"q": "chất lượng / bitrate",
|
||||||
"Ac": "codec âm thanh",
|
"Ac": "codec âm thanh",
|
||||||
|
|
@ -11,7 +11,7 @@ Ls.vie = {
|
||||||
"Ahash": "checksum âm thanh",
|
"Ahash": "checksum âm thanh",
|
||||||
"Vhash": "checksum video",
|
"Vhash": "checksum video",
|
||||||
"Res": "độ phân giải",
|
"Res": "độ phân giải",
|
||||||
"T": "loại tệp",
|
"Ext": "loại tệp",
|
||||||
"aq": "chất lượng âm thanh / bitrate",
|
"aq": "chất lượng âm thanh / bitrate",
|
||||||
"vq": "chất lượng video / bitrate",
|
"vq": "chất lượng video / bitrate",
|
||||||
"pixfmt": "subsampling / pixel structure",
|
"pixfmt": "subsampling / pixel structure",
|
||||||
|
|
@ -30,7 +30,7 @@ Ls.vie = {
|
||||||
["G", "chuyển đổi chế độ xem danh sách / lưới"],
|
["G", "chuyển đổi chế độ xem danh sách / lưới"],
|
||||||
["T", "chuyển đổi ảnh thu nhỏ / biểu tượng"],
|
["T", "chuyển đổi ảnh thu nhỏ / biểu tượng"],
|
||||||
["⇧ A/D", "kích thước ảnh thu nhỏ"],
|
["⇧ A/D", "kích thước ảnh thu nhỏ"],
|
||||||
["ctrl-K", "xoá mục đã chọn"],
|
["ctrl-K/Del", "xoá mục đã chọn"],
|
||||||
["ctrl-X", "cắt mục đã chọn vào bảng nhớ tạm"],
|
["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-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"],
|
["ctrl-V", "dán (di chuyển/sao chép) tại đây"],
|
||||||
|
|
@ -102,9 +102,9 @@ Ls.vie = {
|
||||||
"ht_and": " và ",
|
"ht_and": " và ",
|
||||||
|
|
||||||
"goh": "bảng điều khiển",
|
"goh": "bảng điều khiển",
|
||||||
"gop": 'thư mục trước">trước',
|
"gop": 'thư mục trước',
|
||||||
"gou": 'thư mục cha">lên',
|
"gou": 'thư mục cha',
|
||||||
"gon": 'thư mục sau">tiếp',
|
"gon": 'thư mục sau',
|
||||||
"logout": "Đăng xuất ",
|
"logout": "Đăng xuất ",
|
||||||
"login": "Đăng nhập",
|
"login": "Đăng nhập",
|
||||||
"access": "quyền truy cập",
|
"access": "quyền truy cập",
|
||||||
|
|
@ -154,7 +154,7 @@ Ls.vie = {
|
||||||
"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_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_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_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_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_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_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",
|
"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",
|
||||||
|
|
@ -226,7 +226,7 @@ Ls.vie = {
|
||||||
// settings / tuỳ chọn
|
// settings / tuỳ chọn
|
||||||
"ct_grid": '田 chế độ lưới',
|
"ct_grid": '田 chế độ lưới',
|
||||||
"ct_ttips": '༼ ◕_◕ ༽">ℹ️ tooltips',
|
"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_thumb": '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_csel": 'dùng CTRL và SHIFT để chọn tệp trong chế độ lưới">sel',
|
||||||
"ct_dsel": 'dùng chọn bằng cách kéo trong chế độ lưới">kéo', //m
|
"ct_dsel": 'dùng chọn bằng cách kéo trong chế độ lưới">kéo', //m
|
||||||
"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_dl": 'cưỡng chế tải xuống (không hiện thị trong dòng) khi nhấp vào tệp">dl',
|
||||||
|
|
@ -292,9 +292,9 @@ Ls.vie = {
|
||||||
"ml_drc": "bộ nén dải động",
|
"ml_drc": "bộ nén dải động",
|
||||||
"ml_ss": "bỏ qua khoảng lặng", //m
|
"ml_ss": "bỏ qua khoảng lặng", //m
|
||||||
|
|
||||||
"mt_loop": "lặp lại một bài\">🔁",
|
"mt_loop": "lặp lại một bài",
|
||||||
"mt_one": "dừng sau một bài\">1️⃣",
|
"mt_one": "dừng sau một bài\">1️⃣",
|
||||||
"mt_shuf": "trộn các bài trong thư mụcr\">🔀",
|
"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_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_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_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",
|
||||||
|
|
@ -309,7 +309,7 @@ Ls.vie = {
|
||||||
"mt_follow": "giữ bài đang phát trong tầm nhìn\">🎯",
|
"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_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_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_mloop": "lặp trong thư mục đang mở",
|
||||||
"mt_mnext": "tải thư mục tiếp theo và tiếp tục\">📂 next",
|
"mt_mnext": "tải thư mục tiếp theo và tiếp tục\">📂 next",
|
||||||
"mt_mstop": "dừng phát\">⏸ stop",
|
"mt_mstop": "dừng phát\">⏸ stop",
|
||||||
"mt_cflac": "chuyển flac / wav sang {0}\">flac",
|
"mt_cflac": "chuyển flac / wav sang {0}\">flac",
|
||||||
|
|
|
||||||
|
|
@ -1,27 +1,125 @@
|
||||||
:root {
|
:root {
|
||||||
|
color-scheme: dark;
|
||||||
|
|
||||||
--font-main: sans-serif;
|
--font-main: sans-serif;
|
||||||
--font-serif: serif;
|
--font-serif: serif;
|
||||||
--font-mono: 'scp';
|
--font-mono: 'scp';
|
||||||
|
|
||||||
--fg: #ccc;
|
|
||||||
--fg-max: #fff;
|
--fg-max: #fff;
|
||||||
--bg-u2: #2b2b2b;
|
--bg-max: #080808;
|
||||||
--bg-u5: #444;
|
--a: #fc5;
|
||||||
|
accent-color: var(--a);
|
||||||
|
--radius: 7px;
|
||||||
|
|
||||||
|
--fg-max: #fefefe;
|
||||||
|
--bg-max: #010101;
|
||||||
|
|
||||||
|
--a-hil: rgb(255, 215, 121);
|
||||||
|
--a-dark: rgb(235, 165, 37); /* warning text etc */
|
||||||
|
--a-gray: #ccc;
|
||||||
|
|
||||||
|
--fg: #efefef;
|
||||||
|
--fg-weak: #c4c4c4;
|
||||||
|
|
||||||
|
--bg: #1f1f1f;
|
||||||
|
--bg-half: #01010182;
|
||||||
|
--bg-u1: #212121;
|
||||||
|
--bg-u2: #353535;
|
||||||
|
--bg-u3: #404040;
|
||||||
|
--bg-u5: #4e4e4e;
|
||||||
|
--bg-d1: #111111;
|
||||||
|
--bg-d2: #0e0e0e;
|
||||||
|
--bg-d3: #0b0b0b;
|
||||||
|
|
||||||
|
--bgg: var(--bg);
|
||||||
|
|
||||||
|
background: var(--bg);
|
||||||
|
color: #b9bdc1;
|
||||||
|
color: var(--fg);
|
||||||
}
|
}
|
||||||
html.y {
|
html.y {
|
||||||
--fg: #222;
|
color-scheme: light;
|
||||||
|
|
||||||
--fg-max: #000;
|
--fg-max: #000;
|
||||||
--bg-u2: #f7f7f7;
|
--bg-max: #fff;
|
||||||
--bg-u5: #ccc;
|
color-scheme: light;
|
||||||
|
|
||||||
|
--a: #07c;
|
||||||
|
|
||||||
|
--a-hil: rgb(121, 193, 255);
|
||||||
|
--a-dark: rgb(7, 95, 183); /* warning text etc */
|
||||||
|
--a-gray: #ccc;
|
||||||
|
|
||||||
|
--fg: #101010;
|
||||||
|
--fg-weak: #323232;
|
||||||
|
|
||||||
|
--bg: #eeeeee;
|
||||||
|
--bg-half: #eeeeee82;
|
||||||
|
--bg-u1: #e3e3e3;
|
||||||
|
--bg-u2: #d6d6d6;
|
||||||
|
--bg-u3: #c7c7c7;
|
||||||
|
--bg-u5: #bcbcbc;
|
||||||
|
--bg-d1: #f4f4f4;
|
||||||
|
--bg-d2: #f5f5f5;
|
||||||
|
--bg-d3: #f6f6f6;
|
||||||
|
|
||||||
|
--chk-fg: var(--fg);
|
||||||
|
--txt-sh: #aaa;
|
||||||
|
--txt-bg: var(--bg-d1);
|
||||||
|
--mp-sh: #0002;
|
||||||
|
|
||||||
|
text-shadow: none;
|
||||||
}
|
}
|
||||||
html.bz {
|
@supports (background: hsl(from #ccc, h s l)){
|
||||||
--bg-u2: #202231;
|
:root {
|
||||||
|
--a-hil: hsl(from var(--a) h calc(s * 1.2) l);
|
||||||
|
--a-dark: hsl(from var(--a) h calc(s * 1.3) l); /* warning text etc */
|
||||||
|
--a-gray: hsl(from var(--a) h calc(s * 0.1) l);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
@supports (background: color-mix(in oklab, black, white)){
|
||||||
|
:root, html.y {
|
||||||
|
/* accent color in everything */
|
||||||
|
--fg-max: color-mix(in oklab, #fefefe 95%, var(--a) 5%);
|
||||||
|
--bg-max: color-mix(in oklab, #010101 95%, var(--a) 5%);
|
||||||
|
|
||||||
|
--a-hil: hsl(from color-mix(in oklab, var(--a) 80%, var(--fg-max) 20%) h calc(s * 1.2) l);
|
||||||
|
--a-dark: hsl(from color-mix(in oklab, var(--a) 60%, var(--bg-max) 40%) h calc(s * 1.3) l); /* warning text etc */
|
||||||
|
--a-gray: hsl(from var(--a) h calc(s * 0.1) l);
|
||||||
|
|
||||||
|
--fg: color-mix(in oklab, var(--fg-max) 90%, var(--bg-max) 10%);
|
||||||
|
--fg-weak: color-mix(in oklab, var(--fg-max) 70%, var(--bg-max) 30%);
|
||||||
|
|
||||||
|
--bg: color-mix(in oklab, var(--bg-max) 85%, var(--fg-max) 15%);
|
||||||
|
--bg-half: color-mix(in oklab, var(--bg) 50%, transparent 50%);
|
||||||
|
--bg-u1: color-mix(in oklab, var(--bg-max) 80%, var(--fg-max) 20%);
|
||||||
|
--bg-u2: color-mix(in oklab, var(--bg-max) 75%, var(--fg-max) 25%);
|
||||||
|
--bg-u3: color-mix(in oklab, var(--bg-max) 70%, var(--fg-max) 30%);
|
||||||
|
--bg-u5: color-mix(in oklab, var(--bg-max) 65%, var(--fg-max) 35%);
|
||||||
|
--bg-d1: color-mix(in oklab, var(--bg-max) 90%, var(--fg-max) 10%);
|
||||||
|
--bg-d2: color-mix(in oklab, var(--bg-max) 92%, var(--fg-max) 8%);
|
||||||
|
--bg-d3: color-mix(in oklab, var(--bg-max) 95%, var(--fg-max) 5%);
|
||||||
|
}
|
||||||
|
html.y {
|
||||||
|
--bg-max: color-mix(in oklab, #fefefe 95%, var(--a) 5%);
|
||||||
|
--fg-max: color-mix(in oklab, #010101 95%, var(--a) 5%);
|
||||||
|
|
||||||
|
--bg-u1: color-mix(in oklab, var(--bg-max) 92%, var(--fg-max));
|
||||||
|
--bg-u2: color-mix(in oklab, var(--bg-max) 95%, var(--fg-max));
|
||||||
|
--bg-u5: color-mix(in oklab, var(--bg-max) 82%, var(--fg-max));
|
||||||
|
--bg: color-mix(in oklab, var(--bg-max) 98%, var(--fg-max));
|
||||||
|
}
|
||||||
}
|
}
|
||||||
@font-face {
|
@font-face {
|
||||||
font-family: 'scp';
|
font-family: 'scp';
|
||||||
font-display: swap;
|
font-display: swap;
|
||||||
src: local('Source Code Pro Regular'), local('SourceCodePro-Regular'), url(deps/scp.woff2) format('woff2');
|
src: local('Source Code Pro Regular'), local('SourceCodePro-Regular'), url(deps/scp.woff2) format('woff2');
|
||||||
}
|
}
|
||||||
|
@font-face {
|
||||||
|
font-family: 'orbitron';
|
||||||
|
font-display: swap;
|
||||||
|
src: url(deps/orbitron.woff2) format('woff2');
|
||||||
|
}
|
||||||
html {
|
html {
|
||||||
text-size-adjust: 100%;
|
text-size-adjust: 100%;
|
||||||
-webkit-text-size-adjust: 100%;
|
-webkit-text-size-adjust: 100%;
|
||||||
|
|
@ -54,9 +152,8 @@ html {
|
||||||
bottom: 5em;
|
bottom: 5em;
|
||||||
right: -1em;
|
right: -1em;
|
||||||
line-height: 1.5em;
|
line-height: 1.5em;
|
||||||
padding: 1em 1.3em;
|
padding: 1em 2em 1em 1em;
|
||||||
margin-left: 3em;
|
border-width: 1px;
|
||||||
border-width: .4em 0;
|
|
||||||
overflow-wrap: break-word;
|
overflow-wrap: break-word;
|
||||||
transform: translateX(100%);
|
transform: translateX(100%);
|
||||||
transition:
|
transition:
|
||||||
|
|
@ -92,17 +189,16 @@ html {
|
||||||
display: inline-block;
|
display: inline-block;
|
||||||
position: absolute;
|
position: absolute;
|
||||||
overflow: hidden;
|
overflow: hidden;
|
||||||
left: 0;
|
right: 0;
|
||||||
width: 0;
|
top: 0;
|
||||||
opacity: 0;
|
opacity: 0;
|
||||||
padding: .3em 0;
|
padding: .3em 0;
|
||||||
margin: -.3em 0 0 0;
|
|
||||||
line-height: 1.3em;
|
line-height: 1.3em;
|
||||||
color: #000;
|
color: #000;
|
||||||
border: none;
|
border: none;
|
||||||
outline: none;
|
outline: none;
|
||||||
text-shadow: none;
|
text-shadow: none;
|
||||||
border-radius: .5em 0 0 .5em;
|
border-radius: .4em;
|
||||||
transition: left .3s, width .3s, padding .3s, opacity .3s;
|
transition: left .3s, width .3s, padding .3s, opacity .3s;
|
||||||
}
|
}
|
||||||
#toastb {
|
#toastb {
|
||||||
|
|
@ -130,9 +226,7 @@ html {
|
||||||
transform: initial;
|
transform: initial;
|
||||||
}
|
}
|
||||||
#toast.vis #toastc {
|
#toast.vis #toastc {
|
||||||
left: -2em;
|
padding: .3em .5em;
|
||||||
width: .4em;
|
|
||||||
padding: .3em .8em;
|
|
||||||
opacity: 1;
|
opacity: 1;
|
||||||
}
|
}
|
||||||
#toast.inf {
|
#toast.inf {
|
||||||
|
|
@ -200,17 +294,18 @@ html {
|
||||||
}
|
}
|
||||||
#tt.show {
|
#tt.show {
|
||||||
padding: 1em 1.3em;
|
padding: 1em 1.3em;
|
||||||
border-width: .4em 0;
|
border-width: 1px;
|
||||||
height: auto;
|
height: auto;
|
||||||
opacity: 1;
|
opacity: 1;
|
||||||
}
|
}
|
||||||
#tt.show.b {
|
#tt.show.b {
|
||||||
padding: 1.5em 2em;
|
padding: 1.5em 2em;
|
||||||
border-width: .5em 0;
|
/* border-width: .5em 0; */
|
||||||
}
|
}
|
||||||
.logue code,
|
.logue code,
|
||||||
#modalc code,
|
#modalc code,
|
||||||
#tt code {
|
#tt code,
|
||||||
|
.opview code{
|
||||||
color: #eee;
|
color: #eee;
|
||||||
color: var(--fg-max);
|
color: var(--fg-max);
|
||||||
background: #444;
|
background: #444;
|
||||||
|
|
@ -220,12 +315,12 @@ html {
|
||||||
line-height: 1.7em;
|
line-height: 1.7em;
|
||||||
}
|
}
|
||||||
#tt em {
|
#tt em {
|
||||||
color: #f6a;
|
color: var(--a);
|
||||||
}
|
}
|
||||||
html.y #tt {
|
html.y #tt {
|
||||||
border-color: #888 #000 #777 #000;
|
border-color: #888 #000 #777 #000;
|
||||||
}
|
}
|
||||||
html.bz #tt {
|
html.az #tt {
|
||||||
border-color: #3b3f58;
|
border-color: #3b3f58;
|
||||||
}
|
}
|
||||||
html.y #tt,
|
html.y #tt,
|
||||||
|
|
@ -237,9 +332,6 @@ html.y #toast {
|
||||||
background: transparent;
|
background: transparent;
|
||||||
border: 1px solid #ccc;
|
border: 1px solid #ccc;
|
||||||
}
|
}
|
||||||
html.y #tt em {
|
|
||||||
color: #d38;
|
|
||||||
}
|
|
||||||
html.y #tth {
|
html.y #tth {
|
||||||
color: #000;
|
color: #000;
|
||||||
background: #fff;
|
background: #fff;
|
||||||
|
|
@ -361,27 +453,20 @@ html.y #tth {
|
||||||
border: .25em solid #ccc;
|
border: .25em solid #ccc;
|
||||||
border-radius: .4em;
|
border-radius: .4em;
|
||||||
}
|
}
|
||||||
#modali:focus {
|
#modali:focus-visible {
|
||||||
border-color: #06d;
|
border-color: #06d;
|
||||||
}
|
}
|
||||||
#repl_pre {
|
#repl_pre {
|
||||||
max-width: 24em;
|
max-width: 24em;
|
||||||
}
|
}
|
||||||
*:focus,
|
*:focus-visible,
|
||||||
*:focus+label,
|
*:focus-visible+label,
|
||||||
#pctl *:focus,
|
.pctl *:focus-visible,
|
||||||
.btn:focus {
|
.btn:focus-visible {
|
||||||
box-shadow: 0 .1em .2em #fc0 inset;
|
/* box-shadow: 0 .1em .2em #fc0 inset; */
|
||||||
outline: #fc0 solid .1em;
|
outline: var(--a) solid .1em;
|
||||||
border-radius: .2em;
|
border-radius: .2em;
|
||||||
}
|
}
|
||||||
html.y *:focus,
|
|
||||||
html.y *:focus+label,
|
|
||||||
html.y #pctl *:focus,
|
|
||||||
html.y .btn:focus {
|
|
||||||
box-shadow: 0 .1em .2em #037 inset;
|
|
||||||
outline: #037 solid .1em;
|
|
||||||
}
|
|
||||||
input, button {
|
input, button {
|
||||||
font-family: var(--font-main), sans-serif;
|
font-family: var(--font-main), sans-serif;
|
||||||
}
|
}
|
||||||
|
|
@ -391,12 +476,7 @@ input[type="submit"] {
|
||||||
input[type="text"]:focus,
|
input[type="text"]:focus,
|
||||||
input:not([type]):focus,
|
input:not([type]):focus,
|
||||||
textarea:focus {
|
textarea:focus {
|
||||||
box-shadow: 0 .1em .3em #fc0, 0 -.1em .3em #fc0;
|
box-shadow: 0 .1em .3em var(--a), 0 -.1em .3em var(--a);
|
||||||
}
|
|
||||||
html.y input[type="text"]:focus,
|
|
||||||
html.y input:not([type]):focus,
|
|
||||||
html.y textarea:focus {
|
|
||||||
box-shadow: 0 .1em .3em #037, 0 -.1em .3em #037;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
@ -412,11 +492,10 @@ html.y textarea:focus {
|
||||||
.mdo pre,
|
.mdo pre,
|
||||||
.mdo code,
|
.mdo code,
|
||||||
.mdo a {
|
.mdo a {
|
||||||
color: #480;
|
|
||||||
background: #f7f7f7;
|
background: #f7f7f7;
|
||||||
border: .07em solid #ddd;
|
border: .07em solid #ddd;
|
||||||
border-radius: .2em;
|
border-radius: .2em;
|
||||||
padding: .1em .3em;
|
padding: 0 .3em;
|
||||||
margin: 0 .1em;
|
margin: 0 .1em;
|
||||||
}
|
}
|
||||||
.mdo pre,
|
.mdo pre,
|
||||||
|
|
@ -519,8 +598,7 @@ html.y .mdo a>code {
|
||||||
line-height: 1.1em;
|
line-height: 1.1em;
|
||||||
}
|
}
|
||||||
.mdo pre code:hover {
|
.mdo pre code:hover {
|
||||||
background: #fec;
|
background: #ddd;
|
||||||
color: #360;
|
|
||||||
}
|
}
|
||||||
.mdo table {
|
.mdo table {
|
||||||
border-collapse: collapse;
|
border-collapse: collapse;
|
||||||
|
|
@ -565,7 +643,7 @@ hr {
|
||||||
color: #fff;
|
color: #fff;
|
||||||
background: #444;
|
background: #444;
|
||||||
font-weight: normal;
|
font-weight: normal;
|
||||||
border-top: .4em solid #fb0;
|
border-top: .4em solid rgba(203, 203, 203, 0.634);
|
||||||
border-bottom: .4em solid #777;
|
border-bottom: .4em solid #777;
|
||||||
border-radius: 0 1em 0 1em;
|
border-radius: 0 1em 0 1em;
|
||||||
margin: 3em 0 1em 0;
|
margin: 3em 0 1em 0;
|
||||||
|
|
@ -592,7 +670,7 @@ hr {
|
||||||
}
|
}
|
||||||
html.z .mdo pre,
|
html.z .mdo pre,
|
||||||
html.z .mdo code {
|
html.z .mdo code {
|
||||||
color: #8c0;
|
color: rgb(209, 209, 209);
|
||||||
background: #1a1a1a;
|
background: #1a1a1a;
|
||||||
border: .07em solid #333;
|
border: .07em solid #333;
|
||||||
}
|
}
|
||||||
|
|
@ -611,10 +689,10 @@ hr {
|
||||||
}
|
}
|
||||||
html.z .mdo h1 {
|
html.z .mdo h1 {
|
||||||
background: #383838;
|
background: #383838;
|
||||||
border-top: .4em solid #b80;
|
border-top: .4em solid rgba(203, 203, 203, 0.634);
|
||||||
border-bottom: .4em solid #4c4c4c;
|
border-bottom: .4em solid #4c4c4c;
|
||||||
}
|
}
|
||||||
html.bz .mdo h1 {
|
html.az .mdo h1 {
|
||||||
background: #202231;
|
background: #202231;
|
||||||
border: 1px solid #2d2f45;
|
border: 1px solid #2d2f45;
|
||||||
border-width: 0 0 .4em 0;
|
border-width: 0 0 .4em 0;
|
||||||
|
|
@ -623,8 +701,8 @@ hr {
|
||||||
background: #444;
|
background: #444;
|
||||||
border-bottom: .22em solid #555;
|
border-bottom: .22em solid #555;
|
||||||
}
|
}
|
||||||
html.bz .mdo h2,
|
html.az .mdo h2,
|
||||||
html.bz .mdo h3 {
|
html.az .mdo h3 {
|
||||||
background: transparent;
|
background: transparent;
|
||||||
border-color: #3b3f58;
|
border-color: #3b3f58;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -50,8 +50,21 @@ catch (ex) {
|
||||||
up2k = up2k_init(false);
|
up2k = up2k_init(false);
|
||||||
}
|
}
|
||||||
catch (ex) {
|
catch (ex) {
|
||||||
|
ebi('h_up2kcfg').style.display =
|
||||||
|
ebi('u2btn_ct').style.display =
|
||||||
|
ebi('u2c3t').style.display =
|
||||||
|
ebi('up_info').style.display =
|
||||||
|
ebi('opa_up').style.display =
|
||||||
|
'none'
|
||||||
|
|
||||||
|
ebi('uq_up').onclick = function(){
|
||||||
|
modaltoggle('bup', true);
|
||||||
|
ebi('bup_btn').click();
|
||||||
|
}
|
||||||
|
|
||||||
console.log('up2k init failed:', ex);
|
console.log('up2k init failed:', ex);
|
||||||
toast.err(10, 'could not initialize up2k\n\n' + basenames(ex));
|
toast.err(3, 'could not initialize up2k\n\n' + basenames(ex));
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
treectl.onscroll();
|
treectl.onscroll();
|
||||||
|
|
@ -826,6 +839,7 @@ function up2k_init(subtle) {
|
||||||
|
|
||||||
var loading_deps = false;
|
var loading_deps = false;
|
||||||
function init_deps() {
|
function init_deps() {
|
||||||
|
console.log('up2k init deps');
|
||||||
if (!loading_deps && !got_deps()) {
|
if (!loading_deps && !got_deps()) {
|
||||||
var fn = 'sha512.' + sha_js + '.js',
|
var fn = 'sha512.' + sha_js + '.js',
|
||||||
m = L.u_https1 + ' <a href="' + (location + '').replace(':', 's:') + '">' + L.u_https2 + '</a> ' + L.u_https3;
|
m = L.u_https1 + ' <a href="' + (location + '').replace(':', 's:') + '">' + L.u_https2 + '</a> ' + L.u_https3;
|
||||||
|
|
@ -871,7 +885,7 @@ function up2k_init(subtle) {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
setmsg(suggest_up2k, 'msg');
|
//setmsg(suggest_up2k, 'msg');
|
||||||
|
|
||||||
var u2szs = u2sz.split(','),
|
var u2szs = u2sz.split(','),
|
||||||
u2sz_min = parseInt(u2szs[0]),
|
u2sz_min = parseInt(u2szs[0]),
|
||||||
|
|
@ -904,7 +918,9 @@ function up2k_init(subtle) {
|
||||||
uc.ow = parseInt(sread('u2ow', ['0', '1', '2', '3']) || u2ow);
|
uc.ow = parseInt(sread('u2ow', ['0', '1', '2', '3']) || u2ow);
|
||||||
uc.owt = ['🛡️', '🕒', '♻️', '⏭️'];
|
uc.owt = ['🛡️', '🕒', '♻️', '⏭️'];
|
||||||
function set_ow() {
|
function set_ow() {
|
||||||
QS('label[for="u2ow"]').innerHTML = uc.owt[uc.ow];
|
var lbls = QSA('label[for="u2ow"]');
|
||||||
|
for(var i=0; i<lbls.length; i++)
|
||||||
|
lbls[i].innerHTML = uc.owt[uc.ow];
|
||||||
ebi('u2ow').checked = true; //cosmetic
|
ebi('u2ow').checked = true; //cosmetic
|
||||||
}
|
}
|
||||||
ebi('u2ow').onclick = function (e) {
|
ebi('u2ow').onclick = function (e) {
|
||||||
|
|
@ -1015,7 +1031,7 @@ function up2k_init(subtle) {
|
||||||
|
|
||||||
modal.confirm(L.u_nav_m, uf, ud, null, L.u_nav_b);
|
modal.confirm(L.u_nav_m, uf, ud, null, L.u_nav_b);
|
||||||
}
|
}
|
||||||
ebi('u2btn').onclick = nav;
|
ebi('uq_up').onclick = ebi('u2btn').onclick = nav;
|
||||||
|
|
||||||
var nenters = 0;
|
var nenters = 0;
|
||||||
function ondrag(e) {
|
function ondrag(e) {
|
||||||
|
|
@ -1054,7 +1070,24 @@ function up2k_init(subtle) {
|
||||||
function onoverbtn(e) {
|
function onoverbtn(e) {
|
||||||
return onovercmn(this, e, true);
|
return onovercmn(this, e, true);
|
||||||
}
|
}
|
||||||
|
function checkDropMode(){
|
||||||
|
if(ebi('fsearch').checked){
|
||||||
|
ebi('srch_zd').style.display = '';
|
||||||
|
ebi('up_zd').style.display = 'none';
|
||||||
|
ebi('srch_dz').style.display = '';
|
||||||
|
ebi('up_dz').style.display = 'none';
|
||||||
|
}
|
||||||
|
else{
|
||||||
|
ebi('srch_zd').style.display = 'none';
|
||||||
|
ebi('up_zd').style.display = '';
|
||||||
|
ebi('srch_dz').style.display = 'none';
|
||||||
|
ebi('up_dz').style.display = '';
|
||||||
|
}
|
||||||
|
}
|
||||||
function onovercmn(self, e, btn) {
|
function onovercmn(self, e, btn) {
|
||||||
|
if(e.dataTransfer && e.dataTransfer.getData("text") && e.dataTransfer.getData("text").startsWith(window.location.origin)){
|
||||||
|
return;
|
||||||
|
}
|
||||||
try {
|
try {
|
||||||
var ok = false, dt = e.dataTransfer.types;
|
var ok = false, dt = e.dataTransfer.types;
|
||||||
for (var a = 0; a < dt.length; a++)
|
for (var a = 0; a < dt.length; a++)
|
||||||
|
|
@ -1066,7 +1099,7 @@ function up2k_init(subtle) {
|
||||||
if (toast.txt == L.u_uri)
|
if (toast.txt == L.u_uri)
|
||||||
toast.hide();
|
toast.hide();
|
||||||
}
|
}
|
||||||
else
|
else if (!window.drag || !drag.no_warn)
|
||||||
return toast.inf(10, L.u_uri) || true;
|
return toast.inf(10, L.u_uri) || true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -1087,6 +1120,7 @@ function up2k_init(subtle) {
|
||||||
if (btn)
|
if (btn)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
|
checkDropMode();
|
||||||
clmod(ebi('drops'), 'vis', 1);
|
clmod(ebi('drops'), 'vis', 1);
|
||||||
var v = self.getAttribute('v');
|
var v = self.getAttribute('v');
|
||||||
if (v)
|
if (v)
|
||||||
|
|
@ -1100,6 +1134,7 @@ function up2k_init(subtle) {
|
||||||
clmod(ebi(v), 'hl');
|
clmod(ebi(v), 'hl');
|
||||||
|
|
||||||
if (--nenters <= 0) {
|
if (--nenters <= 0) {
|
||||||
|
checkDropMode();
|
||||||
clmod(ebi('drops'), 'vis');
|
clmod(ebi('drops'), 'vis');
|
||||||
clmod(ebi('up_dz'), 'hl');
|
clmod(ebi('up_dz'), 'hl');
|
||||||
clmod(ebi('srch_dz'), 'hl');
|
clmod(ebi('srch_dz'), 'hl');
|
||||||
|
|
@ -1114,6 +1149,8 @@ function up2k_init(subtle) {
|
||||||
document.body.ondrop = gotfile;
|
document.body.ondrop = gotfile;
|
||||||
ebi('u2btn').ondrop = gotfile;
|
ebi('u2btn').ondrop = gotfile;
|
||||||
ebi('u2btn').ondragover = onoverbtn;
|
ebi('u2btn').ondragover = onoverbtn;
|
||||||
|
ebi('wrap').ondrop = gotfile;
|
||||||
|
ebi('wrap').ondragover = onoverbtn;
|
||||||
|
|
||||||
var drops = [ebi('up_dz'), ebi('srch_dz')];
|
var drops = [ebi('up_dz'), ebi('srch_dz')];
|
||||||
for (var a = 0; a < 2; a++) {
|
for (var a = 0; a < 2; a++) {
|
||||||
|
|
@ -1156,12 +1193,24 @@ function up2k_init(subtle) {
|
||||||
|
|
||||||
function gotfile(e) {
|
function gotfile(e) {
|
||||||
ev(e);
|
ev(e);
|
||||||
|
|
||||||
|
if (e.dataTransfer && e.dataTransfer.getData("text") && e.dataTransfer.getData("text").startsWith(window.location.origin)){
|
||||||
|
var currLink = e.dataTransfer.getData("text");
|
||||||
|
console.log("wrap.ondrop: " + currLink);
|
||||||
|
fileman.clip = currLink.split("\n");
|
||||||
|
|
||||||
|
fileman.cut();
|
||||||
|
msel.evsel();
|
||||||
|
fileman.paste(true);
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
nenters = 0;
|
nenters = 0;
|
||||||
offdrag.call(this);
|
offdrag.call(this);
|
||||||
var dz = this && this.getAttribute('id');
|
// var dz = this && this.getAttribute('id');
|
||||||
if (!dz && e && e.clientY)
|
// if (!dz && e && e.clientY)
|
||||||
// cuo2duo fallback
|
// // cuo2duo fallback
|
||||||
dz = e.clientY < window.innerHeight / 2 ? 'up_dz' : 'srch_dz';
|
// dz = e.clientY < window.innerHeight / 2 ? 'up_dz' : 'srch_dz';
|
||||||
|
|
||||||
var err = this.getAttribute('err');
|
var err = this.getAttribute('err');
|
||||||
if (err)
|
if (err)
|
||||||
|
|
@ -1169,11 +1218,11 @@ function up2k_init(subtle) {
|
||||||
|
|
||||||
toast.inf(0, L.u_scan);
|
toast.inf(0, L.u_scan);
|
||||||
|
|
||||||
if ((dz == 'up_dz' && uc.fsearch) || (dz == 'srch_dz' && !uc.fsearch))
|
// if ((dz == 'up_dz' && uc.fsearch) || (dz == 'srch_dz' && !uc.fsearch))
|
||||||
tgl_fsearch();
|
// tgl_fsearch();
|
||||||
|
|
||||||
if (!QS('#op_up2k.act'))
|
if(!uc.fsearch)
|
||||||
goto('up2k');
|
up2k.init_deps();
|
||||||
|
|
||||||
var files,
|
var files,
|
||||||
is_itemlist = false;
|
is_itemlist = false;
|
||||||
|
|
@ -1978,7 +2027,7 @@ function up2k_init(subtle) {
|
||||||
ng = pvis.ctr.ng,
|
ng = pvis.ctr.ng,
|
||||||
spd = Math.floor(st.bytes.finished / st.time.busy),
|
spd = Math.floor(st.bytes.finished / st.time.busy),
|
||||||
suf = '\n\n{0} @ {1}/s'.format(shumantime(st.time.busy), humansize(spd)),
|
suf = '\n\n{0} @ {1}/s'.format(shumantime(st.time.busy), humansize(spd)),
|
||||||
t = uc.ask_up ? 0 : 10;
|
t = 10; // uc.ask_up ? 0 : 10;
|
||||||
|
|
||||||
console.log('toast', ok, ng);
|
console.log('toast', ok, ng);
|
||||||
|
|
||||||
|
|
@ -3019,41 +3068,6 @@ function up2k_init(subtle) {
|
||||||
/// config ui
|
/// config ui
|
||||||
//
|
//
|
||||||
|
|
||||||
function onresize(e) {
|
|
||||||
// 10x faster than matchMedia('(min-width
|
|
||||||
var bar = ebi('ops'),
|
|
||||||
wpx = window.innerWidth,
|
|
||||||
fpx = parseInt(getComputedStyle(bar)['font-size']),
|
|
||||||
wem = wpx * 1.0 / fpx,
|
|
||||||
wide = wem > 57 ? 'w' : '',
|
|
||||||
parent = ebi(wide ? 'u2btn_cw' : 'u2btn_ct'),
|
|
||||||
btn = ebi('u2btn');
|
|
||||||
|
|
||||||
if (btn.parentNode !== parent) {
|
|
||||||
parent.appendChild(btn);
|
|
||||||
ebi('u2conf').className = ebi('u2cards').className = ebi('u2etaw').className = wide;
|
|
||||||
}
|
|
||||||
|
|
||||||
wide = wem > 86 ? 'ww' : wide;
|
|
||||||
parent = ebi(wide == 'ww' ? 'u2c3w' : 'u2c3t');
|
|
||||||
var its = [ebi('u2etaw'), ebi('u2cards')];
|
|
||||||
if (its[0].parentNode !== parent) {
|
|
||||||
ebi('u2conf').className = wide;
|
|
||||||
for (var a = 0; a < 2; a++) {
|
|
||||||
parent.appendChild(its[a]);
|
|
||||||
its[a].className = wide;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
onresize100.add(onresize, true);
|
|
||||||
|
|
||||||
if (MOBILE) {
|
|
||||||
// android-chrome wobbles for a bit; firefox / iOS-safari are OK
|
|
||||||
setTimeout(onresize, 20);
|
|
||||||
setTimeout(onresize, 100);
|
|
||||||
setTimeout(onresize, 500);
|
|
||||||
}
|
|
||||||
|
|
||||||
var o = QSA('#u2conf .c *[tt]');
|
var o = QSA('#u2conf .c *[tt]');
|
||||||
for (var a = o.length - 1; a >= 0; a--) {
|
for (var a = o.length - 1; a >= 0; a--) {
|
||||||
o[a].parentNode.getElementsByTagName('input')[0].setAttribute('tt', o[a].getAttribute('tt'));
|
o[a].parentNode.getElementsByTagName('input')[0].setAttribute('tt', o[a].getAttribute('tt'));
|
||||||
|
|
@ -3284,7 +3298,10 @@ function up2k_init(subtle) {
|
||||||
|
|
||||||
try {
|
try {
|
||||||
clmod(ebi('u2c3w'), 's', !can_write);
|
clmod(ebi('u2c3w'), 's', !can_write);
|
||||||
QS('label[for="fsearch"]').style.display = QS('#fsearch').style.display = fixed ? 'none' : '';
|
QS('#fsearch').style.display = fixed ? 'none' : '';
|
||||||
|
var lbls = QSA('label[for="fsearch"]');
|
||||||
|
for(var i=0; i<lbls.length; i++)
|
||||||
|
lbls[i].style.display = fixed ? 'none' : '';
|
||||||
}
|
}
|
||||||
catch (ex) { }
|
catch (ex) { }
|
||||||
|
|
||||||
|
|
@ -3293,6 +3310,7 @@ function up2k_init(subtle) {
|
||||||
desc = uc.fsearch ? L.ul_btns : L.ul_btnu;
|
desc = uc.fsearch ? L.ul_btns : L.ul_btnu;
|
||||||
|
|
||||||
clmod(ebi('op_up2k'), 'srch', uc.fsearch);
|
clmod(ebi('op_up2k'), 'srch', uc.fsearch);
|
||||||
|
clmod(ebi('u2conf'), 'srch', uc.fsearch);
|
||||||
ebi('u2bm').innerHTML = ico + ' <sup>' + desc + '</sup>';
|
ebi('u2bm').innerHTML = ico + ' <sup>' + desc + '</sup>';
|
||||||
}
|
}
|
||||||
catch (ex) { }
|
catch (ex) { }
|
||||||
|
|
@ -3308,7 +3326,6 @@ function up2k_init(subtle) {
|
||||||
|
|
||||||
draw_turbo();
|
draw_turbo();
|
||||||
draw_life();
|
draw_life();
|
||||||
onresize();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
function apply_flag_cfg() {
|
function apply_flag_cfg() {
|
||||||
|
|
@ -3440,8 +3457,8 @@ function warn_uploader_busy(e) {
|
||||||
tt.init();
|
tt.init();
|
||||||
favico.init();
|
favico.init();
|
||||||
ebi('ico1').onclick = function () {
|
ebi('ico1').onclick = function () {
|
||||||
var a = favico.txt == this.textContent;
|
var a = favico.txt == '🎉';
|
||||||
swrite('icot', a ? 'c' : this.textContent);
|
swrite('icot', a ? 'c' : '🎉');
|
||||||
swrite('icof', a ? 'fc5' : '000');
|
swrite('icof', a ? 'fc5' : '000');
|
||||||
swrite('icob', a ? '222' : '');
|
swrite('icob', a ? '222' : '');
|
||||||
favico.init();
|
favico.init();
|
||||||
|
|
|
||||||
|
|
@ -20,6 +20,13 @@ if (window.CGV)
|
||||||
Object.assign(window, window.CGV);
|
Object.assign(window, window.CGV);
|
||||||
|
|
||||||
|
|
||||||
|
function supportsEmoji() {
|
||||||
|
var ctx = document.createElement('canvas').getContext('2d');
|
||||||
|
ctx.canvas.width = ctx.canvas.height = 1;
|
||||||
|
ctx.fillText('🎉', -4, 4);
|
||||||
|
return ctx.getImageData(0, 0, 1, 1).data[3] > 0; // Checks if pixels were drawn
|
||||||
|
}
|
||||||
|
|
||||||
var wah = '',
|
var wah = '',
|
||||||
STG = null,
|
STG = null,
|
||||||
NOAC = 'autocorrect="off" autocapitalize="off"',
|
NOAC = 'autocorrect="off" autocapitalize="off"',
|
||||||
|
|
@ -35,6 +42,8 @@ var wah = '',
|
||||||
VCHROME = CHROME ? 1 : 0,
|
VCHROME = CHROME ? 1 : 0,
|
||||||
UA = '' + navigator.userAgent,
|
UA = '' + navigator.userAgent,
|
||||||
IE = !!document.documentMode,
|
IE = !!document.documentMode,
|
||||||
|
EMOJI = supportsEmoji(),
|
||||||
|
N3DS = /Nintendo 3DS/i.test(UA),
|
||||||
FIREFOX = ('netscape' in window) && / rv:/.test(UA),
|
FIREFOX = ('netscape' in window) && / rv:/.test(UA),
|
||||||
IPHONE = TOUCH && /iPhone|iPad|iPod/i.test(UA),
|
IPHONE = TOUCH && /iPhone|iPad|iPod/i.test(UA),
|
||||||
LINUX = /Linux/.test(UA),
|
LINUX = /Linux/.test(UA),
|
||||||
|
|
@ -43,6 +52,10 @@ var wah = '',
|
||||||
APPLE = IPHONE || MACOS,
|
APPLE = IPHONE || MACOS,
|
||||||
APPLEM = TOUCH && APPLE;
|
APPLEM = TOUCH && APPLE;
|
||||||
|
|
||||||
|
window.onpointerdown = function (e) {
|
||||||
|
TOUCH = e.pointerType === "touch";
|
||||||
|
}
|
||||||
|
|
||||||
if (!window.WebAssembly || !WebAssembly.Memory)
|
if (!window.WebAssembly || !WebAssembly.Memory)
|
||||||
window.WebAssembly = false;
|
window.WebAssembly = false;
|
||||||
|
|
||||||
|
|
@ -766,7 +779,7 @@ function assert_vp(path) {
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
function linksplit(rp, base, id) {
|
function linksplit(rp, base, id, flink) {
|
||||||
var ret = [],
|
var ret = [],
|
||||||
apath = base || '/',
|
apath = base || '/',
|
||||||
q = null;
|
q = null;
|
||||||
|
|
@ -803,7 +816,7 @@ function linksplit(rp, base, id) {
|
||||||
link += '" id="' + id;
|
link += '" id="' + id;
|
||||||
}
|
}
|
||||||
|
|
||||||
ret.push('<a href="' + apath + link + '">' + vlink + '</a>');
|
ret.push('<a href="' + apath + link + '" class="' + (!rp ? 'flink' : '') + '">' + vlink + '</a>');
|
||||||
apath += link;
|
apath += link;
|
||||||
}
|
}
|
||||||
return ret;
|
return ret;
|
||||||
|
|
@ -1324,8 +1337,12 @@ function bcfg_upd_ui(name, val) {
|
||||||
if (!o)
|
if (!o)
|
||||||
return val;
|
return val;
|
||||||
|
|
||||||
if (o.getAttribute('type') == 'checkbox')
|
if (o.getAttribute('type') == 'checkbox'){
|
||||||
o.checked = val;
|
o.checked = val;
|
||||||
|
var lbls = QSA('label[for="' + o.id +'"]');
|
||||||
|
for(var i=0; i<lbls.length; i++)
|
||||||
|
clmod(lbls[i], 'on', val);
|
||||||
|
}
|
||||||
else if (o) {
|
else if (o) {
|
||||||
clmod(o, 'on', val);
|
clmod(o, 'on', val);
|
||||||
}
|
}
|
||||||
|
|
@ -1397,7 +1414,7 @@ function hist_replace(url) {
|
||||||
|
|
||||||
function sethash(hv) {
|
function sethash(hv) {
|
||||||
if (window.history && history.replaceState) {
|
if (window.history && history.replaceState) {
|
||||||
hist_replace(location.pathname + location.search + '#' + hv);
|
hist_replace(location.pathname + location.search + (hv ? '#' : '') + hv);
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
location.hash = hv;
|
location.hash = hv;
|
||||||
|
|
@ -1590,6 +1607,18 @@ var tt = (function () {
|
||||||
return el.getAttribute('tt');
|
return el.getAttribute('tt');
|
||||||
};
|
};
|
||||||
|
|
||||||
|
r.parse = function(msg){
|
||||||
|
if(msg == null || msg.length == 0)
|
||||||
|
return msg;
|
||||||
|
if (msg.startsWith('`')) {
|
||||||
|
var x = false;
|
||||||
|
msg = msg.slice(1);
|
||||||
|
while (msg.indexOf('`') + 1)
|
||||||
|
msg = msg.replace('`', (x = !x) ? '<code>' : '</code>');
|
||||||
|
}
|
||||||
|
return msg.replace(/\$N/g, "<br />");
|
||||||
|
}
|
||||||
|
|
||||||
r.show = function () {
|
r.show = function () {
|
||||||
clearTimeout(tev);
|
clearTimeout(tev);
|
||||||
if (r.skip) {
|
if (r.skip) {
|
||||||
|
|
@ -1600,13 +1629,6 @@ var tt = (function () {
|
||||||
if (!msg)
|
if (!msg)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
if (msg.startsWith('`')) {
|
|
||||||
var x = false;
|
|
||||||
msg = msg.slice(1);
|
|
||||||
while (msg.indexOf('`') + 1)
|
|
||||||
msg = msg.replace('`', (x = !x) ? '<code>' : '</code>')
|
|
||||||
}
|
|
||||||
|
|
||||||
r.el = this;
|
r.el = this;
|
||||||
var pos = this.getBoundingClientRect(),
|
var pos = this.getBoundingClientRect(),
|
||||||
dir = this.getAttribute('ttd') || '',
|
dir = this.getAttribute('ttd') || '',
|
||||||
|
|
@ -1622,7 +1644,7 @@ var tt = (function () {
|
||||||
r.tt.style.left = '0';
|
r.tt.style.left = '0';
|
||||||
r.tt.style.top = '0';
|
r.tt.style.top = '0';
|
||||||
|
|
||||||
r.tt.innerHTML = msg.replace(/\$N/g, "<br />");
|
r.tt.innerHTML = r.parse(msg);
|
||||||
r.el.addEventListener('mouseleave', r.hide);
|
r.el.addEventListener('mouseleave', r.hide);
|
||||||
window.addEventListener('scroll', r.hide);
|
window.addEventListener('scroll', r.hide);
|
||||||
clmod(r.tt, 'show', 1);
|
clmod(r.tt, 'show', 1);
|
||||||
|
|
@ -1643,6 +1665,10 @@ var tt = (function () {
|
||||||
|
|
||||||
r.hide = function (e) {
|
r.hide = function (e) {
|
||||||
//ev(e); // eats checkbox-label clicks
|
//ev(e); // eats checkbox-label clicks
|
||||||
|
|
||||||
|
r.show.bind(null);
|
||||||
|
r.el = null;
|
||||||
|
|
||||||
clearTimeout(tev);
|
clearTimeout(tev);
|
||||||
window.removeEventListener('scroll', r.hide);
|
window.removeEventListener('scroll', r.hide);
|
||||||
|
|
||||||
|
|
@ -1736,6 +1762,8 @@ var toast = (function () {
|
||||||
scrolling = false,
|
scrolling = false,
|
||||||
obj = mknod('div', 'toast');
|
obj = mknod('div', 'toast');
|
||||||
|
|
||||||
|
clmod(obj, 'hide', true);
|
||||||
|
|
||||||
document.body.appendChild(obj);
|
document.body.appendChild(obj);
|
||||||
r.visible = false;
|
r.visible = false;
|
||||||
r.txt = null;
|
r.txt = null;
|
||||||
|
|
@ -1816,7 +1844,7 @@ var toast = (function () {
|
||||||
setcvar('--tmstep', Math.floor(sec * 20));
|
setcvar('--tmstep', Math.floor(sec * 20));
|
||||||
html += '<div id="toastt"></div>';
|
html += '<div id="toastt"></div>';
|
||||||
}
|
}
|
||||||
obj.innerHTML = html + '<a href="#" id="toastc">x</a><div id="toastb">' + lf2br(txt) + '</div>';
|
obj.innerHTML = html + '<a href="#" id="toastc"><span class="x">×</span></a><div id="toastb">' + lf2br(txt) + '</div>';
|
||||||
obj.className = cl;
|
obj.className = cl;
|
||||||
sec += obj.offsetWidth;
|
sec += obj.offsetWidth;
|
||||||
obj.className += ' vis';
|
obj.className += ' vis';
|
||||||
|
|
@ -2264,7 +2292,7 @@ var favico = (function () {
|
||||||
|
|
||||||
var gx = function (txt) {
|
var gx = function (txt) {
|
||||||
return (svg_decl +
|
return (svg_decl +
|
||||||
'<svg version="1.1" viewBox="0 0 64 64" xmlns="http://www.w3.org/2000/svg">\n' +
|
'<svg version="1.1" viewBox="0 0 70 70" xmlns="http://www.w3.org/2000/svg">\n' +
|
||||||
(r.bg ? '<rect width="100%" height="100%" rx="16" fill="#' + r.bg + '" />\n' : '') +
|
(r.bg ? '<rect width="100%" height="100%" rx="16" fill="#' + r.bg + '" />\n' : '') +
|
||||||
'<text x="50%" y="55%" dominant-baseline="middle" text-anchor="middle"' +
|
'<text x="50%" y="55%" dominant-baseline="middle" text-anchor="middle"' +
|
||||||
' font-family="sans-serif" font-weight="bold" font-size="64px"' +
|
' font-family="sans-serif" font-weight="bold" font-size="64px"' +
|
||||||
|
|
@ -2301,6 +2329,11 @@ var favico = (function () {
|
||||||
document.head.appendChild(r.tag);
|
document.head.appendChild(r.tag);
|
||||||
}
|
}
|
||||||
r.tag.href = 'data:image/svg+xml;base64,' + b64;
|
r.tag.href = 'data:image/svg+xml;base64,' + b64;
|
||||||
|
|
||||||
|
var fiop = ebi('favico_onpage');
|
||||||
|
if(fiop != null){
|
||||||
|
fiop.innerHTML = svg ? atob(b64) : gx(r.txt);
|
||||||
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
r.init = function () {
|
r.init = function () {
|
||||||
|
|
@ -2314,8 +2347,7 @@ var favico = (function () {
|
||||||
scfg_bind(r, 'bg', 'icob', bg, r.upd);
|
scfg_bind(r, 'bg', 'icob', bg, r.upd);
|
||||||
r.upd();
|
r.upd();
|
||||||
};
|
};
|
||||||
|
r.init();
|
||||||
r.to = setTimeout(r.init, 100);
|
|
||||||
return r;
|
return r;
|
||||||
})();
|
})();
|
||||||
|
|
||||||
|
|
@ -2331,7 +2363,7 @@ function bchrome() {
|
||||||
return;
|
return;
|
||||||
|
|
||||||
try {
|
try {
|
||||||
v = cprop('--bg-u3');
|
v = cprop('--a');
|
||||||
}
|
}
|
||||||
catch (ex) { }
|
catch (ex) { }
|
||||||
o.setAttribute('content', v ? v : document.documentElement.className.indexOf('y') + 1 ? '#eee' : '#333');
|
o.setAttribute('content', v ? v : document.documentElement.className.indexOf('y') + 1 ? '#eee' : '#333');
|
||||||
|
|
@ -2399,4 +2431,25 @@ function xhrchk(xhr, prefix, e404, lvl, tag) {
|
||||||
return fun(0, prefix + xhr.status + ": " + errtxt, tag);
|
return fun(0, prefix + xhr.status + ": " + errtxt, tag);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// register service worker
|
||||||
|
// ToDo: set http header: Service-Worker-Allowed: /
|
||||||
|
// otherwise it will fail to register
|
||||||
|
// https://stackoverflow.com/questions/49084718/how-exactly-add-service-worker-allowed-to-register-service-worker-scope-in-upp
|
||||||
|
window.addEventListener('load', async () => {
|
||||||
|
try {
|
||||||
|
const registration = await navigator.serviceWorker.register("/.cpr/w/sw.js", {
|
||||||
|
scope: "/",
|
||||||
|
});
|
||||||
|
if (registration.installing) {
|
||||||
|
console.log("Service worker installing");
|
||||||
|
} else if (registration.waiting) {
|
||||||
|
console.log("Service worker installed");
|
||||||
|
} else if (registration.active) {
|
||||||
|
console.log("Service worker active");
|
||||||
|
}
|
||||||
|
} catch (error) {
|
||||||
|
console.error(`Registration failed with ${error}`);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
J_UTL = 2;
|
J_UTL = 2;
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,80 @@
|
||||||
▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
|
▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
|
||||||
|
# 2026-0428-0907 `v1.21.0` UI V1.5
|
||||||
|
|
||||||
|
## 😴 tl;dr
|
||||||
|
|
||||||
|
* the web UI changed a LOT
|
||||||
|
* nice mobile layout
|
||||||
|
* try setting an accent color in the theme settings
|
||||||
|
* drag n drop within copyparty and between browser windows of same server
|
||||||
|
* the used storage metric is now at the bottom of the folder tree
|
||||||
|
* the account details and control panel link are now in the account popup (top right)
|
||||||
|
* media player settings and normal settings have merged
|
||||||
|
* new file / new folder have moved from the top bar to the [+] button / right click menu (also accessible via long press on mobile)
|
||||||
|
|
||||||
|
## 🧪 new features
|
||||||
|
|
||||||
|
* [Add moving files into other folders by dragging](https://github.com/tilse/copyparty-uiV1.5/pull/1) within the browser window to move files or folders
|
||||||
|
* extend drag n drop logic to work between browser windows
|
||||||
|
* custom accent color setting added. works best for light and dark themes (the first 4 in the list)
|
||||||
|
* custom corner rounding in settings
|
||||||
|
* added 2 new themes: poison // wing
|
||||||
|
* long press on mobile selects the element in grid view by default
|
||||||
|
* long pressing selected items brings up the context menu
|
||||||
|
* selection checkboxes on items in grid view
|
||||||
|
* the tree and path can be visible at the same time
|
||||||
|
* resize drag handle at the edge of the folder tree
|
||||||
|
* new design for placeholder thumbnails
|
||||||
|
* #386 gallery view toggle for smaller margins / bigger image previews
|
||||||
|
* settings and upload are now a popup/modal by default (can be moved)
|
||||||
|
* settings can be navigated via sections and former tooltip info is now always visible
|
||||||
|
* new floating [+] button in bottom right for quickly creating files / folders / uploading
|
||||||
|
* searching folders / subfolders is now possible, and is the new default when clicking the search button. old-school extended search options are accessible via down arrow in the search box
|
||||||
|
* storage capacity progress bar at bottom of folder tree
|
||||||
|
* account button with popup in the top right
|
||||||
|
* search in "quotes with spaces" is now possible to find file names including spaces
|
||||||
|
* new simpler audio progress bar slider added as option
|
||||||
|
* quick setting for changing loop mode via bottom media player bar
|
||||||
|
* a volume icon that works as a mute toggle
|
||||||
|
* name of playing audio is now displayed
|
||||||
|
* audio equalizer can be operated via sliders
|
||||||
|
* image viewer has nearest neighbor scale mode toggle
|
||||||
|
* toggle to scale up small grid thumbnails to fit
|
||||||
|
|
||||||
|
## 🩹 bugfixes
|
||||||
|
|
||||||
|
* #1455 tooltips disappear more consistently when element is no longer hovered
|
||||||
|
* scrollable tree header so all options are accessible independent of tree width
|
||||||
|
* #1378 improved mobile layout
|
||||||
|
* media player has "fade" option now to disable fade in / fade out, which fixes play / pause on iOS lockscreens
|
||||||
|
* #1002 proper overflow handling for text files or readmes (svg editor still overflows, but it doesn't break the page layout anymore)
|
||||||
|
|
||||||
|
## 🔧 other changes
|
||||||
|
|
||||||
|
* media player settings have moved to the main settings modal
|
||||||
|
* creating files / folders is now done via right click menu, or the plus button in the bottom right
|
||||||
|
* grid view toggle is now in grid header
|
||||||
|
* default file sizes in MB
|
||||||
|
* control panel button now lives in the account popup in the top bar
|
||||||
|
* searching for files via drag n drop is now only possible when the search mode is toggled in the up2k UI
|
||||||
|
* bup is an optional dropdown in the up2k modal
|
||||||
|
* many mobile layout usability improvements
|
||||||
|
* more consistent areas for clicking to navigate left / right in the image viewer (they don't depend on image fill mode anymore)
|
||||||
|
* "folder up" / "next sibling" / "previous sibling" are now icon buttons at the top
|
||||||
|
* new look for the login screen
|
||||||
|
* pm-monokai theme has become "flat dark"
|
||||||
|
|
||||||
|
## 🌠 fun facts
|
||||||
|
|
||||||
|
* full support for the new 3DS, except some emoji rendering issues
|
||||||
|
* it was a lot of work to keep all themes intact
|
||||||
|
* some UI elements have gained IDs, so it should be easier to style them
|
||||||
|
|
||||||
|
## 😔 unfun facts
|
||||||
|
|
||||||
|
* #1209 (partially), #711 added a setting that gets rid of (most) emojis
|
||||||
|
|
||||||
|
|
||||||
# 2026-0424-2222 `v1.20.14` autolocalization
|
# 2026-0424-2222 `v1.20.14` autolocalization
|
||||||
|
|
||||||
## 🧪 new features
|
## 🧪 new features
|
||||||
|
|
@ -57,7 +133,6 @@
|
||||||
* this release was powered by [一体いつから (TaKo Hardcore bootleg)](https://soundcloud.com/takomusiccc/tako-hardcore-bootleg) followed by [Fighting My Way (YUPPUN Hardcore Remix)](https://soundcloud.com/yuppun/fightingmyway) (shd is a good dj)
|
* this release was powered by [一体いつから (TaKo Hardcore bootleg)](https://soundcloud.com/takomusiccc/tako-hardcore-bootleg) followed by [Fighting My Way (YUPPUN Hardcore Remix)](https://soundcloud.com/yuppun/fightingmyway) (shd is a good dj)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
|
▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
|
||||||
# 2026-0323-0328 `v1.20.13` dothidden
|
# 2026-0323-0328 `v1.20.13` dothidden
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1476,7 +1476,7 @@
|
||||||
see-dots
|
see-dots
|
||||||
|
|
||||||
# number of confirmations to show when deleting files (2/1/0)
|
# number of confirmations to show when deleting files (2/1/0)
|
||||||
qdel: 2 # default
|
qdel: 1 # default
|
||||||
|
|
||||||
# don't show files/folders matching REGEX in file list. WARNING: Purely cosmetic! Does not affect API calls, just the browser. Example: [\.(js|css)$]
|
# don't show files/folders matching REGEX in file list. WARNING: Purely cosmetic! Does not affect API calls, just the browser. Example: [\.(js|css)$]
|
||||||
# 📂 also available as volflag "unlist"
|
# 📂 also available as volflag "unlist"
|
||||||
|
|
|
||||||
|
|
@ -404,8 +404,17 @@ git describe --tags >/dev/null 2>/dev/null && {
|
||||||
printf 'unexpected git version format: [%s]\n' "$git_ver"
|
printf 'unexpected git version format: [%s]\n' "$git_ver"
|
||||||
exit 1
|
exit 1
|
||||||
}
|
}
|
||||||
|
|
||||||
dt="$(git log -1 --format=%cd --date=short | sed -E 's/-0?/, /g')"
|
dt="$(git log -1 --format=%cd --date=short | sed -E 's/-0?/, /g')"
|
||||||
|
}
|
||||||
|
|
||||||
|
[ "$PRTY_SFX_VER" ] && {
|
||||||
|
# PRTY_SFX_VER='1.20.14-5-g139ef185' PRTY_SFX_DT='2026, 5, 8'
|
||||||
|
# PRTY_SFX_VER='2026-0510-2303' PRTY_SFX_DT='2026, 5, 10'
|
||||||
|
ver="$PRTY_SFX_VER"
|
||||||
|
dt="$PRTY_SFX_DT"
|
||||||
|
}
|
||||||
|
|
||||||
|
[ "$ver" ] && {
|
||||||
printf 'git %3s: \033[36m%s\033[0m\n' ver "$ver" dt "$dt"
|
printf 'git %3s: \033[36m%s\033[0m\n' ver "$ver" dt "$dt"
|
||||||
sed -ri '
|
sed -ri '
|
||||||
s/^(VERSION =)(.*)/#\1\2\n\1 ('"$t_ver"')/;
|
s/^(VERSION =)(.*)/#\1\2\n\1 ('"$t_ver"')/;
|
||||||
|
|
|
||||||
|
|
@ -75,6 +75,8 @@ copyparty/web/browser.js,
|
||||||
copyparty/web/browser2.html,
|
copyparty/web/browser2.html,
|
||||||
copyparty/web/cf.html,
|
copyparty/web/cf.html,
|
||||||
copyparty/web/copyparty.gif,
|
copyparty/web/copyparty.gif,
|
||||||
|
copyparty/web/copyparty.png,
|
||||||
|
copyparty/web/copyparty.svg,
|
||||||
copyparty/web/deps,
|
copyparty/web/deps,
|
||||||
copyparty/web/deps/__init__.py,
|
copyparty/web/deps/__init__.py,
|
||||||
copyparty/web/deps/busy.mp3,
|
copyparty/web/deps/busy.mp3,
|
||||||
|
|
@ -84,6 +86,7 @@ copyparty/web/deps/mfusepy.py,
|
||||||
copyparty/web/deps/marked.js,
|
copyparty/web/deps/marked.js,
|
||||||
copyparty/web/deps/mini-fa.css,
|
copyparty/web/deps/mini-fa.css,
|
||||||
copyparty/web/deps/mini-fa.woff,
|
copyparty/web/deps/mini-fa.woff,
|
||||||
|
copyparty/web/deps/orbitron.woff2,
|
||||||
copyparty/web/deps/prism.css,
|
copyparty/web/deps/prism.css,
|
||||||
copyparty/web/deps/prism.js,
|
copyparty/web/deps/prism.js,
|
||||||
copyparty/web/deps/prismd.css,
|
copyparty/web/deps/prismd.css,
|
||||||
|
|
@ -92,6 +95,7 @@ copyparty/web/deps/sha512.ac.js,
|
||||||
copyparty/web/deps/sha512.hw.js,
|
copyparty/web/deps/sha512.hw.js,
|
||||||
copyparty/web/idp.html,
|
copyparty/web/idp.html,
|
||||||
copyparty/web/iiam.gif,
|
copyparty/web/iiam.gif,
|
||||||
|
copyparty/web/manifest.json,
|
||||||
copyparty/web/md.css,
|
copyparty/web/md.css,
|
||||||
copyparty/web/md.html,
|
copyparty/web/md.html,
|
||||||
copyparty/web/md.js,
|
copyparty/web/md.js,
|
||||||
|
|
@ -114,6 +118,7 @@ copyparty/web/splash.html,
|
||||||
copyparty/web/splash.js,
|
copyparty/web/splash.js,
|
||||||
copyparty/web/svcs.html,
|
copyparty/web/svcs.html,
|
||||||
copyparty/web/svcs.js,
|
copyparty/web/svcs.js,
|
||||||
|
copyparty/web/sw.js,
|
||||||
copyparty/web/tl,
|
copyparty/web/tl,
|
||||||
copyparty/web/tl/chi.js,
|
copyparty/web/tl/chi.js,
|
||||||
copyparty/web/tl/cze.js,
|
copyparty/web/tl/cze.js,
|
||||||
|
|
|
||||||
|
|
@ -37,7 +37,7 @@ Ls.hmn = {
|
||||||
"tt": "Hymmnos",
|
"tt": "Hymmnos",
|
||||||
|
|
||||||
"cols": {
|
"cols": {
|
||||||
"c": "action buttons",
|
"!": "action buttons",
|
||||||
"dur": "duration",
|
"dur": "duration",
|
||||||
"q": "quality / bitrate",
|
"q": "quality / bitrate",
|
||||||
"Ac": "audio codec",
|
"Ac": "audio codec",
|
||||||
|
|
@ -46,7 +46,7 @@ Ls.hmn = {
|
||||||
"Ahash": "audio checksum",
|
"Ahash": "audio checksum",
|
||||||
"Vhash": "video checksum",
|
"Vhash": "video checksum",
|
||||||
"Res": "resolution",
|
"Res": "resolution",
|
||||||
"T": "filetype",
|
"Ext": "filetype",
|
||||||
"aq": "audio quality / bitrate",
|
"aq": "audio quality / bitrate",
|
||||||
"vq": "video quality / bitrate",
|
"vq": "video quality / bitrate",
|
||||||
"pixfmt": "subsampling / pixel structure",
|
"pixfmt": "subsampling / pixel structure",
|
||||||
|
|
@ -65,7 +65,7 @@ Ls.hmn = {
|
||||||
["G", "toggle list / grid view"],
|
["G", "toggle list / grid view"],
|
||||||
["T", "toggle thumbnails / icons"],
|
["T", "toggle thumbnails / icons"],
|
||||||
["⇧ A/D", "thumbnail size"],
|
["⇧ A/D", "thumbnail size"],
|
||||||
["ctrl-K", "delete selected"],
|
["ctrl-K/Del", "delete selected"],
|
||||||
["ctrl-X", "cut selection to clipboard"],
|
["ctrl-X", "cut selection to clipboard"],
|
||||||
["ctrl-C", "copy selection to clipboard"],
|
["ctrl-C", "copy selection to clipboard"],
|
||||||
["ctrl-V", "paste (move/copy) here"],
|
["ctrl-V", "paste (move/copy) here"],
|
||||||
|
|
@ -139,9 +139,9 @@ Ls.hmn = {
|
||||||
"ht_and": " and ",
|
"ht_and": " and ",
|
||||||
|
|
||||||
"goh": "control-panel",
|
"goh": "control-panel",
|
||||||
"gop": 'previous sibling">prev',
|
"gop": 'previous sibling',
|
||||||
"gou": 'parent folder">up',
|
"gou": 'parent folder',
|
||||||
"gon": 'next folder">next',
|
"gon": 'next folder',
|
||||||
"logout": "Logout ",
|
"logout": "Logout ",
|
||||||
"login": "Login",
|
"login": "Login",
|
||||||
"access": " access",
|
"access": " access",
|
||||||
|
|
@ -189,7 +189,7 @@ Ls.hmn = {
|
||||||
"ut_u2ts": "copy the last-modified timestamp$Nfrom your filesystem to the server\">📅",
|
"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_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_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_ask": 'ask for confirmation before upload starts',
|
||||||
"ut_pot": "improve upload speed on slow devices$Nby making the UI less complex",
|
"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_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",
|
"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",
|
||||||
|
|
@ -237,12 +237,12 @@ Ls.hmn = {
|
||||||
"u_nav_m": '<h6>aight, what do you have?</h6><code>Enter</code> = Files (one or more)\n<code>ESC</code> = One folder (including subfolders)',
|
"u_nav_m": '<h6>aight, what do you have?</h6><code>Enter</code> = Files (one or more)\n<code>ESC</code> = One folder (including subfolders)',
|
||||||
"u_nav_b": '<a href="#" id="modal-ok">Files</a><a href="#" id="modal-ng">One folder</a>',
|
"u_nav_b": '<a href="#" id="modal-ok">Files</a><a href="#" id="modal-ng">One folder</a>',
|
||||||
|
|
||||||
"cl_opts": "switches",
|
"cl_opts": "general",
|
||||||
"cl_hfsz": "filesize",
|
"cl_hfsz": "filesize",
|
||||||
"cl_themes": "theme",
|
"cl_themes": "theme",
|
||||||
"cl_langs": "language",
|
"cl_langs": "language",
|
||||||
"cl_ziptype": "folder download",
|
"cl_ziptype": "folder download",
|
||||||
"cl_uopts": "up2k switches",
|
"cl_uopts": "upload",
|
||||||
"cl_favico": "favicon",
|
"cl_favico": "favicon",
|
||||||
"cl_bigdir": "big dirs",
|
"cl_bigdir": "big dirs",
|
||||||
"cl_hsort": "#sort",
|
"cl_hsort": "#sort",
|
||||||
|
|
@ -256,7 +256,7 @@ Ls.hmn = {
|
||||||
|
|
||||||
"ct_grid": '田 the grid',
|
"ct_grid": '田 the grid',
|
||||||
"ct_ttips": '◔ ◡ ◔">ℹ️ tooltips',
|
"ct_ttips": '◔ ◡ ◔">ℹ️ tooltips',
|
||||||
"ct_thumb": 'in grid-view, toggle icons or thumbnails$NHotkey: T">🖼️ thumbs',
|
"ct_thumb": 'toggle icons or thumbnails$NHotkey: T">🖼️ thumbs',
|
||||||
"ct_csel": 'use CTRL and SHIFT for file selection in grid-view">sel',
|
"ct_csel": 'use CTRL and SHIFT for file selection in grid-view">sel',
|
||||||
"ct_dsel": 'use drag-selection in grid-view">dsel',
|
"ct_dsel": 'use drag-selection in grid-view">dsel',
|
||||||
"ct_dl": 'force download (don\'t display inline) when a file is clicked">dl',
|
"ct_dl": 'force download (don\'t display inline) when a file is clicked">dl',
|
||||||
|
|
@ -317,7 +317,7 @@ Ls.hmn = {
|
||||||
"ml_drc": "dynamic range compressor",
|
"ml_drc": "dynamic range compressor",
|
||||||
"ml_ss": "skip silence",
|
"ml_ss": "skip silence",
|
||||||
|
|
||||||
"mt_loop": "loop/repeat one song\">🔁",
|
"mt_loop": "loop/repeat one song",
|
||||||
"mt_one": "stop after one song\">1️⃣",
|
"mt_one": "stop after one song\">1️⃣",
|
||||||
"mt_shuf": "shuffle the songs in each folder\">🔀",
|
"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_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▶",
|
||||||
|
|
@ -547,6 +547,7 @@ Ls.hmn = {
|
||||||
"s_f1": "name contains (negate with -nope)",
|
"s_f1": "name contains (negate with -nope)",
|
||||||
"s_t1": "tags contains (^=start, end=$)",
|
"s_t1": "tags contains (^=start, end=$)",
|
||||||
"s_a1": "specific metadata properties",
|
"s_a1": "specific metadata properties",
|
||||||
|
"s_dir": "search this folder",
|
||||||
|
|
||||||
"md_eshow": "cannot render ",
|
"md_eshow": "cannot render ",
|
||||||
"md_off": "[📜<em>readme</em>] disabled in [⚙️] -- document hidden",
|
"md_off": "[📜<em>readme</em>] disabled in [⚙️] -- document hidden",
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue