"use strict";
var XHR = XMLHttpRequest;
var Ls = {
"eng": {
"tt": "English",
"cols": {
"c": "action buttons",
"dur": "duration",
"q": "quality / bitrate",
"Ac": "audio codec",
"Vc": "video codec",
"Ahash": "audio checksum",
"Vhash": "video checksum",
"Res": "resolution",
"T": "filetype",
"aq": "audio quality / bitrate",
"vq": "video quality / bitrate",
"pixfmt": "subsampling / pixel structure",
"resw": "horizontal resolution",
"resh": "veritcal resolution",
"chs": "audio channels",
"hz": "sample rate"
},
"goh": "control-panel",
"logout": "Logout ",
"access": " access",
"ot_close": "close submenu",
"ot_search": "search for files by attributes, path / name, music tags, or any combination of those$N$N<code>foo bar</code> = must contain both «foo» and «bar»,$N<code>foo -bar</code> = must contain «foo» but not «bar»,$N<code>^yana .opus$</code> = start with «yana» and be an «opus» file$N<code>"try unite"</code> = contain exactly «try unite»$N$Nthe date format is iso-8601, like$N<code>2009-12-31</code> or <code>2020-09-12 23:30:00</code>",
"ot_unpost": "unpost: delete your recent uploads",
"ot_bup": "bup: basic uploader, even supports netscape 4.0",
"ot_mkdir": "mkdir: create a new directory",
"ot_md": "new-md: create a new markdown document",
"ot_msg": "msg: send a message to the server log",
"ot_mp": "media player options",
"ot_cfg": "configuration options",
"ot_u2i": 'up2k: upload files (if you have write-access) or toggle into the search-mode to see if they exist somewhere on the server$N$Nuploads are resumable, multithreaded, and file timestamps are preserved, but it uses more CPU than the basic uploader
during uploads, this icon becomes a progress indicator!',
"ot_u2w": 'up2k: upload files with resume support (close your browser and drop the same files in later)$N$Nmultithreaded, and file timestamps are preserved, but it uses more CPU than the basic uploader
during uploads, this icon becomes a progress indicator!',
"ab_mkdir": "make directory",
"ab_mkdoc": "new markdown doc",
"ab_msg": "send msg to srv log",
"ay_path": "skip to folders",
"ay_files": "skip to files",
"wt_ren": "rename selected items$NHotkey: F2",
"wt_del": "delete selected items$NHotkey: ctrl-K",
"wt_cut": "cut selected items <small>(then paste somewhere else)</small>$NHotkey: ctrl-X",
"wt_pst": "paste a previously cut / copied selection$NHotkey: ctrl-V",
"wt_selall": "select all files$NHotkey: ctrl-A (when file focused)",
"wt_selinv": "invert selection",
"wt_selzip": "download selection as archive",
"wt_npirc": "copy irc-formatted track info",
"wt_nptxt": "copy plaintext track info",
"wt_grid": "toggle grid / list view$NHotkey: G",
"wt_prev": "previous track$NHotkey: J",
"wt_play": "play / pause$NHotkey: P",
"wt_next": "next track$NHotkey: L",
"ul_par": "parallel uploads:",
"ut_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_srch": "don't actually upload, instead check if the files already $N exist on the server (will scan all folders you can read)",
"ut_par": "pause uploads by setting it to 0$N$Nincrease if your connection is slow / high latency$N$Nkeep it 1 on LAN or if the server HDD is a bottleneck",
"ul_btn": "drop files / folders
here (or click me)",
"ul_btnu": "U P L O A D",
"ul_btns": "S E A R C H",
"ul_hash": "hash",
"ul_send": "send",
"ul_done": "done",
"ul_idle1": "no uploads are queued yet",
"ut_etah": "average <em>hashing</em> speed, and estimated time until finish",
"ut_etau": "average <em>upload</em> speed and estimated time until finish",
"ut_etat": "average <em>total</em> speed and estimated time until finish",
"uct_ok": "completed successfully",
"uct_ng": "no-good: failed / rejected / not-found",
"uct_done": "ok and ng combined",
"uct_bz": "hashing or uploading",
"uct_q": "idle, pending",
"utl_name": "filename",
"utl_stat": "status",
"utl_prog": "progress",
"ul_flagblk": "the files were added to the queue
however there is a busy up2k in another browser tab,
so waiting for that to finish first",
"udt_up": "Upload",
"udt_srch": "Search",
"udt_drop": "drop it here",
"cl_opts": "switches",
"cl_themes": "theme",
"cl_langs": "language",
"cl_ziptype": "folder download",
"cl_uopts": "up2k switches",
"cl_favico": "favicon",
"cl_keytype": "key notation",
"cl_hiddenc": "hidden columns",
"cl_reset": "(reset)",
"ct_thumb": "in icon view, toggle icons or thumbnails$NHotkey: T",
"ct_dots": "show hidden files (if server permits)",
"ct_readme": "show README.md in folder listings",
"cut_turbo": "the yolo button, you probably DO NOT want to enable this:$N$Nuse this if you were uploading a huge amount of files and had to restart for some reason, and want to continue the upload ASAP$N$Nthis replaces the hash-check with a simple "does this have the same filesize on the server?" so if the file contents are different it will NOT be uploaded$N$Nyou should turn this off when the upload is done, and then "upload" the same files again to let the client verify them",
"cut_datechk": "has no effect unless the turbo button is enabled$N$Nreduces the yolo factor by a tiny amount; checks whether the file timestamps on the server matches yours$N$Nshould theoretically catch most unfinished / corrupted uploads, but is not a substitute for doing a verification pass with turbo disabled afterwards",
"cut_flag": "ensure only one tab is uploading at a time $N -- other tabs must have this enabled too $N -- only affects tabs on the same domain",
"cut_az": "upload files in alphabetical order, rather than smallest-file-first$N$Nalphabetical order can make it easier to eyeball if something went wrong on the server, but it makes uploading slightly slower on fiber / LAN",
"cft_text": "favicon text (blank and refresh to disable)",
"cft_fg": "foreground color",
"cft_bg": "background color",
"tt_entree": "show navpane (directory tree sidebar)$NHotkey: B",
"tt_detree": "show breadcrumbs$NHotkey: B",
"tt_visdir": "scroll to selected folder",
"tt_ftree": "toggle folder-tree / textfiles$NHotkey: V",
"tt_pdock": "show parent folders in a docked pane at the top",
"tt_dynt": "autogrow as tree expands",
"tt_wrap": "word wrap",
"tt_hover": "reveal overflowing lines on hover$N( breaks scrolling unless mouse $N cursor is in the left gutter )",
"ml_pmode": "playback mode",
"ml_tcode": "transcode",
"ml_tint": "tint",
"ml_eq": "audio equalizer",
"mt_preload": "start loading the next song near the end for gapless playback\">preload",
"mt_fullpre": "try to preload the entire song;$N✅ enable on unreliable connections,$N❌ disable on slow connections probably\">full",
"mt_npclip": "show buttons for clipboarding the currently playing song\">/np",
"mt_octl": "os integration (media hotkeys / osd)\">os-ctl",
"mt_oseek": "allow seeking through os integration\">seek",
"mt_oscv": "show album cover in osd\">art",
"mt_mloop": "loop the open folder\">🔁 loop",
"mt_mnext": "load the next folder and continue\">📂 next",
"mt_cflac": "convert flac to opus\">flac",
"mt_caac": "convert aac / m4a to opus\">aac",
"mt_coth": "convert all others (not mp3) to opus\">oth",
"mt_tint": "background level (0-100) on the seekbar$Nto make buffering less distracting",
"mt_eq": "enables the equalizer and gain control;$Nboost 0 = unmodified 100% volume$N$Nenabling the equalizer makes gapless albums fully gapless, so leave it on with all the values at zero if you care about that",
"mb_play": "play",
"mm_hashplay": "play this audio file?",
"mp_breq": "need firefox 82+ or chrome 73+ or iOS 15+",
"mm_opusen": "your browser cannot play aac / m4a files;\ntranscoding to opus is now enabled",
"mm_playerr": "playback failed: ",
"mm_eabrt": "The playback attempt was cancelled",
"mm_enet": "Your internet connection is wonky",
"mm_edec": "This file is supposedly corrupted??",
"mm_esupp": "Your browser does not understand this audio format",
"mm_eunk": "Unknown Errol",
"mm_e404": "Could not play audio; error 404: File not found.",
"mm_e403": "Could not play audio; error 403: Access denied.\n\nTry pressing F5 to reload, maybe you got logged out",
"mm_e5xx": "Could not play audio; server error ",
"f_chide": 'this will hide the column «{0}»\n\nyou can unhide columns in the settings tab',
"f_bigtxt": "this file is {0} MiB large -- really view as text?",
"ft_paste": "paste {0} items$NHotkey: ctrl-V",
"fr_eperm": 'cannot rename:\nyou do not have “move” permission in this folder',
"fd_eperm": 'cannot delete:\nyou do not have “delete” permission in this folder',
"fc_eperm": 'cannot cut:\nyou do not have “move” permission in this folder',
"fp_eperm": 'cannot paste:\nyou do not have “write” permission in this folder',
"fr_emore": "select at least one item to rename",
"fd_emore": "select at least one item to delete",
"fc_emore": "select at least one item to cut",
"frt_dec": "may fix some cases of broken filenames\">url-decode",
"frt_rst": "reset modified filenames back to the original ones\">↺ reset",
"frt_abrt": "abort and close this window\">❌ cancel",
"frb_apply": "APPLY RENAME",
"fr_adv": "batch / metadata / pattern renaming\">advanced",
"fr_case": "case-sensitive regex\">case",
"fr_pdel": "delete",
"fr_pnew": "save as",
"fr_pname": "provide a name for your new preset",
"fr_aborted": "aborted",
"fr_lold": "old name",
"fr_lnew": "new name",
"fr_tags": "tags for the selected files (read-only, just for reference):",
"fr_busy": "renaming {0} items...\n\n{1}",
"fr_efail": "rename failed:\n",
"fd_ok": "delete OK",
"fd_err": "delete failed:\n",
"fd_busy": "deleting {0} items...\n\n{1}",
"fd_warn1": "DELETE these {0} items?",
"fd_warn2": "Last chance! No way to undo. Delete?",
"fc_ok": "cut {0} items",
"fc_warn": 'cut {0} items\n\nbut: only this browser-tab can paste them\n(since the selection is so absolutely massive)',
"fp_ecut": "first cut some files / folders to paste / move\n\nnote: you can cut / paste across different browser tabs",
"fp_ename": "these {0} items cannot be moved here (names already exist):",
"fp_ok": "move OK",
"fp_busy": "moving {0} items...\n\n{1}",
"fp_err": "move failed:\n",
"fp_confirm": "move these {0} items here?",
"fp_etab": 'failed to read clipboard from other browser tab',
"tv_load": "Loading text document:\n\n{0}\n\n{1}% ({2} of {3} MiB loaded)",
"tv_xe1": "could not load textfile:\n\nerror ",
"tv_xe2": "404, file not found",
"tv_lst": "list of textfiles in",
"tvt_close": "return to folder view$NHotkey: M\">❌ close",
"tvt_dl": "download this file\">💾 download",
"tvt_prev": "show previous document$NHotkey: i\">⬆ prev",
"tvt_next": "show next document$NHotkey: K\">⬇ next",
"tvt_sel": "select file ( for cut / delete / ... )$NHotkey: S\">sel",
"gt_msel": "enable file selection; ctrl-click a file to override$N$N<em>when active: doubleclick a file / folder to open it</em>$N$NHotkey: S\">multiselect",
"gt_zoom": "zoom",
"gt_chop": "chop",
"gt_sort": "sort by",
"gt_name": "name",
"gt_sz": "size",
"gt_ts": "date",
"gt_ext": "type",
"gt_c1": "truncate filenames more (show less)",
"gt_c2": "truncate filenames less (show more)",
"sm_prev": "search results below are from a previous query:\n ",
"sl_close": "close search results",
"sl_hits": "showing {0} hits",
"sl_moar": "load more",
"s_sz": "size",
"s_dt": "date",
"s_rd": "path",
"s_fn": "name",
"s_ta": "tags",
"s_ad": "adv.",
"s_s1": "minimum MiB",
"s_s2": "maximum MiB",
"s_d1": "min. iso8601",
"s_d2": "max. iso8601",
"s_r1": "path contains (space-separated)",
"s_f1": "name contains (negate with -nope)",
"s_t1": "tags contains (^=start, end=$)",
"s_a1": "key>=1A key<=2B .bpm>165",
"md_eshow": "cannot show ",
"xhr403": "403: Access denied\n\ntry pressing F5, maybe you got logged out",
"cf_ok": "sorry about that -- DD" + wah + "oS protection kicked in\n\nthings should resume in about 30 sec\n\nif nothing happens, hit F5 to reload the page",
"tl_xe1": "could not list subfolders:\n\nerror ",
"tl_xe2": "404: Folder not found",
"fl_xe1": "could not list files in folder:\n\nerror ",
"fl_xe2": "404: Folder not found",
"fd_xe1": "could not create subfolder:\n\nerror ",
"fd_xe2": "404: Parent folder not found",
"fsm_xe1": "could not send message:\n\nerror ",
"fsm_xe2": "404: Parent folder not found",
"fu_xe1": "failed to load unpost list from server:\n\nerror ",
"fu_xe2": "404: File not found??",
"fz_tar": "plain gnutar file (linux / mac)",
"fz_zip8": "zip with utf8 filenames (maybe wonky on windows 7 and older)",
"fz_zipd": "zip with traditional cp437 filenames, for really old software",
"fz_zipc": "cp437 with crc32 computed early,$Nfor MS-DOS PKZIP v2.04g (october 1993)$N(takes longer to process before download can start)",
"un_m1": "you can delete your recent uploads below",
"un_upd": "refresh list",
"un_flt": "optional filter: URL must contain",
"un_fclr": "clear filter",
"un_derr": 'unpost-delete failed:\n',
"un_f5": 'something broke, please try a refresh or hit F5',
"un_max": "showing first 2000 files (use the filter)",
"un_avail": "{0} uploads can be deleted",
"un_m2": "sorted by upload time – most recent first:",
"un_no1": "sike! no uploads are sufficiently recent",
"un_no2": "sike! no uploads matching that filter are sufficiently recent",
"un_next": "delete the next {0} files below",
"un_del": "delete",
"un_m3": "loading your recent uploads...",
"un_busy": "deleting {0} files...",
"u_https1": "you should",
"u_https2": "switch to https",
"u_https3": "for much better performance",
"u_ancient": 'your browser is impressively ancient -- maybe you should use bup instead',
"u_ever": "this is the basic uploader; up2k needs at least
chrome 21 // firefox 13 // edge 12 // opera 12 // safari 5.1",
"u_su2k": 'this is the basic uploader; up2k is better',
"u_ewrite": 'you do not have write-access to this folder',
"u_eread": 'you do not have read-access to this folder',
"u_enoi": 'file-search is not enabled in server config',
"u_badf": 'These {0} files (of {1} total) were skipped, possibly due to filesystem permissions:\n\n',
"u_blankf": 'These {0} files (of {1} total) are blank / empty; upload them anyways?\n\n',
"u_just1": '\nMaybe it works better if you select just one file',
"u_asku": 'upload these {0} files to {1}
',
"u_unpt": "you can undo / delete this upload using the top-left 🧯",
"u_etadone": 'Done ({0}, {1} files)',
"u_etaprep": '(preparing to upload)',
"u_hashdone": 'hashing done',
"u_hashing": 'hash',
"u_upping": 'uploading',
"u_cuerr": "failed to upload chunk {0} of {1};\nprobably harmless, continuing\n\nfile: {2}",
"u_cuerr2": "server rejected upload (chunk {0} of {1});\n\nfile: {2}\n\nerror ",
"u_ehsfin": "server rejected the request to finalize upload",
"u_ehssrch": "server rejected the request to perform search",
"u_ehsinit": "server rejected the request to initiate upload",
"u_s404": "not found on server",
"u_expl": "explain",
"u_tu": '
WARNING: turbo enabled, client may not detect and resume incomplete uploads; see turbo-button tooltip
', "u_ts": 'WARNING: turbo enabled, search results can be incorrect; see turbo-button tooltip
', "ue_ro": 'your access to this folder is Read-Only\n\n', "ue_nl": 'you are currently not logged in', "ue_la": 'you are currently logged in as "{0}"', "ue_sr": 'you are currently in file-search mode\n\nswitch to upload-mode by clicking the magnifying glass 🔎 (next to the big SEARCH button), and try uploading again\n\nsorry', "ue_ta": 'try uploading again, it should work now', "ur_1uo": "OK: File uploaded successfully", "ur_auo": "OK: All {0} files uploaded successfully", "ur_1so": "OK: File found on server", "ur_aso": "OK: All {0} files found on server", "ur_1un": "Upload failed, sorry", "ur_aun": "All {0} uploads failed, sorry", "ur_1sn": "File was NOT found on server", "ur_asn": "The {0} files were NOT found on server", "ur_um": "Finished;\n{0} uplads OK,\n{1} uploads failed, sorry", "ur_sm": "Finished;\n{0} files found on server,\n{1} files NOT found on server", "lang_set": "refresh to make the change take effect?", }, "nor": { "tt": "Norsk", "cols": { "c": "handlingsknapper", "dur": "varighet", "q": "kvalitet / bitrate", "Ac": "lyd-format", "Vc": "video-format", "Ahash": "lyd-kontrollsum", "Vhash": "video-kontrollsum", "Res": "oppløsning", "T": "filtype", "aq": "lydkvalitet / bitrate", "vq": "videokvalitet / bitrate", "pixfmt": "fargekoding / detaljenivå", "resw": "horisontal oppløsning", "resh": "vertikal oppløsning", "chs": "lydkanaler", "hz": "lyd-oppløsning" }, "goh": "kontrollpanel", "logout": "Logg ut ", "access": " tilgang", "ot_close": "lukk verktøy", "ot_search": "søk etter filer ved å angi filnavn, mappenavn, tid, størrelse, eller metadata som sangtittel / artist / osv.$N$N<code>foo bar</code> = inneholder både «foo» og «bar»,$N<code>foo -bar</code> = inneholder «foo» men ikke «bar»,$N<code>^yana .opus$</code> = starter med «yana», filtype «opus»$N<code>"try unite"</code> = «try unite» eksakt$N$Ndatoformat er iso-8601, så f.eks.$N<code>2009-12-31</code> eller <code>2020-09-12 23:30:00</code>", "ot_unpost": "unpost: slett filer som du nylig har lastet opp; «angre-knappen»", "ot_bup": "bup: tradisjonell / primitiv filopplastning,$N$Nfungerer i omtrent samtlige nettlesere", "ot_mkdir": "mkdir: lag en ny mappe", "ot_md": "new-md: lag et nytt markdown-dokument", "ot_msg": "msg: send en beskjed til serverloggen", "ot_mp": "musikkspiller-instillinger", "ot_cfg": "andre innstillinger", "ot_u2i": 'up2k: last opp filer (hvis du har skrivetilgang) eller bytt til søkemodus for å sjekke om filene finnes et-eller-annet sted på serveren$N$Nopplastninger kan gjenopptas etter avbrudd, skjer stykkevis for potensielt høyere ytelse, og ivaretar datostempling -- men bruker litt mer prosessorkraft enn den primitive opplasteren bup{1}
',
"u_unpt": "Du kan angre / slette opplastningen med 🧯 oppe til venstre",
"u_etadone": 'Ferdig ({0}, {1} filer)',
"u_etaprep": '(forbereder opplastning)',
"u_hashdone": 'befaring ferdig',
"u_hashing": 'les',
"u_upping": 'sender',
"u_cuerr": "kunne ikke laste opp del {0} av {1};\nsikkert harmløst, fortsetter\n\nfil: {2}",
"u_cuerr2": "server nektet opplastningen (del {0} av {1});\n\nfile: {2}\n\nerror ",
"u_ehsfin": "server nektet forespørselen om å ferdigstille filen",
"u_ehssrch": "server nektet forespørselen om å utføre søk",
"u_ehsinit": "server nektet forespørselen om å begynne en ny opplastning",
"u_s404": "ikke funnet på serveren",
"u_expl": "forklar",
"u_tu": 'ADVARSEL: turbo er på, avbrutte opplastninger vil muligens ikke oppdages og gjenopptas; hold musepekeren over turbo-knappen for mer info
', "u_ts": 'ADVARSEL: turbo er på, søkeresultater kan være feil; hold musepekeren over turbo-knappen for mer info
', "ue_ro": 'du har ikke skrivetilgang i denne mappen\n\n', "ue_nl": 'du er ikke logget inn', "ue_la": 'du er logget inn som "{0}"', "ue_sr": 'du er i filsøk-modus\n\nbytt til opplastning ved å klikke på forstørrelsesglasset 🔎 (ved siden av den store FILSØK-knappen) og prøv igjen\n\nsorry', "ue_ta": 'prøv å laste opp igjen, det burde funke nå', "ur_1uo": "OK: Filen ble lastet opp", "ur_auo": "OK: Alle {0} filene ble lastet opp", "ur_1so": "OK: Filen ble funnet på serveren", "ur_aso": "OK: Alle {0} filene ble funnet på serveren", "ur_1un": "Opplastning feilet!", "ur_aun": "Alle {0} opplastningene gikk feil!", "ur_1sn": "Filen finnes IKKE på serveren", "ur_asn": "Fant INGEN av de {0} filene på serveren", "ur_um": "Ferdig;\n{0} opplastninger gikk bra,\n{1} opplastninger gikk feil", "ur_sm": "Ferdig;\n{0} filer ble funnet,\n{1} filer finnes IKKE på serveren", "lang_set": "passer det å laste siden på nytt?", }, }; var L = Ls[sread("lang") || lang]; if (Ls.eng && L != Ls.eng) { for (var k in Ls.eng) if (!L[k]) L[k] = Ls.eng[k]; } // toolbar ebi('ops').innerHTML = ( '--' + '🔎' + (have_del && have_unpost ? '🧯' : '') + '🚀' + '🎈' + '📂' + '📝' + '📟' + '🎺' + '⚙️' + '' ); // media player ebi('widget').innerHTML = ( '' + '' ); // up2k ui ebi('op_up2k').innerHTML = ( '\n' + '' + L.ul_par + ' | \n' +
' \n' + ' \n' + ' \n' + ' | \n' + '\n' + ' \n' + ' \n' + ' | \n' + '\n' + ' \n' + ' \n' + ' | \n' + '\n' + ' | \n' + ' |
\n' +
' –+ \n' + ' | \n' +
'
' + L.utl_name + ' | \n' + '' + L.utl_stat + ' | \n' + '' + L.utl_prog + ' | \n' + '
' + L.ul_flagblk + '
\n' + '' ); (function () { var o = mknod('div'); o.innerHTML = ( '