waybetter-for-x/apps/desktop/locales/en.json
CRT 27a3b233f0 Chat+ link previews: players for Vimeo and SoundCloud too, image links show the image
The YouTube-only field becomes a general embed address, made natively only for the frame hosts
X's chat CSP allows (www.youtube.com, player.vimeo.com, w.soundcloud.com) and re-checked in the
page. A link to an image previews the image itself. YouTube's thumbnail comes as data.
2026-10-10 21:56:46 +08:00

906 lines
68 KiB
JSON

{
"$schema": "../../../waybetter/packages/waybetter/i18n.schema.json",
"locale": "en",
"name": "English",
"englishName": "English",
"status": "source",
"messages": {
"common.close": "Close",
"common.copy": "Copy",
"common.copied": "Copied.",
"common.clipboardUnavailable": "Clipboard unavailable.",
"common.retry": "Retry",
"common.loading": "Loading…",
"panel.section.tweaks": "Tweaks",
"panel.section.drafts": "Drafts",
"panel.drafts.state.saved": "Saved",
"panel.drafts.state.pending": "Unsaved",
"panel.drafts.state.saving": "Saving…",
"panel.drafts.state.conflict": "Conflict",
"panel.drafts.state.error": "Not saved",
"panel.drafts.kind.post": "Post",
"panel.drafts.kind.reply": "Reply",
"panel.drafts.kind.quote": "Quote",
"panel.drafts.kind.thread": "Thread",
"panel.drafts.all": "‹ All drafts",
"panel.drafts.titleLabel": "Draft title",
"panel.drafts.titlePlaceholder": "Title",
"panel.drafts.textLabel": "Draft text",
"panel.drafts.conflict": "Another version was saved. Your edits are kept here.",
"panel.drafts.keepAsNew": "Keep as new draft",
"panel.drafts.retrySave": "Retry save",
"panel.drafts.characters": "{count, plural, one {# character} other {# characters}}",
"panel.drafts.history": "History",
"panel.drafts.restored": "Restored to drafts.",
"panel.drafts.archived": "Archived.",
"panel.drafts.unarchive": "Unarchive",
"panel.drafts.archive": "Archive",
"panel.drafts.archiveTab": "Archive",
"panel.drafts.revision": "Revision {n}",
"panel.drafts.empty": "Empty",
"panel.drafts.compare": "Revision {n} → current",
"panel.drafts.restoredRevision": "Revision restored as a new revision.",
"panel.drafts.restoreVersion": "Restore this version",
"panel.drafts.search": "Search drafts",
"panel.drafts.new": "New",
"panel.drafts.noMatch": "No draft matches",
"panel.drafts.noArchived": "Nothing archived",
"panel.drafts.none": "No drafts yet",
"panel.drafts.noMatchHint": "Try fewer words; titles and text are searched.",
"panel.drafts.noArchivedHint": "Archived drafts land here and can be restored any time.",
"panel.drafts.noneHint": "Text you type in X’s composer is captured here automatically, with every revision kept.",
"panel.drafts.untitled": "Untitled",
"panel.drafts.fromX": "from X",
"panel.drafts.local": "local",
"panel.drafts.template": "template",
"panel.drafts.export": "Export all as JSON",
"panel.home.themes": "14 themes",
"panel.home.themesText": "One color base, every theme derived from it.",
"panel.home.plugins": "14 plugins",
"panel.home.pluginsText": "BetterDiscord-style, bundled and yours to add.",
"panel.home.tweaksText": "Hide the noise, fix what X gets wrong.",
"panel.home.accountsText": "Real logins side by side, one per profile.",
"panel.home.layer.shell": "Shell",
"panel.home.layer.shellText": "A light native window (Tauri): tabs, split panes, per-account logins, link routing and signed silent updates.",
"panel.home.layer.runtime": "Runtime",
"panel.home.layer.runtimeText": "Themes on one color foundation, plugins, and hooks into the app and the data it already loads.",
"panel.home.layer.adapter": "Adapter",
"panel.home.layer.adapterText": "The small part that knows one app. X is the first; more follow on the same core.",
"panel.home.titleBefore": "X, the way it ",
"panel.home.titleEmphasis": "should",
"panel.home.titleAfter": " work.",
"panel.home.lede": "A desktop app around the live x.com: tabs, split panes, real accounts side by side, themes and plugins. The page is X's own; wayBetter fixes and extends it in place.",
"panel.home.foss": "Free & open source",
"panel.home.pickTheme": "Pick a theme",
"panel.home.browsePlugins": "Browse plugins",
"panel.home.about": "About wayBetter",
"panel.home.aboutText": "wayBetter makes the apps you already use better without replacing them, the way BetterDiscord extends Discord. Every app runs in the same light native window, websites and apps that ship a heavy desktop client alike. wayBetter for X is the first.",
"panel.home.madeBy": "Made by",
"features.group.branding": "Branding",
"features.logoBrush.label": "wayBetter for X logo",
"features.logoBrush.description": "Shows the wayBetter for X brush-wing bird in X's header and as the tab icon.",
"features.replaceLogo.label": "Classic Twitter bird",
"features.replaceLogo.description": "Swaps the X logo, home icon and favicon for the classic Twitter bird.",
"features.twitterWording.label": "Twitter wording",
"features.twitterWording.description": "Says \"Tweet\", \"Retweet\" and \"/ Twitter\" instead of \"Post\", \"Repost\" and \"/ X\".",
"features.group.timeline": "Timeline",
"features.hidePromotedPosts.label": "Hide promoted posts",
"features.hidePromotedPosts.description": "Removes sponsored/ad posts from timelines.",
"features.followingTimelineDefault.label": "Default to Following timeline",
"features.followingTimelineDefault.description": "Switches from \"For you\" to \"Following\" once when the home timeline loads.",
"features.hideForYouTab.label": "Hide the \"For you\" tab",
"features.hideForYouTab.description": "Hides the algorithmic timeline tab on the home page.",
"features.fullWidthTimeline.label": "Full-width timeline",
"features.fullWidthTimeline.description": "Lets the main column use the whole window width instead of X's fixed 600px.",
"features.group.sidebar": "Sidebar",
"features.hideSidebarTrends.label": "Hide Trends",
"features.hideSidebarTrends.description": "Hides the \"Trends for you\" module in the right-hand sidebar.",
"features.hideWhoToFollow.label": "Hide Who to follow",
"features.hideWhoToFollow.description": "Hides the follow-suggestions module in the sidebar.",
"features.hideLiveOnX.label": "Hide Live on X",
"features.hideLiveOnX.description": "Hides the live-broadcasts module in the sidebar.",
"features.hideTodaysNews.label": "Hide Today's News",
"features.hideTodaysNews.description": "Hides the news module in the sidebar.",
"features.hidePremiumUpsells.label": "Hide Premium upsells",
"features.hidePremiumUpsells.description": "Hides Premium sign-up prompts in the sidebar and hover cards.",
"features.hideExploreContent.label": "Hide Explore trends",
"features.hideExploreContent.description": "Hides trending topics on the Explore page, leaving search usable.",
"features.hideRelevantPeople.label": "Hide Relevant people",
"features.hideRelevantPeople.description": "Hides the \"Relevant people\" module next to a post.",
"features.hideProfileWhoToFollow.label": "Hide Who to follow on profiles",
"features.hideProfileWhoToFollow.description": "Hides the follow suggestions X adds to profile pages (for example after you follow someone).",
"features.hideSidebar.label": "Hide the sidebar",
"features.hideSidebar.description": "Hides the whole right-hand sidebar, search box included.",
"features.group.navigation": "Navigation",
"features.hidePremiumNav.label": "Hide Premium nav item",
"features.hidePremiumNav.description": "Hides the Premium link in the left navigation.",
"features.hideChatNav.label": "Hide Chat nav item",
"features.hideChatNav.description": "Hides the Chat/Messages link in the left navigation.",
"features.hideCommunitiesNav.label": "Hide Communities nav item",
"features.hideCommunitiesNav.description": "Hides the Communities link in the left navigation.",
"features.hideGrokNav.label": "Hide Grok nav item",
"features.hideGrokNav.description": "Hides the Grok link in the left navigation.",
"features.singleSplitNav.label": "One navigation in split view",
"features.singleSplitNav.description": "When X panes of the same account sit side by side, only the leftmost keeps X's left navigation. Point at the left edge of another pane to slide it in.",
"features.group.posts": "Posts",
"features.hideGrok.label": "Hide Grok in posts",
"features.hideGrok.description": "Hides Grok actions, suggested prompts and summaries attached to posts.",
"features.hideViewCounts.label": "Hide view counts",
"features.hideViewCounts.description": "Hides the view-count link under posts.",
"features.hideEngagementCounts.label": "Hide engagement counts",
"features.hideEngagementCounts.description": "Hides reply, repost and like counts under posts.",
"features.hideBookmarkButton.label": "Hide bookmark button",
"features.hideBookmarkButton.description": "Hides the bookmark action under posts.",
"features.disableTweetTextFormatting.label": "Disable bold/italic in posts",
"features.disableTweetTextFormatting.description": "Renders post text without bold or italic styling.",
"features.mediaDownload.label": "Media download button",
"features.mediaDownload.description": "Adds a button under posts to save photos, videos and GIFs in original quality.",
"features.composerDrafts.label": "Drafts button in the composer",
"features.composerDrafts.description": "Adds a Drafts button to X's composer toolbar to put a saved wayBetter for X draft back into that composer. It never posts for you.",
"features.searchOperators.label": "Search operator chips",
"features.searchOperators.description": "Shows X's own search operators (from:, since:, filter:media, min_faves:…) as chips under X's search box.",
"features.sortRepliesRecent.label": "Sort replies by Recent",
"features.sortRepliesRecent.description": "Opens posts with the newest replies first where X would rank them by relevance. Turn this off to use X's own sort menu.",
"features.fullNumbers.label": "Show full numbers",
"features.fullNumbers.description": "Shows 1,234 instead of 1.2K for replies, reposts, likes, bookmarks and views.",
"features.hideVerifiedBadges.label": "Hide verified badges",
"features.hideVerifiedBadges.description": "Hides the blue, gold and grey check marks next to names.",
"features.hideSubscribeButtons.label": "Hide Subscribe buttons",
"features.hideSubscribeButtons.description": "Hides creator Subscribe buttons and prompts on profiles and posts.",
"features.group.video": "Video",
"features.rememberVideoVolume.label": "Remember video volume",
"features.rememberVideoVolume.description": "Gives every new video the volume level you last set. Muting stays up to X.",
"features.disableVideoAutoplay.label": "Disable autoplay",
"features.disableVideoAutoplay.description": "Videos and GIFs start only when you press play.",
"features.stopVideoLoop.label": "Stop videos at the end",
"features.stopVideoLoop.description": "Videos stop at the end instead of starting over. GIFs still loop.",
"features.group.fixes": "Fixes",
"features.fixLikeFollow.label": "Reliable likes, reposts, bookmarks and follows",
"features.fixLikeFollow.description": "Sends rapid like, repost, bookmark and follow toggles one at a time so the final state matches your last click.",
"features.fixScrollRestore.label": "Keep your place on Back",
"features.fixScrollRestore.description": "Going back, or switching timeline tabs, returns to the post you were reading instead of the top.",
"features.fixTimelineJump.label": "No timeline jumps",
"features.fixTimelineJump.description": "Keeps the post you are reading still when X inserts new posts or media above it.",
"features.fixHomeTab.label": "Keep your Home tab",
"features.fixHomeTab.description": "If you picked Following (or a list), switches back when X re-selects \"For you\" by itself.",
"features.fixNotificationBadge.label": "Clear seen notification badge",
"features.fixNotificationBadge.description": "Hides an unread count you already saw on Notifications until it changes. Cosmetic; nothing is marked read.",
"features.fixNewPostsPill.label": "Keep your place on \"See new posts\"",
"features.fixNewPostsPill.description": "Clicking the new-posts pill (or pressing .) adds the new posts above the one you are reading instead of jumping to the top.",
"features.fixMediaUpload.label": "Retry failed media uploads",
"features.fixMediaUpload.description": "When a video or image chunk fails to upload (network error, server busy, timeout), sends that same chunk again up to 3 times. If it still fails, a message says so instead of the post failing silently. Never posts anything by itself.",
"features.followingChronological.label": "Following in time order",
"features.followingChronological.description": "The Following tab always shows the newest posts first, even when X switched its sort to \"Popular\".",
"features.fixChatButton.label": "Chat button stays off the reply box",
"features.fixChatButton.description": "In a narrow pane, X's floating Chat button fades out while it would cover the reply box or the Post button, and comes back when you scroll on. Chat stays in X's navigation.",
"features.composerRestorePrompt.label": "Restore unsent text",
"features.composerRestorePrompt.description": "When a reply or post you were writing is lost (closed, reload, navigation), its composer offers to put the saved draft back.",
"common.on": "On",
"tweaks.branding.hint": "Every combination works; changes apply live.",
"tweaks.logo.label": "Logo",
"tweaks.logo.hint": "In X's header and as the tab icon. Back to X restores X's logo after a reload.",
"tweaks.logo.bird": "Bird",
"tweaks.wording.label": "Wording",
"tweaks.wording.hint": "“Tweet”, “Retweet” and “/ Twitter”, or X's “Post”, “Repost” and “/ X”.",
"theme.x.description": "X's own look. Follows Default, Dim or Lights out from X's Display settings.",
"theme.classic.description": "2012 on a sky-blue canvas: Helvetica, square-ish cards, tight rows and the old link blue.",
"theme.night-ink.description": "Blue-black and Geist. Compact rows, soft corners, a quiet glow behind the timeline.",
"theme.terminal.description": "Phosphor green on a CRT. Monospace everything, square corners, scanlines.",
"theme.paper.description": "Warm newsprint. Posts as cards set in a serif reading face, with ink-red links.",
"theme.dracula.description": "The editor classic: purple links, pink buttons, Geist on graphite with a faint dot grid.",
"theme.nord.description": "Arctic slate and frost blue. Floating cards, pill buttons, generous rows and an aurora glow.",
"theme.tokyo-night.description": "Neon city after rain: indigo and lavender, a wide compact column, tight corners and a street grid.",
"theme.solarized-light.description": "Ethan Schoonover’s cream and cyan on engineering paper. A wide reading column with square corners.",
"theme.frutiger-aero.description": "A glossy 2008 sky: bubbles over green hills, glass cards, Segoe and shiny pill buttons.",
"theme.windows-98.description": "Teal desktop, silver windows, bevelled buttons, square everything and MS Sans Serif-style type.",
"theme.vaporwave.description": "Sunset over a neon grid. Wide-tracked type with a glow, hot pink links and a cyan button.",
"theme.high-contrast.description": "For low vision: pure black, white rules, yellow links and buttons, larger Verdana, underlined links, bold focus rings and no motion.",
"theme.midnight-oled.description": "True black for OLED panels: light-weight Geist, soft violet, big round corners and a sparse starfield.",
"builder.preview": "Preview",
"fonts.weightCount": "{count, plural, one {# weight} other {# weights}}",
"deck.flag.disableVideoAutoplay.label": "Autoplay off",
"deck.flag.disableVideoAutoplay.hint": "Videos and GIFs start only when you press play.",
"deck.flag.hidePromotedPosts.label": "Hide promoted posts",
"deck.flag.hidePromotedPosts.hint": "No ads in the column.",
"deck.flag.hideEngagementCounts.label": "Hide counts",
"deck.flag.hideEngagementCounts.hint": "No reply, repost and like numbers.",
"deck.flag.hideViewCounts.label": "Hide view counts",
"deck.flag.hideViewCounts.hint": "No view numbers.",
"deck.flag.hideVerifiedBadges.label": "Hide checkmarks",
"deck.flag.hideVerifiedBadges.hint": "No verification badges.",
"deck.flag.fullNumbers.label": "Full numbers",
"deck.flag.fullNumbers.hint": "1,234 instead of 1.2K.",
"deck.flag.stopVideoLoop.label": "Stop video loops",
"deck.flag.stopVideoLoop.hint": "Short videos play once.",
"deck.flag.disableTweetTextFormatting.label": "Plain text",
"deck.flag.disableTweetTextFormatting.hint": "No bold or italic Unicode text.",
"column.kind.home.label": "Home",
"column.kind.home.hint": "Your For you timeline",
"column.kind.following.label": "Following",
"column.kind.following.hint": "Latest posts from people you follow",
"column.kind.notifications.label": "Notifications",
"column.kind.notifications.hint": "Likes, reposts, follows and replies",
"column.kind.mentions.label": "Mentions",
"column.kind.mentions.hint": "Posts that mention you",
"column.kind.search.label": "Search",
"column.kind.search.hint": "Live results, with X search operators",
"column.kind.search.value": "Search",
"column.kind.list.label": "List",
"column.kind.list.hint": "A list by its link or id",
"column.kind.list.value": "List link or id",
"column.kind.user.label": "Profile",
"column.kind.user.hint": "One account’s posts",
"column.kind.user.value": "Account",
"column.kind.bookmarks.label": "Bookmarks",
"column.kind.bookmarks.hint": "Posts you saved",
"column.generic": "Column",
"column.searchLatest": "Search · Latest",
"power.preset.monitor": "Monitor",
"power.preset.two": "Two accounts",
"power.preset.monitorHint": "Home, Notifications, Mentions and a media search, in the account new tabs use.",
"power.preset.twoHint": "Home and Notifications for two accounts side by side.",
"power.keysHint": "In a column, X’s own keys work as always (j/k, l, r, t, b, n, ., g+…). Deck keys:",
"native.app.name": "wayBetter for X",
"native.app.comment": "X, extended: themes, plugins and recoverable drafts",
"native.dialog.galleryFolder": "Add a gallery folder",
"native.dialog.saveBackup": "Save wayBetter settings",
"native.dialog.importBackup": "Import wayBetter settings",
"native.dialog.syncFolder": "Choose a folder to sync wayBetter settings through",
"native.dialog.themeFile": "Choose a theme file to live-reload",
"native.dialog.themeFilter": "Theme",
"native.dialog.backupFilter": "wayBetter settings",
"native.notify.captureFailed.title": "Draft capture failed",
"native.notify.captureFailed.body": "wayBetter for X could not save what you are typing on X. Copy it somewhere safe before leaving the page.",
"native.notify.alert.title": "Keyword “{keyword}” on X",
"native.notify.alert.body": "@{author}: {text}",
"native.notify.update.title": "wayBetter for X update ready",
"native.notify.update.body": "Version {version} is downloaded. Restart wayBetter for X to finish updating.",
"x.fab.title": "wayBetter for X (Ctrl+Shift+W)",
"make.example.smallest.title": "The smallest plugin",
"make.example.smallest.blurb": "A header and a class with start() and stop(). This one hides the right-column trends box.",
"make.example.scope.title": "Scope, posts and keys",
"make.example.scope.blurb": "A scope undoes everything in stop(). Press c on a post (focused with j/k) to copy its link.",
"make.example.settings.title": "Settings dialog and storage",
"make.example.settings.blurb": "Settings in api.storage, a dialog built with ui.h, an error that keeps it open, a toast with Undo.",
"make.example.theme.title": "Follow the theme",
"make.example.theme.blurb": "CSS with the --wb-* variables, api.theme.current() and onThemeChange: a badge that matches every theme.",
"make.xDisplay": "X display",
"make.xDefault": "Default",
"make.xDim": "Dim",
"make.xLightsOut": "Lights out",
"newtab.link.home": "Home",
"newtab.link.notifications": "Notifications",
"newtab.link.messages": "Messages",
"newtab.link.bookmarks": "Bookmarks",
"newtab.link.explore": "Explore",
"newtab.link.lists": "Lists",
"newtab.search": "Search {site} or type an address",
"web.operators": "X search operators",
"page.home": "Home",
"page.search": "Search",
"page.notifications": "Notifications",
"page.mentions": "Mentions",
"page.messages": "Messages",
"page.bookmarks": "Bookmarks",
"page.lists": "Lists",
"page.communities": "Communities",
"page.explore": "Explore",
"page.settings": "Settings",
"page.post": "Post",
"page.analytics": "Analytics",
"page.user.with_replies": "Replies",
"page.user.media": "Media",
"page.user.likes": "Likes",
"page.user.followers": "Followers",
"page.user.following": "Following",
"page.user.lists": "Lists",
"page.photo": "Photo {n}",
"palette.section.themes": "Appearance",
"palette.section.tweaks": "X tweaks",
"palette.section.plugins": "Plugins",
"palette.section.drafts": "Drafts",
"palette.section.accounts": "Accounts",
"palette.section.power": "Deck",
"palette.section.updates": "Updates",
"palette.section.settings": "Settings",
"palette.section.backup": "Backup & sync",
"palette.section.developer": "Developer",
"palette.macro.username": "Change username",
"palette.macro.deactivate": "Deactivate account",
"palette.macro.data": "Download your data",
"palette.macro.mutedWords": "Muted words",
"palette.macro.blocked": "Blocked accounts",
"palette.macro.muted": "Muted accounts",
"palette.macro.password": "Change password",
"palette.macro.account": "Account settings",
"palette.searchLatest": "Search X (Latest) for {query}",
"palette.search": "Search X for “{query}”",
"palette.opens": "Opens {path}",
"palette.group.searchOperators": "Search operators",
"palette.group.accountPages": "Account pages",
"palette.group.search": "Search",
"palette.placeholder": "Search tabs, pages, settings, or X (from: since: filter:…)",
"deck.presetMonitor": "Monitor preset",
"deck.secondAccount": "Add a second account first",
"deck.presetTwo": "Two accounts preset",
"deck.post": "Post",
"media.now": "now",
"addcol.badHandle": "That is not an X handle.",
"addcol.badList": "Paste a list link (x.com/i/lists/…) or its number.",
"addcol.badSearch": "Type something to search for.",
"compose.newPost": "New post",
"compose.as": "as {name}",
"compose.postAs": "Post as",
"compose.fresh": "Fresh composer",
"compose.closeTitle": "Close (Ctrl+Alt+N)",
"compose.opening": "Opening X’s composer…",
"picker.title": "Insert a draft",
"picker.placeholder": "Insert a draft…",
"picker.loading": "Loading drafts…",
"picker.noMatch": "No matching drafts",
"picker.none": "No saved drafts yet",
"picker.thisPage": "This page",
"picker.insert": "Insert into composer",
"picker.youPost": "You still post it yourself",
"x.op.from": "Posts by an account",
"x.op.to": "Replies to an account",
"x.op.mention": "Mentions an account",
"x.op.since": "On or after a date (YYYY-MM-DD)",
"x.op.until": "Before a date (YYYY-MM-DD)",
"x.op.media": "Only posts with photos or videos",
"x.op.images": "Only posts with photos",
"x.op.videos": "Only posts with videos",
"x.op.links": "Only posts with links",
"x.op.replies": "Only replies",
"x.op.noReplies": "No replies",
"x.op.minFaves": "At least this many likes",
"x.op.minReposts": "At least this many reposts",
"x.op.lang": "Written in a language (en, tr, ja…)",
"x.op.list": "Posts from members of a list (list id)",
"x.op.url": "Links to a site (url:github.com)",
"x.op.exact": "Exact phrase",
"x.op.or": "Either word",
"x.op.exclude": "Without this word",
"x.op.today": "today",
"x.op.daysAgo": "{count, plural, one {# day ago} other {# days ago}}",
"x.op.yearAgo": "1 year ago",
"x.op.language": "Language",
"x.op.likes": "Likes",
"x.op.reposts": "Reposts",
"x.drafts.button": "Insert a draft (wayBetter for X)",
"x.drafts.title": "Drafts",
"x.drafts.hintTitle": "You started a reply here before. Pick it up from your drafts.",
"x.drafts.hint": "Continue your draft?",
"x.media.download": "Download media",
"x.search.operators": "X search operators",
"x.plugin.failed": "Plugin failed: {error}",
"x.restore.button": "Restore unsent text",
"x.restore.title": "You left text here without posting. Pick it from your wayBetter for X drafts.",
"x.upload.processing": "X could not process this media. Remove it and attach it again, or try another file.",
"x.upload.processingDetail": "X could not process this media: {detail}. Remove it and attach it again, or try another file.",
"x.upload.timeout": "timed out",
"x.upload.network": "network error",
"x.upload.failed": "Media upload failed ({command}, {reason}). Your post was not sent; remove the media and attach it again.",
"x.upload.failedRetries": "Media upload failed ({command}, {reason} after {count, plural, one {# retry} other {# retries}}). Your post was not sent; remove the media and attach it again.",
"x.capture.title": "wayBetter for X · draft capture",
"x.capture.note": "Unassigned account · text only · no DM capture",
"x.capture.retry": "Retry local save",
"x.capture.unavailable": "Capture unavailable · native bridge not found",
"x.capture.failed": "Local save failed · changes are not confirmed saved",
"x.capture.oversized": "Text exceeds 64 KiB · latest changes not saved",
"x.capture.waiting": "Unsaved changes · waiting to save locally",
"x.capture.saving": "Saving locally…",
"x.capture.unsupported": "Unsupported surface · capture is off here",
"x.capture.idle": "No supported composer found · capture idle",
"x.capture.saved": "Saved locally · draft kept in wayBetter for X",
"x.capture.found": "Composer found · local save starts when you type",
"x.translate.bar": "Translate mode",
"x.translate.hint": "Click a word to change it.",
"x.translate.edits": "{count, plural, one {# edit} other {# edits}}",
"x.translate.exportPack": "Copy pack file",
"x.translate.copied": "Pack file copied",
"x.translate.exit": "Leave",
"x.translate.reload": "Reload to see it",
"x.translate.key": "Key",
"x.translate.original": "Now",
"x.translate.parameters": "Parameters",
"x.translate.plural": "plural",
"x.translate.save": "Save",
"x.translate.cancel": "Cancel",
"x.translate.remove": "Remove edit",
"x.translate.notTranslatable": "This string cannot be changed by a pack yet.",
"x.translate.choose": "Which one?",
"popover.conversation": "This conversation",
"popover.matches": "Matches",
"popover.recent": "Recent",
"popover.yesterday": "Yesterday",
"popover.onPost": "On {handle}'s post",
"popover.compose": "Compose",
"popover.loadFailed": "Couldn’t load drafts",
"popover.emptyHint": "Whatever you type in an X composer is saved to your vault as you go. It will show up here.",
"popover.openVault": "Open the vault",
"popover.noMatch": "Nothing matches “{query}”",
"popover.noMatchHint": "Search looks at titles and draft text.",
"popover.chars": "{count, plural, one {# char} other {# chars}}",
"popover.insertTitle": "Replace the composer's text with this draft",
"popover.insert": "Insert",
"popover.appendTitle": "Add this draft after the composer's text",
"popover.append": "Append",
"popover.openInVault": "Open in vault",
"drafts.err.archive": "Save this draft successfully before archiving. Your edits are still here.",
"drafts.err.restore": "Save the current edits before restoring an older revision.",
"drafts.err.notFound": "Draft not found.",
"drafts.err.export": "Some edits could not be saved. Resolve the save error before exporting.",
"plugin.alt-text-reminder.name": "Alt-text Reminder",
"plugin.alt-text-reminder.description": "Reminds you when images in the composer have no description (alt text): a notice while composing and another when you press Post. It never blocks or delays sending.",
"plugin.alt-text-reminder.headsUp": "Heads up: {count, plural, one {# image} other {# images}} without alt text",
"plugin.alt-text-reminder.missing": "{count, plural, one {# image has no description (alt text)} other {# images have no description (alt text)}}",
"plugin.clean-links.name": "Clean Links",
"plugin.clean-links.description": "Points t.co links in posts straight at the destination X already shows in the link text, strips common tracking parameters (utm_*, fbclid, gclid, ...) and shows the full URL on hover. No extra requests.",
"plugin.media-grid-focus.name": "Media Grid Focus",
"plugin.media-grid-focus.description": "On a profile's Media tab, hides the right column, widens the page and tightens the gaps so the photo and video grid fills the window. Other pages are unchanged.",
"plugin.copy-as-markdown.name": "Copy as Markdown",
"plugin.copy-as-markdown.description": "Adds a copy button to every post: click copies it as a Markdown quote (text, images, author, date and link), Shift+click copies plain text. With a post focused (j/k), press m / Shift+M.",
"plugin.copy-as-markdown.button": "Copy as Markdown (Shift+click: plain text)",
"plugin.copy-as-markdown.copiedText": "Copied as text",
"plugin.copy-as-markdown.copiedMarkdown": "Copied as Markdown",
"plugin.copy-as-markdown.copyFailed": "Copy failed",
"plugin.copy-as-markdown.link": "link",
"plugin.exact-timestamps.name": "Exact Timestamps",
"plugin.exact-timestamps.description": "Shows the full local date and time next to relative post times (\"5h\" becomes \"5h · Sep 27, 2026, 14:03\") and on hover. When the header is short on room the date gives way first (it shortens, then hides) and never covers X's buttons.",
"plugin.focus-mode.name": "Focus Mode",
"plugin.focus-mode.description": "Hides the parts of X that pull you away from reading: like/repost/reply/view counts, trends, \"Who to follow\", follower counts, or the whole right column. Alt+Shift+F turns it on and off; the toast that confirms it has a Settings button. Only hides what X already shows, locally; nothing on your account changes.",
"plugin.focus-mode.toggle": "Toggle Focus Mode",
"plugin.focus-mode.settingsCommand": "Focus Mode settings…",
"plugin.focus-mode.on": "Focus Mode on",
"plugin.focus-mode.off": "Focus Mode off",
"plugin.focus-mode.settings": "Settings",
"plugin.focus-mode.title": "Focus Mode",
"plugin.focus-mode.message": "Hide what pulls you away from reading. Alt+Shift+F turns Focus Mode on and off.",
"plugin.focus-mode.enabled": "Focus Mode is on",
"plugin.focus-mode.metrics": "Hide like, repost, reply and view counts",
"plugin.focus-mode.metricsHint": "The buttons keep working; only the numbers go.",
"plugin.focus-mode.trends": "Hide trends",
"plugin.focus-mode.whoToFollow": "Hide “Who to follow”",
"plugin.focus-mode.followCounts": "Hide follower and following counts",
"plugin.focus-mode.sidebar": "Hide the whole right column",
"plugin.focus-mode.sidebarHint": "Includes search, trends and suggestions.",
"plugin.focus-mode.cancel": "Cancel",
"plugin.focus-mode.save": "Save",
"plugin.focus-mode.saveFailed": "Could not save (storage unavailable).",
"plugin.hide-blue-checks.name": "Hide Blue Checks",
"plugin.hide-blue-checks.description": "Collapses posts from X Premium (\"blue check\") accounts into a one-line stub you can click to show, locally (nothing is muted on X itself). Optionally also hides legacy gold/grey org-verified accounts. Never hides you, accounts you follow (default on; with that on, a post whose follow status is not known yet stays visible), or handles on your allowlist, and hides nothing until your own account is known. Posts are checked again when X's responses bring the missing details. Alt+Shift+H edits settings.",
"plugin.hide-blue-checks.settingsCommand": "Hide Blue Checks settings…",
"plugin.hide-blue-checks.stub": "Post hidden by Hide Blue Checks. Click to show.",
"plugin.hide-blue-checks.title": "Hide Blue Checks",
"plugin.hide-blue-checks.message": "Choose what to collapse. Nothing is muted on X itself: hidden posts leave a one-line stub you can click.",
"plugin.hide-blue-checks.hideBlue": "Hide X Premium (blue check) posts",
"plugin.hide-blue-checks.hideBusiness": "Also hide Business-verified accounts",
"plugin.hide-blue-checks.hideBusinessHint": "Gold checks: companies and organizations.",
"plugin.hide-blue-checks.hideGovernment": "Also hide Government-verified accounts",
"plugin.hide-blue-checks.hideGovernmentHint": "Grey checks.",
"plugin.hide-blue-checks.keepFollowed": "Never hide accounts you follow",
"plugin.hide-blue-checks.keepFollowedHint": "A post stays visible until X says whether you follow its author.",
"plugin.hide-blue-checks.hideQuotes": "Also check a post's quoted author",
"plugin.hide-blue-checks.allowlist": "Always show (one @handle per line)",
"plugin.hide-blue-checks.cancel": "Cancel",
"plugin.hide-blue-checks.save": "Save",
"plugin.hide-blue-checks.saveFailed": "Could not save (storage unavailable).",
"plugin.hide-blue-checks.saved": "Hide Blue Checks: settings saved",
"plugin.keyboard-plus.name": "Keyboard Plus",
"plugin.keyboard-plus.description": "Extra shortcuts on the post focused with X's j/k: c copies its link, Shift+C copies its text, v opens its first photo or video, a opens the author's profile and q opens the quoted post. Only navigates or copies; never likes, reposts or posts.",
"plugin.keyboard-plus.linkCopied": "Link copied",
"plugin.keyboard-plus.textCopied": "Text copied",
"plugin.keyboard-plus.copyFailed": "Copy failed",
"plugin.keyboard-plus.noMedia": "No media on this post",
"plugin.keyboard-plus.noQuote": "No quoted post",
"plugin.muted-regex.name": "Muted Regex",
"plugin.muted-regex.description": "Hides posts whose text, author name or @handle matches your regular expressions, locally (X's own mute list is untouched). Alt+Shift+M edits the list: one pattern per line, \"/pattern/flags\" or plain (case-insensitive), \"#\" for comments. Hidden posts leave a one-line stub you can click to show.",
"plugin.muted-regex.stub": "Post hidden by Muted Regex ({pattern}). Click to show.",
"plugin.muted-regex.patternsLabel": "Patterns, one per line",
"plugin.muted-regex.title": "Muted Regex",
"plugin.muted-regex.message": "One pattern per line. Plain lines are case-insensitive regular expressions; use /pattern/flags for exact control; # starts a comment. Matched against the post text, author name and @handle.",
"plugin.muted-regex.cancel": "Cancel",
"plugin.muted-regex.save": "Save",
"plugin.muted-regex.saveFailed": "Could not save (storage unavailable).",
"plugin.muted-regex.active": "Muted Regex: {count, plural, one {# pattern} other {# patterns}} active",
"plugin.muted-regex.invalid": "Invalid: {patterns}",
"plugin.reading-time.name": "Reading Time",
"plugin.reading-time.description": "Shows an estimated reading time (\"3 min read\") on long posts and X Articles, counted from the text on screen at 230 words per minute.",
"plugin.reading-time.label": "{minutes} min read",
"plugin.reply-guard.name": "Reply Guard",
"plugin.reply-guard.description": "Asks before you reply to an old post (older than 30 days by default) and, if you turn it on, to someone you don't follow. Answer \"Reply anyway\" and X's own reply box opens as usual; nothing is ever sent for you. Uses only the post's date and what X's own responses said about who you follow (unknown never asks). Alt+Shift+R edits settings.",
"plugin.reply-guard.day": "{count, plural, one {# day} other {# days}}",
"plugin.reply-guard.month": "{count, plural, one {# month} other {# months}}",
"plugin.reply-guard.year": "{count, plural, one {# year} other {# years}}",
"plugin.reply-guard.old": "This post is {age} old.",
"plugin.reply-guard.stranger": "You don't follow {handle}.",
"plugin.reply-guard.confirmTitle": "Reply to this post?",
"plugin.reply-guard.replyAnyway": "Reply anyway",
"plugin.reply-guard.cancel": "Cancel",
"plugin.reply-guard.title": "Reply Guard",
"plugin.reply-guard.message": "Ask before replying to old posts or to people you do not follow. Nothing is sent for you: “Reply anyway” opens X's own reply box.",
"plugin.reply-guard.days": "Ask for posts older than (days)",
"plugin.reply-guard.daysHint": "0 turns this check off.",
"plugin.reply-guard.strangers": "Ask before replying to someone you don't follow",
"plugin.reply-guard.strangersHint": "Only when X has already said you do not follow them.",
"plugin.reply-guard.save": "Save",
"plugin.reply-guard.daysInvalid": "Enter a whole number of days from 0 to 3650.",
"plugin.reply-guard.saveFailed": "Could not save (storage unavailable).",
"plugin.reply-guard.saved": "Reply Guard: settings saved",
"plugin.thread-reader.name": "Thread Reader",
"plugin.thread-reader.description": "Adds a \"Read thread\" button to the header of post pages that unrolls the author's thread into a clean reading view, with copy as Markdown. Reads only what X already shows; \"Load more\" scrolls the page behind the reader.",
"plugin.thread-reader.command": "Read this thread",
"plugin.thread-reader.openFirst": "Open a post first: Thread Reader reads the thread of the post on screen.",
"plugin.thread-reader.button": "Read thread",
"plugin.thread-reader.nothing": "Nothing to read yet: wait for the post to load.",
"plugin.thread-reader.title": "Thread",
"plugin.thread-reader.loadMore": "Load more",
"plugin.thread-reader.copyMarkdown": "Copy as Markdown",
"plugin.thread-reader.copied": "Thread copied as Markdown",
"plugin.thread-reader.copyFailed": "Copy failed",
"plugin.thread-reader.close": "Close",
"plugin.thread-reader.heading": "{name} ({handle}) · {count, plural, one {# post} other {# posts}}",
"plugin.thread-reader.hint": "Only posts X has loaded are shown. “Load more” scrolls the page behind the reader.",
"plugin.user-notes.name": "User Notes",
"plugin.user-notes.description": "Private notes on accounts: \"Add private note\" in a profile's ··· menu opens a note editor; the note shows under the bio (click it to edit) and in hover cards. Notes stay in this app's local storage and are never sent anywhere.",
"plugin.user-notes.hoverPrefix": "Your note: ",
"plugin.user-notes.boxLabel": "Your private note about {handle}. Edit",
"plugin.user-notes.label": "Your private note",
"plugin.user-notes.placeholder": "Only you can see this.",
"plugin.user-notes.areaLabel": "Private note about {handle}",
"plugin.user-notes.title": "Note about {handle}",
"plugin.user-notes.message": "Private: kept on this device only, never sent anywhere. Ctrl+Enter saves.",
"plugin.user-notes.delete": "Delete",
"plugin.user-notes.deleteTitle": "Delete this note?",
"plugin.user-notes.deleteMessage": "Your note about {handle} will be removed from this device.",
"plugin.user-notes.deleted": "Note deleted",
"plugin.user-notes.cancel": "Cancel",
"plugin.user-notes.save": "Save",
"plugin.user-notes.saveFailed": "Could not save (storage unavailable).",
"plugin.user-notes.edit": "Edit private note",
"plugin.user-notes.add": "Add private note",
"plugin.emoji-picker.name": "Emoji Picker",
"plugin.emoji-picker.description": "A Discord-style emoji picker for X's text boxes. X's own emoji button (or Ctrl+Shift+E) opens it right under the composer toolbar: search with skin tones on top, a category rail on the left, one scrolling grid with Frequently used first and sticky category headers, and a preview bar with the :shortcode:. Full keyboard control (arrows, Enter, Tab, PageUp/PageDown, Esc). In text boxes without X's own emoji suggestions, `:fire` suggests emoji (arrows/Tab/Enter insert, Esc closes) and a closing `:` inserts an exact match. The gear in the picker chooses whether X's emoji button opens this picker or X's own.",
"plugin.emoji-picker.suggestions": "Emoji suggestions",
"plugin.emoji-picker.matching": "Emoji matching",
"plugin.emoji-picker.buttonTitle": "Emoji (Ctrl+Shift+E)",
"plugin.emoji-picker.picker": "Emoji picker",
"plugin.emoji-picker.title": "Emoji Picker",
"plugin.emoji-picker.replaceX": "Open this picker from X's emoji button",
"plugin.emoji-picker.replaceXHint": "Off: X's own picker stays on its button, and this one gets a button of its own next to it.",
"plugin.emoji-picker.cancel": "Cancel",
"plugin.emoji-picker.save": "Save",
"plugin.emoji-picker.results": "Search results",
"plugin.emoji-picker.frequent": "Frequently used",
"plugin.emoji-picker.search": "Search emoji",
"plugin.emoji-picker.clearSearch": "Clear search",
"plugin.emoji-picker.clear": "Clear",
"plugin.emoji-picker.skinTone": "Skin tone",
"plugin.emoji-picker.tone0": "Default",
"plugin.emoji-picker.tone1": "Light",
"plugin.emoji-picker.tone2": "Medium-light",
"plugin.emoji-picker.tone3": "Medium",
"plugin.emoji-picker.tone4": "Medium-dark",
"plugin.emoji-picker.tone5": "Dark",
"plugin.emoji-picker.categories": "Categories",
"plugin.emoji-picker.grid": "Emoji",
"plugin.emoji-picker.emptyHint": "Try a word like “party” or “heart”.",
"plugin.emoji-picker.settingsLabel": "Emoji picker settings",
"plugin.emoji-picker.settings": "Settings",
"plugin.emoji-picker.noMatch": "No emoji match “{query}”",
"plugin.emoji-picker.resultCount": "{count, plural, one {# result} other {# results}}",
"plugin.emoji-picker.noResults": "No results",
"plugin.emoji-picker.pick": "Pick an emoji",
"plugin.emoji-picker.shiftClick": "Shift+click adds several",
"plugin.emoji-picker.added": "{name} added",
"plugin.emoji-picker.toneNamed": "Skin tone: {tone}",
"plugin.emoji-picker.flag": "Flag: {code}",
"plugin.emoji-picker.cat0": "Smileys & Emotion",
"plugin.emoji-picker.cat1": "People & Body",
"plugin.emoji-picker.cat2": "Animals & Nature",
"plugin.emoji-picker.cat3": "Food & Drink",
"plugin.emoji-picker.cat4": "Travel & Places",
"plugin.emoji-picker.cat5": "Activities",
"plugin.emoji-picker.cat6": "Objects",
"plugin.emoji-picker.cat7": "Symbols",
"plugin.emoji-picker.cat8": "Flags",
"features.group.layout": "Layout",
"features.group.tools": "Tools",
"features.notifications.keywordAlerts.label": "Keyword alerts",
"features.notifications.keywordAlerts.description": "Notifies you about your keywords in posts X already loaded. The keywords and the on/off switch are in Settings.",
"modes.basic.name": "Basic",
"modes.basic.description": "Only the fixes and the app around X. X looks the way X ships it; every plugin is off.",
"modes.advanced.name": "Advanced",
"modes.advanced.description": "Every plugin on with its calm features: no ads, media download, drafts, saved searches, reading tools, starred chat messages. Nothing else is hidden, and X works the way it always does.",
"modes.power.name": "Power User",
"modes.power.description": "Advanced, plus keyboard shortcuts on posts, snippets, private labels and the Power User tools: decks and workspaces.",
"plugin.compose-plus.description": "Writing posts and replies: drafts, emoji, alt text and reply checks.",
"plugin.reader-plus.description": "Timelines, posts and threads: less noise, cleaner posts, reading tools.",
"plugin.profile-plus.description": "Profile pages: private notes, fewer suggestions.",
"plugin.chat-plus.description": "Messages and group chats.",
"plugin.media-plus.description": "Photos, video and downloads.",
"plugin.search-plus.description": "Search and Explore: operator chips, a quieter Explore.",
"plugin.notifications-plus.description": "Notifications and keyword alerts.",
"plugin.navigation-plus.description": "The rail, the right column and the layout; Focus Mode and extra keys.",
"plugin.compose-plus.feature.postingAs.label": "\"Posting as\" chip in the composer",
"plugin.compose-plus.feature.postingAs.description": "Shows which account this tab is signed in to, above the composer's buttons and in that account's own color, so a post written in the wrong account is noticed before it is sent. Read from X's own account button; nothing is requested.",
"plugin.compose-plus.postingAs.label": "Posting as {handle}",
"plugin.compose-plus.postingAs.title": "This tab is signed in as {handle}. What you write here is posted from this account.",
"plugin.compose-plus.feature.lengthMeter.label": "Length meter",
"plugin.compose-plus.feature.lengthMeter.description": "Shows the length of what you are writing the way X counts it (a link counts 23, an emoji 2), against the limit, and how many posts a longer text needs. It only reads the composer.",
"plugin.compose-plus.lengthMeter.count": "{count} / {limit}",
"plugin.compose-plus.lengthMeter.over": "{count} / {limit} · at least {posts, plural, one {# post} other {# posts}} as a thread",
"plugin.compose-plus.lengthMeter.limit": "Character limit",
"plugin.compose-plus.lengthMeter.limitHint": "280 for a standard account. Set it higher if your account can write longer posts.",
"plugin.compose-plus.feature.snippets.label": "Snippets",
"plugin.compose-plus.feature.snippets.description": "Texts you write often, kept on this device and inserted where the caret is: pick one with \"Insert a snippet\" in the command palette, or type ;name and a space while writing. It inserts text only; it never posts.",
"plugin.compose-plus.snippets.pick": "Insert a snippet",
"plugin.compose-plus.snippets.edit": "Edit snippets",
"plugin.compose-plus.snippets.none": "No snippets yet",
"plugin.compose-plus.snippets.noComposer": "Click into the composer you want the snippet in first",
"plugin.compose-plus.snippets.items": "Snippets",
"plugin.compose-plus.snippets.itemsHint": "One per line, as: name = text. Write \\n in the text for a line break. A line without a name can only be picked from the list.",
"plugin.compose-plus.snippets.expand": "Insert a snippet when its shortcut is typed",
"plugin.compose-plus.snippets.expandHint": "Type ;name and a space while writing a post.",
"plugin.reader-plus.feature.collapseVerified.label": "Collapse posts from verified accounts",
"plugin.reader-plus.feature.collapseVerified.description": "Collapses posts from X Premium (\"blue check\") accounts into a one-line stub you can click to show, locally (nothing is muted on X itself). Optionally also Business- and Government-verified accounts. Never you, accounts you follow (default on), handles on your allowlist, the owner of the profile you are visiting or the post you opened. Alt+Shift+H opens its settings.",
"plugin.reader-plus.feature.readMarker.label": "Read marker",
"plugin.reader-plus.feature.readMarker.description": "Remembers the post you were at on Home when you stopped reading. When that post is on the page again it carries a line, and a toast offers to jump to it. Kept per Home tab, on this device only.",
"plugin.reader-plus.feature.languageFilter.label": "Language filter",
"plugin.reader-plus.feature.languageFilter.description": "Folds posts written in a language you did not list.",
"plugin.reader-plus.feature.quickMute.label": "Quick mute",
"plugin.reader-plus.feature.quickMute.description": "Select a word or a phrase and press Alt+Shift+U: it is added to Muted Regex's local list, with an Undo. Nothing is muted on X itself.",
"plugin.reader-plus.mutedRegex.edit": "Edit Muted Regex patterns",
"plugin.reader-plus.readMarker.toast": "Offer to jump to where you left off",
"plugin.reader-plus.readMarker.toastHint": "A toast when the post you stopped at is on the page but not on screen.",
"plugin.reader-plus.readMarker.line": "You left off here",
"plugin.reader-plus.readMarker.found": "The post you left off at is on this page.",
"plugin.reader-plus.readMarker.jump": "Jump to where you left off",
"plugin.reader-plus.readMarker.notLoaded": "X has not loaded the post you left off at yet. Scroll down: it is marked when it appears.",
"plugin.reader-plus.readMarker.none": "No read marker for this Home tab yet.",
"plugin.reader-plus.languageFilter.languages": "Languages you read (one code per line: en, tr, ja)",
"plugin.reader-plus.languageFilter.languagesHint": "List the languages you want to see; posts in other languages fold away. Empty: nothing is folded.",
"plugin.reader-plus.languageFilter.stub": "Post in {language} hidden by the language filter. Click to show.",
"plugin.reader-plus.quickMute.add": "Mute the selected text",
"plugin.reader-plus.quickMute.none": "Select a word or a phrase first.",
"plugin.reader-plus.quickMute.length": "Select between {min} and {max} characters.",
"plugin.reader-plus.quickMute.exists": "“{text}” is already on the Muted Regex list.",
"plugin.reader-plus.quickMute.failed": "Could not save (storage unavailable).",
"plugin.reader-plus.quickMute.added": "Muted “{text}”.",
"plugin.reader-plus.quickMute.addedOff": "“{text}” added to the Muted Regex list. Turn Muted Regex on to collapse matching posts.",
"plugin.reader-plus.quickMute.undo": "Undo",
"plugin.profile-plus.feature.privateLabels.label": "Private labels",
"plugin.profile-plus.feature.privateLabels.description": "A short tag of your own beside an account's name on its profile, its posts and its hover card. Set it from a profile's ··· menu. Kept on this device only, never sent anywhere.",
"plugin.profile-plus.feature.accountAge.label": "Account age",
"plugin.profile-plus.feature.accountAge.description": "How old an account is, next to \"Joined\" on its profile. From what X already loaded; nothing is shown when X did not send it.",
"plugin.profile-plus.feature.hoverPeek.label": "Hover card peek",
"plugin.profile-plus.feature.hoverPeek.description": "More on X's hover card from what is already known: the account's age, whether it follows you, your label and note. No extra requests.",
"plugin.profile-plus.privateLabels.add": "Add private label",
"plugin.profile-plus.privateLabels.edit": "Edit private label",
"plugin.profile-plus.privateLabels.title": "Label for {handle}",
"plugin.profile-plus.privateLabels.message": "Private: kept on this device only, never sent anywhere.",
"plugin.profile-plus.privateLabels.text": "Label",
"plugin.profile-plus.privateLabels.placeholder": "friend, client, press",
"plugin.profile-plus.privateLabels.color": "Color",
"plugin.profile-plus.privateLabels.color.gray": "Gray",
"plugin.profile-plus.privateLabels.color.red": "Red",
"plugin.profile-plus.privateLabels.color.orange": "Orange",
"plugin.profile-plus.privateLabels.color.yellow": "Yellow",
"plugin.profile-plus.privateLabels.color.green": "Green",
"plugin.profile-plus.privateLabels.color.blue": "Blue",
"plugin.profile-plus.privateLabels.color.purple": "Purple",
"plugin.profile-plus.privateLabels.color.pink": "Pink",
"plugin.profile-plus.privateLabels.remove": "Remove",
"plugin.profile-plus.privateLabels.removed": "Label removed",
"plugin.profile-plus.privateLabels.cancel": "Cancel",
"plugin.profile-plus.privateLabels.save": "Save",
"plugin.profile-plus.privateLabels.saveFailed": "Could not save (storage unavailable).",
"plugin.profile-plus.privateLabels.command": "Set a private label for this profile",
"plugin.profile-plus.privateLabels.noProfile": "Open a profile first.",
"plugin.profile-plus.privateLabels.posts": "Show labels on posts",
"plugin.profile-plus.privateLabels.postsHint": "Off: only on profiles and hover cards.",
"plugin.profile-plus.accountAge.years": "{years} y",
"plugin.profile-plus.accountAge.yearsMonths": "{years} y {months} mo",
"plugin.profile-plus.accountAge.months": "{months} mo",
"plugin.profile-plus.accountAge.days": "{days} d",
"plugin.profile-plus.accountAge.today": "today",
"plugin.profile-plus.hoverPeek.age": "Account age: {age}",
"plugin.profile-plus.hoverPeek.mutual": "You follow each other",
"plugin.profile-plus.hoverPeek.followsYou": "Follows you",
"plugin.profile-plus.hoverPeek.notFollowingYou": "Does not follow you",
"plugin.profile-plus.hoverPeek.notePrefix": "Your note: ",
"plugin.profile-plus.hoverPeek.showAge": "Account age",
"plugin.profile-plus.hoverPeek.showRelationship": "Whether the account follows you",
"plugin.profile-plus.hoverPeek.relationshipHint": "Only when X already sent it; otherwise nothing is shown.",
"plugin.profile-plus.hoverPeek.showNote": "Your label and note",
"plugin.chat-plus.feature.bookmarks.label": "Starred messages",
"plugin.chat-plus.feature.bookmarks.description": "Adds a star to every chat message. The list of starred messages opens any of them at the message, however old, and can start X's own reply to it. Kept on this computer only, in the app's X profile; not part of backups or sync yet.",
"plugin.chat-plus.bookmarks.title": "Starred messages",
"plugin.chat-plus.bookmarks.star": "Star this message",
"plugin.chat-plus.bookmarks.unstar": "Remove the star",
"plugin.chat-plus.bookmarks.added": "Message starred",
"plugin.chat-plus.bookmarks.removed": "Star removed",
"plugin.chat-plus.bookmarks.full": "The star could not be saved: this tab's storage is full",
"plugin.chat-plus.bookmarks.cannot": "This message could not be read",
"plugin.chat-plus.bookmarks.limit": "At most {count} starred messages. Remove some first.",
"plugin.chat-plus.bookmarks.noPosition": "Chat opened. This star has no position in the chat, so it cannot go to the message.",
"plugin.chat-plus.bookmarks.gone": "The message did not appear. It may have been deleted.",
"plugin.chat-plus.bookmarks.replyFailed": "X's reply could not be opened. You are at the message: use its menu to reply.",
"plugin.chat-plus.bookmarks.empty": "No starred messages yet. Point at a message in a chat and click its star.",
"plugin.chat-plus.bookmarks.noMatch": "No starred message matches",
"plugin.chat-plus.bookmarks.unknownSender": "Unknown sender",
"plugin.chat-plus.bookmarks.replyTo": "Reply to {name}: {text}",
"plugin.chat-plus.bookmarks.isReply": "A reply to another message",
"plugin.chat-plus.bookmarks.video": "Video",
"plugin.chat-plus.bookmarks.image": "Photo",
"plugin.chat-plus.bookmarks.open": "Open at message",
"plugin.chat-plus.bookmarks.reply": "Reply",
"plugin.chat-plus.bookmarks.copy": "Copy",
"plugin.chat-plus.bookmarks.copied": "Copied",
"plugin.chat-plus.bookmarks.copyFailed": "Could not copy",
"plugin.chat-plus.bookmarks.remove": "Remove",
"plugin.chat-plus.bookmarks.search": "Search starred messages",
"plugin.chat-plus.bookmarks.chat": "Chat",
"plugin.chat-plus.bookmarks.allChats": "All chats",
"plugin.chat-plus.bookmarks.local": "Starred messages are kept on this computer, in the app's X profile. They are not part of backups or sync yet: Export copies them as JSON. Reply opens X's own reply box for the message; you write and send it yourself.",
"plugin.chat-plus.bookmarks.export": "Export",
"plugin.chat-plus.bookmarks.exported": "{count, plural, one {# starred message} other {# starred messages}} copied as JSON",
"plugin.chat-plus.bookmarks.import": "Import",
"plugin.chat-plus.bookmarks.importHint": "Paste an export of starred messages. Messages that are starred already stay as they are.",
"plugin.chat-plus.bookmarks.importBad": "This is not an export of starred messages.",
"plugin.chat-plus.bookmarks.imported": "{count, plural, =0 {Nothing new to import} one {# starred message imported} other {# starred messages imported}}",
"plugin.chat-plus.bookmarks.close": "Close",
"plugin.chat-plus.feature.linkPreviews.label": "Link previews",
"plugin.chat-plus.feature.linkPreviews.description": "Shows a preview under a link in a chat: the page's title, text and picture, an image link's image, and for YouTube, Vimeo and SoundCloud the video or track, playable in place. To make one, the app asks the link's site for its preview itself: only the link is sent, without cookies, never the message or who sent it. Nothing is saved.",
"plugin.chat-plus.linkPreviews.play": "Play the video here",
"plugin.chat-plus.linkPreviews.open": "Open the link",
"plugin.chat-plus.feature.searchLoaded.label": "Find in conversation",
"plugin.chat-plus.feature.searchLoaded.description": "Ctrl+Shift+F in a chat searches the messages X has loaded so far and jumps to each match. It can load older messages while it is open.",
"plugin.chat-plus.searchLoaded.title": "Find in conversation",
"plugin.chat-plus.searchLoaded.placeholder": "Find in loaded messages",
"plugin.chat-plus.searchLoaded.count": "{at} of {total}",
"plugin.chat-plus.searchLoaded.none": "No match",
"plugin.chat-plus.searchLoaded.scope": "Searches only what is loaded: {count, plural, one {# message} other {# messages}}, back to {date}.",
"plugin.chat-plus.searchLoaded.nothingLoaded": "No messages are loaded yet.",
"plugin.chat-plus.searchLoaded.noMore": "X loaded nothing older.",
"plugin.chat-plus.searchLoaded.older": "Load older",
"plugin.chat-plus.searchLoaded.olderHint": "Scrolls the chat up so X loads older messages",
"plugin.chat-plus.searchLoaded.stop": "Stop",
"plugin.chat-plus.searchLoaded.previous": "Older match",
"plugin.chat-plus.searchLoaded.next": "Newer match",
"plugin.chat-plus.searchLoaded.close": "Close",
"plugin.chat-plus.searchLoaded.lost": "The message did not appear",
"plugin.chat-plus.searchLoaded.openFirst": "Open a chat first",
"plugin.chat-plus.feature.pins.label": "Pinned chats",
"plugin.chat-plus.feature.pins.description": "Shows the chats you pin in a strip above X's chat list, each with your own label and color. X's list stays in its order.",
"plugin.chat-plus.pins.strip": "Pinned chats",
"plugin.chat-plus.pins.command": "Pin or label this chat",
"plugin.chat-plus.pins.pin": "Pin this chat",
"plugin.chat-plus.pins.edit": "Edit pinned chat",
"plugin.chat-plus.pins.unpin": "Unpin",
"plugin.chat-plus.pins.save": "Save",
"plugin.chat-plus.pins.cancel": "Cancel",
"plugin.chat-plus.pins.name": "Name in the strip",
"plugin.chat-plus.pins.label": "Label",
"plugin.chat-plus.pins.labelHint": "Work, family, later",
"plugin.chat-plus.pins.colors": "Color",
"plugin.chat-plus.pins.colorNone": "No color",
"plugin.chat-plus.pins.colorBlue": "Blue",
"plugin.chat-plus.pins.colorGreen": "Green",
"plugin.chat-plus.pins.colorYellow": "Yellow",
"plugin.chat-plus.pins.colorOrange": "Orange",
"plugin.chat-plus.pins.colorRed": "Red",
"plugin.chat-plus.pins.colorPurple": "Purple",
"plugin.chat-plus.pins.limit": "At most {count} pinned chats. Unpin one first.",
"plugin.chat-plus.pins.failed": "The pin could not be saved",
"plugin.chat-plus.pins.openFirst": "Open a chat first",
"plugin.chat-plus.feature.personFilter.label": "Person filter in group chats",
"plugin.chat-plus.feature.personFilter.description": "In a group chat, pick one person and everyone else's messages fade. One click or Esc brings them back.",
"plugin.chat-plus.personFilter.title": "Show one person's messages",
"plugin.chat-plus.personFilter.command": "Filter this group chat by person",
"plugin.chat-plus.personFilter.clear": "Show everyone again",
"plugin.chat-plus.personFilter.groupOnly": "Open a group chat first",
"plugin.chat-plus.personFilter.nobody": "Nobody to pick yet: no messages are loaded.",
"plugin.chat-plus.personFilter.hint": "The people who wrote the messages loaded so far. Scroll up for more.",
"plugin.chat-plus.feature.keywords.label": "Keywords in chats",
"plugin.chat-plus.feature.keywords.description": "Highlights chat messages that contain your words and folds away messages that contain your muted words. A folded message opens on a click.",
"plugin.chat-plus.keywords.highlight": "Highlight words",
"plugin.chat-plus.keywords.highlightHint": "One word or phrase per line. A message that contains one gets an accent.",
"plugin.chat-plus.keywords.mute": "Muted words",
"plugin.chat-plus.keywords.muteHint": "One word or phrase per line. A message that contains one is folded into a thin line; click the line to read it.",
"plugin.chat-plus.keywords.hidden": "Hidden by Chat+ (click to show)",
"plugin.media-plus.feature.videoSpeed.label": "Video speed",
"plugin.media-plus.feature.videoSpeed.description": "Adds a speed button to X's video player and the keys Alt+Shift+Up and Alt+Shift+Down. Remembers the speed you chose.",
"plugin.media-plus.videoSpeed.title": "Playback speed",
"plugin.media-plus.videoSpeed.remember": "Remember the speed",
"plugin.media-plus.videoSpeed.rememberHint": "New videos start at the speed you chose last. GIFs always play at normal speed.",
"plugin.media-plus.videoSpeed.button": "Show the speed button on the player",
"plugin.media-plus.videoSpeed.faster": "Video: faster",
"plugin.media-plus.videoSpeed.slower": "Video: slower",
"plugin.media-plus.videoSpeed.now": "Speed {speed}",
"plugin.media-plus.videoSpeed.noVideo": "No video to change the speed of",
"plugin.media-plus.feature.pictureInPicture.label": "Picture-in-picture button",
"plugin.media-plus.feature.pictureInPicture.description": "Adds a button to X's video player that pops the video out into a floating window.",
"plugin.media-plus.pictureInPicture.title": "Picture-in-picture",
"plugin.media-plus.pictureInPicture.failed": "Picture-in-picture did not open",
"plugin.media-plus.pictureInPicture.unsupported": "Picture-in-picture is not available on this system",
"plugin.media-plus.feature.altText.label": "Alt text viewer",
"plugin.media-plus.feature.altText.description": "Adds an ALT button under photos that have a description. Click it to read, select and copy the description.",
"plugin.media-plus.altText.chip": "ALT",
"plugin.media-plus.altText.chipN": "ALT {n}",
"plugin.media-plus.altText.show": "Show the image description",
"plugin.media-plus.altText.copy": "Copy",
"plugin.media-plus.altText.copied": "Description copied",
"plugin.media-plus.altText.copyFailed": "Could not copy",
"plugin.media-plus.altText.none": "No description",
"plugin.media-plus.altText.noneN": "No description ({n})",
"plugin.media-plus.altText.open": "Show descriptions without a click",
"plugin.media-plus.altText.missing": "Mark photos without a description",
"plugin.media-plus.altText.missingHint": "X's placeholder for an undescribed photo is only known in English. In other languages it is shown as the description.",
"plugin.media-plus.feature.blurMedia.label": "Blur media until hover",
"plugin.media-plus.feature.blurMedia.description": "Blurs photos, videos and link previews in posts until you point at them. Alt+Shift+B turns it on and off.",
"plugin.media-plus.blurMedia.enabled": "Blur media",
"plugin.media-plus.blurMedia.scope": "What to blur",
"plugin.media-plus.blurMedia.scopeAll": "All media",
"plugin.media-plus.blurMedia.scopeNotFollowed": "Only accounts I don't follow",
"plugin.media-plus.blurMedia.scopeHint": "Whether you follow an account is only known once X has said so. Until then its media is not blurred. Your own posts are never blurred in that mode.",
"plugin.media-plus.blurMedia.strength": "Blur strength (pixels)",
"plugin.media-plus.blurMedia.toggle": "Toggle media blur",
"plugin.media-plus.blurMedia.on": "Media blur on",
"plugin.media-plus.blurMedia.off": "Media blur off",
"plugin.search-plus.feature.savedSearches.label": "Saved searches",
"plugin.search-plus.feature.savedSearches.description": "Pin a search and open it again from the search box or from Ctrl+K. The list stays on this device.",
"plugin.search-plus.feature.advancedSearch.label": "Advanced search",
"plugin.search-plus.feature.advancedSearch.description": "A small form that writes X's search operators for you: from, to, dates, media, links, replies, likes, language.",
"plugin.search-plus.feature.latestDefault.label": "Latest by default",
"plugin.search-plus.feature.latestDefault.description": "Opens search results on X's Latest tab instead of Top.",
"plugin.search-plus.savedSearches.list": "Saved searches",
"plugin.search-plus.savedSearches.listHint": "One search per line. To give one a name, write: Name => search",
"plugin.search-plus.savedSearches.title": "Saved searches",
"plugin.search-plus.savedSearches.empty": "Nothing saved yet. Type a search, then choose \"Save this search\" under the search box.",
"plugin.search-plus.savedSearches.edit": "Edit list",
"plugin.search-plus.savedSearches.close": "Close",
"plugin.search-plus.savedSearches.pin": "Save this search",
"plugin.search-plus.savedSearches.unpin": "Remove from saved",
"plugin.search-plus.savedSearches.more": "{count} more",
"plugin.search-plus.savedSearches.pinCommand": "Save or remove this search",
"plugin.search-plus.savedSearches.pinned": "Search saved",
"plugin.search-plus.savedSearches.unpinned": "Search removed from saved",
"plugin.search-plus.savedSearches.full": "You can save up to {count} searches. Remove one first.",
"plugin.search-plus.savedSearches.failed": "The search could not be saved.",
"plugin.search-plus.savedSearches.nothing": "There is no search to save. Type one in the search box first.",
"plugin.search-plus.advancedSearch.title": "Advanced search",
"plugin.search-plus.advancedSearch.chip": "Advanced search",
"plugin.search-plus.advancedSearch.intro": "Fill in what you need. The result is an ordinary X search.",
"plugin.search-plus.advancedSearch.words": "Words",
"plugin.search-plus.advancedSearch.from": "From these accounts",
"plugin.search-plus.advancedSearch.to": "Replying to these accounts",
"plugin.search-plus.advancedSearch.since": "From this date",
"plugin.search-plus.advancedSearch.until": "Until this date",
"plugin.search-plus.advancedSearch.filter": "Only posts with",
"plugin.search-plus.advancedSearch.filterAny": "Anything",
"plugin.search-plus.advancedSearch.filter.media": "Photos or videos",
"plugin.search-plus.advancedSearch.filter.links": "Links",
"plugin.search-plus.advancedSearch.filter.replies": "Replies",
"plugin.search-plus.advancedSearch.minFaves": "At least this many likes",
"plugin.search-plus.advancedSearch.lang": "Language",
"plugin.search-plus.advancedSearch.langHint": "A language code such as en, tr or ja.",
"plugin.search-plus.advancedSearch.previewEmpty": "Your search appears here.",
"plugin.search-plus.advancedSearch.empty": "Fill in at least one field.",
"plugin.search-plus.advancedSearch.cancel": "Cancel",
"plugin.search-plus.advancedSearch.fill": "Put in search box",
"plugin.search-plus.advancedSearch.search": "Search",
"plugin.notifications-plus.feature.kindFilters.label": "Filters by kind",
"plugin.notifications-plus.feature.kindFilters.description": "Hides the kinds of notifications you choose: likes, reposts, new followers, mentions, replies. Only in this window; the Mentions tab is never filtered.",
"plugin.notifications-plus.feature.keywordHighlight.label": "Keyword highlight",
"plugin.notifications-plus.feature.keywordHighlight.description": "Marks notifications that contain one of your alert keywords (Settings, Keyword alerts). It works whether or not the alerts themselves are on.",
"plugin.notifications-plus.feature.openMentions.label": "Open on Mentions",
"plugin.notifications-plus.feature.openMentions.description": "Opens Notifications on X's Mentions tab.",
"plugin.notifications-plus.kindFilters.like": "Hide likes",
"plugin.notifications-plus.kindFilters.repost": "Hide reposts",
"plugin.notifications-plus.kindFilters.follow": "Hide new followers",
"plugin.notifications-plus.kindFilters.mention": "Hide mentions",
"plugin.notifications-plus.kindFilters.reply": "Hide replies"
}
}