"use strict";
var XHR = XMLHttpRequest,
img_re = /\.(a?png|avif|bmp|gif|heif|jpe?g|jfif|svg|webp|webm|mkv|mp4|m4v|mov)(\?|$)/i;
var Ls = {
"eng": {
"tt": "English",
"cols": {
"c": "action buttons",
"dur": "duration",
"q": "quality / bitrate",
"Ac": "audio codec",
"Vc": "video codec",
"Fmt": "format / container",
"Ahash": "audio checksum",
"Vhash": "video checksum",
"Res": "resolution",
"T": "filetype",
"aq": "audio quality / bitrate",
"vq": "video quality / bitrate",
"pixfmt": "subsampling / pixel structure",
"resw": "horizontal resolution",
"resh": "vertical resolution",
"chs": "audio channels",
"hz": "sample rate"
},
"hks": [
[
"misc",
["ESC", "close various things"],
"file-manager",
["G", "toggle list / grid view"],
["T", "toggle thumbnails / icons"],
["🡅 A/D", "thumbnail size"],
["ctrl-K", "delete selected"],
["ctrl-X", "cut selection to clipboard"],
["ctrl-C", "copy selection to clipboard"],
["ctrl-V", "paste (move/copy) here"],
["Y", "download selected"],
["F2", "rename selected"],
"file-list-sel",
["space", "toggle file selection"],
["🡑/🡓", "move selection cursor"],
["ctrl 🡑/🡓", "move cursor and viewport"],
["🡅 🡑/🡓", "select prev/next file"],
["ctrl-A", "select all files / folders"],
], [
"navigation",
["B", "toggle breadcrumbs / navpane"],
["I/K", "prev/next folder"],
["M", "parent folder (or unexpand current)"],
["V", "toggle folders / textfiles in navpane"],
["A/D", "navpane size"],
], [
"audio-player",
["J/L", "prev/next song"],
["U/O", "skip 10sec back/fwd"],
["0..9", "jump to 0%..90%"],
["P", "play/pause (also initiates)"],
["Y", "download song"],
], [
"image-viewer",
["J/L, ←/→", "prev/next pic"],
["Home/End", "first/last pic"],
["F", "fullscreen"],
["R", "rotate clockwise"],
["🡅 R", "rotate ccw"],
["Y", "download pic"],
], [
"video-player",
["U/O", "skip 10sec back/fwd"],
["P/K/Space", "play/pause"],
["C", "continue playing next"],
["V", "loop"],
["M", "mute"],
["[ and ]", "set loop interval"],
], [
"textfile-viewer",
["I/K", "prev/next file"],
["M", "close textfile"],
["E", "edit textfile"],
["S", "select file (for cut/copy/rename)"],
]
],
"m_ok": "OK",
"m_ng": "Cancel",
"enable": "Enable",
"danger": "DANGER",
"clipped": "copied to clipboard",
"ht_s1": "second",
"ht_s2": "seconds",
"ht_m1": "minute",
"ht_m2": "minutes",
"ht_h1": "hour",
"ht_h2": "hours",
"ht_d1": "day",
"ht_d2": "days",
"ht_and": " and ",
"goh": "control-panel",
"gop": 'previous sibling">prev',
"gou": 'parent folder">up',
"gon": 'next folder">next',
"logout": "Logout ",
"access": " access",
"ot_close": "close submenu",
"ot_search": "search for files by attributes, path / name, music tags, or any combination of those$N$N<code>foo bar</code> = must contain both «foo» and «bar»,$N<code>foo -bar</code> = must contain «foo» but not «bar»,$N<code>^yana .opus$</code> = start with «yana» and be an «opus» file$N<code>"try unite"</code> = contain exactly «try unite»$N$Nthe date format is iso-8601, like$N<code>2009-12-31</code> or <code>2020-09-12 23:30:00</code>",
"ot_unpost": "unpost: delete your recent uploads, or abort unfinished ones",
"ot_bup": "bup: basic uploader, even supports netscape 4.0",
"ot_mkdir": "mkdir: create a new directory",
"ot_md": "new-md: create a new markdown document",
"ot_msg": "msg: send a message to the server log",
"ot_mp": "media player options",
"ot_cfg": "configuration options",
"ot_u2i": 'up2k: upload files (if you have write-access) or toggle into the search-mode to see if they exist somewhere on the server$N$Nuploads are resumable, multithreaded, and file timestamps are preserved, but it uses more CPU than [🎈] (the basic uploader)
during uploads, this icon becomes a progress indicator!',
"ot_u2w": 'up2k: upload files with resume support (close your browser and drop the same files in later)$N$Nmultithreaded, and file timestamps are preserved, but it uses more CPU than [🎈] (the basic uploader)
during uploads, this icon becomes a progress indicator!',
"ot_noie": 'Please use Chrome / Firefox / Edge',
"ab_mkdir": "make directory",
"ab_mkdoc": "new markdown doc",
"ab_msg": "send msg to srv log",
"ay_path": "skip to folders",
"ay_files": "skip to files",
"wt_ren": "rename selected items$NHotkey: F2",
"wt_del": "delete selected items$NHotkey: ctrl-K",
"wt_cut": "cut selected items <small>(then paste somewhere else)</small>$NHotkey: ctrl-X",
"wt_cpy": "copy selected items to clipboard$N(to paste them somewhere else)$NHotkey: ctrl-C",
"wt_pst": "paste a previously cut / copied selection$NHotkey: ctrl-V",
"wt_selall": "select all files$NHotkey: ctrl-A (when file focused)",
"wt_selinv": "invert selection",
"wt_selzip": "download selection as archive",
"wt_seldl": "download selection as separate files$NHotkey: Y",
"wt_npirc": "copy irc-formatted track info",
"wt_nptxt": "copy plaintext track info",
"wt_grid": "toggle grid / list view$NHotkey: G",
"wt_prev": "previous track$NHotkey: J",
"wt_play": "play / pause$NHotkey: P",
"wt_next": "next track$NHotkey: L",
"ul_par": "parallel uploads:",
"ut_rand": "randomize filenames",
"ut_u2ts": "copy the last-modified timestamp$Nfrom your filesystem to the server",
"ut_mt": "continue hashing other files while uploading$N$Nmaybe disable if your CPU or HDD is a bottleneck",
"ut_ask": 'ask for confirmation before upload starts">💭',
"ut_pot": "improve upload speed on slow devices$Nby making the UI less complex",
"ut_srch": "don't actually upload, instead check if the files already $N exist on the server (will scan all folders you can read)",
"ut_par": "pause uploads by setting it to 0$N$Nincrease if your connection is slow / high latency$N$Nkeep it 1 on LAN or if the server HDD is a bottleneck",
"ul_btn": "drop files / folders here (or click me)",
"ul_btnu": "U P L O A D",
"ul_btns": "S E A R C H",
"ul_hash": "hash",
"ul_send": "send",
"ul_done": "done",
"ul_idle1": "no uploads are queued yet",
"ut_etah": "average <em>hashing</em> speed, and estimated time until finish",
"ut_etau": "average <em>upload</em> speed and estimated time until finish",
"ut_etat": "average <em>total</em> speed and estimated time until finish",
"uct_ok": "completed successfully",
"uct_ng": "no-good: failed / rejected / not-found",
"uct_done": "ok and ng combined",
"uct_bz": "hashing or uploading",
"uct_q": "idle, pending",
"utl_name": "filename",
"utl_ulist": "list",
"utl_ucopy": "copy",
"utl_links": "links",
"utl_stat": "status",
"utl_prog": "progress",
// keep short:
"utl_404": "404",
"utl_err": "ERROR",
"utl_oserr": "OS-error",
"utl_found": "found",
"utl_defer": "defer",
"utl_yolo": "YOLO",
"utl_done": "done",
"ul_flagblk": "the files were added to the queue however there is a busy up2k in another browser tab, so waiting for that to finish first",
"ul_btnlk": "the server configuration has locked this switch into this state",
"udt_up": "Upload",
"udt_srch": "Search",
"udt_drop": "drop it here",
"u_nav_m": '
aight, what do you have?
Enter = Files (one or more)\nESC = One folder (including subfolders)',
"u_nav_b": 'FilesOne folder',
"cl_opts": "switches",
"cl_themes": "theme",
"cl_langs": "language",
"cl_ziptype": "folder download",
"cl_uopts": "up2k switches",
"cl_favico": "favicon",
"cl_bigdir": "big dirs",
"cl_hsort": "#sort",
"cl_keytype": "key notation",
"cl_hiddenc": "hidden columns",
"cl_hidec": "hide",
"cl_reset": "reset",
"cl_hpick": "tap on column headers to hide in the table below",
"cl_hcancel": "column hiding aborted",
"ct_grid": '田 the grid',
"ct_ttips": '◔ ◡ ◔">ℹ️ tooltips',
"ct_thumb": 'in grid-view, toggle icons or thumbnails$NHotkey: T">🖼️ thumbs',
"ct_csel": 'use CTRL and SHIFT for file selection in grid-view">sel',
"ct_ihop": 'when the image viewer is closed, scroll down to the last viewed file">g⮯',
"ct_dots": 'show hidden files (if server permits)">dotfiles',
"ct_dir1st": 'sort folders before files">📁 first',
"ct_nsort": 'natural sort (for filenames with leading digits)">nsort',
"ct_readme": 'show README.md in folder listings">📜 readme',
"ct_idxh": 'show index.html instead of folder listing">htm',
"ct_sbars": 'show scrollbars">⟊',
"cut_umod": "if a file already exists on the server, update the server's last-modified timestamp to match your local file (requires write+delete permissions)\">re📅",
"cut_turbo": "the yolo button, you probably DO NOT want to enable this:$N$Nuse this if you were uploading a huge amount of files and had to restart for some reason, and want to continue the upload ASAP$N$Nthis replaces the hash-check with a simple "does this have the same filesize on the server?" so if the file contents are different it will NOT be uploaded$N$Nyou should turn this off when the upload is done, and then "upload" the same files again to let the client verify them\">turbo",
"cut_datechk": "has no effect unless the turbo button is enabled$N$Nreduces the yolo factor by a tiny amount; checks whether the file timestamps on the server matches yours$N$Nshould theoretically catch most unfinished / corrupted uploads, but is not a substitute for doing a verification pass with turbo disabled afterwards\">date-chk",
"cut_u2sz": "size (in MiB) of each upload chunk; big values fly better across the atlantic. Try low values on very unreliable connections",
"cut_flag": "ensure only one tab is uploading at a time $N -- other tabs must have this enabled too $N -- only affects tabs on the same domain",
"cut_az": "upload files in alphabetical order, rather than smallest-file-first$N$Nalphabetical order can make it easier to eyeball if something went wrong on the server, but it makes uploading slightly slower on fiber / LAN",
"cut_nag": "OS notification when upload completes$N(only if the browser or tab is not active)",
"cut_sfx": "audible alert when upload completes$N(only if the browser or tab is not active)",
"cut_mt": "use multithreading to accelerate file hashing$N$Nthis uses web-workers and requires$Nmore RAM (up to 512 MiB extra)$N$Nmakes https 30% faster, http 4.5x faster\">mt",
"cft_text": "favicon text (blank and refresh to disable)",
"cft_fg": "foreground color",
"cft_bg": "background color",
"cdt_lim": "max number of files to show in a folder",
"cdt_ask": "when scrolling to the bottom,$Ninstead of loading more files,$Nask what to do",
"cdt_hsort": "how many sorting rules (<code>,sorthref</code>) to include in media-URLs. Setting this to 0 will also ignore sorting-rules included in media links when clicking them",
"tt_entree": "show navpane (directory tree sidebar)$NHotkey: B",
"tt_detree": "show breadcrumbs$NHotkey: B",
"tt_visdir": "scroll to selected folder",
"tt_ftree": "toggle folder-tree / textfiles$NHotkey: V",
"tt_pdock": "show parent folders in a docked pane at the top",
"tt_dynt": "autogrow as tree expands",
"tt_wrap": "word wrap",
"tt_hover": "reveal overflowing lines on hover$N( breaks scrolling unless mouse $N cursor is in the left gutter )",
"ml_pmode": "at end of folder...",
"ml_btns": "cmds",
"ml_tcode": "transcode",
"ml_tcode2": "transcode to",
"ml_tint": "tint",
"ml_eq": "audio equalizer",
"ml_drc": "dynamic range compressor",
"mt_shuf": "shuffle the songs in each folder\">🔀",
"mt_aplay": "autoplay if there is a song-ID in the link you clicked to access the server$N$Ndisabling this will also stop the page URL from being updated with song-IDs when playing music, to prevent autoplay if these settings are lost but the URL remains\">a▶",
"mt_preload": "start loading the next song near the end for gapless playback\">preload",
"mt_prescan": "go to the next folder before the last song$Nends, keeping the webbrowser happy$Nso it doesn't stop the playback\">nav",
"mt_fullpre": "try to preload the entire song;$N✅ enable on unreliable connections,$N❌ disable on slow connections probably\">full",
"mt_fau": "on phones, prevent music from stopping if the next song doesn't preload fast enough (can make tags display glitchy)\">☕️",
"mt_waves": "waveform seekbar:$Nshow audio amplitude in the scrubber\">~s",
"mt_npclip": "show buttons for clipboarding the currently playing song\">/np",
"mt_octl": "os integration (media hotkeys / osd)\">os-ctl",
"mt_oseek": "allow seeking through os integration$N$Nnote: on some devices (iPhones),$Nthis replaces the next-song button\">seek",
"mt_oscv": "show album cover in osd\">art",
"mt_follow": "keep the playing track scrolled into view\">🎯",
"mt_compact": "compact controls\">⟎",
"mt_uncache": "clear cache (try this if your browser cached$Na broken copy of a song so it refuses to play)\">uncache",
"mt_mloop": "loop the open folder\">🔁 loop",
"mt_mnext": "load the next folder and continue\">📂 next",
"mt_cflac": "convert flac / wav to opus\">flac",
"mt_caac": "convert aac / m4a to opus\">aac",
"mt_coth": "convert all others (not mp3) to opus\">oth",
"mt_c2opus": "best choice for desktops, laptops, android\">opus",
"mt_c2owa": "opus-weba, for iOS 17.5 and newer\">owa",
"mt_c2caf": "opus-caf, for iOS 11 through 17\">caf",
"mt_c2mp3": "use this on very old devices\">mp3",
"mt_c2ok": "nice, good choice",
"mt_c2nd": "that's not the recommended output format for your device, but that's fine",
"mt_c2ng": "your device does not seem to support this output format, but let's try anyways",
"mt_xowa": "there are bugs in iOS preventing background playback using this format; please use caf or mp3 instead",
"mt_tint": "background level (0-100) on the seekbar$Nto make buffering less distracting",
"mt_eq": "enables the equalizer and gain control;$N$Nboost <code>0</code> = standard 100% volume (unmodified)$N$Nwidth <code>1 </code> = standard stereo (unmodified)$Nwidth <code>0.5</code> = 50% left-right crossfeed$Nwidth <code>0 </code> = mono$N$Nboost <code>-0.8</code> & width <code>10</code> = vocal removal :^)$N$Nenabling the equalizer makes gapless albums fully gapless, so leave it on with all the values at zero (except width = 1) if you care about that",
"mt_drc": "enables the dynamic range compressor (volume flattener / brickwaller); will also enable EQ to balance the spaghetti, so set all EQ fields except for 'width' to 0 if you don't want it$N$Nlowers the volume of audio above THRESHOLD dB; for every RATIO dB past THRESHOLD there is 1 dB of output, so default values of tresh -24 and ratio 12 means it should never get louder than -22 dB and it is safe to increase the equalizer boost to 0.8, or even 1.8 with ATK 0 and a huge RLS like 90 (only works in firefox; RLS is max 1 in other browsers)$N$N(see wikipedia, they explain it much better)",
"mb_play": "play",
"mm_hashplay": "play this audio file?",
"mp_breq": "need firefox 82+ or chrome 73+ or iOS 15+",
"mm_bload": "now loading...",
"mm_bconv": "converting to {0}, please wait...",
"mm_opusen": "your browser cannot play aac / m4a files;\ntranscoding to opus is now enabled",
"mm_playerr": "playback failed: ",
"mm_eabrt": "The playback attempt was cancelled",
"mm_enet": "Your internet connection is wonky",
"mm_edec": "This file is supposedly corrupted??",
"mm_esupp": "Your browser does not understand this audio format",
"mm_eunk": "Unknown Errol",
"mm_e404": "Could not play audio; error 404: File not found.",
"mm_e403": "Could not play audio; error 403: Access denied.\n\nTry pressing F5 to reload, maybe you got logged out",
"mm_e5xx": "Could not play audio; server error ",
"mm_nof": "not finding any more audio files nearby",
"mm_prescan": "Looking for music to play next...",
"mm_scank": "Found the next song:",
"mm_uncache": "cache cleared; all songs will redownload on next playback",
"mm_hnf": "that song no longer exists",
"im_hnf": "that image no longer exists",
"f_empty": 'this folder is empty',
"f_chide": 'this will hide the column «{0}»\n\nyou can unhide columns in the settings tab',
"f_bigtxt": "this file is {0} MiB large -- really view as text?",
"fbd_more": '
',
"f_dls": 'the file links in the current folder have\nbeen changed into download links',
"f_partial": "To safely download a file which is currently being uploaded, please click the file which has the same filename, but without the .PARTIAL file extension. Please press CANCEL or Escape to do this.\n\nPressing OK / Enter will ignore this warning and continue downloading the .PARTIAL scratchfile instead, which will almost definitely give you corrupted data.",
"ft_paste": "paste {0} items$NHotkey: ctrl-V",
"fr_eperm": 'cannot rename:\nyou do not have “move” permission in this folder',
"fd_eperm": 'cannot delete:\nyou do not have “delete” permission in this folder',
"fc_eperm": 'cannot cut:\nyou do not have “move” permission in this folder',
"fp_eperm": 'cannot paste:\nyou do not have “write” permission in this folder',
"fr_emore": "select at least one item to rename",
"fd_emore": "select at least one item to delete",
"fc_emore": "select at least one item to cut",
"fcp_emore": "select at least one item to copy to clipboard",
"fs_sc": "share the folder you're in",
"fs_ss": "share the selected files",
"fs_just1d": "you cannot select more than one folder,\nor mix files and folders in one selection",
"fs_abrt": "❌ abort",
"fs_rand": "🎲 rand.name",
"fs_go": "✅ create share",
"fs_name": "name",
"fs_src": "source",
"fs_pwd": "passwd",
"fs_exp": "expiry",
"fs_tmin": "min",
"fs_thrs": "hours",
"fs_tdays": "days",
"fs_never": "eternal",
"fs_pname": "optional link name; will be random if blank",
"fs_tsrc": "the file or folder to share",
"fs_ppwd": "optional password",
"fs_w8": "creating share...",
"fs_ok": "press Enter/OK to Clipboard\npress ESC/Cancel to Close",
"frt_dec": "may fix some cases of broken filenames\">url-decode",
"frt_rst": "reset modified filenames back to the original ones\">↺ reset",
"frt_abrt": "abort and close this window\">❌ cancel",
"frb_apply": "APPLY RENAME",
"fr_adv": "batch / metadata / pattern renaming\">advanced",
"fr_case": "case-sensitive regex\">case",
"fr_win": "windows-safe names; replace <>:"\\|?* with japanese fullwidth characters\">win",
"fr_slash": "replace / with a character that doesn't cause new folders to be created\">no /",
"fr_re": "regex search pattern to apply to original filenames; capturing groups can be referenced in the format field below like <code>(1)</code> and <code>(2)</code> and so on",
"fr_fmt": "inspired by foobar2000:$N<code>(title)</code> is replaced by song title,$N<code>[(artist) - ](title)</code> skips [this] part if artist is blank$N<code>$lpad((tn),2,0)</code> pads tracknumber to 2 digits",
"fr_pdel": "delete",
"fr_pnew": "save as",
"fr_pname": "provide a name for your new preset",
"fr_aborted": "aborted",
"fr_lold": "old name",
"fr_lnew": "new name",
"fr_tags": "tags for the selected files (read-only, just for reference):",
"fr_busy": "renaming {0} items...\n\n{1}",
"fr_efail": "rename failed:\n",
"fr_nchg": "{0} of the new names were altered due to win and/or no /\n\nOK to continue with these altered new names?",
"fd_ok": "delete OK",
"fd_err": "delete failed:\n",
"fd_none": "nothing was deleted; maybe blocked by server config (xbd)?",
"fd_busy": "deleting {0} items...\n\n{1}",
"fd_warn1": "DELETE these {0} items?",
"fd_warn2": "Last chance! No way to undo. Delete?",
"fc_ok": "cut {0} items",
"fc_warn": 'cut {0} items\n\nbut: only this browser-tab can paste them\n(since the selection is so absolutely massive)',
"fcc_ok": "copied {0} items to clipboard",
"fcc_warn": 'copied {0} items to clipboard\n\nbut: only this browser-tab can paste them\n(since the selection is so absolutely massive)',
"fp_apply": "use these names",
"fp_ecut": "first cut or copy some files / folders to paste / move\n\nnote: you can cut / paste across different browser tabs",
"fp_ename": "{0} items cannot be moved here because the names are already taken. Give them new names below to continue, or blank the name to skip them:",
"fcp_ename": "{0} items cannot be copied here because the names are already taken. Give them new names below to continue, or blank the name to skip them:",
"fp_emore": "there are still some filename collisions left to fix",
"fp_ok": "move OK",
"fcp_ok": "copy OK",
"fp_busy": "moving {0} items...\n\n{1}",
"fcp_busy": "copying {0} items...\n\n{1}",
"fp_err": "move failed:\n",
"fcp_err": "copy failed:\n",
"fp_confirm": "move these {0} items here?",
"fcp_confirm": "copy these {0} items here?",
"fp_etab": 'failed to read clipboard from other browser tab',
"fp_name": "uploading a file from your device. Give it a name:",
"fp_both_m": '
choose what to paste
Enter = Move {0} files from «{1}»\nESC = Upload {2} files from your device',
"fcp_both_m": '
choose what to paste
Enter = Copy {0} files from «{1}»\nESC = Upload {2} files from your device',
"fp_both_b": 'MoveUpload',
"fcp_both_b": 'CopyUpload',
"mk_noname": "type a name into the text field on the left before you do that :p",
"tv_load": "Loading text document:\n\n{0}\n\n{1}% ({2} of {3} MiB loaded)",
"tv_xe1": "could not load textfile:\n\nerror ",
"tv_xe2": "404, file not found",
"tv_lst": "list of textfiles in",
"tvt_close": "return to folder view$NHotkey: M (or Esc)\">❌ close",
"tvt_dl": "download this file$NHotkey: Y\">💾 download",
"tvt_prev": "show previous document$NHotkey: i\">⬆ prev",
"tvt_next": "show next document$NHotkey: K\">⬇ next",
"tvt_sel": "select file ( for cut / copy / delete / ... )$NHotkey: S\">sel",
"tvt_edit": "open file in text editor$NHotkey: E\">✏️ edit",
"gt_vau": "don't show videos, just play the audio\">🎧",
"gt_msel": "enable file selection; ctrl-click a file to override$N$N<em>when active: doubleclick a file / folder to open it</em>$N$NHotkey: S\">multiselect",
"gt_crop": "center-crop thumbnails\">crop",
"gt_3x": "hi-res thumbnails\">3x",
"gt_zoom": "zoom",
"gt_chop": "chop",
"gt_sort": "sort by",
"gt_name": "name",
"gt_sz": "size",
"gt_ts": "date",
"gt_ext": "type",
"gt_c1": "truncate filenames more (show less)",
"gt_c2": "truncate filenames less (show more)",
"sm_w8": "searching...",
"sm_prev": "search results below are from a previous query:\n ",
"sl_close": "close search results",
"sl_hits": "showing {0} hits",
"sl_moar": "load more",
"s_sz": "size",
"s_dt": "date",
"s_rd": "path",
"s_fn": "name",
"s_ta": "tags",
"s_ua": "up@",
"s_ad": "adv.",
"s_s1": "minimum MiB",
"s_s2": "maximum MiB",
"s_d1": "min. iso8601",
"s_d2": "max. iso8601",
"s_u1": "uploaded after",
"s_u2": "and/or before",
"s_r1": "path contains (space-separated)",
"s_f1": "name contains (negate with -nope)",
"s_t1": "tags contains (^=start, end=$)",
"s_a1": "specific metadata properties",
"md_eshow": "cannot render ",
"md_off": "[📜readme] disabled in [⚙️] -- document hidden",
"badreply": "Failed to parse reply from server",
"xhr403": "403: Access denied\n\ntry pressing F5, maybe you got logged out",
"xhr0": "unknown (probably lost connection to server, or server is offline)",
"cf_ok": "sorry about that -- DD" + wah + "oS protection kicked in\n\nthings should resume in about 30 sec\n\nif nothing happens, hit F5 to reload the page",
"tl_xe1": "could not list subfolders:\n\nerror ",
"tl_xe2": "404: Folder not found",
"fl_xe1": "could not list files in folder:\n\nerror ",
"fl_xe2": "404: Folder not found",
"fd_xe1": "could not create subfolder:\n\nerror ",
"fd_xe2": "404: Parent folder not found",
"fsm_xe1": "could not send message:\n\nerror ",
"fsm_xe2": "404: Parent folder not found",
"fu_xe1": "failed to load unpost list from server:\n\nerror ",
"fu_xe2": "404: File not found??",
"fz_tar": "uncompressed gnu-tar file (linux / mac)",
"fz_pax": "uncompressed pax-format tar (slower)",
"fz_targz": "gnu-tar with gzip level 3 compression$N$Nthis is usually very slow, so$Nuse uncompressed tar instead",
"fz_tarxz": "gnu-tar with xz level 1 compression$N$Nthis is usually very slow, so$Nuse uncompressed tar instead",
"fz_zip8": "zip with utf8 filenames (maybe wonky on windows 7 and older)",
"fz_zipd": "zip with traditional cp437 filenames, for really old software",
"fz_zipc": "cp437 with crc32 computed early,$Nfor MS-DOS PKZIP v2.04g (october 1993)$N(takes longer to process before download can start)",
"un_m1": "you can delete your recent uploads (or abort unfinished ones) below",
"un_upd": "refresh",
"un_m4": "or share the files visible below:",
"un_ulist": "show",
"un_ucopy": "copy",
"un_flt": "optional filter: URL must contain",
"un_fclr": "clear filter",
"un_derr": 'unpost-delete failed:\n',
"un_f5": 'something broke, please try a refresh or hit F5',
"un_uf5": "sorry but you have to refresh the page (for example by pressing F5 or CTRL-R) before this upload can be aborted",
"un_nou": 'warning: server too busy to show unfinished uploads; click the "refresh" link in a bit',
"un_noc": 'warning: unpost of fully uploaded files is not enabled/permitted in server config',
"un_max": "showing first 2000 files (use the filter)",
"un_avail": "{0} recent uploads can be deleted {1} unfinished ones can be aborted",
"un_m2": "sorted by upload time; most recent first:",
"un_no1": "sike! no uploads are sufficiently recent",
"un_no2": "sike! no uploads matching that filter are sufficiently recent",
"un_next": "delete the next {0} files below",
"un_abrt": "abort",
"un_del": "delete",
"un_m3": "loading your recent uploads...",
"un_busy": "deleting {0} files...",
"un_clip": "{0} links copied to clipboard",
"u_https1": "you should",
"u_https2": "switch to https",
"u_https3": "for better performance",
"u_ancient": 'your browser is impressively ancient -- maybe you should use bup instead',
"u_nowork": "need firefox 53+ or chrome 57+ or iOS 11+",
"u_nodrop": 'your browser is too old for drag-and-drop uploading',
"u_notdir": "that's not a folder!\n\nyour browser is too old,\nplease try dragdrop instead",
"u_uri": "to dragdrop images from other browser windows,\nplease drop it onto the big upload button",
"u_enpot": 'switch to potato UI (may improve upload speed)',
"u_depot": 'switch to fancy UI (may reduce upload speed)',
"u_gotpot": 'switching to the potato UI for improved upload speed,\n\nfeel free to disagree and switch back!',
"u_pott": "
",
"u_ever": "this is the basic uploader; up2k needs at least chrome 21 // firefox 13 // edge 12 // opera 12 // safari 5.1",
"u_su2k": 'this is the basic uploader; up2k is better',
"u_uput": 'optimize for speed (skip checksum)',
"u_ewrite": 'you do not have write-access to this folder',
"u_eread": 'you do not have read-access to this folder',
"u_enoi": 'file-search is not enabled in server config',
"u_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_ff_many": "if you're using Linux / MacOS / Android, then this amount of files may crash Firefox!\nif that happens, please try again (or use Chrome).",
"u_up_life": "This upload will be deleted from the server\n{0} after it completes",
"u_asku": 'upload these {0} files to {1}',
"u_unpt": "you can undo / delete this upload using the top-left 🧯",
"u_bigtab": 'about to show {0} files\n\nthis may crash your browser, are you sure?',
"u_scan": 'Scanning files...',
"u_dirstuck": 'directory iterator got stuck trying to access the following {0} items; will skip:',
"u_etadone": 'Done ({0}, {1} files)',
"u_etaprep": '(preparing to upload)',
"u_hashdone": 'hashing done',
"u_hashing": 'hash',
"u_hs": 'handshaking...',
"u_started": "the files are now being uploaded; see [🚀]",
"u_dupdefer": "duplicate; will be processed after all other files",
"u_actx": "click this text to prevent loss of performance when switching to other windows/tabs",
"u_fixed": "OK! Fixed it 👍",
"u_cuerr": "failed to upload chunk {0} of {1};\nprobably harmless, continuing\n\nfile: {2}",
"u_cuerr2": "server rejected upload (chunk {0} of {1});\nwill retry later\n\nfile: {2}\n\nerror ",
"u_ehstmp": "will retry; see bottom-right",
"u_ehsfin": "server rejected the request to finalize upload; retrying...",
"u_ehssrch": "server rejected the request to perform search; retrying...",
"u_ehsinit": "server rejected the request to initiate upload; retrying...",
"u_eneths": "network error while performing upload handshake; retrying...",
"u_enethd": "network error while testing target existence; retrying...",
"u_cbusy": "waiting for server to trust us again after a network glitch...",
"u_ehsdf": "server ran out of disk space!\n\nwill keep retrying, in case someone\nfrees up enough space to continue",
"u_emtleak1": "it looks like your webbrowser may have a memory leak;\nplease",
"u_emtleak2": ' switch to https (recommended) or ',
"u_emtleak3": ' ',
"u_emtleakc": 'try the following:\n
hit F5 to refresh the page
then disable the mt button in the ⚙️ settings
and try that upload again
Uploads will be a bit slower, but oh well.\nSorry for the trouble !\n\nPS: chrome v107 has a bugfix for this',
"u_emtleakf": 'try the following:\n
hit F5 to refresh the page
then enable 🥔 (potato) in the upload UI
and try that upload again
\nPS: firefox will hopefully have a bugfix at some point',
"u_s404": "not found on server",
"u_expl": "explain",
"u_maxconn": "most browsers limit this to 6, but firefox lets you raise it with connections-per-server in about:config",
"u_tu": '
WARNING: turbo enabled, client may not detect and resume incomplete uploads; see turbo-button tooltip
',
"u_ts": '
WARNING: turbo enabled, search results can be incorrect; see turbo-button tooltip
',
"u_turbo_c": "turbo is disabled in server config",
"u_turbo_g": "disabling turbo because you don't have\ndirectory listing privileges within this volume",
"u_life_cfg": 'autodelete after min (or hours)',
"u_life_est": 'upload will be deleted ---',
"u_life_max": 'this folder enforces a\nmax lifetime of {0}',
"u_unp_ok": 'unpost is allowed for {0}',
"u_unp_ng": 'unpost will NOT be allowed',
"ue_ro": 'your access to this folder is Read-Only\n\n',
"ue_nl": 'you are currently not logged in',
"ue_la": 'you are currently logged in as "{0}"',
"ue_sr": 'you are currently in file-search mode\n\nswitch to upload-mode by clicking the magnifying glass 🔎 (next to the big SEARCH button), and try uploading again\n\nsorry',
"ue_ta": 'try uploading again, it should work now',
"ue_ab": "this file is already being uploaded into another folder, and that upload must be completed before the file can be uploaded elsewhere.\n\nYou can abort and forget the initial upload using the top-left 🧯",
"ur_1uo": "OK: File uploaded successfully",
"ur_auo": "OK: All {0} files uploaded successfully",
"ur_1so": "OK: File found on server",
"ur_aso": "OK: All {0} files found on server",
"ur_1un": "Upload failed, sorry",
"ur_aun": "All {0} uploads failed, sorry",
"ur_1sn": "File was NOT found on server",
"ur_asn": "The {0} files were NOT found on server",
"ur_um": "Finished;\n{0} uploads OK,\n{1} uploads failed, sorry",
"ur_sm": "Finished;\n{0} files found on server,\n{1} files NOT found on server",
"lang_set": "refresh to make the change take effect?",
},
"nor": {
"tt": "Norsk",
"cols": {
"c": "handlingsknapper",
"dur": "varighet",
"q": "kvalitet / bitrate",
"Ac": "lyd-format",
"Vc": "video-format",
"Fmt": "format / innpakning",
"Ahash": "lyd-kontrollsum",
"Vhash": "video-kontrollsum",
"Res": "oppløsning",
"T": "filtype",
"aq": "lydkvalitet / bitrate",
"vq": "videokvalitet / bitrate",
"pixfmt": "fargekoding / detaljenivå",
"resw": "horisontal oppløsning",
"resh": "vertikal oppløsning",
"chs": "lydkanaler",
"hz": "lyd-oppløsning"
},
"hks": [
[
"ymse",
["ESC", "lukk saker og ting"],
"filbehandler",
["G", "listevisning eller ikoner"],
["T", "miniatyrbilder på/av"],
["🡅 A/D", "ikonstørrelse"],
["ctrl-K", "slett valgte"],
["ctrl-X", "klipp ut valgte"],
["ctrl-C", "kopiér til utklippstavle"],
["ctrl-V", "lim inn (flytt/kopiér)"],
["Y", "last ned valgte"],
["F2", "endre navn på valgte"],
"filmarkering",
["space", "marker fil"],
["🡑/🡓", "flytt markør"],
["ctrl 🡑/🡓", "flytt markør og scroll"],
["🡅 🡑/🡓", "velg forr./neste fil"],
["ctrl-A", "velg alle filer / mapper"],
], [
"navigering",
["B", "mappehierarki eller filsti"],
["I/K", "forr./neste mappe"],
["M", "ett nivå opp (eller lukk)"],
["V", "vis mapper eller tekstfiler"],
["A/D", "panelstørrelse"],
], [
"musikkspiller",
["J/L", "forr./neste sang"],
["U/O", "hopp 10sek bak/frem"],
["0..9", "hopp til 0%..90%"],
["P", "pause, eller start / fortsett"],
["Y", "last ned sang"],
], [
"bildeviser",
["J/L, ←/→", "forr./neste bilde"],
["Home/End", "første/siste bilde"],
["F", "fullskjermvisning"],
["R", "rotere mot høyre"],
["🡅 R", "rotere mot venstre"],
["Y", "last ned bilde"],
], [
"videospiller",
["U/O", "hopp 10sek bak/frem"],
["P/K/Space", "pause / fortsett"],
["C", "fortsett til neste fil"],
["V", "gjenta avspilling"],
["M", "lyd av/på"],
["[ og ]", "gjentaksintervall"],
], [
"dokumentviser",
["I/K", "forr./neste fil"],
["M", "lukk tekstdokument"],
["E", "rediger tekstdokument"],
["S", "velg fil (for F2/ctrl-x/...)"],
["Y", "last ned tekstfil"],
]
],
"m_ok": "OK",
"m_ng": "Avbryt",
"enable": "Aktiv",
"danger": "VARSKU",
"clipped": "kopiert til utklippstavlen",
"ht_s1": "sekund",
"ht_s2": "sekunder",
"ht_m1": "minutt",
"ht_m2": "minutter",
"ht_h1": "time",
"ht_h2": "timer",
"ht_d1": "dag",
"ht_d2": "dager",
"ht_and": " og ",
"goh": "kontrollpanel",
"gop": 'naviger til mappen før denne">forr.',
"gou": 'naviger ett nivå opp">opp',
"gon": 'naviger til mappen etter denne">neste',
"logout": "Logg ut ",
"access": " tilgang",
"ot_close": "lukk verktøy",
"ot_search": "søk etter filer ved å angi filnavn, mappenavn, tid, størrelse, eller metadata som sangtittel / artist / osv.$N$N<code>foo bar</code> = inneholder både «foo» og «bar»,$N<code>foo -bar</code> = inneholder «foo» men ikke «bar»,$N<code>^yana .opus$</code> = starter med «yana», filtype «opus»$N<code>"try unite"</code> = «try unite» eksakt$N$Ndatoformat er iso-8601, så f.eks.$N<code>2009-12-31</code> eller <code>2020-09-12 23:30:00</code>",
"ot_unpost": "unpost: slett filer som du nylig har lastet opp; «angre-knappen»",
"ot_bup": "bup: tradisjonell / primitiv filopplastning,$N$Nfungerer i omtrent samtlige nettlesere",
"ot_mkdir": "mkdir: lag en ny mappe",
"ot_md": "new-md: lag et nytt markdown-dokument",
"ot_msg": "msg: send en beskjed til serverloggen",
"ot_mp": "musikkspiller-instillinger",
"ot_cfg": "andre innstillinger",
"ot_u2i": 'up2k: last opp filer (hvis du har skrivetilgang) eller bytt til søkemodus for å sjekke om filene finnes et-eller-annet sted på serveren$N$Nopplastninger kan gjenopptas etter avbrudd, skjer stykkevis for potensielt høyere ytelse, og ivaretar datostempling -- men bruker litt mer prosessorkraft enn [🎈] (den primitive opplasteren "bup")
mens opplastninger foregår så vises fremdriften her oppe!',
"ot_u2w": 'up2k: filopplastning med støtte for å gjenoppta avbrutte opplastninger -- steng ned nettleseren og dra de samme filene inn i nettleseren igjen for å plukke opp igjen der du slapp$N$Nopplastninger skjer stykkevis for potensielt høyere ytelse, og ivaretar datostempling -- men bruker litt mer prosessorkraft enn [🎈] (den primitive opplasteren "bup")
mens opplastninger foregår så vises fremdriften her oppe!',
"ot_noie": 'Fungerer mye bedre i Chrome / Firefox / Edge',
"ab_mkdir": "lag mappe",
"ab_mkdoc": "nytt dokument",
"ab_msg": "send melding",
"ay_path": "gå videre til mapper",
"ay_files": "gå videre til filer",
"wt_ren": "gi nye navn til de valgte filene$NSnarvei: F2",
"wt_del": "slett de valgte filene$NSnarvei: ctrl-K",
"wt_cut": "klipp ut de valgte filene <small>(for å lime inn et annet sted)</small>$NSnarvei: ctrl-X",
"wt_cpy": "kopiér de valgte filene til utklippstavlen$N(for å lime inn et annet sted)$NSnarvei: ctrl-C",
"wt_pst": "lim inn filer (som tidligere ble klippet ut / kopiert et annet sted)$NSnarvei: ctrl-V",
"wt_selall": "velg alle filer$NSnarvei: ctrl-A (mens fokus er på en fil)",
"wt_selinv": "inverter utvalg",
"wt_selzip": "last ned de valgte filene som et arkiv",
"wt_seldl": "last ned de valgte filene$NSnarvei: Y",
"wt_npirc": "kopiér sang-info (irc-formatert)",
"wt_nptxt": "kopiér sang-info",
"wt_grid": "bytt mellom ikoner og listevisning$NSnarvei: G",
"wt_prev": "forrige sang$NSnarvei: J",
"wt_play": "play / pause$NSnarvei: P",
"wt_next": "neste sang$NSnarvei: L",
"ul_par": "samtidige handl.:",
"ut_rand": "finn opp nye tilfeldige filnavn",
"ut_u2ts": "gi filen på serveren samme$Ntidsstempel som lokalt hos deg",
"ut_mt": "fortsett å befare køen mens opplastning foregår$N$Nskru denne av dersom du har en$Ntreg prosessor eller harddisk",
"ut_ask": 'bekreft filutvalg før opplastning starter">💭',
"ut_pot": "forbedre ytelsen på trege enheter ved å$Nforenkle brukergrensesnittet",
"ut_srch": "utfør søk istedenfor å laste opp --$Nleter igjennom alle mappene du har lov til å se",
"ut_par": "sett til 0 for å midlertidig stanse opplastning$N$Nhøye verdier (4 eller 8) kan gi bedre ytelse,$Nspesielt på trege internettlinjer$N$Nbør ikke være høyere enn 1 på LAN$Neller hvis serveren sin harddisk er treg",
"ul_btn": "slipp filer / mapper her (eller klikk meg)",
"ul_btnu": "L A S T O P P",
"ul_btns": "F I L S Ø K",
"ul_hash": "befar",
"ul_send": " send",
"ul_done": "total",
"ul_idle1": "ingen handlinger i køen",
"ut_etah": "snitthastighet for <em>befaring</em> samt gjenstående tid",
"ut_etau": "snitthastighet for <em>opplastning</em> samt gjenstående tid",
"ut_etat": "<em>total</em> snitthastighet og gjenstående tid",
"uct_ok": "fullført uten problemer",
"uct_ng": "fullført under tvil (duplikat, ikke funnet, ...)",
"uct_done": "fullført (enten <em>ok</em> eller <em>ng</em>)",
"uct_bz": "aktive handlinger (befaring / opplastning)",
"uct_q": "køen",
"utl_name": "filnavn",
"utl_ulist": "vis",
"utl_ucopy": "kopiér",
"utl_links": "lenker",
"utl_stat": "status",
"utl_prog": "fremdrift",
// må være korte:
"utl_404": "404",
"utl_err": "FEIL!",
"utl_oserr": "OS-feil",
"utl_found": "funnet",
"utl_defer": "senere",
"utl_yolo": "YOLO",
"utl_done": "ferdig",
"ul_flagblk": "filene har blitt lagt i køen men det er en annen nettleserfane som holder på med befaring eller opplastning akkurat nå, så venter til den er ferdig først",
"ul_btnlk": "bryteren har blitt låst til denne tilstanden i serverens konfigurasjon",
"udt_up": "Last opp",
"udt_srch": "Søk",
"udt_drop": "Slipp filene her",
"u_nav_m": '
hva har du?
Enter = Filer (én eller flere)\nESC = Én mappe (inkludert undermapper)',
"u_nav_b": 'FilerÉn mappe',
"cl_opts": "brytere",
"cl_themes": "utseende",
"cl_langs": "språk",
"cl_ziptype": "nedlastning av mapper",
"cl_uopts": "up2k-brytere",
"cl_favico": "favicon",
"cl_bigdir": "store mapper",
"cl_hsort": "#sort",
"cl_keytype": "notasjon for musikalsk dur",
"cl_hiddenc": "skjulte kolonner",
"cl_hidec": "skjul",
"cl_reset": "nullstill",
"cl_hpick": "klikk på overskriften til kolonnene du ønsker å skjule i tabellen nedenfor",
"cl_hcancel": "kolonne-skjuling avbrutt",
"ct_grid": '田 ikoner',
"ct_ttips": 'hvis hjelpetekst ved å holde musen over ting">ℹ️ tips',
"ct_thumb": 'vis miniatyrbilder istedenfor ikoner$NSnarvei: T">🖼️ bilder',
"ct_csel": 'bruk tastene CTRL og SHIFT for markering av filer i ikonvisning">merk',
"ct_ihop": 'bla ned til sist viste bilde når bildeviseren lukkes">g⮯',
"ct_dots": 'vis skjulte filer (gitt at serveren tillater det)">.synlig',
"ct_dir1st": 'sorter slik at mapper kommer foran filer">📁 først',
"ct_nsort": 'naturlig sortering (forstår tall i filnavn)">nsort',
"ct_readme": 'vis README.md nedenfor filene">📜 readme',
"ct_idxh": 'vis index.html istedenfor fil-liste">htm',
"ct_sbars": 'vis rullgardiner / skrollefelt">⟊',
"cut_umod": 'i tilfelle en fil du laster opp allerede finnes på serveren, så skal serverens tidsstempel oppdateres slik at det stemmer overens med din lokale fil (krever rettighetene write+delete)">re📅',
"cut_turbo": "forenklet befaring ved opplastning; bør sannsynlig ikke skrus på:$N$Nnyttig dersom du var midt i en svær opplastning som måtte restartes av en eller annen grunn, og du vil komme igang igjen så raskt som overhodet mulig.$N$Nnår denne er skrudd på så forenkles befaringen kraftig; istedenfor å utføre en trygg sjekk på om filene finnes på serveren i god stand, så sjekkes kun om filstørrelsen stemmer. Så dersom en korrupt fil skulle befinne seg på serveren allerede, på samme sted med samme størrelse og navn, så blir det ikke oppdaget.$N$Ndet anbefales å kun benytte denne funksjonen for å komme seg raskt igjennom selve opplastningen, for så å skru den av, og til slutt "laste opp" de samme filene én gang til -- slik at integriteten kan verifiseres\">turbo",
"cut_datechk": "har ingen effekt dersom turbo er avslått$N$Ngjør turbo bittelitt tryggere ved å sjekke datostemplingen på filene (i tillegg til filstørrelse)$N$Nburde oppdage og gjenoppta de fleste ufullstendige opplastninger, men er ikke en fullverdig erstatning for å deaktivere turbo og gjøre en skikkelig sjekk\">date-chk",
"cut_u2sz": "størrelse i megabyte for hvert bruddstykke for opplastning. Store verdier flyr bedre over atlanteren. Små verdier kan være bedre på særdeles ustabile forbindelser",
"cut_flag": "samkjører nettleserfaner slik at bare én $N kan holde på med befaring / opplastning $N -- andre faner må også ha denne skrudd på $N -- fungerer kun innenfor samme domene",
"cut_az": "last opp filer i alfabetisk rekkefølge, istedenfor minste-fil-først$N$Nalfabetisk kan gjøre det lettere å anslå om alt gikk bra, men er bittelitt tregere på fiber / LAN",
"cut_nag": "meldingsvarsel når opplastning er ferdig$N(kun on nettleserfanen ikke er synlig)",
"cut_sfx": "lydvarsel når opplastning er ferdig$N(kun on nettleserfanen ikke er synlig)",
"cut_mt": "raskere befaring ved å bruke hele CPU'en$N$Ndenne funksjonen anvender web-workers$Nog krever mer RAM (opptil 512 MiB ekstra)$N$Ngjør https 30% raskere, http 4.5x raskere\">mt",
"cft_text": "ikontekst (blank ut og last siden på nytt for å deaktivere)",
"cft_fg": "farge",
"cft_bg": "bakgrunnsfarge",
"cdt_lim": "maks antall filer å vise per mappe",
"cdt_ask": "vis knapper for å laste flere filer nederst på siden istedenfor å gradvis laste mer av mappen når man scroller ned",
"cdt_hsort": "antall sorterings-regler (<code>,sorthref</code>) som skal inkluderes når media-URL'er genereres. Hvis denne er 0 så vil sorterings-regler i URL'er hverken bli generert eller lest",
"tt_entree": "bytt til mappehierarki$NSnarvei: B",
"tt_detree": "bytt til tradisjonell sti-visning$NSnarvei: B",
"tt_visdir": "bla ned til den åpne mappen",
"tt_ftree": "bytt mellom filstruktur og tekstfiler$NSnarvei: V",
"tt_pdock": "vis de overordnede mappene i et panel",
"tt_dynt": "øk bredden på panelet ettersom treet utvider seg",
"tt_wrap": "linjebryting",
"tt_hover": "vis hele mappenavnet når musepekeren treffer mappen$N( gjør dessverre at scrollhjulet fusker dersom musepekeren ikke befinner seg i grøfta )",
"ml_pmode": "ved enden av mappen",
"ml_btns": "knapper",
"ml_tcode": "konvertering",
"ml_tcode2": "konverter til",
"ml_tint": "tint",
"ml_eq": "audio equalizer (tonejustering)",
"ml_drc": "compressor (volum-utjevning)",
"mt_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-URLen bli oppdatert med sang-ID'er når musikk spilles, i tilfelle innstillingene skulle gå tapt og nettsiden lastes på ny\">a▶",
"mt_preload": "hent ned litt av neste sang i forkant,$Nslik at pausen i overgangen blir mindre\">forles",
"mt_prescan": "ved behov, bla til neste mappe$Nslik at nettleseren lar oss$Nfortsette å spille musikk\">bla",
"mt_fullpre": "hent ned hele neste sang, ikke bare litt:$N✅ skru på hvis nettet ditt er ustabilt,$N❌ skru av hvis nettet ditt er tregt\">full",
"mt_fau": "for telefoner: forhindre at avspilling stopper hvis nettet er for tregt til å laste neste sang i tide. Hvis påskrudd, kan forårsake at sang-info ikke vises korrekt i OS'et\">☕️",
"mt_waves": "waveform seekbar:$Nvis volumkurve i avspillingsfeltet\">~s",
"mt_npclip": "vis knapper for å kopiere info om sangen du hører på\">/np",
"mt_octl": "integrering med operativsystemet (fjernkontroll, info-skjerm)\">os-ctl",
"mt_oseek": "tillat spoling med fjernkontroll$N$Nmerk: på noen enheter (iPhones) så vil$Ndette erstatte knappen for neste sang\">spoling",
"mt_oscv": "vis album-cover på infoskjermen\">bilde",
"mt_follow": "bla slik at sangen som spilles alltid er synlig\">🎯",
"mt_compact": "tettpakket avspillerpanel\">⟎",
"mt_uncache": "prøv denne hvis en sang ikke spiller riktig\">oppfrisk",
"mt_mloop": "repeter hele mappen\">🔁 gjenta",
"mt_mnext": "hopp til neste mappe og fortsett\">📂 neste",
"mt_cflac": "konverter flac / wav-filer til opus\">flac",
"mt_caac": "konverter aac / m4a-filer til to opus\">aac",
"mt_coth": "konverter alt annet (men ikke mp3) til opus\">andre",
"mt_c2opus": "det beste valget for alle PCer og Android\">opus",
"mt_c2owa": "opus-weba, for iOS 17.5 og nyere\">owa",
"mt_c2caf": "opus-caf, for iOS 11 tilogmed 17\">caf",
"mt_c2mp3": "bra valg for steinalder-utstyr (slår aldri feil)\">mp3",
"mt_c2ok": "bra valg!",
"mt_c2nd": "ikke det foretrukne valget for din enhet, men funker sikkert greit",
"mt_c2ng": "ser virkelig ikke ut som enheten din takler dette formatet... men ok, vi prøver",
"mt_xowa": "iOS har fortsatt problemer med avspilling av owa-musikk i bakgrunnen. Bruk caf eller mp3 istedenfor",
"mt_tint": "nivå av bakgrunnsfarge på søkestripa (0-100),$Ngjør oppdateringer mindre distraherende",
"mt_eq": "aktiver tonekontroll og forsterker;$N$Nboost <code>0</code> = normal volumskala$N$Nwidth <code>1 </code> = normal stereo$Nwidth <code>0.5</code> = 50% blanding venstre-høyre$Nwidth <code>0 </code> = mono$N$Nboost <code>-0.8</code> & width <code>10</code> = instrumental :^)$N$Nreduserer også dødtid imellom sangfiler",
"mt_drc": "aktiver volum-utjevning (dynamic range compressor); vil også aktivere tonejustering, så sett alle EQ-feltene bortsett fra 'width' til 0 hvis du ikke vil ha noe EQ$N$Nfilteret vil dempe volumet på alt som er høyere enn TRESH dB; for hver RATIO dB over grensen er det 1dB som treffer høyttalerne, så standardverdiene tresh -24 og ratio 12 skal bety at volumet ikke går høyere enn -22 dB, slik at man trygt kan øke boost-verdien i equalizer'n til rundt 0.8, eller 1.8 kombinert med ATK 0 og RLS 90 (bare mulig i firefox; andre nettlesere tar ikke høyere RLS enn 1)$N$Nwikipedia forklarer dette mye bedre forresten",
"mb_play": "lytt",
"mm_hashplay": "spill denne sangen?",
"mp_breq": "krever firefox 82+, chrome 73+, eller iOS 15+",
"mm_bload": "laster inn...",
"mm_bconv": "konverterer til {0}, vent litt...",
"mm_opusen": "nettleseren din forstår ikke aac / m4a;\nkonvertering til opus er nå aktivert",
"mm_playerr": "avspilling feilet: ",
"mm_eabrt": "Avspillingsforespørselen ble avbrutt",
"mm_enet": "Nettet ditt er ustabilt",
"mm_edec": "Noe er galt med musikkfilen",
"mm_esupp": "Nettleseren din forstår ikke filtypen",
"mm_eunk": "Ukjent feil",
"mm_e404": "Avspilling feilet: Fil ikke funnet.",
"mm_e403": "Avspilling feilet: Tilgang nektet.\n\nKanskje du ble logget ut?\nPrøv å trykk F5 for å laste siden på nytt.",
"mm_e5xx": "Avspilling feilet: ",
"mm_nof": "finner ikke flere sanger i nærheten",
"mm_prescan": "Leter etter neste sang...",
"mm_scank": "Fant neste sang:",
"mm_uncache": "alle sanger vil lastes på nytt ved neste avspilling",
"mm_hnf": "sangen finnes ikke lenger",
"im_hnf": "bildet finnes ikke lenger",
"f_empty": 'denne mappen er tom',
"f_chide": 'dette vil skjule kolonnen «{0}»\n\nfanen for "andre innstillinger" lar deg vise kolonnen igjen',
"f_bigtxt": "denne filen er hele {0} MiB -- vis som tekst?",
"fbd_more": '
',
"f_dls": 'linkene i denne mappen er nå\nomgjort til nedlastningsknapper',
"f_partial": "For å laste ned en fil som enda ikke er ferdig opplastet, klikk på filen som har samme filnavn som denne, men uten .PARTIAL på slutten. Da vil serveren passe på at nedlastning går bra. Derfor anbefales det sterkt å trykke AVBRYT eller Escape-tasten.\n\nHvis du virkelig ønsker å laste ned denne .PARTIAL-filen på en ukontrollert måte, trykk OK / Enter for å ignorere denne advarselen. Slik vil du høyst sannsynlig motta korrupt data.",
"ft_paste": "Lim inn {0} filer$NSnarvei: ctrl-V",
"fr_eperm": 'kan ikke endre navn:\ndu har ikke “move”-rettigheten i denne mappen',
"fd_eperm": 'kan ikke slette:\ndu har ikke “delete”-rettigheten i denne mappen',
"fc_eperm": 'kan ikke klippe ut:\ndu har ikke “move”-rettigheten i denne mappen',
"fp_eperm": 'kan ikke lime inn:\ndu har ikke “write”-rettigheten i denne mappen',
"fr_emore": "velg minst én fil som skal få nytt navn",
"fd_emore": "velg minst én fil som skal slettes",
"fc_emore": "velg minst én fil som skal klippes ut",
"fcp_emore": "velg minst én fil som skal kopieres til utklippstavlen",
"fs_sc": "del mappen du er i nå",
"fs_ss": "del de valgte filene",
"fs_just1d": "du kan ikke markere flere mapper samtidig,\neller kombinere mapper og filer",
"fs_abrt": "❌ avbryt",
"fs_rand": "🎲 tilfeldig navn",
"fs_go": "✅ opprett deling",
"fs_name": "navn",
"fs_src": "kilde",
"fs_pwd": "passord",
"fs_exp": "varighet",
"fs_tmin": "min",
"fs_thrs": "timer",
"fs_tdays": "dager",
"fs_never": "for evig",
"fs_pname": "frivillig navn (blir noe tilfeldig ellers)",
"fs_tsrc": "fil/mappe som skal deles",
"fs_ppwd": "frivillig passord",
"fs_w8": "oppretter deling...",
"fs_ok": "trykk Enter/OK for å kopiere linken (for CTRL-V)\ntrykk ESC/Avbryt for å bare bekrefte",
"frt_dec": "kan korrigere visse ødelagte filnavn\">url-decode",
"frt_rst": "nullstiller endringer (tilbake til de originale filnavnene)\">↺ reset",
"frt_abrt": "avbryt og lukk dette vinduet\">❌ avbryt",
"frb_apply": "IVERKSETT",
"fr_adv": "automasjon basert på metadata og / eller mønster (regulære uttrykk)\">avansert",
"fr_case": "versalfølsomme uttrykk\">Aa",
"fr_win": "bytt ut bokstavene <>:"\\|?* med$Ntilsvarende som windows ikke får panikk av\">win",
"fr_slash": "bytt ut bokstaven / slik at den ikke forårsaker at nye mapper opprettes\">ikke /",
"fr_re": "regex-mønster som kjøres på hvert filnavn. Grupper kan leses ut i format-feltet nedenfor, f.eks. <code>(1)</code> og <code>(2)</code> osv.",
"fr_fmt": "inspirert av foobar2000:$N<code>(title)</code> byttes ut med sangtittel,$N<code>[(artist) - ](title)</code> dropper [dette] hvis artist er blank$N<code>$lpad((tn),2,0)</code> viser sangnr. med 2 siffer",
"fr_pdel": "slett",
"fr_pnew": "lagre som",
"fr_pname": "gi innstillingene dine et navn",
"fr_aborted": "avbrutt",
"fr_lold": "gammelt navn",
"fr_lnew": "nytt navn",
"fr_tags": "metadata for de valgte filene (kun for referanse):",
"fr_busy": "endrer navn på {0} filer...\n\n{1}",
"fr_efail": "endring av navn feilet:\n",
"fr_nchg": "{0} av navnene ble justert pga. win og/eller ikke /\n\nvil du fortsette med de nye navnene som ble valgt?",
"fd_ok": "sletting OK",
"fd_err": "sletting feilet:\n",
"fd_none": "ingenting ble slettet; kanskje avvist av serverkonfigurasjon (xbd)?",
"fd_busy": "sletter {0} filer...\n\n{1}",
"fd_warn1": "SLETT disse {0} filene?",
"fd_warn2": "Siste sjanse! Dette kan ikke angres. Slett?",
"fc_ok": "klippet ut {0} filer",
"fc_warn": 'klippet ut {0} filer\n\nmen: kun denne nettleserfanen har mulighet til å lime dem inn et annet sted, siden antallet filer er helt hinsides',
"fcc_ok": "kopierte {0} filer til utklippstavlen",
"fcc_warn": 'kopierte {0} filer til utklippstavlen\n\nmen: kun denne nettleserfanen har mulighet til å lime dem inn et annet sted, siden antallet filer er helt hinsides',
"fp_apply": "bekreft og lim inn nå",
"fp_ecut": "du må klippe ut eller kopiere noen filer / mapper først\n\nmerk: du kan gjerne jobbe på kryss av nettleserfaner; klippe ut i én fane, lime inn i en annen",
"fp_ename": "{0} filer kan ikke flyttes til målmappen fordi det allerede finnes filer med samme navn. Gi dem nye navn nedenfor, eller gi dem et blankt navn for å hoppe over dem:",
"fcp_ename": "{0} filer kan ikke kopieres til målmappen fordi det allerede finnes filer med samme navn. Gi dem nye navn nedenfor, eller gi dem et blankt navn for å hoppe over dem:",
"fp_emore": "det er fortsatt flere navn som må endres",
"fp_ok": "flytting OK",
"fcp_ok": "kopiering OK",
"fp_busy": "flytter {0} filer...\n\n{1}",
"fcp_busy": "kopierer {0} filer...\n\n{1}",
"fp_err": "flytting feilet:\n",
"fcp_err": "kopiering feilet:\n",
"fp_confirm": "flytt disse {0} filene hit?",
"fcp_confirm": "kopiér disse {0} filene hit?",
"fp_etab": 'kunne ikke lese listen med filer ifra den andre nettleserfanen',
"fp_name": "Laster opp én fil fra enheten din. Velg filnavn:",
"fp_both_m": '
hva skal limes inn her?
Enter = Flytt {0} filer fra «{1}»\nESC = Last opp {2} filer fra enheten din',
"fcp_both_m": '
hva skal limes inn her?
Enter = Kopiér {0} filer fra «{1}»\nESC = Last opp {2} filer fra enheten din',
"fp_both_b": 'FlyttLast opp',
"fcp_both_b": 'KopiérLast opp',
"mk_noname": "skriv inn et navn i tekstboksen til venstre først :p",
"tv_load": "Laster inn tekstfil:\n\n{0}\n\n{1}% ({2} av {3} MiB lastet ned)",
"tv_xe1": "kunne ikke laste tekstfil:\n\nfeil ",
"tv_xe2": "404, Fil ikke funnet",
"tv_lst": "tekstfiler i mappen",
"tvt_close": "gå tilbake til mappen$NSnarvei: M (eller Esc)\">❌ lukk",
"tvt_dl": "last ned denne filen$NSnarvei: Y\">💾 last ned",
"tvt_prev": "vis forrige dokument$NSnarvei: i\">⬆ forr.",
"tvt_next": "vis neste dokument$NSnarvei: K\">⬇ neste",
"tvt_sel": "markér filen ( for utklipp / sletting / ... )$NSnarvei: S\">merk",
"tvt_edit": "redigér filen$NSnarvei: E\">✏️ endre",
"gt_vau": "ikke vis videofiler, bare spill lyden\">🎧",
"gt_msel": "markér filer istedenfor å åpne dem; ctrl-klikk filer for å overstyre$N$N<em>når aktiv: dobbelklikk en fil / mappe for å åpne</em>$N$NSnarvei: S\">markering",
"gt_crop": "beskjær ikonene så de passer bedre\">✂",
"gt_3x": "høyere oppløsning på ikoner\">3x",
"gt_zoom": "zoom",
"gt_chop": "trim",
"gt_sort": "sorter",
"gt_name": "navn",
"gt_sz": "størr.",
"gt_ts": "dato",
"gt_ext": "type",
"gt_c1": "reduser maks-lengde på filnavn",
"gt_c2": "øk maks-lengde på filnavn",
"sm_w8": "søker...",
"sm_prev": "søkeresultatene er fra et tidligere søk:\n ",
"sl_close": "lukk søkeresultater",
"sl_hits": "viser {0} treff",
"sl_moar": "hent flere",
"s_sz": "størr.",
"s_dt": "dato",
"s_rd": "sti",
"s_fn": "navn",
"s_ta": "meta",
"s_ua": "up@",
"s_ad": "avns.",
"s_s1": "større enn ↓ MiB",
"s_s2": "mindre enn ↓ MiB",
"s_d1": "nyere enn <dato>",
"s_d2": "eldre enn",
"s_u1": "lastet opp etter",
"s_u2": "og/eller før",
"s_r1": "mappenavn inneholder",
"s_f1": "filnavn inneholder",
"s_t1": "sang-info inneholder",
"s_a1": "konkrete egenskaper",
"md_eshow": "viser forenklet ",
"md_off": "[📜readme] er avskrudd i [⚙️] -- dokument skjult",
"badreply": "Ugyldig svar ifra serveren",
"xhr403": "403: Tilgang nektet\n\nkanskje du ble logget ut? prøv å trykk F5",
"xhr0": "ukjent (enten nettverksproblemer eller serverkrasj)",
"cf_ok": "beklager -- liten tilfeldig kontroll, alt OK\n\nting skal fortsette om ca. 30 sekunder\n\nhvis ikkeno skjer, trykk F5 for å laste siden på nytt",
"tl_xe1": "kunne ikke hente undermapper:\n\nfeil ",
"tl_xe2": "404: Mappen finnes ikke",
"fl_xe1": "kunne ikke hente filer i mappen:\n\nfeil ",
"fl_xe2": "404: Mappen finnes ikke",
"fd_xe1": "kan ikke opprette ny mappe:\n\nfeil ",
"fd_xe2": "404: Den overordnede mappen finnes ikke",
"fsm_xe1": "kunne ikke sende melding:\n\nfeil ",
"fsm_xe2": "404: Den overordnede mappen finnes ikke",
"fu_xe1": "kunne ikke hente listen med nylig opplastede filer ifra serveren:\n\nfeil ",
"fu_xe2": "404: Filen finnes ikke??",
"fz_tar": "ukomprimert gnu-tar arkiv, for linux og mac",
"fz_pax": "ukomprimert pax-tar arkiv, litt tregere",
"fz_targz": "gnu-tar pakket med gzip (nivå 3)$N$NNB: denne er veldig treg;$Nukomprimert tar er bedre",
"fz_tarxz": "gnu-tar pakket med xz (nivå 1)$N$NNB: denne er veldig treg;$Nukomprimert tar er bedre",
"fz_zip8": "zip med filnavn i utf8 (noe problematisk på windows 7 og eldre)",
"fz_zipd": "zip med filnavn i cp437, for høggamle maskiner",
"fz_zipc": "cp437 med tidlig crc32,$Nfor MS-DOS PKZIP v2.04g (oktober 1993)$N(øker behandlingstid på server)",
"un_m1": "nedenfor kan du angre / slette filer som du nylig har lastet opp, eller avbryte ufullstendige opplastninger",
"un_upd": "oppdater",
"un_m4": "eller hvis du vil dele nedlastnings-lenkene:",
"un_ulist": "vis",
"un_ucopy": "kopiér",
"un_flt": "valgfritt filter: filnavn / filsti må inneholde",
"un_fclr": "nullstill filter",
"un_derr": 'unpost-sletting feilet:\n',
"un_f5": 'noe gikk galt, prøv å oppdatere listen eller trykk F5',
"un_uf5": "beklager, men du må laste siden på nytt (f.eks. ved å trykke F5 eller CTRL-R) før denne opplastningen kan avbrytes",
"un_nou": 'advarsel: kan ikke vise ufullstendige opplastninger akkurat nå; klikk på oppdater-linken om litt',
"un_noc": 'advarsel: angring av fullførte opplastninger er deaktivert i serverkonfigurasjonen',
"un_max": "viser de første 2000 filene (bruk filteret for å innsnevre)",
"un_avail": "{0} nylig opplastede filer kan slettes {1} ufullstendige opplastninger kan avbrytes",
"un_m2": "sortert etter opplastningstid; nyeste først:",
"un_no1": "men nei, her var det jaggu ikkeno som slettes kan",
"un_no2": "men nei, her var det jaggu ingenting som passet overens med filteret",
"un_next": "slett de neste {0} filene nedenfor",
"un_abrt": "avbryt",
"un_del": "slett",
"un_m3": "henter listen med nylig opplastede filer...",
"un_busy": "sletter {0} filer...",
"un_clip": "{0} lenker kopiert til utklippstavlen",
"u_https1": "du burde",
"u_https2": "bytte til https",
"u_https3": "for høyere hastighet",
"u_ancient": 'nettleseren din er prehistorisk -- mulig du burde bruke bup istedenfor',
"u_nowork": "krever firefox 53+, chrome 57+, eller iOS 11+",
"u_nodrop": 'nettleseren din er for gammel til å laste opp filer ved å dra dem inn i vinduet',
"u_notdir": "mottok ikke mappen!\n\nnettleseren din er for gammel,\nprøv å dra mappen inn i vinduet istedenfor",
"u_uri": "for å laste opp bilder ifra andre nettleservinduer,\nslipp bildet rett på den store last-opp-knappen",
"u_enpot": 'bytt til enkelt UI (gir sannsynlig raskere opplastning)',
"u_depot": 'bytt til snæsent UI (gir sannsynlig tregere opplastning)',
"u_gotpot": 'byttet til et enklere UI for å laste opp raskere,\n\ndu kan gjerne bytte tilbake altså!',
"u_pott": "
filer: {0} ferdig, {1} feilet, {2} behandles, {3} i kø
",
"u_ever": "dette er den primitive opplasteren; up2k krever minst: chrome 21 // firefox 13 // edge 12 // opera 12 // safari 5.1",
"u_su2k": 'dette er den primitive opplasteren; up2k er bedre',
"u_uput": 'litt raskere (uten sha512)',
"u_ewrite": 'du har ikke skrivetilgang i denne mappen',
"u_eread": 'du har ikke lesetilgang i denne mappen',
"u_enoi": 'filsøk er deaktivert i serverkonfigurasjonen',
"u_badf": 'Disse {0} filene (av totalt {1}) kan ikke leses, kanskje pga rettighetsproblemer i filsystemet på datamaskinen din:\n\n',
"u_blankf": 'Disse {0} filene (av totalt {1}) er blanke / uten innhold; ønsker du å laste dem opp uansett?\n\n',
"u_just1": '\nFunker kanskje bedre hvis du bare tar én fil om gangen',
"u_ff_many": 'Hvis du bruker Linux / MacOS / Android, så kan dette antallet filer kanskje krasje Firefox! Hvis det skjer, så prøv igjen (eller bruk Chrome).',
"u_up_life": "Filene slettes fra serveren {0}\netter at opplastningen er fullført",
"u_asku": 'Laste opp disse {0} filene til {1}',
"u_unpt": "Du kan angre / slette opplastningen med 🧯 oppe til venstre",
"u_bigtab": 'Vil nå vise {0} filer...\n\nDette kan krasje nettleseren din. Fortsette?',
"u_scan": 'Leser mappene...',
"u_dirstuck": 'Nettleseren din fikk ikke tilgang til å lese følgende {0} filer/mapper, så de blir hoppet over:',
"u_etadone": 'Ferdig ({0}, {1} filer)',
"u_etaprep": '(forbereder opplastning)',
"u_hashdone": 'befaring ferdig',
"u_hashing": 'les',
"u_hs": 'serveren tenker...',
"u_started": "filene blir nå lastet opp 🚀",
"u_dupdefer": "duplikat; vil bli håndtert til slutt",
"u_actx": "klikk her for å forhindre tap av ytelse ved bytte til andre vinduer/faner",
"u_fixed": "OK! Løste seg 👍",
"u_cuerr": "kunne ikke laste opp del {0} av {1};\nsikkert greit, fortsetter\n\nfil: {2}",
"u_cuerr2": "server nektet opplastningen (del {0} av {1});\nprøver igjen senere\n\nfil: {2}\n\nerror ",
"u_ehstmp": "prøver igjen; se mld nederst",
"u_ehsfin": "server nektet forespørselen om å ferdigstille filen; prøver igjen...",
"u_ehssrch": "server nektet forespørselen om å utføre søk; prøver igjen...",
"u_ehsinit": "server nektet forespørselen om å begynne en ny opplastning; prøver igjen...",
"u_eneths": "et problem med nettverket gjorde at avtale om opplastning ikke kunne inngås; prøver igjen...",
"u_enethd": "et problem med nettverket gjorde at filsjekk ikke kunne utføres; prøver igjen...",
"u_cbusy": "venter på klarering ifra server etter et lite nettverksglipp...",
"u_ehsdf": "serveren er full!\n\nprøver igjen regelmessig,\ni tilfelle noen rydder litt...",
"u_emtleak1": "uff, det er mulig at nettleseren din har en minnelekkasje...\nForeslår",
"u_emtleak2": ' helst at du bytter til https, eller ',
"u_emtleak3": ' at du ',
"u_emtleakc": 'prøver følgende:\n
trykk F5 for å laste siden på nytt
så skru av mt bryteren under ⚙️ innstillinger
og forsøk den samme opplastningen igjen
Opplastning vil gå litt tregere, men det får så være.\nBeklager bryderiet !\n\nPS: feilen skal være fikset i chrome v107',
"u_emtleakf": 'prøver følgende:\n
trykk F5 for å laste siden på nytt
så skru på 🥔 ("enkelt UI") i opplasteren
og forsøk den samme opplastningen igjen
\nPS: Firefox fikser forhåpentligvis feilen en eller annen gang',
"u_s404": "ikke funnet på serveren",
"u_expl": "forklar",
"u_maxconn": "de fleste nettlesere tillater ikke mer enn 6, men firefox lar deg øke grensen med connections-per-server i about:config",
"u_tu": '
ADVARSEL: turbo er på, avbrutte opplastninger vil muligens ikke oppdages og gjenopptas; hold musepekeren over turbo-knappen for mer info
',
"u_ts": '
ADVARSEL: turbo er på, søkeresultater kan være feil; hold musepekeren over turbo-knappen for mer info
',
"u_turbo_c": "turbo er deaktivert i serverkonfigurasjonen",
"u_turbo_g": 'turbo ble deaktivert fordi du ikke har\ntilgang til å se mappeinnhold i dette volumet',
"u_life_cfg": 'slett opplastning etter min (eller timer)',
"u_life_est": 'opplastningen slettes ---',
"u_life_max": 'denne mappen tillater ikke å \noppbevare filer i mer enn {0}',
"u_unp_ok": 'opplastning kan angres i {0}',
"u_unp_ng": 'opplastning kan IKKE angres',
"ue_ro": 'du har ikke skrivetilgang i denne mappen\n\n',
"ue_nl": 'du er ikke logget inn',
"ue_la": 'du er logget inn som "{0}"',
"ue_sr": 'du er i filsøk-modus\n\nbytt til opplastning ved å klikke på forstørrelsesglasset 🔎 (ved siden av den store FILSØK-knappen) og prøv igjen\n\nsorry',
"ue_ta": 'prøv å laste opp igjen, det burde funke nå',
"ue_ab": "den samme filen er allerede under opplastning til en annen mappe, og den må fullføres der før filen kan lastes opp andre steder.\n\nDu kan avbryte og glemme den påbegynte opplastningen ved hjelp av 🧯 oppe til venstre",
"ur_1uo": "OK: Filen ble lastet opp",
"ur_auo": "OK: Alle {0} filene ble lastet opp",
"ur_1so": "OK: Filen ble funnet på serveren",
"ur_aso": "OK: Alle {0} filene ble funnet på serveren",
"ur_1un": "Opplastning feilet!",
"ur_aun": "Alle {0} opplastningene gikk feil!",
"ur_1sn": "Filen finnes IKKE på serveren",
"ur_asn": "Fant INGEN av de {0} filene på serveren",
"ur_um": "Ferdig;\n{0} opplastninger gikk bra,\n{1} opplastninger gikk feil",
"ur_sm": "Ferdig;\n{0} filer ble funnet,\n{1} filer finnes IKKE på serveren",
"lang_set": "passer det å laste siden på nytt?",
},
"chi": {
// 以 //m 结尾的行是未经验证的机器翻译
"tt": "中文",
"cols": {
"c": "操作按钮",
"dur": "持续时间",
"q": "质量 / 比特率",
"Ac": "音频编码",
"Vc": "视频编码",
"Fmt": "格式 / 容器",
"Ahash": "音频校验和",
"Vhash": "视频校验和",
"Res": "分辨率",
"T": "文件类型",
"aq": "音频质量 / 比特率",
"vq": "视频质量 / 比特率",
"pixfmt": "子采样 / 像素结构",
"resw": "水平分辨率",
"resh": "垂直分辨率",
"chs": "音频频道",
"hz": "采样率"
},
"hks": [
[
"misc",
["ESC", "关闭各种窗口"],
"file-manager",
["G", "切换列表 / 网格视图"],
["T", "切换缩略图 / 图标"],
["🡅 A/D", "缩略图大小"],
["ctrl-K", "删除选中项"],
["ctrl-X", "剪切选中项"],
["ctrl-C", "复制选中项"], //m
["ctrl-V", "粘贴到文件夹"],
["Y", "下载选中项"],
["F2", "重命名选中项"],
"file-list-sel",
["space", "切换文件选择"],
["🡑/🡓", "移动选择光标"],
["ctrl 🡑/🡓", "移动光标和视图"],
["🡅 🡑/🡓", "选择上一个/下一个文件"],
["ctrl-A", "选择所有文件 / 文件夹"]
], [
"navigation",
["B", "切换面包屑导航 / 导航窗格"],
["I/K", "前一个/下一个文件夹"],
["M", "父文件夹(或折叠当前文件夹)"],
["V", "切换导航窗格中的文件夹 / 文本文件"],
["A/D", "导航窗格大小"]
], [
"audio-player",
["J/L", "上一首/下一首歌曲"],
["U/O", "跳过10秒向前/向后"],
["0..9", "跳转到0%..90%"],
["P", "播放/暂停(也可以启动)"],
["Y", "下载歌曲"]
], [
"image-viewer",
["J/L, ←/→", "上一张/下一张图片"],
["Home/End", "第一张/最后一张图片"],
["F", "全屏"],
["R", "顺时针旋转"],
["🡅 R", "逆时针旋转"],
["Y", "下载图片"]
], [
"video-player",
["U/O", "跳过10秒向前/向后"],
["P/K/Space", "播放/暂停"],
["C", "继续播放下一段"],
["V", "循环"],
["M", "静音"],
["[ and ]", "设置循环区间"]
], [
"textfile-viewer",
["I/K", "前一个/下一个文件"],
["M", "关闭文本文件"],
["E", "编辑文本文件"],
["S", "选择文件(用于剪切/重命名)"]
]
],
"m_ok": "确定",
"m_ng": "取消",
"enable": "启用",
"danger": "危险",
"clipped": "已复制到剪贴板",
"ht_s1": "秒",
"ht_s2": "秒",
"ht_m1": "分",
"ht_m2": "分",
"ht_h1": "时",
"ht_h2": "时",
"ht_d1": "天",
"ht_d2": "天",
"ht_and": " 和 ",
"goh": "控制面板",
"gop": '前一项">pre',
"gou": '顶部">up',
"gon": '下一项">next',
"logout": " 登出",
"access": " 访问",
"ot_close": "关闭子菜单",
"ot_search": "按属性、路径/名称、音乐标签或上述内容的任意组合搜索文件$N$N<code>foo bar</code> = 必须包含 «foo» 和 «bar»,$N<code>foo -bar</code> = 包含 «foo» 而不包含 «bar»,$N<code>^yana .opus$</code> = 以 «yama» 为开头的 «opus» 文件$N<code>"try unite"</code> = 正好包含 «try unite»$N$N时间格式为 iso-8601, 比如:$N<code>2009-12-31</code> or <code>2020-09-12 23:30:00</code>",
"ot_unpost": "取消发布:删除最近上传的内容,或中止未完成的内容",
"ot_bup": "bup:基础上传器,甚至支持 Netscape 4.0",
"ot_mkdir": "mkdir:创建新目录",
"ot_md": "new-md:创建新 Markdown 文档",
"ot_msg": "msg:向服务器日志发送消息",
"ot_mp": "媒体播放器选项",
"ot_cfg": "配置选项",
"ot_u2i": 'up2k:上传文件(如果你有写入权限),或切换到搜索模式以查看文件是否存在于服务器上,$N$N上传是可恢复的,多线程的,保留文件时间戳,但比 [🎈] (基础上传器)占用 更多的CPU
');
for (var a = 0; a < res.hits.length; a++) {
var r = res.hits[a],
ts = parseInt(r.ts),
sz = esc(r.sz + ''),
rp = esc(uricom_dec(r.rp + '')),
ext = rp.lastIndexOf('.') > 0 ? rp.split('.').pop().split('?')[0] : '%',
id = 'f-' + ('00000000' + crc32(rp)).slice(-8);
while (seen[id])
id += 'a';
seen[id] = 1;
if (ext.length > 8)
ext = '%';
var links = linksplit(r.rp + '', id).join('/'),
nodes = ['
-
' + links + '
', sz];
for (var b = 0; b < tagord.length; b++) {
var k = tagord[b],
v = r.tags[k] || "";
if (k == ".dur") {
var sv = v ? s2ms(v) : "";
nodes[nodes.length - 1] += '
');
}
html.push('');
html = html.join('\n');
set_files_html(html);
if (r.trunc) {
r.setlazy(plain);
if (!r.ask) {
window.addEventListener('scroll', r.tscroll);
setTimeout(r.tscroll, 100);
}
}
else ebi('lazy').innerHTML = '';
function asdf() {
showfile.mktree();
mukey.render();
reload_tree();
reload_browser();
tree_scrollto();
if (res.acct) {
acct = res.acct;
have_up2k_idx = res.idx;
have_tags_idx = res.itag;
lifetime = res.lifetime;
apply_perms(res);
fileman.render();
}
if (sel.length)
msel.loadsel(sel);
else
msel.origin_id(null);
if (cid) try {
ebi(cid).closest('tr').focus();
} catch (ex) { }
setTimeout(eval_hash, 1);
}
var m = scan_hash(hash0),
url = null;
if (m) {
url = ebi(m[1]);
if (url) {
url = url.href;
var mt = m[0] == 'a' ? 'audio' : /\.(webm|mkv)($|\?)/i.exec(url) ? 'video' : 'image'
if (mt == 'image') {
url = addq(url, 'cache');
console.log(url);
new Image().src = url;
}
}
}
if (url) setTimeout(asdf, 1); else asdf();
}
r.hydrate = function () {
qsr('#bbsw');
if (ls0 === null) {
var xhr = new XHR();
xhr.open('GET', SR + '/?setck=js=y', true);
xhr.send();
r.ls_cb = showfile.addlinks;
return r.reqls(get_evpath(), false, undefined, true);
}
ls0.unlist = unlist0;
var top = get_evpath();
if (r.chk_index_html(top, ls0))
return;
r.gentab(top, ls0);
pbar.onresize();
vbar.onresize();
showfile.addlinks();
setTimeout(eval_hash, 1);
};
function memo_dk(vp, k) {
dks[vp] = k;
var lv = vp + "?" + k;
if (has(ldks, lv))
return;
ldks.unshift(lv);
if (ldks.length > 32) {
var keep = [], evp = get_evpath();
for (var a = 0; a < ldks.length; a++) {
var s = ldks[a];
if (evp.startsWith(s.replace(/\?[^?]+$/, '')))
keep.push(s);
}
var lim = 32 - keep.length;
for (var a = 0; a < lim; a++) {
if (!has(keep, ldks[a]))
keep.push(ldks[a])
}
ldks = keep;
}
jwrite('dks', ldks);
}
r.setlazy = function (plain) {
var html = ['
', esc(plain.join(' ')), '
'],
all = r.lsc.files.length + r.lsc.dirs.length,
nxt = r.nvis * 4;
if (r.ask)
html.push((nxt >= all ? L.fbd_all : L.fbd_more).format(r.nvis, all, nxt));
ebi('lazy').innerHTML = html.join('\n');
try {
ebi('bd_all').onclick = function (e) {
ev(e);
r.showmore(all);
};
ebi('bd_more').onclick = function (e) {
ev(e);
r.showmore(nxt);
};
}
catch (ex) { }
};
r.showmore = function (n) {
window.removeEventListener('scroll', r.tscroll);
console.log('nvis {0} -> {1}'.format(r.nvis, n));
r.nvis = n;
ebi('lazy').innerHTML = '';
ebi('wrap').style.opacity = 0.4;
document.documentElement.scrollLeft = 0;
setTimeout(function () {
r.gentab(get_evpath(), r.lsc);
ebi('wrap').style.opacity = 'unset';
}, 1);
};
r.tscroll = function () {
var el = r.trunc ? ebi('plazy') : null;
if (!el || ebi('lazy').style.display || ebi('unsearch'))
return;
var sy = yscroll() + window.innerHeight,
ty = el.offsetTop;
if (sy <= ty)
return;
window.removeEventListener('scroll', r.tscroll);
var all = r.lsc.files.length + r.lsc.dirs.length;
if (r.nvis * 16 <= all) {
console.log("{0} ({1} * 16) <= {2}".format(r.nvis * 16, r.nvis, all));
r.showmore(r.nvis * 4);
}
else {
console.log("{0} ({1} * 16) > {2}".format(r.nvis * 16, r.nvis, all));
r.showmore(all);
}
};
function parsetree(res, top) {
var ret = '';
for (var a = 0; a < res.a.length; a++) {
if (res.a[a] !== '')
res['k' + res.a[a]] = 0;
}
delete res['a'];
var keys = Object.keys(res);
keys.sort(function (a, b) { return a.localeCompare(b); });
for (var a = 0; a < keys.length; a++) {
var kk = keys[a],
m = /(\?k=[^\n]+)/.exec(kk),
kdk = m ? m[1] : '',
ks = kk.replace(kdk, '').slice(1),
ded = ks.endsWith('\n'),
k = uricom_sdec(ded ? ks.replace(/\n$/, '') : ks),
hek = esc(k[0]),
uek = k[1] ? uricom_enc(k[0], true) : k[0],
url = '/' + (top ? top + uek : uek) + '/',
sym = res[kk] ? '-' : '+',
link = '' + sym + '' + hek + '';
if (res[kk]) {
var subtree = parsetree(res[kk], url.slice(1));
ret += '
' + link + '\n
\n' + subtree + '
\n';
}
else {
ret += (ded ? '
' : '
') + link + '
\n';
}
}
return ret;
}
function scaletree(e) {
ev(e);
treesz += parseInt(this.getAttribute("step"));
if (!isNum(treesz))
treesz = 16;
treesz = clamp(treesz, 2, 120);
swrite('treesz', treesz);
onresize();
}
ebi('entree').onclick = r.entree;
ebi('detree').onclick = r.detree;
ebi('visdir').onclick = tree_scrollto;
ebi('twig').onclick = scaletree;
ebi('twobytwo').onclick = scaletree;
var cs = sread('entreed'),
vw = window.innerWidth / parseFloat(getComputedStyle(document.body)['font-size']);
if (cs == 'tree' || (cs != 'na' && vw >= 60))
r.entree(null, true);
r.onpopfun = function (e) {
console.log("h-pop " + e.state);
if (!e.state)
return;
var url = new URL(e.state, "https://" + location.host),
req = url.pathname,
hbase = req,
cbase = location.pathname,
mdoc = /[?&]doc=/.exec('' + url),
mdk = /[?&](k=[^]+)/.exec('' + url);
if (mdoc && hbase == cbase)
return showfile.show(hbase + showfile.sname(url.search), true);
if (mdk)
req += '?' + mdk[1];
r.goto(req, false, true);
};
var evp = get_evpath() + (dk ? '?k=' + dk : '');
hist_replace(evp + location.hash);
r.onscroll = onscroll;
return r;
})();
function enspin(sel) {
despin(sel);
var d = mknod('div');
d.className = 'dumb_loader_thing';
d.innerHTML = '🌲';
var tgt = QS(sel);
tgt.insertBefore(d, tgt.childNodes[0]);
}
function despin(sel) {
var o = QSA(sel + '>.dumb_loader_thing');
for (var a = o.length - 1; a >= 0; a--)
o[a].parentNode.removeChild(o[a]);
}
var wfp_debounce = (function () {
var r = { 'n': 0, 't': 0 };
r.hide = function () {
if (!sb_lg && !sb_md)
return;
if (++r.n <= 1) {
r.n = 1;
clearTimeout(r.t);
r.t = setTimeout(r.reset, 300);
ebi('wfp').style.opacity = 0.1;
}
};
r.show = function () {
if (!sb_lg && !sb_md)
return;
if (--r.n <= 0) {
r.n = 0;
clearTimeout(r.t);
ebi('wfp').style.opacity = 'unset';
}
};
r.reset = function () {
r.n = 0;
r.show();
};
return r;
})();
function apply_perms(res) {
perms = res.perms || [];
var a = QS('#ops a[data-dest="up2k"]');
if (have_up2k_idx) {
a.removeAttribute('data-perm');
a.setAttribute('tt', L.ot_u2i);
}
else {
a.setAttribute('data-perm', 'write');
a.setAttribute('tt', L.ot_u2w);
}
clmod(ebi('srch_form'), 'tags', have_tags_idx);
a.style.display = '';
tt.att(QS('#ops'));
var axs = [],
aclass = '>',
chk = ['read', 'write', 'move', 'delete', 'get', 'admin'];
for (var a = 0; a < chk.length; a++)
if (has(perms, chk[a]))
axs.push(chk[a].slice(0, 1).toUpperCase() + chk[a].slice(1));
axs = axs.join('-');
if (perms.length == 1) {
aclass = ' class="warn">';
axs += '-Only';
}
ebi('acc_info').innerHTML = '' + srvinf +
'' + (acct != '*' ?
'' :
'Login');
var o = QSA('#ops>a[data-perm]');
for (var a = 0; a < o.length; a++) {
var display = '';
var needed = o[a].getAttribute('data-perm').split(' ');
for (var b = 0; b < needed.length; b++) {
if (!has(perms, needed[b])) {
display = 'none';
}
}
o[a].style.display = display;
}
var o = QSA('#ops>a[data-dep], #u2conf td[data-dep]');
for (var a = 0; a < o.length; a++)
o[a].style.display = (
o[a].getAttribute('data-dep') != 'idx' || have_up2k_idx
) ? '' : 'none';
var act = QS('#ops>a.act');
if (act && act.style.display === 'none')
goto();
document.body.setAttribute('perms', perms.join(' '));
var have_write = has(perms, "write"),
have_read = has(perms, "read"),
de = document.documentElement,
tds = QSA('#u2conf td');
clmod(de, "read", have_read);
clmod(de, "write", have_write);
clmod(de, "nread", !have_read);
clmod(de, "nwrite", !have_write);
for (var a = 0; a < tds.length; a++) {
tds[a].style.display =
(have_write || tds[a].getAttribute('data-perm') == 'read') ?
'table-cell' : 'none';
}
if (res.frand)
ebi('u2rand').parentNode.style.display = 'none';
u2ts = res.u2ts;
if (up2k)
up2k.set_fsearch();
ebi('widget').style.display = have_read ? '' : 'none';
thegrid.setvis();
if (!have_read && have_write)
goto('up2k');
}
function tr2id(tr) {
try {
return tr.cells[1].querySelector('a[id]').getAttribute('id');
}
catch (ex) {
return null;
}
}
function find_file_col(txt) {
var i = -1,
min = false,
tds = ebi('files').tHead.getElementsByTagName('th');
for (var a = 0; a < tds.length; a++) {
var spans = tds[a].getElementsByTagName('span');
if (spans.length && spans[0].textContent == txt) {
min = (tds[a].className || '').indexOf('min') !== -1;
i = a;
break;
}
}
if (i == -1)
return;
return [i, min];
}
function mk_files_header(taglist) {
var html = [
'
',
'
c
',
'
File Name
',
'
Size
'
];
for (var a = 0; a < taglist.length; a++) {
var tag = taglist[a],
c1 = tag.slice(0, 1).toUpperCase();
tag = c1 + tag.slice(1);
if (c1 == '.')
tag = '
' + tag.slice(1);
else
tag = '
' + tag;
html.push(tag + '
');
}
html = html.concat([
'
T
',
'
Date
',
'
',
]);
return html;
}
var filecols = (function () {
var r = { 'picking': false };
var hidden = jread('filecols', []);
r.add_btns = function () {
var ths = QSA('#files>thead th>span');
for (var a = 0, aa = ths.length; a < aa; a++) {
var th = ths[a].parentElement,
toh = ths[a].outerHTML, // !ff10
ttv = L.cols[ths[a].textContent];
ttv = (ttv ? ttv + '; ' : '') + 'id=' + th.getAttribute('name') + '';
if (!MOBILE && toh) {
th.innerHTML = '
');
ores.c = [];
}
for (var a = 0; a < ores.u.length; a++)
ores.u[a].k = 'u';
for (var a = 0; a < ores.c.length; a++)
ores.c[a].k = 'c';
var res = ores.u.concat(ores.c);
if (res.length) {
if (res.length == 2000)
html.push("