- Add newPerDay and revPerDay fields to Deck model (Anki-style) - Add settings modal to configure daily limits per deck - Display today's studied counts (new/review/learning) on deck page - Add i18n translations for all 8 languages - Fix JSON syntax errors in fr-FR.json and it-IT.json - Fix double counting bug in repoGetTodayStudyStats
572 lines
21 KiB
JSON
572 lines
21 KiB
JSON
{
|
|
"alphabet": {
|
|
"chooseCharacters": "Please select the characters you want to learn",
|
|
"chooseAlphabetHint": "Select an alphabet to start learning",
|
|
"japanese": "Japanese Kana",
|
|
"english": "English Alphabet",
|
|
"uyghur": "Uyghur Alphabet",
|
|
"esperanto": "Esperanto Alphabet",
|
|
"loading": "Loading...",
|
|
"loadFailed": "Loading failed, please try again",
|
|
"hideLetter": "Hide Letter",
|
|
"showLetter": "Show Letter",
|
|
"hideIPA": "Hide IPA",
|
|
"showIPA": "Show IPA",
|
|
"roman": "Romanization",
|
|
"letter": "Letter",
|
|
"random": "Random Mode",
|
|
"randomNext": "Random Next",
|
|
"previousLetter": "Previous letter",
|
|
"nextLetter": "Next letter",
|
|
"keyboardHint": "Use left/right arrow keys or space for random, ESC to go back",
|
|
"swipeHint": "Use left/right arrow keys or swipe to navigate, ESC to go back"
|
|
},
|
|
"folders": {
|
|
"title": "Folders",
|
|
"subtitle": "Manage your collections",
|
|
"newFolder": "New Folder",
|
|
"creating": "Creating...",
|
|
"noFoldersYet": "No folders yet",
|
|
"folderInfo": "ID: {id} • {totalPairs} pairs",
|
|
"enterFolderName": "Enter folder name:",
|
|
"confirmDelete": "Type \"{name}\" to delete:",
|
|
"myFolders": "My Folders",
|
|
"publicFolders": "Public Folders",
|
|
"public": "Public",
|
|
"private": "Private",
|
|
"setPublic": "Set Public",
|
|
"setPrivate": "Set Private",
|
|
"publicFolderInfo": "{userName} • {totalPairs} pairs",
|
|
"searchPlaceholder": "Search public folders...",
|
|
"loading": "Loading...",
|
|
"noPublicFolders": "No public folders found",
|
|
"unknownUser": "Unknown User",
|
|
"enterNewName": "Enter new name:",
|
|
"favorite": "Favorite",
|
|
"unfavorite": "Unfavorite",
|
|
"pleaseLogin": "Please login first"
|
|
},
|
|
"folder_id": {
|
|
"unauthorized": "You are not the owner of this folder",
|
|
"back": "Back",
|
|
"textPairs": "Text Pairs",
|
|
"itemsCount": "{count} items",
|
|
"memorize": "Memorize",
|
|
"loadingTextPairs": "Loading text pairs...",
|
|
"noTextPairs": "No text pairs in this folder",
|
|
"addNewTextPair": "Add New Text Pair",
|
|
"add": "Add",
|
|
"updateTextPair": "Update Text Pair",
|
|
"update": "Update",
|
|
"text1": "Text 1",
|
|
"text2": "Text 2",
|
|
"language1": "Locale 1",
|
|
"language2": "Locale 2",
|
|
"enterLanguageName": "Please enter language name",
|
|
"edit": "Edit",
|
|
"delete": "Delete",
|
|
"permissionDenied": "You do not have permission to perform this action",
|
|
"error": {
|
|
"update": "You do not have permission to update this item.",
|
|
"delete": "You do not have permission to delete this item.",
|
|
"add": "You do not have permission to add items to this folder.",
|
|
"rename": "You do not have permission to rename this folder.",
|
|
"deleteFolder": "You do not have permission to delete this folder."
|
|
}
|
|
},
|
|
"deck_id": {
|
|
"unauthorized": "You are not the owner of this deck",
|
|
"back": "Back",
|
|
"cards": "Cards",
|
|
"itemsCount": "{count} items",
|
|
"memorize": "Memorize",
|
|
"loadingCards": "Loading cards...",
|
|
"noCards": "No cards in this deck",
|
|
"card": "Card",
|
|
"addNewCard": "Add New Card",
|
|
"add": "Add",
|
|
"adding": "Adding...",
|
|
"updateCard": "Update Card",
|
|
"update": "Update",
|
|
"updating": "Updating...",
|
|
"word": "Word",
|
|
"definition": "Definition",
|
|
"ipa": "IPA",
|
|
"example": "Example",
|
|
"wordAndDefinitionRequired": "Word and definition are required",
|
|
"edit": "Edit",
|
|
"delete": "Delete",
|
|
"permissionDenied": "You do not have permission to perform this action",
|
|
"resetProgress": "Reset",
|
|
"resetProgressTitle": "Reset Deck Progress",
|
|
"resetProgressConfirm": "This will reset all cards in this deck to new state. Your learning progress will be lost. Are you sure?",
|
|
"resetSuccess": "Successfully reset {count} cards",
|
|
"resetting": "Resetting...",
|
|
"cancel": "Cancel",
|
|
"settings": "Settings",
|
|
"settingsTitle": "Deck Settings",
|
|
"newPerDay": "New Cards Per Day",
|
|
"newPerDayHint": "Maximum new cards to learn each day",
|
|
"revPerDay": "Review Cards Per Day",
|
|
"revPerDayHint": "Maximum review cards each day",
|
|
"save": "Save",
|
|
"saving": "Saving...",
|
|
"settingsSaved": "Settings saved",
|
|
"todayNew": "New",
|
|
"todayReview": "Review",
|
|
"todayLearning": "Learning",
|
|
"error": {
|
|
"update": "You do not have permission to update this card.",
|
|
"delete": "You do not have permission to delete this card.",
|
|
"add": "You do not have permission to add cards to this deck."
|
|
}
|
|
},
|
|
"home": {
|
|
"title": "Learn Languages",
|
|
"description": "Here is a very useful website to help you learn almost every language in the world, including constructed ones.",
|
|
"explore": "Explore",
|
|
"fortune": {
|
|
"quote": "Stay hungry, stay foolish.",
|
|
"author": "— Steve Jobs"
|
|
},
|
|
"translator": {
|
|
"name": "Translator",
|
|
"description": "Translate to any language and annotate with International Phonetic Alphabet (IPA)"
|
|
},
|
|
"textSpeaker": {
|
|
"name": "Text Speaker",
|
|
"description": "Recognize and read text aloud, supports loop playback and speed adjustment"
|
|
},
|
|
"srtPlayer": {
|
|
"name": "SRT Video Player",
|
|
"description": "Play videos sentence by sentence based on SRT subtitle files to mimic native speaker pronunciation"
|
|
},
|
|
"alphabet": {
|
|
"name": "Alphabet",
|
|
"description": "Start learning a new language from the alphabet"
|
|
},
|
|
"memorize": {
|
|
"name": "Memorize",
|
|
"description": "Language A to Language B, Language B to Language A, supports dictation"
|
|
},
|
|
"dictionary": {
|
|
"name": "Dictionary",
|
|
"description": "Look up words and phrases with detailed definitions and examples"
|
|
},
|
|
"moreFeatures": {
|
|
"name": "More Features",
|
|
"description": "Under development, stay tuned"
|
|
}
|
|
},
|
|
"auth": {
|
|
"title": "Sign In",
|
|
"signUpTitle": "Sign Up",
|
|
"signIn": "Sign In",
|
|
"signUp": "Sign Up",
|
|
"email": "Email",
|
|
"password": "Password",
|
|
"confirmPassword": "Confirm Password",
|
|
"name": "Name",
|
|
"username": "Username",
|
|
"emailOrUsername": "Email or Username",
|
|
"signInButton": "Sign In",
|
|
"signUpButton": "Sign Up",
|
|
"noAccount": "Don't have an account?",
|
|
"hasAccount": "Already have an account?",
|
|
"signInWithGitHub": "Sign In with GitHub",
|
|
"signUpWithGitHub": "Sign Up with GitHub",
|
|
"invalidEmail": "Please enter a valid email address",
|
|
"passwordTooShort": "Password must be at least 8 characters",
|
|
"passwordsNotMatch": "Passwords do not match",
|
|
"nameRequired": "Please enter your name",
|
|
"usernameRequired": "Please enter a username",
|
|
"usernameTooShort": "Username must be at least 3 characters",
|
|
"usernameInvalid": "Username can only contain letters, numbers, and underscores",
|
|
"emailRequired": "Please enter your email",
|
|
"identifierRequired": "Please enter your email or username",
|
|
"passwordRequired": "Please enter your password",
|
|
"confirmPasswordRequired": "Please confirm your password",
|
|
"loading": "Loading...",
|
|
"confirm": "Confirm",
|
|
"noAccountLink": "Don't have an account? Sign up",
|
|
"hasAccountLink": "Already have an account? Sign in",
|
|
"usernamePlaceholder": "Username",
|
|
"emailPlaceholder": "Email address",
|
|
"passwordPlaceholder": "Password",
|
|
"usernameOrEmailPlaceholder": "Username or email",
|
|
"loginFailed": "Login failed",
|
|
"signUpFailed": "Sign up failed",
|
|
"fillAllFields": "Please fill in all fields",
|
|
"enterCredentials": "Please enter username and password",
|
|
"forgotPassword": "Forgot Password",
|
|
"forgotPasswordHint": "Enter your email address and we'll send you a link to reset your password.",
|
|
"sendResetEmail": "Send Reset Email",
|
|
"resetPasswordFailed": "Failed to send reset email",
|
|
"resetPasswordEmailSent": "Reset email sent successfully",
|
|
"resetPasswordEmailSentHint": "We've sent a password reset link to your email address. Please check your inbox.",
|
|
"verifyYourEmail": "Verify Your Email",
|
|
"verificationEmailSent": "Verification email sent",
|
|
"verificationEmailSentHint": "We've sent a verification email to {email}. Please click the link in the email to verify your account.",
|
|
"checkYourEmail": "Check Your Email",
|
|
"backToLogin": "Back to Login",
|
|
"resetPassword": "Reset Password",
|
|
"newPassword": "New Password",
|
|
"invalidToken": "Invalid or Expired Link",
|
|
"invalidTokenHint": "This password reset link is invalid or has expired. Please request a new one.",
|
|
"requestNewToken": "Request New Reset Link",
|
|
"resetPasswordSuccess": "Password reset successfully",
|
|
"resetPasswordSuccessTitle": "Password Reset Complete",
|
|
"resetPasswordSuccessHint": "Your password has been reset successfully. You can now log in with your new password.",
|
|
"emailNotVerified": "Please verify your email address",
|
|
"emailNotVerifiedHint": "Your email has not been verified. Please check your inbox or request a new verification email.",
|
|
"resendVerification": "Resend Verification Email",
|
|
"resendSuccess": "Verification email sent! Please check your inbox.",
|
|
"resendFailed": "Failed to send verification email"
|
|
},
|
|
"memorize": {
|
|
"deck_selector": {
|
|
"selectDeck": "Select a deck",
|
|
"noDecks": "No decks found",
|
|
"goToDecks": "Go to Decks",
|
|
"noCards": "No cards",
|
|
"new": "New",
|
|
"learning": "Learning",
|
|
"review": "Review",
|
|
"due": "Due"
|
|
},
|
|
"review": {
|
|
"loading": "Loading cards...",
|
|
"backToDecks": "Back to Decks",
|
|
"allDone": "All Done!",
|
|
"allDoneDesc": "You've reviewed all due cards.",
|
|
"reviewedCount": "Reviewed {count} cards",
|
|
"progress": "{current} / {total}",
|
|
"nextReview": "Next review",
|
|
"interval": "Interval",
|
|
"ease": "Ease",
|
|
"lapses": "Lapses",
|
|
"showAnswer": "Show Answer",
|
|
"again": "Again",
|
|
"hard": "Hard",
|
|
"good": "Good",
|
|
"easy": "Easy",
|
|
"now": "now",
|
|
"lessThanMinute": "<1 min",
|
|
"inMinutes": "{count} min",
|
|
"inHours": "{count}h",
|
|
"inDays": "{count}d",
|
|
"inMonths": "{count}mo",
|
|
"minutes": "<1 min",
|
|
"days": "{count}d",
|
|
"months": "{count}mo",
|
|
"minAbbr": "m",
|
|
"dayAbbr": "d",
|
|
"cardTypeNew": "New",
|
|
"cardTypeLearning": "Learning",
|
|
"cardTypeReview": "Review",
|
|
"cardTypeRelearning": "Relearning",
|
|
"reverse": "Reverse",
|
|
"dictation": "Dictation",
|
|
"clickToPlay": "Click to play audio",
|
|
"yourAnswer": "Your answer",
|
|
"typeWhatYouHear": "Type what you hear...",
|
|
"correct": "Correct",
|
|
"incorrect": "Incorrect"
|
|
},
|
|
"page": {
|
|
"unauthorized": "You are not authorized to access this deck"
|
|
}
|
|
},
|
|
"navbar": {
|
|
"title": "learn-languages",
|
|
"sourceCode": "GitHub",
|
|
"sign_in": "Sign In",
|
|
"profile": "Profile",
|
|
"folders": "Decks",
|
|
"explore": "Explore",
|
|
"favorites": "Favorites",
|
|
"settings": "Settings"
|
|
},
|
|
"ocr": {
|
|
"title": "OCR Vocabulary Extractor",
|
|
"description": "Upload vocabulary table screenshots from textbooks to extract word-definition pairs",
|
|
"uploadSection": "Upload Image",
|
|
"uploadImage": "Upload Image",
|
|
"dragDropHint": "Drag and drop an image here, or click to select",
|
|
"dropOrClick": "Drag and drop an image here, or click to select",
|
|
"changeImage": "Click to change image",
|
|
"supportedFormats": "Supports: JPG, PNG, WebP",
|
|
"invalidFileType": "Invalid file type. Please upload an image file (JPG, PNG, or WebP).",
|
|
"deckSelection": "Select Deck",
|
|
"selectDeck": "Select a deck",
|
|
"chooseDeck": "Choose a deck to save extracted pairs",
|
|
"noDecks": "No decks available. Please create a deck first.",
|
|
"languageHints": "Language Hints (Optional)",
|
|
"sourceLanguageHint": "Source language (e.g., English)",
|
|
"targetLanguageHint": "Target/Translation language (e.g., Chinese)",
|
|
"sourceLanguagePlaceholder": "Source language (e.g., English)",
|
|
"targetLanguagePlaceholder": "Target/Translation language (e.g., Chinese)",
|
|
"process": "Process Image",
|
|
"processButton": "Process Image",
|
|
"processing": "Processing...",
|
|
"preview": "Preview",
|
|
"resultsPreview": "Results Preview",
|
|
"extractedPairs": "Extracted {count} pairs",
|
|
"word": "Word",
|
|
"definition": "Definition",
|
|
"pairsCount": "{count} pairs extracted",
|
|
"savePairs": "Save to Deck",
|
|
"saveButton": "Save",
|
|
"saving": "Saving...",
|
|
"saved": "Successfully saved {count} pairs to {deck}",
|
|
"ocrSuccess": "Successfully extracted {count} pairs to {deck}",
|
|
"ocrFailed": "OCR processing failed. Please try again.",
|
|
"savedToDeck": "Saved to {deckName}",
|
|
"saveFailed": "Failed to save pairs",
|
|
"noImage": "Please upload an image first",
|
|
"noDeck": "Please select a deck",
|
|
"noResultsToSave": "No results to save",
|
|
"processingFailed": "OCR processing failed",
|
|
"tryAgain": "Please try again with a clearer image",
|
|
"detectedLanguages": "Detected: {source} → {target}",
|
|
"detectedSourceLanguage": "Detected source language",
|
|
"detectedTargetLanguage": "Detected target language"
|
|
},
|
|
"profile": {
|
|
"myProfile": "My Profile",
|
|
"email": "Email: {email}",
|
|
"logout": "Logout"
|
|
},
|
|
"settings": {
|
|
"title": "Settings",
|
|
"themeColor": "Theme Color",
|
|
"themeColorDescription": "Choose your preferred theme color"
|
|
},
|
|
"srt_player": {
|
|
"uploadVideo": "Upload Video",
|
|
"uploadSubtitle": "Upload Subtitle",
|
|
"pause": "Pause",
|
|
"play": "Play",
|
|
"previous": "Previous",
|
|
"next": "Next",
|
|
"restart": "Restart",
|
|
"autoPause": "Auto Pause ({enabled})",
|
|
"uploadVideoAndSubtitle": "Please upload video and subtitle files",
|
|
"uploadVideoFile": "Please upload video file",
|
|
"uploadSubtitleFile": "Please upload subtitle file",
|
|
"processingSubtitle": "Processing subtitle file...",
|
|
"needBothFiles": "Both video and subtitle files are required to start learning",
|
|
"videoFile": "Video File",
|
|
"subtitleFile": "Subtitle File",
|
|
"uploaded": "Uploaded",
|
|
"notUploaded": "Not Uploaded",
|
|
"upload": "Upload",
|
|
"uploadVideoButton": "Upload Video",
|
|
"uploadSubtitleButton": "Upload Subtitle",
|
|
"subtitleUploaded": "Subtitle Uploaded ({count} entries)",
|
|
"subtitleNotUploaded": "Subtitle Not Uploaded",
|
|
"autoPauseStatus": "Auto Pause: {enabled}",
|
|
"on": "On",
|
|
"off": "Off",
|
|
"videoUploadFailed": "Video upload failed",
|
|
"subtitleUploadFailed": "Subtitle upload failed",
|
|
"subtitleLoadSuccess": "Subtitle loaded successfully",
|
|
"subtitleLoadFailed": "Subtitle load failed",
|
|
"settings": "Settings",
|
|
"shortcuts": "Shortcuts",
|
|
"keyboardShortcuts": "Keyboard Shortcuts",
|
|
"playPause": "Play/Pause",
|
|
"autoPauseToggle": "Toggle Auto Pause",
|
|
"subtitleSettings": "Subtitle Settings",
|
|
"fontSize": "Font Size",
|
|
"textColor": "Text Color",
|
|
"backgroundColor": "Background Color",
|
|
"position": "Position",
|
|
"opacity": "Opacity",
|
|
"top": "Top",
|
|
"center": "Center",
|
|
"bottom": "Bottom"
|
|
},
|
|
"text_speaker": {
|
|
"generateIPA": "Generate IPA",
|
|
"viewSavedItems": "View Saved Items",
|
|
"confirmDeleteAll": "Are you sure you want to delete everything? (Y/N)",
|
|
"saved": "Saved",
|
|
"clearAll": "Clear All"
|
|
},
|
|
"translator": {
|
|
"detectLanguage": "detect language",
|
|
"sourceLanguage": "source language",
|
|
"auto": "Auto",
|
|
"generateIPA": "generate ipa",
|
|
"translateInto": "translate into",
|
|
"chinese": "Chinese",
|
|
"english": "English",
|
|
"french": "French",
|
|
"german": "German",
|
|
"italian": "Italian",
|
|
"japanese": "Japanese",
|
|
"korean": "Korean",
|
|
"portuguese": "Portuguese",
|
|
"russian": "Russian",
|
|
"spanish": "Spanish",
|
|
"other": "Other",
|
|
"translating": "translating...",
|
|
"translate": "translate",
|
|
"inputLanguage": "Input a language.",
|
|
"history": "History",
|
|
"enterLanguage": "Enter language",
|
|
"add_to_folder": {
|
|
"notAuthenticated": "You are not authenticated",
|
|
"chooseFolder": "Choose a Folder to Add to",
|
|
"noFolders": "No folders found",
|
|
"folderInfo": "{id}. {name}",
|
|
"close": "Close",
|
|
"success": "Text pair added to folder",
|
|
"error": "Failed to add text pair to folder"
|
|
},
|
|
"autoSave": "Auto Save"
|
|
},
|
|
"dictionary": {
|
|
"title": "Dictionary",
|
|
"description": "Look up words and phrases with detailed definitions and examples",
|
|
"searchPlaceholder": "Enter a word or phrase to look up...",
|
|
"searching": "Searching...",
|
|
"search": "Search",
|
|
"languageSettings": "Language Settings",
|
|
"queryLanguage": "Query Language",
|
|
"queryLanguageHint": "What language is the word/phrase you want to look up",
|
|
"definitionLanguage": "Definition Language",
|
|
"definitionLanguageHint": "What language do you want the definitions in",
|
|
"otherLanguagePlaceholder": "Or enter another language...",
|
|
"other": "Other",
|
|
"currentSettings": "Current settings: Query {queryLang}, Definition {definitionLang}",
|
|
"relookup": "Re-search",
|
|
"saveToFolder": "Save to folder",
|
|
"loading": "Loading...",
|
|
"noResults": "No results found",
|
|
"tryOtherWords": "Try other words or phrases",
|
|
"welcomeTitle": "Welcome to Dictionary",
|
|
"welcomeHint": "Enter a word or phrase in the search box above to start looking up",
|
|
"lookupFailed": "Search failed, please try again later",
|
|
"relookupSuccess": "Re-searched successfully",
|
|
"relookupFailed": "Dictionary re-search failed",
|
|
"pleaseLogin": "Please log in first",
|
|
"pleaseCreateFolder": "Please create a folder first",
|
|
"savedToFolder": "Saved to folder: {folderName}",
|
|
"saveFailed": "Save failed, please try again later",
|
|
"definition": "Definition",
|
|
"example": "Example"
|
|
},
|
|
"explore": {
|
|
"title": "Explore",
|
|
"subtitle": "Discover public decks",
|
|
"searchPlaceholder": "Search public decks...",
|
|
"loading": "Loading...",
|
|
"noDecks": "No public decks found",
|
|
"deckInfo": "{userName} • {cardCount} cards",
|
|
"unknownUser": "Unknown User",
|
|
"favorite": "Favorite",
|
|
"unfavorite": "Unfavorite",
|
|
"pleaseLogin": "Please login first",
|
|
"sortByFavorites": "Sort by favorites",
|
|
"sortByFavoritesActive": "Undo sort by favorites"
|
|
},
|
|
"exploreDetail": {
|
|
"title": "Deck Details",
|
|
"createdBy": "Created by: {name}",
|
|
"unknownUser": "Unknown User",
|
|
"totalCards": "Total Cards",
|
|
"favorites": "Favorites",
|
|
"createdAt": "Created At",
|
|
"viewContent": "View Content",
|
|
"favorite": "Favorite",
|
|
"unfavorite": "Unfavorite",
|
|
"favorited": "Favorited",
|
|
"unfavorited": "Unfavorited",
|
|
"pleaseLogin": "Please login first"
|
|
},
|
|
"favorites": {
|
|
"title": "My Favorites",
|
|
"subtitle": "Folders you've favorited",
|
|
"loading": "Loading...",
|
|
"noFavorites": "No favorites yet",
|
|
"folderInfo": "{userName} • {totalPairs} pairs",
|
|
"unknownUser": "Unknown User"
|
|
},
|
|
"user_profile": {
|
|
"anonymous": "Anonymous",
|
|
"email": "Email",
|
|
"verified": "Verified",
|
|
"unverified": "Unverified",
|
|
"accountInfo": "Account Information",
|
|
"userId": "User ID",
|
|
"username": "Username",
|
|
"displayName": "Display Name",
|
|
"notSet": "Not Set",
|
|
"memberSince": "Member Since",
|
|
"joined": "Joined",
|
|
"logout": "Logout",
|
|
"deleteAccount": {
|
|
"button": "Delete Account",
|
|
"title": "Delete Account",
|
|
"warning": "This action is irreversible. All your data will be permanently deleted.",
|
|
"warningDecks": "All your decks and cards",
|
|
"warningCards": "All your learning progress",
|
|
"warningHistory": "All your translation and dictionary history",
|
|
"warningPermanent": "This action cannot be undone",
|
|
"confirmLabel": "Type your username to confirm:",
|
|
"usernameMismatch": "Username does not match",
|
|
"cancel": "Cancel",
|
|
"confirm": "Delete My Account",
|
|
"success": "Account deleted successfully",
|
|
"failed": "Failed to delete account"
|
|
},
|
|
"decks": {
|
|
"title": "Decks",
|
|
"noDecks": "No decks yet",
|
|
"deckName": "Deck Name",
|
|
"totalCards": "Total Cards",
|
|
"createdAt": "Created At",
|
|
"actions": "Actions",
|
|
"view": "View"
|
|
}
|
|
},
|
|
"decks": {
|
|
"title": "Decks",
|
|
"subtitle": "Manage your flashcard decks",
|
|
"newDeck": "New Deck",
|
|
"noDecksYet": "No decks yet",
|
|
"loading": "Loading...",
|
|
"deckInfo": "ID: {id} • {totalCards} cards",
|
|
"enterDeckName": "Enter deck name:",
|
|
"enterNewName": "Enter new name:",
|
|
"confirmDelete": "Type \"{name}\" to delete:",
|
|
"public": "Public",
|
|
"private": "Private",
|
|
"setPublic": "Set Public",
|
|
"setPrivate": "Set Private",
|
|
"importApkg": "Import APKG",
|
|
"exportApkg": "Export APKG",
|
|
"clickToUpload": "Click to upload an APKG file",
|
|
"apkgFilesOnly": "Only .apkg files are supported",
|
|
"parsing": "Parsing...",
|
|
"foundDecks": "Found {count} deck(s)",
|
|
"deckName": "Deck Name",
|
|
"back": "Back",
|
|
"import": "Import",
|
|
"importing": "Importing...",
|
|
"exportSuccess": "Deck exported successfully",
|
|
"goToDecks": "Go to Decks"
|
|
},
|
|
"follow": {
|
|
"follow": "Follow",
|
|
"following": "Following",
|
|
"followers": "Followers",
|
|
"followersOf": "{username}'s Followers",
|
|
"followingOf": "{username}'s Following",
|
|
"noFollowers": "No followers yet",
|
|
"noFollowing": "Not following anyone yet"
|
|
}
|
|
}
|