{"en":{"admin":{"pageTitle":"{page} — Marknote Admin","loadMore":"Load more","nav":{"label":"Admin","brand":"Marknote · Admin","overview":"Overview","users":"Users","sync":"Sync & conflicts","shared":"Shared notes","plugins":"Plugin store","back":"← Back to notebook","logout":"Sign out"},"format":{"today":"Today","todayAt":"Today {time}","yesterdayAt":"Yesterday {time}","daysAgo":"{n} day ago | {n} days ago","dayMonth":"{mm}/{dd}"},"syncResult":{"conflict":"Conflict","error":"Error","ok":{"upload":"Uploaded","download":"Downloaded","create":"Created","delete":"Deleted","move":"Moved","restore":"Restored","resolve_conflict":"Conflict resolved","import":"Imported","other":"Succeeded"},"errors":{"quota_exceeded":"Over storage limit","file_too_large":"File too large"}},"reportReasons":{"spam":"spam or advertising","abuse":"harassment or abuse","illegal":"illegal content","personal_data":"contains personal information","copyright":"copyright violation","other":"other reason"},"chart":{"weekdays":{"sun":"Sun","mon":"Mon","tue":"Tue","wed":"Wed","thu":"Thu","fri":"Fri","sat":"Sat"},"label":"Bar chart of syncs per day","bar":"{day}: {total} syncs, {conflicts} conflicts, {errors} errors","tipTotal":"{n} sync | {n} syncs","tipSub":"{conflicts} conflicts · {errors} errors","tableView":"View as table","colDay":"Day","colSyncs":"Syncs","colConflicts":"Conflicts","colErrors":"Errors"},"overview":{"range":"Time range","ranges":{"h24":"24 hours","d7":"7 days","d30":"30 days"},"rangeSub":{"h24":"Last 24 hours","d7":"Last 7 days","d30":"Last 30 days"},"stats":"Metrics","activeUsers":"Active users","notes":"Notes","inNotebooks":"in {n} notebook | in {n} notebooks","storage":"Storage","storageSub":"incl. old versions and Trash","syncs":"Syncs","pendingConflicts":"Pending conflicts","viewLog":"View log →","chartTitle":"Syncs per day","lastDays":"Last {n} days","noData":"No data yet.","services":"Services","status":{"ok":"Operational","degraded":"Degraded","down":"Down"},"versionLine":"version {api} · web {web} · checked {time}"},"sync":{"exporting":"Exporting…","exportCsv":"Export CSV","tabsLabel":"Event type","tabs":{"all":"All","conflict":"Conflicts","error":"Errors","ok":"Succeeded"},"cols":{"time":"TIME","user":"USER","file":"FILE","device":"DEVICE","result":"RESULT"},"notebook":"Notebook: {name}","files":"{n} file | {n} files","empty":"No events yet.","note":"Conflicts never overwrite: both copies are kept until the user picks one on their device (the \"Sync conflict\" screen). Admins can only view, not edit note content."},"users":{"search":"Search users","searchPlaceholder":"Search by name or email…","plan":"Plan","planAll":"All","plans":{"free":"Free","paid":"Paid"},"cols":{"user":"USER","plan":"PLAN","notes":"NOTES","storage":"STORAGE","active":"ACTIVE"},"lockedTag":"Locked","empty":"No matching users.","detail":"User details","pick":"Select a user to see details.","planLine":"{email} · {plan} plan","lockedBanner":"This account is locked.","lockedBannerReason":"This account is locked: {reason}.","storage":"Storage","storageUsed":"Storage used","devices":"Devices","deviceLine":"{name} · synced {when}","noDevices":"No devices yet.","shares":"Shared notes · {n}","resetSessions":"Reset sign-in sessions","lockSelf":"You can't lock your own account","lock":"Lock account","unlock":"Unlock account","confirmReset":"Reset sign-in sessions?","confirmLock":"Lock account?","confirmUnlock":"Unlock account?","resetMsg":"Every device of {email} will be signed out and must sign in again. No data is affected.","lockMsg":"{email} will be signed out of every device, won't be able to sign in, and their share links will stop working. Notes are kept.","unlockMsg":"{email} will be able to sign in again.","reasonOptional":"Reason (optional)","actReset":"Reset sessions","actUnlock":"Unlock","toastReset":"Reset sign-in sessions for {email}.","toastLocked":"Locked account {email}.","toastUnlocked":"Unlocked account {email}."},"shared":{"filter":"Filter","tabActive":"Shared","tabReported":"Reported","badge":"{n} note | {n} notes","cols":{"note":"NOTE","owner":"OWNER","views":"VIEWS","since":"SHARED SINCE","actions":"ACTIONS"},"detailsOf":"Details for {name}","folder":"Folder","reportLine":"Report: {reason}","view":"View","viewOf":"View {name}","unshare":"Unshare","unshareOf":"Unshare {name}","emptyReported":"No reported notes.","emptyAll":"No notes have been shared yet.","note":"Unsharing only turns off the public link; the note stays in the user's notebook and they're told the reason.","views":"{n} view | {n} views","sharing":"shared","flagPassword":"password","flagBlocked":"removed · re-sharing blocked","expires":"expires {date}","openPublic":"Open public page","blocked":"Re-sharing blocked: {reason}","reports":"Reports","reportsCount":"Reports · {n}","resolved":"resolved","contact":"Contact: {email}","resolveReports":"Dismiss reports","unblock":"Unblock","unshareTitle":"Unshare?","unshareMsg":"The public link for {name} will stop working. The note stays in {owner}'s notebook.","reasonToUser":"Reason (sent to the user)","blockNote":"Block re-sharing this note","blockFolder":"Block re-sharing this folder","reasonRequired":"Enter a reason — the user will receive it by email.","toastUnshared":"Unshared {name}.","toastResolved":"Reports dismissed.","toastUnblocked":"Unblocked — the owner can share it again."},"plugins":{"search":"Search plugins","searchPlaceholder":"Search plugins, authors","docs":"Plugin API docs","tabsLabel":"Plugin status","tabs":{"all":"All","pending":"Pending","pendingCount":"Pending · {n}","approved":"Approved","removed":"Removed"},"status":{"pending":"Pending","approved":"Approved","removed":"Removed","rejected":"Rejected"},"action":{"pending":"Review","approved":"Details","removed":"Reason","rejected":"Details"},"perm":{"note_read":"read notes","note_write":"edit notes","vault_list":"file list","vault_read":"all files","vault_write":"create files","notify":"notifications","network":"Internet"},"cols":{"plugin":"PLUGIN","author":"AUTHOR","perms":"PERMISSIONS","installs":"INSTALLS","status":"STATUS","actions":"Actions"},"noPerms":"No permissions","emptySearch":"No matching plugins.","emptyPending":"Nothing waiting for review.","empty":"No plugins yet.","note":"Every release is scanned automatically (package code, requested permissions vs. description), then confirmed by a reviewer. Plugins asking to \"Send content to the Internet\" always need manual review. Removing from the store turns the plugin off on every device at the next sync.","fallbackTitle":"Plugin","unknownUploader":"unknown uploader","installs":"{n} install | {n} installs","removedBanner":"Removed from the store: {reason}","noReason":"no reason given","version":"Version {v}","perms":"Permissions","noPermsAny":"Requests no permissions","optional":" (optional)","slots":"Slots","scan":"Scan results","scanOk":"Valid","scanBad":"Has errors","scanLine":"{status} · {n} files · {size} unpacked","hosts":"Network hosts: {hosts}","reviewNote":"Review note: {note}","manualReview":"Needs manual review","ack":"I've manually checked the code and purpose of the permissions above","reviewNoteOptional":"Review note (optional)","approve":"Approve v{v}","reject":"Reject","rejectReason":"Reason for rejecting v{v} (sent to the developer)","removeReason":"Reason for removal (shown to people who installed it)","removeHint":"The plugin disappears from Discover, can't be downloaded, and is turned off on every device at the next sync.","remove":"Remove from store","restore":"Restore to store","reviewNetwork":"Send content to the Internet — {host}","reviewVaultRead":"Read every note in the notebook","ackRequired":"Tick that you've manually checked the review items before approving.","reviewRequired":"Confirm you've manually reviewed the Internet / read-all-notes permissions.","reasonRequired":"Enter a reason.","toastApproved":"Approved {name} v{v}.","toastRejected":"Rejected {name} v{v}.","toastRemoved":"Removed {name} from the store — it turns off on every device at the next sync.","toastRestored":"Restored {name} to the store."}},"auth":{"pageTitle":"Sign in — Marknote","heroTitle":"Your Markdown notebook, on every device","heroLead":"Read and edit the notes synced from your foldable. Files stay plain Markdown — download them any time.","sampleHeading":"# To do","sampleDone":"Design the summary screen","sampleTodo":"Sync with","formLabel":"Sign in","title":"Sign in","email":"Email","emailPlaceholder":"you{'@'}example.com","invalidEmail":"Enter a valid email, e.g. you{'@'}example.com","codeSent":"We sent a 6-digit code to {email}.","codeInvalid":"The code has 6 digits","attemptsLeft":"{n} attempt left. | {n} attempts left.","sending":"Sending…","sendCode":"Send sign-in code","changeEmail":"Change email","codeLabel":"Sign-in code","checking":"Checking…","submit":"Sign in","resendIn":"Resend code in {s}s","resend":"Resend code","qrAlt":"Sign-in QR code — scan it with Marknote on your foldable","qrExpired":"Code expired","qrRejected":"Declined on the foldable","qrConsumed":"Code already used","qrError":"Couldn't create a code","qrNew":"New code","qrCodeLabel":"Enter the 4-digit code shown on your foldable","qrScanned":"Scanned — confirm \"This is me\" on your foldable.","qrHint":"On your foldable: Settings › Account & sync › Web sign-in, then scan this code.","useEmail":"Use email instead","or":"or","google":"Continue with Google","qrLogin":"Sign in with a QR code from your foldable","localFolder":"Use a folder on this computer, no sync","noAccount":"No account yet? Sign up in the Android app: Settings › Account & sync.","googleLoadFailed":"Couldn't load Google Sign-In","denied":{"pageTitle":"No access — Marknote","title":"Access denied","body":"The admin area is only for admin accounts.","home":"Back to notebook"}},"autosync":{"undo":"Undo","undone":"Undone — your version will be saved","conflict":{"apply":"Save chosen versions","applying":"Saving…","block":"Block {i}/{n}","choices":"Pick a version for block {i}","context":"Merged","empty":"(empty)","later":"Later","notice":"«{name}» was edited in two places","review":"Review","remaining":"{n} blocks left to pick"}},"capture":{"title":"Quick capture","daily":"Today's journal","inbox":"Inbox","hintDaily":"Added under \"## {time}\" in today's journal; the file is created from a template if it doesn't exist.","hintInbox":"Added to the end of inbox.md to sort later.","subPhone":"The ＋ button on the note list","subDesktop":"Ctrl Shift Space anywhere · Ctrl Enter to save","saveTo":"Save to","content":"Quick capture text","placeholder":"- [ ] Something to remember…","dictateStop":"Stop dictation","dictate":"Dictate","saving":"Saving…","saved":"Saved to {path}"},"common":{"appName":"Marknote","defaultNotebookName":"Notebook","appDescription":"Read and edit Markdown notebooks, synced with your foldable.","cancel":"Cancel","save":"Save","close":"Close","delete":"Delete","remove":"Remove","retry":"Try again","loading":"Loading…","back":"Back","ok":"OK","done":"Done","rename":"Rename","copy":"Copy","copied":"Copied","search":"Search","settings":"Settings","language":"Language","confirm":"Confirm","create":"Create","open":"Open","edit":"Edit","read":"Read","more":"More","menu":"Menu","next":"Next","none":"—","genericError":"Something went wrong, please try again.","offline":"Offline","locale":{"vi":"Tiếng Việt","en":"English","label":"Language / Ngôn ngữ"},"localeSwitcher":"Choose language","localeHint":{"label":"Language suggestion","reason":"Your browser prefers Vietnamese. The app is in English until you choose.","keep":"Keep English"},"update":{"ready":"A new version is available — reload to update","reload":"Reload"}},"editor":{"cm":{"createNote":"Create {name}.md","placeholder":"Write Markdown…","source":"Markdown source"},"regex":{"tooComplex":"Expression too complex — try a simpler one","invalid":"Invalid regular expression","failed":"Search failed"},"table":{"column":"Column {n}"},"attach":{"fileExt":"FILE","copying":"Copying {n} file to assets/… | Copying {n} files to assets/…","dismiss":"Dismiss"},"tool":{"heading":"Heading","bold":"Bold","italic":"Italic","list":"List","task":"Task","code":"Code","wiki":"Note link","quote":"Quote","indent":"Indent","undo":"Undo","redo":"Redo"},"insert":{"image":"Image","camera":"Camera","file":"File","table":"Table","wiki":"Note","button":"Insert image, file, table","title":"Insert into note","note":"Images and files are copied to {dir} next to the note; large images are scaled down to 2048 px max."},"pane":{"label":"Edit Markdown","toolbar":"Markdown formatting"},"cheat":{"label":"Markdown cheat sheet","hint":"New to Markdown? Press {key} or {shortcut} to open the cheat sheet and insert snippets.","guide":"Guide","dismiss":"Dismiss tip","hintTouch":"New to Markdown? Tap {key} on the formatting bar to see the cheat sheet and insert snippets."},"status":{"label":"Status","text":"Ln {line}, Col {col} · {n} word · Markdown · UTF-8 | Ln {line}, Col {col} · {n} words · Markdown · UTF-8"},"conflict":{"elsewhere":"elsewhere","keepMine":"Keep mine","keepServer":"Keep theirs","acceptDelete":"Accept deletion","confirmDiscard":"Tap again — discard mine","keepBoth":"Keep both","title":"Conflict: {name}","close":"Close, keep the version you're editing","editedBoth":"The file was edited on both the web and {who} since the last save.","deletedElsewhere":"The file was deleted elsewhere while you were editing.","nothingOverwritten":"Nothing has been overwritten.","thisWeb":"This web","editing":"editing","deleted":"Deleted","editedAt":"edited {time}","resolution":"Resolution","applying":"Applying…","keepBothHint":"Keep both: your version is saved next to it as “{name}.md”.","mineCol":"Mine","otherCol":"Theirs","compare":"Compare versions"},"external":{"otherDevice":"another device","edited":"New version available — edited on {who} at {time} while you were typing. Nothing has been overwritten.","deleted":"This file was just deleted elsewhere while you have unsaved changes. Choose which version to keep — nothing has been overwritten.","keptMine":"Saved your version — the other one is still in History","closedDeleted":"Closed the deleted note","loadedNew":"Loaded the new version","keepMine":"Keep mine","takeServer":"Load new version (discard my changes)","closeNote":"Close note (discard my changes)","view":"View","merge":"Merge","merged":"Merged the new version with your changes","mergeConflict":"Both versions changed the same lines — choose which to keep (or keep both)"},"fileActions":{"peek":"Open in side panel","move":"Move to…","duplicate":"Duplicate","copyLink":"Copy [[ ]] link","trash":"Move to Trash","newNote":"New note","newFolder":"New folder"},"move":{"target":"Destination folder","placeholder":"Filter or type a new folder name…","folders":"Folders","create":"Create folder {name}","root":"Notebook root","here":"current"},"name":{"invalid":"Invalid name (don't use .. or the characters < > : \" {'|'} ? * # [ ] ^)","exists":"A file with this name already exists","folderLabel":"Folder in notebook","pathLabel":"Path in notebook","folderHint":"Use / to create subfolders, e.g. Projects/Docs","pathHint":"Use / to put it in a folder, e.g. Projects/my-note.md","problem":{"invalid":"Invalid name","chars":"Names can't contain < > : \" {'|'} ? * # [ ] ^ \\","assets":"The assets/ folder only holds attachments — put notes in another folder","hidden":"Names starting with \".\" (hidden files/folders) aren't synced","tooLong":"Path is too long (max 1024 characters)"}},"peek":{"label":"Side panel: {path}","close":"Close side panel","error":"Couldn't open the note."},"quickOpen":{"title":"Quick open","create":"Create note","searchAll":"Search all notes","fullText":"Full-text search","settings":"Open Settings","trash":"Trash","shares":"Shared links","templates":"New note from template","capture":"Quick capture","tags":"Browse by tag","graph":"Link graph","plugins":"Manage plugins","placeholder":"Find or open a file…","inputLabel":"Find or open a file","results":"Results","files":"Files","noFiles":"No matching files.","commands":"Commands","keySelect":"select","keyOpen":"open","keyClose":"close"},"versions":{"flushFailed":"The open note couldn't be saved — resolve that before restoring","restored":"Restored the version from {when}","copySuffix":"old","savedAs":"Saved as {name}","title":"History · {name}","close":"Close history","keep":"Kept for 30 days","empty":"No versions yet.","list":"Versions","beforeReload":"Version before reload","current":"current version","diffLabel":"Differences from the current version","compareWith":"Compared with the current version","diff":"Differences","saveAsNew":"Save as new file","restore":"Restore this version"}},"errors":{"unauthorized":"Sign-in required.","account_locked":"This account has been locked.","session_revoked":"This session has been revoked.","admin_required":"Administrator rights required.","token_expired":"Your session has expired.","bad_request":"Invalid request.","forbidden":"You do not have permission.","not_found":"Not found.","method_not_allowed":"Method not allowed.","validation_error":"Invalid data.","internal_error":"Server error, please try again.","body_too_large":"The request body is too large.","bad_page_cursor":"Invalid page cursor.","user_not_found":"User not found.","cannot_lock_self":"You cannot lock your own account.","cannot_change_admin_role":"An administrator's role cannot be changed here.","shared_note_not_found":"Shared note not found.","google_disabled":"Google sign-in is not enabled.","google_invalid":"Could not verify the Google account.","google_email_taken":"This email is linked to another Google account.","confirm_mismatch":"The confirmation email does not match this account.","reauth_required":"Please sign in again, then delete the account.","device_not_found":"Device not found.","notebook_name_empty":"The notebook name cannot be empty.","cursor_wrong_notebook":"The cursor belongs to another notebook.","empty_file":"The file is empty.","not_in_trash":"The file is not in the trash.","version_not_found":"Version not found (it may be older than 30 days).","bad_cursor":"Invalid cursor.","cursor_expired":"The sync cursor is too old; a full resync is needed.","not_implemented":"This feature is not supported yet.","publisher_required":"Only administrators or developers can upload plugins to the store.","plugin_not_found":"Plugin not found.","plugin_version_not_found":"Plugin version not found.","plugin_version_exists":"This version is already in the store — bump version in manifest.json.","plugin_bad_id":"Invalid plugin id.","plugin_review_ack":"The plugin asks for permissions that need a manual review — confirm you reviewed them before approving.","plugin_rejected":"The plugin package failed the automatic checks.","plugin_other_owner":"This plugin belongs to another developer.","plugin_upload_race":"The plugin was just uploaded from another session, try again.","plugin_removed":"The plugin has been removed from the store.","asset_not_found":"Attachment not found.","download_disabled":"The owner does not allow downloading or copying this content.","wrong_password":"Wrong password. Ask the person who sent the link.","note_not_in_folder":"This note is not in the folder.","zip_too_large":"The folder is too large to download as one .zip file.","zip_busy":"The server is zipping another folder, try again in a few seconds.","share_not_found":"Share link not found.","share_note_only":"Only notes can be shared, not single attachments.","share_blocked":"An administrator has blocked sharing this item.","share_exists":"This item already has an open link — edit it instead of creating a new one.","share_not_editable":"This link can no longer be edited.","share_still_open":"The link is still open.","share_replaced":"This link was turned back on as a different link.","never_shared":"This file has never been shared.","share_needs_file_id":"file_id is required to share a note.","folder_share_latest":"Folder shares always follow the latest version.","folder_empty":"The folder is empty or does not exist.","share_stopped":"The link is stopped — turning it on creates a new link.","share_other_open":"This item already has another open link.","notebook_not_found":"Notebook not found.","asset_path":"Attachments must be in an assets/ folder and have a supported extension.","mime_mismatch":"The file content does not match its extension.","unsupported_media_type":"Content-Type does not match the file extension.","invalid_refresh_token":"Invalid session, please sign in again.","refresh_revoked":"The session was revoked, please sign in again.","file_not_found":"File not found.","binary_file":"Binary attachment: use /asset to read or write it.","version_conflict":"The file was changed elsewhere.","file_moved":"The file was renamed or moved elsewhere.","file_deleted":"The file was deleted elsewhere.","path_exists":"A file already exists at this path.","notebook_deleted":"The notebook was deleted on the server.","quota_exceeded":"Your plan's storage is full.","sha_mismatch":"sha256 does not match the uploaded content.","file_id_required":"file_id is required when editing an existing file (base_version is not null).","text_file":"Markdown/text file: use /file to write it.","invalid_path":"Invalid file path.","code_expired":"The code has expired, request a new one.","code_attempts":"Too many wrong attempts, request a new code.","code_invalid":"Wrong code.","qr_not_found":"QR sign-in session not found.","qr_not_pending":"The QR session is no longer waiting for approval.","qr_expired":"The QR code expired or was already used. Create a new one in the browser.","share_unavailable":"This link cannot be opened. The owner stopped sharing, it expired or it was mistyped.","password_required":"This link needs a password.","server_busy":"The server is busy, try again in a few seconds.","import_bad_type":"Only .md, .markdown, .txt or .zip files can be imported.","import_no_files":"No files to import.","import_bad_zip":"The .zip file is damaged or unreadable.","import_zip_bomb":"The .zip expands to too much data (possible zip bomb).","export_bad_format":"Invalid export format for this item.","export_empty":"Nothing to export at this path.","job_not_found":"Job not found.","job_not_ready":"The job is not finished yet.","job_busy":"Too many import/export jobs are running, try again in a few minutes.","job_interrupted":"The server restarted, start again.","length_required":"Content-Length is required for imports.","http_400":"Invalid request","http_401":"Your session has expired","http_403":"Permission denied","http_404":"Not found","http_409":"Data conflict","http_413":"Storage limit exceeded","http_429":"Too many requests — try again in a few minutes","http_501":"This feature is not available on the server yet","http_503":"The server is busy","http_other":"Server error ({status})","asset":{"file_too_large":"File too large — the server accepts up to 20 MB per attachment.","quota_exceeded":"Your account storage is full — delete some files or upgrade your plan.","mime_mismatch":"The file content does not match its extension — the server refused to save it.","unsupported_media_type":"The server does not accept this file type as an attachment.","text_file":"A Markdown note cannot be overwritten with an attachment.","http_413":"The file is too large or your storage is full.","http_422":"Invalid attachment name or location (it must be in an assets/ folder with a supported extension)."},"path_case_conflict":"“{existing}” already exists (differs only in letter case)"},"files":{"loading":"Opening file…","openFailed":"Couldn't open this file.","notFound":"This file isn't in the notebook any more.","kind":{"markdown":"Markdown","code":"Code","text":"Plain text","data":"Data","html":"HTML","svg":"SVG","notebook":"Jupyter notebook","image":"Image","pdf":"PDF","binary":"Binary file"},"reason":{"tooBig":"Larger than 2 MB — view only","tooBigDownload":"Larger than 20 MB — download to open","unsafe":"Can't edit this file safely — opened read-only","encoding":"{encoding} files can't be edited here — opened read-only","kind":"This file type opens read-only","offline":"Offline — view only","viewer":"You can view this notebook but not edit it","pdfFailed":"Can't preview this file"},"editor":{"aria":"File source","ariaFor":"Source of {name}","find":"Find","findHint":"Find / Replace (Ctrl+F)","replace":"Replace","next":"Next","previous":"Previous","all":"All","matchCase":"Match case","regexp":"Regular expression","wholeWord":"Whole word","replaceOne":"Replace","replaceAll":"Replace all","gotoLine":"Go to line","gotoLineHint":"Go to line (Ctrl+G)","go":"Go","wrap":"Wrap lines","folded":"Folded lines","unfolded":"Unfolded lines","fold":"Fold line","unfold":"Unfold line","currentMatch":"current match","onLine":"on line"},"status":{"language":"Language","encoding":"Encoding","reopenEncoding":"Reopen with encoding…","reopenFailed":"Couldn't reopen with that encoding.","eol":"Line endings","mixed":"Mixed","indent":"Indentation","tab":"Tab","spaces":"Spaces: {n}","lnCol":"Ln {line}, Col {col}"},"encoding":{"convert":"Convert to UTF-8","converted":"Converted to UTF-8 — the old version is kept in history","cantSave":"Can't save in {encoding}","cantSaveShort":"Can't save in {encoding}","cantSaveBody":"Some characters can't be saved in {encoding}. Convert the file to UTF-8?"},"eol":{"mixed":"Mixed line endings — kept as is","convert":"Convert line endings to {eol}"},"action":{"copyPath":"Copy path","pathCopied":"Path copied","copyContent":"Copy contents","contentCopied":"Contents copied","copyFailed":"Couldn't copy","download":"Download","downloadFailed":"Couldn't download this file","versions":"Version history","downloadOriginal":"Download original"},"conflict":{"title":"This file changed somewhere else","body":"{name} was saved on another device while you were editing. Which version do you want to keep?","deleted":"{name} was deleted on another device while you were editing.","encodingChanged":"This file changed encoding — reload it","mine":"Keep mine","theirs":"Keep theirs","both":"Keep both","reload":"Reload","keptBoth":"Your version was saved as {name}"},"preview":{"loading":"Loading preview…","failed":"Can't preview this file","frameTitle":"Preview of {name}","links":"Links in this file ({n})","openLinkTitle":"Open link?","openLinkBody":"{url} will open in your browser.","openLink":"Open","backToNotebook":"Back to notebook"},"large":{"aria":"File contents","loading":"Loading… {pct}%","failed":"Couldn't load the whole file","lines":"{n} lines","notFound":"No matches"},"versions":{"binary":"Binary file — no line diff. You can still restore this version or save it as a new file."},"create":{"title":"New file","nameLabel":"File name (any extension)","placeholder":"e.g. main.py","suggestions":"Suggested extensions","hint":"Type the full name with its extension — nothing is added for you","markdownNote":"Markdown note","noExtension":"No extension — created as plain text","defaultBase":"untitled","secretName":"Looks like a secrets file — it won't be shared publicly without asking","changeTypeTitle":"Change file type?","changeTypeBody":"Renaming {from} to {to} changes how it opens ({a} → {b}). The content stays the same."},"quickOpen":{"createFile":"Create file","langFilter":"{lang} only"},"upload":{"project":"Upload a project folder","skipBuild":"Skip build & dependency folders","respectGitignore":"Respect .gitignore","ignoreList":"What gets skipped","summary":"{n} files · {size} — {m} skipped","showSkipped":"Show skipped files","reason":{"git":"Git internals (.git/)","project":"Build & dependency folders","gitignore":"Ignored by .gitignore"},"maySecret":"May contain secrets","secretsWarn":"{n} file may contain secrets — it won't be shared publicly without asking | {n} files may contain secrets — they won't be shared publicly without asking"},"share":{"title":"This may share secrets","ask":"{n} file may contain secrets. Anyone with the link could read it. | {n} files may contain secrets. Anyone with the link could read them.","exclude":"Exclude these files","anyway":"Share anyway","body":"{n} file may contain secrets — members will be able to read it, and public links leave it out | {n} files may contain secrets — members will be able to read them, and public links leave them out"}},"folder":{"error":{"listFailed":"Couldn't load the file list"}},"graph":{"title":"Graph","canvasLabel":"Graph of links between notes","nodeLinks":"{name}, {n} link | {name}, {n} links","nodeMissing":"{name}, no file yet","zoomIn":"Zoom in","zoomOut":"Zoom out","fit":"Fit to view","missingMeta":"No file yet · mentioned in {n} note | No file yet · mentioned in {n} notes","linksMeta":"{folder} · {n} link | {folder} · {n} links","root":"Notebook root","scope":"Scope","scopeAll":"Whole notebook","scopeLocal":"Around this note","selected":"Selected","openNote":"Open note","createNote":"Create note","hint":"Bigger dot = more links. Colors follow folders. Drag to move, scroll or pinch to zoom; tap a dot to see it.","missingLink":"Link without a file","readError":"Couldn't read notes. {error}","reading":"Reading {done}/{total} notes…","empty":"The notebook has no notes yet.","truncated":"Large notebook — the graph only includes the first 3000 notes."},"guide":{"guide":"Markdown guide","skip":"Skip to content","heroTitle":"Write Markdown notes in 5 minutes","heroLead":"Markdown is plain text plus a few symbols: # for headings, ** for bold, - for lists. 11 short lessons, each with an example and a \"Try it\" box.","start":"Start learning","continue":"Continue","openApp":"Open Marknote","lessons":"Lessons","progress":"{read}/{total} lessons read","minutes":"{n} min","read":"Read","done":"Exercise done","cheatsheet":"Cheat sheet","cheatsheetLead":"Every syntax on one page. In the editor, press the ? button or Ctrl / to insert a snippet at the cursor.","syntax":"Syntax","meaning":"Use it for","prev":"Previous","next":"Next","backToList":"All lessons","tryIt":"Try it","tryLabel":"Type Markdown to try it","preview":"Preview","passed":"Correct! Lesson marked as done.","notYet":"Not yet — see the task above.","showSolution":"Show answer","reset":"Start over","notFound":"Lesson not found","notFoundLead":"This guide page does not exist or was renamed.","onThisPage":"In this lesson","offline":"You are offline — the guide still works.","footer":"Marknote — read and edit a folder of notes on foldables, the web and everywhere.","imageAlt":"image","groups":{"text":"Text","lists":"Lists","links":"Links","media":"Media","code":"Code","blocks":"Blocks","meta":"Tags & metadata"},"demo":{"title":"Trip to Hanoi","packing":"Packing","buy":"Buy","tickets":"tickets","book":"Book a room","hotels":"Hotels","quote":"Slow and steady.","tag":"travel"},"cheat":{"title":"Markdown cheat sheet","search":"Search syntax…","empty":"No matching syntax","close":"Close cheat sheet","full":"Full guide","hint":"Tap to insert at the cursor"},"onboard":{"title":"New to Markdown?","body":"Create a {folder} folder with {n} short lessons (headings, lists, to-dos, links, tables…). Each lesson is a real note — edit away.","creating":"Creating…","create":"Create {folder} folder","read":"Read the guide","later":"Later"},"settings":{"resetDone":"Guide progress reset","progress":"{read}/{total} lessons read · {done}/{exercises} exercises done","storage":"Progress is saved in this browser. In the editor, the {q} button or {keys} opens the cheat sheet.","open":"Open guide","reset":"Reset","hints":"Tips for beginners","hintsLead":"Suggest creating the Guide folder when the notebook is empty, plus the cheat sheet tip in the editor. Each tip shows only once; turning this back on shows them again."}},"members":{"share":"Share","shareLabel":"Share “{name}”","title":"Share “{name}”","membersTitle":"Members","role":{"owner":"Owner","editor":"Editor","viewer":"Viewer"},"roleHelp":{"editor":"Can edit notes","viewer":"Can view and download"},"you":"{name} (you)","online":"Online","openNow":"Open now","viewingNote":"Open now · viewing {path}","editingNote":"Open now · editing {path}","lastSeen":"Last seen {when}","section":{"members":"Members · {n}","pending":"Pending invitations · {n}","publicLink":"Public link (view only)"},"invite":{"title":"Invite people","emails":"Add emails…","emailsLabel":"Email addresses","emailsHint":"Separate emails with a comma or press Enter.","role":"Role","message":"Message (optional)","messageCount":"{n}/500","send":"Send invite","sending":"Sending…","removeEmail":"Remove {email}","sent":"Invitation sent | {n} invitations sent","noneSent":"No invitations were sent","needEmail":"Add at least one email address.","tooMany":"You can invite up to {n} people at a time.","skippedTitle":"Not invited:","skipped":{"already_member":"{email} — already a member","invalid_email":"{email} — not a valid email address","self":"{email} — that's you","invite_too_soon":"{email} — invited too recently, try again later"}},"pending":{"invited":"Invited as {role} · expires in {n} day | Invited as {role} · expires in {n} days","expiresToday":"Invited as {role} · expires today","resend":"Resend","resendLabel":"Resend invitation to {email}","revoke":"Revoke","revokeLabel":"Revoke invitation to {email}","resent":"Invitation sent again to {email}","revoked":"Invitation to {email} revoked"},"changeRoleLabel":"Role of {name}","roleChanged":"{name} is now {role}","remove":"Remove","removeLabel":"Remove {name} from the notebook","removeConfirmTitle":"Remove {name}?","removeConfirmMessage":"{name} will lose access to “{notebook}”. Public links they created are turned off.","removed":"{name} was removed","leave":"Leave notebook","leaveConfirmTitle":"Leave “{name}”?","leaveConfirmMessage":"You'll lose access to this notebook until someone invites you again.","left":"You left “{name}”","transfer":{"action":"Transfer ownership","title":"Transfer ownership of “{name}”","to":"New owner","help":"The new owner can invite, remove members and delete the notebook. You'll become an editor.","typeName":"Type “{name}” to confirm","confirm":"Transfer","done":"{name} is now the owner","noMembers":"Invite someone first — ownership can only go to an existing member."},"note":{"viewer":"You can view and download. Only the owner can invite.","editor":"You can edit notes. Only the owner can invite."},"publicLink":{"open":"Manage public link","help":"Anyone with the link can read it in a browser — no account needed.","viewerOnly":"Only the owner and editors can create public links.","signIn":"Sign in to share this notebook."},"viewOnly":"View only","viewOnlyHelp":"You're a viewer in this notebook — you can read and download, but not edit.","loadFailed":"Couldn't load members: {error}","shared":{"title":"Shared with me","mine":"My notebooks","invitations":"Invitations","notebooks":"Notebooks","invitedYou":"{from} invited you to {notebook} as {role}","someone":"Someone","accept":"Accept","acceptLabel":"Accept invitation to {notebook}","decline":"Decline","declineLabel":"Decline invitation to {notebook}","accepted":"You joined “{name}”","declined":"Invitation to “{name}” declined","owner":"Owner: {name}","empty":"Nothing shared with you yet","emptyBody":"When someone invites you to a notebook, it shows up here.","pendingCount":"{n} pending invitation | {n} pending invitations","manage":"Manage notebooks"},"invitePage":{"title":"Invitation","invitedYou":"{from} invited you to “{notebook}”","someone":"Someone","canEdit":"You'll be able to edit notes.","canView":"You'll be able to view and download notes.","signInAs":"Sign in with {email} to join.","signIn":"Sign in to join","newAccount":"New to Marknote? An account is created when you sign in.","accept":"Join notebook","accepting":"Joining…","wrongAccount":"This invitation was sent to {email}","wrongAccountBody":"You're signed in as {me}. Sign out, then sign in with the invited email.","signOut":"Sign out and switch account","expired":"This invitation has expired","expiredBody":"Ask the person who invited you to send a new one.","unavailable":"This invitation is no longer valid","unavailableBody":"It was revoked, declined or has already been used.","invalid":"This invitation link isn't valid","invalidBody":"Check that you opened the full link from the email.","error":"Couldn't open the invitation: {error}","openApp":"Open Marknote"},"activity":{"title":"Activity","label":"Notebook activity","empty":"No activity yet","loadMore":"Load more","failed":"Couldn't load activity: {error}","viaApi":"(API: {token})","someone":"Someone","aMember":"a member","theNotebook":"the notebook","times":"({n} times)","action":{"note_create":"{name} created {path}","share_secrets_shared":"{name} shared {n} file that may contain secrets | {name} shared {n} files that may contain secrets","share_secrets_left_out":"{n} file was left out of the link because it may contain secrets | {n} files were left out of the link because they may contain secrets","note_update":"{name} edited {path}","note_append":"{name} added to {path}","note_move":"{name} moved {from} to {to}","note_delete":"{name} deleted {path}","note_restore":"{name} restored {path}","folder_move":"{name} moved folder {from} to {to}","folder_delete":"{name} deleted folder {path}","upload":"{name} uploaded {n} file | {name} uploaded {n} files","version_restore":"{name} restored version {version} of {path}","member_invite":"{name} invited {email} as {role}","member_join":"{name} joined","member_decline":"{name} declined the invitation","member_role":"{name} made {target} {role}","member_remove":"{name} removed {target}","member_leave":"{name} left","owner_transfer":"{name} transferred ownership to {target}","share_create":"{name} created a public link","share_stop":"{name} turned off a public link","notebook_rename":"{name} renamed the notebook","notebook_update":"{name} updated the notebook details","other":"{name}: {action}"}},"presence":{"label":"People here now","viewing":"{name} is viewing {note}","editing":"{name} is editing {note}","inNotebook":"{name} has this notebook open","more":"{n} more"},"time":{"justNow":"just now","minutes":"{n} min ago","hours":"{n} h ago","days":"{n} d ago"}},"notebook":{"searchOrOpen":"Search or open file","outline":"Outline","noHeadings":"No headings yet.","share":"Share","account":"Account","accountSync":"Account","sharedLinks":"Shared links","logout":"Sign out","newNote":"New note","newFolder":"New folder","trash":"Trash","actionsFor":"Actions for {name}","toast":{"dismiss":"Dismiss notification"},"shell":{"resizeTree":"Resize file tree","resizeSide":"Resize outline column"},"browse":{"by":"Find by","folders":"Folders","tags":"Tags","graph":"Graph","text":"Text"},"net":{"offlinePending":"Offline · {n} change waiting to sync | Offline · {n} changes waiting to sync","offline":"Offline · you can still read and edit open notes","syncing":"Syncing {n} change… | Syncing {n} changes…","unsyncedError":"{n} change not synced — {error} | {n} changes not synced — {error}","unsynced":"{n} change not synced | {n} changes not synced"},"save":{"dirty":"Not saved","saving":"Saving…","errorCompact":"Save failed · Retry","error":"Couldn't save — {reason} · Retry","networkError":"network error","conflict":"Conflict · Resolve","localCompact":"Saved locally · waiting for network","local":"Saved on this device · syncs when you're online","autoSavedAt":"Autosave · saved {time}","savedAt":"Saved · {time}","saved":"Saved"},"side":{"label":"Outline and links","backlinks":"Backlinks","noBacklinks":"No notes link here yet.","history":"History","historyError":"Couldn't load history.","allVersions":"View versions"},"reader":{"controls":"Reading controls","read":"Read","prev":"Previous section","next":"Next section","fontSize":"Text size","smaller":"Decrease text size","larger":"Increase text size","find":"Find","exitFocus":"Exit focus reading"},"topBar":{"external":"Newer version from another device","offlinePending":"Offline · {n} waiting to sync","offline":"Offline","saveError":"Save failed — retry","conflict":"Conflict","folderPermission":"Folder permission needed","folderUnreadable":"Can't read folder","syncUnsupported":"Server doesn't support sync yet","disconnected":"Connection lost","syncError":"Sync error","noNotebook":"No notebook yet","localFolder":"Local folder · not synced","syncedAt":"Synced {time}","syncing":"Syncing…","toggleTree":"Show/hide file tree","searchOrOpen":"Search or open file…","reloadFiles":"Reload file list","signInToSync":"Sign in","planPaid":"Paid plan","planFree":"Free plan","admin":"Admin dashboard"},"tree":{"label":"File tree","nameEmpty":"Name can't be empty","nameBadChars":"Name can't contain / \\ < > : \" {'|'} ? * # [ ] ^","nameTaken":"A file with this name already exists","dropRoot":"Drop into notebook root","files":"Files","openLocal":"Open local folder","loading":"Loading files","folderPermission":"Permission for the local folder is needed again.","loadError":"Couldn't load files. {error}","emptyNotebook":"This notebook is empty. Create your first note or sync from your foldable.","noNotebook":"No notebook yet. Your first note will create one.","newName":"New name","newFolderName":"New folder name","renameHintLinks":"Enter to save · links [[{name}]] in {n} note will be updated | Enter to save · links [[{name}]] in {n} notes will be updated","renameHint":"Enter to save · Esc to cancel","newNoteIn":"New note in {name}"},"phone":{"label":"Notes","mdFiles":"{n} note | {n} notes","emptyDir":"No notes in this folder yet.","emptyNote":"Empty note","otherFolders":"Other folders","fileCount":"{n} note | {n} notes","dirActions":"Actions for folder {name}","pull":"Pull down to refresh","release":"Release to refresh","syncing":"Refreshing…","fabLabel":"New note (long-press for templates)"},"md":{"taskDone":"Done","taskTodo":"Not done","missingNote":"This note doesn't exist yet","noteNotFound":"Note not found: “{name}”","image":"image","openExternal":"open with another app","codeblock":"{lang} block (plugin)","cantOpenFile":"Couldn't open this file"},"preview":{"tasksDone":"{done}/{total} done"},"time":{"todayAt":"Today {time}","yesterday":"Yesterday","yesterdayAt":"Yesterday {time}","dayMonth":"{m}/{d}","dayMonthYear":"{m}/{d}/{y}"},"store":{"noNotebookSelected":"No notebook selected","unsupportedType":"\"{name}\": the server doesn't accept this file type yet","tooLarge":"\"{name}\" is larger than {max}","file":"file","sameName":"The new name is the same as the old one","unsavedOpen":"The open note couldn't be saved","fileNotFound":"File not found","folderIntoSelf":"Can't move a folder into itself","copyName":"{base} (copy).md","copyNameN":"{base} (copy {n}).md","restoredName":"{base} (restored).md","restoredNameN":"{base} (restored {n}).md","httpError":"Error {status}","noConnection":"Can't reach the server","unknownError":"Something went wrong","moveStale":"The file changed elsewhere — the list was reloaded, please try again."},"page":{"docTitle":"{name} — Marknote","modeSplit":"Split","toast":{"restoredDrafts":"Wrote {n} unsaved draft back to the folder | Wrote {n} unsaved drafts back to the folder","linkNotFound":"Couldn't find the note in that link","openUnsaved":"Couldn't save the open note.","taskStale":"Couldn't update this task — the note just changed, tap again","saved":"Saved","reloaded":"Reloaded because {name}.md was just edited on {device}","otherDevice":"another device","renamedElsewhere":"This note was renamed to {name}.md elsewhere","removedElsewhere":"{name}.md was deleted elsewhere (kept in Trash for 30 days)","folderCreated":"Created folder {name} — add a note to sync this folder","renamed":"Renamed to {name}.md","movedTo":"Moved {name}.md to {dir}","notebookRoot":"notebook root","linksUpdated":"updated links in {n} note | updated links in {n} notes","linksFailed":"couldn't update {n} note | couldn't update {n} notes","folderMoved":"Moved folder to {dir}","pathExists":"A file with that name already exists there","duplicated":"Duplicated as {name}","copied":"Copied {text}","copyFailed":"Couldn't copy — please try again","folderLabel":"folder {name} ({n} note) | folder {name} ({n} notes)","removeFailedCount":"{n} note couldn't be deleted | {n} notes couldn't be deleted","trashFailed":"Couldn't move {label} to Trash — please try again","trashed":"Moved {label} to Trash (kept 30 days){note}","restoredPartial":"Restored {done}/{total} notes — check Trash for the rest","restored":"Restored {label}","invalidName":"Invalid note name","created":"Created {name}.md"},"action":{"discard":"Discard changes","viewPrevious":"View previous version","undo":"Undo"},"preview":"Preview","backToList":"Back to list","noteOptions":"Note options","breadcrumb":"Path","modeGroup":"Mode","toc":"Contents","focus":"Focus reading","focusExit":"Exit focus reading","focusHint":"Focus reading (F)","focusExitHint":"Exit focus reading (Esc)","share":"Share","openingNote":"Opening note","openFailed":"Couldn't open the note.","renderingRest":"Rendering the rest…","noteActions":"Note actions","empty":{"noNotebookTitle":"No notebooks yet","noNotebookBody":"Create a notebook to start writing — your notes are saved to your account.","createNotebook":"Create notebook","openLocalFolder":"Open a folder on this device","listFailed":"Couldn't load the notebook.","pickNote":"Pick a note","emptyNotebook":"This notebook is empty. Create your first note.","pickNoteHint":"Pick a file in the folder tree, or press Ctrl K to jump to one.","emptyHint":"Use the button below to write your first note — it saves automatically and is available on all your devices.","firstNote":"Create your first note"},"newNote":"New note","newFolder":"New folder","sheet":{"readPct":"{n}% read","read":"Read","actionsFor":"Actions for {name}","fontSize":"Text size","fontDown":"Smaller text","fontUp":"Larger text","history":"Version history","viewNormal":"Normal view","viewAs":"View as {title}"},"menu":{"account":"Account","syncedReload":"Synced {time} · Reload","reload":"Reload","localFolder":"Folder on this device","templates":"Note templates","tags":"Tags","graph":"Link graph","shared":"Shared links","trash":"Trash","pluginPanels":"Plugin panels","plugins":"Plugins","accountSync":"Account","admin":"Admin dashboard","logout":"Log out"},"dialog":{"renameMove":"Rename / move","renameFolder":"Rename folder","moveTitle":"Move {name} to…","trashTitle":"Move to Trash?","trashFileMsg":"{name}.md will be kept in Trash for 30 days and can be restored.","trashFolderMsg":"All notes in folder {name} ({n}) will be kept in Trash for 30 days and can be restored.","trashConfirm":"Move to Trash"},"conflictBar":"This note was edited elsewhere — not saved yet.","resolveConflict":"Resolve conflict","untitled":"Untitled"},"code":{"copy":"Copy","copyLabel":"Copy code","copied":"Copied","copyFailed":"Couldn't copy"},"deviceConflicts":{"title":"File in conflict on device {device} | Files in conflict on device {device}","open":"Open {path} (in conflict)","mark":"In conflict on device {device}","hint":"Choose which version to keep in the app on that device."},"merge":{"suggested":"Same name","manualOnly":"The app never merges on its own — only after you confirm in the next step.","planning":"Preparing plan…","planFiles":"{n} file moves over | {n} files move over","planStopped":"{n} folder/notebook link will be stopped (it would also publish the target’s existing notes) — create it again if needed | {n} folder/notebook links will be stopped (they would also publish the target’s existing notes) — create them again if needed","planExposed":"Warning: {n} moved file falls under an active shared link of the target (public right away) | Warning: {n} moved files fall under an active shared link of the target (public right away)","planRenamed":"{n} file with the same name will be renamed: | {n} files with the same name will be renamed:","back":"Back","mergedInto":"This notebook was merged into “{name}”","outdated":"Update the app on: {devices} before merging (older versions would recreate the notebook).","pendingSource":"The source notebook has {n} unsynced change — reconnect and try again so no edits are lost. | The source notebook has {n} unsynced changes — reconnect and try again so no edits are lost."},"syncChip":{"synced":"Synced · {time}","sending":"Sending {n}","offline":"Offline","offlinePending":"Offline · {n} pending","conflict":"Conflict {n} | Conflicts {n}","error":"Error — Retry","checking":"Syncing…","local":"Local folder · not synced","none":"No notebook yet","label":"Sync status: {status}. Click for details","title":"Sync","notebook":"Notebook","lastSync":"Last sync","never":"Not synced yet","pending":"Pending","pendingN":"{n} change | {n} changes","channel":"Updates from other devices","live":{"live":"Realtime","polling":"Checks every 60 s","connecting":"Connecting…","off":"Paused","local":"Scans the folder every 30 s"},"conflicts":"Conflicts","currentConflict":"Being edited here","deviceConflict":"On {device}","noConflicts":"No conflicts","errorLabel":"Error","syncNow":"Sync now","offlineHint":"Changes are kept in this browser and sent when you're back online."},"pick":{"pageTitle":"Choose a notebook","stepsLabel":"Getting started","step1":"Sign in","step2":"Choose a notebook","step3":"Write notes","title":"Which notebook?","lead":"Your account has {n} notebook. Choose one to open on this device — switch any time from the notebook name in the top bar. | Your account has {n} notebooks. Choose one to open on this device — switch any time from the notebook name in the top bar.","gatherHint":"Created several notebooks by accident? Once inside, open the notebook name › Gather notebooks to combine them into one."},"switcher":{"listLabel":"Notebooks in your account","noteCount":"{n} note | {n} notes","editedWhen":"edited {when}","newNotebook":"New notebook","newName":"New notebook name","newPlaceholder":"e.g. Work","create":"Create","label":"Notebook: {name}. Click to switch","title":"Notebooks","localFolder":"Folder on this device","none":"No notebook","openLocal":"Open a folder on this device…","loading":"Loading…","manage":"Manage notebooks…"},"gather":{"title":"Gather notebooks","open":"Gather notebooks…","later":"Not now","suggest":"You have {n} notebooks. Gather them into one main notebook so every device sees the same place?","intro":"Pick the main notebook, then the notebooks to gather into it. Notes, trash, history and shares move over — nothing is lost.","mainLabel":"Main notebook (kept)","sourcesLabel":"Gather into “{main}”","preview":"Preview","previewTitle":"Gather {n} notebook ({files} notes) into “{main}” | Gather {n} notebooks ({files} notes) into “{main}”","skipped":"This notebook will be skipped.","after":"After gathering, the gathered notebooks are removed; devices using them switch to “{main}” automatically.","confirm":"Gather {n} notebook into “{main}” | Gather {n} notebooks into “{main}”","progress":"Gathering {done}/{total}…","done":"Gathered {n} notebook into “{main}” | Gathered {n} notebooks into “{main}”"},"nav":{"label":"Main navigation","notes":"Notes","search":"Search","me":"Me"},"manage":{"pageTitle":"Manage notebooks","title":"Manage notebooks","subtitle":"{n} active notebook | {n} active notebooks","new":"New notebook","tabsLabel":"Notebook groups","tab":{"active":"Active","archived":"Archived","trash":"Trash"},"listLabel":{"active":"Active notebooks","archived":"Archived notebooks","trash":"Notebooks in trash"},"search":"Search notebooks","sort":{"label":"Sort","recent":"Recent","name":"Name","size":"Size","manual":"Manual"},"view":{"label":"View","grid":"Grid view","list":"List view"},"empty":{"active":"No notebooks yet","activeBody":"Create your first notebook to start taking notes.","archived":"No archived notebooks","archivedBody":"Archive notebooks you rarely use to keep the switcher tidy — nothing is deleted.","trash":"Trash is empty","trashBody":"Deleted notebooks stay here for 30 days and can be restored before they're deleted forever.","search":"No notebooks match «{q}»"},"trashHint":"Notebooks in the trash are deleted forever after 30 days.","archivedHint":"Archived notebooks are hidden from the switcher and don't sync in the background on 1.6 apps; your data stays intact.","card":{"details":"Details of notebook {name}","open":"Open","notes":"{n} note | {n} notes","attachments":"{n} attachment | {n} attachments"},"openShort":"Open","openLabel":"Open notebook {name}","openNotebook":"Open notebook","pin":"Pin","unpin":"Unpin","pinLabel":"Pin notebook {name} to the top","unpinLabel":"Unpin notebook {name}","reorder":{"handle":"Reorder notebook {name}","title":"Drag to reorder","help":"Use the up/down arrow keys to move, Home/End to move to the top/bottom.","moved":"Moved «{name}» to position {pos} of {total}"},"archive":"Archive","unarchive":"Unarchive","trash":"Move to trash","restore":"Restore","purge":"Delete forever","purgeLabel":"Delete notebook {name} forever","purgeIn":"Deleted forever in {n} day | Deleted forever in {n} days","purgeDialog":{"title":"Delete notebook forever","message":"Type «{name}» to delete forever. This can't be undone.","label":"Notebook name"},"duplicate":"Duplicate","duplicating":"Duplicating…","duplicateDialog":{"title":"Duplicate «{name}»","what":"What to copy","content":"With content","contentHelp":"All notes and attachments (not history, trash or share links).","structure":"Templates and folders only","structureHelp":"Templates in .templates/ and the folder tree, without notes.","name":"New notebook name","namePlaceholder":"{name} (copy)"},"export":"Export zip","exporting":"Exporting…","actions":"Actions","saving":"Saving…","field":{"name":"Name","description":"Description","descriptionPlaceholder":"What is this notebook for?","color":"Color","icon":"Icon","defaultTemplate":"Default template for new notes","defaultTemplateHelp":"Used when a folder has no template of its own. Add templates on the Templates screen.","noTemplate":"None (blank note)","pinned":"Pin to top"},"color":{"default":"Default","red":"Red","orange":"Orange","yellow":"Yellow","green":"Green","cyan":"Cyan","blue":"Blue","purple":"Purple","gray":"Gray"},"icon":{"book":"Book","menu_book":"Open book","auto_stories":"Stories","library_books":"Library","description":"Document","sticky_note_2":"Sticky note","edit_note":"Notes","folder":"Folder","work":"Work","school":"Study","home":"Home","favorite":"Favorite","star":"Star","lightbulb":"Ideas","science":"Science","code":"Code","terminal":"Terminal","travel_explore":"Explore","flight":"Travel","restaurant":"Food","fitness_center":"Fitness","music_note":"Music","palette":"Art","savings":"Savings","shopping_cart":"Shopping","pets":"Pets","event":"Calendar","task_alt":"Tasks","psychology":"Mind","rocket_launch":"Projects"},"stats":{"title":"Statistics","notes":"Notes","attachments":"Attachments","size":"Size","edited":"Last edited","created":"Created"},"devices":{"title":"Mode on devices","none":"No device has synced this notebook yet.","lastSync":"Last synced {time}","thisDevice":"This device","remove":"This device only","removeLabel":"Switch {device} to This device only","confirmTitle":"Switch to “This device only”?","confirmMessage":"The copy of «{name}» on «{device}» stays on that device but stops syncing (it becomes “This device only”). The online copy and other devices are unchanged. To revoke that device's access to your account: Me › Account & sync › Devices › Remove.","removed":"«{device}» keeps «{name}» as This device only"},"trashedInfo":"This notebook is in the trash — deleted forever in {n} day. | This notebook is in the trash — deleted forever in {n} days.","archivedInfo":"Archived: hidden from the notebook switcher, still opens and edits normally.","create":{"title":"New notebook","start":"Start with","empty":"Empty","emptyHelp":"A notebook with no notes yet.","fromTemplate":"From a template","fromTemplateHelp":"Adds a built-in template and makes it the default for new notes.","template":"Template","fromZip":"Import a zip file","fromZipHelp":"Markdown notes from a .zip file (for example another notebook's export).","zipFile":"Zip file","creating":"Creating…"},"created":"Created notebook «{name}»","trashed":"Moved «{name}» to trash","undo":"Undo","restored":"Restored «{name}»","archived":"Archived «{name}»","unarchived":"Unarchived «{name}»","purged":"Deleted «{name}» forever","duplicated":"Created copy «{name}»","exported":"Downloaded {name}","gone":{"archived":"Notebook «{name}» was just archived on another device.","trashed":"Notebook «{name}» was just moved to trash on another device.","deleted":"Notebook «{name}» was deleted.","switched":"Now showing «{name}».","none":"No active notebooks left.","draftSaved":"Unsaved changes were kept in «{path}».","draftKept":"Unsaved changes are kept on this device and will be saved to the next notebook you open."},"error":{"nameRequired":"Notebook name can't be empty","load":"Couldn't load your notebooks.","exportFailed":"Exporting the notebook failed","serverTooOld":"The server doesn't support notebook management yet (needs 1.6). You can still open notebooks from the notebook switcher as before."}}},"online":{"needsNetwork":"Needs a network connection","rescue":{"body":"Your unsaved changes couldn't be saved to another notebook — download them so they aren't lost.","download":"Download .md"},"banner":{"offline":"You're offline — view only. Changes are paused.","offlineShort":"Offline — view only","back":"Back online","viewer":"View only — you can read this notebook but not edit it."},"save":{"saving":"Saving…","saved":"Saved","savedAt":"Saved · {time}","unsaved":"Unsaved changes","error":"Couldn't save","errorReason":"Couldn't save — {reason}. Tap to retry.","conflict":"Conflict — tap to resolve","offline":"Offline — view only","viewOnly":"View only"},"readOnly":"Read only","notCached":"This note isn't available offline.","cached":"Cached copy","updatedBy":"Updated by {name}","mergedBy":"Merged changes from {name}","someone":"Someone","revoked":"You no longer have access to this notebook","revokedTo":"You no longer have access to “{name}”. Opened “{to}”.","logoutDrafts":"You have {n} unsaved change on this device. Sign out and discard it? | You have {n} unsaved changes on this device. Sign out and discard them?","draft":{"title":"Unsaved changes","body":"You have unsaved changes to {note}. Save now?","gone":"This note no longer exists — saving creates it again.","save":"Save","discard":"Discard","diff":"Show differences","hideDiff":"Hide differences","saving":"Saving…","mine":"Your changes","server":"On the server"},"conflict":{"title":"{name} also edited this note","someone":"Someone","me":"me","lead":"Nothing is overwritten until you choose.","mineCol":"Yours","theirsCol":"{name}'s","theirsColUnknown":"Theirs","merge":"Merge manually","keepMine":"Keep mine","keepTheirs":"Keep {name}'s","keepTheirsUnknown":"Keep theirs","keepBoth":"Keep both","keepBothHint":"Yours will be saved as “{name}”.","theirsHint":"Your version is kept for 24 hours.","confirmTheirs":"Tap again to discard your changes","applying":"Saving…","close":"Decide later","editedAt":"edited {time}","copyName":"{base} (copy by {who} {at}).md","goneDeleted":"This note was deleted while you were editing it","goneMoved":"This note was moved while you were editing it","goneLead":"Your text is kept until you choose.","restore":"Restore and save","saveNew":"Save as new note","discard":"Discard changes","resolved":"Saved “{name}”","reviewLead":"Changes that don't overlap are already merged. Pick a version for each block below.","both":"Both","mineShort":"Mine"},"migration":{"title":"Unsent changes from the previous version","lead":"These notes were changed offline in the previous version of Marknote and never reached the server.","save":"Save","download":"Download (.md)","discard":"Discard","saved":"Saved","downloaded":"Downloaded","discarded":"Discarded","failed":"Couldn't save — {reason}","later":"Decide later","done":"Done","newNote":"new note","localTitle":"Local-folder notebooks","local":"Local-folder notebooks are no longer supported. Your files stay in that folder — upload them to keep using them.","upload":"Upload","dismiss":"OK","kept":"Someone changed it too — you'll be asked to review it","notOnServer":"Notebook not on the server — download only","notebook":"Notebook: {name}"}},"plugins":{"frame":{"loading":"Loading {title}","navigatedBlocked":"the plugin frame tried to open another page — blocked","navigatedReason":"{title}: the frame navigated to another page"},"host":{"denied":"permission not granted: {what}","badPath":"invalid path","crashedWhileLoading":"The browser froze or closed while the plugin was loading — turned off to be safe","shaMismatch":"downloaded package doesn't match its checksum (sha256)","packageMissing":"installed package not found","disabled":"Turned off plugin \"{name}\": {reason}","errored":"Plugin \"{name}\" error: {error}","tooManyErrors":"{n} errors in 1 minute ({error})","openMdOnly":"only .md notes can be opened","noSuchNote":"no such note","readFirst":"call api.note.read() before writing","noteChanged":"the open note has changed","tooLarge":"content too large","vaultWriteFor":"vault.write for {path}","writeMdOnly":"only .md files can be written","noNotebook":"no notebook yet","unknownApi":"unknown API: {method}","copyTooLong":"text to copy is longer than {max} characters","copyFailed":"the browser blocked writing to the clipboard","copyNeedsAction":"copying is only allowed right after a user action (command, button, panel)","badUrl":"invalid URL","httpsOnly":"only https:// on port 443 is supported","loginForNetwork":"sign in to let plugins use the network","codeblockEmpty":"code block returned nothing","viewEmpty":"view returned nothing","panelEmpty":"panel returned nothing","removedFromStore":"\"{name}\" was removed from the store and turned off on this device"},"install":{"title":"Install \"{name}\"?","failedTitle":"Couldn't install plugin","unknownAuthor":"Unknown author","verified":"reviewed","unverifiedFile":"not reviewed (installed from file)","invalidPackage":"Invalid .nbplugin package:","willBeAllowed":"This plugin will be allowed to","noPermissions":"No permissions needed","noPermissionsDetail":"Only uses its declared slots","required":"required","note":"The plugin can't reach files outside the notebook, your contacts or the network unless you allow it. Change permissions anytime in Plugins → {name}.","installing":"Installing…","installEnable":"Install & enable"},"manifest":{"notObject":"manifest.json is not a valid JSON object","missingId":"missing id","badId":"id \"{id}\" must be a reverse domain name, e.g. com.example.my-plugin","missingName":"missing name","nameTooLong":"name is longer than 60 characters","badVersion":"version must follow semver (x.y.z)","badMinApp":"minAppVersion must follow semver","badMain":"main must be a .js file in the package","permsStrings":"permissions must contain only strings","badPerm":"invalid permission: {perm}","dupPerm":"duplicate permission: {perm}","permsArray":"permissions must be an array","needsApp":"plugin needs Marknote {min} or later (current plugin API {api})","contributesObject":"contributes must be an object","badSlot":"unsupported slot: {slot}","slotArray":"{slot} must be an array","badContributionId":"{slot}: invalid id","missingTitle":"{slot} {id}: missing title","itemObject":"{slot}: each item must be an object","dupContributionId":"{slot}: duplicate id {id}","badLang":"markdown.codeblock: invalid language","viewNeedsMatch":"view.mode {id}: needs match.frontmatter or match.glob","badVariable":"template.variable: invalid variable name","settingsShape":"settings must be an array or an object","badSettingKey":"settings: invalid key","badSettingType":"settings {key}: unsupported type","enumOptions":"settings {key}: enum needs options","badDefault":"settings {key}: default has the wrong type","i18nObject":"i18n must be an object","i18nBadTag":"i18n: invalid language tag: {tag}","i18nEntryObject":"i18n {tag}: must be an object"},"net":{"status":"proxy error {status}","bad_request":"invalid request","bad_url":"invalid URL","https_only":"only https is supported","port_443":"only port 443","credentials":"URL can't contain credentials","host_domain":"host must be a domain name","bad_method":"unsupported method","body_too_large":"request body is larger than 1 MB","body_not_allowed":"GET/HEAD can't have a body","unauthorized":"sign-in required","rate_limited":"too many plugin network requests — try again later","too_many_concurrent":"too many network requests at once","response_too_large":"response is larger than 1 MB","connection_reset":"connection dropped","timeout":"took longer than 10 seconds","private_address":"private address blocked","connect_failed":"couldn't connect","proxy_error":"proxy error"},"package":{"encrypted":"encrypted zip packages are not supported","tooBig":"package is larger than 2 MB","notZip":"file is not a valid .nbplugin (zip)","tooManyFiles":"package has more than {n} files","unsafePath":"unsafe path in package: {path}","unpackedTooBig":"unpacked package is larger than 8 MB","binary":"package can't contain binary code: {path}","dupFile":"duplicate file in package: {path}","compression":"unsupported compression: {path}","noManifest":"missing manifest.json at the package root","missingMain":"missing file {file}","nativeAsync":"{file} uses native async/await — repackage with pack.py --lower"},"page":{"title":"Plugins","headTitle":"Plugins — Marknote","installedElsewhere":"Installed on another device","onOtherDevice":"On another device","loginToBrowse":"Sign in to browse the plugin store.","installed":"Installed","install":"Install","unknownAuthor":"Unknown","removed":"Removed {name}","backToList":"Back to plugin list","backToSettings":"Back to Settings","tabInstalled":"Installed · {n}","tabBrowse":"Discover","search":"Search plugins","safeMode":"Safe mode","safeModeDetail":"Turn off all plugins when the app misbehaves","safeModeOn":"Safe mode is on — all plugins are paused.","loadingStore":"Loading plugin store","storeError":"Couldn't load the plugin store. {error}","login":"Sign in","noMatch":"No matching plugins.","noneInstalled":"No plugins installed yet. Open Discover or install from a .nbplugin file.","storeEmpty":"The store has no plugins yet.","listInstalled":"Installed plugins","listStore":"Plugins in the store","detail":"Plugin details","unverified":"not reviewed","removedBanner":"This plugin was removed from the store — turned off on all devices.","removedBannerReason":"This plugin was removed from the store: {reason} — turned off on all devices.","autoDisabled":"Turned off automatically: {reason}","enable":"Enable plugin","enableName":"Enable {name}","addsTo":"Adds to","permissions":"Permissions","optional":"optional","devLog":"Log (developer)","devLogEmpty":"Nothing yet (the plugin's console.* output shows up here).","updateTo":"Update to v{version}","pluginSettings":"Plugin settings","installHere":"Install on this device","pickOne":"Pick a plugin to see its details.","footer":"Plugins run in a sandbox and can only use the permissions you grant. Turn them all off with \"Safe mode\" if the app misbehaves.","installFromFile":"Install from .nbplugin file","devMode":"Developer mode","devModeOn":"Developer mode: on","pickFile":"Choose a .nbplugin file","removeTitle":"Remove {name}?","removeMessage":"The plugin is removed from this browser and from your account's installed list. Your notes stay the same."},"perm":{"noteRead":"Read the open note","noteReadDetail":"Only the note you're viewing","noteWrite":"Edit the open note","noteWriteDetail":"Rewrite the content of the open note","vaultList":"Read the file list","vaultListDetail":"Names and modified dates of files in the notebook, not their content","vaultRead":"Read all notes","vaultReadDetail":"Content of the files in the notebook","notify":"Send notifications","notifyDetail":"Notifications from Marknote","vaultWrite":"Create files in {folder}","vaultWriteDetail":"Only in this folder of the notebook","network":"Send content to the Internet","networkDetail":"Connects to {host}"},"sandbox":{"alreadyRunning":"plugin is already running","bootFailed":"couldn't start the plugin sandbox","loadError":"error while loading: {error}","unknown":"unknown","loadTimeout":"loading took longer than {s} seconds","pluginError":"plugin error: {error}","notRunning":"plugin is not running","notRegistered":"{slot} {id} is not registered","callTimeout":"no result after {s} seconds","stopped":"plugin stopped","frozen":"plugin froze for more than {s} seconds (endless loop)","tooManyMessages":"plugin sent too many messages","messageTooLarge":"plugin sent too much data","undeclared":"registered {slot} \"{id}\" is not declared in the manifest","unknownError":"unknown error","genericError":"plugin error","busy":"too many pending calls","hostTimeout":"took longer than {s} seconds"},"settings":{"title":"Settings — {name}"},"sidebar":{"panel":"Plugin panel: {title}"},"statusbar":{"label":"Plugin status bar"},"slot":{"commands":"Ctrl K commands","codeblock":"Code block rendering","viewMode":"File view mode","sidebarPanel":"Sidebar panel","statusbarItem":"Status bar","fileMenu":"File menu","editorToolbar":"Formatting toolbar","settings":"Settings page","templateVariable":"Note template variable"},"status":{"running":"On","starting":"Loading…","off":"Off","error":"Error — turned off","safe":"Safe mode","removed":"Removed from store"},"slots":{"headTitle":"Slot map — Plugins","title":"Slot map","back":"Back to Plugins","sub":"For plugin developers — {link}","mapLabel":"Illustration of where slots appear","todo":"To do","doing":"Doing","done":"Done","card1":"Fetch page count from server","card2":"Images in assets/","card3":"Link graph","card4":"30-day Trash","card5":"Quick capture","weekdays":"Mo,Tu,We,Th,Fr,Sa,Su","demoProject":"Projects","demoJournal":"Journal","demoCalendar":"Journal calendar","demoMonth":"October 2026","demoSaved":"Saved · Markdown · UTF-8","demoWords":"412 words · 2 min read","registered":"Registered in this browser","colSlot":"Slot","colWhere":"Shown in","colPlugin":"Plugin · id"}},"search":{"pageTitle":"Search notes — Marknote","resultsLabel":"Search results","close":"Close search","label":"Search notes","placeholder":"Search notes…","clear":"Clear","scope":"Search by","content":"Content","fileName":"File name","filters":"Filters","folder":"Folder","allFolders":"All folders","titlesOnly":"Titles only","caseSensitive":"Match case","regex":"Regular expression","count":"{results} in {files}","results":"{n} result | {n} results","files":"{n} file | {n} files","noResults":"No results","scanned":"scanned {done}/{total} file | scanned {done}/{total} files","searching":"Searching…","error":"Search failed.","listLabel":"Results","fileNameMatch":"File name match","rootFolder":"Root folder","line":"line {n}","notFound":"No matches for “{q}”.","hintFilters":"Try removing some filters.","hintShorter":"Try a different, shorter word.","recent":"Recent searches","intro":"Type to search across all notes. Turn on {aa} to match case, {re} to use a regular expression.","preview":"Preview","breadcrumb":"Path","openNote":"Open note","previewError":"Couldn't open the note.","previewEmpty":"Select a result to preview it.","filesAtLeast":"≥ {n} files","more":"Show more"},"settings":{"pageTitle":"Settings — Marknote","title":"Settings","navLabel":"Settings sections","section":{"account":"Account","appearance":"Appearance & language","app":"App","guide":"Markdown guide"},"plugins":"Plugins","theme":{"system":"Match system","label":"Theme","usingSystem":"Using {theme} to match your system setting."},"plan":{"paid":"paid","free":"free"},"sync":{"files":"{n} file · {used} / {limit} | {n} files · {used} / {limit}","loadingQuota":"Loading storage…","quotaLabel":"Storage used","quotaUsed":"{pct}% of your {plan} plan used · {notebooks} notebooks · includes old versions and Trash (kept 30 days)","notebookLabel":"Notebook open on this device"},"account":{"label":"Account","fallbackName":"Account","plan":"{email} · {plan} plan","logout":"Sign out"},"devices":{"title":"Devices","loading":"Loading devices","empty":"No devices yet.","thisDevice":" · this device","removeLabel":"Remove {name}","lastSeen":"Active {when}","signedIn":"Signed in {when}","unsavedBeforeRemove":"The open note couldn't be saved — sort that out before removing this device","removed":"Removed {name} — that device needs to sign in again","confirmThisTitle":"Remove this device?","confirmTitle":"Remove {name}?","confirmThisBody":"Removing this browser signs you out right away. Your notes stay on the server.","confirmBody":"That device will be signed out and must sign in again. Your notes stay on the server.","confirmThisAction":"Remove and sign out","confirmAction":"Remove device"},"ui":{"accent":"Accent color","sampleHeading":"# Architecture","fontSize":"Reading text size","readSample":"Each feature is split into four layers; {code} doesn't depend on Android.","monoFont":"Font for code and Markdown source","storedLocally":"Appearance settings are saved in this browser.","languageHint":"Language of the web app. When signed in, it applies to your account in every browser.","codeWrap":"Wrap code lines","codeWrapHint":"Long code lines wrap instead of scrolling sideways.","codeLines":"Code line numbers","codeLinesHint":"Show a line-number column in code blocks (not copied)."},"accentName":{"blue":"Blue","purple":"Purple","cyan":"Cyan","green":"Green"},"systemFont":"System font","storage":{"title":"Storage","webNote":"Notes save automatically after every edit. Changes from other people and devices show up almost instantly."}},"share":{"tooBig":"This note is too long to view on the web — use Download .md to read all of it.","state":{"active":"active","stopped":"stopped","expired":"expired","replaced":"replaced by a new link","removed":"removed"},"meta":{"notes":"{n} note | {n} notes","views":"{count} view | {count} views","expires":"expires {date}","created":"created {date}","noExpiry":"no expiry"},"sheet":{"title":"Share link","defaultNotebook":"Notebook","thisNote":"This note","wholeFolder":"Whole folder","folderSub":"{folder} · {n} note | {folder} · {n} notes","passwordRemoved":"Password removed","passwordTooShort":"Password needs at least 8 characters.","passwordSet":"Password set for the link","copyFailed":"Couldn't copy — select and copy it manually","hintOn":"Anyone with the link can open it in a browser, no app needed","hintOff":"Off — the old link no longer opens","hintNew":"Turn on to create a link that opens in a browser","footFolder":"New notes in the folder show up on the link automatically.","footNote":"[[…]] links to notes that aren't shared show as plain text.","needsSync":"Sharing needs sign-in + sync","needsServer":"Content has to be on the server for others to open the link.","localNotebook":"This notebook is a folder on this computer and isn't synced — switch to a notebook in your account.","loginToShare":"Sign in to sync your notebook, then share.","login":"Sign in","scopeLabel":"What to share","loading":"Loading link","loadFailed":"Couldn't load share links. {error}","publicLink":"Public link","blockedReason":"An admin removed this share: {reason}","linkLabel":"Share link","copiedCheck":"Copied ✓","qr":"QR code","qrAlt":"QR code for {url}","qrHint":"Scan with a phone camera to open the link.","whoCanView":"Who can view","anyone":"Anyone with the link","needsPassword":"Password required","passwordLabel":"Link password","passwordPlaceholder":"At least 8 characters","savePassword":"Save password","passwordHint":"Viewers must enter the password before reading.","passwordIsSet":"Password set","changePassword":"Change password","expiry":"Expires","expiryNever":"Never","expiryDays":"{n} day | {n} days","viewers":"Viewers","allowDownload":"Can download .md and copy to their notebook","followLatest":"Update to the latest version when I edit","sharedLinks":"Shared links","sendVia":"Send via…"},"links":{"pageTitle":"Shared links — Marknote","title":"Shared links","activeCount":"{n} active link | {n} active links","localBody":"Folders on this computer aren't on the server, so public links can't be created yet. Sign in to sync your notebook, then share.","loading":"Loading shared links","loadFailed":"Couldn't load your links. {error}","emptyTitle":"No links yet","emptyBody":"Open a note, tap Share and turn on Public link — it'll show up here to copy, edit or stop.","home":"Back to notebook","listLabel":"Shared links","passwordTag":"password","copyLabel":"Copy link {name}","editLabel":"Edit link {name}","stopLabel":"Stop sharing {name}","stop":"Stop","restartLabel":"Turn {name} back on","restart":"Turn on again","note":"Views are counted per browser; viewers aren't recorded. Stopping a share only turns off the link — the note stays in your notebook. Turning it on again creates a new link.","stopped":"Stopped sharing {name}","undo":"Undo","reopened":"Link {name} reopened","undoTooLate":"More than 10 minutes have passed — use Turn on again to create a new link.","restarted":"{name} is back on — new link"},"page":{"titleSuffix":"{title} — Marknote","folderTitle":"{title} — {folder} — Marknote","noteLocked":"Password-protected note — Marknote","folderLocked":"Password-protected folder — Marknote","unavailable":"Link unavailable — Marknote","noteDescription":"A note shared with Marknote","folderDescription":"A folder shared with Marknote","ownerNotebook":"{name}'s notebook","downloadMd":"Download .md","downloadZip":"Download .zip","copyToMine":"Copy to my notebook","updated":"updated {date}","readOnly":"read-only","footer":"Shared with Marknote","footerCreate":"Shared with Marknote · {link}","createYours":"Create your notebook","report":"Report content","folderSub":"Folder shared by {owner} · {n} note · read-only | Folder shared by {owner} · {n} notes · read-only","searchFolder":"Search this folder","treeLabel":"Notes in folder","noteFallback":"Note","noteCount":"{n} note | {n} notes","hitsLabel":"Search results","searching":"Searching…","hits":"{n} matching note | {n} matching notes","noHits":"No matching notes","noteNotFound":"This note isn't in the folder.","folderEmpty":"This folder has no notes yet.","folder":"Folder"},"gate":{"lockedNote":"This note is password-protected","lockedFolder":"This folder is password-protected","tooMany":"Too many views","busy":"Couldn't open the link yet","gone":"This link can't be opened","ownerFallback":"The owner","passBody":"\"{name}\" was shared by {owner} with a password. Enter the password they sent you to view it.","tooManyBody":"You're opening pages too quickly — wait a few minutes, then reload.","busyBody":"The server is busy. Try reloading the page in a few minutes.","goneBody":"The owner stopped sharing, the link expired, or it was mistyped. The note isn't deleted — only the link no longer works.","password":"Password","limited":"Too many wrong attempts — wait 10 minutes and try again.","checkFailed":"Couldn't check the password. Try again in a few minutes.","opening":"Opening…","openFolder":"Open folder","openNote":"Open note","foot":"Marknote · Markdown notes shared between your foldable and the web"},"report":{"title":"Report content","reason":{"spam":"Spam or advertising","abuse":"Harassment or abuse","illegal":"Illegal content","personal_data":"Contains personal information","copyright":"Copyright infringement","other":"Other reason"},"pickReason":"Please choose a reason.","tooMany":"You've sent several reports — try again in a few minutes.","gone":"This {what} is no longer shared.","badEmail":"The contact email isn't valid.","failed":"Couldn't send the report, try again.","done":"Report sent. Thanks — an admin will review this {what}.","reasonLegend":"Reason","details":"Details (optional)","email":"Contact email (optional)","sending":"Sending…","send":"Send report","note":"Note"},"copy":{"quota":"Your notebook is out of storage.","forbidden":"The owner doesn't allow copying.","tooManyFiles":"The folder is too big to copy (500 files max).","unlockExpired":"The unlock session expired — reload the page and enter the password again.","network":"Can't reach the server.","defaultNotebook":"Notebook","loading":"Loading notebooks…","doneFolder":"Copied {n} file to folder {dir}. | Copied {n} files to folder {dir}.","doneNote":"Copied as {path}.","intro":"The copy is your own note; editing it doesn't affect the original.","scopeFolder":"Whole folder {name}","scopeNote":"Only the note {path}","notebook":"Notebook","noNotebook":"You don't have a notebook yet — a new one named \"{name}\" will be created.","openInNotebook":"Open in notebook","copying":"Copying…"}},"sync":{"app":{"installed":"Marknote installed as an app","title":"Install as an app","standalone":"Running as an installed app","installHeading":"Install Marknote on this device","installSub":"Open it from your home screen or Dock and run it in its own window.","install":"Install","iosLabel":"Install on iPhone/iPad","iosStep1":"Open this page in {browser}.","iosStep2":"Tap {share} (the square with an up arrow) in the bottom bar.","iosShare":"Share","iosStep3":"Choose {addHome}, then {add}.","iosAddHome":"Add to Home Screen","iosAdd":"Add","manualHint":"Chrome/Edge: the Install icon at the end of the address bar (or menu ⋮ › Install Marknote). Android: menu ⋮ › Add to Home screen. iPhone/iPad: Safari › Share › Add to Home Screen."},"conflict":"This file was changed elsewhere."},"tags":{"title":"Tags","readError":"Couldn't read notes. {error}","readingLabel":"Reading notes {done}/{total}","reading":"Reading {done}/{total} notes…","none":"No tags yet.","rowLabel":"#{tag}, {n} note | #{tag}, {n} notes","example":"#tag","hint":"Tags come from {tag} in the text or {front} at the top of the file.","allTags":"All tags","noteCount":"{n} note | {n} notes","emptyHint":"No tags yet. Write {tag} in a note or {front} at the top of the file.","noNotes":"No notes have this tag anymore."},"templates":{"category":{"all":"All","work":"Work","project":"Projects","study":"Study","personal":"Personal","mine":"Mine"},"bundled":{"bao-loi":{"name":"Bug report","description":"Steps to reproduce, expected vs. actual result, environment."},"bien-ban-hop":{"name":"Meeting minutes","description":"Attendees, agenda, decisions and action items with owners."},"chuyen-di":{"name":"Trip plan","description":"Day-by-day itinerary, bookings, packing list, budget."},"cong-thuc":{"name":"Recipe","description":"Servings, ingredients as a checklist, numbered steps."},"cornell":{"name":"Cornell notes","description":"Cue questions on the left, notes on the right, summary at the bottom."},"doc-sach":{"name":"Book notes","description":"Book details, key ideas by chapter, quotes, takeaways."},"du-an":{"name":"Project page","description":"One-pager — problem, goals, scope, milestones, risks, links."},"ghi-chu-y-tuong":{"name":"Idea note (Zettelkasten)","description":"One idea per note, in your own words, linked to other notes."},"ke-hoach-tuan":{"name":"Weekly plan","description":"Three big goals, a day-by-day schedule, an end-of-week review."},"nhat-ky-hang-ngay":{"name":"Daily journal","description":"One page a day — priorities, notes, gratitude, reflection."},"nhin-lai":{"name":"Retrospective","description":"Keep, drop, try — after every sprint or project."},"okr":{"name":"Quarterly OKRs","description":"Objectives and measurable key results, scored at quarter end."},"quyet-dinh":{"name":"Decision record (ADR)","description":"Context, options, decision and consequences — so you know why later."},"thoi-quen":{"name":"Habit tracker","description":"A monthly grid to tick off each day, with room to note why you missed one."}},"loadFilesFailed":"Couldn't load the file list","emptyCapture":"Nothing to save yet","busyElsewhere":"The file is being edited elsewhere — try again later","newName":"New template","picker":{"defaultOf":"Default for {dir}/","root":"notebook root","blank":"Blank","blankHint":"Title only","recent":"Recently used","title":"New note in {dir}/","menu":"Choose a template for the new note","seeAll":"See all {n} template | See all {n} templates"},"gallery":{"title":"New note from template","search":"Search templates","manage":"Manage templates","groups":"Template groups","grid":"Templates","loadError":"Couldn't load templates. {error}","choose":"Choose a template","blankDesc":"Title only. Shortcut Ctrl N.","noMatch":"No templates match \"{q}\".","preview":"Template preview","openFolder":"Current folder / ","untitled":"{dir}untitled.md","noteName":"note name","ask":"asks: {q}","varsHint":"Purple text is a variable: date, time, questions asked on create, cursor position.","use":"Use template"},"manage":{"title":"Manage templates","saveOpen":"Save open note as template","openNoteFirst":"Open a note first","defaults":"Default template per folder","defaultsHint":"Tap \"New note\" in a folder and its template is used — no need to pick.","noFolders":"The notebook has no folders yet.","defaultFor":"Default template for {folder}/","autoWith":"Automatic · {name}","autoAsk":"Automatic · ask on create","showAllFolders":"Show all {n} folder | Show all {n} folders","mine":"My templates · .templates/","bundledSuffix":" · built-in","use":"Use","mineHint":"Templates are plain .md files in {dir}, synced with the notebook. The 14 built-in templates are copied here the first time; delete any you don't need.","vars":"Template variables","topic":"Topic","var":{"title":"Note name the user types","date":"Today in the default format","dateFormat":"Any format (dddd = weekday, WW = week, Q = quarter)","dateOffset":"Add/subtract days: due date, yesterday, tomorrow","time":"Current time, HH:mm","prompt":"Asked on create; same name is asked once","slug":"Answer as plain-ascii-words for the file name","cursor":"Where the cursor goes after creating","folder":"Folder that holds the new note"},"saveTitle":"Save as template","saveFrom":"From {note} — the new template goes into the \"Mine\" group.","saveName":"Template name","saveButton":"Save template","flushFailed":"The open note couldn't be saved yet","savedAs":"Saved as template {file}","editTemplate":"Edit template"},"create":{"blankName":"Blank note","creating":"Creating…","createNote":"Create note","notFound":"Template not found — it may have been deleted.","pickOther":"Choose another template","noteName":"Note name","forFileName":"used for the title and file name","saveTo":"Save to","root":"Notebook root","change":"Change","fileName":"File name","typeToName":"Enter {q} to name the file","renamed":"This file already exists — it will be saved as \"{name}\".","foot":"Date and time are filled in automatically. After creating, the cursor goes to the {cursor} spot in the template.","previewLabel":"Preview of the note to create","preview":"Preview","moveTitle":"Save to folder"}},"tokens":{"title":"API tokens","new":"New token","intro":"Use tokens to read and write notes from scripts — daily reports, data updates, bots.","docsLink":"API documentation","loading":"Loading tokens","empty":"No API tokens yet.","expiredBadge":"Expired","scope":{"read":"Read","write":"Read & write"},"notebooks":{"all":"All my notebooks","none":"No notebooks","unknown":"Notebook unavailable"},"expires":{"never":"No expiry","on":"expires {date}","expiredOn":"expired {date}"},"lastUsed":{"never":"Never used","at":"last used {when}","fromIp":"last used {when} from {ip}"},"role":{"editor":"Editor","viewer":"Viewer"},"create":{"title":"New API token","name":"Name","namePlaceholder":"e.g. Daily sales report","nameRequired":"Enter a name","access":"Access","notebooks":"Notebooks","allOwned":"All notebooks I own (including future ones)","pick":"Only these notebooks","sharedNote":"Shared notebooks must be picked explicitly.","expires":"Expires","days":"{n} days","year":"1 year","never":"Never","neverMore":"A token never has more access than you: on notebooks where you're a viewer it can only read.","reauth":"Tokens without an expiry need a recent sign-in. Sign in again, then create the token.","signInAgain":"Sign in again","submit":"Create token","creating":"Creating…"},"created":{"title":"Token created","once":"Copy it now — you won't be able to see it again.","copy":"Copy","copiedShort":"Copied","copied":"Token copied","copyFailed":"Couldn't copy — select the token and copy it manually","example":"Example: append a line to Inbox.md"},"rename":{"title":"Rename token","label":"Rename {name}"},"revoke":{"action":"Revoke","label":"Revoke {name}","title":"Revoke “{name}”?","body":"Scripts using this token stop working immediately. This can't be undone.","done":"Revoked {name}"},"developers":{"pageTitle":"Marknote API — developers","back":"Back to settings"}},"transfer":{"import":{"menu":"Upload…","here":"Upload here…","destRoot":"Notebook root","dropTree":"Drop to upload to {dir}","reading":"Reading files…","working":"Processing…","more":"and {n} more file | and {n} more files","pickAgain":"Pick again","cancel":"Cancel","skippedTitle":"{n} file skipped | {n} files skipped","done":"Done","retry":"Try again"},"upload":{"title":"Upload","uploadingTitle":"Uploading {n} file | Uploading {n} files","dest":"Upload to {dir}","changeDest":"Change destination folder","drop":"Drop files or folders here","pickHint":"Choose files or a whole folder","pickFiles":"Choose files","pickFolder":"Choose folder","limits":".md .txt .zip, images, PDF · max {note} per note, {file} per file, {total} per upload","viewerBlocked":"You can view this notebook but not upload to it.","quota":"The owner's storage is full.","conflicts":"{n} item already exists | {n} items already exist","applyAll":"Apply to all","policy":{"overwrite":"Overwrite","rename":"Keep both","skip":"Skip"},"policyBody":{"overwrite":"Replace the existing file — the old one stays in Version history.","rename":"Upload as “name (2).md” next to the existing file.","skip":"Keep the existing file and don't upload this one."},"listLabel":"Files to upload","rowChoice":"What to do with {name}","exists":"already exists (v{v})","new":"New","problem":{"bad_path":"invalid name — will be skipped","too_large":"too large — will be skipped","unsupported_type":"type not supported — will be skipped","too_many":"over the file limit — will be skipped","duplicate":"listed twice — will be skipped"},"summary":"{n} file · {size} | {n} files · {size}","skippedCount":"{n} skipped","start":"Upload {n} file | Upload {n} files","sending":"Sending… {pct}%","processing":"Processing {done} of {total} · {pct}%","progressLabel":"Upload progress","background":"Run in background","continues":"The upload keeps running on the server — files appear when it finishes.","toast":"Uploaded {n} file | Uploaded {n} files","view":"View","failedTitle":"Upload interrupted"},"download":{"title":"Download","action":"Download","thisNote":"This note","noteZipBody":"{name}.zip — note + attachments","folderNamed":"Folder “{name}”","wholeNotebook":"Whole notebook","zipCount":".zip · {n} note | .zip · {n} notes","format":"Format","htmlPage":"HTML page","noteMd":"Download .md","noteZip":"Download .zip","noteHtml":"Download as page (.html)","folder":"Download folder (.zip)"},"skip":{"exists":"already exists","type":"type not supported","unsafe":"unsafe path","too_large":"too large","quota":"out of storage","encrypted":"password-protected zip","symlink":"symbolic link","not_text":"not UTF-8 text","config":"app settings","bad_asset":"damaged attachment","limit":"over the upload limit","error":"could not be read or written","duplicate":"listed twice"},"export":{"all":"Download notebook (.zip)","whole":"Whole notebook","md":"Markdown","preparing":"Preparing…","working":"Preparing… {done} / {total}","saved":"Saved {name}","failed":"Could not download. Try again."},"error":{"zip_bomb":"This .zip unpacks to too much data (possible zip bomb).","import_bad_zip":"This .zip is damaged or cannot be read.","too_many_files":"More than 5000 files in one upload.","file_too_large":"Over 200 MB in one upload.","import_no_files":"No files selected to upload.","other":"Could not upload. Try again."}},"trash":{"pageTitle":"Trash — Marknote","toast":{"restoredAs":"Restored as {name} (another file already had the old name)","restored":"Restored {name}","restoredDirPartial":"Restored {done}/{total} file from {name} | Restored {done}/{total} files from {name}","restoredDir":"Restored folder {name}","purgeFailed":"Couldn't delete {n} note — please try again | Couldn't delete {n} notes — please try again","emptied":"Trash emptied","purgedFiles":"Permanently deleted {n} file | Permanently deleted {n} files","purged":"Permanently deleted {name}"},"title":"Trash","subtitle":"Deleted notes are kept for 30 days, then permanently deleted.","empty":"Empty Trash","loading":"Loading Trash","loadError":"Couldn't load Trash.","emptyTitle":"Trash is empty","emptyBody":"Notes you move to Trash stay here for 30 days so you can restore them.","backToNotebook":"Back to notebook","listLabel":"Notes in Trash","root":"Notebook root","deletedAt":"Deleted {when}","daysLeft":"{n} day left | {n} days left","restore":"Restore","purge":"Delete permanently","purgeLabel":"Permanently delete {name}","fileCount":"{n} file | {n} files","restoreDirLabel":"Restore folder {name}","purgeDirLabel":"Permanently delete folder {name}","confirm":{"emptyTitle":"Empty Trash?","purgeTitle":"Delete permanently?","emptyMessage":"{n} note and all its versions will be permanently deleted. This can't be undone. | {n} notes and all their versions will be permanently deleted. This can't be undone.","purgeDirMessage":"{n} file in the folder and all versions will be permanently deleted. This can't be undone. | {n} files in the folder and all versions will be permanently deleted. This can't be undone.","purgeMessage":"{name} and all its versions will be permanently deleted. This can't be undone."}},"viewer":{"tab":{"label":"View as","table":"Table","tree":"Tree","raw":"Raw","preview":"Preview","source":"Source","notebook":"Notebook"},"cantPreview":"Can't preview this file","download":"Download","tooLarge":"Larger than 20 MB — download to open","loading":"Loading…","zoom":{"toolbar":"Zoom","in":"Zoom in","out":"Zoom out","fit":"Fit","fitLabel":"Fit to view","actual":"Actual size (100%)","level":"Zoom {n}%"},"image":{"label":"Image {name}","size":"{w} × {h} px","error":"Can't display this image"},"pdf":{"label":"PDF document {name}","page":"Page {n} / {total}","pageLabel":"Page {n}","prev":"Previous page","next":"Next page"},"csv":{"delimiter":"Delimiter","delimiterTab":"Tab","headerRow":"Header row","truncated":"Showing first {n} rows","colsTruncated":"Showing first {n} columns","sortNote":"Sorting changes the view only, not the file","sortBy":"Sort by {col}","sortedAsc":"{col}, sorted ascending","sortedDesc":"{col}, sorted descending","column":"Column {n}","rowNumber":"Row number","summary":"{rows} rows · {cols} columns","tableLabel":"Table {name}","empty":"This file is empty"},"tree":{"label":"Data tree {name}","search":"Search keys and values","expandAll":"Expand all","collapseAll":"Collapse all","copyPath":"Copy path","copied":"Copied: {path}","copyFailed":"Couldn't copy the path","keys":"{n} key | {n} keys","items":"{n} item | {n} items","matches":"{n} match | {n} matches","noMatches":"No matches","parseErrorAt":"Can't read this file — line {line}, column {col}: {message}","parseError":"Can't read this file: {message}","tooLarge":"Larger than 2 MB — showing Raw only","truncated":"Showing first {n} nodes","root":"Root"},"nb":{"label":"Notebook {name}","readOnly":"Read only","htmlHidden":"HTML output hidden — View in sandbox","prompt":"In [{n}]:","promptEmpty":"In [ ]:","truncated":"Showing first {n} of {total} cells","imageTooLarge":"Image larger than 5 MB — not shown","imageAlt":"Output of cell {n}","invalid":"This isn't a valid notebook — showing Raw"},"binary":{"meta":"{label} · {size}"}}}}